@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.
Files changed (466) hide show
  1. package/README.md +83 -89
  2. package/dist/chunk-BJPSPNGX.mjs +223 -0
  3. package/dist/chunk-BJPSPNGX.mjs.map +7 -0
  4. package/dist/cli.cjs +956 -319
  5. package/dist/cli.cjs.map +4 -4
  6. package/dist/cli.d.ts +9 -0
  7. package/dist/cli.mjs +840 -321
  8. package/dist/cli.mjs.map +4 -4
  9. package/dist/kbdb-worker.cjs +714 -94
  10. package/dist/kbdb-worker.cjs.map +4 -4
  11. package/dist/mod.cjs +122 -16
  12. package/dist/mod.cjs.map +3 -3
  13. package/dist/mod.d.ts +23 -2
  14. package/dist/mod.mjs +121 -16
  15. package/dist/mod.mjs.map +3 -3
  16. package/dist/src/shared/cli/functions/dispatch-command.function.d.ts +2 -1
  17. package/dist/src/shared/cli/functions/find-db.function.d.ts +7 -8
  18. package/dist/src/shared/cli/functions/handle-mcp.function.d.ts +1 -1
  19. package/dist/src/shared/cli/functions/parse-args.function.d.ts +4 -3
  20. package/dist/src/shared/cli/functions/resolve-kbid-prefix.function.d.ts +27 -0
  21. package/dist/src/shared/cli/functions/resolve-raw-db-path.function.d.ts +10 -0
  22. package/dist/src/shared/cli/functions/run-cli.function.d.ts +3 -1
  23. package/dist/src/shared/cli/functions/run-content.function.d.ts +8 -3
  24. package/dist/src/shared/cli/functions/run-import.function.d.ts +27 -0
  25. package/dist/src/shared/cli/functions/run-recall.function.d.ts +10 -4
  26. package/dist/src/shared/cli/functions/run-search.function.d.ts +7 -0
  27. package/dist/src/shared/cli/functions/run-unlearn.function.d.ts +9 -4
  28. package/dist/src/shared/cli/functions/run-worker-restart.function.d.ts +11 -0
  29. package/dist/src/shared/cli/functions/run-worker-stop.function.d.ts +11 -0
  30. package/dist/src/shared/cli/index.d.ts +2 -0
  31. package/dist/src/shared/cli/typings/cli-deps.interface.d.ts +4 -1
  32. package/dist/src/shared/cli/typings/cli-options.interface.d.ts +17 -0
  33. package/dist/src/shared/cli/typings/dispatch-client.type.d.ts +2 -1
  34. package/dist/src/shared/cli/typings/search-display.model.d.ts +6 -0
  35. package/dist/src/shared/embedding/classes/api-embedding-provider.class.d.ts +33 -0
  36. package/dist/src/shared/embedding/classes/onnx-embedding-provider.class.d.ts +33 -0
  37. package/dist/src/shared/embedding/functions/append-vector-entry.function.d.ts +14 -0
  38. package/dist/src/shared/embedding/functions/create-embedding-provider.function.d.ts +12 -0
  39. package/dist/src/shared/embedding/functions/detect-stale-vectors.function.d.ts +16 -0
  40. package/dist/src/shared/embedding/functions/parse-api-embedding-response.function.d.ts +11 -0
  41. package/dist/src/shared/embedding/functions/rebuild-vectors.function.d.ts +15 -0
  42. package/dist/src/shared/embedding/functions/scan-semantic-contradictions.function.d.ts +13 -0
  43. package/dist/src/shared/embedding/index.d.ts +7 -0
  44. package/dist/src/shared/embedding/typings/semantic-contradiction.model.d.ts +21 -0
  45. package/dist/src/shared/embedding/typings/stale-vectors-report.model.d.ts +16 -0
  46. package/dist/src/shared/mcp/classes/mcp-server.class.d.ts +22 -2
  47. package/dist/src/shared/mcp/functions/create-mcp-server.function.d.ts +6 -1
  48. package/dist/src/shared/mcp/functions/has-sampling-capability.function.d.ts +8 -0
  49. package/dist/src/shared/mcp/functions/run-auto-capture.function.d.ts +26 -0
  50. package/dist/src/shared/mcp/typings/mcp-client.interface.d.ts +2 -0
  51. package/dist/src/shared/mcp/typings/mcp-integrity-check-result.model.d.ts +24 -0
  52. package/dist/src/shared/mcp/typings/mcp-worker-client.interface.d.ts +3 -1
  53. package/dist/src/shared/version/constants/version.constant.d.ts +1 -1
  54. package/dist/src/shared/wasm-codec/typings/paged-search-result.model.d.ts +2 -0
  55. package/dist/src/shared/worker-client/classes/worker-client.class.d.ts +31 -1
  56. package/dist/src/shared/worker-client/constants/request-timeout.constant.d.ts +2 -0
  57. package/dist/src/shared/worker-client/constants/retry-defaults.constant.d.ts +2 -0
  58. package/dist/src/shared/worker-client/functions/get-or-create-client.function.d.ts +20 -0
  59. package/dist/src/shared/worker-client/functions/retry-on-timeout.function.d.ts +17 -0
  60. package/dist/src/shared/worker-client/index.d.ts +4 -1
  61. package/dist/src/shared/worker-client/typings/import-result.model.d.ts +16 -0
  62. package/dist/src/shared/worker-client/typings/integrity-check-result.model.d.ts +24 -0
  63. package/dist/src/shared/worker-client/typings/search-params.model.d.ts +4 -0
  64. package/dist/src/shared/worker-client/typings/search-result.model.d.ts +6 -0
  65. package/dist/src/shared/worker-client/typings/worker-client-options.interface.d.ts +7 -0
  66. package/dist/src/shared/worker-daemon/classes/worker-daemon.class.d.ts +5 -0
  67. package/dist/src/shared/worker-daemon/functions/create-ipc-server.function.d.ts +11 -11
  68. package/dist/src/shared/worker-daemon/functions/embed-after-learn.function.d.ts +13 -0
  69. package/dist/src/shared/worker-daemon/functions/handle-hybrid-search.function.d.ts +44 -0
  70. package/dist/src/shared/worker-daemon/functions/handle-import.function.d.ts +14 -0
  71. package/dist/src/shared/worker-daemon/functions/handle-read-ops.function.d.ts +7 -1
  72. package/dist/src/shared/worker-daemon/functions/handle-write-ops.function.d.ts +9 -4
  73. package/dist/src/shared/worker-daemon/typings/handler-context.interface.d.ts +3 -0
  74. package/dist/wasm/fs-database/kbdb_fs_database.d.ts +16 -85
  75. package/dist/wasm/fs-database/kbdb_fs_database.js +16 -85
  76. package/dist/wasm/fs-database/kbdb_fs_database_bg.wasm +0 -0
  77. package/dist/wasm/kb-worker/kbdb_worker.d.ts +20 -115
  78. package/dist/wasm/kb-worker/kbdb_worker.js +20 -115
  79. package/dist/wasm/kb-worker/kbdb_worker_bg.wasm +0 -0
  80. package/dist/wasm/query-parser/kbdb_query_parser_bg.wasm +0 -0
  81. package/dist/worker.d.ts +8 -0
  82. package/dist/worker.mjs +606 -102
  83. package/dist/worker.mjs.map +4 -4
  84. package/docs/details/README.md +4 -0
  85. package/docs/details/agent-tooling.md +122 -0
  86. package/docs/details/cli.md +70 -13
  87. package/docs/details/knowledge-base.md +173 -0
  88. package/docs/details/library-api.md +42 -2
  89. package/docs/details/mcp-server.md +38 -7
  90. package/docs/details/search-and-ranking.md +11 -10
  91. package/docs/goals/cli.md +110 -34
  92. package/docs/goals/mcp.md +22 -19
  93. package/docs/goals/query-parser.md +8 -0
  94. package/docs/goals/worker-client.md +62 -1
  95. package/docs/goals/worker-daemon.md +52 -10
  96. package/docs/modules/typescript/cli.md +1 -1
  97. package/docs/modules/typescript/shared/cli/functions.md +116 -13
  98. package/docs/modules/typescript/shared/cli/module.md +33 -20
  99. package/docs/modules/typescript/shared/cli/typings.md +4 -0
  100. package/docs/modules/typescript/shared/embedding/functions.md +104 -25
  101. package/docs/modules/typescript/shared/mcp/module.md +1 -1
  102. package/docs/modules/typescript/shared/mcp/typings.md +8 -1
  103. package/docs/modules/typescript/shared/worker-client/module.md +9 -1
  104. package/docs/modules/typescript/shared/worker-client/typings.md +3 -0
  105. package/docs/modules/typescript/shared/worker-daemon/module.md +6 -3
  106. package/docs/overview.md +1 -2
  107. package/docs/release-notes/0.4.0.md +80 -0
  108. package/docs/release-notes/README.md +1 -0
  109. package/mod.ts +33 -15
  110. package/package.json +11 -10
  111. package/dist/chunk-JG2UCKLI.mjs +0 -95
  112. package/dist/chunk-JG2UCKLI.mjs.map +0 -7
  113. package/src/cli.ts +0 -71
  114. package/src/shared/auto-capture/classes/auto-capture-controller.class.ts +0 -62
  115. package/src/shared/auto-capture/constants/auto-capture-defaults.constant.ts +0 -15
  116. package/src/shared/auto-capture/functions/build-capture-prompt.function.ts +0 -27
  117. package/src/shared/auto-capture/functions/evaluate-trigger.function.ts +0 -50
  118. package/src/shared/auto-capture/index.ts +0 -7
  119. package/src/shared/auto-capture/typings/auto-capture-config.interface.ts +0 -13
  120. package/src/shared/auto-capture/typings/auto-capture-state.interface.ts +0 -13
  121. package/src/shared/auto-capture/typings/auto-capture-trigger.interface.ts +0 -7
  122. package/src/shared/cli/constants/defaults.constant.ts +0 -19
  123. package/src/shared/cli/constants/global-help.constant.ts +0 -73
  124. package/src/shared/cli/constants/help-text.constant.ts +0 -4
  125. package/src/shared/cli/constants/leaf-help.constant.ts +0 -219
  126. package/src/shared/cli/constants/memory-protocol-body.constant.ts +0 -39
  127. package/src/shared/cli/constants/query-guidance-body.constant.ts +0 -37
  128. package/src/shared/cli/constants/subcommand-help.constant.ts +0 -195
  129. package/src/shared/cli/functions/collect-files.function.ts +0 -55
  130. package/src/shared/cli/functions/compute-section-kbid.function.ts +0 -49
  131. package/src/shared/cli/functions/dispatch-command.function.ts +0 -390
  132. package/src/shared/cli/functions/ensure-db.function.ts +0 -21
  133. package/src/shared/cli/functions/error-to-message.function.ts +0 -9
  134. package/src/shared/cli/functions/find-db.function.ts +0 -20
  135. package/src/shared/cli/functions/format-mcp-output.function.ts +0 -41
  136. package/src/shared/cli/functions/format-output.function.ts +0 -95
  137. package/src/shared/cli/functions/format-text-output.function.ts +0 -42
  138. package/src/shared/cli/functions/generate-group-help.function.ts +0 -41
  139. package/src/shared/cli/functions/generate-help.function.ts +0 -654
  140. package/src/shared/cli/functions/handle-data-command.function.ts +0 -67
  141. package/src/shared/cli/functions/handle-mcp.function.ts +0 -56
  142. package/src/shared/cli/functions/handle-migrate.function.ts +0 -64
  143. package/src/shared/cli/functions/hydrate-search-previews.function.ts +0 -29
  144. package/src/shared/cli/functions/install-default-skills.function.ts +0 -296
  145. package/src/shared/cli/functions/is-stdin-tty.function.ts +0 -12
  146. package/src/shared/cli/functions/parse-args.function.ts +0 -156
  147. package/src/shared/cli/functions/prompt-user.function.ts +0 -36
  148. package/src/shared/cli/functions/resolve-skill-names.function.ts +0 -43
  149. package/src/shared/cli/functions/run-agent-create.function.ts +0 -114
  150. package/src/shared/cli/functions/run-agent-delete.function.ts +0 -47
  151. package/src/shared/cli/functions/run-agent-get.function.ts +0 -166
  152. package/src/shared/cli/functions/run-agent-list.function.ts +0 -58
  153. package/src/shared/cli/functions/run-check.function.ts +0 -159
  154. package/src/shared/cli/functions/run-cli.function.ts +0 -299
  155. package/src/shared/cli/functions/run-content.function.ts +0 -47
  156. package/src/shared/cli/functions/run-db-init.function.ts +0 -44
  157. package/src/shared/cli/functions/run-db-migrate.function.ts +0 -40
  158. package/src/shared/cli/functions/run-export.function.ts +0 -40
  159. package/src/shared/cli/functions/run-gc.function.ts +0 -51
  160. package/src/shared/cli/functions/run-init.function.ts +0 -93
  161. package/src/shared/cli/functions/run-learn.function.ts +0 -223
  162. package/src/shared/cli/functions/run-migrate.function.ts +0 -85
  163. package/src/shared/cli/functions/run-rebuild.function.ts +0 -47
  164. package/src/shared/cli/functions/run-recall.function.ts +0 -66
  165. package/src/shared/cli/functions/run-search.function.ts +0 -133
  166. package/src/shared/cli/functions/run-skill-delete.function.ts +0 -47
  167. package/src/shared/cli/functions/run-skill-get.function.ts +0 -90
  168. package/src/shared/cli/functions/run-skill-learn.function.ts +0 -70
  169. package/src/shared/cli/functions/run-skill-list.function.ts +0 -74
  170. package/src/shared/cli/functions/run-status.function.ts +0 -29
  171. package/src/shared/cli/functions/run-unlearn.function.ts +0 -58
  172. package/src/shared/cli/functions/version-gate.function.ts +0 -44
  173. package/src/shared/cli/functions/wrap-command.function.ts +0 -34
  174. package/src/shared/cli/index.ts +0 -55
  175. package/src/shared/cli/typings/agent-create-client.interface.ts +0 -47
  176. package/src/shared/cli/typings/agent-get-client.interface.ts +0 -39
  177. package/src/shared/cli/typings/check-client.interface.ts +0 -66
  178. package/src/shared/cli/typings/cli-deps.interface.ts +0 -54
  179. package/src/shared/cli/typings/cli-options.interface.ts +0 -72
  180. package/src/shared/cli/typings/command-result.model.ts +0 -15
  181. package/src/shared/cli/typings/disconnectable-client.interface.ts +0 -29
  182. package/src/shared/cli/typings/dispatch-client.type.ts +0 -46
  183. package/src/shared/cli/typings/learn-client.interface.ts +0 -53
  184. package/src/shared/cli/typings/learn-io.interface.ts +0 -5
  185. package/src/shared/cli/typings/learn-result.model.ts +0 -27
  186. package/src/shared/cli/typings/search-client.interface.ts +0 -73
  187. package/src/shared/cli/typings/search-display.model.ts +0 -54
  188. package/src/shared/dir-resolver/functions/join-path.function.ts +0 -13
  189. package/src/shared/dir-resolver/functions/resolve-base-dir.function.ts +0 -25
  190. package/src/shared/dir-resolver/functions/resolve-wasm-dir.function.ts +0 -5
  191. package/src/shared/dir-resolver/functions/resolve-worker-script.function.ts +0 -13
  192. package/src/shared/dir-resolver/index.ts +0 -11
  193. package/src/shared/dir-resolver/typings/base-dir.interface.ts +0 -4
  194. package/src/shared/embedding/classes/null-embedding-provider.class.ts +0 -29
  195. package/src/shared/embedding/constants/near-duplicate-thresholds.constant.ts +0 -17
  196. package/src/shared/embedding/functions/build-vector-index.function.ts +0 -79
  197. package/src/shared/embedding/functions/cosine-similarity.function.ts +0 -31
  198. package/src/shared/embedding/functions/detect-near-duplicates.function.ts +0 -69
  199. package/src/shared/embedding/functions/jaccard-coefficient.function.ts +0 -26
  200. package/src/shared/embedding/functions/read-vector-index-meta.function.ts +0 -44
  201. package/src/shared/embedding/functions/rrf-fuse.function.ts +0 -33
  202. package/src/shared/embedding/functions/search-vectors.function.ts +0 -59
  203. package/src/shared/embedding/index.ts +0 -20
  204. package/src/shared/embedding/typings/embedding-config.interface.ts +0 -23
  205. package/src/shared/embedding/typings/embedding-provider.interface.ts +0 -25
  206. package/src/shared/embedding/typings/near-duplicate-candidate.model.ts +0 -25
  207. package/src/shared/embedding/typings/near-duplicate-result.model.ts +0 -26
  208. package/src/shared/embedding/typings/vector-index-entry.model.ts +0 -13
  209. package/src/shared/embedding/typings/vector-index-meta.model.ts +0 -14
  210. package/src/shared/embedding/typings/vector-search-result.model.ts +0 -8
  211. package/src/shared/hash/functions/compute-sha256.ts +0 -17
  212. package/src/shared/hash/index.ts +0 -1
  213. package/src/shared/mcp/classes/mcp-server.class.ts +0 -480
  214. package/src/shared/mcp/constants/mcp-error-codes.constant.ts +0 -30
  215. package/src/shared/mcp/constants/tool-agent-create.constant.ts +0 -39
  216. package/src/shared/mcp/constants/tool-agent-delete.constant.ts +0 -26
  217. package/src/shared/mcp/constants/tool-agent-get.constant.ts +0 -24
  218. package/src/shared/mcp/constants/tool-agent-list.constant.ts +0 -18
  219. package/src/shared/mcp/constants/tool-auto-capture-review.constant.ts +0 -32
  220. package/src/shared/mcp/constants/tool-check.constant.ts +0 -21
  221. package/src/shared/mcp/constants/tool-content.constant.ts +0 -29
  222. package/src/shared/mcp/constants/tool-export.constant.ts +0 -27
  223. package/src/shared/mcp/constants/tool-gc.constant.ts +0 -21
  224. package/src/shared/mcp/constants/tool-learn.constant.ts +0 -58
  225. package/src/shared/mcp/constants/tool-rebuild.constant.ts +0 -21
  226. package/src/shared/mcp/constants/tool-recall.constant.ts +0 -36
  227. package/src/shared/mcp/constants/tool-retrieve.constant.ts +0 -31
  228. package/src/shared/mcp/constants/tool-search.constant.ts +0 -51
  229. package/src/shared/mcp/constants/tool-skill-delete.constant.ts +0 -24
  230. package/src/shared/mcp/constants/tool-skill-get.constant.ts +0 -27
  231. package/src/shared/mcp/constants/tool-skill-learn.constant.ts +0 -37
  232. package/src/shared/mcp/constants/tool-skill-list.constant.ts +0 -18
  233. package/src/shared/mcp/constants/tool-status.constant.ts +0 -20
  234. package/src/shared/mcp/constants/tool-unlearn.constant.ts +0 -25
  235. package/src/shared/mcp/functions/as-boolean-or-undefined.function.ts +0 -11
  236. package/src/shared/mcp/functions/as-string-array-or-undefined.function.ts +0 -17
  237. package/src/shared/mcp/functions/as-string-array.function.ts +0 -15
  238. package/src/shared/mcp/functions/as-string.function.ts +0 -10
  239. package/src/shared/mcp/functions/build-skills-text.function.ts +0 -43
  240. package/src/shared/mcp/functions/create-mcp-server.function.ts +0 -14
  241. package/src/shared/mcp/functions/create-prompt-definitions.function.ts +0 -102
  242. package/src/shared/mcp/functions/create-resource-templates.function.ts +0 -23
  243. package/src/shared/mcp/functions/create-tool-definitions.function.ts +0 -530
  244. package/src/shared/mcp/functions/extract-skill-arguments.function.ts +0 -27
  245. package/src/shared/mcp/functions/handle-agent-create.function.ts +0 -116
  246. package/src/shared/mcp/functions/handle-agent-delete.function.ts +0 -50
  247. package/src/shared/mcp/functions/handle-agent-get.function.ts +0 -160
  248. package/src/shared/mcp/functions/handle-agent-list.function.ts +0 -50
  249. package/src/shared/mcp/functions/handle-agent-prompt.function.ts +0 -68
  250. package/src/shared/mcp/functions/handle-completion.function.ts +0 -114
  251. package/src/shared/mcp/functions/handle-mcp-request.function.ts +0 -202
  252. package/src/shared/mcp/functions/handle-prompt-get.function.ts +0 -220
  253. package/src/shared/mcp/functions/handle-recall.function.ts +0 -66
  254. package/src/shared/mcp/functions/handle-resource-read.function.ts +0 -56
  255. package/src/shared/mcp/functions/handle-roots-list.function.ts +0 -29
  256. package/src/shared/mcp/functions/handle-skill-prompt.function.ts +0 -44
  257. package/src/shared/mcp/functions/handle-tool-auto-capture-review.function.ts +0 -24
  258. package/src/shared/mcp/functions/handle-tool-call.function.ts +0 -560
  259. package/src/shared/mcp/functions/handle-tool-check.function.ts +0 -21
  260. package/src/shared/mcp/functions/handle-tool-content.function.ts +0 -23
  261. package/src/shared/mcp/functions/handle-tool-export.function.ts +0 -25
  262. package/src/shared/mcp/functions/handle-tool-gc.function.ts +0 -21
  263. package/src/shared/mcp/functions/handle-tool-learn.function.ts +0 -69
  264. package/src/shared/mcp/functions/handle-tool-rebuild.function.ts +0 -21
  265. package/src/shared/mcp/functions/handle-tool-retrieve.function.ts +0 -40
  266. package/src/shared/mcp/functions/handle-tool-search.function.ts +0 -47
  267. package/src/shared/mcp/functions/handle-tool-skill-delete.function.ts +0 -34
  268. package/src/shared/mcp/functions/handle-tool-skill-get.function.ts +0 -59
  269. package/src/shared/mcp/functions/handle-tool-skill-learn.function.ts +0 -61
  270. package/src/shared/mcp/functions/handle-tool-skill-list.function.ts +0 -39
  271. package/src/shared/mcp/functions/handle-tool-status.function.ts +0 -21
  272. package/src/shared/mcp/functions/handle-tool-unlearn.function.ts +0 -24
  273. package/src/shared/mcp/functions/parse-agent-meta.function.ts +0 -27
  274. package/src/shared/mcp/functions/parse-skill-arguments.function.ts +0 -36
  275. package/src/shared/mcp/functions/parse-skill-content.function.ts +0 -38
  276. package/src/shared/mcp/functions/read-agent-meta.function.ts +0 -41
  277. package/src/shared/mcp/functions/resolve-skill-refs.function.ts +0 -50
  278. package/src/shared/mcp/functions/run-startup-health-check.function.ts +0 -34
  279. package/src/shared/mcp/functions/serialize-skill-content.function.ts +0 -12
  280. package/src/shared/mcp/functions/should-emit-log.function.ts +0 -38
  281. package/src/shared/mcp/index.ts +0 -28
  282. package/src/shared/mcp/typings/agent-types.interface.ts +0 -39
  283. package/src/shared/mcp/typings/log-types.interface.ts +0 -26
  284. package/src/shared/mcp/typings/mcp-capabilities.interface.ts +0 -16
  285. package/src/shared/mcp/typings/mcp-client.interface.ts +0 -317
  286. package/src/shared/mcp/typings/mcp-completion.interface.ts +0 -45
  287. package/src/shared/mcp/typings/mcp-content-result.model.ts +0 -9
  288. package/src/shared/mcp/typings/mcp-export-result.model.ts +0 -11
  289. package/src/shared/mcp/typings/mcp-gc-result.model.ts +0 -15
  290. package/src/shared/mcp/typings/mcp-integrity-check-result.model.ts +0 -17
  291. package/src/shared/mcp/typings/mcp-integrity-error.model.ts +0 -15
  292. package/src/shared/mcp/typings/mcp-notification.interface.ts +0 -9
  293. package/src/shared/mcp/typings/mcp-rebuild-result.model.ts +0 -9
  294. package/src/shared/mcp/typings/mcp-request.interface.ts +0 -11
  295. package/src/shared/mcp/typings/mcp-resource-result.interface.ts +0 -12
  296. package/src/shared/mcp/typings/mcp-resource-template.interface.ts +0 -11
  297. package/src/shared/mcp/typings/mcp-response.interface.ts +0 -18
  298. package/src/shared/mcp/typings/mcp-server-info.interface.ts +0 -7
  299. package/src/shared/mcp/typings/mcp-server-state.interface.ts +0 -17
  300. package/src/shared/mcp/typings/mcp-tool-annotations.interface.ts +0 -32
  301. package/src/shared/mcp/typings/mcp-tool-definition.interface.ts +0 -16
  302. package/src/shared/mcp/typings/mcp-tool-result.interface.ts +0 -19
  303. package/src/shared/mcp/typings/mcp-types.interface.ts +0 -158
  304. package/src/shared/mcp/typings/mcp-worker-client.interface.ts +0 -243
  305. package/src/shared/mcp/typings/prompt-types.interface.ts +0 -39
  306. package/src/shared/mcp/typings/remove-section-result.model.ts +0 -10
  307. package/src/shared/mcp/typings/sampling-types.interface.ts +0 -48
  308. package/src/shared/mcp/typings/skill-types.interface.ts +0 -29
  309. package/src/shared/mcp/typings/tool-call-result.model.ts +0 -18
  310. package/src/shared/mod.ts +0 -1
  311. package/src/shared/platform/functions/get-ipc-path.function.ts +0 -19
  312. package/src/shared/platform/functions/get-tmpdir.function.ts +0 -8
  313. package/src/shared/platform/functions/is-process-alive.function.ts +0 -17
  314. package/src/shared/platform/index.ts +0 -3
  315. package/src/shared/runtime/functions/detect-runtime.ts +0 -14
  316. package/src/shared/runtime/functions/get-args.ts +0 -16
  317. package/src/shared/runtime/index.ts +0 -3
  318. package/src/shared/runtime/typings/runtime.ts +0 -2
  319. package/src/shared/sync/functions/build-import-report.function.ts +0 -40
  320. package/src/shared/sync/functions/parse-export-entry.function.ts +0 -45
  321. package/src/shared/sync/functions/resolve-conflict.function.ts +0 -31
  322. package/src/shared/sync/functions/serialize-export-entry.function.ts +0 -18
  323. package/src/shared/sync/index.ts +0 -9
  324. package/src/shared/sync/typings/conflict-resolution.type.ts +0 -8
  325. package/src/shared/sync/typings/export-entry.interface.ts +0 -13
  326. package/src/shared/sync/typings/export-options.interface.ts +0 -9
  327. package/src/shared/sync/typings/import-options.interface.ts +0 -7
  328. package/src/shared/sync/typings/import-report.interface.ts +0 -15
  329. package/src/shared/version/constants/version.constant.ts +0 -2
  330. package/src/shared/version/index.ts +0 -1
  331. package/src/shared/wasm-codec/functions/decode-add-section-result.function.ts +0 -112
  332. package/src/shared/wasm-codec/functions/decode-compose-output.function.ts +0 -16
  333. package/src/shared/wasm-codec/functions/decode-document-manifest-list.function.ts +0 -70
  334. package/src/shared/wasm-codec/functions/decode-document-manifest.function.ts +0 -87
  335. package/src/shared/wasm-codec/functions/decode-f32.function.ts +0 -16
  336. package/src/shared/wasm-codec/functions/decode-key-value-text.function.ts +0 -15
  337. package/src/shared/wasm-codec/functions/decode-one-recall-result.function.ts +0 -86
  338. package/src/shared/wasm-codec/functions/decode-option-string.function.ts +0 -24
  339. package/src/shared/wasm-codec/functions/decode-recall-document.function.ts +0 -59
  340. package/src/shared/wasm-codec/functions/decode-recall-reference.function.ts +0 -52
  341. package/src/shared/wasm-codec/functions/decode-recall-result.function.ts +0 -267
  342. package/src/shared/wasm-codec/functions/decode-recall-sibling.function.ts +0 -43
  343. package/src/shared/wasm-codec/functions/decode-remove-flag.function.ts +0 -3
  344. package/src/shared/wasm-codec/functions/decode-scored-results.function.ts +0 -194
  345. package/src/shared/wasm-codec/functions/decode-section-match.function.ts +0 -80
  346. package/src/shared/wasm-codec/functions/decode-section-record-list.function.ts +0 -20
  347. package/src/shared/wasm-codec/functions/decode-section-record-trailing.function.ts +0 -75
  348. package/src/shared/wasm-codec/functions/decode-section-record.function.ts +0 -85
  349. package/src/shared/wasm-codec/functions/decode-section-records.function.ts +0 -249
  350. package/src/shared/wasm-codec/functions/decode-section-type.function.ts +0 -30
  351. package/src/shared/wasm-codec/functions/decode-string.function.ts +0 -22
  352. package/src/shared/wasm-codec/functions/decode-u32.function.ts +0 -16
  353. package/src/shared/wasm-codec/functions/decode-u64.function.ts +0 -16
  354. package/src/shared/wasm-codec/functions/decode-wasm-list.function.ts +0 -31
  355. package/src/shared/wasm-codec/functions/encode-add-section-params.function.ts +0 -102
  356. package/src/shared/wasm-codec/functions/encode-group-params.function.ts +0 -28
  357. package/src/shared/wasm-codec/functions/encode-identifier-list.function.ts +0 -17
  358. package/src/shared/wasm-codec/functions/encode-kbid-list.function.ts +0 -17
  359. package/src/shared/wasm-codec/functions/encode-option-string.function.ts +0 -14
  360. package/src/shared/wasm-codec/functions/encode-recall-params.function.ts +0 -68
  361. package/src/shared/wasm-codec/functions/encode-search-params.function.ts +0 -12
  362. package/src/shared/wasm-codec/functions/encode-section-type.function.ts +0 -18
  363. package/src/shared/wasm-codec/functions/encode-string.function.ts +0 -9
  364. package/src/shared/wasm-codec/functions/encode-type-filter-param.function.ts +0 -13
  365. package/src/shared/wasm-codec/functions/encode-u32.function.ts +0 -5
  366. package/src/shared/wasm-codec/functions/encode-update-section-params.function.ts +0 -16
  367. package/src/shared/wasm-codec/index.ts +0 -49
  368. package/src/shared/wasm-codec/typings/add-section-input.model.ts +0 -45
  369. package/src/shared/wasm-codec/typings/add-section-result.model.ts +0 -28
  370. package/src/shared/wasm-codec/typings/document-manifest.model.ts +0 -20
  371. package/src/shared/wasm-codec/typings/document-section.model.ts +0 -12
  372. package/src/shared/wasm-codec/typings/item-decoder.type.ts +0 -10
  373. package/src/shared/wasm-codec/typings/near-duplicate.model.ts +0 -16
  374. package/src/shared/wasm-codec/typings/paged-search-result.model.ts +0 -22
  375. package/src/shared/wasm-codec/typings/section-match.model.ts +0 -31
  376. package/src/shared/wasm-codec/typings/section-record-trailing.model.ts +0 -38
  377. package/src/shared/wasm-codec/typings/section-record.model.ts +0 -66
  378. package/src/shared/wasm-codec/typings/section-type-result.model.ts +0 -12
  379. package/src/shared/worker-client/classes/worker-client.class.ts +0 -466
  380. package/src/shared/worker-client/functions/compute-context-id.function.ts +0 -18
  381. package/src/shared/worker-client/functions/create-worker-client.function.ts +0 -70
  382. package/src/shared/worker-client/functions/discover-daemon.function.ts +0 -47
  383. package/src/shared/worker-client/functions/handle-ipc-data.function.ts +0 -49
  384. package/src/shared/worker-client/functions/resolve-db-path.function.ts +0 -21
  385. package/src/shared/worker-client/functions/send-ipc-request.function.ts +0 -39
  386. package/src/shared/worker-client/functions/spawn-daemon.function.ts +0 -35
  387. package/src/shared/worker-client/functions/wait-for-daemon.function.ts +0 -34
  388. package/src/shared/worker-client/index.ts +0 -44
  389. package/src/shared/worker-client/typings/add-section-result.model.ts +0 -39
  390. package/src/shared/worker-client/typings/content-result.model.ts +0 -12
  391. package/src/shared/worker-client/typings/daemon-info.model.ts +0 -7
  392. package/src/shared/worker-client/typings/export-result.model.ts +0 -14
  393. package/src/shared/worker-client/typings/gc-result.model.ts +0 -18
  394. package/src/shared/worker-client/typings/integrity-check-result.model.ts +0 -43
  395. package/src/shared/worker-client/typings/json-rpc-response.interface.ts +0 -17
  396. package/src/shared/worker-client/typings/migrate-result.model.ts +0 -11
  397. package/src/shared/worker-client/typings/pending-call.interface.ts +0 -7
  398. package/src/shared/worker-client/typings/rebuild-result.model.ts +0 -12
  399. package/src/shared/worker-client/typings/recall-document.model.ts +0 -16
  400. package/src/shared/worker-client/typings/recall-params.model.ts +0 -15
  401. package/src/shared/worker-client/typings/recall-reference.model.ts +0 -32
  402. package/src/shared/worker-client/typings/recall-result.model.ts +0 -98
  403. package/src/shared/worker-client/typings/recall-sibling.model.ts +0 -11
  404. package/src/shared/worker-client/typings/recall-single-result.model.ts +0 -41
  405. package/src/shared/worker-client/typings/remove-section-result.model.ts +0 -7
  406. package/src/shared/worker-client/typings/search-params.model.ts +0 -14
  407. package/src/shared/worker-client/typings/search-result.model.ts +0 -43
  408. package/src/shared/worker-client/typings/section.model.ts +0 -43
  409. package/src/shared/worker-client/typings/status-result.model.ts +0 -14
  410. package/src/shared/worker-client/typings/version-status.model.ts +0 -28
  411. package/src/shared/worker-client/typings/worker-client-error.interface.ts +0 -8
  412. package/src/shared/worker-client/typings/worker-client-options.interface.ts +0 -30
  413. package/src/shared/worker-daemon/classes/ipc-error.class.ts +0 -22
  414. package/src/shared/worker-daemon/classes/worker-daemon.class.ts +0 -1291
  415. package/src/shared/worker-daemon/constants/daemon-defaults.constant.ts +0 -29
  416. package/src/shared/worker-daemon/constants/wasm-method-map.constant.ts +0 -69
  417. package/src/shared/worker-daemon/functions/build-ipc-error-response.function.ts +0 -16
  418. package/src/shared/worker-daemon/functions/check-catalog-version.function.ts +0 -54
  419. package/src/shared/worker-daemon/functions/check-preconditions.function.ts +0 -28
  420. package/src/shared/worker-daemon/functions/create-host-imports.function.ts +0 -328
  421. package/src/shared/worker-daemon/functions/create-ipc-server.function.ts +0 -87
  422. package/src/shared/worker-daemon/functions/detect-stale-pid.function.ts +0 -33
  423. package/src/shared/worker-daemon/functions/dispatch-request.function.ts +0 -190
  424. package/src/shared/worker-daemon/functions/handle-check-version.function.ts +0 -74
  425. package/src/shared/worker-daemon/functions/handle-config-method.function.ts +0 -27
  426. package/src/shared/worker-daemon/functions/handle-read-ops.function.ts +0 -236
  427. package/src/shared/worker-daemon/functions/handle-write-ops.function.ts +0 -257
  428. package/src/shared/worker-daemon/functions/load-wasm-modules.function.ts +0 -95
  429. package/src/shared/worker-daemon/functions/parse-auto-capture-section.function.ts +0 -51
  430. package/src/shared/worker-daemon/functions/parse-catalog-version.function.ts +0 -20
  431. package/src/shared/worker-daemon/functions/parse-embedding-section.function.ts +0 -38
  432. package/src/shared/worker-daemon/functions/parse-worker-toml.function.ts +0 -104
  433. package/src/shared/worker-daemon/functions/read-config.function.ts +0 -83
  434. package/src/shared/worker-daemon/functions/run-startup-integrity-check.function.ts +0 -55
  435. package/src/shared/worker-daemon/functions/run-worker.function.ts +0 -57
  436. package/src/shared/worker-daemon/functions/scan-near-duplicates.function.ts +0 -92
  437. package/src/shared/worker-daemon/functions/start-daemon.function.ts +0 -74
  438. package/src/shared/worker-daemon/functions/wasm-bridge.function.ts +0 -144
  439. package/src/shared/worker-daemon/functions/wasm-memory-helpers.function.ts +0 -41
  440. package/src/shared/worker-daemon/functions/write-lock.function.ts +0 -49
  441. package/src/shared/worker-daemon/index.ts +0 -16
  442. package/src/shared/worker-daemon/typings/allocator-ref.interface.ts +0 -16
  443. package/src/shared/worker-daemon/typings/daemon-config.interface.ts +0 -20
  444. package/src/shared/worker-daemon/typings/fs-adapter.interface.ts +0 -22
  445. package/src/shared/worker-daemon/typings/handler-context.interface.ts +0 -19
  446. package/src/shared/worker-daemon/typings/ipc-handler.interface.ts +0 -39
  447. package/src/shared/worker-daemon/typings/memory-ref.interface.ts +0 -13
  448. package/src/shared/worker-daemon/typings/wasm-fn.type.ts +0 -2
  449. package/src/shared/worker-daemon/typings/wasm-modules.interface.ts +0 -7
  450. package/src/shared/worker-daemon/typings/write-lock.interface.ts +0 -13
  451. package/src/wasm/fs-database/kbdb_fs_database.d.ts +0 -259
  452. package/src/wasm/fs-database/kbdb_fs_database.js +0 -515
  453. package/src/wasm/fs-database/kbdb_fs_database_bg.wasm +0 -0
  454. package/src/wasm/fs-database/kbdb_fs_database_bg.wasm.d.ts +0 -35
  455. package/src/wasm/fs-database/package.json +0 -13
  456. package/src/wasm/kb-worker/kbdb_worker.d.ts +0 -650
  457. package/src/wasm/kb-worker/kbdb_worker.js +0 -1181
  458. package/src/wasm/kb-worker/kbdb_worker_bg.wasm +0 -0
  459. package/src/wasm/kb-worker/kbdb_worker_bg.wasm.d.ts +0 -77
  460. package/src/wasm/kb-worker/package.json +0 -13
  461. package/src/wasm/query-parser/kbdb_query_parser.d.ts +0 -195
  462. package/src/wasm/query-parser/kbdb_query_parser.js +0 -403
  463. package/src/wasm/query-parser/kbdb_query_parser_bg.wasm +0 -0
  464. package/src/wasm/query-parser/kbdb_query_parser_bg.wasm.d.ts +0 -25
  465. package/src/wasm/query-parser/package.json +0 -13
  466. package/src/worker.ts +0 -42
