@dikolab/kbdb 0.2.2 → 0.3.1

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 (520) hide show
  1. package/README.md +47 -31
  2. package/dist/bench/constants/corpus-defaults.constant.d.ts +3 -0
  3. package/dist/bench/functions/format-report.function.d.ts +11 -0
  4. package/dist/bench/functions/generate-corpus.function.d.ts +12 -0
  5. package/dist/bench/functions/measure-operation.function.d.ts +14 -0
  6. package/dist/bench/functions/seeded-rng.function.d.ts +11 -0
  7. package/dist/bench/functions/zipf-word.function.d.ts +13 -0
  8. package/dist/bench/index.d.ts +10 -0
  9. package/dist/bench/typings/bench-result.interface.d.ts +11 -0
  10. package/dist/bench/typings/bench-suite-result.interface.d.ts +10 -0
  11. package/dist/bench/typings/corpus-config.interface.d.ts +11 -0
  12. package/dist/bench/typings/corpus-section.interface.d.ts +9 -0
  13. package/dist/cli.cjs +523 -80
  14. package/dist/cli.cjs.map +4 -4
  15. package/dist/cli.mjs +515 -72
  16. package/dist/cli.mjs.map +4 -4
  17. package/dist/kbdb-worker.cjs +395 -60
  18. package/dist/kbdb-worker.cjs.map +4 -4
  19. package/dist/mod.cjs +17 -0
  20. package/dist/mod.cjs.map +2 -2
  21. package/dist/mod.mjs +17 -0
  22. package/dist/mod.mjs.map +2 -2
  23. package/dist/src/shared/auto-capture/classes/auto-capture-controller.class.d.ts +33 -0
  24. package/dist/src/shared/auto-capture/constants/auto-capture-defaults.constant.d.ts +8 -0
  25. package/dist/src/shared/auto-capture/functions/build-capture-prompt.function.d.ts +11 -0
  26. package/dist/src/shared/auto-capture/functions/evaluate-trigger.function.d.ts +12 -0
  27. package/dist/src/shared/auto-capture/index.d.ts +7 -0
  28. package/dist/src/shared/auto-capture/typings/auto-capture-config.interface.d.ts +13 -0
  29. package/dist/src/shared/auto-capture/typings/auto-capture-state.interface.d.ts +13 -0
  30. package/dist/src/shared/auto-capture/typings/auto-capture-trigger.interface.d.ts +7 -0
  31. package/dist/src/shared/cli/constants/global-help.constant.d.ts +8 -0
  32. package/dist/src/shared/cli/constants/leaf-help.constant.d.ts +7 -0
  33. package/dist/src/shared/cli/constants/memory-protocol-body.constant.d.ts +7 -0
  34. package/dist/src/shared/cli/constants/query-guidance-body.constant.d.ts +7 -0
  35. package/dist/src/shared/cli/constants/subcommand-help.constant.d.ts +8 -0
  36. package/dist/src/shared/cli/functions/collect-files.function.d.ts +13 -0
  37. package/dist/src/shared/cli/functions/compute-section-kbid.function.d.ts +15 -0
  38. package/dist/src/shared/cli/functions/dispatch-command.function.d.ts +3 -1
  39. package/dist/src/shared/cli/functions/format-mcp-output.function.d.ts +9 -0
  40. package/dist/src/shared/cli/functions/format-text-output.function.d.ts +9 -0
  41. package/dist/src/shared/cli/functions/generate-group-help.function.d.ts +11 -0
  42. package/dist/src/shared/cli/functions/handle-data-command.function.d.ts +16 -0
  43. package/dist/src/shared/cli/functions/handle-mcp.function.d.ts +15 -0
  44. package/dist/src/shared/cli/functions/handle-migrate.function.d.ts +15 -0
  45. package/dist/src/shared/cli/functions/hydrate-search-previews.function.d.ts +14 -0
  46. package/dist/src/shared/cli/functions/install-default-skills.function.d.ts +12 -0
  47. package/dist/src/shared/cli/functions/resolve-skill-names.function.d.ts +16 -0
  48. package/dist/src/shared/cli/functions/run-check.function.d.ts +47 -5
  49. package/dist/src/shared/cli/functions/run-export.function.d.ts +34 -0
  50. package/dist/src/shared/cli/functions/run-gc.function.d.ts +6 -0
  51. package/dist/src/shared/cli/functions/run-learn.function.d.ts +35 -6
  52. package/dist/src/shared/cli/functions/run-recall.function.d.ts +45 -0
  53. package/dist/src/shared/cli/functions/run-search.function.d.ts +53 -15
  54. package/dist/src/shared/cli/functions/version-gate.function.d.ts +15 -0
  55. package/dist/src/shared/cli/functions/wrap-command.function.d.ts +15 -0
  56. package/dist/src/shared/cli/index.d.ts +4 -0
  57. package/dist/src/shared/cli/typings/agent-create-client.interface.d.ts +42 -0
  58. package/dist/src/shared/cli/typings/agent-get-client.interface.d.ts +36 -0
  59. package/dist/src/shared/cli/typings/check-client.interface.d.ts +58 -0
  60. package/dist/src/shared/cli/typings/cli-deps.interface.d.ts +48 -0
  61. package/dist/src/shared/cli/typings/cli-options.interface.d.ts +15 -0
  62. package/dist/src/shared/cli/typings/disconnectable-client.interface.d.ts +26 -0
  63. package/dist/src/shared/cli/typings/dispatch-client.type.d.ts +27 -0
  64. package/dist/src/shared/cli/typings/learn-client.interface.d.ts +52 -0
  65. package/dist/src/shared/cli/typings/learn-io.interface.d.ts +5 -0
  66. package/dist/src/shared/cli/typings/learn-result.model.d.ts +19 -0
  67. package/dist/src/shared/cli/typings/search-client.interface.d.ts +71 -0
  68. package/dist/src/shared/cli/typings/search-display.model.d.ts +18 -0
  69. package/dist/src/shared/embedding/classes/null-embedding-provider.class.d.ts +20 -0
  70. package/dist/src/shared/embedding/constants/near-duplicate-thresholds.constant.d.ts +15 -0
  71. package/dist/src/shared/embedding/functions/build-vector-index.function.d.ts +14 -0
  72. package/dist/src/shared/embedding/functions/cosine-similarity.function.d.ts +10 -0
  73. package/dist/src/shared/embedding/functions/detect-near-duplicates.function.d.ts +18 -0
  74. package/dist/src/shared/embedding/functions/jaccard-coefficient.function.d.ts +9 -0
  75. package/dist/src/shared/embedding/functions/read-vector-index-meta.function.d.ts +10 -0
  76. package/dist/src/shared/embedding/functions/rrf-fuse.function.d.ts +14 -0
  77. package/dist/src/shared/embedding/functions/search-vectors.function.d.ts +14 -0
  78. package/dist/src/shared/embedding/index.d.ts +16 -0
  79. package/dist/src/shared/embedding/typings/embedding-config.interface.d.ts +20 -0
  80. package/dist/src/shared/embedding/typings/embedding-provider.interface.d.ts +23 -0
  81. package/dist/src/shared/embedding/typings/near-duplicate-candidate.model.d.ts +23 -0
  82. package/dist/src/shared/embedding/typings/near-duplicate-result.model.d.ts +24 -0
  83. package/dist/src/shared/embedding/typings/vector-index-entry.model.d.ts +12 -0
  84. package/dist/src/shared/embedding/typings/vector-index-meta.model.d.ts +11 -0
  85. package/dist/src/shared/embedding/typings/vector-search-result.model.d.ts +7 -0
  86. package/dist/src/shared/mcp/classes/mcp-server.class.d.ts +8 -0
  87. package/dist/src/shared/mcp/constants/tool-agent-create.constant.d.ts +3 -0
  88. package/dist/src/shared/mcp/constants/tool-agent-delete.constant.d.ts +3 -0
  89. package/dist/src/shared/mcp/constants/tool-agent-get.constant.d.ts +3 -0
  90. package/dist/src/shared/mcp/constants/tool-agent-list.constant.d.ts +3 -0
  91. package/dist/src/shared/mcp/constants/tool-auto-capture-review.constant.d.ts +8 -0
  92. package/dist/src/shared/mcp/constants/tool-check.constant.d.ts +3 -0
  93. package/dist/src/shared/mcp/constants/tool-content.constant.d.ts +3 -0
  94. package/dist/src/shared/mcp/constants/tool-export.constant.d.ts +3 -0
  95. package/dist/src/shared/mcp/constants/tool-gc.constant.d.ts +3 -0
  96. package/dist/src/shared/mcp/constants/tool-learn.constant.d.ts +3 -0
  97. package/dist/src/shared/mcp/constants/tool-rebuild.constant.d.ts +3 -0
  98. package/dist/src/shared/mcp/constants/tool-recall.constant.d.ts +3 -0
  99. package/dist/src/shared/mcp/constants/tool-retrieve.constant.d.ts +3 -0
  100. package/dist/src/shared/mcp/constants/tool-search.constant.d.ts +3 -0
  101. package/dist/src/shared/mcp/constants/tool-skill-delete.constant.d.ts +3 -0
  102. package/dist/src/shared/mcp/constants/tool-skill-get.constant.d.ts +3 -0
  103. package/dist/src/shared/mcp/constants/tool-skill-learn.constant.d.ts +3 -0
  104. package/dist/src/shared/mcp/constants/tool-skill-list.constant.d.ts +3 -0
  105. package/dist/src/shared/mcp/constants/tool-status.constant.d.ts +3 -0
  106. package/dist/src/shared/mcp/constants/tool-unlearn.constant.d.ts +3 -0
  107. package/dist/src/shared/mcp/functions/as-boolean-or-undefined.function.d.ts +7 -0
  108. package/dist/src/shared/mcp/functions/as-string-array-or-undefined.function.d.ts +7 -0
  109. package/dist/src/shared/mcp/functions/as-string-array.function.d.ts +7 -0
  110. package/dist/src/shared/mcp/functions/as-string.function.d.ts +8 -0
  111. package/dist/src/shared/mcp/functions/build-skills-text.function.d.ts +18 -0
  112. package/dist/src/shared/mcp/functions/handle-agent-prompt.function.d.ts +14 -0
  113. package/dist/src/shared/mcp/functions/handle-mcp-request.function.d.ts +14 -0
  114. package/dist/src/shared/mcp/functions/handle-prompt-get.function.d.ts +4 -3
  115. package/dist/src/shared/mcp/functions/handle-skill-prompt.function.d.ts +16 -0
  116. package/dist/src/shared/mcp/functions/handle-tool-auto-capture-review.function.d.ts +12 -0
  117. package/dist/src/shared/mcp/functions/handle-tool-check.function.d.ts +11 -0
  118. package/dist/src/shared/mcp/functions/handle-tool-content.function.d.ts +12 -0
  119. package/dist/src/shared/mcp/functions/handle-tool-export.function.d.ts +12 -0
  120. package/dist/src/shared/mcp/functions/handle-tool-gc.function.d.ts +11 -0
  121. package/dist/src/shared/mcp/functions/handle-tool-learn.function.d.ts +12 -0
  122. package/dist/src/shared/mcp/functions/handle-tool-rebuild.function.d.ts +11 -0
  123. package/dist/src/shared/mcp/functions/handle-tool-retrieve.function.d.ts +12 -0
  124. package/dist/src/shared/mcp/functions/handle-tool-search.function.d.ts +13 -0
  125. package/dist/src/shared/mcp/functions/handle-tool-skill-delete.function.d.ts +12 -0
  126. package/dist/src/shared/mcp/functions/handle-tool-skill-get.function.d.ts +13 -0
  127. package/dist/src/shared/mcp/functions/handle-tool-skill-learn.function.d.ts +13 -0
  128. package/dist/src/shared/mcp/functions/handle-tool-skill-list.function.d.ts +11 -0
  129. package/dist/src/shared/mcp/functions/handle-tool-status.function.d.ts +11 -0
  130. package/dist/src/shared/mcp/functions/handle-tool-unlearn.function.d.ts +12 -0
  131. package/dist/src/shared/mcp/functions/parse-agent-meta.function.d.ts +14 -0
  132. package/dist/src/shared/mcp/functions/parse-skill-arguments.function.d.ts +11 -0
  133. package/dist/src/shared/mcp/functions/read-agent-meta.function.d.ts +17 -0
  134. package/dist/src/shared/mcp/functions/resolve-skill-refs.function.d.ts +23 -0
  135. package/dist/src/shared/mcp/functions/run-startup-health-check.function.d.ts +14 -0
  136. package/dist/src/shared/mcp/typings/mcp-capabilities.interface.d.ts +16 -0
  137. package/dist/src/shared/mcp/typings/mcp-client.interface.d.ts +45 -0
  138. package/dist/src/shared/mcp/typings/mcp-completion.interface.d.ts +43 -0
  139. package/dist/src/shared/mcp/typings/mcp-content-result.model.d.ts +9 -0
  140. package/dist/src/shared/mcp/typings/mcp-export-result.model.d.ts +11 -0
  141. package/dist/src/shared/mcp/typings/mcp-gc-result.model.d.ts +15 -0
  142. package/dist/src/shared/mcp/typings/mcp-integrity-check-result.model.d.ts +16 -0
  143. package/dist/src/shared/mcp/typings/mcp-integrity-error.model.d.ts +9 -0
  144. package/dist/src/shared/mcp/typings/mcp-notification.interface.d.ts +9 -0
  145. package/dist/src/shared/mcp/typings/mcp-rebuild-result.model.d.ts +9 -0
  146. package/dist/src/shared/mcp/typings/mcp-request.interface.d.ts +11 -0
  147. package/dist/src/shared/mcp/typings/mcp-resource-result.interface.d.ts +12 -0
  148. package/dist/src/shared/mcp/typings/mcp-resource-template.interface.d.ts +11 -0
  149. package/dist/src/shared/mcp/typings/mcp-response.interface.d.ts +18 -0
  150. package/dist/src/shared/mcp/typings/mcp-server-info.interface.d.ts +7 -0
  151. package/dist/src/shared/mcp/typings/mcp-server-state.interface.d.ts +16 -0
  152. package/dist/src/shared/mcp/typings/mcp-tool-annotations.interface.d.ts +32 -0
  153. package/dist/src/shared/mcp/typings/mcp-tool-definition.interface.d.ts +15 -0
  154. package/dist/src/shared/mcp/typings/mcp-tool-result.interface.d.ts +19 -0
  155. package/dist/src/shared/mcp/typings/mcp-worker-client.interface.d.ts +220 -0
  156. package/dist/src/shared/mcp/typings/tool-call-result.model.d.ts +17 -0
  157. package/dist/src/shared/sync/functions/build-import-report.function.d.ts +18 -0
  158. package/dist/src/shared/sync/functions/parse-export-entry.function.d.ts +11 -0
  159. package/dist/src/shared/sync/functions/resolve-conflict.function.d.ts +13 -0
  160. package/dist/src/shared/sync/functions/serialize-export-entry.function.d.ts +8 -0
  161. package/dist/src/shared/sync/index.d.ts +9 -0
  162. package/dist/src/shared/sync/typings/conflict-resolution.type.d.ts +8 -0
  163. package/dist/src/shared/sync/typings/export-entry.interface.d.ts +13 -0
  164. package/dist/src/shared/sync/typings/export-options.interface.d.ts +9 -0
  165. package/dist/src/shared/sync/typings/import-options.interface.d.ts +7 -0
  166. package/dist/src/shared/sync/typings/import-report.interface.d.ts +15 -0
  167. package/dist/src/shared/wasm-codec/functions/decode-add-section-result.function.d.ts +48 -0
  168. package/dist/src/shared/wasm-codec/functions/decode-one-recall-result.function.d.ts +14 -0
  169. package/dist/src/shared/wasm-codec/functions/decode-option-string.function.d.ts +12 -0
  170. package/dist/src/shared/wasm-codec/functions/decode-recall-document.function.d.ts +14 -0
  171. package/dist/src/shared/wasm-codec/functions/decode-recall-reference.function.d.ts +14 -0
  172. package/dist/src/shared/wasm-codec/functions/decode-recall-sibling.function.d.ts +13 -0
  173. package/dist/src/shared/wasm-codec/functions/decode-scored-results.function.d.ts +58 -0
  174. package/dist/src/shared/wasm-codec/functions/decode-section-match.function.d.ts +15 -0
  175. package/dist/src/shared/wasm-codec/functions/decode-section-record-trailing.function.d.ts +14 -0
  176. package/dist/src/shared/wasm-codec/functions/decode-section-record.function.d.ts +14 -0
  177. package/dist/src/shared/wasm-codec/functions/decode-section-records.function.d.ts +33 -0
  178. package/dist/src/shared/wasm-codec/functions/decode-section-type.function.d.ts +13 -0
  179. package/dist/src/shared/wasm-codec/functions/decode-wasm-list.function.d.ts +17 -0
  180. package/dist/src/shared/wasm-codec/functions/encode-add-section-params.function.d.ts +52 -0
  181. package/dist/src/shared/wasm-codec/index.d.ts +2 -0
  182. package/dist/src/shared/wasm-codec/typings/add-section-input.model.d.ts +45 -0
  183. package/dist/src/shared/wasm-codec/typings/add-section-result.model.d.ts +27 -0
  184. package/dist/src/shared/wasm-codec/typings/document-manifest.model.d.ts +19 -0
  185. package/dist/src/shared/wasm-codec/typings/document-section.model.d.ts +12 -0
  186. package/dist/src/shared/wasm-codec/typings/item-decoder.type.d.ts +6 -0
  187. package/dist/src/shared/wasm-codec/typings/near-duplicate.model.d.ts +16 -0
  188. package/dist/src/shared/wasm-codec/typings/paged-search-result.model.d.ts +21 -0
  189. package/dist/src/shared/wasm-codec/typings/section-match.model.d.ts +31 -0
  190. package/dist/src/shared/wasm-codec/typings/section-record-trailing.model.d.ts +38 -0
  191. package/dist/src/shared/wasm-codec/typings/section-record.model.d.ts +66 -0
  192. package/dist/src/shared/wasm-codec/typings/section-type-result.model.d.ts +12 -0
  193. package/dist/src/shared/worker-client/classes/worker-client.class.d.ts +16 -0
  194. package/dist/src/shared/worker-client/functions/handle-ipc-data.function.d.ts +16 -0
  195. package/dist/src/shared/worker-client/functions/send-ipc-request.function.d.ts +19 -0
  196. package/dist/src/shared/worker-client/index.d.ts +1 -1
  197. package/dist/src/shared/worker-client/typings/add-section-result.model.d.ts +31 -15
  198. package/dist/src/shared/worker-client/typings/export-result.model.d.ts +14 -0
  199. package/dist/src/shared/worker-client/typings/gc-result.model.d.ts +6 -0
  200. package/dist/src/shared/worker-client/typings/json-rpc-response.interface.d.ts +16 -0
  201. package/dist/src/shared/worker-client/typings/pending-call.interface.d.ts +7 -0
  202. package/dist/src/shared/worker-client/typings/recall-document.model.d.ts +16 -0
  203. package/dist/src/shared/worker-client/typings/recall-params.model.d.ts +15 -0
  204. package/dist/src/shared/worker-client/typings/recall-reference.model.d.ts +32 -0
  205. package/dist/src/shared/worker-client/typings/recall-sibling.model.d.ts +11 -0
  206. package/dist/src/shared/worker-client/typings/recall-single-result.model.d.ts +40 -0
  207. package/dist/src/shared/worker-client/typings/search-result.model.d.ts +12 -0
  208. package/dist/src/shared/worker-client/typings/section.model.d.ts +16 -0
  209. package/dist/src/shared/worker-daemon/classes/ipc-error.class.d.ts +17 -0
  210. package/dist/src/shared/worker-daemon/classes/worker-daemon.class.d.ts +35 -0
  211. package/dist/src/shared/worker-daemon/constants/wasm-method-map.constant.d.ts +16 -0
  212. package/dist/src/shared/worker-daemon/functions/build-ipc-error-response.function.d.ts +9 -0
  213. package/dist/src/shared/worker-daemon/functions/check-catalog-version.function.d.ts +9 -0
  214. package/dist/src/shared/worker-daemon/functions/check-preconditions.function.d.ts +10 -0
  215. package/dist/src/shared/worker-daemon/functions/detect-stale-pid.function.d.ts +15 -0
  216. package/dist/src/shared/worker-daemon/functions/dispatch-request.function.d.ts +35 -0
  217. package/dist/src/shared/worker-daemon/functions/handle-check-version.function.d.ts +23 -0
  218. package/dist/src/shared/worker-daemon/functions/handle-config-method.function.d.ts +11 -0
  219. package/dist/src/shared/worker-daemon/functions/handle-read-ops.function.d.ts +52 -0
  220. package/dist/src/shared/worker-daemon/functions/handle-write-ops.function.d.ts +44 -0
  221. package/dist/src/shared/worker-daemon/functions/parse-auto-capture-section.function.d.ts +14 -0
  222. package/dist/src/shared/worker-daemon/functions/parse-catalog-version.function.d.ts +10 -0
  223. package/dist/src/shared/worker-daemon/functions/parse-embedding-section.function.d.ts +13 -0
  224. package/dist/src/shared/worker-daemon/functions/parse-worker-toml.function.d.ts +11 -0
  225. package/dist/src/shared/worker-daemon/functions/run-startup-integrity-check.function.d.ts +18 -0
  226. package/dist/src/shared/worker-daemon/functions/scan-near-duplicates.function.d.ts +21 -0
  227. package/dist/src/shared/worker-daemon/functions/wasm-bridge.function.d.ts +51 -0
  228. package/dist/src/shared/worker-daemon/functions/wasm-memory-helpers.function.d.ts +22 -0
  229. package/dist/src/shared/worker-daemon/functions/write-lock.function.d.ts +32 -0
  230. package/dist/src/shared/worker-daemon/typings/allocator-ref.interface.d.ts +16 -0
  231. package/dist/src/shared/worker-daemon/typings/daemon-config.interface.d.ts +6 -0
  232. package/dist/src/shared/worker-daemon/typings/fs-adapter.interface.d.ts +22 -0
  233. package/dist/src/shared/worker-daemon/typings/handler-context.interface.d.ts +18 -0
  234. package/dist/src/shared/worker-daemon/typings/memory-ref.interface.d.ts +13 -0
  235. package/dist/src/shared/worker-daemon/typings/wasm-fn.type.d.ts +2 -0
  236. package/dist/src/shared/worker-daemon/typings/write-lock.interface.d.ts +15 -0
  237. package/dist/wasm/fs-database/kbdb_fs_database.d.ts +22 -1
  238. package/dist/wasm/fs-database/kbdb_fs_database.js +28 -1
  239. package/dist/wasm/fs-database/kbdb_fs_database_bg.wasm +0 -0
  240. package/dist/wasm/fs-database/kbdb_fs_database_bg.wasm.d.ts +1 -0
  241. package/dist/wasm/kb-worker/kbdb_worker.d.ts +48 -1
  242. package/dist/wasm/kb-worker/kbdb_worker.js +60 -1
  243. package/dist/wasm/kb-worker/kbdb_worker_bg.wasm +0 -0
  244. package/dist/wasm/kb-worker/kbdb_worker_bg.wasm.d.ts +2 -0
  245. package/dist/wasm/query-parser/kbdb_query_parser_bg.wasm +0 -0
  246. package/dist/worker.mjs +396 -60
  247. package/dist/worker.mjs.map +4 -4
  248. package/docs/details/cli.md +102 -15
  249. package/docs/details/library-api.md +55 -6
  250. package/docs/details/mcp-server.md +10 -4
  251. package/docs/details/search-and-ranking.md +63 -5
  252. package/docs/details/storage.md +2 -0
  253. package/docs/goals/auto-capture.md +378 -0
  254. package/docs/goals/benchmarking.md +296 -0
  255. package/docs/goals/cli.md +255 -14
  256. package/docs/goals/concurrency.md +259 -0
  257. package/docs/goals/database.md +244 -17
  258. package/docs/goals/document.md +1 -1
  259. package/docs/goals/hybrid-search.md +436 -0
  260. package/docs/goals/mcp.md +83 -14
  261. package/docs/goals/query-parser.md +98 -4
  262. package/docs/goals/query-result.md +177 -10
  263. package/docs/goals/semantic-dedup.md +229 -0
  264. package/docs/goals/skills.md +72 -0
  265. package/docs/goals/sync.md +217 -0
  266. package/docs/goals/worker-daemon.md +54 -7
  267. package/docs/modules/rust/fs-database/functions/integrity.md +11 -0
  268. package/docs/modules/rust/fs-database/functions/section.md +23 -6
  269. package/docs/modules/rust/fs-database/indexes/vectors.md +110 -0
  270. package/docs/modules/rust/fs-database/module.md +1 -0
  271. package/docs/modules/rust/fs-database/types/section.md +27 -1
  272. package/docs/modules/rust/overview.md +2 -1
  273. package/docs/modules/rust/query-parser/functions/module.md +2 -2
  274. package/docs/modules/rust/query-parser/functions/pipeline.md +44 -6
  275. package/docs/modules/rust/query-parser/module.md +5 -4
  276. package/docs/modules/rust/query-parser/types/keyphrase.md +11 -0
  277. package/docs/modules/rust/query-parser/types/module.md +3 -3
  278. package/docs/modules/typescript/shared/auto-capture/module.md +73 -0
  279. package/docs/modules/typescript/shared/cli/functions.md +68 -3
  280. package/docs/modules/typescript/shared/embedding/functions.md +94 -0
  281. package/docs/modules/typescript/shared/embedding/module.md +71 -0
  282. package/docs/modules/typescript/shared/embedding/typings.md +122 -0
  283. package/docs/overview.md +148 -166
  284. package/docs/release-notes/0.2.0.md +3 -3
  285. package/docs/release-notes/0.3.0.md +89 -0
  286. package/docs/release-notes/0.3.1.md +111 -0
  287. package/docs/release-notes/README.md +2 -0
  288. package/package.json +1 -1
  289. package/src/shared/auto-capture/classes/auto-capture-controller.class.ts +62 -0
  290. package/src/shared/auto-capture/constants/auto-capture-defaults.constant.ts +15 -0
  291. package/src/shared/auto-capture/functions/build-capture-prompt.function.ts +27 -0
  292. package/src/shared/auto-capture/functions/evaluate-trigger.function.ts +50 -0
  293. package/src/shared/auto-capture/index.ts +7 -0
  294. package/src/shared/auto-capture/typings/auto-capture-config.interface.ts +13 -0
  295. package/src/shared/auto-capture/typings/auto-capture-state.interface.ts +13 -0
  296. package/src/shared/auto-capture/typings/auto-capture-trigger.interface.ts +7 -0
  297. package/src/shared/cli/constants/global-help.constant.ts +73 -0
  298. package/src/shared/cli/constants/leaf-help.constant.ts +219 -0
  299. package/src/shared/cli/constants/memory-protocol-body.constant.ts +39 -0
  300. package/src/shared/cli/constants/query-guidance-body.constant.ts +37 -0
  301. package/src/shared/cli/constants/subcommand-help.constant.ts +195 -0
  302. package/src/shared/cli/functions/collect-files.function.ts +55 -0
  303. package/src/shared/cli/functions/compute-section-kbid.function.ts +49 -0
  304. package/src/shared/cli/functions/dispatch-command.function.ts +53 -1
  305. package/src/shared/cli/functions/format-mcp-output.function.ts +41 -0
  306. package/src/shared/cli/functions/format-output.function.ts +36 -12
  307. package/src/shared/cli/functions/format-text-output.function.ts +42 -0
  308. package/src/shared/cli/functions/generate-group-help.function.ts +41 -0
  309. package/src/shared/cli/functions/generate-help.function.ts +56 -1
  310. package/src/shared/cli/functions/handle-data-command.function.ts +67 -0
  311. package/src/shared/cli/functions/handle-mcp.function.ts +56 -0
  312. package/src/shared/cli/functions/handle-migrate.function.ts +64 -0
  313. package/src/shared/cli/functions/hydrate-search-previews.function.ts +29 -0
  314. package/src/shared/cli/functions/install-default-skills.function.ts +296 -0
  315. package/src/shared/cli/functions/parse-args.function.ts +16 -0
  316. package/src/shared/cli/functions/resolve-skill-names.function.ts +43 -0
  317. package/src/shared/cli/functions/run-check.function.ts +87 -6
  318. package/src/shared/cli/functions/run-export.function.ts +40 -0
  319. package/src/shared/cli/functions/run-gc.function.ts +6 -0
  320. package/src/shared/cli/functions/run-init.function.ts +2 -0
  321. package/src/shared/cli/functions/run-learn.function.ts +68 -16
  322. package/src/shared/cli/functions/run-recall.function.ts +66 -0
  323. package/src/shared/cli/functions/run-search.function.ts +60 -15
  324. package/src/shared/cli/functions/version-gate.function.ts +44 -0
  325. package/src/shared/cli/functions/wrap-command.function.ts +34 -0
  326. package/src/shared/cli/index.ts +4 -0
  327. package/src/shared/cli/typings/agent-create-client.interface.ts +47 -0
  328. package/src/shared/cli/typings/agent-get-client.interface.ts +39 -0
  329. package/src/shared/cli/typings/check-client.interface.ts +66 -0
  330. package/src/shared/cli/typings/cli-deps.interface.ts +54 -0
  331. package/src/shared/cli/typings/cli-options.interface.ts +15 -0
  332. package/src/shared/cli/typings/disconnectable-client.interface.ts +29 -0
  333. package/src/shared/cli/typings/dispatch-client.type.ts +46 -0
  334. package/src/shared/cli/typings/learn-client.interface.ts +53 -0
  335. package/src/shared/cli/typings/learn-io.interface.ts +5 -0
  336. package/src/shared/cli/typings/learn-result.model.ts +16 -0
  337. package/src/shared/cli/typings/search-client.interface.ts +73 -0
  338. package/src/shared/cli/typings/search-display.model.ts +18 -0
  339. package/src/shared/embedding/classes/null-embedding-provider.class.ts +29 -0
  340. package/src/shared/embedding/constants/near-duplicate-thresholds.constant.ts +17 -0
  341. package/src/shared/embedding/functions/build-vector-index.function.ts +79 -0
  342. package/src/shared/embedding/functions/cosine-similarity.function.ts +31 -0
  343. package/src/shared/embedding/functions/detect-near-duplicates.function.ts +69 -0
  344. package/src/shared/embedding/functions/jaccard-coefficient.function.ts +26 -0
  345. package/src/shared/embedding/functions/read-vector-index-meta.function.ts +44 -0
  346. package/src/shared/embedding/functions/rrf-fuse.function.ts +33 -0
  347. package/src/shared/embedding/functions/search-vectors.function.ts +59 -0
  348. package/src/shared/embedding/index.ts +20 -0
  349. package/src/shared/embedding/typings/embedding-config.interface.ts +23 -0
  350. package/src/shared/embedding/typings/embedding-provider.interface.ts +25 -0
  351. package/src/shared/embedding/typings/near-duplicate-candidate.model.ts +25 -0
  352. package/src/shared/embedding/typings/near-duplicate-result.model.ts +26 -0
  353. package/src/shared/embedding/typings/vector-index-entry.model.ts +13 -0
  354. package/src/shared/embedding/typings/vector-index-meta.model.ts +14 -0
  355. package/src/shared/embedding/typings/vector-search-result.model.ts +8 -0
  356. package/src/shared/mcp/classes/mcp-server.class.ts +36 -4
  357. package/src/shared/mcp/constants/tool-agent-create.constant.ts +39 -0
  358. package/src/shared/mcp/constants/tool-agent-delete.constant.ts +26 -0
  359. package/src/shared/mcp/constants/tool-agent-get.constant.ts +24 -0
  360. package/src/shared/mcp/constants/tool-agent-list.constant.ts +18 -0
  361. package/src/shared/mcp/constants/tool-auto-capture-review.constant.ts +32 -0
  362. package/src/shared/mcp/constants/tool-check.constant.ts +21 -0
  363. package/src/shared/mcp/constants/tool-content.constant.ts +29 -0
  364. package/src/shared/mcp/constants/tool-export.constant.ts +27 -0
  365. package/src/shared/mcp/constants/tool-gc.constant.ts +21 -0
  366. package/src/shared/mcp/constants/tool-learn.constant.ts +58 -0
  367. package/src/shared/mcp/constants/tool-rebuild.constant.ts +21 -0
  368. package/src/shared/mcp/constants/tool-recall.constant.ts +36 -0
  369. package/src/shared/mcp/constants/tool-retrieve.constant.ts +31 -0
  370. package/src/shared/mcp/constants/tool-search.constant.ts +51 -0
  371. package/src/shared/mcp/constants/tool-skill-delete.constant.ts +24 -0
  372. package/src/shared/mcp/constants/tool-skill-get.constant.ts +27 -0
  373. package/src/shared/mcp/constants/tool-skill-learn.constant.ts +37 -0
  374. package/src/shared/mcp/constants/tool-skill-list.constant.ts +18 -0
  375. package/src/shared/mcp/constants/tool-status.constant.ts +20 -0
  376. package/src/shared/mcp/constants/tool-unlearn.constant.ts +25 -0
  377. package/src/shared/mcp/functions/as-boolean-or-undefined.function.ts +11 -0
  378. package/src/shared/mcp/functions/as-string-array-or-undefined.function.ts +17 -0
  379. package/src/shared/mcp/functions/as-string-array.function.ts +15 -0
  380. package/src/shared/mcp/functions/as-string.function.ts +10 -0
  381. package/src/shared/mcp/functions/build-skills-text.function.ts +43 -0
  382. package/src/shared/mcp/functions/create-tool-definitions.function.ts +74 -5
  383. package/src/shared/mcp/functions/handle-agent-create.function.ts +1 -1
  384. package/src/shared/mcp/functions/handle-agent-prompt.function.ts +68 -0
  385. package/src/shared/mcp/functions/handle-mcp-request.function.ts +202 -0
  386. package/src/shared/mcp/functions/handle-prompt-get.function.ts +18 -12
  387. package/src/shared/mcp/functions/handle-skill-prompt.function.ts +44 -0
  388. package/src/shared/mcp/functions/handle-tool-auto-capture-review.function.ts +24 -0
  389. package/src/shared/mcp/functions/handle-tool-call.function.ts +88 -2
  390. package/src/shared/mcp/functions/handle-tool-check.function.ts +21 -0
  391. package/src/shared/mcp/functions/handle-tool-content.function.ts +23 -0
  392. package/src/shared/mcp/functions/handle-tool-export.function.ts +25 -0
  393. package/src/shared/mcp/functions/handle-tool-gc.function.ts +21 -0
  394. package/src/shared/mcp/functions/handle-tool-learn.function.ts +69 -0
  395. package/src/shared/mcp/functions/handle-tool-rebuild.function.ts +21 -0
  396. package/src/shared/mcp/functions/handle-tool-retrieve.function.ts +40 -0
  397. package/src/shared/mcp/functions/handle-tool-search.function.ts +47 -0
  398. package/src/shared/mcp/functions/handle-tool-skill-delete.function.ts +34 -0
  399. package/src/shared/mcp/functions/handle-tool-skill-get.function.ts +59 -0
  400. package/src/shared/mcp/functions/handle-tool-skill-learn.function.ts +61 -0
  401. package/src/shared/mcp/functions/handle-tool-skill-list.function.ts +39 -0
  402. package/src/shared/mcp/functions/handle-tool-status.function.ts +21 -0
  403. package/src/shared/mcp/functions/handle-tool-unlearn.function.ts +24 -0
  404. package/src/shared/mcp/functions/parse-agent-meta.function.ts +27 -0
  405. package/src/shared/mcp/functions/parse-skill-arguments.function.ts +36 -0
  406. package/src/shared/mcp/functions/read-agent-meta.function.ts +41 -0
  407. package/src/shared/mcp/functions/resolve-skill-refs.function.ts +50 -0
  408. package/src/shared/mcp/functions/run-startup-health-check.function.ts +34 -0
  409. package/src/shared/mcp/typings/mcp-capabilities.interface.ts +16 -0
  410. package/src/shared/mcp/typings/mcp-client.interface.ts +47 -0
  411. package/src/shared/mcp/typings/mcp-completion.interface.ts +45 -0
  412. package/src/shared/mcp/typings/mcp-content-result.model.ts +9 -0
  413. package/src/shared/mcp/typings/mcp-export-result.model.ts +11 -0
  414. package/src/shared/mcp/typings/mcp-gc-result.model.ts +15 -0
  415. package/src/shared/mcp/typings/mcp-integrity-check-result.model.ts +17 -0
  416. package/src/shared/mcp/typings/mcp-integrity-error.model.ts +15 -0
  417. package/src/shared/mcp/typings/mcp-notification.interface.ts +9 -0
  418. package/src/shared/mcp/typings/mcp-rebuild-result.model.ts +9 -0
  419. package/src/shared/mcp/typings/mcp-request.interface.ts +11 -0
  420. package/src/shared/mcp/typings/mcp-resource-result.interface.ts +12 -0
  421. package/src/shared/mcp/typings/mcp-resource-template.interface.ts +11 -0
  422. package/src/shared/mcp/typings/mcp-response.interface.ts +18 -0
  423. package/src/shared/mcp/typings/mcp-server-info.interface.ts +7 -0
  424. package/src/shared/mcp/typings/mcp-server-state.interface.ts +17 -0
  425. package/src/shared/mcp/typings/mcp-tool-annotations.interface.ts +32 -0
  426. package/src/shared/mcp/typings/mcp-tool-definition.interface.ts +16 -0
  427. package/src/shared/mcp/typings/mcp-tool-result.interface.ts +19 -0
  428. package/src/shared/mcp/typings/mcp-worker-client.interface.ts +243 -0
  429. package/src/shared/mcp/typings/tool-call-result.model.ts +18 -0
  430. package/src/shared/sync/functions/build-import-report.function.ts +40 -0
  431. package/src/shared/sync/functions/parse-export-entry.function.ts +45 -0
  432. package/src/shared/sync/functions/resolve-conflict.function.ts +31 -0
  433. package/src/shared/sync/functions/serialize-export-entry.function.ts +18 -0
  434. package/src/shared/sync/index.ts +9 -0
  435. package/src/shared/sync/typings/conflict-resolution.type.ts +8 -0
  436. package/src/shared/sync/typings/export-entry.interface.ts +13 -0
  437. package/src/shared/sync/typings/export-options.interface.ts +9 -0
  438. package/src/shared/sync/typings/import-options.interface.ts +7 -0
  439. package/src/shared/sync/typings/import-report.interface.ts +15 -0
  440. package/src/shared/wasm-codec/functions/decode-add-section-result.function.ts +112 -0
  441. package/src/shared/wasm-codec/functions/decode-one-recall-result.function.ts +86 -0
  442. package/src/shared/wasm-codec/functions/decode-option-string.function.ts +24 -0
  443. package/src/shared/wasm-codec/functions/decode-recall-document.function.ts +59 -0
  444. package/src/shared/wasm-codec/functions/decode-recall-reference.function.ts +52 -0
  445. package/src/shared/wasm-codec/functions/decode-recall-sibling.function.ts +43 -0
  446. package/src/shared/wasm-codec/functions/decode-scored-results.function.ts +86 -0
  447. package/src/shared/wasm-codec/functions/decode-section-match.function.ts +80 -0
  448. package/src/shared/wasm-codec/functions/decode-section-record-trailing.function.ts +75 -0
  449. package/src/shared/wasm-codec/functions/decode-section-record.function.ts +85 -0
  450. package/src/shared/wasm-codec/functions/decode-section-records.function.ts +87 -0
  451. package/src/shared/wasm-codec/functions/decode-section-type.function.ts +30 -0
  452. package/src/shared/wasm-codec/functions/decode-wasm-list.function.ts +31 -0
  453. package/src/shared/wasm-codec/functions/encode-add-section-params.function.ts +68 -0
  454. package/src/shared/wasm-codec/index.ts +5 -0
  455. package/src/shared/wasm-codec/typings/add-section-input.model.ts +45 -0
  456. package/src/shared/wasm-codec/typings/add-section-result.model.ts +28 -0
  457. package/src/shared/wasm-codec/typings/document-manifest.model.ts +20 -0
  458. package/src/shared/wasm-codec/typings/document-section.model.ts +12 -0
  459. package/src/shared/wasm-codec/typings/item-decoder.type.ts +10 -0
  460. package/src/shared/wasm-codec/typings/near-duplicate.model.ts +16 -0
  461. package/src/shared/wasm-codec/typings/paged-search-result.model.ts +22 -0
  462. package/src/shared/wasm-codec/typings/section-match.model.ts +31 -0
  463. package/src/shared/wasm-codec/typings/section-record-trailing.model.ts +38 -0
  464. package/src/shared/wasm-codec/typings/section-record.model.ts +66 -0
  465. package/src/shared/wasm-codec/typings/section-type-result.model.ts +12 -0
  466. package/src/shared/worker-client/classes/worker-client.class.ts +19 -0
  467. package/src/shared/worker-client/functions/handle-ipc-data.function.ts +49 -0
  468. package/src/shared/worker-client/functions/send-ipc-request.function.ts +39 -0
  469. package/src/shared/worker-client/index.ts +4 -1
  470. package/src/shared/worker-client/typings/add-section-result.model.ts +32 -15
  471. package/src/shared/worker-client/typings/export-result.model.ts +14 -0
  472. package/src/shared/worker-client/typings/gc-result.model.ts +6 -0
  473. package/src/shared/worker-client/typings/json-rpc-response.interface.ts +17 -0
  474. package/src/shared/worker-client/typings/pending-call.interface.ts +7 -0
  475. package/src/shared/worker-client/typings/recall-document.model.ts +16 -0
  476. package/src/shared/worker-client/typings/recall-params.model.ts +15 -0
  477. package/src/shared/worker-client/typings/recall-reference.model.ts +32 -0
  478. package/src/shared/worker-client/typings/recall-sibling.model.ts +11 -0
  479. package/src/shared/worker-client/typings/recall-single-result.model.ts +41 -0
  480. package/src/shared/worker-client/typings/search-result.model.ts +12 -0
  481. package/src/shared/worker-client/typings/section.model.ts +16 -0
  482. package/src/shared/worker-daemon/classes/ipc-error.class.ts +22 -0
  483. package/src/shared/worker-daemon/classes/worker-daemon.class.ts +315 -46
  484. package/src/shared/worker-daemon/constants/wasm-method-map.constant.ts +69 -0
  485. package/src/shared/worker-daemon/functions/build-ipc-error-response.function.ts +16 -0
  486. package/src/shared/worker-daemon/functions/check-catalog-version.function.ts +54 -0
  487. package/src/shared/worker-daemon/functions/check-preconditions.function.ts +28 -0
  488. package/src/shared/worker-daemon/functions/create-host-imports.function.ts +19 -4
  489. package/src/shared/worker-daemon/functions/create-ipc-server.function.ts +5 -1
  490. package/src/shared/worker-daemon/functions/detect-stale-pid.function.ts +33 -0
  491. package/src/shared/worker-daemon/functions/dispatch-request.function.ts +190 -0
  492. package/src/shared/worker-daemon/functions/handle-check-version.function.ts +74 -0
  493. package/src/shared/worker-daemon/functions/handle-config-method.function.ts +27 -0
  494. package/src/shared/worker-daemon/functions/handle-read-ops.function.ts +236 -0
  495. package/src/shared/worker-daemon/functions/handle-write-ops.function.ts +257 -0
  496. package/src/shared/worker-daemon/functions/parse-auto-capture-section.function.ts +51 -0
  497. package/src/shared/worker-daemon/functions/parse-catalog-version.function.ts +20 -0
  498. package/src/shared/worker-daemon/functions/parse-embedding-section.function.ts +38 -0
  499. package/src/shared/worker-daemon/functions/parse-worker-toml.function.ts +104 -0
  500. package/src/shared/worker-daemon/functions/run-startup-integrity-check.function.ts +55 -0
  501. package/src/shared/worker-daemon/functions/scan-near-duplicates.function.ts +92 -0
  502. package/src/shared/worker-daemon/functions/wasm-bridge.function.ts +144 -0
  503. package/src/shared/worker-daemon/functions/wasm-memory-helpers.function.ts +41 -0
  504. package/src/shared/worker-daemon/functions/write-lock.function.ts +49 -0
  505. package/src/shared/worker-daemon/typings/allocator-ref.interface.ts +16 -0
  506. package/src/shared/worker-daemon/typings/daemon-config.interface.ts +7 -0
  507. package/src/shared/worker-daemon/typings/fs-adapter.interface.ts +22 -0
  508. package/src/shared/worker-daemon/typings/handler-context.interface.ts +19 -0
  509. package/src/shared/worker-daemon/typings/memory-ref.interface.ts +13 -0
  510. package/src/shared/worker-daemon/typings/wasm-fn.type.ts +2 -0
  511. package/src/shared/worker-daemon/typings/write-lock.interface.ts +13 -0
  512. package/src/wasm/fs-database/kbdb_fs_database.d.ts +22 -1
  513. package/src/wasm/fs-database/kbdb_fs_database.js +28 -1
  514. package/src/wasm/fs-database/kbdb_fs_database_bg.wasm +0 -0
  515. package/src/wasm/fs-database/kbdb_fs_database_bg.wasm.d.ts +1 -0
  516. package/src/wasm/kb-worker/kbdb_worker.d.ts +48 -1
  517. package/src/wasm/kb-worker/kbdb_worker.js +60 -1
  518. package/src/wasm/kb-worker/kbdb_worker_bg.wasm +0 -0
  519. package/src/wasm/kb-worker/kbdb_worker_bg.wasm.d.ts +2 -0
  520. package/src/wasm/query-parser/kbdb_query_parser_bg.wasm +0 -0
