@decaf-ts/integrations 0.3.4 → 0.3.6

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 (661) hide show
  1. package/dist/integrations.cjs +2 -48
  2. package/dist/integrations.cjs.map +1 -0
  3. package/dist/integrations.js +2 -49
  4. package/dist/integrations.js.map +1 -0
  5. package/lib/cjs/blob/azure/AzureBlobStoreService.cjs +2 -2
  6. package/lib/cjs/blob/azure/AzureBlobStoreService.cjs.map +1 -0
  7. package/lib/cjs/blob/azure/index.cjs +2 -2
  8. package/lib/cjs/blob/azure/index.cjs.map +1 -0
  9. package/lib/cjs/blob/core/BlobErrors.cjs +2 -2
  10. package/lib/cjs/blob/core/BlobErrors.cjs.map +1 -0
  11. package/lib/cjs/blob/core/BlobKey.cjs +2 -2
  12. package/lib/cjs/blob/core/BlobKey.cjs.map +1 -0
  13. package/lib/cjs/blob/core/BlobStoreFactory.cjs +2 -2
  14. package/lib/cjs/blob/core/BlobStoreFactory.cjs.map +1 -0
  15. package/lib/cjs/blob/core/BlobStoreService.cjs +2 -2
  16. package/lib/cjs/blob/core/BlobStoreService.cjs.map +1 -0
  17. package/lib/cjs/blob/core/BlobTypes.cjs +2 -2
  18. package/lib/cjs/blob/core/BlobTypes.cjs.map +1 -0
  19. package/lib/cjs/blob/core/BlobValue.cjs +2 -2
  20. package/lib/cjs/blob/core/BlobValue.cjs.map +1 -0
  21. package/lib/cjs/blob/core/index.cjs +2 -2
  22. package/lib/cjs/blob/core/index.cjs.map +1 -0
  23. package/lib/cjs/blob/gcp/GcsBlobStoreService.cjs +2 -2
  24. package/lib/cjs/blob/gcp/GcsBlobStoreService.cjs.map +1 -0
  25. package/lib/cjs/blob/gcp/index.cjs +2 -2
  26. package/lib/cjs/blob/gcp/index.cjs.map +1 -0
  27. package/lib/cjs/blob/index.cjs +2 -2
  28. package/lib/cjs/blob/index.cjs.map +1 -0
  29. package/lib/cjs/blob/ipfs/IpfsBlobStoreService.cjs +2 -2
  30. package/lib/cjs/blob/ipfs/IpfsBlobStoreService.cjs.map +1 -0
  31. package/lib/cjs/blob/ipfs/IpfsKeyIndex.cjs +2 -2
  32. package/lib/cjs/blob/ipfs/IpfsKeyIndex.cjs.map +1 -0
  33. package/lib/cjs/blob/ipfs/LocalJsonIpfsKeyIndex.cjs +2 -2
  34. package/lib/cjs/blob/ipfs/LocalJsonIpfsKeyIndex.cjs.map +1 -0
  35. package/lib/cjs/blob/ipfs/MemoryIpfsKeyIndex.cjs +2 -2
  36. package/lib/cjs/blob/ipfs/MemoryIpfsKeyIndex.cjs.map +1 -0
  37. package/lib/cjs/blob/ipfs/PostgresIpfsKeyIndex.cjs +2 -2
  38. package/lib/cjs/blob/ipfs/PostgresIpfsKeyIndex.cjs.map +1 -0
  39. package/lib/cjs/blob/ipfs/index.cjs +2 -2
  40. package/lib/cjs/blob/ipfs/index.cjs.map +1 -0
  41. package/lib/cjs/blob/local/LocalBlobStoreService.cjs +2 -2
  42. package/lib/cjs/blob/local/LocalBlobStoreService.cjs.map +1 -0
  43. package/lib/cjs/blob/local/index.cjs +2 -2
  44. package/lib/cjs/blob/local/index.cjs.map +1 -0
  45. package/lib/cjs/blob/memory/MemoryBlobStoreService.cjs +2 -2
  46. package/lib/cjs/blob/memory/MemoryBlobStoreService.cjs.map +1 -0
  47. package/lib/cjs/blob/memory/index.cjs +2 -2
  48. package/lib/cjs/blob/memory/index.cjs.map +1 -0
  49. package/lib/cjs/blob/s3/MinioBlobStoreService.cjs +2 -2
  50. package/lib/cjs/blob/s3/MinioBlobStoreService.cjs.map +1 -0
  51. package/lib/cjs/blob/s3/R2BlobStoreService.cjs +2 -2
  52. package/lib/cjs/blob/s3/R2BlobStoreService.cjs.map +1 -0
  53. package/lib/cjs/blob/s3/S3BlobStoreService.cjs +2 -2
  54. package/lib/cjs/blob/s3/S3BlobStoreService.cjs.map +1 -0
  55. package/lib/cjs/blob/s3/index.cjs +2 -2
  56. package/lib/cjs/blob/s3/index.cjs.map +1 -0
  57. package/lib/cjs/docker/DockerComposeService.cjs +2 -2
  58. package/lib/cjs/docker/DockerComposeService.cjs.map +1 -0
  59. package/lib/cjs/docker/index.cjs +2 -2
  60. package/lib/cjs/docker/index.cjs.map +1 -0
  61. package/lib/cjs/graph/constants.cjs +2 -2
  62. package/lib/cjs/graph/constants.cjs.map +1 -0
  63. package/lib/cjs/graph/decorators.cjs +2 -2
  64. package/lib/cjs/graph/decorators.cjs.map +1 -0
  65. package/lib/cjs/graph/errors/GraphCycleError.cjs +2 -2
  66. package/lib/cjs/graph/errors/GraphCycleError.cjs.map +1 -0
  67. package/lib/cjs/graph/errors/GraphExecutionError.cjs +2 -2
  68. package/lib/cjs/graph/errors/GraphExecutionError.cjs.map +1 -0
  69. package/lib/cjs/graph/errors/GraphInputError.cjs +2 -2
  70. package/lib/cjs/graph/errors/GraphInputError.cjs.map +1 -0
  71. package/lib/cjs/graph/errors/GraphLoopLimitError.cjs +2 -2
  72. package/lib/cjs/graph/errors/GraphLoopLimitError.cjs.map +1 -0
  73. package/lib/cjs/graph/errors/GraphPinningError.cjs +2 -2
  74. package/lib/cjs/graph/errors/GraphPinningError.cjs.map +1 -0
  75. package/lib/cjs/graph/errors/GraphPortError.cjs +2 -2
  76. package/lib/cjs/graph/errors/GraphPortError.cjs.map +1 -0
  77. package/lib/cjs/graph/errors/GraphStoreError.cjs +2 -2
  78. package/lib/cjs/graph/errors/GraphStoreError.cjs.map +1 -0
  79. package/lib/cjs/graph/errors/GraphTopologyError.cjs +2 -2
  80. package/lib/cjs/graph/errors/GraphTopologyError.cjs.map +1 -0
  81. package/lib/cjs/graph/errors/index.cjs +2 -2
  82. package/lib/cjs/graph/errors/index.cjs.map +1 -0
  83. package/lib/cjs/graph/events/GraphExecutionEvent.cjs +2 -2
  84. package/lib/cjs/graph/events/GraphExecutionEvent.cjs.map +1 -0
  85. package/lib/cjs/graph/events/GraphExecutionEventEmitter.cjs +2 -2
  86. package/lib/cjs/graph/events/GraphExecutionEventEmitter.cjs.map +1 -0
  87. package/lib/cjs/graph/events/GraphExecutionEventFactory.cjs +2 -2
  88. package/lib/cjs/graph/events/GraphExecutionEventFactory.cjs.map +1 -0
  89. package/lib/cjs/graph/events/GraphExecutionObserver.cjs +2 -2
  90. package/lib/cjs/graph/events/GraphExecutionObserver.cjs.map +1 -0
  91. package/lib/cjs/graph/events/index.cjs +2 -2
  92. package/lib/cjs/graph/events/index.cjs.map +1 -0
  93. package/lib/cjs/graph/execution/CodeSandboxEvaluator.cjs +4 -0
  94. package/lib/cjs/graph/execution/CodeSandboxEvaluator.cjs.map +1 -0
  95. package/lib/cjs/graph/execution/GraphExecutionContext.cjs +2 -2
  96. package/lib/cjs/graph/execution/GraphExecutionContext.cjs.map +1 -0
  97. package/lib/cjs/graph/execution/GraphExecutionEngine.cjs +3 -2
  98. package/lib/cjs/graph/execution/GraphExecutionEngine.cjs.map +1 -0
  99. package/lib/cjs/graph/execution/GraphExecutionFrame.cjs +2 -2
  100. package/lib/cjs/graph/execution/GraphExecutionFrame.cjs.map +1 -0
  101. package/lib/cjs/graph/execution/GraphExecutionResult.cjs +2 -2
  102. package/lib/cjs/graph/execution/GraphExecutionResult.cjs.map +1 -0
  103. package/lib/cjs/graph/execution/GraphNodeExecutor.cjs +2 -2
  104. package/lib/cjs/graph/execution/GraphNodeExecutor.cjs.map +1 -0
  105. package/lib/cjs/graph/execution/SwitchGraphNodeExecutor.cjs +103 -0
  106. package/lib/cjs/graph/execution/SwitchGraphNodeExecutor.cjs.map +1 -0
  107. package/lib/cjs/graph/execution/index.cjs +4 -2
  108. package/lib/cjs/graph/execution/index.cjs.map +1 -0
  109. package/lib/cjs/graph/index.cjs +7 -2
  110. package/lib/cjs/graph/index.cjs.map +1 -0
  111. package/lib/cjs/graph/loops/ConditionExpressionEvaluator.cjs +87 -0
  112. package/lib/cjs/graph/loops/ConditionExpressionEvaluator.cjs.map +1 -0
  113. package/lib/cjs/graph/loops/ForeachGraphNodeExecutor.cjs +2 -2
  114. package/lib/cjs/graph/loops/ForeachGraphNodeExecutor.cjs.map +1 -0
  115. package/lib/cjs/graph/loops/GraphConditionEvaluator.cjs +25 -3
  116. package/lib/cjs/graph/loops/GraphConditionEvaluator.cjs.map +1 -0
  117. package/lib/cjs/graph/loops/GraphLoopExecutionContext.cjs +2 -2
  118. package/lib/cjs/graph/loops/GraphLoopExecutionContext.cjs.map +1 -0
  119. package/lib/cjs/graph/loops/UntilGraphNodeExecutor.cjs +2 -2
  120. package/lib/cjs/graph/loops/UntilGraphNodeExecutor.cjs.map +1 -0
  121. package/lib/cjs/graph/loops/WhileGraphNodeExecutor.cjs +2 -2
  122. package/lib/cjs/graph/loops/WhileGraphNodeExecutor.cjs.map +1 -0
  123. package/lib/cjs/graph/loops/index.cjs +3 -2
  124. package/lib/cjs/graph/loops/index.cjs.map +1 -0
  125. package/lib/cjs/graph/nodes/agent.cjs +110 -0
  126. package/lib/cjs/graph/nodes/agent.cjs.map +1 -0
  127. package/lib/cjs/graph/nodes/category-styles.cjs +38 -0
  128. package/lib/cjs/graph/nodes/category-styles.cjs.map +1 -0
  129. package/lib/cjs/graph/nodes/flow-control.cjs +436 -0
  130. package/lib/cjs/graph/nodes/flow-control.cjs.map +1 -0
  131. package/lib/cjs/graph/nodes/index.cjs +34 -0
  132. package/lib/cjs/graph/nodes/index.cjs.map +1 -0
  133. package/lib/cjs/graph/nodes/triggers.cjs +250 -0
  134. package/lib/cjs/graph/nodes/triggers.cjs.map +1 -0
  135. package/lib/cjs/graph/pinning/GraphPinningDependencyResolver.cjs +2 -2
  136. package/lib/cjs/graph/pinning/GraphPinningDependencyResolver.cjs.map +1 -0
  137. package/lib/cjs/graph/pinning/GraphPinningMetadata.cjs +2 -2
  138. package/lib/cjs/graph/pinning/GraphPinningMetadata.cjs.map +1 -0
  139. package/lib/cjs/graph/pinning/GraphPinningPolicy.cjs +2 -2
  140. package/lib/cjs/graph/pinning/GraphPinningPolicy.cjs.map +1 -0
  141. package/lib/cjs/graph/pinning/GraphPinningService.cjs +2 -2
  142. package/lib/cjs/graph/pinning/GraphPinningService.cjs.map +1 -0
  143. package/lib/cjs/graph/pinning/index.cjs +2 -2
  144. package/lib/cjs/graph/pinning/index.cjs.map +1 -0
  145. package/lib/cjs/graph/planning/GraphExecutionPlan.cjs +2 -2
  146. package/lib/cjs/graph/planning/GraphExecutionPlan.cjs.map +1 -0
  147. package/lib/cjs/graph/planning/GraphExecutionPlanEdge.cjs +2 -2
  148. package/lib/cjs/graph/planning/GraphExecutionPlanEdge.cjs.map +1 -0
  149. package/lib/cjs/graph/planning/GraphExecutionPlanLayer.cjs +2 -2
  150. package/lib/cjs/graph/planning/GraphExecutionPlanLayer.cjs.map +1 -0
  151. package/lib/cjs/graph/planning/GraphExecutionPlanNode.cjs +2 -2
  152. package/lib/cjs/graph/planning/GraphExecutionPlanNode.cjs.map +1 -0
  153. package/lib/cjs/graph/planning/GraphExecutionPlanner.cjs +2 -2
  154. package/lib/cjs/graph/planning/GraphExecutionPlanner.cjs.map +1 -0
  155. package/lib/cjs/graph/planning/GraphRelationResolver.cjs +2 -2
  156. package/lib/cjs/graph/planning/GraphRelationResolver.cjs.map +1 -0
  157. package/lib/cjs/graph/planning/GraphTopology.cjs +2 -2
  158. package/lib/cjs/graph/planning/GraphTopology.cjs.map +1 -0
  159. package/lib/cjs/graph/planning/index.cjs +2 -2
  160. package/lib/cjs/graph/planning/index.cjs.map +1 -0
  161. package/lib/cjs/graph/registry/GraphNodeExecutorRegistry.cjs +2 -2
  162. package/lib/cjs/graph/registry/GraphNodeExecutorRegistry.cjs.map +1 -0
  163. package/lib/cjs/graph/registry/GraphNodeExecutorResolver.cjs +2 -2
  164. package/lib/cjs/graph/registry/GraphNodeExecutorResolver.cjs.map +1 -0
  165. package/lib/cjs/graph/registry/index.cjs +2 -2
  166. package/lib/cjs/graph/registry/index.cjs.map +1 -0
  167. package/lib/cjs/graph/snapshots/GraphExecutionSnapshotMapper.cjs +2 -2
  168. package/lib/cjs/graph/snapshots/GraphExecutionSnapshotMapper.cjs.map +1 -0
  169. package/lib/cjs/graph/snapshots/index.cjs +2 -2
  170. package/lib/cjs/graph/snapshots/index.cjs.map +1 -0
  171. package/lib/cjs/graph/store/GraphCachedValue.cjs +2 -2
  172. package/lib/cjs/graph/store/GraphCachedValue.cjs.map +1 -0
  173. package/lib/cjs/graph/store/GraphValueKey.cjs +2 -2
  174. package/lib/cjs/graph/store/GraphValueKey.cjs.map +1 -0
  175. package/lib/cjs/graph/store/GraphValueStore.cjs +2 -2
  176. package/lib/cjs/graph/store/GraphValueStore.cjs.map +1 -0
  177. package/lib/cjs/graph/store/GraphValueStoreAdapter.cjs +2 -2
  178. package/lib/cjs/graph/store/GraphValueStoreAdapter.cjs.map +1 -0
  179. package/lib/cjs/graph/store/InMemoryGraphValueStoreAdapter.cjs +2 -2
  180. package/lib/cjs/graph/store/InMemoryGraphValueStoreAdapter.cjs.map +1 -0
  181. package/lib/cjs/graph/store/index.cjs +2 -2
  182. package/lib/cjs/graph/store/index.cjs.map +1 -0
  183. package/lib/cjs/graph/types.cjs +2 -2
  184. package/lib/cjs/graph/types.cjs.map +1 -0
  185. package/lib/cjs/graph/validation/GraphDefinitionValidator.cjs +2 -2
  186. package/lib/cjs/graph/validation/GraphDefinitionValidator.cjs.map +1 -0
  187. package/lib/cjs/graph/validation/GraphPortSchemaResolver.cjs +2 -2
  188. package/lib/cjs/graph/validation/GraphPortSchemaResolver.cjs.map +1 -0
  189. package/lib/cjs/graph/validation/GraphValueValidator.cjs +2 -2
  190. package/lib/cjs/graph/validation/GraphValueValidator.cjs.map +1 -0
  191. package/lib/cjs/graph/validation/index.cjs +2 -2
  192. package/lib/cjs/graph/validation/index.cjs.map +1 -0
  193. package/lib/cjs/index.cjs +5 -5
  194. package/lib/cjs/index.cjs.map +1 -0
  195. package/lib/cjs/keycloak/index.cjs +2 -2
  196. package/lib/cjs/keycloak/index.cjs.map +1 -0
  197. package/lib/cjs/keycloak/services/KeycloakAuthService.cjs +5 -4
  198. package/lib/cjs/keycloak/services/KeycloakAuthService.cjs.map +1 -0
  199. package/lib/cjs/keycloak/services/KeycloakClientService.cjs +5 -4
  200. package/lib/cjs/keycloak/services/KeycloakClientService.cjs.map +1 -0
  201. package/lib/cjs/keycloak/services/KeycloakIdentityProviderService.cjs +5 -4
  202. package/lib/cjs/keycloak/services/KeycloakIdentityProviderService.cjs.map +1 -0
  203. package/lib/cjs/keycloak/services/KeycloakRealmService.cjs +8 -7
  204. package/lib/cjs/keycloak/services/KeycloakRealmService.cjs.map +1 -0
  205. package/lib/cjs/keycloak/services/KeycloakRoleService.cjs +5 -4
  206. package/lib/cjs/keycloak/services/KeycloakRoleService.cjs.map +1 -0
  207. package/lib/cjs/keycloak/services/KeycloakService.cjs +5 -3
  208. package/lib/cjs/keycloak/services/KeycloakService.cjs.map +1 -0
  209. package/lib/cjs/keycloak/services/KeycloakUserService.cjs +5 -4
  210. package/lib/cjs/keycloak/services/KeycloakUserService.cjs.map +1 -0
  211. package/lib/cjs/keycloak/services/index.cjs +2 -2
  212. package/lib/cjs/keycloak/services/index.cjs.map +1 -0
  213. package/lib/cjs/keycloak/services/runtime.cjs +20 -0
  214. package/lib/cjs/keycloak/services/runtime.cjs.map +1 -0
  215. package/lib/cjs/keycloak/types.cjs +2 -2
  216. package/lib/cjs/keycloak/types.cjs.map +1 -0
  217. package/lib/cjs/kibana/helpers.cjs +2 -2
  218. package/lib/cjs/kibana/helpers.cjs.map +1 -0
  219. package/lib/cjs/kibana/index.cjs +2 -2
  220. package/lib/cjs/kibana/index.cjs.map +1 -0
  221. package/lib/cjs/kibana/services/KibanaAuthService.cjs +6 -5
  222. package/lib/cjs/kibana/services/KibanaAuthService.cjs.map +1 -0
  223. package/lib/cjs/kibana/services/KibanaDashboardService.cjs +9 -8
  224. package/lib/cjs/kibana/services/KibanaDashboardService.cjs.map +1 -0
  225. package/lib/cjs/kibana/services/KibanaDataViewService.cjs +7 -6
  226. package/lib/cjs/kibana/services/KibanaDataViewService.cjs.map +1 -0
  227. package/lib/cjs/kibana/services/KibanaRoleService.cjs +5 -4
  228. package/lib/cjs/kibana/services/KibanaRoleService.cjs.map +1 -0
  229. package/lib/cjs/kibana/services/KibanaService.cjs +4 -2
  230. package/lib/cjs/kibana/services/KibanaService.cjs.map +1 -0
  231. package/lib/cjs/kibana/services/KibanaSpaceService.cjs +5 -4
  232. package/lib/cjs/kibana/services/KibanaSpaceService.cjs.map +1 -0
  233. package/lib/cjs/kibana/services/KibanaUserService.cjs +5 -4
  234. package/lib/cjs/kibana/services/KibanaUserService.cjs.map +1 -0
  235. package/lib/cjs/kibana/services/index.cjs +2 -2
  236. package/lib/cjs/kibana/services/index.cjs.map +1 -0
  237. package/lib/cjs/kibana/services/runtime.cjs +20 -0
  238. package/lib/cjs/kibana/services/runtime.cjs.map +1 -0
  239. package/lib/cjs/kibana/types.cjs +2 -2
  240. package/lib/cjs/kibana/types.cjs.map +1 -0
  241. package/lib/cjs/nest/authService.cjs +5 -2
  242. package/lib/cjs/nest/authService.cjs.map +1 -0
  243. package/lib/cjs/nest/index.cjs +2 -2
  244. package/lib/cjs/nest/index.cjs.map +1 -0
  245. package/lib/cjs/nest/keycloakAuthHandler.cjs +2 -2
  246. package/lib/cjs/nest/keycloakAuthHandler.cjs.map +1 -0
  247. package/lib/cjs/nest/keycloakModule.cjs +2 -2
  248. package/lib/cjs/nest/keycloakModule.cjs.map +1 -0
  249. package/lib/cjs/nest/logging.cjs +2 -2
  250. package/lib/cjs/nest/logging.cjs.map +1 -0
  251. package/lib/cjs/nest/types.cjs +2 -2
  252. package/lib/cjs/nest/types.cjs.map +1 -0
  253. package/lib/cjs/nest/utils.cjs +2 -2
  254. package/lib/cjs/nest/utils.cjs.map +1 -0
  255. package/lib/cjs/secrets/aws/AwsSecretService.cjs +2 -2
  256. package/lib/cjs/secrets/aws/AwsSecretService.cjs.map +1 -0
  257. package/lib/cjs/secrets/aws/AwsSecretServiceConfig.cjs +2 -2
  258. package/lib/cjs/secrets/aws/AwsSecretServiceConfig.cjs.map +1 -0
  259. package/lib/cjs/secrets/aws/index.cjs +2 -2
  260. package/lib/cjs/secrets/aws/index.cjs.map +1 -0
  261. package/lib/cjs/secrets/azure/AzureKeyVaultSecretService.cjs +2 -2
  262. package/lib/cjs/secrets/azure/AzureKeyVaultSecretService.cjs.map +1 -0
  263. package/lib/cjs/secrets/azure/AzureKeyVaultSecretServiceConfig.cjs +2 -2
  264. package/lib/cjs/secrets/azure/AzureKeyVaultSecretServiceConfig.cjs.map +1 -0
  265. package/lib/cjs/secrets/azure/index.cjs +2 -2
  266. package/lib/cjs/secrets/azure/index.cjs.map +1 -0
  267. package/lib/cjs/secrets/core/SecretErrors.cjs +2 -2
  268. package/lib/cjs/secrets/core/SecretErrors.cjs.map +1 -0
  269. package/lib/cjs/secrets/core/SecretName.cjs +2 -2
  270. package/lib/cjs/secrets/core/SecretName.cjs.map +1 -0
  271. package/lib/cjs/secrets/core/SecretReference.cjs +2 -2
  272. package/lib/cjs/secrets/core/SecretReference.cjs.map +1 -0
  273. package/lib/cjs/secrets/core/SecretSerialization.cjs +2 -2
  274. package/lib/cjs/secrets/core/SecretSerialization.cjs.map +1 -0
  275. package/lib/cjs/secrets/core/SecretService.cjs +2 -2
  276. package/lib/cjs/secrets/core/SecretService.cjs.map +1 -0
  277. package/lib/cjs/secrets/core/SecretTypes.cjs +2 -2
  278. package/lib/cjs/secrets/core/SecretTypes.cjs.map +1 -0
  279. package/lib/cjs/secrets/core/index.cjs +2 -2
  280. package/lib/cjs/secrets/core/index.cjs.map +1 -0
  281. package/lib/cjs/secrets/gcp/GcpSecretManagerService.cjs +2 -2
  282. package/lib/cjs/secrets/gcp/GcpSecretManagerService.cjs.map +1 -0
  283. package/lib/cjs/secrets/gcp/GcpSecretManagerServiceConfig.cjs +2 -2
  284. package/lib/cjs/secrets/gcp/GcpSecretManagerServiceConfig.cjs.map +1 -0
  285. package/lib/cjs/secrets/gcp/index.cjs +2 -2
  286. package/lib/cjs/secrets/gcp/index.cjs.map +1 -0
  287. package/lib/cjs/secrets/index.cjs +2 -2
  288. package/lib/cjs/secrets/index.cjs.map +1 -0
  289. package/lib/cjs/secrets/model/ModelSecretCrypto.cjs +2 -2
  290. package/lib/cjs/secrets/model/ModelSecretCrypto.cjs.map +1 -0
  291. package/lib/cjs/secrets/model/ModelSecretService.cjs +2 -2
  292. package/lib/cjs/secrets/model/ModelSecretService.cjs.map +1 -0
  293. package/lib/cjs/secrets/model/ModelSecretServiceConfig.cjs +2 -2
  294. package/lib/cjs/secrets/model/ModelSecretServiceConfig.cjs.map +1 -0
  295. package/lib/cjs/secrets/model/Secret.cjs +2 -2
  296. package/lib/cjs/secrets/model/Secret.cjs.map +1 -0
  297. package/lib/cjs/secrets/model/index.cjs +2 -2
  298. package/lib/cjs/secrets/model/index.cjs.map +1 -0
  299. package/lib/cjs/secrets/onepassword/OnePasswordSecretService.cjs +2 -2
  300. package/lib/cjs/secrets/onepassword/OnePasswordSecretService.cjs.map +1 -0
  301. package/lib/cjs/secrets/onepassword/OnePasswordSecretServiceConfig.cjs +2 -2
  302. package/lib/cjs/secrets/onepassword/OnePasswordSecretServiceConfig.cjs.map +1 -0
  303. package/lib/cjs/secrets/onepassword/index.cjs +2 -2
  304. package/lib/cjs/secrets/onepassword/index.cjs.map +1 -0
  305. package/lib/cjs/secrets/vault/VaultSecretService.cjs +2 -2
  306. package/lib/cjs/secrets/vault/VaultSecretService.cjs.map +1 -0
  307. package/lib/cjs/secrets/vault/VaultSecretServiceConfig.cjs +2 -2
  308. package/lib/cjs/secrets/vault/VaultSecretServiceConfig.cjs.map +1 -0
  309. package/lib/cjs/secrets/vault/index.cjs +2 -2
  310. package/lib/cjs/secrets/vault/index.cjs.map +1 -0
  311. package/lib/cjs/shared/runtime.cjs +2 -2
  312. package/lib/cjs/shared/runtime.cjs.map +1 -0
  313. package/lib/cjs/utils.cjs +2 -2
  314. package/lib/cjs/utils.cjs.map +1 -0
  315. package/lib/esm/blob/azure/AzureBlobStoreService.js +1 -1
  316. package/lib/esm/blob/azure/AzureBlobStoreService.js.map +1 -0
  317. package/lib/esm/blob/azure/index.js +1 -1
  318. package/lib/esm/blob/azure/index.js.map +1 -0
  319. package/lib/esm/blob/core/BlobErrors.js +1 -1
  320. package/lib/esm/blob/core/BlobErrors.js.map +1 -0
  321. package/lib/esm/blob/core/BlobKey.js +1 -1
  322. package/lib/esm/blob/core/BlobKey.js.map +1 -0
  323. package/lib/esm/blob/core/BlobStoreFactory.js +1 -1
  324. package/lib/esm/blob/core/BlobStoreFactory.js.map +1 -0
  325. package/lib/esm/blob/core/BlobStoreService.js +1 -1
  326. package/lib/esm/blob/core/BlobStoreService.js.map +1 -0
  327. package/lib/esm/blob/core/BlobTypes.js +1 -1
  328. package/lib/esm/blob/core/BlobTypes.js.map +1 -0
  329. package/lib/esm/blob/core/BlobValue.js +1 -1
  330. package/lib/esm/blob/core/BlobValue.js.map +1 -0
  331. package/lib/esm/blob/core/index.js +1 -1
  332. package/lib/esm/blob/core/index.js.map +1 -0
  333. package/lib/esm/blob/gcp/GcsBlobStoreService.js +1 -1
  334. package/lib/esm/blob/gcp/GcsBlobStoreService.js.map +1 -0
  335. package/lib/esm/blob/gcp/index.js +1 -1
  336. package/lib/esm/blob/gcp/index.js.map +1 -0
  337. package/lib/esm/blob/index.js +1 -1
  338. package/lib/esm/blob/index.js.map +1 -0
  339. package/lib/esm/blob/ipfs/IpfsBlobStoreService.js +1 -1
  340. package/lib/esm/blob/ipfs/IpfsBlobStoreService.js.map +1 -0
  341. package/lib/esm/blob/ipfs/IpfsKeyIndex.js +1 -1
  342. package/lib/esm/blob/ipfs/IpfsKeyIndex.js.map +1 -0
  343. package/lib/esm/blob/ipfs/LocalJsonIpfsKeyIndex.js +1 -1
  344. package/lib/esm/blob/ipfs/LocalJsonIpfsKeyIndex.js.map +1 -0
  345. package/lib/esm/blob/ipfs/MemoryIpfsKeyIndex.js +1 -1
  346. package/lib/esm/blob/ipfs/MemoryIpfsKeyIndex.js.map +1 -0
  347. package/lib/esm/blob/ipfs/PostgresIpfsKeyIndex.js +1 -1
  348. package/lib/esm/blob/ipfs/PostgresIpfsKeyIndex.js.map +1 -0
  349. package/lib/esm/blob/ipfs/index.js +1 -1
  350. package/lib/esm/blob/ipfs/index.js.map +1 -0
  351. package/lib/esm/blob/local/LocalBlobStoreService.js +1 -1
  352. package/lib/esm/blob/local/LocalBlobStoreService.js.map +1 -0
  353. package/lib/esm/blob/local/index.js +1 -1
  354. package/lib/esm/blob/local/index.js.map +1 -0
  355. package/lib/esm/blob/memory/MemoryBlobStoreService.js +1 -1
  356. package/lib/esm/blob/memory/MemoryBlobStoreService.js.map +1 -0
  357. package/lib/esm/blob/memory/index.js +1 -1
  358. package/lib/esm/blob/memory/index.js.map +1 -0
  359. package/lib/esm/blob/s3/MinioBlobStoreService.js +1 -1
  360. package/lib/esm/blob/s3/MinioBlobStoreService.js.map +1 -0
  361. package/lib/esm/blob/s3/R2BlobStoreService.js +1 -1
  362. package/lib/esm/blob/s3/R2BlobStoreService.js.map +1 -0
  363. package/lib/esm/blob/s3/S3BlobStoreService.js +1 -1
  364. package/lib/esm/blob/s3/S3BlobStoreService.js.map +1 -0
  365. package/lib/esm/blob/s3/index.js +1 -1
  366. package/lib/esm/blob/s3/index.js.map +1 -0
  367. package/lib/esm/docker/DockerComposeService.js +1 -1
  368. package/lib/esm/docker/DockerComposeService.js.map +1 -0
  369. package/lib/esm/docker/index.js +1 -1
  370. package/lib/esm/docker/index.js.map +1 -0
  371. package/lib/esm/graph/constants.js +1 -1
  372. package/lib/esm/graph/constants.js.map +1 -0
  373. package/lib/esm/graph/decorators.js +1 -1
  374. package/lib/esm/graph/decorators.js.map +1 -0
  375. package/lib/esm/graph/errors/GraphCycleError.js +1 -1
  376. package/lib/esm/graph/errors/GraphCycleError.js.map +1 -0
  377. package/lib/esm/graph/errors/GraphExecutionError.js +1 -1
  378. package/lib/esm/graph/errors/GraphExecutionError.js.map +1 -0
  379. package/lib/esm/graph/errors/GraphInputError.js +1 -1
  380. package/lib/esm/graph/errors/GraphInputError.js.map +1 -0
  381. package/lib/esm/graph/errors/GraphLoopLimitError.js +1 -1
  382. package/lib/esm/graph/errors/GraphLoopLimitError.js.map +1 -0
  383. package/lib/esm/graph/errors/GraphPinningError.js +1 -1
  384. package/lib/esm/graph/errors/GraphPinningError.js.map +1 -0
  385. package/lib/esm/graph/errors/GraphPortError.js +1 -1
  386. package/lib/esm/graph/errors/GraphPortError.js.map +1 -0
  387. package/lib/esm/graph/errors/GraphStoreError.js +1 -1
  388. package/lib/esm/graph/errors/GraphStoreError.js.map +1 -0
  389. package/lib/esm/graph/errors/GraphTopologyError.js +1 -1
  390. package/lib/esm/graph/errors/GraphTopologyError.js.map +1 -0
  391. package/lib/esm/graph/errors/index.js +1 -1
  392. package/lib/esm/graph/errors/index.js.map +1 -0
  393. package/lib/esm/graph/events/GraphExecutionEvent.js +1 -1
  394. package/lib/esm/graph/events/GraphExecutionEvent.js.map +1 -0
  395. package/lib/esm/graph/events/GraphExecutionEventEmitter.js +1 -1
  396. package/lib/esm/graph/events/GraphExecutionEventEmitter.js.map +1 -0
  397. package/lib/esm/graph/events/GraphExecutionEventFactory.js +1 -1
  398. package/lib/esm/graph/events/GraphExecutionEventFactory.js.map +1 -0
  399. package/lib/esm/graph/events/GraphExecutionObserver.js +1 -1
  400. package/lib/esm/graph/events/GraphExecutionObserver.js.map +1 -0
  401. package/lib/esm/graph/events/index.js +1 -1
  402. package/lib/esm/graph/events/index.js.map +1 -0
  403. package/lib/esm/graph/execution/CodeSandboxEvaluator.js +18 -0
  404. package/lib/esm/graph/execution/CodeSandboxEvaluator.js.map +1 -0
  405. package/lib/esm/graph/execution/GraphExecutionContext.js +1 -1
  406. package/lib/esm/graph/execution/GraphExecutionContext.js.map +1 -0
  407. package/lib/esm/graph/execution/GraphExecutionEngine.js +2 -1
  408. package/lib/esm/graph/execution/GraphExecutionEngine.js.map +1 -0
  409. package/lib/esm/graph/execution/GraphExecutionFrame.js +1 -1
  410. package/lib/esm/graph/execution/GraphExecutionFrame.js.map +1 -0
  411. package/lib/esm/graph/execution/GraphExecutionResult.js +1 -1
  412. package/lib/esm/graph/execution/GraphExecutionResult.js.map +1 -0
  413. package/lib/esm/graph/execution/GraphNodeExecutor.js +1 -1
  414. package/lib/esm/graph/execution/GraphNodeExecutor.js.map +1 -0
  415. package/lib/esm/graph/execution/SwitchGraphNodeExecutor.js +98 -0
  416. package/lib/esm/graph/execution/SwitchGraphNodeExecutor.js.map +1 -0
  417. package/lib/esm/graph/execution/index.js +3 -1
  418. package/lib/esm/graph/execution/index.js.map +1 -0
  419. package/lib/esm/graph/index.js +6 -1
  420. package/lib/esm/graph/index.js.map +1 -0
  421. package/lib/esm/graph/loops/ConditionExpressionEvaluator.js +82 -0
  422. package/lib/esm/graph/loops/ConditionExpressionEvaluator.js.map +1 -0
  423. package/lib/esm/graph/loops/ForeachGraphNodeExecutor.js +1 -1
  424. package/lib/esm/graph/loops/ForeachGraphNodeExecutor.js.map +1 -0
  425. package/lib/esm/graph/loops/GraphConditionEvaluator.js +24 -2
  426. package/lib/esm/graph/loops/GraphConditionEvaluator.js.map +1 -0
  427. package/lib/esm/graph/loops/GraphLoopExecutionContext.js +1 -1
  428. package/lib/esm/graph/loops/GraphLoopExecutionContext.js.map +1 -0
  429. package/lib/esm/graph/loops/UntilGraphNodeExecutor.js +1 -1
  430. package/lib/esm/graph/loops/UntilGraphNodeExecutor.js.map +1 -0
  431. package/lib/esm/graph/loops/WhileGraphNodeExecutor.js +1 -1
  432. package/lib/esm/graph/loops/WhileGraphNodeExecutor.js.map +1 -0
  433. package/lib/esm/graph/loops/index.js +2 -1
  434. package/lib/esm/graph/loops/index.js.map +1 -0
  435. package/lib/esm/graph/nodes/agent.js +101 -0
  436. package/lib/esm/graph/nodes/agent.js.map +1 -0
  437. package/lib/esm/graph/nodes/category-styles.js +34 -0
  438. package/lib/esm/graph/nodes/category-styles.js.map +1 -0
  439. package/lib/esm/graph/nodes/flow-control.js +427 -0
  440. package/lib/esm/graph/nodes/flow-control.js.map +1 -0
  441. package/lib/esm/graph/nodes/index.js +17 -0
  442. package/lib/esm/graph/nodes/index.js.map +1 -0
  443. package/lib/esm/graph/nodes/triggers.js +241 -0
  444. package/lib/esm/graph/nodes/triggers.js.map +1 -0
  445. package/lib/esm/graph/pinning/GraphPinningDependencyResolver.js +1 -1
  446. package/lib/esm/graph/pinning/GraphPinningDependencyResolver.js.map +1 -0
  447. package/lib/esm/graph/pinning/GraphPinningMetadata.js +1 -1
  448. package/lib/esm/graph/pinning/GraphPinningMetadata.js.map +1 -0
  449. package/lib/esm/graph/pinning/GraphPinningPolicy.js +1 -1
  450. package/lib/esm/graph/pinning/GraphPinningPolicy.js.map +1 -0
  451. package/lib/esm/graph/pinning/GraphPinningService.js +1 -1
  452. package/lib/esm/graph/pinning/GraphPinningService.js.map +1 -0
  453. package/lib/esm/graph/pinning/index.js +1 -1
  454. package/lib/esm/graph/pinning/index.js.map +1 -0
  455. package/lib/esm/graph/planning/GraphExecutionPlan.js +1 -1
  456. package/lib/esm/graph/planning/GraphExecutionPlan.js.map +1 -0
  457. package/lib/esm/graph/planning/GraphExecutionPlanEdge.js +1 -1
  458. package/lib/esm/graph/planning/GraphExecutionPlanEdge.js.map +1 -0
  459. package/lib/esm/graph/planning/GraphExecutionPlanLayer.js +1 -1
  460. package/lib/esm/graph/planning/GraphExecutionPlanLayer.js.map +1 -0
  461. package/lib/esm/graph/planning/GraphExecutionPlanNode.js +1 -1
  462. package/lib/esm/graph/planning/GraphExecutionPlanNode.js.map +1 -0
  463. package/lib/esm/graph/planning/GraphExecutionPlanner.js +1 -1
  464. package/lib/esm/graph/planning/GraphExecutionPlanner.js.map +1 -0
  465. package/lib/esm/graph/planning/GraphRelationResolver.js +1 -1
  466. package/lib/esm/graph/planning/GraphRelationResolver.js.map +1 -0
  467. package/lib/esm/graph/planning/GraphTopology.js +1 -1
  468. package/lib/esm/graph/planning/GraphTopology.js.map +1 -0
  469. package/lib/esm/graph/planning/index.js +1 -1
  470. package/lib/esm/graph/planning/index.js.map +1 -0
  471. package/lib/esm/graph/registry/GraphNodeExecutorRegistry.js +1 -1
  472. package/lib/esm/graph/registry/GraphNodeExecutorRegistry.js.map +1 -0
  473. package/lib/esm/graph/registry/GraphNodeExecutorResolver.js +1 -1
  474. package/lib/esm/graph/registry/GraphNodeExecutorResolver.js.map +1 -0
  475. package/lib/esm/graph/registry/index.js +1 -1
  476. package/lib/esm/graph/registry/index.js.map +1 -0
  477. package/lib/esm/graph/snapshots/GraphExecutionSnapshotMapper.js +1 -1
  478. package/lib/esm/graph/snapshots/GraphExecutionSnapshotMapper.js.map +1 -0
  479. package/lib/esm/graph/snapshots/index.js +1 -1
  480. package/lib/esm/graph/snapshots/index.js.map +1 -0
  481. package/lib/esm/graph/store/GraphCachedValue.js +1 -1
  482. package/lib/esm/graph/store/GraphCachedValue.js.map +1 -0
  483. package/lib/esm/graph/store/GraphValueKey.js +1 -1
  484. package/lib/esm/graph/store/GraphValueKey.js.map +1 -0
  485. package/lib/esm/graph/store/GraphValueStore.js +1 -1
  486. package/lib/esm/graph/store/GraphValueStore.js.map +1 -0
  487. package/lib/esm/graph/store/GraphValueStoreAdapter.js +1 -1
  488. package/lib/esm/graph/store/GraphValueStoreAdapter.js.map +1 -0
  489. package/lib/esm/graph/store/InMemoryGraphValueStoreAdapter.js +1 -1
  490. package/lib/esm/graph/store/InMemoryGraphValueStoreAdapter.js.map +1 -0
  491. package/lib/esm/graph/store/index.js +1 -1
  492. package/lib/esm/graph/store/index.js.map +1 -0
  493. package/lib/esm/graph/types.js +1 -1
  494. package/lib/esm/graph/types.js.map +1 -0
  495. package/lib/esm/graph/validation/GraphDefinitionValidator.js +1 -1
  496. package/lib/esm/graph/validation/GraphDefinitionValidator.js.map +1 -0
  497. package/lib/esm/graph/validation/GraphPortSchemaResolver.js +1 -1
  498. package/lib/esm/graph/validation/GraphPortSchemaResolver.js.map +1 -0
  499. package/lib/esm/graph/validation/GraphValueValidator.js +1 -1
  500. package/lib/esm/graph/validation/GraphValueValidator.js.map +1 -0
  501. package/lib/esm/graph/validation/index.js +1 -1
  502. package/lib/esm/graph/validation/index.js.map +1 -0
  503. package/lib/esm/index.js +4 -4
  504. package/lib/esm/index.js.map +1 -0
  505. package/lib/esm/keycloak/index.js +1 -1
  506. package/lib/esm/keycloak/index.js.map +1 -0
  507. package/lib/esm/keycloak/services/KeycloakAuthService.js +4 -3
  508. package/lib/esm/keycloak/services/KeycloakAuthService.js.map +1 -0
  509. package/lib/esm/keycloak/services/KeycloakClientService.js +4 -3
  510. package/lib/esm/keycloak/services/KeycloakClientService.js.map +1 -0
  511. package/lib/esm/keycloak/services/KeycloakIdentityProviderService.js +4 -3
  512. package/lib/esm/keycloak/services/KeycloakIdentityProviderService.js.map +1 -0
  513. package/lib/esm/keycloak/services/KeycloakRealmService.js +4 -3
  514. package/lib/esm/keycloak/services/KeycloakRealmService.js.map +1 -0
  515. package/lib/esm/keycloak/services/KeycloakRoleService.js +4 -3
  516. package/lib/esm/keycloak/services/KeycloakRoleService.js.map +1 -0
  517. package/lib/esm/keycloak/services/KeycloakService.js +4 -2
  518. package/lib/esm/keycloak/services/KeycloakService.js.map +1 -0
  519. package/lib/esm/keycloak/services/KeycloakUserService.js +4 -3
  520. package/lib/esm/keycloak/services/KeycloakUserService.js.map +1 -0
  521. package/lib/esm/keycloak/services/index.js +1 -1
  522. package/lib/esm/keycloak/services/index.js.map +1 -0
  523. package/lib/esm/keycloak/services/runtime.js +15 -0
  524. package/lib/esm/keycloak/services/runtime.js.map +1 -0
  525. package/lib/esm/keycloak/types.js +1 -1
  526. package/lib/esm/keycloak/types.js.map +1 -0
  527. package/lib/esm/kibana/helpers.js +1 -1
  528. package/lib/esm/kibana/helpers.js.map +1 -0
  529. package/lib/esm/kibana/index.js +1 -1
  530. package/lib/esm/kibana/index.js.map +1 -0
  531. package/lib/esm/kibana/services/KibanaAuthService.js +5 -4
  532. package/lib/esm/kibana/services/KibanaAuthService.js.map +1 -0
  533. package/lib/esm/kibana/services/KibanaDashboardService.js +5 -4
  534. package/lib/esm/kibana/services/KibanaDashboardService.js.map +1 -0
  535. package/lib/esm/kibana/services/KibanaDataViewService.js +4 -3
  536. package/lib/esm/kibana/services/KibanaDataViewService.js.map +1 -0
  537. package/lib/esm/kibana/services/KibanaRoleService.js +4 -3
  538. package/lib/esm/kibana/services/KibanaRoleService.js.map +1 -0
  539. package/lib/esm/kibana/services/KibanaService.js +3 -1
  540. package/lib/esm/kibana/services/KibanaService.js.map +1 -0
  541. package/lib/esm/kibana/services/KibanaSpaceService.js +4 -3
  542. package/lib/esm/kibana/services/KibanaSpaceService.js.map +1 -0
  543. package/lib/esm/kibana/services/KibanaUserService.js +4 -3
  544. package/lib/esm/kibana/services/KibanaUserService.js.map +1 -0
  545. package/lib/esm/kibana/services/index.js +1 -1
  546. package/lib/esm/kibana/services/index.js.map +1 -0
  547. package/lib/esm/kibana/services/runtime.js +15 -0
  548. package/lib/esm/kibana/services/runtime.js.map +1 -0
  549. package/lib/esm/kibana/types.js +1 -1
  550. package/lib/esm/kibana/types.js.map +1 -0
  551. package/lib/esm/nest/authService.js +4 -1
  552. package/lib/esm/nest/authService.js.map +1 -0
  553. package/lib/esm/nest/index.js +1 -1
  554. package/lib/esm/nest/index.js.map +1 -0
  555. package/lib/esm/nest/keycloakAuthHandler.js +1 -1
  556. package/lib/esm/nest/keycloakAuthHandler.js.map +1 -0
  557. package/lib/esm/nest/keycloakModule.js +1 -1
  558. package/lib/esm/nest/keycloakModule.js.map +1 -0
  559. package/lib/esm/nest/logging.js +1 -1
  560. package/lib/esm/nest/logging.js.map +1 -0
  561. package/lib/esm/nest/types.js +1 -1
  562. package/lib/esm/nest/types.js.map +1 -0
  563. package/lib/esm/nest/utils.js +1 -1
  564. package/lib/esm/nest/utils.js.map +1 -0
  565. package/lib/esm/secrets/aws/AwsSecretService.js +1 -1
  566. package/lib/esm/secrets/aws/AwsSecretService.js.map +1 -0
  567. package/lib/esm/secrets/aws/AwsSecretServiceConfig.js +1 -1
  568. package/lib/esm/secrets/aws/AwsSecretServiceConfig.js.map +1 -0
  569. package/lib/esm/secrets/aws/index.js +1 -1
  570. package/lib/esm/secrets/aws/index.js.map +1 -0
  571. package/lib/esm/secrets/azure/AzureKeyVaultSecretService.js +1 -1
  572. package/lib/esm/secrets/azure/AzureKeyVaultSecretService.js.map +1 -0
  573. package/lib/esm/secrets/azure/AzureKeyVaultSecretServiceConfig.js +1 -1
  574. package/lib/esm/secrets/azure/AzureKeyVaultSecretServiceConfig.js.map +1 -0
  575. package/lib/esm/secrets/azure/index.js +1 -1
  576. package/lib/esm/secrets/azure/index.js.map +1 -0
  577. package/lib/esm/secrets/core/SecretErrors.js +1 -1
  578. package/lib/esm/secrets/core/SecretErrors.js.map +1 -0
  579. package/lib/esm/secrets/core/SecretName.js +1 -1
  580. package/lib/esm/secrets/core/SecretName.js.map +1 -0
  581. package/lib/esm/secrets/core/SecretReference.js +1 -1
  582. package/lib/esm/secrets/core/SecretReference.js.map +1 -0
  583. package/lib/esm/secrets/core/SecretSerialization.js +1 -1
  584. package/lib/esm/secrets/core/SecretSerialization.js.map +1 -0
  585. package/lib/esm/secrets/core/SecretService.js +1 -1
  586. package/lib/esm/secrets/core/SecretService.js.map +1 -0
  587. package/lib/esm/secrets/core/SecretTypes.js +1 -1
  588. package/lib/esm/secrets/core/SecretTypes.js.map +1 -0
  589. package/lib/esm/secrets/core/index.js +1 -1
  590. package/lib/esm/secrets/core/index.js.map +1 -0
  591. package/lib/esm/secrets/gcp/GcpSecretManagerService.js +1 -1
  592. package/lib/esm/secrets/gcp/GcpSecretManagerService.js.map +1 -0
  593. package/lib/esm/secrets/gcp/GcpSecretManagerServiceConfig.js +1 -1
  594. package/lib/esm/secrets/gcp/GcpSecretManagerServiceConfig.js.map +1 -0
  595. package/lib/esm/secrets/gcp/index.js +1 -1
  596. package/lib/esm/secrets/gcp/index.js.map +1 -0
  597. package/lib/esm/secrets/index.js +1 -1
  598. package/lib/esm/secrets/index.js.map +1 -0
  599. package/lib/esm/secrets/model/ModelSecretCrypto.js +1 -1
  600. package/lib/esm/secrets/model/ModelSecretCrypto.js.map +1 -0
  601. package/lib/esm/secrets/model/ModelSecretService.js +1 -1
  602. package/lib/esm/secrets/model/ModelSecretService.js.map +1 -0
  603. package/lib/esm/secrets/model/ModelSecretServiceConfig.js +1 -1
  604. package/lib/esm/secrets/model/ModelSecretServiceConfig.js.map +1 -0
  605. package/lib/esm/secrets/model/Secret.js +1 -1
  606. package/lib/esm/secrets/model/Secret.js.map +1 -0
  607. package/lib/esm/secrets/model/index.js +1 -1
  608. package/lib/esm/secrets/model/index.js.map +1 -0
  609. package/lib/esm/secrets/onepassword/OnePasswordSecretService.js +1 -1
  610. package/lib/esm/secrets/onepassword/OnePasswordSecretService.js.map +1 -0
  611. package/lib/esm/secrets/onepassword/OnePasswordSecretServiceConfig.js +1 -1
  612. package/lib/esm/secrets/onepassword/OnePasswordSecretServiceConfig.js.map +1 -0
  613. package/lib/esm/secrets/onepassword/index.js +1 -1
  614. package/lib/esm/secrets/onepassword/index.js.map +1 -0
  615. package/lib/esm/secrets/vault/VaultSecretService.js +1 -1
  616. package/lib/esm/secrets/vault/VaultSecretService.js.map +1 -0
  617. package/lib/esm/secrets/vault/VaultSecretServiceConfig.js +1 -1
  618. package/lib/esm/secrets/vault/VaultSecretServiceConfig.js.map +1 -0
  619. package/lib/esm/secrets/vault/index.js +1 -1
  620. package/lib/esm/secrets/vault/index.js.map +1 -0
  621. package/lib/esm/shared/runtime.js +1 -1
  622. package/lib/esm/shared/runtime.js.map +1 -0
  623. package/lib/esm/utils.js +1 -1
  624. package/lib/esm/utils.js.map +1 -0
  625. package/lib/types/graph/execution/CodeSandboxEvaluator.d.cts +53 -0
  626. package/lib/types/graph/execution/CodeSandboxEvaluator.d.mts +53 -0
  627. package/lib/types/graph/execution/GraphExecutionEngine.d.cts +10 -0
  628. package/lib/types/graph/execution/GraphExecutionEngine.d.mts +10 -0
  629. package/lib/types/graph/execution/SwitchGraphNodeExecutor.d.cts +42 -0
  630. package/lib/types/graph/execution/SwitchGraphNodeExecutor.d.mts +42 -0
  631. package/lib/types/graph/execution/index.d.cts +2 -0
  632. package/lib/types/graph/execution/index.d.mts +2 -0
  633. package/lib/types/graph/index.d.cts +4 -0
  634. package/lib/types/graph/index.d.mts +4 -0
  635. package/lib/types/graph/loops/ConditionExpressionEvaluator.d.cts +36 -0
  636. package/lib/types/graph/loops/ConditionExpressionEvaluator.d.mts +36 -0
  637. package/lib/types/graph/loops/GraphConditionEvaluator.d.cts +20 -4
  638. package/lib/types/graph/loops/GraphConditionEvaluator.d.mts +20 -4
  639. package/lib/types/graph/loops/index.d.cts +1 -0
  640. package/lib/types/graph/loops/index.d.mts +1 -0
  641. package/lib/types/graph/nodes/agent.d.cts +44 -0
  642. package/lib/types/graph/nodes/agent.d.mts +44 -0
  643. package/lib/types/graph/nodes/category-styles.d.cts +8 -0
  644. package/lib/types/graph/nodes/category-styles.d.mts +8 -0
  645. package/lib/types/graph/nodes/flow-control.d.cts +104 -0
  646. package/lib/types/graph/nodes/flow-control.d.mts +104 -0
  647. package/lib/types/graph/nodes/index.d.cts +16 -0
  648. package/lib/types/graph/nodes/index.d.mts +16 -0
  649. package/lib/types/graph/nodes/triggers.d.cts +53 -0
  650. package/lib/types/graph/nodes/triggers.d.mts +53 -0
  651. package/lib/types/graph/types.d.cts +102 -0
  652. package/lib/types/graph/types.d.mts +102 -0
  653. package/lib/types/index.d.cts +2 -2
  654. package/lib/types/index.d.mts +2 -2
  655. package/lib/types/keycloak/services/runtime.d.cts +6 -0
  656. package/lib/types/keycloak/services/runtime.d.mts +6 -0
  657. package/lib/types/kibana/services/runtime.d.cts +6 -0
  658. package/lib/types/kibana/services/runtime.d.mts +6 -0
  659. package/lib/types/nest/authService.d.cts +1 -0
  660. package/lib/types/nest/authService.d.mts +1 -0
  661. package/package.json +1 -1
