kynjal-cli 3.1.3 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (566) hide show
  1. package/.claude/agents/core/coder.md +1 -1
  2. package/.claude/agents/core/planner.md +2 -2
  3. package/.claude/agents/core/researcher.md +1 -1
  4. package/.claude/agents/core/reviewer.md +1 -1
  5. package/.claude/agents/core/tester.md +1 -1
  6. package/.claude/agents/data/data-ml-model.md +4 -4
  7. package/.claude/agents/development/dev-backend-api.md +4 -4
  8. package/.claude/agents/documentation/docs-api-openapi.md +4 -4
  9. package/.claude/agents/github/code-review-swarm.md +2 -2
  10. package/.claude/agents/github/issue-tracker.md +2 -2
  11. package/.claude/agents/github/pr-manager.md +2 -2
  12. package/.claude/agents/github/release-manager.md +2 -2
  13. package/.claude/agents/github/workflow-automation.md +2 -2
  14. package/.claude/agents/sparc/architecture.md +3 -3
  15. package/.claude/agents/sparc/pseudocode.md +2 -2
  16. package/.claude/agents/sparc/refinement.md +3 -3
  17. package/.claude/agents/sparc/specification.md +2 -2
  18. package/.claude/agents/swarm/adaptive-coordinator.md +1 -1
  19. package/.claude/agents/swarm/hierarchical-coordinator.md +1 -1
  20. package/.claude/agents/swarm/mesh-coordinator.md +1 -1
  21. package/.claude/agents/templates/base-template-generator.md +25 -4
  22. package/.claude/agents/templates/sparc-coordinator.md +3 -3
  23. package/.claude/helpers/auto-commit.sh +1 -1
  24. package/.claude/helpers/auto-memory-hook.mjs +27 -9
  25. package/.claude/helpers/hook-handler.cjs +58 -18
  26. package/.claude/helpers/statusline.cjs +14 -33
  27. package/.claude/helpers/statusline.js +3 -3
  28. package/.claude/settings.json +9 -9
  29. package/.claude/skills/reasoningbank-intelligence/SKILL.md +2 -2
  30. package/.claude/skills/swarm-orchestration/SKILL.md +1 -1
  31. package/README.md +383 -170
  32. package/bin/cli.js +6 -6
  33. package/bin/mcp-server.js +1 -1
  34. package/bin/preinstall.cjs +2 -0
  35. package/dist/src/appliance/gguf-engine.js +664 -0
  36. package/dist/src/appliance/gguf-engine.js.map +1 -0
  37. package/dist/src/appliance/ruvllm-bridge.js +492 -0
  38. package/dist/src/appliance/ruvllm-bridge.js.map +1 -0
  39. package/dist/src/appliance/rvfa-builder.js +383 -0
  40. package/dist/src/appliance/rvfa-builder.js.map +1 -0
  41. package/dist/src/appliance/rvfa-distribution.js +533 -0
  42. package/dist/src/appliance/rvfa-distribution.js.map +1 -0
  43. package/dist/src/appliance/rvfa-format.js +465 -0
  44. package/dist/src/appliance/rvfa-format.js.map +1 -0
  45. package/dist/src/appliance/rvfa-runner.js +373 -0
  46. package/dist/src/appliance/rvfa-runner.js.map +1 -0
  47. package/dist/src/appliance/rvfa-signing.js +469 -0
  48. package/dist/src/appliance/rvfa-signing.js.map +1 -0
  49. package/dist/src/benchmarks/pretrain/index.js +542 -331
  50. package/dist/src/benchmarks/pretrain/index.js.map +1 -1
  51. package/dist/src/commands/agent.d.ts.map +1 -1
  52. package/dist/src/commands/agent.js +725 -502
  53. package/dist/src/commands/agent.js.map +1 -1
  54. package/dist/src/commands/analyze.js +1548 -1218
  55. package/dist/src/commands/analyze.js.map +1 -1
  56. package/dist/src/commands/appliance-advanced.d.ts +9 -0
  57. package/dist/src/commands/appliance-advanced.d.ts.map +1 -0
  58. package/dist/src/commands/appliance-advanced.js +324 -0
  59. package/dist/src/commands/appliance-advanced.js.map +1 -0
  60. package/dist/src/commands/appliance.d.ts +8 -0
  61. package/dist/src/commands/appliance.d.ts.map +1 -0
  62. package/dist/src/commands/appliance.js +581 -0
  63. package/dist/src/commands/appliance.js.map +1 -0
  64. package/dist/src/commands/benchmark.js +523 -372
  65. package/dist/src/commands/benchmark.js.map +1 -1
  66. package/dist/src/commands/claims.js +364 -274
  67. package/dist/src/commands/claims.js.map +1 -1
  68. package/dist/src/commands/cleanup.d.ts +13 -0
  69. package/dist/src/commands/cleanup.d.ts.map +1 -0
  70. package/dist/src/commands/cleanup.js +262 -0
  71. package/dist/src/commands/cleanup.js.map +1 -0
  72. package/dist/src/commands/completions.js +118 -477
  73. package/dist/src/commands/completions.js.map +1 -1
  74. package/dist/src/commands/config.js +303 -237
  75. package/dist/src/commands/config.js.map +1 -1
  76. package/dist/src/commands/daemon.d.ts.map +1 -1
  77. package/dist/src/commands/daemon.js +597 -425
  78. package/dist/src/commands/daemon.js.map +1 -1
  79. package/dist/src/commands/deployment.js +275 -194
  80. package/dist/src/commands/deployment.js.map +1 -1
  81. package/dist/src/commands/doctor.d.ts.map +1 -1
  82. package/dist/src/commands/doctor.js +690 -460
  83. package/dist/src/commands/doctor.js.map +1 -1
  84. package/dist/src/commands/embeddings.js +1543 -1293
  85. package/dist/src/commands/embeddings.js.map +1 -1
  86. package/dist/src/commands/guidance.js +596 -449
  87. package/dist/src/commands/guidance.js.map +1 -1
  88. package/dist/src/commands/hive-mind.js +938 -854
  89. package/dist/src/commands/hive-mind.js.map +1 -1
  90. package/dist/src/commands/hooks.d.ts.map +1 -1
  91. package/dist/src/commands/hooks.js +3677 -2570
  92. package/dist/src/commands/hooks.js.map +1 -1
  93. package/dist/src/commands/index.js +322 -122
  94. package/dist/src/commands/index.js.map +1 -1
  95. package/dist/src/commands/init.d.ts +1 -1
  96. package/dist/src/commands/init.d.ts.map +1 -1
  97. package/dist/src/commands/init.js +943 -787
  98. package/dist/src/commands/init.js.map +1 -1
  99. package/dist/src/commands/issues.js +558 -383
  100. package/dist/src/commands/issues.js.map +1 -1
  101. package/dist/src/commands/mcp.d.ts.map +1 -1
  102. package/dist/src/commands/mcp.js +605 -475
  103. package/dist/src/commands/mcp.js.map +1 -1
  104. package/dist/src/commands/memory.d.ts.map +1 -1
  105. package/dist/src/commands/memory.js +1031 -814
  106. package/dist/src/commands/memory.js.map +1 -1
  107. package/dist/src/commands/migrate.js +347 -282
  108. package/dist/src/commands/migrate.js.map +1 -1
  109. package/dist/src/commands/neural.d.ts.map +1 -1
  110. package/dist/src/commands/neural.js +1563 -1283
  111. package/dist/src/commands/neural.js.map +1 -1
  112. package/dist/src/commands/performance.js +643 -497
  113. package/dist/src/commands/performance.js.map +1 -1
  114. package/dist/src/commands/plugins.js +841 -668
  115. package/dist/src/commands/plugins.js.map +1 -1
  116. package/dist/src/commands/process.js +447 -392
  117. package/dist/src/commands/process.js.map +1 -1
  118. package/dist/src/commands/progress.js +256 -162
  119. package/dist/src/commands/progress.js.map +1 -1
  120. package/dist/src/commands/providers.js +220 -150
  121. package/dist/src/commands/providers.js.map +1 -1
  122. package/dist/src/commands/route.js +665 -520
  123. package/dist/src/commands/route.js.map +1 -1
  124. package/dist/src/commands/ruvector/backup.js +651 -505
  125. package/dist/src/commands/ruvector/backup.js.map +1 -1
  126. package/dist/src/commands/ruvector/benchmark.js +401 -349
  127. package/dist/src/commands/ruvector/benchmark.js.map +1 -1
  128. package/dist/src/commands/ruvector/import.js +267 -225
  129. package/dist/src/commands/ruvector/import.js.map +1 -1
  130. package/dist/src/commands/ruvector/index.js +75 -37
  131. package/dist/src/commands/ruvector/index.js.map +1 -1
  132. package/dist/src/commands/ruvector/init.js +359 -336
  133. package/dist/src/commands/ruvector/init.js.map +1 -1
  134. package/dist/src/commands/ruvector/migrate.js +322 -335
  135. package/dist/src/commands/ruvector/migrate.js.map +1 -1
  136. package/dist/src/commands/ruvector/optimize.js +431 -375
  137. package/dist/src/commands/ruvector/optimize.js.map +1 -1
  138. package/dist/src/commands/ruvector/setup.js +117 -703
  139. package/dist/src/commands/ruvector/setup.js.map +1 -1
  140. package/dist/src/commands/ruvector/status.js +419 -364
  141. package/dist/src/commands/ruvector/status.js.map +1 -1
  142. package/dist/src/commands/security.d.ts.map +1 -1
  143. package/dist/src/commands/security.js +610 -456
  144. package/dist/src/commands/security.js.map +1 -1
  145. package/dist/src/commands/session.d.ts +1 -1
  146. package/dist/src/commands/session.js +627 -505
  147. package/dist/src/commands/session.js.map +1 -1
  148. package/dist/src/commands/start.d.ts +1 -1
  149. package/dist/src/commands/start.js +368 -271
  150. package/dist/src/commands/start.js.map +1 -1
  151. package/dist/src/commands/status.d.ts +1 -1
  152. package/dist/src/commands/status.d.ts.map +1 -1
  153. package/dist/src/commands/status.js +492 -379
  154. package/dist/src/commands/status.js.map +1 -1
  155. package/dist/src/commands/swarm.js +488 -408
  156. package/dist/src/commands/swarm.js.map +1 -1
  157. package/dist/src/commands/task.d.ts +1 -1
  158. package/dist/src/commands/task.js +539 -424
  159. package/dist/src/commands/task.js.map +1 -1
  160. package/dist/src/commands/transfer-store.js +412 -322
  161. package/dist/src/commands/transfer-store.js.map +1 -1
  162. package/dist/src/commands/update.js +291 -196
  163. package/dist/src/commands/update.js.map +1 -1
  164. package/dist/src/commands/workflow.js +486 -386
  165. package/dist/src/commands/workflow.js.map +1 -1
  166. package/dist/src/config-adapter.js +40 -39
  167. package/dist/src/config-adapter.js.map +1 -1
  168. package/dist/src/index.js +416 -312
  169. package/dist/src/index.js.map +1 -1
  170. package/dist/src/infrastructure/in-memory-repositories.js +507 -246
  171. package/dist/src/infrastructure/in-memory-repositories.js.map +1 -1
  172. package/dist/src/init/claudemd-generator.js +78 -368
  173. package/dist/src/init/claudemd-generator.js.map +1 -1
  174. package/dist/src/init/executor.js +1019 -1345
  175. package/dist/src/init/executor.js.map +1 -1
  176. package/dist/src/init/helpers-generator.js +60 -635
  177. package/dist/src/init/helpers-generator.js.map +1 -1
  178. package/dist/src/init/index.d.ts +1 -1
  179. package/dist/src/init/index.d.ts.map +1 -1
  180. package/dist/src/init/index.js +1 -1
  181. package/dist/src/init/index.js.map +1 -1
  182. package/dist/src/init/mcp-generator.d.ts +0 -1
  183. package/dist/src/init/mcp-generator.d.ts.map +1 -1
  184. package/dist/src/init/mcp-generator.js +62 -42
  185. package/dist/src/init/mcp-generator.js.map +1 -1
  186. package/dist/src/init/settings-generator.d.ts.map +1 -1
  187. package/dist/src/init/settings-generator.js +167 -100
  188. package/dist/src/init/settings-generator.js.map +1 -1
  189. package/dist/src/init/statusline-generator.d.ts +16 -8
  190. package/dist/src/init/statusline-generator.d.ts.map +1 -1
  191. package/dist/src/init/statusline-generator.js +20 -1300
  192. package/dist/src/init/statusline-generator.js.map +1 -1
  193. package/dist/src/init/types.d.ts +15 -5
  194. package/dist/src/init/types.d.ts.map +1 -1
  195. package/dist/src/init/types.js +66 -76
  196. package/dist/src/init/types.js.map +1 -1
  197. package/dist/src/mcp-client.js +130 -76
  198. package/dist/src/mcp-client.js.map +1 -1
  199. package/dist/src/mcp-server.js +758 -445
  200. package/dist/src/mcp-server.js.map +1 -1
  201. package/dist/src/mcp-tools/agent-tools.js +492 -391
  202. package/dist/src/mcp-tools/agent-tools.js.map +1 -1
  203. package/dist/src/mcp-tools/agentdb-tools.d.ts +30 -0
  204. package/dist/src/mcp-tools/agentdb-tools.d.ts.map +1 -0
  205. package/dist/src/mcp-tools/agentdb-tools.js +758 -0
  206. package/dist/src/mcp-tools/agentdb-tools.js.map +1 -0
  207. package/dist/src/mcp-tools/analyze-tools.js +236 -172
  208. package/dist/src/mcp-tools/analyze-tools.js.map +1 -1
  209. package/dist/src/mcp-tools/auto-install.js +142 -80
  210. package/dist/src/mcp-tools/auto-install.js.map +1 -1
  211. package/dist/src/mcp-tools/browser-tools.js +375 -252
  212. package/dist/src/mcp-tools/browser-tools.js.map +1 -1
  213. package/dist/src/mcp-tools/claims-tools.js +565 -473
  214. package/dist/src/mcp-tools/claims-tools.js.map +1 -1
  215. package/dist/src/mcp-tools/config-tools.d.ts.map +1 -1
  216. package/dist/src/mcp-tools/config-tools.js +284 -190
  217. package/dist/src/mcp-tools/config-tools.js.map +1 -1
  218. package/dist/src/mcp-tools/coordination-tools.d.ts.map +1 -1
  219. package/dist/src/mcp-tools/coordination-tools.js +600 -349
  220. package/dist/src/mcp-tools/coordination-tools.js.map +1 -1
  221. package/dist/src/mcp-tools/daa-tools.js +367 -289
  222. package/dist/src/mcp-tools/daa-tools.js.map +1 -1
  223. package/dist/src/mcp-tools/embeddings-tools.js +693 -582
  224. package/dist/src/mcp-tools/embeddings-tools.js.map +1 -1
  225. package/dist/src/mcp-tools/github-tools.js +312 -261
  226. package/dist/src/mcp-tools/github-tools.js.map +1 -1
  227. package/dist/src/mcp-tools/hive-mind-tools.d.ts.map +1 -1
  228. package/dist/src/mcp-tools/hive-mind-tools.js +718 -423
  229. package/dist/src/mcp-tools/hive-mind-tools.js.map +1 -1
  230. package/dist/src/mcp-tools/hooks-tools.d.ts.map +1 -1
  231. package/dist/src/mcp-tools/hooks-tools.js +2726 -1978
  232. package/dist/src/mcp-tools/hooks-tools.js.map +1 -1
  233. package/dist/src/mcp-tools/index.d.ts +2 -0
  234. package/dist/src/mcp-tools/index.d.ts.map +1 -1
  235. package/dist/src/mcp-tools/index.js +2 -0
  236. package/dist/src/mcp-tools/index.js.map +1 -1
  237. package/dist/src/mcp-tools/memory-tools.d.ts.map +1 -1
  238. package/dist/src/mcp-tools/memory-tools.js +514 -329
  239. package/dist/src/mcp-tools/memory-tools.js.map +1 -1
  240. package/dist/src/mcp-tools/neural-tools.d.ts.map +1 -1
  241. package/dist/src/mcp-tools/neural-tools.js +428 -326
  242. package/dist/src/mcp-tools/neural-tools.js.map +1 -1
  243. package/dist/src/mcp-tools/performance-tools.js +480 -420
  244. package/dist/src/mcp-tools/performance-tools.js.map +1 -1
  245. package/dist/src/mcp-tools/progress-tools.js +278 -204
  246. package/dist/src/mcp-tools/progress-tools.js.map +1 -1
  247. package/dist/src/mcp-tools/ruvllm-tools.d.ts +9 -0
  248. package/dist/src/mcp-tools/ruvllm-tools.d.ts.map +1 -0
  249. package/dist/src/mcp-tools/ruvllm-tools.js +399 -0
  250. package/dist/src/mcp-tools/ruvllm-tools.js.map +1 -0
  251. package/dist/src/mcp-tools/security-tools.js +429 -297
  252. package/dist/src/mcp-tools/security-tools.js.map +1 -1
  253. package/dist/src/mcp-tools/session-tools.js +234 -185
  254. package/dist/src/mcp-tools/session-tools.js.map +1 -1
  255. package/dist/src/mcp-tools/swarm-tools.d.ts +2 -1
  256. package/dist/src/mcp-tools/swarm-tools.d.ts.map +1 -1
  257. package/dist/src/mcp-tools/swarm-tools.js +303 -64
  258. package/dist/src/mcp-tools/swarm-tools.js.map +1 -1
  259. package/dist/src/mcp-tools/system-tools.d.ts.map +1 -1
  260. package/dist/src/mcp-tools/system-tools.js +352 -200
  261. package/dist/src/mcp-tools/system-tools.js.map +1 -1
  262. package/dist/src/mcp-tools/task-tools.d.ts.map +1 -1
  263. package/dist/src/mcp-tools/task-tools.js +357 -189
  264. package/dist/src/mcp-tools/task-tools.js.map +1 -1
  265. package/dist/src/mcp-tools/terminal-tools.js +196 -148
  266. package/dist/src/mcp-tools/terminal-tools.js.map +1 -1
  267. package/dist/src/mcp-tools/transfer-tools.js +333 -186
  268. package/dist/src/mcp-tools/transfer-tools.js.map +1 -1
  269. package/dist/src/mcp-tools/wasm-agent-tools.d.ts +9 -0
  270. package/dist/src/mcp-tools/wasm-agent-tools.d.ts.map +1 -0
  271. package/dist/src/mcp-tools/wasm-agent-tools.js +377 -0
  272. package/dist/src/mcp-tools/wasm-agent-tools.js.map +1 -0
  273. package/dist/src/mcp-tools/workflow-tools.d.ts.map +1 -1
  274. package/dist/src/mcp-tools/workflow-tools.js +471 -335
  275. package/dist/src/mcp-tools/workflow-tools.js.map +1 -1
  276. package/dist/src/memory/ewc-consolidation.js +345 -173
  277. package/dist/src/memory/ewc-consolidation.js.map +1 -1
  278. package/dist/src/memory/intelligence.js +841 -359
  279. package/dist/src/memory/intelligence.js.map +1 -1
  280. package/dist/src/memory/memory-bridge.js +1964 -0
  281. package/dist/src/memory/memory-bridge.js.map +1 -0
  282. package/dist/src/memory/memory-initializer.js +1895 -1602
  283. package/dist/src/memory/memory-initializer.js.map +1 -1
  284. package/dist/src/memory/sona-optimizer.js +329 -199
  285. package/dist/src/memory/sona-optimizer.js.map +1 -1
  286. package/dist/src/output.d.ts +2 -2
  287. package/dist/src/output.d.ts.map +1 -1
  288. package/dist/src/output.js +273 -242
  289. package/dist/src/output.js.map +1 -1
  290. package/dist/src/parser.js +217 -124
  291. package/dist/src/parser.js.map +1 -1
  292. package/dist/src/plugins/manager.js +531 -278
  293. package/dist/src/plugins/manager.js.map +1 -1
  294. package/dist/src/plugins/store/discovery.js +362 -275
  295. package/dist/src/plugins/store/discovery.js.map +1 -1
  296. package/dist/src/plugins/store/index.js +105 -48
  297. package/dist/src/plugins/store/index.js.map +1 -1
  298. package/dist/src/plugins/store/search.js +107 -69
  299. package/dist/src/plugins/store/search.js.map +1 -1
  300. package/dist/src/plugins/tests/demo-plugin-store.js +160 -113
  301. package/dist/src/plugins/tests/demo-plugin-store.js.map +1 -1
  302. package/dist/src/plugins/tests/standalone-test.js +223 -172
  303. package/dist/src/plugins/tests/standalone-test.js.map +1 -1
  304. package/dist/src/plugins/tests/test-plugin-store.js +228 -190
  305. package/dist/src/plugins/tests/test-plugin-store.js.map +1 -1
  306. package/dist/src/production/circuit-breaker.js +126 -62
  307. package/dist/src/production/circuit-breaker.js.map +1 -1
  308. package/dist/src/production/error-handler.js +156 -86
  309. package/dist/src/production/error-handler.js.map +1 -1
  310. package/dist/src/production/monitoring.js +220 -139
  311. package/dist/src/production/monitoring.js.map +1 -1
  312. package/dist/src/production/rate-limiter.js +93 -74
  313. package/dist/src/production/rate-limiter.js.map +1 -1
  314. package/dist/src/production/retry.js +167 -75
  315. package/dist/src/production/retry.js.map +1 -1
  316. package/dist/src/prompt.js +560 -436
  317. package/dist/src/prompt.js.map +1 -1
  318. package/dist/src/runtime/headless.js +289 -200
  319. package/dist/src/runtime/headless.js.map +1 -1
  320. package/dist/src/ruvector/agent-wasm.js +511 -0
  321. package/dist/src/ruvector/agent-wasm.js.map +1 -0
  322. package/dist/src/ruvector/ast-analyzer.js +232 -145
  323. package/dist/src/ruvector/ast-analyzer.js.map +1 -1
  324. package/dist/src/ruvector/coverage-router.js +419 -287
  325. package/dist/src/ruvector/coverage-router.js.map +1 -1
  326. package/dist/src/ruvector/coverage-tools.js +101 -56
  327. package/dist/src/ruvector/coverage-tools.js.map +1 -1
  328. package/dist/src/ruvector/diff-classifier.js +451 -324
  329. package/dist/src/ruvector/diff-classifier.js.map +1 -1
  330. package/dist/src/ruvector/enhanced-model-router.js +337 -251
  331. package/dist/src/ruvector/enhanced-model-router.js.map +1 -1
  332. package/dist/src/ruvector/flash-attention.js +254 -223
  333. package/dist/src/ruvector/flash-attention.js.map +1 -1
  334. package/dist/src/ruvector/graph-analyzer.js +680 -486
  335. package/dist/src/ruvector/graph-analyzer.js.map +1 -1
  336. package/dist/src/ruvector/index.js +113 -27
  337. package/dist/src/ruvector/index.js.map +1 -1
  338. package/dist/src/ruvector/lora-adapter.js +248 -155
  339. package/dist/src/ruvector/lora-adapter.js.map +1 -1
  340. package/dist/src/ruvector/model-router.js +248 -175
  341. package/dist/src/ruvector/model-router.js.map +1 -1
  342. package/dist/src/ruvector/moe-router.js +286 -228
  343. package/dist/src/ruvector/moe-router.js.map +1 -1
  344. package/dist/src/ruvector/q-learning-router.js +338 -257
  345. package/dist/src/ruvector/q-learning-router.js.map +1 -1
  346. package/dist/src/ruvector/ruvllm-wasm.js +527 -0
  347. package/dist/src/ruvector/ruvllm-wasm.js.map +1 -0
  348. package/dist/src/ruvector/semantic-router.js +67 -60
  349. package/dist/src/ruvector/semantic-router.js.map +1 -1
  350. package/dist/src/ruvector/vector-db.js +205 -119
  351. package/dist/src/ruvector/vector-db.js.map +1 -1
  352. package/dist/src/services/agentic-flow-bridge.js +168 -0
  353. package/dist/src/services/agentic-flow-bridge.js.map +1 -0
  354. package/dist/src/services/claim-service.js +940 -615
  355. package/dist/src/services/claim-service.js.map +1 -1
  356. package/dist/src/services/container-worker-pool.js +669 -399
  357. package/dist/src/services/container-worker-pool.js.map +1 -1
  358. package/dist/src/services/headless-worker-executor.js +467 -441
  359. package/dist/src/services/headless-worker-executor.js.map +1 -1
  360. package/dist/src/services/index.d.ts +5 -5
  361. package/dist/src/services/index.d.ts.map +1 -1
  362. package/dist/src/services/index.js +4 -4
  363. package/dist/src/services/index.js.map +1 -1
  364. package/dist/src/services/registry-api.js +201 -93
  365. package/dist/src/services/registry-api.js.map +1 -1
  366. package/dist/src/services/ruvector-training.js +414 -144
  367. package/dist/src/services/ruvector-training.js.map +1 -1
  368. package/dist/src/services/worker-daemon.js +928 -531
  369. package/dist/src/services/worker-daemon.js.map +1 -1
  370. package/dist/src/services/worker-queue.js +550 -331
  371. package/dist/src/services/worker-queue.js.map +1 -1
  372. package/dist/src/suggest.js +55 -45
  373. package/dist/src/suggest.js.map +1 -1
  374. package/dist/src/transfer/anonymization/index.js +37 -29
  375. package/dist/src/transfer/anonymization/index.js.map +1 -1
  376. package/dist/src/transfer/deploy-seraphine.d.ts +1 -1
  377. package/dist/src/transfer/deploy-seraphine.js +156 -129
  378. package/dist/src/transfer/deploy-seraphine.js.map +1 -1
  379. package/dist/src/transfer/export.js +142 -84
  380. package/dist/src/transfer/export.js.map +1 -1
  381. package/dist/src/transfer/index.d.ts +1 -1
  382. package/dist/src/transfer/index.d.ts.map +1 -1
  383. package/dist/src/transfer/index.js +2 -0
  384. package/dist/src/transfer/index.js.map +1 -1
  385. package/dist/src/transfer/ipfs/client.js +337 -179
  386. package/dist/src/transfer/ipfs/client.js.map +1 -1
  387. package/dist/src/transfer/ipfs/upload.js +434 -290
  388. package/dist/src/transfer/ipfs/upload.js.map +1 -1
  389. package/dist/src/transfer/models/seraphine.js +58 -58
  390. package/dist/src/transfer/models/seraphine.js.map +1 -1
  391. package/dist/src/transfer/serialization/cfp.js +37 -33
  392. package/dist/src/transfer/serialization/cfp.js.map +1 -1
  393. package/dist/src/transfer/storage/gcs.js +248 -139
  394. package/dist/src/transfer/storage/gcs.js.map +1 -1
  395. package/dist/src/transfer/store/discovery.js +353 -243
  396. package/dist/src/transfer/store/discovery.js.map +1 -1
  397. package/dist/src/transfer/store/download.js +365 -243
  398. package/dist/src/transfer/store/download.js.map +1 -1
  399. package/dist/src/transfer/store/index.js +130 -63
  400. package/dist/src/transfer/store/index.js.map +1 -1
  401. package/dist/src/transfer/store/publish.js +258 -184
  402. package/dist/src/transfer/store/publish.js.map +1 -1
  403. package/dist/src/transfer/store/registry.js +73 -51
  404. package/dist/src/transfer/store/registry.js.map +1 -1
  405. package/dist/src/transfer/store/search.js +96 -64
  406. package/dist/src/transfer/store/search.js.map +1 -1
  407. package/dist/src/transfer/store/tests/standalone-test.js +231 -174
  408. package/dist/src/transfer/store/tests/standalone-test.js.map +1 -1
  409. package/dist/src/transfer/test-seraphine.js +130 -95
  410. package/dist/src/transfer/test-seraphine.js.map +1 -1
  411. package/dist/src/transfer/tests/test-store.js +239 -194
  412. package/dist/src/transfer/tests/test-store.js.map +1 -1
  413. package/dist/src/types.js +56 -27
  414. package/dist/src/types.js.map +1 -1
  415. package/dist/src/update/checker.js +183 -106
  416. package/dist/src/update/checker.js.map +1 -1
  417. package/dist/src/update/executor.js +198 -135
  418. package/dist/src/update/executor.js.map +1 -1
  419. package/dist/src/update/index.js +85 -38
  420. package/dist/src/update/index.js.map +1 -1
  421. package/dist/src/update/rate-limiter.js +31 -19
  422. package/dist/src/update/rate-limiter.js.map +1 -1
  423. package/dist/src/update/validator.js +64 -38
  424. package/dist/src/update/validator.js.map +1 -1
  425. package/dist/tsconfig.tsbuildinfo +1 -1
  426. package/package.json +13 -10
  427. package/.claude/agents/custom/accessibility-auditor.yaml +0 -56
  428. package/.claude/agents/custom/design-architect.yaml +0 -48
  429. package/.claude/agents/custom/ui-developer.yaml +0 -46
  430. package/.claude/agents/custom/ux-researcher.yaml +0 -60
  431. package/dist/src/benchmarks/pretrain/index.d.ts +0 -58
  432. package/dist/src/benchmarks/pretrain/index.d.ts.map +0 -1
  433. package/dist/src/commands/index.d.ts +0 -108
  434. package/dist/src/commands/index.d.ts.map +0 -1
  435. package/dist/src/config-adapter.d.ts +0 -15
  436. package/dist/src/config-adapter.d.ts.map +0 -1
  437. package/dist/src/index.d.ts +0 -76
  438. package/dist/src/index.d.ts.map +0 -1
  439. package/dist/src/infrastructure/in-memory-repositories.d.ts +0 -68
  440. package/dist/src/infrastructure/in-memory-repositories.d.ts.map +0 -1
  441. package/dist/src/init/claudemd-generator.d.ts +0 -25
  442. package/dist/src/init/claudemd-generator.d.ts.map +0 -1
  443. package/dist/src/init/executor.d.ts +0 -41
  444. package/dist/src/init/executor.d.ts.map +0 -1
  445. package/dist/src/init/helpers-generator.d.ts +0 -60
  446. package/dist/src/init/helpers-generator.d.ts.map +0 -1
  447. package/dist/src/mcp-client.d.ts +0 -92
  448. package/dist/src/mcp-client.d.ts.map +0 -1
  449. package/dist/src/mcp-server.d.ts +0 -161
  450. package/dist/src/mcp-server.d.ts.map +0 -1
  451. package/dist/src/mcp-tools/auto-install.d.ts +0 -83
  452. package/dist/src/mcp-tools/auto-install.d.ts.map +0 -1
  453. package/dist/src/mcp-tools/types.d.ts +0 -31
  454. package/dist/src/mcp-tools/types.d.ts.map +0 -1
  455. package/dist/src/memory/ewc-consolidation.d.ts +0 -271
  456. package/dist/src/memory/ewc-consolidation.d.ts.map +0 -1
  457. package/dist/src/memory/intelligence.d.ts +0 -285
  458. package/dist/src/memory/intelligence.d.ts.map +0 -1
  459. package/dist/src/memory/memory-initializer.d.ts +0 -396
  460. package/dist/src/memory/memory-initializer.d.ts.map +0 -1
  461. package/dist/src/memory/sona-optimizer.d.ts +0 -227
  462. package/dist/src/memory/sona-optimizer.d.ts.map +0 -1
  463. package/dist/src/parser.d.ts +0 -41
  464. package/dist/src/parser.d.ts.map +0 -1
  465. package/dist/src/plugins/manager.d.ts +0 -133
  466. package/dist/src/plugins/manager.d.ts.map +0 -1
  467. package/dist/src/plugins/store/discovery.d.ts +0 -88
  468. package/dist/src/plugins/store/discovery.d.ts.map +0 -1
  469. package/dist/src/plugins/store/index.d.ts +0 -76
  470. package/dist/src/plugins/store/index.d.ts.map +0 -1
  471. package/dist/src/plugins/store/search.d.ts +0 -46
  472. package/dist/src/plugins/store/search.d.ts.map +0 -1
  473. package/dist/src/plugins/store/types.d.ts +0 -274
  474. package/dist/src/plugins/store/types.d.ts.map +0 -1
  475. package/dist/src/production/circuit-breaker.d.ts +0 -101
  476. package/dist/src/production/circuit-breaker.d.ts.map +0 -1
  477. package/dist/src/production/error-handler.d.ts +0 -92
  478. package/dist/src/production/error-handler.d.ts.map +0 -1
  479. package/dist/src/production/monitoring.d.ts +0 -161
  480. package/dist/src/production/monitoring.d.ts.map +0 -1
  481. package/dist/src/production/rate-limiter.d.ts +0 -80
  482. package/dist/src/production/rate-limiter.d.ts.map +0 -1
  483. package/dist/src/production/retry.d.ts +0 -48
  484. package/dist/src/production/retry.d.ts.map +0 -1
  485. package/dist/src/prompt.d.ts +0 -44
  486. package/dist/src/prompt.d.ts.map +0 -1
  487. package/dist/src/runtime/headless.d.ts +0 -60
  488. package/dist/src/runtime/headless.d.ts.map +0 -1
  489. package/dist/src/ruvector/ast-analyzer.d.ts +0 -67
  490. package/dist/src/ruvector/ast-analyzer.d.ts.map +0 -1
  491. package/dist/src/ruvector/coverage-router.d.ts +0 -160
  492. package/dist/src/ruvector/coverage-router.d.ts.map +0 -1
  493. package/dist/src/ruvector/diff-classifier.d.ts +0 -175
  494. package/dist/src/ruvector/diff-classifier.d.ts.map +0 -1
  495. package/dist/src/ruvector/enhanced-model-router.d.ts +0 -146
  496. package/dist/src/ruvector/enhanced-model-router.d.ts.map +0 -1
  497. package/dist/src/ruvector/flash-attention.d.ts +0 -195
  498. package/dist/src/ruvector/flash-attention.d.ts.map +0 -1
  499. package/dist/src/ruvector/graph-analyzer.d.ts +0 -187
  500. package/dist/src/ruvector/graph-analyzer.d.ts.map +0 -1
  501. package/dist/src/ruvector/index.d.ts +0 -34
  502. package/dist/src/ruvector/index.d.ts.map +0 -1
  503. package/dist/src/ruvector/lora-adapter.d.ts +0 -218
  504. package/dist/src/ruvector/lora-adapter.d.ts.map +0 -1
  505. package/dist/src/ruvector/model-router.d.ts +0 -220
  506. package/dist/src/ruvector/model-router.d.ts.map +0 -1
  507. package/dist/src/ruvector/moe-router.d.ts +0 -206
  508. package/dist/src/ruvector/moe-router.d.ts.map +0 -1
  509. package/dist/src/ruvector/q-learning-router.d.ts +0 -211
  510. package/dist/src/ruvector/q-learning-router.d.ts.map +0 -1
  511. package/dist/src/ruvector/semantic-router.d.ts +0 -77
  512. package/dist/src/ruvector/semantic-router.d.ts.map +0 -1
  513. package/dist/src/ruvector/vector-db.d.ts +0 -69
  514. package/dist/src/ruvector/vector-db.d.ts.map +0 -1
  515. package/dist/src/services/claim-service.d.ts +0 -204
  516. package/dist/src/services/claim-service.d.ts.map +0 -1
  517. package/dist/src/services/container-worker-pool.d.ts +0 -197
  518. package/dist/src/services/container-worker-pool.d.ts.map +0 -1
  519. package/dist/src/services/headless-worker-executor.d.ts +0 -304
  520. package/dist/src/services/headless-worker-executor.d.ts.map +0 -1
  521. package/dist/src/services/registry-api.d.ts +0 -58
  522. package/dist/src/services/registry-api.d.ts.map +0 -1
  523. package/dist/src/services/ruvector-training.d.ts +0 -213
  524. package/dist/src/services/ruvector-training.d.ts.map +0 -1
  525. package/dist/src/services/worker-daemon.d.ts +0 -203
  526. package/dist/src/services/worker-daemon.d.ts.map +0 -1
  527. package/dist/src/services/worker-queue.d.ts +0 -194
  528. package/dist/src/services/worker-queue.d.ts.map +0 -1
  529. package/dist/src/suggest.d.ts +0 -53
  530. package/dist/src/suggest.d.ts.map +0 -1
  531. package/dist/src/transfer/export.d.ts +0 -25
  532. package/dist/src/transfer/export.d.ts.map +0 -1
  533. package/dist/src/transfer/ipfs/client.d.ts +0 -109
  534. package/dist/src/transfer/ipfs/client.d.ts.map +0 -1
  535. package/dist/src/transfer/ipfs/upload.d.ts +0 -95
  536. package/dist/src/transfer/ipfs/upload.d.ts.map +0 -1
  537. package/dist/src/transfer/models/seraphine.d.ts +0 -72
  538. package/dist/src/transfer/models/seraphine.d.ts.map +0 -1
  539. package/dist/src/transfer/serialization/cfp.d.ts +0 -49
  540. package/dist/src/transfer/serialization/cfp.d.ts.map +0 -1
  541. package/dist/src/transfer/storage/gcs.d.ts +0 -82
  542. package/dist/src/transfer/storage/gcs.d.ts.map +0 -1
  543. package/dist/src/transfer/store/discovery.d.ts +0 -84
  544. package/dist/src/transfer/store/discovery.d.ts.map +0 -1
  545. package/dist/src/transfer/store/download.d.ts +0 -70
  546. package/dist/src/transfer/store/download.d.ts.map +0 -1
  547. package/dist/src/transfer/store/index.d.ts +0 -84
  548. package/dist/src/transfer/store/index.d.ts.map +0 -1
  549. package/dist/src/transfer/store/publish.d.ts +0 -76
  550. package/dist/src/transfer/store/publish.d.ts.map +0 -1
  551. package/dist/src/transfer/store/search.d.ts +0 -54
  552. package/dist/src/transfer/store/search.d.ts.map +0 -1
  553. package/dist/src/transfer/types.d.ts +0 -245
  554. package/dist/src/transfer/types.d.ts.map +0 -1
  555. package/dist/src/types.d.ts +0 -198
  556. package/dist/src/types.d.ts.map +0 -1
  557. package/dist/src/update/checker.d.ts +0 -34
  558. package/dist/src/update/checker.d.ts.map +0 -1
  559. package/dist/src/update/executor.d.ts +0 -32
  560. package/dist/src/update/executor.d.ts.map +0 -1
  561. package/dist/src/update/index.d.ts +0 -33
  562. package/dist/src/update/index.d.ts.map +0 -1
  563. package/dist/src/update/rate-limiter.d.ts +0 -20
  564. package/dist/src/update/rate-limiter.d.ts.map +0 -1
  565. package/dist/src/update/validator.d.ts +0 -17
  566. package/dist/src/update/validator.d.ts.map +0 -1