@@ -18,6 +18,8 @@ import type { AgentCreateClient } from './run-agent-create.function.ts';
18
18
  import type { AgentListClient } from './run-agent-list.function.ts';
19
19
  import type { AgentGetClient } from './run-agent-get.function.ts';
20
20
  import type { AgentDeleteClient } from './run-agent-delete.function.ts';
21
+ import type { RecallClient } from './run-recall.function.ts';
22
+ import type { ExportClient } from './run-export.function.ts';
21
23
  /**
22
24
  * Intersection of all data-command client interfaces.
23
25
  *
@@ -25,7 +27,7 @@ import type { AgentDeleteClient } from './run-agent-delete.function.ts';
25
27
  * intersection combines them so `dispatchCommand` can route
26
28
  * to any command handler with full type safety.
27
29
  */
28
- export type DispatchClient = SearchClient & LearnClient & UnlearnClient & ContentClient & CheckClient & GcClient & RebuildClient & StatusClient & DbMigrateClient & SkillLearnClient & SkillListClient & SkillGetClient & SkillDeleteClient & AgentCreateClient & AgentListClient & AgentGetClient & AgentDeleteClient;
30
+ export type DispatchClient = SearchClient & LearnClient & UnlearnClient & ContentClient & CheckClient & GcClient & RebuildClient & StatusClient & DbMigrateClient & SkillLearnClient & SkillListClient & SkillGetClient & SkillDeleteClient & AgentCreateClient & AgentListClient & AgentGetClient & AgentDeleteClient & RecallClient & ExportClient;
29
31
  /**
30
32
  * Routes a parsed CLI command to the appropriate handler and
31
33
  * returns a `CommandResult` without touching process globals.
@@ -0,0 +1,9 @@
1
+ import type { PagedSearchDisplay } from '../typings/search-display.model.ts';
2
+ /**
3
+ * Formats a paged search result as a JSON string compatible
4
+ * with the MCP (Model Context Protocol) `text` content block.
5
+ *
6
+ * @param paged - paginated search results to serialise
7
+ * @returns MCP-compatible JSON string ready for stdout
8
+ */
9
+ export declare function formatMcpOutput(paged: PagedSearchDisplay): string;
@@ -0,0 +1,9 @@
1
+ import type { PagedSearchDisplay } from '../typings/search-display.model.ts';
2
+ /**
3
+ * Formats a paged search result as a numbered human-readable
4
+ * text list with a paging footer and optional "more" hint.
5
+ *
6
+ * @param paged - paginated search results to render
7
+ * @returns formatted string ready for stdout
8
+ */
9
+ export declare function formatTextOutput(paged: PagedSearchDisplay): string;
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Generates the level-2 help text for a group command.
3
+ *
4
+ * Lists all subcommands with their descriptions and
5
+ * includes a footer pointing to per-subcommand help.
6
+ *
7
+ * @param group - the group command name (e.g. `'db'`, `'skill'`)
8
+ * @param subs - ordered list of `[name, description]` pairs
9
+ * @returns formatted help string for the group command
10
+ */
11
+ export declare function generateGroupHelp(group: string, subs: readonly (readonly [string, string])[]): string;
@@ -0,0 +1,16 @@
1
+ import type { CliOptions } from '../typings/cli-options.interface.ts';
2
+ import type { CommandResult } from '../typings/command-result.model.ts';
3
+ import type { CliDeps } from '../typings/cli-deps.interface.ts';
4
+ /**
5
+ * Handles data commands (search, learn, recall, etc.) by finding or
6
+ * creating the database, running the version gate, and dispatching to
7
+ * the appropriate command handler.
8
+ *
9
+ * When the database is not found in non-TTY mode, returns an error.
10
+ * In TTY mode, prompts the user to create a new database.
11
+ *
12
+ * @param options - parsed CLI options with command and args
13
+ * @param deps - injectable CLI dependencies
14
+ * @returns a `CommandResult` from the dispatched command
15
+ */
16
+ export declare function handleDataCommand(options: CliOptions, deps: CliDeps): Promise<CommandResult>;
@@ -0,0 +1,15 @@
1
+ import type { CliOptions } from '../typings/cli-options.interface.ts';
2
+ import type { CommandResult } from '../typings/command-result.model.ts';
3
+ import type { CliDeps } from '../typings/cli-deps.interface.ts';
4
+ /**
5
+ * Handles the `mcp` command sub-flow.
6
+ *
7
+ * Resolves the database directory, creates a worker client, runs
8
+ * the version gate, and starts the MCP server. Disconnects the
9
+ * worker client when finished.
10
+ *
11
+ * @param options - parsed CLI options (uses `dbPath` and env fallback)
12
+ * @param deps - injectable CLI dependencies
13
+ * @returns a `CommandResult` with `exitCode: 0` on success
14
+ */
15
+ export declare function handleMcp(options: CliOptions, deps: CliDeps): Promise<CommandResult>;
@@ -0,0 +1,15 @@
1
+ import type { CliOptions } from '../typings/cli-options.interface.ts';
2
+ import type { CommandResult } from '../typings/command-result.model.ts';
3
+ import type { CliDeps } from '../typings/cli-deps.interface.ts';
4
+ /**
5
+ * Handles the `migrate` / `db-migrate` command sub-flow.
6
+ *
7
+ * Resolves the database directory, creates a worker client,
8
+ * checks the version, and runs migrations when needed. Disconnects
9
+ * the worker client when finished.
10
+ *
11
+ * @param options - parsed CLI options (uses `dbPath`)
12
+ * @param deps - injectable CLI dependencies
13
+ * @returns a `CommandResult` with migration output or an error
14
+ */
15
+ export declare function handleMigrate(options: CliOptions, deps: CliDeps): Promise<CommandResult>;
@@ -0,0 +1,14 @@
1
+ import type { PagedSearchDisplay } from '../typings/search-display.model.ts';
2
+ import type { ContentClient } from './run-content.function.ts';
3
+ /**
4
+ * Hydrates each result's `preview` field with the actual section
5
+ * content fetched from the client.
6
+ *
7
+ * Failures for individual results are caught and suppressed so that
8
+ * one unavailable section does not prevent other previews from
9
+ * being returned.
10
+ *
11
+ * @param client - content client used to fetch section text
12
+ * @param paged - mutable search display records to hydrate
13
+ */
14
+ export declare function hydrateSearchPreviews(client: ContentClient, paged: PagedSearchDisplay): Promise<void>;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Writes the two default skills (`query-guidance` and
3
+ * `memory-protocol`) as section files directly into the `.kbdb`
4
+ * directory scaffold.
5
+ *
6
+ * Called by `runInit` after the directory scaffold is created.
7
+ * Does not require a running worker daemon. Skips any skill whose
8
+ * section file already exists so user modifications are preserved.
9
+ *
10
+ * @param dbDir - absolute path to the `.kbdb` directory
11
+ */
12
+ export declare function installDefaultSkills(dbDir: string): void;
@@ -0,0 +1,16 @@
1
+ import type { AgentGetClient, AgentDocumentSection } from '../typings/agent-get-client.interface.ts';
2
+ /**
3
+ * Resolves skill names by reading each skill section's JSON content.
4
+ *
5
+ * Returns `null` for any reference whose section no longer exists
6
+ * (dangling reference) or whose content cannot be parsed.
7
+ *
8
+ * @param client - client used to fetch section records
9
+ * @param skillRefs - ordered section references to resolve
10
+ * @returns list of resolved skill entries with name and position
11
+ */
12
+ export declare function resolveSkillNames(client: AgentGetClient, skillRefs: AgentDocumentSection[]): Promise<{
13
+ kbid: string;
14
+ name: string | null;
15
+ position: number;
16
+ }[]>;
@@ -17,6 +17,16 @@ interface IntegrityError {
17
17
  /** Human-readable description of the specific problem. */
18
18
  readonly detail: string;
19
19
  }
