@decaf-ts/integrations 0.3.10 → 0.3.12

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 (937) hide show
  1. package/dist/integrations.cjs +1649 -2
  2. package/dist/integrations.js +1885 -2
  3. package/lib/cjs/blob/azure/AzureBlobStoreService.cjs +2 -2
  4. package/lib/cjs/blob/azure/index.cjs +2 -2
  5. package/lib/cjs/blob/core/BlobErrors.cjs +2 -2
  6. package/lib/cjs/blob/core/BlobKey.cjs +2 -2
  7. package/lib/cjs/blob/core/BlobStoreFactory.cjs +2 -2
  8. package/lib/cjs/blob/core/BlobStoreService.cjs +2 -2
  9. package/lib/cjs/blob/core/BlobTypes.cjs +2 -2
  10. package/lib/cjs/blob/core/BlobValue.cjs +2 -2
  11. package/lib/cjs/blob/core/index.cjs +2 -2
  12. package/lib/cjs/blob/gcp/GcsBlobStoreService.cjs +2 -2
  13. package/lib/cjs/blob/gcp/index.cjs +2 -2
  14. package/lib/cjs/blob/index.cjs +2 -2
  15. package/lib/cjs/blob/ipfs/IpfsBlobStoreService.cjs +2 -2
  16. package/lib/cjs/blob/ipfs/IpfsKeyIndex.cjs +2 -2
  17. package/lib/cjs/blob/ipfs/LocalJsonIpfsKeyIndex.cjs +2 -2
  18. package/lib/cjs/blob/ipfs/MemoryIpfsKeyIndex.cjs +2 -2
  19. package/lib/cjs/blob/ipfs/PostgresIpfsKeyIndex.cjs +2 -2
  20. package/lib/cjs/blob/ipfs/index.cjs +2 -2
  21. package/lib/cjs/blob/local/LocalBlobStoreService.cjs +2 -2
  22. package/lib/cjs/blob/local/index.cjs +2 -2
  23. package/lib/cjs/blob/memory/MemoryBlobStoreService.cjs +2 -2
  24. package/lib/cjs/blob/memory/index.cjs +2 -2
  25. package/lib/cjs/blob/s3/MinioBlobStoreService.cjs +2 -2
  26. package/lib/cjs/blob/s3/R2BlobStoreService.cjs +2 -2
  27. package/lib/cjs/blob/s3/S3BlobStoreService.cjs +2 -2
  28. package/lib/cjs/blob/s3/index.cjs +2 -2
  29. package/lib/cjs/docker/DockerComposeService.cjs +2 -2
  30. package/lib/cjs/docker/index.cjs +2 -2
  31. package/lib/cjs/graph/engine/constants.cjs +2 -2
  32. package/lib/cjs/graph/engine/decorators.cjs +2 -2
  33. package/lib/cjs/graph/engine/errors/GraphCycleError.cjs +2 -2
  34. package/lib/cjs/graph/engine/errors/GraphExecutionError.cjs +2 -2
  35. package/lib/cjs/graph/engine/errors/GraphInputError.cjs +2 -2
  36. package/lib/cjs/graph/engine/errors/GraphLoopLimitError.cjs +2 -2
  37. package/lib/cjs/graph/engine/errors/GraphPinningError.cjs +2 -2
  38. package/lib/cjs/graph/engine/errors/GraphPortError.cjs +2 -2
  39. package/lib/cjs/graph/engine/errors/GraphStoreError.cjs +2 -2
  40. package/lib/cjs/graph/engine/errors/GraphTopologyError.cjs +2 -2
  41. package/lib/cjs/graph/engine/errors/index.cjs +2 -2
  42. package/lib/cjs/graph/engine/events/GraphExecutionEvent.cjs +2 -2
  43. package/lib/cjs/graph/engine/events/GraphExecutionEventEmitter.cjs +2 -2
  44. package/lib/cjs/graph/engine/events/GraphExecutionEventFactory.cjs +2 -2
  45. package/lib/cjs/graph/engine/events/GraphExecutionObserver.cjs +2 -2
  46. package/lib/cjs/graph/engine/events/index.cjs +2 -2
  47. package/lib/cjs/graph/engine/execution/CodeGraphNodeExecutor.cjs +99 -0
  48. package/lib/cjs/graph/engine/execution/CodeSandboxEvaluator.cjs +2 -2
  49. package/lib/cjs/graph/engine/execution/GraphExecutionContext.cjs +2 -2
  50. package/lib/cjs/graph/engine/execution/GraphExecutionEngine.cjs +22 -3
  51. package/lib/cjs/graph/engine/execution/GraphExecutionFrame.cjs +2 -2
  52. package/lib/cjs/graph/engine/execution/GraphExecutionResult.cjs +2 -2
  53. package/lib/cjs/graph/engine/execution/GraphNodeExecutor.cjs +2 -2
  54. package/lib/cjs/graph/engine/execution/IsolatedVmCodeSandboxEvaluator.cjs +481 -0
  55. package/lib/cjs/graph/engine/execution/LogGraphNodeExecutor.cjs +19 -0
  56. package/lib/cjs/graph/engine/execution/SwitchGraphNodeExecutor.cjs +23 -6
  57. package/lib/cjs/graph/engine/execution/index.cjs +5 -2
  58. package/lib/cjs/graph/engine/index.cjs +5 -2
  59. package/lib/cjs/graph/engine/loops/ConditionExpressionEvaluator.cjs +2 -2
  60. package/lib/cjs/graph/engine/loops/ForeachGraphNodeExecutor.cjs +3 -2
  61. package/lib/cjs/graph/engine/loops/GraphConditionEvaluator.cjs +2 -2
  62. package/lib/cjs/graph/engine/loops/GraphLoopExecutionContext.cjs +2 -2
  63. package/lib/cjs/graph/engine/loops/UntilGraphNodeExecutor.cjs +2 -2
  64. package/lib/cjs/graph/engine/loops/WhileGraphNodeExecutor.cjs +2 -2
  65. package/lib/cjs/graph/engine/loops/index.cjs +2 -2
  66. package/lib/cjs/graph/engine/pinning/GraphPinningDependencyResolver.cjs +2 -2
  67. package/lib/cjs/graph/engine/pinning/GraphPinningMetadata.cjs +2 -2
  68. package/lib/cjs/graph/engine/pinning/GraphPinningPolicy.cjs +2 -2
  69. package/lib/cjs/graph/engine/pinning/GraphPinningService.cjs +2 -2
  70. package/lib/cjs/graph/engine/pinning/index.cjs +2 -2
  71. package/lib/cjs/graph/engine/planning/GraphExecutionPlan.cjs +2 -2
  72. package/lib/cjs/graph/engine/planning/GraphExecutionPlanEdge.cjs +2 -2
  73. package/lib/cjs/graph/engine/planning/GraphExecutionPlanLayer.cjs +2 -2
  74. package/lib/cjs/graph/engine/planning/GraphExecutionPlanNode.cjs +2 -2
  75. package/lib/cjs/graph/engine/planning/GraphExecutionPlanner.cjs +2 -2
  76. package/lib/cjs/graph/engine/planning/GraphRelationResolver.cjs +2 -2
  77. package/lib/cjs/graph/engine/planning/GraphTopology.cjs +2 -2
  78. package/lib/cjs/graph/engine/planning/index.cjs +2 -2
  79. package/lib/cjs/graph/engine/registry/GraphNodeExecutorRegistry.cjs +2 -2
  80. package/lib/cjs/graph/engine/registry/GraphNodeExecutorResolver.cjs +2 -2
  81. package/lib/cjs/graph/engine/registry/index.cjs +2 -2
  82. package/lib/cjs/graph/engine/snapshots/GraphExecutionSnapshotMapper.cjs +2 -2
  83. package/lib/cjs/graph/engine/snapshots/index.cjs +2 -2
  84. package/lib/cjs/graph/engine/store/GraphCachedValue.cjs +2 -2
  85. package/lib/cjs/graph/engine/store/GraphValueKey.cjs +2 -2
  86. package/lib/cjs/graph/engine/store/GraphValueStore.cjs +2 -2
  87. package/lib/cjs/graph/engine/store/GraphValueStoreAdapter.cjs +2 -2
  88. package/lib/cjs/graph/engine/store/InMemoryGraphValueStoreAdapter.cjs +2 -2
  89. package/lib/cjs/graph/engine/store/index.cjs +2 -2
  90. package/lib/cjs/graph/engine/types.cjs +2 -2
  91. package/lib/cjs/graph/engine/validation/GraphDefinitionValidator.cjs +2 -2
  92. package/lib/cjs/graph/engine/validation/GraphPortSchemaResolver.cjs +2 -2
  93. package/lib/cjs/graph/engine/validation/GraphValueValidator.cjs +2 -2
  94. package/lib/cjs/graph/engine/validation/index.cjs +2 -2
  95. package/lib/cjs/graph/index.cjs +2 -2
  96. package/lib/cjs/graph/shared/constants.cjs +2 -2
  97. package/lib/cjs/graph/shared/index.cjs +2 -2
  98. package/lib/cjs/graph/shared/nodes/agent.cjs +2 -2
  99. package/lib/cjs/graph/shared/nodes/base.cjs +2 -2
  100. package/lib/cjs/graph/shared/nodes/category-styles.cjs +2 -2
  101. package/lib/cjs/graph/shared/nodes/flow-control.cjs +100 -17
  102. package/lib/cjs/graph/shared/nodes/index.cjs +2 -2
  103. package/lib/cjs/graph/shared/nodes/triggers.cjs +2 -2
  104. package/lib/cjs/graph/shared/types.cjs +2 -2
  105. package/lib/cjs/index.cjs +5 -5
  106. package/lib/cjs/keycloak/index.cjs +2 -2
  107. package/lib/cjs/keycloak/services/KeycloakAuthService.cjs +2 -2
  108. package/lib/cjs/keycloak/services/KeycloakClientService.cjs +2 -2
  109. package/lib/cjs/keycloak/services/KeycloakIdentityProviderService.cjs +2 -2
  110. package/lib/cjs/keycloak/services/KeycloakRealmService.cjs +2 -2
  111. package/lib/cjs/keycloak/services/KeycloakRoleService.cjs +2 -2
  112. package/lib/cjs/keycloak/services/KeycloakService.cjs +2 -2
  113. package/lib/cjs/keycloak/services/KeycloakUserService.cjs +2 -2
  114. package/lib/cjs/keycloak/services/index.cjs +2 -2
  115. package/lib/cjs/keycloak/services/runtime.cjs +2 -2
  116. package/lib/cjs/keycloak/types.cjs +2 -2
  117. package/lib/cjs/kibana/helpers.cjs +2 -2
  118. package/lib/cjs/kibana/index.cjs +2 -2
  119. package/lib/cjs/kibana/services/KibanaAuthService.cjs +2 -2
  120. package/lib/cjs/kibana/services/KibanaDashboardService.cjs +2 -2
  121. package/lib/cjs/kibana/services/KibanaDataViewService.cjs +2 -2
  122. package/lib/cjs/kibana/services/KibanaRoleService.cjs +2 -2
  123. package/lib/cjs/kibana/services/KibanaService.cjs +2 -2
  124. package/lib/cjs/kibana/services/KibanaSpaceService.cjs +2 -2
  125. package/lib/cjs/kibana/services/KibanaUserService.cjs +2 -2
  126. package/lib/cjs/kibana/services/index.cjs +2 -2
  127. package/lib/cjs/kibana/services/runtime.cjs +2 -2
  128. package/lib/cjs/kibana/types.cjs +2 -2
  129. package/lib/cjs/namespaces/index.cjs +2 -2
  130. package/lib/cjs/namespaces/models/authorization-model.cjs +2 -2
  131. package/lib/cjs/namespaces/models/effective-permission.model.cjs +6 -6
  132. package/lib/cjs/namespaces/models/group-membership.model.cjs +8 -8
  133. package/lib/cjs/namespaces/models/group.model.cjs +8 -8
  134. package/lib/cjs/namespaces/models/index.cjs +22 -22
  135. package/lib/cjs/namespaces/models/inheritance-block.model.cjs +7 -7
  136. package/lib/cjs/namespaces/models/org-unit-closure.model.cjs +7 -7
  137. package/lib/cjs/namespaces/models/org-unit-membership.model.cjs +8 -8
  138. package/lib/cjs/namespaces/models/org-unit-profile.model.cjs +4 -4
  139. package/lib/cjs/namespaces/models/org-unit.model.cjs +13 -13
  140. package/lib/cjs/namespaces/models/permission.model.cjs +4 -4
  141. package/lib/cjs/namespaces/models/principal.model.cjs +8 -8
  142. package/lib/cjs/namespaces/models/protected-resource.model.cjs +10 -10
  143. package/lib/cjs/namespaces/models/resource-grant.model.cjs +9 -9
  144. package/lib/cjs/namespaces/models/role-assignment.model.cjs +8 -8
  145. package/lib/cjs/namespaces/models/role-permission.model.cjs +6 -6
  146. package/lib/cjs/namespaces/models/role.model.cjs +8 -8
  147. package/lib/cjs/namespaces/models/storage-binding.model.cjs +4 -4
  148. package/lib/cjs/namespaces/models/tenant-membership.model.cjs +6 -6
  149. package/lib/cjs/namespaces/models/tenant-profile.model.cjs +4 -4
  150. package/lib/cjs/namespaces/models/tenant.model.cjs +10 -10
  151. package/lib/cjs/namespaces/models/user.model.cjs +6 -6
  152. package/lib/cjs/namespaces/org-based-authorization-system.cjs +2 -2
  153. package/lib/cjs/namespaces/org-based-authorization-system.models.cjs +2 -2
  154. package/lib/cjs/namespaces/org-based-authorization-system.services.cjs +23 -23
  155. package/lib/cjs/namespaces/services/authz.service.cjs +2 -2
  156. package/lib/cjs/namespaces/services/bootstrap.service.cjs +26 -26
  157. package/lib/cjs/namespaces/services/effective-permission.service.cjs +19 -19
  158. package/lib/cjs/namespaces/services/group-membership.service.cjs +6 -6
  159. package/lib/cjs/namespaces/services/group.service.cjs +4 -4
  160. package/lib/cjs/namespaces/services/index.cjs +26 -26
  161. package/lib/cjs/namespaces/services/inheritance-block.service.cjs +4 -4
  162. package/lib/cjs/namespaces/services/org-unit-closure.service.cjs +4 -4
  163. package/lib/cjs/namespaces/services/org-unit-membership.service.cjs +4 -4
  164. package/lib/cjs/namespaces/services/org-unit-profile.service.cjs +4 -4
  165. package/lib/cjs/namespaces/services/org-unit.service.cjs +13 -13
  166. package/lib/cjs/namespaces/services/permission.service.cjs +4 -4
  167. package/lib/cjs/namespaces/services/principal.service.cjs +4 -4
  168. package/lib/cjs/namespaces/services/protected-resource.service.cjs +4 -4
  169. package/lib/cjs/namespaces/services/resource-grant.service.cjs +4 -4
  170. package/lib/cjs/namespaces/services/resource-lifecycle.service.cjs +7 -7
  171. package/lib/cjs/namespaces/services/role-assignment.service.cjs +4 -4
  172. package/lib/cjs/namespaces/services/role-permission.service.cjs +8 -8
  173. package/lib/cjs/namespaces/services/role.service.cjs +4 -4
  174. package/lib/cjs/namespaces/services/storage-binding.service.cjs +4 -4
  175. package/lib/cjs/namespaces/services/system-management.service.cjs +14 -14
  176. package/lib/cjs/namespaces/services/tenant-membership.service.cjs +4 -4
  177. package/lib/cjs/namespaces/services/tenant-profile.service.cjs +4 -4
  178. package/lib/cjs/namespaces/services/tenant.service.cjs +4 -4
  179. package/lib/cjs/namespaces/services/user.service.cjs +4 -4
  180. package/lib/cjs/namespaces/types.cjs +2 -2
  181. package/lib/cjs/namespaces/utils.cjs +2 -2
  182. package/lib/cjs/nest/authService.cjs +2 -2
  183. package/lib/cjs/nest/graph/GraphExecutionController.cjs +41 -52
  184. package/lib/cjs/nest/graph/GraphExecutionModule.cjs +47 -42
  185. package/lib/cjs/nest/graph/GraphExecutionResultModel.cjs +2 -20
  186. package/lib/cjs/nest/graph/GraphExecutorRegistryFactory.cjs +21 -48
  187. package/lib/cjs/nest/graph/GraphResultService.cjs +54 -0
  188. package/lib/cjs/nest/graph/GraphWorkflowModel.cjs +44 -0
  189. package/lib/cjs/nest/graph/GraphWorkflowService.cjs +62 -0
  190. package/lib/cjs/nest/graph/index.cjs +5 -8
  191. package/lib/cjs/nest/graph/main.cjs +3 -3
  192. package/lib/cjs/nest/index.cjs +2 -2
  193. package/lib/cjs/nest/keycloakAuthHandler.cjs +2 -2
  194. package/lib/cjs/nest/keycloakModule.cjs +2 -2
  195. package/lib/cjs/nest/logging.cjs +2 -2
  196. package/lib/cjs/nest/types.cjs +2 -2
  197. package/lib/cjs/nest/utils.cjs +2 -2
  198. package/lib/cjs/secrets/aws/AwsSecretService.cjs +2 -2
  199. package/lib/cjs/secrets/aws/AwsSecretServiceConfig.cjs +2 -2
  200. package/lib/cjs/secrets/aws/index.cjs +2 -2
  201. package/lib/cjs/secrets/azure/AzureKeyVaultSecretService.cjs +2 -2
  202. package/lib/cjs/secrets/azure/AzureKeyVaultSecretServiceConfig.cjs +2 -2
  203. package/lib/cjs/secrets/azure/index.cjs +2 -2
  204. package/lib/cjs/secrets/core/SecretErrors.cjs +2 -2
  205. package/lib/cjs/secrets/core/SecretName.cjs +2 -2
  206. package/lib/cjs/secrets/core/SecretReference.cjs +2 -2
  207. package/lib/cjs/secrets/core/SecretSerialization.cjs +2 -2
  208. package/lib/cjs/secrets/core/SecretService.cjs +2 -2
  209. package/lib/cjs/secrets/core/SecretTypes.cjs +2 -2
  210. package/lib/cjs/secrets/core/index.cjs +2 -2
  211. package/lib/cjs/secrets/gcp/GcpSecretManagerService.cjs +2 -2
  212. package/lib/cjs/secrets/gcp/GcpSecretManagerServiceConfig.cjs +2 -2
  213. package/lib/cjs/secrets/gcp/index.cjs +2 -2
  214. package/lib/cjs/secrets/index.cjs +2 -2
  215. package/lib/cjs/secrets/model/ModelSecretCrypto.cjs +2 -2
  216. package/lib/cjs/secrets/model/ModelSecretService.cjs +2 -2
  217. package/lib/cjs/secrets/model/ModelSecretServiceConfig.cjs +2 -2
  218. package/lib/cjs/secrets/model/Secret.cjs +2 -2
  219. package/lib/cjs/secrets/model/index.cjs +2 -2
  220. package/lib/cjs/secrets/onepassword/OnePasswordSecretService.cjs +2 -2
  221. package/lib/cjs/secrets/onepassword/OnePasswordSecretServiceConfig.cjs +2 -2
  222. package/lib/cjs/secrets/onepassword/index.cjs +2 -2
  223. package/lib/cjs/secrets/vault/VaultSecretService.cjs +2 -2
  224. package/lib/cjs/secrets/vault/VaultSecretServiceConfig.cjs +2 -2
  225. package/lib/cjs/secrets/vault/index.cjs +2 -2
  226. package/lib/cjs/shared/runtime.cjs +2 -2
  227. package/lib/cjs/utils.cjs +2 -2
  228. package/lib/esm/blob/azure/AzureBlobStoreService.js +1 -1
  229. package/lib/esm/blob/azure/index.js +1 -1
  230. package/lib/esm/blob/core/BlobErrors.js +1 -1
  231. package/lib/esm/blob/core/BlobKey.js +1 -1
  232. package/lib/esm/blob/core/BlobStoreFactory.js +1 -1
  233. package/lib/esm/blob/core/BlobStoreService.js +1 -1
  234. package/lib/esm/blob/core/BlobTypes.js +1 -1
  235. package/lib/esm/blob/core/BlobValue.js +1 -1
  236. package/lib/esm/blob/core/index.js +1 -1
  237. package/lib/esm/blob/gcp/GcsBlobStoreService.js +1 -1
  238. package/lib/esm/blob/gcp/index.js +1 -1
  239. package/lib/esm/blob/index.js +1 -1
  240. package/lib/esm/blob/ipfs/IpfsBlobStoreService.js +1 -1
  241. package/lib/esm/blob/ipfs/IpfsKeyIndex.js +1 -1
  242. package/lib/esm/blob/ipfs/LocalJsonIpfsKeyIndex.js +1 -1
  243. package/lib/esm/blob/ipfs/MemoryIpfsKeyIndex.js +1 -1
  244. package/lib/esm/blob/ipfs/PostgresIpfsKeyIndex.js +1 -1
  245. package/lib/esm/blob/ipfs/index.js +1 -1
  246. package/lib/esm/blob/local/LocalBlobStoreService.js +1 -1
  247. package/lib/esm/blob/local/index.js +1 -1
  248. package/lib/esm/blob/memory/MemoryBlobStoreService.js +1 -1
  249. package/lib/esm/blob/memory/index.js +1 -1
  250. package/lib/esm/blob/s3/MinioBlobStoreService.js +1 -1
  251. package/lib/esm/blob/s3/R2BlobStoreService.js +1 -1
  252. package/lib/esm/blob/s3/S3BlobStoreService.js +1 -1
  253. package/lib/esm/blob/s3/index.js +1 -1
  254. package/lib/esm/docker/DockerComposeService.js +1 -1
  255. package/lib/esm/docker/index.js +1 -1
  256. package/lib/esm/graph/engine/constants.js +1 -1
  257. package/lib/esm/graph/engine/decorators.js +1 -1
  258. package/lib/esm/graph/engine/errors/GraphCycleError.js +1 -1
  259. package/lib/esm/graph/engine/errors/GraphExecutionError.js +1 -1
  260. package/lib/esm/graph/engine/errors/GraphInputError.js +1 -1
  261. package/lib/esm/graph/engine/errors/GraphLoopLimitError.js +1 -1
  262. package/lib/esm/graph/engine/errors/GraphPinningError.js +1 -1
  263. package/lib/esm/graph/engine/errors/GraphPortError.js +1 -1
  264. package/lib/esm/graph/engine/errors/GraphStoreError.js +1 -1
  265. package/lib/esm/graph/engine/errors/GraphTopologyError.js +1 -1
  266. package/lib/esm/graph/engine/errors/index.js +1 -1
  267. package/lib/esm/graph/engine/events/GraphExecutionEvent.js +1 -1
  268. package/lib/esm/graph/engine/events/GraphExecutionEventEmitter.js +1 -1
  269. package/lib/esm/graph/engine/events/GraphExecutionEventFactory.js +1 -1
  270. package/lib/esm/graph/engine/events/GraphExecutionObserver.js +1 -1
  271. package/lib/esm/graph/engine/events/index.js +1 -1
  272. package/lib/esm/graph/engine/execution/CodeGraphNodeExecutor.js +94 -0
  273. package/lib/esm/graph/engine/execution/CodeSandboxEvaluator.js +1 -1
  274. package/lib/esm/graph/engine/execution/GraphExecutionContext.js +1 -1
  275. package/lib/esm/graph/engine/execution/GraphExecutionEngine.js +21 -2
  276. package/lib/esm/graph/engine/execution/GraphExecutionFrame.js +1 -1
  277. package/lib/esm/graph/engine/execution/GraphExecutionResult.js +1 -1
  278. package/lib/esm/graph/engine/execution/GraphNodeExecutor.js +1 -1
  279. package/lib/esm/graph/engine/execution/IsolatedVmCodeSandboxEvaluator.js +440 -0
  280. package/lib/esm/graph/engine/execution/LogGraphNodeExecutor.js +14 -0
  281. package/lib/esm/graph/engine/execution/SwitchGraphNodeExecutor.js +22 -5
  282. package/lib/esm/graph/engine/execution/index.js +4 -1
  283. package/lib/esm/graph/engine/index.js +4 -1
  284. package/lib/esm/graph/engine/loops/ConditionExpressionEvaluator.js +1 -1
  285. package/lib/esm/graph/engine/loops/ForeachGraphNodeExecutor.js +2 -1
  286. package/lib/esm/graph/engine/loops/GraphConditionEvaluator.js +1 -1
  287. package/lib/esm/graph/engine/loops/GraphLoopExecutionContext.js +1 -1
  288. package/lib/esm/graph/engine/loops/UntilGraphNodeExecutor.js +1 -1
  289. package/lib/esm/graph/engine/loops/WhileGraphNodeExecutor.js +1 -1
  290. package/lib/esm/graph/engine/loops/index.js +1 -1
  291. package/lib/esm/graph/engine/pinning/GraphPinningDependencyResolver.js +1 -1
  292. package/lib/esm/graph/engine/pinning/GraphPinningMetadata.js +1 -1
  293. package/lib/esm/graph/engine/pinning/GraphPinningPolicy.js +1 -1
  294. package/lib/esm/graph/engine/pinning/GraphPinningService.js +1 -1
  295. package/lib/esm/graph/engine/pinning/index.js +1 -1
  296. package/lib/esm/graph/engine/planning/GraphExecutionPlan.js +1 -1
  297. package/lib/esm/graph/engine/planning/GraphExecutionPlanEdge.js +1 -1
  298. package/lib/esm/graph/engine/planning/GraphExecutionPlanLayer.js +1 -1
  299. package/lib/esm/graph/engine/planning/GraphExecutionPlanNode.js +1 -1
  300. package/lib/esm/graph/engine/planning/GraphExecutionPlanner.js +1 -1
  301. package/lib/esm/graph/engine/planning/GraphRelationResolver.js +1 -1
  302. package/lib/esm/graph/engine/planning/GraphTopology.js +1 -1
  303. package/lib/esm/graph/engine/planning/index.js +1 -1
  304. package/lib/esm/graph/engine/registry/GraphNodeExecutorRegistry.js +1 -1
  305. package/lib/esm/graph/engine/registry/GraphNodeExecutorResolver.js +1 -1
  306. package/lib/esm/graph/engine/registry/index.js +1 -1
  307. package/lib/esm/graph/engine/snapshots/GraphExecutionSnapshotMapper.js +1 -1
  308. package/lib/esm/graph/engine/snapshots/index.js +1 -1
  309. package/lib/esm/graph/engine/store/GraphCachedValue.js +1 -1
  310. package/lib/esm/graph/engine/store/GraphValueKey.js +1 -1
  311. package/lib/esm/graph/engine/store/GraphValueStore.js +1 -1
  312. package/lib/esm/graph/engine/store/GraphValueStoreAdapter.js +1 -1
  313. package/lib/esm/graph/engine/store/InMemoryGraphValueStoreAdapter.js +1 -1
  314. package/lib/esm/graph/engine/store/index.js +1 -1
  315. package/lib/esm/graph/engine/types.js +1 -1
  316. package/lib/esm/graph/engine/validation/GraphDefinitionValidator.js +1 -1
  317. package/lib/esm/graph/engine/validation/GraphPortSchemaResolver.js +1 -1
  318. package/lib/esm/graph/engine/validation/GraphValueValidator.js +1 -1
  319. package/lib/esm/graph/engine/validation/index.js +1 -1
  320. package/lib/esm/graph/index.js +1 -1
  321. package/lib/esm/graph/shared/constants.js +1 -1
  322. package/lib/esm/graph/shared/index.js +1 -1
  323. package/lib/esm/graph/shared/nodes/agent.js +1 -1
  324. package/lib/esm/graph/shared/nodes/base.js +1 -1
  325. package/lib/esm/graph/shared/nodes/category-styles.js +1 -1
  326. package/lib/esm/graph/shared/nodes/flow-control.js +99 -16
  327. package/lib/esm/graph/shared/nodes/index.js +1 -1
  328. package/lib/esm/graph/shared/nodes/triggers.js +1 -1
  329. package/lib/esm/graph/shared/types.js +1 -1
  330. package/lib/esm/index.js +4 -4
  331. package/lib/esm/keycloak/index.js +1 -1
  332. package/lib/esm/keycloak/services/KeycloakAuthService.js +1 -1
  333. package/lib/esm/keycloak/services/KeycloakClientService.js +1 -1
  334. package/lib/esm/keycloak/services/KeycloakIdentityProviderService.js +1 -1
  335. package/lib/esm/keycloak/services/KeycloakRealmService.js +1 -1
  336. package/lib/esm/keycloak/services/KeycloakRoleService.js +1 -1
  337. package/lib/esm/keycloak/services/KeycloakService.js +1 -1
  338. package/lib/esm/keycloak/services/KeycloakUserService.js +1 -1
  339. package/lib/esm/keycloak/services/index.js +1 -1
  340. package/lib/esm/keycloak/services/runtime.js +1 -1
  341. package/lib/esm/keycloak/types.js +1 -1
  342. package/lib/esm/kibana/helpers.js +1 -1
  343. package/lib/esm/kibana/index.js +1 -1
  344. package/lib/esm/kibana/services/KibanaAuthService.js +1 -1
  345. package/lib/esm/kibana/services/KibanaDashboardService.js +1 -1
  346. package/lib/esm/kibana/services/KibanaDataViewService.js +1 -1
  347. package/lib/esm/kibana/services/KibanaRoleService.js +1 -1
  348. package/lib/esm/kibana/services/KibanaService.js +1 -1
  349. package/lib/esm/kibana/services/KibanaSpaceService.js +1 -1
  350. package/lib/esm/kibana/services/KibanaUserService.js +1 -1
  351. package/lib/esm/kibana/services/index.js +1 -1
  352. package/lib/esm/kibana/services/runtime.js +1 -1
  353. package/lib/esm/kibana/types.js +1 -1
  354. package/lib/esm/namespaces/index.js +1 -1
  355. package/lib/esm/namespaces/models/authorization-model.js +1 -1
  356. package/lib/esm/namespaces/models/effective-permission.model.js +3 -3
  357. package/lib/esm/namespaces/models/group-membership.model.js +4 -4
  358. package/lib/esm/namespaces/models/group.model.js +4 -4
  359. package/lib/esm/namespaces/models/index.js +21 -21
  360. package/lib/esm/namespaces/models/inheritance-block.model.js +3 -3
  361. package/lib/esm/namespaces/models/org-unit-closure.model.js +3 -3
  362. package/lib/esm/namespaces/models/org-unit-membership.model.js +4 -4
  363. package/lib/esm/namespaces/models/org-unit-profile.model.js +2 -2
  364. package/lib/esm/namespaces/models/org-unit.model.js +6 -6
  365. package/lib/esm/namespaces/models/permission.model.js +2 -2
  366. package/lib/esm/namespaces/models/principal.model.js +4 -4
  367. package/lib/esm/namespaces/models/protected-resource.model.js +5 -5
  368. package/lib/esm/namespaces/models/resource-grant.model.js +4 -4
  369. package/lib/esm/namespaces/models/role-assignment.model.js +4 -4
  370. package/lib/esm/namespaces/models/role-permission.model.js +3 -3
  371. package/lib/esm/namespaces/models/role.model.js +4 -4
  372. package/lib/esm/namespaces/models/storage-binding.model.js +2 -2
  373. package/lib/esm/namespaces/models/tenant-membership.model.js +3 -3
  374. package/lib/esm/namespaces/models/tenant-profile.model.js +2 -2
  375. package/lib/esm/namespaces/models/tenant.model.js +5 -5
  376. package/lib/esm/namespaces/models/user.model.js +3 -3
  377. package/lib/esm/namespaces/org-based-authorization-system.js +1 -1
  378. package/lib/esm/namespaces/org-based-authorization-system.models.js +1 -1
  379. package/lib/esm/namespaces/org-based-authorization-system.services.js +2 -2
  380. package/lib/esm/namespaces/services/authz.service.js +1 -1
  381. package/lib/esm/namespaces/services/bootstrap.service.js +13 -13
  382. package/lib/esm/namespaces/services/effective-permission.service.js +9 -9
  383. package/lib/esm/namespaces/services/group-membership.service.js +3 -3
  384. package/lib/esm/namespaces/services/group.service.js +2 -2
  385. package/lib/esm/namespaces/services/index.js +25 -25
  386. package/lib/esm/namespaces/services/inheritance-block.service.js +2 -2
  387. package/lib/esm/namespaces/services/org-unit-closure.service.js +2 -2
  388. package/lib/esm/namespaces/services/org-unit-membership.service.js +2 -2
  389. package/lib/esm/namespaces/services/org-unit-profile.service.js +2 -2
  390. package/lib/esm/namespaces/services/org-unit.service.js +4 -4
  391. package/lib/esm/namespaces/services/permission.service.js +2 -2
  392. package/lib/esm/namespaces/services/principal.service.js +2 -2
  393. package/lib/esm/namespaces/services/protected-resource.service.js +2 -2
  394. package/lib/esm/namespaces/services/resource-grant.service.js +2 -2
  395. package/lib/esm/namespaces/services/resource-lifecycle.service.js +3 -3
  396. package/lib/esm/namespaces/services/role-assignment.service.js +2 -2
  397. package/lib/esm/namespaces/services/role-permission.service.js +4 -4
  398. package/lib/esm/namespaces/services/role.service.js +2 -2
  399. package/lib/esm/namespaces/services/storage-binding.service.js +2 -2
  400. package/lib/esm/namespaces/services/system-management.service.js +7 -7
  401. package/lib/esm/namespaces/services/tenant-membership.service.js +2 -2
  402. package/lib/esm/namespaces/services/tenant-profile.service.js +2 -2
  403. package/lib/esm/namespaces/services/tenant.service.js +2 -2
  404. package/lib/esm/namespaces/services/user.service.js +2 -2
  405. package/lib/esm/namespaces/types.js +1 -1
  406. package/lib/esm/namespaces/utils.js +1 -1
  407. package/lib/esm/nest/authService.js +1 -1
  408. package/lib/esm/nest/graph/GraphExecutionController.js +40 -51
  409. package/lib/esm/nest/graph/GraphExecutionModule.js +12 -40
  410. package/lib/esm/nest/graph/GraphExecutionResultModel.js +1 -19
  411. package/lib/esm/nest/graph/GraphExecutorRegistryFactory.js +21 -48
  412. package/lib/esm/nest/graph/GraphResultService.js +45 -0
  413. package/lib/esm/nest/graph/GraphWorkflowModel.js +35 -0
  414. package/lib/esm/nest/graph/GraphWorkflowService.js +53 -0
  415. package/lib/esm/nest/graph/index.js +4 -7
  416. package/lib/esm/nest/graph/main.js +2 -2
  417. package/lib/esm/nest/index.js +1 -1
  418. package/lib/esm/nest/keycloakAuthHandler.js +1 -1
  419. package/lib/esm/nest/keycloakModule.js +1 -1
  420. package/lib/esm/nest/logging.js +1 -1
  421. package/lib/esm/nest/types.js +1 -1
  422. package/lib/esm/nest/utils.js +1 -1
  423. package/lib/esm/secrets/aws/AwsSecretService.js +1 -1
  424. package/lib/esm/secrets/aws/AwsSecretServiceConfig.js +1 -1
  425. package/lib/esm/secrets/aws/index.js +1 -1
  426. package/lib/esm/secrets/azure/AzureKeyVaultSecretService.js +1 -1
  427. package/lib/esm/secrets/azure/AzureKeyVaultSecretServiceConfig.js +1 -1
  428. package/lib/esm/secrets/azure/index.js +1 -1
  429. package/lib/esm/secrets/core/SecretErrors.js +1 -1
  430. package/lib/esm/secrets/core/SecretName.js +1 -1
  431. package/lib/esm/secrets/core/SecretReference.js +1 -1
  432. package/lib/esm/secrets/core/SecretSerialization.js +1 -1
  433. package/lib/esm/secrets/core/SecretService.js +1 -1
  434. package/lib/esm/secrets/core/SecretTypes.js +1 -1
  435. package/lib/esm/secrets/core/index.js +1 -1
  436. package/lib/esm/secrets/gcp/GcpSecretManagerService.js +1 -1
  437. package/lib/esm/secrets/gcp/GcpSecretManagerServiceConfig.js +1 -1
  438. package/lib/esm/secrets/gcp/index.js +1 -1
  439. package/lib/esm/secrets/index.js +1 -1
  440. package/lib/esm/secrets/model/ModelSecretCrypto.js +1 -1
  441. package/lib/esm/secrets/model/ModelSecretService.js +1 -1
  442. package/lib/esm/secrets/model/ModelSecretServiceConfig.js +1 -1
  443. package/lib/esm/secrets/model/Secret.js +1 -1
  444. package/lib/esm/secrets/model/index.js +1 -1
  445. package/lib/esm/secrets/onepassword/OnePasswordSecretService.js +1 -1
  446. package/lib/esm/secrets/onepassword/OnePasswordSecretServiceConfig.js +1 -1
  447. package/lib/esm/secrets/onepassword/index.js +1 -1
  448. package/lib/esm/secrets/vault/VaultSecretService.js +1 -1
  449. package/lib/esm/secrets/vault/VaultSecretServiceConfig.js +1 -1
  450. package/lib/esm/secrets/vault/index.js +1 -1
  451. package/lib/esm/shared/runtime.js +1 -1
  452. package/lib/esm/utils.js +1 -1
  453. package/lib/types/graph/engine/execution/CodeGraphNodeExecutor.d.cts +65 -0
  454. package/lib/types/graph/engine/execution/CodeGraphNodeExecutor.d.mts +65 -0
  455. package/lib/types/graph/engine/execution/CodeSandboxEvaluator.d.cts +23 -0
  456. package/lib/types/graph/engine/execution/CodeSandboxEvaluator.d.mts +23 -0
  457. package/lib/types/graph/engine/execution/GraphExecutionEngine.d.cts +6 -0
  458. package/lib/types/graph/engine/execution/GraphExecutionEngine.d.mts +6 -0
  459. package/lib/types/graph/engine/execution/IsolatedVmCodeSandboxEvaluator.d.cts +63 -0
  460. package/lib/types/graph/engine/execution/IsolatedVmCodeSandboxEvaluator.d.mts +63 -0
  461. package/lib/types/graph/engine/execution/LogGraphNodeExecutor.d.cts +19 -0
  462. package/lib/types/graph/engine/execution/LogGraphNodeExecutor.d.mts +19 -0
  463. package/lib/types/graph/engine/execution/SwitchGraphNodeExecutor.d.cts +3 -2
  464. package/lib/types/graph/engine/execution/SwitchGraphNodeExecutor.d.mts +3 -2
  465. package/lib/types/graph/engine/execution/index.d.cts +3 -0
  466. package/lib/types/graph/engine/execution/index.d.mts +3 -0
  467. package/lib/types/graph/engine/index.d.cts +3 -0
  468. package/lib/types/graph/engine/index.d.mts +3 -0
  469. package/lib/types/graph/shared/nodes/flow-control.d.cts +36 -9
  470. package/lib/types/graph/shared/nodes/flow-control.d.mts +36 -9
  471. package/lib/types/graph/shared/types.d.cts +6 -0
  472. package/lib/types/graph/shared/types.d.mts +6 -0
  473. package/lib/types/index.d.cts +2 -2
  474. package/lib/types/index.d.mts +2 -2
  475. package/lib/types/nest/graph/GraphExecutionController.d.cts +11 -42
  476. package/lib/types/nest/graph/GraphExecutionController.d.mts +11 -42
  477. package/lib/types/nest/graph/GraphExecutionModule.d.cts +9 -29
  478. package/lib/types/nest/graph/GraphExecutionModule.d.mts +9 -29
  479. package/lib/types/nest/graph/GraphExecutionResultModel.d.cts +0 -34
  480. package/lib/types/nest/graph/GraphExecutionResultModel.d.mts +0 -34
  481. package/lib/types/nest/graph/GraphExecutorRegistryFactory.d.cts +16 -9
  482. package/lib/types/nest/graph/GraphExecutorRegistryFactory.d.mts +16 -9
  483. package/lib/types/nest/graph/GraphResultService.d.cts +8 -0
  484. package/lib/types/nest/graph/GraphResultService.d.mts +8 -0
  485. package/lib/types/nest/graph/GraphWorkflowModel.d.cts +7 -0
  486. package/lib/types/nest/graph/GraphWorkflowModel.d.mts +7 -0
  487. package/lib/types/nest/graph/GraphWorkflowService.d.cts +7 -0
  488. package/lib/types/nest/graph/GraphWorkflowService.d.mts +7 -0
  489. package/lib/types/nest/graph/index.d.cts +3 -6
  490. package/lib/types/nest/graph/index.d.mts +3 -6
  491. package/package.json +5 -1
  492. package/dist/integrations.cjs.map +0 -1
  493. package/dist/integrations.js.map +0 -1
  494. package/lib/cjs/blob/azure/AzureBlobStoreService.cjs.map +0 -1
  495. package/lib/cjs/blob/azure/index.cjs.map +0 -1
  496. package/lib/cjs/blob/core/BlobErrors.cjs.map +0 -1
  497. package/lib/cjs/blob/core/BlobKey.cjs.map +0 -1
  498. package/lib/cjs/blob/core/BlobStoreFactory.cjs.map +0 -1
  499. package/lib/cjs/blob/core/BlobStoreService.cjs.map +0 -1
  500. package/lib/cjs/blob/core/BlobTypes.cjs.map +0 -1
  501. package/lib/cjs/blob/core/BlobValue.cjs.map +0 -1
  502. package/lib/cjs/blob/core/index.cjs.map +0 -1
  503. package/lib/cjs/blob/gcp/GcsBlobStoreService.cjs.map +0 -1
  504. package/lib/cjs/blob/gcp/index.cjs.map +0 -1
  505. package/lib/cjs/blob/index.cjs.map +0 -1
  506. package/lib/cjs/blob/ipfs/IpfsBlobStoreService.cjs.map +0 -1
  507. package/lib/cjs/blob/ipfs/IpfsKeyIndex.cjs.map +0 -1
  508. package/lib/cjs/blob/ipfs/LocalJsonIpfsKeyIndex.cjs.map +0 -1
  509. package/lib/cjs/blob/ipfs/MemoryIpfsKeyIndex.cjs.map +0 -1
  510. package/lib/cjs/blob/ipfs/PostgresIpfsKeyIndex.cjs.map +0 -1
  511. package/lib/cjs/blob/ipfs/index.cjs.map +0 -1
  512. package/lib/cjs/blob/local/LocalBlobStoreService.cjs.map +0 -1
  513. package/lib/cjs/blob/local/index.cjs.map +0 -1
  514. package/lib/cjs/blob/memory/MemoryBlobStoreService.cjs.map +0 -1
  515. package/lib/cjs/blob/memory/index.cjs.map +0 -1
  516. package/lib/cjs/blob/s3/MinioBlobStoreService.cjs.map +0 -1
  517. package/lib/cjs/blob/s3/R2BlobStoreService.cjs.map +0 -1
  518. package/lib/cjs/blob/s3/S3BlobStoreService.cjs.map +0 -1
  519. package/lib/cjs/blob/s3/index.cjs.map +0 -1
  520. package/lib/cjs/docker/DockerComposeService.cjs.map +0 -1
  521. package/lib/cjs/docker/index.cjs.map +0 -1
  522. package/lib/cjs/graph/engine/constants.cjs.map +0 -1
  523. package/lib/cjs/graph/engine/decorators.cjs.map +0 -1
  524. package/lib/cjs/graph/engine/errors/GraphCycleError.cjs.map +0 -1
  525. package/lib/cjs/graph/engine/errors/GraphExecutionError.cjs.map +0 -1
  526. package/lib/cjs/graph/engine/errors/GraphInputError.cjs.map +0 -1
  527. package/lib/cjs/graph/engine/errors/GraphLoopLimitError.cjs.map +0 -1
  528. package/lib/cjs/graph/engine/errors/GraphPinningError.cjs.map +0 -1
  529. package/lib/cjs/graph/engine/errors/GraphPortError.cjs.map +0 -1
  530. package/lib/cjs/graph/engine/errors/GraphStoreError.cjs.map +0 -1
  531. package/lib/cjs/graph/engine/errors/GraphTopologyError.cjs.map +0 -1
  532. package/lib/cjs/graph/engine/errors/index.cjs.map +0 -1
  533. package/lib/cjs/graph/engine/events/GraphExecutionEvent.cjs.map +0 -1
  534. package/lib/cjs/graph/engine/events/GraphExecutionEventEmitter.cjs.map +0 -1
  535. package/lib/cjs/graph/engine/events/GraphExecutionEventFactory.cjs.map +0 -1
  536. package/lib/cjs/graph/engine/events/GraphExecutionObserver.cjs.map +0 -1
  537. package/lib/cjs/graph/engine/events/index.cjs.map +0 -1
  538. package/lib/cjs/graph/engine/execution/CodeSandboxEvaluator.cjs.map +0 -1
  539. package/lib/cjs/graph/engine/execution/GraphExecutionContext.cjs.map +0 -1
  540. package/lib/cjs/graph/engine/execution/GraphExecutionEngine.cjs.map +0 -1
  541. package/lib/cjs/graph/engine/execution/GraphExecutionFrame.cjs.map +0 -1
  542. package/lib/cjs/graph/engine/execution/GraphExecutionResult.cjs.map +0 -1
  543. package/lib/cjs/graph/engine/execution/GraphNodeExecutor.cjs.map +0 -1
  544. package/lib/cjs/graph/engine/execution/SwitchGraphNodeExecutor.cjs.map +0 -1
  545. package/lib/cjs/graph/engine/execution/index.cjs.map +0 -1
  546. package/lib/cjs/graph/engine/index.cjs.map +0 -1
  547. package/lib/cjs/graph/engine/loops/ConditionExpressionEvaluator.cjs.map +0 -1
  548. package/lib/cjs/graph/engine/loops/ForeachGraphNodeExecutor.cjs.map +0 -1
  549. package/lib/cjs/graph/engine/loops/GraphConditionEvaluator.cjs.map +0 -1
  550. package/lib/cjs/graph/engine/loops/GraphLoopExecutionContext.cjs.map +0 -1
  551. package/lib/cjs/graph/engine/loops/UntilGraphNodeExecutor.cjs.map +0 -1
  552. package/lib/cjs/graph/engine/loops/WhileGraphNodeExecutor.cjs.map +0 -1
  553. package/lib/cjs/graph/engine/loops/index.cjs.map +0 -1
  554. package/lib/cjs/graph/engine/pinning/GraphPinningDependencyResolver.cjs.map +0 -1
  555. package/lib/cjs/graph/engine/pinning/GraphPinningMetadata.cjs.map +0 -1
  556. package/lib/cjs/graph/engine/pinning/GraphPinningPolicy.cjs.map +0 -1
  557. package/lib/cjs/graph/engine/pinning/GraphPinningService.cjs.map +0 -1
  558. package/lib/cjs/graph/engine/pinning/index.cjs.map +0 -1
  559. package/lib/cjs/graph/engine/planning/GraphExecutionPlan.cjs.map +0 -1
  560. package/lib/cjs/graph/engine/planning/GraphExecutionPlanEdge.cjs.map +0 -1
  561. package/lib/cjs/graph/engine/planning/GraphExecutionPlanLayer.cjs.map +0 -1
  562. package/lib/cjs/graph/engine/planning/GraphExecutionPlanNode.cjs.map +0 -1
  563. package/lib/cjs/graph/engine/planning/GraphExecutionPlanner.cjs.map +0 -1
  564. package/lib/cjs/graph/engine/planning/GraphRelationResolver.cjs.map +0 -1
  565. package/lib/cjs/graph/engine/planning/GraphTopology.cjs.map +0 -1
  566. package/lib/cjs/graph/engine/planning/index.cjs.map +0 -1
  567. package/lib/cjs/graph/engine/registry/GraphNodeExecutorRegistry.cjs.map +0 -1
  568. package/lib/cjs/graph/engine/registry/GraphNodeExecutorResolver.cjs.map +0 -1
  569. package/lib/cjs/graph/engine/registry/index.cjs.map +0 -1
  570. package/lib/cjs/graph/engine/snapshots/GraphExecutionSnapshotMapper.cjs.map +0 -1
  571. package/lib/cjs/graph/engine/snapshots/index.cjs.map +0 -1
  572. package/lib/cjs/graph/engine/store/GraphCachedValue.cjs.map +0 -1
  573. package/lib/cjs/graph/engine/store/GraphValueKey.cjs.map +0 -1
  574. package/lib/cjs/graph/engine/store/GraphValueStore.cjs.map +0 -1
  575. package/lib/cjs/graph/engine/store/GraphValueStoreAdapter.cjs.map +0 -1
  576. package/lib/cjs/graph/engine/store/InMemoryGraphValueStoreAdapter.cjs.map +0 -1
  577. package/lib/cjs/graph/engine/store/index.cjs.map +0 -1
  578. package/lib/cjs/graph/engine/types.cjs.map +0 -1
  579. package/lib/cjs/graph/engine/validation/GraphDefinitionValidator.cjs.map +0 -1
  580. package/lib/cjs/graph/engine/validation/GraphPortSchemaResolver.cjs.map +0 -1
  581. package/lib/cjs/graph/engine/validation/GraphValueValidator.cjs.map +0 -1
  582. package/lib/cjs/graph/engine/validation/index.cjs.map +0 -1
  583. package/lib/cjs/graph/index.cjs.map +0 -1
  584. package/lib/cjs/graph/shared/constants.cjs.map +0 -1
  585. package/lib/cjs/graph/shared/index.cjs.map +0 -1
  586. package/lib/cjs/graph/shared/nodes/agent.cjs.map +0 -1
  587. package/lib/cjs/graph/shared/nodes/base.cjs.map +0 -1
  588. package/lib/cjs/graph/shared/nodes/category-styles.cjs.map +0 -1
  589. package/lib/cjs/graph/shared/nodes/flow-control.cjs.map +0 -1
  590. package/lib/cjs/graph/shared/nodes/index.cjs.map +0 -1
  591. package/lib/cjs/graph/shared/nodes/triggers.cjs.map +0 -1
  592. package/lib/cjs/graph/shared/types.cjs.map +0 -1
  593. package/lib/cjs/index.cjs.map +0 -1
  594. package/lib/cjs/keycloak/index.cjs.map +0 -1
  595. package/lib/cjs/keycloak/services/KeycloakAuthService.cjs.map +0 -1
  596. package/lib/cjs/keycloak/services/KeycloakClientService.cjs.map +0 -1
  597. package/lib/cjs/keycloak/services/KeycloakIdentityProviderService.cjs.map +0 -1
  598. package/lib/cjs/keycloak/services/KeycloakRealmService.cjs.map +0 -1
  599. package/lib/cjs/keycloak/services/KeycloakRoleService.cjs.map +0 -1
  600. package/lib/cjs/keycloak/services/KeycloakService.cjs.map +0 -1
  601. package/lib/cjs/keycloak/services/KeycloakUserService.cjs.map +0 -1
  602. package/lib/cjs/keycloak/services/index.cjs.map +0 -1
  603. package/lib/cjs/keycloak/services/runtime.cjs.map +0 -1
  604. package/lib/cjs/keycloak/types.cjs.map +0 -1
  605. package/lib/cjs/kibana/helpers.cjs.map +0 -1
  606. package/lib/cjs/kibana/index.cjs.map +0 -1
  607. package/lib/cjs/kibana/services/KibanaAuthService.cjs.map +0 -1
  608. package/lib/cjs/kibana/services/KibanaDashboardService.cjs.map +0 -1
  609. package/lib/cjs/kibana/services/KibanaDataViewService.cjs.map +0 -1
  610. package/lib/cjs/kibana/services/KibanaRoleService.cjs.map +0 -1
  611. package/lib/cjs/kibana/services/KibanaService.cjs.map +0 -1
  612. package/lib/cjs/kibana/services/KibanaSpaceService.cjs.map +0 -1
  613. package/lib/cjs/kibana/services/KibanaUserService.cjs.map +0 -1
  614. package/lib/cjs/kibana/services/index.cjs.map +0 -1
  615. package/lib/cjs/kibana/services/runtime.cjs.map +0 -1
  616. package/lib/cjs/kibana/types.cjs.map +0 -1
  617. package/lib/cjs/namespaces/index.cjs.map +0 -1
  618. package/lib/cjs/namespaces/models/authorization-model.cjs.map +0 -1
  619. package/lib/cjs/namespaces/models/effective-permission.model.cjs.map +0 -1
  620. package/lib/cjs/namespaces/models/group-membership.model.cjs.map +0 -1
  621. package/lib/cjs/namespaces/models/group.model.cjs.map +0 -1
  622. package/lib/cjs/namespaces/models/index.cjs.map +0 -1
  623. package/lib/cjs/namespaces/models/inheritance-block.model.cjs.map +0 -1
  624. package/lib/cjs/namespaces/models/org-unit-closure.model.cjs.map +0 -1
  625. package/lib/cjs/namespaces/models/org-unit-membership.model.cjs.map +0 -1
  626. package/lib/cjs/namespaces/models/org-unit-profile.model.cjs.map +0 -1
  627. package/lib/cjs/namespaces/models/org-unit.model.cjs.map +0 -1
  628. package/lib/cjs/namespaces/models/permission.model.cjs.map +0 -1
  629. package/lib/cjs/namespaces/models/principal.model.cjs.map +0 -1
  630. package/lib/cjs/namespaces/models/protected-resource.model.cjs.map +0 -1
  631. package/lib/cjs/namespaces/models/resource-grant.model.cjs.map +0 -1
  632. package/lib/cjs/namespaces/models/role-assignment.model.cjs.map +0 -1
  633. package/lib/cjs/namespaces/models/role-permission.model.cjs.map +0 -1
  634. package/lib/cjs/namespaces/models/role.model.cjs.map +0 -1
  635. package/lib/cjs/namespaces/models/storage-binding.model.cjs.map +0 -1
  636. package/lib/cjs/namespaces/models/tenant-membership.model.cjs.map +0 -1
  637. package/lib/cjs/namespaces/models/tenant-profile.model.cjs.map +0 -1
  638. package/lib/cjs/namespaces/models/tenant.model.cjs.map +0 -1
  639. package/lib/cjs/namespaces/models/user.model.cjs.map +0 -1
  640. package/lib/cjs/namespaces/org-based-authorization-system.cjs.map +0 -1
  641. package/lib/cjs/namespaces/org-based-authorization-system.models.cjs.map +0 -1
  642. package/lib/cjs/namespaces/org-based-authorization-system.services.cjs.map +0 -1
  643. package/lib/cjs/namespaces/services/authz.service.cjs.map +0 -1
  644. package/lib/cjs/namespaces/services/bootstrap.service.cjs.map +0 -1
  645. package/lib/cjs/namespaces/services/effective-permission.service.cjs.map +0 -1
  646. package/lib/cjs/namespaces/services/group-membership.service.cjs.map +0 -1
  647. package/lib/cjs/namespaces/services/group.service.cjs.map +0 -1
  648. package/lib/cjs/namespaces/services/index.cjs.map +0 -1
  649. package/lib/cjs/namespaces/services/inheritance-block.service.cjs.map +0 -1
  650. package/lib/cjs/namespaces/services/org-unit-closure.service.cjs.map +0 -1
  651. package/lib/cjs/namespaces/services/org-unit-membership.service.cjs.map +0 -1
  652. package/lib/cjs/namespaces/services/org-unit-profile.service.cjs.map +0 -1
  653. package/lib/cjs/namespaces/services/org-unit.service.cjs.map +0 -1
  654. package/lib/cjs/namespaces/services/permission.service.cjs.map +0 -1
  655. package/lib/cjs/namespaces/services/principal.service.cjs.map +0 -1
  656. package/lib/cjs/namespaces/services/protected-resource.service.cjs.map +0 -1
  657. package/lib/cjs/namespaces/services/resource-grant.service.cjs.map +0 -1
  658. package/lib/cjs/namespaces/services/resource-lifecycle.service.cjs.map +0 -1
  659. package/lib/cjs/namespaces/services/role-assignment.service.cjs.map +0 -1
  660. package/lib/cjs/namespaces/services/role-permission.service.cjs.map +0 -1
  661. package/lib/cjs/namespaces/services/role.service.cjs.map +0 -1
  662. package/lib/cjs/namespaces/services/storage-binding.service.cjs.map +0 -1
  663. package/lib/cjs/namespaces/services/system-management.service.cjs.map +0 -1
  664. package/lib/cjs/namespaces/services/tenant-membership.service.cjs.map +0 -1
  665. package/lib/cjs/namespaces/services/tenant-profile.service.cjs.map +0 -1
  666. package/lib/cjs/namespaces/services/tenant.service.cjs.map +0 -1
  667. package/lib/cjs/namespaces/services/user.service.cjs.map +0 -1
  668. package/lib/cjs/namespaces/types.cjs.map +0 -1
  669. package/lib/cjs/namespaces/utils.cjs.map +0 -1
  670. package/lib/cjs/nest/authService.cjs.map +0 -1
  671. package/lib/cjs/nest/graph/GraphExecutionController.cjs.map +0 -1
  672. package/lib/cjs/nest/graph/GraphExecutionModule.cjs.map +0 -1
  673. package/lib/cjs/nest/graph/GraphExecutionResultModel.cjs.map +0 -1
  674. package/lib/cjs/nest/graph/GraphExecutionResultRepository.cjs +0 -66
  675. package/lib/cjs/nest/graph/GraphExecutionResultRepository.cjs.map +0 -1
  676. package/lib/cjs/nest/graph/GraphExecutorRegistryFactory.cjs.map +0 -1
  677. package/lib/cjs/nest/graph/index.cjs.map +0 -1
  678. package/lib/cjs/nest/graph/main.cjs.map +0 -1
  679. package/lib/cjs/nest/index.cjs.map +0 -1
  680. package/lib/cjs/nest/keycloakAuthHandler.cjs.map +0 -1
  681. package/lib/cjs/nest/keycloakModule.cjs.map +0 -1
  682. package/lib/cjs/nest/logging.cjs.map +0 -1
  683. package/lib/cjs/nest/types.cjs.map +0 -1
  684. package/lib/cjs/nest/utils.cjs.map +0 -1
  685. package/lib/cjs/secrets/aws/AwsSecretService.cjs.map +0 -1
  686. package/lib/cjs/secrets/aws/AwsSecretServiceConfig.cjs.map +0 -1
  687. package/lib/cjs/secrets/aws/index.cjs.map +0 -1
  688. package/lib/cjs/secrets/azure/AzureKeyVaultSecretService.cjs.map +0 -1
  689. package/lib/cjs/secrets/azure/AzureKeyVaultSecretServiceConfig.cjs.map +0 -1
  690. package/lib/cjs/secrets/azure/index.cjs.map +0 -1
  691. package/lib/cjs/secrets/core/SecretErrors.cjs.map +0 -1
  692. package/lib/cjs/secrets/core/SecretName.cjs.map +0 -1
  693. package/lib/cjs/secrets/core/SecretReference.cjs.map +0 -1
  694. package/lib/cjs/secrets/core/SecretSerialization.cjs.map +0 -1
  695. package/lib/cjs/secrets/core/SecretService.cjs.map +0 -1
  696. package/lib/cjs/secrets/core/SecretTypes.cjs.map +0 -1
  697. package/lib/cjs/secrets/core/index.cjs.map +0 -1
  698. package/lib/cjs/secrets/gcp/GcpSecretManagerService.cjs.map +0 -1
  699. package/lib/cjs/secrets/gcp/GcpSecretManagerServiceConfig.cjs.map +0 -1
  700. package/lib/cjs/secrets/gcp/index.cjs.map +0 -1
  701. package/lib/cjs/secrets/index.cjs.map +0 -1
  702. package/lib/cjs/secrets/model/ModelSecretCrypto.cjs.map +0 -1
  703. package/lib/cjs/secrets/model/ModelSecretService.cjs.map +0 -1
  704. package/lib/cjs/secrets/model/ModelSecretServiceConfig.cjs.map +0 -1
  705. package/lib/cjs/secrets/model/Secret.cjs.map +0 -1
  706. package/lib/cjs/secrets/model/index.cjs.map +0 -1
  707. package/lib/cjs/secrets/onepassword/OnePasswordSecretService.cjs.map +0 -1
  708. package/lib/cjs/secrets/onepassword/OnePasswordSecretServiceConfig.cjs.map +0 -1
  709. package/lib/cjs/secrets/onepassword/index.cjs.map +0 -1
  710. package/lib/cjs/secrets/vault/VaultSecretService.cjs.map +0 -1
  711. package/lib/cjs/secrets/vault/VaultSecretServiceConfig.cjs.map +0 -1
  712. package/lib/cjs/secrets/vault/index.cjs.map +0 -1
  713. package/lib/cjs/shared/runtime.cjs.map +0 -1
  714. package/lib/cjs/utils.cjs.map +0 -1
  715. package/lib/esm/blob/azure/AzureBlobStoreService.js.map +0 -1
  716. package/lib/esm/blob/azure/index.js.map +0 -1
  717. package/lib/esm/blob/core/BlobErrors.js.map +0 -1
  718. package/lib/esm/blob/core/BlobKey.js.map +0 -1
  719. package/lib/esm/blob/core/BlobStoreFactory.js.map +0 -1
  720. package/lib/esm/blob/core/BlobStoreService.js.map +0 -1
  721. package/lib/esm/blob/core/BlobTypes.js.map +0 -1
  722. package/lib/esm/blob/core/BlobValue.js.map +0 -1
  723. package/lib/esm/blob/core/index.js.map +0 -1
  724. package/lib/esm/blob/gcp/GcsBlobStoreService.js.map +0 -1
  725. package/lib/esm/blob/gcp/index.js.map +0 -1
  726. package/lib/esm/blob/index.js.map +0 -1
  727. package/lib/esm/blob/ipfs/IpfsBlobStoreService.js.map +0 -1
  728. package/lib/esm/blob/ipfs/IpfsKeyIndex.js.map +0 -1
  729. package/lib/esm/blob/ipfs/LocalJsonIpfsKeyIndex.js.map +0 -1
  730. package/lib/esm/blob/ipfs/MemoryIpfsKeyIndex.js.map +0 -1
  731. package/lib/esm/blob/ipfs/PostgresIpfsKeyIndex.js.map +0 -1
  732. package/lib/esm/blob/ipfs/index.js.map +0 -1
  733. package/lib/esm/blob/local/LocalBlobStoreService.js.map +0 -1
  734. package/lib/esm/blob/local/index.js.map +0 -1
  735. package/lib/esm/blob/memory/MemoryBlobStoreService.js.map +0 -1
  736. package/lib/esm/blob/memory/index.js.map +0 -1
  737. package/lib/esm/blob/s3/MinioBlobStoreService.js.map +0 -1
  738. package/lib/esm/blob/s3/R2BlobStoreService.js.map +0 -1
  739. package/lib/esm/blob/s3/S3BlobStoreService.js.map +0 -1
  740. package/lib/esm/blob/s3/index.js.map +0 -1
  741. package/lib/esm/docker/DockerComposeService.js.map +0 -1
  742. package/lib/esm/docker/index.js.map +0 -1
  743. package/lib/esm/graph/engine/constants.js.map +0 -1
  744. package/lib/esm/graph/engine/decorators.js.map +0 -1
  745. package/lib/esm/graph/engine/errors/GraphCycleError.js.map +0 -1
  746. package/lib/esm/graph/engine/errors/GraphExecutionError.js.map +0 -1
  747. package/lib/esm/graph/engine/errors/GraphInputError.js.map +0 -1
  748. package/lib/esm/graph/engine/errors/GraphLoopLimitError.js.map +0 -1
  749. package/lib/esm/graph/engine/errors/GraphPinningError.js.map +0 -1
  750. package/lib/esm/graph/engine/errors/GraphPortError.js.map +0 -1
  751. package/lib/esm/graph/engine/errors/GraphStoreError.js.map +0 -1
  752. package/lib/esm/graph/engine/errors/GraphTopologyError.js.map +0 -1
  753. package/lib/esm/graph/engine/errors/index.js.map +0 -1
  754. package/lib/esm/graph/engine/events/GraphExecutionEvent.js.map +0 -1
  755. package/lib/esm/graph/engine/events/GraphExecutionEventEmitter.js.map +0 -1
  756. package/lib/esm/graph/engine/events/GraphExecutionEventFactory.js.map +0 -1
  757. package/lib/esm/graph/engine/events/GraphExecutionObserver.js.map +0 -1
  758. package/lib/esm/graph/engine/events/index.js.map +0 -1
  759. package/lib/esm/graph/engine/execution/CodeSandboxEvaluator.js.map +0 -1
  760. package/lib/esm/graph/engine/execution/GraphExecutionContext.js.map +0 -1
  761. package/lib/esm/graph/engine/execution/GraphExecutionEngine.js.map +0 -1
  762. package/lib/esm/graph/engine/execution/GraphExecutionFrame.js.map +0 -1
  763. package/lib/esm/graph/engine/execution/GraphExecutionResult.js.map +0 -1
  764. package/lib/esm/graph/engine/execution/GraphNodeExecutor.js.map +0 -1
  765. package/lib/esm/graph/engine/execution/SwitchGraphNodeExecutor.js.map +0 -1
  766. package/lib/esm/graph/engine/execution/index.js.map +0 -1
  767. package/lib/esm/graph/engine/index.js.map +0 -1
  768. package/lib/esm/graph/engine/loops/ConditionExpressionEvaluator.js.map +0 -1
  769. package/lib/esm/graph/engine/loops/ForeachGraphNodeExecutor.js.map +0 -1
  770. package/lib/esm/graph/engine/loops/GraphConditionEvaluator.js.map +0 -1
  771. package/lib/esm/graph/engine/loops/GraphLoopExecutionContext.js.map +0 -1
  772. package/lib/esm/graph/engine/loops/UntilGraphNodeExecutor.js.map +0 -1
  773. package/lib/esm/graph/engine/loops/WhileGraphNodeExecutor.js.map +0 -1
  774. package/lib/esm/graph/engine/loops/index.js.map +0 -1
  775. package/lib/esm/graph/engine/pinning/GraphPinningDependencyResolver.js.map +0 -1
  776. package/lib/esm/graph/engine/pinning/GraphPinningMetadata.js.map +0 -1
  777. package/lib/esm/graph/engine/pinning/GraphPinningPolicy.js.map +0 -1
  778. package/lib/esm/graph/engine/pinning/GraphPinningService.js.map +0 -1
  779. package/lib/esm/graph/engine/pinning/index.js.map +0 -1
  780. package/lib/esm/graph/engine/planning/GraphExecutionPlan.js.map +0 -1
  781. package/lib/esm/graph/engine/planning/GraphExecutionPlanEdge.js.map +0 -1
  782. package/lib/esm/graph/engine/planning/GraphExecutionPlanLayer.js.map +0 -1
  783. package/lib/esm/graph/engine/planning/GraphExecutionPlanNode.js.map +0 -1
  784. package/lib/esm/graph/engine/planning/GraphExecutionPlanner.js.map +0 -1
  785. package/lib/esm/graph/engine/planning/GraphRelationResolver.js.map +0 -1
  786. package/lib/esm/graph/engine/planning/GraphTopology.js.map +0 -1
  787. package/lib/esm/graph/engine/planning/index.js.map +0 -1
  788. package/lib/esm/graph/engine/registry/GraphNodeExecutorRegistry.js.map +0 -1
  789. package/lib/esm/graph/engine/registry/GraphNodeExecutorResolver.js.map +0 -1
  790. package/lib/esm/graph/engine/registry/index.js.map +0 -1
  791. package/lib/esm/graph/engine/snapshots/GraphExecutionSnapshotMapper.js.map +0 -1
  792. package/lib/esm/graph/engine/snapshots/index.js.map +0 -1
  793. package/lib/esm/graph/engine/store/GraphCachedValue.js.map +0 -1
  794. package/lib/esm/graph/engine/store/GraphValueKey.js.map +0 -1
  795. package/lib/esm/graph/engine/store/GraphValueStore.js.map +0 -1
  796. package/lib/esm/graph/engine/store/GraphValueStoreAdapter.js.map +0 -1
  797. package/lib/esm/graph/engine/store/InMemoryGraphValueStoreAdapter.js.map +0 -1
  798. package/lib/esm/graph/engine/store/index.js.map +0 -1
  799. package/lib/esm/graph/engine/types.js.map +0 -1
  800. package/lib/esm/graph/engine/validation/GraphDefinitionValidator.js.map +0 -1
  801. package/lib/esm/graph/engine/validation/GraphPortSchemaResolver.js.map +0 -1
  802. package/lib/esm/graph/engine/validation/GraphValueValidator.js.map +0 -1
  803. package/lib/esm/graph/engine/validation/index.js.map +0 -1
  804. package/lib/esm/graph/index.js.map +0 -1
  805. package/lib/esm/graph/shared/constants.js.map +0 -1
  806. package/lib/esm/graph/shared/index.js.map +0 -1
  807. package/lib/esm/graph/shared/nodes/agent.js.map +0 -1
  808. package/lib/esm/graph/shared/nodes/base.js.map +0 -1
  809. package/lib/esm/graph/shared/nodes/category-styles.js.map +0 -1
  810. package/lib/esm/graph/shared/nodes/flow-control.js.map +0 -1
  811. package/lib/esm/graph/shared/nodes/index.js.map +0 -1
  812. package/lib/esm/graph/shared/nodes/triggers.js.map +0 -1
  813. package/lib/esm/graph/shared/types.js.map +0 -1
  814. package/lib/esm/index.js.map +0 -1
  815. package/lib/esm/keycloak/index.js.map +0 -1
  816. package/lib/esm/keycloak/services/KeycloakAuthService.js.map +0 -1
  817. package/lib/esm/keycloak/services/KeycloakClientService.js.map +0 -1
  818. package/lib/esm/keycloak/services/KeycloakIdentityProviderService.js.map +0 -1
  819. package/lib/esm/keycloak/services/KeycloakRealmService.js.map +0 -1
  820. package/lib/esm/keycloak/services/KeycloakRoleService.js.map +0 -1
  821. package/lib/esm/keycloak/services/KeycloakService.js.map +0 -1
  822. package/lib/esm/keycloak/services/KeycloakUserService.js.map +0 -1
  823. package/lib/esm/keycloak/services/index.js.map +0 -1
  824. package/lib/esm/keycloak/services/runtime.js.map +0 -1
  825. package/lib/esm/keycloak/types.js.map +0 -1
  826. package/lib/esm/kibana/helpers.js.map +0 -1
  827. package/lib/esm/kibana/index.js.map +0 -1
  828. package/lib/esm/kibana/services/KibanaAuthService.js.map +0 -1
  829. package/lib/esm/kibana/services/KibanaDashboardService.js.map +0 -1
  830. package/lib/esm/kibana/services/KibanaDataViewService.js.map +0 -1
  831. package/lib/esm/kibana/services/KibanaRoleService.js.map +0 -1
  832. package/lib/esm/kibana/services/KibanaService.js.map +0 -1
  833. package/lib/esm/kibana/services/KibanaSpaceService.js.map +0 -1
  834. package/lib/esm/kibana/services/KibanaUserService.js.map +0 -1
  835. package/lib/esm/kibana/services/index.js.map +0 -1
  836. package/lib/esm/kibana/services/runtime.js.map +0 -1
  837. package/lib/esm/kibana/types.js.map +0 -1
  838. package/lib/esm/namespaces/index.js.map +0 -1
  839. package/lib/esm/namespaces/models/authorization-model.js.map +0 -1
  840. package/lib/esm/namespaces/models/effective-permission.model.js.map +0 -1
  841. package/lib/esm/namespaces/models/group-membership.model.js.map +0 -1
  842. package/lib/esm/namespaces/models/group.model.js.map +0 -1
  843. package/lib/esm/namespaces/models/index.js.map +0 -1
  844. package/lib/esm/namespaces/models/inheritance-block.model.js.map +0 -1
  845. package/lib/esm/namespaces/models/org-unit-closure.model.js.map +0 -1
  846. package/lib/esm/namespaces/models/org-unit-membership.model.js.map +0 -1
  847. package/lib/esm/namespaces/models/org-unit-profile.model.js.map +0 -1
  848. package/lib/esm/namespaces/models/org-unit.model.js.map +0 -1
  849. package/lib/esm/namespaces/models/permission.model.js.map +0 -1
  850. package/lib/esm/namespaces/models/principal.model.js.map +0 -1
  851. package/lib/esm/namespaces/models/protected-resource.model.js.map +0 -1
  852. package/lib/esm/namespaces/models/resource-grant.model.js.map +0 -1
  853. package/lib/esm/namespaces/models/role-assignment.model.js.map +0 -1
  854. package/lib/esm/namespaces/models/role-permission.model.js.map +0 -1
  855. package/lib/esm/namespaces/models/role.model.js.map +0 -1
  856. package/lib/esm/namespaces/models/storage-binding.model.js.map +0 -1
  857. package/lib/esm/namespaces/models/tenant-membership.model.js.map +0 -1
  858. package/lib/esm/namespaces/models/tenant-profile.model.js.map +0 -1
  859. package/lib/esm/namespaces/models/tenant.model.js.map +0 -1
  860. package/lib/esm/namespaces/models/user.model.js.map +0 -1
  861. package/lib/esm/namespaces/org-based-authorization-system.js.map +0 -1
  862. package/lib/esm/namespaces/org-based-authorization-system.models.js.map +0 -1
  863. package/lib/esm/namespaces/org-based-authorization-system.services.js.map +0 -1
  864. package/lib/esm/namespaces/services/authz.service.js.map +0 -1
  865. package/lib/esm/namespaces/services/bootstrap.service.js.map +0 -1
  866. package/lib/esm/namespaces/services/effective-permission.service.js.map +0 -1
  867. package/lib/esm/namespaces/services/group-membership.service.js.map +0 -1
  868. package/lib/esm/namespaces/services/group.service.js.map +0 -1
  869. package/lib/esm/namespaces/services/index.js.map +0 -1
  870. package/lib/esm/namespaces/services/inheritance-block.service.js.map +0 -1
  871. package/lib/esm/namespaces/services/org-unit-closure.service.js.map +0 -1
  872. package/lib/esm/namespaces/services/org-unit-membership.service.js.map +0 -1
  873. package/lib/esm/namespaces/services/org-unit-profile.service.js.map +0 -1
  874. package/lib/esm/namespaces/services/org-unit.service.js.map +0 -1
  875. package/lib/esm/namespaces/services/permission.service.js.map +0 -1
  876. package/lib/esm/namespaces/services/principal.service.js.map +0 -1
  877. package/lib/esm/namespaces/services/protected-resource.service.js.map +0 -1
  878. package/lib/esm/namespaces/services/resource-grant.service.js.map +0 -1
  879. package/lib/esm/namespaces/services/resource-lifecycle.service.js.map +0 -1
  880. package/lib/esm/namespaces/services/role-assignment.service.js.map +0 -1
  881. package/lib/esm/namespaces/services/role-permission.service.js.map +0 -1
  882. package/lib/esm/namespaces/services/role.service.js.map +0 -1
  883. package/lib/esm/namespaces/services/storage-binding.service.js.map +0 -1
  884. package/lib/esm/namespaces/services/system-management.service.js.map +0 -1
  885. package/lib/esm/namespaces/services/tenant-membership.service.js.map +0 -1
  886. package/lib/esm/namespaces/services/tenant-profile.service.js.map +0 -1
  887. package/lib/esm/namespaces/services/tenant.service.js.map +0 -1
  888. package/lib/esm/namespaces/services/user.service.js.map +0 -1
  889. package/lib/esm/namespaces/types.js.map +0 -1
  890. package/lib/esm/namespaces/utils.js.map +0 -1
  891. package/lib/esm/nest/authService.js.map +0 -1
  892. package/lib/esm/nest/graph/GraphExecutionController.js.map +0 -1
  893. package/lib/esm/nest/graph/GraphExecutionModule.js.map +0 -1
  894. package/lib/esm/nest/graph/GraphExecutionResultModel.js.map +0 -1
  895. package/lib/esm/nest/graph/GraphExecutionResultRepository.js +0 -60
  896. package/lib/esm/nest/graph/GraphExecutionResultRepository.js.map +0 -1
  897. package/lib/esm/nest/graph/GraphExecutorRegistryFactory.js.map +0 -1
  898. package/lib/esm/nest/graph/index.js.map +0 -1
  899. package/lib/esm/nest/graph/main.js.map +0 -1
  900. package/lib/esm/nest/index.js.map +0 -1
  901. package/lib/esm/nest/keycloakAuthHandler.js.map +0 -1
  902. package/lib/esm/nest/keycloakModule.js.map +0 -1
  903. package/lib/esm/nest/logging.js.map +0 -1
  904. package/lib/esm/nest/types.js.map +0 -1
  905. package/lib/esm/nest/utils.js.map +0 -1
  906. package/lib/esm/secrets/aws/AwsSecretService.js.map +0 -1
  907. package/lib/esm/secrets/aws/AwsSecretServiceConfig.js.map +0 -1
  908. package/lib/esm/secrets/aws/index.js.map +0 -1
  909. package/lib/esm/secrets/azure/AzureKeyVaultSecretService.js.map +0 -1
  910. package/lib/esm/secrets/azure/AzureKeyVaultSecretServiceConfig.js.map +0 -1
  911. package/lib/esm/secrets/azure/index.js.map +0 -1
  912. package/lib/esm/secrets/core/SecretErrors.js.map +0 -1
  913. package/lib/esm/secrets/core/SecretName.js.map +0 -1
  914. package/lib/esm/secrets/core/SecretReference.js.map +0 -1
  915. package/lib/esm/secrets/core/SecretSerialization.js.map +0 -1
  916. package/lib/esm/secrets/core/SecretService.js.map +0 -1
  917. package/lib/esm/secrets/core/SecretTypes.js.map +0 -1
  918. package/lib/esm/secrets/core/index.js.map +0 -1
  919. package/lib/esm/secrets/gcp/GcpSecretManagerService.js.map +0 -1
  920. package/lib/esm/secrets/gcp/GcpSecretManagerServiceConfig.js.map +0 -1
  921. package/lib/esm/secrets/gcp/index.js.map +0 -1
  922. package/lib/esm/secrets/index.js.map +0 -1
  923. package/lib/esm/secrets/model/ModelSecretCrypto.js.map +0 -1
  924. package/lib/esm/secrets/model/ModelSecretService.js.map +0 -1
  925. package/lib/esm/secrets/model/ModelSecretServiceConfig.js.map +0 -1
  926. package/lib/esm/secrets/model/Secret.js.map +0 -1
  927. package/lib/esm/secrets/model/index.js.map +0 -1
  928. package/lib/esm/secrets/onepassword/OnePasswordSecretService.js.map +0 -1
  929. package/lib/esm/secrets/onepassword/OnePasswordSecretServiceConfig.js.map +0 -1
  930. package/lib/esm/secrets/onepassword/index.js.map +0 -1
  931. package/lib/esm/secrets/vault/VaultSecretService.js.map +0 -1
  932. package/lib/esm/secrets/vault/VaultSecretServiceConfig.js.map +0 -1
  933. package/lib/esm/secrets/vault/index.js.map +0 -1
  934. package/lib/esm/shared/runtime.js.map +0 -1
  935. package/lib/esm/utils.js.map +0 -1
  936. package/lib/types/nest/graph/GraphExecutionResultRepository.d.cts +0 -38
  937. package/lib/types/nest/graph/GraphExecutionResultRepository.d.mts +0 -38
