@decaf-ts/integrations 0.10.4 → 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 (300) hide show
  1. package/dist/integrations.cjs +1 -1
  2. package/docker/minio-compose.yml +9 -7
  3. package/jest.config.cjs +2 -0
  4. package/lib/cjs/blob/s3/S3BlobStoreService.cjs +7 -4
  5. package/lib/cjs/blob/s3/S3BlobStoreService.cjs.map +1 -1
  6. package/lib/cjs/graph/engine/catalog/GraphBuiltInRegistrations.cjs +12 -73
  7. package/lib/cjs/graph/engine/catalog/GraphBuiltInRegistrations.cjs.map +1 -1
  8. package/lib/cjs/graph/engine/execution/GraphExecutionContext.cjs +5 -1
  9. package/lib/cjs/graph/engine/execution/GraphExecutionContext.cjs.map +1 -1
  10. package/lib/cjs/graph/engine/execution/GraphExecutionEngine.cjs +66 -1
  11. package/lib/cjs/graph/engine/execution/GraphExecutionEngine.cjs.map +1 -1
  12. package/lib/cjs/graph/engine/execution/GraphExecutionFrame.cjs +16 -0
  13. package/lib/cjs/graph/engine/execution/GraphExecutionFrame.cjs.map +1 -1
  14. package/lib/cjs/graph/engine/execution/index.cjs +0 -4
  15. package/lib/cjs/graph/engine/execution/index.cjs.map +1 -1
  16. package/lib/cjs/graph/engine/index.cjs +0 -7
  17. package/lib/cjs/graph/engine/index.cjs.map +1 -1
  18. package/lib/cjs/graph/engine/loops/index.cjs +0 -3
  19. package/lib/cjs/graph/engine/loops/index.cjs.map +1 -1
  20. package/lib/cjs/graph/engine/validation/GraphLooseNodeValidation.cjs +36 -0
  21. package/lib/cjs/graph/engine/validation/GraphLooseNodeValidation.cjs.map +1 -0
  22. package/lib/cjs/graph/engine/validation/GraphParameterValidator.cjs +36 -3
  23. package/lib/cjs/graph/engine/validation/GraphParameterValidator.cjs.map +1 -1
  24. package/lib/cjs/graph/engine/validation/GraphWorkflowDocumentValidator.cjs +32 -1
  25. package/lib/cjs/graph/engine/validation/GraphWorkflowDocumentValidator.cjs.map +1 -1
  26. package/lib/cjs/graph/engine/validation/index.cjs +1 -0
  27. package/lib/cjs/graph/engine/validation/index.cjs.map +1 -1
  28. package/lib/cjs/graph/nodes/agents/agent.cjs +118 -0
  29. package/lib/cjs/graph/nodes/agents/agent.cjs.map +1 -0
  30. package/lib/cjs/graph/nodes/base.cjs +61 -0
  31. package/lib/cjs/graph/nodes/base.cjs.map +1 -0
  32. package/lib/cjs/graph/nodes/boundary/input-value.cjs +59 -0
  33. package/lib/cjs/graph/nodes/boundary/input-value.cjs.map +1 -0
  34. package/lib/cjs/graph/nodes/flow-control/break.cjs +71 -0
  35. package/lib/cjs/graph/nodes/flow-control/break.cjs.map +1 -0
  36. package/lib/cjs/graph/nodes/flow-control/error-boundary.cjs +72 -0
  37. package/lib/cjs/graph/nodes/flow-control/error-boundary.cjs.map +1 -0
  38. package/lib/cjs/graph/nodes/flow-control/human-approval.cjs +80 -0
  39. package/lib/cjs/graph/nodes/flow-control/human-approval.cjs.map +1 -0
  40. package/lib/cjs/graph/nodes/flow-control/if.cjs +82 -0
  41. package/lib/cjs/graph/nodes/flow-control/if.cjs.map +1 -0
  42. package/lib/cjs/graph/nodes/flow-control/parallel.cjs +69 -0
  43. package/lib/cjs/graph/nodes/flow-control/parallel.cjs.map +1 -0
  44. package/lib/cjs/graph/nodes/flow-control/switch.cjs +190 -0
  45. package/lib/cjs/graph/nodes/flow-control/switch.cjs.map +1 -0
  46. package/lib/cjs/graph/nodes/index.cjs +162 -0
  47. package/lib/cjs/graph/nodes/index.cjs.map +1 -0
  48. package/lib/cjs/graph/nodes/loops/foreach.cjs +189 -0
  49. package/lib/cjs/graph/nodes/loops/foreach.cjs.map +1 -0
  50. package/lib/cjs/graph/nodes/loops/loop-metadata.cjs +48 -0
  51. package/lib/cjs/graph/nodes/loops/loop-metadata.cjs.map +1 -0
  52. package/lib/cjs/graph/nodes/loops/until.cjs +136 -0
  53. package/lib/cjs/graph/nodes/loops/until.cjs.map +1 -0
  54. package/lib/cjs/graph/nodes/loops/while.cjs +133 -0
  55. package/lib/cjs/graph/nodes/loops/while.cjs.map +1 -0
  56. package/lib/cjs/graph/nodes/manifests.cjs +342 -0
  57. package/lib/cjs/graph/nodes/manifests.cjs.map +1 -0
  58. package/lib/cjs/graph/nodes/triggers/chat.cjs +82 -0
  59. package/lib/cjs/graph/nodes/triggers/chat.cjs.map +1 -0
  60. package/lib/cjs/graph/nodes/triggers/event.cjs +63 -0
  61. package/lib/cjs/graph/nodes/triggers/event.cjs.map +1 -0
  62. package/lib/cjs/graph/nodes/triggers/form.cjs +64 -0
  63. package/lib/cjs/graph/nodes/triggers/form.cjs.map +1 -0
  64. package/lib/cjs/graph/nodes/triggers/manual.cjs +65 -0
  65. package/lib/cjs/graph/nodes/triggers/manual.cjs.map +1 -0
  66. package/lib/cjs/graph/nodes/triggers/schedule.cjs +65 -0
  67. package/lib/cjs/graph/nodes/triggers/schedule.cjs.map +1 -0
  68. package/lib/cjs/graph/nodes/triggers/webhook.cjs +67 -0
  69. package/lib/cjs/graph/nodes/triggers/webhook.cjs.map +1 -0
  70. package/lib/cjs/graph/nodes/utility/code.cjs +139 -0
  71. package/lib/cjs/graph/nodes/utility/code.cjs.map +1 -0
  72. package/lib/cjs/graph/nodes/utility/delay.cjs +66 -0
  73. package/lib/cjs/graph/nodes/utility/delay.cjs.map +1 -0
  74. package/lib/cjs/graph/nodes/utility/log.cjs +70 -0
  75. package/lib/cjs/graph/nodes/utility/log.cjs.map +1 -0
  76. package/lib/cjs/graph/nodes/utility/map.cjs +69 -0
  77. package/lib/cjs/graph/nodes/utility/map.cjs.map +1 -0
  78. package/lib/cjs/graph/nodes/utility/merge.cjs +67 -0
  79. package/lib/cjs/graph/nodes/utility/merge.cjs.map +1 -0
  80. package/lib/cjs/graph/nodes/utility/return.cjs +69 -0
  81. package/lib/cjs/graph/nodes/utility/return.cjs.map +1 -0
  82. package/lib/cjs/graph/nodes/utility/utility-log.cjs +77 -0
  83. package/lib/cjs/graph/nodes/utility/utility-log.cjs.map +1 -0
  84. package/lib/cjs/index.cjs +3 -3
  85. package/lib/cjs/nest/graph/GraphExecutorRegistryFactory.cjs +8 -4
  86. package/lib/cjs/nest/graph/GraphExecutorRegistryFactory.cjs.map +1 -1
  87. package/lib/cjs/nest/graph/GraphWorkflowBoundaryValidation.cjs +2 -0
  88. package/lib/cjs/nest/graph/GraphWorkflowBoundaryValidation.cjs.map +1 -1
  89. package/lib/cjs/nest/graph/GraphWorkflowService.cjs +1 -13
  90. package/lib/cjs/nest/graph/GraphWorkflowService.cjs.map +1 -1
  91. package/lib/esm/blob/s3/S3BlobStoreService.js +7 -4
  92. package/lib/esm/blob/s3/S3BlobStoreService.js.map +1 -1
  93. package/lib/esm/graph/engine/catalog/GraphBuiltInRegistrations.js +11 -72
  94. package/lib/esm/graph/engine/catalog/GraphBuiltInRegistrations.js.map +1 -1
  95. package/lib/esm/graph/engine/execution/GraphExecutionContext.js +5 -1
  96. package/lib/esm/graph/engine/execution/GraphExecutionContext.js.map +1 -1
  97. package/lib/esm/graph/engine/execution/GraphExecutionEngine.js +66 -1
  98. package/lib/esm/graph/engine/execution/GraphExecutionEngine.js.map +1 -1
  99. package/lib/esm/graph/engine/execution/GraphExecutionFrame.js +16 -0
  100. package/lib/esm/graph/engine/execution/GraphExecutionFrame.js.map +1 -1
  101. package/lib/esm/graph/engine/execution/index.js +0 -4
  102. package/lib/esm/graph/engine/execution/index.js.map +1 -1
  103. package/lib/esm/graph/engine/index.js +0 -7
  104. package/lib/esm/graph/engine/index.js.map +1 -1
  105. package/lib/esm/graph/engine/loops/index.js +0 -3
  106. package/lib/esm/graph/engine/loops/index.js.map +1 -1
  107. package/lib/esm/graph/engine/validation/GraphLooseNodeValidation.js +32 -0
  108. package/lib/esm/graph/engine/validation/GraphLooseNodeValidation.js.map +1 -0
  109. package/lib/esm/graph/engine/validation/GraphParameterValidator.js +36 -3
  110. package/lib/esm/graph/engine/validation/GraphParameterValidator.js.map +1 -1
  111. package/lib/esm/graph/engine/validation/GraphWorkflowDocumentValidator.js +32 -1
  112. package/lib/esm/graph/engine/validation/GraphWorkflowDocumentValidator.js.map +1 -1
  113. package/lib/esm/graph/engine/validation/index.js +1 -0
  114. package/lib/esm/graph/engine/validation/index.js.map +1 -1
  115. package/lib/esm/graph/nodes/agents/agent.js +109 -0
  116. package/lib/esm/graph/nodes/agents/agent.js.map +1 -0
  117. package/lib/esm/graph/nodes/base.js +56 -0
  118. package/lib/esm/graph/nodes/base.js.map +1 -0
  119. package/lib/esm/graph/nodes/boundary/input-value.js +50 -0
  120. package/lib/esm/graph/nodes/boundary/input-value.js.map +1 -0
  121. package/lib/esm/graph/nodes/flow-control/break.js +62 -0
  122. package/lib/esm/graph/nodes/flow-control/break.js.map +1 -0
  123. package/lib/esm/graph/nodes/flow-control/error-boundary.js +63 -0
  124. package/lib/esm/graph/nodes/flow-control/error-boundary.js.map +1 -0
  125. package/lib/esm/graph/nodes/flow-control/human-approval.js +71 -0
  126. package/lib/esm/graph/nodes/flow-control/human-approval.js.map +1 -0
  127. package/lib/esm/graph/nodes/flow-control/if.js +73 -0
  128. package/lib/esm/graph/nodes/flow-control/if.js.map +1 -0
  129. package/lib/esm/graph/nodes/flow-control/parallel.js +60 -0
  130. package/lib/esm/graph/nodes/flow-control/parallel.js.map +1 -0
  131. package/lib/esm/graph/nodes/flow-control/switch.js +181 -0
  132. package/lib/esm/graph/nodes/flow-control/switch.js.map +1 -0
  133. package/lib/esm/graph/nodes/index.js +144 -0
  134. package/lib/esm/graph/nodes/index.js.map +1 -0
  135. package/lib/esm/graph/nodes/loops/foreach.js +180 -0
  136. package/lib/esm/graph/nodes/loops/foreach.js.map +1 -0
  137. package/lib/esm/graph/nodes/loops/loop-metadata.js +44 -0
  138. package/lib/esm/graph/nodes/loops/loop-metadata.js.map +1 -0
  139. package/lib/esm/graph/nodes/loops/until.js +127 -0
  140. package/lib/esm/graph/nodes/loops/until.js.map +1 -0
  141. package/lib/esm/graph/nodes/loops/while.js +124 -0
  142. package/lib/esm/graph/nodes/loops/while.js.map +1 -0
  143. package/lib/esm/graph/nodes/manifests.js +338 -0
  144. package/lib/esm/graph/nodes/manifests.js.map +1 -0
  145. package/lib/esm/graph/nodes/triggers/chat.js +73 -0
  146. package/lib/esm/graph/nodes/triggers/chat.js.map +1 -0
  147. package/lib/esm/graph/nodes/triggers/event.js +54 -0
  148. package/lib/esm/graph/nodes/triggers/event.js.map +1 -0
  149. package/lib/esm/graph/nodes/triggers/form.js +55 -0
  150. package/lib/esm/graph/nodes/triggers/form.js.map +1 -0
  151. package/lib/esm/graph/nodes/triggers/manual.js +56 -0
  152. package/lib/esm/graph/nodes/triggers/manual.js.map +1 -0
  153. package/lib/esm/graph/nodes/triggers/schedule.js +56 -0
  154. package/lib/esm/graph/nodes/triggers/schedule.js.map +1 -0
  155. package/lib/esm/graph/nodes/triggers/webhook.js +58 -0
  156. package/lib/esm/graph/nodes/triggers/webhook.js.map +1 -0
  157. package/lib/esm/graph/nodes/utility/code.js +130 -0
  158. package/lib/esm/graph/nodes/utility/code.js.map +1 -0
  159. package/lib/esm/graph/nodes/utility/delay.js +57 -0
  160. package/lib/esm/graph/nodes/utility/delay.js.map +1 -0
  161. package/lib/esm/graph/nodes/utility/log.js +61 -0
  162. package/lib/esm/graph/nodes/utility/log.js.map +1 -0
  163. package/lib/esm/graph/nodes/utility/map.js +60 -0
  164. package/lib/esm/graph/nodes/utility/map.js.map +1 -0
  165. package/lib/esm/graph/nodes/utility/merge.js +58 -0
  166. package/lib/esm/graph/nodes/utility/merge.js.map +1 -0
  167. package/lib/esm/graph/nodes/utility/return.js +60 -0
  168. package/lib/esm/graph/nodes/utility/return.js.map +1 -0
  169. package/lib/esm/graph/nodes/utility/utility-log.js +68 -0
  170. package/lib/esm/graph/nodes/utility/utility-log.js.map +1 -0
  171. package/lib/esm/index.js +3 -3
  172. package/lib/esm/nest/graph/GraphExecutorRegistryFactory.js +8 -4
  173. package/lib/esm/nest/graph/GraphExecutorRegistryFactory.js.map +1 -1
  174. package/lib/esm/nest/graph/GraphWorkflowBoundaryValidation.js +2 -0
  175. package/lib/esm/nest/graph/GraphWorkflowBoundaryValidation.js.map +1 -1
  176. package/lib/esm/nest/graph/GraphWorkflowService.js +2 -14
  177. package/lib/esm/nest/graph/GraphWorkflowService.js.map +1 -1
  178. package/lib/types/graph/engine/catalog/GraphBuiltInRegistrations.d.cts +4 -7
  179. package/lib/types/graph/engine/catalog/GraphBuiltInRegistrations.d.mts +4 -7
  180. package/lib/types/graph/engine/execution/GraphExecutionContext.d.cts +6 -1
  181. package/lib/types/graph/engine/execution/GraphExecutionContext.d.mts +6 -1
  182. package/lib/types/graph/engine/execution/GraphExecutionEngine.d.cts +27 -0
  183. package/lib/types/graph/engine/execution/GraphExecutionEngine.d.mts +27 -0
  184. package/lib/types/graph/engine/execution/GraphExecutionFrame.d.cts +12 -0
  185. package/lib/types/graph/engine/execution/GraphExecutionFrame.d.mts +12 -0
  186. package/lib/types/graph/engine/execution/index.d.cts +0 -4
  187. package/lib/types/graph/engine/execution/index.d.mts +0 -4
  188. package/lib/types/graph/engine/index.d.cts +0 -7
  189. package/lib/types/graph/engine/index.d.mts +0 -7
  190. package/lib/types/graph/engine/loops/index.d.cts +0 -3
  191. package/lib/types/graph/engine/loops/index.d.mts +0 -3
  192. package/lib/types/graph/engine/validation/GraphLooseNodeValidation.d.cts +21 -0
  193. package/lib/types/graph/engine/validation/GraphLooseNodeValidation.d.mts +21 -0
  194. package/lib/types/graph/engine/validation/GraphParameterValidator.d.cts +25 -1
  195. package/lib/types/graph/engine/validation/GraphParameterValidator.d.mts +25 -1
  196. package/lib/types/graph/engine/validation/index.d.cts +1 -0
  197. package/lib/types/graph/engine/validation/index.d.mts +1 -0
  198. package/lib/types/graph/nodes/agents/agent.d.cts +31 -0
  199. package/lib/types/graph/nodes/agents/agent.d.mts +31 -0
  200. package/lib/types/graph/nodes/base.d.cts +58 -0
  201. package/lib/types/graph/nodes/base.d.mts +58 -0
  202. package/lib/types/graph/nodes/boundary/input-value.d.cts +6 -0
  203. package/lib/types/graph/nodes/boundary/input-value.d.mts +6 -0
  204. package/lib/types/graph/nodes/flow-control/break.d.cts +8 -0
  205. package/lib/types/graph/nodes/flow-control/break.d.mts +8 -0
  206. package/lib/types/graph/nodes/flow-control/error-boundary.d.cts +8 -0
  207. package/lib/types/graph/nodes/flow-control/error-boundary.d.mts +8 -0
  208. package/lib/types/graph/nodes/flow-control/human-approval.d.cts +8 -0
  209. package/lib/types/graph/nodes/flow-control/human-approval.d.mts +8 -0
  210. package/lib/types/graph/nodes/flow-control/if.d.cts +8 -0
  211. package/lib/types/graph/nodes/flow-control/if.d.mts +8 -0
  212. package/lib/types/graph/nodes/flow-control/parallel.d.cts +7 -0
  213. package/lib/types/graph/nodes/flow-control/parallel.d.mts +7 -0
  214. package/lib/types/graph/nodes/flow-control/switch.d.cts +23 -0
  215. package/lib/types/graph/nodes/flow-control/switch.d.mts +23 -0
  216. package/lib/types/graph/nodes/index.d.cts +93 -0
  217. package/lib/types/graph/nodes/index.d.mts +93 -0
  218. package/lib/types/graph/nodes/loops/foreach.d.cts +11 -0
  219. package/lib/types/graph/nodes/loops/foreach.d.mts +11 -0
  220. package/lib/types/graph/nodes/loops/loop-metadata.d.cts +20 -0
  221. package/lib/types/graph/nodes/loops/loop-metadata.d.mts +20 -0
  222. package/lib/types/graph/nodes/loops/until.d.cts +8 -0
  223. package/lib/types/graph/nodes/loops/until.d.mts +8 -0
  224. package/lib/types/graph/nodes/loops/while.d.cts +8 -0
  225. package/lib/types/graph/nodes/loops/while.d.mts +8 -0
  226. package/lib/types/graph/nodes/manifests.d.cts +62 -0
  227. package/lib/types/graph/nodes/manifests.d.mts +62 -0
  228. package/lib/types/graph/nodes/triggers/chat.d.cts +8 -0
  229. package/lib/types/graph/nodes/triggers/chat.d.mts +8 -0
  230. package/lib/types/graph/nodes/triggers/event.d.cts +6 -0
  231. package/lib/types/graph/nodes/triggers/event.d.mts +6 -0
  232. package/lib/types/graph/nodes/triggers/form.d.cts +6 -0
  233. package/lib/types/graph/nodes/triggers/form.d.mts +6 -0
  234. package/lib/types/graph/nodes/triggers/manual.d.cts +6 -0
  235. package/lib/types/graph/nodes/triggers/manual.d.mts +6 -0
  236. package/lib/types/graph/nodes/triggers/schedule.d.cts +6 -0
  237. package/lib/types/graph/nodes/triggers/schedule.d.mts +6 -0
  238. package/lib/types/graph/nodes/triggers/webhook.d.cts +6 -0
  239. package/lib/types/graph/nodes/triggers/webhook.d.mts +6 -0
  240. package/lib/types/graph/nodes/utility/code.d.cts +36 -0
  241. package/lib/types/graph/nodes/utility/code.d.mts +36 -0
  242. package/lib/types/graph/nodes/utility/delay.d.cts +7 -0
  243. package/lib/types/graph/nodes/utility/delay.d.mts +7 -0
  244. package/lib/types/graph/nodes/utility/log.d.cts +8 -0
  245. package/lib/types/graph/nodes/utility/log.d.mts +8 -0
  246. package/lib/types/graph/nodes/utility/map.d.cts +7 -0
  247. package/lib/types/graph/nodes/utility/map.d.mts +7 -0
  248. package/lib/types/graph/nodes/utility/merge.d.cts +7 -0
  249. package/lib/types/graph/nodes/utility/merge.d.mts +7 -0
  250. package/lib/types/graph/nodes/utility/return.d.cts +7 -0
  251. package/lib/types/graph/nodes/utility/return.d.mts +7 -0
  252. package/lib/types/graph/nodes/utility/utility-log.d.cts +10 -0
  253. package/lib/types/graph/nodes/utility/utility-log.d.mts +10 -0
  254. package/lib/types/index.d.cts +2 -2
  255. package/lib/types/index.d.mts +2 -2
  256. package/lib/types/nest/graph/GraphExecutorRegistryFactory.d.cts +5 -3
  257. package/lib/types/nest/graph/GraphExecutorRegistryFactory.d.mts +5 -3
  258. package/package.json +1 -1
  259. package/lib/cjs/graph/engine/execution/BreakGraphNodeExecutor.cjs +0 -24
  260. package/lib/cjs/graph/engine/execution/BreakGraphNodeExecutor.cjs.map +0 -1
  261. package/lib/cjs/graph/engine/execution/CodeGraphNodeExecutor.cjs +0 -103
  262. package/lib/cjs/graph/engine/execution/CodeGraphNodeExecutor.cjs.map +0 -1
  263. package/lib/cjs/graph/engine/execution/LogGraphNodeExecutor.cjs +0 -47
  264. package/lib/cjs/graph/engine/execution/LogGraphNodeExecutor.cjs.map +0 -1
  265. package/lib/cjs/graph/engine/execution/SwitchGraphNodeExecutor.cjs +0 -121
  266. package/lib/cjs/graph/engine/execution/SwitchGraphNodeExecutor.cjs.map +0 -1
  267. package/lib/cjs/graph/engine/loops/ForeachGraphNodeExecutor.cjs +0 -146
  268. package/lib/cjs/graph/engine/loops/ForeachGraphNodeExecutor.cjs.map +0 -1
  269. package/lib/cjs/graph/engine/loops/UntilGraphNodeExecutor.cjs +0 -102
  270. package/lib/cjs/graph/engine/loops/UntilGraphNodeExecutor.cjs.map +0 -1
  271. package/lib/cjs/graph/engine/loops/WhileGraphNodeExecutor.cjs +0 -103
  272. package/lib/cjs/graph/engine/loops/WhileGraphNodeExecutor.cjs.map +0 -1
  273. package/lib/esm/graph/engine/execution/BreakGraphNodeExecutor.js +0 -19
  274. package/lib/esm/graph/engine/execution/BreakGraphNodeExecutor.js.map +0 -1
  275. package/lib/esm/graph/engine/execution/CodeGraphNodeExecutor.js +0 -98
  276. package/lib/esm/graph/engine/execution/CodeGraphNodeExecutor.js.map +0 -1
  277. package/lib/esm/graph/engine/execution/LogGraphNodeExecutor.js +0 -42
  278. package/lib/esm/graph/engine/execution/LogGraphNodeExecutor.js.map +0 -1
  279. package/lib/esm/graph/engine/execution/SwitchGraphNodeExecutor.js +0 -116
  280. package/lib/esm/graph/engine/execution/SwitchGraphNodeExecutor.js.map +0 -1
  281. package/lib/esm/graph/engine/loops/ForeachGraphNodeExecutor.js +0 -141
  282. package/lib/esm/graph/engine/loops/ForeachGraphNodeExecutor.js.map +0 -1
  283. package/lib/esm/graph/engine/loops/UntilGraphNodeExecutor.js +0 -97
  284. package/lib/esm/graph/engine/loops/UntilGraphNodeExecutor.js.map +0 -1
  285. package/lib/esm/graph/engine/loops/WhileGraphNodeExecutor.js +0 -98
  286. package/lib/esm/graph/engine/loops/WhileGraphNodeExecutor.js.map +0 -1
  287. package/lib/types/graph/engine/execution/BreakGraphNodeExecutor.d.cts +0 -22
  288. package/lib/types/graph/engine/execution/BreakGraphNodeExecutor.d.mts +0 -22
  289. package/lib/types/graph/engine/execution/CodeGraphNodeExecutor.d.cts +0 -65
  290. package/lib/types/graph/engine/execution/CodeGraphNodeExecutor.d.mts +0 -65
  291. package/lib/types/graph/engine/execution/LogGraphNodeExecutor.d.cts +0 -25
  292. package/lib/types/graph/engine/execution/LogGraphNodeExecutor.d.mts +0 -25
  293. package/lib/types/graph/engine/execution/SwitchGraphNodeExecutor.d.cts +0 -43
  294. package/lib/types/graph/engine/execution/SwitchGraphNodeExecutor.d.mts +0 -43
  295. package/lib/types/graph/engine/loops/ForeachGraphNodeExecutor.d.cts +0 -35
  296. package/lib/types/graph/engine/loops/ForeachGraphNodeExecutor.d.mts +0 -35
  297. package/lib/types/graph/engine/loops/UntilGraphNodeExecutor.d.cts +0 -22
  298. package/lib/types/graph/engine/loops/UntilGraphNodeExecutor.d.mts +0 -22
  299. package/lib/types/graph/engine/loops/WhileGraphNodeExecutor.d.cts +0 -26
  300. package/lib/types/graph/engine/loops/WhileGraphNodeExecutor.d.mts +0 -26
