@dikolab/kbdb 0.3.1 → 0.4.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 +108 -126
- package/dist/chunk-BJPSPNGX.mjs +223 -0
- package/dist/chunk-BJPSPNGX.mjs.map +7 -0
- package/dist/cli.cjs +956 -319
- package/dist/cli.cjs.map +4 -4
- package/dist/cli.d.ts +9 -0
- package/dist/cli.mjs +840 -321
- package/dist/cli.mjs.map +4 -4
- package/dist/kbdb-worker.cjs +714 -94
- package/dist/kbdb-worker.cjs.map +4 -4
- package/dist/mod.cjs +122 -16
- package/dist/mod.cjs.map +3 -3
- package/dist/mod.d.ts +23 -2
- package/dist/mod.mjs +121 -16
- package/dist/mod.mjs.map +3 -3
- package/dist/src/shared/cli/functions/dispatch-command.function.d.ts +2 -1
- package/dist/src/shared/cli/functions/find-db.function.d.ts +7 -8
- package/dist/src/shared/cli/functions/handle-mcp.function.d.ts +1 -1
- package/dist/src/shared/cli/functions/parse-args.function.d.ts +4 -3
- package/dist/src/shared/cli/functions/resolve-kbid-prefix.function.d.ts +27 -0
- package/dist/src/shared/cli/functions/resolve-raw-db-path.function.d.ts +10 -0
- package/dist/src/shared/cli/functions/run-cli.function.d.ts +3 -1
- package/dist/src/shared/cli/functions/run-content.function.d.ts +8 -3
- package/dist/src/shared/cli/functions/run-import.function.d.ts +27 -0
- package/dist/src/shared/cli/functions/run-recall.function.d.ts +10 -4
- package/dist/src/shared/cli/functions/run-search.function.d.ts +7 -0
- package/dist/src/shared/cli/functions/run-unlearn.function.d.ts +9 -4
- package/dist/src/shared/cli/functions/run-worker-restart.function.d.ts +11 -0
- package/dist/src/shared/cli/functions/run-worker-stop.function.d.ts +11 -0
- package/dist/src/shared/cli/index.d.ts +2 -0
- package/dist/src/shared/cli/typings/cli-deps.interface.d.ts +4 -1
- package/dist/src/shared/cli/typings/cli-options.interface.d.ts +17 -0
- package/dist/src/shared/cli/typings/dispatch-client.type.d.ts +2 -1
- package/dist/src/shared/cli/typings/search-display.model.d.ts +6 -0
- package/dist/src/shared/embedding/classes/api-embedding-provider.class.d.ts +33 -0
- package/dist/src/shared/embedding/classes/onnx-embedding-provider.class.d.ts +33 -0
- package/dist/src/shared/embedding/functions/append-vector-entry.function.d.ts +14 -0
- package/dist/src/shared/embedding/functions/create-embedding-provider.function.d.ts +12 -0
- package/dist/src/shared/embedding/functions/detect-stale-vectors.function.d.ts +16 -0
- package/dist/src/shared/embedding/functions/parse-api-embedding-response.function.d.ts +11 -0
- package/dist/src/shared/embedding/functions/rebuild-vectors.function.d.ts +15 -0
- package/dist/src/shared/embedding/functions/scan-semantic-contradictions.function.d.ts +13 -0
- package/dist/src/shared/embedding/index.d.ts +7 -0
- package/dist/src/shared/embedding/typings/semantic-contradiction.model.d.ts +21 -0
- package/dist/src/shared/embedding/typings/stale-vectors-report.model.d.ts +16 -0
- package/dist/src/shared/mcp/classes/mcp-server.class.d.ts +22 -2
- package/dist/src/shared/mcp/functions/create-mcp-server.function.d.ts +6 -1
- package/dist/src/shared/mcp/functions/has-sampling-capability.function.d.ts +8 -0
- package/dist/src/shared/mcp/functions/run-auto-capture.function.d.ts +26 -0
- package/dist/src/shared/mcp/typings/mcp-client.interface.d.ts +2 -0
- package/dist/src/shared/mcp/typings/mcp-integrity-check-result.model.d.ts +24 -0
- package/dist/src/shared/mcp/typings/mcp-worker-client.interface.d.ts +3 -1
- package/dist/src/shared/version/constants/version.constant.d.ts +1 -1
- package/dist/src/shared/wasm-codec/typings/paged-search-result.model.d.ts +2 -0
- package/dist/src/shared/worker-client/classes/worker-client.class.d.ts +31 -1
- package/dist/src/shared/worker-client/constants/request-timeout.constant.d.ts +2 -0
- package/dist/src/shared/worker-client/constants/retry-defaults.constant.d.ts +2 -0
- package/dist/src/shared/worker-client/functions/get-or-create-client.function.d.ts +20 -0
- package/dist/src/shared/worker-client/functions/retry-on-timeout.function.d.ts +17 -0
- package/dist/src/shared/worker-client/index.d.ts +4 -1
- package/dist/src/shared/worker-client/typings/import-result.model.d.ts +16 -0
- package/dist/src/shared/worker-client/typings/integrity-check-result.model.d.ts +24 -0
- package/dist/src/shared/worker-client/typings/search-params.model.d.ts +4 -0
- package/dist/src/shared/worker-client/typings/search-result.model.d.ts +6 -0
- package/dist/src/shared/worker-client/typings/worker-client-options.interface.d.ts +7 -0
- package/dist/src/shared/worker-daemon/classes/worker-daemon.class.d.ts +5 -0
- package/dist/src/shared/worker-daemon/functions/create-ipc-server.function.d.ts +11 -11
- package/dist/src/shared/worker-daemon/functions/embed-after-learn.function.d.ts +13 -0
- package/dist/src/shared/worker-daemon/functions/handle-hybrid-search.function.d.ts +44 -0
- package/dist/src/shared/worker-daemon/functions/handle-import.function.d.ts +14 -0
- package/dist/src/shared/worker-daemon/functions/handle-read-ops.function.d.ts +7 -1
- package/dist/src/shared/worker-daemon/functions/handle-write-ops.function.d.ts +9 -4
- package/dist/src/shared/worker-daemon/typings/handler-context.interface.d.ts +3 -0
- package/dist/wasm/fs-database/kbdb_fs_database.d.ts +16 -85
- package/dist/wasm/fs-database/kbdb_fs_database.js +16 -85
- package/dist/wasm/fs-database/kbdb_fs_database_bg.wasm +0 -0
- package/dist/wasm/kb-worker/kbdb_worker.d.ts +20 -115
- package/dist/wasm/kb-worker/kbdb_worker.js +20 -115
- package/dist/wasm/kb-worker/kbdb_worker_bg.wasm +0 -0
- package/dist/wasm/query-parser/kbdb_query_parser_bg.wasm +0 -0
- package/dist/worker.d.ts +8 -0
- package/dist/worker.mjs +606 -102
- package/dist/worker.mjs.map +4 -4
- package/docs/details/README.md +4 -0
- package/docs/details/agent-tooling.md +122 -0
- package/docs/details/cli.md +78 -12
- package/docs/details/knowledge-base.md +173 -0
- package/docs/details/library-api.md +42 -2
- package/docs/details/mcp-server.md +39 -8
- package/docs/details/search-and-ranking.md +56 -0
- package/docs/goals/cli.md +110 -34
- package/docs/goals/mcp.md +22 -19
- package/docs/goals/query-parser.md +8 -0
- package/docs/goals/worker-client.md +62 -1
- package/docs/goals/worker-daemon.md +52 -10
- package/docs/modules/typescript/cli.md +1 -1
- package/docs/modules/typescript/shared/cli/functions.md +116 -13
- package/docs/modules/typescript/shared/cli/module.md +33 -20
- package/docs/modules/typescript/shared/cli/typings.md +4 -0
- package/docs/modules/typescript/shared/embedding/functions.md +104 -25
- package/docs/modules/typescript/shared/mcp/module.md +1 -1
- package/docs/modules/typescript/shared/mcp/typings.md +8 -1
- package/docs/modules/typescript/shared/worker-client/module.md +9 -1
- package/docs/modules/typescript/shared/worker-client/typings.md +3 -0
- package/docs/modules/typescript/shared/worker-daemon/module.md +6 -3
- package/docs/overview.md +43 -22
- package/docs/release-notes/0.3.1.md +10 -0
- package/docs/release-notes/0.3.2.md +64 -0
- package/docs/release-notes/0.4.0.md +80 -0
- package/docs/release-notes/README.md +2 -0
- package/mod.ts +33 -15
- package/package.json +11 -10
- package/dist/chunk-JG2UCKLI.mjs +0 -95
- package/dist/chunk-JG2UCKLI.mjs.map +0 -7
- package/src/cli.ts +0 -71
- package/src/shared/auto-capture/classes/auto-capture-controller.class.ts +0 -62
- package/src/shared/auto-capture/constants/auto-capture-defaults.constant.ts +0 -15
- package/src/shared/auto-capture/functions/build-capture-prompt.function.ts +0 -27
- package/src/shared/auto-capture/functions/evaluate-trigger.function.ts +0 -50
- package/src/shared/auto-capture/index.ts +0 -7
- package/src/shared/auto-capture/typings/auto-capture-config.interface.ts +0 -13
- package/src/shared/auto-capture/typings/auto-capture-state.interface.ts +0 -13
- package/src/shared/auto-capture/typings/auto-capture-trigger.interface.ts +0 -7
- package/src/shared/cli/constants/defaults.constant.ts +0 -19
- package/src/shared/cli/constants/global-help.constant.ts +0 -73
- package/src/shared/cli/constants/help-text.constant.ts +0 -4
- package/src/shared/cli/constants/leaf-help.constant.ts +0 -219
- package/src/shared/cli/constants/memory-protocol-body.constant.ts +0 -39
- package/src/shared/cli/constants/query-guidance-body.constant.ts +0 -37
- package/src/shared/cli/constants/subcommand-help.constant.ts +0 -195
- package/src/shared/cli/functions/collect-files.function.ts +0 -55
- package/src/shared/cli/functions/compute-section-kbid.function.ts +0 -49
- package/src/shared/cli/functions/dispatch-command.function.ts +0 -390
- package/src/shared/cli/functions/ensure-db.function.ts +0 -21
- package/src/shared/cli/functions/error-to-message.function.ts +0 -9
- package/src/shared/cli/functions/find-db.function.ts +0 -20
- package/src/shared/cli/functions/format-mcp-output.function.ts +0 -41
- package/src/shared/cli/functions/format-output.function.ts +0 -95
- package/src/shared/cli/functions/format-text-output.function.ts +0 -42
- package/src/shared/cli/functions/generate-group-help.function.ts +0 -41
- package/src/shared/cli/functions/generate-help.function.ts +0 -654
- package/src/shared/cli/functions/handle-data-command.function.ts +0 -67
- package/src/shared/cli/functions/handle-mcp.function.ts +0 -56
- package/src/shared/cli/functions/handle-migrate.function.ts +0 -64
- package/src/shared/cli/functions/hydrate-search-previews.function.ts +0 -29
- package/src/shared/cli/functions/install-default-skills.function.ts +0 -296
- package/src/shared/cli/functions/is-stdin-tty.function.ts +0 -12
- package/src/shared/cli/functions/parse-args.function.ts +0 -156
- package/src/shared/cli/functions/prompt-user.function.ts +0 -36
- package/src/shared/cli/functions/resolve-skill-names.function.ts +0 -43
- package/src/shared/cli/functions/run-agent-create.function.ts +0 -114
- package/src/shared/cli/functions/run-agent-delete.function.ts +0 -47
- package/src/shared/cli/functions/run-agent-get.function.ts +0 -166
- package/src/shared/cli/functions/run-agent-list.function.ts +0 -58
- package/src/shared/cli/functions/run-check.function.ts +0 -159
- package/src/shared/cli/functions/run-cli.function.ts +0 -299
- package/src/shared/cli/functions/run-content.function.ts +0 -47
- package/src/shared/cli/functions/run-db-init.function.ts +0 -44
- package/src/shared/cli/functions/run-db-migrate.function.ts +0 -40
- package/src/shared/cli/functions/run-export.function.ts +0 -40
- package/src/shared/cli/functions/run-gc.function.ts +0 -51
- package/src/shared/cli/functions/run-init.function.ts +0 -93
- package/src/shared/cli/functions/run-learn.function.ts +0 -223
- package/src/shared/cli/functions/run-migrate.function.ts +0 -85
- package/src/shared/cli/functions/run-rebuild.function.ts +0 -47
- package/src/shared/cli/functions/run-recall.function.ts +0 -66
- package/src/shared/cli/functions/run-search.function.ts +0 -133
- package/src/shared/cli/functions/run-skill-delete.function.ts +0 -47
- package/src/shared/cli/functions/run-skill-get.function.ts +0 -90
- package/src/shared/cli/functions/run-skill-learn.function.ts +0 -70
- package/src/shared/cli/functions/run-skill-list.function.ts +0 -74
- package/src/shared/cli/functions/run-status.function.ts +0 -29
- package/src/shared/cli/functions/run-unlearn.function.ts +0 -58
- package/src/shared/cli/functions/version-gate.function.ts +0 -44
- package/src/shared/cli/functions/wrap-command.function.ts +0 -34
- package/src/shared/cli/index.ts +0 -55
- package/src/shared/cli/typings/agent-create-client.interface.ts +0 -47
- package/src/shared/cli/typings/agent-get-client.interface.ts +0 -39
- package/src/shared/cli/typings/check-client.interface.ts +0 -66
- package/src/shared/cli/typings/cli-deps.interface.ts +0 -54
- package/src/shared/cli/typings/cli-options.interface.ts +0 -72
- package/src/shared/cli/typings/command-result.model.ts +0 -15
- package/src/shared/cli/typings/disconnectable-client.interface.ts +0 -29
- package/src/shared/cli/typings/dispatch-client.type.ts +0 -46
- package/src/shared/cli/typings/learn-client.interface.ts +0 -53
- package/src/shared/cli/typings/learn-io.interface.ts +0 -5
- package/src/shared/cli/typings/learn-result.model.ts +0 -27
- package/src/shared/cli/typings/search-client.interface.ts +0 -73
- package/src/shared/cli/typings/search-display.model.ts +0 -54
- package/src/shared/dir-resolver/functions/join-path.function.ts +0 -13
- package/src/shared/dir-resolver/functions/resolve-base-dir.function.ts +0 -25
- package/src/shared/dir-resolver/functions/resolve-wasm-dir.function.ts +0 -5
- package/src/shared/dir-resolver/functions/resolve-worker-script.function.ts +0 -13
- package/src/shared/dir-resolver/index.ts +0 -11
- package/src/shared/dir-resolver/typings/base-dir.interface.ts +0 -4
- package/src/shared/embedding/classes/null-embedding-provider.class.ts +0 -29
- package/src/shared/embedding/constants/near-duplicate-thresholds.constant.ts +0 -17
- package/src/shared/embedding/functions/build-vector-index.function.ts +0 -79
- package/src/shared/embedding/functions/cosine-similarity.function.ts +0 -31
- package/src/shared/embedding/functions/detect-near-duplicates.function.ts +0 -69
- package/src/shared/embedding/functions/jaccard-coefficient.function.ts +0 -26
- package/src/shared/embedding/functions/read-vector-index-meta.function.ts +0 -44
- package/src/shared/embedding/functions/rrf-fuse.function.ts +0 -33
- package/src/shared/embedding/functions/search-vectors.function.ts +0 -59
- package/src/shared/embedding/index.ts +0 -20
- package/src/shared/embedding/typings/embedding-config.interface.ts +0 -23
- package/src/shared/embedding/typings/embedding-provider.interface.ts +0 -25
- package/src/shared/embedding/typings/near-duplicate-candidate.model.ts +0 -25
- package/src/shared/embedding/typings/near-duplicate-result.model.ts +0 -26
- package/src/shared/embedding/typings/vector-index-entry.model.ts +0 -13
- package/src/shared/embedding/typings/vector-index-meta.model.ts +0 -14
- package/src/shared/embedding/typings/vector-search-result.model.ts +0 -8
- package/src/shared/hash/functions/compute-sha256.ts +0 -17
- package/src/shared/hash/index.ts +0 -1
- package/src/shared/mcp/classes/mcp-server.class.ts +0 -480
- package/src/shared/mcp/constants/mcp-error-codes.constant.ts +0 -30
- package/src/shared/mcp/constants/tool-agent-create.constant.ts +0 -39
- package/src/shared/mcp/constants/tool-agent-delete.constant.ts +0 -26
- package/src/shared/mcp/constants/tool-agent-get.constant.ts +0 -24
- package/src/shared/mcp/constants/tool-agent-list.constant.ts +0 -18
- package/src/shared/mcp/constants/tool-auto-capture-review.constant.ts +0 -32
- package/src/shared/mcp/constants/tool-check.constant.ts +0 -21
- package/src/shared/mcp/constants/tool-content.constant.ts +0 -29
- package/src/shared/mcp/constants/tool-export.constant.ts +0 -27
- package/src/shared/mcp/constants/tool-gc.constant.ts +0 -21
- package/src/shared/mcp/constants/tool-learn.constant.ts +0 -58
- package/src/shared/mcp/constants/tool-rebuild.constant.ts +0 -21
- package/src/shared/mcp/constants/tool-recall.constant.ts +0 -36
- package/src/shared/mcp/constants/tool-retrieve.constant.ts +0 -31
- package/src/shared/mcp/constants/tool-search.constant.ts +0 -51
- package/src/shared/mcp/constants/tool-skill-delete.constant.ts +0 -24
- package/src/shared/mcp/constants/tool-skill-get.constant.ts +0 -27
- package/src/shared/mcp/constants/tool-skill-learn.constant.ts +0 -37
- package/src/shared/mcp/constants/tool-skill-list.constant.ts +0 -18
- package/src/shared/mcp/constants/tool-status.constant.ts +0 -20
- package/src/shared/mcp/constants/tool-unlearn.constant.ts +0 -25
- package/src/shared/mcp/functions/as-boolean-or-undefined.function.ts +0 -11
- package/src/shared/mcp/functions/as-string-array-or-undefined.function.ts +0 -17
- package/src/shared/mcp/functions/as-string-array.function.ts +0 -15
- package/src/shared/mcp/functions/as-string.function.ts +0 -10
- package/src/shared/mcp/functions/build-skills-text.function.ts +0 -43
- package/src/shared/mcp/functions/create-mcp-server.function.ts +0 -14
- package/src/shared/mcp/functions/create-prompt-definitions.function.ts +0 -102
- package/src/shared/mcp/functions/create-resource-templates.function.ts +0 -23
- package/src/shared/mcp/functions/create-tool-definitions.function.ts +0 -530
- package/src/shared/mcp/functions/extract-skill-arguments.function.ts +0 -27
- package/src/shared/mcp/functions/handle-agent-create.function.ts +0 -116
- package/src/shared/mcp/functions/handle-agent-delete.function.ts +0 -50
- package/src/shared/mcp/functions/handle-agent-get.function.ts +0 -160
- package/src/shared/mcp/functions/handle-agent-list.function.ts +0 -50
- package/src/shared/mcp/functions/handle-agent-prompt.function.ts +0 -68
- package/src/shared/mcp/functions/handle-completion.function.ts +0 -114
- package/src/shared/mcp/functions/handle-mcp-request.function.ts +0 -202
- package/src/shared/mcp/functions/handle-prompt-get.function.ts +0 -220
- package/src/shared/mcp/functions/handle-recall.function.ts +0 -66
- package/src/shared/mcp/functions/handle-resource-read.function.ts +0 -56
- package/src/shared/mcp/functions/handle-roots-list.function.ts +0 -29
- package/src/shared/mcp/functions/handle-skill-prompt.function.ts +0 -44
- package/src/shared/mcp/functions/handle-tool-auto-capture-review.function.ts +0 -24
- package/src/shared/mcp/functions/handle-tool-call.function.ts +0 -560
- package/src/shared/mcp/functions/handle-tool-check.function.ts +0 -21
- package/src/shared/mcp/functions/handle-tool-content.function.ts +0 -23
- package/src/shared/mcp/functions/handle-tool-export.function.ts +0 -25
- package/src/shared/mcp/functions/handle-tool-gc.function.ts +0 -21
- package/src/shared/mcp/functions/handle-tool-learn.function.ts +0 -69
- package/src/shared/mcp/functions/handle-tool-rebuild.function.ts +0 -21
- package/src/shared/mcp/functions/handle-tool-retrieve.function.ts +0 -40
- package/src/shared/mcp/functions/handle-tool-search.function.ts +0 -47
- package/src/shared/mcp/functions/handle-tool-skill-delete.function.ts +0 -34
- package/src/shared/mcp/functions/handle-tool-skill-get.function.ts +0 -59
- package/src/shared/mcp/functions/handle-tool-skill-learn.function.ts +0 -61
- package/src/shared/mcp/functions/handle-tool-skill-list.function.ts +0 -39
- package/src/shared/mcp/functions/handle-tool-status.function.ts +0 -21
- package/src/shared/mcp/functions/handle-tool-unlearn.function.ts +0 -24
- package/src/shared/mcp/functions/parse-agent-meta.function.ts +0 -27
- package/src/shared/mcp/functions/parse-skill-arguments.function.ts +0 -36
- package/src/shared/mcp/functions/parse-skill-content.function.ts +0 -38
- package/src/shared/mcp/functions/read-agent-meta.function.ts +0 -41
- package/src/shared/mcp/functions/resolve-skill-refs.function.ts +0 -50
- package/src/shared/mcp/functions/run-startup-health-check.function.ts +0 -34
- package/src/shared/mcp/functions/serialize-skill-content.function.ts +0 -12
- package/src/shared/mcp/functions/should-emit-log.function.ts +0 -38
- package/src/shared/mcp/index.ts +0 -28
- package/src/shared/mcp/typings/agent-types.interface.ts +0 -39
- package/src/shared/mcp/typings/log-types.interface.ts +0 -26
- package/src/shared/mcp/typings/mcp-capabilities.interface.ts +0 -16
- package/src/shared/mcp/typings/mcp-client.interface.ts +0 -317
- package/src/shared/mcp/typings/mcp-completion.interface.ts +0 -45
- package/src/shared/mcp/typings/mcp-content-result.model.ts +0 -9
- package/src/shared/mcp/typings/mcp-export-result.model.ts +0 -11
- package/src/shared/mcp/typings/mcp-gc-result.model.ts +0 -15
- package/src/shared/mcp/typings/mcp-integrity-check-result.model.ts +0 -17
- package/src/shared/mcp/typings/mcp-integrity-error.model.ts +0 -15
- package/src/shared/mcp/typings/mcp-notification.interface.ts +0 -9
- package/src/shared/mcp/typings/mcp-rebuild-result.model.ts +0 -9
- package/src/shared/mcp/typings/mcp-request.interface.ts +0 -11
- package/src/shared/mcp/typings/mcp-resource-result.interface.ts +0 -12
- package/src/shared/mcp/typings/mcp-resource-template.interface.ts +0 -11
- package/src/shared/mcp/typings/mcp-response.interface.ts +0 -18
- package/src/shared/mcp/typings/mcp-server-info.interface.ts +0 -7
- package/src/shared/mcp/typings/mcp-server-state.interface.ts +0 -17
- package/src/shared/mcp/typings/mcp-tool-annotations.interface.ts +0 -32
- package/src/shared/mcp/typings/mcp-tool-definition.interface.ts +0 -16
- package/src/shared/mcp/typings/mcp-tool-result.interface.ts +0 -19
- package/src/shared/mcp/typings/mcp-types.interface.ts +0 -158
- package/src/shared/mcp/typings/mcp-worker-client.interface.ts +0 -243
- package/src/shared/mcp/typings/prompt-types.interface.ts +0 -39
- package/src/shared/mcp/typings/remove-section-result.model.ts +0 -10
- package/src/shared/mcp/typings/sampling-types.interface.ts +0 -48
- package/src/shared/mcp/typings/skill-types.interface.ts +0 -29
- package/src/shared/mcp/typings/tool-call-result.model.ts +0 -18
- package/src/shared/mod.ts +0 -1
- package/src/shared/platform/functions/get-ipc-path.function.ts +0 -19
- package/src/shared/platform/functions/get-tmpdir.function.ts +0 -8
- package/src/shared/platform/functions/is-process-alive.function.ts +0 -17
- package/src/shared/platform/index.ts +0 -3
- package/src/shared/runtime/functions/detect-runtime.ts +0 -14
- package/src/shared/runtime/functions/get-args.ts +0 -16
- package/src/shared/runtime/index.ts +0 -3
- package/src/shared/runtime/typings/runtime.ts +0 -2
- package/src/shared/sync/functions/build-import-report.function.ts +0 -40
- package/src/shared/sync/functions/parse-export-entry.function.ts +0 -45
- package/src/shared/sync/functions/resolve-conflict.function.ts +0 -31
- package/src/shared/sync/functions/serialize-export-entry.function.ts +0 -18
- package/src/shared/sync/index.ts +0 -9
- package/src/shared/sync/typings/conflict-resolution.type.ts +0 -8
- package/src/shared/sync/typings/export-entry.interface.ts +0 -13
- package/src/shared/sync/typings/export-options.interface.ts +0 -9
- package/src/shared/sync/typings/import-options.interface.ts +0 -7
- package/src/shared/sync/typings/import-report.interface.ts +0 -15
- package/src/shared/version/constants/version.constant.ts +0 -2
- package/src/shared/version/index.ts +0 -1
- package/src/shared/wasm-codec/functions/decode-add-section-result.function.ts +0 -112
- package/src/shared/wasm-codec/functions/decode-compose-output.function.ts +0 -16
- package/src/shared/wasm-codec/functions/decode-document-manifest-list.function.ts +0 -70
- package/src/shared/wasm-codec/functions/decode-document-manifest.function.ts +0 -87
- package/src/shared/wasm-codec/functions/decode-f32.function.ts +0 -16
- package/src/shared/wasm-codec/functions/decode-key-value-text.function.ts +0 -15
- package/src/shared/wasm-codec/functions/decode-one-recall-result.function.ts +0 -86
- package/src/shared/wasm-codec/functions/decode-option-string.function.ts +0 -24
- package/src/shared/wasm-codec/functions/decode-recall-document.function.ts +0 -59
- package/src/shared/wasm-codec/functions/decode-recall-reference.function.ts +0 -52
- package/src/shared/wasm-codec/functions/decode-recall-result.function.ts +0 -267
- package/src/shared/wasm-codec/functions/decode-recall-sibling.function.ts +0 -43
- package/src/shared/wasm-codec/functions/decode-remove-flag.function.ts +0 -3
- package/src/shared/wasm-codec/functions/decode-scored-results.function.ts +0 -194
- package/src/shared/wasm-codec/functions/decode-section-match.function.ts +0 -80
- package/src/shared/wasm-codec/functions/decode-section-record-list.function.ts +0 -20
- package/src/shared/wasm-codec/functions/decode-section-record-trailing.function.ts +0 -75
- package/src/shared/wasm-codec/functions/decode-section-record.function.ts +0 -85
- package/src/shared/wasm-codec/functions/decode-section-records.function.ts +0 -249
- package/src/shared/wasm-codec/functions/decode-section-type.function.ts +0 -30
- package/src/shared/wasm-codec/functions/decode-string.function.ts +0 -22
- package/src/shared/wasm-codec/functions/decode-u32.function.ts +0 -16
- package/src/shared/wasm-codec/functions/decode-u64.function.ts +0 -16
- package/src/shared/wasm-codec/functions/decode-wasm-list.function.ts +0 -31
- package/src/shared/wasm-codec/functions/encode-add-section-params.function.ts +0 -102
- package/src/shared/wasm-codec/functions/encode-group-params.function.ts +0 -28
- package/src/shared/wasm-codec/functions/encode-identifier-list.function.ts +0 -17
- package/src/shared/wasm-codec/functions/encode-kbid-list.function.ts +0 -17
- package/src/shared/wasm-codec/functions/encode-option-string.function.ts +0 -14
- package/src/shared/wasm-codec/functions/encode-recall-params.function.ts +0 -68
- package/src/shared/wasm-codec/functions/encode-search-params.function.ts +0 -12
- package/src/shared/wasm-codec/functions/encode-section-type.function.ts +0 -18
- package/src/shared/wasm-codec/functions/encode-string.function.ts +0 -9
- package/src/shared/wasm-codec/functions/encode-type-filter-param.function.ts +0 -13
- package/src/shared/wasm-codec/functions/encode-u32.function.ts +0 -5
- package/src/shared/wasm-codec/functions/encode-update-section-params.function.ts +0 -16
- package/src/shared/wasm-codec/index.ts +0 -49
- package/src/shared/wasm-codec/typings/add-section-input.model.ts +0 -45
- package/src/shared/wasm-codec/typings/add-section-result.model.ts +0 -28
- package/src/shared/wasm-codec/typings/document-manifest.model.ts +0 -20
- package/src/shared/wasm-codec/typings/document-section.model.ts +0 -12
- package/src/shared/wasm-codec/typings/item-decoder.type.ts +0 -10
- package/src/shared/wasm-codec/typings/near-duplicate.model.ts +0 -16
- package/src/shared/wasm-codec/typings/paged-search-result.model.ts +0 -22
- package/src/shared/wasm-codec/typings/section-match.model.ts +0 -31
- package/src/shared/wasm-codec/typings/section-record-trailing.model.ts +0 -38
- package/src/shared/wasm-codec/typings/section-record.model.ts +0 -66
- package/src/shared/wasm-codec/typings/section-type-result.model.ts +0 -12
- package/src/shared/worker-client/classes/worker-client.class.ts +0 -466
- package/src/shared/worker-client/functions/compute-context-id.function.ts +0 -18
- package/src/shared/worker-client/functions/create-worker-client.function.ts +0 -70
- package/src/shared/worker-client/functions/discover-daemon.function.ts +0 -47
- package/src/shared/worker-client/functions/handle-ipc-data.function.ts +0 -49
- package/src/shared/worker-client/functions/resolve-db-path.function.ts +0 -21
- package/src/shared/worker-client/functions/send-ipc-request.function.ts +0 -39
- package/src/shared/worker-client/functions/spawn-daemon.function.ts +0 -35
- package/src/shared/worker-client/functions/wait-for-daemon.function.ts +0 -34
- package/src/shared/worker-client/index.ts +0 -44
- package/src/shared/worker-client/typings/add-section-result.model.ts +0 -39
- package/src/shared/worker-client/typings/content-result.model.ts +0 -12
- package/src/shared/worker-client/typings/daemon-info.model.ts +0 -7
- package/src/shared/worker-client/typings/export-result.model.ts +0 -14
- package/src/shared/worker-client/typings/gc-result.model.ts +0 -18
- package/src/shared/worker-client/typings/integrity-check-result.model.ts +0 -43
- package/src/shared/worker-client/typings/json-rpc-response.interface.ts +0 -17
- package/src/shared/worker-client/typings/migrate-result.model.ts +0 -11
- package/src/shared/worker-client/typings/pending-call.interface.ts +0 -7
- package/src/shared/worker-client/typings/rebuild-result.model.ts +0 -12
- package/src/shared/worker-client/typings/recall-document.model.ts +0 -16
- package/src/shared/worker-client/typings/recall-params.model.ts +0 -15
- package/src/shared/worker-client/typings/recall-reference.model.ts +0 -32
- package/src/shared/worker-client/typings/recall-result.model.ts +0 -98
- package/src/shared/worker-client/typings/recall-sibling.model.ts +0 -11
- package/src/shared/worker-client/typings/recall-single-result.model.ts +0 -41
- package/src/shared/worker-client/typings/remove-section-result.model.ts +0 -7
- package/src/shared/worker-client/typings/search-params.model.ts +0 -14
- package/src/shared/worker-client/typings/search-result.model.ts +0 -43
- package/src/shared/worker-client/typings/section.model.ts +0 -43
- package/src/shared/worker-client/typings/status-result.model.ts +0 -14
- package/src/shared/worker-client/typings/version-status.model.ts +0 -28
- package/src/shared/worker-client/typings/worker-client-error.interface.ts +0 -8
- package/src/shared/worker-client/typings/worker-client-options.interface.ts +0 -30
- package/src/shared/worker-daemon/classes/ipc-error.class.ts +0 -22
- package/src/shared/worker-daemon/classes/worker-daemon.class.ts +0 -1291
- package/src/shared/worker-daemon/constants/daemon-defaults.constant.ts +0 -29
- package/src/shared/worker-daemon/constants/wasm-method-map.constant.ts +0 -69
- package/src/shared/worker-daemon/functions/build-ipc-error-response.function.ts +0 -16
- package/src/shared/worker-daemon/functions/check-catalog-version.function.ts +0 -54
- package/src/shared/worker-daemon/functions/check-preconditions.function.ts +0 -28
- package/src/shared/worker-daemon/functions/create-host-imports.function.ts +0 -328
- package/src/shared/worker-daemon/functions/create-ipc-server.function.ts +0 -87
- package/src/shared/worker-daemon/functions/detect-stale-pid.function.ts +0 -33
- package/src/shared/worker-daemon/functions/dispatch-request.function.ts +0 -190
- package/src/shared/worker-daemon/functions/handle-check-version.function.ts +0 -74
- package/src/shared/worker-daemon/functions/handle-config-method.function.ts +0 -27
- package/src/shared/worker-daemon/functions/handle-read-ops.function.ts +0 -236
- package/src/shared/worker-daemon/functions/handle-write-ops.function.ts +0 -257
- package/src/shared/worker-daemon/functions/load-wasm-modules.function.ts +0 -95
- package/src/shared/worker-daemon/functions/parse-auto-capture-section.function.ts +0 -51
- package/src/shared/worker-daemon/functions/parse-catalog-version.function.ts +0 -20
- package/src/shared/worker-daemon/functions/parse-embedding-section.function.ts +0 -38
- package/src/shared/worker-daemon/functions/parse-worker-toml.function.ts +0 -104
- package/src/shared/worker-daemon/functions/read-config.function.ts +0 -83
- package/src/shared/worker-daemon/functions/run-startup-integrity-check.function.ts +0 -55
- package/src/shared/worker-daemon/functions/run-worker.function.ts +0 -57
- package/src/shared/worker-daemon/functions/scan-near-duplicates.function.ts +0 -92
- package/src/shared/worker-daemon/functions/start-daemon.function.ts +0 -74
- package/src/shared/worker-daemon/functions/wasm-bridge.function.ts +0 -144
- package/src/shared/worker-daemon/functions/wasm-memory-helpers.function.ts +0 -41
- package/src/shared/worker-daemon/functions/write-lock.function.ts +0 -49
- package/src/shared/worker-daemon/index.ts +0 -16
- package/src/shared/worker-daemon/typings/allocator-ref.interface.ts +0 -16
- package/src/shared/worker-daemon/typings/daemon-config.interface.ts +0 -20
- package/src/shared/worker-daemon/typings/fs-adapter.interface.ts +0 -22
- package/src/shared/worker-daemon/typings/handler-context.interface.ts +0 -19
- package/src/shared/worker-daemon/typings/ipc-handler.interface.ts +0 -39
- package/src/shared/worker-daemon/typings/memory-ref.interface.ts +0 -13
- package/src/shared/worker-daemon/typings/wasm-fn.type.ts +0 -2
- package/src/shared/worker-daemon/typings/wasm-modules.interface.ts +0 -7
- package/src/shared/worker-daemon/typings/write-lock.interface.ts +0 -13
- package/src/wasm/fs-database/kbdb_fs_database.d.ts +0 -259
- package/src/wasm/fs-database/kbdb_fs_database.js +0 -515
- package/src/wasm/fs-database/kbdb_fs_database_bg.wasm +0 -0
- package/src/wasm/fs-database/kbdb_fs_database_bg.wasm.d.ts +0 -35
- package/src/wasm/fs-database/package.json +0 -13
- package/src/wasm/kb-worker/kbdb_worker.d.ts +0 -650
- package/src/wasm/kb-worker/kbdb_worker.js +0 -1181
- package/src/wasm/kb-worker/kbdb_worker_bg.wasm +0 -0
- package/src/wasm/kb-worker/kbdb_worker_bg.wasm.d.ts +0 -77
- package/src/wasm/kb-worker/package.json +0 -13
- package/src/wasm/query-parser/kbdb_query_parser.d.ts +0 -195
- package/src/wasm/query-parser/kbdb_query_parser.js +0 -403
- package/src/wasm/query-parser/kbdb_query_parser_bg.wasm +0 -0
- package/src/wasm/query-parser/kbdb_query_parser_bg.wasm.d.ts +0 -25
- package/src/wasm/query-parser/package.json +0 -13
- package/src/worker.ts +0 -42
|
@@ -14,6 +14,7 @@ import type { SectionRecord } from '../../wasm-codec/functions/decode-section-re
|
|
|
14
14
|
import type { DocumentManifest } from '../../wasm-codec/functions/decode-document-manifest.function.ts';
|
|
15
15
|
import type { RecallParams, RecallResult } from '../typings/recall-result.model.ts';
|
|
16
16
|
import type { ExportResult } from '../typings/export-result.model.ts';
|
|
17
|
+
import type { ImportResult } from '../typings/import-result.model.ts';
|
|
17
18
|
/**
|
|
18
19
|
* IPC client that communicates with the worker daemon over a Unix
|
|
19
20
|
* domain socket (or Windows named pipe) using JSON-RPC 2.0 with
|
|
@@ -25,6 +26,7 @@ import type { ExportResult } from '../typings/export-result.model.ts';
|
|
|
25
26
|
export declare class WorkerClient {
|
|
26
27
|
private readonly socketPath;
|
|
27
28
|
private readonly contextId;
|
|
29
|
+
private readonly requestTimeoutMs?;
|
|
28
30
|
/** Underlying socket; `null` when not connected. */
|
|
29
31
|
private socket;
|
|
30
32
|
/** Monotonically increasing request ID counter. */
|
|
@@ -38,16 +40,33 @@ export declare class WorkerClient {
|
|
|
38
40
|
* (or Windows named pipe path)
|
|
39
41
|
* @param contextId - 16-character context identifier sent as
|
|
40
42
|
* `ctx` in every JSON-RPC request
|
|
43
|
+
* @param requestTimeoutMs - per-request timeout in ms
|
|
44
|
+
* (0 or undefined disables the timeout)
|
|
41
45
|
*/
|
|
42
|
-
constructor(socketPath: string, contextId: string);
|
|
46
|
+
constructor(socketPath: string, contextId: string, requestTimeoutMs?: number | undefined);
|
|
47
|
+
/** Whether the underlying socket is connected. */
|
|
48
|
+
get isConnected(): boolean;
|
|
43
49
|
/**
|
|
44
50
|
* Establishes the IPC connection to the worker daemon.
|
|
45
51
|
*
|
|
52
|
+
* Retries up to 5 times with exponential backoff on
|
|
53
|
+
* transient errors (`ENOENT`, `ECONNREFUSED`).
|
|
54
|
+
*
|
|
46
55
|
* @throws {Error} if the connection cannot be established
|
|
47
56
|
*/
|
|
48
57
|
connect(): Promise<void>;
|
|
49
58
|
/** Destroys the IPC socket and clears the connection state. */
|
|
50
59
|
disconnect(): void;
|
|
60
|
+
/**
|
|
61
|
+
* Single connection attempt with keepalive and
|
|
62
|
+
* post-connect failure handlers.
|
|
63
|
+
*/
|
|
64
|
+
private tryConnect;
|
|
65
|
+
/**
|
|
66
|
+
* Rejects all pending calls and marks the client as
|
|
67
|
+
* disconnected.
|
|
68
|
+
*/
|
|
69
|
+
private handleSocketFailure;
|
|
51
70
|
/**
|
|
52
71
|
* Searches the knowledge base.
|
|
53
72
|
*
|
|
@@ -236,7 +255,18 @@ export declare class WorkerClient {
|
|
|
236
255
|
*/
|
|
237
256
|
export(params?: {
|
|
238
257
|
path?: string;
|
|
258
|
+
format?: string;
|
|
239
259
|
}): Promise<ExportResult>;
|
|
260
|
+
/**
|
|
261
|
+
* Imports an exported database from the given path.
|
|
262
|
+
*
|
|
263
|
+
* @param params - source path and dry-run flag
|
|
264
|
+
* @returns import report with counts and timing
|
|
265
|
+
*/
|
|
266
|
+
import(params: {
|
|
267
|
+
from: string;
|
|
268
|
+
dryRun: boolean;
|
|
269
|
+
}): Promise<ImportResult>;
|
|
240
270
|
/**
|
|
241
271
|
* Sends a JSON-RPC 2.0 request and awaits the response.
|
|
242
272
|
*
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { WorkerClient } from '../classes/worker-client.class.ts';
|
|
2
|
+
import type { WorkerClientOptions } from '../typings/worker-client-options.interface.ts';
|
|
3
|
+
/**
|
|
4
|
+
* Returns a cached `WorkerClient` for the given context
|
|
5
|
+
* path, or creates and caches a new one if the cached
|
|
6
|
+
* client is disconnected or absent.
|
|
7
|
+
*
|
|
8
|
+
* Intended for library consumers and the MCP server. CLI
|
|
9
|
+
* one-shots should use `createWorkerClient()` directly.
|
|
10
|
+
*
|
|
11
|
+
* @param options - optional configuration forwarded to
|
|
12
|
+
* `createWorkerClient`
|
|
13
|
+
* @returns a connected `WorkerClient`
|
|
14
|
+
*/
|
|
15
|
+
export declare function getOrCreateClient(options?: WorkerClientOptions): Promise<WorkerClient>;
|
|
16
|
+
/**
|
|
17
|
+
* Clears the internal client cache. Intended for tests
|
|
18
|
+
* that need isolation between runs.
|
|
19
|
+
*/
|
|
20
|
+
export declare function clearClientCache(): void;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Retries an operation when the daemon responds with
|
|
3
|
+
* a `REQUEST_TIMEOUT` error. Each retry disconnects
|
|
4
|
+
* the current client, creates a fresh one (which
|
|
5
|
+
* auto-spawns the daemon), and re-runs the operation.
|
|
6
|
+
*
|
|
7
|
+
* @param createClient - factory that returns a connected client
|
|
8
|
+
* @param operation - the work to perform with the client
|
|
9
|
+
* @param maxRetries - maximum retry attempts
|
|
10
|
+
* @returns the final client and result
|
|
11
|
+
*/
|
|
12
|
+
export declare function retryOnTimeout<TClient extends {
|
|
13
|
+
disconnect(): void;
|
|
14
|
+
}, TResult>(createClient: () => Promise<TClient>, operation: (client: TClient) => Promise<TResult>, maxRetries: number): Promise<{
|
|
15
|
+
client: TClient;
|
|
16
|
+
result: TResult;
|
|
17
|
+
}>;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export { WorkerClient } from './classes/worker-client.class.ts';
|
|
2
2
|
export { createWorkerClient } from './functions/create-worker-client.function.ts';
|
|
3
|
+
export { getOrCreateClient, clearClientCache, } from './functions/get-or-create-client.function.ts';
|
|
3
4
|
export { resolveDbPath } from './functions/resolve-db-path.function.ts';
|
|
4
5
|
export { computeContextId } from './functions/compute-context-id.function.ts';
|
|
5
6
|
export { discoverDaemon } from './functions/discover-daemon.function.ts';
|
|
@@ -15,9 +16,11 @@ export type { DaemonInfo } from './typings/daemon-info.model.ts';
|
|
|
15
16
|
export type { AddSectionResult, NearDuplicateEntry, } from './typings/add-section-result.model.ts';
|
|
16
17
|
export type { RemoveSectionResult } from './typings/remove-section-result.model.ts';
|
|
17
18
|
export type { ContentResult } from './typings/content-result.model.ts';
|
|
18
|
-
export type { IntegrityCheckResult, IntegrityError, } from './typings/integrity-check-result.model.ts';
|
|
19
|
+
export type { IntegrityCheckResult, IntegrityError, SemanticContradictionEntry, } from './typings/integrity-check-result.model.ts';
|
|
19
20
|
export type { GcResult } from './typings/gc-result.model.ts';
|
|
20
21
|
export type { RebuildResult } from './typings/rebuild-result.model.ts';
|
|
21
22
|
export type { MigrateResult } from './typings/migrate-result.model.ts';
|
|
22
23
|
export type { VersionCompatibility, VersionStatus, } from './typings/version-status.model.ts';
|
|
23
24
|
export type { RecallParams, RecallResult, RecallDocument, RecallSibling, RecallReference, } from './typings/recall-result.model.ts';
|
|
25
|
+
export type { ImportResult } from './typings/import-result.model.ts';
|
|
26
|
+
export type { ExportResult } from './typings/export-result.model.ts';
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Report returned after importing an exported database into the
|
|
3
|
+
* current knowledge base.
|
|
4
|
+
*/
|
|
5
|
+
export interface ImportResult {
|
|
6
|
+
/** Number of sections imported. */
|
|
7
|
+
readonly sections_imported: number;
|
|
8
|
+
/** Number of documents imported. */
|
|
9
|
+
readonly documents_imported: number;
|
|
10
|
+
/** Whether a rebuild was triggered after import. */
|
|
11
|
+
readonly rebuilt: boolean;
|
|
12
|
+
/** Whether this was a dry-run (no writes). */
|
|
13
|
+
readonly dry_run: boolean;
|
|
14
|
+
/** Wall-clock time in milliseconds. */
|
|
15
|
+
readonly elapsed_ms: number;
|
|
16
|
+
}
|
|
@@ -16,6 +16,24 @@ export interface IntegrityError {
|
|
|
16
16
|
/** Human-readable description of the specific problem. */
|
|
17
17
|
readonly detail: string;
|
|
18
18
|
}
|
|
19
|
+
/**
|
|
20
|
+
* Advisory finding: two sections whose embedding vectors point in
|
|
21
|
+
* opposite directions, indicating potential semantic conflict.
|
|
22
|
+
*
|
|
23
|
+
* Does not affect the `ok` field of `IntegrityCheckResult`.
|
|
24
|
+
*/
|
|
25
|
+
export interface SemanticContradictionEntry {
|
|
26
|
+
/** Knowledge-base identifier of the first section in the pair. */
|
|
27
|
+
readonly kbid_a: string;
|
|
28
|
+
/** Knowledge-base identifier of the second section in the pair. */
|
|
29
|
+
readonly kbid_b: string;
|
|
30
|
+
/**
|
|
31
|
+
* Cosine similarity score (negative, in range -1.0 to 0.0).
|
|
32
|
+
*
|
|
33
|
+
* More negative values indicate stronger semantic opposition.
|
|
34
|
+
*/
|
|
35
|
+
readonly score: number;
|
|
36
|
+
}
|
|
19
37
|
/**
|
|
20
38
|
* Report returned by the daemon after running an integrity check
|
|
21
39
|
* on the knowledge-base database.
|
|
@@ -33,4 +51,10 @@ export interface IntegrityCheckResult {
|
|
|
33
51
|
readonly references_checked: number;
|
|
34
52
|
/** Time taken to complete the check, in milliseconds. */
|
|
35
53
|
readonly elapsed_ms: number;
|
|
54
|
+
/**
|
|
55
|
+
* Advisory list of section pairs with semantically contradictory
|
|
56
|
+
* embeddings. Empty when no embedding provider is configured or
|
|
57
|
+
* when no `vectors.idx` file is present. Never affects `ok`.
|
|
58
|
+
*/
|
|
59
|
+
readonly semantic_contradictions: SemanticContradictionEntry[];
|
|
36
60
|
}
|
|
@@ -11,4 +11,8 @@ export interface SearchParams {
|
|
|
11
11
|
readonly limit?: number;
|
|
12
12
|
/** Number of results to skip (pagination offset). */
|
|
13
13
|
readonly offset?: number;
|
|
14
|
+
/** Search algorithm: `'lexical'`, `'vector'`, or `'hybrid'`. */
|
|
15
|
+
readonly algo?: string;
|
|
16
|
+
/** Use relaxed (OR) matching for the query. */
|
|
17
|
+
readonly relaxed?: boolean;
|
|
14
18
|
}
|
|
@@ -39,4 +39,10 @@ export interface PagedSearchResult {
|
|
|
39
39
|
readonly limit: number;
|
|
40
40
|
/** Whether more results exist beyond this page. */
|
|
41
41
|
readonly has_more: boolean;
|
|
42
|
+
/** Whether the engine relaxed the query to produce results. */
|
|
43
|
+
readonly relaxed?: boolean;
|
|
44
|
+
/** Algorithm that produced these results. */
|
|
45
|
+
readonly search_mode?: string;
|
|
46
|
+
/** Retrieval strategy used (e.g. `'lexical'`, `'rrf'`). */
|
|
47
|
+
readonly retrieval_method?: string;
|
|
42
48
|
}
|
|
@@ -27,4 +27,11 @@ export interface WorkerClientOptions {
|
|
|
27
27
|
* `spawnDaemon` needs no runtime-specific path logic.
|
|
28
28
|
*/
|
|
29
29
|
readonly workerScript?: string;
|
|
30
|
+
/**
|
|
31
|
+
* Per-request timeout in milliseconds for daemon IPC
|
|
32
|
+
* calls. When a request exceeds this duration, the
|
|
33
|
+
* Promise rejects with a `REQUEST_TIMEOUT` error.
|
|
34
|
+
* Defaults to `undefined` (no timeout).
|
|
35
|
+
*/
|
|
36
|
+
readonly requestTimeoutMs?: number;
|
|
30
37
|
}
|
|
@@ -21,6 +21,7 @@ export declare class WorkerDaemon {
|
|
|
21
21
|
get connectionCount(): number;
|
|
22
22
|
private _connectionCount;
|
|
23
23
|
private _wasmModules;
|
|
24
|
+
private _embeddingProvider;
|
|
24
25
|
private _idleAt;
|
|
25
26
|
private _idleTimer;
|
|
26
27
|
private _server;
|
|
@@ -121,6 +122,7 @@ export declare class WorkerDaemon {
|
|
|
121
122
|
private dispatch;
|
|
122
123
|
private dispatchWasm;
|
|
123
124
|
private handleSearch;
|
|
125
|
+
private runLexicalSearch;
|
|
124
126
|
private handleResultStatus;
|
|
125
127
|
private handleGetResult;
|
|
126
128
|
private handleAddSection;
|
|
@@ -142,6 +144,9 @@ export declare class WorkerDaemon {
|
|
|
142
144
|
private handleGc;
|
|
143
145
|
private handleRebuild;
|
|
144
146
|
private handleExport;
|
|
147
|
+
private handleImport;
|
|
148
|
+
private countFiles;
|
|
149
|
+
private collectFiles;
|
|
145
150
|
private scanNearDuplicates;
|
|
146
151
|
private extractTermSet;
|
|
147
152
|
/**
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import type { Server } from 'node:net';
|
|
2
2
|
import type { IpcHandler } from '../typings/ipc-handler.interface.ts';
|
|
3
3
|
/**
|
|
4
|
-
* Creates a Unix socket (or named pipe on Windows) IPC
|
|
5
|
-
* reads newline-delimited JSON-RPC requests
|
|
4
|
+
* Creates a Unix socket (or named pipe on Windows) IPC
|
|
5
|
+
* server that reads newline-delimited JSON-RPC requests
|
|
6
|
+
* and writes responses.
|
|
6
7
|
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
* A malformed line that cannot be parsed results in a JSON-RPC
|
|
11
|
-
* parse-error response (`-32700`).
|
|
8
|
+
* Resolves after the server is bound and listening.
|
|
9
|
+
* Accepted connections have `SO_KEEPALIVE` enabled at
|
|
10
|
+
* a 30-second interval.
|
|
12
11
|
*
|
|
13
|
-
* @param socketPath - path to the Unix domain socket or
|
|
14
|
-
* named pipe
|
|
15
|
-
* @param handler - async function invoked for each valid
|
|
12
|
+
* @param socketPath - path to the Unix domain socket or
|
|
13
|
+
* Windows named pipe
|
|
14
|
+
* @param handler - async function invoked for each valid
|
|
15
|
+
* request
|
|
16
16
|
* @returns the listening `net.Server` instance
|
|
17
17
|
*/
|
|
18
|
-
export declare function createIpcServer(socketPath: string, handler: IpcHandler): Server
|
|
18
|
+
export declare function createIpcServer(socketPath: string, handler: IpcHandler): Promise<Server>;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { EmbeddingProvider } from '../../embedding/typings/embedding-provider.interface.ts';
|
|
2
|
+
/**
|
|
3
|
+
* Embeds a section's content and appends it to `vectors.idx`.
|
|
4
|
+
*
|
|
5
|
+
* Skips silently when embeddings are disabled (no provider or
|
|
6
|
+
* zero dimensions) or when the content is empty.
|
|
7
|
+
*
|
|
8
|
+
* @param provider - embedding provider (undefined = disabled)
|
|
9
|
+
* @param targetDir - path to the `.kbdb` directory
|
|
10
|
+
* @param kbid - section identifier to embed
|
|
11
|
+
* @param content - section text content
|
|
12
|
+
*/
|
|
13
|
+
export declare function embedAfterLearn(provider: EmbeddingProvider | undefined, targetDir: string, kbid: string, content: string): Promise<void>;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import type { EmbeddingProvider } from '../../embedding/typings/embedding-provider.interface.ts';
|
|
2
|
+
/** Lexical search result from WASM decoder. */
|
|
3
|
+
interface LexicalResult {
|
|
4
|
+
items: LexicalItem[];
|
|
5
|
+
total: number;
|
|
6
|
+
offset: number;
|
|
7
|
+
limit: number;
|
|
8
|
+
has_more: boolean;
|
|
9
|
+
relaxed: boolean;
|
|
10
|
+
}
|
|
11
|
+
/** A single item from the lexical search result. */
|
|
12
|
+
interface LexicalItem {
|
|
13
|
+
kbid: string;
|
|
14
|
+
heading: string | null;
|
|
15
|
+
type: string;
|
|
16
|
+
docids: string[];
|
|
17
|
+
score: number;
|
|
18
|
+
confidence: number;
|
|
19
|
+
snippet: string;
|
|
20
|
+
matched_terms: string[];
|
|
21
|
+
matched_fields: string[];
|
|
22
|
+
created_at: string;
|
|
23
|
+
}
|
|
24
|
+
/** Search result with search_mode and retrieval_method. */
|
|
25
|
+
interface FusedSearchResult extends LexicalResult {
|
|
26
|
+
search_mode: string;
|
|
27
|
+
retrieval_method: string;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Fuses lexical search results with vector search results.
|
|
31
|
+
*
|
|
32
|
+
* When `algo` is `'lexical'`, returns the lexical result as-is.
|
|
33
|
+
* When `algo` is `'hybrid'`, runs vector search against
|
|
34
|
+
* `vectors.idx` and fuses via RRF. When `algo` is `'vector'`,
|
|
35
|
+
* returns vector-only results.
|
|
36
|
+
*
|
|
37
|
+
* @param lexical - decoded lexical result from WASM
|
|
38
|
+
* @param algo - search algorithm: lexical, hybrid, or vector
|
|
39
|
+
* @param query - the original search query text
|
|
40
|
+
* @param provider - embedding provider (undefined = disabled)
|
|
41
|
+
* @param targetDir - path to the `.kbdb` directory
|
|
42
|
+
*/
|
|
43
|
+
export declare function fuseSearchResults(lexical: LexicalResult, algo: string, query: string, provider: EmbeddingProvider | undefined, targetDir: string): Promise<FusedSearchResult>;
|
|
44
|
+
export {};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { HandlerContext } from '../typings/handler-context.interface.ts';
|
|
2
|
+
import type { ImportResult } from '../../worker-client/typings/import-result.model.ts';
|
|
3
|
+
/**
|
|
4
|
+
* Handles the `importDb` IPC method.
|
|
5
|
+
*
|
|
6
|
+
* Reads sections and documents from an exported directory and
|
|
7
|
+
* feeds them back through the WASM add-section pipeline. When
|
|
8
|
+
* `dryRun` is `true`, counts files without writing.
|
|
9
|
+
*
|
|
10
|
+
* @param ctx - handler context with WASM modules
|
|
11
|
+
* @param params - `sourcePath` and `dryRun` flag
|
|
12
|
+
* @returns import report with counts and timing
|
|
13
|
+
*/
|
|
14
|
+
export declare function handleImport(ctx: HandlerContext, params: Record<string, unknown>): Promise<ImportResult>;
|
|
@@ -4,8 +4,9 @@ import type { HandlerContext } from '../typings/handler-context.interface.ts';
|
|
|
4
4
|
*
|
|
5
5
|
* Encodes parameters, invokes the `worker_search` token pipeline,
|
|
6
6
|
* waits synchronously for the result, and decodes the paged result.
|
|
7
|
+
* When `algo` is `'hybrid'` or `'vector'`, fuses with vector search.
|
|
7
8
|
*/
|
|
8
|
-
export declare function handleSearch(ctx: HandlerContext, params: Record<string, unknown>): unknown
|
|
9
|
+
export declare function handleSearch(ctx: HandlerContext, params: Record<string, unknown>): Promise<unknown>;
|
|
9
10
|
/**
|
|
10
11
|
* Handles the `get_result_status` IPC method.
|
|
11
12
|
*/
|
|
@@ -28,6 +29,11 @@ export declare function handleRetrieveDoc(ctx: HandlerContext, params: Record<st
|
|
|
28
29
|
export declare function handleCompose(ctx: HandlerContext, params: Record<string, unknown>): unknown;
|
|
29
30
|
/**
|
|
30
31
|
* Handles the `integrityCheck` IPC method.
|
|
32
|
+
*
|
|
33
|
+
* Runs the WASM integrity check and, when an embedding provider is
|
|
34
|
+
* available, appends an advisory `stale_vectors` field if the
|
|
35
|
+
* `vectors.idx` is outdated. The `ok` flag is not affected by stale
|
|
36
|
+
* vectors.
|
|
31
37
|
*/
|
|
32
38
|
export declare function handleIntegrityCheck(ctx: HandlerContext): unknown;
|
|
33
39
|
/**
|
|
@@ -2,10 +2,12 @@ import type { HandlerContext } from '../typings/handler-context.interface.ts';
|
|
|
2
2
|
/**
|
|
3
3
|
* Handles the `addSection` IPC method.
|
|
4
4
|
*
|
|
5
|
-
* Encodes the section input, delegates to `worker_add_section`,
|
|
6
|
-
* runs a near-duplicate scan when the WASM result reports none
|
|
5
|
+
* Encodes the section input, delegates to `worker_add_section`,
|
|
6
|
+
* runs a near-duplicate scan when the WASM result reports none,
|
|
7
|
+
* and embeds the section content when an embedding provider is
|
|
8
|
+
* configured.
|
|
7
9
|
*/
|
|
8
|
-
export declare function handleAddSection(ctx: HandlerContext, params: Record<string, unknown>): unknown
|
|
10
|
+
export declare function handleAddSection(ctx: HandlerContext, params: Record<string, unknown>): Promise<unknown>;
|
|
9
11
|
/**
|
|
10
12
|
* Handles the `updateSection` IPC method.
|
|
11
13
|
*/
|
|
@@ -40,5 +42,8 @@ export declare function handleInvalidateAll(ctx: HandlerContext): unknown;
|
|
|
40
42
|
export declare function handleGc(ctx: HandlerContext): unknown;
|
|
41
43
|
/**
|
|
42
44
|
* Handles the `rebuildIndexes` IPC method.
|
|
45
|
+
*
|
|
46
|
+
* Invokes the WASM keyword-index rebuild and, when an embedding
|
|
47
|
+
* provider is configured, also rebuilds the vector index.
|
|
43
48
|
*/
|
|
44
|
-
export declare function handleRebuild(ctx: HandlerContext): unknown
|
|
49
|
+
export declare function handleRebuild(ctx: HandlerContext): Promise<unknown>;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { DaemonConfig } from './daemon-config.interface.ts';
|
|
2
2
|
import type { WasmModules } from './wasm-modules.interface.ts';
|
|
3
|
+
import type { EmbeddingProvider } from '../../embedding/typings/embedding-provider.interface.ts';
|
|
3
4
|
/**
|
|
4
5
|
* Runtime context passed to all IPC request handler functions.
|
|
5
6
|
*
|
|
@@ -15,4 +16,6 @@ export interface HandlerContext {
|
|
|
15
16
|
readonly config: DaemonConfig;
|
|
16
17
|
/** Loaded WASM module instances. */
|
|
17
18
|
readonly modules: WasmModules;
|
|
19
|
+
/** Embedding provider for vector/hybrid search. */
|
|
20
|
+
readonly embeddingProvider?: EmbeddingProvider;
|
|
18
21
|
}
|
|
@@ -3,84 +3,42 @@ declare namespace wasm_bindgen {
|
|
|
3
3
|
/* eslint-disable */
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
|
-
* Adds a section.
|
|
7
|
-
*
|
|
8
|
-
* On success: writes an encoded `AddSectionResult` to the return slot and
|
|
9
|
-
* returns 0. When `params.replace` is true and a section with the same
|
|
10
|
-
* `source_key` exists, the superseded section's index entries are removed
|
|
11
|
-
* and the returned `AddSectionResult.superseded` is set to its kbid.
|
|
12
|
-
* On error: writes error message to return slot, returns -1.
|
|
6
|
+
* Adds a section.
|
|
13
7
|
*/
|
|
14
8
|
export function db_add_section(ptr: number, len: number): number;
|
|
15
9
|
|
|
16
10
|
/**
|
|
17
11
|
* Adds a section's terms to the inverted and positional indexes.
|
|
18
|
-
* `ptr`/`len` point to encoded
|
|
19
|
-
* (kbid_str, term_count, [(term_str, pos_count, [positions], heading_tf, body_tf, code_tf)]).
|
|
20
12
|
*/
|
|
21
13
|
export function db_add_to_index(ptr: number, len: number): number;
|
|
22
14
|
|
|
23
15
|
/**
|
|
24
|
-
* Checks database integrity.
|
|
25
|
-
* On success a summary string is placed in the return slot.
|
|
16
|
+
* Checks database integrity.
|
|
26
17
|
*/
|
|
27
18
|
export function db_check_integrity(_ptr: number, _len: number): number;
|
|
28
19
|
|
|
29
20
|
/**
|
|
30
|
-
* Reads `catalog.toml`
|
|
31
|
-
* status without modifying state.
|
|
32
|
-
*
|
|
33
|
-
* On success, the return slot contains 8 bytes:
|
|
34
|
-
* - bytes 0-3: `catalog_version` as little-endian u32
|
|
35
|
-
* - bytes 4-7: `required_version` (DB_FORMAT_VERSION) as little-endian u32
|
|
36
|
-
*
|
|
37
|
-
* Return value:
|
|
38
|
-
* - 0: compatible (versions match)
|
|
39
|
-
* - 1: needs migration (catalog version < required)
|
|
40
|
-
* - 2: too new (catalog version > required)
|
|
41
|
-
* - -1: I/O or parse error (message in return slot)
|
|
42
|
-
*
|
|
43
|
-
* Note: this export accepts a path directly and does NOT require `db_init`
|
|
44
|
-
* to have been called first.
|
|
21
|
+
* Reads `catalog.toml` and returns the version status.
|
|
45
22
|
*/
|
|
46
23
|
export function db_check_version(ptr: number, len: number): number;
|
|
47
24
|
|
|
48
25
|
/**
|
|
49
26
|
* Exports the database to a target directory.
|
|
50
|
-
*
|
|
51
|
-
* `ptr`/`len` point to a UTF-8 string containing the target path.
|
|
52
|
-
*
|
|
53
|
-
* Copies `sections/`, `documents/`, and `catalog.toml` to the target.
|
|
54
|
-
* Indexes are not copied because they can be rebuilt from the data.
|
|
55
|
-
*
|
|
56
|
-
* The target path may be absolute or relative. It is an external output
|
|
57
|
-
* destination, not a database-internal path, so no path validation is
|
|
58
|
-
* applied to it.
|
|
59
|
-
*
|
|
60
|
-
* On success a summary string is placed in the return slot:
|
|
61
|
-
* `path={target}\nsections_exported={N}\ndocuments_exported={M}`
|
|
62
27
|
*/
|
|
63
28
|
export function db_export(ptr: number, len: number): number;
|
|
64
29
|
|
|
65
30
|
/**
|
|
66
|
-
* Runs garbage collection.
|
|
67
|
-
* On success a summary string is placed in the return slot.
|
|
31
|
+
* Runs garbage collection.
|
|
68
32
|
*/
|
|
69
33
|
export function db_gc(_ptr: number, _len: number): number;
|
|
70
34
|
|
|
71
35
|
/**
|
|
72
36
|
* Returns back-references pointing to a section.
|
|
73
|
-
* `ptr`/`len` point to a UTF-8 kbid string.
|
|
74
|
-
* On success encodes `u32 count` followed by entries (peer_id, marker_type,
|
|
75
|
-
* context_snippet) into the return slot.
|
|
76
37
|
*/
|
|
77
38
|
export function db_get_back_refs(ptr: number, len: number): number;
|
|
78
39
|
|
|
79
40
|
/**
|
|
80
41
|
* Returns forward references for a section.
|
|
81
|
-
* `ptr`/`len` point to a UTF-8 kbid string.
|
|
82
|
-
* On success encodes `u32 count` followed by entries (peer_id, marker_type,
|
|
83
|
-
* context_snippet) into the return slot.
|
|
84
42
|
*/
|
|
85
43
|
export function db_get_forward_refs(ptr: number, len: number): number;
|
|
86
44
|
|
|
@@ -94,118 +52,91 @@ declare namespace wasm_bindgen {
|
|
|
94
52
|
|
|
95
53
|
/**
|
|
96
54
|
* Initialises a new empty catalog at the current context path.
|
|
97
|
-
* Writes the default catalog to disk and returns 0 on success.
|
|
98
55
|
*/
|
|
99
56
|
export function db_init_catalog(_ptr: number, _len: number): number;
|
|
100
57
|
|
|
101
58
|
/**
|
|
102
|
-
* Creates the full directory scaffold for a new database
|
|
103
|
-
*
|
|
104
|
-
* Creates directories, seeds `catalog.toml` (stamped with `DB_FORMAT_VERSION`),
|
|
105
|
-
* empty index files, `worker.toml`, and `.gitignore`.
|
|
106
|
-
*
|
|
107
|
-
* Returns 0 on success. Returns -1 with an error message in the return slot
|
|
108
|
-
* if the directory already exists or any I/O fails.
|
|
109
|
-
*
|
|
110
|
-
* Note: this export accepts a path directly and does NOT require `db_init`
|
|
111
|
-
* to have been called first.
|
|
59
|
+
* Creates the full directory scaffold for a new database.
|
|
112
60
|
*/
|
|
113
61
|
export function db_init_directory(ptr: number, len: number): number;
|
|
114
62
|
|
|
115
63
|
/**
|
|
116
|
-
* Lists all document manifests.
|
|
117
|
-
*
|
|
118
|
-
* On success encodes a `u32 count` followed by each `DocumentManifest` into
|
|
119
|
-
* the return slot and returns 0. On error writes an error message and returns -1.
|
|
64
|
+
* Lists all document manifests.
|
|
120
65
|
*/
|
|
121
66
|
export function db_list_documents(_ptr: number, _len: number): number;
|
|
122
67
|
|
|
123
68
|
/**
|
|
124
|
-
* Lists all section records.
|
|
125
|
-
*
|
|
126
|
-
* On success encodes a `u32 count` followed by each `SectionRecord` into the
|
|
127
|
-
* return slot and returns 0. On error writes an error message and returns -1.
|
|
69
|
+
* Lists all section records.
|
|
128
70
|
*/
|
|
129
71
|
export function db_list_sections(_ptr: number, _len: number): number;
|
|
130
72
|
|
|
131
73
|
/**
|
|
132
74
|
* Executes a query plan against the loaded indexes.
|
|
133
|
-
* `ptr`/`len` point to an encoded `QueryPlan`.
|
|
134
|
-
* On success writes encoded `Vec<RawMatch>` to the return slot.
|
|
135
75
|
*/
|
|
136
76
|
export function db_query(ptr: number, len: number): number;
|
|
137
77
|
|
|
138
78
|
/**
|
|
139
|
-
* Reads the catalog.
|
|
140
|
-
* On success the serialised catalog TOML text is in the return slot.
|
|
79
|
+
* Reads the catalog.
|
|
141
80
|
*/
|
|
142
81
|
export function db_read_catalog(_ptr: number, _len: number): number;
|
|
143
82
|
|
|
144
83
|
/**
|
|
145
84
|
* Reads corpus statistics from `<ctx>/corpus.bin`.
|
|
146
|
-
* On success places encoded `CorpusStats` bytes in the return slot.
|
|
147
85
|
*/
|
|
148
86
|
export function db_read_corpus_stats(_ptr: number, _len: number): number;
|
|
149
87
|
|
|
150
88
|
/**
|
|
151
|
-
* Reads a document manifest.
|
|
89
|
+
* Reads a document manifest.
|
|
152
90
|
*/
|
|
153
91
|
export function db_read_document(ptr: number, len: number): number;
|
|
154
92
|
|
|
155
93
|
/**
|
|
156
|
-
* Reads a section by kbid.
|
|
94
|
+
* Reads a section by kbid.
|
|
157
95
|
*/
|
|
158
96
|
export function db_read_section(ptr: number, len: number): number;
|
|
159
97
|
|
|
160
98
|
/**
|
|
161
|
-
* Reads multiple sections.
|
|
99
|
+
* Reads multiple sections.
|
|
162
100
|
*/
|
|
163
101
|
export function db_read_sections(ptr: number, len: number): number;
|
|
164
102
|
|
|
165
103
|
/**
|
|
166
104
|
* Rebuilds indexes from scratch.
|
|
167
|
-
*
|
|
168
|
-
* Clears the existing inverted and positional indexes, then drives the
|
|
169
|
-
* section-scan rebuild loop. Full per-field tokenization is handled by
|
|
170
|
-
* `kb-worker.wasm` orchestration; this function provides the read-pass
|
|
171
|
-
* scaffolding and the final index write.
|
|
172
105
|
*/
|
|
173
106
|
export function db_rebuild_index(_ptr: number, _len: number): number;
|
|
174
107
|
|
|
175
108
|
/**
|
|
176
|
-
* Removes a document manifest.
|
|
109
|
+
* Removes a document manifest.
|
|
177
110
|
*/
|
|
178
111
|
export function db_remove_document(ptr: number, len: number): number;
|
|
179
112
|
|
|
180
113
|
/**
|
|
181
114
|
* Removes a section's entries from the indexes.
|
|
182
|
-
* `ptr`/`len` point to a UTF-8 kbid string.
|
|
183
115
|
*/
|
|
184
116
|
export function db_remove_from_index(ptr: number, len: number): number;
|
|
185
117
|
|
|
186
118
|
/**
|
|
187
|
-
* Removes a section by kbid.
|
|
119
|
+
* Removes a section by kbid.
|
|
188
120
|
*/
|
|
189
121
|
export function db_remove_section(ptr: number, len: number): number;
|
|
190
122
|
|
|
191
123
|
/**
|
|
192
|
-
* Updates a section.
|
|
124
|
+
* Updates a section.
|
|
193
125
|
*/
|
|
194
126
|
export function db_update_section(ptr: number, len: number): number;
|
|
195
127
|
|
|
196
128
|
/**
|
|
197
|
-
* Writes/updates the catalog.
|
|
129
|
+
* Writes/updates the catalog.
|
|
198
130
|
*/
|
|
199
131
|
export function db_write_catalog(ptr: number, len: number): number;
|
|
200
132
|
|
|
201
133
|
/**
|
|
202
134
|
* Writes corpus statistics to `<ctx>/corpus.bin`.
|
|
203
|
-
* `ptr`/`len` point to 12 bytes of encoded `CorpusStats`.
|
|
204
135
|
*/
|
|
205
136
|
export function db_write_corpus_stats(ptr: number, len: number): number;
|
|
206
137
|
|
|
207
138
|
/**
|
|
208
|
-
* Writes a document manifest.
|
|
139
|
+
* Writes a document manifest.
|
|
209
140
|
*/
|
|
210
141
|
export function db_write_document(ptr: number, len: number): number;
|
|
211
142
|
|