@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
@@ -35,6 +35,17 @@ export interface McpIntegrityCheckResult {
35
35
  /** Time taken to complete the check, in milliseconds. */
36
36
  readonly elapsed_ms: number;
37
37
  }
38
+ /** Export report returned by the daemon. */
39
+ export interface McpExportResult {
40
+ /** Absolute path to the directory where files were written. */
41
+ readonly path: string;
42
+ /** Number of section files copied to the export directory. */
43
+ readonly sections_exported: number;
44
+ /** Number of document manifest files copied. */
45
+ readonly documents_exported: number;
46
+ /** Time taken to complete the export, in milliseconds. */
47
+ readonly elapsed_ms: number;
48
+ }
38
49
  /** Garbage collection report returned by the daemon. */
39
50
  export interface McpGcResult {
40
51
  /** Number of unreferenced sections removed. */
@@ -43,6 +54,12 @@ export interface McpGcResult {
43
54
  readonly removed_bytes: number;
44
55
  /** Time taken to complete garbage collection, in milliseconds. */
45
56
  readonly elapsed_ms: number;
57
+ /**
58
+ * Number of sections whose source_path file no longer contains
59
+ * their heading text. Advisory; not auto-removed by gc.
60
+ * Absent on older daemon versions.
61
+ */
62
+ readonly stale_sources?: number;
46
63
  }
47
64
  /** Index rebuild report returned by the daemon. */
48
65
  export interface McpRebuildResult {
@@ -75,6 +92,8 @@ export interface McpWorkerClient {
75
92
  readonly limit?: number;
76
93
  /** Number of results to skip for pagination. */
77
94
  readonly offset?: number;
95
+ /** Search algorithm: 'lexical', 'vector', or 'hybrid'. */
96
+ readonly algo?: string;
78
97
  }): Promise<{
79
98
  readonly items: readonly {
80
99
  readonly kbid: string;
@@ -84,11 +103,20 @@ export interface McpWorkerClient {
84
103
  readonly score: number;
85
104
  readonly snippet: string;
86
105
  readonly matched_terms: readonly string[];
106
+ /** Fields that contained matches (heading, body, code). */
107
+ readonly matched_fields?: readonly string[];
108
+ /** ISO 8601 creation timestamp of the section. */
109
+ readonly created_at?: string;
87
110
  }[];
88
111
  readonly total: number;
89
112
  readonly offset: number;
90
113
  readonly limit: number;
91
114
  readonly has_more: boolean;
115
+ /**
116
+ * `true` when results came from an automatic AND-to-OR
117
+ * fallback query relaxation.
118
+ */
119
+ readonly relaxed?: boolean;
92
120
  }>;
93
121
  /**
94
122
  * Adds a new section to the knowledge base.
@@ -107,6 +135,13 @@ export interface McpWorkerClient {
107
135
  readonly description?: string;
108
136
  /** Optional document ID to group this section under. */
109
137
  readonly docid?: string;
138
+ /** Optional tags for scoping and filtering. */
139
+ readonly tags?: string[];
140
+ /**
141
+ * When `true`, replaces an existing section that has the same
142
+ * source key (supersession).
143
+ */
144
+ readonly replace?: boolean;
110
145
  }): Promise<AddSectionResult>;
111
146
  /**
112
147
  * Removes a section from the knowledge base.
@@ -230,6 +265,16 @@ export interface McpWorkerClient {
230
265
  /** Expansion depth (0-3, default: 0). */
231
266
  readonly depth?: number;
232
267
  }): Promise<unknown>;
268
+ /**
269
+ * Exports the database to a target directory as a self-contained
270
+ * snapshot (sections, documents, catalog -- no indexes).
271
+ *
272
+ * @param params - optional export parameters
273
+ * @returns export report with the resolved path and file counts
274
+ */
275
+ export(params?: {
276
+ readonly path?: string;
277
+ }): Promise<McpExportResult>;
233
278
  /** Destroys the IPC socket and clears the connection state. */
