@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,257 +0,0 @@
1
- import {
2
- encodeAddSectionParams,
3
- encodeUpdateSectionParams,
4
- encodeGroupParams,
5
- decodeKeyValueText,
6
- decodeRemoveFlag,
7
- decodeAddSectionResult,
8
- } from '../../wasm-codec/index.ts';
9
- import type { AddSectionInput } from '../../wasm-codec/index.ts';
10
- import type { HandlerContext } from '../typings/handler-context.interface.ts';
11
- import { IpcError } from '../classes/ipc-error.class.ts';
12
- import {
13
- getWasmExport,
14
- wasmAlloc,
15
- wasmWrite,
16
- wasmFree,
17
- readReturnSlot,
18
- callWasmSync,
19
- callWasmZeroArg,
20
- } from './wasm-bridge.function.ts';
21
- import { scanNearDuplicates } from './scan-near-duplicates.function.ts';
22
-
23
- /**
24
- * Handles the `addSection` IPC method.
25
- *
26
- * Encodes the section input, delegates to `worker_add_section`, and
27
- * runs a near-duplicate scan when the WASM result reports none.
28
- */
29
- export function handleAddSection(
30
- ctx: HandlerContext,
31
- params: Record<string, unknown>,
32
- ): unknown {
33
- const sectionType = (params['sectionType'] ?? 'text') as string;
34
- const semanticType =
35
- sectionType === 'text' ||
36
- sectionType === 'code' ||
37
- sectionType === 'image'
38
- ? sectionType
39
- : 'text';
40
- const typeName = sectionType !== semanticType ? sectionType : null;
41
- const tags = Array.isArray(params['tags'])
42
- ? (params['tags'] as string[])
43
- : [];
44
- const content = (params['content'] as string | undefined) ?? '';
45
- const input: AddSectionInput = {
46
- sectionType: semanticType,
47
- mimeType: params['mimeType'] as string | undefined,
48
- content,
49
- title: (params['title'] as string | null) ?? null,
50
- description: (params['description'] as string | null) ?? null,
51
- docid: (params['docid'] as string | null) ?? null,
52
- typeName,
53
- sourcePath:
54
- typeof params['sourcePath'] === 'string'
55
- ? params['sourcePath']
56
- : undefined,
57
- sourceMtime:
58
- typeof params['sourceMtime'] === 'string'
59
- ? params['sourceMtime']
60
- : undefined,
61
- tags,
62
- replace: params['replace'] === true,
63
- };
64
- const encoded = encodeAddSectionParams(input);
65
- const bytes = callWasmSync(
66
- ctx.modules,
67
- 'worker_add_section',
68
- encoded,
69
- );
70
- const decoded = decodeAddSectionResult(bytes);
71
- const nearDups =
72
- decoded.nearDuplicates.length > 0
73
- ? decoded.nearDuplicates
74
- : scanNearDuplicates(ctx.targetDir, content, decoded.kbid);
75
- return {
76
- kbid: decoded.kbid,
77
- indexed_terms_count: decoded.indexedTermsCount,
78
- elapsed_ms: decoded.elapsedMs,
79
- superseded: decoded.superseded,
80
- warnings: decoded.warnings,
81
- near_duplicates: nearDups,
82
- };
83
- }
84
-
85
- /**
86
- * Handles the `updateSection` IPC method.
87
- */
88
- export function handleUpdateSection(
89
- ctx: HandlerContext,
90
- params: Record<string, unknown>,
91
- ): unknown {
92
- const oldKbid = (params['kbid'] as string | undefined) ?? '';
93
- const updSectionType = (params['sectionType'] ?? 'text') as string;
94
- const updSemanticType =
95
- updSectionType === 'text' ||
96
- updSectionType === 'code' ||
97
- updSectionType === 'image'
98
- ? updSectionType
99
- : 'text';
100
- const updTypeName =
101
- updSectionType !== updSemanticType ? updSectionType : null;
102
- const input: AddSectionInput = {
103
- sectionType: updSemanticType,
104
- mimeType: params['mimeType'] as string | undefined,
105
- content: (params['content'] as string | undefined) ?? '',
106
- title: (params['title'] as string | null) ?? null,
107
- description: (params['description'] as string | null) ?? null,
108
- docid: (params['docid'] as string | null) ?? null,
109
- typeName: updTypeName,
110
- };
111
- const encoded = encodeUpdateSectionParams(oldKbid, input);
112
- const bytes = callWasmSync(
113
- ctx.modules,
114
- 'worker_update_section',
115
- encoded,
116
- );
117
- return { kbid: new TextDecoder().decode(bytes) };
118
- }
119
-
120
- /**
121
- * Handles the `removeSection` IPC method.
122
- */
123
- export function handleRemoveSection(
124
- ctx: HandlerContext,
125
- params: Record<string, unknown>,
126
- ): unknown {
127
- const kbid = (params['kbid'] as string | undefined) ?? '';
128
- const encoded = new TextEncoder().encode(kbid);
129
- const bytes = callWasmSync(
130
- ctx.modules,
131
- 'worker_remove_section',
132
- encoded,
133
- );
134
- return { removed: decodeRemoveFlag(bytes) };
135
- }
136
-
137
- /**
138
- * Handles the `groupSections` IPC method.
139
- */
140
- export function handleGroupSections(
141
- ctx: HandlerContext,
142
- params: Record<string, unknown>,
143
- ): unknown {
144
- const title = (params['title'] as string | undefined) ?? '';
145
- const kbids = (params['kbids'] ?? []) as string[];
146
- const docType = (params['docType'] as string | undefined) ?? '';
147
- const encoded = encodeGroupParams(title, kbids, docType);
148
- const bytes = callWasmSync(
149
- ctx.modules,
150
- 'worker_group_sections',
151
- encoded,
152
- );
153
- return { docid: new TextDecoder().decode(bytes) };
154
- }
155
-
156
- /**
157
- * Handles the `removeGrouping` IPC method.
158
- */
159
- export function handleRemoveGrouping(
160
- ctx: HandlerContext,
161
- params: Record<string, unknown>,
162
- ): unknown {
163
- const docid = (params['docid'] as string | undefined) ?? '';
164
- callWasmSync(
165
- ctx.modules,
166
- 'worker_remove_grouping',
167
- new TextEncoder().encode(docid),
168
- );
169
- return { ok: true };
170
- }
171
-
172
- /**
173
- * Handles the `initDirectory` IPC method.
174
- */
175
- export function handleInitDirectory(
176
- ctx: HandlerContext,
177
- params: Record<string, unknown>,
178
- ): unknown {
179
- const path = (params['path'] as string | undefined) ?? ctx.targetDir;
180
- callWasmSync(
181
- ctx.modules,
182
- 'worker_init_directory',
183
- new TextEncoder().encode(path),
184
- );
185
- return { ok: true };
186
- }
187
-
188
- /**
189
- * Handles the `invalidate` IPC method.
190
- */
191
- export function handleInvalidate(
192
- ctx: HandlerContext,
193
- params: Record<string, unknown>,
194
- ): unknown {
195
- const kbid = (params['kbid'] as string | undefined) ?? '';
196
- const encoded = new TextEncoder().encode(kbid);
197
- const fn = getWasmExport(ctx.modules, 'worker_invalidate');
198
- const ptr = wasmAlloc(ctx.modules, encoded.length);
199
- wasmWrite(ctx.modules, ptr, encoded);
200
- const rc = fn(ptr, encoded.length) as number;
201
- wasmFree(ctx.modules, ptr, encoded.length);
202
- if (rc === -1) {
203
- const errBytes = readReturnSlot(ctx.modules);
204
- throw new IpcError(
205
- -32000,
206
- new TextDecoder().decode(errBytes) || 'invalidate failed',
207
- );
208
- }
209
- return { ok: true };
210
- }
211
-
212
- /**
213
- * Handles the `invalidateAll` IPC method.
214
- */
215
- export function handleInvalidateAll(ctx: HandlerContext): unknown {
216
- callWasmZeroArg(ctx.modules, 'worker_invalidate_all');
217
- return { ok: true };
218
- }
219
-
220
- /**
221
- * Handles the `gc` IPC method.
222
- */
223
- export function handleGc(ctx: HandlerContext): unknown {
224
- const start = Date.now();
225
- callWasmZeroArg(ctx.modules, 'worker_garbage_collect');
226
- const bytes = readReturnSlot(ctx.modules);
227
- const kv = decodeKeyValueText(new TextDecoder().decode(bytes));
228
- return {
229
- removed_sections: Number(kv['removed'] ?? 0),
230
- removed_bytes: 0,
231
- elapsed_ms: Date.now() - start,
232
- stale_sources: Number(kv['stale_sources'] ?? 0),
233
- };
234
- }
235
-
236
- /**
237
- * Handles the `rebuildIndexes` IPC method.
238
- */
239
- export function handleRebuild(ctx: HandlerContext): unknown {
240
- const fn = getWasmExport(ctx.modules, 'worker_rebuild_indexes');
241
- const rc = fn() as number;
242
- if (rc === -1) {
243
- const errBytes = readReturnSlot(ctx.modules);
244
- const errMsg = new TextDecoder().decode(errBytes);
245
- throw new IpcError(-32000, errMsg || 'rebuild failed');
246
- }
247
- const resultBytes = readReturnSlot(ctx.modules);
248
- const reindexed =
249
- resultBytes.length >= 4
250
- ? new DataView(
251
- resultBytes.buffer,
252
- resultBytes.byteOffset,
253
- resultBytes.byteLength,
254
- ).getUint32(0, true)
255
- : 0;
256
- return { ok: true, sections_reindexed: reindexed };
257
- }
@@ -1,95 +0,0 @@
1
- import { readFileSync } from 'node:fs';
2
-
3
- import type { DaemonConfig } from '../typings/daemon-config.interface.ts';
4
- import type { WasmModules } from '../typings/wasm-modules.interface.ts';
5
- import { createHostImports } from './create-host-imports.function.ts';
6
- import type {
7
- AllocatorRef,
8
- MemoryRef,
9
- } from './create-host-imports.function.ts';
10
- import { isRemoteUrl, joinPath } from '../../dir-resolver/index.ts';
11
-
12
- export async function loadWasmModules(
13
- config: DaemonConfig,
14
- wasmDir: string,
15
- ): Promise<WasmModules> {
16
- const memoryRef: MemoryRef = { memory: null };
17
- const allocator: AllocatorRef = { alloc: null };
18
-
19
- const hostImports = createHostImports(
20
- config.contextPath,
21
- memoryRef,
22
- undefined,
23
- allocator,
24
- );
25
-
26
- const wkPath = joinPath(wasmDir, 'kb-worker', 'kbdb_worker_bg.wasm');
27
- const wkBytes = await readWasmFile(wkPath, 'kb-worker');
28
-
29
- let wkModule: WebAssembly.Module;
30
- try {
31
- wkModule = await WebAssembly.compile(wkBytes);
32
- } catch (err) {
33
- rethrow('compile', 'kb-worker', err);
34
- }
35
-
36
- let kbWorker: WebAssembly.Instance;
37
- try {
38
- kbWorker = await WebAssembly.instantiate(wkModule, {
39
- env: { ...hostImports },
40
- });
41
- } catch (err) {
42
- rethrow('instantiate', 'kb-worker', err);
43
- }
44
-
45
- const memory = kbWorker.exports['memory'] as WebAssembly.Memory;
46
- memoryRef.memory = memory;
47
-
48
- allocator.alloc = (size: number): number => {
49
- const fn_ = kbWorker.exports['kbdb_alloc'] as
50
- | ((s: number) => number)
51
- | undefined;
52
- if (typeof fn_ !== 'function') return 0;
53
- return fn_(size);
54
- };
55
-
56
- return { memory, kbWorker };
57
- }
58
-
59
- async function readWasmFile(
60
- path: string,
61
- label: string,
62
- ): Promise<ArrayBuffer> {
63
- try {
64
- if (isRemoteUrl(path)) {
65
- const response = await fetch(path);
66
- if (!response.ok) {
67
- throw new Error(
68
- `HTTP ${String(response.status)} ${response.statusText}`,
69
- );
70
- }
71
- return await response.arrayBuffer();
72
- }
73
- const buf = readFileSync(path);
74
- return buf.buffer.slice(
75
- buf.byteOffset,
76
- buf.byteOffset + buf.byteLength,
77
- );
78
- } catch (err) {
79
- rethrow('load', label, err, path);
80
- }
81
- }
82
-
83
- function rethrow(
84
- stage: string,
85
- label: string,
86
- err: unknown,
87
- path?: string,
88
- ): never {
89
- const detail = err instanceof Error ? err.message : String(err);
90
- const suffix = path ? ` (path: ${path})` : '';
91
- const message = `failed to ${stage} ${label} WASM: ${detail}${suffix}`;
92
- // eslint-disable-next-line no-console
93
- console.error(`kbdb-worker: ${message}`);
94
- throw new Error(message, { cause: err });
95
- }
@@ -1,51 +0,0 @@
1
- import type { AutoCaptureConfig } from '../../auto-capture/typings/auto-capture-config.interface.ts';
2
- import { AUTO_CAPTURE_DEFAULTS } from '../../auto-capture/constants/auto-capture-defaults.constant.ts';
3
-
4
- /**
5
- * Parses key-value pairs from an `[auto_capture]` TOML section
6
- * into an `AutoCaptureConfig`.
7
- *
8
- * Recognised keys: `enabled`, `trigger_after_tool_calls`,
9
- * `min_interval_ms`, `max_captures_per_session`, `dry_run`.
10
- * Unknown keys are silently ignored. Falls back to
11
- * `AUTO_CAPTURE_DEFAULTS` for any absent key.
12
- *
13
- * @param entries - key-value pairs from inside the
14
- * `[auto_capture]` section
15
- */
16
- export function parseAutoCaptureSection(
17
- entries: ReadonlyMap<string, string>,
18
- ): AutoCaptureConfig {
19
- const enabled = entries.has('enabled')
20
- ? entries.get('enabled') === 'true'
21
- : AUTO_CAPTURE_DEFAULTS.enabled;
22
-
23
- const dryRun = entries.has('dry_run')
24
- ? entries.get('dry_run') === 'true'
25
- : AUTO_CAPTURE_DEFAULTS.dryRun;
26
-
27
- const triggerRaw = entries.get('trigger_after_tool_calls');
28
- const triggerAfterToolCalls = triggerRaw
29
- ? parseInt(triggerRaw, 10) ||
30
- AUTO_CAPTURE_DEFAULTS.triggerAfterToolCalls
31
- : AUTO_CAPTURE_DEFAULTS.triggerAfterToolCalls;
32
-
33
- const intervalRaw = entries.get('min_interval_ms');
34
- const minIntervalMs = intervalRaw
35
- ? parseInt(intervalRaw, 10) || AUTO_CAPTURE_DEFAULTS.minIntervalMs
36
- : AUTO_CAPTURE_DEFAULTS.minIntervalMs;
37
-
38
- const capRaw = entries.get('max_captures_per_session');
39
- const maxCapturesPerSession = capRaw
40
- ? parseInt(capRaw, 10) ||
41
- AUTO_CAPTURE_DEFAULTS.maxCapturesPerSession
42
- : AUTO_CAPTURE_DEFAULTS.maxCapturesPerSession;
43
-
44
- return {
45
- enabled,
46
- triggerAfterToolCalls,
47
- minIntervalMs,
48
- maxCapturesPerSession,
49
- dryRun,
50
- };
51
- }
@@ -1,20 +0,0 @@
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 function parseCatalogVersion(text: string): number | null {
11
- for (const line of text.split('\n')) {
12
- const trimmed = line.trim();
13
- if (trimmed.startsWith('#')) continue;
14
- const match = /^version\s*=\s*(\d+)/.exec(trimmed);
15
- if (match?.[1] !== undefined) {
16
- return parseInt(match[1], 10);
17
- }
18
- }
19
- return null;
20
- }
@@ -1,38 +0,0 @@
1
- import type { EmbeddingConfig } from '../../embedding/typings/embedding-config.interface.ts';
2
-
3
- /**
4
- * Parses key-value pairs from a `[embedding]` TOML section into an
5
- * `EmbeddingConfig`.
6
- *
7
- * Recognises: `provider`, `model`, `endpoint`, `dimensions`.
8
- * Unknown keys are silently ignored. Returns `undefined` when the
9
- * `provider` key is absent from the supplied entries.
10
- *
11
- * @param entries - key-value pairs from inside the `[embedding]`
12
- * section
13
- */
14
- export function parseEmbeddingSection(
15
- entries: ReadonlyMap<string, string>,
16
- ): EmbeddingConfig | undefined {
17
- const provider = entries.get('provider') as
18
- | EmbeddingConfig['provider']
19
- | undefined;
20
-
21
- if (!provider) {
22
- return undefined;
23
- }
24
-
25
- const model = entries.get('model');
26
- const endpoint = entries.get('endpoint');
27
- const dimensionsRaw = entries.get('dimensions');
28
- const dimensions = dimensionsRaw
29
- ? parseInt(dimensionsRaw, 10) || undefined
30
- : undefined;
31
-
32
- return {
33
- provider,
34
- ...(model !== undefined ? { model } : {}),
35
- ...(endpoint !== undefined ? { endpoint } : {}),
36
- ...(dimensions !== undefined ? { dimensions } : {}),
37
- };
38
- }
@@ -1,104 +0,0 @@
1
- import type { DaemonConfig } from '../typings/daemon-config.interface.ts';
2
- import {
3
- DEFAULT_ITEM_LIMIT,
4
- DEFAULT_INDEX_LIMIT,
5
- DEFAULT_TIMEOUT_MS,
6
- DEFAULT_ITEM_TTL_MS,
7
- } from '../constants/daemon-defaults.constant.ts';
8
- import { parseEmbeddingSection } from './parse-embedding-section.function.ts';
9
- import { parseAutoCaptureSection } from './parse-auto-capture-section.function.ts';
10
-
11
- interface RootAccum {
12
- itemLimit: number;
13
- indexLimit: number;
14
- timeoutMs: number;
15
- itemTtlMs: number;
16
- }
17
-
18
- function applyRootKey(
19
- acc: RootAccum,
20
- key: string,
21
- value: string,
22
- ): void {
23
- switch (key) {
24
- case 'item_limit':
25
- acc.itemLimit = parseInt(value, 10) || DEFAULT_ITEM_LIMIT;
26
- break;
27
- case 'index_limit':
28
- acc.indexLimit = parseInt(value, 10) || DEFAULT_INDEX_LIMIT;
29
- break;
30
- case 'timeout_ms':
31
- acc.timeoutMs = parseInt(value, 10) || DEFAULT_TIMEOUT_MS;
32
- break;
33
- case 'item_ttl_ms':
34
- acc.itemTtlMs = parseInt(value, 10) || DEFAULT_ITEM_TTL_MS;
35
- break;
36
- default:
37
- break;
38
- }
39
- }
40
-
41
- /**
42
- * Parses a `worker.toml` file body into a partial `DaemonConfig`.
43
- *
44
- * Handles `[embedding]` sub-sections and root key-value pairs.
45
- * Unknown keys are silently ignored.
46
- *
47
- * @param text - raw content of `worker.toml`
48
- * @param contextPath - daemon context directory path
49
- */
50
- export function parseWorkerToml(
51
- text: string,
52
- contextPath: string,
53
- ): DaemonConfig {
54
- let section = '';
55
- const embeddingEntries = new Map<string, string>();
56
- const autoCaptureEntries = new Map<string, string>();
57
- const acc: RootAccum = {
58
- itemLimit: DEFAULT_ITEM_LIMIT,
59
- indexLimit: DEFAULT_INDEX_LIMIT,
60
- timeoutMs: DEFAULT_TIMEOUT_MS,
61
- itemTtlMs: DEFAULT_ITEM_TTL_MS,
62
- };
63
-
64
- for (const line of text.split('\n')) {
65
- const trimmed = line.trim();
66
- if (trimmed === '[embedding]') {
67
- section = 'embedding';
68
- continue;
69
- }
70
- if (trimmed === '[auto_capture]') {
71
- section = 'auto_capture';
72
- continue;
73
- }
74
- if (trimmed.startsWith('[')) {
75
- section = '';
76
- continue;
77
- }
78
- if (trimmed.startsWith('#') || !trimmed.includes('=')) continue;
79
- const eqIdx = trimmed.indexOf('=');
80
- const key = trimmed.slice(0, eqIdx).trim();
81
- const value = trimmed.slice(eqIdx + 1).trim();
82
- if (section === 'embedding') {
83
- embeddingEntries.set(key, value);
84
- continue;
85
- }
86
- if (section === 'auto_capture') {
87
- autoCaptureEntries.set(key, value);
88
- continue;
89
- }
90
- applyRootKey(acc, key, value);
91
- }
92
-
93
- const embedding = parseEmbeddingSection(embeddingEntries);
94
- const autoCapture =
95
- autoCaptureEntries.size > 0
96
- ? parseAutoCaptureSection(autoCaptureEntries)
97
- : undefined;
98
- return {
99
- contextPath,
100
- ...acc,
101
- ...(embedding !== undefined ? { embedding } : {}),
102
- ...(autoCapture !== undefined ? { autoCapture } : {}),
103
- };
104
- }
@@ -1,83 +0,0 @@
1
- import { readFileSync } from 'node:fs';
2
- import { join } from 'node:path';
3
- import type { DaemonConfig } from '../typings/daemon-config.interface.ts';
4
- import {
5
- DEFAULT_ITEM_LIMIT,
6
- DEFAULT_INDEX_LIMIT,
7
- DEFAULT_TIMEOUT_MS,
8
- DEFAULT_ITEM_TTL_MS,
9
- WORKER_TOML_FILENAME,
10
- } from '../constants/daemon-defaults.constant.ts';
11
-
12
- /**
13
- * Reads the `worker.toml` configuration file from the given
14
- * context directory and returns a `DaemonConfig`.
15
- *
16
- * Falls back to all-default values when the file is absent or
17
- * unreadable.
18
- *
19
- * @param contextPath - absolute path to the `.kbdb` context
20
- * directory
21
- */
22
- export function readConfig(contextPath: string): DaemonConfig {
23
- const configPath = join(contextPath, WORKER_TOML_FILENAME);
24
- try {
25
- const text = readFileSync(configPath, 'utf-8');
26
- return parseWorkerToml(text, contextPath);
27
- } catch {
28
- return {
29
- contextPath,
30
- itemLimit: DEFAULT_ITEM_LIMIT,
31
- indexLimit: DEFAULT_INDEX_LIMIT,
32
- timeoutMs: DEFAULT_TIMEOUT_MS,
33
- itemTtlMs: DEFAULT_ITEM_TTL_MS,
34
- };
35
- }
36
- }
37
-
38
- function parseWorkerToml(
39
- text: string,
40
- contextPath: string,
41
- ): DaemonConfig {
42
- const config: DaemonConfig = {
43
- contextPath,
44
- itemLimit: DEFAULT_ITEM_LIMIT,
45
- indexLimit: DEFAULT_INDEX_LIMIT,
46
- timeoutMs: DEFAULT_TIMEOUT_MS,
47
- itemTtlMs: DEFAULT_ITEM_TTL_MS,
48
- };
49
-
50
- const result = { ...config };
51
-
52
- for (const line of text.split('\n')) {
53
- const trimmed = line.trim();
54
- if (trimmed.startsWith('#') || !trimmed.includes('=')) {
55
- continue;
56
- }
57
- const eqIdx = trimmed.indexOf('=');
58
- const key = trimmed.slice(0, eqIdx).trim();
59
- const value = trimmed.slice(eqIdx + 1).trim();
60
- switch (key) {
61
- case 'item_limit':
62
- result.itemLimit =
63
- parseInt(value, 10) || DEFAULT_ITEM_LIMIT;
64
- break;
65
- case 'index_limit':
66
- result.indexLimit =
67
- parseInt(value, 10) || DEFAULT_INDEX_LIMIT;
68
- break;
69
- case 'timeout_ms':
70
- result.timeoutMs =
71
- parseInt(value, 10) || DEFAULT_TIMEOUT_MS;
72
- break;
73
- case 'item_ttl_ms':
74
- result.itemTtlMs =
75
- parseInt(value, 10) || DEFAULT_ITEM_TTL_MS;
76
- break;
77
- default:
78
- break;
79
- }
80
- }
81
-
82
- return result;
83
- }