@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
@@ -14,6 +14,7 @@ import type { SectionRecord } from '../../wasm-codec/functions/decode-section-re
14
14
  import type { DocumentManifest } from '../../wasm-codec/functions/decode-document-manifest.function.ts';
15
15
  import type { RecallParams, RecallResult } from '../typings/recall-result.model.ts';
16
16
  import type { ExportResult } from '../typings/export-result.model.ts';
17
+ import type { ImportResult } from '../typings/import-result.model.ts';
17
18
  /**
18
19
  * IPC client that communicates with the worker daemon over a Unix
19
20
  * domain socket (or Windows named pipe) using JSON-RPC 2.0 with
@@ -25,6 +26,7 @@ import type { ExportResult } from '../typings/export-result.model.ts';
25
26
  export declare class WorkerClient {
26
27
  private readonly socketPath;
27
28
  private readonly contextId;
29
+ private readonly requestTimeoutMs?;
28
30
  /** Underlying socket; `null` when not connected. */
29
31
  private socket;
30
32
  /** Monotonically increasing request ID counter. */
@@ -38,16 +40,33 @@ export declare class WorkerClient {
38
40
  * (or Windows named pipe path)
39
41
  * @param contextId - 16-character context identifier sent as
40
42
  * `ctx` in every JSON-RPC request
43
+ * @param requestTimeoutMs - per-request timeout in ms
44
+ * (0 or undefined disables the timeout)
41
45
  */
42
- constructor(socketPath: string, contextId: string);
46
+ constructor(socketPath: string, contextId: string, requestTimeoutMs?: number | undefined);
47
+ /** Whether the underlying socket is connected. */
48
+ get isConnected(): boolean;
43
49
  /**
44
50
  * Establishes the IPC connection to the worker daemon.
45
51
  *
52
+ * Retries up to 5 times with exponential backoff on
53
+ * transient errors (`ENOENT`, `ECONNREFUSED`).
54
+ *
46
55
  * @throws {Error} if the connection cannot be established
47
56
  */
48
57
  connect(): Promise<void>;
49
58
  /** Destroys the IPC socket and clears the connection state. */
50
59
  disconnect(): void;
60
+ /**
61
+ * Single connection attempt with keepalive and
62
+ * post-connect failure handlers.
63
+ */
64
+ private tryConnect;
65
+ /**
66
+ * Rejects all pending calls and marks the client as
67
+ * disconnected.
68
+ */
69
+ private handleSocketFailure;
51
70
  /**
52
71
  * Searches the knowledge base.
53
72
  *
@@ -236,7 +255,18 @@ export declare class WorkerClient {
236
255
  */
237
256
  export(params?: {
238
257
  path?: string;
258
+ format?: string;
239
259
  }): Promise<ExportResult>;
260
+ /**
261
+ * Imports an exported database from the given path.
262
+ *
263
+ * @param params - source path and dry-run flag
264
+ * @returns import report with counts and timing
265
+ */
266
+ import(params: {
267
+ from: string;
268
+ dryRun: boolean;
269
+ }): Promise<ImportResult>;
240
270
  /**
241
271
  * Sends a JSON-RPC 2.0 request and awaits the response.
242
272
  *
@@ -0,0 +1,2 @@
1
+ /** Default per-request timeout for daemon IPC calls (ms). */
2
+ export declare const DEFAULT_REQUEST_TIMEOUT_MS = 30000;
@@ -0,0 +1,2 @@
1
+ /** Default number of retries on request timeout. */
2
+ export declare const DEFAULT_RETRY_COUNT = 5;
@@ -0,0 +1,20 @@
1
+ import type { WorkerClient } from '../classes/worker-client.class.ts';
2
+ import type { WorkerClientOptions } from '../typings/worker-client-options.interface.ts';
3
+ /**
4
+ * Returns a cached `WorkerClient` for the given context
5
+ * path, or creates and caches a new one if the cached
6
+ * client is disconnected or absent.
7
+ *
8
+ * Intended for library consumers and the MCP server. CLI
9
+ * one-shots should use `createWorkerClient()` directly.
10
+ *
11
+ * @param options - optional configuration forwarded to
12
+ * `createWorkerClient`
13
+ * @returns a connected `WorkerClient`
14
+ */
15
+ export declare function getOrCreateClient(options?: WorkerClientOptions): Promise<WorkerClient>;
16
+ /**
17
+ * Clears the internal client cache. Intended for tests
18
+ * that need isolation between runs.
19
+ */
20
+ export declare function clearClientCache(): void;
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Retries an operation when the daemon responds with
3
+ * a `REQUEST_TIMEOUT` error. Each retry disconnects
4
+ * the current client, creates a fresh one (which
5
+ * auto-spawns the daemon), and re-runs the operation.
6
+ *
7
+ * @param createClient - factory that returns a connected client
8
+ * @param operation - the work to perform with the client
9
+ * @param maxRetries - maximum retry attempts
10
+ * @returns the final client and result
11
+ */
12
+ export declare function retryOnTimeout<TClient extends {
13
+ disconnect(): void;
14
+ }, TResult>(createClient: () => Promise<TClient>, operation: (client: TClient) => Promise<TResult>, maxRetries: number): Promise<{
15
+ client: TClient;
16
+ result: TResult;
17
+ }>;
@@ -1,5 +1,6 @@
1
1
  export { WorkerClient } from './classes/worker-client.class.ts';
2
2
  export { createWorkerClient } from './functions/create-worker-client.function.ts';
3
+ export { getOrCreateClient, clearClientCache, } from './functions/get-or-create-client.function.ts';
3
4
  export { resolveDbPath } from './functions/resolve-db-path.function.ts';
4
5
  export { computeContextId } from './functions/compute-context-id.function.ts';
5
6
  export { discoverDaemon } from './functions/discover-daemon.function.ts';
@@ -15,9 +16,11 @@ export type { DaemonInfo } from './typings/daemon-info.model.ts';
15
16
  export type { AddSectionResult, NearDuplicateEntry, } from './typings/add-section-result.model.ts';
16
17
  export type { RemoveSectionResult } from './typings/remove-section-result.model.ts';
17
18
  export type { ContentResult } from './typings/content-result.model.ts';
18
- export type { IntegrityCheckResult, IntegrityError, } from './typings/integrity-check-result.model.ts';
19
+ export type { IntegrityCheckResult, IntegrityError, SemanticContradictionEntry, } from './typings/integrity-check-result.model.ts';
19
20
  export type { GcResult } from './typings/gc-result.model.ts';
20
21
  export type { RebuildResult } from './typings/rebuild-result.model.ts';
21
22
  export type { MigrateResult } from './typings/migrate-result.model.ts';
22
23
  export type { VersionCompatibility, VersionStatus, } from './typings/version-status.model.ts';
23
24
  export type { RecallParams, RecallResult, RecallDocument, RecallSibling, RecallReference, } from './typings/recall-result.model.ts';
25
+ export type { ImportResult } from './typings/import-result.model.ts';
26
+ export type { ExportResult } from './typings/export-result.model.ts';
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Report returned after importing an exported database into the
3
+ * current knowledge base.
4
+ */
5
+ export interface ImportResult {
6
+ /** Number of sections imported. */
7
+ readonly sections_imported: number;
8
+ /** Number of documents imported. */
9
+ readonly documents_imported: number;
10
+ /** Whether a rebuild was triggered after import. */
11
+ readonly rebuilt: boolean;
12
+ /** Whether this was a dry-run (no writes). */
13
+ readonly dry_run: boolean;
14
+ /** Wall-clock time in milliseconds. */
15
+ readonly elapsed_ms: number;
16
+ }
@@ -16,6 +16,24 @@ export interface IntegrityError {
16
16
  /** Human-readable description of the specific problem. */
17
17
  readonly detail: string;
18
18
  }
19
+ /**
20
+ * Advisory finding: two sections whose embedding vectors point in
21
+ * opposite directions, indicating potential semantic conflict.
22
+ *
23
+ * Does not affect the `ok` field of `IntegrityCheckResult`.
24
+ */
25
+ export interface SemanticContradictionEntry {
26
+ /** Knowledge-base identifier of the first section in the pair. */
27
+ readonly kbid_a: string;
28
+ /** Knowledge-base identifier of the second section in the pair. */
29
+ readonly kbid_b: string;
30
+ /**
31
+ * Cosine similarity score (negative, in range -1.0 to 0.0).
32
+ *
33
+ * More negative values indicate stronger semantic opposition.
34
+ */
35
+ readonly score: number;
36
+ }
19
37
  /**
20
38
  * Report returned by the daemon after running an integrity check
21
39
  * on the knowledge-base database.
@@ -33,4 +51,10 @@ export interface IntegrityCheckResult {
33
51
  readonly references_checked: number;
34
52
  /** Time taken to complete the check, in milliseconds. */
35
53
  readonly elapsed_ms: number;
54
+ /**
55
+ * Advisory list of section pairs with semantically contradictory
56
+ * embeddings. Empty when no embedding provider is configured or
57
+ * when no `vectors.idx` file is present. Never affects `ok`.
58
+ */
59
+ readonly semantic_contradictions: SemanticContradictionEntry[];
36
60
  }
