@dikolab/kbdb 0.3.2 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +83 -89
- package/dist/chunk-BJPSPNGX.mjs +223 -0
- package/dist/chunk-BJPSPNGX.mjs.map +7 -0
- package/dist/cli.cjs +956 -319
- package/dist/cli.cjs.map +4 -4
- package/dist/cli.d.ts +9 -0
- package/dist/cli.mjs +840 -321
- package/dist/cli.mjs.map +4 -4
- package/dist/kbdb-worker.cjs +714 -94
- package/dist/kbdb-worker.cjs.map +4 -4
- package/dist/mod.cjs +122 -16
- package/dist/mod.cjs.map +3 -3
- package/dist/mod.d.ts +23 -2
- package/dist/mod.mjs +121 -16
- package/dist/mod.mjs.map +3 -3
- package/dist/src/shared/cli/functions/dispatch-command.function.d.ts +2 -1
- package/dist/src/shared/cli/functions/find-db.function.d.ts +7 -8
- package/dist/src/shared/cli/functions/handle-mcp.function.d.ts +1 -1
- package/dist/src/shared/cli/functions/parse-args.function.d.ts +4 -3
- package/dist/src/shared/cli/functions/resolve-kbid-prefix.function.d.ts +27 -0
- package/dist/src/shared/cli/functions/resolve-raw-db-path.function.d.ts +10 -0
- package/dist/src/shared/cli/functions/run-cli.function.d.ts +3 -1
- package/dist/src/shared/cli/functions/run-content.function.d.ts +8 -3
- package/dist/src/shared/cli/functions/run-import.function.d.ts +27 -0
- package/dist/src/shared/cli/functions/run-recall.function.d.ts +10 -4
- package/dist/src/shared/cli/functions/run-search.function.d.ts +7 -0
- package/dist/src/shared/cli/functions/run-unlearn.function.d.ts +9 -4
- package/dist/src/shared/cli/functions/run-worker-restart.function.d.ts +11 -0
- package/dist/src/shared/cli/functions/run-worker-stop.function.d.ts +11 -0
- package/dist/src/shared/cli/index.d.ts +2 -0
- package/dist/src/shared/cli/typings/cli-deps.interface.d.ts +4 -1
- package/dist/src/shared/cli/typings/cli-options.interface.d.ts +17 -0
- package/dist/src/shared/cli/typings/dispatch-client.type.d.ts +2 -1
- package/dist/src/shared/cli/typings/search-display.model.d.ts +6 -0
- package/dist/src/shared/embedding/classes/api-embedding-provider.class.d.ts +33 -0
- package/dist/src/shared/embedding/classes/onnx-embedding-provider.class.d.ts +33 -0
- package/dist/src/shared/embedding/functions/append-vector-entry.function.d.ts +14 -0
- package/dist/src/shared/embedding/functions/create-embedding-provider.function.d.ts +12 -0
- package/dist/src/shared/embedding/functions/detect-stale-vectors.function.d.ts +16 -0
- package/dist/src/shared/embedding/functions/parse-api-embedding-response.function.d.ts +11 -0
- package/dist/src/shared/embedding/functions/rebuild-vectors.function.d.ts +15 -0
- package/dist/src/shared/embedding/functions/scan-semantic-contradictions.function.d.ts +13 -0
- package/dist/src/shared/embedding/index.d.ts +7 -0
- package/dist/src/shared/embedding/typings/semantic-contradiction.model.d.ts +21 -0
- package/dist/src/shared/embedding/typings/stale-vectors-report.model.d.ts +16 -0
- package/dist/src/shared/mcp/classes/mcp-server.class.d.ts +22 -2
- package/dist/src/shared/mcp/functions/create-mcp-server.function.d.ts +6 -1
- package/dist/src/shared/mcp/functions/has-sampling-capability.function.d.ts +8 -0
- package/dist/src/shared/mcp/functions/run-auto-capture.function.d.ts +26 -0
- package/dist/src/shared/mcp/typings/mcp-client.interface.d.ts +2 -0
- package/dist/src/shared/mcp/typings/mcp-integrity-check-result.model.d.ts +24 -0
- package/dist/src/shared/mcp/typings/mcp-worker-client.interface.d.ts +3 -1
- package/dist/src/shared/version/constants/version.constant.d.ts +1 -1
- package/dist/src/shared/wasm-codec/typings/paged-search-result.model.d.ts +2 -0
- package/dist/src/shared/worker-client/classes/worker-client.class.d.ts +31 -1
- package/dist/src/shared/worker-client/constants/request-timeout.constant.d.ts +2 -0
- package/dist/src/shared/worker-client/constants/retry-defaults.constant.d.ts +2 -0
- package/dist/src/shared/worker-client/functions/get-or-create-client.function.d.ts +20 -0
- package/dist/src/shared/worker-client/functions/retry-on-timeout.function.d.ts +17 -0
- package/dist/src/shared/worker-client/index.d.ts +4 -1
- package/dist/src/shared/worker-client/typings/import-result.model.d.ts +16 -0
- package/dist/src/shared/worker-client/typings/integrity-check-result.model.d.ts +24 -0
- package/dist/src/shared/worker-client/typings/search-params.model.d.ts +4 -0
- package/dist/src/shared/worker-client/typings/search-result.model.d.ts +6 -0
- package/dist/src/shared/worker-client/typings/worker-client-options.interface.d.ts +7 -0
- package/dist/src/shared/worker-daemon/classes/worker-daemon.class.d.ts +5 -0
- package/dist/src/shared/worker-daemon/functions/create-ipc-server.function.d.ts +11 -11
- package/dist/src/shared/worker-daemon/functions/embed-after-learn.function.d.ts +13 -0
- package/dist/src/shared/worker-daemon/functions/handle-hybrid-search.function.d.ts +44 -0
- package/dist/src/shared/worker-daemon/functions/handle-import.function.d.ts +14 -0
- package/dist/src/shared/worker-daemon/functions/handle-read-ops.function.d.ts +7 -1
- package/dist/src/shared/worker-daemon/functions/handle-write-ops.function.d.ts +9 -4
- package/dist/src/shared/worker-daemon/typings/handler-context.interface.d.ts +3 -0
- package/dist/wasm/fs-database/kbdb_fs_database.d.ts +16 -85
- package/dist/wasm/fs-database/kbdb_fs_database.js +16 -85
- package/dist/wasm/fs-database/kbdb_fs_database_bg.wasm +0 -0
- package/dist/wasm/kb-worker/kbdb_worker.d.ts +20 -115
- package/dist/wasm/kb-worker/kbdb_worker.js +20 -115
- package/dist/wasm/kb-worker/kbdb_worker_bg.wasm +0 -0
- package/dist/wasm/query-parser/kbdb_query_parser_bg.wasm +0 -0
- package/dist/worker.d.ts +8 -0
- package/dist/worker.mjs +606 -102
- package/dist/worker.mjs.map +4 -4
- package/docs/details/README.md +4 -0
- package/docs/details/agent-tooling.md +122 -0
- package/docs/details/cli.md +70 -13
- package/docs/details/knowledge-base.md +173 -0
- package/docs/details/library-api.md +42 -2
- package/docs/details/mcp-server.md +38 -7
- package/docs/details/search-and-ranking.md +11 -10
- package/docs/goals/cli.md +110 -34
- package/docs/goals/mcp.md +22 -19
- package/docs/goals/query-parser.md +8 -0
- package/docs/goals/worker-client.md +62 -1
- package/docs/goals/worker-daemon.md +52 -10
- package/docs/modules/typescript/cli.md +1 -1
- package/docs/modules/typescript/shared/cli/functions.md +116 -13
- package/docs/modules/typescript/shared/cli/module.md +33 -20
- package/docs/modules/typescript/shared/cli/typings.md +4 -0
- package/docs/modules/typescript/shared/embedding/functions.md +104 -25
- package/docs/modules/typescript/shared/mcp/module.md +1 -1
- package/docs/modules/typescript/shared/mcp/typings.md +8 -1
- package/docs/modules/typescript/shared/worker-client/module.md +9 -1
- package/docs/modules/typescript/shared/worker-client/typings.md +3 -0
- package/docs/modules/typescript/shared/worker-daemon/module.md +6 -3
- package/docs/overview.md +1 -2
- package/docs/release-notes/0.4.0.md +80 -0
- package/docs/release-notes/README.md +1 -0
- package/mod.ts +33 -15
- package/package.json +11 -10
- package/dist/chunk-JG2UCKLI.mjs +0 -95
- package/dist/chunk-JG2UCKLI.mjs.map +0 -7
- package/src/cli.ts +0 -71
- package/src/shared/auto-capture/classes/auto-capture-controller.class.ts +0 -62
- package/src/shared/auto-capture/constants/auto-capture-defaults.constant.ts +0 -15
- package/src/shared/auto-capture/functions/build-capture-prompt.function.ts +0 -27
- package/src/shared/auto-capture/functions/evaluate-trigger.function.ts +0 -50
- package/src/shared/auto-capture/index.ts +0 -7
- package/src/shared/auto-capture/typings/auto-capture-config.interface.ts +0 -13
- package/src/shared/auto-capture/typings/auto-capture-state.interface.ts +0 -13
- package/src/shared/auto-capture/typings/auto-capture-trigger.interface.ts +0 -7
- package/src/shared/cli/constants/defaults.constant.ts +0 -19
- package/src/shared/cli/constants/global-help.constant.ts +0 -73
- package/src/shared/cli/constants/help-text.constant.ts +0 -4
- package/src/shared/cli/constants/leaf-help.constant.ts +0 -219
- package/src/shared/cli/constants/memory-protocol-body.constant.ts +0 -39
- package/src/shared/cli/constants/query-guidance-body.constant.ts +0 -37
- package/src/shared/cli/constants/subcommand-help.constant.ts +0 -195
- package/src/shared/cli/functions/collect-files.function.ts +0 -55
- package/src/shared/cli/functions/compute-section-kbid.function.ts +0 -49
- package/src/shared/cli/functions/dispatch-command.function.ts +0 -390
- package/src/shared/cli/functions/ensure-db.function.ts +0 -21
- package/src/shared/cli/functions/error-to-message.function.ts +0 -9
- package/src/shared/cli/functions/find-db.function.ts +0 -20
- package/src/shared/cli/functions/format-mcp-output.function.ts +0 -41
- package/src/shared/cli/functions/format-output.function.ts +0 -95
- package/src/shared/cli/functions/format-text-output.function.ts +0 -42
- package/src/shared/cli/functions/generate-group-help.function.ts +0 -41
- package/src/shared/cli/functions/generate-help.function.ts +0 -654
- package/src/shared/cli/functions/handle-data-command.function.ts +0 -67
- package/src/shared/cli/functions/handle-mcp.function.ts +0 -56
- package/src/shared/cli/functions/handle-migrate.function.ts +0 -64
- package/src/shared/cli/functions/hydrate-search-previews.function.ts +0 -29
- package/src/shared/cli/functions/install-default-skills.function.ts +0 -296
- package/src/shared/cli/functions/is-stdin-tty.function.ts +0 -12
- package/src/shared/cli/functions/parse-args.function.ts +0 -156
- package/src/shared/cli/functions/prompt-user.function.ts +0 -36
- package/src/shared/cli/functions/resolve-skill-names.function.ts +0 -43
- package/src/shared/cli/functions/run-agent-create.function.ts +0 -114
- package/src/shared/cli/functions/run-agent-delete.function.ts +0 -47
- package/src/shared/cli/functions/run-agent-get.function.ts +0 -166
- package/src/shared/cli/functions/run-agent-list.function.ts +0 -58
- package/src/shared/cli/functions/run-check.function.ts +0 -159
- package/src/shared/cli/functions/run-cli.function.ts +0 -299
- package/src/shared/cli/functions/run-content.function.ts +0 -47
- package/src/shared/cli/functions/run-db-init.function.ts +0 -44
- package/src/shared/cli/functions/run-db-migrate.function.ts +0 -40
- package/src/shared/cli/functions/run-export.function.ts +0 -40
- package/src/shared/cli/functions/run-gc.function.ts +0 -51
- package/src/shared/cli/functions/run-init.function.ts +0 -93
- package/src/shared/cli/functions/run-learn.function.ts +0 -223
- package/src/shared/cli/functions/run-migrate.function.ts +0 -85
- package/src/shared/cli/functions/run-rebuild.function.ts +0 -47
- package/src/shared/cli/functions/run-recall.function.ts +0 -66
- package/src/shared/cli/functions/run-search.function.ts +0 -133
- package/src/shared/cli/functions/run-skill-delete.function.ts +0 -47
- package/src/shared/cli/functions/run-skill-get.function.ts +0 -90
- package/src/shared/cli/functions/run-skill-learn.function.ts +0 -70
- package/src/shared/cli/functions/run-skill-list.function.ts +0 -74
- package/src/shared/cli/functions/run-status.function.ts +0 -29
- package/src/shared/cli/functions/run-unlearn.function.ts +0 -58
- package/src/shared/cli/functions/version-gate.function.ts +0 -44
- package/src/shared/cli/functions/wrap-command.function.ts +0 -34
- package/src/shared/cli/index.ts +0 -55
- package/src/shared/cli/typings/agent-create-client.interface.ts +0 -47
- package/src/shared/cli/typings/agent-get-client.interface.ts +0 -39
- package/src/shared/cli/typings/check-client.interface.ts +0 -66
- package/src/shared/cli/typings/cli-deps.interface.ts +0 -54
- package/src/shared/cli/typings/cli-options.interface.ts +0 -72
- package/src/shared/cli/typings/command-result.model.ts +0 -15
- package/src/shared/cli/typings/disconnectable-client.interface.ts +0 -29
- package/src/shared/cli/typings/dispatch-client.type.ts +0 -46
- package/src/shared/cli/typings/learn-client.interface.ts +0 -53
- package/src/shared/cli/typings/learn-io.interface.ts +0 -5
- package/src/shared/cli/typings/learn-result.model.ts +0 -27
- package/src/shared/cli/typings/search-client.interface.ts +0 -73
- package/src/shared/cli/typings/search-display.model.ts +0 -54
- package/src/shared/dir-resolver/functions/join-path.function.ts +0 -13
- package/src/shared/dir-resolver/functions/resolve-base-dir.function.ts +0 -25
- package/src/shared/dir-resolver/functions/resolve-wasm-dir.function.ts +0 -5
- package/src/shared/dir-resolver/functions/resolve-worker-script.function.ts +0 -13
- package/src/shared/dir-resolver/index.ts +0 -11
- package/src/shared/dir-resolver/typings/base-dir.interface.ts +0 -4
- package/src/shared/embedding/classes/null-embedding-provider.class.ts +0 -29
- package/src/shared/embedding/constants/near-duplicate-thresholds.constant.ts +0 -17
- package/src/shared/embedding/functions/build-vector-index.function.ts +0 -79
- package/src/shared/embedding/functions/cosine-similarity.function.ts +0 -31
- package/src/shared/embedding/functions/detect-near-duplicates.function.ts +0 -69
- package/src/shared/embedding/functions/jaccard-coefficient.function.ts +0 -26
- package/src/shared/embedding/functions/read-vector-index-meta.function.ts +0 -44
- package/src/shared/embedding/functions/rrf-fuse.function.ts +0 -33
- package/src/shared/embedding/functions/search-vectors.function.ts +0 -59
- package/src/shared/embedding/index.ts +0 -20
- package/src/shared/embedding/typings/embedding-config.interface.ts +0 -23
- package/src/shared/embedding/typings/embedding-provider.interface.ts +0 -25
- package/src/shared/embedding/typings/near-duplicate-candidate.model.ts +0 -25
- package/src/shared/embedding/typings/near-duplicate-result.model.ts +0 -26
- package/src/shared/embedding/typings/vector-index-entry.model.ts +0 -13
- package/src/shared/embedding/typings/vector-index-meta.model.ts +0 -14
- package/src/shared/embedding/typings/vector-search-result.model.ts +0 -8
- package/src/shared/hash/functions/compute-sha256.ts +0 -17
- package/src/shared/hash/index.ts +0 -1
- package/src/shared/mcp/classes/mcp-server.class.ts +0 -480
- package/src/shared/mcp/constants/mcp-error-codes.constant.ts +0 -30
- package/src/shared/mcp/constants/tool-agent-create.constant.ts +0 -39
- package/src/shared/mcp/constants/tool-agent-delete.constant.ts +0 -26
- package/src/shared/mcp/constants/tool-agent-get.constant.ts +0 -24
- package/src/shared/mcp/constants/tool-agent-list.constant.ts +0 -18
- package/src/shared/mcp/constants/tool-auto-capture-review.constant.ts +0 -32
- package/src/shared/mcp/constants/tool-check.constant.ts +0 -21
- package/src/shared/mcp/constants/tool-content.constant.ts +0 -29
- package/src/shared/mcp/constants/tool-export.constant.ts +0 -27
- package/src/shared/mcp/constants/tool-gc.constant.ts +0 -21
- package/src/shared/mcp/constants/tool-learn.constant.ts +0 -58
- package/src/shared/mcp/constants/tool-rebuild.constant.ts +0 -21
- package/src/shared/mcp/constants/tool-recall.constant.ts +0 -36
- package/src/shared/mcp/constants/tool-retrieve.constant.ts +0 -31
- package/src/shared/mcp/constants/tool-search.constant.ts +0 -51
- package/src/shared/mcp/constants/tool-skill-delete.constant.ts +0 -24
- package/src/shared/mcp/constants/tool-skill-get.constant.ts +0 -27
- package/src/shared/mcp/constants/tool-skill-learn.constant.ts +0 -37
- package/src/shared/mcp/constants/tool-skill-list.constant.ts +0 -18
- package/src/shared/mcp/constants/tool-status.constant.ts +0 -20
- package/src/shared/mcp/constants/tool-unlearn.constant.ts +0 -25
- package/src/shared/mcp/functions/as-boolean-or-undefined.function.ts +0 -11
- package/src/shared/mcp/functions/as-string-array-or-undefined.function.ts +0 -17
- package/src/shared/mcp/functions/as-string-array.function.ts +0 -15
- package/src/shared/mcp/functions/as-string.function.ts +0 -10
- package/src/shared/mcp/functions/build-skills-text.function.ts +0 -43
- package/src/shared/mcp/functions/create-mcp-server.function.ts +0 -14
- package/src/shared/mcp/functions/create-prompt-definitions.function.ts +0 -102
- package/src/shared/mcp/functions/create-resource-templates.function.ts +0 -23
- package/src/shared/mcp/functions/create-tool-definitions.function.ts +0 -530
- package/src/shared/mcp/functions/extract-skill-arguments.function.ts +0 -27
- package/src/shared/mcp/functions/handle-agent-create.function.ts +0 -116
- package/src/shared/mcp/functions/handle-agent-delete.function.ts +0 -50
- package/src/shared/mcp/functions/handle-agent-get.function.ts +0 -160
- package/src/shared/mcp/functions/handle-agent-list.function.ts +0 -50
- package/src/shared/mcp/functions/handle-agent-prompt.function.ts +0 -68
- package/src/shared/mcp/functions/handle-completion.function.ts +0 -114
- package/src/shared/mcp/functions/handle-mcp-request.function.ts +0 -202
- package/src/shared/mcp/functions/handle-prompt-get.function.ts +0 -220
- package/src/shared/mcp/functions/handle-recall.function.ts +0 -66
- package/src/shared/mcp/functions/handle-resource-read.function.ts +0 -56
- package/src/shared/mcp/functions/handle-roots-list.function.ts +0 -29
- package/src/shared/mcp/functions/handle-skill-prompt.function.ts +0 -44
- package/src/shared/mcp/functions/handle-tool-auto-capture-review.function.ts +0 -24
- package/src/shared/mcp/functions/handle-tool-call.function.ts +0 -560
- package/src/shared/mcp/functions/handle-tool-check.function.ts +0 -21
- package/src/shared/mcp/functions/handle-tool-content.function.ts +0 -23
- package/src/shared/mcp/functions/handle-tool-export.function.ts +0 -25
- package/src/shared/mcp/functions/handle-tool-gc.function.ts +0 -21
- package/src/shared/mcp/functions/handle-tool-learn.function.ts +0 -69
- package/src/shared/mcp/functions/handle-tool-rebuild.function.ts +0 -21
- package/src/shared/mcp/functions/handle-tool-retrieve.function.ts +0 -40
- package/src/shared/mcp/functions/handle-tool-search.function.ts +0 -47
- package/src/shared/mcp/functions/handle-tool-skill-delete.function.ts +0 -34
- package/src/shared/mcp/functions/handle-tool-skill-get.function.ts +0 -59
- package/src/shared/mcp/functions/handle-tool-skill-learn.function.ts +0 -61
- package/src/shared/mcp/functions/handle-tool-skill-list.function.ts +0 -39
- package/src/shared/mcp/functions/handle-tool-status.function.ts +0 -21
- package/src/shared/mcp/functions/handle-tool-unlearn.function.ts +0 -24
- package/src/shared/mcp/functions/parse-agent-meta.function.ts +0 -27
- package/src/shared/mcp/functions/parse-skill-arguments.function.ts +0 -36
- package/src/shared/mcp/functions/parse-skill-content.function.ts +0 -38
- package/src/shared/mcp/functions/read-agent-meta.function.ts +0 -41
- package/src/shared/mcp/functions/resolve-skill-refs.function.ts +0 -50
- package/src/shared/mcp/functions/run-startup-health-check.function.ts +0 -34
- package/src/shared/mcp/functions/serialize-skill-content.function.ts +0 -12
- package/src/shared/mcp/functions/should-emit-log.function.ts +0 -38
- package/src/shared/mcp/index.ts +0 -28
- package/src/shared/mcp/typings/agent-types.interface.ts +0 -39
- package/src/shared/mcp/typings/log-types.interface.ts +0 -26
- package/src/shared/mcp/typings/mcp-capabilities.interface.ts +0 -16
- package/src/shared/mcp/typings/mcp-client.interface.ts +0 -317
- package/src/shared/mcp/typings/mcp-completion.interface.ts +0 -45
- package/src/shared/mcp/typings/mcp-content-result.model.ts +0 -9
- package/src/shared/mcp/typings/mcp-export-result.model.ts +0 -11
- package/src/shared/mcp/typings/mcp-gc-result.model.ts +0 -15
- package/src/shared/mcp/typings/mcp-integrity-check-result.model.ts +0 -17
- package/src/shared/mcp/typings/mcp-integrity-error.model.ts +0 -15
- package/src/shared/mcp/typings/mcp-notification.interface.ts +0 -9
- package/src/shared/mcp/typings/mcp-rebuild-result.model.ts +0 -9
- package/src/shared/mcp/typings/mcp-request.interface.ts +0 -11
- package/src/shared/mcp/typings/mcp-resource-result.interface.ts +0 -12
- package/src/shared/mcp/typings/mcp-resource-template.interface.ts +0 -11
- package/src/shared/mcp/typings/mcp-response.interface.ts +0 -18
- package/src/shared/mcp/typings/mcp-server-info.interface.ts +0 -7
- package/src/shared/mcp/typings/mcp-server-state.interface.ts +0 -17
- package/src/shared/mcp/typings/mcp-tool-annotations.interface.ts +0 -32
- package/src/shared/mcp/typings/mcp-tool-definition.interface.ts +0 -16
- package/src/shared/mcp/typings/mcp-tool-result.interface.ts +0 -19
- package/src/shared/mcp/typings/mcp-types.interface.ts +0 -158
- package/src/shared/mcp/typings/mcp-worker-client.interface.ts +0 -243
- package/src/shared/mcp/typings/prompt-types.interface.ts +0 -39
- package/src/shared/mcp/typings/remove-section-result.model.ts +0 -10
- package/src/shared/mcp/typings/sampling-types.interface.ts +0 -48
- package/src/shared/mcp/typings/skill-types.interface.ts +0 -29
- package/src/shared/mcp/typings/tool-call-result.model.ts +0 -18
- package/src/shared/mod.ts +0 -1
- package/src/shared/platform/functions/get-ipc-path.function.ts +0 -19
- package/src/shared/platform/functions/get-tmpdir.function.ts +0 -8
- package/src/shared/platform/functions/is-process-alive.function.ts +0 -17
- package/src/shared/platform/index.ts +0 -3
- package/src/shared/runtime/functions/detect-runtime.ts +0 -14
- package/src/shared/runtime/functions/get-args.ts +0 -16
- package/src/shared/runtime/index.ts +0 -3
- package/src/shared/runtime/typings/runtime.ts +0 -2
- package/src/shared/sync/functions/build-import-report.function.ts +0 -40
- package/src/shared/sync/functions/parse-export-entry.function.ts +0 -45
- package/src/shared/sync/functions/resolve-conflict.function.ts +0 -31
- package/src/shared/sync/functions/serialize-export-entry.function.ts +0 -18
- package/src/shared/sync/index.ts +0 -9
- package/src/shared/sync/typings/conflict-resolution.type.ts +0 -8
- package/src/shared/sync/typings/export-entry.interface.ts +0 -13
- package/src/shared/sync/typings/export-options.interface.ts +0 -9
- package/src/shared/sync/typings/import-options.interface.ts +0 -7
- package/src/shared/sync/typings/import-report.interface.ts +0 -15
- package/src/shared/version/constants/version.constant.ts +0 -2
- package/src/shared/version/index.ts +0 -1
- package/src/shared/wasm-codec/functions/decode-add-section-result.function.ts +0 -112
- package/src/shared/wasm-codec/functions/decode-compose-output.function.ts +0 -16
- package/src/shared/wasm-codec/functions/decode-document-manifest-list.function.ts +0 -70
- package/src/shared/wasm-codec/functions/decode-document-manifest.function.ts +0 -87
- package/src/shared/wasm-codec/functions/decode-f32.function.ts +0 -16
- package/src/shared/wasm-codec/functions/decode-key-value-text.function.ts +0 -15
- package/src/shared/wasm-codec/functions/decode-one-recall-result.function.ts +0 -86
- package/src/shared/wasm-codec/functions/decode-option-string.function.ts +0 -24
- package/src/shared/wasm-codec/functions/decode-recall-document.function.ts +0 -59
- package/src/shared/wasm-codec/functions/decode-recall-reference.function.ts +0 -52
- package/src/shared/wasm-codec/functions/decode-recall-result.function.ts +0 -267
- package/src/shared/wasm-codec/functions/decode-recall-sibling.function.ts +0 -43
- package/src/shared/wasm-codec/functions/decode-remove-flag.function.ts +0 -3
- package/src/shared/wasm-codec/functions/decode-scored-results.function.ts +0 -194
- package/src/shared/wasm-codec/functions/decode-section-match.function.ts +0 -80
- package/src/shared/wasm-codec/functions/decode-section-record-list.function.ts +0 -20
- package/src/shared/wasm-codec/functions/decode-section-record-trailing.function.ts +0 -75
- package/src/shared/wasm-codec/functions/decode-section-record.function.ts +0 -85
- package/src/shared/wasm-codec/functions/decode-section-records.function.ts +0 -249
- package/src/shared/wasm-codec/functions/decode-section-type.function.ts +0 -30
- package/src/shared/wasm-codec/functions/decode-string.function.ts +0 -22
- package/src/shared/wasm-codec/functions/decode-u32.function.ts +0 -16
- package/src/shared/wasm-codec/functions/decode-u64.function.ts +0 -16
- package/src/shared/wasm-codec/functions/decode-wasm-list.function.ts +0 -31
- package/src/shared/wasm-codec/functions/encode-add-section-params.function.ts +0 -102
- package/src/shared/wasm-codec/functions/encode-group-params.function.ts +0 -28
- package/src/shared/wasm-codec/functions/encode-identifier-list.function.ts +0 -17
- package/src/shared/wasm-codec/functions/encode-kbid-list.function.ts +0 -17
- package/src/shared/wasm-codec/functions/encode-option-string.function.ts +0 -14
- package/src/shared/wasm-codec/functions/encode-recall-params.function.ts +0 -68
- package/src/shared/wasm-codec/functions/encode-search-params.function.ts +0 -12
- package/src/shared/wasm-codec/functions/encode-section-type.function.ts +0 -18
- package/src/shared/wasm-codec/functions/encode-string.function.ts +0 -9
- package/src/shared/wasm-codec/functions/encode-type-filter-param.function.ts +0 -13
- package/src/shared/wasm-codec/functions/encode-u32.function.ts +0 -5
- package/src/shared/wasm-codec/functions/encode-update-section-params.function.ts +0 -16
- package/src/shared/wasm-codec/index.ts +0 -49
- package/src/shared/wasm-codec/typings/add-section-input.model.ts +0 -45
- package/src/shared/wasm-codec/typings/add-section-result.model.ts +0 -28
- package/src/shared/wasm-codec/typings/document-manifest.model.ts +0 -20
- package/src/shared/wasm-codec/typings/document-section.model.ts +0 -12
- package/src/shared/wasm-codec/typings/item-decoder.type.ts +0 -10
- package/src/shared/wasm-codec/typings/near-duplicate.model.ts +0 -16
- package/src/shared/wasm-codec/typings/paged-search-result.model.ts +0 -22
- package/src/shared/wasm-codec/typings/section-match.model.ts +0 -31
- package/src/shared/wasm-codec/typings/section-record-trailing.model.ts +0 -38
- package/src/shared/wasm-codec/typings/section-record.model.ts +0 -66
- package/src/shared/wasm-codec/typings/section-type-result.model.ts +0 -12
- package/src/shared/worker-client/classes/worker-client.class.ts +0 -466
- package/src/shared/worker-client/functions/compute-context-id.function.ts +0 -18
- package/src/shared/worker-client/functions/create-worker-client.function.ts +0 -70
- package/src/shared/worker-client/functions/discover-daemon.function.ts +0 -47
- package/src/shared/worker-client/functions/handle-ipc-data.function.ts +0 -49
- package/src/shared/worker-client/functions/resolve-db-path.function.ts +0 -21
- package/src/shared/worker-client/functions/send-ipc-request.function.ts +0 -39
- package/src/shared/worker-client/functions/spawn-daemon.function.ts +0 -35
- package/src/shared/worker-client/functions/wait-for-daemon.function.ts +0 -34
- package/src/shared/worker-client/index.ts +0 -44
- package/src/shared/worker-client/typings/add-section-result.model.ts +0 -39
- package/src/shared/worker-client/typings/content-result.model.ts +0 -12
- package/src/shared/worker-client/typings/daemon-info.model.ts +0 -7
- package/src/shared/worker-client/typings/export-result.model.ts +0 -14
- package/src/shared/worker-client/typings/gc-result.model.ts +0 -18
- package/src/shared/worker-client/typings/integrity-check-result.model.ts +0 -43
- package/src/shared/worker-client/typings/json-rpc-response.interface.ts +0 -17
- package/src/shared/worker-client/typings/migrate-result.model.ts +0 -11
- package/src/shared/worker-client/typings/pending-call.interface.ts +0 -7
- package/src/shared/worker-client/typings/rebuild-result.model.ts +0 -12
- package/src/shared/worker-client/typings/recall-document.model.ts +0 -16
- package/src/shared/worker-client/typings/recall-params.model.ts +0 -15
- package/src/shared/worker-client/typings/recall-reference.model.ts +0 -32
- package/src/shared/worker-client/typings/recall-result.model.ts +0 -98
- package/src/shared/worker-client/typings/recall-sibling.model.ts +0 -11
- package/src/shared/worker-client/typings/recall-single-result.model.ts +0 -41
- package/src/shared/worker-client/typings/remove-section-result.model.ts +0 -7
- package/src/shared/worker-client/typings/search-params.model.ts +0 -14
- package/src/shared/worker-client/typings/search-result.model.ts +0 -43
- package/src/shared/worker-client/typings/section.model.ts +0 -43
- package/src/shared/worker-client/typings/status-result.model.ts +0 -14
- package/src/shared/worker-client/typings/version-status.model.ts +0 -28
- package/src/shared/worker-client/typings/worker-client-error.interface.ts +0 -8
- package/src/shared/worker-client/typings/worker-client-options.interface.ts +0 -30
- package/src/shared/worker-daemon/classes/ipc-error.class.ts +0 -22
- package/src/shared/worker-daemon/classes/worker-daemon.class.ts +0 -1291
- package/src/shared/worker-daemon/constants/daemon-defaults.constant.ts +0 -29
- package/src/shared/worker-daemon/constants/wasm-method-map.constant.ts +0 -69
- package/src/shared/worker-daemon/functions/build-ipc-error-response.function.ts +0 -16
- package/src/shared/worker-daemon/functions/check-catalog-version.function.ts +0 -54
- package/src/shared/worker-daemon/functions/check-preconditions.function.ts +0 -28
- package/src/shared/worker-daemon/functions/create-host-imports.function.ts +0 -328
- package/src/shared/worker-daemon/functions/create-ipc-server.function.ts +0 -87
- package/src/shared/worker-daemon/functions/detect-stale-pid.function.ts +0 -33
- package/src/shared/worker-daemon/functions/dispatch-request.function.ts +0 -190
- package/src/shared/worker-daemon/functions/handle-check-version.function.ts +0 -74
- package/src/shared/worker-daemon/functions/handle-config-method.function.ts +0 -27
- package/src/shared/worker-daemon/functions/handle-read-ops.function.ts +0 -236
- package/src/shared/worker-daemon/functions/handle-write-ops.function.ts +0 -257
- package/src/shared/worker-daemon/functions/load-wasm-modules.function.ts +0 -95
- package/src/shared/worker-daemon/functions/parse-auto-capture-section.function.ts +0 -51
- package/src/shared/worker-daemon/functions/parse-catalog-version.function.ts +0 -20
- package/src/shared/worker-daemon/functions/parse-embedding-section.function.ts +0 -38
- package/src/shared/worker-daemon/functions/parse-worker-toml.function.ts +0 -104
- package/src/shared/worker-daemon/functions/read-config.function.ts +0 -83
- package/src/shared/worker-daemon/functions/run-startup-integrity-check.function.ts +0 -55
- package/src/shared/worker-daemon/functions/run-worker.function.ts +0 -57
- package/src/shared/worker-daemon/functions/scan-near-duplicates.function.ts +0 -92
- package/src/shared/worker-daemon/functions/start-daemon.function.ts +0 -74
- package/src/shared/worker-daemon/functions/wasm-bridge.function.ts +0 -144
- package/src/shared/worker-daemon/functions/wasm-memory-helpers.function.ts +0 -41
- package/src/shared/worker-daemon/functions/write-lock.function.ts +0 -49
- package/src/shared/worker-daemon/index.ts +0 -16
- package/src/shared/worker-daemon/typings/allocator-ref.interface.ts +0 -16
- package/src/shared/worker-daemon/typings/daemon-config.interface.ts +0 -20
- package/src/shared/worker-daemon/typings/fs-adapter.interface.ts +0 -22
- package/src/shared/worker-daemon/typings/handler-context.interface.ts +0 -19
- package/src/shared/worker-daemon/typings/ipc-handler.interface.ts +0 -39
- package/src/shared/worker-daemon/typings/memory-ref.interface.ts +0 -13
- package/src/shared/worker-daemon/typings/wasm-fn.type.ts +0 -2
- package/src/shared/worker-daemon/typings/wasm-modules.interface.ts +0 -7
- package/src/shared/worker-daemon/typings/write-lock.interface.ts +0 -13
- package/src/wasm/fs-database/kbdb_fs_database.d.ts +0 -259
- package/src/wasm/fs-database/kbdb_fs_database.js +0 -515
- package/src/wasm/fs-database/kbdb_fs_database_bg.wasm +0 -0
- package/src/wasm/fs-database/kbdb_fs_database_bg.wasm.d.ts +0 -35
- package/src/wasm/fs-database/package.json +0 -13
- package/src/wasm/kb-worker/kbdb_worker.d.ts +0 -650
- package/src/wasm/kb-worker/kbdb_worker.js +0 -1181
- package/src/wasm/kb-worker/kbdb_worker_bg.wasm +0 -0
- package/src/wasm/kb-worker/kbdb_worker_bg.wasm.d.ts +0 -77
- package/src/wasm/kb-worker/package.json +0 -13
- package/src/wasm/query-parser/kbdb_query_parser.d.ts +0 -195
- package/src/wasm/query-parser/kbdb_query_parser.js +0 -403
- package/src/wasm/query-parser/kbdb_query_parser_bg.wasm +0 -0
- package/src/wasm/query-parser/kbdb_query_parser_bg.wasm.d.ts +0 -25
- package/src/wasm/query-parser/package.json +0 -13
- package/src/worker.ts +0 -42
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,122 @@
|
|
|
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
|
+
See the [MCP Server Guide](mcp-server.md) for
|
|
41
|
+
environment variable config, multiple knowledge
|
|
42
|
+
bases, and the full 20-tool reference.
|
|
43
|
+
|
|
44
|
+
## Skills
|
|
45
|
+
|
|
46
|
+
Skills are reusable prompt templates with
|
|
47
|
+
fill-in-the-blank arguments.
|
|
48
|
+
|
|
49
|
+
```sh
|
|
50
|
+
kbdb skill learn --name "code-review" \
|
|
51
|
+
--body "Review this code for: {{focus}}" \
|
|
52
|
+
--db ./my-kb
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
Skills are stored in the knowledge base and
|
|
56
|
+
accessible to agents via MCP tools.
|
|
57
|
+
|
|
58
|
+
## Agent Profiles
|
|
59
|
+
|
|
60
|
+
Agent profiles combine a persona with a set of
|
|
61
|
+
skills.
|
|
62
|
+
|
|
63
|
+
```sh
|
|
64
|
+
kbdb agent create --name "reviewer" \
|
|
65
|
+
--persona "You are a senior code reviewer." \
|
|
66
|
+
--skills "code-review,style-check" \
|
|
67
|
+
--db ./my-kb
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
## Auto-Capture
|
|
71
|
+
|
|
72
|
+
The MCP server can proactively suggest knowledge
|
|
73
|
+
to store from conversations. When enabled,
|
|
74
|
+
auto-capture monitors tool call patterns and
|
|
75
|
+
triggers capture suggestions based on configurable
|
|
76
|
+
thresholds.
|
|
77
|
+
|
|
78
|
+
## Library API
|
|
79
|
+
|
|
80
|
+
Use kbdb programmatically in Node.js or Deno:
|
|
81
|
+
|
|
82
|
+
```typescript
|
|
83
|
+
import { createWorkerClient } from '@dikolab/kbdb';
|
|
84
|
+
|
|
85
|
+
const client = await createWorkerClient({
|
|
86
|
+
contextPath: '/path/to/.kbdb',
|
|
87
|
+
});
|
|
88
|
+
|
|
89
|
+
const results = await client.search({
|
|
90
|
+
query: 'authentication',
|
|
91
|
+
limit: 10,
|
|
92
|
+
});
|
|
93
|
+
|
|
94
|
+
console.log(results.items);
|
|
95
|
+
client.disconnect();
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
See the
|
|
99
|
+
[Library API Reference](library-api.md)
|
|
100
|
+
for the full API.
|
|
101
|
+
|
|
102
|
+
## Worker Daemon
|
|
103
|
+
|
|
104
|
+
kbdb runs a background worker daemon that handles
|
|
105
|
+
indexing and search. The daemon auto-spawns on the
|
|
106
|
+
first CLI or MCP command and stops when idle.
|
|
107
|
+
|
|
108
|
+
```sh
|
|
109
|
+
kbdb worker stop --db ./my-kb # stop daemon
|
|
110
|
+
kbdb worker restart --db ./my-kb # restart daemon
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
The daemon writes a PID file and Unix socket under
|
|
114
|
+
the system temp directory. After upgrading kbdb,
|
|
115
|
+
restart the daemon to pick up the new version.
|
|
116
|
+
|
|
117
|
+
## Deep Dives
|
|
118
|
+
|
|
119
|
+
- [MCP Server Guide](mcp-server.md) -- full tool
|
|
120
|
+
list, environment config, multi-KB setup
|
|
121
|
+
- [Library API Reference](library-api.md) --
|
|
122
|
+
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
|
|
@@ -48,6 +48,26 @@ kbdb <command> <subcommand> [options] ...[parameters]
|
|
|
48
48
|
| Agents | `agent get` | Retrieve an agent by docid |
|
|
49
49
|
| Agents | `agent delete` | Remove an agent |
|
|
50
50
|
| Server | `mcp` | Start MCP server mode (stdio) |
|
|
51
|
+
| Worker | `worker stop` | Stop the background worker daemon |
|
|
52
|
+
| Worker | `worker restart` | Restart the background worker daemon |
|
|
53
|
+
|
|
54
|
+
### Reading Data
|
|
55
|
+
|
|
56
|
+
Three commands retrieve stored content at different
|
|
57
|
+
granularities:
|
|
58
|
+
|
|
59
|
+
| Command | Purpose |
|
|
60
|
+
|---------|---------|
|
|
61
|
+
| `search` | Find sections by query; returns ranked snippets |
|
|
62
|
+
| `recall` | Expand full context around known kbids (post-search deep-dive) |
|
|
63
|
+
| `content` | Compose rendered Markdown from kbid or docid identifiers |
|
|
64
|
+
|
|
65
|
+
**When to use which:** Start with `search` to find
|
|
66
|
+
relevant sections by keyword. Use `recall` to expand
|
|
67
|
+
a search result into its full context -- parent
|
|
68
|
+
documents, sibling sections, and references. Use
|
|
69
|
+
`content` when you already know the exact kbid or
|
|
70
|
+
docid and want rendered Markdown output.
|
|
51
71
|
|
|
52
72
|
## Global Options
|
|
53
73
|
|
|
@@ -55,20 +75,28 @@ kbdb <command> <subcommand> [options] ...[parameters]
|
|
|
55
75
|
|--------|-------|---------|-------------|
|
|
56
76
|
| `--help` | `-h` | | Print help text and exit |
|
|
57
77
|
| `--version` | `-v` | | Print version and exit |
|
|
58
|
-
| `--db <path>` | | cwd | Database directory path |
|
|
59
|
-
| `--format <fmt>` | `-f` | `json` | Output format (`json`, `text`, `mcp`) |
|
|
78
|
+
| `--db <path>` | | cwd | Database directory path (optional) |
|
|
79
|
+
| `--format <fmt>` | `-f` | `json` (text when interactive) | Output format (`json`, `text`, `mcp`) |
|
|
80
|
+
| `--timeout-ms <ms>` | | `30000` | Per-request daemon timeout in milliseconds |
|
|
81
|
+
| `--retry <n>` | | `1` | Max retries with daemon respawn on timeout |
|
|
60
82
|
|
|
61
83
|
### `--db <path>`
|
|
62
84
|
|
|
63
85
|
Set the path to the directory containing the
|
|
64
86
|
`.kbdb` database folder. The actual database is
|
|
65
|
-
always at `${path}/.kbdb`.
|
|
87
|
+
always at `${path}/.kbdb`. This flag is optional.
|
|
66
88
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
89
|
+
Resolution order:
|
|
90
|
+
|
|
91
|
+
1. `--db` flag (highest priority)
|
|
92
|
+
2. `KBDB_DB_DIR` environment variable
|
|
93
|
+
3. Current working directory (CLI mode only)
|
|
94
|
+
|
|
95
|
+
- **CLI mode**: resolves using the order above.
|
|
96
|
+
- **MCP mode**: falls back to the `KBDB_DB_DIR`
|
|
70
97
|
environment variable. If neither `--db` nor
|
|
71
|
-
`
|
|
98
|
+
`KBDB_DB_DIR` is set, the server exits with an
|
|
99
|
+
error.
|
|
72
100
|
|
|
73
101
|
## Search Options
|
|
74
102
|
|
|
@@ -87,10 +115,26 @@ These options apply to the `search` command.
|
|
|
87
115
|
|
|
88
116
|
| Algorithm | Description |
|
|
89
117
|
|-----------|-------------|
|
|
90
|
-
| `lexical` | Keyword matching with stemming and synonyms
|
|
118
|
+
| `lexical` | Keyword matching with stemming and synonyms |
|
|
91
119
|
| `vector` | AI-powered similarity search using embeddings (requires a configured embedding provider) |
|
|
92
120
|
| `hybrid` | Combines keyword and similarity results for best coverage |
|
|
93
121
|
|
|
122
|
+
### Configuring Hybrid Search
|
|
123
|
+
|
|
124
|
+
Hybrid and vector search require an embedding provider.
|
|
125
|
+
kbdb supports pluggable providers configured via the
|
|
126
|
+
`EmbeddingConfig` interface:
|
|
127
|
+
|
|
128
|
+
| Provider | Description |
|
|
129
|
+
|----------|-------------|
|
|
130
|
+
| `none` | No embeddings; hybrid and vector return an error |
|
|
131
|
+
| `onnx` | Local ONNX model (no network required) |
|
|
132
|
+
| `api` | Remote embedding API (OpenAI-compatible endpoint) |
|
|
133
|
+
|
|
134
|
+
When no provider is configured, `--algo hybrid` and
|
|
135
|
+
`--algo vector` return an error prompting you to
|
|
136
|
+
configure an embedding provider.
|
|
137
|
+
|
|
94
138
|
### Search Modes
|
|
95
139
|
|
|
96
140
|
| Mode | Description |
|
|
@@ -167,6 +211,9 @@ and ranking data.
|
|
|
167
211
|
]
|
|
168
212
|
```
|
|
169
213
|
|
|
214
|
+
> kbid arguments accept unique prefixes -- kbdb
|
|
215
|
+
> resolves them to full 26-character identifiers.
|
|
216
|
+
|
|
170
217
|
### `search` -- Query the Knowledge Base
|
|
171
218
|
|
|
172
219
|
```
|
|
@@ -220,6 +267,10 @@ Retrieve full content and progressive context for
|
|
|
220
267
|
one or more sections. Use after `search` to read
|
|
221
268
|
relevant results.
|
|
222
269
|
|
|
270
|
+
> Identifiers can be shortened to a unique prefix
|
|
271
|
+
> (like git short hashes). kbdb resolves the prefix
|
|
272
|
+
> to the full 26-character kbid.
|
|
273
|
+
|
|
223
274
|
**Options:**
|
|
224
275
|
|
|
225
276
|
| Option | Default | Description |
|
|
@@ -260,6 +311,10 @@ kbdb content [options] <id>...
|
|
|
260
311
|
Compose a rendered Markdown document from one or
|
|
261
312
|
more kbid or docid identifiers.
|
|
262
313
|
|
|
314
|
+
> Identifiers can be shortened to a unique prefix
|
|
315
|
+
> (like git short hashes). kbdb resolves the prefix
|
|
316
|
+
> to the full 26-character kbid.
|
|
317
|
+
|
|
263
318
|
**Output:**
|
|
264
319
|
|
|
265
320
|
```json
|
|
@@ -561,7 +616,7 @@ kbdb mcp [options]
|
|
|
561
616
|
```
|
|
562
617
|
|
|
563
618
|
Start a long-lived MCP server on stdio. Requires
|
|
564
|
-
`--db <path>` or the `
|
|
619
|
+
`--db <path>` or the `KBDB_DB_DIR` environment
|
|
565
620
|
variable. See the
|
|
566
621
|
[MCP Server Guide](mcp-server.md) for setup and
|
|
567
622
|
tool reference.
|
|
@@ -660,9 +715,11 @@ kbdb agent delete agent-code-reviewer
|
|
|
660
715
|
|
|
661
716
|
## Environment Variables
|
|
662
717
|
|
|
663
|
-
| Variable | Used By | Description |
|
|
664
|
-
|
|
665
|
-
| `
|
|
718
|
+
| Variable | Used By | Default | Description |
|
|
719
|
+
|----------|---------|---------|-------------|
|
|
720
|
+
| `KBDB_DB_DIR` | CLI + MCP | cwd (CLI) / none (MCP) | Fallback database directory path when `--db` is not specified. |
|
|
721
|
+
| `KBDB_DAEMON_TIMEOUT` | CLI + MCP | `30000` | Per-request daemon timeout in milliseconds. Overridden by `--timeout-ms`. |
|
|
722
|
+
| `KBDB_RETRY` | CLI + MCP | `1` | Max retries with daemon respawn on timeout. Overridden by `--retry`. |
|
|
666
723
|
|
|
667
724
|
## Exit Codes
|
|
668
725
|
|
|
@@ -0,0 +1,173 @@
|
|
|
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 need an embedding provider.
|
|
78
|
+
Without one, they return an error prompting you to
|
|
79
|
+
configure an embedding provider.
|
|
80
|
+
See the [CLI Reference](cli.md) for provider
|
|
81
|
+
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
|
+
|
|
163
|
+
These can also be set via the `KBDB_DAEMON_TIMEOUT`
|
|
164
|
+
and `KBDB_RETRY` environment variables. The flags
|
|
165
|
+
take priority over env vars.
|
|
166
|
+
|
|
167
|
+
## Deep Dives
|
|
168
|
+
|
|
169
|
+
- [CLI Reference](cli.md) -- full command list
|
|
170
|
+
- [Search and Ranking](search-and-ranking.md) --
|
|
171
|
+
scoring, stemming, hybrid search internals
|
|
172
|
+
- [Storage Architecture](storage.md) -- file formats,
|
|
173
|
+
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[];
|
|
@@ -8,7 +8,7 @@ agents over stdio using JSON-RPC 2.0.
|
|
|
8
8
|
|
|
9
9
|
Configure kbdb as an MCP server for your AI agent
|
|
10
10
|
platform. The server requires a database path via
|
|
11
|
-
`--db` or the `
|
|
11
|
+
`--db` or the `KBDB_DB_DIR` environment variable.
|
|
12
12
|
|
|
13
13
|
### Claude Code (CLI)
|
|
14
14
|
|
|
@@ -131,9 +131,9 @@ deno run -A jsr:@dikolab/kbdb/cli mcp \
|
|
|
131
131
|
--db /path/to/.kbdb
|
|
132
132
|
```
|
|
133
133
|
|
|
134
|
-
### Using `
|
|
134
|
+
### Using `KBDB_DB_DIR` Environment Variable
|
|
135
135
|
|
|
136
|
-
The `--db` flag can be replaced by the `
|
|
136
|
+
The `--db` flag can be replaced by the `KBDB_DB_DIR`
|
|
137
137
|
environment variable in any configuration:
|
|
138
138
|
|
|
139
139
|
```json
|
|
@@ -143,20 +143,51 @@ environment variable in any configuration:
|
|
|
143
143
|
"command": "npx",
|
|
144
144
|
"args": ["-y", "@dikolab/kbdb", "mcp"],
|
|
145
145
|
"env": {
|
|
146
|
-
"
|
|
146
|
+
"KBDB_DB_DIR": "/path/to/.kbdb"
|
|
147
147
|
}
|
|
148
148
|
}
|
|
149
149
|
}
|
|
150
150
|
}
|
|
151
151
|
```
|
|
152
152
|
|
|
153
|
-
Resolution order: `--db` flag, then `
|
|
153
|
+
Resolution order: `--db` flag, then `KBDB_DB_DIR`
|
|
154
154
|
env var. If neither is set, the server exits with
|
|
155
155
|
an error. The server does not fall back to the
|
|
156
156
|
current working directory because the server's cwd
|
|
157
157
|
is determined by the host application, not the
|
|
158
158
|
user.
|
|
159
159
|
|
|
160
|
+
### `KBDB_DAEMON_TIMEOUT`
|
|
161
|
+
|
|
162
|
+
Per-request daemon timeout in milliseconds.
|
|
163
|
+
Defaults to `30000` (30 seconds). Overridden by
|
|
164
|
+
the `--timeout-ms` flag.
|
|
165
|
+
|
|
166
|
+
### `KBDB_RETRY`
|
|
167
|
+
|
|
168
|
+
Maximum number of retries with daemon respawn when
|
|
169
|
+
a request times out. Defaults to `1`. Overridden
|
|
170
|
+
by the `--retry` flag.
|
|
171
|
+
|
|
172
|
+
These variables can be set in the `env` block of
|
|
173
|
+
your MCP configuration:
|
|
174
|
+
|
|
175
|
+
```json
|
|
176
|
+
{
|
|
177
|
+
"mcpServers": {
|
|
178
|
+
"kbdb": {
|
|
179
|
+
"command": "npx",
|
|
180
|
+
"args": ["-y", "@dikolab/kbdb", "mcp"],
|
|
181
|
+
"env": {
|
|
182
|
+
"KBDB_DB_DIR": "/path/to/.kbdb",
|
|
183
|
+
"KBDB_DAEMON_TIMEOUT": "60000",
|
|
184
|
+
"KBDB_RETRY": "2"
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
```
|
|
190
|
+
|
|
160
191
|
### Multiple Knowledge Bases
|
|
161
192
|
|
|
162
193
|
Register multiple server instances pointing to
|
|
@@ -213,7 +244,7 @@ daemon via JSON-RPC 2.0 over IPC.
|
|
|
213
244
|
|
|
214
245
|
| Tool | Parameters | Description | Read-only | Destructive |
|
|
215
246
|
|------|-----------|-------------|-----------|-------------|
|
|
216
|
-
| `skill-learn` | `name` (string, required), `description` (string
|
|
247
|
+
| `skill-learn` | `name` (string, required), `description` (string), `body` (string, required) | Create or update a skill definition. Body supports `{{argName}}` template placeholders. | no | no |
|
|
217
248
|
| `skill-list` | (none) | List all skill definitions. Returns array of summaries with kbid, name, description, argumentCount. | yes | no |
|
|
218
249
|
| `skill-get` | `name` (string), `kbid` (string) | Retrieve a single skill by name or kb-id. At least one required; `kbid` takes precedence. | yes | no |
|
|
219
250
|
| `skill-delete` | `kbid` (string, required) | Remove a skill by kb-id. Agent documents referencing this skill will have dangling references. | no | yes |
|
|
@@ -222,7 +253,7 @@ daemon via JSON-RPC 2.0 over IPC.
|
|
|
222
253
|
|
|
223
254
|
| Tool | Parameters | Description | Read-only | Destructive |
|
|
224
255
|
|------|-----------|-------------|-----------|-------------|
|
|
225
|
-
| `agent-create` | `name` (string, required), `description` (string
|
|
256
|
+
| `agent-create` | `name` (string, required), `description` (string), `persona` (string, required), `skills` (string[]) | Create an agent with a persona and optional skill references. | no | no |
|
|
226
257
|
| `agent-list` | (none) | List all agent documents. Returns array of summaries with docid, name, description, skillCount. | yes | no |
|
|
227
258
|
| `agent-get` | `docid` (string, required) | Retrieve an agent with resolved skill definitions. Deleted skills appear with `name: null`. | yes | no |
|
|
228
259
|
| `agent-delete` | `docid` (string, required) | Remove an agent document. Referenced skill sections are preserved. | no | yes |
|
|
@@ -2,11 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
When you search, kbdb finds the sections that best
|
|
4
4
|
match your query and ranks them by relevance. By
|
|
5
|
-
default it
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
5
|
+
default it uses keyword search -- matching terms with
|
|
6
|
+
stemming, synonym expansion, and BM25F ranking. Use
|
|
7
|
+
`--algo hybrid` to combine keyword matching with
|
|
8
|
+
AI-powered similarity for broader recall. The rest
|
|
9
|
+
of this page explains how ranking
|
|
10
|
+
works under the hood -- you don't need to read it
|
|
11
|
+
to use kbdb.
|
|
10
12
|
|
|
11
13
|
---
|
|
12
14
|
|
|
@@ -529,12 +531,11 @@ Neither standalone module calls the other directly.
|
|
|
529
531
|
kbdb supports three search algorithms, selected
|
|
530
532
|
with `--algo` (CLI) or the `algo` parameter (MCP).
|
|
531
533
|
|
|
532
|
-
### Lexical
|
|
534
|
+
### Lexical
|
|
533
535
|
|
|
534
536
|
Keyword matching with stemming and synonym
|
|
535
537
|
expansion, scored by BM25F as described above.
|
|
536
538
|
Fast, works offline, and gives consistent results.
|
|
537
|
-
This is the default when no `--algo` flag is given.
|
|
538
539
|
|
|
539
540
|
### Vector
|
|
540
541
|
|
|
@@ -551,7 +552,7 @@ because of JSONB" even though none of the words
|
|
|
551
552
|
overlap.
|
|
552
553
|
|
|
553
554
|
Requires an embedding provider to be configured.
|
|
554
|
-
Without one, vector mode
|
|
555
|
+
Without one, vector mode returns an error.
|
|
555
556
|
|
|
556
557
|
### Hybrid
|
|
557
558
|
|
|
@@ -559,7 +560,7 @@ Runs both lexical and vector searches in parallel,
|
|
|
559
560
|
then merges the two ranked lists using Reciprocal
|
|
560
561
|
Rank Fusion (RRF). This combines the precision of
|
|
561
562
|
keyword matching with the associative recall of
|
|
562
|
-
embeddings.
|
|
563
|
+
embeddings. Use `--algo hybrid` to enable.
|
|
563
564
|
|
|
564
565
|
RRF works by converting each result's rank position
|
|
565
566
|
into a score (`1 / (k + rank)` with k=60), then
|
|
@@ -567,4 +568,4 @@ summing scores across both lists. Results that rank
|
|
|
567
568
|
well in both lists get the highest combined scores.
|
|
568
569
|
|
|
569
570
|
Hybrid mode requires an embedding provider. Without
|
|
570
|
-
one, it
|
|
571
|
+
one, it returns an error.
|