@decaf-ts/integrations 0.3.6 → 0.3.8

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 (876) 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/constants.cjs +2 -2
  32. package/lib/cjs/graph/decorators.cjs +2 -2
  33. package/lib/cjs/graph/errors/GraphCycleError.cjs +2 -2
  34. package/lib/cjs/graph/errors/GraphExecutionError.cjs +2 -2
  35. package/lib/cjs/graph/errors/GraphInputError.cjs +2 -2
  36. package/lib/cjs/graph/errors/GraphLoopLimitError.cjs +2 -2
  37. package/lib/cjs/graph/errors/GraphPinningError.cjs +2 -2
  38. package/lib/cjs/graph/errors/GraphPortError.cjs +2 -2
  39. package/lib/cjs/graph/errors/GraphStoreError.cjs +2 -2
  40. package/lib/cjs/graph/errors/GraphTopologyError.cjs +2 -2
  41. package/lib/cjs/graph/errors/index.cjs +2 -2
  42. package/lib/cjs/graph/events/GraphExecutionEvent.cjs +2 -2
  43. package/lib/cjs/graph/events/GraphExecutionEventEmitter.cjs +2 -2
  44. package/lib/cjs/graph/events/GraphExecutionEventFactory.cjs +2 -2
  45. package/lib/cjs/graph/events/GraphExecutionObserver.cjs +2 -2
  46. package/lib/cjs/graph/events/index.cjs +2 -2
  47. package/lib/cjs/graph/execution/CodeSandboxEvaluator.cjs +2 -2
  48. package/lib/cjs/graph/execution/GraphExecutionContext.cjs +2 -2
  49. package/lib/cjs/graph/execution/GraphExecutionEngine.cjs +2 -2
  50. package/lib/cjs/graph/execution/GraphExecutionFrame.cjs +2 -2
  51. package/lib/cjs/graph/execution/GraphExecutionResult.cjs +2 -2
  52. package/lib/cjs/graph/execution/GraphNodeExecutor.cjs +2 -2
  53. package/lib/cjs/graph/execution/SwitchGraphNodeExecutor.cjs +2 -2
  54. package/lib/cjs/graph/execution/index.cjs +2 -2
  55. package/lib/cjs/graph/index.cjs +2 -2
  56. package/lib/cjs/graph/loops/ConditionExpressionEvaluator.cjs +2 -2
  57. package/lib/cjs/graph/loops/ForeachGraphNodeExecutor.cjs +2 -2
  58. package/lib/cjs/graph/loops/GraphConditionEvaluator.cjs +2 -2
  59. package/lib/cjs/graph/loops/GraphLoopExecutionContext.cjs +2 -2
  60. package/lib/cjs/graph/loops/UntilGraphNodeExecutor.cjs +2 -2
  61. package/lib/cjs/graph/loops/WhileGraphNodeExecutor.cjs +2 -2
  62. package/lib/cjs/graph/loops/index.cjs +2 -2
  63. package/lib/cjs/graph/nodes/agent.cjs +2 -2
  64. package/lib/cjs/graph/nodes/base.cjs +35 -0
  65. package/lib/cjs/graph/nodes/category-styles.cjs +2 -2
  66. package/lib/cjs/graph/nodes/flow-control.cjs +31 -3
  67. package/lib/cjs/graph/nodes/index.cjs +3 -2
  68. package/lib/cjs/graph/nodes/triggers.cjs +2 -2
  69. package/lib/cjs/graph/pinning/GraphPinningDependencyResolver.cjs +2 -2
  70. package/lib/cjs/graph/pinning/GraphPinningMetadata.cjs +2 -2
  71. package/lib/cjs/graph/pinning/GraphPinningPolicy.cjs +2 -2
  72. package/lib/cjs/graph/pinning/GraphPinningService.cjs +2 -2
  73. package/lib/cjs/graph/pinning/index.cjs +2 -2
  74. package/lib/cjs/graph/planning/GraphExecutionPlan.cjs +2 -2
  75. package/lib/cjs/graph/planning/GraphExecutionPlanEdge.cjs +2 -2
  76. package/lib/cjs/graph/planning/GraphExecutionPlanLayer.cjs +2 -2
  77. package/lib/cjs/graph/planning/GraphExecutionPlanNode.cjs +2 -2
  78. package/lib/cjs/graph/planning/GraphExecutionPlanner.cjs +2 -2
  79. package/lib/cjs/graph/planning/GraphRelationResolver.cjs +2 -2
  80. package/lib/cjs/graph/planning/GraphTopology.cjs +2 -2
  81. package/lib/cjs/graph/planning/index.cjs +2 -2
  82. package/lib/cjs/graph/registry/GraphNodeExecutorRegistry.cjs +2 -2
  83. package/lib/cjs/graph/registry/GraphNodeExecutorResolver.cjs +2 -2
  84. package/lib/cjs/graph/registry/index.cjs +2 -2
  85. package/lib/cjs/graph/snapshots/GraphExecutionSnapshotMapper.cjs +2 -2
  86. package/lib/cjs/graph/snapshots/index.cjs +2 -2
  87. package/lib/cjs/graph/store/GraphCachedValue.cjs +2 -2
  88. package/lib/cjs/graph/store/GraphValueKey.cjs +2 -2
  89. package/lib/cjs/graph/store/GraphValueStore.cjs +2 -2
  90. package/lib/cjs/graph/store/GraphValueStoreAdapter.cjs +2 -2
  91. package/lib/cjs/graph/store/InMemoryGraphValueStoreAdapter.cjs +2 -2
  92. package/lib/cjs/graph/store/index.cjs +2 -2
  93. package/lib/cjs/graph/types.cjs +2 -2
  94. package/lib/cjs/graph/validation/GraphDefinitionValidator.cjs +2 -2
  95. package/lib/cjs/graph/validation/GraphPortSchemaResolver.cjs +2 -2
  96. package/lib/cjs/graph/validation/GraphValueValidator.cjs +2 -2
  97. package/lib/cjs/graph/validation/index.cjs +2 -2
  98. package/lib/cjs/index.cjs +6 -5
  99. package/lib/cjs/keycloak/index.cjs +2 -2
  100. package/lib/cjs/keycloak/services/KeycloakAuthService.cjs +2 -2
  101. package/lib/cjs/keycloak/services/KeycloakClientService.cjs +2 -2
  102. package/lib/cjs/keycloak/services/KeycloakIdentityProviderService.cjs +2 -2
  103. package/lib/cjs/keycloak/services/KeycloakRealmService.cjs +2 -2
  104. package/lib/cjs/keycloak/services/KeycloakRoleService.cjs +2 -2
  105. package/lib/cjs/keycloak/services/KeycloakService.cjs +2 -2
  106. package/lib/cjs/keycloak/services/KeycloakUserService.cjs +2 -2
  107. package/lib/cjs/keycloak/services/index.cjs +2 -2
  108. package/lib/cjs/keycloak/services/runtime.cjs +2 -2
  109. package/lib/cjs/keycloak/types.cjs +2 -2
  110. package/lib/cjs/kibana/helpers.cjs +2 -2
  111. package/lib/cjs/kibana/index.cjs +2 -2
  112. package/lib/cjs/kibana/services/KibanaAuthService.cjs +2 -2
  113. package/lib/cjs/kibana/services/KibanaDashboardService.cjs +2 -2
  114. package/lib/cjs/kibana/services/KibanaDataViewService.cjs +2 -2
  115. package/lib/cjs/kibana/services/KibanaRoleService.cjs +2 -2
  116. package/lib/cjs/kibana/services/KibanaService.cjs +2 -2
  117. package/lib/cjs/kibana/services/KibanaSpaceService.cjs +2 -2
  118. package/lib/cjs/kibana/services/KibanaUserService.cjs +2 -2
  119. package/lib/cjs/kibana/services/index.cjs +2 -2
  120. package/lib/cjs/kibana/services/runtime.cjs +2 -2
  121. package/lib/cjs/kibana/types.cjs +2 -2
  122. package/lib/cjs/namespaces/index.cjs +26 -0
  123. package/lib/cjs/namespaces/models/authorization-model.cjs +12 -0
  124. package/lib/cjs/namespaces/models/effective-permission.model.cjs +95 -0
  125. package/lib/cjs/namespaces/models/group-membership.model.cjs +66 -0
  126. package/lib/cjs/namespaces/models/group.model.cjs +74 -0
  127. package/lib/cjs/namespaces/models/index.cjs +39 -0
  128. package/lib/cjs/namespaces/models/inheritance-block.model.cjs +76 -0
  129. package/lib/cjs/namespaces/models/org-unit-closure.model.cjs +66 -0
  130. package/lib/cjs/namespaces/models/org-unit-membership.model.cjs +73 -0
  131. package/lib/cjs/namespaces/models/org-unit-profile.model.cjs +64 -0
  132. package/lib/cjs/namespaces/models/org-unit.model.cjs +102 -0
  133. package/lib/cjs/namespaces/models/permission.model.cjs +64 -0
  134. package/lib/cjs/namespaces/models/principal.model.cjs +77 -0
  135. package/lib/cjs/namespaces/models/protected-resource.model.cjs +99 -0
  136. package/lib/cjs/namespaces/models/resource-grant.model.cjs +88 -0
  137. package/lib/cjs/namespaces/models/role-assignment.model.cjs +98 -0
  138. package/lib/cjs/namespaces/models/role-permission.model.cjs +55 -0
  139. package/lib/cjs/namespaces/models/role.model.cjs +84 -0
  140. package/lib/cjs/namespaces/models/storage-binding.model.cjs +85 -0
  141. package/lib/cjs/namespaces/models/tenant-membership.model.cjs +67 -0
  142. package/lib/cjs/namespaces/models/tenant-profile.model.cjs +64 -0
  143. package/lib/cjs/namespaces/models/tenant.model.cjs +88 -0
  144. package/lib/cjs/namespaces/models/user.model.cjs +75 -0
  145. package/lib/cjs/namespaces/org-based-authorization-system.cjs +286 -0
  146. package/lib/cjs/namespaces/org-based-authorization-system.models.cjs +968 -0
  147. package/lib/cjs/namespaces/org-based-authorization-system.services.cjs +1046 -0
  148. package/lib/cjs/namespaces/services/authz.service.cjs +76 -0
  149. package/lib/cjs/namespaces/services/bootstrap.service.cjs +112 -0
  150. package/lib/cjs/namespaces/services/effective-permission.service.cjs +150 -0
  151. package/lib/cjs/namespaces/services/group-membership.service.cjs +42 -0
  152. package/lib/cjs/namespaces/services/group.service.cjs +30 -0
  153. package/lib/cjs/namespaces/services/index.cjs +42 -0
  154. package/lib/cjs/namespaces/services/inheritance-block.service.cjs +32 -0
  155. package/lib/cjs/namespaces/services/org-unit-closure.service.cjs +55 -0
  156. package/lib/cjs/namespaces/services/org-unit-membership.service.cjs +34 -0
  157. package/lib/cjs/namespaces/services/org-unit-profile.service.cjs +23 -0
  158. package/lib/cjs/namespaces/services/org-unit.service.cjs +160 -0
  159. package/lib/cjs/namespaces/services/permission.service.cjs +29 -0
  160. package/lib/cjs/namespaces/services/principal.service.cjs +35 -0
  161. package/lib/cjs/namespaces/services/protected-resource.service.cjs +43 -0
  162. package/lib/cjs/namespaces/services/resource-grant.service.cjs +45 -0
  163. package/lib/cjs/namespaces/services/resource-lifecycle.service.cjs +24 -0
  164. package/lib/cjs/namespaces/services/role-assignment.service.cjs +41 -0
  165. package/lib/cjs/namespaces/services/role-permission.service.cjs +51 -0
  166. package/lib/cjs/namespaces/services/role.service.cjs +45 -0
  167. package/lib/cjs/namespaces/services/storage-binding.service.cjs +39 -0
  168. package/lib/cjs/namespaces/services/system-management.service.cjs +102 -0
  169. package/lib/cjs/namespaces/services/tenant-membership.service.cjs +33 -0
  170. package/lib/cjs/namespaces/services/tenant-profile.service.cjs +28 -0
  171. package/lib/cjs/namespaces/services/tenant.service.cjs +36 -0
  172. package/lib/cjs/namespaces/services/user.service.cjs +32 -0
  173. package/lib/cjs/namespaces/types.cjs +67 -0
  174. package/lib/cjs/namespaces/utils.cjs +161 -0
  175. package/lib/cjs/nest/authService.cjs +2 -2
  176. package/lib/cjs/nest/graph/GraphExecutionController.cjs +153 -0
  177. package/lib/cjs/nest/graph/GraphExecutionModule.cjs +84 -0
  178. package/lib/cjs/nest/graph/GraphExecutionResultModel.cjs +82 -0
  179. package/lib/cjs/nest/graph/GraphExecutionResultRepository.cjs +66 -0
  180. package/lib/cjs/nest/graph/GraphExecutorRegistryFactory.cjs +35 -0
  181. package/lib/cjs/nest/graph/index.cjs +28 -0
  182. package/lib/cjs/nest/index.cjs +2 -2
  183. package/lib/cjs/nest/keycloakAuthHandler.cjs +2 -2
  184. package/lib/cjs/nest/keycloakModule.cjs +2 -2
  185. package/lib/cjs/nest/logging.cjs +2 -2
  186. package/lib/cjs/nest/types.cjs +2 -2
  187. package/lib/cjs/nest/utils.cjs +2 -2
  188. package/lib/cjs/secrets/aws/AwsSecretService.cjs +2 -2
  189. package/lib/cjs/secrets/aws/AwsSecretServiceConfig.cjs +2 -2
  190. package/lib/cjs/secrets/aws/index.cjs +2 -2
  191. package/lib/cjs/secrets/azure/AzureKeyVaultSecretService.cjs +2 -2
  192. package/lib/cjs/secrets/azure/AzureKeyVaultSecretServiceConfig.cjs +2 -2
  193. package/lib/cjs/secrets/azure/index.cjs +2 -2
  194. package/lib/cjs/secrets/core/SecretErrors.cjs +2 -2
  195. package/lib/cjs/secrets/core/SecretName.cjs +2 -2
  196. package/lib/cjs/secrets/core/SecretReference.cjs +2 -2
  197. package/lib/cjs/secrets/core/SecretSerialization.cjs +2 -2
  198. package/lib/cjs/secrets/core/SecretService.cjs +2 -2
  199. package/lib/cjs/secrets/core/SecretTypes.cjs +2 -2
  200. package/lib/cjs/secrets/core/index.cjs +2 -2
  201. package/lib/cjs/secrets/gcp/GcpSecretManagerService.cjs +2 -2
  202. package/lib/cjs/secrets/gcp/GcpSecretManagerServiceConfig.cjs +2 -2
  203. package/lib/cjs/secrets/gcp/index.cjs +2 -2
  204. package/lib/cjs/secrets/index.cjs +2 -2
  205. package/lib/cjs/secrets/model/ModelSecretCrypto.cjs +2 -2
  206. package/lib/cjs/secrets/model/ModelSecretService.cjs +2 -2
  207. package/lib/cjs/secrets/model/ModelSecretServiceConfig.cjs +2 -2
  208. package/lib/cjs/secrets/model/Secret.cjs +2 -2
  209. package/lib/cjs/secrets/model/index.cjs +2 -2
  210. package/lib/cjs/secrets/onepassword/OnePasswordSecretService.cjs +2 -2
  211. package/lib/cjs/secrets/onepassword/OnePasswordSecretServiceConfig.cjs +2 -2
  212. package/lib/cjs/secrets/onepassword/index.cjs +2 -2
  213. package/lib/cjs/secrets/vault/VaultSecretService.cjs +2 -2
  214. package/lib/cjs/secrets/vault/VaultSecretServiceConfig.cjs +2 -2
  215. package/lib/cjs/secrets/vault/index.cjs +2 -2
  216. package/lib/cjs/shared/runtime.cjs +2 -2
  217. package/lib/cjs/utils.cjs +2 -2
  218. package/lib/esm/blob/azure/AzureBlobStoreService.js +1 -1
  219. package/lib/esm/blob/azure/index.js +1 -1
  220. package/lib/esm/blob/core/BlobErrors.js +1 -1
  221. package/lib/esm/blob/core/BlobKey.js +1 -1
  222. package/lib/esm/blob/core/BlobStoreFactory.js +1 -1
  223. package/lib/esm/blob/core/BlobStoreService.js +1 -1
  224. package/lib/esm/blob/core/BlobTypes.js +1 -1
  225. package/lib/esm/blob/core/BlobValue.js +1 -1
  226. package/lib/esm/blob/core/index.js +1 -1
  227. package/lib/esm/blob/gcp/GcsBlobStoreService.js +1 -1
  228. package/lib/esm/blob/gcp/index.js +1 -1
  229. package/lib/esm/blob/index.js +1 -1
  230. package/lib/esm/blob/ipfs/IpfsBlobStoreService.js +1 -1
  231. package/lib/esm/blob/ipfs/IpfsKeyIndex.js +1 -1
  232. package/lib/esm/blob/ipfs/LocalJsonIpfsKeyIndex.js +1 -1
  233. package/lib/esm/blob/ipfs/MemoryIpfsKeyIndex.js +1 -1
  234. package/lib/esm/blob/ipfs/PostgresIpfsKeyIndex.js +1 -1
  235. package/lib/esm/blob/ipfs/index.js +1 -1
  236. package/lib/esm/blob/local/LocalBlobStoreService.js +1 -1
  237. package/lib/esm/blob/local/index.js +1 -1
  238. package/lib/esm/blob/memory/MemoryBlobStoreService.js +1 -1
  239. package/lib/esm/blob/memory/index.js +1 -1
  240. package/lib/esm/blob/s3/MinioBlobStoreService.js +1 -1
  241. package/lib/esm/blob/s3/R2BlobStoreService.js +1 -1
  242. package/lib/esm/blob/s3/S3BlobStoreService.js +1 -1
  243. package/lib/esm/blob/s3/index.js +1 -1
  244. package/lib/esm/docker/DockerComposeService.js +1 -1
  245. package/lib/esm/docker/index.js +1 -1
  246. package/lib/esm/graph/constants.js +1 -1
  247. package/lib/esm/graph/decorators.js +1 -1
  248. package/lib/esm/graph/errors/GraphCycleError.js +1 -1
  249. package/lib/esm/graph/errors/GraphExecutionError.js +1 -1
  250. package/lib/esm/graph/errors/GraphInputError.js +1 -1
  251. package/lib/esm/graph/errors/GraphLoopLimitError.js +1 -1
  252. package/lib/esm/graph/errors/GraphPinningError.js +1 -1
  253. package/lib/esm/graph/errors/GraphPortError.js +1 -1
  254. package/lib/esm/graph/errors/GraphStoreError.js +1 -1
  255. package/lib/esm/graph/errors/GraphTopologyError.js +1 -1
  256. package/lib/esm/graph/errors/index.js +1 -1
  257. package/lib/esm/graph/events/GraphExecutionEvent.js +1 -1
  258. package/lib/esm/graph/events/GraphExecutionEventEmitter.js +1 -1
  259. package/lib/esm/graph/events/GraphExecutionEventFactory.js +1 -1
  260. package/lib/esm/graph/events/GraphExecutionObserver.js +1 -1
  261. package/lib/esm/graph/events/index.js +1 -1
  262. package/lib/esm/graph/execution/CodeSandboxEvaluator.js +1 -1
  263. package/lib/esm/graph/execution/GraphExecutionContext.js +1 -1
  264. package/lib/esm/graph/execution/GraphExecutionEngine.js +1 -1
  265. package/lib/esm/graph/execution/GraphExecutionFrame.js +1 -1
  266. package/lib/esm/graph/execution/GraphExecutionResult.js +1 -1
  267. package/lib/esm/graph/execution/GraphNodeExecutor.js +1 -1
  268. package/lib/esm/graph/execution/SwitchGraphNodeExecutor.js +1 -1
  269. package/lib/esm/graph/execution/index.js +1 -1
  270. package/lib/esm/graph/index.js +1 -1
  271. package/lib/esm/graph/loops/ConditionExpressionEvaluator.js +1 -1
  272. package/lib/esm/graph/loops/ForeachGraphNodeExecutor.js +1 -1
  273. package/lib/esm/graph/loops/GraphConditionEvaluator.js +1 -1
  274. package/lib/esm/graph/loops/GraphLoopExecutionContext.js +1 -1
  275. package/lib/esm/graph/loops/UntilGraphNodeExecutor.js +1 -1
  276. package/lib/esm/graph/loops/WhileGraphNodeExecutor.js +1 -1
  277. package/lib/esm/graph/loops/index.js +1 -1
  278. package/lib/esm/graph/nodes/agent.js +1 -1
  279. package/lib/esm/graph/nodes/base.js +30 -0
  280. package/lib/esm/graph/nodes/category-styles.js +1 -1
  281. package/lib/esm/graph/nodes/flow-control.js +31 -3
  282. package/lib/esm/graph/nodes/index.js +2 -1
  283. package/lib/esm/graph/nodes/triggers.js +1 -1
  284. package/lib/esm/graph/pinning/GraphPinningDependencyResolver.js +1 -1
  285. package/lib/esm/graph/pinning/GraphPinningMetadata.js +1 -1
  286. package/lib/esm/graph/pinning/GraphPinningPolicy.js +1 -1
  287. package/lib/esm/graph/pinning/GraphPinningService.js +1 -1
  288. package/lib/esm/graph/pinning/index.js +1 -1
  289. package/lib/esm/graph/planning/GraphExecutionPlan.js +1 -1
  290. package/lib/esm/graph/planning/GraphExecutionPlanEdge.js +1 -1
  291. package/lib/esm/graph/planning/GraphExecutionPlanLayer.js +1 -1
  292. package/lib/esm/graph/planning/GraphExecutionPlanNode.js +1 -1
  293. package/lib/esm/graph/planning/GraphExecutionPlanner.js +1 -1
  294. package/lib/esm/graph/planning/GraphRelationResolver.js +1 -1
  295. package/lib/esm/graph/planning/GraphTopology.js +1 -1
  296. package/lib/esm/graph/planning/index.js +1 -1
  297. package/lib/esm/graph/registry/GraphNodeExecutorRegistry.js +1 -1
  298. package/lib/esm/graph/registry/GraphNodeExecutorResolver.js +1 -1
  299. package/lib/esm/graph/registry/index.js +1 -1
  300. package/lib/esm/graph/snapshots/GraphExecutionSnapshotMapper.js +1 -1
  301. package/lib/esm/graph/snapshots/index.js +1 -1
  302. package/lib/esm/graph/store/GraphCachedValue.js +1 -1
  303. package/lib/esm/graph/store/GraphValueKey.js +1 -1
  304. package/lib/esm/graph/store/GraphValueStore.js +1 -1
  305. package/lib/esm/graph/store/GraphValueStoreAdapter.js +1 -1
  306. package/lib/esm/graph/store/InMemoryGraphValueStoreAdapter.js +1 -1
  307. package/lib/esm/graph/store/index.js +1 -1
  308. package/lib/esm/graph/types.js +1 -1
  309. package/lib/esm/graph/validation/GraphDefinitionValidator.js +1 -1
  310. package/lib/esm/graph/validation/GraphPortSchemaResolver.js +1 -1
  311. package/lib/esm/graph/validation/GraphValueValidator.js +1 -1
  312. package/lib/esm/graph/validation/index.js +1 -1
  313. package/lib/esm/index.js +5 -4
  314. package/lib/esm/keycloak/index.js +1 -1
  315. package/lib/esm/keycloak/services/KeycloakAuthService.js +1 -1
  316. package/lib/esm/keycloak/services/KeycloakClientService.js +1 -1
  317. package/lib/esm/keycloak/services/KeycloakIdentityProviderService.js +1 -1
  318. package/lib/esm/keycloak/services/KeycloakRealmService.js +1 -1
  319. package/lib/esm/keycloak/services/KeycloakRoleService.js +1 -1
  320. package/lib/esm/keycloak/services/KeycloakService.js +1 -1
  321. package/lib/esm/keycloak/services/KeycloakUserService.js +1 -1
  322. package/lib/esm/keycloak/services/index.js +1 -1
  323. package/lib/esm/keycloak/services/runtime.js +1 -1
  324. package/lib/esm/keycloak/types.js +1 -1
  325. package/lib/esm/kibana/helpers.js +1 -1
  326. package/lib/esm/kibana/index.js +1 -1
  327. package/lib/esm/kibana/services/KibanaAuthService.js +1 -1
  328. package/lib/esm/kibana/services/KibanaDashboardService.js +1 -1
  329. package/lib/esm/kibana/services/KibanaDataViewService.js +1 -1
  330. package/lib/esm/kibana/services/KibanaRoleService.js +1 -1
  331. package/lib/esm/kibana/services/KibanaService.js +1 -1
  332. package/lib/esm/kibana/services/KibanaSpaceService.js +1 -1
  333. package/lib/esm/kibana/services/KibanaUserService.js +1 -1
  334. package/lib/esm/kibana/services/index.js +1 -1
  335. package/lib/esm/kibana/services/runtime.js +1 -1
  336. package/lib/esm/kibana/types.js +1 -1
  337. package/lib/esm/namespaces/index.js +9 -0
  338. package/lib/esm/namespaces/models/authorization-model.js +7 -0
  339. package/lib/esm/namespaces/models/effective-permission.model.js +86 -0
  340. package/lib/esm/namespaces/models/group-membership.model.js +57 -0
  341. package/lib/esm/namespaces/models/group.model.js +65 -0
  342. package/lib/esm/namespaces/models/index.js +22 -0
  343. package/lib/esm/namespaces/models/inheritance-block.model.js +67 -0
  344. package/lib/esm/namespaces/models/org-unit-closure.model.js +57 -0
  345. package/lib/esm/namespaces/models/org-unit-membership.model.js +64 -0
  346. package/lib/esm/namespaces/models/org-unit-profile.model.js +55 -0
  347. package/lib/esm/namespaces/models/org-unit.model.js +93 -0
  348. package/lib/esm/namespaces/models/permission.model.js +55 -0
  349. package/lib/esm/namespaces/models/principal.model.js +68 -0
  350. package/lib/esm/namespaces/models/protected-resource.model.js +90 -0
  351. package/lib/esm/namespaces/models/resource-grant.model.js +79 -0
  352. package/lib/esm/namespaces/models/role-assignment.model.js +89 -0
  353. package/lib/esm/namespaces/models/role-permission.model.js +46 -0
  354. package/lib/esm/namespaces/models/role.model.js +75 -0
  355. package/lib/esm/namespaces/models/storage-binding.model.js +76 -0
  356. package/lib/esm/namespaces/models/tenant-membership.model.js +58 -0
  357. package/lib/esm/namespaces/models/tenant-profile.model.js +55 -0
  358. package/lib/esm/namespaces/models/tenant.model.js +79 -0
  359. package/lib/esm/namespaces/models/user.model.js +66 -0
  360. package/lib/esm/namespaces/org-based-authorization-system.js +283 -0
  361. package/lib/esm/namespaces/org-based-authorization-system.models.js +958 -0
  362. package/lib/esm/namespaces/org-based-authorization-system.services.js +1014 -0
  363. package/lib/esm/namespaces/services/authz.service.js +71 -0
  364. package/lib/esm/namespaces/services/bootstrap.service.js +102 -0
  365. package/lib/esm/namespaces/services/effective-permission.service.js +140 -0
  366. package/lib/esm/namespaces/services/group-membership.service.js +37 -0
  367. package/lib/esm/namespaces/services/group.service.js +25 -0
  368. package/lib/esm/namespaces/services/index.js +25 -0
  369. package/lib/esm/namespaces/services/inheritance-block.service.js +27 -0
  370. package/lib/esm/namespaces/services/org-unit-closure.service.js +50 -0
  371. package/lib/esm/namespaces/services/org-unit-membership.service.js +29 -0
  372. package/lib/esm/namespaces/services/org-unit-profile.service.js +18 -0
  373. package/lib/esm/namespaces/services/org-unit.service.js +150 -0
  374. package/lib/esm/namespaces/services/permission.service.js +24 -0
  375. package/lib/esm/namespaces/services/principal.service.js +30 -0
  376. package/lib/esm/namespaces/services/protected-resource.service.js +38 -0
  377. package/lib/esm/namespaces/services/resource-grant.service.js +40 -0
  378. package/lib/esm/namespaces/services/resource-lifecycle.service.js +19 -0
  379. package/lib/esm/namespaces/services/role-assignment.service.js +36 -0
  380. package/lib/esm/namespaces/services/role-permission.service.js +46 -0
  381. package/lib/esm/namespaces/services/role.service.js +40 -0
  382. package/lib/esm/namespaces/services/storage-binding.service.js +34 -0
  383. package/lib/esm/namespaces/services/system-management.service.js +92 -0
  384. package/lib/esm/namespaces/services/tenant-membership.service.js +28 -0
  385. package/lib/esm/namespaces/services/tenant-profile.service.js +23 -0
  386. package/lib/esm/namespaces/services/tenant.service.js +31 -0
  387. package/lib/esm/namespaces/services/user.service.js +27 -0
  388. package/lib/esm/namespaces/types.js +71 -0
  389. package/lib/esm/namespaces/utils.js +143 -0
  390. package/lib/esm/nest/authService.js +1 -1
  391. package/lib/esm/nest/graph/GraphExecutionController.js +144 -0
  392. package/lib/esm/nest/graph/GraphExecutionModule.js +76 -0
  393. package/lib/esm/nest/graph/GraphExecutionResultModel.js +73 -0
  394. package/lib/esm/nest/graph/GraphExecutionResultRepository.js +60 -0
  395. package/lib/esm/nest/graph/GraphExecutorRegistryFactory.js +31 -0
  396. package/lib/esm/nest/graph/index.js +11 -0
  397. package/lib/esm/nest/index.js +1 -1
  398. package/lib/esm/nest/keycloakAuthHandler.js +1 -1
  399. package/lib/esm/nest/keycloakModule.js +1 -1
  400. package/lib/esm/nest/logging.js +1 -1
  401. package/lib/esm/nest/types.js +1 -1
  402. package/lib/esm/nest/utils.js +1 -1
  403. package/lib/esm/secrets/aws/AwsSecretService.js +1 -1
  404. package/lib/esm/secrets/aws/AwsSecretServiceConfig.js +1 -1
  405. package/lib/esm/secrets/aws/index.js +1 -1
  406. package/lib/esm/secrets/azure/AzureKeyVaultSecretService.js +1 -1
  407. package/lib/esm/secrets/azure/AzureKeyVaultSecretServiceConfig.js +1 -1
  408. package/lib/esm/secrets/azure/index.js +1 -1
  409. package/lib/esm/secrets/core/SecretErrors.js +1 -1
  410. package/lib/esm/secrets/core/SecretName.js +1 -1
  411. package/lib/esm/secrets/core/SecretReference.js +1 -1
  412. package/lib/esm/secrets/core/SecretSerialization.js +1 -1
  413. package/lib/esm/secrets/core/SecretService.js +1 -1
  414. package/lib/esm/secrets/core/SecretTypes.js +1 -1
  415. package/lib/esm/secrets/core/index.js +1 -1
  416. package/lib/esm/secrets/gcp/GcpSecretManagerService.js +1 -1
  417. package/lib/esm/secrets/gcp/GcpSecretManagerServiceConfig.js +1 -1
  418. package/lib/esm/secrets/gcp/index.js +1 -1
  419. package/lib/esm/secrets/index.js +1 -1
  420. package/lib/esm/secrets/model/ModelSecretCrypto.js +1 -1
  421. package/lib/esm/secrets/model/ModelSecretService.js +1 -1
  422. package/lib/esm/secrets/model/ModelSecretServiceConfig.js +1 -1
  423. package/lib/esm/secrets/model/Secret.js +1 -1
  424. package/lib/esm/secrets/model/index.js +1 -1
  425. package/lib/esm/secrets/onepassword/OnePasswordSecretService.js +1 -1
  426. package/lib/esm/secrets/onepassword/OnePasswordSecretServiceConfig.js +1 -1
  427. package/lib/esm/secrets/onepassword/index.js +1 -1
  428. package/lib/esm/secrets/vault/VaultSecretService.js +1 -1
  429. package/lib/esm/secrets/vault/VaultSecretServiceConfig.js +1 -1
  430. package/lib/esm/secrets/vault/index.js +1 -1
  431. package/lib/esm/shared/runtime.js +1 -1
  432. package/lib/esm/utils.js +1 -1
  433. package/lib/types/graph/nodes/base.d.cts +28 -0
  434. package/lib/types/graph/nodes/base.d.mts +28 -0
  435. package/lib/types/graph/nodes/flow-control.d.cts +9 -1
  436. package/lib/types/graph/nodes/flow-control.d.mts +9 -1
  437. package/lib/types/graph/nodes/index.d.cts +1 -0
  438. package/lib/types/graph/nodes/index.d.mts +1 -0
  439. package/lib/types/graph/types.d.cts +15 -1
  440. package/lib/types/graph/types.d.mts +15 -1
  441. package/lib/types/index.d.cts +3 -2
  442. package/lib/types/index.d.mts +3 -2
  443. package/lib/types/namespaces/index.d.cts +8 -0
  444. package/lib/types/namespaces/index.d.mts +8 -0
  445. package/lib/types/namespaces/models/authorization-model.d.cts +4 -0
  446. package/lib/types/namespaces/models/authorization-model.d.mts +4 -0
  447. package/lib/types/namespaces/models/effective-permission.model.d.cts +18 -0
  448. package/lib/types/namespaces/models/effective-permission.model.d.mts +18 -0
  449. package/lib/types/namespaces/models/group-membership.model.d.cts +13 -0
  450. package/lib/types/namespaces/models/group-membership.model.d.mts +13 -0
  451. package/lib/types/namespaces/models/group.model.d.cts +15 -0
  452. package/lib/types/namespaces/models/group.model.d.mts +15 -0
  453. package/lib/types/namespaces/models/index.d.cts +21 -0
  454. package/lib/types/namespaces/models/index.d.mts +21 -0
  455. package/lib/types/namespaces/models/inheritance-block.model.d.cts +15 -0
  456. package/lib/types/namespaces/models/inheritance-block.model.d.mts +15 -0
  457. package/lib/types/namespaces/models/org-unit-closure.model.d.cts +12 -0
  458. package/lib/types/namespaces/models/org-unit-closure.model.d.mts +12 -0
  459. package/lib/types/namespaces/models/org-unit-membership.model.d.cts +15 -0
  460. package/lib/types/namespaces/models/org-unit-membership.model.d.mts +15 -0
  461. package/lib/types/namespaces/models/org-unit-profile.model.d.cts +11 -0
  462. package/lib/types/namespaces/models/org-unit-profile.model.d.mts +11 -0
  463. package/lib/types/namespaces/models/org-unit.model.d.cts +23 -0
  464. package/lib/types/namespaces/models/org-unit.model.d.mts +23 -0
  465. package/lib/types/namespaces/models/permission.model.d.cts +11 -0
  466. package/lib/types/namespaces/models/permission.model.d.mts +11 -0
  467. package/lib/types/namespaces/models/principal.model.d.cts +16 -0
  468. package/lib/types/namespaces/models/principal.model.d.mts +16 -0
  469. package/lib/types/namespaces/models/protected-resource.model.d.cts +21 -0
  470. package/lib/types/namespaces/models/protected-resource.model.d.mts +21 -0
  471. package/lib/types/namespaces/models/resource-grant.model.d.cts +18 -0
  472. package/lib/types/namespaces/models/resource-grant.model.d.mts +18 -0
  473. package/lib/types/namespaces/models/role-assignment.model.d.cts +20 -0
  474. package/lib/types/namespaces/models/role-assignment.model.d.mts +20 -0
  475. package/lib/types/namespaces/models/role-permission.model.d.cts +10 -0
  476. package/lib/types/namespaces/models/role-permission.model.d.mts +10 -0
  477. package/lib/types/namespaces/models/role.model.d.cts +17 -0
  478. package/lib/types/namespaces/models/role.model.d.mts +17 -0
  479. package/lib/types/namespaces/models/storage-binding.model.d.cts +15 -0
  480. package/lib/types/namespaces/models/storage-binding.model.d.mts +15 -0
  481. package/lib/types/namespaces/models/tenant-membership.model.d.cts +13 -0
  482. package/lib/types/namespaces/models/tenant-membership.model.d.mts +13 -0
  483. package/lib/types/namespaces/models/tenant-profile.model.d.cts +11 -0
  484. package/lib/types/namespaces/models/tenant-profile.model.d.mts +11 -0
  485. package/lib/types/namespaces/models/tenant.model.d.cts +19 -0
  486. package/lib/types/namespaces/models/tenant.model.d.mts +19 -0
  487. package/lib/types/namespaces/models/user.model.d.cts +14 -0
  488. package/lib/types/namespaces/models/user.model.d.mts +14 -0
  489. package/lib/types/namespaces/org-based-authorization-system.d.cts +299 -0
  490. package/lib/types/namespaces/org-based-authorization-system.d.mts +299 -0
  491. package/lib/types/namespaces/org-based-authorization-system.models.d.cts +212 -0
  492. package/lib/types/namespaces/org-based-authorization-system.models.d.mts +212 -0
  493. package/lib/types/namespaces/org-based-authorization-system.services.d.cts +217 -0
  494. package/lib/types/namespaces/org-based-authorization-system.services.d.mts +217 -0
  495. package/lib/types/namespaces/services/authz.service.d.cts +10 -0
  496. package/lib/types/namespaces/services/authz.service.d.mts +10 -0
  497. package/lib/types/namespaces/services/bootstrap.service.d.cts +21 -0
  498. package/lib/types/namespaces/services/bootstrap.service.d.mts +21 -0
  499. package/lib/types/namespaces/services/effective-permission.service.d.cts +13 -0
  500. package/lib/types/namespaces/services/effective-permission.service.d.mts +13 -0
  501. package/lib/types/namespaces/services/group-membership.service.d.cts +10 -0
  502. package/lib/types/namespaces/services/group-membership.service.d.mts +10 -0
  503. package/lib/types/namespaces/services/group.service.d.cts +9 -0
  504. package/lib/types/namespaces/services/group.service.d.mts +9 -0
  505. package/lib/types/namespaces/services/index.d.cts +24 -0
  506. package/lib/types/namespaces/services/index.d.mts +24 -0
  507. package/lib/types/namespaces/services/inheritance-block.service.d.cts +10 -0
  508. package/lib/types/namespaces/services/inheritance-block.service.d.mts +10 -0
  509. package/lib/types/namespaces/services/org-unit-closure.service.d.cts +11 -0
  510. package/lib/types/namespaces/services/org-unit-closure.service.d.mts +11 -0
  511. package/lib/types/namespaces/services/org-unit-membership.service.d.cts +11 -0
  512. package/lib/types/namespaces/services/org-unit-membership.service.d.mts +11 -0
  513. package/lib/types/namespaces/services/org-unit-profile.service.d.cts +7 -0
  514. package/lib/types/namespaces/services/org-unit-profile.service.d.mts +7 -0
  515. package/lib/types/namespaces/services/org-unit.service.d.cts +18 -0
  516. package/lib/types/namespaces/services/org-unit.service.d.mts +18 -0
  517. package/lib/types/namespaces/services/permission.service.d.cts +10 -0
  518. package/lib/types/namespaces/services/permission.service.d.mts +10 -0
  519. package/lib/types/namespaces/services/principal.service.d.cts +11 -0
  520. package/lib/types/namespaces/services/principal.service.d.mts +11 -0
  521. package/lib/types/namespaces/services/protected-resource.service.d.cts +13 -0
  522. package/lib/types/namespaces/services/protected-resource.service.d.mts +13 -0
  523. package/lib/types/namespaces/services/resource-grant.service.d.cts +12 -0
  524. package/lib/types/namespaces/services/resource-grant.service.d.mts +12 -0
  525. package/lib/types/namespaces/services/resource-lifecycle.service.d.cts +10 -0
  526. package/lib/types/namespaces/services/resource-lifecycle.service.d.mts +10 -0
  527. package/lib/types/namespaces/services/role-assignment.service.d.cts +12 -0
  528. package/lib/types/namespaces/services/role-assignment.service.d.mts +12 -0
  529. package/lib/types/namespaces/services/role-permission.service.d.cts +12 -0
  530. package/lib/types/namespaces/services/role-permission.service.d.mts +12 -0
  531. package/lib/types/namespaces/services/role.service.d.cts +12 -0
  532. package/lib/types/namespaces/services/role.service.d.mts +12 -0
  533. package/lib/types/namespaces/services/storage-binding.service.d.cts +12 -0
  534. package/lib/types/namespaces/services/storage-binding.service.d.mts +12 -0
  535. package/lib/types/namespaces/services/system-management.service.d.cts +14 -0
  536. package/lib/types/namespaces/services/system-management.service.d.mts +14 -0
  537. package/lib/types/namespaces/services/tenant-membership.service.d.cts +11 -0
  538. package/lib/types/namespaces/services/tenant-membership.service.d.mts +11 -0
  539. package/lib/types/namespaces/services/tenant-profile.service.d.cts +8 -0
  540. package/lib/types/namespaces/services/tenant-profile.service.d.mts +8 -0
  541. package/lib/types/namespaces/services/tenant.service.d.cts +12 -0
  542. package/lib/types/namespaces/services/tenant.service.d.mts +12 -0
  543. package/lib/types/namespaces/services/user.service.d.cts +11 -0
  544. package/lib/types/namespaces/services/user.service.d.mts +11 -0
  545. package/lib/types/namespaces/types.d.cts +230 -0
  546. package/lib/types/namespaces/types.d.mts +230 -0
  547. package/lib/types/namespaces/utils.d.cts +68 -0
  548. package/lib/types/namespaces/utils.d.mts +68 -0
  549. package/lib/types/nest/graph/GraphExecutionController.d.cts +62 -0
  550. package/lib/types/nest/graph/GraphExecutionController.d.mts +62 -0
  551. package/lib/types/nest/graph/GraphExecutionModule.d.cts +39 -0
  552. package/lib/types/nest/graph/GraphExecutionModule.d.mts +39 -0
  553. package/lib/types/nest/graph/GraphExecutionResultModel.d.cts +46 -0
  554. package/lib/types/nest/graph/GraphExecutionResultModel.d.mts +46 -0
  555. package/lib/types/nest/graph/GraphExecutionResultRepository.d.cts +38 -0
  556. package/lib/types/nest/graph/GraphExecutionResultRepository.d.mts +38 -0
  557. package/lib/types/nest/graph/GraphExecutorRegistryFactory.d.cts +17 -0
  558. package/lib/types/nest/graph/GraphExecutorRegistryFactory.d.mts +17 -0
  559. package/lib/types/nest/graph/index.d.cts +10 -0
  560. package/lib/types/nest/graph/index.d.mts +10 -0
  561. package/package.json +27 -5
  562. package/sql/001_constraints.sql +11 -0
  563. package/sql/002_rls.sql +20 -0
  564. package/sql/003_indexes.sql +2 -0
  565. package/dist/integrations.cjs.map +0 -1
  566. package/dist/integrations.js.map +0 -1
  567. package/lib/cjs/blob/azure/AzureBlobStoreService.cjs.map +0 -1
  568. package/lib/cjs/blob/azure/index.cjs.map +0 -1
  569. package/lib/cjs/blob/core/BlobErrors.cjs.map +0 -1
  570. package/lib/cjs/blob/core/BlobKey.cjs.map +0 -1
  571. package/lib/cjs/blob/core/BlobStoreFactory.cjs.map +0 -1
  572. package/lib/cjs/blob/core/BlobStoreService.cjs.map +0 -1
  573. package/lib/cjs/blob/core/BlobTypes.cjs.map +0 -1
  574. package/lib/cjs/blob/core/BlobValue.cjs.map +0 -1
  575. package/lib/cjs/blob/core/index.cjs.map +0 -1
  576. package/lib/cjs/blob/gcp/GcsBlobStoreService.cjs.map +0 -1
  577. package/lib/cjs/blob/gcp/index.cjs.map +0 -1
  578. package/lib/cjs/blob/index.cjs.map +0 -1
  579. package/lib/cjs/blob/ipfs/IpfsBlobStoreService.cjs.map +0 -1
  580. package/lib/cjs/blob/ipfs/IpfsKeyIndex.cjs.map +0 -1
  581. package/lib/cjs/blob/ipfs/LocalJsonIpfsKeyIndex.cjs.map +0 -1
  582. package/lib/cjs/blob/ipfs/MemoryIpfsKeyIndex.cjs.map +0 -1
  583. package/lib/cjs/blob/ipfs/PostgresIpfsKeyIndex.cjs.map +0 -1
  584. package/lib/cjs/blob/ipfs/index.cjs.map +0 -1
  585. package/lib/cjs/blob/local/LocalBlobStoreService.cjs.map +0 -1
  586. package/lib/cjs/blob/local/index.cjs.map +0 -1
  587. package/lib/cjs/blob/memory/MemoryBlobStoreService.cjs.map +0 -1
  588. package/lib/cjs/blob/memory/index.cjs.map +0 -1
  589. package/lib/cjs/blob/s3/MinioBlobStoreService.cjs.map +0 -1
  590. package/lib/cjs/blob/s3/R2BlobStoreService.cjs.map +0 -1
  591. package/lib/cjs/blob/s3/S3BlobStoreService.cjs.map +0 -1
  592. package/lib/cjs/blob/s3/index.cjs.map +0 -1
  593. package/lib/cjs/docker/DockerComposeService.cjs.map +0 -1
  594. package/lib/cjs/docker/index.cjs.map +0 -1
  595. package/lib/cjs/graph/constants.cjs.map +0 -1
  596. package/lib/cjs/graph/decorators.cjs.map +0 -1
  597. package/lib/cjs/graph/errors/GraphCycleError.cjs.map +0 -1
  598. package/lib/cjs/graph/errors/GraphExecutionError.cjs.map +0 -1
  599. package/lib/cjs/graph/errors/GraphInputError.cjs.map +0 -1
  600. package/lib/cjs/graph/errors/GraphLoopLimitError.cjs.map +0 -1
  601. package/lib/cjs/graph/errors/GraphPinningError.cjs.map +0 -1
  602. package/lib/cjs/graph/errors/GraphPortError.cjs.map +0 -1
  603. package/lib/cjs/graph/errors/GraphStoreError.cjs.map +0 -1
  604. package/lib/cjs/graph/errors/GraphTopologyError.cjs.map +0 -1
  605. package/lib/cjs/graph/errors/index.cjs.map +0 -1
  606. package/lib/cjs/graph/events/GraphExecutionEvent.cjs.map +0 -1
  607. package/lib/cjs/graph/events/GraphExecutionEventEmitter.cjs.map +0 -1
  608. package/lib/cjs/graph/events/GraphExecutionEventFactory.cjs.map +0 -1
  609. package/lib/cjs/graph/events/GraphExecutionObserver.cjs.map +0 -1
  610. package/lib/cjs/graph/events/index.cjs.map +0 -1
  611. package/lib/cjs/graph/execution/CodeSandboxEvaluator.cjs.map +0 -1
  612. package/lib/cjs/graph/execution/GraphExecutionContext.cjs.map +0 -1
  613. package/lib/cjs/graph/execution/GraphExecutionEngine.cjs.map +0 -1
  614. package/lib/cjs/graph/execution/GraphExecutionFrame.cjs.map +0 -1
  615. package/lib/cjs/graph/execution/GraphExecutionResult.cjs.map +0 -1
  616. package/lib/cjs/graph/execution/GraphNodeExecutor.cjs.map +0 -1
  617. package/lib/cjs/graph/execution/SwitchGraphNodeExecutor.cjs.map +0 -1
  618. package/lib/cjs/graph/execution/index.cjs.map +0 -1
  619. package/lib/cjs/graph/index.cjs.map +0 -1
  620. package/lib/cjs/graph/loops/ConditionExpressionEvaluator.cjs.map +0 -1
  621. package/lib/cjs/graph/loops/ForeachGraphNodeExecutor.cjs.map +0 -1
  622. package/lib/cjs/graph/loops/GraphConditionEvaluator.cjs.map +0 -1
  623. package/lib/cjs/graph/loops/GraphLoopExecutionContext.cjs.map +0 -1
  624. package/lib/cjs/graph/loops/UntilGraphNodeExecutor.cjs.map +0 -1
  625. package/lib/cjs/graph/loops/WhileGraphNodeExecutor.cjs.map +0 -1
  626. package/lib/cjs/graph/loops/index.cjs.map +0 -1
  627. package/lib/cjs/graph/nodes/agent.cjs.map +0 -1
  628. package/lib/cjs/graph/nodes/category-styles.cjs.map +0 -1
  629. package/lib/cjs/graph/nodes/flow-control.cjs.map +0 -1
  630. package/lib/cjs/graph/nodes/index.cjs.map +0 -1
  631. package/lib/cjs/graph/nodes/triggers.cjs.map +0 -1
  632. package/lib/cjs/graph/pinning/GraphPinningDependencyResolver.cjs.map +0 -1
  633. package/lib/cjs/graph/pinning/GraphPinningMetadata.cjs.map +0 -1
  634. package/lib/cjs/graph/pinning/GraphPinningPolicy.cjs.map +0 -1
  635. package/lib/cjs/graph/pinning/GraphPinningService.cjs.map +0 -1
  636. package/lib/cjs/graph/pinning/index.cjs.map +0 -1
  637. package/lib/cjs/graph/planning/GraphExecutionPlan.cjs.map +0 -1
  638. package/lib/cjs/graph/planning/GraphExecutionPlanEdge.cjs.map +0 -1
  639. package/lib/cjs/graph/planning/GraphExecutionPlanLayer.cjs.map +0 -1
  640. package/lib/cjs/graph/planning/GraphExecutionPlanNode.cjs.map +0 -1
  641. package/lib/cjs/graph/planning/GraphExecutionPlanner.cjs.map +0 -1
  642. package/lib/cjs/graph/planning/GraphRelationResolver.cjs.map +0 -1
  643. package/lib/cjs/graph/planning/GraphTopology.cjs.map +0 -1
  644. package/lib/cjs/graph/planning/index.cjs.map +0 -1
  645. package/lib/cjs/graph/registry/GraphNodeExecutorRegistry.cjs.map +0 -1
  646. package/lib/cjs/graph/registry/GraphNodeExecutorResolver.cjs.map +0 -1
  647. package/lib/cjs/graph/registry/index.cjs.map +0 -1
  648. package/lib/cjs/graph/snapshots/GraphExecutionSnapshotMapper.cjs.map +0 -1
  649. package/lib/cjs/graph/snapshots/index.cjs.map +0 -1
  650. package/lib/cjs/graph/store/GraphCachedValue.cjs.map +0 -1
  651. package/lib/cjs/graph/store/GraphValueKey.cjs.map +0 -1
  652. package/lib/cjs/graph/store/GraphValueStore.cjs.map +0 -1
  653. package/lib/cjs/graph/store/GraphValueStoreAdapter.cjs.map +0 -1
  654. package/lib/cjs/graph/store/InMemoryGraphValueStoreAdapter.cjs.map +0 -1
  655. package/lib/cjs/graph/store/index.cjs.map +0 -1
  656. package/lib/cjs/graph/types.cjs.map +0 -1
  657. package/lib/cjs/graph/validation/GraphDefinitionValidator.cjs.map +0 -1
  658. package/lib/cjs/graph/validation/GraphPortSchemaResolver.cjs.map +0 -1
  659. package/lib/cjs/graph/validation/GraphValueValidator.cjs.map +0 -1
  660. package/lib/cjs/graph/validation/index.cjs.map +0 -1
  661. package/lib/cjs/index.cjs.map +0 -1
  662. package/lib/cjs/keycloak/index.cjs.map +0 -1
  663. package/lib/cjs/keycloak/services/KeycloakAuthService.cjs.map +0 -1
  664. package/lib/cjs/keycloak/services/KeycloakClientService.cjs.map +0 -1
  665. package/lib/cjs/keycloak/services/KeycloakIdentityProviderService.cjs.map +0 -1
  666. package/lib/cjs/keycloak/services/KeycloakRealmService.cjs.map +0 -1
  667. package/lib/cjs/keycloak/services/KeycloakRoleService.cjs.map +0 -1
  668. package/lib/cjs/keycloak/services/KeycloakService.cjs.map +0 -1
  669. package/lib/cjs/keycloak/services/KeycloakUserService.cjs.map +0 -1
  670. package/lib/cjs/keycloak/services/index.cjs.map +0 -1
  671. package/lib/cjs/keycloak/services/runtime.cjs.map +0 -1
  672. package/lib/cjs/keycloak/types.cjs.map +0 -1
  673. package/lib/cjs/kibana/helpers.cjs.map +0 -1
  674. package/lib/cjs/kibana/index.cjs.map +0 -1
  675. package/lib/cjs/kibana/services/KibanaAuthService.cjs.map +0 -1
  676. package/lib/cjs/kibana/services/KibanaDashboardService.cjs.map +0 -1
  677. package/lib/cjs/kibana/services/KibanaDataViewService.cjs.map +0 -1
  678. package/lib/cjs/kibana/services/KibanaRoleService.cjs.map +0 -1
  679. package/lib/cjs/kibana/services/KibanaService.cjs.map +0 -1
  680. package/lib/cjs/kibana/services/KibanaSpaceService.cjs.map +0 -1
  681. package/lib/cjs/kibana/services/KibanaUserService.cjs.map +0 -1
  682. package/lib/cjs/kibana/services/index.cjs.map +0 -1
  683. package/lib/cjs/kibana/services/runtime.cjs.map +0 -1
  684. package/lib/cjs/kibana/types.cjs.map +0 -1
  685. package/lib/cjs/nest/authService.cjs.map +0 -1
  686. package/lib/cjs/nest/index.cjs.map +0 -1
  687. package/lib/cjs/nest/keycloakAuthHandler.cjs.map +0 -1
  688. package/lib/cjs/nest/keycloakModule.cjs.map +0 -1
  689. package/lib/cjs/nest/logging.cjs.map +0 -1
  690. package/lib/cjs/nest/types.cjs.map +0 -1
  691. package/lib/cjs/nest/utils.cjs.map +0 -1
  692. package/lib/cjs/secrets/aws/AwsSecretService.cjs.map +0 -1
  693. package/lib/cjs/secrets/aws/AwsSecretServiceConfig.cjs.map +0 -1
  694. package/lib/cjs/secrets/aws/index.cjs.map +0 -1
  695. package/lib/cjs/secrets/azure/AzureKeyVaultSecretService.cjs.map +0 -1
  696. package/lib/cjs/secrets/azure/AzureKeyVaultSecretServiceConfig.cjs.map +0 -1
  697. package/lib/cjs/secrets/azure/index.cjs.map +0 -1
  698. package/lib/cjs/secrets/core/SecretErrors.cjs.map +0 -1
  699. package/lib/cjs/secrets/core/SecretName.cjs.map +0 -1
  700. package/lib/cjs/secrets/core/SecretReference.cjs.map +0 -1
  701. package/lib/cjs/secrets/core/SecretSerialization.cjs.map +0 -1
  702. package/lib/cjs/secrets/core/SecretService.cjs.map +0 -1
  703. package/lib/cjs/secrets/core/SecretTypes.cjs.map +0 -1
  704. package/lib/cjs/secrets/core/index.cjs.map +0 -1
  705. package/lib/cjs/secrets/gcp/GcpSecretManagerService.cjs.map +0 -1
  706. package/lib/cjs/secrets/gcp/GcpSecretManagerServiceConfig.cjs.map +0 -1
  707. package/lib/cjs/secrets/gcp/index.cjs.map +0 -1
  708. package/lib/cjs/secrets/index.cjs.map +0 -1
  709. package/lib/cjs/secrets/model/ModelSecretCrypto.cjs.map +0 -1
  710. package/lib/cjs/secrets/model/ModelSecretService.cjs.map +0 -1
  711. package/lib/cjs/secrets/model/ModelSecretServiceConfig.cjs.map +0 -1
  712. package/lib/cjs/secrets/model/Secret.cjs.map +0 -1
  713. package/lib/cjs/secrets/model/index.cjs.map +0 -1
  714. package/lib/cjs/secrets/onepassword/OnePasswordSecretService.cjs.map +0 -1
  715. package/lib/cjs/secrets/onepassword/OnePasswordSecretServiceConfig.cjs.map +0 -1
  716. package/lib/cjs/secrets/onepassword/index.cjs.map +0 -1
  717. package/lib/cjs/secrets/vault/VaultSecretService.cjs.map +0 -1
  718. package/lib/cjs/secrets/vault/VaultSecretServiceConfig.cjs.map +0 -1
  719. package/lib/cjs/secrets/vault/index.cjs.map +0 -1
  720. package/lib/cjs/shared/runtime.cjs.map +0 -1
  721. package/lib/cjs/utils.cjs.map +0 -1
  722. package/lib/esm/blob/azure/AzureBlobStoreService.js.map +0 -1
  723. package/lib/esm/blob/azure/index.js.map +0 -1
  724. package/lib/esm/blob/core/BlobErrors.js.map +0 -1
  725. package/lib/esm/blob/core/BlobKey.js.map +0 -1
  726. package/lib/esm/blob/core/BlobStoreFactory.js.map +0 -1
  727. package/lib/esm/blob/core/BlobStoreService.js.map +0 -1
  728. package/lib/esm/blob/core/BlobTypes.js.map +0 -1
  729. package/lib/esm/blob/core/BlobValue.js.map +0 -1
  730. package/lib/esm/blob/core/index.js.map +0 -1
  731. package/lib/esm/blob/gcp/GcsBlobStoreService.js.map +0 -1
  732. package/lib/esm/blob/gcp/index.js.map +0 -1
  733. package/lib/esm/blob/index.js.map +0 -1
  734. package/lib/esm/blob/ipfs/IpfsBlobStoreService.js.map +0 -1
  735. package/lib/esm/blob/ipfs/IpfsKeyIndex.js.map +0 -1
  736. package/lib/esm/blob/ipfs/LocalJsonIpfsKeyIndex.js.map +0 -1
  737. package/lib/esm/blob/ipfs/MemoryIpfsKeyIndex.js.map +0 -1
  738. package/lib/esm/blob/ipfs/PostgresIpfsKeyIndex.js.map +0 -1
  739. package/lib/esm/blob/ipfs/index.js.map +0 -1
  740. package/lib/esm/blob/local/LocalBlobStoreService.js.map +0 -1
  741. package/lib/esm/blob/local/index.js.map +0 -1
  742. package/lib/esm/blob/memory/MemoryBlobStoreService.js.map +0 -1
  743. package/lib/esm/blob/memory/index.js.map +0 -1
  744. package/lib/esm/blob/s3/MinioBlobStoreService.js.map +0 -1
  745. package/lib/esm/blob/s3/R2BlobStoreService.js.map +0 -1
  746. package/lib/esm/blob/s3/S3BlobStoreService.js.map +0 -1
  747. package/lib/esm/blob/s3/index.js.map +0 -1
  748. package/lib/esm/docker/DockerComposeService.js.map +0 -1
  749. package/lib/esm/docker/index.js.map +0 -1
  750. package/lib/esm/graph/constants.js.map +0 -1
  751. package/lib/esm/graph/decorators.js.map +0 -1
  752. package/lib/esm/graph/errors/GraphCycleError.js.map +0 -1
  753. package/lib/esm/graph/errors/GraphExecutionError.js.map +0 -1
  754. package/lib/esm/graph/errors/GraphInputError.js.map +0 -1
  755. package/lib/esm/graph/errors/GraphLoopLimitError.js.map +0 -1
  756. package/lib/esm/graph/errors/GraphPinningError.js.map +0 -1
  757. package/lib/esm/graph/errors/GraphPortError.js.map +0 -1
  758. package/lib/esm/graph/errors/GraphStoreError.js.map +0 -1
  759. package/lib/esm/graph/errors/GraphTopologyError.js.map +0 -1
  760. package/lib/esm/graph/errors/index.js.map +0 -1
  761. package/lib/esm/graph/events/GraphExecutionEvent.js.map +0 -1
  762. package/lib/esm/graph/events/GraphExecutionEventEmitter.js.map +0 -1
  763. package/lib/esm/graph/events/GraphExecutionEventFactory.js.map +0 -1
  764. package/lib/esm/graph/events/GraphExecutionObserver.js.map +0 -1
  765. package/lib/esm/graph/events/index.js.map +0 -1
  766. package/lib/esm/graph/execution/CodeSandboxEvaluator.js.map +0 -1
  767. package/lib/esm/graph/execution/GraphExecutionContext.js.map +0 -1
  768. package/lib/esm/graph/execution/GraphExecutionEngine.js.map +0 -1
  769. package/lib/esm/graph/execution/GraphExecutionFrame.js.map +0 -1
  770. package/lib/esm/graph/execution/GraphExecutionResult.js.map +0 -1
  771. package/lib/esm/graph/execution/GraphNodeExecutor.js.map +0 -1
  772. package/lib/esm/graph/execution/SwitchGraphNodeExecutor.js.map +0 -1
  773. package/lib/esm/graph/execution/index.js.map +0 -1
  774. package/lib/esm/graph/index.js.map +0 -1
  775. package/lib/esm/graph/loops/ConditionExpressionEvaluator.js.map +0 -1
  776. package/lib/esm/graph/loops/ForeachGraphNodeExecutor.js.map +0 -1
  777. package/lib/esm/graph/loops/GraphConditionEvaluator.js.map +0 -1
  778. package/lib/esm/graph/loops/GraphLoopExecutionContext.js.map +0 -1
  779. package/lib/esm/graph/loops/UntilGraphNodeExecutor.js.map +0 -1
  780. package/lib/esm/graph/loops/WhileGraphNodeExecutor.js.map +0 -1
  781. package/lib/esm/graph/loops/index.js.map +0 -1
  782. package/lib/esm/graph/nodes/agent.js.map +0 -1
  783. package/lib/esm/graph/nodes/category-styles.js.map +0 -1
  784. package/lib/esm/graph/nodes/flow-control.js.map +0 -1
  785. package/lib/esm/graph/nodes/index.js.map +0 -1
  786. package/lib/esm/graph/nodes/triggers.js.map +0 -1
  787. package/lib/esm/graph/pinning/GraphPinningDependencyResolver.js.map +0 -1
  788. package/lib/esm/graph/pinning/GraphPinningMetadata.js.map +0 -1
  789. package/lib/esm/graph/pinning/GraphPinningPolicy.js.map +0 -1
  790. package/lib/esm/graph/pinning/GraphPinningService.js.map +0 -1
  791. package/lib/esm/graph/pinning/index.js.map +0 -1
  792. package/lib/esm/graph/planning/GraphExecutionPlan.js.map +0 -1
  793. package/lib/esm/graph/planning/GraphExecutionPlanEdge.js.map +0 -1
  794. package/lib/esm/graph/planning/GraphExecutionPlanLayer.js.map +0 -1
  795. package/lib/esm/graph/planning/GraphExecutionPlanNode.js.map +0 -1
  796. package/lib/esm/graph/planning/GraphExecutionPlanner.js.map +0 -1
  797. package/lib/esm/graph/planning/GraphRelationResolver.js.map +0 -1
  798. package/lib/esm/graph/planning/GraphTopology.js.map +0 -1
  799. package/lib/esm/graph/planning/index.js.map +0 -1
  800. package/lib/esm/graph/registry/GraphNodeExecutorRegistry.js.map +0 -1
  801. package/lib/esm/graph/registry/GraphNodeExecutorResolver.js.map +0 -1
  802. package/lib/esm/graph/registry/index.js.map +0 -1
  803. package/lib/esm/graph/snapshots/GraphExecutionSnapshotMapper.js.map +0 -1
  804. package/lib/esm/graph/snapshots/index.js.map +0 -1
  805. package/lib/esm/graph/store/GraphCachedValue.js.map +0 -1
  806. package/lib/esm/graph/store/GraphValueKey.js.map +0 -1
  807. package/lib/esm/graph/store/GraphValueStore.js.map +0 -1
  808. package/lib/esm/graph/store/GraphValueStoreAdapter.js.map +0 -1
  809. package/lib/esm/graph/store/InMemoryGraphValueStoreAdapter.js.map +0 -1
  810. package/lib/esm/graph/store/index.js.map +0 -1
  811. package/lib/esm/graph/types.js.map +0 -1
  812. package/lib/esm/graph/validation/GraphDefinitionValidator.js.map +0 -1
  813. package/lib/esm/graph/validation/GraphPortSchemaResolver.js.map +0 -1
  814. package/lib/esm/graph/validation/GraphValueValidator.js.map +0 -1
  815. package/lib/esm/graph/validation/index.js.map +0 -1
  816. package/lib/esm/index.js.map +0 -1
  817. package/lib/esm/keycloak/index.js.map +0 -1
  818. package/lib/esm/keycloak/services/KeycloakAuthService.js.map +0 -1
  819. package/lib/esm/keycloak/services/KeycloakClientService.js.map +0 -1
  820. package/lib/esm/keycloak/services/KeycloakIdentityProviderService.js.map +0 -1
  821. package/lib/esm/keycloak/services/KeycloakRealmService.js.map +0 -1
  822. package/lib/esm/keycloak/services/KeycloakRoleService.js.map +0 -1
  823. package/lib/esm/keycloak/services/KeycloakService.js.map +0 -1
  824. package/lib/esm/keycloak/services/KeycloakUserService.js.map +0 -1
  825. package/lib/esm/keycloak/services/index.js.map +0 -1
  826. package/lib/esm/keycloak/services/runtime.js.map +0 -1
  827. package/lib/esm/keycloak/types.js.map +0 -1
  828. package/lib/esm/kibana/helpers.js.map +0 -1
  829. package/lib/esm/kibana/index.js.map +0 -1
  830. package/lib/esm/kibana/services/KibanaAuthService.js.map +0 -1
  831. package/lib/esm/kibana/services/KibanaDashboardService.js.map +0 -1
  832. package/lib/esm/kibana/services/KibanaDataViewService.js.map +0 -1
  833. package/lib/esm/kibana/services/KibanaRoleService.js.map +0 -1
  834. package/lib/esm/kibana/services/KibanaService.js.map +0 -1
  835. package/lib/esm/kibana/services/KibanaSpaceService.js.map +0 -1
  836. package/lib/esm/kibana/services/KibanaUserService.js.map +0 -1
  837. package/lib/esm/kibana/services/index.js.map +0 -1
  838. package/lib/esm/kibana/services/runtime.js.map +0 -1
  839. package/lib/esm/kibana/types.js.map +0 -1
  840. package/lib/esm/nest/authService.js.map +0 -1
  841. package/lib/esm/nest/index.js.map +0 -1
  842. package/lib/esm/nest/keycloakAuthHandler.js.map +0 -1
  843. package/lib/esm/nest/keycloakModule.js.map +0 -1
  844. package/lib/esm/nest/logging.js.map +0 -1
  845. package/lib/esm/nest/types.js.map +0 -1
  846. package/lib/esm/nest/utils.js.map +0 -1
  847. package/lib/esm/secrets/aws/AwsSecretService.js.map +0 -1
  848. package/lib/esm/secrets/aws/AwsSecretServiceConfig.js.map +0 -1
  849. package/lib/esm/secrets/aws/index.js.map +0 -1
  850. package/lib/esm/secrets/azure/AzureKeyVaultSecretService.js.map +0 -1
  851. package/lib/esm/secrets/azure/AzureKeyVaultSecretServiceConfig.js.map +0 -1
  852. package/lib/esm/secrets/azure/index.js.map +0 -1
  853. package/lib/esm/secrets/core/SecretErrors.js.map +0 -1
  854. package/lib/esm/secrets/core/SecretName.js.map +0 -1
  855. package/lib/esm/secrets/core/SecretReference.js.map +0 -1
  856. package/lib/esm/secrets/core/SecretSerialization.js.map +0 -1
  857. package/lib/esm/secrets/core/SecretService.js.map +0 -1
  858. package/lib/esm/secrets/core/SecretTypes.js.map +0 -1
  859. package/lib/esm/secrets/core/index.js.map +0 -1
  860. package/lib/esm/secrets/gcp/GcpSecretManagerService.js.map +0 -1
  861. package/lib/esm/secrets/gcp/GcpSecretManagerServiceConfig.js.map +0 -1
  862. package/lib/esm/secrets/gcp/index.js.map +0 -1
  863. package/lib/esm/secrets/index.js.map +0 -1
  864. package/lib/esm/secrets/model/ModelSecretCrypto.js.map +0 -1
  865. package/lib/esm/secrets/model/ModelSecretService.js.map +0 -1
  866. package/lib/esm/secrets/model/ModelSecretServiceConfig.js.map +0 -1
  867. package/lib/esm/secrets/model/Secret.js.map +0 -1
  868. package/lib/esm/secrets/model/index.js.map +0 -1
  869. package/lib/esm/secrets/onepassword/OnePasswordSecretService.js.map +0 -1
  870. package/lib/esm/secrets/onepassword/OnePasswordSecretServiceConfig.js.map +0 -1
  871. package/lib/esm/secrets/onepassword/index.js.map +0 -1
  872. package/lib/esm/secrets/vault/VaultSecretService.js.map +0 -1
  873. package/lib/esm/secrets/vault/VaultSecretServiceConfig.js.map +0 -1
  874. package/lib/esm/secrets/vault/index.js.map +0 -1
  875. package/lib/esm/shared/runtime.js.map +0 -1
  876. package/lib/esm/utils.js.map +0 -1
