@dikolab/kbdb 0.3.1 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (468) hide show
  1. package/README.md +108 -126
  2. package/dist/chunk-BJPSPNGX.mjs +223 -0
  3. package/dist/chunk-BJPSPNGX.mjs.map +7 -0
  4. package/dist/cli.cjs +956 -319
  5. package/dist/cli.cjs.map +4 -4
  6. package/dist/cli.d.ts +9 -0
  7. package/dist/cli.mjs +840 -321
  8. package/dist/cli.mjs.map +4 -4
  9. package/dist/kbdb-worker.cjs +714 -94
  10. package/dist/kbdb-worker.cjs.map +4 -4
  11. package/dist/mod.cjs +122 -16
  12. package/dist/mod.cjs.map +3 -3
  13. package/dist/mod.d.ts +23 -2
  14. package/dist/mod.mjs +121 -16
  15. package/dist/mod.mjs.map +3 -3
  16. package/dist/src/shared/cli/functions/dispatch-command.function.d.ts +2 -1
  17. package/dist/src/shared/cli/functions/find-db.function.d.ts +7 -8
  18. package/dist/src/shared/cli/functions/handle-mcp.function.d.ts +1 -1
  19. package/dist/src/shared/cli/functions/parse-args.function.d.ts +4 -3
  20. package/dist/src/shared/cli/functions/resolve-kbid-prefix.function.d.ts +27 -0
  21. package/dist/src/shared/cli/functions/resolve-raw-db-path.function.d.ts +10 -0
  22. package/dist/src/shared/cli/functions/run-cli.function.d.ts +3 -1
  23. package/dist/src/shared/cli/functions/run-content.function.d.ts +8 -3
  24. package/dist/src/shared/cli/functions/run-import.function.d.ts +27 -0
  25. package/dist/src/shared/cli/functions/run-recall.function.d.ts +10 -4
  26. package/dist/src/shared/cli/functions/run-search.function.d.ts +7 -0
  27. package/dist/src/shared/cli/functions/run-unlearn.function.d.ts +9 -4
  28. package/dist/src/shared/cli/functions/run-worker-restart.function.d.ts +11 -0
  29. package/dist/src/shared/cli/functions/run-worker-stop.function.d.ts +11 -0
  30. package/dist/src/shared/cli/index.d.ts +2 -0
  31. package/dist/src/shared/cli/typings/cli-deps.interface.d.ts +4 -1
  32. package/dist/src/shared/cli/typings/cli-options.interface.d.ts +17 -0
  33. package/dist/src/shared/cli/typings/dispatch-client.type.d.ts +2 -1
  34. package/dist/src/shared/cli/typings/search-display.model.d.ts +6 -0
  35. package/dist/src/shared/embedding/classes/api-embedding-provider.class.d.ts +33 -0
  36. package/dist/src/shared/embedding/classes/onnx-embedding-provider.class.d.ts +33 -0
  37. package/dist/src/shared/embedding/functions/append-vector-entry.function.d.ts +14 -0
  38. package/dist/src/shared/embedding/functions/create-embedding-provider.function.d.ts +12 -0
  39. package/dist/src/shared/embedding/functions/detect-stale-vectors.function.d.ts +16 -0
  40. package/dist/src/shared/embedding/functions/parse-api-embedding-response.function.d.ts +11 -0
  41. package/dist/src/shared/embedding/functions/rebuild-vectors.function.d.ts +15 -0
  42. package/dist/src/shared/embedding/functions/scan-semantic-contradictions.function.d.ts +13 -0
  43. package/dist/src/shared/embedding/index.d.ts +7 -0
  44. package/dist/src/shared/embedding/typings/semantic-contradiction.model.d.ts +21 -0
  45. package/dist/src/shared/embedding/typings/stale-vectors-report.model.d.ts +16 -0
  46. package/dist/src/shared/mcp/classes/mcp-server.class.d.ts +22 -2
  47. package/dist/src/shared/mcp/functions/create-mcp-server.function.d.ts +6 -1
  48. package/dist/src/shared/mcp/functions/has-sampling-capability.function.d.ts +8 -0
  49. package/dist/src/shared/mcp/functions/run-auto-capture.function.d.ts +26 -0
  50. package/dist/src/shared/mcp/typings/mcp-client.interface.d.ts +2 -0
  51. package/dist/src/shared/mcp/typings/mcp-integrity-check-result.model.d.ts +24 -0
  52. package/dist/src/shared/mcp/typings/mcp-worker-client.interface.d.ts +3 -1
  53. package/dist/src/shared/version/constants/version.constant.d.ts +1 -1
  54. package/dist/src/shared/wasm-codec/typings/paged-search-result.model.d.ts +2 -0
  55. package/dist/src/shared/worker-client/classes/worker-client.class.d.ts +31 -1
  56. package/dist/src/shared/worker-client/constants/request-timeout.constant.d.ts +2 -0
  57. package/dist/src/shared/worker-client/constants/retry-defaults.constant.d.ts +2 -0
  58. package/dist/src/shared/worker-client/functions/get-or-create-client.function.d.ts +20 -0
  59. package/dist/src/shared/worker-client/functions/retry-on-timeout.function.d.ts +17 -0
  60. package/dist/src/shared/worker-client/index.d.ts +4 -1
  61. package/dist/src/shared/worker-client/typings/import-result.model.d.ts +16 -0
  62. package/dist/src/shared/worker-client/typings/integrity-check-result.model.d.ts +24 -0
  63. package/dist/src/shared/worker-client/typings/search-params.model.d.ts +4 -0
  64. package/dist/src/shared/worker-client/typings/search-result.model.d.ts +6 -0
  65. package/dist/src/shared/worker-client/typings/worker-client-options.interface.d.ts +7 -0
  66. package/dist/src/shared/worker-daemon/classes/worker-daemon.class.d.ts +5 -0
  67. package/dist/src/shared/worker-daemon/functions/create-ipc-server.function.d.ts +11 -11
  68. package/dist/src/shared/worker-daemon/functions/embed-after-learn.function.d.ts +13 -0
  69. package/dist/src/shared/worker-daemon/functions/handle-hybrid-search.function.d.ts +44 -0
  70. package/dist/src/shared/worker-daemon/functions/handle-import.function.d.ts +14 -0
  71. package/dist/src/shared/worker-daemon/functions/handle-read-ops.function.d.ts +7 -1
  72. package/dist/src/shared/worker-daemon/functions/handle-write-ops.function.d.ts +9 -4
  73. package/dist/src/shared/worker-daemon/typings/handler-context.interface.d.ts +3 -0
  74. package/dist/wasm/fs-database/kbdb_fs_database.d.ts +16 -85
  75. package/dist/wasm/fs-database/kbdb_fs_database.js +16 -85
  76. package/dist/wasm/fs-database/kbdb_fs_database_bg.wasm +0 -0
  77. package/dist/wasm/kb-worker/kbdb_worker.d.ts +20 -115
  78. package/dist/wasm/kb-worker/kbdb_worker.js +20 -115
  79. package/dist/wasm/kb-worker/kbdb_worker_bg.wasm +0 -0
  80. package/dist/wasm/query-parser/kbdb_query_parser_bg.wasm +0 -0
  81. package/dist/worker.d.ts +8 -0
  82. package/dist/worker.mjs +606 -102
  83. package/dist/worker.mjs.map +4 -4
  84. package/docs/details/README.md +4 -0
  85. package/docs/details/agent-tooling.md +122 -0
  86. package/docs/details/cli.md +78 -12
  87. package/docs/details/knowledge-base.md +173 -0
  88. package/docs/details/library-api.md +42 -2
  89. package/docs/details/mcp-server.md +39 -8
  90. package/docs/details/search-and-ranking.md +56 -0
  91. package/docs/goals/cli.md +110 -34
  92. package/docs/goals/mcp.md +22 -19
  93. package/docs/goals/query-parser.md +8 -0
  94. package/docs/goals/worker-client.md +62 -1
  95. package/docs/goals/worker-daemon.md +52 -10
  96. package/docs/modules/typescript/cli.md +1 -1
  97. package/docs/modules/typescript/shared/cli/functions.md +116 -13
  98. package/docs/modules/typescript/shared/cli/module.md +33 -20
  99. package/docs/modules/typescript/shared/cli/typings.md +4 -0
  100. package/docs/modules/typescript/shared/embedding/functions.md +104 -25
  101. package/docs/modules/typescript/shared/mcp/module.md +1 -1
  102. package/docs/modules/typescript/shared/mcp/typings.md +8 -1
  103. package/docs/modules/typescript/shared/worker-client/module.md +9 -1
  104. package/docs/modules/typescript/shared/worker-client/typings.md +3 -0
  105. package/docs/modules/typescript/shared/worker-daemon/module.md +6 -3
  106. package/docs/overview.md +43 -22
  107. package/docs/release-notes/0.3.1.md +10 -0
  108. package/docs/release-notes/0.3.2.md +64 -0
  109. package/docs/release-notes/0.4.0.md +80 -0
  110. package/docs/release-notes/README.md +2 -0
  111. package/mod.ts +33 -15
  112. package/package.json +11 -10
  113. package/dist/chunk-JG2UCKLI.mjs +0 -95
  114. package/dist/chunk-JG2UCKLI.mjs.map +0 -7
  115. package/src/cli.ts +0 -71
  116. package/src/shared/auto-capture/classes/auto-capture-controller.class.ts +0 -62
  117. package/src/shared/auto-capture/constants/auto-capture-defaults.constant.ts +0 -15
  118. package/src/shared/auto-capture/functions/build-capture-prompt.function.ts +0 -27
  119. package/src/shared/auto-capture/functions/evaluate-trigger.function.ts +0 -50
  120. package/src/shared/auto-capture/index.ts +0 -7
  121. package/src/shared/auto-capture/typings/auto-capture-config.interface.ts +0 -13
  122. package/src/shared/auto-capture/typings/auto-capture-state.interface.ts +0 -13
  123. package/src/shared/auto-capture/typings/auto-capture-trigger.interface.ts +0 -7
  124. package/src/shared/cli/constants/defaults.constant.ts +0 -19
  125. package/src/shared/cli/constants/global-help.constant.ts +0 -73
  126. package/src/shared/cli/constants/help-text.constant.ts +0 -4
  127. package/src/shared/cli/constants/leaf-help.constant.ts +0 -219
  128. package/src/shared/cli/constants/memory-protocol-body.constant.ts +0 -39
  129. package/src/shared/cli/constants/query-guidance-body.constant.ts +0 -37
  130. package/src/shared/cli/constants/subcommand-help.constant.ts +0 -195
  131. package/src/shared/cli/functions/collect-files.function.ts +0 -55
  132. package/src/shared/cli/functions/compute-section-kbid.function.ts +0 -49
  133. package/src/shared/cli/functions/dispatch-command.function.ts +0 -390
  134. package/src/shared/cli/functions/ensure-db.function.ts +0 -21
  135. package/src/shared/cli/functions/error-to-message.function.ts +0 -9
  136. package/src/shared/cli/functions/find-db.function.ts +0 -20
  137. package/src/shared/cli/functions/format-mcp-output.function.ts +0 -41
  138. package/src/shared/cli/functions/format-output.function.ts +0 -95
  139. package/src/shared/cli/functions/format-text-output.function.ts +0 -42
  140. package/src/shared/cli/functions/generate-group-help.function.ts +0 -41
  141. package/src/shared/cli/functions/generate-help.function.ts +0 -654
  142. package/src/shared/cli/functions/handle-data-command.function.ts +0 -67
  143. package/src/shared/cli/functions/handle-mcp.function.ts +0 -56
  144. package/src/shared/cli/functions/handle-migrate.function.ts +0 -64
  145. package/src/shared/cli/functions/hydrate-search-previews.function.ts +0 -29
  146. package/src/shared/cli/functions/install-default-skills.function.ts +0 -296
  147. package/src/shared/cli/functions/is-stdin-tty.function.ts +0 -12
  148. package/src/shared/cli/functions/parse-args.function.ts +0 -156
  149. package/src/shared/cli/functions/prompt-user.function.ts +0 -36
  150. package/src/shared/cli/functions/resolve-skill-names.function.ts +0 -43
  151. package/src/shared/cli/functions/run-agent-create.function.ts +0 -114
  152. package/src/shared/cli/functions/run-agent-delete.function.ts +0 -47
  153. package/src/shared/cli/functions/run-agent-get.function.ts +0 -166
  154. package/src/shared/cli/functions/run-agent-list.function.ts +0 -58
  155. package/src/shared/cli/functions/run-check.function.ts +0 -159
  156. package/src/shared/cli/functions/run-cli.function.ts +0 -299
  157. package/src/shared/cli/functions/run-content.function.ts +0 -47
  158. package/src/shared/cli/functions/run-db-init.function.ts +0 -44
  159. package/src/shared/cli/functions/run-db-migrate.function.ts +0 -40
  160. package/src/shared/cli/functions/run-export.function.ts +0 -40
  161. package/src/shared/cli/functions/run-gc.function.ts +0 -51
  162. package/src/shared/cli/functions/run-init.function.ts +0 -93
  163. package/src/shared/cli/functions/run-learn.function.ts +0 -223
  164. package/src/shared/cli/functions/run-migrate.function.ts +0 -85
  165. package/src/shared/cli/functions/run-rebuild.function.ts +0 -47
  166. package/src/shared/cli/functions/run-recall.function.ts +0 -66
  167. package/src/shared/cli/functions/run-search.function.ts +0 -133
  168. package/src/shared/cli/functions/run-skill-delete.function.ts +0 -47
  169. package/src/shared/cli/functions/run-skill-get.function.ts +0 -90
  170. package/src/shared/cli/functions/run-skill-learn.function.ts +0 -70
  171. package/src/shared/cli/functions/run-skill-list.function.ts +0 -74
  172. package/src/shared/cli/functions/run-status.function.ts +0 -29
  173. package/src/shared/cli/functions/run-unlearn.function.ts +0 -58
  174. package/src/shared/cli/functions/version-gate.function.ts +0 -44
  175. package/src/shared/cli/functions/wrap-command.function.ts +0 -34
  176. package/src/shared/cli/index.ts +0 -55
  177. package/src/shared/cli/typings/agent-create-client.interface.ts +0 -47
  178. package/src/shared/cli/typings/agent-get-client.interface.ts +0 -39
  179. package/src/shared/cli/typings/check-client.interface.ts +0 -66
  180. package/src/shared/cli/typings/cli-deps.interface.ts +0 -54
  181. package/src/shared/cli/typings/cli-options.interface.ts +0 -72
  182. package/src/shared/cli/typings/command-result.model.ts +0 -15
  183. package/src/shared/cli/typings/disconnectable-client.interface.ts +0 -29
  184. package/src/shared/cli/typings/dispatch-client.type.ts +0 -46
  185. package/src/shared/cli/typings/learn-client.interface.ts +0 -53
  186. package/src/shared/cli/typings/learn-io.interface.ts +0 -5
  187. package/src/shared/cli/typings/learn-result.model.ts +0 -27
  188. package/src/shared/cli/typings/search-client.interface.ts +0 -73
  189. package/src/shared/cli/typings/search-display.model.ts +0 -54
  190. package/src/shared/dir-resolver/functions/join-path.function.ts +0 -13
  191. package/src/shared/dir-resolver/functions/resolve-base-dir.function.ts +0 -25
  192. package/src/shared/dir-resolver/functions/resolve-wasm-dir.function.ts +0 -5
  193. package/src/shared/dir-resolver/functions/resolve-worker-script.function.ts +0 -13
  194. package/src/shared/dir-resolver/index.ts +0 -11
  195. package/src/shared/dir-resolver/typings/base-dir.interface.ts +0 -4
  196. package/src/shared/embedding/classes/null-embedding-provider.class.ts +0 -29
  197. package/src/shared/embedding/constants/near-duplicate-thresholds.constant.ts +0 -17
  198. package/src/shared/embedding/functions/build-vector-index.function.ts +0 -79
  199. package/src/shared/embedding/functions/cosine-similarity.function.ts +0 -31
  200. package/src/shared/embedding/functions/detect-near-duplicates.function.ts +0 -69
  201. package/src/shared/embedding/functions/jaccard-coefficient.function.ts +0 -26
  202. package/src/shared/embedding/functions/read-vector-index-meta.function.ts +0 -44
  203. package/src/shared/embedding/functions/rrf-fuse.function.ts +0 -33
  204. package/src/shared/embedding/functions/search-vectors.function.ts +0 -59
  205. package/src/shared/embedding/index.ts +0 -20
  206. package/src/shared/embedding/typings/embedding-config.interface.ts +0 -23
  207. package/src/shared/embedding/typings/embedding-provider.interface.ts +0 -25
  208. package/src/shared/embedding/typings/near-duplicate-candidate.model.ts +0 -25
  209. package/src/shared/embedding/typings/near-duplicate-result.model.ts +0 -26
  210. package/src/shared/embedding/typings/vector-index-entry.model.ts +0 -13
  211. package/src/shared/embedding/typings/vector-index-meta.model.ts +0 -14
  212. package/src/shared/embedding/typings/vector-search-result.model.ts +0 -8
  213. package/src/shared/hash/functions/compute-sha256.ts +0 -17
  214. package/src/shared/hash/index.ts +0 -1
  215. package/src/shared/mcp/classes/mcp-server.class.ts +0 -480
  216. package/src/shared/mcp/constants/mcp-error-codes.constant.ts +0 -30
  217. package/src/shared/mcp/constants/tool-agent-create.constant.ts +0 -39
  218. package/src/shared/mcp/constants/tool-agent-delete.constant.ts +0 -26
  219. package/src/shared/mcp/constants/tool-agent-get.constant.ts +0 -24
  220. package/src/shared/mcp/constants/tool-agent-list.constant.ts +0 -18
  221. package/src/shared/mcp/constants/tool-auto-capture-review.constant.ts +0 -32
  222. package/src/shared/mcp/constants/tool-check.constant.ts +0 -21
  223. package/src/shared/mcp/constants/tool-content.constant.ts +0 -29
  224. package/src/shared/mcp/constants/tool-export.constant.ts +0 -27
  225. package/src/shared/mcp/constants/tool-gc.constant.ts +0 -21
  226. package/src/shared/mcp/constants/tool-learn.constant.ts +0 -58
  227. package/src/shared/mcp/constants/tool-rebuild.constant.ts +0 -21
  228. package/src/shared/mcp/constants/tool-recall.constant.ts +0 -36
  229. package/src/shared/mcp/constants/tool-retrieve.constant.ts +0 -31
  230. package/src/shared/mcp/constants/tool-search.constant.ts +0 -51
  231. package/src/shared/mcp/constants/tool-skill-delete.constant.ts +0 -24
  232. package/src/shared/mcp/constants/tool-skill-get.constant.ts +0 -27
  233. package/src/shared/mcp/constants/tool-skill-learn.constant.ts +0 -37
  234. package/src/shared/mcp/constants/tool-skill-list.constant.ts +0 -18
  235. package/src/shared/mcp/constants/tool-status.constant.ts +0 -20
  236. package/src/shared/mcp/constants/tool-unlearn.constant.ts +0 -25
  237. package/src/shared/mcp/functions/as-boolean-or-undefined.function.ts +0 -11
  238. package/src/shared/mcp/functions/as-string-array-or-undefined.function.ts +0 -17
  239. package/src/shared/mcp/functions/as-string-array.function.ts +0 -15
  240. package/src/shared/mcp/functions/as-string.function.ts +0 -10
  241. package/src/shared/mcp/functions/build-skills-text.function.ts +0 -43
  242. package/src/shared/mcp/functions/create-mcp-server.function.ts +0 -14
  243. package/src/shared/mcp/functions/create-prompt-definitions.function.ts +0 -102
  244. package/src/shared/mcp/functions/create-resource-templates.function.ts +0 -23
  245. package/src/shared/mcp/functions/create-tool-definitions.function.ts +0 -530
  246. package/src/shared/mcp/functions/extract-skill-arguments.function.ts +0 -27
  247. package/src/shared/mcp/functions/handle-agent-create.function.ts +0 -116
  248. package/src/shared/mcp/functions/handle-agent-delete.function.ts +0 -50
  249. package/src/shared/mcp/functions/handle-agent-get.function.ts +0 -160
  250. package/src/shared/mcp/functions/handle-agent-list.function.ts +0 -50
  251. package/src/shared/mcp/functions/handle-agent-prompt.function.ts +0 -68
  252. package/src/shared/mcp/functions/handle-completion.function.ts +0 -114
  253. package/src/shared/mcp/functions/handle-mcp-request.function.ts +0 -202
  254. package/src/shared/mcp/functions/handle-prompt-get.function.ts +0 -220
  255. package/src/shared/mcp/functions/handle-recall.function.ts +0 -66
  256. package/src/shared/mcp/functions/handle-resource-read.function.ts +0 -56
  257. package/src/shared/mcp/functions/handle-roots-list.function.ts +0 -29
  258. package/src/shared/mcp/functions/handle-skill-prompt.function.ts +0 -44
  259. package/src/shared/mcp/functions/handle-tool-auto-capture-review.function.ts +0 -24
  260. package/src/shared/mcp/functions/handle-tool-call.function.ts +0 -560
  261. package/src/shared/mcp/functions/handle-tool-check.function.ts +0 -21
  262. package/src/shared/mcp/functions/handle-tool-content.function.ts +0 -23
  263. package/src/shared/mcp/functions/handle-tool-export.function.ts +0 -25
  264. package/src/shared/mcp/functions/handle-tool-gc.function.ts +0 -21
  265. package/src/shared/mcp/functions/handle-tool-learn.function.ts +0 -69
  266. package/src/shared/mcp/functions/handle-tool-rebuild.function.ts +0 -21
  267. package/src/shared/mcp/functions/handle-tool-retrieve.function.ts +0 -40
  268. package/src/shared/mcp/functions/handle-tool-search.function.ts +0 -47
  269. package/src/shared/mcp/functions/handle-tool-skill-delete.function.ts +0 -34
  270. package/src/shared/mcp/functions/handle-tool-skill-get.function.ts +0 -59
  271. package/src/shared/mcp/functions/handle-tool-skill-learn.function.ts +0 -61
  272. package/src/shared/mcp/functions/handle-tool-skill-list.function.ts +0 -39
  273. package/src/shared/mcp/functions/handle-tool-status.function.ts +0 -21
  274. package/src/shared/mcp/functions/handle-tool-unlearn.function.ts +0 -24
  275. package/src/shared/mcp/functions/parse-agent-meta.function.ts +0 -27
  276. package/src/shared/mcp/functions/parse-skill-arguments.function.ts +0 -36
  277. package/src/shared/mcp/functions/parse-skill-content.function.ts +0 -38
  278. package/src/shared/mcp/functions/read-agent-meta.function.ts +0 -41
  279. package/src/shared/mcp/functions/resolve-skill-refs.function.ts +0 -50
  280. package/src/shared/mcp/functions/run-startup-health-check.function.ts +0 -34
  281. package/src/shared/mcp/functions/serialize-skill-content.function.ts +0 -12
  282. package/src/shared/mcp/functions/should-emit-log.function.ts +0 -38
  283. package/src/shared/mcp/index.ts +0 -28
  284. package/src/shared/mcp/typings/agent-types.interface.ts +0 -39
  285. package/src/shared/mcp/typings/log-types.interface.ts +0 -26
  286. package/src/shared/mcp/typings/mcp-capabilities.interface.ts +0 -16
  287. package/src/shared/mcp/typings/mcp-client.interface.ts +0 -317
  288. package/src/shared/mcp/typings/mcp-completion.interface.ts +0 -45
  289. package/src/shared/mcp/typings/mcp-content-result.model.ts +0 -9
  290. package/src/shared/mcp/typings/mcp-export-result.model.ts +0 -11
  291. package/src/shared/mcp/typings/mcp-gc-result.model.ts +0 -15
  292. package/src/shared/mcp/typings/mcp-integrity-check-result.model.ts +0 -17
  293. package/src/shared/mcp/typings/mcp-integrity-error.model.ts +0 -15
  294. package/src/shared/mcp/typings/mcp-notification.interface.ts +0 -9
  295. package/src/shared/mcp/typings/mcp-rebuild-result.model.ts +0 -9
  296. package/src/shared/mcp/typings/mcp-request.interface.ts +0 -11
  297. package/src/shared/mcp/typings/mcp-resource-result.interface.ts +0 -12
  298. package/src/shared/mcp/typings/mcp-resource-template.interface.ts +0 -11
  299. package/src/shared/mcp/typings/mcp-response.interface.ts +0 -18
  300. package/src/shared/mcp/typings/mcp-server-info.interface.ts +0 -7
  301. package/src/shared/mcp/typings/mcp-server-state.interface.ts +0 -17
  302. package/src/shared/mcp/typings/mcp-tool-annotations.interface.ts +0 -32
  303. package/src/shared/mcp/typings/mcp-tool-definition.interface.ts +0 -16
  304. package/src/shared/mcp/typings/mcp-tool-result.interface.ts +0 -19
  305. package/src/shared/mcp/typings/mcp-types.interface.ts +0 -158
  306. package/src/shared/mcp/typings/mcp-worker-client.interface.ts +0 -243
  307. package/src/shared/mcp/typings/prompt-types.interface.ts +0 -39
  308. package/src/shared/mcp/typings/remove-section-result.model.ts +0 -10
  309. package/src/shared/mcp/typings/sampling-types.interface.ts +0 -48
  310. package/src/shared/mcp/typings/skill-types.interface.ts +0 -29
  311. package/src/shared/mcp/typings/tool-call-result.model.ts +0 -18
  312. package/src/shared/mod.ts +0 -1
  313. package/src/shared/platform/functions/get-ipc-path.function.ts +0 -19
  314. package/src/shared/platform/functions/get-tmpdir.function.ts +0 -8
  315. package/src/shared/platform/functions/is-process-alive.function.ts +0 -17
  316. package/src/shared/platform/index.ts +0 -3
  317. package/src/shared/runtime/functions/detect-runtime.ts +0 -14
  318. package/src/shared/runtime/functions/get-args.ts +0 -16
  319. package/src/shared/runtime/index.ts +0 -3
  320. package/src/shared/runtime/typings/runtime.ts +0 -2
  321. package/src/shared/sync/functions/build-import-report.function.ts +0 -40
  322. package/src/shared/sync/functions/parse-export-entry.function.ts +0 -45
  323. package/src/shared/sync/functions/resolve-conflict.function.ts +0 -31
  324. package/src/shared/sync/functions/serialize-export-entry.function.ts +0 -18
  325. package/src/shared/sync/index.ts +0 -9
  326. package/src/shared/sync/typings/conflict-resolution.type.ts +0 -8
  327. package/src/shared/sync/typings/export-entry.interface.ts +0 -13
  328. package/src/shared/sync/typings/export-options.interface.ts +0 -9
  329. package/src/shared/sync/typings/import-options.interface.ts +0 -7
  330. package/src/shared/sync/typings/import-report.interface.ts +0 -15
  331. package/src/shared/version/constants/version.constant.ts +0 -2
  332. package/src/shared/version/index.ts +0 -1
  333. package/src/shared/wasm-codec/functions/decode-add-section-result.function.ts +0 -112
  334. package/src/shared/wasm-codec/functions/decode-compose-output.function.ts +0 -16
  335. package/src/shared/wasm-codec/functions/decode-document-manifest-list.function.ts +0 -70
  336. package/src/shared/wasm-codec/functions/decode-document-manifest.function.ts +0 -87
  337. package/src/shared/wasm-codec/functions/decode-f32.function.ts +0 -16
  338. package/src/shared/wasm-codec/functions/decode-key-value-text.function.ts +0 -15
  339. package/src/shared/wasm-codec/functions/decode-one-recall-result.function.ts +0 -86
  340. package/src/shared/wasm-codec/functions/decode-option-string.function.ts +0 -24
  341. package/src/shared/wasm-codec/functions/decode-recall-document.function.ts +0 -59
  342. package/src/shared/wasm-codec/functions/decode-recall-reference.function.ts +0 -52
  343. package/src/shared/wasm-codec/functions/decode-recall-result.function.ts +0 -267
  344. package/src/shared/wasm-codec/functions/decode-recall-sibling.function.ts +0 -43
  345. package/src/shared/wasm-codec/functions/decode-remove-flag.function.ts +0 -3
  346. package/src/shared/wasm-codec/functions/decode-scored-results.function.ts +0 -194
  347. package/src/shared/wasm-codec/functions/decode-section-match.function.ts +0 -80
  348. package/src/shared/wasm-codec/functions/decode-section-record-list.function.ts +0 -20
  349. package/src/shared/wasm-codec/functions/decode-section-record-trailing.function.ts +0 -75
  350. package/src/shared/wasm-codec/functions/decode-section-record.function.ts +0 -85
  351. package/src/shared/wasm-codec/functions/decode-section-records.function.ts +0 -249
  352. package/src/shared/wasm-codec/functions/decode-section-type.function.ts +0 -30
  353. package/src/shared/wasm-codec/functions/decode-string.function.ts +0 -22
  354. package/src/shared/wasm-codec/functions/decode-u32.function.ts +0 -16
  355. package/src/shared/wasm-codec/functions/decode-u64.function.ts +0 -16
  356. package/src/shared/wasm-codec/functions/decode-wasm-list.function.ts +0 -31
  357. package/src/shared/wasm-codec/functions/encode-add-section-params.function.ts +0 -102
  358. package/src/shared/wasm-codec/functions/encode-group-params.function.ts +0 -28
  359. package/src/shared/wasm-codec/functions/encode-identifier-list.function.ts +0 -17
  360. package/src/shared/wasm-codec/functions/encode-kbid-list.function.ts +0 -17
  361. package/src/shared/wasm-codec/functions/encode-option-string.function.ts +0 -14
  362. package/src/shared/wasm-codec/functions/encode-recall-params.function.ts +0 -68
  363. package/src/shared/wasm-codec/functions/encode-search-params.function.ts +0 -12
  364. package/src/shared/wasm-codec/functions/encode-section-type.function.ts +0 -18
  365. package/src/shared/wasm-codec/functions/encode-string.function.ts +0 -9
  366. package/src/shared/wasm-codec/functions/encode-type-filter-param.function.ts +0 -13
  367. package/src/shared/wasm-codec/functions/encode-u32.function.ts +0 -5
  368. package/src/shared/wasm-codec/functions/encode-update-section-params.function.ts +0 -16
  369. package/src/shared/wasm-codec/index.ts +0 -49
  370. package/src/shared/wasm-codec/typings/add-section-input.model.ts +0 -45
  371. package/src/shared/wasm-codec/typings/add-section-result.model.ts +0 -28
  372. package/src/shared/wasm-codec/typings/document-manifest.model.ts +0 -20
  373. package/src/shared/wasm-codec/typings/document-section.model.ts +0 -12
  374. package/src/shared/wasm-codec/typings/item-decoder.type.ts +0 -10
  375. package/src/shared/wasm-codec/typings/near-duplicate.model.ts +0 -16
  376. package/src/shared/wasm-codec/typings/paged-search-result.model.ts +0 -22
  377. package/src/shared/wasm-codec/typings/section-match.model.ts +0 -31
  378. package/src/shared/wasm-codec/typings/section-record-trailing.model.ts +0 -38
  379. package/src/shared/wasm-codec/typings/section-record.model.ts +0 -66
  380. package/src/shared/wasm-codec/typings/section-type-result.model.ts +0 -12
  381. package/src/shared/worker-client/classes/worker-client.class.ts +0 -466
  382. package/src/shared/worker-client/functions/compute-context-id.function.ts +0 -18
  383. package/src/shared/worker-client/functions/create-worker-client.function.ts +0 -70
  384. package/src/shared/worker-client/functions/discover-daemon.function.ts +0 -47
  385. package/src/shared/worker-client/functions/handle-ipc-data.function.ts +0 -49
  386. package/src/shared/worker-client/functions/resolve-db-path.function.ts +0 -21
  387. package/src/shared/worker-client/functions/send-ipc-request.function.ts +0 -39
  388. package/src/shared/worker-client/functions/spawn-daemon.function.ts +0 -35
  389. package/src/shared/worker-client/functions/wait-for-daemon.function.ts +0 -34
  390. package/src/shared/worker-client/index.ts +0 -44
  391. package/src/shared/worker-client/typings/add-section-result.model.ts +0 -39
  392. package/src/shared/worker-client/typings/content-result.model.ts +0 -12
  393. package/src/shared/worker-client/typings/daemon-info.model.ts +0 -7
  394. package/src/shared/worker-client/typings/export-result.model.ts +0 -14
  395. package/src/shared/worker-client/typings/gc-result.model.ts +0 -18
  396. package/src/shared/worker-client/typings/integrity-check-result.model.ts +0 -43
  397. package/src/shared/worker-client/typings/json-rpc-response.interface.ts +0 -17
  398. package/src/shared/worker-client/typings/migrate-result.model.ts +0 -11
  399. package/src/shared/worker-client/typings/pending-call.interface.ts +0 -7
  400. package/src/shared/worker-client/typings/rebuild-result.model.ts +0 -12
  401. package/src/shared/worker-client/typings/recall-document.model.ts +0 -16
  402. package/src/shared/worker-client/typings/recall-params.model.ts +0 -15
  403. package/src/shared/worker-client/typings/recall-reference.model.ts +0 -32
  404. package/src/shared/worker-client/typings/recall-result.model.ts +0 -98
  405. package/src/shared/worker-client/typings/recall-sibling.model.ts +0 -11
  406. package/src/shared/worker-client/typings/recall-single-result.model.ts +0 -41
  407. package/src/shared/worker-client/typings/remove-section-result.model.ts +0 -7
  408. package/src/shared/worker-client/typings/search-params.model.ts +0 -14
  409. package/src/shared/worker-client/typings/search-result.model.ts +0 -43
  410. package/src/shared/worker-client/typings/section.model.ts +0 -43
  411. package/src/shared/worker-client/typings/status-result.model.ts +0 -14
  412. package/src/shared/worker-client/typings/version-status.model.ts +0 -28
  413. package/src/shared/worker-client/typings/worker-client-error.interface.ts +0 -8
  414. package/src/shared/worker-client/typings/worker-client-options.interface.ts +0 -30
  415. package/src/shared/worker-daemon/classes/ipc-error.class.ts +0 -22
  416. package/src/shared/worker-daemon/classes/worker-daemon.class.ts +0 -1291
  417. package/src/shared/worker-daemon/constants/daemon-defaults.constant.ts +0 -29
  418. package/src/shared/worker-daemon/constants/wasm-method-map.constant.ts +0 -69
  419. package/src/shared/worker-daemon/functions/build-ipc-error-response.function.ts +0 -16
  420. package/src/shared/worker-daemon/functions/check-catalog-version.function.ts +0 -54
  421. package/src/shared/worker-daemon/functions/check-preconditions.function.ts +0 -28
  422. package/src/shared/worker-daemon/functions/create-host-imports.function.ts +0 -328
  423. package/src/shared/worker-daemon/functions/create-ipc-server.function.ts +0 -87
  424. package/src/shared/worker-daemon/functions/detect-stale-pid.function.ts +0 -33
  425. package/src/shared/worker-daemon/functions/dispatch-request.function.ts +0 -190
  426. package/src/shared/worker-daemon/functions/handle-check-version.function.ts +0 -74
  427. package/src/shared/worker-daemon/functions/handle-config-method.function.ts +0 -27
  428. package/src/shared/worker-daemon/functions/handle-read-ops.function.ts +0 -236
  429. package/src/shared/worker-daemon/functions/handle-write-ops.function.ts +0 -257
  430. package/src/shared/worker-daemon/functions/load-wasm-modules.function.ts +0 -95
  431. package/src/shared/worker-daemon/functions/parse-auto-capture-section.function.ts +0 -51
  432. package/src/shared/worker-daemon/functions/parse-catalog-version.function.ts +0 -20
  433. package/src/shared/worker-daemon/functions/parse-embedding-section.function.ts +0 -38
  434. package/src/shared/worker-daemon/functions/parse-worker-toml.function.ts +0 -104
  435. package/src/shared/worker-daemon/functions/read-config.function.ts +0 -83
  436. package/src/shared/worker-daemon/functions/run-startup-integrity-check.function.ts +0 -55
  437. package/src/shared/worker-daemon/functions/run-worker.function.ts +0 -57
  438. package/src/shared/worker-daemon/functions/scan-near-duplicates.function.ts +0 -92
  439. package/src/shared/worker-daemon/functions/start-daemon.function.ts +0 -74
  440. package/src/shared/worker-daemon/functions/wasm-bridge.function.ts +0 -144
  441. package/src/shared/worker-daemon/functions/wasm-memory-helpers.function.ts +0 -41
  442. package/src/shared/worker-daemon/functions/write-lock.function.ts +0 -49
  443. package/src/shared/worker-daemon/index.ts +0 -16
  444. package/src/shared/worker-daemon/typings/allocator-ref.interface.ts +0 -16
  445. package/src/shared/worker-daemon/typings/daemon-config.interface.ts +0 -20
  446. package/src/shared/worker-daemon/typings/fs-adapter.interface.ts +0 -22
  447. package/src/shared/worker-daemon/typings/handler-context.interface.ts +0 -19
  448. package/src/shared/worker-daemon/typings/ipc-handler.interface.ts +0 -39
  449. package/src/shared/worker-daemon/typings/memory-ref.interface.ts +0 -13
  450. package/src/shared/worker-daemon/typings/wasm-fn.type.ts +0 -2
  451. package/src/shared/worker-daemon/typings/wasm-modules.interface.ts +0 -7
  452. package/src/shared/worker-daemon/typings/write-lock.interface.ts +0 -13
  453. package/src/wasm/fs-database/kbdb_fs_database.d.ts +0 -259
  454. package/src/wasm/fs-database/kbdb_fs_database.js +0 -515
  455. package/src/wasm/fs-database/kbdb_fs_database_bg.wasm +0 -0
  456. package/src/wasm/fs-database/kbdb_fs_database_bg.wasm.d.ts +0 -35
  457. package/src/wasm/fs-database/package.json +0 -13
  458. package/src/wasm/kb-worker/kbdb_worker.d.ts +0 -650
  459. package/src/wasm/kb-worker/kbdb_worker.js +0 -1181
  460. package/src/wasm/kb-worker/kbdb_worker_bg.wasm +0 -0
  461. package/src/wasm/kb-worker/kbdb_worker_bg.wasm.d.ts +0 -77
  462. package/src/wasm/kb-worker/package.json +0 -13
  463. package/src/wasm/query-parser/kbdb_query_parser.d.ts +0 -195
  464. package/src/wasm/query-parser/kbdb_query_parser.js +0 -403
  465. package/src/wasm/query-parser/kbdb_query_parser_bg.wasm +0 -0
  466. package/src/wasm/query-parser/kbdb_query_parser_bg.wasm.d.ts +0 -25
  467. package/src/wasm/query-parser/package.json +0 -13
  468. package/src/worker.ts +0 -42
