@dikolab/kbdb 0.3.0 → 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 (425) hide show
  1. package/README.md +24 -43
  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 +63 -9
  14. package/dist/cli.cjs.map +2 -2
  15. package/dist/cli.mjs +63 -9
  16. package/dist/cli.mjs.map +2 -2
  17. package/dist/src/shared/auto-capture/classes/auto-capture-controller.class.d.ts +33 -0
  18. package/dist/src/shared/auto-capture/constants/auto-capture-defaults.constant.d.ts +8 -0
  19. package/dist/src/shared/auto-capture/functions/build-capture-prompt.function.d.ts +11 -0
  20. package/dist/src/shared/auto-capture/functions/evaluate-trigger.function.d.ts +12 -0
  21. package/dist/src/shared/auto-capture/index.d.ts +7 -0
  22. package/dist/src/shared/auto-capture/typings/auto-capture-config.interface.d.ts +13 -0
  23. package/dist/src/shared/auto-capture/typings/auto-capture-state.interface.d.ts +13 -0
  24. package/dist/src/shared/auto-capture/typings/auto-capture-trigger.interface.d.ts +7 -0
  25. package/dist/src/shared/cli/constants/global-help.constant.d.ts +8 -0
  26. package/dist/src/shared/cli/constants/leaf-help.constant.d.ts +7 -0
  27. package/dist/src/shared/cli/constants/memory-protocol-body.constant.d.ts +7 -0
  28. package/dist/src/shared/cli/constants/query-guidance-body.constant.d.ts +7 -0
  29. package/dist/src/shared/cli/constants/subcommand-help.constant.d.ts +8 -0
  30. package/dist/src/shared/cli/functions/collect-files.function.d.ts +13 -0
  31. package/dist/src/shared/cli/functions/compute-section-kbid.function.d.ts +15 -0
  32. package/dist/src/shared/cli/functions/format-mcp-output.function.d.ts +9 -0
  33. package/dist/src/shared/cli/functions/format-text-output.function.d.ts +9 -0
  34. package/dist/src/shared/cli/functions/generate-group-help.function.d.ts +11 -0
  35. package/dist/src/shared/cli/functions/handle-data-command.function.d.ts +16 -0
  36. package/dist/src/shared/cli/functions/handle-mcp.function.d.ts +15 -0
  37. package/dist/src/shared/cli/functions/handle-migrate.function.d.ts +15 -0
  38. package/dist/src/shared/cli/functions/hydrate-search-previews.function.d.ts +14 -0
  39. package/dist/src/shared/cli/functions/resolve-skill-names.function.d.ts +16 -0
  40. package/dist/src/shared/cli/functions/run-search.function.d.ts +1 -0
  41. package/dist/src/shared/cli/functions/version-gate.function.d.ts +15 -0
  42. package/dist/src/shared/cli/functions/wrap-command.function.d.ts +15 -0
  43. package/dist/src/shared/cli/typings/agent-create-client.interface.d.ts +42 -0
  44. package/dist/src/shared/cli/typings/agent-get-client.interface.d.ts +36 -0
  45. package/dist/src/shared/cli/typings/check-client.interface.d.ts +58 -0
  46. package/dist/src/shared/cli/typings/cli-deps.interface.d.ts +48 -0
  47. package/dist/src/shared/cli/typings/cli-options.interface.d.ts +2 -0
  48. package/dist/src/shared/cli/typings/disconnectable-client.interface.d.ts +26 -0
  49. package/dist/src/shared/cli/typings/dispatch-client.type.d.ts +27 -0
  50. package/dist/src/shared/cli/typings/learn-client.interface.d.ts +52 -0
  51. package/dist/src/shared/cli/typings/learn-io.interface.d.ts +5 -0
  52. package/dist/src/shared/cli/typings/search-client.interface.d.ts +71 -0
  53. package/dist/src/shared/embedding/classes/null-embedding-provider.class.d.ts +20 -0
  54. package/dist/src/shared/embedding/constants/near-duplicate-thresholds.constant.d.ts +15 -0
  55. package/dist/src/shared/embedding/functions/build-vector-index.function.d.ts +14 -0
  56. package/dist/src/shared/embedding/functions/cosine-similarity.function.d.ts +10 -0
  57. package/dist/src/shared/embedding/functions/detect-near-duplicates.function.d.ts +18 -0
  58. package/dist/src/shared/embedding/functions/jaccard-coefficient.function.d.ts +9 -0
  59. package/dist/src/shared/embedding/functions/read-vector-index-meta.function.d.ts +10 -0
  60. package/dist/src/shared/embedding/functions/rrf-fuse.function.d.ts +14 -0
  61. package/dist/src/shared/embedding/functions/search-vectors.function.d.ts +14 -0
  62. package/dist/src/shared/embedding/index.d.ts +16 -0
  63. package/dist/src/shared/embedding/typings/embedding-config.interface.d.ts +20 -0
  64. package/dist/src/shared/embedding/typings/embedding-provider.interface.d.ts +23 -0
  65. package/dist/src/shared/embedding/typings/near-duplicate-candidate.model.d.ts +23 -0
  66. package/dist/src/shared/embedding/typings/near-duplicate-result.model.d.ts +24 -0
  67. package/dist/src/shared/embedding/typings/vector-index-entry.model.d.ts +12 -0
  68. package/dist/src/shared/embedding/typings/vector-index-meta.model.d.ts +11 -0
  69. package/dist/src/shared/embedding/typings/vector-search-result.model.d.ts +7 -0
  70. package/dist/src/shared/mcp/constants/tool-agent-create.constant.d.ts +3 -0
  71. package/dist/src/shared/mcp/constants/tool-agent-delete.constant.d.ts +3 -0
  72. package/dist/src/shared/mcp/constants/tool-agent-get.constant.d.ts +3 -0
  73. package/dist/src/shared/mcp/constants/tool-agent-list.constant.d.ts +3 -0
  74. package/dist/src/shared/mcp/constants/tool-auto-capture-review.constant.d.ts +8 -0
  75. package/dist/src/shared/mcp/constants/tool-check.constant.d.ts +3 -0
  76. package/dist/src/shared/mcp/constants/tool-content.constant.d.ts +3 -0
  77. package/dist/src/shared/mcp/constants/tool-export.constant.d.ts +3 -0
  78. package/dist/src/shared/mcp/constants/tool-gc.constant.d.ts +3 -0
  79. package/dist/src/shared/mcp/constants/tool-learn.constant.d.ts +3 -0
  80. package/dist/src/shared/mcp/constants/tool-rebuild.constant.d.ts +3 -0
  81. package/dist/src/shared/mcp/constants/tool-recall.constant.d.ts +3 -0
  82. package/dist/src/shared/mcp/constants/tool-retrieve.constant.d.ts +3 -0
  83. package/dist/src/shared/mcp/constants/tool-search.constant.d.ts +3 -0
  84. package/dist/src/shared/mcp/constants/tool-skill-delete.constant.d.ts +3 -0
  85. package/dist/src/shared/mcp/constants/tool-skill-get.constant.d.ts +3 -0
  86. package/dist/src/shared/mcp/constants/tool-skill-learn.constant.d.ts +3 -0
  87. package/dist/src/shared/mcp/constants/tool-skill-list.constant.d.ts +3 -0
  88. package/dist/src/shared/mcp/constants/tool-status.constant.d.ts +3 -0
  89. package/dist/src/shared/mcp/constants/tool-unlearn.constant.d.ts +3 -0
  90. package/dist/src/shared/mcp/functions/as-boolean-or-undefined.function.d.ts +7 -0
  91. package/dist/src/shared/mcp/functions/as-string-array-or-undefined.function.d.ts +7 -0
  92. package/dist/src/shared/mcp/functions/as-string-array.function.d.ts +7 -0
  93. package/dist/src/shared/mcp/functions/as-string.function.d.ts +8 -0
  94. package/dist/src/shared/mcp/functions/build-skills-text.function.d.ts +18 -0
  95. package/dist/src/shared/mcp/functions/handle-agent-prompt.function.d.ts +14 -0
  96. package/dist/src/shared/mcp/functions/handle-mcp-request.function.d.ts +14 -0
  97. package/dist/src/shared/mcp/functions/handle-prompt-get.function.d.ts +4 -3
  98. package/dist/src/shared/mcp/functions/handle-skill-prompt.function.d.ts +16 -0
  99. package/dist/src/shared/mcp/functions/handle-tool-auto-capture-review.function.d.ts +12 -0
  100. package/dist/src/shared/mcp/functions/handle-tool-check.function.d.ts +11 -0
  101. package/dist/src/shared/mcp/functions/handle-tool-content.function.d.ts +12 -0
  102. package/dist/src/shared/mcp/functions/handle-tool-export.function.d.ts +12 -0
  103. package/dist/src/shared/mcp/functions/handle-tool-gc.function.d.ts +11 -0
  104. package/dist/src/shared/mcp/functions/handle-tool-learn.function.d.ts +12 -0
  105. package/dist/src/shared/mcp/functions/handle-tool-rebuild.function.d.ts +11 -0
  106. package/dist/src/shared/mcp/functions/handle-tool-retrieve.function.d.ts +12 -0
  107. package/dist/src/shared/mcp/functions/handle-tool-search.function.d.ts +13 -0
  108. package/dist/src/shared/mcp/functions/handle-tool-skill-delete.function.d.ts +12 -0
  109. package/dist/src/shared/mcp/functions/handle-tool-skill-get.function.d.ts +13 -0
  110. package/dist/src/shared/mcp/functions/handle-tool-skill-learn.function.d.ts +13 -0
  111. package/dist/src/shared/mcp/functions/handle-tool-skill-list.function.d.ts +11 -0
  112. package/dist/src/shared/mcp/functions/handle-tool-status.function.d.ts +11 -0
  113. package/dist/src/shared/mcp/functions/handle-tool-unlearn.function.d.ts +12 -0
  114. package/dist/src/shared/mcp/functions/parse-agent-meta.function.d.ts +14 -0
  115. package/dist/src/shared/mcp/functions/parse-skill-arguments.function.d.ts +11 -0
  116. package/dist/src/shared/mcp/functions/read-agent-meta.function.d.ts +17 -0
  117. package/dist/src/shared/mcp/functions/resolve-skill-refs.function.d.ts +23 -0
  118. package/dist/src/shared/mcp/functions/run-startup-health-check.function.d.ts +14 -0
  119. package/dist/src/shared/mcp/typings/mcp-capabilities.interface.d.ts +16 -0
  120. package/dist/src/shared/mcp/typings/mcp-client.interface.d.ts +2 -0
  121. package/dist/src/shared/mcp/typings/mcp-completion.interface.d.ts +43 -0
  122. package/dist/src/shared/mcp/typings/mcp-content-result.model.d.ts +9 -0
  123. package/dist/src/shared/mcp/typings/mcp-export-result.model.d.ts +11 -0
  124. package/dist/src/shared/mcp/typings/mcp-gc-result.model.d.ts +15 -0
  125. package/dist/src/shared/mcp/typings/mcp-integrity-check-result.model.d.ts +16 -0
  126. package/dist/src/shared/mcp/typings/mcp-integrity-error.model.d.ts +9 -0
  127. package/dist/src/shared/mcp/typings/mcp-notification.interface.d.ts +9 -0
  128. package/dist/src/shared/mcp/typings/mcp-rebuild-result.model.d.ts +9 -0
  129. package/dist/src/shared/mcp/typings/mcp-request.interface.d.ts +11 -0
  130. package/dist/src/shared/mcp/typings/mcp-resource-result.interface.d.ts +12 -0
  131. package/dist/src/shared/mcp/typings/mcp-resource-template.interface.d.ts +11 -0
  132. package/dist/src/shared/mcp/typings/mcp-response.interface.d.ts +18 -0
  133. package/dist/src/shared/mcp/typings/mcp-server-info.interface.d.ts +7 -0
  134. package/dist/src/shared/mcp/typings/mcp-server-state.interface.d.ts +16 -0
  135. package/dist/src/shared/mcp/typings/mcp-tool-annotations.interface.d.ts +32 -0
  136. package/dist/src/shared/mcp/typings/mcp-tool-definition.interface.d.ts +15 -0
  137. package/dist/src/shared/mcp/typings/mcp-tool-result.interface.d.ts +19 -0
  138. package/dist/src/shared/mcp/typings/mcp-worker-client.interface.d.ts +220 -0
  139. package/dist/src/shared/mcp/typings/tool-call-result.model.d.ts +17 -0
  140. package/dist/src/shared/sync/functions/build-import-report.function.d.ts +18 -0
  141. package/dist/src/shared/sync/functions/parse-export-entry.function.d.ts +11 -0
  142. package/dist/src/shared/sync/functions/resolve-conflict.function.d.ts +13 -0
  143. package/dist/src/shared/sync/functions/serialize-export-entry.function.d.ts +8 -0
  144. package/dist/src/shared/sync/index.d.ts +9 -0
  145. package/dist/src/shared/sync/typings/conflict-resolution.type.d.ts +8 -0
  146. package/dist/src/shared/sync/typings/export-entry.interface.d.ts +13 -0
  147. package/dist/src/shared/sync/typings/export-options.interface.d.ts +9 -0
  148. package/dist/src/shared/sync/typings/import-options.interface.d.ts +7 -0
  149. package/dist/src/shared/sync/typings/import-report.interface.d.ts +15 -0
  150. package/dist/src/shared/wasm-codec/functions/decode-one-recall-result.function.d.ts +14 -0
  151. package/dist/src/shared/wasm-codec/functions/decode-option-string.function.d.ts +12 -0
  152. package/dist/src/shared/wasm-codec/functions/decode-recall-document.function.d.ts +14 -0
  153. package/dist/src/shared/wasm-codec/functions/decode-recall-reference.function.d.ts +14 -0
  154. package/dist/src/shared/wasm-codec/functions/decode-recall-sibling.function.d.ts +13 -0
  155. package/dist/src/shared/wasm-codec/functions/decode-section-match.function.d.ts +15 -0
  156. package/dist/src/shared/wasm-codec/functions/decode-section-record-trailing.function.d.ts +14 -0
  157. package/dist/src/shared/wasm-codec/functions/decode-section-record.function.d.ts +14 -0
  158. package/dist/src/shared/wasm-codec/functions/decode-section-type.function.d.ts +13 -0
  159. package/dist/src/shared/wasm-codec/functions/decode-wasm-list.function.d.ts +17 -0
  160. package/dist/src/shared/wasm-codec/typings/add-section-input.model.d.ts +45 -0
  161. package/dist/src/shared/wasm-codec/typings/add-section-result.model.d.ts +27 -0
  162. package/dist/src/shared/wasm-codec/typings/document-manifest.model.d.ts +19 -0
  163. package/dist/src/shared/wasm-codec/typings/document-section.model.d.ts +12 -0
  164. package/dist/src/shared/wasm-codec/typings/item-decoder.type.d.ts +6 -0
  165. package/dist/src/shared/wasm-codec/typings/near-duplicate.model.d.ts +16 -0
  166. package/dist/src/shared/wasm-codec/typings/paged-search-result.model.d.ts +21 -0
  167. package/dist/src/shared/wasm-codec/typings/section-match.model.d.ts +31 -0
  168. package/dist/src/shared/wasm-codec/typings/section-record-trailing.model.d.ts +38 -0
  169. package/dist/src/shared/wasm-codec/typings/section-record.model.d.ts +66 -0
  170. package/dist/src/shared/wasm-codec/typings/section-type-result.model.d.ts +12 -0
  171. package/dist/src/shared/worker-client/functions/handle-ipc-data.function.d.ts +16 -0
  172. package/dist/src/shared/worker-client/functions/send-ipc-request.function.d.ts +19 -0
  173. package/dist/src/shared/worker-client/typings/add-section-result.model.d.ts +2 -0
  174. package/dist/src/shared/worker-client/typings/json-rpc-response.interface.d.ts +16 -0
  175. package/dist/src/shared/worker-client/typings/pending-call.interface.d.ts +7 -0
  176. package/dist/src/shared/worker-client/typings/recall-document.model.d.ts +16 -0
  177. package/dist/src/shared/worker-client/typings/recall-params.model.d.ts +15 -0
  178. package/dist/src/shared/worker-client/typings/recall-reference.model.d.ts +32 -0
  179. package/dist/src/shared/worker-client/typings/recall-sibling.model.d.ts +11 -0
  180. package/dist/src/shared/worker-client/typings/recall-single-result.model.d.ts +40 -0
  181. package/dist/src/shared/worker-daemon/classes/ipc-error.class.d.ts +17 -0
  182. package/dist/src/shared/worker-daemon/constants/wasm-method-map.constant.d.ts +16 -0
  183. package/dist/src/shared/worker-daemon/functions/build-ipc-error-response.function.d.ts +9 -0
  184. package/dist/src/shared/worker-daemon/functions/check-catalog-version.function.d.ts +9 -0
  185. package/dist/src/shared/worker-daemon/functions/check-preconditions.function.d.ts +10 -0
  186. package/dist/src/shared/worker-daemon/functions/detect-stale-pid.function.d.ts +15 -0
  187. package/dist/src/shared/worker-daemon/functions/dispatch-request.function.d.ts +35 -0
  188. package/dist/src/shared/worker-daemon/functions/handle-check-version.function.d.ts +23 -0
  189. package/dist/src/shared/worker-daemon/functions/handle-config-method.function.d.ts +11 -0
  190. package/dist/src/shared/worker-daemon/functions/handle-read-ops.function.d.ts +52 -0
  191. package/dist/src/shared/worker-daemon/functions/handle-write-ops.function.d.ts +44 -0
  192. package/dist/src/shared/worker-daemon/functions/parse-auto-capture-section.function.d.ts +14 -0
  193. package/dist/src/shared/worker-daemon/functions/parse-catalog-version.function.d.ts +10 -0
  194. package/dist/src/shared/worker-daemon/functions/parse-embedding-section.function.d.ts +13 -0
  195. package/dist/src/shared/worker-daemon/functions/parse-worker-toml.function.d.ts +11 -0
  196. package/dist/src/shared/worker-daemon/functions/run-startup-integrity-check.function.d.ts +18 -0
  197. package/dist/src/shared/worker-daemon/functions/scan-near-duplicates.function.d.ts +21 -0
  198. package/dist/src/shared/worker-daemon/functions/wasm-bridge.function.d.ts +51 -0
  199. package/dist/src/shared/worker-daemon/functions/wasm-memory-helpers.function.d.ts +22 -0
  200. package/dist/src/shared/worker-daemon/functions/write-lock.function.d.ts +32 -0
  201. package/dist/src/shared/worker-daemon/typings/allocator-ref.interface.d.ts +16 -0
  202. package/dist/src/shared/worker-daemon/typings/daemon-config.interface.d.ts +6 -0
  203. package/dist/src/shared/worker-daemon/typings/fs-adapter.interface.d.ts +22 -0
  204. package/dist/src/shared/worker-daemon/typings/handler-context.interface.d.ts +18 -0
  205. package/dist/src/shared/worker-daemon/typings/memory-ref.interface.d.ts +13 -0
  206. package/dist/src/shared/worker-daemon/typings/wasm-fn.type.d.ts +2 -0
  207. package/dist/src/shared/worker-daemon/typings/write-lock.interface.d.ts +15 -0
  208. package/dist/wasm/fs-database/kbdb_fs_database_bg.wasm +0 -0
  209. package/dist/wasm/kb-worker/kbdb_worker_bg.wasm +0 -0
  210. package/docs/details/mcp-server.md +4 -2
  211. package/docs/goals/auto-capture.md +378 -0
  212. package/docs/goals/benchmarking.md +296 -0
  213. package/docs/goals/concurrency.md +259 -0
  214. package/docs/goals/hybrid-search.md +436 -0
  215. package/docs/goals/semantic-dedup.md +229 -0
  216. package/docs/goals/sync.md +217 -0
  217. package/docs/modules/rust/fs-database/indexes/vectors.md +110 -0
  218. package/docs/modules/typescript/shared/auto-capture/module.md +73 -0
  219. package/docs/modules/typescript/shared/embedding/functions.md +94 -0
  220. package/docs/modules/typescript/shared/embedding/module.md +71 -0
  221. package/docs/modules/typescript/shared/embedding/typings.md +122 -0
  222. package/docs/overview.md +148 -166
  223. package/docs/release-notes/0.2.0.md +3 -3
  224. package/docs/release-notes/0.3.0.md +89 -0
  225. package/docs/release-notes/0.3.1.md +111 -0
  226. package/docs/release-notes/README.md +2 -0
  227. package/package.json +1 -1
  228. package/src/shared/auto-capture/classes/auto-capture-controller.class.ts +62 -0
  229. package/src/shared/auto-capture/constants/auto-capture-defaults.constant.ts +15 -0
  230. package/src/shared/auto-capture/functions/build-capture-prompt.function.ts +27 -0
  231. package/src/shared/auto-capture/functions/evaluate-trigger.function.ts +50 -0
  232. package/src/shared/auto-capture/index.ts +7 -0
  233. package/src/shared/auto-capture/typings/auto-capture-config.interface.ts +13 -0
  234. package/src/shared/auto-capture/typings/auto-capture-state.interface.ts +13 -0
  235. package/src/shared/auto-capture/typings/auto-capture-trigger.interface.ts +7 -0
  236. package/src/shared/cli/constants/global-help.constant.ts +73 -0
  237. package/src/shared/cli/constants/leaf-help.constant.ts +219 -0
  238. package/src/shared/cli/constants/memory-protocol-body.constant.ts +39 -0
  239. package/src/shared/cli/constants/query-guidance-body.constant.ts +37 -0
  240. package/src/shared/cli/constants/subcommand-help.constant.ts +195 -0
  241. package/src/shared/cli/functions/collect-files.function.ts +55 -0
  242. package/src/shared/cli/functions/compute-section-kbid.function.ts +49 -0
  243. package/src/shared/cli/functions/format-mcp-output.function.ts +41 -0
  244. package/src/shared/cli/functions/format-text-output.function.ts +42 -0
  245. package/src/shared/cli/functions/generate-group-help.function.ts +41 -0
  246. package/src/shared/cli/functions/handle-data-command.function.ts +67 -0
  247. package/src/shared/cli/functions/handle-mcp.function.ts +56 -0
  248. package/src/shared/cli/functions/handle-migrate.function.ts +64 -0
  249. package/src/shared/cli/functions/hydrate-search-previews.function.ts +29 -0
  250. package/src/shared/cli/functions/parse-args.function.ts +3 -0
  251. package/src/shared/cli/functions/resolve-skill-names.function.ts +43 -0
  252. package/src/shared/cli/functions/run-search.function.ts +2 -0
  253. package/src/shared/cli/functions/version-gate.function.ts +44 -0
  254. package/src/shared/cli/functions/wrap-command.function.ts +34 -0
  255. package/src/shared/cli/typings/agent-create-client.interface.ts +47 -0
  256. package/src/shared/cli/typings/agent-get-client.interface.ts +39 -0
  257. package/src/shared/cli/typings/check-client.interface.ts +66 -0
  258. package/src/shared/cli/typings/cli-deps.interface.ts +54 -0
  259. package/src/shared/cli/typings/cli-options.interface.ts +2 -0
  260. package/src/shared/cli/typings/disconnectable-client.interface.ts +29 -0
  261. package/src/shared/cli/typings/dispatch-client.type.ts +46 -0
  262. package/src/shared/cli/typings/learn-client.interface.ts +53 -0
  263. package/src/shared/cli/typings/learn-io.interface.ts +5 -0
  264. package/src/shared/cli/typings/search-client.interface.ts +73 -0
  265. package/src/shared/embedding/classes/null-embedding-provider.class.ts +29 -0
  266. package/src/shared/embedding/constants/near-duplicate-thresholds.constant.ts +17 -0
  267. package/src/shared/embedding/functions/build-vector-index.function.ts +79 -0
  268. package/src/shared/embedding/functions/cosine-similarity.function.ts +31 -0
  269. package/src/shared/embedding/functions/detect-near-duplicates.function.ts +69 -0
  270. package/src/shared/embedding/functions/jaccard-coefficient.function.ts +26 -0
  271. package/src/shared/embedding/functions/read-vector-index-meta.function.ts +44 -0
  272. package/src/shared/embedding/functions/rrf-fuse.function.ts +33 -0
  273. package/src/shared/embedding/functions/search-vectors.function.ts +59 -0
  274. package/src/shared/embedding/index.ts +20 -0
  275. package/src/shared/embedding/typings/embedding-config.interface.ts +23 -0
  276. package/src/shared/embedding/typings/embedding-provider.interface.ts +25 -0
  277. package/src/shared/embedding/typings/near-duplicate-candidate.model.ts +25 -0
  278. package/src/shared/embedding/typings/near-duplicate-result.model.ts +26 -0
  279. package/src/shared/embedding/typings/vector-index-entry.model.ts +13 -0
  280. package/src/shared/embedding/typings/vector-index-meta.model.ts +14 -0
  281. package/src/shared/embedding/typings/vector-search-result.model.ts +8 -0
  282. package/src/shared/mcp/classes/mcp-server.class.ts +6 -3
  283. package/src/shared/mcp/constants/tool-agent-create.constant.ts +39 -0
  284. package/src/shared/mcp/constants/tool-agent-delete.constant.ts +26 -0
  285. package/src/shared/mcp/constants/tool-agent-get.constant.ts +24 -0
  286. package/src/shared/mcp/constants/tool-agent-list.constant.ts +18 -0
  287. package/src/shared/mcp/constants/tool-auto-capture-review.constant.ts +32 -0
  288. package/src/shared/mcp/constants/tool-check.constant.ts +21 -0
  289. package/src/shared/mcp/constants/tool-content.constant.ts +29 -0
  290. package/src/shared/mcp/constants/tool-export.constant.ts +27 -0
  291. package/src/shared/mcp/constants/tool-gc.constant.ts +21 -0
  292. package/src/shared/mcp/constants/tool-learn.constant.ts +58 -0
  293. package/src/shared/mcp/constants/tool-rebuild.constant.ts +21 -0
  294. package/src/shared/mcp/constants/tool-recall.constant.ts +36 -0
  295. package/src/shared/mcp/constants/tool-retrieve.constant.ts +31 -0
  296. package/src/shared/mcp/constants/tool-search.constant.ts +51 -0
  297. package/src/shared/mcp/constants/tool-skill-delete.constant.ts +24 -0
  298. package/src/shared/mcp/constants/tool-skill-get.constant.ts +27 -0
  299. package/src/shared/mcp/constants/tool-skill-learn.constant.ts +37 -0
  300. package/src/shared/mcp/constants/tool-skill-list.constant.ts +18 -0
  301. package/src/shared/mcp/constants/tool-status.constant.ts +20 -0
  302. package/src/shared/mcp/constants/tool-unlearn.constant.ts +25 -0
  303. package/src/shared/mcp/functions/as-boolean-or-undefined.function.ts +11 -0
  304. package/src/shared/mcp/functions/as-string-array-or-undefined.function.ts +17 -0
  305. package/src/shared/mcp/functions/as-string-array.function.ts +15 -0
  306. package/src/shared/mcp/functions/as-string.function.ts +10 -0
  307. package/src/shared/mcp/functions/build-skills-text.function.ts +43 -0
  308. package/src/shared/mcp/functions/create-tool-definitions.function.ts +28 -0
  309. package/src/shared/mcp/functions/handle-agent-create.function.ts +1 -1
  310. package/src/shared/mcp/functions/handle-agent-prompt.function.ts +68 -0
  311. package/src/shared/mcp/functions/handle-mcp-request.function.ts +202 -0
  312. package/src/shared/mcp/functions/handle-prompt-get.function.ts +18 -12
  313. package/src/shared/mcp/functions/handle-skill-prompt.function.ts +44 -0
  314. package/src/shared/mcp/functions/handle-tool-auto-capture-review.function.ts +24 -0
  315. package/src/shared/mcp/functions/handle-tool-call.function.ts +18 -0
  316. package/src/shared/mcp/functions/handle-tool-check.function.ts +21 -0
  317. package/src/shared/mcp/functions/handle-tool-content.function.ts +23 -0
  318. package/src/shared/mcp/functions/handle-tool-export.function.ts +25 -0
  319. package/src/shared/mcp/functions/handle-tool-gc.function.ts +21 -0
  320. package/src/shared/mcp/functions/handle-tool-learn.function.ts +69 -0
  321. package/src/shared/mcp/functions/handle-tool-rebuild.function.ts +21 -0
  322. package/src/shared/mcp/functions/handle-tool-retrieve.function.ts +40 -0
  323. package/src/shared/mcp/functions/handle-tool-search.function.ts +47 -0
  324. package/src/shared/mcp/functions/handle-tool-skill-delete.function.ts +34 -0
  325. package/src/shared/mcp/functions/handle-tool-skill-get.function.ts +59 -0
  326. package/src/shared/mcp/functions/handle-tool-skill-learn.function.ts +61 -0
  327. package/src/shared/mcp/functions/handle-tool-skill-list.function.ts +39 -0
  328. package/src/shared/mcp/functions/handle-tool-status.function.ts +21 -0
  329. package/src/shared/mcp/functions/handle-tool-unlearn.function.ts +24 -0
  330. package/src/shared/mcp/functions/parse-agent-meta.function.ts +27 -0
  331. package/src/shared/mcp/functions/parse-skill-arguments.function.ts +36 -0
  332. package/src/shared/mcp/functions/read-agent-meta.function.ts +41 -0
  333. package/src/shared/mcp/functions/resolve-skill-refs.function.ts +50 -0
  334. package/src/shared/mcp/functions/run-startup-health-check.function.ts +34 -0
  335. package/src/shared/mcp/typings/mcp-capabilities.interface.ts +16 -0
  336. package/src/shared/mcp/typings/mcp-client.interface.ts +2 -0
  337. package/src/shared/mcp/typings/mcp-completion.interface.ts +45 -0
  338. package/src/shared/mcp/typings/mcp-content-result.model.ts +9 -0
  339. package/src/shared/mcp/typings/mcp-export-result.model.ts +11 -0
  340. package/src/shared/mcp/typings/mcp-gc-result.model.ts +15 -0
  341. package/src/shared/mcp/typings/mcp-integrity-check-result.model.ts +17 -0
  342. package/src/shared/mcp/typings/mcp-integrity-error.model.ts +15 -0
  343. package/src/shared/mcp/typings/mcp-notification.interface.ts +9 -0
  344. package/src/shared/mcp/typings/mcp-rebuild-result.model.ts +9 -0
  345. package/src/shared/mcp/typings/mcp-request.interface.ts +11 -0
  346. package/src/shared/mcp/typings/mcp-resource-result.interface.ts +12 -0
  347. package/src/shared/mcp/typings/mcp-resource-template.interface.ts +11 -0
  348. package/src/shared/mcp/typings/mcp-response.interface.ts +18 -0
  349. package/src/shared/mcp/typings/mcp-server-info.interface.ts +7 -0
  350. package/src/shared/mcp/typings/mcp-server-state.interface.ts +17 -0
  351. package/src/shared/mcp/typings/mcp-tool-annotations.interface.ts +32 -0
  352. package/src/shared/mcp/typings/mcp-tool-definition.interface.ts +16 -0
  353. package/src/shared/mcp/typings/mcp-tool-result.interface.ts +19 -0
  354. package/src/shared/mcp/typings/mcp-worker-client.interface.ts +243 -0
  355. package/src/shared/mcp/typings/tool-call-result.model.ts +18 -0
  356. package/src/shared/sync/functions/build-import-report.function.ts +40 -0
  357. package/src/shared/sync/functions/parse-export-entry.function.ts +45 -0
  358. package/src/shared/sync/functions/resolve-conflict.function.ts +31 -0
  359. package/src/shared/sync/functions/serialize-export-entry.function.ts +18 -0
  360. package/src/shared/sync/index.ts +9 -0
  361. package/src/shared/sync/typings/conflict-resolution.type.ts +8 -0
  362. package/src/shared/sync/typings/export-entry.interface.ts +13 -0
  363. package/src/shared/sync/typings/export-options.interface.ts +9 -0
  364. package/src/shared/sync/typings/import-options.interface.ts +7 -0
  365. package/src/shared/sync/typings/import-report.interface.ts +15 -0
  366. package/src/shared/wasm-codec/functions/decode-one-recall-result.function.ts +86 -0
  367. package/src/shared/wasm-codec/functions/decode-option-string.function.ts +24 -0
  368. package/src/shared/wasm-codec/functions/decode-recall-document.function.ts +59 -0
  369. package/src/shared/wasm-codec/functions/decode-recall-reference.function.ts +52 -0
  370. package/src/shared/wasm-codec/functions/decode-recall-sibling.function.ts +43 -0
  371. package/src/shared/wasm-codec/functions/decode-section-match.function.ts +80 -0
  372. package/src/shared/wasm-codec/functions/decode-section-record-trailing.function.ts +75 -0
  373. package/src/shared/wasm-codec/functions/decode-section-record.function.ts +85 -0
  374. package/src/shared/wasm-codec/functions/decode-section-type.function.ts +30 -0
  375. package/src/shared/wasm-codec/functions/decode-wasm-list.function.ts +31 -0
  376. package/src/shared/wasm-codec/typings/add-section-input.model.ts +45 -0
  377. package/src/shared/wasm-codec/typings/add-section-result.model.ts +28 -0
  378. package/src/shared/wasm-codec/typings/document-manifest.model.ts +20 -0
  379. package/src/shared/wasm-codec/typings/document-section.model.ts +12 -0
  380. package/src/shared/wasm-codec/typings/item-decoder.type.ts +10 -0
  381. package/src/shared/wasm-codec/typings/near-duplicate.model.ts +16 -0
  382. package/src/shared/wasm-codec/typings/paged-search-result.model.ts +22 -0
  383. package/src/shared/wasm-codec/typings/section-match.model.ts +31 -0
  384. package/src/shared/wasm-codec/typings/section-record-trailing.model.ts +38 -0
  385. package/src/shared/wasm-codec/typings/section-record.model.ts +66 -0
  386. package/src/shared/wasm-codec/typings/section-type-result.model.ts +12 -0
  387. package/src/shared/worker-client/functions/handle-ipc-data.function.ts +49 -0
  388. package/src/shared/worker-client/functions/send-ipc-request.function.ts +39 -0
  389. package/src/shared/worker-client/typings/add-section-result.model.ts +2 -0
  390. package/src/shared/worker-client/typings/json-rpc-response.interface.ts +17 -0
  391. package/src/shared/worker-client/typings/pending-call.interface.ts +7 -0
  392. package/src/shared/worker-client/typings/recall-document.model.ts +16 -0
  393. package/src/shared/worker-client/typings/recall-params.model.ts +15 -0
  394. package/src/shared/worker-client/typings/recall-reference.model.ts +32 -0
  395. package/src/shared/worker-client/typings/recall-sibling.model.ts +11 -0
  396. package/src/shared/worker-client/typings/recall-single-result.model.ts +41 -0
  397. package/src/shared/worker-daemon/classes/ipc-error.class.ts +22 -0
  398. package/src/shared/worker-daemon/constants/wasm-method-map.constant.ts +69 -0
  399. package/src/shared/worker-daemon/functions/build-ipc-error-response.function.ts +16 -0
  400. package/src/shared/worker-daemon/functions/check-catalog-version.function.ts +54 -0
  401. package/src/shared/worker-daemon/functions/check-preconditions.function.ts +28 -0
  402. package/src/shared/worker-daemon/functions/detect-stale-pid.function.ts +33 -0
  403. package/src/shared/worker-daemon/functions/dispatch-request.function.ts +190 -0
  404. package/src/shared/worker-daemon/functions/handle-check-version.function.ts +74 -0
  405. package/src/shared/worker-daemon/functions/handle-config-method.function.ts +27 -0
  406. package/src/shared/worker-daemon/functions/handle-read-ops.function.ts +236 -0
  407. package/src/shared/worker-daemon/functions/handle-write-ops.function.ts +257 -0
  408. package/src/shared/worker-daemon/functions/parse-auto-capture-section.function.ts +51 -0
  409. package/src/shared/worker-daemon/functions/parse-catalog-version.function.ts +20 -0
  410. package/src/shared/worker-daemon/functions/parse-embedding-section.function.ts +38 -0
  411. package/src/shared/worker-daemon/functions/parse-worker-toml.function.ts +104 -0
  412. package/src/shared/worker-daemon/functions/run-startup-integrity-check.function.ts +55 -0
  413. package/src/shared/worker-daemon/functions/scan-near-duplicates.function.ts +92 -0
  414. package/src/shared/worker-daemon/functions/wasm-bridge.function.ts +144 -0
  415. package/src/shared/worker-daemon/functions/wasm-memory-helpers.function.ts +41 -0
  416. package/src/shared/worker-daemon/functions/write-lock.function.ts +49 -0
  417. package/src/shared/worker-daemon/typings/allocator-ref.interface.ts +16 -0
  418. package/src/shared/worker-daemon/typings/daemon-config.interface.ts +7 -0
  419. package/src/shared/worker-daemon/typings/fs-adapter.interface.ts +22 -0
  420. package/src/shared/worker-daemon/typings/handler-context.interface.ts +19 -0
  421. package/src/shared/worker-daemon/typings/memory-ref.interface.ts +13 -0
  422. package/src/shared/worker-daemon/typings/wasm-fn.type.ts +2 -0
  423. package/src/shared/worker-daemon/typings/write-lock.interface.ts +13 -0
  424. package/src/wasm/fs-database/kbdb_fs_database_bg.wasm +0 -0
  425. package/src/wasm/kb-worker/kbdb_worker_bg.wasm +0 -0