@@ -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
@@ -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
- - **CLI mode**: defaults to the current working
68
- directory.
69
- - **MCP mode**: falls back to the `KBDB_DIR`
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
- `KBDB_DIR` is set, the server exits with an error.
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 (default) |
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 `KBDB_DIR` environment
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
- | `KBDB_DIR` | MCP mode | Fallback database directory path when `--db` is not specified. Not used in CLI mode (CLI defaults to cwd). |
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?` | Directory containing `.kbdb`. Defaults to `cwd()`. |
57
- | `options.contextPath` | `string?` | Absolute path to `.kbdb` directory. Skips discovery. |
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 `KBDB_DIR` environment variable.
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 `KBDB_DIR` Environment Variable
134
+ ### Using `KBDB_DB_DIR` Environment Variable
135
135
 
136
- The `--db` flag can be replaced by the `KBDB_DIR`
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
- "KBDB_DIR": "/path/to/.kbdb"
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 `KBDB_DIR`
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, required), `body` (string, required), `arguments` (array) | Create a new skill definition. Body supports `{{argName}}` template placeholders. | no | no |
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, required), `persona` (string, required), `skills` (string[], required) | Create an agent document with a persona and ordered skill references. | no | no |
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 matches keywords (like a search engine).
6
- You can also enable AI-powered similarity search
7
- or combine both with `--algo hybrid`. The rest of
8
- this page explains how ranking works under the hood
9
- -- you don't need to read it to use kbdb.
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 (default)
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 falls back to lexical.
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 falls back to lexical.
571
+ one, it returns an error.