@@ -1,29 +0,0 @@
1
- import type { VersionStatus } from '../../worker-client/typings/version-status.model.ts';
2
- import type { MigrateResult } from '../../worker-client/typings/migrate-result.model.ts';
3
- import type { DispatchClient } from './dispatch-client.type.ts';
4
-
5
- /**
6
- * Extension of `DispatchClient` with lifecycle methods needed by
7
- * the CLI orchestrator.
8
- *
9
- * Adds version checking, migration, and disconnect so the orchestrator
10
- * can manage a worker-client connection across all CLI commands.
11
- */
12
- export interface DisconnectableClient extends DispatchClient {
13
- /**
14
- * Checks the database version against the worker engine.
15
- *
16
- * @param targetPath - absolute path to the `.kbdb` database root
17
- */
18
- checkVersion(targetPath: string): Promise<VersionStatus>;
19
-
20
- /**
21
- * Runs all pending database migrations.
22
- *
23
- * @param targetPath - absolute path to the `.kbdb` database root
24
- */
25
- migrateDatabase(targetPath: string): Promise<MigrateResult>;
26
-
27
- /** Disconnects from the worker daemon and releases resources. */
28
- disconnect(): void;
29
- }
@@ -1,46 +0,0 @@
1
- import type { SearchClient } from './search-client.interface.ts';
2
- import type { LearnClient } from './learn-client.interface.ts';
3
- import type { UnlearnClient } from '../functions/run-unlearn.function.ts';
4
- import type { ContentClient } from '../functions/run-content.function.ts';
5
- import type { CheckClient } from './check-client.interface.ts';
6
- import type { GcClient } from '../functions/run-gc.function.ts';
7
- import type { RebuildClient } from '../functions/run-rebuild.function.ts';
8
- import type { StatusClient } from '../functions/run-status.function.ts';
9
- import type { DbMigrateClient } from '../functions/run-db-migrate.function.ts';
10
- import type { SkillLearnClient } from '../functions/run-skill-learn.function.ts';
11
- import type { SkillListClient } from '../functions/run-skill-list.function.ts';
12
- import type { SkillGetClient } from '../functions/run-skill-get.function.ts';
13
- import type { SkillDeleteClient } from '../functions/run-skill-delete.function.ts';
14
- import type { AgentCreateClient } from './agent-create-client.interface.ts';
15
- import type { AgentListClient } from '../functions/run-agent-list.function.ts';
16
- import type { AgentGetClient } from './agent-get-client.interface.ts';
17
- import type { AgentDeleteClient } from '../functions/run-agent-delete.function.ts';
18
- import type { RecallClient } from '../functions/run-recall.function.ts';
19
- import type { ExportClient } from '../functions/run-export.function.ts';
20
-
21
- /**
22
- * Intersection of all data-command client interfaces.
23
- *
24
- * Each run* function defines its own minimal interface; this
25
- * intersection combines them so `dispatchCommand` can route
26
- * to any command handler with full type safety.
27
- */
28
- export type DispatchClient = SearchClient &
29
- LearnClient &
30
- UnlearnClient &
31
- ContentClient &
32
- CheckClient &
33
- GcClient &
34
- RebuildClient &
35
- StatusClient &
36
- DbMigrateClient &
37
- SkillLearnClient &
38
- SkillListClient &
39
- SkillGetClient &
40
- SkillDeleteClient &
41
- AgentCreateClient &
42
- AgentListClient &
43
- AgentGetClient &
44
- AgentDeleteClient &
45
- RecallClient &
46
- ExportClient;
@@ -1,53 +0,0 @@
1
- /**
2
- * Minimal client interface required by `runLearn`.
3
- *
4
- * Decouples the CLI function from the concrete `WorkerClient`
5
- * implementation, making it straightforward to test with mocks.
6
- */
7
- export interface LearnClient {
8
- /**
9
- * Ingests a content section into the knowledge base.
10
- *
11
- * @param params - section metadata and raw text content
12
- * @returns enriched result containing the new kbid plus
13
- * optional supersession, warnings, and near-duplicate info
14
- */
15
- addSection(params: {
16
- sectionType: string;
17
- content: string;
18
- title?: string;
19
- description?: string;
20
- docid?: string;
21
- tags?: string[];
22
- replace?: boolean;
23
- /**
24
- * Absolute path to the source file. Required for supersession
25
- * via source key when `replace` is `true`.
26
- */
27
- sourcePath?: string;
28
- }): Promise<LearnAddSectionResult>;
29
- }
30
-
31
- /** Enriched add-section result returned by the daemon. */
32
- export interface LearnAddSectionResult {
33
- /** Knowledge-base identifier assigned to the new section. */
34
- readonly kbid: string;
35
- /**
36
- * Kbid of the section superseded via `--replace`,
37
- * or `null` / `undefined` when none.
38
- */
39
- readonly superseded?: string | null;
40
- /**
41
- * Advisory warning strings (e.g. `"heading_missing"`).
42
- * May be absent from older daemon versions.
43
- */
44
- readonly warnings?: string[];
45
- /**
46
- * Near-duplicate sections with similarity >= 0.85.
47
- * May be absent from older daemon versions.
48
- */
49
- readonly near_duplicates?: {
50
- readonly kbid: string;
51
- readonly similarity: number;
52
- }[];
53
- }
@@ -1,5 +0,0 @@
1
- /** Injectable I/O for `runLearn` without real stdin. */
2
- export interface LearnIO {
3
- /** Reads all stdin content and resolves with the full string. */
4
- readStdin: () => Promise<string>;
5
- }
@@ -1,27 +0,0 @@
1
- /** Result record produced for each file processed by the learn command. */
2
- export interface LearnResult {
3
- /** Knowledge-base identifier assigned to the ingested section. */
4
- kbid: string;
5
- /** Absolute path to the source file that was ingested. */
6
- path: string;
7
- /** Size of the file content in bytes (UTF-8 character count). */
8
- size: number;
9
- /** `true` when the file was skipped without being ingested. */
10
- skipped: boolean;
11
- /**
12
- * Kbid of the section that was superseded via `--replace`,
13
- * or `null` when no supersession occurred.
14
- */
15
- superseded: string | null;
16
- /**
17
- * Advisory warning strings returned by the engine
18
- * (e.g. `"heading_missing"` when no title is provided).
19
- */
20
- warnings: string[];
21
- /**
22
- * Sections with content similarity >= 0.85 to this section.
23
- * Each entry identifies a near-duplicate section and its
24
- * similarity score.
25
- */
26
- near_duplicates: { kbid: string; similarity: number }[];
27
- }
@@ -1,73 +0,0 @@
1
- /**
2
- * Minimal client interface required by `runSearch`.
3
- *
4
- * Decouples the CLI function from the concrete `WorkerClient`
5
- * implementation, making it straightforward to test with mocks.
6
- */
7
- export interface SearchClient {
8
- /**
9
- * Searches the knowledge base and returns paginated results.
10
- *
11
- * @param params - query, mode, limit, and offset
12
- */
13
- search(params: {
14
- query: string;
15
- mode?: string;
16
- /** Search algorithm: `'lexical'`, `'vector'`, or `'hybrid'`. */
17
- algo?: string;
18
- limit?: number;
19
- offset?: number;
20
- }): Promise<SearchClientResponse>;
21
- }
22
-
23
- /** Raw paginated search response from the daemon. */
24
- export interface SearchClientResponse {
25
- /** Result items for the current page. */
26
- readonly items: readonly SearchClientItem[];
27
- /** Total number of matches across all pages. */
28
- readonly total: number;
29
- /** Number of results skipped. */
30
- readonly offset: number;
31
- /** Maximum results per page. */
32
- readonly limit: number;
33
- /** Whether more results exist beyond this page. */
34
- readonly has_more: boolean;
35
- /**
36
- * When `true`, the engine relaxed the query to produce results.
37
- * May be absent from older daemon versions.
38
- */
39
- readonly relaxed?: boolean;
40
- }
41
-
42
- /** A single raw search result item returned by the daemon. */
43
- export interface SearchClientItem {
44
- /** Knowledge-base identifier of the matched section. */
45
- readonly kbid: string;
46
- /** Section heading, or null when untitled. */
47
- readonly heading: string | null;
48
- /** MIME type of the section content. */
49
- readonly type: string;
50
- /** Document IDs this section belongs to. */
51
- readonly docids: readonly string[];
52
- /** Relevance score from the ranking engine. */
53
- readonly score: number;
54
- /** KWIC excerpt centered on the highest-scoring matched term. */
55
- readonly snippet: string;
56
- /** Query terms that matched within this section. */
57
- readonly matched_terms: readonly string[];
58
- /**
59
- * Fields that contained at least one match.
60
- * May be absent from older daemon versions.
61
- */
62
- readonly matched_fields?: readonly string[];
63
- /**
64
- * Normalised confidence score (0.0-1.0) relative to the top result.
65
- * May be absent from older daemon versions.
66
- */
67
- readonly confidence?: number;
68
- /**
69
- * ISO 8601 creation timestamp of the section.
70
- * May be absent from older daemon versions.
71
- */
72
- readonly created_at?: string;
73
- }
@@ -1,54 +0,0 @@
1
- /** A single search result formatted for display to the user. */
2
- export interface SearchDisplay {
3
- /** Knowledge-base identifier of the matched section. */
4
- kbid: string;
5
- /** Section heading, or null when untitled. */
6
- heading: string | null;
7
- /** MIME type of the section content. */
8
- type: string;
9
- /** Document IDs this section belongs to. */
10
- docids: readonly string[];
11
- /** Relevance score assigned by the ranking engine. */
12
- score: number;
13
- /**
14
- * Normalised confidence score (0.0-1.0) relative to the
15
- * top result in this result set.
16
- */
17
- confidence: number;
18
- /** KWIC snippet from the WASM engine (~150 chars). */
19
- snippet: string;
20
- /** Query terms that matched within this section. */
21
- matched_terms: readonly string[];
22
- /**
23
- * Fields that contained at least one match:
24
- * subset of `["heading", "body", "code"]`.
25
- */
26
- matched_fields: readonly string[];
27
- /** ISO 8601 creation timestamp of the section. */
28
- created_at: string;
29
- /**
30
- * CLI-side truncated content preview for terminal display.
31
- * Populated when `--content` / `-c` is used.
32
- */
33
- preview: string;
34
- }
35
-
36
- /** Paginated search display envelope for CLI output. */
37
- export interface PagedSearchDisplay {
38
- /** Search results for the current page. */
39
- items: SearchDisplay[];
40
- /** Total number of matches across all pages. */
41
- total: number;
42
- /** Number of results skipped. */
43
- offset: number;
44
- /** Maximum results per page. */
45
- limit: number;
46
- /** Whether more results exist beyond this page. */
47
- has_more: boolean;
48
- /**
49
- * When `true`, the engine relaxed the query (e.g. dropped
50
- * rare terms) to return results that would otherwise be
51
- * empty.
52
- */
53
- relaxed: boolean;
54
- }
@@ -1,13 +0,0 @@
1
- import { join } from 'node:path';
2
-
3
- export function isRemoteUrl(path: string): boolean {
4
- return path.startsWith('http://') || path.startsWith('https://');
5
- }
6
-
7
- export function joinPath(base: string, ...segments: string[]): string {
8
- if (isRemoteUrl(base)) {
9
- const trailing = base.endsWith('/') ? '' : '/';
10
- return base + trailing + segments.join('/');
11
- }
12
- return join(base, ...segments);
13
- }
@@ -1,25 +0,0 @@
1
- import { dirname } from 'node:path';
2
- import { fileURLToPath } from 'node:url';
3
-
4
- import type { BaseDir } from '../typings/base-dir.interface.ts';
5
-
6
- export function resolveScriptDir(
7
- entryUrl: string,
8
- entryDirname?: string,
9
- ): string {
10
- if (entryDirname) return entryDirname;
11
- if (entryUrl.startsWith('file:'))
12
- return dirname(fileURLToPath(entryUrl));
13
- return dirname(entryUrl);
14
- }
15
-
16
- export function resolveBaseDir(
17
- entryUrl: string,
18
- entryDirname?: string,
19
- ): BaseDir {
20
- const scriptDir =
21
- typeof __dirname !== 'undefined'
22
- ? __dirname
23
- : resolveScriptDir(entryUrl, entryDirname);
24
- return { scriptDir, cwd: process.cwd() };
25
- }
@@ -1,5 +0,0 @@
1
- import { joinPath } from './join-path.function.ts';
2
-
3
- export function resolveWasmDir(scriptDir: string): string {
4
- return joinPath(scriptDir, 'wasm');
5
- }
@@ -1,13 +0,0 @@
1
- import { joinPath } from './join-path.function.ts';
2
-
3
- import type { Runtime } from '../../runtime/typings/runtime.ts';
4
-
5
- export function resolveWorkerScript(
6
- scriptDir: string,
7
- runtime: Runtime,
8
- ): string {
9
- if (runtime === 'deno') {
10
- return joinPath(scriptDir, 'worker.ts');
11
- }
12
- return joinPath(scriptDir, 'kbdb-worker.cjs');
13
- }
@@ -1,11 +0,0 @@
1
- export {
2
- resolveBaseDir,
3
- resolveScriptDir,
4
- } from './functions/resolve-base-dir.function.ts';
5
- export { resolveWorkerScript } from './functions/resolve-worker-script.function.ts';
6
- export { resolveWasmDir } from './functions/resolve-wasm-dir.function.ts';
7
- export {
8
- isRemoteUrl,
9
- joinPath,
10
- } from './functions/join-path.function.ts';
11
- export type { BaseDir } from './typings/base-dir.interface.ts';
@@ -1,4 +0,0 @@
1
- export interface BaseDir {
2
- readonly scriptDir: string;
3
- readonly cwd: string;
4
- }
@@ -1,29 +0,0 @@
1
- import type { EmbeddingProvider } from '../typings/embedding-provider.interface.ts';
2
-
3
- /**
4
- * No-op embedding provider used when embeddings are not configured.
5
- *
6
- * Satisfies the `EmbeddingProvider` contract without performing any
7
- * computation. Use this as the default when no provider is selected
8
- * in the config.
9
- */
10
- export class NullEmbeddingProvider implements EmbeddingProvider {
11
- /**
12
- * Returns an empty `Float32Array` for each input text.
13
- *
14
- * @param texts - input strings (contents are ignored)
15
- */
16
- embed(texts: string[]): Promise<Float32Array[]> {
17
- return Promise.resolve(texts.map(() => new Float32Array(0)));
18
- }
19
-
20
- /** Always returns 0 -- no dimensions when disabled. */
21
- dimensions(): number {
22
- return 0;
23
- }
24
-
25
- /** Always returns `'none'`. */
26
- modelName(): string {
27
- return 'none';
28
- }
29
- }
@@ -1,17 +0,0 @@
1
- /**
2
- * Minimum Jaccard coefficient to flag a section as a near-duplicate
3
- * directly via the Jaccard pass.
4
- */
5
- export const JACCARD_THRESHOLD = 0.85;
6
-
7
- /**
8
- * Lower bound of the Jaccard pre-filter band that triggers the
9
- * cosine-similarity pass.
10
- */
11
- export const JACCARD_BAND_MIN = 0.4;
12
-
13
- /**
14
- * Minimum cosine similarity to flag a section as a near-duplicate
15
- * via the cosine pass.
16
- */
17
- export const COSINE_THRESHOLD = 0.92;
@@ -1,79 +0,0 @@
1
- import { writeFileSync } from 'node:fs';
2
- import { join } from 'node:path';
3
- import type { VectorIndexEntry } from '../typings/vector-index-entry.model.ts';
4
-
5
- const MAGIC = 'KBVX';
6
- const VERSION = 1;
7
- const KBID_WIDTH = 64;
8
- const HEADER_SIZE = 32;
9
-
10
- function writeHeader(
11
- buf: Buffer,
12
- dimensions: number,
13
- count: number,
14
- modelLen: number,
15
- ): void {
16
- buf.write(MAGIC, 0, 'ascii');
17
- buf.writeUInt32LE(VERSION, 4);
18
- buf.writeUInt32LE(dimensions, 8);
19
- buf.writeUInt32LE(count, 12);
20
- buf.writeUInt32LE(modelLen, 16);
21
- }
22
-
23
- function writeRecord(
24
- buf: Buffer,
25
- offset: number,
26
- entry: VectorIndexEntry,
27
- dimensions: number,
28
- encoder: TextEncoder,
29
- ): void {
30
- const kbidBytes = encoder.encode(entry.kbid);
31
- kbidBytes.forEach((b, i) => {
32
- if (i < KBID_WIDTH) buf.writeUInt8(b, offset + i);
33
- });
34
- for (let d = 0; d < dimensions; d++) {
35
- buf.writeFloatLE(
36
- entry.vector[d] ?? 0,
37
- offset + KBID_WIDTH + d * 4,
38
- );
39
- }
40
- }
41
-
42
- /**
43
- * Writes a binary `vectors.idx` file to the given directory.
44
- *
45
- * Header: 32 bytes (magic KBVX, version u32, dimensions u32, count
46
- * u32, model-name length u32, 12 reserved bytes). Followed by the
47
- * model name (UTF-8) then records (64-byte kbid + dims*4 floats).
48
- *
49
- * @param dirPath - directory where `vectors.idx` will be written
50
- * @param modelName - name of the embedding model used
51
- * @param dimensions - vector dimension count
52
- * @param entries - kbid/vector pairs to index
53
- */
54
- export function buildVectorIndex(
55
- dirPath: string,
56
- modelName: string,
57
- dimensions: number,
58
- entries: VectorIndexEntry[],
59
- ): Promise<void> {
60
- const encoder = new TextEncoder();
61
- const modelBytes = encoder.encode(modelName);
62
- const modelLen = modelBytes.length;
63
- const recordSize = KBID_WIDTH + dimensions * 4;
64
- const totalSize =
65
- HEADER_SIZE + modelLen + entries.length * recordSize;
66
-
67
- const buf = Buffer.alloc(totalSize, 0);
68
- writeHeader(buf, dimensions, entries.length, modelLen);
69
- modelBytes.forEach((b, i) => buf.writeUInt8(b, HEADER_SIZE + i));
70
-
71
- let recOffset = HEADER_SIZE + modelLen;
72
- for (const entry of entries) {
73
- writeRecord(buf, recOffset, entry, dimensions, encoder);
74
- recOffset += recordSize;
75
- }
76
-
77
- writeFileSync(join(dirPath, 'vectors.idx'), buf);
78
- return Promise.resolve();
79
- }
@@ -1,31 +0,0 @@
1
- /**
2
- * Computes cosine similarity between two vectors.
3
- *
4
- * Returns `dot(a, b) / (||a|| * ||b||)`. Returns `0` when either
5
- * vector has zero magnitude to avoid division by zero.
6
- *
7
- * @param a - first embedding vector
8
- * @param b - second embedding vector
9
- */
10
- export function cosineSimilarity(
11
- a: Float32Array,
12
- b: Float32Array,
13
- ): number {
14
- let dot = 0;
15
- let magA = 0;
16
- let magB = 0;
17
-
18
- for (let i = 0; i < a.length; i++) {
19
- const ai = a[i] ?? 0;
20
- const bi = b[i] ?? 0;
21
- dot += ai * bi;
22
- magA += ai * ai;
23
- magB += bi * bi;
24
- }
25
-
26
- if (magA === 0 || magB === 0) {
27
- return 0;
28
- }
29
-
30
- return dot / (Math.sqrt(magA) * Math.sqrt(magB));
31
- }
@@ -1,69 +0,0 @@
1
- import type { EmbeddingProvider } from '../typings/embedding-provider.interface.ts';
2
- import type { NearDuplicateCandidate } from '../typings/near-duplicate-candidate.model.ts';
3
- import type { NearDuplicateResult } from '../typings/near-duplicate-result.model.ts';
4
- import { jaccardCoefficient } from './jaccard-coefficient.function.ts';
5
- import { cosineSimilarity } from './cosine-similarity.function.ts';
6
- import {
7
- JACCARD_THRESHOLD,
8
- JACCARD_BAND_MIN,
9
- COSINE_THRESHOLD,
10
- } from '../constants/near-duplicate-thresholds.constant.ts';
11
-
12
- /**
13
- * Two-pass near-duplicate detection.
14
- *
15
- * Pass 1: Jaccard coefficient (always runs).
16
- * Pass 2: Cosine similarity on embeddings (only when `provider` is
17
- * available and the Jaccard score falls in the pre-filter band
18
- * [0.40, 0.85)).
19
- *
20
- * @param candidate - the new section to test against existing ones
21
- * @param existing - known sections to compare against
22
- * @param provider - optional embedding provider; when absent or null,
23
- * the cosine pass is skipped entirely
24
- * @returns detected near-duplicates in the same order as `existing`
25
- */
26
- export function detectNearDuplicates(
27
- candidate: NearDuplicateCandidate,
28
- existing: NearDuplicateCandidate[],
29
- provider?: EmbeddingProvider | null,
30
- ): NearDuplicateResult[] {
31
- const results: NearDuplicateResult[] = [];
32
-
33
- for (const entry of existing) {
34
- const jaccard = jaccardCoefficient(
35
- candidate.tokens,
36
- entry.tokens,
37
- );
38
-
39
- if (jaccard >= JACCARD_THRESHOLD) {
40
- results.push({
41
- kbid: entry.kbid,
42
- score: jaccard,
43
- method: 'jaccard',
44
- });
45
- continue;
46
- }
47
-
48
- if (
49
- provider != null &&
50
- jaccard >= JACCARD_BAND_MIN &&
51
- candidate.embedding != null &&
52
- entry.embedding != null
53
- ) {
54
- const cosine = cosineSimilarity(
55
- candidate.embedding,
56
- entry.embedding,
57
- );
58
- if (cosine >= COSINE_THRESHOLD) {
59
- results.push({
60
- kbid: entry.kbid,
61
- score: cosine,
62
- method: 'cosine',
63
- });
64
- }
65
- }
66
- }
67
-
68
- return results;
69
- }
@@ -1,26 +0,0 @@
1
- /**
2
- * Computes Jaccard coefficient between two token sets.
3
- *
4
- * `|A ∩ B| / |A ∪ B|`. Returns `0` if both sets are empty.
5
- *
6
- * @param a - first token set
7
- * @param b - second token set
8
- */
9
- export function jaccardCoefficient(
10
- a: ReadonlySet<string>,
11
- b: ReadonlySet<string>,
12
- ): number {
13
- if (a.size === 0 || b.size === 0) {
14
- return 0;
15
- }
16
-
17
- let intersection = 0;
18
- for (const token of a) {
19
- if (b.has(token)) {
20
- intersection++;
21
- }
22
- }
23
-
24
- const union = a.size + b.size - intersection;
25
- return union > 0 ? intersection / union : 0;
26
- }
@@ -1,44 +0,0 @@
1
- import { readFileSync } from 'node:fs';
2
- import type { VectorIndexMeta } from '../typings/vector-index-meta.model.ts';
3
-
4
- /** Expected magic string in the first 4 bytes of a KBVX index. */
5
- const MAGIC = 'KBVX';
6
-
7
- /** Fixed header size in bytes. */
8
- const HEADER_SIZE = 32;
9
-
10
- /**
11
- * Reads the 32-byte header from a `vectors.idx` file and returns
12
- * the embedded `VectorIndexMeta`.
13
- *
14
- * @param filePath - absolute path to the `vectors.idx` file
15
- * @throws {Error} if the file does not exist or the magic bytes do
16
- * not match the expected `KBVX` signature
17
- */
18
- export function readVectorIndexMeta(filePath: string): VectorIndexMeta {
19
- const buf = readFileSync(filePath);
20
-
21
- if (buf.length < HEADER_SIZE) {
22
- throw new Error(
23
- `vectors.idx too small: ${String(buf.length)} bytes`,
24
- );
25
- }
26
-
27
- const magic = buf.toString('ascii', 0, 4);
28
- if (magic !== MAGIC) {
29
- throw new Error(
30
- `invalid vectors.idx: expected magic ${MAGIC}, got ${magic}`,
31
- );
32
- }
33
-
34
- const version = buf.readUInt32LE(4);
35
- const dimensions = buf.readUInt32LE(8);
36
- const count = buf.readUInt32LE(12);
37
- const modelLen = buf.readUInt32LE(16);
38
-
39
- const modelName = buf
40
- .toString('utf-8', HEADER_SIZE, HEADER_SIZE + modelLen)
41
- .replace(/\0/g, '');
42
-
43
- return { modelName, dimensions, count, version };
44
- }