@@ -0,0 +1,21 @@
1
+ import type { SectionMatch } from './section-match.model.ts';
2
+ /**
3
+ * Paginated search response envelope returned by the WASM engine.
4
+ */
5
+ export interface PagedSearchResult {
6
+ /** Matching sections for the current page. */
7
+ items: SectionMatch[];
8
+ /** Total number of matches across all pages. */
9
+ total: number;
10
+ /** Number of results skipped (pagination offset). */
11
+ offset: number;
12
+ /** Maximum results per page. */
13
+ limit: number;
14
+ /** Whether more results exist beyond this page. */
15
+ has_more: boolean;
16
+ /**
17
+ * Whether the engine fell back to relaxed (OR-mode) search
18
+ * after strict (AND-mode) returned no results.
19
+ */
20
+ relaxed: boolean;
21
+ }
@@ -0,0 +1,31 @@
1
+ /**
2
+ * A single ranked result item from a paged search response.
3
+ */
4
+ export interface SectionMatch {
5
+ /** Knowledge-base identifier for the matched section. */
6
+ kbid: string;
7
+ /** Section heading, or `null` when untitled. */
8
+ heading: string | null;
9
+ /** MIME type of the section content. */
10
+ type: string;
11
+ /** Document IDs this section belongs to. */
12
+ docids: string[];
13
+ /** Relevance score from the ranking engine. */
14
+ score: number;
15
+ /**
16
+ * Confidence modifier (0.0–1.0) applied after relaxed search.
17
+ * Always 1.0 for strict-mode results.
18
+ */
19
+ confidence: number;
20
+ /** KWIC snippet (~150 chars around the best match). */
21
+ snippet: string;
22
+ /** Query terms that matched within this section. */
23
+ matched_terms: string[];
24
+ /**
25
+ * Document fields that contained at least one matched term
26
+ * (e.g. `'title'`, `'body'`).
27
+ */
28
+ matched_fields: string[];
29
+ /** ISO 8601 creation timestamp of the section. */
30
+ created_at: string;
31
+ }
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Trailing backward-compatible fields of a section record.
3
+ *
4
+ * These fields were added after the initial wire format. When
5
+ * decoding legacy binary output that stops before these fields,
6
+ * each defaults to `null` or `[]`.
7
+ */
8
+ export interface SectionRecordTrailing {
9
+ /**
10
+ * Stable logical identity derived from source path and heading.
11
+ * `null` for stdin input or sections without a source path.
12
+ */
13
+ sourceKey: string | null;
14
+ /**
15
+ * Absolute path of the source file that was learned.
16
+ * `null` for stdin input or programmatic API calls.
17
+ */
18
+ sourcePath: string | null;
19
+ /**
20
+ * ISO 8601 modified time of the source file at learn time.
21
+ * `null` when no source file exists.
22
+ */
23
+ sourceMtime: string | null;
24
+ /**
25
+ * ISO 8601 timestamp of the last supersession.
26
+ * `null` on first creation.
27
+ */
28
+ updatedAt: string | null;
29
+ /** User-supplied tags for scoping and filtering. */
30
+ tags: string[];
31
+ /**
32
+ * The kbid of the section this one replaced via supersession.
33
+ * `null` on first creation or non-superseding additions.
34
+ */
35
+ supersedes: string | null;
36
+ /** Number of bytes consumed from the buffer. */
37
+ bytesRead: number;
38
+ }
@@ -0,0 +1,66 @@
1
+ /**
2
+ * A single section record decoded from WASM binary output.
3
+ *
4
+ * Represents a stored knowledge-base section with all its metadata
5
+ * and token counts as returned by `worker_read_sections` or
6
+ * `worker_list_by_type`.
7
+ */
8
+ export interface SectionRecord {
9
+ /** Unique knowledge-base identifier for this section. */
10
+ kbid: string;
11
+ /** Document identifier this section belongs to, or `null`. */
12
+ docid: string | null;
13
+ /** Semantic type discriminant: `'text'`, `'code'`, or `'image'`. */
14
+ sectionType: string;
15
+ /** MIME type string, present only for `'code'` and `'image'` types. */
16
+ mimeType?: string;
17
+ /** Human-readable title for the section, or `null`. */
18
+ title: string | null;
19
+ /** Optional description of the section content, or `null`. */
20
+ description: string | null;
21
+ /** Raw text or base64-encoded content of the section. */
22
+ content: string;
23
+ /** Byte size of the stored content. */
24
+ size: number;
25
+ /** Section creation timestamp as a Unix epoch value. */
26
+ createdAt: bigint;
27
+ /** Integrity checksum of the stored content. */
28
+ checksum: string;
29
+ /** Total number of tokens in the section. */
30
+ tokenCount: number;
31
+ /** Number of heading tokens in the section. */
32
+ headingTokenCount: number;
33
+ /** Number of body tokens in the section. */
34
+ bodyTokenCount: number;
35
+ /** Number of code tokens in the section. */
36
+ codeTokenCount: number;
37
+ /** Application-level type name assigned to this section. */
38
+ typeName: string;
39
+ /**
40
+ * Stable logical identity derived from source path and heading.
41
+ * `null` for stdin input or sections without a source path.
42
+ */
43
+ sourceKey: string | null;
44
+ /**
45
+ * Absolute path of the source file that was learned.
46
+ * `null` for stdin input or programmatic API calls.
47
+ */
48
+ sourcePath: string | null;
49
+ /**
50
+ * ISO 8601 modified time of the source file at learn time.
51
+ * `null` when no source file exists.
52
+ */
53
+ sourceMtime: string | null;
54
+ /**
55
+ * ISO 8601 timestamp of the last supersession.
56
+ * `null` on first creation.
57
+ */
58
+ updatedAt: string | null;
59
+ /** User-supplied tags for scoping and filtering. */
60
+ tags: string[];
61
+ /**
62
+ * The kbid of the section this one replaced via supersession.
63
+ * `null` on first creation or non-superseding additions.
64
+ */
65
+ supersedes: string | null;
66
+ }
@@ -0,0 +1,12 @@
1
+ /** Result of decoding a section type discriminant from binary output. */
2
+ export interface SectionTypeResult {
3
+ /** Semantic section category: `'text'`, `'code'`, or `'image'`. */
4
+ sectionType: string;
5
+ /**
6
+ * MIME type string, present only for `'code'` and `'image'`
7
+ * types.
8
+ */
9
+ mimeType?: string;
10
+ /** Number of bytes consumed from the buffer. */
11
+ bytesRead: number;
12
+ }
@@ -0,0 +1,16 @@
1
+ import type { PendingCall } from '../typings/pending-call.interface.ts';
2
+ /**
3
+ * Processes an incoming data chunk from the IPC socket.
4
+ *
5
+ * Appends the chunk to `buffer`, splits on newline boundaries,
6
+ * parses complete JSON-RPC response lines, and resolves or rejects
7
+ * the matching pending call. Returns the updated buffer with any
8
+ * incomplete trailing line retained.
9
+ *
10
+ * @param data - raw string chunk received from the socket
11
+ * @param buffer - partial line buffer from the previous call
12
+ * @param pending - map of outstanding request IDs to their
13
+ * resolve/reject pairs; mutated by this function
14
+ * @returns the updated buffer (incomplete trailing line, if any)
15
+ */
16
+ export declare function handleIpcData(data: string, buffer: string, pending: Map<number, PendingCall>): string;
@@ -0,0 +1,19 @@
1
+ import type { Socket } from 'node:net';
2
+ import type { PendingCall } from '../typings/pending-call.interface.ts';
3
+ /**
4
+ * Sends a JSON-RPC 2.0 request over `socket` and registers the
5
+ * `resolve`/`reject` pair in `pending` so the response can be
6
+ * matched back.
7
+ *
8
+ * @param socket - connected IPC socket
9
+ * @param pending - map of outstanding request IDs to their
10
+ * resolve/reject pairs; mutated by this function
11
+ * @param nextId - the request ID to assign; must be the current
12
+ * value of the caller's monotonic counter
13
+ * @param contextId - 16-character context identifier sent as `ctx`
14
+ * @param method - JSON-RPC method name
15
+ * @param params - method parameters (merged with `ctx`)
16
+ * @throws {Error} when the socket is not connected (`socket` is
17
+ * null) -- call the check before invoking this function
18
+ */
19
+ export declare function sendIpcRequest(socket: Socket, pending: Map<number, PendingCall>, nextId: number, contextId: string, method: string, params: unknown): Promise<unknown>;
@@ -6,6 +6,8 @@ export interface NearDuplicateEntry {
6
6
  readonly kbid: string;
7
7
  /** Jaccard similarity score (0.0--1.0). */
8
8
  readonly similarity: number;
9
+ /** Detection method that produced this match. */
10
+ readonly method?: 'jaccard' | 'cosine';
9
11
  }
