@dikolab/kbdb 0.3.1 → 0.4.0
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 +108 -126
- package/dist/chunk-BJPSPNGX.mjs +223 -0
- package/dist/chunk-BJPSPNGX.mjs.map +7 -0
- package/dist/cli.cjs +956 -319
- package/dist/cli.cjs.map +4 -4
- package/dist/cli.d.ts +9 -0
- package/dist/cli.mjs +840 -321
- package/dist/cli.mjs.map +4 -4
- package/dist/kbdb-worker.cjs +714 -94
- package/dist/kbdb-worker.cjs.map +4 -4
- package/dist/mod.cjs +122 -16
- package/dist/mod.cjs.map +3 -3
- package/dist/mod.d.ts +23 -2
- package/dist/mod.mjs +121 -16
- package/dist/mod.mjs.map +3 -3
- package/dist/src/shared/cli/functions/dispatch-command.function.d.ts +2 -1
- package/dist/src/shared/cli/functions/find-db.function.d.ts +7 -8
- package/dist/src/shared/cli/functions/handle-mcp.function.d.ts +1 -1
- package/dist/src/shared/cli/functions/parse-args.function.d.ts +4 -3
- package/dist/src/shared/cli/functions/resolve-kbid-prefix.function.d.ts +27 -0
- package/dist/src/shared/cli/functions/resolve-raw-db-path.function.d.ts +10 -0
- package/dist/src/shared/cli/functions/run-cli.function.d.ts +3 -1
- package/dist/src/shared/cli/functions/run-content.function.d.ts +8 -3
- package/dist/src/shared/cli/functions/run-import.function.d.ts +27 -0
- package/dist/src/shared/cli/functions/run-recall.function.d.ts +10 -4
- package/dist/src/shared/cli/functions/run-search.function.d.ts +7 -0
- package/dist/src/shared/cli/functions/run-unlearn.function.d.ts +9 -4
- package/dist/src/shared/cli/functions/run-worker-restart.function.d.ts +11 -0
- package/dist/src/shared/cli/functions/run-worker-stop.function.d.ts +11 -0
- package/dist/src/shared/cli/index.d.ts +2 -0
- package/dist/src/shared/cli/typings/cli-deps.interface.d.ts +4 -1
- package/dist/src/shared/cli/typings/cli-options.interface.d.ts +17 -0
- package/dist/src/shared/cli/typings/dispatch-client.type.d.ts +2 -1
- package/dist/src/shared/cli/typings/search-display.model.d.ts +6 -0
- package/dist/src/shared/embedding/classes/api-embedding-provider.class.d.ts +33 -0
- package/dist/src/shared/embedding/classes/onnx-embedding-provider.class.d.ts +33 -0
- package/dist/src/shared/embedding/functions/append-vector-entry.function.d.ts +14 -0
- package/dist/src/shared/embedding/functions/create-embedding-provider.function.d.ts +12 -0
- package/dist/src/shared/embedding/functions/detect-stale-vectors.function.d.ts +16 -0
- package/dist/src/shared/embedding/functions/parse-api-embedding-response.function.d.ts +11 -0
- package/dist/src/shared/embedding/functions/rebuild-vectors.function.d.ts +15 -0
- package/dist/src/shared/embedding/functions/scan-semantic-contradictions.function.d.ts +13 -0
- package/dist/src/shared/embedding/index.d.ts +7 -0
- package/dist/src/shared/embedding/typings/semantic-contradiction.model.d.ts +21 -0
- package/dist/src/shared/embedding/typings/stale-vectors-report.model.d.ts +16 -0
- package/dist/src/shared/mcp/classes/mcp-server.class.d.ts +22 -2
- package/dist/src/shared/mcp/functions/create-mcp-server.function.d.ts +6 -1
- package/dist/src/shared/mcp/functions/has-sampling-capability.function.d.ts +8 -0
- package/dist/src/shared/mcp/functions/run-auto-capture.function.d.ts +26 -0
- package/dist/src/shared/mcp/typings/mcp-client.interface.d.ts +2 -0
- package/dist/src/shared/mcp/typings/mcp-integrity-check-result.model.d.ts +24 -0
- package/dist/src/shared/mcp/typings/mcp-worker-client.interface.d.ts +3 -1
- package/dist/src/shared/version/constants/version.constant.d.ts +1 -1
- package/dist/src/shared/wasm-codec/typings/paged-search-result.model.d.ts +2 -0
- package/dist/src/shared/worker-client/classes/worker-client.class.d.ts +31 -1
- package/dist/src/shared/worker-client/constants/request-timeout.constant.d.ts +2 -0
- package/dist/src/shared/worker-client/constants/retry-defaults.constant.d.ts +2 -0
- package/dist/src/shared/worker-client/functions/get-or-create-client.function.d.ts +20 -0
- package/dist/src/shared/worker-client/functions/retry-on-timeout.function.d.ts +17 -0
- package/dist/src/shared/worker-client/index.d.ts +4 -1
- package/dist/src/shared/worker-client/typings/import-result.model.d.ts +16 -0
- package/dist/src/shared/worker-client/typings/integrity-check-result.model.d.ts +24 -0
- package/dist/src/shared/worker-client/typings/search-params.model.d.ts +4 -0
- package/dist/src/shared/worker-client/typings/search-result.model.d.ts +6 -0
- package/dist/src/shared/worker-client/typings/worker-client-options.interface.d.ts +7 -0
- package/dist/src/shared/worker-daemon/classes/worker-daemon.class.d.ts +5 -0
- package/dist/src/shared/worker-daemon/functions/create-ipc-server.function.d.ts +11 -11
- package/dist/src/shared/worker-daemon/functions/embed-after-learn.function.d.ts +13 -0
- package/dist/src/shared/worker-daemon/functions/handle-hybrid-search.function.d.ts +44 -0
- package/dist/src/shared/worker-daemon/functions/handle-import.function.d.ts +14 -0
- package/dist/src/shared/worker-daemon/functions/handle-read-ops.function.d.ts +7 -1
- package/dist/src/shared/worker-daemon/functions/handle-write-ops.function.d.ts +9 -4
- package/dist/src/shared/worker-daemon/typings/handler-context.interface.d.ts +3 -0
- package/dist/wasm/fs-database/kbdb_fs_database.d.ts +16 -85
- package/dist/wasm/fs-database/kbdb_fs_database.js +16 -85
- package/dist/wasm/fs-database/kbdb_fs_database_bg.wasm +0 -0
- package/dist/wasm/kb-worker/kbdb_worker.d.ts +20 -115
- package/dist/wasm/kb-worker/kbdb_worker.js +20 -115
- package/dist/wasm/kb-worker/kbdb_worker_bg.wasm +0 -0
- package/dist/wasm/query-parser/kbdb_query_parser_bg.wasm +0 -0
- package/dist/worker.d.ts +8 -0
- package/dist/worker.mjs +606 -102
- package/dist/worker.mjs.map +4 -4
- package/docs/details/README.md +4 -0
- package/docs/details/agent-tooling.md +122 -0
- package/docs/details/cli.md +78 -12
- package/docs/details/knowledge-base.md +173 -0
- package/docs/details/library-api.md +42 -2
- package/docs/details/mcp-server.md +39 -8
- package/docs/details/search-and-ranking.md +56 -0
- package/docs/goals/cli.md +110 -34
- package/docs/goals/mcp.md +22 -19
- package/docs/goals/query-parser.md +8 -0
- package/docs/goals/worker-client.md +62 -1
- package/docs/goals/worker-daemon.md +52 -10
- package/docs/modules/typescript/cli.md +1 -1
- package/docs/modules/typescript/shared/cli/functions.md +116 -13
- package/docs/modules/typescript/shared/cli/module.md +33 -20
- package/docs/modules/typescript/shared/cli/typings.md +4 -0
- package/docs/modules/typescript/shared/embedding/functions.md +104 -25
- package/docs/modules/typescript/shared/mcp/module.md +1 -1
- package/docs/modules/typescript/shared/mcp/typings.md +8 -1
- package/docs/modules/typescript/shared/worker-client/module.md +9 -1
- package/docs/modules/typescript/shared/worker-client/typings.md +3 -0
- package/docs/modules/typescript/shared/worker-daemon/module.md +6 -3
- package/docs/overview.md +43 -22
- package/docs/release-notes/0.3.1.md +10 -0
- package/docs/release-notes/0.3.2.md +64 -0
- package/docs/release-notes/0.4.0.md +80 -0
- package/docs/release-notes/README.md +2 -0
- package/mod.ts +33 -15
- package/package.json +11 -10
- package/dist/chunk-JG2UCKLI.mjs +0 -95
- package/dist/chunk-JG2UCKLI.mjs.map +0 -7
- package/src/cli.ts +0 -71
- package/src/shared/auto-capture/classes/auto-capture-controller.class.ts +0 -62
- package/src/shared/auto-capture/constants/auto-capture-defaults.constant.ts +0 -15
- package/src/shared/auto-capture/functions/build-capture-prompt.function.ts +0 -27
- package/src/shared/auto-capture/functions/evaluate-trigger.function.ts +0 -50
- package/src/shared/auto-capture/index.ts +0 -7
- package/src/shared/auto-capture/typings/auto-capture-config.interface.ts +0 -13
- package/src/shared/auto-capture/typings/auto-capture-state.interface.ts +0 -13
- package/src/shared/auto-capture/typings/auto-capture-trigger.interface.ts +0 -7
- package/src/shared/cli/constants/defaults.constant.ts +0 -19
- package/src/shared/cli/constants/global-help.constant.ts +0 -73
- package/src/shared/cli/constants/help-text.constant.ts +0 -4
- package/src/shared/cli/constants/leaf-help.constant.ts +0 -219
- package/src/shared/cli/constants/memory-protocol-body.constant.ts +0 -39
- package/src/shared/cli/constants/query-guidance-body.constant.ts +0 -37
- package/src/shared/cli/constants/subcommand-help.constant.ts +0 -195
- package/src/shared/cli/functions/collect-files.function.ts +0 -55
- package/src/shared/cli/functions/compute-section-kbid.function.ts +0 -49
- package/src/shared/cli/functions/dispatch-command.function.ts +0 -390
- package/src/shared/cli/functions/ensure-db.function.ts +0 -21
- package/src/shared/cli/functions/error-to-message.function.ts +0 -9
- package/src/shared/cli/functions/find-db.function.ts +0 -20
- package/src/shared/cli/functions/format-mcp-output.function.ts +0 -41
- package/src/shared/cli/functions/format-output.function.ts +0 -95
- package/src/shared/cli/functions/format-text-output.function.ts +0 -42
- package/src/shared/cli/functions/generate-group-help.function.ts +0 -41
- package/src/shared/cli/functions/generate-help.function.ts +0 -654
- package/src/shared/cli/functions/handle-data-command.function.ts +0 -67
- package/src/shared/cli/functions/handle-mcp.function.ts +0 -56
- package/src/shared/cli/functions/handle-migrate.function.ts +0 -64
- package/src/shared/cli/functions/hydrate-search-previews.function.ts +0 -29
- package/src/shared/cli/functions/install-default-skills.function.ts +0 -296
- package/src/shared/cli/functions/is-stdin-tty.function.ts +0 -12
- package/src/shared/cli/functions/parse-args.function.ts +0 -156
- package/src/shared/cli/functions/prompt-user.function.ts +0 -36
- package/src/shared/cli/functions/resolve-skill-names.function.ts +0 -43
- package/src/shared/cli/functions/run-agent-create.function.ts +0 -114
- package/src/shared/cli/functions/run-agent-delete.function.ts +0 -47
- package/src/shared/cli/functions/run-agent-get.function.ts +0 -166
- package/src/shared/cli/functions/run-agent-list.function.ts +0 -58
- package/src/shared/cli/functions/run-check.function.ts +0 -159
- package/src/shared/cli/functions/run-cli.function.ts +0 -299
- package/src/shared/cli/functions/run-content.function.ts +0 -47
- package/src/shared/cli/functions/run-db-init.function.ts +0 -44
- package/src/shared/cli/functions/run-db-migrate.function.ts +0 -40
- package/src/shared/cli/functions/run-export.function.ts +0 -40
- package/src/shared/cli/functions/run-gc.function.ts +0 -51
- package/src/shared/cli/functions/run-init.function.ts +0 -93
- package/src/shared/cli/functions/run-learn.function.ts +0 -223
- package/src/shared/cli/functions/run-migrate.function.ts +0 -85
- package/src/shared/cli/functions/run-rebuild.function.ts +0 -47
- package/src/shared/cli/functions/run-recall.function.ts +0 -66
- package/src/shared/cli/functions/run-search.function.ts +0 -133
- package/src/shared/cli/functions/run-skill-delete.function.ts +0 -47
- package/src/shared/cli/functions/run-skill-get.function.ts +0 -90
- package/src/shared/cli/functions/run-skill-learn.function.ts +0 -70
- package/src/shared/cli/functions/run-skill-list.function.ts +0 -74
- package/src/shared/cli/functions/run-status.function.ts +0 -29
- package/src/shared/cli/functions/run-unlearn.function.ts +0 -58
- package/src/shared/cli/functions/version-gate.function.ts +0 -44
- package/src/shared/cli/functions/wrap-command.function.ts +0 -34
- package/src/shared/cli/index.ts +0 -55
- package/src/shared/cli/typings/agent-create-client.interface.ts +0 -47
- package/src/shared/cli/typings/agent-get-client.interface.ts +0 -39
- package/src/shared/cli/typings/check-client.interface.ts +0 -66
- package/src/shared/cli/typings/cli-deps.interface.ts +0 -54
- package/src/shared/cli/typings/cli-options.interface.ts +0 -72
- package/src/shared/cli/typings/command-result.model.ts +0 -15
- package/src/shared/cli/typings/disconnectable-client.interface.ts +0 -29
- package/src/shared/cli/typings/dispatch-client.type.ts +0 -46
- package/src/shared/cli/typings/learn-client.interface.ts +0 -53
- package/src/shared/cli/typings/learn-io.interface.ts +0 -5
- package/src/shared/cli/typings/learn-result.model.ts +0 -27
- package/src/shared/cli/typings/search-client.interface.ts +0 -73
- package/src/shared/cli/typings/search-display.model.ts +0 -54
- package/src/shared/dir-resolver/functions/join-path.function.ts +0 -13
- package/src/shared/dir-resolver/functions/resolve-base-dir.function.ts +0 -25
- package/src/shared/dir-resolver/functions/resolve-wasm-dir.function.ts +0 -5
- package/src/shared/dir-resolver/functions/resolve-worker-script.function.ts +0 -13
- package/src/shared/dir-resolver/index.ts +0 -11
- package/src/shared/dir-resolver/typings/base-dir.interface.ts +0 -4
- package/src/shared/embedding/classes/null-embedding-provider.class.ts +0 -29
- package/src/shared/embedding/constants/near-duplicate-thresholds.constant.ts +0 -17
- package/src/shared/embedding/functions/build-vector-index.function.ts +0 -79
- package/src/shared/embedding/functions/cosine-similarity.function.ts +0 -31
- package/src/shared/embedding/functions/detect-near-duplicates.function.ts +0 -69
- package/src/shared/embedding/functions/jaccard-coefficient.function.ts +0 -26
- package/src/shared/embedding/functions/read-vector-index-meta.function.ts +0 -44
- package/src/shared/embedding/functions/rrf-fuse.function.ts +0 -33
- package/src/shared/embedding/functions/search-vectors.function.ts +0 -59
- package/src/shared/embedding/index.ts +0 -20
- package/src/shared/embedding/typings/embedding-config.interface.ts +0 -23
- package/src/shared/embedding/typings/embedding-provider.interface.ts +0 -25
- package/src/shared/embedding/typings/near-duplicate-candidate.model.ts +0 -25
- package/src/shared/embedding/typings/near-duplicate-result.model.ts +0 -26
- package/src/shared/embedding/typings/vector-index-entry.model.ts +0 -13
- package/src/shared/embedding/typings/vector-index-meta.model.ts +0 -14
- package/src/shared/embedding/typings/vector-search-result.model.ts +0 -8
- package/src/shared/hash/functions/compute-sha256.ts +0 -17
- package/src/shared/hash/index.ts +0 -1
- package/src/shared/mcp/classes/mcp-server.class.ts +0 -480
- package/src/shared/mcp/constants/mcp-error-codes.constant.ts +0 -30
- package/src/shared/mcp/constants/tool-agent-create.constant.ts +0 -39
- package/src/shared/mcp/constants/tool-agent-delete.constant.ts +0 -26
- package/src/shared/mcp/constants/tool-agent-get.constant.ts +0 -24
- package/src/shared/mcp/constants/tool-agent-list.constant.ts +0 -18
- package/src/shared/mcp/constants/tool-auto-capture-review.constant.ts +0 -32
- package/src/shared/mcp/constants/tool-check.constant.ts +0 -21
- package/src/shared/mcp/constants/tool-content.constant.ts +0 -29
- package/src/shared/mcp/constants/tool-export.constant.ts +0 -27
- package/src/shared/mcp/constants/tool-gc.constant.ts +0 -21
- package/src/shared/mcp/constants/tool-learn.constant.ts +0 -58
- package/src/shared/mcp/constants/tool-rebuild.constant.ts +0 -21
- package/src/shared/mcp/constants/tool-recall.constant.ts +0 -36
- package/src/shared/mcp/constants/tool-retrieve.constant.ts +0 -31
- package/src/shared/mcp/constants/tool-search.constant.ts +0 -51
- package/src/shared/mcp/constants/tool-skill-delete.constant.ts +0 -24
- package/src/shared/mcp/constants/tool-skill-get.constant.ts +0 -27
- package/src/shared/mcp/constants/tool-skill-learn.constant.ts +0 -37
- package/src/shared/mcp/constants/tool-skill-list.constant.ts +0 -18
- package/src/shared/mcp/constants/tool-status.constant.ts +0 -20
- package/src/shared/mcp/constants/tool-unlearn.constant.ts +0 -25
- package/src/shared/mcp/functions/as-boolean-or-undefined.function.ts +0 -11
- package/src/shared/mcp/functions/as-string-array-or-undefined.function.ts +0 -17
- package/src/shared/mcp/functions/as-string-array.function.ts +0 -15
- package/src/shared/mcp/functions/as-string.function.ts +0 -10
- package/src/shared/mcp/functions/build-skills-text.function.ts +0 -43
- package/src/shared/mcp/functions/create-mcp-server.function.ts +0 -14
- package/src/shared/mcp/functions/create-prompt-definitions.function.ts +0 -102
- package/src/shared/mcp/functions/create-resource-templates.function.ts +0 -23
- package/src/shared/mcp/functions/create-tool-definitions.function.ts +0 -530
- package/src/shared/mcp/functions/extract-skill-arguments.function.ts +0 -27
- package/src/shared/mcp/functions/handle-agent-create.function.ts +0 -116
- package/src/shared/mcp/functions/handle-agent-delete.function.ts +0 -50
- package/src/shared/mcp/functions/handle-agent-get.function.ts +0 -160
- package/src/shared/mcp/functions/handle-agent-list.function.ts +0 -50
- package/src/shared/mcp/functions/handle-agent-prompt.function.ts +0 -68
- package/src/shared/mcp/functions/handle-completion.function.ts +0 -114
- package/src/shared/mcp/functions/handle-mcp-request.function.ts +0 -202
- package/src/shared/mcp/functions/handle-prompt-get.function.ts +0 -220
- package/src/shared/mcp/functions/handle-recall.function.ts +0 -66
- package/src/shared/mcp/functions/handle-resource-read.function.ts +0 -56
- package/src/shared/mcp/functions/handle-roots-list.function.ts +0 -29
- package/src/shared/mcp/functions/handle-skill-prompt.function.ts +0 -44
- package/src/shared/mcp/functions/handle-tool-auto-capture-review.function.ts +0 -24
- package/src/shared/mcp/functions/handle-tool-call.function.ts +0 -560
- package/src/shared/mcp/functions/handle-tool-check.function.ts +0 -21
- package/src/shared/mcp/functions/handle-tool-content.function.ts +0 -23
- package/src/shared/mcp/functions/handle-tool-export.function.ts +0 -25
- package/src/shared/mcp/functions/handle-tool-gc.function.ts +0 -21
- package/src/shared/mcp/functions/handle-tool-learn.function.ts +0 -69
- package/src/shared/mcp/functions/handle-tool-rebuild.function.ts +0 -21
- package/src/shared/mcp/functions/handle-tool-retrieve.function.ts +0 -40
- package/src/shared/mcp/functions/handle-tool-search.function.ts +0 -47
- package/src/shared/mcp/functions/handle-tool-skill-delete.function.ts +0 -34
- package/src/shared/mcp/functions/handle-tool-skill-get.function.ts +0 -59
- package/src/shared/mcp/functions/handle-tool-skill-learn.function.ts +0 -61
- package/src/shared/mcp/functions/handle-tool-skill-list.function.ts +0 -39
- package/src/shared/mcp/functions/handle-tool-status.function.ts +0 -21
- package/src/shared/mcp/functions/handle-tool-unlearn.function.ts +0 -24
- package/src/shared/mcp/functions/parse-agent-meta.function.ts +0 -27
- package/src/shared/mcp/functions/parse-skill-arguments.function.ts +0 -36
- package/src/shared/mcp/functions/parse-skill-content.function.ts +0 -38
- package/src/shared/mcp/functions/read-agent-meta.function.ts +0 -41
- package/src/shared/mcp/functions/resolve-skill-refs.function.ts +0 -50
- package/src/shared/mcp/functions/run-startup-health-check.function.ts +0 -34
- package/src/shared/mcp/functions/serialize-skill-content.function.ts +0 -12
- package/src/shared/mcp/functions/should-emit-log.function.ts +0 -38
- package/src/shared/mcp/index.ts +0 -28
- package/src/shared/mcp/typings/agent-types.interface.ts +0 -39
- package/src/shared/mcp/typings/log-types.interface.ts +0 -26
- package/src/shared/mcp/typings/mcp-capabilities.interface.ts +0 -16
- package/src/shared/mcp/typings/mcp-client.interface.ts +0 -317
- package/src/shared/mcp/typings/mcp-completion.interface.ts +0 -45
- package/src/shared/mcp/typings/mcp-content-result.model.ts +0 -9
- package/src/shared/mcp/typings/mcp-export-result.model.ts +0 -11
- package/src/shared/mcp/typings/mcp-gc-result.model.ts +0 -15
- package/src/shared/mcp/typings/mcp-integrity-check-result.model.ts +0 -17
- package/src/shared/mcp/typings/mcp-integrity-error.model.ts +0 -15
- package/src/shared/mcp/typings/mcp-notification.interface.ts +0 -9
- package/src/shared/mcp/typings/mcp-rebuild-result.model.ts +0 -9
- package/src/shared/mcp/typings/mcp-request.interface.ts +0 -11
- package/src/shared/mcp/typings/mcp-resource-result.interface.ts +0 -12
- package/src/shared/mcp/typings/mcp-resource-template.interface.ts +0 -11
- package/src/shared/mcp/typings/mcp-response.interface.ts +0 -18
- package/src/shared/mcp/typings/mcp-server-info.interface.ts +0 -7
- package/src/shared/mcp/typings/mcp-server-state.interface.ts +0 -17
- package/src/shared/mcp/typings/mcp-tool-annotations.interface.ts +0 -32
- package/src/shared/mcp/typings/mcp-tool-definition.interface.ts +0 -16
- package/src/shared/mcp/typings/mcp-tool-result.interface.ts +0 -19
- package/src/shared/mcp/typings/mcp-types.interface.ts +0 -158
- package/src/shared/mcp/typings/mcp-worker-client.interface.ts +0 -243
- package/src/shared/mcp/typings/prompt-types.interface.ts +0 -39
- package/src/shared/mcp/typings/remove-section-result.model.ts +0 -10
- package/src/shared/mcp/typings/sampling-types.interface.ts +0 -48
- package/src/shared/mcp/typings/skill-types.interface.ts +0 -29
- package/src/shared/mcp/typings/tool-call-result.model.ts +0 -18
- package/src/shared/mod.ts +0 -1
- package/src/shared/platform/functions/get-ipc-path.function.ts +0 -19
- package/src/shared/platform/functions/get-tmpdir.function.ts +0 -8
- package/src/shared/platform/functions/is-process-alive.function.ts +0 -17
- package/src/shared/platform/index.ts +0 -3
- package/src/shared/runtime/functions/detect-runtime.ts +0 -14
- package/src/shared/runtime/functions/get-args.ts +0 -16
- package/src/shared/runtime/index.ts +0 -3
- package/src/shared/runtime/typings/runtime.ts +0 -2
- package/src/shared/sync/functions/build-import-report.function.ts +0 -40
- package/src/shared/sync/functions/parse-export-entry.function.ts +0 -45
- package/src/shared/sync/functions/resolve-conflict.function.ts +0 -31
- package/src/shared/sync/functions/serialize-export-entry.function.ts +0 -18
- package/src/shared/sync/index.ts +0 -9
- package/src/shared/sync/typings/conflict-resolution.type.ts +0 -8
- package/src/shared/sync/typings/export-entry.interface.ts +0 -13
- package/src/shared/sync/typings/export-options.interface.ts +0 -9
- package/src/shared/sync/typings/import-options.interface.ts +0 -7
- package/src/shared/sync/typings/import-report.interface.ts +0 -15
- package/src/shared/version/constants/version.constant.ts +0 -2
- package/src/shared/version/index.ts +0 -1
- package/src/shared/wasm-codec/functions/decode-add-section-result.function.ts +0 -112
- package/src/shared/wasm-codec/functions/decode-compose-output.function.ts +0 -16
- package/src/shared/wasm-codec/functions/decode-document-manifest-list.function.ts +0 -70
- package/src/shared/wasm-codec/functions/decode-document-manifest.function.ts +0 -87
- package/src/shared/wasm-codec/functions/decode-f32.function.ts +0 -16
- package/src/shared/wasm-codec/functions/decode-key-value-text.function.ts +0 -15
- package/src/shared/wasm-codec/functions/decode-one-recall-result.function.ts +0 -86
- package/src/shared/wasm-codec/functions/decode-option-string.function.ts +0 -24
- package/src/shared/wasm-codec/functions/decode-recall-document.function.ts +0 -59
- package/src/shared/wasm-codec/functions/decode-recall-reference.function.ts +0 -52
- package/src/shared/wasm-codec/functions/decode-recall-result.function.ts +0 -267
- package/src/shared/wasm-codec/functions/decode-recall-sibling.function.ts +0 -43
- package/src/shared/wasm-codec/functions/decode-remove-flag.function.ts +0 -3
- package/src/shared/wasm-codec/functions/decode-scored-results.function.ts +0 -194
- package/src/shared/wasm-codec/functions/decode-section-match.function.ts +0 -80
- package/src/shared/wasm-codec/functions/decode-section-record-list.function.ts +0 -20
- package/src/shared/wasm-codec/functions/decode-section-record-trailing.function.ts +0 -75
- package/src/shared/wasm-codec/functions/decode-section-record.function.ts +0 -85
- package/src/shared/wasm-codec/functions/decode-section-records.function.ts +0 -249
- package/src/shared/wasm-codec/functions/decode-section-type.function.ts +0 -30
- package/src/shared/wasm-codec/functions/decode-string.function.ts +0 -22
- package/src/shared/wasm-codec/functions/decode-u32.function.ts +0 -16
- package/src/shared/wasm-codec/functions/decode-u64.function.ts +0 -16
- package/src/shared/wasm-codec/functions/decode-wasm-list.function.ts +0 -31
- package/src/shared/wasm-codec/functions/encode-add-section-params.function.ts +0 -102
- package/src/shared/wasm-codec/functions/encode-group-params.function.ts +0 -28
- package/src/shared/wasm-codec/functions/encode-identifier-list.function.ts +0 -17
- package/src/shared/wasm-codec/functions/encode-kbid-list.function.ts +0 -17
- package/src/shared/wasm-codec/functions/encode-option-string.function.ts +0 -14
- package/src/shared/wasm-codec/functions/encode-recall-params.function.ts +0 -68
- package/src/shared/wasm-codec/functions/encode-search-params.function.ts +0 -12
- package/src/shared/wasm-codec/functions/encode-section-type.function.ts +0 -18
- package/src/shared/wasm-codec/functions/encode-string.function.ts +0 -9
- package/src/shared/wasm-codec/functions/encode-type-filter-param.function.ts +0 -13
- package/src/shared/wasm-codec/functions/encode-u32.function.ts +0 -5
- package/src/shared/wasm-codec/functions/encode-update-section-params.function.ts +0 -16
- package/src/shared/wasm-codec/index.ts +0 -49
- package/src/shared/wasm-codec/typings/add-section-input.model.ts +0 -45
- package/src/shared/wasm-codec/typings/add-section-result.model.ts +0 -28
- package/src/shared/wasm-codec/typings/document-manifest.model.ts +0 -20
- package/src/shared/wasm-codec/typings/document-section.model.ts +0 -12
- package/src/shared/wasm-codec/typings/item-decoder.type.ts +0 -10
- package/src/shared/wasm-codec/typings/near-duplicate.model.ts +0 -16
- package/src/shared/wasm-codec/typings/paged-search-result.model.ts +0 -22
- package/src/shared/wasm-codec/typings/section-match.model.ts +0 -31
- package/src/shared/wasm-codec/typings/section-record-trailing.model.ts +0 -38
- package/src/shared/wasm-codec/typings/section-record.model.ts +0 -66
- package/src/shared/wasm-codec/typings/section-type-result.model.ts +0 -12
- package/src/shared/worker-client/classes/worker-client.class.ts +0 -466
- package/src/shared/worker-client/functions/compute-context-id.function.ts +0 -18
- package/src/shared/worker-client/functions/create-worker-client.function.ts +0 -70
- package/src/shared/worker-client/functions/discover-daemon.function.ts +0 -47
- package/src/shared/worker-client/functions/handle-ipc-data.function.ts +0 -49
- package/src/shared/worker-client/functions/resolve-db-path.function.ts +0 -21
- package/src/shared/worker-client/functions/send-ipc-request.function.ts +0 -39
- package/src/shared/worker-client/functions/spawn-daemon.function.ts +0 -35
- package/src/shared/worker-client/functions/wait-for-daemon.function.ts +0 -34
- package/src/shared/worker-client/index.ts +0 -44
- package/src/shared/worker-client/typings/add-section-result.model.ts +0 -39
- package/src/shared/worker-client/typings/content-result.model.ts +0 -12
- package/src/shared/worker-client/typings/daemon-info.model.ts +0 -7
- package/src/shared/worker-client/typings/export-result.model.ts +0 -14
- package/src/shared/worker-client/typings/gc-result.model.ts +0 -18
- package/src/shared/worker-client/typings/integrity-check-result.model.ts +0 -43
- package/src/shared/worker-client/typings/json-rpc-response.interface.ts +0 -17
- package/src/shared/worker-client/typings/migrate-result.model.ts +0 -11
- package/src/shared/worker-client/typings/pending-call.interface.ts +0 -7
- package/src/shared/worker-client/typings/rebuild-result.model.ts +0 -12
- package/src/shared/worker-client/typings/recall-document.model.ts +0 -16
- package/src/shared/worker-client/typings/recall-params.model.ts +0 -15
- package/src/shared/worker-client/typings/recall-reference.model.ts +0 -32
- package/src/shared/worker-client/typings/recall-result.model.ts +0 -98
- package/src/shared/worker-client/typings/recall-sibling.model.ts +0 -11
- package/src/shared/worker-client/typings/recall-single-result.model.ts +0 -41
- package/src/shared/worker-client/typings/remove-section-result.model.ts +0 -7
- package/src/shared/worker-client/typings/search-params.model.ts +0 -14
- package/src/shared/worker-client/typings/search-result.model.ts +0 -43
- package/src/shared/worker-client/typings/section.model.ts +0 -43
- package/src/shared/worker-client/typings/status-result.model.ts +0 -14
- package/src/shared/worker-client/typings/version-status.model.ts +0 -28
- package/src/shared/worker-client/typings/worker-client-error.interface.ts +0 -8
- package/src/shared/worker-client/typings/worker-client-options.interface.ts +0 -30
- package/src/shared/worker-daemon/classes/ipc-error.class.ts +0 -22
- package/src/shared/worker-daemon/classes/worker-daemon.class.ts +0 -1291
- package/src/shared/worker-daemon/constants/daemon-defaults.constant.ts +0 -29
- package/src/shared/worker-daemon/constants/wasm-method-map.constant.ts +0 -69
- package/src/shared/worker-daemon/functions/build-ipc-error-response.function.ts +0 -16
- package/src/shared/worker-daemon/functions/check-catalog-version.function.ts +0 -54
- package/src/shared/worker-daemon/functions/check-preconditions.function.ts +0 -28
- package/src/shared/worker-daemon/functions/create-host-imports.function.ts +0 -328
- package/src/shared/worker-daemon/functions/create-ipc-server.function.ts +0 -87
- package/src/shared/worker-daemon/functions/detect-stale-pid.function.ts +0 -33
- package/src/shared/worker-daemon/functions/dispatch-request.function.ts +0 -190
- package/src/shared/worker-daemon/functions/handle-check-version.function.ts +0 -74
- package/src/shared/worker-daemon/functions/handle-config-method.function.ts +0 -27
- package/src/shared/worker-daemon/functions/handle-read-ops.function.ts +0 -236
- package/src/shared/worker-daemon/functions/handle-write-ops.function.ts +0 -257
- package/src/shared/worker-daemon/functions/load-wasm-modules.function.ts +0 -95
- package/src/shared/worker-daemon/functions/parse-auto-capture-section.function.ts +0 -51
- package/src/shared/worker-daemon/functions/parse-catalog-version.function.ts +0 -20
- package/src/shared/worker-daemon/functions/parse-embedding-section.function.ts +0 -38
- package/src/shared/worker-daemon/functions/parse-worker-toml.function.ts +0 -104
- package/src/shared/worker-daemon/functions/read-config.function.ts +0 -83
- package/src/shared/worker-daemon/functions/run-startup-integrity-check.function.ts +0 -55
- package/src/shared/worker-daemon/functions/run-worker.function.ts +0 -57
- package/src/shared/worker-daemon/functions/scan-near-duplicates.function.ts +0 -92
- package/src/shared/worker-daemon/functions/start-daemon.function.ts +0 -74
- package/src/shared/worker-daemon/functions/wasm-bridge.function.ts +0 -144
- package/src/shared/worker-daemon/functions/wasm-memory-helpers.function.ts +0 -41
- package/src/shared/worker-daemon/functions/write-lock.function.ts +0 -49
- package/src/shared/worker-daemon/index.ts +0 -16
- package/src/shared/worker-daemon/typings/allocator-ref.interface.ts +0 -16
- package/src/shared/worker-daemon/typings/daemon-config.interface.ts +0 -20
- package/src/shared/worker-daemon/typings/fs-adapter.interface.ts +0 -22
- package/src/shared/worker-daemon/typings/handler-context.interface.ts +0 -19
- package/src/shared/worker-daemon/typings/ipc-handler.interface.ts +0 -39
- package/src/shared/worker-daemon/typings/memory-ref.interface.ts +0 -13
- package/src/shared/worker-daemon/typings/wasm-fn.type.ts +0 -2
- package/src/shared/worker-daemon/typings/wasm-modules.interface.ts +0 -7
- package/src/shared/worker-daemon/typings/write-lock.interface.ts +0 -13
- package/src/wasm/fs-database/kbdb_fs_database.d.ts +0 -259
- package/src/wasm/fs-database/kbdb_fs_database.js +0 -515
- package/src/wasm/fs-database/kbdb_fs_database_bg.wasm +0 -0
- package/src/wasm/fs-database/kbdb_fs_database_bg.wasm.d.ts +0 -35
- package/src/wasm/fs-database/package.json +0 -13
- package/src/wasm/kb-worker/kbdb_worker.d.ts +0 -650
- package/src/wasm/kb-worker/kbdb_worker.js +0 -1181
- package/src/wasm/kb-worker/kbdb_worker_bg.wasm +0 -0
- package/src/wasm/kb-worker/kbdb_worker_bg.wasm.d.ts +0 -77
- package/src/wasm/kb-worker/package.json +0 -13
- package/src/wasm/query-parser/kbdb_query_parser.d.ts +0 -195
- package/src/wasm/query-parser/kbdb_query_parser.js +0 -403
- package/src/wasm/query-parser/kbdb_query_parser_bg.wasm +0 -0
- package/src/wasm/query-parser/kbdb_query_parser_bg.wasm.d.ts +0 -25
- package/src/wasm/query-parser/package.json +0 -13
- package/src/worker.ts +0 -42
|
@@ -1,220 +0,0 @@
|
|
|
1
|
-
import type { McpWorkerClient } from '../typings/mcp-client.interface.ts';
|
|
2
|
-
import type { McpPromptMessage } from '../typings/prompt-types.interface.ts';
|
|
3
|
-
|
|
4
|
-
/** Parsed shape of an agent metadata section. */
|
|
5
|
-
interface AgentMeta {
|
|
6
|
-
/** Agent persona text. */
|
|
7
|
-
readonly persona: string;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
/** Minimal section shape returned by readSections. */
|
|
11
|
-
interface ReadSection {
|
|
12
|
-
/** Knowledge-base identifier. */
|
|
13
|
-
readonly kbid: string;
|
|
14
|
-
/** Raw text content. */
|
|
15
|
-
readonly content: string;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
/** Minimal agent document shape from listDocumentsByType. */
|
|
19
|
-
interface AgentDocument {
|
|
20
|
-
/** Document title. */
|
|
21
|
-
readonly title: string;
|
|
22
|
-
/** Ordered section references. */
|
|
23
|
-
readonly sections: readonly {
|
|
24
|
-
readonly kbid: string;
|
|
25
|
-
readonly position: number;
|
|
26
|
-
}[];
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
/**
|
|
30
|
-
* Parses agent metadata from a raw JSON content string.
|
|
31
|
-
*
|
|
32
|
-
* Returns default values when parsing fails or required fields are
|
|
33
|
-
* absent.
|
|
34
|
-
*/
|
|
35
|
-
function parseAgentMeta(content: string): AgentMeta {
|
|
36
|
-
try {
|
|
37
|
-
const parsed = JSON.parse(content) as Record<string, unknown>;
|
|
38
|
-
return {
|
|
39
|
-
persona:
|
|
40
|
-
typeof parsed['persona'] === 'string'
|
|
41
|
-
? parsed['persona']
|
|
42
|
-
: '',
|
|
43
|
-
};
|
|
44
|
-
} catch {
|
|
45
|
-
return { persona: '' };
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
/**
|
|
50
|
-
* Builds the skills listing user message text from an array of
|
|
51
|
-
* skill section content strings. Sections whose JSON is not parseable
|
|
52
|
-
* or whose name cannot be determined are omitted silently.
|
|
53
|
-
*
|
|
54
|
-
* Returns `null` when no valid skills remain after filtering.
|
|
55
|
-
*/
|
|
56
|
-
function buildSkillsText(skillSections: ReadSection[]): string | null {
|
|
57
|
-
const lines: string[] = [];
|
|
58
|
-
for (const sec of skillSections) {
|
|
59
|
-
try {
|
|
60
|
-
const parsed = JSON.parse(sec.content) as Record<
|
|
61
|
-
string,
|
|
62
|
-
unknown
|
|
63
|
-
>;
|
|
64
|
-
const name =
|
|
65
|
-
typeof parsed['name'] === 'string' ? parsed['name'] : null;
|
|
66
|
-
if (name === null) {
|
|
67
|
-
continue;
|
|
68
|
-
}
|
|
69
|
-
const description =
|
|
70
|
-
typeof parsed['description'] === 'string'
|
|
71
|
-
? parsed['description']
|
|
72
|
-
: '';
|
|
73
|
-
lines.push(`- ${name}: ${description}`);
|
|
74
|
-
} catch {
|
|
75
|
-
// skip unparseable sections
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
if (lines.length === 0) {
|
|
79
|
-
return null;
|
|
80
|
-
}
|
|
81
|
-
return `Available skills:\n${lines.join('\n')}`;
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
/**
|
|
85
|
-
* Handles an MCP `prompts/get` request for an agent prompt.
|
|
86
|
-
*
|
|
87
|
-
* Looks up the agent by title via `listDocumentsByType('agent')`,
|
|
88
|
-
* extracts its persona from the metadata section, then reads all
|
|
89
|
-
* skill sections and composes the response. Returns an assistant
|
|
90
|
-
* message with the persona and, when skills exist, a user message
|
|
91
|
-
* listing them.
|
|
92
|
-
*/
|
|
93
|
-
async function handleAgentPrompt(
|
|
94
|
-
name: string,
|
|
95
|
-
client: McpWorkerClient,
|
|
96
|
-
): Promise<McpPromptMessage[]> {
|
|
97
|
-
const agentName = name.slice(6);
|
|
98
|
-
const agents = await client.listDocumentsByType('agent');
|
|
99
|
-
const doc = agents.find((a) => a.title === agentName) as
|
|
100
|
-
| AgentDocument
|
|
101
|
-
| undefined;
|
|
102
|
-
if (!doc) {
|
|
103
|
-
throw new Error('agent not found: ' + agentName);
|
|
104
|
-
}
|
|
105
|
-
const sections = doc.sections;
|
|
106
|
-
|
|
107
|
-
const metaSection = sections.at(0);
|
|
108
|
-
const skillRefs = sections.slice(1);
|
|
109
|
-
|
|
110
|
-
let persona = '';
|
|
111
|
-
if (metaSection !== undefined) {
|
|
112
|
-
const metaSections = await client.readSections([
|
|
113
|
-
metaSection.kbid,
|
|
114
|
-
]);
|
|
115
|
-
const metaContent = metaSections.at(0);
|
|
116
|
-
if (metaContent !== undefined) {
|
|
117
|
-
persona = parseAgentMeta(metaContent.content).persona;
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
const messages: McpPromptMessage[] = [
|
|
122
|
-
{
|
|
123
|
-
role: 'assistant',
|
|
124
|
-
content: { type: 'text', text: persona },
|
|
125
|
-
},
|
|
126
|
-
];
|
|
127
|
-
|
|
128
|
-
if (skillRefs.length === 0) {
|
|
129
|
-
return messages;
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
const skillKbids = skillRefs.map((s) => s.kbid);
|
|
133
|
-
const skillSections = await client.readSections(skillKbids);
|
|
134
|
-
const skillsText = buildSkillsText(skillSections);
|
|
135
|
-
|
|
136
|
-
if (skillsText !== null) {
|
|
137
|
-
messages.push({
|
|
138
|
-
role: 'user',
|
|
139
|
-
content: { type: 'text', text: skillsText },
|
|
140
|
-
});
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
return messages;
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
/**
|
|
147
|
-
* Handles an MCP `prompts/get` request for a skill prompt.
|
|
148
|
-
*
|
|
149
|
-
* Looks up the skill by name in the `listByType('skill')` results,
|
|
150
|
-
* picks the most recent match (last occurrence), parses its body,
|
|
151
|
-
* and substitutes `{{argName}}` placeholders from `promptArgs`.
|
|
152
|
-
* Unresolved placeholders are left as-is.
|
|
153
|
-
*
|
|
154
|
-
* @throws {Error} when no skill with the given name is found
|
|
155
|
-
*/
|
|
156
|
-
async function handleSkillPrompt(
|
|
157
|
-
name: string,
|
|
158
|
-
promptArgs: Record<string, string>,
|
|
159
|
-
client: McpWorkerClient,
|
|
160
|
-
): Promise<McpPromptMessage[]> {
|
|
161
|
-
const sections = await client.listByType('skill');
|
|
162
|
-
let matchContent: string | undefined;
|
|
163
|
-
for (const sec of sections) {
|
|
164
|
-
if (sec.title === name) {
|
|
165
|
-
matchContent = sec.content;
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
if (matchContent === undefined) {
|
|
169
|
-
throw new Error(`Prompt not found: ${name}`);
|
|
170
|
-
}
|
|
171
|
-
|
|
172
|
-
const parsed = JSON.parse(matchContent) as Record<string, unknown>;
|
|
173
|
-
const body =
|
|
174
|
-
typeof parsed['body'] === 'string' ? parsed['body'] : '';
|
|
175
|
-
|
|
176
|
-
const rendered = body.replace(
|
|
177
|
-
/\{\{(\w+)\}\}/g,
|
|
178
|
-
(_match, key: string) =>
|
|
179
|
-
key in promptArgs ? (promptArgs[key] ?? _match) : _match,
|
|
180
|
-
);
|
|
181
|
-
|
|
182
|
-
return [
|
|
183
|
-
{
|
|
184
|
-
role: 'user',
|
|
185
|
-
content: { type: 'text', text: rendered },
|
|
186
|
-
},
|
|
187
|
-
];
|
|
188
|
-
}
|
|
189
|
-
|
|
190
|
-
/**
|
|
191
|
-
* Handles an MCP `prompts/get` request.
|
|
192
|
-
*
|
|
193
|
-
* Dispatches to the agent handler when `name` starts with `"agent:"`,
|
|
194
|
-
* otherwise treats the name as a skill prompt.
|
|
195
|
-
*
|
|
196
|
-
* For skill prompts: looks up by title using `listByType('skill')`,
|
|
197
|
-
* substitutes `{{argName}}` placeholders in the body, and returns a
|
|
198
|
-
* single user message.
|
|
199
|
-
*
|
|
200
|
-
* For agent prompts: looks up the agent by title via
|
|
201
|
-
* `listDocumentsByType('agent')`, builds an assistant message from
|
|
202
|
-
* the persona section, and (when skills exist) a user message
|
|
203
|
-
* listing their names and descriptions.
|
|
204
|
-
*
|
|
205
|
-
* @param name - prompt name from the MCP request
|
|
206
|
-
* @param promptArgs - argument key-value map from the MCP request
|
|
207
|
-
* @param client - worker client used to access the knowledge base
|
|
208
|
-
* @returns ordered list of prompt messages to return to the caller
|
|
209
|
-
* @throws {Error} when a skill prompt name is not found in the store
|
|
210
|
-
*/
|
|
211
|
-
export async function handlePromptGet(
|
|
212
|
-
name: string,
|
|
213
|
-
promptArgs: Record<string, string>,
|
|
214
|
-
client: McpWorkerClient,
|
|
215
|
-
): Promise<McpPromptMessage[]> {
|
|
216
|
-
if (name.startsWith('agent:')) {
|
|
217
|
-
return handleAgentPrompt(name, client);
|
|
218
|
-
}
|
|
219
|
-
return handleSkillPrompt(name, promptArgs, client);
|
|
220
|
-
}
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
import type { McpWorkerClient } from '../typings/mcp-client.interface.ts';
|
|
2
|
-
|
|
3
|
-
/** Shape of a content item in an MCP tool call response. */
|
|
4
|
-
interface ToolContent {
|
|
5
|
-
/** Content type identifier, typically `'text'`. */
|
|
6
|
-
readonly type: string;
|
|
7
|
-
/** The text payload. */
|
|
8
|
-
readonly text: string;
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
/** Result returned by a tool call handler. */
|
|
12
|
-
interface ToolCallResult {
|
|
13
|
-
/** One or more content items describing the result. */
|
|
14
|
-
readonly content: ToolContent[];
|
|
15
|
-
/** Set to `true` when the tool encountered an error. */
|
|
16
|
-
readonly isError?: boolean;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
/**
|
|
20
|
-
* Handles the MCP `recall` tool call.
|
|
21
|
-
*
|
|
22
|
-
* Retrieves full content and context for one or more knowledge-base
|
|
23
|
-
* sections by identifier. At least one of `kbid` or `kbids` must be
|
|
24
|
-
* present in `args`; omitting both returns an error result.
|
|
25
|
-
*
|
|
26
|
-
* @param client - the worker client used to execute the operation
|
|
27
|
-
* @param args - tool arguments from the MCP request
|
|
28
|
-
* @returns content with JSON-stringified recall result, or an error
|
|
29
|
-
* content item when required arguments are missing
|
|
30
|
-
*/
|
|
31
|
-
export async function handleRecall(
|
|
32
|
-
client: McpWorkerClient,
|
|
33
|
-
args: Record<string, unknown>,
|
|
34
|
-
): Promise<ToolCallResult> {
|
|
35
|
-
const kbid =
|
|
36
|
-
typeof args['kbid'] === 'string' ? args['kbid'] : undefined;
|
|
37
|
-
const kbids =
|
|
38
|
-
Array.isArray(args['kbids']) &&
|
|
39
|
-
args['kbids'].every((item: unknown) => typeof item === 'string')
|
|
40
|
-
? args['kbids']
|
|
41
|
-
: undefined;
|
|
42
|
-
|
|
43
|
-
if (!kbid && !kbids) {
|
|
44
|
-
return {
|
|
45
|
-
content: [
|
|
46
|
-
{
|
|
47
|
-
type: 'text',
|
|
48
|
-
text: 'Provide kbid or kbids',
|
|
49
|
-
},
|
|
50
|
-
],
|
|
51
|
-
isError: true,
|
|
52
|
-
};
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
const depth = typeof args['depth'] === 'number' ? args['depth'] : 0;
|
|
56
|
-
|
|
57
|
-
const result = await client.recall({ kbid, kbids, depth });
|
|
58
|
-
return {
|
|
59
|
-
content: [
|
|
60
|
-
{
|
|
61
|
-
type: 'text',
|
|
62
|
-
text: JSON.stringify(result, null, 2),
|
|
63
|
-
},
|
|
64
|
-
],
|
|
65
|
-
};
|
|
66
|
-
}
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import type { McpWorkerClient } from '../typings/mcp-client.interface.ts';
|
|
2
|
-
|
|
3
|
-
/** A single content item in an MCP resource read response. */
|
|
4
|
-
interface ResourceContent {
|
|
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
|
-
|
|
13
|
-
/** Result returned by a resource read operation. */
|
|
14
|
-
interface ResourceReadResult {
|
|
15
|
-
/** One or more content items for the requested URI. */
|
|
16
|
-
readonly contents: ResourceContent[];
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
/**
|
|
20
|
-
* Handles an MCP `resources/read` request by dispatching to the
|
|
21
|
-
* appropriate knowledge-base operation based on the resource URI.
|
|
22
|
-
*
|
|
23
|
-
* @param client - the worker client used to fetch the resource
|
|
24
|
-
* @param uri - the resource URI from the MCP request
|
|
25
|
-
* @returns contents array for the MCP response
|
|
26
|
-
* @throws {Error} when the URI does not match any known pattern
|
|
27
|
-
*/
|
|
28
|
-
export async function handleResourceRead(
|
|
29
|
-
client: McpWorkerClient,
|
|
30
|
-
uri: string,
|
|
31
|
-
): Promise<ResourceReadResult> {
|
|
32
|
-
const sectionMatch = uri.match(/^kbdb:\/\/section\/(.+)$/);
|
|
33
|
-
if (sectionMatch) {
|
|
34
|
-
const sections = await client.readSections([sectionMatch[1]]);
|
|
35
|
-
const text = sections.length > 0 ? sections[0].content : '';
|
|
36
|
-
return {
|
|
37
|
-
contents: [{ uri, mimeType: 'text/plain', text }],
|
|
38
|
-
};
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
const docMatch = uri.match(/^kbdb:\/\/document\/(.+)$/);
|
|
42
|
-
if (docMatch) {
|
|
43
|
-
const doc = await client.retrieveDocument(docMatch[1]);
|
|
44
|
-
return {
|
|
45
|
-
contents: [
|
|
46
|
-
{
|
|
47
|
-
uri,
|
|
48
|
-
mimeType: 'application/json',
|
|
49
|
-
text: JSON.stringify(doc, null, 2),
|
|
50
|
-
},
|
|
51
|
-
],
|
|
52
|
-
};
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
throw new Error(`Unknown resource URI: ${uri}`);
|
|
56
|
-
}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Represents a single file-system root entry advertised to MCP
|
|
3
|
-
* clients via the `roots/list` response.
|
|
4
|
-
*/
|
|
5
|
-
export interface McpRoot {
|
|
6
|
-
/** Absolute file URI for the root directory. */
|
|
7
|
-
readonly uri: string;
|
|
8
|
-
/** Human-readable label for the root. */
|
|
9
|
-
readonly name: string;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* Returns the list of MCP roots for the given database context path.
|
|
14
|
-
*
|
|
15
|
-
* Produces a single root entry whose URI is `file://` concatenated
|
|
16
|
-
* with the supplied `contextPath`. This tells MCP clients which
|
|
17
|
-
* file-system directory the server is authoritative for.
|
|
18
|
-
*
|
|
19
|
-
* @param contextPath - absolute path to the kbdb database directory
|
|
20
|
-
* @returns array containing a single root for the context path
|
|
21
|
-
*/
|
|
22
|
-
export function handleRootsList(contextPath: string): McpRoot[] {
|
|
23
|
-
return [
|
|
24
|
-
{
|
|
25
|
-
uri: `file://${contextPath}`,
|
|
26
|
-
name: 'kbdb database',
|
|
27
|
-
},
|
|
28
|
-
];
|
|
29
|
-
}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import type { McpWorkerClient } from '../typings/mcp-client.interface.ts';
|
|
2
|
-
import type { McpPromptMessage } from '../typings/prompt-types.interface.ts';
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* Handles an MCP `prompts/get` request for a skill prompt.
|
|
6
|
-
*
|
|
7
|
-
* Looks up the skill by name in the `listByType('skill')` results,
|
|
8
|
-
* picks the most recent match (last occurrence), parses its body,
|
|
9
|
-
* and substitutes `{{argName}}` placeholders from `promptArgs`.
|
|
10
|
-
* Unresolved placeholders are left as-is.
|
|
11
|
-
*
|
|
12
|
-
* @param name - skill prompt name to look up
|
|
13
|
-
* @param promptArgs - argument key-value map from the MCP request
|
|
14
|
-
* @param client - worker client used to access the knowledge base
|
|
15
|
-
* @throws {Error} when no skill with the given name is found
|
|
16
|
-
*/
|
|
17
|
-
export async function handleSkillPrompt(
|
|
18
|
-
name: string,
|
|
19
|
-
promptArgs: Record<string, string>,
|
|
20
|
-
client: McpWorkerClient,
|
|
21
|
-
): Promise<McpPromptMessage[]> {
|
|
22
|
-
const sections = await client.listByType('skill');
|
|
23
|
-
let matchContent: string | undefined;
|
|
24
|
-
for (const sec of sections) {
|
|
25
|
-
if (sec.title === name) {
|
|
26
|
-
matchContent = sec.content;
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
if (matchContent === undefined) {
|
|
30
|
-
throw new Error(`Prompt not found: ${name}`);
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
const parsed = JSON.parse(matchContent) as Record<string, unknown>;
|
|
34
|
-
const body =
|
|
35
|
-
typeof parsed['body'] === 'string' ? parsed['body'] : '';
|
|
36
|
-
|
|
37
|
-
const rendered = body.replace(
|
|
38
|
-
/\{\{(\w+)\}\}/g,
|
|
39
|
-
(_match, key: string) =>
|
|
40
|
-
key in promptArgs ? (promptArgs[key] ?? _match) : _match,
|
|
41
|
-
);
|
|
42
|
-
|
|
43
|
-
return [{ role: 'user', content: { type: 'text', text: rendered } }];
|
|
44
|
-
}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import type { ToolCallResult } from '../typings/tool-call-result.model.ts';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Handles the `auto-capture-review` MCP tool call.
|
|
5
|
-
*
|
|
6
|
-
* Returns a stub response indicating no pending captures are
|
|
7
|
-
* available. Full implementation requires wiring the auto-capture
|
|
8
|
-
* controller into the MCP server state.
|
|
9
|
-
*
|
|
10
|
-
* @param _args - tool arguments; `action` may be list, approve,
|
|
11
|
-
* or reject
|
|
12
|
-
*/
|
|
13
|
-
export function handleToolAutoCaptureReview(
|
|
14
|
-
_args: Record<string, unknown>,
|
|
15
|
-
): Promise<ToolCallResult> {
|
|
16
|
-
return Promise.resolve({
|
|
17
|
-
content: [
|
|
18
|
-
{
|
|
19
|
-
type: 'text' as const,
|
|
20
|
-
text: 'No pending auto-captured knowledge entries.',
|
|
21
|
-
},
|
|
22
|
-
],
|
|
23
|
-
});
|
|
24
|
-
}
|