@decaf-ts/integrations 0.3.1 → 0.3.2

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 (354) hide show
  1. package/dist/integrations.cjs +1 -1
  2. package/lib/cjs/graph/constants.cjs +94 -0
  3. package/lib/cjs/graph/constants.cjs.map +1 -0
  4. package/lib/cjs/graph/decorators.cjs +4 -0
  5. package/lib/cjs/graph/decorators.cjs.map +1 -0
  6. package/lib/cjs/graph/errors/GraphCycleError.cjs +20 -0
  7. package/lib/cjs/graph/errors/GraphCycleError.cjs.map +1 -0
  8. package/lib/cjs/graph/errors/GraphExecutionError.cjs +27 -0
  9. package/lib/cjs/graph/errors/GraphExecutionError.cjs.map +1 -0
  10. package/lib/cjs/graph/errors/GraphInputError.cjs +20 -0
  11. package/lib/cjs/graph/errors/GraphInputError.cjs.map +1 -0
  12. package/lib/cjs/graph/errors/GraphLoopLimitError.cjs +20 -0
  13. package/lib/cjs/graph/errors/GraphLoopLimitError.cjs.map +1 -0
  14. package/lib/cjs/graph/errors/GraphPinningError.cjs +20 -0
  15. package/lib/cjs/graph/errors/GraphPinningError.cjs.map +1 -0
  16. package/lib/cjs/graph/errors/GraphPortError.cjs +20 -0
  17. package/lib/cjs/graph/errors/GraphPortError.cjs.map +1 -0
  18. package/lib/cjs/graph/errors/GraphStoreError.cjs +20 -0
  19. package/lib/cjs/graph/errors/GraphStoreError.cjs.map +1 -0
  20. package/lib/cjs/graph/errors/GraphTopologyError.cjs +20 -0
  21. package/lib/cjs/graph/errors/GraphTopologyError.cjs.map +1 -0
  22. package/lib/cjs/graph/errors/index.cjs +31 -0
  23. package/lib/cjs/graph/errors/index.cjs.map +1 -0
  24. package/lib/cjs/graph/events/GraphExecutionEvent.cjs +4 -0
  25. package/lib/cjs/graph/events/GraphExecutionEvent.cjs.map +1 -0
  26. package/lib/cjs/graph/events/GraphExecutionEventEmitter.cjs +40 -0
  27. package/lib/cjs/graph/events/GraphExecutionEventEmitter.cjs.map +1 -0
  28. package/lib/cjs/graph/events/GraphExecutionEventFactory.cjs +37 -0
  29. package/lib/cjs/graph/events/GraphExecutionEventFactory.cjs.map +1 -0
  30. package/lib/cjs/graph/events/GraphExecutionObserver.cjs +4 -0
  31. package/lib/cjs/graph/events/GraphExecutionObserver.cjs.map +1 -0
  32. package/lib/cjs/graph/events/index.cjs +27 -0
  33. package/lib/cjs/graph/events/index.cjs.map +1 -0
  34. package/lib/cjs/graph/execution/GraphExecutionContext.cjs +79 -0
  35. package/lib/cjs/graph/execution/GraphExecutionContext.cjs.map +1 -0
  36. package/lib/cjs/graph/execution/GraphExecutionEngine.cjs +405 -0
  37. package/lib/cjs/graph/execution/GraphExecutionEngine.cjs.map +1 -0
  38. package/lib/cjs/graph/execution/GraphExecutionFrame.cjs +32 -0
  39. package/lib/cjs/graph/execution/GraphExecutionFrame.cjs.map +1 -0
  40. package/lib/cjs/graph/execution/GraphExecutionResult.cjs +30 -0
  41. package/lib/cjs/graph/execution/GraphExecutionResult.cjs.map +1 -0
  42. package/lib/cjs/graph/execution/GraphNodeExecutor.cjs +4 -0
  43. package/lib/cjs/graph/execution/GraphNodeExecutor.cjs.map +1 -0
  44. package/lib/cjs/graph/execution/index.cjs +28 -0
  45. package/lib/cjs/graph/execution/index.cjs.map +1 -0
  46. package/lib/cjs/graph/index.cjs +74 -0
  47. package/lib/cjs/graph/index.cjs.map +1 -0
  48. package/lib/cjs/graph/loops/ForeachGraphNodeExecutor.cjs +84 -0
  49. package/lib/cjs/graph/loops/ForeachGraphNodeExecutor.cjs.map +1 -0
  50. package/lib/cjs/graph/loops/GraphConditionEvaluator.cjs +63 -0
  51. package/lib/cjs/graph/loops/GraphConditionEvaluator.cjs.map +1 -0
  52. package/lib/cjs/graph/loops/GraphLoopExecutionContext.cjs +16 -0
  53. package/lib/cjs/graph/loops/GraphLoopExecutionContext.cjs.map +1 -0
  54. package/lib/cjs/graph/loops/UntilGraphNodeExecutor.cjs +76 -0
  55. package/lib/cjs/graph/loops/UntilGraphNodeExecutor.cjs.map +1 -0
  56. package/lib/cjs/graph/loops/WhileGraphNodeExecutor.cjs +77 -0
  57. package/lib/cjs/graph/loops/WhileGraphNodeExecutor.cjs.map +1 -0
  58. package/lib/cjs/graph/loops/index.cjs +28 -0
  59. package/lib/cjs/graph/loops/index.cjs.map +1 -0
  60. package/lib/cjs/graph/pinning/GraphPinningDependencyResolver.cjs +28 -0
  61. package/lib/cjs/graph/pinning/GraphPinningDependencyResolver.cjs.map +1 -0
  62. package/lib/cjs/graph/pinning/GraphPinningMetadata.cjs +20 -0
  63. package/lib/cjs/graph/pinning/GraphPinningMetadata.cjs.map +1 -0
  64. package/lib/cjs/graph/pinning/GraphPinningPolicy.cjs +34 -0
  65. package/lib/cjs/graph/pinning/GraphPinningPolicy.cjs.map +1 -0
  66. package/lib/cjs/graph/pinning/GraphPinningService.cjs +191 -0
  67. package/lib/cjs/graph/pinning/GraphPinningService.cjs.map +1 -0
  68. package/lib/cjs/graph/pinning/index.cjs +27 -0
  69. package/lib/cjs/graph/pinning/index.cjs.map +1 -0
  70. package/lib/cjs/graph/planning/GraphExecutionPlan.cjs +4 -0
  71. package/lib/cjs/graph/planning/GraphExecutionPlan.cjs.map +1 -0
  72. package/lib/cjs/graph/planning/GraphExecutionPlanEdge.cjs +4 -0
  73. package/lib/cjs/graph/planning/GraphExecutionPlanEdge.cjs.map +1 -0
  74. package/lib/cjs/graph/planning/GraphExecutionPlanLayer.cjs +4 -0
  75. package/lib/cjs/graph/planning/GraphExecutionPlanLayer.cjs.map +1 -0
  76. package/lib/cjs/graph/planning/GraphExecutionPlanNode.cjs +4 -0
  77. package/lib/cjs/graph/planning/GraphExecutionPlanNode.cjs.map +1 -0
  78. package/lib/cjs/graph/planning/GraphExecutionPlanner.cjs +197 -0
  79. package/lib/cjs/graph/planning/GraphExecutionPlanner.cjs.map +1 -0
  80. package/lib/cjs/graph/planning/GraphRelationResolver.cjs +172 -0
  81. package/lib/cjs/graph/planning/GraphRelationResolver.cjs.map +1 -0
  82. package/lib/cjs/graph/planning/GraphTopology.cjs +57 -0
  83. package/lib/cjs/graph/planning/GraphTopology.cjs.map +1 -0
  84. package/lib/cjs/graph/planning/index.cjs +30 -0
  85. package/lib/cjs/graph/planning/index.cjs.map +1 -0
  86. package/lib/cjs/graph/registry/GraphNodeExecutorRegistry.cjs +44 -0
  87. package/lib/cjs/graph/registry/GraphNodeExecutorRegistry.cjs.map +1 -0
  88. package/lib/cjs/graph/registry/GraphNodeExecutorResolver.cjs +27 -0
  89. package/lib/cjs/graph/registry/GraphNodeExecutorResolver.cjs.map +1 -0
  90. package/lib/cjs/graph/registry/index.cjs +25 -0
  91. package/lib/cjs/graph/registry/index.cjs.map +1 -0
  92. package/lib/cjs/graph/snapshots/GraphExecutionSnapshotMapper.cjs +53 -0
  93. package/lib/cjs/graph/snapshots/GraphExecutionSnapshotMapper.cjs.map +1 -0
  94. package/lib/cjs/graph/snapshots/index.cjs +24 -0
  95. package/lib/cjs/graph/snapshots/index.cjs.map +1 -0
  96. package/lib/cjs/graph/store/GraphCachedValue.cjs +4 -0
  97. package/lib/cjs/graph/store/GraphCachedValue.cjs.map +1 -0
  98. package/lib/cjs/graph/store/GraphValueKey.cjs +4 -0
  99. package/lib/cjs/graph/store/GraphValueKey.cjs.map +1 -0
  100. package/lib/cjs/graph/store/GraphValueStore.cjs +76 -0
  101. package/lib/cjs/graph/store/GraphValueStore.cjs.map +1 -0
  102. package/lib/cjs/graph/store/GraphValueStoreAdapter.cjs +4 -0
  103. package/lib/cjs/graph/store/GraphValueStoreAdapter.cjs.map +1 -0
  104. package/lib/cjs/graph/store/InMemoryGraphValueStoreAdapter.cjs +69 -0
  105. package/lib/cjs/graph/store/InMemoryGraphValueStoreAdapter.cjs.map +1 -0
  106. package/lib/cjs/graph/store/index.cjs +28 -0
  107. package/lib/cjs/graph/store/index.cjs.map +1 -0
  108. package/lib/cjs/graph/types.cjs +4 -0
  109. package/lib/cjs/graph/types.cjs.map +1 -0
  110. package/lib/cjs/graph/validation/GraphDefinitionValidator.cjs +33 -0
  111. package/lib/cjs/graph/validation/GraphDefinitionValidator.cjs.map +1 -0
  112. package/lib/cjs/graph/validation/GraphPortSchemaResolver.cjs +58 -0
  113. package/lib/cjs/graph/validation/GraphPortSchemaResolver.cjs.map +1 -0
  114. package/lib/cjs/graph/validation/GraphValueValidator.cjs +52 -0
  115. package/lib/cjs/graph/validation/GraphValueValidator.cjs.map +1 -0
  116. package/lib/cjs/graph/validation/index.cjs +26 -0
  117. package/lib/cjs/graph/validation/index.cjs.map +1 -0
  118. package/lib/cjs/index.cjs +3 -3
  119. package/lib/esm/graph/constants.js +106 -0
  120. package/lib/esm/graph/constants.js.map +1 -0
  121. package/lib/esm/graph/decorators.js +2 -0
  122. package/lib/esm/graph/decorators.js.map +1 -0
  123. package/lib/esm/graph/errors/GraphCycleError.js +15 -0
  124. package/lib/esm/graph/errors/GraphCycleError.js.map +1 -0
  125. package/lib/esm/graph/errors/GraphExecutionError.js +22 -0
  126. package/lib/esm/graph/errors/GraphExecutionError.js.map +1 -0
  127. package/lib/esm/graph/errors/GraphInputError.js +15 -0
  128. package/lib/esm/graph/errors/GraphInputError.js.map +1 -0
  129. package/lib/esm/graph/errors/GraphLoopLimitError.js +15 -0
  130. package/lib/esm/graph/errors/GraphLoopLimitError.js.map +1 -0
  131. package/lib/esm/graph/errors/GraphPinningError.js +15 -0
  132. package/lib/esm/graph/errors/GraphPinningError.js.map +1 -0
  133. package/lib/esm/graph/errors/GraphPortError.js +15 -0
  134. package/lib/esm/graph/errors/GraphPortError.js.map +1 -0
  135. package/lib/esm/graph/errors/GraphStoreError.js +15 -0
  136. package/lib/esm/graph/errors/GraphStoreError.js.map +1 -0
  137. package/lib/esm/graph/errors/GraphTopologyError.js +15 -0
  138. package/lib/esm/graph/errors/GraphTopologyError.js.map +1 -0
  139. package/lib/esm/graph/errors/index.js +14 -0
  140. package/lib/esm/graph/errors/index.js.map +1 -0
  141. package/lib/esm/graph/events/GraphExecutionEvent.js +2 -0
  142. package/lib/esm/graph/events/GraphExecutionEvent.js.map +1 -0
  143. package/lib/esm/graph/events/GraphExecutionEventEmitter.js +35 -0
  144. package/lib/esm/graph/events/GraphExecutionEventEmitter.js.map +1 -0
  145. package/lib/esm/graph/events/GraphExecutionEventFactory.js +32 -0
  146. package/lib/esm/graph/events/GraphExecutionEventFactory.js.map +1 -0
  147. package/lib/esm/graph/events/GraphExecutionObserver.js +2 -0
  148. package/lib/esm/graph/events/GraphExecutionObserver.js.map +1 -0
  149. package/lib/esm/graph/events/index.js +10 -0
  150. package/lib/esm/graph/events/index.js.map +1 -0
  151. package/lib/esm/graph/execution/GraphExecutionContext.js +74 -0
  152. package/lib/esm/graph/execution/GraphExecutionContext.js.map +1 -0
  153. package/lib/esm/graph/execution/GraphExecutionEngine.js +400 -0
  154. package/lib/esm/graph/execution/GraphExecutionEngine.js.map +1 -0
  155. package/lib/esm/graph/execution/GraphExecutionFrame.js +27 -0
  156. package/lib/esm/graph/execution/GraphExecutionFrame.js.map +1 -0
  157. package/lib/esm/graph/execution/GraphExecutionResult.js +26 -0
  158. package/lib/esm/graph/execution/GraphExecutionResult.js.map +1 -0
  159. package/lib/esm/graph/execution/GraphNodeExecutor.js +2 -0
  160. package/lib/esm/graph/execution/GraphNodeExecutor.js.map +1 -0
  161. package/lib/esm/graph/execution/index.js +11 -0
  162. package/lib/esm/graph/execution/index.js.map +1 -0
  163. package/lib/esm/graph/index.js +57 -0
  164. package/lib/esm/graph/index.js.map +1 -0
  165. package/lib/esm/graph/loops/ForeachGraphNodeExecutor.js +79 -0
  166. package/lib/esm/graph/loops/ForeachGraphNodeExecutor.js.map +1 -0
  167. package/lib/esm/graph/loops/GraphConditionEvaluator.js +58 -0
  168. package/lib/esm/graph/loops/GraphConditionEvaluator.js.map +1 -0
  169. package/lib/esm/graph/loops/GraphLoopExecutionContext.js +11 -0
  170. package/lib/esm/graph/loops/GraphLoopExecutionContext.js.map +1 -0
  171. package/lib/esm/graph/loops/UntilGraphNodeExecutor.js +71 -0
  172. package/lib/esm/graph/loops/UntilGraphNodeExecutor.js.map +1 -0
  173. package/lib/esm/graph/loops/WhileGraphNodeExecutor.js +72 -0
  174. package/lib/esm/graph/loops/WhileGraphNodeExecutor.js.map +1 -0
  175. package/lib/esm/graph/loops/index.js +11 -0
  176. package/lib/esm/graph/loops/index.js.map +1 -0
  177. package/lib/esm/graph/pinning/GraphPinningDependencyResolver.js +23 -0
  178. package/lib/esm/graph/pinning/GraphPinningDependencyResolver.js.map +1 -0
  179. package/lib/esm/graph/pinning/GraphPinningMetadata.js +15 -0
  180. package/lib/esm/graph/pinning/GraphPinningMetadata.js.map +1 -0
  181. package/lib/esm/graph/pinning/GraphPinningPolicy.js +29 -0
  182. package/lib/esm/graph/pinning/GraphPinningPolicy.js.map +1 -0
  183. package/lib/esm/graph/pinning/GraphPinningService.js +186 -0
  184. package/lib/esm/graph/pinning/GraphPinningService.js.map +1 -0
  185. package/lib/esm/graph/pinning/index.js +10 -0
  186. package/lib/esm/graph/pinning/index.js.map +1 -0
  187. package/lib/esm/graph/planning/GraphExecutionPlan.js +2 -0
  188. package/lib/esm/graph/planning/GraphExecutionPlan.js.map +1 -0
  189. package/lib/esm/graph/planning/GraphExecutionPlanEdge.js +7 -0
  190. package/lib/esm/graph/planning/GraphExecutionPlanEdge.js.map +1 -0
  191. package/lib/esm/graph/planning/GraphExecutionPlanLayer.js +2 -0
  192. package/lib/esm/graph/planning/GraphExecutionPlanLayer.js.map +1 -0
  193. package/lib/esm/graph/planning/GraphExecutionPlanNode.js +2 -0
  194. package/lib/esm/graph/planning/GraphExecutionPlanNode.js.map +1 -0
  195. package/lib/esm/graph/planning/GraphExecutionPlanner.js +192 -0
  196. package/lib/esm/graph/planning/GraphExecutionPlanner.js.map +1 -0
  197. package/lib/esm/graph/planning/GraphRelationResolver.js +167 -0
  198. package/lib/esm/graph/planning/GraphRelationResolver.js.map +1 -0
  199. package/lib/esm/graph/planning/GraphTopology.js +52 -0
  200. package/lib/esm/graph/planning/GraphTopology.js.map +1 -0
  201. package/lib/esm/graph/planning/index.js +13 -0
  202. package/lib/esm/graph/planning/index.js.map +1 -0
  203. package/lib/esm/graph/registry/GraphNodeExecutorRegistry.js +39 -0
  204. package/lib/esm/graph/registry/GraphNodeExecutorRegistry.js.map +1 -0
  205. package/lib/esm/graph/registry/GraphNodeExecutorResolver.js +22 -0
  206. package/lib/esm/graph/registry/GraphNodeExecutorResolver.js.map +1 -0
  207. package/lib/esm/graph/registry/index.js +8 -0
  208. package/lib/esm/graph/registry/index.js.map +1 -0
  209. package/lib/esm/graph/snapshots/GraphExecutionSnapshotMapper.js +48 -0
  210. package/lib/esm/graph/snapshots/GraphExecutionSnapshotMapper.js.map +1 -0
  211. package/lib/esm/graph/snapshots/index.js +7 -0
  212. package/lib/esm/graph/snapshots/index.js.map +1 -0
  213. package/lib/esm/graph/store/GraphCachedValue.js +2 -0
  214. package/lib/esm/graph/store/GraphCachedValue.js.map +1 -0
  215. package/lib/esm/graph/store/GraphValueKey.js +7 -0
  216. package/lib/esm/graph/store/GraphValueKey.js.map +1 -0
  217. package/lib/esm/graph/store/GraphValueStore.js +71 -0
  218. package/lib/esm/graph/store/GraphValueStore.js.map +1 -0
  219. package/lib/esm/graph/store/GraphValueStoreAdapter.js +2 -0
  220. package/lib/esm/graph/store/GraphValueStoreAdapter.js.map +1 -0
  221. package/lib/esm/graph/store/InMemoryGraphValueStoreAdapter.js +64 -0
  222. package/lib/esm/graph/store/InMemoryGraphValueStoreAdapter.js.map +1 -0
  223. package/lib/esm/graph/store/index.js +11 -0
  224. package/lib/esm/graph/store/index.js.map +1 -0
  225. package/lib/esm/graph/types.js +2 -0
  226. package/lib/esm/graph/types.js.map +1 -0
  227. package/lib/esm/graph/validation/GraphDefinitionValidator.js +28 -0
  228. package/lib/esm/graph/validation/GraphDefinitionValidator.js.map +1 -0
  229. package/lib/esm/graph/validation/GraphPortSchemaResolver.js +53 -0
  230. package/lib/esm/graph/validation/GraphPortSchemaResolver.js.map +1 -0
  231. package/lib/esm/graph/validation/GraphValueValidator.js +47 -0
  232. package/lib/esm/graph/validation/GraphValueValidator.js.map +1 -0
  233. package/lib/esm/graph/validation/index.js +9 -0
  234. package/lib/esm/graph/validation/index.js.map +1 -0
  235. package/lib/esm/index.js +3 -3
  236. package/lib/types/graph/constants.d.cts +101 -0
  237. package/lib/types/graph/constants.d.mts +101 -0
  238. package/lib/types/graph/decorators.d.cts +6 -0
  239. package/lib/types/graph/decorators.d.mts +6 -0
  240. package/lib/types/graph/errors/GraphCycleError.d.cts +12 -0
  241. package/lib/types/graph/errors/GraphCycleError.d.mts +12 -0
  242. package/lib/types/graph/errors/GraphExecutionError.d.cts +19 -0
  243. package/lib/types/graph/errors/GraphExecutionError.d.mts +19 -0
  244. package/lib/types/graph/errors/GraphInputError.d.cts +12 -0
  245. package/lib/types/graph/errors/GraphInputError.d.mts +12 -0
  246. package/lib/types/graph/errors/GraphLoopLimitError.d.cts +12 -0
  247. package/lib/types/graph/errors/GraphLoopLimitError.d.mts +12 -0
  248. package/lib/types/graph/errors/GraphPinningError.d.cts +12 -0
  249. package/lib/types/graph/errors/GraphPinningError.d.mts +12 -0
  250. package/lib/types/graph/errors/GraphPortError.d.cts +12 -0
  251. package/lib/types/graph/errors/GraphPortError.d.mts +12 -0
  252. package/lib/types/graph/errors/GraphStoreError.d.cts +12 -0
  253. package/lib/types/graph/errors/GraphStoreError.d.mts +12 -0
  254. package/lib/types/graph/errors/GraphTopologyError.d.cts +12 -0
  255. package/lib/types/graph/errors/GraphTopologyError.d.mts +12 -0
  256. package/lib/types/graph/errors/index.d.cts +13 -0
  257. package/lib/types/graph/errors/index.d.mts +13 -0
  258. package/lib/types/graph/events/GraphExecutionEvent.d.cts +6 -0
  259. package/lib/types/graph/events/GraphExecutionEvent.d.mts +6 -0
  260. package/lib/types/graph/events/GraphExecutionEventEmitter.d.cts +26 -0
  261. package/lib/types/graph/events/GraphExecutionEventEmitter.d.mts +26 -0
  262. package/lib/types/graph/events/GraphExecutionEventFactory.d.cts +25 -0
  263. package/lib/types/graph/events/GraphExecutionEventFactory.d.mts +25 -0
  264. package/lib/types/graph/events/GraphExecutionObserver.d.cts +17 -0
  265. package/lib/types/graph/events/GraphExecutionObserver.d.mts +17 -0
  266. package/lib/types/graph/events/index.d.cts +9 -0
  267. package/lib/types/graph/events/index.d.mts +9 -0
  268. package/lib/types/graph/execution/GraphExecutionContext.d.cts +50 -0
  269. package/lib/types/graph/execution/GraphExecutionContext.d.mts +50 -0
  270. package/lib/types/graph/execution/GraphExecutionEngine.d.cts +112 -0
  271. package/lib/types/graph/execution/GraphExecutionEngine.d.mts +112 -0
  272. package/lib/types/graph/execution/GraphExecutionFrame.d.cts +29 -0
  273. package/lib/types/graph/execution/GraphExecutionFrame.d.mts +29 -0
  274. package/lib/types/graph/execution/GraphExecutionResult.d.cts +13 -0
  275. package/lib/types/graph/execution/GraphExecutionResult.d.mts +13 -0
  276. package/lib/types/graph/execution/GraphNodeExecutor.d.cts +23 -0
  277. package/lib/types/graph/execution/GraphNodeExecutor.d.mts +23 -0
  278. package/lib/types/graph/execution/index.d.cts +10 -0
  279. package/lib/types/graph/execution/index.d.mts +10 -0
  280. package/lib/types/graph/index.d.cts +52 -0
  281. package/lib/types/graph/index.d.mts +52 -0
  282. package/lib/types/graph/loops/ForeachGraphNodeExecutor.d.cts +27 -0
  283. package/lib/types/graph/loops/ForeachGraphNodeExecutor.d.mts +27 -0
  284. package/lib/types/graph/loops/GraphConditionEvaluator.d.cts +23 -0
  285. package/lib/types/graph/loops/GraphConditionEvaluator.d.mts +23 -0
  286. package/lib/types/graph/loops/GraphLoopExecutionContext.d.cts +15 -0
  287. package/lib/types/graph/loops/GraphLoopExecutionContext.d.mts +15 -0
  288. package/lib/types/graph/loops/UntilGraphNodeExecutor.d.cts +22 -0
  289. package/lib/types/graph/loops/UntilGraphNodeExecutor.d.mts +22 -0
  290. package/lib/types/graph/loops/WhileGraphNodeExecutor.d.cts +26 -0
  291. package/lib/types/graph/loops/WhileGraphNodeExecutor.d.mts +26 -0
  292. package/lib/types/graph/loops/index.d.cts +10 -0
  293. package/lib/types/graph/loops/index.d.mts +10 -0
  294. package/lib/types/graph/pinning/GraphPinningDependencyResolver.d.cts +21 -0
  295. package/lib/types/graph/pinning/GraphPinningDependencyResolver.d.mts +21 -0
  296. package/lib/types/graph/pinning/GraphPinningMetadata.d.cts +14 -0
  297. package/lib/types/graph/pinning/GraphPinningMetadata.d.mts +14 -0
  298. package/lib/types/graph/pinning/GraphPinningPolicy.d.cts +20 -0
  299. package/lib/types/graph/pinning/GraphPinningPolicy.d.mts +20 -0
  300. package/lib/types/graph/pinning/GraphPinningService.d.cts +59 -0
  301. package/lib/types/graph/pinning/GraphPinningService.d.mts +59 -0
  302. package/lib/types/graph/pinning/index.d.cts +9 -0
  303. package/lib/types/graph/pinning/index.d.mts +9 -0
  304. package/lib/types/graph/planning/GraphExecutionPlan.d.cts +21 -0
  305. package/lib/types/graph/planning/GraphExecutionPlan.d.mts +21 -0
  306. package/lib/types/graph/planning/GraphExecutionPlanEdge.d.cts +21 -0
  307. package/lib/types/graph/planning/GraphExecutionPlanEdge.d.mts +21 -0
  308. package/lib/types/graph/planning/GraphExecutionPlanLayer.d.cts +13 -0
  309. package/lib/types/graph/planning/GraphExecutionPlanLayer.d.mts +13 -0
  310. package/lib/types/graph/planning/GraphExecutionPlanNode.d.cts +20 -0
  311. package/lib/types/graph/planning/GraphExecutionPlanNode.d.mts +20 -0
  312. package/lib/types/graph/planning/GraphExecutionPlanner.d.cts +60 -0
  313. package/lib/types/graph/planning/GraphExecutionPlanner.d.mts +60 -0
  314. package/lib/types/graph/planning/GraphRelationResolver.d.cts +62 -0
  315. package/lib/types/graph/planning/GraphRelationResolver.d.mts +62 -0
  316. package/lib/types/graph/planning/GraphTopology.d.cts +23 -0
  317. package/lib/types/graph/planning/GraphTopology.d.mts +23 -0
  318. package/lib/types/graph/planning/index.d.cts +12 -0
  319. package/lib/types/graph/planning/index.d.mts +12 -0
  320. package/lib/types/graph/registry/GraphNodeExecutorRegistry.d.cts +25 -0
  321. package/lib/types/graph/registry/GraphNodeExecutorRegistry.d.mts +25 -0
  322. package/lib/types/graph/registry/GraphNodeExecutorResolver.d.cts +21 -0
  323. package/lib/types/graph/registry/GraphNodeExecutorResolver.d.mts +21 -0
  324. package/lib/types/graph/registry/index.d.cts +7 -0
  325. package/lib/types/graph/registry/index.d.mts +7 -0
  326. package/lib/types/graph/snapshots/GraphExecutionSnapshotMapper.d.cts +10 -0
  327. package/lib/types/graph/snapshots/GraphExecutionSnapshotMapper.d.mts +10 -0
  328. package/lib/types/graph/snapshots/index.d.cts +6 -0
  329. package/lib/types/graph/snapshots/index.d.mts +6 -0
  330. package/lib/types/graph/store/GraphCachedValue.d.cts +20 -0
  331. package/lib/types/graph/store/GraphCachedValue.d.mts +20 -0
  332. package/lib/types/graph/store/GraphValueKey.d.cts +18 -0
  333. package/lib/types/graph/store/GraphValueKey.d.mts +18 -0
  334. package/lib/types/graph/store/GraphValueStore.d.cts +41 -0
  335. package/lib/types/graph/store/GraphValueStore.d.mts +41 -0
  336. package/lib/types/graph/store/GraphValueStoreAdapter.d.cts +32 -0
  337. package/lib/types/graph/store/GraphValueStoreAdapter.d.mts +32 -0
  338. package/lib/types/graph/store/InMemoryGraphValueStoreAdapter.d.cts +33 -0
  339. package/lib/types/graph/store/InMemoryGraphValueStoreAdapter.d.mts +33 -0
  340. package/lib/types/graph/store/index.d.cts +10 -0
  341. package/lib/types/graph/store/index.d.mts +10 -0
  342. package/lib/types/graph/types.d.cts +197 -0
  343. package/lib/types/graph/types.d.mts +197 -0
  344. package/lib/types/graph/validation/GraphDefinitionValidator.d.cts +21 -0
  345. package/lib/types/graph/validation/GraphDefinitionValidator.d.mts +21 -0
  346. package/lib/types/graph/validation/GraphPortSchemaResolver.d.cts +39 -0
  347. package/lib/types/graph/validation/GraphPortSchemaResolver.d.mts +39 -0
  348. package/lib/types/graph/validation/GraphValueValidator.d.cts +27 -0
  349. package/lib/types/graph/validation/GraphValueValidator.d.mts +27 -0
  350. package/lib/types/graph/validation/index.d.cts +8 -0
  351. package/lib/types/graph/validation/index.d.mts +8 -0
  352. package/lib/types/index.d.cts +2 -2
  353. package/lib/types/index.d.mts +2 -2
  354. package/package.json +17 -3