@@ -12,4 +12,4 @@ export class GraphPortError extends GraphExecutionError {
12
12
  super(message, "GRAPH_PORT_ERROR", details);
13
13
  }
14
14
  }
15
- //# sourceMappingURL=GraphPortError.js.map
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JhcGhQb3J0RXJyb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZ3JhcGgvZW5naW5lL2Vycm9ycy9HcmFwaFBvcnRFcnJvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBQ0gsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGlDQUE4QjtBQUU1RDs7R0FFRztBQUNILE1BQU0sT0FBTyxjQUFlLFNBQVEsbUJBQW1CO0lBQ3JELFlBQVksT0FBZSxFQUFFLE9BQWlCO1FBQzVDLEtBQUssQ0FBQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDOUMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbW9kdWxlIGludGVncmF0aW9ucy9ncmFwaC9lcnJvcnMvR3JhcGhQb3J0RXJyb3JcbiAqIEBzdW1tYXJ5IEVycm9yIHRocm93biB3aGVuIGEgcG9ydCByZWZlcmVuY2UgaXMgaW52YWxpZC5cbiAqIEBkZXNjcmlwdGlvbiBSYWlzZWQgYnkgdGhlIHJlbGF0aW9uIHJlc29sdmVyIG9yIHZhbGlkYXRvciB3aGVuIGEgcmVmZXJlbmNlZCBwb3J0IGlzIG1pc3Npbmcgb3IgdW5rbm93bi5cbiAqL1xuaW1wb3J0IHsgR3JhcGhFeGVjdXRpb25FcnJvciB9IGZyb20gXCIuL0dyYXBoRXhlY3V0aW9uRXJyb3JcIjtcblxuLyoqXG4gKiBUaHJvd24gd2hlbiBhIHBvcnQgcmVmZXJlbmNlIGlzIGludmFsaWQuXG4gKi9cbmV4cG9ydCBjbGFzcyBHcmFwaFBvcnRFcnJvciBleHRlbmRzIEdyYXBoRXhlY3V0aW9uRXJyb3Ige1xuICBjb25zdHJ1Y3RvcihtZXNzYWdlOiBzdHJpbmcsIGRldGFpbHM/OiB1bmtub3duKSB7XG4gICAgc3VwZXIobWVzc2FnZSwgXCJHUkFQSF9QT1JUX0VSUk9SXCIsIGRldGFpbHMpO1xuICB9XG59XG4iXX0=
@@ -12,4 +12,4 @@ export class GraphStoreError extends GraphExecutionError {
12
12
  super(message, "GRAPH_STORE_ERROR", details);
13
13
  }
