@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
package/docs/details/README.md
CHANGED
|
@@ -4,6 +4,10 @@ In-depth guides and reference for @dikolab/kbdb.
|
|
|
4
4
|
|
|
5
5
|
## Guides
|
|
6
6
|
|
|
7
|
+
- [Knowledge Base Guide](knowledge-base.md) --
|
|
8
|
+
Importing, searching, recall, sync & backup
|
|
9
|
+
- [Agent Tooling Guide](agent-tooling.md) -- MCP,
|
|
10
|
+
skills, agents, library API, worker daemon
|
|
7
11
|
- [CLI Reference](cli.md) -- Full command reference
|
|
8
12
|
with examples
|
|
9
13
|
- [MCP Server Setup](mcp-server.md) -- Configure
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
# Agent Tooling Guide
|
|
2
|
+
|
|
3
|
+
How to integrate kbdb with AI agents using the MCP
|
|
4
|
+
server, skills, agent profiles, and the library API.
|
|
5
|
+
|
|
6
|
+
## Overview
|
|
7
|
+
|
|
8
|
+
kbdb runs as an
|
|
9
|
+
[MCP](https://modelcontextprotocol.io/) server with
|
|
10
|
+
20 tools, giving AI agents a searchable second brain
|
|
11
|
+
that persists between sessions. Agents can search
|
|
12
|
+
your knowledge base, recall context progressively,
|
|
13
|
+
store reusable skills, and build agent profiles.
|
|
14
|
+
|
|
15
|
+
## MCP Server Setup
|
|
16
|
+
|
|
17
|
+
Add kbdb to your AI tool's MCP config. The setup is
|
|
18
|
+
the same for Claude Code, VS Code, Cursor, and
|
|
19
|
+
Claude Desktop -- just put the config in the right
|
|
20
|
+
file for your tool.
|
|
21
|
+
|
|
22
|
+
```json
|
|
23
|
+
{
|
|
24
|
+
"mcpServers": {
|
|
25
|
+
"kbdb": {
|
|
26
|
+
"command": "npx",
|
|
27
|
+
"args": [
|
|
28
|
+
"-y", "@dikolab/kbdb",
|
|
29
|
+
"mcp", "--db", "/path/to/.kbdb"
|
|
30
|
+
]
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
**Deno users:** replace `npx` / `-y` /
|
|
37
|
+
`@dikolab/kbdb` with `deno` / `run` / `-A` /
|
|
38
|
+
`jsr:@dikolab/kbdb/cli`.
|
|
39
|
+
|
|
40
|
+
Environment variables:
|
|
41
|
+
|
|
42
|
+
| Variable | Description |
|
|
43
|
+
|----------|-------------|
|
|
44
|
+
| `KBDB_DB_DIR` | Database path (replaces `--db`) |
|
|
45
|
+
| `KBDB_LOG_LEVEL` | `debug`, `info`, `warning`, `error` |
|
|
46
|
+
| `KBDB_NON_INTERACTIVE` | Suppress prompts (`1` / `true`) |
|
|
47
|
+
| `KBDB_DAEMON_TIMEOUT` | Request timeout in ms |
|
|
48
|
+
| `KBDB_RETRY` | Max retries on timeout |
|
|
49
|
+
|
|
50
|
+
See the [MCP Server Guide](mcp-server.md) for
|
|
51
|
+
environment variable config, multiple knowledge
|
|
52
|
+
bases, and the full 20-tool reference.
|
|
53
|
+
|
|
54
|
+
## Skills
|
|
55
|
+
|
|
56
|
+
Skills are reusable prompt templates with
|
|
57
|
+
fill-in-the-blank arguments.
|
|
58
|
+
|
|
59
|
+
```sh
|
|
60
|
+
kbdb skill learn --name "code-review" \
|
|
61
|
+
--body "Review this code for: {{focus}}" \
|
|
62
|
+
--db ./my-kb
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
Skills are stored in the knowledge base and
|
|
66
|
+
accessible to agents via MCP tools.
|
|
67
|
+
|
|
68
|
+
## Agent Profiles
|
|
69
|
+
|
|
70
|
+
Agent profiles combine a persona with a set of
|
|
71
|
+
skills.
|
|
72
|
+
|
|
73
|
+
```sh
|
|
74
|
+
kbdb agent create --name "reviewer" \
|
|
75
|
+
--persona "You are a senior code reviewer." \
|
|
76
|
+
--skills "code-review,style-check" \
|
|
77
|
+
--db ./my-kb
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
## Auto-Capture
|
|
81
|
+
|
|
82
|
+
The MCP server can proactively suggest knowledge
|
|
83
|
+
to store from conversations. When enabled,
|
|
84
|
+
auto-capture monitors tool call patterns and
|
|
85
|
+
triggers capture suggestions based on configurable
|
|
86
|
+
thresholds.
|
|
87
|
+
|
|
88
|
+
## Library API
|
|
89
|
+
|
|
90
|
+
Use kbdb programmatically in Node.js or Deno:
|
|
91
|
+
|
|
92
|
+
```typescript
|
|
93
|
+
import { createWorkerClient } from '@dikolab/kbdb';
|
|
94
|
+
|
|
95
|
+
const client = await createWorkerClient({
|
|
96
|
+
contextPath: '/path/to/.kbdb',
|
|
97
|
+
});
|
|
98
|
+
|
|
99
|
+
const results = await client.search({
|
|
100
|
+
query: 'authentication',
|
|
101
|
+
limit: 10,
|
|
102
|
+
});
|
|
103
|
+
|
|
104
|
+
console.log(results.items);
|
|
105
|
+
client.disconnect();
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
See the
|
|
109
|
+
[Library API Reference](library-api.md)
|
|
110
|
+
for the full API.
|
|
111
|
+
|
|
112
|
+
## Worker Daemon
|
|
113
|
+
|
|
114
|
+
kbdb runs a background worker daemon that handles
|
|
115
|
+
indexing and search. The daemon auto-spawns on the
|
|
116
|
+
first CLI or MCP command and stops when idle.
|
|
117
|
+
|
|
118
|
+
```sh
|
|
119
|
+
kbdb worker stop --db ./my-kb # stop daemon
|
|
120
|
+
kbdb worker restart --db ./my-kb # restart daemon
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
The daemon writes a PID file and Unix socket under
|
|
124
|
+
the system temp directory. After upgrading kbdb,
|
|
125
|
+
restart the daemon to pick up the new version.
|
|
126
|
+
|
|
127
|
+
## Deep Dives
|
|
128
|
+
|
|
129
|
+
- [MCP Server Guide](mcp-server.md) -- full tool
|
|
130
|
+
list, environment config, multi-KB setup
|
|
131
|
+
- [Library API Reference](library-api.md) --
|
|
132
|
+
programmatic access for custom integrations
|
package/docs/details/cli.md
CHANGED
|
@@ -12,7 +12,7 @@ the command line.
|
|
|
12
12
|
npm install -g @dikolab/kbdb
|
|
13
13
|
|
|
14
14
|
# Deno
|
|
15
|
-
deno install
|
|
15
|
+
deno install -Agf jsr:@dikolab/kbdb/cli
|
|
16
16
|
```
|
|
17
17
|
|
|
18
18
|
## Synopsis
|
|
@@ -21,6 +21,10 @@ deno install
|
|
|
21
21
|
kbdb [options]
|
|
22
22
|
kbdb <command> [options] ...[parameters]
|
|
23
23
|
kbdb <command> <subcommand> [options] ...[parameters]
|
|
24
|
+
kbdb --version
|
|
25
|
+
kbdb -v <command> (verbose: warnings)
|
|
26
|
+
kbdb -vv <command> (verbose: info)
|
|
27
|
+
kbdb -vvv <command> (verbose: debug)
|
|
24
28
|
```
|
|
25
29
|
|
|
26
30
|
## Command Groups
|
|
@@ -48,27 +52,59 @@ kbdb <command> <subcommand> [options] ...[parameters]
|
|
|
48
52
|
| Agents | `agent get` | Retrieve an agent by docid |
|
|
49
53
|
| Agents | `agent delete` | Remove an agent |
|
|
50
54
|
| Server | `mcp` | Start MCP server mode (stdio) |
|
|
55
|
+
| Worker | `worker stop` | Stop the background worker daemon |
|
|
56
|
+
| Worker | `worker restart` | Restart the background worker daemon |
|
|
57
|
+
|
|
58
|
+
### Reading Data
|
|
59
|
+
|
|
60
|
+
Three commands retrieve stored content at different
|
|
61
|
+
granularities:
|
|
62
|
+
|
|
63
|
+
| Command | Purpose |
|
|
64
|
+
|---------|---------|
|
|
65
|
+
| `search` | Find sections by query; returns ranked snippets |
|
|
66
|
+
| `recall` | Expand full context around known kbids (post-search deep-dive) |
|
|
67
|
+
| `content` | Compose rendered Markdown from kbid or docid identifiers |
|
|
68
|
+
|
|
69
|
+
**When to use which:** Start with `search` to find
|
|
70
|
+
relevant sections by keyword. Use `recall` to expand
|
|
71
|
+
a search result into its full context -- parent
|
|
72
|
+
documents, sibling sections, and references. Use
|
|
73
|
+
`content` when you already know the exact kbid or
|
|
74
|
+
docid and want rendered Markdown output.
|
|
51
75
|
|
|
52
76
|
## Global Options
|
|
53
77
|
|
|
54
78
|
| Option | Short | Default | Description |
|
|
55
79
|
|--------|-------|---------|-------------|
|
|
56
80
|
| `--help` | `-h` | | Print help text and exit |
|
|
57
|
-
| `--version` |
|
|
58
|
-
| `--
|
|
59
|
-
| `--
|
|
81
|
+
| `--version` | | | Print version and exit |
|
|
82
|
+
| `--verbose` | `-v` | | Set log level to WARNING (errors + warnings) |
|
|
83
|
+
| `--verbose-info` | `-vv` | | Set log level to INFO |
|
|
84
|
+
| `--verbose-debug` | `-vvv` | | Set log level to DEBUG (all messages) |
|
|
85
|
+
| `--db <path>` | | cwd | Database directory path (optional) |
|
|
86
|
+
| `--format <fmt>` | `-f` | `json` (text when interactive) | Output format (`json`, `text`, `mcp`) |
|
|
87
|
+
| `--timeout-ms <ms>` | | `30000` | Per-request daemon timeout in milliseconds |
|
|
88
|
+
| `--retry <n>` | | `1` | Max retries with daemon respawn on timeout |
|
|
89
|
+
| `--non-interactive` | | | Suppress prompts; use defaults |
|
|
60
90
|
|
|
61
91
|
### `--db <path>`
|
|
62
92
|
|
|
63
93
|
Set the path to the directory containing the
|
|
64
94
|
`.kbdb` database folder. The actual database is
|
|
65
|
-
always at `${path}/.kbdb`.
|
|
95
|
+
always at `${path}/.kbdb`. This flag is optional.
|
|
66
96
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
97
|
+
Resolution order:
|
|
98
|
+
|
|
99
|
+
1. `--db` flag (highest priority)
|
|
100
|
+
2. `KBDB_DB_DIR` environment variable
|
|
101
|
+
3. Current working directory (CLI mode only)
|
|
102
|
+
|
|
103
|
+
- **CLI mode**: resolves using the order above.
|
|
104
|
+
- **MCP mode**: falls back to the `KBDB_DB_DIR`
|
|
70
105
|
environment variable. If neither `--db` nor
|
|
71
|
-
`
|
|
106
|
+
`KBDB_DB_DIR` is set, the server exits with an
|
|
107
|
+
error.
|
|
72
108
|
|
|
73
109
|
## Search Options
|
|
74
110
|
|
|
@@ -87,10 +123,24 @@ These options apply to the `search` command.
|
|
|
87
123
|
|
|
88
124
|
| Algorithm | Description |
|
|
89
125
|
|-----------|-------------|
|
|
90
|
-
| `lexical` | Keyword matching with stemming and synonyms
|
|
91
|
-
| `vector` |
|
|
126
|
+
| `lexical` | Keyword matching with stemming and synonyms |
|
|
127
|
+
| `vector` | Similarity search using embeddings |
|
|
92
128
|
| `hybrid` | Combines keyword and similarity results for best coverage |
|
|
93
129
|
|
|
130
|
+
### Configuring Hybrid Search
|
|
131
|
+
|
|
132
|
+
Hybrid and vector search use a built-in TF-IDF
|
|
133
|
+
embedding provider by default -- no configuration
|
|
134
|
+
needed. For higher quality embeddings, configure a
|
|
135
|
+
provider via `worker.toml`:
|
|
136
|
+
|
|
137
|
+
| Provider | Description |
|
|
138
|
+
|----------|-------------|
|
|
139
|
+
| *(none)* | Built-in TF-IDF (256 dimensions, works offline) |
|
|
140
|
+
| `none` | Explicitly disabled; hybrid and vector return an error |
|
|
141
|
+
| `onnx` | Local ONNX model (no network required) |
|
|
142
|
+
| `api` | Remote embedding API (OpenAI-compatible endpoint) |
|
|
143
|
+
|
|
94
144
|
### Search Modes
|
|
95
145
|
|
|
96
146
|
| Mode | Description |
|
|
@@ -167,6 +217,9 @@ and ranking data.
|
|
|
167
217
|
]
|
|
168
218
|
```
|
|
169
219
|
|
|
220
|
+
> kbid arguments accept unique prefixes -- kbdb
|
|
221
|
+
> resolves them to full 26-character identifiers.
|
|
222
|
+
|
|
170
223
|
### `search` -- Query the Knowledge Base
|
|
171
224
|
|
|
172
225
|
```
|
|
@@ -220,6 +273,10 @@ Retrieve full content and progressive context for
|
|
|
220
273
|
one or more sections. Use after `search` to read
|
|
221
274
|
relevant results.
|
|
222
275
|
|
|
276
|
+
> Identifiers can be shortened to a unique prefix
|
|
277
|
+
> (like git short hashes). kbdb resolves the prefix
|
|
278
|
+
> to the full 26-character kbid.
|
|
279
|
+
|
|
223
280
|
**Options:**
|
|
224
281
|
|
|
225
282
|
| Option | Default | Description |
|
|
@@ -260,6 +317,10 @@ kbdb content [options] <id>...
|
|
|
260
317
|
Compose a rendered Markdown document from one or
|
|
261
318
|
more kbid or docid identifiers.
|
|
262
319
|
|
|
320
|
+
> Identifiers can be shortened to a unique prefix
|
|
321
|
+
> (like git short hashes). kbdb resolves the prefix
|
|
322
|
+
> to the full 26-character kbid.
|
|
323
|
+
|
|
263
324
|
**Output:**
|
|
264
325
|
|
|
265
326
|
```json
|
|
@@ -561,7 +622,7 @@ kbdb mcp [options]
|
|
|
561
622
|
```
|
|
562
623
|
|
|
563
624
|
Start a long-lived MCP server on stdio. Requires
|
|
564
|
-
`--db <path>` or the `
|
|
625
|
+
`--db <path>` or the `KBDB_DB_DIR` environment
|
|
565
626
|
variable. See the
|
|
566
627
|
[MCP Server Guide](mcp-server.md) for setup and
|
|
567
628
|
tool reference.
|
|
@@ -660,9 +721,13 @@ kbdb agent delete agent-code-reviewer
|
|
|
660
721
|
|
|
661
722
|
## Environment Variables
|
|
662
723
|
|
|
663
|
-
| Variable | Used By | Description |
|
|
664
|
-
|
|
665
|
-
| `
|
|
724
|
+
| Variable | Used By | Default | Description |
|
|
725
|
+
|----------|---------|---------|-------------|
|
|
726
|
+
| `KBDB_DB_DIR` | CLI + MCP | cwd (CLI) / none (MCP) | Fallback database directory path when `--db` is not specified. |
|
|
727
|
+
| `KBDB_DAEMON_TIMEOUT` | CLI + MCP | `30000` | Per-request daemon timeout in milliseconds. Overridden by `--timeout-ms`. |
|
|
728
|
+
| `KBDB_RETRY` | CLI + MCP | `1` | Max retries with daemon respawn on timeout. Overridden by `--retry`. |
|
|
729
|
+
| `KBDB_LOG_LEVEL` | CLI + MCP + Daemon | `error` | Log verbosity: `debug`, `info`, `warning`, `error`. Overridden by `-v`/`-vv`/`-vvv`. |
|
|
730
|
+
| `KBDB_NON_INTERACTIVE` | CLI + MCP + Daemon | off | Suppress interactive prompts. Accepts `1` or `true`. Overridden by `--non-interactive`. |
|
|
666
731
|
|
|
667
732
|
## Exit Codes
|
|
668
733
|
|
|
@@ -681,6 +746,12 @@ Before any data command (`learn`, `unlearn`,
|
|
|
681
746
|
prompts to create one.
|
|
682
747
|
2. **No `.kbdb` found + non-interactive** -- prints
|
|
683
748
|
error and exits.
|
|
749
|
+
|
|
750
|
+
The `--non-interactive` flag (or
|
|
751
|
+
`KBDB_NON_INTERACTIVE=1`) forces the non-interactive
|
|
752
|
+
path regardless of terminal type. This is useful in
|
|
753
|
+
scripts, CI pipelines, and automated testing.
|
|
754
|
+
|
|
684
755
|
3. **`.kbdb` found** -- runs a version gate before
|
|
685
756
|
proceeding. If migration is needed, prints an
|
|
686
757
|
error directing the user to run `kbdb db migrate`.
|
|
@@ -696,9 +767,11 @@ database creation.
|
|
|
696
767
|
modules.
|
|
697
768
|
- **stdout** contains only command output. No
|
|
698
769
|
banners, progress bars, or decorative text.
|
|
699
|
-
- **stderr** contains
|
|
700
|
-
|
|
701
|
-
|
|
770
|
+
- **stderr** contains log messages. Default level is
|
|
771
|
+
ERROR (errors only). Use `-v`/`-vv`/`-vvv` or
|
|
772
|
+
`KBDB_LOG_LEVEL` to increase verbosity. Log lines
|
|
773
|
+
are prefixed with per-level icons (✖⚠ℹ▸) and ANSI
|
|
774
|
+
colors.
|
|
702
775
|
- Works on both Deno and Node.js (>= 20).
|
|
703
776
|
- The `--init` and `--migrate` flags are deprecated.
|
|
704
777
|
Use `kbdb db init` and `kbdb db migrate` instead.
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
# Knowledge Base Guide
|
|
2
|
+
|
|
3
|
+
How to build, search, and maintain a knowledge base
|
|
4
|
+
with kbdb.
|
|
5
|
+
|
|
6
|
+
## Overview
|
|
7
|
+
|
|
8
|
+
kbdb stores your documents in a plain `.kbdb` folder on
|
|
9
|
+
disk and makes them searchable. No external server
|
|
10
|
+
required -- just a directory you can back up, version
|
|
11
|
+
with git, or move between machines.
|
|
12
|
+
|
|
13
|
+
## Getting Started
|
|
14
|
+
|
|
15
|
+
**Create a knowledge base:**
|
|
16
|
+
|
|
17
|
+
```sh
|
|
18
|
+
kbdb db init --db ./my-project
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
**Feed it your docs:**
|
|
22
|
+
|
|
23
|
+
```sh
|
|
24
|
+
kbdb learn ./docs --db ./my-project
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
kbdb reads Markdown (`.md`) and plain text (`.txt`)
|
|
28
|
+
files.
|
|
29
|
+
It breaks them into sections, extracts keywords, and
|
|
30
|
+
builds a search index.
|
|
31
|
+
|
|
32
|
+
**Search:**
|
|
33
|
+
|
|
34
|
+
```sh
|
|
35
|
+
kbdb search "how does auth work" --db ./my-project
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
Results are ranked by relevance. Headings carry 2x
|
|
39
|
+
weight, so well-titled sections surface first.
|
|
40
|
+
|
|
41
|
+
## Importing Content
|
|
42
|
+
|
|
43
|
+
### File import
|
|
44
|
+
|
|
45
|
+
```sh
|
|
46
|
+
kbdb learn ./docs --db ./my-project
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
Recursively imports all supported files. Each file is
|
|
50
|
+
split into sections by heading.
|
|
51
|
+
|
|
52
|
+
### Stdin import
|
|
53
|
+
|
|
54
|
+
```sh
|
|
55
|
+
echo "My note about auth." \
|
|
56
|
+
| kbdb learn - --title "Auth notes" --db ./my-project
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
### Tags and source tracking
|
|
60
|
+
|
|
61
|
+
```sh
|
|
62
|
+
kbdb learn ./docs --tags design,v2 --db ./my-project
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
Tags scope content for filtering. Use `--replace` to
|
|
66
|
+
update existing sections from the same source instead
|
|
67
|
+
of creating duplicates.
|
|
68
|
+
|
|
69
|
+
## Search Modes
|
|
70
|
+
|
|
71
|
+
| Flag | Mode | Description |
|
|
72
|
+
|------|------|-------------|
|
|
73
|
+
| _(default)_ | lexical | Keyword matching with stemming |
|
|
74
|
+
| `--algo hybrid` | hybrid | Keyword + AI similarity |
|
|
75
|
+
| `--algo vector` | vector | AI similarity only |
|
|
76
|
+
|
|
77
|
+
Hybrid and vector modes work out of the box using a
|
|
78
|
+
built-in TF-IDF embedding provider. For higher
|
|
79
|
+
quality, configure an ONNX or API provider in
|
|
80
|
+
`worker.toml`. See the [CLI Reference](cli.md) for
|
|
81
|
+
provider configuration.
|
|
82
|
+
|
|
83
|
+
When a query returns no exact matches, kbdb
|
|
84
|
+
automatically loosens the search (OR instead of AND)
|
|
85
|
+
and flags results with `relaxed: true`.
|
|
86
|
+
|
|
87
|
+
## Reading Data
|
|
88
|
+
|
|
89
|
+
Three commands retrieve stored content at different
|
|
90
|
+
granularities:
|
|
91
|
+
|
|
92
|
+
| Command | Purpose |
|
|
93
|
+
|---------|---------|
|
|
94
|
+
| `search` | Find sections by query; ranked snippets |
|
|
95
|
+
| `recall` | Expand context around known kbids |
|
|
96
|
+
| `content` | Compose Markdown from kbid/docid lists |
|
|
97
|
+
|
|
98
|
+
**Recall depths:**
|
|
99
|
+
|
|
100
|
+
| Depth | Returns |
|
|
101
|
+
|-------|---------|
|
|
102
|
+
| 0 | Section content only |
|
|
103
|
+
| 1 | + parent documents, back-references |
|
|
104
|
+
| 2 | + siblings, forward references |
|
|
105
|
+
| 3 | + full text of referenced sections |
|
|
106
|
+
|
|
107
|
+
**kbid prefixes:** You don't need to paste full 26-char
|
|
108
|
+
identifiers. Short prefixes work (like git short
|
|
109
|
+
hashes) as long as they're unambiguous.
|
|
110
|
+
|
|
111
|
+
## Maintenance
|
|
112
|
+
|
|
113
|
+
```sh
|
|
114
|
+
kbdb check --db ./my-project # integrity check
|
|
115
|
+
kbdb gc --db ./my-project # remove stale data
|
|
116
|
+
kbdb rebuild --db ./my-project # rebuild all indexes
|
|
117
|
+
kbdb export --db ./my-project # portable snapshot
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
## Sync & Backup
|
|
121
|
+
|
|
122
|
+
The `.kbdb` directory is self-contained and portable.
|
|
123
|
+
|
|
124
|
+
**Git-based sync:**
|
|
125
|
+
|
|
126
|
+
```sh
|
|
127
|
+
cd .kbdb
|
|
128
|
+
git init && git add -A && git commit -m "snapshot"
|
|
129
|
+
git remote add origin <url> && git push
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
On another machine:
|
|
133
|
+
|
|
134
|
+
```sh
|
|
135
|
+
git clone <url> .kbdb
|
|
136
|
+
kbdb rebuild
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
The `.gitignore` inside `.kbdb` already excludes
|
|
140
|
+
binary indexes, so git only tracks raw section and
|
|
141
|
+
document files. After cloning, `rebuild` reconstructs
|
|
142
|
+
the indexes.
|
|
143
|
+
|
|
144
|
+
**Export/import:**
|
|
145
|
+
|
|
146
|
+
```sh
|
|
147
|
+
kbdb export --db ./project
|
|
148
|
+
# copy the export directory to another machine
|
|
149
|
+
kbdb db init --db ./project
|
|
150
|
+
# re-import sections from the export
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
## Daemon Timeout and Retry
|
|
154
|
+
|
|
155
|
+
All commands that talk to the worker daemon support
|
|
156
|
+
two global flags:
|
|
157
|
+
|
|
158
|
+
| Flag | Default | Description |
|
|
159
|
+
|------|---------|-------------|
|
|
160
|
+
| `--timeout-ms <ms>` | `30000` | Per-request daemon timeout |
|
|
161
|
+
| `--retry <n>` | `1` | Retries with daemon respawn on timeout |
|
|
162
|
+
| `--non-interactive` | off | Suppress prompts; use defaults |
|
|
163
|
+
|
|
164
|
+
These can also be set via environment variables.
|
|
165
|
+
The flags take priority over env vars.
|
|
166
|
+
|
|
167
|
+
| Variable | Description |
|
|
168
|
+
|----------|-------------|
|
|
169
|
+
| `KBDB_DAEMON_TIMEOUT` | Per-request daemon timeout (ms) |
|
|
170
|
+
| `KBDB_RETRY` | Max retry count |
|
|
171
|
+
| `KBDB_LOG_LEVEL` | Log verbosity: `debug`, `info`, `warning`, `error` |
|
|
172
|
+
| `KBDB_NON_INTERACTIVE` | Suppress prompts (`1` or `true`) |
|
|
173
|
+
|
|
174
|
+
## Deep Dives
|
|
175
|
+
|
|
176
|
+
- [CLI Reference](cli.md) -- full command list
|
|
177
|
+
- [Search and Ranking](search-and-ranking.md) --
|
|
178
|
+
scoring, stemming, hybrid search internals
|
|
179
|
+
- [Storage Architecture](storage.md) -- file formats,
|
|
180
|
+
directory layout
|
|
@@ -53,12 +53,37 @@ function createWorkerClient(
|
|
|
53
53
|
|
|
54
54
|
| Name | Type | Description |
|
|
55
55
|
|------|------|-------------|
|
|
56
|
-
| `options.dbPath` | `string?` |
|
|
57
|
-
| `options.contextPath` | `string?` |
|
|
56
|
+
| `options.dbPath` | `string?` | Parent directory containing `.kbdb`. The client discovers `.kbdb` inside it. Defaults to `cwd()`. |
|
|
57
|
+
| `options.contextPath` | `string?` | Direct absolute path to the `.kbdb` directory itself. Skips discovery. |
|
|
58
58
|
| `options.autoSpawn` | `boolean?` | Auto-spawn daemon if not running. Default `true`. |
|
|
59
59
|
| `options.connectTimeoutMs` | `number?` | Max ms to wait for daemon. Default `10000`. |
|
|
60
|
+
| `options.requestTimeoutMs` | `number?` | Per-request timeout in milliseconds. Default `30000`. |
|
|
60
61
|
| `options.workerScript` | `string?` | Path to worker daemon script. |
|
|
61
62
|
|
|
63
|
+
#### `getOrCreateClient(options?)`
|
|
64
|
+
|
|
65
|
+
Returns a cached `WorkerClient`, creating one on
|
|
66
|
+
first call. Subsequent calls with the same
|
|
67
|
+
`contextPath` return the existing connected client.
|
|
68
|
+
Use this in long-lived processes to avoid spawning
|
|
69
|
+
multiple daemon connections.
|
|
70
|
+
|
|
71
|
+
```typescript
|
|
72
|
+
function getOrCreateClient(
|
|
73
|
+
options?: WorkerClientOptions,
|
|
74
|
+
): Promise<WorkerClient>;
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
#### `clearClientCache()`
|
|
78
|
+
|
|
79
|
+
Disconnects and removes all cached clients created
|
|
80
|
+
by `getOrCreateClient`. Call during shutdown to
|
|
81
|
+
clean up connections.
|
|
82
|
+
|
|
83
|
+
```typescript
|
|
84
|
+
function clearClientCache(): void;
|
|
85
|
+
```
|
|
86
|
+
|
|
62
87
|
---
|
|
63
88
|
|
|
64
89
|
### Search
|
|
@@ -79,6 +104,9 @@ search(
|
|
|
79
104
|
| `params.query` | `string` | Search query string. |
|
|
80
105
|
| `params.mode` | `'sections' \| 'documents' \| 'stats'?` | Entity type to return. Default `'sections'`. |
|
|
81
106
|
| `params.limit` | `number?` | Maximum results to return. |
|
|
107
|
+
| `params.offset` | `number?` | Zero-based result offset for pagination. |
|
|
108
|
+
| `params.algo` | `'lexical' \| 'vector' \| 'hybrid'?` | Search algorithm. Default `'lexical'`. |
|
|
109
|
+
| `params.relaxed` | `boolean?` | Use relaxed (OR) matching when strict returns no results. |
|
|
82
110
|
|
|
83
111
|
---
|
|
84
112
|
|
|
@@ -348,6 +376,15 @@ Destroys the IPC socket and closes the connection.
|
|
|
348
376
|
disconnect(): void
|
|
349
377
|
```
|
|
350
378
|
|
|
379
|
+
#### `isConnected`
|
|
380
|
+
|
|
381
|
+
Read-only getter that returns `true` when the IPC
|
|
382
|
+
socket is connected and healthy.
|
|
383
|
+
|
|
384
|
+
```typescript
|
|
385
|
+
get isConnected(): boolean;
|
|
386
|
+
```
|
|
387
|
+
|
|
351
388
|
---
|
|
352
389
|
|
|
353
390
|
## Types
|
|
@@ -360,6 +397,7 @@ interface WorkerClientOptions {
|
|
|
360
397
|
readonly contextPath?: string;
|
|
361
398
|
readonly autoSpawn?: boolean;
|
|
362
399
|
readonly connectTimeoutMs?: number;
|
|
400
|
+
readonly requestTimeoutMs?: number;
|
|
363
401
|
readonly workerScript?: string;
|
|
364
402
|
}
|
|
365
403
|
```
|
|
@@ -397,6 +435,8 @@ interface SearchResult {
|
|
|
397
435
|
readonly heading: string | null;
|
|
398
436
|
readonly type: string;
|
|
399
437
|
readonly docids: readonly string[];
|
|
438
|
+
readonly score: number;
|
|
439
|
+
readonly confidence: number;
|
|
400
440
|
readonly snippet: string;
|
|
401
441
|
readonly matched_terms: readonly string[];
|
|
402
442
|
readonly matched_fields: readonly string[];
|