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