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
@@ -3,59 +3,12 @@
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
- };
53
6
  import { existsSync, readFileSync, writeFileSync, mkdirSync } from 'node:fs';
54
7
  import { join } from 'node:path';
55
8
  // Storage paths
56
- var STORAGE_DIR = '.claude-flow';
57
- var WORKFLOW_DIR = 'workflows';
58
- var WORKFLOW_FILE = 'store.json';
9
+ const STORAGE_DIR = '.claude-flow';
10
+ const WORKFLOW_DIR = 'workflows';
11
+ const WORKFLOW_FILE = 'store.json';
59
12
  function getWorkflowDir() {
60
13
  return join(process.cwd(), STORAGE_DIR, WORKFLOW_DIR);
61
14
  }
@@ -63,20 +16,20 @@ function getWorkflowPath() {
63
16
  return join(getWorkflowDir(), WORKFLOW_FILE);
64
17
  }
65
18
  function ensureWorkflowDir() {
66
- var dir = getWorkflowDir();
19
+ const dir = getWorkflowDir();
67
20
  if (!existsSync(dir)) {
68
21
  mkdirSync(dir, { recursive: true });
69
22
  }
70
23
  }
71
24
  function loadWorkflowStore() {
72
25
  try {
73
- var path = getWorkflowPath();
26
+ const path = getWorkflowPath();
74
27
  if (existsSync(path)) {
75
- var data = readFileSync(path, 'utf-8');
28
+ const data = readFileSync(path, 'utf-8');
76
29
  return JSON.parse(data);
77
30
  }
78
31
  }
79
- catch (_a) {
32
+ catch {
80
33
  // Return default store on error
81
34
  }
82
35
  return { workflows: {}, templates: {}, version: '3.0.0' };
@@ -85,7 +38,7 @@ function saveWorkflowStore(store) {
85
38
  ensureWorkflowDir();
86
39
  writeFileSync(getWorkflowPath(), JSON.stringify(store, null, 2), 'utf-8');
87
40
  }
88
- export var workflowTools = [
41
+ export const workflowTools = [
89
42
  {
90
43
  name: 'workflow_run',
91
44
  description: 'Run a workflow from a template or file',
@@ -103,80 +56,79 @@ export var workflowTools = [
103
56
  parallel: { type: 'boolean', description: 'Run stages in parallel' },
104
57
  maxAgents: { type: 'number', description: 'Maximum agents to use' },
105
58
  timeout: { type: 'number', description: 'Timeout in seconds' },
106
- dryRun: { type: 'boolean', description: 'Validate without executing' }
107
- }
59
+ dryRun: { type: 'boolean', description: 'Validate without executing' },
60
+ },
61
+ },
62
+ },
63
+ },
64
+ handler: async (input) => {
65
+ const store = loadWorkflowStore();
66
+ const template = input.template;
67
+ const task = input.task;
68
+ const options = input.options || {};
69
+ const dryRun = options.dryRun;
70
+ // Build workflow from template or inline
71
+ const workflowId = `workflow-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`;
72
+ const stages = [];
73
+ // Generate stages based on template
74
+ const templateName = template || 'custom';
75
+ const stageNames = (() => {
76
+ switch (templateName) {
77
+ case 'feature':
78
+ return ['Research', 'Design', 'Implement', 'Test', 'Review'];
79
+ case 'bugfix':
80
+ return ['Investigate', 'Fix', 'Test', 'Review'];
81
+ case 'refactor':
82
+ return ['Analyze', 'Refactor', 'Test', 'Review'];
83
+ case 'security':
84
+ return ['Scan', 'Analyze', 'Report'];
85
+ default:
86
+ return ['Execute'];
108
87
  }
88
+ })();
89
+ for (const name of stageNames) {
90
+ stages.push({
91
+ name,
92
+ status: dryRun ? 'validated' : 'pending',
93
+ agents: [],
94
+ });
109
95
  }
96
+ if (!dryRun) {
97
+ // Create and save the workflow
98
+ const steps = stageNames.map((name, i) => ({
99
+ stepId: `step-${i + 1}`,
100
+ name,
101
+ type: 'task',
102
+ config: { task: task || name },
103
+ status: 'pending',
104
+ }));
105
+ const workflow = {
106
+ workflowId,
107
+ name: task || `${templateName} workflow`,
108
+ description: task,
109
+ steps,
110
+ status: 'running',
111
+ currentStep: 0,
112
+ variables: { template: templateName, ...options },
113
+ createdAt: new Date().toISOString(),
114
+ startedAt: new Date().toISOString(),
115
+ };
116
+ store.workflows[workflowId] = workflow;
117
+ saveWorkflowStore(store);
118
+ }
119
+ return {
120
+ workflowId,
121
+ template: templateName,
122
+ status: dryRun ? 'validated' : 'running',
123
+ stages,
124
+ metrics: {
125
+ totalStages: stages.length,
126
+ completedStages: 0,
127
+ agentsSpawned: 0,
128
+ estimatedDuration: `${stages.length * 30}s`,
129
+ },
130
+ };
110
131
  },
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
132
  },