@@ -3,12 +3,59 @@
3
3
  *
4
4
  * Tool definitions for workflow automation and orchestration.
5
5
  */
6
+ var __assign = (this && this.__assign) || function () {
7
+ __assign = Object.assign || function(t) {
8
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
9
+ s = arguments[i];
10
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
11
+ t[p] = s[p];
12
+ }
13
+ return t;
14
+ };
15
+ return __assign.apply(this, arguments);
16
+ };
17
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
18
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
19
+ return new (P || (P = Promise))(function (resolve, reject) {
20
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
21
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
22
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
23
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
24
+ });
25
+ };
26
+ var __generator = (this && this.__generator) || function (thisArg, body) {
27
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
28
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
29
+ function verb(n) { return function (v) { return step([n, v]); }; }
30
+ function step(op) {
31
+ if (f) throw new TypeError("Generator is already executing.");
32
+ while (_) try {
33
+ 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;
34
+ if (y = 0, t) op = [op[0] & 2, t.value];
35
+ switch (op[0]) {
36
+ case 0: case 1: t = op; break;
37
+ case 4: _.label++; return { value: op[1], done: false };
38
+ case 5: _.label++; y = op[1]; op = [0]; continue;
39
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
40
+ default:
41
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
42
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
43
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
44
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
45
+ if (t[2]) _.ops.pop();
46
+ _.trys.pop(); continue;
47
+ }
48
+ op = body.call(thisArg, _);
49
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
50
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
51
+ }
52
+ };
6
53
  import { existsSync, readFileSync, writeFileSync, mkdirSync } from 'node:fs';
7
54
  import { join } from 'node:path';
8
55
  // Storage paths
9
- const STORAGE_DIR = '.claude-flow';
10
- const WORKFLOW_DIR = 'workflows';
11
- const WORKFLOW_FILE = 'store.json';
56
+ var STORAGE_DIR = '.claude-flow';
57
+ var WORKFLOW_DIR = 'workflows';
58
+ var WORKFLOW_FILE = 'store.json';
12
59
  function getWorkflowDir() {
13
60
  return join(process.cwd(), STORAGE_DIR, WORKFLOW_DIR);
14
61
  }
@@ -16,20 +63,20 @@ function getWorkflowPath() {
16
63
  return join(getWorkflowDir(), WORKFLOW_FILE);
17
64
  }
18
65
  function ensureWorkflowDir() {
19
- const dir = getWorkflowDir();
66
+ var dir = getWorkflowDir();
20
67
  if (!existsSync(dir)) {
21
68
  mkdirSync(dir, { recursive: true });
22
69
  }
23
70
  }
24
71
  function loadWorkflowStore() {
25
72
  try {
26
- const path = getWorkflowPath();
73
+ var path = getWorkflowPath();
27
74
  if (existsSync(path)) {
28
- const data = readFileSync(path, 'utf-8');
75
+ var data = readFileSync(path, 'utf-8');
29
76
  return JSON.parse(data);
30
77
  }
31
78
  }
32
- catch {
79
+ catch (_a) {
33
80
  // Return default store on error
34
81
  }
35
82
  return { workflows: {}, templates: {}, version: '3.0.0' };
@@ -38,7 +85,99 @@ function saveWorkflowStore(store) {
38
85
  ensureWorkflowDir();
39
86
  writeFileSync(getWorkflowPath(), JSON.stringify(store, null, 2), 'utf-8');
40
87
  }
41
- export const workflowTools = [
88
+ export var workflowTools = [
89
+ {
90
+ name: 'workflow_run',
91
+ description: 'Run a workflow from a template or file',
92
+ category: 'workflow',
93
+ inputSchema: {
94
+ type: 'object',
95
+ properties: {
96
+ template: { type: 'string', description: 'Template name to run' },
97
+ file: { type: 'string', description: 'Workflow file path' },
98
+ task: { type: 'string', description: 'Task description' },
99
+ options: {
100
+ type: 'object',
101
+ description: 'Workflow options',
102
+ properties: {
103
+ parallel: { type: 'boolean', description: 'Run stages in parallel' },
104
+ maxAgents: { type: 'number', description: 'Maximum agents to use' },
105
+ timeout: { type: 'number', description: 'Timeout in seconds' },
106
+ dryRun: { type: 'boolean', description: 'Validate without executing' }
107
+ }
108
+ }
109
+ }
110
+ },
111
+ handler: function (input) { return __awaiter(void 0, void 0, void 0, function () {
112
+ var store, template, task, options, dryRun, workflowId, stages, templateName, stageNames, _i, stageNames_1, name, steps, workflow;
113
+ return __generator(this, function (_a) {
114
+ store = loadWorkflowStore();
115
+ template = input.template;
116
+ task = input.task;
117
+ options = input.options || {};
118
+ dryRun = options.dryRun;
119
+ workflowId = "workflow-" + Date.now() + "-" + Math.random().toString(36).slice(2, 8);
120
+ stages = [];
121
+ templateName = template || 'custom';
122
+ stageNames = (function () {
123
+ switch (templateName) {
124
+ case 'feature':
125
+ return ['Research', 'Design', 'Implement', 'Test', 'Review'];
126
+ case 'bugfix':
127
+ return ['Investigate', 'Fix', 'Test', 'Review'];
128
+ case 'refactor':
129
+ return ['Analyze', 'Refactor', 'Test', 'Review'];
130
+ case 'security':
131
+ return ['Scan', 'Analyze', 'Report'];
132
+ default:
133
+ return ['Execute'];
134
+ }
135
+ })();
136
+ for (_i = 0, stageNames_1 = stageNames; _i < stageNames_1.length; _i++) {
137
+ name = stageNames_1[_i];
138
+ stages.push({
139
+ name: name,
140
+ status: dryRun ? 'validated' : 'pending',
141
+ agents: []
142
+ });
143
+ }
144
+ if (!dryRun) {
145
+ steps = stageNames.map(function (name, i) { return ({
146
+ stepId: "step-" + (i + 1),
147
+ name: name,
148
+ type: 'task',
149
+ config: { task: task || name },
150
+ status: 'pending'
151
+ }); });
152
+ workflow = {
153
+ workflowId: workflowId,
154
+ name: task || templateName + " workflow",
155
+ description: task,
156
+ steps: steps,
157
+ status: 'running',
158
+ currentStep: 0,
159
+ variables: __assign({ template: templateName }, options),
160
+ createdAt: new Date().toISOString(),
161
+ startedAt: new Date().toISOString()
162
+ };
163
+ store.workflows[workflowId] = workflow;
164
+ saveWorkflowStore(store);
165
+ }
166
+ return [2 /*return*/, {
167
+ workflowId: workflowId,
168
+ template: templateName,
169
+ status: dryRun ? 'validated' : 'running',
170
+ stages: stages,
171
+ metrics: {
172
+ totalStages: stages.length,
173
+ completedStages: 0,
174
+ agentsSpawned: 0,
175
+ estimatedDuration: stages.length * 30 + "s"
176
+ }
177
+ }];
178
+ });
179
+ }); }
180
+ },
42
181
  {
43
182
  name: 'workflow_create',
44
183
  description: 'Create a new workflow',
@@ -55,45 +194,48 @@ export const workflowTools = [
55
194
  type: 'object',
56
195
  properties: {
57
196
  name: { type: 'string' },
58
- type: { type: 'string', enum: ['task', 'condition', 'parallel', 'loop', 'wait'] },
59
- config: { type: 'object' },
60
- },
61
- },
197
+ type: { type: 'string', "enum": ['task', 'condition', 'parallel', 'loop', 'wait'] },
198
+ config: { type: 'object' }
199
+ }
200
+ }
62
201
  },
63
- variables: { type: 'object', description: 'Initial variables' },
202
+ variables: { type: 'object', description: 'Initial variables' }
64
203
  },
65
- required: ['name'],
66
- },
67
- handler: async (input) => {
68
- const store = loadWorkflowStore();
69
- const workflowId = `workflow-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`;
70
- const steps = (input.steps || []).map((s, i) => ({
71
- stepId: `step-${i + 1}`,
72
- name: s.name || `Step ${i + 1}`,
73
- type: s.type || 'task',
74
- config: s.config || {},
75
- status: 'pending',
76
- }));
77
- const workflow = {
78
- workflowId,
79
- name: input.name,
80
- description: input.description,
81
- steps,
82
- status: steps.length > 0 ? 'ready' : 'draft',
83
- currentStep: 0,
84
- variables: input.variables || {},
85
- createdAt: new Date().toISOString(),
86
- };
87
- store.workflows[workflowId] = workflow;
88
- saveWorkflowStore(store);
89
- return {
90
- workflowId,
91
- name: workflow.name,
92
- status: workflow.status,
93
- stepCount: steps.length,
94
- createdAt: workflow.createdAt,
95
- };
204
+ required: ['name']
96
205
  },
206
+ handler: function (input) { return __awaiter(void 0, void 0, void 0, function () {
207
+ var store, workflowId, steps, workflow;
208
+ return __generator(this, function (_a) {
209
+ store = loadWorkflowStore();
210
+ workflowId = "workflow-" + Date.now() + "-" + Math.random().toString(36).slice(2, 8);
211
+ steps = (input.steps || []).map(function (s, i) { return ({
212
+ stepId: "step-" + (i + 1),
213
+ name: s.name || "Step " + (i + 1),
214
+ type: s.type || 'task',
215
+ config: s.config || {},
216
+ status: 'pending'
217
+ }); });
218
+ workflow = {
219
+ workflowId: workflowId,
220
+ name: input.name,
221
+ description: input.description,
222
+ steps: steps,
223
+ status: steps.length > 0 ? 'ready' : 'draft',
224
+ currentStep: 0,
225
+ variables: input.variables || {},
226
+ createdAt: new Date().toISOString()
227
+ };
228
+ store.workflows[workflowId] = workflow;
229
+ saveWorkflowStore(store);
230
+ return [2 /*return*/, {
231
+ workflowId: workflowId,
232
+ name: workflow.name,
233
+ status: workflow.status,
234
+ stepCount: steps.length,
235
+ createdAt: workflow.createdAt
236
+ }];
237
+ });
238
+ }); }
97
239
  },