20
+ /**
21
+ * A single entry in the divergent-content map.
22
+ * Groups kbids under a common source key.
23
+ */
24
+ interface DivergentContentEntry {
25
+ /** Source key that has multiple divergent content versions. */
26
+ readonly sourceKey: string;
27
+ /** Kbids of sections sharing this source key but with different content. */
28
+ readonly kbids: string[];
29
+ }
20
30
  /**
21
31
  * Integrity check report returned by the daemon.
22
32
  */
@@ -33,6 +43,37 @@ interface IntegrityCheckResult {
33
43
  readonly references_checked: number;
34
44
  /** Time taken to complete the check, in milliseconds. */
35
45
  readonly elapsed_ms: number;
46
+ /**
47
+ * Sections that share a source key but have divergent content.
48
+ * Each entry groups the kbids under a common source key.
49
+ * Empty when no divergent content is found.
50
+ */
51
+ readonly divergent_content: DivergentContentEntry[];
52
+ }
53
+ /** Raw daemon response from `integrityCheck`. */
54
+ interface RawIntegrityCheckResult {
55
+ /** `true` when all checks passed and no errors were found. */
56
+ readonly ok: boolean;
57
+ /** All integrity errors found; empty when `ok` is `true`. */
58
+ readonly errors: IntegrityError[];
59
+ /** Total number of sections examined. */
60
+ readonly sections_checked: number;
61
+ /** Total number of documents examined. */
62
+ readonly documents_checked: number;
63
+ /** Total number of marker references checked. */
64
+ readonly references_checked: number;
65
+ /** Time taken to complete the check, in milliseconds. */
66
+ readonly elapsed_ms: number;
67
+ /**
68
+ * Encoded divergent-content map.
69
+ *
70
+ * Format: `sk1:kbid1,kbid2;sk2:kbid3,kbid4`
71
+ *
72
+ * Each semicolon-separated segment is a source key followed by
73
+ * a colon and a comma-separated list of kbids. Absent when no
74
+ * divergent content exists.
75
+ */
76
+ readonly divergent_content?: string;
36
77
  }