@@ -28,6 +28,7 @@ export class GraphExecutionEngine {
28
28
  this.valueStoreAdapter =
29
29
  config.valueStoreAdapter ?? new InMemoryGraphValueStoreAdapter();
30
30
  this.defaultOptions = config.defaultOptions ?? {};
31
+ this.codeSandboxEvaluator = config.codeSandboxEvaluator;
31
32
  this.config = config;
32
33
  config.onEngineCreated?.(this);
33
34
  }
@@ -398,4 +399,4 @@ export class GraphExecutionEngine {
398
399
  return { name: "UnknownError", message: String(error) };
399
400
  }
400
401
  }
401
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JhcGhFeGVjdXRpb25FbmdpbmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZ3JhcGgvZXhlY3V0aW9uL0dyYXBoRXhlY3V0aW9uRW5naW5lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVFBLE9BQU8sRUFDTCx5QkFBeUIsRUFDekIsdUJBQXVCLEVBQ3ZCLHVCQUF1QixFQUN2QixvQkFBb0IsR0FDckIsMEJBQXFCO0FBYXRCLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxrREFBNkM7QUFDbEYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLGtEQUE2QztBQUVsRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsK0NBQTBDO0FBSTFFLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxxREFBZ0Q7QUFDekYsT0FBTyxFQUFFLGVBQWUsRUFBRSxzQ0FBaUM7QUFFM0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLDRDQUF1QztBQUNyRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsMkNBQXNDO0FBQ25FLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSx1REFBa0Q7QUFDM0YsT0FBTyxFQUFFLHFCQUFxQixFQUFFLG1DQUFnQztBQUNoRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsaUNBQThCO0FBQzVELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxrQ0FBK0I7QUFvQm5FOzs7Ozs7Ozs7O0dBVUc7QUFDSCxNQUFNLE9BQU8sb0JBQW9CO0lBTy9CLFlBQVksTUFBa0M7UUFDNUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsWUFBWSxJQUFJLElBQUksMEJBQTBCLEVBQUUsQ0FBQztRQUN2RSxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxPQUFPLElBQUksSUFBSSxxQkFBcUIsRUFBRSxDQUFDO1FBQzdELElBQUksQ0FBQyxpQkFBaUI7WUFDcEIsTUFBTSxDQUFDLGlCQUFpQixJQUFJLElBQUksOEJBQThCLEVBQUUsQ0FBQztRQUNuRSxJQUFJLENBQUMsY0FB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QUUsS0FBSztZQUN4QixJQUFJLEVBQUUsRUFBRTtZQUNSLFFBQVEsRUFBRSxFQUFFO1lBQ1osR0FBRyxJQUFJLENBQUMsY0FBYztZQUN0QixHQUFHLE9BQU87U0FDWCxDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0ssYUFBYTtRQUNuQixPQUFPLENBQ0wsVUFBVSxDQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUUsRUFBRTtZQUNqQyxhQUFhLElBQUksQ0FBQyxHQUFHLEVBQUUsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUNqRSxDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0ssY0FBYyxDQUFDLEtBQWM7UUFDbkMsSUFBSSxLQUFLLFlBQVksS0FBSyxFQUFFLENBQUM7WUFDM0IsT0FBTztnQkFDTCxJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUk7Z0JBQ2hCLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTztnQkFDdEIsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLO2dCQUNsQixJQUFJLEVBQ0QsS0FBYSxDQUFDLFNBQVM7b0JBQ3hCLENBQUMsT0FBUSxLQUFhLENBQUMsSUFBSSxLQUFLLFFBQVE7d0JBQ3RDLENBQUMsQ0FBQyxNQUFNLENBQUUsS0FBYSxDQUFDLElBQUksQ0FBQzt3QkFDN0IsQ0FBQyxDQUFFLEtBQWEsQ0FBQyxJQUFJLENBQUM7YUFDM0IsQ0FBQztRQUNKLENBQUM7UUFDRCxPQUFPLEVBQUUsSUFBSSxFQUFFLGNBQWMsRUFBRSxPQUFPLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7SUFDMUQsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbW9kdWxlIGludGVncmF0aW9ucy9ncmFwaC9leGVjdXRpb24vR3JhcGhFeGVjdXRpb25FbmdpbmVcbiAqIEBzdW1tYXJ5IFJlZmVyZW5jZSBncmFwaCBleGVjdXRpb24gZW5naW5lLlxuICogQGRlc2NyaXB0aW9uIEV4ZWN1dGVzIGdyYXBoIHdvcmtmbG93cyBkZWNsYXJlZCB3aXRoIGBAZGVjYWYtdHMvdWktZGVjb3JhdG9ycy9ncmFwaGAsIGVtaXRzIGV2ZW50cyB0aHJvdWdoIERlY2FmJ3MgT2JzZXJ2YWJsZSBwaXBlbGluZSwgc3VwcG9ydHMgcGFyYWxsZWwgbm9kZSBleGVjdXRpb24gd2l0aGluIHRvcG9sb2dpY2FsIGxheWVycywgYW5kIHJldHVybnMgYSBjb21wbGV0ZSBleGVjdXRpb24gcmVzdWx0LlxuICovXG5pbXBvcnQgdHlwZSB7IE9ic2VydmFibGUgfSBmcm9tIFwiQGRlY2FmLXRzL2NvcmVcIjtcbmltcG9ydCB0eXBlIHsgR3JhcGhXb3JrZmxvd0RlZmluaXRpb24gfSBmcm9tIFwiQGRlY2FmLXRzL3VpLWRlY29yYXRvcnMvZ3JhcGhcIjtcblxuaW1wb3J0IHtcbiAgR1JBUEhfREVGQVVMVF9DT05DVVJSRU5DWSxcbiAgR1JBUEhfV09SS0ZMT1dfQk9VTkRBUlksXG4gIEdyYXBoRXhlY3V0aW9uRXZlbnRUeXBlLFxuICBHcmFwaEV4ZWN1dGlvblN0YXR1cyxcbn0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xuaW1wb3J0IHR5cGUge1xuICBHcmFwaEV4ZWN1dGlvbkVycm9yUGF5bG9hZCxcbiAgR3JhcGhFeGVjdXRpb25FdmVudCxcbiAgR3JhcGhFeGVjdXRpb25PcHRpb25zLFxuICBHcmFwaEV4ZWN1dGlvblJlc3VsdCxcbiAgR3JhcGhFeGVjdXRpb25WYWx1ZXMsXG4gIEdyYXBoTm9kZUV4ZWN1dGlvblJlc3VsdCxcbiAgR3JhcGhQaW5Ob2RlT3B0aW9ucyxcbiAgR3JhcGhVbnBpbk5vZGVPcHRpb25zLFxuICBHcmFwaFJ1bklkLFxufSBmcm9tIFwiLi4vdHlwZXNcIjtcbmltcG9ydCB0eXBlIHsgR3JhcGhFeGVjdXRpb25PYnNlcnZlciB9IGZyb20gXCIuLi9ldmVudHMvR3JhcGhFeGVjdXRpb25PYnNlcnZlclwiO1xuaW1wb3J0IHsgR3JhcGhFeGVjdXRpb25FdmVudEVtaXR0ZXIgfSBmcm9tIFwiLi4vZXZlbnRzL0dyYXBoRXhlY3V0aW9uRXZlbnRFbWl0dGVyXCI7XG5pbXBvcnQgeyBHcmFwaEV4ZWN1dGlvbkV2ZW50RmFjdG9yeSB9IGZyb20gXCIuLi9ldmVudHMvR3JhcGhFeGVjdXRpb25FdmVudEZhY3RvcnlcIjtcbmltcG9ydCB0eXBlIHsgR3JhcGhOb2RlRXhlY3V0b3JSZWdpc3RyeSB9IGZyb20gXCIuLi9yZWdpc3RyeS9HcmFwaE5vZGVFeGVjdXRvclJlZ2lzdHJ5XCI7XG5pbXBvcnQgeyBHcmFwaEV4ZWN1dGlvblBsYW5uZXIgfSBmcm9tIFwiLi4vcGxhbm5pbmcvR3JhcGhFeGVjdXRpb25QbGFubmVyXCI7XG5pbXBvcnQgdHlwZSB7IEdyYXBoRXhlY3V0aW9uUGxhbiB9IGZyb20gXCIuLi9wbGFubmluZy9HcmFwaEV4ZWN1dGlvblBsYW5cIjtcbmltcG9ydCB0eXBlIHsgR3JhcGhFeGVjdXRpb25QbGFuTm9kZSB9IGZyb20gXCIuLi9wbGFubmluZy9HcmFwaEV4ZWN1dGlvblBsYW5Ob2RlXCI7XG5pbXBvcnQgdHlwZSB7IEdyYXBoVmFsdWVTdG9yZUFkYXB0ZXIgfSBmcm9tIFwiLi4vc3RvcmUvR3JhcGhWYWx1ZVN0b3JlQWRhcHRlclwiO1xuaW1wb3J0IHsgSW5NZW1vcnlHcmFwaFZhbHVlU3RvcmVBZGFwdGVyIH0gZnJvbSBcIi4uL3N0b3JlL0luTWVtb3J5R3JhcGhWYWx1ZVN0b3JlQWRhcHRlclwiO1xuaW1wb3J0IHsgR3JhcGhWYWx1ZVN0b3JlIH0gZnJvbSBcIi4uL3N0b3JlL0dyYXBoVmFsdWVTdG9yZVwiO1xuaW1wb3J0IHR5cGUgeyBHcmFwaENhY2hlZFZhbHVlIH0gZnJvbSBcIi4uL3N0b3JlL0dyYXBoQ2FjaGVkVmFsdWVcIjtcbmltcG9ydCB7IEdyYXBoUGlubmluZ1NlcnZpY2UgfSBmcm9tIFwiLi4vcGlubmluZy9HcmFwaFBpbm5pbmdTZXJ2aWNlXCI7XG5pbXBvcnQgeyBHcmFwaFBpbm5pbmdQb2xpY3kgfSBmcm9tIFwiLi4vcGlubmluZy9HcmFwaFBpbm5pbmdQb2xpY3lcIjtcbmltcG9ydCB7IEdyYXBoUGlubmluZ0RlcGVuZGVuY3lSZXNvbHZlciB9IGZyb20gXCIuLi9waW5uaW5nL0dyYXBoUGlubmluZ0RlcGVuZGVuY3lSZXNvbHZlclwiO1xuaW1wb3J0IHsgR3JhcGhFeGVjdXRpb25Db250ZXh0IH0gZnJvbSBcIi4vR3JhcGhFeGVjdXRpb25Db250ZXh0XCI7XG5pbXBvcnQgeyBHcmFwaEV4ZWN1dGlvbkZyYW1lIH0gZnJvbSBcIi4vR3JhcGhFeGVjdXRpb25GcmFtZVwiO1xuaW1wb3J0IHsgYnVpbGRHcmFwaEV4ZWN1dGlvblJlc3VsdCB9IGZyb20gXCIuL0dyYXBoRXhlY3V0aW9uUmVzdWx0XCI7XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBmb3IgdGhlIHtAbGluayBHcmFwaEV4ZWN1dGlvbkVuZ2luZX0uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR3JhcGhFeGVjdXRpb25FbmdpbmVDb25maWcge1xuICByZWdpc3RyeTogR3JhcGhOb2RlRXhlY3V0b3JSZWdpc3RyeTtcbiAgcGxhbm5lcj86IEdyYXBoRXhlY3V0aW9uUGxhbm5lcjtcbiAgdmFsdWVTdG9yZUFkYXB0ZXI/OiBHcmFwaFZhbHVlU3RvcmVBZGFwdGVyO1xuICBldmVudEVtaXR0ZXI/OiBHcmFwaEV4ZWN1dGlvbkV2ZW50RW1pdHRlcjtcbiAgZGVmYXVsdE9wdGlvbnM/OiBQYXJ0aWFsPEdyYXBoRXhlY3V0aW9uT3B0aW9ucz47XG4gIC8qKlxuICAgKiBPcHRpb25hbCBjYWxsYmFjayBpbnZva2VkIGF0IHRoZSBlbmQgb2YgZW5naW5lIGNvbnN0cnVjdGlvbiB3aXRoIHRoZVxuICAgKiBmdWxseS1pbml0aWFsaXNlZCBlbmdpbmUgaW5zdGFuY2UuIFVzZSB0aGlzIHRvIHJlZ2lzdGVyIGV4ZWN1dG9ycyB0aGF0XG4gICAqIG5lZWQgYSBiYWNrLXJlZmVyZW5jZSB0byB0aGUgZW5naW5lIChlLmcuIGxvb3AgZXhlY3V0b3JzIHRoYXQgZXhlY3V0ZVxuICAgKiBzdWItd29ya2Zsb3dzIHRocm91Z2ggdGhlIHNhbWUgZW5naW5lKS5cbiAgICovXG4gIG9uRW5naW5lQ3JlYXRlZD86IChlbmdpbmU6IEdyYXBoRXhlY3V0aW9uRW5naW5lKSA9PiB2b2lkO1xufVxuXG4vKipcbiAqIFJlZmVyZW5jZSBncmFwaCBleGVjdXRpb24gZW5naW5lLlxuICpcbiAqIEV4ZWN1dGVzIGEge0BsaW5rIEdyYXBoV29ya2Zsb3dEZWZpbml0aW9ufSBieTpcbiAqIDEuIFBsYW5uaW5nIHRoZSB3b3JrZmxvdyBpbnRvIHRvcG9sb2dpY2FsIGxheWVycy5cbiAqIDIuIFNlZWRpbmcgd29ya2Zsb3cgaW5wdXRzIGludG8gdGhlIHZhbHVlIHN0b3JlLlxuICogMy4gRXhlY3V0aW5nIG5vZGVzIGxheWVyLWJ5LWxheWVyIHdpdGggY29uZmlndXJhYmxlIGNvbmN1cnJlbmN5LlxuICogNC4gUm91dGluZyB2YWx1ZXMgYWxvbmcgZWRnZXMuXG4gKiA1LiBFbWl0dGluZyBzdHJ1Y3R1cmVkIGV2ZW50cyB0aHJvdWdoIERlY2FmJ3MgT2JzZXJ2YWJsZSBwaXBlbGluZS5cbiAqIDYuIFJldHVybmluZyBhIGNvbXBsZXRlIHtAbGluayBHcmFwaEV4ZWN1dGlvblJlc3VsdH0uXG4gKi9cbmV4cG9ydCBjbGFzcyBHcmFwaEV4ZWN1dGlvbkVuZ2luZVxuICBpbXBsZW1lbnRzIE9ic2VydmFibGU8W0dyYXBoRXhlY3V0aW9uT2JzZXJ2ZXJdLCBbR3JhcGhFeGVjdXRpb25FdmVudF0+IHtcbiAgcHJpdmF0ZSByZWFkb25seSBlbWl0dGVyOiBHcmFwaEV4ZWN1dGlvbkV2ZW50RW1pdHRlcjtcbiAgcHJpdmF0ZSByZWFkb25seSBwbGFubmVyOiBHcmFwaEV4ZWN1dGlvblBsYW5uZXI7XG4gIHByaXZhdGUgcmVhZG9ubHkgdmFsdWVTdG9yZUFkYXB0ZXI6IEdyYXBoVmFsdWVTdG9yZUFkYXB0ZXI7XG4gIHByaXZhdGUgcmVhZG9ubHkgZGVmYXVsdE9wdGlvbnM6IFBhcnRpYWw8R3JhcGhFeGVjdXRpb25PcHRpb25zPjtcblxuICBjb25zdHJ1Y3Rvcihjb25maWc6IEdyYXBoRXhlY3V0aW9uRW5naW5lQ29uZmlnKSB7XG4gICAgdGhpcy5lbWl0dGVyID0gY29uZmlnLmV2ZW50RW1pdHRlciA/PyBuZXcgR3JhcGhFeGVjdXRpb25FdmVudEVtaXR0ZXIoKTtcbiAgICB0aGlzLnBsYW5uZXIgPSBjb25maWcucGxhbm5lciA/PyBuZXcgR3JhcGhFeGVjdXRpb25QbGFubmVyKCk7XG4gICAgdGhpcy52YWx1ZVN0b3JlQWRhcHRlciA9XG4gICAgICBjb25maWcudmFsdWVTdG9yZUFkYXB0ZXIgPz8gbmV3IEluTWVtb3J5R3JhcGhWYWx1ZVN0b3JlQWRhcHRlcigpO1xuICAgIHRoaXMuZGVmYXVsdE9wdGlvbnMgPSBjb25maWcuZGVmYXVsdE9wdGlvbnMgPz8ge307XG4gICAgdGhpcy5jb25maWcgPSBjb25maWc7XG4gICAgY29uZmlnLm9uRW5naW5lQ3JlYXRlZD8uKHRoaXMpO1xuICB9XG5cbiAgcHJpdmF0ZSByZWFkb25seSBjb25maWc6IEdyYXBoRXhlY3V0aW9uRW5naW5lQ29uZmlnO1xuXG4gIG9ic2VydmUob2JzZXJ2ZXI6IEdyYXBoRXhlY3V0aW9uT2JzZXJ2ZXIpOiAoKSA9PiB2b2lkIHtcbiAgICByZXR1cm4gdGhpcy5lbWl0dGVyLm9ic2VydmUob2JzZXJ2ZXIpO1xuICB9XG5cbiAgdW5PYnNlcnZlKG9ic2VydmVyOiBHcmFwaEV4ZWN1dGlvbk9ic2VydmVyKTogdm9pZCB7XG4gICAgdGhpcy5lbWl0dGVyLnVuT2JzZXJ2ZShvYnNlcnZlcik7XG4gIH1cblxuICBhc3luYyB1cGRhdGVPYnNlcnZlcnMoZXZlbnQ6IEdyYXBoRXhlY3V0aW9uRXZlbnQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLmVtaXR0ZXIudXBkYXRlT2JzZXJ2ZXJzKGV2ZW50KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFeGVjdXRlcyBhIHdvcmtmbG93IHdpdGggdGhlIGdpdmVuIGlucHV0cyBhbmQgb3B0aW9ucy5cbiAgICovXG4gIGFzeW5jIGV4ZWN1dGUoXG4gICAgd29ya2Zsb3c6IEdyYXBoV29ya2Zsb3dEZWZpbml0aW9uLFxuICAgIGlucHV0czogR3JhcGhFeGVjdXRpb25WYWx1ZXMgPSB7fSxcbiAgICBvcHRpb25zOiBHcmFwaEV4ZWN1dGlvbk9wdGlvbnMgPSB7fVxuICApOiBQcm9taXNlPEdyYXBoRXhlY3V0aW9uUmVzdWx0PiB7XG4gICAgY29uc3Qgb3B0cyA9IHRoaXMubWVyZ2VPcHRpb25zKG9wdGlvbnMpO1xuICAgIGNvbnN0IHJ1bklkID0gb3B0cy5ydW5JZCA/PyB0aGlzLmdlbmVyYXRlUnVuSWQoKTtcbiAgICBjb25zdCBwYXRoID0gb3B0cy5wYXRoID8/IFtdO1xuICAgIGNvbnN0IGV2ZW50RmFjdG9yeSA9IG5ldyBHcmFwaEV4ZWN1dGlvbkV2ZW50RmFjdG9yeSgpO1xuICAgIGNvbnN0IHZhbHVlU3RvcmUgPSBuZXcgR3JhcGhWYWx1ZVN0b3JlKHRoaXMudmFsdWVTdG9yZUFkYXB0ZXIpO1xuICAgIHZhbHVlU3RvcmUuc2VlZFdvcmtmbG93SW5wdXRzKGlucHV0cyk7XG5cbiAgICBjb25zdCBwbGFuID0gdGhpcy5wbGFubmVyLnBsYW4od29ya2Zsb3cpO1xuICAgIGNvbnN0IGZyYW1lID0gbmV3IEdyYXBoRXhlY3V0aW9uRnJhbWUoXG4gICAgICBydW5JZCxcbiAgICAgIHBsYW4sXG4gICAgICB2YWx1ZVN0b3JlLFxuICAgICAgZXZlbnRGYWN0b3J5XG4gICAgKTtcblxuICAgIGNvbnN0IGVtaXRGbiA9IGFzeW5jIChwYXJ0aWFsOiBQYXJ0aWFsPEdyYXBoRXhlY3V0aW9uRXZlbnQ+KSA9PiB7XG4gICAgICBhd2FpdCB0aGlzLmVtaXRFdmVudChmcmFtZSwge1xuICAgICAgICB0eXBlOiBwYXJ0aWFsLnR5cGUgPz8gR3JhcGhFeGVjdXRpb25FdmVudFR5cGUuTk9ERV9PVVRQVVQsXG4gICAgICAgIHJ1bklkLFxuICAgICAgICBwYXJlbnRSdW5JZDogb3B0cy5wYXJlbnRSdW5JZCxcbiAgICAgICAgd29ya2Zsb3dJZDogd29ya2Zsb3cubmFtZSxcbiAgICAgICAgbm9kZUlkOiBwYXJ0aWFsLm5vZGVJZCxcbiAgICAgICAgcGF0aDogcGFydGlhbC5wYXRoID8/IHBhdGgsXG4gICAgICAgIC4uLnBhcnRpYWwsXG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgYXdhaXQgdGhpcy5lbWl0RXZlbnQoZnJhbWUsIHtcbiAgICAgIHR5cGU6IEdyYXBoRXhlY3V0aW9uRXZlbnRUeXBlLldPUktGTE9XX1NUQVJURUQsXG4gICAgICBydW5JZCxcbiAgICAgIHBhcmVudFJ1bklkOiBvcHRzLnBhcmVudFJ1bklkLFxuICAgICAgd29ya2Zsb3dJZDogd29ya2Zsb3cubmFtZSxcbiAgICAgIHBhdGgsXG4gICAgICBzdGF0dXM6IEdyYXBoRXhlY3V0aW9uU3RhdHVzLlJVTk5JTkcsXG4gICAgICBwYXlsb2FkOiB7IGlucHV0cyB9LFxuICAgIH0pO1xuXG4gICAgYXdhaXQgdGhpcy5lbWl0RXZlbnQoZnJhbWUsIHtcbiAgICAgIHR5cGU6IEdyYXBoRXhlY3V0aW9uRXZlbnRUeXBlLldPUktGTE9XX1BMQU5ORUQsXG4gICAgICBydW5JZCxcbiAgICAgIHBhcmVudFJ1bklkOiBvcHRzLnBhcmVudFJ1bklkLFxuICAgICAgd29ya2Zsb3dJZDogd29ya2Zsb3cubmFtZSxcbiAgICAgIHBhdGgsXG4gICAgICBzdGF0dXM6IEdyYXBoRXhlY3V0aW9uU3RhdHVzLlBMQU5OSU5HLFxuICAgICAgcGF5bG9hZDogeyBsYXllcnM6IHBsYW4ubGF5ZXJzLmxlbmd0aCwgbm9kZXM6IHBsYW4ubm9kZXMubGVuZ3RoIH0sXG4gICAgfSk7XG5cbiAgICB0cnkge1xuICAgICAgZm9yIChjb25zdCBsYXllciBvZiBwbGFuLmxheWVycykge1xuICAgICAgICBhd2FpdCB0aGlzLmV4ZWN1dGVMYXllcihmcmFtZSwgcGxhbiwgbGF5ZXIubm9kZXMsIG9wdHMsIGVtaXRGbik7XG4gICAgICB9XG5cbiAgICAgIGZyYW1lLmZpbmlzaCgpO1xuXG4gICAgICBhd2FpdCB0aGlzLmVtaXRFdmVudChmcmFtZSwge1xuICAgICAgICB0eXBlOiBHcmFwaEV4ZWN1dGlvbkV2ZW50VHlwZS5XT1JLRkxPV19DT01QTEVURUQsXG4gICAgICAgIHJ1bklkLFxuICAgICAgICBwYXJlbnRSdW5JZDogb3B0cy5wYXJlbnRSdW5JZCxcbiAgICAgICAgd29ya2Zsb3dJZDogd29ya2Zsb3cubmFtZSxcbiAgICAgICAgcGF0aCxcbiAgICAgICAgc3RhdHVzOiBHcmFwaEV4ZWN1dGlvblN0YXR1cy5TVUNDRUVERUQsXG4gICAgICAgIHBheWxvYWQ6IHsgb3V0cHV0czogdmFsdWVTdG9yZS5nZXRXb3JrZmxvd1ZhbHVlcygpIH0sXG4gICAgICB9KTtcblxuICAgICAgcmV0dXJuIGJ1aWxkR3JhcGhFeGVjdXRpb25SZXN1bHQoXG4gICAgICAgIGZyYW1lLFxuICAgICAgICB3b3JrZmxvdyxcbiAgICAgICAgaW5wdXRzLFxuICAgICAgICBHcmFwaEV4ZWN1dGlvblN0YXR1cy5TVUNDRUVERUQsXG4gICAgICAgIG9wdHMubWV0YWRhdGFcbiAgICAgICk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGZyYW1lLmZpbmlzaCgpO1xuICAgICAgY29uc3QgZXJyb3JQYXlsb2FkID0gdGhpcy50b0Vycm9yUGF5bG9hZChlcnJvcik7XG5cbiAgICAgIGF3YWl0IHRoaXMuZW1pdEV2ZW50KGZyYW1lLCB7XG4gICAgICAgIHR5cGU6IEdyYXBoRXhlY3V0aW9uRXZlbnRUeXBlLldPUktGTE9XX0ZBSUxFRCxcbiAgICAgICAgcnVuSWQsXG4gICAgICAgIHBhcmVudFJ1bklkOiBvcHRzLnBhcmVudFJ1bklkLFxuICAgICAgICB3b3JrZmxvd0lkOiB3b3JrZmxvdy5uYW1lLFxuICAgICAgICBwYXRoLFxuICAgICAgICBzdGF0dXM6IEdyYXBoRXhlY3V0aW9uU3RhdHVzLkZBSUxFRCxcbiAgICAgICAgZXJyb3I6IGVycm9yUGF5bG9hZCxcbiAgICAgIH0pO1xuXG4gICAgICByZXR1cm4gYnVpbGRHcmFwaEV4ZWN1dGlvblJlc3VsdChcbiAgICAgICAgZnJhbWUsXG4gICAgICAgIHdvcmtmbG93LFxuICAgICAgICBpbnB1dHMsXG4gICAgICAgIEdyYXBoRXhlY3V0aW9uU3RhdHVzLkZBSUxFRCxcbiAgICAgICAgb3B0cy5tZXRhZGF0YVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUGlucyBhIG5vZGUgYW5kIGl0cyB1cHN0cmVhbSBkZXBlbmRlbmNpZXMgYWZ0ZXIgYSBjb21wbGV0ZWQgcnVuLlxuICAgKlxuICAgKiBEZWxlZ2F0ZXMgdG8ge0BsaW5rIEdyYXBoUGlubmluZ1NlcnZpY2V9LiBUaGUgcGxhbiBhbmQgcmVzdWx0IG11c3QgY29tZVxuICAgKiBmcm9tIGEgcHJpb3Igc3VjY2Vzc2Z1bCBleGVjdXRpb24gb2YgdGhlIHNhbWUgd29ya2Zsb3cuXG4gICAqL1xuICBhc3luYyBwaW5Ob2RlKG9wdGlvbnM6IEdyYXBoUGluTm9kZU9wdGlvbnMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBzZXJ2aWNlID0gdGhpcy5jcmVhdGVQaW5uaW5nU2VydmljZSgpO1xuICAgIGF3YWl0IHNlcnZpY2UucGluTm9kZShvcHRpb25zKTtcbiAgICBhd2FpdCB0aGlzLmVtaXRQaW5uaW5nRXZlbnQob3B0aW9ucy5ub2RlSWQsIEdyYXBoRXhlY3V0aW9uRXZlbnRUeXBlLk5PREVfUElOTkVEKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVbnBpbnMgYSBub2RlIGJ5IGl0cyBmaW5nZXJwcmludC5cbiAgICovXG4gIGFzeW5jIHVucGluTm9kZShvcHRpb25zOiBHcmFwaFVucGluTm9kZU9wdGlvbnMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBzZXJ2aWNlID0gdGhpcy5jcmVhdGVQaW5uaW5nU2VydmljZSgpO1xuICAgIGF3YWl0IHNlcnZpY2UudW5waW5Ob2RlKG9wdGlvbnMpO1xuICAgIGF3YWl0IHRoaXMuZW1pdFBpbm5pbmdFdmVudChvcHRpb25zLm5vZGVJZCwgR3JhcGhFeGVjdXRpb25FdmVudFR5cGUuTk9ERV9VTlBJTk5FRCk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIHtAbGluayBHcmFwaFBpbm5pbmdTZXJ2aWNlfSBiYWNrZWQgYnkgdGhpcyBlbmdpbmUncyB2YWx1ZSBzdG9yZVxuICAgKiBhZGFwdGVyLlxuICAgKi9cbiAgcHJpdmF0ZSBjcmVhdGVQaW5uaW5nU2VydmljZSgpOiBHcmFwaFBpbm5pbmdTZXJ2aWNlIHtcbiAgICBjb25zdCBzdG9yZSA9IG5ldyBHcmFwaFZhbHVlU3RvcmUodGhpcy52YWx1ZVN0b3JlQWRhcHRlcik7XG4gICAgcmV0dXJuIG5ldyBHcmFwaFBpbm5pbmdTZXJ2aWNlKFxuICAgICAgc3RvcmUsXG4gICAgICBuZXcgR3JhcGhQaW5uaW5nUG9saWN5KCksXG4gICAgICBuZXcgR3JhcGhQaW5uaW5nRGVwZW5kZW5jeVJlc29sdmVyKClcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEVtaXRzIGEgcGlubmluZy1yZWxhdGVkIGV2ZW50IHRvIGFsbCBvYnNlcnZlcnMuXG4gICAqL1xuICBwcml2YXRlIGFzeW5jIGVtaXRQaW5uaW5nRXZlbnQoXG4gICAgbm9kZUlkOiBzdHJpbmcsXG4gICAgdHlwZTogR3JhcGhFeGVjdXRpb25FdmVudFR5cGVcbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgZmFjdG9yeSA9IG5ldyBHcmFwaEV4ZWN1dGlvbkV2ZW50RmFjdG9yeSgpO1xuICAgIGNvbnN0IGV2ZW50ID0gZmFjdG9yeS5jcmVhdGUoe1xuICAgICAgaWQ6IFwiXCIsXG4gICAgICBzZXF1ZW5jZTogMCxcbiAgICAgIHRpbWVzdGFtcDogbmV3IERhdGUoKSxcbiAgICAgIHJ1bklkOiBcInBpbm5pbmdcIixcbiAgICAgIHdvcmtmbG93SWQ6IFwiXCIsXG4gICAgICB0eXBlLFxuICAgICAgbm9kZUlkLFxuICAgICAgcGF0aDogW10sXG4gICAgfSBhcyBPbWl0PEdyYXBoRXhlY3V0aW9uRXZlbnQsIFwiaWRcIiB8IFwic2VxdWVuY2VcIiB8IFwidGltZXN0YW1wXCI+KTtcbiAgICBhd2FpdCB0aGlzLmVtaXR0ZXIudXBkYXRlT2JzZXJ2ZXJzKGV2ZW50KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFeGVjdXRlcyBhIGxheWVyIG9mIG5vZGVzIHdpdGggdGhlIGNvbmZpZ3VyZWQgY29uY3VycmVuY3kuXG4gICAqL1xuICBwcml2YXRlIGFzeW5jIGV4ZWN1dGVMYXllcihcbiAgICBmcmFtZTogR3JhcGhFeGVjdXRpb25GcmFtZSxcbiAgICBwbGFuOiBHcmFwaEV4ZWN1dGlvblBsYW4sXG4gICAgbm9kZXM6IEdyYXBoRXhlY3V0aW9uUGxhbk5vZGVbXSxcbiAgICBvcHRzOiBHcmFwaEV4ZWN1dGlvbk9wdGlvbnMsXG4gICAgZW1pdEZuOiAoZXZlbnQ6IFBhcnRpYWw8R3JhcGhFeGVjdXRpb25FdmVudD4pID0+IFByb21pc2U8dm9pZD5cbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgY29uY3VycmVuY3kgPSBNYXRoLm1heChcbiAgICAgIDEsXG4gICAgICBvcHRzLmNvbmN1cnJlbmN5ID8/IEdSQVBIX0RFRkFVTFRfQ09OQ1VSUkVOQ1lcbiAgICApO1xuICAgIGNvbnN0IHF1ZXVlID0gWy4uLm5vZGVzXTtcblxuICAgIHdoaWxlIChxdWV1ZS5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCBiYXRjaCA9IHF1ZXVlLnNwbGljZSgwLCBjb25jdXJyZW5jeSk7XG4gICAgICBhd2FpdCBQcm9taXNlLmFsbChcbiAgICAgICAgYmF0Y2gubWFwKChub2RlKSA9PiB0aGlzLmV4ZWN1dGVOb2RlKGZyYW1lLCBwbGFuLCBub2RlLCBvcHRzLCBlbWl0Rm4pKVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRXhlY3V0ZXMgYSBzaW5nbGUgbm9kZS5cbiAgICovXG4gIHByaXZhdGUgYXN5bmMgZXhlY3V0ZU5vZGUoXG4gICAgZnJhbWU6IEdyYXBoRXhlY3V0aW9uRnJhbWUsXG4gICAgcGxhbjogR3JhcGhFeGVjdXRpb25QbGFuLFxuICAgIHBsYW5Ob2RlOiBHcmFwaEV4ZWN1dGlvblBsYW5Ob2RlLFxuICAgIG9wdHM6IEdyYXBoRXhlY3V0aW9uT3B0aW9ucyxcbiAgICBlbWl0Rm46IChldmVudDogUGFydGlhbDxHcmFwaEV4ZWN1dGlvbkV2ZW50PikgPT4gUHJvbWlzZTx2b2lkPlxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBzdGFydGVkQXQgPSBuZXcgRGF0ZSgpO1xuICAgIGNvbnN0IG5vZGVQYXRoID0gWy4uLihvcHRzLnBhdGggPz8gW10pLCBwbGFuTm9kZS5pZF07XG5cbiAgICBhd2FpdCB0aGlzLmVtaXRFdmVudChmcmFtZSwge1xuICAgICAgdHlwZTogR3JhcGhFeGVjdXRpb25FdmVudFR5cGUuTk9ERV9TVEFSVEVELFxuICAgICAgcnVuSWQ6IGZyYW1lLnJ1bklkLFxuICAgICAgd29ya2Zsb3dJZDogcGxhbi53b3JrZmxvd0lkLFxuICAgICAgbm9kZUlkOiBwbGFuTm9kZS5pZCxcbiAgICAgIHBhdGg6IG5vZGVQYXRoLFxuICAgICAgc3RhdHVzOiBHcmFwaEV4ZWN1dGlvblN0YXR1cy5SVU5OSU5HLFxuICAgIH0pO1xuXG4gICAgY29uc3QgaW5wdXRzID0gdGhpcy5yZXNvbHZlTm9kZUlucHV0cyhmcmFtZSwgcGxhbiwgcGxhbk5vZGUpO1xuXG4gICAgLy8gQ2FjaGUtaGl0OiBjaGVjayBmb3IgYSBwaW5uZWQgdmFsdWUgYmVmb3JlIGV4ZWN1dGluZyB0aGUgbm9kZVxuICAgIGlmIChvcHRzLnVzZVBpbm5lZFZhbHVlcykge1xuICAgICAgY29uc3QgY2FjaGVkID0gYXdhaXQgdGhpcy50cnlQaW5uZWRWYWx1ZShmcmFtZSwgcGxhbiwgcGxhbk5vZGUsIGlucHV0cyk7XG4gICAgICBpZiAoY2FjaGVkKSB7XG4gICAgICAgIGZyYW1lLnZhbHVlU3RvcmUuc2V0Tm9kZU91dHB1dHMocGxhbk5vZGUuaWQsIGNhY2hlZC5vdXRwdXRzKTtcbiAgICAgICAgdGhpcy5yb3V0ZU91dGdvaW5nRWRnZXMoZnJhbWUsIHBsYW4sIHBsYW5Ob2RlLCBjYWNoZWQub3V0cHV0cyk7XG5cbiAgICAgICAgY29uc3QgZmluaXNoZWRBdCA9IG5ldyBEYXRlKCk7XG4gICAgICAgIGNvbnN0IHJlc3VsdDogR3JhcGhOb2RlRXhlY3V0aW9uUmVzdWx0ID0ge1xuICAgICAgICAgIG5vZGVJZDogcGxhbk5vZGUuaWQsXG4gICAgICAgICAgc3RhdHVzOiBHcmFwaEV4ZWN1dGlvblN0YXR1cy5DQUNIRUQsXG4gICAgICAgICAgaW5wdXRzLFxuICAgICAgICAgIG91dHB1dHM6IGNhY2hlZC5vdXRwdXRzLFxuICAgICAgICAgIHN0YXJ0ZWRBdCxcbiAgICAgICAgICBmaW5pc2hlZEF0LFxuICAgICAgICAgIGZyb21DYWNoZTogdHJ1ZSxcbiAgICAgICAgICBwaW5uZWQ6IHRydWUsXG4gICAgICAgICAgZXZlbnRzOiBbXSxcbiAgICAgICAgfTtcbiAgICAgICAgZnJhbWUucmVjb3JkTm9kZVJlc3VsdChyZXN1bHQpO1xuXG4gICAgICAgIGF3YWl0IHRoaXMuZW1pdEV2ZW50KGZyYW1lLCB7XG4gICAgICAgICAgdHlwZTogR3JhcGhFeGVjdXRpb25FdmVudFR5cGUuTk9ERV9DQUNIRV9ISVQsXG4gICAgICAgICAgcnVuSWQ6IGZyYW1lLnJ1bklkLFxuICAgICAgICAgIHdvcmtmbG93SWQ6IHBsYW4ud29ya2Zsb3dJZCxcbiAgICAgICAgICBub2RlSWQ6IHBsYW5Ob2RlLmlkLFxuICAgICAgICAgIHBhdGg6IG5vZGVQYXRoLFxuICAgICAgICAgIHN0YXR1czogR3JhcGhFeGVjdXRpb25TdGF0dXMuQ0FDSEVELFxuICAgICAgICAgIHBheWxvYWQ6IHsgb3V0cHV0czogY2FjaGVkLm91dHB1dHMgfSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgYXdhaXQgdGhpcy5lbWl0RXZlbnQoZnJhbWUsIHtcbiAgICAgICAgICB0eXBlOiBHcmFwaEV4ZWN1dGlvbkV2ZW50VHlwZS5OT0RFX0NPTVBMRVRFRCxcbiAgICAgICAgICBydW5JZDogZnJhbWUucnVuSWQsXG4gICAgICAgICAgd29ya2Zsb3dJZDogcGxhbi53b3JrZmxvd0lkLFxuICAgICAgICAgIG5vZGVJZDogcGxhbk5vZGUuaWQsXG4gICAgICAgICAgcGF0aDogbm9kZVBhdGgsXG4gICAgICAgICAgc3RhdHVzOiBHcmFwaEV4ZWN1dGlvblN0YXR1cy5TVUNDRUVERUQsXG4gICAgICAgICAgcGF5bG9hZDogeyBvdXRwdXRzOiBjYWNoZWQub3V0cHV0cywgZnJvbUNhY2hlOiB0cnVlIH0sXG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGV4ZWN1dG9yID0gdGhpcy5jb25maWcucmVnaXN0cnkucmVzb2x2ZShwbGFuTm9kZS5raW5kKTtcbiAgICAgIGNvbnN0IGNvbnRleHQgPSBuZXcgR3JhcGhFeGVjdXRpb25Db250ZXh0KFxuICAgICAgICBmcmFtZS5ydW5JZCxcbiAgICAgICAgb3B0cy5wYXJlbnRSdW5JZCxcbiAgICAgICAgcGxhbi53b3JrZmxvdyxcbiAgICAgICAgcGxhbk5vZGUuZGVmaW5pdGlvbixcbiAgICAgICAgbm9kZVBhdGgsXG4gICAgICAgIGVtaXRGbixcbiAgICAgICAgb3B0cy5tZXRhZGF0YVxuICAgICAgKTtcblxuICAgICAgY29uc3Qgb3V0cHV0cyA9IGF3YWl0IGV4ZWN1dG9yLmV4ZWN1dGUoaW5wdXRzLCBjb250ZXh0KTtcbiAgICAgIGNvbnN0IHJlc29sdmVkT3V0cHV0cyA9IG91dHB1dHMgPz8ge307XG5cbiAgICAgIGZyYW1lLnZhbHVlU3RvcmUuc2V0Tm9kZU91dHB1dHMocGxhbk5vZGUuaWQsIHJlc29sdmVkT3V0cHV0cyk7XG4gICAgICB0aGlzLnJvdXRlT3V0Z29pbmdFZGdlcyhmcmFtZSwgcGxhbiwgcGxhbk5vZGUsIHJlc29sdmVkT3V0cHV0cyk7XG5cbiAgICAgIGNvbnN0IGZpbmlzaGVkQXQgPSBuZXcgRGF0ZSgpO1xuICAgICAgY29uc3QgcmVzdWx0OiBHcmFwaE5vZGVFeGVjdXRpb25SZXN1bHQgPSB7XG4gICAgICAgIG5vZGVJZDogcGxhbk5vZGUuaWQsXG4gICAgICAgIHN0YXR1czogR3JhcGhFeGVjdXRpb25TdGF0dXMuU1VDQ0VFREVELFxuICAgICAgICBpbnB1dHMsXG4gICAgICAgIG91dHB1dHM6IHJlc29sdmVkT3V0cHV0cyxcbiAgICAgICAgc3RhcnRlZEF0LFxuICAgICAgICBmaW5pc2hlZEF0LFxuICAgICAgICBldmVudHM6IFtdLFxuICAgICAgfTtcbiAgICAgIGZyYW1lLnJlY29yZE5vZGVSZXN1bHQocmVzdWx0KTtcblxuICAgICAgYXdhaXQgdGhpcy5lbWl0RXZlbnQoZnJhbWUsIHtcbiAgICAgICAgdHlwZTogR3JhcGhFeGVjdXRpb25FdmVudFR5cGUuTk9ERV9DT01QTEVURUQsXG4gICAgICAgIHJ1bklkOiBmcmFtZS5ydW5JZCxcbiAgICAgICAgd29ya2Zsb3dJZDogcGxhbi53b3JrZmxvd0lkLFxuICAgICAgICBub2RlSWQ6IHBsYW5Ob2RlLmlkLFxuICAgICAgICBwYXRoOiBub2RlUGF0aCxcbiAgICAgICAgc3RhdHVzOiBHcmFwaEV4ZWN1dGlvblN0YXR1cy5TVUNDRUVERUQsXG4gICAgICAgIHBheWxvYWQ6IHsgb3V0cHV0czogcmVzb2x2ZWRPdXRwdXRzIH0sXG4gICAgICB9KTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc3QgZmluaXNoZWRBdCA9IG5ldyBEYXRlKCk7XG4gICAgICBjb25zdCBlcnJvclBheWxvYWQgPSB0aGlzLnRvRXJyb3JQYXlsb2FkKGVycm9yKTtcbiAgICAgIGNvbnN0IHJlc3VsdDogR3JhcGhOb2RlRXhlY3V0aW9uUmVzdWx0ID0ge1xuICAgICAgICBub2RlSWQ6IHBsYW5Ob2RlLmlkLFxuICAgICAgICBzdGF0dXM6IEdyYXBoRXhlY3V0aW9uU3RhdHVzLkZBSUxFRCxcbiAgICAgICAgaW5wdXRzLFxuICAgICAgICBlcnJvcjogZXJyb3JQYXlsb2FkLFxuICAgICAgICBzdGFydGVkQXQsXG4gICAgICAgIGZpbmlzaGVkQXQsXG4gICAgICAgIGV2ZW50czogW10sXG4gICAgICB9O1xuICAgICAgZnJhbWUucmVjb3JkTm9kZVJlc3VsdChyZXN1bHQpO1xuXG4gICAgICBhd2FpdCB0aGlzLmVtaXRFdmVudChmcmFtZSwge1xuICAgICAgICB0eXBlOiBHcmFwaEV4ZWN1dGlvbkV2ZW50VHlwZS5OT0RFX0ZBSUxFRCxcbiAgICAgICAgcnVuSWQ6IGZyYW1lLnJ1bklkLFxuICAgICAgICB3b3JrZmxvd0lkOiBwbGFuLndvcmtmbG93SWQsXG4gICAgICAgIG5vZGVJZDogcGxhbk5vZGUuaWQsXG4gICAgICAgIHBhdGg6IG5vZGVQYXRoLFxuICAgICAgICBzdGF0dXM6IEdyYXBoRXhlY3V0aW9uU3RhdHVzLkZBSUxFRCxcbiAgICAgICAgZXJyb3I6IGVycm9yUGF5bG9hZCxcbiAgICAgIH0pO1xuXG4gICAgICBpZiAob3B0cy5mYWlsRmFzdCA/PyB0cnVlKSB0aHJvdyBlcnJvcjtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmVzb2x2ZXMgYSBub2RlJ3MgaW5wdXQgdmFsdWVzIGZyb20gaW5jb21pbmcgZWRnZXMuXG4gICAqL1xuICBwcml2YXRlIHJlc29sdmVOb2RlSW5wdXRzKFxuICAgIGZyYW1lOiBHcmFwaEV4ZWN1dGlvbkZyYW1lLFxuICAgIHBsYW46IEdyYXBoRXhlY3V0aW9uUGxhbixcbiAgICBwbGFuTm9kZTogR3JhcGhFeGVjdXRpb25QbGFuTm9kZVxuICApOiBHcmFwaEV4ZWN1dGlvblZhbHVlcyB7XG4gICAgY29uc3QgaW5wdXRzOiBHcmFwaEV4ZWN1dGlvblZhbHVlcyA9IHt9O1xuICAgIGNvbnN0IGluY29taW5nID0gcGxhbi5pbmNvbWluZ0J5Tm9kZS5nZXQocGxhbk5vZGUuaWQpID8/IFtdO1xuICAgIGZvciAoY29uc3QgZWRnZSBvZiBpbmNvbWluZykge1xuICAgICAgaW5wdXRzW2VkZ2UudGFyZ2V0UG9ydF0gPSBmcmFtZS52YWx1ZVN0b3JlLmdldFBvcnQoXG4gICAgICAgIGVkZ2Uuc291cmNlTm9kZUlkLFxuICAgICAgICBlZGdlLnNvdXJjZVBvcnRcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiBpbnB1dHM7XG4gIH1cblxuICAvKipcbiAgICogQXR0ZW1wdHMgdG8gcmVhZCBhIHBpbm5lZCB2YWx1ZSBmb3IgdGhlIG5vZGUuIFJldHVybnMgdGhlIGNhY2hlZCBvdXRwdXRzXG4gICAqIHdoZW4gYSB2YWxpZCBwaW5uZWQgdmFsdWUgZXhpc3RzLCBvciBgdW5kZWZpbmVkYCB0byBwcm9jZWVkIHdpdGggbm9ybWFsXG4gICAqIGV4ZWN1dGlvbi5cbiAgICovXG4gIHByaXZhdGUgYXN5bmMgdHJ5UGlubmVkVmFsdWUoXG4gICAgZnJhbWU6IEdyYXBoRXhlY3V0aW9uRnJhbWUsXG4gICAgcGxhbjogR3JhcGhFeGVjdXRpb25QbGFuLFxuICAgIHBsYW5Ob2RlOiBHcmFwaEV4ZWN1dGlvblBsYW5Ob2RlLFxuICAgIGlucHV0czogR3JhcGhFeGVjdXRpb25WYWx1ZXNcbiAgKTogUHJvbWlzZTxHcmFwaENhY2hlZFZhbHVlIHwgdW5kZWZpbmVkPiB7XG4gICAgY29uc3QgcG9saWN5ID0gbmV3IEdyYXBoUGlubmluZ1BvbGljeSgpO1xuICAgIGlmICghcG9saWN5LnNob3VsZFVzZVBpbm5lZFZhbHVlKHBsYW5Ob2RlKSkgcmV0dXJuIHVuZGVmaW5lZDtcblxuICAgIGNvbnN0IHNlcnZpY2UgPSB0aGlzLmNyZWF0ZVBpbm5pbmdTZXJ2aWNlKCk7XG4gICAgY29uc3QgZGVwRmluZ2VycHJpbnRzID0gdGhpcy5jb21wdXRlRGVwZW5kZW5jeUZpbmdlcnByaW50cyhmcmFtZSwgcGxhbiwgcGxhbk5vZGUuaWQpO1xuICAgIHJldHVybiBzZXJ2aWNlLnJlYWRQaW5uZWRWYWx1ZShcbiAgICAgIHBsYW4ud29ya2Zsb3csXG4gICAgICBwbGFuTm9kZSxcbiAgICAgIGlucHV0cyxcbiAgICAgIGRlcEZpbmdlcnByaW50c1xuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogUmVjdXJzaXZlbHkgY29tcHV0ZXMgZmluZ2VycHJpbnRzIGZvciBhbGwgdXBzdHJlYW0gZGVwZW5kZW5jaWVzIG9mIGEgbm9kZVxuICAgKiB1c2luZyB0aGUgcmVzdWx0cyBhbHJlYWR5IGFjY3VtdWxhdGVkIGluIHRoZSBmcmFtZS5cbiAgICovXG4gIHByaXZhdGUgY29tcHV0ZURlcGVuZGVuY3lGaW5nZXJwcmludHMoXG4gICAgZnJhbWU6IEdyYXBoRXhlY3V0aW9uRnJhbWUsXG4gICAgcGxhbjogR3JhcGhFeGVjdXRpb25QbGFuLFxuICAgIG5vZGVJZDogc3RyaW5nXG4gICk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4ge1xuICAgIGNvbnN0IHNlcnZpY2UgPSB0aGlzLmNyZWF0ZVBpbm5pbmdTZXJ2aWNlKCk7XG4gICAgY29uc3QgZGVwUmVzb2x2ZXIgPSBuZXcgR3JhcGhQaW5uaW5nRGVwZW5kZW5jeVJlc29sdmVyKCk7XG4gICAgY29uc3QgZGVwcyA9IGRlcFJlc29sdmVyLmdldERlcGVuZGVuY2llcyhwbGFuLCBub2RlSWQpO1xuICAgIGNvbnN0IGZpbmdlcnByaW50czogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHt9O1xuICAgIGZvciAoY29uc3QgZGVwIG9mIGRlcHMpIHtcbiAgICAgIGNvbnN0IG5vZGUgPSBwbGFuLm5vZGVzLmZpbmQoKG4pID0+IG4uaWQgPT09IGRlcCk7XG4gICAgICBpZiAobm9kZSkge1xuICAgICAgICBjb25zdCBkZXBSZXN1bHQgPSBmcmFtZS5ub2RlUmVzdWx0cy5nZXQoZGVwKTtcbiAgICAgICAgY29uc3QgaW5wdXRzID0gZGVwUmVzdWx0Py5pbnB1dHMgPz8ge307XG4gICAgICAgIGNvbnN0IG5lc3RlZERlcHMgPSB0aGlzLmNvbXB1dGVEZXBlbmRlbmN5RmluZ2VycHJpbnRzKGZyYW1lLCBwbGFuLCBkZXApO1xuICAgICAgICBmaW5nZXJwcmludHNbZGVwXSA9IHNlcnZpY2UuY29tcHV0ZUZpbmdlcnByaW50KFxuICAgICAgICAgIHBsYW4ud29ya2Zsb3csXG4gICAgICAgICAgbm9kZSxcbiAgICAgICAgICBpbnB1dHMsXG4gICAgICAgICAgbmVzdGVkRGVwc1xuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZmluZ2VycHJpbnRzO1xuICB9XG5cbiAgLyoqXG4gICAqIFJvdXRlcyBhIG5vZGUncyBvdXRwdXRzIHRvIGRvd25zdHJlYW0gaW5wdXRzIGFuZCB3b3JrZmxvdyBvdXRwdXRzLlxuICAgKi9cbiAgcHJpdmF0ZSByb3V0ZU91dGdvaW5nRWRnZXMoXG4gICAgZnJhbWU6IEdyYXBoRXhlY3V0aW9uRnJhbWUsXG4gICAgcGxhbjogR3JhcGhFeGVjdXRpb25QbGFuLFxuICAgIHBsYW5Ob2RlOiBHcmFwaEV4ZWN1dGlvblBsYW5Ob2RlLFxuICAgIG91dHB1dHM6IEdyYXBoRXhlY3V0aW9uVmFsdWVzXG4gICk6IHZvaWQge1xuICAgIGNvbnN0IG91dGdvaW5nID0gcGxhbi5vdXRnb2luZ0J5Tm9kZS5nZXQocGxhbk5vZGUuaWQpID8/IFtdO1xuICAgIGZvciAoY29uc3QgZWRnZSBvZiBvdXRnb2luZykge1xuICAgICAgY29uc3QgdmFsdWUgPSBvdXRwdXRzW2VkZ2Uuc291cmNlUG9ydF07XG4gICAgICBpZiAoZWRnZS50YXJnZXROb2RlSWQgPT09IEdSQVBIX1dPUktGTE9XX0JPVU5EQVJZKSB7XG4gICAgICAgIGZyYW1lLnZhbHVlU3RvcmUuc2V0V29ya2Zsb3dPdXRwdXQoZWRnZS50YXJnZXRQb3J0LCB2YWx1ZSk7XG4gICAgICB9XG4gICAgICB0aGlzLmVtaXRFdmVudChmcmFtZSwge1xuICAgICAgICB0eXBlOiBHcmFwaEV4ZWN1dGlvbkV2ZW50VHlwZS5FREdFX1ZBTFVFX1JPVVRFRCxcbiAgICAgICAgcnVuSWQ6IGZyYW1lLnJ1bklkLFxuICAgICAgICB3b3JrZmxvd0lkOiBwbGFuLndvcmtmbG93SWQsXG4gICAgICAgIGVkZ2VJZDogZWRnZS5pZCxcbiAgICAgICAgbm9kZUlkOiBwbGFuTm9kZS5pZCxcbiAgICAgICAgcGF0aDogW10sXG4gICAgICAgIHBheWxvYWQ6IHsgZWRnZSwgdmFsdWUgfSxcbiAgICAgIH0pLmNhdGNoKCgpID0+IHtcbiAgICAgICAgLy8gb2JzZXJ2ZXIgZmFpbHVyZXMgbXVzdCBub3QgY3Jhc2hcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBFbWl0cyBhbiBldmVudCwgcmVjb3JkcyBpdCBpbiB0aGUgZnJhbWUsIGFuZCBkaXNwYXRjaGVzIHRvIG9ic2VydmVycy5cbiAgICovXG4gIHByaXZhdGUgYXN5bmMgZW1pdEV2ZW50KFxuICAgIGZyYW1lOiBHcmFwaEV4ZWN1dGlvbkZyYW1lLFxuICAgIHBhcnRpYWw6IFBhcnRpYWw8R3JhcGhFeGVjdXRpb25FdmVudD4gJiB7XG4gICAgICB0eXBlOiBHcmFwaEV4ZWN1dGlvbkV2ZW50VHlwZTtcbiAgICAgIHJ1bklkOiBHcmFwaFJ1bklkO1xuICAgICAgd29ya2Zsb3dJZDogc3RyaW5nO1xuICAgICAgcGF0aDogc3RyaW5nW107XG4gICAgfVxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBldmVudCA9IGZyYW1lLmV2ZW50RmFjdG9yeS5jcmVhdGUoe1xuICAgICAgaWQ6IFwiXCIsXG4gICAgICBzZXF1ZW5jZTogMCxcbiAgICAgIHRpbWVzdGFtcDogbmV3IERhdGUoKSxcbiAgICAgIC4uLnBhcnRpYWwsXG4gICAgfSBhcyBPbWl0PEdyYXBoRXhlY3V0aW9uRXZlbnQsIFwiaWRcIiB8IFwic2VxdWVuY2VcIiB8IFwidGltZXN0YW1wXCI+KTtcbiAgICBmcmFtZS5hcHBlbmRFdmVudChldmVudCk7XG4gICAgYXdhaXQgdGhpcy5lbWl0dGVyLnVwZGF0ZU9ic2VydmVycyhldmVudCk7XG4gIH1cblxuICAvKipcbiAgICogTWVyZ2VzIGRlZmF1bHQgb3B0aW9ucyB3aXRoIHRoZSBnaXZlbiBvcHRpb25zLlxuICAgKi9cbiAgcHJpdmF0ZSBtZXJnZU9wdGlvbnMoXG4gICAgb3B0aW9uczogR3JhcGhFeGVjdXRpb25PcHRpb25zXG4gICk6IEdyYXBoRXhlY3V0aW9uT3B0aW9ucyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbmN1cnJlbmN5OiBHUkFQSF9ERUZBVUxUX0NPTkNVUlJFTkNZLFxuICAgICAgZmFpbEZhc3Q6IHRydWUsXG4gICAgICB2YWxpZGF0ZUlucHV0czogdHJ1ZSxcbiAgICAgIHZhbGlkYXRlT3V0cHV0czogdHJ1ZSxcbiAgICAgIHVzZVBpbm5lZFZhbHVlczogdHJ1ZSxcbiAgICAgIHdyaXRlVGhyb3VnaENhY2hlOiBmYWxzZSxcbiAgICAgIHBhdGg6IFtdLFxuICAgICAgbWV0YWRhdGE6IHt9LFxuICAgICAgLi4udGhpcy5kZWZhdWx0T3B0aW9ucyxcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZW5lcmF0ZXMgYSB1bmlxdWUgcnVuIGlkLlxuICAgKi9cbiAgcHJpdmF0ZSBnZW5lcmF0ZVJ1bklkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIChcbiAgICAgIGdsb2JhbFRoaXMuY3J5cHRvPy5yYW5kb21VVUlEPy4oKSA/P1xuICAgICAgYGdyYXBoLXJ1bi0ke0RhdGUubm93KCl9LSR7TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc2xpY2UoMil9YFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydHMgYW4gZXJyb3IgaW50byBhIHNlcmlhbGl6ZWQgcGF5bG9hZC5cbiAgICovXG4gIHByaXZhdGUgdG9FcnJvclBheWxvYWQoZXJyb3I6IHVua25vd24pOiBHcmFwaEV4ZWN1dGlvbkVycm9yUGF5bG9hZCB7XG4gICAgaWYgKGVycm9yIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIG5hbWU6IGVycm9yLm5hbWUsXG4gICAgICAgIG1lc3NhZ2U6IGVycm9yLm1lc3NhZ2UsXG4gICAgICAgIHN0YWNrOiBlcnJvci5zdGFjayxcbiAgICAgICAgY29kZTpcbiAgICAgICAgICAoZXJyb3IgYXMgYW55KS5ncmFwaENvZGUgPz9cbiAgICAgICAgICAodHlwZW9mIChlcnJvciBhcyBhbnkpLmNvZGUgPT09IFwibnVtYmVyXCJcbiAgICAgICAgICAgID8gU3RyaW5nKChlcnJvciBhcyBhbnkpLmNvZGUpXG4gICAgICAgICAgICA6IChlcnJvciBhcyBhbnkpLmNvZGUpLFxuICAgICAgfTtcbiAgICB9XG4gICAgcmV0dXJuIHsgbmFtZTogXCJVbmtub3duRXJyb3JcIiwgbWVzc2FnZTogU3RyaW5nKGVycm9yKSB9O1xuICB9XG59XG4iXX0=
402
+ //# sourceMappingURL=GraphExecutionEngine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GraphExecutionEngine.js","sourceRoot":"","sources":["../../../../src/graph/execution/GraphExecutionEngine.ts"],"names":[],"mappings":"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"}
@@ -24,4 +24,4 @@ export class GraphExecutionFrame {
24
24
  this.finishedAt = new Date();
25
25
  }
