@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
package/docs/overview.md CHANGED
@@ -27,6 +27,8 @@ to it as a tool.
27
27
  for Model Context Protocol servers
28
28
  - **Knowledge workers** -- a second brain your AI
29
29
  assistant can search across conversations
30
+ - **Vibe coders** -- a searchable doc store for
31
+ your AI-assisted projects
30
32
  - **CLI-first developers** -- composable commands
31
33
  for managing knowledge from the terminal
32
34
 
@@ -34,15 +36,24 @@ to it as a tool.
34
36
 
35
37
  - **Import** Markdown files with automatic keyword
36
38
  extraction and indexing
37
- - **Search** with ranked results, snippets, and
38
- paginated output
39
+ - **Search** three ways: keyword (default),
40
+ hybrid, or AI similarity via `--algo`
41
+ - **Auto-fallback** -- loosens your query when
42
+ exact matches return nothing
39
43
  - **Recall** sections with progressive context
40
44
  (depth 0--3)
45
+ - **Smart updates** -- re-learning a file replaces
46
+ the old version, not duplicates it
47
+ - **Near-duplicate detection** -- warns when
48
+ imported content closely matches existing data
41
49
  - **Skills** -- reusable prompt templates with
42
- placeholder arguments
50
+ fill-in-the-blank arguments
43
51
  - **Agents** -- AI profiles combining a persona
44
52
  with skills
45
- - **Export** the database as a portable snapshot
53
+ - **Auto-capture** -- MCP server proactively
54
+ suggests knowledge to store from conversations
55
+ - **Export and sync** -- snapshot your knowledge
56
+ base for backup or sharing across machines
46
57
  - **Verify** database integrity and clean up stale
47
58
  data
48
59
  - **MCP server** with 20 tools, prompts, resources,
@@ -76,32 +87,31 @@ mode runs short-lived commands (`learn`, `search`,
76
87
  `recall`). MCP mode starts a long-lived server for
77
88
  AI agents over stdio.
78
89
 
79
- **Worker Client** -- TypeScript module that discovers
80
- or spawns the daemon and provides a typed async API.
90
+ **Worker Client** -- Connects to the background
91
+ daemon and gives your code a typed API.
81
92
 
82
93
  **Worker Daemon** -- Background process that loads
83
- WASM modules, caches data in memory, and serves
84
- JSON-RPC 2.0 requests over local IPC.
94
+ the search engine, caches data in memory, and
95
+ handles requests.
85
96
 
86
- **Rust/WASM Engine** -- Three WASM modules handle
87
- tokenization, indexing, ranking, and file I/O. Rust
88
- provides speed and memory safety; WASM runs on any
89
- runtime.
97
+ **Search Engine** -- Compiled from Rust to
98
+ WebAssembly for speed. Three modules handle
99
+ tokenization, indexing, ranking, and file I/O.
90
100
 
91
- **File Database** -- Structured directory on disk.
101
+ **File Database** -- Structured folder on disk.
92
102
  No server process. Portable, version-controllable,
93
103
  and human-readable.
94
104
 
95
105
  ### Technology Stack
96
106
 
97
- | Layer | Technology | Purpose |
98
- |-------|-----------|---------|
99
- | Runtime | Node.js, Deno | Runs CLI, MCP server, orchestration |
100
- | Language | TypeScript | CLI, MCP protocol, I/O |
101
- | Engine | Rust -> WebAssembly | Indexing, ranking, file operations |
107
+ | Layer | Technology | What it does |
108
+ |-------|-----------|--------------|
109
+ | Runtime | Node.js, Deno | Runs the tools |
110
+ | Language | TypeScript | CLI, MCP server, I/O |
111
+ | Engine | Rust -> WebAssembly | Fast indexing and search |
102
112
  | Protocol | MCP | AI agent integration |
103
- | Distribution | NPM, JSR | Package delivery |
104
- | Storage | File database | Persistent, portable data |
113
+ | Distribution | NPM, JSR | Install from either |
114
+ | Storage | File database | Your data, in a folder |
105
115
 
106
116
  ## Design Principles
107
117
 
@@ -120,7 +130,9 @@ and human-readable.
120
130
 
121
131
  ## Design Documents
122
132
 
123
- Detailed specifications for each subsystem:
133
+ Deeper docs for each part of the system. You don't
134
+ need to read these to use kbdb -- they're here for
135
+ contributors and anyone curious about internals.
124
136
 
125
137
  - **[Database](goals/database.md)** -- File storage
126
138
  engine, directory structure, section and document
