@generacy-ai/workflow-engine 0.0.0-preview-20260304013206

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 (347) hide show
  1. package/LICENSE +191 -0
  2. package/README.md +265 -0
  3. package/dist/actions/base-action.d.ts +63 -0
  4. package/dist/actions/base-action.d.ts.map +1 -0
  5. package/dist/actions/base-action.js +130 -0
  6. package/dist/actions/base-action.js.map +1 -0
  7. package/dist/actions/builtin/agent-invoke.d.ts +16 -0
  8. package/dist/actions/builtin/agent-invoke.d.ts.map +1 -0
  9. package/dist/actions/builtin/agent-invoke.js +108 -0
  10. package/dist/actions/builtin/agent-invoke.js.map +1 -0
  11. package/dist/actions/builtin/humancy-api-handler.d.ts +191 -0
  12. package/dist/actions/builtin/humancy-api-handler.d.ts.map +1 -0
  13. package/dist/actions/builtin/humancy-api-handler.js +521 -0
  14. package/dist/actions/builtin/humancy-api-handler.js.map +1 -0
  15. package/dist/actions/builtin/humancy-review.d.ts +83 -0
  16. package/dist/actions/builtin/humancy-review.d.ts.map +1 -0
  17. package/dist/actions/builtin/humancy-review.js +250 -0
  18. package/dist/actions/builtin/humancy-review.js.map +1 -0
  19. package/dist/actions/builtin/pr-create.d.ts +16 -0
  20. package/dist/actions/builtin/pr-create.d.ts.map +1 -0
  21. package/dist/actions/builtin/pr-create.js +110 -0
  22. package/dist/actions/builtin/pr-create.js.map +1 -0
  23. package/dist/actions/builtin/shell.d.ts +16 -0
  24. package/dist/actions/builtin/shell.d.ts.map +1 -0
  25. package/dist/actions/builtin/shell.js +80 -0
  26. package/dist/actions/builtin/shell.js.map +1 -0
  27. package/dist/actions/builtin/speckit/index.d.ts +47 -0
  28. package/dist/actions/builtin/speckit/index.d.ts.map +1 -0
  29. package/dist/actions/builtin/speckit/index.js +347 -0
  30. package/dist/actions/builtin/speckit/index.js.map +1 -0
  31. package/dist/actions/builtin/speckit/lib/feature.d.ts +17 -0
  32. package/dist/actions/builtin/speckit/lib/feature.d.ts.map +1 -0
  33. package/dist/actions/builtin/speckit/lib/feature.js +430 -0
  34. package/dist/actions/builtin/speckit/lib/feature.js.map +1 -0
  35. package/dist/actions/builtin/speckit/lib/fs.d.ts +62 -0
  36. package/dist/actions/builtin/speckit/lib/fs.d.ts.map +1 -0
  37. package/dist/actions/builtin/speckit/lib/fs.js +181 -0
  38. package/dist/actions/builtin/speckit/lib/fs.js.map +1 -0
  39. package/dist/actions/builtin/speckit/lib/paths.d.ts +7 -0
  40. package/dist/actions/builtin/speckit/lib/paths.d.ts.map +1 -0
  41. package/dist/actions/builtin/speckit/lib/paths.js +161 -0
  42. package/dist/actions/builtin/speckit/lib/paths.js.map +1 -0
  43. package/dist/actions/builtin/speckit/lib/prereqs.d.ts +8 -0
  44. package/dist/actions/builtin/speckit/lib/prereqs.d.ts.map +1 -0
  45. package/dist/actions/builtin/speckit/lib/prereqs.js +194 -0
  46. package/dist/actions/builtin/speckit/lib/prereqs.js.map +1 -0
  47. package/dist/actions/builtin/speckit/lib/stream-batcher.d.ts +14 -0
  48. package/dist/actions/builtin/speckit/lib/stream-batcher.d.ts.map +1 -0
  49. package/dist/actions/builtin/speckit/lib/stream-batcher.js +31 -0
  50. package/dist/actions/builtin/speckit/lib/stream-batcher.js.map +1 -0
  51. package/dist/actions/builtin/speckit/lib/templates.d.ts +15 -0
  52. package/dist/actions/builtin/speckit/lib/templates.d.ts.map +1 -0
  53. package/dist/actions/builtin/speckit/lib/templates.js +176 -0
  54. package/dist/actions/builtin/speckit/lib/templates.js.map +1 -0
  55. package/dist/actions/builtin/speckit/operations/check-prereqs.d.ts +11 -0
  56. package/dist/actions/builtin/speckit/operations/check-prereqs.d.ts.map +1 -0
  57. package/dist/actions/builtin/speckit/operations/check-prereqs.js +22 -0
  58. package/dist/actions/builtin/speckit/operations/check-prereqs.js.map +1 -0
  59. package/dist/actions/builtin/speckit/operations/clarify.d.ts +7 -0
  60. package/dist/actions/builtin/speckit/operations/clarify.d.ts.map +1 -0
  61. package/dist/actions/builtin/speckit/operations/clarify.js +302 -0
  62. package/dist/actions/builtin/speckit/operations/clarify.js.map +1 -0
  63. package/dist/actions/builtin/speckit/operations/copy-template.d.ts +11 -0
  64. package/dist/actions/builtin/speckit/operations/copy-template.d.ts.map +1 -0
  65. package/dist/actions/builtin/speckit/operations/copy-template.js +23 -0
  66. package/dist/actions/builtin/speckit/operations/copy-template.js.map +1 -0
  67. package/dist/actions/builtin/speckit/operations/create-feature.d.ts +11 -0
  68. package/dist/actions/builtin/speckit/operations/create-feature.d.ts.map +1 -0
  69. package/dist/actions/builtin/speckit/operations/create-feature.js +25 -0
  70. package/dist/actions/builtin/speckit/operations/create-feature.js.map +1 -0
  71. package/dist/actions/builtin/speckit/operations/get-paths.d.ts +11 -0
  72. package/dist/actions/builtin/speckit/operations/get-paths.d.ts.map +1 -0
  73. package/dist/actions/builtin/speckit/operations/get-paths.js +17 -0
  74. package/dist/actions/builtin/speckit/operations/get-paths.js.map +1 -0
  75. package/dist/actions/builtin/speckit/operations/implement.d.ts +7 -0
  76. package/dist/actions/builtin/speckit/operations/implement.d.ts.map +1 -0
  77. package/dist/actions/builtin/speckit/operations/implement.js +246 -0
  78. package/dist/actions/builtin/speckit/operations/implement.js.map +1 -0
  79. package/dist/actions/builtin/speckit/operations/plan.d.ts +7 -0
  80. package/dist/actions/builtin/speckit/operations/plan.d.ts.map +1 -0
  81. package/dist/actions/builtin/speckit/operations/plan.js +253 -0
  82. package/dist/actions/builtin/speckit/operations/plan.js.map +1 -0
  83. package/dist/actions/builtin/speckit/operations/specify.d.ts +7 -0
  84. package/dist/actions/builtin/speckit/operations/specify.d.ts.map +1 -0
  85. package/dist/actions/builtin/speckit/operations/specify.js +178 -0
  86. package/dist/actions/builtin/speckit/operations/specify.js.map +1 -0
  87. package/dist/actions/builtin/speckit/operations/tasks-to-issues.d.ts +42 -0
  88. package/dist/actions/builtin/speckit/operations/tasks-to-issues.d.ts.map +1 -0
  89. package/dist/actions/builtin/speckit/operations/tasks-to-issues.js +386 -0
  90. package/dist/actions/builtin/speckit/operations/tasks-to-issues.js.map +1 -0
  91. package/dist/actions/builtin/speckit/operations/tasks.d.ts +7 -0
  92. package/dist/actions/builtin/speckit/operations/tasks.d.ts.map +1 -0
  93. package/dist/actions/builtin/speckit/operations/tasks.js +234 -0
  94. package/dist/actions/builtin/speckit/operations/tasks.js.map +1 -0
  95. package/dist/actions/builtin/speckit/types.d.ts +268 -0
  96. package/dist/actions/builtin/speckit/types.d.ts.map +1 -0
  97. package/dist/actions/builtin/speckit/types.js +11 -0
  98. package/dist/actions/builtin/speckit/types.js.map +1 -0
  99. package/dist/actions/builtin/verification-check.d.ts +16 -0
  100. package/dist/actions/builtin/verification-check.d.ts.map +1 -0
  101. package/dist/actions/builtin/verification-check.js +99 -0
  102. package/dist/actions/builtin/verification-check.js.map +1 -0
  103. package/dist/actions/builtin/workspace-prepare.d.ts +16 -0
  104. package/dist/actions/builtin/workspace-prepare.d.ts.map +1 -0
  105. package/dist/actions/builtin/workspace-prepare.js +108 -0
  106. package/dist/actions/builtin/workspace-prepare.js.map +1 -0
  107. package/dist/actions/cli-utils.d.ts +76 -0
  108. package/dist/actions/cli-utils.d.ts.map +1 -0
  109. package/dist/actions/cli-utils.js +278 -0
  110. package/dist/actions/cli-utils.js.map +1 -0
  111. package/dist/actions/epic/check-completion.d.ts +14 -0
  112. package/dist/actions/epic/check-completion.d.ts.map +1 -0
  113. package/dist/actions/epic/check-completion.js +57 -0
  114. package/dist/actions/epic/check-completion.js.map +1 -0
  115. package/dist/actions/epic/close.d.ts +18 -0
  116. package/dist/actions/epic/close.d.ts.map +1 -0
  117. package/dist/actions/epic/close.js +76 -0
  118. package/dist/actions/epic/close.js.map +1 -0
  119. package/dist/actions/epic/create-pr.d.ts +22 -0
  120. package/dist/actions/epic/create-pr.d.ts.map +1 -0
  121. package/dist/actions/epic/create-pr.js +140 -0
  122. package/dist/actions/epic/create-pr.js.map +1 -0
  123. package/dist/actions/epic/dispatch-children.d.ts +16 -0
  124. package/dist/actions/epic/dispatch-children.d.ts.map +1 -0
  125. package/dist/actions/epic/dispatch-children.js +95 -0
  126. package/dist/actions/epic/dispatch-children.js.map +1 -0
  127. package/dist/actions/epic/find-children.d.ts +16 -0
  128. package/dist/actions/epic/find-children.d.ts.map +1 -0
  129. package/dist/actions/epic/find-children.js +92 -0
  130. package/dist/actions/epic/find-children.js.map +1 -0
  131. package/dist/actions/epic/index.d.ts +20 -0
  132. package/dist/actions/epic/index.d.ts.map +1 -0
  133. package/dist/actions/epic/index.js +35 -0
  134. package/dist/actions/epic/index.js.map +1 -0
  135. package/dist/actions/epic/post-tasks-summary.d.ts +18 -0
  136. package/dist/actions/epic/post-tasks-summary.d.ts.map +1 -0
  137. package/dist/actions/epic/post-tasks-summary.js +123 -0
  138. package/dist/actions/epic/post-tasks-summary.js.map +1 -0
  139. package/dist/actions/epic/update-status.d.ts +22 -0
  140. package/dist/actions/epic/update-status.d.ts.map +1 -0
  141. package/dist/actions/epic/update-status.js +105 -0
  142. package/dist/actions/epic/update-status.js.map +1 -0
  143. package/dist/actions/github/add-comment.d.ts +14 -0
  144. package/dist/actions/github/add-comment.d.ts.map +1 -0
  145. package/dist/actions/github/add-comment.js +44 -0
  146. package/dist/actions/github/add-comment.js.map +1 -0
  147. package/dist/actions/github/client/gh-cli.d.ts +68 -0
  148. package/dist/actions/github/client/gh-cli.d.ts.map +1 -0
  149. package/dist/actions/github/client/gh-cli.js +781 -0
  150. package/dist/actions/github/client/gh-cli.js.map +1 -0
  151. package/dist/actions/github/client/index.d.ts +12 -0
  152. package/dist/actions/github/client/index.d.ts.map +1 -0
  153. package/dist/actions/github/client/index.js +10 -0
  154. package/dist/actions/github/client/index.js.map +1 -0
  155. package/dist/actions/github/client/interface.d.ts +270 -0
  156. package/dist/actions/github/client/interface.d.ts.map +1 -0
  157. package/dist/actions/github/client/interface.js +2 -0
  158. package/dist/actions/github/client/interface.js.map +1 -0
  159. package/dist/actions/github/commit-and-push.d.ts +19 -0
  160. package/dist/actions/github/commit-and-push.d.ts.map +1 -0
  161. package/dist/actions/github/commit-and-push.js +86 -0
  162. package/dist/actions/github/commit-and-push.js.map +1 -0
  163. package/dist/actions/github/create-draft-pr.d.ts +18 -0
  164. package/dist/actions/github/create-draft-pr.d.ts.map +1 -0
  165. package/dist/actions/github/create-draft-pr.js +76 -0
  166. package/dist/actions/github/create-draft-pr.js.map +1 -0
  167. package/dist/actions/github/get-context.d.ts +23 -0
  168. package/dist/actions/github/get-context.d.ts.map +1 -0
  169. package/dist/actions/github/get-context.js +109 -0
  170. package/dist/actions/github/get-context.js.map +1 -0
  171. package/dist/actions/github/index.d.ts +32 -0
  172. package/dist/actions/github/index.d.ts.map +1 -0
  173. package/dist/actions/github/index.js +67 -0
  174. package/dist/actions/github/index.js.map +1 -0
  175. package/dist/actions/github/label-definitions.d.ts +19 -0
  176. package/dist/actions/github/label-definitions.d.ts.map +1 -0
  177. package/dist/actions/github/label-definitions.js +71 -0
  178. package/dist/actions/github/label-definitions.js.map +1 -0
  179. package/dist/actions/github/mark-pr-ready.d.ts +14 -0
  180. package/dist/actions/github/mark-pr-ready.d.ts.map +1 -0
  181. package/dist/actions/github/mark-pr-ready.js +43 -0
  182. package/dist/actions/github/mark-pr-ready.js.map +1 -0
  183. package/dist/actions/github/merge-from-base.d.ts +15 -0
  184. package/dist/actions/github/merge-from-base.d.ts.map +1 -0
  185. package/dist/actions/github/merge-from-base.js +120 -0
  186. package/dist/actions/github/merge-from-base.js.map +1 -0
  187. package/dist/actions/github/preflight.d.ts +36 -0
  188. package/dist/actions/github/preflight.d.ts.map +1 -0
  189. package/dist/actions/github/preflight.js +292 -0
  190. package/dist/actions/github/preflight.js.map +1 -0
  191. package/dist/actions/github/read-pr-feedback.d.ts +14 -0
  192. package/dist/actions/github/read-pr-feedback.d.ts.map +1 -0
  193. package/dist/actions/github/read-pr-feedback.js +53 -0
  194. package/dist/actions/github/read-pr-feedback.js.map +1 -0
  195. package/dist/actions/github/respond-pr-feedback.d.ts +14 -0
  196. package/dist/actions/github/respond-pr-feedback.d.ts.map +1 -0
  197. package/dist/actions/github/respond-pr-feedback.js +58 -0
  198. package/dist/actions/github/respond-pr-feedback.js.map +1 -0
  199. package/dist/actions/github/review-changes.d.ts +19 -0
  200. package/dist/actions/github/review-changes.d.ts.map +1 -0
  201. package/dist/actions/github/review-changes.js +95 -0
  202. package/dist/actions/github/review-changes.js.map +1 -0
  203. package/dist/actions/github/sync-labels.d.ts +14 -0
  204. package/dist/actions/github/sync-labels.d.ts.map +1 -0
  205. package/dist/actions/github/sync-labels.js +81 -0
  206. package/dist/actions/github/sync-labels.js.map +1 -0
  207. package/dist/actions/github/update-pr.d.ts +14 -0
  208. package/dist/actions/github/update-pr.d.ts.map +1 -0
  209. package/dist/actions/github/update-pr.js +63 -0
  210. package/dist/actions/github/update-pr.js.map +1 -0
  211. package/dist/actions/index.d.ts +109 -0
  212. package/dist/actions/index.d.ts.map +1 -0
  213. package/dist/actions/index.js +233 -0
  214. package/dist/actions/index.js.map +1 -0
  215. package/dist/actions/workflow/check-gate.d.ts +15 -0
  216. package/dist/actions/workflow/check-gate.d.ts.map +1 -0
  217. package/dist/actions/workflow/check-gate.js +75 -0
  218. package/dist/actions/workflow/check-gate.js.map +1 -0
  219. package/dist/actions/workflow/index.d.ts +21 -0
  220. package/dist/actions/workflow/index.d.ts.map +1 -0
  221. package/dist/actions/workflow/index.js +31 -0
  222. package/dist/actions/workflow/index.js.map +1 -0
  223. package/dist/actions/workflow/update-phase.d.ts +15 -0
  224. package/dist/actions/workflow/update-phase.d.ts.map +1 -0
  225. package/dist/actions/workflow/update-phase.js +143 -0
  226. package/dist/actions/workflow/update-phase.js.map +1 -0
  227. package/dist/actions/workflow/update-stage.d.ts +19 -0
  228. package/dist/actions/workflow/update-stage.d.ts.map +1 -0
  229. package/dist/actions/workflow/update-stage.js +137 -0
  230. package/dist/actions/workflow/update-stage.js.map +1 -0
  231. package/dist/errors/base-workflow-not-found.d.ts +10 -0
  232. package/dist/errors/base-workflow-not-found.d.ts.map +1 -0
  233. package/dist/errors/base-workflow-not-found.js +18 -0
  234. package/dist/errors/base-workflow-not-found.js.map +1 -0
  235. package/dist/errors/circular-extends.d.ts +9 -0
  236. package/dist/errors/circular-extends.d.ts.map +1 -0
  237. package/dist/errors/circular-extends.js +13 -0
  238. package/dist/errors/circular-extends.js.map +1 -0
  239. package/dist/errors/correlation-timeout.d.ts +9 -0
  240. package/dist/errors/correlation-timeout.d.ts.map +1 -0
  241. package/dist/errors/correlation-timeout.js +13 -0
  242. package/dist/errors/correlation-timeout.js.map +1 -0
  243. package/dist/errors/workflow-override.d.ts +9 -0
  244. package/dist/errors/workflow-override.d.ts.map +1 -0
  245. package/dist/errors/workflow-override.js +12 -0
  246. package/dist/errors/workflow-override.js.map +1 -0
  247. package/dist/executor/events.d.ts +55 -0
  248. package/dist/executor/events.d.ts.map +1 -0
  249. package/dist/executor/events.js +72 -0
  250. package/dist/executor/events.js.map +1 -0
  251. package/dist/executor/gate-handler.d.ts +55 -0
  252. package/dist/executor/gate-handler.d.ts.map +1 -0
  253. package/dist/executor/gate-handler.js +139 -0
  254. package/dist/executor/gate-handler.js.map +1 -0
  255. package/dist/executor/index.d.ts +140 -0
  256. package/dist/executor/index.d.ts.map +1 -0
  257. package/dist/executor/index.js +681 -0
  258. package/dist/executor/index.js.map +1 -0
  259. package/dist/index.d.ts +24 -0
  260. package/dist/index.d.ts.map +1 -0
  261. package/dist/index.js +34 -0
  262. package/dist/index.js.map +1 -0
  263. package/dist/interpolation/context.d.ts +117 -0
  264. package/dist/interpolation/context.d.ts.map +1 -0
  265. package/dist/interpolation/context.js +256 -0
  266. package/dist/interpolation/context.js.map +1 -0
  267. package/dist/interpolation/index.d.ts +76 -0
  268. package/dist/interpolation/index.d.ts.map +1 -0
  269. package/dist/interpolation/index.js +264 -0
  270. package/dist/interpolation/index.js.map +1 -0
  271. package/dist/loader/extends.d.ts +48 -0
  272. package/dist/loader/extends.d.ts.map +1 -0
  273. package/dist/loader/extends.js +140 -0
  274. package/dist/loader/extends.js.map +1 -0
  275. package/dist/loader/index.d.ts +50 -0
  276. package/dist/loader/index.d.ts.map +1 -0
  277. package/dist/loader/index.js +190 -0
  278. package/dist/loader/index.js.map +1 -0
  279. package/dist/loader/schema.d.ts +506 -0
  280. package/dist/loader/schema.d.ts.map +1 -0
  281. package/dist/loader/schema.js +63 -0
  282. package/dist/loader/schema.js.map +1 -0
  283. package/dist/loader/validator.d.ts +33 -0
  284. package/dist/loader/validator.d.ts.map +1 -0
  285. package/dist/loader/validator.js +135 -0
  286. package/dist/loader/validator.js.map +1 -0
  287. package/dist/registry/index.d.ts +42 -0
  288. package/dist/registry/index.d.ts.map +1 -0
  289. package/dist/registry/index.js +77 -0
  290. package/dist/registry/index.js.map +1 -0
  291. package/dist/retry/index.d.ts +37 -0
  292. package/dist/retry/index.d.ts.map +1 -0
  293. package/dist/retry/index.js +225 -0
  294. package/dist/retry/index.js.map +1 -0
  295. package/dist/retry/strategies.d.ts +74 -0
  296. package/dist/retry/strategies.d.ts.map +1 -0
  297. package/dist/retry/strategies.js +136 -0
  298. package/dist/retry/strategies.js.map +1 -0
  299. package/dist/store/filesystem-store.d.ts +52 -0
  300. package/dist/store/filesystem-store.d.ts.map +1 -0
  301. package/dist/store/filesystem-store.js +230 -0
  302. package/dist/store/filesystem-store.js.map +1 -0
  303. package/dist/store/index.d.ts +7 -0
  304. package/dist/store/index.d.ts.map +1 -0
  305. package/dist/store/index.js +6 -0
  306. package/dist/store/index.js.map +1 -0
  307. package/dist/types/action.d.ts +358 -0
  308. package/dist/types/action.d.ts.map +1 -0
  309. package/dist/types/action.js +96 -0
  310. package/dist/types/action.js.map +1 -0
  311. package/dist/types/events.d.ts +25 -0
  312. package/dist/types/events.d.ts.map +1 -0
  313. package/dist/types/events.js +6 -0
  314. package/dist/types/events.js.map +1 -0
  315. package/dist/types/execution.d.ts +145 -0
  316. package/dist/types/execution.d.ts.map +1 -0
  317. package/dist/types/execution.js +2 -0
  318. package/dist/types/execution.js.map +1 -0
  319. package/dist/types/gate.d.ts +98 -0
  320. package/dist/types/gate.d.ts.map +1 -0
  321. package/dist/types/gate.js +41 -0
  322. package/dist/types/gate.js.map +1 -0
  323. package/dist/types/github.d.ts +706 -0
  324. package/dist/types/github.d.ts.map +1 -0
  325. package/dist/types/github.js +6 -0
  326. package/dist/types/github.js.map +1 -0
  327. package/dist/types/index.d.ts +17 -0
  328. package/dist/types/index.d.ts.map +1 -0
  329. package/dist/types/index.js +8 -0
  330. package/dist/types/index.js.map +1 -0
  331. package/dist/types/logger.d.ts +60 -0
  332. package/dist/types/logger.d.ts.map +1 -0
  333. package/dist/types/logger.js +66 -0
  334. package/dist/types/logger.js.map +1 -0
  335. package/dist/types/retry.d.ts +36 -0
  336. package/dist/types/retry.d.ts.map +1 -0
  337. package/dist/types/retry.js +6 -0
  338. package/dist/types/retry.js.map +1 -0
  339. package/dist/types/store.d.ts +88 -0
  340. package/dist/types/store.d.ts.map +1 -0
  341. package/dist/types/store.js +6 -0
  342. package/dist/types/store.js.map +1 -0
  343. package/dist/types/workflow.d.ts +105 -0
  344. package/dist/types/workflow.d.ts.map +1 -0
  345. package/dist/types/workflow.js +6 -0
  346. package/dist/types/workflow.js.map +1 -0
  347. package/package.json +69 -0