26
26
  }
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JhcGhFeGVjdXRpb25GcmFtZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9ncmFwaC9leGVjdXRpb24vR3JhcGhFeGVjdXRpb25GcmFtZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFjQTs7R0FFRztBQUNILE1BQU0sT0FBTyxtQkFBbUI7SUFXOUIsWUFDRSxLQUFpQixFQUNqQixJQUF3QixFQUN4QixVQUEyQixFQUMzQixZQUF3QztRQVRqQyxnQkFBVyxHQUEwQyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQy9ELFdBQU0sR0FBMEIsRUFBRSxDQUFDO1FBVTFDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1FBQzdCLElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRUQsdUNBQXVDO0lBQ3ZDLGdCQUFnQixDQUFDLE1BQWdDO1FBQy9DLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVELCtDQUErQztJQUMvQyxXQUFXLENBQUMsS0FBMEI7UUFDcEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVELGlDQUFpQztJQUNqQyxNQUFNO1FBQ0osSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO0lBQy9CLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQG1vZHVsZSBpbnRlZ3JhdGlvbnMvZ3JhcGgvZXhlY3V0aW9uL0dyYXBoRXhlY3V0aW9uRnJhbWVcbiAqIEBzdW1tYXJ5IFBlci1ydW4gc3RhdGUgY29udGFpbmVyIGZvciBncmFwaCBleGVjdXRpb24uXG4gKiBAZGVzY3JpcHRpb24gSG9sZHMgdGhlIHJ1biBpZCwgZXhlY3V0aW9uIHBsYW4sIHZhbHVlIHN0b3JlLCBhY2N1bXVsYXRlZCBub2RlIHJlc3VsdHMsIGV2ZW50cywgYW5kIHRpbWluZyBmb3IgYSBzaW5nbGUgd29ya2Zsb3cgZXhlY3V0aW9uLlxuICovXG5pbXBvcnQgdHlwZSB7IEdyYXBoRXhlY3V0aW9uUGxhbiB9IGZyb20gXCIuLi9wbGFubmluZy9HcmFwaEV4ZWN1dGlvblBsYW5cIjtcbmltcG9ydCB0eXBlIHsgR3JhcGhWYWx1ZVN0b3JlIH0gZnJvbSBcIi4uL3N0b3JlL0dyYXBoVmFsdWVTdG9yZVwiO1xuaW1wb3J0IHR5cGUgeyBHcmFwaEV4ZWN1dGlvbkV2ZW50RmFjdG9yeSB9IGZyb20gXCIuLi9ldmVudHMvR3JhcGhFeGVjdXRpb25FdmVudEZhY3RvcnlcIjtcbmltcG9ydCB0eXBlIHtcbiAgR3JhcGhFeGVjdXRpb25FdmVudCxcbiAgR3JhcGhOb2RlRXhlY3V0aW9uUmVzdWx0LFxuICBHcmFwaFJ1bklkLFxufSBmcm9tIFwiLi4vdHlwZXNcIjtcblxuLyoqXG4gKiBNdXRhYmxlIHN0YXRlIGZvciBhIHNpbmdsZSBncmFwaCBleGVjdXRpb24gcnVuLlxuICovXG5leHBvcnQgY2xhc3MgR3JhcGhFeGVjdXRpb25GcmFtZSB7XG4gIHJlYWRvbmx5IHJ1bklkOiBHcmFwaFJ1bklkO1xuICByZWFkb25seSBwbGFuOiBHcmFwaEV4ZWN1dGlvblBsYW47XG4gIHJlYWRvbmx5IHZhbHVlU3RvcmU6IEdyYXBoVmFsdWVTdG9yZTtcbiAgcmVhZG9ubHkgZXZlbnRGYWN0b3J5OiBHcmFwaEV4ZWN1dGlvbkV2ZW50RmFjdG9yeTtcbiAgcmVhZG9ubHkgc3RhcnRlZEF0OiBEYXRlO1xuICByZWFkb25seSBub2RlUmVzdWx0czogTWFwPHN0cmluZywgR3JhcGhOb2RlRXhlY3V0aW9uUmVzdWx0PiA9IG5ldyBNYXAoKTtcbiAgcmVhZG9ubHkgZXZlbnRzOiBHcmFwaEV4ZWN1dGlvbkV2ZW50W10gPSBbXTtcblxuICBmaW5pc2hlZEF0PzogRGF0ZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBydW5JZDogR3JhcGhSdW5JZCxcbiAgICBwbGFuOiBHcmFwaEV4ZWN1dGlvblBsYW4sXG4gICAgdmFsdWVTdG9yZTogR3JhcGhWYWx1ZVN0b3JlLFxuICAgIGV2ZW50RmFjdG9yeTogR3JhcGhFeGVjdXRpb25FdmVudEZhY3RvcnlcbiAgKSB7XG4gICAgdGhpcy5ydW5JZCA9IHJ1bklkO1xuICAgIHRoaXMucGxhbiA9IHBsYW47XG4gICAgdGhpcy52YWx1ZVN0b3JlID0gdmFsdWVTdG9yZTtcbiAgICB0aGlzLmV2ZW50RmFjdG9yeSA9IGV2ZW50RmFjdG9yeTtcbiAgICB0aGlzLnN0YXJ0ZWRBdCA9IG5ldyBEYXRlKCk7XG4gIH1cblxuICAvKiogUmVjb3JkcyBhIG5vZGUgZXhlY3V0aW9uIHJlc3VsdC4gKi9cbiAgcmVjb3JkTm9kZVJlc3VsdChyZXN1bHQ6IEdyYXBoTm9kZUV4ZWN1dGlvblJlc3VsdCk6IHZvaWQge1xuICAgIHRoaXMubm9kZVJlc3VsdHMuc2V0KHJlc3VsdC5ub2RlSWQsIHJlc3VsdCk7XG4gIH1cblxuICAvKiogQXBwZW5kcyBhbiBldmVudCB0byB0aGUgcnVuJ3MgZXZlbnQgbG9nLiAqL1xuICBhcHBlbmRFdmVudChldmVudDogR3JhcGhFeGVjdXRpb25FdmVudCk6IHZvaWQge1xuICAgIHRoaXMuZXZlbnRzLnB1c2goZXZlbnQpO1xuICB9XG5cbiAgLyoqIE1hcmtzIHRoZSBydW4gYXMgZmluaXNoZWQuICovXG4gIGZpbmlzaCgpOiB2b2lkIHtcbiAgICB0aGlzLmZpbmlzaGVkQXQgPSBuZXcgRGF0ZSgpO1xuICB9XG59XG4iXX0=
27
+ //# sourceMappingURL=GraphExecutionFrame.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GraphExecutionFrame.js","sourceRoot":"","sources":["../../../../src/graph/execution/GraphExecutionFrame.ts"],"names":[],"mappings":"AAcA;;GAEG;AACH,MAAM,OAAO,mBAAmB;IAW9B,YACE,KAAiB,EACjB,IAAwB,EACxB,UAA2B,EAC3B,YAAwC;QATjC,gBAAW,GAA0C,IAAI,GAAG,EAAE,CAAC;QAC/D,WAAM,GAA0B,EAAE,CAAC;QAU1C,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;IAC9B,CAAC;IAED,uCAAuC;IACvC,gBAAgB,CAAC,MAAgC;QAC/C,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9C,CAAC;IAED,+CAA+C;IAC/C,WAAW,CAAC,KAA0B;QACpC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IAED,iCAAiC;IACjC,MAAM;QACJ,IAAI,CAAC,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC;IAC/B,CAAC;CACF"}
@@ -23,4 +23,4 @@ export function buildGraphExecutionResult(frame, workflow, inputs, status, metad
23
23
  metadata,
24
24
  };
