@dikolab/kbdb 0.3.2 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (466) hide show
  1. package/README.md +83 -89
  2. package/dist/chunk-BJPSPNGX.mjs +223 -0
  3. package/dist/chunk-BJPSPNGX.mjs.map +7 -0
  4. package/dist/cli.cjs +956 -319
  5. package/dist/cli.cjs.map +4 -4
  6. package/dist/cli.d.ts +9 -0
  7. package/dist/cli.mjs +840 -321
  8. package/dist/cli.mjs.map +4 -4
  9. package/dist/kbdb-worker.cjs +714 -94
  10. package/dist/kbdb-worker.cjs.map +4 -4
  11. package/dist/mod.cjs +122 -16
  12. package/dist/mod.cjs.map +3 -3
  13. package/dist/mod.d.ts +23 -2
  14. package/dist/mod.mjs +121 -16
  15. package/dist/mod.mjs.map +3 -3
  16. package/dist/src/shared/cli/functions/dispatch-command.function.d.ts +2 -1
  17. package/dist/src/shared/cli/functions/find-db.function.d.ts +7 -8
  18. package/dist/src/shared/cli/functions/handle-mcp.function.d.ts +1 -1
  19. package/dist/src/shared/cli/functions/parse-args.function.d.ts +4 -3
  20. package/dist/src/shared/cli/functions/resolve-kbid-prefix.function.d.ts +27 -0
  21. package/dist/src/shared/cli/functions/resolve-raw-db-path.function.d.ts +10 -0
  22. package/dist/src/shared/cli/functions/run-cli.function.d.ts +3 -1
  23. package/dist/src/shared/cli/functions/run-content.function.d.ts +8 -3
  24. package/dist/src/shared/cli/functions/run-import.function.d.ts +27 -0
  25. package/dist/src/shared/cli/functions/run-recall.function.d.ts +10 -4
  26. package/dist/src/shared/cli/functions/run-search.function.d.ts +7 -0
  27. package/dist/src/shared/cli/functions/run-unlearn.function.d.ts +9 -4
  28. package/dist/src/shared/cli/functions/run-worker-restart.function.d.ts +11 -0
  29. package/dist/src/shared/cli/functions/run-worker-stop.function.d.ts +11 -0
  30. package/dist/src/shared/cli/index.d.ts +2 -0
  31. package/dist/src/shared/cli/typings/cli-deps.interface.d.ts +4 -1
  32. package/dist/src/shared/cli/typings/cli-options.interface.d.ts +17 -0
  33. package/dist/src/shared/cli/typings/dispatch-client.type.d.ts +2 -1
  34. package/dist/src/shared/cli/typings/search-display.model.d.ts +6 -0
  35. package/dist/src/shared/embedding/classes/api-embedding-provider.class.d.ts +33 -0
  36. package/dist/src/shared/embedding/classes/onnx-embedding-provider.class.d.ts +33 -0
  37. package/dist/src/shared/embedding/functions/append-vector-entry.function.d.ts +14 -0
  38. package/dist/src/shared/embedding/functions/create-embedding-provider.function.d.ts +12 -0
  39. package/dist/src/shared/embedding/functions/detect-stale-vectors.function.d.ts +16 -0
  40. package/dist/src/shared/embedding/functions/parse-api-embedding-response.function.d.ts +11 -0
  41. package/dist/src/shared/embedding/functions/rebuild-vectors.function.d.ts +15 -0
  42. package/dist/src/shared/embedding/functions/scan-semantic-contradictions.function.d.ts +13 -0
  43. package/dist/src/shared/embedding/index.d.ts +7 -0
  44. package/dist/src/shared/embedding/typings/semantic-contradiction.model.d.ts +21 -0
  45. package/dist/src/shared/embedding/typings/stale-vectors-report.model.d.ts +16 -0
  46. package/dist/src/shared/mcp/classes/mcp-server.class.d.ts +22 -2
  47. package/dist/src/shared/mcp/functions/create-mcp-server.function.d.ts +6 -1
  48. package/dist/src/shared/mcp/functions/has-sampling-capability.function.d.ts +8 -0
  49. package/dist/src/shared/mcp/functions/run-auto-capture.function.d.ts +26 -0
  50. package/dist/src/shared/mcp/typings/mcp-client.interface.d.ts +2 -0
  51. package/dist/src/shared/mcp/typings/mcp-integrity-check-result.model.d.ts +24 -0
  52. package/dist/src/shared/mcp/typings/mcp-worker-client.interface.d.ts +3 -1
  53. package/dist/src/shared/version/constants/version.constant.d.ts +1 -1
  54. package/dist/src/shared/wasm-codec/typings/paged-search-result.model.d.ts +2 -0
  55. package/dist/src/shared/worker-client/classes/worker-client.class.d.ts +31 -1
  56. package/dist/src/shared/worker-client/constants/request-timeout.constant.d.ts +2 -0
  57. package/dist/src/shared/worker-client/constants/retry-defaults.constant.d.ts +2 -0
  58. package/dist/src/shared/worker-client/functions/get-or-create-client.function.d.ts +20 -0
  59. package/dist/src/shared/worker-client/functions/retry-on-timeout.function.d.ts +17 -0
  60. package/dist/src/shared/worker-client/index.d.ts +4 -1
  61. package/dist/src/shared/worker-client/typings/import-result.model.d.ts +16 -0
  62. package/dist/src/shared/worker-client/typings/integrity-check-result.model.d.ts +24 -0
  63. package/dist/src/shared/worker-client/typings/search-params.model.d.ts +4 -0
  64. package/dist/src/shared/worker-client/typings/search-result.model.d.ts +6 -0
  65. package/dist/src/shared/worker-client/typings/worker-client-options.interface.d.ts +7 -0
  66. package/dist/src/shared/worker-daemon/classes/worker-daemon.class.d.ts +5 -0
  67. package/dist/src/shared/worker-daemon/functions/create-ipc-server.function.d.ts +11 -11
  68. package/dist/src/shared/worker-daemon/functions/embed-after-learn.function.d.ts +13 -0
  69. package/dist/src/shared/worker-daemon/functions/handle-hybrid-search.function.d.ts +44 -0
  70. package/dist/src/shared/worker-daemon/functions/handle-import.function.d.ts +14 -0
  71. package/dist/src/shared/worker-daemon/functions/handle-read-ops.function.d.ts +7 -1
  72. package/dist/src/shared/worker-daemon/functions/handle-write-ops.function.d.ts +9 -4
  73. package/dist/src/shared/worker-daemon/typings/handler-context.interface.d.ts +3 -0
  74. package/dist/wasm/fs-database/kbdb_fs_database.d.ts +16 -85
  75. package/dist/wasm/fs-database/kbdb_fs_database.js +16 -85
  76. package/dist/wasm/fs-database/kbdb_fs_database_bg.wasm +0 -0
  77. package/dist/wasm/kb-worker/kbdb_worker.d.ts +20 -115
  78. package/dist/wasm/kb-worker/kbdb_worker.js +20 -115
  79. package/dist/wasm/kb-worker/kbdb_worker_bg.wasm +0 -0
  80. package/dist/wasm/query-parser/kbdb_query_parser_bg.wasm +0 -0
  81. package/dist/worker.d.ts +8 -0
  82. package/dist/worker.mjs +606 -102
  83. package/dist/worker.mjs.map +4 -4
  84. package/docs/details/README.md +4 -0
  85. package/docs/details/agent-tooling.md +122 -0
  86. package/docs/details/cli.md +70 -13
  87. package/docs/details/knowledge-base.md +173 -0
  88. package/docs/details/library-api.md +42 -2
  89. package/docs/details/mcp-server.md +38 -7
  90. package/docs/details/search-and-ranking.md +11 -10
  91. package/docs/goals/cli.md +110 -34
  92. package/docs/goals/mcp.md +22 -19
  93. package/docs/goals/query-parser.md +8 -0
  94. package/docs/goals/worker-client.md +62 -1
  95. package/docs/goals/worker-daemon.md +52 -10
  96. package/docs/modules/typescript/cli.md +1 -1
  97. package/docs/modules/typescript/shared/cli/functions.md +116 -13
  98. package/docs/modules/typescript/shared/cli/module.md +33 -20
  99. package/docs/modules/typescript/shared/cli/typings.md +4 -0
  100. package/docs/modules/typescript/shared/embedding/functions.md +104 -25
  101. package/docs/modules/typescript/shared/mcp/module.md +1 -1
  102. package/docs/modules/typescript/shared/mcp/typings.md +8 -1
  103. package/docs/modules/typescript/shared/worker-client/module.md +9 -1
  104. package/docs/modules/typescript/shared/worker-client/typings.md +3 -0
  105. package/docs/modules/typescript/shared/worker-daemon/module.md +6 -3
  106. package/docs/overview.md +1 -2
  107. package/docs/release-notes/0.4.0.md +80 -0
  108. package/docs/release-notes/README.md +1 -0
  109. package/mod.ts +33 -15
  110. package/package.json +11 -10
  111. package/dist/chunk-JG2UCKLI.mjs +0 -95
  112. package/dist/chunk-JG2UCKLI.mjs.map +0 -7
  113. package/src/cli.ts +0 -71
  114. package/src/shared/auto-capture/classes/auto-capture-controller.class.ts +0 -62
  115. package/src/shared/auto-capture/constants/auto-capture-defaults.constant.ts +0 -15
  116. package/src/shared/auto-capture/functions/build-capture-prompt.function.ts +0 -27
  117. package/src/shared/auto-capture/functions/evaluate-trigger.function.ts +0 -50
  118. package/src/shared/auto-capture/index.ts +0 -7
  119. package/src/shared/auto-capture/typings/auto-capture-config.interface.ts +0 -13
  120. package/src/shared/auto-capture/typings/auto-capture-state.interface.ts +0 -13
  121. package/src/shared/auto-capture/typings/auto-capture-trigger.interface.ts +0 -7
  122. package/src/shared/cli/constants/defaults.constant.ts +0 -19
  123. package/src/shared/cli/constants/global-help.constant.ts +0 -73
  124. package/src/shared/cli/constants/help-text.constant.ts +0 -4
  125. package/src/shared/cli/constants/leaf-help.constant.ts +0 -219
  126. package/src/shared/cli/constants/memory-protocol-body.constant.ts +0 -39
  127. package/src/shared/cli/constants/query-guidance-body.constant.ts +0 -37
  128. package/src/shared/cli/constants/subcommand-help.constant.ts +0 -195
  129. package/src/shared/cli/functions/collect-files.function.ts +0 -55
  130. package/src/shared/cli/functions/compute-section-kbid.function.ts +0 -49
  131. package/src/shared/cli/functions/dispatch-command.function.ts +0 -390
  132. package/src/shared/cli/functions/ensure-db.function.ts +0 -21
  133. package/src/shared/cli/functions/error-to-message.function.ts +0 -9
  134. package/src/shared/cli/functions/find-db.function.ts +0 -20
  135. package/src/shared/cli/functions/format-mcp-output.function.ts +0 -41
  136. package/src/shared/cli/functions/format-output.function.ts +0 -95
  137. package/src/shared/cli/functions/format-text-output.function.ts +0 -42
  138. package/src/shared/cli/functions/generate-group-help.function.ts +0 -41
  139. package/src/shared/cli/functions/generate-help.function.ts +0 -654
  140. package/src/shared/cli/functions/handle-data-command.function.ts +0 -67
  141. package/src/shared/cli/functions/handle-mcp.function.ts +0 -56
  142. package/src/shared/cli/functions/handle-migrate.function.ts +0 -64
  143. package/src/shared/cli/functions/hydrate-search-previews.function.ts +0 -29
  144. package/src/shared/cli/functions/install-default-skills.function.ts +0 -296
  145. package/src/shared/cli/functions/is-stdin-tty.function.ts +0 -12
  146. package/src/shared/cli/functions/parse-args.function.ts +0 -156
  147. package/src/shared/cli/functions/prompt-user.function.ts +0 -36
  148. package/src/shared/cli/functions/resolve-skill-names.function.ts +0 -43
  149. package/src/shared/cli/functions/run-agent-create.function.ts +0 -114
  150. package/src/shared/cli/functions/run-agent-delete.function.ts +0 -47
  151. package/src/shared/cli/functions/run-agent-get.function.ts +0 -166
  152. package/src/shared/cli/functions/run-agent-list.function.ts +0 -58
  153. package/src/shared/cli/functions/run-check.function.ts +0 -159
  154. package/src/shared/cli/functions/run-cli.function.ts +0 -299
  155. package/src/shared/cli/functions/run-content.function.ts +0 -47
  156. package/src/shared/cli/functions/run-db-init.function.ts +0 -44
  157. package/src/shared/cli/functions/run-db-migrate.function.ts +0 -40
  158. package/src/shared/cli/functions/run-export.function.ts +0 -40
  159. package/src/shared/cli/functions/run-gc.function.ts +0 -51
  160. package/src/shared/cli/functions/run-init.function.ts +0 -93
  161. package/src/shared/cli/functions/run-learn.function.ts +0 -223
  162. package/src/shared/cli/functions/run-migrate.function.ts +0 -85
  163. package/src/shared/cli/functions/run-rebuild.function.ts +0 -47
  164. package/src/shared/cli/functions/run-recall.function.ts +0 -66
  165. package/src/shared/cli/functions/run-search.function.ts +0 -133
  166. package/src/shared/cli/functions/run-skill-delete.function.ts +0 -47
  167. package/src/shared/cli/functions/run-skill-get.function.ts +0 -90
  168. package/src/shared/cli/functions/run-skill-learn.function.ts +0 -70
  169. package/src/shared/cli/functions/run-skill-list.function.ts +0 -74
  170. package/src/shared/cli/functions/run-status.function.ts +0 -29
  171. package/src/shared/cli/functions/run-unlearn.function.ts +0 -58
  172. package/src/shared/cli/functions/version-gate.function.ts +0 -44
  173. package/src/shared/cli/functions/wrap-command.function.ts +0 -34
  174. package/src/shared/cli/index.ts +0 -55
  175. package/src/shared/cli/typings/agent-create-client.interface.ts +0 -47
  176. package/src/shared/cli/typings/agent-get-client.interface.ts +0 -39
  177. package/src/shared/cli/typings/check-client.interface.ts +0 -66
  178. package/src/shared/cli/typings/cli-deps.interface.ts +0 -54
  179. package/src/shared/cli/typings/cli-options.interface.ts +0 -72
  180. package/src/shared/cli/typings/command-result.model.ts +0 -15
  181. package/src/shared/cli/typings/disconnectable-client.interface.ts +0 -29
  182. package/src/shared/cli/typings/dispatch-client.type.ts +0 -46
  183. package/src/shared/cli/typings/learn-client.interface.ts +0 -53
  184. package/src/shared/cli/typings/learn-io.interface.ts +0 -5
  185. package/src/shared/cli/typings/learn-result.model.ts +0 -27
  186. package/src/shared/cli/typings/search-client.interface.ts +0 -73
  187. package/src/shared/cli/typings/search-display.model.ts +0 -54
  188. package/src/shared/dir-resolver/functions/join-path.function.ts +0 -13
  189. package/src/shared/dir-resolver/functions/resolve-base-dir.function.ts +0 -25
  190. package/src/shared/dir-resolver/functions/resolve-wasm-dir.function.ts +0 -5
  191. package/src/shared/dir-resolver/functions/resolve-worker-script.function.ts +0 -13
  192. package/src/shared/dir-resolver/index.ts +0 -11
  193. package/src/shared/dir-resolver/typings/base-dir.interface.ts +0 -4
  194. package/src/shared/embedding/classes/null-embedding-provider.class.ts +0 -29
  195. package/src/shared/embedding/constants/near-duplicate-thresholds.constant.ts +0 -17
  196. package/src/shared/embedding/functions/build-vector-index.function.ts +0 -79
  197. package/src/shared/embedding/functions/cosine-similarity.function.ts +0 -31
  198. package/src/shared/embedding/functions/detect-near-duplicates.function.ts +0 -69
  199. package/src/shared/embedding/functions/jaccard-coefficient.function.ts +0 -26
  200. package/src/shared/embedding/functions/read-vector-index-meta.function.ts +0 -44
  201. package/src/shared/embedding/functions/rrf-fuse.function.ts +0 -33
  202. package/src/shared/embedding/functions/search-vectors.function.ts +0 -59
  203. package/src/shared/embedding/index.ts +0 -20
  204. package/src/shared/embedding/typings/embedding-config.interface.ts +0 -23
  205. package/src/shared/embedding/typings/embedding-provider.interface.ts +0 -25
  206. package/src/shared/embedding/typings/near-duplicate-candidate.model.ts +0 -25
  207. package/src/shared/embedding/typings/near-duplicate-result.model.ts +0 -26
  208. package/src/shared/embedding/typings/vector-index-entry.model.ts +0 -13
  209. package/src/shared/embedding/typings/vector-index-meta.model.ts +0 -14
  210. package/src/shared/embedding/typings/vector-search-result.model.ts +0 -8
  211. package/src/shared/hash/functions/compute-sha256.ts +0 -17
  212. package/src/shared/hash/index.ts +0 -1
  213. package/src/shared/mcp/classes/mcp-server.class.ts +0 -480
  214. package/src/shared/mcp/constants/mcp-error-codes.constant.ts +0 -30
  215. package/src/shared/mcp/constants/tool-agent-create.constant.ts +0 -39
  216. package/src/shared/mcp/constants/tool-agent-delete.constant.ts +0 -26
  217. package/src/shared/mcp/constants/tool-agent-get.constant.ts +0 -24
  218. package/src/shared/mcp/constants/tool-agent-list.constant.ts +0 -18
  219. package/src/shared/mcp/constants/tool-auto-capture-review.constant.ts +0 -32
  220. package/src/shared/mcp/constants/tool-check.constant.ts +0 -21
  221. package/src/shared/mcp/constants/tool-content.constant.ts +0 -29
  222. package/src/shared/mcp/constants/tool-export.constant.ts +0 -27
  223. package/src/shared/mcp/constants/tool-gc.constant.ts +0 -21
  224. package/src/shared/mcp/constants/tool-learn.constant.ts +0 -58
  225. package/src/shared/mcp/constants/tool-rebuild.constant.ts +0 -21
  226. package/src/shared/mcp/constants/tool-recall.constant.ts +0 -36
  227. package/src/shared/mcp/constants/tool-retrieve.constant.ts +0 -31
  228. package/src/shared/mcp/constants/tool-search.constant.ts +0 -51
  229. package/src/shared/mcp/constants/tool-skill-delete.constant.ts +0 -24
  230. package/src/shared/mcp/constants/tool-skill-get.constant.ts +0 -27
  231. package/src/shared/mcp/constants/tool-skill-learn.constant.ts +0 -37
  232. package/src/shared/mcp/constants/tool-skill-list.constant.ts +0 -18
  233. package/src/shared/mcp/constants/tool-status.constant.ts +0 -20
  234. package/src/shared/mcp/constants/tool-unlearn.constant.ts +0 -25
  235. package/src/shared/mcp/functions/as-boolean-or-undefined.function.ts +0 -11
  236. package/src/shared/mcp/functions/as-string-array-or-undefined.function.ts +0 -17
  237. package/src/shared/mcp/functions/as-string-array.function.ts +0 -15
  238. package/src/shared/mcp/functions/as-string.function.ts +0 -10
  239. package/src/shared/mcp/functions/build-skills-text.function.ts +0 -43
  240. package/src/shared/mcp/functions/create-mcp-server.function.ts +0 -14
  241. package/src/shared/mcp/functions/create-prompt-definitions.function.ts +0 -102
  242. package/src/shared/mcp/functions/create-resource-templates.function.ts +0 -23
  243. package/src/shared/mcp/functions/create-tool-definitions.function.ts +0 -530
  244. package/src/shared/mcp/functions/extract-skill-arguments.function.ts +0 -27
  245. package/src/shared/mcp/functions/handle-agent-create.function.ts +0 -116
  246. package/src/shared/mcp/functions/handle-agent-delete.function.ts +0 -50
  247. package/src/shared/mcp/functions/handle-agent-get.function.ts +0 -160
  248. package/src/shared/mcp/functions/handle-agent-list.function.ts +0 -50
  249. package/src/shared/mcp/functions/handle-agent-prompt.function.ts +0 -68
  250. package/src/shared/mcp/functions/handle-completion.function.ts +0 -114
  251. package/src/shared/mcp/functions/handle-mcp-request.function.ts +0 -202
  252. package/src/shared/mcp/functions/handle-prompt-get.function.ts +0 -220
  253. package/src/shared/mcp/functions/handle-recall.function.ts +0 -66
  254. package/src/shared/mcp/functions/handle-resource-read.function.ts +0 -56
  255. package/src/shared/mcp/functions/handle-roots-list.function.ts +0 -29
  256. package/src/shared/mcp/functions/handle-skill-prompt.function.ts +0 -44
  257. package/src/shared/mcp/functions/handle-tool-auto-capture-review.function.ts +0 -24
  258. package/src/shared/mcp/functions/handle-tool-call.function.ts +0 -560
  259. package/src/shared/mcp/functions/handle-tool-check.function.ts +0 -21
  260. package/src/shared/mcp/functions/handle-tool-content.function.ts +0 -23
  261. package/src/shared/mcp/functions/handle-tool-export.function.ts +0 -25
  262. package/src/shared/mcp/functions/handle-tool-gc.function.ts +0 -21
  263. package/src/shared/mcp/functions/handle-tool-learn.function.ts +0 -69
  264. package/src/shared/mcp/functions/handle-tool-rebuild.function.ts +0 -21
  265. package/src/shared/mcp/functions/handle-tool-retrieve.function.ts +0 -40
  266. package/src/shared/mcp/functions/handle-tool-search.function.ts +0 -47
  267. package/src/shared/mcp/functions/handle-tool-skill-delete.function.ts +0 -34
  268. package/src/shared/mcp/functions/handle-tool-skill-get.function.ts +0 -59
  269. package/src/shared/mcp/functions/handle-tool-skill-learn.function.ts +0 -61
  270. package/src/shared/mcp/functions/handle-tool-skill-list.function.ts +0 -39
  271. package/src/shared/mcp/functions/handle-tool-status.function.ts +0 -21
  272. package/src/shared/mcp/functions/handle-tool-unlearn.function.ts +0 -24
  273. package/src/shared/mcp/functions/parse-agent-meta.function.ts +0 -27
  274. package/src/shared/mcp/functions/parse-skill-arguments.function.ts +0 -36
  275. package/src/shared/mcp/functions/parse-skill-content.function.ts +0 -38
  276. package/src/shared/mcp/functions/read-agent-meta.function.ts +0 -41
  277. package/src/shared/mcp/functions/resolve-skill-refs.function.ts +0 -50
  278. package/src/shared/mcp/functions/run-startup-health-check.function.ts +0 -34
  279. package/src/shared/mcp/functions/serialize-skill-content.function.ts +0 -12
  280. package/src/shared/mcp/functions/should-emit-log.function.ts +0 -38
  281. package/src/shared/mcp/index.ts +0 -28
  282. package/src/shared/mcp/typings/agent-types.interface.ts +0 -39
  283. package/src/shared/mcp/typings/log-types.interface.ts +0 -26
  284. package/src/shared/mcp/typings/mcp-capabilities.interface.ts +0 -16
  285. package/src/shared/mcp/typings/mcp-client.interface.ts +0 -317
  286. package/src/shared/mcp/typings/mcp-completion.interface.ts +0 -45
  287. package/src/shared/mcp/typings/mcp-content-result.model.ts +0 -9
  288. package/src/shared/mcp/typings/mcp-export-result.model.ts +0 -11
  289. package/src/shared/mcp/typings/mcp-gc-result.model.ts +0 -15
  290. package/src/shared/mcp/typings/mcp-integrity-check-result.model.ts +0 -17
  291. package/src/shared/mcp/typings/mcp-integrity-error.model.ts +0 -15
  292. package/src/shared/mcp/typings/mcp-notification.interface.ts +0 -9
  293. package/src/shared/mcp/typings/mcp-rebuild-result.model.ts +0 -9
  294. package/src/shared/mcp/typings/mcp-request.interface.ts +0 -11
  295. package/src/shared/mcp/typings/mcp-resource-result.interface.ts +0 -12
  296. package/src/shared/mcp/typings/mcp-resource-template.interface.ts +0 -11
  297. package/src/shared/mcp/typings/mcp-response.interface.ts +0 -18
  298. package/src/shared/mcp/typings/mcp-server-info.interface.ts +0 -7
  299. package/src/shared/mcp/typings/mcp-server-state.interface.ts +0 -17
  300. package/src/shared/mcp/typings/mcp-tool-annotations.interface.ts +0 -32
  301. package/src/shared/mcp/typings/mcp-tool-definition.interface.ts +0 -16
  302. package/src/shared/mcp/typings/mcp-tool-result.interface.ts +0 -19
  303. package/src/shared/mcp/typings/mcp-types.interface.ts +0 -158
  304. package/src/shared/mcp/typings/mcp-worker-client.interface.ts +0 -243
  305. package/src/shared/mcp/typings/prompt-types.interface.ts +0 -39
  306. package/src/shared/mcp/typings/remove-section-result.model.ts +0 -10
  307. package/src/shared/mcp/typings/sampling-types.interface.ts +0 -48
  308. package/src/shared/mcp/typings/skill-types.interface.ts +0 -29
  309. package/src/shared/mcp/typings/tool-call-result.model.ts +0 -18
  310. package/src/shared/mod.ts +0 -1
  311. package/src/shared/platform/functions/get-ipc-path.function.ts +0 -19
  312. package/src/shared/platform/functions/get-tmpdir.function.ts +0 -8
  313. package/src/shared/platform/functions/is-process-alive.function.ts +0 -17
  314. package/src/shared/platform/index.ts +0 -3
  315. package/src/shared/runtime/functions/detect-runtime.ts +0 -14
  316. package/src/shared/runtime/functions/get-args.ts +0 -16
  317. package/src/shared/runtime/index.ts +0 -3
  318. package/src/shared/runtime/typings/runtime.ts +0 -2
  319. package/src/shared/sync/functions/build-import-report.function.ts +0 -40
  320. package/src/shared/sync/functions/parse-export-entry.function.ts +0 -45
  321. package/src/shared/sync/functions/resolve-conflict.function.ts +0 -31
  322. package/src/shared/sync/functions/serialize-export-entry.function.ts +0 -18
  323. package/src/shared/sync/index.ts +0 -9
  324. package/src/shared/sync/typings/conflict-resolution.type.ts +0 -8
  325. package/src/shared/sync/typings/export-entry.interface.ts +0 -13
  326. package/src/shared/sync/typings/export-options.interface.ts +0 -9
  327. package/src/shared/sync/typings/import-options.interface.ts +0 -7
  328. package/src/shared/sync/typings/import-report.interface.ts +0 -15
  329. package/src/shared/version/constants/version.constant.ts +0 -2
  330. package/src/shared/version/index.ts +0 -1
  331. package/src/shared/wasm-codec/functions/decode-add-section-result.function.ts +0 -112
  332. package/src/shared/wasm-codec/functions/decode-compose-output.function.ts +0 -16
  333. package/src/shared/wasm-codec/functions/decode-document-manifest-list.function.ts +0 -70
  334. package/src/shared/wasm-codec/functions/decode-document-manifest.function.ts +0 -87
  335. package/src/shared/wasm-codec/functions/decode-f32.function.ts +0 -16
  336. package/src/shared/wasm-codec/functions/decode-key-value-text.function.ts +0 -15
  337. package/src/shared/wasm-codec/functions/decode-one-recall-result.function.ts +0 -86
  338. package/src/shared/wasm-codec/functions/decode-option-string.function.ts +0 -24
  339. package/src/shared/wasm-codec/functions/decode-recall-document.function.ts +0 -59
  340. package/src/shared/wasm-codec/functions/decode-recall-reference.function.ts +0 -52
  341. package/src/shared/wasm-codec/functions/decode-recall-result.function.ts +0 -267
  342. package/src/shared/wasm-codec/functions/decode-recall-sibling.function.ts +0 -43
  343. package/src/shared/wasm-codec/functions/decode-remove-flag.function.ts +0 -3
  344. package/src/shared/wasm-codec/functions/decode-scored-results.function.ts +0 -194
  345. package/src/shared/wasm-codec/functions/decode-section-match.function.ts +0 -80
  346. package/src/shared/wasm-codec/functions/decode-section-record-list.function.ts +0 -20
  347. package/src/shared/wasm-codec/functions/decode-section-record-trailing.function.ts +0 -75
  348. package/src/shared/wasm-codec/functions/decode-section-record.function.ts +0 -85
  349. package/src/shared/wasm-codec/functions/decode-section-records.function.ts +0 -249
  350. package/src/shared/wasm-codec/functions/decode-section-type.function.ts +0 -30
  351. package/src/shared/wasm-codec/functions/decode-string.function.ts +0 -22
  352. package/src/shared/wasm-codec/functions/decode-u32.function.ts +0 -16
  353. package/src/shared/wasm-codec/functions/decode-u64.function.ts +0 -16
  354. package/src/shared/wasm-codec/functions/decode-wasm-list.function.ts +0 -31
  355. package/src/shared/wasm-codec/functions/encode-add-section-params.function.ts +0 -102
  356. package/src/shared/wasm-codec/functions/encode-group-params.function.ts +0 -28
  357. package/src/shared/wasm-codec/functions/encode-identifier-list.function.ts +0 -17
  358. package/src/shared/wasm-codec/functions/encode-kbid-list.function.ts +0 -17
  359. package/src/shared/wasm-codec/functions/encode-option-string.function.ts +0 -14
  360. package/src/shared/wasm-codec/functions/encode-recall-params.function.ts +0 -68
  361. package/src/shared/wasm-codec/functions/encode-search-params.function.ts +0 -12
  362. package/src/shared/wasm-codec/functions/encode-section-type.function.ts +0 -18
  363. package/src/shared/wasm-codec/functions/encode-string.function.ts +0 -9
  364. package/src/shared/wasm-codec/functions/encode-type-filter-param.function.ts +0 -13
  365. package/src/shared/wasm-codec/functions/encode-u32.function.ts +0 -5
  366. package/src/shared/wasm-codec/functions/encode-update-section-params.function.ts +0 -16
  367. package/src/shared/wasm-codec/index.ts +0 -49
  368. package/src/shared/wasm-codec/typings/add-section-input.model.ts +0 -45
  369. package/src/shared/wasm-codec/typings/add-section-result.model.ts +0 -28
  370. package/src/shared/wasm-codec/typings/document-manifest.model.ts +0 -20
  371. package/src/shared/wasm-codec/typings/document-section.model.ts +0 -12
  372. package/src/shared/wasm-codec/typings/item-decoder.type.ts +0 -10
  373. package/src/shared/wasm-codec/typings/near-duplicate.model.ts +0 -16
  374. package/src/shared/wasm-codec/typings/paged-search-result.model.ts +0 -22
  375. package/src/shared/wasm-codec/typings/section-match.model.ts +0 -31
  376. package/src/shared/wasm-codec/typings/section-record-trailing.model.ts +0 -38
  377. package/src/shared/wasm-codec/typings/section-record.model.ts +0 -66
  378. package/src/shared/wasm-codec/typings/section-type-result.model.ts +0 -12
  379. package/src/shared/worker-client/classes/worker-client.class.ts +0 -466
  380. package/src/shared/worker-client/functions/compute-context-id.function.ts +0 -18
  381. package/src/shared/worker-client/functions/create-worker-client.function.ts +0 -70
  382. package/src/shared/worker-client/functions/discover-daemon.function.ts +0 -47
  383. package/src/shared/worker-client/functions/handle-ipc-data.function.ts +0 -49
  384. package/src/shared/worker-client/functions/resolve-db-path.function.ts +0 -21
  385. package/src/shared/worker-client/functions/send-ipc-request.function.ts +0 -39
  386. package/src/shared/worker-client/functions/spawn-daemon.function.ts +0 -35
  387. package/src/shared/worker-client/functions/wait-for-daemon.function.ts +0 -34
  388. package/src/shared/worker-client/index.ts +0 -44
  389. package/src/shared/worker-client/typings/add-section-result.model.ts +0 -39
  390. package/src/shared/worker-client/typings/content-result.model.ts +0 -12
  391. package/src/shared/worker-client/typings/daemon-info.model.ts +0 -7
  392. package/src/shared/worker-client/typings/export-result.model.ts +0 -14
  393. package/src/shared/worker-client/typings/gc-result.model.ts +0 -18
  394. package/src/shared/worker-client/typings/integrity-check-result.model.ts +0 -43
  395. package/src/shared/worker-client/typings/json-rpc-response.interface.ts +0 -17
  396. package/src/shared/worker-client/typings/migrate-result.model.ts +0 -11
  397. package/src/shared/worker-client/typings/pending-call.interface.ts +0 -7
  398. package/src/shared/worker-client/typings/rebuild-result.model.ts +0 -12
  399. package/src/shared/worker-client/typings/recall-document.model.ts +0 -16
  400. package/src/shared/worker-client/typings/recall-params.model.ts +0 -15
  401. package/src/shared/worker-client/typings/recall-reference.model.ts +0 -32
  402. package/src/shared/worker-client/typings/recall-result.model.ts +0 -98
  403. package/src/shared/worker-client/typings/recall-sibling.model.ts +0 -11
  404. package/src/shared/worker-client/typings/recall-single-result.model.ts +0 -41
  405. package/src/shared/worker-client/typings/remove-section-result.model.ts +0 -7
  406. package/src/shared/worker-client/typings/search-params.model.ts +0 -14
  407. package/src/shared/worker-client/typings/search-result.model.ts +0 -43
  408. package/src/shared/worker-client/typings/section.model.ts +0 -43
  409. package/src/shared/worker-client/typings/status-result.model.ts +0 -14
  410. package/src/shared/worker-client/typings/version-status.model.ts +0 -28
  411. package/src/shared/worker-client/typings/worker-client-error.interface.ts +0 -8
  412. package/src/shared/worker-client/typings/worker-client-options.interface.ts +0 -30
  413. package/src/shared/worker-daemon/classes/ipc-error.class.ts +0 -22
  414. package/src/shared/worker-daemon/classes/worker-daemon.class.ts +0 -1291
  415. package/src/shared/worker-daemon/constants/daemon-defaults.constant.ts +0 -29
  416. package/src/shared/worker-daemon/constants/wasm-method-map.constant.ts +0 -69
  417. package/src/shared/worker-daemon/functions/build-ipc-error-response.function.ts +0 -16
  418. package/src/shared/worker-daemon/functions/check-catalog-version.function.ts +0 -54
  419. package/src/shared/worker-daemon/functions/check-preconditions.function.ts +0 -28
  420. package/src/shared/worker-daemon/functions/create-host-imports.function.ts +0 -328
  421. package/src/shared/worker-daemon/functions/create-ipc-server.function.ts +0 -87
  422. package/src/shared/worker-daemon/functions/detect-stale-pid.function.ts +0 -33
  423. package/src/shared/worker-daemon/functions/dispatch-request.function.ts +0 -190
  424. package/src/shared/worker-daemon/functions/handle-check-version.function.ts +0 -74
  425. package/src/shared/worker-daemon/functions/handle-config-method.function.ts +0 -27
  426. package/src/shared/worker-daemon/functions/handle-read-ops.function.ts +0 -236
  427. package/src/shared/worker-daemon/functions/handle-write-ops.function.ts +0 -257
  428. package/src/shared/worker-daemon/functions/load-wasm-modules.function.ts +0 -95
  429. package/src/shared/worker-daemon/functions/parse-auto-capture-section.function.ts +0 -51
  430. package/src/shared/worker-daemon/functions/parse-catalog-version.function.ts +0 -20
  431. package/src/shared/worker-daemon/functions/parse-embedding-section.function.ts +0 -38
  432. package/src/shared/worker-daemon/functions/parse-worker-toml.function.ts +0 -104
  433. package/src/shared/worker-daemon/functions/read-config.function.ts +0 -83
  434. package/src/shared/worker-daemon/functions/run-startup-integrity-check.function.ts +0 -55
  435. package/src/shared/worker-daemon/functions/run-worker.function.ts +0 -57
  436. package/src/shared/worker-daemon/functions/scan-near-duplicates.function.ts +0 -92
  437. package/src/shared/worker-daemon/functions/start-daemon.function.ts +0 -74
  438. package/src/shared/worker-daemon/functions/wasm-bridge.function.ts +0 -144
  439. package/src/shared/worker-daemon/functions/wasm-memory-helpers.function.ts +0 -41
  440. package/src/shared/worker-daemon/functions/write-lock.function.ts +0 -49
  441. package/src/shared/worker-daemon/index.ts +0 -16
  442. package/src/shared/worker-daemon/typings/allocator-ref.interface.ts +0 -16
  443. package/src/shared/worker-daemon/typings/daemon-config.interface.ts +0 -20
  444. package/src/shared/worker-daemon/typings/fs-adapter.interface.ts +0 -22
  445. package/src/shared/worker-daemon/typings/handler-context.interface.ts +0 -19
  446. package/src/shared/worker-daemon/typings/ipc-handler.interface.ts +0 -39
  447. package/src/shared/worker-daemon/typings/memory-ref.interface.ts +0 -13
  448. package/src/shared/worker-daemon/typings/wasm-fn.type.ts +0 -2
  449. package/src/shared/worker-daemon/typings/wasm-modules.interface.ts +0 -7
  450. package/src/shared/worker-daemon/typings/write-lock.interface.ts +0 -13
  451. package/src/wasm/fs-database/kbdb_fs_database.d.ts +0 -259
  452. package/src/wasm/fs-database/kbdb_fs_database.js +0 -515
  453. package/src/wasm/fs-database/kbdb_fs_database_bg.wasm +0 -0
  454. package/src/wasm/fs-database/kbdb_fs_database_bg.wasm.d.ts +0 -35
  455. package/src/wasm/fs-database/package.json +0 -13
  456. package/src/wasm/kb-worker/kbdb_worker.d.ts +0 -650
  457. package/src/wasm/kb-worker/kbdb_worker.js +0 -1181
  458. package/src/wasm/kb-worker/kbdb_worker_bg.wasm +0 -0
  459. package/src/wasm/kb-worker/kbdb_worker_bg.wasm.d.ts +0 -77
  460. package/src/wasm/kb-worker/package.json +0 -13
  461. package/src/wasm/query-parser/kbdb_query_parser.d.ts +0 -195
  462. package/src/wasm/query-parser/kbdb_query_parser.js +0 -403
  463. package/src/wasm/query-parser/kbdb_query_parser_bg.wasm +0 -0
  464. package/src/wasm/query-parser/kbdb_query_parser_bg.wasm.d.ts +0 -25
  465. package/src/wasm/query-parser/package.json +0 -13
  466. package/src/worker.ts +0 -42
