MCPcopy Create free account
hub / github.com/CatMuse/HiNote / normalizeAISettings

Function normalizeAISettings

src/settings/SettingsMigration.ts:42–81  ·  view source on GitHub ↗
(raw: Partial<AISettings> | undefined, defaults: AISettings)

Source from the content-addressed store, hash-verified

40}
41
42function normalizeAISettings(raw: Partial<AISettings> | undefined, defaults: AISettings): AISettings {
43 const source = raw ?? {};
44
45 return {
46 ...defaults,
47 ...source,
48 provider: source.provider ?? defaults.provider,
49 openai: {
50 ...defaults.openai!,
51 ...(source.openai ?? {})
52 },
53 siliconflow: {
54 ...defaults.siliconflow!,
55 ...(source.siliconflow ?? {})
56 },
57 anthropic: {
58 ...defaults.anthropic!,
59 ...(source.anthropic ?? {})
60 },
61 ollama: {
62 ...defaults.ollama!,
63 ...(source.ollama ?? {})
64 },
65 gemini: {
66 ...defaults.gemini!,
67 ...(source.gemini ?? {})
68 },
69 deepseek: {
70 ...defaults.deepseek!,
71 ...(source.deepseek ?? {})
72 },
73 custom: source.custom
74 ? { ...source.custom }
75 : defaults.custom,
76 prompts: {
77 ...defaults.prompts,
78 ...(source.prompts ?? {})
79 }
80 };
81}
82
83function cloneSettings(settings: PluginSettings): PluginSettings {
84 return JSON.parse(JSON.stringify(settings)) as PluginSettings;

Callers 1

normalizeSettingsFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected