@decaf-ts/integrations 0.3.11 → 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 (941) 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 +28 -31
  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 +128 -2
  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 +3 -2
  58. package/lib/cjs/graph/engine/index.cjs +3 -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 +92 -11
  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 +2 -2
  132. package/lib/cjs/namespaces/models/group-membership.model.cjs +2 -2
  133. package/lib/cjs/namespaces/models/group.model.cjs +2 -2
  134. package/lib/cjs/namespaces/models/index.cjs +2 -2
  135. package/lib/cjs/namespaces/models/inheritance-block.model.cjs +2 -2
  136. package/lib/cjs/namespaces/models/org-unit-closure.model.cjs +2 -2
  137. package/lib/cjs/namespaces/models/org-unit-membership.model.cjs +2 -2
  138. package/lib/cjs/namespaces/models/org-unit-profile.model.cjs +2 -2
  139. package/lib/cjs/namespaces/models/org-unit.model.cjs +2 -2
  140. package/lib/cjs/namespaces/models/permission.model.cjs +2 -2
  141. package/lib/cjs/namespaces/models/principal.model.cjs +2 -2
  142. package/lib/cjs/namespaces/models/protected-resource.model.cjs +2 -2
  143. package/lib/cjs/namespaces/models/resource-grant.model.cjs +2 -2
  144. package/lib/cjs/namespaces/models/role-assignment.model.cjs +2 -2
  145. package/lib/cjs/namespaces/models/role-permission.model.cjs +2 -2
  146. package/lib/cjs/namespaces/models/role.model.cjs +2 -2
  147. package/lib/cjs/namespaces/models/storage-binding.model.cjs +2 -2
  148. package/lib/cjs/namespaces/models/tenant-membership.model.cjs +2 -2
  149. package/lib/cjs/namespaces/models/tenant-profile.model.cjs +2 -2
  150. package/lib/cjs/namespaces/models/tenant.model.cjs +2 -2
  151. package/lib/cjs/namespaces/models/user.model.cjs +2 -2
  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 +2 -2
  155. package/lib/cjs/namespaces/services/authz.service.cjs +2 -2
  156. package/lib/cjs/namespaces/services/bootstrap.service.cjs +2 -2
  157. package/lib/cjs/namespaces/services/effective-permission.service.cjs +2 -2
  158. package/lib/cjs/namespaces/services/group-membership.service.cjs +2 -2
  159. package/lib/cjs/namespaces/services/group.service.cjs +2 -2
  160. package/lib/cjs/namespaces/services/index.cjs +2 -2
  161. package/lib/cjs/namespaces/services/inheritance-block.service.cjs +2 -2
  162. package/lib/cjs/namespaces/services/org-unit-closure.service.cjs +2 -2
  163. package/lib/cjs/namespaces/services/org-unit-membership.service.cjs +2 -2
  164. package/lib/cjs/namespaces/services/org-unit-profile.service.cjs +2 -2
  165. package/lib/cjs/namespaces/services/org-unit.service.cjs +2 -2
  166. package/lib/cjs/namespaces/services/permission.service.cjs +2 -2
  167. package/lib/cjs/namespaces/services/principal.service.cjs +2 -2
  168. package/lib/cjs/namespaces/services/protected-resource.service.cjs +2 -2
  169. package/lib/cjs/namespaces/services/resource-grant.service.cjs +2 -2
  170. package/lib/cjs/namespaces/services/resource-lifecycle.service.cjs +2 -2
  171. package/lib/cjs/namespaces/services/role-assignment.service.cjs +2 -2
  172. package/lib/cjs/namespaces/services/role-permission.service.cjs +2 -2
  173. package/lib/cjs/namespaces/services/role.service.cjs +2 -2
  174. package/lib/cjs/namespaces/services/storage-binding.service.cjs +2 -2
  175. package/lib/cjs/namespaces/services/system-management.service.cjs +2 -2
  176. package/lib/cjs/namespaces/services/tenant-membership.service.cjs +2 -2
  177. package/lib/cjs/namespaces/services/tenant-profile.service.cjs +2 -2
  178. package/lib/cjs/namespaces/services/tenant.service.cjs +2 -2
  179. package/lib/cjs/namespaces/services/user.service.cjs +2 -2
  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 +13 -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 +27 -30
  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 +127 -1
  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 +2 -1
  283. package/lib/esm/graph/engine/index.js +2 -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 +91 -10
  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 +1 -1
  357. package/lib/esm/namespaces/models/group-membership.model.js +1 -1
  358. package/lib/esm/namespaces/models/group.model.js +1 -1
  359. package/lib/esm/namespaces/models/index.js +1 -1
  360. package/lib/esm/namespaces/models/inheritance-block.model.js +1 -1
  361. package/lib/esm/namespaces/models/org-unit-closure.model.js +1 -1
  362. package/lib/esm/namespaces/models/org-unit-membership.model.js +1 -1
  363. package/lib/esm/namespaces/models/org-unit-profile.model.js +1 -1
  364. package/lib/esm/namespaces/models/org-unit.model.js +1 -1
  365. package/lib/esm/namespaces/models/permission.model.js +1 -1
  366. package/lib/esm/namespaces/models/principal.model.js +1 -1
  367. package/lib/esm/namespaces/models/protected-resource.model.js +1 -1
  368. package/lib/esm/namespaces/models/resource-grant.model.js +1 -1
  369. package/lib/esm/namespaces/models/role-assignment.model.js +1 -1
  370. package/lib/esm/namespaces/models/role-permission.model.js +1 -1
  371. package/lib/esm/namespaces/models/role.model.js +1 -1
  372. package/lib/esm/namespaces/models/storage-binding.model.js +1 -1
  373. package/lib/esm/namespaces/models/tenant-membership.model.js +1 -1
  374. package/lib/esm/namespaces/models/tenant-profile.model.js +1 -1
  375. package/lib/esm/namespaces/models/tenant.model.js +1 -1
  376. package/lib/esm/namespaces/models/user.model.js +1 -1
  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 +1 -1
  380. package/lib/esm/namespaces/services/authz.service.js +1 -1
  381. package/lib/esm/namespaces/services/bootstrap.service.js +1 -1
  382. package/lib/esm/namespaces/services/effective-permission.service.js +1 -1
  383. package/lib/esm/namespaces/services/group-membership.service.js +1 -1
  384. package/lib/esm/namespaces/services/group.service.js +1 -1
  385. package/lib/esm/namespaces/services/index.js +1 -1
  386. package/lib/esm/namespaces/services/inheritance-block.service.js +1 -1
  387. package/lib/esm/namespaces/services/org-unit-closure.service.js +1 -1
  388. package/lib/esm/namespaces/services/org-unit-membership.service.js +1 -1
  389. package/lib/esm/namespaces/services/org-unit-profile.service.js +1 -1
  390. package/lib/esm/namespaces/services/org-unit.service.js +1 -1
  391. package/lib/esm/namespaces/services/permission.service.js +1 -1
  392. package/lib/esm/namespaces/services/principal.service.js +1 -1
  393. package/lib/esm/namespaces/services/protected-resource.service.js +1 -1
  394. package/lib/esm/namespaces/services/resource-grant.service.js +1 -1
  395. package/lib/esm/namespaces/services/resource-lifecycle.service.js +1 -1
  396. package/lib/esm/namespaces/services/role-assignment.service.js +1 -1
  397. package/lib/esm/namespaces/services/role-permission.service.js +1 -1
  398. package/lib/esm/namespaces/services/role.service.js +1 -1
  399. package/lib/esm/namespaces/services/storage-binding.service.js +1 -1
  400. package/lib/esm/namespaces/services/system-management.service.js +1 -1
  401. package/lib/esm/namespaces/services/tenant-membership.service.js +1 -1
  402. package/lib/esm/namespaces/services/tenant-profile.service.js +1 -1
  403. package/lib/esm/namespaces/services/tenant.service.js +1 -1
  404. package/lib/esm/namespaces/services/user.service.js +1 -1
  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 +13 -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 +17 -17
  454. package/lib/types/graph/engine/execution/CodeGraphNodeExecutor.d.mts +17 -17
  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 +18 -0
  460. package/lib/types/graph/engine/execution/IsolatedVmCodeSandboxEvaluator.d.mts +18 -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 +1 -0
  466. package/lib/types/graph/engine/execution/index.d.mts +1 -0
  467. package/lib/types/graph/engine/index.d.cts +1 -0
  468. package/lib/types/graph/engine/index.d.mts +1 -0
  469. package/lib/types/graph/shared/nodes/flow-control.d.cts +29 -3
  470. package/lib/types/graph/shared/nodes/flow-control.d.mts +29 -3
  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 +9 -9
  482. package/lib/types/nest/graph/GraphExecutorRegistryFactory.d.mts +9 -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 +1 -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/CodeGraphNodeExecutor.cjs.map +0 -1
  539. package/lib/cjs/graph/engine/execution/CodeSandboxEvaluator.cjs.map +0 -1
  540. package/lib/cjs/graph/engine/execution/GraphExecutionContext.cjs.map +0 -1
  541. package/lib/cjs/graph/engine/execution/GraphExecutionEngine.cjs.map +0 -1
  542. package/lib/cjs/graph/engine/execution/GraphExecutionFrame.cjs.map +0 -1
  543. package/lib/cjs/graph/engine/execution/GraphExecutionResult.cjs.map +0 -1
  544. package/lib/cjs/graph/engine/execution/GraphNodeExecutor.cjs.map +0 -1
  545. package/lib/cjs/graph/engine/execution/IsolatedVmCodeSandboxEvaluator.cjs.map +0 -1
  546. package/lib/cjs/graph/engine/execution/SwitchGraphNodeExecutor.cjs.map +0 -1
  547. package/lib/cjs/graph/engine/execution/index.cjs.map +0 -1
  548. package/lib/cjs/graph/engine/index.cjs.map +0 -1
  549. package/lib/cjs/graph/engine/loops/ConditionExpressionEvaluator.cjs.map +0 -1
  550. package/lib/cjs/graph/engine/loops/ForeachGraphNodeExecutor.cjs.map +0 -1
  551. package/lib/cjs/graph/engine/loops/GraphConditionEvaluator.cjs.map +0 -1
  552. package/lib/cjs/graph/engine/loops/GraphLoopExecutionContext.cjs.map +0 -1
  553. package/lib/cjs/graph/engine/loops/UntilGraphNodeExecutor.cjs.map +0 -1
  554. package/lib/cjs/graph/engine/loops/WhileGraphNodeExecutor.cjs.map +0 -1
  555. package/lib/cjs/graph/engine/loops/index.cjs.map +0 -1
  556. package/lib/cjs/graph/engine/pinning/GraphPinningDependencyResolver.cjs.map +0 -1
  557. package/lib/cjs/graph/engine/pinning/GraphPinningMetadata.cjs.map +0 -1
  558. package/lib/cjs/graph/engine/pinning/GraphPinningPolicy.cjs.map +0 -1
  559. package/lib/cjs/graph/engine/pinning/GraphPinningService.cjs.map +0 -1
  560. package/lib/cjs/graph/engine/pinning/index.cjs.map +0 -1
  561. package/lib/cjs/graph/engine/planning/GraphExecutionPlan.cjs.map +0 -1
  562. package/lib/cjs/graph/engine/planning/GraphExecutionPlanEdge.cjs.map +0 -1
  563. package/lib/cjs/graph/engine/planning/GraphExecutionPlanLayer.cjs.map +0 -1
  564. package/lib/cjs/graph/engine/planning/GraphExecutionPlanNode.cjs.map +0 -1
  565. package/lib/cjs/graph/engine/planning/GraphExecutionPlanner.cjs.map +0 -1
  566. package/lib/cjs/graph/engine/planning/GraphRelationResolver.cjs.map +0 -1
  567. package/lib/cjs/graph/engine/planning/GraphTopology.cjs.map +0 -1
  568. package/lib/cjs/graph/engine/planning/index.cjs.map +0 -1
  569. package/lib/cjs/graph/engine/registry/GraphNodeExecutorRegistry.cjs.map +0 -1
  570. package/lib/cjs/graph/engine/registry/GraphNodeExecutorResolver.cjs.map +0 -1
  571. package/lib/cjs/graph/engine/registry/index.cjs.map +0 -1
  572. package/lib/cjs/graph/engine/snapshots/GraphExecutionSnapshotMapper.cjs.map +0 -1
  573. package/lib/cjs/graph/engine/snapshots/index.cjs.map +0 -1
  574. package/lib/cjs/graph/engine/store/GraphCachedValue.cjs.map +0 -1
  575. package/lib/cjs/graph/engine/store/GraphValueKey.cjs.map +0 -1
  576. package/lib/cjs/graph/engine/store/GraphValueStore.cjs.map +0 -1
  577. package/lib/cjs/graph/engine/store/GraphValueStoreAdapter.cjs.map +0 -1
  578. package/lib/cjs/graph/engine/store/InMemoryGraphValueStoreAdapter.cjs.map +0 -1
  579. package/lib/cjs/graph/engine/store/index.cjs.map +0 -1
  580. package/lib/cjs/graph/engine/types.cjs.map +0 -1
  581. package/lib/cjs/graph/engine/validation/GraphDefinitionValidator.cjs.map +0 -1
  582. package/lib/cjs/graph/engine/validation/GraphPortSchemaResolver.cjs.map +0 -1
  583. package/lib/cjs/graph/engine/validation/GraphValueValidator.cjs.map +0 -1
  584. package/lib/cjs/graph/engine/validation/index.cjs.map +0 -1
  585. package/lib/cjs/graph/index.cjs.map +0 -1
  586. package/lib/cjs/graph/shared/constants.cjs.map +0 -1
  587. package/lib/cjs/graph/shared/index.cjs.map +0 -1
  588. package/lib/cjs/graph/shared/nodes/agent.cjs.map +0 -1
  589. package/lib/cjs/graph/shared/nodes/base.cjs.map +0 -1
  590. package/lib/cjs/graph/shared/nodes/category-styles.cjs.map +0 -1
  591. package/lib/cjs/graph/shared/nodes/flow-control.cjs.map +0 -1
  592. package/lib/cjs/graph/shared/nodes/index.cjs.map +0 -1
  593. package/lib/cjs/graph/shared/nodes/triggers.cjs.map +0 -1
  594. package/lib/cjs/graph/shared/types.cjs.map +0 -1
  595. package/lib/cjs/index.cjs.map +0 -1
  596. package/lib/cjs/keycloak/index.cjs.map +0 -1
  597. package/lib/cjs/keycloak/services/KeycloakAuthService.cjs.map +0 -1
  598. package/lib/cjs/keycloak/services/KeycloakClientService.cjs.map +0 -1
  599. package/lib/cjs/keycloak/services/KeycloakIdentityProviderService.cjs.map +0 -1
  600. package/lib/cjs/keycloak/services/KeycloakRealmService.cjs.map +0 -1
  601. package/lib/cjs/keycloak/services/KeycloakRoleService.cjs.map +0 -1
  602. package/lib/cjs/keycloak/services/KeycloakService.cjs.map +0 -1
  603. package/lib/cjs/keycloak/services/KeycloakUserService.cjs.map +0 -1
  604. package/lib/cjs/keycloak/services/index.cjs.map +0 -1
  605. package/lib/cjs/keycloak/services/runtime.cjs.map +0 -1
  606. package/lib/cjs/keycloak/types.cjs.map +0 -1
  607. package/lib/cjs/kibana/helpers.cjs.map +0 -1
  608. package/lib/cjs/kibana/index.cjs.map +0 -1
  609. package/lib/cjs/kibana/services/KibanaAuthService.cjs.map +0 -1
  610. package/lib/cjs/kibana/services/KibanaDashboardService.cjs.map +0 -1
  611. package/lib/cjs/kibana/services/KibanaDataViewService.cjs.map +0 -1
  612. package/lib/cjs/kibana/services/KibanaRoleService.cjs.map +0 -1
  613. package/lib/cjs/kibana/services/KibanaService.cjs.map +0 -1
  614. package/lib/cjs/kibana/services/KibanaSpaceService.cjs.map +0 -1
  615. package/lib/cjs/kibana/services/KibanaUserService.cjs.map +0 -1
  616. package/lib/cjs/kibana/services/index.cjs.map +0 -1
  617. package/lib/cjs/kibana/services/runtime.cjs.map +0 -1
  618. package/lib/cjs/kibana/types.cjs.map +0 -1
  619. package/lib/cjs/namespaces/index.cjs.map +0 -1
  620. package/lib/cjs/namespaces/models/authorization-model.cjs.map +0 -1
  621. package/lib/cjs/namespaces/models/effective-permission.model.cjs.map +0 -1
  622. package/lib/cjs/namespaces/models/group-membership.model.cjs.map +0 -1
  623. package/lib/cjs/namespaces/models/group.model.cjs.map +0 -1
  624. package/lib/cjs/namespaces/models/index.cjs.map +0 -1
  625. package/lib/cjs/namespaces/models/inheritance-block.model.cjs.map +0 -1
  626. package/lib/cjs/namespaces/models/org-unit-closure.model.cjs.map +0 -1
  627. package/lib/cjs/namespaces/models/org-unit-membership.model.cjs.map +0 -1
  628. package/lib/cjs/namespaces/models/org-unit-profile.model.cjs.map +0 -1
  629. package/lib/cjs/namespaces/models/org-unit.model.cjs.map +0 -1
  630. package/lib/cjs/namespaces/models/permission.model.cjs.map +0 -1
  631. package/lib/cjs/namespaces/models/principal.model.cjs.map +0 -1
  632. package/lib/cjs/namespaces/models/protected-resource.model.cjs.map +0 -1
  633. package/lib/cjs/namespaces/models/resource-grant.model.cjs.map +0 -1
  634. package/lib/cjs/namespaces/models/role-assignment.model.cjs.map +0 -1
  635. package/lib/cjs/namespaces/models/role-permission.model.cjs.map +0 -1
  636. package/lib/cjs/namespaces/models/role.model.cjs.map +0 -1
  637. package/lib/cjs/namespaces/models/storage-binding.model.cjs.map +0 -1
  638. package/lib/cjs/namespaces/models/tenant-membership.model.cjs.map +0 -1
  639. package/lib/cjs/namespaces/models/tenant-profile.model.cjs.map +0 -1
  640. package/lib/cjs/namespaces/models/tenant.model.cjs.map +0 -1
  641. package/lib/cjs/namespaces/models/user.model.cjs.map +0 -1
  642. package/lib/cjs/namespaces/org-based-authorization-system.cjs.map +0 -1
  643. package/lib/cjs/namespaces/org-based-authorization-system.models.cjs.map +0 -1
  644. package/lib/cjs/namespaces/org-based-authorization-system.services.cjs.map +0 -1
  645. package/lib/cjs/namespaces/services/authz.service.cjs.map +0 -1
  646. package/lib/cjs/namespaces/services/bootstrap.service.cjs.map +0 -1
  647. package/lib/cjs/namespaces/services/effective-permission.service.cjs.map +0 -1
  648. package/lib/cjs/namespaces/services/group-membership.service.cjs.map +0 -1
  649. package/lib/cjs/namespaces/services/group.service.cjs.map +0 -1
  650. package/lib/cjs/namespaces/services/index.cjs.map +0 -1
  651. package/lib/cjs/namespaces/services/inheritance-block.service.cjs.map +0 -1
  652. package/lib/cjs/namespaces/services/org-unit-closure.service.cjs.map +0 -1
  653. package/lib/cjs/namespaces/services/org-unit-membership.service.cjs.map +0 -1
  654. package/lib/cjs/namespaces/services/org-unit-profile.service.cjs.map +0 -1
  655. package/lib/cjs/namespaces/services/org-unit.service.cjs.map +0 -1
  656. package/lib/cjs/namespaces/services/permission.service.cjs.map +0 -1
  657. package/lib/cjs/namespaces/services/principal.service.cjs.map +0 -1
  658. package/lib/cjs/namespaces/services/protected-resource.service.cjs.map +0 -1
  659. package/lib/cjs/namespaces/services/resource-grant.service.cjs.map +0 -1
  660. package/lib/cjs/namespaces/services/resource-lifecycle.service.cjs.map +0 -1
  661. package/lib/cjs/namespaces/services/role-assignment.service.cjs.map +0 -1
  662. package/lib/cjs/namespaces/services/role-permission.service.cjs.map +0 -1
  663. package/lib/cjs/namespaces/services/role.service.cjs.map +0 -1
  664. package/lib/cjs/namespaces/services/storage-binding.service.cjs.map +0 -1
  665. package/lib/cjs/namespaces/services/system-management.service.cjs.map +0 -1
  666. package/lib/cjs/namespaces/services/tenant-membership.service.cjs.map +0 -1
  667. package/lib/cjs/namespaces/services/tenant-profile.service.cjs.map +0 -1
  668. package/lib/cjs/namespaces/services/tenant.service.cjs.map +0 -1
  669. package/lib/cjs/namespaces/services/user.service.cjs.map +0 -1
  670. package/lib/cjs/namespaces/types.cjs.map +0 -1
  671. package/lib/cjs/namespaces/utils.cjs.map +0 -1
  672. package/lib/cjs/nest/authService.cjs.map +0 -1
  673. package/lib/cjs/nest/graph/GraphExecutionController.cjs.map +0 -1
  674. package/lib/cjs/nest/graph/GraphExecutionModule.cjs.map +0 -1
  675. package/lib/cjs/nest/graph/GraphExecutionResultModel.cjs.map +0 -1
  676. package/lib/cjs/nest/graph/GraphExecutionResultRepository.cjs +0 -66
  677. package/lib/cjs/nest/graph/GraphExecutionResultRepository.cjs.map +0 -1
  678. package/lib/cjs/nest/graph/GraphExecutorRegistryFactory.cjs.map +0 -1
  679. package/lib/cjs/nest/graph/index.cjs.map +0 -1
  680. package/lib/cjs/nest/graph/main.cjs.map +0 -1
  681. package/lib/cjs/nest/index.cjs.map +0 -1
  682. package/lib/cjs/nest/keycloakAuthHandler.cjs.map +0 -1
  683. package/lib/cjs/nest/keycloakModule.cjs.map +0 -1
  684. package/lib/cjs/nest/logging.cjs.map +0 -1
  685. package/lib/cjs/nest/types.cjs.map +0 -1
  686. package/lib/cjs/nest/utils.cjs.map +0 -1
  687. package/lib/cjs/secrets/aws/AwsSecretService.cjs.map +0 -1
  688. package/lib/cjs/secrets/aws/AwsSecretServiceConfig.cjs.map +0 -1
  689. package/lib/cjs/secrets/aws/index.cjs.map +0 -1
  690. package/lib/cjs/secrets/azure/AzureKeyVaultSecretService.cjs.map +0 -1
  691. package/lib/cjs/secrets/azure/AzureKeyVaultSecretServiceConfig.cjs.map +0 -1
  692. package/lib/cjs/secrets/azure/index.cjs.map +0 -1
  693. package/lib/cjs/secrets/core/SecretErrors.cjs.map +0 -1
  694. package/lib/cjs/secrets/core/SecretName.cjs.map +0 -1
  695. package/lib/cjs/secrets/core/SecretReference.cjs.map +0 -1
  696. package/lib/cjs/secrets/core/SecretSerialization.cjs.map +0 -1
  697. package/lib/cjs/secrets/core/SecretService.cjs.map +0 -1
  698. package/lib/cjs/secrets/core/SecretTypes.cjs.map +0 -1
  699. package/lib/cjs/secrets/core/index.cjs.map +0 -1
  700. package/lib/cjs/secrets/gcp/GcpSecretManagerService.cjs.map +0 -1
  701. package/lib/cjs/secrets/gcp/GcpSecretManagerServiceConfig.cjs.map +0 -1
  702. package/lib/cjs/secrets/gcp/index.cjs.map +0 -1
  703. package/lib/cjs/secrets/index.cjs.map +0 -1
  704. package/lib/cjs/secrets/model/ModelSecretCrypto.cjs.map +0 -1
  705. package/lib/cjs/secrets/model/ModelSecretService.cjs.map +0 -1
  706. package/lib/cjs/secrets/model/ModelSecretServiceConfig.cjs.map +0 -1
  707. package/lib/cjs/secrets/model/Secret.cjs.map +0 -1
  708. package/lib/cjs/secrets/model/index.cjs.map +0 -1
  709. package/lib/cjs/secrets/onepassword/OnePasswordSecretService.cjs.map +0 -1
  710. package/lib/cjs/secrets/onepassword/OnePasswordSecretServiceConfig.cjs.map +0 -1
  711. package/lib/cjs/secrets/onepassword/index.cjs.map +0 -1
  712. package/lib/cjs/secrets/vault/VaultSecretService.cjs.map +0 -1
  713. package/lib/cjs/secrets/vault/VaultSecretServiceConfig.cjs.map +0 -1
  714. package/lib/cjs/secrets/vault/index.cjs.map +0 -1
  715. package/lib/cjs/shared/runtime.cjs.map +0 -1
  716. package/lib/cjs/utils.cjs.map +0 -1
  717. package/lib/esm/blob/azure/AzureBlobStoreService.js.map +0 -1
  718. package/lib/esm/blob/azure/index.js.map +0 -1
  719. package/lib/esm/blob/core/BlobErrors.js.map +0 -1
  720. package/lib/esm/blob/core/BlobKey.js.map +0 -1
  721. package/lib/esm/blob/core/BlobStoreFactory.js.map +0 -1
  722. package/lib/esm/blob/core/BlobStoreService.js.map +0 -1
  723. package/lib/esm/blob/core/BlobTypes.js.map +0 -1
  724. package/lib/esm/blob/core/BlobValue.js.map +0 -1
  725. package/lib/esm/blob/core/index.js.map +0 -1
  726. package/lib/esm/blob/gcp/GcsBlobStoreService.js.map +0 -1
  727. package/lib/esm/blob/gcp/index.js.map +0 -1
  728. package/lib/esm/blob/index.js.map +0 -1
  729. package/lib/esm/blob/ipfs/IpfsBlobStoreService.js.map +0 -1
  730. package/lib/esm/blob/ipfs/IpfsKeyIndex.js.map +0 -1
  731. package/lib/esm/blob/ipfs/LocalJsonIpfsKeyIndex.js.map +0 -1
  732. package/lib/esm/blob/ipfs/MemoryIpfsKeyIndex.js.map +0 -1
  733. package/lib/esm/blob/ipfs/PostgresIpfsKeyIndex.js.map +0 -1
  734. package/lib/esm/blob/ipfs/index.js.map +0 -1
  735. package/lib/esm/blob/local/LocalBlobStoreService.js.map +0 -1
  736. package/lib/esm/blob/local/index.js.map +0 -1
  737. package/lib/esm/blob/memory/MemoryBlobStoreService.js.map +0 -1
  738. package/lib/esm/blob/memory/index.js.map +0 -1
  739. package/lib/esm/blob/s3/MinioBlobStoreService.js.map +0 -1
  740. package/lib/esm/blob/s3/R2BlobStoreService.js.map +0 -1
  741. package/lib/esm/blob/s3/S3BlobStoreService.js.map +0 -1
  742. package/lib/esm/blob/s3/index.js.map +0 -1
  743. package/lib/esm/docker/DockerComposeService.js.map +0 -1
  744. package/lib/esm/docker/index.js.map +0 -1
  745. package/lib/esm/graph/engine/constants.js.map +0 -1
  746. package/lib/esm/graph/engine/decorators.js.map +0 -1
  747. package/lib/esm/graph/engine/errors/GraphCycleError.js.map +0 -1
  748. package/lib/esm/graph/engine/errors/GraphExecutionError.js.map +0 -1
  749. package/lib/esm/graph/engine/errors/GraphInputError.js.map +0 -1
  750. package/lib/esm/graph/engine/errors/GraphLoopLimitError.js.map +0 -1
  751. package/lib/esm/graph/engine/errors/GraphPinningError.js.map +0 -1
  752. package/lib/esm/graph/engine/errors/GraphPortError.js.map +0 -1
  753. package/lib/esm/graph/engine/errors/GraphStoreError.js.map +0 -1
  754. package/lib/esm/graph/engine/errors/GraphTopologyError.js.map +0 -1
  755. package/lib/esm/graph/engine/errors/index.js.map +0 -1
  756. package/lib/esm/graph/engine/events/GraphExecutionEvent.js.map +0 -1
  757. package/lib/esm/graph/engine/events/GraphExecutionEventEmitter.js.map +0 -1
  758. package/lib/esm/graph/engine/events/GraphExecutionEventFactory.js.map +0 -1
  759. package/lib/esm/graph/engine/events/GraphExecutionObserver.js.map +0 -1
  760. package/lib/esm/graph/engine/events/index.js.map +0 -1
  761. package/lib/esm/graph/engine/execution/CodeGraphNodeExecutor.js.map +0 -1
  762. package/lib/esm/graph/engine/execution/CodeSandboxEvaluator.js.map +0 -1
  763. package/lib/esm/graph/engine/execution/GraphExecutionContext.js.map +0 -1
  764. package/lib/esm/graph/engine/execution/GraphExecutionEngine.js.map +0 -1
  765. package/lib/esm/graph/engine/execution/GraphExecutionFrame.js.map +0 -1
  766. package/lib/esm/graph/engine/execution/GraphExecutionResult.js.map +0 -1
  767. package/lib/esm/graph/engine/execution/GraphNodeExecutor.js.map +0 -1
  768. package/lib/esm/graph/engine/execution/IsolatedVmCodeSandboxEvaluator.js.map +0 -1
  769. package/lib/esm/graph/engine/execution/SwitchGraphNodeExecutor.js.map +0 -1
  770. package/lib/esm/graph/engine/execution/index.js.map +0 -1
  771. package/lib/esm/graph/engine/index.js.map +0 -1
  772. package/lib/esm/graph/engine/loops/ConditionExpressionEvaluator.js.map +0 -1
  773. package/lib/esm/graph/engine/loops/ForeachGraphNodeExecutor.js.map +0 -1
  774. package/lib/esm/graph/engine/loops/GraphConditionEvaluator.js.map +0 -1
  775. package/lib/esm/graph/engine/loops/GraphLoopExecutionContext.js.map +0 -1
  776. package/lib/esm/graph/engine/loops/UntilGraphNodeExecutor.js.map +0 -1
  777. package/lib/esm/graph/engine/loops/WhileGraphNodeExecutor.js.map +0 -1
  778. package/lib/esm/graph/engine/loops/index.js.map +0 -1
  779. package/lib/esm/graph/engine/pinning/GraphPinningDependencyResolver.js.map +0 -1
  780. package/lib/esm/graph/engine/pinning/GraphPinningMetadata.js.map +0 -1
  781. package/lib/esm/graph/engine/pinning/GraphPinningPolicy.js.map +0 -1
  782. package/lib/esm/graph/engine/pinning/GraphPinningService.js.map +0 -1
  783. package/lib/esm/graph/engine/pinning/index.js.map +0 -1
  784. package/lib/esm/graph/engine/planning/GraphExecutionPlan.js.map +0 -1
  785. package/lib/esm/graph/engine/planning/GraphExecutionPlanEdge.js.map +0 -1
  786. package/lib/esm/graph/engine/planning/GraphExecutionPlanLayer.js.map +0 -1
  787. package/lib/esm/graph/engine/planning/GraphExecutionPlanNode.js.map +0 -1
  788. package/lib/esm/graph/engine/planning/GraphExecutionPlanner.js.map +0 -1
  789. package/lib/esm/graph/engine/planning/GraphRelationResolver.js.map +0 -1
  790. package/lib/esm/graph/engine/planning/GraphTopology.js.map +0 -1
  791. package/lib/esm/graph/engine/planning/index.js.map +0 -1
  792. package/lib/esm/graph/engine/registry/GraphNodeExecutorRegistry.js.map +0 -1
  793. package/lib/esm/graph/engine/registry/GraphNodeExecutorResolver.js.map +0 -1
  794. package/lib/esm/graph/engine/registry/index.js.map +0 -1
  795. package/lib/esm/graph/engine/snapshots/GraphExecutionSnapshotMapper.js.map +0 -1
  796. package/lib/esm/graph/engine/snapshots/index.js.map +0 -1
  797. package/lib/esm/graph/engine/store/GraphCachedValue.js.map +0 -1
  798. package/lib/esm/graph/engine/store/GraphValueKey.js.map +0 -1
  799. package/lib/esm/graph/engine/store/GraphValueStore.js.map +0 -1
  800. package/lib/esm/graph/engine/store/GraphValueStoreAdapter.js.map +0 -1
  801. package/lib/esm/graph/engine/store/InMemoryGraphValueStoreAdapter.js.map +0 -1
  802. package/lib/esm/graph/engine/store/index.js.map +0 -1
  803. package/lib/esm/graph/engine/types.js.map +0 -1
  804. package/lib/esm/graph/engine/validation/GraphDefinitionValidator.js.map +0 -1
  805. package/lib/esm/graph/engine/validation/GraphPortSchemaResolver.js.map +0 -1
  806. package/lib/esm/graph/engine/validation/GraphValueValidator.js.map +0 -1
  807. package/lib/esm/graph/engine/validation/index.js.map +0 -1
  808. package/lib/esm/graph/index.js.map +0 -1
  809. package/lib/esm/graph/shared/constants.js.map +0 -1
  810. package/lib/esm/graph/shared/index.js.map +0 -1
  811. package/lib/esm/graph/shared/nodes/agent.js.map +0 -1
  812. package/lib/esm/graph/shared/nodes/base.js.map +0 -1
  813. package/lib/esm/graph/shared/nodes/category-styles.js.map +0 -1
  814. package/lib/esm/graph/shared/nodes/flow-control.js.map +0 -1
  815. package/lib/esm/graph/shared/nodes/index.js.map +0 -1
  816. package/lib/esm/graph/shared/nodes/triggers.js.map +0 -1
  817. package/lib/esm/graph/shared/types.js.map +0 -1
  818. package/lib/esm/index.js.map +0 -1
  819. package/lib/esm/keycloak/index.js.map +0 -1
  820. package/lib/esm/keycloak/services/KeycloakAuthService.js.map +0 -1
  821. package/lib/esm/keycloak/services/KeycloakClientService.js.map +0 -1
  822. package/lib/esm/keycloak/services/KeycloakIdentityProviderService.js.map +0 -1
  823. package/lib/esm/keycloak/services/KeycloakRealmService.js.map +0 -1
  824. package/lib/esm/keycloak/services/KeycloakRoleService.js.map +0 -1
  825. package/lib/esm/keycloak/services/KeycloakService.js.map +0 -1
  826. package/lib/esm/keycloak/services/KeycloakUserService.js.map +0 -1
  827. package/lib/esm/keycloak/services/index.js.map +0 -1
  828. package/lib/esm/keycloak/services/runtime.js.map +0 -1
  829. package/lib/esm/keycloak/types.js.map +0 -1
  830. package/lib/esm/kibana/helpers.js.map +0 -1
  831. package/lib/esm/kibana/index.js.map +0 -1
  832. package/lib/esm/kibana/services/KibanaAuthService.js.map +0 -1
  833. package/lib/esm/kibana/services/KibanaDashboardService.js.map +0 -1
  834. package/lib/esm/kibana/services/KibanaDataViewService.js.map +0 -1
  835. package/lib/esm/kibana/services/KibanaRoleService.js.map +0 -1
  836. package/lib/esm/kibana/services/KibanaService.js.map +0 -1
  837. package/lib/esm/kibana/services/KibanaSpaceService.js.map +0 -1
  838. package/lib/esm/kibana/services/KibanaUserService.js.map +0 -1
  839. package/lib/esm/kibana/services/index.js.map +0 -1
  840. package/lib/esm/kibana/services/runtime.js.map +0 -1
  841. package/lib/esm/kibana/types.js.map +0 -1
  842. package/lib/esm/namespaces/index.js.map +0 -1
  843. package/lib/esm/namespaces/models/authorization-model.js.map +0 -1
  844. package/lib/esm/namespaces/models/effective-permission.model.js.map +0 -1
  845. package/lib/esm/namespaces/models/group-membership.model.js.map +0 -1
  846. package/lib/esm/namespaces/models/group.model.js.map +0 -1
  847. package/lib/esm/namespaces/models/index.js.map +0 -1
  848. package/lib/esm/namespaces/models/inheritance-block.model.js.map +0 -1
  849. package/lib/esm/namespaces/models/org-unit-closure.model.js.map +0 -1
  850. package/lib/esm/namespaces/models/org-unit-membership.model.js.map +0 -1
  851. package/lib/esm/namespaces/models/org-unit-profile.model.js.map +0 -1
  852. package/lib/esm/namespaces/models/org-unit.model.js.map +0 -1
  853. package/lib/esm/namespaces/models/permission.model.js.map +0 -1
  854. package/lib/esm/namespaces/models/principal.model.js.map +0 -1
  855. package/lib/esm/namespaces/models/protected-resource.model.js.map +0 -1
  856. package/lib/esm/namespaces/models/resource-grant.model.js.map +0 -1
  857. package/lib/esm/namespaces/models/role-assignment.model.js.map +0 -1
  858. package/lib/esm/namespaces/models/role-permission.model.js.map +0 -1
  859. package/lib/esm/namespaces/models/role.model.js.map +0 -1
  860. package/lib/esm/namespaces/models/storage-binding.model.js.map +0 -1
  861. package/lib/esm/namespaces/models/tenant-membership.model.js.map +0 -1
  862. package/lib/esm/namespaces/models/tenant-profile.model.js.map +0 -1
  863. package/lib/esm/namespaces/models/tenant.model.js.map +0 -1
  864. package/lib/esm/namespaces/models/user.model.js.map +0 -1
  865. package/lib/esm/namespaces/org-based-authorization-system.js.map +0 -1
  866. package/lib/esm/namespaces/org-based-authorization-system.models.js.map +0 -1
  867. package/lib/esm/namespaces/org-based-authorization-system.services.js.map +0 -1
  868. package/lib/esm/namespaces/services/authz.service.js.map +0 -1
  869. package/lib/esm/namespaces/services/bootstrap.service.js.map +0 -1
  870. package/lib/esm/namespaces/services/effective-permission.service.js.map +0 -1
  871. package/lib/esm/namespaces/services/group-membership.service.js.map +0 -1
  872. package/lib/esm/namespaces/services/group.service.js.map +0 -1
  873. package/lib/esm/namespaces/services/index.js.map +0 -1
  874. package/lib/esm/namespaces/services/inheritance-block.service.js.map +0 -1
  875. package/lib/esm/namespaces/services/org-unit-closure.service.js.map +0 -1
  876. package/lib/esm/namespaces/services/org-unit-membership.service.js.map +0 -1
  877. package/lib/esm/namespaces/services/org-unit-profile.service.js.map +0 -1
  878. package/lib/esm/namespaces/services/org-unit.service.js.map +0 -1
  879. package/lib/esm/namespaces/services/permission.service.js.map +0 -1
  880. package/lib/esm/namespaces/services/principal.service.js.map +0 -1
  881. package/lib/esm/namespaces/services/protected-resource.service.js.map +0 -1
  882. package/lib/esm/namespaces/services/resource-grant.service.js.map +0 -1
  883. package/lib/esm/namespaces/services/resource-lifecycle.service.js.map +0 -1
  884. package/lib/esm/namespaces/services/role-assignment.service.js.map +0 -1
  885. package/lib/esm/namespaces/services/role-permission.service.js.map +0 -1
  886. package/lib/esm/namespaces/services/role.service.js.map +0 -1
  887. package/lib/esm/namespaces/services/storage-binding.service.js.map +0 -1
  888. package/lib/esm/namespaces/services/system-management.service.js.map +0 -1
  889. package/lib/esm/namespaces/services/tenant-membership.service.js.map +0 -1
  890. package/lib/esm/namespaces/services/tenant-profile.service.js.map +0 -1
  891. package/lib/esm/namespaces/services/tenant.service.js.map +0 -1
  892. package/lib/esm/namespaces/services/user.service.js.map +0 -1
  893. package/lib/esm/namespaces/types.js.map +0 -1
  894. package/lib/esm/namespaces/utils.js.map +0 -1
  895. package/lib/esm/nest/authService.js.map +0 -1
  896. package/lib/esm/nest/graph/GraphExecutionController.js.map +0 -1
  897. package/lib/esm/nest/graph/GraphExecutionModule.js.map +0 -1
  898. package/lib/esm/nest/graph/GraphExecutionResultModel.js.map +0 -1
  899. package/lib/esm/nest/graph/GraphExecutionResultRepository.js +0 -60
  900. package/lib/esm/nest/graph/GraphExecutionResultRepository.js.map +0 -1
  901. package/lib/esm/nest/graph/GraphExecutorRegistryFactory.js.map +0 -1
  902. package/lib/esm/nest/graph/index.js.map +0 -1
  903. package/lib/esm/nest/graph/main.js.map +0 -1
  904. package/lib/esm/nest/index.js.map +0 -1
  905. package/lib/esm/nest/keycloakAuthHandler.js.map +0 -1
  906. package/lib/esm/nest/keycloakModule.js.map +0 -1
  907. package/lib/esm/nest/logging.js.map +0 -1
  908. package/lib/esm/nest/types.js.map +0 -1
  909. package/lib/esm/nest/utils.js.map +0 -1
  910. package/lib/esm/secrets/aws/AwsSecretService.js.map +0 -1
  911. package/lib/esm/secrets/aws/AwsSecretServiceConfig.js.map +0 -1
  912. package/lib/esm/secrets/aws/index.js.map +0 -1
  913. package/lib/esm/secrets/azure/AzureKeyVaultSecretService.js.map +0 -1
  914. package/lib/esm/secrets/azure/AzureKeyVaultSecretServiceConfig.js.map +0 -1
  915. package/lib/esm/secrets/azure/index.js.map +0 -1
  916. package/lib/esm/secrets/core/SecretErrors.js.map +0 -1
  917. package/lib/esm/secrets/core/SecretName.js.map +0 -1
  918. package/lib/esm/secrets/core/SecretReference.js.map +0 -1
  919. package/lib/esm/secrets/core/SecretSerialization.js.map +0 -1
  920. package/lib/esm/secrets/core/SecretService.js.map +0 -1
  921. package/lib/esm/secrets/core/SecretTypes.js.map +0 -1
  922. package/lib/esm/secrets/core/index.js.map +0 -1
  923. package/lib/esm/secrets/gcp/GcpSecretManagerService.js.map +0 -1
  924. package/lib/esm/secrets/gcp/GcpSecretManagerServiceConfig.js.map +0 -1
  925. package/lib/esm/secrets/gcp/index.js.map +0 -1
  926. package/lib/esm/secrets/index.js.map +0 -1
  927. package/lib/esm/secrets/model/ModelSecretCrypto.js.map +0 -1
  928. package/lib/esm/secrets/model/ModelSecretService.js.map +0 -1
  929. package/lib/esm/secrets/model/ModelSecretServiceConfig.js.map +0 -1
  930. package/lib/esm/secrets/model/Secret.js.map +0 -1
  931. package/lib/esm/secrets/model/index.js.map +0 -1
  932. package/lib/esm/secrets/onepassword/OnePasswordSecretService.js.map +0 -1
  933. package/lib/esm/secrets/onepassword/OnePasswordSecretServiceConfig.js.map +0 -1
  934. package/lib/esm/secrets/onepassword/index.js.map +0 -1
  935. package/lib/esm/secrets/vault/VaultSecretService.js.map +0 -1
  936. package/lib/esm/secrets/vault/VaultSecretServiceConfig.js.map +0 -1
  937. package/lib/esm/secrets/vault/index.js.map +0 -1
  938. package/lib/esm/shared/runtime.js.map +0 -1
  939. package/lib/esm/utils.js.map +0 -1
  940. package/lib/types/nest/graph/GraphExecutionResultRepository.d.cts +0 -38
  941. package/lib/types/nest/graph/GraphExecutionResultRepository.d.mts +0 -38