@@ -0,0 +1,144 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
11
+ return function (target, key) { decorator(target, key, paramIndex); }
12
+ };
13
+ /**
14
+ * @module integrations/nest/graph/GraphExecutionController
15
+ * @summary NestJS controller bridging the graph execution engine to REST + SSE.
16
+ * @description Exposes three endpoints:
17
+ * - `POST /graph/execute` — triggers {@link GraphExecutionEngine.execute}, persists the result via a Decaf repository, and returns `{ runId, status, outputs }`.
18
+ * - `GET /graph/events` — SSE endpoint streaming {@link GraphExecutionEvent}s as `[modelName, operation, id, payload]` tuples (compatible with for-http's `ServerEventConnector`).
19
+ * - `GET /graph/results/:runId` — retrieves a persisted {@link GraphExecutionResultModel} from the repository.
20
+ *
21
+ * This is the production pattern: for-nest hosts the engine, for-angular consumes events over the network via SSE and fetches persisted results via REST.
22
+ */
23
+ import { Controller, Post, Get, Body, Param, Sse, Inject, NotFoundException, } from "@nestjs/common";
24
+ import { Subject, Observable } from "rxjs";
25
+ import { map } from "rxjs/operators";
26
+ import { GraphExecutionEngine, } from "./../../graph/index.js";
27
+ import { fromResultModel, toResultModel, } from "./GraphExecutionResultRepository.js";
28
+ /**
29
+ * NestJS injection token for the graph execution result repository.
30
+ */
31
+ export const GRAPH_RESULT_REPOSITORY = "GRAPH_RESULT_REPOSITORY";
32
+ /**
33
+ * NestJS controller that hosts the graph execution engine server-side,
34
+ * streams events via SSE, and persists results for later retrieval.
35
+ */
36
+ let GraphExecutionController = class GraphExecutionController {
37
+ constructor(engine, resultRepository) {
38
+ this.engine = engine;
39
+ this.resultRepository = resultRepository;
40
+ this.eventSubject = new Subject();
41
+ this.engine.observe({
42
+ refresh: async (event) => {
43
+ this.eventSubject.next(event);
44
+ },
45
+ });
46
+ }
47
+ /**
48
+ * Triggers graph execution server-side, persists the result, and returns
49
+ * a summary containing the `runId`, `status`, and `outputs`.
50
+ */
51
+ async execute(body) {
52
+ const result = await this.engine.execute(body.workflow, body.inputs ?? {});
53
+ try {
54
+ await this.resultRepository.create(toResultModel(result));
55
+ }
56
+ catch {
57
+ // persistence failures must not mask a successful execution result
58
+ }
59
+ return {
60
+ runId: result.runId,
61
+ status: result.status,
62
+ outputs: result.outputs,
63
+ };
64
+ }
65
+ /**
66
+ * SSE endpoint that streams graph execution events.
67
+ *
68
+ * Events are serialized as `[modelName, operation, id, payload]` to match
69
+ * the format expected by for-http's `ServerEventConnector`.
70
+ */
71
+ events() {
72
+ return this.eventSubject.asObservable().pipe(map((event) => ({
73
+ type: "message",
74
+ data: JSON.stringify([
75
+ "graph",
76
+ event.type,
77
+ event.runId,
78
+ {
79
+ id: event.id,
80
+ sequence: event.sequence,
81
+ type: event.type,
82
+ runId: event.runId,
83
+ parentRunId: event.parentRunId,
84
+ workflowId: event.workflowId,
85
+ nodeId: event.nodeId,
86
+ edgeId: event.edgeId,
87
+ port: event.port,
88
+ iteration: event.iteration,
89
+ path: event.path,
90
+ status: event.status,
91
+ payload: event.payload,
92
+ error: event.error,
93
+ timestamp: event.timestamp.toISOString(),
94
+ },
95
+ ]),
96
+ })));
97
+ }
98
+ /**
99
+ * Retrieves a persisted graph execution result by its `runId`.
100
+ *
101
+ * @throws {NotFoundException} when no result is stored for the given `runId`.
102
+ */
103
+ async getResult(runId) {
104
+ let model;
105
+ try {
106
+ model = (await this.resultRepository.read(runId));
107
+ }
108
+ catch {
109
+ model = null;
110
+ }
111
+ const result = fromResultModel(model);
112
+ if (!result) {
113
+ throw new NotFoundException(`No graph execution result found for runId '${runId}'`);
114
+ }
115
+ return result;
116
+ }
117
+ };
118
+ __decorate([
119
+ Post("execute"),
120
+ __param(0, Body()),
121
+ __metadata("design:type", Function),
122
+ __metadata("design:paramtypes", [Object]),
123
+ __metadata("design:returntype", Promise)
124
+ ], GraphExecutionController.prototype, "execute", null);
125
+ __decorate([
126
+ Sse("events"),
127
+ __metadata("design:type", Function),
128
+ __metadata("design:paramtypes", []),
129
+ __metadata("design:returntype", Observable)
130
+ ], GraphExecutionController.prototype, "events", null);
131
+ __decorate([
132
+ Get("results/:runId"),
133
+ __param(0, Param("runId")),
134
+ __metadata("design:type", Function),
135
+ __metadata("design:paramtypes", [String]),
136
+ __metadata("design:returntype", Promise)
137
+ ], GraphExecutionController.prototype, "getResult", null);
138
+ GraphExecutionController = __decorate([
139
+ Controller("graph"),
140
+ __param(1, Inject(GRAPH_RESULT_REPOSITORY)),
141
+ __metadata("design:paramtypes", [GraphExecutionEngine, Object])
142
+ ], GraphExecutionController);
143
+ export { GraphExecutionController };
144
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JhcGhFeGVjdXRpb25Db250cm9sbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL25lc3QvZ3JhcGgvR3JhcGhFeGVjdXRpb25Db250cm9sbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBOzs7Ozs7Ozs7R0FTRztBQUNILE9BQU8sRUFDTCxVQUFVLEVBQ1YsSUFBSSxFQUNKLEdBQUcsRUFDSCxJQUFJLEVBQ0osS0FBSyxFQUNMLEdBQUcsRUFFSCxNQUFNLEVBQ04saUJBQWlCLEdBQ2xCLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJDLE9BQU8sRUFDTCxvQkFBb0IsR0FHckIsK0JBQW9CO0FBR3JCLE9BQU8sRUFDTCxlQUFlLEVBQ2YsYUFBYSxHQUVkLDRDQUF5QztBQUcxQzs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLHlCQUF5QixDQUFDO0FBbUJqRTs7O0dBR0c7QUFFSSxJQUFNLHdCQUF3QixHQUE5QixNQUFNLHdCQUF3QjtJQUduQyxZQUNtQixNQUE0QixFQUU3QyxnQkFBeUU7UUFGeEQsV0FBTSxHQUFOLE1BQU0sQ0FBc0I7UUFFNUIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUF3QztRQUwxRCxpQkFBWSxHQUFHLElBQUksT0FBTyxFQUF1QixDQUFDO1FBT2pFLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDO1lBQ2xCLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEVBQUU7Z0JBQ3ZCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2hDLENBQUM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7OztPQUdHO0lBRUcsQUFBTixLQUFL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QUFVLENBQUMsT0FBTyxDQUFDO0lBTWYsV0FBQSxNQUFNLENBQUMsdUJBQXVCLENBQUMsQ0FBQTtxQ0FEUCxvQkFBb0I7R0FKcEMsd0JBQXdCLENBb0dwQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQG1vZHVsZSBpbnRlZ3JhdGlvbnMvbmVzdC9ncmFwaC9HcmFwaEV4ZWN1dGlvbkNvbnRyb2xsZXJcbiAqIEBzdW1tYXJ5IE5lc3RKUyBjb250cm9sbGVyIGJyaWRnaW5nIHRoZSBncmFwaCBleGVjdXRpb24gZW5naW5lIHRvIFJFU1QgKyBTU0UuXG4gKiBAZGVzY3JpcHRpb24gRXhwb3NlcyB0aHJlZSBlbmRwb2ludHM6XG4gKiAtIGBQT1NUIC9ncmFwaC9leGVjdXRlYCDigJQgdHJpZ2dlcnMge0BsaW5rIEdyYXBoRXhlY3V0aW9uRW5naW5lLmV4ZWN1dGV9LCBwZXJzaXN0cyB0aGUgcmVzdWx0IHZpYSBhIERlY2FmIHJlcG9zaXRvcnksIGFuZCByZXR1cm5zIGB7IHJ1bklkLCBzdGF0dXMsIG91dHB1dHMgfWAuXG4gKiAtIGBHRVQgL2dyYXBoL2V2ZW50c2Ag4oCUIFNTRSBlbmRwb2ludCBzdHJlYW1pbmcge0BsaW5rIEdyYXBoRXhlY3V0aW9uRXZlbnR9cyBhcyBgW21vZGVsTmFtZSwgb3BlcmF0aW9uLCBpZCwgcGF5bG9hZF1gIHR1cGxlcyAoY29tcGF0aWJsZSB3aXRoIGZvci1odHRwJ3MgYFNlcnZlckV2ZW50Q29ubmVjdG9yYCkuXG4gKiAtIGBHRVQgL2dyYXBoL3Jlc3VsdHMvOnJ1bklkYCDigJQgcmV0cmlldmVzIGEgcGVyc2lzdGVkIHtAbGluayBHcmFwaEV4ZWN1dGlvblJlc3VsdE1vZGVsfSBmcm9tIHRoZSByZXBvc2l0b3J5LlxuICpcbiAqIFRoaXMgaXMgdGhlIHByb2R1Y3Rpb24gcGF0dGVybjogZm9yLW5lc3QgaG9zdHMgdGhlIGVuZ2luZSwgZm9yLWFuZ3VsYXIgY29uc3VtZXMgZXZlbnRzIG92ZXIgdGhlIG5ldHdvcmsgdmlhIFNTRSBhbmQgZmV0Y2hlcyBwZXJzaXN0ZWQgcmVzdWx0cyB2aWEgUkVTVC5cbiAqL1xuaW1wb3J0IHtcbiAgQ29udHJvbGxlcixcbiAgUG9zdCxcbiAgR2V0LFxuICBCb2R5LFxuICBQYXJhbSxcbiAgU3NlLFxuICBNZXNzYWdlRXZlbnQsXG4gIEluamVjdCxcbiAgTm90Rm91bmRFeGNlcHRpb24sXG59IGZyb20gXCJAbmVzdGpzL2NvbW1vblwiO1xuaW1wb3J0IHsgU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBtYXAgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcblxuaW1wb3J0IHtcbiAgR3JhcGhFeGVjdXRpb25FbmdpbmUsXG4gIHR5cGUgR3JhcGhFeGVjdXRpb25FdmVudCxcbiAgdHlwZSBHcmFwaEV4ZWN1dGlvblZhbHVlcyxcbn0gZnJvbSBcIi4uLy4uL2dyYXBoXCI7XG5pbXBvcnQgdHlwZSB7IEdyYXBoV29ya2Zsb3dEZWZpbml0aW9uIH0gZnJvbSBcIkBkZWNhZi10cy91aS1kZWNvcmF0b3JzL2dyYXBoXCI7XG5cbmltcG9ydCB7XG4gIGZyb21SZXN1bHRNb2RlbCxcbiAgdG9SZXN1bHRNb2RlbCxcbiAgdHlwZSBHcmFwaEV4ZWN1dGlvblJlc3VsdFJlcG9zaXRvcnlJbnN0YW5jZSxcbn0gZnJvbSBcIi4vR3JhcGhFeGVjdXRpb25SZXN1bHRSZXBvc2l0b3J5XCI7XG5pbXBvcnQgdHlwZSB7IEdyYXBoRXhlY3V0aW9uUmVzdWx0TW9kZWwgfSBmcm9tIFwiLi9HcmFwaEV4ZWN1dGlvblJlc3VsdE1vZGVsXCI7XG5cbi8qKlxuICogTmVzdEpTIGluamVjdGlvbiB0b2tlbiBmb3IgdGhlIGdyYXBoIGV4ZWN1dGlvbiByZXN1bHQgcmVwb3NpdG9yeS5cbiAqL1xuZXhwb3J0IGNvbnN0IEdSQVBIX1JFU1VMVF9SRVBPU0lUT1JZID0gXCJHUkFQSF9SRVNVTFRfUkVQT1NJVE9SWVwiO1xuXG4vKipcbiAqIFBheWxvYWQgZm9yIHRoZSBgUE9TVCAvZ3JhcGgvZXhlY3V0ZWAgZW5kcG9pbnQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR3JhcGhFeGVjdXRlUGF5bG9hZCB7XG4gIHdvcmtmbG93OiBHcmFwaFdvcmtmbG93RGVmaW5pdGlvbjtcbiAgaW5wdXRzOiBHcmFwaEV4ZWN1dGlvblZhbHVlcztcbn1cblxuLyoqXG4gKiBSZXNwb25zZSBzaGFwZSBmb3IgdGhlIGBQT1NUIC9ncmFwaC9leGVjdXRlYCBlbmRwb2ludC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHcmFwaEV4ZWN1dGVSZXNwb25zZSB7XG4gIHJ1bklkOiBzdHJpbmc7XG4gIHN0YXR1czogc3RyaW5nO1xuICBvdXRwdXRzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbn1cblxuLyoqXG4gKiBOZXN0SlMgY29udHJvbGxlciB0aGF0IGhvc3RzIHRoZSBncmFwaCBleGVjdXRpb24gZW5naW5lIHNlcnZlci1zaWRlLFxuICogc3RyZWFtcyBldmVudHMgdmlhIFNTRSwgYW5kIHBlcnNpc3RzIHJlc3VsdHMgZm9yIGxhdGVyIHJldHJpZXZhbC5cbiAqL1xuQENvbnRyb2xsZXIoXCJncmFwaFwiKVxuZXhwb3J0IGNsYXNzIEdyYXBoRXhlY3V0aW9uQ29udHJvbGxlciB7XG4gIHByaXZhdGUgcmVhZG9ubHkgZXZlbnRTdWJqZWN0ID0gbmV3IFN1YmplY3Q8R3JhcGhFeGVjdXRpb25FdmVudD4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVuZ2luZTogR3JhcGhFeGVjdXRpb25FbmdpbmUsXG4gICAgQEluamVjdChHUkFQSF9SRVNVTFRfUkVQT1NJVE9SWSlcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlc3VsdFJlcG9zaXRvcnk6IEdyYXBoRXhlY3V0aW9uUmVzdWx0UmVwb3NpdG9yeUluc3RhbmNlXG4gICkge1xuICAgIHRoaXMuZW5naW5lLm9ic2VydmUoe1xuICAgICAgcmVmcmVzaDogYXN5bmMgKGV2ZW50KSA9PiB7XG4gICAgICAgIHRoaXMuZXZlbnRTdWJqZWN0Lm5leHQoZXZlbnQpO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUcmlnZ2VycyBncmFwaCBleGVjdXRpb24gc2VydmVyLXNpZGUsIHBlcnNpc3RzIHRoZSByZXN1bHQsIGFuZCByZXR1cm5zXG4gICAqIGEgc3VtbWFyeSBjb250YWluaW5nIHRoZSBgcnVuSWRgLCBgc3RhdHVzYCwgYW5kIGBvdXRwdXRzYC5cbiAgICovXG4gIEBQb3N0KFwiZXhlY3V0ZVwiKVxuICBhc3luYyBleGVjdXRlKFxuICAgIEBCb2R5KCkgYm9keTogR3JhcGhFeGVjdXRlUGF5bG9hZFxuICApOiBQcm9taXNlPEdyYXBoRXhlY3V0ZVJlc3BvbnNlPiB7XG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5lbmdpbmUuZXhlY3V0ZShib2R5LndvcmtmbG93LCBib2R5LmlucHV0cyA/PyB7fSk7XG5cbiAgICB0cnkge1xuICAgICAgYXdhaXQgdGhpcy5yZXN1bHRSZXBvc2l0b3J5LmNyZWF0ZSh0b1Jlc3VsdE1vZGVsKHJlc3VsdCkpO1xuICAgIH0gY2F0Y2gge1xuICAgICAgLy8gcGVyc2lzdGVuY2UgZmFpbHVyZXMgbXVzdCBub3QgbWFzayBhIHN1Y2Nlc3NmdWwgZXhlY3V0aW9uIHJlc3VsdFxuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBydW5JZDogcmVzdWx0LnJ1bklkLFxuICAgICAgc3RhdHVzOiByZXN1bHQuc3RhdHVzLFxuICAgICAgb3V0cHV0czogcmVzdWx0Lm91dHB1dHMsXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTU0UgZW5kcG9pbnQgdGhhdCBzdHJlYW1zIGdyYXBoIGV4ZWN1dGlvbiBldmVudHMuXG4gICAqXG4gICAqIEV2ZW50cyBhcmUgc2VyaWFsaXplZCBhcyBgW21vZGVsTmFtZSwgb3BlcmF0aW9uLCBpZCwgcGF5bG9hZF1gIHRvIG1hdGNoXG4gICAqIHRoZSBmb3JtYXQgZXhwZWN0ZWQgYnkgZm9yLWh0dHAncyBgU2VydmVyRXZlbnRDb25uZWN0b3JgLlxuICAgKi9cbiAgQFNzZShcImV2ZW50c1wiKVxuICBldmVudHMoKTogT2JzZXJ2YWJsZTxNZXNzYWdlRXZlbnQ+IHtcbiAgICByZXR1cm4gdGhpcy5ldmVudFN1YmplY3QuYXNPYnNlcnZhYmxlKCkucGlwZShcbiAgICAgIG1hcChcbiAgICAgICAgKGV2ZW50OiBHcmFwaEV4ZWN1dGlvbkV2ZW50KTogTWVzc2FnZUV2ZW50ID0+ICh7XG4gICAgICAgICAgdHlwZTogXCJtZXNzYWdlXCIsXG4gICAgICAgICAgZGF0YTogSlNPTi5zdHJpbmdpZnkoW1xuICAgICAgICAgICAgXCJncmFwaFwiLFxuICAgICAgICAgICAgZXZlbnQudHlwZSxcbiAgICAgICAgICAgIGV2ZW50LnJ1bklkLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBpZDogZXZlbnQuaWQsXG4gICAgICAgICAgICAgIHNlcXVlbmNlOiBldmVudC5zZXF1ZW5jZSxcbiAgICAgICAgICAgICAgdHlwZTogZXZlbnQudHlwZSxcbiAgICAgICAgICAgICAgcnVuSWQ6IGV2ZW50LnJ1bklkLFxuICAgICAgICAgICAgICBwYXJlbnRSdW5JZDogZXZlbnQucGFyZW50UnVuSWQsXG4gICAgICAgICAgICAgIHdvcmtmbG93SWQ6IGV2ZW50LndvcmtmbG93SWQsXG4gICAgICAgICAgICAgIG5vZGVJZDogZXZlbnQubm9kZUlkLFxuICAgICAgICAgICAgICBlZGdlSWQ6IGV2ZW50LmVkZ2VJZCxcbiAgICAgICAgICAgICAgcG9ydDogZXZlbnQucG9ydCxcbiAgICAgICAgICAgICAgaXRlcmF0aW9uOiBldmVudC5pdGVyYXRpb24sXG4gICAgICAgICAgICAgIHBhdGg6IGV2ZW50LnBhdGgsXG4gICAgICAgICAgICAgIHN0YXR1czogZXZlbnQuc3RhdHVzLFxuICAgICAgICAgICAgICBwYXlsb2FkOiBldmVudC5wYXlsb2FkLFxuICAgICAgICAgICAgICBlcnJvcjogZXZlbnQuZXJyb3IsXG4gICAgICAgICAgICAgIHRpbWVzdGFtcDogZXZlbnQudGltZXN0YW1wLnRvSVNPU3RyaW5nKCksXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0pLFxuICAgICAgICB9KVxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogUmV0cmlldmVzIGEgcGVyc2lzdGVkIGdyYXBoIGV4ZWN1dGlvbiByZXN1bHQgYnkgaXRzIGBydW5JZGAuXG4gICAqXG4gICAqIEB0aHJvd3Mge05vdEZvdW5kRXhjZXB0aW9ufSB3aGVuIG5vIHJlc3VsdCBpcyBzdG9yZWQgZm9yIHRoZSBnaXZlbiBgcnVuSWRgLlxuICAgKi9cbiAgQEdldChcInJlc3VsdHMvOnJ1bklkXCIpXG4gIGFzeW5jIGdldFJlc3VsdChAUGFyYW0oXCJydW5JZFwiKSBydW5JZDogc3RyaW5nKTogUHJvbWlzZTx1bmtub3duPiB7XG4gICAgbGV0IG1vZGVsOiBHcmFwaEV4ZWN1dGlvblJlc3VsdE1vZGVsIHwgbnVsbDtcbiAgICB0cnkge1xuICAgICAgbW9kZWwgPSAoYXdhaXQgdGhpcy5yZXN1bHRSZXBvc2l0b3J5LnJlYWQoXG4gICAgICAgIHJ1bklkXG4gICAgICApKSBhcyBHcmFwaEV4ZWN1dGlvblJlc3VsdE1vZGVsIHwgbnVsbDtcbiAgICB9IGNhdGNoIHtcbiAgICAgIG1vZGVsID0gbnVsbDtcbiAgICB9XG4gICAgY29uc3QgcmVzdWx0ID0gZnJvbVJlc3VsdE1vZGVsKG1vZGVsKTtcbiAgICBpZiAoIXJlc3VsdCkge1xuICAgICAgdGhyb3cgbmV3IE5vdEZvdW5kRXhjZXB0aW9uKFxuICAgICAgICBgTm8gZ3JhcGggZXhlY3V0aW9uIHJlc3VsdCBmb3VuZCBmb3IgcnVuSWQgJyR7cnVuSWR9J2BcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,76 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var GraphExecutionModule_1;
8
+ /**
9
+ * @module integrations/nest/graph/GraphExecutionModule
10
+ * @summary NestJS DynamicModule hosting the graph execution engine.
11
+ * @description Wires the {@link GraphExecutionEngine}, a demo executor registry, a RamAdapter-backed result repository, and the {@link GraphExecutionController} into a single NestJS module. Use `GraphExecutionModule.forRoot()` to register it in the application.
12
+ */
13
+ import { Module } from "@nestjs/common";
14
+ import { Adapter, Repository } from "@decaf-ts/core";
15
+ import { RamAdapter, RamFlavour } from "@decaf-ts/core/ram";
16
+ import { GraphExecutionEngine } from "./../../graph/index.js";
17
+ import { createGraphExecutorRegistry } from "./GraphExecutorRegistryFactory.js";
18
+ import { GraphExecutionResultModel } from "./GraphExecutionResultModel.js";
19
+ import { GRAPH_RESULT_REPOSITORY, GraphExecutionController, } from "./GraphExecutionController.js";
20
+ /**
21
+ * NestJS module that hosts the graph execution engine server-side.
22
+ *
23
+ * Provides:
24
+ * - {@link GraphExecutionEngine} — singleton engine with a demo executor registry.
25
+ * - `GRAPH_RESULT_REPOSITORY` — Decaf repository for {@link GraphExecutionResultModel} backed by RamAdapter.
26
+ * - {@link GraphExecutionController} — REST + SSE controller.
27
+ */
28
+ let GraphExecutionModule = GraphExecutionModule_1 = class GraphExecutionModule {
29
+ /**
30
+ * Creates a configured {@link DynamicModule} for the graph execution backend.
31
+ *
32
+ * @param options - Module configuration options.
33
+ * @returns A NestJS `DynamicModule` ready for import.
34
+ */
35
+ static forRoot(options = {}) {
36
+ const user = options.adapterUser ?? "graph-engine";
37
+ const initAdapter = options.initAdapter ?? true;
38
+ const providers = [
39
+ {
40
+ provide: GraphExecutionEngine,
41
+ useFactory: () => {
42
+ if (initAdapter) {
43
+ RamAdapter.decoration();
44
+ Adapter.setCurrent(RamFlavour);
45
+ }
46
+ const registry = createGraphExecutorRegistry();
47
+ return new GraphExecutionEngine({ registry });
48
+ },
49
+ },
50
+ {
51
+ provide: GRAPH_RESULT_REPOSITORY,
52
+ useFactory: () => {
53
+ if (initAdapter) {
54
+ RamAdapter.decoration();
55
+ Adapter.setCurrent(RamFlavour);
56
+ }
57
+ // Creating the adapter ensures a Ram-flavoured instance is available
58
+ // for Repository.forModel. The adapter user is used by audit handlers.
59
+ new RamAdapter({ user });
60
+ return Repository.forModel(GraphExecutionResultModel);
61
+ },
62
+ },
63
+ ];
64
+ return {
65
+ module: GraphExecutionModule_1,
66
+ controllers: [GraphExecutionController],
67
+ providers,
68
+ exports: [GraphExecutionEngine, GRAPH_RESULT_REPOSITORY],
69
+ };
70
+ }
71
+ };
72
+ GraphExecutionModule = GraphExecutionModule_1 = __decorate([
73
+ Module({})
74
+ ], GraphExecutionModule);
75
+ export { GraphExecutionModule };
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JhcGhFeGVjdXRpb25Nb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbmVzdC9ncmFwaC9HcmFwaEV4ZWN1dGlvbk1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7Ozs7R0FJRztBQUNILE9BQU8sRUFBaUIsTUFBTSxFQUFZLE1BQU0sZ0JBQWdCLENBQUM7QUFDakUsT0FBTyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRTVELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSwrQkFBb0I7QUFDbkQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLDBDQUF1QztBQUM3RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsdUNBQW9DO0FBQ3hFLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsd0JBQXdCLEdBQ3pCLHNDQUFtQztBQW1CcEM7Ozs7Ozs7R0FPRztBQUVJLElBQU0sb0JBQW9CLDRCQUExQixNQUFNLG9CQUFvQjtJQUMvQjs7Ozs7T0FLRztJQUNILE1BQU0sQ0FBQyxPQUFPLENBQ1osVUFBdUMsRUFBRTtRQUV6QyxNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsV0FBVyxJQUFJLGNBQWMsQ0FBQztRQUNuRCxNQUFNLFdBQVcsR0FBRyxPQUFPLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQztRQUVoRCxNQUFNLFNBQVMsR0FBZTtZQUM1QjtnQkFDRSxPQUFPLEVBQUUsb0JBQW9CO2dCQUM3QixVQUFVLEVBQUUsR0FBRyxFQUFFO29CQUNmLElBQUksV0FBVyxFQUFFLENBQUM7d0JBQ2hCLFVBQVUsQ0FBQyxVQUFVLEVBQUUsQ0FBQzt3QkFDeEIsT0FBTyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQztvQkFDakMsQ0FBQztvQkFDRCxNQUFNLFFBQVEsR0FBRywyQkFBMkIsRUFBRSxDQUFDO29CQUMvQyxPQUFPLElBQUksb0JBQW9CLENBQUMsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO2dCQUNoRCxDQUFDO2FBQ0Y7WUFDRDtnQkFDRSxPQUFPLEVBQUUsdUJBQXVCO2dCQUNoQyxVQUFVLEVBQUUsR0FBRyxFQUFFO29CQUNmLElBQUksV0FBVyxFQUFFLENBQUM7d0JBQ2hCLFVBQVUsQ0FBQyxVQUFVLEVBQUUsQ0FBQzt3QkFDeEIsT0FBTyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQztvQkFDakMsQ0FBQztvQkFDRCxxRUFBcUU7b0JBQ3JFLHVFQUF1RTtvQkFDdkUsSUFBSSxVQUFVLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO29CQUN6QixPQUFPLFVBQVUsQ0FBQyxRQUFRLENBQUMseUJBQXlCLENBQUMsQ0FBQztnQkFDeEQsQ0FBQzthQUNGO1NBQ0YsQ0FBQztRQUVGLE9BQU87WUFDTCxNQUFNLEVBQUUsc0JBQW9CO1lBQzVCLFdBQVcsRUFBRSxDQUFDLHdCQUF3QixDQUFDO1lBQ3ZDLFNBQVM7WUFDVCxPQUFPLEVBQUUsQ0FBQyxvQkFBb0IsRUFBRSx1QkFBdUIsQ0FBQztTQUN6RCxDQUFDO0lBQ0osQ0FBQztDQUNGLENBQUE7QUEvQ1ksb0JBQW9CO0lBRGhDLE1BQU0sQ0FBQyxFQUFFLENBQUM7R0FDRSxvQkFBb0IsQ0ErQ2hDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbW9kdWxlIGludGVncmF0aW9ucy9uZXN0L2dyYXBoL0dyYXBoRXhlY3V0aW9uTW9kdWxlXG4gKiBAc3VtbWFyeSBOZXN0SlMgRHluYW1pY01vZHVsZSBob3N0aW5nIHRoZSBncmFwaCBleGVjdXRpb24gZW5naW5lLlxuICogQGRlc2NyaXB0aW9uIFdpcmVzIHRoZSB7QGxpbmsgR3JhcGhFeGVjdXRpb25FbmdpbmV9LCBhIGRlbW8gZXhlY3V0b3IgcmVnaXN0cnksIGEgUmFtQWRhcHRlci1iYWNrZWQgcmVzdWx0IHJlcG9zaXRvcnksIGFuZCB0aGUge0BsaW5rIEdyYXBoRXhlY3V0aW9uQ29udHJvbGxlcn0gaW50byBhIHNpbmdsZSBOZXN0SlMgbW9kdWxlLiBVc2UgYEdyYXBoRXhlY3V0aW9uTW9kdWxlLmZvclJvb3QoKWAgdG8gcmVnaXN0ZXIgaXQgaW4gdGhlIGFwcGxpY2F0aW9uLlxuICovXG5pbXBvcnQgeyBEeW5hbWljTW9kdWxlLCBNb2R1bGUsIFByb3ZpZGVyIH0gZnJvbSBcIkBuZXN0anMvY29tbW9uXCI7XG5pbXBvcnQgeyBBZGFwdGVyLCBSZXBvc2l0b3J5IH0gZnJvbSBcIkBkZWNhZi10cy9jb3JlXCI7XG5pbXBvcnQgeyBSYW1BZGFwdGVyLCBSYW1GbGF2b3VyIH0gZnJvbSBcIkBkZWNhZi10cy9jb3JlL3JhbVwiO1xuXG5pbXBvcnQgeyBHcmFwaEV4ZWN1dGlvbkVuZ2luZSB9IGZyb20gXCIuLi8uLi9ncmFwaFwiO1xuaW1wb3J0IHsgY3JlYXRlR3JhcGhFeGVjdXRvclJlZ2lzdHJ5IH0gZnJvbSBcIi4vR3JhcGhFeGVjdXRvclJlZ2lzdHJ5RmFjdG9yeVwiO1xuaW1wb3J0IHsgR3JhcGhFeGVjdXRpb25SZXN1bHRNb2RlbCB9IGZyb20gXCIuL0dyYXBoRXhlY3V0aW9uUmVzdWx0TW9kZWxcIjtcbmltcG9ydCB7XG4gIEdSQVBIX1JFU1VMVF9SRVBPU0lUT1JZLFxuICBHcmFwaEV4ZWN1dGlvbkNvbnRyb2xsZXIsXG59IGZyb20gXCIuL0dyYXBoRXhlY3V0aW9uQ29udHJvbGxlclwiO1xuXG4vKipcbiAqIE9wdGlvbnMgZm9yIHtAbGluayBHcmFwaEV4ZWN1dGlvbk1vZHVsZS5mb3JSb290fS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHcmFwaEV4ZWN1dGlvbk1vZHVsZU9wdGlvbnMge1xuICAvKipcbiAgICogVXNlciBpZGVudGlmaWVyIHBhc3NlZCB0byB0aGUgUmFtQWRhcHRlci4gRGVmYXVsdHMgdG8gYFwiZ3JhcGgtZW5naW5lXCJgLlxuICAgKi9cbiAgYWRhcHRlclVzZXI/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBXaGVuIGB0cnVlYCwgY2FsbHMgYFJhbUFkYXB0ZXIuZGVjb3JhdGlvbigpYCBhbmRcbiAgICogYEFkYXB0ZXIuc2V0Q3VycmVudChSYW1GbGF2b3VyKWAgZHVyaW5nIG1vZHVsZSBpbml0aWFsaXNhdGlvbi4gRGVmYXVsdHMgdG9cbiAgICogYHRydWVgLiBTZXQgdG8gYGZhbHNlYCB3aGVuIHRoZSBob3N0IGFwcGxpY2F0aW9uIGhhcyBhbHJlYWR5IGNvbmZpZ3VyZWQgYVxuICAgKiBSYW1BZGFwdGVyLlxuICAgKi9cbiAgaW5pdEFkYXB0ZXI/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIE5lc3RKUyBtb2R1bGUgdGhhdCBob3N0cyB0aGUgZ3JhcGggZXhlY3V0aW9uIGVuZ2luZSBzZXJ2ZXItc2lkZS5cbiAqXG4gKiBQcm92aWRlczpcbiAqIC0ge0BsaW5rIEdyYXBoRXhlY3V0aW9uRW5naW5lfSDigJQgc2luZ2xldG9uIGVuZ2luZSB3aXRoIGEgZGVtbyBleGVjdXRvciByZWdpc3RyeS5cbiAqIC0gYEdSQVBIX1JFU1VMVF9SRVBPU0lUT1JZYCDigJQgRGVjYWYgcmVwb3NpdG9yeSBmb3Ige0BsaW5rIEdyYXBoRXhlY3V0aW9uUmVzdWx0TW9kZWx9IGJhY2tlZCBieSBSYW1BZGFwdGVyLlxuICogLSB7QGxpbmsgR3JhcGhFeGVjdXRpb25Db250cm9sbGVyfSDigJQgUkVTVCArIFNTRSBjb250cm9sbGVyLlxuICovXG5ATW9kdWxlKHt9KVxuZXhwb3J0IGNsYXNzIEdyYXBoRXhlY3V0aW9uTW9kdWxlIHtcbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBjb25maWd1cmVkIHtAbGluayBEeW5hbWljTW9kdWxlfSBmb3IgdGhlIGdyYXBoIGV4ZWN1dGlvbiBiYWNrZW5kLlxuICAgKlxuICAgKiBAcGFyYW0gb3B0aW9ucyAtIE1vZHVsZSBjb25maWd1cmF0aW9uIG9wdGlvbnMuXG4gICAqIEByZXR1cm5zIEEgTmVzdEpTIGBEeW5hbWljTW9kdWxlYCByZWFkeSBmb3IgaW1wb3J0LlxuICAgKi9cbiAgc3RhdGljIGZvclJvb3QoXG4gICAgb3B0aW9uczogR3JhcGhFeGVjdXRpb25Nb2R1bGVPcHRpb25zID0ge31cbiAgKTogRHluYW1pY01vZHVsZSB7XG4gICAgY29uc3QgdXNlciA9IG9wdGlvbnMuYWRhcHRlclVzZXIgPz8gXCJncmFwaC1lbmdpbmVcIjtcbiAgICBjb25zdCBpbml0QWRhcHRlciA9IG9wdGlvbnMuaW5pdEFkYXB0ZXIgPz8gdHJ1ZTtcblxuICAgIGNvbnN0IHByb3ZpZGVyczogUHJvdmlkZXJbXSA9IFtcbiAgICAgIHtcbiAgICAgICAgcHJvdmlkZTogR3JhcGhFeGVjdXRpb25FbmdpbmUsXG4gICAgICAgIHVzZUZhY3Rvcnk6ICgpID0+IHtcbiAgICAgICAgICBpZiAoaW5pdEFkYXB0ZXIpIHtcbiAgICAgICAgICAgIFJhbUFkYXB0ZXIuZGVjb3JhdGlvbigpO1xuICAgICAgICAgICAgQWRhcHRlci5zZXRDdXJyZW50KFJhbUZsYXZvdXIpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBjb25zdCByZWdpc3RyeSA9IGNyZWF0ZUdyYXBoRXhlY3V0b3JSZWdpc3RyeSgpO1xuICAgICAgICAgIHJldHVybiBuZXcgR3JhcGhFeGVjdXRpb25FbmdpbmUoeyByZWdpc3RyeSB9KTtcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHByb3ZpZGU6IEdSQVBIX1JFU1VMVF9SRVBPU0lUT1JZLFxuICAgICAgICB1c2VGYWN0b3J5OiAoKSA9PiB7XG4gICAgICAgICAgaWYgKGluaXRBZGFwdGVyKSB7XG4gICAgICAgICAgICBSYW1BZGFwdGVyLmRlY29yYXRpb24oKTtcbiAgICAgICAgICAgIEFkYXB0ZXIuc2V0Q3VycmVudChSYW1GbGF2b3VyKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgLy8gQ3JlYXRpbmcgdGhlIGFkYXB0ZXIgZW5zdXJlcyBhIFJhbS1mbGF2b3VyZWQgaW5zdGFuY2UgaXMgYXZhaWxhYmxlXG4gICAgICAgICAgLy8gZm9yIFJlcG9zaXRvcnkuZm9yTW9kZWwuIFRoZSBhZGFwdGVyIHVzZXIgaXMgdXNlZCBieSBhdWRpdCBoYW5kbGVycy5cbiAgICAgICAgICBuZXcgUmFtQWRhcHRlcih7IHVzZXIgfSk7XG4gICAgICAgICAgcmV0dXJuIFJlcG9zaXRvcnkuZm9yTW9kZWwoR3JhcGhFeGVjdXRpb25SZXN1bHRNb2RlbCk7XG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIF07XG5cbiAgICByZXR1cm4ge1xuICAgICAgbW9kdWxlOiBHcmFwaEV4ZWN1dGlvbk1vZHVsZSxcbiAgICAgIGNvbnRyb2xsZXJzOiBbR3JhcGhFeGVjdXRpb25Db250cm9sbGVyXSxcbiAgICAgIHByb3ZpZGVycyxcbiAgICAgIGV4cG9ydHM6IFtHcmFwaEV4ZWN1dGlvbkVuZ2luZSwgR1JBUEhfUkVTVUxUX1JFUE9TSVRPUlldLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,73 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ /**
11
+ * @module integrations/nest/graph/GraphExecutionResultModel
12
+ * @summary Decaf model for persisting graph execution results.
13
+ * @description Serializes a {@link GraphExecutionResult} for storage in a Decaf persistence adapter (e.g. RamAdapter). Stores the run id, workflow id, status, inputs, outputs, per-node results, and timing information so clients can retrieve a completed run's full state via `GET /graph/results/:runId`.
14
+ */
15
+ import { Model, model } from "@decaf-ts/decorator-validation";
16
+ import { column, pk, table } from "@decaf-ts/core";
17
+ import { uses } from "@decaf-ts/decoration";
18
+ /**
19
+ * Ram flavour identifier. Duplicated here to avoid the side-effect import of
20
+ * `@decaf-ts/core/ram` (which calls `RamAdapter.decoration()` at module load
21
+ * time and can interfere with other modules' metadata initialisation).
22
+ */
23
+ const RAM_FLAVOUR = "ram";
24
+ /**
25
+ * Persisted representation of a completed graph execution run.
26
+ *
27
+ * Stored in the `graph_execution_result` table and keyed by `runId`.
28
+ */
29
+ let GraphExecutionResultModel = class GraphExecutionResultModel extends Model {
30
+ constructor(arg) {
31
+ super(arg);
32
+ }
33
+ };
34
+ __decorate([
35
+ pk({ type: String, generated: false }),
36
+ __metadata("design:type", String)
37
+ ], GraphExecutionResultModel.prototype, "runId", void 0);
38
+ __decorate([
39
+ column(),
40
+ __metadata("design:type", String)
41
+ ], GraphExecutionResultModel.prototype, "workflowId", void 0);
42
+ __decorate([
43
+ column(),
44
+ __metadata("design:type", String)
45
+ ], GraphExecutionResultModel.prototype, "status", void 0);
46
+ __decorate([
47
+ column(),
48
+ __metadata("design:type", Object)
49
+ ], GraphExecutionResultModel.prototype, "inputs", void 0);
50
+ __decorate([
51
+ column(),
52
+ __metadata("design:type", Object)
53
+ ], GraphExecutionResultModel.prototype, "outputs", void 0);
54
+ __decorate([
55
+ column(),
56
+ __metadata("design:type", Object)
57
+ ], GraphExecutionResultModel.prototype, "nodeResults", void 0);
58
+ __decorate([
59
+ column(),
60
+ __metadata("design:type", Date)
61
+ ], GraphExecutionResultModel.prototype, "startedAt", void 0);
62
+ __decorate([
63
+ column(),
64
+ __metadata("design:type", Date)
65
+ ], GraphExecutionResultModel.prototype, "finishedAt", void 0);
66
+ GraphExecutionResultModel = __decorate([
67
+ uses(RAM_FLAVOUR),
68
+ table("graph_execution_result"),
69
+ model(),
70
+ __metadata("design:paramtypes", [Object])
71
+ ], GraphExecutionResultModel);
72
+ export { GraphExecutionResultModel };
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JhcGhFeGVjdXRpb25SZXN1bHRNb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9uZXN0L2dyYXBoL0dyYXBoRXhlY3V0aW9uUmVzdWx0TW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7Ozs7R0FJRztBQUNILE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFpQixNQUFNLGdDQUFnQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUU1Qzs7OztHQUlHO0FBQ0gsTUFBTSxXQUFXLEdBQUcsS0FBSyxDQUFDO0FBRTFCOzs7O0dBSUc7QUFJSSxJQUFNLHlCQUF5QixHQUEvQixNQUFNLHlCQUEwQixTQUFRLEtBQUs7SUFpRGxELFlBQVksR0FBeUM7UUFDbkQsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2IsQ0FBQztDQUNGLENBQUE7QUEvQ0M7SUFEQyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQzs7d0RBQ3hCO0FBTWY7SUFEQyxNQUFNLEVBQUU7OzZEQUNXO0FBTXBCO0lBREMsTUFBTSxFQUFFOzt5REFDTztBQU1oQjtJQURDLE1BQU0sRUFBRTs7eURBQ3dCO0FBTWpDO0lBREMsTUFBTSxFQUFFOzswREFDeUI7QUFNbEM7SUFEQyxNQUFNLEVBQUU7OzhEQUM2QjtBQU10QztJQURDLE1BQU0sRUFBRTs4QkFDRyxJQUFJOzREQUFDO0FBTWpCO0lBREMsTUFBTSxFQUFFOzhCQUNJLElBQUk7NkRBQUM7QUEvQ1AseUJBQXlCO0lBSHJDLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDakIsS0FBSyxDQUFDLHdCQUF3QixDQUFDO0lBQy9CLEtBQUssRUFBRTs7R0FDSyx5QkFBeUIsQ0FvRHJDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbW9kdWxlIGludGVncmF0aW9ucy9uZXN0L2dyYXBoL0dyYXBoRXhlY3V0aW9uUmVzdWx0TW9kZWxcbiAqIEBzdW1tYXJ5IERlY2FmIG1vZGVsIGZvciBwZXJzaXN0aW5nIGdyYXBoIGV4ZWN1dGlvbiByZXN1bHRzLlxuICogQGRlc2NyaXB0aW9uIFNlcmlhbGl6ZXMgYSB7QGxpbmsgR3JhcGhFeGVjdXRpb25SZXN1bHR9IGZvciBzdG9yYWdlIGluIGEgRGVjYWYgcGVyc2lzdGVuY2UgYWRhcHRlciAoZS5nLiBSYW1BZGFwdGVyKS4gU3RvcmVzIHRoZSBydW4gaWQsIHdvcmtmbG93IGlkLCBzdGF0dXMsIGlucHV0cywgb3V0cHV0cywgcGVyLW5vZGUgcmVzdWx0cywgYW5kIHRpbWluZyBpbmZvcm1hdGlvbiBzbyBjbGllbnRzIGNhbiByZXRyaWV2ZSBhIGNvbXBsZXRlZCBydW4ncyBmdWxsIHN0YXRlIHZpYSBgR0VUIC9ncmFwaC9yZXN1bHRzLzpydW5JZGAuXG4gKi9cbmltcG9ydCB7IE1vZGVsLCBtb2RlbCwgdHlwZSBNb2RlbEFyZyB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcbmltcG9ydCB7IGNvbHVtbiwgcGssIHRhYmxlIH0gZnJvbSBcIkBkZWNhZi10cy9jb3JlXCI7XG5pbXBvcnQgeyB1c2VzIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0aW9uXCI7XG5cbi8qKlxuICogUmFtIGZsYXZvdXIgaWRlbnRpZmllci4gRHVwbGljYXRlZCBoZXJlIHRvIGF2b2lkIHRoZSBzaWRlLWVmZmVjdCBpbXBvcnQgb2ZcbiAqIGBAZGVjYWYtdHMvY29yZS9yYW1gICh3aGljaCBjYWxscyBgUmFtQWRhcHRlci5kZWNvcmF0aW9uKClgIGF0IG1vZHVsZSBsb2FkXG4gKiB0aW1lIGFuZCBjYW4gaW50ZXJmZXJlIHdpdGggb3RoZXIgbW9kdWxlcycgbWV0YWRhdGEgaW5pdGlhbGlzYXRpb24pLlxuICovXG5jb25zdCBSQU1fRkxBVk9VUiA9IFwicmFtXCI7XG5cbi8qKlxuICogUGVyc2lzdGVkIHJlcHJlc2VudGF0aW9uIG9mIGEgY29tcGxldGVkIGdyYXBoIGV4ZWN1dGlvbiBydW4uXG4gKlxuICogU3RvcmVkIGluIHRoZSBgZ3JhcGhfZXhlY3V0aW9uX3Jlc3VsdGAgdGFibGUgYW5kIGtleWVkIGJ5IGBydW5JZGAuXG4gKi9cbkB1c2VzKFJBTV9GTEFWT1VSKVxuQHRhYmxlKFwiZ3JhcGhfZXhlY3V0aW9uX3Jlc3VsdFwiKVxuQG1vZGVsKClcbmV4cG9ydCBjbGFzcyBHcmFwaEV4ZWN1dGlvblJlc3VsdE1vZGVsIGV4dGVuZHMgTW9kZWwge1xuICAvKipcbiAgICogVW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoaXMgZXhlY3V0aW9uIHJ1bi4gQWN0cyBhcyB0aGUgcHJpbWFyeSBrZXkuXG4gICAqL1xuICBAcGsoeyB0eXBlOiBTdHJpbmcsIGdlbmVyYXRlZDogZmFsc2UgfSlcbiAgcnVuSWQhOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIElkZW50aWZpZXIgb2YgdGhlIHdvcmtmbG93IHRoYXQgd2FzIGV4ZWN1dGVkLlxuICAgKi9cbiAgQGNvbHVtbigpXG4gIHdvcmtmbG93SWQhOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEZpbmFsIHN0YXR1cyBvZiB0aGUgcnVuIChlLmcuIGBzdWNjZWVkZWRgLCBgZmFpbGVkYCkuXG4gICAqL1xuICBAY29sdW1uKClcbiAgc3RhdHVzITogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBJbnB1dHMgc3VwcGxpZWQgdG8gdGhlIHdvcmtmbG93IGF0IGV4ZWN1dGlvbiB0aW1lLlxuICAgKi9cbiAgQGNvbHVtbigpXG4gIGlucHV0cyE6IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuXG4gIC8qKlxuICAgKiBPdXRwdXRzIHByb2R1Y2VkIGJ5IHRoZSB3b3JrZmxvdy5cbiAgICovXG4gIEBjb2x1bW4oKVxuICBvdXRwdXRzITogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG5cbiAgLyoqXG4gICAqIFBlci1ub2RlIGV4ZWN1dGlvbiByZXN1bHRzIGtleWVkIGJ5IG5vZGUgaWQuXG4gICAqL1xuICBAY29sdW1uKClcbiAgbm9kZVJlc3VsdHMhOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcblxuICAvKipcbiAgICogVGltZXN0YW1wIG1hcmtpbmcgd2hlbiB0aGUgcnVuIHN0YXJ0ZWQuXG4gICAqL1xuICBAY29sdW1uKClcbiAgc3RhcnRlZEF0ITogRGF0ZTtcblxuICAvKipcbiAgICogVGltZXN0YW1wIG1hcmtpbmcgd2hlbiB0aGUgcnVuIGZpbmlzaGVkLlxuICAgKi9cbiAgQGNvbHVtbigpXG4gIGZpbmlzaGVkQXQ/OiBEYXRlO1xuXG4gIGNvbnN0cnVjdG9yKGFyZz86IE1vZGVsQXJnPEdyYXBoRXhlY3V0aW9uUmVzdWx0TW9kZWw+KSB7XG4gICAgc3VwZXIoYXJnKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,60 @@
1
+ /**
2
+ * @module integrations/nest/graph/GraphExecutionResultRepository
3
+ * @summary Repository for persisting and retrieving graph execution results.
4
+ * @description Provides a typed handle to a Decaf {@link Repository} backed by RamAdapter, with convenience methods for saving and loading {@link GraphExecutionResultModel} records. The repository is created via `Repository.forModel()` so it inherits all standard Decaf CRUD operations.
5
+ */
6
+ import { Repository } from "@decaf-ts/core";
7
+ import { GraphExecutionResultModel } from "./GraphExecutionResultModel.js";
8
+ /**
9
+ * Creates a Decaf repository for {@link GraphExecutionResultModel}.
10
+ *
11
+ * The caller must ensure the RamAdapter has been initialised and set as the
12
+ * current adapter (via `RamAdapter.decoration()` and `Adapter.setCurrent()`)
13
+ * before invoking this factory.
14
+ *
15
+ * @returns A Decaf repository instance for {@link GraphExecutionResultModel}.
16
+ */
17
+ export function createGraphExecutionResultRepository() {
18
+ return Repository.forModel(GraphExecutionResultModel);
19
+ }
20
+ /**
21
+ * Converts a {@link GraphExecutionResult} into a persistable
22
+ * {@link GraphExecutionResultModel}.
23
+ *
24
+ * @param result - The execution result to convert.
25
+ * @returns A model instance ready for persistence.
26
+ */
27
+ export function toResultModel(result) {
28
+ return new GraphExecutionResultModel({
29
+ runId: result.runId,
30
+ workflowId: result.workflowId,
31
+ status: result.status,
32
+ inputs: result.inputs,
33
+ outputs: result.outputs,
34
+ nodeResults: result.nodeResults,
35
+ startedAt: result.startedAt,
36
+ finishedAt: result.finishedAt,
37
+ });
38
+ }
39
+ /**
40
+ * Converts a persisted {@link GraphExecutionResultModel} back into a plain
41
+ * result-like object suitable for API responses.
42
+ *
43
+ * @param model - The persisted model (or `null` if not found).
44
+ * @returns A plain object with the result fields, or `null`.
45
+ */
46
+ export function fromResultModel(model) {
47
+ if (!model)
48
+ return null;
49
+ return {
50
+ runId: model.runId,
51
+ workflowId: model.workflowId,
52
+ status: model.status,
53
+ inputs: model.inputs,
54
+ outputs: model.outputs,
55
+ nodeResults: model.nodeResults,
56
+ startedAt: model.startedAt,
57
+ finishedAt: model.finishedAt,
58
+ };
59
+ }
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JhcGhFeGVjdXRpb25SZXN1bHRSZXBvc2l0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL25lc3QvZ3JhcGgvR3JhcGhFeGVjdXRpb25SZXN1bHRSZXBvc2l0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFDSCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFNUMsT0FBTyxFQUFFLHlCQUF5QixFQUFFLHVDQUFvQztBQVF4RTs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sVUFBVSxvQ0FBb0M7SUFDbEQsT0FBTyxVQUFVLENBQUMsUUFBUSxDQUFDLHlCQUF5QixDQUFDLENBQUM7QUFDeEQsQ0FBQztBQUVEOzs7Ozs7R0FNRztBQUNILE1BQU0sVUFBVSxhQUFhLENBQzNCLE1BQTRCO0lBRTVCLE9BQU8sSUFBSSx5QkFBeUIsQ0FBQztRQUNuQyxLQUFLLEVBQUUsTUFBTSxDQUFDLEtBQUs7UUFDbkIsVUFBVSxFQUFFLE1BQU0sQ0FBQyxVQUFVO1FBQzdCLE1BQU0sRUFBRSxNQUFNLENBQUMsTUFBTTtRQUNyQixNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU07UUFDckIsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPO1FBQ3ZCLFdBQVcsRUFBRSxNQUFNLENBQUMsV0FBc0M7UUFDMUQsU0FBUyxFQUFFLE1BQU0sQ0FBQyxTQUFTO1FBQzNCLFVBQVUsRUFBRSxNQUFNLENBQUMsVUFBVTtLQUM5QixDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQ7Ozs7OztHQU1HO0FBQ0gsTUFBTSxVQUFVLGVBQWUsQ0FDN0IsS0FBdUM7SUFFdkMsSUFBSSxDQUFDLEtBQUs7UUFBRSxPQUFPLElBQUksQ0FBQztJQUN4QixPQUFPO1FBQ0wsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLO1FBQ2xCLFVBQVUsRUFBRSxLQUFLLENBQUMsVUFBVTtRQUM1QixNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQXdDO1FBQ3RELE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTTtRQUNwQixPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU87UUFDdEIsV0FBVyxFQUFFLEtBQUssQ0FBQyxXQUFrRDtRQUNyRSxTQUFTLEVBQUUsS0FBSyxDQUFDLFNBQVM7UUFDMUIsVUFBVSxFQUFFLEtBQUssQ0FBQyxVQUFVO0tBQzdCLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbW9kdWxlIGludGVncmF0aW9ucy9uZXN0L2dyYXBoL0dyYXBoRXhlY3V0aW9uUmVzdWx0UmVwb3NpdG9yeVxuICogQHN1bW1hcnkgUmVwb3NpdG9yeSBmb3IgcGVyc2lzdGluZyBhbmQgcmV0cmlldmluZyBncmFwaCBleGVjdXRpb24gcmVzdWx0cy5cbiAqIEBkZXNjcmlwdGlvbiBQcm92aWRlcyBhIHR5cGVkIGhhbmRsZSB0byBhIERlY2FmIHtAbGluayBSZXBvc2l0b3J5fSBiYWNrZWQgYnkgUmFtQWRhcHRlciwgd2l0aCBjb252ZW5pZW5jZSBtZXRob2RzIGZvciBzYXZpbmcgYW5kIGxvYWRpbmcge0BsaW5rIEdyYXBoRXhlY3V0aW9uUmVzdWx0TW9kZWx9IHJlY29yZHMuIFRoZSByZXBvc2l0b3J5IGlzIGNyZWF0ZWQgdmlhIGBSZXBvc2l0b3J5LmZvck1vZGVsKClgIHNvIGl0IGluaGVyaXRzIGFsbCBzdGFuZGFyZCBEZWNhZiBDUlVEIG9wZXJhdGlvbnMuXG4gKi9cbmltcG9ydCB7IFJlcG9zaXRvcnkgfSBmcm9tIFwiQGRlY2FmLXRzL2NvcmVcIjtcbmltcG9ydCB0eXBlIHsgR3JhcGhFeGVjdXRpb25SZXN1bHQgfSBmcm9tIFwiLi4vLi4vZ3JhcGhcIjtcbmltcG9ydCB7IEdyYXBoRXhlY3V0aW9uUmVzdWx0TW9kZWwgfSBmcm9tIFwiLi9HcmFwaEV4ZWN1dGlvblJlc3VsdE1vZGVsXCI7XG5cbi8qKlxuICogVHlwZSBhbGlhcyBmb3IgdGhlIERlY2FmIHJlcG9zaXRvcnkgdHlwZWQgdG8ge0BsaW5rIEdyYXBoRXhlY3V0aW9uUmVzdWx0TW9kZWx9LlxuICovXG5leHBvcnQgdHlwZSBHcmFwaEV4ZWN1dGlvblJlc3VsdFJlcG9zaXRvcnlJbnN0YW5jZSA9XG4gIFJlcG9zaXRvcnk8R3JhcGhFeGVjdXRpb25SZXN1bHRNb2RlbCwgYW55PjtcblxuLyoqXG4gKiBDcmVhdGVzIGEgRGVjYWYgcmVwb3NpdG9yeSBmb3Ige0BsaW5rIEdyYXBoRXhlY3V0aW9uUmVzdWx0TW9kZWx9LlxuICpcbiAqIFRoZSBjYWxsZXIgbXVzdCBlbnN1cmUgdGhlIFJhbUFkYXB0ZXIgaGFzIGJlZW4gaW5pdGlhbGlzZWQgYW5kIHNldCBhcyB0aGVcbiAqIGN1cnJlbnQgYWRhcHRlciAodmlhIGBSYW1BZGFwdGVyLmRlY29yYXRpb24oKWAgYW5kIGBBZGFwdGVyLnNldEN1cnJlbnQoKWApXG4gKiBiZWZvcmUgaW52b2tpbmcgdGhpcyBmYWN0b3J5LlxuICpcbiAqIEByZXR1cm5zIEEgRGVjYWYgcmVwb3NpdG9yeSBpbnN0YW5jZSBmb3Ige0BsaW5rIEdyYXBoRXhlY3V0aW9uUmVzdWx0TW9kZWx9LlxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlR3JhcGhFeGVjdXRpb25SZXN1bHRSZXBvc2l0b3J5KCkge1xuICByZXR1cm4gUmVwb3NpdG9yeS5mb3JNb2RlbChHcmFwaEV4ZWN1dGlvblJlc3VsdE1vZGVsKTtcbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBhIHtAbGluayBHcmFwaEV4ZWN1dGlvblJlc3VsdH0gaW50byBhIHBlcnNpc3RhYmxlXG4gKiB7QGxpbmsgR3JhcGhFeGVjdXRpb25SZXN1bHRNb2RlbH0uXG4gKlxuICogQHBhcmFtIHJlc3VsdCAtIFRoZSBleGVjdXRpb24gcmVzdWx0IHRvIGNvbnZlcnQuXG4gKiBAcmV0dXJucyBBIG1vZGVsIGluc3RhbmNlIHJlYWR5IGZvciBwZXJzaXN0ZW5jZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRvUmVzdWx0TW9kZWwoXG4gIHJlc3VsdDogR3JhcGhFeGVjdXRpb25SZXN1bHRcbik6IEdyYXBoRXhlY3V0aW9uUmVzdWx0TW9kZWwge1xuICByZXR1cm4gbmV3IEdyYXBoRXhlY3V0aW9uUmVzdWx0TW9kZWwoe1xuICAgIHJ1bklkOiByZXN1bHQucnVuSWQsXG4gICAgd29ya2Zsb3dJZDogcmVzdWx0LndvcmtmbG93SWQsXG4gICAgc3RhdHVzOiByZXN1bHQuc3RhdHVzLFxuICAgIGlucHV0czogcmVzdWx0LmlucHV0cyxcbiAgICBvdXRwdXRzOiByZXN1bHQub3V0cHV0cyxcbiAgICBub2RlUmVzdWx0czogcmVzdWx0Lm5vZGVSZXN1bHRzIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuICAgIHN0YXJ0ZWRBdDogcmVzdWx0LnN0YXJ0ZWRBdCxcbiAgICBmaW5pc2hlZEF0OiByZXN1bHQuZmluaXNoZWRBdCxcbiAgfSk7XG59XG5cbi8qKlxuICogQ29udmVydHMgYSBwZXJzaXN0ZWQge0BsaW5rIEdyYXBoRXhlY3V0aW9uUmVzdWx0TW9kZWx9IGJhY2sgaW50byBhIHBsYWluXG4gKiByZXN1bHQtbGlrZSBvYmplY3Qgc3VpdGFibGUgZm9yIEFQSSByZXNwb25zZXMuXG4gKlxuICogQHBhcmFtIG1vZGVsIC0gVGhlIHBlcnNpc3RlZCBtb2RlbCAob3IgYG51bGxgIGlmIG5vdCBmb3VuZCkuXG4gKiBAcmV0dXJucyBBIHBsYWluIG9iamVjdCB3aXRoIHRoZSByZXN1bHQgZmllbGRzLCBvciBgbnVsbGAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmcm9tUmVzdWx0TW9kZWwoXG4gIG1vZGVsOiBHcmFwaEV4ZWN1dGlvblJlc3VsdE1vZGVsIHwgbnVsbFxuKTogT21pdDxHcmFwaEV4ZWN1dGlvblJlc3VsdCwgXCJ3b3JrZmxvd1wiIHwgXCJldmVudHNcIiB8IFwibWV0YWRhdGFcIj4gfCBudWxsIHtcbiAgaWYgKCFtb2RlbCkgcmV0dXJuIG51bGw7XG4gIHJldHVybiB7XG4gICAgcnVuSWQ6IG1vZGVsLnJ1bklkLFxuICAgIHdvcmtmbG93SWQ6IG1vZGVsLndvcmtmbG93SWQsXG4gICAgc3RhdHVzOiBtb2RlbC5zdGF0dXMgYXMgR3JhcGhFeGVjdXRpb25SZXN1bHRbXCJzdGF0dXNcIl0sXG4gICAgaW5wdXRzOiBtb2RlbC5pbnB1dHMsXG4gICAgb3V0cHV0czogbW9kZWwub3V0cHV0cyxcbiAgICBub2RlUmVzdWx0czogbW9kZWwubm9kZVJlc3VsdHMgYXMgR3JhcGhFeGVjdXRpb25SZXN1bHRbXCJub2RlUmVzdWx0c1wiXSxcbiAgICBzdGFydGVkQXQ6IG1vZGVsLnN0YXJ0ZWRBdCxcbiAgICBmaW5pc2hlZEF0OiBtb2RlbC5maW5pc2hlZEF0LFxuICB9O1xufVxuIl19
@@ -0,0 +1,31 @@
1
+ /**
2
+ * @module integrations/nest/graph/GraphExecutorRegistryFactory
3
+ * @summary Factory that builds a populated {@link GraphNodeExecutorRegistry}.
4
+ * @description Creates a registry pre-loaded with the demo executors (`math.add`, `math.multiply`) used by the graph execution backend's sample workflows. Additional executors can be registered on the returned registry before it is handed to the {@link GraphExecutionEngine}.
5
+ */
6
+ import { GraphNodeExecutorRegistry } from "./../../graph/index.js";
7
+ /**
8
+ * Builds a {@link GraphNodeExecutorRegistry} populated with the demo executors.
9
+ *
10
+ * Registered kinds:
11
+ * - `math.add` — sums `a` and `b` into `sum`.
12
+ * - `math.multiply` — multiplies `x` by 2 into `product`.
13
+ *
14
+ * @returns A populated registry ready for use with {@link GraphExecutionEngine}.
15
+ */
16
+ export function createGraphExecutorRegistry(extra) {
17
+ const registry = new GraphNodeExecutorRegistry();
18
+ registry.register("math.add", {
19
+ execute: (input) => ({ sum: Number(input.a) + Number(input.b) }),
20
+ });
21
+ registry.register("math.multiply", {
22
+ execute: (input) => ({ product: Number(input.x) * 2 }),
23
+ });
24
+ if (extra) {
25
+ for (const [kind, executor] of Object.entries(extra)) {
26
+ registry.register(kind, executor);
27
+ }
28
+ }
29
+ return registry;
30
+ }
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JhcGhFeGVjdXRvclJlZ2lzdHJ5RmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9uZXN0L2dyYXBoL0dyYXBoRXhlY3V0b3JSZWdpc3RyeUZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUNILE9BQU8sRUFBRSx5QkFBeUIsRUFBRSwrQkFBb0I7QUFHeEQ7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLFVBQVUsMkJBQTJCLENBQ3pDLEtBQXlDO0lBRXpDLE1BQU0sUUFBUSxHQUFHLElBQUkseUJBQXlCLEVBQUUsQ0FBQztJQUVqRCxRQUFRLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRTtRQUM1QixPQUFPLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7S0FDakUsQ0FBQyxDQUFDO0lBQ0gsUUFBUSxDQUFDLFFBQVEsQ0FBQyxlQUFlLEVBQUU7UUFDakMsT0FBTyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsT0FBTyxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7S0FDdkQsQ0FBQyxDQUFDO0lBRUgsSUFBSSxLQUFLLEVBQUUsQ0FBQztRQUNWLEtBQUssTUFBTSxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDckQsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDcEMsQ0FBQztJQUNILENBQUM7SUFFRCxPQUFPLFFBQVEsQ0FBQztBQUNsQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbW9kdWxlIGludGVncmF0aW9ucy9uZXN0L2dyYXBoL0dyYXBoRXhlY3V0b3JSZWdpc3RyeUZhY3RvcnlcbiAqIEBzdW1tYXJ5IEZhY3RvcnkgdGhhdCBidWlsZHMgYSBwb3B1bGF0ZWQge0BsaW5rIEdyYXBoTm9kZUV4ZWN1dG9yUmVnaXN0cnl9LlxuICogQGRlc2NyaXB0aW9uIENyZWF0ZXMgYSByZWdpc3RyeSBwcmUtbG9hZGVkIHdpdGggdGhlIGRlbW8gZXhlY3V0b3JzIChgbWF0aC5hZGRgLCBgbWF0aC5tdWx0aXBseWApIHVzZWQgYnkgdGhlIGdyYXBoIGV4ZWN1dGlvbiBiYWNrZW5kJ3Mgc2FtcGxlIHdvcmtmbG93cy4gQWRkaXRpb25hbCBleGVjdXRvcnMgY2FuIGJlIHJlZ2lzdGVyZWQgb24gdGhlIHJldHVybmVkIHJlZ2lzdHJ5IGJlZm9yZSBpdCBpcyBoYW5kZWQgdG8gdGhlIHtAbGluayBHcmFwaEV4ZWN1dGlvbkVuZ2luZX0uXG4gKi9cbmltcG9ydCB7IEdyYXBoTm9kZUV4ZWN1dG9yUmVnaXN0cnkgfSBmcm9tIFwiLi4vLi4vZ3JhcGhcIjtcbmltcG9ydCB0eXBlIHsgR3JhcGhOb2RlRXhlY3V0b3IgfSBmcm9tIFwiLi4vLi4vZ3JhcGhcIjtcblxuLyoqXG4gKiBCdWlsZHMgYSB7QGxpbmsgR3JhcGhOb2RlRXhlY3V0b3JSZWdpc3RyeX0gcG9wdWxhdGVkIHdpdGggdGhlIGRlbW8gZXhlY3V0b3JzLlxuICpcbiAqIFJlZ2lzdGVyZWQga2luZHM6XG4gKiAtIGBtYXRoLmFkZGAg4oCUIHN1bXMgYGFgIGFuZCBgYmAgaW50byBgc3VtYC5cbiAqIC0gYG1hdGgubXVsdGlwbHlgIOKAlCBtdWx0aXBsaWVzIGB4YCBieSAyIGludG8gYHByb2R1Y3RgLlxuICpcbiAqIEByZXR1cm5zIEEgcG9wdWxhdGVkIHJlZ2lzdHJ5IHJlYWR5IGZvciB1c2Ugd2l0aCB7QGxpbmsgR3JhcGhFeGVjdXRpb25FbmdpbmV9LlxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlR3JhcGhFeGVjdXRvclJlZ2lzdHJ5KFxuICBleHRyYT86IFJlY29yZDxzdHJpbmcsIEdyYXBoTm9kZUV4ZWN1dG9yPlxuKTogR3JhcGhOb2RlRXhlY3V0b3JSZWdpc3RyeSB7XG4gIGNvbnN0IHJlZ2lzdHJ5ID0gbmV3IEdyYXBoTm9kZUV4ZWN1dG9yUmVnaXN0cnkoKTtcblxuICByZWdpc3RyeS5yZWdpc3RlcihcIm1hdGguYWRkXCIsIHtcbiAgICBleGVjdXRlOiAoaW5wdXQpID0+ICh7IHN1bTogTnVtYmVyKGlucHV0LmEpICsgTnVtYmVyKGlucHV0LmIpIH0pLFxuICB9KTtcbiAgcmVnaXN0cnkucmVnaXN0ZXIoXCJtYXRoLm11bHRpcGx5XCIsIHtcbiAgICBleGVjdXRlOiAoaW5wdXQpID0+ICh7IHByb2R1Y3Q6IE51bWJlcihpbnB1dC54KSAqIDIgfSksXG4gIH0pO1xuXG4gIGlmIChleHRyYSkge1xuICAgIGZvciAoY29uc3QgW2tpbmQsIGV4ZWN1dG9yXSBvZiBPYmplY3QuZW50cmllcyhleHRyYSkpIHtcbiAgICAgIHJlZ2lzdHJ5LnJlZ2lzdGVyKGtpbmQsIGV4ZWN1dG9yKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gcmVnaXN0cnk7XG59XG4iXX0=
@@ -0,0 +1,11 @@
1
+ /**
2
+ * @module integrations/nest/graph
3
+ * @summary NestJS graph execution backend module.
4
+ * @description Server-side hosting for the Decaf graph execution engine. Exposes REST endpoints for triggering execution and retrieving persisted results, plus an SSE endpoint for streaming execution events. Designed to be consumed by for-angular via for-http's `ServerEventConnector`.
5
+ */
6
+ export * from "./GraphExecutionResultModel.js";
7
+ export * from "./GraphExecutionResultRepository.js";
8
+ export * from "./GraphExecutorRegistryFactory.js";
9
+ export * from "./GraphExecutionController.js";
10
+ export * from "./GraphExecutionModule.js";
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbmVzdC9ncmFwaC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBRUgsK0NBQTRDO0FBQzVDLG9EQUFpRDtBQUNqRCxrREFBK0M7QUFDL0MsOENBQTJDO0FBQzNDLDBDQUF1QyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQG1vZHVsZSBpbnRlZ3JhdGlvbnMvbmVzdC9ncmFwaFxuICogQHN1bW1hcnkgTmVzdEpTIGdyYXBoIGV4ZWN1dGlvbiBiYWNrZW5kIG1vZHVsZS5cbiAqIEBkZXNjcmlwdGlvbiBTZXJ2ZXItc2lkZSBob3N0aW5nIGZvciB0aGUgRGVjYWYgZ3JhcGggZXhlY3V0aW9uIGVuZ2luZS4gRXhwb3NlcyBSRVNUIGVuZHBvaW50cyBmb3IgdHJpZ2dlcmluZyBleGVjdXRpb24gYW5kIHJldHJpZXZpbmcgcGVyc2lzdGVkIHJlc3VsdHMsIHBsdXMgYW4gU1NFIGVuZHBvaW50IGZvciBzdHJlYW1pbmcgZXhlY3V0aW9uIGV2ZW50cy4gRGVzaWduZWQgdG8gYmUgY29uc3VtZWQgYnkgZm9yLWFuZ3VsYXIgdmlhIGZvci1odHRwJ3MgYFNlcnZlckV2ZW50Q29ubmVjdG9yYC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tIFwiLi9HcmFwaEV4ZWN1dGlvblJlc3VsdE1vZGVsXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9HcmFwaEV4ZWN1dGlvblJlc3VsdFJlcG9zaXRvcnlcIjtcbmV4cG9ydCAqIGZyb20gXCIuL0dyYXBoRXhlY3V0b3JSZWdpc3RyeUZhY3RvcnlcIjtcbmV4cG9ydCAqIGZyb20gXCIuL0dyYXBoRXhlY3V0aW9uQ29udHJvbGxlclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vR3JhcGhFeGVjdXRpb25Nb2R1bGVcIjtcbiJdfQ==
@@ -11,4 +11,4 @@ import "./logging.js";
11
11
  * @namespace nest
