@decaf-ts/integrations 0.10.8 → 0.12.0

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 (1437) hide show
  1. package/README.md +241 -5
  2. package/dist/integrations.cjs +1 -1
  3. package/dist/integrations.cjs.map +1 -1
  4. package/dist/integrations.js +1 -1
  5. package/dist/integrations.js.map +1 -1
  6. package/docker/dragonfly-compose.yml +19 -0
  7. package/docker/mailpit-compose.yml +17 -0
  8. package/docker/postgres-compose.yml +26 -0
  9. package/lib/cjs/blob/azure/AzureBlobStoreService.cjs +12 -23
  10. package/lib/cjs/blob/azure/AzureBlobStoreService.cjs.map +1 -1
  11. package/lib/cjs/blob/core/BlobStoreFactory.cjs +0 -4
  12. package/lib/cjs/blob/core/BlobStoreFactory.cjs.map +1 -1
  13. package/lib/cjs/blob/core/BlobStoreService.cjs +26 -25
  14. package/lib/cjs/blob/core/BlobStoreService.cjs.map +1 -1
  15. package/lib/cjs/blob/gcp/GcsBlobStoreService.cjs +12 -23
  16. package/lib/cjs/blob/gcp/GcsBlobStoreService.cjs.map +1 -1
  17. package/lib/cjs/blob/s3/S3BlobStoreService.cjs +11 -16
  18. package/lib/cjs/blob/s3/S3BlobStoreService.cjs.map +1 -1
  19. package/lib/cjs/blob/s3/S3CompatibleBlobStoreService.cjs +14 -16
  20. package/lib/cjs/blob/s3/S3CompatibleBlobStoreService.cjs.map +1 -1
  21. package/lib/cjs/comms/email/EmailService.cjs +376 -0
  22. package/lib/cjs/comms/email/EmailService.cjs.map +1 -0
  23. package/lib/cjs/comms/email/index.cjs +29 -0
  24. package/lib/cjs/comms/email/index.cjs.map +1 -0
  25. package/lib/cjs/comms/email/mime.cjs +225 -0
  26. package/lib/cjs/comms/email/mime.cjs.map +1 -0
  27. package/lib/cjs/comms/email/smtp.cjs +204 -0
  28. package/lib/cjs/comms/email/smtp.cjs.map +1 -0
  29. package/lib/cjs/comms/environment.cjs +63 -0
  30. package/lib/cjs/comms/environment.cjs.map +1 -0
  31. package/lib/cjs/comms/gmail/GmailService.cjs +235 -0
  32. package/lib/cjs/comms/gmail/GmailService.cjs.map +1 -0
  33. package/lib/cjs/comms/gmail/index.cjs +24 -0
  34. package/lib/cjs/comms/gmail/index.cjs.map +1 -0
  35. package/lib/cjs/comms/index.cjs +31 -0
  36. package/lib/cjs/comms/index.cjs.map +1 -0
  37. package/lib/cjs/comms/slack/SlackService.cjs +264 -0
  38. package/lib/cjs/comms/slack/SlackService.cjs.map +1 -0
  39. package/lib/cjs/comms/slack/index.cjs +24 -0
  40. package/lib/cjs/comms/slack/index.cjs.map +1 -0
  41. package/lib/cjs/comms/teams/TeamsService.cjs +212 -0
  42. package/lib/cjs/comms/teams/TeamsService.cjs.map +1 -0
  43. package/lib/cjs/comms/teams/index.cjs +24 -0
  44. package/lib/cjs/comms/teams/index.cjs.map +1 -0
  45. package/lib/cjs/comms/telegram/TelegramService.cjs +196 -0
  46. package/lib/cjs/comms/telegram/TelegramService.cjs.map +1 -0
  47. package/lib/cjs/comms/telegram/index.cjs +24 -0
  48. package/lib/cjs/comms/telegram/index.cjs.map +1 -0
  49. package/lib/cjs/devops/environment.cjs +43 -0
  50. package/lib/cjs/devops/environment.cjs.map +1 -0
  51. package/lib/cjs/devops/github/GithubService.cjs +302 -0
  52. package/lib/cjs/devops/github/GithubService.cjs.map +1 -0
  53. package/lib/cjs/devops/github/index.cjs +24 -0
  54. package/lib/cjs/devops/github/index.cjs.map +1 -0
  55. package/lib/cjs/devops/gitlab/GitlabService.cjs +282 -0
  56. package/lib/cjs/devops/gitlab/GitlabService.cjs.map +1 -0
  57. package/lib/cjs/devops/gitlab/index.cjs +24 -0
  58. package/lib/cjs/devops/gitlab/index.cjs.map +1 -0
  59. package/lib/cjs/devops/index.cjs +28 -0
  60. package/lib/cjs/devops/index.cjs.map +1 -0
  61. package/lib/cjs/feature-flags/EngineCapabilityFeatureFlag.service.cjs +214 -0
  62. package/lib/cjs/feature-flags/EngineCapabilityFeatureFlag.service.cjs.map +1 -0
  63. package/lib/cjs/feature-flags/index.cjs +1 -0
  64. package/lib/cjs/feature-flags/index.cjs.map +1 -1
  65. package/lib/cjs/feature-flags/models/FeatureFlag.model.cjs +2 -0
  66. package/lib/cjs/feature-flags/models/FeatureFlag.model.cjs.map +1 -1
  67. package/lib/cjs/feature-flags/models/FeatureFlagAccess.model.cjs +2 -0
  68. package/lib/cjs/feature-flags/models/FeatureFlagAccess.model.cjs.map +1 -1
  69. package/lib/cjs/index.cjs +3 -3
  70. package/lib/cjs/io/airtable/AirtableService.cjs +266 -0
  71. package/lib/cjs/io/airtable/AirtableService.cjs.map +1 -0
  72. package/lib/cjs/io/airtable/index.cjs +24 -0
  73. package/lib/cjs/io/airtable/index.cjs.map +1 -0
  74. package/lib/cjs/io/environment.cjs +46 -0
  75. package/lib/cjs/io/environment.cjs.map +1 -0
  76. package/lib/cjs/io/google-sheets/GoogleSheetsService.cjs +288 -0
  77. package/lib/cjs/io/google-sheets/GoogleSheetsService.cjs.map +1 -0
  78. package/lib/cjs/io/google-sheets/index.cjs +24 -0
  79. package/lib/cjs/io/google-sheets/index.cjs.map +1 -0
  80. package/lib/cjs/io/graphql/GraphqlService.cjs +143 -0
  81. package/lib/cjs/io/graphql/GraphqlService.cjs.map +1 -0
  82. package/lib/cjs/io/graphql/index.cjs +24 -0
  83. package/lib/cjs/io/graphql/index.cjs.map +1 -0
  84. package/lib/cjs/io/index.cjs +30 -0
  85. package/lib/cjs/io/index.cjs.map +1 -0
  86. package/lib/cjs/io/spreadsheet/SpreadsheetService.cjs +205 -0
  87. package/lib/cjs/io/spreadsheet/SpreadsheetService.cjs.map +1 -0
  88. package/lib/cjs/io/spreadsheet/index.cjs +25 -0
  89. package/lib/cjs/io/spreadsheet/index.cjs.map +1 -0
  90. package/lib/cjs/loader/ObjectLoader.cjs +95 -11
  91. package/lib/cjs/loader/ObjectLoader.cjs.map +1 -1
  92. package/lib/cjs/loader/assets.cjs +160 -0
  93. package/lib/cjs/loader/assets.cjs.map +1 -0
  94. package/lib/cjs/loader/config.cjs +241 -0
  95. package/lib/cjs/loader/config.cjs.map +1 -0
  96. package/lib/cjs/loader/families.cjs +27 -12
  97. package/lib/cjs/loader/families.cjs.map +1 -1
  98. package/lib/cjs/loader/index.cjs +3 -0
  99. package/lib/cjs/loader/index.cjs.map +1 -1
  100. package/lib/cjs/loader/nest.cjs +331 -0
  101. package/lib/cjs/loader/nest.cjs.map +1 -0
  102. package/lib/cjs/namespaces/index.cjs +1 -0
  103. package/lib/cjs/namespaces/index.cjs.map +1 -1
  104. package/lib/cjs/namespaces/models/credential.model.cjs +115 -0
  105. package/lib/cjs/namespaces/models/credential.model.cjs.map +1 -0
  106. package/lib/cjs/namespaces/models/effective-permission.model.cjs +2 -0
  107. package/lib/cjs/namespaces/models/effective-permission.model.cjs.map +1 -1
  108. package/lib/cjs/namespaces/models/group-membership.model.cjs +2 -0
  109. package/lib/cjs/namespaces/models/group-membership.model.cjs.map +1 -1
  110. package/lib/cjs/namespaces/models/group.model.cjs +2 -0
  111. package/lib/cjs/namespaces/models/group.model.cjs.map +1 -1
  112. package/lib/cjs/namespaces/models/index.cjs +1 -0
  113. package/lib/cjs/namespaces/models/index.cjs.map +1 -1
  114. package/lib/cjs/namespaces/models/inheritance-block.model.cjs +2 -0
  115. package/lib/cjs/namespaces/models/inheritance-block.model.cjs.map +1 -1
  116. package/lib/cjs/namespaces/models/org-unit-closure.model.cjs +2 -0
  117. package/lib/cjs/namespaces/models/org-unit-closure.model.cjs.map +1 -1
  118. package/lib/cjs/namespaces/models/org-unit-membership.model.cjs +2 -0
  119. package/lib/cjs/namespaces/models/org-unit-membership.model.cjs.map +1 -1
  120. package/lib/cjs/namespaces/models/org-unit-profile.model.cjs +2 -0
  121. package/lib/cjs/namespaces/models/org-unit-profile.model.cjs.map +1 -1
  122. package/lib/cjs/namespaces/models/org-unit.model.cjs +2 -0
  123. package/lib/cjs/namespaces/models/org-unit.model.cjs.map +1 -1
  124. package/lib/cjs/namespaces/models/permission.model.cjs +2 -0
  125. package/lib/cjs/namespaces/models/permission.model.cjs.map +1 -1
  126. package/lib/cjs/namespaces/models/principal.model.cjs +2 -0
  127. package/lib/cjs/namespaces/models/principal.model.cjs.map +1 -1
  128. package/lib/cjs/namespaces/models/protected-resource.model.cjs +2 -0
  129. package/lib/cjs/namespaces/models/protected-resource.model.cjs.map +1 -1
  130. package/lib/cjs/namespaces/models/resource-grant.model.cjs +2 -0
  131. package/lib/cjs/namespaces/models/resource-grant.model.cjs.map +1 -1
  132. package/lib/cjs/namespaces/models/role-assignment.model.cjs +2 -0
  133. package/lib/cjs/namespaces/models/role-assignment.model.cjs.map +1 -1
  134. package/lib/cjs/namespaces/models/role-permission.model.cjs +2 -0
  135. package/lib/cjs/namespaces/models/role-permission.model.cjs.map +1 -1
  136. package/lib/cjs/namespaces/models/role.model.cjs +2 -0
  137. package/lib/cjs/namespaces/models/role.model.cjs.map +1 -1
  138. package/lib/cjs/namespaces/models/storage-binding.model.cjs +2 -0
  139. package/lib/cjs/namespaces/models/storage-binding.model.cjs.map +1 -1
  140. package/lib/cjs/namespaces/models/tenant-membership.model.cjs +2 -0
  141. package/lib/cjs/namespaces/models/tenant-membership.model.cjs.map +1 -1
  142. package/lib/cjs/namespaces/models/tenant-profile.model.cjs +2 -0
  143. package/lib/cjs/namespaces/models/tenant-profile.model.cjs.map +1 -1
  144. package/lib/cjs/namespaces/models/tenant.model.cjs +2 -0
  145. package/lib/cjs/namespaces/models/tenant.model.cjs.map +1 -1
  146. package/lib/cjs/namespaces/models/user.model.cjs +2 -0
  147. package/lib/cjs/namespaces/models/user.model.cjs.map +1 -1
  148. package/lib/cjs/namespaces/rls/index.cjs +28 -0
  149. package/lib/cjs/namespaces/rls/index.cjs.map +1 -0
  150. package/lib/cjs/namespaces/rls/principal-resolver.cjs +66 -0
  151. package/lib/cjs/namespaces/rls/principal-resolver.cjs.map +1 -0
  152. package/lib/cjs/namespaces/rls/rls-bootstrap.service.cjs +269 -0
  153. package/lib/cjs/namespaces/rls/rls-bootstrap.service.cjs.map +1 -0
  154. package/lib/cjs/namespaces/rls/rls.constants.cjs +79 -0
  155. package/lib/cjs/namespaces/rls/rls.constants.cjs.map +1 -0
  156. package/lib/cjs/namespaces/rls/rls.template.cjs +719 -0
  157. package/lib/cjs/namespaces/rls/rls.template.cjs.map +1 -0
  158. package/lib/cjs/namespaces/rls/rls.types.cjs +4 -0
  159. package/lib/cjs/namespaces/rls/rls.types.cjs.map +1 -0
  160. package/lib/cjs/namespaces/rls/session-binding.cjs +70 -0
  161. package/lib/cjs/namespaces/rls/session-binding.cjs.map +1 -0
  162. package/lib/cjs/namespaces/services/credential.service.cjs +327 -0
  163. package/lib/cjs/namespaces/services/credential.service.cjs.map +1 -0
  164. package/lib/cjs/namespaces/services/index.cjs +1 -0
  165. package/lib/cjs/namespaces/services/index.cjs.map +1 -1
  166. package/lib/cjs/namespaces/types.cjs +6 -1
  167. package/lib/cjs/namespaces/types.cjs.map +1 -1
  168. package/lib/cjs/redis/RedisContextLock.cjs +185 -0
  169. package/lib/cjs/redis/RedisContextLock.cjs.map +1 -0
  170. package/lib/cjs/redis/RedisDispatch.cjs +132 -0
  171. package/lib/cjs/redis/RedisDispatch.cjs.map +1 -0
  172. package/lib/cjs/redis/RedisPaginator.cjs +95 -0
  173. package/lib/cjs/redis/RedisPaginator.cjs.map +1 -0
  174. package/lib/cjs/redis/RedisStatement.cjs +433 -0
  175. package/lib/cjs/redis/RedisStatement.cjs.map +1 -0
  176. package/lib/cjs/redis/adapter.cjs +715 -0
  177. package/lib/cjs/redis/adapter.cjs.map +1 -0
  178. package/lib/cjs/redis/constants.cjs +31 -0
  179. package/lib/cjs/redis/constants.cjs.map +1 -0
  180. package/lib/cjs/redis/handlers.cjs +27 -0
  181. package/lib/cjs/redis/handlers.cjs.map +1 -0
  182. package/lib/cjs/redis/index.cjs +36 -0
  183. package/lib/cjs/redis/index.cjs.map +1 -0
  184. package/lib/cjs/redis/serialization.cjs +63 -0
  185. package/lib/cjs/redis/serialization.cjs.map +1 -0
  186. package/lib/cjs/redis/types.cjs.map +1 -0
  187. package/lib/cjs/secrets/InfraCredentialBootstrap.cjs +80 -0
  188. package/lib/cjs/secrets/InfraCredentialBootstrap.cjs.map +1 -0
  189. package/lib/cjs/secrets/aws/AwsSecretService.cjs +2 -15
  190. package/lib/cjs/secrets/aws/AwsSecretService.cjs.map +1 -1
  191. package/lib/cjs/secrets/azure/AzureKeyVaultSecretService.cjs +2 -16
  192. package/lib/cjs/secrets/azure/AzureKeyVaultSecretService.cjs.map +1 -1
  193. package/lib/cjs/secrets/core/SecretReference.cjs +1 -0
  194. package/lib/cjs/secrets/core/SecretReference.cjs.map +1 -1
  195. package/lib/cjs/secrets/fs/FsSecretEnvironment.cjs +28 -0
  196. package/lib/cjs/secrets/fs/FsSecretEnvironment.cjs.map +1 -0
  197. package/lib/cjs/secrets/fs/FsSecretService.cjs +420 -0
  198. package/lib/cjs/secrets/fs/FsSecretService.cjs.map +1 -0
  199. package/lib/cjs/secrets/fs/FsSecretServiceConfig.cjs +25 -0
  200. package/lib/cjs/secrets/fs/FsSecretServiceConfig.cjs.map +1 -0
  201. package/lib/cjs/secrets/fs/index.cjs +27 -0
  202. package/lib/cjs/secrets/fs/index.cjs.map +1 -0
  203. package/lib/cjs/secrets/gcp/GcpSecretManagerService.cjs +2 -16
  204. package/lib/cjs/secrets/gcp/GcpSecretManagerService.cjs.map +1 -1
  205. package/lib/cjs/secrets/index.cjs +2 -0
  206. package/lib/cjs/secrets/index.cjs.map +1 -1
  207. package/lib/cjs/secrets/model/ModelSecretService.cjs +335 -43
  208. package/lib/cjs/secrets/model/ModelSecretService.cjs.map +1 -1
  209. package/lib/cjs/secrets/model/Secret.cjs +83 -5
  210. package/lib/cjs/secrets/model/Secret.cjs.map +1 -1
  211. package/lib/cjs/secrets/onepassword/OnePasswordSecretService.cjs +2 -16
  212. package/lib/cjs/secrets/onepassword/OnePasswordSecretService.cjs.map +1 -1
  213. package/lib/cjs/secrets/vault/VaultSecretService.cjs +2 -16
  214. package/lib/cjs/secrets/vault/VaultSecretService.cjs.map +1 -1
  215. package/lib/cjs/shared/environmentValue.cjs +24 -0
  216. package/lib/cjs/shared/environmentValue.cjs.map +1 -1
  217. package/lib/cjs/shared/http/HttpApiService.cjs +190 -0
  218. package/lib/cjs/shared/http/HttpApiService.cjs.map +1 -0
  219. package/lib/cjs/shared/http/hermeticBoot.cjs +150 -0
  220. package/lib/cjs/shared/http/hermeticBoot.cjs.map +1 -0
  221. package/lib/cjs/shared/http/index.cjs +28 -0
  222. package/lib/cjs/shared/http/index.cjs.map +1 -0
  223. package/lib/esm/blob/azure/AzureBlobStoreService.js +13 -21
  224. package/lib/esm/blob/azure/AzureBlobStoreService.js.map +1 -1
  225. package/lib/esm/blob/core/BlobStoreFactory.js +0 -4
  226. package/lib/esm/blob/core/BlobStoreFactory.js.map +1 -1
  227. package/lib/esm/blob/core/BlobStoreService.js +26 -25
  228. package/lib/esm/blob/core/BlobStoreService.js.map +1 -1
  229. package/lib/esm/blob/gcp/GcsBlobStoreService.js +13 -21
  230. package/lib/esm/blob/gcp/GcsBlobStoreService.js.map +1 -1
  231. package/lib/esm/blob/s3/S3BlobStoreService.js +12 -14
  232. package/lib/esm/blob/s3/S3BlobStoreService.js.map +1 -1
  233. package/lib/esm/blob/s3/S3CompatibleBlobStoreService.js +14 -16
  234. package/lib/esm/blob/s3/S3CompatibleBlobStoreService.js.map +1 -1
  235. package/lib/esm/comms/email/EmailService.js +338 -0
  236. package/lib/esm/comms/email/EmailService.js.map +1 -0
  237. package/lib/esm/comms/email/index.js +12 -0
  238. package/lib/esm/comms/email/index.js.map +1 -0
  239. package/lib/esm/comms/email/mime.js +218 -0
  240. package/lib/esm/comms/email/mime.js.map +1 -0
  241. package/lib/esm/comms/email/smtp.js +166 -0
  242. package/lib/esm/comms/email/smtp.js.map +1 -0
  243. package/lib/esm/comms/environment.js +59 -0
  244. package/lib/esm/comms/environment.js.map +1 -0
  245. package/lib/esm/comms/gmail/GmailService.js +230 -0
  246. package/lib/esm/comms/gmail/GmailService.js.map +1 -0
  247. package/lib/esm/comms/gmail/index.js +7 -0
  248. package/lib/esm/comms/gmail/index.js.map +1 -0
  249. package/lib/esm/comms/index.js +14 -0
  250. package/lib/esm/comms/index.js.map +1 -0
  251. package/lib/esm/comms/slack/SlackService.js +259 -0
  252. package/lib/esm/comms/slack/SlackService.js.map +1 -0
  253. package/lib/esm/comms/slack/index.js +7 -0
  254. package/lib/esm/comms/slack/index.js.map +1 -0
  255. package/lib/esm/comms/teams/TeamsService.js +204 -0
  256. package/lib/esm/comms/teams/TeamsService.js.map +1 -0
  257. package/lib/esm/comms/teams/index.js +7 -0
  258. package/lib/esm/comms/teams/index.js.map +1 -0
  259. package/lib/esm/comms/telegram/TelegramService.js +191 -0
  260. package/lib/esm/comms/telegram/TelegramService.js.map +1 -0
  261. package/lib/esm/comms/telegram/index.js +7 -0
  262. package/lib/esm/comms/telegram/index.js.map +1 -0
  263. package/lib/esm/devops/environment.js +39 -0
  264. package/lib/esm/devops/environment.js.map +1 -0
  265. package/lib/esm/devops/github/GithubService.js +297 -0
  266. package/lib/esm/devops/github/GithubService.js.map +1 -0
  267. package/lib/esm/devops/github/index.js +7 -0
  268. package/lib/esm/devops/github/index.js.map +1 -0
  269. package/lib/esm/devops/gitlab/GitlabService.js +277 -0
  270. package/lib/esm/devops/gitlab/GitlabService.js.map +1 -0
  271. package/lib/esm/devops/gitlab/index.js +7 -0
  272. package/lib/esm/devops/gitlab/index.js.map +1 -0
  273. package/lib/esm/devops/index.js +11 -0
  274. package/lib/esm/devops/index.js.map +1 -0
  275. package/lib/esm/feature-flags/EngineCapabilityFeatureFlag.service.js +203 -0
  276. package/lib/esm/feature-flags/EngineCapabilityFeatureFlag.service.js.map +1 -0
  277. package/lib/esm/feature-flags/index.js +1 -0
  278. package/lib/esm/feature-flags/index.js.map +1 -1
  279. package/lib/esm/feature-flags/models/FeatureFlag.model.js +2 -0
  280. package/lib/esm/feature-flags/models/FeatureFlag.model.js.map +1 -1
  281. package/lib/esm/feature-flags/models/FeatureFlagAccess.model.js +2 -0
  282. package/lib/esm/feature-flags/models/FeatureFlagAccess.model.js.map +1 -1
  283. package/lib/esm/index.js +3 -3
  284. package/lib/esm/io/airtable/AirtableService.js +261 -0
  285. package/lib/esm/io/airtable/AirtableService.js.map +1 -0
  286. package/lib/esm/io/airtable/index.js +7 -0
  287. package/lib/esm/io/airtable/index.js.map +1 -0
  288. package/lib/esm/io/environment.js +42 -0
  289. package/lib/esm/io/environment.js.map +1 -0
  290. package/lib/esm/io/google-sheets/GoogleSheetsService.js +283 -0
  291. package/lib/esm/io/google-sheets/GoogleSheetsService.js.map +1 -0
  292. package/lib/esm/io/google-sheets/index.js +7 -0
  293. package/lib/esm/io/google-sheets/index.js.map +1 -0
  294. package/lib/esm/io/graphql/GraphqlService.js +138 -0
  295. package/lib/esm/io/graphql/GraphqlService.js.map +1 -0
  296. package/lib/esm/io/graphql/index.js +7 -0
  297. package/lib/esm/io/graphql/index.js.map +1 -0
  298. package/lib/esm/io/index.js +13 -0
  299. package/lib/esm/io/index.js.map +1 -0
  300. package/lib/esm/io/spreadsheet/SpreadsheetService.js +200 -0
  301. package/lib/esm/io/spreadsheet/SpreadsheetService.js.map +1 -0
  302. package/lib/esm/io/spreadsheet/index.js +8 -0
  303. package/lib/esm/io/spreadsheet/index.js.map +1 -0
  304. package/lib/esm/loader/ObjectLoader.js +94 -11
  305. package/lib/esm/loader/ObjectLoader.js.map +1 -1
  306. package/lib/esm/loader/assets.js +155 -0
  307. package/lib/esm/loader/assets.js.map +1 -0
  308. package/lib/esm/loader/config.js +202 -0
  309. package/lib/esm/loader/config.js.map +1 -0
  310. package/lib/esm/loader/families.js +25 -10
  311. package/lib/esm/loader/families.js.map +1 -1
  312. package/lib/esm/loader/index.js +3 -0
  313. package/lib/esm/loader/index.js.map +1 -1
  314. package/lib/esm/loader/nest.js +292 -0
  315. package/lib/esm/loader/nest.js.map +1 -0
  316. package/lib/esm/namespaces/index.js +1 -0
  317. package/lib/esm/namespaces/index.js.map +1 -1
  318. package/lib/esm/namespaces/models/credential.model.js +106 -0
  319. package/lib/esm/namespaces/models/credential.model.js.map +1 -0
  320. package/lib/esm/namespaces/models/effective-permission.model.js +2 -0
  321. package/lib/esm/namespaces/models/effective-permission.model.js.map +1 -1
  322. package/lib/esm/namespaces/models/group-membership.model.js +2 -0
  323. package/lib/esm/namespaces/models/group-membership.model.js.map +1 -1
  324. package/lib/esm/namespaces/models/group.model.js +2 -0
  325. package/lib/esm/namespaces/models/group.model.js.map +1 -1
  326. package/lib/esm/namespaces/models/index.js +1 -0
  327. package/lib/esm/namespaces/models/index.js.map +1 -1
  328. package/lib/esm/namespaces/models/inheritance-block.model.js +2 -0
  329. package/lib/esm/namespaces/models/inheritance-block.model.js.map +1 -1
  330. package/lib/esm/namespaces/models/org-unit-closure.model.js +2 -0
  331. package/lib/esm/namespaces/models/org-unit-closure.model.js.map +1 -1
  332. package/lib/esm/namespaces/models/org-unit-membership.model.js +2 -0
  333. package/lib/esm/namespaces/models/org-unit-membership.model.js.map +1 -1
  334. package/lib/esm/namespaces/models/org-unit-profile.model.js +2 -0
  335. package/lib/esm/namespaces/models/org-unit-profile.model.js.map +1 -1
  336. package/lib/esm/namespaces/models/org-unit.model.js +2 -0
  337. package/lib/esm/namespaces/models/org-unit.model.js.map +1 -1
  338. package/lib/esm/namespaces/models/permission.model.js +2 -0
  339. package/lib/esm/namespaces/models/permission.model.js.map +1 -1
  340. package/lib/esm/namespaces/models/principal.model.js +2 -0
  341. package/lib/esm/namespaces/models/principal.model.js.map +1 -1
  342. package/lib/esm/namespaces/models/protected-resource.model.js +2 -0
  343. package/lib/esm/namespaces/models/protected-resource.model.js.map +1 -1
  344. package/lib/esm/namespaces/models/resource-grant.model.js +2 -0
  345. package/lib/esm/namespaces/models/resource-grant.model.js.map +1 -1
  346. package/lib/esm/namespaces/models/role-assignment.model.js +2 -0
  347. package/lib/esm/namespaces/models/role-assignment.model.js.map +1 -1
  348. package/lib/esm/namespaces/models/role-permission.model.js +2 -0
  349. package/lib/esm/namespaces/models/role-permission.model.js.map +1 -1
  350. package/lib/esm/namespaces/models/role.model.js +2 -0
  351. package/lib/esm/namespaces/models/role.model.js.map +1 -1
  352. package/lib/esm/namespaces/models/storage-binding.model.js +2 -0
  353. package/lib/esm/namespaces/models/storage-binding.model.js.map +1 -1
  354. package/lib/esm/namespaces/models/tenant-membership.model.js +2 -0
  355. package/lib/esm/namespaces/models/tenant-membership.model.js.map +1 -1
  356. package/lib/esm/namespaces/models/tenant-profile.model.js +2 -0
  357. package/lib/esm/namespaces/models/tenant-profile.model.js.map +1 -1
  358. package/lib/esm/namespaces/models/tenant.model.js +2 -0
  359. package/lib/esm/namespaces/models/tenant.model.js.map +1 -1
  360. package/lib/esm/namespaces/models/user.model.js +2 -0
  361. package/lib/esm/namespaces/models/user.model.js.map +1 -1
  362. package/lib/esm/namespaces/rls/index.js +11 -0
  363. package/lib/esm/namespaces/rls/index.js.map +1 -0
  364. package/lib/esm/namespaces/rls/principal-resolver.js +61 -0
  365. package/lib/esm/namespaces/rls/principal-resolver.js.map +1 -0
  366. package/lib/esm/namespaces/rls/rls-bootstrap.service.js +261 -0
  367. package/lib/esm/namespaces/rls/rls-bootstrap.service.js.map +1 -0
  368. package/lib/esm/namespaces/rls/rls.constants.js +75 -0
  369. package/lib/esm/namespaces/rls/rls.constants.js.map +1 -0
  370. package/lib/esm/namespaces/rls/rls.template.js +711 -0
  371. package/lib/esm/namespaces/rls/rls.template.js.map +1 -0
  372. package/lib/esm/namespaces/rls/rls.types.js +9 -0
  373. package/lib/esm/namespaces/rls/rls.types.js.map +1 -0
  374. package/lib/esm/namespaces/rls/session-binding.js +65 -0
  375. package/lib/esm/namespaces/rls/session-binding.js.map +1 -0
  376. package/lib/esm/namespaces/services/credential.service.js +322 -0
  377. package/lib/esm/namespaces/services/credential.service.js.map +1 -0
  378. package/lib/esm/namespaces/services/index.js +1 -0
  379. package/lib/esm/namespaces/services/index.js.map +1 -1
  380. package/lib/esm/namespaces/types.js +6 -0
  381. package/lib/esm/namespaces/types.js.map +1 -1
  382. package/lib/esm/redis/RedisContextLock.js +180 -0
  383. package/lib/esm/redis/RedisContextLock.js.map +1 -0
  384. package/lib/esm/redis/RedisDispatch.js +127 -0
  385. package/lib/esm/redis/RedisDispatch.js.map +1 -0
  386. package/lib/esm/redis/RedisPaginator.js +90 -0
  387. package/lib/esm/redis/RedisPaginator.js.map +1 -0
  388. package/lib/esm/redis/RedisStatement.js +428 -0
  389. package/lib/esm/redis/RedisStatement.js.map +1 -0
  390. package/lib/esm/redis/adapter.js +710 -0
  391. package/lib/esm/redis/adapter.js.map +1 -0
  392. package/lib/esm/redis/constants.js +27 -0
  393. package/lib/esm/redis/constants.js.map +1 -0
  394. package/lib/esm/redis/handlers.js +23 -0
  395. package/lib/esm/redis/handlers.js.map +1 -0
  396. package/lib/esm/redis/index.js +19 -0
  397. package/lib/esm/redis/index.js.map +1 -0
  398. package/lib/esm/redis/serialization.js +57 -0
  399. package/lib/esm/redis/serialization.js.map +1 -0
  400. package/lib/esm/redis/types.js.map +1 -0
  401. package/lib/esm/secrets/InfraCredentialBootstrap.js +74 -0
  402. package/lib/esm/secrets/InfraCredentialBootstrap.js.map +1 -0
  403. package/lib/esm/secrets/aws/AwsSecretService.js +3 -13
  404. package/lib/esm/secrets/aws/AwsSecretService.js.map +1 -1
  405. package/lib/esm/secrets/azure/AzureKeyVaultSecretService.js +2 -13
  406. package/lib/esm/secrets/azure/AzureKeyVaultSecretService.js.map +1 -1
  407. package/lib/esm/secrets/core/SecretReference.js +1 -0
  408. package/lib/esm/secrets/core/SecretReference.js.map +1 -1
  409. package/lib/esm/secrets/fs/FsSecretEnvironment.js +24 -0
  410. package/lib/esm/secrets/fs/FsSecretEnvironment.js.map +1 -0
  411. package/lib/esm/secrets/fs/FsSecretService.js +412 -0
  412. package/lib/esm/secrets/fs/FsSecretService.js.map +1 -0
  413. package/lib/esm/secrets/fs/FsSecretServiceConfig.js +21 -0
  414. package/lib/esm/secrets/fs/FsSecretServiceConfig.js.map +1 -0
  415. package/lib/esm/secrets/fs/index.js +10 -0
  416. package/lib/esm/secrets/fs/index.js.map +1 -0
  417. package/lib/esm/secrets/gcp/GcpSecretManagerService.js +2 -13
  418. package/lib/esm/secrets/gcp/GcpSecretManagerService.js.map +1 -1
  419. package/lib/esm/secrets/index.js +2 -0
  420. package/lib/esm/secrets/index.js.map +1 -1
  421. package/lib/esm/secrets/model/ModelSecretService.js +337 -42
  422. package/lib/esm/secrets/model/ModelSecretService.js.map +1 -1
  423. package/lib/esm/secrets/model/Secret.js +86 -7
  424. package/lib/esm/secrets/model/Secret.js.map +1 -1
  425. package/lib/esm/secrets/onepassword/OnePasswordSecretService.js +2 -13
  426. package/lib/esm/secrets/onepassword/OnePasswordSecretService.js.map +1 -1
  427. package/lib/esm/secrets/vault/VaultSecretService.js +2 -13
  428. package/lib/esm/secrets/vault/VaultSecretService.js.map +1 -1
  429. package/lib/esm/shared/environmentValue.js +24 -0
  430. package/lib/esm/shared/environmentValue.js.map +1 -1
  431. package/lib/esm/shared/http/HttpApiService.js +181 -0
  432. package/lib/esm/shared/http/HttpApiService.js.map +1 -0
  433. package/lib/esm/shared/http/hermeticBoot.js +146 -0
  434. package/lib/esm/shared/http/hermeticBoot.js.map +1 -0
  435. package/lib/esm/shared/http/index.js +11 -0
  436. package/lib/esm/shared/http/index.js.map +1 -0
  437. package/lib/types/blob/azure/AzureBlobStoreService.d.cts +7 -7
  438. package/lib/types/blob/azure/AzureBlobStoreService.d.mts +7 -7
  439. package/lib/types/blob/core/BlobStoreService.d.cts +28 -27
  440. package/lib/types/blob/core/BlobStoreService.d.mts +28 -27
  441. package/lib/types/blob/core/BlobTypes.d.cts +1 -14
  442. package/lib/types/blob/core/BlobTypes.d.mts +1 -14
  443. package/lib/types/blob/gcp/GcsBlobStoreService.d.cts +7 -7
  444. package/lib/types/blob/gcp/GcsBlobStoreService.d.mts +7 -7
  445. package/lib/types/blob/s3/S3BlobStoreService.d.cts +9 -1
  446. package/lib/types/blob/s3/S3BlobStoreService.d.mts +9 -1
  447. package/lib/types/blob/s3/S3CompatibleBlobStoreService.d.cts +11 -15
  448. package/lib/types/blob/s3/S3CompatibleBlobStoreService.d.mts +11 -15
  449. package/lib/types/comms/email/EmailService.d.cts +184 -0
  450. package/lib/types/comms/email/EmailService.d.mts +184 -0
  451. package/lib/types/comms/email/index.d.cts +11 -0
  452. package/lib/types/comms/email/index.d.mts +11 -0
  453. package/lib/types/comms/email/mime.d.cts +84 -0
  454. package/lib/types/comms/email/mime.d.mts +84 -0
  455. package/lib/types/comms/email/smtp.d.cts +107 -0
  456. package/lib/types/comms/email/smtp.d.mts +107 -0
  457. package/lib/types/comms/environment.d.cts +84 -0
  458. package/lib/types/comms/environment.d.mts +84 -0
  459. package/lib/types/comms/gmail/GmailService.d.cts +190 -0
  460. package/lib/types/comms/gmail/GmailService.d.mts +190 -0
  461. package/lib/types/comms/gmail/index.d.cts +6 -0
  462. package/lib/types/comms/gmail/index.d.mts +6 -0
  463. package/lib/types/comms/index.d.cts +13 -0
  464. package/lib/types/comms/index.d.mts +13 -0
  465. package/lib/types/comms/slack/SlackService.d.cts +259 -0
  466. package/lib/types/comms/slack/SlackService.d.mts +259 -0
  467. package/lib/types/comms/slack/index.d.cts +6 -0
  468. package/lib/types/comms/slack/index.d.mts +6 -0
  469. package/lib/types/comms/teams/TeamsService.d.cts +172 -0
  470. package/lib/types/comms/teams/TeamsService.d.mts +172 -0
  471. package/lib/types/comms/teams/index.d.cts +6 -0
  472. package/lib/types/comms/teams/index.d.mts +6 -0
  473. package/lib/types/comms/telegram/TelegramService.d.cts +202 -0
  474. package/lib/types/comms/telegram/TelegramService.d.mts +202 -0
  475. package/lib/types/comms/telegram/index.d.cts +6 -0
  476. package/lib/types/comms/telegram/index.d.mts +6 -0
  477. package/lib/types/devops/environment.d.cts +62 -0
  478. package/lib/types/devops/environment.d.mts +62 -0
  479. package/lib/types/devops/github/GithubService.d.cts +287 -0
  480. package/lib/types/devops/github/GithubService.d.mts +287 -0
  481. package/lib/types/devops/github/index.d.cts +6 -0
  482. package/lib/types/devops/github/index.d.mts +6 -0
  483. package/lib/types/devops/gitlab/GitlabService.d.cts +277 -0
  484. package/lib/types/devops/gitlab/GitlabService.d.mts +277 -0
  485. package/lib/types/devops/gitlab/index.d.cts +6 -0
  486. package/lib/types/devops/gitlab/index.d.mts +6 -0
  487. package/lib/types/devops/index.d.cts +10 -0
  488. package/lib/types/devops/index.d.mts +10 -0
  489. package/lib/types/feature-flags/EngineCapabilityFeatureFlag.service.d.cts +116 -0
  490. package/lib/types/feature-flags/EngineCapabilityFeatureFlag.service.d.mts +116 -0
  491. package/lib/types/feature-flags/index.d.cts +1 -0
  492. package/lib/types/feature-flags/index.d.mts +1 -0
  493. package/lib/types/index.d.cts +2 -2
  494. package/lib/types/index.d.mts +2 -2
  495. package/lib/types/io/airtable/AirtableService.d.cts +268 -0
  496. package/lib/types/io/airtable/AirtableService.d.mts +268 -0
  497. package/lib/types/io/airtable/index.d.cts +6 -0
  498. package/lib/types/io/airtable/index.d.mts +6 -0
  499. package/lib/types/io/environment.d.cts +67 -0
  500. package/lib/types/io/environment.d.mts +67 -0
  501. package/lib/types/io/google-sheets/GoogleSheetsService.d.cts +204 -0
  502. package/lib/types/io/google-sheets/GoogleSheetsService.d.mts +204 -0
  503. package/lib/types/io/google-sheets/index.d.cts +6 -0
  504. package/lib/types/io/google-sheets/index.d.mts +6 -0
  505. package/lib/types/io/graphql/GraphqlService.d.cts +173 -0
  506. package/lib/types/io/graphql/GraphqlService.d.mts +173 -0
  507. package/lib/types/io/graphql/index.d.cts +6 -0
  508. package/lib/types/io/graphql/index.d.mts +6 -0
  509. package/lib/types/io/index.d.cts +12 -0
  510. package/lib/types/io/index.d.mts +12 -0
  511. package/lib/types/io/spreadsheet/SpreadsheetService.d.cts +144 -0
  512. package/lib/types/io/spreadsheet/SpreadsheetService.d.mts +144 -0
  513. package/lib/types/io/spreadsheet/index.d.cts +7 -0
  514. package/lib/types/io/spreadsheet/index.d.mts +7 -0
  515. package/lib/types/loader/ObjectLoader.d.cts +46 -2
  516. package/lib/types/loader/ObjectLoader.d.mts +46 -2
  517. package/lib/types/loader/assets.d.cts +43 -0
  518. package/lib/types/loader/assets.d.mts +43 -0
  519. package/lib/types/loader/config.d.cts +84 -0
  520. package/lib/types/loader/config.d.mts +84 -0
  521. package/lib/types/loader/families.d.cts +19 -7
  522. package/lib/types/loader/families.d.mts +19 -7
  523. package/lib/types/loader/index.d.cts +3 -0
  524. package/lib/types/loader/index.d.mts +3 -0
  525. package/lib/types/loader/nest.d.cts +102 -0
  526. package/lib/types/loader/nest.d.mts +102 -0
  527. package/lib/types/loader/types.d.cts +27 -1
  528. package/lib/types/loader/types.d.mts +27 -1
  529. package/lib/types/namespaces/index.d.cts +1 -0
  530. package/lib/types/namespaces/index.d.mts +1 -0
  531. package/lib/types/namespaces/models/credential.model.d.cts +23 -0
  532. package/lib/types/namespaces/models/credential.model.d.mts +23 -0
  533. package/lib/types/namespaces/models/index.d.cts +1 -0
  534. package/lib/types/namespaces/models/index.d.mts +1 -0
  535. package/lib/types/namespaces/rls/index.d.cts +10 -0
  536. package/lib/types/namespaces/rls/index.d.mts +10 -0
  537. package/lib/types/namespaces/rls/principal-resolver.d.cts +47 -0
  538. package/lib/types/namespaces/rls/principal-resolver.d.mts +47 -0
  539. package/lib/types/namespaces/rls/rls-bootstrap.service.d.cts +157 -0
  540. package/lib/types/namespaces/rls/rls-bootstrap.service.d.mts +157 -0
  541. package/lib/types/namespaces/rls/rls.constants.d.cts +52 -0
  542. package/lib/types/namespaces/rls/rls.constants.d.mts +52 -0
  543. package/lib/types/namespaces/rls/rls.template.d.cts +42 -0
  544. package/lib/types/namespaces/rls/rls.template.d.mts +42 -0
  545. package/lib/types/namespaces/rls/rls.types.d.cts +77 -0
  546. package/lib/types/namespaces/rls/rls.types.d.mts +77 -0
  547. package/lib/types/namespaces/rls/session-binding.d.cts +87 -0
  548. package/lib/types/namespaces/rls/session-binding.d.mts +87 -0
  549. package/lib/types/namespaces/services/credential.service.d.cts +175 -0
  550. package/lib/types/namespaces/services/credential.service.d.mts +175 -0
  551. package/lib/types/namespaces/services/index.d.cts +1 -0
  552. package/lib/types/namespaces/services/index.d.mts +1 -0
  553. package/lib/types/namespaces/types.d.cts +37 -0
  554. package/lib/types/namespaces/types.d.mts +37 -0
  555. package/lib/types/redis/RedisContextLock.d.cts +106 -0
  556. package/lib/types/redis/RedisContextLock.d.mts +106 -0
  557. package/lib/types/redis/RedisDispatch.d.cts +56 -0
  558. package/lib/types/redis/RedisDispatch.d.mts +56 -0
  559. package/lib/types/redis/RedisPaginator.d.cts +58 -0
  560. package/lib/types/redis/RedisPaginator.d.mts +58 -0
  561. package/lib/types/redis/RedisStatement.d.cts +175 -0
  562. package/lib/types/redis/RedisStatement.d.mts +175 -0
  563. package/lib/types/redis/adapter.d.cts +290 -0
  564. package/lib/types/redis/adapter.d.mts +290 -0
  565. package/lib/types/redis/constants.d.cts +26 -0
  566. package/lib/types/redis/constants.d.mts +26 -0
  567. package/lib/types/redis/handlers.d.cts +20 -0
  568. package/lib/types/redis/handlers.d.mts +20 -0
  569. package/lib/types/redis/index.d.cts +17 -0
  570. package/lib/types/redis/index.d.mts +17 -0
  571. package/lib/types/redis/serialization.d.cts +35 -0
  572. package/lib/types/redis/serialization.d.mts +35 -0
  573. package/lib/types/redis/types.d.cts +97 -0
  574. package/lib/types/redis/types.d.mts +97 -0
  575. package/lib/types/secrets/InfraCredentialBootstrap.d.cts +100 -0
  576. package/lib/types/secrets/InfraCredentialBootstrap.d.mts +100 -0
  577. package/lib/types/secrets/core/SecretTypes.d.cts +15 -1
  578. package/lib/types/secrets/core/SecretTypes.d.mts +15 -1
  579. package/lib/types/secrets/fs/FsSecretEnvironment.d.cts +42 -0
  580. package/lib/types/secrets/fs/FsSecretEnvironment.d.mts +42 -0
  581. package/lib/types/secrets/fs/FsSecretService.d.cts +207 -0
  582. package/lib/types/secrets/fs/FsSecretService.d.mts +207 -0
  583. package/lib/types/secrets/fs/FsSecretServiceConfig.d.cts +37 -0
  584. package/lib/types/secrets/fs/FsSecretServiceConfig.d.mts +37 -0
  585. package/lib/types/secrets/fs/index.d.cts +9 -0
  586. package/lib/types/secrets/fs/index.d.mts +9 -0
  587. package/lib/types/secrets/index.d.cts +2 -0
  588. package/lib/types/secrets/index.d.mts +2 -0
  589. package/lib/types/secrets/model/ModelSecretService.d.cts +190 -1
  590. package/lib/types/secrets/model/ModelSecretService.d.mts +190 -1
  591. package/lib/types/secrets/model/Secret.d.cts +44 -3
  592. package/lib/types/secrets/model/Secret.d.mts +44 -3
  593. package/lib/types/shared/environmentValue.d.cts +24 -0
  594. package/lib/types/shared/environmentValue.d.mts +24 -0
  595. package/lib/types/shared/http/HttpApiService.d.cts +193 -0
  596. package/lib/types/shared/http/HttpApiService.d.mts +193 -0
  597. package/lib/types/shared/http/hermeticBoot.d.cts +84 -0
  598. package/lib/types/shared/http/hermeticBoot.d.mts +84 -0
  599. package/lib/types/shared/http/index.d.cts +10 -0
  600. package/lib/types/shared/http/index.d.mts +10 -0
  601. package/package.json +195 -34
  602. package/sql/002_rls.sql +660 -15
  603. package/sql/004_credentials.sql +46 -0
  604. package/lib/cjs/blob/ipfs/IpfsBlobEnvironment.cjs +0 -30
  605. package/lib/cjs/blob/ipfs/IpfsBlobEnvironment.cjs.map +0 -1
  606. package/lib/cjs/blob/ipfs/IpfsBlobStoreService.cjs +0 -248
  607. package/lib/cjs/blob/ipfs/IpfsBlobStoreService.cjs.map +0 -1
  608. package/lib/cjs/blob/ipfs/IpfsKeyIndex.cjs +0 -27
  609. package/lib/cjs/blob/ipfs/IpfsKeyIndex.cjs.map +0 -1
  610. package/lib/cjs/blob/ipfs/LocalJsonIpfsKeyIndex.cjs +0 -35
  611. package/lib/cjs/blob/ipfs/LocalJsonIpfsKeyIndex.cjs.map +0 -1
  612. package/lib/cjs/blob/ipfs/MemoryIpfsKeyIndex.cjs +0 -45
  613. package/lib/cjs/blob/ipfs/MemoryIpfsKeyIndex.cjs.map +0 -1
  614. package/lib/cjs/blob/ipfs/PostgresIpfsKeyIndex.cjs +0 -35
  615. package/lib/cjs/blob/ipfs/PostgresIpfsKeyIndex.cjs.map +0 -1
  616. package/lib/cjs/blob/ipfs/index.cjs +0 -29
  617. package/lib/cjs/blob/ipfs/index.cjs.map +0 -1
  618. package/lib/cjs/graph/engine/catalog/GraphBuiltInRegistrations.cjs +0 -39
  619. package/lib/cjs/graph/engine/catalog/GraphBuiltInRegistrations.cjs.map +0 -1
  620. package/lib/cjs/graph/engine/catalog/GraphCatalogueErrors.cjs +0 -29
  621. package/lib/cjs/graph/engine/catalog/GraphCatalogueErrors.cjs.map +0 -1
  622. package/lib/cjs/graph/engine/catalog/GraphNodeCatalogue.cjs +0 -270
  623. package/lib/cjs/graph/engine/catalog/GraphNodeCatalogue.cjs.map +0 -1
  624. package/lib/cjs/graph/engine/catalog/GraphNodeManifestResolver.cjs +0 -169
  625. package/lib/cjs/graph/engine/catalog/GraphNodeManifestResolver.cjs.map +0 -1
  626. package/lib/cjs/graph/engine/catalog/GraphNodeMethodRegistry.cjs +0 -64
  627. package/lib/cjs/graph/engine/catalog/GraphNodeMethodRegistry.cjs.map +0 -1
  628. package/lib/cjs/graph/engine/catalog/GraphNodeRegistration.cjs +0 -17
  629. package/lib/cjs/graph/engine/catalog/GraphNodeRegistration.cjs.map +0 -1
  630. package/lib/cjs/graph/engine/catalog/index.cjs +0 -24
  631. package/lib/cjs/graph/engine/catalog/index.cjs.map +0 -1
  632. package/lib/cjs/graph/engine/constants.cjs +0 -58
  633. package/lib/cjs/graph/engine/constants.cjs.map +0 -1
  634. package/lib/cjs/graph/engine/decorators.cjs +0 -4
  635. package/lib/cjs/graph/engine/decorators.cjs.map +0 -1
  636. package/lib/cjs/graph/engine/errors/GraphBreakSignal.cjs +0 -37
  637. package/lib/cjs/graph/engine/errors/GraphBreakSignal.cjs.map +0 -1
  638. package/lib/cjs/graph/engine/errors/GraphCycleError.cjs +0 -20
  639. package/lib/cjs/graph/engine/errors/GraphCycleError.cjs.map +0 -1
  640. package/lib/cjs/graph/engine/errors/GraphExecutionError.cjs +0 -28
  641. package/lib/cjs/graph/engine/errors/GraphExecutionError.cjs.map +0 -1
  642. package/lib/cjs/graph/engine/errors/GraphInputError.cjs +0 -20
  643. package/lib/cjs/graph/engine/errors/GraphInputError.cjs.map +0 -1
  644. package/lib/cjs/graph/engine/errors/GraphLoopLimitError.cjs +0 -20
  645. package/lib/cjs/graph/engine/errors/GraphLoopLimitError.cjs.map +0 -1
  646. package/lib/cjs/graph/engine/errors/GraphPinningError.cjs +0 -20
  647. package/lib/cjs/graph/engine/errors/GraphPinningError.cjs.map +0 -1
  648. package/lib/cjs/graph/engine/errors/GraphPortError.cjs +0 -20
  649. package/lib/cjs/graph/engine/errors/GraphPortError.cjs.map +0 -1
  650. package/lib/cjs/graph/engine/errors/GraphRunCancelledError.cjs +0 -18
  651. package/lib/cjs/graph/engine/errors/GraphRunCancelledError.cjs.map +0 -1
  652. package/lib/cjs/graph/engine/errors/GraphStoreError.cjs +0 -20
  653. package/lib/cjs/graph/engine/errors/GraphStoreError.cjs.map +0 -1
  654. package/lib/cjs/graph/engine/errors/GraphTopologyError.cjs +0 -20
  655. package/lib/cjs/graph/engine/errors/GraphTopologyError.cjs.map +0 -1
  656. package/lib/cjs/graph/engine/errors/index.cjs +0 -33
  657. package/lib/cjs/graph/engine/errors/index.cjs.map +0 -1
  658. package/lib/cjs/graph/engine/events/GraphExecutionEventEmitter.cjs +0 -40
  659. package/lib/cjs/graph/engine/events/GraphExecutionEventEmitter.cjs.map +0 -1
  660. package/lib/cjs/graph/engine/events/GraphExecutionEventFactory.cjs +0 -37
  661. package/lib/cjs/graph/engine/events/GraphExecutionEventFactory.cjs.map +0 -1
  662. package/lib/cjs/graph/engine/events/GraphExecutionObserver.cjs +0 -4
  663. package/lib/cjs/graph/engine/events/GraphExecutionObserver.cjs.map +0 -1
  664. package/lib/cjs/graph/engine/events/index.cjs +0 -26
  665. package/lib/cjs/graph/engine/events/index.cjs.map +0 -1
  666. package/lib/cjs/graph/engine/execution/CodeSandboxEvaluator.cjs +0 -4
  667. package/lib/cjs/graph/engine/execution/CodeSandboxEvaluator.cjs.map +0 -1
  668. package/lib/cjs/graph/engine/execution/GraphExecutionContext.cjs +0 -116
  669. package/lib/cjs/graph/engine/execution/GraphExecutionContext.cjs.map +0 -1
  670. package/lib/cjs/graph/engine/execution/GraphExecutionEngine.cjs +0 -854
  671. package/lib/cjs/graph/engine/execution/GraphExecutionEngine.cjs.map +0 -1
  672. package/lib/cjs/graph/engine/execution/GraphExecutionFrame.cjs +0 -48
  673. package/lib/cjs/graph/engine/execution/GraphExecutionFrame.cjs.map +0 -1
  674. package/lib/cjs/graph/engine/execution/GraphExecutionResult.cjs +0 -30
  675. package/lib/cjs/graph/engine/execution/GraphExecutionResult.cjs.map +0 -1
  676. package/lib/cjs/graph/engine/execution/GraphNodeExecutor.cjs +0 -4
  677. package/lib/cjs/graph/engine/execution/GraphNodeExecutor.cjs.map +0 -1
  678. package/lib/cjs/graph/engine/execution/IsolatedVmCodeSandboxEvaluator.cjs +0 -481
  679. package/lib/cjs/graph/engine/execution/IsolatedVmCodeSandboxEvaluator.cjs.map +0 -1
  680. package/lib/cjs/graph/engine/execution/index.cjs +0 -30
  681. package/lib/cjs/graph/engine/execution/index.cjs.map +0 -1
  682. package/lib/cjs/graph/engine/index.cjs +0 -79
  683. package/lib/cjs/graph/engine/index.cjs.map +0 -1
  684. package/lib/cjs/graph/engine/loops/ConditionExpressionEvaluator.cjs +0 -87
  685. package/lib/cjs/graph/engine/loops/ConditionExpressionEvaluator.cjs.map +0 -1
  686. package/lib/cjs/graph/engine/loops/GraphConditionEvaluator.cjs +0 -85
  687. package/lib/cjs/graph/engine/loops/GraphConditionEvaluator.cjs.map +0 -1
  688. package/lib/cjs/graph/engine/loops/GraphLoopExecutionContext.cjs +0 -16
  689. package/lib/cjs/graph/engine/loops/GraphLoopExecutionContext.cjs.map +0 -1
  690. package/lib/cjs/graph/engine/loops/index.cjs +0 -26
  691. package/lib/cjs/graph/engine/loops/index.cjs.map +0 -1
  692. package/lib/cjs/graph/engine/pinning/GraphPinningDependencyResolver.cjs +0 -28
  693. package/lib/cjs/graph/engine/pinning/GraphPinningDependencyResolver.cjs.map +0 -1
  694. package/lib/cjs/graph/engine/pinning/GraphPinningMetadata.cjs +0 -20
  695. package/lib/cjs/graph/engine/pinning/GraphPinningMetadata.cjs.map +0 -1
  696. package/lib/cjs/graph/engine/pinning/GraphPinningPolicy.cjs +0 -34
  697. package/lib/cjs/graph/engine/pinning/GraphPinningPolicy.cjs.map +0 -1
  698. package/lib/cjs/graph/engine/pinning/GraphPinningService.cjs +0 -220
  699. package/lib/cjs/graph/engine/pinning/GraphPinningService.cjs.map +0 -1
  700. package/lib/cjs/graph/engine/pinning/index.cjs +0 -27
  701. package/lib/cjs/graph/engine/pinning/index.cjs.map +0 -1
  702. package/lib/cjs/graph/engine/planning/GraphExecutionPlan.cjs +0 -4
  703. package/lib/cjs/graph/engine/planning/GraphExecutionPlan.cjs.map +0 -1
  704. package/lib/cjs/graph/engine/planning/GraphExecutionPlanEdge.cjs +0 -4
  705. package/lib/cjs/graph/engine/planning/GraphExecutionPlanEdge.cjs.map +0 -1
  706. package/lib/cjs/graph/engine/planning/GraphExecutionPlanLayer.cjs +0 -4
  707. package/lib/cjs/graph/engine/planning/GraphExecutionPlanLayer.cjs.map +0 -1
  708. package/lib/cjs/graph/engine/planning/GraphExecutionPlanNode.cjs +0 -4
  709. package/lib/cjs/graph/engine/planning/GraphExecutionPlanNode.cjs.map +0 -1
  710. package/lib/cjs/graph/engine/planning/GraphExecutionPlanner.cjs +0 -188
  711. package/lib/cjs/graph/engine/planning/GraphExecutionPlanner.cjs.map +0 -1
  712. package/lib/cjs/graph/engine/planning/GraphTopology.cjs +0 -57
  713. package/lib/cjs/graph/engine/planning/GraphTopology.cjs.map +0 -1
  714. package/lib/cjs/graph/engine/planning/index.cjs +0 -29
  715. package/lib/cjs/graph/engine/planning/index.cjs.map +0 -1
  716. package/lib/cjs/graph/engine/registry/GraphNodeExecutorRegistry.cjs +0 -57
  717. package/lib/cjs/graph/engine/registry/GraphNodeExecutorRegistry.cjs.map +0 -1
  718. package/lib/cjs/graph/engine/registry/GraphNodeExecutorResolver.cjs +0 -27
  719. package/lib/cjs/graph/engine/registry/GraphNodeExecutorResolver.cjs.map +0 -1
  720. package/lib/cjs/graph/engine/registry/index.cjs +0 -25
  721. package/lib/cjs/graph/engine/registry/index.cjs.map +0 -1
  722. package/lib/cjs/graph/engine/runs/GraphRunEventPublisher.cjs +0 -69
  723. package/lib/cjs/graph/engine/runs/GraphRunEventPublisher.cjs.map +0 -1
  724. package/lib/cjs/graph/engine/runs/GraphRunExecutor.cjs +0 -291
  725. package/lib/cjs/graph/engine/runs/GraphRunExecutor.cjs.map +0 -1
  726. package/lib/cjs/graph/engine/runs/GraphRunFingerprint.cjs +0 -29
  727. package/lib/cjs/graph/engine/runs/GraphRunFingerprint.cjs.map +0 -1
  728. package/lib/cjs/graph/engine/runs/GraphRunService.cjs +0 -259
  729. package/lib/cjs/graph/engine/runs/GraphRunService.cjs.map +0 -1
  730. package/lib/cjs/graph/engine/runs/InMemoryGraphRunEventStore.cjs +0 -69
  731. package/lib/cjs/graph/engine/runs/InMemoryGraphRunEventStore.cjs.map +0 -1
  732. package/lib/cjs/graph/engine/runs/InMemoryGraphRunStore.cjs +0 -26
  733. package/lib/cjs/graph/engine/runs/InMemoryGraphRunStore.cjs.map +0 -1
  734. package/lib/cjs/graph/engine/runs/index.cjs +0 -26
  735. package/lib/cjs/graph/engine/runs/index.cjs.map +0 -1
  736. package/lib/cjs/graph/engine/runs/ownership.cjs +0 -34
  737. package/lib/cjs/graph/engine/runs/ownership.cjs.map +0 -1
  738. package/lib/cjs/graph/engine/runs/types.cjs.map +0 -1
  739. package/lib/cjs/graph/engine/snapshots/GraphExecutionSnapshotMapper.cjs +0 -53
  740. package/lib/cjs/graph/engine/snapshots/GraphExecutionSnapshotMapper.cjs.map +0 -1
  741. package/lib/cjs/graph/engine/snapshots/index.cjs +0 -24
  742. package/lib/cjs/graph/engine/snapshots/index.cjs.map +0 -1
  743. package/lib/cjs/graph/engine/store/GraphCachedValue.cjs +0 -4
  744. package/lib/cjs/graph/engine/store/GraphCachedValue.cjs.map +0 -1
  745. package/lib/cjs/graph/engine/store/GraphValueKey.cjs +0 -4
  746. package/lib/cjs/graph/engine/store/GraphValueKey.cjs.map +0 -1
  747. package/lib/cjs/graph/engine/store/GraphValueStore.cjs +0 -76
  748. package/lib/cjs/graph/engine/store/GraphValueStore.cjs.map +0 -1
  749. package/lib/cjs/graph/engine/store/GraphValueStoreAdapter.cjs +0 -4
  750. package/lib/cjs/graph/engine/store/GraphValueStoreAdapter.cjs.map +0 -1
  751. package/lib/cjs/graph/engine/store/InMemoryGraphValueStoreAdapter.cjs +0 -69
  752. package/lib/cjs/graph/engine/store/InMemoryGraphValueStoreAdapter.cjs.map +0 -1
  753. package/lib/cjs/graph/engine/store/index.cjs +0 -28
  754. package/lib/cjs/graph/engine/store/index.cjs.map +0 -1
  755. package/lib/cjs/graph/engine/types.cjs +0 -4
  756. package/lib/cjs/graph/engine/types.cjs.map +0 -1
  757. package/lib/cjs/graph/engine/validation/GraphConnectionPolicyValidator.cjs +0 -142
  758. package/lib/cjs/graph/engine/validation/GraphConnectionPolicyValidator.cjs.map +0 -1
  759. package/lib/cjs/graph/engine/validation/GraphCredentialReferenceValidator.cjs +0 -160
  760. package/lib/cjs/graph/engine/validation/GraphCredentialReferenceValidator.cjs.map +0 -1
  761. package/lib/cjs/graph/engine/validation/GraphDefinitionValidator.cjs +0 -29
  762. package/lib/cjs/graph/engine/validation/GraphDefinitionValidator.cjs.map +0 -1
  763. package/lib/cjs/graph/engine/validation/GraphEdgeInstanceValidator.cjs +0 -166
  764. package/lib/cjs/graph/engine/validation/GraphEdgeInstanceValidator.cjs.map +0 -1
  765. package/lib/cjs/graph/engine/validation/GraphLooseNodeValidation.cjs +0 -36
  766. package/lib/cjs/graph/engine/validation/GraphLooseNodeValidation.cjs.map +0 -1
  767. package/lib/cjs/graph/engine/validation/GraphNodeInstanceValidator.cjs +0 -86
  768. package/lib/cjs/graph/engine/validation/GraphNodeInstanceValidator.cjs.map +0 -1
  769. package/lib/cjs/graph/engine/validation/GraphParameterValidator.cjs +0 -456
  770. package/lib/cjs/graph/engine/validation/GraphParameterValidator.cjs.map +0 -1
  771. package/lib/cjs/graph/engine/validation/GraphPortSchemaResolver.cjs +0 -58
  772. package/lib/cjs/graph/engine/validation/GraphPortSchemaResolver.cjs.map +0 -1
  773. package/lib/cjs/graph/engine/validation/GraphResolvedWorkflow.cjs +0 -4
  774. package/lib/cjs/graph/engine/validation/GraphResolvedWorkflow.cjs.map +0 -1
  775. package/lib/cjs/graph/engine/validation/GraphValidationErrors.cjs +0 -50
  776. package/lib/cjs/graph/engine/validation/GraphValidationErrors.cjs.map +0 -1
  777. package/lib/cjs/graph/engine/validation/GraphValidationIssue.cjs +0 -4
  778. package/lib/cjs/graph/engine/validation/GraphValidationIssue.cjs.map +0 -1
  779. package/lib/cjs/graph/engine/validation/GraphValueValidator.cjs +0 -52
  780. package/lib/cjs/graph/engine/validation/GraphValueValidator.cjs.map +0 -1
  781. package/lib/cjs/graph/engine/validation/GraphWorkflowDocumentValidator.cjs +0 -509
  782. package/lib/cjs/graph/engine/validation/GraphWorkflowDocumentValidator.cjs.map +0 -1
  783. package/lib/cjs/graph/engine/validation/index.cjs +0 -38
  784. package/lib/cjs/graph/engine/validation/index.cjs.map +0 -1
  785. package/lib/cjs/graph/index.cjs +0 -30
  786. package/lib/cjs/graph/index.cjs.map +0 -1
  787. package/lib/cjs/graph/log/GraphRunLogger.cjs +0 -145
  788. package/lib/cjs/graph/log/GraphRunLogger.cjs.map +0 -1
  789. package/lib/cjs/graph/log/LogParameters.cjs +0 -73
  790. package/lib/cjs/graph/log/LogParameters.cjs.map +0 -1
  791. package/lib/cjs/graph/nodes/agents/agent.cjs +0 -118
  792. package/lib/cjs/graph/nodes/agents/agent.cjs.map +0 -1
  793. package/lib/cjs/graph/nodes/base.cjs +0 -61
  794. package/lib/cjs/graph/nodes/base.cjs.map +0 -1
  795. package/lib/cjs/graph/nodes/boundary/input-value.cjs +0 -59
  796. package/lib/cjs/graph/nodes/boundary/input-value.cjs.map +0 -1
  797. package/lib/cjs/graph/nodes/flow-control/break.cjs +0 -71
  798. package/lib/cjs/graph/nodes/flow-control/break.cjs.map +0 -1
  799. package/lib/cjs/graph/nodes/flow-control/error-boundary.cjs +0 -72
  800. package/lib/cjs/graph/nodes/flow-control/error-boundary.cjs.map +0 -1
  801. package/lib/cjs/graph/nodes/flow-control/human-approval.cjs +0 -80
  802. package/lib/cjs/graph/nodes/flow-control/human-approval.cjs.map +0 -1
  803. package/lib/cjs/graph/nodes/flow-control/if.cjs +0 -82
  804. package/lib/cjs/graph/nodes/flow-control/if.cjs.map +0 -1
  805. package/lib/cjs/graph/nodes/flow-control/parallel.cjs +0 -69
  806. package/lib/cjs/graph/nodes/flow-control/parallel.cjs.map +0 -1
  807. package/lib/cjs/graph/nodes/flow-control/switch.cjs +0 -190
  808. package/lib/cjs/graph/nodes/flow-control/switch.cjs.map +0 -1
  809. package/lib/cjs/graph/nodes/index.cjs +0 -162
  810. package/lib/cjs/graph/nodes/index.cjs.map +0 -1
  811. package/lib/cjs/graph/nodes/loops/foreach.cjs +0 -189
  812. package/lib/cjs/graph/nodes/loops/foreach.cjs.map +0 -1
  813. package/lib/cjs/graph/nodes/loops/loop-metadata.cjs +0 -48
  814. package/lib/cjs/graph/nodes/loops/loop-metadata.cjs.map +0 -1
  815. package/lib/cjs/graph/nodes/loops/until.cjs +0 -136
  816. package/lib/cjs/graph/nodes/loops/until.cjs.map +0 -1
  817. package/lib/cjs/graph/nodes/loops/while.cjs +0 -133
  818. package/lib/cjs/graph/nodes/loops/while.cjs.map +0 -1
  819. package/lib/cjs/graph/nodes/manifests.cjs +0 -342
  820. package/lib/cjs/graph/nodes/manifests.cjs.map +0 -1
  821. package/lib/cjs/graph/nodes/triggers/chat.cjs +0 -82
  822. package/lib/cjs/graph/nodes/triggers/chat.cjs.map +0 -1
  823. package/lib/cjs/graph/nodes/triggers/event.cjs +0 -63
  824. package/lib/cjs/graph/nodes/triggers/event.cjs.map +0 -1
  825. package/lib/cjs/graph/nodes/triggers/form.cjs +0 -64
  826. package/lib/cjs/graph/nodes/triggers/form.cjs.map +0 -1
  827. package/lib/cjs/graph/nodes/triggers/manual.cjs +0 -65
  828. package/lib/cjs/graph/nodes/triggers/manual.cjs.map +0 -1
  829. package/lib/cjs/graph/nodes/triggers/schedule.cjs +0 -65
  830. package/lib/cjs/graph/nodes/triggers/schedule.cjs.map +0 -1
  831. package/lib/cjs/graph/nodes/triggers/webhook.cjs +0 -67
  832. package/lib/cjs/graph/nodes/triggers/webhook.cjs.map +0 -1
  833. package/lib/cjs/graph/nodes/utility/code.cjs +0 -139
  834. package/lib/cjs/graph/nodes/utility/code.cjs.map +0 -1
  835. package/lib/cjs/graph/nodes/utility/delay.cjs +0 -66
  836. package/lib/cjs/graph/nodes/utility/delay.cjs.map +0 -1
  837. package/lib/cjs/graph/nodes/utility/log.cjs +0 -70
  838. package/lib/cjs/graph/nodes/utility/log.cjs.map +0 -1
  839. package/lib/cjs/graph/nodes/utility/map.cjs +0 -69
  840. package/lib/cjs/graph/nodes/utility/map.cjs.map +0 -1
  841. package/lib/cjs/graph/nodes/utility/merge.cjs +0 -67
  842. package/lib/cjs/graph/nodes/utility/merge.cjs.map +0 -1
  843. package/lib/cjs/graph/nodes/utility/return.cjs +0 -69
  844. package/lib/cjs/graph/nodes/utility/return.cjs.map +0 -1
  845. package/lib/cjs/graph/nodes/utility/utility-log.cjs +0 -77
  846. package/lib/cjs/graph/nodes/utility/utility-log.cjs.map +0 -1
  847. package/lib/cjs/nest/graph/GraphExecutionController.cjs +0 -266
  848. package/lib/cjs/nest/graph/GraphExecutionController.cjs.map +0 -1
  849. package/lib/cjs/nest/graph/GraphExecutionModule.cjs +0 -178
  850. package/lib/cjs/nest/graph/GraphExecutionModule.cjs.map +0 -1
  851. package/lib/cjs/nest/graph/GraphExecutionResultModel.cjs +0 -75
  852. package/lib/cjs/nest/graph/GraphExecutionResultModel.cjs.map +0 -1
  853. package/lib/cjs/nest/graph/GraphExecutorRegistryFactory.cjs +0 -106
  854. package/lib/cjs/nest/graph/GraphExecutorRegistryFactory.cjs.map +0 -1
  855. package/lib/cjs/nest/graph/GraphNodeCatalogueController.cjs +0 -270
  856. package/lib/cjs/nest/graph/GraphNodeCatalogueController.cjs.map +0 -1
  857. package/lib/cjs/nest/graph/GraphResultService.cjs +0 -69
  858. package/lib/cjs/nest/graph/GraphResultService.cjs.map +0 -1
  859. package/lib/cjs/nest/graph/GraphRunController.cjs +0 -279
  860. package/lib/cjs/nest/graph/GraphRunController.cjs.map +0 -1
  861. package/lib/cjs/nest/graph/GraphRunModel.cjs +0 -83
  862. package/lib/cjs/nest/graph/GraphRunModel.cjs.map +0 -1
  863. package/lib/cjs/nest/graph/GraphRunModelService.cjs +0 -121
  864. package/lib/cjs/nest/graph/GraphRunModelService.cjs.map +0 -1
  865. package/lib/cjs/nest/graph/GraphWorkflowBoundaryValidation.cjs +0 -171
  866. package/lib/cjs/nest/graph/GraphWorkflowBoundaryValidation.cjs.map +0 -1
  867. package/lib/cjs/nest/graph/GraphWorkflowController.cjs +0 -162
  868. package/lib/cjs/nest/graph/GraphWorkflowController.cjs.map +0 -1
  869. package/lib/cjs/nest/graph/GraphWorkflowDocumentLimits.cjs +0 -12
  870. package/lib/cjs/nest/graph/GraphWorkflowDocumentLimits.cjs.map +0 -1
  871. package/lib/cjs/nest/graph/GraphWorkflowErrors.cjs +0 -23
  872. package/lib/cjs/nest/graph/GraphWorkflowErrors.cjs.map +0 -1
  873. package/lib/cjs/nest/graph/GraphWorkflowModel.cjs +0 -66
  874. package/lib/cjs/nest/graph/GraphWorkflowModel.cjs.map +0 -1
  875. package/lib/cjs/nest/graph/GraphWorkflowService.cjs +0 -253
  876. package/lib/cjs/nest/graph/GraphWorkflowService.cjs.map +0 -1
  877. package/lib/cjs/nest/graph/index.cjs +0 -33
  878. package/lib/cjs/nest/graph/index.cjs.map +0 -1
  879. package/lib/cjs/nest/graph/main.cjs +0 -47
  880. package/lib/cjs/nest/graph/main.cjs.map +0 -1
  881. package/lib/esm/blob/ipfs/IpfsBlobEnvironment.js +0 -26
  882. package/lib/esm/blob/ipfs/IpfsBlobEnvironment.js.map +0 -1
  883. package/lib/esm/blob/ipfs/IpfsBlobStoreService.js +0 -240
  884. package/lib/esm/blob/ipfs/IpfsBlobStoreService.js.map +0 -1
  885. package/lib/esm/blob/ipfs/IpfsKeyIndex.js +0 -23
  886. package/lib/esm/blob/ipfs/IpfsKeyIndex.js.map +0 -1
  887. package/lib/esm/blob/ipfs/LocalJsonIpfsKeyIndex.js +0 -30
  888. package/lib/esm/blob/ipfs/LocalJsonIpfsKeyIndex.js.map +0 -1
  889. package/lib/esm/blob/ipfs/MemoryIpfsKeyIndex.js +0 -40
  890. package/lib/esm/blob/ipfs/MemoryIpfsKeyIndex.js.map +0 -1
  891. package/lib/esm/blob/ipfs/PostgresIpfsKeyIndex.js +0 -30
  892. package/lib/esm/blob/ipfs/PostgresIpfsKeyIndex.js.map +0 -1
  893. package/lib/esm/blob/ipfs/index.js +0 -12
  894. package/lib/esm/blob/ipfs/index.js.map +0 -1
  895. package/lib/esm/graph/engine/catalog/GraphBuiltInRegistrations.js +0 -34
  896. package/lib/esm/graph/engine/catalog/GraphBuiltInRegistrations.js.map +0 -1
  897. package/lib/esm/graph/engine/catalog/GraphCatalogueErrors.js +0 -22
  898. package/lib/esm/graph/engine/catalog/GraphCatalogueErrors.js.map +0 -1
  899. package/lib/esm/graph/engine/catalog/GraphNodeCatalogue.js +0 -265
  900. package/lib/esm/graph/engine/catalog/GraphNodeCatalogue.js.map +0 -1
  901. package/lib/esm/graph/engine/catalog/GraphNodeManifestResolver.js +0 -162
  902. package/lib/esm/graph/engine/catalog/GraphNodeManifestResolver.js.map +0 -1
  903. package/lib/esm/graph/engine/catalog/GraphNodeMethodRegistry.js +0 -59
  904. package/lib/esm/graph/engine/catalog/GraphNodeMethodRegistry.js.map +0 -1
  905. package/lib/esm/graph/engine/catalog/GraphNodeRegistration.js +0 -12
  906. package/lib/esm/graph/engine/catalog/GraphNodeRegistration.js.map +0 -1
  907. package/lib/esm/graph/engine/catalog/index.js +0 -7
  908. package/lib/esm/graph/engine/catalog/index.js.map +0 -1
  909. package/lib/esm/graph/engine/constants.js +0 -62
  910. package/lib/esm/graph/engine/constants.js.map +0 -1
  911. package/lib/esm/graph/engine/decorators.js +0 -2
  912. package/lib/esm/graph/engine/decorators.js.map +0 -1
  913. package/lib/esm/graph/engine/errors/GraphBreakSignal.js +0 -32
  914. package/lib/esm/graph/engine/errors/GraphBreakSignal.js.map +0 -1
  915. package/lib/esm/graph/engine/errors/GraphCycleError.js +0 -15
  916. package/lib/esm/graph/engine/errors/GraphCycleError.js.map +0 -1
  917. package/lib/esm/graph/engine/errors/GraphExecutionError.js +0 -23
  918. package/lib/esm/graph/engine/errors/GraphExecutionError.js.map +0 -1
  919. package/lib/esm/graph/engine/errors/GraphInputError.js +0 -15
  920. package/lib/esm/graph/engine/errors/GraphInputError.js.map +0 -1
  921. package/lib/esm/graph/engine/errors/GraphLoopLimitError.js +0 -15
  922. package/lib/esm/graph/engine/errors/GraphLoopLimitError.js.map +0 -1
  923. package/lib/esm/graph/engine/errors/GraphPinningError.js +0 -15
  924. package/lib/esm/graph/engine/errors/GraphPinningError.js.map +0 -1
  925. package/lib/esm/graph/engine/errors/GraphPortError.js +0 -15
  926. package/lib/esm/graph/engine/errors/GraphPortError.js.map +0 -1
  927. package/lib/esm/graph/engine/errors/GraphRunCancelledError.js +0 -13
  928. package/lib/esm/graph/engine/errors/GraphRunCancelledError.js.map +0 -1
  929. package/lib/esm/graph/engine/errors/GraphStoreError.js +0 -15
  930. package/lib/esm/graph/engine/errors/GraphStoreError.js.map +0 -1
  931. package/lib/esm/graph/engine/errors/GraphTopologyError.js +0 -15
  932. package/lib/esm/graph/engine/errors/GraphTopologyError.js.map +0 -1
  933. package/lib/esm/graph/engine/errors/index.js +0 -16
  934. package/lib/esm/graph/engine/errors/index.js.map +0 -1
  935. package/lib/esm/graph/engine/events/GraphExecutionEventEmitter.js +0 -35
  936. package/lib/esm/graph/engine/events/GraphExecutionEventEmitter.js.map +0 -1
  937. package/lib/esm/graph/engine/events/GraphExecutionEventFactory.js +0 -32
  938. package/lib/esm/graph/engine/events/GraphExecutionEventFactory.js.map +0 -1
  939. package/lib/esm/graph/engine/events/GraphExecutionObserver.js +0 -2
  940. package/lib/esm/graph/engine/events/GraphExecutionObserver.js.map +0 -1
  941. package/lib/esm/graph/engine/events/index.js +0 -9
  942. package/lib/esm/graph/engine/events/index.js.map +0 -1
  943. package/lib/esm/graph/engine/execution/CodeSandboxEvaluator.js +0 -18
  944. package/lib/esm/graph/engine/execution/CodeSandboxEvaluator.js.map +0 -1
  945. package/lib/esm/graph/engine/execution/GraphExecutionContext.js +0 -111
  946. package/lib/esm/graph/engine/execution/GraphExecutionContext.js.map +0 -1
  947. package/lib/esm/graph/engine/execution/GraphExecutionEngine.js +0 -849
  948. package/lib/esm/graph/engine/execution/GraphExecutionEngine.js.map +0 -1
  949. package/lib/esm/graph/engine/execution/GraphExecutionFrame.js +0 -43
  950. package/lib/esm/graph/engine/execution/GraphExecutionFrame.js.map +0 -1
  951. package/lib/esm/graph/engine/execution/GraphExecutionResult.js +0 -26
  952. package/lib/esm/graph/engine/execution/GraphExecutionResult.js.map +0 -1
  953. package/lib/esm/graph/engine/execution/GraphNodeExecutor.js +0 -2
  954. package/lib/esm/graph/engine/execution/GraphNodeExecutor.js.map +0 -1
  955. package/lib/esm/graph/engine/execution/IsolatedVmCodeSandboxEvaluator.js +0 -440
  956. package/lib/esm/graph/engine/execution/IsolatedVmCodeSandboxEvaluator.js.map +0 -1
  957. package/lib/esm/graph/engine/execution/index.js +0 -13
  958. package/lib/esm/graph/engine/execution/index.js.map +0 -1
  959. package/lib/esm/graph/engine/index.js +0 -62
  960. package/lib/esm/graph/engine/index.js.map +0 -1
  961. package/lib/esm/graph/engine/loops/ConditionExpressionEvaluator.js +0 -82
  962. package/lib/esm/graph/engine/loops/ConditionExpressionEvaluator.js.map +0 -1
  963. package/lib/esm/graph/engine/loops/GraphConditionEvaluator.js +0 -80
  964. package/lib/esm/graph/engine/loops/GraphConditionEvaluator.js.map +0 -1
  965. package/lib/esm/graph/engine/loops/GraphLoopExecutionContext.js +0 -11
  966. package/lib/esm/graph/engine/loops/GraphLoopExecutionContext.js.map +0 -1
  967. package/lib/esm/graph/engine/loops/index.js +0 -9
  968. package/lib/esm/graph/engine/loops/index.js.map +0 -1
  969. package/lib/esm/graph/engine/pinning/GraphPinningDependencyResolver.js +0 -23
  970. package/lib/esm/graph/engine/pinning/GraphPinningDependencyResolver.js.map +0 -1
  971. package/lib/esm/graph/engine/pinning/GraphPinningMetadata.js +0 -15
  972. package/lib/esm/graph/engine/pinning/GraphPinningMetadata.js.map +0 -1
  973. package/lib/esm/graph/engine/pinning/GraphPinningPolicy.js +0 -29
  974. package/lib/esm/graph/engine/pinning/GraphPinningPolicy.js.map +0 -1
  975. package/lib/esm/graph/engine/pinning/GraphPinningService.js +0 -215
  976. package/lib/esm/graph/engine/pinning/GraphPinningService.js.map +0 -1
  977. package/lib/esm/graph/engine/pinning/index.js +0 -10
  978. package/lib/esm/graph/engine/pinning/index.js.map +0 -1
  979. package/lib/esm/graph/engine/planning/GraphExecutionPlan.js +0 -2
  980. package/lib/esm/graph/engine/planning/GraphExecutionPlan.js.map +0 -1
  981. package/lib/esm/graph/engine/planning/GraphExecutionPlanEdge.js +0 -9
  982. package/lib/esm/graph/engine/planning/GraphExecutionPlanEdge.js.map +0 -1
  983. package/lib/esm/graph/engine/planning/GraphExecutionPlanLayer.js +0 -2
  984. package/lib/esm/graph/engine/planning/GraphExecutionPlanLayer.js.map +0 -1
  985. package/lib/esm/graph/engine/planning/GraphExecutionPlanNode.js +0 -2
  986. package/lib/esm/graph/engine/planning/GraphExecutionPlanNode.js.map +0 -1
  987. package/lib/esm/graph/engine/planning/GraphExecutionPlanner.js +0 -183
  988. package/lib/esm/graph/engine/planning/GraphExecutionPlanner.js.map +0 -1
  989. package/lib/esm/graph/engine/planning/GraphTopology.js +0 -52
  990. package/lib/esm/graph/engine/planning/GraphTopology.js.map +0 -1
  991. package/lib/esm/graph/engine/planning/index.js +0 -12
  992. package/lib/esm/graph/engine/planning/index.js.map +0 -1
  993. package/lib/esm/graph/engine/registry/GraphNodeExecutorRegistry.js +0 -52
  994. package/lib/esm/graph/engine/registry/GraphNodeExecutorRegistry.js.map +0 -1
  995. package/lib/esm/graph/engine/registry/GraphNodeExecutorResolver.js +0 -22
  996. package/lib/esm/graph/engine/registry/GraphNodeExecutorResolver.js.map +0 -1
  997. package/lib/esm/graph/engine/registry/index.js +0 -8
  998. package/lib/esm/graph/engine/registry/index.js.map +0 -1
  999. package/lib/esm/graph/engine/runs/GraphRunEventPublisher.js +0 -64
  1000. package/lib/esm/graph/engine/runs/GraphRunEventPublisher.js.map +0 -1
  1001. package/lib/esm/graph/engine/runs/GraphRunExecutor.js +0 -286
  1002. package/lib/esm/graph/engine/runs/GraphRunExecutor.js.map +0 -1
  1003. package/lib/esm/graph/engine/runs/GraphRunFingerprint.js +0 -25
  1004. package/lib/esm/graph/engine/runs/GraphRunFingerprint.js.map +0 -1
  1005. package/lib/esm/graph/engine/runs/GraphRunService.js +0 -254
  1006. package/lib/esm/graph/engine/runs/GraphRunService.js.map +0 -1
  1007. package/lib/esm/graph/engine/runs/InMemoryGraphRunEventStore.js +0 -64
  1008. package/lib/esm/graph/engine/runs/InMemoryGraphRunEventStore.js.map +0 -1
  1009. package/lib/esm/graph/engine/runs/InMemoryGraphRunStore.js +0 -21
  1010. package/lib/esm/graph/engine/runs/InMemoryGraphRunStore.js.map +0 -1
  1011. package/lib/esm/graph/engine/runs/index.js +0 -9
  1012. package/lib/esm/graph/engine/runs/index.js.map +0 -1
  1013. package/lib/esm/graph/engine/runs/ownership.js +0 -30
  1014. package/lib/esm/graph/engine/runs/ownership.js.map +0 -1
  1015. package/lib/esm/graph/engine/runs/types.js.map +0 -1
  1016. package/lib/esm/graph/engine/snapshots/GraphExecutionSnapshotMapper.js +0 -48
  1017. package/lib/esm/graph/engine/snapshots/GraphExecutionSnapshotMapper.js.map +0 -1
  1018. package/lib/esm/graph/engine/snapshots/index.js +0 -7
  1019. package/lib/esm/graph/engine/snapshots/index.js.map +0 -1
  1020. package/lib/esm/graph/engine/store/GraphCachedValue.js +0 -2
  1021. package/lib/esm/graph/engine/store/GraphCachedValue.js.map +0 -1
  1022. package/lib/esm/graph/engine/store/GraphValueKey.js +0 -7
  1023. package/lib/esm/graph/engine/store/GraphValueKey.js.map +0 -1
  1024. package/lib/esm/graph/engine/store/GraphValueStore.js +0 -71
  1025. package/lib/esm/graph/engine/store/GraphValueStore.js.map +0 -1
  1026. package/lib/esm/graph/engine/store/GraphValueStoreAdapter.js +0 -2
  1027. package/lib/esm/graph/engine/store/GraphValueStoreAdapter.js.map +0 -1
  1028. package/lib/esm/graph/engine/store/InMemoryGraphValueStoreAdapter.js +0 -64
  1029. package/lib/esm/graph/engine/store/InMemoryGraphValueStoreAdapter.js.map +0 -1
  1030. package/lib/esm/graph/engine/store/index.js +0 -11
  1031. package/lib/esm/graph/engine/store/index.js.map +0 -1
  1032. package/lib/esm/graph/engine/types.js +0 -2
  1033. package/lib/esm/graph/engine/types.js.map +0 -1
  1034. package/lib/esm/graph/engine/validation/GraphConnectionPolicyValidator.js +0 -137
  1035. package/lib/esm/graph/engine/validation/GraphConnectionPolicyValidator.js.map +0 -1
  1036. package/lib/esm/graph/engine/validation/GraphCredentialReferenceValidator.js +0 -155
  1037. package/lib/esm/graph/engine/validation/GraphCredentialReferenceValidator.js.map +0 -1
  1038. package/lib/esm/graph/engine/validation/GraphDefinitionValidator.js +0 -24
  1039. package/lib/esm/graph/engine/validation/GraphDefinitionValidator.js.map +0 -1
  1040. package/lib/esm/graph/engine/validation/GraphEdgeInstanceValidator.js +0 -161
  1041. package/lib/esm/graph/engine/validation/GraphEdgeInstanceValidator.js.map +0 -1
  1042. package/lib/esm/graph/engine/validation/GraphLooseNodeValidation.js +0 -32
  1043. package/lib/esm/graph/engine/validation/GraphLooseNodeValidation.js.map +0 -1
  1044. package/lib/esm/graph/engine/validation/GraphNodeInstanceValidator.js +0 -81
  1045. package/lib/esm/graph/engine/validation/GraphNodeInstanceValidator.js.map +0 -1
  1046. package/lib/esm/graph/engine/validation/GraphParameterValidator.js +0 -449
  1047. package/lib/esm/graph/engine/validation/GraphParameterValidator.js.map +0 -1
  1048. package/lib/esm/graph/engine/validation/GraphPortSchemaResolver.js +0 -53
  1049. package/lib/esm/graph/engine/validation/GraphPortSchemaResolver.js.map +0 -1
  1050. package/lib/esm/graph/engine/validation/GraphResolvedWorkflow.js +0 -2
  1051. package/lib/esm/graph/engine/validation/GraphResolvedWorkflow.js.map +0 -1
  1052. package/lib/esm/graph/engine/validation/GraphValidationErrors.js +0 -43
  1053. package/lib/esm/graph/engine/validation/GraphValidationErrors.js.map +0 -1
  1054. package/lib/esm/graph/engine/validation/GraphValidationIssue.js +0 -2
  1055. package/lib/esm/graph/engine/validation/GraphValidationIssue.js.map +0 -1
  1056. package/lib/esm/graph/engine/validation/GraphValueValidator.js +0 -47
  1057. package/lib/esm/graph/engine/validation/GraphValueValidator.js.map +0 -1
  1058. package/lib/esm/graph/engine/validation/GraphWorkflowDocumentValidator.js +0 -503
  1059. package/lib/esm/graph/engine/validation/GraphWorkflowDocumentValidator.js.map +0 -1
  1060. package/lib/esm/graph/engine/validation/index.js +0 -21
  1061. package/lib/esm/graph/engine/validation/index.js.map +0 -1
  1062. package/lib/esm/graph/index.js +0 -13
  1063. package/lib/esm/graph/index.js.map +0 -1
  1064. package/lib/esm/graph/log/GraphRunLogger.js +0 -140
  1065. package/lib/esm/graph/log/GraphRunLogger.js.map +0 -1
  1066. package/lib/esm/graph/log/LogParameters.js +0 -69
  1067. package/lib/esm/graph/log/LogParameters.js.map +0 -1
  1068. package/lib/esm/graph/nodes/agents/agent.js +0 -109
  1069. package/lib/esm/graph/nodes/agents/agent.js.map +0 -1
  1070. package/lib/esm/graph/nodes/base.js +0 -56
  1071. package/lib/esm/graph/nodes/base.js.map +0 -1
  1072. package/lib/esm/graph/nodes/boundary/input-value.js +0 -50
  1073. package/lib/esm/graph/nodes/boundary/input-value.js.map +0 -1
  1074. package/lib/esm/graph/nodes/flow-control/break.js +0 -62
  1075. package/lib/esm/graph/nodes/flow-control/break.js.map +0 -1
  1076. package/lib/esm/graph/nodes/flow-control/error-boundary.js +0 -63
  1077. package/lib/esm/graph/nodes/flow-control/error-boundary.js.map +0 -1
  1078. package/lib/esm/graph/nodes/flow-control/human-approval.js +0 -71
  1079. package/lib/esm/graph/nodes/flow-control/human-approval.js.map +0 -1
  1080. package/lib/esm/graph/nodes/flow-control/if.js +0 -73
  1081. package/lib/esm/graph/nodes/flow-control/if.js.map +0 -1
  1082. package/lib/esm/graph/nodes/flow-control/parallel.js +0 -60
  1083. package/lib/esm/graph/nodes/flow-control/parallel.js.map +0 -1
  1084. package/lib/esm/graph/nodes/flow-control/switch.js +0 -181
  1085. package/lib/esm/graph/nodes/flow-control/switch.js.map +0 -1
  1086. package/lib/esm/graph/nodes/index.js +0 -144
  1087. package/lib/esm/graph/nodes/index.js.map +0 -1
  1088. package/lib/esm/graph/nodes/loops/foreach.js +0 -180
  1089. package/lib/esm/graph/nodes/loops/foreach.js.map +0 -1
  1090. package/lib/esm/graph/nodes/loops/loop-metadata.js +0 -44
  1091. package/lib/esm/graph/nodes/loops/loop-metadata.js.map +0 -1
  1092. package/lib/esm/graph/nodes/loops/until.js +0 -127
  1093. package/lib/esm/graph/nodes/loops/until.js.map +0 -1
  1094. package/lib/esm/graph/nodes/loops/while.js +0 -124
  1095. package/lib/esm/graph/nodes/loops/while.js.map +0 -1
  1096. package/lib/esm/graph/nodes/manifests.js +0 -338
  1097. package/lib/esm/graph/nodes/manifests.js.map +0 -1
  1098. package/lib/esm/graph/nodes/triggers/chat.js +0 -73
  1099. package/lib/esm/graph/nodes/triggers/chat.js.map +0 -1
  1100. package/lib/esm/graph/nodes/triggers/event.js +0 -54
  1101. package/lib/esm/graph/nodes/triggers/event.js.map +0 -1
  1102. package/lib/esm/graph/nodes/triggers/form.js +0 -55
  1103. package/lib/esm/graph/nodes/triggers/form.js.map +0 -1
  1104. package/lib/esm/graph/nodes/triggers/manual.js +0 -56
  1105. package/lib/esm/graph/nodes/triggers/manual.js.map +0 -1
  1106. package/lib/esm/graph/nodes/triggers/schedule.js +0 -56
  1107. package/lib/esm/graph/nodes/triggers/schedule.js.map +0 -1
  1108. package/lib/esm/graph/nodes/triggers/webhook.js +0 -58
  1109. package/lib/esm/graph/nodes/triggers/webhook.js.map +0 -1
  1110. package/lib/esm/graph/nodes/utility/code.js +0 -130
  1111. package/lib/esm/graph/nodes/utility/code.js.map +0 -1
  1112. package/lib/esm/graph/nodes/utility/delay.js +0 -57
  1113. package/lib/esm/graph/nodes/utility/delay.js.map +0 -1
  1114. package/lib/esm/graph/nodes/utility/log.js +0 -61
  1115. package/lib/esm/graph/nodes/utility/log.js.map +0 -1
  1116. package/lib/esm/graph/nodes/utility/map.js +0 -60
  1117. package/lib/esm/graph/nodes/utility/map.js.map +0 -1
  1118. package/lib/esm/graph/nodes/utility/merge.js +0 -58
  1119. package/lib/esm/graph/nodes/utility/merge.js.map +0 -1
  1120. package/lib/esm/graph/nodes/utility/return.js +0 -60
  1121. package/lib/esm/graph/nodes/utility/return.js.map +0 -1
  1122. package/lib/esm/graph/nodes/utility/utility-log.js +0 -68
  1123. package/lib/esm/graph/nodes/utility/utility-log.js.map +0 -1
  1124. package/lib/esm/nest/graph/GraphExecutionController.js +0 -257
  1125. package/lib/esm/nest/graph/GraphExecutionController.js.map +0 -1
  1126. package/lib/esm/nest/graph/GraphExecutionModule.js +0 -137
  1127. package/lib/esm/nest/graph/GraphExecutionModule.js.map +0 -1
  1128. package/lib/esm/nest/graph/GraphExecutionResultModel.js +0 -66
  1129. package/lib/esm/nest/graph/GraphExecutionResultModel.js.map +0 -1
  1130. package/lib/esm/nest/graph/GraphExecutorRegistryFactory.js +0 -99
  1131. package/lib/esm/nest/graph/GraphExecutorRegistryFactory.js.map +0 -1
  1132. package/lib/esm/nest/graph/GraphNodeCatalogueController.js +0 -261
  1133. package/lib/esm/nest/graph/GraphNodeCatalogueController.js.map +0 -1
  1134. package/lib/esm/nest/graph/GraphResultService.js +0 -60
  1135. package/lib/esm/nest/graph/GraphResultService.js.map +0 -1
  1136. package/lib/esm/nest/graph/GraphRunController.js +0 -270
  1137. package/lib/esm/nest/graph/GraphRunController.js.map +0 -1
  1138. package/lib/esm/nest/graph/GraphRunModel.js +0 -74
  1139. package/lib/esm/nest/graph/GraphRunModel.js.map +0 -1
  1140. package/lib/esm/nest/graph/GraphRunModelService.js +0 -112
  1141. package/lib/esm/nest/graph/GraphRunModelService.js.map +0 -1
  1142. package/lib/esm/nest/graph/GraphWorkflowBoundaryValidation.js +0 -166
  1143. package/lib/esm/nest/graph/GraphWorkflowBoundaryValidation.js.map +0 -1
  1144. package/lib/esm/nest/graph/GraphWorkflowController.js +0 -153
  1145. package/lib/esm/nest/graph/GraphWorkflowController.js.map +0 -1
  1146. package/lib/esm/nest/graph/GraphWorkflowDocumentLimits.js +0 -8
  1147. package/lib/esm/nest/graph/GraphWorkflowDocumentLimits.js.map +0 -1
  1148. package/lib/esm/nest/graph/GraphWorkflowErrors.js +0 -18
  1149. package/lib/esm/nest/graph/GraphWorkflowErrors.js.map +0 -1
  1150. package/lib/esm/nest/graph/GraphWorkflowModel.js +0 -57
  1151. package/lib/esm/nest/graph/GraphWorkflowModel.js.map +0 -1
  1152. package/lib/esm/nest/graph/GraphWorkflowService.js +0 -243
  1153. package/lib/esm/nest/graph/GraphWorkflowService.js.map +0 -1
  1154. package/lib/esm/nest/graph/index.js +0 -16
  1155. package/lib/esm/nest/graph/index.js.map +0 -1
  1156. package/lib/esm/nest/graph/main.js +0 -44
  1157. package/lib/esm/nest/graph/main.js.map +0 -1
  1158. package/lib/types/blob/ipfs/IpfsBlobEnvironment.d.cts +0 -24
  1159. package/lib/types/blob/ipfs/IpfsBlobEnvironment.d.mts +0 -24
  1160. package/lib/types/blob/ipfs/IpfsBlobStoreService.d.cts +0 -61
  1161. package/lib/types/blob/ipfs/IpfsBlobStoreService.d.mts +0 -61
  1162. package/lib/types/blob/ipfs/IpfsKeyIndex.d.cts +0 -9
  1163. package/lib/types/blob/ipfs/IpfsKeyIndex.d.mts +0 -9
  1164. package/lib/types/blob/ipfs/LocalJsonIpfsKeyIndex.d.cts +0 -11
  1165. package/lib/types/blob/ipfs/LocalJsonIpfsKeyIndex.d.mts +0 -11
  1166. package/lib/types/blob/ipfs/MemoryIpfsKeyIndex.d.cts +0 -15
  1167. package/lib/types/blob/ipfs/MemoryIpfsKeyIndex.d.mts +0 -15
  1168. package/lib/types/blob/ipfs/PostgresIpfsKeyIndex.d.cts +0 -11
  1169. package/lib/types/blob/ipfs/PostgresIpfsKeyIndex.d.mts +0 -11
  1170. package/lib/types/blob/ipfs/index.d.cts +0 -11
  1171. package/lib/types/blob/ipfs/index.d.mts +0 -11
  1172. package/lib/types/graph/engine/catalog/GraphBuiltInRegistrations.d.cts +0 -14
  1173. package/lib/types/graph/engine/catalog/GraphBuiltInRegistrations.d.mts +0 -14
  1174. package/lib/types/graph/engine/catalog/GraphCatalogueErrors.d.cts +0 -13
  1175. package/lib/types/graph/engine/catalog/GraphCatalogueErrors.d.mts +0 -13
  1176. package/lib/types/graph/engine/catalog/GraphNodeCatalogue.d.cts +0 -71
  1177. package/lib/types/graph/engine/catalog/GraphNodeCatalogue.d.mts +0 -71
  1178. package/lib/types/graph/engine/catalog/GraphNodeManifestResolver.d.cts +0 -42
  1179. package/lib/types/graph/engine/catalog/GraphNodeManifestResolver.d.mts +0 -42
  1180. package/lib/types/graph/engine/catalog/GraphNodeMethodRegistry.d.cts +0 -22
  1181. package/lib/types/graph/engine/catalog/GraphNodeMethodRegistry.d.mts +0 -22
  1182. package/lib/types/graph/engine/catalog/GraphNodeRegistration.d.cts +0 -68
  1183. package/lib/types/graph/engine/catalog/GraphNodeRegistration.d.mts +0 -68
  1184. package/lib/types/graph/engine/catalog/index.d.cts +0 -6
  1185. package/lib/types/graph/engine/catalog/index.d.mts +0 -6
  1186. package/lib/types/graph/engine/constants.d.cts +0 -59
  1187. package/lib/types/graph/engine/constants.d.mts +0 -59
  1188. package/lib/types/graph/engine/decorators.d.cts +0 -6
  1189. package/lib/types/graph/engine/decorators.d.mts +0 -6
  1190. package/lib/types/graph/engine/errors/GraphBreakSignal.d.cts +0 -28
  1191. package/lib/types/graph/engine/errors/GraphBreakSignal.d.mts +0 -28
  1192. package/lib/types/graph/engine/errors/GraphCycleError.d.cts +0 -12
  1193. package/lib/types/graph/engine/errors/GraphCycleError.d.mts +0 -12
  1194. package/lib/types/graph/engine/errors/GraphExecutionError.d.cts +0 -19
  1195. package/lib/types/graph/engine/errors/GraphExecutionError.d.mts +0 -19
  1196. package/lib/types/graph/engine/errors/GraphInputError.d.cts +0 -12
  1197. package/lib/types/graph/engine/errors/GraphInputError.d.mts +0 -12
  1198. package/lib/types/graph/engine/errors/GraphLoopLimitError.d.cts +0 -12
  1199. package/lib/types/graph/engine/errors/GraphLoopLimitError.d.mts +0 -12
  1200. package/lib/types/graph/engine/errors/GraphPinningError.d.cts +0 -12
  1201. package/lib/types/graph/engine/errors/GraphPinningError.d.mts +0 -12
  1202. package/lib/types/graph/engine/errors/GraphPortError.d.cts +0 -12
  1203. package/lib/types/graph/engine/errors/GraphPortError.d.mts +0 -12
  1204. package/lib/types/graph/engine/errors/GraphRunCancelledError.d.cts +0 -9
  1205. package/lib/types/graph/engine/errors/GraphRunCancelledError.d.mts +0 -9
  1206. package/lib/types/graph/engine/errors/GraphStoreError.d.cts +0 -12
  1207. package/lib/types/graph/engine/errors/GraphStoreError.d.mts +0 -12
  1208. package/lib/types/graph/engine/errors/GraphTopologyError.d.cts +0 -12
  1209. package/lib/types/graph/engine/errors/GraphTopologyError.d.mts +0 -12
  1210. package/lib/types/graph/engine/errors/index.d.cts +0 -15
  1211. package/lib/types/graph/engine/errors/index.d.mts +0 -15
  1212. package/lib/types/graph/engine/events/GraphExecutionEventEmitter.d.cts +0 -26
  1213. package/lib/types/graph/engine/events/GraphExecutionEventEmitter.d.mts +0 -26
  1214. package/lib/types/graph/engine/events/GraphExecutionEventFactory.d.cts +0 -25
  1215. package/lib/types/graph/engine/events/GraphExecutionEventFactory.d.mts +0 -25
  1216. package/lib/types/graph/engine/events/GraphExecutionObserver.d.cts +0 -17
  1217. package/lib/types/graph/engine/events/GraphExecutionObserver.d.mts +0 -17
  1218. package/lib/types/graph/engine/events/index.d.cts +0 -8
  1219. package/lib/types/graph/engine/events/index.d.mts +0 -8
  1220. package/lib/types/graph/engine/execution/CodeSandboxEvaluator.d.cts +0 -76
  1221. package/lib/types/graph/engine/execution/CodeSandboxEvaluator.d.mts +0 -76
  1222. package/lib/types/graph/engine/execution/GraphExecutionContext.d.cts +0 -79
  1223. package/lib/types/graph/engine/execution/GraphExecutionContext.d.mts +0 -79
  1224. package/lib/types/graph/engine/execution/GraphExecutionEngine.d.cts +0 -278
  1225. package/lib/types/graph/engine/execution/GraphExecutionEngine.d.mts +0 -278
  1226. package/lib/types/graph/engine/execution/GraphExecutionFrame.d.cts +0 -42
  1227. package/lib/types/graph/engine/execution/GraphExecutionFrame.d.mts +0 -42
  1228. package/lib/types/graph/engine/execution/GraphExecutionResult.d.cts +0 -13
  1229. package/lib/types/graph/engine/execution/GraphExecutionResult.d.mts +0 -13
  1230. package/lib/types/graph/engine/execution/GraphNodeExecutor.d.cts +0 -31
  1231. package/lib/types/graph/engine/execution/GraphNodeExecutor.d.mts +0 -31
  1232. package/lib/types/graph/engine/execution/IsolatedVmCodeSandboxEvaluator.d.cts +0 -63
  1233. package/lib/types/graph/engine/execution/IsolatedVmCodeSandboxEvaluator.d.mts +0 -63
  1234. package/lib/types/graph/engine/execution/index.d.cts +0 -12
  1235. package/lib/types/graph/engine/execution/index.d.mts +0 -12
  1236. package/lib/types/graph/engine/index.d.cts +0 -56
  1237. package/lib/types/graph/engine/index.d.mts +0 -56
  1238. package/lib/types/graph/engine/loops/ConditionExpressionEvaluator.d.cts +0 -36
  1239. package/lib/types/graph/engine/loops/ConditionExpressionEvaluator.d.mts +0 -36
  1240. package/lib/types/graph/engine/loops/GraphConditionEvaluator.d.cts +0 -40
  1241. package/lib/types/graph/engine/loops/GraphConditionEvaluator.d.mts +0 -40
  1242. package/lib/types/graph/engine/loops/GraphLoopExecutionContext.d.cts +0 -15
  1243. package/lib/types/graph/engine/loops/GraphLoopExecutionContext.d.mts +0 -15
  1244. package/lib/types/graph/engine/loops/index.d.cts +0 -8
  1245. package/lib/types/graph/engine/loops/index.d.mts +0 -8
  1246. package/lib/types/graph/engine/pinning/GraphPinningDependencyResolver.d.cts +0 -21
  1247. package/lib/types/graph/engine/pinning/GraphPinningDependencyResolver.d.mts +0 -21
  1248. package/lib/types/graph/engine/pinning/GraphPinningMetadata.d.cts +0 -14
  1249. package/lib/types/graph/engine/pinning/GraphPinningMetadata.d.mts +0 -14
  1250. package/lib/types/graph/engine/pinning/GraphPinningPolicy.d.cts +0 -20
  1251. package/lib/types/graph/engine/pinning/GraphPinningPolicy.d.mts +0 -20
  1252. package/lib/types/graph/engine/pinning/GraphPinningService.d.cts +0 -70
  1253. package/lib/types/graph/engine/pinning/GraphPinningService.d.mts +0 -70
  1254. package/lib/types/graph/engine/pinning/index.d.cts +0 -9
  1255. package/lib/types/graph/engine/pinning/index.d.mts +0 -9
  1256. package/lib/types/graph/engine/planning/GraphExecutionPlan.d.cts +0 -25
  1257. package/lib/types/graph/engine/planning/GraphExecutionPlan.d.mts +0 -25
  1258. package/lib/types/graph/engine/planning/GraphExecutionPlanEdge.d.cts +0 -26
  1259. package/lib/types/graph/engine/planning/GraphExecutionPlanEdge.d.mts +0 -26
  1260. package/lib/types/graph/engine/planning/GraphExecutionPlanLayer.d.cts +0 -13
  1261. package/lib/types/graph/engine/planning/GraphExecutionPlanLayer.d.mts +0 -13
  1262. package/lib/types/graph/engine/planning/GraphExecutionPlanNode.d.cts +0 -28
  1263. package/lib/types/graph/engine/planning/GraphExecutionPlanNode.d.mts +0 -28
  1264. package/lib/types/graph/engine/planning/GraphExecutionPlanner.d.cts +0 -48
  1265. package/lib/types/graph/engine/planning/GraphExecutionPlanner.d.mts +0 -48
  1266. package/lib/types/graph/engine/planning/GraphTopology.d.cts +0 -23
  1267. package/lib/types/graph/engine/planning/GraphTopology.d.mts +0 -23
  1268. package/lib/types/graph/engine/planning/index.d.cts +0 -11
  1269. package/lib/types/graph/engine/planning/index.d.mts +0 -11
  1270. package/lib/types/graph/engine/registry/GraphNodeExecutorRegistry.d.cts +0 -39
  1271. package/lib/types/graph/engine/registry/GraphNodeExecutorRegistry.d.mts +0 -39
  1272. package/lib/types/graph/engine/registry/GraphNodeExecutorResolver.d.cts +0 -21
  1273. package/lib/types/graph/engine/registry/GraphNodeExecutorResolver.d.mts +0 -21
  1274. package/lib/types/graph/engine/registry/index.d.cts +0 -7
  1275. package/lib/types/graph/engine/registry/index.d.mts +0 -7
  1276. package/lib/types/graph/engine/runs/GraphRunEventPublisher.d.cts +0 -26
  1277. package/lib/types/graph/engine/runs/GraphRunEventPublisher.d.mts +0 -26
  1278. package/lib/types/graph/engine/runs/GraphRunExecutor.d.cts +0 -75
  1279. package/lib/types/graph/engine/runs/GraphRunExecutor.d.mts +0 -75
  1280. package/lib/types/graph/engine/runs/GraphRunFingerprint.d.cts +0 -8
  1281. package/lib/types/graph/engine/runs/GraphRunFingerprint.d.mts +0 -8
  1282. package/lib/types/graph/engine/runs/GraphRunService.d.cts +0 -93
  1283. package/lib/types/graph/engine/runs/GraphRunService.d.mts +0 -93
  1284. package/lib/types/graph/engine/runs/InMemoryGraphRunEventStore.d.cts +0 -28
  1285. package/lib/types/graph/engine/runs/InMemoryGraphRunEventStore.d.mts +0 -28
  1286. package/lib/types/graph/engine/runs/InMemoryGraphRunStore.d.cts +0 -12
  1287. package/lib/types/graph/engine/runs/InMemoryGraphRunStore.d.mts +0 -12
  1288. package/lib/types/graph/engine/runs/index.d.cts +0 -8
  1289. package/lib/types/graph/engine/runs/index.d.mts +0 -8
  1290. package/lib/types/graph/engine/runs/ownership.d.cts +0 -25
  1291. package/lib/types/graph/engine/runs/ownership.d.mts +0 -25
  1292. package/lib/types/graph/engine/runs/types.d.cts +0 -83
  1293. package/lib/types/graph/engine/runs/types.d.mts +0 -83
  1294. package/lib/types/graph/engine/snapshots/GraphExecutionSnapshotMapper.d.cts +0 -10
  1295. package/lib/types/graph/engine/snapshots/GraphExecutionSnapshotMapper.d.mts +0 -10
  1296. package/lib/types/graph/engine/snapshots/index.d.cts +0 -6
  1297. package/lib/types/graph/engine/snapshots/index.d.mts +0 -6
  1298. package/lib/types/graph/engine/store/GraphCachedValue.d.cts +0 -20
  1299. package/lib/types/graph/engine/store/GraphCachedValue.d.mts +0 -20
  1300. package/lib/types/graph/engine/store/GraphValueKey.d.cts +0 -18
  1301. package/lib/types/graph/engine/store/GraphValueKey.d.mts +0 -18
  1302. package/lib/types/graph/engine/store/GraphValueStore.d.cts +0 -41
  1303. package/lib/types/graph/engine/store/GraphValueStore.d.mts +0 -41
  1304. package/lib/types/graph/engine/store/GraphValueStoreAdapter.d.cts +0 -32
  1305. package/lib/types/graph/engine/store/GraphValueStoreAdapter.d.mts +0 -32
  1306. package/lib/types/graph/engine/store/InMemoryGraphValueStoreAdapter.d.cts +0 -33
  1307. package/lib/types/graph/engine/store/InMemoryGraphValueStoreAdapter.d.mts +0 -33
  1308. package/lib/types/graph/engine/store/index.d.cts +0 -10
  1309. package/lib/types/graph/engine/store/index.d.mts +0 -10
  1310. package/lib/types/graph/engine/types.d.cts +0 -208
  1311. package/lib/types/graph/engine/types.d.mts +0 -208
  1312. package/lib/types/graph/engine/validation/GraphConnectionPolicyValidator.d.cts +0 -32
  1313. package/lib/types/graph/engine/validation/GraphConnectionPolicyValidator.d.mts +0 -32
  1314. package/lib/types/graph/engine/validation/GraphCredentialReferenceValidator.d.cts +0 -62
  1315. package/lib/types/graph/engine/validation/GraphCredentialReferenceValidator.d.mts +0 -62
  1316. package/lib/types/graph/engine/validation/GraphDefinitionValidator.d.cts +0 -23
  1317. package/lib/types/graph/engine/validation/GraphDefinitionValidator.d.mts +0 -23
  1318. package/lib/types/graph/engine/validation/GraphEdgeInstanceValidator.d.cts +0 -32
  1319. package/lib/types/graph/engine/validation/GraphEdgeInstanceValidator.d.mts +0 -32
  1320. package/lib/types/graph/engine/validation/GraphLooseNodeValidation.d.cts +0 -21
  1321. package/lib/types/graph/engine/validation/GraphLooseNodeValidation.d.mts +0 -21
  1322. package/lib/types/graph/engine/validation/GraphNodeInstanceValidator.d.cts +0 -37
  1323. package/lib/types/graph/engine/validation/GraphNodeInstanceValidator.d.mts +0 -37
  1324. package/lib/types/graph/engine/validation/GraphParameterValidator.d.cts +0 -116
  1325. package/lib/types/graph/engine/validation/GraphParameterValidator.d.mts +0 -116
  1326. package/lib/types/graph/engine/validation/GraphPortSchemaResolver.d.cts +0 -39
  1327. package/lib/types/graph/engine/validation/GraphPortSchemaResolver.d.mts +0 -39
  1328. package/lib/types/graph/engine/validation/GraphResolvedWorkflow.d.cts +0 -66
  1329. package/lib/types/graph/engine/validation/GraphResolvedWorkflow.d.mts +0 -66
  1330. package/lib/types/graph/engine/validation/GraphValidationErrors.d.cts +0 -34
  1331. package/lib/types/graph/engine/validation/GraphValidationErrors.d.mts +0 -34
  1332. package/lib/types/graph/engine/validation/GraphValidationIssue.d.cts +0 -39
  1333. package/lib/types/graph/engine/validation/GraphValidationIssue.d.mts +0 -39
  1334. package/lib/types/graph/engine/validation/GraphValueValidator.d.cts +0 -27
  1335. package/lib/types/graph/engine/validation/GraphValueValidator.d.mts +0 -27
  1336. package/lib/types/graph/engine/validation/GraphWorkflowDocumentValidator.d.cts +0 -162
  1337. package/lib/types/graph/engine/validation/GraphWorkflowDocumentValidator.d.mts +0 -162
  1338. package/lib/types/graph/engine/validation/index.d.cts +0 -20
  1339. package/lib/types/graph/engine/validation/index.d.mts +0 -20
  1340. package/lib/types/graph/index.d.cts +0 -12
  1341. package/lib/types/graph/index.d.mts +0 -12
  1342. package/lib/types/graph/log/GraphRunLogger.d.cts +0 -76
  1343. package/lib/types/graph/log/GraphRunLogger.d.mts +0 -76
  1344. package/lib/types/graph/log/LogParameters.d.cts +0 -7
  1345. package/lib/types/graph/log/LogParameters.d.mts +0 -7
  1346. package/lib/types/graph/nodes/agents/agent.d.cts +0 -31
  1347. package/lib/types/graph/nodes/agents/agent.d.mts +0 -31
  1348. package/lib/types/graph/nodes/base.d.cts +0 -58
  1349. package/lib/types/graph/nodes/base.d.mts +0 -58
  1350. package/lib/types/graph/nodes/boundary/input-value.d.cts +0 -6
  1351. package/lib/types/graph/nodes/boundary/input-value.d.mts +0 -6
  1352. package/lib/types/graph/nodes/flow-control/break.d.cts +0 -8
  1353. package/lib/types/graph/nodes/flow-control/break.d.mts +0 -8
  1354. package/lib/types/graph/nodes/flow-control/error-boundary.d.cts +0 -8
  1355. package/lib/types/graph/nodes/flow-control/error-boundary.d.mts +0 -8
  1356. package/lib/types/graph/nodes/flow-control/human-approval.d.cts +0 -8
  1357. package/lib/types/graph/nodes/flow-control/human-approval.d.mts +0 -8
  1358. package/lib/types/graph/nodes/flow-control/if.d.cts +0 -8
  1359. package/lib/types/graph/nodes/flow-control/if.d.mts +0 -8
  1360. package/lib/types/graph/nodes/flow-control/parallel.d.cts +0 -7
  1361. package/lib/types/graph/nodes/flow-control/parallel.d.mts +0 -7
  1362. package/lib/types/graph/nodes/flow-control/switch.d.cts +0 -23
  1363. package/lib/types/graph/nodes/flow-control/switch.d.mts +0 -23
  1364. package/lib/types/graph/nodes/index.d.cts +0 -93
  1365. package/lib/types/graph/nodes/index.d.mts +0 -93
  1366. package/lib/types/graph/nodes/loops/foreach.d.cts +0 -11
  1367. package/lib/types/graph/nodes/loops/foreach.d.mts +0 -11
  1368. package/lib/types/graph/nodes/loops/loop-metadata.d.cts +0 -20
  1369. package/lib/types/graph/nodes/loops/loop-metadata.d.mts +0 -20
  1370. package/lib/types/graph/nodes/loops/until.d.cts +0 -8
  1371. package/lib/types/graph/nodes/loops/until.d.mts +0 -8
  1372. package/lib/types/graph/nodes/loops/while.d.cts +0 -8
  1373. package/lib/types/graph/nodes/loops/while.d.mts +0 -8
  1374. package/lib/types/graph/nodes/manifests.d.cts +0 -62
  1375. package/lib/types/graph/nodes/manifests.d.mts +0 -62
  1376. package/lib/types/graph/nodes/triggers/chat.d.cts +0 -8
  1377. package/lib/types/graph/nodes/triggers/chat.d.mts +0 -8
  1378. package/lib/types/graph/nodes/triggers/event.d.cts +0 -6
  1379. package/lib/types/graph/nodes/triggers/event.d.mts +0 -6
  1380. package/lib/types/graph/nodes/triggers/form.d.cts +0 -6
  1381. package/lib/types/graph/nodes/triggers/form.d.mts +0 -6
  1382. package/lib/types/graph/nodes/triggers/manual.d.cts +0 -6
  1383. package/lib/types/graph/nodes/triggers/manual.d.mts +0 -6
  1384. package/lib/types/graph/nodes/triggers/schedule.d.cts +0 -6
  1385. package/lib/types/graph/nodes/triggers/schedule.d.mts +0 -6
  1386. package/lib/types/graph/nodes/triggers/webhook.d.cts +0 -6
  1387. package/lib/types/graph/nodes/triggers/webhook.d.mts +0 -6
  1388. package/lib/types/graph/nodes/utility/code.d.cts +0 -36
  1389. package/lib/types/graph/nodes/utility/code.d.mts +0 -36
  1390. package/lib/types/graph/nodes/utility/delay.d.cts +0 -7
  1391. package/lib/types/graph/nodes/utility/delay.d.mts +0 -7
  1392. package/lib/types/graph/nodes/utility/log.d.cts +0 -8
  1393. package/lib/types/graph/nodes/utility/log.d.mts +0 -8
  1394. package/lib/types/graph/nodes/utility/map.d.cts +0 -7
  1395. package/lib/types/graph/nodes/utility/map.d.mts +0 -7
  1396. package/lib/types/graph/nodes/utility/merge.d.cts +0 -7
  1397. package/lib/types/graph/nodes/utility/merge.d.mts +0 -7
  1398. package/lib/types/graph/nodes/utility/return.d.cts +0 -7
  1399. package/lib/types/graph/nodes/utility/return.d.mts +0 -7
  1400. package/lib/types/graph/nodes/utility/utility-log.d.cts +0 -10
  1401. package/lib/types/graph/nodes/utility/utility-log.d.mts +0 -10
  1402. package/lib/types/nest/graph/GraphExecutionController.d.cts +0 -110
  1403. package/lib/types/nest/graph/GraphExecutionController.d.mts +0 -110
  1404. package/lib/types/nest/graph/GraphExecutionModule.d.cts +0 -83
  1405. package/lib/types/nest/graph/GraphExecutionModule.d.mts +0 -83
  1406. package/lib/types/nest/graph/GraphExecutionResultModel.d.cts +0 -24
  1407. package/lib/types/nest/graph/GraphExecutionResultModel.d.mts +0 -24
  1408. package/lib/types/nest/graph/GraphExecutorRegistryFactory.d.cts +0 -68
  1409. package/lib/types/nest/graph/GraphExecutorRegistryFactory.d.mts +0 -68
  1410. package/lib/types/nest/graph/GraphNodeCatalogueController.d.cts +0 -70
  1411. package/lib/types/nest/graph/GraphNodeCatalogueController.d.mts +0 -70
  1412. package/lib/types/nest/graph/GraphResultService.d.cts +0 -20
  1413. package/lib/types/nest/graph/GraphResultService.d.mts +0 -20
  1414. package/lib/types/nest/graph/GraphRunController.d.cts +0 -87
  1415. package/lib/types/nest/graph/GraphRunController.d.mts +0 -87
  1416. package/lib/types/nest/graph/GraphRunModel.d.cts +0 -22
  1417. package/lib/types/nest/graph/GraphRunModel.d.mts +0 -22
  1418. package/lib/types/nest/graph/GraphRunModelService.d.cts +0 -21
  1419. package/lib/types/nest/graph/GraphRunModelService.d.mts +0 -21
  1420. package/lib/types/nest/graph/GraphWorkflowBoundaryValidation.d.cts +0 -28
  1421. package/lib/types/nest/graph/GraphWorkflowBoundaryValidation.d.mts +0 -28
  1422. package/lib/types/nest/graph/GraphWorkflowController.d.cts +0 -62
  1423. package/lib/types/nest/graph/GraphWorkflowController.d.mts +0 -62
  1424. package/lib/types/nest/graph/GraphWorkflowDocumentLimits.d.cts +0 -33
  1425. package/lib/types/nest/graph/GraphWorkflowDocumentLimits.d.mts +0 -33
  1426. package/lib/types/nest/graph/GraphWorkflowErrors.d.cts +0 -13
  1427. package/lib/types/nest/graph/GraphWorkflowErrors.d.mts +0 -13
  1428. package/lib/types/nest/graph/GraphWorkflowModel.d.cts +0 -24
  1429. package/lib/types/nest/graph/GraphWorkflowModel.d.mts +0 -24
  1430. package/lib/types/nest/graph/GraphWorkflowService.d.cts +0 -54
  1431. package/lib/types/nest/graph/GraphWorkflowService.d.mts +0 -54
  1432. package/lib/types/nest/graph/index.d.cts +0 -15
  1433. package/lib/types/nest/graph/index.d.mts +0 -15
  1434. package/lib/types/nest/graph/main.d.cts +0 -1
  1435. package/lib/types/nest/graph/main.d.mts +0 -1
  1436. /package/lib/cjs/{graph/engine/runs → redis}/types.cjs +0 -0
  1437. /package/lib/esm/{graph/engine/runs → redis}/types.js +0 -0
@@ -1,2 +1,2 @@
1
- var e,t;e=this,t=function(e,t,r,a,i,n,o,s){"use strict";var d,c,p,l,u,_,y,g;e.IsolationTier=void 0,(d=e.IsolationTier||(e.IsolationTier={})).Pooled="pooled",d.Bridge="bridge",d.Silo="silo",e.MembershipStatus=void 0,(c=e.MembershipStatus||(e.MembershipStatus={})).Invited="invited",c.Active="active",c.Suspended="suspended",c.Removed="removed",e.PrincipalKind=void 0,(p=e.PrincipalKind||(e.PrincipalKind={})).User="user",p.Group="group",p.ServiceAccount="service_account",p.Agent="agent",p.ApiKey="api_key",e.ScopeKind=void 0,(l=e.ScopeKind||(e.ScopeKind={})).Tenant="tenant",l.OrgUnit="org_unit",l.Resource="resource",e.PermissionCategory=void 0,(u=e.PermissionCategory||(e.PermissionCategory={})).Admin="admin",u.ContentRead="content_read",u.ContentWrite="content_write",u.Memory="memory",u.Graph="graph",u.Vector="vector",u.Export="export",u.Billing="billing",u.Audit="audit",u.Security="security",u.Data="data",u.Automation="automation",e.ResourceVisibility=void 0,(_=e.ResourceVisibility||(e.ResourceVisibility={})).Private="private",_.ResourceAcl="resource_acl",_.OrgUnit="org_unit",_.OrgSubtree="org_subtree",_.Tenant="tenant",e.StorageKind=void 0,(y=e.StorageKind||(e.StorageKind={})).Postgres="postgres",y.Arango="arango",y.Qdrant="qdrant",y.ObjectStorage="object_storage",e.StorageBindingKind=void 0,(g=e.StorageBindingKind||(e.StorageBindingKind={})).Shared="shared",g.Dedicated="dedicated";const m=Object.values(e.IsolationTier),h=Object.values(e.MembershipStatus),f=Object.values(e.PrincipalKind),v=Object.values(e.ScopeKind),b=Object.values(e.PermissionCategory),S=Object.values(e.ResourceVisibility),O=Object.values(e.StorageKind),A=Object.values(e.StorageBindingKind),w={update:i.Cascade.NONE,delete:i.Cascade.NONE,nullable:!1},P={update:i.Cascade.NONE,delete:i.Cascade.NONE,nullable:!0},T={update:i.Cascade.CASCADE,delete:i.Cascade.CASCADE,nullable:!1},F={update:i.Cascade.CASCADE,delete:i.Cascade.NONE,nullable:!1};function U(e){return{tenantId:e.tenantId,principalId:e.principalId,permissionKey:e.permissionKey,allowedOrgUnitIds:[...e.allowedOrgUnitIds],allowedResourceIds:[...e.allowedResourceIds]}}function R(e){return{must:[{key:"tenant_id",match:{value:e.tenantId}},{should:[{key:"org_unit_id",match:{any:e.allowedOrgUnitIds}},{key:"protected_resource_id",match:{any:e.allowedResourceIds}},{key:"owner_principal_id",match:{value:e.principalId}}]}]}}function I(e,t){return`${e}:${t}`}function j(e){return e??[]}function K(e,t){return q(e)===t}function k(e,t){return!!t&&q(e)===t}function B(e){return e.trim().toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||"item"}function C(e,t,r){const a=e??new Date;return!(t&&t>a||r&&a>r)}function M(t){const r={},a={};for(const i of t.permissions){const t=I(i.scopeKind,i.scopeId);r[t]=r[t]??[],r[t].push(i.permissionKey),i.scopeKind===e.ScopeKind.OrgUnit&&(a[i.permissionKey]=a[i.permissionKey]??[],a[i.permissionKey].push(i.scopeId))}return{tenantId:t.tenantId,principalId:t.principalId,permissionsByScope:r,allowedOrgUnitIdsByPermission:a,resourceGrants:t.grants.map(e=>({resourceId:e.resourceId,permissionKey:e.permissionKey}))}}class E extends i.ModelService{constructor(e){super(e)}newModel(e,t){return Object.assign(new e,t)}async create(e,...t){return this.repo.create(Object.assign({},e),...t)}async createOne(e,...t){return this.create(e,...t)}async getById(e,...t){return this.repo.read(e,...t)}async updateOne(e,t,...r){const a=await this.repo.read(e,...r);return this.repo.update(Object.assign(a,t),...r)}async deleteById(e,...t){await this.repo.delete(e,...t)}async findOneBy(e,t,...r){return this.repo.findOneBy(e,t,...r)}async findManyBy(e,t,...r){return this.repo.select().where({[e]:t}).execute(...r)}async listAll(...e){return this.repo.select().execute(...e)}}function q(e){return"string"==typeof e?e:e.id}class x extends n.Model{constructor(e){super(e)}}e.TenantMembership=class extends x{constructor(e){super(e)}},o.__decorate([i.pk({type:String}),i.uuid(),o.__metadata("design:type",String)],e.TenantMembership.prototype,"id",void 0),o.__decorate([i.manyToOne(()=>e.Tenant,T,!1,void 0,"fk_tenant_memberships_tenant"),n.required(),o.__metadata("design:type",Object)],e.TenantMembership.prototype,"tenant",void 0),o.__decorate([i.manyToOne(()=>e.User,T,!1,void 0,"fk_tenant_memberships_user"),n.required(),o.__metadata("design:type",Object)],e.TenantMembership.prototype,"user",void 0),o.__decorate([n.required(),n.type(String),n.option(h),i.column(),o.__metadata("design:type",String)],e.TenantMembership.prototype,"status",void 0),o.__decorate([i.createdAt(),o.__metadata("design:type",Date)],e.TenantMembership.prototype,"createdAt",void 0),o.__decorate([i.updatedAt(),o.__metadata("design:type",Date)],e.TenantMembership.prototype,"updatedAt",void 0),e.TenantMembership=o.__decorate([i.table("tenant_memberships"),n.model(),o.__metadata("design:paramtypes",[Object])],e.TenantMembership),e.User=class extends x{constructor(e){super(e)}},o.__decorate([i.pk({type:String}),i.uuid(),o.__metadata("design:type",String)],e.User.prototype,"id",void 0),o.__decorate([i.unique(),n.type(String),i.column(),o.__metadata("design:type",String)],e.User.prototype,"email",void 0),o.__decorate([i.unique(),n.type(String),i.column(),o.__metadata("design:type",String)],e.User.prototype,"phone",void 0),o.__decorate([n.required(),n.type(String),i.column(),o.__metadata("design:type",String)],e.User.prototype,"displayName",void 0),o.__decorate([i.oneToMany(()=>e.TenantMembership,w,!1),o.__metadata("design:type",Array)],e.User.prototype,"tenantMemberships",void 0),o.__decorate([i.oneToMany(()=>e.OrgUnitMembership,w,!1),o.__metadata("design:type",Array)],e.User.prototype,"orgUnitMemberships",void 0),o.__decorate([i.createdAt(),o.__metadata("design:type",Date)],e.User.prototype,"createdAt",void 0),o.__decorate([i.updatedAt(),o.__metadata("design:type",Date)],e.User.prototype,"updatedAt",void 0),e.User=o.__decorate([i.table("users"),n.model(),o.__metadata("design:paramtypes",[Object])],e.User),e.OrgUnitMembership=class extends x{constructor(e){super(e)}},o.__decorate([i.pk({type:String}),i.uuid(),o.__metadata("design:type",String)],e.OrgUnitMembership.prototype,"id",void 0),o.__decorate([i.manyToOne(()=>e.Tenant,T,!1,void 0,"fk_org_memberships_tenant"),n.required(),o.__metadata("design:type",Object)],e.OrgUnitMembership.prototype,"tenant",void 0),o.__decorate([i.manyToOne(()=>e.OrgUnit,T,!1,void 0,"fk_org_memberships_org_unit"),n.required(),o.__metadata("design:type",Object)],e.OrgUnitMembership.prototype,"orgUnit",void 0),o.__decorate([i.manyToOne(()=>e.User,w,!1,void 0,"fk_org_memberships_user"),n.required(),o.__metadata("design:type",Object)],e.OrgUnitMembership.prototype,"user",void 0),o.__decorate([n.required(),n.type(String),n.option(h),i.column(),o.__metadata("design:type",String)],e.OrgUnitMembership.prototype,"status",void 0),o.__decorate([i.createdAt(),o.__metadata("design:type",Date)],e.OrgUnitMembership.prototype,"createdAt",void 0),o.__decorate([i.updatedAt(),o.__metadata("design:type",Date)],e.OrgUnitMembership.prototype,"updatedAt",void 0),e.OrgUnitMembership=o.__decorate([i.table("org_unit_memberships"),n.model(),o.__metadata("design:paramtypes",[Object])],e.OrgUnitMembership),e.OrgUnitClosure=class extends x{constructor(e){super(e)}},o.__decorate([i.pk({type:String}),i.uuid(),o.__metadata("design:type",String)],e.OrgUnitClosure.prototype,"id",void 0),o.__decorate([i.manyToOne(()=>e.Tenant,T,!1,void 0,"fk_org_closure_tenant"),n.required(),o.__metadata("design:type",Object)],e.OrgUnitClosure.prototype,"tenant",void 0),o.__decorate([i.manyToOne(()=>e.OrgUnit,T,!1,void 0,"fk_org_closure_ancestor"),n.required(),o.__metadata("design:type",Object)],e.OrgUnitClosure.prototype,"ancestor",void 0),o.__decorate([i.manyToOne(()=>e.OrgUnit,T,!1,void 0,"fk_org_closure_descendant"),n.required(),o.__metadata("design:type",Object)],e.OrgUnitClosure.prototype,"descendant",void 0),o.__decorate([n.required(),n.type(Number),i.column(),o.__metadata("design:type",Number)],e.OrgUnitClosure.prototype,"depth",void 0),o.__decorate([i.createdAt(),o.__metadata("design:type",Date)],e.OrgUnitClosure.prototype,"createdAt",void 0),e.OrgUnitClosure=o.__decorate([i.table("org_unit_closure"),n.model(),o.__metadata("design:paramtypes",[Object])],e.OrgUnitClosure),e.Permission=class extends x{constructor(e){super(e)}},o.__decorate([i.pk({type:String}),i.uuid(),o.__metadata("design:type",String)],e.Permission.prototype,"id",void 0),o.__decorate([i.unique(),n.required(),n.type(String),i.column(),o.__metadata("design:type",String)],e.Permission.prototype,"key",void 0),o.__decorate([n.required(),n.type(String),n.option(b),i.column(),o.__metadata("design:type",String)],e.Permission.prototype,"category",void 0),o.__decorate([n.type(String),i.column(),o.__metadata("design:type",String)],e.Permission.prototype,"description",void 0),o.__decorate([i.oneToMany(()=>e.RolePermission,w,!1),o.__metadata("design:type",Array)],e.Permission.prototype,"rolePermissions",void 0),e.Permission=o.__decorate([i.table("permissions"),n.model(),o.__metadata("design:paramtypes",[Object])],e.Permission),e.RolePermission=class extends x{constructor(e){super(e)}},o.__decorate([i.pk({type:String}),i.uuid(),o.__metadata("design:type",String)],e.RolePermission.prototype,"id",void 0),o.__decorate([i.manyToOne(()=>e.Role,T,!1,void 0,"fk_role_permissions_role"),n.required(),o.__metadata("design:type",Object)],e.RolePermission.prototype,"role",void 0),o.__decorate([i.manyToOne(()=>e.Permission,T,!1,void 0,"fk_role_permissions_permission"),n.required(),o.__metadata("design:type",Object)],e.RolePermission.prototype,"permission",void 0),o.__decorate([i.createdAt(),o.__metadata("design:type",Date)],e.RolePermission.prototype,"createdAt",void 0),e.RolePermission=o.__decorate([i.table("role_permissions"),n.model(),o.__metadata("design:paramtypes",[Object])],e.RolePermission),e.Role=class extends x{constructor(e){super(e)}},o.__decorate([i.pk({type:String}),i.uuid(),o.__metadata("design:type",String)],e.Role.prototype,"id",void 0),o.__decorate([i.manyToOne(()=>e.Tenant,P,!1,void 0,"fk_roles_tenant"),o.__metadata("design:type",Object)],e.Role.prototype,"tenant",void 0),o.__decorate([n.required(),n.type(String),i.column(),o.__metadata("design:type",String)],e.Role.prototype,"key",void 0),o.__decorate([n.required(),n.type(String),i.column(),o.__metadata("design:type",String)],e.Role.prototype,"name",void 0),o.__decorate([n.type(String),i.column(),o.__metadata("design:type",String)],e.Role.prototype,"description",void 0),o.__decorate([n.type(Object),i.column(),o.__metadata("design:type",Object)],e.Role.prototype,"metadata",void 0),o.__decorate([i.oneToMany(()=>e.RolePermission,w,!1),o.__metadata("design:type",Array)],e.Role.prototype,"rolePermissions",void 0),o.__decorate([i.oneToMany(()=>e.RoleAssignment,w,!1),o.__metadata("design:type",Array)],e.Role.prototype,"assignments",void 0),o.__decorate([i.createdAt(),o.__metadata("design:type",Date)],e.Role.prototype,"createdAt",void 0),o.__decorate([i.updatedAt(),o.__metadata("design:type",Date)],e.Role.prototype,"updatedAt",void 0),e.Role=o.__decorate([i.table("roles"),n.model(),o.__metadata("design:paramtypes",[Object])],e.Role),e.RoleAssignment=class extends x{constructor(e){super(e)}},o.__decorate([i.pk({type:String}),i.uuid(),o.__metadata("design:type",String)],e.RoleAssignment.prototype,"id",void 0),o.__decorate([i.manyToOne(()=>e.Tenant,T,!1,void 0,"fk_role_assignments_tenant"),n.required(),o.__metadata("design:type",Object)],e.RoleAssignment.prototype,"tenant",void 0),o.__decorate([i.manyToOne(()=>e.Principal,T,!1,void 0,"fk_role_assignments_principal"),n.required(),o.__metadata("design:type",Object)],e.RoleAssignment.prototype,"principal",void 0),o.__decorate([i.manyToOne(()=>e.Role,w,!1,void 0,"fk_role_assignments_role"),n.required(),o.__metadata("design:type",Object)],e.RoleAssignment.prototype,"role",void 0),o.__decorate([n.required(),n.type(String),n.option(v),i.column(),o.__metadata("design:type",String)],e.RoleAssignment.prototype,"scopeKind",void 0),o.__decorate([n.required(),n.type(String),i.column(),o.__metadata("design:type",String)],e.RoleAssignment.prototype,"scopeId",void 0),o.__decorate([n.required(),n.type(Boolean),i.column(),o.__metadata("design:type",Boolean)],e.RoleAssignment.prototype,"inheritDown",void 0),o.__decorate([i.column(),o.__metadata("design:type",Date)],e.RoleAssignment.prototype,"startsAt",void 0),o.__decorate([i.column(),o.__metadata("design:type",Date)],e.RoleAssignment.prototype,"expiresAt",void 0),o.__decorate([n.type(Object),i.column(),o.__metadata("design:type",Object)],e.RoleAssignment.prototype,"conditions",void 0),o.__decorate([i.createdAt(),o.__metadata("design:type",Date)],e.RoleAssignment.prototype,"createdAt",void 0),o.__decorate([i.updatedAt(),o.__metadata("design:type",Date)],e.RoleAssignment.prototype,"updatedAt",void 0),e.RoleAssignment=o.__decorate([i.table("role_assignments"),n.model(),o.__metadata("design:paramtypes",[Object])],e.RoleAssignment),e.ResourceGrant=class extends x{constructor(e){super(e)}},o.__decorate([i.pk({type:String}),i.uuid(),o.__metadata("design:type",String)],e.ResourceGrant.prototype,"id",void 0),o.__decorate([i.manyToOne(()=>e.Tenant,T,!1,void 0,"fk_resource_grants_tenant"),n.required(),o.__metadata("design:type",Object)],e.ResourceGrant.prototype,"tenant",void 0),o.__decorate([i.manyToOne(()=>e.ProtectedResource,T,!1,void 0,"fk_resource_grants_resource"),n.required(),o.__metadata("design:type",Object)],e.ResourceGrant.prototype,"resource",void 0),o.__decorate([i.manyToOne(()=>e.Principal,T,!1,void 0,"fk_resource_grants_principal"),n.required(),o.__metadata("design:type",Object)],e.ResourceGrant.prototype,"principal",void 0),o.__decorate([n.required(),n.type(String),i.column(),o.__metadata("design:type",String)],e.ResourceGrant.prototype,"permissionKey",void 0),o.__decorate([i.column(),o.__metadata("design:type",Date)],e.ResourceGrant.prototype,"startsAt",void 0),o.__decorate([i.column(),o.__metadata("design:type",Date)],e.ResourceGrant.prototype,"expiresAt",void 0),o.__decorate([n.type(Object),i.column(),o.__metadata("design:type",Object)],e.ResourceGrant.prototype,"conditions",void 0),o.__decorate([i.manyToOne(()=>e.Principal,w,!1,void 0,"fk_resource_grants_created_by"),o.__metadata("design:type",Object)],e.ResourceGrant.prototype,"createdBy",void 0),o.__decorate([i.createdAt(),o.__metadata("design:type",Date)],e.ResourceGrant.prototype,"createdAt",void 0),o.__decorate([i.updatedAt(),o.__metadata("design:type",Date)],e.ResourceGrant.prototype,"updatedAt",void 0),e.ResourceGrant=o.__decorate([i.table("resource_grants"),n.model(),o.__metadata("design:paramtypes",[Object])],e.ResourceGrant),e.Principal=class extends x{constructor(e){super(e)}},o.__decorate([i.pk({type:String}),i.uuid(),o.__metadata("design:type",String)],e.Principal.prototype,"id",void 0),o.__decorate([i.manyToOne(()=>e.Tenant,w,!1,void 0,"fk_principals_tenant"),n.required(),o.__metadata("design:type",Object)],e.Principal.prototype,"tenant",void 0),o.__decorate([n.required(),n.type(String),n.option(f),i.column(),o.__metadata("design:type",String)],e.Principal.prototype,"kind",void 0),o.__decorate([n.required(),n.type(String),i.column(),o.__metadata("design:type",String)],e.Principal.prototype,"subjectId",void 0),o.__decorate([i.oneToMany(()=>e.RoleAssignment,w,!1),o.__metadata("design:type",Array)],e.Principal.prototype,"roleAssignments",void 0),o.__decorate([i.oneToMany(()=>e.ResourceGrant,w,!1),o.__metadata("design:type",Array)],e.Principal.prototype,"resourceGrants",void 0),o.__decorate([i.createdAt(),o.__metadata("design:type",Date)],e.Principal.prototype,"createdAt",void 0),o.__decorate([i.updatedAt(),o.__metadata("design:type",Date)],e.Principal.prototype,"updatedAt",void 0),e.Principal=o.__decorate([i.table("principals"),n.model(),o.__metadata("design:paramtypes",[Object])],e.Principal),e.ProtectedResource=class extends x{constructor(e){super(e)}},o.__decorate([i.pk({type:String}),i.uuid(),o.__metadata("design:type",String)],e.ProtectedResource.prototype,"id",void 0),o.__decorate([i.manyToOne(()=>e.Tenant,w,!1,void 0,"fk_protected_resources_tenant"),n.required(),o.__metadata("design:type",Object)],e.ProtectedResource.prototype,"tenant",void 0),o.__decorate([i.manyToOne(()=>e.OrgUnit,w,!1,void 0,"fk_protected_resources_org_unit"),n.required(),o.__metadata("design:type",Object)],e.ProtectedResource.prototype,"orgUnit",void 0),o.__decorate([n.required(),n.type(String),i.column(),o.__metadata("design:type",String)],e.ProtectedResource.prototype,"resourceType",void 0),o.__decorate([n.required(),n.type(String),i.column(),o.__metadata("design:type",String)],e.ProtectedResource.prototype,"resourceId",void 0),o.__decorate([n.required(),n.type(String),n.option(S),i.column(),o.__metadata("design:type",String)],e.ProtectedResource.prototype,"visibility",void 0),o.__decorate([i.manyToOne(()=>e.Principal,P,!1,void 0,"fk_protected_resources_owner"),o.__metadata("design:type",Object)],e.ProtectedResource.prototype,"owner",void 0),o.__decorate([n.type(String),i.column(),o.__metadata("design:type",String)],e.ProtectedResource.prototype,"sensitivity",void 0),o.__decorate([n.type(Object),i.column(),o.__metadata("design:type",Object)],e.ProtectedResource.prototype,"metadata",void 0),o.__decorate([i.oneToMany(()=>e.ResourceGrant,w,!1),o.__metadata("design:type",Array)],e.ProtectedResource.prototype,"grants",void 0),o.__decorate([i.createdAt(),o.__metadata("design:type",Date)],e.ProtectedResource.prototype,"createdAt",void 0),o.__decorate([i.updatedAt(),o.__metadata("design:type",Date)],e.ProtectedResource.prototype,"updatedAt",void 0),e.ProtectedResource=o.__decorate([i.table("protected_resources"),n.model(),o.__metadata("design:paramtypes",[Object])],e.ProtectedResource),e.InheritanceBlock=class extends x{constructor(e){super(e)}},o.__decorate([i.pk({type:String}),i.uuid(),o.__metadata("design:type",String)],e.InheritanceBlock.prototype,"id",void 0),o.__decorate([i.manyToOne(()=>e.Tenant,T,!1,void 0,"fk_inheritance_blocks_tenant"),n.required(),o.__metadata("design:type",Object)],e.InheritanceBlock.prototype,"tenant",void 0),o.__decorate([i.manyToOne(()=>e.OrgUnit,T,!1,void 0,"fk_inheritance_blocks_org_unit"),n.required(),o.__metadata("design:type",Object)],e.InheritanceBlock.prototype,"orgUnit",void 0),o.__decorate([i.manyToOne(()=>e.OrgUnit,P,!1,void 0,"fk_inheritance_blocks_blocked_ancestor"),o.__metadata("design:type",Object)],e.InheritanceBlock.prototype,"blockedFromAncestor",void 0),o.__decorate([n.required(),n.type(String),n.option(b),i.column(),o.__metadata("design:type",String)],e.InheritanceBlock.prototype,"permissionCategory",void 0),o.__decorate([n.type(String),i.column(),o.__metadata("design:type",String)],e.InheritanceBlock.prototype,"reason",void 0),o.__decorate([i.createdAt(),o.__metadata("design:type",Date)],e.InheritanceBlock.prototype,"createdAt",void 0),o.__decorate([i.updatedAt(),o.__metadata("design:type",Date)],e.InheritanceBlock.prototype,"updatedAt",void 0),e.InheritanceBlock=o.__decorate([i.table("inheritance_blocks"),n.model(),o.__metadata("design:paramtypes",[Object])],e.InheritanceBlock),e.OrgUnit=class extends x{constructor(e){super(e)}},o.__decorate([i.pk({type:String}),i.uuid(),o.__metadata("design:type",String)],e.OrgUnit.prototype,"id",void 0),o.__decorate([i.manyToOne(()=>e.Tenant,w,!1,void 0,"fk_org_units_tenant"),n.required(),o.__metadata("design:type",Object)],e.OrgUnit.prototype,"tenant",void 0),o.__decorate([i.manyToOne(()=>e.OrgUnit,w,!1,void 0,"fk_org_units_parent"),o.__metadata("design:type",Object)],e.OrgUnit.prototype,"parent",void 0),o.__decorate([i.oneToMany(()=>e.OrgUnit,w,!1),o.__metadata("design:type",Array)],e.OrgUnit.prototype,"children",void 0),o.__decorate([n.required(),n.type(String),i.column(),o.__metadata("design:type",String)],e.OrgUnit.prototype,"name",void 0),o.__decorate([n.required(),n.type(String),i.column(),o.__metadata("design:type",String)],e.OrgUnit.prototype,"path",void 0),o.__decorate([n.type(Object),i.column(),o.__metadata("design:type",Object)],e.OrgUnit.prototype,"metadata",void 0),o.__decorate([i.oneToMany(()=>e.OrgUnitMembership,w,!1),o.__metadata("design:type",Array)],e.OrgUnit.prototype,"memberships",void 0),o.__decorate([i.oneToMany(()=>e.ProtectedResource,w,!1),o.__metadata("design:type",Array)],e.OrgUnit.prototype,"resources",void 0),o.__decorate([i.oneToMany(()=>e.InheritanceBlock,w,!1),o.__metadata("design:type",Array)],e.OrgUnit.prototype,"inheritanceBlocks",void 0),o.__decorate([i.oneToMany(()=>e.OrgUnitClosure,w,!1),o.__metadata("design:type",Array)],e.OrgUnit.prototype,"ancestorLinks",void 0),o.__decorate([i.oneToMany(()=>e.OrgUnitClosure,w,!1),o.__metadata("design:type",Array)],e.OrgUnit.prototype,"descendantLinks",void 0),o.__decorate([i.createdAt(),o.__metadata("design:type",Date)],e.OrgUnit.prototype,"createdAt",void 0),o.__decorate([i.updatedAt(),o.__metadata("design:type",Date)],e.OrgUnit.prototype,"updatedAt",void 0),e.OrgUnit=o.__decorate([i.table("org_units"),n.model(),o.__metadata("design:paramtypes",[Object])],e.OrgUnit),e.StorageBinding=class extends x{constructor(e){super(e)}},o.__decorate([i.pk({type:String}),i.uuid(),o.__metadata("design:type",String)],e.StorageBinding.prototype,"id",void 0),o.__decorate([i.manyToOne(()=>e.Tenant,T,!1,void 0,"fk_storage_bindings_tenant"),n.required(),o.__metadata("design:type",Object)],e.StorageBinding.prototype,"tenant",void 0),o.__decorate([n.required(),n.type(String),n.option(O),i.column(),o.__metadata("design:type",String)],e.StorageBinding.prototype,"storageKind",void 0),o.__decorate([n.required(),n.type(String),n.option(A),i.column(),o.__metadata("design:type",String)],e.StorageBinding.prototype,"bindingKind",void 0),o.__decorate([n.required(),n.type(String),i.column(),o.__metadata("design:type",String)],e.StorageBinding.prototype,"bindingKey",void 0),o.__decorate([n.required(),n.type(String),i.column(),o.__metadata("design:type",String)],e.StorageBinding.prototype,"region",void 0),o.__decorate([n.type(Object),i.column(),o.__metadata("design:type",Object)],e.StorageBinding.prototype,"config",void 0),o.__decorate([i.createdAt(),o.__metadata("design:type",Date)],e.StorageBinding.prototype,"createdAt",void 0),o.__decorate([i.updatedAt(),o.__metadata("design:type",Date)],e.StorageBinding.prototype,"updatedAt",void 0),e.StorageBinding=o.__decorate([i.table("storage_bindings"),n.model(),o.__metadata("design:paramtypes",[Object])],e.StorageBinding),e.Tenant=class extends x{constructor(e){super(e)}},o.__decorate([i.pk({type:String}),i.uuid(),o.__metadata("design:type",String)],e.Tenant.prototype,"id",void 0),o.__decorate([i.unique(),n.required(),n.type(String),i.column(),o.__metadata("design:type",String)],e.Tenant.prototype,"slug",void 0),o.__decorate([n.required(),n.type(String),i.column(),o.__metadata("design:type",String)],e.Tenant.prototype,"name",void 0),o.__decorate([n.required(),n.type(String),n.option(m),i.column(),o.__metadata("design:type",String)],e.Tenant.prototype,"isolationTier",void 0),o.__decorate([i.oneToMany(()=>e.OrgUnit,w,!1),o.__metadata("design:type",Array)],e.Tenant.prototype,"orgUnits",void 0),o.__decorate([i.oneToMany(()=>e.TenantMembership,w,!1),o.__metadata("design:type",Array)],e.Tenant.prototype,"memberships",void 0),o.__decorate([i.oneToMany(()=>e.Principal,w,!1),o.__metadata("design:type",Array)],e.Tenant.prototype,"principals",void 0),o.__decorate([i.oneToMany(()=>e.StorageBinding,w,!1),o.__metadata("design:type",Array)],e.Tenant.prototype,"storageBindings",void 0),o.__decorate([i.createdAt(),o.__metadata("design:type",Date)],e.Tenant.prototype,"createdAt",void 0),o.__decorate([i.updatedAt(),o.__metadata("design:type",Date)],e.Tenant.prototype,"updatedAt",void 0),e.Tenant=o.__decorate([i.table("tenants"),n.model(),o.__metadata("design:paramtypes",[Object])],e.Tenant),e.TenantProfile=class extends x{constructor(e){super(e)}},o.__decorate([i.pk({type:String}),i.uuid(),o.__metadata("design:type",String)],e.TenantProfile.prototype,"id",void 0),o.__decorate([i.manyToOne(()=>e.Tenant,T,!1,void 0,"fk_tenant_profiles_tenant"),n.required(),o.__metadata("design:type",Object)],e.TenantProfile.prototype,"tenant",void 0),o.__decorate([n.required(),n.type(String),i.column(),o.__metadata("design:type",String)],e.TenantProfile.prototype,"profileKey",void 0),o.__decorate([n.type(Object),i.column(),o.__metadata("design:type",Object)],e.TenantProfile.prototype,"metadata",void 0),o.__decorate([i.createdAt(),o.__metadata("design:type",Date)],e.TenantProfile.prototype,"createdAt",void 0),o.__decorate([i.updatedAt(),o.__metadata("design:type",Date)],e.TenantProfile.prototype,"updatedAt",void 0),e.TenantProfile=o.__decorate([i.table("tenant_profiles"),n.model(),o.__metadata("design:paramtypes",[Object])],e.TenantProfile),e.OrgUnitProfile=class extends x{constructor(e){super(e)}},o.__decorate([i.pk({type:String}),i.uuid(),o.__metadata("design:type",String)],e.OrgUnitProfile.prototype,"id",void 0),o.__decorate([i.manyToOne(()=>e.OrgUnit,T,!1,void 0,"fk_org_unit_profiles_org_unit"),n.required(),o.__metadata("design:type",Object)],e.OrgUnitProfile.prototype,"orgUnit",void 0),o.__decorate([n.required(),n.type(String),i.column(),o.__metadata("design:type",String)],e.OrgUnitProfile.prototype,"profileKey",void 0),o.__decorate([n.type(Object),i.column(),o.__metadata("design:type",Object)],e.OrgUnitProfile.prototype,"metadata",void 0),o.__decorate([i.createdAt(),o.__metadata("design:type",Date)],e.OrgUnitProfile.prototype,"createdAt",void 0),o.__decorate([i.updatedAt(),o.__metadata("design:type",Date)],e.OrgUnitProfile.prototype,"updatedAt",void 0),e.OrgUnitProfile=o.__decorate([i.table("org_unit_profiles"),n.model(),o.__metadata("design:paramtypes",[Object])],e.OrgUnitProfile),e.GroupMembership=class extends x{constructor(e){super(e)}},o.__decorate([i.pk({type:String}),i.uuid(),o.__metadata("design:type",String)],e.GroupMembership.prototype,"id",void 0),o.__decorate([i.manyToOne(()=>e.Tenant,T,!1,void 0,"fk_group_memberships_tenant"),n.required(),o.__metadata("design:type",Object)],e.GroupMembership.prototype,"tenant",void 0),o.__decorate([i.manyToOne(()=>e.Group,T,!1,void 0,"fk_group_memberships_group"),n.required(),o.__metadata("design:type",Object)],e.GroupMembership.prototype,"group",void 0),o.__decorate([i.manyToOne(()=>e.Principal,T,!1,void 0,"fk_group_memberships_principal"),n.required(),o.__metadata("design:type",Object)],e.GroupMembership.prototype,"principal",void 0),o.__decorate([n.type(Object),i.column(),o.__metadata("design:type",Object)],e.GroupMembership.prototype,"metadata",void 0),o.__decorate([i.createdAt(),o.__metadata("design:type",Date)],e.GroupMembership.prototype,"createdAt",void 0),e.GroupMembership=o.__decorate([i.table("group_memberships"),n.model(),o.__metadata("design:paramtypes",[Object])],e.GroupMembership),e.Group=class extends x{constructor(e){super(e)}},o.__decorate([i.pk({type:String}),i.uuid(),o.__metadata("design:type",String)],e.Group.prototype,"id",void 0),o.__decorate([i.manyToOne(()=>e.Tenant,w,!1,void 0,"fk_groups_tenant"),n.required(),o.__metadata("design:type",Object)],e.Group.prototype,"tenant",void 0),o.__decorate([i.manyToOne(()=>e.OrgUnit,P,!1,void 0,"fk_groups_org_unit"),o.__metadata("design:type",Object)],e.Group.prototype,"orgUnit",void 0),o.__decorate([n.required(),n.type(String),i.column(),o.__metadata("design:type",String)],e.Group.prototype,"name",void 0),o.__decorate([n.type(Object),i.column(),o.__metadata("design:type",Object)],e.Group.prototype,"metadata",void 0),o.__decorate([i.oneToMany(()=>e.GroupMembership,w,!1),o.__metadata("design:type",Array)],e.Group.prototype,"members",void 0),o.__decorate([i.createdAt(),o.__metadata("design:type",Date)],e.Group.prototype,"createdAt",void 0),o.__decorate([i.updatedAt(),o.__metadata("design:type",Date)],e.Group.prototype,"updatedAt",void 0),e.Group=o.__decorate([i.table("groups"),n.model(),o.__metadata("design:paramtypes",[Object])],e.Group),e.EffectivePermission=class extends x{constructor(e){super(e)}},o.__decorate([i.pk({type:String}),i.uuid(),o.__metadata("design:type",String)],e.EffectivePermission.prototype,"id",void 0),o.__decorate([i.manyToOne(()=>e.Tenant,T,!1,void 0,"fk_effective_permissions_tenant"),n.required(),o.__metadata("design:type",Object)],e.EffectivePermission.prototype,"tenant",void 0),o.__decorate([i.manyToOne(()=>e.Principal,T,!1,void 0,"fk_effective_permissions_principal"),n.required(),o.__metadata("design:type",Object)],e.EffectivePermission.prototype,"principal",void 0),o.__decorate([n.required(),n.type(String),i.column(),o.__metadata("design:type",String)],e.EffectivePermission.prototype,"permissionKey",void 0),o.__decorate([n.required(),n.type(String),n.option(v),i.column(),o.__metadata("design:type",String)],e.EffectivePermission.prototype,"scopeKind",void 0),o.__decorate([n.required(),n.type(String),i.column(),o.__metadata("design:type",String)],e.EffectivePermission.prototype,"scopeId",void 0),o.__decorate([n.required(),n.type(String),i.column(),o.__metadata("design:type",String)],e.EffectivePermission.prototype,"sourceKind",void 0),o.__decorate([n.required(),n.type(String),i.column(),o.__metadata("design:type",String)],e.EffectivePermission.prototype,"sourceId",void 0),o.__decorate([i.column(),o.__metadata("design:type",Date)],e.EffectivePermission.prototype,"startsAt",void 0),o.__decorate([i.column(),o.__metadata("design:type",Date)],e.EffectivePermission.prototype,"expiresAt",void 0),o.__decorate([i.createdAt(),o.__metadata("design:type",Date)],e.EffectivePermission.prototype,"createdAt",void 0),e.EffectivePermission=o.__decorate([i.table("effective_permissions"),n.model(),o.__metadata("design:paramtypes",[Object])],e.EffectivePermission);class D extends E{constructor(){super(e.TenantProfile)}async createProfile(e,t,r,...a){return this.create({tenant:e,profileKey:t,metadata:r},...a)}async listForTenant(e,...t){return(await this.listAll(...t)).filter(t=>K(t.tenant,e))}async deleteForTenant(e,...t){for(const r of await this.listForTenant(e,...t))await this.deleteById(r.id,...t)}}class G extends E{constructor(){super(e.OrgUnitProfile)}async createProfile(e,t,r,...a){return this.create({orgUnit:e,profileKey:t,metadata:r},...a)}async listForOrgUnit(e,...t){return(await this.listAll(...t)).filter(t=>k(t.orgUnit,e))}}class L extends E{constructor(){super(e.OrgUnitClosure)}async listAncestors(e,t,...r){return(await this.listAll(...r)).filter(r=>K(r.tenant,e)&&k(r.descendant,t)).sort((e,t)=>e.depth-t.depth)}async listDescendants(e,t,...r){return(await this.listAll(...r)).filter(r=>K(r.tenant,e)&&k(r.ancestor,t)).sort((e,t)=>e.depth-t.depth)}async isAncestorOf(e,t,r,...a){return(await this.listAncestors(e,r,...a)).some(e=>k(e.ancestor,t))}async createSelfLink(e,t,...r){return this.create({tenant:e,ancestor:t,descendant:t,depth:0},...r)}async insertAncestorLinksForNewChild(e,t,r,...a){const i=await this.listAncestors(e,t,...a);for(const t of i)await this.create({tenant:e,ancestor:t.ancestor,descendant:r,depth:t.depth+1},...a)}async deleteLinksForSubtree(e,t,...r){const a=await this.listDescendants(e,t,...r),i=new Set([t,...a.map(e=>q(e.descendant))]),n=new Set([t,...a.map(e=>q(e.ancestor))]),o=(await this.listAll(...r)).filter(t=>K(t.tenant,e)&&(i.has(q(t.descendant))||n.has(q(t.ancestor))));for(const e of o)await this.deleteById(e.id,...r)}}class N extends E{constructor(){super(e.InheritanceBlock)}async blockCategory(e,t,r,a,i,...n){return this.create({tenant:e,orgUnit:t,blockedFromAncestor:a,permissionCategory:r,reason:i},...n)}async unblockCategory(e,...t){await this.deleteById(e,...t)}async listForOrgUnit(e,t,...r){return(await this.listAll(...r)).filter(r=>K(r.tenant,e)&&k(r.orgUnit,t))}async categoryBlockedForAncestor(e,t,r,a,...i){return(await this.listForOrgUnit(e,t,...i)).some(e=>e.permissionCategory===a&&(!e.blockedFromAncestor||k(e.blockedFromAncestor,r)))}}class z extends E{constructor(){super(e.Tenant)}async createTenant(t,...r){return this.create({slug:t.slug,name:t.name,isolationTier:t.isolationTier??e.IsolationTier.Pooled},...r)}async getBySlug(e,...t){return this.findOneBy("slug",e,...t)}async renameTenant(e,t,...r){return this.updateOne(e,{name:t},...r)}async changeSlug(e,t,...r){return this.updateOne(e,{slug:t},...r)}async setIsolationTier(e,t,...r){return this.updateOne(e,{isolationTier:t},...r)}async deleteTenantControlled(e,...t){await this.deleteById(e,...t)}}async function $(e,t,...r){for(const a of t)await e.deleteById(a.id,...r)}class V extends E{constructor(){super(e.OrgUnit)}orgUnitPath(e,t){const r=B(t);return e?`${e.replace(/\/+$/,"")}/${r}`:"/"+r}async createProfileIfNeeded(e,t,r,...a){t&&await(new G).createProfile(e,t,r,...a)}async createRoot(e,t,r,a,i,...n){const o=await this.create({tenant:e,name:t,path:this.orgUnitPath(void 0,t),metadata:r},...n);return await this.createProfileIfNeeded(o.id,a,i,...n),await(new L).createSelfLink(e,o.id,...n),o}async createChild(e,...t){const r=e.parentOrgUnitId?await this.getById(e.parentOrgUnitId,...t):void 0,a=await this.create({tenant:e.tenantId,parent:r?.id??e.parentOrgUnitId,name:e.name,path:this.orgUnitPath(r?.path,e.name),metadata:e.metadata},...t);await this.createProfileIfNeeded(a.id,e.profileKey,e.profileMetadata,...t);const i=new L;return await i.createSelfLink(e.tenantId,a.id,...t),e.parentOrgUnitId&&await i.insertAncestorLinksForNewChild(e.tenantId,e.parentOrgUnitId,a.id,...t),a}async listChildren(e,...t){return(await this.listAll(...t)).filter(t=>k(t.parent,e))}async listTenantOrgUnits(e,...t){return(await this.listAll(...t)).filter(t=>K(t.tenant,e))}async listDescendantOrgUnits(e,t,r=!1,...a){const i=await(new L).listDescendants(e,t,...a),n=new Set(i.map(e=>q(e.descendant)));return r&&n.add(t),(await this.listTenantOrgUnits(e,...a)).filter(e=>n.has(e.id))}async listAncestorOrgUnits(e,t,r=!1,...a){const i=await(new L).listAncestors(e,t,...a),n=new Set(i.map(e=>q(e.ancestor)));return r&&n.add(t),(await this.listTenantOrgUnits(e,...a)).filter(e=>n.has(e.id))}async renameOrgUnit(e,t,...r){const a=await this.getById(e,...r);return this.updateOne(e,{name:t,path:this.orgUnitPath(a.path.includes("/")?a.path.replace(/\/[^/]+$/,""):void 0,t)},...r)}async moveOrgUnit(e,t,r,...a){const i=await this.getById(r,...a),n=await this.getById(t,...a),o=await this.updateOne(t,{parent:i.id,path:this.orgUnitPath(i.path,n.name)},...a);return await this.rebuildTenantClosure(e,...a),o}async rebuildTenantClosure(e,...t){const r=new L,a=await r.listAll(...t);await $(r,a.filter(t=>K(t.tenant,e)),...t);const i=(await this.listTenantOrgUnits(e,...t)).sort((e,t)=>e.path.split("/").filter(Boolean).length-t.path.split("/").filter(Boolean).length);for(const a of i)await r.createSelfLink(e,a.id,...t),a.parent&&await r.insertAncestorLinksForNewChild(e,q(a.parent),a.id,...t)}async deleteOrgUnitTree(e,t,...r){const a=new L,i=await this.listDescendantOrgUnits(e,t,!0,...r),n=new Set(i.map(e=>e.id)),o=(await this.listTenantOrgUnits(e,...r)).filter(e=>n.has(e.id));await $(this,o,...r),await a.deleteLinksForSubtree(e,t,...r)}}o.__decorate([i.transactional(),o.__metadata("design:type",Function),o.__metadata("design:paramtypes",[String,String,Object,String,Object,Object]),o.__metadata("design:returntype",Promise)],V.prototype,"createRoot",null),o.__decorate([i.transactional(),o.__metadata("design:type",Function),o.__metadata("design:paramtypes",[Object,Object]),o.__metadata("design:returntype",Promise)],V.prototype,"createChild",null),o.__decorate([i.transactional(),o.__metadata("design:type",Function),o.__metadata("design:paramtypes",[String,String,String,Object]),o.__metadata("design:returntype",Promise)],V.prototype,"moveOrgUnit",null),o.__decorate([i.transactional(),o.__metadata("design:type",Function),o.__metadata("design:paramtypes",[String,Object]),o.__metadata("design:returntype",Promise)],V.prototype,"rebuildTenantClosure",null),o.__decorate([i.transactional(),o.__metadata("design:type",Function),o.__metadata("design:paramtypes",[String,String,Object]),o.__metadata("design:returntype",Promise)],V.prototype,"deleteOrgUnitTree",null);class W extends E{constructor(){super(e.User)}async createUser(e,...t){return this.create({email:e.email,phone:e.phone,displayName:e.displayName},...t)}async getByEmail(e,...t){return(await this.listAll(...t)).find(t=>t.email===e)}async updateDisplayName(e,t,...r){return this.updateOne(e,{displayName:t},...r)}async updateEmail(e,t,...r){return this.updateOne(e,{email:t},...r)}async updatePhone(e,t,...r){return this.updateOne(e,{phone:t},...r)}}class Y extends E{constructor(){super(e.Principal)}async createPrincipal(e,t,r,...a){return this.create({tenant:e,kind:t,subjectId:r},...a)}async getForSubject(e,t,r,...a){return(await this.listAll(...a)).find(a=>K(a.tenant,e)&&a.kind===t&&a.subjectId===r)}async getOrCreateForSubject(e,t,r,...a){return await this.getForSubject(e,t,r,...a)??await this.createPrincipal(e,t,r,...a)}async getUserPrincipal(t,r,...a){return this.getOrCreateForSubject(t,e.PrincipalKind.User,r,...a)}async getGroupPrincipal(t,r,...a){return this.getOrCreateForSubject(t,e.PrincipalKind.Group,r,...a)}}class H extends E{constructor(){super(e.TenantMembership)}async addUserToTenant(t,r,a=e.MembershipStatus.Active,...i){return this.create({tenant:t,user:r,status:a},...i)}async setStatus(e,t,...r){return this.updateOne(e,{status:t},...r)}async listUserTenants(e,...t){return(await this.listAll(...t)).filter(t=>k(t.user,e))}async listTenantUsers(e,...t){return(await this.listAll(...t)).filter(t=>K(t.tenant,e))}async removeUserFromTenant(e,...t){await this.deleteById(e,...t)}}class Q extends E{constructor(){super(e.OrgUnitMembership)}async addUserToOrgUnit(t,r,a,i=e.MembershipStatus.Active,...n){return this.create({tenant:t,orgUnit:r,user:a,status:i},...n)}async setStatus(e,t,...r){return this.updateOne(e,{status:t},...r)}async listUserOrgUnits(e,...t){return(await this.listAll(...t)).filter(t=>k(t.user,e))}async listOrgUnitUsers(e,...t){return(await this.listAll(...t)).filter(t=>k(t.orgUnit,e))}async removeUserFromOrgUnit(e,...t){await this.deleteById(e,...t)}}class Z extends E{constructor(){super(e.GroupMembership)}async addPrincipalToGroup(e,t,r,a,...i){return this.create({tenant:e,group:t,principal:r,metadata:a},...i)}async listGroupMembers(e,...t){return(await this.listAll(...t)).filter(t=>k(t.group,e))}async listPrincipalGroups(e,...t){return(await this.listAll(...t)).filter(t=>k(t.principal,e))}async removePrincipalFromGroup(e,...t){await this.deleteById(e,...t)}async resolveGroupPrincipalIdsForPrincipal(e,...t){const r=new Y,a=await this.listPrincipalGroups(e,...t);return await Promise.all(a.map(async e=>{const a=q(e.tenant),i=q(e.group);return(await r.getGroupPrincipal(a,i,...t)).id}))}}class J extends E{constructor(){super(e.Permission)}async createPermission(e,...t){return this.create({key:e.key,category:e.category,description:e.description},...t)}async getByKey(e,...t){return(await this.listAll(...t)).find(t=>t.key===e)}async listByCategory(e,...t){return(await this.listAll(...t)).filter(t=>t.category===e)}async updateDescription(e,t,...r){return this.updateOne(e,{description:t},...r)}}class X extends E{constructor(){super(e.Role)}async createRole(e,...t){return this.create({tenant:e.tenantId,key:e.key,name:e.name,description:e.description,metadata:e.metadata},...t)}async getSystemRoleByKey(e,...t){const r=(await this.listAll(...t)).find(t=>!t.tenant&&t.key===e);if(!r)throw Error(`Role "${e}" not found`);return r}async getTenantRoleByKey(e,t,...r){const a=(await this.listAll(...r)).find(r=>K(r.tenant,e)&&r.key===t);if(!a)throw Error(`Role "${t}" not found for tenant ${e}`);return a}async renameRole(e,t,...r){return this.updateOne(e,{name:t},...r)}async updateRoleMetadata(e,t,...r){return this.updateOne(e,{metadata:t},...r)}async listTenantRoles(e,t=!1,...r){return(await this.listAll(...r)).filter(r=>t&&!r.tenant||K(r.tenant,e))}}class ee extends E{constructor(){super(e.RolePermission)}async addPermissionToRole(e,t,...r){return this.create({role:e,permission:t},...r)}async addPermissionKeyToRole(e,t,...r){const a=await(new J).getByKey(t,...r);return this.addPermissionToRole(e,a.id,...r)}async removePermissionFromRole(e,...t){await this.deleteById(e,...t)}async listRolePermissions(e,...t){return(await this.listAll(...t)).filter(t=>k(t.role,e))}async listPermissionRoles(e,...t){return(await this.listAll(...t)).filter(t=>k(t.permission,e))}async replaceRolePermissions(e,t,...r){const a=await this.listRolePermissions(e,...r);return await(async(e,t,...r)=>{for(const a of t)await e.deleteById(a.id,...r)})(this,a,...r),Promise.all(t.map(t=>this.addPermissionToRole(e,t,...r)))}async createRoleWithPermissions(e,t,...r){const a=await(new X).createRole(e,...r);for(const e of t)await this.addPermissionKeyToRole(a.id,e,...r);return a}}class te extends E{constructor(){super(e.RoleAssignment)}async assignRole(e,...t){return this.create({tenant:e.tenantId,principal:e.principalId,role:e.roleId,scopeKind:e.scopeKind,scopeId:e.scopeId,inheritDown:e.inheritDown??!1,startsAt:e.startsAt,expiresAt:e.expiresAt,conditions:e.conditions},...t)}async revokeAssignment(e,...t){await this.deleteById(e,...t)}async listPrincipalAssignments(e,t,...r){return(await this.listAll(...r)).filter(r=>K(r.tenant,e)&&k(r.principal,t))}async listRoleAssignments(e,...t){return(await this.listAll(...t)).filter(t=>k(t.role,e))}async listTenantAssignments(e,...t){return(await this.listAll(...t)).filter(t=>K(t.tenant,e))}async updateAssignmentWindow(e,t,r,...a){return this.updateOne(e,{startsAt:t,expiresAt:r},...a)}}class re extends E{constructor(){super(e.EffectivePermission)}async listForPrincipal(e,t,...r){return(await this.listAll(...r)).filter(r=>K(r.tenant,e)&&k(r.principal,t))}async listForScope(e,t,r,...a){return(await this.listAll(...a)).filter(a=>K(a.tenant,e)&&a.scopeKind===t&&a.scopeId===r)}async hasPermission(e,t,r,a,i,n,...o){return(await this.listForPrincipal(e,t,...o)).some(e=>!(e.permissionKey!==r||e.scopeKind!==a||e.scopeId!==i||e.startsAt&&n&&e.startsAt>n||e.expiresAt&&n&&e.expiresAt<n))}async deleteForPrincipal(e,t,...r){for(const a of await this.listForPrincipal(e,t,...r))await this.deleteById(a.id,...r)}async deleteForTenant(e,...t){for(const r of(await this.listAll(...t)).filter(t=>K(t.tenant,e)))await this.deleteById(r.id,...t)}async rebuildForPrincipal(t,r,...a){await this.deleteForPrincipal(t,r,...a);const i=new te,n=new ee,o=new J,s=new Z,d=new Y,c=new L,p=new N,l=[],u=await i.listPrincipalAssignments(t,r,...a),_=await s.listPrincipalGroups(r,...a),y=[...u,...(await Promise.all(_.map(async e=>{const r=await d.getGroupPrincipal(q(e.tenant),q(e.group),...a);return i.listPrincipalAssignments(t,r.id,...a)}))).flat()];for(const i of y){const s=await n.listRolePermissions(q(i.role),...a),d=await Promise.all(s.map(async e=>o.findOneBy("id",q(e.permission),...a)));for(const n of d){if(!n)continue;const o=i.scopeKind,s=i.scopeId,d=[];if(o===e.ScopeKind.Tenant)d.push({scopeKind:o,scopeId:t});else if(o===e.ScopeKind.Resource)d.push({scopeKind:o,scopeId:s});else if(o!==e.ScopeKind.OrgUnit||i.inheritDown){if(o===e.ScopeKind.OrgUnit&&i.inheritDown){const e=await c.listDescendants(t,s,...a);d.push(...e.map(e=>({scopeKind:o,scopeId:q(e.descendant)})))}}else d.push({scopeKind:o,scopeId:s});for(const c of d)o===e.ScopeKind.OrgUnit&&i.inheritDown&&c.scopeId!==s&&await p.categoryBlockedForAncestor(t,c.scopeId,s,n.category,...a)||l.push({id:"",tenantId:t,principalId:r,permissionKey:n.key,scopeKind:c.scopeKind,scopeId:c.scopeId,sourceKind:"role_assignment",sourceId:i.id,startsAt:i.startsAt,expiresAt:i.expiresAt})}}return await Promise.all(l.map(e=>this.create({tenant:e.tenantId,principal:e.principalId,permissionKey:e.permissionKey,scopeKind:e.scopeKind,scopeId:e.scopeId,sourceKind:e.sourceKind,sourceId:e.sourceId,startsAt:e.startsAt,expiresAt:e.expiresAt},...a)))}async rebuildForTenant(e,...t){const r=(await(new Y).listAll(...t)).filter(t=>K(t.tenant,e));for(const a of r)await this.rebuildForPrincipal(e,a.id,...t)}}o.__decorate([i.transactional(),o.__metadata("design:type",Function),o.__metadata("design:paramtypes",[String,String,Object]),o.__metadata("design:returntype",Promise)],re.prototype,"rebuildForPrincipal",null),o.__decorate([i.transactional(),o.__metadata("design:type",Function),o.__metadata("design:paramtypes",[String,Object]),o.__metadata("design:returntype",Promise)],re.prototype,"rebuildForTenant",null);class ae extends E{constructor(){super(e.ProtectedResource)}async registerResource(e,...t){return this.create({tenant:e.tenantId,orgUnit:e.orgUnitId,resourceType:e.resourceType,resourceId:e.resourceId,visibility:e.visibility,owner:e.ownerPrincipalId,sensitivity:e.sensitivity,metadata:e.metadata},...t)}async getByDomainResource(e,t,r,...a){return(await this.listAll(...a)).find(a=>K(a.tenant,e)&&a.resourceType===t&&a.resourceId===r)}async moveResourceToOrgUnit(e,t,...r){return this.updateOne(e,{orgUnit:t},...r)}async setVisibility(e,t,...r){return this.updateOne(e,{visibility:t},...r)}async transferOwnership(e,t,...r){return this.updateOne(e,{owner:t},...r)}async listOrgUnitResources(e,...t){return(await this.listAll(...t)).filter(t=>k(t.orgUnit,e))}async listTenantResources(e,...t){return(await this.listAll(...t)).filter(t=>K(t.tenant,e))}}class ie extends E{constructor(){super(e.ResourceGrant)}async grantResource(e,...t){return this.create({tenant:e.tenantId,resource:e.resourceId,principal:e.principalId,permissionKey:e.permissionKey,startsAt:e.startsAt,expiresAt:e.expiresAt,conditions:e.conditions,createdBy:e.createdByPrincipalId},...t)}async revokeGrant(e,...t){await this.deleteById(e,...t)}async listResourceGrants(e,...t){return(await this.listAll(...t)).filter(t=>k(t.resource,e))}async listPrincipalGrants(e,t,...r){return(await this.listAll(...r)).filter(r=>K(r.tenant,e)&&k(r.principal,t))}async hasGrant(e,t,r,a,i,...n){return(await this.listPrincipalGrants(e,t,...n)).some(e=>k(e.resource,r)&&e.permissionKey===a&&(!e.startsAt||!i||e.startsAt<=i)&&(!e.expiresAt||!i||e.expiresAt>=i))}async deleteAllForResource(e,...t){for(const r of await this.listResourceGrants(e,...t))await this.deleteById(r.id,...t)}}class ne{constructor(){this.tenantService=new z,this.tenantProfileService=new D,this.orgUnitService=new V,this.orgUnitProfileService=new G,this.userService=new W,this.membershipService=new H,this.principalService=new Y,this.permissionService=new J,this.roleService=new X,this.rolePermissionService=new ee,this.roleAssignmentService=new te,this.effectivePermissionService=new re}async bootstrapTenantFromTemplate(t,...r){const a=await this.tenantService.createTenant(t.tenant,...r);t.tenant.profileKey&&await this.tenantProfileService.createProfile(a.id,t.tenant.profileKey,t.tenant.profileMetadata,...r);const i=async(e,t)=>{const n=void 0===e?await this.orgUnitService.createRoot(a.id,t.name,t.metadata,t.profileKey,t.metadata,...r):await this.orgUnitService.createChild({tenantId:a.id,parentOrgUnitId:e,name:t.name,metadata:t.metadata,profileKey:t.profileKey,profileMetadata:t.metadata},...r);for(const e of t.children??[])await i(n.id,e);return n},n=await i(void 0,t.rootOrgUnit),o=await this.userService.createUser(t.ownerUser,...r);await this.membershipService.addUserToTenant(a.id,o.id,e.MembershipStatus.Active,...r);const s=await this.principalService.getUserPrincipal(a.id,o.id,...r);for(const e of t.permissions)await this.permissionService.createPermission(e,...r);for(const e of t.roles){const t=await this.roleService.createRole({tenantId:a.id,key:e.key,name:e.name,description:e.description},...r);for(const a of e.permissionKeys)await this.rolePermissionService.addPermissionKeyToRole(t.id,a,...r)}const d=await this.roleService.getTenantRoleByKey(a.id,t.ownerRoleKey,...r);return await this.roleAssignmentService.assignRole({tenantId:a.id,principalId:s.id,roleId:d.id,scopeKind:e.ScopeKind.OrgUnit,scopeId:n.id,inheritDown:!0},...r),await this.effectivePermissionService.rebuildForPrincipal(a.id,s.id,...r),{tenantId:a.id,rootOrgUnitId:n.id,ownerUserId:o.id,ownerPrincipalId:s.id}}}o.__decorate([i.transactional(),o.__metadata("design:type",Function),o.__metadata("design:paramtypes",[Object,Object]),o.__metadata("design:returntype",Promise)],ne.prototype,"bootstrapTenantFromTemplate",null);class oe{constructor(){this.membershipService=new H,this.orgMembershipService=new Q,this.principalService=new Y,this.roleService=new X,this.roleAssignmentService=new te,this.effectivePermissionService=new re}async onboardUserToTenantAndOrgUnit(t,r,a,i,...n){await this.membershipService.addUserToTenant(t,r,e.MembershipStatus.Active,...n),await this.orgMembershipService.addUserToOrgUnit(t,a,r,e.MembershipStatus.Active,...n);const o=await this.principalService.getUserPrincipal(t,r,...n),s=await this.roleService.getTenantRoleByKey(t,i,...n);return await this.roleAssignmentService.assignRole({tenantId:t,principalId:o.id,roleId:s.id,scopeKind:e.ScopeKind.OrgUnit,scopeId:a,inheritDown:!0},...n),await this.effectivePermissionService.rebuildForPrincipal(t,o.id,...n),{principalId:o.id}}async changeUserOrgRole(t,r,a,i,n,...o){const s=await this.roleService.getTenantRoleByKey(t,i,...o),d=await this.roleAssignmentService.listPrincipalAssignments(t,r,...o);for(const t of d.filter(t=>t.scopeKind===e.ScopeKind.OrgUnit&&t.scopeId===a))await this.roleAssignmentService.revokeAssignment(t.id,...o);await this.roleAssignmentService.assignRole({tenantId:t,principalId:r,roleId:s.id,scopeKind:e.ScopeKind.OrgUnit,scopeId:a,inheritDown:n},...o),await this.effectivePermissionService.rebuildForPrincipal(t,r,...o)}async suspendUserInTenant(t,r,a,...i){await this.membershipService.setStatus(t,e.MembershipStatus.Suspended,...i),await this.effectivePermissionService.deleteForPrincipal(r,a,...i)}async reactivateUserInTenant(t,r,a,...i){await this.membershipService.setStatus(t,e.MembershipStatus.Active,...i),await this.effectivePermissionService.rebuildForPrincipal(r,a,...i)}}o.__decorate([i.transactional(),o.__metadata("design:type",Function),o.__metadata("design:paramtypes",[String,String,String,String,Object]),o.__metadata("design:returntype",Promise)],oe.prototype,"onboardUserToTenantAndOrgUnit",null),o.__decorate([i.transactional(),o.__metadata("design:type",Function),o.__metadata("design:paramtypes",[String,String,String,String,Boolean,Object]),o.__metadata("design:returntype",Promise)],oe.prototype,"changeUserOrgRole",null),o.__decorate([i.transactional(),o.__metadata("design:type",Function),o.__metadata("design:paramtypes",[String,String,String,Object]),o.__metadata("design:returntype",Promise)],oe.prototype,"suspendUserInTenant",null),o.__decorate([i.transactional(),o.__metadata("design:type",Function),o.__metadata("design:paramtypes",[String,String,String,Object]),o.__metadata("design:returntype",Promise)],oe.prototype,"reactivateUserInTenant",null);const se="featureFlag",de="feature-flags:model",ce="feature-flags:auth",pe="feature-flags:block",le="feature-flags:render-if",ue="feature-flags:hide-on";function _e(e){const t=e.trim();if(!t)return t;if(/^[a-z][a-zA-Z0-9]*$/.test(t))return t;const r=t.toLowerCase().replace(/[_\-\s]+/g," ").split(" ").filter(Boolean);if(0===r.length)return t;const[a,...i]=r;return[a,...i.map(e=>e?e.charAt(0).toUpperCase()+e.slice(1):e)].join("").replace(/[^a-zA-Z0-9]/g,"")}function ye(e){if("string"!=typeof e)return e;const t=e.trim();if("true"===t)return!0;if("false"===t)return!1;if(/^-?\d+(\.\d+)?$/.test(t))return Number(t);if(t.startsWith("{")&&t.endsWith("}")||t.startsWith("[")&&t.endsWith("]"))try{return JSON.parse(t)}catch{return e}return e}function ge(e){if(void 0===e)return;if(!0===e)return!0;if(!e||"object"!=typeof e||Array.isArray(e))return ye(e);const t={};return Object.entries(e).forEach(([e,r])=>{const a=(e=>{if(!e)return e;if(/^[a-z][a-zA-Z0-9]*$/.test(e))return e;const t=e.replace(/[\s-]+/g,"_").split("_").filter(Boolean);if(0===t.length)return e;const[r,...a]=t;return[r.toLowerCase(),...a.map(e=>e.charAt(0).toUpperCase()+e.slice(1).toLowerCase())].join("")})(e);void 0!==r&&(t[a]=ge(r)??r)}),t}function me(e){return!e||"object"!=typeof e||Array.isArray(e)?{}:Object.entries(e).reduce((e,[t,r])=>{const a=_e(t),i=ge(r);return void 0!==i&&(e[a]=i),e},{})}function he(e){return!0===e||!!e&&"object"==typeof e}function fe(e,t){return he(e?.[_e(t)])}function ve(e,t="any"){return{features:[...new Set(e.map(_e).filter(Boolean))],match:t}}function be(e,t){if(!e||0===e.features.length)return!0;const r=e.features.filter(e=>fe(t,e));return"all"===e.match?r.length===e.features.length:r.length>0}function Se(e,t){return!(!e||0===e.features.length)&&e.features.some(e=>fe(t,e))}function Oe(e,t){return s.Metadata.get(e,t)}function Ae(e){return e.trim().toLowerCase()}function we(e){return e.trim()}const Pe=r.LoggedEnvironment.accumulate({[se]:{}});async function Te(e=Pe){return me(e.featureFlag)}async function Fe(e,t=Pe){return(await Te(t))[_e(e)]}e.FeatureFlag=class extends i.BaseModel{constructor(e){super(e),this.enabled=!0}},o.__decorate([i.pk(),i.uuid(),o.__metadata("design:type",String)],e.FeatureFlag.prototype,"id",void 0),o.__decorate([i.unique(),n.required(),i.column(),o.__metadata("design:type",String)],e.FeatureFlag.prototype,"key",void 0),o.__decorate([i.column(),o.__metadata("design:type",Boolean)],e.FeatureFlag.prototype,"enabled",void 0),o.__decorate([i.column(),o.__metadata("design:type",String)],e.FeatureFlag.prototype,"description",void 0),o.__decorate([i.column(),o.__metadata("design:type",String)],e.FeatureFlag.prototype,"scope",void 0),o.__decorate([i.column(),o.__metadata("design:type",Object)],e.FeatureFlag.prototype,"metadata",void 0),o.__decorate([i.column(),o.__metadata("design:type",Object)],e.FeatureFlag.prototype,"config",void 0),o.__decorate([i.column(),o.__metadata("design:type",String)],e.FeatureFlag.prototype,"createdBy",void 0),o.__decorate([i.column(),o.__metadata("design:type",String)],e.FeatureFlag.prototype,"updatedBy",void 0),o.__decorate([i.createdAt(),o.__metadata("design:type",Date)],e.FeatureFlag.prototype,"createdAt",void 0),o.__decorate([i.updatedAt(),o.__metadata("design:type",Date)],e.FeatureFlag.prototype,"updatedAt",void 0),e.FeatureFlag=o.__decorate([i.table("feature_flags"),n.model(),o.__metadata("design:paramtypes",[Object])],e.FeatureFlag),e.FeatureFlagAccess=class extends i.BaseModel{constructor(e){super(e),this.enabled=!0}},o.__decorate([i.pk(),i.uuid(),o.__metadata("design:type",String)],e.FeatureFlagAccess.prototype,"id",void 0),o.__decorate([n.required(),i.column(),o.__metadata("design:type",String)],e.FeatureFlagAccess.prototype,"featureKey",void 0),o.__decorate([n.required(),i.column(),o.__metadata("design:type",String)],e.FeatureFlagAccess.prototype,"subjectType",void 0),o.__decorate([n.required(),i.column(),o.__metadata("design:type",String)],e.FeatureFlagAccess.prototype,"subjectKey",void 0),o.__decorate([i.column(),o.__metadata("design:type",Boolean)],e.FeatureFlagAccess.prototype,"enabled",void 0),o.__decorate([i.column(),o.__metadata("design:type",Object)],e.FeatureFlagAccess.prototype,"metadata",void 0),o.__decorate([i.column(),o.__metadata("design:type",String)],e.FeatureFlagAccess.prototype,"createdBy",void 0),o.__decorate([i.column(),o.__metadata("design:type",String)],e.FeatureFlagAccess.prototype,"updatedBy",void 0),o.__decorate([i.createdAt(),o.__metadata("design:type",Date)],e.FeatureFlagAccess.prototype,"createdAt",void 0),o.__decorate([i.updatedAt(),o.__metadata("design:type",Date)],e.FeatureFlagAccess.prototype,"updatedAt",void 0),e.FeatureFlagAccess=o.__decorate([i.table("feature_flag_access"),n.model(),o.__metadata("design:paramtypes",[Object])],e.FeatureFlagAccess);class Ue{async readOne(e,t){return(await this.read(t))[_e(e)]}}class Re extends Ue{async read(e={}){return Te(e.source??{[se]:{}})}}function Ie(e,t){return void 0===t?e:s.Metadata.key(e,t.toString())}function je(e,t,r="any"){const a=ve(t,r);return(t,r,i)=>{if(void 0===r)return s.metadata(e,a)(t);const n=Ie(e,r);return i?s.methodMetadata(n,a)(t,r,i):s.propMetadata(n,a)(t,r)}}function Ke(e,t,r){return Oe(e,Ie(t,r))}e.FeatureFlagService=class extends i.ModelService{constructor(){super(e.FeatureFlag),this.reader=new Re,this.cachedRegistry={}}async initialize(...e){const t=e[0]??{};t.repository&&(this._repository=t.repository),this.reader=t.reader?"function"==typeof t.reader?new t.reader:t.reader:new Re;const r={...t.readerConfig??{},source:t.readerConfig?.source??Pe};return this.cachedRegistry=await this.refreshCachedRegistry(r,...e),{config:{...t,reader:this.reader,readerConfig:r},client:this.reader}}cloneRegistry(e){return Object.entries(e).reduce((e,[t,r])=>(e[t]=r&&"object"==typeof r&&!Array.isArray(r)?{...r}:r,e),{})}async refreshCachedRegistry(e={},...t){const r=await this.reader.read({...e,source:e.source??Pe});let a=[];try{a=await this.repo.select().execute(...t)}catch{a=[]}const i=this.cloneRegistry(r);for(const e of a)i[e.key]=!!e.enabled&&(e.config??!0);return i}setCachedFlag(e){this.cachedRegistry[e.key]=!!e.enabled&&(e.config??!0)}getAccessRepository(){return this.accessRepository??i.Repository.forModel(e.FeatureFlagAccess)}assertInitialized(){this.reader}normalizeFeatureAccessInput(e){return{...e,featureKey:_e(e.featureKey),subjectType:Ae(e.subjectType),subjectKey:we(e.subjectKey)}}buildAccessCondition(e){let t=i.Condition.attr("subjectType").eq(Ae(e.subjectType));return t=t.and(i.Condition.attr("subjectKey").eq(we(e.subjectKey))),void 0!==e.enabled&&(t=t.and(i.Condition.attr("enabled").eq(e.enabled))),e.featureKeys&&e.featureKeys.length>0&&(t=t.and(i.Condition.attr("featureKey").in(e.featureKeys.map(_e)))),t}async create(e,...t){e.key=_e(e.key),e.enabled??=!0;const r=await super.create(e,...t);return this.setCachedFlag(r),r}async update(e,...t){e.key=_e(e.key),e.enabled??=!0;const r=await super.update(e,...t);return this.setCachedFlag(r),r}async findOneBy(e,t,...r){const a="key"===e&&"string"==typeof t?_e(t):t;return this.repo.findOneBy(e,a,...r)}async readAll(e,...t){const r=await this.repo.readAll(e,...t);for(const e of r)this.setCachedFlag(e);return r}async listEnabled(...e){return this.repo.select().where(i.Condition.attr("enabled").eq(!0)).execute(...e)}async grantFeatureAccess(t,...r){const a=this.normalizeFeatureAccessInput(t),i=await this.findFeatureAccess(a,...r).catch(()=>{});return i?this.getAccessRepository().update(Object.assign(i,a),...r):this.getAccessRepository().create(new e.FeatureFlagAccess(a),...r)}async revokeFeatureAccess(e,...t){const r=await this.findFeatureAccess(e,...t).catch(()=>{});if(r)return this.getAccessRepository().delete(r.id,...t)}async findFeatureAccess(e,...t){const r=this.buildAccessCondition(e),i=(await this.getAccessRepository().select().where(r).execute(...t))[0];if(!i)throw new a.NotFoundError(`Feature access for ${Ae(e.subjectType)}:${we(e.subjectKey)} not found`);return i}async listFeatureAccess(e,...t){return this.getAccessRepository().select().where(this.buildAccessCondition(e)).execute(...t)}async resolveFeatureFlagsForSubject(e,...t){this.assertInitialized();const r=await this.listFeatureAccess({...e,enabled:!0},...t),a=[...new Set(r.map(e=>e.featureKey))];if(0===a.length)return{};const n=i.Condition.attr("enabled").eq(!0).and(i.Condition.attr("key").in(a.map(_e)));return(await this.repo.select().where(n).execute(...t)).reduce((e,t)=>(e[t.key]=t.config??!0,e),{})}async isEnabledForSubject(e,t,...r){return fe(await this.resolveFeatureFlagsForSubject(t,...r),e)}isEnabled(e){this.assertInitialized();const t=_e(e);return fe(this.cachedRegistry,t)}async resolveFeatureFlags(){return this.assertInitialized(),this.cloneRegistry(this.cachedRegistry)}async syncFromEnvironment(t={},...r){this.assertInitialized();const a=await this.reader.read({...t,source:t.source??Pe}),i=[];for(const[t,n]of Object.entries(a)){const a=n&&"object"==typeof n&&!Array.isArray(n)?n:{enabled:!!n},{enabled:o,...s}=a,d=_e(t),c=await this.findOneBy("key",d,...r).catch(()=>{}),p=c?Object.assign(c,{enabled:he(n),description:s.description??c.description,scope:s.scope??c.scope,metadata:s.metadata??c.metadata,config:{...s,enabled:he(n)}}):new e.FeatureFlag({key:d,enabled:he(n),description:s.description,scope:s.scope,metadata:s.metadata,config:{...s,enabled:he(n)}});i.push(c?await this.update(p,...r):await this.create(p,...r))}return this.cachedRegistry=await this.refreshCachedRegistry({...t,source:t.source??Pe},...r),i}},o.__decorate([i.repository(e.FeatureFlagAccess),o.__metadata("design:type",Object)],e.FeatureFlagService.prototype,"accessRepository",void 0),e.FeatureFlagService=o.__decorate([i.service(e.FeatureFlag),o.__metadata("design:paramtypes",[])],e.FeatureFlagService),Object.defineProperty(e,"AuthorizationError",{enumerable:!0,get:()=>i.AuthorizationError}),Object.defineProperty(e,"transactional",{enumerable:!0,get:()=>i.transactional}),e.AuthorizationModel=x,e.AuthzService=class{constructor(e={}){this.dataSources=e}async canAccess(t,...r){const a=t.at??new Date;if(t.scopeKind&&t.scopeId)return j(await(this.dataSources.listEffectivePermissionsForScope?.(t.tenantId,t.scopeKind,t.scopeId))).some(e=>e.permissionKey===t.permissionKey&&C(a,e.startsAt,e.expiresAt));if(!t.resourceProtectedId)return!1;const i=await(this.dataSources.loadResource?.(t.tenantId,t.resourceProtectedId));if(!i)return!1;if(i.tenantId!==t.tenantId)return!1;if(i.ownerPrincipalId===t.principalId)return!0;if(j(await(this.dataSources.listResourceGrants?.(t.tenantId,t.resourceProtectedId))).filter(e=>e.principalId===t.principalId&&e.permissionKey===t.permissionKey&&C(a,e.startsAt,e.expiresAt)).length>0)return!0;const n=i.visibility;return n!==e.ResourceVisibility.Private&&n!==e.ResourceVisibility.ResourceAcl&&(n===e.ResourceVisibility.OrgUnit||n===e.ResourceVisibility.OrgSubtree?j(await(this.dataSources.listEffectivePermissionsForScope?.(t.tenantId,e.ScopeKind.OrgUnit,i.orgUnitId))).some(e=>e.permissionKey===t.permissionKey&&C(a,e.startsAt,e.expiresAt)):n===e.ResourceVisibility.Tenant&&j(await(this.dataSources.listEffectivePermissionsForScope?.(t.tenantId,e.ScopeKind.Tenant,t.tenantId))).some(e=>e.permissionKey===t.permissionKey&&C(a,e.startsAt,e.expiresAt)))}async requireAccess(t,...r){if(!await this.canAccess(t,...r))throw new i.AuthorizationError(`Access denied for ${t.permissionKey} on ${t.resourceProtectedId??(a=t.scopeKind??e.ScopeKind.Resource,n=t.scopeId??"",`${a}:${n}`)}`);var a,n}async buildAccessContext(e,t,...r){return M({tenantId:e,principalId:t,permissions:j(await(this.dataSources.listEffectivePermissions?.(e,t))),grants:j(await(this.dataSources.listPrincipalGrants?.(e,t)))})}async buildArangoContext(e,t,r,...a){const i=await this.buildAccessContext(e,t,...a),n=i.allowedOrgUnitIdsByPermission[r]??[],o=i.resourceGrants.filter(e=>e.permissionKey===r).map(e=>e.resourceId);return U({tenantId:e,principalId:t,permissionKey:r,allowedOrgUnitIds:n,allowedResourceIds:o})}async buildQdrantFilter(e,t,r,...a){const i=await this.buildAccessContext(e,t,...a);return R({tenantId:e,principalId:t,allowedOrgUnitIds:i.allowedOrgUnitIdsByPermission[r]??[],allowedResourceIds:i.resourceGrants.filter(e=>e.permissionKey===r).map(e=>e.resourceId)})}},e.BaseModelService=E,e.BootstrapService=ne,e.COMMIT="9f5df0a",e.EffectivePermissionService=re,e.EnvironmeFlagReader=Re,e.FEATURE_FLAG_AUTH_KEY=ce,e.FEATURE_FLAG_BLOCK_KEY=pe,e.FEATURE_FLAG_ENV_PREFIX="FEATURE_FLAG",e.FEATURE_FLAG_ENV_ROOT=se,e.FEATURE_FLAG_HIDE_KEY=ue,e.FEATURE_FLAG_MODEL_KEY=de,e.FEATURE_FLAG_RENDER_KEY=le,e.FULL_VERSION="0.10.7-9f5df0a",e.FeatureFlagEnvironment=Pe,e.FeatureFlagReader=Ue,e.GroupMembershipService=Z,e.GroupService=class extends E{constructor(){super(e.Group)}async createGroup(e,t,r,a,...i){return this.create({tenant:e,orgUnit:r,name:t,metadata:a},...i)}async renameGroup(e,t,...r){return this.updateOne(e,{name:t},...r)}async moveGroupToOrgUnit(e,t,...r){return this.updateOne(e,{orgUnit:t},...r)}async listTenantGroups(e,...t){return(await this.listAll(...t)).filter(t=>K(t.tenant,e))}},e.InheritanceBlockService=N,e.IsolationTierOptions=m,e.MembershipStatusOptions=h,e.OrgUnitClosureService=L,e.OrgUnitMembershipService=Q,e.OrgUnitProfileService=G,e.OrgUnitService=V,e.PACKAGE_NAME="@decaf-ts/integrations",e.PermissionCategoryOptions=b,e.PermissionService=J,e.PrincipalKindOptions=f,e.PrincipalService=Y,e.ProtectedResourceService=ae,e.REL_CASCADE_DEPENDENT=T,e.REL_CASCADE_INSERT_UPDATE=F,e.REL_NULLIFY=P,e.REL_RESTRICT=w,e.ResourceGrantService=ie,e.ResourceLifecycleService=class{async unregisterResource(e,...t){await(new ie).deleteAllForResource(e,...t),await(new ae).deleteById(e,...t)}async resolveResourceScope(e,...t){const r=await(new ae).getById(e,...t);return{tenantId:q(r.tenant),orgUnitId:q(r.orgUnit),visibility:r.visibility,ownerPrincipalId:r.owner?q(r.owner):void 0}}},e.ResourceVisibilityOptions=S,e.RoleAssignmentService=te,e.RolePermissionService=ee,e.RoleService=X,e.ScopeKindOptions=v,e.StorageBindingKindOptions=A,e.StorageBindingService=class extends E{constructor(){super(e.StorageBinding)}async createBinding(e,...t){return this.create({tenant:e.tenantId,storageKind:e.storageKind,bindingKind:e.bindingKind,bindingKey:e.bindingKey,region:e.region,config:e.config},...t)}async listTenantBindings(e,...t){return(await this.listAll(...t)).filter(t=>q(t.tenant)===e)}async getBinding(e,t,...r){return(await this.listTenantBindings(e,...r)).find(e=>e.storageKind===t)}async setBindingConfig(e,t,...r){return this.updateOne(e,{config:t},...r)}async promoteToDedicated(t,r,a,i,...n){return this.updateOne(t,{bindingKind:e.StorageBindingKind.Dedicated,bindingKey:r,region:a,config:i},...n)}async setShared(t,r,a,i,...n){return this.updateOne(t,{bindingKind:e.StorageBindingKind.Shared,bindingKey:r,region:a,config:i},...n)}},e.StorageKindOptions=O,e.SystemManagementService=oe,e.TenantMembershipService=H,e.TenantProfileService=D,e.TenantService=z,e.UserService=W,e.VERSION="0.10.7",e.asArray=j,e.blockFeatureOperations=(...e)=>je(pe,e),e.buildAccessContext=M,e.buildArangoContext=U,e.buildQdrantFilter=R,e.execWithLogging=async(e,i,n,o=r.LogLevel.info)=>(n.debug("Executing: "+e),new Promise((r,s)=>{const d=t.exec(e,i),c=[],p=[];d.stdout?.on("data",e=>{c.push(e),n[o](e.trim())}),d.stderr?.on("data",e=>{p.push(e),n.debug(e.trim())}),d.on("close",e=>{0===e?(n.silly("Command completed successfully"),r({stdout:c.join("\n"),stderr:p.join("\n")})):(n.critical(`Command failed with code ${e}:\n ${p.join("\n")}`),s(new a.InternalError(`Command failed with code ${e}: ${p.join("\n")}`)))}),d.on("error",e=>{n.critical("Command execution error",e),s(e)})})),e.featureAuth=(...e)=>je(ce,e),e.featureFlags=(...e)=>je(de,e),e.getFeatureGateMetadata=Ke,e.hasFeatureFlagInEnvironment=async(e,t=Pe)=>!!await Fe(e,t),e.hideOnFeature=(...e)=>je(ue,e),e.id=()=>crypto.randomUUID(),e.isFeatureFlagEnabled=he,e.isFeatureFlagEnabledByName=fe,e.isFeatureRuleBlocked=Se,e.isFeatureRuleSatisfied=be,e.isTimeValid=C,e.loadFeatureFlagsFromEnvironment=Te,e.lowerSlug=B,e.normalizeFeatureConfig=ge,e.normalizeFeatureName=_e,e.normalizeFeatureRegistry=me,e.normalizeFeatureRule=ve,e.normalizeFeatureSubjectKey=we,e.normalizeFeatureSubjectType=Ae,e.nowIso=()=>new Date,e.parseRuntimeValue=ye,e.readMetadata=Oe,e.relationId=q,e.relationMatch=k,e.renderIfFeature=(...e)=>je(le,e),e.resolveFeatureFlagFromEnvironment=Fe,e.sameTenant=K,e.shouldExposeForFeatures=(e,t,r,a)=>be(Ke(e,r,a),t),e.shouldHideForFeatures=(e,t,r,a)=>Se(Ke(e,r,a),t)},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("child_process"),require("@decaf-ts/logging"),require("@decaf-ts/db-decorators"),require("@decaf-ts/core"),require("@decaf-ts/decorator-validation"),require("tslib"),require("@decaf-ts/decoration")):"function"==typeof define&&define.amd?define(["exports","child_process","@decaf-ts/logging","@decaf-ts/db-decorators","@decaf-ts/core","@decaf-ts/decorator-validation","tslib","@decaf-ts/decoration"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).integrations={},e.childProcess,e.decafTsLogging,e.decafTsDbDecorators,e.decafTsCore,e.decafTsDecoratorValidation,e.tslib,e.decafTsDecoration);
1
+ var e,t;e=this,t=function(e,t,n,r,i,a,o,s,d,c){"use strict";var p,_,l,u,g,y,m,h,S;e.IsolationTier=void 0,(p=e.IsolationTier||(e.IsolationTier={})).Pooled="pooled",p.Bridge="bridge",p.Silo="silo",e.MembershipStatus=void 0,(_=e.MembershipStatus||(e.MembershipStatus={})).Invited="invited",_.Active="active",_.Suspended="suspended",_.Removed="removed",e.PrincipalKind=void 0,(l=e.PrincipalKind||(e.PrincipalKind={})).User="user",l.Group="group",l.ServiceAccount="service_account",l.Agent="agent",l.ApiKey="api_key",e.ScopeKind=void 0,(u=e.ScopeKind||(e.ScopeKind={})).Tenant="tenant",u.OrgUnit="org_unit",u.Resource="resource",e.PermissionCategory=void 0,(g=e.PermissionCategory||(e.PermissionCategory={})).Admin="admin",g.ContentRead="content_read",g.ContentWrite="content_write",g.Memory="memory",g.Graph="graph",g.Vector="vector",g.Export="export",g.Billing="billing",g.Audit="audit",g.Security="security",g.Data="data",g.Automation="automation",e.ResourceVisibility=void 0,(y=e.ResourceVisibility||(e.ResourceVisibility={})).Private="private",y.ResourceAcl="resource_acl",y.OrgUnit="org_unit",y.OrgSubtree="org_subtree",y.Tenant="tenant",e.StorageKind=void 0,(m=e.StorageKind||(e.StorageKind={})).Postgres="postgres",m.Arango="arango",m.Qdrant="qdrant",m.ObjectStorage="object_storage",e.StorageBindingKind=void 0,(h=e.StorageBindingKind||(e.StorageBindingKind={})).Shared="shared",h.Dedicated="dedicated",e.CredentialProvider=void 0,(S=e.CredentialProvider||(e.CredentialProvider={})).Model="model",S.Filesystem="filesystem";const f=Object.values(e.IsolationTier),A=Object.values(e.MembershipStatus),E=Object.values(e.PrincipalKind),v=Object.values(e.ScopeKind),b=Object.values(e.PermissionCategory),R=Object.values(e.ResourceVisibility),O=Object.values(e.StorageKind),w=Object.values(e.StorageBindingKind),T=Object.values(e.CredentialProvider),I={update:i.Cascade.NONE,delete:i.Cascade.NONE,nullable:!1},C={update:i.Cascade.NONE,delete:i.Cascade.NONE,nullable:!0},U={update:i.Cascade.CASCADE,delete:i.Cascade.CASCADE,nullable:!1},N={update:i.Cascade.CASCADE,delete:i.Cascade.NONE,nullable:!1};function F(e){return{tenantId:e.tenantId,principalId:e.principalId,permissionKey:e.permissionKey,allowedOrgUnitIds:[...e.allowedOrgUnitIds],allowedResourceIds:[...e.allowedResourceIds]}}function P(e){return{must:[{key:"tenant_id",match:{value:e.tenantId}},{should:[{key:"org_unit_id",match:{any:e.allowedOrgUnitIds}},{key:"protected_resource_id",match:{any:e.allowedResourceIds}},{key:"owner_principal_id",match:{value:e.principalId}}]}]}}function L(e,t){return`${e}:${t}`}function D(e){return e??[]}function k(e,t){return q(e)===t}function j(e,t){return!!t&&q(e)===t}function $(e){return e.trim().toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||"item"}function x(e,t,n){const r=e??new Date;return!(t&&t>r||n&&r>n)}function B(t){const n={},r={};for(const i of t.permissions){const t=L(i.scopeKind,i.scopeId);n[t]=n[t]??[],n[t].push(i.permissionKey),i.scopeKind===e.ScopeKind.OrgUnit&&(r[i.permissionKey]=r[i.permissionKey]??[],r[i.permissionKey].push(i.scopeId))}return{tenantId:t.tenantId,principalId:t.principalId,permissionsByScope:n,allowedOrgUnitIdsByPermission:r,resourceGrants:t.grants.map(e=>({resourceId:e.resourceId,permissionKey:e.permissionKey}))}}class K extends i.ModelService{constructor(e){super(e)}newModel(e,t){return Object.assign(new e,t)}async create(e,...t){return this.repo.create(Object.assign({},e),...t)}async createOne(e,...t){return this.create(e,...t)}async getById(e,...t){return this.repo.read(e,...t)}async updateOne(e,t,...n){const r=await this.repo.read(e,...n);return this.repo.update(Object.assign(r,t),...n)}async deleteById(e,...t){await this.repo.delete(e,...t)}async findOneBy(e,t,...n){return this.repo.findOneBy(e,t,...n)}async findManyBy(e,t,...n){return this.repo.select().where({[e]:t}).execute(...n)}async listAll(...e){return this.repo.select().execute(...e)}}function q(e){return"string"==typeof e?e:e.id}class G extends a.Model{constructor(e){super(e)}}e.TenantMembership=class extends G{constructor(e){super(e)}},o.__decorate([i.pk({type:String}),i.uuid(),o.__metadata("design:type",String)],e.TenantMembership.prototype,"id",void 0),o.__decorate([i.manyToOne(()=>e.Tenant,U,!1,void 0,"fk_tenant_memberships_tenant"),a.required(),o.__metadata("design:type",Object)],e.TenantMembership.prototype,"tenant",void 0),o.__decorate([i.manyToOne(()=>e.User,U,!1,void 0,"fk_tenant_memberships_user"),a.required(),o.__metadata("design:type",Object)],e.TenantMembership.prototype,"user",void 0),o.__decorate([a.required(),a.type(String),a.option(A),i.column(),o.__metadata("design:type",String)],e.TenantMembership.prototype,"status",void 0),o.__decorate([i.createdAt(),o.__metadata("design:type",Date)],e.TenantMembership.prototype,"createdAt",void 0),o.__decorate([i.updatedAt(),o.__metadata("design:type",Date)],e.TenantMembership.prototype,"updatedAt",void 0),e.TenantMembership=o.__decorate([s.description("Membership linking a user to a tenant"),i.table("tenant_memberships"),a.model(),o.__metadata("design:paramtypes",[Object])],e.TenantMembership),e.User=class extends G{constructor(e){super(e)}},o.__decorate([i.pk({type:String}),i.uuid(),o.__metadata("design:type",String)],e.User.prototype,"id",void 0),o.__decorate([i.unique(),a.type(String),i.column(),o.__metadata("design:type",String)],e.User.prototype,"email",void 0),o.__decorate([i.unique(),a.type(String),i.column(),o.__metadata("design:type",String)],e.User.prototype,"phone",void 0),o.__decorate([a.required(),a.type(String),i.column(),o.__metadata("design:type",String)],e.User.prototype,"displayName",void 0),o.__decorate([i.oneToMany(()=>e.TenantMembership,I,!1),o.__metadata("design:type",Array)],e.User.prototype,"tenantMemberships",void 0),o.__decorate([i.oneToMany(()=>e.OrgUnitMembership,I,!1),o.__metadata("design:type",Array)],e.User.prototype,"orgUnitMemberships",void 0),o.__decorate([i.createdAt(),o.__metadata("design:type",Date)],e.User.prototype,"createdAt",void 0),o.__decorate([i.updatedAt(),o.__metadata("design:type",Date)],e.User.prototype,"updatedAt",void 0),e.User=o.__decorate([s.description("User identity within the authorization namespace"),i.table("users"),a.model(),o.__metadata("design:paramtypes",[Object])],e.User),e.OrgUnitMembership=class extends G{constructor(e){super(e)}},o.__decorate([i.pk({type:String}),i.uuid(),o.__metadata("design:type",String)],e.OrgUnitMembership.prototype,"id",void 0),o.__decorate([i.manyToOne(()=>e.Tenant,U,!1,void 0,"fk_org_memberships_tenant"),a.required(),o.__metadata("design:type",Object)],e.OrgUnitMembership.prototype,"tenant",void 0),o.__decorate([i.manyToOne(()=>e.OrgUnit,U,!1,void 0,"fk_org_memberships_org_unit"),a.required(),o.__metadata("design:type",Object)],e.OrgUnitMembership.prototype,"orgUnit",void 0),o.__decorate([i.manyToOne(()=>e.User,I,!1,void 0,"fk_org_memberships_user"),a.required(),o.__metadata("design:type",Object)],e.OrgUnitMembership.prototype,"user",void 0),o.__decorate([a.required(),a.type(String),a.option(A),i.column(),o.__metadata("design:type",String)],e.OrgUnitMembership.prototype,"status",void 0),o.__decorate([i.createdAt(),o.__metadata("design:type",Date)],e.OrgUnitMembership.prototype,"createdAt",void 0),o.__decorate([i.updatedAt(),o.__metadata("design:type",Date)],e.OrgUnitMembership.prototype,"updatedAt",void 0),e.OrgUnitMembership=o.__decorate([s.description("Membership linking a user to an organizational unit"),i.table("org_unit_memberships"),a.model(),o.__metadata("design:paramtypes",[Object])],e.OrgUnitMembership),e.OrgUnitClosure=class extends G{constructor(e){super(e)}},o.__decorate([i.pk({type:String}),i.uuid(),o.__metadata("design:type",String)],e.OrgUnitClosure.prototype,"id",void 0),o.__decorate([i.manyToOne(()=>e.Tenant,U,!1,void 0,"fk_org_closure_tenant"),a.required(),o.__metadata("design:type",Object)],e.OrgUnitClosure.prototype,"tenant",void 0),o.__decorate([i.manyToOne(()=>e.OrgUnit,U,!1,void 0,"fk_org_closure_ancestor"),a.required(),o.__metadata("design:type",Object)],e.OrgUnitClosure.prototype,"ancestor",void 0),o.__decorate([i.manyToOne(()=>e.OrgUnit,U,!1,void 0,"fk_org_closure_descendant"),a.required(),o.__metadata("design:type",Object)],e.OrgUnitClosure.prototype,"descendant",void 0),o.__decorate([a.required(),a.type(Number),i.column(),o.__metadata("design:type",Number)],e.OrgUnitClosure.prototype,"depth",void 0),o.__decorate([i.createdAt(),o.__metadata("design:type",Date)],e.OrgUnitClosure.prototype,"createdAt",void 0),e.OrgUnitClosure=o.__decorate([s.description("Ancestor/descendant closure entry for the organizational hierarchy"),i.table("org_unit_closure"),a.model(),o.__metadata("design:paramtypes",[Object])],e.OrgUnitClosure),e.Permission=class extends G{constructor(e){super(e)}},o.__decorate([i.pk({type:String}),i.uuid(),o.__metadata("design:type",String)],e.Permission.prototype,"id",void 0),o.__decorate([i.unique(),a.required(),a.type(String),i.column(),o.__metadata("design:type",String)],e.Permission.prototype,"key",void 0),o.__decorate([a.required(),a.type(String),a.option(b),i.column(),o.__metadata("design:type",String)],e.Permission.prototype,"category",void 0),o.__decorate([a.type(String),i.column(),o.__metadata("design:type",String)],e.Permission.prototype,"description",void 0),o.__decorate([i.oneToMany(()=>e.RolePermission,I,!1),o.__metadata("design:type",Array)],e.Permission.prototype,"rolePermissions",void 0),e.Permission=o.__decorate([s.description("Named authorization permission with a category"),i.table("permissions"),a.model(),o.__metadata("design:paramtypes",[Object])],e.Permission),e.RolePermission=class extends G{constructor(e){super(e)}},o.__decorate([i.pk({type:String}),i.uuid(),o.__metadata("design:type",String)],e.RolePermission.prototype,"id",void 0),o.__decorate([i.manyToOne(()=>e.Role,U,!1,void 0,"fk_role_permissions_role"),a.required(),o.__metadata("design:type",Object)],e.RolePermission.prototype,"role",void 0),o.__decorate([i.manyToOne(()=>e.Permission,U,!1,void 0,"fk_role_permissions_permission"),a.required(),o.__metadata("design:type",Object)],e.RolePermission.prototype,"permission",void 0),o.__decorate([i.createdAt(),o.__metadata("design:type",Date)],e.RolePermission.prototype,"createdAt",void 0),e.RolePermission=o.__decorate([s.description("Link between a role and a permission"),i.table("role_permissions"),a.model(),o.__metadata("design:paramtypes",[Object])],e.RolePermission),e.Role=class extends G{constructor(e){super(e)}},o.__decorate([i.pk({type:String}),i.uuid(),o.__metadata("design:type",String)],e.Role.prototype,"id",void 0),o.__decorate([i.manyToOne(()=>e.Tenant,C,!1,void 0,"fk_roles_tenant"),o.__metadata("design:type",Object)],e.Role.prototype,"tenant",void 0),o.__decorate([a.required(),a.type(String),i.column(),o.__metadata("design:type",String)],e.Role.prototype,"key",void 0),o.__decorate([a.required(),a.type(String),i.column(),o.__metadata("design:type",String)],e.Role.prototype,"name",void 0),o.__decorate([a.type(String),i.column(),o.__metadata("design:type",String)],e.Role.prototype,"description",void 0),o.__decorate([a.type(Object),i.column(),o.__metadata("design:type",Object)],e.Role.prototype,"metadata",void 0),o.__decorate([i.oneToMany(()=>e.RolePermission,I,!1),o.__metadata("design:type",Array)],e.Role.prototype,"rolePermissions",void 0),o.__decorate([i.oneToMany(()=>e.RoleAssignment,I,!1),o.__metadata("design:type",Array)],e.Role.prototype,"assignments",void 0),o.__decorate([i.createdAt(),o.__metadata("design:type",Date)],e.Role.prototype,"createdAt",void 0),o.__decorate([i.updatedAt(),o.__metadata("design:type",Date)],e.Role.prototype,"updatedAt",void 0),e.Role=o.__decorate([s.description("Named role grouping permissions"),i.table("roles"),a.model(),o.__metadata("design:paramtypes",[Object])],e.Role),e.RoleAssignment=class extends G{constructor(e){super(e)}},o.__decorate([i.pk({type:String}),i.uuid(),o.__metadata("design:type",String)],e.RoleAssignment.prototype,"id",void 0),o.__decorate([i.manyToOne(()=>e.Tenant,U,!1,void 0,"fk_role_assignments_tenant"),a.required(),o.__metadata("design:type",Object)],e.RoleAssignment.prototype,"tenant",void 0),o.__decorate([i.manyToOne(()=>e.Principal,U,!1,void 0,"fk_role_assignments_principal"),a.required(),o.__metadata("design:type",Object)],e.RoleAssignment.prototype,"principal",void 0),o.__decorate([i.manyToOne(()=>e.Role,I,!1,void 0,"fk_role_assignments_role"),a.required(),o.__metadata("design:type",Object)],e.RoleAssignment.prototype,"role",void 0),o.__decorate([a.required(),a.type(String),a.option(v),i.column(),o.__metadata("design:type",String)],e.RoleAssignment.prototype,"scopeKind",void 0),o.__decorate([a.required(),a.type(String),i.column(),o.__metadata("design:type",String)],e.RoleAssignment.prototype,"scopeId",void 0),o.__decorate([a.required(),a.type(Boolean),i.column(),o.__metadata("design:type",Boolean)],e.RoleAssignment.prototype,"inheritDown",void 0),o.__decorate([i.column(),o.__metadata("design:type",Date)],e.RoleAssignment.prototype,"startsAt",void 0),o.__decorate([i.column(),o.__metadata("design:type",Date)],e.RoleAssignment.prototype,"expiresAt",void 0),o.__decorate([a.type(Object),i.column(),o.__metadata("design:type",Object)],e.RoleAssignment.prototype,"conditions",void 0),o.__decorate([i.createdAt(),o.__metadata("design:type",Date)],e.RoleAssignment.prototype,"createdAt",void 0),o.__decorate([i.updatedAt(),o.__metadata("design:type",Date)],e.RoleAssignment.prototype,"updatedAt",void 0),e.RoleAssignment=o.__decorate([s.description("Role assigned to a principal within a scope"),i.table("role_assignments"),a.model(),o.__metadata("design:paramtypes",[Object])],e.RoleAssignment),e.ResourceGrant=class extends G{constructor(e){super(e)}},o.__decorate([i.pk({type:String}),i.uuid(),o.__metadata("design:type",String)],e.ResourceGrant.prototype,"id",void 0),o.__decorate([i.manyToOne(()=>e.Tenant,U,!1,void 0,"fk_resource_grants_tenant"),a.required(),o.__metadata("design:type",Object)],e.ResourceGrant.prototype,"tenant",void 0),o.__decorate([i.manyToOne(()=>e.ProtectedResource,U,!1,void 0,"fk_resource_grants_resource"),a.required(),o.__metadata("design:type",Object)],e.ResourceGrant.prototype,"resource",void 0),o.__decorate([i.manyToOne(()=>e.Principal,U,!1,void 0,"fk_resource_grants_principal"),a.required(),o.__metadata("design:type",Object)],e.ResourceGrant.prototype,"principal",void 0),o.__decorate([a.required(),a.type(String),i.column(),o.__metadata("design:type",String)],e.ResourceGrant.prototype,"permissionKey",void 0),o.__decorate([i.column(),o.__metadata("design:type",Date)],e.ResourceGrant.prototype,"startsAt",void 0),o.__decorate([i.column(),o.__metadata("design:type",Date)],e.ResourceGrant.prototype,"expiresAt",void 0),o.__decorate([a.type(Object),i.column(),o.__metadata("design:type",Object)],e.ResourceGrant.prototype,"conditions",void 0),o.__decorate([i.manyToOne(()=>e.Principal,I,!1,void 0,"fk_resource_grants_created_by"),o.__metadata("design:type",Object)],e.ResourceGrant.prototype,"createdBy",void 0),o.__decorate([i.createdAt(),o.__metadata("design:type",Date)],e.ResourceGrant.prototype,"createdAt",void 0),o.__decorate([i.updatedAt(),o.__metadata("design:type",Date)],e.ResourceGrant.prototype,"updatedAt",void 0),e.ResourceGrant=o.__decorate([s.description("Permission grant on a protected resource for a principal"),i.table("resource_grants"),a.model(),o.__metadata("design:paramtypes",[Object])],e.ResourceGrant),e.Principal=class extends G{constructor(e){super(e)}},o.__decorate([i.pk({type:String}),i.uuid(),o.__metadata("design:type",String)],e.Principal.prototype,"id",void 0),o.__decorate([i.manyToOne(()=>e.Tenant,I,!1,void 0,"fk_principals_tenant"),a.required(),o.__metadata("design:type",Object)],e.Principal.prototype,"tenant",void 0),o.__decorate([a.required(),a.type(String),a.option(E),i.column(),o.__metadata("design:type",String)],e.Principal.prototype,"kind",void 0),o.__decorate([a.required(),a.type(String),i.column(),o.__metadata("design:type",String)],e.Principal.prototype,"subjectId",void 0),o.__decorate([i.oneToMany(()=>e.RoleAssignment,I,!1),o.__metadata("design:type",Array)],e.Principal.prototype,"roleAssignments",void 0),o.__decorate([i.oneToMany(()=>e.ResourceGrant,I,!1),o.__metadata("design:type",Array)],e.Principal.prototype,"resourceGrants",void 0),o.__decorate([i.createdAt(),o.__metadata("design:type",Date)],e.Principal.prototype,"createdAt",void 0),o.__decorate([i.updatedAt(),o.__metadata("design:type",Date)],e.Principal.prototype,"updatedAt",void 0),e.Principal=o.__decorate([s.description("Authorization subject representing a user, group, service account, agent, or API key"),i.table("principals"),a.model(),o.__metadata("design:paramtypes",[Object])],e.Principal),e.ProtectedResource=class extends G{constructor(e){super(e)}},o.__decorate([i.pk({type:String}),i.uuid(),o.__metadata("design:type",String)],e.ProtectedResource.prototype,"id",void 0),o.__decorate([i.manyToOne(()=>e.Tenant,I,!1,void 0,"fk_protected_resources_tenant"),a.required(),o.__metadata("design:type",Object)],e.ProtectedResource.prototype,"tenant",void 0),o.__decorate([i.manyToOne(()=>e.OrgUnit,I,!1,void 0,"fk_protected_resources_org_unit"),a.required(),o.__metadata("design:type",Object)],e.ProtectedResource.prototype,"orgUnit",void 0),o.__decorate([a.required(),a.type(String),i.column(),o.__metadata("design:type",String)],e.ProtectedResource.prototype,"resourceType",void 0),o.__decorate([a.required(),a.type(String),i.column(),o.__metadata("design:type",String)],e.ProtectedResource.prototype,"resourceId",void 0),o.__decorate([a.required(),a.type(String),a.option(R),i.column(),o.__metadata("design:type",String)],e.ProtectedResource.prototype,"visibility",void 0),o.__decorate([i.manyToOne(()=>e.Principal,C,!1,void 0,"fk_protected_resources_owner"),o.__metadata("design:type",Object)],e.ProtectedResource.prototype,"owner",void 0),o.__decorate([a.type(String),i.column(),o.__metadata("design:type",String)],e.ProtectedResource.prototype,"sensitivity",void 0),o.__decorate([a.type(Object),i.column(),o.__metadata("design:type",Object)],e.ProtectedResource.prototype,"metadata",void 0),o.__decorate([i.oneToMany(()=>e.ResourceGrant,I,!1),o.__metadata("design:type",Array)],e.ProtectedResource.prototype,"grants",void 0),o.__decorate([i.createdAt(),o.__metadata("design:type",Date)],e.ProtectedResource.prototype,"createdAt",void 0),o.__decorate([i.updatedAt(),o.__metadata("design:type",Date)],e.ProtectedResource.prototype,"updatedAt",void 0),e.ProtectedResource=o.__decorate([s.description("Resource registered for authorization and visibility decisions"),i.table("protected_resources"),a.model(),o.__metadata("design:paramtypes",[Object])],e.ProtectedResource),e.InheritanceBlock=class extends G{constructor(e){super(e)}},o.__decorate([i.pk({type:String}),i.uuid(),o.__metadata("design:type",String)],e.InheritanceBlock.prototype,"id",void 0),o.__decorate([i.manyToOne(()=>e.Tenant,U,!1,void 0,"fk_inheritance_blocks_tenant"),a.required(),o.__metadata("design:type",Object)],e.InheritanceBlock.prototype,"tenant",void 0),o.__decorate([i.manyToOne(()=>e.OrgUnit,U,!1,void 0,"fk_inheritance_blocks_org_unit"),a.required(),o.__metadata("design:type",Object)],e.InheritanceBlock.prototype,"orgUnit",void 0),o.__decorate([i.manyToOne(()=>e.OrgUnit,C,!1,void 0,"fk_inheritance_blocks_blocked_ancestor"),o.__metadata("design:type",Object)],e.InheritanceBlock.prototype,"blockedFromAncestor",void 0),o.__decorate([a.required(),a.type(String),a.option(b),i.column(),o.__metadata("design:type",String)],e.InheritanceBlock.prototype,"permissionCategory",void 0),o.__decorate([a.type(String),i.column(),o.__metadata("design:type",String)],e.InheritanceBlock.prototype,"reason",void 0),o.__decorate([i.createdAt(),o.__metadata("design:type",Date)],e.InheritanceBlock.prototype,"createdAt",void 0),o.__decorate([i.updatedAt(),o.__metadata("design:type",Date)],e.InheritanceBlock.prototype,"updatedAt",void 0),e.InheritanceBlock=o.__decorate([s.description("Block preventing permission inheritance from an ancestor organizational unit"),i.table("inheritance_blocks"),a.model(),o.__metadata("design:paramtypes",[Object])],e.InheritanceBlock),e.OrgUnit=class extends G{constructor(e){super(e)}},o.__decorate([i.pk({type:String}),i.uuid(),o.__metadata("design:type",String)],e.OrgUnit.prototype,"id",void 0),o.__decorate([i.manyToOne(()=>e.Tenant,I,!1,void 0,"fk_org_units_tenant"),a.required(),o.__metadata("design:type",Object)],e.OrgUnit.prototype,"tenant",void 0),o.__decorate([i.manyToOne(()=>e.OrgUnit,I,!1,void 0,"fk_org_units_parent"),o.__metadata("design:type",Object)],e.OrgUnit.prototype,"parent",void 0),o.__decorate([i.oneToMany(()=>e.OrgUnit,I,!1),o.__metadata("design:type",Array)],e.OrgUnit.prototype,"children",void 0),o.__decorate([a.required(),a.type(String),i.column(),o.__metadata("design:type",String)],e.OrgUnit.prototype,"name",void 0),o.__decorate([a.required(),a.type(String),i.column(),o.__metadata("design:type",String)],e.OrgUnit.prototype,"path",void 0),o.__decorate([a.type(Object),i.column(),o.__metadata("design:type",Object)],e.OrgUnit.prototype,"metadata",void 0),o.__decorate([i.oneToMany(()=>e.OrgUnitMembership,I,!1),o.__metadata("design:type",Array)],e.OrgUnit.prototype,"memberships",void 0),o.__decorate([i.oneToMany(()=>e.ProtectedResource,I,!1),o.__metadata("design:type",Array)],e.OrgUnit.prototype,"resources",void 0),o.__decorate([i.oneToMany(()=>e.InheritanceBlock,I,!1),o.__metadata("design:type",Array)],e.OrgUnit.prototype,"inheritanceBlocks",void 0),o.__decorate([i.oneToMany(()=>e.OrgUnitClosure,I,!1),o.__metadata("design:type",Array)],e.OrgUnit.prototype,"ancestorLinks",void 0),o.__decorate([i.oneToMany(()=>e.OrgUnitClosure,I,!1),o.__metadata("design:type",Array)],e.OrgUnit.prototype,"descendantLinks",void 0),o.__decorate([i.createdAt(),o.__metadata("design:type",Date)],e.OrgUnit.prototype,"createdAt",void 0),o.__decorate([i.updatedAt(),o.__metadata("design:type",Date)],e.OrgUnit.prototype,"updatedAt",void 0),e.OrgUnit=o.__decorate([s.description("Organizational unit node in a tenant hierarchy (department, project, or team)"),i.table("org_units"),a.model(),o.__metadata("design:paramtypes",[Object])],e.OrgUnit),e.StorageBinding=class extends G{constructor(e){super(e)}},o.__decorate([i.pk({type:String}),i.uuid(),o.__metadata("design:type",String)],e.StorageBinding.prototype,"id",void 0),o.__decorate([i.manyToOne(()=>e.Tenant,U,!1,void 0,"fk_storage_bindings_tenant"),a.required(),o.__metadata("design:type",Object)],e.StorageBinding.prototype,"tenant",void 0),o.__decorate([a.required(),a.type(String),a.option(O),i.column(),o.__metadata("design:type",String)],e.StorageBinding.prototype,"storageKind",void 0),o.__decorate([a.required(),a.type(String),a.option(w),i.column(),o.__metadata("design:type",String)],e.StorageBinding.prototype,"bindingKind",void 0),o.__decorate([a.required(),a.type(String),i.column(),o.__metadata("design:type",String)],e.StorageBinding.prototype,"bindingKey",void 0),o.__decorate([a.required(),a.type(String),i.column(),o.__metadata("design:type",String)],e.StorageBinding.prototype,"region",void 0),o.__decorate([a.type(Object),i.column(),o.__metadata("design:type",Object)],e.StorageBinding.prototype,"config",void 0),o.__decorate([i.createdAt(),o.__metadata("design:type",Date)],e.StorageBinding.prototype,"createdAt",void 0),o.__decorate([i.updatedAt(),o.__metadata("design:type",Date)],e.StorageBinding.prototype,"updatedAt",void 0),e.StorageBinding=o.__decorate([s.description("Storage backend binding configured for a tenant"),i.table("storage_bindings"),a.model(),o.__metadata("design:paramtypes",[Object])],e.StorageBinding),e.Tenant=class extends G{constructor(e){super(e)}},o.__decorate([i.pk({type:String}),i.uuid(),o.__metadata("design:type",String)],e.Tenant.prototype,"id",void 0),o.__decorate([i.unique(),a.required(),a.type(String),i.column(),o.__metadata("design:type",String)],e.Tenant.prototype,"slug",void 0),o.__decorate([a.required(),a.type(String),i.column(),o.__metadata("design:type",String)],e.Tenant.prototype,"name",void 0),o.__decorate([a.required(),a.type(String),a.option(f),i.column(),o.__metadata("design:type",String)],e.Tenant.prototype,"isolationTier",void 0),o.__decorate([i.oneToMany(()=>e.OrgUnit,I,!1),o.__metadata("design:type",Array)],e.Tenant.prototype,"orgUnits",void 0),o.__decorate([i.oneToMany(()=>e.TenantMembership,I,!1),o.__metadata("design:type",Array)],e.Tenant.prototype,"memberships",void 0),o.__decorate([i.oneToMany(()=>e.Principal,I,!1),o.__metadata("design:type",Array)],e.Tenant.prototype,"principals",void 0),o.__decorate([i.oneToMany(()=>e.StorageBinding,I,!1),o.__metadata("design:type",Array)],e.Tenant.prototype,"storageBindings",void 0),o.__decorate([i.createdAt(),o.__metadata("design:type",Date)],e.Tenant.prototype,"createdAt",void 0),o.__decorate([i.updatedAt(),o.__metadata("design:type",Date)],e.Tenant.prototype,"updatedAt",void 0),e.Tenant=o.__decorate([s.description("Top-level tenant (organization) namespace"),i.table("tenants"),a.model(),o.__metadata("design:paramtypes",[Object])],e.Tenant),e.TenantProfile=class extends G{constructor(e){super(e)}},o.__decorate([i.pk({type:String}),i.uuid(),o.__metadata("design:type",String)],e.TenantProfile.prototype,"id",void 0),o.__decorate([i.manyToOne(()=>e.Tenant,U,!1,void 0,"fk_tenant_profiles_tenant"),a.required(),o.__metadata("design:type",Object)],e.TenantProfile.prototype,"tenant",void 0),o.__decorate([a.required(),a.type(String),i.column(),o.__metadata("design:type",String)],e.TenantProfile.prototype,"profileKey",void 0),o.__decorate([a.type(Object),i.column(),o.__metadata("design:type",Object)],e.TenantProfile.prototype,"metadata",void 0),o.__decorate([i.createdAt(),o.__metadata("design:type",Date)],e.TenantProfile.prototype,"createdAt",void 0),o.__decorate([i.updatedAt(),o.__metadata("design:type",Date)],e.TenantProfile.prototype,"updatedAt",void 0),e.TenantProfile=o.__decorate([s.description("Profile metadata attached to a tenant"),i.table("tenant_profiles"),a.model(),o.__metadata("design:paramtypes",[Object])],e.TenantProfile),e.OrgUnitProfile=class extends G{constructor(e){super(e)}},o.__decorate([i.pk({type:String}),i.uuid(),o.__metadata("design:type",String)],e.OrgUnitProfile.prototype,"id",void 0),o.__decorate([i.manyToOne(()=>e.OrgUnit,U,!1,void 0,"fk_org_unit_profiles_org_unit"),a.required(),o.__metadata("design:type",Object)],e.OrgUnitProfile.prototype,"orgUnit",void 0),o.__decorate([a.required(),a.type(String),i.column(),o.__metadata("design:type",String)],e.OrgUnitProfile.prototype,"profileKey",void 0),o.__decorate([a.type(Object),i.column(),o.__metadata("design:type",Object)],e.OrgUnitProfile.prototype,"metadata",void 0),o.__decorate([i.createdAt(),o.__metadata("design:type",Date)],e.OrgUnitProfile.prototype,"createdAt",void 0),o.__decorate([i.updatedAt(),o.__metadata("design:type",Date)],e.OrgUnitProfile.prototype,"updatedAt",void 0),e.OrgUnitProfile=o.__decorate([s.description("Profile metadata attached to an organizational unit"),i.table("org_unit_profiles"),a.model(),o.__metadata("design:paramtypes",[Object])],e.OrgUnitProfile),e.GroupMembership=class extends G{constructor(e){super(e)}},o.__decorate([i.pk({type:String}),i.uuid(),o.__metadata("design:type",String)],e.GroupMembership.prototype,"id",void 0),o.__decorate([i.manyToOne(()=>e.Tenant,U,!1,void 0,"fk_group_memberships_tenant"),a.required(),o.__metadata("design:type",Object)],e.GroupMembership.prototype,"tenant",void 0),o.__decorate([i.manyToOne(()=>e.Group,U,!1,void 0,"fk_group_memberships_group"),a.required(),o.__metadata("design:type",Object)],e.GroupMembership.prototype,"group",void 0),o.__decorate([i.manyToOne(()=>e.Principal,U,!1,void 0,"fk_group_memberships_principal"),a.required(),o.__metadata("design:type",Object)],e.GroupMembership.prototype,"principal",void 0),o.__decorate([a.type(Object),i.column(),o.__metadata("design:type",Object)],e.GroupMembership.prototype,"metadata",void 0),o.__decorate([i.createdAt(),o.__metadata("design:type",Date)],e.GroupMembership.prototype,"createdAt",void 0),e.GroupMembership=o.__decorate([s.description("Membership linking a principal to a group"),i.table("group_memberships"),a.model(),o.__metadata("design:paramtypes",[Object])],e.GroupMembership),e.Group=class extends G{constructor(e){super(e)}},o.__decorate([i.pk({type:String}),i.uuid(),o.__metadata("design:type",String)],e.Group.prototype,"id",void 0),o.__decorate([i.manyToOne(()=>e.Tenant,I,!1,void 0,"fk_groups_tenant"),a.required(),o.__metadata("design:type",Object)],e.Group.prototype,"tenant",void 0),o.__decorate([i.manyToOne(()=>e.OrgUnit,C,!1,void 0,"fk_groups_org_unit"),o.__metadata("design:type",Object)],e.Group.prototype,"orgUnit",void 0),o.__decorate([a.required(),a.type(String),i.column(),o.__metadata("design:type",String)],e.Group.prototype,"name",void 0),o.__decorate([a.type(Object),i.column(),o.__metadata("design:type",Object)],e.Group.prototype,"metadata",void 0),o.__decorate([i.oneToMany(()=>e.GroupMembership,I,!1),o.__metadata("design:type",Array)],e.Group.prototype,"members",void 0),o.__decorate([i.createdAt(),o.__metadata("design:type",Date)],e.Group.prototype,"createdAt",void 0),o.__decorate([i.updatedAt(),o.__metadata("design:type",Date)],e.Group.prototype,"updatedAt",void 0),e.Group=o.__decorate([s.description("Named group of principals within a tenant and organizational unit"),i.table("groups"),a.model(),o.__metadata("design:paramtypes",[Object])],e.Group),e.EffectivePermission=class extends G{constructor(e){super(e)}},o.__decorate([i.pk({type:String}),i.uuid(),o.__metadata("design:type",String)],e.EffectivePermission.prototype,"id",void 0),o.__decorate([i.manyToOne(()=>e.Tenant,U,!1,void 0,"fk_effective_permissions_tenant"),a.required(),o.__metadata("design:type",Object)],e.EffectivePermission.prototype,"tenant",void 0),o.__decorate([i.manyToOne(()=>e.Principal,U,!1,void 0,"fk_effective_permissions_principal"),a.required(),o.__metadata("design:type",Object)],e.EffectivePermission.prototype,"principal",void 0),o.__decorate([a.required(),a.type(String),i.column(),o.__metadata("design:type",String)],e.EffectivePermission.prototype,"permissionKey",void 0),o.__decorate([a.required(),a.type(String),a.option(v),i.column(),o.__metadata("design:type",String)],e.EffectivePermission.prototype,"scopeKind",void 0),o.__decorate([a.required(),a.type(String),i.column(),o.__metadata("design:type",String)],e.EffectivePermission.prototype,"scopeId",void 0),o.__decorate([a.required(),a.type(String),i.column(),o.__metadata("design:type",String)],e.EffectivePermission.prototype,"sourceKind",void 0),o.__decorate([a.required(),a.type(String),i.column(),o.__metadata("design:type",String)],e.EffectivePermission.prototype,"sourceId",void 0),o.__decorate([i.column(),o.__metadata("design:type",Date)],e.EffectivePermission.prototype,"startsAt",void 0),o.__decorate([i.column(),o.__metadata("design:type",Date)],e.EffectivePermission.prototype,"expiresAt",void 0),o.__decorate([i.createdAt(),o.__metadata("design:type",Date)],e.EffectivePermission.prototype,"createdAt",void 0),e.EffectivePermission=o.__decorate([s.description("Materialized effective permission granted to a principal within a scope"),i.table("effective_permissions"),a.model(),o.__metadata("design:paramtypes",[Object])],e.EffectivePermission),e.Credential=class extends G{constructor(e){super(e),this.enabled=!0}},o.__decorate([i.pk({type:String}),i.uuid(),o.__metadata("design:type",String)],e.Credential.prototype,"id",void 0),o.__decorate([i.manyToOne(()=>e.Tenant,I,!1,void 0,"fk_credentials_tenant"),a.required(),o.__metadata("design:type",Object)],e.Credential.prototype,"tenant",void 0),o.__decorate([i.manyToOne(()=>e.OrgUnit,C,!1,void 0,"fk_credentials_org_unit"),o.__metadata("design:type",Object)],e.Credential.prototype,"orgUnit",void 0),o.__decorate([i.manyToOne(()=>e.Principal,C,!1,void 0,"fk_credentials_owner"),o.__metadata("design:type",Object)],e.Credential.prototype,"owner",void 0),o.__decorate([a.required(),a.type(String),i.column(),o.__metadata("design:type",String)],e.Credential.prototype,"name",void 0),o.__decorate([a.required(),a.type(String),i.column(),o.__metadata("design:type",String)],e.Credential.prototype,"credentialType",void 0),o.__decorate([a.required(),a.type(String),i.column(),o.__metadata("design:type",String)],e.Credential.prototype,"secretName",void 0),o.__decorate([a.required(),a.type(String),a.option(T),i.column(),o.__metadata("design:type",String)],e.Credential.prototype,"provider",void 0),o.__decorate([a.type(String),i.column(),o.__metadata("design:type",String)],e.Credential.prototype,"description",void 0),o.__decorate([a.type(Boolean),i.column(),o.__metadata("design:type",Boolean)],e.Credential.prototype,"enabled",void 0),o.__decorate([a.type(Object),i.column(),o.__metadata("design:type",Object)],e.Credential.prototype,"metadata",void 0),o.__decorate([i.column(),o.__metadata("design:type",Date)],e.Credential.prototype,"expiresAt",void 0),o.__decorate([i.column(),o.__metadata("design:type",Date)],e.Credential.prototype,"lastUsedAt",void 0),o.__decorate([i.createdAt(),o.__metadata("design:type",Date)],e.Credential.prototype,"createdAt",void 0),o.__decorate([i.updatedAt(),o.__metadata("design:type",Date)],e.Credential.prototype,"updatedAt",void 0),e.Credential=o.__decorate([i.table("credentials"),a.model(),s.description("Namespaced credential metadata record referencing an encrypted secret value"),o.__metadata("design:paramtypes",[Object])],e.Credential);class M extends K{constructor(){super(e.TenantProfile)}async createProfile(e,t,n,...r){return this.create({tenant:e,profileKey:t,metadata:n},...r)}async listForTenant(e,...t){return(await this.listAll(...t)).filter(t=>k(t.tenant,e))}async deleteForTenant(e,...t){for(const n of await this.listForTenant(e,...t))await this.deleteById(n.id,...t)}}class Y extends K{constructor(){super(e.OrgUnitProfile)}async createProfile(e,t,n,...r){return this.create({orgUnit:e,profileKey:t,metadata:n},...r)}async listForOrgUnit(e,...t){return(await this.listAll(...t)).filter(t=>j(t.orgUnit,e))}}class z extends K{constructor(){super(e.OrgUnitClosure)}async listAncestors(e,t,...n){return(await this.listAll(...n)).filter(n=>k(n.tenant,e)&&j(n.descendant,t)).sort((e,t)=>e.depth-t.depth)}async listDescendants(e,t,...n){return(await this.listAll(...n)).filter(n=>k(n.tenant,e)&&j(n.ancestor,t)).sort((e,t)=>e.depth-t.depth)}async isAncestorOf(e,t,n,...r){return(await this.listAncestors(e,n,...r)).some(e=>j(e.ancestor,t))}async createSelfLink(e,t,...n){return this.create({tenant:e,ancestor:t,descendant:t,depth:0},...n)}async insertAncestorLinksForNewChild(e,t,n,...r){const i=await this.listAncestors(e,t,...r);for(const t of i)await this.create({tenant:e,ancestor:t.ancestor,descendant:n,depth:t.depth+1},...r)}async deleteLinksForSubtree(e,t,...n){const r=await this.listDescendants(e,t,...n),i=new Set([t,...r.map(e=>q(e.descendant))]),a=new Set([t,...r.map(e=>q(e.ancestor))]),o=(await this.listAll(...n)).filter(t=>k(t.tenant,e)&&(i.has(q(t.descendant))||a.has(q(t.ancestor))));for(const e of o)await this.deleteById(e.id,...n)}}class V extends K{constructor(){super(e.InheritanceBlock)}async blockCategory(e,t,n,r,i,...a){return this.create({tenant:e,orgUnit:t,blockedFromAncestor:r,permissionCategory:n,reason:i},...a)}async unblockCategory(e,...t){await this.deleteById(e,...t)}async listForOrgUnit(e,t,...n){return(await this.listAll(...n)).filter(n=>k(n.tenant,e)&&j(n.orgUnit,t))}async categoryBlockedForAncestor(e,t,n,r,...i){return(await this.listForOrgUnit(e,t,...i)).some(e=>e.permissionCategory===r&&(!e.blockedFromAncestor||j(e.blockedFromAncestor,n)))}}class W extends K{constructor(){super(e.Tenant)}async createTenant(t,...n){return this.create({slug:t.slug,name:t.name,isolationTier:t.isolationTier??e.IsolationTier.Pooled},...n)}async getBySlug(e,...t){return this.findOneBy("slug",e,...t)}async renameTenant(e,t,...n){return this.updateOne(e,{name:t},...n)}async changeSlug(e,t,...n){return this.updateOne(e,{slug:t},...n)}async setIsolationTier(e,t,...n){return this.updateOne(e,{isolationTier:t},...n)}async deleteTenantControlled(e,...t){await this.deleteById(e,...t)}}async function H(e,t,...n){for(const r of t)await e.deleteById(r.id,...n)}class X extends K{constructor(){super(e.OrgUnit)}orgUnitPath(e,t){const n=$(t);return e?`${e.replace(/\/+$/,"")}/${n}`:"/"+n}async createProfileIfNeeded(e,t,n,...r){t&&await(new Y).createProfile(e,t,n,...r)}async createRoot(e,t,n,r,i,...a){const o=await this.create({tenant:e,name:t,path:this.orgUnitPath(void 0,t),metadata:n},...a);return await this.createProfileIfNeeded(o.id,r,i,...a),await(new z).createSelfLink(e,o.id,...a),o}async createChild(e,...t){const n=e.parentOrgUnitId?await this.getById(e.parentOrgUnitId,...t):void 0,r=await this.create({tenant:e.tenantId,parent:n?.id??e.parentOrgUnitId,name:e.name,path:this.orgUnitPath(n?.path,e.name),metadata:e.metadata},...t);await this.createProfileIfNeeded(r.id,e.profileKey,e.profileMetadata,...t);const i=new z;return await i.createSelfLink(e.tenantId,r.id,...t),e.parentOrgUnitId&&await i.insertAncestorLinksForNewChild(e.tenantId,e.parentOrgUnitId,r.id,...t),r}async listChildren(e,...t){return(await this.listAll(...t)).filter(t=>j(t.parent,e))}async listTenantOrgUnits(e,...t){return(await this.listAll(...t)).filter(t=>k(t.tenant,e))}async listDescendantOrgUnits(e,t,n=!1,...r){const i=await(new z).listDescendants(e,t,...r),a=new Set(i.map(e=>q(e.descendant)));return n&&a.add(t),(await this.listTenantOrgUnits(e,...r)).filter(e=>a.has(e.id))}async listAncestorOrgUnits(e,t,n=!1,...r){const i=await(new z).listAncestors(e,t,...r),a=new Set(i.map(e=>q(e.ancestor)));return n&&a.add(t),(await this.listTenantOrgUnits(e,...r)).filter(e=>a.has(e.id))}async renameOrgUnit(e,t,...n){const r=await this.getById(e,...n);return this.updateOne(e,{name:t,path:this.orgUnitPath(r.path.includes("/")?r.path.replace(/\/[^/]+$/,""):void 0,t)},...n)}async moveOrgUnit(e,t,n,...r){const i=await this.getById(n,...r),a=await this.getById(t,...r),o=await this.updateOne(t,{parent:i.id,path:this.orgUnitPath(i.path,a.name)},...r);return await this.rebuildTenantClosure(e,...r),o}async rebuildTenantClosure(e,...t){const n=new z,r=await n.listAll(...t);await H(n,r.filter(t=>k(t.tenant,e)),...t);const i=(await this.listTenantOrgUnits(e,...t)).sort((e,t)=>e.path.split("/").filter(Boolean).length-t.path.split("/").filter(Boolean).length);for(const r of i)await n.createSelfLink(e,r.id,...t),r.parent&&await n.insertAncestorLinksForNewChild(e,q(r.parent),r.id,...t)}async deleteOrgUnitTree(e,t,...n){const r=new z,i=await this.listDescendantOrgUnits(e,t,!0,...n),a=new Set(i.map(e=>e.id)),o=(await this.listTenantOrgUnits(e,...n)).filter(e=>a.has(e.id));await H(this,o,...n),await r.deleteLinksForSubtree(e,t,...n)}}o.__decorate([i.transactional(),o.__metadata("design:type",Function),o.__metadata("design:paramtypes",[String,String,Object,String,Object,Object]),o.__metadata("design:returntype",Promise)],X.prototype,"createRoot",null),o.__decorate([i.transactional(),o.__metadata("design:type",Function),o.__metadata("design:paramtypes",[Object,Object]),o.__metadata("design:returntype",Promise)],X.prototype,"createChild",null),o.__decorate([i.transactional(),o.__metadata("design:type",Function),o.__metadata("design:paramtypes",[String,String,String,Object]),o.__metadata("design:returntype",Promise)],X.prototype,"moveOrgUnit",null),o.__decorate([i.transactional(),o.__metadata("design:type",Function),o.__metadata("design:paramtypes",[String,Object]),o.__metadata("design:returntype",Promise)],X.prototype,"rebuildTenantClosure",null),o.__decorate([i.transactional(),o.__metadata("design:type",Function),o.__metadata("design:paramtypes",[String,String,Object]),o.__metadata("design:returntype",Promise)],X.prototype,"deleteOrgUnitTree",null);class J extends K{constructor(){super(e.User)}async createUser(e,...t){return this.create({email:e.email,phone:e.phone,displayName:e.displayName},...t)}async getByEmail(e,...t){return(await this.listAll(...t)).find(t=>t.email===e)}async updateDisplayName(e,t,...n){return this.updateOne(e,{displayName:t},...n)}async updateEmail(e,t,...n){return this.updateOne(e,{email:t},...n)}async updatePhone(e,t,...n){return this.updateOne(e,{phone:t},...n)}}class Z extends K{constructor(){super(e.Principal)}async createPrincipal(e,t,n,...r){return this.create({tenant:e,kind:t,subjectId:n},...r)}async getForSubject(e,t,n,...r){return(await this.listAll(...r)).find(r=>k(r.tenant,e)&&r.kind===t&&r.subjectId===n)}async getOrCreateForSubject(e,t,n,...r){return await this.getForSubject(e,t,n,...r)??await this.createPrincipal(e,t,n,...r)}async getUserPrincipal(t,n,...r){return this.getOrCreateForSubject(t,e.PrincipalKind.User,n,...r)}async getGroupPrincipal(t,n,...r){return this.getOrCreateForSubject(t,e.PrincipalKind.Group,n,...r)}}class Q extends K{constructor(){super(e.TenantMembership)}async addUserToTenant(t,n,r=e.MembershipStatus.Active,...i){return this.create({tenant:t,user:n,status:r},...i)}async setStatus(e,t,...n){return this.updateOne(e,{status:t},...n)}async listUserTenants(e,...t){return(await this.listAll(...t)).filter(t=>j(t.user,e))}async listTenantUsers(e,...t){return(await this.listAll(...t)).filter(t=>k(t.tenant,e))}async removeUserFromTenant(e,...t){await this.deleteById(e,...t)}}class ee extends K{constructor(){super(e.OrgUnitMembership)}async addUserToOrgUnit(t,n,r,i=e.MembershipStatus.Active,...a){return this.create({tenant:t,orgUnit:n,user:r,status:i},...a)}async setStatus(e,t,...n){return this.updateOne(e,{status:t},...n)}async listUserOrgUnits(e,...t){return(await this.listAll(...t)).filter(t=>j(t.user,e))}async listOrgUnitUsers(e,...t){return(await this.listAll(...t)).filter(t=>j(t.orgUnit,e))}async removeUserFromOrgUnit(e,...t){await this.deleteById(e,...t)}}class te extends K{constructor(){super(e.GroupMembership)}async addPrincipalToGroup(e,t,n,r,...i){return this.create({tenant:e,group:t,principal:n,metadata:r},...i)}async listGroupMembers(e,...t){return(await this.listAll(...t)).filter(t=>j(t.group,e))}async listPrincipalGroups(e,...t){return(await this.listAll(...t)).filter(t=>j(t.principal,e))}async removePrincipalFromGroup(e,...t){await this.deleteById(e,...t)}async resolveGroupPrincipalIdsForPrincipal(e,...t){const n=new Z,r=await this.listPrincipalGroups(e,...t);return await Promise.all(r.map(async e=>{const r=q(e.tenant),i=q(e.group);return(await n.getGroupPrincipal(r,i,...t)).id}))}}class ne extends K{constructor(){super(e.Permission)}async createPermission(e,...t){return this.create({key:e.key,category:e.category,description:e.description},...t)}async getByKey(e,...t){return(await this.listAll(...t)).find(t=>t.key===e)}async listByCategory(e,...t){return(await this.listAll(...t)).filter(t=>t.category===e)}async updateDescription(e,t,...n){return this.updateOne(e,{description:t},...n)}}class re extends K{constructor(){super(e.Role)}async createRole(e,...t){return this.create({tenant:e.tenantId,key:e.key,name:e.name,description:e.description,metadata:e.metadata},...t)}async getSystemRoleByKey(e,...t){const n=(await this.listAll(...t)).find(t=>!t.tenant&&t.key===e);if(!n)throw Error(`Role "${e}" not found`);return n}async getTenantRoleByKey(e,t,...n){const r=(await this.listAll(...n)).find(n=>k(n.tenant,e)&&n.key===t);if(!r)throw Error(`Role "${t}" not found for tenant ${e}`);return r}async renameRole(e,t,...n){return this.updateOne(e,{name:t},...n)}async updateRoleMetadata(e,t,...n){return this.updateOne(e,{metadata:t},...n)}async listTenantRoles(e,t=!1,...n){return(await this.listAll(...n)).filter(n=>t&&!n.tenant||k(n.tenant,e))}}class ie extends K{constructor(){super(e.RolePermission)}async addPermissionToRole(e,t,...n){return this.create({role:e,permission:t},...n)}async addPermissionKeyToRole(e,t,...n){const r=await(new ne).getByKey(t,...n);return this.addPermissionToRole(e,r.id,...n)}async removePermissionFromRole(e,...t){await this.deleteById(e,...t)}async listRolePermissions(e,...t){return(await this.listAll(...t)).filter(t=>j(t.role,e))}async listPermissionRoles(e,...t){return(await this.listAll(...t)).filter(t=>j(t.permission,e))}async replaceRolePermissions(e,t,...n){const r=await this.listRolePermissions(e,...n);return await(async(e,t,...n)=>{for(const r of t)await e.deleteById(r.id,...n)})(this,r,...n),Promise.all(t.map(t=>this.addPermissionToRole(e,t,...n)))}async createRoleWithPermissions(e,t,...n){const r=await(new re).createRole(e,...n);for(const e of t)await this.addPermissionKeyToRole(r.id,e,...n);return r}}class ae extends K{constructor(){super(e.RoleAssignment)}async assignRole(e,...t){return this.create({tenant:e.tenantId,principal:e.principalId,role:e.roleId,scopeKind:e.scopeKind,scopeId:e.scopeId,inheritDown:e.inheritDown??!1,startsAt:e.startsAt,expiresAt:e.expiresAt,conditions:e.conditions},...t)}async revokeAssignment(e,...t){await this.deleteById(e,...t)}async listPrincipalAssignments(e,t,...n){return(await this.listAll(...n)).filter(n=>k(n.tenant,e)&&j(n.principal,t))}async listRoleAssignments(e,...t){return(await this.listAll(...t)).filter(t=>j(t.role,e))}async listTenantAssignments(e,...t){return(await this.listAll(...t)).filter(t=>k(t.tenant,e))}async updateAssignmentWindow(e,t,n,...r){return this.updateOne(e,{startsAt:t,expiresAt:n},...r)}}class oe extends K{constructor(){super(e.EffectivePermission)}async listForPrincipal(e,t,...n){return(await this.listAll(...n)).filter(n=>k(n.tenant,e)&&j(n.principal,t))}async listForScope(e,t,n,...r){return(await this.listAll(...r)).filter(r=>k(r.tenant,e)&&r.scopeKind===t&&r.scopeId===n)}async hasPermission(e,t,n,r,i,a,...o){return(await this.listForPrincipal(e,t,...o)).some(e=>!(e.permissionKey!==n||e.scopeKind!==r||e.scopeId!==i||e.startsAt&&a&&e.startsAt>a||e.expiresAt&&a&&e.expiresAt<a))}async deleteForPrincipal(e,t,...n){for(const r of await this.listForPrincipal(e,t,...n))await this.deleteById(r.id,...n)}async deleteForTenant(e,...t){for(const n of(await this.listAll(...t)).filter(t=>k(t.tenant,e)))await this.deleteById(n.id,...t)}async rebuildForPrincipal(t,n,...r){await this.deleteForPrincipal(t,n,...r);const i=new ae,a=new ie,o=new ne,s=new te,d=new Z,c=new z,p=new V,_=[],l=await i.listPrincipalAssignments(t,n,...r),u=await s.listPrincipalGroups(n,...r),g=[...l,...(await Promise.all(u.map(async e=>{const n=await d.getGroupPrincipal(q(e.tenant),q(e.group),...r);return i.listPrincipalAssignments(t,n.id,...r)}))).flat()];for(const i of g){const s=await a.listRolePermissions(q(i.role),...r),d=await Promise.all(s.map(async e=>o.findOneBy("id",q(e.permission),...r)));for(const a of d){if(!a)continue;const o=i.scopeKind,s=i.scopeId,d=[];if(o===e.ScopeKind.Tenant)d.push({scopeKind:o,scopeId:t});else if(o===e.ScopeKind.Resource)d.push({scopeKind:o,scopeId:s});else if(o!==e.ScopeKind.OrgUnit||i.inheritDown){if(o===e.ScopeKind.OrgUnit&&i.inheritDown){const e=await c.listDescendants(t,s,...r);d.push(...e.map(e=>({scopeKind:o,scopeId:q(e.descendant)})))}}else d.push({scopeKind:o,scopeId:s});for(const c of d)o===e.ScopeKind.OrgUnit&&i.inheritDown&&c.scopeId!==s&&await p.categoryBlockedForAncestor(t,c.scopeId,s,a.category,...r)||_.push({id:"",tenantId:t,principalId:n,permissionKey:a.key,scopeKind:c.scopeKind,scopeId:c.scopeId,sourceKind:"role_assignment",sourceId:i.id,startsAt:i.startsAt,expiresAt:i.expiresAt})}}return await Promise.all(_.map(e=>this.create({tenant:e.tenantId,principal:e.principalId,permissionKey:e.permissionKey,scopeKind:e.scopeKind,scopeId:e.scopeId,sourceKind:e.sourceKind,sourceId:e.sourceId,startsAt:e.startsAt,expiresAt:e.expiresAt},...r)))}async rebuildForTenant(e,...t){const n=(await(new Z).listAll(...t)).filter(t=>k(t.tenant,e));for(const r of n)await this.rebuildForPrincipal(e,r.id,...t)}}o.__decorate([i.transactional(),o.__metadata("design:type",Function),o.__metadata("design:paramtypes",[String,String,Object]),o.__metadata("design:returntype",Promise)],oe.prototype,"rebuildForPrincipal",null),o.__decorate([i.transactional(),o.__metadata("design:type",Function),o.__metadata("design:paramtypes",[String,Object]),o.__metadata("design:returntype",Promise)],oe.prototype,"rebuildForTenant",null);class se extends K{constructor(){super(e.ProtectedResource)}async registerResource(e,...t){return this.create({tenant:e.tenantId,orgUnit:e.orgUnitId,resourceType:e.resourceType,resourceId:e.resourceId,visibility:e.visibility,owner:e.ownerPrincipalId,sensitivity:e.sensitivity,metadata:e.metadata},...t)}async getByDomainResource(e,t,n,...r){return(await this.listAll(...r)).find(r=>k(r.tenant,e)&&r.resourceType===t&&r.resourceId===n)}async moveResourceToOrgUnit(e,t,...n){return this.updateOne(e,{orgUnit:t},...n)}async setVisibility(e,t,...n){return this.updateOne(e,{visibility:t},...n)}async transferOwnership(e,t,...n){return this.updateOne(e,{owner:t},...n)}async listOrgUnitResources(e,...t){return(await this.listAll(...t)).filter(t=>j(t.orgUnit,e))}async listTenantResources(e,...t){return(await this.listAll(...t)).filter(t=>k(t.tenant,e))}}class de extends K{constructor(){super(e.ResourceGrant)}async grantResource(e,...t){return this.create({tenant:e.tenantId,resource:e.resourceId,principal:e.principalId,permissionKey:e.permissionKey,startsAt:e.startsAt,expiresAt:e.expiresAt,conditions:e.conditions,createdBy:e.createdByPrincipalId},...t)}async revokeGrant(e,...t){await this.deleteById(e,...t)}async listResourceGrants(e,...t){return(await this.listAll(...t)).filter(t=>j(t.resource,e))}async listPrincipalGrants(e,t,...n){return(await this.listAll(...n)).filter(n=>k(n.tenant,e)&&j(n.principal,t))}async hasGrant(e,t,n,r,i,...a){return(await this.listPrincipalGrants(e,t,...a)).some(e=>j(e.resource,n)&&e.permissionKey===r&&(!e.startsAt||!i||e.startsAt<=i)&&(!e.expiresAt||!i||e.expiresAt>=i))}async deleteAllForResource(e,...t){for(const n of await this.listResourceGrants(e,...t))await this.deleteById(n.id,...t)}}class ce{constructor(){this.tenantService=new W,this.tenantProfileService=new M,this.orgUnitService=new X,this.orgUnitProfileService=new Y,this.userService=new J,this.membershipService=new Q,this.principalService=new Z,this.permissionService=new ne,this.roleService=new re,this.rolePermissionService=new ie,this.roleAssignmentService=new ae,this.effectivePermissionService=new oe}async bootstrapTenantFromTemplate(t,...n){const r=await this.tenantService.createTenant(t.tenant,...n);t.tenant.profileKey&&await this.tenantProfileService.createProfile(r.id,t.tenant.profileKey,t.tenant.profileMetadata,...n);const i=async(e,t)=>{const a=void 0===e?await this.orgUnitService.createRoot(r.id,t.name,t.metadata,t.profileKey,t.metadata,...n):await this.orgUnitService.createChild({tenantId:r.id,parentOrgUnitId:e,name:t.name,metadata:t.metadata,profileKey:t.profileKey,profileMetadata:t.metadata},...n);for(const e of t.children??[])await i(a.id,e);return a},a=await i(void 0,t.rootOrgUnit),o=await this.userService.createUser(t.ownerUser,...n);await this.membershipService.addUserToTenant(r.id,o.id,e.MembershipStatus.Active,...n);const s=await this.principalService.getUserPrincipal(r.id,o.id,...n);for(const e of t.permissions)await this.permissionService.createPermission(e,...n);for(const e of t.roles){const t=await this.roleService.createRole({tenantId:r.id,key:e.key,name:e.name,description:e.description},...n);for(const r of e.permissionKeys)await this.rolePermissionService.addPermissionKeyToRole(t.id,r,...n)}const d=await this.roleService.getTenantRoleByKey(r.id,t.ownerRoleKey,...n);return await this.roleAssignmentService.assignRole({tenantId:r.id,principalId:s.id,roleId:d.id,scopeKind:e.ScopeKind.OrgUnit,scopeId:a.id,inheritDown:!0},...n),await this.effectivePermissionService.rebuildForPrincipal(r.id,s.id,...n),{tenantId:r.id,rootOrgUnitId:a.id,ownerUserId:o.id,ownerPrincipalId:s.id}}}o.__decorate([i.transactional(),o.__metadata("design:type",Function),o.__metadata("design:paramtypes",[Object,Object]),o.__metadata("design:returntype",Promise)],ce.prototype,"bootstrapTenantFromTemplate",null);class pe{constructor(){this.membershipService=new Q,this.orgMembershipService=new ee,this.principalService=new Z,this.roleService=new re,this.roleAssignmentService=new ae,this.effectivePermissionService=new oe}async onboardUserToTenantAndOrgUnit(t,n,r,i,...a){await this.membershipService.addUserToTenant(t,n,e.MembershipStatus.Active,...a),await this.orgMembershipService.addUserToOrgUnit(t,r,n,e.MembershipStatus.Active,...a);const o=await this.principalService.getUserPrincipal(t,n,...a),s=await this.roleService.getTenantRoleByKey(t,i,...a);return await this.roleAssignmentService.assignRole({tenantId:t,principalId:o.id,roleId:s.id,scopeKind:e.ScopeKind.OrgUnit,scopeId:r,inheritDown:!0},...a),await this.effectivePermissionService.rebuildForPrincipal(t,o.id,...a),{principalId:o.id}}async changeUserOrgRole(t,n,r,i,a,...o){const s=await this.roleService.getTenantRoleByKey(t,i,...o),d=await this.roleAssignmentService.listPrincipalAssignments(t,n,...o);for(const t of d.filter(t=>t.scopeKind===e.ScopeKind.OrgUnit&&t.scopeId===r))await this.roleAssignmentService.revokeAssignment(t.id,...o);await this.roleAssignmentService.assignRole({tenantId:t,principalId:n,roleId:s.id,scopeKind:e.ScopeKind.OrgUnit,scopeId:r,inheritDown:a},...o),await this.effectivePermissionService.rebuildForPrincipal(t,n,...o)}async suspendUserInTenant(t,n,r,...i){await this.membershipService.setStatus(t,e.MembershipStatus.Suspended,...i),await this.effectivePermissionService.deleteForPrincipal(n,r,...i)}async reactivateUserInTenant(t,n,r,...i){await this.membershipService.setStatus(t,e.MembershipStatus.Active,...i),await this.effectivePermissionService.rebuildForPrincipal(n,r,...i)}}o.__decorate([i.transactional(),o.__metadata("design:type",Function),o.__metadata("design:paramtypes",[String,String,String,String,Object]),o.__metadata("design:returntype",Promise)],pe.prototype,"onboardUserToTenantAndOrgUnit",null),o.__decorate([i.transactional(),o.__metadata("design:type",Function),o.__metadata("design:paramtypes",[String,String,String,String,Boolean,Object]),o.__metadata("design:returntype",Promise)],pe.prototype,"changeUserOrgRole",null),o.__decorate([i.transactional(),o.__metadata("design:type",Function),o.__metadata("design:paramtypes",[String,String,String,Object]),o.__metadata("design:returntype",Promise)],pe.prototype,"suspendUserInTenant",null),o.__decorate([i.transactional(),o.__metadata("design:type",Function),o.__metadata("design:paramtypes",[String,String,String,Object]),o.__metadata("design:returntype",Promise)],pe.prototype,"reactivateUserInTenant",null);let _e=class extends i.BaseModel{constructor(e){super(e),this.enabled=!0}};o.__decorate([i.pk({type:String}),i.uuid(),o.__metadata("design:type",String)],_e.prototype,"id",void 0),o.__decorate([a.required(),a.type(String),i.column(),o.__metadata("design:type",String)],_e.prototype,"name",void 0),o.__decorate([a.required(),a.type(String),i.column(),o.__metadata("design:type",String)],_e.prototype,"provider",void 0),o.__decorate([a.required(),a.type(String),i.column(),o.__metadata("design:type",String)],_e.prototype,"encryptedPayload",void 0),o.__decorate([a.required(),a.type(Object),i.column(),o.__metadata("design:type",Object)],_e.prototype,"encryption",void 0),o.__decorate([a.type(String),i.column(),o.__metadata("design:type",String)],_e.prototype,"contentType",void 0),o.__decorate([a.type(Object),i.column(),o.__metadata("design:type",Object)],_e.prototype,"tags",void 0),o.__decorate([a.type(Boolean),i.column(),o.__metadata("design:type",Boolean)],_e.prototype,"enabled",void 0),o.__decorate([a.type(String),i.column(),o.__metadata("design:type",String)],_e.prototype,"version",void 0),o.__decorate([a.type(String),i.column(),o.__metadata("design:type",String)],_e.prototype,"externalId",void 0),o.__decorate([a.type(String),i.column(),o.__metadata("design:type",String)],_e.prototype,"uri",void 0),o.__decorate([a.type(String),i.column("tenant_id"),o.__metadata("design:type",String)],_e.prototype,"tenantId",void 0),o.__decorate([a.type(String),i.column("org_unit_id"),o.__metadata("design:type",String)],_e.prototype,"orgUnitId",void 0),o.__decorate([a.type(String),i.column("owner_principal_id"),o.__metadata("design:type",String)],_e.prototype,"ownerPrincipalId",void 0),_e=o.__decorate([i.table("secrets"),a.model(),s.description("Encrypted secret record stored through the model-backed secret service"),o.__metadata("design:paramtypes",[Object])],_e);const le=n.LoggedEnvironment.accumulate({secrets:{provider:""}}).accumulate({secrets:{model:{keySecret:"",keyId:""}}});class ue extends r.InternalError{constructor(e,t,n){super(t),this.secretCode=e,this.name="SecretError",n&&(this.cause=n)}}function ge(e){if("string"==typeof e)return{encoding:"utf8",value:e};if(e instanceof Uint8Array)return{encoding:"base64",value:Buffer.from(e).toString("base64")};if("object"==typeof e&&null!==e)try{return{encoding:"json",value:JSON.stringify(e)}}catch(e){throw new ue("SECRET_SERIALIZATION_FAILED","Failed to serialize payload as JSON: "+e.message,e)}throw new ue("SECRET_INVALID_PAYLOAD","Invalid payload type: "+typeof e)}const ye=/^[a-zA-Z0-9_-]+$/;function me(e){if(!e||"string"!=typeof e)return!1;const t=e.trim();return!(0===t.length||t.length>255||(e=>{for(const t of e){const e=t.charCodeAt(0);if(31>=e||127===e)return!0}return!1})(t)||t.includes("..")||t.includes(" ")||!ye.test(t))}function he(e){if(!me(e))throw new ue("SECRET_INVALID_NAME","Invalid secret name: "+e);return e.trim()}class Se extends i.ClientBasedService{getConfigFromArgs(...e){const t=e[0];if(t&&"object"==typeof t)return t;const n=this.configFromEnvironment();if(n)return n;throw new r.ValidationError("Secret service config must be the first initialize argument, or resolvable from environment")}}function fe(e){return"string"==typeof e&&e.length>0?e:void 0}const Ae="default-key";class Ee extends Se{constructor(){super(),this.provider="model"}configFromEnvironment(){const e=le.secrets.model,t=fe(e?.keySecret);if(t)return{provider:"model",keySecret:t,keyId:fe(e.keyId)}}async initialize(...e){const t=this.getConfigFromArgs(...e),n=e[1]||i.Repository.forModel(_e);return this.cryptoService=new c.CryptoService,await this.cryptoService.boot({}),{config:t,client:n}}async store(e,t,n={},...r){const{log:a,ctxArgs:o}=(await this.logCtx(r,"store",!0)).for(this.store);a.verbose("Storing secret "+e);try{me(e)}catch(e){throw this.parseError(e)}const s=he(e),d=ge(t),c=await this.cryptoService.deriveKeyFromSecret(this.config.keySecret),p=this.cryptoService.extractKeyFromDerivedKey(c),{encryptedData:_,metadata:l}=await this.cryptoService.encryptPayload(JSON.stringify(d),this.config.keyId||Ae,p.key),u=new Date,g=new _e({name:s,provider:this.provider,encryptedPayload:_,encryption:{keyId:l.keyId,iv:l.iv,salt:p.salt},contentType:n.contentType,tags:n.tags,enabled:!0,version:n.version,tenantId:n.tenantId,orgUnitId:n.orgUnitId,ownerPrincipalId:n.ownerPrincipalId}),y=n.version??"";if((await this.client.select().where(i.Condition.attr("name").eq(s)).execute(...o)).some(e=>(e.version??"")===y))throw new ue("SECRET_ALREADY_EXISTS",`Secret ${JSON.stringify(s)}${y?" version "+JSON.stringify(y):""} already exists`);try{await this.client.create(g,...o)}catch(e){throw this.parseError(e)}return{provider:this.provider,name:s,version:n.version,metadata:{createdAt:u.toISOString()}}}async retrieve(e,t={},...n){const{log:a,ctx:o,ctxArgs:s}=(await this.logCtx(n,"retrieve",!0)).for(this.retrieve),d="string"==typeof e?e:e.name;let c,p;a.verbose("Retrieving secret "+d),"string"==typeof e?(c=e,p=t.version):(c=e.name,p=e.version);try{me(c)}catch(e){throw this.parseError(e)}const _=he(c);let l=i.Condition.attr("name").eq(_);p&&(l=l.and(i.Condition.attr("version").eq(p))),l=l.and(i.Condition.attr("enabled").eq(!0));const u=(await this.withinPrincipalTransaction(o,e=>this.client.override({transactionLock:e}).select().where(l).orderBy(["updatedAt",i.OrderDirection.DSC]).execute(...s)))[0];if(!u)throw new r.NotFoundError(`Secret "${_}" not found`);const g=await this.cryptoService.deriveKeyFromSecret(this.config.keySecret,u.encryption?.salt);let y,m;try{y=await this.cryptoService.decryptPayload(u.encryptedPayload,this.cryptoService.extractKeyFromDerivedKey(g).key)}catch(e){throw new r.InternalError(`Failed to decrypt secret "${_}": ${e.message}`)}try{m=JSON.parse(y)}catch(e){throw new r.InternalError(`Failed to deserialize secret "${_}": ${e.message}`)}return(e=>{switch(e.encoding){case"utf8":return e.value;case"json":try{return JSON.parse(e.value)}catch(e){throw new ue("SECRET_DESERIALIZATION_FAILED","Failed to deserialize JSON payload: "+e.message,e)}case"base64":return Buffer.from(e.value,"base64");default:throw new ue("SECRET_DESERIALIZATION_FAILED","Unknown encoding: "+e.encoding)}})(m)}async withinPrincipalTransaction(e,t){const n=e.getOrUndefined("transactionLock"),a=n??i.resolveTransactionLock(this.client);let o;a.depth++,n||(await a.begin(e),e.cache.put("transactionLock",a));try{o=await t(a)}catch(t){const n=0===a.depth;if(a.depth=0,!n)try{await a.rollback(t,e)}catch(e){}throw t}if(a.depth--,0===a.depth)try{await a.commit(e)}catch(e){throw new r.InternalError("Failed to commit transaction: "+e)}return o}async delete(e,t={},...n){const{log:r,ctxArgs:a}=(await this.logCtx(n,"delete",!0)).for(this.delete),o="string"==typeof e?e:e.name;let s;r.verbose("Deleting secret "+o),s="string"==typeof e?e:e.name;try{me(s)}catch(e){throw this.parseError(e)}const d=he(s);let c=i.Condition.attr("name").eq(d);const p=t.version;p&&(c=c.and(i.Condition.attr("version").eq(p)));const _=(await this.client.select().where(c).orderBy(["updatedAt",i.OrderDirection.DSC]).execute(...a))[0];_&&(t.force?await this.client.delete(_.id,...a):(_.enabled=!1,_.updatedAt=new Date,await this.client.update(_,...a)))}async exists(e,t={},...n){const{log:r,ctxArgs:a}=(await this.logCtx(n,"exists",!0)).for(this.exists),o="string"==typeof e?e:e.name;let s;r.verbose(`Checking if secret ${o} exists`),s="string"==typeof e?e:e.name;try{me(s)}catch(e){throw this.parseError(e)}const d=he(s);let c=i.Condition.attr("name").eq(d);c=c.and(i.Condition.attr("enabled").eq(!0));const p=t.version??("object"==typeof e?e.version:void 0);return p&&(c=c.and(i.Condition.attr("version").eq(p))),await this.client.count().where(c).execute(...a)>0}async list(e={},...t){const{log:n,ctxArgs:r}=(await this.logCtx(t,"list",!0)).for(this.list);n.verbose("Listing secrets");let a=null;return void 0!==e.enabled&&(a=i.Condition.attr("enabled").eq(e.enabled)),(await this.client.select().where(a||i.Condition.attr("name").dif(null)).execute(...r)).map(e=>({provider:e.provider,name:e.name,version:e.version,createdAt:e.createdAt,updatedAt:e.updatedAt,enabled:e.enabled,contentType:e.contentType,tags:e.tags}))}async metadata(e,t={},...n){const{log:r,ctxArgs:a}=(await this.logCtx(n,"metadata",!0)).for(this.metadata),o="string"==typeof e?e:e.name;let s;r.verbose("Getting metadata for secret "+o),s="string"==typeof e?e:e.name;try{me(s)}catch(e){throw this.parseError(e)}const d=he(s);let c=i.Condition.attr("name").eq(d);const p=t.version??("object"==typeof e?e.version:void 0);p&&(c=c.and(i.Condition.attr("version").eq(p)));const _=(await this.client.select().where(c).orderBy(["updatedAt",i.OrderDirection.DSC]).execute(...a))[0];if(!_)return;const l={provider:_.provider,name:_.name,version:_.version,createdAt:_.createdAt,updatedAt:_.updatedAt,enabled:_.enabled,contentType:_.contentType};return t.includeTags&&(l.tags=_.tags),l}async rotate(e,t,n={},...a){const{log:o,ctxArgs:s}=(await this.logCtx(a,"rotate",!0)).for(this.rotate),d="string"==typeof e?e:e.name;o.verbose("Rotating secret "+d);const c=he(d);let p=i.Condition.attr("name").eq(c);p=p.and(i.Condition.attr("enabled").eq(!0));const _=n.oldVersion??("object"==typeof e?e.version:void 0);_&&(p=p.and(i.Condition.attr("version").eq(_)));const l=(await this.client.select().where(p).orderBy(["updatedAt",i.OrderDirection.DSC]).execute(...s))[0];if(!l)throw new r.NotFoundError(`Secret "${c}" not found`);const u=n.newVersion??l.version,g=u??"";if(g!==(l.version??"")&&(await this.client.select().where(i.Condition.attr("name").eq(c)).execute(...s)).some(e=>e.id!==l.id&&(e.version??"")===g))throw new ue("SECRET_ALREADY_EXISTS",`Secret ${JSON.stringify(c)}${g?" version "+JSON.stringify(g):""} already exists`);const y=ge(t),m=await this.cryptoService.deriveKeyFromSecret(this.config.keySecret),h=this.cryptoService.extractKeyFromDerivedKey(m),{encryptedData:S,metadata:f}=await this.cryptoService.encryptPayload(JSON.stringify(y),n.keyId||this.config.keyId||Ae,h.key);l.encryptedPayload=S,l.encryption={keyId:f.keyId,iv:f.iv,salt:h.salt},l.version=u,l.updatedAt=new Date;try{await this.client.update(l,...s)}catch(e){throw this.parseError(e)}return{provider:this.provider,name:c,version:l.version}}parseError(e){const t=e,n=t.message||t.name||"Unknown error",r=n.toLowerCase();return r.includes("not found")||r.includes("404")?new ue("SECRET_NOT_FOUND","Secret not found: "+n,t):r.includes("already exists")||r.includes("conflict")||r.includes("409")||r.includes("duplicate key")||r.includes("unique constraint")||"23505"===t.code?new ue("SECRET_ALREADY_EXISTS","Secret already exists: "+n,t):r.includes("decryption")||r.includes("decrypt")?new ue("SECRET_DECRYPTION_FAILED","Decryption failed: "+n,t):new ue("SECRET_PROVIDER_CONFLICT","Provider error: "+n,t)}}const ve={Principal:"app.principal_id",Tenant:"app.tenant_id"},be="SELECT current_user AS rolname, rolsuper, rolbypassrls FROM pg_roles WHERE rolname = current_user",Re=["tenants","org_units","org_unit_closure","users","groups","principals","tenant_memberships","org_unit_memberships","group_memberships","permissions","roles","role_permissions","role_assignments","inheritance_blocks","protected_resources","resource_grants","effective_permissions","storage_bindings","tenant_profiles","org_unit_profiles","credentials","secrets"],Oe="SET search_path = public, pg_temp",we=[`CREATE OR REPLACE FUNCTION app_rls_principal_id()\nRETURNS uuid\nLANGUAGE sql\nSTABLE\nAS $fn$\n SELECT NULLIF(current_setting('${ve.Principal}', true), '')::uuid\n$fn$;`,`CREATE OR REPLACE FUNCTION app_rls_subject_id()\nRETURNS text\nLANGUAGE sql\nSTABLE\nSECURITY DEFINER\n${Oe}\nAS $fn$\n SELECT p.subject_id\n FROM principals p\n WHERE p.id = app_rls_principal_id()\n$fn$;`,`CREATE OR REPLACE FUNCTION app_rls_principal_for_subject(\n p_subject text,\n p_tenant uuid DEFAULT NULL\n)\nRETURNS uuid\nLANGUAGE sql\nSTABLE\nSECURITY DEFINER\n${Oe}\nAS $fn$\n SELECT CASE WHEN COUNT(*) = 1 THEN (MIN(p.id::text))::uuid ELSE NULL END\n FROM principals p\n WHERE p.subject_id = NULLIF(p_subject, '')\n AND (p_tenant IS NULL OR p.tenant_id = p_tenant)\n$fn$;`,"REVOKE ALL ON FUNCTION app_rls_principal_for_subject(text, uuid) FROM PUBLIC;",`CREATE OR REPLACE FUNCTION app_rls_org_unit_tenant(p_org_unit uuid)\nRETURNS uuid\nLANGUAGE sql\nSTABLE\nSECURITY DEFINER\n${Oe}\nAS $fn$\n SELECT ou.tenant_id\n FROM org_units ou\n WHERE ou.id = p_org_unit\n$fn$;`,`CREATE OR REPLACE FUNCTION app_rls_has_permission(\n p_tenant uuid,\n p_permission text,\n p_scope_kind text,\n p_scope_id text\n)\nRETURNS boolean\nLANGUAGE sql\nSTABLE\nSECURITY DEFINER\n${Oe}\nAS $fn$\n SELECT EXISTS (\n SELECT 1\n FROM effective_permissions ep\n WHERE ep.tenant_id = p_tenant\n AND ep.principal_id = app_rls_principal_id()\n AND ep.permission_key = p_permission\n AND ep.scope_kind = p_scope_kind\n AND ep.scope_id = p_scope_id\n AND (ep.starts_at IS NULL OR ep.starts_at <= now())\n AND (ep.expires_at IS NULL OR ep.expires_at >= now())\n )\n$fn$;`,`CREATE OR REPLACE FUNCTION app_rls_tenant_permission(\n p_tenant uuid,\n p_permission text\n)\nRETURNS boolean\nLANGUAGE sql\nSTABLE\nSECURITY DEFINER\n${Oe}\nAS $fn$\n SELECT app_rls_has_permission(\n p_tenant,\n p_permission,\n 'tenant',\n p_tenant::text\n )\n$fn$;`,`CREATE OR REPLACE FUNCTION app_rls_org_unit_permission(\n p_tenant uuid,\n p_org_unit uuid,\n p_permission text\n)\nRETURNS boolean\nLANGUAGE sql\nSTABLE\nSECURITY DEFINER\n${Oe}\nAS $fn$\n SELECT app_rls_has_permission(\n p_tenant,\n p_permission,\n 'tenant',\n p_tenant::text\n )\n OR (\n p_org_unit IS NOT NULL\n AND app_rls_has_permission(\n p_tenant,\n p_permission,\n 'org_unit',\n p_org_unit::text\n )\n )\n$fn$;`,`CREATE OR REPLACE FUNCTION app_rls_is_tenant_member(p_tenant uuid)\nRETURNS boolean\nLANGUAGE sql\nSTABLE\nSECURITY DEFINER\n${Oe}\nAS $fn$\n SELECT EXISTS (\n SELECT 1\n FROM tenant_memberships tm\n WHERE tm.tenant_id = p_tenant\n AND tm.status = 'active'\n AND tm.user_id::text = app_rls_subject_id()\n )\n$fn$;`,`CREATE OR REPLACE FUNCTION app_rls_is_org_unit_member(\n p_tenant uuid,\n p_org_unit uuid\n)\nRETURNS boolean\nLANGUAGE sql\nSTABLE\nSECURITY DEFINER\n${Oe}\nAS $fn$\n SELECT EXISTS (\n SELECT 1\n FROM org_unit_memberships m\n WHERE m.tenant_id = p_tenant\n AND m.org_unit_id = p_org_unit\n AND m.status = 'active'\n AND m.user_id::text = app_rls_subject_id()\n )\n$fn$;`,`CREATE OR REPLACE FUNCTION app_rls_can_read_tenant(p_tenant uuid)\nRETURNS boolean\nLANGUAGE sql\nSTABLE\nSECURITY DEFINER\n${Oe}\nAS $fn$\n SELECT app_rls_tenant_permission(p_tenant, 'namespace.admin')\n OR app_rls_tenant_permission(p_tenant, 'namespace.write')\n OR app_rls_tenant_permission(p_tenant, 'namespace.read')\n$fn$;`,`CREATE OR REPLACE FUNCTION app_rls_can_write_tenant(p_tenant uuid)\nRETURNS boolean\nLANGUAGE sql\nSTABLE\nSECURITY DEFINER\n${Oe}\nAS $fn$\n SELECT app_rls_tenant_permission(p_tenant, 'namespace.admin')\n OR app_rls_tenant_permission(p_tenant, 'namespace.write')\n$fn$;`,`CREATE OR REPLACE FUNCTION app_rls_can_read_org_unit(\n p_tenant uuid,\n p_org_unit uuid\n)\nRETURNS boolean\nLANGUAGE sql\nSTABLE\nSECURITY DEFINER\n${Oe}\nAS $fn$\n SELECT app_rls_can_read_tenant(p_tenant)\n OR app_rls_org_unit_permission(p_tenant, p_org_unit, 'namespace.admin')\n OR app_rls_org_unit_permission(p_tenant, p_org_unit, 'namespace.write')\n OR app_rls_org_unit_permission(p_tenant, p_org_unit, 'namespace.read')\n OR app_rls_is_org_unit_member(p_tenant, p_org_unit)\n$fn$;`,`CREATE OR REPLACE FUNCTION app_rls_can_write_org_unit(\n p_tenant uuid,\n p_org_unit uuid\n)\nRETURNS boolean\nLANGUAGE sql\nSTABLE\nSECURITY DEFINER\n${Oe}\nAS $fn$\n SELECT app_rls_can_write_tenant(p_tenant)\n OR app_rls_org_unit_permission(p_tenant, p_org_unit, 'namespace.admin')\n OR app_rls_org_unit_permission(p_tenant, p_org_unit, 'namespace.write')\n$fn$;`,`CREATE OR REPLACE FUNCTION app_rls_is_admin()\nRETURNS boolean\nLANGUAGE sql\nSTABLE\nSECURITY DEFINER\n${Oe}\nAS $fn$\n SELECT EXISTS (\n SELECT 1\n FROM effective_permissions ep\n WHERE ep.principal_id = app_rls_principal_id()\n AND ep.permission_key = 'namespace.admin'\n AND (ep.starts_at IS NULL OR ep.starts_at <= now())\n AND (ep.expires_at IS NULL OR ep.expires_at >= now())\n )\n$fn$;`,`CREATE OR REPLACE FUNCTION app_rls_is_tenant_admin(p_tenant uuid)\nRETURNS boolean\nLANGUAGE sql\nSTABLE\nSECURITY DEFINER\n${Oe}\nAS $fn$\n SELECT app_rls_tenant_permission(p_tenant, 'namespace.admin')\n$fn$;`,`CREATE OR REPLACE FUNCTION app_rls_is_org_unit_admin(\n p_tenant uuid,\n p_org_unit uuid\n)\nRETURNS boolean\nLANGUAGE sql\nSTABLE\nSECURITY DEFINER\n${Oe}\nAS $fn$\n SELECT app_rls_is_tenant_admin(p_tenant)\n OR (\n p_org_unit IS NOT NULL\n AND app_rls_org_unit_permission(p_tenant, p_org_unit, 'namespace.admin')\n )\n$fn$;`,`CREATE OR REPLACE FUNCTION app_rls_is_scope_admin(\n p_tenant uuid,\n p_scope_kind text,\n p_scope_id text\n)\nRETURNS boolean\nLANGUAGE sql\nSTABLE\nSECURITY DEFINER\n${Oe}\nAS $fn$\n SELECT CASE\n WHEN p_scope_kind = 'tenant' THEN app_rls_is_tenant_admin(p_tenant)\n WHEN p_scope_kind = 'org_unit' THEN app_rls_is_org_unit_admin(\n p_tenant,\n p_scope_id::uuid\n )\n WHEN p_scope_kind = 'resource' THEN EXISTS (\n SELECT 1\n FROM protected_resources r\n WHERE r.id = p_scope_id::uuid\n AND r.tenant_id = p_tenant\n AND app_rls_is_org_unit_admin(p_tenant, r.org_unit_id)\n )\n ELSE false\n END\n$fn$;`,`CREATE OR REPLACE FUNCTION app_rls_can_admin_user(p_user_id uuid)\nRETURNS boolean\nLANGUAGE sql\nSTABLE\nSECURITY DEFINER\n${Oe}\nAS $fn$\n SELECT EXISTS (\n SELECT 1\n FROM tenant_memberships tm\n WHERE tm.user_id = p_user_id\n AND app_rls_is_tenant_admin(tm.tenant_id)\n )\n$fn$;`,`CREATE OR REPLACE FUNCTION app_rls_can_read_group(\n p_tenant uuid,\n p_group uuid\n)\nRETURNS boolean\nLANGUAGE sql\nSTABLE\nSECURITY DEFINER\n${Oe}\nAS $fn$\n SELECT EXISTS (\n SELECT 1\n FROM groups g\n WHERE g.id = p_group\n AND g.tenant_id = p_tenant\n AND (\n (g.org_unit_id IS NULL AND app_rls_can_read_tenant(p_tenant))\n OR (\n g.org_unit_id IS NOT NULL\n AND app_rls_can_read_org_unit(p_tenant, g.org_unit_id)\n )\n )\n )\n$fn$;`,`CREATE OR REPLACE FUNCTION app_rls_can_write_group(\n p_tenant uuid,\n p_group uuid\n)\nRETURNS boolean\nLANGUAGE sql\nSTABLE\nSECURITY DEFINER\n${Oe}\nAS $fn$\n SELECT EXISTS (\n SELECT 1\n FROM groups g\n WHERE g.id = p_group\n AND g.tenant_id = p_tenant\n AND (\n (g.org_unit_id IS NULL AND app_rls_can_write_tenant(p_tenant))\n OR (\n g.org_unit_id IS NOT NULL\n AND app_rls_can_write_org_unit(p_tenant, g.org_unit_id)\n )\n )\n )\n$fn$;`,`CREATE OR REPLACE FUNCTION app_rls_can_read_resource(\n p_tenant uuid,\n p_resource uuid\n)\nRETURNS boolean\nLANGUAGE sql\nSTABLE\nSECURITY DEFINER\n${Oe}\nAS $fn$\n SELECT EXISTS (\n SELECT 1\n FROM protected_resources r\n WHERE r.id = p_resource\n AND r.tenant_id = p_tenant\n AND (\n r.owner_principal_id = app_rls_principal_id()\n OR app_rls_is_org_unit_admin(p_tenant, r.org_unit_id)\n OR (\n r.visibility = 'tenant'\n AND app_rls_can_read_tenant(p_tenant)\n )\n OR (\n r.visibility IN ('org_unit', 'org_subtree')\n AND app_rls_can_read_org_unit(p_tenant, r.org_unit_id)\n )\n OR EXISTS (\n SELECT 1\n FROM resource_grants g\n WHERE g.resource_id = r.id\n AND g.principal_id = app_rls_principal_id()\n AND g.permission_key IN (\n 'resource.read',\n 'namespace.read',\n 'namespace.write',\n 'namespace.admin'\n )\n AND (g.starts_at IS NULL OR g.starts_at <= now())\n AND (g.expires_at IS NULL OR g.expires_at >= now())\n )\n )\n )\n$fn$;`,`CREATE OR REPLACE FUNCTION app_rls_can_write_resource(\n p_tenant uuid,\n p_resource uuid\n)\nRETURNS boolean\nLANGUAGE sql\nSTABLE\nSECURITY DEFINER\n${Oe}\nAS $fn$\n SELECT EXISTS (\n SELECT 1\n FROM protected_resources r\n WHERE r.id = p_resource\n AND r.tenant_id = p_tenant\n AND (\n app_rls_is_org_unit_admin(p_tenant, r.org_unit_id)\n OR app_rls_can_write_org_unit(p_tenant, r.org_unit_id)\n )\n )\n$fn$;`,`CREATE OR REPLACE FUNCTION app_rls_is_role_admin(p_role uuid)\nRETURNS boolean\nLANGUAGE sql\nSTABLE\nSECURITY DEFINER\n${Oe}\nAS $fn$\n SELECT EXISTS (\n SELECT 1\n FROM roles r\n WHERE r.id = p_role\n AND (\n (r.tenant_id IS NULL AND app_rls_is_admin())\n OR (\n r.tenant_id IS NOT NULL\n AND app_rls_is_tenant_admin(r.tenant_id)\n )\n )\n )\n$fn$;`,`CREATE OR REPLACE FUNCTION app_rls_can_read_credential_scope(\n p_tenant uuid,\n p_org_unit uuid\n)\nRETURNS boolean\nLANGUAGE sql\nSTABLE\nSECURITY DEFINER\n${Oe}\nAS $fn$\n SELECT CASE\n WHEN p_org_unit IS NULL THEN app_rls_can_read_tenant(p_tenant)\n ELSE app_rls_can_read_org_unit(p_tenant, p_org_unit)\n END\n$fn$;`,`CREATE OR REPLACE FUNCTION app_rls_can_write_credential_scope(\n p_tenant uuid,\n p_org_unit uuid\n)\nRETURNS boolean\nLANGUAGE sql\nSTABLE\nSECURITY DEFINER\n${Oe}\nAS $fn$\n SELECT CASE\n WHEN p_org_unit IS NULL THEN app_rls_can_write_tenant(p_tenant)\n ELSE app_rls_can_write_org_unit(p_tenant, p_org_unit)\n END\n$fn$;`],Te="app_rls_is_admin()",Ie="app_rls_is_tenant_admin(tenant_id)",Ce="app_rls_can_write_org_unit(tenant_id, org_unit_id)",Ue="app_rls_can_read_credential_scope(tenant_id, org_unit_id)",Ne="app_rls_can_write_credential_scope(tenant_id, org_unit_id)",Fe=[{table:"tenants",select:"app_rls_is_tenant_member(id) OR app_rls_can_read_tenant(id)",insert:Te,update:"app_rls_is_tenant_admin(id)",delete:"app_rls_is_tenant_admin(id)"},{table:"org_units",select:"app_rls_can_read_org_unit(tenant_id, id) OR (parent_id IS NOT NULL AND app_rls_can_write_org_unit(tenant_id, parent_id))",insert:"app_rls_can_write_tenant(tenant_id) OR (parent_id IS NOT NULL AND app_rls_can_write_org_unit(tenant_id, parent_id))",update:"app_rls_can_write_org_unit(tenant_id, id) OR (parent_id IS NOT NULL AND app_rls_can_write_org_unit(tenant_id, parent_id))",delete:"app_rls_can_write_org_unit(tenant_id, id) OR (parent_id IS NOT NULL AND app_rls_can_write_org_unit(tenant_id, parent_id))"},{table:"org_unit_closure",select:"app_rls_can_read_org_unit(tenant_id, descendant_org_unit_id)",insert:"app_rls_can_write_org_unit(tenant_id, descendant_org_unit_id)",update:"app_rls_can_write_org_unit(tenant_id, descendant_org_unit_id)",delete:"app_rls_can_write_org_unit(tenant_id, descendant_org_unit_id)"},{table:"users",select:"id::text = app_rls_subject_id() OR app_rls_can_admin_user(id)",insert:Te,update:"id::text = app_rls_subject_id() OR app_rls_can_admin_user(id)",delete:"app_rls_can_admin_user(id)"},{table:"groups",select:"app_rls_can_read_group(tenant_id, id)",insert:"app_rls_can_write_tenant(tenant_id) OR (org_unit_id IS NOT NULL AND app_rls_can_write_org_unit(tenant_id, org_unit_id))",update:"app_rls_can_write_group(tenant_id, id)",delete:"app_rls_can_write_group(tenant_id, id)"},{table:"principals",select:"id = app_rls_principal_id() OR (kind = 'user' AND subject_id = app_rls_subject_id()) OR app_rls_is_tenant_admin(tenant_id)",insert:Ie,update:Ie,delete:Ie},{table:"tenant_memberships",select:"user_id::text = app_rls_subject_id() OR app_rls_can_read_tenant(tenant_id)",insert:Ie,update:Ie,delete:Ie},{table:"org_unit_memberships",select:"user_id::text = app_rls_subject_id() OR app_rls_org_unit_permission(tenant_id, org_unit_id, 'namespace.admin') OR app_rls_org_unit_permission(tenant_id, org_unit_id, 'namespace.write') OR app_rls_org_unit_permission(tenant_id, org_unit_id, 'namespace.read')",insert:Ce,update:Ce,delete:Ce},{table:"group_memberships",select:"app_rls_can_read_group(tenant_id, group_id)",insert:"app_rls_can_write_group(tenant_id, group_id)",update:"app_rls_can_write_group(tenant_id, group_id)",delete:"app_rls_can_write_group(tenant_id, group_id)"},{table:"permissions",select:Te,insert:Te,update:Te,delete:Te},{table:"roles",select:"(tenant_id IS NOT NULL AND app_rls_is_tenant_admin(tenant_id)) OR (tenant_id IS NULL AND app_rls_is_admin())",insert:"(tenant_id IS NOT NULL AND app_rls_is_tenant_admin(tenant_id)) OR (tenant_id IS NULL AND app_rls_is_admin())",update:"(tenant_id IS NOT NULL AND app_rls_is_tenant_admin(tenant_id)) OR (tenant_id IS NULL AND app_rls_is_admin())",delete:"(tenant_id IS NOT NULL AND app_rls_is_tenant_admin(tenant_id)) OR (tenant_id IS NULL AND app_rls_is_admin())"},{table:"role_permissions",select:"app_rls_is_role_admin(role_id)",insert:"app_rls_is_role_admin(role_id)",update:"app_rls_is_role_admin(role_id)",delete:"app_rls_is_role_admin(role_id)"},{table:"role_assignments",select:"app_rls_is_scope_admin(tenant_id, scope_kind, scope_id)",insert:"app_rls_is_scope_admin(tenant_id, scope_kind, scope_id)",update:"app_rls_is_scope_admin(tenant_id, scope_kind, scope_id)",delete:"app_rls_is_scope_admin(tenant_id, scope_kind, scope_id)"},{table:"inheritance_blocks",select:"app_rls_is_org_unit_admin(tenant_id, org_unit_id)",insert:"app_rls_is_org_unit_admin(tenant_id, org_unit_id)",update:"app_rls_is_org_unit_admin(tenant_id, org_unit_id)",delete:"app_rls_is_org_unit_admin(tenant_id, org_unit_id)"},{table:"protected_resources",select:"app_rls_can_read_resource(tenant_id, id)",insert:"app_rls_can_write_tenant(tenant_id) OR (org_unit_id IS NOT NULL AND app_rls_can_write_org_unit(tenant_id, org_unit_id))",update:"app_rls_can_write_resource(tenant_id, id)",delete:"app_rls_can_write_resource(tenant_id, id)"},{table:"resource_grants",select:"principal_id = app_rls_principal_id() OR app_rls_can_read_resource(tenant_id, resource_id)",insert:"app_rls_can_write_resource(tenant_id, resource_id)",update:"app_rls_can_write_resource(tenant_id, resource_id)",delete:"app_rls_can_write_resource(tenant_id, resource_id)"},{table:"effective_permissions",select:"principal_id = app_rls_principal_id() OR app_rls_is_scope_admin(tenant_id, scope_kind, scope_id)",insert:"app_rls_is_scope_admin(tenant_id, scope_kind, scope_id)",update:"app_rls_is_scope_admin(tenant_id, scope_kind, scope_id)",delete:"app_rls_is_scope_admin(tenant_id, scope_kind, scope_id)"},{table:"storage_bindings",select:Ie,insert:Ie,update:Ie,delete:Ie},{table:"tenant_profiles",select:"app_rls_is_tenant_member(tenant_id) OR app_rls_can_read_tenant(tenant_id)",insert:Ie,update:Ie,delete:Ie},{table:"org_unit_profiles",select:"app_rls_can_read_org_unit(app_rls_org_unit_tenant(org_unit_id), org_unit_id)",insert:"app_rls_can_write_org_unit(app_rls_org_unit_tenant(org_unit_id), org_unit_id)",update:"app_rls_can_write_org_unit(app_rls_org_unit_tenant(org_unit_id), org_unit_id)",delete:"app_rls_can_write_org_unit(app_rls_org_unit_tenant(org_unit_id), org_unit_id)"},{table:"credentials",select:"owner_principal_id = app_rls_principal_id() OR "+Ue,insert:Ne,update:Ne,delete:Ne},{table:"secrets",select:"owner_principal_id = app_rls_principal_id() OR "+Ue+" OR (tenant_id IS NULL AND app_rls_is_admin())",insert:Ne+" OR (tenant_id IS NULL AND app_rls_is_admin())",update:Ne+" OR (tenant_id IS NULL AND app_rls_is_admin())",delete:Ne+" OR (tenant_id IS NULL AND app_rls_is_admin())"}];function Pe(e=Fe){const t=[];for(const n of e){!1!==n.enable&&t.push(`ALTER TABLE ${n.table} ENABLE ROW LEVEL SECURITY;`,`ALTER TABLE ${n.table} FORCE ROW LEVEL SECURITY;`);const e=n.table.replace(/[^A-Za-z0-9_]/g,"_"),r=[["select",n.select,(e,t)=>`CREATE POLICY ${e} ON ${n.table} FOR SELECT USING (${t});`],["insert",n.insert,(e,t)=>`CREATE POLICY ${e} ON ${n.table} FOR INSERT WITH CHECK (${t});`],["update",n.update,(e,t)=>`CREATE POLICY ${e} ON ${n.table} FOR UPDATE USING (${t}) WITH CHECK (${t});`],["delete",n.delete,(e,t)=>`CREATE POLICY ${e} ON ${n.table} FOR DELETE USING (${t});`]];for(const[i,a,o]of r){if(!a)continue;const r=`${e}_${i}_policy`;t.push(`DROP POLICY IF EXISTS ${r} ON ${n.table};`,o(r,a))}}return t}function Le(){return[...we,...Pe()]}function De(e=Fe){return e.map(e=>e.table)}const ke=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;class je extends r.InternalError{constructor(e){super(e),this.name="RlsFunctionOwnerError"}}function $e(e,t){if(t&&void 0!==t.local&&!0!==t.local)throw new r.ValidationError(e+" only supports transaction-local binding: session-wide binding is not allowed")}function xe(e){if(!e||!ke.test(e))throw new r.ValidationError("Invalid RLS principal id")}class Be extends i.ClientBasedService{constructor(){super()}async initialize(...e){const t=e[0];if(!t||"function"!=typeof t.query)throw new r.ValidationError("RlsBootstrapService requires a query executor as its first argument");return{config:e[1]??{},client:t}}async apply(...e){const{log:t}=(await this.logCtx(e,"apply",!0)).for(this.apply),n=this.statements();if(!n.length)throw new r.InternalError("No RLS statements to apply");await this.assertFunctionOwnerPrivileges(...e),t.verbose(`Applying ${n.length} RLS statements`);for(const e of n)await this.client.query(e);return t.info(`Applied namespace RLS template (${n.length} statements)`),{applied:n.length}}async assertFunctionOwnerPrivileges(...e){const{log:t}=(await this.logCtx(e,"assertFunctionOwnerPrivileges",!0)).for(this.assertFunctionOwnerPrivileges),n=await this.client.query(be),r=n.rows?.[0]??void 0,i=r?.rolname?JSON.stringify(r.rolname):"current_user";if("boolean"!=typeof r?.rolsuper||"boolean"!=typeof r?.rolbypassrls)throw new je(`Cannot apply the namespace RLS template: could not determine the privileges of ${i}. The SECURITY DEFINER helper functions require a SUPERUSER or BYPASSRLS owner; refusing to apply policies that would recurse under FORCE ROW LEVEL SECURITY.`);if(!r.rolsuper&&!r.rolbypassrls)throw new je(`Cannot apply the namespace RLS template as ${i}: the executor role is neither SUPERUSER nor BYPASSRLS. The SECURITY DEFINER helper functions must be owned by a role that bypasses RLS, otherwise every policy evaluation recurses under FORCE ROW LEVEL SECURITY and fails. Connect as the database owner/BYPASSRLS migration role, or create the helper functions with a dedicated BYPASSRLS owner.`);t.verbose("Verified RLS function owner privileges for "+i)}statements(){const e=this._config??{};return e.statements?[...e.statements]:e.policies?[...we,...Pe(e.policies)]:Le()}async setPrincipal(e,t={},...n){const{log:r}=(await this.logCtx(n,"setPrincipal",!0)).for(this.setPrincipal);xe(e),$e("setPrincipal",t),await this.client.query("SELECT set_config($1, $2, true)",[ve.Principal,e]),r.verbose("Bound RLS principal (transaction-local)")}async setTenant(e,t={},...n){const{log:r}=(await this.logCtx(n,"setTenant",!0)).for(this.setTenant);xe(e),$e("setTenant",t),await this.client.query("SELECT set_config($1, $2, true)",[ve.Tenant,e]),r.verbose("Bound RLS tenant (transaction-local)")}async clearPrincipal(e={},...t){const{log:n}=(await this.logCtx(t,"clearPrincipal",!0)).for(this.clearPrincipal);$e("clearPrincipal",e),await this.client.query("SELECT set_config($1, $2, true)",[ve.Principal,""]),n.verbose("Cleared RLS principal (transaction-local)")}async currentPrincipal(...e){const{log:t}=(await this.logCtx(e,"currentPrincipal",!0)).for(this.currentPrincipal);t.verbose("Reading current RLS principal");const n=await this.client.query("SELECT app_rls_principal_id() AS principal_id");return(n.rows?.[0]??{}).principal_id??null}}const Ke=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function qe(e,t){try{return e.getOrUndefined(t)}catch{return}}function Ge(e={}){const t=e.principalContextKey??"principalId",n=e.authenticatedContextKey??"user",r=e.warn??(e=>{});return e=>{if(!e)return;const i=qe(e,t),a="string"==typeof i?i.trim():"";if(a&&Ke.test(a))return{[ve.Principal]:a};qe(e,n)&&r(`Authenticated context has no resolvable namespace principal; ${ve.Principal} will not be bound and RLS will deny`)}}const Me="featureFlag",Ye="feature-flags:model",ze="feature-flags:auth",Ve="feature-flags:block",We="feature-flags:render-if",He="feature-flags:hide-on";function Xe(e){const t=e.trim();if(!t)return t;if(/^[a-z][a-zA-Z0-9]*$/.test(t))return t;const n=t.toLowerCase().replace(/[_\-\s]+/g," ").split(" ").filter(Boolean);if(0===n.length)return t;const[r,...i]=n;return[r,...i.map(e=>e?e.charAt(0).toUpperCase()+e.slice(1):e)].join("").replace(/[^a-zA-Z0-9]/g,"")}function Je(e){if("string"!=typeof e)return e;const t=e.trim();if("true"===t)return!0;if("false"===t)return!1;if(/^-?\d+(\.\d+)?$/.test(t))return Number(t);if(t.startsWith("{")&&t.endsWith("}")||t.startsWith("[")&&t.endsWith("]"))try{return JSON.parse(t)}catch{return e}return e}function Ze(e){if(void 0===e)return;if(!0===e)return!0;if(!e||"object"!=typeof e||Array.isArray(e))return Je(e);const t={};return Object.entries(e).forEach(([e,n])=>{const r=(e=>{if(!e)return e;if(/^[a-z][a-zA-Z0-9]*$/.test(e))return e;const t=e.replace(/[\s-]+/g,"_").split("_").filter(Boolean);if(0===t.length)return e;const[n,...r]=t;return[n.toLowerCase(),...r.map(e=>e.charAt(0).toUpperCase()+e.slice(1).toLowerCase())].join("")})(e);void 0!==n&&(t[r]=Ze(n)??n)}),t}function Qe(e){return!e||"object"!=typeof e||Array.isArray(e)?{}:Object.entries(e).reduce((e,[t,n])=>{const r=Xe(t),i=Ze(n);return void 0!==i&&(e[r]=i),e},{})}function et(e){return!0===e||!!e&&"object"==typeof e}function tt(e,t){return et(e?.[Xe(t)])}function nt(e,t="any"){return{features:[...new Set(e.map(Xe).filter(Boolean))],match:t}}function rt(e,t){if(!e||0===e.features.length)return!0;const n=e.features.filter(e=>tt(t,e));return"all"===e.match?n.length===e.features.length:n.length>0}function it(e,t){return!(!e||0===e.features.length)&&e.features.some(e=>tt(t,e))}function at(e,t){return s.Metadata.get(e,t)}function ot(e){return e.trim().toLowerCase()}function st(e){return e.trim()}const dt=n.LoggedEnvironment.accumulate({[Me]:{}});async function ct(e=dt){return Qe(e.featureFlag)}async function pt(e,t=dt){return(await ct(t))[Xe(e)]}e.FeatureFlag=class extends i.BaseModel{constructor(e){super(e),this.enabled=!0}},o.__decorate([i.pk(),i.uuid(),o.__metadata("design:type",String)],e.FeatureFlag.prototype,"id",void 0),o.__decorate([i.unique(),a.required(),i.column(),o.__metadata("design:type",String)],e.FeatureFlag.prototype,"key",void 0),o.__decorate([i.column(),o.__metadata("design:type",Boolean)],e.FeatureFlag.prototype,"enabled",void 0),o.__decorate([i.column(),o.__metadata("design:type",String)],e.FeatureFlag.prototype,"description",void 0),o.__decorate([i.column(),o.__metadata("design:type",String)],e.FeatureFlag.prototype,"scope",void 0),o.__decorate([i.column(),o.__metadata("design:type",Object)],e.FeatureFlag.prototype,"metadata",void 0),o.__decorate([i.column(),o.__metadata("design:type",Object)],e.FeatureFlag.prototype,"config",void 0),o.__decorate([i.column(),o.__metadata("design:type",String)],e.FeatureFlag.prototype,"createdBy",void 0),o.__decorate([i.column(),o.__metadata("design:type",String)],e.FeatureFlag.prototype,"updatedBy",void 0),o.__decorate([i.createdAt(),o.__metadata("design:type",Date)],e.FeatureFlag.prototype,"createdAt",void 0),o.__decorate([i.updatedAt(),o.__metadata("design:type",Date)],e.FeatureFlag.prototype,"updatedAt",void 0),e.FeatureFlag=o.__decorate([s.description("Persisted feature flag definition used for runtime evaluation"),i.table("feature_flags"),a.model(),o.__metadata("design:paramtypes",[Object])],e.FeatureFlag),e.FeatureFlagAccess=class extends i.BaseModel{constructor(e){super(e),this.enabled=!0}},o.__decorate([i.pk(),i.uuid(),o.__metadata("design:type",String)],e.FeatureFlagAccess.prototype,"id",void 0),o.__decorate([a.required(),i.column(),o.__metadata("design:type",String)],e.FeatureFlagAccess.prototype,"featureKey",void 0),o.__decorate([a.required(),i.column(),o.__metadata("design:type",String)],e.FeatureFlagAccess.prototype,"subjectType",void 0),o.__decorate([a.required(),i.column(),o.__metadata("design:type",String)],e.FeatureFlagAccess.prototype,"subjectKey",void 0),o.__decorate([i.column(),o.__metadata("design:type",Boolean)],e.FeatureFlagAccess.prototype,"enabled",void 0),o.__decorate([i.column(),o.__metadata("design:type",Object)],e.FeatureFlagAccess.prototype,"metadata",void 0),o.__decorate([i.column(),o.__metadata("design:type",String)],e.FeatureFlagAccess.prototype,"createdBy",void 0),o.__decorate([i.column(),o.__metadata("design:type",String)],e.FeatureFlagAccess.prototype,"updatedBy",void 0),o.__decorate([i.createdAt(),o.__metadata("design:type",Date)],e.FeatureFlagAccess.prototype,"createdAt",void 0),o.__decorate([i.updatedAt(),o.__metadata("design:type",Date)],e.FeatureFlagAccess.prototype,"updatedAt",void 0),e.FeatureFlagAccess=o.__decorate([s.description("Persisted feature flag access rule for a subject"),i.table("feature_flag_access"),a.model(),o.__metadata("design:paramtypes",[Object])],e.FeatureFlagAccess);class _t{async readOne(e,t){return(await this.read(t))[Xe(e)]}}class lt extends _t{async read(e={}){return ct(e.source??{[Me]:{}})}}var ut;function gt(e){const t=Xe(e);return t?t.charAt(0).toUpperCase()+t.slice(1):t}function yt(e,t){const n=gt(e);return void 0===t?"engine"+n:`engine${n}${gt(t)}`}function mt(e){const t={};for(const n of e.engines??[]){t[yt(n.engineId)]=!0;for(const e of n.capabilities??[])t[yt(n.engineId,e.feature)]="SUPPORTED"===e.verdict}return t}e.FeatureFlagService=class extends i.ModelService{constructor(){super(e.FeatureFlag),this.reader=new lt,this.cachedRegistry={}}async initialize(...e){const t=e[0]??{};t.repository&&(this._repository=t.repository),this.reader=t.reader?"function"==typeof t.reader?new t.reader:t.reader:new lt;const n={...t.readerConfig??{},source:t.readerConfig?.source??dt};return this.cachedRegistry=await this.refreshCachedRegistry(n,...e),{config:{...t,reader:this.reader,readerConfig:n},client:this.reader}}cloneRegistry(e){return Object.entries(e).reduce((e,[t,n])=>(e[t]=n&&"object"==typeof n&&!Array.isArray(n)?{...n}:n,e),{})}async refreshCachedRegistry(e={},...t){const n=await this.reader.read({...e,source:e.source??dt});let r=[];try{r=await this.repo.select().execute(...t)}catch{r=[]}const i=this.cloneRegistry(n);for(const e of r)i[e.key]=!!e.enabled&&(e.config??!0);return i}setCachedFlag(e){this.cachedRegistry[e.key]=!!e.enabled&&(e.config??!0)}getAccessRepository(){return this.accessRepository??i.Repository.forModel(e.FeatureFlagAccess)}assertInitialized(){this.reader}normalizeFeatureAccessInput(e){return{...e,featureKey:Xe(e.featureKey),subjectType:ot(e.subjectType),subjectKey:st(e.subjectKey)}}buildAccessCondition(e){let t=i.Condition.attr("subjectType").eq(ot(e.subjectType));return t=t.and(i.Condition.attr("subjectKey").eq(st(e.subjectKey))),void 0!==e.enabled&&(t=t.and(i.Condition.attr("enabled").eq(e.enabled))),e.featureKeys&&e.featureKeys.length>0&&(t=t.and(i.Condition.attr("featureKey").in(e.featureKeys.map(Xe)))),t}async create(e,...t){e.key=Xe(e.key),e.enabled??=!0;const n=await super.create(e,...t);return this.setCachedFlag(n),n}async update(e,...t){e.key=Xe(e.key),e.enabled??=!0;const n=await super.update(e,...t);return this.setCachedFlag(n),n}async findOneBy(e,t,...n){const r="key"===e&&"string"==typeof t?Xe(t):t;return this.repo.findOneBy(e,r,...n)}async readAll(e,...t){const n=await this.repo.readAll(e,...t);for(const e of n)this.setCachedFlag(e);return n}async listEnabled(...e){return this.repo.select().where(i.Condition.attr("enabled").eq(!0)).execute(...e)}async grantFeatureAccess(t,...n){const r=this.normalizeFeatureAccessInput(t),i=await this.findFeatureAccess(r,...n).catch(()=>{});return i?this.getAccessRepository().update(Object.assign(i,r),...n):this.getAccessRepository().create(new e.FeatureFlagAccess(r),...n)}async revokeFeatureAccess(e,...t){const n=await this.findFeatureAccess(e,...t).catch(()=>{});if(n)return this.getAccessRepository().delete(n.id,...t)}async findFeatureAccess(e,...t){const n=this.buildAccessCondition(e),i=(await this.getAccessRepository().select().where(n).execute(...t))[0];if(!i)throw new r.NotFoundError(`Feature access for ${ot(e.subjectType)}:${st(e.subjectKey)} not found`);return i}async listFeatureAccess(e,...t){return this.getAccessRepository().select().where(this.buildAccessCondition(e)).execute(...t)}async resolveFeatureFlagsForSubject(e,...t){this.assertInitialized();const n=await this.listFeatureAccess({...e,enabled:!0},...t),r=[...new Set(n.map(e=>e.featureKey))];if(0===r.length)return{};const a=i.Condition.attr("enabled").eq(!0).and(i.Condition.attr("key").in(r.map(Xe)));return(await this.repo.select().where(a).execute(...t)).reduce((e,t)=>(e[t.key]=t.config??!0,e),{})}async isEnabledForSubject(e,t,...n){return tt(await this.resolveFeatureFlagsForSubject(t,...n),e)}isEnabled(e){this.assertInitialized();const t=Xe(e);return tt(this.cachedRegistry,t)}async resolveFeatureFlags(){return this.assertInitialized(),this.cloneRegistry(this.cachedRegistry)}async syncFromEnvironment(t={},...n){this.assertInitialized();const r=await this.reader.read({...t,source:t.source??dt}),i=[];for(const[t,a]of Object.entries(r)){const r=a&&"object"==typeof a&&!Array.isArray(a)?a:{enabled:!!a},{enabled:o,...s}=r,d=Xe(t),c=await this.findOneBy("key",d,...n).catch(()=>{}),p=c?Object.assign(c,{enabled:et(a),description:s.description??c.description,scope:s.scope??c.scope,metadata:s.metadata??c.metadata,config:{...s,enabled:et(a)}}):new e.FeatureFlag({key:d,enabled:et(a),description:s.description,scope:s.scope,metadata:s.metadata,config:{...s,enabled:et(a)}});i.push(c?await this.update(p,...n):await this.create(p,...n))}return this.cachedRegistry=await this.refreshCachedRegistry({...t,source:t.source??dt},...n),i}},o.__decorate([i.repository(e.FeatureFlagAccess),o.__metadata("design:type",Object)],e.FeatureFlagService.prototype,"accessRepository",void 0),e.FeatureFlagService=o.__decorate([i.service(e.FeatureFlag),o.__metadata("design:paramtypes",[])],e.FeatureFlagService);class ht extends _t{constructor(e){super(),this.registry=e}async read(e){return{...this.registry}}}function St(e,t){return void 0===t?e:s.Metadata.key(e,t.toString())}function ft(e,t,n="any"){const r=nt(t,n);return(t,n,i)=>{if(void 0===n)return s.metadata(e,r)(t);const a=St(e,n);return i?s.methodMetadata(a,r)(t,n,i):s.propMetadata(a,r)(t,n)}}function At(e,t,n){return at(e,St(t,n))}e.EngineCapabilityFeatureFlagService=ut=class extends e.FeatureFlagService{constructor(){const e=super();if(!(this instanceof ut))return Object.assign(Object.create(ut.prototype),e,{capabilityRegistry:{}});this.capabilityRegistry={}}async initialize(...e){const t=e[0]??{};t.repository&&(this._repository=t.repository),this.capabilityRegistry=mt(t.manifest??{engines:[]});const n=new ht(this.capabilityRegistry);return{config:{...t,reader:n,readerConfig:{...t.readerConfig??{},source:{}}},client:n}}isEngineEnabled(e){return tt(this.capabilityRegistry,yt(e))}isEngineFeatureEnabled(e,t){return tt(this.capabilityRegistry,yt(e,t))}isEnabled(e){return tt(this.capabilityRegistry,e)}async resolveFeatureFlags(){return{...this.capabilityRegistry}}async resolveFeatureFlagsForSubject(e,...t){return{...this.capabilityRegistry}}async isEnabledForSubject(e,t,...n){return tt(this.capabilityRegistry,e)}async listEnabled(...t){return Object.entries(this.capabilityRegistry).filter(([,e])=>et(e)).map(([t])=>new e.FeatureFlag({key:t,enabled:!0,config:{enabled:!0}}))}async syncFromEnvironment(...e){throw new r.InternalError("Engine capability feature flags are derived from the served engine manifest and are never synced from the environment")}},e.EngineCapabilityFeatureFlagService=ut=o.__decorate([i.service(),o.__metadata("design:paramtypes",[])],e.EngineCapabilityFeatureFlagService),Object.defineProperty(e,"AuthorizationError",{enumerable:!0,get:()=>i.AuthorizationError}),Object.defineProperty(e,"transactional",{enumerable:!0,get:()=>i.transactional}),e.AuthorizationModel=G,e.AuthzService=class{constructor(e={}){this.dataSources=e}async canAccess(t,...n){const r=t.at??new Date;if(t.scopeKind&&t.scopeId)return D(await(this.dataSources.listEffectivePermissionsForScope?.(t.tenantId,t.scopeKind,t.scopeId))).some(e=>e.permissionKey===t.permissionKey&&x(r,e.startsAt,e.expiresAt));if(!t.resourceProtectedId)return!1;const i=await(this.dataSources.loadResource?.(t.tenantId,t.resourceProtectedId));if(!i)return!1;if(i.tenantId!==t.tenantId)return!1;if(i.ownerPrincipalId===t.principalId)return!0;if(D(await(this.dataSources.listResourceGrants?.(t.tenantId,t.resourceProtectedId))).filter(e=>e.principalId===t.principalId&&e.permissionKey===t.permissionKey&&x(r,e.startsAt,e.expiresAt)).length>0)return!0;const a=i.visibility;return a!==e.ResourceVisibility.Private&&a!==e.ResourceVisibility.ResourceAcl&&(a===e.ResourceVisibility.OrgUnit||a===e.ResourceVisibility.OrgSubtree?D(await(this.dataSources.listEffectivePermissionsForScope?.(t.tenantId,e.ScopeKind.OrgUnit,i.orgUnitId))).some(e=>e.permissionKey===t.permissionKey&&x(r,e.startsAt,e.expiresAt)):a===e.ResourceVisibility.Tenant&&D(await(this.dataSources.listEffectivePermissionsForScope?.(t.tenantId,e.ScopeKind.Tenant,t.tenantId))).some(e=>e.permissionKey===t.permissionKey&&x(r,e.startsAt,e.expiresAt)))}async requireAccess(t,...n){if(!await this.canAccess(t,...n))throw new i.AuthorizationError(`Access denied for ${t.permissionKey} on ${t.resourceProtectedId??(r=t.scopeKind??e.ScopeKind.Resource,a=t.scopeId??"",`${r}:${a}`)}`);var r,a}async buildAccessContext(e,t,...n){return B({tenantId:e,principalId:t,permissions:D(await(this.dataSources.listEffectivePermissions?.(e,t))),grants:D(await(this.dataSources.listPrincipalGrants?.(e,t)))})}async buildArangoContext(e,t,n,...r){const i=await this.buildAccessContext(e,t,...r),a=i.allowedOrgUnitIdsByPermission[n]??[],o=i.resourceGrants.filter(e=>e.permissionKey===n).map(e=>e.resourceId);return F({tenantId:e,principalId:t,permissionKey:n,allowedOrgUnitIds:a,allowedResourceIds:o})}async buildQdrantFilter(e,t,n,...r){const i=await this.buildAccessContext(e,t,...r);return P({tenantId:e,principalId:t,allowedOrgUnitIds:i.allowedOrgUnitIdsByPermission[n]??[],allowedResourceIds:i.resourceGrants.filter(e=>e.permissionKey===n).map(e=>e.resourceId)})}},e.BaseModelService=K,e.BootstrapService=ce,e.COMMIT="004735e",e.CredentialProviderOptions=T,e.CredentialService=class extends K{constructor(t={}){super(e.Credential),this.secretServiceInstance=t.secretService,t.repository&&(this._repository=t.repository)}async secretService(){let e=this.secretServiceInstance;if(!e){const t=new Ee;await t.boot(),this.secretServiceInstance=t,e=t}if("model"!==e.provider)throw new r.ValidationError("CredentialService stores user/runtime credentials in the model-backed secret service");return e}async createCredential(t,...n){const{log:i,ctxArgs:a}=(await this.logCtx(n,"createCredential",!0)).for(this.createCredential),o=t.name?.trim();if(!o||o.length>255||!/^[A-Za-z0-9][A-Za-z0-9._-]*$/.test(o))throw new r.ValidationError("Invalid credential name: "+JSON.stringify(t.name));i.verbose("Creating credential "+o);const s=await this.secretService(),c=he("credential-"+d.randomUUID()),p=await s.store(c,t.secret,{tenantId:t.tenantId,orgUnitId:t.orgUnitId,ownerPrincipalId:t.ownerPrincipalId},...a);try{return await this.create({tenant:t.tenantId,orgUnit:t.orgUnitId,owner:t.ownerPrincipalId,name:o,credentialType:t.credentialType,secretName:p.name,provider:e.CredentialProvider.Model,description:t.description,metadata:t.metadata,expiresAt:t.expiresAt,enabled:!0},...a)}catch(e){throw await s.delete(c,{force:!0},...a).catch(()=>{}),e}}async rotateCredential(e,...t){const{log:n,ctxArgs:r}=(await this.logCtx(t,"rotateCredential",!0)).for(this.rotateCredential);n.verbose("Rotating credential "+e.credentialId);const i=await this.repo.read(e.credentialId,...r),a=await this.secretService();return a.rotate?await a.rotate(i.secretName,e.secret,{newVersion:e.version},...r):await a.store(i.secretName,e.secret,{version:e.version,tenantId:q(i.tenant),orgUnitId:i.orgUnit?q(i.orgUnit):void 0,ownerPrincipalId:i.owner?q(i.owner):void 0},...r),i.updatedAt=new Date,this.repo.update(i,...r)}async getCredential(e,...t){const{log:n,ctx:r,ctxArgs:i}=(await this.logCtx(t,"getCredential",!0)).for(this.getCredential);return n.verbose("Reading credential "+e),this.withinTransaction(r,()=>this.repo.read(e,...i))}async listCredentials(...e){const{log:t,ctxArgs:n}=(await this.logCtx(e,"listCredentials",!0)).for(this.listCredentials);return t.verbose("Listing credentials"),(await this.repo.select().execute(...n)).map(e=>this.toSummary(e))}async markCredentialUsed(e,...t){const{log:n,ctx:r,ctxArgs:i}=(await this.logCtx(t,"markCredentialUsed",!0)).for(this.markCredentialUsed);return n.verbose(`Marking credential ${e} as used`),this.withinTransaction(r,async()=>{const t=await this.repo.read(e,...i);return t.lastUsedAt=new Date,this.repo.update(t,...i)})}async deleteCredential(e,...t){const{log:n,ctxArgs:r}=(await this.logCtx(t,"deleteCredential",!0)).for(this.deleteCredential);n.verbose("Deleting credential "+e);const i=await this.repo.read(e,...r);await this.repo.delete(e,...r);const a=await this.secretService();await a.delete(i.secretName,{force:!0},...r)}async withinTransaction(e,t){const n=this.repo?.adapter;if(!n||"function"!=typeof n.transactionLock)return t();const a=e??await this.context("credentialTransaction",{}),o=a.getOrUndefined("transactionLock"),s=o??i.resolveTransactionLock(this.repo);let d;s.depth++,o||(await s.begin(a),a.cache.put("transactionLock",s));try{d=await t()}catch(e){const t=0===s.depth;if(s.depth=0,!t)try{await s.rollback(e,a)}catch(e){}throw e}if(s.depth--,0===s.depth)try{await s.commit(a)}catch(e){throw new r.InternalError("Failed to commit transaction: "+e)}return d}toSummary(e){return{id:e.id,tenantId:q(e.tenant),orgUnitId:e.orgUnit?q(e.orgUnit):void 0,ownerPrincipalId:e.owner?q(e.owner):void 0,name:e.name,credentialType:e.credentialType,provider:e.provider,description:e.description,enabled:e.enabled,metadata:e.metadata,expiresAt:e.expiresAt,lastUsedAt:e.lastUsedAt,createdAt:e.createdAt,updatedAt:e.updatedAt}}},e.EffectivePermissionService=oe,e.EnvironmeFlagReader=lt,e.FEATURE_FLAG_AUTH_KEY=ze,e.FEATURE_FLAG_BLOCK_KEY=Ve,e.FEATURE_FLAG_ENV_PREFIX="FEATURE_FLAG",e.FEATURE_FLAG_ENV_ROOT=Me,e.FEATURE_FLAG_HIDE_KEY=He,e.FEATURE_FLAG_MODEL_KEY=Ye,e.FEATURE_FLAG_RENDER_KEY=We,e.FULL_VERSION="0.11.0-004735e",e.FeatureFlagEnvironment=dt,e.FeatureFlagReader=_t,e.GroupMembershipService=te,e.GroupService=class extends K{constructor(){super(e.Group)}async createGroup(e,t,n,r,...i){return this.create({tenant:e,orgUnit:n,name:t,metadata:r},...i)}async renameGroup(e,t,...n){return this.updateOne(e,{name:t},...n)}async moveGroupToOrgUnit(e,t,...n){return this.updateOne(e,{orgUnit:t},...n)}async listTenantGroups(e,...t){return(await this.listAll(...t)).filter(t=>k(t.tenant,e))}},e.InheritanceBlockService=V,e.IsolationTierOptions=f,e.MembershipStatusOptions=A,e.NAMESPACE_RLS_POLICY_SETS=Fe,e.OrgUnitClosureService=z,e.OrgUnitMembershipService=ee,e.OrgUnitProfileService=Y,e.OrgUnitService=X,e.PACKAGE_NAME="@decaf-ts/integrations",e.PRINCIPAL_UUID_PATTERN=Ke,e.PermissionCategoryOptions=b,e.PermissionService=ne,e.PrincipalKindOptions=E,e.PrincipalService=Z,e.ProtectedResourceService=se,e.REL_CASCADE_DEPENDENT=U,e.REL_CASCADE_INSERT_UPDATE=N,e.REL_NULLIFY=C,e.REL_RESTRICT=I,e.RLS_FUNCTION_OWNER_QUERY=be,e.RLS_FUNCTION_STATEMENTS=we,e.RLS_PERMISSION_KEYS={Read:"namespace.read",Write:"namespace.write",Admin:"namespace.admin"},e.RLS_PROTECTED_TABLES=Re,e.RLS_ROLE_KEYS={Reader:"namespace-reader",Writer:"namespace-writer",Admin:"namespace-admin"},e.RLS_SETTINGS=ve,e.ResourceGrantService=de,e.ResourceLifecycleService=class{async unregisterResource(e,...t){await(new de).deleteAllForResource(e,...t),await(new se).deleteById(e,...t)}async resolveResourceScope(e,...t){const n=await(new se).getById(e,...t);return{tenantId:q(n.tenant),orgUnitId:q(n.orgUnit),visibility:n.visibility,ownerPrincipalId:n.owner?q(n.owner):void 0}}},e.ResourceVisibilityOptions=R,e.RlsBootstrapService=Be,e.RlsFunctionOwnerError=je,e.RoleAssignmentService=ae,e.RolePermissionService=ie,e.RoleService=re,e.ScopeKindOptions=v,e.StorageBindingKindOptions=w,e.StorageBindingService=class extends K{constructor(){super(e.StorageBinding)}async createBinding(e,...t){return this.create({tenant:e.tenantId,storageKind:e.storageKind,bindingKind:e.bindingKind,bindingKey:e.bindingKey,region:e.region,config:e.config},...t)}async listTenantBindings(e,...t){return(await this.listAll(...t)).filter(t=>q(t.tenant)===e)}async getBinding(e,t,...n){return(await this.listTenantBindings(e,...n)).find(e=>e.storageKind===t)}async setBindingConfig(e,t,...n){return this.updateOne(e,{config:t},...n)}async promoteToDedicated(t,n,r,i,...a){return this.updateOne(t,{bindingKind:e.StorageBindingKind.Dedicated,bindingKey:n,region:r,config:i},...a)}async setShared(t,n,r,i,...a){return this.updateOne(t,{bindingKind:e.StorageBindingKind.Shared,bindingKey:n,region:r,config:i},...a)}},e.StorageKindOptions=O,e.SystemManagementService=pe,e.TenantMembershipService=Q,e.TenantProfileService=M,e.TenantService=W,e.UserService=J,e.VERSION="0.11.0",e.asArray=D,e.assertPrincipalId=xe,e.assertRlsTableCoverage=(e=Fe)=>{const t=new Set(De(e)),n=Re.filter(e=>!t.has(e));if(n.length)throw new r.InternalError("RLS template is missing tables: "+n.join(", "))},e.blockFeatureOperations=(...e)=>ft(Ve,e),e.buildAccessContext=B,e.buildArangoContext=F,e.buildQdrantFilter=P,e.engineCapabilityFlagKey=yt,e.engineCapabilityFlagRegistry=mt,e.execWithLogging=async(e,i,a,o=n.LogLevel.info)=>(a.debug("Executing: "+e),new Promise((n,s)=>{const d=t.exec(e,i),c=[],p=[];d.stdout?.on("data",e=>{c.push(e),a[o](e.trim())}),d.stderr?.on("data",e=>{p.push(e),a.debug(e.trim())}),d.on("close",e=>{0===e?(a.silly("Command completed successfully"),n({stdout:c.join("\n"),stderr:p.join("\n")})):(a.critical(`Command failed with code ${e}:\n ${p.join("\n")}`),s(new r.InternalError(`Command failed with code ${e}: ${p.join("\n")}`)))}),d.on("error",e=>{a.critical("Command execution error",e),s(e)})})),e.featureAuth=(...e)=>ft(ze,e),e.featureFlags=(...e)=>ft(Ye,e),e.getFeatureGateMetadata=At,e.hasFeatureFlagInEnvironment=async(e,t=dt)=>!!await pt(e,t),e.hideOnFeature=(...e)=>ft(He,e),e.id=()=>crypto.randomUUID(),e.isFeatureFlagEnabled=et,e.isFeatureFlagEnabledByName=tt,e.isFeatureRuleBlocked=it,e.isFeatureRuleSatisfied=rt,e.isTimeValid=x,e.loadFeatureFlagsFromEnvironment=ct,e.lowerSlug=$,e.namespaceRlsSessionBinding=Ge,e.namespaceRlsTypeORMOptions=(e={})=>({sessionBinding:Ge(e)}),e.normalizeFeatureConfig=Ze,e.normalizeFeatureName=Xe,e.normalizeFeatureRegistry=Qe,e.normalizeFeatureRule=nt,e.normalizeFeatureSubjectKey=st,e.normalizeFeatureSubjectType=ot,e.nowIso=()=>new Date,e.parseRuntimeValue=Je,e.readMetadata=at,e.relationId=q,e.relationMatch=j,e.renderIfFeature=(...e)=>ft(We,e),e.resolveFeatureFlagFromEnvironment=pt,e.resolvePrincipalForSubject=async(e,t,n)=>{if(!e||"function"!=typeof e.query)throw new r.ValidationError("resolvePrincipalForSubject requires a privileged auth-prime/service-role client, not the application session");const i="string"==typeof t?t.trim():"";if(!i)return;if(null!=n&&("string"!=typeof n||!Ke.test(n)))throw new r.ValidationError("resolvePrincipalForSubject tenantId must be a UUID when provided");const a=await e.query("SELECT app_rls_principal_for_subject($1, $2) AS principal_id",[i,n??null]),o=Array.isArray(a)?a:a?.rows,s=Array.isArray(o)?o[0]?.principal_id:void 0;if("string"!=typeof s)return;const d=s.trim();return Ke.test(d)?d:void 0},e.rlsBootstrapStatements=Le,e.rlsPolicyStatements=Pe,e.rlsPolicyTables=De,e.runAsPrincipal=async(e,t,n,r={})=>{xe(t),await e.query("BEGIN");try{await e.query("SELECT set_config($1, $2, true)",[ve.Principal,t]);const i=await n(e);return await e.query(r.commit?"COMMIT":"ROLLBACK"),i}catch(t){try{await e.query("ROLLBACK")}catch{}throw t}},e.sameTenant=k,e.shouldExposeForFeatures=(e,t,n,r)=>rt(At(e,n,r),t),e.shouldHideForFeatures=(e,t,n,r)=>it(At(e,n,r),t)},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("child_process"),require("@decaf-ts/logging"),require("@decaf-ts/db-decorators"),require("@decaf-ts/core"),require("@decaf-ts/decorator-validation"),require("tslib"),require("@decaf-ts/decoration"),require("node:crypto"),require("@decaf-ts/crypto/integration/services/crypto")):"function"==typeof define&&define.amd?define(["exports","child_process","@decaf-ts/logging","@decaf-ts/db-decorators","@decaf-ts/core","@decaf-ts/decorator-validation","tslib","@decaf-ts/decoration","node:crypto","@decaf-ts/crypto/integration/services/crypto"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).integrations={},e.childProcess,e.decafTsLogging,e.decafTsDbDecorators,e.decafTsCore,e.decafTsDecoratorValidation,e.tslib,e.decafTsDecoration,e.node_crypto,e.crypto$1);
2
2
  //# sourceMappingURL=integrations.cjs.map