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,85 +2,37 @@
2
2
  * V3 CLI Start Command
3
3
  * System startup for Claude Flow orchestration
4
4
  */
5
- var __assign = (this && this.__assign) || function () {
6
- __assign = Object.assign || function(t) {
7
- for (var s, i = 1, n = arguments.length; i < n; i++) {
8
- s = arguments[i];
9
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
10
- t[p] = s[p];
11
- }
12
- return t;
13
- };
14
- return __assign.apply(this, arguments);
15
- };
16
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
17
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
18
- return new (P || (P = Promise))(function (resolve, reject) {
19
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
20
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
21
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
22
- step((generator = generator.apply(thisArg, _arguments || [])).next());
23
- });
24
- };
25
- var __generator = (this && this.__generator) || function (thisArg, body) {
26
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
27
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
28
- function verb(n) { return function (v) { return step([n, v]); }; }
29
- function step(op) {
30
- if (f) throw new TypeError("Generator is already executing.");
31
- while (_) try {
32
- 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;
33
- if (y = 0, t) op = [op[0] & 2, t.value];
34
- switch (op[0]) {
35
- case 0: case 1: t = op; break;
36
- case 4: _.label++; return { value: op[1], done: false };
37
- case 5: _.label++; y = op[1]; op = [0]; continue;
38
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
39
- default:
40
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
41
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
42
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
43
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
44
- if (t[2]) _.ops.pop();
45
- _.trys.pop(); continue;
46
- }
47
- op = body.call(thisArg, _);
48
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
49
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
50
- }
51
- };
52
5
  import { output } from '../output.js';
53
6
  import { confirm } from '../prompt.js';
54
7
  import { callMCPTool, MCPClientError } from '../mcp-client.js';
55
8
  import * as fs from 'fs';
56
9
  import * as path from 'path';
57
10
  // Default configuration
58
- var DEFAULT_PORT = 3000;
59
- var DEFAULT_TOPOLOGY = 'hierarchical-mesh';
60
- var DEFAULT_MAX_AGENTS = 15;
11
+ const DEFAULT_PORT = 3000;
12
+ const DEFAULT_TOPOLOGY = 'hierarchical-mesh';
13
+ const DEFAULT_MAX_AGENTS = 15;
61
14
  // Check if project is initialized
62
15
  function isInitialized(cwd) {
63
- var configPath = path.join(cwd, '.claude-flow', 'config.yaml');
16
+ const configPath = path.join(cwd, '.claude-flow', 'config.yaml');
64
17
  return fs.existsSync(configPath);
65
18
  }
66
19
  // Simple YAML parser for config (basic implementation)
67
20
  function parseSimpleYaml(content) {
68
- var result = {};
69
- var lines = content.split('\n');
70
- var stack = [
21
+ const result = {};
22
+ const lines = content.split('\n');
23
+ const stack = [
71
24
  { indent: -1, obj: result }
72
25
  ];
73
- for (var _i = 0, lines_1 = lines; _i < lines_1.length; _i++) {
74
- var line = lines_1[_i];
26
+ for (const line of lines) {
75
27
  // Skip comments and empty lines
76
28
  if (line.trim().startsWith('#') || line.trim() === '')
77
29
  continue;
78
- var match = line.match(/^(\s*)(\w+):\s*(.*)$/);
30
+ const match = line.match(/^(\s*)(\w+):\s*(.*)$/);
79
31
  if (!match)
80
32
  continue;
81
- var indent = match[1].length;
82
- var key = match[2];
83
- var value = match[3].trim();
33
+ const indent = match[1].length;
34
+ const key = match[2];
35
+ let value = match[3].trim();
84
36
  // Parse value
85
37
  if (value === '' || value === undefined) {
86
38
  value = {};
@@ -104,10 +56,10 @@ function parseSimpleYaml(content) {
104
56
  while (stack.length > 1 && stack[stack.length - 1].indent >= indent) {
105
57
  stack.pop();
106
58
  }
107
- var parent = stack[stack.length - 1].obj;
59
+ const parent = stack[stack.length - 1].obj;
108
60
  if (typeof value === 'object' && value !== null) {
109
61
  parent[key] = value;
110
- stack.push({ indent: indent, obj: value, key: key });
62
+ stack.push({ indent, obj: value, key });
111
63
  }
112
64
  else {
113
65
  parent[key] = value;
@@ -117,179 +69,166 @@ function parseSimpleYaml(content) {
117
69
  }
118
70
  // Load configuration
119
71
  function loadConfig(cwd) {
120
- var configPath = path.join(cwd, '.claude-flow', 'config.yaml');
72
+ const configPath = path.join(cwd, '.claude-flow', 'config.yaml');
121
73
  if (!fs.existsSync(configPath))
122
74
  return null;
123
75
  try {
124
- var content = fs.readFileSync(configPath, 'utf-8');
76
+ const content = fs.readFileSync(configPath, 'utf-8');
125
77
  return parseSimpleYaml(content);
126
78
  }
127
- catch (_a) {
79
+ catch {
128
80
  return null;
129
81
  }
130
82
  }
131
83
  // Main start action
132
- var startAction = function (ctx) { return __awaiter(void 0, void 0, Promise, function () {
133
- var daemon, port, topology, skipMcp, cwd, config, swarmConfig, mcpConfig, finalTopology, maxAgents, autoStartMcp, mcpPort, spinner, swarmResult, mcpResult, error_1, healthResult, daemonPidPath_1, keepAlive_1, result, error_2;
134
- var _a, _b, _c, _d, _e, _f;
135
- return __generator(this, function (_g) {
136
- switch (_g.label) {
137
- case 0:
138
- daemon = ctx.flags.daemon;
139
- port = ctx.flags.port || DEFAULT_PORT;
140
- topology = ctx.flags.topology || DEFAULT_TOPOLOGY;
141
- skipMcp = ctx.flags['skip-mcp'];
142
- cwd = ctx.cwd;
143
- // Check initialization
144
- if (!isInitialized(cwd)) {
145
- output.printError('RuFlo is not initialized in this directory');
146
- output.printInfo('Run "ruflo init" first to initialize');
147
- return [2 /*return*/, { success: false, exitCode: 1 }];
148
- }
149
- config = loadConfig(cwd);
150
- swarmConfig = (config === null || config === void 0 ? void 0 : config.swarm) || {};
151
- mcpConfig = (config === null || config === void 0 ? void 0 : config.mcp) || {};
152
- finalTopology = topology || swarmConfig.topology || DEFAULT_TOPOLOGY;
153
- maxAgents = swarmConfig.maxAgents || DEFAULT_MAX_AGENTS;
154
- autoStartMcp = mcpConfig.autoStart !== false && !skipMcp;
155
- mcpPort = port || mcpConfig.serverPort || DEFAULT_PORT;
156
- output.writeln();
157
- output.writeln(output.bold('Starting RuFlo V3'));
158
- output.writeln();
159
- spinner = output.createSpinner({ text: 'Initializing system...' });
160
- _g.label = 1;
161
- case 1:
162
- _g.trys.push([1, 8, , 9]);
163
- // Step 1: Initialize swarm
164
- spinner.start();
165
- spinner.setText('Initializing V3 swarm...');
166
- return [4 /*yield*/, callMCPTool('swarm_init', {
167
- topology: finalTopology,
168
- maxAgents: maxAgents,
169
- autoScaling: swarmConfig.autoScale !== false,
170
- v3Mode: true
171
- })];
172
- case 2:
173
- swarmResult = _g.sent();
174
- spinner.succeed("Swarm initialized (" + finalTopology + ")");
175
- mcpResult = null;
176
- if (!autoStartMcp) return [3 /*break*/, 6];
177
- spinner.setText('Starting MCP server...');
178
- spinner.start();
179
- _g.label = 3;
180
- case 3:
181
- _g.trys.push([3, 5, , 6]);
182
- return [4 /*yield*/, callMCPTool('mcp_start', {
183
- port: mcpPort,
184
- transport: mcpConfig.transportType || 'stdio',
185
- tools: mcpConfig.tools || ['agent', 'swarm', 'memory', 'task']
186
- })];
187
- case 4:
188
- mcpResult = _g.sent();
189
- spinner.succeed("MCP server started on port " + mcpPort);
190
- return [3 /*break*/, 6];
191
- case 5:
192
- error_1 = _g.sent();
84
+ const startAction = async (ctx) => {
85
+ const daemon = ctx.flags.daemon;
86
+ const port = ctx.flags.port || DEFAULT_PORT;
87
+ const topology = ctx.flags.topology || DEFAULT_TOPOLOGY;
88
+ const skipMcp = ctx.flags['skip-mcp'];
89
+ const cwd = ctx.cwd;
90
+ // Check initialization
91
+ if (!isInitialized(cwd)) {
92
+ output.printError('RuFlo is not initialized in this directory');
93
+ output.printInfo('Run "ruflo init" first to initialize');
94
+ return { success: false, exitCode: 1 };
95
+ }
96
+ // Load configuration
97
+ const config = loadConfig(cwd);
98
+ const swarmConfig = config?.swarm || {};
99
+ const mcpConfig = config?.mcp || {};
100
+ const finalTopology = topology || swarmConfig.topology || DEFAULT_TOPOLOGY;
101
+ const maxAgents = swarmConfig.maxAgents || DEFAULT_MAX_AGENTS;
102
+ const autoStartMcp = mcpConfig.autoStart !== false && !skipMcp;
103
+ const mcpPort = port || mcpConfig.serverPort || DEFAULT_PORT;
104
+ output.writeln();
105
+ output.writeln(output.bold('Starting RuFlo V3'));
106
+ output.writeln();
107
+ const spinner = output.createSpinner({ text: 'Initializing system...' });
108
+ try {
109
+ // Step 1: Initialize swarm
110
+ spinner.start();
111
+ spinner.setText('Initializing V3 swarm...');
112
+ const swarmResult = await callMCPTool('swarm_init', {
113
+ topology: finalTopology,
114
+ maxAgents,
115
+ autoScaling: swarmConfig.autoScale !== false,
116
+ v3Mode: true
117
+ });
118
+ spinner.succeed(`Swarm initialized (${finalTopology})`);
119
+ // Step 2: Start MCP server if configured
120
+ let mcpResult = null;
121
+ if (autoStartMcp) {
122
+ spinner.setText('Starting MCP server...');
123
+ spinner.start();
124
+ try {
125
+ mcpResult = await callMCPTool('mcp_start', {
126
+ port: mcpPort,
127
+ transport: mcpConfig.transportType || 'stdio',
128
+ tools: mcpConfig.tools || ['agent', 'swarm', 'memory', 'task']
129
+ });
130
+ spinner.succeed(`MCP server started on port ${mcpPort}`);
131
+ }
132
+ catch (error) {
193
133
  spinner.fail('MCP server failed to start');
194
- output.printWarning(error_1 instanceof MCPClientError
195
- ? error_1.message
196
- : String(error_1));
197
- return [3 /*break*/, 6];
198
- case 6:
199
- // Step 3: Run health check
200
- spinner.setText('Running health checks...');
201
- spinner.start();
202
- return [4 /*yield*/, callMCPTool('swarm_health', {
203
- swarmId: swarmResult.swarmId
204
- })];
205
- case 7:
206
- healthResult = _g.sent();
207
- if (healthResult.status === 'healthy') {
208
- spinner.succeed('Health checks passed');
209
- }
210
- else {
211
- spinner.fail("Health check: " + healthResult.status);
212
- }
213
- // Success output
214
- output.writeln();
215
- output.printSuccess('RuFlo V3 is running!');
216
- output.writeln();
217
- // Status display
218
- output.printBox([
219
- "Swarm ID: " + swarmResult.swarmId,
220
- "Topology: " + finalTopology,
221
- "Max Agents: " + maxAgents,
222
- "MCP Server: " + (autoStartMcp ? "localhost:" + mcpPort : 'disabled'),
223
- "Mode: " + (daemon ? 'Daemon' : 'Foreground'),
224
- "Health: " + healthResult.status
225
- ].join('\n'), 'System Status');
226
- output.writeln();
227
- output.writeln(output.bold('Quick Commands:'));
228
- output.printList([
229
- output.highlight('claude-flow status') + " - View system status",
230
- output.highlight('claude-flow agent spawn -t coder') + " - Spawn an agent",
231
- output.highlight('claude-flow swarm status') + " - View swarm details",
232
- output.highlight('claude-flow stop') + " - Stop the system"
233
- ]);
234
- // Daemon mode
235
- if (daemon) {
236
- output.writeln();
237
- output.printInfo('Running in daemon mode. Use "claude-flow stop" to stop.');
238
- daemonPidPath_1 = path.join(cwd, '.claude-flow', 'daemon.pid');
239
- fs.writeFileSync(daemonPidPath_1, String(process.pid));
240
- // Detach from parent process for true daemon behavior
241
- if (process.platform !== 'win32') {
242
- // Unix-like systems: create new session
243
- try {
244
- (_b = (_a = process.stdin).unref) === null || _b === void 0 ? void 0 : _b.call(_a);
245
- (_d = (_c = process.stdout).unref) === null || _d === void 0 ? void 0 : _d.call(_c);
246
- (_f = (_e = process.stderr).unref) === null || _f === void 0 ? void 0 : _f.call(_e);
247
- }
248
- catch (_h) {
249
- // Ignore errors if streams can't be unref'd
250
- }
251
- }
252
- keepAlive_1 = setInterval(function () {
253
- // Heartbeat - check if we should still be running
254
- if (!fs.existsSync(daemonPidPath_1)) {
255
- clearInterval(keepAlive_1);
256
- process.exit(0);
257
- }
258
- }, 5000);
259
- keepAlive_1.unref(); // Don't prevent process from exiting if no other work
260
- }
261
- result = {
262
- swarmId: swarmResult.swarmId,
263
- topology: finalTopology,
264
- maxAgents: maxAgents,
265
- mcp: mcpResult ? {
266
- port: mcpPort,
267
- transport: mcpConfig.transportType || 'stdio'
268
- } : null,
269
- health: healthResult.status,
270
- daemon: daemon,
271
- startedAt: new Date().toISOString()
272
- };
273
- if (ctx.flags.format === 'json') {
274
- output.printJson(result);
134
+ output.printWarning(error instanceof MCPClientError
135
+ ? error.message
136
+ : String(error));
137
+ // Continue without MCP
138
+ }
139
+ }
140
+ // Step 3: Run health check
141
+ spinner.setText('Running health checks...');
142
+ spinner.start();
143
+ const healthResult = await callMCPTool('swarm_health', {
144
+ swarmId: swarmResult.swarmId
145
+ });
146
+ if (healthResult.status === 'healthy') {
147
+ spinner.succeed('Health checks passed');
148
+ }
149
+ else {
150
+ spinner.fail(`Health check: ${healthResult.status}`);
151
+ }
152
+ // Success output
153
+ output.writeln();
154
+ output.printSuccess('RuFlo V3 is running!');
155
+ output.writeln();
156
+ // Status display
157
+ output.printBox([
158
+ `Swarm ID: ${swarmResult.swarmId}`,
159
+ `Topology: ${finalTopology}`,
160
+ `Max Agents: ${maxAgents}`,
161
+ `MCP Server: ${autoStartMcp ? `localhost:${mcpPort}` : 'disabled'}`,
162
+ `Mode: ${daemon ? 'Daemon' : 'Foreground'}`,
163
+ `Health: ${healthResult.status}`
164
+ ].join('\n'), 'System Status');
165
+ output.writeln();
166
+ output.writeln(output.bold('Quick Commands:'));
167
+ output.printList([
168
+ `${output.highlight('claude-flow status')} - View system status`,
169
+ `${output.highlight('claude-flow agent spawn -t coder')} - Spawn an agent`,
170
+ `${output.highlight('claude-flow swarm status')} - View swarm details`,
171
+ `${output.highlight('claude-flow stop')} - Stop the system`
172
+ ]);
173
+ // Daemon mode
174
+ if (daemon) {
175
+ output.writeln();
176
+ output.printInfo('Running in daemon mode. Use "claude-flow stop" to stop.');
177
+ // Store PID for daemon management
178
+ const daemonPidPath = path.join(cwd, '.claude-flow', 'daemon.pid');
179
+ fs.writeFileSync(daemonPidPath, String(process.pid));
180
+ // Detach from parent process for true daemon behavior
181
+ if (process.platform !== 'win32') {
182
+ // Unix-like systems: create new session
183
+ try {
184
+ process.stdin.unref?.();
185
+ process.stdout.unref?.();
186
+ process.stderr.unref?.();
275
187
  }
276
- return [2 /*return*/, { success: true, data: result }];
277
- case 8:
278
- error_2 = _g.sent();
279
- spinner.fail('Startup failed');
280
- if (error_2 instanceof MCPClientError) {
281
- output.printError("Failed to start: " + error_2.message);
188
+ catch {
189
+ // Ignore errors if streams can't be unref'd
282
190
  }
283
- else {
284
- output.printError("Unexpected error: " + String(error_2));
191
+ }
192
+ // Keep process alive in daemon mode
193
+ const keepAlive = setInterval(() => {
194
+ // Heartbeat - check if we should still be running
195
+ if (!fs.existsSync(daemonPidPath)) {
196
+ clearInterval(keepAlive);
197
+ process.exit(0);
285
198
  }
286
- return [2 /*return*/, { success: false, exitCode: 1 }];
287
- case 9: return [2 /*return*/];
199
+ }, 5000);
200
+ keepAlive.unref(); // Don't prevent process from exiting if no other work
201
+ }
202
+ const result = {
203
+ swarmId: swarmResult.swarmId,
204
+ topology: finalTopology,
205
+ maxAgents,
206
+ mcp: mcpResult ? {
207
+ port: mcpPort,
208
+ transport: mcpConfig.transportType || 'stdio'
209
+ } : null,
210
+ health: healthResult.status,
211
+ daemon,
212
+ startedAt: new Date().toISOString()
213
+ };
214
+ if (ctx.flags.format === 'json') {
215
+ output.printJson(result);
288
216
  }
289
- });
290
- }); };
217
+ return { success: true, data: result };
218
+ }
219
+ catch (error) {
220
+ spinner.fail('Startup failed');
221
+ if (error instanceof MCPClientError) {
222
+ output.printError(`Failed to start: ${error.message}`);
223
+ }
224
+ else {
225
+ output.printError(`Unexpected error: ${String(error)}`);
226
+ }
227
+ return { success: false, exitCode: 1 };
228
+ }
229
+ };
291
230
  // Stop subcommand
292
- var stopCommand = {
231
+ const stopCommand = {
293
232
  name: 'stop',
294
233
  description: 'Stop the RuFlo system',
295
234
  options: [
@@ -298,100 +237,78 @@ var stopCommand = {
298
237
  short: 'f',
299
238
  description: 'Force stop without graceful shutdown',
300
239
  type: 'boolean',
301
- "default": false
240
+ default: false
302
241
  },
303
242
  {
304
243
  name: 'timeout',
305
244
  description: 'Shutdown timeout in seconds',
306
245
  type: 'number',
307
- "default": 30
246
+ default: 30
308
247
  }
309
248
  ],
310
- action: function (ctx) { return __awaiter(void 0, void 0, Promise, function () {
311
- var force, timeout, confirmed, spinner, _a, _b, daemonPidPath, error_3;
312
- return __generator(this, function (_c) {
313
- switch (_c.label) {
314
- case 0:
315
- force = ctx.flags.force;
316
- timeout = ctx.flags.timeout;
317
- output.writeln();
318
- output.writeln(output.bold('Stopping RuFlo'));
319
- output.writeln();
320
- if (!(!force && ctx.interactive)) return [3 /*break*/, 2];
321
- return [4 /*yield*/, confirm({
322
- message: 'Are you sure you want to stop RuFlo?',
323
- "default": false
324
- })];
325
- case 1:
326
- confirmed = _c.sent();
327
- if (!confirmed) {
328
- output.printInfo('Operation cancelled');
329
- return [2 /*return*/, { success: true }];
330
- }
331
- _c.label = 2;
332
- case 2:
333
- spinner = output.createSpinner({ text: 'Stopping system...' });
334
- spinner.start();
335
- _c.label = 3;
336
- case 3:
337
- _c.trys.push([3, 12, , 13]);
338
- // Stop MCP server
339
- spinner.setText('Stopping MCP server...');
340
- _c.label = 4;
341
- case 4:
342
- _c.trys.push([4, 6, , 7]);
343
- return [4 /*yield*/, callMCPTool('mcp_stop', { graceful: !force, timeout: timeout })];
344
- case 5:
345
- _c.sent();
346
- spinner.succeed('MCP server stopped');
347
- return [3 /*break*/, 7];
348
- case 6:
349
- _a = _c.sent();
350
- spinner.fail('MCP server was not running');
351
- return [3 /*break*/, 7];
352
- case 7:
353
- // Stop swarm
354
- spinner.setText('Stopping swarm...');
355
- spinner.start();
356
- _c.label = 8;
357
- case 8:
358
- _c.trys.push([8, 10, , 11]);
359
- return [4 /*yield*/, callMCPTool('swarm_stop', {
360
- graceful: !force,
361
- timeout: timeout,
362
- saveState: true
363
- })];
364
- case 9:
365
- _c.sent();
366
- spinner.succeed('Swarm stopped');
367
- return [3 /*break*/, 11];
368
- case 10:
369
- _b = _c.sent();
370
- spinner.fail('Swarm was not running');
371
- return [3 /*break*/, 11];
372
- case 11:
373
- daemonPidPath = path.join(ctx.cwd, '.claude-flow', 'daemon.pid');
374
- if (fs.existsSync(daemonPidPath)) {
375
- fs.unlinkSync(daemonPidPath);
376
- }
377
- output.writeln();
378
- output.printSuccess('RuFlo stopped successfully');
379
- return [2 /*return*/, {
380
- success: true,
381
- data: { stopped: true, force: force, stoppedAt: new Date().toISOString() }
382
- }];
383
- case 12:
384
- error_3 = _c.sent();
385
- spinner.fail('Stop failed');
386
- output.printError("Failed to stop: " + (error_3 instanceof Error ? error_3.message : String(error_3)));
387
- return [2 /*return*/, { success: false, exitCode: 1 }];
388
- case 13: return [2 /*return*/];
249
+ action: async (ctx) => {
250
+ const force = ctx.flags.force;
251
+ const timeout = ctx.flags.timeout;
252
+ output.writeln();
253
+ output.writeln(output.bold('Stopping RuFlo'));
254
+ output.writeln();
255
+ if (!force && ctx.interactive) {
256
+ const confirmed = await confirm({
257
+ message: 'Are you sure you want to stop RuFlo?',
258
+ default: false
259
+ });
260
+ if (!confirmed) {
261
+ output.printInfo('Operation cancelled');
262
+ return { success: true };
389
263
  }
390
- });
391
- }); }
264
+ }
265
+ const spinner = output.createSpinner({ text: 'Stopping system...' });
266
+ spinner.start();
267
+ try {
268
+ // Stop MCP server
269
+ spinner.setText('Stopping MCP server...');
270
+ try {
271
+ await callMCPTool('mcp_stop', { graceful: !force, timeout });
272
+ spinner.succeed('MCP server stopped');
273
+ }
274
+ catch {
275
+ spinner.fail('MCP server was not running');
276
+ }
277
+ // Stop swarm
278
+ spinner.setText('Stopping swarm...');
279
+ spinner.start();
280
+ try {
281
+ await callMCPTool('swarm_stop', {
282
+ graceful: !force,
283
+ timeout,
284
+ saveState: true
285
+ });
286
+ spinner.succeed('Swarm stopped');
287
+ }
288
+ catch {
289
+ spinner.fail('Swarm was not running');
290
+ }
291
+ // Clean up daemon PID
292
+ const daemonPidPath = path.join(ctx.cwd, '.claude-flow', 'daemon.pid');
293
+ if (fs.existsSync(daemonPidPath)) {
294
+ fs.unlinkSync(daemonPidPath);
295
+ }
296
+ output.writeln();
297
+ output.printSuccess('RuFlo stopped successfully');
298
+ return {
299
+ success: true,
300
+ data: { stopped: true, force, stoppedAt: new Date().toISOString() }
301
+ };
302
+ }
303
+ catch (error) {
304
+ spinner.fail('Stop failed');
305
+ output.printError(`Failed to stop: ${error instanceof Error ? error.message : String(error)}`);
306
+ return { success: false, exitCode: 1 };
307
+ }
308
+ }
392
309
  };
393
310
  // Restart subcommand
394
- var restartCommand = {
311
+ const restartCommand = {
395
312
  name: 'restart',
396
313
  description: 'Restart the RuFlo system',
397
314
  options: [
@@ -400,74 +317,60 @@ var restartCommand = {
400
317
  short: 'f',
401
318
  description: 'Force restart',
402
319
  type: 'boolean',
403
- "default": false
320
+ default: false
404
321
  }
405
322
  ],
406
- action: function (ctx) { return __awaiter(void 0, void 0, Promise, function () {
407
- var stopCtx, stopResult, startResult;
408
- return __generator(this, function (_a) {
409
- switch (_a.label) {
410
- case 0:
411
- output.writeln();
412
- output.writeln(output.bold('Restarting RuFlo'));
413
- output.writeln();
414
- stopCtx = __assign(__assign({}, ctx), { flags: __assign({}, ctx.flags) });
415
- return [4 /*yield*/, stopCommand.action(stopCtx)];
416
- case 1:
417
- stopResult = _a.sent();
418
- if (stopResult && !stopResult.success) {
419
- output.printWarning('Stop failed, attempting to start anyway...');
420
- }
421
- // Wait briefly
422
- return [4 /*yield*/, new Promise(function (resolve) { return setTimeout(resolve, 1000); })];
423
- case 2:
424
- // Wait briefly
425
- _a.sent();
426
- return [4 /*yield*/, startAction(ctx)];
427
- case 3:
428
- startResult = _a.sent();
429
- return [2 /*return*/, {
430
- success: startResult.success,
431
- data: {
432
- restarted: startResult.success,
433
- restartedAt: new Date().toISOString()
434
- }
435
- }];
323
+ action: async (ctx) => {
324
+ output.writeln();
325
+ output.writeln(output.bold('Restarting RuFlo'));
326
+ output.writeln();
327
+ // Stop first
328
+ const stopCtx = { ...ctx, flags: { ...ctx.flags } };
329
+ const stopResult = await stopCommand.action(stopCtx);
330
+ if (stopResult && !stopResult.success) {
331
+ output.printWarning('Stop failed, attempting to start anyway...');
332
+ }
333
+ // Wait briefly
334
+ await new Promise(resolve => setTimeout(resolve, 1000));
335
+ // Start again
336
+ const startResult = await startAction(ctx);
337
+ return {
338
+ success: startResult.success,
339
+ data: {
340
+ restarted: startResult.success,
341
+ restartedAt: new Date().toISOString()
436
342
  }
437
- });
438
- }); }
343
+ };
344
+ }
439
345
  };
440
346
  // Quick start subcommand
441
- var quickCommand = {
347
+ const quickCommand = {
442
348
  name: 'quick',
443
349
  aliases: ['q'],
444
350
  description: 'Quick start with default settings',
445
- action: function (ctx) { return __awaiter(void 0, void 0, Promise, function () {
446
- var initCommand, initCtx;
447
- return __generator(this, function (_a) {
448
- switch (_a.label) {
449
- case 0:
450
- if (!!isInitialized(ctx.cwd)) return [3 /*break*/, 3];
451
- output.printInfo('Project not initialized, running init first...');
452
- output.writeln();
453
- return [4 /*yield*/, import('./init.js')];
454
- case 1:
455
- initCommand = (_a.sent()).initCommand;
456
- initCtx = __assign(__assign({}, ctx), { flags: __assign(__assign({}, ctx.flags), { minimal: true }) });
457
- return [4 /*yield*/, initCommand.action(initCtx)];
458
- case 2:
459
- _a.sent();
460
- output.writeln();
461
- _a.label = 3;
462
- case 3:
463
- // Start with defaults
464
- return [2 /*return*/, startAction(__assign(__assign({}, ctx), { flags: __assign(__assign({}, ctx.flags), { topology: 'mesh' }) }))];
465
- }
351
+ action: async (ctx) => {
352
+ // Initialize if needed
353
+ if (!isInitialized(ctx.cwd)) {
354
+ output.printInfo('Project not initialized, running init first...');
355
+ output.writeln();
356
+ // Call init with minimal settings
357
+ const { initCommand } = await import('./init.js');
358
+ const initCtx = {
359
+ ...ctx,
360
+ flags: { ...ctx.flags, minimal: true }
361
+ };
362
+ await initCommand.action(initCtx);
363
+ output.writeln();
364
+ }
365
+ // Start with defaults
366
+ return startAction({
367
+ ...ctx,
368
+ flags: { ...ctx.flags, topology: 'mesh' }
466
369
  });
467
- }); }
370
+ }
468
371
  };
469
372
  // Main start command
470
- export var startCommand = {
373
+ export const startCommand = {
471
374
  name: 'start',
472
375
  description: 'Start the RuFlo orchestration system',
473
376
  subcommands: [stopCommand, restartCommand, quickCommand],
@@ -477,14 +380,14 @@ export var startCommand = {
477
380
  short: 'd',
478
381
  description: 'Run as daemon in background',
479
382
  type: 'boolean',
480
- "default": false
383
+ default: false
481
384
  },
482
385
  {
483
386
  name: 'port',
484
387
  short: 'p',
485
388
  description: 'MCP server port',
486
389
  type: 'number',
487
- "default": DEFAULT_PORT
390
+ default: DEFAULT_PORT
488
391
  },
489
392
  {
490
393
  name: 'topology',
@@ -497,7 +400,7 @@ export var startCommand = {
497
400
  name: 'skip-mcp',
498
401
  description: 'Skip starting MCP server',
499
402
  type: 'boolean',
500
- "default": false
403
+ default: false
501
404
  }
502
405
  ],
503
406
  examples: [