14
14
  }
15
- //# sourceMappingURL=GraphStoreError.js.map
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JhcGhTdG9yZUVycm9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2dyYXBoL2VuZ2luZS9lcnJvcnMvR3JhcGhTdG9yZUVycm9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFDSCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsaUNBQThCO0FBRTVEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGVBQWdCLFNBQVEsbUJBQW1CO0lBQ3RELFlBQVksT0FBZSxFQUFFLE9BQWlCO1FBQzVDLEtBQUssQ0FBQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDL0MsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbW9kdWxlIGludGVncmF0aW9ucy9ncmFwaC9lcnJvcnMvR3JhcGhTdG9yZUVycm9yXG4gKiBAc3VtbWFyeSBFcnJvciB0aHJvd24gd2hlbiBhIHZhbHVlIHN0b3JlIG9wZXJhdGlvbiBmYWlscy5cbiAqIEBkZXNjcmlwdGlvbiBSYWlzZWQgYnkgdGhlIHZhbHVlIHN0b3JlIG9yIGFkYXB0ZXIgd2hlbiByZWFkaW5nLCB3cml0aW5nLCBvciBkZWxldGluZyBjYWNoZWQgdmFsdWVzIGZhaWxzLlxuICovXG5pbXBvcnQgeyBHcmFwaEV4ZWN1dGlvbkVycm9yIH0gZnJvbSBcIi4vR3JhcGhFeGVjdXRpb25FcnJvclwiO1xuXG4vKipcbiAqIFRocm93biB3aGVuIGEgdmFsdWUgc3RvcmUgb3BlcmF0aW9uIGZhaWxzLlxuICovXG5leHBvcnQgY2xhc3MgR3JhcGhTdG9yZUVycm9yIGV4dGVuZHMgR3JhcGhFeGVjdXRpb25FcnJvciB7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZywgZGV0YWlscz86IHVua25vd24pIHtcbiAgICBzdXBlcihtZXNzYWdlLCBcIkdSQVBIX1NUT1JFX0VSUk9SXCIsIGRldGFpbHMpO1xuICB9XG59XG4iXX0=
@@ -12,4 +12,4 @@ export class GraphTopologyError extends GraphExecutionError {
12
12
  super(message, "GRAPH_TOPOLOGY_ERROR", details);
13
13
  }
14
14
  }
15
- //# sourceMappingURL=GraphTopologyError.js.map
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JhcGhUb3BvbG9neUVycm9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2dyYXBoL2VuZ2luZS9lcnJvcnMvR3JhcGhUb3BvbG9neUVycm9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFDSCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsaUNBQThCO0FBRTVEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGtCQUFtQixTQUFRLG1CQUFtQjtJQUN6RCxZQUFZLE9BQWUsRUFBRSxPQUFpQjtRQUM1QyxLQUFLLENBQUMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ2xELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQG1vZHVsZSBpbnRlZ3JhdGlvbnMvZ3JhcGgvZXJyb3JzL0dyYXBoVG9wb2xvZ3lFcnJvclxuICogQHN1bW1hcnkgRXJyb3IgdGhyb3duIHdoZW4gd29ya2Zsb3cgdG9wb2xvZ3kgaXMgaW52YWxpZC5cbiAqIEBkZXNjcmlwdGlvbiBSYWlzZWQgYnkgdGhlIHJlbGF0aW9uIHJlc29sdmVyIG9yIHBsYW5uZXIgd2hlbiBhbiBlbmRwb2ludCBpcyB1bmtub3duIG9yIGFtYmlndW91cy5cbiAqL1xuaW1wb3J0IHsgR3JhcGhFeGVjdXRpb25FcnJvciB9IGZyb20gXCIuL0dyYXBoRXhlY3V0aW9uRXJyb3JcIjtcblxuLyoqXG4gKiBUaHJvd24gd2hlbiB3b3JrZmxvdyB0b3BvbG9neSBpcyBpbnZhbGlkLlxuICovXG5leHBvcnQgY2xhc3MgR3JhcGhUb3BvbG9neUVycm9yIGV4dGVuZHMgR3JhcGhFeGVjdXRpb25FcnJvciB7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZywgZGV0YWlscz86IHVua25vd24pIHtcbiAgICBzdXBlcihtZXNzYWdlLCBcIkdSQVBIX1RPUE9MT0dZX0VSUk9SXCIsIGRldGFpbHMpO1xuICB9XG59XG4iXX0=
@@ -11,4 +11,4 @@ export * from "./GraphPinningError.js";
11
11
  export * from "./GraphPortError.js";
12
12
  export * from "./GraphStoreError.js";
13
13
  export * from "./GraphTopologyError.js";