@@ -128,6 +140,8 @@ Detailed specifications for each subsystem:
128
140
  - **[Query Parser](goals/query-parser.md)** --
129
141
  Tokenization, query parsing, keyword extraction,
130
142
  ranking
143
+ - **[Hybrid Search](goals/hybrid-search.md)** --
144
+ Lexical + vector retrieval with score fusion
131
145
  - **[Document](goals/document.md)** -- Content format
132
146
  with markers and cross-references
133
147
  - **[Content Parser](goals/content-parser.md)** --
@@ -138,6 +152,10 @@ Detailed specifications for each subsystem:
138
152
  output formats
139
153
  - **[MCP](goals/mcp.md)** -- MCP server, tools,
140
154
  resources, agent wiring
155
+ - **[Auto-Capture](goals/auto-capture.md)** --
156
+ Proactive knowledge capture via MCP sampling
157
+ - **[Sync](goals/sync.md)** -- Cross-machine export
158
+ and import
141
159
  - **[Worker Daemon](goals/worker-daemon.md)** --
142
160
  Background daemon, WASM loading, caching, IPC
143
161
  - **[Worker Client](goals/worker-client.md)** --
@@ -155,16 +173,19 @@ with zero failures and zero skips.
155
173
 
156
174
  - 18 CLI commands across 6 groups
157
175
  - 20 MCP tools with prompts, resources, completions
176
+ - Three search algorithms: lexical, vector, hybrid
158
177
  - Sequential MCP request processing
159
178
  - Worker daemon with fully implemented WASM host I/O
160
179
  - Paginated search with rich metadata
161
180
  - Progressive recall at depths 0--3
162
181
  - Bidirectional reference graph
163
182
  - Skills and agent document management
183
+ - Auto-capture hooks via MCP sampling
184
+ - Export/import sync primitives
164
185
  - esbuild bundling (ESM + CJS + .d.ts)
165
186
  - Docker build containers
166
187
  - npm and JSR packages with documentation
167
188
 
168
189
  ## Links
169
190
 
170
- - **Repository**: https://gitlab.com/tech-slaves-internal/knowledge-base-db
191
+ - **Repository**: https://gitlab.com/tech-slaves/knowledge-base-db
@@ -55,6 +55,16 @@ tool (`auto-capture-review`).
55
55
  `list`, `approve`, or `reject`. This brings the
56
56
  MCP server to 20 tools.
57
57
 
58
+ - **Hybrid search infrastructure** -- New `--algo`
59
+ flag (CLI) and `algo` parameter (MCP/IPC) with
60
+ values `lexical`, `vector`, `hybrid`. Embedding
61
+ module with pluggable provider interface, vector
62
+ index binary format (KBVX), cosine similarity,
63
+ and RRF score fusion. Defaults to `lexical`.
64
+ Concrete embedding providers are deferred -- a
65
+ `NullEmbeddingProvider` is used until one is
66
+ configured.
67
+
58
68
  ---
59
69
 
60
70
  ## Testing
