@dikolab/kbdb 0.3.2 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (523) hide show
  1. package/README.md +92 -90
  2. package/dist/chunk-BJXEVALU.mjs +337 -0
  3. package/dist/chunk-BJXEVALU.mjs.map +7 -0
  4. package/dist/cli.cjs +1398 -378
  5. package/dist/cli.cjs.map +4 -4
  6. package/dist/cli.d.ts +9 -0
  7. package/dist/cli.mjs +1138 -342
  8. package/dist/cli.mjs.map +4 -4
  9. package/dist/kbdb-worker.cjs +1115 -135
  10. package/dist/kbdb-worker.cjs.map +4 -4
  11. package/dist/mod.cjs +351 -69
  12. package/dist/mod.cjs.map +4 -4
  13. package/dist/mod.d.ts +23 -2
  14. package/dist/mod.mjs +349 -68
  15. package/dist/mod.mjs.map +4 -4
  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 +22 -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/classes/tfidf-embedding-provider.class.d.ts +28 -0
  38. package/dist/src/shared/embedding/constants/tfidf-defaults.constant.d.ts +4 -0
  39. package/dist/src/shared/embedding/functions/append-vector-entry.function.d.ts +14 -0
  40. package/dist/src/shared/embedding/functions/create-embedding-provider.function.d.ts +15 -0
  41. package/dist/src/shared/embedding/functions/detect-stale-vectors.function.d.ts +16 -0
  42. package/dist/src/shared/embedding/functions/parse-api-embedding-response.function.d.ts +11 -0
  43. package/dist/src/shared/embedding/functions/rebuild-vectors.function.d.ts +15 -0
  44. package/dist/src/shared/embedding/functions/scan-semantic-contradictions.function.d.ts +13 -0
  45. package/dist/src/shared/embedding/index.d.ts +9 -0
  46. package/dist/src/shared/embedding/typings/semantic-contradiction.model.d.ts +21 -0
  47. package/dist/src/shared/embedding/typings/stale-vectors-report.model.d.ts +16 -0
  48. package/dist/src/shared/log/constants/log-colors.constant.d.ts +5 -0
  49. package/dist/src/shared/log/constants/log-defaults.constant.d.ts +3 -0
  50. package/dist/src/shared/log/constants/log-icons.constant.d.ts +3 -0
  51. package/dist/src/shared/log/functions/configure-log.function.d.ts +12 -0
  52. package/dist/src/shared/log/functions/log.function.d.ts +28 -0
  53. package/dist/src/shared/log/functions/parse-log-level.function.d.ts +10 -0
  54. package/dist/src/shared/log/functions/resolve-log-level.function.d.ts +12 -0
  55. package/dist/src/shared/log/functions/write-stderr.function.d.ts +10 -0
  56. package/dist/src/shared/log/index.d.ts +10 -0
  57. package/dist/src/shared/log/typings/log-config.interface.d.ts +7 -0
  58. package/dist/src/shared/log/typings/log-level.type.d.ts +7 -0
  59. package/dist/src/shared/log/typings/log-output.interface.d.ts +4 -0
  60. package/dist/src/shared/mcp/classes/mcp-server.class.d.ts +22 -2
  61. package/dist/src/shared/mcp/functions/create-mcp-server.function.d.ts +6 -1
  62. package/dist/src/shared/mcp/functions/has-sampling-capability.function.d.ts +8 -0
  63. package/dist/src/shared/mcp/functions/run-auto-capture.function.d.ts +26 -0
  64. package/dist/src/shared/mcp/typings/mcp-client.interface.d.ts +2 -0
  65. package/dist/src/shared/mcp/typings/mcp-integrity-check-result.model.d.ts +24 -0
  66. package/dist/src/shared/mcp/typings/mcp-worker-client.interface.d.ts +3 -1
  67. package/dist/src/shared/version/constants/version.constant.d.ts +1 -1
  68. package/dist/src/shared/wasm-codec/typings/paged-search-result.model.d.ts +2 -0
  69. package/dist/src/shared/worker-client/classes/worker-client.class.d.ts +38 -1
  70. package/dist/src/shared/worker-client/constants/request-timeout.constant.d.ts +2 -0
  71. package/dist/src/shared/worker-client/constants/retry-defaults.constant.d.ts +2 -0
  72. package/dist/src/shared/worker-client/functions/get-or-create-client.function.d.ts +20 -0
  73. package/dist/src/shared/worker-client/functions/retry-on-timeout.function.d.ts +18 -0
  74. package/dist/src/shared/worker-client/index.d.ts +4 -1
  75. package/dist/src/shared/worker-client/typings/import-result.model.d.ts +16 -0
  76. package/dist/src/shared/worker-client/typings/integrity-check-result.model.d.ts +24 -0
  77. package/dist/src/shared/worker-client/typings/search-params.model.d.ts +4 -0
  78. package/dist/src/shared/worker-client/typings/search-result.model.d.ts +6 -0
  79. package/dist/src/shared/worker-client/typings/worker-client-options.interface.d.ts +7 -0
  80. package/dist/src/shared/worker-daemon/classes/worker-daemon.class.d.ts +6 -0
  81. package/dist/src/shared/worker-daemon/functions/create-ipc-server.function.d.ts +11 -11
  82. package/dist/src/shared/worker-daemon/functions/embed-after-learn.function.d.ts +13 -0
  83. package/dist/src/shared/worker-daemon/functions/handle-hybrid-search.function.d.ts +44 -0
  84. package/dist/src/shared/worker-daemon/functions/handle-import.function.d.ts +14 -0
  85. package/dist/src/shared/worker-daemon/functions/handle-read-ops.function.d.ts +7 -1
  86. package/dist/src/shared/worker-daemon/functions/handle-write-ops.function.d.ts +9 -4
  87. package/dist/src/shared/worker-daemon/functions/run-worker.function.d.ts +6 -1
  88. package/dist/src/shared/worker-daemon/typings/handler-context.interface.d.ts +3 -0
  89. package/dist/src/shared/worker-daemon/typings/wasm-modules.interface.d.ts +5 -0
  90. package/dist/wasm/default-embedding/kbdb_default_embedding.d.ts +55 -0
  91. package/dist/wasm/default-embedding/kbdb_default_embedding.js +156 -0
  92. package/{src/wasm/query-parser/kbdb_query_parser_bg.wasm → dist/wasm/default-embedding/kbdb_default_embedding_bg.wasm} +0 -0
  93. package/dist/wasm/default-embedding/kbdb_default_embedding_bg.wasm.d.ts +12 -0
  94. package/dist/wasm/default-embedding/package.json +13 -0
  95. package/dist/wasm/fs-database/kbdb_fs_database.d.ts +16 -85
  96. package/dist/wasm/fs-database/kbdb_fs_database.js +16 -85
  97. package/dist/wasm/fs-database/kbdb_fs_database_bg.wasm +0 -0
  98. package/dist/wasm/fs-migration/kbdb_fs_migration.d.ts +38 -0
  99. package/dist/wasm/fs-migration/kbdb_fs_migration.js +130 -0
  100. package/dist/wasm/fs-migration/kbdb_fs_migration_bg.wasm +0 -0
  101. package/dist/wasm/fs-migration/kbdb_fs_migration_bg.wasm.d.ts +9 -0
  102. package/dist/wasm/fs-migration/package.json +13 -0
  103. package/dist/wasm/kb-worker/kbdb_worker.d.ts +20 -115
  104. package/dist/wasm/kb-worker/kbdb_worker.js +20 -115
  105. package/dist/wasm/kb-worker/kbdb_worker_bg.wasm +0 -0
  106. package/dist/wasm/query-parser/kbdb_query_parser_bg.wasm +0 -0
  107. package/dist/worker.d.ts +8 -0
  108. package/dist/worker.mjs +899 -143
  109. package/dist/worker.mjs.map +4 -4
  110. package/docs/details/README.md +4 -0
  111. package/docs/details/agent-tooling.md +132 -0
  112. package/docs/details/cli.md +91 -18
  113. package/docs/details/knowledge-base.md +180 -0
  114. package/docs/details/library-api.md +42 -2
  115. package/docs/details/mcp-server.md +53 -7
  116. package/docs/details/search-and-ranking.md +16 -11
  117. package/docs/goals/cli.md +142 -37
  118. package/docs/goals/content-parser.md +1 -1
  119. package/docs/goals/hybrid-search.md +71 -42
  120. package/docs/goals/mcp.md +24 -19
  121. package/docs/goals/overview.md +1 -1
  122. package/docs/goals/query-parser.md +8 -0
  123. package/docs/goals/semantic-dedup.md +7 -3
  124. package/docs/goals/worker-client.md +62 -1
  125. package/docs/goals/worker-daemon.md +83 -30
  126. package/docs/modules/overview.md +43 -22
  127. package/docs/modules/rust/embedding/module.md +91 -0
  128. package/docs/modules/rust/overview.md +56 -21
  129. package/docs/modules/rust/query-parser/functions/module.md +7 -5
  130. package/docs/modules/rust/query-parser/functions/pipeline.md +6 -138
  131. package/docs/modules/rust/query-parser/module.md +16 -22
  132. package/docs/modules/rust/query-parser/types/module.md +5 -4
  133. package/docs/modules/rust/query-parser/types/token.md +5 -1
  134. package/docs/modules/rust/shared/content-parser/functions.md +1 -1
  135. package/docs/modules/rust/shared/memory/module.md +1 -1
  136. package/docs/modules/rust/shared/module.md +33 -5
  137. package/docs/modules/rust/shared/pipeline/functions.md +141 -0
  138. package/docs/modules/rust/shared/pipeline/module.md +62 -0
  139. package/docs/modules/rust/shared/pipeline/types.md +43 -0
  140. package/docs/modules/rust/shared/section/module.md +1 -1
  141. package/docs/modules/rust/shared/section/types.md +1 -1
  142. package/docs/modules/typescript/cli.md +5 -3
  143. package/docs/modules/typescript/kbdb-worker.md +20 -5
  144. package/docs/modules/typescript/overview.md +28 -6
  145. package/docs/modules/typescript/shared/cli/functions.md +131 -17
  146. package/docs/modules/typescript/shared/cli/module.md +33 -20
  147. package/docs/modules/typescript/shared/cli/typings.md +25 -0
  148. package/docs/modules/typescript/shared/embedding/functions.md +125 -19
  149. package/docs/modules/typescript/shared/embedding/module.md +10 -4
  150. package/docs/modules/typescript/shared/embedding/typings.md +7 -5
  151. package/docs/modules/typescript/shared/log/constants.md +82 -0
  152. package/docs/modules/typescript/shared/log/functions.md +131 -0
  153. package/docs/modules/typescript/shared/log/module.md +153 -0
  154. package/docs/modules/typescript/shared/log/typings.md +82 -0
  155. package/docs/modules/typescript/shared/mcp/module.md +1 -1
  156. package/docs/modules/typescript/shared/mcp/typings.md +8 -1
  157. package/docs/modules/typescript/shared/module.md +22 -6
  158. package/docs/modules/typescript/shared/worker-client/module.md +9 -1
  159. package/docs/modules/typescript/shared/worker-client/typings.md +3 -0
  160. package/docs/modules/typescript/shared/worker-daemon/functions.md +19 -6
  161. package/docs/modules/typescript/shared/worker-daemon/module.md +11 -5
  162. package/docs/modules/typescript/shared/worker-daemon/typings.md +13 -7
  163. package/docs/overview.md +1 -2
  164. package/docs/release-notes/0.4.0.md +80 -0
  165. package/docs/release-notes/0.4.1.md +149 -0
  166. package/docs/release-notes/README.md +1 -0
  167. package/mod.ts +33 -15
  168. package/package.json +12 -11
  169. package/dist/chunk-JG2UCKLI.mjs +0 -95
  170. package/dist/chunk-JG2UCKLI.mjs.map +0 -7
  171. package/src/cli.ts +0 -71
  172. package/src/shared/auto-capture/classes/auto-capture-controller.class.ts +0 -62
  173. package/src/shared/auto-capture/constants/auto-capture-defaults.constant.ts +0 -15
  174. package/src/shared/auto-capture/functions/build-capture-prompt.function.ts +0 -27
  175. package/src/shared/auto-capture/functions/evaluate-trigger.function.ts +0 -50
  176. package/src/shared/auto-capture/index.ts +0 -7
  177. package/src/shared/auto-capture/typings/auto-capture-config.interface.ts +0 -13
  178. package/src/shared/auto-capture/typings/auto-capture-state.interface.ts +0 -13
  179. package/src/shared/auto-capture/typings/auto-capture-trigger.interface.ts +0 -7
  180. package/src/shared/cli/constants/defaults.constant.ts +0 -19
  181. package/src/shared/cli/constants/global-help.constant.ts +0 -73
  182. package/src/shared/cli/constants/help-text.constant.ts +0 -4
  183. package/src/shared/cli/constants/leaf-help.constant.ts +0 -219
  184. package/src/shared/cli/constants/memory-protocol-body.constant.ts +0 -39
  185. package/src/shared/cli/constants/query-guidance-body.constant.ts +0 -37
  186. package/src/shared/cli/constants/subcommand-help.constant.ts +0 -195
  187. package/src/shared/cli/functions/collect-files.function.ts +0 -55
  188. package/src/shared/cli/functions/compute-section-kbid.function.ts +0 -49
  189. package/src/shared/cli/functions/dispatch-command.function.ts +0 -390
  190. package/src/shared/cli/functions/ensure-db.function.ts +0 -21
  191. package/src/shared/cli/functions/error-to-message.function.ts +0 -9
  192. package/src/shared/cli/functions/find-db.function.ts +0 -20
  193. package/src/shared/cli/functions/format-mcp-output.function.ts +0 -41
  194. package/src/shared/cli/functions/format-output.function.ts +0 -95
  195. package/src/shared/cli/functions/format-text-output.function.ts +0 -42
  196. package/src/shared/cli/functions/generate-group-help.function.ts +0 -41
  197. package/src/shared/cli/functions/generate-help.function.ts +0 -654
  198. package/src/shared/cli/functions/handle-data-command.function.ts +0 -67
  199. package/src/shared/cli/functions/handle-mcp.function.ts +0 -56
  200. package/src/shared/cli/functions/handle-migrate.function.ts +0 -64
  201. package/src/shared/cli/functions/hydrate-search-previews.function.ts +0 -29
  202. package/src/shared/cli/functions/install-default-skills.function.ts +0 -296
  203. package/src/shared/cli/functions/is-stdin-tty.function.ts +0 -12
  204. package/src/shared/cli/functions/parse-args.function.ts +0 -156
  205. package/src/shared/cli/functions/prompt-user.function.ts +0 -36
  206. package/src/shared/cli/functions/resolve-skill-names.function.ts +0 -43
  207. package/src/shared/cli/functions/run-agent-create.function.ts +0 -114
  208. package/src/shared/cli/functions/run-agent-delete.function.ts +0 -47
  209. package/src/shared/cli/functions/run-agent-get.function.ts +0 -166
  210. package/src/shared/cli/functions/run-agent-list.function.ts +0 -58
  211. package/src/shared/cli/functions/run-check.function.ts +0 -159
  212. package/src/shared/cli/functions/run-cli.function.ts +0 -299
  213. package/src/shared/cli/functions/run-content.function.ts +0 -47
  214. package/src/shared/cli/functions/run-db-init.function.ts +0 -44
  215. package/src/shared/cli/functions/run-db-migrate.function.ts +0 -40
  216. package/src/shared/cli/functions/run-export.function.ts +0 -40
  217. package/src/shared/cli/functions/run-gc.function.ts +0 -51
  218. package/src/shared/cli/functions/run-init.function.ts +0 -93
  219. package/src/shared/cli/functions/run-learn.function.ts +0 -223
  220. package/src/shared/cli/functions/run-migrate.function.ts +0 -85
  221. package/src/shared/cli/functions/run-rebuild.function.ts +0 -47
  222. package/src/shared/cli/functions/run-recall.function.ts +0 -66
  223. package/src/shared/cli/functions/run-search.function.ts +0 -133
  224. package/src/shared/cli/functions/run-skill-delete.function.ts +0 -47
  225. package/src/shared/cli/functions/run-skill-get.function.ts +0 -90
  226. package/src/shared/cli/functions/run-skill-learn.function.ts +0 -70
  227. package/src/shared/cli/functions/run-skill-list.function.ts +0 -74
  228. package/src/shared/cli/functions/run-status.function.ts +0 -29
  229. package/src/shared/cli/functions/run-unlearn.function.ts +0 -58
  230. package/src/shared/cli/functions/version-gate.function.ts +0 -44
  231. package/src/shared/cli/functions/wrap-command.function.ts +0 -34
  232. package/src/shared/cli/index.ts +0 -55
  233. package/src/shared/cli/typings/agent-create-client.interface.ts +0 -47
  234. package/src/shared/cli/typings/agent-get-client.interface.ts +0 -39
  235. package/src/shared/cli/typings/check-client.interface.ts +0 -66
  236. package/src/shared/cli/typings/cli-deps.interface.ts +0 -54
  237. package/src/shared/cli/typings/cli-options.interface.ts +0 -72
  238. package/src/shared/cli/typings/command-result.model.ts +0 -15
  239. package/src/shared/cli/typings/disconnectable-client.interface.ts +0 -29
  240. package/src/shared/cli/typings/dispatch-client.type.ts +0 -46
  241. package/src/shared/cli/typings/learn-client.interface.ts +0 -53
  242. package/src/shared/cli/typings/learn-io.interface.ts +0 -5
  243. package/src/shared/cli/typings/learn-result.model.ts +0 -27
  244. package/src/shared/cli/typings/search-client.interface.ts +0 -73
  245. package/src/shared/cli/typings/search-display.model.ts +0 -54
  246. package/src/shared/dir-resolver/functions/join-path.function.ts +0 -13
  247. package/src/shared/dir-resolver/functions/resolve-base-dir.function.ts +0 -25
  248. package/src/shared/dir-resolver/functions/resolve-wasm-dir.function.ts +0 -5
  249. package/src/shared/dir-resolver/functions/resolve-worker-script.function.ts +0 -13
  250. package/src/shared/dir-resolver/index.ts +0 -11
  251. package/src/shared/dir-resolver/typings/base-dir.interface.ts +0 -4
  252. package/src/shared/embedding/classes/null-embedding-provider.class.ts +0 -29
  253. package/src/shared/embedding/constants/near-duplicate-thresholds.constant.ts +0 -17
  254. package/src/shared/embedding/functions/build-vector-index.function.ts +0 -79
  255. package/src/shared/embedding/functions/cosine-similarity.function.ts +0 -31
  256. package/src/shared/embedding/functions/detect-near-duplicates.function.ts +0 -69
  257. package/src/shared/embedding/functions/jaccard-coefficient.function.ts +0 -26
  258. package/src/shared/embedding/functions/read-vector-index-meta.function.ts +0 -44
  259. package/src/shared/embedding/functions/rrf-fuse.function.ts +0 -33
  260. package/src/shared/embedding/functions/search-vectors.function.ts +0 -59
  261. package/src/shared/embedding/index.ts +0 -20
  262. package/src/shared/embedding/typings/embedding-config.interface.ts +0 -23
  263. package/src/shared/embedding/typings/embedding-provider.interface.ts +0 -25
  264. package/src/shared/embedding/typings/near-duplicate-candidate.model.ts +0 -25
  265. package/src/shared/embedding/typings/near-duplicate-result.model.ts +0 -26
  266. package/src/shared/embedding/typings/vector-index-entry.model.ts +0 -13
  267. package/src/shared/embedding/typings/vector-index-meta.model.ts +0 -14
  268. package/src/shared/embedding/typings/vector-search-result.model.ts +0 -8
  269. package/src/shared/hash/functions/compute-sha256.ts +0 -17
  270. package/src/shared/hash/index.ts +0 -1
  271. package/src/shared/mcp/classes/mcp-server.class.ts +0 -480
  272. package/src/shared/mcp/constants/mcp-error-codes.constant.ts +0 -30
  273. package/src/shared/mcp/constants/tool-agent-create.constant.ts +0 -39
  274. package/src/shared/mcp/constants/tool-agent-delete.constant.ts +0 -26
  275. package/src/shared/mcp/constants/tool-agent-get.constant.ts +0 -24
  276. package/src/shared/mcp/constants/tool-agent-list.constant.ts +0 -18
  277. package/src/shared/mcp/constants/tool-auto-capture-review.constant.ts +0 -32
  278. package/src/shared/mcp/constants/tool-check.constant.ts +0 -21
  279. package/src/shared/mcp/constants/tool-content.constant.ts +0 -29
  280. package/src/shared/mcp/constants/tool-export.constant.ts +0 -27
  281. package/src/shared/mcp/constants/tool-gc.constant.ts +0 -21
  282. package/src/shared/mcp/constants/tool-learn.constant.ts +0 -58
  283. package/src/shared/mcp/constants/tool-rebuild.constant.ts +0 -21
  284. package/src/shared/mcp/constants/tool-recall.constant.ts +0 -36
  285. package/src/shared/mcp/constants/tool-retrieve.constant.ts +0 -31
  286. package/src/shared/mcp/constants/tool-search.constant.ts +0 -51
  287. package/src/shared/mcp/constants/tool-skill-delete.constant.ts +0 -24
  288. package/src/shared/mcp/constants/tool-skill-get.constant.ts +0 -27
  289. package/src/shared/mcp/constants/tool-skill-learn.constant.ts +0 -37
  290. package/src/shared/mcp/constants/tool-skill-list.constant.ts +0 -18
  291. package/src/shared/mcp/constants/tool-status.constant.ts +0 -20
  292. package/src/shared/mcp/constants/tool-unlearn.constant.ts +0 -25
  293. package/src/shared/mcp/functions/as-boolean-or-undefined.function.ts +0 -11
  294. package/src/shared/mcp/functions/as-string-array-or-undefined.function.ts +0 -17
  295. package/src/shared/mcp/functions/as-string-array.function.ts +0 -15
  296. package/src/shared/mcp/functions/as-string.function.ts +0 -10
  297. package/src/shared/mcp/functions/build-skills-text.function.ts +0 -43
  298. package/src/shared/mcp/functions/create-mcp-server.function.ts +0 -14
  299. package/src/shared/mcp/functions/create-prompt-definitions.function.ts +0 -102
  300. package/src/shared/mcp/functions/create-resource-templates.function.ts +0 -23
  301. package/src/shared/mcp/functions/create-tool-definitions.function.ts +0 -530
  302. package/src/shared/mcp/functions/extract-skill-arguments.function.ts +0 -27
  303. package/src/shared/mcp/functions/handle-agent-create.function.ts +0 -116
  304. package/src/shared/mcp/functions/handle-agent-delete.function.ts +0 -50
  305. package/src/shared/mcp/functions/handle-agent-get.function.ts +0 -160
  306. package/src/shared/mcp/functions/handle-agent-list.function.ts +0 -50
  307. package/src/shared/mcp/functions/handle-agent-prompt.function.ts +0 -68
  308. package/src/shared/mcp/functions/handle-completion.function.ts +0 -114
  309. package/src/shared/mcp/functions/handle-mcp-request.function.ts +0 -202
  310. package/src/shared/mcp/functions/handle-prompt-get.function.ts +0 -220
  311. package/src/shared/mcp/functions/handle-recall.function.ts +0 -66
  312. package/src/shared/mcp/functions/handle-resource-read.function.ts +0 -56
  313. package/src/shared/mcp/functions/handle-roots-list.function.ts +0 -29
  314. package/src/shared/mcp/functions/handle-skill-prompt.function.ts +0 -44
  315. package/src/shared/mcp/functions/handle-tool-auto-capture-review.function.ts +0 -24
  316. package/src/shared/mcp/functions/handle-tool-call.function.ts +0 -560
  317. package/src/shared/mcp/functions/handle-tool-check.function.ts +0 -21
  318. package/src/shared/mcp/functions/handle-tool-content.function.ts +0 -23
  319. package/src/shared/mcp/functions/handle-tool-export.function.ts +0 -25
  320. package/src/shared/mcp/functions/handle-tool-gc.function.ts +0 -21
  321. package/src/shared/mcp/functions/handle-tool-learn.function.ts +0 -69
  322. package/src/shared/mcp/functions/handle-tool-rebuild.function.ts +0 -21
  323. package/src/shared/mcp/functions/handle-tool-retrieve.function.ts +0 -40
  324. package/src/shared/mcp/functions/handle-tool-search.function.ts +0 -47
  325. package/src/shared/mcp/functions/handle-tool-skill-delete.function.ts +0 -34
  326. package/src/shared/mcp/functions/handle-tool-skill-get.function.ts +0 -59
  327. package/src/shared/mcp/functions/handle-tool-skill-learn.function.ts +0 -61
  328. package/src/shared/mcp/functions/handle-tool-skill-list.function.ts +0 -39
  329. package/src/shared/mcp/functions/handle-tool-status.function.ts +0 -21
  330. package/src/shared/mcp/functions/handle-tool-unlearn.function.ts +0 -24
  331. package/src/shared/mcp/functions/parse-agent-meta.function.ts +0 -27
  332. package/src/shared/mcp/functions/parse-skill-arguments.function.ts +0 -36
  333. package/src/shared/mcp/functions/parse-skill-content.function.ts +0 -38
  334. package/src/shared/mcp/functions/read-agent-meta.function.ts +0 -41
  335. package/src/shared/mcp/functions/resolve-skill-refs.function.ts +0 -50
  336. package/src/shared/mcp/functions/run-startup-health-check.function.ts +0 -34
  337. package/src/shared/mcp/functions/serialize-skill-content.function.ts +0 -12
  338. package/src/shared/mcp/functions/should-emit-log.function.ts +0 -38
  339. package/src/shared/mcp/index.ts +0 -28
  340. package/src/shared/mcp/typings/agent-types.interface.ts +0 -39
  341. package/src/shared/mcp/typings/log-types.interface.ts +0 -26
  342. package/src/shared/mcp/typings/mcp-capabilities.interface.ts +0 -16
  343. package/src/shared/mcp/typings/mcp-client.interface.ts +0 -317
  344. package/src/shared/mcp/typings/mcp-completion.interface.ts +0 -45
  345. package/src/shared/mcp/typings/mcp-content-result.model.ts +0 -9
  346. package/src/shared/mcp/typings/mcp-export-result.model.ts +0 -11
  347. package/src/shared/mcp/typings/mcp-gc-result.model.ts +0 -15
  348. package/src/shared/mcp/typings/mcp-integrity-check-result.model.ts +0 -17
  349. package/src/shared/mcp/typings/mcp-integrity-error.model.ts +0 -15
  350. package/src/shared/mcp/typings/mcp-notification.interface.ts +0 -9
  351. package/src/shared/mcp/typings/mcp-rebuild-result.model.ts +0 -9
  352. package/src/shared/mcp/typings/mcp-request.interface.ts +0 -11
  353. package/src/shared/mcp/typings/mcp-resource-result.interface.ts +0 -12
  354. package/src/shared/mcp/typings/mcp-resource-template.interface.ts +0 -11
  355. package/src/shared/mcp/typings/mcp-response.interface.ts +0 -18
  356. package/src/shared/mcp/typings/mcp-server-info.interface.ts +0 -7
  357. package/src/shared/mcp/typings/mcp-server-state.interface.ts +0 -17
  358. package/src/shared/mcp/typings/mcp-tool-annotations.interface.ts +0 -32
  359. package/src/shared/mcp/typings/mcp-tool-definition.interface.ts +0 -16
  360. package/src/shared/mcp/typings/mcp-tool-result.interface.ts +0 -19
  361. package/src/shared/mcp/typings/mcp-types.interface.ts +0 -158
  362. package/src/shared/mcp/typings/mcp-worker-client.interface.ts +0 -243
  363. package/src/shared/mcp/typings/prompt-types.interface.ts +0 -39
  364. package/src/shared/mcp/typings/remove-section-result.model.ts +0 -10
  365. package/src/shared/mcp/typings/sampling-types.interface.ts +0 -48
  366. package/src/shared/mcp/typings/skill-types.interface.ts +0 -29
  367. package/src/shared/mcp/typings/tool-call-result.model.ts +0 -18
  368. package/src/shared/mod.ts +0 -1
  369. package/src/shared/platform/functions/get-ipc-path.function.ts +0 -19
  370. package/src/shared/platform/functions/get-tmpdir.function.ts +0 -8
  371. package/src/shared/platform/functions/is-process-alive.function.ts +0 -17
  372. package/src/shared/platform/index.ts +0 -3
  373. package/src/shared/runtime/functions/detect-runtime.ts +0 -14
  374. package/src/shared/runtime/functions/get-args.ts +0 -16
  375. package/src/shared/runtime/index.ts +0 -3
  376. package/src/shared/runtime/typings/runtime.ts +0 -2
  377. package/src/shared/sync/functions/build-import-report.function.ts +0 -40
  378. package/src/shared/sync/functions/parse-export-entry.function.ts +0 -45
  379. package/src/shared/sync/functions/resolve-conflict.function.ts +0 -31
  380. package/src/shared/sync/functions/serialize-export-entry.function.ts +0 -18
  381. package/src/shared/sync/index.ts +0 -9
  382. package/src/shared/sync/typings/conflict-resolution.type.ts +0 -8
  383. package/src/shared/sync/typings/export-entry.interface.ts +0 -13
  384. package/src/shared/sync/typings/export-options.interface.ts +0 -9
  385. package/src/shared/sync/typings/import-options.interface.ts +0 -7
  386. package/src/shared/sync/typings/import-report.interface.ts +0 -15
  387. package/src/shared/version/constants/version.constant.ts +0 -2
  388. package/src/shared/version/index.ts +0 -1
  389. package/src/shared/wasm-codec/functions/decode-add-section-result.function.ts +0 -112
  390. package/src/shared/wasm-codec/functions/decode-compose-output.function.ts +0 -16
  391. package/src/shared/wasm-codec/functions/decode-document-manifest-list.function.ts +0 -70
  392. package/src/shared/wasm-codec/functions/decode-document-manifest.function.ts +0 -87
  393. package/src/shared/wasm-codec/functions/decode-f32.function.ts +0 -16
  394. package/src/shared/wasm-codec/functions/decode-key-value-text.function.ts +0 -15
  395. package/src/shared/wasm-codec/functions/decode-one-recall-result.function.ts +0 -86
  396. package/src/shared/wasm-codec/functions/decode-option-string.function.ts +0 -24
  397. package/src/shared/wasm-codec/functions/decode-recall-document.function.ts +0 -59
  398. package/src/shared/wasm-codec/functions/decode-recall-reference.function.ts +0 -52
  399. package/src/shared/wasm-codec/functions/decode-recall-result.function.ts +0 -267
  400. package/src/shared/wasm-codec/functions/decode-recall-sibling.function.ts +0 -43
  401. package/src/shared/wasm-codec/functions/decode-remove-flag.function.ts +0 -3
  402. package/src/shared/wasm-codec/functions/decode-scored-results.function.ts +0 -194
  403. package/src/shared/wasm-codec/functions/decode-section-match.function.ts +0 -80
  404. package/src/shared/wasm-codec/functions/decode-section-record-list.function.ts +0 -20
  405. package/src/shared/wasm-codec/functions/decode-section-record-trailing.function.ts +0 -75
  406. package/src/shared/wasm-codec/functions/decode-section-record.function.ts +0 -85
  407. package/src/shared/wasm-codec/functions/decode-section-records.function.ts +0 -249
  408. package/src/shared/wasm-codec/functions/decode-section-type.function.ts +0 -30
  409. package/src/shared/wasm-codec/functions/decode-string.function.ts +0 -22
  410. package/src/shared/wasm-codec/functions/decode-u32.function.ts +0 -16
  411. package/src/shared/wasm-codec/functions/decode-u64.function.ts +0 -16
  412. package/src/shared/wasm-codec/functions/decode-wasm-list.function.ts +0 -31
  413. package/src/shared/wasm-codec/functions/encode-add-section-params.function.ts +0 -102
  414. package/src/shared/wasm-codec/functions/encode-group-params.function.ts +0 -28
  415. package/src/shared/wasm-codec/functions/encode-identifier-list.function.ts +0 -17
  416. package/src/shared/wasm-codec/functions/encode-kbid-list.function.ts +0 -17
  417. package/src/shared/wasm-codec/functions/encode-option-string.function.ts +0 -14
  418. package/src/shared/wasm-codec/functions/encode-recall-params.function.ts +0 -68
  419. package/src/shared/wasm-codec/functions/encode-search-params.function.ts +0 -12
  420. package/src/shared/wasm-codec/functions/encode-section-type.function.ts +0 -18
  421. package/src/shared/wasm-codec/functions/encode-string.function.ts +0 -9
  422. package/src/shared/wasm-codec/functions/encode-type-filter-param.function.ts +0 -13
  423. package/src/shared/wasm-codec/functions/encode-u32.function.ts +0 -5
  424. package/src/shared/wasm-codec/functions/encode-update-section-params.function.ts +0 -16
  425. package/src/shared/wasm-codec/index.ts +0 -49
  426. package/src/shared/wasm-codec/typings/add-section-input.model.ts +0 -45
  427. package/src/shared/wasm-codec/typings/add-section-result.model.ts +0 -28
  428. package/src/shared/wasm-codec/typings/document-manifest.model.ts +0 -20
  429. package/src/shared/wasm-codec/typings/document-section.model.ts +0 -12
  430. package/src/shared/wasm-codec/typings/item-decoder.type.ts +0 -10
  431. package/src/shared/wasm-codec/typings/near-duplicate.model.ts +0 -16
  432. package/src/shared/wasm-codec/typings/paged-search-result.model.ts +0 -22
  433. package/src/shared/wasm-codec/typings/section-match.model.ts +0 -31
  434. package/src/shared/wasm-codec/typings/section-record-trailing.model.ts +0 -38
  435. package/src/shared/wasm-codec/typings/section-record.model.ts +0 -66
  436. package/src/shared/wasm-codec/typings/section-type-result.model.ts +0 -12
  437. package/src/shared/worker-client/classes/worker-client.class.ts +0 -466
  438. package/src/shared/worker-client/functions/compute-context-id.function.ts +0 -18
  439. package/src/shared/worker-client/functions/create-worker-client.function.ts +0 -70
  440. package/src/shared/worker-client/functions/discover-daemon.function.ts +0 -47
  441. package/src/shared/worker-client/functions/handle-ipc-data.function.ts +0 -49
  442. package/src/shared/worker-client/functions/resolve-db-path.function.ts +0 -21
  443. package/src/shared/worker-client/functions/send-ipc-request.function.ts +0 -39
  444. package/src/shared/worker-client/functions/spawn-daemon.function.ts +0 -35
  445. package/src/shared/worker-client/functions/wait-for-daemon.function.ts +0 -34
  446. package/src/shared/worker-client/index.ts +0 -44
  447. package/src/shared/worker-client/typings/add-section-result.model.ts +0 -39
  448. package/src/shared/worker-client/typings/content-result.model.ts +0 -12
  449. package/src/shared/worker-client/typings/daemon-info.model.ts +0 -7
  450. package/src/shared/worker-client/typings/export-result.model.ts +0 -14
  451. package/src/shared/worker-client/typings/gc-result.model.ts +0 -18
  452. package/src/shared/worker-client/typings/integrity-check-result.model.ts +0 -43
  453. package/src/shared/worker-client/typings/json-rpc-response.interface.ts +0 -17
  454. package/src/shared/worker-client/typings/migrate-result.model.ts +0 -11
  455. package/src/shared/worker-client/typings/pending-call.interface.ts +0 -7
  456. package/src/shared/worker-client/typings/rebuild-result.model.ts +0 -12
  457. package/src/shared/worker-client/typings/recall-document.model.ts +0 -16
  458. package/src/shared/worker-client/typings/recall-params.model.ts +0 -15
  459. package/src/shared/worker-client/typings/recall-reference.model.ts +0 -32
  460. package/src/shared/worker-client/typings/recall-result.model.ts +0 -98
  461. package/src/shared/worker-client/typings/recall-sibling.model.ts +0 -11
  462. package/src/shared/worker-client/typings/recall-single-result.model.ts +0 -41
  463. package/src/shared/worker-client/typings/remove-section-result.model.ts +0 -7
  464. package/src/shared/worker-client/typings/search-params.model.ts +0 -14
  465. package/src/shared/worker-client/typings/search-result.model.ts +0 -43
  466. package/src/shared/worker-client/typings/section.model.ts +0 -43
  467. package/src/shared/worker-client/typings/status-result.model.ts +0 -14
  468. package/src/shared/worker-client/typings/version-status.model.ts +0 -28
  469. package/src/shared/worker-client/typings/worker-client-error.interface.ts +0 -8
  470. package/src/shared/worker-client/typings/worker-client-options.interface.ts +0 -30
  471. package/src/shared/worker-daemon/classes/ipc-error.class.ts +0 -22
  472. package/src/shared/worker-daemon/classes/worker-daemon.class.ts +0 -1291
  473. package/src/shared/worker-daemon/constants/daemon-defaults.constant.ts +0 -29
  474. package/src/shared/worker-daemon/constants/wasm-method-map.constant.ts +0 -69
  475. package/src/shared/worker-daemon/functions/build-ipc-error-response.function.ts +0 -16
  476. package/src/shared/worker-daemon/functions/check-catalog-version.function.ts +0 -54
  477. package/src/shared/worker-daemon/functions/check-preconditions.function.ts +0 -28
  478. package/src/shared/worker-daemon/functions/create-host-imports.function.ts +0 -328
  479. package/src/shared/worker-daemon/functions/create-ipc-server.function.ts +0 -87
  480. package/src/shared/worker-daemon/functions/detect-stale-pid.function.ts +0 -33
  481. package/src/shared/worker-daemon/functions/dispatch-request.function.ts +0 -190
  482. package/src/shared/worker-daemon/functions/handle-check-version.function.ts +0 -74
  483. package/src/shared/worker-daemon/functions/handle-config-method.function.ts +0 -27
  484. package/src/shared/worker-daemon/functions/handle-read-ops.function.ts +0 -236
  485. package/src/shared/worker-daemon/functions/handle-write-ops.function.ts +0 -257
  486. package/src/shared/worker-daemon/functions/load-wasm-modules.function.ts +0 -95
  487. package/src/shared/worker-daemon/functions/parse-auto-capture-section.function.ts +0 -51
  488. package/src/shared/worker-daemon/functions/parse-catalog-version.function.ts +0 -20
  489. package/src/shared/worker-daemon/functions/parse-embedding-section.function.ts +0 -38
  490. package/src/shared/worker-daemon/functions/parse-worker-toml.function.ts +0 -104
  491. package/src/shared/worker-daemon/functions/read-config.function.ts +0 -83
  492. package/src/shared/worker-daemon/functions/run-startup-integrity-check.function.ts +0 -55
  493. package/src/shared/worker-daemon/functions/run-worker.function.ts +0 -57
  494. package/src/shared/worker-daemon/functions/scan-near-duplicates.function.ts +0 -92
  495. package/src/shared/worker-daemon/functions/start-daemon.function.ts +0 -74
  496. package/src/shared/worker-daemon/functions/wasm-bridge.function.ts +0 -144
  497. package/src/shared/worker-daemon/functions/wasm-memory-helpers.function.ts +0 -41
  498. package/src/shared/worker-daemon/functions/write-lock.function.ts +0 -49
  499. package/src/shared/worker-daemon/index.ts +0 -16
  500. package/src/shared/worker-daemon/typings/allocator-ref.interface.ts +0 -16
  501. package/src/shared/worker-daemon/typings/daemon-config.interface.ts +0 -20
  502. package/src/shared/worker-daemon/typings/fs-adapter.interface.ts +0 -22
  503. package/src/shared/worker-daemon/typings/handler-context.interface.ts +0 -19
  504. package/src/shared/worker-daemon/typings/ipc-handler.interface.ts +0 -39
  505. package/src/shared/worker-daemon/typings/memory-ref.interface.ts +0 -13
  506. package/src/shared/worker-daemon/typings/wasm-fn.type.ts +0 -2
  507. package/src/shared/worker-daemon/typings/wasm-modules.interface.ts +0 -7
  508. package/src/shared/worker-daemon/typings/write-lock.interface.ts +0 -13
  509. package/src/wasm/fs-database/kbdb_fs_database.d.ts +0 -259
  510. package/src/wasm/fs-database/kbdb_fs_database.js +0 -515
  511. package/src/wasm/fs-database/kbdb_fs_database_bg.wasm +0 -0
  512. package/src/wasm/fs-database/kbdb_fs_database_bg.wasm.d.ts +0 -35
  513. package/src/wasm/fs-database/package.json +0 -13
  514. package/src/wasm/kb-worker/kbdb_worker.d.ts +0 -650
  515. package/src/wasm/kb-worker/kbdb_worker.js +0 -1181
  516. package/src/wasm/kb-worker/kbdb_worker_bg.wasm +0 -0
  517. package/src/wasm/kb-worker/kbdb_worker_bg.wasm.d.ts +0 -77
  518. package/src/wasm/kb-worker/package.json +0 -13
  519. package/src/wasm/query-parser/kbdb_query_parser.d.ts +0 -195
  520. package/src/wasm/query-parser/kbdb_query_parser.js +0 -403
  521. package/src/wasm/query-parser/kbdb_query_parser_bg.wasm.d.ts +0 -25
  522. package/src/wasm/query-parser/package.json +0 -13
  523. 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
- }