@decaf-ts/integrations 0.3.1 → 0.3.3

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 (418) 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/cjs/keycloak/services/KeycloakAuthService.cjs +2 -2
  120. package/lib/cjs/keycloak/services/KeycloakAuthService.cjs.map +1 -1
  121. package/lib/cjs/keycloak/services/KeycloakClientService.cjs +2 -2
  122. package/lib/cjs/keycloak/services/KeycloakClientService.cjs.map +1 -1
  123. package/lib/cjs/keycloak/services/KeycloakIdentityProviderService.cjs +2 -2
  124. package/lib/cjs/keycloak/services/KeycloakIdentityProviderService.cjs.map +1 -1
  125. package/lib/cjs/keycloak/services/KeycloakRealmService.cjs +2 -2
  126. package/lib/cjs/keycloak/services/KeycloakRealmService.cjs.map +1 -1
  127. package/lib/cjs/keycloak/services/KeycloakRoleService.cjs +2 -2
  128. package/lib/cjs/keycloak/services/KeycloakRoleService.cjs.map +1 -1
  129. package/lib/cjs/keycloak/services/KeycloakService.cjs +16 -9
  130. package/lib/cjs/keycloak/services/KeycloakService.cjs.map +1 -1
  131. package/lib/cjs/keycloak/services/KeycloakUserService.cjs +2 -2
  132. package/lib/cjs/keycloak/services/KeycloakUserService.cjs.map +1 -1
  133. package/lib/cjs/kibana/services/KibanaAuthService.cjs +3 -3
  134. package/lib/cjs/kibana/services/KibanaAuthService.cjs.map +1 -1
  135. package/lib/cjs/kibana/services/KibanaDashboardService.cjs +3 -3
  136. package/lib/cjs/kibana/services/KibanaDashboardService.cjs.map +1 -1
  137. package/lib/cjs/kibana/services/KibanaDataViewService.cjs +2 -2
  138. package/lib/cjs/kibana/services/KibanaDataViewService.cjs.map +1 -1
  139. package/lib/cjs/kibana/services/KibanaRoleService.cjs +2 -2
  140. package/lib/cjs/kibana/services/KibanaRoleService.cjs.map +1 -1
  141. package/lib/cjs/kibana/services/KibanaService.cjs +16 -9
  142. package/lib/cjs/kibana/services/KibanaService.cjs.map +1 -1
  143. package/lib/cjs/kibana/services/KibanaSpaceService.cjs +2 -2
  144. package/lib/cjs/kibana/services/KibanaSpaceService.cjs.map +1 -1
  145. package/lib/cjs/kibana/services/KibanaUserService.cjs +2 -2
  146. package/lib/cjs/kibana/services/KibanaUserService.cjs.map +1 -1
  147. package/lib/esm/graph/constants.js +106 -0
  148. package/lib/esm/graph/constants.js.map +1 -0
  149. package/lib/esm/graph/decorators.js +2 -0
  150. package/lib/esm/graph/decorators.js.map +1 -0
  151. package/lib/esm/graph/errors/GraphCycleError.js +15 -0
  152. package/lib/esm/graph/errors/GraphCycleError.js.map +1 -0
  153. package/lib/esm/graph/errors/GraphExecutionError.js +22 -0
  154. package/lib/esm/graph/errors/GraphExecutionError.js.map +1 -0
  155. package/lib/esm/graph/errors/GraphInputError.js +15 -0
  156. package/lib/esm/graph/errors/GraphInputError.js.map +1 -0
  157. package/lib/esm/graph/errors/GraphLoopLimitError.js +15 -0
  158. package/lib/esm/graph/errors/GraphLoopLimitError.js.map +1 -0
  159. package/lib/esm/graph/errors/GraphPinningError.js +15 -0
  160. package/lib/esm/graph/errors/GraphPinningError.js.map +1 -0
  161. package/lib/esm/graph/errors/GraphPortError.js +15 -0
  162. package/lib/esm/graph/errors/GraphPortError.js.map +1 -0
  163. package/lib/esm/graph/errors/GraphStoreError.js +15 -0
  164. package/lib/esm/graph/errors/GraphStoreError.js.map +1 -0
  165. package/lib/esm/graph/errors/GraphTopologyError.js +15 -0
  166. package/lib/esm/graph/errors/GraphTopologyError.js.map +1 -0
  167. package/lib/esm/graph/errors/index.js +14 -0
  168. package/lib/esm/graph/errors/index.js.map +1 -0
  169. package/lib/esm/graph/events/GraphExecutionEvent.js +2 -0
  170. package/lib/esm/graph/events/GraphExecutionEvent.js.map +1 -0
  171. package/lib/esm/graph/events/GraphExecutionEventEmitter.js +35 -0
  172. package/lib/esm/graph/events/GraphExecutionEventEmitter.js.map +1 -0
  173. package/lib/esm/graph/events/GraphExecutionEventFactory.js +32 -0
  174. package/lib/esm/graph/events/GraphExecutionEventFactory.js.map +1 -0
  175. package/lib/esm/graph/events/GraphExecutionObserver.js +2 -0
  176. package/lib/esm/graph/events/GraphExecutionObserver.js.map +1 -0
  177. package/lib/esm/graph/events/index.js +10 -0
  178. package/lib/esm/graph/events/index.js.map +1 -0
  179. package/lib/esm/graph/execution/GraphExecutionContext.js +74 -0
  180. package/lib/esm/graph/execution/GraphExecutionContext.js.map +1 -0
  181. package/lib/esm/graph/execution/GraphExecutionEngine.js +400 -0
  182. package/lib/esm/graph/execution/GraphExecutionEngine.js.map +1 -0
  183. package/lib/esm/graph/execution/GraphExecutionFrame.js +27 -0
  184. package/lib/esm/graph/execution/GraphExecutionFrame.js.map +1 -0
  185. package/lib/esm/graph/execution/GraphExecutionResult.js +26 -0
  186. package/lib/esm/graph/execution/GraphExecutionResult.js.map +1 -0
  187. package/lib/esm/graph/execution/GraphNodeExecutor.js +2 -0
  188. package/lib/esm/graph/execution/GraphNodeExecutor.js.map +1 -0
  189. package/lib/esm/graph/execution/index.js +11 -0
  190. package/lib/esm/graph/execution/index.js.map +1 -0
  191. package/lib/esm/graph/index.js +57 -0
  192. package/lib/esm/graph/index.js.map +1 -0
  193. package/lib/esm/graph/loops/ForeachGraphNodeExecutor.js +79 -0
  194. package/lib/esm/graph/loops/ForeachGraphNodeExecutor.js.map +1 -0
  195. package/lib/esm/graph/loops/GraphConditionEvaluator.js +58 -0
  196. package/lib/esm/graph/loops/GraphConditionEvaluator.js.map +1 -0
  197. package/lib/esm/graph/loops/GraphLoopExecutionContext.js +11 -0
  198. package/lib/esm/graph/loops/GraphLoopExecutionContext.js.map +1 -0
  199. package/lib/esm/graph/loops/UntilGraphNodeExecutor.js +71 -0
  200. package/lib/esm/graph/loops/UntilGraphNodeExecutor.js.map +1 -0
  201. package/lib/esm/graph/loops/WhileGraphNodeExecutor.js +72 -0
  202. package/lib/esm/graph/loops/WhileGraphNodeExecutor.js.map +1 -0
  203. package/lib/esm/graph/loops/index.js +11 -0
  204. package/lib/esm/graph/loops/index.js.map +1 -0
  205. package/lib/esm/graph/pinning/GraphPinningDependencyResolver.js +23 -0
  206. package/lib/esm/graph/pinning/GraphPinningDependencyResolver.js.map +1 -0
  207. package/lib/esm/graph/pinning/GraphPinningMetadata.js +15 -0
  208. package/lib/esm/graph/pinning/GraphPinningMetadata.js.map +1 -0
  209. package/lib/esm/graph/pinning/GraphPinningPolicy.js +29 -0
  210. package/lib/esm/graph/pinning/GraphPinningPolicy.js.map +1 -0
  211. package/lib/esm/graph/pinning/GraphPinningService.js +186 -0
  212. package/lib/esm/graph/pinning/GraphPinningService.js.map +1 -0
  213. package/lib/esm/graph/pinning/index.js +10 -0
  214. package/lib/esm/graph/pinning/index.js.map +1 -0
  215. package/lib/esm/graph/planning/GraphExecutionPlan.js +2 -0
  216. package/lib/esm/graph/planning/GraphExecutionPlan.js.map +1 -0
  217. package/lib/esm/graph/planning/GraphExecutionPlanEdge.js +7 -0
  218. package/lib/esm/graph/planning/GraphExecutionPlanEdge.js.map +1 -0
  219. package/lib/esm/graph/planning/GraphExecutionPlanLayer.js +2 -0
  220. package/lib/esm/graph/planning/GraphExecutionPlanLayer.js.map +1 -0
  221. package/lib/esm/graph/planning/GraphExecutionPlanNode.js +2 -0
  222. package/lib/esm/graph/planning/GraphExecutionPlanNode.js.map +1 -0
  223. package/lib/esm/graph/planning/GraphExecutionPlanner.js +192 -0
  224. package/lib/esm/graph/planning/GraphExecutionPlanner.js.map +1 -0
  225. package/lib/esm/graph/planning/GraphRelationResolver.js +167 -0
  226. package/lib/esm/graph/planning/GraphRelationResolver.js.map +1 -0
  227. package/lib/esm/graph/planning/GraphTopology.js +52 -0
  228. package/lib/esm/graph/planning/GraphTopology.js.map +1 -0
  229. package/lib/esm/graph/planning/index.js +13 -0
  230. package/lib/esm/graph/planning/index.js.map +1 -0
  231. package/lib/esm/graph/registry/GraphNodeExecutorRegistry.js +39 -0
  232. package/lib/esm/graph/registry/GraphNodeExecutorRegistry.js.map +1 -0
  233. package/lib/esm/graph/registry/GraphNodeExecutorResolver.js +22 -0
  234. package/lib/esm/graph/registry/GraphNodeExecutorResolver.js.map +1 -0
  235. package/lib/esm/graph/registry/index.js +8 -0
  236. package/lib/esm/graph/registry/index.js.map +1 -0
  237. package/lib/esm/graph/snapshots/GraphExecutionSnapshotMapper.js +48 -0
  238. package/lib/esm/graph/snapshots/GraphExecutionSnapshotMapper.js.map +1 -0
  239. package/lib/esm/graph/snapshots/index.js +7 -0
  240. package/lib/esm/graph/snapshots/index.js.map +1 -0
  241. package/lib/esm/graph/store/GraphCachedValue.js +2 -0
  242. package/lib/esm/graph/store/GraphCachedValue.js.map +1 -0
  243. package/lib/esm/graph/store/GraphValueKey.js +7 -0
  244. package/lib/esm/graph/store/GraphValueKey.js.map +1 -0
  245. package/lib/esm/graph/store/GraphValueStore.js +71 -0
  246. package/lib/esm/graph/store/GraphValueStore.js.map +1 -0
  247. package/lib/esm/graph/store/GraphValueStoreAdapter.js +2 -0
  248. package/lib/esm/graph/store/GraphValueStoreAdapter.js.map +1 -0
  249. package/lib/esm/graph/store/InMemoryGraphValueStoreAdapter.js +64 -0
  250. package/lib/esm/graph/store/InMemoryGraphValueStoreAdapter.js.map +1 -0
  251. package/lib/esm/graph/store/index.js +11 -0
  252. package/lib/esm/graph/store/index.js.map +1 -0
  253. package/lib/esm/graph/types.js +2 -0
  254. package/lib/esm/graph/types.js.map +1 -0
  255. package/lib/esm/graph/validation/GraphDefinitionValidator.js +28 -0
  256. package/lib/esm/graph/validation/GraphDefinitionValidator.js.map +1 -0
  257. package/lib/esm/graph/validation/GraphPortSchemaResolver.js +53 -0
  258. package/lib/esm/graph/validation/GraphPortSchemaResolver.js.map +1 -0
  259. package/lib/esm/graph/validation/GraphValueValidator.js +47 -0
  260. package/lib/esm/graph/validation/GraphValueValidator.js.map +1 -0
  261. package/lib/esm/graph/validation/index.js +9 -0
  262. package/lib/esm/graph/validation/index.js.map +1 -0
  263. package/lib/esm/index.js +3 -3
  264. package/lib/esm/keycloak/services/KeycloakAuthService.js +2 -2
  265. package/lib/esm/keycloak/services/KeycloakAuthService.js.map +1 -1
  266. package/lib/esm/keycloak/services/KeycloakClientService.js +2 -2
  267. package/lib/esm/keycloak/services/KeycloakClientService.js.map +1 -1
  268. package/lib/esm/keycloak/services/KeycloakIdentityProviderService.js +2 -2
  269. package/lib/esm/keycloak/services/KeycloakIdentityProviderService.js.map +1 -1
  270. package/lib/esm/keycloak/services/KeycloakRealmService.js +2 -2
  271. package/lib/esm/keycloak/services/KeycloakRealmService.js.map +1 -1
  272. package/lib/esm/keycloak/services/KeycloakRoleService.js +2 -2
  273. package/lib/esm/keycloak/services/KeycloakRoleService.js.map +1 -1
  274. package/lib/esm/keycloak/services/KeycloakService.js +16 -9
  275. package/lib/esm/keycloak/services/KeycloakService.js.map +1 -1
  276. package/lib/esm/keycloak/services/KeycloakUserService.js +2 -2
  277. package/lib/esm/keycloak/services/KeycloakUserService.js.map +1 -1
  278. package/lib/esm/kibana/services/KibanaAuthService.js +3 -3
  279. package/lib/esm/kibana/services/KibanaAuthService.js.map +1 -1
  280. package/lib/esm/kibana/services/KibanaDashboardService.js +3 -3
  281. package/lib/esm/kibana/services/KibanaDashboardService.js.map +1 -1
  282. package/lib/esm/kibana/services/KibanaDataViewService.js +2 -2
  283. package/lib/esm/kibana/services/KibanaDataViewService.js.map +1 -1
  284. package/lib/esm/kibana/services/KibanaRoleService.js +2 -2
  285. package/lib/esm/kibana/services/KibanaRoleService.js.map +1 -1
  286. package/lib/esm/kibana/services/KibanaService.js +16 -9
  287. package/lib/esm/kibana/services/KibanaService.js.map +1 -1
  288. package/lib/esm/kibana/services/KibanaSpaceService.js +2 -2
  289. package/lib/esm/kibana/services/KibanaSpaceService.js.map +1 -1
  290. package/lib/esm/kibana/services/KibanaUserService.js +2 -2
  291. package/lib/esm/kibana/services/KibanaUserService.js.map +1 -1
  292. package/lib/types/graph/constants.d.cts +101 -0
  293. package/lib/types/graph/constants.d.mts +101 -0
  294. package/lib/types/graph/decorators.d.cts +6 -0
  295. package/lib/types/graph/decorators.d.mts +6 -0
  296. package/lib/types/graph/errors/GraphCycleError.d.cts +12 -0
  297. package/lib/types/graph/errors/GraphCycleError.d.mts +12 -0
  298. package/lib/types/graph/errors/GraphExecutionError.d.cts +19 -0
  299. package/lib/types/graph/errors/GraphExecutionError.d.mts +19 -0
  300. package/lib/types/graph/errors/GraphInputError.d.cts +12 -0
  301. package/lib/types/graph/errors/GraphInputError.d.mts +12 -0
  302. package/lib/types/graph/errors/GraphLoopLimitError.d.cts +12 -0
  303. package/lib/types/graph/errors/GraphLoopLimitError.d.mts +12 -0
  304. package/lib/types/graph/errors/GraphPinningError.d.cts +12 -0
  305. package/lib/types/graph/errors/GraphPinningError.d.mts +12 -0
  306. package/lib/types/graph/errors/GraphPortError.d.cts +12 -0
  307. package/lib/types/graph/errors/GraphPortError.d.mts +12 -0
  308. package/lib/types/graph/errors/GraphStoreError.d.cts +12 -0
  309. package/lib/types/graph/errors/GraphStoreError.d.mts +12 -0
  310. package/lib/types/graph/errors/GraphTopologyError.d.cts +12 -0
  311. package/lib/types/graph/errors/GraphTopologyError.d.mts +12 -0
  312. package/lib/types/graph/errors/index.d.cts +13 -0
  313. package/lib/types/graph/errors/index.d.mts +13 -0
  314. package/lib/types/graph/events/GraphExecutionEvent.d.cts +6 -0
  315. package/lib/types/graph/events/GraphExecutionEvent.d.mts +6 -0
  316. package/lib/types/graph/events/GraphExecutionEventEmitter.d.cts +26 -0
  317. package/lib/types/graph/events/GraphExecutionEventEmitter.d.mts +26 -0
  318. package/lib/types/graph/events/GraphExecutionEventFactory.d.cts +25 -0
  319. package/lib/types/graph/events/GraphExecutionEventFactory.d.mts +25 -0
  320. package/lib/types/graph/events/GraphExecutionObserver.d.cts +17 -0
  321. package/lib/types/graph/events/GraphExecutionObserver.d.mts +17 -0
  322. package/lib/types/graph/events/index.d.cts +9 -0
  323. package/lib/types/graph/events/index.d.mts +9 -0
  324. package/lib/types/graph/execution/GraphExecutionContext.d.cts +50 -0
  325. package/lib/types/graph/execution/GraphExecutionContext.d.mts +50 -0
  326. package/lib/types/graph/execution/GraphExecutionEngine.d.cts +112 -0
  327. package/lib/types/graph/execution/GraphExecutionEngine.d.mts +112 -0
  328. package/lib/types/graph/execution/GraphExecutionFrame.d.cts +29 -0
  329. package/lib/types/graph/execution/GraphExecutionFrame.d.mts +29 -0
  330. package/lib/types/graph/execution/GraphExecutionResult.d.cts +13 -0
  331. package/lib/types/graph/execution/GraphExecutionResult.d.mts +13 -0
  332. package/lib/types/graph/execution/GraphNodeExecutor.d.cts +23 -0
  333. package/lib/types/graph/execution/GraphNodeExecutor.d.mts +23 -0
  334. package/lib/types/graph/execution/index.d.cts +10 -0
  335. package/lib/types/graph/execution/index.d.mts +10 -0
  336. package/lib/types/graph/index.d.cts +52 -0
  337. package/lib/types/graph/index.d.mts +52 -0
  338. package/lib/types/graph/loops/ForeachGraphNodeExecutor.d.cts +27 -0
  339. package/lib/types/graph/loops/ForeachGraphNodeExecutor.d.mts +27 -0
  340. package/lib/types/graph/loops/GraphConditionEvaluator.d.cts +23 -0
  341. package/lib/types/graph/loops/GraphConditionEvaluator.d.mts +23 -0
  342. package/lib/types/graph/loops/GraphLoopExecutionContext.d.cts +15 -0
  343. package/lib/types/graph/loops/GraphLoopExecutionContext.d.mts +15 -0
  344. package/lib/types/graph/loops/UntilGraphNodeExecutor.d.cts +22 -0
  345. package/lib/types/graph/loops/UntilGraphNodeExecutor.d.mts +22 -0
  346. package/lib/types/graph/loops/WhileGraphNodeExecutor.d.cts +26 -0
  347. package/lib/types/graph/loops/WhileGraphNodeExecutor.d.mts +26 -0
  348. package/lib/types/graph/loops/index.d.cts +10 -0
  349. package/lib/types/graph/loops/index.d.mts +10 -0
  350. package/lib/types/graph/pinning/GraphPinningDependencyResolver.d.cts +21 -0
  351. package/lib/types/graph/pinning/GraphPinningDependencyResolver.d.mts +21 -0
  352. package/lib/types/graph/pinning/GraphPinningMetadata.d.cts +14 -0
  353. package/lib/types/graph/pinning/GraphPinningMetadata.d.mts +14 -0
  354. package/lib/types/graph/pinning/GraphPinningPolicy.d.cts +20 -0
  355. package/lib/types/graph/pinning/GraphPinningPolicy.d.mts +20 -0
  356. package/lib/types/graph/pinning/GraphPinningService.d.cts +59 -0
  357. package/lib/types/graph/pinning/GraphPinningService.d.mts +59 -0
  358. package/lib/types/graph/pinning/index.d.cts +9 -0
  359. package/lib/types/graph/pinning/index.d.mts +9 -0
  360. package/lib/types/graph/planning/GraphExecutionPlan.d.cts +21 -0
  361. package/lib/types/graph/planning/GraphExecutionPlan.d.mts +21 -0
  362. package/lib/types/graph/planning/GraphExecutionPlanEdge.d.cts +21 -0
  363. package/lib/types/graph/planning/GraphExecutionPlanEdge.d.mts +21 -0
  364. package/lib/types/graph/planning/GraphExecutionPlanLayer.d.cts +13 -0
  365. package/lib/types/graph/planning/GraphExecutionPlanLayer.d.mts +13 -0
  366. package/lib/types/graph/planning/GraphExecutionPlanNode.d.cts +20 -0
  367. package/lib/types/graph/planning/GraphExecutionPlanNode.d.mts +20 -0
  368. package/lib/types/graph/planning/GraphExecutionPlanner.d.cts +60 -0
  369. package/lib/types/graph/planning/GraphExecutionPlanner.d.mts +60 -0
  370. package/lib/types/graph/planning/GraphRelationResolver.d.cts +62 -0
  371. package/lib/types/graph/planning/GraphRelationResolver.d.mts +62 -0
  372. package/lib/types/graph/planning/GraphTopology.d.cts +23 -0
  373. package/lib/types/graph/planning/GraphTopology.d.mts +23 -0
  374. package/lib/types/graph/planning/index.d.cts +12 -0
  375. package/lib/types/graph/planning/index.d.mts +12 -0
  376. package/lib/types/graph/registry/GraphNodeExecutorRegistry.d.cts +25 -0
  377. package/lib/types/graph/registry/GraphNodeExecutorRegistry.d.mts +25 -0
  378. package/lib/types/graph/registry/GraphNodeExecutorResolver.d.cts +21 -0
  379. package/lib/types/graph/registry/GraphNodeExecutorResolver.d.mts +21 -0
  380. package/lib/types/graph/registry/index.d.cts +7 -0
  381. package/lib/types/graph/registry/index.d.mts +7 -0
  382. package/lib/types/graph/snapshots/GraphExecutionSnapshotMapper.d.cts +10 -0
  383. package/lib/types/graph/snapshots/GraphExecutionSnapshotMapper.d.mts +10 -0
  384. package/lib/types/graph/snapshots/index.d.cts +6 -0
  385. package/lib/types/graph/snapshots/index.d.mts +6 -0
  386. package/lib/types/graph/store/GraphCachedValue.d.cts +20 -0
  387. package/lib/types/graph/store/GraphCachedValue.d.mts +20 -0
  388. package/lib/types/graph/store/GraphValueKey.d.cts +18 -0
  389. package/lib/types/graph/store/GraphValueKey.d.mts +18 -0
  390. package/lib/types/graph/store/GraphValueStore.d.cts +41 -0
  391. package/lib/types/graph/store/GraphValueStore.d.mts +41 -0
  392. package/lib/types/graph/store/GraphValueStoreAdapter.d.cts +32 -0
  393. package/lib/types/graph/store/GraphValueStoreAdapter.d.mts +32 -0
  394. package/lib/types/graph/store/InMemoryGraphValueStoreAdapter.d.cts +33 -0
  395. package/lib/types/graph/store/InMemoryGraphValueStoreAdapter.d.mts +33 -0
  396. package/lib/types/graph/store/index.d.cts +10 -0
  397. package/lib/types/graph/store/index.d.mts +10 -0
  398. package/lib/types/graph/types.d.cts +197 -0
  399. package/lib/types/graph/types.d.mts +197 -0
  400. package/lib/types/graph/validation/GraphDefinitionValidator.d.cts +21 -0
  401. package/lib/types/graph/validation/GraphDefinitionValidator.d.mts +21 -0
  402. package/lib/types/graph/validation/GraphPortSchemaResolver.d.cts +39 -0
  403. package/lib/types/graph/validation/GraphPortSchemaResolver.d.mts +39 -0
  404. package/lib/types/graph/validation/GraphValueValidator.d.cts +27 -0
  405. package/lib/types/graph/validation/GraphValueValidator.d.mts +27 -0
  406. package/lib/types/graph/validation/index.d.cts +8 -0
  407. package/lib/types/graph/validation/index.d.mts +8 -0
  408. package/lib/types/index.d.cts +2 -2
  409. package/lib/types/index.d.mts +2 -2
  410. package/lib/types/keycloak/services/KeycloakService.d.cts +1 -0
  411. package/lib/types/keycloak/services/KeycloakService.d.mts +1 -0
  412. package/lib/types/keycloak/types.d.cts +1 -4
  413. package/lib/types/keycloak/types.d.mts +1 -4
  414. package/lib/types/kibana/services/KibanaService.d.cts +1 -0
  415. package/lib/types/kibana/services/KibanaService.d.mts +1 -0
  416. package/lib/types/kibana/types.d.cts +1 -4
  417. package/lib/types/kibana/types.d.mts +1 -4
  418. package/package.json +17 -3
