@dikolab/kbdb 0.5.0 → 0.6.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/CLA.md +68 -0
- package/LICENSE +676 -12
- package/LICENSING.md +58 -0
- package/README.md +47 -24
- package/README.md.bak +320 -0
- package/dist/README.md +320 -0
- package/dist/{chunk-BJXEVALU.mjs → chunk-QLJ33C74.mjs} +44 -44
- package/dist/chunk-QLJ33C74.mjs.map +7 -0
- package/dist/cli.cjs +550 -232
- package/dist/cli.cjs.map +4 -4
- package/dist/cli.d.ts +0 -8
- package/dist/cli.mjs +483 -154
- package/dist/cli.mjs.map +4 -4
- package/dist/kbdb-worker.cjs +36 -5
- package/dist/kbdb-worker.cjs.map +3 -3
- package/dist/mod.cjs +89 -30
- package/dist/mod.cjs.map +4 -4
- package/dist/mod.mjs +88 -30
- package/dist/mod.mjs.map +4 -4
- package/dist/src/cli.d.ts +0 -8
- package/dist/src/shared/cli/constants/defaults.constant.d.ts +1 -1
- package/dist/src/shared/cli/constants/recfile-command-field-map.constant.d.ts +8 -0
- package/dist/src/shared/cli/constants/recfile-field-maps.constant.d.ts +21 -0
- package/dist/src/shared/cli/functions/compute-directory-level.function.d.ts +14 -0
- package/dist/src/shared/cli/functions/dispatch-command.function.d.ts +2 -28
- package/dist/src/shared/cli/functions/format-command-output.function.d.ts +14 -0
- package/dist/src/shared/cli/functions/format-db-not-found.function.d.ts +20 -0
- package/dist/src/shared/cli/functions/format-output.function.d.ts +1 -0
- package/dist/src/shared/cli/functions/format-recfile-output.function.d.ts +11 -0
- package/dist/src/shared/cli/functions/render-recfile-value.function.d.ts +11 -0
- package/dist/src/shared/cli/functions/resolve-db-dir.function.d.ts +24 -0
- package/dist/src/shared/cli/functions/resolve-recfile-key.function.d.ts +9 -0
- package/dist/src/shared/cli/functions/run-db-path.function.d.ts +10 -0
- package/dist/src/shared/cli/functions/run-export.function.d.ts +8 -4
- package/dist/src/shared/cli/functions/run-import.function.d.ts +4 -0
- package/dist/src/shared/cli/functions/run-learn.function.d.ts +12 -0
- package/dist/src/shared/cli/index.d.ts +4 -1
- package/dist/src/shared/cli/typings/cli-options.interface.d.ts +9 -2
- package/dist/src/shared/cli/typings/db-resolution.interface.d.ts +9 -0
- package/dist/src/shared/cli/typings/recfile-field-map.type.d.ts +10 -0
- package/dist/src/shared/version/constants/version.constant.d.ts +1 -1
- package/dist/src/shared/wasm-codec/functions/decode-option-u8.function.d.ts +9 -0
- package/dist/src/shared/wasm-codec/functions/decode-section-records.function.d.ts +4 -0
- package/dist/src/shared/wasm-codec/functions/encode-add-section-params.function.d.ts +2 -45
- package/dist/src/shared/wasm-codec/functions/encode-update-section-params.function.d.ts +10 -1
- package/dist/src/shared/wasm-codec/index.d.ts +1 -1
- package/dist/src/shared/wasm-codec/typings/add-section-input.model.d.ts +6 -0
- package/dist/src/shared/wasm-codec/typings/section-record-trailing.model.d.ts +5 -0
- package/dist/src/shared/wasm-codec/typings/section-record.model.d.ts +5 -0
- package/dist/src/shared/worker-client/functions/build-deno-permissions.function.d.ts +11 -0
- package/dist/src/shared/worker-client/functions/read-crash-reason.function.d.ts +9 -0
- package/dist/src/shared/worker-client/functions/resolve-spawn-script.function.d.ts +6 -0
- package/dist/src/shared/worker-client/functions/spawn-daemon.function.d.ts +1 -1
- package/dist/src/shared/worker-client/typings/section.model.d.ts +5 -0
- package/dist/src/shared/worker-client/typings/worker-client-options.interface.d.ts +0 -6
- package/dist/src/shared/worker-daemon/functions/count-files.function.d.ts +12 -0
- package/dist/src/shared/worker-daemon/functions/handle-import.function.d.ts +2 -0
- package/dist/src/shared/worker-daemon/functions/handle-read-ops.function.d.ts +8 -0
- package/dist/src/shared/worker-daemon/functions/validate-daemon-path.function.d.ts +15 -0
- package/dist/src/worker.d.ts +0 -7
- package/dist/wasm/default-embedding/kbdb_default_embedding_bg.wasm +0 -0
- package/dist/wasm/default-embedding/package.json +1 -1
- package/dist/wasm/fs-database/kbdb_fs_database_bg.wasm +0 -0
- package/dist/wasm/fs-database/package.json +1 -1
- package/dist/wasm/fs-migration/package.json +1 -1
- package/dist/wasm/kb-worker/kbdb_worker_bg.wasm +0 -0
- package/dist/wasm/kb-worker/package.json +1 -1
- package/dist/wasm/query-parser/kbdb_query_parser_bg.wasm +0 -0
- package/dist/wasm/query-parser/package.json +1 -1
- package/dist/worker.d.ts +0 -7
- package/dist/worker.mjs +37 -6
- package/dist/worker.mjs.map +3 -3
- package/package.json +10 -9
- package/dist/chunk-BJXEVALU.mjs.map +0 -7
- package/dist/src/shared/cli/functions/resolve-raw-db-path.function.d.ts +0 -10
- package/docs/details/README.md +0 -30
- package/docs/details/agent-tooling.md +0 -132
- package/docs/details/cli.md +0 -777
- package/docs/details/knowledge-base.md +0 -180
- package/docs/details/library-api.md +0 -495
- package/docs/details/mcp-server.md +0 -482
- package/docs/details/search-and-ranking.md +0 -575
- package/docs/details/storage.md +0 -531
- package/docs/goals/agents.md +0 -751
- package/docs/goals/architecture.svg +0 -198
- package/docs/goals/auto-capture.md +0 -378
- package/docs/goals/benchmarking.md +0 -296
- package/docs/goals/cli.md +0 -2654
- package/docs/goals/concurrency.md +0 -259
- package/docs/goals/content-composer.md +0 -609
- package/docs/goals/content-parser.md +0 -279
- package/docs/goals/database.md +0 -1679
- package/docs/goals/document.md +0 -368
- package/docs/goals/hybrid-search.md +0 -465
- package/docs/goals/mcp.md +0 -1541
- package/docs/goals/overview.md +0 -124
- package/docs/goals/query-parser.md +0 -373
- package/docs/goals/query-result.md +0 -860
- package/docs/goals/semantic-dedup.md +0 -233
- package/docs/goals/skills.md +0 -810
- package/docs/goals/sync.md +0 -217
- package/docs/goals/worker-client.md +0 -1005
- package/docs/goals/worker-daemon.md +0 -1547
- package/docs/modules/overview.md +0 -319
- package/docs/modules/rust/embedding/module.md +0 -91
- package/docs/modules/rust/fs-database/functions/document.md +0 -48
- package/docs/modules/rust/fs-database/functions/integrity.md +0 -79
- package/docs/modules/rust/fs-database/functions/io.md +0 -87
- package/docs/modules/rust/fs-database/functions/module.md +0 -22
- package/docs/modules/rust/fs-database/functions/query-exec.md +0 -44
- package/docs/modules/rust/fs-database/functions/section.md +0 -76
- package/docs/modules/rust/fs-database/indexes/btree.md +0 -35
- package/docs/modules/rust/fs-database/indexes/corpus.md +0 -61
- package/docs/modules/rust/fs-database/indexes/inverted.md +0 -60
- package/docs/modules/rust/fs-database/indexes/module.md +0 -64
- package/docs/modules/rust/fs-database/indexes/positional.md +0 -39
- package/docs/modules/rust/fs-database/indexes/vectors.md +0 -110
- package/docs/modules/rust/fs-database/module.md +0 -150
- package/docs/modules/rust/fs-database/types/catalog.md +0 -53
- package/docs/modules/rust/fs-database/types/module.md +0 -12
- package/docs/modules/rust/fs-database/types/section.md +0 -127
- package/docs/modules/rust/kb-worker/functions/compose.md +0 -57
- package/docs/modules/rust/kb-worker/functions/module.md +0 -20
- package/docs/modules/rust/kb-worker/functions/retrieve.md +0 -194
- package/docs/modules/rust/kb-worker/functions/search.md +0 -173
- package/docs/modules/rust/kb-worker/functions/write.md +0 -172
- package/docs/modules/rust/kb-worker/module.md +0 -171
- package/docs/modules/rust/kb-worker/types/cache.md +0 -90
- package/docs/modules/rust/kb-worker/types/context.md +0 -26
- package/docs/modules/rust/kb-worker/types/module.md +0 -16
- package/docs/modules/rust/kb-worker/types/status.md +0 -29
- package/docs/modules/rust/kb-worker/types/token.md +0 -50
- package/docs/modules/rust/overview.md +0 -531
- package/docs/modules/rust/query-parser/functions/extract.md +0 -56
- package/docs/modules/rust/query-parser/functions/module.md +0 -18
- package/docs/modules/rust/query-parser/functions/parse.md +0 -33
- package/docs/modules/rust/query-parser/functions/pipeline.md +0 -9
- package/docs/modules/rust/query-parser/functions/rank.md +0 -85
- package/docs/modules/rust/query-parser/module.md +0 -131
- package/docs/modules/rust/query-parser/types/cache.md +0 -39
- package/docs/modules/rust/query-parser/types/keyphrase.md +0 -71
- package/docs/modules/rust/query-parser/types/module.md +0 -18
- package/docs/modules/rust/query-parser/types/token.md +0 -46
- package/docs/modules/rust/shared/content-composer/functions.md +0 -114
- package/docs/modules/rust/shared/content-composer/module.md +0 -147
- package/docs/modules/rust/shared/content-composer/types.md +0 -93
- package/docs/modules/rust/shared/content-parser/functions.md +0 -72
- package/docs/modules/rust/shared/content-parser/module.md +0 -99
- package/docs/modules/rust/shared/content-parser/types.md +0 -71
- package/docs/modules/rust/shared/corpus/module.md +0 -24
- package/docs/modules/rust/shared/corpus/types.md +0 -141
- package/docs/modules/rust/shared/document/module.md +0 -25
- package/docs/modules/rust/shared/document/types.md +0 -154
- package/docs/modules/rust/shared/encode/module.md +0 -22
- package/docs/modules/rust/shared/encode/traits.md +0 -304
- package/docs/modules/rust/shared/error/module.md +0 -28
- package/docs/modules/rust/shared/error/types.md +0 -302
- package/docs/modules/rust/shared/kbid/module.md +0 -24
- package/docs/modules/rust/shared/kbid/types.md +0 -147
- package/docs/modules/rust/shared/memory/functions.md +0 -209
- package/docs/modules/rust/shared/memory/module.md +0 -24
- package/docs/modules/rust/shared/module.md +0 -196
- package/docs/modules/rust/shared/pipeline/functions.md +0 -141
- package/docs/modules/rust/shared/pipeline/module.md +0 -62
- package/docs/modules/rust/shared/pipeline/types.md +0 -43
- package/docs/modules/rust/shared/query/module.md +0 -27
- package/docs/modules/rust/shared/query/types.md +0 -236
- package/docs/modules/rust/shared/section/module.md +0 -25
- package/docs/modules/rust/shared/section/types.md +0 -294
- package/docs/modules/rust/shared/term/module.md +0 -25
- package/docs/modules/rust/shared/term/types.md +0 -139
- package/docs/modules/typescript/cli.md +0 -131
- package/docs/modules/typescript/kbdb-worker.md +0 -150
- package/docs/modules/typescript/overview.md +0 -400
- package/docs/modules/typescript/shared/auto-capture/module.md +0 -73
- package/docs/modules/typescript/shared/cli/constants.md +0 -23
- package/docs/modules/typescript/shared/cli/functions.md +0 -809
- package/docs/modules/typescript/shared/cli/module.md +0 -138
- package/docs/modules/typescript/shared/cli/typings.md +0 -197
- package/docs/modules/typescript/shared/embedding/functions.md +0 -200
- package/docs/modules/typescript/shared/embedding/module.md +0 -77
- package/docs/modules/typescript/shared/embedding/typings.md +0 -124
- package/docs/modules/typescript/shared/hash/functions.md +0 -20
- package/docs/modules/typescript/shared/hash/module.md +0 -21
- package/docs/modules/typescript/shared/log/constants.md +0 -82
- package/docs/modules/typescript/shared/log/functions.md +0 -131
- package/docs/modules/typescript/shared/log/module.md +0 -153
- package/docs/modules/typescript/shared/log/typings.md +0 -82
- package/docs/modules/typescript/shared/mcp/classes.md +0 -179
- package/docs/modules/typescript/shared/mcp/functions.md +0 -386
- package/docs/modules/typescript/shared/mcp/module.md +0 -160
- package/docs/modules/typescript/shared/mcp/typings.md +0 -529
- package/docs/modules/typescript/shared/module.md +0 -110
- package/docs/modules/typescript/shared/platform/functions.md +0 -42
- package/docs/modules/typescript/shared/platform/module.md +0 -25
- package/docs/modules/typescript/shared/runtime/functions.md +0 -26
- package/docs/modules/typescript/shared/runtime/module.md +0 -27
- package/docs/modules/typescript/shared/runtime/typings.md +0 -13
- package/docs/modules/typescript/shared/version/module.md +0 -27
- package/docs/modules/typescript/shared/wasm-codec/functions.md +0 -391
- package/docs/modules/typescript/shared/wasm-codec/module.md +0 -98
- package/docs/modules/typescript/shared/worker-client/classes.md +0 -264
- package/docs/modules/typescript/shared/worker-client/functions.md +0 -175
- package/docs/modules/typescript/shared/worker-client/module.md +0 -92
- package/docs/modules/typescript/shared/worker-client/typings.md +0 -511
- package/docs/modules/typescript/shared/worker-daemon/classes.md +0 -239
- package/docs/modules/typescript/shared/worker-daemon/constants.md +0 -37
- package/docs/modules/typescript/shared/worker-daemon/functions.md +0 -234
- package/docs/modules/typescript/shared/worker-daemon/module.md +0 -118
- package/docs/modules/typescript/shared/worker-daemon/typings.md +0 -132
- package/docs/overview.md +0 -191
- package/docs/release-notes/0.1.0.md +0 -189
- package/docs/release-notes/0.1.1.md +0 -46
- package/docs/release-notes/0.1.2.md +0 -38
- package/docs/release-notes/0.1.3.md +0 -42
- package/docs/release-notes/0.2.0.md +0 -147
- package/docs/release-notes/0.3.0.md +0 -89
- package/docs/release-notes/0.3.1.md +0 -121
- package/docs/release-notes/0.3.2.md +0 -64
- package/docs/release-notes/0.4.0.md +0 -80
- package/docs/release-notes/0.4.1.md +0 -149
- package/docs/release-notes/0.4.3.md +0 -60
- package/docs/release-notes/0.5.0.md +0 -41
- package/docs/release-notes/README.md +0 -16
package/dist/worker.mjs
CHANGED
|
@@ -17,7 +17,7 @@ import {
|
|
|
17
17
|
resolveBaseDir,
|
|
18
18
|
resolveLogLevel,
|
|
19
19
|
resolveWasmDir
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-QLJ33C74.mjs";
|
|
21
21
|
|
|
22
22
|
// src/worker.ts
|
|
23
23
|
import { existsSync as existsSync5 } from "node:fs";
|
|
@@ -819,6 +819,17 @@ function emptyItem(kbid, score) {
|
|
|
819
819
|
};
|
|
820
820
|
}
|
|
821
821
|
|
|
822
|
+
// src/shared/worker-daemon/functions/validate-daemon-path.function.ts
|
|
823
|
+
function validateDaemonPath(path) {
|
|
824
|
+
if (!path.startsWith("/")) {
|
|
825
|
+
throw new IpcError(-32602, `path must be absolute: ${path}`);
|
|
826
|
+
}
|
|
827
|
+
if (path.split("/").includes("..")) {
|
|
828
|
+
throw new IpcError(-32602, `path traversal not allowed: ${path}`);
|
|
829
|
+
}
|
|
830
|
+
return path;
|
|
831
|
+
}
|
|
832
|
+
|
|
822
833
|
// src/shared/embedding/functions/rebuild-vectors.function.ts
|
|
823
834
|
import { readdirSync as readdirSync2, readFileSync as readFileSync5, existsSync as existsSync3 } from "node:fs";
|
|
824
835
|
import { join as join5 } from "node:path";
|
|
@@ -994,6 +1005,7 @@ function encodeAddSectionParams(params) {
|
|
|
994
1005
|
const replaceByte = new Uint8Array([
|
|
995
1006
|
params.replace === true ? 1 : 0
|
|
996
1007
|
]);
|
|
1008
|
+
const levelBytes = params.level != null ? new Uint8Array([1, params.level]) : new Uint8Array([0]);
|
|
997
1009
|
const parts = [
|
|
998
1010
|
encodeSectionType(params.sectionType, params.mimeType),
|
|
999
1011
|
encodeString(params.content),
|
|
@@ -1005,7 +1017,8 @@ function encodeAddSectionParams(params) {
|
|
|
1005
1017
|
encodeOptionString(params.sourceMtime),
|
|
1006
1018
|
tagsCountBytes,
|
|
1007
1019
|
...tagParts,
|
|
1008
|
-
replaceByte
|
|
1020
|
+
replaceByte,
|
|
1021
|
+
levelBytes
|
|
1009
1022
|
];
|
|
1010
1023
|
const totalLen = parts.reduce((sum, p) => sum + p.length, 0);
|
|
1011
1024
|
const result = new Uint8Array(totalLen);
|
|
@@ -1232,6 +1245,13 @@ function decodePagedSearchResult(bytes) {
|
|
|
1232
1245
|
}
|
|
1233
1246
|
|
|
1234
1247
|
// src/shared/wasm-codec/functions/decode-section-records.function.ts
|
|
1248
|
+
function decodeOptionU8(bytes, offset) {
|
|
1249
|
+
const tag = bytes[offset];
|
|
1250
|
+
if (tag === 1) {
|
|
1251
|
+
return { value: bytes[offset + 1], bytesRead: 2 };
|
|
1252
|
+
}
|
|
1253
|
+
return { value: null, bytesRead: 1 };
|
|
1254
|
+
}
|
|
1235
1255
|
function decodeOptionString2(bytes, offset) {
|
|
1236
1256
|
const tag = bytes[offset];
|
|
1237
1257
|
if (tag === 0) {
|
|
@@ -1328,6 +1348,12 @@ function decodeSectionRecords(bytes) {
|
|
|
1328
1348
|
offset += v.bytesRead;
|
|
1329
1349
|
supersedes = v.value;
|
|
1330
1350
|
}
|
|
1351
|
+
let level = null;
|
|
1352
|
+
if (offset < bytes.length) {
|
|
1353
|
+
const v = decodeOptionU8(bytes, offset);
|
|
1354
|
+
offset += v.bytesRead;
|
|
1355
|
+
level = v.value;
|
|
1356
|
+
}
|
|
1331
1357
|
const record = {
|
|
1332
1358
|
kbid: kbid.value,
|
|
1333
1359
|
docid: docid.value,
|
|
@@ -1348,7 +1374,8 @@ function decodeSectionRecords(bytes) {
|
|
|
1348
1374
|
sourceMtime,
|
|
1349
1375
|
updatedAt,
|
|
1350
1376
|
tags,
|
|
1351
|
-
supersedes
|
|
1377
|
+
supersedes,
|
|
1378
|
+
level
|
|
1352
1379
|
};
|
|
1353
1380
|
if (st.mimeType !== void 0) {
|
|
1354
1381
|
record.mimeType = st.mimeType;
|
|
@@ -2314,7 +2341,8 @@ var WorkerDaemon = class {
|
|
|
2314
2341
|
sourcePath: typeof params["sourcePath"] === "string" ? params["sourcePath"] : void 0,
|
|
2315
2342
|
sourceMtime: typeof params["sourceMtime"] === "string" ? params["sourceMtime"] : void 0,
|
|
2316
2343
|
tags,
|
|
2317
|
-
replace: params["replace"] === true
|
|
2344
|
+
replace: params["replace"] === true,
|
|
2345
|
+
level: typeof params["level"] === "number" ? params["level"] : void 0
|
|
2318
2346
|
};
|
|
2319
2347
|
const encoded = encodeAddSectionParams(input);
|
|
2320
2348
|
const bytes = this.callWasmSync("worker_add_section", encoded);
|
|
@@ -2345,7 +2373,8 @@ var WorkerDaemon = class {
|
|
|
2345
2373
|
title: params["title"] ?? null,
|
|
2346
2374
|
description: params["description"] ?? null,
|
|
2347
2375
|
docid: params["docid"] ?? null,
|
|
2348
|
-
typeName: updTypeName
|
|
2376
|
+
typeName: updTypeName,
|
|
2377
|
+
level: typeof params["level"] === "number" ? params["level"] : void 0
|
|
2349
2378
|
};
|
|
2350
2379
|
const encoded = encodeUpdateSectionParams(oldKbid, input);
|
|
2351
2380
|
const bytes = this.callWasmSync("worker_update_section", encoded);
|
|
@@ -2508,7 +2537,8 @@ var WorkerDaemon = class {
|
|
|
2508
2537
|
}
|
|
2509
2538
|
// -- Export (read operation, no lock required) --
|
|
2510
2539
|
handleExport(params) {
|
|
2511
|
-
const targetPath = params["targetPath"] ?? params["path"] ?? "
|
|
2540
|
+
const targetPath = params["targetPath"] ?? params["path"] ?? join6(this.targetDir, "kbdb-export");
|
|
2541
|
+
validateDaemonPath(targetPath);
|
|
2512
2542
|
const encoded = new TextEncoder().encode(targetPath);
|
|
2513
2543
|
const start = Date.now();
|
|
2514
2544
|
const bytes = this.callWasmSync("worker_export", encoded);
|
|
@@ -2524,6 +2554,7 @@ var WorkerDaemon = class {
|
|
|
2524
2554
|
}
|
|
2525
2555
|
async handleImport(params) {
|
|
2526
2556
|
const sourcePath = params["sourcePath"] ?? "";
|
|
2557
|
+
validateDaemonPath(sourcePath);
|
|
2527
2558
|
const dryRun = params["dryRun"] === true;
|
|
2528
2559
|
const start = Date.now();
|
|
2529
2560
|
const sectionCount = this.countFiles(
|