25
25
  }
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JhcGhFeGVjdXRpb25SZXN1bHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZ3JhcGgvZXhlY3V0aW9uL0dyYXBoRXhlY3V0aW9uUmVzdWx0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVVBOztHQUVHO0FBQ0gsTUFBTSxVQUFVLHlCQUF5QixDQUN2QyxLQUEwQixFQUMxQixRQUFpQyxFQUNqQyxNQUE0QixFQUM1QixNQUE0QixFQUM1QixRQUFrQztJQUVsQyxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDckQsTUFBTSxXQUFXLEdBQTZDLEVBQUUsQ0FBQztJQUNqRSxLQUFLLE1BQU0sQ0FBQyxFQUFFLEVBQUUsTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzdDLFdBQVcsQ0FBQyxFQUFFLENBQUMsR0FBRyxNQUFNLENBQUM7SUFDM0IsQ0FBQztJQUNELE1BQU0sTUFBTSxHQUEwQixDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3hELE1BQU0sS0FBSyxHQUFlLEtBQUssQ0FBQyxLQUFLLENBQUM7SUFFdEMsT0FBTztRQUNMLEtBQUs7UUFDTCxVQUFVLEVBQUUsUUFBUSxDQUFDLElBQUk7UUFDekIsTUFBTTtRQUNOLFFBQVE7UUFDUixNQUFNLEVBQUUsRUFBRSxHQUFHLE1BQU0sRUFBRTtRQUNyQixPQUFPO1FBQ1AsV0FBVztRQUNYLE1BQU07UUFDTixTQUFTLEVBQUUsS0FBSyxDQUFDLFNBQVM7UUFDMUIsVUFBVSxFQUFFLEtBQUssQ0FBQyxVQUFVO1FBQzVCLFFBQVE7S0FDVCxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQG1vZHVsZSBpbnRlZ3JhdGlvbnMvZ3JhcGgvZXhlY3V0aW9uL0dyYXBoRXhlY3V0aW9uUmVzdWx0XG4gKiBAc3VtbWFyeSBIZWxwZXIgZm9yIGJ1aWxkaW5nIEdyYXBoRXhlY3V0aW9uUmVzdWx0IG9iamVjdHMuXG4gKiBAZGVzY3JpcHRpb24gUHJvdmlkZXMgYSBidWlsZGVyIGZ1bmN0aW9uIHRoYXQgYXNzZW1ibGVzIGEgcmVzdWx0IGZyb20gYSBmcmFtZS5cbiAqL1xuaW1wb3J0IHR5cGUgeyBHcmFwaEV4ZWN1dGlvbkZyYW1lIH0gZnJvbSBcIi4vR3JhcGhFeGVjdXRpb25GcmFtZVwiO1xuaW1wb3J0IHR5cGUgeyBHcmFwaEV4ZWN1dGlvbkV2ZW50LCBHcmFwaEV4ZWN1dGlvblJlc3VsdCwgR3JhcGhFeGVjdXRpb25WYWx1ZXMsIEdyYXBoTm9kZUV4ZWN1dGlvblJlc3VsdCwgR3JhcGhSdW5JZCB9IGZyb20gXCIuLi90eXBlc1wiO1xuaW1wb3J0IHR5cGUgeyBHcmFwaEV4ZWN1dGlvblN0YXR1cyB9IGZyb20gXCIuLi9jb25zdGFudHNcIjtcbmltcG9ydCB0eXBlIHsgR3JhcGhXb3JrZmxvd0RlZmluaXRpb24gfSBmcm9tIFwiQGRlY2FmLXRzL3VpLWRlY29yYXRvcnMvZ3JhcGhcIjtcblxuLyoqXG4gKiBCdWlsZHMgYSB7QGxpbmsgR3JhcGhFeGVjdXRpb25SZXN1bHR9IGZyb20gYSBjb21wbGV0ZWQgZnJhbWUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBidWlsZEdyYXBoRXhlY3V0aW9uUmVzdWx0KFxuICBmcmFtZTogR3JhcGhFeGVjdXRpb25GcmFtZSxcbiAgd29ya2Zsb3c6IEdyYXBoV29ya2Zsb3dEZWZpbml0aW9uLFxuICBpbnB1dHM6IEdyYXBoRXhlY3V0aW9uVmFsdWVzLFxuICBzdGF0dXM6IEdyYXBoRXhlY3V0aW9uU3RhdHVzLFxuICBtZXRhZGF0YT86IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4pOiBHcmFwaEV4ZWN1dGlvblJlc3VsdCB7XG4gIGNvbnN0IG91dHB1dHMgPSBmcmFtZS52YWx1ZVN0b3JlLmdldFdvcmtmbG93VmFsdWVzKCk7XG4gIGNvbnN0IG5vZGVSZXN1bHRzOiBSZWNvcmQ8c3RyaW5nLCBHcmFwaE5vZGVFeGVjdXRpb25SZXN1bHQ+ID0ge307XG4gIGZvciAoY29uc3QgW2lkLCByZXN1bHRdIG9mIGZyYW1lLm5vZGVSZXN1bHRzKSB7XG4gICAgbm9kZVJlc3VsdHNbaWRdID0gcmVzdWx0O1xuICB9XG4gIGNvbnN0IGV2ZW50czogR3JhcGhFeGVjdXRpb25FdmVudFtdID0gWy4uLmZyYW1lLmV2ZW50c107XG4gIGNvbnN0IHJ1bklkOiBHcmFwaFJ1bklkID0gZnJhbWUucnVuSWQ7XG5cbiAgcmV0dXJuIHtcbiAgICBydW5JZCxcbiAgICB3b3JrZmxvd0lkOiB3b3JrZmxvdy5uYW1lLFxuICAgIHN0YXR1cyxcbiAgICB3b3JrZmxvdyxcbiAgICBpbnB1dHM6IHsgLi4uaW5wdXRzIH0sXG4gICAgb3V0cHV0cyxcbiAgICBub2RlUmVzdWx0cyxcbiAgICBldmVudHMsXG4gICAgc3RhcnRlZEF0OiBmcmFtZS5zdGFydGVkQXQsXG4gICAgZmluaXNoZWRBdDogZnJhbWUuZmluaXNoZWRBdCxcbiAgICBtZXRhZGF0YSxcbiAgfTtcbn1cbiJdfQ==
26
+ //# sourceMappingURL=GraphExecutionResult.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GraphExecutionResult.js","sourceRoot":"","sources":["../../../../src/graph/execution/GraphExecutionResult.ts"],"names":[],"mappings":"AAUA;;GAEG;AACH,MAAM,UAAU,yBAAyB,CACvC,KAA0B,EAC1B,QAAiC,EACjC,MAA4B,EAC5B,MAA4B,EAC5B,QAAkC;IAElC,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC;IACrD,MAAM,WAAW,GAA6C,EAAE,CAAC;IACjE,KAAK,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;QAC7C,WAAW,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC;IAC3B,CAAC;IACD,MAAM,MAAM,GAA0B,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;IACxD,MAAM,KAAK,GAAe,KAAK,CAAC,KAAK,CAAC;IAEtC,OAAO;QACL,KAAK;QACL,UAAU,EAAE,QAAQ,CAAC,IAAI;QACzB,MAAM;QACN,QAAQ;QACR,MAAM,EAAE,EAAE,GAAG,MAAM,EAAE;QACrB,OAAO;QACP,WAAW;QACX,MAAM;QACN,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,QAAQ;KACT,CAAC;AACJ,CAAC"}
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JhcGhOb2RlRXhlY3V0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZ3JhcGgvZXhlY3V0aW9uL0dyYXBoTm9kZUV4ZWN1dG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBtb2R1bGUgaW50ZWdyYXRpb25zL2dyYXBoL2V4ZWN1dGlvbi9HcmFwaE5vZGVFeGVjdXRvclxuICogQHN1bW1hcnkgSW50ZXJmYWNlIGltcGxlbWVudGVkIGJ5IGV2ZXJ5IGdyYXBoIG5vZGUgZXhlY3V0b3IuXG4gKiBAZGVzY3JpcHRpb24gQSBub2RlIGV4ZWN1dG9yIHJlY2VpdmVzIHRoZSBub2RlJ3MgcmVzb2x2ZWQgaW5wdXQgdmFsdWVzIGFuZCBhIHtAbGluayBHcmFwaEV4ZWN1dGlvbkNvbnRleHR9LCBhbmQgcmV0dXJucyB0aGUgbm9kZSdzIG91dHB1dCB2YWx1ZXMuXG4gKi9cbmltcG9ydCB0eXBlIHsgR3JhcGhFeGVjdXRpb25Db250ZXh0IH0gZnJvbSBcIi4vR3JhcGhFeGVjdXRpb25Db250ZXh0XCI7XG5pbXBvcnQgdHlwZSB7IEdyYXBoRXhlY3V0aW9uVmFsdWVzIH0gZnJvbSBcIi4uL3R5cGVzXCI7XG5cbi8qKlxuICogRXhlY3V0b3IgZm9yIGEgc3BlY2lmaWMgZ3JhcGggbm9kZSBraW5kLlxuICpcbiAqIEltcGxlbWVudGF0aW9ucyBhcmUgcmVnaXN0ZXJlZCBpbiB0aGUge0BsaW5rIEdyYXBoTm9kZUV4ZWN1dG9yUmVnaXN0cnl9XG4gKiBhbmQgcmVzb2x2ZWQgYnkgdGhlIGVuZ2luZSB1c2luZyB0aGUgbm9kZSdzIGBraW5kYC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHcmFwaE5vZGVFeGVjdXRvcjxcbiAgSW5wdXQgZXh0ZW5kcyBHcmFwaEV4ZWN1dGlvblZhbHVlcyA9IEdyYXBoRXhlY3V0aW9uVmFsdWVzLFxuICBPdXRwdXQgZXh0ZW5kcyBHcmFwaEV4ZWN1dGlvblZhbHVlcyA9IEdyYXBoRXhlY3V0aW9uVmFsdWVzLFxuPiB7XG4gIC8qKlxuICAgKiBFeGVjdXRlcyB0aGUgbm9kZSBsb2dpYy5cbiAgICpcbiAgICogQHBhcmFtIGlucHV0IC0gUmVzb2x2ZWQgaW5wdXQgdmFsdWVzIGtleWVkIGJ5IHBvcnQgbmFtZS5cbiAgICogQHBhcmFtIGNvbnRleHQgLSBEZWNhZiBjb250ZXh0IGZvciBlbWl0dGluZyBwcm9ncmVzcyBhbmQgZXZlbnRzLlxuICAgKiBAcmV0dXJucyBUaGUgbm9kZSdzIG91dHB1dCB2YWx1ZXMga2V5ZWQgYnkgcG9ydCBuYW1lLlxuICAgKi9cbiAgZXhlY3V0ZShcbiAgICBpbnB1dDogSW5wdXQsXG4gICAgY29udGV4dDogR3JhcGhFeGVjdXRpb25Db250ZXh0XG4gICk6IFByb21pc2U8T3V0cHV0PiB8IE91dHB1dDtcbn1cbiJdfQ==
2
+ //# sourceMappingURL=GraphNodeExecutor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GraphNodeExecutor.js","sourceRoot":"","sources":["../../../../src/graph/execution/GraphNodeExecutor.ts"],"names":[],"mappings":""}
@@ -0,0 +1,98 @@
1
+ import { GraphExecutionError } from "./../errors/GraphExecutionError.js";
2
+ import { ConditionExpressionEvaluator } from "./../loops/ConditionExpressionEvaluator.js";
3
+ /**
4
+ * Reads the Switch metadata from the node definition's graph metadata.
5
+ */
6
+ function readSwitchMetadata(context) {
7
+ const meta = context.node.graph?.metadata;
8
+ if (!meta)
9
+ return { cases: [], defaultPort: "default" };
10
+ const switchMeta = meta["switch"];
11
+ if (!switchMeta || !Array.isArray(switchMeta.cases)) {
12
+ return { cases: [], defaultPort: "default" };
13
+ }
14
+ return {
15
+ cases: switchMeta.cases,
16
+ defaultPort: switchMeta.defaultPort ?? "default",
17
+ };
18
+ }
19
+ /**
20
+ * Detects whether a condition is a `CodeCondition` (has `type: "code"`).
21
+ */
22
+ function isCodeCondition(cond) {
23
+ return (typeof cond === "object" &&
24
+ cond !== null &&
25
+ "type" in cond &&
26
+ cond.type === "code");
27
+ }
28
+ /**
29
+ * Detects whether a condition is a `ConditionExpression` (has `op` field).
30
+ */
31
+ function isConditionExpression(cond) {
32
+ return (typeof cond === "object" &&
33
+ cond !== null &&
34
+ "op" in cond &&
35
+ typeof cond.op === "string");
36
+ }
37
+ /**
38
+ * Executor for `core.flow.switch` nodes.
39
+ *
40
+ * Evaluates each case's condition in order and routes the input to the
41
+ * first matching case's output port. When no case matches, routes to the
42
+ * `default` output port.
43
+ *
44
+ * Condition evaluation:
45
+ * - `ConditionExpression` — evaluated via {@link ConditionExpressionEvaluator}.
46
+ * - `CodeCondition` — evaluated via the pluggable {@link CodeSandboxEvaluator}
47
+ * from the engine's config. Throws `GRAPH_CODE_SANDBOX_NOT_CONFIGURED`
48
+ * when no evaluator is registered.
49
+ */
50
+ export class SwitchGraphNodeExecutor {
51
+ constructor(engine) {
52
+ this.engine = engine;
53
+ this.expressionEvaluator = new ConditionExpressionEvaluator();
54
+ }
55
+ async execute(input, context) {
56
+ const meta = readSwitchMetadata(context);
57
+ const inputValue = input["value"] ?? input;
58
+ for (const switchCase of meta.cases) {
59
+ const matches = await this.evaluateCondition(switchCase.condition, inputValue, input, context);
60
+ if (matches) {
61
+ return { [switchCase.outputPort]: inputValue };
62
+ }
63
+ }
64
+ const defaultPort = meta.defaultPort ?? "default";
65
+ return { [defaultPort]: inputValue };
66
+ }
67
+ /**
68
+ * Evaluates a single switch case condition.
69
+ */
70
+ async evaluateCondition(condition, inputValue, fullInput, context) {
71
+ if (isCodeCondition(condition)) {
72
+ return this.evaluateCodeCondition(condition, fullInput, context);
73
+ }
74
+ if (isConditionExpression(condition)) {
75
+ return this.expressionEvaluator.evaluate(condition, inputValue);
76
+ }
77
+ throw new GraphExecutionError("Unknown switch case condition type — must be ConditionExpression (op) or CodeCondition (type: 'code')", "GRAPH_UNKNOWN_SWITCH_CONDITION", { condition });
78
+ }
79
+ /**
80
+ * Evaluates a code condition via the pluggable sandbox evaluator.
81
+ */
82
+ async evaluateCodeCondition(condition, input, context) {
83
+ const evaluator = this.engine?.codeSandboxEvaluator;
84
+ if (!evaluator) {
85
+ throw new GraphExecutionError("Code conditions require a CodeSandboxEvaluator to be registered in GraphExecutionEngineConfig.codeSandboxEvaluator", "GRAPH_CODE_SANDBOX_NOT_CONFIGURED", { code: condition.code });
86
+ }
87
+ await context.log(`Evaluating code condition`, {
88
+ language: condition.language ?? "javascript",
89
+ });
90
+ const result = await evaluator.evaluate({
91
+ code: condition.code,
92
+ language: condition.language,
93
+ input,
94
+ });
95
+ return !!result;
96
+ }
97
+ }
98
+ //# sourceMappingURL=SwitchGraphNodeExecutor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SwitchGraphNodeExecutor.js","sourceRoot":"","sources":["../../../../src/graph/execution/SwitchGraphNodeExecutor.ts"],"names":[],"mappings":"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"}
@@ -8,4 +8,6 @@ export * from "./GraphNodeExecutor.js";
8
8
  export * from "./GraphExecutionResult.js";