10
12
  /** Result returned by the daemon after adding a new section. */
11
13
  export interface AddSectionResult {
@@ -0,0 +1,16 @@
1
+ /** Shape of a JSON-RPC 2.0 error object from the daemon. */
2
+ export interface JsonRpcError {
3
+ /** Numeric JSON-RPC error code. */
4
+ readonly code: number;
5
+ /** Human-readable error message. */
6
+ readonly message: string;
7
+ }
8
+ /** Shape of a JSON-RPC 2.0 response from the daemon. */
9
+ export interface JsonRpcResponse {
10
+ /** Monotonically increasing request identifier. */
11
+ readonly id: number;
12
+ /** Result payload; present on success. */
13
+ readonly result?: unknown;
14
+ /** Error detail; present on failure. */
15
+ readonly error?: JsonRpcError;
16
+ }
@@ -0,0 +1,7 @@
1
+ /** Pending JSON-RPC call awaiting a response from the daemon. */
2
+ export interface PendingCall {
3
+ /** Resolves with the result when the daemon responds. */
4
+ resolve: (v: unknown) => void;
5
+ /** Rejects with an error when the daemon returns an error. */
6
+ reject: (e: Error) => void;
7
+ }
@@ -0,0 +1,16 @@
1
+ /** A document record included at depth >= 1. */
2
+ export interface RecallDocument {
3
+ /** Unique document identifier. */
4
+ readonly docid: string;
5
+ /** Human-readable document title. */
6
+ readonly title: string;
7
+ /** Ordered list of section summaries belonging to this document. */
8
+ readonly sections: readonly {
9
+ /** Knowledge-base identifier of the section. */
10
+ readonly kbid: string;
11
+ /** Section heading text, or `null` when absent. */
12
+ readonly heading: string | null;
13
+ /** Semantic type label for the section. */
14
+ readonly type: string;
15
+ }[];
16
+ }
@@ -0,0 +1,15 @@
1
+ /** Parameters for a recall operation. */
2
+ export interface RecallParams {
3
+ /** Single section identifier to recall. */
4
+ readonly kbid?: string;
5
+ /** Batch of section identifiers to recall. */
6
+ readonly kbids?: readonly string[];
7
+ /**
8
+ * Context expansion depth (0-3).
9
+ *
10
+ * At depth 0 only the section itself is returned.
11
+ * Higher values include progressively more context:
12
+ * documents, siblings, and references.
13
+ */
14
+ readonly depth?: number;
15
+ }
@@ -0,0 +1,32 @@
1
+ /**
2
+ * A section that references or is referenced by the recalled
3
+ * section.
4
+ */
5
+ export interface RecallReference {
6
+ /**
7
+ * Knowledge-base identifier of the referencing/referenced
8
+ * section.
9
+ */
10
+ readonly kbid: string;
11
+ /**
12
+ * Heading text of the referencing section, or `null` when
13
+ * absent.
14
+ */
15
+ readonly heading: string | null;
16
+ /** Semantic type label of the referencing section. */
17
+ readonly type: string;
18
+ /**
19
+ * Application-level marker type (e.g. `'see_also'`, `'link'`).
20
+ */
21
+ readonly marker_type: string;
22
+ /**
23
+ * Short excerpt from the referencing section surrounding the
24
+ * marker.
25
+ */
26
+ readonly context_snippet: string;
27
+ /**
28
+ * Whether the reference is `'forward'` (outgoing) or `'back'`
29
+ * (incoming).
30
+ */
31
+ readonly direction: 'forward' | 'back';
32
+ }
@@ -0,0 +1,11 @@
1
+ /** A sibling section adjacent to the recalled section. */
2
+ export interface RecallSibling {
3
+ /** Knowledge-base identifier of the sibling section. */
4
+ readonly kbid: string;
5
+ /** Sibling heading text, or `null` when absent. */
6
+ readonly heading: string | null;
7
+ /** Semantic type label for the sibling section. */
8
+ readonly type: string;
9
+ /** Full text content of the sibling section. */
10
+ readonly content: string;
11
+ }
@@ -0,0 +1,40 @@
1
+ import type { RecallDocument } from './recall-document.model.ts';
2
+ import type { RecallReference } from './recall-reference.model.ts';
3
+ import type { RecallSibling } from './recall-sibling.model.ts';
4
+ /** Full content and context for a recalled knowledge-base section. */
5
+ export interface RecallResult {
6
+ /** Knowledge-base identifier of the recalled section. */
7
+ readonly kbid: string;
8
+ /** Section heading text, or `null` when absent. */
9
+ readonly heading: string | null;
10
+ /** Semantic type label for the section. */
11
+ readonly type: string;
12
+ /** Full text content of the section. */
13
+ readonly content: string;
14
+ /** Identifiers of documents that contain this section. */
15
+ readonly docids: readonly string[];
16
+ /**
17
+ * Full document records containing this section.
18
+ *
19
+ * Populated when `depth >= 1`.
20
+ */
21
+ readonly documents?: readonly RecallDocument[];
22
+ /**
23
+ * Sections that contain a marker pointing back to this section.
24
+ *
25
+ * Populated when `depth >= 1`.
26
+ */
27
+ readonly back_references?: readonly RecallReference[];
28
+ /**
29
+ * Sections adjacent to this section in the same document.
30
+ *
31
+ * Populated when `depth >= 1`.
32
+ */
33
+ readonly siblings?: readonly RecallSibling[];
34
+ /**
35
+ * Sections that this section points to via markers.
36
+ *
37
+ * Populated when `depth >= 1`.
38
+ */
39
+ readonly references?: readonly RecallReference[];
40
+ }
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Typed JSON-RPC error thrown inside WorkerDaemon dispatch.
3
+ *
4
+ * Carries a numeric JSON-RPC error code alongside the standard
5
+ * `Error` message so that `handleRequest` can build a well-formed
6
+ * JSON-RPC error response without an additional type check.
7
+ */
8
+ export declare class IpcError extends Error {
9
+ /** JSON-RPC error code. */
10
+ readonly code: number;
11
+ /**
12
+ * @param code - JSON-RPC error code (e.g. `-32601` for
13
+ * method-not-found, `-32000` for application errors)
14
+ * @param message - human-readable error description
15
+ */
16
+ constructor(code: number, message: string);
17
+ }
@@ -0,0 +1,16 @@
1
+ import type { DaemonConfig } from '../typings/daemon-config.interface.ts';
2
+ /**
3
+ * Maps incoming IPC method names to `kb-worker.wasm` export names.
4
+ *
5
+ * Both camelCase and snake_case variants of each method are
6
+ * included so that clients may use either convention.
7
+ */
8
+ export declare const WASM_METHOD_MAP: Readonly<Partial<Record<string, string>>>;
9
+ /** Prefix shared by all IPC config-accessor method names. */
10
+ export declare const CONFIG_PREFIX = "config_";
11
+ /**
12
+ * Maps config IPC key suffixes to `DaemonConfig` property names.
13
+ *
14
+ * A client sends `config_timeout_ms` to read `config.timeoutMs`.
15
+ */
16
+ export declare const CONFIG_KEY_MAP: Readonly<Partial<Record<string, keyof DaemonConfig>>>;
@@ -0,0 +1,9 @@
1
+ import type { IpcResponse } from '../typings/ipc-handler.interface.ts';
2
+ /**
3
+ * Builds a JSON-RPC 2.0 error response object.
4
+ *
5
+ * @param id - request identifier to echo back in the response
6
+ * @param code - JSON-RPC error code
7
+ * @param message - human-readable error description
8
+ */
9
+ export declare function buildIpcErrorResponse(id: number | string, code: number, message: string): IpcResponse;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Reads `catalog.toml` in `targetDir` and validates its version
3
+ * against `DB_FORMAT_VERSION`.
4
+ *
5
+ * @param targetDir - absolute path to the `.kbdb` directory
6
+ * @throws {Error} when the catalog cannot be read, is missing a
7
+ * version, or the version is incompatible with the current engine
8
+ */
9
+ export declare function checkCatalogVersion(targetDir: string): void;
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Validates startup preconditions for the worker daemon.
3
+ *
4
+ * Checks that `targetDir` exists, is readable and writable, and
5
+ * that `catalog.toml` reports a compatible format version.
6
+ *
7
+ * @param targetDir - absolute path to the `.kbdb` directory
8
+ * @throws {Error} when any precondition fails
9
+ */
10
+ export declare function checkPreconditions(targetDir: string): void;
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Checks whether a PID file contains a stale process ID.
3
+ *
4
+ * Reads the PID from the file and checks whether the process is
5
+ * still running using `process.kill(pid, 0)`. If the process is
6
+ * dead, or the PID is unparseable, removes the PID file and
7
+ * returns `true`. Returns `false` when the process is alive or
8
+ * the file does not exist.
9
+ *
10
+ * @param pidPath - absolute path to the PID file to inspect
11
+ * @returns `true` if the PID file is stale (process dead or
12
+ * content invalid) and was removed; `false` if the process is
13
+ * alive or the file does not exist
14
+ */
15
+ export declare function detectStalePid(pidPath: string): boolean;
@@ -0,0 +1,35 @@
1
+ import type { DaemonConfig } from '../typings/daemon-config.interface.ts';
2
+ import type { HandlerContext } from '../typings/handler-context.interface.ts';
3
+ import type { WriteLockState } from '../typings/write-lock.interface.ts';
4
+ /** Daemon status information returned by `status` and `idle_at`. */
5
+ interface DaemonStatus {
6
+ /** Whether the daemon is currently serving connections. */
7
+ readonly status: 'busy' | 'idle';
8
+ /** Whether the startup integrity check passed. */
9
+ readonly integrityOk: boolean;
10
+ /** Integrity errors found at startup, if any. */
11
+ readonly integrityErrors: string[];
12
+ /** Unix timestamp (seconds) of the last completed request. */
13
+ readonly idleAt: number;
14
+ }
15
+ /**
16
+ * Dispatches an IPC method to its handler.
17
+ *
18
+ * Routes daemon-state methods inline and delegates WASM read/write
19
+ * operations to their respective handler functions. Write operations
20
+ * are serialised through the single-writer lock.
21
+ *
22
+ * @param method - IPC method name
23
+ * @param params - request parameters
24
+ * @param ctx - handler context (WASM modules, config, targetDir)
25
+ * @param daemonStatus - live daemon state read by the `status` method
26
+ * @param writeLock - shared write-lock state
27
+ */
28
+ export declare function dispatchRequest(method: string, params: Record<string, unknown>, ctx: HandlerContext, daemonStatus: DaemonStatus, writeLock: WriteLockState): Promise<unknown>;
29
+ /**
30
+ * Re-export `DaemonConfig` so callers can pass strongly-typed
31
+ * config without an extra import.
32
+ *
33
+ * @internal
34
+ */
35
+ export type { DaemonConfig };
@@ -0,0 +1,23 @@
1
+ /** Payload returned by the `checkVersion` IPC method. */
2
+ interface VersionCheckResult {
3
+ /** Compatibility status string. */
4
+ readonly status: string;
5
+ /** Format version stored in the catalog. */
6
+ readonly currentVersion: number;
7
+ /** Format version required by the current engine. */
8
+ readonly requiredVersion: number;
9
+ }
10
+ /**
11
+ * Handles the `checkVersion` IPC method.
12
+ *
13
+ * Reads `catalog.toml` at `targetPath` and compares its format
14
+ * version to `DB_FORMAT_VERSION`. Returns a result object without
15
+ * making any modifications.
16
+ *
17
+ * @param targetPath - absolute path to the `.kbdb` directory to
18
+ * inspect; falls back to `defaultDir` when not provided in params
19
+ * @param defaultDir - fallback directory when `params.targetPath`
20
+ * is absent
21
+ */
22
+ export declare function handleCheckVersion(params: Record<string, unknown>, defaultDir: string): VersionCheckResult;
23
+ export {};
@@ -0,0 +1,11 @@
1
+ import type { DaemonConfig } from '../typings/daemon-config.interface.ts';
2
+ /**
3
+ * Handles `config_{key}` IPC methods by returning the corresponding
4
+ * `DaemonConfig` field value.
5
+ *
6
+ * @param method - the full method name, e.g. `config_timeout_ms`
7
+ * @param config - parsed daemon configuration
8
+ * @throws {IpcError} with code `-32601` when the key suffix is not
9
+ * in `CONFIG_KEY_MAP`
10
+ */
11
+ export declare function handleConfigMethod(method: string, config: DaemonConfig): unknown;
@@ -0,0 +1,52 @@
1
+ import type { HandlerContext } from '../typings/handler-context.interface.ts';
2
+ /**
3
+ * Handles `search` and `query` IPC methods.
4
+ *
5
+ * Encodes parameters, invokes the `worker_search` token pipeline,
6
+ * waits synchronously for the result, and decodes the paged result.
7
+ */
8
+ export declare function handleSearch(ctx: HandlerContext, params: Record<string, unknown>): unknown;
9
+ /**
10
+ * Handles the `get_result_status` IPC method.
11
+ */
12
+ export declare function handleResultStatus(ctx: HandlerContext, params: Record<string, unknown>): unknown;
13
+ /**
14
+ * Handles the `get_result` IPC method.
15
+ */
16
+ export declare function handleGetResult(ctx: HandlerContext, params: Record<string, unknown>): unknown;
17
+ /**
18
+ * Handles the `readSections` IPC method.
19
+ */
20
+ export declare function handleReadSections(ctx: HandlerContext, params: Record<string, unknown>): unknown;
21
+ /**
22
+ * Handles the `retrieveDocument` IPC method.
23
+ */
24
+ export declare function handleRetrieveDoc(ctx: HandlerContext, params: Record<string, unknown>): unknown;
25
+ /**
26
+ * Handles the `content` and `compose` IPC methods.
27
+ */
28
+ export declare function handleCompose(ctx: HandlerContext, params: Record<string, unknown>): unknown;
29
+ /**
30
+ * Handles the `integrityCheck` IPC method.
31
+ */
32
+ export declare function handleIntegrityCheck(ctx: HandlerContext): unknown;
33
+ /**
34
+ * Handles the `dbStatus` IPC method.
35
+ */
36
+ export declare function handleDbStatus(ctx: HandlerContext): unknown;
37
+ /**
38
+ * Handles the `listByType` IPC method.
39
+ */
40
+ export declare function handleListByType(ctx: HandlerContext, params: Record<string, unknown>): unknown;
41
+ /**
42
+ * Handles the `listDocumentsByType` IPC method.
43
+ */
44
+ export declare function handleListDocsByType(ctx: HandlerContext, params: Record<string, unknown>): unknown;
45
+ /**
46
+ * Handles the `recall` IPC method.
47
+ */
48
+ export declare function handleRecall(ctx: HandlerContext, params: Record<string, unknown>): unknown;
49
+ /**
50
+ * Handles the `export` and `exportDb` IPC methods.
51
+ */
52
+ export declare function handleExport(ctx: HandlerContext, params: Record<string, unknown>): unknown;
@@ -0,0 +1,44 @@
1
+ import type { HandlerContext } from '../typings/handler-context.interface.ts';
2
+ /**
3
+ * Handles the `addSection` IPC method.
4
+ *
5
+ * Encodes the section input, delegates to `worker_add_section`, and
6
+ * runs a near-duplicate scan when the WASM result reports none.
7
+ */
8
+ export declare function handleAddSection(ctx: HandlerContext, params: Record<string, unknown>): unknown;
9
+ /**
10
+ * Handles the `updateSection` IPC method.
11
+ */
12
+ export declare function handleUpdateSection(ctx: HandlerContext, params: Record<string, unknown>): unknown;
13
+ /**
14
+ * Handles the `removeSection` IPC method.
15
+ */
16
+ export declare function handleRemoveSection(ctx: HandlerContext, params: Record<string, unknown>): unknown;
17
+ /**
18
+ * Handles the `groupSections` IPC method.
19
+ */
20
+ export declare function handleGroupSections(ctx: HandlerContext, params: Record<string, unknown>): unknown;
21
+ /**
22
+ * Handles the `removeGrouping` IPC method.
23
+ */
24
+ export declare function handleRemoveGrouping(ctx: HandlerContext, params: Record<string, unknown>): unknown;
25
+ /**
26
+ * Handles the `initDirectory` IPC method.
27
+ */
28
+ export declare function handleInitDirectory(ctx: HandlerContext, params: Record<string, unknown>): unknown;
29
+ /**
30
+ * Handles the `invalidate` IPC method.
31
+ */
32
+ export declare function handleInvalidate(ctx: HandlerContext, params: Record<string, unknown>): unknown;
33
+ /**
34
+ * Handles the `invalidateAll` IPC method.
35
+ */
36
+ export declare function handleInvalidateAll(ctx: HandlerContext): unknown;
37
+ /**
38
+ * Handles the `gc` IPC method.
39
+ */
40
+ export declare function handleGc(ctx: HandlerContext): unknown;
41
+ /**
42
+ * Handles the `rebuildIndexes` IPC method.
43
+ */
44
+ export declare function handleRebuild(ctx: HandlerContext): unknown;
@@ -0,0 +1,14 @@
1
+ import type { AutoCaptureConfig } from '../../auto-capture/typings/auto-capture-config.interface.ts';
2
+ /**
3
+ * Parses key-value pairs from an `[auto_capture]` TOML section
4
+ * into an `AutoCaptureConfig`.
5
+ *
6
+ * Recognised keys: `enabled`, `trigger_after_tool_calls`,
7
+ * `min_interval_ms`, `max_captures_per_session`, `dry_run`.
8
+ * Unknown keys are silently ignored. Falls back to
9
+ * `AUTO_CAPTURE_DEFAULTS` for any absent key.
10
+ *
11
+ * @param entries - key-value pairs from inside the
12
+ * `[auto_capture]` section
13
+ */
14
+ export declare function parseAutoCaptureSection(entries: ReadonlyMap<string, string>): AutoCaptureConfig;
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Parses the `version` field from a minimal TOML string.
3
+ *
4
+ * Supports only `version = <integer>` syntax. Comment lines are
5
+ * skipped. Returns `null` when no `version` field is present.
6
+ *
7
+ * @param text - raw TOML text from `catalog.toml`
8
+ * @returns the integer version, or `null` if absent
9
+ */
10
+ export declare function parseCatalogVersion(text: string): number | null;