12
12
  * @memberOf module:integrations
13
13
  */
14
- //# sourceMappingURL=index.js.map
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbmVzdC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyQkFBd0I7QUFDeEIsMkJBQXdCO0FBQ3hCLGlDQUE4QjtBQUM5Qix5Q0FBc0M7QUFDdEMsb0NBQWlDO0FBRWpDLHNCQUFtQjtBQUVuQjs7Ozs7O0dBTUciLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi90eXBlc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vdXRpbHNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2F1dGhTZXJ2aWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9rZXljbG9ha0F1dGhIYW5kbGVyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9rZXljbG9ha01vZHVsZVwiO1xuXG5pbXBvcnQgXCIuL2xvZ2dpbmdcIjtcblxuLyoqXG4gKiBAc3VtbWFyeSBOZXN0LXN0eWxlIGF1dGggaW50ZWdyYXRpb25zLlxuICogQGRlc2NyaXB0aW9uIEZyYW1ld29yay1hZ25vc3RpYyBhdXRoIGhlbHBlcnMgY29tcGF0aWJsZSB3aXRoIERlY2FmIHJlcXVlc3QgY29udGV4dCBoYW5kbGluZy5cbiAqIEltcG9ydHMgdGhlIGB1c2VyYC9gb3JnYW5pemF0aW9uYCBsb2cgcGFyYW1ldGVyIHJlZ2lzdHJhdGlvbnMgYXMgYSBzaWRlIGVmZmVjdC5cbiAqIEBuYW1lc3BhY2UgbmVzdFxuICogQG1lbWJlck9mIG1vZHVsZTppbnRlZ3JhdGlvbnNcbiAqL1xuIl19
@@ -62,4 +62,4 @@ function resolveOrganization(payload, token) {
62
62
  return getRealmFromIssuer(token);
63
63
  }
