@dikolab/kbdb 0.2.2 → 0.3.1
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 +47 -31
- 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 +523 -80
- package/dist/cli.cjs.map +4 -4
- package/dist/cli.mjs +515 -72
- package/dist/cli.mjs.map +4 -4
- package/dist/kbdb-worker.cjs +395 -60
- package/dist/kbdb-worker.cjs.map +4 -4
- package/dist/mod.cjs +17 -0
- package/dist/mod.cjs.map +2 -2
- package/dist/mod.mjs +17 -0
- package/dist/mod.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/dispatch-command.function.d.ts +3 -1
- 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/install-default-skills.function.d.ts +12 -0
- package/dist/src/shared/cli/functions/resolve-skill-names.function.d.ts +16 -0
- package/dist/src/shared/cli/functions/run-check.function.d.ts +47 -5
- package/dist/src/shared/cli/functions/run-export.function.d.ts +34 -0
- package/dist/src/shared/cli/functions/run-gc.function.d.ts +6 -0
- package/dist/src/shared/cli/functions/run-learn.function.d.ts +35 -6
- package/dist/src/shared/cli/functions/run-recall.function.d.ts +45 -0
- package/dist/src/shared/cli/functions/run-search.function.d.ts +53 -15
- 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/index.d.ts +4 -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 +15 -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/learn-result.model.d.ts +19 -0
- package/dist/src/shared/cli/typings/search-client.interface.d.ts +71 -0
- package/dist/src/shared/cli/typings/search-display.model.d.ts +18 -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/classes/mcp-server.class.d.ts +8 -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 +45 -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-add-section-result.function.d.ts +48 -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-scored-results.function.d.ts +58 -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-records.function.d.ts +33 -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/functions/encode-add-section-params.function.d.ts +52 -0
- package/dist/src/shared/wasm-codec/index.d.ts +2 -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/classes/worker-client.class.d.ts +16 -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/index.d.ts +1 -1
- package/dist/src/shared/worker-client/typings/add-section-result.model.d.ts +31 -15
- package/dist/src/shared/worker-client/typings/export-result.model.d.ts +14 -0
- package/dist/src/shared/worker-client/typings/gc-result.model.d.ts +6 -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-client/typings/search-result.model.d.ts +12 -0
- package/dist/src/shared/worker-client/typings/section.model.d.ts +16 -0
- package/dist/src/shared/worker-daemon/classes/ipc-error.class.d.ts +17 -0
- package/dist/src/shared/worker-daemon/classes/worker-daemon.class.d.ts +35 -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.d.ts +22 -1
- package/dist/wasm/fs-database/kbdb_fs_database.js +28 -1
- package/dist/wasm/fs-database/kbdb_fs_database_bg.wasm +0 -0
- package/dist/wasm/fs-database/kbdb_fs_database_bg.wasm.d.ts +1 -0
- package/dist/wasm/kb-worker/kbdb_worker.d.ts +48 -1
- package/dist/wasm/kb-worker/kbdb_worker.js +60 -1
- package/dist/wasm/kb-worker/kbdb_worker_bg.wasm +0 -0
- package/dist/wasm/kb-worker/kbdb_worker_bg.wasm.d.ts +2 -0
- package/dist/wasm/query-parser/kbdb_query_parser_bg.wasm +0 -0
- package/dist/worker.mjs +396 -60
- package/dist/worker.mjs.map +4 -4
- package/docs/details/cli.md +102 -15
- package/docs/details/library-api.md +55 -6
- package/docs/details/mcp-server.md +10 -4
- package/docs/details/search-and-ranking.md +63 -5
- package/docs/details/storage.md +2 -0
- package/docs/goals/auto-capture.md +378 -0
- package/docs/goals/benchmarking.md +296 -0
- package/docs/goals/cli.md +255 -14
- package/docs/goals/concurrency.md +259 -0
- package/docs/goals/database.md +244 -17
- package/docs/goals/document.md +1 -1
- package/docs/goals/hybrid-search.md +436 -0
- package/docs/goals/mcp.md +83 -14
- package/docs/goals/query-parser.md +98 -4
- package/docs/goals/query-result.md +177 -10
- package/docs/goals/semantic-dedup.md +229 -0
- package/docs/goals/skills.md +72 -0
- package/docs/goals/sync.md +217 -0
- package/docs/goals/worker-daemon.md +54 -7
- package/docs/modules/rust/fs-database/functions/integrity.md +11 -0
- package/docs/modules/rust/fs-database/functions/section.md +23 -6
- package/docs/modules/rust/fs-database/indexes/vectors.md +110 -0
- package/docs/modules/rust/fs-database/module.md +1 -0
- package/docs/modules/rust/fs-database/types/section.md +27 -1
- package/docs/modules/rust/overview.md +2 -1
- package/docs/modules/rust/query-parser/functions/module.md +2 -2
- package/docs/modules/rust/query-parser/functions/pipeline.md +44 -6
- package/docs/modules/rust/query-parser/module.md +5 -4
- package/docs/modules/rust/query-parser/types/keyphrase.md +11 -0
- package/docs/modules/rust/query-parser/types/module.md +3 -3
- package/docs/modules/typescript/shared/auto-capture/module.md +73 -0
- package/docs/modules/typescript/shared/cli/functions.md +68 -3
- 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 +148 -166
- 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 +111 -0
- package/docs/release-notes/README.md +2 -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/dispatch-command.function.ts +53 -1
- package/src/shared/cli/functions/format-mcp-output.function.ts +41 -0
- package/src/shared/cli/functions/format-output.function.ts +36 -12
- 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/generate-help.function.ts +56 -1
- 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/install-default-skills.function.ts +296 -0
- package/src/shared/cli/functions/parse-args.function.ts +16 -0
- package/src/shared/cli/functions/resolve-skill-names.function.ts +43 -0
- package/src/shared/cli/functions/run-check.function.ts +87 -6
- package/src/shared/cli/functions/run-export.function.ts +40 -0
- package/src/shared/cli/functions/run-gc.function.ts +6 -0
- package/src/shared/cli/functions/run-init.function.ts +2 -0
- package/src/shared/cli/functions/run-learn.function.ts +68 -16
- package/src/shared/cli/functions/run-recall.function.ts +66 -0
- package/src/shared/cli/functions/run-search.function.ts +60 -15
- 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/index.ts +4 -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 +15 -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/learn-result.model.ts +16 -0
- package/src/shared/cli/typings/search-client.interface.ts +73 -0
- package/src/shared/cli/typings/search-display.model.ts +18 -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 +36 -4
- 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 +74 -5
- 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 +88 -2
- 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 +47 -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-add-section-result.function.ts +112 -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-scored-results.function.ts +86 -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-records.function.ts +87 -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/functions/encode-add-section-params.function.ts +68 -0
- package/src/shared/wasm-codec/index.ts +5 -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/classes/worker-client.class.ts +19 -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/index.ts +4 -1
- package/src/shared/worker-client/typings/add-section-result.model.ts +32 -15
- package/src/shared/worker-client/typings/export-result.model.ts +14 -0
- package/src/shared/worker-client/typings/gc-result.model.ts +6 -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-client/typings/search-result.model.ts +12 -0
- package/src/shared/worker-client/typings/section.model.ts +16 -0
- package/src/shared/worker-daemon/classes/ipc-error.class.ts +22 -0
- package/src/shared/worker-daemon/classes/worker-daemon.class.ts +315 -46
- 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/create-host-imports.function.ts +19 -4
- package/src/shared/worker-daemon/functions/create-ipc-server.function.ts +5 -1
- 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.d.ts +22 -1
- package/src/wasm/fs-database/kbdb_fs_database.js +28 -1
- package/src/wasm/fs-database/kbdb_fs_database_bg.wasm +0 -0
- package/src/wasm/fs-database/kbdb_fs_database_bg.wasm.d.ts +1 -0
- package/src/wasm/kb-worker/kbdb_worker.d.ts +48 -1
- package/src/wasm/kb-worker/kbdb_worker.js +60 -1
- package/src/wasm/kb-worker/kbdb_worker_bg.wasm +0 -0
- package/src/wasm/kb-worker/kbdb_worker_bg.wasm.d.ts +2 -0
- package/src/wasm/query-parser/kbdb_query_parser_bg.wasm +0 -0
|
@@ -4,6 +4,30 @@ import type { CliOptions } from '../typings/cli-options.interface.ts';
|
|
|
4
4
|
import type { LearnResult } from '../typings/learn-result.model.ts';
|
|
5
5
|
import { SUPPORTED_EXTENSIONS } from '../constants/defaults.constant.ts';
|
|
6
6
|
|
|
7
|
+
/** Enriched add-section result returned by the daemon. */
|
|
8
|
+
interface AddSectionResult {
|
|
9
|
+
/** Knowledge-base identifier assigned to the new section. */
|
|
10
|
+
readonly kbid: string;
|
|
11
|
+
/**
|
|
12
|
+
* Kbid of the section superseded via `--replace`,
|
|
13
|
+
* or `null` / `undefined` when none.
|
|
14
|
+
*/
|
|
15
|
+
readonly superseded?: string | null;
|
|
16
|
+
/**
|
|
17
|
+
* Advisory warning strings (e.g. `"heading_missing"`).
|
|
18
|
+
* May be absent from older daemon versions.
|
|
19
|
+
*/
|
|
20
|
+
readonly warnings?: string[];
|
|
21
|
+
/**
|
|
22
|
+
* Near-duplicate sections with similarity >= 0.85.
|
|
23
|
+
* May be absent from older daemon versions.
|
|
24
|
+
*/
|
|
25
|
+
readonly near_duplicates?: {
|
|
26
|
+
readonly kbid: string;
|
|
27
|
+
readonly similarity: number;
|
|
28
|
+
}[];
|
|
29
|
+
}
|
|
30
|
+
|
|
7
31
|
/**
|
|
8
32
|
* Minimal client interface required by `runLearn`.
|
|
9
33
|
*
|
|
@@ -14,9 +38,9 @@ export interface LearnClient {
|
|
|
14
38
|
/**
|
|
15
39
|
* Ingests a content section into the knowledge base.
|
|
16
40
|
*
|
|
17
|
-
* @param params - section
|
|
18
|
-
* @returns result
|
|
19
|
-
*
|
|
41
|
+
* @param params - section metadata and raw text content
|
|
42
|
+
* @returns enriched result containing the new kbid plus
|
|
43
|
+
* optional supersession, warnings, and near-duplicate info
|
|
20
44
|
*/
|
|
21
45
|
addSection(params: {
|
|
22
46
|
sectionType: string;
|
|
@@ -24,7 +48,14 @@ export interface LearnClient {
|
|
|
24
48
|
title?: string;
|
|
25
49
|
description?: string;
|
|
26
50
|
docid?: string;
|
|
27
|
-
|
|
51
|
+
tags?: string[];
|
|
52
|
+
replace?: boolean;
|
|
53
|
+
/**
|
|
54
|
+
* Absolute path to the source file. Required for supersession
|
|
55
|
+
* via source key when `replace` is `true`.
|
|
56
|
+
*/
|
|
57
|
+
sourcePath?: string;
|
|
58
|
+
}): Promise<AddSectionResult>;
|
|
28
59
|
}
|
|
29
60
|
|
|
30
61
|
/** Injectable I/O for testing without real stdin. */
|
|
@@ -67,13 +98,10 @@ export async function runLearn(
|
|
|
67
98
|
title: options.title,
|
|
68
99
|
description: options.description,
|
|
69
100
|
docid: options.docid,
|
|
101
|
+
tags: options.tags,
|
|
102
|
+
replace: options.replace,
|
|
70
103
|
});
|
|
71
|
-
results.push(
|
|
72
|
-
kbid: result.kbid,
|
|
73
|
-
path: '-',
|
|
74
|
-
size: content.length,
|
|
75
|
-
skipped: false,
|
|
76
|
-
});
|
|
104
|
+
results.push(mapAddSectionResult(result, '-', content.length));
|
|
77
105
|
continue;
|
|
78
106
|
}
|
|
79
107
|
|
|
@@ -84,20 +112,44 @@ export async function runLearn(
|
|
|
84
112
|
sectionType: 'text',
|
|
85
113
|
content,
|
|
86
114
|
title: options.title,
|
|
115
|
+
description: options.description,
|
|
87
116
|
docid: options.docid,
|
|
117
|
+
tags: options.tags,
|
|
118
|
+
replace: options.replace,
|
|
119
|
+
sourcePath: file,
|
|
88
120
|
});
|
|
89
|
-
results.push(
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
size: content.length,
|
|
93
|
-
skipped: false,
|
|
94
|
-
});
|
|
121
|
+
results.push(
|
|
122
|
+
mapAddSectionResult(result, file, content.length),
|
|
123
|
+
);
|
|
95
124
|
}
|
|
96
125
|
}
|
|
97
126
|
|
|
98
127
|
return results;
|
|
99
128
|
}
|
|
100
129
|
|
|
130
|
+
/**
|
|
131
|
+
* Maps an `AddSectionResult` to a `LearnResult` record.
|
|
132
|
+
*
|
|
133
|
+
* @param result - raw result from `client.addSection()`
|
|
134
|
+
* @param path - source file path or `'-'` for stdin
|
|
135
|
+
* @param size - UTF-8 character count of the ingested content
|
|
136
|
+
*/
|
|
137
|
+
function mapAddSectionResult(
|
|
138
|
+
result: AddSectionResult,
|
|
139
|
+
path: string,
|
|
140
|
+
size: number,
|
|
141
|
+
): LearnResult {
|
|
142
|
+
return {
|
|
143
|
+
kbid: result.kbid,
|
|
144
|
+
path,
|
|
145
|
+
size,
|
|
146
|
+
skipped: false,
|
|
147
|
+
superseded: result.superseded ?? null,
|
|
148
|
+
warnings: result.warnings ?? [],
|
|
149
|
+
near_duplicates: result.near_duplicates ?? [],
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
|
|
101
153
|
function readProcessStdin(): Promise<string> {
|
|
102
154
|
return new Promise<string>((resolve) => {
|
|
103
155
|
const chunks: Buffer[] = [];
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import type { CliOptions } from '../typings/cli-options.interface.ts';
|
|
2
|
+
import type { RecallResult } from '../../worker-client/typings/recall-result.model.ts';
|
|
3
|
+
|
|
4
|
+
/** Maximum allowed expansion depth for recall operations. */
|
|
5
|
+
const MAX_RECALL_DEPTH = 3;
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Minimal client interface required by `runRecall`.
|
|
9
|
+
*
|
|
10
|
+
* Decouples the CLI function from the concrete `WorkerClient`
|
|
11
|
+
* implementation, making it straightforward to test with mocks.
|
|
12
|
+
*/
|
|
13
|
+
export interface RecallClient {
|
|
14
|
+
/**
|
|
15
|
+
* Retrieves full content and context for one or more sections
|
|
16
|
+
* by their knowledge-base identifiers.
|
|
17
|
+
*
|
|
18
|
+
* @param params - section identifier(s) and optional expansion
|
|
19
|
+
* depth (0--3)
|
|
20
|
+
* @returns a single `RecallResult` when `kbid` is supplied, or
|
|
21
|
+
* a `RecallResult[]` when `kbids` is supplied
|
|
22
|
+
*/
|
|
23
|
+
recall(params: {
|
|
24
|
+
kbid?: string;
|
|
25
|
+
kbids?: string[];
|
|
26
|
+
depth?: number;
|
|
27
|
+
}): Promise<RecallResult | RecallResult[]>;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* Retrieves full content and progressive context for one or more
|
|
32
|
+
* sections by kbid via the provided client.
|
|
33
|
+
*
|
|
34
|
+
* Returns an error result when no kbids are provided in
|
|
35
|
+
* `options.args`. For a single kbid, calls `client.recall` with the
|
|
36
|
+
* `kbid` parameter and returns the single `RecallResult`. For
|
|
37
|
+
* multiple kbids, calls `client.recall` with the `kbids` array.
|
|
38
|
+
*
|
|
39
|
+
* The `depth` option is read from `options.depth`, defaulting to 0
|
|
40
|
+
* and clamped to the range 0--3.
|
|
41
|
+
*
|
|
42
|
+
* @param client - recall client to delegate to
|
|
43
|
+
* @param options - parsed CLI options supplying kbids in `args` and
|
|
44
|
+
* expansion depth in `depth`
|
|
45
|
+
* @returns the `RecallResult` or `RecallResult[]` from the client,
|
|
46
|
+
* or an error object when no kbids are provided
|
|
47
|
+
*/
|
|
48
|
+
export async function runRecall(
|
|
49
|
+
client: RecallClient,
|
|
50
|
+
options: CliOptions,
|
|
51
|
+
): Promise<RecallResult | RecallResult[] | { error: string }> {
|
|
52
|
+
if (options.args.length === 0) {
|
|
53
|
+
return { error: 'no kbid provided' };
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
const depth = Math.min(
|
|
57
|
+
MAX_RECALL_DEPTH,
|
|
58
|
+
Math.max(0, options.depth ?? 0),
|
|
59
|
+
);
|
|
60
|
+
|
|
61
|
+
if (options.args.length === 1) {
|
|
62
|
+
return client.recall({ kbid: options.args[0], depth });
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
return client.recall({ kbids: options.args, depth });
|
|
66
|
+
}
|
|
@@ -1,6 +1,58 @@
|
|
|
1
1
|
import type { CliOptions } from '../typings/cli-options.interface.ts';
|
|
2
2
|
import type { PagedSearchDisplay } from '../typings/search-display.model.ts';
|
|
3
3
|
|
|
4
|
+
/** A single raw search result item returned by the daemon. */
|
|
5
|
+
interface RawSearchItem {
|
|
6
|
+
/** Knowledge-base identifier of the matched section. */
|
|
7
|
+
readonly kbid: string;
|
|
8
|
+
/** Section heading, or null when untitled. */
|
|
9
|
+
readonly heading: string | null;
|
|
10
|
+
/** MIME type of the section content. */
|
|
11
|
+
readonly type: string;
|
|
12
|
+
/** Document IDs this section belongs to. */
|
|
13
|
+
readonly docids: readonly string[];
|
|
14
|
+
/** Relevance score from the ranking engine. */
|
|
15
|
+
readonly score: number;
|
|
16
|
+
/** KWIC excerpt centered on the highest-scoring matched term. */
|
|
17
|
+
readonly snippet: string;
|
|
18
|
+
/** Query terms that matched within this section. */
|
|
19
|
+
readonly matched_terms: readonly string[];
|
|
20
|
+
/**
|
|
21
|
+
* Fields that contained at least one match.
|
|
22
|
+
* May be absent from older daemon versions.
|
|
23
|
+
*/
|
|
24
|
+
readonly matched_fields?: readonly string[];
|
|
25
|
+
/**
|
|
26
|
+
* Normalised confidence score (0.0-1.0) relative to the top result.
|
|
27
|
+
* May be absent from older daemon versions.
|
|
28
|
+
*/
|
|
29
|
+
readonly confidence?: number;
|
|
30
|
+
/**
|
|
31
|
+
* ISO 8601 creation timestamp of the section.
|
|
32
|
+
* May be absent from older daemon versions.
|
|
33
|
+
*/
|
|
34
|
+
readonly created_at?: string;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/** Raw paginated search response from the daemon. */
|
|
38
|
+
interface RawSearchResponse {
|
|
39
|
+
/** Result items for the current page. */
|
|
40
|
+
readonly items: readonly RawSearchItem[];
|
|
41
|
+
/** Total number of matches across all pages. */
|
|
42
|
+
readonly total: number;
|
|
43
|
+
/** Number of results skipped. */
|
|
44
|
+
readonly offset: number;
|
|
45
|
+
/** Maximum results per page. */
|
|
46
|
+
readonly limit: number;
|
|
47
|
+
/** Whether more results exist beyond this page. */
|
|
48
|
+
readonly has_more: boolean;
|
|
49
|
+
/**
|
|
50
|
+
* When `true`, the engine relaxed the query to produce results.
|
|
51
|
+
* May be absent from older daemon versions.
|
|
52
|
+
*/
|
|
53
|
+
readonly relaxed?: boolean;
|
|
54
|
+
}
|
|
55
|
+
|
|
4
56
|
/**
|
|
5
57
|
* Minimal client interface required by `runSearch`.
|
|
6
58
|
*
|
|
@@ -18,21 +70,8 @@ export interface SearchClient {
|
|
|
18
70
|
mode?: string;
|
|
19
71
|
limit?: number;
|
|
20
72
|
offset?: number;
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
readonly kbid: string;
|
|
24
|
-
readonly heading: string | null;
|
|
25
|
-
readonly type: string;
|
|
26
|
-
readonly docids: readonly string[];
|
|
27
|
-
readonly score: number;
|
|
28
|
-
readonly snippet: string;
|
|
29
|
-
readonly matched_terms: readonly string[];
|
|
30
|
-
}[];
|
|
31
|
-
readonly total: number;
|
|
32
|
-
readonly offset: number;
|
|
33
|
-
readonly limit: number;
|
|
34
|
-
readonly has_more: boolean;
|
|
35
|
-
}>;
|
|
73
|
+
algo?: string;
|
|
74
|
+
}): Promise<RawSearchResponse>;
|
|
36
75
|
}
|
|
37
76
|
|
|
38
77
|
/**
|
|
@@ -59,6 +98,7 @@ export async function runSearch(
|
|
|
59
98
|
offset: 0,
|
|
60
99
|
limit: options.limit,
|
|
61
100
|
has_more: false,
|
|
101
|
+
relaxed: false,
|
|
62
102
|
};
|
|
63
103
|
}
|
|
64
104
|
|
|
@@ -67,6 +107,7 @@ export async function runSearch(
|
|
|
67
107
|
mode: options.mode,
|
|
68
108
|
limit: options.limit,
|
|
69
109
|
offset: options.offset,
|
|
110
|
+
algo: options.algo,
|
|
70
111
|
});
|
|
71
112
|
|
|
72
113
|
return {
|
|
@@ -76,13 +117,17 @@ export async function runSearch(
|
|
|
76
117
|
type: r.type,
|
|
77
118
|
docids: r.docids,
|
|
78
119
|
score: r.score,
|
|
120
|
+
confidence: r.confidence ?? 0,
|
|
79
121
|
snippet: r.snippet,
|
|
80
122
|
matched_terms: r.matched_terms,
|
|
123
|
+
matched_fields: r.matched_fields ?? [],
|
|
124
|
+
created_at: r.created_at ?? '',
|
|
81
125
|
preview: '',
|
|
82
126
|
})),
|
|
83
127
|
total: results.total,
|
|
84
128
|
offset: results.offset,
|
|
85
129
|
limit: results.limit,
|
|
86
130
|
has_more: results.has_more,
|
|
131
|
+
relaxed: results.relaxed ?? false,
|
|
87
132
|
};
|
|
88
133
|
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import type { CommandResult } from '../typings/command-result.model.ts';
|
|
2
|
+
import type { DisconnectableClient } from '../typings/disconnectable-client.interface.ts';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Checks the database version and returns a `CommandResult` error
|
|
6
|
+
* when the version is incompatible, or `null` when it is compatible.
|
|
7
|
+
*
|
|
8
|
+
* - `'needs_migration'`: prompts the user to run `kbdb --migrate`
|
|
9
|
+
* - `'too_new'`: informs the user to upgrade kbdb
|
|
10
|
+
* - `'compatible'`: returns `null` (no gate triggered)
|
|
11
|
+
*
|
|
12
|
+
* @param client - disconnectable client with version-check capability
|
|
13
|
+
* @param dbDir - absolute path to the `.kbdb` database root
|
|
14
|
+
* @returns error `CommandResult` when blocked, or `null` when clear
|
|
15
|
+
*/
|
|
16
|
+
export async function versionGate(
|
|
17
|
+
client: DisconnectableClient,
|
|
18
|
+
dbDir: string,
|
|
19
|
+
): Promise<CommandResult | null> {
|
|
20
|
+
const versionStatus = await client.checkVersion(dbDir);
|
|
21
|
+
|
|
22
|
+
if (versionStatus.status === 'needs_migration') {
|
|
23
|
+
return {
|
|
24
|
+
error:
|
|
25
|
+
'error: database needs migration' +
|
|
26
|
+
' -- run `kbdb --migrate`',
|
|
27
|
+
exitCode: 1,
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
if (versionStatus.status === 'too_new') {
|
|
32
|
+
return {
|
|
33
|
+
error:
|
|
34
|
+
`error: database version` +
|
|
35
|
+
` ${versionStatus.currentVersion.toString()}` +
|
|
36
|
+
` is newer than kbdb version` +
|
|
37
|
+
` ${versionStatus.requiredVersion.toString()}` +
|
|
38
|
+
` -- upgrade kbdb`,
|
|
39
|
+
exitCode: 1,
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
return null;
|
|
44
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { CommandResult } from '../typings/command-result.model.ts';
|
|
2
|
+
import { errorToMessage } from './error-to-message.function.ts';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Wraps an async command handler in a standard try/catch envelope.
|
|
6
|
+
*
|
|
7
|
+
* On success, serialises the result with `JSON.stringify` and
|
|
8
|
+
* returns `exitCode: 0`. On failure, returns an error message
|
|
9
|
+
* prefixed with `<label> failed:` and `exitCode: 1`.
|
|
10
|
+
*
|
|
11
|
+
* @param label - command name used in the error prefix
|
|
12
|
+
* @param handler - async function that produces the command result
|
|
13
|
+
* @param exitCodeSelector - optional function to derive `exitCode`
|
|
14
|
+
* from the successful result; defaults to always returning 0
|
|
15
|
+
* @returns a `CommandResult` with output or error
|
|
16
|
+
*/
|
|
17
|
+
export async function wrapCommand<T>(
|
|
18
|
+
label: string,
|
|
19
|
+
handler: () => Promise<T>,
|
|
20
|
+
exitCodeSelector?: (result: T) => number,
|
|
21
|
+
): Promise<CommandResult> {
|
|
22
|
+
try {
|
|
23
|
+
const result = await handler();
|
|
24
|
+
return {
|
|
25
|
+
output: JSON.stringify(result, null, 2),
|
|
26
|
+
exitCode: exitCodeSelector ? exitCodeSelector(result) : 0,
|
|
27
|
+
};
|
|
28
|
+
} catch (err) {
|
|
29
|
+
return {
|
|
30
|
+
error: `${label} failed: ${errorToMessage(err)}`,
|
|
31
|
+
exitCode: 1,
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
}
|
package/src/shared/cli/index.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
export { parseArgs } from './functions/parse-args.function.ts';
|
|
2
2
|
export { formatOutput } from './functions/format-output.function.ts';
|
|
3
3
|
export { runSearch } from './functions/run-search.function.ts';
|
|
4
|
+
export { runRecall } from './functions/run-recall.function.ts';
|
|
5
|
+
export { runExport } from './functions/run-export.function.ts';
|
|
4
6
|
export { runLearn } from './functions/run-learn.function.ts';
|
|
5
7
|
export { runUnlearn } from './functions/run-unlearn.function.ts';
|
|
6
8
|
export { runContent } from './functions/run-content.function.ts';
|
|
@@ -28,6 +30,8 @@ export type {
|
|
|
28
30
|
PagedSearchDisplay,
|
|
29
31
|
} from './typings/search-display.model.ts';
|
|
30
32
|
export type { SearchClient } from './functions/run-search.function.ts';
|
|
33
|
+
export type { RecallClient } from './functions/run-recall.function.ts';
|
|
34
|
+
export type { ExportClient } from './functions/run-export.function.ts';
|
|
31
35
|
export type { LearnClient } from './functions/run-learn.function.ts';
|
|
32
36
|
export type {
|
|
33
37
|
UnlearnClient,
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import type { AddSectionResult } from '../../worker-client/typings/add-section-result.model.ts';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Minimal client interface required by `runAgentCreate`.
|
|
5
|
+
*
|
|
6
|
+
* Decouples the CLI function from the concrete `WorkerClient`
|
|
7
|
+
* implementation, making it straightforward to test with mocks.
|
|
8
|
+
*/
|
|
9
|
+
export interface AgentCreateClient {
|
|
10
|
+
/**
|
|
11
|
+
* Ingests a content section into the knowledge base.
|
|
12
|
+
*
|
|
13
|
+
* @param params - section type label, raw content, and optional
|
|
14
|
+
* metadata
|
|
15
|
+
* @returns result object containing the assigned knowledge-base
|
|
16
|
+
* identifier
|
|
17
|
+
*/
|
|
18
|
+
addSection(params: {
|
|
19
|
+
readonly sectionType: string;
|
|
20
|
+
readonly content: string;
|
|
21
|
+
readonly title?: string;
|
|
22
|
+
readonly description?: string;
|
|
23
|
+
}): Promise<AddSectionResult>;
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Groups a set of sections under a named document.
|
|
27
|
+
*
|
|
28
|
+
* @param title - human-readable document title
|
|
29
|
+
* @param kbids - identifiers of the sections to group
|
|
30
|
+
* @param docType - application-level document type tag; omit or
|
|
31
|
+
* pass an empty string for untagged documents
|
|
32
|
+
* @returns the assigned document identifier
|
|
33
|
+
*/
|
|
34
|
+
groupSections(
|
|
35
|
+
title: string,
|
|
36
|
+
kbids: string[],
|
|
37
|
+
docType?: string,
|
|
38
|
+
): Promise<string>;
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Retrieves one or more sections by their identifiers.
|
|
42
|
+
*
|
|
43
|
+
* @param kbids - list of knowledge-base identifiers to fetch
|
|
44
|
+
* @returns sections found; missing kbids are omitted from the result
|
|
45
|
+
*/
|
|
46
|
+
readSections(kbids: string[]): Promise<{ kbid: string }[]>;
|
|
47
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
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
|
+
|
|
9
|
+
/** A section record as returned by `readSections`. */
|
|
10
|
+
export interface AgentSectionRecord {
|
|
11
|
+
/** Knowledge-base identifier of the section. */
|
|
12
|
+
readonly kbid: string;
|
|
13
|
+
/** Raw text content stored in the section. */
|
|
14
|
+
readonly content: string;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Minimal client interface required by `runAgentGet`.
|
|
19
|
+
*
|
|
20
|
+
* Decouples the CLI function from the concrete `WorkerClient`
|
|
21
|
+
* implementation, making it straightforward to test with mocks.
|
|
22
|
+
*/
|
|
23
|
+
export interface AgentGetClient {
|
|
24
|
+
/**
|
|
25
|
+
* Retrieves a full document record including its ordered sections.
|
|
26
|
+
*
|
|
27
|
+
* @param docid - identifier of the document to retrieve
|
|
28
|
+
* @returns the document record
|
|
29
|
+
*/
|
|
30
|
+
retrieveDocument(docid: string): Promise<unknown>;
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Retrieves one or more sections by their identifiers.
|
|
34
|
+
*
|
|
35
|
+
* @param kbids - list of knowledge-base identifiers to fetch
|
|
36
|
+
* @returns sections found; missing kbids are omitted from the result
|
|
37
|
+
*/
|
|
38
|
+
readSections(kbids: string[]): Promise<AgentSectionRecord[]>;
|
|
39
|
+
}
|
|
@@ -0,0 +1,66 @@
|
|
|
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
|
+
|
|
27
|
+
/** A single integrity error found during a database check. */
|
|
28
|
+
export interface IntegrityError {
|
|
29
|
+
/**
|
|
30
|
+
* The category of integrity violation detected.
|
|
31
|
+
*
|
|
32
|
+
* - `'checksum_mismatch'` -- stored content does not match its hash
|
|
33
|
+
* - `'orphan_section'` -- section not referenced by any document
|
|
34
|
+
* - `'orphan_document'` -- document references no existing sections
|
|
35
|
+
* - `'broken_reference'` -- a marker references a non-existent entity
|
|
36
|
+
* - `'type_mismatch'` -- stored MIME type conflicts with content
|
|
37
|
+
* - `'circular_reference'` -- marker chain contains a cycle
|
|
38
|
+
*/
|
|
39
|
+
readonly type:
|
|
40
|
+
| 'checksum_mismatch'
|
|
41
|
+
| 'orphan_section'
|
|
42
|
+
| 'orphan_document'
|
|
43
|
+
| 'broken_reference'
|
|
44
|
+
| 'type_mismatch'
|
|
45
|
+
| 'circular_reference';
|
|
46
|
+
/** Identifier of the entity (kbid or docid) that has the issue. */
|
|
47
|
+
readonly entity: string;
|
|
48
|
+
/** Human-readable description of the specific problem. */
|
|
49
|
+
readonly detail: string;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* Minimal client interface required by `runCheck`.
|
|
54
|
+
*
|
|
55
|
+
* Decouples the CLI function from the concrete `WorkerClient`
|
|
56
|
+
* implementation, making it straightforward to test with mocks.
|
|
57
|
+
*/
|
|
58
|
+
export interface CheckClient {
|
|
59
|
+
/**
|
|
60
|
+
* Runs an integrity check on the knowledge-base database.
|
|
61
|
+
*
|
|
62
|
+
* @returns a report of all issues found; `ok` is `true` when
|
|
63
|
+
* no errors were detected
|
|
64
|
+
*/
|
|
65
|
+
integrityCheck(): Promise<RawIntegrityCheckResult>;
|
|
66
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
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
|
+
/**
|
|
6
|
+
* Injectable dependencies for the CLI orchestrator.
|
|
7
|
+
*
|
|
8
|
+
* Every external side-effect is injected so the function
|
|
9
|
+
* is fully testable without touching process globals,
|
|
10
|
+
* filesystem, or network.
|
|
11
|
+
*/
|
|
12
|
+
export interface CliDeps {
|
|
13
|
+
/** Returns `true` when stdin is an interactive terminal. */
|
|
14
|
+
isStdinTty: () => boolean;
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Prompts the user with the given question and resolves with
|
|
18
|
+
* their trimmed response.
|
|
19
|
+
*
|
|
20
|
+
* @param question - text to display before the input prompt
|
|
21
|
+
*/
|
|
22
|
+
promptUser: (question: string) => Promise<string>;
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Creates a worker client connected to the given database path.
|
|
26
|
+
*
|
|
27
|
+
* @param opts - connection options including the context path
|
|
28
|
+
*/
|
|
29
|
+
createWorkerClient: (opts: {
|
|
30
|
+
contextPath: string;
|
|
31
|
+
}) => Promise<DisconnectableClient>;
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Finds the `.kbdb` directory starting from the given base path.
|
|
35
|
+
*
|
|
36
|
+
* @param basePath - starting directory; defaults to `process.cwd()`
|
|
37
|
+
* @returns absolute path to `.kbdb` or `null` when not found
|
|
38
|
+
*/
|
|
39
|
+
findDb: (basePath?: string) => string | null;
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* Initialises a new `.kbdb` database directory.
|
|
43
|
+
*
|
|
44
|
+
* @param options - parsed CLI options
|
|
45
|
+
*/
|
|
46
|
+
runInit: (options: CliOptions) => InitResult;
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* Starts the MCP server using the given database path.
|
|
50
|
+
*
|
|
51
|
+
* @param contextPath - absolute path to the `.kbdb` directory
|
|
52
|
+
*/
|
|
53
|
+
startMcpServer?: (contextPath: string) => Promise<void>;
|
|
54
|
+
}
|
|
@@ -29,6 +29,8 @@ export interface CliOptions {
|
|
|
29
29
|
format: OutputFormat;
|
|
30
30
|
/** Search mode passed to the worker daemon. Defaults to `'sections'`. */
|
|
31
31
|
mode: SearchMode;
|
|
32
|
+
/** Search algorithm: `'lexical'`, `'vector'`, or `'hybrid'`. */
|
|
33
|
+
algo?: string;
|
|
32
34
|
/** Maximum number of results to return. Defaults to 20. */
|
|
33
35
|
limit: number;
|
|
34
36
|
/** Number of results to skip for pagination. */
|
|
@@ -52,6 +54,19 @@ export interface CliOptions {
|
|
|
52
54
|
body?: string;
|
|
53
55
|
/** Comma-separated skill kbids for agent create. */
|
|
54
56
|
skills?: string[];
|
|
57
|
+
/**
|
|
58
|
+
* Recall expansion depth (0-3). Clamped to 3.
|
|
59
|
+
* Defaults to 0.
|
|
60
|
+
*/
|
|
61
|
+
depth?: number;
|
|
62
|
+
/** Comma-separated tags for scoping (learn, recall). */
|
|
63
|
+
tags?: string[];
|
|
64
|
+
/**
|
|
65
|
+
* When `true`, enables supersession by source key (learn).
|
|
66
|
+
* Re-learning edited content replaces the original section
|
|
67
|
+
* instead of creating a sibling.
|
|
68
|
+
*/
|
|
69
|
+
replace?: boolean;
|
|
55
70
|
/** Positional arguments following the sub-command. */
|
|
56
71
|
args: string[];
|
|
57
72
|
}
|
|
@@ -0,0 +1,29 @@
|
|
|
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
|
+
/**
|
|
6
|
+
* Extension of `DispatchClient` with lifecycle methods needed by
|
|
7
|
+
* the CLI orchestrator.
|
|
8
|
+
*
|
|
9
|
+
* Adds version checking, migration, and disconnect so the orchestrator
|
|
10
|
+
* can manage a worker-client connection across all CLI commands.
|
|
11
|
+
*/
|
|
12
|
+
export interface DisconnectableClient extends DispatchClient {
|
|
13
|
+
/**
|
|
14
|
+
* Checks the database version against the worker engine.
|
|
15
|
+
*
|
|
16
|
+
* @param targetPath - absolute path to the `.kbdb` database root
|
|
17
|
+
*/
|
|
18
|
+
checkVersion(targetPath: string): Promise<VersionStatus>;
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Runs all pending database migrations.
|
|
22
|
+
*
|
|
23
|
+
* @param targetPath - absolute path to the `.kbdb` database root
|
|
24
|
+
*/
|
|
25
|
+
migrateDatabase(targetPath: string): Promise<MigrateResult>;
|
|
26
|
+
|
|
27
|
+
/** Disconnects from the worker daemon and releases resources. */
|
|
28
|
+
disconnect(): void;
|
|
29
|
+
}
|