@kb-labs/mind-entry 2.119.0-canary.e120bc0ee → 2.119.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.map +1 -1
- package/dist/cli/commands/drop.js.map +1 -1
- package/dist/cli/commands/explore.js.map +1 -1
- package/dist/cli/commands/index.js.map +1 -1
- package/dist/cli/commands/reindex.js.map +1 -1
- package/dist/cli/commands/search.js.map +1 -1
- package/dist/cli/commands/status.js.map +1 -1
- package/dist/cli/commands/sync-add.js.map +1 -1
- package/dist/cli/commands/sync-delete.js.map +1 -1
- package/dist/cli/commands/sync-list.js.map +1 -1
- package/dist/cli/commands/sync-status.js.map +1 -1
- package/dist/cli/commands/sync-update.js.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/manifest.js.map +1 -1
- package/dist/rest/handlers/drop.js.map +1 -1
- package/dist/rest/handlers/explore.js.map +1 -1
- package/dist/rest/handlers/health.js.map +1 -1
- package/dist/rest/handlers/index.js.map +1 -1
- package/dist/rest/handlers/query.js.map +1 -1
- package/dist/rest/handlers/reindex.js.map +1 -1
- package/dist/rest/handlers/search.js.map +1 -1
- package/dist/rest/handlers/status.js.map +1 -1
- package/dist/rest/handlers/sync-add.js.map +1 -1
- package/dist/rest/handlers/sync-delete.js.map +1 -1
- package/dist/rest/handlers/sync-list.js.map +1 -1
- package/dist/rest/handlers/sync-status.js.map +1 -1
- package/dist/rest/handlers/sync-update.js.map +1 -1
- package/package.json +5 -5
- package/dist/manifest.json +0 -606
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["
|
|
1
|
+
{"version":3,"sources":["../../../../home/runner/work/kb-labs/kb-labs/plugins/mind/entry/src/platform.ts","../../../../home/runner/work/kb-labs/kb-labs/plugins/mind/entry/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"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["
|
|
1
|
+
{"version":3,"sources":["../../../../home/runner/work/kb-labs/kb-labs/plugins/mind/entry/src/platform.ts","../../../../home/runner/work/kb-labs/kb-labs/plugins/mind/entry/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"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["
|
|
1
|
+
{"version":3,"sources":["../../../../home/runner/work/kb-labs/kb-labs/plugins/mind/entry/src/platform.ts","../../../../home/runner/work/kb-labs/kb-labs/plugins/mind/entry/src/cli/commands/explore.ts"],"names":[],"mappings":"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","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"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["
|
|
1
|
+
{"version":3,"sources":["../../../../home/runner/work/kb-labs/kb-labs/plugins/mind/entry/src/platform.ts","../../../../home/runner/work/kb-labs/kb-labs/plugins/mind/entry/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"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["
|
|
1
|
+
{"version":3,"sources":["../../../../home/runner/work/kb-labs/kb-labs/plugins/mind/entry/src/platform.ts","../../../../home/runner/work/kb-labs/kb-labs/plugins/mind/entry/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"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["
|
|
1
|
+
{"version":3,"sources":["../../../../home/runner/work/kb-labs/kb-labs/plugins/mind/entry/src/platform.ts","../../../../home/runner/work/kb-labs/kb-labs/plugins/mind/entry/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"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["
|
|
1
|
+
{"version":3,"sources":["../../../../home/runner/work/kb-labs/kb-labs/plugins/mind/entry/src/platform.ts","../../../../home/runner/work/kb-labs/kb-labs/plugins/mind/entry/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"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["
|
|
1
|
+
{"version":3,"sources":["../../../../home/runner/work/kb-labs/kb-labs/plugins/mind/entry/src/platform.ts","../../../../home/runner/work/kb-labs/kb-labs/plugins/mind/entry/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"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["
|
|
1
|
+
{"version":3,"sources":["../../../../home/runner/work/kb-labs/kb-labs/plugins/mind/entry/src/platform.ts","../../../../home/runner/work/kb-labs/kb-labs/plugins/mind/entry/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"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["
|
|
1
|
+
{"version":3,"sources":["../../../../home/runner/work/kb-labs/kb-labs/plugins/mind/entry/src/platform.ts","../../../../home/runner/work/kb-labs/kb-labs/plugins/mind/entry/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 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["
|
|
1
|
+
{"version":3,"sources":["../../../../home/runner/work/kb-labs/kb-labs/plugins/mind/entry/src/platform.ts","../../../../home/runner/work/kb-labs/kb-labs/plugins/mind/entry/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"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["
|
|
1
|
+
{"version":3,"sources":["../../../../home/runner/work/kb-labs/kb-labs/plugins/mind/entry/src/platform.ts","../../../../home/runner/work/kb-labs/kb-labs/plugins/mind/entry/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/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/manifest.ts"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["/**\n * KB Labs Mind Plugin — Manifest (kb.plugin/3)\n *\n * Phase 0 placeholder: discovered and built, but exposes no commands/routes yet.\n * CLI commands, REST routes and Studio pages are filled in across later phases.\n *\n * All imports come from `@kb-labs/sdk` only — no platform internals.\n */\n\nimport {\n combinePermissions,\n kbPlatformPreset,\n defineCommandFlags,\n} from '@kb-labs/sdk';\nimport {\n MIND_BASE_PATH,\n MIND_ROUTES,\n indexFlags,\n searchFlags,\n askFlags,\n exploreFlags,\n dropFlags,\n statusFlags,\n syncPathsFlags,\n syncDeleteFlags,\n syncListFlags,\n reindexFlags,\n} from '@kb-labs/mind-contracts';\n\nconst pluginPermissions = combinePermissions()\n .with(kbPlatformPreset)\n .withFs({\n mode: 'readWrite',\n // Distinct from old `@kb-labs/mind` (.kb/mind/**) so the two coexist\n // during development; renamed to .kb/mind/** at the Phase 6 swap.\n allow: ['.kb/mind/**'],\n })\n .withPlatform({\n llm: true,\n embeddings: true,\n vectorStore: { collections: ['mind:'] },\n cache: ['mind:'],\n storage: true,\n analytics: true,\n })\n .withQuotas({\n timeoutMs: 600000,\n memoryMb: 512,\n })\n .build();\n\nexport const manifest = {\n schema: 'kb.plugin/3',\n id: '@kb-labs/mind',\n version: '0.1.0',\n configSection: 'mind',\n\n display: {\n name: 'Mind (RAG)',\n description: 'Retrieval-augmented knowledge engine — index and query your codebase and docs',\n tags: ['rag', 'search', 'embeddings', 'ai', 'mind'],\n },\n\n platform: {\n requires: ['cache', 'storage'],\n optional: ['llm', 'embeddings', 'vectorStore', 'analytics'],\n },\n\n permissions: pluginPermissions,\n\n cli: {\n groupMeta: [{ path: 'mind', describe: 'Mind — RAG index & search' }],\n commands: [\n {\n path: 'mind index',\n category: 'Index',\n operationType: 'mutate' as const,\n describe: 'Build or refresh a Mind index from source files.',\n handler: './cli/commands/index.js#default',\n flags: defineCommandFlags(indexFlags.schema),\n examples: ['kb mind index', 'kb mind index --index code --scope src/'],\n },\n {\n path: 'mind search',\n category: 'Query',\n operationType: 'read' as const,\n describe: 'Semantic + keyword search over a Mind index.',\n handler: './cli/commands/search.js#default',\n flags: defineCommandFlags(searchFlags.schema),\n examples: [\n 'kb mind search --text \"how does login work\"',\n 'kb mind search --text \"ClassName\" --index code --agent',\n ],\n },\n {\n path: 'mind ask',\n category: 'Query',\n operationType: 'read' as const,\n describe: 'Ask a question and get a grounded answer with citations.',\n handler: './cli/commands/ask.js#default',\n flags: defineCommandFlags(askFlags.schema),\n examples: [\n 'kb mind ask --text \"how does auth work\" --index code',\n 'kb mind ask --text \"billing flow\" --mode thinking --agent',\n ],\n },\n {\n path: 'mind explore',\n category: 'Query',\n operationType: 'read' as const,\n describe: 'Task-orientation map — where to start and how involved a task looks.',\n handler: './cli/commands/explore.js#default',\n flags: defineCommandFlags(exploreFlags.schema),\n examples: [\n 'kb mind explore --task \"add rate limiting to the gateway\" --index code',\n 'kb mind explore --task \"where is auth handled\" --format json',\n ],\n },\n {\n path: 'mind reindex',\n category: 'Index',\n operationType: 'mutate' as const,\n describe: 'Rebuild an index from source files.',\n handler: './cli/commands/reindex.js#default',\n flags: defineCommandFlags(reindexFlags.schema),\n examples: ['kb mind reindex --index code --full'],\n },\n {\n path: 'mind drop',\n category: 'Index',\n operationType: 'mutate' as const,\n describe: 'Drop an entire index (all vectors + manifest).',\n handler: './cli/commands/drop.js#default',\n flags: defineCommandFlags(dropFlags.schema),\n examples: ['kb mind drop --index kbrt --yes'],\n },\n {\n path: 'mind sync add',\n category: 'Sync',\n operationType: 'mutate' as const,\n describe: 'Add documents to an index (incremental).',\n handler: './cli/commands/sync-add.js#default',\n flags: defineCommandFlags(syncPathsFlags.schema),\n examples: ['kb mind sync add src/new.ts --index code'],\n },\n {\n path: 'mind sync update',\n category: 'Sync',\n operationType: 'mutate' as const,\n describe: 'Re-index updated documents (incremental).',\n handler: './cli/commands/sync-update.js#default',\n flags: defineCommandFlags(syncPathsFlags.schema),\n examples: ['kb mind sync update src/auth.ts --index code'],\n },\n {\n path: 'mind sync delete',\n category: 'Sync',\n operationType: 'mutate' as const,\n describe: 'Remove documents from an index (incremental).',\n handler: './cli/commands/sync-delete.js#default',\n flags: defineCommandFlags(syncDeleteFlags.schema),\n examples: ['kb mind sync delete src/old.ts --index code'],\n },\n {\n path: 'mind sync list',\n category: 'Sync',\n operationType: 'read' as const,\n describe: 'List documents synced into an index.',\n handler: './cli/commands/sync-list.js#default',\n flags: defineCommandFlags(syncListFlags.schema),\n examples: ['kb mind sync list --index code'],\n },\n {\n // Leaf must be unique across the group tree: `mind status` already\n // uses leaf `status`, so the sync variant uses `health`.\n path: 'mind sync health',\n category: 'Sync',\n operationType: 'read' as const,\n describe: 'Show sync health for an index.',\n handler: './cli/commands/sync-status.js#default',\n flags: defineCommandFlags(syncListFlags.schema),\n examples: ['kb mind sync health --index code'],\n },\n {\n path: 'mind status',\n category: 'Index',\n operationType: 'read' as const,\n describe: 'Show Mind index status.',\n handler: './cli/commands/status.js#default',\n flags: defineCommandFlags(statusFlags.schema),\n examples: ['kb mind status', 'kb mind status --index code'],\n },\n ],\n },\n\n rest: {\n basePath: MIND_BASE_PATH,\n routes: [\n {\n method: 'POST',\n path: MIND_ROUTES.INDEX,\n handler: './rest/handlers/index.js#default',\n input: { zod: '@kb-labs/mind-contracts#IndexRequestSchema' },\n output: { zod: '@kb-labs/mind-contracts#IndexResponseSchema' },\n timeoutMs: 600000,\n },\n {\n method: 'POST',\n path: MIND_ROUTES.SEARCH,\n handler: './rest/handlers/search.js#default',\n input: { zod: '@kb-labs/mind-contracts#SearchRequestSchema' },\n output: { zod: '@kb-labs/mind-contracts#SearchResponseSchema' },\n },\n {\n method: 'POST',\n path: MIND_ROUTES.QUERY,\n handler: './rest/handlers/query.js#default',\n input: { zod: '@kb-labs/mind-contracts#QueryRequestSchema' },\n output: { zod: '@kb-labs/mind-contracts#AgentResponseSchema' },\n timeoutMs: 120000,\n },\n {\n method: 'POST',\n path: MIND_ROUTES.EXPLORE,\n handler: './rest/handlers/explore.js#default',\n input: { zod: '@kb-labs/mind-contracts#ExploreRequestSchema' },\n output: { zod: '@kb-labs/mind-contracts#ExploreResponseSchema' },\n timeoutMs: 120000,\n },\n {\n method: 'DELETE',\n path: MIND_ROUTES.DROP,\n handler: './rest/handlers/drop.js#default',\n input: { zod: '@kb-labs/mind-contracts#DropRequestSchema' },\n output: { zod: '@kb-labs/mind-contracts#DropResponseSchema' },\n },\n {\n method: 'GET',\n path: MIND_ROUTES.STATUS,\n handler: './rest/handlers/status.js#default',\n output: { zod: '@kb-labs/mind-contracts#StatusResponseSchema' },\n },\n {\n method: 'GET',\n path: MIND_ROUTES.HEALTH,\n handler: './rest/handlers/health.js#default',\n output: { zod: '@kb-labs/mind-contracts#HealthResponseSchema' },\n },\n {\n method: 'POST',\n path: MIND_ROUTES.REINDEX,\n handler: './rest/handlers/reindex.js#default',\n input: { zod: '@kb-labs/mind-contracts#ReindexRequestSchema' },\n output: { zod: '@kb-labs/mind-contracts#IndexResponseSchema' },\n timeoutMs: 600000,\n },\n {\n method: 'POST',\n path: MIND_ROUTES.SYNC_ADD,\n handler: './rest/handlers/sync-add.js#default',\n input: { zod: '@kb-labs/mind-contracts#SyncAddRequestSchema' },\n output: { zod: '@kb-labs/mind-contracts#SyncResponseSchema' },\n },\n {\n method: 'POST',\n path: MIND_ROUTES.SYNC_UPDATE,\n handler: './rest/handlers/sync-update.js#default',\n input: { zod: '@kb-labs/mind-contracts#SyncUpdateRequestSchema' },\n output: { zod: '@kb-labs/mind-contracts#SyncResponseSchema' },\n },\n {\n method: 'POST',\n path: MIND_ROUTES.SYNC_DELETE,\n handler: './rest/handlers/sync-delete.js#default',\n input: { zod: '@kb-labs/mind-contracts#SyncDeleteRequestSchema' },\n output: { zod: '@kb-labs/mind-contracts#SyncResponseSchema' },\n },\n {\n method: 'GET',\n path: MIND_ROUTES.SYNC_LIST,\n handler: './rest/handlers/sync-list.js#default',\n output: { zod: '@kb-labs/mind-contracts#SyncListResponseSchema' },\n },\n {\n method: 'GET',\n path: MIND_ROUTES.SYNC_STATUS,\n handler: './rest/handlers/sync-status.js#default',\n output: { zod: '@kb-labs/mind-contracts#SyncStatusResponseSchema' },\n },\n ],\n },\n};\n\nexport default manifest;\n"]}
|
|
1
|
+
{"version":3,"sources":["../../home/runner/work/kb-labs/kb-labs/plugins/mind/entry/src/manifest.ts"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["/**\n * KB Labs Mind Plugin — Manifest (kb.plugin/3)\n *\n * Phase 0 placeholder: discovered and built, but exposes no commands/routes yet.\n * CLI commands, REST routes and Studio pages are filled in across later phases.\n *\n * All imports come from `@kb-labs/sdk` only — no platform internals.\n */\n\nimport {\n combinePermissions,\n kbPlatformPreset,\n defineCommandFlags,\n} from '@kb-labs/sdk';\nimport {\n MIND_BASE_PATH,\n MIND_ROUTES,\n indexFlags,\n searchFlags,\n askFlags,\n exploreFlags,\n dropFlags,\n statusFlags,\n syncPathsFlags,\n syncDeleteFlags,\n syncListFlags,\n reindexFlags,\n} from '@kb-labs/mind-contracts';\n\nconst pluginPermissions = combinePermissions()\n .with(kbPlatformPreset)\n .withFs({\n mode: 'readWrite',\n // Distinct from old `@kb-labs/mind` (.kb/mind/**) so the two coexist\n // during development; renamed to .kb/mind/** at the Phase 6 swap.\n allow: ['.kb/mind/**'],\n })\n .withPlatform({\n llm: true,\n embeddings: true,\n vectorStore: { collections: ['mind:'] },\n cache: ['mind:'],\n storage: true,\n analytics: true,\n })\n .withQuotas({\n timeoutMs: 600000,\n memoryMb: 512,\n })\n .build();\n\nexport const manifest = {\n schema: 'kb.plugin/3',\n id: '@kb-labs/mind',\n version: '0.1.0',\n configSection: 'mind',\n\n display: {\n name: 'Mind (RAG)',\n description: 'Retrieval-augmented knowledge engine — index and query your codebase and docs',\n tags: ['rag', 'search', 'embeddings', 'ai', 'mind'],\n },\n\n platform: {\n requires: ['cache', 'storage'],\n optional: ['llm', 'embeddings', 'vectorStore', 'analytics'],\n },\n\n permissions: pluginPermissions,\n\n cli: {\n groupMeta: [{ path: 'mind', describe: 'Mind — RAG index & search' }],\n commands: [\n {\n path: 'mind index',\n category: 'Index',\n operationType: 'mutate' as const,\n describe: 'Build or refresh a Mind index from source files.',\n handler: './cli/commands/index.js#default',\n flags: defineCommandFlags(indexFlags.schema),\n examples: ['kb mind index', 'kb mind index --index code --scope src/'],\n },\n {\n path: 'mind search',\n category: 'Query',\n operationType: 'read' as const,\n describe: 'Semantic + keyword search over a Mind index.',\n handler: './cli/commands/search.js#default',\n flags: defineCommandFlags(searchFlags.schema),\n examples: [\n 'kb mind search --text \"how does login work\"',\n 'kb mind search --text \"ClassName\" --index code --agent',\n ],\n },\n {\n path: 'mind ask',\n category: 'Query',\n operationType: 'read' as const,\n describe: 'Ask a question and get a grounded answer with citations.',\n handler: './cli/commands/ask.js#default',\n flags: defineCommandFlags(askFlags.schema),\n examples: [\n 'kb mind ask --text \"how does auth work\" --index code',\n 'kb mind ask --text \"billing flow\" --mode thinking --agent',\n ],\n },\n {\n path: 'mind explore',\n category: 'Query',\n operationType: 'read' as const,\n describe: 'Task-orientation map — where to start and how involved a task looks.',\n handler: './cli/commands/explore.js#default',\n flags: defineCommandFlags(exploreFlags.schema),\n examples: [\n 'kb mind explore --task \"add rate limiting to the gateway\" --index code',\n 'kb mind explore --task \"where is auth handled\" --format json',\n ],\n },\n {\n path: 'mind reindex',\n category: 'Index',\n operationType: 'mutate' as const,\n describe: 'Rebuild an index from source files.',\n handler: './cli/commands/reindex.js#default',\n flags: defineCommandFlags(reindexFlags.schema),\n examples: ['kb mind reindex --index code --full'],\n },\n {\n path: 'mind drop',\n category: 'Index',\n operationType: 'mutate' as const,\n describe: 'Drop an entire index (all vectors + manifest).',\n handler: './cli/commands/drop.js#default',\n flags: defineCommandFlags(dropFlags.schema),\n examples: ['kb mind drop --index kbrt --yes'],\n },\n {\n path: 'mind sync add',\n category: 'Sync',\n operationType: 'mutate' as const,\n describe: 'Add documents to an index (incremental).',\n handler: './cli/commands/sync-add.js#default',\n flags: defineCommandFlags(syncPathsFlags.schema),\n examples: ['kb mind sync add src/new.ts --index code'],\n },\n {\n path: 'mind sync update',\n category: 'Sync',\n operationType: 'mutate' as const,\n describe: 'Re-index updated documents (incremental).',\n handler: './cli/commands/sync-update.js#default',\n flags: defineCommandFlags(syncPathsFlags.schema),\n examples: ['kb mind sync update src/auth.ts --index code'],\n },\n {\n path: 'mind sync delete',\n category: 'Sync',\n operationType: 'mutate' as const,\n describe: 'Remove documents from an index (incremental).',\n handler: './cli/commands/sync-delete.js#default',\n flags: defineCommandFlags(syncDeleteFlags.schema),\n examples: ['kb mind sync delete src/old.ts --index code'],\n },\n {\n path: 'mind sync list',\n category: 'Sync',\n operationType: 'read' as const,\n describe: 'List documents synced into an index.',\n handler: './cli/commands/sync-list.js#default',\n flags: defineCommandFlags(syncListFlags.schema),\n examples: ['kb mind sync list --index code'],\n },\n {\n // Leaf must be unique across the group tree: `mind status` already\n // uses leaf `status`, so the sync variant uses `health`.\n path: 'mind sync health',\n category: 'Sync',\n operationType: 'read' as const,\n describe: 'Show sync health for an index.',\n handler: './cli/commands/sync-status.js#default',\n flags: defineCommandFlags(syncListFlags.schema),\n examples: ['kb mind sync health --index code'],\n },\n {\n path: 'mind status',\n category: 'Index',\n operationType: 'read' as const,\n describe: 'Show Mind index status.',\n handler: './cli/commands/status.js#default',\n flags: defineCommandFlags(statusFlags.schema),\n examples: ['kb mind status', 'kb mind status --index code'],\n },\n ],\n },\n\n rest: {\n basePath: MIND_BASE_PATH,\n routes: [\n {\n method: 'POST',\n path: MIND_ROUTES.INDEX,\n handler: './rest/handlers/index.js#default',\n input: { zod: '@kb-labs/mind-contracts#IndexRequestSchema' },\n output: { zod: '@kb-labs/mind-contracts#IndexResponseSchema' },\n timeoutMs: 600000,\n },\n {\n method: 'POST',\n path: MIND_ROUTES.SEARCH,\n handler: './rest/handlers/search.js#default',\n input: { zod: '@kb-labs/mind-contracts#SearchRequestSchema' },\n output: { zod: '@kb-labs/mind-contracts#SearchResponseSchema' },\n },\n {\n method: 'POST',\n path: MIND_ROUTES.QUERY,\n handler: './rest/handlers/query.js#default',\n input: { zod: '@kb-labs/mind-contracts#QueryRequestSchema' },\n output: { zod: '@kb-labs/mind-contracts#AgentResponseSchema' },\n timeoutMs: 120000,\n },\n {\n method: 'POST',\n path: MIND_ROUTES.EXPLORE,\n handler: './rest/handlers/explore.js#default',\n input: { zod: '@kb-labs/mind-contracts#ExploreRequestSchema' },\n output: { zod: '@kb-labs/mind-contracts#ExploreResponseSchema' },\n timeoutMs: 120000,\n },\n {\n method: 'DELETE',\n path: MIND_ROUTES.DROP,\n handler: './rest/handlers/drop.js#default',\n input: { zod: '@kb-labs/mind-contracts#DropRequestSchema' },\n output: { zod: '@kb-labs/mind-contracts#DropResponseSchema' },\n },\n {\n method: 'GET',\n path: MIND_ROUTES.STATUS,\n handler: './rest/handlers/status.js#default',\n output: { zod: '@kb-labs/mind-contracts#StatusResponseSchema' },\n },\n {\n method: 'GET',\n path: MIND_ROUTES.HEALTH,\n handler: './rest/handlers/health.js#default',\n output: { zod: '@kb-labs/mind-contracts#HealthResponseSchema' },\n },\n {\n method: 'POST',\n path: MIND_ROUTES.REINDEX,\n handler: './rest/handlers/reindex.js#default',\n input: { zod: '@kb-labs/mind-contracts#ReindexRequestSchema' },\n output: { zod: '@kb-labs/mind-contracts#IndexResponseSchema' },\n timeoutMs: 600000,\n },\n {\n method: 'POST',\n path: MIND_ROUTES.SYNC_ADD,\n handler: './rest/handlers/sync-add.js#default',\n input: { zod: '@kb-labs/mind-contracts#SyncAddRequestSchema' },\n output: { zod: '@kb-labs/mind-contracts#SyncResponseSchema' },\n },\n {\n method: 'POST',\n path: MIND_ROUTES.SYNC_UPDATE,\n handler: './rest/handlers/sync-update.js#default',\n input: { zod: '@kb-labs/mind-contracts#SyncUpdateRequestSchema' },\n output: { zod: '@kb-labs/mind-contracts#SyncResponseSchema' },\n },\n {\n method: 'POST',\n path: MIND_ROUTES.SYNC_DELETE,\n handler: './rest/handlers/sync-delete.js#default',\n input: { zod: '@kb-labs/mind-contracts#SyncDeleteRequestSchema' },\n output: { zod: '@kb-labs/mind-contracts#SyncResponseSchema' },\n },\n {\n method: 'GET',\n path: MIND_ROUTES.SYNC_LIST,\n handler: './rest/handlers/sync-list.js#default',\n output: { zod: '@kb-labs/mind-contracts#SyncListResponseSchema' },\n },\n {\n method: 'GET',\n path: MIND_ROUTES.SYNC_STATUS,\n handler: './rest/handlers/sync-status.js#default',\n output: { zod: '@kb-labs/mind-contracts#SyncStatusResponseSchema' },\n },\n ],\n },\n};\n\nexport default manifest;\n"]}
|