14
- //# sourceMappingURL=index.js.map
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZ3JhcGgvZW5naW5lL2Vycm9ycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBQ0gseUNBQXNDO0FBQ3RDLHFDQUFrQztBQUNsQyxxQ0FBa0M7QUFDbEMseUNBQXNDO0FBQ3RDLHVDQUFvQztBQUNwQyxvQ0FBaUM7QUFDakMscUNBQWtDO0FBQ2xDLHdDQUFxQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQG1vZHVsZSBpbnRlZ3JhdGlvbnMvZ3JhcGgvZXJyb3JzXG4gKiBAc3VtbWFyeSBHcmFwaCBleGVjdXRpb24gZXJyb3IgY2xhc3Nlcy5cbiAqIEBkZXNjcmlwdGlvbiBSZS1leHBvcnRzIGFsbCBzdHJ1Y3R1cmVkIGVycm9yIHR5cGVzIHVzZWQgYnkgdGhlIGdyYXBoIGV4ZWN1dGlvbiBlbmdpbmUuXG4gKi9cbmV4cG9ydCAqIGZyb20gXCIuL0dyYXBoRXhlY3V0aW9uRXJyb3JcIjtcbmV4cG9ydCAqIGZyb20gXCIuL0dyYXBoQ3ljbGVFcnJvclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vR3JhcGhJbnB1dEVycm9yXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9HcmFwaExvb3BMaW1pdEVycm9yXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9HcmFwaFBpbm5pbmdFcnJvclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vR3JhcGhQb3J0RXJyb3JcIjtcbmV4cG9ydCAqIGZyb20gXCIuL0dyYXBoU3RvcmVFcnJvclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vR3JhcGhUb3BvbG9neUVycm9yXCI7XG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=GraphExecutionEvent.js.map
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JhcGhFeGVjdXRpb25FdmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9ncmFwaC9lbmdpbmUvZXZlbnRzL0dyYXBoRXhlY3V0aW9uRXZlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQG1vZHVsZSBpbnRlZ3JhdGlvbnMvZ3JhcGgvZXZlbnRzL0dyYXBoRXhlY3V0aW9uRXZlbnRcbiAqIEBzdW1tYXJ5IFJlLWV4cG9ydCBvZiB0aGUgR3JhcGhFeGVjdXRpb25FdmVudCB0eXBlIGZvciB0aGUgZXZlbnRzIHN1YnBhdGguXG4gKiBAZGVzY3JpcHRpb24gVGhlIEdyYXBoRXhlY3V0aW9uRXZlbnQgaW50ZXJmYWNlIGlzIGRlZmluZWQgaW4gdGhlIHNoYXJlZCB0eXBlcyBtb2R1bGUgYW5kIHJlLWV4cG9ydGVkIGhlcmUgZm9yIGNvbnZlbmllbmNlLlxuICovXG5leHBvcnQgdHlwZSB7IEdyYXBoRXhlY3V0aW9uRXZlbnQgfSBmcm9tIFwiLi4vdHlwZXNcIjtcbiJdfQ==
@@ -32,4 +32,4 @@ export class GraphExecutionEventEmitter {
32
32
  }));
33
33
  }
34
34
  }
35
- //# sourceMappingURL=GraphExecutionEventEmitter.js.map
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JhcGhFeGVjdXRpb25FdmVudEVtaXR0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZ3JhcGgvZW5naW5lL2V2ZW50cy9HcmFwaEV4ZWN1dGlvbkV2ZW50RW1pdHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFTQTs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sMEJBQTBCO0lBQXZDO1FBRW1CLGNBQVMsR0FBRyxJQUFJLEdBQUcsRUFBMEIsQ0FBQztJQThCakUsQ0FBQztJQTVCQyxpRUFBaUU7SUFDakUsT0FBTyxDQUFDLFFBQWdDO1FBQ3RDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzdCLE9BQU8sR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsZ0RBQWdEO0lBQ2hELFNBQVMsQ0FBQyxRQUFnQztRQUN4QyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxLQUFLLENBQUMsZUFBZSxDQUFDLEtBQTBCO1FBQzlDLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FDZixLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxFQUFFO1lBQ2hELElBQUksQ0FBQztnQkFDSCxNQUFNLE9BQU8sQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQ2pELENBQUM7WUFBQyxNQUFNLENBQUM7Z0JBQ1AsOENBQThDO1lBQ2hELENBQUM7UUFDSCxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbW9kdWxlIGludGVncmF0aW9ucy9ncmFwaC9ldmVudHMvR3JhcGhFeGVjdXRpb25FdmVudEVtaXR0ZXJcbiAqIEBzdW1tYXJ5IE9ic2VydmFibGUgaW1wbGVtZW50YXRpb24gZm9yIGdyYXBoIGV4ZWN1dGlvbiBldmVudHMuXG4gKiBAZGVzY3JpcHRpb24gSW1wbGVtZW50cyBEZWNhZidzIHtAbGluayBPYnNlcnZhYmxlfSBpbnRlcmZhY2Ugc28gb2JzZXJ2ZXJzIGNhbiBzdWJzY3JpYmUgdG8gZ3JhcGggZXhlY3V0aW9uIGV2ZW50cy4gT2JzZXJ2ZXIgZmFpbHVyZXMgYXJlIGlzb2xhdGVkIGFuZCBkbyBub3QgY3Jhc2ggdGhlIHdvcmtmbG93LlxuICovXG5pbXBvcnQgdHlwZSB7IE9ic2VydmFibGUgfSBmcm9tIFwiQGRlY2FmLXRzL2NvcmVcIjtcbmltcG9ydCB0eXBlIHsgR3JhcGhFeGVjdXRpb25PYnNlcnZlciB9IGZyb20gXCIuL0dyYXBoRXhlY3V0aW9uT2JzZXJ2ZXJcIjtcbmltcG9ydCB0eXBlIHsgR3JhcGhFeGVjdXRpb25FdmVudCB9IGZyb20gXCIuLi90eXBlc1wiO1xuXG4vKipcbiAqIE1hbmFnZXMgb2JzZXJ2ZXIgcmVnaXN0cmF0aW9uIGFuZCBldmVudCBkaXNwYXRjaCBmb3IgdGhlIGdyYXBoIGV4ZWN1dGlvblxuICogZW5naW5lLlxuICovXG5leHBvcnQgY2xhc3MgR3JhcGhFeGVjdXRpb25FdmVudEVtaXR0ZXJcbiAgaW1wbGVtZW50cyBPYnNlcnZhYmxlPFtHcmFwaEV4ZWN1dGlvbk9ic2VydmVyXSwgW0dyYXBoRXhlY3V0aW9uRXZlbnRdPiB7XG4gIHByaXZhdGUgcmVhZG9ubHkgb2JzZXJ2ZXJzID0gbmV3IFNldDxHcmFwaEV4ZWN1dGlvbk9ic2VydmVyPigpO1xuXG4gIC8qKiBSZWdpc3RlcnMgYW4gb2JzZXJ2ZXIgYW5kIHJldHVybnMgYW4gdW5zdWJzY3JpYmUgZnVuY3Rpb24uICovXG4gIG9ic2VydmUob2JzZXJ2ZXI6IEdyYXBoRXhlY3V0aW9uT2JzZXJ2ZXIpOiAoKSA9PiB2b2lkIHtcbiAgICB0aGlzLm9ic2VydmVycy5hZGQob2JzZXJ2ZXIpO1xuICAgIHJldHVybiAoKSA9PiB0aGlzLnVuT2JzZXJ2ZShvYnNlcnZlcik7XG4gIH1cblxuICAvKiogUmVtb3ZlcyBhIHByZXZpb3VzbHktcmVnaXN0ZXJlZCBvYnNlcnZlci4gKi9cbiAgdW5PYnNlcnZlKG9ic2VydmVyOiBHcmFwaEV4ZWN1dGlvbk9ic2VydmVyKTogdm9pZCB7XG4gICAgdGhpcy5vYnNlcnZlcnMuZGVsZXRlKG9ic2VydmVyKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBOb3RpZmllcyBhbGwgcmVnaXN0ZXJlZCBvYnNlcnZlcnMgb2YgYSBuZXcgZXZlbnQuXG4gICAqXG4gICAqIE9ic2VydmVyIGZhaWx1cmVzIGFyZSBjYXVnaHQgYW5kIHN3YWxsb3dlZCBzbyB0aGF0IGEgbWlzYmVoYXZpbmcgb2JzZXJ2ZXJcbiAgICogY2Fubm90IGNyYXNoIHRoZSB3b3JrZmxvdyBleGVjdXRpb24uXG4gICAqL1xuICBhc3luYyB1cGRhdGVPYnNlcnZlcnMoZXZlbnQ6IEdyYXBoRXhlY3V0aW9uRXZlbnQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCBQcm9taXNlLmFsbChcbiAgICAgIEFycmF5LmZyb20odGhpcy5vYnNlcnZlcnMpLm1hcChhc3luYyAob2JzZXJ2ZXIpID0+IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBhd2FpdCBQcm9taXNlLnJlc29sdmUob2JzZXJ2ZXIucmVmcmVzaChldmVudCkpO1xuICAgICAgICB9IGNhdGNoIHtcbiAgICAgICAgICAvLyBPYnNlcnZlciBmYWlsdXJlcyBtdXN0IG5vdCBjcmFzaCBleGVjdXRpb24uXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKTtcbiAgfVxufVxuIl19
@@ -29,4 +29,4 @@ export class GraphExecutionEventFactory {
29
29
  `${Date.now()}-${Math.random().toString(36).slice(2)}`);
30
30
  }
31
31
  }
32
- //# sourceMappingURL=GraphExecutionEventFactory.js.map
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JhcGhFeGVjdXRpb25FdmVudEZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZ3JhcGgvZW5naW5lL2V2ZW50cy9HcmFwaEV4ZWN1dGlvbkV2ZW50RmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFPQTs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sMEJBQTBCO0lBQXZDO1FBQ1UsYUFBUSxHQUFHLENBQUMsQ0FBQztJQTZCdkIsQ0FBQztJQTNCQzs7Ozs7T0FLRztJQUNILE1BQU0sQ0FDSixJQUFnRTtRQUVoRSxPQUFPO1lBQ0wsR0FBRyxJQUFJO1lBQ1AsRUFBRSxFQUFFLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDeEIsUUFBUSxFQUFFLEVBQUUsSUFBSSxDQUFDLFFBQVE7WUFDekIsU0FBUyxFQUFFLElBQUksSUFBSSxFQUFFO1NBQ3RCLENBQUM7SUFDSixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ssYUFBYTtRQUNuQixPQUFPLENBQ0wsVUFBVSxDQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUUsRUFBRTtZQUNqQyxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUN2RCxDQUFDO0lBQ0osQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbW9kdWxlIGludGVncmF0aW9ucy9ncmFwaC9ldmVudHMvR3JhcGhFeGVjdXRpb25FdmVudEZhY3RvcnlcbiAqIEBzdW1tYXJ5IEZhY3RvcnkgZm9yIGNyZWF0aW5nIGdyYXBoIGV4ZWN1dGlvbiBldmVudHMgd2l0aCB1bmlxdWUgaWRzLCBzZXF1ZW5jZSBudW1iZXJzLCBhbmQgdGltZXN0YW1wcy5cbiAqIEBkZXNjcmlwdGlvbiBQcm92aWRlcyBhIHN0YXRlZnVsIGZhY3RvcnkgdGhhdCBwcm9kdWNlcyBtb25vdG9uaWNhbGx5LXNlcXVlbmNlZCBldmVudHMgZm9yIGEgc2luZ2xlIGV4ZWN1dGlvbiBydW4uXG4gKi9cbmltcG9ydCB0eXBlIHsgR3JhcGhFeGVjdXRpb25FdmVudCB9IGZyb20gXCIuLi90eXBlc1wiO1xuXG4vKipcbiAqIEZhY3RvcnkgdGhhdCBlbnJpY2hlcyBwYXJ0aWFsIGV2ZW50cyB3aXRoIGEgdW5pcXVlIGlkLCBhbiBpbmNyZW1lbnRpbmdcbiAqIHNlcXVlbmNlIG51bWJlciwgYW5kIGEgdGltZXN0YW1wLlxuICovXG5leHBvcnQgY2xhc3MgR3JhcGhFeGVjdXRpb25FdmVudEZhY3Rvcnkge1xuICBwcml2YXRlIHNlcXVlbmNlID0gMDtcblxuICAvKipcbiAgICogQ3JlYXRlcyBhIGZ1bGx5LXBvcHVsYXRlZCBldmVudCBmcm9tIHRoZSBnaXZlbiBiYXNlIGZpZWxkcy5cbiAgICpcbiAgICogQHBhcmFtIGJhc2UgLSBBbGwgZXZlbnQgZmllbGRzIGV4Y2VwdCBgaWRgLCBgc2VxdWVuY2VgLCBhbmQgYHRpbWVzdGFtcGAuXG4gICAqIEByZXR1cm5zIEEgY29tcGxldGUge0BsaW5rIEdyYXBoRXhlY3V0aW9uRXZlbnR9LlxuICAgKi9cbiAgY3JlYXRlKFxuICAgIGJhc2U6IE9taXQ8R3JhcGhFeGVjdXRpb25FdmVudCwgXCJpZFwiIHwgXCJzZXF1ZW5jZVwiIHwgXCJ0aW1lc3RhbXBcIj5cbiAgKTogR3JhcGhFeGVjdXRpb25FdmVudCB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLmJhc2UsXG4gICAgICBpZDogdGhpcy5jcmVhdGVFdmVudElkKCksXG4gICAgICBzZXF1ZW5jZTogKyt0aGlzLnNlcXVlbmNlLFxuICAgICAgdGltZXN0YW1wOiBuZXcgRGF0ZSgpLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogR2VuZXJhdGVzIGEgdW5pcXVlIGV2ZW50IGlkIHVzaW5nIGBjcnlwdG8ucmFuZG9tVVVJRGAgd2hlbiBhdmFpbGFibGUsXG4gICAqIGZhbGxpbmcgYmFjayB0byBhIHRpbWVzdGFtcCArIHJhbmRvbSBzdHJpbmcuXG4gICAqL1xuICBwcml2YXRlIGNyZWF0ZUV2ZW50SWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gKFxuICAgICAgZ2xvYmFsVGhpcy5jcnlwdG8/LnJhbmRvbVVVSUQ/LigpID8/XG4gICAgICBgJHtEYXRlLm5vdygpfS0ke01hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnNsaWNlKDIpfWBcbiAgICApO1xuICB9XG59XG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=GraphExecutionObserver.js.map
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JhcGhFeGVjdXRpb25PYnNlcnZlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9ncmFwaC9lbmdpbmUvZXZlbnRzL0dyYXBoRXhlY3V0aW9uT2JzZXJ2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQG1vZHVsZSBpbnRlZ3JhdGlvbnMvZ3JhcGgvZXZlbnRzL0dyYXBoRXhlY3V0aW9uT2JzZXJ2ZXJcbiAqIEBzdW1tYXJ5IE9ic2VydmVyIGludGVyZmFjZSBmb3IgZ3JhcGggZXhlY3V0aW9uIGV2ZW50cy5cbiAqIEBkZXNjcmlwdGlvbiBFeHRlbmRzIERlY2FmJ3Mge0BsaW5rIE9ic2VydmVyfSBzbyBncmFwaCBldmVudHMgZmxvdyB0aHJvdWdoIHRoZSBzdGFuZGFyZCBPYnNlcnZhYmxlL09ic2VydmVyIHBpcGVsaW5lLlxuICovXG5pbXBvcnQgdHlwZSB7IE9ic2VydmVyIH0gZnJvbSBcIkBkZWNhZi10cy9jb3JlXCI7XG5pbXBvcnQgdHlwZSB7IEdyYXBoRXhlY3V0aW9uRXZlbnQgfSBmcm9tIFwiLi4vdHlwZXNcIjtcblxuLyoqXG4gKiBPYnNlcnZlciB0aGF0IHJlY2VpdmVzIHtAbGluayBHcmFwaEV4ZWN1dGlvbkV2ZW50fSBpbnN0YW5jZXMgZnJvbSB0aGVcbiAqIGdyYXBoIGV4ZWN1dGlvbiBlbmdpbmUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR3JhcGhFeGVjdXRpb25PYnNlcnZlciBleHRlbmRzIE9ic2VydmVyPFtHcmFwaEV4ZWN1dGlvbkV2ZW50XT4ge1xuICAvKipcbiAgICogQ2FsbGVkIGJ5IHRoZSBlbmdpbmUgd2hlbiBhIG5ldyBncmFwaCBleGVjdXRpb24gZXZlbnQgaXMgZW1pdHRlZC5cbiAgICovXG4gIHJlZnJlc2goZXZlbnQ6IEdyYXBoRXhlY3V0aW9uRXZlbnQpOiBQcm9taXNlPHZvaWQ+O1xufVxuIl19
@@ -7,4 +7,4 @@ export * from "./GraphExecutionEvent.js";
7
7
  export * from "./GraphExecutionObserver.js";
8
8
  export * from "./GraphExecutionEventEmitter.js";
9
9
  export * from "./GraphExecutionEventFactory.js";
