@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
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
# 0.4.0
|
|
2
|
+
|
|
3
|
+
*Minor release -- 2026-06-25*
|
|
4
|
+
|
|
5
|
+
Rust engine refactor, daemon reliability, publishing
|
|
6
|
+
fixes, and documentation accuracy audit.
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## Engine
|
|
11
|
+
|
|
12
|
+
- **Rust engine refactor** -- extracted specs into
|
|
13
|
+
separate files, split large modules across all
|
|
14
|
+
four crates for readability and maintainability.
|
|
15
|
+
|
|
16
|
+
## Daemon
|
|
17
|
+
|
|
18
|
+
- **Reliability fixes** -- improved daemon startup,
|
|
19
|
+
error handling, and shutdown behaviour.
|
|
20
|
+
- **UX improvements** -- clearer error messages and
|
|
21
|
+
exit codes from the worker daemon.
|
|
22
|
+
|
|
23
|
+
## CLI
|
|
24
|
+
|
|
25
|
+
- **Optional `--db`** -- the `--db` flag is now
|
|
26
|
+
optional. kbdb walks up from the current directory
|
|
27
|
+
to find `.kbdb`. Set `KBDB_DB_DIR` as an
|
|
28
|
+
alternative. Resolution order: `--db` flag >
|
|
29
|
+
`KBDB_DB_DIR` env var > upward traversal from cwd.
|
|
30
|
+
- **Request timeout** -- per-request timeout via
|
|
31
|
+
`--timeout-ms` flag or `KBDB_DAEMON_TIMEOUT` env
|
|
32
|
+
var (default 30 000 ms).
|
|
33
|
+
- **Automatic retry** -- on timeout, the CLI
|
|
34
|
+
respawns the daemon and retries. Configurable via
|
|
35
|
+
`--retry` flag or `KBDB_RETRY` env var (default 5).
|
|
36
|
+
- **Breaking: `KBDB_DIR` renamed to `KBDB_DB_DIR`**
|
|
37
|
+
-- update MCP server configs and scripts that
|
|
38
|
+
reference the old variable name.
|
|
39
|
+
|
|
40
|
+
## MCP Server
|
|
41
|
+
|
|
42
|
+
- **Version reports package version** -- the MCP
|
|
43
|
+
`initialize` response now uses the `VERSION`
|
|
44
|
+
constant instead of a hardcoded `'0.1.0'` string.
|
|
45
|
+
Clients see the real server version.
|
|
46
|
+
- **Retry on timeout** -- tool calls and resource
|
|
47
|
+
reads automatically retry with a fresh daemon
|
|
48
|
+
connection when the worker times out.
|
|
49
|
+
|
|
50
|
+
## Packaging
|
|
51
|
+
|
|
52
|
+
- **Trimmed npm package** -- removed raw TypeScript
|
|
53
|
+
source files from the npm tarball. Package dropped
|
|
54
|
+
from 908 files / 6.7 MB to 545 files / 4.5 MB.
|
|
55
|
+
JSR still includes sources as required.
|
|
56
|
+
|
|
57
|
+
## Documentation
|
|
58
|
+
|
|
59
|
+
- **README accuracy audit** -- removed overstated
|
|
60
|
+
claims about reStructuredText/AsciiDoc parsing
|
|
61
|
+
and sync feature. Added npm/JSR/license badges
|
|
62
|
+
and a beta status line.
|
|
63
|
+
- **CLAUDE.md updated** -- corrected outdated
|
|
64
|
+
statement about the WASM-to-host bridge being
|
|
65
|
+
stubbed. The bridge is fully implemented and
|
|
66
|
+
tested.
|
|
67
|
+
- **Docs alignment** -- knowledge-base guide updated
|
|
68
|
+
to match README on supported file formats.
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## Upgrade
|
|
73
|
+
|
|
74
|
+
```sh
|
|
75
|
+
# Node.js
|
|
76
|
+
npm install -g @dikolab/kbdb@0.4.0
|
|
77
|
+
|
|
78
|
+
# Deno
|
|
79
|
+
deno install -Agf jsr:@dikolab/kbdb/cli
|
|
80
|
+
```
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
# 0.4.1
|
|
2
|
+
|
|
3
|
+
*Patch release -- 2026-06-26*
|
|
4
|
+
|
|
5
|
+
Built-in TF-IDF embedding provider so hybrid search
|
|
6
|
+
works out of the box with zero configuration.
|
|
7
|
+
Structured logging across the entire TypeScript
|
|
8
|
+
layer with configurable verbosity. Daemon lifecycle
|
|
9
|
+
fixes for reliable shutdown on bare Linux TTY.
|
|
10
|
+
Non-interactive mode for scripts, CI, and automated
|
|
11
|
+
testing.
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## Engine
|
|
16
|
+
|
|
17
|
+
- **New WASM crate: `kbdb-default-embedding`** --
|
|
18
|
+
computes 256-dimensional feature-hashed sublinear
|
|
19
|
+
TF vectors using FNV-1a with the sign trick
|
|
20
|
+
(Weinberger et al., 2009). Pure computation, no
|
|
21
|
+
host imports.
|
|
22
|
+
- **Pipeline moved to `kbdb-shared`** -- the 9-stage
|
|
23
|
+
tokenization pipeline (NFC normalization, Unicode
|
|
24
|
+
segmentation, camelCase splitting, stop-word
|
|
25
|
+
removal, synonym expansion, Snowball stemming)
|
|
26
|
+
moved from `kbdb-query-parser` to `kbdb-shared`.
|
|
27
|
+
Both `kbdb-query-parser` and
|
|
28
|
+
`kbdb-default-embedding` now share a single source
|
|
29
|
+
of truth, keeping TF-IDF vectors token-consistent
|
|
30
|
+
with the lexical index.
|
|
31
|
+
|
|
32
|
+
## Daemon
|
|
33
|
+
|
|
34
|
+
- **Loads `default-embedding.wasm` at startup** --
|
|
35
|
+
the worker daemon loads the new standalone WASM
|
|
36
|
+
module alongside the existing `kb-worker.wasm`.
|
|
37
|
+
If the module is missing, the daemon gracefully
|
|
38
|
+
falls back to `NullEmbeddingProvider`.
|
|
39
|
+
- **Daemon lifecycle fixes** -- socket-level
|
|
40
|
+
connection tracking replaces the broken
|
|
41
|
+
server-level `close` handler, so the idle timer
|
|
42
|
+
fires correctly. `stop()` force-closes lingering
|
|
43
|
+
sockets. `worker stop` polls until the daemon
|
|
44
|
+
actually exits (5 s cap) instead of fire-and-forget
|
|
45
|
+
SIGTERM. `retryOnTimeout` kills a stuck daemon
|
|
46
|
+
before spawning a fresh one.
|
|
47
|
+
- **Accepts `--log-level`** -- the daemon parses an
|
|
48
|
+
optional `--log-level <level>` argument forwarded
|
|
49
|
+
by the spawner from the `KBDB_LOG_LEVEL` env var.
|
|
50
|
+
|
|
51
|
+
## CLI
|
|
52
|
+
|
|
53
|
+
- **`--non-interactive` flag** -- suppresses
|
|
54
|
+
interactive prompts and uses default values.
|
|
55
|
+
When set, data commands that find no `.kbdb`
|
|
56
|
+
directory return an error instead of prompting
|
|
57
|
+
to create one.
|
|
58
|
+
- **`KBDB_NON_INTERACTIVE` env var** -- same effect
|
|
59
|
+
as `--non-interactive`. Accepts `1` or `true`.
|
|
60
|
+
CLI flag takes priority.
|
|
61
|
+
- **Deprecation warnings fixed** -- `--init` and
|
|
62
|
+
`--migrate` deprecation messages now emit at all
|
|
63
|
+
log levels. Previously they fired before log
|
|
64
|
+
configuration and were suppressed.
|
|
65
|
+
|
|
66
|
+
## Embedding
|
|
67
|
+
|
|
68
|
+
- **`TfidfEmbeddingProvider`** -- new provider backed
|
|
69
|
+
by the `kbdb-default-embedding` WASM module.
|
|
70
|
+
Returns 256-dimensional L2-normalized vectors.
|
|
71
|
+
Model name: `tfidf-v1`.
|
|
72
|
+
- **New factory default** -- when no `[embedding]`
|
|
73
|
+
section is present in `worker.toml`, the factory
|
|
74
|
+
returns `TfidfEmbeddingProvider` instead of
|
|
75
|
+
`NullEmbeddingProvider`. Hybrid and vector search
|
|
76
|
+
work without configuration.
|
|
77
|
+
- **Explicit disable** -- setting `provider = "none"`
|
|
78
|
+
in `worker.toml` still returns
|
|
79
|
+
`NullEmbeddingProvider`, which rejects hybrid and
|
|
80
|
+
vector search with a structured error.
|
|
81
|
+
|
|
82
|
+
## Logging
|
|
83
|
+
|
|
84
|
+
- **New `log` module** (`src/shared/log/`) --
|
|
85
|
+
structured logging with four levels (`DEBUG`,
|
|
86
|
+
`INFO`, `WARNING`, `ERROR`), per-level Unicode
|
|
87
|
+
icons (▸ℹ⚠✖), per-level ANSI colors, and
|
|
88
|
+
configurable output targets. Default level is
|
|
89
|
+
`ERROR` (errors only).
|
|
90
|
+
- **CLI verbose flags** -- `-v` (warnings), `-vv`
|
|
91
|
+
(info), `-vvv` (debug). `-v` is reassigned from
|
|
92
|
+
`--version` to `--verbose`; `--version` has no
|
|
93
|
+
short alias.
|
|
94
|
+
- **`KBDB_LOG_LEVEL` env var** -- accepts `debug`,
|
|
95
|
+
`info`, `warning`, `error` (case-insensitive).
|
|
96
|
+
CLI flags take priority over the env var.
|
|
97
|
+
- **Comprehensive lifecycle logging** -- milestone
|
|
98
|
+
logging at key process points across CLI command
|
|
99
|
+
runners, MCP server lifecycle, worker daemon IPC
|
|
100
|
+
dispatch, embedding providers, worker client
|
|
101
|
+
discovery, and auto-capture. Full IPC lifecycle
|
|
102
|
+
coverage: daemon startup/shutdown, socket
|
|
103
|
+
connections, request dispatch, retry logic,
|
|
104
|
+
daemon discovery, write lock events, and idle
|
|
105
|
+
timer. Pre-throw error logging at all throw
|
|
106
|
+
sites. All `console.error` calls replaced with
|
|
107
|
+
`log()`.
|
|
108
|
+
|
|
109
|
+
## Documentation
|
|
110
|
+
|
|
111
|
+
- **Hybrid search docs aligned** -- updated
|
|
112
|
+
architecture, CLI/MCP surface, and design
|
|
113
|
+
constraint sections to reflect the new WASM crate
|
|
114
|
+
and `--algo` flag.
|
|
115
|
+
- **Worker daemon docs updated** -- WASM module
|
|
116
|
+
count, loading diagram, and distribution section
|
|
117
|
+
now describe four modules.
|
|
118
|
+
- **Factory docs corrected** -- `type:` references
|
|
119
|
+
fixed to `provider:`, factory mapping table
|
|
120
|
+
updated for the new default.
|
|
121
|
+
- **Log module docs added** -- module overview,
|
|
122
|
+
functions reference, typings reference, and
|
|
123
|
+
constants reference under
|
|
124
|
+
`docs/modules/typescript/shared/log/`.
|
|
125
|
+
- **CLI and worker daemon docs updated** -- verbose
|
|
126
|
+
flags (`-v`/`-vv`/`-vvv`), `--log-level` arg,
|
|
127
|
+
`KBDB_LOG_LEVEL` env var documented across CLI,
|
|
128
|
+
worker daemon, and shared module pages.
|
|
129
|
+
- **E2E test harness hardened** -- `run_kbdb`
|
|
130
|
+
wrapper wraps all `kbdb` calls in `timeout -k 5`
|
|
131
|
+
with SIGKILL fallback. Timeouts report as test
|
|
132
|
+
failures. GNU `coreutils` added to Docker image.
|
|
133
|
+
Non-interactive mode enabled for all E2E tests.
|
|
134
|
+
- **Completed todos and issues archived** -- three
|
|
135
|
+
todo docs (pipeline move, TF-IDF provider, default
|
|
136
|
+
wiring) and two issue docs (daemon lifecycle hang,
|
|
137
|
+
hybrid search errors) moved to `archived/`.
|
|
138
|
+
|
|
139
|
+
---
|
|
140
|
+
|
|
141
|
+
## Upgrade
|
|
142
|
+
|
|
143
|
+
```sh
|
|
144
|
+
# Node.js
|
|
145
|
+
npm install -g @dikolab/kbdb@0.4.1
|
|
146
|
+
|
|
147
|
+
# Deno
|
|
148
|
+
deno install -Agf jsr:@dikolab/kbdb/cli
|
|
149
|
+
```
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
## Releases
|
|
4
4
|
|
|
5
|
+
- [0.4.0](0.4.0.md) -- Engine refactor, daemon reliability, publishing fixes
|
|
5
6
|
- [0.3.2](0.3.2.md) -- Docs alignment, hybrid search highlight, readability
|
|
6
7
|
- [0.3.1](0.3.1.md) -- MCP reliability fixes, 20 tools, zero test skips
|
|
7
8
|
- [0.3.0](0.3.0.md) -- Supersession, relaxed queries, export, tags, confidence
|
package/mod.ts
CHANGED
|
@@ -24,20 +24,38 @@
|
|
|
24
24
|
* ```
|
|
25
25
|
*/
|
|
26
26
|
|
|
27
|
+
/** Semantic version string matching `package.json`. */
|
|
27
28
|
export { version } from './src/shared/mod.ts';
|
|
28
29
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
export
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
30
|
+
/** Creates a connected worker client for the given database. */
|
|
31
|
+
export { createWorkerClient } from './src/shared/worker-client/index.ts';
|
|
32
|
+
|
|
33
|
+
/** Persistent client wrapping JSON-RPC calls to the daemon. */
|
|
34
|
+
export { WorkerClient } from './src/shared/worker-client/index.ts';
|
|
35
|
+
|
|
36
|
+
/** Resolves a parent directory to the `.kbdb` path inside it. */
|
|
37
|
+
export { resolveDbPath } from './src/shared/worker-client/index.ts';
|
|
38
|
+
|
|
39
|
+
/** Derives the 16-char hex context ID from an absolute path. */
|
|
40
|
+
export { computeContextId } from './src/shared/worker-client/index.ts';
|
|
41
|
+
|
|
42
|
+
/** Returns a cached client or creates a new one for the given path. */
|
|
43
|
+
export { getOrCreateClient } from './src/shared/worker-client/index.ts';
|
|
44
|
+
|
|
45
|
+
/** Options accepted by {@linkcode createWorkerClient}. */
|
|
46
|
+
export type { WorkerClientOptions } from './src/shared/worker-client/index.ts';
|
|
47
|
+
|
|
48
|
+
/** Parameters for a search query. */
|
|
49
|
+
export type { SearchParams } from './src/shared/worker-client/index.ts';
|
|
50
|
+
|
|
51
|
+
/** A single ranked result returned by search. */
|
|
52
|
+
export type { SearchResult } from './src/shared/worker-client/index.ts';
|
|
53
|
+
|
|
54
|
+
/** Raw section record stored on disk. */
|
|
55
|
+
export type { Section } from './src/shared/worker-client/index.ts';
|
|
56
|
+
|
|
57
|
+
/** Parameters for adding a new section. */
|
|
58
|
+
export type { AddSectionParams } from './src/shared/worker-client/index.ts';
|
|
59
|
+
|
|
60
|
+
/** Database status snapshot returned by `client.status()`. */
|
|
61
|
+
export type { StatusResult } from './src/shared/worker-client/index.ts';
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dikolab/kbdb",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "CLI tool and MCP server for a file-based knowledge base database",
|
|
3
|
+
"version": "0.4.1",
|
|
4
|
+
"description": "CLI tool and MCP server for a file-based knowledge base database -- index documents, search with ranked results, and recall context for AI agents",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
7
7
|
},
|
|
@@ -17,13 +17,15 @@
|
|
|
17
17
|
"license": "ISC",
|
|
18
18
|
"repository": {
|
|
19
19
|
"type": "git",
|
|
20
|
-
"url": "git
|
|
20
|
+
"url": "git+https://gitlab.com/tech-slaves/knowledge-base-db.git"
|
|
21
|
+
},
|
|
22
|
+
"homepage": "https://gitlab.com/tech-slaves/knowledge-base-db#readme",
|
|
23
|
+
"bugs": {
|
|
24
|
+
"url": "https://gitlab.com/tech-slaves/knowledge-base-db/-/issues"
|
|
21
25
|
},
|
|
22
26
|
"files": [
|
|
23
27
|
"dist/**/*",
|
|
24
28
|
"mod.ts",
|
|
25
|
-
"src/**/*",
|
|
26
|
-
"!src/**/*.spec.ts",
|
|
27
29
|
"LICENSE",
|
|
28
30
|
"README.md",
|
|
29
31
|
"docs/details/**/*.md",
|
|
@@ -37,26 +39,25 @@
|
|
|
37
39
|
"module": "./dist/mod.mjs",
|
|
38
40
|
"types": "./dist/mod.d.ts",
|
|
39
41
|
"bin": {
|
|
40
|
-
"kbdb": "./dist/cli.cjs"
|
|
41
|
-
"kbdb-worker": "./dist/kbdb-worker.cjs"
|
|
42
|
+
"kbdb": "./dist/cli.cjs"
|
|
42
43
|
},
|
|
43
44
|
"exports": {
|
|
44
45
|
".": {
|
|
45
|
-
"deno": "./mod.ts",
|
|
46
46
|
"types": "./dist/mod.d.ts",
|
|
47
|
+
"deno": "./mod.ts",
|
|
47
48
|
"import": "./dist/mod.mjs",
|
|
48
49
|
"require": "./dist/mod.cjs",
|
|
49
50
|
"default": "./dist/mod.mjs"
|
|
50
51
|
},
|
|
51
52
|
"./cli": {
|
|
53
|
+
"types": "./dist/cli.d.ts",
|
|
52
54
|
"deno": "./src/cli.ts",
|
|
53
|
-
"types": "./dist/src/cli.d.ts",
|
|
54
55
|
"import": "./dist/cli.mjs",
|
|
55
56
|
"default": "./dist/cli.mjs"
|
|
56
57
|
},
|
|
57
58
|
"./worker": {
|
|
59
|
+
"types": "./dist/worker.d.ts",
|
|
58
60
|
"deno": "./src/worker.ts",
|
|
59
|
-
"types": "./dist/src/worker.d.ts",
|
|
60
61
|
"import": "./dist/worker.mjs",
|
|
61
62
|
"default": "./dist/worker.mjs"
|
|
62
63
|
}
|
|
@@ -69,7 +70,7 @@
|
|
|
69
70
|
"lint:fix": "eslint --fix",
|
|
70
71
|
"test": "vitest --run",
|
|
71
72
|
"build": "node esbuild.config.js",
|
|
72
|
-
"build:wasm": "cd engine && wasm-pack build crates/query-parser --target no-modules --out-dir ../../../src/wasm/query-parser && wasm-pack build crates/fs-database --target no-modules --out-dir ../../../src/wasm/fs-database && wasm-pack build crates/kb-worker --target no-modules --out-dir ../../../src/wasm/kb-worker",
|
|
73
|
+
"build:wasm": "cd engine && wasm-pack build crates/query-parser --target no-modules --out-dir ../../../src/wasm/query-parser && wasm-pack build crates/fs-database --target no-modules --out-dir ../../../src/wasm/fs-database && wasm-pack build crates/default-embedding --target no-modules --out-dir ../../../src/wasm/default-embedding && wasm-pack build crates/kb-worker --target no-modules --out-dir ../../../src/wasm/kb-worker",
|
|
73
74
|
"build:all": "npm run build:wasm && npm run build"
|
|
74
75
|
},
|
|
75
76
|
"devDependencies": {
|
package/dist/chunk-JG2UCKLI.mjs
DELETED
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
// src/shared/runtime/functions/detect-runtime.ts
|
|
2
|
-
function detectRuntime() {
|
|
3
|
-
if (typeof globalThis !== "undefined" && "Deno" in globalThis) {
|
|
4
|
-
return "deno";
|
|
5
|
-
}
|
|
6
|
-
return "node";
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
// src/shared/runtime/functions/get-args.ts
|
|
10
|
-
function getArgs() {
|
|
11
|
-
if (detectRuntime() === "deno") {
|
|
12
|
-
const g = globalThis;
|
|
13
|
-
const deno = g["Deno"];
|
|
14
|
-
return deno?.args ?? [];
|
|
15
|
-
}
|
|
16
|
-
return process.argv.slice(2);
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
// src/shared/dir-resolver/functions/resolve-base-dir.function.ts
|
|
20
|
-
import { dirname } from "node:path";
|
|
21
|
-
import { fileURLToPath } from "node:url";
|
|
22
|
-
function resolveScriptDir(entryUrl, entryDirname) {
|
|
23
|
-
if (entryDirname) return entryDirname;
|
|
24
|
-
if (entryUrl.startsWith("file:"))
|
|
25
|
-
return dirname(fileURLToPath(entryUrl));
|
|
26
|
-
return dirname(entryUrl);
|
|
27
|
-
}
|
|
28
|
-
function resolveBaseDir(entryUrl, entryDirname) {
|
|
29
|
-
const scriptDir = typeof __dirname !== "undefined" ? __dirname : resolveScriptDir(entryUrl, entryDirname);
|
|
30
|
-
return { scriptDir, cwd: process.cwd() };
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
// src/shared/dir-resolver/functions/join-path.function.ts
|
|
34
|
-
import { join } from "node:path";
|
|
35
|
-
function isRemoteUrl(path) {
|
|
36
|
-
return path.startsWith("http://") || path.startsWith("https://");
|
|
37
|
-
}
|
|
38
|
-
function joinPath(base, ...segments) {
|
|
39
|
-
if (isRemoteUrl(base)) {
|
|
40
|
-
const trailing = base.endsWith("/") ? "" : "/";
|
|
41
|
-
return base + trailing + segments.join("/");
|
|
42
|
-
}
|
|
43
|
-
return join(base, ...segments);
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
// src/shared/dir-resolver/functions/resolve-worker-script.function.ts
|
|
47
|
-
function resolveWorkerScript(scriptDir, runtime) {
|
|
48
|
-
if (runtime === "deno") {
|
|
49
|
-
return joinPath(scriptDir, "worker.ts");
|
|
50
|
-
}
|
|
51
|
-
return joinPath(scriptDir, "kbdb-worker.cjs");
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
// src/shared/dir-resolver/functions/resolve-wasm-dir.function.ts
|
|
55
|
-
function resolveWasmDir(scriptDir) {
|
|
56
|
-
return joinPath(scriptDir, "wasm");
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
// src/shared/hash/functions/compute-sha256.ts
|
|
60
|
-
async function computeSha256(input) {
|
|
61
|
-
const data = new TextEncoder().encode(input);
|
|
62
|
-
const hash = await crypto.subtle.digest("SHA-256", data);
|
|
63
|
-
const bytes = new Uint8Array(hash);
|
|
64
|
-
return Array.from(bytes).map((b) => b.toString(16).padStart(2, "0")).join("");
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
// src/shared/platform/functions/get-ipc-path.function.ts
|
|
68
|
-
import { join as join2 } from "node:path";
|
|
69
|
-
|
|
70
|
-
// src/shared/platform/functions/get-tmpdir.function.ts
|
|
71
|
-
import { tmpdir } from "node:os";
|
|
72
|
-
function getTmpdir() {
|
|
73
|
-
return tmpdir();
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
// src/shared/platform/functions/get-ipc-path.function.ts
|
|
77
|
-
function getIpcPath(ctx) {
|
|
78
|
-
if (process.platform === "win32") {
|
|
79
|
-
return `\\\\.\\pipe\\kbdb-${ctx}`;
|
|
80
|
-
}
|
|
81
|
-
return join2(getTmpdir(), `kbdb-${ctx}.sock`);
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
export {
|
|
85
|
-
detectRuntime,
|
|
86
|
-
getArgs,
|
|
87
|
-
resolveBaseDir,
|
|
88
|
-
isRemoteUrl,
|
|
89
|
-
joinPath,
|
|
90
|
-
resolveWorkerScript,
|
|
91
|
-
resolveWasmDir,
|
|
92
|
-
computeSha256,
|
|
93
|
-
getIpcPath
|
|
94
|
-
};
|
|
95
|
-
//# sourceMappingURL=chunk-JG2UCKLI.mjs.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../src/shared/runtime/functions/detect-runtime.ts", "../src/shared/runtime/functions/get-args.ts", "../src/shared/dir-resolver/functions/resolve-base-dir.function.ts", "../src/shared/dir-resolver/functions/join-path.function.ts", "../src/shared/dir-resolver/functions/resolve-worker-script.function.ts", "../src/shared/dir-resolver/functions/resolve-wasm-dir.function.ts", "../src/shared/hash/functions/compute-sha256.ts", "../src/shared/platform/functions/get-ipc-path.function.ts", "../src/shared/platform/functions/get-tmpdir.function.ts"],
|
|
4
|
-
"sourcesContent": ["import type { Runtime } from '../typings/runtime.ts';\n\n/**\n * Detects the current JavaScript runtime environment.\n *\n * Returns `'deno'` when the global `Deno` object is present,\n * otherwise returns `'node'`.\n */\nexport function detectRuntime(): Runtime {\n if (typeof globalThis !== 'undefined' && 'Deno' in globalThis) {\n return 'deno';\n }\n return 'node';\n}\n", "import { detectRuntime } from './detect-runtime.ts';\n\n/**\n * Returns the command-line arguments for the current runtime.\n *\n * In Deno, reads `Deno.args`; in Node.js, slices `process.argv`\n * past the interpreter and script entries.\n */\nexport function getArgs(): string[] {\n if (detectRuntime() === 'deno') {\n const g = globalThis as Record<string, unknown>;\n const deno = g['Deno'] as { args: string[] } | undefined;\n return deno?.args ?? [];\n }\n return process.argv.slice(2);\n}\n", "import { dirname } from 'node:path';\nimport { fileURLToPath } from 'node:url';\n\nimport type { BaseDir } from '../typings/base-dir.interface.ts';\n\nexport function resolveScriptDir(\n entryUrl: string,\n entryDirname?: string,\n): string {\n if (entryDirname) return entryDirname;\n if (entryUrl.startsWith('file:'))\n return dirname(fileURLToPath(entryUrl));\n return dirname(entryUrl);\n}\n\nexport function resolveBaseDir(\n entryUrl: string,\n entryDirname?: string,\n): BaseDir {\n const scriptDir =\n typeof __dirname !== 'undefined'\n ? __dirname\n : resolveScriptDir(entryUrl, entryDirname);\n return { scriptDir, cwd: process.cwd() };\n}\n", "import { join } from 'node:path';\n\nexport function isRemoteUrl(path: string): boolean {\n return path.startsWith('http://') || path.startsWith('https://');\n}\n\nexport function joinPath(base: string, ...segments: string[]): string {\n if (isRemoteUrl(base)) {\n const trailing = base.endsWith('/') ? '' : '/';\n return base + trailing + segments.join('/');\n }\n return join(base, ...segments);\n}\n", "import { joinPath } from './join-path.function.ts';\n\nimport type { Runtime } from '../../runtime/typings/runtime.ts';\n\nexport function resolveWorkerScript(\n scriptDir: string,\n runtime: Runtime,\n): string {\n if (runtime === 'deno') {\n return joinPath(scriptDir, 'worker.ts');\n }\n return joinPath(scriptDir, 'kbdb-worker.cjs');\n}\n", "import { joinPath } from './join-path.function.ts';\n\nexport function resolveWasmDir(scriptDir: string): string {\n return joinPath(scriptDir, 'wasm');\n}\n", "/**\n * Computes the SHA-256 hash of a UTF-8 string.\n *\n * Uses the Web Crypto API (`crypto.subtle`), which is available\n * in both Deno and Node.js >= 20 without additional imports.\n *\n * @param input - the string to hash\n * @returns lowercase hex-encoded SHA-256 digest (64 characters)\n */\nexport async function computeSha256(input: string): Promise<string> {\n const data = new TextEncoder().encode(input);\n const hash = await crypto.subtle.digest('SHA-256', data);\n const bytes = new Uint8Array(hash);\n return Array.from(bytes)\n .map((b) => b.toString(16).padStart(2, '0'))\n .join('');\n}\n", "import { join } from 'node:path';\nimport { getTmpdir } from './get-tmpdir.function.ts';\n\n/**\n * Returns the platform-appropriate IPC socket path for a given\n * context identifier.\n *\n * On Windows, returns a named pipe path (`\\\\.\\pipe\\kbdb-<ctx>`).\n * On POSIX systems, returns a Unix domain socket path under the\n * system temp directory (`<tmpdir>/kbdb-<ctx>.sock`).\n *\n * @param ctx - unique context identifier embedded in the path\n */\nexport function getIpcPath(ctx: string): string {\n if (process.platform === 'win32') {\n return `\\\\\\\\.\\\\pipe\\\\kbdb-${ctx}`;\n }\n return join(getTmpdir(), `kbdb-${ctx}.sock`);\n}\n", "import { tmpdir } from 'node:os';\n\n/**\n * Returns the operating system's default temporary directory path.\n */\nexport function getTmpdir(): string {\n return tmpdir();\n}\n"],
|
|
5
|
-
"mappings": ";AAQO,SAAS,gBAAyB;AACtC,MAAI,OAAO,eAAe,eAAe,UAAU,YAAY;AAC5D,WAAO;AAAA,EACV;AACA,SAAO;AACV;;;ACLO,SAAS,UAAoB;AACjC,MAAI,cAAc,MAAM,QAAQ;AAC7B,UAAM,IAAI;AACV,UAAM,OAAO,EAAE,MAAM;AACrB,WAAO,MAAM,QAAQ,CAAC;AAAA,EACzB;AACA,SAAO,QAAQ,KAAK,MAAM,CAAC;AAC9B;;;ACfA,SAAS,eAAe;AACxB,SAAS,qBAAqB;AAIvB,SAAS,iBACb,UACA,cACO;AACP,MAAI,aAAc,QAAO;AACzB,MAAI,SAAS,WAAW,OAAO;AAC5B,WAAO,QAAQ,cAAc,QAAQ,CAAC;AACzC,SAAO,QAAQ,QAAQ;AAC1B;AAEO,SAAS,eACb,UACA,cACQ;AACR,QAAM,YACH,OAAO,cAAc,cAChB,YACA,iBAAiB,UAAU,YAAY;AAC/C,SAAO,EAAE,WAAW,KAAK,QAAQ,IAAI,EAAE;AAC1C;;;ACxBA,SAAS,YAAY;AAEd,SAAS,YAAY,MAAuB;AAChD,SAAO,KAAK,WAAW,SAAS,KAAK,KAAK,WAAW,UAAU;AAClE;AAEO,SAAS,SAAS,SAAiB,UAA4B;AACnE,MAAI,YAAY,IAAI,GAAG;AACpB,UAAM,WAAW,KAAK,SAAS,GAAG,IAAI,KAAK;AAC3C,WAAO,OAAO,WAAW,SAAS,KAAK,GAAG;AAAA,EAC7C;AACA,SAAO,KAAK,MAAM,GAAG,QAAQ;AAChC;;;ACRO,SAAS,oBACb,WACA,SACO;AACP,MAAI,YAAY,QAAQ;AACrB,WAAO,SAAS,WAAW,WAAW;AAAA,EACzC;AACA,SAAO,SAAS,WAAW,iBAAiB;AAC/C;;;ACVO,SAAS,eAAe,WAA2B;AACvD,SAAO,SAAS,WAAW,MAAM;AACpC;;;ACKA,eAAsB,cAAc,OAAgC;AACjE,QAAM,OAAO,IAAI,YAAY,EAAE,OAAO,KAAK;AAC3C,QAAM,OAAO,MAAM,OAAO,OAAO,OAAO,WAAW,IAAI;AACvD,QAAM,QAAQ,IAAI,WAAW,IAAI;AACjC,SAAO,MAAM,KAAK,KAAK,EACnB,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,SAAS,GAAG,GAAG,CAAC,EAC1C,KAAK,EAAE;AACd;;;AChBA,SAAS,QAAAA,aAAY;;;ACArB,SAAS,cAAc;AAKhB,SAAS,YAAoB;AACjC,SAAO,OAAO;AACjB;;;ADMO,SAAS,WAAW,KAAqB;AAC7C,MAAI,QAAQ,aAAa,SAAS;AAC/B,WAAO,qBAAqB,GAAG;AAAA,EAClC;AACA,SAAOC,MAAK,UAAU,GAAG,QAAQ,GAAG,OAAO;AAC9C;",
|
|
6
|
-
"names": ["join", "join"]
|
|
7
|
-
}
|
package/src/cli.ts
DELETED
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @module
|
|
3
|
-
*
|
|
4
|
-
* CLI and MCP server executable for kbdb. Provides the
|
|
5
|
-
* `kbdb` command with 18 subcommands for managing a
|
|
6
|
-
* file-based knowledge base, and an MCP server mode
|
|
7
|
-
* for AI agent integration.
|
|
8
|
-
*/
|
|
9
|
-
|
|
10
|
-
import { getArgs, detectRuntime } from './shared/runtime/index.ts';
|
|
11
|
-
import {
|
|
12
|
-
resolveBaseDir,
|
|
13
|
-
resolveWorkerScript,
|
|
14
|
-
} from './shared/dir-resolver/index.ts';
|
|
15
|
-
import {
|
|
16
|
-
runCli,
|
|
17
|
-
isStdinTty,
|
|
18
|
-
promptUser,
|
|
19
|
-
findDb,
|
|
20
|
-
runInit,
|
|
21
|
-
} from './shared/cli/index.ts';
|
|
22
|
-
import type { CliDeps } from './shared/cli/index.ts';
|
|
23
|
-
import { createWorkerClient } from './shared/worker-client/index.ts';
|
|
24
|
-
import { createMcpServer } from './shared/mcp/index.ts';
|
|
25
|
-
|
|
26
|
-
const runtime = detectRuntime();
|
|
27
|
-
const baseDir = resolveBaseDir(import.meta.url, import.meta.dirname);
|
|
28
|
-
const workerScript = resolveWorkerScript(baseDir.scriptDir, runtime);
|
|
29
|
-
|
|
30
|
-
const deps: CliDeps = {
|
|
31
|
-
isStdinTty,
|
|
32
|
-
promptUser,
|
|
33
|
-
createWorkerClient: (opts) =>
|
|
34
|
-
createWorkerClient({ ...opts, workerScript }),
|
|
35
|
-
findDb,
|
|
36
|
-
runInit,
|
|
37
|
-
startMcpServer: async (contextPath) => {
|
|
38
|
-
const client = await createWorkerClient({
|
|
39
|
-
contextPath,
|
|
40
|
-
workerScript,
|
|
41
|
-
});
|
|
42
|
-
try {
|
|
43
|
-
const server = createMcpServer(client);
|
|
44
|
-
await server.listen();
|
|
45
|
-
} finally {
|
|
46
|
-
client.disconnect();
|
|
47
|
-
}
|
|
48
|
-
},
|
|
49
|
-
};
|
|
50
|
-
|
|
51
|
-
async function main(): Promise<void> {
|
|
52
|
-
const result = await runCli(getArgs(), deps);
|
|
53
|
-
if (result.output) {
|
|
54
|
-
// eslint-disable-next-line no-console
|
|
55
|
-
console.log(result.output);
|
|
56
|
-
}
|
|
57
|
-
if (result.error) {
|
|
58
|
-
// eslint-disable-next-line no-console
|
|
59
|
-
console.error(result.error);
|
|
60
|
-
}
|
|
61
|
-
if (result.exitCode !== 0) {
|
|
62
|
-
process.exitCode = result.exitCode;
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
main().catch((err: unknown) => {
|
|
67
|
-
const msg = err instanceof Error ? err.message : String(err);
|
|
68
|
-
// eslint-disable-next-line no-console
|
|
69
|
-
console.error(`error: ${msg}`);
|
|
70
|
-
process.exitCode = 1;
|
|
71
|
-
});
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
import type { AutoCaptureConfig } from '../typings/auto-capture-config.interface.ts';
|
|
2
|
-
import type { AutoCaptureState } from '../typings/auto-capture-state.interface.ts';
|
|
3
|
-
import type { AutoCaptureTrigger } from '../typings/auto-capture-trigger.interface.ts';
|
|
4
|
-
import { evaluateTrigger } from '../functions/evaluate-trigger.function.ts';
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* Controls the auto-capture lifecycle.
|
|
8
|
-
*
|
|
9
|
-
* Tracks tool call counts, evaluates trigger conditions, and
|
|
10
|
-
* advances session state when a capture fires. Reset state on
|
|
11
|
-
* disconnect or session end via `reset()`.
|
|
12
|
-
*/
|
|
13
|
-
export class AutoCaptureController {
|
|
14
|
-
private toolCallsSinceLastCapture = 0;
|
|
15
|
-
private lastCaptureTimestamp = 0;
|
|
16
|
-
private totalCapturesThisSession = 0;
|
|
17
|
-
private readonly config: AutoCaptureConfig;
|
|
18
|
-
|
|
19
|
-
/** @param config - the auto-capture configuration to use */
|
|
20
|
-
constructor(config: AutoCaptureConfig) {
|
|
21
|
-
this.config = config;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
/** Record one tool call for trigger counting. */
|
|
25
|
-
recordToolCall(): void {
|
|
26
|
-
this.toolCallsSinceLastCapture += 1;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
/**
|
|
30
|
-
* Evaluates the current state against the trigger criteria.
|
|
31
|
-
*
|
|
32
|
-
* When the trigger fires, advances the session counters so the
|
|
33
|
-
* next evaluation respects rate limiting and the session cap.
|
|
34
|
-
*
|
|
35
|
-
* @returns the trigger decision with a human-readable reason
|
|
36
|
-
*/
|
|
37
|
-
evaluate(): AutoCaptureTrigger {
|
|
38
|
-
const trigger = evaluateTrigger(this.config, this.state());
|
|
39
|
-
if (trigger.shouldCapture) {
|
|
40
|
-
this.totalCapturesThisSession += 1;
|
|
41
|
-
this.lastCaptureTimestamp = Date.now();
|
|
42
|
-
this.toolCallsSinceLastCapture = 0;
|
|
43
|
-
}
|
|
44
|
-
return trigger;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
/** Reset all counters, e.g. on client disconnect. */
|
|
48
|
-
reset(): void {
|
|
49
|
-
this.toolCallsSinceLastCapture = 0;
|
|
50
|
-
this.lastCaptureTimestamp = 0;
|
|
51
|
-
this.totalCapturesThisSession = 0;
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
/** Returns a snapshot of the current controller state. */
|
|
55
|
-
state(): AutoCaptureState {
|
|
56
|
-
return {
|
|
57
|
-
toolCallsSinceLastCapture: this.toolCallsSinceLastCapture,
|
|
58
|
-
lastCaptureTimestamp: this.lastCaptureTimestamp,
|
|
59
|
-
totalCapturesThisSession: this.totalCapturesThisSession,
|
|
60
|
-
};
|
|
61
|
-
}
|
|
62
|
-
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import type { AutoCaptureConfig } from '../typings/auto-capture-config.interface.ts';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Default configuration for the auto-capture feature.
|
|
5
|
-
*
|
|
6
|
-
* Auto-capture is disabled by default. Enable it in
|
|
7
|
-
* `worker.toml` under `[auto_capture]`.
|
|
8
|
-
*/
|
|
9
|
-
export const AUTO_CAPTURE_DEFAULTS: AutoCaptureConfig = {
|
|
10
|
-
enabled: false,
|
|
11
|
-
triggerAfterToolCalls: 5,
|
|
12
|
-
minIntervalMs: 60_000,
|
|
13
|
-
maxCapturesPerSession: 10,
|
|
14
|
-
dryRun: false,
|
|
15
|
-
};
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Builds the MCP sampling prompt for knowledge extraction.
|
|
3
|
-
*
|
|
4
|
-
* Instructs the host LLM to identify durable factual knowledge
|
|
5
|
-
* from the recent conversation context, filter out ephemeral or
|
|
6
|
-
* task-specific information, and format the result for storage
|
|
7
|
-
* following memory-protocol criteria.
|
|
8
|
-
*
|
|
9
|
-
* @param recentContext - the conversation excerpt to analyse
|
|
10
|
-
*/
|
|
11
|
-
export function buildCapturePrompt(recentContext: string): string {
|
|
12
|
-
return (
|
|
13
|
-
'Review the following conversation context and identify' +
|
|
14
|
-
' factual knowledge worth storing in the knowledge base.\n\n' +
|
|
15
|
-
'Rules:\n' +
|
|
16
|
-
'- Include durable facts, decisions, preferences, and' +
|
|
17
|
-
' corrections that would be useful in future sessions.\n' +
|
|
18
|
-
'- Exclude ephemeral, task-specific, or temporary information' +
|
|
19
|
-
' that has no lasting value.\n' +
|
|
20
|
-
'- Format each piece of extracted knowledge as a concise' +
|
|
21
|
-
' statement suitable for direct storage.\n' +
|
|
22
|
-
'- If no durable knowledge is found, respond with an empty' +
|
|
23
|
-
' list.\n\n' +
|
|
24
|
-
'Conversation context:\n' +
|
|
25
|
-
recentContext
|
|
26
|
-
);
|
|
27
|
-
}
|