@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,299 +0,0 @@
1
- import { VERSION } from '../../version/index.ts';
2
- import type { CliOptions } from '../typings/cli-options.interface.ts';
3
- import type { CommandResult } from '../typings/command-result.model.ts';
4
- import type { InitResult } from './run-init.function.ts';
5
- import type { VersionStatus } from '../../worker-client/typings/version-status.model.ts';
6
- import type { MigrateResult } from '../../worker-client/typings/migrate-result.model.ts';
7
- import { parseArgs } from './parse-args.function.ts';
8
- import { errorToMessage } from './error-to-message.function.ts';
9
- import { dispatchCommand } from './dispatch-command.function.ts';
10
- import type { DispatchClient } from './dispatch-command.function.ts';
11
- import {
12
- generateHelp,
13
- isKnownCommand,
14
- } from './generate-help.function.ts';
15
-
16
- export interface DisconnectableClient extends DispatchClient {
17
- checkVersion(targetPath: string): Promise<VersionStatus>;
18
- migrateDatabase(targetPath: string): Promise<MigrateResult>;
19
- disconnect(): void;
20
- }
21
-
22
- /**
23
- * Injectable dependencies for the CLI orchestrator.
24
- *
25
- * Every external side-effect is injected so the function
26
- * is fully testable without touching process globals,
27
- * filesystem, or network.
28
- */
29
- export interface CliDeps {
30
- isStdinTty: () => boolean;
31
- promptUser: (question: string) => Promise<string>;
32
- createWorkerClient: (opts: {
33
- contextPath: string;
34
- }) => Promise<DisconnectableClient>;
35
- findDb: (basePath?: string) => string | null;
36
- runInit: (options: CliOptions) => InitResult;
37
- startMcpServer?: (contextPath: string) => Promise<void>;
38
- }
39
-
40
- /**
41
- * Full CLI orchestrator extracted from `src/cli.ts`.
42
- *
43
- * Parses arguments, routes to the appropriate sub-flow
44
- * (help, version, init, mcp, migrate, data commands), and
45
- * returns a `CommandResult` without touching process globals.
46
- *
47
- * @param argv - raw CLI arguments (typically `process.argv.slice(2)`)
48
- * @param deps - injectable dependencies
49
- */
50
- export async function runCli(
51
- argv: string[],
52
- deps: CliDeps,
53
- ): Promise<CommandResult> {
54
- const options = parseArgs(argv);
55
-
56
- if (options.command === 'help' || !options.command) {
57
- const helpCommand = options.args[0];
58
- const helpSubcommand = options.args[1];
59
- const helpText = generateHelp(helpCommand, helpSubcommand);
60
- if (helpCommand && !isKnownCommand(helpCommand)) {
61
- return { output: helpText, exitCode: 1 };
62
- }
63
- return { output: helpText, exitCode: 0 };
64
- }
65
-
66
- if (options.command === 'version') {
67
- return { output: VERSION, exitCode: 0 };
68
- }
69
-
70
- if (options.command === 'init' || options.command === 'db-init') {
71
- return handleInit(options, deps);
72
- }
73
-
74
- if (options.command === 'mcp') {
75
- return handleMcp(options, deps);
76
- }
77
-
78
- if (
79
- options.command === 'migrate' ||
80
- options.command === 'db-migrate'
81
- ) {
82
- return handleMigrate(options, deps);
83
- }
84
-
85
- return handleDataCommand(options, deps);
86
- }
87
-
88
- function handleInit(options: CliOptions, deps: CliDeps): CommandResult {
89
- const result = deps.runInit(options);
90
- if (result.ok) {
91
- return {
92
- output: result.targetPath,
93
- exitCode: 0,
94
- };
95
- }
96
- return {
97
- error: `error: ${result.errorMessage ?? 'init failed'}`,
98
- exitCode: 1,
99
- };
100
- }
101
-
102
- async function handleMcp(
103
- options: CliOptions,
104
- deps: CliDeps,
105
- ): Promise<CommandResult> {
106
- const rawDbPath = options.dbPath ?? process.env['KBDB_DIR'];
107
- if (!rawDbPath) {
108
- return {
109
- error: 'error: --db or KBDB_DIR required in MCP mode',
110
- exitCode: 1,
111
- };
112
- }
113
- const dbDir = deps.findDb(rawDbPath);
114
- if (!dbDir) {
115
- return {
116
- error: `error: no .kbdb database found at ${rawDbPath}`,
117
- exitCode: 1,
118
- };
119
- }
120
-
121
- let client: DisconnectableClient;
122
- try {
123
- client = await deps.createWorkerClient({
124
- contextPath: dbDir,
125
- });
126
- } catch (err) {
127
- return {
128
- error: `error: ${errorToMessage(err)}`,
129
- exitCode: 1,
130
- };
131
- }
132
-
133
- try {
134
- const gateResult = await versionGate(client, dbDir);
135
- if (gateResult) return gateResult;
136
-
137
- if (deps.startMcpServer) {
138
- await deps.startMcpServer(dbDir);
139
- }
140
- return { exitCode: 0 };
141
- } catch (err) {
142
- return {
143
- error: `error: mcp failed: ${errorToMessage(err)}`,
144
- exitCode: 1,
145
- };
146
- } finally {
147
- client.disconnect();
148
- }
149
- }
150
-
151
- async function handleMigrate(
152
- options: CliOptions,
153
- deps: CliDeps,
154
- ): Promise<CommandResult> {
155
- const dbDir = deps.findDb(options.dbPath);
156
- if (!dbDir) {
157
- const basePath = options.dbPath ?? process.cwd();
158
- return {
159
- error: `error: no .kbdb database found at ${basePath}`,
160
- exitCode: 1,
161
- };
162
- }
163
-
164
- let client: DisconnectableClient;
165
- try {
166
- client = await deps.createWorkerClient({
167
- contextPath: dbDir,
168
- });
169
- } catch (err) {
170
- return {
171
- error: `error: ${errorToMessage(err)}`,
172
- exitCode: 1,
173
- };
174
- }
175
-
176
- try {
177
- const versionStatus = await client.checkVersion(dbDir);
178
-
179
- if (versionStatus.status === 'too_new') {
180
- return {
181
- error:
182
- `error: database version` +
183
- ` ${versionStatus.currentVersion.toString()}` +
184
- ` is newer than kbdb version` +
185
- ` ${versionStatus.requiredVersion.toString()}` +
186
- ` -- upgrade kbdb`,
187
- exitCode: 1,
188
- };
189
- }
190
-
191
- if (versionStatus.status === 'needs_migration') {
192
- const migrateResult = await client.migrateDatabase(dbDir);
193
- return {
194
- output: JSON.stringify(migrateResult, null, 2),
195
- exitCode: 0,
196
- };
197
- }
198
-
199
- return { output: 'already up to date', exitCode: 0 };
200
- } catch (err) {
201
- return {
202
- error: `error: migrate failed: ${errorToMessage(err)}`,
203
- exitCode: 1,
204
- };
205
- } finally {
206
- client.disconnect();
207
- }
208
- }
209
-
210
- async function handleDataCommand(
211
- options: CliOptions,
212
- deps: CliDeps,
213
- ): Promise<CommandResult> {
214
- let dbDir = deps.findDb(options.dbPath);
215
-
216
- if (!dbDir) {
217
- const basePath = options.dbPath ?? process.cwd();
218
-
219
- if (!deps.isStdinTty()) {
220
- return {
221
- error:
222
- `error: no .kbdb database found at ${basePath}` +
223
- ' -- run `kbdb --init` to create one',
224
- exitCode: 1,
225
- };
226
- }
227
-
228
- const answer = await deps.promptUser(
229
- `No .kbdb database found. Create one in ${basePath}? [y/N] `,
230
- );
231
-
232
- if (answer.toLowerCase() !== 'y') {
233
- return {
234
- error: 'aborted: no database created',
235
- exitCode: 1,
236
- };
237
- }
238
-
239
- const initResult = deps.runInit(options);
240
- if (!initResult.ok) {
241
- return {
242
- error: `error: ${initResult.errorMessage ?? 'init failed'}`,
243
- exitCode: 1,
244
- };
245
- }
246
- dbDir = initResult.targetPath;
247
- }
248
-
249
- let client: DisconnectableClient;
250
- try {
251
- client = await deps.createWorkerClient({
252
- contextPath: dbDir,
253
- });
254
- } catch (err) {
255
- return {
256
- error: `error: ${errorToMessage(err)}`,
257
- exitCode: 1,
258
- };
259
- }
260
-
261
- try {
262
- const gateResult = await versionGate(client, dbDir);
263
- if (gateResult) return gateResult;
264
-
265
- return await dispatchCommand(client, options);
266
- } finally {
267
- client.disconnect();
268
- }
269
- }
270
-
271
- async function versionGate(
272
- client: DisconnectableClient,
273
- dbDir: string,
274
- ): Promise<CommandResult | null> {
275
- const versionStatus = await client.checkVersion(dbDir);
276
-
277
- if (versionStatus.status === 'needs_migration') {
278
- return {
279
- error:
280
- 'error: database needs migration' +
281
- ' -- run `kbdb --migrate`',
282
- exitCode: 1,
283
- };
284
- }
285
-
286
- if (versionStatus.status === 'too_new') {
287
- return {
288
- error:
289
- `error: database version` +
290
- ` ${versionStatus.currentVersion.toString()}` +
291
- ` is newer than kbdb version` +
292
- ` ${versionStatus.requiredVersion.toString()}` +
293
- ` -- upgrade kbdb`,
294
- exitCode: 1,
295
- };
296
- }
297
-
298
- return null;
299
- }
@@ -1,47 +0,0 @@
1
- import type { CliOptions } from '../typings/cli-options.interface.ts';
2
-
3
- /** Result returned by content composition. */
4
- interface ContentResult {
5
- /** MIME type of the composed output, always `'text/markdown'`. */
6
- readonly type: 'text/markdown';
7
- /** The composed Markdown string. */
8
- readonly data: string;
9
- /** Character count of `data` (not byte count). */
10
- readonly total: number;
11
- }
12
-
13
- /**
14
- * Minimal client interface required by `runContent`.
15
- *
16
- * Decouples the CLI function from the concrete `WorkerClient`
17
- * implementation, making it straightforward to test with mocks.
18
- */
19
- export interface ContentClient {
20
- /**
21
- * Composes a rendered Markdown document from one or more kbid
22
- * or docid identifiers.
23
- *
24
- * @param ids - list of kbid or docid identifiers (may be mixed)
25
- * @returns composed Markdown result with character count
26
- */
27
- content(ids: string[]): Promise<ContentResult>;
28
- }
29
-
30
- /**
31
- * Composes and returns a rendered Markdown document from the
32
- * identifiers listed in `options.args`.
33
- *
34
- * Delegates to `client.content(ids)`. The caller is responsible for
35
- * writing the result to stdout.
36
- *
37
- * @param client - content client to delegate composition to
38
- * @param options - parsed CLI options whose `args` list the kbid or
39
- * docid identifiers to compose
40
- * @returns the composed content result from the daemon
41
- */
42
- export async function runContent(
43
- client: ContentClient,
44
- options: CliOptions,
45
- ): Promise<ContentResult> {
46
- return client.content(options.args);
47
- }
@@ -1,44 +0,0 @@
1
- import type { CliOptions } from '../typings/cli-options.interface.ts';
2
- import type { CommandResult } from '../typings/command-result.model.ts';
3
- import type { InitResult } from './run-init.function.ts';
4
-
5
- /**
6
- * Callable signature for the init operation injected into
7
- * `runDbInit`.
8
- */
9
- export type RunInitFn = (options: CliOptions) => InitResult;
10
-
11
- /**
12
- * Executes the `db init` compound command by delegating to the
13
- * provided `runInit` function and mapping the result to a
14
- * `CommandResult`.
15
- *
16
- * Accepts `runInit` as an injectable parameter so the function
17
- * can be tested without touching the filesystem.
18
- *
19
- * @param options - parsed CLI options (forwarded to `runInitFn`)
20
- * @param runInitFn - function that performs the actual
21
- * initialisation
22
- * @returns a `CommandResult` with JSON output on success or an
23
- * error message on failure
24
- */
25
- export function runDbInit(
26
- options: CliOptions,
27
- runInitFn: RunInitFn,
28
- ): CommandResult {
29
- const result = runInitFn(options);
30
- if (result.ok) {
31
- return {
32
- output: JSON.stringify(
33
- { path: result.targetPath, created: true },
34
- null,
35
- 2,
36
- ),
37
- exitCode: 0,
38
- };
39
- }
40
- return {
41
- error: result.errorMessage ?? 'init failed',
42
- exitCode: 1,
43
- };
44
- }
@@ -1,40 +0,0 @@
1
- import type { CliOptions } from '../typings/cli-options.interface.ts';
2
- import type { MigrateResult } from '../../worker-client/typings/migrate-result.model.ts';
3
-
4
- /**
5
- * Minimal client interface required by `runDbMigrate`.
6
- *
7
- * Intentionally narrower than `MigrateClient` from
8
- * `run-migrate.function.ts` — this variant skips the version
9
- * check and unconditionally runs migrations. Callers that need
10
- * version-aware migration should use `runMigrate` instead.
11
- */
12
- export interface DbMigrateClient {
13
- /**
14
- * Runs all pending database migrations.
15
- *
16
- * @param targetPath - absolute path to the `.kbdb` database root
17
- */
18
- migrateDatabase(targetPath: string): Promise<MigrateResult>;
19
- }
20
-
21
- /**
22
- * Runs database migrations unconditionally via `client.migrateDatabase`.
23
- *
24
- * Resolves the target path from `options.dbPath` when provided,
25
- * falling back to `process.cwd()`. Does not perform a version
26
- * compatibility check before migrating — use `runMigrate` for
27
- * version-aware migration flows.
28
- *
29
- * @param client - database migration client to delegate to
30
- * @param options - parsed CLI options supplying the optional
31
- * `dbPath`
32
- * @returns the migration report returned by the daemon
33
- */
34
- export async function runDbMigrate(
35
- client: DbMigrateClient,
36
- options: CliOptions,
37
- ): Promise<MigrateResult> {
38
- const dbPath = options.dbPath ?? process.cwd();
39
- return client.migrateDatabase(dbPath);
40
- }
@@ -1,40 +0,0 @@
1
- import type { CliOptions } from '../typings/cli-options.interface.ts';
2
- import type { ExportResult } from '../../worker-client/typings/export-result.model.ts';
3
-
4
- /**
5
- * Minimal client interface required by `runExport`.
6
- *
7
- * Decouples the CLI function from the concrete `WorkerClient`
8
- * implementation, making it straightforward to test with mocks.
9
- */
10
- export interface ExportClient {
11
- /**
12
- * Exports the database to the given directory path.
13
- *
14
- * @param params - optional target path; the daemon defaults to
15
- * `./kbdb-export/` when `path` is `undefined`
16
- * @returns export report with the resolved path and file counts
17
- */
18
- export(params: { path?: string }): Promise<ExportResult>;
19
- }
20
-
21
- /**
22
- * Exports the knowledge-base database to a target directory via the
23
- * provided client.
24
- *
25
- * The target path is taken from `options.args[0]`. When no argument
26
- * is given the daemon resolves its own default (`./kbdb-export/`).
27
- *
28
- * @param client - export client to delegate to
29
- * @param options - parsed CLI options whose first positional
30
- * argument, if present, is the target directory path
31
- * @returns the export result containing the resolved path and file
32
- * counts
33
- */
34
- export async function runExport(
35
- client: ExportClient,
36
- options: CliOptions,
37
- ): Promise<ExportResult> {
38
- const path = options.args[0];
39
- return client.export({ path });
40
- }
@@ -1,51 +0,0 @@
1
- import type { CliOptions } from '../typings/cli-options.interface.ts';
2
-
3
- /**
4
- * Garbage collection report returned by the daemon.
5
- */
6
- interface GcResult {
7
- /** Number of unreferenced sections removed. */
8
- readonly removed_sections: number;
9
- /** Total bytes freed by removing unreferenced sections. */
10
- readonly removed_bytes: number;
11
- /** Time taken to complete garbage collection, in milliseconds. */
12
- readonly elapsed_ms: number;
13
- /**
14
- * Number of sections whose `source_path` file no longer
15
- * contains their heading text (advisory; not auto-removed).
16
- * Absent on older daemon versions.
17
- */
18
- readonly stale_sources?: number;
19
- }
20
-
21
- /**
22
- * Minimal client interface required by `runGc`.
23
- *
24
- * Decouples the CLI function from the concrete `WorkerClient`
25
- * implementation, making it straightforward to test with mocks.
26
- */
27
- export interface GcClient {
28
- /**
29
- * Removes unreferenced sections from the database.
30
- *
31
- * @returns a report of sections removed and bytes freed
32
- */
33
- gc(): Promise<GcResult>;
34
- }
35
-
36
- /**
37
- * Runs garbage collection on the database and returns the report.
38
- *
39
- * Delegates to `client.gc()`. The caller is responsible for printing
40
- * the result to stdout.
41
- *
42
- * @param client - gc client to delegate to
43
- * @param _options - parsed CLI options (unused; reserved for future flags)
44
- * @returns the garbage collection report from the daemon
45
- */
46
- export async function runGc(
47
- client: GcClient,
48
- _options: CliOptions,
49
- ): Promise<GcResult> {
50
- return client.gc();
51
- }
@@ -1,93 +0,0 @@
1
- import { existsSync, mkdirSync, writeFileSync } from 'node:fs';
2
- import { join, resolve } from 'node:path';
3
- import type { CliOptions } from '../typings/cli-options.interface.ts';
4
- import { installDefaultSkills } from './install-default-skills.function.ts';
5
-
6
- /**
7
- * Result returned by `runInit` describing whether the directory was
8
- * successfully initialised.
9
- */
10
- export interface InitResult {
11
- /** `true` when the database directory was created successfully. */
12
- readonly ok: boolean;
13
- /** Absolute path to the directory that was (or should have been) initialised. */
14
- readonly targetPath: string;
15
- /**
16
- * Human-readable error message when `ok` is `false`.
17
- * `undefined` when `ok` is `true`.
18
- */
19
- readonly errorMessage?: string;
20
- }
21
-
22
- const DB_FORMAT_VERSION = 1;
23
-
24
- const CATALOG_TOML = `version = ${DB_FORMAT_VERSION.toString()}
25
- section_count = 0
26
- document_count = 0
27
- created_at = 0
28
- updated_at = 0
29
- checksum = ""
30
- `;
31
-
32
- const WORKER_TOML = '# kbdb worker configuration\n';
33
-
34
- const GITIGNORE = [
35
- '# kbdb binary indexes (auto-generated)',
36
- 'corpus.bin',
37
- 'inverted.idx',
38
- 'positional.idx',
39
- '',
40
- ].join('\n');
41
-
42
- /**
43
- * Creates the `.kbdb` directory scaffold directly on disk.
44
- *
45
- * This mirrors the Rust `init_directory` in
46
- * `engine/crates/fs-database/src/scaffold.rs` and does not
47
- * require a running worker daemon.
48
- */
49
- function createScaffold(dbDir: string): void {
50
- mkdirSync(dbDir, { recursive: true });
51
- mkdirSync(join(dbDir, 'sections'));
52
- mkdirSync(join(dbDir, 'documents'));
53
- writeFileSync(join(dbDir, 'catalog.toml'), CATALOG_TOML);
54
- writeFileSync(join(dbDir, 'corpus.bin'), '');
55
- writeFileSync(join(dbDir, 'inverted.idx'), '');
56
- writeFileSync(join(dbDir, 'positional.idx'), '');
57
- writeFileSync(join(dbDir, 'worker.toml'), WORKER_TOML);
58
- writeFileSync(join(dbDir, '.gitignore'), GITIGNORE);
59
- }
60
-
61
- /**
62
- * Initialises a new `.kbdb` database directory.
63
- *
64
- * Creates the full scaffold directly on disk without requiring a
65
- * running worker daemon. Resolves the target path from
66
- * `options.dbPath` or `process.cwd()`.
67
- *
68
- * @param options - parsed CLI options supplying the optional `dbPath`
69
- * @returns init result indicating success or failure
70
- */
71
- export function runInit(options: CliOptions): InitResult {
72
- const basePath = options.dbPath
73
- ? resolve(options.dbPath)
74
- : process.cwd();
75
- const dbDir = join(basePath, '.kbdb');
76
-
77
- try {
78
- if (existsSync(dbDir)) {
79
- return {
80
- ok: false,
81
- targetPath: dbDir,
82
- errorMessage: `database directory already exists: ${dbDir}`,
83
- };
84
- }
85
- createScaffold(dbDir);
86
- installDefaultSkills(dbDir);
87
- return { ok: true, targetPath: dbDir };
88
- } catch (err: unknown) {
89
- const errorMessage =
90
- err instanceof Error ? err.message : String(err);
91
- return { ok: false, targetPath: dbDir, errorMessage };
92
- }
93
- }