9
9
  export * from "./GraphExecutionFrame.js";
10
10
  export * from "./GraphExecutionEngine.js";
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZ3JhcGgvZXhlY3V0aW9uL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFDSCwyQ0FBd0M7QUFDeEMsdUNBQW9DO0FBQ3BDLDBDQUF1QztBQUN2Qyx5Q0FBc0M7QUFDdEMsMENBQXVDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbW9kdWxlIGludGVncmF0aW9ucy9ncmFwaC9leGVjdXRpb25cbiAqIEBzdW1tYXJ5IEdyYXBoIGV4ZWN1dGlvbiBjb250ZXh0IGFuZCBleGVjdXRvciBpbnRlcmZhY2UuXG4gKiBAZGVzY3JpcHRpb24gUmUtZXhwb3J0cyB0aGUgZ3JhcGggZXhlY3V0aW9uIGNvbnRleHQgYW5kIG5vZGUgZXhlY3V0b3IgaW50ZXJmYWNlLlxuICovXG5leHBvcnQgKiBmcm9tIFwiLi9HcmFwaEV4ZWN1dGlvbkNvbnRleHRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL0dyYXBoTm9kZUV4ZWN1dG9yXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9HcmFwaEV4ZWN1dGlvblJlc3VsdFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vR3JhcGhFeGVjdXRpb25GcmFtZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vR3JhcGhFeGVjdXRpb25FbmdpbmVcIjtcbiJdfQ==
11
+ export * from "./CodeSandboxEvaluator.js";
12
+ export * from "./SwitchGraphNodeExecutor.js";
13
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/graph/execution/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,2CAAwC;AACxC,uCAAoC;AACpC,0CAAuC;AACvC,yCAAsC;AACtC,0CAAuC;AACvC,0CAAuC;AACvC,6CAA0C"}
@@ -23,6 +23,8 @@ export * from "./execution/GraphNodeExecutor.js";
23
23
  export * from "./execution/GraphExecutionFrame.js";
