@dikolab/kbdb 0.3.0 → 0.3.2
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 +89 -120
- package/dist/bench/constants/corpus-defaults.constant.d.ts +3 -0
- package/dist/bench/functions/format-report.function.d.ts +11 -0
- package/dist/bench/functions/generate-corpus.function.d.ts +12 -0
- package/dist/bench/functions/measure-operation.function.d.ts +14 -0
- package/dist/bench/functions/seeded-rng.function.d.ts +11 -0
- package/dist/bench/functions/zipf-word.function.d.ts +13 -0
- package/dist/bench/index.d.ts +10 -0
- package/dist/bench/typings/bench-result.interface.d.ts +11 -0
- package/dist/bench/typings/bench-suite-result.interface.d.ts +10 -0
- package/dist/bench/typings/corpus-config.interface.d.ts +11 -0
- package/dist/bench/typings/corpus-section.interface.d.ts +9 -0
- package/dist/cli.cjs +63 -9
- package/dist/cli.cjs.map +2 -2
- package/dist/cli.mjs +63 -9
- package/dist/cli.mjs.map +2 -2
- package/dist/src/shared/auto-capture/classes/auto-capture-controller.class.d.ts +33 -0
- package/dist/src/shared/auto-capture/constants/auto-capture-defaults.constant.d.ts +8 -0
- package/dist/src/shared/auto-capture/functions/build-capture-prompt.function.d.ts +11 -0
- package/dist/src/shared/auto-capture/functions/evaluate-trigger.function.d.ts +12 -0
- package/dist/src/shared/auto-capture/index.d.ts +7 -0
- package/dist/src/shared/auto-capture/typings/auto-capture-config.interface.d.ts +13 -0
- package/dist/src/shared/auto-capture/typings/auto-capture-state.interface.d.ts +13 -0
- package/dist/src/shared/auto-capture/typings/auto-capture-trigger.interface.d.ts +7 -0
- package/dist/src/shared/cli/constants/global-help.constant.d.ts +8 -0
- package/dist/src/shared/cli/constants/leaf-help.constant.d.ts +7 -0
- package/dist/src/shared/cli/constants/memory-protocol-body.constant.d.ts +7 -0
- package/dist/src/shared/cli/constants/query-guidance-body.constant.d.ts +7 -0
- package/dist/src/shared/cli/constants/subcommand-help.constant.d.ts +8 -0
- package/dist/src/shared/cli/functions/collect-files.function.d.ts +13 -0
- package/dist/src/shared/cli/functions/compute-section-kbid.function.d.ts +15 -0
- package/dist/src/shared/cli/functions/format-mcp-output.function.d.ts +9 -0
- package/dist/src/shared/cli/functions/format-text-output.function.d.ts +9 -0
- package/dist/src/shared/cli/functions/generate-group-help.function.d.ts +11 -0
- package/dist/src/shared/cli/functions/handle-data-command.function.d.ts +16 -0
- package/dist/src/shared/cli/functions/handle-mcp.function.d.ts +15 -0
- package/dist/src/shared/cli/functions/handle-migrate.function.d.ts +15 -0
- package/dist/src/shared/cli/functions/hydrate-search-previews.function.d.ts +14 -0
- package/dist/src/shared/cli/functions/resolve-skill-names.function.d.ts +16 -0
- package/dist/src/shared/cli/functions/run-search.function.d.ts +1 -0
- package/dist/src/shared/cli/functions/version-gate.function.d.ts +15 -0
- package/dist/src/shared/cli/functions/wrap-command.function.d.ts +15 -0
- package/dist/src/shared/cli/typings/agent-create-client.interface.d.ts +42 -0
- package/dist/src/shared/cli/typings/agent-get-client.interface.d.ts +36 -0
- package/dist/src/shared/cli/typings/check-client.interface.d.ts +58 -0
- package/dist/src/shared/cli/typings/cli-deps.interface.d.ts +48 -0
- package/dist/src/shared/cli/typings/cli-options.interface.d.ts +2 -0
- package/dist/src/shared/cli/typings/disconnectable-client.interface.d.ts +26 -0
- package/dist/src/shared/cli/typings/dispatch-client.type.d.ts +27 -0
- package/dist/src/shared/cli/typings/learn-client.interface.d.ts +52 -0
- package/dist/src/shared/cli/typings/learn-io.interface.d.ts +5 -0
- package/dist/src/shared/cli/typings/search-client.interface.d.ts +71 -0
- package/dist/src/shared/embedding/classes/null-embedding-provider.class.d.ts +20 -0
- package/dist/src/shared/embedding/constants/near-duplicate-thresholds.constant.d.ts +15 -0
- package/dist/src/shared/embedding/functions/build-vector-index.function.d.ts +14 -0
- package/dist/src/shared/embedding/functions/cosine-similarity.function.d.ts +10 -0
- package/dist/src/shared/embedding/functions/detect-near-duplicates.function.d.ts +18 -0
- package/dist/src/shared/embedding/functions/jaccard-coefficient.function.d.ts +9 -0
- package/dist/src/shared/embedding/functions/read-vector-index-meta.function.d.ts +10 -0
- package/dist/src/shared/embedding/functions/rrf-fuse.function.d.ts +14 -0
- package/dist/src/shared/embedding/functions/search-vectors.function.d.ts +14 -0
- package/dist/src/shared/embedding/index.d.ts +16 -0
- package/dist/src/shared/embedding/typings/embedding-config.interface.d.ts +20 -0
- package/dist/src/shared/embedding/typings/embedding-provider.interface.d.ts +23 -0
- package/dist/src/shared/embedding/typings/near-duplicate-candidate.model.d.ts +23 -0
- package/dist/src/shared/embedding/typings/near-duplicate-result.model.d.ts +24 -0
- package/dist/src/shared/embedding/typings/vector-index-entry.model.d.ts +12 -0
- package/dist/src/shared/embedding/typings/vector-index-meta.model.d.ts +11 -0
- package/dist/src/shared/embedding/typings/vector-search-result.model.d.ts +7 -0
- package/dist/src/shared/mcp/constants/tool-agent-create.constant.d.ts +3 -0
- package/dist/src/shared/mcp/constants/tool-agent-delete.constant.d.ts +3 -0
- package/dist/src/shared/mcp/constants/tool-agent-get.constant.d.ts +3 -0
- package/dist/src/shared/mcp/constants/tool-agent-list.constant.d.ts +3 -0
- package/dist/src/shared/mcp/constants/tool-auto-capture-review.constant.d.ts +8 -0
- package/dist/src/shared/mcp/constants/tool-check.constant.d.ts +3 -0
- package/dist/src/shared/mcp/constants/tool-content.constant.d.ts +3 -0
- package/dist/src/shared/mcp/constants/tool-export.constant.d.ts +3 -0
- package/dist/src/shared/mcp/constants/tool-gc.constant.d.ts +3 -0
- package/dist/src/shared/mcp/constants/tool-learn.constant.d.ts +3 -0
- package/dist/src/shared/mcp/constants/tool-rebuild.constant.d.ts +3 -0
- package/dist/src/shared/mcp/constants/tool-recall.constant.d.ts +3 -0
- package/dist/src/shared/mcp/constants/tool-retrieve.constant.d.ts +3 -0
- package/dist/src/shared/mcp/constants/tool-search.constant.d.ts +3 -0
- package/dist/src/shared/mcp/constants/tool-skill-delete.constant.d.ts +3 -0
- package/dist/src/shared/mcp/constants/tool-skill-get.constant.d.ts +3 -0
- package/dist/src/shared/mcp/constants/tool-skill-learn.constant.d.ts +3 -0
- package/dist/src/shared/mcp/constants/tool-skill-list.constant.d.ts +3 -0
- package/dist/src/shared/mcp/constants/tool-status.constant.d.ts +3 -0
- package/dist/src/shared/mcp/constants/tool-unlearn.constant.d.ts +3 -0
- package/dist/src/shared/mcp/functions/as-boolean-or-undefined.function.d.ts +7 -0
- package/dist/src/shared/mcp/functions/as-string-array-or-undefined.function.d.ts +7 -0
- package/dist/src/shared/mcp/functions/as-string-array.function.d.ts +7 -0
- package/dist/src/shared/mcp/functions/as-string.function.d.ts +8 -0
- package/dist/src/shared/mcp/functions/build-skills-text.function.d.ts +18 -0
- package/dist/src/shared/mcp/functions/handle-agent-prompt.function.d.ts +14 -0
- package/dist/src/shared/mcp/functions/handle-mcp-request.function.d.ts +14 -0
- package/dist/src/shared/mcp/functions/handle-prompt-get.function.d.ts +4 -3
- package/dist/src/shared/mcp/functions/handle-skill-prompt.function.d.ts +16 -0
- package/dist/src/shared/mcp/functions/handle-tool-auto-capture-review.function.d.ts +12 -0
- package/dist/src/shared/mcp/functions/handle-tool-check.function.d.ts +11 -0
- package/dist/src/shared/mcp/functions/handle-tool-content.function.d.ts +12 -0
- package/dist/src/shared/mcp/functions/handle-tool-export.function.d.ts +12 -0
- package/dist/src/shared/mcp/functions/handle-tool-gc.function.d.ts +11 -0
- package/dist/src/shared/mcp/functions/handle-tool-learn.function.d.ts +12 -0
- package/dist/src/shared/mcp/functions/handle-tool-rebuild.function.d.ts +11 -0
- package/dist/src/shared/mcp/functions/handle-tool-retrieve.function.d.ts +12 -0
- package/dist/src/shared/mcp/functions/handle-tool-search.function.d.ts +13 -0
- package/dist/src/shared/mcp/functions/handle-tool-skill-delete.function.d.ts +12 -0
- package/dist/src/shared/mcp/functions/handle-tool-skill-get.function.d.ts +13 -0
- package/dist/src/shared/mcp/functions/handle-tool-skill-learn.function.d.ts +13 -0
- package/dist/src/shared/mcp/functions/handle-tool-skill-list.function.d.ts +11 -0
- package/dist/src/shared/mcp/functions/handle-tool-status.function.d.ts +11 -0
- package/dist/src/shared/mcp/functions/handle-tool-unlearn.function.d.ts +12 -0
- package/dist/src/shared/mcp/functions/parse-agent-meta.function.d.ts +14 -0
- package/dist/src/shared/mcp/functions/parse-skill-arguments.function.d.ts +11 -0
- package/dist/src/shared/mcp/functions/read-agent-meta.function.d.ts +17 -0
- package/dist/src/shared/mcp/functions/resolve-skill-refs.function.d.ts +23 -0
- package/dist/src/shared/mcp/functions/run-startup-health-check.function.d.ts +14 -0
- package/dist/src/shared/mcp/typings/mcp-capabilities.interface.d.ts +16 -0
- package/dist/src/shared/mcp/typings/mcp-client.interface.d.ts +2 -0
- package/dist/src/shared/mcp/typings/mcp-completion.interface.d.ts +43 -0
- package/dist/src/shared/mcp/typings/mcp-content-result.model.d.ts +9 -0
- package/dist/src/shared/mcp/typings/mcp-export-result.model.d.ts +11 -0
- package/dist/src/shared/mcp/typings/mcp-gc-result.model.d.ts +15 -0
- package/dist/src/shared/mcp/typings/mcp-integrity-check-result.model.d.ts +16 -0
- package/dist/src/shared/mcp/typings/mcp-integrity-error.model.d.ts +9 -0
- package/dist/src/shared/mcp/typings/mcp-notification.interface.d.ts +9 -0
- package/dist/src/shared/mcp/typings/mcp-rebuild-result.model.d.ts +9 -0
- package/dist/src/shared/mcp/typings/mcp-request.interface.d.ts +11 -0
- package/dist/src/shared/mcp/typings/mcp-resource-result.interface.d.ts +12 -0
- package/dist/src/shared/mcp/typings/mcp-resource-template.interface.d.ts +11 -0
- package/dist/src/shared/mcp/typings/mcp-response.interface.d.ts +18 -0
- package/dist/src/shared/mcp/typings/mcp-server-info.interface.d.ts +7 -0
- package/dist/src/shared/mcp/typings/mcp-server-state.interface.d.ts +16 -0
- package/dist/src/shared/mcp/typings/mcp-tool-annotations.interface.d.ts +32 -0
- package/dist/src/shared/mcp/typings/mcp-tool-definition.interface.d.ts +15 -0
- package/dist/src/shared/mcp/typings/mcp-tool-result.interface.d.ts +19 -0
- package/dist/src/shared/mcp/typings/mcp-worker-client.interface.d.ts +220 -0
- package/dist/src/shared/mcp/typings/tool-call-result.model.d.ts +17 -0
- package/dist/src/shared/sync/functions/build-import-report.function.d.ts +18 -0
- package/dist/src/shared/sync/functions/parse-export-entry.function.d.ts +11 -0
- package/dist/src/shared/sync/functions/resolve-conflict.function.d.ts +13 -0
- package/dist/src/shared/sync/functions/serialize-export-entry.function.d.ts +8 -0
- package/dist/src/shared/sync/index.d.ts +9 -0
- package/dist/src/shared/sync/typings/conflict-resolution.type.d.ts +8 -0
- package/dist/src/shared/sync/typings/export-entry.interface.d.ts +13 -0
- package/dist/src/shared/sync/typings/export-options.interface.d.ts +9 -0
- package/dist/src/shared/sync/typings/import-options.interface.d.ts +7 -0
- package/dist/src/shared/sync/typings/import-report.interface.d.ts +15 -0
- package/dist/src/shared/wasm-codec/functions/decode-one-recall-result.function.d.ts +14 -0
- package/dist/src/shared/wasm-codec/functions/decode-option-string.function.d.ts +12 -0
- package/dist/src/shared/wasm-codec/functions/decode-recall-document.function.d.ts +14 -0
- package/dist/src/shared/wasm-codec/functions/decode-recall-reference.function.d.ts +14 -0
- package/dist/src/shared/wasm-codec/functions/decode-recall-sibling.function.d.ts +13 -0
- package/dist/src/shared/wasm-codec/functions/decode-section-match.function.d.ts +15 -0
- package/dist/src/shared/wasm-codec/functions/decode-section-record-trailing.function.d.ts +14 -0
- package/dist/src/shared/wasm-codec/functions/decode-section-record.function.d.ts +14 -0
- package/dist/src/shared/wasm-codec/functions/decode-section-type.function.d.ts +13 -0
- package/dist/src/shared/wasm-codec/functions/decode-wasm-list.function.d.ts +17 -0
- package/dist/src/shared/wasm-codec/typings/add-section-input.model.d.ts +45 -0
- package/dist/src/shared/wasm-codec/typings/add-section-result.model.d.ts +27 -0
- package/dist/src/shared/wasm-codec/typings/document-manifest.model.d.ts +19 -0
- package/dist/src/shared/wasm-codec/typings/document-section.model.d.ts +12 -0
- package/dist/src/shared/wasm-codec/typings/item-decoder.type.d.ts +6 -0
- package/dist/src/shared/wasm-codec/typings/near-duplicate.model.d.ts +16 -0
- package/dist/src/shared/wasm-codec/typings/paged-search-result.model.d.ts +21 -0
- package/dist/src/shared/wasm-codec/typings/section-match.model.d.ts +31 -0
- package/dist/src/shared/wasm-codec/typings/section-record-trailing.model.d.ts +38 -0
- package/dist/src/shared/wasm-codec/typings/section-record.model.d.ts +66 -0
- package/dist/src/shared/wasm-codec/typings/section-type-result.model.d.ts +12 -0
- package/dist/src/shared/worker-client/functions/handle-ipc-data.function.d.ts +16 -0
- package/dist/src/shared/worker-client/functions/send-ipc-request.function.d.ts +19 -0
- package/dist/src/shared/worker-client/typings/add-section-result.model.d.ts +2 -0
- package/dist/src/shared/worker-client/typings/json-rpc-response.interface.d.ts +16 -0
- package/dist/src/shared/worker-client/typings/pending-call.interface.d.ts +7 -0
- package/dist/src/shared/worker-client/typings/recall-document.model.d.ts +16 -0
- package/dist/src/shared/worker-client/typings/recall-params.model.d.ts +15 -0
- package/dist/src/shared/worker-client/typings/recall-reference.model.d.ts +32 -0
- package/dist/src/shared/worker-client/typings/recall-sibling.model.d.ts +11 -0
- package/dist/src/shared/worker-client/typings/recall-single-result.model.d.ts +40 -0
- package/dist/src/shared/worker-daemon/classes/ipc-error.class.d.ts +17 -0
- package/dist/src/shared/worker-daemon/constants/wasm-method-map.constant.d.ts +16 -0
- package/dist/src/shared/worker-daemon/functions/build-ipc-error-response.function.d.ts +9 -0
- package/dist/src/shared/worker-daemon/functions/check-catalog-version.function.d.ts +9 -0
- package/dist/src/shared/worker-daemon/functions/check-preconditions.function.d.ts +10 -0
- package/dist/src/shared/worker-daemon/functions/detect-stale-pid.function.d.ts +15 -0
- package/dist/src/shared/worker-daemon/functions/dispatch-request.function.d.ts +35 -0
- package/dist/src/shared/worker-daemon/functions/handle-check-version.function.d.ts +23 -0
- package/dist/src/shared/worker-daemon/functions/handle-config-method.function.d.ts +11 -0
- package/dist/src/shared/worker-daemon/functions/handle-read-ops.function.d.ts +52 -0
- package/dist/src/shared/worker-daemon/functions/handle-write-ops.function.d.ts +44 -0
- package/dist/src/shared/worker-daemon/functions/parse-auto-capture-section.function.d.ts +14 -0
- package/dist/src/shared/worker-daemon/functions/parse-catalog-version.function.d.ts +10 -0
- package/dist/src/shared/worker-daemon/functions/parse-embedding-section.function.d.ts +13 -0
- package/dist/src/shared/worker-daemon/functions/parse-worker-toml.function.d.ts +11 -0
- package/dist/src/shared/worker-daemon/functions/run-startup-integrity-check.function.d.ts +18 -0
- package/dist/src/shared/worker-daemon/functions/scan-near-duplicates.function.d.ts +21 -0
- package/dist/src/shared/worker-daemon/functions/wasm-bridge.function.d.ts +51 -0
- package/dist/src/shared/worker-daemon/functions/wasm-memory-helpers.function.d.ts +22 -0
- package/dist/src/shared/worker-daemon/functions/write-lock.function.d.ts +32 -0
- package/dist/src/shared/worker-daemon/typings/allocator-ref.interface.d.ts +16 -0
- package/dist/src/shared/worker-daemon/typings/daemon-config.interface.d.ts +6 -0
- package/dist/src/shared/worker-daemon/typings/fs-adapter.interface.d.ts +22 -0
- package/dist/src/shared/worker-daemon/typings/handler-context.interface.d.ts +18 -0
- package/dist/src/shared/worker-daemon/typings/memory-ref.interface.d.ts +13 -0
- package/dist/src/shared/worker-daemon/typings/wasm-fn.type.d.ts +2 -0
- package/dist/src/shared/worker-daemon/typings/write-lock.interface.d.ts +15 -0
- package/dist/wasm/fs-database/kbdb_fs_database_bg.wasm +0 -0
- package/dist/wasm/kb-worker/kbdb_worker_bg.wasm +0 -0
- package/docs/details/cli.md +9 -0
- package/docs/details/mcp-server.md +5 -3
- package/docs/details/search-and-ranking.md +55 -0
- package/docs/goals/auto-capture.md +378 -0
- package/docs/goals/benchmarking.md +296 -0
- package/docs/goals/concurrency.md +259 -0
- package/docs/goals/hybrid-search.md +436 -0
- package/docs/goals/semantic-dedup.md +229 -0
- package/docs/goals/sync.md +217 -0
- package/docs/modules/rust/fs-database/indexes/vectors.md +110 -0
- package/docs/modules/typescript/shared/auto-capture/module.md +73 -0
- package/docs/modules/typescript/shared/embedding/functions.md +94 -0
- package/docs/modules/typescript/shared/embedding/module.md +71 -0
- package/docs/modules/typescript/shared/embedding/typings.md +122 -0
- package/docs/overview.md +171 -167
- package/docs/release-notes/0.2.0.md +3 -3
- package/docs/release-notes/0.3.0.md +89 -0
- package/docs/release-notes/0.3.1.md +121 -0
- package/docs/release-notes/0.3.2.md +64 -0
- package/docs/release-notes/README.md +3 -0
- package/package.json +1 -1
- package/src/shared/auto-capture/classes/auto-capture-controller.class.ts +62 -0
- package/src/shared/auto-capture/constants/auto-capture-defaults.constant.ts +15 -0
- package/src/shared/auto-capture/functions/build-capture-prompt.function.ts +27 -0
- package/src/shared/auto-capture/functions/evaluate-trigger.function.ts +50 -0
- package/src/shared/auto-capture/index.ts +7 -0
- package/src/shared/auto-capture/typings/auto-capture-config.interface.ts +13 -0
- package/src/shared/auto-capture/typings/auto-capture-state.interface.ts +13 -0
- package/src/shared/auto-capture/typings/auto-capture-trigger.interface.ts +7 -0
- package/src/shared/cli/constants/global-help.constant.ts +73 -0
- package/src/shared/cli/constants/leaf-help.constant.ts +219 -0
- package/src/shared/cli/constants/memory-protocol-body.constant.ts +39 -0
- package/src/shared/cli/constants/query-guidance-body.constant.ts +37 -0
- package/src/shared/cli/constants/subcommand-help.constant.ts +195 -0
- package/src/shared/cli/functions/collect-files.function.ts +55 -0
- package/src/shared/cli/functions/compute-section-kbid.function.ts +49 -0
- package/src/shared/cli/functions/format-mcp-output.function.ts +41 -0
- package/src/shared/cli/functions/format-text-output.function.ts +42 -0
- package/src/shared/cli/functions/generate-group-help.function.ts +41 -0
- package/src/shared/cli/functions/handle-data-command.function.ts +67 -0
- package/src/shared/cli/functions/handle-mcp.function.ts +56 -0
- package/src/shared/cli/functions/handle-migrate.function.ts +64 -0
- package/src/shared/cli/functions/hydrate-search-previews.function.ts +29 -0
- package/src/shared/cli/functions/parse-args.function.ts +3 -0
- package/src/shared/cli/functions/resolve-skill-names.function.ts +43 -0
- package/src/shared/cli/functions/run-search.function.ts +2 -0
- package/src/shared/cli/functions/version-gate.function.ts +44 -0
- package/src/shared/cli/functions/wrap-command.function.ts +34 -0
- package/src/shared/cli/typings/agent-create-client.interface.ts +47 -0
- package/src/shared/cli/typings/agent-get-client.interface.ts +39 -0
- package/src/shared/cli/typings/check-client.interface.ts +66 -0
- package/src/shared/cli/typings/cli-deps.interface.ts +54 -0
- package/src/shared/cli/typings/cli-options.interface.ts +2 -0
- package/src/shared/cli/typings/disconnectable-client.interface.ts +29 -0
- package/src/shared/cli/typings/dispatch-client.type.ts +46 -0
- package/src/shared/cli/typings/learn-client.interface.ts +53 -0
- package/src/shared/cli/typings/learn-io.interface.ts +5 -0
- package/src/shared/cli/typings/search-client.interface.ts +73 -0
- package/src/shared/embedding/classes/null-embedding-provider.class.ts +29 -0
- package/src/shared/embedding/constants/near-duplicate-thresholds.constant.ts +17 -0
- package/src/shared/embedding/functions/build-vector-index.function.ts +79 -0
- package/src/shared/embedding/functions/cosine-similarity.function.ts +31 -0
- package/src/shared/embedding/functions/detect-near-duplicates.function.ts +69 -0
- package/src/shared/embedding/functions/jaccard-coefficient.function.ts +26 -0
- package/src/shared/embedding/functions/read-vector-index-meta.function.ts +44 -0
- package/src/shared/embedding/functions/rrf-fuse.function.ts +33 -0
- package/src/shared/embedding/functions/search-vectors.function.ts +59 -0
- package/src/shared/embedding/index.ts +20 -0
- package/src/shared/embedding/typings/embedding-config.interface.ts +23 -0
- package/src/shared/embedding/typings/embedding-provider.interface.ts +25 -0
- package/src/shared/embedding/typings/near-duplicate-candidate.model.ts +25 -0
- package/src/shared/embedding/typings/near-duplicate-result.model.ts +26 -0
- package/src/shared/embedding/typings/vector-index-entry.model.ts +13 -0
- package/src/shared/embedding/typings/vector-index-meta.model.ts +14 -0
- package/src/shared/embedding/typings/vector-search-result.model.ts +8 -0
- package/src/shared/mcp/classes/mcp-server.class.ts +6 -3
- package/src/shared/mcp/constants/tool-agent-create.constant.ts +39 -0
- package/src/shared/mcp/constants/tool-agent-delete.constant.ts +26 -0
- package/src/shared/mcp/constants/tool-agent-get.constant.ts +24 -0
- package/src/shared/mcp/constants/tool-agent-list.constant.ts +18 -0
- package/src/shared/mcp/constants/tool-auto-capture-review.constant.ts +32 -0
- package/src/shared/mcp/constants/tool-check.constant.ts +21 -0
- package/src/shared/mcp/constants/tool-content.constant.ts +29 -0
- package/src/shared/mcp/constants/tool-export.constant.ts +27 -0
- package/src/shared/mcp/constants/tool-gc.constant.ts +21 -0
- package/src/shared/mcp/constants/tool-learn.constant.ts +58 -0
- package/src/shared/mcp/constants/tool-rebuild.constant.ts +21 -0
- package/src/shared/mcp/constants/tool-recall.constant.ts +36 -0
- package/src/shared/mcp/constants/tool-retrieve.constant.ts +31 -0
- package/src/shared/mcp/constants/tool-search.constant.ts +51 -0
- package/src/shared/mcp/constants/tool-skill-delete.constant.ts +24 -0
- package/src/shared/mcp/constants/tool-skill-get.constant.ts +27 -0
- package/src/shared/mcp/constants/tool-skill-learn.constant.ts +37 -0
- package/src/shared/mcp/constants/tool-skill-list.constant.ts +18 -0
- package/src/shared/mcp/constants/tool-status.constant.ts +20 -0
- package/src/shared/mcp/constants/tool-unlearn.constant.ts +25 -0
- package/src/shared/mcp/functions/as-boolean-or-undefined.function.ts +11 -0
- package/src/shared/mcp/functions/as-string-array-or-undefined.function.ts +17 -0
- package/src/shared/mcp/functions/as-string-array.function.ts +15 -0
- package/src/shared/mcp/functions/as-string.function.ts +10 -0
- package/src/shared/mcp/functions/build-skills-text.function.ts +43 -0
- package/src/shared/mcp/functions/create-tool-definitions.function.ts +28 -0
- package/src/shared/mcp/functions/handle-agent-create.function.ts +1 -1
- package/src/shared/mcp/functions/handle-agent-prompt.function.ts +68 -0
- package/src/shared/mcp/functions/handle-mcp-request.function.ts +202 -0
- package/src/shared/mcp/functions/handle-prompt-get.function.ts +18 -12
- package/src/shared/mcp/functions/handle-skill-prompt.function.ts +44 -0
- package/src/shared/mcp/functions/handle-tool-auto-capture-review.function.ts +24 -0
- package/src/shared/mcp/functions/handle-tool-call.function.ts +18 -0
- package/src/shared/mcp/functions/handle-tool-check.function.ts +21 -0
- package/src/shared/mcp/functions/handle-tool-content.function.ts +23 -0
- package/src/shared/mcp/functions/handle-tool-export.function.ts +25 -0
- package/src/shared/mcp/functions/handle-tool-gc.function.ts +21 -0
- package/src/shared/mcp/functions/handle-tool-learn.function.ts +69 -0
- package/src/shared/mcp/functions/handle-tool-rebuild.function.ts +21 -0
- package/src/shared/mcp/functions/handle-tool-retrieve.function.ts +40 -0
- package/src/shared/mcp/functions/handle-tool-search.function.ts +47 -0
- package/src/shared/mcp/functions/handle-tool-skill-delete.function.ts +34 -0
- package/src/shared/mcp/functions/handle-tool-skill-get.function.ts +59 -0
- package/src/shared/mcp/functions/handle-tool-skill-learn.function.ts +61 -0
- package/src/shared/mcp/functions/handle-tool-skill-list.function.ts +39 -0
- package/src/shared/mcp/functions/handle-tool-status.function.ts +21 -0
- package/src/shared/mcp/functions/handle-tool-unlearn.function.ts +24 -0
- package/src/shared/mcp/functions/parse-agent-meta.function.ts +27 -0
- package/src/shared/mcp/functions/parse-skill-arguments.function.ts +36 -0
- package/src/shared/mcp/functions/read-agent-meta.function.ts +41 -0
- package/src/shared/mcp/functions/resolve-skill-refs.function.ts +50 -0
- package/src/shared/mcp/functions/run-startup-health-check.function.ts +34 -0
- package/src/shared/mcp/typings/mcp-capabilities.interface.ts +16 -0
- package/src/shared/mcp/typings/mcp-client.interface.ts +2 -0
- package/src/shared/mcp/typings/mcp-completion.interface.ts +45 -0
- package/src/shared/mcp/typings/mcp-content-result.model.ts +9 -0
- package/src/shared/mcp/typings/mcp-export-result.model.ts +11 -0
- package/src/shared/mcp/typings/mcp-gc-result.model.ts +15 -0
- package/src/shared/mcp/typings/mcp-integrity-check-result.model.ts +17 -0
- package/src/shared/mcp/typings/mcp-integrity-error.model.ts +15 -0
- package/src/shared/mcp/typings/mcp-notification.interface.ts +9 -0
- package/src/shared/mcp/typings/mcp-rebuild-result.model.ts +9 -0
- package/src/shared/mcp/typings/mcp-request.interface.ts +11 -0
- package/src/shared/mcp/typings/mcp-resource-result.interface.ts +12 -0
- package/src/shared/mcp/typings/mcp-resource-template.interface.ts +11 -0
- package/src/shared/mcp/typings/mcp-response.interface.ts +18 -0
- package/src/shared/mcp/typings/mcp-server-info.interface.ts +7 -0
- package/src/shared/mcp/typings/mcp-server-state.interface.ts +17 -0
- package/src/shared/mcp/typings/mcp-tool-annotations.interface.ts +32 -0
- package/src/shared/mcp/typings/mcp-tool-definition.interface.ts +16 -0
- package/src/shared/mcp/typings/mcp-tool-result.interface.ts +19 -0
- package/src/shared/mcp/typings/mcp-worker-client.interface.ts +243 -0
- package/src/shared/mcp/typings/tool-call-result.model.ts +18 -0
- package/src/shared/sync/functions/build-import-report.function.ts +40 -0
- package/src/shared/sync/functions/parse-export-entry.function.ts +45 -0
- package/src/shared/sync/functions/resolve-conflict.function.ts +31 -0
- package/src/shared/sync/functions/serialize-export-entry.function.ts +18 -0
- package/src/shared/sync/index.ts +9 -0
- package/src/shared/sync/typings/conflict-resolution.type.ts +8 -0
- package/src/shared/sync/typings/export-entry.interface.ts +13 -0
- package/src/shared/sync/typings/export-options.interface.ts +9 -0
- package/src/shared/sync/typings/import-options.interface.ts +7 -0
- package/src/shared/sync/typings/import-report.interface.ts +15 -0
- package/src/shared/wasm-codec/functions/decode-one-recall-result.function.ts +86 -0
- package/src/shared/wasm-codec/functions/decode-option-string.function.ts +24 -0
- package/src/shared/wasm-codec/functions/decode-recall-document.function.ts +59 -0
- package/src/shared/wasm-codec/functions/decode-recall-reference.function.ts +52 -0
- package/src/shared/wasm-codec/functions/decode-recall-sibling.function.ts +43 -0
- package/src/shared/wasm-codec/functions/decode-section-match.function.ts +80 -0
- package/src/shared/wasm-codec/functions/decode-section-record-trailing.function.ts +75 -0
- package/src/shared/wasm-codec/functions/decode-section-record.function.ts +85 -0
- package/src/shared/wasm-codec/functions/decode-section-type.function.ts +30 -0
- package/src/shared/wasm-codec/functions/decode-wasm-list.function.ts +31 -0
- package/src/shared/wasm-codec/typings/add-section-input.model.ts +45 -0
- package/src/shared/wasm-codec/typings/add-section-result.model.ts +28 -0
- package/src/shared/wasm-codec/typings/document-manifest.model.ts +20 -0
- package/src/shared/wasm-codec/typings/document-section.model.ts +12 -0
- package/src/shared/wasm-codec/typings/item-decoder.type.ts +10 -0
- package/src/shared/wasm-codec/typings/near-duplicate.model.ts +16 -0
- package/src/shared/wasm-codec/typings/paged-search-result.model.ts +22 -0
- package/src/shared/wasm-codec/typings/section-match.model.ts +31 -0
- package/src/shared/wasm-codec/typings/section-record-trailing.model.ts +38 -0
- package/src/shared/wasm-codec/typings/section-record.model.ts +66 -0
- package/src/shared/wasm-codec/typings/section-type-result.model.ts +12 -0
- package/src/shared/worker-client/functions/handle-ipc-data.function.ts +49 -0
- package/src/shared/worker-client/functions/send-ipc-request.function.ts +39 -0
- package/src/shared/worker-client/typings/add-section-result.model.ts +2 -0
- package/src/shared/worker-client/typings/json-rpc-response.interface.ts +17 -0
- package/src/shared/worker-client/typings/pending-call.interface.ts +7 -0
- package/src/shared/worker-client/typings/recall-document.model.ts +16 -0
- package/src/shared/worker-client/typings/recall-params.model.ts +15 -0
- package/src/shared/worker-client/typings/recall-reference.model.ts +32 -0
- package/src/shared/worker-client/typings/recall-sibling.model.ts +11 -0
- package/src/shared/worker-client/typings/recall-single-result.model.ts +41 -0
- package/src/shared/worker-daemon/classes/ipc-error.class.ts +22 -0
- package/src/shared/worker-daemon/constants/wasm-method-map.constant.ts +69 -0
- package/src/shared/worker-daemon/functions/build-ipc-error-response.function.ts +16 -0
- package/src/shared/worker-daemon/functions/check-catalog-version.function.ts +54 -0
- package/src/shared/worker-daemon/functions/check-preconditions.function.ts +28 -0
- package/src/shared/worker-daemon/functions/detect-stale-pid.function.ts +33 -0
- package/src/shared/worker-daemon/functions/dispatch-request.function.ts +190 -0
- package/src/shared/worker-daemon/functions/handle-check-version.function.ts +74 -0
- package/src/shared/worker-daemon/functions/handle-config-method.function.ts +27 -0
- package/src/shared/worker-daemon/functions/handle-read-ops.function.ts +236 -0
- package/src/shared/worker-daemon/functions/handle-write-ops.function.ts +257 -0
- package/src/shared/worker-daemon/functions/parse-auto-capture-section.function.ts +51 -0
- package/src/shared/worker-daemon/functions/parse-catalog-version.function.ts +20 -0
- package/src/shared/worker-daemon/functions/parse-embedding-section.function.ts +38 -0
- package/src/shared/worker-daemon/functions/parse-worker-toml.function.ts +104 -0
- package/src/shared/worker-daemon/functions/run-startup-integrity-check.function.ts +55 -0
- package/src/shared/worker-daemon/functions/scan-near-duplicates.function.ts +92 -0
- package/src/shared/worker-daemon/functions/wasm-bridge.function.ts +144 -0
- package/src/shared/worker-daemon/functions/wasm-memory-helpers.function.ts +41 -0
- package/src/shared/worker-daemon/functions/write-lock.function.ts +49 -0
- package/src/shared/worker-daemon/typings/allocator-ref.interface.ts +16 -0
- package/src/shared/worker-daemon/typings/daemon-config.interface.ts +7 -0
- package/src/shared/worker-daemon/typings/fs-adapter.interface.ts +22 -0
- package/src/shared/worker-daemon/typings/handler-context.interface.ts +19 -0
- package/src/shared/worker-daemon/typings/memory-ref.interface.ts +13 -0
- package/src/shared/worker-daemon/typings/wasm-fn.type.ts +2 -0
- package/src/shared/worker-daemon/typings/write-lock.interface.ts +13 -0
- package/src/wasm/fs-database/kbdb_fs_database_bg.wasm +0 -0
- package/src/wasm/kb-worker/kbdb_worker_bg.wasm +0 -0
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { AutoCaptureConfig } from '../typings/auto-capture-config.interface.ts';
|
|
2
|
+
import type { AutoCaptureState } from '../typings/auto-capture-state.interface.ts';
|
|
3
|
+
import type { AutoCaptureTrigger } from '../typings/auto-capture-trigger.interface.ts';
|
|
4
|
+
/**
|
|
5
|
+
* Controls the auto-capture lifecycle.
|
|
6
|
+
*
|
|
7
|
+
* Tracks tool call counts, evaluates trigger conditions, and
|
|
8
|
+
* advances session state when a capture fires. Reset state on
|
|
9
|
+
* disconnect or session end via `reset()`.
|
|
10
|
+
*/
|
|
11
|
+
export declare class AutoCaptureController {
|
|
12
|
+
private toolCallsSinceLastCapture;
|
|
13
|
+
private lastCaptureTimestamp;
|
|
14
|
+
private totalCapturesThisSession;
|
|
15
|
+
private readonly config;
|
|
16
|
+
/** @param config - the auto-capture configuration to use */
|
|
17
|
+
constructor(config: AutoCaptureConfig);
|
|
18
|
+
/** Record one tool call for trigger counting. */
|
|
19
|
+
recordToolCall(): void;
|
|
20
|
+
/**
|
|
21
|
+
* Evaluates the current state against the trigger criteria.
|
|
22
|
+
*
|
|
23
|
+
* When the trigger fires, advances the session counters so the
|
|
24
|
+
* next evaluation respects rate limiting and the session cap.
|
|
25
|
+
*
|
|
26
|
+
* @returns the trigger decision with a human-readable reason
|
|
27
|
+
*/
|
|
28
|
+
evaluate(): AutoCaptureTrigger;
|
|
29
|
+
/** Reset all counters, e.g. on client disconnect. */
|
|
30
|
+
reset(): void;
|
|
31
|
+
/** Returns a snapshot of the current controller state. */
|
|
32
|
+
state(): AutoCaptureState;
|
|
33
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { AutoCaptureConfig } from '../typings/auto-capture-config.interface.ts';
|
|
2
|
+
/**
|
|
3
|
+
* Default configuration for the auto-capture feature.
|
|
4
|
+
*
|
|
5
|
+
* Auto-capture is disabled by default. Enable it in
|
|
6
|
+
* `worker.toml` under `[auto_capture]`.
|
|
7
|
+
*/
|
|
8
|
+
export declare const AUTO_CAPTURE_DEFAULTS: AutoCaptureConfig;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Builds the MCP sampling prompt for knowledge extraction.
|
|
3
|
+
*
|
|
4
|
+
* Instructs the host LLM to identify durable factual knowledge
|
|
5
|
+
* from the recent conversation context, filter out ephemeral or
|
|
6
|
+
* task-specific information, and format the result for storage
|
|
7
|
+
* following memory-protocol criteria.
|
|
8
|
+
*
|
|
9
|
+
* @param recentContext - the conversation excerpt to analyse
|
|
10
|
+
*/
|
|
11
|
+
export declare function buildCapturePrompt(recentContext: string): string;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { AutoCaptureConfig } from '../typings/auto-capture-config.interface.ts';
|
|
2
|
+
import type { AutoCaptureState } from '../typings/auto-capture-state.interface.ts';
|
|
3
|
+
import type { AutoCaptureTrigger } from '../typings/auto-capture-trigger.interface.ts';
|
|
4
|
+
/**
|
|
5
|
+
* Evaluates whether auto-capture should fire given the current
|
|
6
|
+
* configuration and runtime state.
|
|
7
|
+
*
|
|
8
|
+
* Checks (in order): feature flag, session cap, rate limit,
|
|
9
|
+
* and tool-call count threshold. Returns the first failing
|
|
10
|
+
* condition as the reason.
|
|
11
|
+
*/
|
|
12
|
+
export declare function evaluateTrigger(config: AutoCaptureConfig, state: AutoCaptureState): AutoCaptureTrigger;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { AutoCaptureController } from './classes/auto-capture-controller.class.ts';
|
|
2
|
+
export { AUTO_CAPTURE_DEFAULTS } from './constants/auto-capture-defaults.constant.ts';
|
|
3
|
+
export { evaluateTrigger } from './functions/evaluate-trigger.function.ts';
|
|
4
|
+
export { buildCapturePrompt } from './functions/build-capture-prompt.function.ts';
|
|
5
|
+
export type { AutoCaptureConfig } from './typings/auto-capture-config.interface.ts';
|
|
6
|
+
export type { AutoCaptureTrigger } from './typings/auto-capture-trigger.interface.ts';
|
|
7
|
+
export type { AutoCaptureState } from './typings/auto-capture-state.interface.ts';
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/** Configuration for auto-capture behavior. */
|
|
2
|
+
export interface AutoCaptureConfig {
|
|
3
|
+
/** Enable or disable auto-capture. */
|
|
4
|
+
readonly enabled: boolean;
|
|
5
|
+
/** Trigger a capture after this many tool calls. */
|
|
6
|
+
readonly triggerAfterToolCalls: number;
|
|
7
|
+
/** Minimum time in milliseconds between captures. */
|
|
8
|
+
readonly minIntervalMs: number;
|
|
9
|
+
/** Maximum number of captures allowed per session. */
|
|
10
|
+
readonly maxCapturesPerSession: number;
|
|
11
|
+
/** Log without writing when true. */
|
|
12
|
+
readonly dryRun: boolean;
|
|
13
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/** Runtime state tracked by the auto-capture controller. */
|
|
2
|
+
export interface AutoCaptureState {
|
|
3
|
+
/** Tool calls recorded since the last successful capture. */
|
|
4
|
+
readonly toolCallsSinceLastCapture: number;
|
|
5
|
+
/**
|
|
6
|
+
* Unix epoch milliseconds of the most recent capture.
|
|
7
|
+
*
|
|
8
|
+
* Zero when no capture has occurred this session.
|
|
9
|
+
*/
|
|
10
|
+
readonly lastCaptureTimestamp: number;
|
|
11
|
+
/** Total captures completed during the current session. */
|
|
12
|
+
readonly totalCapturesThisSession: number;
|
|
13
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Detailed help texts keyed by `"group-subcommand"`.
|
|
3
|
+
*
|
|
4
|
+
* Used by `generateHelp` to display per-subcommand documentation
|
|
5
|
+
* when the user runs `kbdb <group> <subcommand> --help`. Falls
|
|
6
|
+
* back to group-level help when the key is absent.
|
|
7
|
+
*/
|
|
8
|
+
export declare const SUBCOMMAND_HELP: Readonly<Record<string, string>>;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Resolves a single target path to a flat list of supported files.
|
|
3
|
+
*
|
|
4
|
+
* When `target` is a file, returns it wrapped in an array if its
|
|
5
|
+
* extension is in `SUPPORTED_EXTENSIONS` and it is not a dotfile;
|
|
6
|
+
* otherwise returns `[]`. When `target` is a directory, recursively
|
|
7
|
+
* collects all matching files, skipping dot-entries at every level.
|
|
8
|
+
* Returns `[]` for non-existent or inaccessible paths.
|
|
9
|
+
*
|
|
10
|
+
* @param target - file or directory path to resolve
|
|
11
|
+
* @returns flat array of absolute or relative paths to supported files
|
|
12
|
+
*/
|
|
13
|
+
export declare function collectFiles(target: string): string[];
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Computes a 26-character kbid for a section using the same algorithm
|
|
3
|
+
* as the Rust engine's `hash_section`.
|
|
4
|
+
*
|
|
5
|
+
* Algorithm:
|
|
6
|
+
* 1. Build input: `"section <mime> <byteLen>\0<content>"`
|
|
7
|
+
* 2. SHA-256 hash the input
|
|
8
|
+
* 3. Take the first 16 bytes
|
|
9
|
+
* 4. Base32 encode (RFC 4648, no padding), lowercased → 26 chars
|
|
10
|
+
*
|
|
11
|
+
* @param mimeType - MIME type string (e.g. `"text/markdown"`)
|
|
12
|
+
* @param content - UTF-8 section content string
|
|
13
|
+
* @returns 26-character lowercase base32 kbid
|
|
14
|
+
*/
|
|
15
|
+
export declare function computeSectionKbid(mimeType: string, content: string): string;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { PagedSearchDisplay } from '../typings/search-display.model.ts';
|
|
2
|
+
/**
|
|
3
|
+
* Formats a paged search result as a JSON string compatible
|
|
4
|
+
* with the MCP (Model Context Protocol) `text` content block.
|
|
5
|
+
*
|
|
6
|
+
* @param paged - paginated search results to serialise
|
|
7
|
+
* @returns MCP-compatible JSON string ready for stdout
|
|
8
|
+
*/
|
|
9
|
+
export declare function formatMcpOutput(paged: PagedSearchDisplay): string;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { PagedSearchDisplay } from '../typings/search-display.model.ts';
|
|
2
|
+
/**
|
|
3
|
+
* Formats a paged search result as a numbered human-readable
|
|
4
|
+
* text list with a paging footer and optional "more" hint.
|
|
5
|
+
*
|
|
6
|
+
* @param paged - paginated search results to render
|
|
7
|
+
* @returns formatted string ready for stdout
|
|
8
|
+
*/
|
|
9
|
+
export declare function formatTextOutput(paged: PagedSearchDisplay): string;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generates the level-2 help text for a group command.
|
|
3
|
+
*
|
|
4
|
+
* Lists all subcommands with their descriptions and
|
|
5
|
+
* includes a footer pointing to per-subcommand help.
|
|
6
|
+
*
|
|
7
|
+
* @param group - the group command name (e.g. `'db'`, `'skill'`)
|
|
8
|
+
* @param subs - ordered list of `[name, description]` pairs
|
|
9
|
+
* @returns formatted help string for the group command
|
|
10
|
+
*/
|
|
11
|
+
export declare function generateGroupHelp(group: string, subs: readonly (readonly [string, string])[]): string;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { CliOptions } from '../typings/cli-options.interface.ts';
|
|
2
|
+
import type { CommandResult } from '../typings/command-result.model.ts';
|
|
3
|
+
import type { CliDeps } from '../typings/cli-deps.interface.ts';
|
|
4
|
+
/**
|
|
5
|
+
* Handles data commands (search, learn, recall, etc.) by finding or
|
|
6
|
+
* creating the database, running the version gate, and dispatching to
|
|
7
|
+
* the appropriate command handler.
|
|
8
|
+
*
|
|
9
|
+
* When the database is not found in non-TTY mode, returns an error.
|
|
10
|
+
* In TTY mode, prompts the user to create a new database.
|
|
11
|
+
*
|
|
12
|
+
* @param options - parsed CLI options with command and args
|
|
13
|
+
* @param deps - injectable CLI dependencies
|
|
14
|
+
* @returns a `CommandResult` from the dispatched command
|
|
15
|
+
*/
|
|
16
|
+
export declare function handleDataCommand(options: CliOptions, deps: CliDeps): Promise<CommandResult>;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { CliOptions } from '../typings/cli-options.interface.ts';
|
|
2
|
+
import type { CommandResult } from '../typings/command-result.model.ts';
|
|
3
|
+
import type { CliDeps } from '../typings/cli-deps.interface.ts';
|
|
4
|
+
/**
|
|
5
|
+
* Handles the `mcp` command sub-flow.
|
|
6
|
+
*
|
|
7
|
+
* Resolves the database directory, creates a worker client, runs
|
|
8
|
+
* the version gate, and starts the MCP server. Disconnects the
|
|
9
|
+
* worker client when finished.
|
|
10
|
+
*
|
|
11
|
+
* @param options - parsed CLI options (uses `dbPath` and env fallback)
|
|
12
|
+
* @param deps - injectable CLI dependencies
|
|
13
|
+
* @returns a `CommandResult` with `exitCode: 0` on success
|
|
14
|
+
*/
|
|
15
|
+
export declare function handleMcp(options: CliOptions, deps: CliDeps): Promise<CommandResult>;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { CliOptions } from '../typings/cli-options.interface.ts';
|
|
2
|
+
import type { CommandResult } from '../typings/command-result.model.ts';
|
|
3
|
+
import type { CliDeps } from '../typings/cli-deps.interface.ts';
|
|
4
|
+
/**
|
|
5
|
+
* Handles the `migrate` / `db-migrate` command sub-flow.
|
|
6
|
+
*
|
|
7
|
+
* Resolves the database directory, creates a worker client,
|
|
8
|
+
* checks the version, and runs migrations when needed. Disconnects
|
|
9
|
+
* the worker client when finished.
|
|
10
|
+
*
|
|
11
|
+
* @param options - parsed CLI options (uses `dbPath`)
|
|
12
|
+
* @param deps - injectable CLI dependencies
|
|
13
|
+
* @returns a `CommandResult` with migration output or an error
|
|
14
|
+
*/
|
|
15
|
+
export declare function handleMigrate(options: CliOptions, deps: CliDeps): Promise<CommandResult>;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { PagedSearchDisplay } from '../typings/search-display.model.ts';
|
|
2
|
+
import type { ContentClient } from './run-content.function.ts';
|
|
3
|
+
/**
|
|
4
|
+
* Hydrates each result's `preview` field with the actual section
|
|
5
|
+
* content fetched from the client.
|
|
6
|
+
*
|
|
7
|
+
* Failures for individual results are caught and suppressed so that
|
|
8
|
+
* one unavailable section does not prevent other previews from
|
|
9
|
+
* being returned.
|
|
10
|
+
*
|
|
11
|
+
* @param client - content client used to fetch section text
|
|
12
|
+
* @param paged - mutable search display records to hydrate
|
|
13
|
+
*/
|
|
14
|
+
export declare function hydrateSearchPreviews(client: ContentClient, paged: PagedSearchDisplay): Promise<void>;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { AgentGetClient, AgentDocumentSection } from '../typings/agent-get-client.interface.ts';
|
|
2
|
+
/**
|
|
3
|
+
* Resolves skill names by reading each skill section's JSON content.
|
|
4
|
+
*
|
|
5
|
+
* Returns `null` for any reference whose section no longer exists
|
|
6
|
+
* (dangling reference) or whose content cannot be parsed.
|
|
7
|
+
*
|
|
8
|
+
* @param client - client used to fetch section records
|
|
9
|
+
* @param skillRefs - ordered section references to resolve
|
|
10
|
+
* @returns list of resolved skill entries with name and position
|
|
11
|
+
*/
|
|
12
|
+
export declare function resolveSkillNames(client: AgentGetClient, skillRefs: AgentDocumentSection[]): Promise<{
|
|
13
|
+
kbid: string;
|
|
14
|
+
name: string | null;
|
|
15
|
+
position: number;
|
|
16
|
+
}[]>;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { CommandResult } from '../typings/command-result.model.ts';
|
|
2
|
+
import type { DisconnectableClient } from '../typings/disconnectable-client.interface.ts';
|
|
3
|
+
/**
|
|
4
|
+
* Checks the database version and returns a `CommandResult` error
|
|
5
|
+
* when the version is incompatible, or `null` when it is compatible.
|
|
6
|
+
*
|
|
7
|
+
* - `'needs_migration'`: prompts the user to run `kbdb --migrate`
|
|
8
|
+
* - `'too_new'`: informs the user to upgrade kbdb
|
|
9
|
+
* - `'compatible'`: returns `null` (no gate triggered)
|
|
10
|
+
*
|
|
11
|
+
* @param client - disconnectable client with version-check capability
|
|
12
|
+
* @param dbDir - absolute path to the `.kbdb` database root
|
|
13
|
+
* @returns error `CommandResult` when blocked, or `null` when clear
|
|
14
|
+
*/
|
|
15
|
+
export declare function versionGate(client: DisconnectableClient, dbDir: string): Promise<CommandResult | null>;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { CommandResult } from '../typings/command-result.model.ts';
|
|
2
|
+
/**
|
|
3
|
+
* Wraps an async command handler in a standard try/catch envelope.
|
|
4
|
+
*
|
|
5
|
+
* On success, serialises the result with `JSON.stringify` and
|
|
6
|
+
* returns `exitCode: 0`. On failure, returns an error message
|
|
7
|
+
* prefixed with `<label> failed:` and `exitCode: 1`.
|
|
8
|
+
*
|
|
9
|
+
* @param label - command name used in the error prefix
|
|
10
|
+
* @param handler - async function that produces the command result
|
|
11
|
+
* @param exitCodeSelector - optional function to derive `exitCode`
|
|
12
|
+
* from the successful result; defaults to always returning 0
|
|
13
|
+
* @returns a `CommandResult` with output or error
|
|
14
|
+
*/
|
|
15
|
+
export declare function wrapCommand<T>(label: string, handler: () => Promise<T>, exitCodeSelector?: (result: T) => number): Promise<CommandResult>;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type { AddSectionResult } from '../../worker-client/typings/add-section-result.model.ts';
|
|
2
|
+
/**
|
|
3
|
+
* Minimal client interface required by `runAgentCreate`.
|
|
4
|
+
*
|
|
5
|
+
* Decouples the CLI function from the concrete `WorkerClient`
|
|
6
|
+
* implementation, making it straightforward to test with mocks.
|
|
7
|
+
*/
|
|
8
|
+
export interface AgentCreateClient {
|
|
9
|
+
/**
|
|
10
|
+
* Ingests a content section into the knowledge base.
|
|
11
|
+
*
|
|
12
|
+
* @param params - section type label, raw content, and optional
|
|
13
|
+
* metadata
|
|
14
|
+
* @returns result object containing the assigned knowledge-base
|
|
15
|
+
* identifier
|
|
16
|
+
*/
|
|
17
|
+
addSection(params: {
|
|
18
|
+
readonly sectionType: string;
|
|
19
|
+
readonly content: string;
|
|
20
|
+
readonly title?: string;
|
|
21
|
+
readonly description?: string;
|
|
22
|
+
}): Promise<AddSectionResult>;
|
|
23
|
+
/**
|
|
24
|
+
* Groups a set of sections under a named document.
|
|
25
|
+
*
|
|
26
|
+
* @param title - human-readable document title
|
|
27
|
+
* @param kbids - identifiers of the sections to group
|
|
28
|
+
* @param docType - application-level document type tag; omit or
|
|
29
|
+
* pass an empty string for untagged documents
|
|
30
|
+
* @returns the assigned document identifier
|
|
31
|
+
*/
|
|
32
|
+
groupSections(title: string, kbids: string[], docType?: string): Promise<string>;
|
|
33
|
+
/**
|
|
34
|
+
* Retrieves one or more sections by their identifiers.
|
|
35
|
+
*
|
|
36
|
+
* @param kbids - list of knowledge-base identifiers to fetch
|
|
37
|
+
* @returns sections found; missing kbids are omitted from the result
|
|
38
|
+
*/
|
|
39
|
+
readSections(kbids: string[]): Promise<{
|
|
40
|
+
kbid: string;
|
|
41
|
+
}[]>;
|
|
42
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/** A document section reference as returned by `retrieveDocument`. */
|
|
2
|
+
export interface AgentDocumentSection {
|
|
3
|
+
/** Knowledge-base identifier of the section. */
|
|
4
|
+
readonly kbid: string;
|
|
5
|
+
/** Zero-based position of the section within the document. */
|
|
6
|
+
readonly position: number;
|
|
7
|
+
}
|
|
8
|
+
/** A section record as returned by `readSections`. */
|
|
9
|
+
export interface AgentSectionRecord {
|
|
10
|
+
/** Knowledge-base identifier of the section. */
|
|
11
|
+
readonly kbid: string;
|
|
12
|
+
/** Raw text content stored in the section. */
|
|
13
|
+
readonly content: string;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Minimal client interface required by `runAgentGet`.
|
|
17
|
+
*
|
|
18
|
+
* Decouples the CLI function from the concrete `WorkerClient`
|
|
19
|
+
* implementation, making it straightforward to test with mocks.
|
|
20
|
+
*/
|
|
21
|
+
export interface AgentGetClient {
|
|
22
|
+
/**
|
|
23
|
+
* Retrieves a full document record including its ordered sections.
|
|
24
|
+
*
|
|
25
|
+
* @param docid - identifier of the document to retrieve
|
|
26
|
+
* @returns the document record
|
|
27
|
+
*/
|
|
28
|
+
retrieveDocument(docid: string): Promise<unknown>;
|
|
29
|
+
/**
|
|
30
|
+
* Retrieves one or more sections by their identifiers.
|
|
31
|
+
*
|
|
32
|
+
* @param kbids - list of knowledge-base identifiers to fetch
|
|
33
|
+
* @returns sections found; missing kbids are omitted from the result
|
|
34
|
+
*/
|
|
35
|
+
readSections(kbids: string[]): Promise<AgentSectionRecord[]>;
|
|
36
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/** Raw daemon response from `integrityCheck`. */
|
|
2
|
+
export interface RawIntegrityCheckResult {
|
|
3
|
+
/** `true` when all checks passed and no errors were found. */
|
|
4
|
+
readonly ok: boolean;
|
|
5
|
+
/** All integrity errors found; empty when `ok` is `true`. */
|
|
6
|
+
readonly errors: IntegrityError[];
|
|
7
|
+
/** Total number of sections examined. */
|
|
8
|
+
readonly sections_checked: number;
|
|
9
|
+
/** Total number of documents examined. */
|
|
10
|
+
readonly documents_checked: number;
|
|
11
|
+
/** Total number of marker references checked. */
|
|
12
|
+
readonly references_checked: number;
|
|
13
|
+
/** Time taken to complete the check, in milliseconds. */
|
|
14
|
+
readonly elapsed_ms: number;
|
|
15
|
+
/**
|
|
16
|
+
* Encoded divergent-content map.
|
|
17
|
+
*
|
|
18
|
+
* Format: `sk1:kbid1,kbid2;sk2:kbid3,kbid4`
|
|
19
|
+
*
|
|
20
|
+
* Each semicolon-separated segment is a source key followed by
|
|
21
|
+
* a colon and a comma-separated list of kbids. Absent when no
|
|
22
|
+
* divergent content exists.
|
|
23
|
+
*/
|
|
24
|
+
readonly divergent_content?: string;
|
|
25
|
+
}
|
|
26
|
+
/** A single integrity error found during a database check. */
|
|
27
|
+
export interface IntegrityError {
|
|
28
|
+
/**
|
|
29
|
+
* The category of integrity violation detected.
|
|
30
|
+
*
|
|
31
|
+
* - `'checksum_mismatch'` -- stored content does not match its hash
|
|
32
|
+
* - `'orphan_section'` -- section not referenced by any document
|
|
33
|
+
* - `'orphan_document'` -- document references no existing sections
|
|
34
|
+
* - `'broken_reference'` -- a marker references a non-existent entity
|
|
35
|
+
* - `'type_mismatch'` -- stored MIME type conflicts with content
|
|
36
|
+
* - `'circular_reference'` -- marker chain contains a cycle
|
|
37
|
+
*/
|
|
38
|
+
readonly type: 'checksum_mismatch' | 'orphan_section' | 'orphan_document' | 'broken_reference' | 'type_mismatch' | 'circular_reference';
|
|
39
|
+
/** Identifier of the entity (kbid or docid) that has the issue. */
|
|
40
|
+
readonly entity: string;
|
|
41
|
+
/** Human-readable description of the specific problem. */
|
|
42
|
+
readonly detail: string;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Minimal client interface required by `runCheck`.
|
|
46
|
+
*
|
|
47
|
+
* Decouples the CLI function from the concrete `WorkerClient`
|
|
48
|
+
* implementation, making it straightforward to test with mocks.
|
|
49
|
+
*/
|
|
50
|
+
export interface CheckClient {
|
|
51
|
+
/**
|
|
52
|
+
* Runs an integrity check on the knowledge-base database.
|
|
53
|
+
*
|
|
54
|
+
* @returns a report of all issues found; `ok` is `true` when
|
|
55
|
+
* no errors were detected
|
|
56
|
+
*/
|
|
57
|
+
integrityCheck(): Promise<RawIntegrityCheckResult>;
|
|
58
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import type { CliOptions } from './cli-options.interface.ts';
|
|
2
|
+
import type { InitResult } from '../functions/run-init.function.ts';
|
|
3
|
+
import type { DisconnectableClient } from './disconnectable-client.interface.ts';
|
|
4
|
+
/**
|
|
5
|
+
* Injectable dependencies for the CLI orchestrator.
|
|
6
|
+
*
|
|
7
|
+
* Every external side-effect is injected so the function
|
|
8
|
+
* is fully testable without touching process globals,
|
|
9
|
+
* filesystem, or network.
|
|
10
|
+
*/
|
|
11
|
+
export interface CliDeps {
|
|
12
|
+
/** Returns `true` when stdin is an interactive terminal. */
|
|
13
|
+
isStdinTty: () => boolean;
|
|
14
|
+
/**
|
|
15
|
+
* Prompts the user with the given question and resolves with
|
|
16
|
+
* their trimmed response.
|
|
17
|
+
*
|
|
18
|
+
* @param question - text to display before the input prompt
|
|
19
|
+
*/
|
|
20
|
+
promptUser: (question: string) => Promise<string>;
|
|
21
|
+
/**
|
|
22
|
+
* Creates a worker client connected to the given database path.
|
|
23
|
+
*
|
|
24
|
+
* @param opts - connection options including the context path
|
|
25
|
+
*/
|
|
26
|
+
createWorkerClient: (opts: {
|
|
27
|
+
contextPath: string;
|
|
28
|
+
}) => Promise<DisconnectableClient>;
|
|
29
|
+
/**
|
|
30
|
+
* Finds the `.kbdb` directory starting from the given base path.
|
|
31
|
+
*
|
|
32
|
+
* @param basePath - starting directory; defaults to `process.cwd()`
|
|
33
|
+
* @returns absolute path to `.kbdb` or `null` when not found
|
|
34
|
+
*/
|
|
35
|
+
findDb: (basePath?: string) => string | null;
|
|
36
|
+
/**
|
|
37
|
+
* Initialises a new `.kbdb` database directory.
|
|
38
|
+
*
|
|
39
|
+
* @param options - parsed CLI options
|
|
40
|
+
*/
|
|
41
|
+
runInit: (options: CliOptions) => InitResult;
|
|
42
|
+
/**
|
|
43
|
+
* Starts the MCP server using the given database path.
|
|
44
|
+
*
|
|
45
|
+
* @param contextPath - absolute path to the `.kbdb` directory
|
|
46
|
+
*/
|
|
47
|
+
startMcpServer?: (contextPath: string) => Promise<void>;
|
|
48
|
+
}
|
|
@@ -27,6 +27,8 @@ export interface CliOptions {
|
|
|
27
27
|
format: OutputFormat;
|
|
28
28
|
/** Search mode passed to the worker daemon. Defaults to `'sections'`. */
|
|
29
29
|
mode: SearchMode;
|
|
30
|
+
/** Search algorithm: `'lexical'`, `'vector'`, or `'hybrid'`. */
|
|
31
|
+
algo?: string;
|
|
30
32
|
/** Maximum number of results to return. Defaults to 20. */
|
|
31
33
|
limit: number;
|
|
32
34
|
/** Number of results to skip for pagination. */
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { VersionStatus } from '../../worker-client/typings/version-status.model.ts';
|
|
2
|
+
import type { MigrateResult } from '../../worker-client/typings/migrate-result.model.ts';
|
|
3
|
+
import type { DispatchClient } from './dispatch-client.type.ts';
|
|
4
|
+
/**
|
|
5
|
+
* Extension of `DispatchClient` with lifecycle methods needed by
|
|
6
|
+
* the CLI orchestrator.
|
|
7
|
+
*
|
|
8
|
+
* Adds version checking, migration, and disconnect so the orchestrator
|
|
9
|
+
* can manage a worker-client connection across all CLI commands.
|
|
10
|
+
*/
|
|
11
|
+
export interface DisconnectableClient extends DispatchClient {
|
|
12
|
+
/**
|
|
13
|
+
* Checks the database version against the worker engine.
|
|
14
|
+
*
|
|
15
|
+
* @param targetPath - absolute path to the `.kbdb` database root
|
|
16
|
+
*/
|
|
17
|
+
checkVersion(targetPath: string): Promise<VersionStatus>;
|
|
18
|
+
/**
|
|
19
|
+
* Runs all pending database migrations.
|
|
20
|
+
*
|
|
21
|
+
* @param targetPath - absolute path to the `.kbdb` database root
|
|
22
|
+
*/
|
|
23
|
+
migrateDatabase(targetPath: string): Promise<MigrateResult>;
|
|
24
|
+
/** Disconnects from the worker daemon and releases resources. */
|
|
25
|
+
disconnect(): void;
|
|
26
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { SearchClient } from './search-client.interface.ts';
|
|
2
|
+
import type { LearnClient } from './learn-client.interface.ts';
|
|
3
|
+
import type { UnlearnClient } from '../functions/run-unlearn.function.ts';
|
|
4
|
+
import type { ContentClient } from '../functions/run-content.function.ts';
|
|
5
|
+
import type { CheckClient } from './check-client.interface.ts';
|
|
6
|
+
import type { GcClient } from '../functions/run-gc.function.ts';
|
|
7
|
+
import type { RebuildClient } from '../functions/run-rebuild.function.ts';
|
|
8
|
+
import type { StatusClient } from '../functions/run-status.function.ts';
|
|
9
|
+
import type { DbMigrateClient } from '../functions/run-db-migrate.function.ts';
|
|
10
|
+
import type { SkillLearnClient } from '../functions/run-skill-learn.function.ts';
|
|
11
|
+
import type { SkillListClient } from '../functions/run-skill-list.function.ts';
|
|
12
|
+
import type { SkillGetClient } from '../functions/run-skill-get.function.ts';
|
|
13
|
+
import type { SkillDeleteClient } from '../functions/run-skill-delete.function.ts';
|
|
14
|
+
import type { AgentCreateClient } from './agent-create-client.interface.ts';
|
|
15
|
+
import type { AgentListClient } from '../functions/run-agent-list.function.ts';
|
|
16
|
+
import type { AgentGetClient } from './agent-get-client.interface.ts';
|
|
17
|
+
import type { AgentDeleteClient } from '../functions/run-agent-delete.function.ts';
|
|
18
|
+
import type { RecallClient } from '../functions/run-recall.function.ts';
|
|
19
|
+
import type { ExportClient } from '../functions/run-export.function.ts';
|
|
20
|
+
/**
|
|
21
|
+
* Intersection of all data-command client interfaces.
|
|
22
|
+
*
|
|
23
|
+
* Each run* function defines its own minimal interface; this
|
|
24
|
+
* intersection combines them so `dispatchCommand` can route
|
|
25
|
+
* to any command handler with full type safety.
|
|
26
|
+
*/
|
|
27
|
+
export type DispatchClient = SearchClient & LearnClient & UnlearnClient & ContentClient & CheckClient & GcClient & RebuildClient & StatusClient & DbMigrateClient & SkillLearnClient & SkillListClient & SkillGetClient & SkillDeleteClient & AgentCreateClient & AgentListClient & AgentGetClient & AgentDeleteClient & RecallClient & ExportClient;
|