@@ -0,0 +1,64 @@
1
+ # 0.3.2
2
+
3
+ *Patch release -- 2026-06-23*
4
+
5
+ Documentation alignment, hybrid search highlight,
6
+ and readability improvements for non-technical users.
7
+
8
+ ---
9
+
10
+ ## Documentation
11
+
12
+ - **Internal doc links use relative paths** --
13
+ README.md links to CLI reference, MCP guide,
14
+ library API, Makefile, release notes, overview,
15
+ and LICENSE now use relative paths instead of
16
+ absolute GitLab URLs. External links (NPM, JSR,
17
+ GitLab homepage) remain absolute.
18
+
19
+ - **Fixed repository URL in overview.md** --
20
+ Corrected `tech-slaves-internal` to `tech-slaves`.
21
+
22
+ - **`--algo` added to CLI reference** -- Search
23
+ Options table now documents the `--algo` flag with
24
+ values `lexical`, `vector`, `hybrid` and a new
25
+ Search Algorithms subsection.
26
+
27
+ - **Hybrid search section in search-and-ranking.md**
28
+ -- New section explains lexical, vector, and hybrid
29
+ algorithms with plain-language descriptions of
30
+ how each works and when to use it.
31
+
32
+ - **Beginner summary in search-and-ranking.md** --
33
+ Three-sentence intro at the top so non-technical
34
+ readers know what the page covers without reading
35
+ the full technical deep-dive.
36
+
37
+ - **Feature lists updated** -- README and overview
38
+ now include auto-capture, sync/export, and
39
+ near-duplicate detection. Design Documents section
40
+ in overview now links to hybrid search,
41
+ auto-capture, and sync goal docs.
42
+
43
+ - **Readability pass** -- Simplified jargon across
44
+ README and overview. "RRF score fusion" becomes
45
+ "blends keyword matching with AI-powered
46
+ similarity". Technology stack table simplified.
47
+ MCP setup examples consolidated from three
48
+ nearly-identical blocks into one with platform
49
+ notes.
50
+
51
+ - **"Vibe coders" added to audience list** in
52
+ overview.md.
53
+
54
+ ---
55
+
56
+ ## Upgrade
57
+
58
+ ```sh
59
+ # Node.js
60
+ npm install -g @dikolab/kbdb@0.3.2
61
+
62
+ # Deno
63
+ deno install -Agf jsr:@dikolab/kbdb/cli
64
+ ```
@@ -0,0 +1,80 @@
1
+ # 0.4.0
2
+
3
+ *Minor release -- 2026-06-25*
4
+
5
+ Rust engine refactor, daemon reliability, publishing
6
+ fixes, and documentation accuracy audit.
7
+
8
+ ---
9
+
10
+ ## Engine
11
+
12
+ - **Rust engine refactor** -- extracted specs into
13
+ separate files, split large modules across all
14
+ four crates for readability and maintainability.
15
+
16
+ ## Daemon
17
+
18
+ - **Reliability fixes** -- improved daemon startup,
19
+ error handling, and shutdown behaviour.
20
+ - **UX improvements** -- clearer error messages and
21
+ exit codes from the worker daemon.
22
+
23
+ ## CLI
24
+
25
+ - **Optional `--db`** -- the `--db` flag is now
26
+ optional. kbdb walks up from the current directory
27
+ to find `.kbdb`. Set `KBDB_DB_DIR` as an
28
+ alternative. Resolution order: `--db` flag >
29
+ `KBDB_DB_DIR` env var > upward traversal from cwd.
30
+ - **Request timeout** -- per-request timeout via
31
+ `--timeout-ms` flag or `KBDB_DAEMON_TIMEOUT` env
32
+ var (default 30 000 ms).
33
+ - **Automatic retry** -- on timeout, the CLI
34
+ respawns the daemon and retries. Configurable via
35
+ `--retry` flag or `KBDB_RETRY` env var (default 5).
36
+ - **Breaking: `KBDB_DIR` renamed to `KBDB_DB_DIR`**
37
+ -- update MCP server configs and scripts that
38
+ reference the old variable name.
39
+
40
+ ## MCP Server
41
+
42
+ - **Version reports package version** -- the MCP
43
+ `initialize` response now uses the `VERSION`
44
+ constant instead of a hardcoded `'0.1.0'` string.
45
+ Clients see the real server version.
46
+ - **Retry on timeout** -- tool calls and resource
47
+ reads automatically retry with a fresh daemon
48
+ connection when the worker times out.
49
+
50
+ ## Packaging
51
+
52
+ - **Trimmed npm package** -- removed raw TypeScript
53
+ source files from the npm tarball. Package dropped
54
+ from 908 files / 6.7 MB to 545 files / 4.5 MB.
55
+ JSR still includes sources as required.
56
+
57
+ ## Documentation
58
+
59
+ - **README accuracy audit** -- removed overstated
60
+ claims about reStructuredText/AsciiDoc parsing
61
+ and sync feature. Added npm/JSR/license badges
62
+ and a beta status line.
63
+ - **CLAUDE.md updated** -- corrected outdated
64
+ statement about the WASM-to-host bridge being
65
+ stubbed. The bridge is fully implemented and
66
+ tested.
67
+ - **Docs alignment** -- knowledge-base guide updated
68
+ to match README on supported file formats.
69
+
70
+ ---
71
+
72
+ ## Upgrade
73
+
74
+ ```sh
75
+ # Node.js
76
+ npm install -g @dikolab/kbdb@0.4.0
77
+
78
+ # Deno
79
+ deno install -Agf jsr:@dikolab/kbdb/cli
80
+ ```
@@ -2,6 +2,8 @@
2
2
 
3
3
  ## Releases
4
4
 
5
+ - [0.4.0](0.4.0.md) -- Engine refactor, daemon reliability, publishing fixes
6
+ - [0.3.2](0.3.2.md) -- Docs alignment, hybrid search highlight, readability
5
7
  - [0.3.1](0.3.1.md) -- MCP reliability fixes, 20 tools, zero test skips