98
240
  {
99
241
  name: 'workflow_execute',
@@ -104,53 +246,55 @@ export const workflowTools = [
104
246
  properties: {
105
247
  workflowId: { type: 'string', description: 'Workflow ID to execute' },
106
248
  variables: { type: 'object', description: 'Runtime variables to inject' },
107
- startFromStep: { type: 'number', description: 'Step to start from (0-indexed)' },
249
+ startFromStep: { type: 'number', description: 'Step to start from (0-indexed)' }
108
250
  },
109
- required: ['workflowId'],
110
- },
111
- handler: async (input) => {
112
- const store = loadWorkflowStore();
113
- const workflowId = input.workflowId;
114
- const workflow = store.workflows[workflowId];
115
- if (!workflow) {
116
- return { workflowId, error: 'Workflow not found' };
117
- }
118
- if (workflow.status === 'running') {
119
- return { workflowId, error: 'Workflow already running' };
120
- }
121
- // Inject runtime variables
122
- if (input.variables) {
123
- workflow.variables = { ...workflow.variables, ...input.variables };
124
- }
125
- workflow.status = 'running';
126
- workflow.startedAt = new Date().toISOString();
127
- workflow.currentStep = input.startFromStep || 0;
128
- // Execute steps (in real implementation, this would be async/event-driven)
129
- const results = [];
130
- for (let i = workflow.currentStep; i < workflow.steps.length; i++) {
131
- const step = workflow.steps[i];
132
- step.status = 'running';
133
- step.startedAt = new Date().toISOString();
134
- // For now, mark as completed (real implementation would execute actual tasks)
135
- step.status = 'completed';
136
- step.completedAt = new Date().toISOString();
137
- step.result = { executed: true, stepType: step.type };
138
- results.push({ stepId: step.stepId, status: step.status });
139
- workflow.currentStep = i + 1;
140
- }
141
- workflow.status = 'completed';
142
- workflow.completedAt = new Date().toISOString();
143
- saveWorkflowStore(store);
144
- return {
145
- workflowId,
146
- status: workflow.status,
147
- stepsExecuted: results.length,
148
- results,
149
- startedAt: workflow.startedAt,
150
- completedAt: workflow.completedAt,
151
- duration: new Date(workflow.completedAt).getTime() - new Date(workflow.startedAt).getTime(),
152
- };
251
+ required: ['workflowId']
153
252
  },
253
+ handler: function (input) { return __awaiter(void 0, void 0, void 0, function () {
254
+ var store, workflowId, workflow, results, i, step;
255
+ return __generator(this, function (_a) {
256
+ store = loadWorkflowStore();
257
+ workflowId = input.workflowId;
258
+ workflow = store.workflows[workflowId];
259
+ if (!workflow) {
260
+ return [2 /*return*/, { workflowId: workflowId, error: 'Workflow not found' }];
261
+ }
262
+ if (workflow.status === 'running') {
263
+ return [2 /*return*/, { workflowId: workflowId, error: 'Workflow already running' }];
264
+ }
265
+ // Inject runtime variables
266
+ if (input.variables) {
267
+ workflow.variables = __assign(__assign({}, workflow.variables), input.variables);
268
+ }
269
+ workflow.status = 'running';
270
+ workflow.startedAt = new Date().toISOString();
271
+ workflow.currentStep = input.startFromStep || 0;
272
+ results = [];
273
+ for (i = workflow.currentStep; i < workflow.steps.length; i++) {
274
+ step = workflow.steps[i];
275
+ step.status = 'running';
276
+ step.startedAt = new Date().toISOString();
277
+ // For now, mark as completed (real implementation would execute actual tasks)
278
+ step.status = 'completed';
279
+ step.completedAt = new Date().toISOString();
280
+ step.result = { executed: true, stepType: step.type };
281
+ results.push({ stepId: step.stepId, status: step.status });
282
+ workflow.currentStep = i + 1;
283
+ }
284
+ workflow.status = 'completed';
285
+ workflow.completedAt = new Date().toISOString();
286
+ saveWorkflowStore(store);
287
+ return [2 /*return*/, {
288
+ workflowId: workflowId,
289
+ status: workflow.status,
290
+ stepsExecuted: results.length,
291
+ results: results,
292
+ startedAt: workflow.startedAt,
293
+ completedAt: workflow.completedAt,
294
+ duration: new Date(workflow.completedAt).getTime() - new Date(workflow.startedAt).getTime()
295
+ }];
296
+ });
297
+ }); }
154
298
  },
