@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,61 @@
|
|
|
1
|
+
import type { McpWorkerClient } from '../typings/mcp-client.interface.ts';
|
|
2
|
+
import type { ToolCallResult } from '../typings/tool-call-result.model.ts';
|
|
3
|
+
import { asString } from './as-string.function.ts';
|
|
4
|
+
import { extractSkillArguments } from './extract-skill-arguments.function.ts';
|
|
5
|
+
import { serializeSkillContent } from './serialize-skill-content.function.ts';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Handles the `skill-learn` MCP tool call.
|
|
9
|
+
*
|
|
10
|
+
* Validates required arguments, extracts template placeholders from
|
|
11
|
+
* the body, serialises the skill, and stores it as a knowledge-base
|
|
12
|
+
* section.
|
|
13
|
+
*
|
|
14
|
+
* @param client - the worker client used to execute operations
|
|
15
|
+
* @param args - tool arguments from the MCP request
|
|
16
|
+
*/
|
|
17
|
+
export async function handleToolSkillLearn(
|
|
18
|
+
client: McpWorkerClient,
|
|
19
|
+
args: Record<string, unknown>,
|
|
20
|
+
): Promise<ToolCallResult> {
|
|
21
|
+
const name = asString(args['name'], '');
|
|
22
|
+
if (!name) {
|
|
23
|
+
return {
|
|
24
|
+
content: [{ type: 'text', text: 'name is required' }],
|
|
25
|
+
isError: true,
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
const body = asString(args['body'], '');
|
|
29
|
+
if (!body) {
|
|
30
|
+
return {
|
|
31
|
+
content: [{ type: 'text', text: 'body is required' }],
|
|
32
|
+
isError: true,
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
const description =
|
|
36
|
+
typeof args['description'] === 'string'
|
|
37
|
+
? args['description']
|
|
38
|
+
: undefined;
|
|
39
|
+
const skillArgs = extractSkillArguments(body);
|
|
40
|
+
const skill = {
|
|
41
|
+
name,
|
|
42
|
+
description,
|
|
43
|
+
arguments: skillArgs.length > 0 ? skillArgs : undefined,
|
|
44
|
+
body,
|
|
45
|
+
};
|
|
46
|
+
const json = serializeSkillContent(skill);
|
|
47
|
+
const result = await client.addSection({
|
|
48
|
+
sectionType: 'skill',
|
|
49
|
+
content: json,
|
|
50
|
+
title: name,
|
|
51
|
+
description,
|
|
52
|
+
});
|
|
53
|
+
return {
|
|
54
|
+
content: [
|
|
55
|
+
{
|
|
56
|
+
type: 'text',
|
|
57
|
+
text: JSON.stringify({ kbid: result.kbid, name }),
|
|
58
|
+
},
|
|
59
|
+
],
|
|
60
|
+
};
|
|
61
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type { McpWorkerClient } from '../typings/mcp-client.interface.ts';
|
|
2
|
+
import type { ToolCallResult } from '../typings/tool-call-result.model.ts';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Handles the `skill-list` MCP tool call.
|
|
6
|
+
*
|
|
7
|
+
* Lists all skills stored in the knowledge base, including the
|
|
8
|
+
* argument count extracted from each skill's JSON content.
|
|
9
|
+
*
|
|
10
|
+
* @param client - the worker client used to execute operations
|
|
11
|
+
*/
|
|
12
|
+
export async function handleToolSkillList(
|
|
13
|
+
client: McpWorkerClient,
|
|
14
|
+
): Promise<ToolCallResult> {
|
|
15
|
+
const records = await client.listByType('skill');
|
|
16
|
+
const items = records.map((r) => {
|
|
17
|
+
let argumentCount = 0;
|
|
18
|
+
try {
|
|
19
|
+
const parsed = JSON.parse(r.content) as Record<
|
|
20
|
+
string,
|
|
21
|
+
unknown
|
|
22
|
+
>;
|
|
23
|
+
if (Array.isArray(parsed['arguments'])) {
|
|
24
|
+
argumentCount = parsed['arguments'].length;
|
|
25
|
+
}
|
|
26
|
+
} catch {
|
|
27
|
+
// ignore parse errors
|
|
28
|
+
}
|
|
29
|
+
return {
|
|
30
|
+
kbid: r.kbid,
|
|
31
|
+
name: r.title,
|
|
32
|
+
description: r.description,
|
|
33
|
+
argumentCount,
|
|
34
|
+
};
|
|
35
|
+
});
|
|
36
|
+
return {
|
|
37
|
+
content: [{ type: 'text', text: JSON.stringify(items, null, 2) }],
|
|
38
|
+
};
|
|
39
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { McpWorkerClient } from '../typings/mcp-client.interface.ts';
|
|
2
|
+
import type { ToolCallResult } from '../typings/tool-call-result.model.ts';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Handles the `status` MCP tool call.
|
|
6
|
+
*
|
|
7
|
+
* Fetches database metadata from the worker client and returns it as
|
|
8
|
+
* formatted JSON.
|
|
9
|
+
*
|
|
10
|
+
* @param client - the worker client used to execute operations
|
|
11
|
+
*/
|
|
12
|
+
export async function handleToolStatus(
|
|
13
|
+
client: McpWorkerClient,
|
|
14
|
+
): Promise<ToolCallResult> {
|
|
15
|
+
const status = await client.dbStatus();
|
|
16
|
+
return {
|
|
17
|
+
content: [
|
|
18
|
+
{ type: 'text', text: JSON.stringify(status, null, 2) },
|
|
19
|
+
],
|
|
20
|
+
};
|
|
21
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { McpWorkerClient } from '../typings/mcp-client.interface.ts';
|
|
2
|
+
import type { ToolCallResult } from '../typings/tool-call-result.model.ts';
|
|
3
|
+
import { asString } from './as-string.function.ts';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Handles the `unlearn` MCP tool call.
|
|
7
|
+
*
|
|
8
|
+
* Removes the section identified by `kbid` from the knowledge base
|
|
9
|
+
* and returns the removal result as JSON.
|
|
10
|
+
*
|
|
11
|
+
* @param client - the worker client used to execute operations
|
|
12
|
+
* @param args - tool arguments from the MCP request
|
|
13
|
+
*/
|
|
14
|
+
export async function handleToolUnlearn(
|
|
15
|
+
client: McpWorkerClient,
|
|
16
|
+
args: Record<string, unknown>,
|
|
17
|
+
): Promise<ToolCallResult> {
|
|
18
|
+
const result = await client.removeSection(
|
|
19
|
+
asString(args['kbid'], ''),
|
|
20
|
+
);
|
|
21
|
+
return {
|
|
22
|
+
content: [{ type: 'text', text: JSON.stringify(result) }],
|
|
23
|
+
};
|
|
24
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/** Parsed shape of an agent metadata section. */
|
|
2
|
+
export interface AgentMeta {
|
|
3
|
+
/** Agent persona text. */
|
|
4
|
+
readonly persona: string;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Parses agent metadata from a raw JSON content string.
|
|
9
|
+
*
|
|
10
|
+
* Returns an object with an empty `persona` when parsing fails or
|
|
11
|
+
* the required field is absent or not a string.
|
|
12
|
+
*
|
|
13
|
+
* @param content - raw JSON content string of the agent metadata section
|
|
14
|
+
*/
|
|
15
|
+
export function parseAgentMeta(content: string): AgentMeta {
|
|
16
|
+
try {
|
|
17
|
+
const parsed = JSON.parse(content) as Record<string, unknown>;
|
|
18
|
+
return {
|
|
19
|
+
persona:
|
|
20
|
+
typeof parsed['persona'] === 'string'
|
|
21
|
+
? parsed['persona']
|
|
22
|
+
: '',
|
|
23
|
+
};
|
|
24
|
+
} catch {
|
|
25
|
+
return { persona: '' };
|
|
26
|
+
}
|
|
27
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { McpPromptArgument } from '../typings/prompt-types.interface.ts';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Parses the `arguments` field from a skill's JSON content string.
|
|
5
|
+
*
|
|
6
|
+
* Returns the array of prompt argument definitions when the content
|
|
7
|
+
* is valid JSON with an `arguments` array, or `undefined` when JSON
|
|
8
|
+
* parsing fails or the field is absent.
|
|
9
|
+
*
|
|
10
|
+
* @param content - raw JSON string of the skill section content
|
|
11
|
+
*/
|
|
12
|
+
export function parseSkillArguments(
|
|
13
|
+
content: string,
|
|
14
|
+
): readonly McpPromptArgument[] | undefined {
|
|
15
|
+
try {
|
|
16
|
+
const parsed = JSON.parse(content) as Record<string, unknown>;
|
|
17
|
+
if (!Array.isArray(parsed['arguments'])) {
|
|
18
|
+
return undefined;
|
|
19
|
+
}
|
|
20
|
+
return (parsed['arguments'] as Record<string, unknown>[]).map(
|
|
21
|
+
(arg) => ({
|
|
22
|
+
name: typeof arg['name'] === 'string' ? arg['name'] : '',
|
|
23
|
+
description:
|
|
24
|
+
typeof arg['description'] === 'string'
|
|
25
|
+
? arg['description']
|
|
26
|
+
: undefined,
|
|
27
|
+
required:
|
|
28
|
+
typeof arg['required'] === 'boolean'
|
|
29
|
+
? arg['required']
|
|
30
|
+
: undefined,
|
|
31
|
+
}),
|
|
32
|
+
);
|
|
33
|
+
} catch {
|
|
34
|
+
return undefined;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type { McpWorkerClient } from '../typings/mcp-client.interface.ts';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Reads the metadata JSON stored in the first section of an agent
|
|
5
|
+
* document and extracts `name`, `description`, and `persona`.
|
|
6
|
+
*
|
|
7
|
+
* Returns defaults when the section is absent or its content is
|
|
8
|
+
* not parseable as JSON.
|
|
9
|
+
*
|
|
10
|
+
* @param client - the worker client used to read sections
|
|
11
|
+
* @param metaKbid - kbid of the agent metadata section
|
|
12
|
+
* @param fallbackName - name returned when `name` is absent from JSON
|
|
13
|
+
*/
|
|
14
|
+
export async function readAgentMeta(
|
|
15
|
+
client: McpWorkerClient,
|
|
16
|
+
metaKbid: string,
|
|
17
|
+
fallbackName: string,
|
|
18
|
+
): Promise<{ name: string; description: string; persona: string }> {
|
|
19
|
+
const metaSections = await client.readSections([metaKbid]);
|
|
20
|
+
const first = metaSections.at(0);
|
|
21
|
+
if (!first) {
|
|
22
|
+
return { name: fallbackName, description: '', persona: '' };
|
|
23
|
+
}
|
|
24
|
+
try {
|
|
25
|
+
const meta = JSON.parse(first.content) as Record<string, unknown>;
|
|
26
|
+
return {
|
|
27
|
+
name:
|
|
28
|
+
typeof meta['name'] === 'string'
|
|
29
|
+
? meta['name']
|
|
30
|
+
: fallbackName,
|
|
31
|
+
description:
|
|
32
|
+
typeof meta['description'] === 'string'
|
|
33
|
+
? meta['description']
|
|
34
|
+
: '',
|
|
35
|
+
persona:
|
|
36
|
+
typeof meta['persona'] === 'string' ? meta['persona'] : '',
|
|
37
|
+
};
|
|
38
|
+
} catch {
|
|
39
|
+
return { name: fallbackName, description: '', persona: '' };
|
|
40
|
+
}
|
|
41
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import type { McpWorkerClient } from '../typings/mcp-client.interface.ts';
|
|
2
|
+
|
|
3
|
+
/** A section reference within an agent document. */
|
|
4
|
+
export interface AgentSectionRef {
|
|
5
|
+
/** Knowledge-base identifier of the section. */
|
|
6
|
+
readonly kbid: string;
|
|
7
|
+
/** Zero-based position of the section within the document. */
|
|
8
|
+
readonly position: number;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Resolves skill names for a list of section references by reading
|
|
13
|
+
* each section's JSON content and extracting the `name` field.
|
|
14
|
+
*
|
|
15
|
+
* Returns `name: null` for references where the section no longer
|
|
16
|
+
* exists (dangling references) or whose content is not valid JSON.
|
|
17
|
+
*
|
|
18
|
+
* @param client - the worker client used to read sections
|
|
19
|
+
* @param skillRefs - ordered list of section references to resolve
|
|
20
|
+
*/
|
|
21
|
+
export async function resolveSkillRefs(
|
|
22
|
+
client: McpWorkerClient,
|
|
23
|
+
skillRefs: AgentSectionRef[],
|
|
24
|
+
): Promise<{ kbid: string; name: string | null; position: number }[]> {
|
|
25
|
+
if (skillRefs.length === 0) return [];
|
|
26
|
+
const skillKbids = skillRefs.map((s) => s.kbid);
|
|
27
|
+
const skillSections = await client.readSections(skillKbids);
|
|
28
|
+
const sectionMap = new Map(skillSections.map((s) => [s.kbid, s]));
|
|
29
|
+
return skillRefs.map((ref) => {
|
|
30
|
+
const sec = sectionMap.get(ref.kbid);
|
|
31
|
+
if (!sec) {
|
|
32
|
+
return { kbid: ref.kbid, name: null, position: ref.position };
|
|
33
|
+
}
|
|
34
|
+
try {
|
|
35
|
+
const parsed = JSON.parse(sec.content) as Record<
|
|
36
|
+
string,
|
|
37
|
+
unknown
|
|
38
|
+
>;
|
|
39
|
+
const skillName =
|
|
40
|
+
typeof parsed['name'] === 'string' ? parsed['name'] : null;
|
|
41
|
+
return {
|
|
42
|
+
kbid: ref.kbid,
|
|
43
|
+
name: skillName,
|
|
44
|
+
position: ref.position,
|
|
45
|
+
};
|
|
46
|
+
} catch {
|
|
47
|
+
return { kbid: ref.kbid, name: null, position: ref.position };
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { McpWorkerClient } from '../typings/mcp-client.interface.ts';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Runs an integrity check immediately after the MCP handshake
|
|
5
|
+
* completes.
|
|
6
|
+
*
|
|
7
|
+
* Calls `notify` with a `notifications/message` warning when the
|
|
8
|
+
* check detects issues so the connected agent is aware before making
|
|
9
|
+
* requests. Errors from the check itself are swallowed -- the server
|
|
10
|
+
* continues operating regardless.
|
|
11
|
+
*
|
|
12
|
+
* @param client - the worker client used to run the integrity check
|
|
13
|
+
* @param notify - callback used to send notifications to the host
|
|
14
|
+
*/
|
|
15
|
+
export async function runStartupHealthCheck(
|
|
16
|
+
client: McpWorkerClient,
|
|
17
|
+
notify: (method: string, params: Record<string, unknown>) => void,
|
|
18
|
+
): Promise<void> {
|
|
19
|
+
try {
|
|
20
|
+
const report = await client.integrityCheck();
|
|
21
|
+
if (!report.ok) {
|
|
22
|
+
const summary = report.errors
|
|
23
|
+
.map((e) => `${e.type}: ${e.entity} -- ${e.detail}`)
|
|
24
|
+
.join('; ');
|
|
25
|
+
notify('notifications/message', {
|
|
26
|
+
level: 'warning',
|
|
27
|
+
logger: 'kbdb',
|
|
28
|
+
data: `Database integrity issues detected: ${summary}`,
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
} catch {
|
|
32
|
+
// Health check failure is non-fatal -- server continues
|
|
33
|
+
}
|
|
34
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/** MCP capability flags advertised during initialization. */
|
|
2
|
+
export interface McpCapabilities {
|
|
3
|
+
/** Indicates the server supports the tools capability. */
|
|
4
|
+
readonly tools?: Record<string, unknown>;
|
|
5
|
+
/** Indicates the server supports the resources capability. */
|
|
6
|
+
readonly resources?: Record<string, unknown>;
|
|
7
|
+
/** Indicates the server supports the prompts capability. */
|
|
8
|
+
readonly prompts?: Record<string, unknown>;
|
|
9
|
+
/** Indicates the server supports the logging capability. */
|
|
10
|
+
readonly logging?: Record<string, unknown>;
|
|
11
|
+
/**
|
|
12
|
+
* Indicates the server supports the completions capability,
|
|
13
|
+
* providing argument auto-completion for prompts and resources.
|
|
14
|
+
*/
|
|
15
|
+
readonly completions?: Record<string, unknown>;
|
|
16
|
+
}
|
|
@@ -45,6 +45,18 @@ export interface McpIntegrityCheckResult {
|
|
|
45
45
|
readonly elapsed_ms: number;
|
|
46
46
|
}
|
|
47
47
|
|
|
48
|
+
/** Export report returned by the daemon. */
|
|
49
|
+
export interface McpExportResult {
|
|
50
|
+
/** Absolute path to the directory where files were written. */
|
|
51
|
+
readonly path: string;
|
|
52
|
+
/** Number of section files copied to the export directory. */
|
|
53
|
+
readonly sections_exported: number;
|
|
54
|
+
/** Number of document manifest files copied. */
|
|
55
|
+
readonly documents_exported: number;
|
|
56
|
+
/** Time taken to complete the export, in milliseconds. */
|
|
57
|
+
readonly elapsed_ms: number;
|
|
58
|
+
}
|
|
59
|
+
|
|
48
60
|
/** Garbage collection report returned by the daemon. */
|
|
49
61
|
export interface McpGcResult {
|
|
50
62
|
/** Number of unreferenced sections removed. */
|
|
@@ -53,6 +65,12 @@ export interface McpGcResult {
|
|
|
53
65
|
readonly removed_bytes: number;
|
|
54
66
|
/** Time taken to complete garbage collection, in milliseconds. */
|
|
55
67
|
readonly elapsed_ms: number;
|
|
68
|
+
/**
|
|
69
|
+
* Number of sections whose source_path file no longer contains
|
|
70
|
+
* their heading text. Advisory; not auto-removed by gc.
|
|
71
|
+
* Absent on older daemon versions.
|
|
72
|
+
*/
|
|
73
|
+
readonly stale_sources?: number;
|
|
56
74
|
}
|
|
57
75
|
|
|
58
76
|
/** Index rebuild report returned by the daemon. */
|
|
@@ -87,6 +105,8 @@ export interface McpWorkerClient {
|
|
|
87
105
|
readonly limit?: number;
|
|
88
106
|
/** Number of results to skip for pagination. */
|
|
89
107
|
readonly offset?: number;
|
|
108
|
+
/** Search algorithm: 'lexical', 'vector', or 'hybrid'. */
|
|
109
|
+
readonly algo?: string;
|
|
90
110
|
}): Promise<{
|
|
91
111
|
readonly items: readonly {
|
|
92
112
|
readonly kbid: string;
|
|
@@ -96,11 +116,20 @@ export interface McpWorkerClient {
|
|
|
96
116
|
readonly score: number;
|
|
97
117
|
readonly snippet: string;
|
|
98
118
|
readonly matched_terms: readonly string[];
|
|
119
|
+
/** Fields that contained matches (heading, body, code). */
|
|
120
|
+
readonly matched_fields?: readonly string[];
|
|
121
|
+
/** ISO 8601 creation timestamp of the section. */
|
|
122
|
+
readonly created_at?: string;
|
|
99
123
|
}[];
|
|
100
124
|
readonly total: number;
|
|
101
125
|
readonly offset: number;
|
|
102
126
|
readonly limit: number;
|
|
103
127
|
readonly has_more: boolean;
|
|
128
|
+
/**
|
|
129
|
+
* `true` when results came from an automatic AND-to-OR
|
|
130
|
+
* fallback query relaxation.
|
|
131
|
+
*/
|
|
132
|
+
readonly relaxed?: boolean;
|
|
104
133
|
}>;
|
|
105
134
|
|
|
106
135
|
/**
|
|
@@ -120,6 +149,13 @@ export interface McpWorkerClient {
|
|
|
120
149
|
readonly description?: string;
|
|
121
150
|
/** Optional document ID to group this section under. */
|
|
122
151
|
readonly docid?: string;
|
|
152
|
+
/** Optional tags for scoping and filtering. */
|
|
153
|
+
readonly tags?: string[];
|
|
154
|
+
/**
|
|
155
|
+
* When `true`, replaces an existing section that has the same
|
|
156
|
+
* source key (supersession).
|
|
157
|
+
*/
|
|
158
|
+
readonly replace?: boolean;
|
|
123
159
|
}): Promise<AddSectionResult>;
|
|
124
160
|
|
|
125
161
|
/**
|
|
@@ -263,6 +299,17 @@ export interface McpWorkerClient {
|
|
|
263
299
|
readonly depth?: number;
|
|
264
300
|
}): Promise<unknown>;
|
|
265
301
|
|
|
302
|
+
/**
|
|
303
|
+
* Exports the database to a target directory as a self-contained
|
|
304
|
+
* snapshot (sections, documents, catalog -- no indexes).
|
|
305
|
+
*
|
|
306
|
+
* @param params - optional export parameters
|
|
307
|
+
* @returns export report with the resolved path and file counts
|
|
308
|
+
*/
|
|
309
|
+
export(params?: {
|
|
310
|
+
readonly path?: string;
|
|
311
|
+
}): Promise<McpExportResult>;
|
|
312
|
+
|
|
266
313
|
/** Destroys the IPC socket and clears the connection state. */
|
|
267
314
|
disconnect(): void;
|
|
268
315
|
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Discriminated reference used in MCP completion requests.
|
|
3
|
+
* Identifies whether the completion target is a prompt or a resource.
|
|
4
|
+
*/
|
|
5
|
+
export interface McpCompletionRef {
|
|
6
|
+
/**
|
|
7
|
+
* The reference type: `'ref/prompt'` for named prompts (skills
|
|
8
|
+
* and agents) or `'ref/resource'` for resource URIs.
|
|
9
|
+
*/
|
|
10
|
+
readonly type: 'ref/prompt' | 'ref/resource';
|
|
11
|
+
/** Prompt name, present when `type` is `'ref/prompt'`. */
|
|
12
|
+
readonly name?: string;
|
|
13
|
+
/** Resource URI, present when `type` is `'ref/resource'`. */
|
|
14
|
+
readonly uri?: string;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Completion argument supplied by the client, describing which
|
|
19
|
+
* argument is being completed and the current partial value.
|
|
20
|
+
*/
|
|
21
|
+
export interface McpCompletionArgument {
|
|
22
|
+
/** The argument name being completed. */
|
|
23
|
+
readonly name: string;
|
|
24
|
+
/** The partial value typed so far; used for prefix filtering. */
|
|
25
|
+
readonly value: string;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Result returned by `handleCompletion`, containing the list of
|
|
30
|
+
* matching completion values and pagination metadata.
|
|
31
|
+
*/
|
|
32
|
+
export interface McpCompletionResult {
|
|
33
|
+
/** Completion payload. */
|
|
34
|
+
readonly completion: {
|
|
35
|
+
/** Matching completion strings for the given prefix. */
|
|
36
|
+
readonly values: string[];
|
|
37
|
+
/**
|
|
38
|
+
* Whether more results are available beyond what is returned.
|
|
39
|
+
* Always `false` in this implementation.
|
|
40
|
+
*/
|
|
41
|
+
readonly hasMore: boolean;
|
|
42
|
+
/** Total number of values returned. */
|
|
43
|
+
readonly total: number;
|
|
44
|
+
};
|
|
45
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/** Result returned by content composition. */
|
|
2
|
+
export interface McpContentResult {
|
|
3
|
+
/** MIME type of the composed output, always `'text/markdown'`. */
|
|
4
|
+
readonly type: 'text/markdown';
|
|
5
|
+
/** The composed Markdown string. */
|
|
6
|
+
readonly data: string;
|
|
7
|
+
/** Character count of `data` (not byte count). */
|
|
8
|
+
readonly total: number;
|
|
9
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/** Export report returned by the daemon. */
|
|
2
|
+
export interface McpExportResult {
|
|
3
|
+
/** Absolute path to the directory where files were written. */
|
|
4
|
+
readonly path: string;
|
|
5
|
+
/** Number of section files copied to the export directory. */
|
|
6
|
+
readonly sections_exported: number;
|
|
7
|
+
/** Number of document manifest files copied. */
|
|
8
|
+
readonly documents_exported: number;
|
|
9
|
+
/** Time taken to complete the export, in milliseconds. */
|
|
10
|
+
readonly elapsed_ms: number;
|
|
11
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/** Garbage collection report returned by the daemon. */
|
|
2
|
+
export interface McpGcResult {
|
|
3
|
+
/** Number of unreferenced sections removed. */
|
|
4
|
+
readonly removed_sections: number;
|
|
5
|
+
/** Total bytes freed by removing unreferenced sections. */
|
|
6
|
+
readonly removed_bytes: number;
|
|
7
|
+
/** Time taken to complete garbage collection, in milliseconds. */
|
|
8
|
+
readonly elapsed_ms: number;
|
|
9
|
+
/**
|
|
10
|
+
* Number of sections whose source_path file no longer contains
|
|
11
|
+
* their heading text. Advisory; not auto-removed by gc.
|
|
12
|
+
* Absent on older daemon versions.
|
|
13
|
+
*/
|
|
14
|
+
readonly stale_sources?: number;
|
|
15
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { McpIntegrityError } from './mcp-integrity-error.model.ts';
|
|
2
|
+
|
|
3
|
+
/** Integrity check report returned by the daemon. */
|
|
4
|
+
export interface McpIntegrityCheckResult {
|
|
5
|
+
/** `true` when all checks passed and no errors were found. */
|
|
6
|
+
readonly ok: boolean;
|
|
7
|
+
/** All integrity errors found; empty when `ok` is `true`. */
|
|
8
|
+
readonly errors: McpIntegrityError[];
|
|
9
|
+
/** Total number of sections examined. */
|
|
10
|
+
readonly sections_checked: number;
|
|
11
|
+
/** Total number of documents examined. */
|
|
12
|
+
readonly documents_checked: number;
|
|
13
|
+
/** Total number of marker references checked. */
|
|
14
|
+
readonly references_checked: number;
|
|
15
|
+
/** Time taken to complete the check, in milliseconds. */
|
|
16
|
+
readonly elapsed_ms: number;
|
|
17
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/** A single integrity error found during a database check. */
|
|
2
|
+
export interface McpIntegrityError {
|
|
3
|
+
/** The category of integrity violation detected. */
|
|
4
|
+
readonly type:
|
|
5
|
+
| 'checksum_mismatch'
|
|
6
|
+
| 'orphan_section'
|
|
7
|
+
| 'orphan_document'
|
|
8
|
+
| 'broken_reference'
|
|
9
|
+
| 'type_mismatch'
|
|
10
|
+
| 'circular_reference';
|
|
11
|
+
/** Identifier of the entity (kbid or docid) that has the issue. */
|
|
12
|
+
readonly entity: string;
|
|
13
|
+
/** Human-readable description of the specific problem. */
|
|
14
|
+
readonly detail: string;
|
|
15
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/** A JSON-RPC 2.0 notification with no expected response. */
|
|
2
|
+
export interface McpNotification {
|
|
3
|
+
/** JSON-RPC protocol version. Must always be '2.0'. */
|
|
4
|
+
readonly jsonrpc: '2.0';
|
|
5
|
+
/** Notification method name. */
|
|
6
|
+
readonly method: string;
|
|
7
|
+
/** Optional notification parameters. */
|
|
8
|
+
readonly params?: Record<string, unknown>;
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/** Index rebuild report returned by the daemon. */
|
|
2
|
+
export interface McpRebuildResult {
|
|
3
|
+
/** Number of text and code sections that were re-indexed. */
|
|
4
|
+
readonly sections_reindexed: number;
|
|
5
|
+
/** Total number of unique terms written to the rebuilt indexes. */
|
|
6
|
+
readonly terms_indexed: number;
|
|
7
|
+
/** Time taken to complete the rebuild, in milliseconds. */
|
|
8
|
+
readonly elapsed_ms: number;
|
|
9
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/** A JSON-RPC 2.0 request message sent to the MCP server. */
|
|
2
|
+
export interface McpRequest {
|
|
3
|
+
/** JSON-RPC protocol version. Must always be '2.0'. */
|
|
4
|
+
readonly jsonrpc: '2.0';
|
|
5
|
+
/** Request identifier; absent for notifications. */
|
|
6
|
+
readonly id?: number | string;
|
|
7
|
+
/** RPC method name. */
|
|
8
|
+
readonly method: string;
|
|
9
|
+
/** Optional method parameters. */
|
|
10
|
+
readonly params?: Record<string, unknown>;
|
|
11
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/** Result returned by `handleResourceRead`. */
|
|
2
|
+
export interface McpResourceResult {
|
|
3
|
+
/** One or more content items for the requested resource URI. */
|
|
4
|
+
readonly contents: readonly {
|
|
5
|
+
/** The resource URI that was read. */
|
|
6
|
+
readonly uri: string;
|
|
7
|
+
/** MIME type of the content body. */
|
|
8
|
+
readonly mimeType: string;
|
|
9
|
+
/** Text body of the resource. */
|
|
10
|
+
readonly text: string;
|
|
11
|
+
}[];
|
|
12
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/** A URI template describing an MCP resource the server serves. */
|
|
2
|
+
export interface McpResourceTemplate {
|
|
3
|
+
/** RFC 6570 URI template for the resource. */
|
|
4
|
+
readonly uriTemplate: string;
|
|
5
|
+
/** Human-readable resource name. */
|
|
6
|
+
readonly name: string;
|
|
7
|
+
/** Human-readable description of the resource. */
|
|
8
|
+
readonly description: string;
|
|
9
|
+
/** Optional MIME type for the resource content. */
|
|
10
|
+
readonly mimeType?: string;
|
|
11
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/** A JSON-RPC 2.0 response message sent from the MCP server. */
|
|
2
|
+
export interface McpResponse {
|
|
3
|
+
/** JSON-RPC protocol version. Must always be '2.0'. */
|
|
4
|
+
readonly jsonrpc: '2.0';
|
|
5
|
+
/** Echoes the request identifier. */
|
|
6
|
+
readonly id: number | string;
|
|
7
|
+
/** Successful result payload; absent when error is set. */
|
|
8
|
+
readonly result?: unknown;
|
|
9
|
+
/** Error payload; absent when result is set. */
|
|
10
|
+
readonly error?: {
|
|
11
|
+
/** Numeric error code as defined by JSON-RPC or MCP. */
|
|
12
|
+
readonly code: number;
|
|
13
|
+
/** Human-readable error message. */
|
|
14
|
+
readonly message: string;
|
|
15
|
+
/** Optional additional error data. */
|
|
16
|
+
readonly data?: unknown;
|
|
17
|
+
};
|
|
18
|
+
}
|