@@ -41,14 +41,16 @@ interface CliDeps {
41
41
 
42
42
  Routes:
43
43
 
44
- | Command | Handler |
45
- |-------------|----------------------------------|
46
- | `help` | returns `HELP_TEXT` |
47
- | `version` | returns `VERSION` |
48
- | `init` | calls `deps.runInit` |
49
- | `mcp` | calls `deps.startMcpServer` |
50
- | `migrate` | version check + migrate daemon |
51
- | *(other)* | `dispatchCommand(client, opts)` |
44
+ | Command | Handler |
45
+ |------------------|----------------------------------|
46
+ | `help` | returns `HELP_TEXT` |
47
+ | `version` | returns `VERSION` |
48
+ | `init` | calls `deps.runInit` |
49
+ | `mcp` | calls `deps.startMcpServer` |
50
+ | `migrate` | version check + migrate daemon |
51
+ | `worker-stop` | `runWorkerStop(dbDir)` |
52
+ | `worker-restart` | `runWorkerRestart(dbDir)` |
53
+ | *(other)* | `dispatchCommand(client, opts)` |
52
54
 
53
55
  ### `dispatchCommand`
54
56
 
@@ -69,8 +71,8 @@ async function dispatchCommand(
69
71
  `DispatchClient` is the intersection of all per-command
70
72
  client interfaces (`SearchClient & LearnClient &
71
73
  UnlearnClient & RecallClient & ContentClient &
72
- CheckClient & GcClient & RebuildClient & ExportClient &
73
- SkillClient & AgentClient`).
74
+ CheckClient & GcClient & RebuildClient & StatusClient &
75
+ ExportClient & SkillClient & AgentClient`).
74
76
 
75
77
  | Command | Handler |
76
78
  |----------------|----------------------------------|
@@ -82,6 +84,7 @@ SkillClient & AgentClient`).
82
84
  | `content` | `runContent(client, options)` |
83
85
  | `check` | `runCheck(client, options)` |
84
86
  | `gc` | `runGc(client, options)` |
87
+ | `status` | `runStatus(client, options)` |
85
88
  | `rebuild` | `runRebuild(client, options)` |
86
89
  | `skill-learn` | `runSkillLearn(client, options)` |
87
90
  | `skill-list` | `runSkillList(client, options)` |
@@ -110,9 +113,9 @@ Throws on invalid or missing required arguments.
110
113
  Prints help text and exits for `--help` / `--version`.
111
114
 
112
115
  **Compound command handling**: when the first positional
113
- argument is `db`, `skill`, or `agent`, the parser
114
- consumes the next positional as the subcommand and sets
115
- `command` to the hyphenated form:
116
+ argument is `db`, `skill`, `agent`, or `worker`, the
117
+ parser consumes the next positional as the subcommand
118
+ and sets `command` to the hyphenated form:
116
119
 
117
120
  | First positional | Second positional | `command` value |
118
121
  |------------------|-------------------|------------------|
@@ -126,6 +129,8 @@ consumes the next positional as the subcommand and sets
126
129
  | `agent` | `list` | `agent-list` |
127
130
  | `agent` | `get` | `agent-get` |
128
131
  | `agent` | `delete` | `agent-delete` |
132
+ | `worker` | `stop` | `worker-stop` |
133
+ | `worker` | `restart` | `worker-restart` |
129
134
 
130
135
  **New options parsed:**
131
136
 
@@ -384,6 +389,70 @@ Output: JSON `{ "path": "...",
384
389
  "documents_exported": number,
385
390
  "elapsed_ms": number }`.
386
391
 
392
+ ### `runStatus`
393
+
394
+ **File:** `run-status.function.ts`
395
+
396
+ Retrieves the database status summary report from the
397
+ worker daemon.
398
+
399
+ ```ts
400
+ async function runStatus(
401
+ client: StatusClient,
402
+ options: CliOptions,
403
+ ): Promise<unknown>;
404
+ ```
405
+
406
+ `StatusClient` interface:
407
+
408
+ ```ts
409
+ interface StatusClient {
410
+ dbStatus(): Promise<unknown>;
411
+ }
412
+ ```
413
+
414
+ Delegates to `client.dbStatus()`. The caller is
415
+ responsible for serialising the result and setting
416
+ the process exit code.
417
+
418
+ ### `runWorkerStop`
419
+
420
+ **File:** `run-worker-stop.function.ts`
421
+
422
+ Stops the background worker daemon for the current
423
+ database. Discovers the daemon via its PID file and
424
+ sends `SIGTERM`. Returns success when the daemon was
425
+ stopped or was not running.
426
+
427
+ ```ts
428
+ async function runWorkerStop(
429
+ dbDir: string,
430
+ ): Promise<CommandResult>;
431
+ ```
432
+
433
+ Routed directly by `runCli` (not via
434
+ `dispatchCommand`) because the worker-stop command
435
+ does not require a live worker client connection.
436
+
437
+ ### `runWorkerRestart`
438
+
439
+ **File:** `run-worker-restart.function.ts`
440
+
441
+ Stops and restarts the background worker daemon.
442
+ Calls `runWorkerStop` internally; the daemon
443
+ auto-spawns on the next CLI command, so restart only
444
+ needs to stop the current instance.
445
+
446
+ ```ts
447
+ async function runWorkerRestart(
448
+ dbDir: string,
449
+ ): Promise<CommandResult>;
450
+ ```
451
+
452
+ Routed directly by `runCli` (not via
453
+ `dispatchCommand`) for the same reason as
454
+ `runWorkerStop`.
455
+
387
456
  ### `ensureDb`
388
457
 
389
458
  **File:** `ensure-db.function.ts`
@@ -470,6 +539,35 @@ interface PromptIO {
470
539
 
471
540
  Defaults to readline on `process.stdin`/`process.stdout`.
472
541
 
542
+ ### `resolveKbidPrefix`
543
+
544
+ **File:** `resolve-kbid-prefix.function.ts`
545
+
546
+ Resolves a short kbid prefix to a full 26-character
547
+ kbid. Scans all section types (`text`, `code`, `image`)
548
+ for kbids matching the prefix and returns the full
549
+ identifier when exactly one match exists. Full-length
550
+ identifiers (>= 26 chars) are returned as-is. Throws
551
+ when the prefix is ambiguous (multiple matches) or
552
+ unrecognized (no matches).
553
+
554
+ ```ts
555
+ async function resolveKbidPrefix(
556
+ prefix: string,
557
+ client: PrefixResolver,
558
+ ): Promise<string>;
559
+ ```
560
+
561
+ `PrefixResolver` interface:
562
+
563
+ ```ts
564
+ interface PrefixResolver {
565
+ listByType(
566
+ sectionType: string,
567
+ ): Promise<readonly { kbid: string }[]>;
568
+ }
569
+ ```
570
+
473
571
  ### `runDbInit`
474
572
 
475
573
  **File:** `run-db-init.function.ts`
@@ -675,10 +773,15 @@ src/shared/cli/
675
773
  ├── run-export.spec.ts
676
774
  ├── run-unlearn.spec.ts
677
775
  ├── run-search.spec.ts
776
+ ├── run-recall.spec.ts
678
777
  ├── run-content.spec.ts
778
+ ├── run-status.spec.ts
679
779
  ├── run-check.spec.ts
680
780
  ├── run-gc.spec.ts
681
781
  ├── run-rebuild.spec.ts
782
+ ├── run-worker-stop.spec.ts
783
+ ├── run-worker-restart.spec.ts
784
+ ├── resolve-kbid-prefix.spec.ts
682
785
  ├── run-skill-learn.spec.ts
683
786
  ├── run-skill-list.spec.ts
684
787
  ├── run-skill-get.spec.ts
@@ -40,6 +40,7 @@ src/shared/cli/
40
40
  │ ├── is-stdin-tty.function.ts
41
41
  │ ├── parse-args.function.ts
42
42
  │ ├── prompt-user.function.ts
43
+ │ ├── resolve-kbid-prefix.function.ts
43
44
  │ ├── run-agent-create.function.ts
44
45
  │ ├── run-agent-delete.function.ts
45
46
  │ ├── run-agent-get.function.ts
@@ -49,17 +50,22 @@ src/shared/cli/
49
50
  │ ├── run-content.function.ts
50
51
  │ ├── run-db-init.function.ts
51
52
  │ ├── run-db-migrate.function.ts
53
+ │ ├── run-export.function.ts
52
54
  │ ├── run-gc.function.ts
53
55
  │ ├── run-init.function.ts
54
56
  │ ├── run-learn.function.ts
55
57
  │ ├── run-migrate.function.ts
58
+ │ ├── run-recall.function.ts
56
59
  │ ├── run-rebuild.function.ts
57
60
  │ ├── run-search.function.ts
58
61
  │ ├── run-skill-delete.function.ts
59
62
  │ ├── run-skill-get.function.ts
60
63
  │ ├── run-skill-learn.function.ts
61
64
  │ ├── run-skill-list.function.ts
62
- └── run-unlearn.function.ts
65
+ ├── run-status.function.ts
66
+ │ ├── run-unlearn.function.ts
67
+ │ ├── run-worker-restart.function.ts
68
+ │ └── run-worker-stop.function.ts
63
69
  ├── typings/
64
70
  │ ├── cli-options.interface.ts
65
71
  │ ├── command-result.model.ts
@@ -72,14 +78,16 @@ src/shared/cli/
72
78
 
73
79
  - **[functions.md](functions.md)** -- `runCli`,
74
80
  `dispatchCommand`, `parseArgs`, `findDb`,
75
- `runInit`, `runMigrate`, `runLearn`, `runUnlearn`,
76
- `runSearch`, `runContent`, `runCheck`, `runGc`,
77
- `runRebuild`, `ensureDb`, `formatOutput`,
81
+ `resolveKbidPrefix`, `runInit`, `runMigrate`,
82
+ `runLearn`, `runUnlearn`, `runSearch`, `runRecall`,
83
+ `runContent`, `runExport`, `runStatus`, `runCheck`,
84
+ `runGc`, `runRebuild`, `ensureDb`, `formatOutput`,
78
85
  `errorToMessage`, `isStdinTty`, `promptUser`,
79
86
  `runDbInit`, `runDbMigrate`, `runSkillLearn`,
80
87
  `runSkillList`, `runSkillGet`, `runSkillDelete`,
81
88
  `runAgentCreate`, `runAgentList`, `runAgentGet`,
82
- `runAgentDelete`.
89
+ `runAgentDelete`, `runWorkerStop`,
90
+ `runWorkerRestart`.
83
91
  - **[typings.md](typings.md)** -- `CliOptions`,
84
92
  `CommandResult`, `LearnResult`, `SearchDisplay`,
85
93
  `SearchMode`, `OutputFormat`.
@@ -100,26 +108,31 @@ cli.ts (entry point)
100
108
  │ ├─ command === 'migrate' → runMigrate(client, options)
101
109
  │ ├─ command === 'db-init' → runDbInit(options)
102
110
  │ ├─ command === 'db-migrate' → runDbMigrate(client, options)
111
+ │ ├─ command === 'worker-stop' → runWorkerStop(dbDir)
112
+ │ ├─ command === 'worker-restart' → runWorkerRestart(dbDir)
103
113
  │ └─ data command:
104
114
  │ ├─ findDb(options.dbPath) → dbDir
105
115
  │ ├─ if not found: isStdinTty() / promptUser()
106
116
  │ ├─ createWorkerClient({ contextPath: dbDir })
107
117
  │ ├─ version gate (checkVersion)
108
118
  │ └─ dispatchCommand(client, options)
109
- │ ├─ learn → runLearn(client, options)
110
- │ ├─ unlearn → runUnlearn(client, options)
111
- │ ├─ search → runSearch(client, options)
112
- │ ├─ content runContent(client, options)
113
- │ ├─ checkrunCheck(client, options)
114
- │ ├─ gc runGc(client, options)
115
- │ ├─ rebuild runRebuild(client, options)
116
- │ ├─ skill-learn runSkillLearn(client, options)
117
- │ ├─ skill-list runSkillList(client, options)
118
- │ ├─ skill-get runSkillGet(client, options)
119
- │ ├─ skill-delete runSkillDelete(client, options)
120
- │ ├─ agent-create runAgentCreate(client, options)
121
- │ ├─ agent-list runAgentList(client, options)
122
- │ ├─ agent-get runAgentGet(client, options)
123
- └─ agent-delete runAgentDelete(client, options)
119
+ │ ├─ learn → runLearn(client, options)
120
+ │ ├─ unlearn → runUnlearn(client, options)
121
+ │ ├─ search → runSearch(client, options)
122
+ │ ├─ recall runRecall(client, options)
123
+ │ ├─ contentrunContent(client, options)
124
+ │ ├─ export runExport(client, options)
125
+ │ ├─ status runStatus(client, options)
126
+ │ ├─ check runCheck(client, options)
127
+ │ ├─ gc runGc(client, options)
128
+ │ ├─ rebuild runRebuild(client, options)
129
+ │ ├─ skill-learn runSkillLearn(client, options)
130
+ │ ├─ skill-list runSkillList(client, options)
131
+ │ ├─ skill-get runSkillGet(client, options)
132
+ │ ├─ skill-delete runSkillDelete(client, options)
133
+ ├─ agent-create runAgentCreate(client, options)
134
+ │ ├─ agent-list → runAgentList(client, options)
135
+ │ ├─ agent-get → runAgentGet(client, options)
136
+ │ └─ agent-delete → runAgentDelete(client, options)
124
137
  └─ returns CommandResult { output?, error?, exitCode }
125
138
  ```
@@ -32,6 +32,8 @@ interface CliOptions {
32
32
  persona?: string;
33
33
  body?: string;
34
34
  skills?: string[];
35
+ timeoutMs?: number;
36
+ retry?: number;
35
37
  }
36
38
  ```
37
39
 
@@ -61,6 +63,8 @@ interface CliOptions {
61
63
  | `persona` | Agent persona file path (`--persona`) |
62
64
  | `body` | Skill body file path (`--body`) |
63
65
  | `skills` | Ordered skill kbid list (`--skills`) |
66
+ | `timeoutMs` | Request timeout in ms |
67
+ | `retry` | Max retry count on timeout |
64
68
 
65
69
  ### `OutputFormat`
66
70
 
@@ -2,35 +2,19 @@
2
2
 
3
3
  **Source:** `src/shared/embedding/functions/`
4
4
 
5
- ## embed
5
+ ## createEmbeddingProvider
6
6
 
7
7
  ```ts
8
- embed(
9
- provider: EmbeddingProvider,
10
- text: string,
11
- ): Promise<Float32Array>
12
- ```
13
-
14
- Computes a single embedding vector for the given text.
15
- Delegates to the provider's `embed()` method. Returns a
16
- `Float32Array` of dimensions matching `provider.dimensions()`.
17
-
18
- Used during `learn` to embed section content and during
19
- `search` to embed the query string.
20
-
21
- ## batchEmbed
22
-
23
- ```ts
24
- batchEmbed(
25
- provider: EmbeddingProvider,
26
- texts: string[],
27
- ): Promise<Float32Array[]>
8
+ createEmbeddingProvider(
9
+ config: EmbeddingConfig,
10
+ ): EmbeddingProvider
28
11
  ```
29
12
 
30
- Computes embeddings for multiple texts in a single batch.
31
- More efficient than calling `embed()` in a loop -- providers
32
- can batch API calls or parallelize ONNX inference. Used
33
- during `rebuild` to re-embed all sections.
13
+ Factory that returns the appropriate `EmbeddingProvider`
14
+ implementation based on the given config. Returns an
15
+ `OnnxEmbeddingProvider` for `type: 'onnx'`, an
16
+ `ApiEmbeddingProvider` for `type: 'api'`, or a
17
+ `NullEmbeddingProvider` for `type: 'none'`.
34
18
 
35
19
  ## cosineSimilarity
36
20
 
@@ -92,3 +76,98 @@ Note: This is a brute-force linear scan. For corpus sizes
92
76
  under 100k sections, this is fast enough (< 50ms). A future
93
77
  version may add approximate nearest neighbor (ANN) indexing
94
78
  if scale demands it.
79
+
80
+ ## appendVectorEntry
81
+
82
+ ```ts
83
+ appendVectorEntry(
84
+ provider: EmbeddingProvider,
85
+ kbid: string,
86
+ content: string,
87
+ indexPath: string,
88
+ ): Promise<void>
89
+ ```
90
+
91
+ Appends a single vector entry to an existing vector index.
92
+ Used during incremental `learn` to add new sections without
93
+ a full rebuild.
94
+
95
+ ## readVectorIndexMeta
96
+
97
+ ```ts
98
+ readVectorIndexMeta(
99
+ indexPath: string,
100
+ ): Promise<VectorIndexMeta | null>
101
+ ```
102
+
103
+ Reads the `vectors-meta.toml` file for an existing vector
104
+ index. Returns `null` if the index does not exist.
105
+
106
+ ## rrfFuse
107
+
108
+ ```ts
109
+ rrfFuse(
110
+ lexical: { kbid: string; rank: number }[],
111
+ vector: { kbid: string; score: number }[],
112
+ k?: number,
113
+ ): { kbid: string; score: number }[]
114
+ ```
115
+
116
+ Merges lexical and vector result lists using Reciprocal
117
+ Rank Fusion. The `k` parameter controls rank smoothing
118
+ (default: 60).
119
+
120
+ ## jaccardCoefficient
121
+
122
+ ```ts
123
+ jaccardCoefficient(
124
+ a: Set<string>,
125
+ b: Set<string>,
126
+ ): number
127
+ ```
128
+
129
+ Computes the Jaccard similarity coefficient between two
130
+ term sets. Returns a value in [0, 1]. Used as the first
131
+ pass in near-duplicate detection.
132
+
133
+ ## detectNearDuplicates
134
+
135
+ ```ts
136
+ detectNearDuplicates(
137
+ sections: SectionRecord[],
138
+ provider?: EmbeddingProvider,
139
+ ): Promise<NearDuplicateResult[]>
140
+ ```
141
+
142
+ Two-pass near-duplicate detection: Jaccard coefficient on
143
+ term sets (always), then cosine similarity on embeddings
144
+ (when a provider is available). Returns pairs of sections
145
+ that exceed the similarity thresholds.
146
+
147
+ ## detectStaleVectors
148
+
149
+ ```ts
150
+ detectStaleVectors(
151
+ indexPath: string,
152
+ currentKbids: Set<string>,
153
+ ): Promise<StaleVectorsReport>
154
+ ```
155
+
156
+ Compares the vector index against the current section set
157
+ and reports entries whose kbid no longer exists. Used by
158
+ `check` to flag stale vector data.
159
+
160
+ ## rebuildVectors
161
+
162
+ ```ts
163
+ rebuildVectors(
164
+ provider: EmbeddingProvider,
165
+ sections: SectionRecord[],
166
+ outPath: string,
167
+ ): Promise<VectorIndexMeta>
168
+ ```
169
+
170
+ Rebuilds the entire vector index from scratch. Embeds all
171
+ sections and writes a fresh `vectors.idx` and
172
+ `vectors-meta.toml`. Called by `rebuild` when an embedding
173
+ provider is configured.
@@ -94,7 +94,7 @@ src/shared/mcp/
94
94
  cli.ts (entry point, MCP mode)
95
95
 
96
96
  ├─ detect runtime (Deno / Node)
97
- ├─ resolve db path (--db flag or KBDB_DIR env)
97
+ ├─ resolve db path (--db flag or KBDB_DB_DIR env or cwd)
98
98
  ├─ createWorkerClient({ targetDir })
99
99
  ├─ createMcpServer(client)
100
100
  │ └─ returns McpServer
@@ -61,7 +61,14 @@ interface McpWorkerClient {
61
61
  readonly depth?: number;
62
62
  }): Promise<RecallResult | RecallResult[]>;
63
63
 
64
- dbStatus(): Promise<DbStatus>;
64
+ dbStatus(): Promise<{
65
+ initialized: boolean;
66
+ contextPath: string;
67
+ cacheStats: {
68
+ contentCount: number;
69
+ indexCount: number;
70
+ };
71
+ }>;
65
72
 
66
73
  disconnect(): void;
67
74
  }
@@ -22,6 +22,12 @@ that communicates with the worker daemon. It:
22
22
  named pipe.
23
23
  - Exposes every daemon IPC method as a typed async
24
24
  function (JSON-RPC 2.0 over IPC).
25
+ - Retries transient connection failures (`ENOENT`,
26
+ `ECONNREFUSED`) with exponential backoff.
27
+ - Rejects all pending calls on post-connect socket
28
+ failure and marks the client as disconnected.
29
+ - Exposes `isConnected` state and a cached client
30
+ factory (`getOrCreateClient`).
25
31
  - Handles reconnection when the connection drops.
26
32
 
27
33
  The module is **not** exported from the library API
@@ -45,6 +51,7 @@ src/shared/worker-client/
45
51
  │ ├── compute-context-id.function.ts
46
52
  │ ├── create-worker-client.function.ts
47
53
  │ ├── discover-daemon.function.ts
54
+ │ ├── get-or-create-client.function.ts
48
55
  │ ├── resolve-db-path.function.ts
49
56
  │ ├── spawn-daemon.function.ts
50
57
  │ └── wait-for-daemon.function.ts
@@ -71,7 +78,8 @@ src/shared/worker-client/
71
78
 
72
79
  - **[classes.md](classes.md)** -- `WorkerClient`.
73
80
  - **[functions.md](functions.md)** --
74
- `createWorkerClient`, `resolveDbPath`,
81
+ `createWorkerClient`, `getOrCreateClient`,
82
+ `clearClientCache`, `resolveDbPath`,
75
83
  `computeContextId`, `discoverDaemon`,
76
84
  `spawnDaemon`, `waitForDaemon`.
77
85
  - **[typings.md](typings.md)** --
@@ -22,6 +22,7 @@ interface WorkerClientOptions {
22
22
  readonly autoSpawn?: boolean;
23
23
  readonly connectTimeoutMs?: number;
24
24
  readonly workerScript?: string;
25
+ readonly requestTimeoutMs?: number;
25
26
  }
26
27
  ```
27
28
 
@@ -38,6 +39,8 @@ interface WorkerClientOptions {
38
39
  | | after spawning; defaults to 10000 |
39
40
  | `workerScript` | Absolute path to the worker |
40
41
  | | daemon script |
42
+ | `requestTimeoutMs` | Per-request timeout; default |
43
+ | | 30 000 ms |
41
44
 
42
45
  ### `SearchParams`
43
46
 
@@ -22,6 +22,8 @@ background process that:
22
22
  context directory.
23
23
  - Listens on a local IPC socket (Unix domain socket
24
24
  or Windows named pipe) for JSON-RPC 2.0 requests.
25
+ Configures accepted connections with `SO_KEEPALIVE`
26
+ (30 s) and listens with backlog 256.
25
27
  - Maintains an in-memory LRU cache with TTL expiry
26
28
  for indexes, content objects, and manifests.
27
29
  - Tracks active connections and resets the idle timer
@@ -92,11 +94,12 @@ src/worker.ts (entry point)
92
94
  │ │ └─ compile kb-worker.wasm ────┘
93
95
  │ │ (imports both modules)
94
96
  │ ├─ init cache
97
+ │ ├─ remove stale IPC socket
98
+ │ ├─ await createIpcServer(ctx, handler)
99
+ │ │ └─ kb-worker-{ctx}.sock (listening)
95
100
  │ ├─ write PID file
96
101
  │ │ └─ kb-worker-{ctx}.pid
97
- ├─ createIpcServer(ctx, handler)
98
- │ │ └─ kb-worker-{ctx}.sock
99
- │ └─ listen for connections
102
+ └─ start idle timer
100
103
  └─ daemon running
101
104
  ```
102
105
 
package/docs/overview.md CHANGED
@@ -37,8 +37,7 @@ to it as a tool.
37
37
  - **Import** Markdown files with automatic keyword
38
38
  extraction and indexing
39
39
  - **Search** three ways: keyword (default),
40
- AI similarity, or hybrid (both combined) via
41
- `--algo`
40
+ hybrid, or AI similarity via `--algo`
42
41
  - **Auto-fallback** -- loosens your query when
43
42
  exact matches return nothing
44
43
  - **Recall** sections with progressive context
@@ -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,7 @@
2
2
 
3
3
  ## Releases
4
4
 
5
+ - [0.4.0](0.4.0.md) -- Engine refactor, daemon reliability, publishing fixes
5
6
  - [0.3.2](0.3.2.md) -- Docs alignment, hybrid search highlight, readability
6
7
  - [0.3.1](0.3.1.md) -- MCP reliability fixes, 20 tools, zero test skips
7
8
  - [0.3.0](0.3.0.md) -- Supersession, relaxed queries, export, tags, confidence