37
78
  /**
38
79
  * Minimal client interface required by `runCheck`.
@@ -47,18 +88,19 @@ export interface CheckClient {
47
88
  * @returns a report of all issues found; `ok` is `true` when
48
89
  * no errors were detected
49
90
  */
50
- integrityCheck(): Promise<IntegrityCheckResult>;
91
+ integrityCheck(): Promise<RawIntegrityCheckResult>;
51
92
  }
52
93
  /**
53
94
  * Runs an integrity check on the database and returns the report.
54
95
  *
55
- * Delegates to `client.integrityCheck()`. The caller is responsible
56
- * for printing the result to stdout and setting the process exit code
57
- * based on `result.ok`.
96
+ * Delegates to `client.integrityCheck()`, then parses the encoded
97
+ * `divergent_content` field into structured form. The caller is
98
+ * responsible for printing the result to stdout and setting the
99
+ * process exit code based on `result.ok`.
58
100
  *
59
101
  * @param client - check client to delegate to
60
102
  * @param _options - parsed CLI options (unused; reserved for future flags)
61
- * @returns the integrity check report from the daemon
103
+ * @returns the integrity check report with parsed `divergent_content`
62
104
  */
63
105
  export declare function runCheck(client: CheckClient, _options: CliOptions): Promise<IntegrityCheckResult>;