@@ -0,0 +1,108 @@
1
+ /**
2
+ * Agent invoke action handler.
3
+ * Handles Claude CLI invocation for AI agent tasks.
4
+ */
5
+ import { BaseAction } from '../base-action.js';
6
+ import { parseActionType } from '../../types/action.js';
7
+ import { executeCommand, extractJSON } from '../cli-utils.js';
8
+ /**
9
+ * Action handler for agent (Claude CLI) invocation
10
+ */
11
+ export class AgentInvokeAction extends BaseAction {
12
+ type = 'agent.invoke';
13
+ canHandle(step) {
14
+ return parseActionType(step) === 'agent.invoke';
15
+ }
16
+ validate(step) {
17
+ const errors = [];
18
+ const warnings = [];
19
+ // Check for prompt - use empty context for validation
20
+ const prompt = step.with?.['prompt'];
21
+ if (!prompt) {
22
+ errors.push({
23
+ field: 'prompt',
24
+ message: 'Prompt is required for agent.invoke action',
25
+ code: 'MISSING_PROMPT',
26
+ });
27
+ }
28
+ return {
29
+ valid: errors.length === 0,
30
+ errors,
31
+ warnings,
32
+ };
33
+ }
34
+ async executeInternal(step, context) {
35
+ const input = {
36
+ prompt: this.getRequiredInput(step, context, 'prompt'),
37
+ allowedTools: this.getInput(step, context, 'allowedTools'),
38
+ timeout: this.getInput(step, context, 'timeout', 600), // 10 minute default
39
+ maxTurns: this.getInput(step, context, 'maxTurns'),
40
+ workdir: this.getInput(step, context, 'workdir', context.workdir),
41
+ };
42
+ context.logger.info(`Invoking Claude agent with prompt: ${input.prompt.substring(0, 50)}...`);
43
+ try {
44
+ // Build claude command arguments
45
+ const args = ['-p', input.prompt, '--output-format', 'json'];
46
+ // Add max turns if specified
47
+ if (input.maxTurns) {
48
+ args.push('--max-turns', String(input.maxTurns));
49
+ }
50
+ // Add allowed tools if specified
51
+ if (input.allowedTools && input.allowedTools.length > 0) {
52
+ args.push('--allowedTools', input.allowedTools.join(','));
53
+ }
54
+ // Execute claude CLI
55
+ const result = await executeCommand('claude', args, {
56
+ cwd: input.workdir ?? context.workdir,
57
+ env: this.mergeEnv(context, step.env),
58
+ timeout: (input.timeout ?? 600) * 1000, // Convert to ms
59
+ signal: context.signal,
60
+ });
61
+ // Parse JSON output
62
+ const parsedOutput = extractJSON(result.stdout);
63
+ // Check exit code
64
+ if (result.exitCode !== 0) {
65
+ return this.failureResult(`Claude agent failed with exit code ${result.exitCode}`, {
66
+ output: parsedOutput ?? result.stdout,
67
+ exitCode: result.exitCode,
68
+ stdout: result.stdout,
69
+ stderr: result.stderr,
70
+ });
71
+ }
72
+ // Extract structured output
73
+ const agentOutput = {
74
+ summary: 'Agent completed successfully',
75
+ filesModified: [],
76
+ turns: 1,
77
+ data: parsedOutput,
78
+ };
79
+ // Try to extract more details from parsed output
80
+ if (parsedOutput && typeof parsedOutput === 'object') {
81
+ const parsed = parsedOutput;
82
+ if (typeof parsed['summary'] === 'string') {
83
+ agentOutput.summary = parsed['summary'];
84
+ }
85
+ if (Array.isArray(parsed['filesModified'])) {
86
+ agentOutput.filesModified = parsed['filesModified'];
87
+ }
88
+ if (typeof parsed['turns'] === 'number') {
89
+ agentOutput.turns = parsed['turns'];
90
+ }
91
+ if (typeof parsed['conversationId'] === 'string') {
92
+ agentOutput.conversationId = parsed['conversationId'];
93
+ }
94
+ }
95
+ context.logger.info(`Agent completed: ${agentOutput.summary}`);
96
+ return this.successResult(agentOutput, {
97
+ exitCode: result.exitCode,
98
+ stdout: result.stdout,
99
+ stderr: result.stderr,
100
+ filesModified: agentOutput.filesModified,
101
+ });
102
+ }
103
+ catch (error) {
104
+ return this.failureResult(error instanceof Error ? error.message : String(error));
105
+ }
106
+ }
107
+ }
108
+ //# sourceMappingURL=agent-invoke.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-invoke.js","sourceRoot":"","sources":["../../../src/actions/builtin/agent-invoke.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,191 @@
1
+ /**
2
+ * HumancyApiDecisionHandler — concrete HumanDecisionHandler that bridges
3
+ * the workflow engine's human review steps with the Humancy Cloud API's
4
+ * decision endpoints.
5
+ *
6
+ * Creates decisions via POST /decisions, listens for resolution via SSE
7
+ * (decision:resolved event), and maps responses back to the workflow
8
+ * engine's ReviewDecisionResponse format.
9
+ *
10
+ * API: generacy.ai/api/humancy/decisions (architecture-overview-v3)
11
+ */
12
+ import type { HumanDecisionHandler } from './humancy-review.js';
13
+ import type { HumancyUrgency } from '../../types/action.js';
14
+ /**
15
+ * Configuration for HumancyApiDecisionHandler.
16
+ */
17
+ export interface HumancyApiHandlerConfig {
18
+ /** Base URL for the Humancy API (e.g., http://localhost:3002/api/humancy) */
19
+ apiUrl: string;
20
+ /** Agent ID for decision attribution */
21
+ agentId: string;
22
+ /** Optional project ID for scoping decisions */
23
+ projectId?: string;
24
+ /** Optional auth token for API requests (JWT) */
25
+ authToken?: string;
26
+ /** Whether to fall back to simulation on API failure (default: true) */
27
+ fallbackToSimulation?: boolean;
28
+ /** SSE reconnection delay in ms (default: 1000) */
29
+ sseReconnectDelay?: number;
30
+ /** Maximum SSE reconnection attempts (default: 10) */
31
+ maxReconnectAttempts?: number;
32
+ }
33
+ /**
34
+ * Minimal logger interface matching the shape of context.logger.
35
+ */
36
+ export interface HandlerLogger {
37
+ info(msg: string, ...args: unknown[]): void;
38
+ warn(msg: string, ...args: unknown[]): void;
39
+ error(msg: string, ...args: unknown[]): void;
40
+ debug(msg: string, ...args: unknown[]): void;
41
+ }
42
+ /**
43
+ * Decision request payload — structurally compatible with the
44
+ * non-exported ReviewDecisionRequest from humancy-review.ts.
45
+ */
46
+ interface ReviewDecisionRequest {
47
+ type: 'review';
48
+ title: string;
49
+ description: string;
50
+ options: Array<{
51
+ id: string;
52
+ label: string;
53
+ requiresComment?: boolean;
54
+ }>;
55
+ workflowId: string;
56
+ stepId: string;
57
+ urgency: HumancyUrgency;
58
+ artifact?: string;
59
+ }
60
+ /**
61
+ * Decision response — structurally compatible with the
62
+ * non-exported ReviewDecisionResponse from humancy-review.ts.
63
+ */
64
+ interface ReviewDecisionResponse {
65
+ approved?: boolean;
66
+ decision?: string;
67
+ input?: string;
68
+ respondedBy: string;
69
+ respondedAt: string;
70
+ }
71
+ /**
72
+ * A parsed SSE event from the stream.
73
+ */
74
+ export interface ParsedSSEEvent {
75
+ /** Event type from the `event:` field (empty string if not set) */
76
+ event: string;
77
+ /** Joined data from `data:` lines (joined with newline for multi-line) */
78
+ data: string;
79
+ /** Event ID from the `id:` field (empty string if not set) */
80
+ id: string;
81
+ }
82
+ /**
83
+ * Concrete HumanDecisionHandler that communicates with the Humancy
84
+ * Cloud API's decision endpoints to request and await human decisions.
85
+ */
86
+ export declare class HumancyApiDecisionHandler implements HumanDecisionHandler {
87
+ private readonly config;
88
+ private readonly logger;
89
+ constructor(config: HumancyApiHandlerConfig, logger?: HandlerLogger);
90
+ /**
91
+ * Maps a workflow-engine ReviewDecisionRequest to the Humancy Cloud API's
92
+ * POST /decisions payload (CreateDecisionInput shape).
93
+ *
94
+ * Field mapping:
95
+ * title → question
96
+ * description → context (with workflow/step metadata)
97
+ * artifact → appended to context
98
+ * options → options (requiresComment → description hint)
99
+ * urgency → urgency (low/normal → when_available)
100
+ * type → type ('review')
101
+ * config.agentId → agentId
102
+ * config.projectId → projectId
103
+ * timeout+5min → expiresAt
104
+ */
105
+ private mapRequestToPayload;
106
+ /**
107
+ * Maps a Humancy Cloud API decision:resolved event response back to the
108
+ * workflow engine's ReviewDecisionResponse format.
109
+ *
110
+ * Response mapping:
111
+ * selectedOptionId === first option → approved: true
112
+ * selectedOptionId !== first option → approved: false, decision: selectedOptionId
113
+ * customResponse → input (free-text response)
114
+ * respondedAt → respondedAt
115
+ */
116
+ private mapResolvedEvent;
117
+ /**
118
+ * Async generator that parses SSE text protocol from a fetch Response body.
119
+ *
120
+ * Reads the streaming body via `getReader()`, splits on newlines, and
121
+ * interprets SSE fields:
122
+ * - `event: <type>` — sets the event type
123
+ * - `data: <payload>` — appends to data buffer (multi-line joined with \n)
124
+ * - `id: <value>` — sets the event ID and updates lastEventId
125
+ * - `:<comment>` — ignored (used for heartbeats)
126
+ * - empty line — dispatches the accumulated event
127
+ *
128
+ * Tracks `lastEventId` on the instance for reconnection support.
129
+ */
130
+ private lastEventId;
131
+ parseSSEStream(body: ReadableStream<Uint8Array>): AsyncGenerator<ParsedSSEEvent>;
132
+ /**
133
+ * Connects to the Humancy Cloud API's SSE endpoint and yields parsed events,
134
+ * automatically reconnecting on stream errors or unexpected closes.
135
+ *
136
+ * Uses `GET {apiUrl}/decisions/events?token={authToken}` with:
137
+ * - Auth via `token` query parameter (Humancy SSE auth convention)
138
+ * - `Last-Event-ID` header on reconnection attempts
139
+ * - `Accept: text/event-stream` header
140
+ *
141
+ * The generator transparently reconnects up to `maxReconnectAttempts` times
142
+ * with a delay of `sseReconnectDelay` ms between attempts. Each reconnection
143
+ * sends the last received event ID so the server can replay missed events.
144
+ *
145
+ * Cancellation is supported via the provided `AbortSignal` — when aborted,
146
+ * the current fetch is cancelled and the generator returns cleanly.
147
+ */
148
+ connectSSE(signal: AbortSignal): AsyncGenerator<ParsedSSEEvent>;
149
+ /**
150
+ * Delay helper that respects AbortSignal for cancellation.
151
+ * Resolves after `ms` milliseconds, or immediately if the signal is aborted.
152
+ */
153
+ private delay;
154
+ /**
155
+ * Request a human decision via the Humancy Cloud API.
156
+ *
157
+ * Flow:
158
+ * 1. Map ReviewDecisionRequest → CreateDecisionPayload
159
+ * 2. POST /decisions to create the decision
160
+ * 3. On POST failure → fall back to simulation if configured
161
+ * 4. Connect to SSE stream and wait for decision:resolved matching the decision ID
162
+ * 5. Extract response from the event data
163
+ * 6. Map response → ReviewDecisionResponse
164
+ * 7. Clean up timeout timer and SSE connection
165
+ *
166
+ * Throws CorrelationTimeoutError if the timeout elapses before a response.
167
+ */
168
+ requestDecision(request: ReviewDecisionRequest, timeout: number): Promise<ReviewDecisionResponse>;
169
+ /**
170
+ * Connects to SSE and waits for a `decision:resolved` event whose
171
+ * `data.id` matches the given decisionId. Returns the mapped response.
172
+ *
173
+ * Humancy Cloud API SSE event format:
174
+ * event: decision:resolved
175
+ * id: evt_<timestamp>_<random>
176
+ * data: { id, type, urgency, preview, projectId, status, response }
177
+ */
178
+ private waitForResolution;
179
+ /**
180
+ * Handles POST /decisions failures with optional simulation fallback.
181
+ *
182
+ * Fallback rules:
183
+ * - Network errors (connection refused, DNS, fetch errors) → fall back if configured
184
+ * - 5xx server errors → fall back if configured
185
+ * - 4xx client errors → always throw (misconfiguration, fail loudly)
186
+ * - fallbackToSimulation=false → always throw
187
+ */
188
+ private handlePostFailure;
189
+ }
190
+ export {};
191
+ //# sourceMappingURL=humancy-api-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"humancy-api-handler.d.ts","sourceRoot":"","sources":["../../../src/actions/builtin/humancy-api-handler.ts"],"names":[],"mappings":"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"}