64
64
  export { getClientRoles };
65
- //# sourceMappingURL=keycloakAuthHandler.js.map
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5Y2xvYWtBdXRoSGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9uZXN0L2tleWNsb2FrQXV0aEhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBaUJBLE9BQU8sRUFBRSxrQkFBa0IsRUFBMkIsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3RSxPQUFPLEVBQUUsV0FBVyxFQUFZLE1BQU0sMkJBQTJCLENBQUM7QUFFbEUsT0FBTyxFQUFFLFdBQVcsRUFBMkIseUJBQXNCO0FBRXJFLE9BQU8sRUFDTCxrQkFBa0IsRUFDbEIsZUFBZSxFQUNmLG9CQUFvQixFQUNwQixjQUFjLEdBQ2YsbUJBQWdCO0FBZWpCLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxXQUl4QztJQUNDOzs7Ozs7T0FNRztJQUNILFlBQ0UsV0FBeUIsRUFDekIsa0JBQXVDO1FBRXZDLEtBQUssRUFBRSxDQUFDO1FBQ1IsSUFBSSxDQUFDLFdBQVc7WUFDZCxXQUFXLElBQUksSUFBSSxXQUFXLENBQUMsa0JBQWtCLElBQUksRUFBRSxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUlTLGVBQWUsQ0FBQyxHQUE2QjtRQUNyRCxNQUFNLE9BQU8sR0FBRyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUMsVUFBVSxFQUFtQixDQUFDO1FBRWpFLElBQUksYUFBYSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDM0IsT0FBTyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFDbEQsQ0FBQztRQUVELE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNoQyxJQUFJLENBQUMsS0FBSztZQUFFLE1BQU0sSUFBSSxrQkFBa0IsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBRTVELGlEQUFpRDtRQUNqRCxNQUFNLE9BQU8sR0FBRyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkMsTUFBTSxLQUFLLEdBQUcsb0JBQW9CLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDNUMsTUFBTSxZQUFZLEdBQUcsbUJBQW1CLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3pELE1BQU0sSUFBSSxHQUFHLE9BQU8sRUFBRSxLQUFLLElBQUksT0FBTyxFQUFFLGtCQUFrQixDQUFDO1FBRTNELE9BQU8sRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFDO0lBQy9ELENBQUM7SUFFRDs7OztPQUlHO0lBQ2dCLEtBQUssQ0FBQyxRQUFRLENBQy9CLElBQXNCLEVBQ3RCLFVBQWdDLEVBQ2hDLEtBQTJCLEVBQzNCLEdBQUcsSUFBNkI7UUFFaEMsSUFBSSxJQUFJLENBQUMsUUFBUTtZQUFFLE9BQU87UUFDMUIsTUFBTSxJQUFJLENBQUMsV0FBVyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwRCxNQUFNLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztJQUN6RCxDQUFDO0NBQ0Y7QUFFRCxTQUFTLGFBQWEsQ0FBQyxHQUFvQjtJQUN6QyxJQUFJLEdBQUcsQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLFNBQVMsQ0FBQztRQUFFLE9BQU8sSUFBSSxDQUFDO0lBQ2pELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQztBQUVELFNBQVMsUUFBUSxDQUFDLEdBQW9CO0lBQ3BDLE1BQU0sS0FBSyxHQUFHLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDLDZCQUE2QixDQUFDO1FBQ3pELEdBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxlQUFlLENBQUMsQ0FBdUIsQ0FBQztJQUN4RCxJQUFJLENBQUMsS0FBSztRQUFFLE9BQU8sU0FBUyxDQUFDO0lBQzdCLE9BQU8sS0FBSyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztBQUM3RSxDQUFDO0FBRUQsU0FBUyxtQkFBbUIsQ0FDMUIsT0FBOEMsRUFDOUMsS0FBYTtJQUViLElBQUksT0FBTyxFQUFFLEdBQUc7UUFBRSxPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUM7SUFDckMsSUFBSSxPQUFPLEVBQUUsR0FBRztRQUFFLE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQztJQUNyQyxPQUFPLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ25DLENBQUM7QUFFRCxPQUFPLEVBQUUsY0FBYyxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBtb2R1bGUgaW50ZWdyYXRpb25zL25lc3Qva2V5Y2xvYWtBdXRoSGFuZGxlclxuICogQHN1bW1hcnkgS2V5Y2xvYWsgcmVxdWVzdCBhdXRoIGhhbmRsZXIuXG4gKiBAZGVzY3JpcHRpb24gVHJhbnNsYXRlcyBLZXljbG9hayBKV1QgcGF5bG9hZHMgaW50byBEZWNhZi1mcmllbmRseSBhdXRoIGRhdGEuXG4gKiBFeHRlbmRzIHRoZSBmcmFtZXdvcmstYWdub3N0aWMge0BsaW5rIEF1dGhIYW5kbGVyfSBmcm9tIGBAZGVjYWYtdHMvZm9yLWh0dHAvc2VydmVyYC5cbiAqXG4gKiBPbmx5IG92ZXJyaWRlcyB0aGUgdHdvIGV4dGVuc2lvbiBwb2ludHM6XG4gKiAtIHtAbGluayBLZXljbG9ha0F1dGhIYW5kbGVyLmV4dHJhY3RGcm9tQXV0aH0g4oCUIGRlY29kZXMgdGhlIEpXVCBhbmQgcmV0dXJucyBhdXRoIGRhdGEgKG5vIHZhbGlkYXRpb24pLlxuICogICBSZXR1cm5zIGVtcHR5IGRhdGEgZm9yIHB1YmxpYyByb3V0ZXMgd2l0aG91dCByZXF1aXJpbmcgYSB0b2tlbi5cbiAqIC0ge0BsaW5rIEtleWNsb2FrQXV0aEhhbmRsZXIudmFsaWRhdGV9IOKAlCB2YWxpZGF0ZXMgdGhlIEpXVCB2aWEge0BsaW5rIEF1dGhTZXJ2aWNlLmFzc2VydFZhbGlkVG9rZW59LFxuICogICB0aGVuIGRlbGVnYXRlcyB0byB0aGUgYmFzZSBjbGFzcyBmb3Igcm91dGUtbGV2ZWwgYW5kIG1vZGVsLWxldmVsIHJvbGUgY2hlY2tzLlxuICogICBTa2lwcyBlbnRpcmVseSBmb3IgcHVibGljIHJvdXRlcy5cbiAqXG4gKiBEb2VzIE5PVCBvdmVycmlkZSBgYmluZFRvQ29udGV4dGAg4oCUIHRoZSBiYXNlIGNsYXNzIGRlZmF1bHQgYGN0eC5hY2N1bXVsYXRlKGRhdGEpYFxuICogaXMgc3VmZmljaWVudC4gRG9lcyBOT1Qgb3ZlcnJpZGUgYGF1dGhvcml6ZWAuXG4gKi9cbmltcG9ydCB0eXBlIHsgQ29uc3RydWN0b3IgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRpb25cIjtcbmltcG9ydCB7IEF1dGhvcml6YXRpb25FcnJvciwgQ29udGV4dCwgQ29udGV4dHVhbEFyZ3MgfSBmcm9tIFwiQGRlY2FmLXRzL2NvcmVcIjtcbmltcG9ydCB7IEF1dGhIYW5kbGVyLCBBdXRoRGF0YSB9IGZyb20gXCJAZGVjYWYtdHMvZm9yLWh0dHAvc2VydmVyXCI7XG5cbmltcG9ydCB7IEF1dGhTZXJ2aWNlLCB0eXBlIEF1dGhTZXJ2aWNlT3B0aW9ucyB9IGZyb20gXCIuL2F1dGhTZXJ2aWNlXCI7XG5pbXBvcnQgdHlwZSB7IEF1dGhFeGVjdXRpb25Db250ZXh0TGlrZSwgQXV0aFJlcXVlc3RMaWtlIH0gZnJvbSBcIi4vdHlwZXNcIjtcbmltcG9ydCB7XG4gIGdldFJlYWxtRnJvbUlzc3VlcixcbiAgZ2V0VG9rZW5QYXlsb2FkLFxuICBleHRyYWN0S2V5Y2xvYWtSb2xlcyxcbiAgZ2V0Q2xpZW50Um9sZXMsXG59IGZyb20gXCIuL3V0aWxzXCI7XG5cbi8qKlxuICogQXV0aCBkYXRhIHJldHVybmVkIGJ5IHtAbGluayBLZXljbG9ha0F1dGhIYW5kbGVyLmV4dHJhY3RGcm9tQXV0aH0uXG4gKlxuICogQ2FycmllcyB0aGUgcmF3IEpXVCBgdG9rZW5gIHNvIHRoYXQge0BsaW5rIEtleWNsb2FrQXV0aEhhbmRsZXIudmFsaWRhdGV9IGNhblxuICogdmFsaWRhdGUgaXQgYWdhaW5zdCB0aGUgS2V5Y2xvYWsgaW5zdGFuY2UgKHNpZ25hdHVyZSwgZXhwaXJ5LCByZXZvY2F0aW9uLCBldGMuKS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBLZXljbG9ha0F1dGhEYXRhIGV4dGVuZHMgQXV0aERhdGEge1xuICAvKiogVGhlIHJhdyBKV1QgZXh0cmFjdGVkIGZyb20gdGhlIHJlcXVlc3QuIEVtcHR5IGZvciBwdWJsaWMgcm91dGVzLiAqL1xuICB0b2tlbjogc3RyaW5nO1xuICAvKiogV2hldGhlciB0aGUgcmVxdWVzdCB0YXJnZXRzIGEgcHVibGljIHJvdXRlIChza2lwcyB2YWxpZGF0aW9uKS4gKi9cbiAgaXNQdWJsaWM6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjbGFzcyBLZXljbG9ha0F1dGhIYW5kbGVyIGV4dGVuZHMgQXV0aEhhbmRsZXI8XG4gIEF1dGhFeGVjdXRpb25Db250ZXh0TGlrZSxcbiAgQ29udGV4dCxcbiAgS2V5Y2xvYWtBdXRoRGF0YVxuPiB7XG4gIC8qKlxuICAgKiBAcGFyYW0gYXV0aFNlcnZpY2UgIEFuIHtAbGluayBBdXRoU2VydmljZX0gY29uZmlndXJlZCB3aXRoIEpXS1MgdmVyaWZpY2F0aW9uXG4gICAqICAgICAgICAgICAgICAgICAgICAgb3B0aW9ucy4gIFdoZW4gb21pdHRlZCBhIGRlZmF1bHQgZGVjb2RlLW9ubHkgc2VydmljZSBpc1xuICAgKiAgICAgICAgICAgICAgICAgICAgIHVzZWQuXG4gICAqIEBwYXJhbSBhdXRoU2VydmljZU9wdGlvbnMgIENvbnZlbmllbmNlOiBpZiBgYXV0aFNlcnZpY2VgIGlzIG9taXR0ZWQsIHRoZXNlXG4gICAqICAgICAgICAgICAgICAgICAgICAgb3B0aW9ucyBhcmUgdXNlZCB0byBjb25zdHJ1Y3Qgb25lLlxuICAgKi9cbiAgY29uc3RydWN0b3IoXG4gICAgYXV0aFNlcnZpY2U/OiBBdXRoU2VydmljZSxcbiAgICBhdXRoU2VydmljZU9wdGlvbnM/OiBBdXRoU2VydmljZU9wdGlvbnNcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmF1dGhTZXJ2aWNlID1cbiAgICAgIGF1dGhTZXJ2aWNlID8/IG5ldyBBdXRoU2VydmljZShhdXRoU2VydmljZU9wdGlvbnMgPz8ge30pO1xuICB9XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZTtcblxuICBwcm90ZWN0ZWQgZXh0cmFjdEZyb21BdXRoKGN0eDogQXV0aEV4ZWN1dGlvbkNvbnRleHRMaWtlKTogS2V5Y2xvYWtBdXRoRGF0YSB7XG4gICAgY29uc3QgcmVxdWVzdCA9IGN0eC5zd2l0Y2hUb0h0dHAoKS5nZXRSZXF1ZXN0PEF1dGhSZXF1ZXN0TGlrZT4oKTtcblxuICAgIGlmIChpc1B1YmxpY1JvdXRlKHJlcXVlc3QpKSB7XG4gICAgICByZXR1cm4geyByb2xlczogW10sIHRva2VuOiBcIlwiLCBpc1B1YmxpYzogdHJ1ZSB9O1xuICAgIH1cblxuICAgIGNvbnN0IHRva2VuID0gZ2V0VG9rZW4ocmVxdWVzdCk7XG4gICAgaWYgKCF0b2tlbikgdGhyb3cgbmV3IEF1dGhvcml6YXRpb25FcnJvcihcIlRva2VuIG5vdCBmb3VuZFwiKTtcblxuICAgIC8vIERlY29kZSBvbmx5IOKAlCB2YWxpZGF0aW9uIGhhcHBlbnMgaW4gYHZhbGlkYXRlYFxuICAgIGNvbnN0IHBheWxvYWQgPSBnZXRUb2tlblBheWxvYWQodG9rZW4pO1xuICAgIGNvbnN0IHJvbGVzID0gZXh0cmFjdEtleWNsb2FrUm9sZXMocGF5bG9hZCk7XG4gICAgY29uc3Qgb3JnYW5pemF0aW9uID0gcmVzb2x2ZU9yZ2FuaXphdGlvbihwYXlsb2FkLCB0b2tlbik7XG4gICAgY29uc3QgdXNlciA9IHBheWxvYWQ/LmVtYWlsID8/IHBheWxvYWQ/LnByZWZlcnJlZF91c2VybmFtZTtcblxuICAgIHJldHVybiB7IHVzZXIsIG9yZ2FuaXphdGlvbiwgcm9sZXMsIHRva2VuLCBpc1B1YmxpYzogZmFsc2UgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBWYWxpZGF0ZXMgdGhlIEpXVCBhZ2FpbnN0IHRoZSBLZXljbG9hayBpbnN0YW5jZSAoc2lnbmF0dXJlLCBleHBpcnksIGV0Yy4pXG4gICAqIHZpYSB7QGxpbmsgQXV0aFNlcnZpY2UuYXNzZXJ0VmFsaWRUb2tlbn0sIHRoZW4gZGVsZWdhdGVzIHRvIHRoZSBiYXNlIGNsYXNzXG4gICAqIGZvciByb3V0ZS1sZXZlbCBhbmQgbW9kZWwtbGV2ZWwgcm9sZSBjaGVja3MuIFNraXBzIGVudGlyZWx5IGZvciBwdWJsaWMgcm91dGVzLlxuICAgKi9cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGFzeW5jIHZhbGlkYXRlKFxuICAgIGRhdGE6IEtleWNsb2FrQXV0aERhdGEsXG4gICAgcm91dGVSb2xlczogc3RyaW5nW10gfCB1bmRlZmluZWQsXG4gICAgbW9kZWw6IHN0cmluZyB8IENvbnN0cnVjdG9yLFxuICAgIC4uLmFyZ3M6IENvbnRleHR1YWxBcmdzPENvbnRleHQ+XG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmIChkYXRhLmlzUHVibGljKSByZXR1cm47XG4gICAgYXdhaXQgdGhpcy5hdXRoU2VydmljZS5hc3NlcnRWYWxpZFRva2VuKGRhdGEudG9rZW4pO1xuICAgIGF3YWl0IHN1cGVyLnZhbGlkYXRlKGRhdGEsIHJvdXRlUm9sZXMsIG1vZGVsLCAuLi5hcmdzKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBpc1B1YmxpY1JvdXRlKHJlcTogQXV0aFJlcXVlc3RMaWtlKTogYm9vbGVhbiB7XG4gIGlmIChyZXEucGF0aD8uc3RhcnRzV2l0aChcIi9wdWJsaWNcIikpIHJldHVybiB0cnVlO1xuICByZXR1cm4gZmFsc2U7XG59XG5cbmZ1bmN0aW9uIGdldFRva2VuKHJlcTogQXV0aFJlcXVlc3RMaWtlKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgY29uc3QgdG9rZW4gPSAocmVxLmhlYWRlcnM/LltcIngtYXV0aC1yZXF1ZXN0LWFjY2Vzcy10b2tlblwiXSA/P1xuICAgIHJlcS5oZWFkZXJzPy5bXCJhdXRob3JpemF0aW9uXCJdKSBhcyBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIGlmICghdG9rZW4pIHJldHVybiB1bmRlZmluZWQ7XG4gIHJldHVybiB0b2tlbi5zdGFydHNXaXRoKFwiQmVhcmVyIFwiKSA/IHRva2VuLnNsaWNlKFwiQmVhcmVyIFwiLmxlbmd0aCkgOiB0b2tlbjtcbn1cblxuZnVuY3Rpb24gcmVzb2x2ZU9yZ2FuaXphdGlvbihcbiAgcGF5bG9hZDogeyBhdWQ/OiBzdHJpbmc7IGF6cD86IHN0cmluZyB9IHwgbnVsbCxcbiAgdG9rZW46IHN0cmluZ1xuKTogc3RyaW5nIHtcbiAgaWYgKHBheWxvYWQ/LmF1ZCkgcmV0dXJuIHBheWxvYWQuYXVkO1xuICBpZiAocGF5bG9hZD8uYXpwKSByZXR1cm4gcGF5bG9hZC5henA7XG4gIHJldHVybiBnZXRSZWFsbUZyb21Jc3N1ZXIodG9rZW4pO1xufVxuXG5leHBvcnQgeyBnZXRDbGllbnRSb2xlcyB9O1xuIl19
@@ -18,4 +18,4 @@ export class KeycloakModule {
18
18
  }