64
106
  export {};
@@ -0,0 +1,34 @@
1
+ import type { CliOptions } from '../typings/cli-options.interface.ts';
2
+ import type { ExportResult } from '../../worker-client/typings/export-result.model.ts';
3
+ /**
4
+ * Minimal client interface required by `runExport`.
5
+ *
6
+ * Decouples the CLI function from the concrete `WorkerClient`
7
+ * implementation, making it straightforward to test with mocks.
8
+ */
9
+ export interface ExportClient {
10
+ /**
11
+ * Exports the database to the given directory path.
12
+ *
13
+ * @param params - optional target path; the daemon defaults to
14
+ * `./kbdb-export/` when `path` is `undefined`
15
+ * @returns export report with the resolved path and file counts
16
+ */
17
+ export(params: {
18
+ path?: string;
19
+ }): Promise<ExportResult>;
20
+ }
21
+ /**
22
+ * Exports the knowledge-base database to a target directory via the
23
+ * provided client.
24
+ *
25
+ * The target path is taken from `options.args[0]`. When no argument
26
+ * is given the daemon resolves its own default (`./kbdb-export/`).
27
+ *
28
+ * @param client - export client to delegate to
29
+ * @param options - parsed CLI options whose first positional
30
+ * argument, if present, is the target directory path
31
+ * @returns the export result containing the resolved path and file
32
+ * counts
33
+ */
34
+ export declare function runExport(client: ExportClient, options: CliOptions): Promise<ExportResult>;
@@ -9,6 +9,12 @@ interface GcResult {
9
9
  readonly removed_bytes: number;
10
10
  /** Time taken to complete garbage collection, in milliseconds. */
11
11
  readonly elapsed_ms: number;
12
+ /**
13
+ * Number of sections whose `source_path` file no longer
14
+ * contains their heading text (advisory; not auto-removed).
15
+ * Absent on older daemon versions.
16
+ */
17
+ readonly stale_sources?: number;
12
18
  }
