@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
|
@@ -49,6 +49,12 @@ interface RawSearchResponse {
|
|
|
49
49
|
* May be absent from older daemon versions.
|
|
50
50
|
*/
|
|
51
51
|
readonly relaxed?: boolean;
|
|
52
|
+
/** Server-side computation time in milliseconds. */
|
|
53
|
+
readonly elapsed_ms?: number;
|
|
54
|
+
/** Algorithm that produced these results. */
|
|
55
|
+
readonly search_mode?: string;
|
|
56
|
+
/** Retrieval strategy used (e.g. `'lexical'`, `'rrf'`). */
|
|
57
|
+
readonly retrieval_method?: string;
|
|
52
58
|
}
|
|
53
59
|
/**
|
|
54
60
|
* Minimal client interface required by `runSearch`.
|
|
@@ -68,6 +74,7 @@ export interface SearchClient {
|
|
|
68
74
|
limit?: number;
|
|
69
75
|
offset?: number;
|
|
70
76
|
algo?: string;
|
|
77
|
+
relaxed?: boolean;
|
|
71
78
|
}): Promise<RawSearchResponse>;
|
|
72
79
|
}
|
|
73
80
|
/**
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { CliOptions } from '../typings/cli-options.interface.ts';
|
|
2
|
+
import type { PrefixResolver } from './resolve-kbid-prefix.function.ts';
|
|
2
3
|
/** Removal result returned by `UnlearnClient.removeSection`. */
|
|
3
4
|
interface RemoveSectionResult {
|
|
4
5
|
/** `true` when the section was found and successfully removed. */
|
|
@@ -11,8 +12,10 @@ interface RemoveSectionResult {
|
|
|
11
12
|
*
|
|
12
13
|
* Decouples the CLI function from the concrete `WorkerClient`
|
|
13
14
|
* implementation, making it straightforward to test with mocks.
|
|
15
|
+
* Extends `PrefixResolver` so short kbid prefixes can be resolved
|
|
16
|
+
* before each section is removed.
|
|
14
17
|
*/
|
|
15
|
-
export interface UnlearnClient {
|
|
18
|
+
export interface UnlearnClient extends PrefixResolver {
|
|
16
19
|
/**
|
|
17
20
|
* Removes a section from the knowledge base.
|
|
18
21
|
*
|
|
@@ -32,14 +35,16 @@ export interface UnlearnResult {
|
|
|
32
35
|
* Removes the knowledge-base sections identified by `options.args`
|
|
33
36
|
* via the provided client.
|
|
34
37
|
*
|
|
35
|
-
*
|
|
36
|
-
*
|
|
37
|
-
*
|
|
38
|
+
* Short kbid prefixes in `options.args` are resolved to full
|
|
39
|
+
* identifiers before removal. Each kbid is processed independently.
|
|
40
|
+
* If a kbid does not exist in the knowledge base, `removed` is set
|
|
41
|
+
* to `false` rather than throwing.
|
|
38
42
|
*
|
|
39
43
|
* @param client - unlearn client to delegate removal to
|
|
40
44
|
* @param options - parsed CLI options whose `args` list the kbids to
|
|
41
45
|
* remove
|
|
42
46
|
* @returns one `UnlearnResult` per kbid processed
|
|
47
|
+
* @throws when a prefix matches no section or is ambiguous
|
|
43
48
|
*/
|
|
44
49
|
export declare function runUnlearn(client: UnlearnClient, options: CliOptions): Promise<UnlearnResult[]>;
|
|
45
50
|
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { CommandResult } from '../typings/command-result.model.ts';
|
|
2
|
+
/**
|
|
3
|
+
* Restarts the worker daemon by stopping any running instance.
|
|
4
|
+
*
|
|
5
|
+
* The daemon auto-spawns on the next CLI command, so restart
|
|
6
|
+
* only needs to stop the current instance.
|
|
7
|
+
*
|
|
8
|
+
* @param dbDir - absolute path to the `.kbdb` directory
|
|
9
|
+
* @returns command result indicating success or failure
|
|
10
|
+
*/
|
|
11
|
+
export declare function runWorkerRestart(dbDir: string): Promise<CommandResult>;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { CommandResult } from '../typings/command-result.model.ts';
|
|
2
|
+
/**
|
|
3
|
+
* Stops the worker daemon for the resolved database path.
|
|
4
|
+
*
|
|
5
|
+
* Discovers the daemon via its PID file and sends `SIGTERM`.
|
|
6
|
+
* Returns success when the daemon was stopped or was not running.
|
|
7
|
+
*
|
|
8
|
+
* @param dbDir - absolute path to the `.kbdb` directory
|
|
9
|
+
* @returns command result indicating success or failure
|
|
10
|
+
*/
|
|
11
|
+
export declare function runWorkerStop(dbDir: string): Promise<CommandResult>;
|
|
@@ -18,6 +18,8 @@ export { isStdinTty } from './functions/is-stdin-tty.function.ts';
|
|
|
18
18
|
export { promptUser } from './functions/prompt-user.function.ts';
|
|
19
19
|
export { dispatchCommand } from './functions/dispatch-command.function.ts';
|
|
20
20
|
export { runCli } from './functions/run-cli.function.ts';
|
|
21
|
+
export { runWorkerStop } from './functions/run-worker-stop.function.ts';
|
|
22
|
+
export { runWorkerRestart } from './functions/run-worker-restart.function.ts';
|
|
21
23
|
export { HELP_TEXT } from './constants/help-text.constant.ts';
|
|
22
24
|
export type { CliOptions, OutputFormat, SearchMode, } from './typings/cli-options.interface.ts';
|
|
23
25
|
export type { LearnResult } from './typings/learn-result.model.ts';
|
|
@@ -11,6 +11,8 @@ import type { DisconnectableClient } from './disconnectable-client.interface.ts'
|
|
|
11
11
|
export interface CliDeps {
|
|
12
12
|
/** Returns `true` when stdin is an interactive terminal. */
|
|
13
13
|
isStdinTty: () => boolean;
|
|
14
|
+
/** Returns `true` when stdout is an interactive terminal. */
|
|
15
|
+
isStdoutTty: () => boolean;
|
|
14
16
|
/**
|
|
15
17
|
* Prompts the user with the given question and resolves with
|
|
16
18
|
* their trimmed response.
|
|
@@ -25,6 +27,7 @@ export interface CliDeps {
|
|
|
25
27
|
*/
|
|
26
28
|
createWorkerClient: (opts: {
|
|
27
29
|
contextPath: string;
|
|
30
|
+
requestTimeoutMs?: number;
|
|
28
31
|
}) => Promise<DisconnectableClient>;
|
|
29
32
|
/**
|
|
30
33
|
* Finds the `.kbdb` directory starting from the given base path.
|
|
@@ -44,5 +47,5 @@ export interface CliDeps {
|
|
|
44
47
|
*
|
|
45
48
|
* @param contextPath - absolute path to the `.kbdb` directory
|
|
46
49
|
*/
|
|
47
|
-
startMcpServer?: (contextPath: string) => Promise<void>;
|
|
50
|
+
startMcpServer?: (contextPath: string, clientFactory?: () => Promise<DisconnectableClient>, maxRetries?: number) => Promise<void>;
|
|
48
51
|
}
|
|
@@ -25,6 +25,8 @@ export interface CliOptions {
|
|
|
25
25
|
dbPath?: string;
|
|
26
26
|
/** Output format for results. Defaults to `'json'`. */
|
|
27
27
|
format: OutputFormat;
|
|
28
|
+
/** When `true`, the user explicitly passed `--format`. */
|
|
29
|
+
formatExplicit?: boolean;
|
|
28
30
|
/** Search mode passed to the worker daemon. Defaults to `'sections'`. */
|
|
29
31
|
mode: SearchMode;
|
|
30
32
|
/** Search algorithm: `'lexical'`, `'vector'`, or `'hybrid'`. */
|
|
@@ -65,6 +67,21 @@ export interface CliOptions {
|
|
|
65
67
|
* instead of creating a sibling.
|
|
66
68
|
*/
|
|
67
69
|
replace?: boolean;
|
|
70
|
+
/** When `true`, uses OR mode directly. */
|
|
71
|
+
relaxed?: boolean;
|
|
72
|
+
/** Source path for `import --from`. */
|
|
73
|
+
from?: string;
|
|
74
|
+
/** When `true`, previews changes without writing. */
|
|
75
|
+
dryRun?: boolean;
|
|
76
|
+
/**
|
|
77
|
+
* Export format: `'git'` (flat dir) or `'archive'`.
|
|
78
|
+
* Defaults to `'git'`.
|
|
79
|
+
*/
|
|
80
|
+
exportFormat?: 'git' | 'archive';
|
|
81
|
+
/** Per-request timeout in milliseconds for daemon IPC calls. */
|
|
82
|
+
timeoutMs?: number;
|
|
83
|
+
/** Maximum retry count on request timeout (default 5). */
|
|
84
|
+
retry?: number;
|
|
68
85
|
/** Positional arguments following the sub-command. */
|
|
69
86
|
args: string[];
|
|
70
87
|
}
|
|
@@ -17,6 +17,7 @@ import type { AgentGetClient } from './agent-get-client.interface.ts';
|
|
|
17
17
|
import type { AgentDeleteClient } from '../functions/run-agent-delete.function.ts';
|
|
18
18
|
import type { RecallClient } from '../functions/run-recall.function.ts';
|
|
19
19
|
import type { ExportClient } from '../functions/run-export.function.ts';
|
|
20
|
+
import type { ImportClient } from '../functions/run-import.function.ts';
|
|
20
21
|
/**
|
|
21
22
|
* Intersection of all data-command client interfaces.
|
|
22
23
|
*
|
|
@@ -24,4 +25,4 @@ import type { ExportClient } from '../functions/run-export.function.ts';
|
|
|
24
25
|
* intersection combines them so `dispatchCommand` can route
|
|
25
26
|
* to any command handler with full type safety.
|
|
26
27
|
*/
|
|
27
|
-
export type DispatchClient = SearchClient & LearnClient & UnlearnClient & ContentClient & CheckClient & GcClient & RebuildClient & StatusClient & DbMigrateClient & SkillLearnClient & SkillListClient & SkillGetClient & SkillDeleteClient & AgentCreateClient & AgentListClient & AgentGetClient & AgentDeleteClient & RecallClient & ExportClient;
|
|
28
|
+
export type DispatchClient = SearchClient & LearnClient & UnlearnClient & ContentClient & CheckClient & GcClient & RebuildClient & StatusClient & DbMigrateClient & SkillLearnClient & SkillListClient & SkillGetClient & SkillDeleteClient & AgentCreateClient & AgentListClient & AgentGetClient & AgentDeleteClient & RecallClient & ExportClient & ImportClient;
|
|
@@ -50,4 +50,10 @@ export interface PagedSearchDisplay {
|
|
|
50
50
|
* empty.
|
|
51
51
|
*/
|
|
52
52
|
relaxed: boolean;
|
|
53
|
+
/** Server-side computation time in milliseconds. */
|
|
54
|
+
elapsed_ms?: number;
|
|
55
|
+
/** Algorithm that produced these results. */
|
|
56
|
+
search_mode?: string;
|
|
57
|
+
/** Retrieval strategy used (e.g. `'lexical'`, `'rrf'`). */
|
|
58
|
+
retrieval_method?: string;
|
|
53
59
|
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { EmbeddingProvider } from '../typings/embedding-provider.interface.ts';
|
|
2
|
+
/**
|
|
3
|
+
* HTTP API embedding provider compatible with the OpenAI
|
|
4
|
+
* embeddings API format.
|
|
5
|
+
*
|
|
6
|
+
* Sends texts to a remote endpoint and maps the response
|
|
7
|
+
* `data[].embedding` arrays to `Float32Array[]`.
|
|
8
|
+
*/
|
|
9
|
+
export declare class ApiEmbeddingProvider implements EmbeddingProvider {
|
|
10
|
+
/** Remote endpoint URL for embedding requests. */
|
|
11
|
+
private readonly endpoint;
|
|
12
|
+
/** Number of dimensions in the returned vectors. */
|
|
13
|
+
private readonly dims;
|
|
14
|
+
/** Model name sent in the request body. */
|
|
15
|
+
private readonly model;
|
|
16
|
+
/**
|
|
17
|
+
* @param endpoint - URL to POST embedding requests to
|
|
18
|
+
* @param dimensions - number of vector dimensions expected
|
|
19
|
+
* @param model - optional model name; defaults to `'api'`
|
|
20
|
+
*/
|
|
21
|
+
constructor(endpoint: string, dimensions: number, model?: string);
|
|
22
|
+
/**
|
|
23
|
+
* Posts texts to the endpoint and returns one `Float32Array`
|
|
24
|
+
* per input.
|
|
25
|
+
*
|
|
26
|
+
* @throws {Error} when the HTTP response status is not 2xx
|
|
27
|
+
*/
|
|
28
|
+
embed(texts: string[]): Promise<Float32Array[]>;
|
|
29
|
+
/** Returns the configured number of embedding dimensions. */
|
|
30
|
+
dimensions(): number;
|
|
31
|
+
/** Returns the configured model name, defaulting to `'api'`. */
|
|
32
|
+
modelName(): string;
|
|
33
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { EmbeddingProvider } from '../typings/embedding-provider.interface.ts';
|
|
2
|
+
/**
|
|
3
|
+
* ONNX Runtime embedding provider.
|
|
4
|
+
*
|
|
5
|
+
* Satisfies the `EmbeddingProvider` contract with the correct
|
|
6
|
+
* structure but defers actual inference to Phase 3+. Calling
|
|
7
|
+
* `embed()` throws until `onnxruntime-node` is available and
|
|
8
|
+
* wired in.
|
|
9
|
+
*
|
|
10
|
+
* @throws {Error} on `embed()` when ONNX Runtime is not available
|
|
11
|
+
*/
|
|
12
|
+
export declare class OnnxEmbeddingProvider implements EmbeddingProvider {
|
|
13
|
+
/** Path to the ONNX model file. */
|
|
14
|
+
private readonly model;
|
|
15
|
+
/** Number of embedding dimensions the model produces. */
|
|
16
|
+
private readonly dims;
|
|
17
|
+
/**
|
|
18
|
+
* @param model - filesystem path to the ONNX model file
|
|
19
|
+
* @param dimensions - number of dimensions the model produces
|
|
20
|
+
*/
|
|
21
|
+
constructor(model: string, dimensions: number);
|
|
22
|
+
/**
|
|
23
|
+
* Not yet implemented.
|
|
24
|
+
*
|
|
25
|
+
* @throws {Error} always -- ONNX Runtime is an optional peer
|
|
26
|
+
* dependency not yet wired
|
|
27
|
+
*/
|
|
28
|
+
embed(_texts: string[]): Promise<Float32Array[]>;
|
|
29
|
+
/** Returns the configured number of embedding dimensions. */
|
|
30
|
+
dimensions(): number;
|
|
31
|
+
/** Returns the configured model file path. */
|
|
32
|
+
modelName(): string;
|
|
33
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Appends a single vector entry to `vectors.idx`.
|
|
3
|
+
*
|
|
4
|
+
* Creates the file with a full header when it does not exist.
|
|
5
|
+
* When the file already exists, appends the record and updates
|
|
6
|
+
* the count in the header. Skips silently when `vector` is empty.
|
|
7
|
+
*
|
|
8
|
+
* @param dirPath - directory containing `vectors.idx`
|
|
9
|
+
* @param modelName - embedding model name
|
|
10
|
+
* @param dimensions - number of dimensions per vector
|
|
11
|
+
* @param kbid - section identifier
|
|
12
|
+
* @param vector - embedding vector to store
|
|
13
|
+
*/
|
|
14
|
+
export declare function appendVectorEntry(dirPath: string, modelName: string, dimensions: number, kbid: string, vector: Float32Array): void;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { EmbeddingConfig } from '../typings/embedding-config.interface.ts';
|
|
2
|
+
import type { EmbeddingProvider } from '../typings/embedding-provider.interface.ts';
|
|
3
|
+
/**
|
|
4
|
+
* Creates an embedding provider from the given configuration.
|
|
5
|
+
*
|
|
6
|
+
* - `'none'` or missing config → `NullEmbeddingProvider`
|
|
7
|
+
* - `'onnx'` → `OnnxEmbeddingProvider`
|
|
8
|
+
* - `'api'` → `ApiEmbeddingProvider`
|
|
9
|
+
*
|
|
10
|
+
* @param config - embedding configuration from `worker.toml`
|
|
11
|
+
*/
|
|
12
|
+
export declare function createEmbeddingProvider(config: EmbeddingConfig | undefined): EmbeddingProvider;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { EmbeddingProvider } from '../typings/embedding-provider.interface.ts';
|
|
2
|
+
import type { StaleVectorsReport } from '../typings/stale-vectors-report.model.ts';
|
|
3
|
+
/**
|
|
4
|
+
* Checks whether `vectors.idx` in `targetDir` is stale relative to
|
|
5
|
+
* the given embedding provider.
|
|
6
|
+
*
|
|
7
|
+
* Returns `{ stale: false }` when the index does not exist yet, when
|
|
8
|
+
* embeddings are disabled (`provider.dimensions() === 0`), or when
|
|
9
|
+
* the model name and dimensions match the stored index header.
|
|
10
|
+
* Returns `{ stale: true, reason }` when the model name or vector
|
|
11
|
+
* dimensions differ from the stored header.
|
|
12
|
+
*
|
|
13
|
+
* @param targetDir - absolute path to the `.kbdb` directory
|
|
14
|
+
* @param provider - current embedding provider to compare against
|
|
15
|
+
*/
|
|
16
|
+
export declare function detectStaleVectors(targetDir: string, provider: EmbeddingProvider): StaleVectorsReport;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Validates and parses an OpenAI-compatible embedding API response.
|
|
3
|
+
*
|
|
4
|
+
* Narrows `unknown` to the expected response shape and converts
|
|
5
|
+
* each `embedding` array to a `Float32Array`.
|
|
6
|
+
*
|
|
7
|
+
* @param raw - the parsed JSON body from the embedding API
|
|
8
|
+
* @throws {Error} when the response does not match the expected
|
|
9
|
+
* `{ data: [{ embedding: number[] }] }` shape
|
|
10
|
+
*/
|
|
11
|
+
export declare function parseApiEmbeddingResponse(raw: unknown): Float32Array[];
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { EmbeddingProvider } from '../typings/embedding-provider.interface.ts';
|
|
2
|
+
/**
|
|
3
|
+
* Re-embeds all section files and writes a fresh `vectors.idx`.
|
|
4
|
+
*
|
|
5
|
+
* Scans `targetDir/sections/<shard>/<kbid>.section`, extracts each
|
|
6
|
+
* body (after `\n---\n` separator or full content), embeds all texts
|
|
7
|
+
* in a single batch, and writes the result via `buildVectorIndex`.
|
|
8
|
+
*
|
|
9
|
+
* Returns 0 immediately when `provider.dimensions() === 0`.
|
|
10
|
+
*
|
|
11
|
+
* @param targetDir - absolute path to the `.kbdb` directory
|
|
12
|
+
* @param provider - embedding provider to use for vectorisation
|
|
13
|
+
* @returns number of sections embedded
|
|
14
|
+
*/
|
|
15
|
+
export declare function rebuildVectors(targetDir: string, provider: EmbeddingProvider): Promise<number>;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { SemanticContradiction } from '../typings/semantic-contradiction.model.ts';
|
|
2
|
+
/**
|
|
3
|
+
* Scans a `vectors.idx` file for pairs of sections whose cosine
|
|
4
|
+
* similarity is negative, indicating semantic opposition.
|
|
5
|
+
*
|
|
6
|
+
* Returns an empty array when the file does not exist, is empty,
|
|
7
|
+
* or contains fewer than two vectors. Each contradicting pair is
|
|
8
|
+
* reported once (in insertion order, i before j).
|
|
9
|
+
*
|
|
10
|
+
* @param filePath - absolute path to the `vectors.idx` file
|
|
11
|
+
* @returns detected semantic contradiction pairs, advisory only
|
|
12
|
+
*/
|
|
13
|
+
export declare function scanSemanticContradictions(filePath: string): SemanticContradiction[];
|
|
@@ -1,11 +1,17 @@
|
|
|
1
1
|
export { NullEmbeddingProvider } from './classes/null-embedding-provider.class.ts';
|
|
2
|
+
export { OnnxEmbeddingProvider } from './classes/onnx-embedding-provider.class.ts';
|
|
3
|
+
export { ApiEmbeddingProvider } from './classes/api-embedding-provider.class.ts';
|
|
4
|
+
export { createEmbeddingProvider } from './functions/create-embedding-provider.function.ts';
|
|
2
5
|
export { cosineSimilarity } from './functions/cosine-similarity.function.ts';
|
|
3
6
|
export { rrfFuse } from './functions/rrf-fuse.function.ts';
|
|
4
7
|
export { buildVectorIndex } from './functions/build-vector-index.function.ts';
|
|
5
8
|
export { searchVectors } from './functions/search-vectors.function.ts';
|
|
9
|
+
export { appendVectorEntry } from './functions/append-vector-entry.function.ts';
|
|
6
10
|
export { readVectorIndexMeta } from './functions/read-vector-index-meta.function.ts';
|
|
7
11
|
export { jaccardCoefficient } from './functions/jaccard-coefficient.function.ts';
|
|
8
12
|
export { detectNearDuplicates } from './functions/detect-near-duplicates.function.ts';
|
|
13
|
+
export { detectStaleVectors } from './functions/detect-stale-vectors.function.ts';
|
|
14
|
+
export { rebuildVectors } from './functions/rebuild-vectors.function.ts';
|
|
9
15
|
export { JACCARD_THRESHOLD, JACCARD_BAND_MIN, COSINE_THRESHOLD, } from './constants/near-duplicate-thresholds.constant.ts';
|
|
10
16
|
export type { EmbeddingProvider } from './typings/embedding-provider.interface.ts';
|
|
11
17
|
export type { EmbeddingConfig } from './typings/embedding-config.interface.ts';
|
|
@@ -14,3 +20,4 @@ export type { VectorIndexMeta } from './typings/vector-index-meta.model.ts';
|
|
|
14
20
|
export type { VectorIndexEntry } from './typings/vector-index-entry.model.ts';
|
|
15
21
|
export type { NearDuplicateCandidate } from './typings/near-duplicate-candidate.model.ts';
|
|
16
22
|
export type { NearDuplicateResult } from './typings/near-duplicate-result.model.ts';
|
|
23
|
+
export type { StaleVectorsReport } from './typings/stale-vectors-report.model.ts';
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A pair of knowledge-base sections whose embedding vectors point
|
|
3
|
+
* in opposite directions, indicating they may convey conflicting
|
|
4
|
+
* information.
|
|
5
|
+
*
|
|
6
|
+
* Reported as an advisory finding — does not indicate data
|
|
7
|
+
* corruption; the sections may represent legitimately competing
|
|
8
|
+
* viewpoints or superseded content.
|
|
9
|
+
*/
|
|
10
|
+
export interface SemanticContradiction {
|
|
11
|
+
/** Knowledge-base identifier of the first section in the pair. */
|
|
12
|
+
readonly kbid_a: string;
|
|
13
|
+
/** Knowledge-base identifier of the second section in the pair. */
|
|
14
|
+
readonly kbid_b: string;
|
|
15
|
+
/**
|
|
16
|
+
* Cosine similarity score (negative, in range -1.0 to 0.0).
|
|
17
|
+
*
|
|
18
|
+
* More negative values indicate stronger semantic opposition.
|
|
19
|
+
*/
|
|
20
|
+
readonly score: number;
|
|
21
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Result of a stale vector detection check.
|
|
3
|
+
*
|
|
4
|
+
* Reports whether the `vectors.idx` file is considered stale
|
|
5
|
+
* relative to the current embedding provider.
|
|
6
|
+
*/
|
|
7
|
+
export type StaleVectorsReport = {
|
|
8
|
+
/** The index is current — no rebuild needed. */
|
|
9
|
+
readonly stale: false;
|
|
10
|
+
readonly reason?: undefined;
|
|
11
|
+
} | {
|
|
12
|
+
/** The index is stale and must be rebuilt. */
|
|
13
|
+
readonly stale: true;
|
|
14
|
+
/** Human-readable explanation of what changed. */
|
|
15
|
+
readonly reason: string;
|
|
16
|
+
};
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { McpWorkerClient } from '../typings/mcp-client.interface.ts';
|
|
2
2
|
import type { McpResponse } from '../typings/mcp-types.interface.ts';
|
|
3
3
|
import type { McpLogLevel } from '../typings/log-types.interface.ts';
|
|
4
|
+
import type { AutoCaptureConfig } from '../../auto-capture/typings/auto-capture-config.interface.ts';
|
|
4
5
|
/**
|
|
5
6
|
* MCP server that speaks JSON-RPC 2.0 over stdio. Listens for
|
|
6
7
|
* newline-delimited requests on `process.stdin`, dispatches each
|
|
@@ -9,15 +10,29 @@ import type { McpLogLevel } from '../typings/log-types.interface.ts';
|
|
|
9
10
|
* `process.stdout`.
|
|
10
11
|
*/
|
|
11
12
|
export declare class McpServer {
|
|
12
|
-
private
|
|
13
|
+
private client;
|
|
13
14
|
private readonly contextPath;
|
|
15
|
+
private readonly autoCaptureConfig;
|
|
16
|
+
private readonly clientFactory;
|
|
17
|
+
private readonly maxRetries;
|
|
18
|
+
private autoCaptureController;
|
|
14
19
|
private initialized;
|
|
15
20
|
private hostCapabilities;
|
|
16
21
|
private logLevel;
|
|
17
22
|
private readonly subscriptions;
|
|
18
23
|
private nextRequestId;
|
|
19
24
|
private readonly pendingRequests;
|
|
20
|
-
|
|
25
|
+
/**
|
|
26
|
+
* @param client - worker client providing knowledge-base operations
|
|
27
|
+
* @param contextPath - absolute path to the `.kbdb` directory
|
|
28
|
+
* @param autoCaptureConfig - optional auto-capture configuration;
|
|
29
|
+
* when provided the server activates auto-capture on connection
|
|
30
|
+
* @param clientFactory - creates a fresh worker client (for retry)
|
|
31
|
+
* @param maxRetries - max retries on REQUEST_TIMEOUT
|
|
32
|
+
*/
|
|
33
|
+
constructor(client: McpWorkerClient, contextPath?: string, autoCaptureConfig?: AutoCaptureConfig, clientFactory?: (() => Promise<McpWorkerClient>) | null, maxRetries?: number);
|
|
34
|
+
private reconnectClient;
|
|
35
|
+
private withRetry;
|
|
21
36
|
listen(): Promise<void>;
|
|
22
37
|
handleLineForTest(line: string): Promise<McpResponse | null>;
|
|
23
38
|
/**
|
|
@@ -52,6 +67,11 @@ export declare class McpServer {
|
|
|
52
67
|
private processLine;
|
|
53
68
|
private handleRequest;
|
|
54
69
|
private send;
|
|
70
|
+
/**
|
|
71
|
+
* Records a tool call in the auto-capture controller and fires
|
|
72
|
+
* a capture when the trigger condition is met.
|
|
73
|
+
*/
|
|
74
|
+
private afterToolCall;
|
|
55
75
|
/**
|
|
56
76
|
* Runs an integrity check immediately after the MCP handshake
|
|
57
77
|
* completes. Emits a `notifications/message` warning when the
|
|
@@ -1,11 +1,16 @@
|
|
|
1
1
|
import { McpServer } from '../classes/mcp-server.class.ts';
|
|
2
2
|
import type { McpWorkerClient } from '../typings/mcp-client.interface.ts';
|
|
3
|
+
import type { AutoCaptureConfig } from '../../auto-capture/typings/auto-capture-config.interface.ts';
|
|
3
4
|
/**
|
|
4
5
|
* Factory that constructs a new `McpServer` bound to the given
|
|
5
6
|
* worker client. Call `server.listen()` on the returned instance
|
|
6
7
|
* to start processing stdio input.
|
|
7
8
|
*
|
|
8
9
|
* @param client - worker client providing knowledge-base operations
|
|
10
|
+
* @param contextPath - absolute path to the `.kbdb` directory
|
|
11
|
+
* @param autoCaptureConfig - optional auto-capture configuration;
|
|
12
|
+
* when provided, the server activates auto-capture on client
|
|
13
|
+
* connection and stops it on disconnect
|
|
9
14
|
* @returns a configured `McpServer` ready to listen
|
|
10
15
|
*/
|
|
11
|
-
export declare function createMcpServer(client: McpWorkerClient): McpServer;
|
|
16
|
+
export declare function createMcpServer(client: McpWorkerClient, contextPath?: string, autoCaptureConfig?: AutoCaptureConfig, clientFactory?: (() => Promise<McpWorkerClient>) | null, maxRetries?: number): McpServer;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Returns `true` when the host advertised the `sampling` capability
|
|
3
|
+
* during MCP initialization.
|
|
4
|
+
*
|
|
5
|
+
* @param hostCapabilities - capabilities object from the MCP
|
|
6
|
+
* `initialize` request, or `null` when not yet set
|
|
7
|
+
*/
|
|
8
|
+
export declare function hasSamplingCapability(hostCapabilities: Record<string, unknown> | null): boolean;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { AutoCaptureController } from '../../auto-capture/classes/auto-capture-controller.class.ts';
|
|
2
|
+
import type { AutoCaptureConfig } from '../../auto-capture/typings/auto-capture-config.interface.ts';
|
|
3
|
+
import type { McpWorkerClient } from '../typings/mcp-client.interface.ts';
|
|
4
|
+
/** Sampling request callback matching McpServer.sendRequest. */
|
|
5
|
+
type RequestSampling = (messages: {
|
|
6
|
+
role: string;
|
|
7
|
+
content: {
|
|
8
|
+
type: string;
|
|
9
|
+
text: string;
|
|
10
|
+
};
|
|
11
|
+
}[], maxTokens: number) => Promise<unknown>;
|
|
12
|
+
/**
|
|
13
|
+
* Evaluates the auto-capture trigger and, when it fires, sends an
|
|
14
|
+
* MCP sampling request to the host and stores any returned knowledge.
|
|
15
|
+
*
|
|
16
|
+
* Silently ignores all errors so a capture failure never disrupts
|
|
17
|
+
* the MCP server's normal operation.
|
|
18
|
+
*
|
|
19
|
+
* @param controller - tracks session state and evaluates the trigger
|
|
20
|
+
* @param config - auto-capture configuration (provides dryRun flag)
|
|
21
|
+
* @param client - worker client used to persist captured knowledge
|
|
22
|
+
* @param hostCapabilities - capabilities from the MCP host
|
|
23
|
+
* @param requestSampling - sends a sampling request to the host
|
|
24
|
+
*/
|
|
25
|
+
export declare function runAutoCapture(controller: AutoCaptureController, config: AutoCaptureConfig, client: McpWorkerClient, hostCapabilities: Record<string, unknown> | null, requestSampling: RequestSampling): Promise<void>;
|
|
26
|
+
export {};
|
|
@@ -94,6 +94,8 @@ export interface McpWorkerClient {
|
|
|
94
94
|
readonly offset?: number;
|
|
95
95
|
/** Search algorithm: 'lexical', 'vector', or 'hybrid'. */
|
|
96
96
|
readonly algo?: string;
|
|
97
|
+
/** Use relaxed (OR) matching for the query. */
|
|
98
|
+
readonly relaxed?: boolean;
|
|
97
99
|
}): Promise<{
|
|
98
100
|
readonly items: readonly {
|
|
99
101
|
readonly kbid: string;
|
|
@@ -1,4 +1,22 @@
|
|
|
1
1
|
import type { McpIntegrityError } from './mcp-integrity-error.model.ts';
|
|
2
|
+
/**
|
|
3
|
+
* Advisory finding: two sections whose embedding vectors point in
|
|
4
|
+
* opposite directions, indicating potential semantic conflict.
|
|
5
|
+
*
|
|
6
|
+
* Reported as advisory only — does not flip `ok` to `false`.
|
|
7
|
+
*/
|
|
8
|
+
export interface McpSemanticContradiction {
|
|
9
|
+
/** Knowledge-base identifier of the first section in the pair. */
|
|
10
|
+
readonly kbid_a: string;
|
|
11
|
+
/** Knowledge-base identifier of the second section in the pair. */
|
|
12
|
+
readonly kbid_b: string;
|
|
13
|
+
/**
|
|
14
|
+
* Cosine similarity score (negative, in range -1.0 to 0.0).
|
|
15
|
+
*
|
|
16
|
+
* More negative values indicate stronger semantic opposition.
|
|
17
|
+
*/
|
|
18
|
+
readonly score: number;
|
|
19
|
+
}
|
|
2
20
|
/** Integrity check report returned by the daemon. */
|
|
3
21
|
export interface McpIntegrityCheckResult {
|
|
4
22
|
/** `true` when all checks passed and no errors were found. */
|
|
@@ -13,4 +31,10 @@ export interface McpIntegrityCheckResult {
|
|
|
13
31
|
readonly references_checked: number;
|
|
14
32
|
/** Time taken to complete the check, in milliseconds. */
|
|
15
33
|
readonly elapsed_ms: number;
|
|
34
|
+
/**
|
|
35
|
+
* Advisory list of section pairs with semantically contradictory
|
|
36
|
+
* embeddings. Empty when no embedding provider is configured or
|
|
37
|
+
* when no `vectors.idx` file is present. Never affects `ok`.
|
|
38
|
+
*/
|
|
39
|
+
readonly semantic_contradictions: McpSemanticContradiction[];
|
|
16
40
|
}
|
|
@@ -27,13 +27,15 @@ export interface McpWorkerClient {
|
|
|
27
27
|
readonly mode?: string;
|
|
28
28
|
/**
|
|
29
29
|
* Search algorithm: `'lexical'`, `'vector'`, or `'hybrid'`.
|
|
30
|
-
* Defaults to `'
|
|
30
|
+
* Defaults to `'hybrid'` when omitted.
|
|
31
31
|
*/
|
|
32
32
|
readonly algo?: string;
|
|
33
33
|
/** Maximum number of results to return. */
|
|
34
34
|
readonly limit?: number;
|
|
35
35
|
/** Number of results to skip for pagination. */
|
|
36
36
|
readonly offset?: number;
|
|
37
|
+
/** Use relaxed (OR) matching for the query. */
|
|
38
|
+
readonly relaxed?: boolean;
|
|
37
39
|
}): Promise<{
|
|
38
40
|
readonly items: readonly {
|
|
39
41
|
readonly kbid: string;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/** Current package version, kept in sync with package.json. */
|
|
2
|
-
export declare const VERSION = "0.
|
|
2
|
+
export declare const VERSION = "0.4.0";
|