@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
@@ -49,6 +49,12 @@ interface RawSearchResponse {
49
49
  * May be absent from older daemon versions.
50
50
  */
51
51
  readonly relaxed?: boolean;
52
+ /** Server-side computation time in milliseconds. */
53
+ readonly elapsed_ms?: number;
54
+ /** Algorithm that produced these results. */
55
+ readonly search_mode?: string;
56
+ /** Retrieval strategy used (e.g. `'lexical'`, `'rrf'`). */
57
+ readonly retrieval_method?: string;
52
58
  }
53
59
  /**
54
60
  * Minimal client interface required by `runSearch`.
@@ -68,6 +74,7 @@ export interface SearchClient {
68
74
  limit?: number;
69
75
  offset?: number;
70
76
  algo?: string;
77
+ relaxed?: boolean;
71
78
  }): Promise<RawSearchResponse>;
72
79
  }
73
80
  /**
@@ -1,4 +1,5 @@
1
1
  import type { CliOptions } from '../typings/cli-options.interface.ts';
2
+ import type { PrefixResolver } from './resolve-kbid-prefix.function.ts';
2
3
  /** Removal result returned by `UnlearnClient.removeSection`. */
3
4
  interface RemoveSectionResult {
4
5
  /** `true` when the section was found and successfully removed. */
@@ -11,8 +12,10 @@ interface RemoveSectionResult {
11
12
  *
12
13
  * Decouples the CLI function from the concrete `WorkerClient`
13
14
  * implementation, making it straightforward to test with mocks.
15
+ * Extends `PrefixResolver` so short kbid prefixes can be resolved
16
+ * before each section is removed.
14
17
  */
15
- export interface UnlearnClient {
18
+ export interface UnlearnClient extends PrefixResolver {
16
19
  /**
17
20
  * Removes a section from the knowledge base.
18
21
  *
@@ -32,14 +35,16 @@ export interface UnlearnResult {
32
35
  * Removes the knowledge-base sections identified by `options.args`
33
36
  * via the provided client.
34
37
  *
35
- * Each kbid in `options.args` is processed independently. If a kbid
36
- * does not exist in the knowledge base, `removed` is set to `false`
37
- * rather than throwing.
38
+ * Short kbid prefixes in `options.args` are resolved to full
39
+ * identifiers before removal. Each kbid is processed independently.
40
+ * If a kbid does not exist in the knowledge base, `removed` is set
41
+ * to `false` rather than throwing.
38
42
  *
39
43
  * @param client - unlearn client to delegate removal to
40
44
  * @param options - parsed CLI options whose `args` list the kbids to
41
45
  * remove
42
46
  * @returns one `UnlearnResult` per kbid processed
47
+ * @throws when a prefix matches no section or is ambiguous
43
48
  */
44
49
  export declare function runUnlearn(client: UnlearnClient, options: CliOptions): Promise<UnlearnResult[]>;
45
50
  export {};
@@ -0,0 +1,11 @@
1
+ import type { CommandResult } from '../typings/command-result.model.ts';
2
+ /**
3
+ * Restarts the worker daemon by stopping any running instance.
4
+ *
5
+ * The daemon auto-spawns on the next CLI command, so restart
6
+ * only needs to stop the current instance.
7
+ *
8
+ * @param dbDir - absolute path to the `.kbdb` directory
9
+ * @returns command result indicating success or failure
10
+ */
11
+ export declare function runWorkerRestart(dbDir: string): Promise<CommandResult>;
@@ -0,0 +1,11 @@
1
+ import type { CommandResult } from '../typings/command-result.model.ts';
2
+ /**
3
+ * Stops the worker daemon for the resolved database path.
4
+ *
5
+ * Discovers the daemon via its PID file and sends `SIGTERM`.
6
+ * Returns success when the daemon was stopped or was not running.
7
+ *
8
+ * @param dbDir - absolute path to the `.kbdb` directory
9
+ * @returns command result indicating success or failure
10
+ */
11
+ export declare function runWorkerStop(dbDir: string): Promise<CommandResult>;
@@ -18,6 +18,8 @@ export { isStdinTty } from './functions/is-stdin-tty.function.ts';
18
18
  export { promptUser } from './functions/prompt-user.function.ts';
19
19
  export { dispatchCommand } from './functions/dispatch-command.function.ts';
20
20
  export { runCli } from './functions/run-cli.function.ts';
21
+ export { runWorkerStop } from './functions/run-worker-stop.function.ts';
22
+ export { runWorkerRestart } from './functions/run-worker-restart.function.ts';
21
23
  export { HELP_TEXT } from './constants/help-text.constant.ts';
22
24
  export type { CliOptions, OutputFormat, SearchMode, } from './typings/cli-options.interface.ts';
23
25
  export type { LearnResult } from './typings/learn-result.model.ts';
@@ -11,6 +11,8 @@ import type { DisconnectableClient } from './disconnectable-client.interface.ts'
11
11
  export interface CliDeps {
12
12
  /** Returns `true` when stdin is an interactive terminal. */
13
13
  isStdinTty: () => boolean;
14
+ /** Returns `true` when stdout is an interactive terminal. */
15
+ isStdoutTty: () => boolean;
14
16
  /**
15
17
  * Prompts the user with the given question and resolves with
16
18
  * their trimmed response.
@@ -25,6 +27,7 @@ export interface CliDeps {
25
27
  */
26
28
  createWorkerClient: (opts: {
27
29
  contextPath: string;
30
+ requestTimeoutMs?: number;
28
31
  }) => Promise<DisconnectableClient>;
29
32
  /**
30
33
  * Finds the `.kbdb` directory starting from the given base path.
@@ -44,5 +47,5 @@ export interface CliDeps {
44
47
  *
45
48
  * @param contextPath - absolute path to the `.kbdb` directory
46
49
  */
47
- startMcpServer?: (contextPath: string) => Promise<void>;
50
+ startMcpServer?: (contextPath: string, clientFactory?: () => Promise<DisconnectableClient>, maxRetries?: number) => Promise<void>;
48
51
  }
@@ -25,6 +25,8 @@ export interface CliOptions {
25
25
  dbPath?: string;
26
26
  /** Output format for results. Defaults to `'json'`. */
27
27
  format: OutputFormat;
28
+ /** When `true`, the user explicitly passed `--format`. */
29
+ formatExplicit?: boolean;
28
30
  /** Search mode passed to the worker daemon. Defaults to `'sections'`. */
29
31
  mode: SearchMode;
30
32
  /** Search algorithm: `'lexical'`, `'vector'`, or `'hybrid'`. */
@@ -65,6 +67,21 @@ export interface CliOptions {
65
67
  * instead of creating a sibling.
66
68
  */
67
69
  replace?: boolean;
70
+ /** When `true`, uses OR mode directly. */
71
+ relaxed?: boolean;
72
+ /** Source path for `import --from`. */
73
+ from?: string;
74
+ /** When `true`, previews changes without writing. */
75
+ dryRun?: boolean;
76
+ /**
77
+ * Export format: `'git'` (flat dir) or `'archive'`.
78
+ * Defaults to `'git'`.
79
+ */
80
+ exportFormat?: 'git' | 'archive';
81
+ /** Per-request timeout in milliseconds for daemon IPC calls. */
82
+ timeoutMs?: number;
83
+ /** Maximum retry count on request timeout (default 5). */
84
+ retry?: number;
68
85
  /** Positional arguments following the sub-command. */
69
86
  args: string[];
70
87
  }
@@ -17,6 +17,7 @@ import type { AgentGetClient } from './agent-get-client.interface.ts';
17
17
  import type { AgentDeleteClient } from '../functions/run-agent-delete.function.ts';
18
18
  import type { RecallClient } from '../functions/run-recall.function.ts';
19
19
  import type { ExportClient } from '../functions/run-export.function.ts';
20
+ import type { ImportClient } from '../functions/run-import.function.ts';
20
21
  /**
21
22
  * Intersection of all data-command client interfaces.
22
23
  *
@@ -24,4 +25,4 @@ import type { ExportClient } from '../functions/run-export.function.ts';
24
25
  * intersection combines them so `dispatchCommand` can route
25
26
  * to any command handler with full type safety.
26
27
  */
27
- export type DispatchClient = SearchClient & LearnClient & UnlearnClient & ContentClient & CheckClient & GcClient & RebuildClient & StatusClient & DbMigrateClient & SkillLearnClient & SkillListClient & SkillGetClient & SkillDeleteClient & AgentCreateClient & AgentListClient & AgentGetClient & AgentDeleteClient & RecallClient & ExportClient;
28
+ export type DispatchClient = SearchClient & LearnClient & UnlearnClient & ContentClient & CheckClient & GcClient & RebuildClient & StatusClient & DbMigrateClient & SkillLearnClient & SkillListClient & SkillGetClient & SkillDeleteClient & AgentCreateClient & AgentListClient & AgentGetClient & AgentDeleteClient & RecallClient & ExportClient & ImportClient;
@@ -50,4 +50,10 @@ export interface PagedSearchDisplay {
50
50
  * empty.
51
51
  */
52
52
  relaxed: boolean;
53
+ /** Server-side computation time in milliseconds. */
54
+ elapsed_ms?: number;
55
+ /** Algorithm that produced these results. */
56
+ search_mode?: string;
57
+ /** Retrieval strategy used (e.g. `'lexical'`, `'rrf'`). */
58
+ retrieval_method?: string;
53
59
  }
@@ -0,0 +1,33 @@
1
+ import type { EmbeddingProvider } from '../typings/embedding-provider.interface.ts';
2
+ /**
3
+ * HTTP API embedding provider compatible with the OpenAI
4
+ * embeddings API format.
5
+ *
6
+ * Sends texts to a remote endpoint and maps the response
7
+ * `data[].embedding` arrays to `Float32Array[]`.
8
+ */
9
+ export declare class ApiEmbeddingProvider implements EmbeddingProvider {
10
+ /** Remote endpoint URL for embedding requests. */
11
+ private readonly endpoint;
12
+ /** Number of dimensions in the returned vectors. */
13
+ private readonly dims;
14
+ /** Model name sent in the request body. */
15
+ private readonly model;
16
+ /**
17
+ * @param endpoint - URL to POST embedding requests to
18
+ * @param dimensions - number of vector dimensions expected
19
+ * @param model - optional model name; defaults to `'api'`
20
+ */
21
+ constructor(endpoint: string, dimensions: number, model?: string);
22
+ /**
23
+ * Posts texts to the endpoint and returns one `Float32Array`
24
+ * per input.
25
+ *
26
+ * @throws {Error} when the HTTP response status is not 2xx
27
+ */
28
+ embed(texts: string[]): Promise<Float32Array[]>;
29
+ /** Returns the configured number of embedding dimensions. */
30
+ dimensions(): number;
31
+ /** Returns the configured model name, defaulting to `'api'`. */
32
+ modelName(): string;
33
+ }
@@ -0,0 +1,33 @@
1
+ import type { EmbeddingProvider } from '../typings/embedding-provider.interface.ts';
2
+ /**
3
+ * ONNX Runtime embedding provider.
4
+ *
5
+ * Satisfies the `EmbeddingProvider` contract with the correct
6
+ * structure but defers actual inference to Phase 3+. Calling
7
+ * `embed()` throws until `onnxruntime-node` is available and
8
+ * wired in.
9
+ *
10
+ * @throws {Error} on `embed()` when ONNX Runtime is not available
11
+ */
12
+ export declare class OnnxEmbeddingProvider implements EmbeddingProvider {
13
+ /** Path to the ONNX model file. */
14
+ private readonly model;
15
+ /** Number of embedding dimensions the model produces. */
16
+ private readonly dims;
17
+ /**
18
+ * @param model - filesystem path to the ONNX model file
19
+ * @param dimensions - number of dimensions the model produces
20
+ */
21
+ constructor(model: string, dimensions: number);
22
+ /**
23
+ * Not yet implemented.
24
+ *
25
+ * @throws {Error} always -- ONNX Runtime is an optional peer
26
+ * dependency not yet wired
27
+ */
28
+ embed(_texts: string[]): Promise<Float32Array[]>;
29
+ /** Returns the configured number of embedding dimensions. */
30
+ dimensions(): number;
31
+ /** Returns the configured model file path. */
32
+ modelName(): string;
33
+ }
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Appends a single vector entry to `vectors.idx`.
3
+ *
4
+ * Creates the file with a full header when it does not exist.
5
+ * When the file already exists, appends the record and updates
6
+ * the count in the header. Skips silently when `vector` is empty.
7
+ *
8
+ * @param dirPath - directory containing `vectors.idx`
9
+ * @param modelName - embedding model name
10
+ * @param dimensions - number of dimensions per vector
11
+ * @param kbid - section identifier
12
+ * @param vector - embedding vector to store
13
+ */
14
+ export declare function appendVectorEntry(dirPath: string, modelName: string, dimensions: number, kbid: string, vector: Float32Array): void;
@@ -0,0 +1,12 @@
1
+ import type { EmbeddingConfig } from '../typings/embedding-config.interface.ts';
2
+ import type { EmbeddingProvider } from '../typings/embedding-provider.interface.ts';
3
+ /**
4
+ * Creates an embedding provider from the given configuration.
5
+ *
6
+ * - `'none'` or missing config → `NullEmbeddingProvider`
7
+ * - `'onnx'` → `OnnxEmbeddingProvider`
8
+ * - `'api'` → `ApiEmbeddingProvider`
9
+ *
10
+ * @param config - embedding configuration from `worker.toml`
11
+ */
12
+ export declare function createEmbeddingProvider(config: EmbeddingConfig | undefined): EmbeddingProvider;
@@ -0,0 +1,16 @@
1
+ import type { EmbeddingProvider } from '../typings/embedding-provider.interface.ts';
2
+ import type { StaleVectorsReport } from '../typings/stale-vectors-report.model.ts';
3
+ /**
4
+ * Checks whether `vectors.idx` in `targetDir` is stale relative to
5
+ * the given embedding provider.
6
+ *
7
+ * Returns `{ stale: false }` when the index does not exist yet, when
8
+ * embeddings are disabled (`provider.dimensions() === 0`), or when
9
+ * the model name and dimensions match the stored index header.
10
+ * Returns `{ stale: true, reason }` when the model name or vector
11
+ * dimensions differ from the stored header.
12
+ *
13
+ * @param targetDir - absolute path to the `.kbdb` directory
14
+ * @param provider - current embedding provider to compare against
15
+ */
16
+ export declare function detectStaleVectors(targetDir: string, provider: EmbeddingProvider): StaleVectorsReport;
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Validates and parses an OpenAI-compatible embedding API response.
3
+ *
4
+ * Narrows `unknown` to the expected response shape and converts
5
+ * each `embedding` array to a `Float32Array`.
6
+ *
7
+ * @param raw - the parsed JSON body from the embedding API
8
+ * @throws {Error} when the response does not match the expected
9
+ * `{ data: [{ embedding: number[] }] }` shape
10
+ */
11
+ export declare function parseApiEmbeddingResponse(raw: unknown): Float32Array[];
@@ -0,0 +1,15 @@
1
+ import type { EmbeddingProvider } from '../typings/embedding-provider.interface.ts';
2
+ /**
3
+ * Re-embeds all section files and writes a fresh `vectors.idx`.
4
+ *
5
+ * Scans `targetDir/sections/<shard>/<kbid>.section`, extracts each
6
+ * body (after `\n---\n` separator or full content), embeds all texts
7
+ * in a single batch, and writes the result via `buildVectorIndex`.
8
+ *
9
+ * Returns 0 immediately when `provider.dimensions() === 0`.
10
+ *
11
+ * @param targetDir - absolute path to the `.kbdb` directory
12
+ * @param provider - embedding provider to use for vectorisation
13
+ * @returns number of sections embedded
14
+ */
15
+ export declare function rebuildVectors(targetDir: string, provider: EmbeddingProvider): Promise<number>;
@@ -0,0 +1,13 @@
1
+ import type { SemanticContradiction } from '../typings/semantic-contradiction.model.ts';
2
+ /**
3
+ * Scans a `vectors.idx` file for pairs of sections whose cosine
4
+ * similarity is negative, indicating semantic opposition.
5
+ *
6
+ * Returns an empty array when the file does not exist, is empty,
7
+ * or contains fewer than two vectors. Each contradicting pair is
8
+ * reported once (in insertion order, i before j).
9
+ *
10
+ * @param filePath - absolute path to the `vectors.idx` file
11
+ * @returns detected semantic contradiction pairs, advisory only
12
+ */
13
+ export declare function scanSemanticContradictions(filePath: string): SemanticContradiction[];
@@ -1,11 +1,17 @@
1
1
  export { NullEmbeddingProvider } from './classes/null-embedding-provider.class.ts';
2
+ export { OnnxEmbeddingProvider } from './classes/onnx-embedding-provider.class.ts';
3
+ export { ApiEmbeddingProvider } from './classes/api-embedding-provider.class.ts';
4
+ export { createEmbeddingProvider } from './functions/create-embedding-provider.function.ts';
2
5
  export { cosineSimilarity } from './functions/cosine-similarity.function.ts';
3
6
  export { rrfFuse } from './functions/rrf-fuse.function.ts';
4
7
  export { buildVectorIndex } from './functions/build-vector-index.function.ts';
5
8
  export { searchVectors } from './functions/search-vectors.function.ts';
9
+ export { appendVectorEntry } from './functions/append-vector-entry.function.ts';
6
10
  export { readVectorIndexMeta } from './functions/read-vector-index-meta.function.ts';
7
11
  export { jaccardCoefficient } from './functions/jaccard-coefficient.function.ts';
8
12
  export { detectNearDuplicates } from './functions/detect-near-duplicates.function.ts';
13
+ export { detectStaleVectors } from './functions/detect-stale-vectors.function.ts';
14
+ export { rebuildVectors } from './functions/rebuild-vectors.function.ts';
9
15
  export { JACCARD_THRESHOLD, JACCARD_BAND_MIN, COSINE_THRESHOLD, } from './constants/near-duplicate-thresholds.constant.ts';
10
16
  export type { EmbeddingProvider } from './typings/embedding-provider.interface.ts';
11
17
  export type { EmbeddingConfig } from './typings/embedding-config.interface.ts';
@@ -14,3 +20,4 @@ export type { VectorIndexMeta } from './typings/vector-index-meta.model.ts';
14
20
  export type { VectorIndexEntry } from './typings/vector-index-entry.model.ts';
15
21
  export type { NearDuplicateCandidate } from './typings/near-duplicate-candidate.model.ts';
16
22
  export type { NearDuplicateResult } from './typings/near-duplicate-result.model.ts';
23
+ export type { StaleVectorsReport } from './typings/stale-vectors-report.model.ts';
@@ -0,0 +1,21 @@
1
+ /**
2
+ * A pair of knowledge-base sections whose embedding vectors point
3
+ * in opposite directions, indicating they may convey conflicting
4
+ * information.
5
+ *
6
+ * Reported as an advisory finding — does not indicate data
7
+ * corruption; the sections may represent legitimately competing
8
+ * viewpoints or superseded content.
9
+ */
10
+ export interface SemanticContradiction {
11
+ /** Knowledge-base identifier of the first section in the pair. */
12
+ readonly kbid_a: string;
13
+ /** Knowledge-base identifier of the second section in the pair. */
14
+ readonly kbid_b: string;
15
+ /**
16
+ * Cosine similarity score (negative, in range -1.0 to 0.0).
17
+ *
18
+ * More negative values indicate stronger semantic opposition.
19
+ */
20
+ readonly score: number;
21
+ }
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Result of a stale vector detection check.
3
+ *
4
+ * Reports whether the `vectors.idx` file is considered stale
5
+ * relative to the current embedding provider.
6
+ */
7
+ export type StaleVectorsReport = {
8
+ /** The index is current — no rebuild needed. */
9
+ readonly stale: false;
10
+ readonly reason?: undefined;
11
+ } | {
12
+ /** The index is stale and must be rebuilt. */
13
+ readonly stale: true;
14
+ /** Human-readable explanation of what changed. */
15
+ readonly reason: string;
16
+ };
@@ -1,6 +1,7 @@
1
1
  import type { McpWorkerClient } from '../typings/mcp-client.interface.ts';
2
2
  import type { McpResponse } from '../typings/mcp-types.interface.ts';
3
3
  import type { McpLogLevel } from '../typings/log-types.interface.ts';
4
+ import type { AutoCaptureConfig } from '../../auto-capture/typings/auto-capture-config.interface.ts';
4
5
  /**
5
6
  * MCP server that speaks JSON-RPC 2.0 over stdio. Listens for
6
7
  * newline-delimited requests on `process.stdin`, dispatches each
@@ -9,15 +10,29 @@ import type { McpLogLevel } from '../typings/log-types.interface.ts';
9
10
  * `process.stdout`.
10
11
  */
11
12
  export declare class McpServer {
12
- private readonly client;
13
+ private client;
13
14
  private readonly contextPath;
15
+ private readonly autoCaptureConfig;
16
+ private readonly clientFactory;
17
+ private readonly maxRetries;
18
+ private autoCaptureController;
14
19
  private initialized;
15
20
  private hostCapabilities;
16
21
  private logLevel;
17
22
  private readonly subscriptions;
18
23
  private nextRequestId;
19
24
  private readonly pendingRequests;
20
- constructor(client: McpWorkerClient, contextPath?: string);
25
+ /**
26
+ * @param client - worker client providing knowledge-base operations
27
+ * @param contextPath - absolute path to the `.kbdb` directory
28
+ * @param autoCaptureConfig - optional auto-capture configuration;
29
+ * when provided the server activates auto-capture on connection
30
+ * @param clientFactory - creates a fresh worker client (for retry)
31
+ * @param maxRetries - max retries on REQUEST_TIMEOUT
32
+ */
33
+ constructor(client: McpWorkerClient, contextPath?: string, autoCaptureConfig?: AutoCaptureConfig, clientFactory?: (() => Promise<McpWorkerClient>) | null, maxRetries?: number);
34
+ private reconnectClient;
35
+ private withRetry;
21
36
  listen(): Promise<void>;
22
37
  handleLineForTest(line: string): Promise<McpResponse | null>;
23
38
  /**
@@ -52,6 +67,11 @@ export declare class McpServer {
52
67
  private processLine;
53
68
  private handleRequest;
54
69
  private send;
70
+ /**
71
+ * Records a tool call in the auto-capture controller and fires
72
+ * a capture when the trigger condition is met.
73
+ */
74
+ private afterToolCall;
55
75
  /**
56
76
  * Runs an integrity check immediately after the MCP handshake
57
77
  * completes. Emits a `notifications/message` warning when the
@@ -1,11 +1,16 @@
1
1
  import { McpServer } from '../classes/mcp-server.class.ts';
2
2
  import type { McpWorkerClient } from '../typings/mcp-client.interface.ts';
3
+ import type { AutoCaptureConfig } from '../../auto-capture/typings/auto-capture-config.interface.ts';
3
4
  /**
4
5
  * Factory that constructs a new `McpServer` bound to the given
5
6
  * worker client. Call `server.listen()` on the returned instance
6
7
  * to start processing stdio input.
7
8
  *
8
9
  * @param client - worker client providing knowledge-base operations
10
+ * @param contextPath - absolute path to the `.kbdb` directory
11
+ * @param autoCaptureConfig - optional auto-capture configuration;
12
+ * when provided, the server activates auto-capture on client
13
+ * connection and stops it on disconnect
9
14
  * @returns a configured `McpServer` ready to listen
10
15
  */
11
- export declare function createMcpServer(client: McpWorkerClient): McpServer;
16
+ export declare function createMcpServer(client: McpWorkerClient, contextPath?: string, autoCaptureConfig?: AutoCaptureConfig, clientFactory?: (() => Promise<McpWorkerClient>) | null, maxRetries?: number): McpServer;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Returns `true` when the host advertised the `sampling` capability
3
+ * during MCP initialization.
4
+ *
5
+ * @param hostCapabilities - capabilities object from the MCP
6
+ * `initialize` request, or `null` when not yet set
7
+ */
8
+ export declare function hasSamplingCapability(hostCapabilities: Record<string, unknown> | null): boolean;
@@ -0,0 +1,26 @@
1
+ import type { AutoCaptureController } from '../../auto-capture/classes/auto-capture-controller.class.ts';
2
+ import type { AutoCaptureConfig } from '../../auto-capture/typings/auto-capture-config.interface.ts';
3
+ import type { McpWorkerClient } from '../typings/mcp-client.interface.ts';
4
+ /** Sampling request callback matching McpServer.sendRequest. */
5
+ type RequestSampling = (messages: {
6
+ role: string;
7
+ content: {
8
+ type: string;
9
+ text: string;
10
+ };
11
+ }[], maxTokens: number) => Promise<unknown>;
12
+ /**
13
+ * Evaluates the auto-capture trigger and, when it fires, sends an
14
+ * MCP sampling request to the host and stores any returned knowledge.
15
+ *
16
+ * Silently ignores all errors so a capture failure never disrupts
17
+ * the MCP server's normal operation.
18
+ *
19
+ * @param controller - tracks session state and evaluates the trigger
20
+ * @param config - auto-capture configuration (provides dryRun flag)
21
+ * @param client - worker client used to persist captured knowledge
22
+ * @param hostCapabilities - capabilities from the MCP host
23
+ * @param requestSampling - sends a sampling request to the host
24
+ */
25
+ export declare function runAutoCapture(controller: AutoCaptureController, config: AutoCaptureConfig, client: McpWorkerClient, hostCapabilities: Record<string, unknown> | null, requestSampling: RequestSampling): Promise<void>;
26
+ export {};
@@ -94,6 +94,8 @@ export interface McpWorkerClient {
94
94
  readonly offset?: number;
95
95
  /** Search algorithm: 'lexical', 'vector', or 'hybrid'. */
96
96
  readonly algo?: string;
97
+ /** Use relaxed (OR) matching for the query. */
98
+ readonly relaxed?: boolean;
97
99
  }): Promise<{
98
100
  readonly items: readonly {
99
101
  readonly kbid: string;
@@ -1,4 +1,22 @@
1
1
  import type { McpIntegrityError } from './mcp-integrity-error.model.ts';
2
+ /**
3
+ * Advisory finding: two sections whose embedding vectors point in
4
+ * opposite directions, indicating potential semantic conflict.
5
+ *
6
+ * Reported as advisory only — does not flip `ok` to `false`.
7
+ */
8
+ export interface McpSemanticContradiction {
9
+ /** Knowledge-base identifier of the first section in the pair. */
10
+ readonly kbid_a: string;
11
+ /** Knowledge-base identifier of the second section in the pair. */
12
+ readonly kbid_b: string;
13
+ /**
14
+ * Cosine similarity score (negative, in range -1.0 to 0.0).
15
+ *
16
+ * More negative values indicate stronger semantic opposition.
17
+ */
18
+ readonly score: number;
19
+ }
2
20
  /** Integrity check report returned by the daemon. */
3
21
  export interface McpIntegrityCheckResult {
4
22
  /** `true` when all checks passed and no errors were found. */
@@ -13,4 +31,10 @@ export interface McpIntegrityCheckResult {
13
31
  readonly references_checked: number;
14
32
  /** Time taken to complete the check, in milliseconds. */
15
33
  readonly elapsed_ms: number;
34
+ /**
35
+ * Advisory list of section pairs with semantically contradictory
36
+ * embeddings. Empty when no embedding provider is configured or
37
+ * when no `vectors.idx` file is present. Never affects `ok`.
38
+ */
39
+ readonly semantic_contradictions: McpSemanticContradiction[];
16
40
  }
@@ -27,13 +27,15 @@ export interface McpWorkerClient {
27
27
  readonly mode?: string;
28
28
  /**
29
29
  * Search algorithm: `'lexical'`, `'vector'`, or `'hybrid'`.
30
- * Defaults to `'lexical'` when omitted.
30
+ * Defaults to `'hybrid'` when omitted.
31
31
  */
32
32
  readonly algo?: string;
33
33
  /** Maximum number of results to return. */
34
34
  readonly limit?: number;
35
35
  /** Number of results to skip for pagination. */
36
36
  readonly offset?: number;
37
+ /** Use relaxed (OR) matching for the query. */
38
+ readonly relaxed?: boolean;
37
39
  }): Promise<{
38
40
  readonly items: readonly {
39
41
  readonly kbid: string;
@@ -1,2 +1,2 @@
1
1
  /** Current package version, kept in sync with package.json. */
2
- export declare const VERSION = "0.2.2";
2
+ export declare const VERSION = "0.4.0";
@@ -18,4 +18,6 @@ export interface PagedSearchResult {
18
18
  * after strict (AND-mode) returned no results.
19
19
  */
20
20
  relaxed: boolean;
21
+ /** Server-side computation time in milliseconds. */
22
+ elapsed_ms?: number;
21
23
  }