@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
@@ -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
  }