10
- //# sourceMappingURL=index.js.map
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZ3JhcGgvZW5naW5lL2V2ZW50cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBQ0gseUNBQXNDO0FBQ3RDLDRDQUF5QztBQUN6QyxnREFBNkM7QUFDN0MsZ0RBQTZDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbW9kdWxlIGludGVncmF0aW9ucy9ncmFwaC9ldmVudHNcbiAqIEBzdW1tYXJ5IEdyYXBoIGV4ZWN1dGlvbiBldmVudCBwaXBlbGluZS5cbiAqIEBkZXNjcmlwdGlvbiBSZS1leHBvcnRzIHRoZSBvYnNlcnZlciBpbnRlcmZhY2UsIGV2ZW50IGVtaXR0ZXIsIGFuZCBldmVudCBmYWN0b3J5LlxuICovXG5leHBvcnQgKiBmcm9tIFwiLi9HcmFwaEV4ZWN1dGlvbkV2ZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9HcmFwaEV4ZWN1dGlvbk9ic2VydmVyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9HcmFwaEV4ZWN1dGlvbkV2ZW50RW1pdHRlclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vR3JhcGhFeGVjdXRpb25FdmVudEZhY3RvcnlcIjtcbiJdfQ==
@@ -0,0 +1,94 @@
1
+ import { GraphExecutionError } from "./../errors/GraphExecutionError.js";
2
+ import { GraphInputError } from "./../errors/GraphInputError.js";
3
+ /**
4
+ * Reads the Code node metadata from the node definition's graph metadata.
5
+ */
6
+ function readCodeMetadata(context) {
7
+ const meta = context.node.graph?.metadata;
8
+ if (!meta)
9
+ return {};
10
+ return meta;
11
+ }
12
+ /**
13
+ * Executor for `core.flow.code` nodes.
14
+ *
15
+ * The Code Node runs user-authored JS/TS in a restricted sandbox. The engine
16
+ * does not implement the sandbox directly (§22.4); instead it delegates to the
17
+ * pluggable {@link CodeSandboxEvaluator} registered on the engine config. When
18
+ * no evaluator is registered, the executor throws
19
+ * `GRAPH_CODE_SANDBOX_NOT_CONFIGURED`.
20
+ *
21
+ * The code is read from the `code` input port (spliced from
22
+ * {@link CodeInputSchema}). The language is hardcoded to `"javascript"` for
23
+ * now (the `language` field on `CodeInputSchema` has no `@input` so it is not
24
+ * a port and not wired). The timeout is read from `graph.metadata.timeoutMs`.
25
+ *
26
+ * The sandbox context exposes:
27
+ * - `$input` — the full input values object (all resolved port values).
28
+ * - `$vars` — workflow variables (sourced from `context.metadata.vars`).
29
+ * - `$item` / `$index` — current loop item and index.
30
+ * - `$node` — outputs of upstream nodes.
31
+ * - `$output` — the current draft output.
32
+ *
33
+ * The evaluator's return value is forwarded verbatim on the `result` output
34
+ * port.
35
+ */
36
+ export class CodeGraphNodeExecutor {
37
+ /**
38
+ * @param engine - The graph execution engine (or any object exposing the
39
+ * optional `codeSandboxEvaluator`). This mirrors the pattern used by
40
+ * {@link SwitchGraphNodeExecutor} for code conditions.
41
+ */
42
+ constructor(engine) {
43
+ this.engine = engine;
44
+ }
45
+ async execute(input, context) {
46
+ const meta = readCodeMetadata(context);
47
+ const code = input["code"] ?? meta.defaultCode;
48
+ if (!code || typeof code !== "string" || code.trim().length === 0) {
49
+ throw new GraphInputError("Code node has no code to execute (input.code is empty)", { input });
50
+ }
51
+ const evaluator = this.engine?.codeSandboxEvaluator;
52
+ if (!evaluator) {
53
+ throw new GraphExecutionError("Code node execution requires a CodeSandboxEvaluator to be registered in GraphExecutionEngineConfig.codeSandboxEvaluator", "GRAPH_CODE_SANDBOX_NOT_CONFIGURED", { code });
54
+ }
55
+ const sandboxContext = this.buildSandboxContext(input, context);
56
+ await context.log("Executing code node", {
57
+ language: "javascript",
58
+ length: code.length,
59
+ timeoutMs: meta.timeoutMs,
60
+ });
61
+ const result = await evaluator.evaluate(sandboxContext);
62
+ await context.log("Code node executed", { hasResult: result !== undefined });
63
+ return { result };
64
+ }
65
+ /**
66
+ * Builds the {@link CodeSandboxContext} from the executor input and the
67
+ * graph execution context.
68
+ *
69
+ * The `$input` value is the full input values object so the code can access
70
+ * every resolved port value (including `code` itself via `$input.code`).
71
+ *
72
+ * The `$vars`, `$item`, `$index`, `$node`, and `$output` values are sourced
73
+ * from `context.metadata` — the engine (or a wrapping loop executor) may
74
+ * populate these when the Code node runs inside a loop body or a workflow
75
+ * with variables.
76
+ */
77
+ buildSandboxContext(input, context) {
78
+ const md = context.metadata;
79
+ const meta = readCodeMetadata(context);
80
+ const code = input["code"] ?? meta.defaultCode ?? "";
81
+ return {
82
+ code,
83
+ language: "javascript",
84
+ input: input,
85
+ vars: md?.vars ?? undefined,
86
+ item: md?.item,
87
+ index: md?.index,
88
+ nodes: md?.nodes ??
89
+ undefined,
90
+ logger: context.logger,
91
+ };
92
+ }
93
+ }
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29kZUdyYXBoTm9kZUV4ZWN1dG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2dyYXBoL2VuZ2luZS9leGVjdXRpb24vQ29kZUdyYXBoTm9kZUV4ZWN1dG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW9CQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsMkNBQXNDO0FBQ3BFLE9BQU8sRUFBRSxlQUFlLEVBQUUsdUNBQWtDO0FBVzVEOztHQUVHO0FBQ0gsU0FBUyxnQkFBZ0IsQ0FBQyxPQUE4QjtJQUN0RCxNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxRQUVwQixDQUFDO0lBQ2QsSUFBSSxDQUFDLElBQUk7UUFBRSxPQUFPLEVBQUUsQ0FBQztJQUNyQixPQUFPLElBQXdCLENBQUM7QUFDbEMsQ0FBQztBQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXVCRztBQUNILE1BQU0sT0FBTyxxQkFBcUI7SUFDaEM7Ozs7T0FJRztJQUNILFlBQ21CLE1BQXdEO1FBQXhELFdBQU0sR0FBTixNQUFNLENBQWtEO0lBQ3hFLENBQUM7SUFFSixLQUFLLENBQUMsT0FBTyxDQUNYLEtBQTJCLEVBQzNCLE9BQThCO1FBRTlCLE1BQU0sSUFBSSxHQUFHLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3ZDLE1BQU0sSUFBSSxHQUFJLEtBQUssQ0FBQyxNQUFNLENBQXdCLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUV2RSxJQUFJLENBQUMsSUFBSSxJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ2xFLE1BQU0sSUFBSSxlQUFlLENBQ3ZCLHdEQUF3RCxFQUN4RCxFQUFFLEtBQUssRUFBRSxDQUNWLENBQUM7UUFDSixDQUFDO1FBRUQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxvQkFBb0IsQ0FBQztRQUNwRCxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDZixNQUFNLElBQUksbUJBQW1CLENBQzNCLHlIQUF5SCxFQUN6SCxtQ0FBbUMsRUFDbkMsRUFBRSxJQUFJLEVBQUUsQ0FDVCxDQUFDO1FBQ0osQ0FBQztRQUVELE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFaEUsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDLHFCQUFxQixFQUFFO1lBQ3ZDLFFBQVEsRUFBRSxZQUFZO1lBQ3RCLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtZQUNuQixTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7U0FDMUIsQ0FBQyxDQUFDO1FBRUgsTUFBTSxNQUFNLEdBQUcsTUFBTSxTQUFTLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBRXhELE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsRUFBRSxFQUFFLFNBQVMsRUFBRSxNQUFNLEtBQUssU0FBUyxFQUFFLENBQUMsQ0FBQztRQUU3RSxPQUFPLEVBQUUsTUFBTSxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUVEOzs7Ozs7Ozs7OztPQVdHO0lBQ0ssbUJBQW1CLENBQ3pCLEtBQTJCLEVBQzNCLE9BQThCO1FBRTlCLE1BQU0sRUFBRSxHQUFHLE9BQU8sQ0FBQyxRQUErQyxDQUFDO1FBQ25FLE1BQU0sSUFBSSxHQUFHLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3ZDLE1BQU0sSUFBSSxHQUFJLEtBQUssQ0FBQyxNQUFNLENBQXdCLElBQUksSUFBSSxDQUFDLFdBQVcsSUFBSSxFQUFFLENBQUM7UUFFN0UsT0FBTztZQUNMLElBQUk7WUFDSixRQUFRLEVBQUUsWUFBWTtZQUN0QixLQUFLLEVBQUUsS0FBZ0M7WUFDdkMsSUFBSSxFQUFHLEVBQUUsRUFBRSxJQUE0QyxJQUFJLFNBQVM7WUFDcEUsSUFBSSxFQUFFLEVBQUUsRUFBRSxJQUFJO1lBQ2QsS0FBSyxFQUFFLEVBQUUsRUFBRSxLQUEyQjtZQUN0QyxLQUFLLEVBQ0YsRUFBRSxFQUFFLEtBQTZEO2dCQUNsRSxTQUFTO1lBQ1gsTUFBTSxFQUFFLE9BQU8sQ0FBQyxNQUE4QztTQUMvRCxDQUFDO0lBQ0osQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbW9kdWxlIGludGVncmF0aW9ucy9ncmFwaC9leGVjdXRpb24vQ29kZUdyYXBoTm9kZUV4ZWN1dG9yXG4gKiBAc3VtbWFyeSBFeGVjdXRvciBmb3IgdGhlIENvZGUgZmxvdy1jb250cm9sIG5vZGUgKERFQ0FGLTMyIMKnMjIuNCwgREVDQUYtMzQgwqc3LjUpLlxuICogQGRlc2NyaXB0aW9uIEV4ZWN1dGVzIHVzZXItYXV0aG9yZWQgSlMvVFMgaW4gYSByZXN0cmljdGVkIHNhbmRib3ggdmlhIHRoZVxuICogcGx1Z2dhYmxlIHtAbGluayBDb2RlU2FuZGJveEV2YWx1YXRvcn0uIFRoZSBzYW5kYm94IGVuZm9yY2VzIHRoZSBDb2RlIE5vZGVcbiAqIHJlc3RyaWN0aW9uczogbm8gaW1wb3J0cywgbm8gcmVxdWlyZXMsIHB1cmUgZnVuY3Rpb25zIG9ubHkgKG5vIHN5c3RlbSBBUElcbiAqIGFjY2VzcykuIFRoZSBleGVjdXRvciByZWFkcyB0aGUgY29kZSBmcm9tIHRoZSBub2RlJ3MgYGNvZGVgIGlucHV0IHBvcnRcbiAqIChzcGxpY2VkIGZyb20ge0BsaW5rIENvZGVJbnB1dFNjaGVtYX0pLCB0aGUgdGltZW91dCBmcm9tIHRoZSBub2RlJ3MgZ3JhcGhcbiAqIG1ldGFkYXRhLCByZXNvbHZlcyB0aGUgc2FuZGJveCBjb250ZXh0IGZyb20gdGhlIG5vZGUncyBpbnB1dCB2YWx1ZXMgYW5kXG4gKiBleGVjdXRpb24gY29udGV4dCwgaW52b2tlcyB0aGUgZXZhbHVhdG9yLCBhbmQgcmV0dXJucyB0aGUgcmVzdWx0IG9uIHRoZVxuICogYHJlc3VsdGAgb3V0cHV0IHBvcnQuXG4gKi9cbmltcG9ydCB0eXBlIHsgR3JhcGhOb2RlRXhlY3V0b3IgfSBmcm9tIFwiLi9HcmFwaE5vZGVFeGVjdXRvclwiO1xuaW1wb3J0IHR5cGUgeyBHcmFwaEV4ZWN1dGlvbkNvbnRleHQgfSBmcm9tIFwiLi9HcmFwaEV4ZWN1dGlvbkNvbnRleHRcIjtcbmltcG9ydCB0eXBlIHtcbiAgQ29kZVNhbmRib3hFdmFsdWF0b3IsXG4gIENvZGVTYW5kYm94Q29udGV4dCxcbiAgU2FuZGJveExvZ2dlcixcbn0gZnJvbSBcIi4vQ29kZVNhbmRib3hFdmFsdWF0b3JcIjtcbmltcG9ydCB0eXBlIHsgR3JhcGhFeGVjdXRpb25WYWx1ZXMgfSBmcm9tIFwiLi4vdHlwZXNcIjtcbmltcG9ydCB7IEdyYXBoRXhlY3V0aW9uRXJyb3IgfSBmcm9tIFwiLi4vZXJyb3JzL0dyYXBoRXhlY3V0aW9uRXJyb3JcIjtcbmltcG9ydCB7IEdyYXBoSW5wdXRFcnJvciB9IGZyb20gXCIuLi9lcnJvcnMvR3JhcGhJbnB1dEVycm9yXCI7XG5cbi8qKlxuICogTWV0YWRhdGEgc3RvcmVkIG9uIGEgQ29kZSBub2RlJ3MgYGdyYXBoLm1ldGFkYXRhYCBmaWVsZC5cbiAqL1xuaW50ZXJmYWNlIENvZGVOb2RlTWV0YWRhdGEge1xuICB0aW1lb3V0TXM/OiBudW1iZXI7XG4gIG91dHB1dFNjaGVtYT86IHVua25vd247XG4gIGRlZmF1bHRDb2RlPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFJlYWRzIHRoZSBDb2RlIG5vZGUgbWV0YWRhdGEgZnJvbSB0aGUgbm9kZSBkZWZpbml0aW9uJ3MgZ3JhcGggbWV0YWRhdGEuXG4gKi9cbmZ1bmN0aW9uIHJlYWRDb2RlTWV0YWRhdGEoY29udGV4dDogR3JhcGhFeGVjdXRpb25Db250ZXh0KTogQ29kZU5vZGVNZXRhZGF0YSB7XG4gIGNvbnN0IG1ldGEgPSBjb250ZXh0Lm5vZGUuZ3JhcGg/Lm1ldGFkYXRhIGFzXG4gICAgfCBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuICAgIHwgdW5kZWZpbmVkO1xuICBpZiAoIW1ldGEpIHJldHVybiB7fTtcbiAgcmV0dXJuIG1ldGEgYXMgQ29kZU5vZGVNZXRhZGF0YTtcbn1cblxuLyoqXG4gKiBFeGVjdXRvciBmb3IgYGNvcmUuZmxvdy5jb2RlYCBub2Rlcy5cbiAqXG4gKiBUaGUgQ29kZSBOb2RlIHJ1bnMgdXNlci1hdXRob3JlZCBKUy9UUyBpbiBhIHJlc3RyaWN0ZWQgc2FuZGJveC4gVGhlIGVuZ2luZVxuICogZG9lcyBub3QgaW1wbGVtZW50IHRoZSBzYW5kYm94IGRpcmVjdGx5ICjCpzIyLjQpOyBpbnN0ZWFkIGl0IGRlbGVnYXRlcyB0byB0aGVcbiAqIHBsdWdnYWJsZSB7QGxpbmsgQ29kZVNhbmRib3hFdmFsdWF0b3J9IHJlZ2lzdGVyZWQgb24gdGhlIGVuZ2luZSBjb25maWcuIFdoZW5cbiAqIG5vIGV2YWx1YXRvciBpcyByZWdpc3RlcmVkLCB0aGUgZXhlY3V0b3IgdGhyb3dzXG4gKiBgR1JBUEhfQ09ERV9TQU5EQk9YX05PVF9DT05GSUdVUkVEYC5cbiAqXG4gKiBUaGUgY29kZSBpcyByZWFkIGZyb20gdGhlIGBjb2RlYCBpbnB1dCBwb3J0IChzcGxpY2VkIGZyb21cbiAqIHtAbGluayBDb2RlSW5wdXRTY2hlbWF9KS4gVGhlIGxhbmd1YWdlIGlzIGhhcmRjb2RlZCB0byBgXCJqYXZhc2NyaXB0XCJgIGZvclxuICogbm93ICh0aGUgYGxhbmd1YWdlYCBmaWVsZCBvbiBgQ29kZUlucHV0U2NoZW1hYCBoYXMgbm8gYEBpbnB1dGAgc28gaXQgaXMgbm90XG4gKiBhIHBvcnQgYW5kIG5vdCB3aXJlZCkuIFRoZSB0aW1lb3V0IGlzIHJlYWQgZnJvbSBgZ3JhcGgubWV0YWRhdGEudGltZW91dE1zYC5cbiAqXG4gKiBUaGUgc2FuZGJveCBjb250ZXh0IGV4cG9zZXM6XG4gKiAtIGAkaW5wdXRgIOKAlCB0aGUgZnVsbCBpbnB1dCB2YWx1ZXMgb2JqZWN0IChhbGwgcmVzb2x2ZWQgcG9ydCB2YWx1ZXMpLlxuICogLSBgJHZhcnNgIOKAlCB3b3JrZmxvdyB2YXJpYWJsZXMgKHNvdXJjZWQgZnJvbSBgY29udGV4dC5tZXRhZGF0YS52YXJzYCkuXG4gKiAtIGAkaXRlbWAgLyBgJGluZGV4YCDigJQgY3VycmVudCBsb29wIGl0ZW0gYW5kIGluZGV4LlxuICogLSBgJG5vZGVgIOKAlCBvdXRwdXRzIG9mIHVwc3RyZWFtIG5vZGVzLlxuICogLSBgJG91dHB1dGAg4oCUIHRoZSBjdXJyZW50IGRyYWZ0IG91dHB1dC5cbiAqXG4gKiBUaGUgZXZhbHVhdG9yJ3MgcmV0dXJuIHZhbHVlIGlzIGZvcndhcmRlZCB2ZXJiYXRpbSBvbiB0aGUgYHJlc3VsdGAgb3V0cHV0XG4gKiBwb3J0LlxuICovXG5leHBvcnQgY2xhc3MgQ29kZUdyYXBoTm9kZUV4ZWN1dG9yIGltcGxlbWVudHMgR3JhcGhOb2RlRXhlY3V0b3Ige1xuICAvKipcbiAgICogQHBhcmFtIGVuZ2luZSAtIFRoZSBncmFwaCBleGVjdXRpb24gZW5naW5lIChvciBhbnkgb2JqZWN0IGV4cG9zaW5nIHRoZVxuICAgKiAgIG9wdGlvbmFsIGBjb2RlU2FuZGJveEV2YWx1YXRvcmApLiBUaGlzIG1pcnJvcnMgdGhlIHBhdHRlcm4gdXNlZCBieVxuICAgKiB7QGxpbmsgU3dpdGNoR3JhcGhOb2RlRXhlY3V0b3J9IGZvciBjb2RlIGNvbmRpdGlvbnMuXG4gICAqL1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVuZ2luZT86IHsgY29kZVNhbmRib3hFdmFsdWF0b3I/OiBDb2RlU2FuZGJveEV2YWx1YXRvciB9XG4gICkge31cblxuICBhc3luYyBleGVjdXRlKFxuICAgIGlucHV0OiBHcmFwaEV4ZWN1dGlvblZhbHVlcyxcbiAgICBjb250ZXh0OiBHcmFwaEV4ZWN1dGlvbkNvbnRleHRcbiAgKTogUHJvbWlzZTxHcmFwaEV4ZWN1dGlvblZhbHVlcz4ge1xuICAgIGNvbnN0IG1ldGEgPSByZWFkQ29kZU1ldGFkYXRhKGNvbnRleHQpO1xuICAgIGNvbnN0IGNvZGUgPSAoaW5wdXRbXCJjb2RlXCJdIGFzIHN0cmluZyB8IHVuZGVmaW5lZCkgPz8gbWV0YS5kZWZhdWx0Q29kZTtcblxuICAgIGlmICghY29kZSB8fCB0eXBlb2YgY29kZSAhPT0gXCJzdHJpbmdcIiB8fCBjb2RlLnRyaW0oKS5sZW5ndGggPT09IDApIHtcbiAgICAgIHRocm93IG5ldyBHcmFwaElucHV0RXJyb3IoXG4gICAgICAgIFwiQ29kZSBub2RlIGhhcyBubyBjb2RlIHRvIGV4ZWN1dGUgKGlucHV0LmNvZGUgaXMgZW1wdHkpXCIsXG4gICAgICAgIHsgaW5wdXQgfVxuICAgICAgKTtcbiAgICB9XG5cbiAgICBjb25zdCBldmFsdWF0b3IgPSB0aGlzLmVuZ2luZT8uY29kZVNhbmRib3hFdmFsdWF0b3I7XG4gICAgaWYgKCFldmFsdWF0b3IpIHtcbiAgICAgIHRocm93IG5ldyBHcmFwaEV4ZWN1dGlvbkVycm9yKFxuICAgICAgICBcIkNvZGUgbm9kZSBleGVjdXRpb24gcmVxdWlyZXMgYSBDb2RlU2FuZGJveEV2YWx1YXRvciB0byBiZSByZWdpc3RlcmVkIGluIEdyYXBoRXhlY3V0aW9uRW5naW5lQ29uZmlnLmNvZGVTYW5kYm94RXZhbHVhdG9yXCIsXG4gICAgICAgIFwiR1JBUEhfQ09ERV9TQU5EQk9YX05PVF9DT05GSUdVUkVEXCIsXG4gICAgICAgIHsgY29kZSB9XG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IHNhbmRib3hDb250ZXh0ID0gdGhpcy5idWlsZFNhbmRib3hDb250ZXh0KGlucHV0LCBjb250ZXh0KTtcblxuICAgIGF3YWl0IGNvbnRleHQubG9nKFwiRXhlY3V0aW5nIGNvZGUgbm9kZVwiLCB7XG4gICAgICBsYW5ndWFnZTogXCJqYXZhc2NyaXB0XCIsXG4gICAgICBsZW5ndGg6IGNvZGUubGVuZ3RoLFxuICAgICAgdGltZW91dE1zOiBtZXRhLnRpbWVvdXRNcyxcbiAgICB9KTtcblxuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGV2YWx1YXRvci5ldmFsdWF0ZShzYW5kYm94Q29udGV4dCk7XG5cbiAgICBhd2FpdCBjb250ZXh0LmxvZyhcIkNvZGUgbm9kZSBleGVjdXRlZFwiLCB7IGhhc1Jlc3VsdDogcmVzdWx0ICE9PSB1bmRlZmluZWQgfSk7XG5cbiAgICByZXR1cm4geyByZXN1bHQgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBCdWlsZHMgdGhlIHtAbGluayBDb2RlU2FuZGJveENvbnRleHR9IGZyb20gdGhlIGV4ZWN1dG9yIGlucHV0IGFuZCB0aGVcbiAgICogZ3JhcGggZXhlY3V0aW9uIGNvbnRleHQuXG4gICAqXG4gICAqIFRoZSBgJGlucHV0YCB2YWx1ZSBpcyB0aGUgZnVsbCBpbnB1dCB2YWx1ZXMgb2JqZWN0IHNvIHRoZSBjb2RlIGNhbiBhY2Nlc3NcbiAgICogZXZlcnkgcmVzb2x2ZWQgcG9ydCB2YWx1ZSAoaW5jbHVkaW5nIGBjb2RlYCBpdHNlbGYgdmlhIGAkaW5wdXQuY29kZWApLlxuICAgKlxuICAgKiBUaGUgYCR2YXJzYCwgYCRpdGVtYCwgYCRpbmRleGAsIGAkbm9kZWAsIGFuZCBgJG91dHB1dGAgdmFsdWVzIGFyZSBzb3VyY2VkXG4gICAqIGZyb20gYGNvbnRleHQubWV0YWRhdGFgIOKAlCB0aGUgZW5naW5lIChvciBhIHdyYXBwaW5nIGxvb3AgZXhlY3V0b3IpIG1heVxuICAgKiBwb3B1bGF0ZSB0aGVzZSB3aGVuIHRoZSBDb2RlIG5vZGUgcnVucyBpbnNpZGUgYSBsb29wIGJvZHkgb3IgYSB3b3JrZmxvd1xuICAgKiB3aXRoIHZhcmlhYmxlcy5cbiAgICovXG4gIHByaXZhdGUgYnVpbGRTYW5kYm94Q29udGV4dChcbiAgICBpbnB1dDogR3JhcGhFeGVjdXRpb25WYWx1ZXMsXG4gICAgY29udGV4dDogR3JhcGhFeGVjdXRpb25Db250ZXh0XG4gICk6IENvZGVTYW5kYm94Q29udGV4dCB7XG4gICAgY29uc3QgbWQgPSBjb250ZXh0Lm1ldGFkYXRhIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+IHwgdW5kZWZpbmVkO1xuICAgIGNvbnN0IG1ldGEgPSByZWFkQ29kZU1ldGFkYXRhKGNvbnRleHQpO1xuICAgIGNvbnN0IGNvZGUgPSAoaW5wdXRbXCJjb2RlXCJdIGFzIHN0cmluZyB8IHVuZGVmaW5lZCkgPz8gbWV0YS5kZWZhdWx0Q29kZSA/PyBcIlwiO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGNvZGUsXG4gICAgICBsYW5ndWFnZTogXCJqYXZhc2NyaXB0XCIsXG4gICAgICBpbnB1dDogaW5wdXQgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4gICAgICB2YXJzOiAobWQ/LnZhcnMgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4gfCB1bmRlZmluZWQpID8/IHVuZGVmaW5lZCxcbiAgICAgIGl0ZW06IG1kPy5pdGVtLFxuICAgICAgaW5kZXg6IG1kPy5pbmRleCBhcyBudW1iZXIgfCB1bmRlZmluZWQsXG4gICAgICBub2RlczpcbiAgICAgICAgKG1kPy5ub2RlcyBhcyBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4gfCB1bmRlZmluZWQpID8/XG4gICAgICAgIHVuZGVmaW5lZCxcbiAgICAgIGxvZ2dlcjogY29udGV4dC5sb2dnZXIgYXMgdW5rbm93biBhcyBTYW5kYm94TG9nZ2VyIHwgdW5kZWZpbmVkLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
@@ -15,4 +15,4 @@
15
15
  * (for Code Node transforms)
16
16
  */
17
17
  export {};
18
- //# sourceMappingURL=CodeSandboxEvaluator.js.map
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29kZVNhbmRib3hFdmFsdWF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZ3JhcGgvZW5naW5lL2V4ZWN1dGlvbi9Db2RlU2FuZGJveEV2YWx1YXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUciLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBtb2R1bGUgaW50ZWdyYXRpb25zL2dyYXBoL2V4ZWN1dGlvbi9Db2RlU2FuZGJveEV2YWx1YXRvclxuICogQHN1bW1hcnkgUGx1Z2dhYmxlIGNvbnRyYWN0IGZvciBldmFsdWF0aW5nIGNvZGUtYmFzZWQgY29uZGl0aW9ucyAoREVDQUYtMzIgwqcyMi40KS5cbiAqIEBkZXNjcmlwdGlvbiBUaGUgZW5naW5lIGRvZXMgTk9UIGltcGxlbWVudCB0aGUgVk0gc2FuZGJveCBkaXJlY3RseSAowqcyMi40KS5cbiAqIERvd25zdHJlYW0gcHJvamVjdHMgKGUuZy4gQUxGUkVEKSByZWdpc3RlciBhIGBDb2RlU2FuZGJveEV2YWx1YXRvcmAgdmlhIHRoZVxuICogYEdyYXBoRXhlY3V0aW9uRW5naW5lQ29uZmlnLmNvZGVTYW5kYm94RXZhbHVhdG9yYCBmaWVsZC4gV2hlbiBhYnNlbnQsIGNvZGVcbiAqIGNvbmRpdGlvbnMgdGhyb3cgYSBgR1JBUEhfQ09ERV9TQU5EQk9YX05PVF9DT05GSUdVUkVEYCBlcnJvci5cbiAqXG4gKiBUaGUgc2FuZGJveCBtdXN0IGZvbGxvdyB0aGUgc2FtZSByZXN0cmljdGlvbnMgYXMgdGhlIENvZGUgTm9kZSAowqcyMi40KTpcbiAqIC0gTm8gc3lzdGVtIEFQSSBhY2Nlc3MgKGByZXF1aXJlYCwgYHByb2Nlc3NgLCBgZnNgLCBgY2hpbGRfcHJvY2Vzc2AsIGV0Yy4pXG4gKiAtIFBsYWNlaG9sZGVyIHN5bnRheCBmb3Igd29ya2Zsb3cgZGF0YSByZWZlcmVuY2VzIChge3sgJGlucHV0LmZvbyB9fWAsXG4gKiAgIGB7eyAkbm9kZVtcIk5hbWVcIl0ub3V0cHV0IH19YCwgYHt7ICR2YXJzLmJhciB9fWAsIGV0Yy4pXG4gKiAtIFN0YXRpYyBjb2RlIHZhbGlkYXRpb24gKGUuZy4gYGFjb3JuYC1iYXNlZCkgYmVmb3JlIGV4ZWN1dGlvblxuICogLSBUaGUgY29kZSBtdXN0IHJldHVybiBhIGJvb2xlYW4gdmFsdWUgKGZvciBjb25kaXRpb25zKSBvciBhbnkgdmFsdWVcbiAqICAgKGZvciBDb2RlIE5vZGUgdHJhbnNmb3JtcylcbiAqL1xuXG4vKipcbiAqIENvbnRleHQgcGFzc2VkIHRvIHRoZSBjb2RlIHNhbmRib3ggZXZhbHVhdG9yLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvZGVTYW5kYm94Q29udGV4dCB7XG4gIC8qKiBUaGUgcmF3IGNvZGUgc3RyaW5nIGF1dGhvcmVkIGJ5IHRoZSB1c2VyLiAqL1xuICBjb2RlOiBzdHJpbmc7XG4gIC8qKiBUaGUgcHJvZ3JhbW1pbmcgbGFuZ3VhZ2UgKGRlZmF1bHRzIHRvIGBcImphdmFzY3JpcHRcImApLiAqL1xuICBsYW5ndWFnZT86IFwiamF2YXNjcmlwdFwiIHwgXCJ0eXBlc2NyaXB0XCI7XG4gIC8qKiBUaGUgY3VycmVudCBpbnB1dCB2YWx1ZXMsIGFjY2Vzc2libGUgYXMgYCRpbnB1dGAgaW4gcGxhY2Vob2xkZXJzLiAqL1xuICBpbnB1dDogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gIC8qKiBXb3JrZmxvdyB2YXJpYWJsZXMsIGFjY2Vzc2libGUgYXMgYCR2YXJzYCBpbiBwbGFjZWhvbGRlcnMuICovXG4gIHZhcnM/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgLyoqIEN1cnJlbnQgbG9vcCBpdGVtIChpZiBpbnNpZGUgYSBmb3JlYWNoKSwgYWNjZXNzaWJsZSBhcyBgJGl0ZW1gLiAqL1xuICBpdGVtPzogdW5rbm93bjtcbiAgLyoqIEN1cnJlbnQgbG9vcCBpbmRleCAoaWYgaW5zaWRlIGEgZm9yZWFjaCksIGFjY2Vzc2libGUgYXMgYCRpbmRleGAuICovXG4gIGluZGV4PzogbnVtYmVyO1xuICAvKiogT3V0cHV0cyBvZiB1cHN0cmVhbSBub2RlcywgYWNjZXNzaWJsZSBhcyBgJG5vZGVbXCJOYW1lXCJdLm91dHB1dGAuICovXG4gIG5vZGVzPzogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgdW5rbm93bj4+O1xuICAvKipcbiAgICogT3B0aW9uYWwgbG9nZ2VyIHRoYXQgcmVjZWl2ZXMgYGNvbnNvbGUubG9nL3dhcm4vZGVidWcvZXJyb3JgIGNhbGxzIGZyb21cbiAgICogaW5zaWRlIHRoZSBzYW5kYm94LiBXaGVuIHByb3ZpZGVkLCBhIGBjb25zb2xlYCBvYmplY3QgaXMgaW5qZWN0ZWQgaW50b1xuICAgKiB0aGUgaXNvbGF0ZSB3aG9zZSBtZXRob2RzIGZvcndhcmQgdG8gdGhpcyBsb2dnZXIuXG4gICAqL1xuICBsb2dnZXI/OiBTYW5kYm94TG9nZ2VyO1xufVxuXG4vKipcbiAqIE1pbmltYWwgbG9nZ2VyIGludGVyZmFjZSB0aGUgc2FuZGJveCBjYW4gY2FsbCB3aXRob3V0IGltcG9ydGluZyB0aGUgZnVsbFxuICogRGVjYWYgbG9nZ2luZyBwYWNrYWdlIChrZWVwcyB0aGUgaW50ZXJmYWNlIGZyb250ZW5kLXNhZmUpLiBNaXJyb3JzIHRoZVxuICogbWV0aG9kcyBvbiBgQGRlY2FmLXRzL2xvZ2dpbmdgJ3MgYExvZ2dlcmAuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FuZGJveExvZ2dlciB7XG4gIGJlbmNobWFyayhtc2c6IHN0cmluZywgbWV0YT86IHVua25vd24pOiB2b2lkO1xuICBmYXRhbChtc2c6IHN0cmluZywgbWV0YT86IHVua25vd24pOiB2b2lkO1xuICBjcml0aWNhbChtc2c6IHN0cmluZywgbWV0YT86IHVua25vd24pOiB2b2lkO1xuICBzaWxseShtc2c6IHN0cmluZywgbWV0YT86IHVua25vd24pOiB2b2lkO1xuICB2ZXJib3NlKG1zZzogc3RyaW5nLCBtZXRhPzogdW5rbm93bik6IHZvaWQ7XG4gIGluZm8obXNnOiBzdHJpbmcsIG1ldGE/OiB1bmtub3duKTogdm9pZDtcbiAgZGVidWcobXNnOiBzdHJpbmcsIG1ldGE/OiB1bmtub3duKTogdm9pZDtcbiAgZXJyb3IobXNnOiBzdHJpbmcsIG1ldGE/OiB1bmtub3duKTogdm9pZDtcbiAgd2Fybihtc2c6IHN0cmluZywgbWV0YT86IHVua25vd24pOiB2b2lkO1xuICB0cmFjZShtc2c6IHN0cmluZywgbWV0YT86IHVua25vd24pOiB2b2lkO1xufVxuXG4vKipcbiAqIFBsdWdnYWJsZSBldmFsdWF0b3IgZm9yIGNvZGUtYmFzZWQgY29uZGl0aW9ucyBhbmQgQ29kZSBOb2RlIHRyYW5zZm9ybXMuXG4gKlxuICogSW1wbGVtZW50YXRpb25zIE1VU1QgZW5mb3JjZSB0aGUgQ29kZSBOb2RlIHJlc3RyaWN0aW9ucyAowqcyMi40KTpcbiAqIG5vIHN5c3RlbSBBUEkgYWNjZXNzLCBzdGF0aWMgdmFsaWRhdGlvbiwgcGxhY2Vob2xkZXIgcmVzb2x1dGlvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb2RlU2FuZGJveEV2YWx1YXRvciB7XG4gIC8qKlxuICAgKiBFdmFsdWF0ZXMgdGhlIGdpdmVuIGNvZGUgaW4gYSByZXN0cmljdGVkIHNhbmRib3ggYW5kIHJldHVybnMgdGhlIHJlc3VsdC5cbiAgICpcbiAgICogRm9yIGNvbmRpdGlvbnMsIHRoZSBjb2RlIGlzIGV4cGVjdGVkIHRvIHJldHVybiBhIGJvb2xlYW4uXG4gICAqIEZvciBDb2RlIE5vZGUgdHJhbnNmb3JtcywgdGhlIGNvZGUgbWF5IHJldHVybiBhbnkgdmFsdWUuXG4gICAqXG4gICAqIEBwYXJhbSBjdHggLSBUaGUgc2FuZGJveCBjb250ZXh0IGNvbnRhaW5pbmcgY29kZSwgaW5wdXQsIGFuZCByZWZlcmVuY2VzLlxuICAgKiBAcmV0dXJucyBUaGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcgdGhlIGNvZGUuXG4gICAqL1xuICBldmFsdWF0ZShjdHg6IENvZGVTYW5kYm94Q29udGV4dCk6IFByb21pc2U8dW5rbm93bj4gfCB1bmtub3duO1xufVxuIl19
@@ -71,4 +71,4 @@ export class GraphExecutionContext extends Context {
71
71
  });
72
72
  }
73
73
  }