13
19
  /**
14
20
  * Minimal client interface required by `runGc`.
@@ -1,5 +1,28 @@
1
1
  import type { CliOptions } from '../typings/cli-options.interface.ts';
2
2
  import type { LearnResult } from '../typings/learn-result.model.ts';
3
+ /** Enriched add-section result returned by the daemon. */
4
+ interface AddSectionResult {
5
+ /** Knowledge-base identifier assigned to the new section. */
6
+ readonly kbid: string;
7
+ /**
8
+ * Kbid of the section superseded via `--replace`,
9
+ * or `null` / `undefined` when none.
10
+ */
11
+ readonly superseded?: string | null;
12
+ /**
13
+ * Advisory warning strings (e.g. `"heading_missing"`).
14
+ * May be absent from older daemon versions.
15
+ */
16
+ readonly warnings?: string[];
17
+ /**
18
+ * Near-duplicate sections with similarity >= 0.85.
19
+ * May be absent from older daemon versions.
20
+ */
21
+ readonly near_duplicates?: {
22
+ readonly kbid: string;
23
+ readonly similarity: number;
24
+ }[];
25
+ }
3
26
  /**
4
27
  * Minimal client interface required by `runLearn`.
5
28
  *
@@ -10,9 +33,9 @@ export interface LearnClient {
10
33
  /**
11
34
  * Ingests a content section into the knowledge base.
12
35
  *
13
- * @param params - section type label and raw text content
14
- * @returns result object containing the knowledge-base identifier
15
- * assigned to the section
36
+ * @param params - section metadata and raw text content
37
+ * @returns enriched result containing the new kbid plus
38
+ * optional supersession, warnings, and near-duplicate info
16
39
  */