19
19
  export class AuthModule extends KeycloakModule {
20
20
  }
21
- //# sourceMappingURL=keycloakModule.js.map
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5Y2xvYWtNb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbmVzdC9rZXljbG9ha01vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBQ0gsT0FBTyxFQUFFLFdBQVcsRUFBMkIseUJBQXNCO0FBQ3JFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxpQ0FBOEI7QUFFNUQsTUFBTSxPQUFPLGNBQWM7SUFDekIsWUFDa0IsV0FBd0IsRUFDeEIsV0FBZ0M7UUFEaEMsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsZ0JBQVcsR0FBWCxXQUFXLENBQXFCO0lBQy9DLENBQUM7SUFFSixNQUFNLENBQUMsTUFBTSxDQUFDLE9BQTRCO1FBQ3hDLE1BQU0sV0FBVyxHQUFHLElBQUksV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzdDLE1BQU0sV0FBVyxHQUFHLElBQUksbUJBQW1CLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDekQsT0FBTyxJQUFJLGNBQWMsQ0FBQyxXQUFXLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDdEQsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLFVBQVcsU0FBUSxjQUFjO0NBQUciLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBtb2R1bGUgaW50ZWdyYXRpb25zL25lc3Qva2V5Y2xvYWtNb2R1bGVcbiAqIEBzdW1tYXJ5IE5lc3QgbW9kdWxlIHdpcmluZyBmb3IgS2V5Y2xvYWsgYXV0aC5cbiAqIEBkZXNjcmlwdGlvbiBFeHBvc2VzIHRoZSBOZXN0IG1vZHVsZSBzZXR1cCBmb3IgdGhlIGludGVncmF0aW9uIGF1dGggc2VydmljZSBhbmQgS2V5Y2xvYWsgaGFuZGxlci5cbiAqL1xuaW1wb3J0IHsgQXV0aFNlcnZpY2UsIHR5cGUgQXV0aFNlcnZpY2VPcHRpb25zIH0gZnJvbSBcIi4vYXV0aFNlcnZpY2VcIjtcbmltcG9ydCB7IEtleWNsb2FrQXV0aEhhbmRsZXIgfSBmcm9tIFwiLi9rZXljbG9ha0F1dGhIYW5kbGVyXCI7XG5cbmV4cG9ydCBjbGFzcyBLZXljbG9ha01vZHVsZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyByZWFkb25seSBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UsXG4gICAgcHVibGljIHJlYWRvbmx5IGF1dGhIYW5kbGVyOiBLZXljbG9ha0F1dGhIYW5kbGVyXG4gICkge31cblxuICBzdGF0aWMgY3JlYXRlKG9wdGlvbnM/OiBBdXRoU2VydmljZU9wdGlvbnMpOiBLZXljbG9ha01vZHVsZSB7XG4gICAgY29uc3QgYXV0aFNlcnZpY2UgPSBuZXcgQXV0aFNlcnZpY2Uob3B0aW9ucyk7XG4gICAgY29uc3QgYXV0aEhhbmRsZXIgPSBuZXcgS2V5Y2xvYWtBdXRoSGFuZGxlcihhdXRoU2VydmljZSk7XG4gICAgcmV0dXJuIG5ldyBLZXljbG9ha01vZHVsZShhdXRoU2VydmljZSwgYXV0aEhhbmRsZXIpO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBBdXRoTW9kdWxlIGV4dGVuZHMgS2V5Y2xvYWtNb2R1bGUge31cbiJdfQ==
@@ -35,4 +35,4 @@ logParameterRegistry
35
35
  return payload.applyTheme(rendered, "app");
