@dikolab/kbdb 0.3.2 → 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 (466) hide show
  1. package/README.md +83 -89
  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 +70 -13
  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 +38 -7
  90. package/docs/details/search-and-ranking.md +11 -10
  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 +1 -2
  107. package/docs/release-notes/0.4.0.md +80 -0
  108. package/docs/release-notes/README.md +1 -0
  109. package/mod.ts +33 -15
  110. package/package.json +11 -10
  111. package/dist/chunk-JG2UCKLI.mjs +0 -95
  112. package/dist/chunk-JG2UCKLI.mjs.map +0 -7
  113. package/src/cli.ts +0 -71
  114. package/src/shared/auto-capture/classes/auto-capture-controller.class.ts +0 -62
  115. package/src/shared/auto-capture/constants/auto-capture-defaults.constant.ts +0 -15
  116. package/src/shared/auto-capture/functions/build-capture-prompt.function.ts +0 -27
  117. package/src/shared/auto-capture/functions/evaluate-trigger.function.ts +0 -50
  118. package/src/shared/auto-capture/index.ts +0 -7
  119. package/src/shared/auto-capture/typings/auto-capture-config.interface.ts +0 -13
  120. package/src/shared/auto-capture/typings/auto-capture-state.interface.ts +0 -13
  121. package/src/shared/auto-capture/typings/auto-capture-trigger.interface.ts +0 -7
  122. package/src/shared/cli/constants/defaults.constant.ts +0 -19
  123. package/src/shared/cli/constants/global-help.constant.ts +0 -73
  124. package/src/shared/cli/constants/help-text.constant.ts +0 -4
  125. package/src/shared/cli/constants/leaf-help.constant.ts +0 -219
  126. package/src/shared/cli/constants/memory-protocol-body.constant.ts +0 -39
  127. package/src/shared/cli/constants/query-guidance-body.constant.ts +0 -37
  128. package/src/shared/cli/constants/subcommand-help.constant.ts +0 -195
  129. package/src/shared/cli/functions/collect-files.function.ts +0 -55
  130. package/src/shared/cli/functions/compute-section-kbid.function.ts +0 -49
  131. package/src/shared/cli/functions/dispatch-command.function.ts +0 -390
  132. package/src/shared/cli/functions/ensure-db.function.ts +0 -21
  133. package/src/shared/cli/functions/error-to-message.function.ts +0 -9
  134. package/src/shared/cli/functions/find-db.function.ts +0 -20
  135. package/src/shared/cli/functions/format-mcp-output.function.ts +0 -41
  136. package/src/shared/cli/functions/format-output.function.ts +0 -95
  137. package/src/shared/cli/functions/format-text-output.function.ts +0 -42
  138. package/src/shared/cli/functions/generate-group-help.function.ts +0 -41
  139. package/src/shared/cli/functions/generate-help.function.ts +0 -654
  140. package/src/shared/cli/functions/handle-data-command.function.ts +0 -67
  141. package/src/shared/cli/functions/handle-mcp.function.ts +0 -56
  142. package/src/shared/cli/functions/handle-migrate.function.ts +0 -64
  143. package/src/shared/cli/functions/hydrate-search-previews.function.ts +0 -29
  144. package/src/shared/cli/functions/install-default-skills.function.ts +0 -296
  145. package/src/shared/cli/functions/is-stdin-tty.function.ts +0 -12
  146. package/src/shared/cli/functions/parse-args.function.ts +0 -156
  147. package/src/shared/cli/functions/prompt-user.function.ts +0 -36
  148. package/src/shared/cli/functions/resolve-skill-names.function.ts +0 -43
  149. package/src/shared/cli/functions/run-agent-create.function.ts +0 -114
  150. package/src/shared/cli/functions/run-agent-delete.function.ts +0 -47
  151. package/src/shared/cli/functions/run-agent-get.function.ts +0 -166
  152. package/src/shared/cli/functions/run-agent-list.function.ts +0 -58
  153. package/src/shared/cli/functions/run-check.function.ts +0 -159
  154. package/src/shared/cli/functions/run-cli.function.ts +0 -299
  155. package/src/shared/cli/functions/run-content.function.ts +0 -47
  156. package/src/shared/cli/functions/run-db-init.function.ts +0 -44
  157. package/src/shared/cli/functions/run-db-migrate.function.ts +0 -40
  158. package/src/shared/cli/functions/run-export.function.ts +0 -40
  159. package/src/shared/cli/functions/run-gc.function.ts +0 -51
  160. package/src/shared/cli/functions/run-init.function.ts +0 -93
  161. package/src/shared/cli/functions/run-learn.function.ts +0 -223
  162. package/src/shared/cli/functions/run-migrate.function.ts +0 -85
  163. package/src/shared/cli/functions/run-rebuild.function.ts +0 -47
  164. package/src/shared/cli/functions/run-recall.function.ts +0 -66
  165. package/src/shared/cli/functions/run-search.function.ts +0 -133
  166. package/src/shared/cli/functions/run-skill-delete.function.ts +0 -47
  167. package/src/shared/cli/functions/run-skill-get.function.ts +0 -90
  168. package/src/shared/cli/functions/run-skill-learn.function.ts +0 -70
  169. package/src/shared/cli/functions/run-skill-list.function.ts +0 -74
  170. package/src/shared/cli/functions/run-status.function.ts +0 -29
  171. package/src/shared/cli/functions/run-unlearn.function.ts +0 -58
  172. package/src/shared/cli/functions/version-gate.function.ts +0 -44
  173. package/src/shared/cli/functions/wrap-command.function.ts +0 -34
  174. package/src/shared/cli/index.ts +0 -55
  175. package/src/shared/cli/typings/agent-create-client.interface.ts +0 -47
  176. package/src/shared/cli/typings/agent-get-client.interface.ts +0 -39
  177. package/src/shared/cli/typings/check-client.interface.ts +0 -66
  178. package/src/shared/cli/typings/cli-deps.interface.ts +0 -54
  179. package/src/shared/cli/typings/cli-options.interface.ts +0 -72
  180. package/src/shared/cli/typings/command-result.model.ts +0 -15
  181. package/src/shared/cli/typings/disconnectable-client.interface.ts +0 -29
  182. package/src/shared/cli/typings/dispatch-client.type.ts +0 -46
  183. package/src/shared/cli/typings/learn-client.interface.ts +0 -53
  184. package/src/shared/cli/typings/learn-io.interface.ts +0 -5
  185. package/src/shared/cli/typings/learn-result.model.ts +0 -27
  186. package/src/shared/cli/typings/search-client.interface.ts +0 -73
  187. package/src/shared/cli/typings/search-display.model.ts +0 -54
  188. package/src/shared/dir-resolver/functions/join-path.function.ts +0 -13
  189. package/src/shared/dir-resolver/functions/resolve-base-dir.function.ts +0 -25
  190. package/src/shared/dir-resolver/functions/resolve-wasm-dir.function.ts +0 -5
  191. package/src/shared/dir-resolver/functions/resolve-worker-script.function.ts +0 -13
  192. package/src/shared/dir-resolver/index.ts +0 -11
  193. package/src/shared/dir-resolver/typings/base-dir.interface.ts +0 -4
  194. package/src/shared/embedding/classes/null-embedding-provider.class.ts +0 -29
  195. package/src/shared/embedding/constants/near-duplicate-thresholds.constant.ts +0 -17
  196. package/src/shared/embedding/functions/build-vector-index.function.ts +0 -79
  197. package/src/shared/embedding/functions/cosine-similarity.function.ts +0 -31
  198. package/src/shared/embedding/functions/detect-near-duplicates.function.ts +0 -69
  199. package/src/shared/embedding/functions/jaccard-coefficient.function.ts +0 -26
  200. package/src/shared/embedding/functions/read-vector-index-meta.function.ts +0 -44
  201. package/src/shared/embedding/functions/rrf-fuse.function.ts +0 -33
  202. package/src/shared/embedding/functions/search-vectors.function.ts +0 -59
  203. package/src/shared/embedding/index.ts +0 -20
  204. package/src/shared/embedding/typings/embedding-config.interface.ts +0 -23
  205. package/src/shared/embedding/typings/embedding-provider.interface.ts +0 -25
  206. package/src/shared/embedding/typings/near-duplicate-candidate.model.ts +0 -25
  207. package/src/shared/embedding/typings/near-duplicate-result.model.ts +0 -26
  208. package/src/shared/embedding/typings/vector-index-entry.model.ts +0 -13
  209. package/src/shared/embedding/typings/vector-index-meta.model.ts +0 -14
  210. package/src/shared/embedding/typings/vector-search-result.model.ts +0 -8
  211. package/src/shared/hash/functions/compute-sha256.ts +0 -17
  212. package/src/shared/hash/index.ts +0 -1
  213. package/src/shared/mcp/classes/mcp-server.class.ts +0 -480
  214. package/src/shared/mcp/constants/mcp-error-codes.constant.ts +0 -30
  215. package/src/shared/mcp/constants/tool-agent-create.constant.ts +0 -39
  216. package/src/shared/mcp/constants/tool-agent-delete.constant.ts +0 -26
  217. package/src/shared/mcp/constants/tool-agent-get.constant.ts +0 -24
  218. package/src/shared/mcp/constants/tool-agent-list.constant.ts +0 -18
  219. package/src/shared/mcp/constants/tool-auto-capture-review.constant.ts +0 -32
  220. package/src/shared/mcp/constants/tool-check.constant.ts +0 -21
  221. package/src/shared/mcp/constants/tool-content.constant.ts +0 -29
  222. package/src/shared/mcp/constants/tool-export.constant.ts +0 -27
  223. package/src/shared/mcp/constants/tool-gc.constant.ts +0 -21
  224. package/src/shared/mcp/constants/tool-learn.constant.ts +0 -58
  225. package/src/shared/mcp/constants/tool-rebuild.constant.ts +0 -21
  226. package/src/shared/mcp/constants/tool-recall.constant.ts +0 -36
  227. package/src/shared/mcp/constants/tool-retrieve.constant.ts +0 -31
  228. package/src/shared/mcp/constants/tool-search.constant.ts +0 -51
  229. package/src/shared/mcp/constants/tool-skill-delete.constant.ts +0 -24
  230. package/src/shared/mcp/constants/tool-skill-get.constant.ts +0 -27
  231. package/src/shared/mcp/constants/tool-skill-learn.constant.ts +0 -37
  232. package/src/shared/mcp/constants/tool-skill-list.constant.ts +0 -18
  233. package/src/shared/mcp/constants/tool-status.constant.ts +0 -20
  234. package/src/shared/mcp/constants/tool-unlearn.constant.ts +0 -25
  235. package/src/shared/mcp/functions/as-boolean-or-undefined.function.ts +0 -11
  236. package/src/shared/mcp/functions/as-string-array-or-undefined.function.ts +0 -17
  237. package/src/shared/mcp/functions/as-string-array.function.ts +0 -15
  238. package/src/shared/mcp/functions/as-string.function.ts +0 -10
  239. package/src/shared/mcp/functions/build-skills-text.function.ts +0 -43
  240. package/src/shared/mcp/functions/create-mcp-server.function.ts +0 -14
  241. package/src/shared/mcp/functions/create-prompt-definitions.function.ts +0 -102
  242. package/src/shared/mcp/functions/create-resource-templates.function.ts +0 -23
  243. package/src/shared/mcp/functions/create-tool-definitions.function.ts +0 -530
  244. package/src/shared/mcp/functions/extract-skill-arguments.function.ts +0 -27
  245. package/src/shared/mcp/functions/handle-agent-create.function.ts +0 -116
  246. package/src/shared/mcp/functions/handle-agent-delete.function.ts +0 -50
  247. package/src/shared/mcp/functions/handle-agent-get.function.ts +0 -160
  248. package/src/shared/mcp/functions/handle-agent-list.function.ts +0 -50
  249. package/src/shared/mcp/functions/handle-agent-prompt.function.ts +0 -68
  250. package/src/shared/mcp/functions/handle-completion.function.ts +0 -114
  251. package/src/shared/mcp/functions/handle-mcp-request.function.ts +0 -202
  252. package/src/shared/mcp/functions/handle-prompt-get.function.ts +0 -220
  253. package/src/shared/mcp/functions/handle-recall.function.ts +0 -66
  254. package/src/shared/mcp/functions/handle-resource-read.function.ts +0 -56
  255. package/src/shared/mcp/functions/handle-roots-list.function.ts +0 -29
  256. package/src/shared/mcp/functions/handle-skill-prompt.function.ts +0 -44
  257. package/src/shared/mcp/functions/handle-tool-auto-capture-review.function.ts +0 -24
  258. package/src/shared/mcp/functions/handle-tool-call.function.ts +0 -560
  259. package/src/shared/mcp/functions/handle-tool-check.function.ts +0 -21
  260. package/src/shared/mcp/functions/handle-tool-content.function.ts +0 -23
  261. package/src/shared/mcp/functions/handle-tool-export.function.ts +0 -25
  262. package/src/shared/mcp/functions/handle-tool-gc.function.ts +0 -21
  263. package/src/shared/mcp/functions/handle-tool-learn.function.ts +0 -69
  264. package/src/shared/mcp/functions/handle-tool-rebuild.function.ts +0 -21
  265. package/src/shared/mcp/functions/handle-tool-retrieve.function.ts +0 -40
  266. package/src/shared/mcp/functions/handle-tool-search.function.ts +0 -47
  267. package/src/shared/mcp/functions/handle-tool-skill-delete.function.ts +0 -34
  268. package/src/shared/mcp/functions/handle-tool-skill-get.function.ts +0 -59
  269. package/src/shared/mcp/functions/handle-tool-skill-learn.function.ts +0 -61
  270. package/src/shared/mcp/functions/handle-tool-skill-list.function.ts +0 -39
  271. package/src/shared/mcp/functions/handle-tool-status.function.ts +0 -21
  272. package/src/shared/mcp/functions/handle-tool-unlearn.function.ts +0 -24
  273. package/src/shared/mcp/functions/parse-agent-meta.function.ts +0 -27
  274. package/src/shared/mcp/functions/parse-skill-arguments.function.ts +0 -36
  275. package/src/shared/mcp/functions/parse-skill-content.function.ts +0 -38
  276. package/src/shared/mcp/functions/read-agent-meta.function.ts +0 -41
  277. package/src/shared/mcp/functions/resolve-skill-refs.function.ts +0 -50
  278. package/src/shared/mcp/functions/run-startup-health-check.function.ts +0 -34
  279. package/src/shared/mcp/functions/serialize-skill-content.function.ts +0 -12
  280. package/src/shared/mcp/functions/should-emit-log.function.ts +0 -38
  281. package/src/shared/mcp/index.ts +0 -28
  282. package/src/shared/mcp/typings/agent-types.interface.ts +0 -39
  283. package/src/shared/mcp/typings/log-types.interface.ts +0 -26
  284. package/src/shared/mcp/typings/mcp-capabilities.interface.ts +0 -16
  285. package/src/shared/mcp/typings/mcp-client.interface.ts +0 -317
  286. package/src/shared/mcp/typings/mcp-completion.interface.ts +0 -45
  287. package/src/shared/mcp/typings/mcp-content-result.model.ts +0 -9
  288. package/src/shared/mcp/typings/mcp-export-result.model.ts +0 -11
  289. package/src/shared/mcp/typings/mcp-gc-result.model.ts +0 -15
  290. package/src/shared/mcp/typings/mcp-integrity-check-result.model.ts +0 -17
  291. package/src/shared/mcp/typings/mcp-integrity-error.model.ts +0 -15
  292. package/src/shared/mcp/typings/mcp-notification.interface.ts +0 -9
  293. package/src/shared/mcp/typings/mcp-rebuild-result.model.ts +0 -9
  294. package/src/shared/mcp/typings/mcp-request.interface.ts +0 -11
  295. package/src/shared/mcp/typings/mcp-resource-result.interface.ts +0 -12
  296. package/src/shared/mcp/typings/mcp-resource-template.interface.ts +0 -11
  297. package/src/shared/mcp/typings/mcp-response.interface.ts +0 -18
  298. package/src/shared/mcp/typings/mcp-server-info.interface.ts +0 -7
  299. package/src/shared/mcp/typings/mcp-server-state.interface.ts +0 -17
  300. package/src/shared/mcp/typings/mcp-tool-annotations.interface.ts +0 -32
  301. package/src/shared/mcp/typings/mcp-tool-definition.interface.ts +0 -16
  302. package/src/shared/mcp/typings/mcp-tool-result.interface.ts +0 -19
  303. package/src/shared/mcp/typings/mcp-types.interface.ts +0 -158
  304. package/src/shared/mcp/typings/mcp-worker-client.interface.ts +0 -243
  305. package/src/shared/mcp/typings/prompt-types.interface.ts +0 -39
  306. package/src/shared/mcp/typings/remove-section-result.model.ts +0 -10
  307. package/src/shared/mcp/typings/sampling-types.interface.ts +0 -48
  308. package/src/shared/mcp/typings/skill-types.interface.ts +0 -29
  309. package/src/shared/mcp/typings/tool-call-result.model.ts +0 -18
  310. package/src/shared/mod.ts +0 -1
  311. package/src/shared/platform/functions/get-ipc-path.function.ts +0 -19
  312. package/src/shared/platform/functions/get-tmpdir.function.ts +0 -8
  313. package/src/shared/platform/functions/is-process-alive.function.ts +0 -17
  314. package/src/shared/platform/index.ts +0 -3
  315. package/src/shared/runtime/functions/detect-runtime.ts +0 -14
  316. package/src/shared/runtime/functions/get-args.ts +0 -16
  317. package/src/shared/runtime/index.ts +0 -3
  318. package/src/shared/runtime/typings/runtime.ts +0 -2
  319. package/src/shared/sync/functions/build-import-report.function.ts +0 -40
  320. package/src/shared/sync/functions/parse-export-entry.function.ts +0 -45
  321. package/src/shared/sync/functions/resolve-conflict.function.ts +0 -31
  322. package/src/shared/sync/functions/serialize-export-entry.function.ts +0 -18
  323. package/src/shared/sync/index.ts +0 -9
  324. package/src/shared/sync/typings/conflict-resolution.type.ts +0 -8
  325. package/src/shared/sync/typings/export-entry.interface.ts +0 -13
  326. package/src/shared/sync/typings/export-options.interface.ts +0 -9
  327. package/src/shared/sync/typings/import-options.interface.ts +0 -7
  328. package/src/shared/sync/typings/import-report.interface.ts +0 -15
  329. package/src/shared/version/constants/version.constant.ts +0 -2
  330. package/src/shared/version/index.ts +0 -1
  331. package/src/shared/wasm-codec/functions/decode-add-section-result.function.ts +0 -112
  332. package/src/shared/wasm-codec/functions/decode-compose-output.function.ts +0 -16
  333. package/src/shared/wasm-codec/functions/decode-document-manifest-list.function.ts +0 -70
  334. package/src/shared/wasm-codec/functions/decode-document-manifest.function.ts +0 -87
  335. package/src/shared/wasm-codec/functions/decode-f32.function.ts +0 -16
  336. package/src/shared/wasm-codec/functions/decode-key-value-text.function.ts +0 -15
  337. package/src/shared/wasm-codec/functions/decode-one-recall-result.function.ts +0 -86
  338. package/src/shared/wasm-codec/functions/decode-option-string.function.ts +0 -24
  339. package/src/shared/wasm-codec/functions/decode-recall-document.function.ts +0 -59
  340. package/src/shared/wasm-codec/functions/decode-recall-reference.function.ts +0 -52
  341. package/src/shared/wasm-codec/functions/decode-recall-result.function.ts +0 -267
  342. package/src/shared/wasm-codec/functions/decode-recall-sibling.function.ts +0 -43
  343. package/src/shared/wasm-codec/functions/decode-remove-flag.function.ts +0 -3
  344. package/src/shared/wasm-codec/functions/decode-scored-results.function.ts +0 -194
  345. package/src/shared/wasm-codec/functions/decode-section-match.function.ts +0 -80
  346. package/src/shared/wasm-codec/functions/decode-section-record-list.function.ts +0 -20
  347. package/src/shared/wasm-codec/functions/decode-section-record-trailing.function.ts +0 -75
  348. package/src/shared/wasm-codec/functions/decode-section-record.function.ts +0 -85
  349. package/src/shared/wasm-codec/functions/decode-section-records.function.ts +0 -249
  350. package/src/shared/wasm-codec/functions/decode-section-type.function.ts +0 -30
  351. package/src/shared/wasm-codec/functions/decode-string.function.ts +0 -22
  352. package/src/shared/wasm-codec/functions/decode-u32.function.ts +0 -16
  353. package/src/shared/wasm-codec/functions/decode-u64.function.ts +0 -16
  354. package/src/shared/wasm-codec/functions/decode-wasm-list.function.ts +0 -31
  355. package/src/shared/wasm-codec/functions/encode-add-section-params.function.ts +0 -102
  356. package/src/shared/wasm-codec/functions/encode-group-params.function.ts +0 -28
  357. package/src/shared/wasm-codec/functions/encode-identifier-list.function.ts +0 -17
  358. package/src/shared/wasm-codec/functions/encode-kbid-list.function.ts +0 -17
  359. package/src/shared/wasm-codec/functions/encode-option-string.function.ts +0 -14
  360. package/src/shared/wasm-codec/functions/encode-recall-params.function.ts +0 -68
  361. package/src/shared/wasm-codec/functions/encode-search-params.function.ts +0 -12
  362. package/src/shared/wasm-codec/functions/encode-section-type.function.ts +0 -18
  363. package/src/shared/wasm-codec/functions/encode-string.function.ts +0 -9
  364. package/src/shared/wasm-codec/functions/encode-type-filter-param.function.ts +0 -13
  365. package/src/shared/wasm-codec/functions/encode-u32.function.ts +0 -5
  366. package/src/shared/wasm-codec/functions/encode-update-section-params.function.ts +0 -16
  367. package/src/shared/wasm-codec/index.ts +0 -49
  368. package/src/shared/wasm-codec/typings/add-section-input.model.ts +0 -45
  369. package/src/shared/wasm-codec/typings/add-section-result.model.ts +0 -28
  370. package/src/shared/wasm-codec/typings/document-manifest.model.ts +0 -20
  371. package/src/shared/wasm-codec/typings/document-section.model.ts +0 -12
  372. package/src/shared/wasm-codec/typings/item-decoder.type.ts +0 -10
  373. package/src/shared/wasm-codec/typings/near-duplicate.model.ts +0 -16
  374. package/src/shared/wasm-codec/typings/paged-search-result.model.ts +0 -22
  375. package/src/shared/wasm-codec/typings/section-match.model.ts +0 -31
  376. package/src/shared/wasm-codec/typings/section-record-trailing.model.ts +0 -38
  377. package/src/shared/wasm-codec/typings/section-record.model.ts +0 -66
  378. package/src/shared/wasm-codec/typings/section-type-result.model.ts +0 -12
  379. package/src/shared/worker-client/classes/worker-client.class.ts +0 -466
  380. package/src/shared/worker-client/functions/compute-context-id.function.ts +0 -18
  381. package/src/shared/worker-client/functions/create-worker-client.function.ts +0 -70
  382. package/src/shared/worker-client/functions/discover-daemon.function.ts +0 -47
  383. package/src/shared/worker-client/functions/handle-ipc-data.function.ts +0 -49
  384. package/src/shared/worker-client/functions/resolve-db-path.function.ts +0 -21
  385. package/src/shared/worker-client/functions/send-ipc-request.function.ts +0 -39
  386. package/src/shared/worker-client/functions/spawn-daemon.function.ts +0 -35
  387. package/src/shared/worker-client/functions/wait-for-daemon.function.ts +0 -34
  388. package/src/shared/worker-client/index.ts +0 -44
  389. package/src/shared/worker-client/typings/add-section-result.model.ts +0 -39
  390. package/src/shared/worker-client/typings/content-result.model.ts +0 -12
  391. package/src/shared/worker-client/typings/daemon-info.model.ts +0 -7
  392. package/src/shared/worker-client/typings/export-result.model.ts +0 -14
  393. package/src/shared/worker-client/typings/gc-result.model.ts +0 -18
  394. package/src/shared/worker-client/typings/integrity-check-result.model.ts +0 -43
  395. package/src/shared/worker-client/typings/json-rpc-response.interface.ts +0 -17
  396. package/src/shared/worker-client/typings/migrate-result.model.ts +0 -11
  397. package/src/shared/worker-client/typings/pending-call.interface.ts +0 -7
  398. package/src/shared/worker-client/typings/rebuild-result.model.ts +0 -12
  399. package/src/shared/worker-client/typings/recall-document.model.ts +0 -16
  400. package/src/shared/worker-client/typings/recall-params.model.ts +0 -15
  401. package/src/shared/worker-client/typings/recall-reference.model.ts +0 -32
  402. package/src/shared/worker-client/typings/recall-result.model.ts +0 -98
  403. package/src/shared/worker-client/typings/recall-sibling.model.ts +0 -11
  404. package/src/shared/worker-client/typings/recall-single-result.model.ts +0 -41
  405. package/src/shared/worker-client/typings/remove-section-result.model.ts +0 -7
  406. package/src/shared/worker-client/typings/search-params.model.ts +0 -14
  407. package/src/shared/worker-client/typings/search-result.model.ts +0 -43
  408. package/src/shared/worker-client/typings/section.model.ts +0 -43
  409. package/src/shared/worker-client/typings/status-result.model.ts +0 -14
  410. package/src/shared/worker-client/typings/version-status.model.ts +0 -28
  411. package/src/shared/worker-client/typings/worker-client-error.interface.ts +0 -8
  412. package/src/shared/worker-client/typings/worker-client-options.interface.ts +0 -30
  413. package/src/shared/worker-daemon/classes/ipc-error.class.ts +0 -22
  414. package/src/shared/worker-daemon/classes/worker-daemon.class.ts +0 -1291
  415. package/src/shared/worker-daemon/constants/daemon-defaults.constant.ts +0 -29
  416. package/src/shared/worker-daemon/constants/wasm-method-map.constant.ts +0 -69
  417. package/src/shared/worker-daemon/functions/build-ipc-error-response.function.ts +0 -16
  418. package/src/shared/worker-daemon/functions/check-catalog-version.function.ts +0 -54
  419. package/src/shared/worker-daemon/functions/check-preconditions.function.ts +0 -28
  420. package/src/shared/worker-daemon/functions/create-host-imports.function.ts +0 -328
  421. package/src/shared/worker-daemon/functions/create-ipc-server.function.ts +0 -87
  422. package/src/shared/worker-daemon/functions/detect-stale-pid.function.ts +0 -33
  423. package/src/shared/worker-daemon/functions/dispatch-request.function.ts +0 -190
  424. package/src/shared/worker-daemon/functions/handle-check-version.function.ts +0 -74
  425. package/src/shared/worker-daemon/functions/handle-config-method.function.ts +0 -27
  426. package/src/shared/worker-daemon/functions/handle-read-ops.function.ts +0 -236
  427. package/src/shared/worker-daemon/functions/handle-write-ops.function.ts +0 -257
  428. package/src/shared/worker-daemon/functions/load-wasm-modules.function.ts +0 -95
  429. package/src/shared/worker-daemon/functions/parse-auto-capture-section.function.ts +0 -51
  430. package/src/shared/worker-daemon/functions/parse-catalog-version.function.ts +0 -20
  431. package/src/shared/worker-daemon/functions/parse-embedding-section.function.ts +0 -38
  432. package/src/shared/worker-daemon/functions/parse-worker-toml.function.ts +0 -104
  433. package/src/shared/worker-daemon/functions/read-config.function.ts +0 -83
  434. package/src/shared/worker-daemon/functions/run-startup-integrity-check.function.ts +0 -55
  435. package/src/shared/worker-daemon/functions/run-worker.function.ts +0 -57
  436. package/src/shared/worker-daemon/functions/scan-near-duplicates.function.ts +0 -92
  437. package/src/shared/worker-daemon/functions/start-daemon.function.ts +0 -74
  438. package/src/shared/worker-daemon/functions/wasm-bridge.function.ts +0 -144
  439. package/src/shared/worker-daemon/functions/wasm-memory-helpers.function.ts +0 -41
  440. package/src/shared/worker-daemon/functions/write-lock.function.ts +0 -49
  441. package/src/shared/worker-daemon/index.ts +0 -16
  442. package/src/shared/worker-daemon/typings/allocator-ref.interface.ts +0 -16
  443. package/src/shared/worker-daemon/typings/daemon-config.interface.ts +0 -20
  444. package/src/shared/worker-daemon/typings/fs-adapter.interface.ts +0 -22
  445. package/src/shared/worker-daemon/typings/handler-context.interface.ts +0 -19
  446. package/src/shared/worker-daemon/typings/ipc-handler.interface.ts +0 -39
  447. package/src/shared/worker-daemon/typings/memory-ref.interface.ts +0 -13
  448. package/src/shared/worker-daemon/typings/wasm-fn.type.ts +0 -2
  449. package/src/shared/worker-daemon/typings/wasm-modules.interface.ts +0 -7
  450. package/src/shared/worker-daemon/typings/write-lock.interface.ts +0 -13
  451. package/src/wasm/fs-database/kbdb_fs_database.d.ts +0 -259
  452. package/src/wasm/fs-database/kbdb_fs_database.js +0 -515
  453. package/src/wasm/fs-database/kbdb_fs_database_bg.wasm +0 -0
  454. package/src/wasm/fs-database/kbdb_fs_database_bg.wasm.d.ts +0 -35
  455. package/src/wasm/fs-database/package.json +0 -13
  456. package/src/wasm/kb-worker/kbdb_worker.d.ts +0 -650
  457. package/src/wasm/kb-worker/kbdb_worker.js +0 -1181
  458. package/src/wasm/kb-worker/kbdb_worker_bg.wasm +0 -0
  459. package/src/wasm/kb-worker/kbdb_worker_bg.wasm.d.ts +0 -77
  460. package/src/wasm/kb-worker/package.json +0 -13
  461. package/src/wasm/query-parser/kbdb_query_parser.d.ts +0 -195
  462. package/src/wasm/query-parser/kbdb_query_parser.js +0 -403
  463. package/src/wasm/query-parser/kbdb_query_parser_bg.wasm +0 -0
  464. package/src/wasm/query-parser/kbdb_query_parser_bg.wasm.d.ts +0 -25
  465. package/src/wasm/query-parser/package.json +0 -13
  466. package/src/worker.ts +0 -42