74
- //# sourceMappingURL=GraphExecutionContext.js.map
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JhcGhFeGVjdXRpb25Db250ZXh0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2dyYXBoL2VuZ2luZS9leGVjdXRpb24vR3JhcGhFeGVjdXRpb25Db250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFDSCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFNekMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLG9DQUErQjtBQU1qRTs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxPQUFPLHFCQUFzQixTQUFRLE9BQU87SUFDaEQ7Ozs7Ozs7O09BUUc7SUFDSCxZQUNXLEtBQWlCLEVBQ2pCLFdBQW1DLEVBQ25DLFFBQWlDLEVBQ2pDLElBQXlCLEVBQ3pCLElBQWMsRUFDTixNQUE4RCxFQUN0RSxXQUFvQyxFQUFFO1FBRS9DLEtBQUssRUFBRSxDQUFDO1FBUkMsVUFBSyxHQUFMLEtBQUssQ0FBWTtRQUNqQixnQkFBVyxHQUFYLFdBQVcsQ0FBd0I7UUFDbkMsYUFBUSxHQUFSLFFBQVEsQ0FBeUI7UUFDakMsU0FBSSxHQUFKLElBQUksQ0FBcUI7UUFDekIsU0FBSSxHQUFKLElBQUksQ0FBVTtRQUNOLFdBQU0sR0FBTixNQUFNLENBQXdEO1FBQ3RFLGFBQVEsR0FBUixRQUFRLENBQThCO0lBR2pELENBQUM7SUFFRDs7O09BR0c7SUFDSCxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQW1DO1FBQzVDLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQztZQUNoQixHQUFHLEtBQUs7WUFDUixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7WUFDakIsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO1lBQzdCLFVBQVUsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUk7WUFDOUIsTUFBTSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSTtZQUN0QixJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSTtTQUM5QixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsS0FBSyxDQUFDLFFBQVEsQ0FBQyxPQUFnQjtRQUM3QixNQUFNLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDZCxJQUFJLEVBQUUsdUJBQXVCLENBQUMsV0FBVztZQUN6QyxPQUFPO1NBQ1IsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7T0FHRztJQUNILEtBQUssQ0FBQyxHQUFHLENBQUMsT0FBZSxFQUFFLE9BQWlCO1FBQzFDLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQztZQUNkLElBQUksRUFBRSx1QkFBdUIsQ0FBQyxXQUFXO1lBQ3pDLE9BQU8sRUFBRTtnQkFDUCxPQUFPO2dCQUNQLE9BQU87YUFDUjtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQG1vZHVsZSBpbnRlZ3JhdGlvbnMvZ3JhcGgvZXhlY3V0aW9uL0dyYXBoRXhlY3V0aW9uQ29udGV4dFxuICogQHN1bW1hcnkgRGVjYWYgQ29udGV4dCBmb3IgZ3JhcGggbm9kZSBleGVjdXRpb24uXG4gKiBAZGVzY3JpcHRpb24gRXh0ZW5kcyBEZWNhZidzIHtAbGluayBDb250ZXh0fSBzbyBub2RlIGV4ZWN1dG9ycyByZWNlaXZlIHRoZSBzYW1lIGNvbnRleHR1YWwgcGx1bWJpbmcgYXMgdGFzayBoYW5kbGVycy4gRXhlY3V0b3JzIHVzZSB0aGUgY29udGV4dCB0byBlbWl0IHByb2dyZXNzLCBsb2cgbWVzc2FnZXMsIGFuZCByZXBvcnQgc3RhdGUgdGhyb3VnaCB0aGUgZW5naW5lJ3Mgb2JzZXJ2ZXIgcGlwZWxpbmUuXG4gKi9cbmltcG9ydCB7IENvbnRleHQgfSBmcm9tIFwiQGRlY2FmLXRzL2NvcmVcIjtcbmltcG9ydCB0eXBlIHtcbiAgR3JhcGhOb2RlRGVmaW5pdGlvbixcbiAgR3JhcGhXb3JrZmxvd0RlZmluaXRpb24sXG59IGZyb20gXCJAZGVjYWYtdHMvdWktZGVjb3JhdG9ycy9ncmFwaFwiO1xuXG5pbXBvcnQgeyBHcmFwaEV4ZWN1dGlvbkV2ZW50VHlwZSB9IGZyb20gXCIuLi8uLi9zaGFyZWQvY29uc3RhbnRzXCI7XG5pbXBvcnQgdHlwZSB7XG4gIEdyYXBoRXhlY3V0aW9uRXZlbnQsXG4gIEdyYXBoUnVuSWQsXG59IGZyb20gXCIuLi90eXBlc1wiO1xuXG4vKipcbiAqIENvbnRleHQgcGFzc2VkIHRvIGV2ZXJ5IGdyYXBoIG5vZGUgZXhlY3V0b3IuXG4gKlxuICogTWlycm9ycyB0aGUgYFRhc2tFbmdpbmVgIC8gYFRhc2tDb250ZXh0YCBwYXR0ZXJuOiB0aGUgZW5naW5lIGNyZWF0ZXMgYVxuICogYEdyYXBoRXhlY3V0aW9uQ29udGV4dGAgcGVyIG5vZGUgZXhlY3V0aW9uIGFuZCBwYXNzZXMgaXQgdG9cbiAqIGBleGVjdXRvci5leGVjdXRlKGlucHV0cywgY29udGV4dClgLiBUaGUgZXhlY3V0b3IgdXNlcyBgY29udGV4dC5wcm9ncmVzcyguLi4pYFxuICogYW5kIGBjb250ZXh0LmxvZyguLi4pYCB0byByZXBvcnQgaW50ZXJtZWRpYXRlIHN0YXRlLlxuICovXG5leHBvcnQgY2xhc3MgR3JhcGhFeGVjdXRpb25Db250ZXh0IGV4dGVuZHMgQ29udGV4dCB7XG4gIC8qKlxuICAgKiBAcGFyYW0gcnVuSWQgLSBVbmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIGN1cnJlbnQgZXhlY3V0aW9uIHJ1bi5cbiAgICogQHBhcmFtIHBhcmVudFJ1bklkIC0gUnVuIGlkIG9mIHRoZSBwYXJlbnQgZXhlY3V0aW9uIChmb3IgbmVzdGVkIGxvb3AgYm9kaWVzKS5cbiAgICogQHBhcmFtIHdvcmtmbG93IC0gVGhlIHdvcmtmbG93IGRlZmluaXRpb24gYmVpbmcgZXhlY3V0ZWQuXG4gICAqIEBwYXJhbSBub2RlIC0gVGhlIG5vZGUgZGVmaW5pdGlvbiBiZWluZyBleGVjdXRlZC5cbiAgICogQHBhcmFtIHBhdGggLSBEb3R0ZWQgcGF0aCBmcm9tIHRoZSB3b3JrZmxvdyByb290IHRvIHRoaXMgbm9kZS5cbiAgICogQHBhcmFtIGVtaXRGbiAtIENhbGxiYWNrIGludm9rZWQgd2hlbiBhbiBldmVudCBpcyBlbWl0dGVkIGZyb20gdGhpcyBjb250ZXh0LlxuICAgKiBAcGFyYW0gbWV0YWRhdGEgLSBGcmVlLWZvcm0gbWV0YWRhdGEgYXR0YWNoZWQgdG8gdGhpcyBjb250ZXh0LlxuICAgKi9cbiAgY29uc3RydWN0b3IoXG4gICAgcmVhZG9ubHkgcnVuSWQ6IEdyYXBoUnVuSWQsXG4gICAgcmVhZG9ubHkgcGFyZW50UnVuSWQ6IEdyYXBoUnVuSWQgfCB1bmRlZmluZWQsXG4gICAgcmVhZG9ubHkgd29ya2Zsb3c6IEdyYXBoV29ya2Zsb3dEZWZpbml0aW9uLFxuICAgIHJlYWRvbmx5IG5vZGU6IEdyYXBoTm9kZURlZmluaXRpb24sXG4gICAgcmVhZG9ubHkgcGF0aDogc3RyaW5nW10sXG4gICAgcHJpdmF0ZSByZWFkb25seSBlbWl0Rm46IChldmVudDogUGFydGlhbDxHcmFwaEV4ZWN1dGlvbkV2ZW50PikgPT4gUHJvbWlzZTx2b2lkPixcbiAgICByZWFkb25seSBtZXRhZGF0YTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSB7fVxuICApIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgLyoqXG4gICAqIEVtaXRzIGEgcGFydGlhbCBncmFwaCBleGVjdXRpb24gZXZlbnQuIFRoZSBlbmdpbmUgZmlsbHMgaW4gcnVuSWQsXG4gICAqIHBhcmVudFJ1bklkLCB3b3JrZmxvd0lkLCBub2RlSWQsIGFuZCBwYXRoIGF1dG9tYXRpY2FsbHkuXG4gICAqL1xuICBhc3luYyBlbWl0KGV2ZW50OiBQYXJ0aWFsPEdyYXBoRXhlY3V0aW9uRXZlbnQ+KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgdGhpcy5lbWl0Rm4oe1xuICAgICAgLi4uZXZlbnQsXG4gICAgICBydW5JZDogdGhpcy5ydW5JZCxcbiAgICAgIHBhcmVudFJ1bklkOiB0aGlzLnBhcmVudFJ1bklkLFxuICAgICAgd29ya2Zsb3dJZDogdGhpcy53b3JrZmxvdy5uYW1lLFxuICAgICAgbm9kZUlkOiB0aGlzLm5vZGUubmFtZSxcbiAgICAgIHBhdGg6IGV2ZW50LnBhdGggPz8gdGhpcy5wYXRoLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEVtaXRzIGEgYE5PREVfT1VUUFVUYCBldmVudCB3aXRoIHRoZSBnaXZlbiBwYXlsb2FkLCB1c2VmdWwgZm9yIHJlcG9ydGluZ1xuICAgKiBpbnRlcm1lZGlhdGUgcHJvZ3Jlc3MgZnJvbSB3aXRoaW4gYSBub2RlIGV4ZWN1dG9yLlxuICAgKi9cbiAgYXN5bmMgcHJvZ3Jlc3MocGF5bG9hZDogdW5rbm93bik6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMuZW1pdCh7XG4gICAgICB0eXBlOiBHcmFwaEV4ZWN1dGlvbkV2ZW50VHlwZS5OT0RFX09VVFBVVCxcbiAgICAgIHBheWxvYWQsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogRW1pdHMgYSBgTk9ERV9PVVRQVVRgIGV2ZW50IHdpdGggYSBzdHJ1Y3R1cmVkIGB7IG1lc3NhZ2UsIHBheWxvYWQgfWAgc2hhcGVcbiAgICogc28gZXhlY3V0b3JzIGNhbiBsb2cgaHVtYW4tcmVhZGFibGUgbWVzc2FnZXMuXG4gICAqL1xuICBhc3luYyBsb2cobWVzc2FnZTogc3RyaW5nLCBwYXlsb2FkPzogdW5rbm93bik6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMuZW1pdCh7XG4gICAgICB0eXBlOiBHcmFwaEV4ZWN1dGlvbkV2ZW50VHlwZS5OT0RFX09VVFBVVCxcbiAgICAgIHBheWxvYWQ6IHtcbiAgICAgICAgbWVzc2FnZSxcbiAgICAgICAgcGF5bG9hZCxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -285,12 +285,31 @@ export class GraphExecutionEngine {
285
285
  }
286
286
  /**
287
287
  * Resolves a node's input values from incoming edges.
288
+ *
289
+ * When multiple edges target the same port, their values are spread into the
290
+ * top-level inputs keyed by each edge's `sourcePort`. This allows multiple
291
+ * workflow input badges to connect to a single port (e.g. the Code node's
292
+ * `data` port) and have all values accessible directly as
293
+ * `$input.{sourcePort}` (e.g. `$input.count`, `$input.text`).
288
294
  */
289
295
  resolveNodeInputs(frame, plan, planNode) {
290
296
  const inputs = {};
291
297
  const incoming = plan.incomingByNode.get(planNode.id) ?? [];
298
+ const edgesByTarget = new Map();
292
299
  for (const edge of incoming) {
293
- inputs[edge.targetPort] = frame.valueStore.getPort(edge.sourceNodeId, edge.sourcePort);
300
+ const list = edgesByTarget.get(edge.targetPort) ?? [];
301
+ list.push(edge);
302
+ edgesByTarget.set(edge.targetPort, list);
303
+ }
304
+ for (const [targetPort, edges] of edgesByTarget) {
305
+ if (edges.length === 1) {
306
+ inputs[targetPort] = frame.valueStore.getPort(edges[0].sourceNodeId, edges[0].sourcePort);
307
+ }
308
+ else {
309
+ for (const edge of edges) {
310
+ inputs[edge.sourcePort] = frame.valueStore.getPort(edge.sourceNodeId, edge.sourcePort);
311
+ }
312
+ }
294
313
  }
295
314
  return inputs;
296
315
  }
@@ -405,4 +424,4 @@ export class GraphExecutionEngine {
405
424
  return { name: "UnknownError", message: String(error) };
406
425
  }
407
426
  }