@@ -0,0 +1,112 @@
1
+ /**
2
+ * @module integrations/graph/execution/GraphExecutionEngine
3
+ * @summary Reference graph execution engine.
4
+ * @description Executes graph workflows declared with `@decaf-ts/ui-decorators/graph`, emits events through Decaf's Observable pipeline, supports parallel node execution within topological layers, and returns a complete execution result.
5
+ */
6
+ import type { Observable } from "@decaf-ts/core";
7
+ import type { GraphWorkflowDefinition } from "@decaf-ts/ui-decorators/graph";
8
+ import type { GraphExecutionEvent, GraphExecutionOptions, GraphExecutionResult, GraphExecutionValues, GraphPinNodeOptions, GraphUnpinNodeOptions } from "../types.d.mts";
9
+ import type { GraphExecutionObserver } from "../events/GraphExecutionObserver.d.mts";
10
+ import { GraphExecutionEventEmitter } from "../events/GraphExecutionEventEmitter.d.mts";
11
+ import type { GraphNodeExecutorRegistry } from "../registry/GraphNodeExecutorRegistry.d.mts";
12
+ import { GraphExecutionPlanner } from "../planning/GraphExecutionPlanner.d.mts";
13
+ import type { GraphValueStoreAdapter } from "../store/GraphValueStoreAdapter.d.mts";
14
+ /**
15
+ * Configuration for the {@link GraphExecutionEngine}.
16
+ */
17
+ export interface GraphExecutionEngineConfig {
18
+ registry: GraphNodeExecutorRegistry;
19
+ planner?: GraphExecutionPlanner;
20
+ valueStoreAdapter?: GraphValueStoreAdapter;
21
+ eventEmitter?: GraphExecutionEventEmitter;
22
+ defaultOptions?: Partial<GraphExecutionOptions>;
23
+ }
24
+ /**
25
+ * Reference graph execution engine.
26
+ *
27
+ * Executes a {@link GraphWorkflowDefinition} by:
28
+ * 1. Planning the workflow into topological layers.
29
+ * 2. Seeding workflow inputs into the value store.
30
+ * 3. Executing nodes layer-by-layer with configurable concurrency.
31
+ * 4. Routing values along edges.
32
+ * 5. Emitting structured events through Decaf's Observable pipeline.
33
+ * 6. Returning a complete {@link GraphExecutionResult}.
34
+ */
35
+ export declare class GraphExecutionEngine implements Observable<[GraphExecutionObserver], [GraphExecutionEvent]> {
36
+ private readonly emitter;
37
+ private readonly planner;
38
+ private readonly valueStoreAdapter;
39
+ private readonly defaultOptions;
40
+ constructor(config: GraphExecutionEngineConfig);
41
+ private readonly config;
42
+ observe(observer: GraphExecutionObserver): () => void;
43
+ unObserve(observer: GraphExecutionObserver): void;
44
+ updateObservers(event: GraphExecutionEvent): Promise<void>;
45
+ /**
46
+ * Executes a workflow with the given inputs and options.
47
+ */
48
+ execute(workflow: GraphWorkflowDefinition, inputs?: GraphExecutionValues, options?: GraphExecutionOptions): Promise<GraphExecutionResult>;
49
+ /**
50
+ * Pins a node and its upstream dependencies after a completed run.
51
+ *
52
+ * Delegates to {@link GraphPinningService}. The plan and result must come
53
+ * from a prior successful execution of the same workflow.
54
+ */
55
+ pinNode(options: GraphPinNodeOptions): Promise<void>;
56
+ /**
57
+ * Unpins a node by its fingerprint.
58
+ */
59
+ unpinNode(options: GraphUnpinNodeOptions): Promise<void>;
60
+ /**
61
+ * Creates a {@link GraphPinningService} backed by this engine's value store
62
+ * adapter.
63
+ */
64
+ private createPinningService;
65
+ /**
66
+ * Emits a pinning-related event to all observers.
67
+ */
68
+ private emitPinningEvent;
69
+ /**
70
+ * Executes a layer of nodes with the configured concurrency.
71
+ */
72
+ private executeLayer;
73
+ /**
74
+ * Executes a single node.
75
+ */
76
+ private executeNode;
77
+ /**
78
+ * Resolves a node's input values from incoming edges.
79
+ */
80
+ private resolveNodeInputs;
81
+ /**
82
+ * Attempts to read a pinned value for the node. Returns the cached outputs
83
+ * when a valid pinned value exists, or `undefined` to proceed with normal
84
+ * execution.
85
+ */
86
+ private tryPinnedValue;
87
+ /**
88
+ * Recursively computes fingerprints for all upstream dependencies of a node
89
+ * using the results already accumulated in the frame.
90
+ */
91
+ private computeDependencyFingerprints;
92
+ /**
93
+ * Routes a node's outputs to downstream inputs and workflow outputs.
94
+ */
95
+ private routeOutgoingEdges;
96
+ /**
97
+ * Emits an event, records it in the frame, and dispatches to observers.
98
+ */
99
+ private emitEvent;
100
+ /**
101
+ * Merges default options with the given options.
102
+ */
103
+ private mergeOptions;
104
+ /**
105
+ * Generates a unique run id.
106
+ */
107
+ private generateRunId;
108
+ /**
109
+ * Converts an error into a serialized payload.
110
+ */
111
+ private toErrorPayload;
112
+ }
@@ -0,0 +1,29 @@
1
+ /**
2
+ * @module integrations/graph/execution/GraphExecutionFrame
3
+ * @summary Per-run state container for graph execution.
4
+ * @description Holds the run id, execution plan, value store, accumulated node results, events, and timing for a single workflow execution.
5
+ */
6
+ import type { GraphExecutionPlan } from "../planning/GraphExecutionPlan.d.cts";
7
+ import type { GraphValueStore } from "../store/GraphValueStore.d.cts";
8
+ import type { GraphExecutionEventFactory } from "../events/GraphExecutionEventFactory.d.cts";
9
+ import type { GraphExecutionEvent, GraphNodeExecutionResult, GraphRunId } from "../types.d.cts";
10
+ /**
11
+ * Mutable state for a single graph execution run.
12
+ */
13
+ export declare class GraphExecutionFrame {
14
+ readonly runId: GraphRunId;
15
+ readonly plan: GraphExecutionPlan;
16
+ readonly valueStore: GraphValueStore;
17
+ readonly eventFactory: GraphExecutionEventFactory;
18
+ readonly startedAt: Date;
19
+ readonly nodeResults: Map<string, GraphNodeExecutionResult>;
20
+ readonly events: GraphExecutionEvent[];
21
+ finishedAt?: Date;
22
+ constructor(runId: GraphRunId, plan: GraphExecutionPlan, valueStore: GraphValueStore, eventFactory: GraphExecutionEventFactory);
23
+ /** Records a node execution result. */
24
+ recordNodeResult(result: GraphNodeExecutionResult): void;
25
+ /** Appends an event to the run's event log. */
26
+ appendEvent(event: GraphExecutionEvent): void;
27
+ /** Marks the run as finished. */
28
+ finish(): void;
29
+ }
@@ -0,0 +1,29 @@
1
+ /**
2
+ * @module integrations/graph/execution/GraphExecutionFrame
3
+ * @summary Per-run state container for graph execution.
4
+ * @description Holds the run id, execution plan, value store, accumulated node results, events, and timing for a single workflow execution.
5
+ */
6
+ import type { GraphExecutionPlan } from "../planning/GraphExecutionPlan.d.mts";
7
+ import type { GraphValueStore } from "../store/GraphValueStore.d.mts";
8
+ import type { GraphExecutionEventFactory } from "../events/GraphExecutionEventFactory.d.mts";
9
+ import type { GraphExecutionEvent, GraphNodeExecutionResult, GraphRunId } from "../types.d.mts";
10
+ /**
11
+ * Mutable state for a single graph execution run.
12
+ */
13
+ export declare class GraphExecutionFrame {
14
+ readonly runId: GraphRunId;
15
+ readonly plan: GraphExecutionPlan;
16
+ readonly valueStore: GraphValueStore;
17
+ readonly eventFactory: GraphExecutionEventFactory;
18
+ readonly startedAt: Date;
19
+ readonly nodeResults: Map<string, GraphNodeExecutionResult>;
20
+ readonly events: GraphExecutionEvent[];
21
+ finishedAt?: Date;
22
+ constructor(runId: GraphRunId, plan: GraphExecutionPlan, valueStore: GraphValueStore, eventFactory: GraphExecutionEventFactory);
23
+ /** Records a node execution result. */
24
+ recordNodeResult(result: GraphNodeExecutionResult): void;
25
+ /** Appends an event to the run's event log. */
26
+ appendEvent(event: GraphExecutionEvent): void;
27
+ /** Marks the run as finished. */
28
+ finish(): void;
29
+ }
@@ -0,0 +1,13 @@
1
+ /**
2
+ * @module integrations/graph/execution/GraphExecutionResult
3
+ * @summary Helper for building GraphExecutionResult objects.
4
+ * @description Provides a builder function that assembles a result from a frame.
5
+ */
6
+ import type { GraphExecutionFrame } from "./GraphExecutionFrame.d.cts";
7
+ import type { GraphExecutionResult, GraphExecutionValues } from "../types.d.cts";
8
+ import type { GraphExecutionStatus } from "../constants.d.cts";
9
+ import type { GraphWorkflowDefinition } from "@decaf-ts/ui-decorators/graph";
10
+ /**
11
+ * Builds a {@link GraphExecutionResult} from a completed frame.
12
+ */
13
+ export declare function buildGraphExecutionResult(frame: GraphExecutionFrame, workflow: GraphWorkflowDefinition, inputs: GraphExecutionValues, status: GraphExecutionStatus, metadata?: Record<string, unknown>): GraphExecutionResult;
@@ -0,0 +1,13 @@
1
+ /**
2
+ * @module integrations/graph/execution/GraphExecutionResult
3
+ * @summary Helper for building GraphExecutionResult objects.
4
+ * @description Provides a builder function that assembles a result from a frame.
5
+ */
6
+ import type { GraphExecutionFrame } from "./GraphExecutionFrame.d.mts";
7
+ import type { GraphExecutionResult, GraphExecutionValues } from "../types.d.mts";
8
+ import type { GraphExecutionStatus } from "../constants.d.mts";
9
+ import type { GraphWorkflowDefinition } from "@decaf-ts/ui-decorators/graph";
10
+ /**
11
+ * Builds a {@link GraphExecutionResult} from a completed frame.
12
+ */
13
+ export declare function buildGraphExecutionResult(frame: GraphExecutionFrame, workflow: GraphWorkflowDefinition, inputs: GraphExecutionValues, status: GraphExecutionStatus, metadata?: Record<string, unknown>): GraphExecutionResult;
@@ -0,0 +1,23 @@
1
+ /**
2
+ * @module integrations/graph/execution/GraphNodeExecutor
3
+ * @summary Interface implemented by every graph node executor.
4
+ * @description A node executor receives the node's resolved input values and a {@link GraphExecutionContext}, and returns the node's output values.
5
+ */
6
+ import type { GraphExecutionContext } from "./GraphExecutionContext.d.cts";
7
+ import type { GraphExecutionValues } from "../types.d.cts";
8
+ /**
9
+ * Executor for a specific graph node kind.
10
+ *
11
+ * Implementations are registered in the {@link GraphNodeExecutorRegistry}
12
+ * and resolved by the engine using the node's `kind`.
13
+ */
14
+ export interface GraphNodeExecutor<Input extends GraphExecutionValues = GraphExecutionValues, Output extends GraphExecutionValues = GraphExecutionValues> {
15
+ /**
16
+ * Executes the node logic.
17
+ *
18
+ * @param input - Resolved input values keyed by port name.
19
+ * @param context - Decaf context for emitting progress and events.
20
+ * @returns The node's output values keyed by port name.
21
+ */
22
+ execute(input: Input, context: GraphExecutionContext): Promise<Output> | Output;
23
+ }
@@ -0,0 +1,23 @@
1
+ /**
2
+ * @module integrations/graph/execution/GraphNodeExecutor
3
+ * @summary Interface implemented by every graph node executor.
4
+ * @description A node executor receives the node's resolved input values and a {@link GraphExecutionContext}, and returns the node's output values.
5
+ */
6
+ import type { GraphExecutionContext } from "./GraphExecutionContext.d.mts";
7
+ import type { GraphExecutionValues } from "../types.d.mts";
8
+ /**
9
+ * Executor for a specific graph node kind.
10
+ *
11
+ * Implementations are registered in the {@link GraphNodeExecutorRegistry}
12
+ * and resolved by the engine using the node's `kind`.
13
+ */
14
+ export interface GraphNodeExecutor<Input extends GraphExecutionValues = GraphExecutionValues, Output extends GraphExecutionValues = GraphExecutionValues> {
15
+ /**
16
+ * Executes the node logic.
17
+ *
18
+ * @param input - Resolved input values keyed by port name.
19
+ * @param context - Decaf context for emitting progress and events.
20
+ * @returns The node's output values keyed by port name.
21
+ */
22
+ execute(input: Input, context: GraphExecutionContext): Promise<Output> | Output;
23
+ }
@@ -0,0 +1,10 @@
1
+ /**
2
+ * @module integrations/graph/execution
3
+ * @summary Graph execution context and executor interface.
4
+ * @description Re-exports the graph execution context and node executor interface.
5
+ */
6
+ export * from "./GraphExecutionContext.d.cts";
7
+ export * from "./GraphNodeExecutor.d.cts";
8
+ export * from "./GraphExecutionResult.d.cts";
9
+ export * from "./GraphExecutionFrame.d.cts";
10
+ export * from "./GraphExecutionEngine.d.cts";
@@ -0,0 +1,10 @@
1
+ /**
2
+ * @module integrations/graph/execution
3
+ * @summary Graph execution context and executor interface.
4
+ * @description Re-exports the graph execution context and node executor interface.
5
+ */
6
+ export * from "./GraphExecutionContext.d.mts";
7
+ export * from "./GraphNodeExecutor.d.mts";
8
+ export * from "./GraphExecutionResult.d.mts";
9
+ export * from "./GraphExecutionFrame.d.mts";
10
+ export * from "./GraphExecutionEngine.d.mts";
@@ -0,0 +1,52 @@
1
+ /**
2
+ * @module integrations/graph
3
+ * @summary Decaf Graph Execution Engine.
4
+ * @description Reference interpreter for Decaf graph workflows. Executes workflows declared with `@decaf-ts/ui-decorators/graph`, emits events through Decaf's Observable pipeline, supports structured loops, configurable value stores, and pinnable/cacheable nodes.
5
+ */
6
+ export * from "./constants.d.cts";
7
+ export * from "./types.d.cts";
8
+ export * from "./decorators.d.cts";
9
+ export * from "./errors/GraphExecutionError.d.cts";
10
+ export * from "./errors/GraphCycleError.d.cts";
11
+ export * from "./errors/GraphInputError.d.cts";
12
+ export * from "./errors/GraphLoopLimitError.d.cts";
13
+ export * from "./errors/GraphPinningError.d.cts";
14
+ export * from "./errors/GraphPortError.d.cts";
15
+ export * from "./errors/GraphStoreError.d.cts";
16
+ export * from "./errors/GraphTopologyError.d.cts";
17
+ export * from "./events/GraphExecutionEvent.d.cts";
18
+ export * from "./events/GraphExecutionObserver.d.cts";
19
+ export * from "./events/GraphExecutionEventEmitter.d.cts";
20
+ export * from "./events/GraphExecutionEventFactory.d.cts";
21
+ export * from "./execution/GraphExecutionContext.d.cts";
22
+ export * from "./execution/GraphNodeExecutor.d.cts";
23
+ export * from "./execution/GraphExecutionFrame.d.cts";
24
+ export * from "./execution/GraphExecutionResult.d.cts";
25
+ export * from "./execution/GraphExecutionEngine.d.cts";
26
+ export * from "./registry/GraphNodeExecutorRegistry.d.cts";
27
+ export * from "./registry/GraphNodeExecutorResolver.d.cts";
28
+ export * from "./store/GraphValueKey.d.cts";
29
+ export * from "./store/GraphCachedValue.d.cts";
30
+ export * from "./store/GraphValueStoreAdapter.d.cts";
31
+ export * from "./store/InMemoryGraphValueStoreAdapter.d.cts";
32
+ export * from "./store/GraphValueStore.d.cts";
33
+ export * from "./planning/GraphExecutionPlanNode.d.cts";
34
+ export * from "./planning/GraphExecutionPlanEdge.d.cts";
35
+ export * from "./planning/GraphExecutionPlanLayer.d.cts";
36
+ export * from "./planning/GraphExecutionPlan.d.cts";
37
+ export * from "./planning/GraphRelationResolver.d.cts";
38
+ export * from "./planning/GraphExecutionPlanner.d.cts";
39
+ export * from "./planning/GraphTopology.d.cts";
40
+ export * from "./validation/GraphDefinitionValidator.d.cts";
41
+ export * from "./validation/GraphPortSchemaResolver.d.cts";
42
+ export * from "./validation/GraphValueValidator.d.cts";
43
+ export * from "./loops/GraphConditionEvaluator.d.cts";
44
+ export * from "./loops/GraphLoopExecutionContext.d.cts";
45
+ export * from "./loops/ForeachGraphNodeExecutor.d.cts";
46
+ export * from "./loops/WhileGraphNodeExecutor.d.cts";
47
+ export * from "./loops/UntilGraphNodeExecutor.d.cts";
48
+ export * from "./pinning/GraphPinningMetadata.d.cts";
49
+ export * from "./pinning/GraphPinningPolicy.d.cts";
50
+ export * from "./pinning/GraphPinningDependencyResolver.d.cts";
51
+ export * from "./pinning/GraphPinningService.d.cts";
52
+ export * from "./snapshots/GraphExecutionSnapshotMapper.d.cts";
@@ -0,0 +1,52 @@
1
+ /**
2
+ * @module integrations/graph
3
+ * @summary Decaf Graph Execution Engine.
4
+ * @description Reference interpreter for Decaf graph workflows. Executes workflows declared with `@decaf-ts/ui-decorators/graph`, emits events through Decaf's Observable pipeline, supports structured loops, configurable value stores, and pinnable/cacheable nodes.
5
+ */
6
+ export * from "./constants.d.mts";
7
+ export * from "./types.d.mts";
8
+ export * from "./decorators.d.mts";
9
+ export * from "./errors/GraphExecutionError.d.mts";
10
+ export * from "./errors/GraphCycleError.d.mts";
11
+ export * from "./errors/GraphInputError.d.mts";
12
+ export * from "./errors/GraphLoopLimitError.d.mts";
13
+ export * from "./errors/GraphPinningError.d.mts";
14
+ export * from "./errors/GraphPortError.d.mts";
15
+ export * from "./errors/GraphStoreError.d.mts";
16
+ export * from "./errors/GraphTopologyError.d.mts";
17
+ export * from "./events/GraphExecutionEvent.d.mts";
18
+ export * from "./events/GraphExecutionObserver.d.mts";
19
+ export * from "./events/GraphExecutionEventEmitter.d.mts";
20
+ export * from "./events/GraphExecutionEventFactory.d.mts";
21
+ export * from "./execution/GraphExecutionContext.d.mts";
22
+ export * from "./execution/GraphNodeExecutor.d.mts";
23
+ export * from "./execution/GraphExecutionFrame.d.mts";
24
+ export * from "./execution/GraphExecutionResult.d.mts";
25
+ export * from "./execution/GraphExecutionEngine.d.mts";
26
+ export * from "./registry/GraphNodeExecutorRegistry.d.mts";
27
+ export * from "./registry/GraphNodeExecutorResolver.d.mts";
28
+ export * from "./store/GraphValueKey.d.mts";
29
+ export * from "./store/GraphCachedValue.d.mts";
30
+ export * from "./store/GraphValueStoreAdapter.d.mts";
31
+ export * from "./store/InMemoryGraphValueStoreAdapter.d.mts";
32
+ export * from "./store/GraphValueStore.d.mts";
33
+ export * from "./planning/GraphExecutionPlanNode.d.mts";
34
+ export * from "./planning/GraphExecutionPlanEdge.d.mts";
35
+ export * from "./planning/GraphExecutionPlanLayer.d.mts";
36
+ export * from "./planning/GraphExecutionPlan.d.mts";
37
+ export * from "./planning/GraphRelationResolver.d.mts";
38
+ export * from "./planning/GraphExecutionPlanner.d.mts";
39
+ export * from "./planning/GraphTopology.d.mts";
40
+ export * from "./validation/GraphDefinitionValidator.d.mts";
41
+ export * from "./validation/GraphPortSchemaResolver.d.mts";
42
+ export * from "./validation/GraphValueValidator.d.mts";
43
+ export * from "./loops/GraphConditionEvaluator.d.mts";
44
+ export * from "./loops/GraphLoopExecutionContext.d.mts";
45
+ export * from "./loops/ForeachGraphNodeExecutor.d.mts";
46
+ export * from "./loops/WhileGraphNodeExecutor.d.mts";
47
+ export * from "./loops/UntilGraphNodeExecutor.d.mts";
48
+ export * from "./pinning/GraphPinningMetadata.d.mts";
49
+ export * from "./pinning/GraphPinningPolicy.d.mts";
50
+ export * from "./pinning/GraphPinningDependencyResolver.d.mts";
51
+ export * from "./pinning/GraphPinningService.d.mts";
52
+ export * from "./snapshots/GraphExecutionSnapshotMapper.d.mts";
@@ -0,0 +1,27 @@
1
+ /**
2
+ * @module integrations/graph/loops/ForeachGraphNodeExecutor
3
+ * @summary Foreach loop node executor.
4
+ * @description Executes a body workflow once per item in the input array, collecting results in order.
5
+ */
6
+ import type { GraphNodeExecutor } from "../execution/GraphNodeExecutor.d.cts";
7
+ import type { GraphExecutionContext } from "../execution/GraphExecutionContext.d.cts";
8
+ import type { GraphExecutionEngine } from "../execution/GraphExecutionEngine.d.cts";
9
+ import type { GraphExecutionValues } from "../types.d.cts";
10
+ /**
11
+ * Executor for `core.loop.foreach` nodes.
12
+ *
13
+ * Expects input:
14
+ * - `items`: array of values to iterate over
15
+ * - `state?`: optional initial state
16
+ *
17
+ * Produces output:
18
+ * - `results`: array of body outputs (in item order)
19
+ * - `state?`: final state
20
+ * - `iterations`: number of iterations executed
21
+ */
22
+ export declare class ForeachGraphNodeExecutor implements GraphNodeExecutor {
23
+ private readonly engine;
24
+ constructor(engine: GraphExecutionEngine);
25
+ execute(input: GraphExecutionValues, context: GraphExecutionContext): Promise<GraphExecutionValues>;
26
+ private extractMetadata;
27
+ }
@@ -0,0 +1,27 @@
1
+ /**
2
+ * @module integrations/graph/loops/ForeachGraphNodeExecutor
3
+ * @summary Foreach loop node executor.
4
+ * @description Executes a body workflow once per item in the input array, collecting results in order.
5
+ */
6
+ import type { GraphNodeExecutor } from "../execution/GraphNodeExecutor.d.mts";
7
+ import type { GraphExecutionContext } from "../execution/GraphExecutionContext.d.mts";
8
+ import type { GraphExecutionEngine } from "../execution/GraphExecutionEngine.d.mts";
9
+ import type { GraphExecutionValues } from "../types.d.mts";
10
+ /**
11
+ * Executor for `core.loop.foreach` nodes.
12
+ *
13
+ * Expects input:
14
+ * - `items`: array of values to iterate over
15
+ * - `state?`: optional initial state
16
+ *
17
+ * Produces output:
18
+ * - `results`: array of body outputs (in item order)
19
+ * - `state?`: final state
20
+ * - `iterations`: number of iterations executed
21
+ */
22
+ export declare class ForeachGraphNodeExecutor implements GraphNodeExecutor {
23
+ private readonly engine;
24
+ constructor(engine: GraphExecutionEngine);
25
+ execute(input: GraphExecutionValues, context: GraphExecutionContext): Promise<GraphExecutionValues>;
26
+ private extractMetadata;
27
+ }
@@ -0,0 +1,23 @@
1
+ /**
2
+ * @module integrations/graph/loops/GraphConditionEvaluator
3
+ * @summary Evaluator for built-in loop condition types.
4
+ * @description Supports safe, built-in condition types only. Does NOT evaluate arbitrary JavaScript expressions.
5
+ */
6
+ import type { GraphConditionDefinition } from "../types.d.cts";
7
+ /**
8
+ * Evaluates loop conditions using built-in comparison types.
9
+ */
10
+ export declare class GraphConditionEvaluator {
11
+ /**
12
+ * Evaluates a condition against the given state.
13
+ *
14
+ * @param condition - The condition definition.
15
+ * @param state - The current loop state.
16
+ * @returns `true` when the condition passes.
17
+ */
18
+ evaluate(condition: GraphConditionDefinition, state: unknown): boolean;
19
+ /**
20
+ * Resolves a value that may be a dotted path into the state object.
21
+ */
22
+ private resolveValue;
23
+ }
@@ -0,0 +1,23 @@
1
+ /**
2
+ * @module integrations/graph/loops/GraphConditionEvaluator
3
+ * @summary Evaluator for built-in loop condition types.
4
+ * @description Supports safe, built-in condition types only. Does NOT evaluate arbitrary JavaScript expressions.
5
+ */
6
+ import type { GraphConditionDefinition } from "../types.d.mts";
7
+ /**
8
+ * Evaluates loop conditions using built-in comparison types.
9
+ */
10
+ export declare class GraphConditionEvaluator {
11
+ /**
12
+ * Evaluates a condition against the given state.
13
+ *
14
+ * @param condition - The condition definition.
15
+ * @param state - The current loop state.
16
+ * @returns `true` when the condition passes.
17
+ */
18
+ evaluate(condition: GraphConditionDefinition, state: unknown): boolean;
19
+ /**
20
+ * Resolves a value that may be a dotted path into the state object.
21
+ */
22
+ private resolveValue;
23
+ }
@@ -0,0 +1,15 @@
1
+ /**
2
+ * @module integrations/graph/loops/GraphLoopExecutionContext
3
+ * @summary Context for loop node execution.
4
+ * @description Carries loop-specific metadata and iteration state during loop execution.
5
+ */
6
+ import type { GraphLoopMetadata } from "../types.d.cts";
7
+ /**
8
+ * Context for a single loop execution, carrying the loop metadata and
9
+ * current iteration index.
10
+ */
11
+ export declare class GraphLoopExecutionContext {
12
+ readonly iteration: number;
13
+ readonly metadata: GraphLoopMetadata;
14
+ constructor(iteration: number, metadata: GraphLoopMetadata);
15
+ }
@@ -0,0 +1,15 @@
1
+ /**
2
+ * @module integrations/graph/loops/GraphLoopExecutionContext
3
+ * @summary Context for loop node execution.
4
+ * @description Carries loop-specific metadata and iteration state during loop execution.
5
+ */
6
+ import type { GraphLoopMetadata } from "../types.d.mts";
7
+ /**
8
+ * Context for a single loop execution, carrying the loop metadata and
9
+ * current iteration index.
10
+ */
11
+ export declare class GraphLoopExecutionContext {
12
+ readonly iteration: number;
13
+ readonly metadata: GraphLoopMetadata;
14
+ constructor(iteration: number, metadata: GraphLoopMetadata);
15
+ }
@@ -0,0 +1,22 @@
1
+ /**
2
+ * @module integrations/graph/loops/UntilGraphNodeExecutor
3
+ * @summary Until loop node executor.
4
+ * @description Executes a body workflow at least once and repeats until a condition is true.
5
+ */
6
+ import type { GraphNodeExecutor } from "../execution/GraphNodeExecutor.d.cts";
7
+ import type { GraphExecutionContext } from "../execution/GraphExecutionContext.d.cts";
8
+ import type { GraphExecutionEngine } from "../execution/GraphExecutionEngine.d.cts";
9
+ import type { GraphExecutionValues } from "../types.d.cts";
10
+ /**
11
+ * Executor for `core.loop.until` nodes.
12
+ *
13
+ * Executes the body at least once, then checks the condition. Repeats until
14
+ * the condition evaluates to true.
15
+ */
16
+ export declare class UntilGraphNodeExecutor implements GraphNodeExecutor {
17
+ private readonly engine;
18
+ private readonly evaluator;
19
+ constructor(engine: GraphExecutionEngine);
20
+ execute(input: GraphExecutionValues, context: GraphExecutionContext): Promise<GraphExecutionValues>;
21
+ private extractMetadata;
22
+ }
@@ -0,0 +1,22 @@
1
+ /**
2
+ * @module integrations/graph/loops/UntilGraphNodeExecutor
3
+ * @summary Until loop node executor.
4
+ * @description Executes a body workflow at least once and repeats until a condition is true.
5
+ */
6
+ import type { GraphNodeExecutor } from "../execution/GraphNodeExecutor.d.mts";
7
+ import type { GraphExecutionContext } from "../execution/GraphExecutionContext.d.mts";
8
+ import type { GraphExecutionEngine } from "../execution/GraphExecutionEngine.d.mts";
9
+ import type { GraphExecutionValues } from "../types.d.mts";
10
+ /**
11
+ * Executor for `core.loop.until` nodes.
12
+ *
13
+ * Executes the body at least once, then checks the condition. Repeats until
14
+ * the condition evaluates to true.
15
+ */
16
+ export declare class UntilGraphNodeExecutor implements GraphNodeExecutor {
17
+ private readonly engine;
18
+ private readonly evaluator;
19
+ constructor(engine: GraphExecutionEngine);
20
+ execute(input: GraphExecutionValues, context: GraphExecutionContext): Promise<GraphExecutionValues>;
21
+ private extractMetadata;
22
+ }
@@ -0,0 +1,26 @@
1
+ /**
2
+ * @module integrations/graph/loops/WhileGraphNodeExecutor
3
+ * @summary While loop node executor.
4
+ * @description Executes a body workflow repeatedly while a condition is true, enforcing a maximum iteration limit.
5
+ */
6
+ import type { GraphNodeExecutor } from "../execution/GraphNodeExecutor.d.cts";
7
+ import type { GraphExecutionContext } from "../execution/GraphExecutionContext.d.cts";
8
+ import type { GraphExecutionEngine } from "../execution/GraphExecutionEngine.d.cts";
9
+ import type { GraphExecutionValues } from "../types.d.cts";
10
+ /**
11
+ * Executor for `core.loop.while` nodes.
12
+ *
13
+ * Expects input:
14
+ * - `state`: initial state
15
+ *
16
+ * Produces output:
17
+ * - `state`: final state
18
+ * - `iterations`: number of iterations executed
19
+ */
20
+ export declare class WhileGraphNodeExecutor implements GraphNodeExecutor {
21
+ private readonly engine;
22
+ private readonly evaluator;
23
+ constructor(engine: GraphExecutionEngine);
24
+ execute(input: GraphExecutionValues, context: GraphExecutionContext): Promise<GraphExecutionValues>;
25
+ private extractMetadata;
26
+ }
@@ -0,0 +1,26 @@
1
+ /**
2
+ * @module integrations/graph/loops/WhileGraphNodeExecutor
3
+ * @summary While loop node executor.
4
+ * @description Executes a body workflow repeatedly while a condition is true, enforcing a maximum iteration limit.
5
+ */
6
+ import type { GraphNodeExecutor } from "../execution/GraphNodeExecutor.d.mts";
7
+ import type { GraphExecutionContext } from "../execution/GraphExecutionContext.d.mts";
8
+ import type { GraphExecutionEngine } from "../execution/GraphExecutionEngine.d.mts";
9
+ import type { GraphExecutionValues } from "../types.d.mts";
10
+ /**
11
+ * Executor for `core.loop.while` nodes.
12
+ *
13
+ * Expects input:
14
+ * - `state`: initial state
15
+ *
16
+ * Produces output:
17
+ * - `state`: final state
18
+ * - `iterations`: number of iterations executed
19
+ */
20
+ export declare class WhileGraphNodeExecutor implements GraphNodeExecutor {
21
+ private readonly engine;
22
+ private readonly evaluator;
23
+ constructor(engine: GraphExecutionEngine);
24
+ execute(input: GraphExecutionValues, context: GraphExecutionContext): Promise<GraphExecutionValues>;
25
+ private extractMetadata;
26
+ }
@@ -0,0 +1,10 @@
1
+ /**
2
+ * @module integrations/graph/loops
3
+ * @summary Structured loop executors.
4
+ * @description Re-exports the condition evaluator, loop execution context, and foreach/while/until executors.
5
+ */
6
+ export * from "./GraphConditionEvaluator.d.cts";
7
+ export * from "./GraphLoopExecutionContext.d.cts";
8
+ export * from "./ForeachGraphNodeExecutor.d.cts";
9
+ export * from "./WhileGraphNodeExecutor.d.cts";
10
+ export * from "./UntilGraphNodeExecutor.d.cts";
@@ -0,0 +1,10 @@
1
+ /**
2
+ * @module integrations/graph/loops
3
+ * @summary Structured loop executors.
4
+ * @description Re-exports the condition evaluator, loop execution context, and foreach/while/until executors.
5
+ */
6
+ export * from "./GraphConditionEvaluator.d.mts";
7
+ export * from "./GraphLoopExecutionContext.d.mts";
8
+ export * from "./ForeachGraphNodeExecutor.d.mts";
9
+ export * from "./WhileGraphNodeExecutor.d.mts";
10
+ export * from "./UntilGraphNodeExecutor.d.mts";