234
279
  disconnect(): void;
235
280
  }
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Discriminated reference used in MCP completion requests.
3
+ * Identifies whether the completion target is a prompt or a resource.
4
+ */
5
+ export interface McpCompletionRef {
6
+ /**
7
+ * The reference type: `'ref/prompt'` for named prompts (skills
8
+ * and agents) or `'ref/resource'` for resource URIs.
9
+ */
10
+ readonly type: 'ref/prompt' | 'ref/resource';
11
+ /** Prompt name, present when `type` is `'ref/prompt'`. */
12
+ readonly name?: string;
13
+ /** Resource URI, present when `type` is `'ref/resource'`. */
14
+ readonly uri?: string;
15
+ }
16
+ /**
17
+ * Completion argument supplied by the client, describing which
18
+ * argument is being completed and the current partial value.
19
+ */
20
+ export interface McpCompletionArgument {
21
+ /** The argument name being completed. */
22
+ readonly name: string;
23
+ /** The partial value typed so far; used for prefix filtering. */
24
+ readonly value: string;
25
+ }
26
+ /**
27
+ * Result returned by `handleCompletion`, containing the list of
28
+ * matching completion values and pagination metadata.
29
+ */
30
+ export interface McpCompletionResult {
31
+ /** Completion payload. */
32
+ readonly completion: {
33
+ /** Matching completion strings for the given prefix. */
34
+ readonly values: string[];
35
+ /**
36
+ * Whether more results are available beyond what is returned.
37
+ * Always `false` in this implementation.
38
+ */
39
+ readonly hasMore: boolean;
40
+ /** Total number of values returned. */
41
+ readonly total: number;
42
+ };
43
+ }
@@ -0,0 +1,9 @@
1
+ /** Result returned by content composition. */
2
+ export interface McpContentResult {
3
+ /** MIME type of the composed output, always `'text/markdown'`. */
4
+ readonly type: 'text/markdown';
5
+ /** The composed Markdown string. */
6
+ readonly data: string;
7
+ /** Character count of `data` (not byte count). */
8
+ readonly total: number;
9
+ }
@@ -0,0 +1,11 @@
1
+ /** Export report returned by the daemon. */
2
+ export interface McpExportResult {
3
+ /** Absolute path to the directory where files were written. */
4
+ readonly path: string;
5
+ /** Number of section files copied to the export directory. */
6
+ readonly sections_exported: number;
7
+ /** Number of document manifest files copied. */
8
+ readonly documents_exported: number;
9
+ /** Time taken to complete the export, in milliseconds. */
10
+ readonly elapsed_ms: number;
11
+ }
@@ -0,0 +1,15 @@
1
+ /** Garbage collection report returned by the daemon. */
2
+ export interface McpGcResult {
3
+ /** Number of unreferenced sections removed. */
4
+ readonly removed_sections: number;
5
+ /** Total bytes freed by removing unreferenced sections. */
6
+ readonly removed_bytes: number;
7
+ /** Time taken to complete garbage collection, in milliseconds. */
8
+ readonly elapsed_ms: number;
9
+ /**
10
+ * Number of sections whose source_path file no longer contains
11
+ * their heading text. Advisory; not auto-removed by gc.
12
+ * Absent on older daemon versions.
13
+ */
14
+ readonly stale_sources?: number;
15
+ }
@@ -0,0 +1,16 @@
1
+ import type { McpIntegrityError } from './mcp-integrity-error.model.ts';
2
+ /** Integrity check report returned by the daemon. */
3
+ export interface McpIntegrityCheckResult {
4
+ /** `true` when all checks passed and no errors were found. */
5
+ readonly ok: boolean;
6
+ /** All integrity errors found; empty when `ok` is `true`. */
7
+ readonly errors: McpIntegrityError[];
8
+ /** Total number of sections examined. */
9
+ readonly sections_checked: number;
10
+ /** Total number of documents examined. */
11
+ readonly documents_checked: number;
12
+ /** Total number of marker references checked. */
13
+ readonly references_checked: number;
14
+ /** Time taken to complete the check, in milliseconds. */
15
+ readonly elapsed_ms: number;
16
+ }
@@ -0,0 +1,9 @@
1
+ /** A single integrity error found during a database check. */
2
+ export interface McpIntegrityError {
3
+ /** The category of integrity violation detected. */
4
+ readonly type: 'checksum_mismatch' | 'orphan_section' | 'orphan_document' | 'broken_reference' | 'type_mismatch' | 'circular_reference';
5
+ /** Identifier of the entity (kbid or docid) that has the issue. */
6
+ readonly entity: string;
7
+ /** Human-readable description of the specific problem. */
8
+ readonly detail: string;
9
+ }
@@ -0,0 +1,9 @@
1
+ /** A JSON-RPC 2.0 notification with no expected response. */
2
+ export interface McpNotification {
3
+ /** JSON-RPC protocol version. Must always be '2.0'. */
4
+ readonly jsonrpc: '2.0';
5
+ /** Notification method name. */
6
+ readonly method: string;
7
+ /** Optional notification parameters. */
8
+ readonly params?: Record<string, unknown>;
9
+ }
@@ -0,0 +1,9 @@
1
+ /** Index rebuild report returned by the daemon. */
2
+ export interface McpRebuildResult {
3
+ /** Number of text and code sections that were re-indexed. */
4
+ readonly sections_reindexed: number;
5
+ /** Total number of unique terms written to the rebuilt indexes. */
6
+ readonly terms_indexed: number;
7
+ /** Time taken to complete the rebuild, in milliseconds. */
8
+ readonly elapsed_ms: number;
9
+ }
@@ -0,0 +1,11 @@
1
+ /** A JSON-RPC 2.0 request message sent to the MCP server. */
2
+ export interface McpRequest {
3
+ /** JSON-RPC protocol version. Must always be '2.0'. */
4
+ readonly jsonrpc: '2.0';
5
+ /** Request identifier; absent for notifications. */
6
+ readonly id?: number | string;
7
+ /** RPC method name. */
8
+ readonly method: string;
9
+ /** Optional method parameters. */
10
+ readonly params?: Record<string, unknown>;
11
+ }
@@ -0,0 +1,12 @@
1
+ /** Result returned by `handleResourceRead`. */
2
+ export interface McpResourceResult {
3
+ /** One or more content items for the requested resource URI. */
4
+ readonly contents: readonly {
5
+ /** The resource URI that was read. */
6
+ readonly uri: string;
7
+ /** MIME type of the content body. */
8
+ readonly mimeType: string;
9
+ /** Text body of the resource. */
10
+ readonly text: string;
11
+ }[];
12
+ }
@@ -0,0 +1,11 @@
1
+ /** A URI template describing an MCP resource the server serves. */
2
+ export interface McpResourceTemplate {
3
+ /** RFC 6570 URI template for the resource. */
4
+ readonly uriTemplate: string;
5
+ /** Human-readable resource name. */
6
+ readonly name: string;
7
+ /** Human-readable description of the resource. */
8
+ readonly description: string;
9
+ /** Optional MIME type for the resource content. */
10
+ readonly mimeType?: string;
11
+ }
@@ -0,0 +1,18 @@
1
+ /** A JSON-RPC 2.0 response message sent from the MCP server. */
2
+ export interface McpResponse {
3
+ /** JSON-RPC protocol version. Must always be '2.0'. */
4
+ readonly jsonrpc: '2.0';
5
+ /** Echoes the request identifier. */
6
+ readonly id: number | string;
7
+ /** Successful result payload; absent when error is set. */
8
+ readonly result?: unknown;
9
+ /** Error payload; absent when result is set. */
10
+ readonly error?: {
11
+ /** Numeric error code as defined by JSON-RPC or MCP. */
12
+ readonly code: number;
13
+ /** Human-readable error message. */
14
+ readonly message: string;
15
+ /** Optional additional error data. */
16
+ readonly data?: unknown;
17
+ };
18
+ }
@@ -0,0 +1,7 @@
1
+ /** Identity information for the MCP server. */
2
+ export interface McpServerInfo {
3
+ /** Server name reported during MCP initialization. */
4
+ readonly name: string;
5
+ /** Server version string reported during MCP initialization. */
6
+ readonly version: string;
7
+ }
@@ -0,0 +1,16 @@
1
+ import type { McpLogLevel } from './log-types.interface.ts';
2
+ /**
3
+ * Mutable runtime state shared by `McpServer` and its request
4
+ * handler. Extracted as an interface so the handler can be
5
+ * tested independently of the full server class.
6
+ */
7
+ export interface McpServerState {
8
+ /** Advertised capabilities received from the MCP host. */
9
+ hostCapabilities: Record<string, unknown> | null;
10
+ /** Currently configured log level, or `null` when unset. */
11
+ logLevel: McpLogLevel | null;
12
+ /** Set of URI strings that the host has subscribed to. */
13
+ readonly subscriptions: Set<string>;
14
+ /** Filesystem path used as the KB context root. */
15
+ readonly contextPath: string;
16
+ }
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Optional behavioral hints for an MCP tool, used by clients to
3
+ * decide how to present or invoke the tool safely.
4
+ */
5
+ export interface McpToolAnnotations {
6
+ /**
7
+ * Human-readable title for the tool, suitable for display
8
+ * in client UIs.
9
+ */
10
+ readonly title?: string;
11
+ /**
12
+ * When `true`, the tool only reads data and does not modify
13
+ * any server-side state.
14
+ */
15
+ readonly readOnlyHint?: boolean;
16
+ /**
17
+ * When `true`, the tool may cause data loss or irreversible
18
+ * changes.
19
+ */
20
+ readonly destructiveHint?: boolean;
21
+ /**
22
+ * When `true`, calling the tool multiple times with the same
23
+ * arguments produces the same result with no additional side
24
+ * effects.
25
+ */
26
+ readonly idempotentHint?: boolean;
27
+ /**
28
+ * When `true`, the tool may interact with systems or data
29
+ * outside the immediate knowledge base context.
30
+ */
31
+ readonly openWorldHint?: boolean;
32
+ }
@@ -0,0 +1,15 @@
1
+ import type { McpToolAnnotations } from './mcp-tool-annotations.interface.ts';
2
+ /** Definition of a single MCP tool exposed by the server. */
3
+ export interface McpToolDefinition {
4
+ /** Unique tool name used to invoke it. */
5
+ readonly name: string;
6
+ /** Human-readable description of what the tool does. */
7
+ readonly description: string;
8
+ /** JSON Schema object describing the tool's input parameters. */
9
+ readonly inputSchema: Record<string, unknown>;
10
+ /**
11
+ * Optional behavioral hints that describe how the tool
12
+ * interacts with state.
13
+ */
14
+ readonly annotations?: McpToolAnnotations;
15
+ }
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Result returned by `handleToolCall`. Successful tool responses
3
+ * carry `isError: true` for application-level failures rather than
4
+ * using JSON-RPC error responses.
5
+ */
6
+ export interface McpToolResult {
7
+ /** One or more text content items describing the result. */
8
+ readonly content: readonly {
9
+ /** Content type identifier, always 'text'. */
10
+ readonly type: string;
11
+ /** Text payload of the content item. */
12
+ readonly text: string;
13
+ }[];
14
+ /**
15
+ * Set to `true` when the tool encountered an application-level
16
+ * error. Absent or `false` on success.
17
+ */
18
+ readonly isError?: boolean;
19
+ }
@@ -0,0 +1,220 @@
1
+ import type { AddSectionResult } from '../../worker-client/typings/add-section-result.model.ts';
2
+ import type { RemoveSectionResult } from './remove-section-result.model.ts';
3
+ import type { SectionRecord } from '../../wasm-codec/functions/decode-section-records.function.ts';
4
+ import type { DocumentManifest } from '../../wasm-codec/functions/decode-document-manifest.function.ts';
5
+ import type { McpContentResult } from './mcp-content-result.model.ts';
6
+ import type { McpIntegrityCheckResult } from './mcp-integrity-check-result.model.ts';
7
+ import type { McpGcResult } from './mcp-gc-result.model.ts';
8
+ import type { McpRebuildResult } from './mcp-rebuild-result.model.ts';
9
+ import type { McpExportResult } from './mcp-export-result.model.ts';
10
+ /**
11
+ * Interface for the worker client dependency consumed by the MCP
12
+ * server. Defines the knowledge-base operations the server exposes
13
+ * as MCP tools and resources without coupling to the concrete
14
+ * `WorkerClient` class.
15
+ */
16
+ export interface McpWorkerClient {
17
+ /**
18
+ * Searches the knowledge base using the given parameters.
19
+ *
20
+ * @param params - query string and optional search options
21
+ * @returns ranked list of matching section summaries
22
+ */
23
+ search(params: {
24
+ /** Natural language query text. */
25
+ readonly query: string;
26
+ /** Search mode: 'sections', 'documents', or 'stats'. */
27
+ readonly mode?: string;
28
+ /**
29
+ * Search algorithm: `'lexical'`, `'vector'`, or `'hybrid'`.
30
+ * Defaults to `'lexical'` when omitted.
31
+ */
32
+ readonly algo?: string;
33
+ /** Maximum number of results to return. */
34
+ readonly limit?: number;
35
+ /** Number of results to skip for pagination. */
36
+ readonly offset?: number;
37
+ }): Promise<{
38
+ readonly items: readonly {
39
+ readonly kbid: string;
40
+ readonly heading: string | null;
41
+ readonly type: string;
42
+ readonly docids: readonly string[];
43
+ readonly score: number;
44
+ readonly snippet: string;
45
+ readonly matched_terms: readonly string[];
46
+ /** Fields that contained matches (heading, body, code). */
47
+ readonly matched_fields?: readonly string[];
48
+ /** ISO 8601 creation timestamp of the section. */
49
+ readonly created_at?: string;
50
+ }[];
51
+ readonly total: number;
52
+ readonly offset: number;
53
+ readonly limit: number;
54
+ readonly has_more: boolean;
55
+ /**
56
+ * `true` when results came from an automatic AND-to-OR
57
+ * fallback query relaxation.
58
+ */
59
+ readonly relaxed?: boolean;
60
+ }>;
61
+ /**
62
+ * Adds a new section to the knowledge base.
63
+ *
64
+ * @param params - content type, raw content, and optional metadata
65
+ * @returns the assigned knowledge-base identifier
66
+ */
67
+ addSection(params: {
68
+ /** Semantic type label for the section content. */
69
+ readonly sectionType: string;
70
+ /** Raw text or base64-encoded content for the section. */
71
+ readonly content: string;
72
+ /** Optional section title. Required for image/* types. */
73
+ readonly title?: string;
74
+ /** Optional section description. */
75
+ readonly description?: string;
76
+ /** Optional document ID to group this section under. */
77
+ readonly docid?: string;
78
+ /** Optional tags for scoping and filtering. */
79
+ readonly tags?: string[];
80
+ /**
81
+ * When `true`, replaces an existing section that has the same
82
+ * source key (supersession).
83
+ */
84
+ readonly replace?: boolean;
85
+ }): Promise<AddSectionResult>;
86
+ /**
87
+ * Removes a section from the knowledge base.
88
+ *
89
+ * @param kbid - knowledge-base identifier of the section to remove
90
+ * @returns removal result with `removed` flag and elapsed time
91
+ */
92
+ removeSection(kbid: string): Promise<RemoveSectionResult>;
93
+ /**
94
+ * Retrieves one or more sections by their identifiers.
95
+ *
96
+ * @param kbids - list of knowledge-base identifiers to fetch
97
+ * @returns sections in the order their IDs were requested
98
+ */
99
+ readSections(kbids: string[]): Promise<{
100
+ /** Knowledge-base identifier for this section. */
101
+ kbid: string;
102
+ /** Semantic type label assigned to the section. */
103
+ sectionType: string;
104
+ /** Raw text content of the section. */
105
+ content: string;
106
+ /** Byte size of the stored content. */
107
+ size: number;
108
+ }[]>;
109
+ /**
110
+ * Retrieves a full document record including its ordered sections.
111
+ *
112
+ * @param docid - identifier of the document to retrieve
113
+ * @returns the document record as returned by the daemon
114
+ */
115
+ retrieveDocument(docid: string): Promise<unknown>;
116
+ /**
117
+ * Composes a rendered Markdown document from one or more kbid
118
+ * or docid identifiers.
119
+ *
120
+ * @param ids - list of kbid or docid identifiers (may be mixed)
121
+ * @returns composed Markdown result with character count
122
+ */
123
+ content(ids: string[]): Promise<McpContentResult>;
124
+ /**
125
+ * Returns database metadata and status from the daemon.
126
+ *
127
+ * @returns document count, section count, and timing statistics
128
+ */
129
+ dbStatus(): Promise<{
130
+ /** Whether the daemon has finished loading its WASM modules. */
131
+ initialized: boolean;
132
+ /** Absolute path to the context directory the daemon serves. */
133
+ contextPath: string;
134
+ /** In-memory cache statistics. */
135
+ cacheStats: {
136
+ /** Number of content entries currently cached. */
137
+ contentCount: number;
138
+ /** Number of index entries currently cached. */
139
+ indexCount: number;
140
+ };
141
+ }>;
142
+ /**
143
+ * Runs an integrity check on the knowledge-base database.
144
+ *
145
+ * @returns a report of all issues found; `ok` is `true` when
146
+ * no errors were detected
147
+ */
148
+ integrityCheck(): Promise<McpIntegrityCheckResult>;
149
+ /**
150
+ * Removes unreferenced sections from the database.
151
+ *
152
+ * @returns a report of sections removed and bytes freed
153
+ */
154
+ gc(): Promise<McpGcResult>;
155
+ /**
156
+ * Reconstructs all index files from section files and document
157
+ * manifests on disk.
158
+ *
159
+ * @returns a report of sections and terms re-indexed
160
+ */
161
+ rebuildIndexes(): Promise<McpRebuildResult>;
162
+ /**
163
+ * Retrieves all sections whose type name matches the given string.
164
+ *
165
+ * @param sectionType - the application-level type name to filter by
166
+ * @returns all section records with a matching type name
167
+ */
168
+ listByType(sectionType: string): Promise<SectionRecord[]>;
169
+ /**
170
+ * Retrieves all documents whose type name matches the given string.
171
+ *
172
+ * @param docType - the application-level document type to filter by
173
+ * @returns all document manifests with a matching type name
174
+ */
175
+ listDocumentsByType(docType: string): Promise<DocumentManifest[]>;
176
+ /**
177
+ * Groups a set of sections under a named document.
178
+ *
179
+ * @param title - human-readable document title
180
+ * @param kbids - identifiers of the sections to group
181
+ * @returns the assigned document identifier
182
+ */
183
+ groupSections(title: string, kbids: string[], docType?: string): Promise<string>;
184
+ /**
185
+ * Removes the document grouping for the given document.
186
+ *
187
+ * The sections themselves are not deleted; only the grouping
188
+ * record is removed.
189
+ *
190
+ * @param docid - identifier of the document grouping to remove
191
+ */
192
+ removeGrouping(docid: string): Promise<void>;
193
+ /**
194
+ * Retrieves full content and context for one or more sections by
195
+ * their knowledge-base identifiers.
196
+ *
197
+ * @param params - section identifier(s) and optional expansion depth
198
+ * @returns a single result or array of results depending on input
199
+ */
200
+ recall(params: {
201
+ /** Single section identifier. */
202
+ readonly kbid?: string;
203
+ /** Batch section identifiers. */
204
+ readonly kbids?: readonly string[];
205
+ /** Expansion depth (0-3, default: 0). */
206
+ readonly depth?: number;
207
+ }): Promise<unknown>;
208
+ /**
209
+ * Exports the database to a target directory as a self-contained
210
+ * snapshot (sections, documents, catalog -- no indexes).
211
+ *
212
+ * @param params - optional export parameters
213
+ * @returns export report with the resolved path and file counts
214
+ */
215
+ export(params?: {
216
+ readonly path?: string;
217
+ }): Promise<McpExportResult>;
218
+ /** Destroys the IPC socket and clears the connection state. */
219
+ disconnect(): void;
220
+ }
@@ -0,0 +1,17 @@
1
+ /** Shape of a content item in an MCP tool call response. */
2
+ export interface ToolContent {
3
+ /** Content type identifier, typically `'text'`. */
4
+ readonly type: string;
5
+ /** The text payload. */
6
+ readonly text: string;
7
+ }
8
+ /**
9
+ * Result returned by any MCP tool call handler, containing one or
10
+ * more content items and an optional error flag.
11
+ */
12
+ export interface ToolCallResult {
13
+ /** One or more content items describing the result. */
14
+ readonly content: ToolContent[];
15
+ /** Set to `true` when the tool encountered an error. */
16
+ readonly isError?: boolean;
17
+ }
@@ -0,0 +1,18 @@
1
+ import type { ConflictResolution } from '../typings/conflict-resolution.type.ts';
2
+ import type { ExportEntry } from '../typings/export-entry.interface.ts';
3
+ import type { ImportReport } from '../typings/import-report.interface.ts';
4
+ /** A resolution record pairing an entry with its resolution. */
5
+ interface ResolutionRecord {
6
+ /** The export entry being resolved. */
7
+ readonly entry: ExportEntry;
8
+ /** The resolution applied to the entry. */
9
+ readonly resolution: ConflictResolution;
10
+ }
11
+ /**
12
+ * Builds an import report from resolution results.
13
+ *
14
+ * Counts each resolution type and determines whether
15
+ * a database rebuild is required after the import.
16
+ */
17
+ export declare function buildImportReport(resolutions: readonly ResolutionRecord[]): ImportReport;
18
+ export {};
@@ -0,0 +1,11 @@
1
+ import type { ExportEntry } from '../typings/export-entry.interface.ts';
2
+ /**
3
+ * Parses a serialized export entry.
4
+ *
5
+ * Expects TOML frontmatter delimited by `+++` lines,
6
+ * followed by the body content.
7
+ *
8
+ * @throws {Error} if the frontmatter delimiters are absent
9
+ * or required fields are missing.
10
+ */
11
+ export declare function parseExportEntry(content: string): ExportEntry;
@@ -0,0 +1,13 @@
1
+ import type { ConflictResolution } from '../typings/conflict-resolution.type.ts';
2
+ import type { ExportEntry } from '../typings/export-entry.interface.ts';
3
+ /**
4
+ * Determines the conflict resolution action for
5
+ * an incoming section.
6
+ *
7
+ * Rules applied in order:
8
+ * 1. Same kbid exists -> skip
9
+ * 2. Same source_key, incoming is newer -> supersede
10
+ * 3. Same source_key, incoming is not newer -> skip
11
+ * 4. No match -> add
12
+ */
13
+ export declare function resolveConflict(incoming: ExportEntry, existingKbids: ReadonlySet<string>, existingBySourceKey: ReadonlyMap<string, ExportEntry>): ConflictResolution;