36
36
  },
37
37
  });
38
- //# sourceMappingURL=logging.js.map
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2luZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9uZXN0L2xvZ2dpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7R0FVRztBQUNILE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXpELG9CQUFvQjtLQUNqQixRQUFRLENBQUM7SUFDUixHQUFHLEVBQUUsTUFBTTtJQUNYLGFBQWEsQ0FBQyxPQUFPO1FBQ25CLE9BQU8sT0FBTyxDQUFFLE9BQU8sQ0FBQyxNQUFrQyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFDRCxNQUFNLENBQUMsT0FBTztRQUNaLE9BQU8sTUFBTSxDQUFFLE9BQU8sQ0FBQyxNQUFrQyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFDRCxLQUFLLENBQUMsUUFBUSxFQUFFLE9BQU87UUFDckIsT0FBTyxPQUFPLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUM3QyxDQUFDO0NBQ0YsQ0FBQztLQUNELFFBQVEsQ0FBQztJQUNSLEdBQUcsRUFBRSxjQUFjO0lBQ25CLGFBQWEsQ0FBQyxPQUFPO1FBQ25CLE9BQU8sT0FBTyxDQUFFLE9BQU8sQ0FBQyxNQUFrQyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzNFLENBQUM7SUFDRCxNQUFNLENBQUMsT0FBTztRQUNaLE9BQU8sTUFBTSxDQUFFLE9BQU8sQ0FBQyxNQUFrQyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFDRCxLQUFLLENBQUMsUUFBUSxFQUFFLE9BQU87UUFDckIsT0FBTyxPQUFPLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUM3QyxDQUFDO0NBQ0YsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbW9kdWxlIGludGVncmF0aW9ucy9uZXN0L2xvZ2dpbmdcbiAqIEBzdW1tYXJ5IEtleWNsb2FrIGF1dGggbG9nIHBhcmFtZXRlcnMuXG4gKiBAZGVzY3JpcHRpb24gUmVnaXN0ZXJzIGB1c2VyYCBhbmQgYG9yZ2FuaXphdGlvbmAgYXMgbG9nIHBhcmFtZXRlcnMgc291cmNlZCBmcm9tIHRoZVxuICogbG9nZ2luZyBjb25maWcgKHBvcHVsYXRlZCBieSB0aGUgYXV0aCBpbnRlcmNlcHRvcidzIGNoaWxkIGxvZ2dlciB2aWEgYExvZ2dpbmcuZm9yKHsgdXNlciwgb3JnYW5pemF0aW9uIH0pYCkuXG4gKlxuICogVGhlc2UgcGFyYW1ldGVycyBhcmUgcmVnaXN0ZXJlZCBoZXJlIOKAlCBpbiBgaW50ZWdyYXRpb25zL25lc3RgIOKAlCBiZWNhdXNlIHRoaXMgaXMgdGhlXG4gKiBsYXllciB0aGF0IGV4dHJhY3RzIHVzZXIvb3JnYW5pemF0aW9uIGlkZW50aXR5IGZyb20gS2V5Y2xvYWsgSldUcy4gVGhlIGBpcGAgcGFyYW1ldGVyLFxuICogYnkgY29udHJhc3QsIGlzIHJlZ2lzdGVyZWQgaW4gYEBkZWNhZi10cy9mb3ItaHR0cC9zZXJ2ZXJgIHdoZXJlIHRoZSBIVFRQIHJlcXVlc3QgSVAgaXNcbiAqIGF2YWlsYWJsZS5cbiAqL1xuaW1wb3J0IHsgbG9nUGFyYW1ldGVyUmVnaXN0cnkgfSBmcm9tIFwiQGRlY2FmLXRzL2xvZ2dpbmdcIjtcblxubG9nUGFyYW1ldGVyUmVnaXN0cnlcbiAgLnJlZ2lzdGVyKHtcbiAgICBrZXk6IFwidXNlclwiLFxuICAgIHNob3VsZEluY2x1ZGUocGF5bG9hZCkge1xuICAgICAgcmV0dXJuIEJvb2xlYW4oKHBheWxvYWQuY29uZmlnIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+KS51c2VyKTtcbiAgICB9LFxuICAgIHJlbmRlcihwYXlsb2FkKSB7XG4gICAgICByZXR1cm4gU3RyaW5nKChwYXlsb2FkLmNvbmZpZyBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPikudXNlcik7XG4gICAgfSxcbiAgICBzdHlsZShyZW5kZXJlZCwgcGF5bG9hZCkge1xuICAgICAgcmV0dXJuIHBheWxvYWQuYXBwbHlUaGVtZShyZW5kZXJlZCwgXCJhcHBcIik7XG4gICAgfSxcbiAgfSlcbiAgLnJlZ2lzdGVyKHtcbiAgICBrZXk6IFwib3JnYW5pemF0aW9uXCIsXG4gICAgc2hvdWxkSW5jbHVkZShwYXlsb2FkKSB7XG4gICAgICByZXR1cm4gQm9vbGVhbigocGF5bG9hZC5jb25maWcgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pLm9yZ2FuaXphdGlvbik7XG4gICAgfSxcbiAgICByZW5kZXIocGF5bG9hZCkge1xuICAgICAgcmV0dXJuIFN0cmluZygocGF5bG9hZC5jb25maWcgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pLm9yZ2FuaXphdGlvbik7XG4gICAgfSxcbiAgICBzdHlsZShyZW5kZXJlZCwgcGF5bG9hZCkge1xuICAgICAgcmV0dXJuIHBheWxvYWQuYXBwbHlUaGVtZShyZW5kZXJlZCwgXCJhcHBcIik7XG4gICAgfSxcbiAgfSk7XG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=types.js.map
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbmVzdC90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbW9kdWxlIGludGVncmF0aW9ucy9uZXN0L3R5cGVzXG4gKiBAc3VtbWFyeSBOZXN0IGludGVncmF0aW9uIHR5cGVzLlxuICogQGRlc2NyaXB0aW9uIEtleWNsb2FrLXNwZWNpZmljIHBheWxvYWQgdHlwZXMsIGEgcGxhdGZvcm0tc3BlY2lmaWMgZXhlY3V0aW9uIGNvbnRleHRcbiAqIHR5cGUsIGFuZCByZS1leHBvcnRzIG9mIHRoZSBmcmFtZXdvcmstYWdub3N0aWMgYXV0aCBwcmltaXRpdmVzIGZyb21cbiAqIGBAZGVjYWYtdHMvZm9yLWh0dHAvc2VydmVyYC5cbiAqL1xuaW1wb3J0IHR5cGUgeyBBdXRoRGF0YSwgQXV0aFJlcXVlc3RMaWtlLCBVc2VyRGF0YSB9IGZyb20gXCJAZGVjYWYtdHMvZm9yLWh0dHAvc2VydmVyXCI7XG5cbmV4cG9ydCB0eXBlIHsgQXV0aERhdGEsIEF1dGhSZXF1ZXN0TGlrZSwgVXNlckRhdGEgfTtcblxuLyoqXG4gKiBTdHJ1Y3R1cmFsIHN1YnNldCBvZiBhIE5lc3RKUy1saWtlIGV4ZWN1dGlvbiBjb250ZXh0IHRoYXQgZXhwb3NlcyB0aGUgSFRUUCByZXF1ZXN0LlxuICpcbiAqIERlZmluZWQgaGVyZSAobm90IGluIGZvci1odHRwKSBiZWNhdXNlIHRoZSBiYXNlIGBBdXRoSGFuZGxlcmAgY2xhc3MgaXMgaW50ZW50aW9uYWxseVxuICogZ2VuZXJpYyBvdmVyIGl0cyBleGVjdXRpb24gY29udGV4dCDigJQgb25seSB0aGUgcGxhdGZvcm0gdGhhdCBjb25zdW1lcyBpdCBuZWVkcyB0byBrbm93XG4gKiB0aGUgY29uY3JldGUgc2hhcGUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXV0aEV4ZWN1dGlvbkNvbnRleHRMaWtlIHtcbiAgc3dpdGNoVG9IdHRwKCk6IHsgZ2V0UmVxdWVzdDxUID0gQXV0aFJlcXVlc3RMaWtlPigpOiBUIH07XG4gIGdldEhhbmRsZXI/KCk6IHsgbmFtZT86IHN0cmluZyB9O1xuICBnZXRDbGFzcz8oKTogeyBuYW1lPzogc3RyaW5nIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgS2V5Y2xvYWtBY2Nlc3NUb2tlblBheWxvYWQge1xuICBwcmVmZXJyZWRfdXNlcm5hbWU/OiBzdHJpbmc7XG4gIGVtYWlsPzogc3RyaW5nO1xuICBlbWFpbF92ZXJpZmllZD86IGJvb2xlYW47XG4gIG5hbWU/OiBzdHJpbmc7XG4gIGdpdmVuX25hbWU/OiBzdHJpbmc7XG4gIGZhbWlseV9uYW1lPzogc3RyaW5nO1xuICBpc3M/OiBzdHJpbmc7XG4gIGF1ZD86IHN0cmluZztcbiAgYXpwPzogc3RyaW5nO1xuICByZWFsbV9hY2Nlc3M/OiB7IHJvbGVzPzogc3RyaW5nW10gfTtcbiAgcmVzb3VyY2VfYWNjZXNzPzogUmVjb3JkPHN0cmluZywgeyByb2xlcz86IHN0cmluZ1tdIH0+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEtleWNsb2FrVXNlciB7XG4gIHByZWZlcnJlZF91c2VybmFtZT86IHN0cmluZztcbiAgZW1haWw/OiBzdHJpbmc7XG4gIGVtYWlsX3ZlcmlmaWVkPzogYm9vbGVhbjtcbiAgbmFtZT86IHN0cmluZztcbiAgZ2l2ZW5fbmFtZT86IHN0cmluZztcbiAgZmFtaWx5X25hbWU/OiBzdHJpbmc7XG4gIHJlYWxtPzogc3RyaW5nO1xufVxuIl19
@@ -80,4 +80,4 @@ export function getRealmFromIssuer(jwt) {
80
80
  }
