@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,58 @@
1
+ import { GraphConditionType } from "./../constants.js";
2
+ import { GraphExecutionError } from "./../errors/GraphExecutionError.js";
3
+ /**
4
+ * Evaluates loop conditions using built-in comparison types.
5
+ */
6
+ export class GraphConditionEvaluator {
7
+ /**
8
+ * Evaluates a condition against the given state.
9
+ *
10
+ * @param condition - The condition definition.
11
+ * @param state - The current loop state.
12
+ * @returns `true` when the condition passes.
13
+ */
14
+ evaluate(condition, state) {
15
+ const left = this.resolveValue(condition.left, state);
16
+ const right = condition.right;
17
+ switch (condition.type) {
18
+ case GraphConditionType.TRUTHY:
19
+ return !!left;
20
+ case GraphConditionType.FALSY:
21
+ return !left;
22
+ case GraphConditionType.EQUALS:
23
+ return left === right;
24
+ case GraphConditionType.NOT_EQUALS:
25
+ return left !== right;
26
+ case GraphConditionType.GREATER_THAN:
27
+ return Number(left) > Number(right);
28
+ case GraphConditionType.GREATER_THAN_OR_EQUAL:
29
+ return Number(left) >= Number(right);
30
+ case GraphConditionType.LESS_THAN:
31
+ return Number(left) < Number(right);
32
+ case GraphConditionType.LESS_THAN_OR_EQUAL:
33
+ return Number(left) <= Number(right);
34
+ case GraphConditionType.EXISTS:
35
+ return left !== undefined && left !== null;
36
+ case GraphConditionType.CUSTOM:
37
+ throw new GraphExecutionError("Custom condition evaluators are not supported in v1", "GRAPH_CUSTOM_CONDITION_UNSUPPORTED");
38
+ default:
39
+ throw new GraphExecutionError(`Unknown condition type '${condition.type}'`, "GRAPH_UNKNOWN_CONDITION_TYPE", { condition });
40
+ }
41
+ }
42
+ /**
43
+ * Resolves a value that may be a dotted path into the state object.
44
+ */
45
+ resolveValue(path, state) {
46
+ if (!path)
47
+ return state;
48
+ const parts = path.split(".");
49
+ let current = state;
50
+ for (const part of parts) {
51
+ if (current == null)
52
+ return undefined;
53
+ current = current[part];
54
+ }
55
+ return current;
56
+ }
57
+ }
58
+ //# sourceMappingURL=GraphConditionEvaluator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GraphConditionEvaluator.js","sourceRoot":"","sources":["../../../../src/graph/loops/GraphConditionEvaluator.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,kBAAkB,EAAE,0BAAqB;AAClD,OAAO,EAAE,mBAAmB,EAAE,2CAAsC;AAEpE;;GAEG;AACH,MAAM,OAAO,uBAAuB;IAClC;;;;;;OAMG;IACH,QAAQ,CAAC,SAAmC,EAAE,KAAc;QAC1D,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACtD,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC;QAE9B,QAAQ,SAAS,CAAC,IAAI,EAAE,CAAC;YACvB,KAAK,kBAAkB,CAAC,MAAM;gBAC5B,OAAO,CAAC,CAAC,IAAI,CAAC;YAChB,KAAK,kBAAkB,CAAC,KAAK;gBAC3B,OAAO,CAAC,IAAI,CAAC;YACf,KAAK,kBAAkB,CAAC,MAAM;gBAC5B,OAAO,IAAI,KAAK,KAAK,CAAC;YACxB,KAAK,kBAAkB,CAAC,UAAU;gBAChC,OAAO,IAAI,KAAK,KAAK,CAAC;YACxB,KAAK,kBAAkB,CAAC,YAAY;gBAClC,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YACtC,KAAK,kBAAkB,CAAC,qBAAqB;gBAC3C,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;YACvC,KAAK,kBAAkB,CAAC,SAAS;gBAC/B,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YACtC,KAAK,kBAAkB,CAAC,kBAAkB;gBACxC,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;YACvC,KAAK,kBAAkB,CAAC,MAAM;gBAC5B,OAAO,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI,CAAC;YAC7C,KAAK,kBAAkB,CAAC,MAAM;gBAC5B,MAAM,IAAI,mBAAmB,CAC3B,qDAAqD,EACrD,oCAAoC,CACrC,CAAC;YACJ;gBACE,MAAM,IAAI,mBAAmB,CAC3B,2BAA2B,SAAS,CAAC,IAAI,GAAG,EAC5C,8BAA8B,EAC9B,EAAE,SAAS,EAAE,CACd,CAAC;QACN,CAAC;IACH,CAAC;IAED;;OAEG;IACK,YAAY,CAAC,IAAwB,EAAE,KAAc;QAC3D,IAAI,CAAC,IAAI;YAAE,OAAO,KAAK,CAAC;QACxB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,OAAO,GAAY,KAAK,CAAC;QAC7B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,OAAO,IAAI,IAAI;gBAAE,OAAO,SAAS,CAAC;YACtC,OAAO,GAAI,OAAmC,CAAC,IAAI,CAAC,CAAC;QACvD,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;CACF"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Context for a single loop execution, carrying the loop metadata and
3
+ * current iteration index.
4
+ */
5
+ export class GraphLoopExecutionContext {
6
+ constructor(iteration, metadata) {
7
+ this.iteration = iteration;
8
+ this.metadata = metadata;
9
+ }
10
+ }
11
+ //# sourceMappingURL=GraphLoopExecutionContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GraphLoopExecutionContext.js","sourceRoot":"","sources":["../../../../src/graph/loops/GraphLoopExecutionContext.ts"],"names":[],"mappings":"AAOA;;;GAGG;AACH,MAAM,OAAO,yBAAyB;IAIpC,YAAY,SAAiB,EAAE,QAA2B;QACxD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;CACF"}
@@ -0,0 +1,71 @@
1
+ import { GRAPH_DEFAULT_MAX_LOOP_ITERATIONS, GraphExecutionEventType } from "./../constants.js";
2
+ import { GraphInputError } from "./../errors/GraphInputError.js";
3
+ import { GraphLoopLimitError } from "./../errors/GraphLoopLimitError.js";
4
+ import { GraphConditionEvaluator } from "./GraphConditionEvaluator.js";
5
+ /**
6
+ * Executor for `core.loop.until` nodes.
7
+ *
8
+ * Executes the body at least once, then checks the condition. Repeats until
9
+ * the condition evaluates to true.
10
+ */
11
+ export class UntilGraphNodeExecutor {
12
+ constructor(engine) {
13
+ this.engine = engine;
14
+ this.evaluator = new GraphConditionEvaluator();
15
+ }
16
+ async execute(input, context) {
17
+ const metadata = this.extractMetadata(context);
18
+ const maxIterations = metadata.maxIterations ?? GRAPH_DEFAULT_MAX_LOOP_ITERATIONS;
19
+ const condition = metadata.condition;
20
+ if (!condition) {
21
+ throw new GraphInputError("until node is missing a condition");
22
+ }
23
+ const statePort = metadata.statePort ?? "state";
24
+ const bodyWorkflow = metadata.body;
25
+ let state = input.state;
26
+ let iteration = 0;
27
+ await context.emit({ type: GraphExecutionEventType.LOOP_STARTED });
28
+ let shouldStop = false;
29
+ do {
30
+ if (iteration >= maxIterations) {
31
+ await context.emit({
32
+ type: GraphExecutionEventType.LOOP_LIMIT_REACHED,
33
+ iteration,
34
+ });
35
+ throw new GraphLoopLimitError(`until loop exceeded max iterations (${maxIterations})`);
36
+ }
37
+ await context.emit({
38
+ type: GraphExecutionEventType.LOOP_ITERATION_STARTED,
39
+ iteration,
40
+ });
41
+ const childResult = await this.engine.execute(bodyWorkflow, { [statePort]: state, iteration }, {
42
+ parentRunId: context.runId,
43
+ path: [...context.path, `iteration:${iteration}`],
44
+ });
45
+ state = childResult.outputs[statePort];
46
+ await context.emit({
47
+ type: GraphExecutionEventType.LOOP_ITERATION_COMPLETED,
48
+ iteration,
49
+ });
50
+ const conditionResult = this.evaluator.evaluate(condition, state);
51
+ await context.emit({
52
+ type: GraphExecutionEventType.LOOP_CONDITION_EVALUATED,
53
+ iteration,
54
+ payload: { result: conditionResult },
55
+ });
56
+ iteration++;
57
+ shouldStop = conditionResult;
58
+ } while (!shouldStop);
59
+ await context.emit({ type: GraphExecutionEventType.LOOP_COMPLETED });
60
+ return { [statePort]: state, iterations: iteration };
61
+ }
62
+ extractMetadata(context) {
63
+ const raw = context.node.graph?.metadata?.loop ??
64
+ context.metadata?.loop;
65
+ if (!raw) {
66
+ throw new GraphInputError("until node is missing loop metadata");
67
+ }
68
+ return raw;
69
+ }
70
+ }
71
+ //# sourceMappingURL=UntilGraphNodeExecutor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UntilGraphNodeExecutor.js","sourceRoot":"","sources":["../../../../src/graph/loops/UntilGraphNodeExecutor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,72 @@
1
+ import { GRAPH_DEFAULT_MAX_LOOP_ITERATIONS, GraphExecutionEventType } from "./../constants.js";
2
+ import { GraphInputError } from "./../errors/GraphInputError.js";
3
+ import { GraphLoopLimitError } from "./../errors/GraphLoopLimitError.js";
4
+ import { GraphConditionEvaluator } from "./GraphConditionEvaluator.js";
5
+ /**
6
+ * Executor for `core.loop.while` nodes.
7
+ *
8
+ * Expects input:
9
+ * - `state`: initial state
10
+ *
11
+ * Produces output:
12
+ * - `state`: final state
13
+ * - `iterations`: number of iterations executed
14
+ */
15
+ export class WhileGraphNodeExecutor {
16
+ constructor(engine) {
17
+ this.engine = engine;
18
+ this.evaluator = new GraphConditionEvaluator();
19
+ }
20
+ async execute(input, context) {
21
+ const metadata = this.extractMetadata(context);
22
+ const maxIterations = metadata.maxIterations ?? GRAPH_DEFAULT_MAX_LOOP_ITERATIONS;
23
+ const condition = metadata.condition;
24
+ if (!condition) {
25
+ throw new GraphInputError("while node is missing a condition");
26
+ }
27
+ const statePort = metadata.statePort ?? "state";
28
+ const bodyWorkflow = metadata.body;
29
+ let state = input.state;
30
+ let iteration = 0;
31
+ await context.emit({ type: GraphExecutionEventType.LOOP_STARTED });
32
+ while (this.evaluator.evaluate(condition, state)) {
33
+ if (iteration >= maxIterations) {
34
+ await context.emit({
35
+ type: GraphExecutionEventType.LOOP_LIMIT_REACHED,
36
+ iteration,
37
+ });
38
+ throw new GraphLoopLimitError(`while loop exceeded max iterations (${maxIterations})`);
39
+ }
40
+ await context.emit({
41
+ type: GraphExecutionEventType.LOOP_CONDITION_EVALUATED,
42
+ iteration,
43
+ payload: { result: true },
44
+ });
45
+ await context.emit({
46
+ type: GraphExecutionEventType.LOOP_ITERATION_STARTED,
47
+ iteration,
48
+ });
49
+ const childResult = await this.engine.execute(bodyWorkflow, { [statePort]: state, iteration }, {
50
+ parentRunId: context.runId,
51
+ path: [...context.path, `iteration:${iteration}`],
52
+ });
53
+ state = childResult.outputs[statePort];
54
+ await context.emit({
55
+ type: GraphExecutionEventType.LOOP_ITERATION_COMPLETED,
56
+ iteration,
57
+ });
58
+ iteration++;
59
+ }
60
+ await context.emit({ type: GraphExecutionEventType.LOOP_COMPLETED });
61
+ return { [statePort]: state, iterations: iteration };
62
+ }
63
+ extractMetadata(context) {
64
+ const raw = context.node.graph?.metadata?.loop ??
65
+ context.metadata?.loop;
66
+ if (!raw) {
67
+ throw new GraphInputError("while node is missing loop metadata");
68
+ }
69
+ return raw;
70
+ }
71
+ }
72
+ //# sourceMappingURL=WhileGraphNodeExecutor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WhileGraphNodeExecutor.js","sourceRoot":"","sources":["../../../../src/graph/loops/WhileGraphNodeExecutor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
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.js";
7
+ export * from "./GraphLoopExecutionContext.js";
8
+ export * from "./ForeachGraphNodeExecutor.js";
9
+ export * from "./WhileGraphNodeExecutor.js";
10
+ export * from "./UntilGraphNodeExecutor.js";
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/graph/loops/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,6CAA0C;AAC1C,+CAA4C;AAC5C,8CAA2C;AAC3C,4CAAyC;AACzC,4CAAyC"}
@@ -0,0 +1,23 @@
1
+ import { GraphTopology } from "./../planning/GraphTopology.js";
2
+ /**
3
+ * Resolves the upstream dependency subtree of a node for pinning operations.
4
+ */
5
+ export class GraphPinningDependencyResolver {
6
+ /**
7
+ * Returns the set of upstream node ids that the given node depends on,
8
+ * excluding the workflow boundary.
9
+ */
10
+ getDependencies(plan, nodeId) {
11
+ return GraphTopology.upstreamNodes(nodeId, plan.incomingByNode, false);
12
+ }
13
+ /**
14
+ * Returns the full set of node ids to pin: the node itself plus all its
15
+ * upstream dependencies.
16
+ */
17
+ getPinSet(plan, nodeId) {
18
+ const deps = this.getDependencies(plan, nodeId);
19
+ deps.add(nodeId);
20
+ return deps;
21
+ }
22
+ }
23
+ //# sourceMappingURL=GraphPinningDependencyResolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GraphPinningDependencyResolver.js","sourceRoot":"","sources":["../../../../src/graph/pinning/GraphPinningDependencyResolver.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,aAAa,EAAE,uCAAkC;AAE1D;;GAEG;AACH,MAAM,OAAO,8BAA8B;IACzC;;;OAGG;IACH,eAAe,CAAC,IAAwB,EAAE,MAAc;QACtD,OAAO,aAAa,CAAC,aAAa,CAChC,MAAM,EACN,IAAI,CAAC,cAAc,EACnB,KAAK,CACN,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,SAAS,CAAC,IAAwB,EAAE,MAAc;QAChD,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAChD,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Default pinning metadata applied when `@pinnable()` is used without options.
3
+ */
4
+ export const DEFAULT_PINNING_METADATA = {
5
+ enabled: true,
6
+ strategy: "manual",
7
+ includeDependencies: true,
8
+ };
9
+ /**
10
+ * Returns `true` when the given metadata allows pinning.
11
+ */
12
+ export function isPinnable(metadata) {
13
+ return metadata?.enabled === true && metadata.strategy !== "disabled";
14
+ }
15
+ //# sourceMappingURL=GraphPinningMetadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GraphPinningMetadata.js","sourceRoot":"","sources":["../../../../src/graph/pinning/GraphPinningMetadata.ts"],"names":[],"mappings":"AAOA;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAyB;IAC5D,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,QAAQ;IAClB,mBAAmB,EAAE,IAAI;CAC1B,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,QAA0C;IACnE,OAAO,QAAQ,EAAE,OAAO,KAAK,IAAI,IAAI,QAAQ,CAAC,QAAQ,KAAK,UAAU,CAAC;AACxE,CAAC"}
@@ -0,0 +1,29 @@
1
+ import { DEFAULT_PINNING_METADATA, isPinnable } from "./GraphPinningMetadata.js";
2
+ /**
3
+ * Policy that decides pinning behaviour for a plan node.
4
+ */
5
+ export class GraphPinningPolicy {
6
+ /** Returns whether the node is allowed to be pinned. */
7
+ canPin(node) {
8
+ return isPinnable(this.getPinningMetadata(node));
9
+ }
10
+ /** Returns whether the engine should attempt to use a pinned value for the node. */
11
+ shouldUsePinnedValue(node) {
12
+ const metadata = this.getPinningMetadata(node);
13
+ return metadata.enabled === true && metadata.strategy !== "disabled";
14
+ }
15
+ /** Returns whether automatic pinning should occur after execution. */
16
+ shouldAutoPin(node) {
17
+ const metadata = this.getPinningMetadata(node);
18
+ return metadata.enabled === true && metadata.strategy === "automatic";
19
+ }
20
+ /** Extracts pinning metadata from a plan node. */
21
+ getPinningMetadata(node) {
22
+ const raw = node.definition?.graph?.metadata?.pinnable ??
23
+ node.metadata?.pinnable;
24
+ return raw
25
+ ? { ...DEFAULT_PINNING_METADATA, ...raw }
26
+ : { ...DEFAULT_PINNING_METADATA, enabled: false };
27
+ }
28
+ }
29
+ //# sourceMappingURL=GraphPinningPolicy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GraphPinningPolicy.js","sourceRoot":"","sources":["../../../../src/graph/pinning/GraphPinningPolicy.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,wBAAwB,EAAE,UAAU,EAAE,kCAA+B;AAE9E;;GAEG;AACH,MAAM,OAAO,kBAAkB;IAC7B,wDAAwD;IACxD,MAAM,CAAC,IAA4B;QACjC,OAAO,UAAU,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;IACnD,CAAC;IAED,oFAAoF;IACpF,oBAAoB,CAAC,IAA4B;QAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAC/C,OAAO,QAAQ,CAAC,OAAO,KAAK,IAAI,IAAI,QAAQ,CAAC,QAAQ,KAAK,UAAU,CAAC;IACvE,CAAC;IAED,sEAAsE;IACtE,aAAa,CAAC,IAA4B;QACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAC/C,OAAO,QAAQ,CAAC,OAAO,KAAK,IAAI,IAAI,QAAQ,CAAC,QAAQ,KAAK,WAAW,CAAC;IACxE,CAAC;IAED,kDAAkD;IAClD,kBAAkB,CAAC,IAA4B;QAC7C,MAAM,GAAG,GACN,IAAI,CAAC,UAAkB,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ;YAClD,IAAI,CAAC,QAAgB,EAAE,QAAQ,CAAC;QACnC,OAAO,GAAG;YACR,CAAC,CAAC,EAAE,GAAG,wBAAwB,EAAE,GAAG,GAAG,EAAE;YACzC,CAAC,CAAC,EAAE,GAAG,wBAAwB,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IACtD,CAAC;CACF"}
@@ -0,0 +1,186 @@
1
+ /**
2
+ * @module integrations/graph/pinning/GraphPinningService
3
+ * @summary Service for pinning and unpinning graph node values.
4
+ * @description Computes stable fingerprints, pins/unpins nodes and their upstream dependencies, reads pinned values, and emits pinning events. Pinning is all-or-nothing: if any upstream dependency is not pinnable, the operation fails.
5
+ */
6
+ import { GRAPH_PINNING_METADATA_KEY } from "./../constants.js";
7
+ import { GraphPinningError } from "./../errors/GraphPinningError.js";
8
+ import { GraphTopology } from "./../planning/GraphTopology.js";
9
+ /**
10
+ * Service that manages pinning and unpinning of graph node values.
11
+ */
12
+ export class GraphPinningService {
13
+ constructor(store, policy, dependencyResolver) {
14
+ this.store = store;
15
+ this.policy = policy;
16
+ this.dependencyResolver = dependencyResolver;
17
+ }
18
+ /**
19
+ * Pins a node and all its upstream dependencies.
20
+ *
21
+ * @throws {GraphPinningError} when the node or any dependency is not pinnable.
22
+ */
23
+ async pinNode(options) {
24
+ const plan = options.plan;
25
+ const includeDependencies = options.includeDependencies ?? true;
26
+ const pinSet = includeDependencies
27
+ ? this.dependencyResolver.getPinSet(plan, options.nodeId)
28
+ : new Set([options.nodeId]);
29
+ // Validate all-or-nothing
30
+ for (const nodeId of pinSet) {
31
+ const node = plan.nodes.find((n) => n.id === nodeId);
32
+ if (!node) {
33
+ throw new GraphPinningError(`Node '${nodeId}' not found in plan`);
34
+ }
35
+ if (!this.policy.canPin(node)) {
36
+ throw new GraphPinningError(`Node '${nodeId}' is not pinnable`, { nodeId });
37
+ }
38
+ }
39
+ // Pin dependencies first, then the selected node
40
+ const ordered = this.topologicalOrder(plan, pinSet);
41
+ for (const nodeId of ordered) {
42
+ const node = plan.nodes.find((n) => n.id === nodeId);
43
+ const result = options.result.nodeResults[nodeId];
44
+ if (!result || !result.outputs) {
45
+ throw new GraphPinningError(`Node '${nodeId}' has no completed output to pin`);
46
+ }
47
+ const inputs = result.inputs ?? {};
48
+ const depFingerprints = this.dependencyFingerprints(plan, nodeId, options.result);
49
+ const key = this.createValueKey(options.workflow, node, inputs, depFingerprints, options.namespace);
50
+ const now = new Date().toISOString();
51
+ const cached = {
52
+ key,
53
+ outputs: result.outputs,
54
+ pinned: true,
55
+ createdAt: now,
56
+ updatedAt: now,
57
+ metadata: { ...options.result.metadata, nodeId },
58
+ };
59
+ await this.store.writeCached(key, cached);
60
+ }
61
+ }
62
+ /**
63
+ * Unpins a single node (does not unpin dependents in v1).
64
+ */
65
+ async unpinNode(options) {
66
+ const key = {
67
+ workflowId: options.workflow.name,
68
+ nodeId: options.nodeId,
69
+ fingerprint: options.fingerprint,
70
+ namespace: options.namespace,
71
+ };
72
+ await this.store.deleteCached(key);
73
+ }
74
+ /**
75
+ * Reads a pinned value for a node, returning `undefined` when no valid
76
+ * pinned value exists.
77
+ */
78
+ async readPinnedValue(workflow, node, inputs, dependencyFingerprints, namespace) {
79
+ const key = this.createValueKey(workflow, node, inputs, dependencyFingerprints, namespace);
80
+ const cached = await this.store.readCached(key);
81
+ if (cached && cached.pinned) {
82
+ if (cached.expiresAt && new Date(cached.expiresAt) < new Date()) {
83
+ return undefined;
84
+ }
85
+ return cached;
86
+ }
87
+ return undefined;
88
+ }
89
+ /**
90
+ * Creates a stable value key for a node.
91
+ */
92
+ createValueKey(workflow, node, inputs, dependencyFingerprints, namespace) {
93
+ return {
94
+ workflowId: workflow.name,
95
+ nodeId: node.id,
96
+ fingerprint: this.computeFingerprint(workflow, node, inputs, dependencyFingerprints),
97
+ namespace,
98
+ };
99
+ }
100
+ /**
101
+ * Computes a stable fingerprint for a node's inputs and dependencies.
102
+ */
103
+ computeFingerprint(workflow, node, inputs, dependencyFingerprints) {
104
+ const data = {
105
+ workflowId: workflow.name,
106
+ nodeId: node.id,
107
+ nodeKind: node.kind,
108
+ nodeDefinitionVersion: node.definition?.graph?.metadata?.version,
109
+ inputs: this.stableSerialize(inputs),
110
+ dependencyFingerprints: this.stableSerialize(dependencyFingerprints),
111
+ };
112
+ const json = this.stableSerialize(data);
113
+ // Use a deterministic non-cryptographic hash that works in both browser
114
+ // and Node environments without requiring `node:crypto`.
115
+ return this.simpleHash(json);
116
+ }
117
+ /**
118
+ * Returns a topological ordering of the given node set.
119
+ */
120
+ topologicalOrder(plan, nodeSet) {
121
+ const result = [];
122
+ const visited = new Set();
123
+ const visit = (nodeId) => {
124
+ if (visited.has(nodeId))
125
+ return;
126
+ visited.add(nodeId);
127
+ const deps = GraphTopology.upstreamNodes(nodeId, plan.incomingByNode, false);
128
+ for (const dep of deps) {
129
+ if (nodeSet.has(dep))
130
+ visit(dep);
131
+ }
132
+ result.push(nodeId);
133
+ };
134
+ for (const nodeId of nodeSet)
135
+ visit(nodeId);
136
+ return result;
137
+ }
138
+ /**
139
+ * Computes fingerprints for all upstream dependencies of a node.
140
+ */
141
+ dependencyFingerprints(plan, nodeId, result) {
142
+ const deps = this.dependencyResolver.getDependencies(plan, nodeId);
143
+ const fingerprints = {};
144
+ for (const dep of deps) {
145
+ const node = plan.nodes.find((n) => n.id === dep);
146
+ if (node) {
147
+ const depResult = result.nodeResults[dep];
148
+ const inputs = depResult?.inputs ?? {};
149
+ const nestedDeps = this.dependencyFingerprints(plan, dep, result);
150
+ fingerprints[dep] = this.computeFingerprint(plan.workflow, node, inputs, nestedDeps);
151
+ }
152
+ }
153
+ return fingerprints;
154
+ }
155
+ /**
156
+ * Serializes a value with recursively sorted keys for stable hashing.
157
+ */
158
+ stableSerialize(value) {
159
+ if (value === null || typeof value !== "object") {
160
+ return JSON.stringify(value);
161
+ }
162
+ if (Array.isArray(value)) {
163
+ return `[${value.map((v) => this.stableSerialize(v)).join(",")}]`;
164
+ }
165
+ const keys = Object.keys(value).sort();
166
+ const pairs = keys.map((k) => `${JSON.stringify(k)}:${this.stableSerialize(value[k])}`);
167
+ return `{${pairs.join(",")}}`;
168
+ }
169
+ /**
170
+ * Simple non-cryptographic hash for browser environments where
171
+ * `node:crypto` is unavailable. Produces a deterministic hex-like string
172
+ * from the input. This is NOT cryptographically secure but is sufficient
173
+ * for fingerprint-based cache keys.
174
+ */
175
+ simpleHash(str) {
176
+ let hash = 0;
177
+ for (let i = 0; i < str.length; i++) {
178
+ const char = str.charCodeAt(i);
179
+ hash = (hash << 5) - hash + char;
180
+ hash |= 0;
181
+ }
182
+ return `fp_${Math.abs(hash).toString(16).padStart(8, "0")}_${str.length}`;
183
+ }
184
+ }
185
+ void GRAPH_PINNING_METADATA_KEY;
186
+ //# sourceMappingURL=GraphPinningService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GraphPinningService.js","sourceRoot":"","sources":["../../../../src/graph/pinning/GraphPinningService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * @module integrations/graph/pinning
3
+ * @summary Graph pinning subsystem.
4
+ * @description Re-exports the pinning metadata, policy, dependency resolver, and service.
5
+ */
6
+ export * from "./GraphPinningMetadata.js";
7
+ export * from "./GraphPinningPolicy.js";
8
+ export * from "./GraphPinningDependencyResolver.js";
9
+ export * from "./GraphPinningService.js";
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/graph/pinning/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,0CAAuC;AACvC,wCAAqC;AACrC,oDAAiD;AACjD,yCAAsC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=GraphExecutionPlan.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GraphExecutionPlan.js","sourceRoot":"","sources":["../../../../src/graph/planning/GraphExecutionPlan.ts"],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @module integrations/graph/planning/GraphExecutionPlanEdge
3
+ * @summary Plan edge type for the execution plan.
4
+ * @description Represents a directed value route between two endpoints (node-to-node or node-to-workflow-boundary).
5
+ */
6
+ export {};
7
+ //# sourceMappingURL=GraphExecutionPlanEdge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GraphExecutionPlanEdge.js","sourceRoot":"","sources":["../../../../src/graph/planning/GraphExecutionPlanEdge.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=GraphExecutionPlanLayer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GraphExecutionPlanLayer.js","sourceRoot":"","sources":["../../../../src/graph/planning/GraphExecutionPlanLayer.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=GraphExecutionPlanNode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GraphExecutionPlanNode.js","sourceRoot":"","sources":["../../../../src/graph/planning/GraphExecutionPlanNode.ts"],"names":[],"mappings":""}