@@ -309,4 +309,4 @@ export class VaultSecretService extends ClientBasedService {
309
309
  return new InternalError(message);
310
310
  }
311
311
  }
312
- //# sourceMappingURL=VaultSecretService.js.map
312
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVmF1bHRTZWNyZXRTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3NlY3JldHMvdmF1bHQvVmF1bHRTZWNyZXRTZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVFBLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxtQkFBbUIsRUFBRSwyQkFBMkI7QUFDN0UsT0FBTyxFQUNMLHNCQUFzQixFQUN0Qix3QkFBd0IsR0FFekIsMkJBQTJCO0FBQzVCLE9BQU8sRUFBRSxrQkFBa0IsRUFBMkIsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3RSxPQUFPLEVBQ0wsZUFBZSxFQUNmLGFBQWEsRUFDYixhQUFhLEVBQ2IsYUFBYSxHQUNkLE1BQU0seUJBQXlCLENBQUM7QUFFakMsTUFBTSxPQUFPLGVBQWU7SUFNMUIsWUFBWSxNQUtYO1FBQ0MsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDbEQsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDO1FBQzFCLElBQUksQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDMUUsSUFBSSxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDO0lBQ3BDLENBQUM7SUFFTyxLQUFLLENBQUMsT0FBTyxDQUNuQixNQUFjLEVBQ2QsSUFBWSxFQUNaLElBQVU7UUFFVixNQUFNLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLE9BQU8sSUFBSSxFQUFFLENBQUM7UUFDekMsTUFBTSxPQUFPLEdBQTJCO1lBQ3RDLGVBQWUsRUFBRSxJQUFJLENBQUMsS0FBSztZQUMzQixjQUFjLEVBQUUsa0JBQWtCO1NBQ25DLENBQUM7UUFF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QyxPQUFPLENBQUMsQ0FBQztRQUNwQyxDQUFDO1FBRUQsSUFBSSxZQUFZLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxJQUFJLFlBQVksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN4RSxPQUFPLElBQUksYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3BDLENBQUM7UUFFRCxJQUFJLFlBQVksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLElBQUksWUFBWSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3hFLE9BQU8sSUFBSSxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDdEMsQ0FBQztRQUVELElBQ0UsWUFBWSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUM7WUFDakMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUM7WUFDcEMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUM7WUFDbkMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFDaEMsQ0FBQztZQUNELE9BQU8sSUFBSSxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDcEMsQ0FBQztRQUVELE9BQU8sSUFBSSxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDcEMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2VjcmV0UHJvdmlkZXIgfSBmcm9tIFwiLi4vLi4vc2VjcmV0cy9jb3JlXCI7XG5pbXBvcnQge1xuICBTZWNyZXROYW1lLFxuICBTZWNyZXRQYXlsb2FkLFxuICBTZWNyZXRSZWZlcmVuY2UsXG4gIFNlY3JldE1ldGFkYXRhLFxufSBmcm9tIFwiLi4vLi4vc2VjcmV0cy9jb3JlXCI7XG5pbXBvcnQgeyBTdG9yZVNlY3JldE9wdGlvbnMsIExpc3RTZWNyZXRzT3B0aW9ucyB9IGZyb20gXCIuLi8uLi9zZWNyZXRzL2NvcmVcIjtcbmltcG9ydCB7IHZhbGlkYXRlU2VjcmV0TmFtZSwgbm9ybWFsaXplU2VjcmV0TmFtZSB9IGZyb20gXCIuLi8uLi9zZWNyZXRzL2NvcmVcIjtcbmltcG9ydCB7XG4gIHNlcmlhbGl6ZVNlY3JldFBheWxvYWQsXG4gIGRlc2VyaWFsaXplU2VjcmV0UGF5bG9hZCxcbiAgdHlwZSBTZXJpYWxpemVkU2VjcmV0UGF5bG9hZCxcbn0gZnJvbSBcIi4uLy4uL3NlY3JldHMvY29yZVwiO1xuaW1wb3J0IHsgQ2xpZW50QmFzZWRTZXJ2aWNlLCB0eXBlIE1heWJlQ29udGV4dHVhbEFyZyB9IGZyb20gXCJAZGVjYWYtdHMvY29yZVwiO1xuaW1wb3J0IHsgVmF1bHRTZWNyZXRTZXJ2aWNlQ29uZmlnIH0gZnJvbSBcIi4vVmF1bHRTZWNyZXRTZXJ2aWNlQ29uZmlnXCI7XG5pbXBvcnQge1xuICBCYWRSZXF1ZXN0RXJyb3IsXG4gIENvbmZsaWN0RXJyb3IsXG4gIEludGVybmFsRXJyb3IsXG4gIE5vdEZvdW5kRXJyb3IsXG59IGZyb20gXCJAZGVjYWYtdHMvZGItZGVjb3JhdG9yc1wiO1xuXG5leHBvcnQgY2xhc3MgVmF1bHRLdlYyQ2xpZW50IHtcbiAgcHJpdmF0ZSBiYXNlVXJsOiBzdHJpbmc7XG4gIHByaXZhdGUgdG9rZW46IHN0cmluZztcbiAgcHJpdmF0ZSBtb3VudFBhdGg6IHN0cmluZztcbiAgcHJpdmF0ZSBuYW1lc3BhY2U/OiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoY29uZmlnOiB7XG4gICAgYmFzZVVybDogc3RyaW5nO1xuICAgIHRva2VuOiBzdHJpbmc7XG4gICAgbW91bnRQYXRoOiBzdHJpbmc7XG4gICAgbmFtZXNwYWNlPzogc3RyaW5nO1xuICB9KSB7XG4gICAgdGhpcy5iYXNlVXJsID0gY29uZmlnLmJhc2VVcmwucmVwbGFjZSgvXFwvKyQvLCBcIlwiKTtcbiAgICB0aGlzLnRva2VuID0gY29uZmlnLnRva2VuO1xuICAgIHRoaXMubW91bnRQYXRoID0gY29uZmlnLm1vdW50UGF0aC5yZXBsYWNlKC9eXFwvKy8sIFwiXCIpLnJlcGxhY2UoL1xcLyskLywgXCJcIik7XG4gICAgdGhpcy5uYW1lc3BhY2UgPSBjb25maWcubmFtZXNwYWNlO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyByZXF1ZXN0PFQgPSBhbnk+KFxuICAgIG1ldGhvZDogc3RyaW5nLFxuICAgIHBhdGg6IHN0cmluZyxcbiAgICBib2R5PzogYW55XG4gICk6IFByb21pc2U8VD4ge1xuICAgIGNvbnN0IHVybCA9IGAke3RoaXMuYmFzZVVybH0vdjEvJHtwYXRofWA7XG4gICAgY29uc3QgaGVhZGVyczogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgICAgIFwiWC1WYXVsdC1Ub2tlblwiOiB0aGlzLnRva2VuLFxuICAgICAgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIsXG4gICAgfTtcblxuICAgIGlmICh0aGlzLm5hbWVzcGFjZSkge1xuICAgICAgaGVhZGVyc1tcIlgtVmF1bHQtTmFtZXNwYWNlXCJdID0gdGhpcy5uYW1lc3BhY2U7XG4gICAgfVxuXG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaCh1cmwsIHtcbiAgICAgIG1ldGhvZCxcbiAgICAgIGhlYWRlcnMsXG4gICAgICBib2R5OiBib2R5ID8gSlNPTi5zdHJpbmdpZnkoYm9keSkgOiB1bmRlZmluZWQsXG4gICAgfSk7XG5cbiAgICBpZiAoIXJlc3BvbnNlLm9rKSB7XG4gICAgICBjb25zdCBlcnJvckRhdGEgPSAoYXdhaXQgcmVzcG9uc2VcbiAgICAgICAgLmpzb24oKVxuICAgICAgICAuY2F0Y2goKCkgPT4gKHsgZXJyb3JzOiBbXSB9KSkpIGFzIHsgZXJyb3JzPzogc3RyaW5nW10gfTtcbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSBlcnJvckRhdGEuZXJyb3JzPy5qb2luKFwiLCBcIikgfHwgcmVzcG9uc2Uuc3RhdHVzVGV4dDtcbiAgICAgIGNvbnN0IGVyciA9IG5ldyBFcnJvcihtZXNzYWdlKTtcbiAgICAgIGVyci5uYW1lID0gYFZhdWx0RXJyb3JgO1xuICAgICAgdGhyb3cgZXJyO1xuICAgIH1cblxuICAgIGlmIChyZXNwb25zZS5zdGF0dXMgPT09IDIwNCkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZCBhcyBUO1xuICAgIH1cblxuICAgIGNvbnN0IHRleHQgPSBhd2FpdCByZXNwb25zZS50ZXh0KCk7XG4gICAgaWYgKCF0ZXh0KSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkIGFzIFQ7XG4gICAgfVxuXG4gICAgY29uc3QgZGF0YSA9IEpTT04ucGFyc2UodGV4dCkgYXMgeyBkYXRhPzogVCB9O1xuICAgIHJldHVybiBkYXRhLmRhdGEgYXMgVDtcbiAgfVxuXG4gIGFzeW5jIHJlYWQocGF0aDogc3RyaW5nKTogUHJvbWlzZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5yZXF1ZXN0PGFueT4oXCJHRVRcIiwgYCR7dGhpcy5tb3VudFBhdGh9L2RhdGEvJHtwYXRofWApO1xuICB9XG5cbiAgYXN5bmMgd3JpdGUocGF0aDogc3RyaW5nLCBkYXRhOiBhbnkpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLnJlcXVlc3Q8dm9pZD4oXCJQT1NUXCIsIGAke3RoaXMubW91bnRQYXRofS9kYXRhLyR7cGF0aH1gLCB7XG4gICAgICBkYXRhLFxuICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgZGVsZXRlKHBhdGg6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMucmVxdWVzdDx2b2lkPihcIkRFTEVURVwiLCBgJHt0aGlzLm1vdW50UGF0aH0vZGF0YS8ke3BhdGh9YCk7XG4gIH1cblxuICBhc3luYyBsaXN0KHBhdGg6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nW10+IHtcbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLnJlcXVlc3Q8eyBrZXlzOiBzdHJpbmdbXSB9PihcbiAgICAgIFwiTElTVFwiLFxuICAgICAgYCR7dGhpcy5tb3VudFBhdGh9L21ldGFkYXRhLyR7cGF0aH1gXG4gICAgKTtcbiAgICByZXR1cm4gcmVzdWx0LmtleXMgfHwgW107XG4gIH1cblxuICBhc3luYyBtZXRhZGF0YShwYXRoOiBzdHJpbmcpOiBQcm9taXNlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLnJlcXVlc3Q8YW55PihcIkdFVFwiLCBgJHt0aGlzLm1vdW50UGF0aH0vbWV0YWRhdGEvJHtwYXRofWApO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBWYXVsdFNlY3JldFNlcnZpY2UgZXh0ZW5kcyBDbGllbnRCYXNlZFNlcnZpY2U8XG4gIFZhdWx0S3ZWMkNsaWVudCxcbiAgVmF1bHRTZWNyZXRTZXJ2aWNlQ29uZmlnXG4+IHtcbiAgcmVhZG9ubHkgcHJvdmlkZXI6IFNlY3JldFByb3ZpZGVyID0gXCJoYXNoaWNvcnAtdmF1bHRcIjtcblxuICBhc3luYyBpbml0aWFsaXplKFxuICAgIC4uLmFyZ3M6IE1heWJlQ29udGV4dHVhbEFyZzxhbnk+XG4gICk6IFByb21pc2U8eyBjb25maWc6IFZhdWx0U2VjcmV0U2VydmljZUNvbmZpZzsgY2xpZW50OiBWYXVsdEt2VjJDbGllbnQgfT4ge1xuICAgIGNvbnN0IHsgY3R4QXJncyB9ID0gKGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIFwiaW5pdGlhbGl6ZVwiLCB0cnVlKSkuZm9yKFxuICAgICAgdGhpcy5pbml0aWFsaXplXG4gICAgKTtcbiAgICBjb25zdCBjb25maWcgPSBjdHhBcmdzWzBdIGFzIFZhdWx0U2VjcmV0U2VydmljZUNvbmZpZztcbiAgICBjb25zdCBjbGllbnQgPSBuZXcgVmF1bHRLdlYyQ2xpZW50KHtcbiAgICAgIGJhc2VVcmw6IGNvbmZpZy5hZGRyZXNzLFxuICAgICAgdG9rZW46IGNvbmZpZy50b2tlbixcbiAgICAgIG1vdW50UGF0aDogY29uZmlnLnBhdGgsXG4gICAgICBuYW1lc3BhY2U6IGNvbmZpZy5uYW1lc3BhY2UsXG4gICAgfSk7XG4gICAgdGhpcy5fY29uZmlnID0gY29uZmlnO1xuICAgIHRoaXMuX2NsaWVudCA9IGNsaWVudDtcbiAgICByZXR1cm4geyBjb25maWcsIGNsaWVudCB9O1xuICB9XG5cbiAgYXN5bmMgc3RvcmU8VCBleHRlbmRzIFNlY3JldFBheWxvYWQgPSBTZWNyZXRQYXlsb2FkPihcbiAgICBuYW1lOiBTZWNyZXROYW1lLFxuICAgIHZhbHVlOiBULFxuICAgIG9wdGlvbnM6IFN0b3JlU2VjcmV0T3B0aW9ucyA9IHt9LFxuICAgIC4uLmFyZ3M6IE1heWJlQ29udGV4dHVhbEFyZzxhbnk+XG4gICk6IFByb21pc2U8U2VjcmV0UmVmZXJlbmNlPiB7XG4gICAgY29uc3QgeyBsb2cgfSA9IChhd2FpdCB0aGlzLmxvZ0N0eChhcmdzLCBcInN0b3JlXCIsIHRydWUpKS5mb3IodGhpcy5zdG9yZSk7XG4gICAgbG9nLnZlcmJvc2UoYFN0b3Jpbmcgc2VjcmV0ICR7bmFtZX1gKTtcbiAgICB0cnkge1xuICAgICAgdmFsaWRhdGVTZWNyZXROYW1lKG5hbWUpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICB0aHJvdyB0aGlzLnBhcnNlRXJyb3IoZXJyb3IgYXMgRXJyb3IpO1xuICAgIH1cblxuICAgIGNvbnN0IG5vcm1hbGl6ZWROYW1lID0gbm9ybWFsaXplU2VjcmV0TmFtZShuYW1lKTtcbiAgICBjb25zdCBzZXJpYWxpemVkID0gc2VyaWFsaXplU2VjcmV0UGF5bG9hZCh2YWx1ZSk7XG5cbiAgICB0cnkge1xuICAgICAgYXdhaXQgdGhpcy5jbGllbnQud3JpdGUobm9ybWFsaXplZE5hbWUsIHtcbiAgICAgICAgdmFsdWU6IHNlcmlhbGl6ZWQudmFsdWUsXG4gICAgICAgIGVuY29kaW5nOiBzZXJpYWxpemVkLmVuY29kaW5nLFxuICAgICAgICBjb250ZW50VHlwZTogb3B0aW9ucy5jb250ZW50VHlwZSxcbiAgICAgICAgdGFnczogb3B0aW9ucy50YWdzLFxuICAgICAgfSk7XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIHByb3ZpZGVyOiB0aGlzLnByb3ZpZGVyLFxuICAgICAgICBuYW1lOiBub3JtYWxpemVkTmFtZSxcbiAgICAgICAgdmVyc2lvbjogb3B0aW9ucy52ZXJzaW9uLFxuICAgICAgfTtcbiAgICB9IGNhdGNoIChlcnJvcjogYW55KSB7XG4gICAgICBpZiAoXG4gICAgICAgIGVycm9yPy5uYW1lPy50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKFwiYWxyZWFkeVwiKSB8fFxuICAgICAgICBlcnJvcj8ubWVzc2FnZT8udG9Mb3dlckNhc2UoKT8uaW5jbHVkZXMoXCJhbHJlYWR5XCIpXG4gICAgICApIHtcbiAgICAgICAgdGhyb3cgbmV3IENvbmZsaWN0RXJyb3IoYFNlY3JldCBcIiR7bm9ybWFsaXplZE5hbWV9XCIgYWxyZWFkeSBleGlzdHNgKTtcbiAgICAgIH1cbiAgICAgIHRocm93IHRoaXMucGFyc2VFcnJvcihlcnJvciBhcyBFcnJvcik7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgcmV0cmlldmU8VCBleHRlbmRzIFNlY3JldFBheWxvYWQgPSBTZWNyZXRQYXlsb2FkPihcbiAgICBuYW1lT3JSZWY6IFNlY3JldE5hbWUgfCBTZWNyZXRSZWZlcmVuY2UsXG4gICAgLi4uYXJnczogTWF5YmVDb250ZXh0dWFsQXJnPGFueT5cbiAgKTogUHJvbWlzZTxUPiB7XG4gICAgY29uc3QgeyBsb2cgfSA9IChhd2FpdCB0aGlzLmxvZ0N0eChhcmdzLCBcInJldHJpZXZlXCIsIHRydWUpKS5mb3IoXG4gICAgICB0aGlzLnJldHJpZXZlXG4gICAgKTtcbiAgICBjb25zdCBuYW1lU3RyID0gdHlwZW9mIG5hbWVPclJlZiA9PT0gXCJzdHJpbmdcIiA/IG5hbWVPclJlZiA6IG5hbWVPclJlZi5uYW1lO1xuICAgIGxvZy52ZXJib3NlKGBSZXRyaWV2aW5nIHNlY3JldCAke25hbWVTdHJ9YCk7XG5cbiAgICBsZXQgbmFtZTogc3RyaW5nO1xuXG4gICAgaWYgKHR5cGVvZiBuYW1lT3JSZWYgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgIG5hbWUgPSBuYW1lT3JSZWY7XG4gICAgfSBlbHNlIHtcbiAgICAgIG5hbWUgPSBuYW1lT3JSZWYubmFtZTtcbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgdmFsaWRhdGVTZWNyZXROYW1lKG5hbWUpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICB0aHJvdyB0aGlzLnBhcnNlRXJyb3IoZXJyb3IgYXMgRXJyb3IpO1xuICAgIH1cblxuICAgIGNvbnN0IG5vcm1hbGl6ZWROYW1lID0gbm9ybWFsaXplU2VjcmV0TmFtZShuYW1lKTtcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuY2xpZW50LnJlYWQobm9ybWFsaXplZE5hbWUpO1xuXG4gICAgICBpZiAoIXJlc3BvbnNlPy5kYXRhPy52YWx1ZSkge1xuICAgICAgICB0aHJvdyBuZXcgTm90Rm91bmRFcnJvcihgU2VjcmV0IFwiJHtub3JtYWxpemVkTmFtZX1cIiBoYXMgbm8gdmFsdWVgKTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgcGF5bG9hZDogU2VyaWFsaXplZFNlY3JldFBheWxvYWQgPSB7XG4gICAgICAgIGVuY29kaW5nOiByZXNwb25zZS5kYXRhLmVuY29kaW5nID8/IFwidXRmOFwiLFxuICAgICAgICB2YWx1ZTogcmVzcG9uc2UuZGF0YS52YWx1ZSxcbiAgICAgIH07XG5cbiAgICAgIHJldHVybiBkZXNlcmlhbGl6ZVNlY3JldFBheWxvYWQocGF5bG9hZCkgYXMgVDtcbiAgICB9IGNhdGNoIChlcnJvcjogYW55KSB7XG4gICAgICBpZiAoXG4gICAgICAgIGVycm9yPy5uYW1lPy50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKFwibm90IGZvdW5kXCIpIHx8XG4gICAgICAgIGVycm9yPy5tZXNzYWdlPy50b0xvd2VyQ2FzZSgpPy5pbmNsdWRlcyhcIm5vdCBmb3VuZFwiKVxuICAgICAgKSB7XG4gICAgICAgIHRocm93IG5ldyBOb3RGb3VuZEVycm9yKGBTZWNyZXQgXCIke25vcm1hbGl6ZWROYW1lfVwiIG5vdCBmb3VuZGApO1xuICAgICAgfVxuICAgICAgdGhyb3cgdGhpcy5wYXJzZUVycm9yKGVycm9yIGFzIEVycm9yKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBkZWxldGUoXG4gICAgbmFtZU9yUmVmOiBTZWNyZXROYW1lIHwgU2VjcmV0UmVmZXJlbmNlLFxuICAgIC4uLmFyZ3M6IE1heWJlQ29udGV4dHVhbEFyZzxhbnk+XG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHsgbG9nIH0gPSAoYXdhaXQgdGhpcy5sb2dDdHgoYXJncywgXCJkZWxldGVcIiwgdHJ1ZSkpLmZvcih0aGlzLmRlbGV0ZSk7XG4gICAgY29uc3QgbmFtZVN0ciA9IHR5cGVvZiBuYW1lT3JSZWYgPT09IFwic3RyaW5nXCIgPyBuYW1lT3JSZWYgOiBuYW1lT3JSZWYubmFtZTtcbiAgICBsb2cudmVyYm9zZShgRGVsZXRpbmcgc2VjcmV0ICR7bmFtZVN0cn1gKTtcblxuICAgIGxldCBuYW1lOiBzdHJpbmc7XG5cbiAgICBpZiAodHlwZW9mIG5hbWVPclJlZiA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgbmFtZSA9IG5hbWVPclJlZjtcbiAgICB9IGVsc2Uge1xuICAgICAgbmFtZSA9IG5hbWVPclJlZi5uYW1lO1xuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICB2YWxpZGF0ZVNlY3JldE5hbWUobmFtZSk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRocm93IHRoaXMucGFyc2VFcnJvcihlcnJvciBhcyBFcnJvcik7XG4gICAgfVxuXG4gICAgY29uc3Qgbm9ybWFsaXplZE5hbWUgPSBub3JtYWxpemVTZWNyZXROYW1lKG5hbWUpO1xuXG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHRoaXMuY2xpZW50LmRlbGV0ZShub3JtYWxpemVkTmFtZSk7XG4gICAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xuICAgICAgdGhyb3cgdGhpcy5wYXJzZUVycm9yKGVycm9yIGFzIEVycm9yKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBleGlzdHMoXG4gICAgbmFtZU9yUmVmOiBTZWNyZXROYW1lIHwgU2VjcmV0UmVmZXJlbmNlLFxuICAgIC4uLmFyZ3M6IE1heWJlQ29udGV4dHVhbEFyZzxhbnk+XG4gICk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IHsgbG9nIH0gPSAoYXdhaXQgdGhpcy5sb2dDdHgoYXJncywgXCJleGlzdHNcIiwgdHJ1ZSkpLmZvcih0aGlzLmV4aXN0cyk7XG4gICAgY29uc3QgbmFtZVN0ciA9IHR5cGVvZiBuYW1lT3JSZWYgPT09IFwic3RyaW5nXCIgPyBuYW1lT3JSZWYgOiBuYW1lT3JSZWYubmFtZTtcbiAgICBsb2cudmVyYm9zZShgQ2hlY2tpbmcgaWYgc2VjcmV0ICR7bmFtZVN0cn0gZXhpc3RzYCk7XG5cbiAgICBsZXQgbmFtZTogc3RyaW5nO1xuXG4gICAgaWYgKHR5cGVvZiBuYW1lT3JSZWYgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgIG5hbWUgPSBuYW1lT3JSZWY7XG4gICAgfSBlbHNlIHtcbiAgICAgIG5hbWUgPSBuYW1lT3JSZWYubmFtZTtcbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgdmFsaWRhdGVTZWNyZXROYW1lKG5hbWUpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICB0aHJvdyB0aGlzLnBhcnNlRXJyb3IoZXJyb3IgYXMgRXJyb3IpO1xuICAgIH1cblxuICAgIGNvbnN0IG5vcm1hbGl6ZWROYW1lID0gbm9ybWFsaXplU2VjcmV0TmFtZShuYW1lKTtcblxuICAgIHRyeSB7XG4gICAgICBhd2FpdCB0aGlzLmNsaWVudC5yZWFkKG5vcm1hbGl6ZWROYW1lKTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gY2F0Y2ggKGVycm9yOiBhbnkpIHtcbiAgICAgIGlmIChcbiAgICAgICAgZXJyb3I/Lm5hbWU/LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoXCJub3QgZm91bmRcIikgfHxcbiAgICAgICAgZXJyb3I/Lm1lc3NhZ2U/LnRvTG93ZXJDYXNlKCk/LmluY2x1ZGVzKFwibm90IGZvdW5kXCIpXG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgICAgdGhyb3cgdGhpcy5wYXJzZUVycm9yKGVycm9yIGFzIEVycm9yKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBsaXN0KFxuICAgIG9wdGlvbnM6IExpc3RTZWNyZXRzT3B0aW9ucyA9IHt9LFxuICAgIC4uLmFyZ3M6IE1heWJlQ29udGV4dHVhbEFyZzxhbnk+XG4gICk6IFByb21pc2U8U2VjcmV0TWV0YWRhdGFbXT4ge1xuICAgIGNvbnN0IHsgbG9nIH0gPSAoYXdhaXQgdGhpcy5sb2dDdHgoYXJncywgXCJsaXN0XCIsIHRydWUpKS5mb3IodGhpcy5saXN0KTtcbiAgICBsb2cudmVyYm9zZShcIkxpc3Rpbmcgc2VjcmV0c1wiKTtcbiAgICBjb25zdCByZXN1bHQ6IFNlY3JldE1ldGFkYXRhW10gPSBbXTtcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCBrZXlzID0gYXdhaXQgdGhpcy5jbGllbnQubGlzdChcIlwiKTtcblxuICAgICAgZm9yIChjb25zdCBrZXkgb2Yga2V5cykge1xuICAgICAgICBpZiAob3B0aW9ucy5saW1pdCAmJiByZXN1bHQubGVuZ3RoID49IG9wdGlvbnMubGltaXQpIHtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG1ldGEgPSBhd2FpdCB0aGlzLmNsaWVudC5tZXRhZGF0YShrZXkpO1xuXG4gICAgICAgIGlmIChtZXRhKSB7XG4gICAgICAgICAgcmVzdWx0LnB1c2goe1xuICAgICAgICAgICAgcHJvdmlkZXI6IHRoaXMucHJvdmlkZXIsXG4gICAgICAgICAgICBuYW1lOiBrZXksXG4gICAgICAgICAgICBjcmVhdGVkQXQ6IG1ldGEuY3JlYXRlZF90aW1lXG4gICAgICAgICAgICAgID8gbmV3IERhdGUobWV0YS5jcmVhdGVkX3RpbWUpXG4gICAgICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgdXBkYXRlZEF0OiBtZXRhLnVwZGF0ZWRfdGltZVxuICAgICAgICAgICAgICA/IG5ldyBEYXRlKG1ldGEudXBkYXRlZF90aW1lKVxuICAgICAgICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgIGVuYWJsZWQ6IHRydWUsXG4gICAgICAgICAgICB0YWdzOiBtZXRhLmN1c3RvbV9tZXRhZGF0YSA/PyB1bmRlZmluZWQsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnJvcjogYW55KSB7XG4gICAgICB0aHJvdyB0aGlzLnBhcnNlRXJyb3IoZXJyb3IgYXMgRXJyb3IpO1xuICAgIH1cblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBhc3luYyBtZXRhZGF0YShcbiAgICBuYW1lT3JSZWY6IFNlY3JldE5hbWUgfCBTZWNyZXRSZWZlcmVuY2UsXG4gICAgLi4uYXJnczogTWF5YmVDb250ZXh0dWFsQXJnPGFueT5cbiAgKTogUHJvbWlzZTxTZWNyZXRNZXRhZGF0YSB8IHVuZGVmaW5lZD4ge1xuICAgIGNvbnN0IHsgbG9nIH0gPSAoYXdhaXQgdGhpcy5sb2dDdHgoYXJncywgXCJtZXRhZGF0YVwiLCB0cnVlKSkuZm9yKFxuICAgICAgdGhpcy5tZXRhZGF0YVxuICAgICk7XG4gICAgY29uc3QgbmFtZVN0ciA9IHR5cGVvZiBuYW1lT3JSZWYgPT09IFwic3RyaW5nXCIgPyBuYW1lT3JSZWYgOiBuYW1lT3JSZWYubmFtZTtcbiAgICBsb2cudmVyYm9zZShgR2V0dGluZyBtZXRhZGF0YSBmb3Igc2VjcmV0ICR7bmFtZVN0cn1gKTtcblxuICAgIGxldCBuYW1lOiBzdHJpbmc7XG5cbiAgICBpZiAodHlwZW9mIG5hbWVPclJlZiA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgbmFtZSA9IG5hbWVPclJlZjtcbiAgICB9IGVsc2Uge1xuICAgICAgbmFtZSA9IG5hbWVPclJlZi5uYW1lO1xuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICB2YWxpZGF0ZVNlY3JldE5hbWUobmFtZSk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRocm93IHRoaXMucGFyc2VFcnJvcihlcnJvciBhcyBFcnJvcik7XG4gICAgfVxuXG4gICAgY29uc3Qgbm9ybWFsaXplZE5hbWUgPSBub3JtYWxpemVTZWNyZXROYW1lKG5hbWUpO1xuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IG1ldGEgPSBhd2FpdCB0aGlzLmNsaWVudC5tZXRhZGF0YShub3JtYWxpemVkTmFtZSk7XG5cbiAgICAgIGlmICghbWV0YSkge1xuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgfVxuXG4gICAgICBjb25zdCByZXN1bHQ6IFNlY3JldE1ldGFkYXRhID0ge1xuICAgICAgICBwcm92aWRlcjogdGhpcy5wcm92aWRlcixcbiAgICAgICAgbmFtZTogbm9ybWFsaXplZE5hbWUsXG4gICAgICAgIGNyZWF0ZWRBdDogbWV0YS5jcmVhdGVkX3RpbWUgPyBuZXcgRGF0ZShtZXRhLmNyZWF0ZWRfdGltZSkgOiB1bmRlZmluZWQsXG4gICAgICAgIHVwZGF0ZWRBdDogbWV0YS51cGRhdGVkX3RpbWUgPyBuZXcgRGF0ZShtZXRhLnVwZGF0ZWRfdGltZSkgOiB1bmRlZmluZWQsXG4gICAgICAgIGVuYWJsZWQ6IHRydWUsXG4gICAgICAgIHRhZ3M6IG1ldGEuY3VzdG9tX21ldGFkYXRhID8/IHVuZGVmaW5lZCxcbiAgICAgIH07XG5cbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xuICAgICAgaWYgKFxuICAgICAgICBlcnJvcj8ubmFtZT8udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhcIm5vdCBmb3VuZFwiKSB8fFxuICAgICAgICBlcnJvcj8ubWVzc2FnZT8udG9Mb3dlckNhc2UoKT8uaW5jbHVkZXMoXCJub3QgZm91bmRcIilcbiAgICAgICkge1xuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgfVxuICAgICAgdGhyb3cgdGhpcy5wYXJzZUVycm9yKGVycm9yIGFzIEVycm9yKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgcGFyc2VFcnJvcihlcnJvcjogdW5rbm93bik6IEVycm9yIHtcbiAgICBjb25zdCBlcnIgPSBlcnJvciBhcyBFcnJvcjtcbiAgICBjb25zdCBtZXNzYWdlID0gZXJyLm1lc3NhZ2UgfHwgZXJyLm5hbWUgfHwgXCJVbmtub3duIGVycm9yXCI7XG4gICAgY29uc3QgbG93ZXJNZXNzYWdlID0gbWVzc2FnZS50b0xvd2VyQ2FzZSgpO1xuXG4gICAgaWYgKGxvd2VyTWVzc2FnZS5pbmNsdWRlcyhcIm5vdCBmb3VuZFwiKSB8fCBsb3dlck1lc3NhZ2UuaW5jbHVkZXMoXCI0MDRcIikpIHtcbiAgICAgIHJldHVybiBuZXcgTm90Rm91bmRFcnJvcihtZXNzYWdlKTtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICBsb3dlck1lc3NhZ2UuaW5jbHVkZXMoXCJhbHJlYWR5IGV4aXN0c1wiKSB8fFxuICAgICAgbG93ZXJNZXNzYWdlLmluY2x1ZGVzKFwiY29uZmxpY3RcIikgfHxcbiAgICAgIGxvd2VyTWVzc2FnZS5pbmNsdWRlcyhcIjQwOVwiKVxuICAgICkge1xuICAgICAgcmV0dXJuIG5ldyBDb25mbGljdEVycm9yKG1lc3NhZ2UpO1xuICAgIH1cblxuICAgIGlmIChsb3dlck1lc3NhZ2UuaW5jbHVkZXMoXCJkaXNhYmxlZFwiKSB8fCBsb3dlck1lc3NhZ2UuaW5jbHVkZXMoXCI0MDNcIikpIHtcbiAgICAgIHJldHVybiBuZXcgTm90Rm91bmRFcnJvcihtZXNzYWdlKTtcbiAgICB9XG5cbiAgICBpZiAobG93ZXJNZXNzYWdlLmluY2x1ZGVzKFwidW5hdXRob3JpemVkXCIpIHx8IGxvd2VyTWVzc2FnZS5pbmNsdWRlcyhcIjQwMVwiKSkge1xuICAgICAgcmV0dXJuIG5ldyBOb3RGb3VuZEVycm9yKG1lc3NhZ2UpO1xuICAgIH1cblxuICAgIGlmIChsb3dlck1lc3NhZ2UuaW5jbHVkZXMoXCJwZXJtaXNzaW9uXCIpIHx8IGxvd2VyTWVzc2FnZS5pbmNsdWRlcyhcIjQwM1wiKSkge1xuICAgICAgcmV0dXJuIG5ldyBOb3RGb3VuZEVycm9yKG1lc3NhZ2UpO1xuICAgIH1cblxuICAgIGlmIChsb3dlck1lc3NhZ2UuaW5jbHVkZXMoXCJyYXRlIGxpbWl0XCIpIHx8IGxvd2VyTWVzc2FnZS5pbmNsdWRlcyhcIjQyOVwiKSkge1xuICAgICAgcmV0dXJuIG5ldyBCYWRSZXF1ZXN0RXJyb3IobWVzc2FnZSk7XG4gICAgfVxuXG4gICAgaWYgKFxuICAgICAgbG93ZXJNZXNzYWdlLmluY2x1ZGVzKFwicHJvdmlkZXJcIikgfHxcbiAgICAgIGxvd2VyTWVzc2FnZS5pbmNsdWRlcyhcInVuYXZhaWxhYmxlXCIpIHx8XG4gICAgICBsb3dlck1lc3NhZ2UuaW5jbHVkZXMoXCJjb25uZWN0aW9uXCIpIHx8XG4gICAgICBsb3dlck1lc3NhZ2UuaW5jbHVkZXMoXCJ0aW1lb3V0XCIpXG4gICAgKSB7XG4gICAgICByZXR1cm4gbmV3IEludGVybmFsRXJyb3IobWVzc2FnZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBJbnRlcm5hbEVycm9yKG1lc3NhZ2UpO1xuICB9XG59XG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=VaultSecretServiceConfig.js.map
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVmF1bHRTZWNyZXRTZXJ2aWNlQ29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3NlY3JldHMvdmF1bHQvVmF1bHRTZWNyZXRTZXJ2aWNlQ29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBtb2R1bGUgaW50ZWdyYXRpb25zL3NlY3JldHMvdmF1bHQvY29uZmlnXG4gKiBAc3VtbWFyeSBWYXVsdCBzZWNyZXQgc2VydmljZSBjb25maWd1cmF0aW9uLlxuICogQGRlc2NyaXB0aW9uIENvbmZpZ3VyYXRpb24gc2NoZW1hIGZvciB0aGUgSGFzaGlDb3JwIFZhdWx0IEtWIHYyIGludGVncmF0aW9uLlxuICovXG5pbXBvcnQgeyBTZWNyZXRTZXJ2aWNlQ29uZmlnIH0gZnJvbSBcIi4uLy4uL3NlY3JldHMvY29yZVwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIFZhdWx0U2VjcmV0U2VydmljZUNvbmZpZyBleHRlbmRzIFNlY3JldFNlcnZpY2VDb25maWcge1xuICBwcm92aWRlcjogXCJoYXNoaWNvcnAtdmF1bHRcIjtcbiAgYWRkcmVzczogc3RyaW5nO1xuICB0b2tlbjogc3RyaW5nO1xuICBwYXRoOiBzdHJpbmc7XG4gIG5hbWVzcGFjZT86IHN0cmluZztcbn1cbiJdfQ==
@@ -5,4 +5,4 @@
5
5
  */