24
24
  export * from "./execution/GraphExecutionResult.js";
25
25
  export * from "./execution/GraphExecutionEngine.js";
26
+ export * from "./execution/CodeSandboxEvaluator.js";
27
+ export * from "./execution/SwitchGraphNodeExecutor.js";
26
28
  export * from "./registry/GraphNodeExecutorRegistry.js";
27
29
  export * from "./registry/GraphNodeExecutorResolver.js";
28
30
  export * from "./store/GraphValueKey.js";
@@ -43,6 +45,7 @@ export * from "./validation/GraphPortSchemaResolver.js";
43
45
  export * from "./validation/GraphValueValidator.js";
44
46
  // Loops (TASK-216)
45
47
  export * from "./loops/GraphConditionEvaluator.js";
48
+ export * from "./loops/ConditionExpressionEvaluator.js";
46
49
  export * from "./loops/GraphLoopExecutionContext.js";
47
50
  export * from "./loops/ForeachGraphNodeExecutor.js";
48
51
  export * from "./loops/WhileGraphNodeExecutor.js";
@@ -54,4 +57,6 @@ export * from "./pinning/GraphPinningDependencyResolver.js";
54
57
  export * from "./pinning/GraphPinningService.js";
55
58
  // Snapshots (TASK-219)
56
59
  export * from "./snapshots/GraphExecutionSnapshotMapper.js";
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZ3JhcGgvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUVILCtCQUE0QjtBQUM1QiwyQkFBd0I7QUFDeEIsZ0NBQTZCO0FBRTdCLGdEQUE2QztBQUM3Qyw0Q0FBeUM7QUFDekMsNENBQXlDO0FBQ3pDLGdEQUE2QztBQUM3Qyw4Q0FBMkM7QUFDM0MsMkNBQXdDO0FBQ3hDLDRDQUF5QztBQUN6QywrQ0FBNEM7QUFFNUMsZ0RBQTZDO0FBQzdDLG1EQUFnRDtBQUNoRCx1REFBb0Q7QUFDcEQsdURBQW9EO0FBRXBELHFEQUFrRDtBQUNsRCxpREFBOEM7QUFDOUMsbURBQWdEO0FBQ2hELG9EQUFpRDtBQUNqRCxvREFBaUQ7QUFFakQsd0RBQXFEO0FBQ3JELHdEQUFxRDtBQUVyRCx5Q0FBc0M7QUFDdEMsNENBQXlDO0FBQ3pDLGtEQUErQztBQUMvQywwREFBdUQ7QUFDdkQsMkNBQXdDO0FBRXhDLHFEQUFrRDtBQUNsRCxxREFBa0Q7QUFDbEQsc0RBQW1EO0FBQ25ELGlEQUE4QztBQUM5QyxvREFBaUQ7QUFDakQsb0RBQWlEO0FBQ2pELDRDQUF5QztBQUV6Qyx3QkFBd0I7QUFDeEIseURBQXNEO0FBQ3RELHdEQUFxRDtBQUNyRCxvREFBaUQ7QUFFakQsbUJBQW1CO0FBQ25CLG1EQUFnRDtBQUNoRCxxREFBa0Q7QUFDbEQsb0RBQWlEO0FBQ2pELGtEQUErQztBQUMvQyxrREFBK0M7QUFFL0MseUJBQXlCO0FBQ3pCLGtEQUErQztBQUMvQyxnREFBNkM7QUFDN0MsNERBQXlEO0FBQ3pELGlEQUE4QztBQUU5Qyx1QkFBdUI7QUFDdkIsNERBQXlEIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbW9kdWxlIGludGVncmF0aW9ucy9ncmFwaFxuICogQHN1bW1hcnkgRGVjYWYgR3JhcGggRXhlY3V0aW9uIEVuZ2luZS5cbiAqIEBkZXNjcmlwdGlvbiBSZWZlcmVuY2UgaW50ZXJwcmV0ZXIgZm9yIERlY2FmIGdyYXBoIHdvcmtmbG93cy4gRXhlY3V0ZXMgd29ya2Zsb3dzIGRlY2xhcmVkIHdpdGggYEBkZWNhZi10cy91aS1kZWNvcmF0b3JzL2dyYXBoYCwgZW1pdHMgZXZlbnRzIHRocm91Z2ggRGVjYWYncyBPYnNlcnZhYmxlIHBpcGVsaW5lLCBzdXBwb3J0cyBzdHJ1Y3R1cmVkIGxvb3BzLCBjb25maWd1cmFibGUgdmFsdWUgc3RvcmVzLCBhbmQgcGlubmFibGUvY2FjaGVhYmxlIG5vZGVzLlxuICovXG5cbmV4cG9ydCAqIGZyb20gXCIuL2NvbnN0YW50c1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vdHlwZXNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2RlY29yYXRvcnNcIjtcblxuZXhwb3J0ICogZnJvbSBcIi4vZXJyb3JzL0dyYXBoRXhlY3V0aW9uRXJyb3JcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2Vycm9ycy9HcmFwaEN5Y2xlRXJyb3JcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2Vycm9ycy9HcmFwaElucHV0RXJyb3JcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2Vycm9ycy9HcmFwaExvb3BMaW1pdEVycm9yXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lcnJvcnMvR3JhcGhQaW5uaW5nRXJyb3JcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2Vycm9ycy9HcmFwaFBvcnRFcnJvclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZXJyb3JzL0dyYXBoU3RvcmVFcnJvclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZXJyb3JzL0dyYXBoVG9wb2xvZ3lFcnJvclwiO1xuXG5leHBvcnQgKiBmcm9tIFwiLi9ldmVudHMvR3JhcGhFeGVjdXRpb25FdmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZXZlbnRzL0dyYXBoRXhlY3V0aW9uT2JzZXJ2ZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2V2ZW50cy9HcmFwaEV4ZWN1dGlvbkV2ZW50RW1pdHRlclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZXZlbnRzL0dyYXBoRXhlY3V0aW9uRXZlbnRGYWN0b3J5XCI7XG5cbmV4cG9ydCAqIGZyb20gXCIuL2V4ZWN1dGlvbi9HcmFwaEV4ZWN1dGlvbkNvbnRleHRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2V4ZWN1dGlvbi9HcmFwaE5vZGVFeGVjdXRvclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZXhlY3V0aW9uL0dyYXBoRXhlY3V0aW9uRnJhbWVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2V4ZWN1dGlvbi9HcmFwaEV4ZWN1dGlvblJlc3VsdFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZXhlY3V0aW9uL0dyYXBoRXhlY3V0aW9uRW5naW5lXCI7XG5cbmV4cG9ydCAqIGZyb20gXCIuL3JlZ2lzdHJ5L0dyYXBoTm9kZUV4ZWN1dG9yUmVnaXN0cnlcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3JlZ2lzdHJ5L0dyYXBoTm9kZUV4ZWN1dG9yUmVzb2x2ZXJcIjtcblxuZXhwb3J0ICogZnJvbSBcIi4vc3RvcmUvR3JhcGhWYWx1ZUtleVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3RvcmUvR3JhcGhDYWNoZWRWYWx1ZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3RvcmUvR3JhcGhWYWx1ZVN0b3JlQWRhcHRlclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3RvcmUvSW5NZW1vcnlHcmFwaFZhbHVlU3RvcmVBZGFwdGVyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zdG9yZS9HcmFwaFZhbHVlU3RvcmVcIjtcblxuZXhwb3J0ICogZnJvbSBcIi4vcGxhbm5pbmcvR3JhcGhFeGVjdXRpb25QbGFuTm9kZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcGxhbm5pbmcvR3JhcGhFeGVjdXRpb25QbGFuRWRnZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcGxhbm5pbmcvR3JhcGhFeGVjdXRpb25QbGFuTGF5ZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3BsYW5uaW5nL0dyYXBoRXhlY3V0aW9uUGxhblwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcGxhbm5pbmcvR3JhcGhSZWxhdGlvblJlc29sdmVyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9wbGFubmluZy9HcmFwaEV4ZWN1dGlvblBsYW5uZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3BsYW5uaW5nL0dyYXBoVG9wb2xvZ3lcIjtcblxuLy8gVmFsaWRhdGlvbiAoVEFTSy0yMTUpXG5leHBvcnQgKiBmcm9tIFwiLi92YWxpZGF0aW9uL0dyYXBoRGVmaW5pdGlvblZhbGlkYXRvclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdmFsaWRhdGlvbi9HcmFwaFBvcnRTY2hlbWFSZXNvbHZlclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdmFsaWRhdGlvbi9HcmFwaFZhbHVlVmFsaWRhdG9yXCI7XG5cbi8vIExvb3BzIChUQVNLLTIxNilcbmV4cG9ydCAqIGZyb20gXCIuL2xvb3BzL0dyYXBoQ29uZGl0aW9uRXZhbHVhdG9yXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9sb29wcy9HcmFwaExvb3BFeGVjdXRpb25Db250ZXh0XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9sb29wcy9Gb3JlYWNoR3JhcGhOb2RlRXhlY3V0b3JcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xvb3BzL1doaWxlR3JhcGhOb2RlRXhlY3V0b3JcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xvb3BzL1VudGlsR3JhcGhOb2RlRXhlY3V0b3JcIjtcblxuLy8gUGlubmluZyAoVEFTSy0yMTcvMjE4KVxuZXhwb3J0ICogZnJvbSBcIi4vcGlubmluZy9HcmFwaFBpbm5pbmdNZXRhZGF0YVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcGlubmluZy9HcmFwaFBpbm5pbmdQb2xpY3lcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3Bpbm5pbmcvR3JhcGhQaW5uaW5nRGVwZW5kZW5jeVJlc29sdmVyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9waW5uaW5nL0dyYXBoUGlubmluZ1NlcnZpY2VcIjtcblxuLy8gU25hcHNob3RzIChUQVNLLTIxOSlcbmV4cG9ydCAqIGZyb20gXCIuL3NuYXBzaG90cy9HcmFwaEV4ZWN1dGlvblNuYXBzaG90TWFwcGVyXCI7XG4iXX0=
60
+ // Production node kind declarations (TASK-228 / §22.2)
61
+ export * from "./nodes/index.js";
62
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/graph/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,+BAA4B;AAC5B,2BAAwB;AACxB,gCAA6B;AAE7B,gDAA6C;AAC7C,4CAAyC;AACzC,4CAAyC;AACzC,gDAA6C;AAC7C,8CAA2C;AAC3C,2CAAwC;AACxC,4CAAyC;AACzC,+CAA4C;AAE5C,gDAA6C;AAC7C,mDAAgD;AAChD,uDAAoD;AACpD,uDAAoD;AAEpD,qDAAkD;AAClD,iDAA8C;AAC9C,mDAAgD;AAChD,oDAAiD;AACjD,oDAAiD;AACjD,oDAAiD;AACjD,uDAAoD;AAEpD,wDAAqD;AACrD,wDAAqD;AAErD,yCAAsC;AACtC,4CAAyC;AACzC,kDAA+C;AAC/C,0DAAuD;AACvD,2CAAwC;AAExC,qDAAkD;AAClD,qDAAkD;AAClD,sDAAmD;AACnD,iDAA8C;AAC9C,oDAAiD;AACjD,oDAAiD;AACjD,4CAAyC;AAEzC,wBAAwB;AACxB,yDAAsD;AACtD,wDAAqD;AACrD,oDAAiD;AAEjD,mBAAmB;AACnB,mDAAgD;AAChD,wDAAqD;AACrD,qDAAkD;AAClD,oDAAiD;AACjD,kDAA+C;AAC/C,kDAA+C;AAE/C,yBAAyB;AACzB,kDAA+C;AAC/C,gDAA6C;AAC7C,4DAAyD;AACzD,iDAA8C;AAE9C,uBAAuB;AACvB,4DAAyD;AAEzD,uDAAuD;AACvD,iCAAwB"}
@@ -0,0 +1,82 @@
1
+ import { GraphExecutionError } from "./../errors/GraphExecutionError.js";
2
+ /**
3
+ * Evaluates a {@link ConditionExpression} against the given state.
4
+ *
5
+ * `ExprValue` resolution:
6
+ * - `{ const: x }` → the literal value `x`.
7
+ * - `{ path: "a.b" }` → dotted-path lookup into `state`.
8
+ * - `{ step: "nodeId", path: "out" }` → cross-node reference; in v1 the state
9
+ * is expected to contain a `nodes` map keyed by node id (reserved for future
10
+ * multi-step evaluation; falls back to `state` lookup when absent).
11
+ */
12
+ export class ConditionExpressionEvaluator {
13
+ /**
14
+ * Evaluates a condition expression to a boolean.
15
+ *
16
+ * @param expr - The condition expression.
17
+ * @param state - The current evaluation state (loop state or execution values).
18
+ * @returns `true` when the expression evaluates to a truthy/positive result.
19
+ */
20
+ evaluate(expr, state) {
21
+ switch (expr.op) {
22
+ case "eq":
23
+ return this.resolveValue(expr.left, state) === this.resolveValue(expr.right, state);
24
+ case "neq":
25
+ return this.resolveValue(expr.left, state) !== this.resolveValue(expr.right, state);
26
+ case "gt":
27
+ return Number(this.resolveValue(expr.left, state)) > Number(this.resolveValue(expr.right, state));
28
+ case "gte":
29
+ return Number(this.resolveValue(expr.left, state)) >= Number(this.resolveValue(expr.right, state));
30
+ case "lt":
31
+ return Number(this.resolveValue(expr.left, state)) < Number(this.resolveValue(expr.right, state));
32
+ case "lte":
33
+ return Number(this.resolveValue(expr.left, state)) <= Number(this.resolveValue(expr.right, state));
34
+ case "and":
35
+ return expr.conditions.every((c) => this.evaluate(c, state));
36
+ case "or":
37
+ return expr.conditions.some((c) => this.evaluate(c, state));
38
+ case "not":
39
+ return !this.evaluate(expr.condition, state);
40
+ case "exists":
41
+ return this.resolveValue(expr.value, state) !== undefined && this.resolveValue(expr.value, state) !== null;
42
+ default:
43
+ throw new GraphExecutionError(`Unknown ConditionExpression op '${expr.op}'`, "GRAPH_UNKNOWN_CONDITION_OP", { expr });
44
+ }
45
+ }
46
+ /**
47
+ * Resolves an {@link ExprValue} against the current state.
48
+ */
49
+ resolveValue(ref, state) {
50
+ if ("const" in ref) {
51
+ return ref.const;
52
+ }
53
+ if ("path" in ref && !("step" in ref)) {
54
+ return this.resolvePath(ref.path, state);
55
+ }
56
+ if ("step" in ref && "path" in ref) {
57
+ const nodes = state?.["nodes"];
58
+ if (nodes && typeof nodes === "object") {
59
+ const nodeState = nodes[ref.step];
60
+ return this.resolvePath(ref.path, nodeState);
61
+ }
62
+ return this.resolvePath(ref.path, state);
63
+ }
64
+ throw new GraphExecutionError("Invalid ExprValue: must have `const`, `path`, or `step`+`path`", "GRAPH_INVALID_EXPR_VALUE", { ref });
65
+ }
66
+ /**
67
+ * Resolves a dotted path into a target object.
68
+ */
69
+ resolvePath(path, target) {
70
+ if (!path)
71
+ return target;
72
+ const parts = path.split(".");
73
+ let current = target;
74
+ for (const part of parts) {
75
+ if (current == null)
76
+ return undefined;
77
+ current = current[part];
78
+ }
79
+ return current;
80
+ }
81
+ }
82
+ //# sourceMappingURL=ConditionExpressionEvaluator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConditionExpressionEvaluator.js","sourceRoot":"","sources":["../../../../src/graph/loops/ConditionExpressionEvaluator.ts"],"names":[],"mappings":"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"}
@@ -76,4 +76,4 @@ export class ForeachGraphNodeExecutor {
76
76
  return raw;
77
77
  }