181
133
  {
182
134
  name: 'workflow_create',
@@ -194,48 +146,45 @@ export var workflowTools = [
194
146
  type: 'object',
195
147
  properties: {
196
148
  name: { type: 'string' },
197
- type: { type: 'string', "enum": ['task', 'condition', 'parallel', 'loop', 'wait'] },
198
- config: { type: 'object' }
199
- }
200
- }
149
+ type: { type: 'string', enum: ['task', 'condition', 'parallel', 'loop', 'wait'] },
150
+ config: { type: 'object' },
151
+ },
152
+ },
201
153
  },
202
- variables: { type: 'object', description: 'Initial variables' }
154
+ variables: { type: 'object', description: 'Initial variables' },
203
155
  },
204
- required: ['name']
156
+ required: ['name'],
157
+ },
158
+ handler: async (input) => {
159
+ const store = loadWorkflowStore();
160
+ const workflowId = `workflow-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`;
161
+ const steps = (input.steps || []).map((s, i) => ({
162
+ stepId: `step-${i + 1}`,
163
+ name: s.name || `Step ${i + 1}`,
164
+ type: s.type || 'task',
165
+ config: s.config || {},
166
+ status: 'pending',
167
+ }));
168
+ const workflow = {
169
+ workflowId,
170
+ name: input.name,
171
+ description: input.description,
172
+ steps,
173
+ status: steps.length > 0 ? 'ready' : 'draft',
174
+ currentStep: 0,
175
+ variables: input.variables || {},
176
+ createdAt: new Date().toISOString(),
177
+ };
178
+ store.workflows[workflowId] = workflow;
179
+ saveWorkflowStore(store);
180
+ return {
181
+ workflowId,
182
+ name: workflow.name,
183
+ status: workflow.status,
184
+ stepCount: steps.length,
185
+ createdAt: workflow.createdAt,
186
+ };
205
187
  },
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
- }); }
239
188
  },
240
189
  {
241
190
  name: 'workflow_execute',
@@ -246,55 +195,53 @@ export var workflowTools = [
246
195
  properties: {
247
196
  workflowId: { type: 'string', description: 'Workflow ID to execute' },
248
197
  variables: { type: 'object', description: 'Runtime variables to inject' },
249
- startFromStep: { type: 'number', description: 'Step to start from (0-indexed)' }
198
+ startFromStep: { type: 'number', description: 'Step to start from (0-indexed)' },
250
199
  },
251
- required: ['workflowId']
200
+ required: ['workflowId'],
201
+ },
202
+ handler: async (input) => {
203
+ const store = loadWorkflowStore();
204
+ const workflowId = input.workflowId;
205
+ const workflow = store.workflows[workflowId];
206
+ if (!workflow) {
207
+ return { workflowId, error: 'Workflow not found' };
208
+ }
209
+ if (workflow.status === 'running') {
210
+ return { workflowId, error: 'Workflow already running' };
211
+ }
212
+ // Inject runtime variables
213
+ if (input.variables) {
214
+ workflow.variables = { ...workflow.variables, ...input.variables };
215
+ }
216
+ workflow.status = 'running';
217
+ workflow.startedAt = new Date().toISOString();
218
+ workflow.currentStep = input.startFromStep || 0;
219
+ // Execute steps (in real implementation, this would be async/event-driven)
220
+ const results = [];
221
+ for (let i = workflow.currentStep; i < workflow.steps.length; i++) {
222
+ const step = workflow.steps[i];
223
+ step.status = 'running';
224
+ step.startedAt = new Date().toISOString();
225
+ // For now, mark as completed (real implementation would execute actual tasks)
226
+ step.status = 'completed';
227
+ step.completedAt = new Date().toISOString();
228
+ step.result = { executed: true, stepType: step.type };
229
+ results.push({ stepId: step.stepId, status: step.status });
230
+ workflow.currentStep = i + 1;
231
+ }
232
+ workflow.status = 'completed';
233
+ workflow.completedAt = new Date().toISOString();
234
+ saveWorkflowStore(store);
235
+ return {
236
+ workflowId,
237
+ status: workflow.status,
238
+ stepsExecuted: results.length,
239
+ results,
240
+ startedAt: workflow.startedAt,
241
+ completedAt: workflow.completedAt,
242
+ duration: new Date(workflow.completedAt).getTime() - new Date(workflow.startedAt).getTime(),
243
+ };
252
244
  },
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
- }); }
298
245
  },