155
299
  {
156
300
  name: 'workflow_status',
@@ -160,49 +304,46 @@ export const workflowTools = [
160
304
  type: 'object',
161
305
  properties: {
162
306
  workflowId: { type: 'string', description: 'Workflow ID' },
163
- verbose: { type: 'boolean', description: 'Include step details' },
307
+ verbose: { type: 'boolean', description: 'Include step details' }
164
308
  },
165
- required: ['workflowId'],
309
+ required: ['workflowId']
166
310
  },
167
- handler: async (input) => {
168
- const store = loadWorkflowStore();
169
- const workflowId = input.workflowId;
170
- const workflow = store.workflows[workflowId];
171
- if (!workflow) {
172
- return { workflowId, error: 'Workflow not found' };
173
- }
174
- const completedSteps = workflow.steps.filter(s => s.status === 'completed').length;
175
- const progress = workflow.steps.length > 0 ? (completedSteps / workflow.steps.length) * 100 : 0;
176
- const status = {
177
- workflowId: workflow.workflowId,
178
- name: workflow.name,
179
- status: workflow.status,
180
- progress,
181
- currentStep: workflow.currentStep,
182
- totalSteps: workflow.steps.length,
183
- completedSteps,
184
- createdAt: workflow.createdAt,
185
- startedAt: workflow.startedAt,
186
- completedAt: workflow.completedAt,
187
- };
188
- if (input.verbose) {
189
- return {
190
- ...status,
191
- description: workflow.description,
192
- variables: workflow.variables,
193
- steps: workflow.steps.map(s => ({
194
- stepId: s.stepId,
195
- name: s.name,
196
- type: s.type,
197
- status: s.status,
198
- startedAt: s.startedAt,
199
- completedAt: s.completedAt,
200
- })),
201
- error: workflow.error,
311
+ handler: function (input) { return __awaiter(void 0, void 0, void 0, function () {
312
+ var store, workflowId, workflow, completedSteps, progress, status;
313
+ return __generator(this, function (_a) {
314
+ store = loadWorkflowStore();
315
+ workflowId = input.workflowId;
316
+ workflow = store.workflows[workflowId];
317
+ if (!workflow) {
318
+ return [2 /*return*/, { workflowId: workflowId, error: 'Workflow not found' }];
319
+ }
320
+ completedSteps = workflow.steps.filter(function (s) { return s.status === 'completed'; }).length;
321
+ progress = workflow.steps.length > 0 ? (completedSteps / workflow.steps.length) * 100 : 0;
322
+ status = {
323
+ workflowId: workflow.workflowId,
324
+ name: workflow.name,
325
+ status: workflow.status,
326
+ progress: progress,
327
+ currentStep: workflow.currentStep,
328
+ totalSteps: workflow.steps.length,
329
+ completedSteps: completedSteps,
330
+ createdAt: workflow.createdAt,
331
+ startedAt: workflow.startedAt,
332
+ completedAt: workflow.completedAt
202
333
  };
203
- }
204
- return status;
205
- },
334
+ if (input.verbose) {
335
+ return [2 /*return*/, __assign(__assign({}, status), { description: workflow.description, variables: workflow.variables, steps: workflow.steps.map(function (s) { return ({
336
+ stepId: s.stepId,
337
+ name: s.name,
338
+ type: s.type,
339
+ status: s.status,
340
+ startedAt: s.startedAt,
341
+ completedAt: s.completedAt
342
+ }); }), error: workflow.error })];
343
+ }
344
+ return [2 /*return*/, status];
345
+ });
346
+ }); }
206
347
  },
207
348
  {
208
349
  name: 'workflow_list',
@@ -212,34 +353,36 @@ export const workflowTools = [
212
353
  type: 'object',
213
354
  properties: {
214
355
  status: { type: 'string', description: 'Filter by status' },
215
- limit: { type: 'number', description: 'Max workflows to return' },
216
- },
217
- },
218
- handler: async (input) => {
219
- const store = loadWorkflowStore();
220
- let workflows = Object.values(store.workflows);
221
- // Apply filters
222
- if (input.status) {
223
- workflows = workflows.filter(w => w.status === input.status);
356
+ limit: { type: 'number', description: 'Max workflows to return' }
224
357
  }
225
- // Sort by creation date (newest first)
226
- workflows.sort((a, b) => new Date(b.createdAt).getTime() - new Date(a.createdAt).getTime());
227
- // Apply limit
228
- const limit = input.limit || 20;
229
- workflows = workflows.slice(0, limit);
230
- return {
231
- workflows: workflows.map(w => ({
232
- workflowId: w.workflowId,
233
- name: w.name,
234
- status: w.status,
235
- stepCount: w.steps.length,
236
- createdAt: w.createdAt,
237
- completedAt: w.completedAt,
238
- })),
239
- total: workflows.length,
240
- filters: { status: input.status },
241
- };
242
358
  },
359
+ handler: function (input) { return __awaiter(void 0, void 0, void 0, function () {
360
+ var store, workflows, limit;
361
+ return __generator(this, function (_a) {
362
+ store = loadWorkflowStore();
363
+ workflows = Object.values(store.workflows);
364
+ // Apply filters
365
+ if (input.status) {
366
+ workflows = workflows.filter(function (w) { return w.status === input.status; });
367
+ }
368
+ // Sort by creation date (newest first)
369
+ workflows.sort(function (a, b) { return new Date(b.createdAt).getTime() - new Date(a.createdAt).getTime(); });
370
+ limit = input.limit || 20;
371
+ workflows = workflows.slice(0, limit);
372
+ return [2 /*return*/, {
373
+ workflows: workflows.map(function (w) { return ({
374
+ workflowId: w.workflowId,
375
+ name: w.name,
376
+ status: w.status,
377
+ stepCount: w.steps.length,
378
+ createdAt: w.createdAt,
379
+ completedAt: w.completedAt
380
+ }); }),
381
+ total: workflows.length,
382
+ filters: { status: input.status }
383
+ }];
384
+ });
385
+ }); }
243
386
  },
244
387
  {
245
388
  name: 'workflow_pause',
@@ -248,29 +391,32 @@ export const workflowTools = [
248
391
  inputSchema: {
249
392
  type: 'object',
250
393
  properties: {
251
- workflowId: { type: 'string', description: 'Workflow ID' },
394
+ workflowId: { type: 'string', description: 'Workflow ID' }
252
395
  },
253
- required: ['workflowId'],
254
- },
255
- handler: async (input) => {
256
- const store = loadWorkflowStore();
257
- const workflowId = input.workflowId;
258
- const workflow = store.workflows[workflowId];
259
- if (!workflow) {
260
- return { workflowId, error: 'Workflow not found' };
261
- }
262
- if (workflow.status !== 'running') {
263
- return { workflowId, error: 'Workflow not running' };
264
- }
265
- workflow.status = 'paused';
266
- saveWorkflowStore(store);
267
- return {
268
- workflowId,
269
- status: workflow.status,
270
- pausedAt: new Date().toISOString(),
271
- currentStep: workflow.currentStep,
272
- };
396
+ required: ['workflowId']
273
397
  },
398
+ handler: function (input) { return __awaiter(void 0, void 0, void 0, function () {
399
+ var store, workflowId, workflow;
400
+ return __generator(this, function (_a) {
401
+ store = loadWorkflowStore();
402
+ workflowId = input.workflowId;
403
+ workflow = store.workflows[workflowId];
404
+ if (!workflow) {
405
+ return [2 /*return*/, { workflowId: workflowId, error: 'Workflow not found' }];
406
+ }
407
+ if (workflow.status !== 'running') {
408
+ return [2 /*return*/, { workflowId: workflowId, error: 'Workflow not running' }];
409
+ }
410
+ workflow.status = 'paused';
411
+ saveWorkflowStore(store);
412
+ return [2 /*return*/, {
413
+ workflowId: workflowId,
414
+ status: workflow.status,
415
+ pausedAt: new Date().toISOString(),
416
+ currentStep: workflow.currentStep
417
+ }];
418
+ });
419
+ }); }
274
420
  },
275
421
  {
276
422
  name: 'workflow_resume',
@@ -279,45 +425,47 @@ export const workflowTools = [
279
425
  inputSchema: {
280
426
  type: 'object',
281
427
  properties: {
282
- workflowId: { type: 'string', description: 'Workflow ID' },
428
+ workflowId: { type: 'string', description: 'Workflow ID' }
283
429
  },
284
- required: ['workflowId'],
285
- },
286
- handler: async (input) => {
287
- const store = loadWorkflowStore();
288
- const workflowId = input.workflowId;
289
- const workflow = store.workflows[workflowId];
290
- if (!workflow) {
291
- return { workflowId, error: 'Workflow not found' };
292
- }
293
- if (workflow.status !== 'paused') {
294
- return { workflowId, error: 'Workflow not paused' };
295
- }
296
- workflow.status = 'running';
297
- saveWorkflowStore(store);
298
- // Continue execution from current step
299
- const results = [];
300
- for (let i = workflow.currentStep; i < workflow.steps.length; i++) {
301
- const step = workflow.steps[i];
302
- step.status = 'running';
303
- step.startedAt = new Date().toISOString();
304
- step.status = 'completed';
305
- step.completedAt = new Date().toISOString();
306
- step.result = { executed: true };
307
- results.push({ stepId: step.stepId, status: step.status });
308
- workflow.currentStep = i + 1;
309
- }
310
- workflow.status = 'completed';
311
- workflow.completedAt = new Date().toISOString();
312
- saveWorkflowStore(store);
313
- return {
314
- workflowId,
315
- status: workflow.status,
316
- resumed: true,
317
- stepsExecuted: results.length,
318
- completedAt: workflow.completedAt,
319
- };
430
+ required: ['workflowId']
320
431
  },
432
+ handler: function (input) { return __awaiter(void 0, void 0, void 0, function () {
433
+ var store, workflowId, workflow, results, i, step;
434
+ return __generator(this, function (_a) {
435
+ store = loadWorkflowStore();
436
+ workflowId = input.workflowId;
437
+ workflow = store.workflows[workflowId];
438
+ if (!workflow) {
439
+ return [2 /*return*/, { workflowId: workflowId, error: 'Workflow not found' }];
440
+ }
441
+ if (workflow.status !== 'paused') {
442
+ return [2 /*return*/, { workflowId: workflowId, error: 'Workflow not paused' }];
443
+ }
444
+ workflow.status = 'running';
445
+ saveWorkflowStore(store);
446
+ results = [];
447
+ for (i = workflow.currentStep; i < workflow.steps.length; i++) {
448
+ step = workflow.steps[i];
449
+ step.status = 'running';
450
+ step.startedAt = new Date().toISOString();
451
+ step.status = 'completed';
452
+ step.completedAt = new Date().toISOString();
453
+ step.result = { executed: true };
454
+ results.push({ stepId: step.stepId, status: step.status });
455
+ workflow.currentStep = i + 1;
456
+ }
457
+ workflow.status = 'completed';
458
+ workflow.completedAt = new Date().toISOString();
459
+ saveWorkflowStore(store);
460
+ return [2 /*return*/, {
461
+ workflowId: workflowId,
462
+ status: workflow.status,
463
+ resumed: true,
464
+ stepsExecuted: results.length,
465
+ completedAt: workflow.completedAt
466
+ }];
467
+ });
468
+ }); }
321
469
  },
322
470
  {
323
471
  name: 'workflow_cancel',
@@ -327,36 +475,39 @@ export const workflowTools = [
327
475
  type: 'object',
328
476
  properties: {
329
477
  workflowId: { type: 'string', description: 'Workflow ID' },
330
- reason: { type: 'string', description: 'Cancellation reason' },
478
+ reason: { type: 'string', description: 'Cancellation reason' }
331
479
  },
332
- required: ['workflowId'],
333
- },
334
- handler: async (input) => {
335
- const store = loadWorkflowStore();
336
- const workflowId = input.workflowId;
337
- const workflow = store.workflows[workflowId];
338
- if (!workflow) {
339
- return { workflowId, error: 'Workflow not found' };
340
- }
341
- if (workflow.status === 'completed' || workflow.status === 'failed') {
342
- return { workflowId, error: 'Workflow already finished' };
343
- }
344
- workflow.status = 'failed';
345
- workflow.error = input.reason || 'Cancelled by user';
346
- workflow.completedAt = new Date().toISOString();
347
- // Mark remaining steps as skipped
348
- for (let i = workflow.currentStep; i < workflow.steps.length; i++) {
349
- workflow.steps[i].status = 'skipped';
350
- }
351
- saveWorkflowStore(store);
352
- return {
353
- workflowId,
354
- status: workflow.status,
355
- cancelledAt: workflow.completedAt,
356
- reason: workflow.error,
357
- skippedSteps: workflow.steps.length - workflow.currentStep,
358
- };
480
+ required: ['workflowId']
359
481
  },
482
+ handler: function (input) { return __awaiter(void 0, void 0, void 0, function () {
483
+ var store, workflowId, workflow, i;
484
+ return __generator(this, function (_a) {
485
+ store = loadWorkflowStore();
486
+ workflowId = input.workflowId;
487
+ workflow = store.workflows[workflowId];
488
+ if (!workflow) {
489
+ return [2 /*return*/, { workflowId: workflowId, error: 'Workflow not found' }];
490
+ }
491
+ if (workflow.status === 'completed' || workflow.status === 'failed') {
492
+ return [2 /*return*/, { workflowId: workflowId, error: 'Workflow already finished' }];
493
+ }
494
+ workflow.status = 'failed';
495
+ workflow.error = input.reason || 'Cancelled by user';
496
+ workflow.completedAt = new Date().toISOString();
497
+ // Mark remaining steps as skipped
498
+ for (i = workflow.currentStep; i < workflow.steps.length; i++) {
499
+ workflow.steps[i].status = 'skipped';
500
+ }
501
+ saveWorkflowStore(store);
502
+ return [2 /*return*/, {
503
+ workflowId: workflowId,
504
+ status: workflow.status,
505
+ cancelledAt: workflow.completedAt,
506
+ reason: workflow.error,
507
+ skippedSteps: workflow.steps.length - workflow.currentStep
508
+ }];
509
+ });
510
+ }); }
360
511
  },
361
512
  {
362
513
  name: 'workflow_delete',
@@ -365,28 +516,31 @@ export const workflowTools = [
365
516
  inputSchema: {
366
517
  type: 'object',
367
518
  properties: {
368
- workflowId: { type: 'string', description: 'Workflow ID' },
519
+ workflowId: { type: 'string', description: 'Workflow ID' }
369
520
  },
370
- required: ['workflowId'],
371
- },
372
- handler: async (input) => {
373
- const store = loadWorkflowStore();
374
- const workflowId = input.workflowId;
375
- if (!store.workflows[workflowId]) {
376
- return { workflowId, error: 'Workflow not found' };
377
- }
378
- const workflow = store.workflows[workflowId];
379
- if (workflow.status === 'running') {
380
- return { workflowId, error: 'Cannot delete running workflow' };
381
- }
382
- delete store.workflows[workflowId];
383
- saveWorkflowStore(store);
384
- return {
385
- workflowId,
386
- deleted: true,
387
- deletedAt: new Date().toISOString(),
388
- };
521
+ required: ['workflowId']
389
522
  },
523
+ handler: function (input) { return __awaiter(void 0, void 0, void 0, function () {
524
+ var store, workflowId, workflow;
525
+ return __generator(this, function (_a) {
526
+ store = loadWorkflowStore();
527
+ workflowId = input.workflowId;
528
+ if (!store.workflows[workflowId]) {
529
+ return [2 /*return*/, { workflowId: workflowId, error: 'Workflow not found' }];
530
+ }
531
+ workflow = store.workflows[workflowId];
532
+ if (workflow.status === 'running') {
533
+ return [2 /*return*/, { workflowId: workflowId, error: 'Cannot delete running workflow' }];
534
+ }
535
+ delete store.workflows[workflowId];
536
+ saveWorkflowStore(store);
537
+ return [2 /*return*/, {
538
+ workflowId: workflowId,
539
+ deleted: true,
540
+ deletedAt: new Date().toISOString()
541
+ }];
542
+ });
543
+ }); }
390
544
  },
391
545
  {
392
546
  name: 'workflow_template',
@@ -395,87 +549,69 @@ export const workflowTools = [
395
549
  inputSchema: {
396
550
  type: 'object',
397
551
  properties: {
398
- action: { type: 'string', enum: ['save', 'create', 'list'], description: 'Template action' },
552
+ action: { type: 'string', "enum": ['save', 'create', 'list'], description: 'Template action' },
399
553
  workflowId: { type: 'string', description: 'Workflow ID (for save)' },
400
554
  templateId: { type: 'string', description: 'Template ID (for create)' },
401
555
  templateName: { type: 'string', description: 'Template name (for save)' },
402
- newName: { type: 'string', description: 'New workflow name (for create)' },
556
+ newName: { type: 'string', description: 'New workflow name (for create)' }
403
557
  },
404
- required: ['action'],
558
+ required: ['action']
405
559
  },
406
- handler: async (input) => {
407
- const store = loadWorkflowStore();
408
- const action = input.action;
409
- if (action === 'save') {
410
- const workflow = store.workflows[input.workflowId];
411
- if (!workflow) {
412
- return { action, error: 'Workflow not found' };
560
+ handler: function (input) { return __awaiter(void 0, void 0, void 0, function () {
561
+ var store, action, workflow, templateId, template, template, workflowId, workflow;
562
+ return __generator(this, function (_a) {
563
+ store = loadWorkflowStore();
564
+ action = input.action;
565
+ if (action === 'save') {
566
+ workflow = store.workflows[input.workflowId];
567
+ if (!workflow) {
568
+ return [2 /*return*/, { action: action, error: 'Workflow not found' }];
569
+ }
570
+ templateId = "template-" + Date.now() + "-" + Math.random().toString(36).slice(2, 8);
571
+ template = __assign(__assign({}, workflow), { workflowId: templateId, name: input.templateName || workflow.name + " Template", status: 'draft', currentStep: 0, createdAt: new Date().toISOString(), startedAt: undefined, completedAt: undefined });
572
+ // Reset step statuses
573
+ template.steps = template.steps.map(function (s) { return (__assign(__assign({}, s), { status: 'pending', result: undefined, startedAt: undefined, completedAt: undefined })); });
574
+ store.templates[templateId] = template;
575
+ saveWorkflowStore(store);
576
+ return [2 /*return*/, {
577
+ action: action,
578
+ templateId: templateId,
579
+ name: template.name,
580
+ savedAt: new Date().toISOString()
581
+ }];
413
582
  }
414
- const templateId = `template-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`;
415
- const template = {
416
- ...workflow,
417
- workflowId: templateId,
418
- name: input.templateName || `${workflow.name} Template`,
419
- status: 'draft',
420
- currentStep: 0,
421
- createdAt: new Date().toISOString(),
422
- startedAt: undefined,
423
- completedAt: undefined,
424
- };
425
- // Reset step statuses
426
- template.steps = template.steps.map(s => ({
427
- ...s,
428
- status: 'pending',
429
- result: undefined,
430
- startedAt: undefined,
431
- completedAt: undefined,
432
- }));
433
- store.templates[templateId] = template;
434
- saveWorkflowStore(store);
435
- return {
436
- action,
437
- templateId,
438
- name: template.name,
439
- savedAt: new Date().toISOString(),
440
- };
441
- }
442
- if (action === 'create') {
443
- const template = store.templates[input.templateId];
444
- if (!template) {
445
- return { action, error: 'Template not found' };
583
+ if (action === 'create') {
584
+ template = store.templates[input.templateId];
585
+ if (!template) {
586
+ return [2 /*return*/, { action: action, error: 'Template not found' }];
587
+ }
588
+ workflowId = "workflow-" + Date.now() + "-" + Math.random().toString(36).slice(2, 8);
589
+ workflow = __assign(__assign({}, template), { workflowId: workflowId, name: input.newName || template.name.replace(' Template', ''), status: 'ready', createdAt: new Date().toISOString() });
590
+ store.workflows[workflowId] = workflow;
591
+ saveWorkflowStore(store);
592
+ return [2 /*return*/, {
593
+ action: action,
594
+ workflowId: workflowId,
595
+ name: workflow.name,
596
+ fromTemplate: input.templateId,
597
+ createdAt: workflow.createdAt
598
+ }];
446
599
  }
447
- const workflowId = `workflow-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`;
448
- const workflow = {
449
- ...template,
450
- workflowId,
451
- name: input.newName || template.name.replace(' Template', ''),
452
- status: 'ready',
453
- createdAt: new Date().toISOString(),
454
- };
455
- store.workflows[workflowId] = workflow;
456
- saveWorkflowStore(store);
457
- return {
458
- action,
459
- workflowId,
460
- name: workflow.name,
461
- fromTemplate: input.templateId,
462
- createdAt: workflow.createdAt,
463
- };
464
- }
465
- if (action === 'list') {
466
- return {
467
- action,
468
- templates: Object.values(store.templates).map(t => ({
469
- templateId: t.workflowId,
470
- name: t.name,
471
- stepCount: t.steps.length,
472
- createdAt: t.createdAt,
473
- })),
474
- total: Object.keys(store.templates).length,
475
- };
476
- }
477
- return { action, error: 'Unknown action' };
478
- },
600
+ if (action === 'list') {
601
+ return [2 /*return*/, {
602
+ action: action,
603
+ templates: Object.values(store.templates).map(function (t) { return ({
604
+ templateId: t.workflowId,
605
+ name: t.name,
606
+ stepCount: t.steps.length,
607
+ createdAt: t.createdAt
608
+ }); }),
609
+ total: Object.keys(store.templates).length
610
+ }];
611
+ }
612
+ return [2 /*return*/, { action: action, error: 'Unknown action' }];
613
+ });
614
+ }); }
479
615
  },
480
616
  ];
481
617
  //# sourceMappingURL=workflow-tools.js.map