@@ -1,146 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ForeachGraphNodeExecutor = void 0;
4
- const constants_js_1 = require("./../constants.cjs");
5
- const graph_1 = require("@decaf-ts/ui-decorators/graph");
6
- const GraphBreakSignal_js_1 = require("./../errors/GraphBreakSignal.cjs");
7
- const GraphInputError_js_1 = require("./../errors/GraphInputError.cjs");
8
- const GraphLoopLimitError_js_1 = require("./../errors/GraphLoopLimitError.cjs");
9
- /**
10
- * Executor for `core.loop.foreach` nodes.
11
- *
12
- * Expects input:
13
- * - `items`: array of values to iterate over
14
- * - `slice?`: optional slice size (overrides `metadata.loop.slice`); default `1`
15
- * - `state?`: optional initial state
16
- *
17
- * Produces output:
18
- * - `results`: array of body outputs (in item order). When `slice > 1`, one
19
- * entry per slice (the body receives a slice array on the item port).
20
- * - `completed`: alias for `results` — the flow after the loop ends (the
21
- * collected results array).
22
- * - `iterations`: number of iterations executed
23
- * - `broken`: `true` when the loop was terminated early by a Break node
24
- * - `state?`: final state
25
- */
26
- class ForeachGraphNodeExecutor {
27
- constructor(engine) {
28
- this.engine = engine;
29
- }
30
- async execute(request, context) {
31
- const metadata = this.extractMetadata(context);
32
- const input = request.inputs;
33
- const items = input.items;
34
- const maxIterations = metadata.maxIterations ?? constants_js_1.GRAPH_DEFAULT_MAX_FOREACH_ITERATIONS;
35
- if (!Array.isArray(items)) {
36
- throw new GraphInputError_js_1.GraphInputError("foreach input 'items' must be an array");
37
- }
38
- const sliceRaw = Number(input.slice ?? metadata.slice ?? 1);
39
- const slice = Number.isFinite(sliceRaw) && sliceRaw > 0 ? Math.floor(sliceRaw) : 1;
40
- const iterations = slice > 1 ? Math.ceil(items.length / slice) : items.length;
41
- if (iterations > maxIterations) {
42
- throw new GraphLoopLimitError_js_1.GraphLoopLimitError(`foreach exceeded max iterations (${iterations} > ${maxIterations})`);
43
- }
44
- const itemPort = metadata.itemPort ?? "item";
45
- const resultPort = metadata.resultPort ?? "result";
46
- const statePort = metadata.statePort ?? "state";
47
- const bodyWorkflow = metadata.body;
48
- const results = [];
49
- let state = input.state;
50
- let broken = false;
51
- await context.emit({ type: graph_1.GraphExecutionEventType.LOOP_STARTED });
52
- for (let i = 0; i < iterations; i++) {
53
- await context.emit({
54
- type: graph_1.GraphExecutionEventType.LOOP_ITERATION_STARTED,
55
- iteration: i,
56
- });
57
- const sliceItems = slice > 1 ? items.slice(i * slice, i * slice + slice) : items[i];
58
- const childInputs = {
59
- [itemPort]: sliceItems,
60
- index: i,
61
- };
62
- if (slice > 1)
63
- childInputs["slice"] = sliceItems;
64
- if (state !== undefined)
65
- childInputs[statePort] = state;
66
- try {
67
- const childResult = await this.engine.execute(bodyWorkflow, childInputs, {
68
- parentRunId: context.runId,
69
- path: [...context.path, `iteration:${i}`],
70
- metadata: { item: sliceItems, index: i, slice },
71
- });
72
- results.push(childResult.outputs[resultPort]);
73
- if (childResult.outputs[statePort] !== undefined) {
74
- state = childResult.outputs[statePort];
75
- }
76
- }
77
- catch (err) {
78
- if (err instanceof GraphBreakSignal_js_1.GraphBreakSignal) {
79
- const carried = err.details?.value;
80
- if (carried !== undefined)
81
- results.push(carried);
82
- broken = true;
83
- await context.emit({
84
- type: graph_1.GraphExecutionEventType.LOOP_ITERATION_COMPLETED,
85
- iteration: i,
86
- metadata: { broken: true },
87
- });
88
- break;
89
- }
90
- throw err;
91
- }
92
- await context.emit({
93
- type: graph_1.GraphExecutionEventType.LOOP_ITERATION_COMPLETED,
94
- iteration: i,
95
- });
96
- }
97
- await context.emit({
98
- type: graph_1.GraphExecutionEventType.LOOP_COMPLETED,
99
- metadata: { broken },
100
- });
101
- const output = {
102
- results,
103
- completed: results,
104
- iterations: results.length,
105
- broken,
106
- };
107
- if (state !== undefined)
108
- output[statePort] = state;
109
- return output;
110
- }
111
- extractMetadata(context) {
112
- const instance = context.node;
113
- const parameters = (instance.parameters ?? {});
114
- const loop = instance.loop;
115
- const fallback = context.metadata?.["loop"];
116
- if (!loop?.body && !fallback?.["body"]) {
117
- throw new GraphInputError_js_1.GraphInputError("foreach node is missing loop configuration (instance.loop.body)");
118
- }
119
- const body = (loop?.body ?? fallback?.["body"]);
120
- const number = (key) => {
121
- const raw = parameters[key] ?? loop?.[key] ?? fallback?.[key];
122
- const value = Number(raw);
123
- return raw !== undefined && Number.isFinite(value) ? value : undefined;
124
- };
125
- const string = (key) => {
126
- const raw = parameters[key] ?? fallback?.[key];
127
- return typeof raw === "string" ? raw : undefined;
128
- };
129
- return {
130
- body,
131
- maxIterations: number("maxIterations"),
132
- timeoutMs: number("timeoutMs"),
133
- concurrency: number("concurrency"),
134
- condition: (parameters["condition"] ?? fallback?.["condition"]),
135
- inputPort: string("inputPort"),
136
- outputPort: string("outputPort"),
137
- itemPort: string("itemPort"),
138
- resultPort: string("resultPort"),
139
- statePort: string("statePort"),
140
- slice: number("slice"),
141
- };
142
- }
143
- }
144
- exports.ForeachGraphNodeExecutor = ForeachGraphNodeExecutor;
145
- //# sourceMappingURL=ForeachGraphNodeExecutor.js.map
146
- //# sourceMappingURL=ForeachGraphNodeExecutor.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"graph/engine/loops/ForeachGraphNodeExecutor.cjs","sourceRoot":"","sources":["graph/engine/loops/ForeachGraphNodeExecutor.js"],"names":[],"mappings":"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"}
@@ -1,102 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.UntilGraphNodeExecutor = void 0;
4
- const constants_js_1 = require("./../constants.cjs");
5
- const graph_1 = require("@decaf-ts/ui-decorators/graph");
6
- const GraphInputError_js_1 = require("./../errors/GraphInputError.cjs");
7
- const GraphLoopLimitError_js_1 = require("./../errors/GraphLoopLimitError.cjs");
8
- const GraphConditionEvaluator_js_1 = require("./GraphConditionEvaluator.cjs");
9
- /**
10
- * Executor for `core.loop.until` nodes.
11
- *
12
- * Executes the body at least once, then checks the condition. Repeats until
13
- * the condition evaluates to true.
14
- */
15
- class UntilGraphNodeExecutor {
16
- constructor(engine) {
17
- this.engine = engine;
18
- this.evaluator = new GraphConditionEvaluator_js_1.GraphConditionEvaluator();
19
- }
20
- async execute(request, context) {
21
- const metadata = this.extractMetadata(context);
22
- const input = request.inputs;
23
- const maxIterations = metadata.maxIterations ?? constants_js_1.GRAPH_DEFAULT_MAX_LOOP_ITERATIONS;
24
- const condition = metadata.condition;
25
- if (!condition) {
26
- throw new GraphInputError_js_1.GraphInputError("until node is missing a condition");
27
- }
28
- const statePort = metadata.statePort ?? "state";
29
- const bodyWorkflow = metadata.body;
30
- let state = input.state;
31
- let iteration = 0;
32
- await context.emit({ type: graph_1.GraphExecutionEventType.LOOP_STARTED });
33
- let shouldStop = false;
34
- do {
35
- if (iteration >= maxIterations) {
36
- await context.emit({
37
- type: graph_1.GraphExecutionEventType.LOOP_LIMIT_REACHED,
38
- iteration,
39
- });
40
- throw new GraphLoopLimitError_js_1.GraphLoopLimitError(`until loop exceeded max iterations (${maxIterations})`);
41
- }
42
- await context.emit({
43
- type: graph_1.GraphExecutionEventType.LOOP_ITERATION_STARTED,
44
- iteration,
45
- });
46
- const childResult = await this.engine.execute(bodyWorkflow, { [statePort]: state, iteration }, {
47
- parentRunId: context.runId,
48
- path: [...context.path, `iteration:${iteration}`],
49
- });
50
- state = childResult.outputs[statePort];
51
- await context.emit({
52
- type: graph_1.GraphExecutionEventType.LOOP_ITERATION_COMPLETED,
53
- iteration,
54
- });
55
- const conditionResult = this.evaluator.evaluate(condition, state);
56
- await context.emit({
57
- type: graph_1.GraphExecutionEventType.LOOP_CONDITION_EVALUATED,
58
- iteration,
59
- payload: { result: conditionResult },
60
- });
61
- iteration++;
62
- shouldStop = conditionResult;
63
- } while (!shouldStop);
64
- await context.emit({ type: graph_1.GraphExecutionEventType.LOOP_COMPLETED });
65
- return { [statePort]: state, iterations: iteration };
66
- }
67
- extractMetadata(context) {
68
- const instance = context.node;
69
- const parameters = (instance.parameters ?? {});
70
- const loop = instance.loop;
71
- const fallback = context.metadata?.["loop"];
72
- if (!loop?.body && !fallback?.["body"]) {
73
- throw new GraphInputError_js_1.GraphInputError("until node is missing loop configuration (instance.loop.body)");
74
- }
75
- const body = (loop?.body ?? fallback?.["body"]);
76
- const number = (key) => {
77
- const raw = parameters[key] ?? loop?.[key] ?? fallback?.[key];
78
- const value = Number(raw);
79
- return raw !== undefined && Number.isFinite(value) ? value : undefined;
80
- };
81
- const string = (key) => {
82
- const raw = parameters[key] ?? fallback?.[key];
83
- return typeof raw === "string" ? raw : undefined;
84
- };
85
- return {
86
- body,
87
- maxIterations: number("maxIterations"),
88
- timeoutMs: number("timeoutMs"),
89
- concurrency: number("concurrency"),
90
- condition: (parameters["condition"] ?? fallback?.["condition"]),
91
- inputPort: string("inputPort"),
92
- outputPort: string("outputPort"),
93
- itemPort: string("itemPort"),
94
- resultPort: string("resultPort"),
95
- statePort: string("statePort"),
96
- slice: number("slice"),
97
- };
98
- }
99
- }
100
- exports.UntilGraphNodeExecutor = UntilGraphNodeExecutor;
101
- //# sourceMappingURL=UntilGraphNodeExecutor.js.map
102
- //# sourceMappingURL=UntilGraphNodeExecutor.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"graph/engine/loops/UntilGraphNodeExecutor.cjs","sourceRoot":"","sources":["graph/engine/loops/UntilGraphNodeExecutor.js"],"names":[],"mappings":"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"}
@@ -1,103 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.WhileGraphNodeExecutor = void 0;
4
- const constants_js_1 = require("./../constants.cjs");
5
- const graph_1 = require("@decaf-ts/ui-decorators/graph");
6
- const GraphInputError_js_1 = require("./../errors/GraphInputError.cjs");
7
- const GraphLoopLimitError_js_1 = require("./../errors/GraphLoopLimitError.cjs");
8
- const GraphConditionEvaluator_js_1 = require("./GraphConditionEvaluator.cjs");
9
- /**
10
- * Executor for `core.loop.while` nodes.
11
- *
12
- * Expects input:
13
- * - `state`: initial state
14
- *
15
- * Produces output:
16
- * - `state`: final state
17
- * - `iterations`: number of iterations executed
18
- */
19
- class WhileGraphNodeExecutor {
20
- constructor(engine) {
21
- this.engine = engine;
22
- this.evaluator = new GraphConditionEvaluator_js_1.GraphConditionEvaluator();
23
- }
24
- async execute(request, context) {
25
- const metadata = this.extractMetadata(context);
26
- const input = request.inputs;
27
- const maxIterations = metadata.maxIterations ?? constants_js_1.GRAPH_DEFAULT_MAX_LOOP_ITERATIONS;
28
- const condition = metadata.condition;
29
- if (!condition) {
30
- throw new GraphInputError_js_1.GraphInputError("while node is missing a condition");
31
- }
32
- const statePort = metadata.statePort ?? "state";
33
- const bodyWorkflow = metadata.body;
34
- let state = input.state;
35
- let iteration = 0;
36
- await context.emit({ type: graph_1.GraphExecutionEventType.LOOP_STARTED });
37
- while (this.evaluator.evaluate(condition, state)) {
38
- if (iteration >= maxIterations) {
39
- await context.emit({
40
- type: graph_1.GraphExecutionEventType.LOOP_LIMIT_REACHED,
41
- iteration,
42
- });
43
- throw new GraphLoopLimitError_js_1.GraphLoopLimitError(`while loop exceeded max iterations (${maxIterations})`);
44
- }
45
- await context.emit({
46
- type: graph_1.GraphExecutionEventType.LOOP_CONDITION_EVALUATED,
47
- iteration,
48
- payload: { result: true },
49
- });
50
- await context.emit({
51
- type: graph_1.GraphExecutionEventType.LOOP_ITERATION_STARTED,
52
- iteration,
53
- });
54
- const childResult = await this.engine.execute(bodyWorkflow, { [statePort]: state, iteration }, {
55
- parentRunId: context.runId,
56
- path: [...context.path, `iteration:${iteration}`],
57
- });
58
- state = childResult.outputs[statePort];
59
- await context.emit({
60
- type: graph_1.GraphExecutionEventType.LOOP_ITERATION_COMPLETED,
61
- iteration,
62
- });
63
- iteration++;
64
- }
65
- await context.emit({ type: graph_1.GraphExecutionEventType.LOOP_COMPLETED });
66
- return { [statePort]: state, iterations: iteration };
67
- }
68
- extractMetadata(context) {
69
- const instance = context.node;
70
- const parameters = (instance.parameters ?? {});
71
- const loop = instance.loop;
72
- const fallback = context.metadata?.["loop"];
73
- if (!loop?.body && !fallback?.["body"]) {
74
- throw new GraphInputError_js_1.GraphInputError("while node is missing loop configuration (instance.loop.body)");
75
- }
76
- const body = (loop?.body ?? fallback?.["body"]);
77
- const number = (key) => {
78
- const raw = parameters[key] ?? loop?.[key] ?? fallback?.[key];
79
- const value = Number(raw);
80
- return raw !== undefined && Number.isFinite(value) ? value : undefined;
81
- };
82
- const string = (key) => {
83
- const raw = parameters[key] ?? fallback?.[key];
84
- return typeof raw === "string" ? raw : undefined;
85
- };
86
- return {
87
- body,
88
- maxIterations: number("maxIterations"),
89
- timeoutMs: number("timeoutMs"),
90
- concurrency: number("concurrency"),
91
- condition: (parameters["condition"] ?? fallback?.["condition"]),
92
- inputPort: string("inputPort"),
93
- outputPort: string("outputPort"),
94
- itemPort: string("itemPort"),
95
- resultPort: string("resultPort"),
96
- statePort: string("statePort"),
97
- slice: number("slice"),
98
- };
99
- }
100
- }
101
- exports.WhileGraphNodeExecutor = WhileGraphNodeExecutor;
102
- //# sourceMappingURL=WhileGraphNodeExecutor.js.map
103
- //# sourceMappingURL=WhileGraphNodeExecutor.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"graph/engine/loops/WhileGraphNodeExecutor.cjs","sourceRoot":"","sources":["graph/engine/loops/WhileGraphNodeExecutor.js"],"names":[],"mappings":"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"}
@@ -1,19 +0,0 @@
1
- import { GraphBreakSignal } from "./../errors/GraphBreakSignal.js";
2
- /**
3
- * Executor for `core.flow.break` nodes.
4
- *
5
- * Reads the optional `value` input port and throws a {@link GraphBreakSignal}
6
- * carrying it. The enclosing loop executor (`core.loop.foreach`,
7
- * `core.loop.while`, `core.loop.until`) catches the signal, stops iterating,
8
- * and returns the results collected so far (plus the carried value as the
9
- * final partial result).
10
- */
11
- export class BreakGraphNodeExecutor {
12
- async execute(request,
13
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
14
- _context) {
15
- const value = request.inputs["value"];
16
- throw new GraphBreakSignal(value);
17
- }
18
- }
19
- //# sourceMappingURL=BreakGraphNodeExecutor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BreakGraphNodeExecutor.js","sourceRoot":"","sources":["../../../../../src/graph/engine/execution/BreakGraphNodeExecutor.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,gBAAgB,EAAE,wCAAmC;AAE9D;;;;;;;;GAQG;AACH,MAAM,OAAO,sBAAsB;IACjC,KAAK,CAAC,OAAO,CACX,OAAkC;IAClC,6DAA6D;IAC7D,QAA+B;QAE/B,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACtC,MAAM,IAAI,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;CACF"}
@@ -1,98 +0,0 @@
1
- import { GraphExecutionError } from "./../errors/GraphExecutionError.js";
2
- import { GraphInputError } from "./../errors/GraphInputError.js";
3
- /**
4
- * Reads the Code node metadata from the canonical node instance (DECAF-50):
5
- * configuration lives in the instance `parameters` with `metadata` as the
6
- * legacy fallback (the §4.18 transition compiler mirrors legacy
7
- * `graph.metadata` bags into instance metadata).
8
- */
9
- function readCodeMetadata(context) {
10
- const parameters = context.node.parameters;
11
- const metadata = context.node.metadata;
12
- const source = { ...(metadata ?? {}), ...parameters };
13
- return source;
14
- }
15
- /**
16
- * Executor for `core.flow.code` nodes.
17
- *
18
- * The Code Node runs user-authored JS/TS in a restricted sandbox. The engine
19
- * does not implement the sandbox directly (§22.4); instead it delegates to the
20
- * pluggable {@link CodeSandboxEvaluator} registered on the engine config. When
21
- * no evaluator is registered, the executor throws
22
- * `GRAPH_CODE_SANDBOX_NOT_CONFIGURED`.
23
- *
24
- * The code is read from the `code` input port (spliced from
25
- * {@link CodeInputSchema}). The language is hardcoded to `"javascript"` for
26
- * now (the `language` field on `CodeInputSchema` has no `@input` so it is not
27
- * a port and not wired). The timeout is read from `graph.metadata.timeoutMs`.
28
- *
29
- * The sandbox context exposes:
30
- * - `$input` — the full input values object (all resolved port values).
31
- * - `$vars` — workflow variables (sourced from `context.metadata.vars`).
32
- * - `$item` / `$index` — current loop item and index.
33
- * - `$node` — outputs of upstream nodes.
34
- * - `$output` — the current draft output.
35
- *
36
- * The evaluator's return value is forwarded verbatim on the `result` output
37
- * port.
38
- */
39
- export class CodeGraphNodeExecutor {
40
- /**
41
- * @param engine - The graph execution engine (or any object exposing the
42
- * optional `codeSandboxEvaluator`). This mirrors the pattern used by
43
- * {@link SwitchGraphNodeExecutor} for code conditions.
44
- */
45
- constructor(engine) {
46
- this.engine = engine;
47
- }
48
- async execute(request, context) {
49
- const meta = readCodeMetadata(context);
50
- const input = request.inputs;
51
- const code = input["code"] ?? meta.defaultCode;
52
- if (!code || typeof code !== "string" || code.trim().length === 0) {
53
- throw new GraphInputError("Code node has no code to execute (input.code is empty)", { input });
54
- }
55
- const evaluator = this.engine?.codeSandboxEvaluator;
56
- if (!evaluator) {
57
- throw new GraphExecutionError("Code node execution requires a CodeSandboxEvaluator to be registered in GraphExecutionEngineConfig.codeSandboxEvaluator", "GRAPH_CODE_SANDBOX_NOT_CONFIGURED", { code });
58
- }
59
- const sandboxContext = this.buildSandboxContext(input, context);
60
- await context.log("Executing code node", {
61
- language: "javascript",
62
- length: code.length,
63
- timeoutMs: meta.timeoutMs,
64
- });
65
- const result = await evaluator.evaluate(sandboxContext);
66
- await context.log("Code node executed", { hasResult: result !== undefined });
67
- return { result };
68
- }
69
- /**
70
- * Builds the {@link CodeSandboxContext} from the executor input and the
71
- * graph execution context.
72
- *
73
- * The `$input` value is the full input values object so the code can access
74
- * every resolved port value (including `code` itself via `$input.code`).
75
- *
76
- * The `$vars`, `$item`, `$index`, `$node`, and `$output` values are sourced
77
- * from `context.metadata` — the engine (or a wrapping loop executor) may
78
- * populate these when the Code node runs inside a loop body or a workflow
79
- * with variables.
80
- */
81
- buildSandboxContext(input, context) {
82
- const md = context.metadata;
83
- const meta = readCodeMetadata(context);
84
- const code = input["code"] ?? meta.defaultCode ?? "";
85
- return {
86
- code,
87
- language: "javascript",
88
- input: input,
89
- vars: md?.vars ?? undefined,
90
- item: md?.item,
91
- index: md?.index,
92
- nodes: md?.nodes ??
93
- undefined,
94
- logger: context.logger,
95
- };
96
- }
97
- }
98
- //# sourceMappingURL=CodeGraphNodeExecutor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CodeGraphNodeExecutor.js","sourceRoot":"","sources":["../../../../../src/graph/engine/execution/CodeGraphNodeExecutor.ts"],"names":[],"mappings":"AAuBA,OAAO,EAAE,mBAAmB,EAAE,2CAAsC;AACpE,OAAO,EAAE,eAAe,EAAE,uCAAkC;AAW5D;;;;;GAKG;AACH,SAAS,gBAAgB,CAAC,OAA8B;IACtD,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,UAAqC,CAAC;IACtE,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,QAA+C,CAAC;IAC9E,MAAM,MAAM,GAAG,EAAE,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,GAAG,UAAU,EAAE,CAAC;IACtD,OAAO,MAA0B,CAAC;AACpC,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,OAAO,qBAAqB;IAChC;;;;OAIG;IACH,YACmB,MAAwD;QAAxD,WAAM,GAAN,MAAM,CAAkD;IACxE,CAAC;IAEJ,KAAK,CAAC,OAAO,CACX,OAAkC,EAClC,OAA8B;QAE9B,MAAM,IAAI,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACvC,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,MAAM,IAAI,GAAI,KAAK,CAAC,MAAM,CAAwB,IAAI,IAAI,CAAC,WAAW,CAAC;QAEvE,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAClE,MAAM,IAAI,eAAe,CACvB,wDAAwD,EACxD,EAAE,KAAK,EAAE,CACV,CAAC;QACJ,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,EAAE,oBAAoB,CAAC;QACpD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,mBAAmB,CAC3B,yHAAyH,EACzH,mCAAmC,EACnC,EAAE,IAAI,EAAE,CACT,CAAC;QACJ,CAAC;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAEhE,MAAM,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE;YACvC,QAAQ,EAAE,YAAY;YACtB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QAExD,MAAM,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,EAAE,SAAS,EAAE,MAAM,KAAK,SAAS,EAAE,CAAC,CAAC;QAE7E,OAAO,EAAE,MAAM,EAAE,CAAC;IACpB,CAAC;IAED;;;;;;;;;;;OAWG;IACK,mBAAmB,CACzB,KAA2B,EAC3B,OAA8B;QAE9B,MAAM,EAAE,GAAG,OAAO,CAAC,QAA+C,CAAC;QACnE,MAAM,IAAI,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACvC,MAAM,IAAI,GAAI,KAAK,CAAC,MAAM,CAAwB,IAAI,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC;QAE7E,OAAO;YACL,IAAI;YACJ,QAAQ,EAAE,YAAY;YACtB,KAAK,EAAE,KAAgC;YACvC,IAAI,EAAG,EAAE,EAAE,IAA4C,IAAI,SAAS;YACpE,IAAI,EAAE,EAAE,EAAE,IAAI;YACd,KAAK,EAAE,EAAE,EAAE,KAA2B;YACtC,KAAK,EACF,EAAE,EAAE,KAA6D;gBAClE,SAAS;YACX,MAAM,EAAE,OAAO,CAAC,MAA8C;SAC/D,CAAC;IACJ,CAAC;CACF"}
@@ -1,42 +0,0 @@
1
- /**
2
- * Resolves the log level for a Log node execution.
3
- *
4
- * The level is read from the canonical node instance configuration
5
- * (`parameters.level`, with instance `metadata.level` as the legacy
6
- * fallback); defaults to `info` when unset.
7
- */
8
- function logLevelOf(context) {
9
- const parameters = context.node.parameters;
10
- const metadata = context.node.metadata;
11
- const candidate = (parameters.level ?? metadata?.["level"]);
12
- return candidate || "info";
13
- }
14
- /**
15
- * Executor for `core.utility.log` / `core.flow.log` nodes.
16
- *
17
- * Reads the `value` input port, logs it through `context.logger` at the
18
- * configured level, and returns it unchanged on the `logged` output port.
19
- */
20
- export class LogGraphNodeExecutor {
21
- /**
22
- * Logs the `value` input through the run's `ctx.logger` and forwards it
23
- * unchanged on the `logged` output port.
24
- *
25
- * The level is read from the node's UI config (`node.props.level`, see
26
- * {@link logLevelOf}) and defaults to `info`. The emitted log line carries
27
- * the DECAF-48 run attributes and streams over `graph.run.log` through the
28
- * shared `ctx.logger` path (DECAF-48 Req-1).
29
- *
30
- * @param request - The node execution request (expects the `value` input).
31
- * @param context - The run-scoped execution context exposing `ctx.logger`.
32
- * @returns The node's output values keyed by port name (the `logged` port).
33
- */
34
- async execute(request, context) {
35
- const value = request.inputs["value"];
36
- const level = logLevelOf(context);
37
- const logger = context.logger;
38
- logger[level]("Log node", { value });
39
- return { logged: value };
40
- }
41
- }
42
- //# sourceMappingURL=LogGraphNodeExecutor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LogGraphNodeExecutor.js","sourceRoot":"","sources":["../../../../../src/graph/engine/execution/LogGraphNodeExecutor.ts"],"names":[],"mappings":"AAgBA;;;;;;GAMG;AACH,SAAS,UAAU,CAAC,OAA8B;IAChD,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,UAAqC,CAAC;IACtE,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,QAA+C,CAAC;IAC9E,MAAM,SAAS,GAAG,CAAC,UAAU,CAAC,KAAK,IAAI,QAAQ,EAAE,CAAC,OAAO,CAAC,CAE7C,CAAC;IACd,OAAQ,SAA0B,IAAI,MAAM,CAAC;AAC/C,CAAC;AAED;;;;;GAKG;AACH,MAAM,OAAO,oBAAoB;IAC/B;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,OAAO,CACX,OAAkC,EAClC,OAA8B;QAE9B,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACtC,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;QAClC,MAAM,MAAM,GAAG,OAAO,CAAC,MAGtB,CAAC;QACF,MAAM,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QACrC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAC3B,CAAC;CACF"}