kynjal-cli 4.0.0 → 4.0.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 (502) hide show
  1. package/dist/src/appliance/gguf-engine.d.ts +91 -0
  2. package/dist/src/appliance/gguf-engine.d.ts.map +1 -0
  3. package/dist/src/appliance/gguf-engine.js +286 -525
  4. package/dist/src/appliance/gguf-engine.js.map +1 -1
  5. package/dist/src/appliance/ruvllm-bridge.d.ts +102 -0
  6. package/dist/src/appliance/ruvllm-bridge.d.ts.map +1 -0
  7. package/dist/src/appliance/ruvllm-bridge.js +203 -403
  8. package/dist/src/appliance/ruvllm-bridge.js.map +1 -1
  9. package/dist/src/appliance/rvfa-builder.d.ts +44 -0
  10. package/dist/src/appliance/rvfa-builder.d.ts.map +1 -0
  11. package/dist/src/appliance/rvfa-builder.js +154 -208
  12. package/dist/src/appliance/rvfa-builder.js.map +1 -1
  13. package/dist/src/appliance/rvfa-distribution.d.ts +97 -0
  14. package/dist/src/appliance/rvfa-distribution.d.ts.map +1 -0
  15. package/dist/src/appliance/rvfa-distribution.js +260 -423
  16. package/dist/src/appliance/rvfa-distribution.js.map +1 -1
  17. package/dist/src/appliance/rvfa-format.d.ts +111 -0
  18. package/dist/src/appliance/rvfa-format.d.ts.map +1 -0
  19. package/dist/src/appliance/rvfa-format.js +128 -200
  20. package/dist/src/appliance/rvfa-format.js.map +1 -1
  21. package/dist/src/appliance/rvfa-runner.d.ts +69 -0
  22. package/dist/src/appliance/rvfa-runner.d.ts.map +1 -0
  23. package/dist/src/appliance/rvfa-runner.js +168 -304
  24. package/dist/src/appliance/rvfa-runner.js.map +1 -1
  25. package/dist/src/appliance/rvfa-signing.d.ts +123 -0
  26. package/dist/src/appliance/rvfa-signing.d.ts.map +1 -0
  27. package/dist/src/appliance/rvfa-signing.js +173 -295
  28. package/dist/src/appliance/rvfa-signing.js.map +1 -1
  29. package/dist/src/benchmarks/pretrain/index.d.ts +58 -0
  30. package/dist/src/benchmarks/pretrain/index.d.ts.map +1 -0
  31. package/dist/src/benchmarks/pretrain/index.js +331 -542
  32. package/dist/src/benchmarks/pretrain/index.js.map +1 -1
  33. package/dist/src/commands/agent.js +574 -697
  34. package/dist/src/commands/agent.js.map +1 -1
  35. package/dist/src/commands/analyze.js +1218 -1548
  36. package/dist/src/commands/analyze.js.map +1 -1
  37. package/dist/src/commands/appliance-advanced.js +158 -267
  38. package/dist/src/commands/appliance-advanced.js.map +1 -1
  39. package/dist/src/commands/appliance.js +318 -493
  40. package/dist/src/commands/appliance.js.map +1 -1
  41. package/dist/src/commands/benchmark.js +372 -523
  42. package/dist/src/commands/benchmark.js.map +1 -1
  43. package/dist/src/commands/claims.js +274 -364
  44. package/dist/src/commands/claims.js.map +1 -1
  45. package/dist/src/commands/cleanup.js +113 -157
  46. package/dist/src/commands/cleanup.js.map +1 -1
  47. package/dist/src/commands/completions.js +477 -118
  48. package/dist/src/commands/completions.js.map +1 -1
  49. package/dist/src/commands/config.js +237 -303
  50. package/dist/src/commands/config.js.map +1 -1
  51. package/dist/src/commands/daemon.js +487 -596
  52. package/dist/src/commands/daemon.js.map +1 -1
  53. package/dist/src/commands/deployment.js +194 -275
  54. package/dist/src/commands/deployment.js.map +1 -1
  55. package/dist/src/commands/doctor.js +504 -686
  56. package/dist/src/commands/doctor.js.map +1 -1
  57. package/dist/src/commands/embeddings.js +1293 -1543
  58. package/dist/src/commands/embeddings.js.map +1 -1
  59. package/dist/src/commands/guidance.js +449 -596
  60. package/dist/src/commands/guidance.js.map +1 -1
  61. package/dist/src/commands/hive-mind.js +854 -938
  62. package/dist/src/commands/hive-mind.js.map +1 -1
  63. package/dist/src/commands/hooks.js +3112 -3519
  64. package/dist/src/commands/hooks.js.map +1 -1
  65. package/dist/src/commands/index.d.ts +115 -0
  66. package/dist/src/commands/index.d.ts.map +1 -0
  67. package/dist/src/commands/index.js +126 -308
  68. package/dist/src/commands/index.js.map +1 -1
  69. package/dist/src/commands/init.js +788 -940
  70. package/dist/src/commands/init.js.map +1 -1
  71. package/dist/src/commands/issues.js +383 -558
  72. package/dist/src/commands/issues.js.map +1 -1
  73. package/dist/src/commands/mcp.js +493 -605
  74. package/dist/src/commands/mcp.js.map +1 -1
  75. package/dist/src/commands/memory.js +833 -1026
  76. package/dist/src/commands/memory.js.map +1 -1
  77. package/dist/src/commands/migrate.js +282 -347
  78. package/dist/src/commands/migrate.js.map +1 -1
  79. package/dist/src/commands/neural.js +1289 -1563
  80. package/dist/src/commands/neural.js.map +1 -1
  81. package/dist/src/commands/performance.js +497 -643
  82. package/dist/src/commands/performance.js.map +1 -1
  83. package/dist/src/commands/plugins.js +668 -841
  84. package/dist/src/commands/plugins.js.map +1 -1
  85. package/dist/src/commands/process.js +392 -447
  86. package/dist/src/commands/process.js.map +1 -1
  87. package/dist/src/commands/progress.js +162 -256
  88. package/dist/src/commands/progress.js.map +1 -1
  89. package/dist/src/commands/providers.js +150 -220
  90. package/dist/src/commands/providers.js.map +1 -1
  91. package/dist/src/commands/route.js +520 -665
  92. package/dist/src/commands/route.js.map +1 -1
  93. package/dist/src/commands/ruvector/backup.js +505 -651
  94. package/dist/src/commands/ruvector/backup.js.map +1 -1
  95. package/dist/src/commands/ruvector/benchmark.js +349 -401
  96. package/dist/src/commands/ruvector/benchmark.js.map +1 -1
  97. package/dist/src/commands/ruvector/import.js +224 -266
  98. package/dist/src/commands/ruvector/import.js.map +1 -1
  99. package/dist/src/commands/ruvector/index.js +37 -75
  100. package/dist/src/commands/ruvector/index.js.map +1 -1
  101. package/dist/src/commands/ruvector/init.js +336 -359
  102. package/dist/src/commands/ruvector/init.js.map +1 -1
  103. package/dist/src/commands/ruvector/migrate.js +335 -322
  104. package/dist/src/commands/ruvector/migrate.js.map +1 -1
  105. package/dist/src/commands/ruvector/optimize.js +375 -431
  106. package/dist/src/commands/ruvector/optimize.js.map +1 -1
  107. package/dist/src/commands/ruvector/setup.js +703 -117
  108. package/dist/src/commands/ruvector/setup.js.map +1 -1
  109. package/dist/src/commands/ruvector/status.js +364 -419
  110. package/dist/src/commands/ruvector/status.js.map +1 -1
  111. package/dist/src/commands/security.js +485 -608
  112. package/dist/src/commands/security.js.map +1 -1
  113. package/dist/src/commands/session.js +504 -626
  114. package/dist/src/commands/session.js.map +1 -1
  115. package/dist/src/commands/start.js +267 -364
  116. package/dist/src/commands/start.js.map +1 -1
  117. package/dist/src/commands/status.js +380 -486
  118. package/dist/src/commands/status.js.map +1 -1
  119. package/dist/src/commands/swarm.js +408 -488
  120. package/dist/src/commands/swarm.js.map +1 -1
  121. package/dist/src/commands/task.js +423 -538
  122. package/dist/src/commands/task.js.map +1 -1
  123. package/dist/src/commands/transfer-store.js +322 -412
  124. package/dist/src/commands/transfer-store.js.map +1 -1
  125. package/dist/src/commands/update.js +196 -291
  126. package/dist/src/commands/update.js.map +1 -1
  127. package/dist/src/commands/workflow.js +386 -486
  128. package/dist/src/commands/workflow.js.map +1 -1
  129. package/dist/src/config-adapter.d.ts +15 -0
  130. package/dist/src/config-adapter.d.ts.map +1 -0
  131. package/dist/src/config-adapter.js +38 -39
  132. package/dist/src/config-adapter.js.map +1 -1
  133. package/dist/src/index.d.ts +77 -0
  134. package/dist/src/index.d.ts.map +1 -0
  135. package/dist/src/index.js +309 -411
  136. package/dist/src/index.js.map +1 -1
  137. package/dist/src/infrastructure/in-memory-repositories.d.ts +68 -0
  138. package/dist/src/infrastructure/in-memory-repositories.d.ts.map +1 -0
  139. package/dist/src/infrastructure/in-memory-repositories.js +246 -507
  140. package/dist/src/infrastructure/in-memory-repositories.js.map +1 -1
  141. package/dist/src/init/claudemd-generator.d.ts +25 -0
  142. package/dist/src/init/claudemd-generator.d.ts.map +1 -0
  143. package/dist/src/init/claudemd-generator.js +368 -78
  144. package/dist/src/init/claudemd-generator.js.map +1 -1
  145. package/dist/src/init/executor.d.ts +41 -0
  146. package/dist/src/init/executor.d.ts.map +1 -0
  147. package/dist/src/init/executor.js +1307 -996
  148. package/dist/src/init/executor.js.map +1 -1
  149. package/dist/src/init/helpers-generator.d.ts +60 -0
  150. package/dist/src/init/helpers-generator.d.ts.map +1 -0
  151. package/dist/src/init/helpers-generator.js +657 -12
  152. package/dist/src/init/helpers-generator.js.map +1 -1
  153. package/dist/src/init/index.d.ts +1 -1
  154. package/dist/src/init/index.d.ts.map +1 -1
  155. package/dist/src/init/index.js +1 -1
  156. package/dist/src/init/index.js.map +1 -1
  157. package/dist/src/init/mcp-generator.js +33 -37
  158. package/dist/src/init/mcp-generator.js.map +1 -1
  159. package/dist/src/init/settings-generator.js +76 -77
  160. package/dist/src/init/settings-generator.js.map +1 -1
  161. package/dist/src/init/statusline-generator.js +801 -3
  162. package/dist/src/init/statusline-generator.js.map +1 -1
  163. package/dist/src/init/types.d.ts +1 -1
  164. package/dist/src/init/types.d.ts.map +1 -1
  165. package/dist/src/init/types.js +76 -59
  166. package/dist/src/init/types.js.map +1 -1
  167. package/dist/src/mcp-client.d.ts +92 -0
  168. package/dist/src/mcp-client.d.ts.map +1 -0
  169. package/dist/src/mcp-client.js +81 -125
  170. package/dist/src/mcp-client.js.map +1 -1
  171. package/dist/src/mcp-server.d.ts +161 -0
  172. package/dist/src/mcp-server.d.ts.map +1 -0
  173. package/dist/src/mcp-server.js +470 -757
  174. package/dist/src/mcp-server.js.map +1 -1
  175. package/dist/src/mcp-tools/agent-tools.js +391 -492
  176. package/dist/src/mcp-tools/agent-tools.js.map +1 -1
  177. package/dist/src/mcp-tools/agentdb-tools.js +332 -533
  178. package/dist/src/mcp-tools/agentdb-tools.js.map +1 -1
  179. package/dist/src/mcp-tools/analyze-tools.js +172 -236
  180. package/dist/src/mcp-tools/analyze-tools.js.map +1 -1
  181. package/dist/src/mcp-tools/auto-install.d.ts +83 -0
  182. package/dist/src/mcp-tools/auto-install.d.ts.map +1 -0
  183. package/dist/src/mcp-tools/auto-install.js +80 -142
  184. package/dist/src/mcp-tools/auto-install.js.map +1 -1
  185. package/dist/src/mcp-tools/browser-tools.js +252 -375
  186. package/dist/src/mcp-tools/browser-tools.js.map +1 -1
  187. package/dist/src/mcp-tools/claims-tools.js +473 -565
  188. package/dist/src/mcp-tools/claims-tools.js.map +1 -1
  189. package/dist/src/mcp-tools/config-tools.js +197 -272
  190. package/dist/src/mcp-tools/config-tools.js.map +1 -1
  191. package/dist/src/mcp-tools/coordination-tools.js +500 -572
  192. package/dist/src/mcp-tools/coordination-tools.js.map +1 -1
  193. package/dist/src/mcp-tools/daa-tools.js +286 -364
  194. package/dist/src/mcp-tools/daa-tools.js.map +1 -1
  195. package/dist/src/mcp-tools/embeddings-tools.js +582 -693
  196. package/dist/src/mcp-tools/embeddings-tools.js.map +1 -1
  197. package/dist/src/mcp-tools/github-tools.js +260 -311
  198. package/dist/src/mcp-tools/github-tools.js.map +1 -1
  199. package/dist/src/mcp-tools/hive-mind-tools.js +573 -640
  200. package/dist/src/mcp-tools/hive-mind-tools.js.map +1 -1
  201. package/dist/src/mcp-tools/hooks-tools.js +2215 -2648
  202. package/dist/src/mcp-tools/hooks-tools.js.map +1 -1
  203. package/dist/src/mcp-tools/memory-tools.js +350 -505
  204. package/dist/src/mcp-tools/memory-tools.js.map +1 -1
  205. package/dist/src/mcp-tools/neural-tools.js +315 -412
  206. package/dist/src/mcp-tools/neural-tools.js.map +1 -1
  207. package/dist/src/mcp-tools/performance-tools.js +420 -480
  208. package/dist/src/mcp-tools/performance-tools.js.map +1 -1
  209. package/dist/src/mcp-tools/progress-tools.js +204 -278
  210. package/dist/src/mcp-tools/progress-tools.js.map +1 -1
  211. package/dist/src/mcp-tools/ruvllm-tools.js +163 -279
  212. package/dist/src/mcp-tools/ruvllm-tools.js.map +1 -1
  213. package/dist/src/mcp-tools/security-tools.js +297 -429
  214. package/dist/src/mcp-tools/security-tools.js.map +1 -1
  215. package/dist/src/mcp-tools/session-tools.js +185 -234
  216. package/dist/src/mcp-tools/session-tools.js.map +1 -1
  217. package/dist/src/mcp-tools/swarm-tools.js +207 -260
  218. package/dist/src/mcp-tools/swarm-tools.js.map +1 -1
  219. package/dist/src/mcp-tools/system-tools.js +276 -325
  220. package/dist/src/mcp-tools/system-tools.js.map +1 -1
  221. package/dist/src/mcp-tools/task-tools.js +270 -336
  222. package/dist/src/mcp-tools/task-tools.js.map +1 -1
  223. package/dist/src/mcp-tools/terminal-tools.js +148 -196
  224. package/dist/src/mcp-tools/terminal-tools.js.map +1 -1
  225. package/dist/src/mcp-tools/transfer-tools.js +186 -333
  226. package/dist/src/mcp-tools/transfer-tools.js.map +1 -1
  227. package/dist/src/mcp-tools/types.d.ts +31 -0
  228. package/dist/src/mcp-tools/types.d.ts.map +1 -0
  229. package/dist/src/mcp-tools/wasm-agent-tools.js +133 -280
  230. package/dist/src/mcp-tools/wasm-agent-tools.js.map +1 -1
  231. package/dist/src/mcp-tools/workflow-tools.js +405 -450
  232. package/dist/src/mcp-tools/workflow-tools.js.map +1 -1
  233. package/dist/src/memory/ewc-consolidation.d.ts +295 -0
  234. package/dist/src/memory/ewc-consolidation.d.ts.map +1 -0
  235. package/dist/src/memory/ewc-consolidation.js +190 -303
  236. package/dist/src/memory/ewc-consolidation.js.map +1 -1
  237. package/dist/src/memory/intelligence.d.ts +338 -0
  238. package/dist/src/memory/intelligence.d.ts.map +1 -0
  239. package/dist/src/memory/intelligence.js +569 -794
  240. package/dist/src/memory/intelligence.js.map +1 -1
  241. package/dist/src/memory/memory-bridge.d.ts +407 -0
  242. package/dist/src/memory/memory-bridge.d.ts.map +1 -0
  243. package/dist/src/memory/memory-bridge.js +1170 -1640
  244. package/dist/src/memory/memory-bridge.js.map +1 -1
  245. package/dist/src/memory/memory-initializer.d.ts +412 -0
  246. package/dist/src/memory/memory-initializer.d.ts.map +1 -0
  247. package/dist/src/memory/memory-initializer.js +1836 -1851
  248. package/dist/src/memory/memory-initializer.js.map +1 -1
  249. package/dist/src/memory/sona-optimizer.d.ts +227 -0
  250. package/dist/src/memory/sona-optimizer.d.ts.map +1 -0
  251. package/dist/src/memory/sona-optimizer.js +199 -329
  252. package/dist/src/memory/sona-optimizer.js.map +1 -1
  253. package/dist/src/output.d.ts +2 -2
  254. package/dist/src/output.d.ts.map +1 -1
  255. package/dist/src/output.js +242 -272
  256. package/dist/src/output.js.map +1 -1
  257. package/dist/src/parser.d.ts +51 -0
  258. package/dist/src/parser.d.ts.map +1 -0
  259. package/dist/src/parser.js +140 -187
  260. package/dist/src/parser.js.map +1 -1
  261. package/dist/src/plugins/manager.d.ts +133 -0
  262. package/dist/src/plugins/manager.d.ts.map +1 -0
  263. package/dist/src/plugins/manager.js +285 -521
  264. package/dist/src/plugins/manager.js.map +1 -1
  265. package/dist/src/plugins/store/discovery.d.ts +88 -0
  266. package/dist/src/plugins/store/discovery.d.ts.map +1 -0
  267. package/dist/src/plugins/store/discovery.js +271 -358
  268. package/dist/src/plugins/store/discovery.js.map +1 -1
  269. package/dist/src/plugins/store/index.d.ts +76 -0
  270. package/dist/src/plugins/store/index.d.ts.map +1 -0
  271. package/dist/src/plugins/store/index.js +48 -105
  272. package/dist/src/plugins/store/index.js.map +1 -1
  273. package/dist/src/plugins/store/search.d.ts +46 -0
  274. package/dist/src/plugins/store/search.d.ts.map +1 -0
  275. package/dist/src/plugins/store/search.js +69 -107
  276. package/dist/src/plugins/store/search.js.map +1 -1
  277. package/dist/src/plugins/store/types.d.ts +274 -0
  278. package/dist/src/plugins/store/types.d.ts.map +1 -0
  279. package/dist/src/plugins/tests/demo-plugin-store.js +113 -160
  280. package/dist/src/plugins/tests/demo-plugin-store.js.map +1 -1
  281. package/dist/src/plugins/tests/standalone-test.js +172 -223
  282. package/dist/src/plugins/tests/standalone-test.js.map +1 -1
  283. package/dist/src/plugins/tests/test-plugin-store.js +190 -228
  284. package/dist/src/plugins/tests/test-plugin-store.js.map +1 -1
  285. package/dist/src/production/circuit-breaker.d.ts +101 -0
  286. package/dist/src/production/circuit-breaker.d.ts.map +1 -0
  287. package/dist/src/production/circuit-breaker.js +62 -126
  288. package/dist/src/production/circuit-breaker.js.map +1 -1
  289. package/dist/src/production/error-handler.d.ts +92 -0
  290. package/dist/src/production/error-handler.d.ts.map +1 -0
  291. package/dist/src/production/error-handler.js +86 -156
  292. package/dist/src/production/error-handler.js.map +1 -1
  293. package/dist/src/production/monitoring.d.ts +161 -0
  294. package/dist/src/production/monitoring.d.ts.map +1 -0
  295. package/dist/src/production/monitoring.js +139 -220
  296. package/dist/src/production/monitoring.js.map +1 -1
  297. package/dist/src/production/rate-limiter.d.ts +80 -0
  298. package/dist/src/production/rate-limiter.d.ts.map +1 -0
  299. package/dist/src/production/rate-limiter.js +74 -93
  300. package/dist/src/production/rate-limiter.js.map +1 -1
  301. package/dist/src/production/retry.d.ts +48 -0
  302. package/dist/src/production/retry.d.ts.map +1 -0
  303. package/dist/src/production/retry.js +75 -167
  304. package/dist/src/production/retry.js.map +1 -1
  305. package/dist/src/prompt.d.ts +44 -0
  306. package/dist/src/prompt.d.ts.map +1 -0
  307. package/dist/src/prompt.js +436 -560
  308. package/dist/src/prompt.js.map +1 -1
  309. package/dist/src/runtime/headless.d.ts +60 -0
  310. package/dist/src/runtime/headless.d.ts.map +1 -0
  311. package/dist/src/runtime/headless.js +197 -286
  312. package/dist/src/runtime/headless.js.map +1 -1
  313. package/dist/src/ruvector/agent-wasm.d.ts +182 -0
  314. package/dist/src/ruvector/agent-wasm.d.ts.map +1 -0
  315. package/dist/src/ruvector/agent-wasm.js +156 -351
  316. package/dist/src/ruvector/agent-wasm.js.map +1 -1
  317. package/dist/src/ruvector/ast-analyzer.d.ts +67 -0
  318. package/dist/src/ruvector/ast-analyzer.d.ts.map +1 -0
  319. package/dist/src/ruvector/ast-analyzer.js +145 -232
  320. package/dist/src/ruvector/ast-analyzer.js.map +1 -1
  321. package/dist/src/ruvector/coverage-router.d.ts +160 -0
  322. package/dist/src/ruvector/coverage-router.d.ts.map +1 -0
  323. package/dist/src/ruvector/coverage-router.js +287 -419
  324. package/dist/src/ruvector/coverage-router.js.map +1 -1
  325. package/dist/src/ruvector/coverage-tools.js +56 -101
  326. package/dist/src/ruvector/coverage-tools.js.map +1 -1
  327. package/dist/src/ruvector/diff-classifier.d.ts +175 -0
  328. package/dist/src/ruvector/diff-classifier.d.ts.map +1 -0
  329. package/dist/src/ruvector/diff-classifier.js +324 -451
  330. package/dist/src/ruvector/diff-classifier.js.map +1 -1
  331. package/dist/src/ruvector/enhanced-model-router.d.ts +146 -0
  332. package/dist/src/ruvector/enhanced-model-router.d.ts.map +1 -0
  333. package/dist/src/ruvector/enhanced-model-router.js +260 -336
  334. package/dist/src/ruvector/enhanced-model-router.js.map +1 -1
  335. package/dist/src/ruvector/flash-attention.d.ts +195 -0
  336. package/dist/src/ruvector/flash-attention.d.ts.map +1 -0
  337. package/dist/src/ruvector/flash-attention.js +223 -254
  338. package/dist/src/ruvector/flash-attention.js.map +1 -1
  339. package/dist/src/ruvector/graph-analyzer.d.ts +187 -0
  340. package/dist/src/ruvector/graph-analyzer.d.ts.map +1 -0
  341. package/dist/src/ruvector/graph-analyzer.js +486 -680
  342. package/dist/src/ruvector/graph-analyzer.js.map +1 -1
  343. package/dist/src/ruvector/index.d.ts +40 -0
  344. package/dist/src/ruvector/index.d.ts.map +1 -0
  345. package/dist/src/ruvector/index.js +36 -106
  346. package/dist/src/ruvector/index.js.map +1 -1
  347. package/dist/src/ruvector/lora-adapter.d.ts +218 -0
  348. package/dist/src/ruvector/lora-adapter.d.ts.map +1 -0
  349. package/dist/src/ruvector/lora-adapter.js +155 -248
  350. package/dist/src/ruvector/lora-adapter.js.map +1 -1
  351. package/dist/src/ruvector/model-router.d.ts +220 -0
  352. package/dist/src/ruvector/model-router.d.ts.map +1 -0
  353. package/dist/src/ruvector/model-router.js +175 -248
  354. package/dist/src/ruvector/model-router.js.map +1 -1
  355. package/dist/src/ruvector/moe-router.d.ts +206 -0
  356. package/dist/src/ruvector/moe-router.d.ts.map +1 -0
  357. package/dist/src/ruvector/moe-router.js +228 -286
  358. package/dist/src/ruvector/moe-router.js.map +1 -1
  359. package/dist/src/ruvector/q-learning-router.d.ts +211 -0
  360. package/dist/src/ruvector/q-learning-router.d.ts.map +1 -0
  361. package/dist/src/ruvector/q-learning-router.js +257 -338
  362. package/dist/src/ruvector/q-learning-router.js.map +1 -1
  363. package/dist/src/ruvector/ruvllm-wasm.d.ts +179 -0
  364. package/dist/src/ruvector/ruvllm-wasm.d.ts.map +1 -0
  365. package/dist/src/ruvector/ruvllm-wasm.js +270 -434
  366. package/dist/src/ruvector/ruvllm-wasm.js.map +1 -1
  367. package/dist/src/ruvector/semantic-router.d.ts +77 -0
  368. package/dist/src/ruvector/semantic-router.d.ts.map +1 -0
  369. package/dist/src/ruvector/semantic-router.js +60 -67
  370. package/dist/src/ruvector/semantic-router.js.map +1 -1
  371. package/dist/src/ruvector/vector-db.d.ts +69 -0
  372. package/dist/src/ruvector/vector-db.d.ts.map +1 -0
  373. package/dist/src/ruvector/vector-db.js +119 -205
  374. package/dist/src/ruvector/vector-db.js.map +1 -1
  375. package/dist/src/services/agentic-flow-bridge.d.ts +50 -0
  376. package/dist/src/services/agentic-flow-bridge.d.ts.map +1 -0
  377. package/dist/src/services/agentic-flow-bridge.js +32 -105
  378. package/dist/src/services/agentic-flow-bridge.js.map +1 -1
  379. package/dist/src/services/claim-service.d.ts +204 -0
  380. package/dist/src/services/claim-service.d.ts.map +1 -0
  381. package/dist/src/services/claim-service.js +615 -940
  382. package/dist/src/services/claim-service.js.map +1 -1
  383. package/dist/src/services/container-worker-pool.d.ts +197 -0
  384. package/dist/src/services/container-worker-pool.d.ts.map +1 -0
  385. package/dist/src/services/container-worker-pool.js +398 -666
  386. package/dist/src/services/container-worker-pool.js.map +1 -1
  387. package/dist/src/services/headless-worker-executor.d.ts +304 -0
  388. package/dist/src/services/headless-worker-executor.d.ts.map +1 -0
  389. package/dist/src/services/headless-worker-executor.js +441 -467
  390. package/dist/src/services/headless-worker-executor.js.map +1 -1
  391. package/dist/src/services/index.d.ts +4 -4
  392. package/dist/src/services/index.d.ts.map +1 -1
  393. package/dist/src/services/index.js +4 -4
  394. package/dist/src/services/index.js.map +1 -1
  395. package/dist/src/services/registry-api.d.ts +58 -0
  396. package/dist/src/services/registry-api.d.ts.map +1 -0
  397. package/dist/src/services/registry-api.js +92 -200
  398. package/dist/src/services/registry-api.js.map +1 -1
  399. package/dist/src/services/ruvector-training.d.ts +222 -0
  400. package/dist/src/services/ruvector-training.d.ts.map +1 -0
  401. package/dist/src/services/ruvector-training.js +257 -337
  402. package/dist/src/services/ruvector-training.js.map +1 -1
  403. package/dist/src/services/worker-daemon.d.ts +228 -0
  404. package/dist/src/services/worker-daemon.d.ts.map +1 -0
  405. package/dist/src/services/worker-daemon.js +591 -849
  406. package/dist/src/services/worker-daemon.js.map +1 -1
  407. package/dist/src/services/worker-queue.d.ts +194 -0
  408. package/dist/src/services/worker-queue.d.ts.map +1 -0
  409. package/dist/src/services/worker-queue.js +331 -548
  410. package/dist/src/services/worker-queue.js.map +1 -1
  411. package/dist/src/suggest.d.ts +53 -0
  412. package/dist/src/suggest.d.ts.map +1 -0
  413. package/dist/src/suggest.js +45 -55
  414. package/dist/src/suggest.js.map +1 -1
  415. package/dist/src/transfer/anonymization/index.js +29 -37
  416. package/dist/src/transfer/anonymization/index.js.map +1 -1
  417. package/dist/src/transfer/deploy-seraphine.js +128 -155
  418. package/dist/src/transfer/deploy-seraphine.js.map +1 -1
  419. package/dist/src/transfer/export.d.ts +25 -0
  420. package/dist/src/transfer/export.d.ts.map +1 -0
  421. package/dist/src/transfer/export.js +84 -142
  422. package/dist/src/transfer/export.js.map +1 -1
  423. package/dist/src/transfer/index.d.ts +1 -1
  424. package/dist/src/transfer/index.d.ts.map +1 -1
  425. package/dist/src/transfer/index.js +0 -2
  426. package/dist/src/transfer/index.js.map +1 -1
  427. package/dist/src/transfer/ipfs/client.d.ts +109 -0
  428. package/dist/src/transfer/ipfs/client.d.ts.map +1 -0
  429. package/dist/src/transfer/ipfs/client.js +187 -337
  430. package/dist/src/transfer/ipfs/client.js.map +1 -1
  431. package/dist/src/transfer/ipfs/upload.d.ts +95 -0
  432. package/dist/src/transfer/ipfs/upload.d.ts.map +1 -0
  433. package/dist/src/transfer/ipfs/upload.js +288 -434
  434. package/dist/src/transfer/ipfs/upload.js.map +1 -1
  435. package/dist/src/transfer/models/seraphine.d.ts +72 -0
  436. package/dist/src/transfer/models/seraphine.d.ts.map +1 -0
  437. package/dist/src/transfer/models/seraphine.js +55 -55
  438. package/dist/src/transfer/models/seraphine.js.map +1 -1
  439. package/dist/src/transfer/serialization/cfp.d.ts +49 -0
  440. package/dist/src/transfer/serialization/cfp.d.ts.map +1 -0
  441. package/dist/src/transfer/serialization/cfp.js +30 -31
  442. package/dist/src/transfer/serialization/cfp.js.map +1 -1
  443. package/dist/src/transfer/storage/gcs.d.ts +82 -0
  444. package/dist/src/transfer/storage/gcs.d.ts.map +1 -0
  445. package/dist/src/transfer/storage/gcs.js +165 -232
  446. package/dist/src/transfer/storage/gcs.js.map +1 -1
  447. package/dist/src/transfer/store/discovery.d.ts +84 -0
  448. package/dist/src/transfer/store/discovery.d.ts.map +1 -0
  449. package/dist/src/transfer/store/discovery.js +239 -349
  450. package/dist/src/transfer/store/discovery.js.map +1 -1
  451. package/dist/src/transfer/store/download.d.ts +70 -0
  452. package/dist/src/transfer/store/download.d.ts.map +1 -0
  453. package/dist/src/transfer/store/download.js +243 -365
  454. package/dist/src/transfer/store/download.js.map +1 -1
  455. package/dist/src/transfer/store/index.d.ts +84 -0
  456. package/dist/src/transfer/store/index.d.ts.map +1 -0
  457. package/dist/src/transfer/store/index.js +63 -130
  458. package/dist/src/transfer/store/index.js.map +1 -1
  459. package/dist/src/transfer/store/publish.d.ts +76 -0
  460. package/dist/src/transfer/store/publish.d.ts.map +1 -0
  461. package/dist/src/transfer/store/publish.js +184 -258
  462. package/dist/src/transfer/store/publish.js.map +1 -1
  463. package/dist/src/transfer/store/registry.js +50 -72
  464. package/dist/src/transfer/store/registry.js.map +1 -1
  465. package/dist/src/transfer/store/search.d.ts +54 -0
  466. package/dist/src/transfer/store/search.d.ts.map +1 -0
  467. package/dist/src/transfer/store/search.js +64 -96
  468. package/dist/src/transfer/store/search.js.map +1 -1
  469. package/dist/src/transfer/store/tests/standalone-test.js +174 -231
  470. package/dist/src/transfer/store/tests/standalone-test.js.map +1 -1
  471. package/dist/src/transfer/test-seraphine.js +95 -130
  472. package/dist/src/transfer/test-seraphine.js.map +1 -1
  473. package/dist/src/transfer/tests/test-store.js +194 -239
  474. package/dist/src/transfer/tests/test-store.js.map +1 -1
  475. package/dist/src/transfer/types.d.ts +245 -0
  476. package/dist/src/transfer/types.d.ts.map +1 -0
  477. package/dist/src/types.d.ts +198 -0
  478. package/dist/src/types.d.ts.map +1 -0
  479. package/dist/src/types.js +26 -55
  480. package/dist/src/types.js.map +1 -1
  481. package/dist/src/update/checker.d.ts +34 -0
  482. package/dist/src/update/checker.d.ts.map +1 -0
  483. package/dist/src/update/checker.js +106 -183
  484. package/dist/src/update/checker.js.map +1 -1
  485. package/dist/src/update/executor.d.ts +32 -0
  486. package/dist/src/update/executor.d.ts.map +1 -0
  487. package/dist/src/update/executor.js +135 -198
  488. package/dist/src/update/executor.js.map +1 -1
  489. package/dist/src/update/index.d.ts +33 -0
  490. package/dist/src/update/index.d.ts.map +1 -0
  491. package/dist/src/update/index.js +38 -85
  492. package/dist/src/update/index.js.map +1 -1
  493. package/dist/src/update/rate-limiter.d.ts +20 -0
  494. package/dist/src/update/rate-limiter.d.ts.map +1 -0
  495. package/dist/src/update/rate-limiter.js +19 -31
  496. package/dist/src/update/rate-limiter.js.map +1 -1
  497. package/dist/src/update/validator.d.ts +17 -0
  498. package/dist/src/update/validator.d.ts.map +1 -0
  499. package/dist/src/update/validator.js +38 -64
  500. package/dist/src/update/validator.js.map +1 -1
  501. package/dist/tsconfig.tsbuildinfo +1 -1
  502. package/package.json +1 -1