299
246
  {
300
247
  name: 'workflow_status',
@@ -304,46 +251,49 @@ export var workflowTools = [
304
251
  type: 'object',
305
252
  properties: {
306
253
  workflowId: { type: 'string', description: 'Workflow ID' },
307
- verbose: { type: 'boolean', description: 'Include step details' }
254
+ verbose: { type: 'boolean', description: 'Include step details' },
308
255
  },
309
- required: ['workflowId']
256
+ required: ['workflowId'],
310
257
  },
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
258
+ handler: async (input) => {
259
+ const store = loadWorkflowStore();
260
+ const workflowId = input.workflowId;
261
+ const workflow = store.workflows[workflowId];
262
+ if (!workflow) {
263
+ return { workflowId, error: 'Workflow not found' };
264
+ }
265
+ const completedSteps = workflow.steps.filter(s => s.status === 'completed').length;
266
+ const progress = workflow.steps.length > 0 ? (completedSteps / workflow.steps.length) * 100 : 0;
267
+ const status = {
268
+ workflowId: workflow.workflowId,
269
+ name: workflow.name,
270
+ status: workflow.status,
271
+ progress,
272
+ currentStep: workflow.currentStep,
273
+ totalSteps: workflow.steps.length,
274
+ completedSteps,
275
+ createdAt: workflow.createdAt,
276
+ startedAt: workflow.startedAt,
277
+ completedAt: workflow.completedAt,
278
+ };
279
+ if (input.verbose) {
280
+ return {
281
+ ...status,
282
+ description: workflow.description,
283
+ variables: workflow.variables,
284
+ steps: workflow.steps.map(s => ({
285
+ stepId: s.stepId,
286
+ name: s.name,
287
+ type: s.type,
288
+ status: s.status,
289
+ startedAt: s.startedAt,
290
+ completedAt: s.completedAt,
291
+ })),
292
+ error: workflow.error,
333
293
  };
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
- }); }
294
+ }
295
+ return status;
296
+ },
347
297
  },
348
298
  {
349
299
  name: 'workflow_list',
@@ -353,36 +303,34 @@ export var workflowTools = [
353
303
  type: 'object',
354
304
  properties: {
355
305
  status: { type: 'string', description: 'Filter by status' },
356
- limit: { type: 'number', description: 'Max workflows to return' }
306
+ limit: { type: 'number', description: 'Max workflows to return' },
307
+ },
308
+ },
309
+ handler: async (input) => {
310
+ const store = loadWorkflowStore();
311
+ let workflows = Object.values(store.workflows);
312
+ // Apply filters
313
+ if (input.status) {
314
+ workflows = workflows.filter(w => w.status === input.status);
357
315
  }
316
+ // Sort by creation date (newest first)
317
+ workflows.sort((a, b) => new Date(b.createdAt).getTime() - new Date(a.createdAt).getTime());
318
+ // Apply limit
319
+ const limit = input.limit || 20;
320
+ workflows = workflows.slice(0, limit);
321
+ return {
322
+ workflows: workflows.map(w => ({
323
+ workflowId: w.workflowId,
324
+ name: w.name,
325
+ status: w.status,
326
+ stepCount: w.steps.length,
327
+ createdAt: w.createdAt,
328
+ completedAt: w.completedAt,
329
+ })),
330
+ total: workflows.length,
331
+ filters: { status: input.status },
332
+ };
358
333
  },
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
- }); }
386
334
  },