@@ -1,190 +0,0 @@
1
- import type { DaemonConfig } from '../typings/daemon-config.interface.ts';
2
- import type { HandlerContext } from '../typings/handler-context.interface.ts';
3
- import { IpcError } from '../classes/ipc-error.class.ts';
4
- import {
5
- WASM_METHOD_MAP,
6
- CONFIG_PREFIX,
7
- } from '../constants/wasm-method-map.constant.ts';
8
- import {
9
- handleSearch,
10
- handleResultStatus,
11
- handleGetResult,
12
- handleReadSections,
13
- handleRetrieveDoc,
14
- handleCompose,
15
- handleIntegrityCheck,
16
- handleDbStatus,
17
- handleListByType,
18
- handleListDocsByType,
19
- handleRecall,
20
- handleExport,
21
- } from './handle-read-ops.function.ts';
22
- import {
23
- handleAddSection,
24
- handleUpdateSection,
25
- handleRemoveSection,
26
- handleGroupSections,
27
- handleRemoveGrouping,
28
- handleInitDirectory,
29
- handleInvalidate,
30
- handleInvalidateAll,
31
- handleGc,
32
- handleRebuild,
33
- } from './handle-write-ops.function.ts';
34
- import { handleCheckVersion } from './handle-check-version.function.ts';
35
- import { handleConfigMethod } from './handle-config-method.function.ts';
36
- import {
37
- acquireWriteLock,
38
- releaseWriteLock,
39
- } from './write-lock.function.ts';
40
- import type { WriteLockState } from '../typings/write-lock.interface.ts';
41
- import { callWasmSync } from './wasm-bridge.function.ts';
42
-
43
- /** Daemon status information returned by `status` and `idle_at`. */
44
- interface DaemonStatus {
45
- /** Whether the daemon is currently serving connections. */
46
- readonly status: 'busy' | 'idle';
47
- /** Whether the startup integrity check passed. */
48
- readonly integrityOk: boolean;
49
- /** Integrity errors found at startup, if any. */
50
- readonly integrityErrors: string[];
51
- /** Unix timestamp (seconds) of the last completed request. */
52
- readonly idleAt: number;
53
- }
54
-
55
- /**
56
- * Dispatches an IPC method to its handler.
57
- *
58
- * Routes daemon-state methods inline and delegates WASM read/write
59
- * operations to their respective handler functions. Write operations
60
- * are serialised through the single-writer lock.
61
- *
62
- * @param method - IPC method name
63
- * @param params - request parameters
64
- * @param ctx - handler context (WASM modules, config, targetDir)
65
- * @param daemonStatus - live daemon state read by the `status` method
66
- * @param writeLock - shared write-lock state
67
- */
68
- export async function dispatchRequest(
69
- method: string,
70
- params: Record<string, unknown>,
71
- ctx: HandlerContext,
72
- daemonStatus: DaemonStatus,
73
- writeLock: WriteLockState,
74
- ): Promise<unknown> {
75
- if (method === 'status') {
76
- return {
77
- status: daemonStatus.status,
78
- integrityOk: daemonStatus.integrityOk,
79
- integrityErrors: daemonStatus.integrityErrors,
80
- };
81
- }
82
- if (method === 'idle_at') return daemonStatus.idleAt;
83
- if (method === 'checkVersion') {
84
- return handleCheckVersion(params, ctx.targetDir);
85
- }
86
- if (method.startsWith(CONFIG_PREFIX)) {
87
- return handleConfigMethod(method, ctx.config);
88
- }
89
-
90
- const wasmMethod = WASM_METHOD_MAP[method];
91
- if (wasmMethod === undefined) {
92
- throw new IpcError(-32601, `Method not found: ${method}`);
93
- }
94
- return dispatchWasm(method, wasmMethod, params, ctx, writeLock);
95
- }
96
-
97
- async function dispatchWasm(
98
- method: string,
99
- wasmExport: string,
100
- params: Record<string, unknown>,
101
- ctx: HandlerContext,
102
- writeLock: WriteLockState,
103
- ): Promise<unknown> {
104
- // Read-only operations -- no write lock required.
105
- if (method === 'search' || method === 'query') {
106
- return handleSearch(ctx, params);
107
- }
108
- if (method === 'readSections' || method === 'read_sections') {
109
- return handleReadSections(ctx, params);
110
- }
111
- if (method === 'retrieveDocument' || method === 'retrieve_doc') {
112
- return handleRetrieveDoc(ctx, params);
113
- }
114
- if (method === 'content' || method === 'compose') {
115
- return handleCompose(ctx, params);
116
- }
117
- if (method === 'integrityCheck' || method === 'integrity_check') {
118
- return handleIntegrityCheck(ctx);
119
- }
120
- if (method === 'dbStatus' || method === 'db_status') {
121
- return handleDbStatus(ctx);
122
- }
123
- if (method === 'get_result_status') {
124
- return handleResultStatus(ctx, params);
125
- }
126
- if (method === 'get_result') {
127
- return handleGetResult(ctx, params);
128
- }
129
- if (method === 'listByType' || method === 'list_by_type') {
130
- return handleListByType(ctx, params);
131
- }
132
- if (
133
- method === 'listDocumentsByType' ||
134
- method === 'list_docs_by_type'
135
- ) {
136
- return handleListDocsByType(ctx, params);
137
- }
138
- if (method === 'recall') return handleRecall(ctx, params);
139
- if (method === 'export' || method === 'exportDb') {
140
- return handleExport(ctx, params);
141
- }
142
-
143
- // Write operations -- serialised through the single-writer lock.
144
- await acquireWriteLock(writeLock);
145
- try {
146
- if (method === 'invalidate') return handleInvalidate(ctx, params);
147
- if (method === 'invalidateAll' || method === 'invalidate_all') {
148
- return handleInvalidateAll(ctx);
149
- }
150
- if (method === 'addSection' || method === 'add_section') {
151
- return handleAddSection(ctx, params);
152
- }
153
- if (method === 'updateSection' || method === 'update_section') {
154
- return handleUpdateSection(ctx, params);
155
- }
156
- if (method === 'removeSection' || method === 'remove_section') {
157
- return handleRemoveSection(ctx, params);
158
- }
159
- if (method === 'groupSections' || method === 'group_sections') {
160
- return handleGroupSections(ctx, params);
161
- }
162
- if (method === 'removeGrouping' || method === 'remove_grouping') {
163
- return handleRemoveGrouping(ctx, params);
164
- }
165
- if (method === 'gc') return handleGc(ctx);
166
- if (method === 'rebuildIndexes' || method === 'rebuild_indexes') {
167
- return handleRebuild(ctx);
168
- }
169
- if (method === 'initDirectory' || method === 'init_directory') {
170
- return handleInitDirectory(ctx, params);
171
- }
172
- if (method === 'migrateDatabase') {
173
- throw new IpcError(
174
- -32601,
175
- 'migrateDatabase is not yet supported',
176
- );
177
- }
178
- return callWasmSync(ctx.modules, wasmExport, new Uint8Array(0));
179
- } finally {
180
- releaseWriteLock(writeLock);
181
- }
182
- }
183
-
184
- /**
185
- * Re-export `DaemonConfig` so callers can pass strongly-typed
186
- * config without an extra import.
187
- *
188
- * @internal
189
- */
190
- export type { DaemonConfig };
@@ -1,74 +0,0 @@
1
- import { readFileSync } from 'node:fs';
2
- import { join } from 'node:path';
3
- import { DB_FORMAT_VERSION } from '../constants/daemon-defaults.constant.ts';
4
- import { parseCatalogVersion } from './parse-catalog-version.function.ts';
5
-
6
- /** Payload returned by the `checkVersion` IPC method. */
7
- interface VersionCheckResult {
8
- /** Compatibility status string. */
9
- readonly status: string;
10
- /** Format version stored in the catalog. */
11
- readonly currentVersion: number;
12
- /** Format version required by the current engine. */
13
- readonly requiredVersion: number;
14
- }
15
-
16
- /**
17
- * Handles the `checkVersion` IPC method.
18
- *
19
- * Reads `catalog.toml` at `targetPath` and compares its format
20
- * version to `DB_FORMAT_VERSION`. Returns a result object without
21
- * making any modifications.
22
- *
23
- * @param targetPath - absolute path to the `.kbdb` directory to
24
- * inspect; falls back to `defaultDir` when not provided in params
25
- * @param defaultDir - fallback directory when `params.targetPath`
26
- * is absent
27
- */
28
- export function handleCheckVersion(
29
- params: Record<string, unknown>,
30
- defaultDir: string,
31
- ): VersionCheckResult {
32
- const targetPath =
33
- typeof params['targetPath'] === 'string'
34
- ? params['targetPath']
35
- : defaultDir;
36
- const catalogPath = join(targetPath, 'catalog.toml');
37
- let text: string;
38
- try {
39
- text = readFileSync(catalogPath, 'utf-8');
40
- } catch {
41
- return {
42
- status: 'needs_migration',
43
- currentVersion: 0,
44
- requiredVersion: DB_FORMAT_VERSION,
45
- };
46
- }
47
- const version = parseCatalogVersion(text);
48
- if (version === null) {
49
- return {
50
- status: 'needs_migration',
51
- currentVersion: 0,
52
- requiredVersion: DB_FORMAT_VERSION,
53
- };
54
- }
55
- if (version > DB_FORMAT_VERSION) {
56
- return {
57
- status: 'too_new',
58
- currentVersion: version,
59
- requiredVersion: DB_FORMAT_VERSION,
60
- };
61
- }
62
- if (version < DB_FORMAT_VERSION) {
63
- return {
64
- status: 'needs_migration',
65
- currentVersion: version,
66
- requiredVersion: DB_FORMAT_VERSION,
67
- };
68
- }
69
- return {
70
- status: 'compatible',
71
- currentVersion: version,
72
- requiredVersion: DB_FORMAT_VERSION,
73
- };
74
- }
@@ -1,27 +0,0 @@
1
- import type { DaemonConfig } from '../typings/daemon-config.interface.ts';
2
- import { IpcError } from '../classes/ipc-error.class.ts';
3
- import {
4
- CONFIG_PREFIX,
5
- CONFIG_KEY_MAP,
6
- } from '../constants/wasm-method-map.constant.ts';
7
-
8
- /**
9
- * Handles `config_{key}` IPC methods by returning the corresponding
10
- * `DaemonConfig` field value.
11
- *
12
- * @param method - the full method name, e.g. `config_timeout_ms`
13
- * @param config - parsed daemon configuration
14
- * @throws {IpcError} with code `-32601` when the key suffix is not
15
- * in `CONFIG_KEY_MAP`
16
- */
17
- export function handleConfigMethod(
18
- method: string,
19
- config: DaemonConfig,
20
- ): unknown {
21
- const key = method.slice(CONFIG_PREFIX.length);
22
- const prop = CONFIG_KEY_MAP[key];
23
- if (prop === undefined) {
24
- throw new IpcError(-32601, `Method not found: ${method}`);
25
- }
26
- return config[prop];
27
- }
@@ -1,236 +0,0 @@
1
- import {
2
- encodeSearchParams,
3
- encodeKbidList,
4
- encodeIdentifierList,
5
- encodeTypeFilterParam,
6
- encodeRecallParams,
7
- decodePagedSearchResult,
8
- decodeSectionRecords,
9
- decodeSectionRecordList,
10
- decodeDocumentManifest,
11
- decodeDocumentManifestList,
12
- decodeComposeOutput,
13
- decodeKeyValueText,
14
- decodeRecallResult,
15
- } from '../../wasm-codec/index.ts';
16
- import type { HandlerContext } from '../typings/handler-context.interface.ts';
17
- import { IpcError } from '../classes/ipc-error.class.ts';
18
- import {
19
- getWasmExport,
20
- wasmAlloc,
21
- wasmWrite,
22
- wasmFree,
23
- readReturnSlot,
24
- callWasmSync,
25
- callWasmZeroArg,
26
- } from './wasm-bridge.function.ts';
27
-
28
- /**
29
- * Handles `search` and `query` IPC methods.
30
- *
31
- * Encodes parameters, invokes the `worker_search` token pipeline,
32
- * waits synchronously for the result, and decodes the paged result.
33
- */
34
- export function handleSearch(
35
- ctx: HandlerContext,
36
- params: Record<string, unknown>,
37
- ): unknown {
38
- const query = (params['query'] as string | undefined) ?? '';
39
- const mode = (params['mode'] as string | undefined) ?? 'and';
40
- const limit = Number(params['limit'] ?? 20);
41
- const offset = Number(params['offset'] ?? 0);
42
- const encoded = encodeSearchParams(query, mode, limit, offset);
43
-
44
- const searchFn = getWasmExport(ctx.modules, 'worker_search');
45
- const ptr = wasmAlloc(ctx.modules, encoded.length);
46
- wasmWrite(ctx.modules, ptr, encoded);
47
- const token = searchFn(ptr, encoded.length) as number;
48
- wasmFree(ctx.modules, ptr, encoded.length);
49
-
50
- const statusFn = getWasmExport(ctx.modules, 'worker_result_status');
51
- const status = statusFn(token) as number;
52
- if (status === 3) {
53
- getWasmExport(ctx.modules, 'worker_get_result')(token);
54
- const errBytes = readReturnSlot(ctx.modules);
55
- throw new IpcError(-32000, new TextDecoder().decode(errBytes));
56
- }
57
-
58
- const getResultFn = getWasmExport(ctx.modules, 'worker_get_result');
59
- const rc = getResultFn(token) as number;
60
- if (rc === -1) {
61
- const errBytes = readReturnSlot(ctx.modules);
62
- throw new IpcError(-32000, new TextDecoder().decode(errBytes));
63
- }
64
- return decodePagedSearchResult(readReturnSlot(ctx.modules));
65
- }
66
-
67
- /**
68
- * Handles the `get_result_status` IPC method.
69
- */
70
- export function handleResultStatus(
71
- ctx: HandlerContext,
72
- params: Record<string, unknown>,
73
- ): unknown {
74
- const token = Number(params['token'] ?? 0);
75
- const fn = getWasmExport(ctx.modules, 'worker_result_status');
76
- return { status: fn(token) as number };
77
- }
78
-
79
- /**
80
- * Handles the `get_result` IPC method.
81
- */
82
- export function handleGetResult(
83
- ctx: HandlerContext,
84
- params: Record<string, unknown>,
85
- ): unknown {
86
- const token = Number(params['token'] ?? 0);
87
- const fn = getWasmExport(ctx.modules, 'worker_get_result');
88
- const rc = fn(token) as number;
89
- if (rc === -1) {
90
- const errBytes = readReturnSlot(ctx.modules);
91
- throw new IpcError(-32000, new TextDecoder().decode(errBytes));
92
- }
93
- return decodePagedSearchResult(readReturnSlot(ctx.modules));
94
- }
95
-
96
- /**
97
- * Handles the `readSections` IPC method.
98
- */
99
- export function handleReadSections(
100
- ctx: HandlerContext,
101
- params: Record<string, unknown>,
102
- ): unknown {
103
- const kbids = (params['kbids'] ?? []) as string[];
104
- const encoded = encodeKbidList(kbids);
105
- const bytes = callWasmSync(
106
- ctx.modules,
107
- 'worker_read_sections',
108
- encoded,
109
- );
110
- return decodeSectionRecords(bytes);
111
- }
112
-
113
- /**
114
- * Handles the `retrieveDocument` IPC method.
115
- */
116
- export function handleRetrieveDoc(
117
- ctx: HandlerContext,
118
- params: Record<string, unknown>,
119
- ): unknown {
120
- const docid = (params['docid'] as string | undefined) ?? '';
121
- const encoded = new TextEncoder().encode(docid);
122
- const bytes = callWasmSync(
123
- ctx.modules,
124
- 'worker_retrieve_doc',
125
- encoded,
126
- );
127
- return decodeDocumentManifest(bytes);
128
- }
129
-
130
- /**
131
- * Handles the `content` and `compose` IPC methods.
132
- */
133
- export function handleCompose(
134
- ctx: HandlerContext,
135
- params: Record<string, unknown>,
136
- ): unknown {
137
- const ids = (params['ids'] ?? []) as string[];
138
- const encoded = encodeIdentifierList(ids);
139
- const bytes = callWasmSync(ctx.modules, 'worker_compose', encoded);
140
- const output = decodeComposeOutput(bytes);
141
- return { data: output.markdown, total: Number(output.totalChars) };
142
- }
143
-
144
- /**
145
- * Handles the `integrityCheck` IPC method.
146
- */
147
- export function handleIntegrityCheck(ctx: HandlerContext): unknown {
148
- callWasmZeroArg(ctx.modules, 'worker_check_integrity');
149
- const bytes = readReturnSlot(ctx.modules);
150
- return decodeKeyValueText(new TextDecoder().decode(bytes));
151
- }
152
-
153
- /**
154
- * Handles the `dbStatus` IPC method.
155
- */
156
- export function handleDbStatus(ctx: HandlerContext): unknown {
157
- callWasmZeroArg(ctx.modules, 'worker_status');
158
- const bytes = readReturnSlot(ctx.modules);
159
- return decodeKeyValueText(new TextDecoder().decode(bytes));
160
- }
161
-
162
- /**
163
- * Handles the `listByType` IPC method.
164
- */
165
- export function handleListByType(
166
- ctx: HandlerContext,
167
- params: Record<string, unknown>,
168
- ): unknown {
169
- const typeStr = (params['sectionType'] as string | undefined) ?? '';
170
- const encoded = encodeTypeFilterParam(typeStr);
171
- const bytes = callWasmSync(
172
- ctx.modules,
173
- 'worker_list_by_type',
174
- encoded,
175
- );
176
- return decodeSectionRecordList(bytes);
177
- }
178
-
179
- /**
180
- * Handles the `listDocumentsByType` IPC method.
181
- */
182
- export function handleListDocsByType(
183
- ctx: HandlerContext,
184
- params: Record<string, unknown>,
185
- ): unknown {
186
- const typeStr = (params['docType'] as string | undefined) ?? '';
187
- const encoded = encodeTypeFilterParam(typeStr);
188
- const bytes = callWasmSync(
189
- ctx.modules,
190
- 'worker_list_docs_by_type',
191
- encoded,
192
- );
193
- return decodeDocumentManifestList(bytes);
194
- }
195
-
196
- /**
197
- * Handles the `recall` IPC method.
198
- */
199
- export function handleRecall(
200
- ctx: HandlerContext,
201
- params: Record<string, unknown>,
202
- ): unknown {
203
- const kbid =
204
- typeof params['kbid'] === 'string' ? params['kbid'] : undefined;
205
- const kbids = Array.isArray(params['kbids'])
206
- ? (params['kbids'] as string[])
207
- : undefined;
208
- const depth = Number(params['depth'] ?? 0);
209
- const encoded = encodeRecallParams({ kbid, kbids, depth });
210
- const bytes = callWasmSync(ctx.modules, 'worker_recall', encoded);
211
- return decodeRecallResult(bytes);
212
- }
213
-
214
- /**
215
- * Handles the `export` and `exportDb` IPC methods.
216
- */
217
- export function handleExport(
218
- ctx: HandlerContext,
219
- params: Record<string, unknown>,
220
- ): unknown {
221
- const targetPath =
222
- (params['targetPath'] as string | undefined) ??
223
- (params['path'] as string | undefined) ??
224
- './kbdb-export/';
225
- const encoded = new TextEncoder().encode(targetPath);
226
- const start = Date.now();
227
- const bytes = callWasmSync(ctx.modules, 'worker_export', encoded);
228
- const elapsed = Date.now() - start;
229
- const kv = decodeKeyValueText(new TextDecoder().decode(bytes));
230
- return {
231
- path: kv['path'] ?? targetPath,
232
- sections_exported: Number(kv['sections_exported'] ?? 0),
233
- documents_exported: Number(kv['documents_exported'] ?? 0),
234
- elapsed_ms: elapsed,
235
- };
236
- }