@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,958 @@
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
+ import { column, createdAt, manyToOne, oneToMany, pk, table, unique, updatedAt, } from "@decaf-ts/core";
11
+ import { Model, model, option, required, type as typeOf } from "@decaf-ts/decorator-validation";
12
+ import { IsolationTier, IsolationTierOptions, MembershipStatus, MembershipStatusOptions, PermissionCategory, PermissionCategoryOptions, PrincipalKind, PrincipalKindOptions, REL_CASCADE_DEPENDENT, REL_NULLIFY, REL_RESTRICT, ResourceVisibility, ResourceVisibilityOptions, ScopeKind, ScopeKindOptions, StorageBindingKind, StorageBindingKindOptions, StorageKind, StorageKindOptions, } from "./org-based-authorization-system.js";
13
+ export class AuthorizationModel extends Model {
14
+ constructor(data) {
15
+ super(data);
16
+ }
17
+ }
18
+ let Tenant = class Tenant extends AuthorizationModel {
19
+ };
20
+ __decorate([
21
+ pk({ type: String }),
22
+ __metadata("design:type", String)
23
+ ], Tenant.prototype, "id", void 0);
24
+ __decorate([
25
+ unique(),
26
+ required(),
27
+ typeOf(String),
28
+ column(),
29
+ __metadata("design:type", String)
30
+ ], Tenant.prototype, "slug", void 0);
31
+ __decorate([
32
+ required(),
33
+ typeOf(String),
34
+ column(),
35
+ __metadata("design:type", String)
36
+ ], Tenant.prototype, "name", void 0);
37
+ __decorate([
38
+ required(),
39
+ typeOf(String),
40
+ option(IsolationTierOptions),
41
+ column(),
42
+ __metadata("design:type", String)
43
+ ], Tenant.prototype, "isolationTier", void 0);
44
+ __decorate([
45
+ oneToMany(() => OrgUnit, REL_RESTRICT, false),
46
+ __metadata("design:type", Array)
47
+ ], Tenant.prototype, "orgUnits", void 0);
48
+ __decorate([
49
+ oneToMany(() => TenantMembership, REL_RESTRICT, false),
50
+ __metadata("design:type", Array)
51
+ ], Tenant.prototype, "memberships", void 0);
52
+ __decorate([
53
+ oneToMany(() => Principal, REL_RESTRICT, false),
54
+ __metadata("design:type", Array)
55
+ ], Tenant.prototype, "principals", void 0);
56
+ __decorate([
57
+ oneToMany(() => StorageBinding, REL_RESTRICT, false),
58
+ __metadata("design:type", Array)
59
+ ], Tenant.prototype, "storageBindings", void 0);
60
+ __decorate([
61
+ createdAt(),
62
+ __metadata("design:type", Date)
63
+ ], Tenant.prototype, "createdAt", void 0);
64
+ __decorate([
65
+ updatedAt(),
66
+ __metadata("design:type", Date)
67
+ ], Tenant.prototype, "updatedAt", void 0);
68
+ Tenant = __decorate([
69
+ table("tenants"),
70
+ model()
71
+ ], Tenant);
72
+ export { Tenant };
73
+ let TenantProfile = class TenantProfile extends AuthorizationModel {
74
+ };
75
+ __decorate([
76
+ pk({ type: String }),
77
+ __metadata("design:type", String)
78
+ ], TenantProfile.prototype, "id", void 0);
79
+ __decorate([
80
+ manyToOne(() => Tenant, REL_CASCADE_DEPENDENT, false, undefined, "fk_tenant_profiles_tenant"),
81
+ required(),
82
+ __metadata("design:type", Object)
83
+ ], TenantProfile.prototype, "tenant", void 0);
84
+ __decorate([
85
+ required(),
86
+ typeOf(String),
87
+ column(),
88
+ __metadata("design:type", String)
89
+ ], TenantProfile.prototype, "profileKey", void 0);
90
+ __decorate([
91
+ typeOf(Object),
92
+ column(),
93
+ __metadata("design:type", Object)
94
+ ], TenantProfile.prototype, "metadata", void 0);
95
+ __decorate([
96
+ createdAt(),
97
+ __metadata("design:type", Date)
98
+ ], TenantProfile.prototype, "createdAt", void 0);
99
+ __decorate([
100
+ updatedAt(),
101
+ __metadata("design:type", Date)
102
+ ], TenantProfile.prototype, "updatedAt", void 0);
103
+ TenantProfile = __decorate([
104
+ table("tenant_profiles"),
105
+ model()
106
+ ], TenantProfile);
107
+ export { TenantProfile };
108
+ let OrgUnit = class OrgUnit extends AuthorizationModel {
109
+ };
110
+ __decorate([
111
+ pk({ type: String }),
112
+ __metadata("design:type", String)
113
+ ], OrgUnit.prototype, "id", void 0);
114
+ __decorate([
115
+ manyToOne(() => Tenant, REL_RESTRICT, false, undefined, "fk_org_units_tenant"),
116
+ required(),
117
+ __metadata("design:type", Object)
118
+ ], OrgUnit.prototype, "tenant", void 0);
119
+ __decorate([
120
+ manyToOne(() => OrgUnit, REL_RESTRICT, false, undefined, "fk_org_units_parent"),
121
+ __metadata("design:type", Object)
122
+ ], OrgUnit.prototype, "parent", void 0);
123
+ __decorate([
124
+ oneToMany(() => OrgUnit, REL_RESTRICT, false),
125
+ __metadata("design:type", Array)
126
+ ], OrgUnit.prototype, "children", void 0);
127
+ __decorate([
128
+ required(),
129
+ typeOf(String),
130
+ column(),
131
+ __metadata("design:type", String)
132
+ ], OrgUnit.prototype, "name", void 0);
133
+ __decorate([
134
+ required(),
135
+ typeOf(String),
136
+ column(),
137
+ __metadata("design:type", String)
138
+ ], OrgUnit.prototype, "path", void 0);
139
+ __decorate([
140
+ typeOf(Object),
141
+ column(),
142
+ __metadata("design:type", Object)
143
+ ], OrgUnit.prototype, "metadata", void 0);
144
+ __decorate([
145
+ oneToMany(() => OrgUnitMembership, REL_RESTRICT, false),
146
+ __metadata("design:type", Array)
147
+ ], OrgUnit.prototype, "memberships", void 0);
148
+ __decorate([
149
+ oneToMany(() => ProtectedResource, REL_RESTRICT, false),
150
+ __metadata("design:type", Array)
151
+ ], OrgUnit.prototype, "resources", void 0);
152
+ __decorate([
153
+ oneToMany(() => InheritanceBlock, REL_RESTRICT, false),
154
+ __metadata("design:type", Array)
155
+ ], OrgUnit.prototype, "inheritanceBlocks", void 0);
156
+ __decorate([
157
+ oneToMany(() => OrgUnitClosure, REL_RESTRICT, false),
158
+ __metadata("design:type", Array)
159
+ ], OrgUnit.prototype, "ancestorLinks", void 0);
160
+ __decorate([
161
+ oneToMany(() => OrgUnitClosure, REL_RESTRICT, false),
162
+ __metadata("design:type", Array)
163
+ ], OrgUnit.prototype, "descendantLinks", void 0);
164
+ __decorate([
165
+ createdAt(),
166
+ __metadata("design:type", Date)
167
+ ], OrgUnit.prototype, "createdAt", void 0);
168
+ __decorate([
169
+ updatedAt(),
170
+ __metadata("design:type", Date)
171
+ ], OrgUnit.prototype, "updatedAt", void 0);
172
+ OrgUnit = __decorate([
173
+ table("org_units"),
174
+ model()
175
+ ], OrgUnit);
176
+ export { OrgUnit };
177
+ let OrgUnitProfile = class OrgUnitProfile extends AuthorizationModel {
178
+ };
179
+ __decorate([
180
+ pk({ type: String }),
181
+ __metadata("design:type", String)
182
+ ], OrgUnitProfile.prototype, "id", void 0);
183
+ __decorate([
184
+ manyToOne(() => OrgUnit, REL_CASCADE_DEPENDENT, false, undefined, "fk_org_unit_profiles_org_unit"),
185
+ required(),
186
+ __metadata("design:type", Object)
187
+ ], OrgUnitProfile.prototype, "orgUnit", void 0);
188
+ __decorate([
189
+ required(),
190
+ typeOf(String),
191
+ column(),
192
+ __metadata("design:type", String)
193
+ ], OrgUnitProfile.prototype, "profileKey", void 0);
194
+ __decorate([
195
+ typeOf(Object),
196
+ column(),
197
+ __metadata("design:type", Object)
198
+ ], OrgUnitProfile.prototype, "metadata", void 0);
199
+ __decorate([
200
+ createdAt(),
201
+ __metadata("design:type", Date)
202
+ ], OrgUnitProfile.prototype, "createdAt", void 0);
203
+ __decorate([
204
+ updatedAt(),
205
+ __metadata("design:type", Date)
206
+ ], OrgUnitProfile.prototype, "updatedAt", void 0);
207
+ OrgUnitProfile = __decorate([
208
+ table("org_unit_profiles"),
209
+ model()
210
+ ], OrgUnitProfile);
211
+ export { OrgUnitProfile };
212
+ let OrgUnitClosure = class OrgUnitClosure extends AuthorizationModel {
213
+ };
214
+ __decorate([
215
+ pk({ type: String }),
216
+ __metadata("design:type", String)
217
+ ], OrgUnitClosure.prototype, "id", void 0);
218
+ __decorate([
219
+ manyToOne(() => Tenant, REL_CASCADE_DEPENDENT, false, undefined, "fk_org_closure_tenant"),
220
+ required(),
221
+ __metadata("design:type", Object)
222
+ ], OrgUnitClosure.prototype, "tenant", void 0);
223
+ __decorate([
224
+ manyToOne(() => OrgUnit, REL_CASCADE_DEPENDENT, false, undefined, "fk_org_closure_ancestor"),
225
+ required(),
226
+ __metadata("design:type", Object)
227
+ ], OrgUnitClosure.prototype, "ancestor", void 0);
228
+ __decorate([
229
+ manyToOne(() => OrgUnit, REL_CASCADE_DEPENDENT, false, undefined, "fk_org_closure_descendant"),
230
+ required(),
231
+ __metadata("design:type", Object)
232
+ ], OrgUnitClosure.prototype, "descendant", void 0);
233
+ __decorate([
234
+ required(),
235
+ typeOf(Number),
236
+ column(),
237
+ __metadata("design:type", Number)
238
+ ], OrgUnitClosure.prototype, "depth", void 0);
239
+ __decorate([
240
+ createdAt(),
241
+ __metadata("design:type", Date)
242
+ ], OrgUnitClosure.prototype, "createdAt", void 0);
243
+ OrgUnitClosure = __decorate([
244
+ table("org_unit_closure"),
245
+ model()
246
+ ], OrgUnitClosure);
247
+ export { OrgUnitClosure };
248
+ let User = class User extends AuthorizationModel {
249
+ };
250
+ __decorate([
251
+ pk({ type: String }),
252
+ __metadata("design:type", String)
253
+ ], User.prototype, "id", void 0);
254
+ __decorate([
255
+ unique(),
256
+ typeOf(String),
257
+ column(),
258
+ __metadata("design:type", String)
259
+ ], User.prototype, "email", void 0);
260
+ __decorate([
261
+ unique(),
262
+ typeOf(String),
263
+ column(),
264
+ __metadata("design:type", String)
265
+ ], User.prototype, "phone", void 0);
266
+ __decorate([
267
+ required(),
268
+ typeOf(String),
269
+ column(),
270
+ __metadata("design:type", String)
271
+ ], User.prototype, "displayName", void 0);
272
+ __decorate([
273
+ oneToMany(() => TenantMembership, REL_RESTRICT, false),
274
+ __metadata("design:type", Array)
275
+ ], User.prototype, "tenantMemberships", void 0);
276
+ __decorate([
277
+ oneToMany(() => OrgUnitMembership, REL_RESTRICT, false),
278
+ __metadata("design:type", Array)
279
+ ], User.prototype, "orgUnitMemberships", void 0);
280
+ __decorate([
281
+ createdAt(),
282
+ __metadata("design:type", Date)
283
+ ], User.prototype, "createdAt", void 0);
284
+ __decorate([
285
+ updatedAt(),
286
+ __metadata("design:type", Date)
287
+ ], User.prototype, "updatedAt", void 0);
288
+ User = __decorate([
289
+ table("users"),
290
+ model()
291
+ ], User);
292
+ export { User };
293
+ let Group = class Group extends AuthorizationModel {
294
+ };
295
+ __decorate([
296
+ pk({ type: String }),
297
+ __metadata("design:type", String)
298
+ ], Group.prototype, "id", void 0);
299
+ __decorate([
300
+ manyToOne(() => Tenant, REL_RESTRICT, false, undefined, "fk_groups_tenant"),
301
+ required(),
302
+ __metadata("design:type", Object)
303
+ ], Group.prototype, "tenant", void 0);
304
+ __decorate([
305
+ manyToOne(() => OrgUnit, REL_NULLIFY, false, undefined, "fk_groups_org_unit"),
306
+ __metadata("design:type", Object)
307
+ ], Group.prototype, "orgUnit", void 0);
308
+ __decorate([
309
+ required(),
310
+ typeOf(String),
311
+ column(),
312
+ __metadata("design:type", String)
313
+ ], Group.prototype, "name", void 0);
314
+ __decorate([
315
+ typeOf(Object),
316
+ column(),
317
+ __metadata("design:type", Object)
318
+ ], Group.prototype, "metadata", void 0);
319
+ __decorate([
320
+ oneToMany(() => GroupMembership, REL_RESTRICT, false),
321
+ __metadata("design:type", Array)
322
+ ], Group.prototype, "members", void 0);
323
+ __decorate([
324
+ createdAt(),
325
+ __metadata("design:type", Date)
326
+ ], Group.prototype, "createdAt", void 0);
327
+ __decorate([
328
+ updatedAt(),
329
+ __metadata("design:type", Date)
330
+ ], Group.prototype, "updatedAt", void 0);
331
+ Group = __decorate([
332
+ table("groups"),
333
+ model()
334
+ ], Group);
335
+ export { Group };
336
+ let Principal = class Principal extends AuthorizationModel {
337
+ };
338
+ __decorate([
339
+ pk({ type: String }),
340
+ __metadata("design:type", String)
341
+ ], Principal.prototype, "id", void 0);
342
+ __decorate([
343
+ manyToOne(() => Tenant, REL_RESTRICT, false, undefined, "fk_principals_tenant"),
344
+ required(),
345
+ __metadata("design:type", Object)
346
+ ], Principal.prototype, "tenant", void 0);
347
+ __decorate([
348
+ required(),
349
+ typeOf(String),
350
+ option(PrincipalKindOptions),
351
+ column(),
352
+ __metadata("design:type", String)
353
+ ], Principal.prototype, "kind", void 0);
354
+ __decorate([
355
+ required(),
356
+ typeOf(String),
357
+ column(),
358
+ __metadata("design:type", String)
359
+ ], Principal.prototype, "subjectId", void 0);
360
+ __decorate([
361
+ oneToMany(() => RoleAssignment, REL_RESTRICT, false),
362
+ __metadata("design:type", Array)
363
+ ], Principal.prototype, "roleAssignments", void 0);
364
+ __decorate([
365
+ oneToMany(() => ResourceGrant, REL_RESTRICT, false),
366
+ __metadata("design:type", Array)
367
+ ], Principal.prototype, "resourceGrants", void 0);
368
+ __decorate([
369
+ createdAt(),
370
+ __metadata("design:type", Date)
371
+ ], Principal.prototype, "createdAt", void 0);
372
+ __decorate([
373
+ updatedAt(),
374
+ __metadata("design:type", Date)
375
+ ], Principal.prototype, "updatedAt", void 0);
376
+ Principal = __decorate([
377
+ table("principals"),
378
+ model()
379
+ ], Principal);
380
+ export { Principal };
381
+ let TenantMembership = class TenantMembership extends AuthorizationModel {
382
+ };
383
+ __decorate([
384
+ pk({ type: String }),
385
+ __metadata("design:type", String)
386
+ ], TenantMembership.prototype, "id", void 0);
387
+ __decorate([
388
+ manyToOne(() => Tenant, REL_CASCADE_DEPENDENT, false, undefined, "fk_tenant_memberships_tenant"),
389
+ required(),
390
+ __metadata("design:type", Object)
391
+ ], TenantMembership.prototype, "tenant", void 0);
392
+ __decorate([
393
+ manyToOne(() => User, REL_CASCADE_DEPENDENT, false, undefined, "fk_tenant_memberships_user"),
394
+ required(),
395
+ __metadata("design:type", Object)
396
+ ], TenantMembership.prototype, "user", void 0);
397
+ __decorate([
398
+ required(),
399
+ typeOf(String),
400
+ option(MembershipStatusOptions),
401
+ column(),
402
+ __metadata("design:type", String)
403
+ ], TenantMembership.prototype, "status", void 0);
404
+ __decorate([
405
+ createdAt(),
406
+ __metadata("design:type", Date)
407
+ ], TenantMembership.prototype, "createdAt", void 0);
408
+ __decorate([
409
+ updatedAt(),
410
+ __metadata("design:type", Date)
411
+ ], TenantMembership.prototype, "updatedAt", void 0);
412
+ TenantMembership = __decorate([
413
+ table("tenant_memberships"),
414
+ model()
415
+ ], TenantMembership);
416
+ export { TenantMembership };
417
+ let OrgUnitMembership = class OrgUnitMembership extends AuthorizationModel {
418
+ };
419
+ __decorate([
420
+ pk({ type: String }),
421
+ __metadata("design:type", String)
422
+ ], OrgUnitMembership.prototype, "id", void 0);
423
+ __decorate([
424
+ manyToOne(() => Tenant, REL_CASCADE_DEPENDENT, false, undefined, "fk_org_memberships_tenant"),
425
+ required(),
426
+ __metadata("design:type", Object)
427
+ ], OrgUnitMembership.prototype, "tenant", void 0);
428
+ __decorate([
429
+ manyToOne(() => OrgUnit, REL_CASCADE_DEPENDENT, false, undefined, "fk_org_memberships_org_unit"),
430
+ required(),
431
+ __metadata("design:type", Object)
432
+ ], OrgUnitMembership.prototype, "orgUnit", void 0);
433
+ __decorate([
434
+ manyToOne(() => User, REL_RESTRICT, false, undefined, "fk_org_memberships_user"),
435
+ required(),
436
+ __metadata("design:type", Object)
437
+ ], OrgUnitMembership.prototype, "user", void 0);
438
+ __decorate([
439
+ required(),
440
+ typeOf(String),
441
+ option(MembershipStatusOptions),
442
+ column(),
443
+ __metadata("design:type", String)
444
+ ], OrgUnitMembership.prototype, "status", void 0);
445
+ __decorate([
446
+ createdAt(),
447
+ __metadata("design:type", Date)
448
+ ], OrgUnitMembership.prototype, "createdAt", void 0);
449
+ __decorate([
450
+ updatedAt(),
451
+ __metadata("design:type", Date)
452
+ ], OrgUnitMembership.prototype, "updatedAt", void 0);
453
+ OrgUnitMembership = __decorate([
454
+ table("org_unit_memberships"),
455
+ model()
456
+ ], OrgUnitMembership);
457
+ export { OrgUnitMembership };
458
+ let GroupMembership = class GroupMembership extends AuthorizationModel {
459
+ };
460
+ __decorate([
461
+ pk({ type: String }),
462
+ __metadata("design:type", String)
463
+ ], GroupMembership.prototype, "id", void 0);
464
+ __decorate([
465
+ manyToOne(() => Tenant, REL_CASCADE_DEPENDENT, false, undefined, "fk_group_memberships_tenant"),
466
+ required(),
467
+ __metadata("design:type", Object)
468
+ ], GroupMembership.prototype, "tenant", void 0);
469
+ __decorate([
470
+ manyToOne(() => Group, REL_CASCADE_DEPENDENT, false, undefined, "fk_group_memberships_group"),
471
+ required(),
472
+ __metadata("design:type", Object)
473
+ ], GroupMembership.prototype, "group", void 0);
474
+ __decorate([
475
+ manyToOne(() => Principal, REL_CASCADE_DEPENDENT, false, undefined, "fk_group_memberships_principal"),
476
+ required(),
477
+ __metadata("design:type", Object)
478
+ ], GroupMembership.prototype, "principal", void 0);
479
+ __decorate([
480
+ typeOf(Object),
481
+ column(),
482
+ __metadata("design:type", Object)
483
+ ], GroupMembership.prototype, "metadata", void 0);
484
+ __decorate([
485
+ createdAt(),
486
+ __metadata("design:type", Date)
487
+ ], GroupMembership.prototype, "createdAt", void 0);
488
+ GroupMembership = __decorate([
489
+ table("group_memberships"),
490
+ model()
491
+ ], GroupMembership);
492
+ export { GroupMembership };
493
+ let Permission = class Permission extends AuthorizationModel {
494
+ };
495
+ __decorate([
496
+ pk({ type: String }),
497
+ __metadata("design:type", String)
498
+ ], Permission.prototype, "id", void 0);
499
+ __decorate([
500
+ unique(),
501
+ required(),
502
+ typeOf(String),
503
+ column(),
504
+ __metadata("design:type", String)
505
+ ], Permission.prototype, "key", void 0);
506
+ __decorate([
507
+ required(),
508
+ typeOf(String),
509
+ option(PermissionCategoryOptions),
510
+ column(),
511
+ __metadata("design:type", String)
512
+ ], Permission.prototype, "category", void 0);
513
+ __decorate([
514
+ typeOf(String),
515
+ column(),
516
+ __metadata("design:type", String)
517
+ ], Permission.prototype, "description", void 0);
518
+ __decorate([
519
+ oneToMany(() => RolePermission, REL_RESTRICT, false),
520
+ __metadata("design:type", Array)
521
+ ], Permission.prototype, "rolePermissions", void 0);
522
+ Permission = __decorate([
523
+ table("permissions"),
524
+ model()
525
+ ], Permission);
526
+ export { Permission };
527
+ let Role = class Role extends AuthorizationModel {
528
+ };
529
+ __decorate([
530
+ pk({ type: String }),
531
+ __metadata("design:type", String)
532
+ ], Role.prototype, "id", void 0);
533
+ __decorate([
534
+ manyToOne(() => Tenant, REL_NULLIFY, false, undefined, "fk_roles_tenant"),
535
+ __metadata("design:type", Object)
536
+ ], Role.prototype, "tenant", void 0);
537
+ __decorate([
538
+ required(),
539
+ typeOf(String),
540
+ column(),
541
+ __metadata("design:type", String)
542
+ ], Role.prototype, "key", void 0);
543
+ __decorate([
544
+ required(),
545
+ typeOf(String),
546
+ column(),
547
+ __metadata("design:type", String)
548
+ ], Role.prototype, "name", void 0);
549
+ __decorate([
550
+ typeOf(String),
551
+ column(),
552
+ __metadata("design:type", String)
553
+ ], Role.prototype, "description", void 0);
554
+ __decorate([
555
+ typeOf(Object),
556
+ column(),
557
+ __metadata("design:type", Object)
558
+ ], Role.prototype, "metadata", void 0);
559
+ __decorate([
560
+ oneToMany(() => RolePermission, REL_RESTRICT, false),
561
+ __metadata("design:type", Array)
562
+ ], Role.prototype, "rolePermissions", void 0);
563
+ __decorate([
564
+ oneToMany(() => RoleAssignment, REL_RESTRICT, false),
565
+ __metadata("design:type", Array)
566
+ ], Role.prototype, "assignments", void 0);
567
+ __decorate([
568
+ createdAt(),
569
+ __metadata("design:type", Date)
570
+ ], Role.prototype, "createdAt", void 0);
571
+ __decorate([
572
+ updatedAt(),
573
+ __metadata("design:type", Date)
574
+ ], Role.prototype, "updatedAt", void 0);
575
+ Role = __decorate([
576
+ table("roles"),
577
+ model()
578
+ ], Role);
579
+ export { Role };
580
+ let RolePermission = class RolePermission extends AuthorizationModel {
581
+ };
582
+ __decorate([
583
+ pk({ type: String }),
584
+ __metadata("design:type", String)
585
+ ], RolePermission.prototype, "id", void 0);
586
+ __decorate([
587
+ manyToOne(() => Role, REL_CASCADE_DEPENDENT, false, undefined, "fk_role_permissions_role"),
588
+ required(),
589
+ __metadata("design:type", Object)
590
+ ], RolePermission.prototype, "role", void 0);
591
+ __decorate([
592
+ manyToOne(() => Permission, REL_CASCADE_DEPENDENT, false, undefined, "fk_role_permissions_permission"),
593
+ required(),
594
+ __metadata("design:type", Object)
595
+ ], RolePermission.prototype, "permission", void 0);
596
+ __decorate([
597
+ createdAt(),
598
+ __metadata("design:type", Date)
599
+ ], RolePermission.prototype, "createdAt", void 0);
600
+ RolePermission = __decorate([
601
+ table("role_permissions"),
602
+ model()
603
+ ], RolePermission);
604
+ export { RolePermission };
605
+ let RoleAssignment = class RoleAssignment extends AuthorizationModel {
606
+ };
607
+ __decorate([
608
+ pk({ type: String }),
609
+ __metadata("design:type", String)
610
+ ], RoleAssignment.prototype, "id", void 0);
611
+ __decorate([
612
+ manyToOne(() => Tenant, REL_CASCADE_DEPENDENT, false, undefined, "fk_role_assignments_tenant"),
613
+ required(),
614
+ __metadata("design:type", Object)
615
+ ], RoleAssignment.prototype, "tenant", void 0);
616
+ __decorate([
617
+ manyToOne(() => Principal, REL_CASCADE_DEPENDENT, false, undefined, "fk_role_assignments_principal"),
618
+ required(),
619
+ __metadata("design:type", Object)
620
+ ], RoleAssignment.prototype, "principal", void 0);
621
+ __decorate([
622
+ manyToOne(() => Role, REL_RESTRICT, false, undefined, "fk_role_assignments_role"),
623
+ required(),
624
+ __metadata("design:type", Object)
625
+ ], RoleAssignment.prototype, "role", void 0);
626
+ __decorate([
627
+ required(),
628
+ typeOf(String),
629
+ option(ScopeKindOptions),
630
+ column(),
631
+ __metadata("design:type", String)
632
+ ], RoleAssignment.prototype, "scopeKind", void 0);
633
+ __decorate([
634
+ required(),
635
+ typeOf(String),
636
+ column(),
637
+ __metadata("design:type", String)
638
+ ], RoleAssignment.prototype, "scopeId", void 0);
639
+ __decorate([
640
+ required(),
641
+ typeOf(Boolean),
642
+ column(),
643
+ __metadata("design:type", Boolean)
644
+ ], RoleAssignment.prototype, "inheritDown", void 0);
645
+ __decorate([
646
+ column(),
647
+ __metadata("design:type", Date)
648
+ ], RoleAssignment.prototype, "startsAt", void 0);
649
+ __decorate([
650
+ column(),
651
+ __metadata("design:type", Date)
652
+ ], RoleAssignment.prototype, "expiresAt", void 0);
653
+ __decorate([
654
+ typeOf(Object),
655
+ column(),
656
+ __metadata("design:type", Object)
657
+ ], RoleAssignment.prototype, "conditions", void 0);
658
+ __decorate([
659
+ createdAt(),
660
+ __metadata("design:type", Date)
661
+ ], RoleAssignment.prototype, "createdAt", void 0);
662
+ __decorate([
663
+ updatedAt(),
664
+ __metadata("design:type", Date)
665
+ ], RoleAssignment.prototype, "updatedAt", void 0);
666
+ RoleAssignment = __decorate([
667
+ table("role_assignments"),
668
+ model()
669
+ ], RoleAssignment);
670
+ export { RoleAssignment };
671
+ let InheritanceBlock = class InheritanceBlock extends AuthorizationModel {
672
+ };
673
+ __decorate([
674
+ pk({ type: String }),
675
+ __metadata("design:type", String)
676
+ ], InheritanceBlock.prototype, "id", void 0);
677
+ __decorate([
678
+ manyToOne(() => Tenant, REL_CASCADE_DEPENDENT, false, undefined, "fk_inheritance_blocks_tenant"),
679
+ required(),
680
+ __metadata("design:type", Object)
681
+ ], InheritanceBlock.prototype, "tenant", void 0);
682
+ __decorate([
683
+ manyToOne(() => OrgUnit, REL_CASCADE_DEPENDENT, false, undefined, "fk_inheritance_blocks_org_unit"),
684
+ required(),
685
+ __metadata("design:type", Object)
686
+ ], InheritanceBlock.prototype, "orgUnit", void 0);
687
+ __decorate([
688
+ manyToOne(() => OrgUnit, REL_NULLIFY, false, undefined, "fk_inheritance_blocks_blocked_ancestor"),
689
+ __metadata("design:type", Object)
690
+ ], InheritanceBlock.prototype, "blockedFromAncestor", void 0);
691
+ __decorate([
692
+ required(),
693
+ typeOf(String),
694
+ option(PermissionCategoryOptions),
695
+ column(),
696
+ __metadata("design:type", String)
697
+ ], InheritanceBlock.prototype, "permissionCategory", void 0);
698
+ __decorate([
699
+ typeOf(String),
700
+ column(),
701
+ __metadata("design:type", String)
702
+ ], InheritanceBlock.prototype, "reason", void 0);
703
+ __decorate([
704
+ createdAt(),
705
+ __metadata("design:type", Date)
706
+ ], InheritanceBlock.prototype, "createdAt", void 0);
707
+ __decorate([
708
+ updatedAt(),
709
+ __metadata("design:type", Date)
710
+ ], InheritanceBlock.prototype, "updatedAt", void 0);
711
+ InheritanceBlock = __decorate([
712
+ table("inheritance_blocks"),
713
+ model()
714
+ ], InheritanceBlock);
715
+ export { InheritanceBlock };
716
+ let ProtectedResource = class ProtectedResource extends AuthorizationModel {
717
+ };
718
+ __decorate([
719
+ pk({ type: String }),
720
+ __metadata("design:type", String)
721
+ ], ProtectedResource.prototype, "id", void 0);
722
+ __decorate([
723
+ manyToOne(() => Tenant, REL_RESTRICT, false, undefined, "fk_protected_resources_tenant"),
724
+ required(),
725
+ __metadata("design:type", Object)
726
+ ], ProtectedResource.prototype, "tenant", void 0);
727
+ __decorate([
728
+ manyToOne(() => OrgUnit, REL_RESTRICT, false, undefined, "fk_protected_resources_org_unit"),
729
+ required(),
730
+ __metadata("design:type", Object)
731
+ ], ProtectedResource.prototype, "orgUnit", void 0);
732
+ __decorate([
733
+ required(),
734
+ typeOf(String),
735
+ column(),
736
+ __metadata("design:type", String)
737
+ ], ProtectedResource.prototype, "resourceType", void 0);
738
+ __decorate([
739
+ required(),
740
+ typeOf(String),
741
+ column(),
742
+ __metadata("design:type", String)
743
+ ], ProtectedResource.prototype, "resourceId", void 0);
744
+ __decorate([
745
+ required(),
746
+ typeOf(String),
747
+ option(ResourceVisibilityOptions),
748
+ column(),
749
+ __metadata("design:type", String)
750
+ ], ProtectedResource.prototype, "visibility", void 0);
751
+ __decorate([
752
+ manyToOne(() => Principal, REL_NULLIFY, false, undefined, "fk_protected_resources_owner"),
753
+ __metadata("design:type", Object)
754
+ ], ProtectedResource.prototype, "owner", void 0);
755
+ __decorate([
756
+ typeOf(String),
757
+ column(),
758
+ __metadata("design:type", String)
759
+ ], ProtectedResource.prototype, "sensitivity", void 0);
760
+ __decorate([
761
+ typeOf(Object),
762
+ column(),
763
+ __metadata("design:type", Object)
764
+ ], ProtectedResource.prototype, "metadata", void 0);
765
+ __decorate([
766
+ oneToMany(() => ResourceGrant, REL_RESTRICT, false),
767
+ __metadata("design:type", Array)
768
+ ], ProtectedResource.prototype, "grants", void 0);
769
+ __decorate([
770
+ createdAt(),
771
+ __metadata("design:type", Date)
772
+ ], ProtectedResource.prototype, "createdAt", void 0);
773
+ __decorate([
774
+ updatedAt(),
775
+ __metadata("design:type", Date)
776
+ ], ProtectedResource.prototype, "updatedAt", void 0);
777
+ ProtectedResource = __decorate([
778
+ table("protected_resources"),
779
+ model()
780
+ ], ProtectedResource);
781
+ export { ProtectedResource };
782
+ let ResourceGrant = class ResourceGrant extends AuthorizationModel {
783
+ };
784
+ __decorate([
785
+ pk({ type: String }),
786
+ __metadata("design:type", String)
787
+ ], ResourceGrant.prototype, "id", void 0);
788
+ __decorate([
789
+ manyToOne(() => Tenant, REL_CASCADE_DEPENDENT, false, undefined, "fk_resource_grants_tenant"),
790
+ required(),
791
+ __metadata("design:type", Object)
792
+ ], ResourceGrant.prototype, "tenant", void 0);
793
+ __decorate([
794
+ manyToOne(() => ProtectedResource, REL_CASCADE_DEPENDENT, false, undefined, "fk_resource_grants_resource"),
795
+ required(),
796
+ __metadata("design:type", Object)
797
+ ], ResourceGrant.prototype, "resource", void 0);
798
+ __decorate([
799
+ manyToOne(() => Principal, REL_CASCADE_DEPENDENT, false, undefined, "fk_resource_grants_principal"),
800
+ required(),
801
+ __metadata("design:type", Object)
802
+ ], ResourceGrant.prototype, "principal", void 0);
803
+ __decorate([
804
+ required(),
805
+ typeOf(String),
806
+ column(),
807
+ __metadata("design:type", String)
808
+ ], ResourceGrant.prototype, "permissionKey", void 0);
809
+ __decorate([
810
+ column(),
811
+ __metadata("design:type", Date)
812
+ ], ResourceGrant.prototype, "startsAt", void 0);
813
+ __decorate([
814
+ column(),
815
+ __metadata("design:type", Date)
816
+ ], ResourceGrant.prototype, "expiresAt", void 0);
817
+ __decorate([
818
+ typeOf(Object),
819
+ column(),
820
+ __metadata("design:type", Object)
821
+ ], ResourceGrant.prototype, "conditions", void 0);
822
+ __decorate([
823
+ manyToOne(() => Principal, REL_RESTRICT, false, undefined, "fk_resource_grants_created_by"),
824
+ __metadata("design:type", Object)
825
+ ], ResourceGrant.prototype, "createdBy", void 0);
826
+ __decorate([
827
+ createdAt(),
828
+ __metadata("design:type", Date)
829
+ ], ResourceGrant.prototype, "createdAt", void 0);
830
+ __decorate([
831
+ updatedAt(),
832
+ __metadata("design:type", Date)
833
+ ], ResourceGrant.prototype, "updatedAt", void 0);
834
+ ResourceGrant = __decorate([
835
+ table("resource_grants"),
836
+ model()
837
+ ], ResourceGrant);
838
+ export { ResourceGrant };
839
+ let EffectivePermission = class EffectivePermission extends AuthorizationModel {
840
+ };
841
+ __decorate([
842
+ pk({ type: String }),
843
+ __metadata("design:type", String)
844
+ ], EffectivePermission.prototype, "id", void 0);
845
+ __decorate([
846
+ manyToOne(() => Tenant, REL_CASCADE_DEPENDENT, false, undefined, "fk_effective_permissions_tenant"),
847
+ required(),
848
+ __metadata("design:type", Object)
849
+ ], EffectivePermission.prototype, "tenant", void 0);
850
+ __decorate([
851
+ manyToOne(() => Principal, REL_CASCADE_DEPENDENT, false, undefined, "fk_effective_permissions_principal"),
852
+ required(),
853
+ __metadata("design:type", Object)
854
+ ], EffectivePermission.prototype, "principal", void 0);
855
+ __decorate([
856
+ required(),
857
+ typeOf(String),
858
+ column(),
859
+ __metadata("design:type", String)
860
+ ], EffectivePermission.prototype, "permissionKey", void 0);
861
+ __decorate([
862
+ required(),
863
+ typeOf(String),
864
+ option(ScopeKindOptions),
865
+ column(),
866
+ __metadata("design:type", String)
867
+ ], EffectivePermission.prototype, "scopeKind", void 0);
868
+ __decorate([
869
+ required(),
870
+ typeOf(String),
871
+ column(),
872
+ __metadata("design:type", String)
873
+ ], EffectivePermission.prototype, "scopeId", void 0);
874
+ __decorate([
875
+ required(),
876
+ typeOf(String),
877
+ column(),
878
+ __metadata("design:type", String)
879
+ ], EffectivePermission.prototype, "sourceKind", void 0);
880
+ __decorate([
881
+ required(),
882
+ typeOf(String),
883
+ column(),
884
+ __metadata("design:type", String)
885
+ ], EffectivePermission.prototype, "sourceId", void 0);
886
+ __decorate([
887
+ column(),
888
+ __metadata("design:type", Date)
889
+ ], EffectivePermission.prototype, "startsAt", void 0);
890
+ __decorate([
891
+ column(),
892
+ __metadata("design:type", Date)
893
+ ], EffectivePermission.prototype, "expiresAt", void 0);
894
+ __decorate([
895
+ createdAt(),
896
+ __metadata("design:type", Date)
897
+ ], EffectivePermission.prototype, "createdAt", void 0);
898
+ EffectivePermission = __decorate([
899
+ table("effective_permissions"),
900
+ model()
901
+ ], EffectivePermission);
902
+ export { EffectivePermission };
903
+ let StorageBinding = class StorageBinding extends AuthorizationModel {
904
+ };
905
+ __decorate([
906
+ pk({ type: String }),
907
+ __metadata("design:type", String)
908
+ ], StorageBinding.prototype, "id", void 0);
909
+ __decorate([
910
+ manyToOne(() => Tenant, REL_CASCADE_DEPENDENT, false, undefined, "fk_storage_bindings_tenant"),
911
+ required(),
912
+ __metadata("design:type", Object)
913
+ ], StorageBinding.prototype, "tenant", void 0);
914
+ __decorate([
915
+ required(),
916
+ typeOf(String),
917
+ option(StorageKindOptions),
918
+ column(),
919
+ __metadata("design:type", String)
920
+ ], StorageBinding.prototype, "storageKind", void 0);
921
+ __decorate([
922
+ required(),
923
+ typeOf(String),
924
+ option(StorageBindingKindOptions),
925
+ column(),
926
+ __metadata("design:type", String)
927
+ ], StorageBinding.prototype, "bindingKind", void 0);
928
+ __decorate([
929
+ required(),
930
+ typeOf(String),
931
+ column(),
932
+ __metadata("design:type", String)
933
+ ], StorageBinding.prototype, "bindingKey", void 0);
934
+ __decorate([
935
+ required(),
936
+ typeOf(String),
937
+ column(),
938
+ __metadata("design:type", String)
939
+ ], StorageBinding.prototype, "region", void 0);
940
+ __decorate([
941
+ typeOf(Object),
942
+ column(),
943
+ __metadata("design:type", Object)
944
+ ], StorageBinding.prototype, "config", void 0);
945
+ __decorate([
946
+ createdAt(),
947
+ __metadata("design:type", Date)
948
+ ], StorageBinding.prototype, "createdAt", void 0);
949
+ __decorate([
950
+ updatedAt(),
951
+ __metadata("design:type", Date)
952
+ ], StorageBinding.prototype, "updatedAt", void 0);
953
+ StorageBinding = __decorate([
954
+ table("storage_bindings"),
955
+ model()
956
+ ], StorageBinding);
957
+ export { StorageBinding };
958
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JnLWJhc2VkLWF1dGhvcml6YXRpb24tc3lzdGVtLm1vZGVscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9uYW1lc3BhY2VzL29yZy1iYXNlZC1hdXRob3JpemF0aW9uLXN5c3RlbS5tb2RlbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBQ1QsU0FBUyxFQUNULFNBQVMsRUFDVCxFQUFFLEVBQ0YsS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEdBQ1YsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLElBQUksSUFBSSxNQUFNLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNoRyxPQUFPLEVBQ0wsYUFBYSxFQUNiLG9CQUFvQixFQUNwQixnQkFBZ0IsRUFDaEIsdUJBQXVCLEVBQ3ZCLGtCQUFrQixFQUNsQix5QkFBeUIsRUFDekIsYUFBYSxFQUNiLG9CQUFvQixFQUNwQixxQkFBcUIsRUFDckIsV0FBVyxFQUNYLFlBQVksRUFDWixrQkFBa0IsRUFDbEIseUJBQXlCLEVBQ3pCLFNBQVMsRUFDVCxnQkFBZ0IsRUFDaEIsa0JBQWtCLEVBQ2xCLHlCQUF5QixFQUN6QixXQUFXLEVBQ1gsa0JBQWtCLEdBQ25CLDRDQUF5QztBQUUxQyxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsS0FBSztJQUMzQyxZQUFZLElBQWM7UUFDeEIsS0FBSyxDQUFDLElBQWEsQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7Q0FDRjtBQUlNLElBQU0sTUFBTSxHQUFaLE1BQU0sTUFBTyxTQUFRLGtCQUFrQjtDQVc3QyxDQUFBO0FBVnVCO0lBQXJCLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQzs7a0NBQWE7QUFDYztJQUEvQyxNQUFNLEVBQUU7SUFBRSxRQUFRLEVBQUU7SUFBRSxNQUFN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O0FBSU0sSUFBTSxjQUFjLEdBQXBCLE1BQU0sY0FBZSxTQUFRLGtCQUFrQjtDQVlyRCxDQUFBO0FBWHVCO0lBQXJCLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQzs7MENBQWE7QUFHbEM7SUFGQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxFQUFFLHFCQUFxQixFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsNEJBQTRCLENBQUM7SUFDOUYsUUFBUSxFQUFFOzs4Q0FDYztBQUN5QztJQUFqRSxRQUFRLEVBQUU7SUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQUUsTUFBTSxDQUFDLGtCQUFrQixDQUFDO0lBQUUsTUFBTSxFQUFFOzttREFBMkI7QUFDbkI7SUFBeEUsUUFBUSxFQUFFO0lBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQztJQUFFLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQztJQUFFLE1BQU0sRUFBRTs7bURBQWtDO0FBQ3BFO0lBQXJDLFFBQVEsRUFBRTtJQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUM7SUFBRSxNQUFNLEVBQUU7O2tEQUFxQjtBQUNwQjtJQUFyQyxRQUFRLEVBQUU7SUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQUUsTUFBTSxFQUFFOzs4Q0FBaUI7QUFDNUI7SUFBekIsTUFBTSxDQUFDLE1BQU0sQ0FBQztJQUFFLE1BQU0sRUFBRTs7OENBQWtDO0FBQzlDO0lBQVosU0FBUyxFQUFFOzhCQUFhLElBQUk7aURBQUM7QUFDakI7SUFBWixTQUFTLEVBQUU7OEJBQWEsSUFBSTtpREFBQztBQVhuQixjQUFjO0lBRjFCLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQztJQUN6QixLQUFLLEVBQUU7R0FDSyxjQUFjLENBWTFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgY29sdW1uLFxuICBjcmVhdGVkQXQsXG4gIG1hbnlUb09uZSxcbiAgb25lVG9NYW55LFxuICBwayxcbiAgdGFibGUsXG4gIHVuaXF1ZSxcbiAgdXBkYXRlZEF0LFxufSBmcm9tIFwiQGRlY2FmLXRzL2NvcmVcIjtcbmltcG9ydCB7IE1vZGVsLCBtb2RlbCwgb3B0aW9uLCByZXF1aXJlZCwgdHlwZSBhcyB0eXBlT2YgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uXCI7XG5pbXBvcnQge1xuICBJc29sYXRpb25UaWVyLFxuICBJc29sYXRpb25UaWVyT3B0aW9ucyxcbiAgTWVtYmVyc2hpcFN0YXR1cyxcbiAgTWVtYmVyc2hpcFN0YXR1c09wdGlvbnMsXG4gIFBlcm1pc3Npb25DYXRlZ29yeSxcbiAgUGVybWlzc2lvbkNhdGVnb3J5T3B0aW9ucyxcbiAgUHJpbmNpcGFsS2luZCxcbiAgUHJpbmNpcGFsS2luZE9wdGlvbnMsXG4gIFJFTF9DQVNDQURFX0RFUEVOREVOVCxcbiAgUkVMX05VTExJRlksXG4gIFJFTF9SRVNUUklDVCxcbiAgUmVzb3VyY2VWaXNpYmlsaXR5LFxuICBSZXNvdXJjZVZpc2liaWxpdHlPcHRpb25zLFxuICBTY29wZUtpbmQsXG4gIFNjb3BlS2luZE9wdGlvbnMsXG4gIFN0b3JhZ2VCaW5kaW5nS2luZCxcbiAgU3RvcmFnZUJpbmRpbmdLaW5kT3B0aW9ucyxcbiAgU3RvcmFnZUtpbmQsXG4gIFN0b3JhZ2VLaW5kT3B0aW9ucyxcbn0gZnJvbSBcIi4vb3JnLWJhc2VkLWF1dGhvcml6YXRpb24tc3lzdGVtXCI7XG5cbmV4cG9ydCBjbGFzcyBBdXRob3JpemF0aW9uTW9kZWwgZXh0ZW5kcyBNb2RlbCB7XG4gIGNvbnN0cnVjdG9yKGRhdGE/OiB1bmtub3duKSB7XG4gICAgc3VwZXIoZGF0YSBhcyBuZXZlcik7XG4gIH1cbn1cblxuQHRhYmxlKFwidGVuYW50c1wiKVxuQG1vZGVsKClcbmV4cG9ydCBjbGFzcyBUZW5hbnQgZXh0ZW5kcyBBdXRob3JpemF0aW9uTW9kZWwge1xuICBAcGsoeyB0eXBlOiBTdHJpbmcgfSkgaWQhOiBzdHJpbmc7XG4gIEB1bmlxdWUoKSBAcmVxdWlyZWQoKSBAdHlwZU9mKFN0cmluZykgQGNvbHVtbigpIHNsdWchOiBzdHJpbmc7XG4gIEByZXF1aXJlZCgpIEB0eXBlT2YoU3RyaW5nKSBAY29sdW1uKCkgbmFtZSE6IHN0cmluZztcbiAgQHJlcXVpcmVkKCkgQHR5cGVPZihTdHJpbmcpIEBvcHRpb24oSXNvbGF0aW9uVGllck9wdGlvbnMpIEBjb2x1bW4oKSBpc29sYXRpb25UaWVyITogSXNvbGF0aW9uVGllcjtcbiAgQG9uZVRvTWFueSgoKSA9PiBPcmdVbml0LCBSRUxfUkVTVFJJQ1QsIGZhbHNlKSBvcmdVbml0cz86IE9yZ1VuaXRbXSB8IHN0cmluZ1tdO1xuICBAb25lVG9NYW55KCgpID0+IFRlbmFudE1lbWJlcnNoaXAsIFJFTF9SRVNUUklDVCwgZmFsc2UpIG1lbWJlcnNoaXBzPzogVGVuYW50TWVtYmVyc2hpcFtdIHwgc3RyaW5nW107XG4gIEBvbmVUb01hbnkoKCkgPT4gUHJpbmNpcGFsLCBSRUxfUkVTVFJJQ1QsIGZhbHNlKSBwcmluY2lwYWxzPzogUHJpbmNpcGFsW10gfCBzdHJpbmdbXTtcbiAgQG9uZVRvTWFueSgoKSA9PiBTdG9yYWdlQmluZGluZywgUkVMX1JFU1RSSUNULCBmYWxzZSkgc3RvcmFnZUJpbmRpbmdzPzogU3RvcmFnZUJpbmRpbmdbXSB8IHN0cmluZ1tdO1xuICBAY3JlYXRlZEF0KCkgY3JlYXRlZEF0ITogRGF0ZTtcbiAgQHVwZGF0ZWRBdCgpIHVwZGF0ZWRBdCE6IERhdGU7XG59XG5cbkB0YWJsZShcInRlbmFudF9wcm9maWxlc1wiKVxuQG1vZGVsKClcbmV4cG9ydCBjbGFzcyBUZW5hbnRQcm9maWxlIGV4dGVuZHMgQXV0aG9yaXphdGlvbk1vZGVsIHtcbiAgQHBrKHsgdHlwZTogU3RyaW5nIH0pIGlkITogc3RyaW5nO1xuICBAbWFueVRvT25lKCgpID0+IFRlbmFudCwgUkVMX0NBU0NBREVfREVQRU5ERU5ULCBmYWxzZSwgdW5kZWZpbmVkLCBcImZrX3RlbmFudF9wcm9maWxlc190ZW5hbnRcIilcbiAgQHJlcXVpcmVkKClcbiAgdGVuYW50ITogVGVuYW50IHwgc3RyaW5nO1xuICBAcmVxdWlyZWQoKSBAdHlwZU9mKFN0cmluZykgQGNvbHVtbigpIHByb2ZpbGVLZXkhOiBzdHJpbmc7XG4gIEB0eXBlT2YoT2JqZWN0KSBAY29sdW1uKCkgbWV0YWRhdGE/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgQGNyZWF0ZWRBdCgpIGNyZWF0ZWRBdCE6IERhdGU7XG4gIEB1cGRhdGVkQXQoKSB1cGRhdGVkQXQhOiBEYXRlO1xufVxuXG5AdGFibGUoXCJvcmdfdW5pdHNcIilcbkBtb2RlbCgpXG5leHBvcnQgY2xhc3MgT3JnVW5pdCBleHRlbmRzIEF1dGhvcml6YXRpb25Nb2RlbCB7XG4gIEBwayh7IHR5cGU6IFN0cmluZyB9KSBpZCE6IHN0cmluZztcbiAgQG1hbnlUb09uZSgoKSA9PiBUZW5hbnQsIFJFTF9SRVNUUklDVCwgZmFsc2UsIHVuZGVmaW5lZCwgXCJma19vcmdfdW5pdHNfdGVuYW50XCIpXG4gIEByZXF1aXJlZCgpXG4gIHRlbmFudCE6IFRlbmFudCB8IHN0cmluZztcbiAgQG1hbnlUb09uZSgoKSA9PiBPcmdVbml0LCBSRUxfUkVTVFJJQ1QsIGZhbHNlLCB1bmRlZmluZWQsIFwiZmtfb3JnX3VuaXRzX3BhcmVudFwiKVxuICBwYXJlbnQ/OiBPcmdVbml0IHwgc3RyaW5nO1xuICBAb25lVG9NYW55KCgpID0+IE9yZ1VuaXQsIFJFTF9SRVNUUklDVCwgZmFsc2UpIGNoaWxkcmVuPzogT3JnVW5pdFtdIHwgc3RyaW5nW107XG4gIEByZXF1aXJlZCgpIEB0eXBlT2YoU3RyaW5nKSBAY29sdW1uKCkgbmFtZSE6IHN0cmluZztcbiAgQHJlcXVpcmVkKCkgQHR5cGVPZihTdHJpbmcpIEBjb2x1bW4oKSBwYXRoITogc3RyaW5nO1xuICBAdHlwZU9mKE9iamVjdCkgQGNvbHVtbigpIG1ldGFkYXRhPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gIEBvbmVUb01hbnkoKCkgPT4gT3JnVW5pdE1lbWJlcnNoaXAsIFJFTF9SRVNUUklDVCwgZmFsc2UpIG1lbWJlcnNoaXBzPzogT3JnVW5pdE1lbWJlcnNoaXBbXSB8IHN0cmluZ1tdO1xuICBAb25lVG9NYW55KCgpID0+IFByb3RlY3RlZFJlc291cmNlLCBSRUxfUkVTVFJJQ1QsIGZhbHNlKSByZXNvdXJjZXM/OiBQcm90ZWN0ZWRSZXNvdXJjZVtdIHwgc3RyaW5nW107XG4gIEBvbmVUb01hbnkoKCkgPT4gSW5oZXJpdGFuY2VCbG9jaywgUkVMX1JFU1RSSUNULCBmYWxzZSkgaW5oZXJpdGFuY2VCbG9ja3M/OiBJbmhlcml0YW5jZUJsb2NrW10gfCBzdHJpbmdbXTtcbiAgQG9uZVRvTWFueSgoKSA9PiBPcmdVbml0Q2xvc3VyZSwgUkVMX1JFU1RSSUNULCBmYWxzZSkgYW5jZXN0b3JMaW5rcz86IE9yZ1VuaXRDbG9zdXJlW10gfCBzdHJpbmdbXTtcbiAgQG9uZVRvTWFueSgoKSA9PiBPcmdVbml0Q2xvc3VyZSwgUkVMX1JFU1RSSUNULCBmYWxzZSkgZGVzY2VuZGFudExpbmtzPzogT3JnVW5pdENsb3N1cmVbXSB8IHN0cmluZ1tdO1xuICBAY3JlYXRlZEF0KCkgY3JlYXRlZEF0ITogRGF0ZTtcbiAgQHVwZGF0ZWRBdCgpIHVwZGF0ZWRBdCE6IERhdGU7XG59XG5cbkB0YWJsZShcIm9yZ191bml0X3Byb2ZpbGVzXCIpXG5AbW9kZWwoKVxuZXhwb3J0IGNsYXNzIE9yZ1VuaXRQcm9maWxlIGV4dGVuZHMgQXV0aG9yaXphdGlvbk1vZGVsIHtcbiAgQHBrKHsgdHlwZTogU3RyaW5nIH0pIGlkITogc3RyaW5nO1xuICBAbWFueVRvT25lKCgpID0+IE9yZ1VuaXQsIFJFTF9DQVNDQURFX0RFUEVOREVOVCwgZmFsc2UsIHVuZGVmaW5lZCwgXCJma19vcmdfdW5pdF9wcm9maWxlc19vcmdfdW5pdFwiKVxuICBAcmVxdWlyZWQoKVxuICBvcmdVbml0ITogT3JnVW5pdCB8IHN0cmluZztcbiAgQHJlcXVpcmVkKCkgQHR5cGVPZihTdHJpbmcpIEBjb2x1bW4oKSBwcm9maWxlS2V5ITogc3RyaW5nO1xuICBAdHlwZU9mKE9iamVjdCkgQGNvbHVtbigpIG1ldGFkYXRhPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gIEBjcmVhdGVkQXQoKSBjcmVhdGVkQXQhOiBEYXRlO1xuICBAdXBkYXRlZEF0KCkgdXBkYXRlZEF0ITogRGF0ZTtcbn1cblxuQHRhYmxlKFwib3JnX3VuaXRfY2xvc3VyZVwiKVxuQG1vZGVsKClcbmV4cG9ydCBjbGFzcyBPcmdVbml0Q2xvc3VyZSBleHRlbmRzIEF1dGhvcml6YXRpb25Nb2RlbCB7XG4gIEBwayh7IHR5cGU6IFN0cmluZyB9KSBpZCE6IHN0cmluZztcbiAgQG1hbnlUb09uZSgoKSA9PiBUZW5hbnQsIFJFTF9DQVNDQURFX0RFUEVOREVOVCwgZmFsc2UsIHVuZGVmaW5lZCwgXCJma19vcmdfY2xvc3VyZV90ZW5hbnRcIilcbiAgQHJlcXVpcmVkKClcbiAgdGVuYW50ITogVGVuYW50IHwgc3RyaW5nO1xuICBAbWFueVRvT25lKCgpID0+IE9yZ1VuaXQsIFJFTF9DQVNDQURFX0RFUEVOREVOVCwgZmFsc2UsIHVuZGVmaW5lZCwgXCJma19vcmdfY2xvc3VyZV9hbmNlc3RvclwiKVxuICBAcmVxdWlyZWQoKVxuICBhbmNlc3RvciE6IE9yZ1VuaXQgfCBzdHJpbmc7XG4gIEBtYW55VG9PbmUoKCkgPT4gT3JnVW5pdCwgUkVMX0NBU0NBREVfREVQRU5ERU5ULCBmYWxzZSwgdW5kZWZpbmVkLCBcImZrX29yZ19jbG9zdXJlX2Rlc2NlbmRhbnRcIilcbiAgQHJlcXVpcmVkKClcbiAgZGVzY2VuZGFudCE6IE9yZ1VuaXQgfCBzdHJpbmc7XG4gIEByZXF1aXJlZCgpIEB0eXBlT2YoTnVtYmVyKSBAY29sdW1uKCkgZGVwdGghOiBudW1iZXI7XG4gIEBjcmVhdGVkQXQoKSBjcmVhdGVkQXQhOiBEYXRlO1xufVxuXG5AdGFibGUoXCJ1c2Vyc1wiKVxuQG1vZGVsKClcbmV4cG9ydCBjbGFzcyBVc2VyIGV4dGVuZHMgQXV0aG9yaXphdGlvbk1vZGVsIHtcbiAgQHBrKHsgdHlwZTogU3RyaW5nIH0pIGlkITogc3RyaW5nO1xuICBAdW5pcXVlKCkgQHR5cGVPZihTdHJpbmcpIEBjb2x1bW4oKSBlbWFpbD86IHN0cmluZztcbiAgQHVuaXF1ZSgpIEB0eXBlT2YoU3RyaW5nKSBAY29sdW1uKCkgcGhvbmU/OiBzdHJpbmc7XG4gIEByZXF1aXJlZCgpIEB0eXBlT2YoU3RyaW5nKSBAY29sdW1uKCkgZGlzcGxheU5hbWUhOiBzdHJpbmc7XG4gIEBvbmVUb01hbnkoKCkgPT4gVGVuYW50TWVtYmVyc2hpcCwgUkVMX1JFU1RSSUNULCBmYWxzZSkgdGVuYW50TWVtYmVyc2hpcHM/OiBUZW5hbnRNZW1iZXJzaGlwW10gfCBzdHJpbmdbXTtcbiAgQG9uZVRvTWFueSgoKSA9PiBPcmdVbml0TWVtYmVyc2hpcCwgUkVMX1JFU1RSSUNULCBmYWxzZSkgb3JnVW5pdE1lbWJlcnNoaXBzPzogT3JnVW5pdE1lbWJlcnNoaXBbXSB8IHN0cmluZ1tdO1xuICBAY3JlYXRlZEF0KCkgY3JlYXRlZEF0ITogRGF0ZTtcbiAgQHVwZGF0ZWRBdCgpIHVwZGF0ZWRBdCE6IERhdGU7XG59XG5cbkB0YWJsZShcImdyb3Vwc1wiKVxuQG1vZGVsKClcbmV4cG9ydCBjbGFzcyBHcm91cCBleHRlbmRzIEF1dGhvcml6YXRpb25Nb2RlbCB7XG4gIEBwayh7IHR5cGU6IFN0cmluZyB9KSBpZCE6IHN0cmluZztcbiAgQG1hbnlUb09uZSgoKSA9PiBUZW5hbnQsIFJFTF9SRVNUUklDVCwgZmFsc2UsIHVuZGVmaW5lZCwgXCJma19ncm91cHNfdGVuYW50XCIpXG4gIEByZXF1aXJlZCgpXG4gIHRlbmFudCE6IFRlbmFudCB8IHN0cmluZztcbiAgQG1hbnlUb09uZSgoKSA9PiBPcmdVbml0LCBSRUxfTlVMTElGWSwgZmFsc2UsIHVuZGVmaW5lZCwgXCJma19ncm91cHNfb3JnX3VuaXRcIilcbiAgb3JnVW5pdD86IE9yZ1VuaXQgfCBzdHJpbmc7XG4gIEByZXF1aXJlZCgpIEB0eXBlT2YoU3RyaW5nKSBAY29sdW1uKCkgbmFtZSE6IHN0cmluZztcbiAgQHR5cGVPZihPYmplY3QpIEBjb2x1bW4oKSBtZXRhZGF0YT86IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuICBAb25lVG9NYW55KCgpID0+IEdyb3VwTWVtYmVyc2hpcCwgUkVMX1JFU1RSSUNULCBmYWxzZSkgbWVtYmVycz86IEdyb3VwTWVtYmVyc2hpcFtdIHwgc3RyaW5nW107XG4gIEBjcmVhdGVkQXQoKSBjcmVhdGVkQXQhOiBEYXRlO1xuICBAdXBkYXRlZEF0KCkgdXBkYXRlZEF0ITogRGF0ZTtcbn1cblxuQHRhYmxlKFwicHJpbmNpcGFsc1wiKVxuQG1vZGVsKClcbmV4cG9ydCBjbGFzcyBQcmluY2lwYWwgZXh0ZW5kcyBBdXRob3JpemF0aW9uTW9kZWwge1xuICBAcGsoeyB0eXBlOiBTdHJpbmcgfSkgaWQhOiBzdHJpbmc7XG4gIEBtYW55VG9PbmUoKCkgPT4gVGVuYW50LCBSRUxfUkVTVFJJQ1QsIGZhbHNlLCB1bmRlZmluZWQsIFwiZmtfcHJpbmNpcGFsc190ZW5hbnRcIilcbiAgQHJlcXVpcmVkKClcbiAgdGVuYW50ITogVGVuYW50IHwgc3RyaW5nO1xuICBAcmVxdWlyZWQoKSBAdHlwZU9mKFN0cmluZykgQG9wdGlvbihQcmluY2lwYWxLaW5kT3B0aW9ucykgQGNvbHVtbigpIGtpbmQhOiBQcmluY2lwYWxLaW5kO1xuICBAcmVxdWlyZWQoKSBAdHlwZU9mKFN0cmluZykgQGNvbHVtbigpIHN1YmplY3RJZCE6IHN0cmluZztcbiAgQG9uZVRvTWFueSgoKSA9PiBSb2xlQXNzaWdubWVudCwgUkVMX1JFU1RSSUNULCBmYWxzZSkgcm9sZUFzc2lnbm1lbnRzPzogUm9sZUFzc2lnbm1lbnRbXSB8IHN0cmluZ1tdO1xuICBAb25lVG9NYW55KCgpID0+IFJlc291cmNlR3JhbnQsIFJFTF9SRVNUUklDVCwgZmFsc2UpIHJlc291cmNlR3JhbnRzPzogUmVzb3VyY2VHcmFudFtdIHwgc3RyaW5nW107XG4gIEBjcmVhdGVkQXQoKSBjcmVhdGVkQXQhOiBEYXRlO1xuICBAdXBkYXRlZEF0KCkgdXBkYXRlZEF0ITogRGF0ZTtcbn1cblxuQHRhYmxlKFwidGVuYW50X21lbWJlcnNoaXBzXCIpXG5AbW9kZWwoKVxuZXhwb3J0IGNsYXNzIFRlbmFudE1lbWJlcnNoaXAgZXh0ZW5kcyBBdXRob3JpemF0aW9uTW9kZWwge1xuICBAcGsoeyB0eXBlOiBTdHJpbmcgfSkgaWQhOiBzdHJpbmc7XG4gIEBtYW55VG9PbmUoKCkgPT4gVGVuYW50LCBSRUxfQ0FTQ0FERV9ERVBFTkRFTlQsIGZhbHNlLCB1bmRlZmluZWQsIFwiZmtfdGVuYW50X21lbWJlcnNoaXBzX3RlbmFudFwiKVxuICBAcmVxdWlyZWQoKVxuICB0ZW5hbnQhOiBUZW5hbnQgfCBzdHJpbmc7XG4gIEBtYW55VG9PbmUoKCkgPT4gVXNlciwgUkVMX0NBU0NBREVfREVQRU5ERU5ULCBmYWxzZSwgdW5kZWZpbmVkLCBcImZrX3RlbmFudF9tZW1iZXJzaGlwc191c2VyXCIpXG4gIEByZXF1aXJlZCgpXG4gIHVzZXIhOiBVc2VyIHwgc3RyaW5nO1xuICBAcmVxdWlyZWQoKSBAdHlwZU9mKFN0cmluZykgQG9wdGlvbihNZW1iZXJzaGlwU3RhdHVzT3B0aW9ucykgQGNvbHVtbigpIHN0YXR1cyE6IE1lbWJlcnNoaXBTdGF0dXM7XG4gIEBjcmVhdGVkQXQoKSBjcmVhdGVkQXQhOiBEYXRlO1xuICBAdXBkYXRlZEF0KCkgdXBkYXRlZEF0ITogRGF0ZTtcbn1cblxuQHRhYmxlKFwib3JnX3VuaXRfbWVtYmVyc2hpcHNcIilcbkBtb2RlbCgpXG5leHBvcnQgY2xhc3MgT3JnVW5pdE1lbWJlcnNoaXAgZXh0ZW5kcyBBdXRob3JpemF0aW9uTW9kZWwge1xuICBAcGsoeyB0eXBlOiBTdHJpbmcgfSkgaWQhOiBzdHJpbmc7XG4gIEBtYW55VG9PbmUoKCkgPT4gVGVuYW50LCBSRUxfQ0FTQ0FERV9ERVBFTkRFTlQsIGZhbHNlLCB1bmRlZmluZWQsIFwiZmtfb3JnX21lbWJlcnNoaXBzX3RlbmFudFwiKVxuICBAcmVxdWlyZWQoKVxuICB0ZW5hbnQhOiBUZW5hbnQgfCBzdHJpbmc7XG4gIEBtYW55VG9PbmUoKCkgPT4gT3JnVW5pdCwgUkVMX0NBU0NBREVfREVQRU5ERU5ULCBmYWxzZSwgdW5kZWZpbmVkLCBcImZrX29yZ19tZW1iZXJzaGlwc19vcmdfdW5pdFwiKVxuICBAcmVxdWlyZWQoKVxuICBvcmdVbml0ITogT3JnVW5pdCB8IHN0cmluZztcbiAgQG1hbnlUb09uZSgoKSA9PiBVc2VyLCBSRUxfUkVTVFJJQ1QsIGZhbHNlLCB1bmRlZmluZWQsIFwiZmtfb3JnX21lbWJlcnNoaXBzX3VzZXJcIilcbiAgQHJlcXVpcmVkKClcbiAgdXNlciE6IFVzZXIgfCBzdHJpbmc7XG4gIEByZXF1aXJlZCgpIEB0eXBlT2YoU3RyaW5nKSBAb3B0aW9uKE1lbWJlcnNoaXBTdGF0dXNPcHRpb25zKSBAY29sdW1uKCkgc3RhdHVzITogTWVtYmVyc2hpcFN0YXR1cztcbiAgQGNyZWF0ZWRBdCgpIGNyZWF0ZWRBdCE6IERhdGU7XG4gIEB1cGRhdGVkQXQoKSB1cGRhdGVkQXQhOiBEYXRlO1xufVxuXG5AdGFibGUoXCJncm91cF9tZW1iZXJzaGlwc1wiKVxuQG1vZGVsKClcbmV4cG9ydCBjbGFzcyBHcm91cE1lbWJlcnNoaXAgZXh0ZW5kcyBBdXRob3JpemF0aW9uTW9kZWwge1xuICBAcGsoeyB0eXBlOiBTdHJpbmcgfSkgaWQhOiBzdHJpbmc7XG4gIEBtYW55VG9PbmUoKCkgPT4gVGVuYW50LCBSRUxfQ0FTQ0FERV9ERVBFTkRFTlQsIGZhbHNlLCB1bmRlZmluZWQsIFwiZmtfZ3JvdXBfbWVtYmVyc2hpcHNfdGVuYW50XCIpXG4gIEByZXF1aXJlZCgpXG4gIHRlbmFudCE6IFRlbmFudCB8IHN0cmluZztcbiAgQG1hbnlUb09uZSgoKSA9PiBHcm91cCwgUkVMX0NBU0NBREVfREVQRU5ERU5ULCBmYWxzZSwgdW5kZWZpbmVkLCBcImZrX2dyb3VwX21lbWJlcnNoaXBzX2dyb3VwXCIpXG4gIEByZXF1aXJlZCgpXG4gIGdyb3VwITogR3JvdXAgfCBzdHJpbmc7XG4gIEBtYW55VG9PbmUoKCkgPT4gUHJpbmNpcGFsLCBSRUxfQ0FTQ0FERV9ERVBFTkRFTlQsIGZhbHNlLCB1bmRlZmluZWQsIFwiZmtfZ3JvdXBfbWVtYmVyc2hpcHNfcHJpbmNpcGFsXCIpXG4gIEByZXF1aXJlZCgpXG4gIHByaW5jaXBhbCE6IFByaW5jaXBhbCB8IHN0cmluZztcbiAgQHR5cGVPZihPYmplY3QpIEBjb2x1bW4oKSBtZXRhZGF0YT86IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuICBAY3JlYXRlZEF0KCkgY3JlYXRlZEF0ITogRGF0ZTtcbn1cblxuQHRhYmxlKFwicGVybWlzc2lvbnNcIilcbkBtb2RlbCgpXG5leHBvcnQgY2xhc3MgUGVybWlzc2lvbiBleHRlbmRzIEF1dGhvcml6YXRpb25Nb2RlbCB7XG4gIEBwayh7IHR5cGU6IFN0cmluZyB9KSBpZCE6IHN0cmluZztcbiAgQHVuaXF1ZSgpIEByZXF1aXJlZCgpIEB0eXBlT2YoU3RyaW5nKSBAY29sdW1uKCkga2V5ITogc3RyaW5nO1xuICBAcmVxdWlyZWQoKSBAdHlwZU9mKFN0cmluZykgQG9wdGlvbihQZXJtaXNzaW9uQ2F0ZWdvcnlPcHRpb25zKSBAY29sdW1uKCkgY2F0ZWdvcnkhOiBQZXJtaXNzaW9uQ2F0ZWdvcnk7XG4gIEB0eXBlT2YoU3RyaW5nKSBAY29sdW1uKCkgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIEBvbmVUb01hbnkoKCkgPT4gUm9sZVBlcm1pc3Npb24sIFJFTF9SRVNUUklDVCwgZmFsc2UpIHJvbGVQZXJtaXNzaW9ucz86IFJvbGVQZXJtaXNzaW9uW10gfCBzdHJpbmdbXTtcbn1cblxuQHRhYmxlKFwicm9sZXNcIilcbkBtb2RlbCgpXG5leHBvcnQgY2xhc3MgUm9sZSBleHRlbmRzIEF1dGhvcml6YXRpb25Nb2RlbCB7XG4gIEBwayh7IHR5cGU6IFN0cmluZyB9KSBpZCE6IHN0cmluZztcbiAgQG1hbnlUb09uZSgoKSA9PiBUZW5hbnQsIFJFTF9OVUxMSUZZLCBmYWxzZSwgdW5kZWZpbmVkLCBcImZrX3JvbGVzX3RlbmFudFwiKVxuICB0ZW5hbnQ/OiBUZW5hbnQgfCBzdHJpbmc7XG4gIEByZXF1aXJlZCgpIEB0eXBlT2YoU3RyaW5nKSBAY29sdW1uKCkga2V5ITogc3RyaW5nO1xuICBAcmVxdWlyZWQoKSBAdHlwZU9mKFN0cmluZykgQGNvbHVtbigpIG5hbWUhOiBzdHJpbmc7XG4gIEB0eXBlT2YoU3RyaW5nKSBAY29sdW1uKCkgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIEB0eXBlT2YoT2JqZWN0KSBAY29sdW1uKCkgbWV0YWRhdGE/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgQG9uZVRvTWFueSgoKSA9PiBSb2xlUGVybWlzc2lvbiwgUkVMX1JFU1RSSUNULCBmYWxzZSkgcm9sZVBlcm1pc3Npb25zPzogUm9sZVBlcm1pc3Npb25bXSB8IHN0cmluZ1tdO1xuICBAb25lVG9NYW55KCgpID0+IFJvbGVBc3NpZ25tZW50LCBSRUxfUkVTVFJJQ1QsIGZhbHNlKSBhc3NpZ25tZW50cz86IFJvbGVBc3NpZ25tZW50W10gfCBzdHJpbmdbXTtcbiAgQGNyZWF0ZWRBdCgpIGNyZWF0ZWRBdCE6IERhdGU7XG4gIEB1cGRhdGVkQXQoKSB1cGRhdGVkQXQhOiBEYXRlO1xufVxuXG5AdGFibGUoXCJyb2xlX3Blcm1pc3Npb25zXCIpXG5AbW9kZWwoKVxuZXhwb3J0IGNsYXNzIFJvbGVQZXJtaXNzaW9uIGV4dGVuZHMgQXV0aG9yaXphdGlvbk1vZGVsIHtcbiAgQHBrKHsgdHlwZTogU3RyaW5nIH0pIGlkITogc3RyaW5nO1xuICBAbWFueVRvT25lKCgpID0+IFJvbGUsIFJFTF9DQVNDQURFX0RFUEVOREVOVCwgZmFsc2UsIHVuZGVmaW5lZCwgXCJma19yb2xlX3Blcm1pc3Npb25zX3JvbGVcIilcbiAgQHJlcXVpcmVkKClcbiAgcm9sZSE6IFJvbGUgfCBzdHJpbmc7XG4gIEBtYW55VG9PbmUoKCkgPT4gUGVybWlzc2lvbiwgUkVMX0NBU0NBREVfREVQRU5ERU5ULCBmYWxzZSwgdW5kZWZpbmVkLCBcImZrX3JvbGVfcGVybWlzc2lvbnNfcGVybWlzc2lvblwiKVxuICBAcmVxdWlyZWQoKVxuICBwZXJtaXNzaW9uITogUGVybWlzc2lvbiB8IHN0cmluZztcbiAgQGNyZWF0ZWRBdCgpIGNyZWF0ZWRBdCE6IERhdGU7XG59XG5cbkB0YWJsZShcInJvbGVfYXNzaWdubWVudHNcIilcbkBtb2RlbCgpXG5leHBvcnQgY2xhc3MgUm9sZUFzc2lnbm1lbnQgZXh0ZW5kcyBBdXRob3JpemF0aW9uTW9kZWwge1xuICBAcGsoeyB0eXBlOiBTdHJpbmcgfSkgaWQhOiBzdHJpbmc7XG4gIEBtYW55VG9PbmUoKCkgPT4gVGVuYW50LCBSRUxfQ0FTQ0FERV9ERVBFTkRFTlQsIGZhbHNlLCB1bmRlZmluZWQsIFwiZmtfcm9sZV9hc3NpZ25tZW50c190ZW5hbnRcIilcbiAgQHJlcXVpcmVkKClcbiAgdGVuYW50ITogVGVuYW50IHwgc3RyaW5nO1xuICBAbWFueVRvT25lKCgpID0+IFByaW5jaXBhbCwgUkVMX0NBU0NBREVfREVQRU5ERU5ULCBmYWxzZSwgdW5kZWZpbmVkLCBcImZrX3JvbGVfYXNzaWdubWVudHNfcHJpbmNpcGFsXCIpXG4gIEByZXF1aXJlZCgpXG4gIHByaW5jaXBhbCE6IFByaW5jaXBhbCB8IHN0cmluZztcbiAgQG1hbnlUb09uZSgoKSA9PiBSb2xlLCBSRUxfUkVTVFJJQ1QsIGZhbHNlLCB1bmRlZmluZWQsIFwiZmtfcm9sZV9hc3NpZ25tZW50c19yb2xlXCIpXG4gIEByZXF1aXJlZCgpXG4gIHJvbGUhOiBSb2xlIHwgc3RyaW5nO1xuICBAcmVxdWlyZWQoKSBAdHlwZU9mKFN0cmluZykgQG9wdGlvbihTY29wZUtpbmRPcHRpb25zKSBAY29sdW1uKCkgc2NvcGVLaW5kITogU2NvcGVLaW5kO1xuICBAcmVxdWlyZWQoKSBAdHlwZU9mKFN0cmluZykgQGNvbHVtbigpIHNjb3BlSWQhOiBzdHJpbmc7XG4gIEByZXF1aXJlZCgpIEB0eXBlT2YoQm9vbGVhbikgQGNvbHVtbigpIGluaGVyaXREb3duITogYm9vbGVhbjtcbiAgQGNvbHVtbigpIHN0YXJ0c0F0PzogRGF0ZTtcbiAgQGNvbHVtbigpIGV4cGlyZXNBdD86IERhdGU7XG4gIEB0eXBlT2YoT2JqZWN0KSBAY29sdW1uKCkgY29uZGl0aW9ucz86IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuICBAY3JlYXRlZEF0KCkgY3JlYXRlZEF0ITogRGF0ZTtcbiAgQHVwZGF0ZWRBdCgpIHVwZGF0ZWRBdCE6IERhdGU7XG59XG5cbkB0YWJsZShcImluaGVyaXRhbmNlX2Jsb2Nrc1wiKVxuQG1vZGVsKClcbmV4cG9ydCBjbGFzcyBJbmhlcml0YW5jZUJsb2NrIGV4dGVuZHMgQXV0aG9yaXphdGlvbk1vZGVsIHtcbiAgQHBrKHsgdHlwZTogU3RyaW5nIH0pIGlkITogc3RyaW5nO1xuICBAbWFueVRvT25lKCgpID0+IFRlbmFudCwgUkVMX0NBU0NBREVfREVQRU5ERU5ULCBmYWxzZSwgdW5kZWZpbmVkLCBcImZrX2luaGVyaXRhbmNlX2Jsb2Nrc190ZW5hbnRcIilcbiAgQHJlcXVpcmVkKClcbiAgdGVuYW50ITogVGVuYW50IHwgc3RyaW5nO1xuICBAbWFueVRvT25lKCgpID0+IE9yZ1VuaXQsIFJFTF9DQVNDQURFX0RFUEVOREVOVCwgZmFsc2UsIHVuZGVmaW5lZCwgXCJma19pbmhlcml0YW5jZV9ibG9ja3Nfb3JnX3VuaXRcIilcbiAgQHJlcXVpcmVkKClcbiAgb3JnVW5pdCE6IE9yZ1VuaXQgfCBzdHJpbmc7XG4gIEBtYW55VG9PbmUoKCkgPT4gT3JnVW5pdCwgUkVMX05VTExJRlksIGZhbHNlLCB1bmRlZmluZWQsIFwiZmtfaW5oZXJpdGFuY2VfYmxvY2tzX2Jsb2NrZWRfYW5jZXN0b3JcIilcbiAgYmxvY2tlZEZyb21BbmNlc3Rvcj86IE9yZ1VuaXQgfCBzdHJpbmc7XG4gIEByZXF1aXJlZCgpIEB0eXBlT2YoU3RyaW5nKSBAb3B0aW9uKFBlcm1pc3Npb25DYXRlZ29yeU9wdGlvbnMpIEBjb2x1bW4oKSBwZXJtaXNzaW9uQ2F0ZWdvcnkhOiBQZXJtaXNzaW9uQ2F0ZWdvcnk7XG4gIEB0eXBlT2YoU3RyaW5nKSBAY29sdW1uKCkgcmVhc29uPzogc3RyaW5nO1xuICBAY3JlYXRlZEF0KCkgY3JlYXRlZEF0ITogRGF0ZTtcbiAgQHVwZGF0ZWRBdCgpIHVwZGF0ZWRBdCE6IERhdGU7XG59XG5cbkB0YWJsZShcInByb3RlY3RlZF9yZXNvdXJjZXNcIilcbkBtb2RlbCgpXG5leHBvcnQgY2xhc3MgUHJvdGVjdGVkUmVzb3VyY2UgZXh0ZW5kcyBBdXRob3JpemF0aW9uTW9kZWwge1xuICBAcGsoeyB0eXBlOiBTdHJpbmcgfSkgaWQhOiBzdHJpbmc7XG4gIEBtYW55VG9PbmUoKCkgPT4gVGVuYW50LCBSRUxfUkVTVFJJQ1QsIGZhbHNlLCB1bmRlZmluZWQsIFwiZmtfcHJvdGVjdGVkX3Jlc291cmNlc190ZW5hbnRcIilcbiAgQHJlcXVpcmVkKClcbiAgdGVuYW50ITogVGVuYW50IHwgc3RyaW5nO1xuICBAbWFueVRvT25lKCgpID0+IE9yZ1VuaXQsIFJFTF9SRVNUUklDVCwgZmFsc2UsIHVuZGVmaW5lZCwgXCJma19wcm90ZWN0ZWRfcmVzb3VyY2VzX29yZ191bml0XCIpXG4gIEByZXF1aXJlZCgpXG4gIG9yZ1VuaXQhOiBPcmdVbml0IHwgc3RyaW5nO1xuICBAcmVxdWlyZWQoKSBAdHlwZU9mKFN0cmluZykgQGNvbHVtbigpIHJlc291cmNlVHlwZSE6IHN0cmluZztcbiAgQHJlcXVpcmVkKCkgQHR5cGVPZihTdHJpbmcpIEBjb2x1bW4oKSByZXNvdXJjZUlkITogc3RyaW5nO1xuICBAcmVxdWlyZWQoKSBAdHlwZU9mKFN0cmluZykgQG9wdGlvbihSZXNvdXJjZVZpc2liaWxpdHlPcHRpb25zKSBAY29sdW1uKCkgdmlzaWJpbGl0eSE6IFJlc291cmNlVmlzaWJpbGl0eTtcbiAgQG1hbnlUb09uZSgoKSA9PiBQcmluY2lwYWwsIFJFTF9OVUxMSUZZLCBmYWxzZSwgdW5kZWZpbmVkLCBcImZrX3Byb3RlY3RlZF9yZXNvdXJjZXNfb3duZXJcIilcbiAgb3duZXI/OiBQcmluY2lwYWwgfCBzdHJpbmc7XG4gIEB0eXBlT2YoU3RyaW5nKSBAY29sdW1uKCkgc2Vuc2l0aXZpdHk/OiBzdHJpbmc7XG4gIEB0eXBlT2YoT2JqZWN0KSBAY29sdW1uKCkgbWV0YWRhdGE/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgQG9uZVRvTWFueSgoKSA9PiBSZXNvdXJjZUdyYW50LCBSRUxfUkVTVFJJQ1QsIGZhbHNlKSBncmFudHM/OiBSZXNvdXJjZUdyYW50W10gfCBzdHJpbmdbXTtcbiAgQGNyZWF0ZWRBdCgpIGNyZWF0ZWRBdCE6IERhdGU7XG4gIEB1cGRhdGVkQXQoKSB1cGRhdGVkQXQhOiBEYXRlO1xufVxuXG5AdGFibGUoXCJyZXNvdXJjZV9ncmFudHNcIilcbkBtb2RlbCgpXG5leHBvcnQgY2xhc3MgUmVzb3VyY2VHcmFudCBleHRlbmRzIEF1dGhvcml6YXRpb25Nb2RlbCB7XG4gIEBwayh7IHR5cGU6IFN0cmluZyB9KSBpZCE6IHN0cmluZztcbiAgQG1hbnlUb09uZSgoKSA9PiBUZW5hbnQsIFJFTF9DQVNDQURFX0RFUEVOREVOVCwgZmFsc2UsIHVuZGVmaW5lZCwgXCJma19yZXNvdXJjZV9ncmFudHNfdGVuYW50XCIpXG4gIEByZXF1aXJlZCgpXG4gIHRlbmFudCE6IFRlbmFudCB8IHN0cmluZztcbiAgQG1hbnlUb09uZSgoKSA9PiBQcm90ZWN0ZWRSZXNvdXJjZSwgUkVMX0NBU0NBREVfREVQRU5ERU5ULCBmYWxzZSwgdW5kZWZpbmVkLCBcImZrX3Jlc291cmNlX2dyYW50c19yZXNvdXJjZVwiKVxuICBAcmVxdWlyZWQoKVxuICByZXNvdXJjZSE6IFByb3RlY3RlZFJlc291cmNlIHwgc3RyaW5nO1xuICBAbWFueVRvT25lKCgpID0+IFByaW5jaXBhbCwgUkVMX0NBU0NBREVfREVQRU5ERU5ULCBmYWxzZSwgdW5kZWZpbmVkLCBcImZrX3Jlc291cmNlX2dyYW50c19wcmluY2lwYWxcIilcbiAgQHJlcXVpcmVkKClcbiAgcHJpbmNpcGFsITogUHJpbmNpcGFsIHwgc3RyaW5nO1xuICBAcmVxdWlyZWQoKSBAdHlwZU9mKFN0cmluZykgQGNvbHVtbigpIHBlcm1pc3Npb25LZXkhOiBzdHJpbmc7XG4gIEBjb2x1bW4oKSBzdGFydHNBdD86IERhdGU7XG4gIEBjb2x1bW4oKSBleHBpcmVzQXQ/OiBEYXRlO1xuICBAdHlwZU9mKE9iamVjdCkgQGNvbHVtbigpIGNvbmRpdGlvbnM/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgQG1hbnlUb09uZSgoKSA9PiBQcmluY2lwYWwsIFJFTF9SRVNUUklDVCwgZmFsc2UsIHVuZGVmaW5lZCwgXCJma19yZXNvdXJjZV9ncmFudHNfY3JlYXRlZF9ieVwiKVxuICBjcmVhdGVkQnk/OiBQcmluY2lwYWwgfCBzdHJpbmc7XG4gIEBjcmVhdGVkQXQoKSBjcmVhdGVkQXQhOiBEYXRlO1xuICBAdXBkYXRlZEF0KCkgdXBkYXRlZEF0ITogRGF0ZTtcbn1cblxuQHRhYmxlKFwiZWZmZWN0aXZlX3Blcm1pc3Npb25zXCIpXG5AbW9kZWwoKVxuZXhwb3J0IGNsYXNzIEVmZmVjdGl2ZVBlcm1pc3Npb24gZXh0ZW5kcyBBdXRob3JpemF0aW9uTW9kZWwge1xuICBAcGsoeyB0eXBlOiBTdHJpbmcgfSkgaWQhOiBzdHJpbmc7XG4gIEBtYW55VG9PbmUoKCkgPT4gVGVuYW50LCBSRUxfQ0FTQ0FERV9ERVBFTkRFTlQsIGZhbHNlLCB1bmRlZmluZWQsIFwiZmtfZWZmZWN0aXZlX3Blcm1pc3Npb25zX3RlbmFudFwiKVxuICBAcmVxdWlyZWQoKVxuICB0ZW5hbnQhOiBUZW5hbnQgfCBzdHJpbmc7XG4gIEBtYW55VG9PbmUoKCkgPT4gUHJpbmNpcGFsLCBSRUxfQ0FTQ0FERV9ERVBFTkRFTlQsIGZhbHNlLCB1bmRlZmluZWQsIFwiZmtfZWZmZWN0aXZlX3Blcm1pc3Npb25zX3ByaW5jaXBhbFwiKVxuICBAcmVxdWlyZWQoKVxuICBwcmluY2lwYWwhOiBQcmluY2lwYWwgfCBzdHJpbmc7XG4gIEByZXF1aXJlZCgpIEB0eXBlT2YoU3RyaW5nKSBAY29sdW1uKCkgcGVybWlzc2lvbktleSE6IHN0cmluZztcbiAgQHJlcXVpcmVkKCkgQHR5cGVPZihTdHJpbmcpIEBvcHRpb24oU2NvcGVLaW5kT3B0aW9ucykgQGNvbHVtbigpIHNjb3BlS2luZCE6IFNjb3BlS2luZDtcbiAgQHJlcXVpcmVkKCkgQHR5cGVPZihTdHJpbmcpIEBjb2x1bW4oKSBzY29wZUlkITogc3RyaW5nO1xuICBAcmVxdWlyZWQoKSBAdHlwZU9mKFN0cmluZykgQGNvbHVtbigpIHNvdXJjZUtpbmQhOiBzdHJpbmc7XG4gIEByZXF1aXJlZCgpIEB0eXBlT2YoU3RyaW5nKSBAY29sdW1uKCkgc291cmNlSWQhOiBzdHJpbmc7XG4gIEBjb2x1bW4oKSBzdGFydHNBdD86IERhdGU7XG4gIEBjb2x1bW4oKSBleHBpcmVzQXQ/OiBEYXRlO1xuICBAY3JlYXRlZEF0KCkgY3JlYXRlZEF0ITogRGF0ZTtcbn1cblxuQHRhYmxlKFwic3RvcmFnZV9iaW5kaW5nc1wiKVxuQG1vZGVsKClcbmV4cG9ydCBjbGFzcyBTdG9yYWdlQmluZGluZyBleHRlbmRzIEF1dGhvcml6YXRpb25Nb2RlbCB7XG4gIEBwayh7IHR5cGU6IFN0cmluZyB9KSBpZCE6IHN0cmluZztcbiAgQG1hbnlUb09uZSgoKSA9PiBUZW5hbnQsIFJFTF9DQVNDQURFX0RFUEVOREVOVCwgZmFsc2UsIHVuZGVmaW5lZCwgXCJma19zdG9yYWdlX2JpbmRpbmdzX3RlbmFudFwiKVxuICBAcmVxdWlyZWQoKVxuICB0ZW5hbnQhOiBUZW5hbnQgfCBzdHJpbmc7XG4gIEByZXF1aXJlZCgpIEB0eXBlT2YoU3RyaW5nKSBAb3B0aW9uKFN0b3JhZ2VLaW5kT3B0aW9ucykgQGNvbHVtbigpIHN0b3JhZ2VLaW5kITogU3RvcmFnZUtpbmQ7XG4gIEByZXF1aXJlZCgpIEB0eXBlT2YoU3RyaW5nKSBAb3B0aW9uKFN0b3JhZ2VCaW5kaW5nS2luZE9wdGlvbnMpIEBjb2x1bW4oKSBiaW5kaW5nS2luZCE6IFN0b3JhZ2VCaW5kaW5nS2luZDtcbiAgQHJlcXVpcmVkKCkgQHR5cGVPZihTdHJpbmcpIEBjb2x1bW4oKSBiaW5kaW5nS2V5ITogc3RyaW5nO1xuICBAcmVxdWlyZWQoKSBAdHlwZU9mKFN0cmluZykgQGNvbHVtbigpIHJlZ2lvbiE6IHN0cmluZztcbiAgQHR5cGVPZihPYmplY3QpIEBjb2x1bW4oKSBjb25maWc/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgQGNyZWF0ZWRBdCgpIGNyZWF0ZWRBdCE6IERhdGU7XG4gIEB1cGRhdGVkQXQoKSB1cGRhdGVkQXQhOiBEYXRlO1xufVxuIl19