@dikolab/kbdb 0.3.1 → 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 +108 -126
- 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 +78 -12
- package/docs/details/knowledge-base.md +173 -0
- package/docs/details/library-api.md +42 -2
- package/docs/details/mcp-server.md +39 -8
- package/docs/details/search-and-ranking.md +56 -0
- 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 +43 -22
- package/docs/release-notes/0.3.1.md +10 -0
- package/docs/release-notes/0.3.2.md +64 -0
- package/docs/release-notes/0.4.0.md +80 -0
- package/docs/release-notes/README.md +2 -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
|
|
|
@@ -80,8 +108,33 @@ These options apply to the `search` command.
|
|
|
80
108
|
| `--limit <n>` | `-l` | `20` | positive integer | Maximum results returned |
|
|
81
109
|
| `--offset <n>` | | `0` | non-negative integer | Zero-based result offset for pagination |
|
|
82
110
|
| `--format <fmt>` | `-f` | `json` | `json`, `text`, `mcp` | Output format |
|
|
111
|
+
| `--algo <algo>` | | `lexical` | `lexical`, `vector`, `hybrid` | Search algorithm |
|
|
83
112
|
| `--content` | `-c` | off | boolean flag | Hydrate results with section content |
|
|
84
113
|
|
|
114
|
+
### Search Algorithms
|
|
115
|
+
|
|
116
|
+
| Algorithm | Description |
|
|
117
|
+
|-----------|-------------|
|
|
118
|
+
| `lexical` | Keyword matching with stemming and synonyms |
|
|
119
|
+
| `vector` | AI-powered similarity search using embeddings (requires a configured embedding provider) |
|
|
120
|
+
| `hybrid` | Combines keyword and similarity results for best coverage |
|
|
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
|
+
|
|
85
138
|
### Search Modes
|
|
86
139
|
|
|
87
140
|
| Mode | Description |
|
|
@@ -158,6 +211,9 @@ and ranking data.
|
|
|
158
211
|
]
|
|
159
212
|
```
|
|
160
213
|
|
|
214
|
+
> kbid arguments accept unique prefixes -- kbdb
|
|
215
|
+
> resolves them to full 26-character identifiers.
|
|
216
|
+
|
|
161
217
|
### `search` -- Query the Knowledge Base
|
|
162
218
|
|
|
163
219
|
```
|
|
@@ -211,6 +267,10 @@ Retrieve full content and progressive context for
|
|
|
211
267
|
one or more sections. Use after `search` to read
|
|
212
268
|
relevant results.
|
|
213
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
|
+
|
|
214
274
|
**Options:**
|
|
215
275
|
|
|
216
276
|
| Option | Default | Description |
|
|
@@ -251,6 +311,10 @@ kbdb content [options] <id>...
|
|
|
251
311
|
Compose a rendered Markdown document from one or
|
|
252
312
|
more kbid or docid identifiers.
|
|
253
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
|
+
|
|
254
318
|
**Output:**
|
|
255
319
|
|
|
256
320
|
```json
|
|
@@ -552,7 +616,7 @@ kbdb mcp [options]
|
|
|
552
616
|
```
|
|
553
617
|
|
|
554
618
|
Start a long-lived MCP server on stdio. Requires
|
|
555
|
-
`--db <path>` or the `
|
|
619
|
+
`--db <path>` or the `KBDB_DB_DIR` environment
|
|
556
620
|
variable. See the
|
|
557
621
|
[MCP Server Guide](mcp-server.md) for setup and
|
|
558
622
|
tool reference.
|
|
@@ -651,9 +715,11 @@ kbdb agent delete agent-code-reviewer
|
|
|
651
715
|
|
|
652
716
|
## Environment Variables
|
|
653
717
|
|
|
654
|
-
| Variable | Used By | Description |
|
|
655
|
-
|
|
656
|
-
| `
|
|
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`. |
|
|
657
723
|
|
|
658
724
|
## Exit Codes
|
|
659
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
|
|
@@ -196,7 +227,7 @@ daemon via JSON-RPC 2.0 over IPC.
|
|
|
196
227
|
|
|
197
228
|
| Tool | Parameters | Description | Read-only | Destructive |
|
|
198
229
|
|------|-----------|-------------|-----------|-------------|
|
|
199
|
-
| `search` | `query` (string, required), `mode` (string), `limit` (number), `offset` (number), `content` (boolean) | Query the knowledge base by keywords. Returns ranked results with heading, snippet, and matched terms. Use
|
|
230
|
+
| `search` | `query` (string, required), `mode` (string), `algo` (string: lexical, vector, hybrid), `limit` (number), `offset` (number), `content` (boolean) | Query the knowledge base by keywords. Returns ranked results with heading, snippet, and matched terms. Use `algo` to select search algorithm (default: lexical). | yes | no |
|
|
200
231
|
| `learn` | `content` (string, required), `type` (string), `title` (string), `description` (string), `docid` (string), `tags` (string[]), `replace` (boolean) | Import content into the knowledge base. Use for durable facts, decisions, and corrections. Use `replace` when updating existing knowledge. Attach `tags` for scoping. | no | no |
|
|
201
232
|
| `unlearn` | `kbid` (string, required) | Remove a section by kb-id. Cascades deletion to index entries and ranking data. | no | yes |
|
|
202
233
|
| `retrieve` | `kbid` (string), `docid` (string) | Fetch a specific section or document by identifier. At least one of `kbid` or `docid` required. | yes | no |
|
|
@@ -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 |
|