@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,299 +0,0 @@
|
|
|
1
|
-
import { VERSION } from '../../version/index.ts';
|
|
2
|
-
import type { CliOptions } from '../typings/cli-options.interface.ts';
|
|
3
|
-
import type { CommandResult } from '../typings/command-result.model.ts';
|
|
4
|
-
import type { InitResult } from './run-init.function.ts';
|
|
5
|
-
import type { VersionStatus } from '../../worker-client/typings/version-status.model.ts';
|
|
6
|
-
import type { MigrateResult } from '../../worker-client/typings/migrate-result.model.ts';
|
|
7
|
-
import { parseArgs } from './parse-args.function.ts';
|
|
8
|
-
import { errorToMessage } from './error-to-message.function.ts';
|
|
9
|
-
import { dispatchCommand } from './dispatch-command.function.ts';
|
|
10
|
-
import type { DispatchClient } from './dispatch-command.function.ts';
|
|
11
|
-
import {
|
|
12
|
-
generateHelp,
|
|
13
|
-
isKnownCommand,
|
|
14
|
-
} from './generate-help.function.ts';
|
|
15
|
-
|
|
16
|
-
export interface DisconnectableClient extends DispatchClient {
|
|
17
|
-
checkVersion(targetPath: string): Promise<VersionStatus>;
|
|
18
|
-
migrateDatabase(targetPath: string): Promise<MigrateResult>;
|
|
19
|
-
disconnect(): void;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* Injectable dependencies for the CLI orchestrator.
|
|
24
|
-
*
|
|
25
|
-
* Every external side-effect is injected so the function
|
|
26
|
-
* is fully testable without touching process globals,
|
|
27
|
-
* filesystem, or network.
|
|
28
|
-
*/
|
|
29
|
-
export interface CliDeps {
|
|
30
|
-
isStdinTty: () => boolean;
|
|
31
|
-
promptUser: (question: string) => Promise<string>;
|
|
32
|
-
createWorkerClient: (opts: {
|
|
33
|
-
contextPath: string;
|
|
34
|
-
}) => Promise<DisconnectableClient>;
|
|
35
|
-
findDb: (basePath?: string) => string | null;
|
|
36
|
-
runInit: (options: CliOptions) => InitResult;
|
|
37
|
-
startMcpServer?: (contextPath: string) => Promise<void>;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
/**
|
|
41
|
-
* Full CLI orchestrator extracted from `src/cli.ts`.
|
|
42
|
-
*
|
|
43
|
-
* Parses arguments, routes to the appropriate sub-flow
|
|
44
|
-
* (help, version, init, mcp, migrate, data commands), and
|
|
45
|
-
* returns a `CommandResult` without touching process globals.
|
|
46
|
-
*
|
|
47
|
-
* @param argv - raw CLI arguments (typically `process.argv.slice(2)`)
|
|
48
|
-
* @param deps - injectable dependencies
|
|
49
|
-
*/
|
|
50
|
-
export async function runCli(
|
|
51
|
-
argv: string[],
|
|
52
|
-
deps: CliDeps,
|
|
53
|
-
): Promise<CommandResult> {
|
|
54
|
-
const options = parseArgs(argv);
|
|
55
|
-
|
|
56
|
-
if (options.command === 'help' || !options.command) {
|
|
57
|
-
const helpCommand = options.args[0];
|
|
58
|
-
const helpSubcommand = options.args[1];
|
|
59
|
-
const helpText = generateHelp(helpCommand, helpSubcommand);
|
|
60
|
-
if (helpCommand && !isKnownCommand(helpCommand)) {
|
|
61
|
-
return { output: helpText, exitCode: 1 };
|
|
62
|
-
}
|
|
63
|
-
return { output: helpText, exitCode: 0 };
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
if (options.command === 'version') {
|
|
67
|
-
return { output: VERSION, exitCode: 0 };
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
if (options.command === 'init' || options.command === 'db-init') {
|
|
71
|
-
return handleInit(options, deps);
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
if (options.command === 'mcp') {
|
|
75
|
-
return handleMcp(options, deps);
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
if (
|
|
79
|
-
options.command === 'migrate' ||
|
|
80
|
-
options.command === 'db-migrate'
|
|
81
|
-
) {
|
|
82
|
-
return handleMigrate(options, deps);
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
return handleDataCommand(options, deps);
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
function handleInit(options: CliOptions, deps: CliDeps): CommandResult {
|
|
89
|
-
const result = deps.runInit(options);
|
|
90
|
-
if (result.ok) {
|
|
91
|
-
return {
|
|
92
|
-
output: result.targetPath,
|
|
93
|
-
exitCode: 0,
|
|
94
|
-
};
|
|
95
|
-
}
|
|
96
|
-
return {
|
|
97
|
-
error: `error: ${result.errorMessage ?? 'init failed'}`,
|
|
98
|
-
exitCode: 1,
|
|
99
|
-
};
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
async function handleMcp(
|
|
103
|
-
options: CliOptions,
|
|
104
|
-
deps: CliDeps,
|
|
105
|
-
): Promise<CommandResult> {
|
|
106
|
-
const rawDbPath = options.dbPath ?? process.env['KBDB_DIR'];
|
|
107
|
-
if (!rawDbPath) {
|
|
108
|
-
return {
|
|
109
|
-
error: 'error: --db or KBDB_DIR required in MCP mode',
|
|
110
|
-
exitCode: 1,
|
|
111
|
-
};
|
|
112
|
-
}
|
|
113
|
-
const dbDir = deps.findDb(rawDbPath);
|
|
114
|
-
if (!dbDir) {
|
|
115
|
-
return {
|
|
116
|
-
error: `error: no .kbdb database found at ${rawDbPath}`,
|
|
117
|
-
exitCode: 1,
|
|
118
|
-
};
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
let client: DisconnectableClient;
|
|
122
|
-
try {
|
|
123
|
-
client = await deps.createWorkerClient({
|
|
124
|
-
contextPath: dbDir,
|
|
125
|
-
});
|
|
126
|
-
} catch (err) {
|
|
127
|
-
return {
|
|
128
|
-
error: `error: ${errorToMessage(err)}`,
|
|
129
|
-
exitCode: 1,
|
|
130
|
-
};
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
try {
|
|
134
|
-
const gateResult = await versionGate(client, dbDir);
|
|
135
|
-
if (gateResult) return gateResult;
|
|
136
|
-
|
|
137
|
-
if (deps.startMcpServer) {
|
|
138
|
-
await deps.startMcpServer(dbDir);
|
|
139
|
-
}
|
|
140
|
-
return { exitCode: 0 };
|
|
141
|
-
} catch (err) {
|
|
142
|
-
return {
|
|
143
|
-
error: `error: mcp failed: ${errorToMessage(err)}`,
|
|
144
|
-
exitCode: 1,
|
|
145
|
-
};
|
|
146
|
-
} finally {
|
|
147
|
-
client.disconnect();
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
async function handleMigrate(
|
|
152
|
-
options: CliOptions,
|
|
153
|
-
deps: CliDeps,
|
|
154
|
-
): Promise<CommandResult> {
|
|
155
|
-
const dbDir = deps.findDb(options.dbPath);
|
|
156
|
-
if (!dbDir) {
|
|
157
|
-
const basePath = options.dbPath ?? process.cwd();
|
|
158
|
-
return {
|
|
159
|
-
error: `error: no .kbdb database found at ${basePath}`,
|
|
160
|
-
exitCode: 1,
|
|
161
|
-
};
|
|
162
|
-
}
|
|
163
|
-
|
|
164
|
-
let client: DisconnectableClient;
|
|
165
|
-
try {
|
|
166
|
-
client = await deps.createWorkerClient({
|
|
167
|
-
contextPath: dbDir,
|
|
168
|
-
});
|
|
169
|
-
} catch (err) {
|
|
170
|
-
return {
|
|
171
|
-
error: `error: ${errorToMessage(err)}`,
|
|
172
|
-
exitCode: 1,
|
|
173
|
-
};
|
|
174
|
-
}
|
|
175
|
-
|
|
176
|
-
try {
|
|
177
|
-
const versionStatus = await client.checkVersion(dbDir);
|
|
178
|
-
|
|
179
|
-
if (versionStatus.status === 'too_new') {
|
|
180
|
-
return {
|
|
181
|
-
error:
|
|
182
|
-
`error: database version` +
|
|
183
|
-
` ${versionStatus.currentVersion.toString()}` +
|
|
184
|
-
` is newer than kbdb version` +
|
|
185
|
-
` ${versionStatus.requiredVersion.toString()}` +
|
|
186
|
-
` -- upgrade kbdb`,
|
|
187
|
-
exitCode: 1,
|
|
188
|
-
};
|
|
189
|
-
}
|
|
190
|
-
|
|
191
|
-
if (versionStatus.status === 'needs_migration') {
|
|
192
|
-
const migrateResult = await client.migrateDatabase(dbDir);
|
|
193
|
-
return {
|
|
194
|
-
output: JSON.stringify(migrateResult, null, 2),
|
|
195
|
-
exitCode: 0,
|
|
196
|
-
};
|
|
197
|
-
}
|
|
198
|
-
|
|
199
|
-
return { output: 'already up to date', exitCode: 0 };
|
|
200
|
-
} catch (err) {
|
|
201
|
-
return {
|
|
202
|
-
error: `error: migrate failed: ${errorToMessage(err)}`,
|
|
203
|
-
exitCode: 1,
|
|
204
|
-
};
|
|
205
|
-
} finally {
|
|
206
|
-
client.disconnect();
|
|
207
|
-
}
|
|
208
|
-
}
|
|
209
|
-
|
|
210
|
-
async function handleDataCommand(
|
|
211
|
-
options: CliOptions,
|
|
212
|
-
deps: CliDeps,
|
|
213
|
-
): Promise<CommandResult> {
|
|
214
|
-
let dbDir = deps.findDb(options.dbPath);
|
|
215
|
-
|
|
216
|
-
if (!dbDir) {
|
|
217
|
-
const basePath = options.dbPath ?? process.cwd();
|
|
218
|
-
|
|
219
|
-
if (!deps.isStdinTty()) {
|
|
220
|
-
return {
|
|
221
|
-
error:
|
|
222
|
-
`error: no .kbdb database found at ${basePath}` +
|
|
223
|
-
' -- run `kbdb --init` to create one',
|
|
224
|
-
exitCode: 1,
|
|
225
|
-
};
|
|
226
|
-
}
|
|
227
|
-
|
|
228
|
-
const answer = await deps.promptUser(
|
|
229
|
-
`No .kbdb database found. Create one in ${basePath}? [y/N] `,
|
|
230
|
-
);
|
|
231
|
-
|
|
232
|
-
if (answer.toLowerCase() !== 'y') {
|
|
233
|
-
return {
|
|
234
|
-
error: 'aborted: no database created',
|
|
235
|
-
exitCode: 1,
|
|
236
|
-
};
|
|
237
|
-
}
|
|
238
|
-
|
|
239
|
-
const initResult = deps.runInit(options);
|
|
240
|
-
if (!initResult.ok) {
|
|
241
|
-
return {
|
|
242
|
-
error: `error: ${initResult.errorMessage ?? 'init failed'}`,
|
|
243
|
-
exitCode: 1,
|
|
244
|
-
};
|
|
245
|
-
}
|
|
246
|
-
dbDir = initResult.targetPath;
|
|
247
|
-
}
|
|
248
|
-
|
|
249
|
-
let client: DisconnectableClient;
|
|
250
|
-
try {
|
|
251
|
-
client = await deps.createWorkerClient({
|
|
252
|
-
contextPath: dbDir,
|
|
253
|
-
});
|
|
254
|
-
} catch (err) {
|
|
255
|
-
return {
|
|
256
|
-
error: `error: ${errorToMessage(err)}`,
|
|
257
|
-
exitCode: 1,
|
|
258
|
-
};
|
|
259
|
-
}
|
|
260
|
-
|
|
261
|
-
try {
|
|
262
|
-
const gateResult = await versionGate(client, dbDir);
|
|
263
|
-
if (gateResult) return gateResult;
|
|
264
|
-
|
|
265
|
-
return await dispatchCommand(client, options);
|
|
266
|
-
} finally {
|
|
267
|
-
client.disconnect();
|
|
268
|
-
}
|
|
269
|
-
}
|
|
270
|
-
|
|
271
|
-
async function versionGate(
|
|
272
|
-
client: DisconnectableClient,
|
|
273
|
-
dbDir: string,
|
|
274
|
-
): Promise<CommandResult | null> {
|
|
275
|
-
const versionStatus = await client.checkVersion(dbDir);
|
|
276
|
-
|
|
277
|
-
if (versionStatus.status === 'needs_migration') {
|
|
278
|
-
return {
|
|
279
|
-
error:
|
|
280
|
-
'error: database needs migration' +
|
|
281
|
-
' -- run `kbdb --migrate`',
|
|
282
|
-
exitCode: 1,
|
|
283
|
-
};
|
|
284
|
-
}
|
|
285
|
-
|
|
286
|
-
if (versionStatus.status === 'too_new') {
|
|
287
|
-
return {
|
|
288
|
-
error:
|
|
289
|
-
`error: database version` +
|
|
290
|
-
` ${versionStatus.currentVersion.toString()}` +
|
|
291
|
-
` is newer than kbdb version` +
|
|
292
|
-
` ${versionStatus.requiredVersion.toString()}` +
|
|
293
|
-
` -- upgrade kbdb`,
|
|
294
|
-
exitCode: 1,
|
|
295
|
-
};
|
|
296
|
-
}
|
|
297
|
-
|
|
298
|
-
return null;
|
|
299
|
-
}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import type { CliOptions } from '../typings/cli-options.interface.ts';
|
|
2
|
-
|
|
3
|
-
/** Result returned by content composition. */
|
|
4
|
-
interface ContentResult {
|
|
5
|
-
/** MIME type of the composed output, always `'text/markdown'`. */
|
|
6
|
-
readonly type: 'text/markdown';
|
|
7
|
-
/** The composed Markdown string. */
|
|
8
|
-
readonly data: string;
|
|
9
|
-
/** Character count of `data` (not byte count). */
|
|
10
|
-
readonly total: number;
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* Minimal client interface required by `runContent`.
|
|
15
|
-
*
|
|
16
|
-
* Decouples the CLI function from the concrete `WorkerClient`
|
|
17
|
-
* implementation, making it straightforward to test with mocks.
|
|
18
|
-
*/
|
|
19
|
-
export interface ContentClient {
|
|
20
|
-
/**
|
|
21
|
-
* Composes a rendered Markdown document from one or more kbid
|
|
22
|
-
* or docid identifiers.
|
|
23
|
-
*
|
|
24
|
-
* @param ids - list of kbid or docid identifiers (may be mixed)
|
|
25
|
-
* @returns composed Markdown result with character count
|
|
26
|
-
*/
|
|
27
|
-
content(ids: string[]): Promise<ContentResult>;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
/**
|
|
31
|
-
* Composes and returns a rendered Markdown document from the
|
|
32
|
-
* identifiers listed in `options.args`.
|
|
33
|
-
*
|
|
34
|
-
* Delegates to `client.content(ids)`. The caller is responsible for
|
|
35
|
-
* writing the result to stdout.
|
|
36
|
-
*
|
|
37
|
-
* @param client - content client to delegate composition to
|
|
38
|
-
* @param options - parsed CLI options whose `args` list the kbid or
|
|
39
|
-
* docid identifiers to compose
|
|
40
|
-
* @returns the composed content result from the daemon
|
|
41
|
-
*/
|
|
42
|
-
export async function runContent(
|
|
43
|
-
client: ContentClient,
|
|
44
|
-
options: CliOptions,
|
|
45
|
-
): Promise<ContentResult> {
|
|
46
|
-
return client.content(options.args);
|
|
47
|
-
}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import type { CliOptions } from '../typings/cli-options.interface.ts';
|
|
2
|
-
import type { CommandResult } from '../typings/command-result.model.ts';
|
|
3
|
-
import type { InitResult } from './run-init.function.ts';
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* Callable signature for the init operation injected into
|
|
7
|
-
* `runDbInit`.
|
|
8
|
-
*/
|
|
9
|
-
export type RunInitFn = (options: CliOptions) => InitResult;
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* Executes the `db init` compound command by delegating to the
|
|
13
|
-
* provided `runInit` function and mapping the result to a
|
|
14
|
-
* `CommandResult`.
|
|
15
|
-
*
|
|
16
|
-
* Accepts `runInit` as an injectable parameter so the function
|
|
17
|
-
* can be tested without touching the filesystem.
|
|
18
|
-
*
|
|
19
|
-
* @param options - parsed CLI options (forwarded to `runInitFn`)
|
|
20
|
-
* @param runInitFn - function that performs the actual
|
|
21
|
-
* initialisation
|
|
22
|
-
* @returns a `CommandResult` with JSON output on success or an
|
|
23
|
-
* error message on failure
|
|
24
|
-
*/
|
|
25
|
-
export function runDbInit(
|
|
26
|
-
options: CliOptions,
|
|
27
|
-
runInitFn: RunInitFn,
|
|
28
|
-
): CommandResult {
|
|
29
|
-
const result = runInitFn(options);
|
|
30
|
-
if (result.ok) {
|
|
31
|
-
return {
|
|
32
|
-
output: JSON.stringify(
|
|
33
|
-
{ path: result.targetPath, created: true },
|
|
34
|
-
null,
|
|
35
|
-
2,
|
|
36
|
-
),
|
|
37
|
-
exitCode: 0,
|
|
38
|
-
};
|
|
39
|
-
}
|
|
40
|
-
return {
|
|
41
|
-
error: result.errorMessage ?? 'init failed',
|
|
42
|
-
exitCode: 1,
|
|
43
|
-
};
|
|
44
|
-
}
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import type { CliOptions } from '../typings/cli-options.interface.ts';
|
|
2
|
-
import type { MigrateResult } from '../../worker-client/typings/migrate-result.model.ts';
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* Minimal client interface required by `runDbMigrate`.
|
|
6
|
-
*
|
|
7
|
-
* Intentionally narrower than `MigrateClient` from
|
|
8
|
-
* `run-migrate.function.ts` — this variant skips the version
|
|
9
|
-
* check and unconditionally runs migrations. Callers that need
|
|
10
|
-
* version-aware migration should use `runMigrate` instead.
|
|
11
|
-
*/
|
|
12
|
-
export interface DbMigrateClient {
|
|
13
|
-
/**
|
|
14
|
-
* Runs all pending database migrations.
|
|
15
|
-
*
|
|
16
|
-
* @param targetPath - absolute path to the `.kbdb` database root
|
|
17
|
-
*/
|
|
18
|
-
migrateDatabase(targetPath: string): Promise<MigrateResult>;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* Runs database migrations unconditionally via `client.migrateDatabase`.
|
|
23
|
-
*
|
|
24
|
-
* Resolves the target path from `options.dbPath` when provided,
|
|
25
|
-
* falling back to `process.cwd()`. Does not perform a version
|
|
26
|
-
* compatibility check before migrating — use `runMigrate` for
|
|
27
|
-
* version-aware migration flows.
|
|
28
|
-
*
|
|
29
|
-
* @param client - database migration client to delegate to
|
|
30
|
-
* @param options - parsed CLI options supplying the optional
|
|
31
|
-
* `dbPath`
|
|
32
|
-
* @returns the migration report returned by the daemon
|
|
33
|
-
*/
|
|
34
|
-
export async function runDbMigrate(
|
|
35
|
-
client: DbMigrateClient,
|
|
36
|
-
options: CliOptions,
|
|
37
|
-
): Promise<MigrateResult> {
|
|
38
|
-
const dbPath = options.dbPath ?? process.cwd();
|
|
39
|
-
return client.migrateDatabase(dbPath);
|
|
40
|
-
}
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import type { CliOptions } from '../typings/cli-options.interface.ts';
|
|
2
|
-
import type { ExportResult } from '../../worker-client/typings/export-result.model.ts';
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* Minimal client interface required by `runExport`.
|
|
6
|
-
*
|
|
7
|
-
* Decouples the CLI function from the concrete `WorkerClient`
|
|
8
|
-
* implementation, making it straightforward to test with mocks.
|
|
9
|
-
*/
|
|
10
|
-
export interface ExportClient {
|
|
11
|
-
/**
|
|
12
|
-
* Exports the database to the given directory path.
|
|
13
|
-
*
|
|
14
|
-
* @param params - optional target path; the daemon defaults to
|
|
15
|
-
* `./kbdb-export/` when `path` is `undefined`
|
|
16
|
-
* @returns export report with the resolved path and file counts
|
|
17
|
-
*/
|
|
18
|
-
export(params: { path?: string }): Promise<ExportResult>;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* Exports the knowledge-base database to a target directory via the
|
|
23
|
-
* provided client.
|
|
24
|
-
*
|
|
25
|
-
* The target path is taken from `options.args[0]`. When no argument
|
|
26
|
-
* is given the daemon resolves its own default (`./kbdb-export/`).
|
|
27
|
-
*
|
|
28
|
-
* @param client - export client to delegate to
|
|
29
|
-
* @param options - parsed CLI options whose first positional
|
|
30
|
-
* argument, if present, is the target directory path
|
|
31
|
-
* @returns the export result containing the resolved path and file
|
|
32
|
-
* counts
|
|
33
|
-
*/
|
|
34
|
-
export async function runExport(
|
|
35
|
-
client: ExportClient,
|
|
36
|
-
options: CliOptions,
|
|
37
|
-
): Promise<ExportResult> {
|
|
38
|
-
const path = options.args[0];
|
|
39
|
-
return client.export({ path });
|
|
40
|
-
}
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import type { CliOptions } from '../typings/cli-options.interface.ts';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Garbage collection report returned by the daemon.
|
|
5
|
-
*/
|
|
6
|
-
interface GcResult {
|
|
7
|
-
/** Number of unreferenced sections removed. */
|
|
8
|
-
readonly removed_sections: number;
|
|
9
|
-
/** Total bytes freed by removing unreferenced sections. */
|
|
10
|
-
readonly removed_bytes: number;
|
|
11
|
-
/** Time taken to complete garbage collection, in milliseconds. */
|
|
12
|
-
readonly elapsed_ms: number;
|
|
13
|
-
/**
|
|
14
|
-
* Number of sections whose `source_path` file no longer
|
|
15
|
-
* contains their heading text (advisory; not auto-removed).
|
|
16
|
-
* Absent on older daemon versions.
|
|
17
|
-
*/
|
|
18
|
-
readonly stale_sources?: number;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* Minimal client interface required by `runGc`.
|
|
23
|
-
*
|
|
24
|
-
* Decouples the CLI function from the concrete `WorkerClient`
|
|
25
|
-
* implementation, making it straightforward to test with mocks.
|
|
26
|
-
*/
|
|
27
|
-
export interface GcClient {
|
|
28
|
-
/**
|
|
29
|
-
* Removes unreferenced sections from the database.
|
|
30
|
-
*
|
|
31
|
-
* @returns a report of sections removed and bytes freed
|
|
32
|
-
*/
|
|
33
|
-
gc(): Promise<GcResult>;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
/**
|
|
37
|
-
* Runs garbage collection on the database and returns the report.
|
|
38
|
-
*
|
|
39
|
-
* Delegates to `client.gc()`. The caller is responsible for printing
|
|
40
|
-
* the result to stdout.
|
|
41
|
-
*
|
|
42
|
-
* @param client - gc client to delegate to
|
|
43
|
-
* @param _options - parsed CLI options (unused; reserved for future flags)
|
|
44
|
-
* @returns the garbage collection report from the daemon
|
|
45
|
-
*/
|
|
46
|
-
export async function runGc(
|
|
47
|
-
client: GcClient,
|
|
48
|
-
_options: CliOptions,
|
|
49
|
-
): Promise<GcResult> {
|
|
50
|
-
return client.gc();
|
|
51
|
-
}
|
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
import { existsSync, mkdirSync, writeFileSync } from 'node:fs';
|
|
2
|
-
import { join, resolve } from 'node:path';
|
|
3
|
-
import type { CliOptions } from '../typings/cli-options.interface.ts';
|
|
4
|
-
import { installDefaultSkills } from './install-default-skills.function.ts';
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* Result returned by `runInit` describing whether the directory was
|
|
8
|
-
* successfully initialised.
|
|
9
|
-
*/
|
|
10
|
-
export interface InitResult {
|
|
11
|
-
/** `true` when the database directory was created successfully. */
|
|
12
|
-
readonly ok: boolean;
|
|
13
|
-
/** Absolute path to the directory that was (or should have been) initialised. */
|
|
14
|
-
readonly targetPath: string;
|
|
15
|
-
/**
|
|
16
|
-
* Human-readable error message when `ok` is `false`.
|
|
17
|
-
* `undefined` when `ok` is `true`.
|
|
18
|
-
*/
|
|
19
|
-
readonly errorMessage?: string;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
const DB_FORMAT_VERSION = 1;
|
|
23
|
-
|
|
24
|
-
const CATALOG_TOML = `version = ${DB_FORMAT_VERSION.toString()}
|
|
25
|
-
section_count = 0
|
|
26
|
-
document_count = 0
|
|
27
|
-
created_at = 0
|
|
28
|
-
updated_at = 0
|
|
29
|
-
checksum = ""
|
|
30
|
-
`;
|
|
31
|
-
|
|
32
|
-
const WORKER_TOML = '# kbdb worker configuration\n';
|
|
33
|
-
|
|
34
|
-
const GITIGNORE = [
|
|
35
|
-
'# kbdb binary indexes (auto-generated)',
|
|
36
|
-
'corpus.bin',
|
|
37
|
-
'inverted.idx',
|
|
38
|
-
'positional.idx',
|
|
39
|
-
'',
|
|
40
|
-
].join('\n');
|
|
41
|
-
|
|
42
|
-
/**
|
|
43
|
-
* Creates the `.kbdb` directory scaffold directly on disk.
|
|
44
|
-
*
|
|
45
|
-
* This mirrors the Rust `init_directory` in
|
|
46
|
-
* `engine/crates/fs-database/src/scaffold.rs` and does not
|
|
47
|
-
* require a running worker daemon.
|
|
48
|
-
*/
|
|
49
|
-
function createScaffold(dbDir: string): void {
|
|
50
|
-
mkdirSync(dbDir, { recursive: true });
|
|
51
|
-
mkdirSync(join(dbDir, 'sections'));
|
|
52
|
-
mkdirSync(join(dbDir, 'documents'));
|
|
53
|
-
writeFileSync(join(dbDir, 'catalog.toml'), CATALOG_TOML);
|
|
54
|
-
writeFileSync(join(dbDir, 'corpus.bin'), '');
|
|
55
|
-
writeFileSync(join(dbDir, 'inverted.idx'), '');
|
|
56
|
-
writeFileSync(join(dbDir, 'positional.idx'), '');
|
|
57
|
-
writeFileSync(join(dbDir, 'worker.toml'), WORKER_TOML);
|
|
58
|
-
writeFileSync(join(dbDir, '.gitignore'), GITIGNORE);
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
/**
|
|
62
|
-
* Initialises a new `.kbdb` database directory.
|
|
63
|
-
*
|
|
64
|
-
* Creates the full scaffold directly on disk without requiring a
|
|
65
|
-
* running worker daemon. Resolves the target path from
|
|
66
|
-
* `options.dbPath` or `process.cwd()`.
|
|
67
|
-
*
|
|
68
|
-
* @param options - parsed CLI options supplying the optional `dbPath`
|
|
69
|
-
* @returns init result indicating success or failure
|
|
70
|
-
*/
|
|
71
|
-
export function runInit(options: CliOptions): InitResult {
|
|
72
|
-
const basePath = options.dbPath
|
|
73
|
-
? resolve(options.dbPath)
|
|
74
|
-
: process.cwd();
|
|
75
|
-
const dbDir = join(basePath, '.kbdb');
|
|
76
|
-
|
|
77
|
-
try {
|
|
78
|
-
if (existsSync(dbDir)) {
|
|
79
|
-
return {
|
|
80
|
-
ok: false,
|
|
81
|
-
targetPath: dbDir,
|
|
82
|
-
errorMessage: `database directory already exists: ${dbDir}`,
|
|
83
|
-
};
|
|
84
|
-
}
|
|
85
|
-
createScaffold(dbDir);
|
|
86
|
-
installDefaultSkills(dbDir);
|
|
87
|
-
return { ok: true, targetPath: dbDir };
|
|
88
|
-
} catch (err: unknown) {
|
|
89
|
-
const errorMessage =
|
|
90
|
-
err instanceof Error ? err.message : String(err);
|
|
91
|
-
return { ok: false, targetPath: dbDir, errorMessage };
|
|
92
|
-
}
|
|
93
|
-
}
|