6
6
  export * from "./VaultSecretService.js";
7
7
  export * from "./VaultSecretServiceConfig.js";
8
- //# sourceMappingURL=index.js.map
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc2VjcmV0cy92YXVsdC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBQ0gsd0NBQXFDO0FBQ3JDLDhDQUEyQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQG1vZHVsZSBpbnRlZ3JhdGlvbnMvc2VjcmV0cy92YXVsdFxuICogQHN1bW1hcnkgSGFzaGlDb3JwIFZhdWx0IHNlY3JldCBzZXJ2aWNlIGV4cG9ydHMuXG4gKiBAZGVzY3JpcHRpb24gUmUtZXhwb3J0cyB0aGUgVmF1bHQgS1YgdjIgc2VydmljZSBhbmQgaXRzIGNvbmZpZ3VyYXRpb24uXG4gKi9cbmV4cG9ydCAqIGZyb20gXCIuL1ZhdWx0U2VjcmV0U2VydmljZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vVmF1bHRTZWNyZXRTZXJ2aWNlQ29uZmlnXCI7XG4iXX0=
@@ -18,4 +18,4 @@ export function responseBodyAsText(value) {
18
18
  return String(value ?? "");
19
19
  }
20
20
  }
21
- //# sourceMappingURL=runtime.js.map
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVudGltZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zaGFyZWQvcnVudGltZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLFVBQVUsYUFBYSxDQUFJLEtBQWM7SUFDN0MsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRO1FBQUUsT0FBTyxLQUFzQixDQUFDO0lBQzdELElBQUksQ0FBQztRQUNILE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQU0sQ0FBQztJQUNoQyxDQUFDO0lBQUMsTUFBTSxDQUFDO1FBQ1AsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztBQUNILENBQUM7QUFFRCxNQUFNLFVBQVUsa0JBQWtCLENBQUMsS0FBYztJQUMvQyxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVE7UUFBRSxPQUFPLEtBQUssQ0FBQztJQUM1QyxJQUFJLENBQUM7UUFDSCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFBQyxNQUFNLENBQUM7UUFDUCxPQUFPLE1BQU0sQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDLENBQUM7SUFDN0IsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gcGFyc2VKc29uQm9keTxUPih2YWx1ZTogdW5rbm93bik6IFQgfCB1bmRlZmluZWQge1xuICBpZiAodHlwZW9mIHZhbHVlICE9PSBcInN0cmluZ1wiKSByZXR1cm4gdmFsdWUgYXMgVCB8IHVuZGVmaW5lZDtcbiAgdHJ5IHtcbiAgICByZXR1cm4gSlNPTi5wYXJzZSh2YWx1ZSkgYXMgVDtcbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVzcG9uc2VCb2R5QXNUZXh0KHZhbHVlOiB1bmtub3duKTogc3RyaW5nIHtcbiAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gXCJzdHJpbmdcIikgcmV0dXJuIHZhbHVlO1xuICB0cnkge1xuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSh2YWx1ZSA/PyBcIlwiKTtcbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuIFN0cmluZyh2YWx1ZSA/PyBcIlwiKTtcbiAgfVxufVxuIl19
package/lib/esm/utils.js CHANGED
@@ -36,4 +36,4 @@ export async function execWithLogging(command, options, log, level = LogLevel.in
36
36
  });