78
78
  }
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRm9yZWFjaEdyYXBoTm9kZUV4ZWN1dG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2dyYXBoL2xvb3BzL0ZvcmVhY2hHcmFwaE5vZGVFeGVjdXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFXQSxPQUFPLEVBQUUsb0NBQW9DLEVBQUUsdUJBQXVCLEVBQUUsMEJBQXFCO0FBQzdGLE9BQU8sRUFBRSxlQUFlLEVBQUUsdUNBQWtDO0FBQzVELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSwyQ0FBc0M7QUFFcEU7Ozs7Ozs7Ozs7O0dBV0c7QUFDSCxNQUFNLE9BQU8sd0JBQXdCO0lBQ25DLFlBQTZCLE1BQTRCO1FBQTVCLFdBQU0sR0FBTixNQUFNLENBQXNCO0lBQUcsQ0FBQztJQUU3RCxLQUFLLENBQUMsT0FBTyxDQUNYLEtBQTJCLEVBQzNCLE9BQThCO1FBRTlCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDL0MsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQztRQUMxQixNQUFNLGFBQWEsR0FDakIsUUFBUSxDQUFDLGFBQWEsSUFBSSxvQ0FBb0MsQ0FBQztRQUVqRSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQzFCLE1BQU0sSUFBSSxlQUFlLENBQUMsd0NBQXdDLENBQUMsQ0FBQztRQUN0RSxDQUFDO1FBQ0QsSUFBSSxLQUFLLENBQUMsTUFBTSxHQUFHLGFBQWEsRUFBRSxDQUFDO1lBQ2pDLE1BQU0sSUFBSSxtQkFBbUIsQ0FDM0Isb0NBQW9DLEtBQUssQ0FBQyxNQUFNLE1BQU0sYUFBYSxHQUFHLENBQ3ZFLENBQUM7UUFDSixDQUFDO1FBRUQsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLFFBQVEsSUFBSSxNQUFNLENBQUM7UUFDN0MsTUFBTSxVQUFVLEdBQUcsUUFBUSxDQUFDLFVBQVUsSUFBSSxRQUFRLENBQUM7UUFDbkQsTUFBTSxTQUFTLEdBQUcsUUFBUSxDQUFDLFNBQVMsSUFBSSxPQUFPLENBQUM7UUFDaEQsTUFBTSxZQUFZLEdBQUcsUUFBUSxDQUFDLElBQStCLENBQUM7UUFFOUQsTUFBTSxPQUFPLEdBQWMsRUFBRSxDQUFDO1FBQzlCLElBQUksS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFFeEIsTUFBTSxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLHVCQUF1QixDQUFDLFlBQVksRUFBRSxDQUFDLENBQUM7UUFFbkUsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUN0QyxNQUFNLE9BQU8sQ0FBQyxJQUFJLENBQUM7Z0JBQ2pCLElBQUksRUFBRSx1QkFBdUIsQ0FBQyxzQkFBc0I7Z0JBQ3BELFNBQVMsRUFBRSxDQUFDO2FBQ2IsQ0FBQyxDQUFDO1lBRUgsTUFBTSxXQUFXLEdBQXlCO2dCQUN4QyxDQUFDLFFBQVEsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7Z0JBQ3BCLEtBQUssRUFBRSxDQUFDO2FBQ1QsQ0FBQztZQUNGLElBQUksS0FBSyxLQUFLLFNBQVM7Z0JBQUUsV0FBVyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEtBQUssQ0FBQztZQUV4RCxNQUFNLFdBQVcsR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUMzQyxZQUFZLEVBQ1osV0FBVyxFQUNYO2dCQUNFLFdBQVcsRUFBRSxPQUFPLENBQUMsS0FBSztnQkFDMUIsSUFBSSxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsSUFBSSxFQUFFLGFBQWEsQ0FBQyxFQUFFLENBQUM7YUFDMUMsQ0FDRixDQUFDO1lBRUYsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7WUFDOUMsSUFBSSxXQUFXLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLFNBQVMsRUFBRSxDQUFDO2dCQUNqRCxLQUFLLEdBQUcsV0FBVyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUN6QyxDQUFDO1lBRUQsTUFBTSxPQUFPLENBQUMsSUFBSSxDQUFDO2dCQUNqQixJQUFJLEVBQUUsdUJBQXVCLENBQUMsd0JBQXdCO2dCQUN0RCxTQUFTLEVBQUUsQ0FBQzthQUNiLENBQUMsQ0FBQztRQUNMLENBQUM7UUFFRCxNQUFNLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsdUJBQXVCLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQztRQUVyRSxNQUFNLE1BQU0sR0FBeUI7WUFDbkMsT0FBTztZQUNQLFVBQVUsRUFBRSxLQUFLLENBQUMsTUFBTTtTQUN6QixDQUFDO1FBQ0YsSUFBSSxLQUFLLEtBQUssU0FBUztZQUFFLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxLQUFLLENBQUM7UUFDbkQsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVPLGVBQWUsQ0FBQyxPQUE4QjtRQUNwRCxNQUFNLEdBQUcsR0FBSSxPQUFPLENBQUMsSUFBWSxDQUFDLEtBQUssRUFBRSxRQUFRLEVBQUUsSUFBSTtZQUNwRCxPQUFPLENBQUMsUUFBZ0IsRUFBRSxJQUFJLENBQUM7UUFDbEMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ1QsTUFBTSxJQUFJLGVBQWUsQ0FBQyx1Q0FBdUMsQ0FBQyxDQUFDO1FBQ3JFLENBQUM7UUFDRCxPQUFPLEdBQXdCLENBQUM7SUFDbEMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbW9kdWxlIGludGVncmF0aW9ucy9ncmFwaC9sb29wcy9Gb3JlYWNoR3JhcGhOb2RlRXhlY3V0b3JcbiAqIEBzdW1tYXJ5IEZvcmVhY2ggbG9vcCBub2RlIGV4ZWN1dG9yLlxuICogQGRlc2NyaXB0aW9uIEV4ZWN1dGVzIGEgYm9keSB3b3JrZmxvdyBvbmNlIHBlciBpdGVtIGluIHRoZSBpbnB1dCBhcnJheSwgY29sbGVjdGluZyByZXN1bHRzIGluIG9yZGVyLlxuICovXG5pbXBvcnQgdHlwZSB7IEdyYXBoTm9kZUV4ZWN1dG9yIH0gZnJvbSBcIi4uL2V4ZWN1dGlvbi9HcmFwaE5vZGVFeGVjdXRvclwiO1xuaW1wb3J0IHR5cGUgeyBHcmFwaEV4ZWN1dGlvbkNvbnRleHQgfSBmcm9tIFwiLi4vZXhlY3V0aW9uL0dyYXBoRXhlY3V0aW9uQ29udGV4dFwiO1xuaW1wb3J0IHR5cGUgeyBHcmFwaEV4ZWN1dGlvbkVuZ2luZSB9IGZyb20gXCIuLi9leGVjdXRpb24vR3JhcGhFeGVjdXRpb25FbmdpbmVcIjtcbmltcG9ydCB0eXBlIHsgR3JhcGhFeGVjdXRpb25WYWx1ZXMsIEdyYXBoTG9vcE1ldGFkYXRhIH0gZnJvbSBcIi4uL3R5cGVzXCI7XG5pbXBvcnQgdHlwZSB7IEdyYXBoV29ya2Zsb3dEZWZpbml0aW9uIH0gZnJvbSBcIkBkZWNhZi10cy91aS1kZWNvcmF0b3JzL2dyYXBoXCI7XG5cbmltcG9ydCB7IEdSQVBIX0RFRkFVTFRfTUFYX0ZPUkVBQ0hfSVRFUkFUSU9OUywgR3JhcGhFeGVjdXRpb25FdmVudFR5cGUgfSBmcm9tIFwiLi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBHcmFwaElucHV0RXJyb3IgfSBmcm9tIFwiLi4vZXJyb3JzL0dyYXBoSW5wdXRFcnJvclwiO1xuaW1wb3J0IHsgR3JhcGhMb29wTGltaXRFcnJvciB9IGZyb20gXCIuLi9lcnJvcnMvR3JhcGhMb29wTGltaXRFcnJvclwiO1xuXG4vKipcbiAqIEV4ZWN1dG9yIGZvciBgY29yZS5sb29wLmZvcmVhY2hgIG5vZGVzLlxuICpcbiAqIEV4cGVjdHMgaW5wdXQ6XG4gKiAtIGBpdGVtc2A6IGFycmF5IG9mIHZhbHVlcyB0byBpdGVyYXRlIG92ZXJcbiAqIC0gYHN0YXRlP2A6IG9wdGlvbmFsIGluaXRpYWwgc3RhdGVcbiAqXG4gKiBQcm9kdWNlcyBvdXRwdXQ6XG4gKiAtIGByZXN1bHRzYDogYXJyYXkgb2YgYm9keSBvdXRwdXRzIChpbiBpdGVtIG9yZGVyKVxuICogLSBgc3RhdGU/YDogZmluYWwgc3RhdGVcbiAqIC0gYGl0ZXJhdGlvbnNgOiBudW1iZXIgb2YgaXRlcmF0aW9ucyBleGVjdXRlZFxuICovXG5leHBvcnQgY2xhc3MgRm9yZWFjaEdyYXBoTm9kZUV4ZWN1dG9yIGltcGxlbWVudHMgR3JhcGhOb2RlRXhlY3V0b3Ige1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGVuZ2luZTogR3JhcGhFeGVjdXRpb25FbmdpbmUpIHt9XG5cbiAgYXN5bmMgZXhlY3V0ZShcbiAgICBpbnB1dDogR3JhcGhFeGVjdXRpb25WYWx1ZXMsXG4gICAgY29udGV4dDogR3JhcGhFeGVjdXRpb25Db250ZXh0XG4gICk6IFByb21pc2U8R3JhcGhFeGVjdXRpb25WYWx1ZXM+IHtcbiAgICBjb25zdCBtZXRhZGF0YSA9IHRoaXMuZXh0cmFjdE1ldGFkYXRhKGNvbnRleHQpO1xuICAgIGNvbnN0IGl0ZW1zID0gaW5wdXQuaXRlbXM7XG4gICAgY29uc3QgbWF4SXRlcmF0aW9ucyA9XG4gICAgICBtZXRhZGF0YS5tYXhJdGVyYXRpb25zID8/IEdSQVBIX0RFRkFVTFRfTUFYX0ZPUkVBQ0hfSVRFUkFUSU9OUztcblxuICAgIGlmICghQXJyYXkuaXNBcnJheShpdGVtcykpIHtcbiAgICAgIHRocm93IG5ldyBHcmFwaElucHV0RXJyb3IoXCJmb3JlYWNoIGlucHV0ICdpdGVtcycgbXVzdCBiZSBhbiBhcnJheVwiKTtcbiAgICB9XG4gICAgaWYgKGl0ZW1zLmxlbmd0aCA+IG1heEl0ZXJhdGlvbnMpIHtcbiAgICAgIHRocm93IG5ldyBHcmFwaExvb3BMaW1pdEVycm9yKFxuICAgICAgICBgZm9yZWFjaCBleGNlZWRlZCBtYXggaXRlcmF0aW9ucyAoJHtpdGVtcy5sZW5ndGh9ID4gJHttYXhJdGVyYXRpb25zfSlgXG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IGl0ZW1Qb3J0ID0gbWV0YWRhdGEuaXRlbVBvcnQgPz8gXCJpdGVtXCI7XG4gICAgY29uc3QgcmVzdWx0UG9ydCA9IG1ldGFkYXRhLnJlc3VsdFBvcnQgPz8gXCJyZXN1bHRcIjtcbiAgICBjb25zdCBzdGF0ZVBvcnQgPSBtZXRhZGF0YS5zdGF0ZVBvcnQgPz8gXCJzdGF0ZVwiO1xuICAgIGNvbnN0IGJvZHlXb3JrZmxvdyA9IG1ldGFkYXRhLmJvZHkgYXMgR3JhcGhXb3JrZmxvd0RlZmluaXRpb247XG5cbiAgICBjb25zdCByZXN1bHRzOiB1bmtub3duW10gPSBbXTtcbiAgICBsZXQgc3RhdGUgPSBpbnB1dC5zdGF0ZTtcblxuICAgIGF3YWl0IGNvbnRleHQuZW1pdCh7IHR5cGU6IEdyYXBoRXhlY3V0aW9uRXZlbnRUeXBlLkxPT1BfU1RBUlRFRCB9KTtcblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaXRlbXMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGF3YWl0IGNvbnRleHQuZW1pdCh7XG4gICAgICAgIHR5cGU6IEdyYXBoRXhlY3V0aW9uRXZlbnRUeXBlLkxPT1BfSVRFUkFUSU9OX1NUQVJURUQsXG4gICAgICAgIGl0ZXJhdGlvbjogaSxcbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCBjaGlsZElucHV0czogR3JhcGhFeGVjdXRpb25WYWx1ZXMgPSB7XG4gICAgICAgIFtpdGVtUG9ydF06IGl0ZW1zW2ldLFxuICAgICAgICBpbmRleDogaSxcbiAgICAgIH07XG4gICAgICBpZiAoc3RhdGUgIT09IHVuZGVmaW5lZCkgY2hpbGRJbnB1dHNbc3RhdGVQb3J0XSA9IHN0YXRlO1xuXG4gICAgICBjb25zdCBjaGlsZFJlc3VsdCA9IGF3YWl0IHRoaXMuZW5naW5lLmV4ZWN1dGUoXG4gICAgICAgIGJvZHlXb3JrZmxvdyxcbiAgICAgICAgY2hpbGRJbnB1dHMsXG4gICAgICAgIHtcbiAgICAgICAgICBwYXJlbnRSdW5JZDogY29udGV4dC5ydW5JZCxcbiAgICAgICAgICBwYXRoOiBbLi4uY29udGV4dC5wYXRoLCBgaXRlcmF0aW9uOiR7aX1gXSxcbiAgICAgICAgfVxuICAgICAgKTtcblxuICAgICAgcmVzdWx0cy5wdXNoKGNoaWxkUmVzdWx0Lm91dHB1dHNbcmVzdWx0UG9ydF0pO1xuICAgICAgaWYgKGNoaWxkUmVzdWx0Lm91dHB1dHNbc3RhdGVQb3J0XSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHN0YXRlID0gY2hpbGRSZXN1bHQub3V0cHV0c1tzdGF0ZVBvcnRdO1xuICAgICAgfVxuXG4gICAgICBhd2FpdCBjb250ZXh0LmVtaXQoe1xuICAgICAgICB0eXBlOiBHcmFwaEV4ZWN1dGlvbkV2ZW50VHlwZS5MT09QX0lURVJBVElPTl9DT01QTEVURUQsXG4gICAgICAgIGl0ZXJhdGlvbjogaSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGF3YWl0IGNvbnRleHQuZW1pdCh7IHR5cGU6IEdyYXBoRXhlY3V0aW9uRXZlbnRUeXBlLkxPT1BfQ09NUExFVEVEIH0pO1xuXG4gICAgY29uc3Qgb3V0cHV0OiBHcmFwaEV4ZWN1dGlvblZhbHVlcyA9IHtcbiAgICAgIHJlc3VsdHMsXG4gICAgICBpdGVyYXRpb25zOiBpdGVtcy5sZW5ndGgsXG4gICAgfTtcbiAgICBpZiAoc3RhdGUgIT09IHVuZGVmaW5lZCkgb3V0cHV0W3N0YXRlUG9ydF0gPSBzdGF0ZTtcbiAgICByZXR1cm4gb3V0cHV0O1xuICB9XG5cbiAgcHJpdmF0ZSBleHRyYWN0TWV0YWRhdGEoY29udGV4dDogR3JhcGhFeGVjdXRpb25Db250ZXh0KTogR3JhcGhMb29wTWV0YWRhdGEge1xuICAgIGNvbnN0IHJhdyA9IChjb250ZXh0Lm5vZGUgYXMgYW55KS5ncmFwaD8ubWV0YWRhdGE/Lmxvb3AgPz9cbiAgICAgIChjb250ZXh0Lm1ldGFkYXRhIGFzIGFueSk/Lmxvb3A7XG4gICAgaWYgKCFyYXcpIHtcbiAgICAgIHRocm93IG5ldyBHcmFwaElucHV0RXJyb3IoXCJmb3JlYWNoIG5vZGUgaXMgbWlzc2luZyBsb29wIG1ldGFkYXRhXCIpO1xuICAgIH1cbiAgICByZXR1cm4gcmF3IGFzIEdyYXBoTG9vcE1ldGFkYXRhO1xuICB9XG59XG4iXX0=
79
+ //# sourceMappingURL=ForeachGraphNodeExecutor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ForeachGraphNodeExecutor.js","sourceRoot":"","sources":["../../../../src/graph/loops/ForeachGraphNodeExecutor.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,30 @@
1
1
  import { GraphConditionType } from "./../constants.js";
2
2
  import { GraphExecutionError } from "./../errors/GraphExecutionError.js";
3
+ import { ConditionExpressionEvaluator } from "./ConditionExpressionEvaluator.js";
3
4
  /**
4
- * Evaluates loop conditions using built-in comparison types.
5
+ * Evaluates loop conditions using built-in comparison types or the
6
+ * `ConditionExpression` DSL.
5
7
  */
