@dikolab/kbdb 0.3.2 → 0.4.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 +92 -90
- package/dist/chunk-BJXEVALU.mjs +337 -0
- package/dist/chunk-BJXEVALU.mjs.map +7 -0
- package/dist/cli.cjs +1398 -378
- package/dist/cli.cjs.map +4 -4
- package/dist/cli.d.ts +9 -0
- package/dist/cli.mjs +1138 -342
- package/dist/cli.mjs.map +4 -4
- package/dist/kbdb-worker.cjs +1115 -135
- package/dist/kbdb-worker.cjs.map +4 -4
- package/dist/mod.cjs +351 -69
- package/dist/mod.cjs.map +4 -4
- package/dist/mod.d.ts +23 -2
- package/dist/mod.mjs +349 -68
- package/dist/mod.mjs.map +4 -4
- 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 +22 -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/classes/tfidf-embedding-provider.class.d.ts +28 -0
- package/dist/src/shared/embedding/constants/tfidf-defaults.constant.d.ts +4 -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 +15 -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 +9 -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/log/constants/log-colors.constant.d.ts +5 -0
- package/dist/src/shared/log/constants/log-defaults.constant.d.ts +3 -0
- package/dist/src/shared/log/constants/log-icons.constant.d.ts +3 -0
- package/dist/src/shared/log/functions/configure-log.function.d.ts +12 -0
- package/dist/src/shared/log/functions/log.function.d.ts +28 -0
- package/dist/src/shared/log/functions/parse-log-level.function.d.ts +10 -0
- package/dist/src/shared/log/functions/resolve-log-level.function.d.ts +12 -0
- package/dist/src/shared/log/functions/write-stderr.function.d.ts +10 -0
- package/dist/src/shared/log/index.d.ts +10 -0
- package/dist/src/shared/log/typings/log-config.interface.d.ts +7 -0
- package/dist/src/shared/log/typings/log-level.type.d.ts +7 -0
- package/dist/src/shared/log/typings/log-output.interface.d.ts +4 -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 +38 -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 +18 -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 +6 -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/functions/run-worker.function.d.ts +6 -1
- package/dist/src/shared/worker-daemon/typings/handler-context.interface.d.ts +3 -0
- package/dist/src/shared/worker-daemon/typings/wasm-modules.interface.d.ts +5 -0
- package/dist/wasm/default-embedding/kbdb_default_embedding.d.ts +55 -0
- package/dist/wasm/default-embedding/kbdb_default_embedding.js +156 -0
- package/{src/wasm/query-parser/kbdb_query_parser_bg.wasm → dist/wasm/default-embedding/kbdb_default_embedding_bg.wasm} +0 -0
- package/dist/wasm/default-embedding/kbdb_default_embedding_bg.wasm.d.ts +12 -0
- package/dist/wasm/default-embedding/package.json +13 -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/fs-migration/kbdb_fs_migration.d.ts +38 -0
- package/dist/wasm/fs-migration/kbdb_fs_migration.js +130 -0
- package/dist/wasm/fs-migration/kbdb_fs_migration_bg.wasm +0 -0
- package/dist/wasm/fs-migration/kbdb_fs_migration_bg.wasm.d.ts +9 -0
- package/dist/wasm/fs-migration/package.json +13 -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 +899 -143
- package/dist/worker.mjs.map +4 -4
- package/docs/details/README.md +4 -0
- package/docs/details/agent-tooling.md +132 -0
- package/docs/details/cli.md +91 -18
- package/docs/details/knowledge-base.md +180 -0
- package/docs/details/library-api.md +42 -2
- package/docs/details/mcp-server.md +53 -7
- package/docs/details/search-and-ranking.md +16 -11
- package/docs/goals/cli.md +142 -37
- package/docs/goals/content-parser.md +1 -1
- package/docs/goals/hybrid-search.md +71 -42
- package/docs/goals/mcp.md +24 -19
- package/docs/goals/overview.md +1 -1
- package/docs/goals/query-parser.md +8 -0
- package/docs/goals/semantic-dedup.md +7 -3
- package/docs/goals/worker-client.md +62 -1
- package/docs/goals/worker-daemon.md +83 -30
- package/docs/modules/overview.md +43 -22
- package/docs/modules/rust/embedding/module.md +91 -0
- package/docs/modules/rust/overview.md +56 -21
- package/docs/modules/rust/query-parser/functions/module.md +7 -5
- package/docs/modules/rust/query-parser/functions/pipeline.md +6 -138
- package/docs/modules/rust/query-parser/module.md +16 -22
- package/docs/modules/rust/query-parser/types/module.md +5 -4
- package/docs/modules/rust/query-parser/types/token.md +5 -1
- package/docs/modules/rust/shared/content-parser/functions.md +1 -1
- package/docs/modules/rust/shared/memory/module.md +1 -1
- package/docs/modules/rust/shared/module.md +33 -5
- package/docs/modules/rust/shared/pipeline/functions.md +141 -0
- package/docs/modules/rust/shared/pipeline/module.md +62 -0
- package/docs/modules/rust/shared/pipeline/types.md +43 -0
- package/docs/modules/rust/shared/section/module.md +1 -1
- package/docs/modules/rust/shared/section/types.md +1 -1
- package/docs/modules/typescript/cli.md +5 -3
- package/docs/modules/typescript/kbdb-worker.md +20 -5
- package/docs/modules/typescript/overview.md +28 -6
- package/docs/modules/typescript/shared/cli/functions.md +131 -17
- package/docs/modules/typescript/shared/cli/module.md +33 -20
- package/docs/modules/typescript/shared/cli/typings.md +25 -0
- package/docs/modules/typescript/shared/embedding/functions.md +125 -19
- package/docs/modules/typescript/shared/embedding/module.md +10 -4
- package/docs/modules/typescript/shared/embedding/typings.md +7 -5
- package/docs/modules/typescript/shared/log/constants.md +82 -0
- package/docs/modules/typescript/shared/log/functions.md +131 -0
- package/docs/modules/typescript/shared/log/module.md +153 -0
- package/docs/modules/typescript/shared/log/typings.md +82 -0
- 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/module.md +22 -6
- 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/functions.md +19 -6
- package/docs/modules/typescript/shared/worker-daemon/module.md +11 -5
- package/docs/modules/typescript/shared/worker-daemon/typings.md +13 -7
- package/docs/overview.md +1 -2
- package/docs/release-notes/0.4.0.md +80 -0
- package/docs/release-notes/0.4.1.md +149 -0
- package/docs/release-notes/README.md +1 -0
- package/mod.ts +33 -15
- package/package.json +12 -11
- 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.d.ts +0 -25
- package/src/wasm/query-parser/package.json +0 -13
- package/src/worker.ts +0 -42
|
@@ -1,69 +0,0 @@
|
|
|
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 { asStringArrayOrUndefined } from './as-string-array-or-undefined.function.ts';
|
|
5
|
-
import { asBooleanOrUndefined } from './as-boolean-or-undefined.function.ts';
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* Handles the `learn` MCP tool call.
|
|
9
|
-
*
|
|
10
|
-
* Validates that image content includes a title, then imports the
|
|
11
|
-
* content into the knowledge base via the worker client.
|
|
12
|
-
*
|
|
13
|
-
* @param client - the worker client used to execute operations
|
|
14
|
-
* @param args - tool arguments from the MCP request
|
|
15
|
-
*/
|
|
16
|
-
export async function handleToolLearn(
|
|
17
|
-
client: McpWorkerClient,
|
|
18
|
-
args: Record<string, unknown>,
|
|
19
|
-
): Promise<ToolCallResult> {
|
|
20
|
-
const sectionType = asString(args['type'], 'text/markdown');
|
|
21
|
-
const title =
|
|
22
|
-
typeof args['title'] === 'string' ? args['title'] : undefined;
|
|
23
|
-
const description =
|
|
24
|
-
typeof args['description'] === 'string'
|
|
25
|
-
? args['description']
|
|
26
|
-
: undefined;
|
|
27
|
-
const docid =
|
|
28
|
-
typeof args['docid'] === 'string' ? args['docid'] : undefined;
|
|
29
|
-
const tags = asStringArrayOrUndefined(args['tags']);
|
|
30
|
-
const replace = asBooleanOrUndefined(args['replace']);
|
|
31
|
-
|
|
32
|
-
if (sectionType.startsWith('image/') && !title) {
|
|
33
|
-
return {
|
|
34
|
-
content: [
|
|
35
|
-
{
|
|
36
|
-
type: 'text',
|
|
37
|
-
text: 'title is required for image/* types',
|
|
38
|
-
},
|
|
39
|
-
],
|
|
40
|
-
isError: true,
|
|
41
|
-
};
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
const result = await client.addSection({
|
|
45
|
-
sectionType,
|
|
46
|
-
content: asString(args['content'], ''),
|
|
47
|
-
title,
|
|
48
|
-
description,
|
|
49
|
-
docid,
|
|
50
|
-
tags,
|
|
51
|
-
replace,
|
|
52
|
-
});
|
|
53
|
-
|
|
54
|
-
const normalized = {
|
|
55
|
-
kbid: result.kbid,
|
|
56
|
-
indexed_terms_count: result.indexed_terms_count ?? 0,
|
|
57
|
-
elapsed_ms: result.elapsed_ms ?? 0,
|
|
58
|
-
superseded: result.superseded ?? null,
|
|
59
|
-
warnings: result.warnings ?? [],
|
|
60
|
-
near_duplicates: (result.near_duplicates ?? []).map((d) => ({
|
|
61
|
-
kbid: d.kbid,
|
|
62
|
-
similarity: d.similarity,
|
|
63
|
-
})),
|
|
64
|
-
};
|
|
65
|
-
|
|
66
|
-
return {
|
|
67
|
-
content: [{ type: 'text', text: JSON.stringify(normalized) }],
|
|
68
|
-
};
|
|
69
|
-
}
|
|
@@ -1,21 +0,0 @@
|
|
|
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 `rebuild` MCP tool call.
|
|
6
|
-
*
|
|
7
|
-
* Reconstructs all index files from section and document files and
|
|
8
|
-
* returns the rebuild report as formatted JSON.
|
|
9
|
-
*
|
|
10
|
-
* @param client - the worker client used to execute operations
|
|
11
|
-
*/
|
|
12
|
-
export async function handleToolRebuild(
|
|
13
|
-
client: McpWorkerClient,
|
|
14
|
-
): Promise<ToolCallResult> {
|
|
15
|
-
const report = await client.rebuildIndexes();
|
|
16
|
-
return {
|
|
17
|
-
content: [
|
|
18
|
-
{ type: 'text', text: JSON.stringify(report, null, 2) },
|
|
19
|
-
],
|
|
20
|
-
};
|
|
21
|
-
}
|
|
@@ -1,40 +0,0 @@
|
|
|
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 `retrieve` MCP tool call.
|
|
6
|
-
*
|
|
7
|
-
* Fetches a section by `kbid` or a document by `docid`. Returns an
|
|
8
|
-
* error when neither identifier is supplied.
|
|
9
|
-
*
|
|
10
|
-
* @param client - the worker client used to execute operations
|
|
11
|
-
* @param args - tool arguments from the MCP request
|
|
12
|
-
*/
|
|
13
|
-
export async function handleToolRetrieve(
|
|
14
|
-
client: McpWorkerClient,
|
|
15
|
-
args: Record<string, unknown>,
|
|
16
|
-
): Promise<ToolCallResult> {
|
|
17
|
-
if (typeof args['kbid'] === 'string') {
|
|
18
|
-
const sections = await client.readSections([args['kbid']]);
|
|
19
|
-
return {
|
|
20
|
-
content: [
|
|
21
|
-
{
|
|
22
|
-
type: 'text',
|
|
23
|
-
text: JSON.stringify(sections, null, 2),
|
|
24
|
-
},
|
|
25
|
-
],
|
|
26
|
-
};
|
|
27
|
-
}
|
|
28
|
-
if (typeof args['docid'] === 'string') {
|
|
29
|
-
const doc = await client.retrieveDocument(args['docid']);
|
|
30
|
-
return {
|
|
31
|
-
content: [
|
|
32
|
-
{ type: 'text', text: JSON.stringify(doc, null, 2) },
|
|
33
|
-
],
|
|
34
|
-
};
|
|
35
|
-
}
|
|
36
|
-
return {
|
|
37
|
-
content: [{ type: 'text', text: 'Provide kbid or docid' }],
|
|
38
|
-
isError: true,
|
|
39
|
-
};
|
|
40
|
-
}
|
|
@@ -1,47 +0,0 @@
|
|
|
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 `search` MCP tool call.
|
|
6
|
-
*
|
|
7
|
-
* Forwards query parameters to the worker client and strips internal
|
|
8
|
-
* scoring fields (`score`, `confidence`) from each result item before
|
|
9
|
-
* returning.
|
|
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 handleToolSearch(
|
|
15
|
-
client: McpWorkerClient,
|
|
16
|
-
args: Record<string, unknown>,
|
|
17
|
-
): Promise<ToolCallResult> {
|
|
18
|
-
const query = typeof args['query'] === 'string' ? args['query'] : '';
|
|
19
|
-
const algo =
|
|
20
|
-
typeof args['algo'] === 'string' ? args['algo'] : undefined;
|
|
21
|
-
const results = await client.search({
|
|
22
|
-
query,
|
|
23
|
-
mode: args['mode'] as string | undefined,
|
|
24
|
-
...(algo !== undefined ? { algo } : {}),
|
|
25
|
-
limit: args['limit'] as number | undefined,
|
|
26
|
-
offset: args['offset'] as number | undefined,
|
|
27
|
-
});
|
|
28
|
-
|
|
29
|
-
const stripped = {
|
|
30
|
-
...results,
|
|
31
|
-
items: results.items.map(
|
|
32
|
-
({
|
|
33
|
-
score: _score,
|
|
34
|
-
confidence: _confidence,
|
|
35
|
-
...rest
|
|
36
|
-
}: (typeof results.items)[number] & {
|
|
37
|
-
confidence?: number;
|
|
38
|
-
}) => rest,
|
|
39
|
-
),
|
|
40
|
-
};
|
|
41
|
-
|
|
42
|
-
return {
|
|
43
|
-
content: [
|
|
44
|
-
{ type: 'text', text: JSON.stringify(stripped, null, 2) },
|
|
45
|
-
],
|
|
46
|
-
};
|
|
47
|
-
}
|
|
@@ -1,34 +0,0 @@
|
|
|
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 `skill-delete` MCP tool call.
|
|
7
|
-
*
|
|
8
|
-
* Removes the skill section identified by `kbid` from the knowledge
|
|
9
|
-
* base and returns the result.
|
|
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 handleToolSkillDelete(
|
|
15
|
-
client: McpWorkerClient,
|
|
16
|
-
args: Record<string, unknown>,
|
|
17
|
-
): Promise<ToolCallResult> {
|
|
18
|
-
const kbid = asString(args['kbid'], '');
|
|
19
|
-
if (!kbid) {
|
|
20
|
-
return {
|
|
21
|
-
content: [{ type: 'text', text: 'kbid is required' }],
|
|
22
|
-
isError: true,
|
|
23
|
-
};
|
|
24
|
-
}
|
|
25
|
-
const result = await client.removeSection(kbid);
|
|
26
|
-
return {
|
|
27
|
-
content: [
|
|
28
|
-
{
|
|
29
|
-
type: 'text',
|
|
30
|
-
text: JSON.stringify({ kbid, removed: result.removed }),
|
|
31
|
-
},
|
|
32
|
-
],
|
|
33
|
-
};
|
|
34
|
-
}
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
import type { McpWorkerClient } from '../typings/mcp-client.interface.ts';
|
|
2
|
-
import type { ToolCallResult } from '../typings/tool-call-result.model.ts';
|
|
3
|
-
import { parseSkillContent } from './parse-skill-content.function.ts';
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* Handles the `skill-get` MCP tool call.
|
|
7
|
-
*
|
|
8
|
-
* Looks up a skill by `kbid` first, then falls back to searching by
|
|
9
|
-
* `name`. Returns an error when neither identifier resolves to a
|
|
10
|
-
* known skill.
|
|
11
|
-
*
|
|
12
|
-
* @param client - the worker client used to execute operations
|
|
13
|
-
* @param args - tool arguments from the MCP request
|
|
14
|
-
*/
|
|
15
|
-
export async function handleToolSkillGet(
|
|
16
|
-
client: McpWorkerClient,
|
|
17
|
-
args: Record<string, unknown>,
|
|
18
|
-
): Promise<ToolCallResult> {
|
|
19
|
-
const kbid =
|
|
20
|
-
typeof args['kbid'] === 'string' ? args['kbid'] : undefined;
|
|
21
|
-
const name =
|
|
22
|
-
typeof args['name'] === 'string' ? args['name'] : undefined;
|
|
23
|
-
|
|
24
|
-
if (!kbid && !name) {
|
|
25
|
-
return {
|
|
26
|
-
content: [{ type: 'text', text: 'name or kbid is required' }],
|
|
27
|
-
isError: true,
|
|
28
|
-
};
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
let content: string | undefined;
|
|
32
|
-
if (kbid) {
|
|
33
|
-
const sections = await client.readSections([kbid]);
|
|
34
|
-
if (sections.length > 0) {
|
|
35
|
-
content = sections[0]?.content;
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
if (content === undefined && name) {
|
|
39
|
-
const records = await client.listByType('skill');
|
|
40
|
-
const match = records.filter((r) => r.title === name).pop();
|
|
41
|
-
if (match) {
|
|
42
|
-
content = match.content;
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
if (content === undefined) {
|
|
46
|
-
const identifier = kbid ?? name ?? '';
|
|
47
|
-
return {
|
|
48
|
-
content: [
|
|
49
|
-
{ type: 'text', text: `skill not found: ${identifier}` },
|
|
50
|
-
],
|
|
51
|
-
isError: true,
|
|
52
|
-
};
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
const skill = parseSkillContent(content);
|
|
56
|
-
return {
|
|
57
|
-
content: [{ type: 'text', text: JSON.stringify(skill, null, 2) }],
|
|
58
|
-
};
|
|
59
|
-
}
|
|
@@ -1,61 +0,0 @@
|
|
|
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
|
-
}
|
|
@@ -1,39 +0,0 @@
|
|
|
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
|
-
}
|
|
@@ -1,21 +0,0 @@
|
|
|
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
|
-
}
|
|
@@ -1,24 +0,0 @@
|
|
|
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
|
-
}
|
|
@@ -1,27 +0,0 @@
|
|
|
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
|
-
}
|
|
@@ -1,36 +0,0 @@
|
|
|
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
|
-
}
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
SkillArgument,
|
|
3
|
-
SkillDefinition,
|
|
4
|
-
} from '../typings/skill-types.interface.ts';
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* Parses a JSON string into a `SkillDefinition`.
|
|
8
|
-
*
|
|
9
|
-
* Validates that the required `name` and `body` fields are present
|
|
10
|
-
* and are non-empty strings, then returns the full definition
|
|
11
|
-
* including optional `description` and `arguments`.
|
|
12
|
-
*
|
|
13
|
-
* @param json - JSON string representing a serialized skill
|
|
14
|
-
* @returns the parsed skill definition
|
|
15
|
-
* @throws {SyntaxError} when `json` is not valid JSON
|
|
16
|
-
* @throws {Error} when `name` is missing or empty
|
|
17
|
-
* @throws {Error} when `body` is missing or not a string
|
|
18
|
-
*/
|
|
19
|
-
export function parseSkillContent(json: string): SkillDefinition {
|
|
20
|
-
const raw = JSON.parse(json) as Record<string, unknown>;
|
|
21
|
-
if (typeof raw['name'] !== 'string' || !raw['name']) {
|
|
22
|
-
throw new Error('skill name is required');
|
|
23
|
-
}
|
|
24
|
-
if (typeof raw['body'] !== 'string') {
|
|
25
|
-
throw new Error('skill body is required');
|
|
26
|
-
}
|
|
27
|
-
return {
|
|
28
|
-
name: raw['name'],
|
|
29
|
-
description:
|
|
30
|
-
typeof raw['description'] === 'string'
|
|
31
|
-
? raw['description']
|
|
32
|
-
: undefined,
|
|
33
|
-
arguments: Array.isArray(raw['arguments'])
|
|
34
|
-
? (raw['arguments'] as SkillArgument[])
|
|
35
|
-
: undefined,
|
|
36
|
-
body: raw['body'],
|
|
37
|
-
};
|
|
38
|
-
}
|
|
@@ -1,41 +0,0 @@
|
|
|
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
|
-
}
|
|
@@ -1,50 +0,0 @@
|
|
|
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
|
-
}
|
|
@@ -1,34 +0,0 @@
|
|
|
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
|
-
}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import type { SkillDefinition } from '../typings/skill-types.interface.ts';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Serializes a `SkillDefinition` to a JSON string suitable for
|
|
5
|
-
* storage as a knowledge-base section's `content` field.
|
|
6
|
-
*
|
|
7
|
-
* @param skill - skill definition to serialize
|
|
8
|
-
* @returns JSON string representation of the skill
|
|
9
|
-
*/
|
|
10
|
-
export function serializeSkillContent(skill: SkillDefinition): string {
|
|
11
|
-
return JSON.stringify(skill);
|
|
12
|
-
}
|