81
81
  return parts[realmsIndex + 1];
82
82
  }
83
- //# sourceMappingURL=utils.js.map
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbmVzdC91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVwRCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxNQUFNLENBQUMsd0JBQXdCLENBQUMsQ0FBQztBQUV0RSxNQUFNLFVBQVUsZUFBZSxDQUFDLEdBQVc7SUFDekMsSUFBSSxDQUFDO1FBQ0gsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsV0FBVyxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUErQixDQUFDO0lBQ3RILENBQUM7SUFBQyxNQUFNLENBQUM7UUFDUCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7QUFDSCxDQUFDO0FBRUQsTUFBTSxVQUFVLG9CQUFvQixDQUFDLE9BQTBDO0lBQzdFLE1BQU0sS0FBSyxHQUFHLElBQUksR0FBRyxFQUFVLENBQUM7SUFDaEMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUNoRCxLQUFLLE1BQU0sSUFBSSxJQUFJLE9BQU8sQ0FBQyxZQUFZLENBQUMsS0FBSztZQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUNELElBQUksT0FBTyxFQUFFLGVBQWUsSUFBSSxPQUFPLE9BQU8sQ0FBQyxlQUFlLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDNUUsS0FBSyxNQUFNLE1BQU0sSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDO1lBQzFELEtBQUssTUFBTSxJQUFJLElB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RCxPQUFPLEtBQUssQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFDaEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQG1vZHVsZSBpbnRlZ3JhdGlvbnMvbmVzdC91dGlsc1xuICogQHN1bW1hcnkgTmVzdCBpbnRlZ3JhdGlvbiB1dGlsaXRpZXMuXG4gKiBAZGVzY3JpcHRpb24gSGVscGVyIGZ1bmN0aW9ucyB1c2VkIGJ5IHRoZSBOZXN0IGF1dGggYW5kIHJlcXVlc3QtY29udGV4dCBhZGFwdGVycy5cbiAqL1xuaW1wb3J0IHR5cGUgeyBLZXljbG9ha0FjY2Vzc1Rva2VuUGF5bG9hZCwgS2V5Y2xvYWtVc2VyIH0gZnJvbSBcIi4vdHlwZXNcIjtcbmltcG9ydCB7IEF1dGhvcml6YXRpb25FcnJvciB9IGZyb20gXCJAZGVjYWYtdHMvY29yZVwiO1xuXG5leHBvcnQgY29uc3QgREVDQUZfQURBUFRFUl9PUFRJT05TID0gU3ltYm9sKFwiRGVjYWZBZGFwdGVyRm9yT3B0aW9uc1wiKTtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldFRva2VuUGF5bG9hZChqd3Q6IHN0cmluZyk6IEtleWNsb2FrQWNjZXNzVG9rZW5QYXlsb2FkIHwgbnVsbCB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIEpTT04ucGFyc2UoQnVmZmVyLmZyb20oand0LnNwbGl0KFwiLlwiKVsxXSA/PyBcIlwiLCBcImJhc2U2NHVybFwiKS50b1N0cmluZyhcInV0ZjhcIikpIGFzIEtleWNsb2FrQWNjZXNzVG9rZW5QYXlsb2FkO1xuICB9IGNhdGNoIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZXh0cmFjdEtleWNsb2FrUm9sZXMocGF5bG9hZDogS2V5Y2xvYWtBY2Nlc3NUb2tlblBheWxvYWQgfCBudWxsKTogc3RyaW5nW10ge1xuICBjb25zdCByb2xlcyA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuICBpZiAoQXJyYXkuaXNBcnJheShwYXlsb2FkPy5yZWFsbV9hY2Nlc3M/LnJvbGVzKSkge1xuICAgIGZvciAoY29uc3Qgcm9sZSBvZiBwYXlsb2FkLnJlYWxtX2FjY2Vzcy5yb2xlcykgcm9sZXMuYWRkKHJvbGUpO1xuICB9XG4gIGlmIChwYXlsb2FkPy5yZXNvdXJjZV9hY2Nlc3MgJiYgdHlwZW9mIHBheWxvYWQucmVzb3VyY2VfYWNjZXNzID09PSBcIm9iamVjdFwiKSB7XG4gICAgZm9yIChjb25zdCBjbGllbnQgb2YgT2JqZWN0LmtleXMocGF5bG9hZC5yZXNvdXJjZV9hY2Nlc3MpKSB7XG4gICAgICBmb3IgKGNvbnN0IHJvbGUgb2YgcGF5bG9hZC5yZXNvdXJjZV9hY2Nlc3NbY2xpZW50XT8ucm9sZXMgPz8gW10pIHtcbiAgICAgICAgcm9sZXMuYWRkKHJvbGUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICByZXR1cm4gWy4uLnJvbGVzXTtcbn1cblxuLyoqXG4gKiBFeHRyYWN0cyByb2xlcyBmcm9tIHRoZSBgcmVzb3VyY2VfYWNjZXNzYCBjbGFpbSBvbmx5LCBvcHRpb25hbGx5IGV4Y2x1ZGluZ1xuICogc3BlY2lmaWVkIGNsaWVudCBJRHMgKGUuZy4gYFwiYWNjb3VudFwiYCkuICBVbmxpa2Uge0BsaW5rIGV4dHJhY3RLZXljbG9ha1JvbGVzfVxuICogdGhpcyBkb2VzIE5PVCBpbmNsdWRlIGByZWFsbV9hY2Nlc3Mucm9sZXNgLlxuICpcbiAqIEBwYXJhbSBwYXlsb2FkICAgVGhlIGRlY29kZWQgSldUIHBheWxvYWQuXG4gKiBAcGFyYW0gZXhjbHVkZWQgIENsaWVudCBJRHMgdG8gc2tpcC4gIEBkZWZhdWx0IFtcImFjY291bnRcIl1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldENsaWVudFJvbGVzKFxuICBwYXlsb2FkOiBLZXljbG9ha0FjY2Vzc1Rva2VuUGF5bG9hZCB8IG51bGwsXG4gIGV4Y2x1ZGVkOiBzdHJpbmdbXSA9IFtcImFjY291bnRcIl1cbik6IHN0cmluZ1tdIHtcbiAgY29uc3QgcmVzb3VyY2VBY2Nlc3MgPSBwYXlsb2FkPy5yZXNvdXJjZV9hY2Nlc3M7XG4gIGlmICghcmVzb3VyY2VBY2Nlc3MgfHwgdHlwZW9mIHJlc291cmNlQWNjZXNzICE9PSBcIm9iamVjdFwiKSByZXR1cm4gW107XG4gIGNvbnN0IHJvbGVzID0gbmV3IFNldDxzdHJpbmc+KCk7XG4gIGZvciAoY29uc3QgW2NsaWVudElkLCBkYXRhXSBvZiBPYmplY3QuZW50cmllcyhyZXNvdXJjZUFjY2VzcykpIHtcbiAgICBpZiAoZXhjbHVkZWQuaW5jbHVkZXMoY2xpZW50SWQpKSBjb250aW51ZTtcbiAgICBpZiAoQXJyYXkuaXNBcnJheShkYXRhPy5yb2xlcykpIHtcbiAgICAgIGZvciAoY29uc3Qgcm9sZSBvZiBkYXRhLnJvbGVzKSByb2xlcy5hZGQocm9sZSk7XG4gICAgfVxuICB9XG4gIHJldHVybiBbLi4ucm9sZXNdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0VXNlcihqd3Q6IHN0cmluZyk6IEtleWNsb2FrVXNlciB8IHVuZGVmaW5lZCB7XG4gIGNvbnN0IHBheWxvYWQgPSBnZXRUb2tlblBheWxvYWQoand0KTtcbiAgaWYgKCFwYXlsb2FkKSByZXR1cm4gdW5kZWZpbmVkO1xuICByZXR1cm4ge1xuICAgIHByZWZlcnJlZF91c2VybmFtZTogcGF5bG9hZC5wcmVmZXJyZWRfdXNlcm5hbWUsXG4gICAgZW1haWw6IHBheWxvYWQuZW1haWwsXG4gICAgZW1haWxfdmVyaWZpZWQ6IHBheWxvYWQuZW1haWxfdmVyaWZpZWQsXG4gICAgbmFtZTogcGF5bG9hZC5uYW1lLFxuICAgIGdpdmVuX25hbWU6IHBheWxvYWQuZ2l2ZW5fbmFtZSxcbiAgICBmYW1pbHlfbmFtZTogcGF5bG9hZC5mYW1pbHlfbmFtZSxcbiAgICByZWFsbTogZ2V0UmVhbG1Gcm9tSXNzdWVyKGp3dCksXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRSZWFsbUZyb21Jc3N1ZXIoand0OiBzdHJpbmcpOiBzdHJpbmcge1xuICBjb25zdCBwYXlsb2FkID0gZ2V0VG9rZW5QYXlsb2FkKGp3dCk7XG4gIGNvbnN0IGlzcyA9IHBheWxvYWQ/LmlzcztcbiAgaWYgKCFpc3MpIHtcbiAgICB0aHJvdyBuZXcgQXV0aG9yaXphdGlvbkVycm9yKFwiSXNzdWVyIChpc3MpIGlzIG1pc3NpbmdcIik7XG4gIH1cbiAgbGV0IHVybDogVVJMO1xuICB0cnkge1xuICAgIHVybCA9IG5ldyBVUkwoaXNzKTtcbiAgfSBjYXRjaCB7XG4gICAgdGhyb3cgbmV3IEF1dGhvcml6YXRpb25FcnJvcihgSW52YWxpZCBpc3N1ZXIgVVJMOiAke2lzc31gKTtcbiAgfVxuICBjb25zdCBwYXJ0cyA9IHVybC5wYXRobmFtZS5zcGxpdChcIi9cIikuZmlsdGVyKEJvb2xlYW4pO1xuICBjb25zdCByZWFsbXNJbmRleCA9IHBhcnRzLmluZGV4T2YoXCJyZWFsbXNcIik7XG4gIGlmIChyZWFsbXNJbmRleCA9PT0gLTEgfHwgIXBhcnRzW3JlYWxtc0luZGV4ICsgMV0pIHtcbiAgICB0aHJvdyBuZXcgQXV0aG9yaXphdGlvbkVycm9yKGBDYW5ub3QgZXh0cmFjdCByZWFsbSBmcm9tIGlzc3VlcjogJHtpc3N9YCk7XG4gIH1cbiAgcmV0dXJuIHBhcnRzW3JlYWxtc0luZGV4ICsgMV07XG59XG4iXX0=
@@ -299,4 +299,4 @@ export class AwsSecretService extends ClientBasedService {
299
299
  return new InternalError(err);
300
300
  }
301
301
  }
