@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
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { DaemonConfig } from '../typings/daemon-config.interface.ts';
|
|
2
|
+
import type { HandlerContext } from '../typings/handler-context.interface.ts';
|
|
3
|
+
import type { WriteLockState } from '../typings/write-lock.interface.ts';
|
|
4
|
+
/** Daemon status information returned by `status` and `idle_at`. */
|
|
5
|
+
interface DaemonStatus {
|
|
6
|
+
/** Whether the daemon is currently serving connections. */
|
|
7
|
+
readonly status: 'busy' | 'idle';
|
|
8
|
+
/** Whether the startup integrity check passed. */
|
|
9
|
+
readonly integrityOk: boolean;
|
|
10
|
+
/** Integrity errors found at startup, if any. */
|
|
11
|
+
readonly integrityErrors: string[];
|
|
12
|
+
/** Unix timestamp (seconds) of the last completed request. */
|
|
13
|
+
readonly idleAt: number;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Dispatches an IPC method to its handler.
|
|
17
|
+
*
|
|
18
|
+
* Routes daemon-state methods inline and delegates WASM read/write
|
|
19
|
+
* operations to their respective handler functions. Write operations
|
|
20
|
+
* are serialised through the single-writer lock.
|
|
21
|
+
*
|
|
22
|
+
* @param method - IPC method name
|
|
23
|
+
* @param params - request parameters
|
|
24
|
+
* @param ctx - handler context (WASM modules, config, targetDir)
|
|
25
|
+
* @param daemonStatus - live daemon state read by the `status` method
|
|
26
|
+
* @param writeLock - shared write-lock state
|
|
27
|
+
*/
|
|
28
|
+
export declare function dispatchRequest(method: string, params: Record<string, unknown>, ctx: HandlerContext, daemonStatus: DaemonStatus, writeLock: WriteLockState): Promise<unknown>;
|
|
29
|
+
/**
|
|
30
|
+
* Re-export `DaemonConfig` so callers can pass strongly-typed
|
|
31
|
+
* config without an extra import.
|
|
32
|
+
*
|
|
33
|
+
* @internal
|
|
34
|
+
*/
|
|
35
|
+
export type { DaemonConfig };
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/** Payload returned by the `checkVersion` IPC method. */
|
|
2
|
+
interface VersionCheckResult {
|
|
3
|
+
/** Compatibility status string. */
|
|
4
|
+
readonly status: string;
|
|
5
|
+
/** Format version stored in the catalog. */
|
|
6
|
+
readonly currentVersion: number;
|
|
7
|
+
/** Format version required by the current engine. */
|
|
8
|
+
readonly requiredVersion: number;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Handles the `checkVersion` IPC method.
|
|
12
|
+
*
|
|
13
|
+
* Reads `catalog.toml` at `targetPath` and compares its format
|
|
14
|
+
* version to `DB_FORMAT_VERSION`. Returns a result object without
|
|
15
|
+
* making any modifications.
|
|
16
|
+
*
|
|
17
|
+
* @param targetPath - absolute path to the `.kbdb` directory to
|
|
18
|
+
* inspect; falls back to `defaultDir` when not provided in params
|
|
19
|
+
* @param defaultDir - fallback directory when `params.targetPath`
|
|
20
|
+
* is absent
|
|
21
|
+
*/
|
|
22
|
+
export declare function handleCheckVersion(params: Record<string, unknown>, defaultDir: string): VersionCheckResult;
|
|
23
|
+
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { DaemonConfig } from '../typings/daemon-config.interface.ts';
|
|
2
|
+
/**
|
|
3
|
+
* Handles `config_{key}` IPC methods by returning the corresponding
|
|
4
|
+
* `DaemonConfig` field value.
|
|
5
|
+
*
|
|
6
|
+
* @param method - the full method name, e.g. `config_timeout_ms`
|
|
7
|
+
* @param config - parsed daemon configuration
|
|
8
|
+
* @throws {IpcError} with code `-32601` when the key suffix is not
|
|
9
|
+
* in `CONFIG_KEY_MAP`
|
|
10
|
+
*/
|
|
11
|
+
export declare function handleConfigMethod(method: string, config: DaemonConfig): unknown;
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import type { HandlerContext } from '../typings/handler-context.interface.ts';
|
|
2
|
+
/**
|
|
3
|
+
* Handles `search` and `query` IPC methods.
|
|
4
|
+
*
|
|
5
|
+
* Encodes parameters, invokes the `worker_search` token pipeline,
|
|
6
|
+
* waits synchronously for the result, and decodes the paged result.
|
|
7
|
+
*/
|
|
8
|
+
export declare function handleSearch(ctx: HandlerContext, params: Record<string, unknown>): unknown;
|
|
9
|
+
/**
|
|
10
|
+
* Handles the `get_result_status` IPC method.
|
|
11
|
+
*/
|
|
12
|
+
export declare function handleResultStatus(ctx: HandlerContext, params: Record<string, unknown>): unknown;
|
|
13
|
+
/**
|
|
14
|
+
* Handles the `get_result` IPC method.
|
|
15
|
+
*/
|
|
16
|
+
export declare function handleGetResult(ctx: HandlerContext, params: Record<string, unknown>): unknown;
|
|
17
|
+
/**
|
|
18
|
+
* Handles the `readSections` IPC method.
|
|
19
|
+
*/
|
|
20
|
+
export declare function handleReadSections(ctx: HandlerContext, params: Record<string, unknown>): unknown;
|
|
21
|
+
/**
|
|
22
|
+
* Handles the `retrieveDocument` IPC method.
|
|
23
|
+
*/
|
|
24
|
+
export declare function handleRetrieveDoc(ctx: HandlerContext, params: Record<string, unknown>): unknown;
|
|
25
|
+
/**
|
|
26
|
+
* Handles the `content` and `compose` IPC methods.
|
|
27
|
+
*/
|
|
28
|
+
export declare function handleCompose(ctx: HandlerContext, params: Record<string, unknown>): unknown;
|
|
29
|
+
/**
|
|
30
|
+
* Handles the `integrityCheck` IPC method.
|
|
31
|
+
*/
|
|
32
|
+
export declare function handleIntegrityCheck(ctx: HandlerContext): unknown;
|
|
33
|
+
/**
|
|
34
|
+
* Handles the `dbStatus` IPC method.
|
|
35
|
+
*/
|
|
36
|
+
export declare function handleDbStatus(ctx: HandlerContext): unknown;
|
|
37
|
+
/**
|
|
38
|
+
* Handles the `listByType` IPC method.
|
|
39
|
+
*/
|
|
40
|
+
export declare function handleListByType(ctx: HandlerContext, params: Record<string, unknown>): unknown;
|
|
41
|
+
/**
|
|
42
|
+
* Handles the `listDocumentsByType` IPC method.
|
|
43
|
+
*/
|
|
44
|
+
export declare function handleListDocsByType(ctx: HandlerContext, params: Record<string, unknown>): unknown;
|
|
45
|
+
/**
|
|
46
|
+
* Handles the `recall` IPC method.
|
|
47
|
+
*/
|
|
48
|
+
export declare function handleRecall(ctx: HandlerContext, params: Record<string, unknown>): unknown;
|
|
49
|
+
/**
|
|
50
|
+
* Handles the `export` and `exportDb` IPC methods.
|
|
51
|
+
*/
|
|
52
|
+
export declare function handleExport(ctx: HandlerContext, params: Record<string, unknown>): unknown;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import type { HandlerContext } from '../typings/handler-context.interface.ts';
|
|
2
|
+
/**
|
|
3
|
+
* Handles the `addSection` IPC method.
|
|
4
|
+
*
|
|
5
|
+
* Encodes the section input, delegates to `worker_add_section`, and
|
|
6
|
+
* runs a near-duplicate scan when the WASM result reports none.
|
|
7
|
+
*/
|
|
8
|
+
export declare function handleAddSection(ctx: HandlerContext, params: Record<string, unknown>): unknown;
|
|
9
|
+
/**
|
|
10
|
+
* Handles the `updateSection` IPC method.
|
|
11
|
+
*/
|
|
12
|
+
export declare function handleUpdateSection(ctx: HandlerContext, params: Record<string, unknown>): unknown;
|
|
13
|
+
/**
|
|
14
|
+
* Handles the `removeSection` IPC method.
|
|
15
|
+
*/
|
|
16
|
+
export declare function handleRemoveSection(ctx: HandlerContext, params: Record<string, unknown>): unknown;
|
|
17
|
+
/**
|
|
18
|
+
* Handles the `groupSections` IPC method.
|
|
19
|
+
*/
|
|
20
|
+
export declare function handleGroupSections(ctx: HandlerContext, params: Record<string, unknown>): unknown;
|
|
21
|
+
/**
|
|
22
|
+
* Handles the `removeGrouping` IPC method.
|
|
23
|
+
*/
|
|
24
|
+
export declare function handleRemoveGrouping(ctx: HandlerContext, params: Record<string, unknown>): unknown;
|
|
25
|
+
/**
|
|
26
|
+
* Handles the `initDirectory` IPC method.
|
|
27
|
+
*/
|
|
28
|
+
export declare function handleInitDirectory(ctx: HandlerContext, params: Record<string, unknown>): unknown;
|
|
29
|
+
/**
|
|
30
|
+
* Handles the `invalidate` IPC method.
|
|
31
|
+
*/
|
|
32
|
+
export declare function handleInvalidate(ctx: HandlerContext, params: Record<string, unknown>): unknown;
|
|
33
|
+
/**
|
|
34
|
+
* Handles the `invalidateAll` IPC method.
|
|
35
|
+
*/
|
|
36
|
+
export declare function handleInvalidateAll(ctx: HandlerContext): unknown;
|
|
37
|
+
/**
|
|
38
|
+
* Handles the `gc` IPC method.
|
|
39
|
+
*/
|
|
40
|
+
export declare function handleGc(ctx: HandlerContext): unknown;
|
|
41
|
+
/**
|
|
42
|
+
* Handles the `rebuildIndexes` IPC method.
|
|
43
|
+
*/
|
|
44
|
+
export declare function handleRebuild(ctx: HandlerContext): unknown;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { AutoCaptureConfig } from '../../auto-capture/typings/auto-capture-config.interface.ts';
|
|
2
|
+
/**
|
|
3
|
+
* Parses key-value pairs from an `[auto_capture]` TOML section
|
|
4
|
+
* into an `AutoCaptureConfig`.
|
|
5
|
+
*
|
|
6
|
+
* Recognised keys: `enabled`, `trigger_after_tool_calls`,
|
|
7
|
+
* `min_interval_ms`, `max_captures_per_session`, `dry_run`.
|
|
8
|
+
* Unknown keys are silently ignored. Falls back to
|
|
9
|
+
* `AUTO_CAPTURE_DEFAULTS` for any absent key.
|
|
10
|
+
*
|
|
11
|
+
* @param entries - key-value pairs from inside the
|
|
12
|
+
* `[auto_capture]` section
|
|
13
|
+
*/
|
|
14
|
+
export declare function parseAutoCaptureSection(entries: ReadonlyMap<string, string>): AutoCaptureConfig;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Parses the `version` field from a minimal TOML string.
|
|
3
|
+
*
|
|
4
|
+
* Supports only `version = <integer>` syntax. Comment lines are
|
|
5
|
+
* skipped. Returns `null` when no `version` field is present.
|
|
6
|
+
*
|
|
7
|
+
* @param text - raw TOML text from `catalog.toml`
|
|
8
|
+
* @returns the integer version, or `null` if absent
|
|
9
|
+
*/
|
|
10
|
+
export declare function parseCatalogVersion(text: string): number | null;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { EmbeddingConfig } from '../../embedding/typings/embedding-config.interface.ts';
|
|
2
|
+
/**
|
|
3
|
+
* Parses key-value pairs from a `[embedding]` TOML section into an
|
|
4
|
+
* `EmbeddingConfig`.
|
|
5
|
+
*
|
|
6
|
+
* Recognises: `provider`, `model`, `endpoint`, `dimensions`.
|
|
7
|
+
* Unknown keys are silently ignored. Returns `undefined` when the
|
|
8
|
+
* `provider` key is absent from the supplied entries.
|
|
9
|
+
*
|
|
10
|
+
* @param entries - key-value pairs from inside the `[embedding]`
|
|
11
|
+
* section
|
|
12
|
+
*/
|
|
13
|
+
export declare function parseEmbeddingSection(entries: ReadonlyMap<string, string>): EmbeddingConfig | undefined;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { DaemonConfig } from '../typings/daemon-config.interface.ts';
|
|
2
|
+
/**
|
|
3
|
+
* Parses a `worker.toml` file body into a partial `DaemonConfig`.
|
|
4
|
+
*
|
|
5
|
+
* Handles `[embedding]` sub-sections and root key-value pairs.
|
|
6
|
+
* Unknown keys are silently ignored.
|
|
7
|
+
*
|
|
8
|
+
* @param text - raw content of `worker.toml`
|
|
9
|
+
* @param contextPath - daemon context directory path
|
|
10
|
+
*/
|
|
11
|
+
export declare function parseWorkerToml(text: string, contextPath: string): DaemonConfig;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { WasmModules } from '../typings/wasm-modules.interface.ts';
|
|
2
|
+
/** Result of a startup integrity check. */
|
|
3
|
+
export interface StartupIntegrityResult {
|
|
4
|
+
/** Whether the check passed without errors. */
|
|
5
|
+
readonly integrityOk: boolean;
|
|
6
|
+
/** Integrity error descriptions found at startup. */
|
|
7
|
+
readonly integrityErrors: string[];
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Runs `worker_check_integrity` immediately after WASM context
|
|
11
|
+
* initialisation and returns the result.
|
|
12
|
+
*
|
|
13
|
+
* Logs a warning to stderr when issues are found. Never throws --
|
|
14
|
+
* failures are captured and returned as part of the result.
|
|
15
|
+
*
|
|
16
|
+
* @param modules - loaded WASM module instances
|
|
17
|
+
*/
|
|
18
|
+
export declare function runStartupIntegrityCheck(modules: WasmModules): StartupIntegrityResult;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/** A near-duplicate match found during add-section scanning. */
|
|
2
|
+
export interface NearDuplicateMatch {
|
|
3
|
+
/** Knowledge-base identifier of the near-duplicate section. */
|
|
4
|
+
readonly kbid: string;
|
|
5
|
+
/** Jaccard similarity score, rounded to 2 decimal places (0–1). */
|
|
6
|
+
readonly similarity: number;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Scans existing section files for near-duplicates of `content`.
|
|
10
|
+
*
|
|
11
|
+
* Uses Jaccard similarity on a set of lowercased tokens (3+ chars)
|
|
12
|
+
* extracted from the section body. Sections with a similarity of
|
|
13
|
+
* 0.85 or above are included in the result. The `newKbid` section
|
|
14
|
+
* is excluded from comparison.
|
|
15
|
+
*
|
|
16
|
+
* @param targetDir - absolute path to the `.kbdb` directory
|
|
17
|
+
* @param content - raw text content of the newly added section
|
|
18
|
+
* @param newKbid - identifier of the just-added section to exclude
|
|
19
|
+
* @returns near-duplicate matches sorted by insertion order
|
|
20
|
+
*/
|
|
21
|
+
export declare function scanNearDuplicates(targetDir: string, content: string, newKbid: string): NearDuplicateMatch[];
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import type { WasmModules } from '../typings/wasm-modules.interface.ts';
|
|
2
|
+
import type { WasmFn } from '../typings/wasm-fn.type.ts';
|
|
3
|
+
/**
|
|
4
|
+
* Retrieves a named export from the kb-worker WASM instance.
|
|
5
|
+
*
|
|
6
|
+
* @throws {Error} if WASM modules are not yet loaded
|
|
7
|
+
* @throws {Error} if the named export does not exist or is not a
|
|
8
|
+
* function
|
|
9
|
+
*/
|
|
10
|
+
export declare function getWasmExport(modules: WasmModules, name: string): WasmFn;
|
|
11
|
+
/**
|
|
12
|
+
* Allocates `size` bytes in WASM linear memory.
|
|
13
|
+
*
|
|
14
|
+
* Returns `0` when `size` is zero or the allocator export is
|
|
15
|
+
* absent.
|
|
16
|
+
*/
|
|
17
|
+
export declare function wasmAlloc(modules: WasmModules, size: number): number;
|
|
18
|
+
/**
|
|
19
|
+
* Frees a previously allocated WASM memory region.
|
|
20
|
+
*
|
|
21
|
+
* No-ops when `ptr` or `size` is zero, or when the free export
|
|
22
|
+
* is absent.
|
|
23
|
+
*/
|
|
24
|
+
export declare function wasmFree(modules: WasmModules, ptr: number, size: number): void;
|
|
25
|
+
/**
|
|
26
|
+
* Writes `data` into WASM linear memory at `ptr`.
|
|
27
|
+
*
|
|
28
|
+
* @throws {Error} if the write would exceed memory bounds
|
|
29
|
+
*/
|
|
30
|
+
export declare function wasmWrite(modules: WasmModules, ptr: number, data: Uint8Array): void;
|
|
31
|
+
/**
|
|
32
|
+
* Reads the WASM return slot, frees the underlying buffer, and
|
|
33
|
+
* returns its contents as a `Uint8Array`.
|
|
34
|
+
*
|
|
35
|
+
* Returns an empty array when the slot is unset or memory is
|
|
36
|
+
* unavailable.
|
|
37
|
+
*/
|
|
38
|
+
export declare function readReturnSlot(modules: WasmModules): Uint8Array;
|
|
39
|
+
/**
|
|
40
|
+
* Calls a WASM export with binary-encoded input via the
|
|
41
|
+
* alloc/write/call/read/free protocol.
|
|
42
|
+
*
|
|
43
|
+
* @throws {IpcError} when the export returns `-1` (error sentinel)
|
|
44
|
+
*/
|
|
45
|
+
export declare function callWasmSync(modules: WasmModules, exportName: string, input: Uint8Array): Uint8Array;
|
|
46
|
+
/**
|
|
47
|
+
* Calls a zero-argument WASM export and checks its return code.
|
|
48
|
+
*
|
|
49
|
+
* @throws {IpcError} when the export returns `-1` (error sentinel)
|
|
50
|
+
*/
|
|
51
|
+
export declare function callWasmZeroArg(modules: WasmModules, exportName: string): void;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { MemoryRef } from '../typings/memory-ref.interface.ts';
|
|
2
|
+
/**
|
|
3
|
+
* Returns the current `ArrayBuffer` backing WASM linear memory.
|
|
4
|
+
*
|
|
5
|
+
* Must be called after WASM module instantiation. The buffer
|
|
6
|
+
* reference may change after WASM memory growth, so callers
|
|
7
|
+
* should call this function each time they need a fresh view.
|
|
8
|
+
*
|
|
9
|
+
* @param memoryRef - deferred reference to WASM linear memory
|
|
10
|
+
* @throws {Error} when memory is not yet initialised
|
|
11
|
+
*/
|
|
12
|
+
export declare function getWasmBuffer(memoryRef: MemoryRef): ArrayBuffer;
|
|
13
|
+
/**
|
|
14
|
+
* Decodes a UTF-8 path from WASM linear memory and resolves it
|
|
15
|
+
* relative to `contextPath` when the path is not absolute.
|
|
16
|
+
*
|
|
17
|
+
* @param memoryRef - deferred reference to WASM linear memory
|
|
18
|
+
* @param contextPath - base directory for relative paths
|
|
19
|
+
* @param ptr - byte offset of the path string in WASM memory
|
|
20
|
+
* @param len - byte length of the path string
|
|
21
|
+
*/
|
|
22
|
+
export declare function readWasmPathArg(memoryRef: MemoryRef, contextPath: string, ptr: number, len: number): string;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { WriteLockState } from '../typings/write-lock.interface.ts';
|
|
2
|
+
/**
|
|
3
|
+
* Acquires the single-writer lock.
|
|
4
|
+
*
|
|
5
|
+
* Enforces the single-writer guarantee: at most one write
|
|
6
|
+
* operation runs at a time inside the daemon. Concurrent writes
|
|
7
|
+
* are serialized through an in-memory FIFO queue -- each caller
|
|
8
|
+
* awaits this function and proceeds only when it is at the head
|
|
9
|
+
* of the queue. Read operations bypass this lock entirely and
|
|
10
|
+
* may proceed concurrently with writes and with each other.
|
|
11
|
+
*
|
|
12
|
+
* Crash recovery: the lock is purely in-memory. If the daemon
|
|
13
|
+
* process crashes mid-write, the OS reclaims process memory,
|
|
14
|
+
* releasing the lock automatically. The WASM engine is
|
|
15
|
+
* responsible for leaving on-disk state consistent (it uses
|
|
16
|
+
* atomic rename: write to a `.tmp` file, then `host_rename` to
|
|
17
|
+
* the final path).
|
|
18
|
+
*
|
|
19
|
+
* @param state - shared write-lock state
|
|
20
|
+
*/
|
|
21
|
+
export declare function acquireWriteLock(state: WriteLockState): Promise<void>;
|
|
22
|
+
/**
|
|
23
|
+
* Releases the single-writer lock.
|
|
24
|
+
*
|
|
25
|
+
* Grants the lock to the next queued waiter if one exists;
|
|
26
|
+
* otherwise marks the lock as free. Must always be called in a
|
|
27
|
+
* `finally` block after `acquireWriteLock` to prevent permanent
|
|
28
|
+
* lock starvation.
|
|
29
|
+
*
|
|
30
|
+
* @param state - shared write-lock state
|
|
31
|
+
*/
|
|
32
|
+
export declare function releaseWriteLock(state: WriteLockState): void;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A mutable reference to the WASM allocator function.
|
|
3
|
+
*
|
|
4
|
+
* The `alloc` field starts as `null` and is wired up after the
|
|
5
|
+
* `kb-worker` WASM module is instantiated. Host import functions
|
|
6
|
+
* that must allocate memory in WASM linear memory check this
|
|
7
|
+
* reference before proceeding and return `-1` when it is null.
|
|
8
|
+
*/
|
|
9
|
+
export interface AllocatorRef {
|
|
10
|
+
/**
|
|
11
|
+
* Allocates `size` bytes in WASM linear memory and returns the
|
|
12
|
+
* byte offset of the allocated region, or `null` when the
|
|
13
|
+
* allocator is not yet available.
|
|
14
|
+
*/
|
|
15
|
+
alloc: ((size: number) => number) | null;
|
|
16
|
+
}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import type { EmbeddingConfig } from '../../embedding/typings/embedding-config.interface.ts';
|
|
2
|
+
import type { AutoCaptureConfig } from '../../auto-capture/typings/auto-capture-config.interface.ts';
|
|
1
3
|
/** Configuration for the worker daemon process. */
|
|
2
4
|
export interface DaemonConfig {
|
|
3
5
|
/** Absolute path to the knowledge-base context directory. */
|
|
@@ -10,4 +12,8 @@ export interface DaemonConfig {
|
|
|
10
12
|
readonly timeoutMs: number;
|
|
11
13
|
/** Time-to-live in milliseconds for each cached item. */
|
|
12
14
|
readonly itemTtlMs: number;
|
|
15
|
+
/** Embedding provider configuration. */
|
|
16
|
+
readonly embedding?: EmbeddingConfig;
|
|
17
|
+
/** Auto-capture behaviour configuration. */
|
|
18
|
+
readonly autoCapture?: AutoCaptureConfig;
|
|
13
19
|
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Minimal filesystem operations required by the WASM host imports.
|
|
3
|
+
*
|
|
4
|
+
* The default implementation delegates to `node:fs` synchronous
|
|
5
|
+
* APIs. Tests inject a stub to avoid touching the real filesystem.
|
|
6
|
+
*/
|
|
7
|
+
export interface FsAdapter {
|
|
8
|
+
/** Read entire file as a Buffer. */
|
|
9
|
+
readFileSync(path: string): Buffer;
|
|
10
|
+
/** Write data buffer to file. */
|
|
11
|
+
writeFileSync(path: string, data: Uint8Array): void;
|
|
12
|
+
/** Rename `oldPath` to `newPath`. */
|
|
13
|
+
renameSync(oldPath: string, newPath: string): void;
|
|
14
|
+
/** Delete a file. */
|
|
15
|
+
unlinkSync(path: string): void;
|
|
16
|
+
/** List directory entries as strings. */
|
|
17
|
+
readdirSync(path: string): string[];
|
|
18
|
+
/** Create a directory (and parents) recursively. */
|
|
19
|
+
mkdirSync(path: string): void;
|
|
20
|
+
/** Return true if the path exists. */
|
|
21
|
+
existsSync(path: string): boolean;
|
|
22
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { DaemonConfig } from './daemon-config.interface.ts';
|
|
2
|
+
import type { WasmModules } from './wasm-modules.interface.ts';
|
|
3
|
+
/**
|
|
4
|
+
* Runtime context passed to all IPC request handler functions.
|
|
5
|
+
*
|
|
6
|
+
* Groups the minimal shared state needed by every request handler
|
|
7
|
+
* so that handler functions can be standalone (not methods on a
|
|
8
|
+
* class) while still accessing WASM modules, configuration, and
|
|
9
|
+
* the database directory path.
|
|
10
|
+
*/
|
|
11
|
+
export interface HandlerContext {
|
|
12
|
+
/** Absolute path to the `.kbdb` directory. */
|
|
13
|
+
readonly targetDir: string;
|
|
14
|
+
/** Parsed daemon configuration from `worker.toml`. */
|
|
15
|
+
readonly config: DaemonConfig;
|
|
16
|
+
/** Loaded WASM module instances. */
|
|
17
|
+
readonly modules: WasmModules;
|
|
18
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A mutable reference to the WASM linear memory.
|
|
3
|
+
*
|
|
4
|
+
* The `memory` field starts as `null` and is wired up after the
|
|
5
|
+
* `kb-worker` WASM module is instantiated (the module exports its
|
|
6
|
+
* own memory rather than importing one). Host import functions
|
|
7
|
+
* read `memory` at call time, not at creation time, so the ref
|
|
8
|
+
* can be populated after the import record is built.
|
|
9
|
+
*/
|
|
10
|
+
export interface MemoryRef {
|
|
11
|
+
/** WASM linear memory; `null` until the module is instantiated. */
|
|
12
|
+
memory: WebAssembly.Memory | null;
|
|
13
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Mutable state for the single-writer lock used by WorkerDaemon.
|
|
3
|
+
*
|
|
4
|
+
* Holds the current lock flag and the queue of pending waiters.
|
|
5
|
+
* Both fields are mutated by `acquireWriteLock` and
|
|
6
|
+
* `releaseWriteLock`.
|
|
7
|
+
*/
|
|
8
|
+
export interface WriteLockState {
|
|
9
|
+
/** Whether the write lock is currently held. */
|
|
10
|
+
locked: boolean;
|
|
11
|
+
/** Queue of resolve callbacks for pending lock waiters. */
|
|
12
|
+
queue: {
|
|
13
|
+
resolve: () => void;
|
|
14
|
+
}[];
|
|
15
|
+
}
|
|
@@ -5,7 +5,10 @@ declare namespace wasm_bindgen {
|
|
|
5
5
|
/**
|
|
6
6
|
* Adds a section. `ptr`/`len` point to an encoded `AddSectionParams`.
|
|
7
7
|
*
|
|
8
|
-
* On success: writes encoded
|
|
8
|
+
* On success: writes an encoded `AddSectionResult` to the return slot and
|
|
9
|
+
* returns 0. When `params.replace` is true and a section with the same
|
|
10
|
+
* `source_key` exists, the superseded section's index entries are removed
|
|
11
|
+
* and the returned `AddSectionResult.superseded` is set to its kbid.
|
|
9
12
|
* On error: writes error message to return slot, returns -1.
|
|
10
13
|
*/
|
|
11
14
|
export function db_add_section(ptr: number, len: number): number;
|
|
@@ -42,6 +45,23 @@ declare namespace wasm_bindgen {
|
|
|
42
45
|
*/
|
|
43
46
|
export function db_check_version(ptr: number, len: number): number;
|
|
44
47
|
|
|
48
|
+
/**
|
|
49
|
+
* Exports the database to a target directory.
|
|
50
|
+
*
|
|
51
|
+
* `ptr`/`len` point to a UTF-8 string containing the target path.
|
|
52
|
+
*
|
|
53
|
+
* Copies `sections/`, `documents/`, and `catalog.toml` to the target.
|
|
54
|
+
* Indexes are not copied because they can be rebuilt from the data.
|
|
55
|
+
*
|
|
56
|
+
* The target path may be absolute or relative. It is an external output
|
|
57
|
+
* destination, not a database-internal path, so no path validation is
|
|
58
|
+
* applied to it.
|
|
59
|
+
*
|
|
60
|
+
* On success a summary string is placed in the return slot:
|
|
61
|
+
* `path={target}\nsections_exported={N}\ndocuments_exported={M}`
|
|
62
|
+
*/
|
|
63
|
+
export function db_export(ptr: number, len: number): number;
|
|
64
|
+
|
|
45
65
|
/**
|
|
46
66
|
* Runs garbage collection. Returns 0 on success.
|
|
47
67
|
* On success a summary string is placed in the return slot.
|
|
@@ -200,6 +220,7 @@ declare interface InitOutput {
|
|
|
200
220
|
readonly db_add_to_index: (a: number, b: number) => number;
|
|
201
221
|
readonly db_check_integrity: (a: number, b: number) => number;
|
|
202
222
|
readonly db_check_version: (a: number, b: number) => number;
|
|
223
|
+
readonly db_export: (a: number, b: number) => number;
|
|
203
224
|
readonly db_gc: (a: number, b: number) => number;
|
|
204
225
|
readonly db_get_back_refs: (a: number, b: number) => number;
|
|
205
226
|
readonly db_get_forward_refs: (a: number, b: number) => number;
|
|
@@ -7,7 +7,10 @@ let wasm_bindgen = (function(exports) {
|
|
|
7
7
|
/**
|
|
8
8
|
* Adds a section. `ptr`/`len` point to an encoded `AddSectionParams`.
|
|
9
9
|
*
|
|
10
|
-
* On success: writes encoded
|
|
10
|
+
* On success: writes an encoded `AddSectionResult` to the return slot and
|
|
11
|
+
* returns 0. When `params.replace` is true and a section with the same
|
|
12
|
+
* `source_key` exists, the superseded section's index entries are removed
|
|
13
|
+
* and the returned `AddSectionResult.superseded` is set to its kbid.
|
|
11
14
|
* On error: writes error message to return slot, returns -1.
|
|
12
15
|
* @param {number} ptr
|
|
13
16
|
* @param {number} len
|
|
@@ -72,6 +75,30 @@ let wasm_bindgen = (function(exports) {
|
|
|
72
75
|
}
|
|
73
76
|
exports.db_check_version = db_check_version;
|
|
74
77
|
|
|
78
|
+
/**
|
|
79
|
+
* Exports the database to a target directory.
|
|
80
|
+
*
|
|
81
|
+
* `ptr`/`len` point to a UTF-8 string containing the target path.
|
|
82
|
+
*
|
|
83
|
+
* Copies `sections/`, `documents/`, and `catalog.toml` to the target.
|
|
84
|
+
* Indexes are not copied because they can be rebuilt from the data.
|
|
85
|
+
*
|
|
86
|
+
* The target path may be absolute or relative. It is an external output
|
|
87
|
+
* destination, not a database-internal path, so no path validation is
|
|
88
|
+
* applied to it.
|
|
89
|
+
*
|
|
90
|
+
* On success a summary string is placed in the return slot:
|
|
91
|
+
* `path={target}\nsections_exported={N}\ndocuments_exported={M}`
|
|
92
|
+
* @param {number} ptr
|
|
93
|
+
* @param {number} len
|
|
94
|
+
* @returns {number}
|
|
95
|
+
*/
|
|
96
|
+
function db_export(ptr, len) {
|
|
97
|
+
const ret = wasm.db_export(ptr, len);
|
|
98
|
+
return ret;
|
|
99
|
+
}
|
|
100
|
+
exports.db_export = db_export;
|
|
101
|
+
|
|
75
102
|
/**
|
|
76
103
|
* Runs garbage collection. Returns 0 on success.
|
|
77
104
|
* On success a summary string is placed in the return slot.
|
|
Binary file
|
|
@@ -7,6 +7,7 @@ export const db_add_section: (a: number, b: number) => number;
|
|
|
7
7
|
export const db_add_to_index: (a: number, b: number) => number;
|
|
8
8
|
export const db_check_integrity: (a: number, b: number) => number;
|
|
9
9
|
export const db_check_version: (a: number, b: number) => number;
|
|
10
|
+
export const db_export: (a: number, b: number) => number;
|
|
10
11
|
export const db_gc: (a: number, b: number) => number;
|
|
11
12
|
export const db_get_back_refs: (a: number, b: number) => number;
|
|
12
13
|
export const db_get_forward_refs: (a: number, b: number) => number;
|