@@ -2,83 +2,132 @@
2
2
  * V3 CLI RuVector Migrate Command
3
3
  * Database migration management for RuVector
4
4
  */
5
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
6
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
7
- return new (P || (P = Promise))(function (resolve, reject) {
8
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
9
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
10
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
11
- step((generator = generator.apply(thisArg, _arguments || [])).next());
12
- });
13
- };
14
- var __generator = (this && this.__generator) || function (thisArg, body) {
15
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
16
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
17
- function verb(n) { return function (v) { return step([n, v]); }; }
18
- function step(op) {
19
- if (f) throw new TypeError("Generator is already executing.");
20
- while (_) try {
21
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
22
- if (y = 0, t) op = [op[0] & 2, t.value];
23
- switch (op[0]) {
24
- case 0: case 1: t = op; break;
25
- case 4: _.label++; return { value: op[1], done: false };
26
- case 5: _.label++; y = op[1]; op = [0]; continue;
27
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
28
- default:
29
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
30
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
31
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
32
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
33
- if (t[2]) _.ops.pop();
34
- _.trys.pop(); continue;
35
- }
36
- op = body.call(thisArg, _);
37
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
38
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
39
- }
40
- };
41
5
  import { output } from '../../output.js';
42
6
  import { confirm } from '../../prompt.js';
43
7
  /**
44
8
  * Available migrations
45
9
  */
46
- var MIGRATIONS = [
10
+ const MIGRATIONS = [
47
11
  {
48
12
  version: '1.0.0',
49
13
  name: 'Initial RuVector setup',
50
14
  up: '-- Initial setup handled by init command',
51
- down: '-- Drop all tables in schema'
15
+ down: '-- Drop all tables in schema',
52
16
  },
53
17
  {
54
18
  version: '1.1.0',
55
19
  name: 'Add full-text search',
56
- up: "\n CREATE INDEX IF NOT EXISTS idx_embeddings_content_fts\n ON {{schema}}.embeddings\n USING gin (to_tsvector('english', COALESCE(content, '')));\n\n ALTER TABLE {{schema}}.embeddings\n ADD COLUMN IF NOT EXISTS search_vector tsvector\n GENERATED ALWAYS AS (to_tsvector('english', COALESCE(content, ''))) STORED;\n ",
57
- down: "\n DROP INDEX IF EXISTS {{schema}}.idx_embeddings_content_fts;\n ALTER TABLE {{schema}}.embeddings DROP COLUMN IF EXISTS search_vector;\n "
20
+ up: `
21
+ CREATE INDEX IF NOT EXISTS idx_embeddings_content_fts
22
+ ON {{schema}}.embeddings
23
+ USING gin (to_tsvector('english', COALESCE(content, '')));
24
+
25
+ ALTER TABLE {{schema}}.embeddings
26
+ ADD COLUMN IF NOT EXISTS search_vector tsvector
27
+ GENERATED ALWAYS AS (to_tsvector('english', COALESCE(content, ''))) STORED;
28
+ `,
29
+ down: `
30
+ DROP INDEX IF EXISTS {{schema}}.idx_embeddings_content_fts;
31
+ ALTER TABLE {{schema}}.embeddings DROP COLUMN IF EXISTS search_vector;
32
+ `,
58
33
  },
59
34
  {
60
35
  version: '1.2.0',
61
36
  name: 'Add embedding statistics',
62
- up: "\n CREATE TABLE IF NOT EXISTS {{schema}}.embedding_stats (\n id UUID PRIMARY KEY DEFAULT gen_random_uuid(),\n namespace VARCHAR(128) NOT NULL,\n total_vectors INTEGER DEFAULT 0,\n avg_magnitude FLOAT,\n dimension_stats JSONB,\n computed_at TIMESTAMPTZ DEFAULT NOW()\n );\n\n CREATE INDEX IF NOT EXISTS idx_embedding_stats_namespace\n ON {{schema}}.embedding_stats (namespace);\n ",
63
- down: "\n DROP TABLE IF EXISTS {{schema}}.embedding_stats;\n "
37
+ up: `
38
+ CREATE TABLE IF NOT EXISTS {{schema}}.embedding_stats (
39
+ id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
40
+ namespace VARCHAR(128) NOT NULL,
41
+ total_vectors INTEGER DEFAULT 0,
42
+ avg_magnitude FLOAT,
43
+ dimension_stats JSONB,
44
+ computed_at TIMESTAMPTZ DEFAULT NOW()
45
+ );
46
+
47
+ CREATE INDEX IF NOT EXISTS idx_embedding_stats_namespace
48
+ ON {{schema}}.embedding_stats (namespace);
49
+ `,
50
+ down: `
51
+ DROP TABLE IF EXISTS {{schema}}.embedding_stats;
52
+ `,
64
53
  },
65
54
  {
66
55
  version: '1.3.0',
67
56
  name: 'Add query cache',
68
- up: "\n CREATE TABLE IF NOT EXISTS {{schema}}.query_cache (\n id UUID PRIMARY KEY DEFAULT gen_random_uuid(),\n query_hash VARCHAR(64) NOT NULL UNIQUE,\n query_embedding vector(1536),\n result_ids UUID[],\n result_scores FLOAT[],\n hit_count INTEGER DEFAULT 1,\n created_at TIMESTAMPTZ DEFAULT NOW(),\n last_accessed TIMESTAMPTZ DEFAULT NOW()\n );\n\n CREATE INDEX IF NOT EXISTS idx_query_cache_hash\n ON {{schema}}.query_cache (query_hash);\n\n CREATE INDEX IF NOT EXISTS idx_query_cache_last_accessed\n ON {{schema}}.query_cache (last_accessed);\n ",
69
- down: "\n DROP TABLE IF EXISTS {{schema}}.query_cache;\n "
57
+ up: `
58
+ CREATE TABLE IF NOT EXISTS {{schema}}.query_cache (
59
+ id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
60
+ query_hash VARCHAR(64) NOT NULL UNIQUE,
61
+ query_embedding vector(1536),
62
+ result_ids UUID[],
63
+ result_scores FLOAT[],
64
+ hit_count INTEGER DEFAULT 1,
65
+ created_at TIMESTAMPTZ DEFAULT NOW(),
66
+ last_accessed TIMESTAMPTZ DEFAULT NOW()
67
+ );
68
+
69
+ CREATE INDEX IF NOT EXISTS idx_query_cache_hash
70
+ ON {{schema}}.query_cache (query_hash);
71
+
72
+ CREATE INDEX IF NOT EXISTS idx_query_cache_last_accessed
73
+ ON {{schema}}.query_cache (last_accessed);
74
+ `,
75
+ down: `
76
+ DROP TABLE IF EXISTS {{schema}}.query_cache;
77
+ `,
70
78
  },
71
79
  {
72
80
  version: '1.4.0',
73
81
  name: 'Add batch operations support',
74
- up: "\n CREATE TABLE IF NOT EXISTS {{schema}}.batch_jobs (\n id UUID PRIMARY KEY DEFAULT gen_random_uuid(),\n job_type VARCHAR(64) NOT NULL,\n status VARCHAR(32) DEFAULT 'pending',\n total_items INTEGER DEFAULT 0,\n processed_items INTEGER DEFAULT 0,\n error_count INTEGER DEFAULT 0,\n metadata JSONB DEFAULT '{}',\n started_at TIMESTAMPTZ,\n completed_at TIMESTAMPTZ,\n created_at TIMESTAMPTZ DEFAULT NOW()\n );\n\n CREATE INDEX IF NOT EXISTS idx_batch_jobs_status\n ON {{schema}}.batch_jobs (status);\n ",
75
- down: "\n DROP TABLE IF EXISTS {{schema}}.batch_jobs;\n "
82
+ up: `
83
+ CREATE TABLE IF NOT EXISTS {{schema}}.batch_jobs (
84
+ id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
85
+ job_type VARCHAR(64) NOT NULL,
86
+ status VARCHAR(32) DEFAULT 'pending',
87
+ total_items INTEGER DEFAULT 0,
88
+ processed_items INTEGER DEFAULT 0,
89
+ error_count INTEGER DEFAULT 0,
90
+ metadata JSONB DEFAULT '{}',
91
+ started_at TIMESTAMPTZ,
92
+ completed_at TIMESTAMPTZ,
93
+ created_at TIMESTAMPTZ DEFAULT NOW()
94
+ );
95
+
96
+ CREATE INDEX IF NOT EXISTS idx_batch_jobs_status
97
+ ON {{schema}}.batch_jobs (status);
98
+ `,
99
+ down: `
100
+ DROP TABLE IF EXISTS {{schema}}.batch_jobs;
101
+ `,
76
102
  },
77
103
  {
78
104
  version: '1.5.0',
79
105
  name: 'Add neural pattern learning',
80
- up: "\n CREATE TABLE IF NOT EXISTS {{schema}}.neural_patterns (\n id UUID PRIMARY KEY DEFAULT gen_random_uuid(),\n pattern_type VARCHAR(64) NOT NULL,\n input_embedding vector(1536),\n output_embedding vector(1536),\n weight_matrix JSONB,\n activation VARCHAR(32) DEFAULT 'relu',\n accuracy FLOAT,\n training_steps INTEGER DEFAULT 0,\n created_at TIMESTAMPTZ DEFAULT NOW(),\n updated_at TIMESTAMPTZ DEFAULT NOW()\n );\n\n CREATE INDEX IF NOT EXISTS idx_neural_patterns_type\n ON {{schema}}.neural_patterns (pattern_type);\n\n CREATE INDEX IF NOT EXISTS idx_neural_patterns_input_hnsw\n ON {{schema}}.neural_patterns\n USING hnsw (input_embedding vector_cosine_ops)\n WITH (m = 16, ef_construction = 64);\n ",
81
- down: "\n DROP TABLE IF EXISTS {{schema}}.neural_patterns;\n "
106
+ up: `
107
+ CREATE TABLE IF NOT EXISTS {{schema}}.neural_patterns (
108
+ id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
109
+ pattern_type VARCHAR(64) NOT NULL,
110
+ input_embedding vector(1536),
111
+ output_embedding vector(1536),
112
+ weight_matrix JSONB,
113
+ activation VARCHAR(32) DEFAULT 'relu',
114
+ accuracy FLOAT,
115
+ training_steps INTEGER DEFAULT 0,
116
+ created_at TIMESTAMPTZ DEFAULT NOW(),
117
+ updated_at TIMESTAMPTZ DEFAULT NOW()
118
+ );
119
+
120
+ CREATE INDEX IF NOT EXISTS idx_neural_patterns_type
121
+ ON {{schema}}.neural_patterns (pattern_type);
122
+
123
+ CREATE INDEX IF NOT EXISTS idx_neural_patterns_input_hnsw
124
+ ON {{schema}}.neural_patterns
125
+ USING hnsw (input_embedding vector_cosine_ops)
126
+ WITH (m = 16, ef_construction = 64);
127
+ `,
128
+ down: `
129
+ DROP TABLE IF EXISTS {{schema}}.neural_patterns;
130
+ `,
82
131
  },
83
132
  ];
84
133
  /**
@@ -92,16 +141,16 @@ function getConnectionConfig(ctx) {
92
141
  user: ctx.flags.user || process.env.PGUSER || 'postgres',
93
142
  password: ctx.flags.password || process.env.PGPASSWORD || '',
94
143
  ssl: ctx.flags.ssl || process.env.PGSSLMODE === 'require',
95
- schema: ctx.flags.schema || 'claude_flow'
144
+ schema: ctx.flags.schema || 'claude_flow',
96
145
  };
97
146
  }
98
147
  /**
99
148
  * Calculate simple checksum for migration SQL
100
149
  */
101
150
  function calculateChecksum(sql) {
102
- var hash = 0;
103
- for (var i = 0; i < sql.length; i++) {
104
- var char = sql.charCodeAt(i);
151
+ let hash = 0;
152
+ for (let i = 0; i < sql.length; i++) {
153
+ const char = sql.charCodeAt(i);
105
154
  hash = ((hash << 5) - hash) + char;
106
155
  hash = hash & hash;
107
156
  }
@@ -110,7 +159,7 @@ function calculateChecksum(sql) {
110
159
  /**
111
160
  * RuVector migrate command
112
161
  */
113
- export var migrateCommand = {
162
+ export const migrateCommand = {
114
163
  name: 'migrate',
115
164
  description: 'Run database migrations',
116
165
  options: [
@@ -118,74 +167,74 @@ export var migrateCommand = {
118
167
  name: 'up',
119
168
  description: 'Run pending migrations (default)',
120
169
  type: 'boolean',
121
- "default": true
170
+ default: true,
122
171
  },
123
172
  {
124
173
  name: 'down',
125
174
  description: 'Rollback last migration',
126
175
  type: 'boolean',
127
- "default": false
176
+ default: false,
128
177
  },
129
178
  {
130
179
  name: 'to',
131
180
  description: 'Migrate to specific version',
132
- type: 'string'
181
+ type: 'string',
133
182
  },
134
183
  {
135
184
  name: 'dry-run',
136
185
  description: 'Show SQL without executing',
137
186
  type: 'boolean',
138
- "default": false
187
+ default: false,
139
188
  },
140
189
  {
141
190
  name: 'force',
142
191
  description: 'Force migration even if dirty',
143
192
  type: 'boolean',
144
- "default": false
193
+ default: false,
145
194
  },
146
195
  {
147
196
  name: 'host',
148
197
  short: 'h',
149
198
  description: 'PostgreSQL host',
150
199
  type: 'string',
151
- "default": 'localhost'
200
+ default: 'localhost',
152
201
  },
153
202
  {
154
203
  name: 'port',
155
204
  short: 'p',
156
205
  description: 'PostgreSQL port',
157
206
  type: 'number',
158
- "default": 5432
207
+ default: 5432,
159
208
  },
160
209
  {
161
210
  name: 'database',
162
211
  short: 'd',
163
212
  description: 'Database name',
164
- type: 'string'
213
+ type: 'string',
165
214
  },
166
215
  {
167
216
  name: 'user',
168
217
  short: 'u',
169
218
  description: 'Database user',
170
- type: 'string'
219
+ type: 'string',
171
220
  },
172
221
  {
173
222
  name: 'password',
174
223
  description: 'Database password',
175
- type: 'string'
224
+ type: 'string',
176
225
  },
177
226
  {
178
227
  name: 'ssl',
179
228
  description: 'Enable SSL',
180
229
  type: 'boolean',
181
- "default": false
230
+ default: false,
182
231
  },
183
232
  {
184
233
  name: 'schema',
185
234
  short: 's',
186
235
  description: 'Schema name',
187
236
  type: 'string',
188
- "default": 'claude_flow'
237
+ default: 'claude_flow',
189
238
  },
190
239
  ],
191
240
  examples: [
@@ -194,275 +243,239 @@ export var migrateCommand = {
194
243
  { command: 'claude-flow ruvector migrate --to 1.2.0', description: 'Migrate to version 1.2.0' },
195
244
  { command: 'claude-flow ruvector migrate --dry-run', description: 'Preview migration SQL' },
196
245
  ],
197
- action: function (ctx) { return __awaiter(void 0, void 0, Promise, function () {
198
- var config, dryRun, force, targetVersion, rollback, spinner, pg, _a, client, schemaExists, appliedResult, appliedVersions_1, migrationsToRun, direction_1, lastApplied_1, migration, targetIdx, currentVersions_1, currentIdx, _i, migrationsToRun_1, migration, sql, resolvedSql, confirmRun, results, _b, migrationsToRun_2, migration, sql, resolvedSql, checksum, error_1, errorMessage, successful, failed, error_2;
199
- return __generator(this, function (_c) {
200
- switch (_c.label) {
201
- case 0:
202
- config = getConnectionConfig(ctx);
203
- dryRun = ctx.flags['dry-run'];
204
- force = ctx.flags.force;
205
- targetVersion = ctx.flags.to;
206
- rollback = ctx.flags.down;
207
- output.writeln();
208
- output.writeln(output.bold('RuVector Migration'));
209
- output.writeln(output.dim('='.repeat(60)));
210
- output.writeln();
211
- if (!config.database) {
212
- output.printError('Database name is required. Use --database or -d flag, or set PGDATABASE env.');
213
- return [2 /*return*/, { success: false, exitCode: 1 }];
214
- }
215
- if (dryRun) {
216
- output.printInfo('Dry run mode: SQL will be shown but not executed');
217
- output.writeln();
218
- }
219
- spinner = output.createSpinner({ text: 'Connecting to PostgreSQL...', spinner: 'dots' });
220
- spinner.start();
221
- _c.label = 1;
222
- case 1:
223
- _c.trys.push([1, 39, , 40]);
224
- pg = null;
225
- _c.label = 2;
226
- case 2:
227
- _c.trys.push([2, 4, , 5]);
228
- return [4 /*yield*/, import('pg')];
229
- case 3:
230
- pg = _c.sent();
231
- return [3 /*break*/, 5];
232
- case 4:
233
- _a = _c.sent();
234
- spinner.fail('PostgreSQL driver not found');
235
- output.printError('Install pg package: npm install pg');
236
- return [2 /*return*/, { success: false, exitCode: 1 }];
237
- case 5:
238
- client = new pg.Client({
239
- host: config.host,
240
- port: config.port,
241
- database: config.database,
242
- user: config.user,
243
- password: config.password,
244
- ssl: config.ssl ? { rejectUnauthorized: false } : false
245
- });
246
- return [4 /*yield*/, client.connect()];
247
- case 6:
248
- _c.sent();
249
- spinner.succeed('Connected to PostgreSQL');
250
- // Check if schema and migrations table exist
251
- spinner.setText('Checking migration status...');
252
- spinner.start();
253
- return [4 /*yield*/, client.query("\n SELECT schema_name FROM information_schema.schemata WHERE schema_name = $1\n ", [config.schema])];
254
- case 7:
255
- schemaExists = _c.sent();
256
- if (!(schemaExists.rows.length === 0)) return [3 /*break*/, 9];
257
- spinner.fail("Schema \"" + config.schema + "\" not found");
258
- output.printError('Run `claude-flow ruvector init` first');
259
- return [4 /*yield*/, client.end()];
260
- case 8:
261
- _c.sent();
262
- return [2 /*return*/, { success: false, exitCode: 1 }];
263
- case 9: return [4 /*yield*/, client.query("\n SELECT version, name, applied_at, checksum\n FROM " + config.schema + ".migrations\n ORDER BY version ASC\n ")];
264
- case 10:
265
- appliedResult = _c.sent();
266
- appliedVersions_1 = new Set(appliedResult.rows.map(function (r) { return r.version; }));
267
- spinner.succeed("Found " + appliedVersions_1.size + " applied migrations");
268
- migrationsToRun = [];
269
- direction_1 = 'up';
270
- if (!rollback) return [3 /*break*/, 13];
271
- direction_1 = 'down';
272
- lastApplied_1 = appliedResult.rows[appliedResult.rows.length - 1];
273
- if (!!lastApplied_1) return [3 /*break*/, 12];
246
+ action: async (ctx) => {
247
+ const config = getConnectionConfig(ctx);
248
+ const dryRun = ctx.flags['dry-run'];
249
+ const force = ctx.flags.force;
250
+ const targetVersion = ctx.flags.to;
251
+ const rollback = ctx.flags.down;
252
+ output.writeln();
253
+ output.writeln(output.bold('RuVector Migration'));
254
+ output.writeln(output.dim('='.repeat(60)));
255
+ output.writeln();
256
+ if (!config.database) {
257
+ output.printError('Database name is required. Use --database or -d flag, or set PGDATABASE env.');
258
+ return { success: false, exitCode: 1 };
259
+ }
260
+ if (dryRun) {
261
+ output.printInfo('Dry run mode: SQL will be shown but not executed');
262
+ output.writeln();
263
+ }
264
+ const spinner = output.createSpinner({ text: 'Connecting to PostgreSQL...', spinner: 'dots' });
265
+ spinner.start();
266
+ try {
267
+ // Import pg
268
+ let pg = null;
269
+ try {
270
+ pg = await import('pg');
271
+ }
272
+ catch {
273
+ spinner.fail('PostgreSQL driver not found');
274
+ output.printError('Install pg package: npm install pg');
275
+ return { success: false, exitCode: 1 };
276
+ }
277
+ const client = new pg.Client({
278
+ host: config.host,
279
+ port: config.port,
280
+ database: config.database,
281
+ user: config.user,
282
+ password: config.password,
283
+ ssl: config.ssl ? { rejectUnauthorized: false } : false,
284
+ });
285
+ await client.connect();
286
+ spinner.succeed('Connected to PostgreSQL');
287
+ // Check if schema and migrations table exist
288
+ spinner.setText('Checking migration status...');
289
+ spinner.start();
290
+ const schemaExists = await client.query(`
291
+ SELECT schema_name FROM information_schema.schemata WHERE schema_name = $1
292
+ `, [config.schema]);
293
+ if (schemaExists.rows.length === 0) {
294
+ spinner.fail(`Schema "${config.schema}" not found`);
295
+ output.printError('Run `claude-flow ruvector init` first');
296
+ await client.end();
297
+ return { success: false, exitCode: 1 };
298
+ }
299
+ // Get applied migrations
300
+ const appliedResult = await client.query(`
301
+ SELECT version, name, applied_at, checksum
302
+ FROM ${config.schema}.migrations
303
+ ORDER BY version ASC
304
+ `);
305
+ const appliedVersions = new Set(appliedResult.rows.map(r => r.version));
306
+ spinner.succeed(`Found ${appliedVersions.size} applied migrations`);
307
+ // Determine migrations to run
308
+ let migrationsToRun = [];
309
+ let direction = 'up';
310
+ if (rollback) {
311
+ direction = 'down';
312
+ // Get the last applied migration
313
+ const lastApplied = appliedResult.rows[appliedResult.rows.length - 1];
314
+ if (!lastApplied) {
274
315
  output.printWarning('No migrations to rollback');
275
- return [4 /*yield*/, client.end()];
276
- case 11:
277
- _c.sent();
278
- return [2 /*return*/, { success: true }];
279
- case 12:
280
- migration = MIGRATIONS.find(function (m) { return m.version === lastApplied_1.version; });
281
- if (migration) {
282
- migrationsToRun = [migration];
283
- }
284
- return [3 /*break*/, 17];
285
- case 13:
286
- if (!targetVersion) return [3 /*break*/, 16];
287
- targetIdx = MIGRATIONS.findIndex(function (m) { return m.version === targetVersion; });
288
- if (!(targetIdx === -1)) return [3 /*break*/, 15];
289
- output.printError("Version " + targetVersion + " not found");
290
- return [4 /*yield*/, client.end()];
291
- case 14:
292
- _c.sent();
293
- return [2 /*return*/, { success: false, exitCode: 1 }];
294
- case 15:
295
- currentVersions_1 = Array.from(appliedVersions_1);
296
- currentIdx = currentVersions_1.length > 0
297
- ? MIGRATIONS.findIndex(function (m) { return m.version === currentVersions_1[currentVersions_1.length - 1]; })
298
- : -1;
299
- if (targetIdx > currentIdx) {
300
- // Migrate up
301
- migrationsToRun = MIGRATIONS.slice(currentIdx + 1, targetIdx + 1)
302
- .filter(function (m) { return !appliedVersions_1.has(m.version); });
303
- }
304
- else if (targetIdx < currentIdx) {
305
- // Migrate down
306
- direction_1 = 'down';
307
- migrationsToRun = MIGRATIONS.slice(targetIdx + 1, currentIdx + 1)
308
- .filter(function (m) { return appliedVersions_1.has(m.version); })
309
- .reverse();
310
- }
311
- return [3 /*break*/, 17];
312
- case 16:
313
- // Run all pending migrations
314
- migrationsToRun = MIGRATIONS.filter(function (m) { return !appliedVersions_1.has(m.version); });
315
- _c.label = 17;
316
- case 17:
317
- if (!(migrationsToRun.length === 0)) return [3 /*break*/, 19];
318
- output.printSuccess('Database is up to date');
319
- // Show current migration status
320
- output.writeln();
321
- output.writeln(output.highlight('Applied Migrations:'));
322
- output.printTable({
323
- columns: [
324
- { key: 'version', header: 'Version', width: 12 },
325
- { key: 'name', header: 'Name', width: 35 },
326
- { key: 'applied', header: 'Applied At', width: 22 },
327
- ],
328
- data: appliedResult.rows.map(function (r) { return ({
329
- version: r.version,
330
- name: r.name,
331
- applied: new Date(r.applied_at).toISOString().replace('T', ' ').substring(0, 19)
332
- }); })
333
- });
334
- return [4 /*yield*/, client.end()];
335
- case 18:
336
- _c.sent();
337
- return [2 /*return*/, { success: true }];
338
- case 19:
339
- // Show migrations to run
316
+ await client.end();
317
+ return { success: true };
318
+ }
319
+ const migration = MIGRATIONS.find(m => m.version === lastApplied.version);
320
+ if (migration) {
321
+ migrationsToRun = [migration];
322
+ }
323
+ }
324
+ else if (targetVersion) {
325
+ // Migrate to specific version
326
+ const targetIdx = MIGRATIONS.findIndex(m => m.version === targetVersion);
327
+ if (targetIdx === -1) {
328
+ output.printError(`Version ${targetVersion} not found`);
329
+ await client.end();
330
+ return { success: false, exitCode: 1 };
331
+ }
332
+ const currentVersions = Array.from(appliedVersions);
333
+ const currentIdx = currentVersions.length > 0
334
+ ? MIGRATIONS.findIndex(m => m.version === currentVersions[currentVersions.length - 1])
335
+ : -1;
336
+ if (targetIdx > currentIdx) {
337
+ // Migrate up
338
+ migrationsToRun = MIGRATIONS.slice(currentIdx + 1, targetIdx + 1)
339
+ .filter(m => !appliedVersions.has(m.version));
340
+ }
341
+ else if (targetIdx < currentIdx) {
342
+ // Migrate down
343
+ direction = 'down';
344
+ migrationsToRun = MIGRATIONS.slice(targetIdx + 1, currentIdx + 1)
345
+ .filter(m => appliedVersions.has(m.version))
346
+ .reverse();
347
+ }
348
+ }
349
+ else {
350
+ // Run all pending migrations
351
+ migrationsToRun = MIGRATIONS.filter(m => !appliedVersions.has(m.version));
352
+ }
353
+ if (migrationsToRun.length === 0) {
354
+ output.printSuccess('Database is up to date');
355
+ // Show current migration status
356
+ output.writeln();
357
+ output.writeln(output.highlight('Applied Migrations:'));
358
+ output.printTable({
359
+ columns: [
360
+ { key: 'version', header: 'Version', width: 12 },
361
+ { key: 'name', header: 'Name', width: 35 },
362
+ { key: 'applied', header: 'Applied At', width: 22 },
363
+ ],
364
+ data: appliedResult.rows.map(r => ({
365
+ version: r.version,
366
+ name: r.name,
367
+ applied: new Date(r.applied_at).toISOString().replace('T', ' ').substring(0, 19),
368
+ })),
369
+ });
370
+ await client.end();
371
+ return { success: true };
372
+ }
373
+ // Show migrations to run
374
+ output.writeln();
375
+ output.writeln(output.highlight(`Migrations to ${direction === 'up' ? 'apply' : 'rollback'}:`));
376
+ output.printTable({
377
+ columns: [
378
+ { key: 'version', header: 'Version', width: 12 },
379
+ { key: 'name', header: 'Name', width: 40 },
380
+ { key: 'direction', header: 'Direction', width: 10 },
381
+ ],
382
+ data: migrationsToRun.map(m => ({
383
+ version: m.version,
384
+ name: m.name,
385
+ direction: direction === 'up' ? output.success('UP') : output.warning('DOWN'),
386
+ })),
387
+ });
388
+ output.writeln();
389
+ // Dry run: show SQL
390
+ if (dryRun) {
391
+ for (const migration of migrationsToRun) {
392
+ const sql = direction === 'up' ? migration.up : migration.down;
393
+ const resolvedSql = sql.replace(/\{\{schema\}\}/g, config.schema);
394
+ output.writeln(output.bold(`-- Migration ${migration.version}: ${migration.name}`));
395
+ output.writeln(output.dim('-- Direction: ' + direction.toUpperCase()));
340
396
  output.writeln();
341
- output.writeln(output.highlight("Migrations to " + (direction_1 === 'up' ? 'apply' : 'rollback') + ":"));
342
- output.printTable({
343
- columns: [
344
- { key: 'version', header: 'Version', width: 12 },
345
- { key: 'name', header: 'Name', width: 40 },
346
- { key: 'direction', header: 'Direction', width: 10 },
347
- ],
348
- data: migrationsToRun.map(function (m) { return ({
349
- version: m.version,
350
- name: m.name,
351
- direction: direction_1 === 'up' ? output.success('UP') : output.warning('DOWN')
352
- }); })
353
- });
397
+ output.writeln(resolvedSql);
354
398
  output.writeln();
355
- if (!dryRun) return [3 /*break*/, 21];
356
- for (_i = 0, migrationsToRun_1 = migrationsToRun; _i < migrationsToRun_1.length; _i++) {
357
- migration = migrationsToRun_1[_i];
358
- sql = direction_1 === 'up' ? migration.up : migration.down;
359
- resolvedSql = sql.replace(/\{\{schema\}\}/g, config.schema);
360
- output.writeln(output.bold("-- Migration " + migration.version + ": " + migration.name));
361
- output.writeln(output.dim('-- Direction: ' + direction_1.toUpperCase()));
362
- output.writeln();
363
- output.writeln(resolvedSql);
364
- output.writeln();
365
- }
366
- return [4 /*yield*/, client.end()];
367
- case 20:
368
- _c.sent();
369
- return [2 /*return*/, { success: true, data: { dryRun: true, migrations: migrationsToRun.map(function (m) { return m.version; }) } }];
370
- case 21:
371
- if (!(ctx.interactive && !force)) return [3 /*break*/, 24];
372
- return [4 /*yield*/, confirm({
373
- message: "Run " + migrationsToRun.length + " migration(s)?",
374
- "default": true
375
- })];
376
- case 22:
377
- confirmRun = _c.sent();
378
- if (!!confirmRun) return [3 /*break*/, 24];
399
+ }
400
+ await client.end();
401
+ return { success: true, data: { dryRun: true, migrations: migrationsToRun.map(m => m.version) } };
402
+ }
403
+ // Confirm before running
404
+ if (ctx.interactive && !force) {
405
+ const confirmRun = await confirm({
406
+ message: `Run ${migrationsToRun.length} migration(s)?`,
407
+ default: true,
408
+ });
409
+ if (!confirmRun) {
379
410
  output.printInfo('Migration cancelled');
380
- return [4 /*yield*/, client.end()];
381
- case 23:
382
- _c.sent();
383
- return [2 /*return*/, { success: false, exitCode: 0 }];
384
- case 24:
385
- results = [];
386
- _b = 0, migrationsToRun_2 = migrationsToRun;
387
- _c.label = 25;
388
- case 25:
389
- if (!(_b < migrationsToRun_2.length)) return [3 /*break*/, 37];
390
- migration = migrationsToRun_2[_b];
391
- spinner.setText("Running migration " + migration.version + ": " + migration.name + "...");
392
- spinner.start();
393
- _c.label = 26;
394
- case 26:
395
- _c.trys.push([26, 34, , 36]);
396
- sql = direction_1 === 'up' ? migration.up : migration.down;
397
- resolvedSql = sql.replace(/\{\{schema\}\}/g, config.schema);
398
- return [4 /*yield*/, client.query('BEGIN')];
399
- case 27:
400
- _c.sent();
401
- // Execute migration SQL
402
- return [4 /*yield*/, client.query(resolvedSql)];
403
- case 28:
411
+ await client.end();
412
+ return { success: false, exitCode: 0 };
413
+ }
414
+ }
415
+ // Run migrations
416
+ const results = [];
417
+ for (const migration of migrationsToRun) {
418
+ spinner.setText(`Running migration ${migration.version}: ${migration.name}...`);
419
+ spinner.start();
420
+ try {
421
+ const sql = direction === 'up' ? migration.up : migration.down;
422
+ const resolvedSql = sql.replace(/\{\{schema\}\}/g, config.schema);
423
+ await client.query('BEGIN');
404
424
  // Execute migration SQL
405
- _c.sent();
406
- if (!(direction_1 === 'up')) return [3 /*break*/, 30];
407
- checksum = calculateChecksum(resolvedSql);
408
- return [4 /*yield*/, client.query("\n INSERT INTO " + config.schema + ".migrations (version, name, checksum)\n VALUES ($1, $2, $3)\n ON CONFLICT (version) DO UPDATE SET applied_at = NOW()\n ", [migration.version, migration.name, checksum])];
409
- case 29:
410
- _c.sent();
411
- return [3 /*break*/, 32];
412
- case 30: return [4 /*yield*/, client.query("\n DELETE FROM " + config.schema + ".migrations WHERE version = $1\n ", [migration.version])];
413
- case 31:
414
- _c.sent();
415
- _c.label = 32;
416
- case 32: return [4 /*yield*/, client.query('COMMIT')];
417
- case 33:
418
- _c.sent();
419
- spinner.succeed("Migration " + migration.version + " " + (direction_1 === 'up' ? 'applied' : 'rolled back'));
425
+ await client.query(resolvedSql);
426
+ // Update migrations table
427
+ if (direction === 'up') {
428
+ const checksum = calculateChecksum(resolvedSql);
429
+ await client.query(`
430
+ INSERT INTO ${config.schema}.migrations (version, name, checksum)
431
+ VALUES ($1, $2, $3)
432
+ ON CONFLICT (version) DO UPDATE SET applied_at = NOW()
433
+ `, [migration.version, migration.name, checksum]);
434
+ }
435
+ else {
436
+ await client.query(`
437
+ DELETE FROM ${config.schema}.migrations WHERE version = $1
438
+ `, [migration.version]);
439
+ }
440
+ await client.query('COMMIT');
441
+ spinner.succeed(`Migration ${migration.version} ${direction === 'up' ? 'applied' : 'rolled back'}`);
420
442
  results.push({ version: migration.version, success: true });
421
- return [3 /*break*/, 36];
422
- case 34:
423
- error_1 = _c.sent();
424
- return [4 /*yield*/, client.query('ROLLBACK')];
425
- case 35:
426
- _c.sent();
427
- spinner.fail("Migration " + migration.version + " failed");
428
- errorMessage = error_1 instanceof Error ? error_1.message : String(error_1);
443
+ }
444
+ catch (error) {
445
+ await client.query('ROLLBACK');
446
+ spinner.fail(`Migration ${migration.version} failed`);
447
+ const errorMessage = error instanceof Error ? error.message : String(error);
429
448
  output.printError(errorMessage);
430
449
  results.push({ version: migration.version, success: false, error: errorMessage });
431
450
  if (!force) {
432
451
  output.printWarning('Stopping migration due to error. Use --force to continue.');
433
- return [3 /*break*/, 37];
452
+ break;
434
453
  }
435
- return [3 /*break*/, 36];
436
- case 36:
437
- _b++;
438
- return [3 /*break*/, 25];
439
- case 37: return [4 /*yield*/, client.end()];
440
- case 38:
441
- _c.sent();
442
- // Summary
443
- output.writeln();
444
- successful = results.filter(function (r) { return r.success; }).length;
445
- failed = results.filter(function (r) { return !r.success; }).length;
446
- if (failed === 0) {
447
- output.printSuccess("All " + successful + " migration(s) completed successfully");
448
- }
449
- else {
450
- output.printWarning(successful + " succeeded, " + failed + " failed");
451
- }
452
- return [2 /*return*/, {
453
- success: failed === 0,
454
- data: { results: results },
455
- exitCode: failed > 0 ? 1 : 0
456
- }];
457
- case 39:
458
- error_2 = _c.sent();
459
- spinner.fail('Migration failed');
460
- output.printError(error_2 instanceof Error ? error_2.message : String(error_2));
461
- return [2 /*return*/, { success: false, exitCode: 1 }];
462
- case 40: return [2 /*return*/];
454
+ }
455
+ }
456
+ await client.end();
457
+ // Summary
458
+ output.writeln();
459
+ const successful = results.filter(r => r.success).length;
460
+ const failed = results.filter(r => !r.success).length;
461
+ if (failed === 0) {
462
+ output.printSuccess(`All ${successful} migration(s) completed successfully`);
463
463
  }
464
- });
465
- }); }
464
+ else {
465
+ output.printWarning(`${successful} succeeded, ${failed} failed`);
466
+ }
467
+ return {
468
+ success: failed === 0,
469
+ data: { results },
470
+ exitCode: failed > 0 ? 1 : 0,
471
+ };
472
+ }
473
+ catch (error) {
474
+ spinner.fail('Migration failed');
475
+ output.printError(error instanceof Error ? error.message : String(error));
476
+ return { success: false, exitCode: 1 };
477
+ }
478
+ },
466
479
  };
467
480
  export default migrateCommand;
468
481
  //# sourceMappingURL=migrate.js.map