408
- //# sourceMappingURL=GraphExecutionEngine.js.map
427
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JhcGhFeGVjdXRpb25FbmdpbmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZ3JhcGgvZW5naW5lL2V4ZWN1dGlvbi9HcmFwaEV4ZWN1dGlvbkVuZ2luZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRQSxPQUFPLEVBQ0wseUJBQXlCLEVBQ3pCLHVCQUF1QixHQUN4QiwwQkFBcUI7QUFDdEIsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixvQkFBb0IsR0FDckIsb0NBQStCO0FBQ2hDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSw2QkFBa0I7QUFhaEQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLGtEQUE2QztBQUNsRixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsa0RBQTZDO0FBRWxGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSwrQ0FBMEM7QUFJMUUsT0FBTyxFQUFFLDhCQUE4QixFQUFFLHFEQUFnRDtBQUN6RixPQUFPLEVBQUUsZUFBZSxFQUFFLHNDQUFpQztBQUUzRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsNENBQXVDO0FBQ3JFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSwyQ0FBc0M7QUFDbkUsT0FBTyxFQUFFLDhCQUE4QixFQUFFLHVEQUFrRDtBQUMzRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsbUNBQWdDO0FBQ2hFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxpQ0FBOEI7QUFDNUQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLGtDQUErQjtBQTRCbkU7Ozs7Ozs7Ozs7R0FVRztBQUNILE1BQU0sT0FBTyxvQkFBb0I7SUFTL0IsWUFBWSxNQUFrQztRQUM1QyxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxZQUFZLElBQUksSUFBSSwwQkFBMEIsRUFBRSxDQUFDO1FBQ3ZFLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDLE9BQU8sSUFBSSxJQUFJLHFCQUFxQixFQUFFLENBQUM7UUFDN0QsSUFBSSxDQUFDLGlCQUFpQjtZ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Ii8qKlxuICogQG1vZHVsZSBpbnRlZ3JhdGlvbnMvZ3JhcGgvZXhlY3V0aW9uL0dyYXBoRXhlY3V0aW9uRW5naW5lXG4gKiBAc3VtbWFyeSBSZWZlcmVuY2UgZ3JhcGggZXhlY3V0aW9uIGVuZ2luZS5cbiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlcyBncmFwaCB3b3JrZmxvd3MgZGVjbGFyZWQgd2l0aCBgQGRlY2FmLXRzL3VpLWRlY29yYXRvcnMvZ3JhcGhgLCBlbWl0cyBldmVudHMgdGhyb3VnaCBEZWNhZidzIE9ic2VydmFibGUgcGlwZWxpbmUsIHN1cHBvcnRzIHBhcmFsbGVsIG5vZGUgZXhlY3V0aW9uIHdpdGhpbiB0b3BvbG9naWNhbCBsYXllcnMsIGFuZCByZXR1cm5zIGEgY29tcGxldGUgZXhlY3V0aW9uIHJlc3VsdC5cbiAqL1xuaW1wb3J0IHR5cGUgeyBPYnNlcnZhYmxlIH0gZnJvbSBcIkBkZWNhZi10cy9jb3JlXCI7XG5pbXBvcnQgdHlwZSB7IEdyYXBoV29ya2Zsb3dEZWZpbml0aW9uIH0gZnJvbSBcIkBkZWNhZi10cy91aS1kZWNvcmF0b3JzL2dyYXBoXCI7XG5cbmltcG9ydCB7XG4gIEdSQVBIX0RFRkFVTFRfQ09OQ1VSUkVOQ1ksXG4gIEdSQVBIX1dPUktGTE9XX0JPVU5EQVJZLFxufSBmcm9tIFwiLi4vY29uc3RhbnRzXCI7XG5pbXBvcnQge1xuICBHcmFwaEV4ZWN1dGlvbkV2ZW50VHlwZSxcbiAgR3JhcGhFeGVjdXRpb25TdGF0dXMsXG59IGZyb20gXCIuLi8uLi9zaGFyZWQvY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBHcmFwaEV4ZWN1dGlvbkVycm9yIH0gZnJvbSBcIi4uL2Vycm9yc1wiO1xuaW1wb3J0IHR5cGUge1xuICBHcmFwaEV4ZWN1dGlvbkVycm9yUGF5bG9hZCxcbiAgR3JhcGhFeGVjdXRpb25FdmVudCxcbiAgR3JhcGhFeGVjdXRpb25PcHRpb25zLFxuICBHcmFwaEV4ZWN1dGlvblJlc3VsdCxcbiAgR3JhcGhFeGVjdXRpb25WYWx1ZXMsXG4gIEdyYXBoTm9kZUV4ZWN1dGlvblJlc3VsdCxcbiAgR3JhcGhQaW5Ob2RlT3B0aW9ucyxcbiAgR3JhcGhVbnBpbk5vZGVPcHRpb25zLFxuICBHcmFwaFJ1bklkLFxufSBmcm9tIFwiLi4vdHlwZXNcIjtcbmltcG9ydCB0eXBlIHsgR3JhcGhFeGVjdXRpb25PYnNlcnZlciB9IGZyb20gXCIuLi9ldmVudHMvR3JhcGhFeGVjdXRpb25PYnNlcnZlclwiO1xuaW1wb3J0IHsgR3JhcGhFeGVjdXRpb25FdmVudEVtaXR0ZXIgfSBmcm9tIFwiLi4vZXZlbnRzL0dyYXBoRXhlY3V0aW9uRXZlbnRFbWl0dGVyXCI7XG5pbXBvcnQgeyBHcmFwaEV4ZWN1dGlvbkV2ZW50RmFjdG9yeSB9IGZyb20gXCIuLi9ldmVudHMvR3JhcGhFeGVjdXRpb25FdmVudEZhY3RvcnlcIjtcbmltcG9ydCB0eXBlIHsgR3JhcGhOb2RlRXhlY3V0b3JSZWdpc3RyeSB9IGZyb20gXCIuLi9yZWdpc3RyeS9HcmFwaE5vZGVFeGVjdXRvclJlZ2lzdHJ5XCI7XG5pbXBvcnQgeyBHcmFwaEV4ZWN1dGlvblBsYW5uZXIgfSBmcm9tIFwiLi4vcGxhbm5pbmcvR3JhcGhFeGVjdXRpb25QbGFubmVyXCI7XG5pbXBvcnQgdHlwZSB7IEdyYXBoRXhlY3V0aW9uUGxhbiB9IGZyb20gXCIuLi9wbGFubmluZy9HcmFwaEV4ZWN1dGlvblBsYW5cIjtcbmltcG9ydCB0eXBlIHsgR3JhcGhFeGVjdXRpb25QbGFuTm9kZSB9IGZyb20gXCIuLi9wbGFubmluZy9HcmFwaEV4ZWN1dGlvblBsYW5Ob2RlXCI7XG5pbXBvcnQgdHlwZSB7IEdyYXBoVmFsdWVTdG9yZUFkYXB0ZXIgfSBmcm9tIFwiLi4vc3RvcmUvR3JhcGhWYWx1ZVN0b3JlQWRhcHRlclwiO1xuaW1wb3J0IHsgSW5NZW1vcnlHcmFwaFZhbHVlU3RvcmVBZGFwdGVyIH0gZnJvbSBcIi4uL3N0b3JlL0luTWVtb3J5R3JhcGhWYWx1ZVN0b3JlQWRhcHRlclwiO1xuaW1wb3J0IHsgR3JhcGhWYWx1ZVN0b3JlIH0gZnJvbSBcIi4uL3N0b3JlL0dyYXBoVmFsdWVTdG9yZVwiO1xuaW1wb3J0IHR5cGUgeyBHcmFwaENhY2hlZFZhbHVlIH0gZnJvbSBcIi4uL3N0b3JlL0dyYXBoQ2FjaGVkVmFsdWVcIjtcbmltcG9ydCB7IEdyYXBoUGlubmluZ1NlcnZpY2UgfSBmcm9tIFwiLi4vcGlubmluZy9HcmFwaFBpbm5pbmdTZXJ2aWNlXCI7XG5pbXBvcnQgeyBHcmFwaFBpbm5pbmdQb2xpY3kgfSBmcm9tIFwiLi4vcGlubmluZy9HcmFwaFBpbm5pbmdQb2xpY3lcIjtcbmltcG9ydCB7IEdyYXBoUGlubmluZ0RlcGVuZGVuY3lSZXNvbHZlciB9IGZyb20gXCIuLi9waW5uaW5nL0dyYXBoUGlubmluZ0RlcGVuZGVuY3lSZXNvbHZlclwiO1xuaW1wb3J0IHsgR3JhcGhFeGVjdXRpb25Db250ZXh0IH0gZnJvbSBcIi4vR3JhcGhFeGVjdXRpb25Db250ZXh0XCI7XG5pbXBvcnQgeyBHcmFwaEV4ZWN1dGlvbkZyYW1lIH0gZnJvbSBcIi4vR3JhcGhFeGVjdXRpb25GcmFtZVwiO1xuaW1wb3J0IHsgYnVpbGRHcmFwaEV4ZWN1dGlvblJlc3VsdCB9IGZyb20gXCIuL0dyYXBoRXhlY3V0aW9uUmVzdWx0XCI7XG5pbXBvcnQgdHlwZSB7IENvZGVTYW5kYm94RXZhbHVhdG9yIH0gZnJvbSBcIi4vQ29kZVNhbmRib3hFdmFsdWF0b3JcIjtcblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIGZvciB0aGUge0BsaW5rIEdyYXBoRXhlY3V0aW9uRW5naW5lfS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHcmFwaEV4ZWN1dGlvbkVuZ2luZUNvbmZpZyB7XG4gIHJlZ2lzdHJ5OiBHcmFwaE5vZGVFeGVjdXRvclJlZ2lzdHJ5O1xuICBwbGFubmVyPzogR3JhcGhFeGVjdXRpb25QbGFubmVyO1xuICB2YWx1ZVN0b3JlQWRhcHRlcj86IEdyYXBoVmFsdWVTdG9yZUFkYXB0ZXI7XG4gIGV2ZW50RW1pdHRlcj86IEdyYXBoRXhlY3V0aW9uRXZlbnRFbWl0dGVyO1xuICBkZWZhdWx0T3B0aW9ucz86IFBhcnRpYWw8R3JhcGhFeGVjdXRpb25PcHRpb25zPjtcbiAgLyoqXG4gICAqIE9wdGlvbmFsIHBsdWdnYWJsZSBjb2RlIHNhbmRib3ggZXZhbHVhdG9yIGZvciBjb2RlLWJhc2VkIGNvbmRpdGlvbnNcbiAgICogKERFQ0FGLTMyIMKnMjIuNCkuIFdoZW4gYWJzZW50LCBjb2RlIGNvbmRpdGlvbnMgdGhyb3dcbiAgICogYEdSQVBIX0NPREVfU0FOREJPWF9OT1RfQ09ORklHVVJFRGAuIERvd25zdHJlYW0gcHJvamVjdHMgKGUuZy4gQUxGUkVEKVxuICAgKiBzdXBwbHkgdGhlIGFjdHVhbCBWTSBzYW5kYm94IGltcGxlbWVudGF0aW9uLlxuICAgKi9cbiAgY29kZVNhbmRib3hFdmFsdWF0b3I/OiBDb2RlU2FuZGJveEV2YWx1YXRvcjtcbiAgLyoqXG4gICAqIE9wdGlvbmFsIGNhbGxiYWNrIGludm9rZWQgYXQgdGhlIGVuZCBvZiBlbmdpbmUgY29uc3RydWN0aW9uIHdpdGggdGhlXG4gICAqIGZ1bGx5LWluaXRpYWxpc2VkIGVuZ2luZSBpbnN0YW5jZS4gVXNlIHRoaXMgdG8gcmVnaXN0ZXIgZXhlY3V0b3JzIHRoYXRcbiAgICogbmVlZCBhIGJhY2stcmVmZXJlbmNlIHRvIHRoZSBlbmdpbmUgKGUuZy4gbG9vcCBleGVjdXRvcnMgdGhhdCBleGVjdXRlXG4gICAqIHN1Yi13b3JrZmxvd3MgdGhyb3VnaCB0aGUgc2FtZSBlbmdpbmUpLlxuICAgKi9cbiAgb25FbmdpbmVDcmVhdGVkPzogKGVuZ2luZTogR3JhcGhFeGVjdXRpb25FbmdpbmUpID0+IHZvaWQ7XG59XG5cbi8qKlxuICogUmVmZXJlbmNlIGdyYXBoIGV4ZWN1dGlvbiBlbmdpbmUuXG4gKlxuICogRXhlY3V0ZXMgYSB7QGxpbmsgR3JhcGhXb3JrZmxvd0RlZmluaXRpb259IGJ5OlxuICogMS4gUGxhbm5pbmcgdGhlIHdvcmtmbG93IGludG8gdG9wb2xvZ2ljYWwgbGF5ZXJzLlxuICogMi4gU2VlZGluZyB3b3JrZmxvdyBpbnB1dHMgaW50byB0aGUgdmFsdWUgc3RvcmUuXG4gKiAzLiBFeGVjdXRpbmcgbm9kZXMgbGF5ZXItYnktbGF5ZXIgd2l0aCBjb25maWd1cmFibGUgY29uY3VycmVuY3kuXG4gKiA0LiBSb3V0aW5nIHZhbHVlcyBhbG9uZyBlZGdlcy5cbiAqIDUuIEVtaXR0aW5nIHN0cnVjdHVyZWQgZXZlbnRzIHRocm91Z2ggRGVjYWYncyBPYnNlcnZhYmxlIHBpcGVsaW5lLlxuICogNi4gUmV0dXJuaW5nIGEgY29tcGxldGUge0BsaW5rIEdyYXBoRXhlY3V0aW9uUmVzdWx0fS5cbiAqL1xuZXhwb3J0IGNsYXNzIEdyYXBoRXhlY3V0aW9uRW5naW5lXG4gIGltcGxlbWVudHMgT2JzZXJ2YWJsZTxbR3JhcGhFeGVjdXRpb25PYnNlcnZlcl0sIFtHcmFwaEV4ZWN1dGlvbkV2ZW50XT4ge1xuICBwcml2YXRlIHJlYWRvbmx5IGVtaXR0ZXI6IEdyYXBoRXhlY3V0aW9uRXZlbnRFbWl0dGVyO1xuICBwcml2YXRlIHJlYWRvbmx5IHBsYW5uZXI6IEdyYXBoRXhlY3V0aW9uUGxhbm5lcjtcbiAgcHJpdmF0ZSByZWFkb25seSB2YWx1ZVN0b3JlQWRhcHRlcjogR3JhcGhWYWx1ZVN0b3JlQWRhcHRlcjtcbiAgcHJpdmF0ZSByZWFkb25seSBkZWZhdWx0T3B0aW9uczogUGFydGlhbDxHcmFwaEV4ZWN1dGlvbk9wdGlvbnM+O1xuICAvKiogUGx1Z2dhYmxlIGNvZGUgc2FuZGJveCBldmFsdWF0b3IgKMKnMjIuNCk7IG1heSBiZSB1bmRlZmluZWQuICovXG4gIHJlYWRvbmx5IGNvZGVTYW5kYm94RXZhbHVhdG9yPzogQ29kZVNhbmRib3hFdmFsdWF0b3I7XG5cbiAgY29uc3RydWN0b3IoY29uZmlnOiBHcmFwaEV4ZWN1dGlvbkVuZ2luZUNvbmZpZykge1xuICAgIHRoaXMuZW1pdHRlciA9IGNvbmZpZy5ldmVudEVtaXR0ZXIgPz8gbmV3IEdyYXBoRXhlY3V0aW9uRXZlbnRFbWl0dGVyKCk7XG4gICAgdGhpcy5wbGFubmVyID0gY29uZmlnLnBsYW5uZXIgPz8gbmV3IEdyYXBoRXhlY3V0aW9uUGxhbm5lcigpO1xuICAgIHRoaXMudmFsdWVTdG9yZUFkYXB0ZXIgPVxuICAgICAgY29uZmlnLnZhbHVlU3RvcmVBZGFwdGVyID8/IG5ldyBJbk1lbW9yeUdyYXBoVmFsdWVTdG9yZUFkYXB0ZXIoKTtcbiAgICB0aGlzLmRlZmF1bHRPcHRpb25zID0gY29uZmlnLmRlZmF1bHRPcHRpb25zID8/IHt9O1xuICAgIHRoaXMuY29kZVNhbmRib3hFdmFsdWF0b3IgPSBjb25maWcuY29kZVNhbmRib3hFdmFsdWF0b3I7XG4gICAgdGhpcy5jb25maWcgPSBjb25maWc7XG4gICAgY29uZmlnLm9uRW5naW5lQ3JlYXRlZD8uKHRoaXMpO1xuICB9XG5cbiAgcHJpdmF0ZSByZWFkb25seSBjb25maWc6IEdyYXBoRXhlY3V0aW9uRW5naW5lQ29uZmlnO1xuXG4gIG9ic2VydmUob2JzZXJ2ZXI6IEdyYXBoRXhlY3V0aW9uT2JzZXJ2ZXIpOiAoKSA9PiB2b2lkIHtcbiAgICByZXR1cm4gdGhpcy5lbWl0dGVyLm9ic2VydmUob2JzZXJ2ZXIpO1xuICB9XG5cbiAgdW5PYnNlcnZlKG9ic2VydmVyOiBHcmFwaEV4ZWN1dGlvbk9ic2VydmVyKTogdm9pZCB7XG4gICAgdGhpcy5lbWl0dGVyLnVuT2JzZXJ2ZShvYnNlcnZlcik7XG4gIH1cblxuICBhc3luYyB1cGRhdGVPYnNlcnZlcnMoZXZlbnQ6IEdyYXBoRXhlY3V0aW9uRXZlbnQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLmVtaXR0ZXIudXBkYXRlT2JzZXJ2ZXJzKGV2ZW50KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFeGVjdXRlcyBhIHdvcmtmbG93IHdpdGggdGhlIGdpdmVuIGlucHV0cyBhbmQgb3B0aW9ucy5cbiAgICovXG4gIGFzeW5jIGV4ZWN1dGUoXG4gICAgd29ya2Zsb3c6IEdyYXBoV29ya2Zsb3dEZWZpbml0aW9uLFxuICAgIGlucHV0czogR3JhcGhFeGVjdXRpb25WYWx1ZXMgPSB7fSxcbiAgICBvcHRpb25zOiBHcmFwaEV4ZWN1dGlvbk9wdGlvbnMgPSB7fVxuICApOiBQcm9taXNlPEdyYXBoRXhlY3V0aW9uUmVzdWx0PiB7XG4gICAgY29uc3Qgb3B0cyA9IHRoaXMubWVyZ2VPcHRpb25zKG9wdGlvbnMpO1xuICAgIGNvbnN0IHJ1bklkID0gb3B0cy5ydW5JZCA/PyB0aGlzLmdlbmVyYXRlUnVuSWQoKTtcbiAgICBjb25zdCBwYXRoID0gb3B0cy5wYXRoID8/IFtdO1xuICAgIGNvbnN0IGV2ZW50RmFjdG9yeSA9IG5ldyBHcmFwaEV4ZWN1dGlvbkV2ZW50RmFjdG9yeSgpO1xuICAgIGNvbnN0IHZhbHVlU3RvcmUgPSBuZXcgR3JhcGhWYWx1ZVN0b3JlKHRoaXMudmFsdWVTdG9yZUFkYXB0ZXIpO1xuICAgIHZhbHVlU3RvcmUuc2VlZFdvcmtmbG93SW5wdXRzKGlucHV0cyk7XG5cbiAgICBjb25zdCBwbGFuID0gdGhpcy5wbGFubmVyLnBsYW4od29ya2Zsb3cpO1xuICAgIGNvbnN0IGZyYW1lID0gbmV3IEdyYXBoRXhlY3V0aW9uRnJhbWUoXG4gICAgICBydW5JZCxcbiAgICAgIHBsYW4sXG4gICAgICB2YWx1ZVN0b3JlLFxuICAgICAgZXZlbnRGYWN0b3J5XG4gICAgKTtcblxuICAgIGNvbnN0IGVtaXRGbiA9IGFzeW5jIChwYXJ0aWFsOiBQYXJ0aWFsPEdyYXBoRXhlY3V0aW9uRXZlbnQ+KSA9PiB7XG4gICAgICBhd2FpdCB0aGlzLmVtaXRFdmVudChmcmFtZSwge1xuICAgICAgICB0eXBlOiBwYXJ0aWFsLnR5cGUgPz8gR3JhcGhFeGVjdXRpb25FdmVudFR5cGUuTk9ERV9PVVRQVVQsXG4gICAgICAgIHJ1bklkLFxuICAgICAgICBwYXJlbnRSdW5JZDogb3B0cy5wYXJlbnRSdW5JZCxcbiAgICAgICAgd29ya2Zsb3dJZDogd29ya2Zsb3cubmFtZSxcbiAgICAgICAgbm9kZUlkOiBwYXJ0aWFsLm5vZGVJZCxcbiAgICAgICAgcGF0aDogcGFydGlhbC5wYXRoID8/IHBhdGgsXG4gICAgICAgIC4uLnBhcnRpYWwsXG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgYXdhaXQgdGhpcy5lbWl0RXZlbnQoZnJhbWUsIHtcbiAgICAgIHR5cGU6IEdyYXBoRXhlY3V0aW9uRXZlbnRUeXBlLldPUktGTE9XX1NUQVJURUQsXG4gICAgICBydW5JZCxcbiAgICAgIHBhcmVudFJ1bklkOiBvcHRzLnBhcmVudFJ1bklkLFxuICAgICAgd29ya2Zsb3dJZDogd29ya2Zsb3cubmFtZSxcbiAgICAgIHBhdGgsXG4gICAgICBzdGF0dXM6IEdyYXBoRXhlY3V0aW9uU3RhdHVzLlJVTk5JTkcsXG4gICAgICBwYXlsb2FkOiB7IGlucHV0cyB9LFxuICAgIH0pO1xuXG4gICAgYXdhaXQgdGhpcy5lbWl0RXZlbnQoZnJhbWUsIHtcbiAgICAgIHR5cGU6IEdyYXBoRXhlY3V0aW9uRXZlbnRUeXBlLldPUktGTE9XX1BMQU5ORUQsXG4gICAgICBydW5JZCxcbiAgICAgIHBhcmVudFJ1bklkOiBvcHRzLnBhcmVudFJ1bklkLFxuICAgICAgd29ya2Zsb3dJZDogd29ya2Zsb3cubmFtZSxcbiAgICAgIHBhdGgsXG4gICAgICBzdGF0dXM6IEdyYXBoRXhlY3V0aW9uU3RhdHVzLlBMQU5OSU5HLFxuICAgICAgcGF5bG9hZDogeyBsYXllcnM6IHBsYW4ubGF5ZXJzLmxlbmd0aCwgbm9kZXM6IHBsYW4ubm9kZXMubGVuZ3RoIH0sXG4gICAgfSk7XG5cbiAgICB0cnkge1xuICAgICAgZm9yIChjb25zdCBsYXllciBvZiBwbGFuLmxheWVycykge1xuICAgICAgICBhd2FpdCB0aGlzLmV4ZWN1dGVMYXllcihmcmFtZSwgcGxhbiwgbGF5ZXIubm9kZXMsIG9wdHMsIGVtaXRGbik7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGZpcnN0RmFpbHVyZSA9IFsuLi5mcmFtZS5ub2RlUmVzdWx0cy52YWx1ZXMoKV0uZmluZChcbiAgICAgICAgKHJlc3VsdCkgPT4gcmVzdWx0LnN0YXR1cyA9PT0gR3JhcGhFeGVjdXRpb25TdGF0dXMuRkFJTEVEXG4gICAgICApO1xuICAgICAgaWYgKGZpcnN0RmFpbHVyZT8uZXJyb3IpIHtcbiAgICAgICAgdGhyb3cgbmV3IEdyYXBoRXhlY3V0aW9uRXJyb3IoXG4gICAgICAgICAgZmlyc3RGYWlsdXJlLmVycm9yLm1lc3NhZ2UsXG4gICAgICAgICAgZmlyc3RGYWlsdXJlLmVycm9yLmNvZGUgPz8gXCJHUkFQSF9FWEVDVVRJT05fRVJST1JcIixcbiAgICAgICAgICBmaXJzdEZhaWx1cmUuZXJyb3IuZGV0YWlsc1xuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICBmcmFtZS5maW5pc2goKTtcblxuICAgICAgYXdhaXQgdGhpcy5lbWl0RXZlbnQoZnJhbWUsIHtcbiAgICAgICAgdHlwZTogR3JhcGhFeGVjdXRpb25FdmVudFR5cGUuV09SS0ZMT1dfQ09NUExFVEVELFxuICAgICAgICBydW5JZCxcbiAgICAgICAgcGFyZW50UnVuSWQ6IG9wdHMucGFyZW50UnVuSWQsXG4gICAgICAgIHdvcmtmbG93SWQ6IHdvcmtmbG93Lm5hbWUsXG4gICAgICAgIHBhdGgsXG4gICAgICAgIHN0YXR1czogR3JhcGhFeGVjdXRpb25TdGF0dXMuU1VDQ0VFREVELFxuICAgICAgICBwYXlsb2FkOiB7IG91dHB1dHM6IHZhbHVlU3RvcmUuZ2V0V29ya2Zsb3dWYWx1ZXMoKSB9LFxuICAgICAgfSk7XG5cbiAgICAgIHJldHVybiBidWlsZEdyYXBoRXhlY3V0aW9uUmVzdWx0KFxuICAgICAgICBmcmFtZSxcbiAgICAgICAgd29ya2Zsb3csXG4gICAgICAgIGlucHV0cyxcbiAgICAgICAgR3JhcGhFeGVjdXRpb25TdGF0dXMuU1VDQ0VFREVELFxuICAgICAgICBvcHRzLm1ldGFkYXRhXG4gICAgICApO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBmcmFtZS5maW5pc2goKTtcbiAgICAgIGNvbnN0IGVycm9yUGF5bG9hZCA9IHRoaXMudG9FcnJvclBheWxvYWQoZXJyb3IpO1xuXG4gICAgICBhd2FpdCB0aGlzLmVtaXRFdmVudChmcmFtZSwge1xuICAgICAgICB0eXBlOiBHcmFwaEV4ZWN1dGlvbkV2ZW50VHlwZS5XT1JLRkxPV19GQUlMRUQsXG4gICAgICAgIHJ1bklkLFxuICAgICAgICBwYXJlbnRSdW5JZDogb3B0cy5wYXJlbnRSdW5JZCxcbiAgICAgICAgd29ya2Zsb3dJZDogd29ya2Zsb3cubmFtZSxcbiAgICAgICAgcGF0aCxcbiAgICAgICAgc3RhdHVzOiBHcmFwaEV4ZWN1dGlvblN0YXR1cy5GQUlMRUQsXG4gICAgICAgIGVycm9yOiBlcnJvclBheWxvYWQsXG4gICAgICB9KTtcblxuICAgICAgcmV0dXJuIGJ1aWxkR3JhcGhFeGVjdXRpb25SZXN1bHQoXG4gICAgICAgIGZyYW1lLFxuICAgICAgICB3b3JrZmxvdyxcbiAgICAgICAgaW5wdXRzLFxuICAgICAgICBHcmFwaEV4ZWN1dGlvblN0YXR1cy5GQUlMRUQsXG4gICAgICAgIG9wdHMubWV0YWRhdGFcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFBpbnMgYSBub2RlIGFuZCBpdHMgdXBzdHJlYW0gZGVwZW5kZW5jaWVzIGFmdGVyIGEgY29tcGxldGVkIHJ1bi5cbiAgICpcbiAgICogRGVsZWdhdGVzIHRvIHtAbGluayBHcmFwaFBpbm5pbmdTZXJ2aWNlfS4gVGhlIHBsYW4gYW5kIHJlc3VsdCBtdXN0IGNvbWVcbiAgICogZnJvbSBhIHByaW9yIHN1Y2Nlc3NmdWwgZXhlY3V0aW9uIG9mIHRoZSBzYW1lIHdvcmtmbG93LlxuICAgKi9cbiAgYXN5bmMgcGluTm9kZShvcHRpb25zOiBHcmFwaFBpbk5vZGVPcHRpb25zKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3Qgc2VydmljZSA9IHRoaXMuY3JlYXRlUGlubmluZ1NlcnZpY2UoKTtcbiAgICBhd2FpdCBzZXJ2aWNlLnBpbk5vZGUob3B0aW9ucyk7XG4gICAgYXdhaXQgdGhpcy5lbWl0UGlubmluZ0V2ZW50KG9wdGlvbnMubm9kZUlkLCBHcmFwaEV4ZWN1dGlvbkV2ZW50VHlwZS5OT0RFX1BJTk5FRCk7XG4gIH1cblxuICAvKipcbiAgICogVW5waW5zIGEgbm9kZSBieSBpdHMgZmluZ2VycHJpbnQuXG4gICAqL1xuICBhc3luYyB1bnBpbk5vZGUob3B0aW9uczogR3JhcGhVbnBpbk5vZGVPcHRpb25zKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3Qgc2VydmljZSA9IHRoaXMuY3JlYXRlUGlubmluZ1NlcnZpY2UoKTtcbiAgICBhd2FpdCBzZXJ2aWNlLnVucGluTm9kZShvcHRpb25zKTtcbiAgICBhd2FpdCB0aGlzLmVtaXRQaW5uaW5nRXZlbnQob3B0aW9ucy5ub2RlSWQsIEdyYXBoRXhlY3V0aW9uRXZlbnRUeXBlLk5PREVfVU5QSU5ORUQpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSB7QGxpbmsgR3JhcGhQaW5uaW5nU2VydmljZX0gYmFja2VkIGJ5IHRoaXMgZW5naW5lJ3MgdmFsdWUgc3RvcmVcbiAgICogYWRhcHRlci5cbiAgICovXG4gIHByaXZhdGUgY3JlYXRlUGlubmluZ1NlcnZpY2UoKTogR3JhcGhQaW5uaW5nU2VydmljZSB7XG4gICAgY29uc3Qgc3RvcmUgPSBuZXcgR3JhcGhWYWx1ZVN0b3JlKHRoaXMudmFsdWVTdG9yZUFkYXB0ZXIpO1xuICAgIHJldHVybiBuZXcgR3JhcGhQaW5uaW5nU2VydmljZShcbiAgICAgIHN0b3JlLFxuICAgICAgbmV3IEdyYXBoUGlubmluZ1BvbGljeSgpLFxuICAgICAgbmV3IEdyYXBoUGlubmluZ0RlcGVuZGVuY3lSZXNvbHZlcigpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFbWl0cyBhIHBpbm5pbmctcmVsYXRlZCBldmVudCB0byBhbGwgb2JzZXJ2ZXJzLlxuICAgKi9cbiAgcHJpdmF0ZSBhc3luYyBlbWl0UGlubmluZ0V2ZW50KFxuICAgIG5vZGVJZDogc3RyaW5nLFxuICAgIHR5cGU6IEdyYXBoRXhlY3V0aW9uRXZlbnRUeXBlXG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGZhY3RvcnkgPSBuZXcgR3JhcGhFeGVjdXRpb25FdmVudEZhY3RvcnkoKTtcbiAgICBjb25zdCBldmVudCA9IGZhY3RvcnkuY3JlYXRlKHtcbiAgICAgIGlkOiBcIlwiLFxuICAgICAgc2VxdWVuY2U6IDAsXG4gICAgICB0aW1lc3RhbXA6IG5ldyBEYXRlKCksXG4gICAgICBydW5JZDogXCJwaW5uaW5nXCIsXG4gICAgICB3b3JrZmxvd0lkOiBcIlwiLFxuICAgICAgdHlwZSxcbiAgICAgIG5vZGVJZCxcbiAgICAgIHBhdGg6IFtdLFxuICAgIH0gYXMgT21pdDxHcmFwaEV4ZWN1dGlvbkV2ZW50LCBcImlkXCIgfCBcInNlcXVlbmNlXCIgfCBcInRpbWVzdGFtcFwiPik7XG4gICAgYXdhaXQgdGhpcy5lbWl0dGVyLnVwZGF0ZU9ic2VydmVycyhldmVudCk7XG4gIH1cblxuICAvKipcbiAgICogRXhlY3V0ZXMgYSBsYXllciBvZiBub2RlcyB3aXRoIHRoZSBjb25maWd1cmVkIGNvbmN1cnJlbmN5LlxuICAgKi9cbiAgcHJpdmF0ZSBhc3luYyBleGVjdXRlTGF5ZXIoXG4gICAgZnJhbWU6IEdyYXBoRXhlY3V0aW9uRnJhbWUsXG4gICAgcGxhbjogR3JhcGhFeGVjdXRpb25QbGFuLFxuICAgIG5vZGVzOiBHcmFwaEV4ZWN1dGlvblBsYW5Ob2RlW10sXG4gICAgb3B0czogR3JhcGhFeGVjdXRpb25PcHRpb25zLFxuICAgIGVtaXRGbjogKGV2ZW50OiBQYXJ0aWFsPEdyYXBoRXhlY3V0aW9uRXZlbnQ+KSA9PiBQcm9taXNlPHZvaWQ+XG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGNvbmN1cnJlbmN5ID0gTWF0aC5tYXgoXG4gICAgICAxLFxuICAgICAgb3B0cy5jb25jdXJyZW5jeSA/PyBHUkFQSF9ERUZBVUxUX0NPTkNVUlJFTkNZXG4gICAgKTtcbiAgICBjb25zdCBxdWV1ZSA9IFsuLi5ub2Rlc107XG5cbiAgICB3aGlsZSAocXVldWUubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3QgYmF0Y2ggPSBxdWV1ZS5zcGxpY2UoMCwgY29uY3VycmVuY3kpO1xuICAgICAgYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgICAgIGJhdGNoLm1hcCgobm9kZSkgPT4gdGhpcy5leGVjdXRlTm9kZShmcmFtZSwgcGxhbiwgbm9kZSwgb3B0cywgZW1pdEZuKSlcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEV4ZWN1dGVzIGEgc2luZ2xlIG5vZGUuXG4gICAqL1xuICBwcml2YXRlIGFzeW5jIGV4ZWN1dGVOb2RlKFxuICAgIGZyYW1lOiBHcmFwaEV4ZWN1dGlvbkZyYW1lLFxuICAgIHBsYW46IEdyYXBoRXhlY3V0aW9uUGxhbixcbiAgICBwbGFuTm9kZTogR3JhcGhFeGVjdXRpb25QbGFuTm9kZSxcbiAgICBvcHRzOiBHcmFwaEV4ZWN1dGlvbk9wdGlvbnMsXG4gICAgZW1pdEZuOiAoZXZlbnQ6IFBhcnRpYWw8R3JhcGhFeGVjdXRpb25FdmVudD4pID0+IFByb21pc2U8dm9pZD5cbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3Qgc3RhcnRlZEF0ID0gbmV3IERhdGUoKTtcbiAgICBjb25zdCBub2RlUGF0aCA9IFsuLi4ob3B0cy5wYXRoID8/IFtdKSwgcGxhbk5vZGUuaWRdO1xuXG4gICAgYXdhaXQgdGhpcy5lbWl0RXZlbnQoZnJhbWUsIHtcbiAgICAgIHR5cGU6IEdyYXBoRXhlY3V0aW9uRXZlbnRUeXBlLk5PREVfU1RBUlRFRCxcbiAgICAgIHJ1bklkOiBmcmFtZS5ydW5JZCxcbiAgICAgIHdvcmtmbG93SWQ6IHBsYW4ud29ya2Zsb3dJZCxcbiAgICAgIG5vZGVJZDogcGxhbk5vZGUuaWQsXG4gICAgICBwYXRoOiBub2RlUGF0aCxcbiAgICAgIHN0YXR1czogR3JhcGhFeGVjdXRpb25TdGF0dXMuUlVOTklORyxcbiAgICB9KTtcblxuICAgIGNvbnN0IGlucHV0cyA9IHRoaXMucmVzb2x2ZU5vZGVJbnB1dHMoZnJhbWUsIHBsYW4sIHBsYW5Ob2RlKTtcblxuICAgIC8vIENhY2hlLWhpdDogY2hlY2sgZm9yIGEgcGlubmVkIHZhbHVlIGJlZm9yZSBleGVjdXRpbmcgdGhlIG5vZGVcbiAgICBpZiAob3B0cy51c2VQaW5uZWRWYWx1ZXMpIHtcbiAgICAgIGNvbnN0IGNhY2hlZCA9IGF3YWl0IHRoaXMudHJ5UGlubmVkVmFsdWUoZnJhbWUsIHBsYW4sIHBsYW5Ob2RlLCBpbnB1dHMpO1xuICAgICAgaWYgKGNhY2hlZCkge1xuICAgICAgICBmcmFtZS52YWx1ZVN0b3JlLnNldE5vZGVPdXRwdXRzKHBsYW5Ob2RlLmlkLCBjYWNoZWQub3V0cHV0cyk7XG4gICAgICAgIHRoaXMucm91dGVPdXRnb2luZ0VkZ2VzKGZyYW1lLCBwbGFuLCBwbGFuTm9kZSwgY2FjaGVkLm91dHB1dHMpO1xuXG4gICAgICAgIGNvbnN0IGZpbmlzaGVkQXQgPSBuZXcgRGF0ZSgpO1xuICAgICAgICBjb25zdCByZXN1bHQ6IEdyYXBoTm9kZUV4ZWN1dGlvblJlc3VsdCA9IHtcbiAgICAgICAgICBub2RlSWQ6IHBsYW5Ob2RlLmlkLFxuICAgICAgICAgIHN0YXR1czogR3JhcGhFeGVjdXRpb25TdGF0dXMuQ0FDSEVELFxuICAgICAgICAgIGlucHV0cyxcbiAgICAgICAgICBvdXRwdXRzOiBjYWNoZWQub3V0cHV0cyxcbiAgICAgICAgICBzdGFydGVkQXQsXG4gICAgICAgICAgZmluaXNoZWRBdCxcbiAgICAgICAgICBmcm9tQ2FjaGU6IHRydWUsXG4gICAgICAgICAgcGlubmVkOiB0cnVlLFxuICAgICAgICAgIGV2ZW50czogW10sXG4gICAgICAgIH07XG4gICAgICAgIGZyYW1lLnJlY29yZE5vZGVSZXN1bHQocmVzdWx0KTtcblxuICAgICAgICBhd2FpdCB0aGlzLmVtaXRFdmVudChmcmFtZSwge1xuICAgICAgICAgIHR5cGU6IEdyYXBoRXhlY3V0aW9uRXZlbnRUeXBlLk5PREVfQ0FDSEVfSElULFxuICAgICAgICAgIHJ1bklkOiBmcmFtZS5ydW5JZCxcbiAgICAgICAgICB3b3JrZmxvd0lkOiBwbGFuLndvcmtmbG93SWQsXG4gICAgICAgICAgbm9kZUlkOiBwbGFuTm9kZS5pZCxcbiAgICAgICAgICBwYXRoOiBub2RlUGF0aCxcbiAgICAgICAgICBzdGF0dXM6IEdyYXBoRXhlY3V0aW9uU3RhdHVzLkNBQ0hFRCxcbiAgICAgICAgICBwYXlsb2FkOiB7IG91dHB1dHM6IGNhY2hlZC5vdXRwdXRzIH0sXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGF3YWl0IHRoaXMuZW1pdEV2ZW50KGZyYW1lLCB7XG4gICAgICAgICAgdHlwZTogR3JhcGhFeGVjdXRpb25FdmVudFR5cGUuTk9ERV9DT01QTEVURUQsXG4gICAgICAgICAgcnVuSWQ6IGZyYW1lLnJ1bklkLFxuICAgICAgICAgIHdvcmtmbG93SWQ6IHBsYW4ud29ya2Zsb3dJZCxcbiAgICAgICAgICBub2RlSWQ6IHBsYW5Ob2RlLmlkLFxuICAgICAgICAgIHBhdGg6IG5vZGVQYXRoLFxuICAgICAgICAgIHN0YXR1czogR3JhcGhFeGVjdXRpb25TdGF0dXMuU1VDQ0VFREVELFxuICAgICAgICAgIHBheWxvYWQ6IHsgb3V0cHV0czogY2FjaGVkLm91dHB1dHMsIGZyb21DYWNoZTogdHJ1ZSB9LFxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICBjb25zdCBleGVjdXRvciA9IHRoaXMuY29uZmlnLnJlZ2lzdHJ5LnJlc29sdmUocGxhbk5vZGUua2luZCk7XG4gICAgICBjb25zdCBjb250ZXh0ID0gbmV3IEdyYXBoRXhlY3V0aW9uQ29udGV4dChcbiAgICAgICAgZnJhbWUucnVuSWQsXG4gICAgICAgIG9wdHMucGFyZW50UnVuSWQsXG4gICAgICAgIHBsYW4ud29ya2Zsb3csXG4gICAgICAgIHBsYW5Ob2RlLmRlZmluaXRpb24sXG4gICAgICAgIG5vZGVQYXRoLFxuICAgICAgICBlbWl0Rm4sXG4gICAgICAgIG9wdHMubWV0YWRhdGFcbiAgICAgICk7XG5cbiAgICAgIGNvbnN0IG91dHB1dHMgPSBhd2FpdCBleGVjdXRvci5leGVjdXRlKGlucHV0cywgY29udGV4dCk7XG4gICAgICBjb25zdCByZXNvbHZlZE91dHB1dHMgPSBvdXRwdXRzID8/IHt9O1xuXG4gICAgICBmcmFtZS52YWx1ZVN0b3JlLnNldE5vZGVPdXRwdXRzKHBsYW5Ob2RlLmlkLCByZXNvbHZlZE91dHB1dHMpO1xuICAgICAgdGhpcy5yb3V0ZU91dGdvaW5nRWRnZXMoZnJhbWUsIHBsYW4sIHBsYW5Ob2RlLCByZXNvbHZlZE91dHB1dHMpO1xuXG4gICAgICBjb25zdCBmaW5pc2hlZEF0ID0gbmV3IERhdGUoKTtcbiAgICAgIGNvbnN0IHJlc3VsdDogR3JhcGhOb2RlRXhlY3V0aW9uUmVzdWx0ID0ge1xuICAgICAgICBub2RlSWQ6IHBsYW5Ob2RlLmlkLFxuICAgICAgICBzdGF0dXM6IEdyYXBoRXhlY3V0aW9uU3RhdHVzLlNVQ0NFRURFRCxcbiAgICAgICAgaW5wdXRzLFxuICAgICAgICBvdXRwdXRzOiByZXNvbHZlZE91dHB1dHMsXG4gICAgICAgIHN0YXJ0ZWRBdCxcbiAgICAgICAgZmluaXNoZWRBdCxcbiAgICAgICAgZXZlbnRzOiBbXSxcbiAgICAgIH07XG4gICAgICBmcmFtZS5yZWNvcmROb2RlUmVzdWx0KHJlc3VsdCk7XG5cbiAgICAgIGF3YWl0IHRoaXMuZW1pdEV2ZW50KGZyYW1lLCB7XG4gICAgICAgIHR5cGU6IEdyYXBoRXhlY3V0aW9uRXZlbnRUeXBlLk5PREVfQ09NUExFVEVELFxuICAgICAgICBydW5JZDogZnJhbWUucnVuSWQsXG4gICAgICAgIHdvcmtmbG93SWQ6IHBsYW4ud29ya2Zsb3dJZCxcbiAgICAgICAgbm9kZUlkOiBwbGFuTm9kZS5pZCxcbiAgICAgICAgcGF0aDogbm9kZVBhdGgsXG4gICAgICAgIHN0YXR1czogR3JhcGhFeGVjdXRpb25TdGF0dXMuU1VDQ0VFREVELFxuICAgICAgICBwYXlsb2FkOiB7IG91dHB1dHM6IHJlc29sdmVkT3V0cHV0cyB9LFxuICAgICAgfSk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnN0IGZpbmlzaGVkQXQgPSBuZXcgRGF0ZSgpO1xuICAgICAgY29uc3QgZXJyb3JQYXlsb2FkID0gdGhpcy50b0Vycm9yUGF5bG9hZChlcnJvcik7XG4gICAgICBjb25zdCByZXN1bHQ6IEdyYXBoTm9kZUV4ZWN1dGlvblJlc3VsdCA9IHtcbiAgICAgICAgbm9kZUlkOiBwbGFuTm9kZS5pZCxcbiAgICAgICAgc3RhdHVzOiBHcmFwaEV4ZWN1dGlvblN0YXR1cy5GQUlMRUQsXG4gICAgICAgIGlucHV0cyxcbiAgICAgICAgZXJyb3I6IGVycm9yUGF5bG9hZCxcbiAgICAgICAgc3RhcnRlZEF0LFxuICAgICAgICBmaW5pc2hlZEF0LFxuICAgICAgICBldmVudHM6IFtdLFxuICAgICAgfTtcbiAgICAgIGZyYW1lLnJlY29yZE5vZGVSZXN1bHQocmVzdWx0KTtcblxuICAgICAgYXdhaXQgdGhpcy5lbWl0RXZlbnQoZnJhbWUsIHtcbiAgICAgICAgdHlwZTogR3JhcGhFeGVjdXRpb25FdmVudFR5cGUuTk9ERV9GQUlMRUQsXG4gICAgICAgIHJ1bklkOiBmcmFtZS5ydW5JZCxcbiAgICAgICAgd29ya2Zsb3dJZDogcGxhbi53b3JrZmxvd0lkLFxuICAgICAgICBub2RlSWQ6IHBsYW5Ob2RlLmlkLFxuICAgICAgICBwYXRoOiBub2RlUGF0aCxcbiAgICAgICAgc3RhdHVzOiBHcmFwaEV4ZWN1dGlvblN0YXR1cy5GQUlMRUQsXG4gICAgICAgIGVycm9yOiBlcnJvclBheWxvYWQsXG4gICAgICB9KTtcblxuICAgICAgaWYgKG9wdHMuZmFpbEZhc3QgPz8gdHJ1ZSkgdGhyb3cgZXJyb3I7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJlc29sdmVzIGEgbm9kZSdzIGlucHV0IHZhbHVlcyBmcm9tIGluY29taW5nIGVkZ2VzLlxuICAgKlxuICAgKiBXaGVuIG11bHRpcGxlIGVkZ2VzIHRhcmdldCB0aGUgc2FtZSBwb3J0LCB0aGVpciB2YWx1ZXMgYXJlIHNwcmVhZCBpbnRvIHRoZVxuICAgKiB0b3AtbGV2ZWwgaW5wdXRzIGtleWVkIGJ5IGVhY2ggZWRnZSdzIGBzb3VyY2VQb3J0YC4gVGhpcyBhbGxvd3MgbXVsdGlwbGVcbiAgICogd29ya2Zsb3cgaW5wdXQgYmFkZ2VzIHRvIGNvbm5lY3QgdG8gYSBzaW5nbGUgcG9ydCAoZS5nLiB0aGUgQ29kZSBub2RlJ3NcbiAgICogYGRhdGFgIHBvcnQpIGFuZCBoYXZlIGFsbCB2YWx1ZXMgYWNjZXNzaWJsZSBkaXJlY3RseSBhc1xuICAgKiBgJGlucHV0Lntzb3VyY2VQb3J0fWAgKGUuZy4gYCRpbnB1dC5jb3VudGAsIGAkaW5wdXQudGV4dGApLlxuICAgKi9cbiAgcHJpdmF0ZSByZXNvbHZlTm9kZUlucHV0cyhcbiAgICBmcmFtZTogR3JhcGhFeGVjdXRpb25GcmFtZSxcbiAgICBwbGFuOiBHcmFwaEV4ZWN1dGlvblBsYW4sXG4gICAgcGxhbk5vZGU6IEdyYXBoRXhlY3V0aW9uUGxhbk5vZGVcbiAgKTogR3JhcGhFeGVjdXRpb25WYWx1ZXMge1xuICAgIGNvbnN0IGlucHV0czogR3JhcGhFeGVjdXRpb25WYWx1ZXMgPSB7fTtcbiAgICBjb25zdCBpbmNvbWluZyA9IHBsYW4uaW5jb21pbmdCeU5vZGUuZ2V0KHBsYW5Ob2RlLmlkKSA/PyBbXTtcblxuICAgIGNvbnN0IGVkZ2VzQnlUYXJnZXQgPSBuZXcgTWFwPHN0cmluZywgdHlwZW9mIGluY29taW5nPigpO1xuICAgIGZvciAoY29uc3QgZWRnZSBvZiBpbmNvbWluZykge1xuICAgICAgY29uc3QgbGlzdCA9IGVkZ2VzQnlUYXJnZXQuZ2V0KGVkZ2UudGFyZ2V0UG9ydCkgPz8gW107XG4gICAgICBsaXN0LnB1c2goZWRnZSk7XG4gICAgICBlZGdlc0J5VGFyZ2V0LnNldChlZGdlLnRhcmdldFBvcnQsIGxpc3QpO1xuICAgIH1cblxuICAgIGZvciAoY29uc3QgW3RhcmdldFBvcnQsIGVkZ2VzXSBvZiBlZGdlc0J5VGFyZ2V0KSB7XG4gICAgICBpZiAoZWRnZXMubGVuZ3RoID09PSAxKSB7XG4gICAgICAgIGlucHV0c1t0YXJnZXRQb3J0XSA9IGZyYW1lLnZhbHVlU3RvcmUuZ2V0UG9ydChcbiAgICAgICAgICBlZGdlc1swXS5zb3VyY2VOb2RlSWQsXG4gICAgICAgICAgZWRnZXNbMF0uc291cmNlUG9ydFxuICAgICAgICApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZm9yIChjb25zdCBlZGdlIG9mIGVkZ2VzKSB7XG4gICAgICAgICAgaW5wdXRzW2VkZ2Uuc291cmNlUG9ydF0gPSBmcmFtZS52YWx1ZVN0b3JlLmdldFBvcnQoXG4gICAgICAgICAgICBlZGdlLnNvdXJjZU5vZGVJZCxcbiAgICAgICAgICAgIGVkZ2Uuc291cmNlUG9ydFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gaW5wdXRzO1xuICB9XG5cbiAgLyoqXG4gICAqIEF0dGVtcHRzIHRvIHJlYWQgYSBwaW5uZWQgdmFsdWUgZm9yIHRoZSBub2RlLiBSZXR1cm5zIHRoZSBjYWNoZWQgb3V0cHV0c1xuICAgKiB3aGVuIGEgdmFsaWQgcGlubmVkIHZhbHVlIGV4aXN0cywgb3IgYHVuZGVmaW5lZGAgdG8gcHJvY2VlZCB3aXRoIG5vcm1hbFxuICAgKiBleGVjdXRpb24uXG4gICAqL1xuICBwcml2YXRlIGFzeW5jIHRyeVBpbm5lZFZhbHVlKFxuICAgIGZyYW1lOiBHcmFwaEV4ZWN1dGlvbkZyYW1lLFxuICAgIHBsYW46IEdyYXBoRXhlY3V0aW9uUGxhbixcbiAgICBwbGFuTm9kZTogR3JhcGhFeGVjdXRpb25QbGFuTm9kZSxcbiAgICBpbnB1dHM6IEdyYXBoRXhlY3V0aW9uVmFsdWVzXG4gICk6IFByb21pc2U8R3JhcGhDYWNoZWRWYWx1ZSB8IHVuZGVmaW5lZD4ge1xuICAgIGNvbnN0IHBvbGljeSA9IG5ldyBHcmFwaFBpbm5pbmdQb2xpY3koKTtcbiAgICBpZiAoIXBvbGljeS5zaG91bGRVc2VQaW5uZWRWYWx1ZShwbGFuTm9kZSkpIHJldHVybiB1bmRlZmluZWQ7XG5cbiAgICBjb25zdCBzZXJ2aWNlID0gdGhpcy5jcmVhdGVQaW5uaW5nU2VydmljZSgpO1xuICAgIGNvbnN0IGRlcEZpbmdlcnByaW50cyA9IHRoaXMuY29tcHV0ZURlcGVuZGVuY3lGaW5nZXJwcmludHMoZnJhbWUsIHBsYW4sIHBsYW5Ob2RlLmlkKTtcbiAgICByZXR1cm4gc2VydmljZS5yZWFkUGlubmVkVmFsdWUoXG4gICAgICBwbGFuLndvcmtmbG93LFxuICAgICAgcGxhbk5vZGUsXG4gICAgICBpbnB1dHMsXG4gICAgICBkZXBGaW5nZXJwcmludHNcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlY3Vyc2l2ZWx5IGNvbXB1dGVzIGZpbmdlcnByaW50cyBmb3IgYWxsIHVwc3RyZWFtIGRlcGVuZGVuY2llcyBvZiBhIG5vZGVcbiAgICogdXNpbmcgdGhlIHJlc3VsdHMgYWxyZWFkeSBhY2N1bXVsYXRlZCBpbiB0aGUgZnJhbWUuXG4gICAqL1xuICBwcml2YXRlIGNvbXB1dGVEZXBlbmRlbmN5RmluZ2VycHJpbnRzKFxuICAgIGZyYW1lOiBHcmFwaEV4ZWN1dGlvbkZyYW1lLFxuICAgIHBsYW46IEdyYXBoRXhlY3V0aW9uUGxhbixcbiAgICBub2RlSWQ6IHN0cmluZ1xuICApOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHtcbiAgICBjb25zdCBzZXJ2aWNlID0gdGhpcy5jcmVhdGVQaW5uaW5nU2VydmljZSgpO1xuICAgIGNvbnN0IGRlcFJlc29sdmVyID0gbmV3IEdyYXBoUGlubmluZ0RlcGVuZGVuY3lSZXNvbHZlcigpO1xuICAgIGNvbnN0IGRlcHMgPSBkZXBSZXNvbHZlci5nZXREZXBlbmRlbmNpZXMocGxhbiwgbm9kZUlkKTtcbiAgICBjb25zdCBmaW5nZXJwcmludHM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7fTtcbiAgICBmb3IgKGNvbnN0IGRlcCBvZiBkZXBzKSB7XG4gICAgICBjb25zdCBub2RlID0gcGxhbi5ub2Rlcy5maW5kKChuKSA9PiBuLmlkID09PSBkZXApO1xuICAgICAgaWYgKG5vZGUpIHtcbiAgICAgICAgY29uc3QgZGVwUmVzdWx0ID0gZnJhbWUubm9kZVJlc3VsdHMuZ2V0KGRlcCk7XG4gICAgICAgIGNvbnN0IGlucHV0cyA9IGRlcFJlc3VsdD8uaW5wdXRzID8/IHt9O1xuICAgICAgICBjb25zdCBuZXN0ZWREZXBzID0gdGhpcy5jb21wdXRlRGVwZW5kZW5jeUZpbmdlcnByaW50cyhmcmFtZSwgcGxhbiwgZGVwKTtcbiAgICAgICAgZmluZ2VycHJpbnRzW2RlcF0gPSBzZXJ2aWNlLmNvbXB1dGVGaW5nZXJwcmludChcbiAgICAgICAgICBwbGFuLndvcmtmbG93LFxuICAgICAgICAgIG5vZGUsXG4gICAgICAgICAgaW5wdXRzLFxuICAgICAgICAgIG5lc3RlZERlcHNcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZpbmdlcnByaW50cztcbiAgfVxuXG4gIC8qKlxuICAgKiBSb3V0ZXMgYSBub2RlJ3Mgb3V0cHV0cyB0byBkb3duc3RyZWFtIGlucHV0cyBhbmQgd29ya2Zsb3cgb3V0cHV0cy5cbiAgICovXG4gIHByaXZhdGUgcm91dGVPdXRnb2luZ0VkZ2VzKFxuICAgIGZyYW1lOiBHcmFwaEV4ZWN1dGlvbkZyYW1lLFxuICAgIHBsYW46IEdyYXBoRXhlY3V0aW9uUGxhbixcbiAgICBwbGFuTm9kZTogR3JhcGhFeGVjdXRpb25QbGFuTm9kZSxcbiAgICBvdXRwdXRzOiBHcmFwaEV4ZWN1dGlvblZhbHVlc1xuICApOiB2b2lkIHtcbiAgICBjb25zdCBvdXRnb2luZyA9IHBsYW4ub3V0Z29pbmdCeU5vZGUuZ2V0KHBsYW5Ob2RlLmlkKSA/PyBbXTtcbiAgICBmb3IgKGNvbnN0IGVkZ2Ugb2Ygb3V0Z29pbmcpIHtcbiAgICAgIGNvbnN0IHZhbHVlID0gb3V0cHV0c1tlZGdlLnNvdXJjZVBvcnRdO1xuICAgICAgaWYgKGVkZ2UudGFyZ2V0Tm9kZUlkID09PSBHUkFQSF9XT1JLRkxPV19CT1VOREFSWSkge1xuICAgICAgICBmcmFtZS52YWx1ZVN0b3JlLnNldFdvcmtmbG93T3V0cHV0KGVkZ2UudGFyZ2V0UG9ydCwgdmFsdWUpO1xuICAgICAgfVxuICAgICAgdGhpcy5lbWl0RXZlbnQoZnJhbWUsIHtcbiAgICAgICAgdHlwZTogR3JhcGhFeGVjdXRpb25FdmVudFR5cGUuRURHRV9WQUxVRV9ST1VURUQsXG4gICAgICAgIHJ1bklkOiBmcmFtZS5ydW5JZCxcbiAgICAgICAgd29ya2Zsb3dJZDogcGxhbi53b3JrZmxvd0lkLFxuICAgICAgICBlZGdlSWQ6IGVkZ2UuaWQsXG4gICAgICAgIG5vZGVJZDogcGxhbk5vZGUuaWQsXG4gICAgICAgIHBhdGg6IFtdLFxuICAgICAgICBwYXlsb2FkOiB7IGVkZ2UsIHZhbHVlIH0sXG4gICAgICB9KS5jYXRjaCgoKSA9PiB7XG4gICAgICAgIC8vIG9ic2VydmVyIGZhaWx1cmVzIG11c3Qgbm90IGNyYXNoXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRW1pdHMgYW4gZXZlbnQsIHJlY29yZHMgaXQgaW4gdGhlIGZyYW1lLCBhbmQgZGlzcGF0Y2hlcyB0byBvYnNlcnZlcnMuXG4gICAqL1xuICBwcml2YXRlIGFzeW5jIGVtaXRFdmVudChcbiAgICBmcmFtZTogR3JhcGhFeGVjdXRpb25GcmFtZSxcbiAgICBwYXJ0aWFsOiBQYXJ0aWFsPEdyYXBoRXhlY3V0aW9uRXZlbnQ+ICYge1xuICAgICAgdHlwZTogR3JhcGhFeGVjdXRpb25FdmVudFR5cGU7XG4gICAgICBydW5JZDogR3JhcGhSdW5JZDtcbiAgICAgIHdvcmtmbG93SWQ6IHN0cmluZztcbiAgICAgIHBhdGg6IHN0cmluZ1tdO1xuICAgIH1cbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgZXZlbnQgPSBmcmFtZS5ldmVudEZhY3RvcnkuY3JlYXRlKHtcbiAgICAgIGlkOiBcIlwiLFxuICAgICAgc2VxdWVuY2U6IDAsXG4gICAgICB0aW1lc3RhbXA6IG5ldyBEYXRlKCksXG4gICAgICAuLi5wYXJ0aWFsLFxuICAgIH0gYXMgT21pdDxHcmFwaEV4ZWN1dGlvbkV2ZW50LCBcImlkXCIgfCBcInNlcXVlbmNlXCIgfCBcInRpbWVzdGFtcFwiPik7XG4gICAgZnJhbWUuYXBwZW5kRXZlbnQoZXZlbnQpO1xuICAgIGF3YWl0IHRoaXMuZW1pdHRlci51cGRhdGVPYnNlcnZlcnMoZXZlbnQpO1xuICB9XG5cbiAgLyoqXG4gICAqIE1lcmdlcyBkZWZhdWx0IG9wdGlvbnMgd2l0aCB0aGUgZ2l2ZW4gb3B0aW9ucy5cbiAgICovXG4gIHByaXZhdGUgbWVyZ2VPcHRpb25zKFxuICAgIG9wdGlvbnM6IEdyYXBoRXhlY3V0aW9uT3B0aW9uc1xuICApOiBHcmFwaEV4ZWN1dGlvbk9wdGlvbnMge1xuICAgIHJldHVybiB7XG4gICAgICBjb25jdXJyZW5jeTogR1JBUEhfREVGQVVMVF9DT05DVVJSRU5DWSxcbiAgICAgIGZhaWxGYXN0OiB0cnVlLFxuICAgICAgdmFsaWRhdGVJbnB1dHM6IHRydWUsXG4gICAgICB2YWxpZGF0ZU91dHB1dHM6IHRydWUsXG4gICAgICB1c2VQaW5uZWRWYWx1ZXM6IHRydWUsXG4gICAgICB3cml0ZVRocm91Z2hDYWNoZTogZmFsc2UsXG4gICAgICBwYXRoOiBbXSxcbiAgICAgIG1ldGFkYXRhOiB7fSxcbiAgICAgIC4uLnRoaXMuZGVmYXVsdE9wdGlvbnMsXG4gICAgICAuLi5vcHRpb25zLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogR2VuZXJhdGVzIGEgdW5pcXVlIHJ1biBpZC5cbiAgICovXG4gIHByaXZhdGUgZ2VuZXJhdGVSdW5JZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiAoXG4gICAgICBnbG9iYWxUaGlzLmNyeXB0bz8ucmFuZG9tVVVJRD8uKCkgPz9cbiAgICAgIGBncmFwaC1ydW4tJHtEYXRlLm5vdygpfS0ke01hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnNsaWNlKDIpfWBcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlcnRzIGFuIGVycm9yIGludG8gYSBzZXJpYWxpemVkIHBheWxvYWQuXG4gICAqL1xuICBwcml2YXRlIHRvRXJyb3JQYXlsb2FkKGVycm9yOiB1bmtub3duKTogR3JhcGhFeGVjdXRpb25FcnJvclBheWxvYWQge1xuICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBuYW1lOiBlcnJvci5uYW1lLFxuICAgICAgICBtZXNzYWdlOiBlcnJvci5tZXNzYWdlLFxuICAgICAgICBzdGFjazogZXJyb3Iuc3RhY2ssXG4gICAgICAgIGNvZGU6XG4gICAgICAgICAgKGVycm9yIGFzIGFueSkuZ3JhcGhDb2RlID8/XG4gICAgICAgICAgKHR5cGVvZiAoZXJyb3IgYXMgYW55KS5jb2RlID09PSBcIm51bWJlclwiXG4gICAgICAgICAgICA/IFN0cmluZygoZXJyb3IgYXMgYW55KS5jb2RlKVxuICAgICAgICAgICAgOiAoZXJyb3IgYXMgYW55KS5jb2RlKSxcbiAgICAgIH07XG4gICAgfVxuICAgIHJldHVybiB7IG5hbWU6IFwiVW5rbm93bkVycm9yXCIsIG1lc3NhZ2U6IFN0cmluZyhlcnJvcikgfTtcbiAgfVxufVxuIl19
@@ -24,4 +24,4 @@ export class GraphExecutionFrame {
24
24
  this.finishedAt = new Date();
25
25
  }