387
335
  {
388
336
  name: 'workflow_pause',
@@ -391,32 +339,29 @@ export var workflowTools = [
391
339
  inputSchema: {
392
340
  type: 'object',
393
341
  properties: {
394
- workflowId: { type: 'string', description: 'Workflow ID' }
342
+ workflowId: { type: 'string', description: 'Workflow ID' },
395
343
  },
396
- required: ['workflowId']
344
+ required: ['workflowId'],
345
+ },
346
+ handler: async (input) => {
347
+ const store = loadWorkflowStore();
348
+ const workflowId = input.workflowId;
349
+ const workflow = store.workflows[workflowId];
350
+ if (!workflow) {
351
+ return { workflowId, error: 'Workflow not found' };
352
+ }
353
+ if (workflow.status !== 'running') {
354
+ return { workflowId, error: 'Workflow not running' };
355
+ }
356
+ workflow.status = 'paused';
357
+ saveWorkflowStore(store);
358
+ return {
359
+ workflowId,
360
+ status: workflow.status,
361
+ pausedAt: new Date().toISOString(),
362
+ currentStep: workflow.currentStep,
363
+ };
397
364
  },
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
- }); }
420
365
  },
421
366
  {
422
367
  name: 'workflow_resume',
@@ -425,47 +370,45 @@ export var workflowTools = [
425
370
  inputSchema: {
426
371
  type: 'object',
427
372
  properties: {
428
- workflowId: { type: 'string', description: 'Workflow ID' }
373
+ workflowId: { type: 'string', description: 'Workflow ID' },
429
374
  },
430
- required: ['workflowId']
375
+ required: ['workflowId'],
376
+ },
377
+ handler: async (input) => {
378
+ const store = loadWorkflowStore();
379
+ const workflowId = input.workflowId;
380
+ const workflow = store.workflows[workflowId];
381
+ if (!workflow) {
382
+ return { workflowId, error: 'Workflow not found' };
383
+ }
384
+ if (workflow.status !== 'paused') {
385
+ return { workflowId, error: 'Workflow not paused' };
386
+ }
387
+ workflow.status = 'running';
388
+ saveWorkflowStore(store);
389
+ // Continue execution from current step
390
+ const results = [];
391
+ for (let i = workflow.currentStep; i < workflow.steps.length; i++) {
392
+ const step = workflow.steps[i];
393
+ step.status = 'running';
394
+ step.startedAt = new Date().toISOString();
395
+ step.status = 'completed';
396
+ step.completedAt = new Date().toISOString();
397
+ step.result = { executed: true };
398
+ results.push({ stepId: step.stepId, status: step.status });
399
+ workflow.currentStep = i + 1;
400
+ }
401
+ workflow.status = 'completed';
402
+ workflow.completedAt = new Date().toISOString();
403
+ saveWorkflowStore(store);
404
+ return {
405
+ workflowId,
406
+ status: workflow.status,
407
+ resumed: true,
408
+ stepsExecuted: results.length,
409
+ completedAt: workflow.completedAt,
410
+ };
431
411
  },
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
- }); }
469
412
  },
470
413
  {
471
414
  name: 'workflow_cancel',
@@ -475,39 +418,36 @@ export var workflowTools = [
475
418
  type: 'object',
476
419
  properties: {
477
420
  workflowId: { type: 'string', description: 'Workflow ID' },
478
- reason: { type: 'string', description: 'Cancellation reason' }
421
+ reason: { type: 'string', description: 'Cancellation reason' },
479
422
  },
480
- required: ['workflowId']
423
+ required: ['workflowId'],
424
+ },
425
+ handler: async (input) => {
426
+ const store = loadWorkflowStore();
427
+ const workflowId = input.workflowId;
428
+ const workflow = store.workflows[workflowId];
429
+ if (!workflow) {
430
+ return { workflowId, error: 'Workflow not found' };
431
+ }
432
+ if (workflow.status === 'completed' || workflow.status === 'failed') {
433
+ return { workflowId, error: 'Workflow already finished' };
434
+ }
435
+ workflow.status = 'failed';
436
+ workflow.error = input.reason || 'Cancelled by user';
437
+ workflow.completedAt = new Date().toISOString();
438
+ // Mark remaining steps as skipped
439
+ for (let i = workflow.currentStep; i < workflow.steps.length; i++) {
440
+ workflow.steps[i].status = 'skipped';
441
+ }
442
+ saveWorkflowStore(store);
443
+ return {
444
+ workflowId,
445
+ status: workflow.status,
446
+ cancelledAt: workflow.completedAt,
447
+ reason: workflow.error,
448
+ skippedSteps: workflow.steps.length - workflow.currentStep,
449
+ };
481
450
  },
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
- }); }
511
451
  },
