wikimem 0.2.3 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +138 -29
- package/README.md +173 -311
- package/dist/cli/commands/ask.d.ts +3 -0
- package/dist/cli/commands/ask.d.ts.map +1 -0
- package/dist/cli/commands/ask.js +63 -0
- package/dist/cli/commands/ask.js.map +1 -0
- package/dist/cli/commands/export.d.ts +3 -0
- package/dist/cli/commands/export.d.ts.map +1 -0
- package/dist/cli/commands/export.js +108 -0
- package/dist/cli/commands/export.js.map +1 -0
- package/dist/cli/commands/history.d.ts +3 -0
- package/dist/cli/commands/history.d.ts.map +1 -0
- package/dist/cli/commands/history.js +61 -0
- package/dist/cli/commands/history.js.map +1 -0
- package/dist/cli/commands/improve.d.ts.map +1 -1
- package/dist/cli/commands/improve.js +4 -3
- package/dist/cli/commands/improve.js.map +1 -1
- package/dist/cli/commands/ingest.d.ts.map +1 -1
- package/dist/cli/commands/ingest.js +5 -4
- package/dist/cli/commands/ingest.js.map +1 -1
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +246 -79
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/lint.d.ts.map +1 -1
- package/dist/cli/commands/lint.js +4 -3
- package/dist/cli/commands/lint.js.map +1 -1
- package/dist/cli/commands/mcp.d.ts +3 -0
- package/dist/cli/commands/mcp.d.ts.map +1 -0
- package/dist/cli/commands/mcp.js +11 -0
- package/dist/cli/commands/mcp.js.map +1 -0
- package/dist/cli/commands/open.d.ts +3 -0
- package/dist/cli/commands/open.d.ts.map +1 -0
- package/dist/cli/commands/open.js +36 -0
- package/dist/cli/commands/open.js.map +1 -0
- package/dist/cli/commands/query.d.ts.map +1 -1
- package/dist/cli/commands/query.js +5 -4
- package/dist/cli/commands/query.js.map +1 -1
- package/dist/cli/commands/search.d.ts +3 -0
- package/dist/cli/commands/search.d.ts.map +1 -0
- package/dist/cli/commands/search.js +61 -0
- package/dist/cli/commands/search.js.map +1 -0
- package/dist/cli/commands/serve.d.ts.map +1 -1
- package/dist/cli/commands/serve.js +41 -2
- package/dist/cli/commands/serve.js.map +1 -1
- package/dist/cli/commands/watch.d.ts.map +1 -1
- package/dist/cli/commands/watch.js +4 -3
- package/dist/cli/commands/watch.js.map +1 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +27 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/core/audit-trail.d.ts +15 -0
- package/dist/core/audit-trail.d.ts.map +1 -0
- package/dist/core/audit-trail.js +43 -0
- package/dist/core/audit-trail.js.map +1 -0
- package/dist/core/claude-code.d.ts +10 -0
- package/dist/core/claude-code.d.ts.map +1 -0
- package/dist/core/claude-code.js +81 -0
- package/dist/core/claude-code.js.map +1 -0
- package/dist/core/config.d.ts +23 -0
- package/dist/core/config.d.ts.map +1 -1
- package/dist/core/config.js.map +1 -1
- package/dist/core/connectors.d.ts +58 -0
- package/dist/core/connectors.d.ts.map +1 -0
- package/dist/core/connectors.js +189 -0
- package/dist/core/connectors.js.map +1 -0
- package/dist/core/folder-scanner.d.ts +10 -0
- package/dist/core/folder-scanner.d.ts.map +1 -0
- package/dist/core/folder-scanner.js +84 -0
- package/dist/core/folder-scanner.js.map +1 -0
- package/dist/core/git.d.ts +137 -0
- package/dist/core/git.d.ts.map +1 -0
- package/dist/core/git.js +520 -0
- package/dist/core/git.js.map +1 -0
- package/dist/core/history.d.ts +21 -0
- package/dist/core/history.d.ts.map +1 -0
- package/dist/core/history.js +107 -0
- package/dist/core/history.js.map +1 -0
- package/dist/core/improve.d.ts.map +1 -1
- package/dist/core/improve.js +9 -0
- package/dist/core/improve.js.map +1 -1
- package/dist/core/ingest.d.ts +1 -0
- package/dist/core/ingest.d.ts.map +1 -1
- package/dist/core/ingest.js +78 -5
- package/dist/core/ingest.js.map +1 -1
- package/dist/core/observer.d.ts +71 -0
- package/dist/core/observer.d.ts.map +1 -0
- package/dist/core/observer.js +350 -0
- package/dist/core/observer.js.map +1 -0
- package/dist/core/pipeline-events.d.ts +63 -0
- package/dist/core/pipeline-events.d.ts.map +1 -0
- package/dist/core/pipeline-events.js +109 -0
- package/dist/core/pipeline-events.js.map +1 -0
- package/dist/core/query.d.ts.map +1 -1
- package/dist/core/query.js +16 -8
- package/dist/core/query.js.map +1 -1
- package/dist/core/scraper.d.ts +41 -0
- package/dist/core/scraper.d.ts.map +1 -0
- package/dist/core/scraper.js +277 -0
- package/dist/core/scraper.js.map +1 -0
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/mcp-entry.d.ts +10 -0
- package/dist/mcp-entry.d.ts.map +1 -0
- package/dist/mcp-entry.js +21 -0
- package/dist/mcp-entry.js.map +1 -0
- package/dist/mcp-server.d.ts +15 -0
- package/dist/mcp-server.d.ts.map +1 -0
- package/dist/mcp-server.js +390 -0
- package/dist/mcp-server.js.map +1 -0
- package/dist/processors/audio.d.ts.map +1 -1
- package/dist/processors/audio.js +42 -4
- package/dist/processors/audio.js.map +1 -1
- package/dist/processors/pdf.d.ts.map +1 -1
- package/dist/processors/pdf.js +2 -3
- package/dist/processors/pdf.js.map +1 -1
- package/dist/processors/url.js +4 -1
- package/dist/processors/url.js.map +1 -1
- package/dist/providers/claude.d.ts +1 -0
- package/dist/providers/claude.d.ts.map +1 -1
- package/dist/providers/claude.js +5 -3
- package/dist/providers/claude.js.map +1 -1
- package/dist/providers/index.d.ts +17 -1
- package/dist/providers/index.d.ts.map +1 -1
- package/dist/providers/index.js +144 -0
- package/dist/providers/index.js.map +1 -1
- package/dist/providers/openai.d.ts +1 -0
- package/dist/providers/openai.d.ts.map +1 -1
- package/dist/providers/openai.js +5 -3
- package/dist/providers/openai.js.map +1 -1
- package/dist/providers/types.d.ts +18 -0
- package/dist/providers/types.d.ts.map +1 -1
- package/dist/templates/config-yaml.d.ts.map +1 -1
- package/dist/templates/config-yaml.js +13 -2
- package/dist/templates/config-yaml.js.map +1 -1
- package/dist/web/public/index.html +8157 -745
- package/dist/web/server.d.ts.map +1 -1
- package/dist/web/server.js +2101 -29
- package/dist/web/server.js.map +1 -1
- package/package.json +7 -4
- package/scripts/install.sh +54 -0
- package/src/web/public/index.html +8157 -745
- package/templates/mcp-config.json +9 -0
- package/dist/web/public/public/index.html +0 -946
|
@@ -1,7 +1,23 @@
|
|
|
1
|
-
import type { LLMProvider } from './types.js';
|
|
1
|
+
import type { LLMProvider, ProviderChainConfig, ProviderChainId } from './types.js';
|
|
2
|
+
import type { UserConfig } from '../core/config.js';
|
|
3
|
+
export declare function normalizeProviderId(name: string): ProviderChainId | null;
|
|
4
|
+
/**
|
|
5
|
+
* Build a fallback chain: try `primary`, then each entry in `fallback`, skipping providers without keys.
|
|
6
|
+
*/
|
|
7
|
+
export declare function createProviderChain(config: ProviderChainConfig): LLMProvider;
|
|
2
8
|
export declare function createProvider(name: string, options?: {
|
|
3
9
|
model?: string;
|
|
4
10
|
apiKey?: string;
|
|
5
11
|
baseUrl?: string;
|
|
6
12
|
}): LLMProvider;
|
|
13
|
+
/**
|
|
14
|
+
* Resolve LLM provider from vault config: uses `providers` fallback chain when `providers.primary` is set,
|
|
15
|
+
* otherwise the legacy single `provider` field.
|
|
16
|
+
*
|
|
17
|
+
* @param opts.providerOverride — e.g. CLI `-p openai` forces a single provider (no chain).
|
|
18
|
+
*/
|
|
19
|
+
export declare function createProviderFromUserConfig(userConfig: UserConfig, opts?: {
|
|
20
|
+
providerOverride?: string;
|
|
21
|
+
model?: string;
|
|
22
|
+
}): LLMProvider;
|
|
7
23
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EAIX,mBAAmB,EACnB,eAAe,EAChB,MAAM,YAAY,CAAC;AAIpB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAMxE;AA4ED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,mBAAmB,GAAG,WAAW,CAY5E;AAED,wBAAgB,cAAc,CAC5B,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAC9D,WAAW,CAqBb;AAaD;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAC1C,UAAU,EAAE,UAAU,EACtB,IAAI,CAAC,EAAE;IAAE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GACnD,WAAW,CAsCb"}
|
package/dist/providers/index.js
CHANGED
|
@@ -1,6 +1,101 @@
|
|
|
1
1
|
import { ClaudeProvider } from './claude.js';
|
|
2
2
|
import { OpenAIProvider } from './openai.js';
|
|
3
3
|
import { OllamaProvider } from './ollama.js';
|
|
4
|
+
export function normalizeProviderId(name) {
|
|
5
|
+
const n = name.trim().toLowerCase();
|
|
6
|
+
if (n === 'claude' || n === 'anthropic')
|
|
7
|
+
return 'claude';
|
|
8
|
+
if (n === 'openai' || n === 'gpt')
|
|
9
|
+
return 'openai';
|
|
10
|
+
if (n === 'ollama' || n === 'local')
|
|
11
|
+
return 'ollama';
|
|
12
|
+
return null;
|
|
13
|
+
}
|
|
14
|
+
function dedupeChain(ids) {
|
|
15
|
+
const seen = new Set();
|
|
16
|
+
const out = [];
|
|
17
|
+
for (const id of ids) {
|
|
18
|
+
if (!seen.has(id)) {
|
|
19
|
+
seen.add(id);
|
|
20
|
+
out.push(id);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
return out;
|
|
24
|
+
}
|
|
25
|
+
function resolveAnthropicKey(config) {
|
|
26
|
+
return config.keys?.anthropic ?? process.env['ANTHROPIC_API_KEY'];
|
|
27
|
+
}
|
|
28
|
+
function resolveOpenaiKey(config) {
|
|
29
|
+
return config.keys?.openai ?? process.env['OPENAI_API_KEY'];
|
|
30
|
+
}
|
|
31
|
+
function resolveOllamaBaseUrl(config) {
|
|
32
|
+
return config.keys?.ollama_url ?? process.env['OLLAMA_BASE_URL'];
|
|
33
|
+
}
|
|
34
|
+
function shouldIncludeInChain(id, config) {
|
|
35
|
+
if (id === 'claude')
|
|
36
|
+
return !!resolveAnthropicKey(config);
|
|
37
|
+
if (id === 'openai')
|
|
38
|
+
return !!resolveOpenaiKey(config);
|
|
39
|
+
return true;
|
|
40
|
+
}
|
|
41
|
+
function createConcreteProvider(id, config) {
|
|
42
|
+
const model = config.model;
|
|
43
|
+
if (id === 'claude')
|
|
44
|
+
return new ClaudeProvider(model, resolveAnthropicKey(config));
|
|
45
|
+
if (id === 'openai')
|
|
46
|
+
return new OpenAIProvider(model, resolveOpenaiKey(config));
|
|
47
|
+
return new OllamaProvider(model, resolveOllamaBaseUrl(config));
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Ordered LLM provider that tries each backend until one succeeds (Claude → OpenAI → Ollama by default).
|
|
51
|
+
* Providers without credentials are omitted from the chain.
|
|
52
|
+
*/
|
|
53
|
+
class FallbackLLMProvider {
|
|
54
|
+
providers;
|
|
55
|
+
name;
|
|
56
|
+
constructor(providers) {
|
|
57
|
+
this.providers = providers;
|
|
58
|
+
if (providers.length === 0) {
|
|
59
|
+
throw new Error('Provider chain is empty. Set API keys (e.g. ANTHROPIC_API_KEY) or configure providers.keys in config.yaml.');
|
|
60
|
+
}
|
|
61
|
+
this.name = `chain:${this.providers.map((p) => p.name).join('→')}`;
|
|
62
|
+
}
|
|
63
|
+
async chat(messages, options) {
|
|
64
|
+
const errors = [];
|
|
65
|
+
for (const p of this.providers) {
|
|
66
|
+
try {
|
|
67
|
+
return await p.chat(messages, options);
|
|
68
|
+
}
|
|
69
|
+
catch (err) {
|
|
70
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
71
|
+
errors.push(`[${p.name}] ${msg}`);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
throw new Error(`All providers in chain failed:\n${errors.join('\n')}`);
|
|
75
|
+
}
|
|
76
|
+
async isAvailable() {
|
|
77
|
+
for (const p of this.providers) {
|
|
78
|
+
if (await p.isAvailable())
|
|
79
|
+
return true;
|
|
80
|
+
}
|
|
81
|
+
return false;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Build a fallback chain: try `primary`, then each entry in `fallback`, skipping providers without keys.
|
|
86
|
+
*/
|
|
87
|
+
export function createProviderChain(config) {
|
|
88
|
+
const primary = config.primary;
|
|
89
|
+
const rawOrder = [primary, ...config.fallback];
|
|
90
|
+
const deduped = dedupeChain(rawOrder);
|
|
91
|
+
const instances = [];
|
|
92
|
+
for (const id of deduped) {
|
|
93
|
+
if (!shouldIncludeInChain(id, config))
|
|
94
|
+
continue;
|
|
95
|
+
instances.push(createConcreteProvider(id, config));
|
|
96
|
+
}
|
|
97
|
+
return new FallbackLLMProvider(instances);
|
|
98
|
+
}
|
|
4
99
|
export function createProvider(name, options) {
|
|
5
100
|
switch (name.toLowerCase()) {
|
|
6
101
|
case 'claude':
|
|
@@ -21,4 +116,53 @@ export function createProvider(name, options) {
|
|
|
21
116
|
'Set in config.yaml: provider: claude');
|
|
22
117
|
}
|
|
23
118
|
}
|
|
119
|
+
function legacyApiKeyForProvider(provider, apiKey) {
|
|
120
|
+
if (!apiKey)
|
|
121
|
+
return {};
|
|
122
|
+
const p = (provider ?? 'claude').toLowerCase();
|
|
123
|
+
if (p === 'claude' || p === 'anthropic')
|
|
124
|
+
return { anthropic: apiKey };
|
|
125
|
+
if (p === 'openai' || p === 'gpt')
|
|
126
|
+
return { openai: apiKey };
|
|
127
|
+
return {};
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Resolve LLM provider from vault config: uses `providers` fallback chain when `providers.primary` is set,
|
|
131
|
+
* otherwise the legacy single `provider` field.
|
|
132
|
+
*
|
|
133
|
+
* @param opts.providerOverride — e.g. CLI `-p openai` forces a single provider (no chain).
|
|
134
|
+
*/
|
|
135
|
+
export function createProviderFromUserConfig(userConfig, opts) {
|
|
136
|
+
const model = opts?.model ?? userConfig.model;
|
|
137
|
+
if (opts?.providerOverride) {
|
|
138
|
+
return createProvider(opts.providerOverride, {
|
|
139
|
+
model,
|
|
140
|
+
apiKey: userConfig.api_key,
|
|
141
|
+
baseUrl: userConfig.providers?.keys?.ollama_url ?? process.env['OLLAMA_BASE_URL'],
|
|
142
|
+
});
|
|
143
|
+
}
|
|
144
|
+
const block = userConfig.providers;
|
|
145
|
+
if (block?.primary) {
|
|
146
|
+
const primary = normalizeProviderId(block.primary) ?? 'claude';
|
|
147
|
+
const fallbackRaw = block.fallback === undefined ? ['openai', 'ollama'] : block.fallback;
|
|
148
|
+
const fallbackIds = fallbackRaw
|
|
149
|
+
.map((n) => normalizeProviderId(n))
|
|
150
|
+
.filter((x) => x !== null);
|
|
151
|
+
const legacy = legacyApiKeyForProvider(userConfig.provider, userConfig.api_key);
|
|
152
|
+
return createProviderChain({
|
|
153
|
+
primary,
|
|
154
|
+
fallback: fallbackIds.length > 0 ? fallbackIds : ['openai', 'ollama'],
|
|
155
|
+
keys: {
|
|
156
|
+
anthropic: block.keys?.anthropic ?? legacy.anthropic,
|
|
157
|
+
openai: block.keys?.openai ?? legacy.openai,
|
|
158
|
+
ollama_url: block.keys?.ollama_url,
|
|
159
|
+
},
|
|
160
|
+
model,
|
|
161
|
+
});
|
|
162
|
+
}
|
|
163
|
+
return createProvider(userConfig.provider ?? 'claude', {
|
|
164
|
+
model,
|
|
165
|
+
apiKey: userConfig.api_key,
|
|
166
|
+
});
|
|
167
|
+
}
|
|
24
168
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@ export declare class OpenAIProvider implements LLMProvider {
|
|
|
3
3
|
name: string;
|
|
4
4
|
private client;
|
|
5
5
|
private defaultModel;
|
|
6
|
+
private readonly resolvedApiKey;
|
|
6
7
|
constructor(model?: string, apiKey?: string);
|
|
7
8
|
chat(messages: LLMMessage[], options?: LLMOptions): Promise<LLMResponse>;
|
|
8
9
|
isAvailable(): Promise<boolean>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../src/providers/openai.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAEnF,qBAAa,cAAe,YAAW,WAAW;IAChD,IAAI,SAAY;IAChB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,YAAY,CAAS;
|
|
1
|
+
{"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../src/providers/openai.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAEnF,qBAAa,cAAe,YAAW,WAAW;IAChD,IAAI,SAAY;IAChB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAqB;gBAExC,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;IAQrC,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC;IA2DxE,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;CAGtC"}
|
package/dist/providers/openai.js
CHANGED
|
@@ -3,14 +3,16 @@ export class OpenAIProvider {
|
|
|
3
3
|
name = 'openai';
|
|
4
4
|
client;
|
|
5
5
|
defaultModel;
|
|
6
|
+
resolvedApiKey;
|
|
6
7
|
constructor(model, apiKey) {
|
|
8
|
+
this.resolvedApiKey = apiKey ?? process.env['OPENAI_API_KEY'];
|
|
7
9
|
this.client = new OpenAI({
|
|
8
|
-
apiKey:
|
|
10
|
+
apiKey: this.resolvedApiKey,
|
|
9
11
|
});
|
|
10
12
|
this.defaultModel = model ?? 'gpt-4o';
|
|
11
13
|
}
|
|
12
14
|
async chat(messages, options) {
|
|
13
|
-
if (!
|
|
15
|
+
if (!this.resolvedApiKey) {
|
|
14
16
|
throw new Error('OpenAI API key not found.\n' +
|
|
15
17
|
'Set it via: export OPENAI_API_KEY=sk-...\n' +
|
|
16
18
|
'Or add to config.yaml: api_key: sk-...\n' +
|
|
@@ -57,7 +59,7 @@ export class OpenAIProvider {
|
|
|
57
59
|
}
|
|
58
60
|
}
|
|
59
61
|
async isAvailable() {
|
|
60
|
-
return !!
|
|
62
|
+
return !!this.resolvedApiKey;
|
|
61
63
|
}
|
|
62
64
|
}
|
|
63
65
|
//# sourceMappingURL=openai.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai.js","sourceRoot":"","sources":["../../src/providers/openai.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAG5B,MAAM,OAAO,cAAc;IACzB,IAAI,GAAG,QAAQ,CAAC;IACR,MAAM,CAAS;IACf,YAAY,CAAS;
|
|
1
|
+
{"version":3,"file":"openai.js","sourceRoot":"","sources":["../../src/providers/openai.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,4 +30,22 @@ export interface ProviderConfig {
|
|
|
30
30
|
apiKey?: string;
|
|
31
31
|
baseUrl?: string;
|
|
32
32
|
}
|
|
33
|
+
/** Canonical IDs used in fallback chains */
|
|
34
|
+
export type ProviderChainId = 'claude' | 'openai' | 'ollama';
|
|
35
|
+
export interface ProviderChainKeys {
|
|
36
|
+
anthropic?: string;
|
|
37
|
+
openai?: string;
|
|
38
|
+
/** Base URL for Ollama (e.g. http://localhost:11434) */
|
|
39
|
+
ollama_url?: string;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Config for createProviderChain — primary + fallbacks with optional per-provider keys.
|
|
43
|
+
*/
|
|
44
|
+
export interface ProviderChainConfig {
|
|
45
|
+
primary: ProviderChainId;
|
|
46
|
+
fallback: ProviderChainId[];
|
|
47
|
+
keys?: ProviderChainKeys;
|
|
48
|
+
/** Default model passed to each concrete provider */
|
|
49
|
+
model?: string;
|
|
50
|
+
}
|
|
33
51
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/providers/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE;QACV,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IACzE,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,cAAe,SAAQ,WAAW;IACjD,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACpE;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/providers/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE;QACV,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IACzE,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,cAAe,SAAQ,WAAW;IACjD,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACpE;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,4CAA4C;AAC5C,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE7D,MAAM,WAAW,iBAAiB;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wDAAwD;IACxD,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,eAAe,CAAC;IACzB,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,IAAI,CAAC,EAAE,iBAAiB,CAAC;IACzB,qDAAqD;IACrD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-yaml.d.ts","sourceRoot":"","sources":["../../src/templates/config-yaml.ts"],"names":[],"mappings":"AAAA,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"config-yaml.d.ts","sourceRoot":"","sources":["../../src/templates/config-yaml.ts"],"names":[],"mappings":"AAAA,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAuFzD"}
|
|
@@ -1,12 +1,23 @@
|
|
|
1
1
|
export function getDefaultConfig(template) {
|
|
2
2
|
return `# wikimem configuration
|
|
3
|
-
# Docs: https://github.com/naman10parikh/
|
|
3
|
+
# Docs: https://github.com/naman10parikh/wikimem
|
|
4
4
|
|
|
5
|
-
# LLM Provider
|
|
5
|
+
# LLM Provider (legacy single provider — ignored when a providers block is set)
|
|
6
6
|
provider: claude # claude | openai | ollama
|
|
7
7
|
model: ~ # Leave empty for provider default
|
|
8
8
|
# api_key: ~ # Set via ANTHROPIC_API_KEY or OPENAI_API_KEY env var
|
|
9
9
|
|
|
10
|
+
# Optional: fallback chain (SUP-003) — try primary, then each fallback on failure
|
|
11
|
+
# providers:
|
|
12
|
+
# primary: claude
|
|
13
|
+
# fallback:
|
|
14
|
+
# - openai
|
|
15
|
+
# - ollama
|
|
16
|
+
# keys:
|
|
17
|
+
# anthropic: sk-ant-...
|
|
18
|
+
# openai: sk-...
|
|
19
|
+
# ollama_url: http://localhost:11434
|
|
20
|
+
|
|
10
21
|
# Embeddings (for semantic search)
|
|
11
22
|
embeddings:
|
|
12
23
|
provider: auto # gemini | openai | local | auto (auto-detect from env)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-yaml.js","sourceRoot":"","sources":["../../src/templates/config-yaml.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,gBAAgB,CAAC,QAAgB;IAC/C,OAAO
|
|
1
|
+
{"version":3,"file":"config-yaml.js","sourceRoot":"","sources":["../../src/templates/config-yaml.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,gBAAgB,CAAC,QAAgB;IAC/C,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA4BK,UAAU,CAAC,QAAQ,CAAC;cACpB,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwDrB,CAAC;AACF,CAAC;AAED,SAAS,UAAU,CAAC,CAAS;IAC3B,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAChD,CAAC"}
|