@@ -11,4 +11,8 @@ export interface SearchParams {
11
11
  readonly limit?: number;
12
12
  /** Number of results to skip (pagination offset). */
13
13
  readonly offset?: number;
14
+ /** Search algorithm: `'lexical'`, `'vector'`, or `'hybrid'`. */
15
+ readonly algo?: string;
16
+ /** Use relaxed (OR) matching for the query. */
17
+ readonly relaxed?: boolean;
14
18
  }
@@ -39,4 +39,10 @@ export interface PagedSearchResult {
39
39
  readonly limit: number;
40
40
  /** Whether more results exist beyond this page. */
41
41
  readonly has_more: boolean;
42
+ /** Whether the engine relaxed the query to produce results. */
43
+ readonly relaxed?: boolean;
44
+ /** Algorithm that produced these results. */
45
+ readonly search_mode?: string;
46
+ /** Retrieval strategy used (e.g. `'lexical'`, `'rrf'`). */
47
+ readonly retrieval_method?: string;
42
48
  }
@@ -27,4 +27,11 @@ export interface WorkerClientOptions {
27
27
  * `spawnDaemon` needs no runtime-specific path logic.
28
28
  */
29
29
  readonly workerScript?: string;
30
+ /**
31
+ * Per-request timeout in milliseconds for daemon IPC
32
+ * calls. When a request exceeds this duration, the
33
+ * Promise rejects with a `REQUEST_TIMEOUT` error.
34
+ * Defaults to `undefined` (no timeout).
35
+ */
36
+ readonly requestTimeoutMs?: number;
30
37
  }
