@decaf-ts/integrations 0.10.5 → 0.10.8

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 (294) hide show
  1. package/dist/integrations.cjs +1 -1
  2. package/lib/cjs/graph/engine/catalog/GraphBuiltInRegistrations.cjs +12 -73
  3. package/lib/cjs/graph/engine/catalog/GraphBuiltInRegistrations.cjs.map +1 -1
  4. package/lib/cjs/graph/engine/execution/GraphExecutionContext.cjs +5 -1
  5. package/lib/cjs/graph/engine/execution/GraphExecutionContext.cjs.map +1 -1
  6. package/lib/cjs/graph/engine/execution/GraphExecutionEngine.cjs +66 -1
  7. package/lib/cjs/graph/engine/execution/GraphExecutionEngine.cjs.map +1 -1
  8. package/lib/cjs/graph/engine/execution/GraphExecutionFrame.cjs +16 -0
  9. package/lib/cjs/graph/engine/execution/GraphExecutionFrame.cjs.map +1 -1
  10. package/lib/cjs/graph/engine/execution/index.cjs +0 -4
  11. package/lib/cjs/graph/engine/execution/index.cjs.map +1 -1
  12. package/lib/cjs/graph/engine/index.cjs +0 -7
  13. package/lib/cjs/graph/engine/index.cjs.map +1 -1
  14. package/lib/cjs/graph/engine/loops/index.cjs +0 -3
  15. package/lib/cjs/graph/engine/loops/index.cjs.map +1 -1
  16. package/lib/cjs/graph/engine/validation/GraphLooseNodeValidation.cjs +36 -0
  17. package/lib/cjs/graph/engine/validation/GraphLooseNodeValidation.cjs.map +1 -0
  18. package/lib/cjs/graph/engine/validation/GraphParameterValidator.cjs +36 -3
  19. package/lib/cjs/graph/engine/validation/GraphParameterValidator.cjs.map +1 -1
  20. package/lib/cjs/graph/engine/validation/GraphWorkflowDocumentValidator.cjs +32 -1
  21. package/lib/cjs/graph/engine/validation/GraphWorkflowDocumentValidator.cjs.map +1 -1
  22. package/lib/cjs/graph/engine/validation/index.cjs +1 -0
  23. package/lib/cjs/graph/engine/validation/index.cjs.map +1 -1
  24. package/lib/cjs/graph/nodes/agents/agent.cjs +118 -0
  25. package/lib/cjs/graph/nodes/agents/agent.cjs.map +1 -0
  26. package/lib/cjs/graph/nodes/base.cjs +61 -0
  27. package/lib/cjs/graph/nodes/base.cjs.map +1 -0
  28. package/lib/cjs/graph/nodes/boundary/input-value.cjs +59 -0
  29. package/lib/cjs/graph/nodes/boundary/input-value.cjs.map +1 -0
  30. package/lib/cjs/graph/nodes/flow-control/break.cjs +71 -0
  31. package/lib/cjs/graph/nodes/flow-control/break.cjs.map +1 -0
  32. package/lib/cjs/graph/nodes/flow-control/error-boundary.cjs +72 -0
  33. package/lib/cjs/graph/nodes/flow-control/error-boundary.cjs.map +1 -0
  34. package/lib/cjs/graph/nodes/flow-control/human-approval.cjs +80 -0
  35. package/lib/cjs/graph/nodes/flow-control/human-approval.cjs.map +1 -0
  36. package/lib/cjs/graph/nodes/flow-control/if.cjs +82 -0
  37. package/lib/cjs/graph/nodes/flow-control/if.cjs.map +1 -0
  38. package/lib/cjs/graph/nodes/flow-control/parallel.cjs +69 -0
  39. package/lib/cjs/graph/nodes/flow-control/parallel.cjs.map +1 -0
  40. package/lib/cjs/graph/nodes/flow-control/switch.cjs +190 -0
  41. package/lib/cjs/graph/nodes/flow-control/switch.cjs.map +1 -0
  42. package/lib/cjs/graph/nodes/index.cjs +162 -0
  43. package/lib/cjs/graph/nodes/index.cjs.map +1 -0
  44. package/lib/cjs/graph/nodes/loops/foreach.cjs +189 -0
  45. package/lib/cjs/graph/nodes/loops/foreach.cjs.map +1 -0
  46. package/lib/cjs/graph/nodes/loops/loop-metadata.cjs +48 -0
  47. package/lib/cjs/graph/nodes/loops/loop-metadata.cjs.map +1 -0
  48. package/lib/cjs/graph/nodes/loops/until.cjs +136 -0
  49. package/lib/cjs/graph/nodes/loops/until.cjs.map +1 -0
  50. package/lib/cjs/graph/nodes/loops/while.cjs +133 -0
  51. package/lib/cjs/graph/nodes/loops/while.cjs.map +1 -0
  52. package/lib/cjs/graph/nodes/manifests.cjs +342 -0
  53. package/lib/cjs/graph/nodes/manifests.cjs.map +1 -0
  54. package/lib/cjs/graph/nodes/triggers/chat.cjs +82 -0
  55. package/lib/cjs/graph/nodes/triggers/chat.cjs.map +1 -0
  56. package/lib/cjs/graph/nodes/triggers/event.cjs +63 -0
  57. package/lib/cjs/graph/nodes/triggers/event.cjs.map +1 -0
  58. package/lib/cjs/graph/nodes/triggers/form.cjs +64 -0
  59. package/lib/cjs/graph/nodes/triggers/form.cjs.map +1 -0
  60. package/lib/cjs/graph/nodes/triggers/manual.cjs +65 -0
  61. package/lib/cjs/graph/nodes/triggers/manual.cjs.map +1 -0
  62. package/lib/cjs/graph/nodes/triggers/schedule.cjs +65 -0
  63. package/lib/cjs/graph/nodes/triggers/schedule.cjs.map +1 -0
  64. package/lib/cjs/graph/nodes/triggers/webhook.cjs +67 -0
  65. package/lib/cjs/graph/nodes/triggers/webhook.cjs.map +1 -0
  66. package/lib/cjs/graph/nodes/utility/code.cjs +139 -0
  67. package/lib/cjs/graph/nodes/utility/code.cjs.map +1 -0
  68. package/lib/cjs/graph/nodes/utility/delay.cjs +66 -0
  69. package/lib/cjs/graph/nodes/utility/delay.cjs.map +1 -0
  70. package/lib/cjs/graph/nodes/utility/log.cjs +70 -0
  71. package/lib/cjs/graph/nodes/utility/log.cjs.map +1 -0
  72. package/lib/cjs/graph/nodes/utility/map.cjs +69 -0
  73. package/lib/cjs/graph/nodes/utility/map.cjs.map +1 -0
  74. package/lib/cjs/graph/nodes/utility/merge.cjs +67 -0
  75. package/lib/cjs/graph/nodes/utility/merge.cjs.map +1 -0
  76. package/lib/cjs/graph/nodes/utility/return.cjs +69 -0
  77. package/lib/cjs/graph/nodes/utility/return.cjs.map +1 -0
  78. package/lib/cjs/graph/nodes/utility/utility-log.cjs +77 -0
  79. package/lib/cjs/graph/nodes/utility/utility-log.cjs.map +1 -0
  80. package/lib/cjs/index.cjs +3 -3
  81. package/lib/cjs/nest/graph/GraphExecutorRegistryFactory.cjs +8 -4
  82. package/lib/cjs/nest/graph/GraphExecutorRegistryFactory.cjs.map +1 -1
  83. package/lib/cjs/nest/graph/GraphWorkflowBoundaryValidation.cjs +2 -0
  84. package/lib/cjs/nest/graph/GraphWorkflowBoundaryValidation.cjs.map +1 -1
  85. package/lib/cjs/nest/graph/GraphWorkflowService.cjs +1 -13
  86. package/lib/cjs/nest/graph/GraphWorkflowService.cjs.map +1 -1
  87. package/lib/esm/graph/engine/catalog/GraphBuiltInRegistrations.js +11 -72
  88. package/lib/esm/graph/engine/catalog/GraphBuiltInRegistrations.js.map +1 -1
  89. package/lib/esm/graph/engine/execution/GraphExecutionContext.js +5 -1
  90. package/lib/esm/graph/engine/execution/GraphExecutionContext.js.map +1 -1
  91. package/lib/esm/graph/engine/execution/GraphExecutionEngine.js +66 -1
  92. package/lib/esm/graph/engine/execution/GraphExecutionEngine.js.map +1 -1
  93. package/lib/esm/graph/engine/execution/GraphExecutionFrame.js +16 -0
  94. package/lib/esm/graph/engine/execution/GraphExecutionFrame.js.map +1 -1
  95. package/lib/esm/graph/engine/execution/index.js +0 -4
  96. package/lib/esm/graph/engine/execution/index.js.map +1 -1
  97. package/lib/esm/graph/engine/index.js +0 -7
  98. package/lib/esm/graph/engine/index.js.map +1 -1
  99. package/lib/esm/graph/engine/loops/index.js +0 -3
  100. package/lib/esm/graph/engine/loops/index.js.map +1 -1
  101. package/lib/esm/graph/engine/validation/GraphLooseNodeValidation.js +32 -0
  102. package/lib/esm/graph/engine/validation/GraphLooseNodeValidation.js.map +1 -0
  103. package/lib/esm/graph/engine/validation/GraphParameterValidator.js +36 -3
  104. package/lib/esm/graph/engine/validation/GraphParameterValidator.js.map +1 -1
  105. package/lib/esm/graph/engine/validation/GraphWorkflowDocumentValidator.js +32 -1
  106. package/lib/esm/graph/engine/validation/GraphWorkflowDocumentValidator.js.map +1 -1
  107. package/lib/esm/graph/engine/validation/index.js +1 -0
  108. package/lib/esm/graph/engine/validation/index.js.map +1 -1
  109. package/lib/esm/graph/nodes/agents/agent.js +109 -0
  110. package/lib/esm/graph/nodes/agents/agent.js.map +1 -0
  111. package/lib/esm/graph/nodes/base.js +56 -0
  112. package/lib/esm/graph/nodes/base.js.map +1 -0
  113. package/lib/esm/graph/nodes/boundary/input-value.js +50 -0
  114. package/lib/esm/graph/nodes/boundary/input-value.js.map +1 -0
  115. package/lib/esm/graph/nodes/flow-control/break.js +62 -0
  116. package/lib/esm/graph/nodes/flow-control/break.js.map +1 -0
  117. package/lib/esm/graph/nodes/flow-control/error-boundary.js +63 -0
  118. package/lib/esm/graph/nodes/flow-control/error-boundary.js.map +1 -0
  119. package/lib/esm/graph/nodes/flow-control/human-approval.js +71 -0
  120. package/lib/esm/graph/nodes/flow-control/human-approval.js.map +1 -0
  121. package/lib/esm/graph/nodes/flow-control/if.js +73 -0
  122. package/lib/esm/graph/nodes/flow-control/if.js.map +1 -0
  123. package/lib/esm/graph/nodes/flow-control/parallel.js +60 -0
  124. package/lib/esm/graph/nodes/flow-control/parallel.js.map +1 -0
  125. package/lib/esm/graph/nodes/flow-control/switch.js +181 -0
  126. package/lib/esm/graph/nodes/flow-control/switch.js.map +1 -0
  127. package/lib/esm/graph/nodes/index.js +144 -0
  128. package/lib/esm/graph/nodes/index.js.map +1 -0
  129. package/lib/esm/graph/nodes/loops/foreach.js +180 -0
  130. package/lib/esm/graph/nodes/loops/foreach.js.map +1 -0
  131. package/lib/esm/graph/nodes/loops/loop-metadata.js +44 -0
  132. package/lib/esm/graph/nodes/loops/loop-metadata.js.map +1 -0
  133. package/lib/esm/graph/nodes/loops/until.js +127 -0
  134. package/lib/esm/graph/nodes/loops/until.js.map +1 -0
  135. package/lib/esm/graph/nodes/loops/while.js +124 -0
  136. package/lib/esm/graph/nodes/loops/while.js.map +1 -0
  137. package/lib/esm/graph/nodes/manifests.js +338 -0
  138. package/lib/esm/graph/nodes/manifests.js.map +1 -0
  139. package/lib/esm/graph/nodes/triggers/chat.js +73 -0
  140. package/lib/esm/graph/nodes/triggers/chat.js.map +1 -0
  141. package/lib/esm/graph/nodes/triggers/event.js +54 -0
  142. package/lib/esm/graph/nodes/triggers/event.js.map +1 -0
  143. package/lib/esm/graph/nodes/triggers/form.js +55 -0
  144. package/lib/esm/graph/nodes/triggers/form.js.map +1 -0
  145. package/lib/esm/graph/nodes/triggers/manual.js +56 -0
  146. package/lib/esm/graph/nodes/triggers/manual.js.map +1 -0
  147. package/lib/esm/graph/nodes/triggers/schedule.js +56 -0
  148. package/lib/esm/graph/nodes/triggers/schedule.js.map +1 -0
  149. package/lib/esm/graph/nodes/triggers/webhook.js +58 -0
  150. package/lib/esm/graph/nodes/triggers/webhook.js.map +1 -0
  151. package/lib/esm/graph/nodes/utility/code.js +130 -0
  152. package/lib/esm/graph/nodes/utility/code.js.map +1 -0
  153. package/lib/esm/graph/nodes/utility/delay.js +57 -0
  154. package/lib/esm/graph/nodes/utility/delay.js.map +1 -0
  155. package/lib/esm/graph/nodes/utility/log.js +61 -0
  156. package/lib/esm/graph/nodes/utility/log.js.map +1 -0
  157. package/lib/esm/graph/nodes/utility/map.js +60 -0
  158. package/lib/esm/graph/nodes/utility/map.js.map +1 -0
  159. package/lib/esm/graph/nodes/utility/merge.js +58 -0
  160. package/lib/esm/graph/nodes/utility/merge.js.map +1 -0
  161. package/lib/esm/graph/nodes/utility/return.js +60 -0
  162. package/lib/esm/graph/nodes/utility/return.js.map +1 -0
  163. package/lib/esm/graph/nodes/utility/utility-log.js +68 -0
  164. package/lib/esm/graph/nodes/utility/utility-log.js.map +1 -0
  165. package/lib/esm/index.js +3 -3
  166. package/lib/esm/nest/graph/GraphExecutorRegistryFactory.js +8 -4
  167. package/lib/esm/nest/graph/GraphExecutorRegistryFactory.js.map +1 -1
  168. package/lib/esm/nest/graph/GraphWorkflowBoundaryValidation.js +2 -0
  169. package/lib/esm/nest/graph/GraphWorkflowBoundaryValidation.js.map +1 -1
  170. package/lib/esm/nest/graph/GraphWorkflowService.js +2 -14
  171. package/lib/esm/nest/graph/GraphWorkflowService.js.map +1 -1
  172. package/lib/types/graph/engine/catalog/GraphBuiltInRegistrations.d.cts +4 -7
  173. package/lib/types/graph/engine/catalog/GraphBuiltInRegistrations.d.mts +4 -7
  174. package/lib/types/graph/engine/execution/GraphExecutionContext.d.cts +6 -1
  175. package/lib/types/graph/engine/execution/GraphExecutionContext.d.mts +6 -1
  176. package/lib/types/graph/engine/execution/GraphExecutionEngine.d.cts +27 -0
  177. package/lib/types/graph/engine/execution/GraphExecutionEngine.d.mts +27 -0
  178. package/lib/types/graph/engine/execution/GraphExecutionFrame.d.cts +12 -0
  179. package/lib/types/graph/engine/execution/GraphExecutionFrame.d.mts +12 -0
  180. package/lib/types/graph/engine/execution/index.d.cts +0 -4
  181. package/lib/types/graph/engine/execution/index.d.mts +0 -4
  182. package/lib/types/graph/engine/index.d.cts +0 -7
  183. package/lib/types/graph/engine/index.d.mts +0 -7
  184. package/lib/types/graph/engine/loops/index.d.cts +0 -3
  185. package/lib/types/graph/engine/loops/index.d.mts +0 -3
  186. package/lib/types/graph/engine/validation/GraphLooseNodeValidation.d.cts +21 -0
  187. package/lib/types/graph/engine/validation/GraphLooseNodeValidation.d.mts +21 -0
  188. package/lib/types/graph/engine/validation/GraphParameterValidator.d.cts +25 -1
  189. package/lib/types/graph/engine/validation/GraphParameterValidator.d.mts +25 -1
  190. package/lib/types/graph/engine/validation/index.d.cts +1 -0
  191. package/lib/types/graph/engine/validation/index.d.mts +1 -0
  192. package/lib/types/graph/nodes/agents/agent.d.cts +31 -0
  193. package/lib/types/graph/nodes/agents/agent.d.mts +31 -0
  194. package/lib/types/graph/nodes/base.d.cts +58 -0
  195. package/lib/types/graph/nodes/base.d.mts +58 -0
  196. package/lib/types/graph/nodes/boundary/input-value.d.cts +6 -0
  197. package/lib/types/graph/nodes/boundary/input-value.d.mts +6 -0
  198. package/lib/types/graph/nodes/flow-control/break.d.cts +8 -0
  199. package/lib/types/graph/nodes/flow-control/break.d.mts +8 -0
  200. package/lib/types/graph/nodes/flow-control/error-boundary.d.cts +8 -0
  201. package/lib/types/graph/nodes/flow-control/error-boundary.d.mts +8 -0
  202. package/lib/types/graph/nodes/flow-control/human-approval.d.cts +8 -0
  203. package/lib/types/graph/nodes/flow-control/human-approval.d.mts +8 -0
  204. package/lib/types/graph/nodes/flow-control/if.d.cts +8 -0
  205. package/lib/types/graph/nodes/flow-control/if.d.mts +8 -0
  206. package/lib/types/graph/nodes/flow-control/parallel.d.cts +7 -0
  207. package/lib/types/graph/nodes/flow-control/parallel.d.mts +7 -0
  208. package/lib/types/graph/nodes/flow-control/switch.d.cts +23 -0
  209. package/lib/types/graph/nodes/flow-control/switch.d.mts +23 -0
  210. package/lib/types/graph/nodes/index.d.cts +93 -0
  211. package/lib/types/graph/nodes/index.d.mts +93 -0
  212. package/lib/types/graph/nodes/loops/foreach.d.cts +11 -0
  213. package/lib/types/graph/nodes/loops/foreach.d.mts +11 -0
  214. package/lib/types/graph/nodes/loops/loop-metadata.d.cts +20 -0
  215. package/lib/types/graph/nodes/loops/loop-metadata.d.mts +20 -0
  216. package/lib/types/graph/nodes/loops/until.d.cts +8 -0
  217. package/lib/types/graph/nodes/loops/until.d.mts +8 -0
  218. package/lib/types/graph/nodes/loops/while.d.cts +8 -0
  219. package/lib/types/graph/nodes/loops/while.d.mts +8 -0
  220. package/lib/types/graph/nodes/manifests.d.cts +62 -0
  221. package/lib/types/graph/nodes/manifests.d.mts +62 -0
  222. package/lib/types/graph/nodes/triggers/chat.d.cts +8 -0
  223. package/lib/types/graph/nodes/triggers/chat.d.mts +8 -0
  224. package/lib/types/graph/nodes/triggers/event.d.cts +6 -0
  225. package/lib/types/graph/nodes/triggers/event.d.mts +6 -0
  226. package/lib/types/graph/nodes/triggers/form.d.cts +6 -0
  227. package/lib/types/graph/nodes/triggers/form.d.mts +6 -0
  228. package/lib/types/graph/nodes/triggers/manual.d.cts +6 -0
  229. package/lib/types/graph/nodes/triggers/manual.d.mts +6 -0
  230. package/lib/types/graph/nodes/triggers/schedule.d.cts +6 -0
  231. package/lib/types/graph/nodes/triggers/schedule.d.mts +6 -0
  232. package/lib/types/graph/nodes/triggers/webhook.d.cts +6 -0
  233. package/lib/types/graph/nodes/triggers/webhook.d.mts +6 -0
  234. package/lib/types/graph/nodes/utility/code.d.cts +36 -0
  235. package/lib/types/graph/nodes/utility/code.d.mts +36 -0
  236. package/lib/types/graph/nodes/utility/delay.d.cts +7 -0
  237. package/lib/types/graph/nodes/utility/delay.d.mts +7 -0
  238. package/lib/types/graph/nodes/utility/log.d.cts +8 -0
  239. package/lib/types/graph/nodes/utility/log.d.mts +8 -0
  240. package/lib/types/graph/nodes/utility/map.d.cts +7 -0
  241. package/lib/types/graph/nodes/utility/map.d.mts +7 -0
  242. package/lib/types/graph/nodes/utility/merge.d.cts +7 -0
  243. package/lib/types/graph/nodes/utility/merge.d.mts +7 -0
  244. package/lib/types/graph/nodes/utility/return.d.cts +7 -0
  245. package/lib/types/graph/nodes/utility/return.d.mts +7 -0
  246. package/lib/types/graph/nodes/utility/utility-log.d.cts +10 -0
  247. package/lib/types/graph/nodes/utility/utility-log.d.mts +10 -0
  248. package/lib/types/index.d.cts +2 -2
  249. package/lib/types/index.d.mts +2 -2
  250. package/lib/types/nest/graph/GraphExecutorRegistryFactory.d.cts +5 -3
  251. package/lib/types/nest/graph/GraphExecutorRegistryFactory.d.mts +5 -3
  252. package/package.json +1 -1
  253. package/lib/cjs/graph/engine/execution/BreakGraphNodeExecutor.cjs +0 -24
  254. package/lib/cjs/graph/engine/execution/BreakGraphNodeExecutor.cjs.map +0 -1
  255. package/lib/cjs/graph/engine/execution/CodeGraphNodeExecutor.cjs +0 -103
  256. package/lib/cjs/graph/engine/execution/CodeGraphNodeExecutor.cjs.map +0 -1
  257. package/lib/cjs/graph/engine/execution/LogGraphNodeExecutor.cjs +0 -47
  258. package/lib/cjs/graph/engine/execution/LogGraphNodeExecutor.cjs.map +0 -1
  259. package/lib/cjs/graph/engine/execution/SwitchGraphNodeExecutor.cjs +0 -121
  260. package/lib/cjs/graph/engine/execution/SwitchGraphNodeExecutor.cjs.map +0 -1
  261. package/lib/cjs/graph/engine/loops/ForeachGraphNodeExecutor.cjs +0 -146
  262. package/lib/cjs/graph/engine/loops/ForeachGraphNodeExecutor.cjs.map +0 -1
  263. package/lib/cjs/graph/engine/loops/UntilGraphNodeExecutor.cjs +0 -102
  264. package/lib/cjs/graph/engine/loops/UntilGraphNodeExecutor.cjs.map +0 -1
  265. package/lib/cjs/graph/engine/loops/WhileGraphNodeExecutor.cjs +0 -103
  266. package/lib/cjs/graph/engine/loops/WhileGraphNodeExecutor.cjs.map +0 -1
  267. package/lib/esm/graph/engine/execution/BreakGraphNodeExecutor.js +0 -19
  268. package/lib/esm/graph/engine/execution/BreakGraphNodeExecutor.js.map +0 -1
  269. package/lib/esm/graph/engine/execution/CodeGraphNodeExecutor.js +0 -98
  270. package/lib/esm/graph/engine/execution/CodeGraphNodeExecutor.js.map +0 -1
  271. package/lib/esm/graph/engine/execution/LogGraphNodeExecutor.js +0 -42
  272. package/lib/esm/graph/engine/execution/LogGraphNodeExecutor.js.map +0 -1
  273. package/lib/esm/graph/engine/execution/SwitchGraphNodeExecutor.js +0 -116
  274. package/lib/esm/graph/engine/execution/SwitchGraphNodeExecutor.js.map +0 -1
  275. package/lib/esm/graph/engine/loops/ForeachGraphNodeExecutor.js +0 -141
  276. package/lib/esm/graph/engine/loops/ForeachGraphNodeExecutor.js.map +0 -1
  277. package/lib/esm/graph/engine/loops/UntilGraphNodeExecutor.js +0 -97
  278. package/lib/esm/graph/engine/loops/UntilGraphNodeExecutor.js.map +0 -1
  279. package/lib/esm/graph/engine/loops/WhileGraphNodeExecutor.js +0 -98
  280. package/lib/esm/graph/engine/loops/WhileGraphNodeExecutor.js.map +0 -1
  281. package/lib/types/graph/engine/execution/BreakGraphNodeExecutor.d.cts +0 -22
  282. package/lib/types/graph/engine/execution/BreakGraphNodeExecutor.d.mts +0 -22
  283. package/lib/types/graph/engine/execution/CodeGraphNodeExecutor.d.cts +0 -65
  284. package/lib/types/graph/engine/execution/CodeGraphNodeExecutor.d.mts +0 -65
  285. package/lib/types/graph/engine/execution/LogGraphNodeExecutor.d.cts +0 -25
  286. package/lib/types/graph/engine/execution/LogGraphNodeExecutor.d.mts +0 -25
  287. package/lib/types/graph/engine/execution/SwitchGraphNodeExecutor.d.cts +0 -43
  288. package/lib/types/graph/engine/execution/SwitchGraphNodeExecutor.d.mts +0 -43
  289. package/lib/types/graph/engine/loops/ForeachGraphNodeExecutor.d.cts +0 -35
  290. package/lib/types/graph/engine/loops/ForeachGraphNodeExecutor.d.mts +0 -35
  291. package/lib/types/graph/engine/loops/UntilGraphNodeExecutor.d.cts +0 -22
  292. package/lib/types/graph/engine/loops/UntilGraphNodeExecutor.d.mts +0 -22
  293. package/lib/types/graph/engine/loops/WhileGraphNodeExecutor.d.cts +0 -26
  294. package/lib/types/graph/engine/loops/WhileGraphNodeExecutor.d.mts +0 -26
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.extractLoopMetadata = extractLoopMetadata;
4
+ const GraphInputError_js_1 = require("./../../engine/errors/GraphInputError.cjs");
5
+ /**
6
+ * Extracts the loop metadata for the executing loop node.
7
+ *
8
+ * @param context - The run-scoped execution context for the loop node.
9
+ * @param label - The loop kind label used in error messages.
10
+ * @returns The effective loop metadata (body, limits, ports, condition).
11
+ * @throws {GraphInputError} when the node carries no loop body configuration.
12
+ */
13
+ function extractLoopMetadata(context, label) {
14
+ const instance = context.node;
15
+ const parameters = (instance.parameters ?? {});
16
+ const loop = instance.loop;
17
+ const fallback = context.metadata?.["loop"];
18
+ if (!loop?.body && !fallback?.["body"]) {
19
+ throw new GraphInputError_js_1.GraphInputError(`${label} node is missing loop configuration (instance.loop.body)`);
20
+ }
21
+ const body = (loop?.body ?? fallback?.["body"]);
22
+ const number = (key) => {
23
+ const raw = parameters[key] ??
24
+ loop?.[key] ??
25
+ fallback?.[key];
26
+ const value = Number(raw);
27
+ return raw !== undefined && Number.isFinite(value) ? value : undefined;
28
+ };
29
+ const string = (key) => {
30
+ const raw = parameters[key] ?? fallback?.[key];
31
+ return typeof raw === "string" ? raw : undefined;
32
+ };
33
+ return {
34
+ body,
35
+ maxIterations: number("maxIterations"),
36
+ timeoutMs: number("timeoutMs"),
37
+ concurrency: number("concurrency"),
38
+ condition: (parameters["condition"] ?? fallback?.["condition"]),
39
+ inputPort: string("inputPort"),
40
+ outputPort: string("outputPort"),
41
+ itemPort: string("itemPort"),
42
+ resultPort: string("resultPort"),
43
+ statePort: string("statePort"),
44
+ slice: number("slice"),
45
+ };
46
+ }
47
+ //# sourceMappingURL=loop-metadata.js.map
48
+ //# sourceMappingURL=loop-metadata.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graph/nodes/loops/loop-metadata.cjs","sourceRoot":"","sources":["graph/nodes/loops/loop-metadata.js"],"names":[],"mappings":";;AASA,kDAiCC;AA1CD,iFAA2E;AAC3E;;;;;;;GAOG;AACH,SAAgB,mBAAmB,CAAC,OAAO,EAAE,KAAK;IAC9C,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAC9B,MAAM,UAAU,GAAG,CAAC,QAAQ,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;IAC/C,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;IAC3B,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAC;IAC5C,IAAI,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,oCAAe,CAAC,GAAG,KAAK,0DAA0D,CAAC,CAAC;IAClG,CAAC;IACD,MAAM,IAAI,GAAG,CAAC,IAAI,EAAE,IAAI,IAAI,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAChD,MAAM,MAAM,GAAG,CAAC,GAAG,EAAE,EAAE;QACnB,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC;YACvB,IAAI,EAAE,CAAC,GAAG,CAAC;YACX,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC1B,OAAO,GAAG,KAAK,SAAS,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3E,CAAC,CAAC;IACF,MAAM,MAAM,GAAG,CAAC,GAAG,EAAE,EAAE;QACnB,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC;QAC/C,OAAO,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;IACrD,CAAC,CAAC;IACF,OAAO;QACH,IAAI;QACJ,aAAa,EAAE,MAAM,CAAC,eAAe,CAAC;QACtC,SAAS,EAAE,MAAM,CAAC,WAAW,CAAC;QAC9B,WAAW,EAAE,MAAM,CAAC,aAAa,CAAC;QAClC,SAAS,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,QAAQ,EAAE,CAAC,WAAW,CAAC,CAAC;QAC/D,SAAS,EAAE,MAAM,CAAC,WAAW,CAAC;QAC9B,UAAU,EAAE,MAAM,CAAC,YAAY,CAAC;QAChC,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC;QAC5B,UAAU,EAAE,MAAM,CAAC,YAAY,CAAC;QAChC,SAAS,EAAE,MAAM,CAAC,WAAW,CAAC;QAC9B,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC;KACzB,CAAC;AACN,CAAC;AACD,yCAAyC"}
@@ -0,0 +1,136 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GraphUntilLoopNode = void 0;
4
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
5
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
6
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
7
+ r = Reflect.decorate(decorators, target, key, desc);
8
+ else
9
+ for (var i = decorators.length - 1; i >= 0; i--)
10
+ if (d = decorators[i])
11
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
12
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
13
+ };
14
+ var __metadata = (this && this.__metadata) || function (k, v) {
15
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
16
+ return Reflect.metadata(k, v);
17
+ };
18
+ /**
19
+ * @module integrations/graph/nodes/loops/until
20
+ * @summary Until loop node declaration.
21
+ * @description Shared declaration for the `core.loop.until` system node kind
22
+ * (decorator id `graph-until-loop-node`), ported from the for-angular demo
23
+ * app so the loop kinds become shared canvas nodes. The class's own
24
+ * `static execute` is the only implementation of the kind, derived by
25
+ * `GraphBuiltInRegistrations`, and reaches engine services through
26
+ * `GraphExecutionContext.engine`. The loop-body workflow is demo/app-side
27
+ * content and is not part of the shared declaration — the shared class
28
+ * carries the port/metadata shape only.
29
+ */
30
+ const decorator_validation_1 = require("@decaf-ts/decorator-validation");
31
+ const ui_decorators_1 = require("@decaf-ts/ui-decorators");
32
+ const graph_1 = require("@decaf-ts/ui-decorators/graph");
33
+ const base_js_1 = require("./../base.cjs");
34
+ const graph_2 = require("@decaf-ts/ui-decorators/graph");
35
+ const GraphExecutionError_js_1 = require("./../../engine/errors/GraphExecutionError.cjs");
36
+ const GraphInputError_js_1 = require("./../../engine/errors/GraphInputError.cjs");
37
+ const GraphLoopLimitError_js_1 = require("./../../engine/errors/GraphLoopLimitError.cjs");
38
+ const loop_metadata_js_1 = require("./loop-metadata.cjs");
39
+ const constants_js_1 = require("./../../engine/constants.cjs");
40
+ const GraphConditionEvaluator_js_1 = require("./../../engine/loops/GraphConditionEvaluator.cjs");
41
+ let GraphUntilLoopNode = class GraphUntilLoopNode extends base_js_1.GraphNode {
42
+ static async execute(request, context) {
43
+ const metadata = (0, loop_metadata_js_1.extractLoopMetadata)(context, "until");
44
+ const input = request.inputs;
45
+ const maxIterations = metadata.maxIterations ?? constants_js_1.GRAPH_DEFAULT_MAX_LOOP_ITERATIONS;
46
+ const condition = metadata.condition;
47
+ if (!condition) {
48
+ throw new GraphInputError_js_1.GraphInputError("until node is missing a condition");
49
+ }
50
+ const statePort = metadata.statePort ?? "state";
51
+ const bodyWorkflow = metadata.body;
52
+ const engine = context.engine;
53
+ if (!engine) {
54
+ throw new GraphExecutionError_js_1.GraphExecutionError("until node requires engine access", "GRAPH_ENGINE_NOT_AVAILABLE");
55
+ }
56
+ let state = input.state;
57
+ let iteration = 0;
58
+ await context.emit({ type: graph_2.GraphExecutionEventType.LOOP_STARTED });
59
+ let shouldStop = false;
60
+ do {
61
+ if (iteration >= maxIterations) {
62
+ await context.emit({
63
+ type: graph_2.GraphExecutionEventType.LOOP_LIMIT_REACHED,
64
+ iteration,
65
+ });
66
+ throw new GraphLoopLimitError_js_1.GraphLoopLimitError(`until loop exceeded max iterations (${maxIterations})`);
67
+ }
68
+ await context.emit({
69
+ type: graph_2.GraphExecutionEventType.LOOP_ITERATION_STARTED,
70
+ iteration,
71
+ });
72
+ const childResult = await engine.execute(bodyWorkflow, { [statePort]: state, iteration }, {
73
+ parentRunId: context.runId,
74
+ path: [...context.path, `iteration:${iteration}`],
75
+ });
76
+ state = childResult.outputs[statePort];
77
+ await context.emit({
78
+ type: graph_2.GraphExecutionEventType.LOOP_ITERATION_COMPLETED,
79
+ iteration,
80
+ });
81
+ const conditionResult = new GraphConditionEvaluator_js_1.GraphConditionEvaluator().evaluate(condition, state);
82
+ await context.emit({
83
+ type: graph_2.GraphExecutionEventType.LOOP_CONDITION_EVALUATED,
84
+ iteration,
85
+ payload: { result: conditionResult },
86
+ });
87
+ iteration++;
88
+ shouldStop = conditionResult;
89
+ } while (!shouldStop);
90
+ await context.emit({ type: graph_2.GraphExecutionEventType.LOOP_COMPLETED });
91
+ return { [statePort]: state, iterations: iteration };
92
+ }
93
+ };
94
+ exports.GraphUntilLoopNode = GraphUntilLoopNode;
95
+ __decorate([
96
+ (0, decorator_validation_1.required)(),
97
+ (0, ui_decorators_1.uielement)("input", { label: "State", placeholder: "Initial state" }),
98
+ (0, graph_1.input)({ handle: "state" }),
99
+ __metadata("design:type", Object)
100
+ ], GraphUntilLoopNode.prototype, "state", void 0);
101
+ __decorate([
102
+ (0, decorator_validation_1.required)(),
103
+ (0, ui_decorators_1.uielement)("input", {
104
+ label: "Final state",
105
+ placeholder: "Final state after loop",
106
+ }),
107
+ (0, graph_1.output)({ handle: "state" }),
108
+ __metadata("design:type", Object)
109
+ ], GraphUntilLoopNode.prototype, "stateOut", void 0);
110
+ exports.GraphUntilLoopNode = GraphUntilLoopNode = __decorate([
111
+ (0, graph_1.node)("graph-until-loop-node", {
112
+ kind: "core.loop.until",
113
+ category: "Loop",
114
+ color: "#eab308",
115
+ icon: "ti-player-stop",
116
+ width: 96,
117
+ height: 96,
118
+ labels: ["loop", "conditional", "until"],
119
+ metadata: {
120
+ title: "Until loop",
121
+ description: "Repeats the body until the condition is true (post-condition, runs at least once).",
122
+ loop: {
123
+ maxIterations: 50,
124
+ statePort: "state",
125
+ condition: {
126
+ type: "greaterThanOrEqual",
127
+ left: "iteration",
128
+ right: 2,
129
+ },
130
+ },
131
+ },
132
+ }),
133
+ (0, decorator_validation_1.model)()
134
+ ], GraphUntilLoopNode);
135
+ //# sourceMappingURL=until.js.map
136
+ //# sourceMappingURL=until.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graph/nodes/loops/until.cjs","sourceRoot":"","sources":["graph/nodes/loops/until.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,133 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GraphWhileLoopNode = void 0;
4
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
5
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
6
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
7
+ r = Reflect.decorate(decorators, target, key, desc);
8
+ else
9
+ for (var i = decorators.length - 1; i >= 0; i--)
10
+ if (d = decorators[i])
11
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
12
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
13
+ };
14
+ var __metadata = (this && this.__metadata) || function (k, v) {
15
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
16
+ return Reflect.metadata(k, v);
17
+ };
18
+ /**
19
+ * @module integrations/graph/nodes/loops/while
20
+ * @summary While loop node declaration.
21
+ * @description Shared declaration for the `core.loop.while` system node kind
22
+ * (decorator id `graph-while-loop-node`), ported from the for-angular demo
23
+ * app so the loop kinds become shared canvas nodes. The class's own
24
+ * `static execute` is the only implementation of the kind, derived by
25
+ * `GraphBuiltInRegistrations`, and reaches engine services through
26
+ * `GraphExecutionContext.engine`. The loop-body workflow is demo/app-side
27
+ * content and is not part of the shared declaration — the shared class
28
+ * carries the port/metadata shape only.
29
+ */
30
+ const decorator_validation_1 = require("@decaf-ts/decorator-validation");
31
+ const ui_decorators_1 = require("@decaf-ts/ui-decorators");
32
+ const graph_1 = require("@decaf-ts/ui-decorators/graph");
33
+ const base_js_1 = require("./../base.cjs");
34
+ const graph_2 = require("@decaf-ts/ui-decorators/graph");
35
+ const GraphExecutionError_js_1 = require("./../../engine/errors/GraphExecutionError.cjs");
36
+ const GraphInputError_js_1 = require("./../../engine/errors/GraphInputError.cjs");
37
+ const GraphLoopLimitError_js_1 = require("./../../engine/errors/GraphLoopLimitError.cjs");
38
+ const loop_metadata_js_1 = require("./loop-metadata.cjs");
39
+ const constants_js_1 = require("./../../engine/constants.cjs");
40
+ const GraphConditionEvaluator_js_1 = require("./../../engine/loops/GraphConditionEvaluator.cjs");
41
+ let GraphWhileLoopNode = class GraphWhileLoopNode extends base_js_1.GraphNode {
42
+ static async execute(request, context) {
43
+ const metadata = (0, loop_metadata_js_1.extractLoopMetadata)(context, "while");
44
+ const input = request.inputs;
45
+ const maxIterations = metadata.maxIterations ?? constants_js_1.GRAPH_DEFAULT_MAX_LOOP_ITERATIONS;
46
+ const condition = metadata.condition;
47
+ if (!condition) {
48
+ throw new GraphInputError_js_1.GraphInputError("while node is missing a condition");
49
+ }
50
+ const statePort = metadata.statePort ?? "state";
51
+ const bodyWorkflow = metadata.body;
52
+ const engine = context.engine;
53
+ if (!engine) {
54
+ throw new GraphExecutionError_js_1.GraphExecutionError("while node requires engine access", "GRAPH_ENGINE_NOT_AVAILABLE");
55
+ }
56
+ let state = input.state;
57
+ let iteration = 0;
58
+ await context.emit({ type: graph_2.GraphExecutionEventType.LOOP_STARTED });
59
+ while (new GraphConditionEvaluator_js_1.GraphConditionEvaluator().evaluate(condition, state)) {
60
+ if (iteration >= maxIterations) {
61
+ await context.emit({
62
+ type: graph_2.GraphExecutionEventType.LOOP_LIMIT_REACHED,
63
+ iteration,
64
+ });
65
+ throw new GraphLoopLimitError_js_1.GraphLoopLimitError(`while loop exceeded max iterations (${maxIterations})`);
66
+ }
67
+ await context.emit({
68
+ type: graph_2.GraphExecutionEventType.LOOP_CONDITION_EVALUATED,
69
+ iteration,
70
+ payload: { result: true },
71
+ });
72
+ await context.emit({
73
+ type: graph_2.GraphExecutionEventType.LOOP_ITERATION_STARTED,
74
+ iteration,
75
+ });
76
+ const childResult = await engine.execute(bodyWorkflow, { [statePort]: state, iteration }, {
77
+ parentRunId: context.runId,
78
+ path: [...context.path, `iteration:${iteration}`],
79
+ });
80
+ state = childResult.outputs[statePort];
81
+ await context.emit({
82
+ type: graph_2.GraphExecutionEventType.LOOP_ITERATION_COMPLETED,
83
+ iteration,
84
+ });
85
+ iteration++;
86
+ }
87
+ await context.emit({ type: graph_2.GraphExecutionEventType.LOOP_COMPLETED });
88
+ return { [statePort]: state, iterations: iteration };
89
+ }
90
+ };
91
+ exports.GraphWhileLoopNode = GraphWhileLoopNode;
92
+ __decorate([
93
+ (0, decorator_validation_1.required)(),
94
+ (0, ui_decorators_1.uielement)("input", { label: "State", placeholder: "Initial state" }),
95
+ (0, graph_1.input)({ handle: "state" }),
96
+ __metadata("design:type", Object)
97
+ ], GraphWhileLoopNode.prototype, "state", void 0);
98
+ __decorate([
99
+ (0, decorator_validation_1.required)(),
100
+ (0, ui_decorators_1.uielement)("input", {
101
+ label: "Final state",
102
+ placeholder: "Final state after loop",
103
+ }),
104
+ (0, graph_1.output)({ handle: "state" }),
105
+ __metadata("design:type", Object)
106
+ ], GraphWhileLoopNode.prototype, "stateOut", void 0);
107
+ exports.GraphWhileLoopNode = GraphWhileLoopNode = __decorate([
108
+ (0, graph_1.node)("graph-while-loop-node", {
109
+ kind: "core.loop.while",
110
+ category: "Loop",
111
+ color: "#eab308",
112
+ icon: "ti-arrows-loop",
113
+ width: 96,
114
+ height: 96,
115
+ labels: ["loop", "conditional", "while"],
116
+ metadata: {
117
+ title: "While loop",
118
+ description: "Repeats the body while the condition is true (pre-condition).",
119
+ loop: {
120
+ maxIterations: 50,
121
+ statePort: "state",
122
+ condition: {
123
+ type: "lessThan",
124
+ left: "iteration",
125
+ right: 3,
126
+ },
127
+ },
128
+ },
129
+ }),
130
+ (0, decorator_validation_1.model)()
131
+ ], GraphWhileLoopNode);
132
+ //# sourceMappingURL=while.js.map
133
+ //# sourceMappingURL=while.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graph/nodes/loops/while.cjs","sourceRoot":"","sources":["graph/nodes/loops/while.js"],"names":[],"mappings":"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"}