@@ -0,0 +1,25 @@
1
+ /**
2
+ * @module integrations/graph/events/GraphExecutionEventFactory
3
+ * @summary Factory for creating graph execution events with unique ids, sequence numbers, and timestamps.
4
+ * @description Provides a stateful factory that produces monotonically-sequenced events for a single execution run.
5
+ */
6
+ import type { GraphExecutionEvent } from "../types.d.mts";
7
+ /**
8
+ * Factory that enriches partial events with a unique id, an incrementing
9
+ * sequence number, and a timestamp.
10
+ */
11
+ export declare class GraphExecutionEventFactory {
12
+ private sequence;
13
+ /**
14
+ * Creates a fully-populated event from the given base fields.
15
+ *
16
+ * @param base - All event fields except `id`, `sequence`, and `timestamp`.
17
+ * @returns A complete {@link GraphExecutionEvent}.
18
+ */
19
+ create(base: Omit<GraphExecutionEvent, "id" | "sequence" | "timestamp">): GraphExecutionEvent;
20
+ /**
21
+ * Generates a unique event id using `crypto.randomUUID` when available,
22
+ * falling back to a timestamp + random string.
23
+ */
24
+ private createEventId;
25
+ }
@@ -0,0 +1,17 @@
1
+ /**
2
+ * @module integrations/graph/events/GraphExecutionObserver
3
+ * @summary Observer interface for graph execution events.
4
+ * @description Extends Decaf's {@link Observer} so graph events flow through the standard Observable/Observer pipeline.
5
+ */
6
+ import type { Observer } from "@decaf-ts/core";
7
+ import type { GraphExecutionEvent } from "../types.d.cts";
8
+ /**
9
+ * Observer that receives {@link GraphExecutionEvent} instances from the
10
+ * graph execution engine.
11
+ */
12
+ export interface GraphExecutionObserver extends Observer<[GraphExecutionEvent]> {
13
+ /**
14
+ * Called by the engine when a new graph execution event is emitted.
15
+ */
16
+ refresh(event: GraphExecutionEvent): Promise<void>;
17
+ }
@@ -0,0 +1,17 @@
1
+ /**
2
+ * @module integrations/graph/events/GraphExecutionObserver
3
+ * @summary Observer interface for graph execution events.
4
+ * @description Extends Decaf's {@link Observer} so graph events flow through the standard Observable/Observer pipeline.
5
+ */
6
+ import type { Observer } from "@decaf-ts/core";
7
+ import type { GraphExecutionEvent } from "../types.d.mts";
8
+ /**
9
+ * Observer that receives {@link GraphExecutionEvent} instances from the
10
+ * graph execution engine.
11
+ */
12
+ export interface GraphExecutionObserver extends Observer<[GraphExecutionEvent]> {
13
+ /**
14
+ * Called by the engine when a new graph execution event is emitted.
15
+ */
16
+ refresh(event: GraphExecutionEvent): Promise<void>;
17
+ }
@@ -0,0 +1,9 @@
1
+ /**
2
+ * @module integrations/graph/events
3
+ * @summary Graph execution event pipeline.
4
+ * @description Re-exports the observer interface, event emitter, and event factory.
5
+ */
6
+ export * from "./GraphExecutionEvent.d.cts";
7
+ export * from "./GraphExecutionObserver.d.cts";
8
+ export * from "./GraphExecutionEventEmitter.d.cts";
9
+ export * from "./GraphExecutionEventFactory.d.cts";
@@ -0,0 +1,9 @@
1
+ /**
2
+ * @module integrations/graph/events
3
+ * @summary Graph execution event pipeline.
4
+ * @description Re-exports the observer interface, event emitter, and event factory.
5
+ */
6
+ export * from "./GraphExecutionEvent.d.mts";
7
+ export * from "./GraphExecutionObserver.d.mts";
8
+ export * from "./GraphExecutionEventEmitter.d.mts";
9
+ export * from "./GraphExecutionEventFactory.d.mts";
@@ -0,0 +1,50 @@
1
+ /**
2
+ * @module integrations/graph/execution/GraphExecutionContext
3
+ * @summary Decaf Context for graph node execution.
4
+ * @description Extends Decaf's {@link Context} so node executors receive the same contextual plumbing as task handlers. Executors use the context to emit progress, log messages, and report state through the engine's observer pipeline.
5
+ */
6
+ import { Context } from "@decaf-ts/core";
7
+ import type { GraphNodeDefinition, GraphWorkflowDefinition } from "@decaf-ts/ui-decorators/graph";
8
+ import type { GraphExecutionEvent, GraphRunId } from "../types.d.cts";
9
+ /**
10
+ * Context passed to every graph node executor.
11
+ *
12
+ * Mirrors the `TaskEngine` / `TaskContext` pattern: the engine creates a
13
+ * `GraphExecutionContext` per node execution and passes it to
14
+ * `executor.execute(inputs, context)`. The executor uses `context.progress(...)`
15
+ * and `context.log(...)` to report intermediate state.
16
+ */
17
+ export declare class GraphExecutionContext extends Context {
18
+ readonly runId: GraphRunId;
19
+ readonly parentRunId: GraphRunId | undefined;
20
+ readonly workflow: GraphWorkflowDefinition;
21
+ readonly node: GraphNodeDefinition;
22
+ readonly path: string[];
23
+ private readonly emitFn;
24
+ readonly metadata: Record<string, unknown>;
25
+ /**
26
+ * @param runId - Unique identifier for the current execution run.
27
+ * @param parentRunId - Run id of the parent execution (for nested loop bodies).
28
+ * @param workflow - The workflow definition being executed.
29
+ * @param node - The node definition being executed.
30
+ * @param path - Dotted path from the workflow root to this node.
31
+ * @param emitFn - Callback invoked when an event is emitted from this context.
32
+ * @param metadata - Free-form metadata attached to this context.
33
+ */
34
+ constructor(runId: GraphRunId, parentRunId: GraphRunId | undefined, workflow: GraphWorkflowDefinition, node: GraphNodeDefinition, path: string[], emitFn: (event: Partial<GraphExecutionEvent>) => Promise<void>, metadata?: Record<string, unknown>);
35
+ /**
36
+ * Emits a partial graph execution event. The engine fills in runId,
37
+ * parentRunId, workflowId, nodeId, and path automatically.
38
+ */
39
+ emit(event: Partial<GraphExecutionEvent>): Promise<void>;
40
+ /**
41
+ * Emits a `NODE_OUTPUT` event with the given payload, useful for reporting
42
+ * intermediate progress from within a node executor.
43
+ */
44
+ progress(payload: unknown): Promise<void>;
45
+ /**
46
+ * Emits a `NODE_OUTPUT` event with a structured `{ message, payload }` shape
47
+ * so executors can log human-readable messages.
48
+ */
49
+ log(message: string, payload?: unknown): Promise<void>;
50
+ }
@@ -0,0 +1,50 @@
1
+ /**
2
+ * @module integrations/graph/execution/GraphExecutionContext
3
+ * @summary Decaf Context for graph node execution.
4
+ * @description Extends Decaf's {@link Context} so node executors receive the same contextual plumbing as task handlers. Executors use the context to emit progress, log messages, and report state through the engine's observer pipeline.
5
+ */
6
+ import { Context } from "@decaf-ts/core";
7
+ import type { GraphNodeDefinition, GraphWorkflowDefinition } from "@decaf-ts/ui-decorators/graph";
8
+ import type { GraphExecutionEvent, GraphRunId } from "../types.d.mts";
9
+ /**
10
+ * Context passed to every graph node executor.
11
+ *
12
+ * Mirrors the `TaskEngine` / `TaskContext` pattern: the engine creates a
13
+ * `GraphExecutionContext` per node execution and passes it to
14
+ * `executor.execute(inputs, context)`. The executor uses `context.progress(...)`
15
+ * and `context.log(...)` to report intermediate state.
16
+ */
17
+ export declare class GraphExecutionContext extends Context {
18
+ readonly runId: GraphRunId;
19
+ readonly parentRunId: GraphRunId | undefined;
20
+ readonly workflow: GraphWorkflowDefinition;
21
+ readonly node: GraphNodeDefinition;
22
+ readonly path: string[];
23
+ private readonly emitFn;
24
+ readonly metadata: Record<string, unknown>;
25
+ /**
26
+ * @param runId - Unique identifier for the current execution run.
27
+ * @param parentRunId - Run id of the parent execution (for nested loop bodies).
28
+ * @param workflow - The workflow definition being executed.
29
+ * @param node - The node definition being executed.
30
+ * @param path - Dotted path from the workflow root to this node.
31
+ * @param emitFn - Callback invoked when an event is emitted from this context.
32
+ * @param metadata - Free-form metadata attached to this context.
33
+ */
34
+ constructor(runId: GraphRunId, parentRunId: GraphRunId | undefined, workflow: GraphWorkflowDefinition, node: GraphNodeDefinition, path: string[], emitFn: (event: Partial<GraphExecutionEvent>) => Promise<void>, metadata?: Record<string, unknown>);
35
+ /**
36
+ * Emits a partial graph execution event. The engine fills in runId,
37
+ * parentRunId, workflowId, nodeId, and path automatically.
38
+ */
39
+ emit(event: Partial<GraphExecutionEvent>): Promise<void>;
40
+ /**
41
+ * Emits a `NODE_OUTPUT` event with the given payload, useful for reporting
42
+ * intermediate progress from within a node executor.
43
+ */
44
+ progress(payload: unknown): Promise<void>;
45
+ /**
46
+ * Emits a `NODE_OUTPUT` event with a structured `{ message, payload }` shape
47
+ * so executors can log human-readable messages.
48
+ */
49
+ log(message: string, payload?: unknown): Promise<void>;
50
+ }
@@ -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.cts";
9
+ import type { GraphExecutionObserver } from "../events/GraphExecutionObserver.d.cts";
10
+ import { GraphExecutionEventEmitter } from "../events/GraphExecutionEventEmitter.d.cts";
11
+ import type { GraphNodeExecutorRegistry } from "../registry/GraphNodeExecutorRegistry.d.cts";
12
+ import { GraphExecutionPlanner } from "../planning/GraphExecutionPlanner.d.cts";
13
+ import type { GraphValueStoreAdapter } from "../store/GraphValueStoreAdapter.d.cts";
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,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";