302
- //# sourceMappingURL=AwsSecretService.js.map
302
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXdzU2VjcmV0U2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zZWNyZXRzL2F3cy9Bd3NTZWNyZXRTZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxvQkFBb0IsRUFDcEIsbUJBQW1CLEVBQ25CLHFCQUFxQixFQUVyQixxQkFBcUIsRUFFckIsbUJBQW1CLEVBRW5CLGtCQUFrQixFQUVsQixxQkFBcUIsR0FFdEIsTUFBTSxpQ0FBaUMsQ0FBQztBQUN6QyxPQUFPLEVBQ0wsa0JBQWtCLEVBQ2xCLGtCQUFrQixHQUVuQixNQUFNLGdCQUFnQixDQUFDO0FBY3hCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxtQkFBbUIsRUFBRSwyQkFBMkI7QUFDN0UsT0FBTyxFQUNMLHNCQUFzQixFQUN0Qix3QkFBd0IsR0FFekIsMkJBQTJCO0FBRTVCLE9BQU8sRUFDTCxlQUFlLEVBQ2YsU0FBUyxFQUNULGFBQWEsRUFDYixhQUFhLEVBQ2IsYUFBYSxHQUNkLE1BQU0seUJBQXlCLENBQUM7QUFFakMsTUFBTSxPQUFPLGdCQUFpQixTQUFRLGtCQUdyQztJQUNDLElBQUksUUFBUTtRQUNWLE9BQU8scUJBQXFCLENBQUM7SUFDL0IsQ0FBQztJQUVELEtBQUssQ0FBQyxVQUFVLENBQ2QsR0FBRyxJQUE2QjtRQUVoQyxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsQ0FBQyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLFlBQVksRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FDbkUsSUFBSSxDQUFDLFVBQVUsQ0FDaEIsQ0FBQztRQUNGLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQTJCLENBQUM7UUFDcEQsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ1osTUFBTSxJQUFJLGFBQWEsQ0FBQyw0Q0FBNEMsQ0FBQyxDQUFDO1FBQ3hFLENBQUM7UUFDRCxNQUFN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QUFJLFlBQVksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLElBQUksWUFBWSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3hFLE9BQU8sSUFBSSxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNyQyxDQUFDO1FBRUQsSUFBSSxZQUFZLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxJQUFJLFlBQVksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN4RSxPQUFPLElBQUksZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2xDLENBQUM7UUFFRCxJQUNFLFlBQVksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDO1lBQ2pDLFlBQVksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDO1lBQ3BDLFlBQVksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDO1lBQ25DLFlBQVksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEVBQ2hDLENBQUM7WUFDRCxPQUFPLElBQUksYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2hDLENBQUM7UUFFRCxPQUFPLElBQUksYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIFNlY3JldHNNYW5hZ2VyQ2xpZW50LFxuICBDcmVhdGVTZWNyZXRDb21tYW5kLFxuICBHZXRTZWNyZXRWYWx1ZUNvbW1hbmQsXG4gIEdldFNlY3JldFZhbHVlQ29tbWFuZElucHV0LFxuICBQdXRTZWNyZXRWYWx1ZUNvbW1hbmQsXG4gIFB1dFNlY3JldFZhbHVlQ29tbWFuZElucHV0LFxuICBEZWxldGVTZWNyZXRDb21tYW5kLFxuICBEZWxldGVTZWNyZXRDb21tYW5kSW5wdXQsXG4gIExpc3RTZWNyZXRzQ29tbWFuZCxcbiAgTGlzdFNlY3JldHNDb21tYW5kSW5wdXQsXG4gIERlc2NyaWJlU2VjcmV0Q29tbWFuZCxcbiAgRGVzY3JpYmVTZWNyZXRDb21tYW5kSW5wdXQsXG59IGZyb20gXCJAYXdzLXNkay9jbGllbnQtc2VjcmV0cy1tYW5hZ2VyXCI7XG5pbXBvcnQge1xuICBBdXRob3JpemF0aW9uRXJyb3IsXG4gIENsaWVudEJhc2VkU2VydmljZSxcbiAgdHlwZSBNYXliZUNvbnRleHR1YWxBcmcsXG59IGZyb20gXCJAZGVjYWYtdHMvY29yZVwiO1xuaW1wb3J0IHtcbiAgU2VjcmV0UHJvdmlkZXIsXG4gIFNlY3JldE5hbWUsXG4gIFNlY3JldFBheWxvYWQsXG4gIFNlY3JldFJlZmVyZW5jZSxcbiAgU2VjcmV0TWV0YWRhdGEsXG59IGZyb20gXCIuLi8uLi9zZWNyZXRzL2NvcmVcIjtcbmltcG9ydCB7XG4gIFN0b3JlU2VjcmV0T3B0aW9ucyxcbiAgUmV0cmlldmVTZWNyZXRPcHRpb25zLFxuICBEZWxldGVTZWNyZXRPcHRpb25zLFxuICBMaXN0U2VjcmV0c09wdGlvbnMsXG59IGZyb20gXCIuLi8uLi9zZWNyZXRzL2NvcmVcIjtcbmltcG9ydCB7IHZhbGlkYXRlU2VjcmV0TmFtZSwgbm9ybWFsaXplU2VjcmV0TmFtZSB9IGZyb20gXCIuLi8uLi9zZWNyZXRzL2NvcmVcIjtcbmltcG9ydCB7XG4gIHNlcmlhbGl6ZVNlY3JldFBheWxvYWQsXG4gIGRlc2VyaWFsaXplU2VjcmV0UGF5bG9hZCxcbiAgdHlwZSBTZXJpYWxpemVkU2VjcmV0UGF5bG9hZCxcbn0gZnJvbSBcIi4uLy4uL3NlY3JldHMvY29yZVwiO1xuaW1wb3J0IHsgQXdzU2VjcmV0U2VydmljZUNvbmZpZyB9IGZyb20gXCIuL0F3c1NlY3JldFNlcnZpY2VDb25maWdcIjtcbmltcG9ydCB7XG4gIEJhZFJlcXVlc3RFcnJvcixcbiAgQmFzZUVycm9yLFxuICBDb25mbGljdEVycm9yLFxuICBJbnRlcm5hbEVycm9yLFxuICBOb3RGb3VuZEVycm9yLFxufSBmcm9tIFwiQGRlY2FmLXRzL2RiLWRlY29yYXRvcnNcIjtcblxuZXhwb3J0IGNsYXNzIEF3c1NlY3JldFNlcnZpY2UgZXh0ZW5kcyBDbGllbnRCYXNlZFNlcnZpY2U8XG4gIFNlY3JldHNNYW5hZ2VyQ2xpZW50LFxuICBBd3NTZWNyZXRTZXJ2aWNlQ29uZmlnXG4+IHtcbiAgZ2V0IHByb3ZpZGVyKCk6IFNlY3JldFByb3ZpZGVyIHtcbiAgICByZXR1cm4gXCJhd3Mtc2VjcmV0cy1tYW5hZ2VyXCI7XG4gIH1cblxuICBhc3luYyBpbml0aWFsaXplKFxuICAgIC4uLmFyZ3M6IE1heWJlQ29udGV4dHVhbEFyZzxhbnk+XG4gICk6IFByb21pc2U8eyBjb25maWc6IEF3c1NlY3JldFNlcnZpY2VDb25maWc7IGNsaWVudDogU2VjcmV0c01hbmFnZXJDbGllbnQgfT4ge1xuICAgIGNvbnN0IHsgY3R4QXJncyB9ID0gKGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIFwiaW5pdGlhbGl6ZVwiLCB0cnVlKSkuZm9yKFxuICAgICAgdGhpcy5pbml0aWFsaXplXG4gICAgKTtcbiAgICBjb25zdCBjb25maWcgPSBjdHhBcmdzWzBdIGFzIEF3c1NlY3JldFNlcnZpY2VDb25maWc7XG4gICAgaWYgKCFjb25maWcpIHtcbiAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKFwiTWlzc2luZyBjb25maWd1cmF0aW9uIGZvciBBd3NTZWNyZXRTZXJ2aWNlXCIpO1xuICAgIH1cbiAgICBjb25zdCBjbGllbnQgPSBuZXcgU2VjcmV0c01hbmFnZXJDbGllbnQoe1xuICAgICAgcmVnaW9uOiBjb25maWcucmVnaW9uLFxuICAgICAgY3JlZGVudGlhbHM6IGNvbmZpZy5jcmVkZW50aWFscyxcbiAgICAgIGVuZHBvaW50OiBjb25maWcuZW5kcG9pbnQsXG4gICAgfSk7XG4gICAgdGhpcy5fY29uZmlnID0gY29uZmlnO1xuICAgIHRoaXMuX2NsaWVudCA9IGNsaWVudDtcbiAgICByZXR1cm4geyBjb25maWcsIGNsaWVudCB9O1xuICB9XG5cbiAgYXN5bmMgc3RvcmU8VCBleHRlbmRzIFNlY3JldFBheWxvYWQgPSBTZWNyZXRQYXlsb2FkPihcbiAgICBuYW1lOiBTZWNyZXROYW1lLFxuICAgIHZhbHVlOiBULFxuICAgIG9wdGlvbnM6IFN0b3JlU2VjcmV0T3B0aW9ucyA9IHt9LFxuICAgIC4uLmFyZ3M6IE1heWJlQ29udGV4dHVhbEFyZzxhbnk+XG4gICk6IFByb21pc2U8U2VjcmV0UmVmZXJlbmNlPiB7XG4gICAgY29uc3QgeyBsb2cgfSA9IChhd2FpdCB0aGlzLmxvZ0N0eChhcmdzLCBcInN0b3JlXCIsIHRydWUpKS5mb3IodGhpcy5zdG9yZSk7XG4gICAgbG9nLnZlcmJvc2UoYFN0b3Jpbmcgc2VjcmV0ICR7bmFtZX1gKTtcblxuICAgIHRyeSB7XG4gICAgICB2YWxpZGF0ZVNlY3JldE5hbWUobmFtZSk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRocm93IHRoaXMucGFyc2VFcnJvcihlcnJvciBhcyBFcnJvcik7XG4gICAgfVxuXG4gICAgY29uc3Qgbm9ybWFsaXplZE5hbWUgPSBub3JtYWxpemVTZWNyZXROYW1lKG5hbWUpO1xuICAgIGNvbnN0IHNlcmlhbGl6ZWQgPSBzZXJpYWxpemVTZWNyZXRQYXlsb2FkKHZhbHVlKTtcbiAgICBjb25zdCBzZWNyZXRTdHJpbmcgPSBKU09OLnN0cmluZ2lmeShzZXJpYWxpemVkKTtcblxuICAgIHRyeSB7XG4gICAgICBhd2FpdCB0aGlzLmNsaWVudC5zZW5kKFxuICAgICAgICBuZXcgQ3JlYXRlU2VjcmV0Q29tbWFuZCh7XG4gICAgICAgICAgTmFtZTogbm9ybWFsaXplZE5hbWUsXG4gICAgICAgICAgU2VjcmV0U3RyaW5nOiBzZWNyZXRTdHJpbmcsXG4gICAgICAgIH0pXG4gICAgICApO1xuICAgIH0gY2F0Y2ggKGVycm9yOiBhbnkpIHtcbiAgICAgIGlmIChlcnJvcj8ubmFtZSA9PT0gXCJSZXNvdXJjZUV4aXN0c0V4Y2VwdGlvblwiKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgY29uc3QgaW5wdXQ6IFB1dFNlY3JldFZhbHVlQ29tbWFuZElucHV0ID0ge1xuICAgICAgICAgICAgU2VjcmV0SWQ6IG5vcm1hbGl6ZWROYW1lLFxuICAgICAgICAgICAgU2VjcmV0U3RyaW5nOiBzZWNyZXRTdHJpbmcsXG4gICAgICAgICAgfTtcbiAgICAgICAgICBhd2FpdCB0aGlzLmNsaWVudC5zZW5kKG5ldyBQdXRTZWNyZXRWYWx1ZUNvbW1hbmQoaW5wdXQpKTtcbiAgICAgICAgfSBjYXRjaCAocHV0RXJyb3IpIHtcbiAgICAgICAgICB0aHJvdyB0aGlzLnBhcnNlRXJyb3IocHV0RXJyb3IgYXMgRXJyb3IpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aHJvdyB0aGlzLnBhcnNlRXJyb3IoZXJyb3IgYXMgRXJyb3IpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBwcm92aWRlcjogdGhpcy5wcm92aWRlcixcbiAgICAgIG5hbWU6IG5vcm1hbGl6ZWROYW1lLFxuICAgICAgdmVyc2lvbjogb3B0aW9ucy52ZXJzaW9uLFxuICAgIH07XG4gIH1cblxuICBhc3luYyByZXRyaWV2ZTxUIGV4dGVuZHMgU2VjcmV0UGF5bG9hZCA9IFNlY3JldFBheWxvYWQ+KFxuICAgIG5hbWVPclJlZjogU2VjcmV0TmFtZSB8IFNlY3JldFJlZmVyZW5jZSxcbiAgICBvcHRpb25zOiBSZXRyaWV2ZVNlY3JldE9wdGlvbnMgPSB7fSxcbiAgICAuLi5hcmdzOiBNYXliZUNvbnRleHR1YWxBcmc8YW55PlxuICApOiBQcm9taXNlPFQ+IHtcbiAgICBjb25zdCB7IGxvZyB9ID0gKGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIFwicmV0cmlldmVcIiwgdHJ1ZSkpLmZvcihcbiAgICAgIHRoaXMucmV0cmlldmVcbiAgICApO1xuICAgIGNvbnN0IG5hbWVTdHIgPSB0eXBlb2YgbmFtZU9yUmVmID09PSBcInN0cmluZ1wiID8gbmFtZU9yUmVmIDogbmFtZU9yUmVmLm5hbWU7XG4gICAgbG9nLnZlcmJvc2UoYFJldHJpZXZpbmcgc2VjcmV0ICR7bmFtZVN0cn1gKTtcblxuICAgIGxldCBuYW1lOiBzdHJpbmc7XG4gICAgbGV0IHZlcnNpb25TdGFnZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gICAgaWYgKHR5cGVvZiBuYW1lT3JSZWYgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgIG5hbWUgPSBuYW1lT3JSZWY7XG4gICAgICB2ZXJzaW9uU3RhZ2UgPSBvcHRpb25zLnZlcnNpb247XG4gICAgfSBlbHNlIHtcbiAgICAgIG5hbWUgPSBuYW1lT3JSZWYubmFtZTtcbiAgICAgIHZlcnNpb25TdGFnZSA9IG5hbWVPclJlZi52ZXJzaW9uO1xuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICB2YWxpZGF0ZVNlY3JldE5hbWUobmFtZSk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRocm93IHRoaXMucGFyc2VFcnJvcihlcnJvciBhcyBFcnJvcik7XG4gICAgfVxuXG4gICAgY29uc3Qgbm9ybWFsaXplZE5hbWUgPSBub3JtYWxpemVTZWNyZXROYW1lKG5hbWUpO1xuXG4gICAgY29uc3QgaW5wdXQ6IEdldFNlY3JldFZhbHVlQ29tbWFuZElucHV0ID0ge1xuICAgICAgU2VjcmV0SWQ6IG5vcm1hbGl6ZWROYW1lLFxuICAgIH07XG5cbiAgICBpZiAodmVyc2lvblN0YWdlKSB7XG4gICAgICBpbnB1dC5WZXJzaW9uU3RhZ2UgPSB2ZXJzaW9uU3RhZ2U7XG4gICAgfVxuXG4gICAgbGV0IHBheWxvYWQ6IFNlcmlhbGl6ZWRTZWNyZXRQYXlsb2FkO1xuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuY2xpZW50LnNlbmQobmV3IEdldFNlY3JldFZhbHVlQ29tbWFuZChpbnB1dCkpO1xuICAgICAgaWYgKHJlc3BvbnNlLlNlY3JldFN0cmluZyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHBheWxvYWQgPSBKU09OLnBhcnNlKHJlc3BvbnNlLlNlY3JldFN0cmluZykgYXMgU2VyaWFsaXplZFNlY3JldFBheWxvYWQ7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aHJvdyBuZXcgTm90Rm91bmRFcnJvcihcbiAgICAgICAgICBgTm8gc2VjcmV0IHZhbHVlIGZvdW5kIGZvciBcIiR7bm9ybWFsaXplZE5hbWV9XCJgXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRocm93IHRoaXMucGFyc2VFcnJvcihlcnJvciBhcyBFcnJvcik7XG4gICAgfVxuXG4gICAgcmV0dXJuIGRlc2VyaWFsaXplU2VjcmV0UGF5bG9hZChwYXlsb2FkKSBhcyBUO1xuICB9XG5cbiAgYXN5bmMgZGVsZXRlKFxuICAgIG5hbWVPclJlZjogU2VjcmV0TmFtZSB8IFNlY3JldFJlZmVyZW5jZSxcbiAgICBvcHRpb25zOiBEZWxldGVTZWNyZXRPcHRpb25zID0ge30sXG4gICAgLi4uYXJnczogTWF5YmVDb250ZXh0dWFsQXJnPGFueT5cbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgeyBsb2cgfSA9IChhd2FpdCB0aGlzLmxvZ0N0eChhcmdzLCBcImRlbGV0ZVwiLCB0cnVlKSkuZm9yKHRoaXMuZGVsZXRlKTtcbiAgICBjb25zdCBuYW1lU3RyID0gdHlwZW9mIG5hbWVPclJlZiA9PT0gXCJzdHJpbmdcIiA/IG5hbWVPclJlZiA6IG5hbWVPclJlZi5uYW1lO1xuICAgIGxvZy52ZXJib3NlKGBEZWxldGluZyBzZWNyZXQgJHtuYW1lU3RyfWApO1xuXG4gICAgbGV0IG5hbWU6IHN0cmluZztcblxuICAgIGlmICh0eXBlb2YgbmFtZU9yUmVmID09PSBcInN0cmluZ1wiKSB7XG4gICAgICBuYW1lID0gbmFtZU9yUmVmO1xuICAgIH0gZWxzZSB7XG4gICAgICBuYW1lID0gbmFtZU9yUmVmLm5hbWU7XG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgIHZhbGlkYXRlU2VjcmV0TmFtZShuYW1lKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdGhyb3cgdGhpcy5wYXJzZUVycm9yKGVycm9yIGFzIEVycm9yKTtcbiAgICB9XG5cbiAgICBjb25zdCBub3JtYWxpemVkTmFtZSA9IG5vcm1hbGl6ZVNlY3JldE5hbWUobmFtZSk7XG5cbiAgICBjb25zdCBpbnB1dDogRGVsZXRlU2VjcmV0Q29tbWFuZElucHV0ID0ge1xuICAgICAgU2VjcmV0SWQ6IG5vcm1hbGl6ZWROYW1lLFxuICAgICAgRm9yY2VEZWxldGVXaXRob3V0UmVjb3Zlcnk6IG9wdGlvbnMuZm9yY2UgPz8gZmFsc2UsXG4gICAgfTtcblxuICAgIHRyeSB7XG4gICAgICBhd2FpdCB0aGlzLmNsaWVudC5zZW5kKG5ldyBEZWxldGVTZWNyZXRDb21tYW5kKGlucHV0KSk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRocm93IHRoaXMucGFyc2VFcnJvcihlcnJvciBhcyBFcnJvcik7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgZXhpc3RzKFxuICAgIG5hbWVPclJlZjogU2VjcmV0TmFtZSB8IFNlY3JldFJlZmVyZW5jZSxcbiAgICAuLi5hcmdzOiBNYXliZUNvbnRleHR1YWxBcmc8YW55PlxuICApOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb25zdCB7IGxvZyB9ID0gKGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIFwiZXhpc3RzXCIsIHRydWUpKS5mb3IodGhpcy5leGlzdHMpO1xuICAgIGNvbnN0IG5hbWVTdHIgPSB0eXBlb2YgbmFtZU9yUmVmID09PSBcInN0cmluZ1wiID8gbmFtZU9yUmVmIDogbmFtZU9yUmVmLm5hbWU7XG4gICAgbG9nLnZlcmJvc2UoYENoZWNraW5nIGlmIHNlY3JldCAke25hbWVTdHJ9IGV4aXN0c2ApO1xuXG4gICAgbGV0IG5hbWU6IHN0cmluZztcblxuICAgIGlmICh0eXBlb2YgbmFtZU9yUmVmID09PSBcInN0cmluZ1wiKSB7XG4gICAgICBuYW1lID0gbmFtZU9yUmVmO1xuICAgIH0gZWxzZSB7XG4gICAgICBuYW1lID0gbmFtZU9yUmVmLm5hbWU7XG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgIHZhbGlkYXRlU2VjcmV0TmFtZShuYW1lKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdGhyb3cgdGhpcy5wYXJzZUVycm9yKGVycm9yIGFzIEVycm9yKTtcbiAgICB9XG5cbiAgICBjb25zdCBub3JtYWxpemVkTmFtZSA9IG5vcm1hbGl6ZVNlY3JldE5hbWUobmFtZSk7XG5cbiAgICBjb25zdCBpbnB1dDogRGVzY3JpYmVTZWNyZXRDb21tYW5kSW5wdXQgPSB7XG4gICAgICBTZWNyZXRJZDogbm9ybWFsaXplZE5hbWUsXG4gICAgfTtcblxuICAgIHRyeSB7XG4gICAgICBhd2FpdCB0aGlzLmNsaWVudC5zZW5kKG5ldyBEZXNjcmliZVNlY3JldENvbW1hbmQoaW5wdXQpKTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zdCBlcnIgPSBlcnJvciBhcyBFcnJvcjtcbiAgICAgIGlmIChcbiAgICAgICAgZXJyLm5hbWUgPT09IFwiUmVzb3VyY2VOb3RGb3VuZEV4Y2VwdGlvblwiIHx8XG4gICAgICAgIGVyci5tZXNzYWdlLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoXCJub3QgZm91bmRcIikgfHxcbiAgICAgICAgZXJyLm1lc3NhZ2UuaW5jbHVkZXMoXCI0MDRcIilcbiAgICAgICkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgICB0aHJvdyB0aGlzLnBhcnNlRXJyb3IoZXJyKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBsaXN0KFxuICAgIG9wdGlvbnM6IExpc3RTZWNyZXRzT3B0aW9ucyA9IHt9LFxuICAgIC4uLmFyZ3M6IE1heWJlQ29udGV4dHVhbEFyZzxhbnk+XG4gICk6IFByb21pc2U8U2VjcmV0TWV0YWRhdGFbXT4ge1xuICAgIGNvbnN0IHsgbG9nIH0gPSAoYXdhaXQgdGhpcy5sb2dDdHgoYXJncywgXCJsaXN0XCIsIHRydWUpKS5mb3IodGhpcy5saXN0KTtcbiAgICBsb2cudmVyYm9zZShcIkxpc3Rpbmcgc2VjcmV0c1wiKTtcblxuICAgIGNvbnN0IHJlc3VsdDogU2VjcmV0TWV0YWRhdGFbXSA9IFtdO1xuXG4gICAgbGV0IG5leHRUb2tlbjogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gICAgZG8ge1xuICAgICAgY29uc3QgaW5wdXQ6IExpc3RTZWNyZXRzQ29tbWFuZElucHV0ID0ge1xuICAgICAgICBOZXh0VG9rZW46IG5leHRUb2tlbixcbiAgICAgICAgTWF4UmVzdWx0czogb3B0aW9ucy5saW1pdCA/PyA1MCxcbiAgICAgIH07XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5jbGllbnQuc2VuZChuZXcgTGlzdFNlY3JldHNDb21tYW5kKGlucHV0KSk7XG4gICAgICAgIG5leHRUb2tlbiA9IHJlc3BvbnNlLk5leHRUb2tlbjtcblxuICAgICAgICBpZiAocmVzcG9uc2UuU2VjcmV0TGlzdCkge1xuICAgICAgICAgIGZvciAoY29uc3Qgc2VjcmV0IG9mIHJlc3BvbnNlLlNlY3JldExpc3QpIHtcbiAgICAgICAgICAgIGlmIChzZWNyZXQuTmFtZSkge1xuICAgICAgICAgICAgICByZXN1bHQucHVzaCh7XG4gICAgICAgICAgICAgICAgcHJvdmlkZXI6IHRoaXMucHJvdmlkZXIsXG4gICAgICAgICAgICAgICAgbmFtZTogc2VjcmV0Lk5hbWUsXG4gICAgICAgICAgICAgICAgdmVyc2lvbjogc2VjcmV0Lkxhc3RDaGFuZ2VkRGF0ZSA/IHVuZGVmaW5lZCA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICBjcmVhdGVkQXQ6IHNlY3JldC5DcmVhdGVkRGF0ZSxcbiAgICAgICAgICAgICAgICB1cGRhdGVkQXQ6IHNlY3JldC5MYXN0Q2hhbmdlZERhdGUsXG4gICAgICAgICAgICAgICAgZW5hYmxlZDogdHJ1ZSxcbiAgICAgICAgICAgICAgICB0YWdzOiBzZWNyZXQuVGFncz8ucmVkdWNlPFJlY29yZDxzdHJpbmcsIHN0cmluZz4+KFxuICAgICAgICAgICAgICAgICAgKFxuICAgICAgICAgICAgICAgICAgICBhY2M6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4sXG4gICAgICAgICAgICAgICAgICAgIHRhZzogeyBLZXk/OiBzdHJpbmc7IFZhbHVlPzogc3RyaW5nIH1cbiAgICAgICAgICAgICAgICAgICkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAodGFnLktleSAmJiB0YWcuVmFsdWUpIHtcbiAgICAgICAgICAgICAgICAgICAgICBhY2NbdGFnLktleV0gPSB0YWcuVmFsdWU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICB7fVxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgdGhyb3cgdGhpcy5wYXJzZUVycm9yKGVycm9yIGFzIEVycm9yKTtcbiAgICAgIH1cbiAgICB9IHdoaWxlIChuZXh0VG9rZW4pO1xuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIGFzeW5jIG1ldGFkYXRhKFxuICAgIG5hbWVPclJlZjogU2VjcmV0TmFtZSB8IFNlY3JldFJlZmVyZW5jZSxcbiAgICAuLi5hcmdzOiBNYXliZUNvbnRleHR1YWxBcmc8YW55PlxuICApOiBQcm9taXNlPFNlY3JldE1ldGFkYXRhIHwgdW5kZWZpbmVkPiB7XG4gICAgY29uc3QgeyBsb2cgfSA9IChhd2FpdCB0aGlzLmxvZ0N0eChhcmdzLCBcIm1ldGFkYXRhXCIsIHRydWUpKS5mb3IoXG4gICAgICB0aGlzLm1ldGFkYXRhXG4gICAgKTtcbiAgICBjb25zdCBuYW1lU3RyID0gdHlwZW9mIG5hbWVPclJlZiA9PT0gXCJzdHJpbmdcIiA/IG5hbWVPclJlZiA6IG5hbWVPclJlZi5uYW1lO1xuICAgIGxvZy52ZXJib3NlKGBHZXR0aW5nIG1ldGFkYXRhIGZvciBzZWNyZXQgJHtuYW1lU3RyfWApO1xuXG4gICAgbGV0IG5hbWU6IHN0cmluZztcblxuICAgIGlmICh0eXBlb2YgbmFtZU9yUmVmID09PSBcInN0cmluZ1wiKSB7XG4gICAgICBuYW1lID0gbmFtZU9yUmVmO1xuICAgIH0gZWxzZSB7XG4gICAgICBuYW1lID0gbmFtZU9yUmVmLm5hbWU7XG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgIHZhbGlkYXRlU2VjcmV0TmFtZShuYW1lKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdGhyb3cgdGhpcy5wYXJzZUVycm9yKGVycm9yIGFzIEVycm9yKTtcbiAgICB9XG5cbiAgICBjb25zdCBub3JtYWxpemVkTmFtZSA9IG5vcm1hbGl6ZVNlY3JldE5hbWUobmFtZSk7XG5cbiAgICBjb25zdCBpbnB1dDogRGVzY3JpYmVTZWNyZXRDb21tYW5kSW5wdXQgPSB7XG4gICAgICBTZWNyZXRJZDogbm9ybWFsaXplZE5hbWUsXG4gICAgfTtcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuY2xpZW50LnNlbmQobmV3IERlc2NyaWJlU2VjcmV0Q29tbWFuZChpbnB1dCkpO1xuXG4gICAgICBpZiAoIXJlc3BvbnNlLk5hbWUpIHtcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgIH1cblxuICAgICAgY29uc3QgbWV0YTogU2VjcmV0TWV0YWRhdGEgPSB7XG4gICAgICAgIHByb3ZpZGVyOiB0aGlzLnByb3ZpZGVyLFxuICAgICAgICBuYW1lOiByZXNwb25zZS5OYW1lLFxuICAgICAgICBjcmVhdGVkQXQ6IHJlc3BvbnNlLkNyZWF0ZWREYXRlLFxuICAgICAgICB1cGRhdGVkQXQ6IHJlc3BvbnNlLkxhc3RDaGFuZ2VkRGF0ZSxcbiAgICAgICAgZW5hYmxlZDogdHJ1ZSxcbiAgICAgICAgdGFnczogcmVzcG9uc2UuVGFncz8ucmVkdWNlPFJlY29yZDxzdHJpbmcsIHN0cmluZz4+KFxuICAgICAgICAgIChcbiAgICAgICAgICAgIGFjYzogUmVjb3JkPHN0cmluZywgc3RyaW5nPixcbiAgICAgICAgICAgIHRhZzogeyBLZXk/OiBzdHJpbmc7IFZhbHVlPzogc3RyaW5nIH1cbiAgICAgICAgICApID0+IHtcbiAgICAgICAgICAgIGlmICh0YWcuS2V5ICYmIHRhZy5WYWx1ZSkge1xuICAgICAgICAgICAgICBhY2NbdGFnLktleV0gPSB0YWcuVmFsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgICAgIH0sXG4gICAgICAgICAge31cbiAgICAgICAgKSxcbiAgICAgIH07XG5cbiAgICAgIHJldHVybiBtZXRhO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zdCBlcnIgPSBlcnJvciBhcyBFcnJvcjtcbiAgICAgIGlmIChcbiAgICAgICAgZXJyLm5hbWUgPT09IFwiUmVzb3VyY2VOb3RGb3VuZEV4Y2VwdGlvblwiIHx8XG4gICAgICAgIGVyci5tZXNzYWdlLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoXCJub3QgZm91bmRcIikgfHxcbiAgICAgICAgZXJyLm1lc3NhZ2UuaW5jbHVkZXMoXCI0MDRcIilcbiAgICAgICkge1xuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgfVxuICAgICAgdGhyb3cgdGhpcy5wYXJzZUVycm9yKGVycik7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIHBhcnNlRXJyb3IoZXJyb3I6IHVua25vd24pOiBFcnJvciB7XG4gICAgY29uc3QgZXJyID0gZXJyb3IgYXMgRXJyb3I7XG4gICAgaWYgKGVyciBpbnN0YW5jZW9mIEJhc2VFcnJvcikgcmV0dXJuIGVycjtcbiAgICBjb25zdCBtZXNzYWdlID0gZXJyLm1lc3NhZ2UgfHwgZXJyLm5hbWUgfHwgXCJVbmtub3duIGVycm9yXCI7XG4gICAgY29uc3QgbG93ZXJNZXNzYWdlID0gbWVzc2FnZS50b0xvd2VyQ2FzZSgpO1xuXG4gICAgaWYgKFxuICAgICAgZXJyLm5hbWUgPT09IFwiUmVzb3VyY2VOb3RGb3VuZEV4Y2VwdGlvblwiIHx8XG4gICAgICBsb3dlck1lc3NhZ2UuaW5jbHVkZXMoXCJub3QgZm91bmRcIikgfHxcbiAgICAgIGxvd2VyTWVzc2FnZS5pbmNsdWRlcyhcImNhbid0IGZpbmRcIikgfHxcbiAgICAgIGxvd2VyTWVzc2FnZS5pbmNsdWRlcyhcIjQwNFwiKVxuICAgICkge1xuICAgICAgcmV0dXJuIG5ldyBOb3RGb3VuZEVycm9yKGVycik7XG4gICAgfVxuXG4gICAgaWYgKFxuICAgICAgZXJyLm5hbWUgPT09IFwiUmVzb3VyY2VFeGlzdHNFeGNlcHRpb25cIiB8fFxuICAgICAgbG93ZXJNZXNzYWdlLmluY2x1ZGVzKFwiYWxyZWFkeSBleGlzdHNcIikgfHxcbiAgICAgIGxvd2VyTWVzc2FnZS5pbmNsdWRlcyhcImNvbmZsaWN0XCIpIHx8XG4gICAgICBsb3dlck1lc3NhZ2UuaW5jbHVkZXMoXCI0MDlcIilcbiAgICApIHtcbiAgICAgIHJldHVybiBuZXcgQ29uZmxpY3RFcnJvcihlcnIpO1xuICAgIH1cblxuICAgIGlmIChsb3dlck1lc3NhZ2UuaW5jbHVkZXMoXCJkaXNhYmxlZFwiKSB8fCBsb3dlck1lc3NhZ2UuaW5jbHVkZXMoXCI0MDNcIikpIHtcbiAgICAgIHJldHVybiBuZXcgTm90Rm91bmRFcnJvcihlcnIpO1xuICAgIH1cblxuICAgIGlmIChsb3dlck1lc3NhZ2UuaW5jbHVkZXMoXCJ1bmF1dGhvcml6ZWRcIikgfHwgbG93ZXJNZXNzYWdlLmluY2x1ZGVzKFwiNDAxXCIpKSB7XG4gICAgICByZXR1cm4gbmV3IE5vdEZvdW5kRXJyb3IoZXJyKTtcbiAgICB9XG5cbiAgICBpZiAobG93ZXJNZXNzYWdlLmluY2x1ZGVzKFwicGVybWlzc2lvblwiKSB8fCBsb3dlck1lc3NhZ2UuaW5jbHVkZXMoXCI0MDNcIikpIHtcbiAgICAgIHJldHVybiBuZXcgQXV0aG9yaXphdGlvbkVycm9yKGVycik7XG4gICAgfVxuXG4gICAgaWYgKGxvd2VyTWVzc2FnZS5pbmNsdWRlcyhcInJhdGUgbGltaXRcIikgfHwgbG93ZXJNZXNzYWdlLmluY2x1ZGVzKFwiNDI5XCIpKSB7XG4gICAgICByZXR1cm4gbmV3IEJhZFJlcXVlc3RFcnJvcihlcnIpO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgIGxvd2VyTWVzc2FnZS5pbmNsdWRlcyhcInByb3ZpZGVyXCIpIHx8XG4gICAgICBsb3dlck1lc3NhZ2UuaW5jbHVkZXMoXCJ1bmF2YWlsYWJsZVwiKSB8fFxuICAgICAgbG93ZXJNZXNzYWdlLmluY2x1ZGVzKFwiY29ubmVjdGlvblwiKSB8fFxuICAgICAgbG93ZXJNZXNzYWdlLmluY2x1ZGVzKFwidGltZW91dFwiKVxuICAgICkge1xuICAgICAgcmV0dXJuIG5ldyBJbnRlcm5hbEVycm9yKGVycik7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBJbnRlcm5hbEVycm9yKGVycik7XG4gIH1cbn1cbiJdfQ==