17
40
  addSection(params: {
18
41
  sectionType: string;
@@ -20,9 +43,14 @@ export interface LearnClient {
20
43
  title?: string;
21
44
  description?: string;
22
45
  docid?: string;
23
- }): Promise<{
24
- kbid: string;
25
- }>;
46
+ tags?: string[];
47
+ replace?: boolean;
48
+ /**
49
+ * Absolute path to the source file. Required for supersession
50
+ * via source key when `replace` is `true`.
51
+ */
52
+ sourcePath?: string;
53
+ }): Promise<AddSectionResult>;
26
54
  }
27
55
  /** Injectable I/O for testing without real stdin. */
28
56
  export interface LearnIO {
@@ -44,3 +72,4 @@ export interface LearnIO {
44
72
  * @returns one `LearnResult` per file successfully ingested
45
73
  */
46
74
  export declare function runLearn(client: LearnClient, options: CliOptions, io?: LearnIO): Promise<LearnResult[]>;
75
+ export {};
@@ -0,0 +1,45 @@
1
+ import type { CliOptions } from '../typings/cli-options.interface.ts';
2
+ import type { RecallResult } from '../../worker-client/typings/recall-result.model.ts';
3
+ /**
4
+ * Minimal client interface required by `runRecall`.
5
+ *
6
+ * Decouples the CLI function from the concrete `WorkerClient`
7
+ * implementation, making it straightforward to test with mocks.
8
+ */
9
+ export interface RecallClient {
10
+ /**
11
+ * Retrieves full content and context for one or more sections
12
+ * by their knowledge-base identifiers.
13
+ *
14
+ * @param params - section identifier(s) and optional expansion
15
+ * depth (0--3)
16
+ * @returns a single `RecallResult` when `kbid` is supplied, or
17
+ * a `RecallResult[]` when `kbids` is supplied
18
+ */
19
+ recall(params: {
20
+ kbid?: string;
21
+ kbids?: string[];
22
+ depth?: number;
23
+ }): Promise<RecallResult | RecallResult[]>;
24
+ }
25
+ /**
26
+ * Retrieves full content and progressive context for one or more
27
+ * sections by kbid via the provided client.
28
+ *
29
+ * Returns an error result when no kbids are provided in
30
+ * `options.args`. For a single kbid, calls `client.recall` with the
31
+ * `kbid` parameter and returns the single `RecallResult`. For
32
+ * multiple kbids, calls `client.recall` with the `kbids` array.
33
+ *
34
+ * The `depth` option is read from `options.depth`, defaulting to 0
35
+ * and clamped to the range 0--3.
36
+ *
37
+ * @param client - recall client to delegate to
38
+ * @param options - parsed CLI options supplying kbids in `args` and
39
+ * expansion depth in `depth`
40
+ * @returns the `RecallResult` or `RecallResult[]` from the client,
41
+ * or an error object when no kbids are provided
42
+ */
43
+ export declare function runRecall(client: RecallClient, options: CliOptions): Promise<RecallResult | RecallResult[] | {
44
+ error: string;
45
+ }>;
@@ -1,5 +1,55 @@
1
1
  import type { CliOptions } from '../typings/cli-options.interface.ts';
2
2
  import type { PagedSearchDisplay } from '../typings/search-display.model.ts';
3
+ /** A single raw search result item returned by the daemon. */
4
+ interface RawSearchItem {
5
+ /** Knowledge-base identifier of the matched section. */
6
+ readonly kbid: string;
7
+ /** Section heading, or null when untitled. */
8
+ readonly heading: string | null;
9
+ /** MIME type of the section content. */
10
+ readonly type: string;
11
+ /** Document IDs this section belongs to. */
12
+ readonly docids: readonly string[];
13
+ /** Relevance score from the ranking engine. */
14
+ readonly score: number;
15
+ /** KWIC excerpt centered on the highest-scoring matched term. */
16
+ readonly snippet: string;
17
+ /** Query terms that matched within this section. */
18
+ readonly matched_terms: readonly string[];
19
+ /**
20
+ * Fields that contained at least one match.
21
+ * May be absent from older daemon versions.
22
+ */
23
+ readonly matched_fields?: readonly string[];
24
+ /**
25
+ * Normalised confidence score (0.0-1.0) relative to the top result.
26
+ * May be absent from older daemon versions.
27
+ */
28
+ readonly confidence?: number;
29
+ /**
30
+ * ISO 8601 creation timestamp of the section.
31
+ * May be absent from older daemon versions.
32
+ */
33
+ readonly created_at?: string;
34
+ }
35
+ /** Raw paginated search response from the daemon. */
36
+ interface RawSearchResponse {
37
+ /** Result items for the current page. */
38
+ readonly items: readonly RawSearchItem[];
39
+ /** Total number of matches across all pages. */
40
+ readonly total: number;
41
+ /** Number of results skipped. */
42
+ readonly offset: number;
43
+ /** Maximum results per page. */
44
+ readonly limit: number;
45
+ /** Whether more results exist beyond this page. */
46
+ readonly has_more: boolean;
47
+ /**
48
+ * When `true`, the engine relaxed the query to produce results.
49
+ * May be absent from older daemon versions.
50
+ */
51
+ readonly relaxed?: boolean;
52
+ }
3
53
  /**
4
54
  * Minimal client interface required by `runSearch`.
5
55
  *
@@ -17,21 +67,8 @@ export interface SearchClient {
17
67
  mode?: string;
18
68
  limit?: number;
19
69
  offset?: number;
20
- }): Promise<{
21
- readonly items: readonly {
22
- readonly kbid: string;
23
- readonly heading: string | null;
24
- readonly type: string;
25
- readonly docids: readonly string[];
26
- readonly score: number;
27
- readonly snippet: string;
28
- readonly matched_terms: readonly string[];
29
- }[];
30
- readonly total: number;
31
- readonly offset: number;
32
- readonly limit: number;
33
- readonly has_more: boolean;
34
- }>;
70
+ algo?: string;
71
+ }): Promise<RawSearchResponse>;
35
72
  }
36
73
  /**
37
74
  * Executes a search query via the provided client and maps the
@@ -46,3 +83,4 @@ export interface SearchClient {
46
83
  * search parameters
47
84
  */
48
85
  export declare function runSearch(client: SearchClient, options: CliOptions): Promise<PagedSearchDisplay>;
86
+ export {};
@@ -0,0 +1,15 @@
1
+ import type { CommandResult } from '../typings/command-result.model.ts';
2
+ import type { DisconnectableClient } from '../typings/disconnectable-client.interface.ts';
3
+ /**
4
+ * Checks the database version and returns a `CommandResult` error
5
+ * when the version is incompatible, or `null` when it is compatible.
6
+ *
7
+ * - `'needs_migration'`: prompts the user to run `kbdb --migrate`
8
+ * - `'too_new'`: informs the user to upgrade kbdb
9
+ * - `'compatible'`: returns `null` (no gate triggered)
10
+ *
11
+ * @param client - disconnectable client with version-check capability
12
+ * @param dbDir - absolute path to the `.kbdb` database root
13
+ * @returns error `CommandResult` when blocked, or `null` when clear
14
+ */
15
+ export declare function versionGate(client: DisconnectableClient, dbDir: string): Promise<CommandResult | null>;
@@ -0,0 +1,15 @@
1
+ import type { CommandResult } from '../typings/command-result.model.ts';
2
+ /**
3
+ * Wraps an async command handler in a standard try/catch envelope.
4
+ *
5
+ * On success, serialises the result with `JSON.stringify` and
6
+ * returns `exitCode: 0`. On failure, returns an error message
7
+ * prefixed with `<label> failed:` and `exitCode: 1`.
8
+ *
9
+ * @param label - command name used in the error prefix
10
+ * @param handler - async function that produces the command result
11
+ * @param exitCodeSelector - optional function to derive `exitCode`
12
+ * from the successful result; defaults to always returning 0
13
+ * @returns a `CommandResult` with output or error
14
+ */
15
+ export declare function wrapCommand<T>(label: string, handler: () => Promise<T>, exitCodeSelector?: (result: T) => number): Promise<CommandResult>;
@@ -1,6 +1,8 @@
1
1
  export { parseArgs } from './functions/parse-args.function.ts';
2
2
  export { formatOutput } from './functions/format-output.function.ts';
3
3
  export { runSearch } from './functions/run-search.function.ts';
4
+ export { runRecall } from './functions/run-recall.function.ts';
5
+ export { runExport } from './functions/run-export.function.ts';
4
6
  export { runLearn } from './functions/run-learn.function.ts';
5
7
  export { runUnlearn } from './functions/run-unlearn.function.ts';
6
8
  export { runContent } from './functions/run-content.function.ts';
@@ -21,6 +23,8 @@ export type { CliOptions, OutputFormat, SearchMode, } from './typings/cli-option
21
23
  export type { LearnResult } from './typings/learn-result.model.ts';
22
24
  export type { SearchDisplay, PagedSearchDisplay, } from './typings/search-display.model.ts';
23
25
  export type { SearchClient } from './functions/run-search.function.ts';
26
+ export type { RecallClient } from './functions/run-recall.function.ts';
27
+ export type { ExportClient } from './functions/run-export.function.ts';
24
28
  export type { LearnClient } from './functions/run-learn.function.ts';
25
29
  export type { UnlearnClient, UnlearnResult, } from './functions/run-unlearn.function.ts';
26
30
  export type { ContentClient } from './functions/run-content.function.ts';
@@ -0,0 +1,42 @@
1
+ import type { AddSectionResult } from '../../worker-client/typings/add-section-result.model.ts';
2
+ /**
3
+ * Minimal client interface required by `runAgentCreate`.
4
+ *
5
+ * Decouples the CLI function from the concrete `WorkerClient`
6
+ * implementation, making it straightforward to test with mocks.
7
+ */
8
+ export interface AgentCreateClient {
9
+ /**
10
+ * Ingests a content section into the knowledge base.
11
+ *
12
+ * @param params - section type label, raw content, and optional
13
+ * metadata
14
+ * @returns result object containing the assigned knowledge-base
15
+ * identifier
16
+ */
17
+ addSection(params: {
18
+ readonly sectionType: string;
19
+ readonly content: string;
20
+ readonly title?: string;
21
+ readonly description?: string;
22
+ }): Promise<AddSectionResult>;
23
+ /**
24
+ * Groups a set of sections under a named document.
25
+ *
26
+ * @param title - human-readable document title
27
+ * @param kbids - identifiers of the sections to group
28
+ * @param docType - application-level document type tag; omit or
29
+ * pass an empty string for untagged documents
30
+ * @returns the assigned document identifier
31
+ */
32
+ groupSections(title: string, kbids: string[], docType?: string): Promise<string>;
33
+ /**
34
+ * Retrieves one or more sections by their identifiers.
35
+ *
36
+ * @param kbids - list of knowledge-base identifiers to fetch
37
+ * @returns sections found; missing kbids are omitted from the result
38
+ */
39
+ readSections(kbids: string[]): Promise<{
40
+ kbid: string;
41
+ }[]>;
42
+ }
@@ -0,0 +1,36 @@
1
+ /** A document section reference as returned by `retrieveDocument`. */
2
+ export interface AgentDocumentSection {
3
+ /** Knowledge-base identifier of the section. */
4
+ readonly kbid: string;
5
+ /** Zero-based position of the section within the document. */
6
+ readonly position: number;
7
+ }
8
+ /** A section record as returned by `readSections`. */
9
+ export interface AgentSectionRecord {
10
+ /** Knowledge-base identifier of the section. */
11
+ readonly kbid: string;
12
+ /** Raw text content stored in the section. */
13
+ readonly content: string;
14
+ }
15
+ /**
16
+ * Minimal client interface required by `runAgentGet`.
17
+ *
18
+ * Decouples the CLI function from the concrete `WorkerClient`
19
+ * implementation, making it straightforward to test with mocks.
20
+ */
21
+ export interface AgentGetClient {
22
+ /**
23
+ * Retrieves a full document record including its ordered sections.
24
+ *
25
+ * @param docid - identifier of the document to retrieve
26
+ * @returns the document record
27
+ */
28
+ retrieveDocument(docid: string): Promise<unknown>;
29
+ /**
30
+ * Retrieves one or more sections by their identifiers.
31
+ *
32
+ * @param kbids - list of knowledge-base identifiers to fetch
33
+ * @returns sections found; missing kbids are omitted from the result
34
+ */
35
+ readSections(kbids: string[]): Promise<AgentSectionRecord[]>;
36
+ }