6
8
  export class GraphConditionEvaluator {
9
+ constructor() {
10
+ this.expressionEvaluator = new ConditionExpressionEvaluator();
11
+ }
7
12
  /**
8
13
  * Evaluates a condition against the given state.
9
14
  *
15
+ * When the condition object carries an `op` field, it is treated as a
16
+ * `ConditionExpression` (§22.3) and dispatched to the
17
+ * {@link ConditionExpressionEvaluator}. Otherwise the built-in `type`-based
18
+ * switch is used.
19
+ *
10
20
  * @param condition - The condition definition.
11
21
  * @param state - The current loop state.
12
22
  * @returns `true` when the condition passes.
13
23
  */
14
24
  evaluate(condition, state) {
25
+ if (this.isConditionExpression(condition)) {
26
+ return this.expressionEvaluator.evaluate(condition, state);
27
+ }
15
28
  const left = this.resolveValue(condition.left, state);
16
29
  const right = condition.right;
17
30
  switch (condition.type) {
@@ -54,5 +67,14 @@ export class GraphConditionEvaluator {
54
67
  }
55
68
  return current;
56
69
  }
70
+ /**
71
+ * Detects whether a condition object is a `ConditionExpression` (§22.3) by
72
+ * checking for the presence of an `op` field. When true, the object is
73
+ * treated as a `ConditionExpression` and dispatched to the
74
+ * {@link ConditionExpressionEvaluator}.
75
+ */
76
+ isConditionExpression(condition) {
77
+ return typeof condition.op === "string";
78
+ }
57
79
  }
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JhcGhDb25kaXRpb25FdmFsdWF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZ3JhcGgvbG9vcHMvR3JhcGhDb25kaXRpb25FdmFsdWF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBTUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLDBCQUFxQjtBQUNsRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsMkNBQXNDO0FBRXBFOztHQUVHO0FBQ0gsTUFBTSxPQUFPLHVCQUF1QjtJQUNsQzs7Ozs7O09BTUc7SUFDSCxRQUFRLENBQUMsU0FBbUMsRUFBRSxLQUFjO1FBQzFELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN0RCxNQUFNLEtBQUssR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDO1FBRTlCLFFBQVEsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3ZCLEtBQUssa0JBQWtCLENBQUMsTUFBTTtnQkFDNUIsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDO1lBQ2hCLEtBQUssa0JBQWtCLENBQUMsS0FBSztnQkFDM0IsT0FBTyxDQUFDLElBQUksQ0FBQztZQUNmLEtBQUssa0JBQWtCLENBQUMsTUFBTTtnQkFDNUIsT0FBTyxJQUFJLEtBQUssS0FBSyxDQUFDO1lBQ3hCLEtBQUssa0JBQWtCLENBQUMsVUFBVTtnQkFDaEMsT0FBTyxJQUFJLEtBQUssS0FBSyxDQUFDO1lBQ3hCLEtBQUssa0JBQWtCLENBQUMsWUFBWTtnQkFDbEMsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3RDLEtBQUssa0JBQWtCLENBQUMscUJBQXFCO2dCQUMzQyxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDdkMsS0FBSyxrQkFBa0IsQ0FBQyxTQUFTO2dCQUMvQixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDdEMsS0FBSyxrQkFBa0IsQ0FBQyxrQkFBa0I7Z0JBQ3hDLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN2QyxLQUFLLGtCQUFrQixDQUFDLE1BQU07Z0JBQzVCLE9BQU8sSUFBSSxLQUFLLFNBQVMsSUFBSSxJQUFJLEtBQUssSUFBSSxDQUFDO1lBQzdDLEtBQUssa0JBQWtCLENBQUMsTUFBTTtnQkFDNUIsTUFBTSxJQUFJLG1CQUFtQixDQUMzQixxREFBcUQsRUFDckQsb0NBQW9DLENBQ3JDLENBQUM7WUFDSjtnQkFDRSxNQUFNLElBQUksbUJBQW1CLENBQzNCLDJCQUEyQixTQUFTLENBQUMsSUFBSSxHQUFHLEVBQzVDLDhCQUE4QixFQUM5QixFQUFFLFNBQVMsRUFBRSxDQUNkLENBQUM7UUFDTixDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0ssWUFBWSxDQUFDLElBQXdCLEVBQUUsS0FBYztRQUMzRCxJQUFJLENBQUMsSUFBSTtZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQ3hCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDOUIsSUFBSSxPQUFPLEdBQVksS0FBSyxDQUFDO1FBQzdCLEtBQUssTUFBTSxJQUFJLElBQUksS0FBSyxFQUFFLENBQUM7WUFDekIsSUFBSSxPQUFPLElBQUksSUFBSTtnQkFBRSxPQUFPLFNBQVMsQ0FBQztZQUN0QyxPQUFPLEdBQUksT0FBbUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN2RCxDQUFDO1FBQ0QsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbW9kdWxlIGludGVncmF0aW9ucy9ncmFwaC9sb29wcy9HcmFwaENvbmRpdGlvbkV2YWx1YXRvclxuICogQHN1bW1hcnkgRXZhbHVhdG9yIGZvciBidWlsdC1pbiBsb29wIGNvbmRpdGlvbiB0eXBlcy5cbiAqIEBkZXNjcmlwdGlvbiBTdXBwb3J0cyBzYWZlLCBidWlsdC1pbiBjb25kaXRpb24gdHlwZXMgb25seS4gRG9lcyBOT1QgZXZhbHVhdGUgYXJiaXRyYXJ5IEphdmFTY3JpcHQgZXhwcmVzc2lvbnMuXG4gKi9cbmltcG9ydCB0eXBlIHsgR3JhcGhDb25kaXRpb25EZWZpbml0aW9uIH0gZnJvbSBcIi4uL3R5cGVzXCI7XG5pbXBvcnQgeyBHcmFwaENvbmRpdGlvblR5cGUgfSBmcm9tIFwiLi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBHcmFwaEV4ZWN1dGlvbkVycm9yIH0gZnJvbSBcIi4uL2Vycm9ycy9HcmFwaEV4ZWN1dGlvbkVycm9yXCI7XG5cbi8qKlxuICogRXZhbHVhdGVzIGxvb3AgY29uZGl0aW9ucyB1c2luZyBidWlsdC1pbiBjb21wYXJpc29uIHR5cGVzLlxuICovXG5leHBvcnQgY2xhc3MgR3JhcGhDb25kaXRpb25FdmFsdWF0b3Ige1xuICAvKipcbiAgICogRXZhbHVhdGVzIGEgY29uZGl0aW9uIGFnYWluc3QgdGhlIGdpdmVuIHN0YXRlLlxuICAgKlxuICAgKiBAcGFyYW0gY29uZGl0aW9uIC0gVGhlIGNvbmRpdGlvbiBkZWZpbml0aW9uLlxuICAgKiBAcGFyYW0gc3RhdGUgLSBUaGUgY3VycmVudCBsb29wIHN0YXRlLlxuICAgKiBAcmV0dXJucyBgdHJ1ZWAgd2hlbiB0aGUgY29uZGl0aW9uIHBhc3Nlcy5cbiAgICovXG4gIGV2YWx1YXRlKGNvbmRpdGlvbjogR3JhcGhDb25kaXRpb25EZWZpbml0aW9uLCBzdGF0ZTogdW5rbm93bik6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGxlZnQgPSB0aGlzLnJlc29sdmVWYWx1ZShjb25kaXRpb24ubGVmdCwgc3RhdGUpO1xuICAgIGNvbnN0IHJpZ2h0ID0gY29uZGl0aW9uLnJpZ2h0O1xuXG4gICAgc3dpdGNoIChjb25kaXRpb24udHlwZSkge1xuICAgICAgY2FzZSBHcmFwaENvbmRpdGlvblR5cGUuVFJVVEhZOlxuICAgICAgICByZXR1cm4gISFsZWZ0O1xuICAgICAgY2FzZSBHcmFwaENvbmRpdGlvblR5cGUuRkFMU1k6XG4gICAgICAgIHJldHVybiAhbGVmdDtcbiAgICAgIGNhc2UgR3JhcGhDb25kaXRpb25UeXBlLkVRVUFMUzpcbiAgICAgICAgcmV0dXJuIGxlZnQgPT09IHJpZ2h0O1xuICAgICAgY2FzZSBHcmFwaENvbmRpdGlvblR5cGUuTk9UX0VRVUFMUzpcbiAgICAgICAgcmV0dXJuIGxlZnQgIT09IHJpZ2h0O1xuICAgICAgY2FzZSBHcmFwaENvbmRpdGlvblR5cGUuR1JFQVRFUl9USEFOOlxuICAgICAgICByZXR1cm4gTnVtYmVyKGxlZnQpID4gTnVtYmVyKHJpZ2h0KTtcbiAgICAgIGNhc2UgR3JhcGhDb25kaXRpb25UeXBlLkdSRUFURVJfVEhBTl9PUl9FUVVBTDpcbiAgICAgICAgcmV0dXJuIE51bWJlcihsZWZ0KSA+PSBOdW1iZXIocmlnaHQpO1xuICAgICAgY2FzZSBHcmFwaENvbmRpdGlvblR5cGUuTEVTU19USEFOOlxuICAgICAgICByZXR1cm4gTnVtYmVyKGxlZnQpIDwgTnVtYmVyKHJpZ2h0KTtcbiAgICAgIGNhc2UgR3JhcGhDb25kaXRpb25UeXBlLkxFU1NfVEhBTl9PUl9FUVVBTDpcbiAgICAgICAgcmV0dXJuIE51bWJlcihsZWZ0KSA8PSBOdW1iZXIocmlnaHQpO1xuICAgICAgY2FzZSBHcmFwaENvbmRpdGlvblR5cGUuRVhJU1RTOlxuICAgICAgICByZXR1cm4gbGVmdCAhPT0gdW5kZWZpbmVkICYmIGxlZnQgIT09IG51bGw7XG4gICAgICBjYXNlIEdyYXBoQ29uZGl0aW9uVHlwZS5DVVNUT006XG4gICAgICAgIHRocm93IG5ldyBHcmFwaEV4ZWN1dGlvbkVycm9yKFxuICAgICAgICAgIFwiQ3VzdG9tIGNvbmRpdGlvbiBldmFsdWF0b3JzIGFyZSBub3Qgc3VwcG9ydGVkIGluIHYxXCIsXG4gICAgICAgICAgXCJHUkFQSF9DVVNUT01fQ09ORElUSU9OX1VOU1VQUE9SVEVEXCJcbiAgICAgICAgKTtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRocm93IG5ldyBHcmFwaEV4ZWN1dGlvbkVycm9yKFxuICAgICAgICAgIGBVbmtub3duIGNvbmRpdGlvbiB0eXBlICcke2NvbmRpdGlvbi50eXBlfSdgLFxuICAgICAgICAgIFwiR1JBUEhfVU5LTk9XTl9DT05ESVRJT05fVFlQRVwiLFxuICAgICAgICAgIHsgY29uZGl0aW9uIH1cbiAgICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmVzb2x2ZXMgYSB2YWx1ZSB0aGF0IG1heSBiZSBhIGRvdHRlZCBwYXRoIGludG8gdGhlIHN0YXRlIG9iamVjdC5cbiAgICovXG4gIHByaXZhdGUgcmVzb2x2ZVZhbHVlKHBhdGg6IHN0cmluZyB8IHVuZGVmaW5lZCwgc3RhdGU6IHVua25vd24pOiB1bmtub3duIHtcbiAgICBpZiAoIXBhdGgpIHJldHVybiBzdGF0ZTtcbiAgICBjb25zdCBwYXJ0cyA9IHBhdGguc3BsaXQoXCIuXCIpO1xuICAgIGxldCBjdXJyZW50OiB1bmtub3duID0gc3RhdGU7XG4gICAgZm9yIChjb25zdCBwYXJ0IG9mIHBhcnRzKSB7XG4gICAgICBpZiAoY3VycmVudCA9PSBudWxsKSByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgY3VycmVudCA9IChjdXJyZW50IGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+KVtwYXJ0XTtcbiAgICB9XG4gICAgcmV0dXJuIGN1cnJlbnQ7XG4gIH1cbn1cbiJdfQ==
80
+ //# sourceMappingURL=GraphConditionEvaluator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GraphConditionEvaluator.js","sourceRoot":"","sources":["../../../../src/graph/loops/GraphConditionEvaluator.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,kBAAkB,EAAE,0BAAqB;AAClD,OAAO,EAAE,mBAAmB,EAAE,2CAAsC;AACpE,OAAO,EAAE,4BAA4B,EAAE,0CAAuC;AAE9E;;;GAGG;AACH,MAAM,OAAO,uBAAuB;IAApC;QACmB,wBAAmB,GAAG,IAAI,4BAA4B,EAAE,CAAC;IA8E5E,CAAC;IA5EC;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,SAAyD,EAAE,KAAc;QAChF,IAAI,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1C,OAAO,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC7D,CAAC;QAED,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;IAED;;;;;OAKG;IACK,qBAAqB,CAAC,SAAyD;QACrF,OAAO,OAAQ,SAAwC,CAAC,EAAE,KAAK,QAAQ,CAAC;IAC1E,CAAC;CACF"}
@@ -8,4 +8,4 @@ export class GraphLoopExecutionContext {
8
8
  this.metadata = metadata;
9
9
  }
10
10
  }
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JhcGhMb29wRXhlY3V0aW9uQ29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9ncmFwaC9sb29wcy9HcmFwaExvb3BFeGVjdXRpb25Db250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9BOzs7R0FHRztBQUNILE1BQU0sT0FBTyx5QkFBeUI7SUFJcEMsWUFBWSxTQUFpQixFQUFFLFFBQTJCO1FBQ3hELElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBQzNCLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO0lBQzNCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQG1vZHVsZSBpbnRlZ3JhdGlvbnMvZ3JhcGgvbG9vcHMvR3JhcGhMb29wRXhlY3V0aW9uQ29udGV4dFxuICogQHN1bW1hcnkgQ29udGV4dCBmb3IgbG9vcCBub2RlIGV4ZWN1dGlvbi5cbiAqIEBkZXNjcmlwdGlvbiBDYXJyaWVzIGxvb3Atc3BlY2lmaWMgbWV0YWRhdGEgYW5kIGl0ZXJhdGlvbiBzdGF0ZSBkdXJpbmcgbG9vcCBleGVjdXRpb24uXG4gKi9cbmltcG9ydCB0eXBlIHsgR3JhcGhMb29wTWV0YWRhdGEgfSBmcm9tIFwiLi4vdHlwZXNcIjtcblxuLyoqXG4gKiBDb250ZXh0IGZvciBhIHNpbmdsZSBsb29wIGV4ZWN1dGlvbiwgY2FycnlpbmcgdGhlIGxvb3AgbWV0YWRhdGEgYW5kXG4gKiBjdXJyZW50IGl0ZXJhdGlvbiBpbmRleC5cbiAqL1xuZXhwb3J0IGNsYXNzIEdyYXBoTG9vcEV4ZWN1dGlvbkNvbnRleHQge1xuICByZWFkb25seSBpdGVyYXRpb246IG51bWJlcjtcbiAgcmVhZG9ubHkgbWV0YWRhdGE6IEdyYXBoTG9vcE1ldGFkYXRhO1xuXG4gIGNvbnN0cnVjdG9yKGl0ZXJhdGlvbjogbnVtYmVyLCBtZXRhZGF0YTogR3JhcGhMb29wTWV0YWRhdGEpIHtcbiAgICB0aGlzLml0ZXJhdGlvbiA9IGl0ZXJhdGlvbjtcbiAgICB0aGlzLm1ldGFkYXRhID0gbWV0YWRhdGE7XG4gIH1cbn1cbiJdfQ==
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"}
@@ -68,4 +68,4 @@ export class UntilGraphNodeExecutor {
68
68
  return raw;
69
69
  }
70
70
  }
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVW50aWxHcmFwaE5vZGVFeGVjdXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9ncmFwaC9sb29wcy9VbnRpbEdyYXBoTm9kZUV4ZWN1dG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVdBLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSx1QkFBdUIsRUFBRSwwQkFBcUI7QUFDMUYsT0FBTyxFQUFFLGVBQWUsRUFBRSx1Q0FBa0M7QUFDNUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLDJDQUFzQztBQUNwRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUscUNBQWtDO0FBRXBFOzs7OztHQUtHO0FBQ0gsTUFBTSxPQUFPLHNCQUFzQjtJQUdqQyxZQUE2QixNQUE0QjtRQUE1QixXQUFNLEdBQU4sTUFBTSxDQUFzQjtRQUZ4QyxjQUFTLEdBQUcsSUFBSSx1QkFBdUIsRUFBRSxDQUFDO0lBRUMsQ0FBQztJQUU3RCxLQUFLLENBQUMsT0FBTyxDQUNYLEtBQTJCLEVBQzNCLE9BQThCO1FBRTlCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDL0MsTUFBTSxhQUFhLEdBQ2pCLFFBQVEsQ0FBQyxhQUFhLElBQUksaUNBQWlDLENBQUM7UUFDOUQsTUFBTSxTQUFTLEdBQUcsUUFBUSxDQUFDLFNBQVMsQ0FBQztRQUNyQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDZixNQUFNLElBQUksZUFBZSxDQUFDLG1DQUFtQyxDQUFDLENBQUM7UUFDakUsQ0FBQztRQUNELE1BQU0sU0FBUyxHQUFHLFFBQVEsQ0FBQyxTQUFTLElBQUksT0FBTyxDQUFDO1FBQ2hELE1BQU0sWUFBWSxHQUFHLFFBQVEsQ0FBQyxJQUErQixDQUFDO1FBRTlELElBQUksS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDeEIsSUFBSSxTQUFTLEdBQUcsQ0FBQyxDQUFDO1FBRWxCLE1BQU0sT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSx1QkFBdUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDO1FBRW5FLElBQUksVUFBVSxHQUFHLEtBQUssQ0FBQztRQUV2QixHQUFHLENBQUM7WUFDRixJQUFJLFNBQVMsSUFBSSxhQUFhLEVBQUUsQ0FBQztnQkFDL0IsTUFBTSxPQUFPLENBQUMsSUFBSSxDQUFDO29CQUNqQixJQUFJLEVBQUUsdUJBQXVCLENBQUMsa0JBQWtCO29CQUNoRCxTQUFTO2lCQUNWLENBQUMsQ0FBQztnQkFDSCxNQUFNLElBQUksbUJBQW1CLENBQzNCLHVDQUF1QyxhQUFhLEdBQUcsQ0FDeEQsQ0FBQztZQUNKLENBQUM7WUFFRCxNQUFNLE9BQU8sQ0FBQyxJQUFJLENBQUM7Z0JBQ2pCLElBQUksRUFBRSx1QkFBdUIsQ0FBQyxzQkFBc0I7Z0JBQ3BELFNBQVM7YUFDVixDQUFDLENBQUM7WUFFSCxNQUFNLFdBQVcsR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUMzQyxZQUFZLEVBQ1osRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsRUFDakM7Z0JBQ0UsV0FBVyxFQUFFLE9BQU8sQ0FBQyxLQUFLO2dCQUMxQixJQUFJLEVBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxJQUFJLEVBQUUsYUFBYSxTQUFTLEVBQUUsQ0FBQzthQUNsRCxDQUNGLENBQUM7WUFFRixLQUFLLEdBQUcsV0FBVyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUV2QyxNQUFNLE9BQU8sQ0FBQyxJQUFJLENBQUM7Z0JBQ2pCLElBQUksRUFBRSx1QkFBdUIsQ0FBQyx3QkFBd0I7Z0JBQ3RELFNBQVM7YUFDVixDQUFDLENBQUM7WUFFSCxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFFbEUsTUFBTSxPQUFPLENBQUMsSUFBSSxDQUFDO2dCQUNqQixJQUFJLEVBQUUsdUJBQXVCLENBQUMsd0JBQXdCO2dCQUN0RCxTQUFTO2dCQUNULE9BQU8sRUFBRSxFQUFFLE1BQU0sRUFBRSxlQUFlLEVBQUU7YUFDckMsQ0FBQyxDQUFDO1lBRUgsU0FBUyxFQUFFLENBQUM7WUFDWixVQUFVLEdBQUcsZUFBZSxDQUFDO1FBQy9CLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRTtRQUV0QixNQUFNLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsdUJBQXVCLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQztRQUVyRSxPQUFPLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxDQUFDO0lBQ3ZELENBQUM7SUFFTyxlQUFlLENBQUMsT0FBOEI7UUFDcEQsTUFBTSxHQUFHLEdBQUksT0FBTyxDQUFDLElBQVksQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLElBQUk7WUFDcEQsT0FBTyxDQUFDLFFBQWdCLEVBQUUsSUFBSSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUNULE1BQU0sSUFBSSxlQUFlLENBQUMscUNBQXFDLENBQUMsQ0FBQztRQUNuRSxDQUFDO1FBQ0QsT0FBTyxHQUF3QixDQUFDO0lBQ2xDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQG1vZHVsZSBpbnRlZ3JhdGlvbnMvZ3JhcGgvbG9vcHMvVW50aWxHcmFwaE5vZGVFeGVjdXRvclxuICogQHN1bW1hcnkgVW50aWwgbG9vcCBub2RlIGV4ZWN1dG9yLlxuICogQGRlc2NyaXB0aW9uIEV4ZWN1dGVzIGEgYm9keSB3b3JrZmxvdyBhdCBsZWFzdCBvbmNlIGFuZCByZXBlYXRzIHVudGlsIGEgY29uZGl0aW9uIGlzIHRydWUuXG4gKi9cbmltcG9ydCB0eXBlIHsgR3JhcGhOb2RlRXhlY3V0b3IgfSBmcm9tIFwiLi4vZXhlY3V0aW9uL0dyYXBoTm9kZUV4ZWN1dG9yXCI7XG5pbXBvcnQgdHlwZSB7IEdyYXBoRXhlY3V0aW9uQ29udGV4dCB9IGZyb20gXCIuLi9leGVjdXRpb24vR3JhcGhFeGVjdXRpb25Db250ZXh0XCI7XG5pbXBvcnQgdHlwZSB7IEdyYXBoRXhlY3V0aW9uRW5naW5lIH0gZnJvbSBcIi4uL2V4ZWN1dGlvbi9HcmFwaEV4ZWN1dGlvbkVuZ2luZVwiO1xuaW1wb3J0IHR5cGUgeyBHcmFwaEV4ZWN1dGlvblZhbHVlcywgR3JhcGhMb29wTWV0YWRhdGEgfSBmcm9tIFwiLi4vdHlwZXNcIjtcbmltcG9ydCB0eXBlIHsgR3JhcGhXb3JrZmxvd0RlZmluaXRpb24gfSBmcm9tIFwiQGRlY2FmLXRzL3VpLWRlY29yYXRvcnMvZ3JhcGhcIjtcblxuaW1wb3J0IHsgR1JBUEhfREVGQVVMVF9NQVhfTE9PUF9JVEVSQVRJT05TLCBHcmFwaEV4ZWN1dGlvbkV2ZW50VHlwZSB9IGZyb20gXCIuLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IEdyYXBoSW5wdXRFcnJvciB9IGZyb20gXCIuLi9lcnJvcnMvR3JhcGhJbnB1dEVycm9yXCI7XG5pbXBvcnQgeyBHcmFwaExvb3BMaW1pdEVycm9yIH0gZnJvbSBcIi4uL2Vycm9ycy9HcmFwaExvb3BMaW1pdEVycm9yXCI7XG5pbXBvcnQgeyBHcmFwaENvbmRpdGlvbkV2YWx1YXRvciB9IGZyb20gXCIuL0dyYXBoQ29uZGl0aW9uRXZhbHVhdG9yXCI7XG5cbi8qKlxuICogRXhlY3V0b3IgZm9yIGBjb3JlLmxvb3AudW50aWxgIG5vZGVzLlxuICpcbiAqIEV4ZWN1dGVzIHRoZSBib2R5IGF0IGxlYXN0IG9uY2UsIHRoZW4gY2hlY2tzIHRoZSBjb25kaXRpb24uIFJlcGVhdHMgdW50aWxcbiAqIHRoZSBjb25kaXRpb24gZXZhbHVhdGVzIHRvIHRydWUuXG4gKi9cbmV4cG9ydCBjbGFzcyBVbnRpbEdyYXBoTm9kZUV4ZWN1dG9yIGltcGxlbWVudHMgR3JhcGhOb2RlRXhlY3V0b3Ige1xuICBwcml2YXRlIHJlYWRvbmx5IGV2YWx1YXRvciA9IG5ldyBHcmFwaENvbmRpdGlvbkV2YWx1YXRvcigpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgZW5naW5lOiBHcmFwaEV4ZWN1dGlvbkVuZ2luZSkge31cblxuICBhc3luYyBleGVjdXRlKFxuICAgIGlucHV0OiBHcmFwaEV4ZWN1dGlvblZhbHVlcyxcbiAgICBjb250ZXh0OiBHcmFwaEV4ZWN1dGlvbkNvbnRleHRcbiAgKTogUHJvbWlzZTxHcmFwaEV4ZWN1dGlvblZhbHVlcz4ge1xuICAgIGNvbnN0IG1ldGFkYXRhID0gdGhpcy5leHRyYWN0TWV0YWRhdGEoY29udGV4dCk7XG4gICAgY29uc3QgbWF4SXRlcmF0aW9ucyA9XG4gICAgICBtZXRhZGF0YS5tYXhJdGVyYXRpb25zID8/IEdSQVBIX0RFRkFVTFRfTUFYX0xPT1BfSVRFUkFUSU9OUztcbiAgICBjb25zdCBjb25kaXRpb24gPSBtZXRhZGF0YS5jb25kaXRpb247XG4gICAgaWYgKCFjb25kaXRpb24pIHtcbiAgICAgIHRocm93IG5ldyBHcmFwaElucHV0RXJyb3IoXCJ1bnRpbCBub2RlIGlzIG1pc3NpbmcgYSBjb25kaXRpb25cIik7XG4gICAgfVxuICAgIGNvbnN0IHN0YXRlUG9ydCA9IG1ldGFkYXRhLnN0YXRlUG9ydCA/PyBcInN0YXRlXCI7XG4gICAgY29uc3QgYm9keVdvcmtmbG93ID0gbWV0YWRhdGEuYm9keSBhcyBHcmFwaFdvcmtmbG93RGVmaW5pdGlvbjtcblxuICAgIGxldCBzdGF0ZSA9IGlucHV0LnN0YXRlO1xuICAgIGxldCBpdGVyYXRpb24gPSAwO1xuXG4gICAgYXdhaXQgY29udGV4dC5lbWl0KHsgdHlwZTogR3JhcGhFeGVjdXRpb25FdmVudFR5cGUuTE9PUF9TVEFSVEVEIH0pO1xuXG4gICAgbGV0IHNob3VsZFN0b3AgPSBmYWxzZTtcblxuICAgIGRvIHtcbiAgICAgIGlmIChpdGVyYXRpb24gPj0gbWF4SXRlcmF0aW9ucykge1xuICAgICAgICBhd2FpdCBjb250ZXh0LmVtaXQoe1xuICAgICAgICAgIHR5cGU6IEdyYXBoRXhlY3V0aW9uRXZlbnRUeXBlLkxPT1BfTElNSVRfUkVBQ0hFRCxcbiAgICAgICAgICBpdGVyYXRpb24sXG4gICAgICAgIH0pO1xuICAgICAgICB0aHJvdyBuZXcgR3JhcGhMb29wTGltaXRFcnJvcihcbiAgICAgICAgICBgdW50aWwgbG9vcCBleGNlZWRlZCBtYXggaXRlcmF0aW9ucyAoJHttYXhJdGVyYXRpb25zfSlgXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIGF3YWl0IGNvbnRleHQuZW1pdCh7XG4gICAgICAgIHR5cGU6IEdyYXBoRXhlY3V0aW9uRXZlbnRUeXBlLkxPT1BfSVRFUkFUSU9OX1NUQVJURUQsXG4gICAgICAgIGl0ZXJhdGlvbixcbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCBjaGlsZFJlc3VsdCA9IGF3YWl0IHRoaXMuZW5naW5lLmV4ZWN1dGUoXG4gICAgICAgIGJvZHlXb3JrZmxvdyxcbiAgICAgICAgeyBbc3RhdGVQb3J0XTogc3RhdGUsIGl0ZXJhdGlvbiB9LFxuICAgICAgICB7XG4gICAgICAgICAgcGFyZW50UnVuSWQ6IGNvbnRleHQucnVuSWQsXG4gICAgICAgICAgcGF0aDogWy4uLmNvbnRleHQucGF0aCwgYGl0ZXJhdGlvbjoke2l0ZXJhdGlvbn1gXSxcbiAgICAgICAgfVxuICAgICAgKTtcblxuICAgICAgc3RhdGUgPSBjaGlsZFJlc3VsdC5vdXRwdXRzW3N0YXRlUG9ydF07XG5cbiAgICAgIGF3YWl0IGNvbnRleHQuZW1pdCh7XG4gICAgICAgIHR5cGU6IEdyYXBoRXhlY3V0aW9uRXZlbnRUeXBlLkxPT1BfSVRFUkFUSU9OX0NPTVBMRVRFRCxcbiAgICAgICAgaXRlcmF0aW9uLFxuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IGNvbmRpdGlvblJlc3VsdCA9IHRoaXMuZXZhbHVhdG9yLmV2YWx1YXRlKGNvbmRpdGlvbiwgc3RhdGUpO1xuXG4gICAgICBhd2FpdCBjb250ZXh0LmVtaXQoe1xuICAgICAgICB0eXBlOiBHcmFwaEV4ZWN1dGlvbkV2ZW50VHlwZS5MT09QX0NPTkRJVElPTl9FVkFMVUFURUQsXG4gICAgICAgIGl0ZXJhdGlvbixcbiAgICAgICAgcGF5bG9hZDogeyByZXN1bHQ6IGNvbmRpdGlvblJlc3VsdCB9LFxuICAgICAgfSk7XG5cbiAgICAgIGl0ZXJhdGlvbisrO1xuICAgICAgc2hvdWxkU3RvcCA9IGNvbmRpdGlvblJlc3VsdDtcbiAgICB9IHdoaWxlICghc2hvdWxkU3RvcCk7XG5cbiAgICBhd2FpdCBjb250ZXh0LmVtaXQoeyB0eXBlOiBHcmFwaEV4ZWN1dGlvbkV2ZW50VHlwZS5MT09QX0NPTVBMRVRFRCB9KTtcblxuICAgIHJldHVybiB7IFtzdGF0ZVBvcnRdOiBzdGF0ZSwgaXRlcmF0aW9uczogaXRlcmF0aW9uIH07XG4gIH1cblxuICBwcml2YXRlIGV4dHJhY3RNZXRhZGF0YShjb250ZXh0OiBHcmFwaEV4ZWN1dGlvbkNvbnRleHQpOiBHcmFwaExvb3BNZXRhZGF0YSB7XG4gICAgY29uc3QgcmF3ID0gKGNvbnRleHQubm9kZSBhcyBhbnkpLmdyYXBoPy5tZXRhZGF0YT8ubG9vcCA/P1xuICAgICAgKGNvbnRleHQubWV0YWRhdGEgYXMgYW55KT8ubG9vcDtcbiAgICBpZiAoIXJhdykge1xuICAgICAgdGhyb3cgbmV3IEdyYXBoSW5wdXRFcnJvcihcInVudGlsIG5vZGUgaXMgbWlzc2luZyBsb29wIG1ldGFkYXRhXCIpO1xuICAgIH1cbiAgICByZXR1cm4gcmF3IGFzIEdyYXBoTG9vcE1ldGFkYXRhO1xuICB9XG59XG4iXX0=
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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"}