37
37
  });
38
38
  }
39
- //# sourceMappingURL=utils.js.map
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUNILE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckMsT0FBTyxFQUFVLFFBQVEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV4RCxNQUFNLENBQUMsS0FBSyxVQUFVLGVBQWUsQ0FDbkMsT0FBZSxFQUNmLE9BQXdCLEVBQ3hCLEdBQVcsRUFDWCxRQUFrQixRQUFRLENBQUMsSUFBSTtJQUUvQixHQUFHLENBQUMsS0FBSyxDQUFDLGNBQWMsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUVuQyxPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1FBQ3JDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFckMsTUFBTSxNQUFNLEdBQWEsRUFBRSxDQUFDO1FBQzVCLE1BQU0sTUFBTSxHQUFhLEVBQUUsQ0FBQztRQUU1QixLQUFLLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFZLEVBQUUsRUFBRTtZQUN4QyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2xCLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUMxQixDQUFDLENBQUMsQ0FBQztRQUVILEtBQUssQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDLElBQVksRUFBRSxFQUFFO1lBQ3hDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDbEIsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUN6QixDQUFDLENBQUMsQ0FBQztRQUVILEtBQUssQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUMsSUFBWSxFQUFFLEVBQUU7WUFDakMsSUFBSSxJQUFJLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ2YsR0FBRyxDQUFDLEtBQUssQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO2dCQUM1QyxPQUFPLENBQUMsRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDcEUsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLEdBQUcsQ0FBQyxRQUFRLENBQ1YsNEJBQTRCLElBQUksT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQzNELENBQUM7Z0JBQ0YsTUFBTSxDQUNKLElBQUksYUFBYSxDQUNmLDRCQUE0QixJQUFJLEtBQUssTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUN6RCxDQUNGLENBQUM7WUFDSixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxLQUFLLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDLEdBQVUsRUFBRSxFQUFFO1lBQy9CLEdBQUcsQ0FBQyxRQUFRLENBQUMseUJBQXlCLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDN0MsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2QsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBtb2R1bGUgaW50ZWdyYXRpb25zL3V0aWxzXG4gKiBAc3VtbWFyeSBTaGFyZWQgaW50ZWdyYXRpb24gdXRpbGl0aWVzLlxuICogQGRlc2NyaXB0aW9uIFV0aWxpdHkgaGVscGVycyB1c2VkIGFjcm9zcyB0aGUgaW50ZWdyYXRpb25zIHBhY2thZ2UuXG4gKi9cbmltcG9ydCB7IGV4ZWMgfSBmcm9tIFwiY2hpbGRfcHJvY2Vzc1wiO1xuaW1wb3J0IHsgTG9nZ2VyLCBMb2dMZXZlbCB9IGZyb20gXCJAZGVjYWYtdHMvbG9nZ2luZ1wiO1xuaW1wb3J0IHsgSW50ZXJuYWxFcnJvciB9IGZyb20gXCJAZGVjYWYtdHMvZGItZGVjb3JhdG9yc1wiO1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZXhlY1dpdGhMb2dnaW5nKFxuICBjb21tYW5kOiBzdHJpbmcsXG4gIG9wdGlvbnM6IHsgY3dkOiBzdHJpbmcgfSxcbiAgbG9nOiBMb2dnZXIsXG4gIGxldmVsOiBMb2dMZXZlbCA9IExvZ0xldmVsLmluZm9cbik6IFByb21pc2U8eyBzdGRvdXQ6IHN0cmluZzsgc3RkZXJyOiBzdHJpbmcgfT4ge1xuICBsb2cuZGVidWcoYEV4ZWN1dGluZzogJHtjb21tYW5kfWApO1xuXG4gIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgY29uc3QgY2hpbGQgPSBleGVjKGNvbW1hbmQsIG9wdGlvbnMpO1xuXG4gICAgY29uc3Qgc3Rkb3V0OiBzdHJpbmdbXSA9IFtdO1xuICAgIGNvbnN0IHN0ZGVycjogc3RyaW5nW10gPSBbXTtcblxuICAgIGNoaWxkLnN0ZG91dD8ub24oXCJkYXRhXCIsIChkYXRhOiBzdHJpbmcpID0+IHtcbiAgICAgIHN0ZG91dC5wdXNoKGRhdGEpO1xuICAgICAgbG9nW2xldmVsXShkYXRhLnRyaW0oKSk7XG4gICAgfSk7XG5cbiAgICBjaGlsZC5zdGRlcnI/Lm9uKFwiZGF0YVwiLCAoZGF0YTogc3RyaW5nKSA9PiB7XG4gICAgICBzdGRlcnIucHVzaChkYXRhKTtcbiAgICAgIGxvZy5kZWJ1ZyhkYXRhLnRyaW0oKSk7XG4gICAgfSk7XG5cbiAgICBjaGlsZC5vbihcImNsb3NlXCIsIChjb2RlOiBudW1iZXIpID0+IHtcbiAgICAgIGlmIChjb2RlID09PSAwKSB7XG4gICAgICAgIGxvZy5zaWxseShgQ29tbWFuZCBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5YCk7XG4gICAgICAgIHJlc29sdmUoeyBzdGRvdXQ6IHN0ZG91dC5qb2luKFwiXFxuXCIpLCBzdGRlcnI6IHN0ZGVyci5qb2luKFwiXFxuXCIpIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbG9nLmNyaXRpY2FsKFxuICAgICAgICAgIGBDb21tYW5kIGZhaWxlZCB3aXRoIGNvZGUgJHtjb2RlfTpcXG4gJHtzdGRlcnIuam9pbihcIlxcblwiKX1gXG4gICAgICAgICk7XG4gICAgICAgIHJlamVjdChcbiAgICAgICAgICBuZXcgSW50ZXJuYWxFcnJvcihcbiAgICAgICAgICAgIGBDb21tYW5kIGZhaWxlZCB3aXRoIGNvZGUgJHtjb2RlfTogJHtzdGRlcnIuam9pbihcIlxcblwiKX1gXG4gICAgICAgICAgKVxuICAgICAgICApO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgY2hpbGQub24oXCJlcnJvclwiLCAoZXJyOiBFcnJvcikgPT4ge1xuICAgICAgbG9nLmNyaXRpY2FsKGBDb21tYW5kIGV4ZWN1dGlvbiBlcnJvcmAsIGVycik7XG4gICAgICByZWplY3QoZXJyKTtcbiAgICB9KTtcbiAgfSk7XG59XG4iXX0=
@@ -4,9 +4,10 @@
4
4
  * @description Executes user-authored JS/TS in a restricted sandbox via the