@@ -21,6 +21,7 @@ export declare class WorkerDaemon {
21
21
  get connectionCount(): number;
22
22
  private _connectionCount;
23
23
  private _wasmModules;
24
+ private _embeddingProvider;
24
25
  private _idleAt;
25
26
  private _idleTimer;
26
27
  private _server;
@@ -121,6 +122,7 @@ export declare class WorkerDaemon {
121
122
  private dispatch;
122
123
  private dispatchWasm;
123
124
  private handleSearch;
125
+ private runLexicalSearch;
124
126
  private handleResultStatus;
125
127
  private handleGetResult;
126
128
  private handleAddSection;
@@ -142,6 +144,9 @@ export declare class WorkerDaemon {
142
144
  private handleGc;
143
145
  private handleRebuild;
144
146
  private handleExport;
147
+ private handleImport;
148
+ private countFiles;
149
+ private collectFiles;
145
150
  private scanNearDuplicates;
146
151
  private extractTermSet;
147
152
  /**
@@ -1,18 +1,18 @@
1
1
  import type { Server } from 'node:net';
2
2
  import type { IpcHandler } from '../typings/ipc-handler.interface.ts';
3
3
  /**
4
- * Creates a Unix socket (or named pipe on Windows) IPC server that
5
- * reads newline-delimited JSON-RPC requests and writes responses.
4
+ * Creates a Unix socket (or named pipe on Windows) IPC
5
+ * server that reads newline-delimited JSON-RPC requests
6
+ * and writes responses.
6
7
  *
7
- * Each line received on a socket connection is parsed as an
8
- * `IpcRequest`, dispatched to `handler`, and the resulting
9
- * `IpcResponse` is written back as a newline-terminated JSON string.
10
- * A malformed line that cannot be parsed results in a JSON-RPC
11
- * parse-error response (`-32700`).
8
+ * Resolves after the server is bound and listening.
9
+ * Accepted connections have `SO_KEEPALIVE` enabled at
10
+ * a 30-second interval.
12
11
  *
13
- * @param socketPath - path to the Unix domain socket or Windows
14
- * named pipe
15
- * @param handler - async function invoked for each valid request
12
+ * @param socketPath - path to the Unix domain socket or
13
+ * Windows named pipe
14
+ * @param handler - async function invoked for each valid
15
+ * request
16
16
  * @returns the listening `net.Server` instance
17
17
  */
18
- export declare function createIpcServer(socketPath: string, handler: IpcHandler): Server;
18
+ export declare function createIpcServer(socketPath: string, handler: IpcHandler): Promise<Server>;
@@ -0,0 +1,13 @@
1
+ import type { EmbeddingProvider } from '../../embedding/typings/embedding-provider.interface.ts';
2
+ /**
3
+ * Embeds a section's content and appends it to `vectors.idx`.
4
+ *
5
+ * Skips silently when embeddings are disabled (no provider or
6
+ * zero dimensions) or when the content is empty.
7
+ *
8
+ * @param provider - embedding provider (undefined = disabled)
9
+ * @param targetDir - path to the `.kbdb` directory
10
+ * @param kbid - section identifier to embed
11
+ * @param content - section text content
12
+ */
13
+ export declare function embedAfterLearn(provider: EmbeddingProvider | undefined, targetDir: string, kbid: string, content: string): Promise<void>;
@@ -0,0 +1,44 @@
1
+ import type { EmbeddingProvider } from '../../embedding/typings/embedding-provider.interface.ts';
2
+ /** Lexical search result from WASM decoder. */
3
+ interface LexicalResult {
4
+ items: LexicalItem[];
5
+ total: number;
6
+ offset: number;
7
+ limit: number;
8
+ has_more: boolean;
9
+ relaxed: boolean;
10
+ }
11
+ /** A single item from the lexical search result. */
12
+ interface LexicalItem {
13
+ kbid: string;
14
+ heading: string | null;
15
+ type: string;
16
+ docids: string[];
17
+ score: number;
18
+ confidence: number;
19
+ snippet: string;
20
+ matched_terms: string[];
21
+ matched_fields: string[];
22
+ created_at: string;
23
+ }
24
+ /** Search result with search_mode and retrieval_method. */
25
+ interface FusedSearchResult extends LexicalResult {
26
+ search_mode: string;
27
+ retrieval_method: string;
28
+ }
29
+ /**
30
+ * Fuses lexical search results with vector search results.
31
+ *
32
+ * When `algo` is `'lexical'`, returns the lexical result as-is.
33
+ * When `algo` is `'hybrid'`, runs vector search against
34
+ * `vectors.idx` and fuses via RRF. When `algo` is `'vector'`,
35
+ * returns vector-only results.
36
+ *
37
+ * @param lexical - decoded lexical result from WASM
38
+ * @param algo - search algorithm: lexical, hybrid, or vector
39
+ * @param query - the original search query text
40
+ * @param provider - embedding provider (undefined = disabled)
41
+ * @param targetDir - path to the `.kbdb` directory
42
+ */
43
+ export declare function fuseSearchResults(lexical: LexicalResult, algo: string, query: string, provider: EmbeddingProvider | undefined, targetDir: string): Promise<FusedSearchResult>;
44
+ export {};
@@ -0,0 +1,14 @@
1
+ import type { HandlerContext } from '../typings/handler-context.interface.ts';
2
+ import type { ImportResult } from '../../worker-client/typings/import-result.model.ts';
3
+ /**
4
+ * Handles the `importDb` IPC method.
5
+ *
6
+ * Reads sections and documents from an exported directory and
7
+ * feeds them back through the WASM add-section pipeline. When
8
+ * `dryRun` is `true`, counts files without writing.
9
+ *
10
+ * @param ctx - handler context with WASM modules
11
+ * @param params - `sourcePath` and `dryRun` flag
12
+ * @returns import report with counts and timing
13
+ */
14
+ export declare function handleImport(ctx: HandlerContext, params: Record<string, unknown>): Promise<ImportResult>;
@@ -4,8 +4,9 @@ import type { HandlerContext } from '../typings/handler-context.interface.ts';
4
4
  *
5
5
  * Encodes parameters, invokes the `worker_search` token pipeline,
6
6
  * waits synchronously for the result, and decodes the paged result.
7
+ * When `algo` is `'hybrid'` or `'vector'`, fuses with vector search.
7
8
  */
8
- export declare function handleSearch(ctx: HandlerContext, params: Record<string, unknown>): unknown;
9
+ export declare function handleSearch(ctx: HandlerContext, params: Record<string, unknown>): Promise<unknown>;
9
10
  /**
10
11
  * Handles the `get_result_status` IPC method.
11
12
  */
@@ -28,6 +29,11 @@ export declare function handleRetrieveDoc(ctx: HandlerContext, params: Record<st
28
29
  export declare function handleCompose(ctx: HandlerContext, params: Record<string, unknown>): unknown;
29
30
  /**
30
31
  * Handles the `integrityCheck` IPC method.
32
+ *
33
+ * Runs the WASM integrity check and, when an embedding provider is
34
+ * available, appends an advisory `stale_vectors` field if the
35
+ * `vectors.idx` is outdated. The `ok` flag is not affected by stale
36
+ * vectors.
31
37
  */
32
38
  export declare function handleIntegrityCheck(ctx: HandlerContext): unknown;
33
39
  /**
@@ -2,10 +2,12 @@ import type { HandlerContext } from '../typings/handler-context.interface.ts';
2
2
  /**
3
3
  * Handles the `addSection` IPC method.
4
4
  *
5
- * Encodes the section input, delegates to `worker_add_section`, and
6
- * runs a near-duplicate scan when the WASM result reports none.
5
+ * Encodes the section input, delegates to `worker_add_section`,
6
+ * runs a near-duplicate scan when the WASM result reports none,
7
+ * and embeds the section content when an embedding provider is
8
+ * configured.
7
9
  */
8
- export declare function handleAddSection(ctx: HandlerContext, params: Record<string, unknown>): unknown;
10
+ export declare function handleAddSection(ctx: HandlerContext, params: Record<string, unknown>): Promise<unknown>;
9
11
  /**
10
12
  * Handles the `updateSection` IPC method.
11
13
  */
@@ -40,5 +42,8 @@ export declare function handleInvalidateAll(ctx: HandlerContext): unknown;
40
42
  export declare function handleGc(ctx: HandlerContext): unknown;
41
43
  /**
42
44
  * Handles the `rebuildIndexes` IPC method.
45
+ *
46
+ * Invokes the WASM keyword-index rebuild and, when an embedding
47
+ * provider is configured, also rebuilds the vector index.
43
48
  */
44
- export declare function handleRebuild(ctx: HandlerContext): unknown;
49
+ export declare function handleRebuild(ctx: HandlerContext): Promise<unknown>;
@@ -1,5 +1,6 @@
1
1
  import type { DaemonConfig } from './daemon-config.interface.ts';
2
2
  import type { WasmModules } from './wasm-modules.interface.ts';
3
+ import type { EmbeddingProvider } from '../../embedding/typings/embedding-provider.interface.ts';
3
4
  /**
4
5
  * Runtime context passed to all IPC request handler functions.
5
6
  *
@@ -15,4 +16,6 @@ export interface HandlerContext {
15
16
  readonly config: DaemonConfig;
16
17
  /** Loaded WASM module instances. */
17
18
  readonly modules: WasmModules;
19
+ /** Embedding provider for vector/hybrid search. */
20
+ readonly embeddingProvider?: EmbeddingProvider;
18
21
  }
@@ -3,84 +3,42 @@ declare namespace wasm_bindgen {
3
3
  /* eslint-disable */
4
4
 
5
5
  /**
6
- * Adds a section. `ptr`/`len` point to an encoded `AddSectionParams`.
7
- *
8
- * On success: writes an encoded `AddSectionResult` to the return slot and
9
- * returns 0. When `params.replace` is true and a section with the same
10
- * `source_key` exists, the superseded section's index entries are removed
11
- * and the returned `AddSectionResult.superseded` is set to its kbid.
12
- * On error: writes error message to return slot, returns -1.
6
+ * Adds a section.
13
7
  */
14
8
  export function db_add_section(ptr: number, len: number): number;
15
9
 
16
10
  /**
17
11
  * Adds a section's terms to the inverted and positional indexes.
18
- * `ptr`/`len` point to encoded
19
- * (kbid_str, term_count, [(term_str, pos_count, [positions], heading_tf, body_tf, code_tf)]).
20
12
  */
21
13
  export function db_add_to_index(ptr: number, len: number): number;
22
14
 
23
15
  /**
24
- * Checks database integrity. Returns 0 on success.
25
- * On success a summary string is placed in the return slot.
16
+ * Checks database integrity.
26
17
  */
27
18
  export function db_check_integrity(_ptr: number, _len: number): number;
28
19
 
29
20
  /**
30
- * Reads `catalog.toml` from the path at `ptr`/`len` and returns the version
31
- * status without modifying state.
32
- *
33
- * On success, the return slot contains 8 bytes:
34
- * - bytes 0-3: `catalog_version` as little-endian u32
35
- * - bytes 4-7: `required_version` (DB_FORMAT_VERSION) as little-endian u32
36
- *
37
- * Return value:
38
- * - 0: compatible (versions match)
39
- * - 1: needs migration (catalog version < required)
40
- * - 2: too new (catalog version > required)
41
- * - -1: I/O or parse error (message in return slot)
42
- *
43
- * Note: this export accepts a path directly and does NOT require `db_init`
44
- * to have been called first.
21
+ * Reads `catalog.toml` and returns the version status.
45
22
  */
46
23
  export function db_check_version(ptr: number, len: number): number;
47
24
 
48
25
  /**
49
26
  * Exports the database to a target directory.
50
- *
51
- * `ptr`/`len` point to a UTF-8 string containing the target path.
52
- *
53
- * Copies `sections/`, `documents/`, and `catalog.toml` to the target.
54
- * Indexes are not copied because they can be rebuilt from the data.
55
- *
56
- * The target path may be absolute or relative. It is an external output
57
- * destination, not a database-internal path, so no path validation is
58
- * applied to it.
59
- *
60
- * On success a summary string is placed in the return slot:
61
- * `path={target}\nsections_exported={N}\ndocuments_exported={M}`
62
27
  */
63
28
  export function db_export(ptr: number, len: number): number;
64
29
 
65
30
  /**
66
- * Runs garbage collection. Returns 0 on success.
67
- * On success a summary string is placed in the return slot.
31
+ * Runs garbage collection.
68
32
  */
69
33
  export function db_gc(_ptr: number, _len: number): number;
70
34
 
71
35
  /**
72
36
  * Returns back-references pointing to a section.
73
- * `ptr`/`len` point to a UTF-8 kbid string.
74
- * On success encodes `u32 count` followed by entries (peer_id, marker_type,
75
- * context_snippet) into the return slot.
76
37
  */
77
38
  export function db_get_back_refs(ptr: number, len: number): number;
78
39
 
79
40
  /**
80
41
  * Returns forward references for a section.
81
- * `ptr`/`len` point to a UTF-8 kbid string.
82
- * On success encodes `u32 count` followed by entries (peer_id, marker_type,
83
- * context_snippet) into the return slot.
84
42
  */
85
43
  export function db_get_forward_refs(ptr: number, len: number): number;
86
44
 
@@ -94,118 +52,91 @@ declare namespace wasm_bindgen {
94
52
 
95
53
  /**
96
54
  * Initialises a new empty catalog at the current context path.
97
- * Writes the default catalog to disk and returns 0 on success.
98
55
  */
99
56
  export function db_init_catalog(_ptr: number, _len: number): number;
100
57
 
101
58
  /**
102
- * Creates the full directory scaffold for a new database at `ptr`/`len` path.
103
- *
104
- * Creates directories, seeds `catalog.toml` (stamped with `DB_FORMAT_VERSION`),
105
- * empty index files, `worker.toml`, and `.gitignore`.
106
- *
107
- * Returns 0 on success. Returns -1 with an error message in the return slot
108
- * if the directory already exists or any I/O fails.
109
- *
110
- * Note: this export accepts a path directly and does NOT require `db_init`
111
- * to have been called first.
59
+ * Creates the full directory scaffold for a new database.
112
60
  */
113
61
  export function db_init_directory(ptr: number, len: number): number;
114
62
 
115
63
  /**
116
- * Lists all document manifests. No input parameters (`ptr`/`len` are ignored).
117
- *
118
- * On success encodes a `u32 count` followed by each `DocumentManifest` into
119
- * the return slot and returns 0. On error writes an error message and returns -1.
64
+ * Lists all document manifests.
120
65
  */
121
66
  export function db_list_documents(_ptr: number, _len: number): number;
122
67
 
123
68
  /**
124
- * Lists all section records. No input parameters (`ptr`/`len` are ignored).
125
- *
126
- * On success encodes a `u32 count` followed by each `SectionRecord` into the
127
- * return slot and returns 0. On error writes an error message and returns -1.
69
+ * Lists all section records.
128
70
  */
129
71
  export function db_list_sections(_ptr: number, _len: number): number;
130
72
 
131
73
  /**
132
74
  * Executes a query plan against the loaded indexes.
133
- * `ptr`/`len` point to an encoded `QueryPlan`.
134
- * On success writes encoded `Vec<RawMatch>` to the return slot.
135
75
  */
136
76
  export function db_query(ptr: number, len: number): number;
137
77
 
138
78
  /**
139
- * Reads the catalog. Returns 0 on success.
140
- * On success the serialised catalog TOML text is in the return slot.
79
+ * Reads the catalog.
141
80
  */
142
81
  export function db_read_catalog(_ptr: number, _len: number): number;
143
82
 
144
83
  /**
145
84
  * Reads corpus statistics from `<ctx>/corpus.bin`.
146
- * On success places encoded `CorpusStats` bytes in the return slot.
147
85
  */
148
86
  export function db_read_corpus_stats(_ptr: number, _len: number): number;
149
87
 
150
88
  /**
151
- * Reads a document manifest. `ptr`/`len` point to a UTF-8 docid string.
89
+ * Reads a document manifest.
152
90
  */
153
91
  export function db_read_document(ptr: number, len: number): number;
154
92
 
155
93
  /**
156
- * Reads a section by kbid. `ptr`/`len` point to a UTF-8 kbid string.
94
+ * Reads a section by kbid.
157
95
  */
158
96
  export function db_read_section(ptr: number, len: number): number;
159
97
 
160
98
  /**
161
- * Reads multiple sections. `ptr`/`len` point to encoded `Vec<KbId>` (count + kbids).
99
+ * Reads multiple sections.
162
100
  */
163
101
  export function db_read_sections(ptr: number, len: number): number;
164
102
 
165
103
  /**
166
104
  * Rebuilds indexes from scratch.
167
- *
168
- * Clears the existing inverted and positional indexes, then drives the
169
- * section-scan rebuild loop. Full per-field tokenization is handled by
170
- * `kb-worker.wasm` orchestration; this function provides the read-pass
171
- * scaffolding and the final index write.
172
105
  */
173
106
  export function db_rebuild_index(_ptr: number, _len: number): number;
174
107
 
175
108
  /**
176
- * Removes a document manifest. `ptr`/`len` point to a UTF-8 docid string.
109
+ * Removes a document manifest.
177
110
  */
178
111
  export function db_remove_document(ptr: number, len: number): number;
179
112
 
180
113
  /**
181
114
  * Removes a section's entries from the indexes.
182
- * `ptr`/`len` point to a UTF-8 kbid string.
183
115
  */
184
116
  export function db_remove_from_index(ptr: number, len: number): number;
185
117
 
186
118
  /**
187
- * Removes a section by kbid. `ptr`/`len` point to a UTF-8 kbid string.
119
+ * Removes a section by kbid.
188
120
  */
189
121
  export function db_remove_section(ptr: number, len: number): number;
190
122
 
191
123
  /**
192
- * Updates a section. `ptr`/`len` point to encoded (old_kbid_str, AddSectionParams).
124
+ * Updates a section.
193
125
  */
194
126
  export function db_update_section(ptr: number, len: number): number;
195
127
 
196
128
  /**
197
- * Writes/updates the catalog. `ptr`/`len` point to encoded catalog TOML text.
129
+ * Writes/updates the catalog.
198
130
  */
199
131
  export function db_write_catalog(ptr: number, len: number): number;
200
132
 
201
133
  /**
202
134
  * Writes corpus statistics to `<ctx>/corpus.bin`.
203
- * `ptr`/`len` point to 12 bytes of encoded `CorpusStats`.
204
135
  */
205
136
  export function db_write_corpus_stats(ptr: number, len: number): number;
206
137
 
207
138
  /**
208
- * Writes a document manifest. `ptr`/`len` point to an encoded `DocumentManifest`.
139
+ * Writes a document manifest.
209
140
  */
210
141
  export function db_write_document(ptr: number, len: number): number;
211
142