26
26
  }
27
- //# sourceMappingURL=GraphExecutionFrame.js.map
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JhcGhFeGVjdXRpb25GcmFtZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9ncmFwaC9lbmdpbmUvZXhlY3V0aW9uL0dyYXBoRXhlY3V0aW9uRnJhbWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBY0E7O0dBRUc7QUFDSCxNQUFNLE9BQU8sbUJBQW1CO0lBVzlCLFlBQ0UsS0FBaUIsRUFDakIsSUFBd0IsRUFDeEIsVUFBMkIsRUFDM0IsWUFBd0M7UUFUakMsZ0JBQVcsR0FBMEMsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUMvRCxXQUFNLEdBQTBCLEVBQUUsQ0FBQztRQVUxQyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUM3QixJQUFJLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQztRQUNqQyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVELHVDQUF1QztJQUN2QyxnQkFBZ0IsQ0FBQyxNQUFnQztRQUMvQyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRCwrQ0FBK0M7SUFDL0MsV0FBVyxDQUFDLEtBQTBCO1FBQ3BDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFFRCxpQ0FBaUM7SUFDakMsTUFBTTtRQUNKLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztJQUMvQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBtb2R1bGUgaW50ZWdyYXRpb25zL2dyYXBoL2V4ZWN1dGlvbi9HcmFwaEV4ZWN1dGlvbkZyYW1lXG4gKiBAc3VtbWFyeSBQZXItcnVuIHN0YXRlIGNvbnRhaW5lciBmb3IgZ3JhcGggZXhlY3V0aW9uLlxuICogQGRlc2NyaXB0aW9uIEhvbGRzIHRoZSBydW4gaWQsIGV4ZWN1dGlvbiBwbGFuLCB2YWx1ZSBzdG9yZSwgYWNjdW11bGF0ZWQgbm9kZSByZXN1bHRzLCBldmVudHMsIGFuZCB0aW1pbmcgZm9yIGEgc2luZ2xlIHdvcmtmbG93IGV4ZWN1dGlvbi5cbiAqL1xuaW1wb3J0IHR5cGUgeyBHcmFwaEV4ZWN1dGlvblBsYW4gfSBmcm9tIFwiLi4vcGxhbm5pbmcvR3JhcGhFeGVjdXRpb25QbGFuXCI7XG5pbXBvcnQgdHlwZSB7IEdyYXBoVmFsdWVTdG9yZSB9IGZyb20gXCIuLi9zdG9yZS9HcmFwaFZhbHVlU3RvcmVcIjtcbmltcG9ydCB0eXBlIHsgR3JhcGhFeGVjdXRpb25FdmVudEZhY3RvcnkgfSBmcm9tIFwiLi4vZXZlbnRzL0dyYXBoRXhlY3V0aW9uRXZlbnRGYWN0b3J5XCI7XG5pbXBvcnQgdHlwZSB7XG4gIEdyYXBoRXhlY3V0aW9uRXZlbnQsXG4gIEdyYXBoTm9kZUV4ZWN1dGlvblJlc3VsdCxcbiAgR3JhcGhSdW5JZCxcbn0gZnJvbSBcIi4uL3R5cGVzXCI7XG5cbi8qKlxuICogTXV0YWJsZSBzdGF0ZSBmb3IgYSBzaW5nbGUgZ3JhcGggZXhlY3V0aW9uIHJ1bi5cbiAqL1xuZXhwb3J0IGNsYXNzIEdyYXBoRXhlY3V0aW9uRnJhbWUge1xuICByZWFkb25seSBydW5JZDogR3JhcGhSdW5JZDtcbiAgcmVhZG9ubHkgcGxhbjogR3JhcGhFeGVjdXRpb25QbGFuO1xuICByZWFkb25seSB2YWx1ZVN0b3JlOiBHcmFwaFZhbHVlU3RvcmU7XG4gIHJlYWRvbmx5IGV2ZW50RmFjdG9yeTogR3JhcGhFeGVjdXRpb25FdmVudEZhY3Rvcnk7XG4gIHJlYWRvbmx5IHN0YXJ0ZWRBdDogRGF0ZTtcbiAgcmVhZG9ubHkgbm9kZVJlc3VsdHM6IE1hcDxzdHJpbmcsIEdyYXBoTm9kZUV4ZWN1dGlvblJlc3VsdD4gPSBuZXcgTWFwKCk7XG4gIHJlYWRvbmx5IGV2ZW50czogR3JhcGhFeGVjdXRpb25FdmVudFtdID0gW107XG5cbiAgZmluaXNoZWRBdD86IERhdGU7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcnVuSWQ6IEdyYXBoUnVuSWQsXG4gICAgcGxhbjogR3JhcGhFeGVjdXRpb25QbGFuLFxuICAgIHZhbHVlU3RvcmU6IEdyYXBoVmFsdWVTdG9yZSxcbiAgICBldmVudEZhY3Rvcnk6IEdyYXBoRXhlY3V0aW9uRXZlbnRGYWN0b3J5XG4gICkge1xuICAgIHRoaXMucnVuSWQgPSBydW5JZDtcbiAgICB0aGlzLnBsYW4gPSBwbGFuO1xuICAgIHRoaXMudmFsdWVTdG9yZSA9IHZhbHVlU3RvcmU7XG4gICAgdGhpcy5ldmVudEZhY3RvcnkgPSBldmVudEZhY3Rvcnk7XG4gICAgdGhpcy5zdGFydGVkQXQgPSBuZXcgRGF0ZSgpO1xuICB9XG5cbiAgLyoqIFJlY29yZHMgYSBub2RlIGV4ZWN1dGlvbiByZXN1bHQuICovXG4gIHJlY29yZE5vZGVSZXN1bHQocmVzdWx0OiBHcmFwaE5vZGVFeGVjdXRpb25SZXN1bHQpOiB2b2lkIHtcbiAgICB0aGlzLm5vZGVSZXN1bHRzLnNldChyZXN1bHQubm9kZUlkLCByZXN1bHQpO1xuICB9XG5cbiAgLyoqIEFwcGVuZHMgYW4gZXZlbnQgdG8gdGhlIHJ1bidzIGV2ZW50IGxvZy4gKi9cbiAgYXBwZW5kRXZlbnQoZXZlbnQ6IEdyYXBoRXhlY3V0aW9uRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLmV2ZW50cy5wdXNoKGV2ZW50KTtcbiAgfVxuXG4gIC8qKiBNYXJrcyB0aGUgcnVuIGFzIGZpbmlzaGVkLiAqL1xuICBmaW5pc2goKTogdm9pZCB7XG4gICAgdGhpcy5maW5pc2hlZEF0ID0gbmV3IERhdGUoKTtcbiAgfVxufVxuIl19
@@ -23,4 +23,4 @@ export function buildGraphExecutionResult(frame, workflow, inputs, status, metad
23
23
  metadata,
24
24
  };
25
25
  }
26
- //# sourceMappingURL=GraphExecutionResult.js.map
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JhcGhFeGVjdXRpb25SZXN1bHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZ3JhcGgvZW5naW5lL2V4ZWN1dGlvbi9HcmFwaEV4ZWN1dGlvblJlc3VsdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFVQTs7R0FFRztBQUNILE1BQU0sVUFBVSx5QkFBeUIsQ0FDdkMsS0FBMEIsRUFDMUIsUUFBaUMsRUFDakMsTUFBNEIsRUFDNUIsTUFBNEIsRUFDNUIsUUFBa0M7SUFFbEMsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQ3JELE1BQU0sV0FBVyxHQUE2QyxFQUFFLENBQUM7SUFDakUsS0FBSyxNQUFNLENBQUMsRUFBRSxFQUFFLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUM3QyxXQUFXLENBQUMsRUFBRSxDQUFDLEdBQUcsTUFBTSxDQUFDO0lBQzNCLENBQUM7SUFDRCxNQUFNLE1BQU0sR0FBMEIsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN4RCxNQUFNLEtBQUssR0FBZSxLQUFLLENBQUMsS0FBSyxDQUFDO0lBRXRDLE9BQU87UUFDTCxLQUFLO1FBQ0wsVUFBVSxFQUFFLFFBQVEsQ0FBQyxJQUFJO1FBQ3pCLE1BQU07UUFDTixRQUFRO1FBQ1IsTUFBTSxFQUFFLEVBQUUsR0FBRyxNQUFNLEVBQUU7UUFDckIsT0FBTztRQUNQLFdBQVc7UUFDWCxNQUFNO1FBQ04sU0FBUyxFQUFFLEtBQUssQ0FBQyxTQUFTO1FBQzFCLFVBQVUsRUFBRSxLQUFLLENBQUMsVUFBVTtRQUM1QixRQUFRO0tBQ1QsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBtb2R1bGUgaW50ZWdyYXRpb25zL2dyYXBoL2V4ZWN1dGlvbi9HcmFwaEV4ZWN1dGlvblJlc3VsdFxuICogQHN1bW1hcnkgSGVscGVyIGZvciBidWlsZGluZyBHcmFwaEV4ZWN1dGlvblJlc3VsdCBvYmplY3RzLlxuICogQGRlc2NyaXB0aW9uIFByb3ZpZGVzIGEgYnVpbGRlciBmdW5jdGlvbiB0aGF0IGFzc2VtYmxlcyBhIHJlc3VsdCBmcm9tIGEgZnJhbWUuXG4gKi9cbmltcG9ydCB0eXBlIHsgR3JhcGhFeGVjdXRpb25GcmFtZSB9IGZyb20gXCIuL0dyYXBoRXhlY3V0aW9uRnJhbWVcIjtcbmltcG9ydCB0eXBlIHsgR3JhcGhFeGVjdXRpb25FdmVudCwgR3JhcGhFeGVjdXRpb25SZXN1bHQsIEdyYXBoRXhlY3V0aW9uVmFsdWVzLCBHcmFwaE5vZGVFeGVjdXRpb25SZXN1bHQsIEdyYXBoUnVuSWQgfSBmcm9tIFwiLi4vdHlwZXNcIjtcbmltcG9ydCB0eXBlIHsgR3JhcGhFeGVjdXRpb25TdGF0dXMgfSBmcm9tIFwiLi4vLi4vc2hhcmVkL2NvbnN0YW50c1wiO1xuaW1wb3J0IHR5cGUgeyBHcmFwaFdvcmtmbG93RGVmaW5pdGlvbiB9IGZyb20gXCJAZGVjYWYtdHMvdWktZGVjb3JhdG9ycy9ncmFwaFwiO1xuXG4vKipcbiAqIEJ1aWxkcyBhIHtAbGluayBHcmFwaEV4ZWN1dGlvblJlc3VsdH0gZnJvbSBhIGNvbXBsZXRlZCBmcmFtZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkR3JhcGhFeGVjdXRpb25SZXN1bHQoXG4gIGZyYW1lOiBHcmFwaEV4ZWN1dGlvbkZyYW1lLFxuICB3b3JrZmxvdzogR3JhcGhXb3JrZmxvd0RlZmluaXRpb24sXG4gIGlucHV0czogR3JhcGhFeGVjdXRpb25WYWx1ZXMsXG4gIHN0YXR1czogR3JhcGhFeGVjdXRpb25TdGF0dXMsXG4gIG1ldGFkYXRhPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbik6IEdyYXBoRXhlY3V0aW9uUmVzdWx0IHtcbiAgY29uc3Qgb3V0cHV0cyA9IGZyYW1lLnZhbHVlU3RvcmUuZ2V0V29ya2Zsb3dWYWx1ZXMoKTtcbiAgY29uc3Qgbm9kZVJlc3VsdHM6IFJlY29yZDxzdHJpbmcsIEdyYXBoTm9kZUV4ZWN1dGlvblJlc3VsdD4gPSB7fTtcbiAgZm9yIChjb25zdCBbaWQsIHJlc3VsdF0gb2YgZnJhbWUubm9kZVJlc3VsdHMpIHtcbiAgICBub2RlUmVzdWx0c1tpZF0gPSByZXN1bHQ7XG4gIH1cbiAgY29uc3QgZXZlbnRzOiBHcmFwaEV4ZWN1dGlvbkV2ZW50W10gPSBbLi4uZnJhbWUuZXZlbnRzXTtcbiAgY29uc3QgcnVuSWQ6IEdyYXBoUnVuSWQgPSBmcmFtZS5ydW5JZDtcblxuICByZXR1cm4ge1xuICAgIHJ1bklkLFxuICAgIHdvcmtmbG93SWQ6IHdvcmtmbG93Lm5hbWUsXG4gICAgc3RhdHVzLFxuICAgIHdvcmtmbG93LFxuICAgIGlucHV0czogeyAuLi5pbnB1dHMgfSxcbiAgICBvdXRwdXRzLFxuICAgIG5vZGVSZXN1bHRzLFxuICAgIGV2ZW50cyxcbiAgICBzdGFydGVkQXQ6IGZyYW1lLnN0YXJ0ZWRBdCxcbiAgICBmaW5pc2hlZEF0OiBmcmFtZS5maW5pc2hlZEF0LFxuICAgIG1ldGFkYXRhLFxuICB9O1xufVxuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=GraphNodeExecutor.js.map
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JhcGhOb2RlRXhlY3V0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZ3JhcGgvZW5naW5lL2V4ZWN1dGlvbi9HcmFwaE5vZGVFeGVjdXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbW9kdWxlIGludGVncmF0aW9ucy9ncmFwaC9leGVjdXRpb24vR3JhcGhOb2RlRXhlY3V0b3JcbiAqIEBzdW1tYXJ5IEludGVyZmFjZSBpbXBsZW1lbnRlZCBieSBldmVyeSBncmFwaCBub2RlIGV4ZWN1dG9yLlxuICogQGRlc2NyaXB0aW9uIEEgbm9kZSBleGVjdXRvciByZWNlaXZlcyB0aGUgbm9kZSdzIHJlc29sdmVkIGlucHV0IHZhbHVlcyBhbmQgYSB7QGxpbmsgR3JhcGhFeGVjdXRpb25Db250ZXh0fSwgYW5kIHJldHVybnMgdGhlIG5vZGUncyBvdXRwdXQgdmFsdWVzLlxuICovXG5pbXBvcnQgdHlwZSB7IEdyYXBoRXhlY3V0aW9uQ29udGV4dCB9IGZyb20gXCIuL0dyYXBoRXhlY3V0aW9uQ29udGV4dFwiO1xuaW1wb3J0IHR5cGUgeyBHcmFwaEV4ZWN1dGlvblZhbHVlcyB9IGZyb20gXCIuLi90eXBlc1wiO1xuXG4vKipcbiAqIEV4ZWN1dG9yIGZvciBhIHNwZWNpZmljIGdyYXBoIG5vZGUga2luZC5cbiAqXG4gKiBJbXBsZW1lbnRhdGlvbnMgYXJlIHJlZ2lzdGVyZWQgaW4gdGhlIHtAbGluayBHcmFwaE5vZGVFeGVjdXRvclJlZ2lzdHJ5fVxuICogYW5kIHJlc29sdmVkIGJ5IHRoZSBlbmdpbmUgdXNpbmcgdGhlIG5vZGUncyBga2luZGAuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR3JhcGhOb2RlRXhlY3V0b3I8XG4gIElucHV0IGV4dGVuZHMgR3JhcGhFeGVjdXRpb25WYWx1ZXMgPSBHcmFwaEV4ZWN1dGlvblZhbHVlcyxcbiAgT3V0cHV0IGV4dGVuZHMgR3JhcGhFeGVjdXRpb25WYWx1ZXMgPSBHcmFwaEV4ZWN1dGlvblZhbHVlcyxcbj4ge1xuICAvKipcbiAgICogRXhlY3V0ZXMgdGhlIG5vZGUgbG9naWMuXG4gICAqXG4gICAqIEBwYXJhbSBpbnB1dCAtIFJlc29sdmVkIGlucHV0IHZhbHVlcyBrZXllZCBieSBwb3J0IG5hbWUuXG4gICAqIEBwYXJhbSBjb250ZXh0IC0gRGVjYWYgY29udGV4dCBmb3IgZW1pdHRpbmcgcHJvZ3Jlc3MgYW5kIGV2ZW50cy5cbiAgICogQHJldHVybnMgVGhlIG5vZGUncyBvdXRwdXQgdmFsdWVzIGtleWVkIGJ5IHBvcnQgbmFtZS5cbiAgICovXG4gIGV4ZWN1dGUoXG4gICAgaW5wdXQ6IElucHV0LFxuICAgIGNvbnRleHQ6IEdyYXBoRXhlY3V0aW9uQ29udGV4dFxuICApOiBQcm9taXNlPE91dHB1dD4gfCBPdXRwdXQ7XG59XG4iXX0=