5
5
  * pluggable {@link CodeSandboxEvaluator}. The sandbox enforces the Code Node
6
6
  * restrictions: no imports, no requires, pure functions only (no system API
7
- * access). The executor reads the code, language, and timeout from the node's
8
- * graph metadata, resolves the sandbox context from the node's input values
9
- * and execution context, invokes the evaluator, and returns the result on the
7
+ * access). The executor reads the code from the node's `code` input port
8
+ * (spliced from {@link CodeInputSchema}), the timeout from the node's graph
9
+ * metadata, resolves the sandbox context from the node's input values and
10
+ * execution context, invokes the evaluator, and returns the result on the
10
11
  * `result` output port.
11
12
  */
12
13
  import type { GraphNodeExecutor } from "./GraphNodeExecutor.d.cts";
@@ -22,17 +23,17 @@ import type { GraphExecutionValues } from "../types.d.cts";
22
23
  * no evaluator is registered, the executor throws
23
24
  * `GRAPH_CODE_SANDBOX_NOT_CONFIGURED`.
24
25
  *
26
+ * The code is read from the `code` input port (spliced from
27
+ * {@link CodeInputSchema}). The language is hardcoded to `"javascript"` for
28
+ * now (the `language` field on `CodeInputSchema` has no `@input` so it is not
29
+ * a port and not wired). The timeout is read from `graph.metadata.timeoutMs`.
30
+ *
25
31
  * The sandbox context exposes:
