@kb-labs/mind-entry 2.109.0 → 2.111.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/dist/cli/commands/ask.js +3 -3
- package/dist/cli/commands/ask.js.map +1 -1
- package/dist/cli/commands/drop.js +3 -3
- package/dist/cli/commands/drop.js.map +1 -1
- package/dist/cli/commands/explore.js +3 -3
- package/dist/cli/commands/explore.js.map +1 -1
- package/dist/cli/commands/index.js +3 -3
- package/dist/cli/commands/index.js.map +1 -1
- package/dist/cli/commands/reindex.js +3 -3
- package/dist/cli/commands/reindex.js.map +1 -1
- package/dist/cli/commands/search.js +3 -3
- package/dist/cli/commands/search.js.map +1 -1
- package/dist/cli/commands/status.js +4 -4
- package/dist/cli/commands/status.js.map +1 -1
- package/dist/cli/commands/sync-add.js +4 -4
- package/dist/cli/commands/sync-add.js.map +1 -1
- package/dist/cli/commands/sync-delete.js +4 -4
- package/dist/cli/commands/sync-delete.js.map +1 -1
- package/dist/cli/commands/sync-list.js +4 -4
- package/dist/cli/commands/sync-list.js.map +1 -1
- package/dist/cli/commands/sync-status.d.ts +1 -3
- package/dist/cli/commands/sync-status.js +3 -3
- package/dist/cli/commands/sync-status.js.map +1 -1
- package/dist/cli/commands/sync-update.js +4 -4
- package/dist/cli/commands/sync-update.js.map +1 -1
- package/package.json +3 -3
package/dist/cli/commands/ask.js
CHANGED
|
@@ -60,7 +60,7 @@ var ask_default = defineCommand({
|
|
|
60
60
|
const res = await mind.ask(req);
|
|
61
61
|
if (json) {
|
|
62
62
|
ctx.ui?.json?.(res);
|
|
63
|
-
return {
|
|
63
|
+
return { ok: true, result: res };
|
|
64
64
|
}
|
|
65
65
|
const head = res.abstained ? `\u26A0 low confidence (${res.confidence.toFixed(2)}) \u2014 answer may be unreliable` : `answer (confidence ${res.confidence.toFixed(2)})`;
|
|
66
66
|
ctx.ui?.success?.(head, {
|
|
@@ -74,10 +74,10 @@ var ask_default = defineCommand({
|
|
|
74
74
|
}
|
|
75
75
|
]
|
|
76
76
|
});
|
|
77
|
-
return {
|
|
77
|
+
return { ok: true, result: res };
|
|
78
78
|
} catch (err) {
|
|
79
79
|
handleError(ctx, err, json);
|
|
80
|
-
return {
|
|
80
|
+
return { ok: false, error: "Command failed" };
|
|
81
81
|
}
|
|
82
82
|
}
|
|
83
83
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/platform.ts","../../../src/cli/commands/ask.ts"],"names":[],"mappings":";;;;;AAqBO,SAAS,aAAA,GAA8B;AAC5C,EAAA,MAAM,cAAc,cAAA,EAAe;AACnC,EAAA,MAAM,aAAa,aAAA,EAAc;AACjC,EAAA,MAAM,UAAU,UAAA,EAAW;AAC3B,EAAA,MAAM,QAAQ,QAAA,EAAS;AACvB,EAAA,MAAM,MAAM,MAAA,EAAO;AACnB,EAAA,MAAM,SAAS,SAAA,EAAU;AAEzB,EAAA,MAAM,UAAoB,EAAC;AAC3B,EAAA,IAAI,CAAC,WAAA,EAAa;AAChB,IAAA,OAAA,CAAQ,KAAK,aAAa,CAAA;AAAA,EAC5B;AACA,EAAA,IAAI,CAAC,UAAA,EAAY;AACf,IAAA,OAAA,CAAQ,KAAK,YAAY,CAAA;AAAA,EAC3B;AACA,EAAA,IAAI,CAAC,OAAA,EAAS;AACZ,IAAA,OAAA,CAAQ,KAAK,SAAS,CAAA;AAAA,EACxB;AACA,EAAA,IAAI,CAAC,KAAA,EAAO;AACV,IAAA,OAAA,CAAQ,KAAK,OAAO,CAAA;AAAA,EACtB;AACA,EAAA,IAAI,CAAC,GAAA,EAAK;AACR,IAAA,OAAA,CAAQ,KAAK,KAAK,CAAA;AAAA,EACpB;AACA,EAAA,IAAI,OAAA,CAAQ,SAAS,CAAA,EAAG;AACtB,IAAA,MAAM,IAAI,KAAA;AAAA,MACR,CAAA,iDAAA,EAAoD,OAAA,CAAQ,IAAA,CAAK,IAAI,CAAC,CAAA,wDAAA;AAAA,KAExE;AAAA,EACF;AAEA,EAAA,OAAO,EAAE,WAAA,EAA2B,UAAA,EAAyB,OAAA,EAAmB,KAAA,EAAe,KAAW,MAAA,EAAO;AACnH;AAGA,eAAsB,UAAA,GAAa;AACjC,EAAA,MAAM,GAAA,GAAM,MAAM,SAAA,EAA2B;AAC7C,EAAA,OAAO,iBAAA,CAAkB,GAAA,IAAO,EAAE,CAAA;AACpC;AAMA,eAAsB,UAAU,GAAA,EAA6B;AAC3D,EAAA,OAAO,UAAA,CAAW,aAAA,EAAc,EAAG,MAAM,UAAA,EAAW,EAAG,EAAE,GAAA,EAAK,GAAA,IAAO,OAAA,CAAQ,GAAA,EAAI,EAAG,CAAA;AACtF;;;
|
|
1
|
+
{"version":3,"sources":["../../../src/platform.ts","../../../src/cli/commands/ask.ts"],"names":[],"mappings":"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","file":"ask.js","sourcesContent":["/**\n * The single place the plugin touches platform hooks.\n *\n * Assembles `MindServices` from `@kb-labs/sdk` hooks and resolves the plugin\n * config. CLI commands and REST handlers both call `buildMind(...)` so they\n * drive the exact same engine.\n */\n\nimport {\n useVectorStore,\n useEmbeddings,\n useStorage,\n useCache,\n useLLM,\n useLogger,\n useConfig,\n} from '@kb-labs/sdk';\nimport { createMind, type Mind, type MindServices } from '@kb-labs/mind-core';\nimport { resolveMindConfig, type MindConfigInput } from '@kb-labs/mind-contracts';\n\n/** Build MindServices from platform hooks, failing fast on missing required adapters. */\nexport function buildServices(): MindServices {\n const vectorStore = useVectorStore();\n const embeddings = useEmbeddings();\n const storage = useStorage();\n const cache = useCache();\n const llm = useLLM();\n const logger = useLogger();\n\n const missing: string[] = [];\n if (!vectorStore) {\n missing.push('vectorStore');\n }\n if (!embeddings) {\n missing.push('embeddings');\n }\n if (!storage) {\n missing.push('storage');\n }\n if (!cache) {\n missing.push('cache');\n }\n if (!llm) {\n missing.push('llm');\n }\n if (missing.length > 0) {\n throw new Error(\n `mind: required platform adapters not configured: ${missing.join(', ')}. ` +\n `Configure them in .kb/kb.config.json under \"adapters\".`,\n );\n }\n\n return { vectorStore: vectorStore!, embeddings: embeddings!, storage: storage!, cache: cache!, llm: llm!, logger };\n}\n\n/** Resolve the plugin config from the `mind` config section. */\nexport async function loadConfig() {\n const raw = await useConfig<MindConfigInput>();\n return resolveMindConfig(raw ?? {});\n}\n\n/**\n * Convenience: build the Mind facade (services + config) in one call.\n * `cwd` is the workspace root source paths resolve against (from `ctx.cwd`).\n */\nexport async function buildMind(cwd?: string): Promise<Mind> {\n return createMind(buildServices(), await loadConfig(), { cwd: cwd ?? process.cwd() });\n}\n","import { defineCommand, handleError, type CLIInput, type PluginContextV3 } from '@kb-labs/sdk';\nimport type { CommandResult } from '@kb-labs/sdk';\nimport { QueryRequestSchema, type AskFlags, type AgentResponse } from '@kb-labs/mind-contracts';\nimport { buildMind } from '../../platform';\n\ntype AskResult = CommandResult<AgentResponse>;\n\nexport default defineCommand<unknown, CLIInput<AskFlags>, AgentResponse>({\n id: 'mind:ask',\n description: 'Ask a question and get a grounded answer with citations',\n\n handler: {\n async execute(ctx: PluginContextV3, input: CLIInput<AskFlags>): Promise<AskResult> {\n const { flags } = input;\n // `--agent` == `--format json`: the machine-readable agent contract.\n const json = flags.agent || flags.format === 'json' || flags.json;\n try {\n const req = QueryRequestSchema.parse({\n text: flags.text,\n indexId: flags.index,\n mode: flags.mode,\n snippet: flags.snippet,\n });\n const mind = await buildMind(ctx.cwd);\n const res = await mind.ask(req);\n\n if (json) {\n ctx.ui?.json?.(res);\n return { ok: true, result: res };\n }\n\n const head = res.abstained\n ? `⚠ low confidence (${res.confidence.toFixed(2)}) — answer may be unreliable`\n : `answer (confidence ${res.confidence.toFixed(2)})`;\n ctx.ui?.success?.(head, {\n sections: [\n { header: 'Answer', items: [res.answer] },\n {\n header: 'Sources',\n items: res.sources.map(\n (s) => `${s.file}:${s.lines[0]}-${s.lines[1]} [${s.matchedBy}${s.stale ? ', stale' : ''}]`,\n ),\n },\n ],\n });\n return { ok: true, result: res };\n } catch (err) {\n handleError(ctx, err, json);\n return { ok: false, error: 'Command failed' };\n }\n },\n },\n});\n"]}
|
|
@@ -71,15 +71,15 @@ var drop_default = defineCommand({
|
|
|
71
71
|
const res = await mind.drop(req);
|
|
72
72
|
if (json) {
|
|
73
73
|
ctx.ui?.json?.(res);
|
|
74
|
-
return {
|
|
74
|
+
return { ok: true, result: res };
|
|
75
75
|
}
|
|
76
76
|
ctx.ui?.success?.(
|
|
77
77
|
`Dropped "${res.indexId}" \u2014 removed ${res.droppedChunks} vector(s), ${res.droppedFiles} doc(s)`
|
|
78
78
|
);
|
|
79
|
-
return {
|
|
79
|
+
return { ok: true, result: res };
|
|
80
80
|
} catch (err) {
|
|
81
81
|
handleError(ctx, err, json);
|
|
82
|
-
return {
|
|
82
|
+
return { ok: false, error: "Command failed" };
|
|
83
83
|
}
|
|
84
84
|
}
|
|
85
85
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/platform.ts","../../../src/cli/commands/drop.ts"],"names":[],"mappings":";;;;;AAqBO,SAAS,aAAA,GAA8B;AAC5C,EAAA,MAAM,cAAc,cAAA,EAAe;AACnC,EAAA,MAAM,aAAa,aAAA,EAAc;AACjC,EAAA,MAAM,UAAU,UAAA,EAAW;AAC3B,EAAA,MAAM,QAAQ,QAAA,EAAS;AACvB,EAAA,MAAM,MAAM,MAAA,EAAO;AACnB,EAAA,MAAM,SAAS,SAAA,EAAU;AAEzB,EAAA,MAAM,UAAoB,EAAC;AAC3B,EAAA,IAAI,CAAC,WAAA,EAAa;AAChB,IAAA,OAAA,CAAQ,KAAK,aAAa,CAAA;AAAA,EAC5B;AACA,EAAA,IAAI,CAAC,UAAA,EAAY;AACf,IAAA,OAAA,CAAQ,KAAK,YAAY,CAAA;AAAA,EAC3B;AACA,EAAA,IAAI,CAAC,OAAA,EAAS;AACZ,IAAA,OAAA,CAAQ,KAAK,SAAS,CAAA;AAAA,EACxB;AACA,EAAA,IAAI,CAAC,KAAA,EAAO;AACV,IAAA,OAAA,CAAQ,KAAK,OAAO,CAAA;AAAA,EACtB;AACA,EAAA,IAAI,CAAC,GAAA,EAAK;AACR,IAAA,OAAA,CAAQ,KAAK,KAAK,CAAA;AAAA,EACpB;AACA,EAAA,IAAI,OAAA,CAAQ,SAAS,CAAA,EAAG;AACtB,IAAA,MAAM,IAAI,KAAA;AAAA,MACR,CAAA,iDAAA,EAAoD,OAAA,CAAQ,IAAA,CAAK,IAAI,CAAC,CAAA,wDAAA;AAAA,KAExE;AAAA,EACF;AAEA,EAAA,OAAO,EAAE,WAAA,EAA2B,UAAA,EAAyB,OAAA,EAAmB,KAAA,EAAe,KAAW,MAAA,EAAO;AACnH;AAGA,eAAsB,UAAA,GAAa;AACjC,EAAA,MAAM,GAAA,GAAM,MAAM,SAAA,EAA2B;AAC7C,EAAA,OAAO,iBAAA,CAAkB,GAAA,IAAO,EAAE,CAAA;AACpC;AAMA,eAAsB,UAAU,GAAA,EAA6B;AAC3D,EAAA,OAAO,UAAA,CAAW,aAAA,EAAc,EAAG,MAAM,UAAA,EAAW,EAAG,EAAE,GAAA,EAAK,GAAA,IAAO,OAAA,CAAQ,GAAA,EAAI,EAAG,CAAA;AACtF;;;
|
|
1
|
+
{"version":3,"sources":["../../../src/platform.ts","../../../src/cli/commands/drop.ts"],"names":[],"mappings":"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","file":"drop.js","sourcesContent":["/**\n * The single place the plugin touches platform hooks.\n *\n * Assembles `MindServices` from `@kb-labs/sdk` hooks and resolves the plugin\n * config. CLI commands and REST handlers both call `buildMind(...)` so they\n * drive the exact same engine.\n */\n\nimport {\n useVectorStore,\n useEmbeddings,\n useStorage,\n useCache,\n useLLM,\n useLogger,\n useConfig,\n} from '@kb-labs/sdk';\nimport { createMind, type Mind, type MindServices } from '@kb-labs/mind-core';\nimport { resolveMindConfig, type MindConfigInput } from '@kb-labs/mind-contracts';\n\n/** Build MindServices from platform hooks, failing fast on missing required adapters. */\nexport function buildServices(): MindServices {\n const vectorStore = useVectorStore();\n const embeddings = useEmbeddings();\n const storage = useStorage();\n const cache = useCache();\n const llm = useLLM();\n const logger = useLogger();\n\n const missing: string[] = [];\n if (!vectorStore) {\n missing.push('vectorStore');\n }\n if (!embeddings) {\n missing.push('embeddings');\n }\n if (!storage) {\n missing.push('storage');\n }\n if (!cache) {\n missing.push('cache');\n }\n if (!llm) {\n missing.push('llm');\n }\n if (missing.length > 0) {\n throw new Error(\n `mind: required platform adapters not configured: ${missing.join(', ')}. ` +\n `Configure them in .kb/kb.config.json under \"adapters\".`,\n );\n }\n\n return { vectorStore: vectorStore!, embeddings: embeddings!, storage: storage!, cache: cache!, llm: llm!, logger };\n}\n\n/** Resolve the plugin config from the `mind` config section. */\nexport async function loadConfig() {\n const raw = await useConfig<MindConfigInput>();\n return resolveMindConfig(raw ?? {});\n}\n\n/**\n * Convenience: build the Mind facade (services + config) in one call.\n * `cwd` is the workspace root source paths resolve against (from `ctx.cwd`).\n */\nexport async function buildMind(cwd?: string): Promise<Mind> {\n return createMind(buildServices(), await loadConfig(), { cwd: cwd ?? process.cwd() });\n}\n","import { defineCommand, handleError, confirmDestructive, type CLIInput, type PluginContextV3 } from '@kb-labs/sdk';\nimport type { CommandResult } from '@kb-labs/sdk';\nimport { DropRequestSchema, type DropFlags, type DropResponse } from '@kb-labs/mind-contracts';\nimport { buildMind } from '../../platform';\n\ntype DropResult = CommandResult<DropResponse>;\n\nexport default defineCommand<unknown, CLIInput<DropFlags>, DropResponse>({\n id: 'mind:drop',\n description: 'Drop an entire index — remove all its vectors and its manifest',\n\n handler: {\n async execute(ctx: PluginContextV3, input: CLIInput<DropFlags>): Promise<DropResult> {\n const { flags } = input;\n const json = flags.json;\n try {\n // Destructive: blocks in EVERY mode until --yes (agents get a structured\n // confirmationRequired signal with severity/recovery, not a silent drop).\n const blocked = confirmDestructive(ctx, {\n confirmed: flags.yes,\n isJson: json,\n action: {\n action: 'mind drop',\n resource: `index \"${flags.index}\"`,\n effect: 'deletes all vectors and the manifest',\n severity: 'high',\n reversible: true,\n recovery: 'rebuild with `kb mind index --index <id> --full`',\n blastRadius: { scope: 'whole index' },\n },\n });\n if (blocked) {\n return blocked;\n }\n const req = DropRequestSchema.parse({ indexId: flags.index });\n const mind = await buildMind(ctx.cwd);\n const res = await mind.drop(req);\n\n if (json) {\n ctx.ui?.json?.(res);\n return { ok: true, result: res };\n }\n ctx.ui?.success?.(\n `Dropped \"${res.indexId}\" — removed ${res.droppedChunks} vector(s), ${res.droppedFiles} doc(s)`,\n );\n return { ok: true, result: res };\n } catch (err) {\n handleError(ctx, err, json);\n return { ok: false, error: 'Command failed' };\n }\n },\n },\n});\n"]}
|
|
@@ -59,7 +59,7 @@ var explore_default = defineCommand({
|
|
|
59
59
|
const res = await mind.explore(req);
|
|
60
60
|
if (json) {
|
|
61
61
|
ctx.ui?.json?.(res);
|
|
62
|
-
return {
|
|
62
|
+
return { ok: true, result: res };
|
|
63
63
|
}
|
|
64
64
|
if (res.files.length === 0) {
|
|
65
65
|
ctx.ui?.warn?.(`No relevant files in index "${res.indexId}"`);
|
|
@@ -82,10 +82,10 @@ var explore_default = defineCommand({
|
|
|
82
82
|
}
|
|
83
83
|
);
|
|
84
84
|
}
|
|
85
|
-
return {
|
|
85
|
+
return { ok: true, result: res };
|
|
86
86
|
} catch (err) {
|
|
87
87
|
handleError(ctx, err, json);
|
|
88
|
-
return {
|
|
88
|
+
return { ok: false, error: "Command failed" };
|
|
89
89
|
}
|
|
90
90
|
}
|
|
91
91
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/platform.ts","../../../src/cli/commands/explore.ts"],"names":[],"mappings":";;;;;AAqBO,SAAS,aAAA,GAA8B;AAC5C,EAAA,MAAM,cAAc,cAAA,EAAe;AACnC,EAAA,MAAM,aAAa,aAAA,EAAc;AACjC,EAAA,MAAM,UAAU,UAAA,EAAW;AAC3B,EAAA,MAAM,QAAQ,QAAA,EAAS;AACvB,EAAA,MAAM,MAAM,MAAA,EAAO;AACnB,EAAA,MAAM,SAAS,SAAA,EAAU;AAEzB,EAAA,MAAM,UAAoB,EAAC;AAC3B,EAAA,IAAI,CAAC,WAAA,EAAa;AAChB,IAAA,OAAA,CAAQ,KAAK,aAAa,CAAA;AAAA,EAC5B;AACA,EAAA,IAAI,CAAC,UAAA,EAAY;AACf,IAAA,OAAA,CAAQ,KAAK,YAAY,CAAA;AAAA,EAC3B;AACA,EAAA,IAAI,CAAC,OAAA,EAAS;AACZ,IAAA,OAAA,CAAQ,KAAK,SAAS,CAAA;AAAA,EACxB;AACA,EAAA,IAAI,CAAC,KAAA,EAAO;AACV,IAAA,OAAA,CAAQ,KAAK,OAAO,CAAA;AAAA,EACtB;AACA,EAAA,IAAI,CAAC,GAAA,EAAK;AACR,IAAA,OAAA,CAAQ,KAAK,KAAK,CAAA;AAAA,EACpB;AACA,EAAA,IAAI,OAAA,CAAQ,SAAS,CAAA,EAAG;AACtB,IAAA,MAAM,IAAI,KAAA;AAAA,MACR,CAAA,iDAAA,EAAoD,OAAA,CAAQ,IAAA,CAAK,IAAI,CAAC,CAAA,wDAAA;AAAA,KAExE;AAAA,EACF;AAEA,EAAA,OAAO,EAAE,WAAA,EAA2B,UAAA,EAAyB,OAAA,EAAmB,KAAA,EAAe,KAAW,MAAA,EAAO;AACnH;AAGA,eAAsB,UAAA,GAAa;AACjC,EAAA,MAAM,GAAA,GAAM,MAAM,SAAA,EAA2B;AAC7C,EAAA,OAAO,iBAAA,CAAkB,GAAA,IAAO,EAAE,CAAA;AACpC;AAMA,eAAsB,UAAU,GAAA,EAA6B;AAC3D,EAAA,OAAO,UAAA,CAAW,aAAA,EAAc,EAAG,MAAM,UAAA,EAAW,EAAG,EAAE,GAAA,EAAK,GAAA,IAAO,OAAA,CAAQ,GAAA,EAAI,EAAG,CAAA;AACtF;;;
|
|
1
|
+
{"version":3,"sources":["../../../src/platform.ts","../../../src/cli/commands/explore.ts"],"names":[],"mappings":";;;;;AAqBO,SAAS,aAAA,GAA8B;AAC5C,EAAA,MAAM,cAAc,cAAA,EAAe;AACnC,EAAA,MAAM,aAAa,aAAA,EAAc;AACjC,EAAA,MAAM,UAAU,UAAA,EAAW;AAC3B,EAAA,MAAM,QAAQ,QAAA,EAAS;AACvB,EAAA,MAAM,MAAM,MAAA,EAAO;AACnB,EAAA,MAAM,SAAS,SAAA,EAAU;AAEzB,EAAA,MAAM,UAAoB,EAAC;AAC3B,EAAA,IAAI,CAAC,WAAA,EAAa;AAChB,IAAA,OAAA,CAAQ,KAAK,aAAa,CAAA;AAAA,EAC5B;AACA,EAAA,IAAI,CAAC,UAAA,EAAY;AACf,IAAA,OAAA,CAAQ,KAAK,YAAY,CAAA;AAAA,EAC3B;AACA,EAAA,IAAI,CAAC,OAAA,EAAS;AACZ,IAAA,OAAA,CAAQ,KAAK,SAAS,CAAA;AAAA,EACxB;AACA,EAAA,IAAI,CAAC,KAAA,EAAO;AACV,IAAA,OAAA,CAAQ,KAAK,OAAO,CAAA;AAAA,EACtB;AACA,EAAA,IAAI,CAAC,GAAA,EAAK;AACR,IAAA,OAAA,CAAQ,KAAK,KAAK,CAAA;AAAA,EACpB;AACA,EAAA,IAAI,OAAA,CAAQ,SAAS,CAAA,EAAG;AACtB,IAAA,MAAM,IAAI,KAAA;AAAA,MACR,CAAA,iDAAA,EAAoD,OAAA,CAAQ,IAAA,CAAK,IAAI,CAAC,CAAA,wDAAA;AAAA,KAExE;AAAA,EACF;AAEA,EAAA,OAAO,EAAE,WAAA,EAA2B,UAAA,EAAyB,OAAA,EAAmB,KAAA,EAAe,KAAW,MAAA,EAAO;AACnH;AAGA,eAAsB,UAAA,GAAa;AACjC,EAAA,MAAM,GAAA,GAAM,MAAM,SAAA,EAA2B;AAC7C,EAAA,OAAO,iBAAA,CAAkB,GAAA,IAAO,EAAE,CAAA;AACpC;AAMA,eAAsB,UAAU,GAAA,EAA6B;AAC3D,EAAA,OAAO,UAAA,CAAW,aAAA,EAAc,EAAG,MAAM,UAAA,EAAW,EAAG,EAAE,GAAA,EAAK,GAAA,IAAO,OAAA,CAAQ,GAAA,EAAI,EAAG,CAAA;AACtF;;;AC5DA,IAAO,kBAAQ,aAAA,CAAgE;AAAA,EAC7E,EAAA,EAAI,cAAA;AAAA,EACJ,WAAA,EAAa,0EAAA;AAAA,EAEb,OAAA,EAAS;AAAA,IACP,MAAM,OAAA,CAAQ,GAAA,EAAsB,KAAA,EAAuD;AACzF,MAAA,MAAM,EAAE,OAAM,GAAI,KAAA;AAClB,MAAA,MAAM,IAAA,GAAO,KAAA,CAAM,MAAA,KAAW,MAAA,IAAU,KAAA,CAAM,IAAA;AAC9C,MAAA,IAAI;AACF,QAAA,MAAM,GAAA,GAAM,qBAAqB,KAAA,CAAM;AAAA,UACrC,MAAM,KAAA,CAAM,IAAA;AAAA,UACZ,SAAS,KAAA,CAAM,KAAA;AAAA,UACf,OAAO,KAAA,CAAM;AAAA,SACd,CAAA;AAED,QAAA,MAAM,IAAA,GAAO,MAAM,SAAA,CAAU,GAAA,CAAI,GAAG,CAAA;AACpC,QAAA,MAAM,GAAA,GAAM,MAAM,IAAA,CAAK,OAAA,CAAQ,GAAG,CAAA;AAElC,QAAA,IAAI,IAAA,EAAM;AACR,UAAA,GAAA,CAAI,EAAA,EAAI,OAAO,GAAG,CAAA;AAClB,UAAA,OAAO,EAAE,EAAA,EAAI,IAAA,EAAM,MAAA,EAAQ,GAAA,EAAI;AAAA,QACjC;AACA,QAAA,IAAI,GAAA,CAAI,KAAA,CAAM,MAAA,KAAW,CAAA,EAAG;AAC1B,UAAA,GAAA,CAAI,EAAA,EAAI,IAAA,GAAO,CAAA,4BAAA,EAA+B,GAAA,CAAI,OAAO,CAAA,CAAA,CAAG,CAAA;AAAA,QAC9D,CAAA,MAAO;AACL,UAAA,GAAA,CAAI,EAAA,EAAI,OAAA;AAAA,YACN,CAAA,EAAG,GAAA,CAAI,KAAA,CAAM,MAAM,CAAA,gBAAA,EAAmB,GAAA,CAAI,IAAA,CAAK,MAAM,CAAA,0BAAA,EAAwB,GAAA,CAAI,UAAA,CAAW,OAAA,CAAQ,CAAC,CAAC,CAAA,CAAA;AAAA,YACtG;AAAA,cACE,QAAA,EAAU;AAAA,gBACR,GAAI,GAAA,CAAI,OAAA,GAAU,CAAC,EAAE,MAAA,EAAQ,aAAA,EAAe,KAAA,EAAO,CAAC,GAAA,CAAI,OAAO,CAAA,EAAG,IAAI,EAAC;AAAA,gBACvE;AAAA,kBACE,MAAA,EAAQ,CAAA,OAAA,EAAU,GAAA,CAAI,OAAO,CAAA,CAAA,CAAA;AAAA,kBAC7B,KAAA,EAAO,GAAA,CAAI,KAAA,CAAM,GAAA,CAAI,CAAC,CAAA,KAAM;AAC1B,oBAAA,MAAM,GAAA,GAAM,CAAA,EAAG,CAAA,CAAE,IAAI,CAAA,CAAA,EAAI,CAAA,CAAE,KAAA,CAAM,CAAC,CAAC,CAAA,CAAA,EAAI,CAAA,CAAE,KAAA,CAAM,CAAC,CAAC,CAAA,CAAA;AACjD,oBAAA,MAAM,IAAA,GAAO,IAAI,CAAA,CAAE,SAAS,GAAG,CAAA,CAAE,KAAA,GAAQ,YAAY,EAAE,CAAA,CAAA,CAAA;AACvD,oBAAA,OAAO,CAAA,EAAG,GAAG,CAAA,CAAA,EAAI,IAAI;AAAA,IAAA,EAAS,EAAE,GAAG,CAAA,CAAA;AAAA,kBACrC,CAAC;AAAA;AACH;AACF;AACF,WACF;AAAA,QACF;AACA,QAAA,OAAO,EAAE,EAAA,EAAI,IAAA,EAAM,MAAA,EAAQ,GAAA,EAAI;AAAA,MACjC,SAAS,GAAA,EAAK;AACZ,QAAA,WAAA,CAAY,GAAA,EAAK,KAAK,IAAI,CAAA;AAC1B,QAAA,OAAO,EAAE,EAAA,EAAI,KAAA,EAAO,KAAA,EAAO,gBAAA,EAAiB;AAAA,MAC9C;AAAA,IACF;AAAA;AAEJ,CAAC","file":"explore.js","sourcesContent":["/**\n * The single place the plugin touches platform hooks.\n *\n * Assembles `MindServices` from `@kb-labs/sdk` hooks and resolves the plugin\n * config. CLI commands and REST handlers both call `buildMind(...)` so they\n * drive the exact same engine.\n */\n\nimport {\n useVectorStore,\n useEmbeddings,\n useStorage,\n useCache,\n useLLM,\n useLogger,\n useConfig,\n} from '@kb-labs/sdk';\nimport { createMind, type Mind, type MindServices } from '@kb-labs/mind-core';\nimport { resolveMindConfig, type MindConfigInput } from '@kb-labs/mind-contracts';\n\n/** Build MindServices from platform hooks, failing fast on missing required adapters. */\nexport function buildServices(): MindServices {\n const vectorStore = useVectorStore();\n const embeddings = useEmbeddings();\n const storage = useStorage();\n const cache = useCache();\n const llm = useLLM();\n const logger = useLogger();\n\n const missing: string[] = [];\n if (!vectorStore) {\n missing.push('vectorStore');\n }\n if (!embeddings) {\n missing.push('embeddings');\n }\n if (!storage) {\n missing.push('storage');\n }\n if (!cache) {\n missing.push('cache');\n }\n if (!llm) {\n missing.push('llm');\n }\n if (missing.length > 0) {\n throw new Error(\n `mind: required platform adapters not configured: ${missing.join(', ')}. ` +\n `Configure them in .kb/kb.config.json under \"adapters\".`,\n );\n }\n\n return { vectorStore: vectorStore!, embeddings: embeddings!, storage: storage!, cache: cache!, llm: llm!, logger };\n}\n\n/** Resolve the plugin config from the `mind` config section. */\nexport async function loadConfig() {\n const raw = await useConfig<MindConfigInput>();\n return resolveMindConfig(raw ?? {});\n}\n\n/**\n * Convenience: build the Mind facade (services + config) in one call.\n * `cwd` is the workspace root source paths resolve against (from `ctx.cwd`).\n */\nexport async function buildMind(cwd?: string): Promise<Mind> {\n return createMind(buildServices(), await loadConfig(), { cwd: cwd ?? process.cwd() });\n}\n","import { defineCommand, handleError, type CLIInput, type PluginContextV3 } from '@kb-labs/sdk';\nimport type { CommandResult } from '@kb-labs/sdk';\nimport { ExploreRequestSchema, type ExploreFlags, type ExploreResponse } from '@kb-labs/mind-contracts';\nimport { buildMind } from '../../platform';\n\ntype ExploreResult = CommandResult<ExploreResponse>;\n\nexport default defineCommand<unknown, CLIInput<ExploreFlags>, ExploreResponse>({\n id: 'mind:explore',\n description: 'Task-orientation map — where to start and how involved a task looks',\n\n handler: {\n async execute(ctx: PluginContextV3, input: CLIInput<ExploreFlags>): Promise<ExploreResult> {\n const { flags } = input;\n const json = flags.format === 'json' || flags.json;\n try {\n const req = ExploreRequestSchema.parse({\n task: flags.task,\n indexId: flags.index,\n limit: flags.limit,\n });\n\n const mind = await buildMind(ctx.cwd);\n const res = await mind.explore(req);\n\n if (json) {\n ctx.ui?.json?.(res);\n return { ok: true, result: res };\n }\n if (res.files.length === 0) {\n ctx.ui?.warn?.(`No relevant files in index \"${res.indexId}\"`);\n } else {\n ctx.ui?.success?.(\n `${res.files.length} file(s) across ${res.meta.spread} dir(s) — confidence ${res.confidence.toFixed(2)}`,\n {\n sections: [\n ...(res.summary ? [{ header: 'Orientation', items: [res.summary] }] : []),\n {\n header: `Index \"${res.indexId}\"`,\n items: res.files.map((f) => {\n const loc = `${f.file}:${f.lines[0]}-${f.lines[1]}`;\n const tags = `[${f.matchedBy}${f.stale ? ', stale' : ''}]`;\n return `${loc} ${tags}\\n ${f.why}`;\n }),\n },\n ],\n },\n );\n }\n return { ok: true, result: res };\n } catch (err) {\n handleError(ctx, err, json);\n return { ok: false, error: 'Command failed' };\n }\n },\n },\n});\n"]}
|
|
@@ -74,7 +74,7 @@ var commands_default = defineCommand({
|
|
|
74
74
|
);
|
|
75
75
|
if (flags.json) {
|
|
76
76
|
ctx.ui?.json?.(res);
|
|
77
|
-
return {
|
|
77
|
+
return { ok: true, result: res };
|
|
78
78
|
}
|
|
79
79
|
const summary = `Indexed ${res.filesIndexed} file(s), ${res.chunks} chunk(s) into "${res.indexId}" (${res.durationMs}ms)`;
|
|
80
80
|
if (loader) {
|
|
@@ -82,10 +82,10 @@ var commands_default = defineCommand({
|
|
|
82
82
|
} else {
|
|
83
83
|
ctx.ui?.success?.(summary);
|
|
84
84
|
}
|
|
85
|
-
return {
|
|
85
|
+
return { ok: true, result: res };
|
|
86
86
|
} catch (err) {
|
|
87
87
|
handleError(ctx, err, flags.json);
|
|
88
|
-
return {
|
|
88
|
+
return { ok: false, error: "Command failed" };
|
|
89
89
|
}
|
|
90
90
|
}
|
|
91
91
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/platform.ts","../../../src/cli/commands/index.ts"],"names":[],"mappings":";;;;;AAqBO,SAAS,aAAA,GAA8B;AAC5C,EAAA,MAAM,cAAc,cAAA,EAAe;AACnC,EAAA,MAAM,aAAa,aAAA,EAAc;AACjC,EAAA,MAAM,UAAU,UAAA,EAAW;AAC3B,EAAA,MAAM,QAAQ,QAAA,EAAS;AACvB,EAAA,MAAM,MAAM,MAAA,EAAO;AACnB,EAAA,MAAM,SAAS,SAAA,EAAU;AAEzB,EAAA,MAAM,UAAoB,EAAC;AAC3B,EAAA,IAAI,CAAC,WAAA,EAAa;AAChB,IAAA,OAAA,CAAQ,KAAK,aAAa,CAAA;AAAA,EAC5B;AACA,EAAA,IAAI,CAAC,UAAA,EAAY;AACf,IAAA,OAAA,CAAQ,KAAK,YAAY,CAAA;AAAA,EAC3B;AACA,EAAA,IAAI,CAAC,OAAA,EAAS;AACZ,IAAA,OAAA,CAAQ,KAAK,SAAS,CAAA;AAAA,EACxB;AACA,EAAA,IAAI,CAAC,KAAA,EAAO;AACV,IAAA,OAAA,CAAQ,KAAK,OAAO,CAAA;AAAA,EACtB;AACA,EAAA,IAAI,CAAC,GAAA,EAAK;AACR,IAAA,OAAA,CAAQ,KAAK,KAAK,CAAA;AAAA,EACpB;AACA,EAAA,IAAI,OAAA,CAAQ,SAAS,CAAA,EAAG;AACtB,IAAA,MAAM,IAAI,KAAA;AAAA,MACR,CAAA,iDAAA,EAAoD,OAAA,CAAQ,IAAA,CAAK,IAAI,CAAC,CAAA,wDAAA;AAAA,KAExE;AAAA,EACF;AAEA,EAAA,OAAO,EAAE,WAAA,EAA2B,UAAA,EAAyB,OAAA,EAAmB,KAAA,EAAe,KAAW,MAAA,EAAO;AACnH;AAGA,eAAsB,UAAA,GAAa;AACjC,EAAA,MAAM,GAAA,GAAM,MAAM,SAAA,EAA2B;AAC7C,EAAA,OAAO,iBAAA,CAAkB,GAAA,IAAO,EAAE,CAAA;AACpC;AAMA,eAAsB,UAAU,GAAA,EAA6B;AAC3D,EAAA,OAAO,UAAA,CAAW,aAAA,EAAc,EAAG,MAAM,UAAA,EAAW,EAAG,EAAE,GAAA,EAAK,GAAA,IAAO,OAAA,CAAQ,GAAA,EAAI,EAAG,CAAA;AACtF;;;
|
|
1
|
+
{"version":3,"sources":["../../../src/platform.ts","../../../src/cli/commands/index.ts"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["/**\n * The single place the plugin touches platform hooks.\n *\n * Assembles `MindServices` from `@kb-labs/sdk` hooks and resolves the plugin\n * config. CLI commands and REST handlers both call `buildMind(...)` so they\n * drive the exact same engine.\n */\n\nimport {\n useVectorStore,\n useEmbeddings,\n useStorage,\n useCache,\n useLLM,\n useLogger,\n useConfig,\n} from '@kb-labs/sdk';\nimport { createMind, type Mind, type MindServices } from '@kb-labs/mind-core';\nimport { resolveMindConfig, type MindConfigInput } from '@kb-labs/mind-contracts';\n\n/** Build MindServices from platform hooks, failing fast on missing required adapters. */\nexport function buildServices(): MindServices {\n const vectorStore = useVectorStore();\n const embeddings = useEmbeddings();\n const storage = useStorage();\n const cache = useCache();\n const llm = useLLM();\n const logger = useLogger();\n\n const missing: string[] = [];\n if (!vectorStore) {\n missing.push('vectorStore');\n }\n if (!embeddings) {\n missing.push('embeddings');\n }\n if (!storage) {\n missing.push('storage');\n }\n if (!cache) {\n missing.push('cache');\n }\n if (!llm) {\n missing.push('llm');\n }\n if (missing.length > 0) {\n throw new Error(\n `mind: required platform adapters not configured: ${missing.join(', ')}. ` +\n `Configure them in .kb/kb.config.json under \"adapters\".`,\n );\n }\n\n return { vectorStore: vectorStore!, embeddings: embeddings!, storage: storage!, cache: cache!, llm: llm!, logger };\n}\n\n/** Resolve the plugin config from the `mind` config section. */\nexport async function loadConfig() {\n const raw = await useConfig<MindConfigInput>();\n return resolveMindConfig(raw ?? {});\n}\n\n/**\n * Convenience: build the Mind facade (services + config) in one call.\n * `cwd` is the workspace root source paths resolve against (from `ctx.cwd`).\n */\nexport async function buildMind(cwd?: string): Promise<Mind> {\n return createMind(buildServices(), await loadConfig(), { cwd: cwd ?? process.cwd() });\n}\n","import { defineCommand, handleError, useLoader, type CLIInput, type PluginContextV3 } from '@kb-labs/sdk';\nimport type { CommandResult } from '@kb-labs/sdk';\nimport { type IndexFlags, type IndexResponse } from '@kb-labs/mind-contracts';\nimport { type IngestProgress } from '@kb-labs/mind-core';\nimport { buildMind } from '../../platform';\n\ntype IndexCmdResult = CommandResult<IndexResponse>;\n\n/** Map an ingest stage to a one-line loader label. */\nfunction stageText(e: IngestProgress): string {\n switch (e.stage) {\n case 'discover':\n return `Discovered ${e.files} file(s)`;\n case 'delta':\n return `Delta: ${e.toIndex} to (re)index · ${e.unchanged} unchanged · ${e.removed} removed`;\n case 'chunk':\n return `Chunked → ${e.chunks} chunk(s)`;\n case 'embed':\n return `Embedding ${e.done}/${e.total} chunk(s)`;\n case 'upsert':\n return `Upserting ${e.count} vector(s)`;\n case 'save':\n return 'Saving index manifest';\n }\n}\n\nexport default defineCommand<unknown, CLIInput<IndexFlags>, IndexResponse>({\n id: 'mind:index',\n description: 'Build or refresh a Mind index from source files',\n\n handler: {\n async execute(ctx: PluginContextV3, input: CLIInput<IndexFlags>): Promise<IndexCmdResult> {\n const { flags } = input;\n try {\n // `--root` lets one kb-labs install index an arbitrary project root\n // (paths + freshness resolve against it); defaults to the invocation cwd.\n const mind = await buildMind(flags.root ?? ctx.cwd);\n\n // Built-in SDK loader: an animated spinner whose text we drive per stage\n // (writes to stdout directly, so it renders even though the CLI presenter\n // has no spinner). It self-suppresses in JSON mode, keeping stdout clean.\n const loader = flags.json ? undefined : useLoader(`Indexing \"${flags.index ?? 'default'}\"…`);\n loader?.start();\n\n const res = await mind.index(\n { indexId: flags.index, scope: flags.scope, full: flags.full },\n flags.json ? undefined : (e) => loader?.update({ text: stageText(e) }),\n );\n\n if (flags.json) {\n ctx.ui?.json?.(res);\n return { ok: true, result: res };\n }\n const summary = `Indexed ${res.filesIndexed} file(s), ${res.chunks} chunk(s) into \"${res.indexId}\" (${res.durationMs}ms)`;\n if (loader) {\n loader.succeed(summary);\n } else {\n ctx.ui?.success?.(summary);\n }\n return { ok: true, result: res };\n } catch (err) {\n handleError(ctx, err, flags.json);\n return { ok: false, error: 'Command failed' };\n }\n },\n },\n});\n"]}
|
|
@@ -52,15 +52,15 @@ var reindex_default = defineCommand({
|
|
|
52
52
|
const res = await mind.reindex({ indexId: input.flags.index, full: input.flags.full });
|
|
53
53
|
if (input.flags.json) {
|
|
54
54
|
ctx.ui?.json?.(res);
|
|
55
|
-
return {
|
|
55
|
+
return { ok: true, result: res };
|
|
56
56
|
}
|
|
57
57
|
ctx.ui?.success?.(
|
|
58
58
|
`Reindexed "${res.indexId}": ${res.filesIndexed} file(s), ${res.chunks} chunk(s) (${res.durationMs}ms)`
|
|
59
59
|
);
|
|
60
|
-
return {
|
|
60
|
+
return { ok: true, result: res };
|
|
61
61
|
} catch (err) {
|
|
62
62
|
handleError(ctx, err, input.flags.json);
|
|
63
|
-
return {
|
|
63
|
+
return { ok: false, error: "Command failed" };
|
|
64
64
|
}
|
|
65
65
|
}
|
|
66
66
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/platform.ts","../../../src/cli/commands/reindex.ts"],"names":[],"mappings":";;;;;AAqBO,SAAS,aAAA,GAA8B;AAC5C,EAAA,MAAM,cAAc,cAAA,EAAe;AACnC,EAAA,MAAM,aAAa,aAAA,EAAc;AACjC,EAAA,MAAM,UAAU,UAAA,EAAW;AAC3B,EAAA,MAAM,QAAQ,QAAA,EAAS;AACvB,EAAA,MAAM,MAAM,MAAA,EAAO;AACnB,EAAA,MAAM,SAAS,SAAA,EAAU;AAEzB,EAAA,MAAM,UAAoB,EAAC;AAC3B,EAAA,IAAI,CAAC,WAAA,EAAa;AAChB,IAAA,OAAA,CAAQ,KAAK,aAAa,CAAA;AAAA,EAC5B;AACA,EAAA,IAAI,CAAC,UAAA,EAAY;AACf,IAAA,OAAA,CAAQ,KAAK,YAAY,CAAA;AAAA,EAC3B;AACA,EAAA,IAAI,CAAC,OAAA,EAAS;AACZ,IAAA,OAAA,CAAQ,KAAK,SAAS,CAAA;AAAA,EACxB;AACA,EAAA,IAAI,CAAC,KAAA,EAAO;AACV,IAAA,OAAA,CAAQ,KAAK,OAAO,CAAA;AAAA,EACtB;AACA,EAAA,IAAI,CAAC,GAAA,EAAK;AACR,IAAA,OAAA,CAAQ,KAAK,KAAK,CAAA;AAAA,EACpB;AACA,EAAA,IAAI,OAAA,CAAQ,SAAS,CAAA,EAAG;AACtB,IAAA,MAAM,IAAI,KAAA;AAAA,MACR,CAAA,iDAAA,EAAoD,OAAA,CAAQ,IAAA,CAAK,IAAI,CAAC,CAAA,wDAAA;AAAA,KAExE;AAAA,EACF;AAEA,EAAA,OAAO,EAAE,WAAA,EAA2B,UAAA,EAAyB,OAAA,EAAmB,KAAA,EAAe,KAAW,MAAA,EAAO;AACnH;AAGA,eAAsB,UAAA,GAAa;AACjC,EAAA,MAAM,GAAA,GAAM,MAAM,SAAA,EAA2B;AAC7C,EAAA,OAAO,iBAAA,CAAkB,GAAA,IAAO,EAAE,CAAA;AACpC;AAMA,eAAsB,UAAU,GAAA,EAA6B;AAC3D,EAAA,OAAO,UAAA,CAAW,aAAA,EAAc,EAAG,MAAM,UAAA,EAAW,EAAG,EAAE,GAAA,EAAK,GAAA,IAAO,OAAA,CAAQ,GAAA,EAAI,EAAG,CAAA;AACtF;;;
|
|
1
|
+
{"version":3,"sources":["../../../src/platform.ts","../../../src/cli/commands/reindex.ts"],"names":[],"mappings":"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","file":"reindex.js","sourcesContent":["/**\n * The single place the plugin touches platform hooks.\n *\n * Assembles `MindServices` from `@kb-labs/sdk` hooks and resolves the plugin\n * config. CLI commands and REST handlers both call `buildMind(...)` so they\n * drive the exact same engine.\n */\n\nimport {\n useVectorStore,\n useEmbeddings,\n useStorage,\n useCache,\n useLLM,\n useLogger,\n useConfig,\n} from '@kb-labs/sdk';\nimport { createMind, type Mind, type MindServices } from '@kb-labs/mind-core';\nimport { resolveMindConfig, type MindConfigInput } from '@kb-labs/mind-contracts';\n\n/** Build MindServices from platform hooks, failing fast on missing required adapters. */\nexport function buildServices(): MindServices {\n const vectorStore = useVectorStore();\n const embeddings = useEmbeddings();\n const storage = useStorage();\n const cache = useCache();\n const llm = useLLM();\n const logger = useLogger();\n\n const missing: string[] = [];\n if (!vectorStore) {\n missing.push('vectorStore');\n }\n if (!embeddings) {\n missing.push('embeddings');\n }\n if (!storage) {\n missing.push('storage');\n }\n if (!cache) {\n missing.push('cache');\n }\n if (!llm) {\n missing.push('llm');\n }\n if (missing.length > 0) {\n throw new Error(\n `mind: required platform adapters not configured: ${missing.join(', ')}. ` +\n `Configure them in .kb/kb.config.json under \"adapters\".`,\n );\n }\n\n return { vectorStore: vectorStore!, embeddings: embeddings!, storage: storage!, cache: cache!, llm: llm!, logger };\n}\n\n/** Resolve the plugin config from the `mind` config section. */\nexport async function loadConfig() {\n const raw = await useConfig<MindConfigInput>();\n return resolveMindConfig(raw ?? {});\n}\n\n/**\n * Convenience: build the Mind facade (services + config) in one call.\n * `cwd` is the workspace root source paths resolve against (from `ctx.cwd`).\n */\nexport async function buildMind(cwd?: string): Promise<Mind> {\n return createMind(buildServices(), await loadConfig(), { cwd: cwd ?? process.cwd() });\n}\n","import { defineCommand, handleError, type CLIInput, type PluginContextV3 } from '@kb-labs/sdk';\nimport type { CommandResult } from '@kb-labs/sdk';\nimport { type ReindexFlags, type IndexResponse } from '@kb-labs/mind-contracts';\nimport { buildMind } from '../../platform';\n\nexport default defineCommand<unknown, CLIInput<ReindexFlags>, IndexResponse>({\n id: 'mind:reindex',\n description: 'Rebuild an index from source files',\n\n handler: {\n async execute(ctx: PluginContextV3, input: CLIInput<ReindexFlags>): Promise<CommandResult<IndexResponse>> {\n try {\n const mind = await buildMind(ctx.cwd);\n const res = await mind.reindex({ indexId: input.flags.index, full: input.flags.full });\n if (input.flags.json) {\n ctx.ui?.json?.(res);\n return { ok: true, result: res };\n }\n ctx.ui?.success?.(\n `Reindexed \"${res.indexId}\": ${res.filesIndexed} file(s), ${res.chunks} chunk(s) (${res.durationMs}ms)`,\n );\n return { ok: true, result: res };\n } catch (err) {\n handleError(ctx, err, input.flags.json);\n return { ok: false, error: 'Command failed' };\n }\n },\n },\n});\n"]}
|
|
@@ -61,7 +61,7 @@ var search_default = defineCommand({
|
|
|
61
61
|
const res = await mind.search(req);
|
|
62
62
|
if (json) {
|
|
63
63
|
ctx.ui?.json?.(res);
|
|
64
|
-
return {
|
|
64
|
+
return { ok: true, result: res };
|
|
65
65
|
}
|
|
66
66
|
if (res.results.length === 0) {
|
|
67
67
|
ctx.ui?.warn?.(`No results in index "${res.indexId}"`);
|
|
@@ -80,10 +80,10 @@ var search_default = defineCommand({
|
|
|
80
80
|
]
|
|
81
81
|
});
|
|
82
82
|
}
|
|
83
|
-
return {
|
|
83
|
+
return { ok: true, result: res };
|
|
84
84
|
} catch (err) {
|
|
85
85
|
handleError(ctx, err, json);
|
|
86
|
-
return {
|
|
86
|
+
return { ok: false, error: "Command failed" };
|
|
87
87
|
}
|
|
88
88
|
}
|
|
89
89
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/platform.ts","../../../src/cli/commands/search.ts"],"names":[],"mappings":";;;;;AAqBO,SAAS,aAAA,GAA8B;AAC5C,EAAA,MAAM,cAAc,cAAA,EAAe;AACnC,EAAA,MAAM,aAAa,aAAA,EAAc;AACjC,EAAA,MAAM,UAAU,UAAA,EAAW;AAC3B,EAAA,MAAM,QAAQ,QAAA,EAAS;AACvB,EAAA,MAAM,MAAM,MAAA,EAAO;AACnB,EAAA,MAAM,SAAS,SAAA,EAAU;AAEzB,EAAA,MAAM,UAAoB,EAAC;AAC3B,EAAA,IAAI,CAAC,WAAA,EAAa;AAChB,IAAA,OAAA,CAAQ,KAAK,aAAa,CAAA;AAAA,EAC5B;AACA,EAAA,IAAI,CAAC,UAAA,EAAY;AACf,IAAA,OAAA,CAAQ,KAAK,YAAY,CAAA;AAAA,EAC3B;AACA,EAAA,IAAI,CAAC,OAAA,EAAS;AACZ,IAAA,OAAA,CAAQ,KAAK,SAAS,CAAA;AAAA,EACxB;AACA,EAAA,IAAI,CAAC,KAAA,EAAO;AACV,IAAA,OAAA,CAAQ,KAAK,OAAO,CAAA;AAAA,EACtB;AACA,EAAA,IAAI,CAAC,GAAA,EAAK;AACR,IAAA,OAAA,CAAQ,KAAK,KAAK,CAAA;AAAA,EACpB;AACA,EAAA,IAAI,OAAA,CAAQ,SAAS,CAAA,EAAG;AACtB,IAAA,MAAM,IAAI,KAAA;AAAA,MACR,CAAA,iDAAA,EAAoD,OAAA,CAAQ,IAAA,CAAK,IAAI,CAAC,CAAA,wDAAA;AAAA,KAExE;AAAA,EACF;AAEA,EAAA,OAAO,EAAE,WAAA,EAA2B,UAAA,EAAyB,OAAA,EAAmB,KAAA,EAAe,KAAW,MAAA,EAAO;AACnH;AAGA,eAAsB,UAAA,GAAa;AACjC,EAAA,MAAM,GAAA,GAAM,MAAM,SAAA,EAA2B;AAC7C,EAAA,OAAO,iBAAA,CAAkB,GAAA,IAAO,EAAE,CAAA;AACpC;AAMA,eAAsB,UAAU,GAAA,EAA6B;AAC3D,EAAA,OAAO,UAAA,CAAW,aAAA,EAAc,EAAG,MAAM,UAAA,EAAW,EAAG,EAAE,GAAA,EAAK,GAAA,IAAO,OAAA,CAAQ,GAAA,EAAI,EAAG,CAAA;AACtF;;;
|
|
1
|
+
{"version":3,"sources":["../../../src/platform.ts","../../../src/cli/commands/search.ts"],"names":[],"mappings":"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","file":"search.js","sourcesContent":["/**\n * The single place the plugin touches platform hooks.\n *\n * Assembles `MindServices` from `@kb-labs/sdk` hooks and resolves the plugin\n * config. CLI commands and REST handlers both call `buildMind(...)` so they\n * drive the exact same engine.\n */\n\nimport {\n useVectorStore,\n useEmbeddings,\n useStorage,\n useCache,\n useLLM,\n useLogger,\n useConfig,\n} from '@kb-labs/sdk';\nimport { createMind, type Mind, type MindServices } from '@kb-labs/mind-core';\nimport { resolveMindConfig, type MindConfigInput } from '@kb-labs/mind-contracts';\n\n/** Build MindServices from platform hooks, failing fast on missing required adapters. */\nexport function buildServices(): MindServices {\n const vectorStore = useVectorStore();\n const embeddings = useEmbeddings();\n const storage = useStorage();\n const cache = useCache();\n const llm = useLLM();\n const logger = useLogger();\n\n const missing: string[] = [];\n if (!vectorStore) {\n missing.push('vectorStore');\n }\n if (!embeddings) {\n missing.push('embeddings');\n }\n if (!storage) {\n missing.push('storage');\n }\n if (!cache) {\n missing.push('cache');\n }\n if (!llm) {\n missing.push('llm');\n }\n if (missing.length > 0) {\n throw new Error(\n `mind: required platform adapters not configured: ${missing.join(', ')}. ` +\n `Configure them in .kb/kb.config.json under \"adapters\".`,\n );\n }\n\n return { vectorStore: vectorStore!, embeddings: embeddings!, storage: storage!, cache: cache!, llm: llm!, logger };\n}\n\n/** Resolve the plugin config from the `mind` config section. */\nexport async function loadConfig() {\n const raw = await useConfig<MindConfigInput>();\n return resolveMindConfig(raw ?? {});\n}\n\n/**\n * Convenience: build the Mind facade (services + config) in one call.\n * `cwd` is the workspace root source paths resolve against (from `ctx.cwd`).\n */\nexport async function buildMind(cwd?: string): Promise<Mind> {\n return createMind(buildServices(), await loadConfig(), { cwd: cwd ?? process.cwd() });\n}\n","import { defineCommand, handleError, type CLIInput, type PluginContextV3 } from '@kb-labs/sdk';\nimport type { CommandResult } from '@kb-labs/sdk';\nimport { SearchRequestSchema, type SearchFlags, type SearchResponse } from '@kb-labs/mind-contracts';\nimport { buildMind } from '../../platform';\n\ntype SearchResult = CommandResult<SearchResponse>;\n\nexport default defineCommand<unknown, CLIInput<SearchFlags>, SearchResponse>({\n id: 'mind:search',\n description: 'Locate sources — fast retrieval over a Mind index (no LLM)',\n\n handler: {\n async execute(ctx: PluginContextV3, input: CLIInput<SearchFlags>): Promise<SearchResult> {\n const { flags } = input;\n const json = flags.format === 'json' || flags.json;\n try {\n // Validate/normalize CLI flags into the wire request (narrows enums).\n const req = SearchRequestSchema.parse({\n text: flags.text,\n indexId: flags.index,\n intent: flags.intent,\n limit: flags.limit,\n snippet: flags.snippet,\n });\n\n const mind = await buildMind(ctx.cwd);\n const res = await mind.search(req);\n\n if (json) {\n ctx.ui?.json?.(res);\n return { ok: true, result: res };\n }\n if (res.results.length === 0) {\n ctx.ui?.warn?.(`No results in index \"${res.indexId}\"`);\n } else {\n ctx.ui?.success?.(`${res.results.length} result(s) — confidence ${res.confidence.toFixed(2)}`, {\n sections: [\n {\n header: `Index \"${res.indexId}\"`,\n items: res.results.map((r) => {\n const loc = `${r.file}:${r.lines[0]}-${r.lines[1]}`;\n const tags = `[${r.matchedBy}${r.stale ? ', stale' : ''}]`;\n return r.snippet ? `${loc} ${tags}\\n ${r.snippet}` : `${loc} ${tags}`;\n }),\n },\n ],\n });\n }\n return { ok: true, result: res };\n } catch (err) {\n handleError(ctx, err, json);\n return { ok: false, error: 'Command failed' };\n }\n },\n },\n});\n"]}
|
|
@@ -53,11 +53,11 @@ var status_default = defineCommand({
|
|
|
53
53
|
const res = await mind.status(flags.index);
|
|
54
54
|
if (flags.json) {
|
|
55
55
|
ctx.ui?.json?.(res);
|
|
56
|
-
return {
|
|
56
|
+
return { ok: true, result: res };
|
|
57
57
|
}
|
|
58
58
|
if (res.indexes.length === 0) {
|
|
59
59
|
ctx.ui?.warn?.("No indexes built yet. Run `kb mind index` first.");
|
|
60
|
-
return {
|
|
60
|
+
return { ok: true, result: res };
|
|
61
61
|
}
|
|
62
62
|
ctx.ui?.success?.("Mind indexes", {
|
|
63
63
|
sections: [
|
|
@@ -75,10 +75,10 @@ var status_default = defineCommand({
|
|
|
75
75
|
}
|
|
76
76
|
]
|
|
77
77
|
});
|
|
78
|
-
return {
|
|
78
|
+
return { ok: true, result: res };
|
|
79
79
|
} catch (err) {
|
|
80
80
|
handleError(ctx, err, flags.json);
|
|
81
|
-
return {
|
|
81
|
+
return { ok: false, error: "Command failed" };
|
|
82
82
|
}
|
|
83
83
|
}
|
|
84
84
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/platform.ts","../../../src/cli/commands/status.ts"],"names":[],"mappings":";;;;;AAqBO,SAAS,aAAA,GAA8B;AAC5C,EAAA,MAAM,cAAc,cAAA,EAAe;AACnC,EAAA,MAAM,aAAa,aAAA,EAAc;AACjC,EAAA,MAAM,UAAU,UAAA,EAAW;AAC3B,EAAA,MAAM,QAAQ,QAAA,EAAS;AACvB,EAAA,MAAM,MAAM,MAAA,EAAO;AACnB,EAAA,MAAM,SAAS,SAAA,EAAU;AAEzB,EAAA,MAAM,UAAoB,EAAC;AAC3B,EAAA,IAAI,CAAC,WAAA,EAAa;AAChB,IAAA,OAAA,CAAQ,KAAK,aAAa,CAAA;AAAA,EAC5B;AACA,EAAA,IAAI,CAAC,UAAA,EAAY;AACf,IAAA,OAAA,CAAQ,KAAK,YAAY,CAAA;AAAA,EAC3B;AACA,EAAA,IAAI,CAAC,OAAA,EAAS;AACZ,IAAA,OAAA,CAAQ,KAAK,SAAS,CAAA;AAAA,EACxB;AACA,EAAA,IAAI,CAAC,KAAA,EAAO;AACV,IAAA,OAAA,CAAQ,KAAK,OAAO,CAAA;AAAA,EACtB;AACA,EAAA,IAAI,CAAC,GAAA,EAAK;AACR,IAAA,OAAA,CAAQ,KAAK,KAAK,CAAA;AAAA,EACpB;AACA,EAAA,IAAI,OAAA,CAAQ,SAAS,CAAA,EAAG;AACtB,IAAA,MAAM,IAAI,KAAA;AAAA,MACR,CAAA,iDAAA,EAAoD,OAAA,CAAQ,IAAA,CAAK,IAAI,CAAC,CAAA,wDAAA;AAAA,KAExE;AAAA,EACF;AAEA,EAAA,OAAO,EAAE,WAAA,EAA2B,UAAA,EAAyB,OAAA,EAAmB,KAAA,EAAe,KAAW,MAAA,EAAO;AACnH;AAGA,eAAsB,UAAA,GAAa;AACjC,EAAA,MAAM,GAAA,GAAM,MAAM,SAAA,EAA2B;AAC7C,EAAA,OAAO,iBAAA,CAAkB,GAAA,IAAO,EAAE,CAAA;AACpC;AAMA,eAAsB,UAAU,GAAA,EAA6B;AAC3D,EAAA,OAAO,UAAA,CAAW,aAAA,EAAc,EAAG,MAAM,UAAA,EAAW,EAAG,EAAE,GAAA,EAAK,GAAA,IAAO,OAAA,CAAQ,GAAA,EAAI,EAAG,CAAA;AACtF;;;
|
|
1
|
+
{"version":3,"sources":["../../../src/platform.ts","../../../src/cli/commands/status.ts"],"names":[],"mappings":"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","file":"status.js","sourcesContent":["/**\n * The single place the plugin touches platform hooks.\n *\n * Assembles `MindServices` from `@kb-labs/sdk` hooks and resolves the plugin\n * config. CLI commands and REST handlers both call `buildMind(...)` so they\n * drive the exact same engine.\n */\n\nimport {\n useVectorStore,\n useEmbeddings,\n useStorage,\n useCache,\n useLLM,\n useLogger,\n useConfig,\n} from '@kb-labs/sdk';\nimport { createMind, type Mind, type MindServices } from '@kb-labs/mind-core';\nimport { resolveMindConfig, type MindConfigInput } from '@kb-labs/mind-contracts';\n\n/** Build MindServices from platform hooks, failing fast on missing required adapters. */\nexport function buildServices(): MindServices {\n const vectorStore = useVectorStore();\n const embeddings = useEmbeddings();\n const storage = useStorage();\n const cache = useCache();\n const llm = useLLM();\n const logger = useLogger();\n\n const missing: string[] = [];\n if (!vectorStore) {\n missing.push('vectorStore');\n }\n if (!embeddings) {\n missing.push('embeddings');\n }\n if (!storage) {\n missing.push('storage');\n }\n if (!cache) {\n missing.push('cache');\n }\n if (!llm) {\n missing.push('llm');\n }\n if (missing.length > 0) {\n throw new Error(\n `mind: required platform adapters not configured: ${missing.join(', ')}. ` +\n `Configure them in .kb/kb.config.json under \"adapters\".`,\n );\n }\n\n return { vectorStore: vectorStore!, embeddings: embeddings!, storage: storage!, cache: cache!, llm: llm!, logger };\n}\n\n/** Resolve the plugin config from the `mind` config section. */\nexport async function loadConfig() {\n const raw = await useConfig<MindConfigInput>();\n return resolveMindConfig(raw ?? {});\n}\n\n/**\n * Convenience: build the Mind facade (services + config) in one call.\n * `cwd` is the workspace root source paths resolve against (from `ctx.cwd`).\n */\nexport async function buildMind(cwd?: string): Promise<Mind> {\n return createMind(buildServices(), await loadConfig(), { cwd: cwd ?? process.cwd() });\n}\n","import { defineCommand, handleError, type CLIInput, type PluginContextV3 } from '@kb-labs/sdk';\nimport type { CommandResult } from '@kb-labs/sdk';\nimport { type StatusFlags, type IndexSummary, type StatusResponse } from '@kb-labs/mind-contracts';\nimport { buildMind } from '../../platform';\n\nexport default defineCommand<unknown, CLIInput<StatusFlags>, StatusResponse>({\n id: 'mind:status',\n description: 'Show Mind index status',\n\n handler: {\n async execute(ctx: PluginContextV3, input: CLIInput<StatusFlags>): Promise<CommandResult<StatusResponse>> {\n const { flags } = input;\n try {\n const mind = await buildMind(ctx.cwd);\n const res = await mind.status(flags.index);\n\n if (flags.json) {\n ctx.ui?.json?.(res);\n return { ok: true, result: res };\n }\n\n if (res.indexes.length === 0) {\n ctx.ui?.warn?.('No indexes built yet. Run `kb mind index` first.');\n return { ok: true, result: res };\n }\n\n ctx.ui?.success?.('Mind indexes', {\n sections: [\n {\n header: `${res.indexes.length} index(es)`,\n items: res.indexes.map((i: IndexSummary) => {\n const head = `${i.indexId}${i.label ? ` — ${i.label}` : ''}`;\n const counts = `${i.documents} doc(s), ${i.chunks} chunk(s)`;\n const scope = i.coverage ? `\\n scope: ${i.coverage}` : '';\n const stale = i.staleCount ? `, ${i.staleCount} stale` : '';\n const updated = i.lastIndexedAt ? `, updated ${i.lastIndexedAt}` : ' (not built)';\n return `${head}: ${counts}${stale}${updated}${scope}`;\n }),\n },\n ],\n });\n return { ok: true, result: res };\n } catch (err) {\n handleError(ctx, err, flags.json);\n return { ok: false, error: 'Command failed' };\n }\n },\n },\n});\n"]}
|
|
@@ -51,19 +51,19 @@ var sync_add_default = defineCommand({
|
|
|
51
51
|
const paths = input.argv ?? [];
|
|
52
52
|
if (paths.length === 0) {
|
|
53
53
|
ctx.ui?.error?.("Provide one or more paths: kb mind sync add <paths\u2026>");
|
|
54
|
-
return {
|
|
54
|
+
return { ok: false, error: "Command failed" };
|
|
55
55
|
}
|
|
56
56
|
const mind = await buildMind(ctx.cwd);
|
|
57
57
|
const res = await mind.syncAdd(paths, input.flags.index);
|
|
58
58
|
if (input.flags.json) {
|
|
59
59
|
ctx.ui?.json?.(res);
|
|
60
|
-
return {
|
|
60
|
+
return { ok: true, result: res };
|
|
61
61
|
}
|
|
62
62
|
ctx.ui?.success?.(`Sync add \u2192 "${res.indexId}": +${res.added} added, ${res.updated} updated`);
|
|
63
|
-
return {
|
|
63
|
+
return { ok: true, result: res };
|
|
64
64
|
} catch (err) {
|
|
65
65
|
handleError(ctx, err, input.flags.json);
|
|
66
|
-
return {
|
|
66
|
+
return { ok: false, error: "Command failed" };
|
|
67
67
|
}
|
|
68
68
|
}
|
|
69
69
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/platform.ts","../../../src/cli/commands/sync-add.ts"],"names":[],"mappings":";;;;;AAqBO,SAAS,aAAA,GAA8B;AAC5C,EAAA,MAAM,cAAc,cAAA,EAAe;AACnC,EAAA,MAAM,aAAa,aAAA,EAAc;AACjC,EAAA,MAAM,UAAU,UAAA,EAAW;AAC3B,EAAA,MAAM,QAAQ,QAAA,EAAS;AACvB,EAAA,MAAM,MAAM,MAAA,EAAO;AACnB,EAAA,MAAM,SAAS,SAAA,EAAU;AAEzB,EAAA,MAAM,UAAoB,EAAC;AAC3B,EAAA,IAAI,CAAC,WAAA,EAAa;AAChB,IAAA,OAAA,CAAQ,KAAK,aAAa,CAAA;AAAA,EAC5B;AACA,EAAA,IAAI,CAAC,UAAA,EAAY;AACf,IAAA,OAAA,CAAQ,KAAK,YAAY,CAAA;AAAA,EAC3B;AACA,EAAA,IAAI,CAAC,OAAA,EAAS;AACZ,IAAA,OAAA,CAAQ,KAAK,SAAS,CAAA;AAAA,EACxB;AACA,EAAA,IAAI,CAAC,KAAA,EAAO;AACV,IAAA,OAAA,CAAQ,KAAK,OAAO,CAAA;AAAA,EACtB;AACA,EAAA,IAAI,CAAC,GAAA,EAAK;AACR,IAAA,OAAA,CAAQ,KAAK,KAAK,CAAA;AAAA,EACpB;AACA,EAAA,IAAI,OAAA,CAAQ,SAAS,CAAA,EAAG;AACtB,IAAA,MAAM,IAAI,KAAA;AAAA,MACR,CAAA,iDAAA,EAAoD,OAAA,CAAQ,IAAA,CAAK,IAAI,CAAC,CAAA,wDAAA;AAAA,KAExE;AAAA,EACF;AAEA,EAAA,OAAO,EAAE,WAAA,EAA2B,UAAA,EAAyB,OAAA,EAAmB,KAAA,EAAe,KAAW,MAAA,EAAO;AACnH;AAGA,eAAsB,UAAA,GAAa;AACjC,EAAA,MAAM,GAAA,GAAM,MAAM,SAAA,EAA2B;AAC7C,EAAA,OAAO,iBAAA,CAAkB,GAAA,IAAO,EAAE,CAAA;AACpC;AAMA,eAAsB,UAAU,GAAA,EAA6B;AAC3D,EAAA,OAAO,UAAA,CAAW,aAAA,EAAc,EAAG,MAAM,UAAA,EAAW,EAAG,EAAE,GAAA,EAAK,GAAA,IAAO,OAAA,CAAQ,GAAA,EAAI,EAAG,CAAA;AACtF;;;
|
|
1
|
+
{"version":3,"sources":["../../../src/platform.ts","../../../src/cli/commands/sync-add.ts"],"names":[],"mappings":"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","file":"sync-add.js","sourcesContent":["/**\n * The single place the plugin touches platform hooks.\n *\n * Assembles `MindServices` from `@kb-labs/sdk` hooks and resolves the plugin\n * config. CLI commands and REST handlers both call `buildMind(...)` so they\n * drive the exact same engine.\n */\n\nimport {\n useVectorStore,\n useEmbeddings,\n useStorage,\n useCache,\n useLLM,\n useLogger,\n useConfig,\n} from '@kb-labs/sdk';\nimport { createMind, type Mind, type MindServices } from '@kb-labs/mind-core';\nimport { resolveMindConfig, type MindConfigInput } from '@kb-labs/mind-contracts';\n\n/** Build MindServices from platform hooks, failing fast on missing required adapters. */\nexport function buildServices(): MindServices {\n const vectorStore = useVectorStore();\n const embeddings = useEmbeddings();\n const storage = useStorage();\n const cache = useCache();\n const llm = useLLM();\n const logger = useLogger();\n\n const missing: string[] = [];\n if (!vectorStore) {\n missing.push('vectorStore');\n }\n if (!embeddings) {\n missing.push('embeddings');\n }\n if (!storage) {\n missing.push('storage');\n }\n if (!cache) {\n missing.push('cache');\n }\n if (!llm) {\n missing.push('llm');\n }\n if (missing.length > 0) {\n throw new Error(\n `mind: required platform adapters not configured: ${missing.join(', ')}. ` +\n `Configure them in .kb/kb.config.json under \"adapters\".`,\n );\n }\n\n return { vectorStore: vectorStore!, embeddings: embeddings!, storage: storage!, cache: cache!, llm: llm!, logger };\n}\n\n/** Resolve the plugin config from the `mind` config section. */\nexport async function loadConfig() {\n const raw = await useConfig<MindConfigInput>();\n return resolveMindConfig(raw ?? {});\n}\n\n/**\n * Convenience: build the Mind facade (services + config) in one call.\n * `cwd` is the workspace root source paths resolve against (from `ctx.cwd`).\n */\nexport async function buildMind(cwd?: string): Promise<Mind> {\n return createMind(buildServices(), await loadConfig(), { cwd: cwd ?? process.cwd() });\n}\n","import { defineCommand, handleError, type CLIInput, type PluginContextV3 } from '@kb-labs/sdk';\nimport type { CommandResult } from '@kb-labs/sdk';\nimport { type SyncPathsFlags, type SyncResponse } from '@kb-labs/mind-contracts';\nimport { buildMind } from '../../platform';\n\nexport default defineCommand<unknown, CLIInput<SyncPathsFlags>, SyncResponse>({\n id: 'mind:sync-add',\n description: 'Add documents to an index (incremental)',\n\n handler: {\n async execute(ctx: PluginContextV3, input: CLIInput<SyncPathsFlags>): Promise<CommandResult<SyncResponse>> {\n try {\n const paths = input.argv ?? [];\n if (paths.length === 0) {\n ctx.ui?.error?.('Provide one or more paths: kb mind sync add <paths…>');\n return { ok: false, error: 'Command failed' };\n }\n const mind = await buildMind(ctx.cwd);\n const res = await mind.syncAdd(paths, input.flags.index);\n if (input.flags.json) {\n ctx.ui?.json?.(res);\n return { ok: true, result: res };\n }\n ctx.ui?.success?.(`Sync add → \"${res.indexId}\": +${res.added} added, ${res.updated} updated`);\n return { ok: true, result: res };\n } catch (err) {\n handleError(ctx, err, input.flags.json);\n return { ok: false, error: 'Command failed' };\n }\n },\n },\n});\n"]}
|
|
@@ -51,7 +51,7 @@ var sync_delete_default = defineCommand({
|
|
|
51
51
|
const paths = input.argv ?? [];
|
|
52
52
|
if (paths.length === 0) {
|
|
53
53
|
ctx.ui?.error?.("Provide one or more paths: kb mind sync delete <paths\u2026>");
|
|
54
|
-
return {
|
|
54
|
+
return { ok: false, error: "Command failed" };
|
|
55
55
|
}
|
|
56
56
|
const blocked = confirmDestructive(ctx, {
|
|
57
57
|
confirmed: input.flags.yes,
|
|
@@ -73,13 +73,13 @@ var sync_delete_default = defineCommand({
|
|
|
73
73
|
const res = await mind.syncDelete(paths, input.flags.index);
|
|
74
74
|
if (input.flags.json) {
|
|
75
75
|
ctx.ui?.json?.(res);
|
|
76
|
-
return {
|
|
76
|
+
return { ok: true, result: res };
|
|
77
77
|
}
|
|
78
78
|
ctx.ui?.success?.(`Sync delete \u2192 "${res.indexId}": ${res.deleted} chunk(s) removed`);
|
|
79
|
-
return {
|
|
79
|
+
return { ok: true, result: res };
|
|
80
80
|
} catch (err) {
|
|
81
81
|
handleError(ctx, err, input.flags.json);
|
|
82
|
-
return {
|
|
82
|
+
return { ok: false, error: "Command failed" };
|
|
83
83
|
}
|
|
84
84
|
}
|
|
85
85
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/platform.ts","../../../src/cli/commands/sync-delete.ts"],"names":[],"mappings":";;;;;AAqBO,SAAS,aAAA,GAA8B;AAC5C,EAAA,MAAM,cAAc,cAAA,EAAe;AACnC,EAAA,MAAM,aAAa,aAAA,EAAc;AACjC,EAAA,MAAM,UAAU,UAAA,EAAW;AAC3B,EAAA,MAAM,QAAQ,QAAA,EAAS;AACvB,EAAA,MAAM,MAAM,MAAA,EAAO;AACnB,EAAA,MAAM,SAAS,SAAA,EAAU;AAEzB,EAAA,MAAM,UAAoB,EAAC;AAC3B,EAAA,IAAI,CAAC,WAAA,EAAa;AAChB,IAAA,OAAA,CAAQ,KAAK,aAAa,CAAA;AAAA,EAC5B;AACA,EAAA,IAAI,CAAC,UAAA,EAAY;AACf,IAAA,OAAA,CAAQ,KAAK,YAAY,CAAA;AAAA,EAC3B;AACA,EAAA,IAAI,CAAC,OAAA,EAAS;AACZ,IAAA,OAAA,CAAQ,KAAK,SAAS,CAAA;AAAA,EACxB;AACA,EAAA,IAAI,CAAC,KAAA,EAAO;AACV,IAAA,OAAA,CAAQ,KAAK,OAAO,CAAA;AAAA,EACtB;AACA,EAAA,IAAI,CAAC,GAAA,EAAK;AACR,IAAA,OAAA,CAAQ,KAAK,KAAK,CAAA;AAAA,EACpB;AACA,EAAA,IAAI,OAAA,CAAQ,SAAS,CAAA,EAAG;AACtB,IAAA,MAAM,IAAI,KAAA;AAAA,MACR,CAAA,iDAAA,EAAoD,OAAA,CAAQ,IAAA,CAAK,IAAI,CAAC,CAAA,wDAAA;AAAA,KAExE;AAAA,EACF;AAEA,EAAA,OAAO,EAAE,WAAA,EAA2B,UAAA,EAAyB,OAAA,EAAmB,KAAA,EAAe,KAAW,MAAA,EAAO;AACnH;AAGA,eAAsB,UAAA,GAAa;AACjC,EAAA,MAAM,GAAA,GAAM,MAAM,SAAA,EAA2B;AAC7C,EAAA,OAAO,iBAAA,CAAkB,GAAA,IAAO,EAAE,CAAA;AACpC;AAMA,eAAsB,UAAU,GAAA,EAA6B;AAC3D,EAAA,OAAO,UAAA,CAAW,aAAA,EAAc,EAAG,MAAM,UAAA,EAAW,EAAG,EAAE,GAAA,EAAK,GAAA,IAAO,OAAA,CAAQ,GAAA,EAAI,EAAG,CAAA;AACtF;;;
|
|
1
|
+
{"version":3,"sources":["../../../src/platform.ts","../../../src/cli/commands/sync-delete.ts"],"names":[],"mappings":"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","file":"sync-delete.js","sourcesContent":["/**\n * The single place the plugin touches platform hooks.\n *\n * Assembles `MindServices` from `@kb-labs/sdk` hooks and resolves the plugin\n * config. CLI commands and REST handlers both call `buildMind(...)` so they\n * drive the exact same engine.\n */\n\nimport {\n useVectorStore,\n useEmbeddings,\n useStorage,\n useCache,\n useLLM,\n useLogger,\n useConfig,\n} from '@kb-labs/sdk';\nimport { createMind, type Mind, type MindServices } from '@kb-labs/mind-core';\nimport { resolveMindConfig, type MindConfigInput } from '@kb-labs/mind-contracts';\n\n/** Build MindServices from platform hooks, failing fast on missing required adapters. */\nexport function buildServices(): MindServices {\n const vectorStore = useVectorStore();\n const embeddings = useEmbeddings();\n const storage = useStorage();\n const cache = useCache();\n const llm = useLLM();\n const logger = useLogger();\n\n const missing: string[] = [];\n if (!vectorStore) {\n missing.push('vectorStore');\n }\n if (!embeddings) {\n missing.push('embeddings');\n }\n if (!storage) {\n missing.push('storage');\n }\n if (!cache) {\n missing.push('cache');\n }\n if (!llm) {\n missing.push('llm');\n }\n if (missing.length > 0) {\n throw new Error(\n `mind: required platform adapters not configured: ${missing.join(', ')}. ` +\n `Configure them in .kb/kb.config.json under \"adapters\".`,\n );\n }\n\n return { vectorStore: vectorStore!, embeddings: embeddings!, storage: storage!, cache: cache!, llm: llm!, logger };\n}\n\n/** Resolve the plugin config from the `mind` config section. */\nexport async function loadConfig() {\n const raw = await useConfig<MindConfigInput>();\n return resolveMindConfig(raw ?? {});\n}\n\n/**\n * Convenience: build the Mind facade (services + config) in one call.\n * `cwd` is the workspace root source paths resolve against (from `ctx.cwd`).\n */\nexport async function buildMind(cwd?: string): Promise<Mind> {\n return createMind(buildServices(), await loadConfig(), { cwd: cwd ?? process.cwd() });\n}\n","import { defineCommand, handleError, confirmDestructive, type CLIInput, type PluginContextV3 } from '@kb-labs/sdk';\nimport type { CommandResult } from '@kb-labs/sdk';\nimport { type SyncDeleteFlags, type SyncResponse } from '@kb-labs/mind-contracts';\nimport { buildMind } from '../../platform';\n\nexport default defineCommand<unknown, CLIInput<SyncDeleteFlags>, SyncResponse>({\n id: 'mind:sync-delete',\n description: 'Remove documents from an index (incremental)',\n\n handler: {\n async execute(ctx: PluginContextV3, input: CLIInput<SyncDeleteFlags>): Promise<CommandResult<SyncResponse>> {\n try {\n const paths = input.argv ?? [];\n if (paths.length === 0) {\n ctx.ui?.error?.('Provide one or more paths: kb mind sync delete <paths…>');\n return { ok: false, error: 'Command failed' };\n }\n // Destructive: blocks in EVERY mode until --yes (agents get a structured\n // confirmationRequired signal with severity/recovery, not a silent delete).\n const blocked = confirmDestructive(ctx, {\n confirmed: input.flags.yes,\n isJson: input.flags.json,\n action: {\n action: 'mind sync delete',\n resource: `index \"${input.flags.index ?? 'default'}\"`,\n effect: 'removes the specified document(s)',\n severity: 'medium',\n reversible: true,\n recovery: 're-add with `kb mind sync add <paths>`',\n blastRadius: { count: paths.length, unit: 'document(s)' },\n },\n });\n if (blocked) {\n return blocked;\n }\n const mind = await buildMind(ctx.cwd);\n const res = await mind.syncDelete(paths, input.flags.index);\n if (input.flags.json) {\n ctx.ui?.json?.(res);\n return { ok: true, result: res };\n }\n ctx.ui?.success?.(`Sync delete → \"${res.indexId}\": ${res.deleted} chunk(s) removed`);\n return { ok: true, result: res };\n } catch (err) {\n handleError(ctx, err, input.flags.json);\n return { ok: false, error: 'Command failed' };\n }\n },\n },\n});\n"]}
|
|
@@ -52,11 +52,11 @@ var sync_list_default = defineCommand({
|
|
|
52
52
|
const res = await mind.syncList(input.flags.index);
|
|
53
53
|
if (input.flags.json) {
|
|
54
54
|
ctx.ui?.json?.(res);
|
|
55
|
-
return {
|
|
55
|
+
return { ok: true, result: res };
|
|
56
56
|
}
|
|
57
57
|
if (res.documents.length === 0) {
|
|
58
58
|
ctx.ui?.warn?.(`Index "${res.indexId}" has no documents.`);
|
|
59
|
-
return {
|
|
59
|
+
return { ok: true, result: res };
|
|
60
60
|
}
|
|
61
61
|
ctx.ui?.success?.(`"${res.indexId}" \u2014 ${res.documents.length} document(s)`, {
|
|
62
62
|
sections: [
|
|
@@ -66,10 +66,10 @@ var sync_list_default = defineCommand({
|
|
|
66
66
|
}
|
|
67
67
|
]
|
|
68
68
|
});
|
|
69
|
-
return {
|
|
69
|
+
return { ok: true, result: res };
|
|
70
70
|
} catch (err) {
|
|
71
71
|
handleError(ctx, err, input.flags.json);
|
|
72
|
-
return {
|
|
72
|
+
return { ok: false, error: "Command failed" };
|
|
73
73
|
}
|
|
74
74
|
}
|
|
75
75
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/platform.ts","../../../src/cli/commands/sync-list.ts"],"names":[],"mappings":";;;;;AAqBO,SAAS,aAAA,GAA8B;AAC5C,EAAA,MAAM,cAAc,cAAA,EAAe;AACnC,EAAA,MAAM,aAAa,aAAA,EAAc;AACjC,EAAA,MAAM,UAAU,UAAA,EAAW;AAC3B,EAAA,MAAM,QAAQ,QAAA,EAAS;AACvB,EAAA,MAAM,MAAM,MAAA,EAAO;AACnB,EAAA,MAAM,SAAS,SAAA,EAAU;AAEzB,EAAA,MAAM,UAAoB,EAAC;AAC3B,EAAA,IAAI,CAAC,WAAA,EAAa;AAChB,IAAA,OAAA,CAAQ,KAAK,aAAa,CAAA;AAAA,EAC5B;AACA,EAAA,IAAI,CAAC,UAAA,EAAY;AACf,IAAA,OAAA,CAAQ,KAAK,YAAY,CAAA;AAAA,EAC3B;AACA,EAAA,IAAI,CAAC,OAAA,EAAS;AACZ,IAAA,OAAA,CAAQ,KAAK,SAAS,CAAA;AAAA,EACxB;AACA,EAAA,IAAI,CAAC,KAAA,EAAO;AACV,IAAA,OAAA,CAAQ,KAAK,OAAO,CAAA;AAAA,EACtB;AACA,EAAA,IAAI,CAAC,GAAA,EAAK;AACR,IAAA,OAAA,CAAQ,KAAK,KAAK,CAAA;AAAA,EACpB;AACA,EAAA,IAAI,OAAA,CAAQ,SAAS,CAAA,EAAG;AACtB,IAAA,MAAM,IAAI,KAAA;AAAA,MACR,CAAA,iDAAA,EAAoD,OAAA,CAAQ,IAAA,CAAK,IAAI,CAAC,CAAA,wDAAA;AAAA,KAExE;AAAA,EACF;AAEA,EAAA,OAAO,EAAE,WAAA,EAA2B,UAAA,EAAyB,OAAA,EAAmB,KAAA,EAAe,KAAW,MAAA,EAAO;AACnH;AAGA,eAAsB,UAAA,GAAa;AACjC,EAAA,MAAM,GAAA,GAAM,MAAM,SAAA,EAA2B;AAC7C,EAAA,OAAO,iBAAA,CAAkB,GAAA,IAAO,EAAE,CAAA;AACpC;AAMA,eAAsB,UAAU,GAAA,EAA6B;AAC3D,EAAA,OAAO,UAAA,CAAW,aAAA,EAAc,EAAG,MAAM,UAAA,EAAW,EAAG,EAAE,GAAA,EAAK,GAAA,IAAO,OAAA,CAAQ,GAAA,EAAI,EAAG,CAAA;AACtF;;;
|
|
1
|
+
{"version":3,"sources":["../../../src/platform.ts","../../../src/cli/commands/sync-list.ts"],"names":[],"mappings":"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","file":"sync-list.js","sourcesContent":["/**\n * The single place the plugin touches platform hooks.\n *\n * Assembles `MindServices` from `@kb-labs/sdk` hooks and resolves the plugin\n * config. CLI commands and REST handlers both call `buildMind(...)` so they\n * drive the exact same engine.\n */\n\nimport {\n useVectorStore,\n useEmbeddings,\n useStorage,\n useCache,\n useLLM,\n useLogger,\n useConfig,\n} from '@kb-labs/sdk';\nimport { createMind, type Mind, type MindServices } from '@kb-labs/mind-core';\nimport { resolveMindConfig, type MindConfigInput } from '@kb-labs/mind-contracts';\n\n/** Build MindServices from platform hooks, failing fast on missing required adapters. */\nexport function buildServices(): MindServices {\n const vectorStore = useVectorStore();\n const embeddings = useEmbeddings();\n const storage = useStorage();\n const cache = useCache();\n const llm = useLLM();\n const logger = useLogger();\n\n const missing: string[] = [];\n if (!vectorStore) {\n missing.push('vectorStore');\n }\n if (!embeddings) {\n missing.push('embeddings');\n }\n if (!storage) {\n missing.push('storage');\n }\n if (!cache) {\n missing.push('cache');\n }\n if (!llm) {\n missing.push('llm');\n }\n if (missing.length > 0) {\n throw new Error(\n `mind: required platform adapters not configured: ${missing.join(', ')}. ` +\n `Configure them in .kb/kb.config.json under \"adapters\".`,\n );\n }\n\n return { vectorStore: vectorStore!, embeddings: embeddings!, storage: storage!, cache: cache!, llm: llm!, logger };\n}\n\n/** Resolve the plugin config from the `mind` config section. */\nexport async function loadConfig() {\n const raw = await useConfig<MindConfigInput>();\n return resolveMindConfig(raw ?? {});\n}\n\n/**\n * Convenience: build the Mind facade (services + config) in one call.\n * `cwd` is the workspace root source paths resolve against (from `ctx.cwd`).\n */\nexport async function buildMind(cwd?: string): Promise<Mind> {\n return createMind(buildServices(), await loadConfig(), { cwd: cwd ?? process.cwd() });\n}\n","import { defineCommand, handleError, type CLIInput, type PluginContextV3 } from '@kb-labs/sdk';\nimport type { CommandResult } from '@kb-labs/sdk';\nimport { type SyncListFlags, type SyncListResponse } from '@kb-labs/mind-contracts';\nimport { buildMind } from '../../platform';\n\nexport default defineCommand<unknown, CLIInput<SyncListFlags>, SyncListResponse>({\n id: 'mind:sync-list',\n description: 'List documents synced into an index',\n\n handler: {\n async execute(ctx: PluginContextV3, input: CLIInput<SyncListFlags>): Promise<CommandResult<SyncListResponse>> {\n try {\n const mind = await buildMind(ctx.cwd);\n const res = await mind.syncList(input.flags.index);\n if (input.flags.json) {\n ctx.ui?.json?.(res);\n return { ok: true, result: res };\n }\n if (res.documents.length === 0) {\n ctx.ui?.warn?.(`Index \"${res.indexId}\" has no documents.`);\n return { ok: true, result: res };\n }\n ctx.ui?.success?.(`\"${res.indexId}\" — ${res.documents.length} document(s)`, {\n sections: [\n {\n header: 'Documents',\n items: res.documents.map((d) => `${d.path} (${d.chunks} chunk(s))`),\n },\n ],\n });\n return { ok: true, result: res };\n } catch (err) {\n handleError(ctx, err, input.flags.json);\n return { ok: false, error: 'Command failed' };\n }\n },\n },\n});\n"]}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import * as _kb_labs_shared_command_kit from '@kb-labs/shared-command-kit';
|
|
2
2
|
import { CLIInput } from '@kb-labs/sdk';
|
|
3
3
|
|
|
4
|
-
declare const _default: _kb_labs_shared_command_kit.CommandHandlerV3<unknown, CLIInput<any>,
|
|
5
|
-
exitCode: number;
|
|
6
|
-
}>;
|
|
4
|
+
declare const _default: _kb_labs_shared_command_kit.CommandHandlerV3<unknown, CLIInput<any>, unknown>;
|
|
7
5
|
|
|
8
6
|
export { _default as default };
|
|
@@ -52,15 +52,15 @@ var sync_status_default = defineCommand({
|
|
|
52
52
|
const res = await mind.syncStatus(input.flags.index);
|
|
53
53
|
if (input.flags.json) {
|
|
54
54
|
ctx.ui?.json?.(res);
|
|
55
|
-
return {
|
|
55
|
+
return { ok: true };
|
|
56
56
|
}
|
|
57
57
|
ctx.ui?.success?.(
|
|
58
58
|
`"${res.indexId}": ${res.documents} doc(s), ${res.chunks} chunk(s)` + (res.lastIndexedAt ? `, updated ${res.lastIndexedAt}` : "") + (res.stale ? " (stale)" : "")
|
|
59
59
|
);
|
|
60
|
-
return {
|
|
60
|
+
return { ok: true };
|
|
61
61
|
} catch (err) {
|
|
62
62
|
handleError(ctx, err, input.flags.json);
|
|
63
|
-
return {
|
|
63
|
+
return { ok: false, error: "Command failed" };
|
|
64
64
|
}
|
|
65
65
|
}
|
|
66
66
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/platform.ts","../../../src/cli/commands/sync-status.ts"],"names":[],"mappings":";;;;;AAqBO,SAAS,aAAA,GAA8B;AAC5C,EAAA,MAAM,cAAc,cAAA,EAAe;AACnC,EAAA,MAAM,aAAa,aAAA,EAAc;AACjC,EAAA,MAAM,UAAU,UAAA,EAAW;AAC3B,EAAA,MAAM,QAAQ,QAAA,EAAS;AACvB,EAAA,MAAM,MAAM,MAAA,EAAO;AACnB,EAAA,MAAM,SAAS,SAAA,EAAU;AAEzB,EAAA,MAAM,UAAoB,EAAC;AAC3B,EAAA,IAAI,CAAC,WAAA,EAAa;AAChB,IAAA,OAAA,CAAQ,KAAK,aAAa,CAAA;AAAA,EAC5B;AACA,EAAA,IAAI,CAAC,UAAA,EAAY;AACf,IAAA,OAAA,CAAQ,KAAK,YAAY,CAAA;AAAA,EAC3B;AACA,EAAA,IAAI,CAAC,OAAA,EAAS;AACZ,IAAA,OAAA,CAAQ,KAAK,SAAS,CAAA;AAAA,EACxB;AACA,EAAA,IAAI,CAAC,KAAA,EAAO;AACV,IAAA,OAAA,CAAQ,KAAK,OAAO,CAAA;AAAA,EACtB;AACA,EAAA,IAAI,CAAC,GAAA,EAAK;AACR,IAAA,OAAA,CAAQ,KAAK,KAAK,CAAA;AAAA,EACpB;AACA,EAAA,IAAI,OAAA,CAAQ,SAAS,CAAA,EAAG;AACtB,IAAA,MAAM,IAAI,KAAA;AAAA,MACR,CAAA,iDAAA,EAAoD,OAAA,CAAQ,IAAA,CAAK,IAAI,CAAC,CAAA,wDAAA;AAAA,KAExE;AAAA,EACF;AAEA,EAAA,OAAO,EAAE,WAAA,EAA2B,UAAA,EAAyB,OAAA,EAAmB,KAAA,EAAe,KAAW,MAAA,EAAO;AACnH;AAGA,eAAsB,UAAA,GAAa;AACjC,EAAA,MAAM,GAAA,GAAM,MAAM,SAAA,EAA2B;AAC7C,EAAA,OAAO,iBAAA,CAAkB,GAAA,IAAO,EAAE,CAAA;AACpC;AAMA,eAAsB,UAAU,GAAA,EAA6B;AAC3D,EAAA,OAAO,UAAA,CAAW,aAAA,EAAc,EAAG,MAAM,UAAA,EAAW,EAAG,EAAE,GAAA,EAAK,GAAA,IAAO,OAAA,CAAQ,GAAA,EAAI,EAAG,CAAA;AACtF;;;AC/DA,IAAO,sBAAQ,aAAA,
|
|
1
|
+
{"version":3,"sources":["../../../src/platform.ts","../../../src/cli/commands/sync-status.ts"],"names":[],"mappings":"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","file":"sync-status.js","sourcesContent":["/**\n * The single place the plugin touches platform hooks.\n *\n * Assembles `MindServices` from `@kb-labs/sdk` hooks and resolves the plugin\n * config. CLI commands and REST handlers both call `buildMind(...)` so they\n * drive the exact same engine.\n */\n\nimport {\n useVectorStore,\n useEmbeddings,\n useStorage,\n useCache,\n useLLM,\n useLogger,\n useConfig,\n} from '@kb-labs/sdk';\nimport { createMind, type Mind, type MindServices } from '@kb-labs/mind-core';\nimport { resolveMindConfig, type MindConfigInput } from '@kb-labs/mind-contracts';\n\n/** Build MindServices from platform hooks, failing fast on missing required adapters. */\nexport function buildServices(): MindServices {\n const vectorStore = useVectorStore();\n const embeddings = useEmbeddings();\n const storage = useStorage();\n const cache = useCache();\n const llm = useLLM();\n const logger = useLogger();\n\n const missing: string[] = [];\n if (!vectorStore) {\n missing.push('vectorStore');\n }\n if (!embeddings) {\n missing.push('embeddings');\n }\n if (!storage) {\n missing.push('storage');\n }\n if (!cache) {\n missing.push('cache');\n }\n if (!llm) {\n missing.push('llm');\n }\n if (missing.length > 0) {\n throw new Error(\n `mind: required platform adapters not configured: ${missing.join(', ')}. ` +\n `Configure them in .kb/kb.config.json under \"adapters\".`,\n );\n }\n\n return { vectorStore: vectorStore!, embeddings: embeddings!, storage: storage!, cache: cache!, llm: llm!, logger };\n}\n\n/** Resolve the plugin config from the `mind` config section. */\nexport async function loadConfig() {\n const raw = await useConfig<MindConfigInput>();\n return resolveMindConfig(raw ?? {});\n}\n\n/**\n * Convenience: build the Mind facade (services + config) in one call.\n * `cwd` is the workspace root source paths resolve against (from `ctx.cwd`).\n */\nexport async function buildMind(cwd?: string): Promise<Mind> {\n return createMind(buildServices(), await loadConfig(), { cwd: cwd ?? process.cwd() });\n}\n","import { defineCommand, handleError, type CLIInput, type PluginContextV3 , type CommandResult} from '@kb-labs/sdk';\nimport { type SyncListFlags } from '@kb-labs/mind-contracts';\nimport { buildMind } from '../../platform';\n\nexport default defineCommand<unknown, CLIInput<SyncListFlags>, unknown>({\n id: 'mind:sync-status',\n description: 'Show sync health for an index',\n\n handler: {\n async execute(ctx: PluginContextV3, input: CLIInput<SyncListFlags>): Promise<CommandResult> {\n try {\n const mind = await buildMind(ctx.cwd);\n const res = await mind.syncStatus(input.flags.index);\n if (input.flags.json) {\n ctx.ui?.json?.(res);\n return { ok: true };\n }\n ctx.ui?.success?.(\n `\"${res.indexId}\": ${res.documents} doc(s), ${res.chunks} chunk(s)` +\n (res.lastIndexedAt ? `, updated ${res.lastIndexedAt}` : '') +\n (res.stale ? ' (stale)' : ''),\n );\n return { ok: true };\n } catch (err) {\n handleError(ctx, err, input.flags.json);\n return { ok: false, error: 'Command failed' };\n }\n },\n },\n});\n"]}
|
|
@@ -51,19 +51,19 @@ var sync_update_default = defineCommand({
|
|
|
51
51
|
const paths = input.argv ?? [];
|
|
52
52
|
if (paths.length === 0) {
|
|
53
53
|
ctx.ui?.error?.("Provide one or more paths: kb mind sync update <paths\u2026>");
|
|
54
|
-
return {
|
|
54
|
+
return { ok: false, error: "Command failed" };
|
|
55
55
|
}
|
|
56
56
|
const mind = await buildMind(ctx.cwd);
|
|
57
57
|
const res = await mind.syncUpdate(paths, input.flags.index);
|
|
58
58
|
if (input.flags.json) {
|
|
59
59
|
ctx.ui?.json?.(res);
|
|
60
|
-
return {
|
|
60
|
+
return { ok: true, result: res };
|
|
61
61
|
}
|
|
62
62
|
ctx.ui?.success?.(`Sync update \u2192 "${res.indexId}": ${res.updated} updated`);
|
|
63
|
-
return {
|
|
63
|
+
return { ok: true, result: res };
|
|
64
64
|
} catch (err) {
|
|
65
65
|
handleError(ctx, err, input.flags.json);
|
|
66
|
-
return {
|
|
66
|
+
return { ok: false, error: "Command failed" };
|
|
67
67
|
}
|
|
68
68
|
}
|
|
69
69
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/platform.ts","../../../src/cli/commands/sync-update.ts"],"names":[],"mappings":";;;;;AAqBO,SAAS,aAAA,GAA8B;AAC5C,EAAA,MAAM,cAAc,cAAA,EAAe;AACnC,EAAA,MAAM,aAAa,aAAA,EAAc;AACjC,EAAA,MAAM,UAAU,UAAA,EAAW;AAC3B,EAAA,MAAM,QAAQ,QAAA,EAAS;AACvB,EAAA,MAAM,MAAM,MAAA,EAAO;AACnB,EAAA,MAAM,SAAS,SAAA,EAAU;AAEzB,EAAA,MAAM,UAAoB,EAAC;AAC3B,EAAA,IAAI,CAAC,WAAA,EAAa;AAChB,IAAA,OAAA,CAAQ,KAAK,aAAa,CAAA;AAAA,EAC5B;AACA,EAAA,IAAI,CAAC,UAAA,EAAY;AACf,IAAA,OAAA,CAAQ,KAAK,YAAY,CAAA;AAAA,EAC3B;AACA,EAAA,IAAI,CAAC,OAAA,EAAS;AACZ,IAAA,OAAA,CAAQ,KAAK,SAAS,CAAA;AAAA,EACxB;AACA,EAAA,IAAI,CAAC,KAAA,EAAO;AACV,IAAA,OAAA,CAAQ,KAAK,OAAO,CAAA;AAAA,EACtB;AACA,EAAA,IAAI,CAAC,GAAA,EAAK;AACR,IAAA,OAAA,CAAQ,KAAK,KAAK,CAAA;AAAA,EACpB;AACA,EAAA,IAAI,OAAA,CAAQ,SAAS,CAAA,EAAG;AACtB,IAAA,MAAM,IAAI,KAAA;AAAA,MACR,CAAA,iDAAA,EAAoD,OAAA,CAAQ,IAAA,CAAK,IAAI,CAAC,CAAA,wDAAA;AAAA,KAExE;AAAA,EACF;AAEA,EAAA,OAAO,EAAE,WAAA,EAA2B,UAAA,EAAyB,OAAA,EAAmB,KAAA,EAAe,KAAW,MAAA,EAAO;AACnH;AAGA,eAAsB,UAAA,GAAa;AACjC,EAAA,MAAM,GAAA,GAAM,MAAM,SAAA,EAA2B;AAC7C,EAAA,OAAO,iBAAA,CAAkB,GAAA,IAAO,EAAE,CAAA;AACpC;AAMA,eAAsB,UAAU,GAAA,EAA6B;AAC3D,EAAA,OAAO,UAAA,CAAW,aAAA,EAAc,EAAG,MAAM,UAAA,EAAW,EAAG,EAAE,GAAA,EAAK,GAAA,IAAO,OAAA,CAAQ,GAAA,EAAI,EAAG,CAAA;AACtF;;;
|
|
1
|
+
{"version":3,"sources":["../../../src/platform.ts","../../../src/cli/commands/sync-update.ts"],"names":[],"mappings":"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","file":"sync-update.js","sourcesContent":["/**\n * The single place the plugin touches platform hooks.\n *\n * Assembles `MindServices` from `@kb-labs/sdk` hooks and resolves the plugin\n * config. CLI commands and REST handlers both call `buildMind(...)` so they\n * drive the exact same engine.\n */\n\nimport {\n useVectorStore,\n useEmbeddings,\n useStorage,\n useCache,\n useLLM,\n useLogger,\n useConfig,\n} from '@kb-labs/sdk';\nimport { createMind, type Mind, type MindServices } from '@kb-labs/mind-core';\nimport { resolveMindConfig, type MindConfigInput } from '@kb-labs/mind-contracts';\n\n/** Build MindServices from platform hooks, failing fast on missing required adapters. */\nexport function buildServices(): MindServices {\n const vectorStore = useVectorStore();\n const embeddings = useEmbeddings();\n const storage = useStorage();\n const cache = useCache();\n const llm = useLLM();\n const logger = useLogger();\n\n const missing: string[] = [];\n if (!vectorStore) {\n missing.push('vectorStore');\n }\n if (!embeddings) {\n missing.push('embeddings');\n }\n if (!storage) {\n missing.push('storage');\n }\n if (!cache) {\n missing.push('cache');\n }\n if (!llm) {\n missing.push('llm');\n }\n if (missing.length > 0) {\n throw new Error(\n `mind: required platform adapters not configured: ${missing.join(', ')}. ` +\n `Configure them in .kb/kb.config.json under \"adapters\".`,\n );\n }\n\n return { vectorStore: vectorStore!, embeddings: embeddings!, storage: storage!, cache: cache!, llm: llm!, logger };\n}\n\n/** Resolve the plugin config from the `mind` config section. */\nexport async function loadConfig() {\n const raw = await useConfig<MindConfigInput>();\n return resolveMindConfig(raw ?? {});\n}\n\n/**\n * Convenience: build the Mind facade (services + config) in one call.\n * `cwd` is the workspace root source paths resolve against (from `ctx.cwd`).\n */\nexport async function buildMind(cwd?: string): Promise<Mind> {\n return createMind(buildServices(), await loadConfig(), { cwd: cwd ?? process.cwd() });\n}\n","import { defineCommand, handleError, type CLIInput, type PluginContextV3 } from '@kb-labs/sdk';\nimport type { CommandResult } from '@kb-labs/sdk';\nimport { type SyncPathsFlags, type SyncResponse } from '@kb-labs/mind-contracts';\nimport { buildMind } from '../../platform';\n\nexport default defineCommand<unknown, CLIInput<SyncPathsFlags>, SyncResponse>({\n id: 'mind:sync-update',\n description: 'Re-index updated documents (incremental)',\n\n handler: {\n async execute(ctx: PluginContextV3, input: CLIInput<SyncPathsFlags>): Promise<CommandResult<SyncResponse>> {\n try {\n const paths = input.argv ?? [];\n if (paths.length === 0) {\n ctx.ui?.error?.('Provide one or more paths: kb mind sync update <paths…>');\n return { ok: false, error: 'Command failed' };\n }\n const mind = await buildMind(ctx.cwd);\n const res = await mind.syncUpdate(paths, input.flags.index);\n if (input.flags.json) {\n ctx.ui?.json?.(res);\n return { ok: true, result: res };\n }\n ctx.ui?.success?.(`Sync update → \"${res.indexId}\": ${res.updated} updated`);\n return { ok: true, result: res };\n } catch (err) {\n handleError(ctx, err, input.flags.json);\n return { ok: false, error: 'Command failed' };\n }\n },\n },\n});\n"]}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kb-labs/mind-entry",
|
|
3
3
|
"description": "Manifest, CLI commands and REST handlers for KB Labs Mind (RAG) plugin.",
|
|
4
|
-
"version": "2.
|
|
4
|
+
"version": "2.111.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
7
7
|
"types": "./dist/index.d.ts",
|
|
@@ -34,8 +34,8 @@
|
|
|
34
34
|
"type-check": "tsc --noEmit"
|
|
35
35
|
},
|
|
36
36
|
"dependencies": {
|
|
37
|
-
"@kb-labs/mind-contracts": "^2.
|
|
38
|
-
"@kb-labs/mind-core": "^2.
|
|
37
|
+
"@kb-labs/mind-contracts": "^2.111.0",
|
|
38
|
+
"@kb-labs/mind-core": "^2.111.0",
|
|
39
39
|
"@kb-labs/sdk": "workspace:*"
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {
|