@kb-labs/mind-entry 2.93.0 → 2.96.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/README.md +19 -208
- package/dist/cli/commands/ask.d.ts +31 -0
- package/dist/cli/commands/ask.js +88 -0
- package/dist/cli/commands/ask.js.map +1 -0
- package/dist/cli/commands/drop.d.ts +10 -0
- package/dist/cli/commands/drop.js +90 -0
- package/dist/cli/commands/drop.js.map +1 -0
- package/dist/cli/commands/explore.d.ts +26 -0
- package/dist/cli/commands/explore.js +96 -0
- package/dist/cli/commands/explore.js.map +1 -0
- package/dist/cli/commands/index.d.ts +11 -0
- package/dist/cli/commands/index.js +96 -0
- package/dist/cli/commands/index.js.map +1 -0
- package/dist/cli/commands/reindex.d.ts +11 -0
- package/dist/cli/commands/reindex.js +71 -0
- package/dist/cli/commands/reindex.js.map +1 -0
- package/dist/cli/commands/search.d.ts +25 -0
- package/dist/cli/commands/search.js +94 -0
- package/dist/cli/commands/search.js.map +1 -0
- package/dist/cli/commands/status.d.ts +17 -0
- package/dist/cli/commands/status.js +89 -0
- package/dist/cli/commands/status.js.map +1 -0
- package/dist/cli/commands/sync-add.d.ts +11 -0
- package/dist/cli/commands/sync-add.js +74 -0
- package/dist/cli/commands/sync-add.js.map +1 -0
- package/dist/cli/commands/sync-delete.d.ts +11 -0
- package/dist/cli/commands/sync-delete.js +90 -0
- package/dist/cli/commands/sync-delete.js.map +1 -0
- package/dist/cli/commands/sync-list.d.ts +13 -0
- package/dist/cli/commands/sync-list.js +80 -0
- package/dist/cli/commands/sync-list.js.map +1 -0
- package/dist/cli/commands/sync-status.d.ts +8 -0
- package/dist/cli/commands/sync-status.js +71 -0
- package/dist/cli/commands/sync-status.js.map +1 -0
- package/dist/cli/commands/sync-update.d.ts +11 -0
- package/dist/cli/commands/sync-update.js +74 -0
- package/dist/cli/commands/sync-update.js.map +1 -0
- package/dist/index.d.ts +2 -596
- package/dist/index.js +208 -1449
- package/dist/index.js.map +1 -1
- package/dist/manifest.d.ts +206 -0
- package/dist/manifest.js +261 -0
- package/dist/manifest.js.map +1 -0
- package/dist/rest/handlers/drop.d.ts +12 -0
- package/dist/rest/handlers/drop.js +59 -0
- package/dist/rest/handlers/drop.js.map +1 -0
- package/dist/rest/handlers/explore.d.ts +30 -0
- package/dist/rest/handlers/explore.js +59 -0
- package/dist/rest/handlers/explore.js.map +1 -0
- package/dist/rest/handlers/health.d.ts +11 -0
- package/dist/rest/handlers/health.js +58 -0
- package/dist/rest/handlers/health.js.map +1 -0
- package/dist/rest/handlers/index.d.ts +15 -0
- package/dist/rest/handlers/index.js +59 -0
- package/dist/rest/handlers/index.js.map +1 -0
- package/dist/rest/handlers/query.d.ts +36 -0
- package/dist/rest/handlers/query.js +59 -0
- package/dist/rest/handlers/query.js.map +1 -0
- package/dist/rest/handlers/reindex.d.ts +14 -0
- package/dist/rest/handlers/reindex.js +59 -0
- package/dist/rest/handlers/reindex.js.map +1 -0
- package/dist/rest/handlers/search.d.ts +31 -0
- package/dist/rest/handlers/search.js +59 -0
- package/dist/rest/handlers/search.js.map +1 -0
- package/dist/rest/handlers/status.d.ts +19 -0
- package/dist/rest/handlers/status.js +58 -0
- package/dist/rest/handlers/status.js.map +1 -0
- package/dist/rest/handlers/sync-add.d.ts +14 -0
- package/dist/rest/handlers/sync-add.js +59 -0
- package/dist/rest/handlers/sync-add.js.map +1 -0
- package/dist/rest/handlers/sync-delete.d.ts +14 -0
- package/dist/rest/handlers/sync-delete.js +59 -0
- package/dist/rest/handlers/sync-delete.js.map +1 -0
- package/dist/rest/handlers/sync-list.d.ts +15 -0
- package/dist/rest/handlers/sync-list.js +58 -0
- package/dist/rest/handlers/sync-list.js.map +1 -0
- package/dist/rest/handlers/sync-status.d.ts +14 -0
- package/dist/rest/handlers/sync-status.js +58 -0
- package/dist/rest/handlers/sync-status.js.map +1 -0
- package/dist/rest/handlers/sync-update.d.ts +14 -0
- package/dist/rest/handlers/sync-update.js +59 -0
- package/dist/rest/handlers/sync-update.js.map +1 -0
- package/package.json +15 -19
- package/dist/cli/commands/init.d.ts +0 -24
- package/dist/cli/commands/init.js +0 -115
- package/dist/cli/commands/init.js.map +0 -1
- package/dist/cli/commands/rag-index.d.ts +0 -20
- package/dist/cli/commands/rag-index.js +0 -364
- package/dist/cli/commands/rag-index.js.map +0 -1
- package/dist/cli/commands/rag-query.d.ts +0 -25
- package/dist/cli/commands/rag-query.js +0 -670
- package/dist/cli/commands/rag-query.js.map +0 -1
- package/dist/cli/commands/verify.d.ts +0 -15
- package/dist/cli/commands/verify.js +0 -92
- package/dist/cli/commands/verify.js.map +0 -1
- package/dist/manifest.v3.d.ts +0 -52
- package/dist/manifest.v3.js +0 -182
- package/dist/manifest.v3.js.map +0 -1
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import * as _kb_labs_shared_command_kit from '@kb-labs/shared-command-kit';
|
|
2
|
+
import { RestInput } from '@kb-labs/sdk';
|
|
3
|
+
|
|
4
|
+
declare const _default: _kb_labs_shared_command_kit.Handler<unknown, RestInput<unknown, {
|
|
5
|
+
text: string;
|
|
6
|
+
mode?: "instant" | "auto" | "thinking" | undefined;
|
|
7
|
+
snippet?: "full" | "none" | "line" | undefined;
|
|
8
|
+
indexId?: string | undefined;
|
|
9
|
+
}, unknown>, {
|
|
10
|
+
confidence: number;
|
|
11
|
+
answer: string;
|
|
12
|
+
abstained: boolean;
|
|
13
|
+
sources: {
|
|
14
|
+
file: string;
|
|
15
|
+
lines: [number, number];
|
|
16
|
+
kind: "code" | "file" | "doc" | "adr" | "repo" | "config" | "external";
|
|
17
|
+
matchedBy: "lexical" | "semantic" | "both";
|
|
18
|
+
stale: boolean;
|
|
19
|
+
snippet?: string | undefined;
|
|
20
|
+
}[];
|
|
21
|
+
meta: {
|
|
22
|
+
requestId: string;
|
|
23
|
+
mode: "instant" | "auto" | "thinking";
|
|
24
|
+
timingMs: number;
|
|
25
|
+
indexId: string;
|
|
26
|
+
} & {
|
|
27
|
+
[k: string]: unknown;
|
|
28
|
+
};
|
|
29
|
+
warnings?: {
|
|
30
|
+
code: string;
|
|
31
|
+
message: string;
|
|
32
|
+
details?: Record<string, unknown> | undefined;
|
|
33
|
+
}[] | undefined;
|
|
34
|
+
}>;
|
|
35
|
+
|
|
36
|
+
export { _default as default };
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { defineHandler, rethrowForRest, useVectorStore, useEmbeddings, useStorage, useCache, useLLM, useLogger, useConfig } from '@kb-labs/sdk';
|
|
2
|
+
import { QueryRequestSchema, resolveMindConfig } from '@kb-labs/mind-contracts';
|
|
3
|
+
import { createMind } from '@kb-labs/mind-core';
|
|
4
|
+
|
|
5
|
+
// src/rest/handlers/query.ts
|
|
6
|
+
function buildServices() {
|
|
7
|
+
const vectorStore = useVectorStore();
|
|
8
|
+
const embeddings = useEmbeddings();
|
|
9
|
+
const storage = useStorage();
|
|
10
|
+
const cache = useCache();
|
|
11
|
+
const llm = useLLM();
|
|
12
|
+
const logger = useLogger();
|
|
13
|
+
const missing = [];
|
|
14
|
+
if (!vectorStore) {
|
|
15
|
+
missing.push("vectorStore");
|
|
16
|
+
}
|
|
17
|
+
if (!embeddings) {
|
|
18
|
+
missing.push("embeddings");
|
|
19
|
+
}
|
|
20
|
+
if (!storage) {
|
|
21
|
+
missing.push("storage");
|
|
22
|
+
}
|
|
23
|
+
if (!cache) {
|
|
24
|
+
missing.push("cache");
|
|
25
|
+
}
|
|
26
|
+
if (!llm) {
|
|
27
|
+
missing.push("llm");
|
|
28
|
+
}
|
|
29
|
+
if (missing.length > 0) {
|
|
30
|
+
throw new Error(
|
|
31
|
+
`mind: required platform adapters not configured: ${missing.join(", ")}. Configure them in .kb/kb.config.json under "adapters".`
|
|
32
|
+
);
|
|
33
|
+
}
|
|
34
|
+
return { vectorStore, embeddings, storage, cache, llm, logger };
|
|
35
|
+
}
|
|
36
|
+
async function loadConfig() {
|
|
37
|
+
const raw = await useConfig();
|
|
38
|
+
return resolveMindConfig(raw ?? {});
|
|
39
|
+
}
|
|
40
|
+
async function buildMind(cwd) {
|
|
41
|
+
return createMind(buildServices(), await loadConfig(), { cwd: process.cwd() });
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
// src/rest/handlers/query.ts
|
|
45
|
+
var query_default = defineHandler({
|
|
46
|
+
async execute(_ctx, input) {
|
|
47
|
+
try {
|
|
48
|
+
const req = QueryRequestSchema.parse(input.body ?? {});
|
|
49
|
+
const mind = await buildMind();
|
|
50
|
+
return await mind.ask(req);
|
|
51
|
+
} catch (err) {
|
|
52
|
+
return rethrowForRest(err);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
|
|
57
|
+
export { query_default as default };
|
|
58
|
+
//# sourceMappingURL=query.js.map
|
|
59
|
+
//# sourceMappingURL=query.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/platform.ts","../../../src/rest/handlers/query.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,EAAY,OAAA,CAAQ,GAAA,EAAI,EAAG,CAAA;AACtF;;;AC3DA,IAAO,gBAAQ,aAAA,CAAc;AAAA,EAC3B,MAAM,OAAA,CAAQ,IAAA,EAAuB,KAAA,EAAiE;AACpG,IAAA,IAAI;AACF,MAAA,MAAM,MAAM,kBAAA,CAAmB,KAAA,CAAM,KAAA,CAAM,IAAA,IAAQ,EAAE,CAAA;AACrD,MAAA,MAAM,IAAA,GAAO,MAAM,SAAA,EAAU;AAC7B,MAAA,OAAO,MAAM,IAAA,CAAK,GAAA,CAAI,GAAG,CAAA;AAAA,IAC3B,SAAS,GAAA,EAAK;AACZ,MAAA,OAAO,eAAe,GAAG,CAAA;AAAA,IAC3B;AAAA,EACF;AACF,CAAC","file":"query.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 { defineHandler, rethrowForRest, type PluginContextV3, type RestInput } from '@kb-labs/sdk';\nimport {\n QueryRequestSchema,\n type QueryRequest,\n type AgentResponse,\n} from '@kb-labs/mind-contracts';\nimport { buildMind } from '../../platform';\n\nexport default defineHandler({\n async execute(_ctx: PluginContextV3, input: RestInput<unknown, QueryRequest>): Promise<AgentResponse> {\n try {\n const req = QueryRequestSchema.parse(input.body ?? {});\n const mind = await buildMind();\n return await mind.ask(req);\n } catch (err) {\n return rethrowForRest(err);\n }\n },\n});\n"]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import * as _kb_labs_shared_command_kit from '@kb-labs/shared-command-kit';
|
|
2
|
+
import { RestInput } from '@kb-labs/sdk';
|
|
3
|
+
|
|
4
|
+
declare const _default: _kb_labs_shared_command_kit.Handler<unknown, RestInput<unknown, {
|
|
5
|
+
full?: boolean | undefined;
|
|
6
|
+
indexId?: string | undefined;
|
|
7
|
+
}, unknown>, {
|
|
8
|
+
durationMs: number;
|
|
9
|
+
indexId: string;
|
|
10
|
+
filesIndexed: number;
|
|
11
|
+
chunks: number;
|
|
12
|
+
}>;
|
|
13
|
+
|
|
14
|
+
export { _default as default };
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { defineHandler, rethrowForRest, useVectorStore, useEmbeddings, useStorage, useCache, useLLM, useLogger, useConfig } from '@kb-labs/sdk';
|
|
2
|
+
import { ReindexRequestSchema, resolveMindConfig } from '@kb-labs/mind-contracts';
|
|
3
|
+
import { createMind } from '@kb-labs/mind-core';
|
|
4
|
+
|
|
5
|
+
// src/rest/handlers/reindex.ts
|
|
6
|
+
function buildServices() {
|
|
7
|
+
const vectorStore = useVectorStore();
|
|
8
|
+
const embeddings = useEmbeddings();
|
|
9
|
+
const storage = useStorage();
|
|
10
|
+
const cache = useCache();
|
|
11
|
+
const llm = useLLM();
|
|
12
|
+
const logger = useLogger();
|
|
13
|
+
const missing = [];
|
|
14
|
+
if (!vectorStore) {
|
|
15
|
+
missing.push("vectorStore");
|
|
16
|
+
}
|
|
17
|
+
if (!embeddings) {
|
|
18
|
+
missing.push("embeddings");
|
|
19
|
+
}
|
|
20
|
+
if (!storage) {
|
|
21
|
+
missing.push("storage");
|
|
22
|
+
}
|
|
23
|
+
if (!cache) {
|
|
24
|
+
missing.push("cache");
|
|
25
|
+
}
|
|
26
|
+
if (!llm) {
|
|
27
|
+
missing.push("llm");
|
|
28
|
+
}
|
|
29
|
+
if (missing.length > 0) {
|
|
30
|
+
throw new Error(
|
|
31
|
+
`mind: required platform adapters not configured: ${missing.join(", ")}. Configure them in .kb/kb.config.json under "adapters".`
|
|
32
|
+
);
|
|
33
|
+
}
|
|
34
|
+
return { vectorStore, embeddings, storage, cache, llm, logger };
|
|
35
|
+
}
|
|
36
|
+
async function loadConfig() {
|
|
37
|
+
const raw = await useConfig();
|
|
38
|
+
return resolveMindConfig(raw ?? {});
|
|
39
|
+
}
|
|
40
|
+
async function buildMind(cwd) {
|
|
41
|
+
return createMind(buildServices(), await loadConfig(), { cwd: process.cwd() });
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
// src/rest/handlers/reindex.ts
|
|
45
|
+
var reindex_default = defineHandler({
|
|
46
|
+
async execute(_ctx, input) {
|
|
47
|
+
try {
|
|
48
|
+
const req = ReindexRequestSchema.parse(input.body ?? {});
|
|
49
|
+
const mind = await buildMind();
|
|
50
|
+
return await mind.reindex(req);
|
|
51
|
+
} catch (err) {
|
|
52
|
+
return rethrowForRest(err);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
|
|
57
|
+
export { reindex_default as default };
|
|
58
|
+
//# sourceMappingURL=reindex.js.map
|
|
59
|
+
//# sourceMappingURL=reindex.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/platform.ts","../../../src/rest/handlers/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,EAAY,OAAA,CAAQ,GAAA,EAAI,EAAG,CAAA;AACtF;;;AC/DA,IAAO,kBAAQ,aAAA,CAAc;AAAA,EAC3B,MAAM,OAAA,CAAQ,IAAA,EAAuB,KAAA,EAAmE;AACtG,IAAA,IAAI;AACF,MAAA,MAAM,MAAM,oBAAA,CAAqB,KAAA,CAAM,KAAA,CAAM,IAAA,IAAQ,EAAE,CAAA;AACvD,MAAA,MAAM,IAAA,GAAO,MAAM,SAAA,EAAU;AAC7B,MAAA,OAAO,MAAM,IAAA,CAAK,OAAA,CAAQ,GAAG,CAAA;AAAA,IAC/B,SAAS,GAAA,EAAK;AACZ,MAAA,OAAO,eAAe,GAAG,CAAA;AAAA,IAC3B;AAAA,EACF;AACF,CAAC","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 { defineHandler, rethrowForRest, type PluginContextV3, type RestInput } from '@kb-labs/sdk';\nimport { ReindexRequestSchema, type ReindexRequest, type IndexResponse } from '@kb-labs/mind-contracts';\nimport { buildMind } from '../../platform';\n\nexport default defineHandler({\n async execute(_ctx: PluginContextV3, input: RestInput<unknown, ReindexRequest>): Promise<IndexResponse> {\n try {\n const req = ReindexRequestSchema.parse(input.body ?? {});\n const mind = await buildMind();\n return await mind.reindex(req);\n } catch (err) {\n return rethrowForRest(err);\n }\n },\n});\n"]}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import * as _kb_labs_shared_command_kit from '@kb-labs/shared-command-kit';
|
|
2
|
+
import { RestInput } from '@kb-labs/sdk';
|
|
3
|
+
|
|
4
|
+
declare const _default: _kb_labs_shared_command_kit.Handler<unknown, RestInput<unknown, {
|
|
5
|
+
text: string;
|
|
6
|
+
limit?: number | undefined;
|
|
7
|
+
intent?: "lookup" | "concept" | "architecture" | undefined;
|
|
8
|
+
snippet?: "full" | "none" | "line" | undefined;
|
|
9
|
+
indexId?: string | undefined;
|
|
10
|
+
}, unknown>, {
|
|
11
|
+
confidence: number;
|
|
12
|
+
indexId: string;
|
|
13
|
+
meta: {
|
|
14
|
+
requestId: string;
|
|
15
|
+
timingMs: number;
|
|
16
|
+
semanticWinRate: number;
|
|
17
|
+
staleCount: number;
|
|
18
|
+
} & {
|
|
19
|
+
[k: string]: unknown;
|
|
20
|
+
};
|
|
21
|
+
results: {
|
|
22
|
+
file: string;
|
|
23
|
+
lines: [number, number];
|
|
24
|
+
kind: "code" | "file" | "doc" | "adr" | "repo" | "config" | "external";
|
|
25
|
+
matchedBy: "lexical" | "semantic" | "both";
|
|
26
|
+
stale: boolean;
|
|
27
|
+
snippet?: string | undefined;
|
|
28
|
+
}[];
|
|
29
|
+
}>;
|
|
30
|
+
|
|
31
|
+
export { _default as default };
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { defineHandler, rethrowForRest, useVectorStore, useEmbeddings, useStorage, useCache, useLLM, useLogger, useConfig } from '@kb-labs/sdk';
|
|
2
|
+
import { SearchRequestSchema, resolveMindConfig } from '@kb-labs/mind-contracts';
|
|
3
|
+
import { createMind } from '@kb-labs/mind-core';
|
|
4
|
+
|
|
5
|
+
// src/rest/handlers/search.ts
|
|
6
|
+
function buildServices() {
|
|
7
|
+
const vectorStore = useVectorStore();
|
|
8
|
+
const embeddings = useEmbeddings();
|
|
9
|
+
const storage = useStorage();
|
|
10
|
+
const cache = useCache();
|
|
11
|
+
const llm = useLLM();
|
|
12
|
+
const logger = useLogger();
|
|
13
|
+
const missing = [];
|
|
14
|
+
if (!vectorStore) {
|
|
15
|
+
missing.push("vectorStore");
|
|
16
|
+
}
|
|
17
|
+
if (!embeddings) {
|
|
18
|
+
missing.push("embeddings");
|
|
19
|
+
}
|
|
20
|
+
if (!storage) {
|
|
21
|
+
missing.push("storage");
|
|
22
|
+
}
|
|
23
|
+
if (!cache) {
|
|
24
|
+
missing.push("cache");
|
|
25
|
+
}
|
|
26
|
+
if (!llm) {
|
|
27
|
+
missing.push("llm");
|
|
28
|
+
}
|
|
29
|
+
if (missing.length > 0) {
|
|
30
|
+
throw new Error(
|
|
31
|
+
`mind: required platform adapters not configured: ${missing.join(", ")}. Configure them in .kb/kb.config.json under "adapters".`
|
|
32
|
+
);
|
|
33
|
+
}
|
|
34
|
+
return { vectorStore, embeddings, storage, cache, llm, logger };
|
|
35
|
+
}
|
|
36
|
+
async function loadConfig() {
|
|
37
|
+
const raw = await useConfig();
|
|
38
|
+
return resolveMindConfig(raw ?? {});
|
|
39
|
+
}
|
|
40
|
+
async function buildMind(cwd) {
|
|
41
|
+
return createMind(buildServices(), await loadConfig(), { cwd: process.cwd() });
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
// src/rest/handlers/search.ts
|
|
45
|
+
var search_default = defineHandler({
|
|
46
|
+
async execute(_ctx, input) {
|
|
47
|
+
try {
|
|
48
|
+
const req = SearchRequestSchema.parse(input.body ?? {});
|
|
49
|
+
const mind = await buildMind();
|
|
50
|
+
return await mind.search(req);
|
|
51
|
+
} catch (err) {
|
|
52
|
+
return rethrowForRest(err);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
|
|
57
|
+
export { search_default as default };
|
|
58
|
+
//# sourceMappingURL=search.js.map
|
|
59
|
+
//# sourceMappingURL=search.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/platform.ts","../../../src/rest/handlers/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,EAAY,OAAA,CAAQ,GAAA,EAAI,EAAG,CAAA;AACtF;;;AC3DA,IAAO,iBAAQ,aAAA,CAAc;AAAA,EAC3B,MAAM,OAAA,CAAQ,IAAA,EAAuB,KAAA,EAAmE;AACtG,IAAA,IAAI;AACF,MAAA,MAAM,MAAM,mBAAA,CAAoB,KAAA,CAAM,KAAA,CAAM,IAAA,IAAQ,EAAE,CAAA;AACtD,MAAA,MAAM,IAAA,GAAO,MAAM,SAAA,EAAU;AAC7B,MAAA,OAAO,MAAM,IAAA,CAAK,MAAA,CAAO,GAAG,CAAA;AAAA,IAC9B,SAAS,GAAA,EAAK;AACZ,MAAA,OAAO,eAAe,GAAG,CAAA;AAAA,IAC3B;AAAA,EACF;AACF,CAAC","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 { defineHandler, rethrowForRest, type PluginContextV3, type RestInput } from '@kb-labs/sdk';\nimport {\n SearchRequestSchema,\n type SearchRequest,\n type SearchResponse,\n} from '@kb-labs/mind-contracts';\nimport { buildMind } from '../../platform';\n\nexport default defineHandler({\n async execute(_ctx: PluginContextV3, input: RestInput<unknown, SearchRequest>): Promise<SearchResponse> {\n try {\n const req = SearchRequestSchema.parse(input.body ?? {});\n const mind = await buildMind();\n return await mind.search(req);\n } catch (err) {\n return rethrowForRest(err);\n }\n },\n});\n"]}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import * as _kb_labs_shared_command_kit from '@kb-labs/shared-command-kit';
|
|
2
|
+
import { RestInput } from '@kb-labs/sdk';
|
|
3
|
+
|
|
4
|
+
declare const _default: _kb_labs_shared_command_kit.Handler<unknown, RestInput<{
|
|
5
|
+
indexId?: string;
|
|
6
|
+
}, unknown, unknown>, {
|
|
7
|
+
indexes: {
|
|
8
|
+
indexId: string;
|
|
9
|
+
staleCount: number;
|
|
10
|
+
chunks: number;
|
|
11
|
+
documents: number;
|
|
12
|
+
lastIndexedAt: string | null;
|
|
13
|
+
label?: string | undefined;
|
|
14
|
+
coverage?: string | undefined;
|
|
15
|
+
}[];
|
|
16
|
+
healthy: boolean;
|
|
17
|
+
}>;
|
|
18
|
+
|
|
19
|
+
export { _default as default };
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { defineHandler, rethrowForRest, useVectorStore, useEmbeddings, useStorage, useCache, useLLM, useLogger, useConfig } from '@kb-labs/sdk';
|
|
2
|
+
import { createMind } from '@kb-labs/mind-core';
|
|
3
|
+
import { resolveMindConfig } from '@kb-labs/mind-contracts';
|
|
4
|
+
|
|
5
|
+
// src/rest/handlers/status.ts
|
|
6
|
+
function buildServices() {
|
|
7
|
+
const vectorStore = useVectorStore();
|
|
8
|
+
const embeddings = useEmbeddings();
|
|
9
|
+
const storage = useStorage();
|
|
10
|
+
const cache = useCache();
|
|
11
|
+
const llm = useLLM();
|
|
12
|
+
const logger = useLogger();
|
|
13
|
+
const missing = [];
|
|
14
|
+
if (!vectorStore) {
|
|
15
|
+
missing.push("vectorStore");
|
|
16
|
+
}
|
|
17
|
+
if (!embeddings) {
|
|
18
|
+
missing.push("embeddings");
|
|
19
|
+
}
|
|
20
|
+
if (!storage) {
|
|
21
|
+
missing.push("storage");
|
|
22
|
+
}
|
|
23
|
+
if (!cache) {
|
|
24
|
+
missing.push("cache");
|
|
25
|
+
}
|
|
26
|
+
if (!llm) {
|
|
27
|
+
missing.push("llm");
|
|
28
|
+
}
|
|
29
|
+
if (missing.length > 0) {
|
|
30
|
+
throw new Error(
|
|
31
|
+
`mind: required platform adapters not configured: ${missing.join(", ")}. Configure them in .kb/kb.config.json under "adapters".`
|
|
32
|
+
);
|
|
33
|
+
}
|
|
34
|
+
return { vectorStore, embeddings, storage, cache, llm, logger };
|
|
35
|
+
}
|
|
36
|
+
async function loadConfig() {
|
|
37
|
+
const raw = await useConfig();
|
|
38
|
+
return resolveMindConfig(raw ?? {});
|
|
39
|
+
}
|
|
40
|
+
async function buildMind(cwd) {
|
|
41
|
+
return createMind(buildServices(), await loadConfig(), { cwd: process.cwd() });
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
// src/rest/handlers/status.ts
|
|
45
|
+
var status_default = defineHandler({
|
|
46
|
+
async execute(_ctx, input) {
|
|
47
|
+
try {
|
|
48
|
+
const mind = await buildMind();
|
|
49
|
+
return await mind.status(input.query?.indexId);
|
|
50
|
+
} catch (err) {
|
|
51
|
+
return rethrowForRest(err);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
|
|
56
|
+
export { status_default as default };
|
|
57
|
+
//# sourceMappingURL=status.js.map
|
|
58
|
+
//# sourceMappingURL=status.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/platform.ts","../../../src/rest/handlers/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,EAAY,OAAA,CAAQ,GAAA,EAAI,EAAG,CAAA;AACtF;;;AC/DA,IAAO,iBAAQ,aAAA,CAAc;AAAA,EAC3B,MAAM,OAAA,CACJ,IAAA,EACA,KAAA,EACyB;AACzB,IAAA,IAAI;AACF,MAAA,MAAM,IAAA,GAAO,MAAM,SAAA,EAAU;AAC7B,MAAA,OAAO,MAAM,IAAA,CAAK,MAAA,CAAO,KAAA,CAAM,OAAO,OAAO,CAAA;AAAA,IAC/C,SAAS,GAAA,EAAK;AACZ,MAAA,OAAO,eAAe,GAAG,CAAA;AAAA,IAC3B;AAAA,EACF;AACF,CAAC","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 { defineHandler, rethrowForRest, type PluginContextV3, type RestInput } from '@kb-labs/sdk';\nimport type { StatusResponse } from '@kb-labs/mind-contracts';\nimport { buildMind } from '../../platform';\n\nexport default defineHandler({\n async execute(\n _ctx: PluginContextV3,\n input: RestInput<{ indexId?: string }, unknown>,\n ): Promise<StatusResponse> {\n try {\n const mind = await buildMind();\n return await mind.status(input.query?.indexId);\n } catch (err) {\n return rethrowForRest(err);\n }\n },\n});\n"]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import * as _kb_labs_shared_command_kit from '@kb-labs/shared-command-kit';
|
|
2
|
+
import { RestInput } from '@kb-labs/sdk';
|
|
3
|
+
|
|
4
|
+
declare const _default: _kb_labs_shared_command_kit.Handler<unknown, RestInput<unknown, {
|
|
5
|
+
paths: string[];
|
|
6
|
+
indexId?: string | undefined;
|
|
7
|
+
}, unknown>, {
|
|
8
|
+
indexId: string;
|
|
9
|
+
added: number;
|
|
10
|
+
updated: number;
|
|
11
|
+
deleted: number;
|
|
12
|
+
}>;
|
|
13
|
+
|
|
14
|
+
export { _default as default };
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { defineHandler, rethrowForRest, useVectorStore, useEmbeddings, useStorage, useCache, useLLM, useLogger, useConfig } from '@kb-labs/sdk';
|
|
2
|
+
import { SyncAddRequestSchema, resolveMindConfig } from '@kb-labs/mind-contracts';
|
|
3
|
+
import { createMind } from '@kb-labs/mind-core';
|
|
4
|
+
|
|
5
|
+
// src/rest/handlers/sync-add.ts
|
|
6
|
+
function buildServices() {
|
|
7
|
+
const vectorStore = useVectorStore();
|
|
8
|
+
const embeddings = useEmbeddings();
|
|
9
|
+
const storage = useStorage();
|
|
10
|
+
const cache = useCache();
|
|
11
|
+
const llm = useLLM();
|
|
12
|
+
const logger = useLogger();
|
|
13
|
+
const missing = [];
|
|
14
|
+
if (!vectorStore) {
|
|
15
|
+
missing.push("vectorStore");
|
|
16
|
+
}
|
|
17
|
+
if (!embeddings) {
|
|
18
|
+
missing.push("embeddings");
|
|
19
|
+
}
|
|
20
|
+
if (!storage) {
|
|
21
|
+
missing.push("storage");
|
|
22
|
+
}
|
|
23
|
+
if (!cache) {
|
|
24
|
+
missing.push("cache");
|
|
25
|
+
}
|
|
26
|
+
if (!llm) {
|
|
27
|
+
missing.push("llm");
|
|
28
|
+
}
|
|
29
|
+
if (missing.length > 0) {
|
|
30
|
+
throw new Error(
|
|
31
|
+
`mind: required platform adapters not configured: ${missing.join(", ")}. Configure them in .kb/kb.config.json under "adapters".`
|
|
32
|
+
);
|
|
33
|
+
}
|
|
34
|
+
return { vectorStore, embeddings, storage, cache, llm, logger };
|
|
35
|
+
}
|
|
36
|
+
async function loadConfig() {
|
|
37
|
+
const raw = await useConfig();
|
|
38
|
+
return resolveMindConfig(raw ?? {});
|
|
39
|
+
}
|
|
40
|
+
async function buildMind(cwd) {
|
|
41
|
+
return createMind(buildServices(), await loadConfig(), { cwd: process.cwd() });
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
// src/rest/handlers/sync-add.ts
|
|
45
|
+
var sync_add_default = defineHandler({
|
|
46
|
+
async execute(_ctx, input) {
|
|
47
|
+
try {
|
|
48
|
+
const req = SyncAddRequestSchema.parse(input.body ?? {});
|
|
49
|
+
const mind = await buildMind();
|
|
50
|
+
return await mind.syncAdd(req.paths, req.indexId);
|
|
51
|
+
} catch (err) {
|
|
52
|
+
return rethrowForRest(err);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
|
|
57
|
+
export { sync_add_default as default };
|
|
58
|
+
//# sourceMappingURL=sync-add.js.map
|
|
59
|
+
//# sourceMappingURL=sync-add.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/platform.ts","../../../src/rest/handlers/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,EAAY,OAAA,CAAQ,GAAA,EAAI,EAAG,CAAA;AACtF;;;AC/DA,IAAO,mBAAQ,aAAA,CAAc;AAAA,EAC3B,MAAM,OAAA,CAAQ,IAAA,EAAuB,KAAA,EAAkE;AACrG,IAAA,IAAI;AACF,MAAA,MAAM,MAAM,oBAAA,CAAqB,KAAA,CAAM,KAAA,CAAM,IAAA,IAAQ,EAAE,CAAA;AACvD,MAAA,MAAM,IAAA,GAAO,MAAM,SAAA,EAAU;AAC7B,MAAA,OAAO,MAAM,IAAA,CAAK,OAAA,CAAQ,GAAA,CAAI,KAAA,EAAO,IAAI,OAAO,CAAA;AAAA,IAClD,SAAS,GAAA,EAAK;AACZ,MAAA,OAAO,eAAe,GAAG,CAAA;AAAA,IAC3B;AAAA,EACF;AACF,CAAC","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 { defineHandler, rethrowForRest, type PluginContextV3, type RestInput } from '@kb-labs/sdk';\nimport { SyncAddRequestSchema, type SyncAddRequest, type SyncResponse } from '@kb-labs/mind-contracts';\nimport { buildMind } from '../../platform';\n\nexport default defineHandler({\n async execute(_ctx: PluginContextV3, input: RestInput<unknown, SyncAddRequest>): Promise<SyncResponse> {\n try {\n const req = SyncAddRequestSchema.parse(input.body ?? {});\n const mind = await buildMind();\n return await mind.syncAdd(req.paths, req.indexId);\n } catch (err) {\n return rethrowForRest(err);\n }\n },\n});\n"]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import * as _kb_labs_shared_command_kit from '@kb-labs/shared-command-kit';
|
|
2
|
+
import { RestInput } from '@kb-labs/sdk';
|
|
3
|
+
|
|
4
|
+
declare const _default: _kb_labs_shared_command_kit.Handler<unknown, RestInput<unknown, {
|
|
5
|
+
paths: string[];
|
|
6
|
+
indexId?: string | undefined;
|
|
7
|
+
}, unknown>, {
|
|
8
|
+
indexId: string;
|
|
9
|
+
added: number;
|
|
10
|
+
updated: number;
|
|
11
|
+
deleted: number;
|
|
12
|
+
}>;
|
|
13
|
+
|
|
14
|
+
export { _default as default };
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { defineHandler, rethrowForRest, useVectorStore, useEmbeddings, useStorage, useCache, useLLM, useLogger, useConfig } from '@kb-labs/sdk';
|
|
2
|
+
import { SyncDeleteRequestSchema, resolveMindConfig } from '@kb-labs/mind-contracts';
|
|
3
|
+
import { createMind } from '@kb-labs/mind-core';
|
|
4
|
+
|
|
5
|
+
// src/rest/handlers/sync-delete.ts
|
|
6
|
+
function buildServices() {
|
|
7
|
+
const vectorStore = useVectorStore();
|
|
8
|
+
const embeddings = useEmbeddings();
|
|
9
|
+
const storage = useStorage();
|
|
10
|
+
const cache = useCache();
|
|
11
|
+
const llm = useLLM();
|
|
12
|
+
const logger = useLogger();
|
|
13
|
+
const missing = [];
|
|
14
|
+
if (!vectorStore) {
|
|
15
|
+
missing.push("vectorStore");
|
|
16
|
+
}
|
|
17
|
+
if (!embeddings) {
|
|
18
|
+
missing.push("embeddings");
|
|
19
|
+
}
|
|
20
|
+
if (!storage) {
|
|
21
|
+
missing.push("storage");
|
|
22
|
+
}
|
|
23
|
+
if (!cache) {
|
|
24
|
+
missing.push("cache");
|
|
25
|
+
}
|
|
26
|
+
if (!llm) {
|
|
27
|
+
missing.push("llm");
|
|
28
|
+
}
|
|
29
|
+
if (missing.length > 0) {
|
|
30
|
+
throw new Error(
|
|
31
|
+
`mind: required platform adapters not configured: ${missing.join(", ")}. Configure them in .kb/kb.config.json under "adapters".`
|
|
32
|
+
);
|
|
33
|
+
}
|
|
34
|
+
return { vectorStore, embeddings, storage, cache, llm, logger };
|
|
35
|
+
}
|
|
36
|
+
async function loadConfig() {
|
|
37
|
+
const raw = await useConfig();
|
|
38
|
+
return resolveMindConfig(raw ?? {});
|
|
39
|
+
}
|
|
40
|
+
async function buildMind(cwd) {
|
|
41
|
+
return createMind(buildServices(), await loadConfig(), { cwd: process.cwd() });
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
// src/rest/handlers/sync-delete.ts
|
|
45
|
+
var sync_delete_default = defineHandler({
|
|
46
|
+
async execute(_ctx, input) {
|
|
47
|
+
try {
|
|
48
|
+
const req = SyncDeleteRequestSchema.parse(input.body ?? {});
|
|
49
|
+
const mind = await buildMind();
|
|
50
|
+
return await mind.syncDelete(req.paths, req.indexId);
|
|
51
|
+
} catch (err) {
|
|
52
|
+
return rethrowForRest(err);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
|
|
57
|
+
export { sync_delete_default as default };
|
|
58
|
+
//# sourceMappingURL=sync-delete.js.map
|
|
59
|
+
//# sourceMappingURL=sync-delete.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/platform.ts","../../../src/rest/handlers/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,EAAY,OAAA,CAAQ,GAAA,EAAI,EAAG,CAAA;AACtF;;;AC/DA,IAAO,sBAAQ,aAAA,CAAc;AAAA,EAC3B,MAAM,OAAA,CAAQ,IAAA,EAAuB,KAAA,EAAqE;AACxG,IAAA,IAAI;AACF,MAAA,MAAM,MAAM,uBAAA,CAAwB,KAAA,CAAM,KAAA,CAAM,IAAA,IAAQ,EAAE,CAAA;AAC1D,MAAA,MAAM,IAAA,GAAO,MAAM,SAAA,EAAU;AAC7B,MAAA,OAAO,MAAM,IAAA,CAAK,UAAA,CAAW,GAAA,CAAI,KAAA,EAAO,IAAI,OAAO,CAAA;AAAA,IACrD,SAAS,GAAA,EAAK;AACZ,MAAA,OAAO,eAAe,GAAG,CAAA;AAAA,IAC3B;AAAA,EACF;AACF,CAAC","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 { defineHandler, rethrowForRest, type PluginContextV3, type RestInput } from '@kb-labs/sdk';\nimport { SyncDeleteRequestSchema, type SyncDeleteRequest, type SyncResponse } from '@kb-labs/mind-contracts';\nimport { buildMind } from '../../platform';\n\nexport default defineHandler({\n async execute(_ctx: PluginContextV3, input: RestInput<unknown, SyncDeleteRequest>): Promise<SyncResponse> {\n try {\n const req = SyncDeleteRequestSchema.parse(input.body ?? {});\n const mind = await buildMind();\n return await mind.syncDelete(req.paths, req.indexId);\n } catch (err) {\n return rethrowForRest(err);\n }\n },\n});\n"]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import * as _kb_labs_shared_command_kit from '@kb-labs/shared-command-kit';
|
|
2
|
+
import { RestInput } from '@kb-labs/sdk';
|
|
3
|
+
|
|
4
|
+
declare const _default: _kb_labs_shared_command_kit.Handler<unknown, RestInput<{
|
|
5
|
+
indexId?: string;
|
|
6
|
+
}, unknown, unknown>, {
|
|
7
|
+
indexId: string;
|
|
8
|
+
documents: {
|
|
9
|
+
path: string;
|
|
10
|
+
chunks: number;
|
|
11
|
+
indexedAt: string;
|
|
12
|
+
}[];
|
|
13
|
+
}>;
|
|
14
|
+
|
|
15
|
+
export { _default as default };
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { defineHandler, rethrowForRest, useVectorStore, useEmbeddings, useStorage, useCache, useLLM, useLogger, useConfig } from '@kb-labs/sdk';
|
|
2
|
+
import { createMind } from '@kb-labs/mind-core';
|
|
3
|
+
import { resolveMindConfig } from '@kb-labs/mind-contracts';
|
|
4
|
+
|
|
5
|
+
// src/rest/handlers/sync-list.ts
|
|
6
|
+
function buildServices() {
|
|
7
|
+
const vectorStore = useVectorStore();
|
|
8
|
+
const embeddings = useEmbeddings();
|
|
9
|
+
const storage = useStorage();
|
|
10
|
+
const cache = useCache();
|
|
11
|
+
const llm = useLLM();
|
|
12
|
+
const logger = useLogger();
|
|
13
|
+
const missing = [];
|
|
14
|
+
if (!vectorStore) {
|
|
15
|
+
missing.push("vectorStore");
|
|
16
|
+
}
|
|
17
|
+
if (!embeddings) {
|
|
18
|
+
missing.push("embeddings");
|
|
19
|
+
}
|
|
20
|
+
if (!storage) {
|
|
21
|
+
missing.push("storage");
|
|
22
|
+
}
|
|
23
|
+
if (!cache) {
|
|
24
|
+
missing.push("cache");
|
|
25
|
+
}
|
|
26
|
+
if (!llm) {
|
|
27
|
+
missing.push("llm");
|
|
28
|
+
}
|
|
29
|
+
if (missing.length > 0) {
|
|
30
|
+
throw new Error(
|
|
31
|
+
`mind: required platform adapters not configured: ${missing.join(", ")}. Configure them in .kb/kb.config.json under "adapters".`
|
|
32
|
+
);
|
|
33
|
+
}
|
|
34
|
+
return { vectorStore, embeddings, storage, cache, llm, logger };
|
|
35
|
+
}
|
|
36
|
+
async function loadConfig() {
|
|
37
|
+
const raw = await useConfig();
|
|
38
|
+
return resolveMindConfig(raw ?? {});
|
|
39
|
+
}
|
|
40
|
+
async function buildMind(cwd) {
|
|
41
|
+
return createMind(buildServices(), await loadConfig(), { cwd: process.cwd() });
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
// src/rest/handlers/sync-list.ts
|
|
45
|
+
var sync_list_default = defineHandler({
|
|
46
|
+
async execute(_ctx, input) {
|
|
47
|
+
try {
|
|
48
|
+
const mind = await buildMind();
|
|
49
|
+
return await mind.syncList(input.query?.indexId);
|
|
50
|
+
} catch (err) {
|
|
51
|
+
return rethrowForRest(err);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
|
|
56
|
+
export { sync_list_default as default };
|
|
57
|
+
//# sourceMappingURL=sync-list.js.map
|
|
58
|
+
//# sourceMappingURL=sync-list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/platform.ts","../../../src/rest/handlers/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,EAAY,OAAA,CAAQ,GAAA,EAAI,EAAG,CAAA;AACtF;;;AC/DA,IAAO,oBAAQ,aAAA,CAAc;AAAA,EAC3B,MAAM,OAAA,CACJ,IAAA,EACA,KAAA,EAC2B;AAC3B,IAAA,IAAI;AACF,MAAA,MAAM,IAAA,GAAO,MAAM,SAAA,EAAU;AAC7B,MAAA,OAAO,MAAM,IAAA,CAAK,QAAA,CAAS,KAAA,CAAM,OAAO,OAAO,CAAA;AAAA,IACjD,SAAS,GAAA,EAAK;AACZ,MAAA,OAAO,eAAe,GAAG,CAAA;AAAA,IAC3B;AAAA,EACF;AACF,CAAC","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 { defineHandler, rethrowForRest, type PluginContextV3, type RestInput } from '@kb-labs/sdk';\nimport type { SyncListResponse } from '@kb-labs/mind-contracts';\nimport { buildMind } from '../../platform';\n\nexport default defineHandler({\n async execute(\n _ctx: PluginContextV3,\n input: RestInput<{ indexId?: string }, unknown>,\n ): Promise<SyncListResponse> {\n try {\n const mind = await buildMind();\n return await mind.syncList(input.query?.indexId);\n } catch (err) {\n return rethrowForRest(err);\n }\n },\n});\n"]}
|