@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
package/docs/overview.md
CHANGED
|
@@ -1,187 +1,169 @@
|
|
|
1
1
|
# @dikolab/kbdb -- Knowledge Base Database
|
|
2
2
|
|
|
3
|
-
*A
|
|
3
|
+
*A file-based knowledge store and MCP server for
|
|
4
|
+
AI agents -- your second brain, on disk.*
|
|
4
5
|
|
|
5
|
-
## What Is
|
|
6
|
+
## What Is kbdb?
|
|
6
7
|
|
|
7
|
-
AI agents
|
|
8
|
+
AI agents forget everything between sessions. kbdb
|
|
9
|
+
gives them a searchable, persistent memory.
|
|
8
10
|
|
|
9
|
-
|
|
11
|
+
Import your documents, and kbdb indexes them
|
|
12
|
+
automatically. Search returns ranked results
|
|
13
|
+
instantly. No database server to install, no cloud
|
|
14
|
+
account to create -- your knowledge base is just a
|
|
15
|
+
folder on disk.
|
|
10
16
|
|
|
11
|
-
|
|
17
|
+
kbdb works as both a command-line tool and an
|
|
18
|
+
[MCP](https://modelcontextprotocol.io/) server.
|
|
19
|
+
Humans use it from the terminal; AI agents connect
|
|
20
|
+
to it as a tool.
|
|
12
21
|
|
|
13
22
|
## Who Is This For?
|
|
14
23
|
|
|
15
|
-
- **AI agent developers** --
|
|
16
|
-
|
|
17
|
-
- **
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
- **
|
|
37
|
-
- **
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
`
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
**
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
|
24
|
+
- **AI agent developers** -- persistent, searchable
|
|
25
|
+
knowledge across agent sessions
|
|
26
|
+
- **MCP tool authors** -- a local knowledge backend
|
|
27
|
+
for Model Context Protocol servers
|
|
28
|
+
- **Knowledge workers** -- a second brain your AI
|
|
29
|
+
assistant can search across conversations
|
|
30
|
+
- **CLI-first developers** -- composable commands
|
|
31
|
+
for managing knowledge from the terminal
|
|
32
|
+
|
|
33
|
+
## What Can It Do?
|
|
34
|
+
|
|
35
|
+
- **Import** Markdown files with automatic keyword
|
|
36
|
+
extraction and indexing
|
|
37
|
+
- **Search** with ranked results, snippets, and
|
|
38
|
+
paginated output
|
|
39
|
+
- **Recall** sections with progressive context
|
|
40
|
+
(depth 0--3)
|
|
41
|
+
- **Skills** -- reusable prompt templates with
|
|
42
|
+
placeholder arguments
|
|
43
|
+
- **Agents** -- AI profiles combining a persona
|
|
44
|
+
with skills
|
|
45
|
+
- **Export** the database as a portable snapshot
|
|
46
|
+
- **Verify** database integrity and clean up stale
|
|
47
|
+
data
|
|
48
|
+
- **MCP server** with 20 tools, prompts, resources,
|
|
49
|
+
and completions
|
|
50
|
+
|
|
51
|
+
### Install
|
|
52
|
+
|
|
53
|
+
```sh
|
|
54
|
+
# Node.js
|
|
55
|
+
npm install -g @dikolab/kbdb
|
|
56
|
+
|
|
57
|
+
# Deno
|
|
58
|
+
deno add @dikolab/kbdb
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
## Architecture
|
|
62
|
+
|
|
63
|
+
Five layers, top to bottom:
|
|
64
|
+
|
|
65
|
+
```
|
|
66
|
+
User / AI Agent
|
|
67
|
+
-> kbdb command (CLI or MCP mode)
|
|
68
|
+
-> Worker Client (TypeScript IPC)
|
|
69
|
+
-> Worker Daemon (background process)
|
|
70
|
+
-> Rust/WASM Engine
|
|
71
|
+
-> File Database (folder on disk)
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
**kbdb command** -- One executable, two modes. CLI
|
|
75
|
+
mode runs short-lived commands (`learn`, `search`,
|
|
76
|
+
`recall`). MCP mode starts a long-lived server for
|
|
77
|
+
AI agents over stdio.
|
|
78
|
+
|
|
79
|
+
**Worker Client** -- TypeScript module that discovers
|
|
80
|
+
or spawns the daemon and provides a typed async API.
|
|
81
|
+
|
|
82
|
+
**Worker Daemon** -- Background process that loads
|
|
83
|
+
WASM modules, caches data in memory, and serves
|
|
84
|
+
JSON-RPC 2.0 requests over local IPC.
|
|
85
|
+
|
|
86
|
+
**Rust/WASM Engine** -- Three WASM modules handle
|
|
87
|
+
tokenization, indexing, ranking, and file I/O. Rust
|
|
88
|
+
provides speed and memory safety; WASM runs on any
|
|
89
|
+
runtime.
|
|
90
|
+
|
|
91
|
+
**File Database** -- Structured directory on disk.
|
|
92
|
+
No server process. Portable, version-controllable,
|
|
93
|
+
and human-readable.
|
|
94
|
+
|
|
95
|
+
### Technology Stack
|
|
96
|
+
|
|
97
|
+
| Layer | Technology | Purpose |
|
|
98
|
+
|-------|-----------|---------|
|
|
99
|
+
| Runtime | Node.js, Deno | Runs CLI, MCP server, orchestration |
|
|
100
|
+
| Language | TypeScript | CLI, MCP protocol, I/O |
|
|
101
|
+
| Engine | Rust -> WebAssembly | Indexing, ranking, file operations |
|
|
102
|
+
| Protocol | MCP | AI agent integration |
|
|
103
|
+
| Distribution | NPM, JSR | Package delivery |
|
|
104
|
+
| Storage | File database | Persistent, portable data |
|
|
89
105
|
|
|
90
106
|
## Design Principles
|
|
91
107
|
|
|
92
|
-
1. **
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
- **[Document](goals/document.md)** --
|
|
116
|
-
|
|
117
|
-
embedding markers and cross-reference link markers.
|
|
108
|
+
1. **No server needed** -- A folder is your whole
|
|
109
|
+
database. Works anywhere.
|
|
110
|
+
2. **Built for AI agents** -- Commands and output
|
|
111
|
+
are optimized for machine use.
|
|
112
|
+
3. **MCP-first** -- The MCP server is a primary
|
|
113
|
+
interface, not an add-on.
|
|
114
|
+
4. **Fast** -- Heavy work runs in compiled Rust
|
|
115
|
+
via WebAssembly.
|
|
116
|
+
5. **Portable** -- Runs on Node.js or Deno. The
|
|
117
|
+
database is a plain directory.
|
|
118
|
+
6. **Section-level search** -- Returns the specific
|
|
119
|
+
passage that matters, not a whole document.
|
|
120
|
+
|
|
121
|
+
## Design Documents
|
|
122
|
+
|
|
123
|
+
Detailed specifications for each subsystem:
|
|
124
|
+
|
|
125
|
+
- **[Database](goals/database.md)** -- File storage
|
|
126
|
+
engine, directory structure, section and document
|
|
127
|
+
operations
|
|
128
|
+
- **[Query Parser](goals/query-parser.md)** --
|
|
129
|
+
Tokenization, query parsing, keyword extraction,
|
|
130
|
+
ranking
|
|
131
|
+
- **[Document](goals/document.md)** -- Content format
|
|
132
|
+
with markers and cross-references
|
|
118
133
|
- **[Content Parser](goals/content-parser.md)** --
|
|
119
|
-
Marker extraction
|
|
120
|
-
Scans section content for `$(type: value)` markers
|
|
121
|
-
and returns structured reference lists.
|
|
134
|
+
Marker extraction from section content
|
|
122
135
|
- **[Content Composer](goals/content-composer.md)** --
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
- **[
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
- **[
|
|
131
|
-
|
|
132
|
-
configuration, stdio transport, MCP tools and
|
|
133
|
-
resources, agent wiring examples, and relationship
|
|
134
|
-
to CLI mode.
|
|
135
|
-
- **[Worker Daemon](goals/worker-daemon.md)** -- Cache
|
|
136
|
-
daemon (`kb-worker.wasm` + `src/worker.ts`).
|
|
137
|
-
The detached TypeScript daemon, WASM module loading,
|
|
138
|
-
caching, IPC protocol, lifecycle, and configuration.
|
|
139
|
-
- **[Worker Client](goals/worker-client.md)** -- Shared
|
|
140
|
-
TypeScript client module (`src/shared/worker-client/`).
|
|
141
|
-
Daemon discovery, spawning, IPC connection, typed
|
|
142
|
-
API, and the sole entry point used by `src/cli.ts`.
|
|
136
|
+
Rendered Markdown composition from identifiers
|
|
137
|
+
- **[CLI](goals/cli.md)** -- Commands, run modes,
|
|
138
|
+
output formats
|
|
139
|
+
- **[MCP](goals/mcp.md)** -- MCP server, tools,
|
|
140
|
+
resources, agent wiring
|
|
141
|
+
- **[Worker Daemon](goals/worker-daemon.md)** --
|
|
142
|
+
Background daemon, WASM loading, caching, IPC
|
|
143
|
+
- **[Worker Client](goals/worker-client.md)** --
|
|
144
|
+
Client module, daemon discovery, typed API
|
|
143
145
|
|
|
144
146
|
## Project Status
|
|
145
147
|
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
- CLI with 18 commands across 6 groups (tested)
|
|
161
|
-
- MCP server with 18 tools, prompts, resources,
|
|
162
|
-
and completions (tested)
|
|
163
|
-
- Worker client with typed async IPC API (tested)
|
|
164
|
-
- Worker daemon with WASM module loading (tested)
|
|
165
|
-
- Rust/WASM engine: search, recall, indexing,
|
|
166
|
-
reference graph, KWIC snippets, pagination
|
|
167
|
-
- Paginated search with rich metadata (heading,
|
|
168
|
-
type, snippet, matched_terms, docids)
|
|
148
|
+
All layers are wired and working end-to-end. Every
|
|
149
|
+
core operation -- learn, search, recall, content
|
|
150
|
+
retrieval, skills, agents, export, and maintenance
|
|
151
|
+
-- runs through the full stack.
|
|
152
|
+
|
|
153
|
+
**548 e2e assertions** pass on both Node.js and Deno
|
|
154
|
+
with zero failures and zero skips.
|
|
155
|
+
|
|
156
|
+
- 18 CLI commands across 6 groups
|
|
157
|
+
- 20 MCP tools with prompts, resources, completions
|
|
158
|
+
- Sequential MCP request processing
|
|
159
|
+
- Worker daemon with fully implemented WASM host I/O
|
|
160
|
+
- Paginated search with rich metadata
|
|
169
161
|
- Progressive recall at depths 0--3
|
|
170
|
-
- Bidirectional reference graph
|
|
171
|
-
- Skills
|
|
172
|
-
|
|
173
|
-
-
|
|
174
|
-
-
|
|
175
|
-
wasm-pack)
|
|
176
|
-
- npm and JSR packaging with documentation
|
|
177
|
-
|
|
178
|
-
### Remaining
|
|
179
|
-
|
|
180
|
-
- Complete WASM host I/O imports (some operations
|
|
181
|
-
still hit stubs: document removal, agent document
|
|
182
|
-
persistence)
|
|
183
|
-
- Database format versioning and migration
|
|
184
|
-
infrastructure
|
|
162
|
+
- Bidirectional reference graph
|
|
163
|
+
- Skills and agent document management
|
|
164
|
+
- esbuild bundling (ESM + CJS + .d.ts)
|
|
165
|
+
- Docker build containers
|
|
166
|
+
- npm and JSR packages with documentation
|
|
185
167
|
|
|
186
168
|
## Links
|
|
187
169
|
|
|
@@ -62,7 +62,7 @@ at once.
|
|
|
62
62
|
scores are kept in CLI and IPC output for
|
|
63
63
|
debugging.
|
|
64
64
|
|
|
65
|
-
- **Tool annotations** -- All
|
|
65
|
+
- **Tool annotations** -- All 20 MCP tool
|
|
66
66
|
definitions now include `openWorldHint: false`,
|
|
67
67
|
`readOnlyHint`, `destructiveHint`, and
|
|
68
68
|
`idempotentHint` annotations per the MCP spec.
|
|
@@ -84,8 +84,8 @@ at once.
|
|
|
84
84
|
|
|
85
85
|
## Testing
|
|
86
86
|
|
|
87
|
-
- **
|
|
88
|
-
|
|
87
|
+
- **548 e2e assertions** on both Node.js and Deno --
|
|
88
|
+
all passing with 0 failures and 0 skips.
|
|
89
89
|
|
|
90
90
|
- **Recall depth testing** -- Cross-referenced
|
|
91
91
|
test data (sections with `$(link: ...)` markers)
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
# 0.3.0
|
|
2
|
+
|
|
3
|
+
*Minor release -- 2026-06-23*
|
|
4
|
+
|
|
5
|
+
Adds supersession, relaxed queries, database export,
|
|
6
|
+
tags, and confidence scoring. The Rust engine gains
|
|
7
|
+
source tracking, near-duplicate detection, and
|
|
8
|
+
synonym expansion.
|
|
9
|
+
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## New Features
|
|
13
|
+
|
|
14
|
+
- **Supersession** -- Re-learning from the same
|
|
15
|
+
source automatically replaces outdated sections
|
|
16
|
+
instead of duplicating them. Source key identity
|
|
17
|
+
tracked via SHA-256.
|
|
18
|
+
|
|
19
|
+
- **Relaxed OR fallback** -- When an exact AND
|
|
20
|
+
query returns no results, kbdb automatically
|
|
21
|
+
retries with relaxed OR matching so you always
|
|
22
|
+
get the best available results.
|
|
23
|
+
|
|
24
|
+
- **Database export** -- New `export` CLI command
|
|
25
|
+
and MCP tool. Copies sections, documents, and
|
|
26
|
+
catalog as a self-contained directory snapshot.
|
|
27
|
+
|
|
28
|
+
- **Tags and replace on learn** -- `--tags` attaches
|
|
29
|
+
labels to imported sections for scoped queries.
|
|
30
|
+
`--replace` supersedes existing sections from the
|
|
31
|
+
same source in one step.
|
|
32
|
+
|
|
33
|
+
- **Confidence scoring** -- Search results include
|
|
34
|
+
a normalized BM25F confidence score and
|
|
35
|
+
`matched_fields` (heading, body, code) so agents
|
|
36
|
+
can tell strong matches from weak ones.
|
|
37
|
+
|
|
38
|
+
- **Near-duplicate detection** -- Jaccard similarity
|
|
39
|
+
warns when imported content closely matches an
|
|
40
|
+
existing section, preventing silent drift.
|
|
41
|
+
|
|
42
|
+
- **Default skills** -- `db init` installs
|
|
43
|
+
`query-guidance` and `memory-protocol` skills
|
|
44
|
+
that teach agents how to search and what to store.
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
## Improvements
|
|
49
|
+
|
|
50
|
+
- **Synonym expansion pipeline** in the Rust engine
|
|
51
|
+
broadens keyword coverage automatically.
|
|
52
|
+
|
|
53
|
+
- **Matched field tracking** -- Results show which
|
|
54
|
+
fields (heading, body, code) matched the query.
|
|
55
|
+
|
|
56
|
+
- **`created_at` timestamps** in search results.
|
|
57
|
+
|
|
58
|
+
- **Divergent content detection** via integrity
|
|
59
|
+
check catches contradictions between versions.
|
|
60
|
+
|
|
61
|
+
- **GC fix** -- Garbage collection now only removes
|
|
62
|
+
superseded sections, not active ones.
|
|
63
|
+
|
|
64
|
+
- **Reference graph rebuild** included in `rebuild`
|
|
65
|
+
command.
|
|
66
|
+
|
|
67
|
+
- **Writer lock** prevents concurrent WASM writes.
|
|
68
|
+
|
|
69
|
+
- **Worker daemon startup health check** verifies
|
|
70
|
+
WASM modules load correctly.
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
## Testing
|
|
75
|
+
|
|
76
|
+
- **517 e2e assertions (Node.js), 514 (Deno)** --
|
|
77
|
+
all pass with 0 failures.
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
|
|
81
|
+
## Upgrade
|
|
82
|
+
|
|
83
|
+
```sh
|
|
84
|
+
# Node.js
|
|
85
|
+
npm install -g @dikolab/kbdb@0.3.0
|
|
86
|
+
|
|
87
|
+
# Deno
|
|
88
|
+
deno install -Agf jsr:@dikolab/kbdb/cli
|
|
89
|
+
```
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
# 0.3.1
|
|
2
|
+
|
|
3
|
+
*Patch release -- 2026-06-23*
|
|
4
|
+
|
|
5
|
+
Fixes MCP request processing reliability, agent
|
|
6
|
+
document persistence, WASM memory safety, and
|
|
7
|
+
eliminates all e2e test skips. Adds the 20th MCP
|
|
8
|
+
tool (`auto-capture-review`).
|
|
9
|
+
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## Bug Fixes
|
|
13
|
+
|
|
14
|
+
- **MCP sequential request processing** -- The MCP
|
|
15
|
+
server previously dispatched JSON-RPC requests
|
|
16
|
+
concurrently (fire-and-forget). When multiple
|
|
17
|
+
requests arrived in a batch, later requests could
|
|
18
|
+
execute before earlier ones finished -- for
|
|
19
|
+
example, reading an agent document before it was
|
|
20
|
+
fully written. Requests are now processed
|
|
21
|
+
sequentially via a promise chain, ensuring each
|
|
22
|
+
completes before the next begins.
|
|
23
|
+
|
|
24
|
+
- **Agent document type persistence** -- Agent
|
|
25
|
+
documents created via `agent-create` were missing
|
|
26
|
+
their `doc_type` field, so `listDocumentsByType`
|
|
27
|
+
could not find them. `handleAgentCreate` now
|
|
28
|
+
passes `'agent'` as the document type.
|
|
29
|
+
|
|
30
|
+
- **Agent prompt lookup** -- `prompts/get` for
|
|
31
|
+
agent prompts treated the agent title as a
|
|
32
|
+
document ID, which failed because document IDs
|
|
33
|
+
are content hashes. Now looks up agents by title
|
|
34
|
+
via `listDocumentsByType('agent')`.
|
|
35
|
+
|
|
36
|
+
- **WASM `worker_remove_grouping` double-free** --
|
|
37
|
+
The WASM export returned success without calling
|
|
38
|
+
`set_return`, leaving stale memory in the return
|
|
39
|
+
slot. The next `readReturnSlot` call freed
|
|
40
|
+
already-freed memory, causing a WASM trap. Now
|
|
41
|
+
sets the return slot to null before returning.
|
|
42
|
+
|
|
43
|
+
- **WASM defensive `set_return` calls** -- Added
|
|
44
|
+
null return slot initialization to `worker_init`
|
|
45
|
+
and `worker_init_directory` to prevent the same
|
|
46
|
+
stale-memory pattern from surfacing in edge cases.
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
## New Features
|
|
51
|
+
|
|
52
|
+
- **`auto-capture-review` MCP tool** -- Review and
|
|
53
|
+
approve pending auto-captured knowledge before
|
|
54
|
+
storage. Accepts `action` parameter with values
|
|
55
|
+
`list`, `approve`, or `reject`. This brings the
|
|
56
|
+
MCP server to 20 tools.
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
## Testing
|
|
61
|
+
|
|
62
|
+
- **548 e2e assertions** on both Node.js and Deno,
|
|
63
|
+
all passing with **0 failures and 0 skips** (up
|
|
64
|
+
from 517/514 with some skips in 0.3.0).
|
|
65
|
+
|
|
66
|
+
- **E2E test restructuring** -- Test databases
|
|
67
|
+
isolated by category (CLI, MCP, Worker) instead
|
|
68
|
+
of sharing a flat directory. Worker recall tests
|
|
69
|
+
now seed their own cross-reference data instead
|
|
70
|
+
of depending on CLI test data.
|
|
71
|
+
|
|
72
|
+
- **Pre-built WASM in Docker** -- E2E test
|
|
73
|
+
container caches WASM binaries at build time,
|
|
74
|
+
reducing test startup from ~30 seconds to
|
|
75
|
+
sub-second.
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
## Documentation
|
|
80
|
+
|
|
81
|
+
- **README.md** reorganized for clarity -- shorter
|
|
82
|
+
intro, labeled paragraphs ("How search works",
|
|
83
|
+
"Knowledge stays fresh"), accessible to both
|
|
84
|
+
technical and non-technical readers.
|
|
85
|
+
|
|
86
|
+
- **Architecture overview** rewritten -- simplified
|
|
87
|
+
prose, ASCII architecture diagram, removed stale
|
|
88
|
+
"Remaining" section (WASM host I/O is fully
|
|
89
|
+
implemented).
|
|
90
|
+
|
|
91
|
+
- **MCP server guide** updated with
|
|
92
|
+
`auto-capture-review` tool in reference tables
|
|
93
|
+
and annotations summary.
|
|
94
|
+
|
|
95
|
+
- **Tool counts corrected** across all docs
|
|
96
|
+
(19 -> 20).
|
|
97
|
+
|
|
98
|
+
- **Assertion counts updated** across all docs
|
|
99
|
+
(380+/383 -> 548).
|
|
100
|
+
|
|
101
|
+
---
|
|
102
|
+
|
|
103
|
+
## Upgrade
|
|
104
|
+
|
|
105
|
+
```sh
|
|
106
|
+
# Node.js
|
|
107
|
+
npm install -g @dikolab/kbdb@0.3.1
|
|
108
|
+
|
|
109
|
+
# Deno
|
|
110
|
+
deno install -Agf jsr:@dikolab/kbdb/cli
|
|
111
|
+
```
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
## Releases
|
|
4
4
|
|
|
5
|
+
- [0.3.1](0.3.1.md) -- MCP reliability fixes, 20 tools, zero test skips
|
|
6
|
+
- [0.3.0](0.3.0.md) -- Supersession, relaxed queries, export, tags, confidence
|
|
5
7
|
- [0.2.0](0.2.0.md) -- Recall, paginated search, reference graph
|
|
6
8
|
- [0.1.3](0.1.3.md) -- Include WASM binaries in JSR package
|
|
7
9
|
- [0.1.2](0.1.2.md) -- Fix WASM loading from JSR
|
package/package.json
CHANGED
|
@@ -0,0 +1,62 @@
|
|
|
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
|
+
import { evaluateTrigger } from '../functions/evaluate-trigger.function.ts';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Controls the auto-capture lifecycle.
|
|
8
|
+
*
|
|
9
|
+
* Tracks tool call counts, evaluates trigger conditions, and
|
|
10
|
+
* advances session state when a capture fires. Reset state on
|
|
11
|
+
* disconnect or session end via `reset()`.
|
|
12
|
+
*/
|
|
13
|
+
export class AutoCaptureController {
|
|
14
|
+
private toolCallsSinceLastCapture = 0;
|
|
15
|
+
private lastCaptureTimestamp = 0;
|
|
16
|
+
private totalCapturesThisSession = 0;
|
|
17
|
+
private readonly config: AutoCaptureConfig;
|
|
18
|
+
|
|
19
|
+
/** @param config - the auto-capture configuration to use */
|
|
20
|
+
constructor(config: AutoCaptureConfig) {
|
|
21
|
+
this.config = config;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
/** Record one tool call for trigger counting. */
|
|
25
|
+
recordToolCall(): void {
|
|
26
|
+
this.toolCallsSinceLastCapture += 1;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Evaluates the current state against the trigger criteria.
|
|
31
|
+
*
|
|
32
|
+
* When the trigger fires, advances the session counters so the
|
|
33
|
+
* next evaluation respects rate limiting and the session cap.
|
|
34
|
+
*
|
|
35
|
+
* @returns the trigger decision with a human-readable reason
|
|
36
|
+
*/
|
|
37
|
+
evaluate(): AutoCaptureTrigger {
|
|
38
|
+
const trigger = evaluateTrigger(this.config, this.state());
|
|
39
|
+
if (trigger.shouldCapture) {
|
|
40
|
+
this.totalCapturesThisSession += 1;
|
|
41
|
+
this.lastCaptureTimestamp = Date.now();
|
|
42
|
+
this.toolCallsSinceLastCapture = 0;
|
|
43
|
+
}
|
|
44
|
+
return trigger;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
/** Reset all counters, e.g. on client disconnect. */
|
|
48
|
+
reset(): void {
|
|
49
|
+
this.toolCallsSinceLastCapture = 0;
|
|
50
|
+
this.lastCaptureTimestamp = 0;
|
|
51
|
+
this.totalCapturesThisSession = 0;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
/** Returns a snapshot of the current controller state. */
|
|
55
|
+
state(): AutoCaptureState {
|
|
56
|
+
return {
|
|
57
|
+
toolCallsSinceLastCapture: this.toolCallsSinceLastCapture,
|
|
58
|
+
lastCaptureTimestamp: this.lastCaptureTimestamp,
|
|
59
|
+
totalCapturesThisSession: this.totalCapturesThisSession,
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { AutoCaptureConfig } from '../typings/auto-capture-config.interface.ts';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Default configuration for the auto-capture feature.
|
|
5
|
+
*
|
|
6
|
+
* Auto-capture is disabled by default. Enable it in
|
|
7
|
+
* `worker.toml` under `[auto_capture]`.
|
|
8
|
+
*/
|
|
9
|
+
export const AUTO_CAPTURE_DEFAULTS: AutoCaptureConfig = {
|
|
10
|
+
enabled: false,
|
|
11
|
+
triggerAfterToolCalls: 5,
|
|
12
|
+
minIntervalMs: 60_000,
|
|
13
|
+
maxCapturesPerSession: 10,
|
|
14
|
+
dryRun: false,
|
|
15
|
+
};
|