6
8
  - [0.3.0](0.3.0.md) -- Supersession, relaxed queries, export, tags, confidence
7
9
  - [0.2.0](0.2.0.md) -- Recall, paginated search, reference graph
package/mod.ts CHANGED
@@ -24,20 +24,38 @@
24
24
  * ```
25
25
  */
26
26
 
27
+ /** Semantic version string matching `package.json`. */
27
28
  export { version } from './src/shared/mod.ts';
28
29
 
29
- export {
30
- createWorkerClient,
31
- WorkerClient,
32
- resolveDbPath,
33
- computeContextId,
34
- } from './src/shared/worker-client/index.ts';
35
-
36
- export type {
37
- WorkerClientOptions,
38
- SearchParams,
39
- SearchResult,
40
- Section,
41
- AddSectionParams,
42
- StatusResult,
43
- } from './src/shared/worker-client/index.ts';
30
+ /** Creates a connected worker client for the given database. */
31
+ export { createWorkerClient } from './src/shared/worker-client/index.ts';
32
+
33
+ /** Persistent client wrapping JSON-RPC calls to the daemon. */
34
+ export { WorkerClient } from './src/shared/worker-client/index.ts';
35
+
36
+ /** Resolves a parent directory to the `.kbdb` path inside it. */
37
+ export { resolveDbPath } from './src/shared/worker-client/index.ts';
38
+
39
+ /** Derives the 16-char hex context ID from an absolute path. */
40
+ export { computeContextId } from './src/shared/worker-client/index.ts';
41
+
42
+ /** Returns a cached client or creates a new one for the given path. */
43
+ export { getOrCreateClient } from './src/shared/worker-client/index.ts';
44
+
45
+ /** Options accepted by {@linkcode createWorkerClient}. */
46
+ export type { WorkerClientOptions } from './src/shared/worker-client/index.ts';
47
+
48
+ /** Parameters for a search query. */
49
+ export type { SearchParams } from './src/shared/worker-client/index.ts';
50
+
51
+ /** A single ranked result returned by search. */
52
+ export type { SearchResult } from './src/shared/worker-client/index.ts';
53
+
54
+ /** Raw section record stored on disk. */
55
+ export type { Section } from './src/shared/worker-client/index.ts';
56
+
57
+ /** Parameters for adding a new section. */
58
+ export type { AddSectionParams } from './src/shared/worker-client/index.ts';
59
+
60
+ /** Database status snapshot returned by `client.status()`. */
61
+ export type { StatusResult } from './src/shared/worker-client/index.ts';
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@dikolab/kbdb",
3
- "version": "0.3.1",
4
- "description": "CLI tool and MCP server for a file-based knowledge base database",
3
+ "version": "0.4.0",
4
+ "description": "CLI tool and MCP server for a file-based knowledge base database -- index documents, search with ranked results, and recall context for AI agents",
5
5
  "publishConfig": {
6
6
  "access": "public"
7
7
  },
@@ -17,13 +17,15 @@
17
17
  "license": "ISC",
18
18
  "repository": {
19
19
  "type": "git",
20
- "url": "git@diko-gitlab:tech-slaves-internal/knowledge-base-db.git"
20
+ "url": "git+https://gitlab.com/tech-slaves/knowledge-base-db.git"
21
+ },
22
+ "homepage": "https://gitlab.com/tech-slaves/knowledge-base-db#readme",
23
+ "bugs": {
24
+ "url": "https://gitlab.com/tech-slaves/knowledge-base-db/-/issues"
21
25
  },
22
26
  "files": [
23
27
  "dist/**/*",
24
28
  "mod.ts",
25
- "src/**/*",
26
- "!src/**/*.spec.ts",
27
29
  "LICENSE",
28
30
  "README.md",
29
31
  "docs/details/**/*.md",
@@ -37,26 +39,25 @@
37
39
  "module": "./dist/mod.mjs",
38
40
  "types": "./dist/mod.d.ts",
39
41
  "bin": {
40
- "kbdb": "./dist/cli.cjs",
41
- "kbdb-worker": "./dist/kbdb-worker.cjs"
42
+ "kbdb": "./dist/cli.cjs"
42
43
  },
43
44
  "exports": {
44
45
  ".": {
45
- "deno": "./mod.ts",
46
46
  "types": "./dist/mod.d.ts",
47
+ "deno": "./mod.ts",
47
48
  "import": "./dist/mod.mjs",
48
49
  "require": "./dist/mod.cjs",
49
50
  "default": "./dist/mod.mjs"
50
51
  },
51
52
  "./cli": {
53
+ "types": "./dist/cli.d.ts",
52
54
  "deno": "./src/cli.ts",
53
- "types": "./dist/src/cli.d.ts",
54
55
  "import": "./dist/cli.mjs",
55
56
  "default": "./dist/cli.mjs"
56
57
  },
57
58
  "./worker": {
59
+ "types": "./dist/worker.d.ts",
58
60
  "deno": "./src/worker.ts",
59
- "types": "./dist/src/worker.d.ts",
60
61
  "import": "./dist/worker.mjs",
61
62
  "default": "./dist/worker.mjs"
62
63
  }
@@ -1,95 +0,0 @@
1
- // src/shared/runtime/functions/detect-runtime.ts
2
- function detectRuntime() {
3
- if (typeof globalThis !== "undefined" && "Deno" in globalThis) {
4
- return "deno";
5
- }
6
- return "node";
7
- }
8
-
9
- // src/shared/runtime/functions/get-args.ts
10
- function getArgs() {
11
- if (detectRuntime() === "deno") {
12
- const g = globalThis;
13
- const deno = g["Deno"];
14
- return deno?.args ?? [];
15
- }
16
- return process.argv.slice(2);
17
- }
18
-
19
- // src/shared/dir-resolver/functions/resolve-base-dir.function.ts
20
- import { dirname } from "node:path";
21
- import { fileURLToPath } from "node:url";
22
- function resolveScriptDir(entryUrl, entryDirname) {
23
- if (entryDirname) return entryDirname;
24
- if (entryUrl.startsWith("file:"))
25
- return dirname(fileURLToPath(entryUrl));
26
- return dirname(entryUrl);
27
- }
28
- function resolveBaseDir(entryUrl, entryDirname) {
29
- const scriptDir = typeof __dirname !== "undefined" ? __dirname : resolveScriptDir(entryUrl, entryDirname);
30
- return { scriptDir, cwd: process.cwd() };
31
- }
32
-
33
- // src/shared/dir-resolver/functions/join-path.function.ts
34
- import { join } from "node:path";
35
- function isRemoteUrl(path) {
36
- return path.startsWith("http://") || path.startsWith("https://");
37
- }
38
- function joinPath(base, ...segments) {
39
- if (isRemoteUrl(base)) {
40
- const trailing = base.endsWith("/") ? "" : "/";
41
- return base + trailing + segments.join("/");
42
- }
43
- return join(base, ...segments);
44
- }
45
-
46
- // src/shared/dir-resolver/functions/resolve-worker-script.function.ts
47
- function resolveWorkerScript(scriptDir, runtime) {
48
- if (runtime === "deno") {
49
- return joinPath(scriptDir, "worker.ts");
50
- }
51
- return joinPath(scriptDir, "kbdb-worker.cjs");
52
- }
53
-
54
- // src/shared/dir-resolver/functions/resolve-wasm-dir.function.ts
55
- function resolveWasmDir(scriptDir) {
56
- return joinPath(scriptDir, "wasm");
57
- }
58
-
59
- // src/shared/hash/functions/compute-sha256.ts
60
- async function computeSha256(input) {
61
- const data = new TextEncoder().encode(input);
62
- const hash = await crypto.subtle.digest("SHA-256", data);
63
- const bytes = new Uint8Array(hash);
64
- return Array.from(bytes).map((b) => b.toString(16).padStart(2, "0")).join("");
65
- }
66
-
67
- // src/shared/platform/functions/get-ipc-path.function.ts
68
- import { join as join2 } from "node:path";
69
-
70
- // src/shared/platform/functions/get-tmpdir.function.ts
71
- import { tmpdir } from "node:os";
72
- function getTmpdir() {
73
- return tmpdir();
74
- }
75
-
76
- // src/shared/platform/functions/get-ipc-path.function.ts
77
- function getIpcPath(ctx) {
78
- if (process.platform === "win32") {
79
- return `\\\\.\\pipe\\kbdb-${ctx}`;
80
- }
81
- return join2(getTmpdir(), `kbdb-${ctx}.sock`);
82
- }
83
-
84
- export {
85
- detectRuntime,
86
- getArgs,
87
- resolveBaseDir,
88
- isRemoteUrl,
89
- joinPath,
90
- resolveWorkerScript,
91
- resolveWasmDir,
92
- computeSha256,
93
- getIpcPath
94
- };
95
- //# sourceMappingURL=chunk-JG2UCKLI.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/shared/runtime/functions/detect-runtime.ts", "../src/shared/runtime/functions/get-args.ts", "../src/shared/dir-resolver/functions/resolve-base-dir.function.ts", "../src/shared/dir-resolver/functions/join-path.function.ts", "../src/shared/dir-resolver/functions/resolve-worker-script.function.ts", "../src/shared/dir-resolver/functions/resolve-wasm-dir.function.ts", "../src/shared/hash/functions/compute-sha256.ts", "../src/shared/platform/functions/get-ipc-path.function.ts", "../src/shared/platform/functions/get-tmpdir.function.ts"],
4
- "sourcesContent": ["import type { Runtime } from '../typings/runtime.ts';\n\n/**\n * Detects the current JavaScript runtime environment.\n *\n * Returns `'deno'` when the global `Deno` object is present,\n * otherwise returns `'node'`.\n */\nexport function detectRuntime(): Runtime {\n if (typeof globalThis !== 'undefined' && 'Deno' in globalThis) {\n return 'deno';\n }\n return 'node';\n}\n", "import { detectRuntime } from './detect-runtime.ts';\n\n/**\n * Returns the command-line arguments for the current runtime.\n *\n * In Deno, reads `Deno.args`; in Node.js, slices `process.argv`\n * past the interpreter and script entries.\n */\nexport function getArgs(): string[] {\n if (detectRuntime() === 'deno') {\n const g = globalThis as Record<string, unknown>;\n const deno = g['Deno'] as { args: string[] } | undefined;\n return deno?.args ?? [];\n }\n return process.argv.slice(2);\n}\n", "import { dirname } from 'node:path';\nimport { fileURLToPath } from 'node:url';\n\nimport type { BaseDir } from '../typings/base-dir.interface.ts';\n\nexport function resolveScriptDir(\n entryUrl: string,\n entryDirname?: string,\n): string {\n if (entryDirname) return entryDirname;\n if (entryUrl.startsWith('file:'))\n return dirname(fileURLToPath(entryUrl));\n return dirname(entryUrl);\n}\n\nexport function resolveBaseDir(\n entryUrl: string,\n entryDirname?: string,\n): BaseDir {\n const scriptDir =\n typeof __dirname !== 'undefined'\n ? __dirname\n : resolveScriptDir(entryUrl, entryDirname);\n return { scriptDir, cwd: process.cwd() };\n}\n", "import { join } from 'node:path';\n\nexport function isRemoteUrl(path: string): boolean {\n return path.startsWith('http://') || path.startsWith('https://');\n}\n\nexport function joinPath(base: string, ...segments: string[]): string {\n if (isRemoteUrl(base)) {\n const trailing = base.endsWith('/') ? '' : '/';\n return base + trailing + segments.join('/');\n }\n return join(base, ...segments);\n}\n", "import { joinPath } from './join-path.function.ts';\n\nimport type { Runtime } from '../../runtime/typings/runtime.ts';\n\nexport function resolveWorkerScript(\n scriptDir: string,\n runtime: Runtime,\n): string {\n if (runtime === 'deno') {\n return joinPath(scriptDir, 'worker.ts');\n }\n return joinPath(scriptDir, 'kbdb-worker.cjs');\n}\n", "import { joinPath } from './join-path.function.ts';\n\nexport function resolveWasmDir(scriptDir: string): string {\n return joinPath(scriptDir, 'wasm');\n}\n", "/**\n * Computes the SHA-256 hash of a UTF-8 string.\n *\n * Uses the Web Crypto API (`crypto.subtle`), which is available\n * in both Deno and Node.js >= 20 without additional imports.\n *\n * @param input - the string to hash\n * @returns lowercase hex-encoded SHA-256 digest (64 characters)\n */\nexport async function computeSha256(input: string): Promise<string> {\n const data = new TextEncoder().encode(input);\n const hash = await crypto.subtle.digest('SHA-256', data);\n const bytes = new Uint8Array(hash);\n return Array.from(bytes)\n .map((b) => b.toString(16).padStart(2, '0'))\n .join('');\n}\n", "import { join } from 'node:path';\nimport { getTmpdir } from './get-tmpdir.function.ts';\n\n/**\n * Returns the platform-appropriate IPC socket path for a given\n * context identifier.\n *\n * On Windows, returns a named pipe path (`\\\\.\\pipe\\kbdb-<ctx>`).\n * On POSIX systems, returns a Unix domain socket path under the\n * system temp directory (`<tmpdir>/kbdb-<ctx>.sock`).\n *\n * @param ctx - unique context identifier embedded in the path\n */\nexport function getIpcPath(ctx: string): string {\n if (process.platform === 'win32') {\n return `\\\\\\\\.\\\\pipe\\\\kbdb-${ctx}`;\n }\n return join(getTmpdir(), `kbdb-${ctx}.sock`);\n}\n", "import { tmpdir } from 'node:os';\n\n/**\n * Returns the operating system's default temporary directory path.\n */\nexport function getTmpdir(): string {\n return tmpdir();\n}\n"],
5
- "mappings": ";AAQO,SAAS,gBAAyB;AACtC,MAAI,OAAO,eAAe,eAAe,UAAU,YAAY;AAC5D,WAAO;AAAA,EACV;AACA,SAAO;AACV;;;ACLO,SAAS,UAAoB;AACjC,MAAI,cAAc,MAAM,QAAQ;AAC7B,UAAM,IAAI;AACV,UAAM,OAAO,EAAE,MAAM;AACrB,WAAO,MAAM,QAAQ,CAAC;AAAA,EACzB;AACA,SAAO,QAAQ,KAAK,MAAM,CAAC;AAC9B;;;ACfA,SAAS,eAAe;AACxB,SAAS,qBAAqB;AAIvB,SAAS,iBACb,UACA,cACO;AACP,MAAI,aAAc,QAAO;AACzB,MAAI,SAAS,WAAW,OAAO;AAC5B,WAAO,QAAQ,cAAc,QAAQ,CAAC;AACzC,SAAO,QAAQ,QAAQ;AAC1B;AAEO,SAAS,eACb,UACA,cACQ;AACR,QAAM,YACH,OAAO,cAAc,cAChB,YACA,iBAAiB,UAAU,YAAY;AAC/C,SAAO,EAAE,WAAW,KAAK,QAAQ,IAAI,EAAE;AAC1C;;;ACxBA,SAAS,YAAY;AAEd,SAAS,YAAY,MAAuB;AAChD,SAAO,KAAK,WAAW,SAAS,KAAK,KAAK,WAAW,UAAU;AAClE;AAEO,SAAS,SAAS,SAAiB,UAA4B;AACnE,MAAI,YAAY,IAAI,GAAG;AACpB,UAAM,WAAW,KAAK,SAAS,GAAG,IAAI,KAAK;AAC3C,WAAO,OAAO,WAAW,SAAS,KAAK,GAAG;AAAA,EAC7C;AACA,SAAO,KAAK,MAAM,GAAG,QAAQ;AAChC;;;ACRO,SAAS,oBACb,WACA,SACO;AACP,MAAI,YAAY,QAAQ;AACrB,WAAO,SAAS,WAAW,WAAW;AAAA,EACzC;AACA,SAAO,SAAS,WAAW,iBAAiB;AAC/C;;;ACVO,SAAS,eAAe,WAA2B;AACvD,SAAO,SAAS,WAAW,MAAM;AACpC;;;ACKA,eAAsB,cAAc,OAAgC;AACjE,QAAM,OAAO,IAAI,YAAY,EAAE,OAAO,KAAK;AAC3C,QAAM,OAAO,MAAM,OAAO,OAAO,OAAO,WAAW,IAAI;AACvD,QAAM,QAAQ,IAAI,WAAW,IAAI;AACjC,SAAO,MAAM,KAAK,KAAK,EACnB,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,SAAS,GAAG,GAAG,CAAC,EAC1C,KAAK,EAAE;AACd;;;AChBA,SAAS,QAAAA,aAAY;;;ACArB,SAAS,cAAc;AAKhB,SAAS,YAAoB;AACjC,SAAO,OAAO;AACjB;;;ADMO,SAAS,WAAW,KAAqB;AAC7C,MAAI,QAAQ,aAAa,SAAS;AAC/B,WAAO,qBAAqB,GAAG;AAAA,EAClC;AACA,SAAOC,MAAK,UAAU,GAAG,QAAQ,GAAG,OAAO;AAC9C;",
6
- "names": ["join", "join"]
7
- }
package/src/cli.ts DELETED
@@ -1,71 +0,0 @@
1
- /**
2
- * @module
3
- *
4
- * CLI and MCP server executable for kbdb. Provides the
5
- * `kbdb` command with 18 subcommands for managing a
6
- * file-based knowledge base, and an MCP server mode
7
- * for AI agent integration.
8
- */
9
-
10
- import { getArgs, detectRuntime } from './shared/runtime/index.ts';
11
- import {
12
- resolveBaseDir,
13
- resolveWorkerScript,
14
- } from './shared/dir-resolver/index.ts';
15
- import {
16
- runCli,
17
- isStdinTty,
18
- promptUser,
19
- findDb,
20
- runInit,
21
- } from './shared/cli/index.ts';
22
- import type { CliDeps } from './shared/cli/index.ts';
23
- import { createWorkerClient } from './shared/worker-client/index.ts';
24
- import { createMcpServer } from './shared/mcp/index.ts';
25
-
26
- const runtime = detectRuntime();
27
- const baseDir = resolveBaseDir(import.meta.url, import.meta.dirname);
28
- const workerScript = resolveWorkerScript(baseDir.scriptDir, runtime);
29
-
30
- const deps: CliDeps = {
31
- isStdinTty,
32
- promptUser,
33
- createWorkerClient: (opts) =>
34
- createWorkerClient({ ...opts, workerScript }),
35
- findDb,
36
- runInit,
37
- startMcpServer: async (contextPath) => {
38
- const client = await createWorkerClient({
39
- contextPath,
40
- workerScript,
41
- });
42
- try {
43
- const server = createMcpServer(client);
44
- await server.listen();
45
- } finally {
46
- client.disconnect();
47
- }
48
- },
49
- };
50
-
51
- async function main(): Promise<void> {
52
- const result = await runCli(getArgs(), deps);
53
- if (result.output) {
54
- // eslint-disable-next-line no-console
55
- console.log(result.output);
56
- }
57
- if (result.error) {
58
- // eslint-disable-next-line no-console
59
- console.error(result.error);
60
- }
61
- if (result.exitCode !== 0) {
62
- process.exitCode = result.exitCode;
63
- }
64
- }
65
-
66
- main().catch((err: unknown) => {
67
- const msg = err instanceof Error ? err.message : String(err);
68
- // eslint-disable-next-line no-console
69
- console.error(`error: ${msg}`);
70
- process.exitCode = 1;
71
- });
@@ -1,62 +0,0 @@
1
- import type { AutoCaptureConfig } from '../typings/auto-capture-config.interface.ts';
2
- import type { AutoCaptureState } from '../typings/auto-capture-state.interface.ts';
3
- import type { AutoCaptureTrigger } from '../typings/auto-capture-trigger.interface.ts';
4
- import { evaluateTrigger } from '../functions/evaluate-trigger.function.ts';
5
-
6
- /**
7
- * Controls the auto-capture lifecycle.
8
- *
9
- * Tracks tool call counts, evaluates trigger conditions, and
10
- * advances session state when a capture fires. Reset state on
11
- * disconnect or session end via `reset()`.
12
- */
13
- export class AutoCaptureController {
14
- private toolCallsSinceLastCapture = 0;
15
- private lastCaptureTimestamp = 0;
16
- private totalCapturesThisSession = 0;
17
- private readonly config: AutoCaptureConfig;
18
-
19
- /** @param config - the auto-capture configuration to use */
20
- constructor(config: AutoCaptureConfig) {
21
- this.config = config;
22
- }
23
-
24
- /** Record one tool call for trigger counting. */
25
- recordToolCall(): void {
26
- this.toolCallsSinceLastCapture += 1;
27
- }
28
-
29
- /**
30
- * Evaluates the current state against the trigger criteria.
31
- *
32
- * When the trigger fires, advances the session counters so the
33
- * next evaluation respects rate limiting and the session cap.
34
- *
35
- * @returns the trigger decision with a human-readable reason
36
- */
37
- evaluate(): AutoCaptureTrigger {
38
- const trigger = evaluateTrigger(this.config, this.state());
39
- if (trigger.shouldCapture) {
40
- this.totalCapturesThisSession += 1;
41
- this.lastCaptureTimestamp = Date.now();
42
- this.toolCallsSinceLastCapture = 0;
43
- }
44
- return trigger;
45
- }
46
-
47
- /** Reset all counters, e.g. on client disconnect. */
48
- reset(): void {
49
- this.toolCallsSinceLastCapture = 0;
50
- this.lastCaptureTimestamp = 0;
51
- this.totalCapturesThisSession = 0;
52
- }
53
-
54
- /** Returns a snapshot of the current controller state. */
55
- state(): AutoCaptureState {
56
- return {
57
- toolCallsSinceLastCapture: this.toolCallsSinceLastCapture,
58
- lastCaptureTimestamp: this.lastCaptureTimestamp,
59
- totalCapturesThisSession: this.totalCapturesThisSession,
60
- };
61
- }
62
- }