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,47 +2,11 @@
2
2
  * V3 CLI Workflow Command
3
3
  * Workflow execution, validation, and template management
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 { select, confirm } from '../prompt.js';
43
7
  import { callMCPTool, MCPClientError } from '../mcp-client.js';
44
8
  // Workflow templates
45
- var WORKFLOW_TEMPLATES = [
9
+ const WORKFLOW_TEMPLATES = [
46
10
  { value: 'development', label: 'Development', hint: 'Standard development workflow' },
47
11
  { value: 'research', label: 'Research', hint: 'Research and analysis workflow' },
48
12
  { value: 'testing', label: 'Testing', hint: 'Comprehensive testing workflow' },
@@ -53,7 +17,7 @@ var WORKFLOW_TEMPLATES = [
53
17
  { value: 'custom', label: 'Custom', hint: 'Define custom workflow' }
54
18
  ];
55
19
  // Run subcommand
56
- var runCommand = {
20
+ const runCommand = {
57
21
  name: 'run',
58
22
  description: 'Execute a workflow',
59
23
  options: [
@@ -62,7 +26,7 @@ var runCommand = {
62
26
  short: 't',
63
27
  description: 'Workflow template',
64
28
  type: 'string',
65
- choices: WORKFLOW_TEMPLATES.map(function (t) { return t.value; })
29
+ choices: WORKFLOW_TEMPLATES.map(t => t.value)
66
30
  },
67
31
  {
68
32
  name: 'file',
@@ -80,27 +44,27 @@ var runCommand = {
80
44
  short: 'p',
81
45
  description: 'Enable parallel execution',
82
46
  type: 'boolean',
83
- "default": true
47
+ default: true
84
48
  },
85
49
  {
86
50
  name: 'max-agents',
87
51
  short: 'm',
88
52
  description: 'Maximum agents to spawn',
89
53
  type: 'number',
90
- "default": 5
54
+ default: 5
91
55
  },
92
56
  {
93
57
  name: 'timeout',
94
58
  description: 'Workflow timeout in minutes',
95
59
  type: 'number',
96
- "default": 30
60
+ default: 30
97
61
  },
98
62
  {
99
63
  name: 'dry-run',
100
64
  short: 'd',
101
65
  description: 'Validate without executing',
102
66
  type: 'boolean',
103
- "default": false
67
+ default: false
104
68
  }
105
69
  ],
106
70
  examples: [
@@ -108,107 +72,95 @@ var runCommand = {
108
72
  { command: 'claude-flow workflow run -f ./workflow.yaml', description: 'Run from file' },
109
73
  { command: 'claude-flow workflow run -t sparc --dry-run', description: 'Validate SPARC workflow' }
110
74
  ],
111
- action: function (ctx) { return __awaiter(void 0, void 0, Promise, function () {
112
- var template, file, task, parallel, maxAgents, timeout, dryRun, spinner, result, error_1;
113
- return __generator(this, function (_a) {
114
- switch (_a.label) {
115
- case 0:
116
- template = ctx.flags.template;
117
- file = ctx.flags.file;
118
- task = ctx.flags.task || ctx.args[0];
119
- parallel = ctx.flags.parallel;
120
- maxAgents = ctx.flags.maxAgents;
121
- timeout = ctx.flags.timeout;
122
- dryRun = ctx.flags.dryRun;
123
- if (!(!template && !file && ctx.interactive)) return [3 /*break*/, 2];
124
- return [4 /*yield*/, select({
125
- message: 'Select workflow template:',
126
- options: WORKFLOW_TEMPLATES
127
- })];
128
- case 1:
129
- template = _a.sent();
130
- _a.label = 2;
131
- case 2:
132
- if (!template && !file) {
133
- output.printError('Workflow template or file is required. Use --template or --file');
134
- return [2 /*return*/, { success: false, exitCode: 1 }];
135
- }
136
- output.writeln();
137
- if (dryRun) {
138
- output.writeln(output.warning('DRY RUN MODE - No changes will be made'));
139
- }
140
- output.writeln(output.bold("Workflow: " + (template || file)));
141
- output.writeln();
142
- spinner = output.createSpinner({ text: 'Initializing workflow...', spinner: 'dots' });
143
- _a.label = 3;
144
- case 3:
145
- _a.trys.push([3, 5, , 6]);
146
- spinner.start();
147
- return [4 /*yield*/, callMCPTool('workflow_run', {
148
- template: template || undefined,
149
- file: file || undefined,
150
- task: task,
151
- options: {
152
- parallel: parallel,
153
- maxAgents: maxAgents,
154
- timeout: timeout,
155
- dryRun: dryRun
156
- }
157
- })];
158
- case 4:
159
- result = _a.sent();
160
- if (dryRun) {
161
- spinner.succeed('Workflow validated successfully');
162
- }
163
- else {
164
- spinner.succeed('Workflow started');
165
- }
166
- if (ctx.flags.format === 'json') {
167
- output.printJson(result);
168
- return [2 /*return*/, { success: true, data: result }];
169
- }
170
- output.writeln();
171
- output.printBox([
172
- "ID: " + result.workflowId,
173
- "Template: " + result.template,
174
- "Status: " + result.status,
175
- "Stages: " + result.metrics.totalStages,
176
- "Agents: " + result.metrics.agentsSpawned,
177
- "Est. Duration: " + result.metrics.estimatedDuration
178
- ].join('\n'), 'Workflow Details');
179
- output.writeln();
180
- output.writeln(output.bold('Stages'));
181
- output.printTable({
182
- columns: [
183
- { key: 'name', header: 'Stage', width: 20 },
184
- { key: 'status', header: 'Status', width: 12, format: formatStageStatus },
185
- { key: 'agents', header: 'Agents', width: 30, format: function (v) { return Array.isArray(v) ? v.join(', ') : String(v); } },
186
- { key: 'duration', header: 'Duration', width: 10, align: 'right', format: function (v) { return v ? v + "ms" : '-'; } }
187
- ],
188
- data: result.stages
189
- });
190
- if (!dryRun) {
191
- output.writeln();
192
- output.printInfo("Track progress: claude-flow workflow status " + result.workflowId);
193
- }
194
- return [2 /*return*/, { success: true, data: result }];
195
- case 5:
196
- error_1 = _a.sent();
197
- spinner.fail('Workflow failed');
198
- if (error_1 instanceof MCPClientError) {
199
- output.printError("Workflow error: " + error_1.message);
200
- }
201
- else {
202
- output.printError("Unexpected error: " + String(error_1));
203
- }
204
- return [2 /*return*/, { success: false, exitCode: 1 }];
205
- case 6: return [2 /*return*/];
75
+ action: async (ctx) => {
76
+ let template = ctx.flags.template;
77
+ const file = ctx.flags.file;
78
+ const task = ctx.flags.task || ctx.args[0];
79
+ const parallel = ctx.flags.parallel;
80
+ const maxAgents = ctx.flags.maxAgents;
81
+ const timeout = ctx.flags.timeout;
82
+ const dryRun = ctx.flags.dryRun;
83
+ if (!template && !file && ctx.interactive) {
84
+ template = await select({
85
+ message: 'Select workflow template:',
86
+ options: WORKFLOW_TEMPLATES
87
+ });
88
+ }
89
+ if (!template && !file) {
90
+ output.printError('Workflow template or file is required. Use --template or --file');
91
+ return { success: false, exitCode: 1 };
92
+ }
93
+ output.writeln();
94
+ if (dryRun) {
95
+ output.writeln(output.warning('DRY RUN MODE - No changes will be made'));
96
+ }
97
+ output.writeln(output.bold(`Workflow: ${template || file}`));
98
+ output.writeln();
99
+ const spinner = output.createSpinner({ text: 'Initializing workflow...', spinner: 'dots' });
100
+ try {
101
+ spinner.start();
102
+ // Call MCP tool to run workflow
103
+ const result = await callMCPTool('workflow_run', {
104
+ template: template || undefined,
105
+ file: file || undefined,
106
+ task,
107
+ options: {
108
+ parallel,
109
+ maxAgents,
110
+ timeout,
111
+ dryRun,
112
+ },
113
+ });
114
+ if (dryRun) {
115
+ spinner.succeed('Workflow validated successfully');
116
+ }
117
+ else {
118
+ spinner.succeed('Workflow started');
119
+ }
120
+ if (ctx.flags.format === 'json') {
121
+ output.printJson(result);
122
+ return { success: true, data: result };
206
123
  }
207
- });
208
- }); }
124
+ output.writeln();
125
+ output.printBox([
126
+ `ID: ${result.workflowId}`,
127
+ `Template: ${result.template}`,
128
+ `Status: ${result.status}`,
129
+ `Stages: ${result.metrics.totalStages}`,
130
+ `Agents: ${result.metrics.agentsSpawned}`,
131
+ `Est. Duration: ${result.metrics.estimatedDuration}`
132
+ ].join('\n'), 'Workflow Details');
133
+ output.writeln();
134
+ output.writeln(output.bold('Stages'));
135
+ output.printTable({
136
+ columns: [
137
+ { key: 'name', header: 'Stage', width: 20 },
138
+ { key: 'status', header: 'Status', width: 12, format: formatStageStatus },
139
+ { key: 'agents', header: 'Agents', width: 30, format: (v) => Array.isArray(v) ? v.join(', ') : String(v) },
140
+ { key: 'duration', header: 'Duration', width: 10, align: 'right', format: (v) => v ? `${v}ms` : '-' }
141
+ ],
142
+ data: result.stages
143
+ });
144
+ if (!dryRun) {
145
+ output.writeln();
146
+ output.printInfo(`Track progress: claude-flow workflow status ${result.workflowId}`);
147
+ }
148
+ return { success: true, data: result };
149
+ }
150
+ catch (error) {
151
+ spinner.fail('Workflow failed');
152
+ if (error instanceof MCPClientError) {
153
+ output.printError(`Workflow error: ${error.message}`);
154
+ }
155
+ else {
156
+ output.printError(`Unexpected error: ${String(error)}`);
157
+ }
158
+ return { success: false, exitCode: 1 };
159
+ }
160
+ }
209
161
  };
210
162
  // Validate subcommand
211
- var validateCommand = {
163
+ const validateCommand = {
212
164
  name: 'validate',
213
165
  description: 'Validate a workflow definition',
214
166
  options: [
@@ -224,90 +176,80 @@ var validateCommand = {
224
176
  short: 's',
225
177
  description: 'Strict validation mode',
226
178
  type: 'boolean',
227
- "default": false
179
+ default: false
228
180
  }
229
181
  ],
230
182
  examples: [
231
183
  { command: 'claude-flow workflow validate -f ./workflow.yaml', description: 'Validate workflow file' },
232
184
  { command: 'claude-flow workflow validate -f ./workflow.json --strict', description: 'Strict validation' }
233
185
  ],
234
- action: function (ctx) { return __awaiter(void 0, void 0, Promise, function () {
235
- var file, strict, result, error_2;
236
- return __generator(this, function (_a) {
237
- switch (_a.label) {
238
- case 0:
239
- file = ctx.flags.file || ctx.args[0];
240
- strict = ctx.flags.strict;
241
- if (!file) {
242
- output.printError('Workflow file is required. Use --file or -f');
243
- return [2 /*return*/, { success: false, exitCode: 1 }];
244
- }
245
- output.printInfo("Validating: " + file);
246
- _a.label = 1;
247
- case 1:
248
- _a.trys.push([1, 3, , 4]);
249
- return [4 /*yield*/, callMCPTool('workflow_validate', {
250
- file: file,
251
- strict: strict
252
- })];
253
- case 2:
254
- result = _a.sent();
255
- if (ctx.flags.format === 'json') {
256
- output.printJson(result);
257
- return [2 /*return*/, { success: result.valid, data: result }];
258
- }
259
- output.writeln();
260
- if (result.valid) {
261
- output.printSuccess('Workflow is valid');
262
- }
263
- else {
264
- output.printError('Workflow validation failed');
265
- }
266
- if (result.errors.length > 0) {
267
- output.writeln();
268
- output.writeln(output.bold(output.error('Errors')));
269
- output.printTable({
270
- columns: [
271
- { key: 'line', header: 'Line', width: 8, align: 'right' },
272
- { key: 'severity', header: 'Severity', width: 10 },
273
- { key: 'message', header: 'Message', width: 50 }
274
- ],
275
- data: result.errors
276
- });
277
- }
278
- if (result.warnings.length > 0) {
279
- output.writeln();
280
- output.writeln(output.bold(output.warning('Warnings')));
281
- result.warnings.forEach(function (w) {
282
- output.writeln(output.warning(" Line " + w.line + ": " + w.message));
283
- });
284
- }
285
- if (result.valid) {
286
- output.writeln();
287
- output.writeln(output.bold('Workflow Stats'));
288
- output.printList([
289
- "Stages: " + result.stats.stages,
290
- "Agents Required: " + result.stats.agents,
291
- "Est. Duration: " + result.stats.estimatedDuration
292
- ]);
293
- }
294
- return [2 /*return*/, { success: result.valid, data: result }];
295
- case 3:
296
- error_2 = _a.sent();
297
- if (error_2 instanceof MCPClientError) {
298
- output.printError("Validation error: " + error_2.message);
299
- }
300
- else {
301
- output.printError("Unexpected error: " + String(error_2));
302
- }
303
- return [2 /*return*/, { success: false, exitCode: 1 }];
304
- case 4: return [2 /*return*/];
186
+ action: async (ctx) => {
187
+ const file = ctx.flags.file || ctx.args[0];
188
+ const strict = ctx.flags.strict;
189
+ if (!file) {
190
+ output.printError('Workflow file is required. Use --file or -f');
191
+ return { success: false, exitCode: 1 };
192
+ }
193
+ output.printInfo(`Validating: ${file}`);
194
+ try {
195
+ const result = await callMCPTool('workflow_validate', {
196
+ file,
197
+ strict,
198
+ });
199
+ if (ctx.flags.format === 'json') {
200
+ output.printJson(result);
201
+ return { success: result.valid, data: result };
305
202
  }
306
- });
307
- }); }
203
+ output.writeln();
204
+ if (result.valid) {
205
+ output.printSuccess('Workflow is valid');
206
+ }
207
+ else {
208
+ output.printError('Workflow validation failed');
209
+ }
210
+ if (result.errors.length > 0) {
211
+ output.writeln();
212
+ output.writeln(output.bold(output.error('Errors')));
213
+ output.printTable({
214
+ columns: [
215
+ { key: 'line', header: 'Line', width: 8, align: 'right' },
216
+ { key: 'severity', header: 'Severity', width: 10 },
217
+ { key: 'message', header: 'Message', width: 50 }
218
+ ],
219
+ data: result.errors
220
+ });
221
+ }
222
+ if (result.warnings.length > 0) {
223
+ output.writeln();
224
+ output.writeln(output.bold(output.warning('Warnings')));
225
+ result.warnings.forEach(w => {
226
+ output.writeln(output.warning(` Line ${w.line}: ${w.message}`));
227
+ });
228
+ }
229
+ if (result.valid) {
230
+ output.writeln();
231
+ output.writeln(output.bold('Workflow Stats'));
232
+ output.printList([
233
+ `Stages: ${result.stats.stages}`,
234
+ `Agents Required: ${result.stats.agents}`,
235
+ `Est. Duration: ${result.stats.estimatedDuration}`
236
+ ]);
237
+ }
238
+ return { success: result.valid, data: result };
239
+ }
240
+ catch (error) {
241
+ if (error instanceof MCPClientError) {
242
+ output.printError(`Validation error: ${error.message}`);
243
+ }
244
+ else {
245
+ output.printError(`Unexpected error: ${String(error)}`);
246
+ }
247
+ return { success: false, exitCode: 1 };
248
+ }
249
+ }
308
250
  };
309
251
  // List subcommand
310
- var listCommand = {
252
+ const listCommand = {
311
253
  name: 'list',
312
254
  aliases: ['ls'],
313
255
  description: 'List workflows',
@@ -324,65 +266,55 @@ var listCommand = {
324
266
  short: 'l',
325
267
  description: 'Maximum results',
326
268
  type: 'number',
327
- "default": 10
269
+ default: 10
328
270
  }
329
271
  ],
330
- action: function (ctx) { return __awaiter(void 0, void 0, Promise, function () {
331
- var status, limit, result, error_3;
332
- return __generator(this, function (_a) {
333
- switch (_a.label) {
334
- case 0:
335
- status = ctx.flags.status;
336
- limit = ctx.flags.limit;
337
- _a.label = 1;
338
- case 1:
339
- _a.trys.push([1, 3, , 4]);
340
- return [4 /*yield*/, callMCPTool('workflow_list', {
341
- status: status || 'all',
342
- limit: limit
343
- })];
344
- case 2:
345
- result = _a.sent();
346
- if (ctx.flags.format === 'json') {
347
- output.printJson(result);
348
- return [2 /*return*/, { success: true, data: result }];
349
- }
350
- output.writeln();
351
- output.writeln(output.bold('Workflows'));
352
- output.writeln();
353
- if (result.workflows.length === 0) {
354
- output.printInfo('No workflows found');
355
- return [2 /*return*/, { success: true, data: result }];
356
- }
357
- output.printTable({
358
- columns: [
359
- { key: 'id', header: 'ID', width: 15 },
360
- { key: 'template', header: 'Template', width: 15 },
361
- { key: 'status', header: 'Status', width: 12, format: formatStageStatus },
362
- { key: 'progress', header: 'Progress', width: 10, align: 'right', format: function (v) { return v + "%"; } },
363
- { key: 'startedAt', header: 'Started', width: 20, format: function (v) { return new Date(String(v)).toLocaleString(); } }
364
- ],
365
- data: result.workflows
366
- });
367
- output.writeln();
368
- output.printInfo("Total: " + result.total + " workflows");
369
- return [2 /*return*/, { success: true, data: result }];
370
- case 3:
371
- error_3 = _a.sent();
372
- if (error_3 instanceof MCPClientError) {
373
- output.printError("Failed to list workflows: " + error_3.message);
374
- }
375
- else {
376
- output.printError("Unexpected error: " + String(error_3));
377
- }
378
- return [2 /*return*/, { success: false, exitCode: 1 }];
379
- case 4: return [2 /*return*/];
272
+ action: async (ctx) => {
273
+ const status = ctx.flags.status;
274
+ const limit = ctx.flags.limit;
275
+ try {
276
+ const result = await callMCPTool('workflow_list', {
277
+ status: status || 'all',
278
+ limit,
279
+ });
280
+ if (ctx.flags.format === 'json') {
281
+ output.printJson(result);
282
+ return { success: true, data: result };
380
283
  }
381
- });
382
- }); }
284
+ output.writeln();
285
+ output.writeln(output.bold('Workflows'));
286
+ output.writeln();
287
+ if (result.workflows.length === 0) {
288
+ output.printInfo('No workflows found');
289
+ return { success: true, data: result };
290
+ }
291
+ output.printTable({
292
+ columns: [
293
+ { key: 'id', header: 'ID', width: 15 },
294
+ { key: 'template', header: 'Template', width: 15 },
295
+ { key: 'status', header: 'Status', width: 12, format: formatStageStatus },
296
+ { key: 'progress', header: 'Progress', width: 10, align: 'right', format: (v) => `${v}%` },
297
+ { key: 'startedAt', header: 'Started', width: 20, format: (v) => new Date(String(v)).toLocaleString() }
298
+ ],
299
+ data: result.workflows
300
+ });
301
+ output.writeln();
302
+ output.printInfo(`Total: ${result.total} workflows`);
303
+ return { success: true, data: result };
304
+ }
305
+ catch (error) {
306
+ if (error instanceof MCPClientError) {
307
+ output.printError(`Failed to list workflows: ${error.message}`);
308
+ }
309
+ else {
310
+ output.printError(`Unexpected error: ${String(error)}`);
311
+ }
312
+ return { success: false, exitCode: 1 };
313
+ }
314
+ }
383
315
  };
384
316
  // Status subcommand
385
- var statusCommand = {
317
+ const statusCommand = {
386
318
  name: 'status',
387
319
  description: 'Show workflow status',
388
320
  options: [
@@ -391,68 +323,58 @@ var statusCommand = {
391
323
  short: 'w',
392
324
  description: 'Watch for changes',
393
325
  type: 'boolean',
394
- "default": false
326
+ default: false
395
327
  }
396
328
  ],
397
- action: function (ctx) { return __awaiter(void 0, void 0, Promise, function () {
398
- var workflowId, result, error_4;
399
- return __generator(this, function (_a) {
400
- switch (_a.label) {
401
- case 0:
402
- workflowId = ctx.args[0];
403
- if (!workflowId) {
404
- output.printError('Workflow ID is required');
405
- return [2 /*return*/, { success: false, exitCode: 1 }];
406
- }
407
- _a.label = 1;
408
- case 1:
409
- _a.trys.push([1, 3, , 4]);
410
- return [4 /*yield*/, callMCPTool('workflow_status', {
411
- workflowId: workflowId
412
- })];
413
- case 2:
414
- result = _a.sent();
415
- if (ctx.flags.format === 'json') {
416
- output.printJson(result);
417
- return [2 /*return*/, { success: true, data: result }];
418
- }
419
- output.writeln();
420
- output.printBox([
421
- "ID: " + result.id,
422
- "Template: " + result.template,
423
- "Status: " + formatStageStatus(result.status),
424
- "Progress: " + result.progress + "%",
425
- "Duration: " + (result.metrics.duration / 1000).toFixed(1) + "s",
426
- "Tokens: " + result.metrics.tokensUsed.toLocaleString(),
427
- "Agents: " + result.metrics.agentsSpawned
428
- ].join('\n'), 'Workflow Status');
429
- output.writeln();
430
- output.writeln(output.bold('Stage Progress'));
431
- output.printTable({
432
- columns: [
433
- { key: 'name', header: 'Stage', width: 20 },
434
- { key: 'status', header: 'Status', width: 12, format: formatStageStatus },
435
- { key: 'agents', header: 'Agents', width: 25, format: function (v) { return Array.isArray(v) ? v.length.toString() : '0'; } }
436
- ],
437
- data: result.stages
438
- });
439
- return [2 /*return*/, { success: true, data: result }];
440
- case 3:
441
- error_4 = _a.sent();
442
- if (error_4 instanceof MCPClientError) {
443
- output.printError("Failed to get status: " + error_4.message);
444
- }
445
- else {
446
- output.printError("Unexpected error: " + String(error_4));
447
- }
448
- return [2 /*return*/, { success: false, exitCode: 1 }];
449
- case 4: return [2 /*return*/];
329
+ action: async (ctx) => {
330
+ const workflowId = ctx.args[0];
331
+ if (!workflowId) {
332
+ output.printError('Workflow ID is required');
333
+ return { success: false, exitCode: 1 };
334
+ }
335
+ try {
336
+ const result = await callMCPTool('workflow_status', {
337
+ workflowId,
338
+ });
339
+ if (ctx.flags.format === 'json') {
340
+ output.printJson(result);
341
+ return { success: true, data: result };
450
342
  }
451
- });
452
- }); }
343
+ output.writeln();
344
+ output.printBox([
345
+ `ID: ${result.id}`,
346
+ `Template: ${result.template}`,
347
+ `Status: ${formatStageStatus(result.status)}`,
348
+ `Progress: ${result.progress}%`,
349
+ `Duration: ${(result.metrics.duration / 1000).toFixed(1)}s`,
350
+ `Tokens: ${result.metrics.tokensUsed.toLocaleString()}`,
351
+ `Agents: ${result.metrics.agentsSpawned}`
352
+ ].join('\n'), 'Workflow Status');
353
+ output.writeln();
354
+ output.writeln(output.bold('Stage Progress'));
355
+ output.printTable({
356
+ columns: [
357
+ { key: 'name', header: 'Stage', width: 20 },
358
+ { key: 'status', header: 'Status', width: 12, format: formatStageStatus },
359
+ { key: 'agents', header: 'Agents', width: 25, format: (v) => Array.isArray(v) ? v.length.toString() : '0' }
360
+ ],
361
+ data: result.stages
362
+ });
363
+ return { success: true, data: result };
364
+ }
365
+ catch (error) {
366
+ if (error instanceof MCPClientError) {
367
+ output.printError(`Failed to get status: ${error.message}`);
368
+ }
369
+ else {
370
+ output.printError(`Unexpected error: ${String(error)}`);
371
+ }
372
+ return { success: false, exitCode: 1 };
373
+ }
374
+ }
453
375
  };
454
376
  // Stop subcommand
455
- var stopCommand = {
377
+ const stopCommand = {
456
378
  name: 'stop',
457
379
  description: 'Stop a running workflow',
458
380
  options: [
@@ -461,126 +383,111 @@ var stopCommand = {
461
383
  short: 'f',
462
384
  description: 'Force stop without graceful shutdown',
463
385
  type: 'boolean',
464
- "default": false
386
+ default: false
465
387
  }
466
388
  ],
467
- action: function (ctx) { return __awaiter(void 0, void 0, Promise, function () {
468
- var workflowId, force, confirmed, result, error_5;
469
- return __generator(this, function (_a) {
470
- switch (_a.label) {
471
- case 0:
472
- workflowId = ctx.args[0];
473
- force = ctx.flags.force;
474
- if (!workflowId) {
475
- output.printError('Workflow ID is required');
476
- return [2 /*return*/, { success: false, exitCode: 1 }];
477
- }
478
- if (!(!force && ctx.interactive)) return [3 /*break*/, 2];
479
- return [4 /*yield*/, confirm({
480
- message: "Stop workflow " + workflowId + "?",
481
- "default": false
482
- })];
483
- case 1:
484
- confirmed = _a.sent();
485
- if (!confirmed) {
486
- output.printInfo('Operation cancelled');
487
- return [2 /*return*/, { success: true }];
488
- }
489
- _a.label = 2;
490
- case 2:
491
- _a.trys.push([2, 4, , 5]);
492
- return [4 /*yield*/, callMCPTool('workflow_stop', {
493
- workflowId: workflowId,
494
- graceful: !force
495
- })];
496
- case 3:
497
- result = _a.sent();
498
- output.printSuccess("Workflow " + workflowId + " stopped");
499
- return [2 /*return*/, { success: true, data: result }];
500
- case 4:
501
- error_5 = _a.sent();
502
- if (error_5 instanceof MCPClientError) {
503
- output.printError("Failed to stop workflow: " + error_5.message);
504
- }
505
- else {
506
- output.printError("Unexpected error: " + String(error_5));
507
- }
508
- return [2 /*return*/, { success: false, exitCode: 1 }];
509
- case 5: return [2 /*return*/];
389
+ action: async (ctx) => {
390
+ const workflowId = ctx.args[0];
391
+ const force = ctx.flags.force;
392
+ if (!workflowId) {
393
+ output.printError('Workflow ID is required');
394
+ return { success: false, exitCode: 1 };
395
+ }
396
+ if (!force && ctx.interactive) {
397
+ const confirmed = await confirm({
398
+ message: `Stop workflow ${workflowId}?`,
399
+ default: false
400
+ });
401
+ if (!confirmed) {
402
+ output.printInfo('Operation cancelled');
403
+ return { success: true };
404
+ }
405
+ }
406
+ try {
407
+ const result = await callMCPTool('workflow_stop', {
408
+ workflowId,
409
+ graceful: !force,
410
+ });
411
+ output.printSuccess(`Workflow ${workflowId} stopped`);
412
+ return { success: true, data: result };
413
+ }
414
+ catch (error) {
415
+ if (error instanceof MCPClientError) {
416
+ output.printError(`Failed to stop workflow: ${error.message}`);
510
417
  }
511
- });
512
- }); }
418
+ else {
419
+ output.printError(`Unexpected error: ${String(error)}`);
420
+ }
421
+ return { success: false, exitCode: 1 };
422
+ }
423
+ }
513
424
  };
514
425
  // Template subcommand
515
- var templateCommand = {
426
+ const templateCommand = {
516
427
  name: 'template',
517
428
  description: 'Manage workflow templates',
518
429
  subcommands: [
519
430
  {
520
431
  name: 'list',
521
432
  description: 'List available templates',
522
- action: function (ctx) { return __awaiter(void 0, void 0, Promise, function () {
523
- return __generator(this, function (_a) {
524
- if (ctx.flags.format === 'json') {
525
- output.printJson(WORKFLOW_TEMPLATES);
526
- return [2 /*return*/, { success: true, data: WORKFLOW_TEMPLATES }];
527
- }
528
- output.writeln();
529
- output.writeln(output.bold('Available Workflow Templates'));
530
- output.writeln();
531
- output.printTable({
532
- columns: [
533
- { key: 'value', header: 'Template', width: 20 },
534
- { key: 'label', header: 'Name', width: 20 },
535
- { key: 'hint', header: 'Description', width: 35 }
536
- ],
537
- data: WORKFLOW_TEMPLATES
538
- });
539
- return [2 /*return*/, { success: true, data: WORKFLOW_TEMPLATES }];
433
+ action: async (ctx) => {
434
+ if (ctx.flags.format === 'json') {
435
+ output.printJson(WORKFLOW_TEMPLATES);
436
+ return { success: true, data: WORKFLOW_TEMPLATES };
437
+ }
438
+ output.writeln();
439
+ output.writeln(output.bold('Available Workflow Templates'));
440
+ output.writeln();
441
+ output.printTable({
442
+ columns: [
443
+ { key: 'value', header: 'Template', width: 20 },
444
+ { key: 'label', header: 'Name', width: 20 },
445
+ { key: 'hint', header: 'Description', width: 35 }
446
+ ],
447
+ data: WORKFLOW_TEMPLATES
540
448
  });
541
- }); }
449
+ return { success: true, data: WORKFLOW_TEMPLATES };
450
+ }
542
451
  },
543
452
  {
544
453
  name: 'show',
545
454
  description: 'Show template details',
546
- action: function (ctx) { return __awaiter(void 0, void 0, Promise, function () {
547
- var templateName, template, details;
548
- return __generator(this, function (_a) {
549
- templateName = ctx.args[0];
550
- if (!templateName) {
551
- output.printError('Template name is required');
552
- return [2 /*return*/, { success: false, exitCode: 1 }];
553
- }
554
- template = WORKFLOW_TEMPLATES.find(function (t) { return t.value === templateName; });
555
- if (!template) {
556
- output.printError("Template \"" + templateName + "\" not found");
557
- return [2 /*return*/, { success: false, exitCode: 1 }];
558
- }
559
- details = {
560
- name: template.value,
561
- description: template.hint,
562
- stages: getTemplateStages(template.value),
563
- agents: getTemplateAgents(template.value),
564
- estimatedDuration: getTemplateDuration(template.value)
565
- };
566
- if (ctx.flags.format === 'json') {
567
- output.printJson(details);
568
- return [2 /*return*/, { success: true, data: details }];
569
- }
570
- output.writeln();
571
- output.printBox([
572
- "Name: " + details.name,
573
- "Description: " + details.description,
574
- "Stages: " + details.stages.length,
575
- "Agents: " + details.agents.join(', '),
576
- "Est. Duration: " + details.estimatedDuration
577
- ].join('\n'), 'Template Details');
578
- output.writeln();
579
- output.writeln(output.bold('Stages'));
580
- output.printList(details.stages.map(function (s, i) { return i + 1 + ". " + s; }));
581
- return [2 /*return*/, { success: true, data: details }];
582
- });
583
- }); }
455
+ action: async (ctx) => {
456
+ const templateName = ctx.args[0];
457
+ if (!templateName) {
458
+ output.printError('Template name is required');
459
+ return { success: false, exitCode: 1 };
460
+ }
461
+ const template = WORKFLOW_TEMPLATES.find(t => t.value === templateName);
462
+ if (!template) {
463
+ output.printError(`Template "${templateName}" not found`);
464
+ return { success: false, exitCode: 1 };
465
+ }
466
+ // Show template details
467
+ const details = {
468
+ name: template.value,
469
+ description: template.hint,
470
+ stages: getTemplateStages(template.value),
471
+ agents: getTemplateAgents(template.value),
472
+ estimatedDuration: getTemplateDuration(template.value)
473
+ };
474
+ if (ctx.flags.format === 'json') {
475
+ output.printJson(details);
476
+ return { success: true, data: details };
477
+ }
478
+ output.writeln();
479
+ output.printBox([
480
+ `Name: ${details.name}`,
481
+ `Description: ${details.description}`,
482
+ `Stages: ${details.stages.length}`,
483
+ `Agents: ${details.agents.join(', ')}`,
484
+ `Est. Duration: ${details.estimatedDuration}`
485
+ ].join('\n'), 'Template Details');
486
+ output.writeln();
487
+ output.writeln(output.bold('Stages'));
488
+ output.printList(details.stages.map((s, i) => `${i + 1}. ${s}`));
489
+ return { success: true, data: details };
490
+ }
584
491
  },
585
492
  {
586
493
  name: 'create',
@@ -590,40 +497,35 @@ var templateCommand = {
590
497
  { name: 'workflow', short: 'w', description: 'Workflow ID to save as template', type: 'string' },
591
498
  { name: 'file', short: 'f', description: 'Workflow file to save as template', type: 'string' }
592
499
  ],
593
- action: function (ctx) { return __awaiter(void 0, void 0, Promise, function () {
594
- var name;
595
- return __generator(this, function (_a) {
596
- name = ctx.flags.name;
597
- if (!name) {
598
- output.printError('Template name is required');
599
- return [2 /*return*/, { success: false, exitCode: 1 }];
600
- }
601
- output.printSuccess("Template \"" + name + "\" created");
602
- output.writeln(output.dim(' Use with: claude-flow workflow run -t ' + name));
603
- return [2 /*return*/, { success: true, data: { name: name, created: true } }];
604
- });
605
- }); }
500
+ action: async (ctx) => {
501
+ const name = ctx.flags.name;
502
+ if (!name) {
503
+ output.printError('Template name is required');
504
+ return { success: false, exitCode: 1 };
505
+ }
506
+ output.printSuccess(`Template "${name}" created`);
507
+ output.writeln(output.dim(' Use with: claude-flow workflow run -t ' + name));
508
+ return { success: true, data: { name, created: true } };
509
+ }
606
510
  }
607
511
  ],
608
- action: function () { return __awaiter(void 0, void 0, Promise, function () {
609
- return __generator(this, function (_a) {
610
- output.writeln();
611
- output.writeln(output.bold('Template Management'));
612
- output.writeln();
613
- output.writeln('Usage: claude-flow workflow template <subcommand>');
614
- output.writeln();
615
- output.writeln('Subcommands:');
616
- output.printList([
617
- output.highlight('list') + " - List available templates",
618
- output.highlight('show') + " - Show template details",
619
- output.highlight('create') + " - Create new template"
620
- ]);
621
- return [2 /*return*/, { success: true }];
622
- });
623
- }); }
512
+ action: async () => {
513
+ output.writeln();
514
+ output.writeln(output.bold('Template Management'));
515
+ output.writeln();
516
+ output.writeln('Usage: claude-flow workflow template <subcommand>');
517
+ output.writeln();
518
+ output.writeln('Subcommands:');
519
+ output.printList([
520
+ `${output.highlight('list')} - List available templates`,
521
+ `${output.highlight('show')} - Show template details`,
522
+ `${output.highlight('create')} - Create new template`
523
+ ]);
524
+ return { success: true };
525
+ }
624
526
  };
625
527
  // Main workflow command
626
- export var workflowCommand = {
528
+ export const workflowCommand = {
627
529
  name: 'workflow',
628
530
  description: 'Workflow execution and management',
629
531
  subcommands: [runCommand, validateCommand, listCommand, statusCommand, stopCommand, templateCommand],
@@ -633,31 +535,29 @@ export var workflowCommand = {
633
535
  { command: 'claude-flow workflow validate -f ./workflow.yaml', description: 'Validate workflow' },
634
536
  { command: 'claude-flow workflow list', description: 'List workflows' }
635
537
  ],
636
- action: function () { return __awaiter(void 0, void 0, Promise, function () {
637
- return __generator(this, function (_a) {
638
- output.writeln();
639
- output.writeln(output.bold('Workflow Commands'));
640
- output.writeln();
641
- output.writeln('Usage: claude-flow workflow <subcommand> [options]');
642
- output.writeln();
643
- output.writeln('Subcommands:');
644
- output.printList([
645
- output.highlight('run') + " - Execute a workflow",
646
- output.highlight('validate') + " - Validate workflow definition",
647
- output.highlight('list') + " - List workflows",
648
- output.highlight('status') + " - Show workflow status",
649
- output.highlight('stop') + " - Stop running workflow",
650
- output.highlight('template') + " - Manage templates"
651
- ]);
652
- output.writeln();
653
- output.writeln('Run "claude-flow workflow <subcommand> --help" for more info');
654
- return [2 /*return*/, { success: true }];
655
- });
656
- }); }
538
+ action: async () => {
539
+ output.writeln();
540
+ output.writeln(output.bold('Workflow Commands'));
541
+ output.writeln();
542
+ output.writeln('Usage: claude-flow workflow <subcommand> [options]');
543
+ output.writeln();
544
+ output.writeln('Subcommands:');
545
+ output.printList([
546
+ `${output.highlight('run')} - Execute a workflow`,
547
+ `${output.highlight('validate')} - Validate workflow definition`,
548
+ `${output.highlight('list')} - List workflows`,
549
+ `${output.highlight('status')} - Show workflow status`,
550
+ `${output.highlight('stop')} - Stop running workflow`,
551
+ `${output.highlight('template')} - Manage templates`
552
+ ]);
553
+ output.writeln();
554
+ output.writeln('Run "claude-flow workflow <subcommand> --help" for more info');
555
+ return { success: true };
556
+ }
657
557
  };
658
558
  // Helper functions
659
559
  function formatStageStatus(status) {
660
- var statusStr = String(status);
560
+ const statusStr = String(status);
661
561
  switch (statusStr) {
662
562
  case 'completed':
663
563
  case 'success':
@@ -678,7 +578,7 @@ function formatStageStatus(status) {
678
578
  }
679
579
  }
680
580
  function getTemplateStages(template) {
681
- var stages = {
581
+ const stages = {
682
582
  development: ['Planning', 'Implementation', 'Testing', 'Review', 'Integration'],
683
583
  research: ['Discovery', 'Analysis', 'Synthesis', 'Documentation'],
684
584
  testing: ['Unit Tests', 'Integration Tests', 'E2E Tests', 'Performance Tests'],
@@ -690,7 +590,7 @@ function getTemplateStages(template) {
690
590
  return stages[template] || ['Initialize', 'Execute', 'Complete'];
691
591
  }
692
592
  function getTemplateAgents(template) {
693
- var agents = {
593
+ const agents = {
694
594
  development: ['coder', 'tester', 'reviewer'],
695
595
  research: ['researcher', 'analyst'],
696
596
  testing: ['tester', 'coder'],
@@ -702,7 +602,7 @@ function getTemplateAgents(template) {
702
602
  return agents[template] || ['coder'];
703
603
  }
704
604
  function getTemplateDuration(template) {
705
- var durations = {
605
+ const durations = {
706
606
  development: '15-30 min',
707
607
  research: '10-20 min',
708
608
  testing: '5-15 min',