26
- * - `$input` — the value on the node's `input` port (or the full input object
27
- * as a fallback when no `input` port is present).
28
- * - `$vars` — workflow variables (sourced from `context.metadata.vars` when
29
- * the engine populates it).
30
- * - `$item` / `$index` — current loop item and index (sourced from
31
- * `context.metadata` when the node executes inside a foreach body).
32
- * - `$node` — outputs of upstream nodes (sourced from
33
- * `context.metadata.nodes` when available).
34
- * - `$output` — the current draft output (sourced from
35
- * `context.metadata.output`).
32
+ * - `$input` — the full input values object (all resolved port values).
33
+ * - `$vars` — workflow variables (sourced from `context.metadata.vars`).
34
+ * - `$item` / `$index` — current loop item and index.
35
+ * - `$node` — outputs of upstream nodes.
36
+ * - `$output` — the current draft output.
36
37
  *
37
38
  * The evaluator's return value is forwarded verbatim on the `result` output
38
39
  * port.
@@ -42,7 +43,7 @@ export declare class CodeGraphNodeExecutor implements GraphNodeExecutor {
42
43
  /**
43
44
  * @param engine - The graph execution engine (or any object exposing the
44
45
  * optional `codeSandboxEvaluator`). This mirrors the pattern used by
45
- * {@link SwitchGraphNodeExecutor} for code conditions.
46
+ * {@link SwitchGraphNodeExecutor} for code conditions.
46
47
  */
47
48
  constructor(engine?: {
48
49
  codeSandboxEvaluator?: CodeSandboxEvaluator;
@@ -52,9 +53,8 @@ export declare class CodeGraphNodeExecutor implements GraphNodeExecutor {
52
53
  * Builds the {@link CodeSandboxContext} from the executor input and the
53
54
  * graph execution context.
54
55
  *
55
- * The `$input` value is resolved from the node's `input` port. When the node
56
- * has no explicit `input` port, the full input values object is used as
57
- * `$input` so the code can still access every resolved port value.
56
+ * The `$input` value is the full input values object so the code can access
57
+ * every resolved port value (including `code` itself via `$input.code`).
58
58
  *
59
59
  * The `$vars`, `$item`, `$index`, `$node`, and `$output` values are sourced
60
60
  * from `context.metadata` — the engine (or a wrapping loop executor) may
@@ -4,9 +4,10 @@
4
4
  * @description Executes user-authored JS/TS in a restricted sandbox via the
5
5
  * pluggable {@link CodeSandboxEvaluator}. The sandbox enforces the Code Node
6
6
  * restrictions: no imports, no requires, pure functions only (no system API
7
- * access). The executor reads the code, language, and timeout from the node's
8
- * graph metadata, resolves the sandbox context from the node's input values
9
- * and execution context, invokes the evaluator, and returns the result on the
7
+ * access). The executor reads the code from the node's `code` input port
8
+ * (spliced from {@link CodeInputSchema}), the timeout from the node's graph
9
+ * metadata, resolves the sandbox context from the node's input values and
10
+ * execution context, invokes the evaluator, and returns the result on the
10
11
  * `result` output port.
11
12
  */
12
13
  import type { GraphNodeExecutor } from "./GraphNodeExecutor.d.mts";
@@ -22,17 +23,17 @@ import type { GraphExecutionValues } from "../types.d.mts";
22
23
  * no evaluator is registered, the executor throws
23
24
  * `GRAPH_CODE_SANDBOX_NOT_CONFIGURED`.
24
25
  *
26
+ * The code is read from the `code` input port (spliced from
27
+ * {@link CodeInputSchema}). The language is hardcoded to `"javascript"` for
28
+ * now (the `language` field on `CodeInputSchema` has no `@input` so it is not
29
+ * a port and not wired). The timeout is read from `graph.metadata.timeoutMs`.
30
+ *
25
31
  * The sandbox context exposes:
26
- * - `$input` — the value on the node's `input` port (or the full input object
27
- * as a fallback when no `input` port is present).
28
- * - `$vars` — workflow variables (sourced from `context.metadata.vars` when
29
- * the engine populates it).
30
- * - `$item` / `$index` — current loop item and index (sourced from
31
- * `context.metadata` when the node executes inside a foreach body).
32
- * - `$node` — outputs of upstream nodes (sourced from
33
- * `context.metadata.nodes` when available).
34
- * - `$output` — the current draft output (sourced from
35
- * `context.metadata.output`).
32
+ * - `$input` — the full input values object (all resolved port values).
33
+ * - `$vars` — workflow variables (sourced from `context.metadata.vars`).
34
+ * - `$item` / `$index` — current loop item and index.
35
+ * - `$node` — outputs of upstream nodes.
36
+ * - `$output` — the current draft output.
36
37
  *
37
38
  * The evaluator's return value is forwarded verbatim on the `result` output
38
39
  * port.
@@ -42,7 +43,7 @@ export declare class CodeGraphNodeExecutor implements GraphNodeExecutor {
42
43
  /**
43
44
  * @param engine - The graph execution engine (or any object exposing the
44
45
  * optional `codeSandboxEvaluator`). This mirrors the pattern used by
45
- * {@link SwitchGraphNodeExecutor} for code conditions.
46
+ * {@link SwitchGraphNodeExecutor} for code conditions.
46
47
  */
47
48
  constructor(engine?: {
48
49
  codeSandboxEvaluator?: CodeSandboxEvaluator;
@@ -52,9 +53,8 @@ export declare class CodeGraphNodeExecutor implements GraphNodeExecutor {
52
53
  * Builds the {@link CodeSandboxContext} from the executor input and the
53
54
  * graph execution context.
54
55
  *
55
- * The `$input` value is resolved from the node's `input` port. When the node
56
- * has no explicit `input` port, the full input values object is used as
57
- * `$input` so the code can still access every resolved port value.
56
+ * The `$input` value is the full input values object so the code can access
57
+ * every resolved port value (including `code` itself via `$input.code`).
58
58
  *
59
59
  * The `$vars`, `$item`, `$index`, `$node`, and `$output` values are sourced
60
60
  * from `context.metadata` — the engine (or a wrapping loop executor) may
@@ -32,6 +32,29 @@ export interface CodeSandboxContext {
32
32
  index?: number;
33
33
  /** Outputs of upstream nodes, accessible as `$node["Name"].output`. */
34
34
  nodes?: Record<string, Record<string, unknown>>;
35
+ /**
36
+ * Optional logger that receives `console.log/warn/debug/error` calls from
37
+ * inside the sandbox. When provided, a `console` object is injected into
38
+ * the isolate whose methods forward to this logger.
39
+ */
40
+ logger?: SandboxLogger;
41
+ }
42
+ /**
43
+ * Minimal logger interface the sandbox can call without importing the full
44
+ * Decaf logging package (keeps the interface frontend-safe). Mirrors the
45
+ * methods on `@decaf-ts/logging`'s `Logger`.
46
+ */
47
+ export interface SandboxLogger {
48
+ benchmark(msg: string, meta?: unknown): void;
49
+ fatal(msg: string, meta?: unknown): void;
50
+ critical(msg: string, meta?: unknown): void;
51
+ silly(msg: string, meta?: unknown): void;
52
+ verbose(msg: string, meta?: unknown): void;
53
+ info(msg: string, meta?: unknown): void;
54
+ debug(msg: string, meta?: unknown): void;
55
+ error(msg: string, meta?: unknown): void;
56
+ warn(msg: string, meta?: unknown): void;
57
+ trace(msg: string, meta?: unknown): void;
35
58
  }
36
59
  /**
37
60
  * Pluggable evaluator for code-based conditions and Code Node transforms.
@@ -32,6 +32,29 @@ export interface CodeSandboxContext {
32
32
  index?: number;
33
33
  /** Outputs of upstream nodes, accessible as `$node["Name"].output`. */
34
34
  nodes?: Record<string, Record<string, unknown>>;
35
+ /**
36
+ * Optional logger that receives `console.log/warn/debug/error` calls from
37
+ * inside the sandbox. When provided, a `console` object is injected into
38
+ * the isolate whose methods forward to this logger.
39
+ */
40
+ logger?: SandboxLogger;
41
+ }
42
+ /**
43
+ * Minimal logger interface the sandbox can call without importing the full
44
+ * Decaf logging package (keeps the interface frontend-safe). Mirrors the
45
+ * methods on `@decaf-ts/logging`'s `Logger`.
46
+ */
47
+ export interface SandboxLogger {
48
+ benchmark(msg: string, meta?: unknown): void;
49
+ fatal(msg: string, meta?: unknown): void;
50
+ critical(msg: string, meta?: unknown): void;
51
+ silly(msg: string, meta?: unknown): void;
52
+ verbose(msg: string, meta?: unknown): void;
53
+ info(msg: string, meta?: unknown): void;
54
+ debug(msg: string, meta?: unknown): void;
55
+ error(msg: string, meta?: unknown): void;
56
+ warn(msg: string, meta?: unknown): void;
57
+ trace(msg: string, meta?: unknown): void;
35
58
  }
36
59
  /**
37
60
  * Pluggable evaluator for code-based conditions and Code Node transforms.
@@ -93,6 +93,12 @@ export declare class GraphExecutionEngine implements Observable<[GraphExecutionO
93
93
  private executeNode;
94
94
  /**
95
95
  * Resolves a node's input values from incoming edges.
96
+ *
97
+ * When multiple edges target the same port, their values are spread into the
98
+ * top-level inputs keyed by each edge's `sourcePort`. This allows multiple
99
+ * workflow input badges to connect to a single port (e.g. the Code node's
100
+ * `data` port) and have all values accessible directly as
101
+ * `$input.{sourcePort}` (e.g. `$input.count`, `$input.text`).
96
102
  */
97
103
  private resolveNodeInputs;
98
104
  /**
@@ -93,6 +93,12 @@ export declare class GraphExecutionEngine implements Observable<[GraphExecutionO
93
93
  private executeNode;
94
94
  /**
95
95
  * Resolves a node's input values from incoming edges.
96
+ *
97
+ * When multiple edges target the same port, their values are spread into the
98
+ * top-level inputs keyed by each edge's `sourcePort`. This allows multiple
99
+ * workflow input badges to connect to a single port (e.g. the Code node's
100
+ * `data` port) and have all values accessible directly as
101
+ * `$input.{sourcePort}` (e.g. `$input.count`, `$input.text`).
96
102
  */
97
103
  private resolveNodeInputs;
98
104
  /**
@@ -42,4 +42,22 @@ export declare class IsolatedVmCodeSandboxEvaluator implements CodeSandboxEvalua
42
42
  */
43
43
  constructor(defaultTimeoutMs?: number, defaultMemoryMb?: number);
44
44
  evaluate(ctx: CodeSandboxContext): Promise<unknown>;
45
+ /**
46
+ * Injects a `console` object into the isolate whose methods forward to the
47
+ * Context logger (bound to `runId`).
48
+ *
49
+ * Every standard `console.*` method is supported:
50
+ * `log`, `info`, `warn`, `error`, `debug`, `trace`, `dir`, `dirxml`,
51
+ * `table`, `group`, `groupCollapsed`, `groupEnd`, `time`, `timeEnd`,
52
+ * `timeLog`, `assert`, `count`, `countReset`, `clear`.
53
+ *
54
+ * Arguments are serialised inside the isolate (via `JSON.stringify` with a
55
+ * safe fallback) before being passed across the isolate boundary, because
56
+ * `isolated-vm` cannot copy arbitrary host objects.
57
+ *
58
+ * @param jail - The isolate's global object.
59
+ * @param logger - The Context logger that receives the forwarded calls.
60
+ * @param context - The isolate context (for running the init script).
61
+ */
62
+ private injectConsole;
45
63
  }
@@ -42,4 +42,22 @@ export declare class IsolatedVmCodeSandboxEvaluator implements CodeSandboxEvalua
42
42
  */
43
43
  constructor(defaultTimeoutMs?: number, defaultMemoryMb?: number);
44
44
  evaluate(ctx: CodeSandboxContext): Promise<unknown>;
45
+ /**
46
+ * Injects a `console` object into the isolate whose methods forward to the
47
+ * Context logger (bound to `runId`).
48
+ *
49
+ * Every standard `console.*` method is supported:
50
+ * `log`, `info`, `warn`, `error`, `debug`, `trace`, `dir`, `dirxml`,
51
+ * `table`, `group`, `groupCollapsed`, `groupEnd`, `time`, `timeEnd`,
52
+ * `timeLog`, `assert`, `count`, `countReset`, `clear`.
53
+ *
54
+ * Arguments are serialised inside the isolate (via `JSON.stringify` with a
55
+ * safe fallback) before being passed across the isolate boundary, because
56
+ * `isolated-vm` cannot copy arbitrary host objects.
57
+ *
58
+ * @param jail - The isolate's global object.
59
+ * @param logger - The Context logger that receives the forwarded calls.
60
+ * @param context - The isolate context (for running the init script).
61
+ */
62
+ private injectConsole;
45
63
  }
@@ -0,0 +1,19 @@
1
+ /**
2
+ * @module integrations/graph/execution/LogGraphNodeExecutor
3
+ * @summary Executor for the Log flow-control node.
4
+ * @description Logs the input value via the execution context's logger and
5
+ * forwards it unchanged on the `logged` output port. Useful for debugging,
6
+ * audit trails, and discard/side-effect branches in a workflow.
7
+ */
8
+ import type { GraphNodeExecutor } from "./GraphNodeExecutor.d.cts";
9
+ import type { GraphExecutionContext } from "./GraphExecutionContext.d.cts";
10
+ import type { GraphExecutionValues } from "../types.d.cts";
11
+ /**
12
+ * Executor for `core.flow.log` nodes.
13
+ *
14
+ * Reads the `value` input port, logs it through `context.log()`, and returns
15
+ * it unchanged on the `logged` output port.
16
+ */
17
+ export declare class LogGraphNodeExecutor implements GraphNodeExecutor {
18
+ execute(input: GraphExecutionValues, context: GraphExecutionContext): Promise<GraphExecutionValues>;
19
+ }
@@ -0,0 +1,19 @@
1
+ /**
2
+ * @module integrations/graph/execution/LogGraphNodeExecutor
3
+ * @summary Executor for the Log flow-control node.
4
+ * @description Logs the input value via the execution context's logger and
5
+ * forwards it unchanged on the `logged` output port. Useful for debugging,
6
+ * audit trails, and discard/side-effect branches in a workflow.
7
+ */
8
+ import type { GraphNodeExecutor } from "./GraphNodeExecutor.d.mts";
9
+ import type { GraphExecutionContext } from "./GraphExecutionContext.d.mts";
10
+ import type { GraphExecutionValues } from "../types.d.mts";
11
+ /**
12
+ * Executor for `core.flow.log` nodes.
13
+ *
14
+ * Reads the `value` input port, logs it through `context.log()`, and returns
15
+ * it unchanged on the `logged` output port.
16
+ */
17
+ export declare class LogGraphNodeExecutor implements GraphNodeExecutor {
18
+ execute(input: GraphExecutionValues, context: GraphExecutionContext): Promise<GraphExecutionValues>;
19
+ }
@@ -15,8 +15,9 @@ import type { CodeSandboxEvaluator } from "./CodeSandboxEvaluator.d.cts";
15
15
  * Executor for `core.flow.switch` nodes.
16
16
  *
17
17
  * Evaluates each case's condition in order and routes the input to the
18
- * first matching case's output port. When no case matches, routes to the
19
- * `default` output port.
18
+ * first matching case's output port. When no case matches:
19
+ * - If `hasDefault` is `true` (or omitted), routes to the `default` output port.
20
+ * - If `hasDefault` is `false`, returns an empty output (the input is dropped).
20
21
  *
21
22
  * Condition evaluation:
22
23
  * - `ConditionExpression` — evaluated via {@link ConditionExpressionEvaluator}.
@@ -15,8 +15,9 @@ import type { CodeSandboxEvaluator } from "./CodeSandboxEvaluator.d.mts";
15
15
  * Executor for `core.flow.switch` nodes.
16
16
  *
17
17
  * Evaluates each case's condition in order and routes the input to the
18
- * first matching case's output port. When no case matches, routes to the
19
- * `default` output port.
18
+ * first matching case's output port. When no case matches:
19
+ * - If `hasDefault` is `true` (or omitted), routes to the `default` output port.
20
+ * - If `hasDefault` is `false`, returns an empty output (the input is dropped).
20
21
  *
21
22
  * Condition evaluation:
22
23
  * - `ConditionExpression` — evaluated via {@link ConditionExpressionEvaluator}.
@@ -11,4 +11,5 @@ export * from "./GraphExecutionEngine.d.cts";
11
11
  export * from "./CodeSandboxEvaluator.d.cts";
12
12
  export * from "./SwitchGraphNodeExecutor.d.cts";
13
13
  export * from "./CodeGraphNodeExecutor.d.cts";
14
+ export * from "./LogGraphNodeExecutor.d.cts";
14
15
  export * from "./IsolatedVmCodeSandboxEvaluator.d.cts";
@@ -11,4 +11,5 @@ export * from "./GraphExecutionEngine.d.mts";
11
11
  export * from "./CodeSandboxEvaluator.d.mts";
12
12
  export * from "./SwitchGraphNodeExecutor.d.mts";
13
13
  export * from "./CodeGraphNodeExecutor.d.mts";
14
+ export * from "./LogGraphNodeExecutor.d.mts";
14
15
  export * from "./IsolatedVmCodeSandboxEvaluator.d.mts";
@@ -32,6 +32,7 @@ export * from "./execution/GraphExecutionEngine.d.cts";
32
32
  export * from "./execution/CodeSandboxEvaluator.d.cts";
33
33
  export * from "./execution/SwitchGraphNodeExecutor.d.cts";
34
34
  export * from "./execution/CodeGraphNodeExecutor.d.cts";
35
+ export * from "./execution/LogGraphNodeExecutor.d.cts";
35
36
  export * from "./execution/IsolatedVmCodeSandboxEvaluator.d.cts";
36
37
  export * from "./registry/GraphNodeExecutorRegistry.d.cts";
37
38
  export * from "./registry/GraphNodeExecutorResolver.d.cts";
@@ -32,6 +32,7 @@ export * from "./execution/GraphExecutionEngine.d.mts";
32
32
  export * from "./execution/CodeSandboxEvaluator.d.mts";
33
33
  export * from "./execution/SwitchGraphNodeExecutor.d.mts";
34
34
  export * from "./execution/CodeGraphNodeExecutor.d.mts";
35
+ export * from "./execution/LogGraphNodeExecutor.d.mts";
35
36
  export * from "./execution/IsolatedVmCodeSandboxEvaluator.d.mts";
36
37
  export * from "./registry/GraphNodeExecutorRegistry.d.mts";
37
38
  export * from "./registry/GraphNodeExecutorResolver.d.mts";
@@ -38,7 +38,9 @@ export declare class SwitchFlowNode extends GraphNode {
38
38
  /**
39
39
  * Computes the node's ports, size, and data patch from the given switch
40
40
  * metadata. Each case gets its own output port on the right side; the
41
- * node grows in height as cases are added.
41
+ * `default` port always renders **last** (DECAF-32 §21 port-ordering rule,
42
+ * DECAF-34 §6.2). When `hasDefault` is `false`, the `default` output port
43
+ * is omitted entirely. The node grows in height as cases are added.
42
44
  */
43
45
  static applyMetadata(meta: SwitchNodeMetadata): NodeMetadataChange;
44
46
  }
@@ -103,11 +105,35 @@ export declare class ReturnFlowNode extends Model {
103
105
  * sandbox context exposes `$input`, `$vars`, `$item`, `$index`, `$node`, and
104
106
  * `$output` as data variables. TypeScript is supported via transpilation.
105
107
  */
108
+ /**
109
+ * Input schema for the Code node. The `@input` on `CodeFlowNode.input` is a
110
+ * schema group — the nested model's `@input` ports are spliced into the
111
+ * parent unprefixed. `code` has `@input` + `@uielement("code-editor")`, so it
112
+ * appears as a port AND in the CRUD modal (the only visible field). `data`
113
+ * has `@input` + `@hidden()` but no `@uielement`, so it is a canvas-only port
114
+ * (for edge connections from workflow input badges) but never appears in the
115
+ * CRUD modal. `language` has no `@input` and no `@uielement`, so it is
116
+ * neither a port nor rendered — it defaults to `"javascript"`.
117
+ */
118
+ export declare class CodeInputSchema extends Model {
119
+ language: string;
120
+ code: string;
121
+ data?: unknown;
122
+ }
106
123
  export declare class CodeFlowNode extends Model {
107
- input: unknown;
124
+ input: CodeInputSchema;
108
125
  result: unknown;
109
126
  }
127
+ /**
128
+ * Log — logs the input value and forwards it unchanged on the `logged`
129
+ * output port. Useful for debugging, audit trails, and discard/side-effect
130
+ * branches in a workflow.
131
+ */
132
+ export declare class LogFlowNode extends Model {
133
+ value: unknown;
134
+ logged: unknown;
135
+ }
110
136
  /**
111
137
  * All built-in flow-control node constructors.
112
138
  */
113
- export declare const GRAPH_FLOW_CONTROL_NODES: readonly [typeof IfFlowNode, typeof SwitchFlowNode, typeof ParallelFlowNode, typeof MergeFlowNode, typeof MapFlowNode, typeof DelayFlowNode, typeof ErrorBoundaryFlowNode, typeof HumanApprovalFlowNode, typeof ReturnFlowNode, typeof CodeFlowNode];
139
+ export declare const GRAPH_FLOW_CONTROL_NODES: readonly [typeof IfFlowNode, typeof SwitchFlowNode, typeof ParallelFlowNode, typeof MergeFlowNode, typeof MapFlowNode, typeof DelayFlowNode, typeof ErrorBoundaryFlowNode, typeof HumanApprovalFlowNode, typeof ReturnFlowNode, typeof CodeFlowNode, typeof LogFlowNode];
@@ -38,7 +38,9 @@ export declare class SwitchFlowNode extends GraphNode {
38
38
  /**
39
39
  * Computes the node's ports, size, and data patch from the given switch
40
40
  * metadata. Each case gets its own output port on the right side; the
41
- * node grows in height as cases are added.
41
+ * `default` port always renders **last** (DECAF-32 §21 port-ordering rule,
42
+ * DECAF-34 §6.2). When `hasDefault` is `false`, the `default` output port
43
+ * is omitted entirely. The node grows in height as cases are added.
42
44
  */
43
45
  static applyMetadata(meta: SwitchNodeMetadata): NodeMetadataChange;
44
46
  }
@@ -103,11 +105,35 @@ export declare class ReturnFlowNode extends Model {
103
105
  * sandbox context exposes `$input`, `$vars`, `$item`, `$index`, `$node`, and
104
106
  * `$output` as data variables. TypeScript is supported via transpilation.
105
107
  */
108
+ /**
109
+ * Input schema for the Code node. The `@input` on `CodeFlowNode.input` is a
110
+ * schema group — the nested model's `@input` ports are spliced into the
111
+ * parent unprefixed. `code` has `@input` + `@uielement("code-editor")`, so it
112
+ * appears as a port AND in the CRUD modal (the only visible field). `data`
113
+ * has `@input` + `@hidden()` but no `@uielement`, so it is a canvas-only port
114
+ * (for edge connections from workflow input badges) but never appears in the
115
+ * CRUD modal. `language` has no `@input` and no `@uielement`, so it is
116
+ * neither a port nor rendered — it defaults to `"javascript"`.
117
+ */
118
+ export declare class CodeInputSchema extends Model {
119
+ language: string;
120
+ code: string;
121
+ data?: unknown;
122
+ }
106
123
  export declare class CodeFlowNode extends Model {
107
- input: unknown;
124
+ input: CodeInputSchema;
108
125
  result: unknown;
109
126
  }
127
+ /**
128
+ * Log — logs the input value and forwards it unchanged on the `logged`
129
+ * output port. Useful for debugging, audit trails, and discard/side-effect
130
+ * branches in a workflow.
131
+ */
132
+ export declare class LogFlowNode extends Model {
133
+ value: unknown;
134
+ logged: unknown;
135
+ }
110
136
  /**
111
137
  * All built-in flow-control node constructors.
112
138
  */
113
- export declare const GRAPH_FLOW_CONTROL_NODES: readonly [typeof IfFlowNode, typeof SwitchFlowNode, typeof ParallelFlowNode, typeof MergeFlowNode, typeof MapFlowNode, typeof DelayFlowNode, typeof ErrorBoundaryFlowNode, typeof HumanApprovalFlowNode, typeof ReturnFlowNode, typeof CodeFlowNode];
139
+ export declare const GRAPH_FLOW_CONTROL_NODES: readonly [typeof IfFlowNode, typeof SwitchFlowNode, typeof ParallelFlowNode, typeof MergeFlowNode, typeof MapFlowNode, typeof DelayFlowNode, typeof ErrorBoundaryFlowNode, typeof HumanApprovalFlowNode, typeof ReturnFlowNode, typeof CodeFlowNode, typeof LogFlowNode];
@@ -102,10 +102,16 @@ export interface SwitchCase {
102
102
  }
103
103
  /**
104
104
  * Metadata for a Switch node, stored in `metadata.switch`.
105
+ *
106
+ * When `hasDefault` is `false`, the `default` output port is hidden and the
107
+ * executor returns an empty output (no port) when no case matches. When
108
+ * `hasDefault` is `true` (or omitted), the `default` output port is visible
109
+ * and receives the input when no case matches (DECAF-34 §6.2).
105
110
  */
106
111
  export interface SwitchNodeMetadata {
107
112
  cases: SwitchCase[];
108
113
  defaultPort?: string;
114
+ hasDefault?: boolean;
109
115
  }
110
116
  /**
111
117
  * The result of applying a metadata change to a node. Each concrete node
@@ -102,10 +102,16 @@ export interface SwitchCase {
102
102
  }
103
103
  /**
104
104
  * Metadata for a Switch node, stored in `metadata.switch`.
105
+ *
106
+ * When `hasDefault` is `false`, the `default` output port is hidden and the
107
+ * executor returns an empty output (no port) when no case matches. When
108
+ * `hasDefault` is `true` (or omitted), the `default` output port is visible
109
+ * and receives the input when no case matches (DECAF-34 §6.2).
105
110
  */
106
111
  export interface SwitchNodeMetadata {
107
112
  cases: SwitchCase[];
108
113
  defaultPort?: string;
114
+ hasDefault?: boolean;
109
115
  }
110
116
  /**
111
117
  * The result of applying a metadata change to a node. Each concrete node