512
452
  {
513
453
  name: 'workflow_delete',
@@ -516,31 +456,28 @@ export var workflowTools = [
516
456
  inputSchema: {
517
457
  type: 'object',
518
458
  properties: {
519
- workflowId: { type: 'string', description: 'Workflow ID' }
459
+ workflowId: { type: 'string', description: 'Workflow ID' },
520
460
  },
521
- required: ['workflowId']
461
+ required: ['workflowId'],
462
+ },
463
+ handler: async (input) => {
464
+ const store = loadWorkflowStore();
465
+ const workflowId = input.workflowId;
466
+ if (!store.workflows[workflowId]) {
467
+ return { workflowId, error: 'Workflow not found' };
468
+ }
469
+ const workflow = store.workflows[workflowId];
470
+ if (workflow.status === 'running') {
471
+ return { workflowId, error: 'Cannot delete running workflow' };
472
+ }
473
+ delete store.workflows[workflowId];
474
+ saveWorkflowStore(store);
475
+ return {
476
+ workflowId,
477
+ deleted: true,
478
+ deletedAt: new Date().toISOString(),
479
+ };
522
480
  },
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
- }); }
544
481
  },
545
482
  {
546
483
  name: 'workflow_template',
@@ -549,69 +486,87 @@ export var workflowTools = [
549
486
  inputSchema: {
550
487
  type: 'object',
551
488
  properties: {
552
- action: { type: 'string', "enum": ['save', 'create', 'list'], description: 'Template action' },
489
+ action: { type: 'string', enum: ['save', 'create', 'list'], description: 'Template action' },
553
490
  workflowId: { type: 'string', description: 'Workflow ID (for save)' },
554
491
  templateId: { type: 'string', description: 'Template ID (for create)' },
555
492
  templateName: { type: 'string', description: 'Template name (for save)' },
556
- newName: { type: 'string', description: 'New workflow name (for create)' }
493
+ newName: { type: 'string', description: 'New workflow name (for create)' },
557
494
  },
558
- required: ['action']
495
+ required: ['action'],
559
496
  },
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
- }];
582
- }
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
- }];
497
+ handler: async (input) => {
498
+ const store = loadWorkflowStore();
499
+ const action = input.action;
500
+ if (action === 'save') {
501
+ const workflow = store.workflows[input.workflowId];
502
+ if (!workflow) {
503
+ return { action, error: 'Workflow not found' };
599
504
  }
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
- }];
505
+ const templateId = `template-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`;
506
+ const template = {
507
+ ...workflow,
508
+ workflowId: templateId,
509
+ name: input.templateName || `${workflow.name} Template`,
510
+ status: 'draft',
511
+ currentStep: 0,
512
+ createdAt: new Date().toISOString(),
513
+ startedAt: undefined,
514
+ completedAt: undefined,
515
+ };
516
+ // Reset step statuses
517
+ template.steps = template.steps.map(s => ({
518
+ ...s,
519
+ status: 'pending',
520
+ result: undefined,
521
+ startedAt: undefined,
522
+ completedAt: undefined,
523
+ }));
524
+ store.templates[templateId] = template;
525
+ saveWorkflowStore(store);
526
+ return {
527
+ action,
528
+ templateId,
529
+ name: template.name,
530
+ savedAt: new Date().toISOString(),
531
+ };
532
+ }
533
+ if (action === 'create') {
534
+ const template = store.templates[input.templateId];
535
+ if (!template) {
536
+ return { action, error: 'Template not found' };
611
537
  }
612
- return [2 /*return*/, { action: action, error: 'Unknown action' }];
613
- });
614
- }); }
538
+ const workflowId = `workflow-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`;
539
+ const workflow = {
540
+ ...template,
541
+ workflowId,
542
+ name: input.newName || template.name.replace(' Template', ''),
543
+ status: 'ready',
544
+ createdAt: new Date().toISOString(),
545
+ };
546
+ store.workflows[workflowId] = workflow;
547
+ saveWorkflowStore(store);
548
+ return {
549
+ action,
550
+ workflowId,
551
+ name: workflow.name,
552
+ fromTemplate: input.templateId,
553
+ createdAt: workflow.createdAt,
554
+ };
555
+ }
556
+ if (action === 'list') {
557
+ return {
558
+ action,
559
+ templates: Object.values(store.templates).map(t => ({
560
+ templateId: t.workflowId,
561
+ name: t.name,
562
+ stepCount: t.steps.length,
563
+ createdAt: t.createdAt,
564
+ })),
565
+ total: Object.keys(store.templates).length,
566
+ };
567
+ }
568
+ return { action, error: 'Unknown action' };
569
+ },
615
570
  },
616
571
  ];
617
572
  //# sourceMappingURL=workflow-tools.js.map