@contember/engine-tenant-api 2.2.0-alpha.1 → 2.2.0-alpha.10

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 (2014) hide show
  1. package/CLAUDE.md +60 -7
  2. package/dist/development/index.cjs +69 -0
  3. package/dist/development/index.cjs.map +1 -1
  4. package/dist/development/index.js +71 -2
  5. package/dist/development/index.js.map +1 -1
  6. package/dist/development/src/TenantContainer.cjs +39 -10
  7. package/dist/development/src/TenantContainer.cjs.map +1 -1
  8. package/dist/development/src/TenantContainer.js +39 -10
  9. package/dist/development/src/TenantContainer.js.map +1 -1
  10. package/dist/development/src/bridges/system/IdentityFetcher.cjs +9 -7
  11. package/dist/development/src/bridges/system/IdentityFetcher.cjs.map +1 -1
  12. package/dist/development/src/bridges/system/IdentityFetcher.js +9 -7
  13. package/dist/development/src/bridges/system/IdentityFetcher.js.map +1 -1
  14. package/dist/development/src/migrations/2026-06-18-120000-idp-claim-mapping.cjs +10 -0
  15. package/dist/development/src/migrations/2026-06-18-120000-idp-claim-mapping.cjs.map +1 -0
  16. package/dist/development/src/migrations/2026-06-18-120000-idp-claim-mapping.js +11 -0
  17. package/dist/development/src/migrations/2026-06-18-120000-idp-claim-mapping.js.map +1 -0
  18. package/dist/development/src/migrations/2026-08-03-120000-person-enable-auth-log.cjs +9 -0
  19. package/dist/development/src/migrations/2026-08-03-120000-person-enable-auth-log.cjs.map +1 -0
  20. package/dist/development/src/migrations/2026-08-03-120000-person-enable-auth-log.js +10 -0
  21. package/dist/development/src/migrations/2026-08-03-120000-person-enable-auth-log.js.map +1 -0
  22. package/dist/development/src/migrations/2026-08-04-120000-config-panel.cjs +11 -0
  23. package/dist/development/src/migrations/2026-08-04-120000-config-panel.cjs.map +1 -0
  24. package/dist/development/src/migrations/2026-08-04-120000-config-panel.js +12 -0
  25. package/dist/development/src/migrations/2026-08-04-120000-config-panel.js.map +1 -0
  26. package/dist/development/src/migrations/2026-09-04-120000-idp-disable-local-authentication.cjs +18 -0
  27. package/dist/development/src/migrations/2026-09-04-120000-idp-disable-local-authentication.cjs.map +1 -0
  28. package/dist/development/src/migrations/2026-09-04-120000-idp-disable-local-authentication.js +19 -0
  29. package/dist/development/src/migrations/2026-09-04-120000-idp-disable-local-authentication.js.map +1 -0
  30. package/dist/development/src/migrations/2026-09-11-120000-custom-role.cjs +18 -0
  31. package/dist/development/src/migrations/2026-09-11-120000-custom-role.cjs.map +1 -0
  32. package/dist/development/src/migrations/2026-09-11-120000-custom-role.js +19 -0
  33. package/dist/development/src/migrations/2026-09-11-120000-custom-role.js.map +1 -0
  34. package/dist/development/src/migrations/runner.cjs +17 -5
  35. package/dist/development/src/migrations/runner.cjs.map +1 -1
  36. package/dist/development/src/migrations/runner.js +17 -5
  37. package/dist/development/src/migrations/runner.js.map +1 -1
  38. package/dist/development/src/migrations/snapshot.cjs +22 -2
  39. package/dist/development/src/migrations/snapshot.cjs.map +1 -1
  40. package/dist/development/src/migrations/snapshot.js +22 -2
  41. package/dist/development/src/migrations/snapshot.js.map +1 -1
  42. package/dist/development/src/model/authorization/CustomRoleAuthorizator.cjs +65 -0
  43. package/dist/development/src/model/authorization/CustomRoleAuthorizator.cjs.map +1 -0
  44. package/dist/development/src/model/authorization/CustomRoleAuthorizator.js +65 -0
  45. package/dist/development/src/model/authorization/CustomRoleAuthorizator.js.map +1 -0
  46. package/dist/development/src/model/authorization/CustomRolePermissions.cjs +404 -0
  47. package/dist/development/src/model/authorization/CustomRolePermissions.cjs.map +1 -0
  48. package/dist/development/src/model/authorization/CustomRolePermissions.js +387 -0
  49. package/dist/development/src/model/authorization/CustomRolePermissions.js.map +1 -0
  50. package/dist/development/src/model/authorization/PermissionActions.cjs +19 -16
  51. package/dist/development/src/model/authorization/PermissionActions.cjs.map +1 -1
  52. package/dist/development/src/model/authorization/PermissionActions.js +19 -16
  53. package/dist/development/src/model/authorization/PermissionActions.js.map +1 -1
  54. package/dist/development/src/model/authorization/PermissionContextFactory.cjs +20 -2
  55. package/dist/development/src/model/authorization/PermissionContextFactory.cjs.map +1 -1
  56. package/dist/development/src/model/authorization/PermissionContextFactory.js +20 -2
  57. package/dist/development/src/model/authorization/PermissionContextFactory.js.map +1 -1
  58. package/dist/development/src/model/authorization/PermissionsFactory.cjs +32 -24
  59. package/dist/development/src/model/authorization/PermissionsFactory.cjs.map +1 -1
  60. package/dist/development/src/model/authorization/PermissionsFactory.js +33 -25
  61. package/dist/development/src/model/authorization/PermissionsFactory.js.map +1 -1
  62. package/dist/development/src/model/authorization/Roles.cjs +8 -0
  63. package/dist/development/src/model/authorization/Roles.cjs.map +1 -1
  64. package/dist/development/src/model/authorization/Roles.js +8 -0
  65. package/dist/development/src/model/authorization/Roles.js.map +1 -1
  66. package/dist/development/src/model/authorization/TargetIdentityPermission.cjs +35 -0
  67. package/dist/development/src/model/authorization/TargetIdentityPermission.cjs.map +1 -0
  68. package/dist/development/src/model/authorization/TargetIdentityPermission.js +35 -0
  69. package/dist/development/src/model/authorization/TargetIdentityPermission.js.map +1 -0
  70. package/dist/development/src/model/commands/apiKey/ApiKeyHelper.cjs +19 -0
  71. package/dist/development/src/model/commands/apiKey/ApiKeyHelper.cjs.map +1 -1
  72. package/dist/development/src/model/commands/apiKey/ApiKeyHelper.js +19 -0
  73. package/dist/development/src/model/commands/apiKey/ApiKeyHelper.js.map +1 -1
  74. package/dist/development/src/model/commands/apiKey/CreateApiKeyCommand.cjs +4 -2
  75. package/dist/development/src/model/commands/apiKey/CreateApiKeyCommand.cjs.map +1 -1
  76. package/dist/development/src/model/commands/apiKey/CreateApiKeyCommand.js +5 -3
  77. package/dist/development/src/model/commands/apiKey/CreateApiKeyCommand.js.map +1 -1
  78. package/dist/development/src/model/commands/apiKey/ProlongApiKeyCommand.cjs +9 -10
  79. package/dist/development/src/model/commands/apiKey/ProlongApiKeyCommand.cjs.map +1 -1
  80. package/dist/development/src/model/commands/apiKey/ProlongApiKeyCommand.js +10 -11
  81. package/dist/development/src/model/commands/apiKey/ProlongApiKeyCommand.js.map +1 -1
  82. package/dist/development/src/model/commands/authLog/CreateAuthLogEntryCommand.cjs.map +1 -1
  83. package/dist/development/src/model/commands/authLog/CreateAuthLogEntryCommand.js.map +1 -1
  84. package/dist/development/src/model/commands/configuration/UpdateConfigurationCommand.cjs +5 -3
  85. package/dist/development/src/model/commands/configuration/UpdateConfigurationCommand.cjs.map +1 -1
  86. package/dist/development/src/model/commands/configuration/UpdateConfigurationCommand.js +5 -3
  87. package/dist/development/src/model/commands/configuration/UpdateConfigurationCommand.js.map +1 -1
  88. package/dist/development/src/model/commands/customRole/CreateCustomRoleCommand.cjs +23 -0
  89. package/dist/development/src/model/commands/customRole/CreateCustomRoleCommand.cjs.map +1 -0
  90. package/dist/development/src/model/commands/customRole/CreateCustomRoleCommand.js +23 -0
  91. package/dist/development/src/model/commands/customRole/CreateCustomRoleCommand.js.map +1 -0
  92. package/dist/development/src/model/commands/customRole/DeleteCustomRoleCommand.cjs +14 -0
  93. package/dist/development/src/model/commands/customRole/DeleteCustomRoleCommand.cjs.map +1 -0
  94. package/dist/development/src/model/commands/customRole/DeleteCustomRoleCommand.js +14 -0
  95. package/dist/development/src/model/commands/customRole/DeleteCustomRoleCommand.js.map +1 -0
  96. package/dist/development/src/model/commands/customRole/RemoveCustomRoleAssignmentsCommand.cjs +16 -0
  97. package/dist/development/src/model/commands/customRole/RemoveCustomRoleAssignmentsCommand.cjs.map +1 -0
  98. package/dist/development/src/model/commands/customRole/RemoveCustomRoleAssignmentsCommand.js +16 -0
  99. package/dist/development/src/model/commands/customRole/RemoveCustomRoleAssignmentsCommand.js.map +1 -0
  100. package/dist/development/src/model/commands/customRole/UpdateCustomRoleCommand.cjs +19 -0
  101. package/dist/development/src/model/commands/customRole/UpdateCustomRoleCommand.cjs.map +1 -0
  102. package/dist/development/src/model/commands/customRole/UpdateCustomRoleCommand.js +19 -0
  103. package/dist/development/src/model/commands/customRole/UpdateCustomRoleCommand.js.map +1 -0
  104. package/dist/development/src/model/commands/identity/PatchIdentityGlobalRoles.cjs +1 -1
  105. package/dist/development/src/model/commands/identity/PatchIdentityGlobalRoles.cjs.map +1 -1
  106. package/dist/development/src/model/commands/identity/PatchIdentityGlobalRoles.js +1 -1
  107. package/dist/development/src/model/commands/identity/PatchIdentityGlobalRoles.js.map +1 -1
  108. package/dist/development/src/model/commands/idp/ClaimIdpRevalidationCommand.cjs +3 -7
  109. package/dist/development/src/model/commands/idp/ClaimIdpRevalidationCommand.cjs.map +1 -1
  110. package/dist/development/src/model/commands/idp/ClaimIdpRevalidationCommand.js +3 -7
  111. package/dist/development/src/model/commands/idp/ClaimIdpRevalidationCommand.js.map +1 -1
  112. package/dist/development/src/model/commands/idp/CreateIdpCommand.cjs +8 -2
  113. package/dist/development/src/model/commands/idp/CreateIdpCommand.cjs.map +1 -1
  114. package/dist/development/src/model/commands/idp/CreateIdpCommand.js +8 -2
  115. package/dist/development/src/model/commands/idp/CreateIdpCommand.js.map +1 -1
  116. package/dist/development/src/model/commands/idp/CreateIdpSessionCommand.cjs +4 -1
  117. package/dist/development/src/model/commands/idp/CreateIdpSessionCommand.cjs.map +1 -1
  118. package/dist/development/src/model/commands/idp/CreateIdpSessionCommand.js +5 -2
  119. package/dist/development/src/model/commands/idp/CreateIdpSessionCommand.js.map +1 -1
  120. package/dist/development/src/model/commands/idp/UpdateIdpCommand.cjs +6 -2
  121. package/dist/development/src/model/commands/idp/UpdateIdpCommand.cjs.map +1 -1
  122. package/dist/development/src/model/commands/idp/UpdateIdpCommand.js +6 -2
  123. package/dist/development/src/model/commands/idp/UpdateIdpCommand.js.map +1 -1
  124. package/dist/development/src/model/commands/idp/UpdateIdpSessionCommand.cjs +2 -1
  125. package/dist/development/src/model/commands/idp/UpdateIdpSessionCommand.cjs.map +1 -1
  126. package/dist/development/src/model/commands/idp/UpdateIdpSessionCommand.js +3 -2
  127. package/dist/development/src/model/commands/idp/UpdateIdpSessionCommand.js.map +1 -1
  128. package/dist/development/src/model/commands/membership/{RemoveProjectMembershipsCommand.cjs → RemoveProjectMembershipCommand.cjs} +1 -1
  129. package/dist/development/src/model/commands/membership/RemoveProjectMembershipCommand.cjs.map +1 -0
  130. package/dist/development/src/model/commands/membership/{RemoveProjectMembershipsCommand.js → RemoveProjectMembershipCommand.js} +1 -1
  131. package/dist/development/src/model/commands/membership/RemoveProjectMembershipCommand.js.map +1 -0
  132. package/dist/development/src/model/commands/membership/UpdateProjectMemberCommand.cjs +2 -2
  133. package/dist/development/src/model/commands/membership/UpdateProjectMemberCommand.cjs.map +1 -1
  134. package/dist/development/src/model/commands/membership/UpdateProjectMemberCommand.js +1 -1
  135. package/dist/development/src/model/commands/membership/UpdateProjectMemberCommand.js.map +1 -1
  136. package/dist/development/src/model/commands/person/CreatePersonCommand.cjs +1 -0
  137. package/dist/development/src/model/commands/person/CreatePersonCommand.cjs.map +1 -1
  138. package/dist/development/src/model/commands/person/CreatePersonCommand.js +1 -0
  139. package/dist/development/src/model/commands/person/CreatePersonCommand.js.map +1 -1
  140. package/dist/development/src/model/commands/person/EnablePersonCommand.cjs +17 -0
  141. package/dist/development/src/model/commands/person/EnablePersonCommand.cjs.map +1 -0
  142. package/dist/development/src/model/commands/person/EnablePersonCommand.js +17 -0
  143. package/dist/development/src/model/commands/person/EnablePersonCommand.js.map +1 -0
  144. package/dist/development/src/model/commands/person/SetMfaGraceUntilCommand.cjs +3 -3
  145. package/dist/development/src/model/commands/person/SetMfaGraceUntilCommand.cjs.map +1 -1
  146. package/dist/development/src/model/commands/person/SetMfaGraceUntilCommand.js +4 -4
  147. package/dist/development/src/model/commands/person/SetMfaGraceUntilCommand.js.map +1 -1
  148. package/dist/development/src/model/commands/personToken/ResetPasswordCommand.cjs +2 -3
  149. package/dist/development/src/model/commands/personToken/ResetPasswordCommand.cjs.map +1 -1
  150. package/dist/development/src/model/commands/personToken/ResetPasswordCommand.js +2 -3
  151. package/dist/development/src/model/commands/personToken/ResetPasswordCommand.js.map +1 -1
  152. package/dist/development/src/model/commands/personToken/SaveEmailOtpTokenCommand.cjs +3 -3
  153. package/dist/development/src/model/commands/personToken/SaveEmailOtpTokenCommand.cjs.map +1 -1
  154. package/dist/development/src/model/commands/personToken/SaveEmailOtpTokenCommand.js +4 -4
  155. package/dist/development/src/model/commands/personToken/SaveEmailOtpTokenCommand.js.map +1 -1
  156. package/dist/development/src/model/commands/personToken/SavePersonTokenCommand.cjs +12 -6
  157. package/dist/development/src/model/commands/personToken/SavePersonTokenCommand.cjs.map +1 -1
  158. package/dist/development/src/model/commands/personToken/SavePersonTokenCommand.js +13 -7
  159. package/dist/development/src/model/commands/personToken/SavePersonTokenCommand.js.map +1 -1
  160. package/dist/development/src/model/commands/rateLimit/RecordRateLimitEventCommand.cjs +1 -2
  161. package/dist/development/src/model/commands/rateLimit/RecordRateLimitEventCommand.cjs.map +1 -1
  162. package/dist/development/src/model/commands/rateLimit/RecordRateLimitEventCommand.js +1 -2
  163. package/dist/development/src/model/commands/rateLimit/RecordRateLimitEventCommand.js.map +1 -1
  164. package/dist/development/src/model/mailing/UserMailer.cjs +2 -1
  165. package/dist/development/src/model/mailing/UserMailer.cjs.map +1 -1
  166. package/dist/development/src/model/mailing/UserMailer.js +2 -1
  167. package/dist/development/src/model/mailing/UserMailer.js.map +1 -1
  168. package/dist/development/src/model/queries/apiKey/ApiKeyQuery.cjs +8 -1
  169. package/dist/development/src/model/queries/apiKey/ApiKeyQuery.cjs.map +1 -1
  170. package/dist/development/src/model/queries/apiKey/ApiKeyQuery.js +9 -2
  171. package/dist/development/src/model/queries/apiKey/ApiKeyQuery.js.map +1 -1
  172. package/dist/development/src/model/queries/apiKey/ApiKeySessionsQuery.cjs +2 -3
  173. package/dist/development/src/model/queries/apiKey/ApiKeySessionsQuery.cjs.map +1 -1
  174. package/dist/development/src/model/queries/apiKey/ApiKeySessionsQuery.js +2 -3
  175. package/dist/development/src/model/queries/apiKey/ApiKeySessionsQuery.js.map +1 -1
  176. package/dist/development/src/model/queries/authLog/NextLoginAttemptQuery.cjs +12 -10
  177. package/dist/development/src/model/queries/authLog/NextLoginAttemptQuery.cjs.map +1 -1
  178. package/dist/development/src/model/queries/authLog/NextLoginAttemptQuery.js +12 -10
  179. package/dist/development/src/model/queries/authLog/NextLoginAttemptQuery.js.map +1 -1
  180. package/dist/development/src/model/queries/authLog/NextMailAttemptQuery.cjs +10 -8
  181. package/dist/development/src/model/queries/authLog/NextMailAttemptQuery.cjs.map +1 -1
  182. package/dist/development/src/model/queries/authLog/NextMailAttemptQuery.js +10 -8
  183. package/dist/development/src/model/queries/authLog/NextMailAttemptQuery.js.map +1 -1
  184. package/dist/development/src/model/queries/configuration/ConfigurationQuery.cjs +4 -0
  185. package/dist/development/src/model/queries/configuration/ConfigurationQuery.cjs.map +1 -1
  186. package/dist/development/src/model/queries/configuration/ConfigurationQuery.js +4 -0
  187. package/dist/development/src/model/queries/configuration/ConfigurationQuery.js.map +1 -1
  188. package/dist/development/src/model/queries/customRole/CustomRolesQuery.cjs +23 -0
  189. package/dist/development/src/model/queries/customRole/CustomRolesQuery.cjs.map +1 -0
  190. package/dist/development/src/model/queries/customRole/CustomRolesQuery.js +23 -0
  191. package/dist/development/src/model/queries/customRole/CustomRolesQuery.js.map +1 -0
  192. package/dist/development/src/model/queries/identity/IdentitiesHoldingRoleCountQuery.cjs +15 -0
  193. package/dist/development/src/model/queries/identity/IdentitiesHoldingRoleCountQuery.cjs.map +1 -0
  194. package/dist/development/src/model/queries/identity/IdentitiesHoldingRoleCountQuery.js +15 -0
  195. package/dist/development/src/model/queries/identity/IdentitiesHoldingRoleCountQuery.js.map +1 -0
  196. package/dist/development/src/model/queries/identity/IdentityQuery.cjs +7 -2
  197. package/dist/development/src/model/queries/identity/IdentityQuery.cjs.map +1 -1
  198. package/dist/development/src/model/queries/identity/IdentityQuery.js +7 -2
  199. package/dist/development/src/model/queries/identity/IdentityQuery.js.map +1 -1
  200. package/dist/development/src/model/queries/idp/LocalAuthDisablingIdpsQuery.cjs +21 -0
  201. package/dist/development/src/model/queries/idp/LocalAuthDisablingIdpsQuery.cjs.map +1 -0
  202. package/dist/development/src/model/queries/idp/LocalAuthDisablingIdpsQuery.js +21 -0
  203. package/dist/development/src/model/queries/idp/LocalAuthDisablingIdpsQuery.js.map +1 -0
  204. package/dist/development/src/model/queries/idp/PersonIdentityProvidersQuery.cjs +1 -1
  205. package/dist/development/src/model/queries/idp/PersonIdentityProvidersQuery.cjs.map +1 -1
  206. package/dist/development/src/model/queries/idp/PersonIdentityProvidersQuery.js +1 -1
  207. package/dist/development/src/model/queries/idp/PersonIdentityProvidersQuery.js.map +1 -1
  208. package/dist/development/src/model/queries/idp/helpers.cjs +3 -3
  209. package/dist/development/src/model/queries/idp/helpers.cjs.map +1 -1
  210. package/dist/development/src/model/queries/idp/helpers.js +3 -3
  211. package/dist/development/src/model/queries/idp/helpers.js.map +1 -1
  212. package/dist/development/src/model/queries/membership/IdentityHasProjectMembershipsQuery.cjs +15 -0
  213. package/dist/development/src/model/queries/membership/IdentityHasProjectMembershipsQuery.cjs.map +1 -0
  214. package/dist/development/src/model/queries/membership/IdentityHasProjectMembershipsQuery.js +15 -0
  215. package/dist/development/src/model/queries/membership/IdentityHasProjectMembershipsQuery.js.map +1 -0
  216. package/dist/development/src/model/queries/membership/ProjectMembersQuery.cjs +1 -1
  217. package/dist/development/src/model/queries/membership/ProjectMembersQuery.cjs.map +1 -1
  218. package/dist/development/src/model/queries/membership/ProjectMembersQuery.js +1 -1
  219. package/dist/development/src/model/queries/membership/ProjectMembersQuery.js.map +1 -1
  220. package/dist/development/src/model/queries/person/PersonQueryBuilderFactory.cjs +2 -2
  221. package/dist/development/src/model/queries/person/PersonQueryBuilderFactory.cjs.map +1 -1
  222. package/dist/development/src/model/queries/person/PersonQueryBuilderFactory.js +2 -2
  223. package/dist/development/src/model/queries/person/PersonQueryBuilderFactory.js.map +1 -1
  224. package/dist/development/src/model/queries/personToken/PersonTokenQuery.cjs +1 -1
  225. package/dist/development/src/model/queries/personToken/PersonTokenQuery.cjs.map +1 -1
  226. package/dist/development/src/model/queries/personToken/PersonTokenQuery.js +1 -1
  227. package/dist/development/src/model/queries/personToken/PersonTokenQuery.js.map +1 -1
  228. package/dist/development/src/model/queries/project/ProjectsByIdentityQuery.cjs +4 -1
  229. package/dist/development/src/model/queries/project/ProjectsByIdentityQuery.cjs.map +1 -1
  230. package/dist/development/src/model/queries/project/ProjectsByIdentityQuery.js +4 -1
  231. package/dist/development/src/model/queries/project/ProjectsByIdentityQuery.js.map +1 -1
  232. package/dist/development/src/model/queries/rateLimit/RateLimitCountQuery.cjs +3 -3
  233. package/dist/development/src/model/queries/rateLimit/RateLimitCountQuery.cjs.map +1 -1
  234. package/dist/development/src/model/queries/rateLimit/RateLimitCountQuery.js +3 -3
  235. package/dist/development/src/model/queries/rateLimit/RateLimitCountQuery.js.map +1 -1
  236. package/dist/development/src/model/service/AuthLogService.cjs +8 -2
  237. package/dist/development/src/model/service/AuthLogService.cjs.map +1 -1
  238. package/dist/development/src/model/service/AuthLogService.js +8 -2
  239. package/dist/development/src/model/service/AuthLogService.js.map +1 -1
  240. package/dist/development/src/model/service/AuthPolicyManager.cjs +2 -1
  241. package/dist/development/src/model/service/AuthPolicyManager.cjs.map +1 -1
  242. package/dist/development/src/model/service/AuthPolicyManager.js +2 -1
  243. package/dist/development/src/model/service/AuthPolicyManager.js.map +1 -1
  244. package/dist/development/src/model/service/AuthPolicyResolver.cjs +2 -1
  245. package/dist/development/src/model/service/AuthPolicyResolver.cjs.map +1 -1
  246. package/dist/development/src/model/service/AuthPolicyResolver.js +2 -1
  247. package/dist/development/src/model/service/AuthPolicyResolver.js.map +1 -1
  248. package/dist/development/src/model/service/CustomRoleManager.cjs +170 -0
  249. package/dist/development/src/model/service/CustomRoleManager.cjs.map +1 -0
  250. package/dist/development/src/model/service/CustomRoleManager.js +170 -0
  251. package/dist/development/src/model/service/CustomRoleManager.js.map +1 -0
  252. package/dist/development/src/model/service/EmailChangeManager.cjs +5 -4
  253. package/dist/development/src/model/service/EmailChangeManager.cjs.map +1 -1
  254. package/dist/development/src/model/service/EmailChangeManager.js +5 -4
  255. package/dist/development/src/model/service/EmailChangeManager.js.map +1 -1
  256. package/dist/development/src/model/service/EmailOtpManager.cjs +0 -1
  257. package/dist/development/src/model/service/EmailOtpManager.cjs.map +1 -1
  258. package/dist/development/src/model/service/EmailOtpManager.js +0 -1
  259. package/dist/development/src/model/service/EmailOtpManager.js.map +1 -1
  260. package/dist/development/src/model/service/EmailValidator.cjs +2 -1
  261. package/dist/development/src/model/service/EmailValidator.cjs.map +1 -1
  262. package/dist/development/src/model/service/EmailValidator.js +2 -1
  263. package/dist/development/src/model/service/EmailValidator.js.map +1 -1
  264. package/dist/development/src/model/service/EmailVerificationManager.cjs +5 -4
  265. package/dist/development/src/model/service/EmailVerificationManager.cjs.map +1 -1
  266. package/dist/development/src/model/service/EmailVerificationManager.js +5 -4
  267. package/dist/development/src/model/service/EmailVerificationManager.js.map +1 -1
  268. package/dist/development/src/model/service/GlobalRoleValidator.cjs +35 -0
  269. package/dist/development/src/model/service/GlobalRoleValidator.cjs.map +1 -0
  270. package/dist/development/src/model/service/GlobalRoleValidator.js +35 -0
  271. package/dist/development/src/model/service/GlobalRoleValidator.js.map +1 -0
  272. package/dist/development/src/model/service/IDPSignInManager.cjs +52 -16
  273. package/dist/development/src/model/service/IDPSignInManager.cjs.map +1 -1
  274. package/dist/development/src/model/service/IDPSignInManager.js +52 -16
  275. package/dist/development/src/model/service/IDPSignInManager.js.map +1 -1
  276. package/dist/development/src/model/service/InviteManager.cjs +2 -1
  277. package/dist/development/src/model/service/InviteManager.cjs.map +1 -1
  278. package/dist/development/src/model/service/InviteManager.js +2 -1
  279. package/dist/development/src/model/service/InviteManager.js.map +1 -1
  280. package/dist/development/src/model/service/PanelAccessResolver.cjs +32 -0
  281. package/dist/development/src/model/service/PanelAccessResolver.cjs.map +1 -0
  282. package/dist/development/src/model/service/PanelAccessResolver.js +32 -0
  283. package/dist/development/src/model/service/PanelAccessResolver.js.map +1 -0
  284. package/dist/development/src/model/service/PasswordChangeManager.cjs +2 -1
  285. package/dist/development/src/model/service/PasswordChangeManager.cjs.map +1 -1
  286. package/dist/development/src/model/service/PasswordChangeManager.js +2 -1
  287. package/dist/development/src/model/service/PasswordChangeManager.js.map +1 -1
  288. package/dist/development/src/model/service/PasswordResetManager.cjs +9 -3
  289. package/dist/development/src/model/service/PasswordResetManager.cjs.map +1 -1
  290. package/dist/development/src/model/service/PasswordResetManager.js +9 -3
  291. package/dist/development/src/model/service/PasswordResetManager.js.map +1 -1
  292. package/dist/development/src/model/service/PasswordlessSignInManager.cjs +24 -6
  293. package/dist/development/src/model/service/PasswordlessSignInManager.cjs.map +1 -1
  294. package/dist/development/src/model/service/PasswordlessSignInManager.js +24 -6
  295. package/dist/development/src/model/service/PasswordlessSignInManager.js.map +1 -1
  296. package/dist/development/src/model/service/PersonAccessManager.cjs +10 -2
  297. package/dist/development/src/model/service/PersonAccessManager.cjs.map +1 -1
  298. package/dist/development/src/model/service/PersonAccessManager.js +10 -2
  299. package/dist/development/src/model/service/PersonAccessManager.js.map +1 -1
  300. package/dist/development/src/model/service/PersonManager.cjs +2 -1
  301. package/dist/development/src/model/service/PersonManager.cjs.map +1 -1
  302. package/dist/development/src/model/service/PersonManager.js +2 -1
  303. package/dist/development/src/model/service/PersonManager.js.map +1 -1
  304. package/dist/development/src/model/service/ProjectMemberManager.cjs +2 -1
  305. package/dist/development/src/model/service/ProjectMemberManager.cjs.map +1 -1
  306. package/dist/development/src/model/service/ProjectMemberManager.js +2 -1
  307. package/dist/development/src/model/service/ProjectMemberManager.js.map +1 -1
  308. package/dist/development/src/model/service/RateLimiter.cjs +1 -2
  309. package/dist/development/src/model/service/RateLimiter.cjs.map +1 -1
  310. package/dist/development/src/model/service/RateLimiter.js +1 -2
  311. package/dist/development/src/model/service/RateLimiter.js.map +1 -1
  312. package/dist/development/src/model/service/RolesManager.cjs +17 -18
  313. package/dist/development/src/model/service/RolesManager.cjs.map +1 -1
  314. package/dist/development/src/model/service/RolesManager.js +18 -19
  315. package/dist/development/src/model/service/RolesManager.js.map +1 -1
  316. package/dist/development/src/model/service/SecretsManager.cjs +2 -1
  317. package/dist/development/src/model/service/SecretsManager.cjs.map +1 -1
  318. package/dist/development/src/model/service/SecretsManager.js +2 -1
  319. package/dist/development/src/model/service/SecretsManager.js.map +1 -1
  320. package/dist/development/src/model/service/SignInManager.cjs +9 -5
  321. package/dist/development/src/model/service/SignInManager.cjs.map +1 -1
  322. package/dist/development/src/model/service/SignInManager.js +9 -5
  323. package/dist/development/src/model/service/SignInManager.js.map +1 -1
  324. package/dist/development/src/model/service/SignOutManager.cjs +2 -1
  325. package/dist/development/src/model/service/SignOutManager.cjs.map +1 -1
  326. package/dist/development/src/model/service/SignOutManager.js +2 -1
  327. package/dist/development/src/model/service/SignOutManager.js.map +1 -1
  328. package/dist/development/src/model/service/SignUpManager.cjs +15 -7
  329. package/dist/development/src/model/service/SignUpManager.cjs.map +1 -1
  330. package/dist/development/src/model/service/SignUpManager.js +15 -7
  331. package/dist/development/src/model/service/SignUpManager.js.map +1 -1
  332. package/dist/development/src/model/service/apiKey/ApiKeyManager.cjs +56 -40
  333. package/dist/development/src/model/service/apiKey/ApiKeyManager.cjs.map +1 -1
  334. package/dist/development/src/model/service/apiKey/ApiKeyManager.js +57 -41
  335. package/dist/development/src/model/service/apiKey/ApiKeyManager.js.map +1 -1
  336. package/dist/development/src/model/service/apiKey/ApiKeyService.cjs.map +1 -1
  337. package/dist/development/src/model/service/apiKey/ApiKeyService.js.map +1 -1
  338. package/dist/development/src/model/service/apiKey/UnpersistedApiKeyManager.cjs +10 -1
  339. package/dist/development/src/model/service/apiKey/UnpersistedApiKeyManager.cjs.map +1 -1
  340. package/dist/development/src/model/service/apiKey/UnpersistedApiKeyManager.js +11 -2
  341. package/dist/development/src/model/service/apiKey/UnpersistedApiKeyManager.js.map +1 -1
  342. package/dist/development/src/model/service/idp/ClaimMapping.cjs +187 -0
  343. package/dist/development/src/model/service/idp/ClaimMapping.cjs.map +1 -0
  344. package/dist/development/src/model/service/idp/ClaimMapping.js +170 -0
  345. package/dist/development/src/model/service/idp/ClaimMapping.js.map +1 -0
  346. package/dist/development/src/model/service/idp/ClaimMappingEvaluator.cjs +155 -0
  347. package/dist/development/src/model/service/idp/ClaimMappingEvaluator.cjs.map +1 -0
  348. package/dist/development/src/model/service/idp/ClaimMappingEvaluator.js +155 -0
  349. package/dist/development/src/model/service/idp/ClaimMappingEvaluator.js.map +1 -0
  350. package/dist/development/src/model/service/idp/ClaimMappingValidation.cjs +83 -0
  351. package/dist/development/src/model/service/idp/ClaimMappingValidation.cjs.map +1 -0
  352. package/dist/development/src/model/service/idp/ClaimMappingValidation.js +83 -0
  353. package/dist/development/src/model/service/idp/ClaimMappingValidation.js.map +1 -0
  354. package/dist/development/src/model/service/idp/IDPClaimSyncService.cjs +261 -0
  355. package/dist/development/src/model/service/idp/IDPClaimSyncService.cjs.map +1 -0
  356. package/dist/development/src/model/service/idp/IDPClaimSyncService.js +261 -0
  357. package/dist/development/src/model/service/idp/IDPClaimSyncService.js.map +1 -0
  358. package/dist/development/src/model/service/idp/IDPManager.cjs +98 -21
  359. package/dist/development/src/model/service/idp/IDPManager.cjs.map +1 -1
  360. package/dist/development/src/model/service/idp/IDPManager.js +98 -21
  361. package/dist/development/src/model/service/idp/IDPManager.js.map +1 -1
  362. package/dist/development/src/model/service/idp/IdpSessionRevalidator.cjs +93 -28
  363. package/dist/development/src/model/service/idp/IdpSessionRevalidator.cjs.map +1 -1
  364. package/dist/development/src/model/service/idp/IdpSessionRevalidator.js +93 -28
  365. package/dist/development/src/model/service/idp/IdpSessionRevalidator.js.map +1 -1
  366. package/dist/development/src/model/service/idp/PersonIdentityProviderManager.cjs +8 -1
  367. package/dist/development/src/model/service/idp/PersonIdentityProviderManager.cjs.map +1 -1
  368. package/dist/development/src/model/service/idp/PersonIdentityProviderManager.js +8 -1
  369. package/dist/development/src/model/service/idp/PersonIdentityProviderManager.js.map +1 -1
  370. package/dist/development/src/model/service/idp/providers/OIDCHelpers.cjs +69 -33
  371. package/dist/development/src/model/service/idp/providers/OIDCHelpers.cjs.map +1 -1
  372. package/dist/development/src/model/service/idp/providers/OIDCHelpers.js +69 -33
  373. package/dist/development/src/model/service/idp/providers/OIDCHelpers.js.map +1 -1
  374. package/dist/development/src/model/service/idp/providers/OIDCProvider.cjs +4 -1
  375. package/dist/development/src/model/service/idp/providers/OIDCProvider.cjs.map +1 -1
  376. package/dist/development/src/model/service/idp/providers/OIDCProvider.js +4 -1
  377. package/dist/development/src/model/service/idp/providers/OIDCProvider.js.map +1 -1
  378. package/dist/development/src/model/utils/DatabaseContext.cjs +10 -3
  379. package/dist/development/src/model/utils/DatabaseContext.cjs.map +1 -1
  380. package/dist/development/src/model/utils/DatabaseContext.js +11 -4
  381. package/dist/development/src/model/utils/DatabaseContext.js.map +1 -1
  382. package/dist/development/src/model/utils/token.cjs +2 -2
  383. package/dist/development/src/model/utils/token.cjs.map +1 -1
  384. package/dist/development/src/model/utils/token.js +2 -2
  385. package/dist/development/src/model/utils/token.js.map +1 -1
  386. package/dist/development/src/resolvers/ResolverFactory.cjs +12 -3
  387. package/dist/development/src/resolvers/ResolverFactory.cjs.map +1 -1
  388. package/dist/development/src/resolvers/ResolverFactory.js +12 -3
  389. package/dist/development/src/resolvers/ResolverFactory.js.map +1 -1
  390. package/dist/development/src/resolvers/TenantResolverContextFactory.cjs +4 -4
  391. package/dist/development/src/resolvers/TenantResolverContextFactory.cjs.map +1 -1
  392. package/dist/development/src/resolvers/TenantResolverContextFactory.js +4 -4
  393. package/dist/development/src/resolvers/TenantResolverContextFactory.js.map +1 -1
  394. package/dist/development/src/resolvers/mutation/apiKey/CreateApiKeyMutationResolver.cjs +19 -9
  395. package/dist/development/src/resolvers/mutation/apiKey/CreateApiKeyMutationResolver.cjs.map +1 -1
  396. package/dist/development/src/resolvers/mutation/apiKey/CreateApiKeyMutationResolver.js +20 -10
  397. package/dist/development/src/resolvers/mutation/apiKey/CreateApiKeyMutationResolver.js.map +1 -1
  398. package/dist/development/src/resolvers/mutation/apiKey/DisableApiKeyMutationResolver.cjs +7 -5
  399. package/dist/development/src/resolvers/mutation/apiKey/DisableApiKeyMutationResolver.cjs.map +1 -1
  400. package/dist/development/src/resolvers/mutation/apiKey/DisableApiKeyMutationResolver.js +7 -5
  401. package/dist/development/src/resolvers/mutation/apiKey/DisableApiKeyMutationResolver.js.map +1 -1
  402. package/dist/development/src/resolvers/mutation/configuration/AuthPolicyMutationResolver.cjs +7 -5
  403. package/dist/development/src/resolvers/mutation/configuration/AuthPolicyMutationResolver.cjs.map +1 -1
  404. package/dist/development/src/resolvers/mutation/configuration/AuthPolicyMutationResolver.js +7 -5
  405. package/dist/development/src/resolvers/mutation/configuration/AuthPolicyMutationResolver.js.map +1 -1
  406. package/dist/development/src/resolvers/mutation/configuration/ConfigurationMutationResolver.cjs +7 -5
  407. package/dist/development/src/resolvers/mutation/configuration/ConfigurationMutationResolver.cjs.map +1 -1
  408. package/dist/development/src/resolvers/mutation/configuration/ConfigurationMutationResolver.js +7 -5
  409. package/dist/development/src/resolvers/mutation/configuration/ConfigurationMutationResolver.js.map +1 -1
  410. package/dist/development/src/resolvers/mutation/customRole/CustomRoleMutationResolver.cjs +124 -0
  411. package/dist/development/src/resolvers/mutation/customRole/CustomRoleMutationResolver.cjs.map +1 -0
  412. package/dist/development/src/resolvers/mutation/customRole/CustomRoleMutationResolver.js +124 -0
  413. package/dist/development/src/resolvers/mutation/customRole/CustomRoleMutationResolver.js.map +1 -0
  414. package/dist/development/src/resolvers/mutation/identity/GlobalRolesMutationResolver.cjs +35 -11
  415. package/dist/development/src/resolvers/mutation/identity/GlobalRolesMutationResolver.cjs.map +1 -1
  416. package/dist/development/src/resolvers/mutation/identity/GlobalRolesMutationResolver.js +35 -11
  417. package/dist/development/src/resolvers/mutation/identity/GlobalRolesMutationResolver.js.map +1 -1
  418. package/dist/development/src/resolvers/mutation/idp/AddIDPMutationResolver.cjs +10 -7
  419. package/dist/development/src/resolvers/mutation/idp/AddIDPMutationResolver.cjs.map +1 -1
  420. package/dist/development/src/resolvers/mutation/idp/AddIDPMutationResolver.js +10 -7
  421. package/dist/development/src/resolvers/mutation/idp/AddIDPMutationResolver.js.map +1 -1
  422. package/dist/development/src/resolvers/mutation/idp/DisableIDPMutationResolver.cjs +7 -5
  423. package/dist/development/src/resolvers/mutation/idp/DisableIDPMutationResolver.cjs.map +1 -1
  424. package/dist/development/src/resolvers/mutation/idp/DisableIDPMutationResolver.js +7 -5
  425. package/dist/development/src/resolvers/mutation/idp/DisableIDPMutationResolver.js.map +1 -1
  426. package/dist/development/src/resolvers/mutation/idp/DisconnectMyIdentityProviderMutationResolver.cjs +8 -6
  427. package/dist/development/src/resolvers/mutation/idp/DisconnectMyIdentityProviderMutationResolver.cjs.map +1 -1
  428. package/dist/development/src/resolvers/mutation/idp/DisconnectMyIdentityProviderMutationResolver.js +8 -6
  429. package/dist/development/src/resolvers/mutation/idp/DisconnectMyIdentityProviderMutationResolver.js.map +1 -1
  430. package/dist/development/src/resolvers/mutation/idp/EnableIDPMutationResolver.cjs +7 -5
  431. package/dist/development/src/resolvers/mutation/idp/EnableIDPMutationResolver.cjs.map +1 -1
  432. package/dist/development/src/resolvers/mutation/idp/EnableIDPMutationResolver.js +7 -5
  433. package/dist/development/src/resolvers/mutation/idp/EnableIDPMutationResolver.js.map +1 -1
  434. package/dist/development/src/resolvers/mutation/idp/UpdateIDPMutationResolver.cjs +10 -7
  435. package/dist/development/src/resolvers/mutation/idp/UpdateIDPMutationResolver.cjs.map +1 -1
  436. package/dist/development/src/resolvers/mutation/idp/UpdateIDPMutationResolver.js +10 -7
  437. package/dist/development/src/resolvers/mutation/idp/UpdateIDPMutationResolver.js.map +1 -1
  438. package/dist/development/src/resolvers/mutation/idp/audit.cjs +1 -0
  439. package/dist/development/src/resolvers/mutation/idp/audit.cjs.map +1 -1
  440. package/dist/development/src/resolvers/mutation/idp/audit.js +1 -0
  441. package/dist/development/src/resolvers/mutation/idp/audit.js.map +1 -1
  442. package/dist/development/src/resolvers/mutation/mailTemplates/MailTemplateMutationResolver.cjs +38 -18
  443. package/dist/development/src/resolvers/mutation/mailTemplates/MailTemplateMutationResolver.cjs.map +1 -1
  444. package/dist/development/src/resolvers/mutation/mailTemplates/MailTemplateMutationResolver.js +38 -18
  445. package/dist/development/src/resolvers/mutation/mailTemplates/MailTemplateMutationResolver.js.map +1 -1
  446. package/dist/development/src/resolvers/mutation/person/ChangePasswordMutationResolver.cjs +10 -8
  447. package/dist/development/src/resolvers/mutation/person/ChangePasswordMutationResolver.cjs.map +1 -1
  448. package/dist/development/src/resolvers/mutation/person/ChangePasswordMutationResolver.js +10 -8
  449. package/dist/development/src/resolvers/mutation/person/ChangePasswordMutationResolver.js.map +1 -1
  450. package/dist/development/src/resolvers/mutation/person/ChangeProfileMutationResolver.cjs +17 -11
  451. package/dist/development/src/resolvers/mutation/person/ChangeProfileMutationResolver.cjs.map +1 -1
  452. package/dist/development/src/resolvers/mutation/person/ChangeProfileMutationResolver.js +17 -11
  453. package/dist/development/src/resolvers/mutation/person/ChangeProfileMutationResolver.js.map +1 -1
  454. package/dist/development/src/resolvers/mutation/person/DisablePersonMutationResolver.cjs +10 -8
  455. package/dist/development/src/resolvers/mutation/person/DisablePersonMutationResolver.cjs.map +1 -1
  456. package/dist/development/src/resolvers/mutation/person/DisablePersonMutationResolver.js +10 -8
  457. package/dist/development/src/resolvers/mutation/person/DisablePersonMutationResolver.js.map +1 -1
  458. package/dist/development/src/resolvers/mutation/person/EmailOtpMutationResolver.cjs +10 -8
  459. package/dist/development/src/resolvers/mutation/person/EmailOtpMutationResolver.cjs.map +1 -1
  460. package/dist/development/src/resolvers/mutation/person/EmailOtpMutationResolver.js +10 -8
  461. package/dist/development/src/resolvers/mutation/person/EmailOtpMutationResolver.js.map +1 -1
  462. package/dist/development/src/resolvers/mutation/person/EmailVerificationMutationResolver.cjs +10 -8
  463. package/dist/development/src/resolvers/mutation/person/EmailVerificationMutationResolver.cjs.map +1 -1
  464. package/dist/development/src/resolvers/mutation/person/EmailVerificationMutationResolver.js +10 -8
  465. package/dist/development/src/resolvers/mutation/person/EmailVerificationMutationResolver.js.map +1 -1
  466. package/dist/development/src/resolvers/mutation/person/EnablePersonMutationResolver.cjs +61 -0
  467. package/dist/development/src/resolvers/mutation/person/EnablePersonMutationResolver.cjs.map +1 -0
  468. package/dist/development/src/resolvers/mutation/person/EnablePersonMutationResolver.js +61 -0
  469. package/dist/development/src/resolvers/mutation/person/EnablePersonMutationResolver.js.map +1 -0
  470. package/dist/development/src/resolvers/mutation/person/ForceSignOutMutationResolver.cjs +8 -6
  471. package/dist/development/src/resolvers/mutation/person/ForceSignOutMutationResolver.cjs.map +1 -1
  472. package/dist/development/src/resolvers/mutation/person/ForceSignOutMutationResolver.js +8 -6
  473. package/dist/development/src/resolvers/mutation/person/ForceSignOutMutationResolver.js.map +1 -1
  474. package/dist/development/src/resolvers/mutation/person/IDPMutationResolver.cjs +32 -5
  475. package/dist/development/src/resolvers/mutation/person/IDPMutationResolver.cjs.map +1 -1
  476. package/dist/development/src/resolvers/mutation/person/IDPMutationResolver.js +32 -5
  477. package/dist/development/src/resolvers/mutation/person/IDPMutationResolver.js.map +1 -1
  478. package/dist/development/src/resolvers/mutation/person/InviteMutationResolver.cjs +7 -5
  479. package/dist/development/src/resolvers/mutation/person/InviteMutationResolver.cjs.map +1 -1
  480. package/dist/development/src/resolvers/mutation/person/InviteMutationResolver.js +7 -5
  481. package/dist/development/src/resolvers/mutation/person/InviteMutationResolver.js.map +1 -1
  482. package/dist/development/src/resolvers/mutation/person/OtpMutationResolver.cjs +9 -7
  483. package/dist/development/src/resolvers/mutation/person/OtpMutationResolver.cjs.map +1 -1
  484. package/dist/development/src/resolvers/mutation/person/OtpMutationResolver.js +9 -7
  485. package/dist/development/src/resolvers/mutation/person/OtpMutationResolver.js.map +1 -1
  486. package/dist/development/src/resolvers/mutation/person/PasswordlessMutationResolver.cjs +12 -6
  487. package/dist/development/src/resolvers/mutation/person/PasswordlessMutationResolver.cjs.map +1 -1
  488. package/dist/development/src/resolvers/mutation/person/PasswordlessMutationResolver.js +12 -6
  489. package/dist/development/src/resolvers/mutation/person/PasswordlessMutationResolver.js.map +1 -1
  490. package/dist/development/src/resolvers/mutation/person/RegenerateBackupCodesMutationResolver.cjs +9 -7
  491. package/dist/development/src/resolvers/mutation/person/RegenerateBackupCodesMutationResolver.cjs.map +1 -1
  492. package/dist/development/src/resolvers/mutation/person/RegenerateBackupCodesMutationResolver.js +9 -7
  493. package/dist/development/src/resolvers/mutation/person/RegenerateBackupCodesMutationResolver.js.map +1 -1
  494. package/dist/development/src/resolvers/mutation/person/ResetPasswordMutationResolver.cjs +10 -8
  495. package/dist/development/src/resolvers/mutation/person/ResetPasswordMutationResolver.cjs.map +1 -1
  496. package/dist/development/src/resolvers/mutation/person/ResetPasswordMutationResolver.js +10 -8
  497. package/dist/development/src/resolvers/mutation/person/ResetPasswordMutationResolver.js.map +1 -1
  498. package/dist/development/src/resolvers/mutation/person/ResetPersonMfaMutationResolver.cjs +8 -6
  499. package/dist/development/src/resolvers/mutation/person/ResetPersonMfaMutationResolver.cjs.map +1 -1
  500. package/dist/development/src/resolvers/mutation/person/ResetPersonMfaMutationResolver.js +8 -6
  501. package/dist/development/src/resolvers/mutation/person/ResetPersonMfaMutationResolver.js.map +1 -1
  502. package/dist/development/src/resolvers/mutation/person/RevokeSessionMutationResolver.cjs +8 -6
  503. package/dist/development/src/resolvers/mutation/person/RevokeSessionMutationResolver.cjs.map +1 -1
  504. package/dist/development/src/resolvers/mutation/person/RevokeSessionMutationResolver.js +8 -6
  505. package/dist/development/src/resolvers/mutation/person/RevokeSessionMutationResolver.js.map +1 -1
  506. package/dist/development/src/resolvers/mutation/person/SignInMutationResolver.cjs +22 -14
  507. package/dist/development/src/resolvers/mutation/person/SignInMutationResolver.cjs.map +1 -1
  508. package/dist/development/src/resolvers/mutation/person/SignInMutationResolver.js +22 -14
  509. package/dist/development/src/resolvers/mutation/person/SignInMutationResolver.js.map +1 -1
  510. package/dist/development/src/resolvers/mutation/person/SignOutMutationResolver.cjs +7 -5
  511. package/dist/development/src/resolvers/mutation/person/SignOutMutationResolver.cjs.map +1 -1
  512. package/dist/development/src/resolvers/mutation/person/SignOutMutationResolver.js +7 -5
  513. package/dist/development/src/resolvers/mutation/person/SignOutMutationResolver.js.map +1 -1
  514. package/dist/development/src/resolvers/mutation/person/SignUpMutationResolver.cjs +10 -8
  515. package/dist/development/src/resolvers/mutation/person/SignUpMutationResolver.cjs.map +1 -1
  516. package/dist/development/src/resolvers/mutation/person/SignUpMutationResolver.js +10 -8
  517. package/dist/development/src/resolvers/mutation/person/SignUpMutationResolver.js.map +1 -1
  518. package/dist/development/src/resolvers/mutation/person/TogglePasswordlessMutationResolver.cjs +9 -7
  519. package/dist/development/src/resolvers/mutation/person/TogglePasswordlessMutationResolver.cjs.map +1 -1
  520. package/dist/development/src/resolvers/mutation/person/TogglePasswordlessMutationResolver.js +9 -7
  521. package/dist/development/src/resolvers/mutation/person/TogglePasswordlessMutationResolver.js.map +1 -1
  522. package/dist/development/src/resolvers/mutation/project/CreateProjectMutationResolver.cjs +7 -5
  523. package/dist/development/src/resolvers/mutation/project/CreateProjectMutationResolver.cjs.map +1 -1
  524. package/dist/development/src/resolvers/mutation/project/CreateProjectMutationResolver.js +7 -5
  525. package/dist/development/src/resolvers/mutation/project/CreateProjectMutationResolver.js.map +1 -1
  526. package/dist/development/src/resolvers/mutation/project/SetProjectSecretMutationResolver.cjs +7 -5
  527. package/dist/development/src/resolvers/mutation/project/SetProjectSecretMutationResolver.cjs.map +1 -1
  528. package/dist/development/src/resolvers/mutation/project/SetProjectSecretMutationResolver.js +7 -5
  529. package/dist/development/src/resolvers/mutation/project/SetProjectSecretMutationResolver.js.map +1 -1
  530. package/dist/development/src/resolvers/mutation/project/UpdateProjectMutationResolver.cjs +7 -5
  531. package/dist/development/src/resolvers/mutation/project/UpdateProjectMutationResolver.cjs.map +1 -1
  532. package/dist/development/src/resolvers/mutation/project/UpdateProjectMutationResolver.js +7 -5
  533. package/dist/development/src/resolvers/mutation/project/UpdateProjectMutationResolver.js.map +1 -1
  534. package/dist/development/src/resolvers/mutation/projectMember/AddProjectMemberMutationResolver.cjs +7 -5
  535. package/dist/development/src/resolvers/mutation/projectMember/AddProjectMemberMutationResolver.cjs.map +1 -1
  536. package/dist/development/src/resolvers/mutation/projectMember/AddProjectMemberMutationResolver.js +7 -5
  537. package/dist/development/src/resolvers/mutation/projectMember/AddProjectMemberMutationResolver.js.map +1 -1
  538. package/dist/development/src/resolvers/mutation/projectMember/RemoveProjectMemberMutationResolver.cjs +8 -6
  539. package/dist/development/src/resolvers/mutation/projectMember/RemoveProjectMemberMutationResolver.cjs.map +1 -1
  540. package/dist/development/src/resolvers/mutation/projectMember/RemoveProjectMemberMutationResolver.js +8 -6
  541. package/dist/development/src/resolvers/mutation/projectMember/RemoveProjectMemberMutationResolver.js.map +1 -1
  542. package/dist/development/src/resolvers/mutation/projectMember/UpdateProjectMemberMutationResolver.cjs +8 -6
  543. package/dist/development/src/resolvers/mutation/projectMember/UpdateProjectMemberMutationResolver.cjs.map +1 -1
  544. package/dist/development/src/resolvers/mutation/projectMember/UpdateProjectMemberMutationResolver.js +8 -6
  545. package/dist/development/src/resolvers/mutation/projectMember/UpdateProjectMemberMutationResolver.js.map +1 -1
  546. package/dist/development/src/resolvers/mutation/projectMember/audit.cjs +2 -1
  547. package/dist/development/src/resolvers/mutation/projectMember/audit.cjs.map +1 -1
  548. package/dist/development/src/resolvers/mutation/projectMember/audit.js +2 -1
  549. package/dist/development/src/resolvers/mutation/projectMember/audit.js.map +1 -1
  550. package/dist/development/src/resolvers/query/ApiKeyQueryResolver.cjs +8 -6
  551. package/dist/development/src/resolvers/query/ApiKeyQueryResolver.cjs.map +1 -1
  552. package/dist/development/src/resolvers/query/ApiKeyQueryResolver.js +8 -6
  553. package/dist/development/src/resolvers/query/ApiKeyQueryResolver.js.map +1 -1
  554. package/dist/development/src/resolvers/query/AuthLogQueryResolver.cjs +7 -5
  555. package/dist/development/src/resolvers/query/AuthLogQueryResolver.cjs.map +1 -1
  556. package/dist/development/src/resolvers/query/AuthLogQueryResolver.js +7 -5
  557. package/dist/development/src/resolvers/query/AuthLogQueryResolver.js.map +1 -1
  558. package/dist/development/src/resolvers/query/AuthPolicyQueryResolver.cjs +8 -6
  559. package/dist/development/src/resolvers/query/AuthPolicyQueryResolver.cjs.map +1 -1
  560. package/dist/development/src/resolvers/query/AuthPolicyQueryResolver.js +8 -6
  561. package/dist/development/src/resolvers/query/AuthPolicyQueryResolver.js.map +1 -1
  562. package/dist/development/src/resolvers/query/ConfigurationQueryResolver.cjs +8 -6
  563. package/dist/development/src/resolvers/query/ConfigurationQueryResolver.cjs.map +1 -1
  564. package/dist/development/src/resolvers/query/ConfigurationQueryResolver.js +8 -6
  565. package/dist/development/src/resolvers/query/ConfigurationQueryResolver.js.map +1 -1
  566. package/dist/development/src/resolvers/query/CustomRoleQueryResolver.cjs +55 -0
  567. package/dist/development/src/resolvers/query/CustomRoleQueryResolver.cjs.map +1 -0
  568. package/dist/development/src/resolvers/query/CustomRoleQueryResolver.js +55 -0
  569. package/dist/development/src/resolvers/query/CustomRoleQueryResolver.js.map +1 -0
  570. package/dist/development/src/resolvers/query/IDPQueryResolver.cjs +7 -5
  571. package/dist/development/src/resolvers/query/IDPQueryResolver.cjs.map +1 -1
  572. package/dist/development/src/resolvers/query/IDPQueryResolver.js +7 -5
  573. package/dist/development/src/resolvers/query/IDPQueryResolver.js.map +1 -1
  574. package/dist/development/src/resolvers/query/MailTemplateQueryResolver.cjs +21 -14
  575. package/dist/development/src/resolvers/query/MailTemplateQueryResolver.cjs.map +1 -1
  576. package/dist/development/src/resolvers/query/MailTemplateQueryResolver.js +21 -14
  577. package/dist/development/src/resolvers/query/MailTemplateQueryResolver.js.map +1 -1
  578. package/dist/development/src/resolvers/query/PersonQueryResolver.cjs +7 -5
  579. package/dist/development/src/resolvers/query/PersonQueryResolver.cjs.map +1 -1
  580. package/dist/development/src/resolvers/query/PersonQueryResolver.js +7 -5
  581. package/dist/development/src/resolvers/query/PersonQueryResolver.js.map +1 -1
  582. package/dist/development/src/resolvers/query/ProjectMembersQueryResolver.cjs +7 -5
  583. package/dist/development/src/resolvers/query/ProjectMembersQueryResolver.cjs.map +1 -1
  584. package/dist/development/src/resolvers/query/ProjectMembersQueryResolver.js +7 -5
  585. package/dist/development/src/resolvers/query/ProjectMembersQueryResolver.js.map +1 -1
  586. package/dist/development/src/resolvers/query/ProjectQueryResolver.cjs +10 -7
  587. package/dist/development/src/resolvers/query/ProjectQueryResolver.cjs.map +1 -1
  588. package/dist/development/src/resolvers/query/ProjectQueryResolver.js +10 -7
  589. package/dist/development/src/resolvers/query/ProjectQueryResolver.js.map +1 -1
  590. package/dist/development/src/resolvers/responseHelpers/ApiKeyResponseFactory.cjs +7 -5
  591. package/dist/development/src/resolvers/responseHelpers/ApiKeyResponseFactory.cjs.map +1 -1
  592. package/dist/development/src/resolvers/responseHelpers/ApiKeyResponseFactory.js +7 -5
  593. package/dist/development/src/resolvers/responseHelpers/ApiKeyResponseFactory.js.map +1 -1
  594. package/dist/development/src/resolvers/responseHelpers/PersonResponseFactory.cjs +5 -0
  595. package/dist/development/src/resolvers/responseHelpers/PersonResponseFactory.cjs.map +1 -1
  596. package/dist/development/src/resolvers/responseHelpers/PersonResponseFactory.js +5 -0
  597. package/dist/development/src/resolvers/responseHelpers/PersonResponseFactory.js.map +1 -1
  598. package/dist/development/src/resolvers/responseHelpers/ProjectResponseFactory.cjs +23 -0
  599. package/dist/development/src/resolvers/responseHelpers/ProjectResponseFactory.cjs.map +1 -0
  600. package/dist/development/src/resolvers/responseHelpers/ProjectResponseFactory.js +23 -0
  601. package/dist/development/src/resolvers/responseHelpers/ProjectResponseFactory.js.map +1 -0
  602. package/dist/development/src/resolvers/responseHelpers/SignInResponseFactory.cjs +8 -6
  603. package/dist/development/src/resolvers/responseHelpers/SignInResponseFactory.cjs.map +1 -1
  604. package/dist/development/src/resolvers/responseHelpers/SignInResponseFactory.js +8 -6
  605. package/dist/development/src/resolvers/responseHelpers/SignInResponseFactory.js.map +1 -1
  606. package/dist/development/src/resolvers/types/IdentityTypeResolver.cjs +50 -18
  607. package/dist/development/src/resolvers/types/IdentityTypeResolver.cjs.map +1 -1
  608. package/dist/development/src/resolvers/types/IdentityTypeResolver.js +50 -18
  609. package/dist/development/src/resolvers/types/IdentityTypeResolver.js.map +1 -1
  610. package/dist/development/src/resolvers/types/PersonTypeResolver.cjs +38 -8
  611. package/dist/development/src/resolvers/types/PersonTypeResolver.cjs.map +1 -1
  612. package/dist/development/src/resolvers/types/PersonTypeResolver.js +38 -8
  613. package/dist/development/src/resolvers/types/PersonTypeResolver.js.map +1 -1
  614. package/dist/development/src/resolvers/types/ProjectTypeResolver.cjs +31 -6
  615. package/dist/development/src/resolvers/types/ProjectTypeResolver.cjs.map +1 -1
  616. package/dist/development/src/resolvers/types/ProjectTypeResolver.js +31 -6
  617. package/dist/development/src/resolvers/types/ProjectTypeResolver.js.map +1 -1
  618. package/dist/development/src/schema/tenant.graphql.cjs +275 -15
  619. package/dist/development/src/schema/tenant.graphql.cjs.map +1 -1
  620. package/dist/development/src/schema/tenant.graphql.js +275 -15
  621. package/dist/development/src/schema/tenant.graphql.js.map +1 -1
  622. package/dist/production/index.cjs +69 -0
  623. package/dist/production/index.cjs.map +1 -1
  624. package/dist/production/index.js +71 -2
  625. package/dist/production/index.js.map +1 -1
  626. package/dist/production/src/TenantContainer.cjs +39 -10
  627. package/dist/production/src/TenantContainer.cjs.map +1 -1
  628. package/dist/production/src/TenantContainer.js +39 -10
  629. package/dist/production/src/TenantContainer.js.map +1 -1
  630. package/dist/production/src/bridges/system/IdentityFetcher.cjs +9 -7
  631. package/dist/production/src/bridges/system/IdentityFetcher.cjs.map +1 -1
  632. package/dist/production/src/bridges/system/IdentityFetcher.js +9 -7
  633. package/dist/production/src/bridges/system/IdentityFetcher.js.map +1 -1
  634. package/dist/production/src/migrations/2026-06-18-120000-idp-claim-mapping.cjs +10 -0
  635. package/dist/production/src/migrations/2026-06-18-120000-idp-claim-mapping.cjs.map +1 -0
  636. package/dist/production/src/migrations/2026-06-18-120000-idp-claim-mapping.js +11 -0
  637. package/dist/production/src/migrations/2026-06-18-120000-idp-claim-mapping.js.map +1 -0
  638. package/dist/production/src/migrations/2026-08-03-120000-person-enable-auth-log.cjs +9 -0
  639. package/dist/production/src/migrations/2026-08-03-120000-person-enable-auth-log.cjs.map +1 -0
  640. package/dist/production/src/migrations/2026-08-03-120000-person-enable-auth-log.js +10 -0
  641. package/dist/production/src/migrations/2026-08-03-120000-person-enable-auth-log.js.map +1 -0
  642. package/dist/production/src/migrations/2026-08-04-120000-config-panel.cjs +11 -0
  643. package/dist/production/src/migrations/2026-08-04-120000-config-panel.cjs.map +1 -0
  644. package/dist/production/src/migrations/2026-08-04-120000-config-panel.js +12 -0
  645. package/dist/production/src/migrations/2026-08-04-120000-config-panel.js.map +1 -0
  646. package/dist/production/src/migrations/2026-09-04-120000-idp-disable-local-authentication.cjs +18 -0
  647. package/dist/production/src/migrations/2026-09-04-120000-idp-disable-local-authentication.cjs.map +1 -0
  648. package/dist/production/src/migrations/2026-09-04-120000-idp-disable-local-authentication.js +19 -0
  649. package/dist/production/src/migrations/2026-09-04-120000-idp-disable-local-authentication.js.map +1 -0
  650. package/dist/production/src/migrations/2026-09-11-120000-custom-role.cjs +18 -0
  651. package/dist/production/src/migrations/2026-09-11-120000-custom-role.cjs.map +1 -0
  652. package/dist/production/src/migrations/2026-09-11-120000-custom-role.js +19 -0
  653. package/dist/production/src/migrations/2026-09-11-120000-custom-role.js.map +1 -0
  654. package/dist/production/src/migrations/runner.cjs +17 -5
  655. package/dist/production/src/migrations/runner.cjs.map +1 -1
  656. package/dist/production/src/migrations/runner.js +17 -5
  657. package/dist/production/src/migrations/runner.js.map +1 -1
  658. package/dist/production/src/migrations/snapshot.cjs +22 -2
  659. package/dist/production/src/migrations/snapshot.cjs.map +1 -1
  660. package/dist/production/src/migrations/snapshot.js +22 -2
  661. package/dist/production/src/migrations/snapshot.js.map +1 -1
  662. package/dist/production/src/model/authorization/CustomRoleAuthorizator.cjs +65 -0
  663. package/dist/production/src/model/authorization/CustomRoleAuthorizator.cjs.map +1 -0
  664. package/dist/production/src/model/authorization/CustomRoleAuthorizator.js +65 -0
  665. package/dist/production/src/model/authorization/CustomRoleAuthorizator.js.map +1 -0
  666. package/dist/production/src/model/authorization/CustomRolePermissions.cjs +404 -0
  667. package/dist/production/src/model/authorization/CustomRolePermissions.cjs.map +1 -0
  668. package/dist/production/src/model/authorization/CustomRolePermissions.js +387 -0
  669. package/dist/production/src/model/authorization/CustomRolePermissions.js.map +1 -0
  670. package/dist/production/src/model/authorization/PermissionActions.cjs +19 -16
  671. package/dist/production/src/model/authorization/PermissionActions.cjs.map +1 -1
  672. package/dist/production/src/model/authorization/PermissionActions.js +19 -16
  673. package/dist/production/src/model/authorization/PermissionActions.js.map +1 -1
  674. package/dist/production/src/model/authorization/PermissionContextFactory.cjs +20 -2
  675. package/dist/production/src/model/authorization/PermissionContextFactory.cjs.map +1 -1
  676. package/dist/production/src/model/authorization/PermissionContextFactory.js +20 -2
  677. package/dist/production/src/model/authorization/PermissionContextFactory.js.map +1 -1
  678. package/dist/production/src/model/authorization/PermissionsFactory.cjs +32 -24
  679. package/dist/production/src/model/authorization/PermissionsFactory.cjs.map +1 -1
  680. package/dist/production/src/model/authorization/PermissionsFactory.js +33 -25
  681. package/dist/production/src/model/authorization/PermissionsFactory.js.map +1 -1
  682. package/dist/production/src/model/authorization/Roles.cjs +8 -0
  683. package/dist/production/src/model/authorization/Roles.cjs.map +1 -1
  684. package/dist/production/src/model/authorization/Roles.js +8 -0
  685. package/dist/production/src/model/authorization/Roles.js.map +1 -1
  686. package/dist/production/src/model/authorization/TargetIdentityPermission.cjs +35 -0
  687. package/dist/production/src/model/authorization/TargetIdentityPermission.cjs.map +1 -0
  688. package/dist/production/src/model/authorization/TargetIdentityPermission.js +35 -0
  689. package/dist/production/src/model/authorization/TargetIdentityPermission.js.map +1 -0
  690. package/dist/production/src/model/commands/apiKey/ApiKeyHelper.cjs +19 -0
  691. package/dist/production/src/model/commands/apiKey/ApiKeyHelper.cjs.map +1 -1
  692. package/dist/production/src/model/commands/apiKey/ApiKeyHelper.js +19 -0
  693. package/dist/production/src/model/commands/apiKey/ApiKeyHelper.js.map +1 -1
  694. package/dist/production/src/model/commands/apiKey/CreateApiKeyCommand.cjs +4 -2
  695. package/dist/production/src/model/commands/apiKey/CreateApiKeyCommand.cjs.map +1 -1
  696. package/dist/production/src/model/commands/apiKey/CreateApiKeyCommand.js +5 -3
  697. package/dist/production/src/model/commands/apiKey/CreateApiKeyCommand.js.map +1 -1
  698. package/dist/production/src/model/commands/apiKey/ProlongApiKeyCommand.cjs +9 -10
  699. package/dist/production/src/model/commands/apiKey/ProlongApiKeyCommand.cjs.map +1 -1
  700. package/dist/production/src/model/commands/apiKey/ProlongApiKeyCommand.js +10 -11
  701. package/dist/production/src/model/commands/apiKey/ProlongApiKeyCommand.js.map +1 -1
  702. package/dist/production/src/model/commands/authLog/CreateAuthLogEntryCommand.cjs.map +1 -1
  703. package/dist/production/src/model/commands/authLog/CreateAuthLogEntryCommand.js.map +1 -1
  704. package/dist/production/src/model/commands/configuration/UpdateConfigurationCommand.cjs +5 -3
  705. package/dist/production/src/model/commands/configuration/UpdateConfigurationCommand.cjs.map +1 -1
  706. package/dist/production/src/model/commands/configuration/UpdateConfigurationCommand.js +5 -3
  707. package/dist/production/src/model/commands/configuration/UpdateConfigurationCommand.js.map +1 -1
  708. package/dist/production/src/model/commands/customRole/CreateCustomRoleCommand.cjs +23 -0
  709. package/dist/production/src/model/commands/customRole/CreateCustomRoleCommand.cjs.map +1 -0
  710. package/dist/production/src/model/commands/customRole/CreateCustomRoleCommand.js +23 -0
  711. package/dist/production/src/model/commands/customRole/CreateCustomRoleCommand.js.map +1 -0
  712. package/dist/production/src/model/commands/customRole/DeleteCustomRoleCommand.cjs +14 -0
  713. package/dist/production/src/model/commands/customRole/DeleteCustomRoleCommand.cjs.map +1 -0
  714. package/dist/production/src/model/commands/customRole/DeleteCustomRoleCommand.js +14 -0
  715. package/dist/production/src/model/commands/customRole/DeleteCustomRoleCommand.js.map +1 -0
  716. package/dist/production/src/model/commands/customRole/RemoveCustomRoleAssignmentsCommand.cjs +16 -0
  717. package/dist/production/src/model/commands/customRole/RemoveCustomRoleAssignmentsCommand.cjs.map +1 -0
  718. package/dist/production/src/model/commands/customRole/RemoveCustomRoleAssignmentsCommand.js +16 -0
  719. package/dist/production/src/model/commands/customRole/RemoveCustomRoleAssignmentsCommand.js.map +1 -0
  720. package/dist/production/src/model/commands/customRole/UpdateCustomRoleCommand.cjs +19 -0
  721. package/dist/production/src/model/commands/customRole/UpdateCustomRoleCommand.cjs.map +1 -0
  722. package/dist/production/src/model/commands/customRole/UpdateCustomRoleCommand.js +19 -0
  723. package/dist/production/src/model/commands/customRole/UpdateCustomRoleCommand.js.map +1 -0
  724. package/dist/production/src/model/commands/identity/PatchIdentityGlobalRoles.cjs +1 -1
  725. package/dist/production/src/model/commands/identity/PatchIdentityGlobalRoles.cjs.map +1 -1
  726. package/dist/production/src/model/commands/identity/PatchIdentityGlobalRoles.js +1 -1
  727. package/dist/production/src/model/commands/identity/PatchIdentityGlobalRoles.js.map +1 -1
  728. package/dist/production/src/model/commands/idp/ClaimIdpRevalidationCommand.cjs +3 -7
  729. package/dist/production/src/model/commands/idp/ClaimIdpRevalidationCommand.cjs.map +1 -1
  730. package/dist/production/src/model/commands/idp/ClaimIdpRevalidationCommand.js +3 -7
  731. package/dist/production/src/model/commands/idp/ClaimIdpRevalidationCommand.js.map +1 -1
  732. package/dist/production/src/model/commands/idp/CreateIdpCommand.cjs +8 -2
  733. package/dist/production/src/model/commands/idp/CreateIdpCommand.cjs.map +1 -1
  734. package/dist/production/src/model/commands/idp/CreateIdpCommand.js +8 -2
  735. package/dist/production/src/model/commands/idp/CreateIdpCommand.js.map +1 -1
  736. package/dist/production/src/model/commands/idp/CreateIdpSessionCommand.cjs +4 -1
  737. package/dist/production/src/model/commands/idp/CreateIdpSessionCommand.cjs.map +1 -1
  738. package/dist/production/src/model/commands/idp/CreateIdpSessionCommand.js +5 -2
  739. package/dist/production/src/model/commands/idp/CreateIdpSessionCommand.js.map +1 -1
  740. package/dist/production/src/model/commands/idp/UpdateIdpCommand.cjs +6 -2
  741. package/dist/production/src/model/commands/idp/UpdateIdpCommand.cjs.map +1 -1
  742. package/dist/production/src/model/commands/idp/UpdateIdpCommand.js +6 -2
  743. package/dist/production/src/model/commands/idp/UpdateIdpCommand.js.map +1 -1
  744. package/dist/production/src/model/commands/idp/UpdateIdpSessionCommand.cjs +2 -1
  745. package/dist/production/src/model/commands/idp/UpdateIdpSessionCommand.cjs.map +1 -1
  746. package/dist/production/src/model/commands/idp/UpdateIdpSessionCommand.js +3 -2
  747. package/dist/production/src/model/commands/idp/UpdateIdpSessionCommand.js.map +1 -1
  748. package/dist/production/src/model/commands/membership/{RemoveProjectMembershipsCommand.cjs → RemoveProjectMembershipCommand.cjs} +1 -1
  749. package/dist/production/src/model/commands/membership/RemoveProjectMembershipCommand.cjs.map +1 -0
  750. package/dist/production/src/model/commands/membership/{RemoveProjectMembershipsCommand.js → RemoveProjectMembershipCommand.js} +1 -1
  751. package/dist/production/src/model/commands/membership/RemoveProjectMembershipCommand.js.map +1 -0
  752. package/dist/production/src/model/commands/membership/UpdateProjectMemberCommand.cjs +2 -2
  753. package/dist/production/src/model/commands/membership/UpdateProjectMemberCommand.cjs.map +1 -1
  754. package/dist/production/src/model/commands/membership/UpdateProjectMemberCommand.js +1 -1
  755. package/dist/production/src/model/commands/membership/UpdateProjectMemberCommand.js.map +1 -1
  756. package/dist/production/src/model/commands/person/CreatePersonCommand.cjs +1 -0
  757. package/dist/production/src/model/commands/person/CreatePersonCommand.cjs.map +1 -1
  758. package/dist/production/src/model/commands/person/CreatePersonCommand.js +1 -0
  759. package/dist/production/src/model/commands/person/CreatePersonCommand.js.map +1 -1
  760. package/dist/production/src/model/commands/person/EnablePersonCommand.cjs +17 -0
  761. package/dist/production/src/model/commands/person/EnablePersonCommand.cjs.map +1 -0
  762. package/dist/production/src/model/commands/person/EnablePersonCommand.js +17 -0
  763. package/dist/production/src/model/commands/person/EnablePersonCommand.js.map +1 -0
  764. package/dist/production/src/model/commands/person/SetMfaGraceUntilCommand.cjs +3 -3
  765. package/dist/production/src/model/commands/person/SetMfaGraceUntilCommand.cjs.map +1 -1
  766. package/dist/production/src/model/commands/person/SetMfaGraceUntilCommand.js +4 -4
  767. package/dist/production/src/model/commands/person/SetMfaGraceUntilCommand.js.map +1 -1
  768. package/dist/production/src/model/commands/personToken/ResetPasswordCommand.cjs +2 -3
  769. package/dist/production/src/model/commands/personToken/ResetPasswordCommand.cjs.map +1 -1
  770. package/dist/production/src/model/commands/personToken/ResetPasswordCommand.js +2 -3
  771. package/dist/production/src/model/commands/personToken/ResetPasswordCommand.js.map +1 -1
  772. package/dist/production/src/model/commands/personToken/SaveEmailOtpTokenCommand.cjs +3 -3
  773. package/dist/production/src/model/commands/personToken/SaveEmailOtpTokenCommand.cjs.map +1 -1
  774. package/dist/production/src/model/commands/personToken/SaveEmailOtpTokenCommand.js +4 -4
  775. package/dist/production/src/model/commands/personToken/SaveEmailOtpTokenCommand.js.map +1 -1
  776. package/dist/production/src/model/commands/personToken/SavePersonTokenCommand.cjs +12 -6
  777. package/dist/production/src/model/commands/personToken/SavePersonTokenCommand.cjs.map +1 -1
  778. package/dist/production/src/model/commands/personToken/SavePersonTokenCommand.js +13 -7
  779. package/dist/production/src/model/commands/personToken/SavePersonTokenCommand.js.map +1 -1
  780. package/dist/production/src/model/commands/rateLimit/RecordRateLimitEventCommand.cjs +1 -2
  781. package/dist/production/src/model/commands/rateLimit/RecordRateLimitEventCommand.cjs.map +1 -1
  782. package/dist/production/src/model/commands/rateLimit/RecordRateLimitEventCommand.js +1 -2
  783. package/dist/production/src/model/commands/rateLimit/RecordRateLimitEventCommand.js.map +1 -1
  784. package/dist/production/src/model/mailing/UserMailer.cjs +2 -1
  785. package/dist/production/src/model/mailing/UserMailer.cjs.map +1 -1
  786. package/dist/production/src/model/mailing/UserMailer.js +2 -1
  787. package/dist/production/src/model/mailing/UserMailer.js.map +1 -1
  788. package/dist/production/src/model/queries/apiKey/ApiKeyQuery.cjs +8 -1
  789. package/dist/production/src/model/queries/apiKey/ApiKeyQuery.cjs.map +1 -1
  790. package/dist/production/src/model/queries/apiKey/ApiKeyQuery.js +9 -2
  791. package/dist/production/src/model/queries/apiKey/ApiKeyQuery.js.map +1 -1
  792. package/dist/production/src/model/queries/apiKey/ApiKeySessionsQuery.cjs +2 -3
  793. package/dist/production/src/model/queries/apiKey/ApiKeySessionsQuery.cjs.map +1 -1
  794. package/dist/production/src/model/queries/apiKey/ApiKeySessionsQuery.js +2 -3
  795. package/dist/production/src/model/queries/apiKey/ApiKeySessionsQuery.js.map +1 -1
  796. package/dist/production/src/model/queries/authLog/NextLoginAttemptQuery.cjs +12 -10
  797. package/dist/production/src/model/queries/authLog/NextLoginAttemptQuery.cjs.map +1 -1
  798. package/dist/production/src/model/queries/authLog/NextLoginAttemptQuery.js +12 -10
  799. package/dist/production/src/model/queries/authLog/NextLoginAttemptQuery.js.map +1 -1
  800. package/dist/production/src/model/queries/authLog/NextMailAttemptQuery.cjs +10 -8
  801. package/dist/production/src/model/queries/authLog/NextMailAttemptQuery.cjs.map +1 -1
  802. package/dist/production/src/model/queries/authLog/NextMailAttemptQuery.js +10 -8
  803. package/dist/production/src/model/queries/authLog/NextMailAttemptQuery.js.map +1 -1
  804. package/dist/production/src/model/queries/configuration/ConfigurationQuery.cjs +4 -0
  805. package/dist/production/src/model/queries/configuration/ConfigurationQuery.cjs.map +1 -1
  806. package/dist/production/src/model/queries/configuration/ConfigurationQuery.js +4 -0
  807. package/dist/production/src/model/queries/configuration/ConfigurationQuery.js.map +1 -1
  808. package/dist/production/src/model/queries/customRole/CustomRolesQuery.cjs +23 -0
  809. package/dist/production/src/model/queries/customRole/CustomRolesQuery.cjs.map +1 -0
  810. package/dist/production/src/model/queries/customRole/CustomRolesQuery.js +23 -0
  811. package/dist/production/src/model/queries/customRole/CustomRolesQuery.js.map +1 -0
  812. package/dist/production/src/model/queries/identity/IdentitiesHoldingRoleCountQuery.cjs +15 -0
  813. package/dist/production/src/model/queries/identity/IdentitiesHoldingRoleCountQuery.cjs.map +1 -0
  814. package/dist/production/src/model/queries/identity/IdentitiesHoldingRoleCountQuery.js +15 -0
  815. package/dist/production/src/model/queries/identity/IdentitiesHoldingRoleCountQuery.js.map +1 -0
  816. package/dist/production/src/model/queries/identity/IdentityQuery.cjs +7 -2
  817. package/dist/production/src/model/queries/identity/IdentityQuery.cjs.map +1 -1
  818. package/dist/production/src/model/queries/identity/IdentityQuery.js +7 -2
  819. package/dist/production/src/model/queries/identity/IdentityQuery.js.map +1 -1
  820. package/dist/production/src/model/queries/idp/LocalAuthDisablingIdpsQuery.cjs +21 -0
  821. package/dist/production/src/model/queries/idp/LocalAuthDisablingIdpsQuery.cjs.map +1 -0
  822. package/dist/production/src/model/queries/idp/LocalAuthDisablingIdpsQuery.js +21 -0
  823. package/dist/production/src/model/queries/idp/LocalAuthDisablingIdpsQuery.js.map +1 -0
  824. package/dist/production/src/model/queries/idp/PersonIdentityProvidersQuery.cjs +1 -1
  825. package/dist/production/src/model/queries/idp/PersonIdentityProvidersQuery.cjs.map +1 -1
  826. package/dist/production/src/model/queries/idp/PersonIdentityProvidersQuery.js +1 -1
  827. package/dist/production/src/model/queries/idp/PersonIdentityProvidersQuery.js.map +1 -1
  828. package/dist/production/src/model/queries/idp/helpers.cjs +3 -3
  829. package/dist/production/src/model/queries/idp/helpers.cjs.map +1 -1
  830. package/dist/production/src/model/queries/idp/helpers.js +3 -3
  831. package/dist/production/src/model/queries/idp/helpers.js.map +1 -1
  832. package/dist/production/src/model/queries/membership/IdentityHasProjectMembershipsQuery.cjs +15 -0
  833. package/dist/production/src/model/queries/membership/IdentityHasProjectMembershipsQuery.cjs.map +1 -0
  834. package/dist/production/src/model/queries/membership/IdentityHasProjectMembershipsQuery.js +15 -0
  835. package/dist/production/src/model/queries/membership/IdentityHasProjectMembershipsQuery.js.map +1 -0
  836. package/dist/production/src/model/queries/membership/ProjectMembersQuery.cjs +1 -1
  837. package/dist/production/src/model/queries/membership/ProjectMembersQuery.cjs.map +1 -1
  838. package/dist/production/src/model/queries/membership/ProjectMembersQuery.js +1 -1
  839. package/dist/production/src/model/queries/membership/ProjectMembersQuery.js.map +1 -1
  840. package/dist/production/src/model/queries/person/PersonQueryBuilderFactory.cjs +2 -2
  841. package/dist/production/src/model/queries/person/PersonQueryBuilderFactory.cjs.map +1 -1
  842. package/dist/production/src/model/queries/person/PersonQueryBuilderFactory.js +2 -2
  843. package/dist/production/src/model/queries/person/PersonQueryBuilderFactory.js.map +1 -1
  844. package/dist/production/src/model/queries/personToken/PersonTokenQuery.cjs +1 -1
  845. package/dist/production/src/model/queries/personToken/PersonTokenQuery.cjs.map +1 -1
  846. package/dist/production/src/model/queries/personToken/PersonTokenQuery.js +1 -1
  847. package/dist/production/src/model/queries/personToken/PersonTokenQuery.js.map +1 -1
  848. package/dist/production/src/model/queries/project/ProjectsByIdentityQuery.cjs +4 -1
  849. package/dist/production/src/model/queries/project/ProjectsByIdentityQuery.cjs.map +1 -1
  850. package/dist/production/src/model/queries/project/ProjectsByIdentityQuery.js +4 -1
  851. package/dist/production/src/model/queries/project/ProjectsByIdentityQuery.js.map +1 -1
  852. package/dist/production/src/model/queries/rateLimit/RateLimitCountQuery.cjs +3 -3
  853. package/dist/production/src/model/queries/rateLimit/RateLimitCountQuery.cjs.map +1 -1
  854. package/dist/production/src/model/queries/rateLimit/RateLimitCountQuery.js +3 -3
  855. package/dist/production/src/model/queries/rateLimit/RateLimitCountQuery.js.map +1 -1
  856. package/dist/production/src/model/service/AuthLogService.cjs +8 -2
  857. package/dist/production/src/model/service/AuthLogService.cjs.map +1 -1
  858. package/dist/production/src/model/service/AuthLogService.js +8 -2
  859. package/dist/production/src/model/service/AuthLogService.js.map +1 -1
  860. package/dist/production/src/model/service/AuthPolicyManager.cjs +2 -1
  861. package/dist/production/src/model/service/AuthPolicyManager.cjs.map +1 -1
  862. package/dist/production/src/model/service/AuthPolicyManager.js +2 -1
  863. package/dist/production/src/model/service/AuthPolicyManager.js.map +1 -1
  864. package/dist/production/src/model/service/AuthPolicyResolver.cjs +2 -1
  865. package/dist/production/src/model/service/AuthPolicyResolver.cjs.map +1 -1
  866. package/dist/production/src/model/service/AuthPolicyResolver.js +2 -1
  867. package/dist/production/src/model/service/AuthPolicyResolver.js.map +1 -1
  868. package/dist/production/src/model/service/CustomRoleManager.cjs +170 -0
  869. package/dist/production/src/model/service/CustomRoleManager.cjs.map +1 -0
  870. package/dist/production/src/model/service/CustomRoleManager.js +170 -0
  871. package/dist/production/src/model/service/CustomRoleManager.js.map +1 -0
  872. package/dist/production/src/model/service/EmailChangeManager.cjs +5 -4
  873. package/dist/production/src/model/service/EmailChangeManager.cjs.map +1 -1
  874. package/dist/production/src/model/service/EmailChangeManager.js +5 -4
  875. package/dist/production/src/model/service/EmailChangeManager.js.map +1 -1
  876. package/dist/production/src/model/service/EmailOtpManager.cjs +0 -1
  877. package/dist/production/src/model/service/EmailOtpManager.cjs.map +1 -1
  878. package/dist/production/src/model/service/EmailOtpManager.js +0 -1
  879. package/dist/production/src/model/service/EmailOtpManager.js.map +1 -1
  880. package/dist/production/src/model/service/EmailValidator.cjs +2 -1
  881. package/dist/production/src/model/service/EmailValidator.cjs.map +1 -1
  882. package/dist/production/src/model/service/EmailValidator.js +2 -1
  883. package/dist/production/src/model/service/EmailValidator.js.map +1 -1
  884. package/dist/production/src/model/service/EmailVerificationManager.cjs +5 -4
  885. package/dist/production/src/model/service/EmailVerificationManager.cjs.map +1 -1
  886. package/dist/production/src/model/service/EmailVerificationManager.js +5 -4
  887. package/dist/production/src/model/service/EmailVerificationManager.js.map +1 -1
  888. package/dist/production/src/model/service/GlobalRoleValidator.cjs +35 -0
  889. package/dist/production/src/model/service/GlobalRoleValidator.cjs.map +1 -0
  890. package/dist/production/src/model/service/GlobalRoleValidator.js +35 -0
  891. package/dist/production/src/model/service/GlobalRoleValidator.js.map +1 -0
  892. package/dist/production/src/model/service/IDPSignInManager.cjs +52 -16
  893. package/dist/production/src/model/service/IDPSignInManager.cjs.map +1 -1
  894. package/dist/production/src/model/service/IDPSignInManager.js +52 -16
  895. package/dist/production/src/model/service/IDPSignInManager.js.map +1 -1
  896. package/dist/production/src/model/service/InviteManager.cjs +2 -1
  897. package/dist/production/src/model/service/InviteManager.cjs.map +1 -1
  898. package/dist/production/src/model/service/InviteManager.js +2 -1
  899. package/dist/production/src/model/service/InviteManager.js.map +1 -1
  900. package/dist/production/src/model/service/PanelAccessResolver.cjs +32 -0
  901. package/dist/production/src/model/service/PanelAccessResolver.cjs.map +1 -0
  902. package/dist/production/src/model/service/PanelAccessResolver.js +32 -0
  903. package/dist/production/src/model/service/PanelAccessResolver.js.map +1 -0
  904. package/dist/production/src/model/service/PasswordChangeManager.cjs +2 -1
  905. package/dist/production/src/model/service/PasswordChangeManager.cjs.map +1 -1
  906. package/dist/production/src/model/service/PasswordChangeManager.js +2 -1
  907. package/dist/production/src/model/service/PasswordChangeManager.js.map +1 -1
  908. package/dist/production/src/model/service/PasswordResetManager.cjs +9 -3
  909. package/dist/production/src/model/service/PasswordResetManager.cjs.map +1 -1
  910. package/dist/production/src/model/service/PasswordResetManager.js +9 -3
  911. package/dist/production/src/model/service/PasswordResetManager.js.map +1 -1
  912. package/dist/production/src/model/service/PasswordlessSignInManager.cjs +24 -6
  913. package/dist/production/src/model/service/PasswordlessSignInManager.cjs.map +1 -1
  914. package/dist/production/src/model/service/PasswordlessSignInManager.js +24 -6
  915. package/dist/production/src/model/service/PasswordlessSignInManager.js.map +1 -1
  916. package/dist/production/src/model/service/PersonAccessManager.cjs +10 -2
  917. package/dist/production/src/model/service/PersonAccessManager.cjs.map +1 -1
  918. package/dist/production/src/model/service/PersonAccessManager.js +10 -2
  919. package/dist/production/src/model/service/PersonAccessManager.js.map +1 -1
  920. package/dist/production/src/model/service/PersonManager.cjs +2 -1
  921. package/dist/production/src/model/service/PersonManager.cjs.map +1 -1
  922. package/dist/production/src/model/service/PersonManager.js +2 -1
  923. package/dist/production/src/model/service/PersonManager.js.map +1 -1
  924. package/dist/production/src/model/service/ProjectMemberManager.cjs +2 -1
  925. package/dist/production/src/model/service/ProjectMemberManager.cjs.map +1 -1
  926. package/dist/production/src/model/service/ProjectMemberManager.js +2 -1
  927. package/dist/production/src/model/service/ProjectMemberManager.js.map +1 -1
  928. package/dist/production/src/model/service/RateLimiter.cjs +1 -2
  929. package/dist/production/src/model/service/RateLimiter.cjs.map +1 -1
  930. package/dist/production/src/model/service/RateLimiter.js +1 -2
  931. package/dist/production/src/model/service/RateLimiter.js.map +1 -1
  932. package/dist/production/src/model/service/RolesManager.cjs +17 -18
  933. package/dist/production/src/model/service/RolesManager.cjs.map +1 -1
  934. package/dist/production/src/model/service/RolesManager.js +18 -19
  935. package/dist/production/src/model/service/RolesManager.js.map +1 -1
  936. package/dist/production/src/model/service/SecretsManager.cjs +2 -1
  937. package/dist/production/src/model/service/SecretsManager.cjs.map +1 -1
  938. package/dist/production/src/model/service/SecretsManager.js +2 -1
  939. package/dist/production/src/model/service/SecretsManager.js.map +1 -1
  940. package/dist/production/src/model/service/SignInManager.cjs +9 -5
  941. package/dist/production/src/model/service/SignInManager.cjs.map +1 -1
  942. package/dist/production/src/model/service/SignInManager.js +9 -5
  943. package/dist/production/src/model/service/SignInManager.js.map +1 -1
  944. package/dist/production/src/model/service/SignOutManager.cjs +2 -1
  945. package/dist/production/src/model/service/SignOutManager.cjs.map +1 -1
  946. package/dist/production/src/model/service/SignOutManager.js +2 -1
  947. package/dist/production/src/model/service/SignOutManager.js.map +1 -1
  948. package/dist/production/src/model/service/SignUpManager.cjs +15 -7
  949. package/dist/production/src/model/service/SignUpManager.cjs.map +1 -1
  950. package/dist/production/src/model/service/SignUpManager.js +15 -7
  951. package/dist/production/src/model/service/SignUpManager.js.map +1 -1
  952. package/dist/production/src/model/service/apiKey/ApiKeyManager.cjs +56 -40
  953. package/dist/production/src/model/service/apiKey/ApiKeyManager.cjs.map +1 -1
  954. package/dist/production/src/model/service/apiKey/ApiKeyManager.js +57 -41
  955. package/dist/production/src/model/service/apiKey/ApiKeyManager.js.map +1 -1
  956. package/dist/production/src/model/service/apiKey/ApiKeyService.cjs.map +1 -1
  957. package/dist/production/src/model/service/apiKey/ApiKeyService.js.map +1 -1
  958. package/dist/production/src/model/service/apiKey/UnpersistedApiKeyManager.cjs +10 -1
  959. package/dist/production/src/model/service/apiKey/UnpersistedApiKeyManager.cjs.map +1 -1
  960. package/dist/production/src/model/service/apiKey/UnpersistedApiKeyManager.js +11 -2
  961. package/dist/production/src/model/service/apiKey/UnpersistedApiKeyManager.js.map +1 -1
  962. package/dist/production/src/model/service/idp/ClaimMapping.cjs +187 -0
  963. package/dist/production/src/model/service/idp/ClaimMapping.cjs.map +1 -0
  964. package/dist/production/src/model/service/idp/ClaimMapping.js +170 -0
  965. package/dist/production/src/model/service/idp/ClaimMapping.js.map +1 -0
  966. package/dist/production/src/model/service/idp/ClaimMappingEvaluator.cjs +155 -0
  967. package/dist/production/src/model/service/idp/ClaimMappingEvaluator.cjs.map +1 -0
  968. package/dist/production/src/model/service/idp/ClaimMappingEvaluator.js +155 -0
  969. package/dist/production/src/model/service/idp/ClaimMappingEvaluator.js.map +1 -0
  970. package/dist/production/src/model/service/idp/ClaimMappingValidation.cjs +83 -0
  971. package/dist/production/src/model/service/idp/ClaimMappingValidation.cjs.map +1 -0
  972. package/dist/production/src/model/service/idp/ClaimMappingValidation.js +83 -0
  973. package/dist/production/src/model/service/idp/ClaimMappingValidation.js.map +1 -0
  974. package/dist/production/src/model/service/idp/IDPClaimSyncService.cjs +261 -0
  975. package/dist/production/src/model/service/idp/IDPClaimSyncService.cjs.map +1 -0
  976. package/dist/production/src/model/service/idp/IDPClaimSyncService.js +261 -0
  977. package/dist/production/src/model/service/idp/IDPClaimSyncService.js.map +1 -0
  978. package/dist/production/src/model/service/idp/IDPManager.cjs +98 -21
  979. package/dist/production/src/model/service/idp/IDPManager.cjs.map +1 -1
  980. package/dist/production/src/model/service/idp/IDPManager.js +98 -21
  981. package/dist/production/src/model/service/idp/IDPManager.js.map +1 -1
  982. package/dist/production/src/model/service/idp/IdpSessionRevalidator.cjs +93 -28
  983. package/dist/production/src/model/service/idp/IdpSessionRevalidator.cjs.map +1 -1
  984. package/dist/production/src/model/service/idp/IdpSessionRevalidator.js +93 -28
  985. package/dist/production/src/model/service/idp/IdpSessionRevalidator.js.map +1 -1
  986. package/dist/production/src/model/service/idp/PersonIdentityProviderManager.cjs +8 -1
  987. package/dist/production/src/model/service/idp/PersonIdentityProviderManager.cjs.map +1 -1
  988. package/dist/production/src/model/service/idp/PersonIdentityProviderManager.js +8 -1
  989. package/dist/production/src/model/service/idp/PersonIdentityProviderManager.js.map +1 -1
  990. package/dist/production/src/model/service/idp/providers/OIDCHelpers.cjs +69 -33
  991. package/dist/production/src/model/service/idp/providers/OIDCHelpers.cjs.map +1 -1
  992. package/dist/production/src/model/service/idp/providers/OIDCHelpers.js +69 -33
  993. package/dist/production/src/model/service/idp/providers/OIDCHelpers.js.map +1 -1
  994. package/dist/production/src/model/service/idp/providers/OIDCProvider.cjs +4 -1
  995. package/dist/production/src/model/service/idp/providers/OIDCProvider.cjs.map +1 -1
  996. package/dist/production/src/model/service/idp/providers/OIDCProvider.js +4 -1
  997. package/dist/production/src/model/service/idp/providers/OIDCProvider.js.map +1 -1
  998. package/dist/production/src/model/utils/DatabaseContext.cjs +10 -3
  999. package/dist/production/src/model/utils/DatabaseContext.cjs.map +1 -1
  1000. package/dist/production/src/model/utils/DatabaseContext.js +11 -4
  1001. package/dist/production/src/model/utils/DatabaseContext.js.map +1 -1
  1002. package/dist/production/src/model/utils/token.cjs +2 -2
  1003. package/dist/production/src/model/utils/token.cjs.map +1 -1
  1004. package/dist/production/src/model/utils/token.js +2 -2
  1005. package/dist/production/src/model/utils/token.js.map +1 -1
  1006. package/dist/production/src/resolvers/ResolverFactory.cjs +12 -3
  1007. package/dist/production/src/resolvers/ResolverFactory.cjs.map +1 -1
  1008. package/dist/production/src/resolvers/ResolverFactory.js +12 -3
  1009. package/dist/production/src/resolvers/ResolverFactory.js.map +1 -1
  1010. package/dist/production/src/resolvers/TenantResolverContextFactory.cjs +4 -4
  1011. package/dist/production/src/resolvers/TenantResolverContextFactory.cjs.map +1 -1
  1012. package/dist/production/src/resolvers/TenantResolverContextFactory.js +4 -4
  1013. package/dist/production/src/resolvers/TenantResolverContextFactory.js.map +1 -1
  1014. package/dist/production/src/resolvers/mutation/apiKey/CreateApiKeyMutationResolver.cjs +19 -9
  1015. package/dist/production/src/resolvers/mutation/apiKey/CreateApiKeyMutationResolver.cjs.map +1 -1
  1016. package/dist/production/src/resolvers/mutation/apiKey/CreateApiKeyMutationResolver.js +20 -10
  1017. package/dist/production/src/resolvers/mutation/apiKey/CreateApiKeyMutationResolver.js.map +1 -1
  1018. package/dist/production/src/resolvers/mutation/apiKey/DisableApiKeyMutationResolver.cjs +7 -5
  1019. package/dist/production/src/resolvers/mutation/apiKey/DisableApiKeyMutationResolver.cjs.map +1 -1
  1020. package/dist/production/src/resolvers/mutation/apiKey/DisableApiKeyMutationResolver.js +7 -5
  1021. package/dist/production/src/resolvers/mutation/apiKey/DisableApiKeyMutationResolver.js.map +1 -1
  1022. package/dist/production/src/resolvers/mutation/configuration/AuthPolicyMutationResolver.cjs +7 -5
  1023. package/dist/production/src/resolvers/mutation/configuration/AuthPolicyMutationResolver.cjs.map +1 -1
  1024. package/dist/production/src/resolvers/mutation/configuration/AuthPolicyMutationResolver.js +7 -5
  1025. package/dist/production/src/resolvers/mutation/configuration/AuthPolicyMutationResolver.js.map +1 -1
  1026. package/dist/production/src/resolvers/mutation/configuration/ConfigurationMutationResolver.cjs +7 -5
  1027. package/dist/production/src/resolvers/mutation/configuration/ConfigurationMutationResolver.cjs.map +1 -1
  1028. package/dist/production/src/resolvers/mutation/configuration/ConfigurationMutationResolver.js +7 -5
  1029. package/dist/production/src/resolvers/mutation/configuration/ConfigurationMutationResolver.js.map +1 -1
  1030. package/dist/production/src/resolvers/mutation/customRole/CustomRoleMutationResolver.cjs +124 -0
  1031. package/dist/production/src/resolvers/mutation/customRole/CustomRoleMutationResolver.cjs.map +1 -0
  1032. package/dist/production/src/resolvers/mutation/customRole/CustomRoleMutationResolver.js +124 -0
  1033. package/dist/production/src/resolvers/mutation/customRole/CustomRoleMutationResolver.js.map +1 -0
  1034. package/dist/production/src/resolvers/mutation/identity/GlobalRolesMutationResolver.cjs +35 -11
  1035. package/dist/production/src/resolvers/mutation/identity/GlobalRolesMutationResolver.cjs.map +1 -1
  1036. package/dist/production/src/resolvers/mutation/identity/GlobalRolesMutationResolver.js +35 -11
  1037. package/dist/production/src/resolvers/mutation/identity/GlobalRolesMutationResolver.js.map +1 -1
  1038. package/dist/production/src/resolvers/mutation/idp/AddIDPMutationResolver.cjs +10 -7
  1039. package/dist/production/src/resolvers/mutation/idp/AddIDPMutationResolver.cjs.map +1 -1
  1040. package/dist/production/src/resolvers/mutation/idp/AddIDPMutationResolver.js +10 -7
  1041. package/dist/production/src/resolvers/mutation/idp/AddIDPMutationResolver.js.map +1 -1
  1042. package/dist/production/src/resolvers/mutation/idp/DisableIDPMutationResolver.cjs +7 -5
  1043. package/dist/production/src/resolvers/mutation/idp/DisableIDPMutationResolver.cjs.map +1 -1
  1044. package/dist/production/src/resolvers/mutation/idp/DisableIDPMutationResolver.js +7 -5
  1045. package/dist/production/src/resolvers/mutation/idp/DisableIDPMutationResolver.js.map +1 -1
  1046. package/dist/production/src/resolvers/mutation/idp/DisconnectMyIdentityProviderMutationResolver.cjs +8 -6
  1047. package/dist/production/src/resolvers/mutation/idp/DisconnectMyIdentityProviderMutationResolver.cjs.map +1 -1
  1048. package/dist/production/src/resolvers/mutation/idp/DisconnectMyIdentityProviderMutationResolver.js +8 -6
  1049. package/dist/production/src/resolvers/mutation/idp/DisconnectMyIdentityProviderMutationResolver.js.map +1 -1
  1050. package/dist/production/src/resolvers/mutation/idp/EnableIDPMutationResolver.cjs +7 -5
  1051. package/dist/production/src/resolvers/mutation/idp/EnableIDPMutationResolver.cjs.map +1 -1
  1052. package/dist/production/src/resolvers/mutation/idp/EnableIDPMutationResolver.js +7 -5
  1053. package/dist/production/src/resolvers/mutation/idp/EnableIDPMutationResolver.js.map +1 -1
  1054. package/dist/production/src/resolvers/mutation/idp/UpdateIDPMutationResolver.cjs +10 -7
  1055. package/dist/production/src/resolvers/mutation/idp/UpdateIDPMutationResolver.cjs.map +1 -1
  1056. package/dist/production/src/resolvers/mutation/idp/UpdateIDPMutationResolver.js +10 -7
  1057. package/dist/production/src/resolvers/mutation/idp/UpdateIDPMutationResolver.js.map +1 -1
  1058. package/dist/production/src/resolvers/mutation/idp/audit.cjs +1 -0
  1059. package/dist/production/src/resolvers/mutation/idp/audit.cjs.map +1 -1
  1060. package/dist/production/src/resolvers/mutation/idp/audit.js +1 -0
  1061. package/dist/production/src/resolvers/mutation/idp/audit.js.map +1 -1
  1062. package/dist/production/src/resolvers/mutation/mailTemplates/MailTemplateMutationResolver.cjs +38 -18
  1063. package/dist/production/src/resolvers/mutation/mailTemplates/MailTemplateMutationResolver.cjs.map +1 -1
  1064. package/dist/production/src/resolvers/mutation/mailTemplates/MailTemplateMutationResolver.js +38 -18
  1065. package/dist/production/src/resolvers/mutation/mailTemplates/MailTemplateMutationResolver.js.map +1 -1
  1066. package/dist/production/src/resolvers/mutation/person/ChangePasswordMutationResolver.cjs +10 -8
  1067. package/dist/production/src/resolvers/mutation/person/ChangePasswordMutationResolver.cjs.map +1 -1
  1068. package/dist/production/src/resolvers/mutation/person/ChangePasswordMutationResolver.js +10 -8
  1069. package/dist/production/src/resolvers/mutation/person/ChangePasswordMutationResolver.js.map +1 -1
  1070. package/dist/production/src/resolvers/mutation/person/ChangeProfileMutationResolver.cjs +17 -11
  1071. package/dist/production/src/resolvers/mutation/person/ChangeProfileMutationResolver.cjs.map +1 -1
  1072. package/dist/production/src/resolvers/mutation/person/ChangeProfileMutationResolver.js +17 -11
  1073. package/dist/production/src/resolvers/mutation/person/ChangeProfileMutationResolver.js.map +1 -1
  1074. package/dist/production/src/resolvers/mutation/person/DisablePersonMutationResolver.cjs +10 -8
  1075. package/dist/production/src/resolvers/mutation/person/DisablePersonMutationResolver.cjs.map +1 -1
  1076. package/dist/production/src/resolvers/mutation/person/DisablePersonMutationResolver.js +10 -8
  1077. package/dist/production/src/resolvers/mutation/person/DisablePersonMutationResolver.js.map +1 -1
  1078. package/dist/production/src/resolvers/mutation/person/EmailOtpMutationResolver.cjs +10 -8
  1079. package/dist/production/src/resolvers/mutation/person/EmailOtpMutationResolver.cjs.map +1 -1
  1080. package/dist/production/src/resolvers/mutation/person/EmailOtpMutationResolver.js +10 -8
  1081. package/dist/production/src/resolvers/mutation/person/EmailOtpMutationResolver.js.map +1 -1
  1082. package/dist/production/src/resolvers/mutation/person/EmailVerificationMutationResolver.cjs +10 -8
  1083. package/dist/production/src/resolvers/mutation/person/EmailVerificationMutationResolver.cjs.map +1 -1
  1084. package/dist/production/src/resolvers/mutation/person/EmailVerificationMutationResolver.js +10 -8
  1085. package/dist/production/src/resolvers/mutation/person/EmailVerificationMutationResolver.js.map +1 -1
  1086. package/dist/production/src/resolvers/mutation/person/EnablePersonMutationResolver.cjs +61 -0
  1087. package/dist/production/src/resolvers/mutation/person/EnablePersonMutationResolver.cjs.map +1 -0
  1088. package/dist/production/src/resolvers/mutation/person/EnablePersonMutationResolver.js +61 -0
  1089. package/dist/production/src/resolvers/mutation/person/EnablePersonMutationResolver.js.map +1 -0
  1090. package/dist/production/src/resolvers/mutation/person/ForceSignOutMutationResolver.cjs +8 -6
  1091. package/dist/production/src/resolvers/mutation/person/ForceSignOutMutationResolver.cjs.map +1 -1
  1092. package/dist/production/src/resolvers/mutation/person/ForceSignOutMutationResolver.js +8 -6
  1093. package/dist/production/src/resolvers/mutation/person/ForceSignOutMutationResolver.js.map +1 -1
  1094. package/dist/production/src/resolvers/mutation/person/IDPMutationResolver.cjs +32 -5
  1095. package/dist/production/src/resolvers/mutation/person/IDPMutationResolver.cjs.map +1 -1
  1096. package/dist/production/src/resolvers/mutation/person/IDPMutationResolver.js +32 -5
  1097. package/dist/production/src/resolvers/mutation/person/IDPMutationResolver.js.map +1 -1
  1098. package/dist/production/src/resolvers/mutation/person/InviteMutationResolver.cjs +7 -5
  1099. package/dist/production/src/resolvers/mutation/person/InviteMutationResolver.cjs.map +1 -1
  1100. package/dist/production/src/resolvers/mutation/person/InviteMutationResolver.js +7 -5
  1101. package/dist/production/src/resolvers/mutation/person/InviteMutationResolver.js.map +1 -1
  1102. package/dist/production/src/resolvers/mutation/person/OtpMutationResolver.cjs +9 -7
  1103. package/dist/production/src/resolvers/mutation/person/OtpMutationResolver.cjs.map +1 -1
  1104. package/dist/production/src/resolvers/mutation/person/OtpMutationResolver.js +9 -7
  1105. package/dist/production/src/resolvers/mutation/person/OtpMutationResolver.js.map +1 -1
  1106. package/dist/production/src/resolvers/mutation/person/PasswordlessMutationResolver.cjs +12 -6
  1107. package/dist/production/src/resolvers/mutation/person/PasswordlessMutationResolver.cjs.map +1 -1
  1108. package/dist/production/src/resolvers/mutation/person/PasswordlessMutationResolver.js +12 -6
  1109. package/dist/production/src/resolvers/mutation/person/PasswordlessMutationResolver.js.map +1 -1
  1110. package/dist/production/src/resolvers/mutation/person/RegenerateBackupCodesMutationResolver.cjs +9 -7
  1111. package/dist/production/src/resolvers/mutation/person/RegenerateBackupCodesMutationResolver.cjs.map +1 -1
  1112. package/dist/production/src/resolvers/mutation/person/RegenerateBackupCodesMutationResolver.js +9 -7
  1113. package/dist/production/src/resolvers/mutation/person/RegenerateBackupCodesMutationResolver.js.map +1 -1
  1114. package/dist/production/src/resolvers/mutation/person/ResetPasswordMutationResolver.cjs +10 -8
  1115. package/dist/production/src/resolvers/mutation/person/ResetPasswordMutationResolver.cjs.map +1 -1
  1116. package/dist/production/src/resolvers/mutation/person/ResetPasswordMutationResolver.js +10 -8
  1117. package/dist/production/src/resolvers/mutation/person/ResetPasswordMutationResolver.js.map +1 -1
  1118. package/dist/production/src/resolvers/mutation/person/ResetPersonMfaMutationResolver.cjs +8 -6
  1119. package/dist/production/src/resolvers/mutation/person/ResetPersonMfaMutationResolver.cjs.map +1 -1
  1120. package/dist/production/src/resolvers/mutation/person/ResetPersonMfaMutationResolver.js +8 -6
  1121. package/dist/production/src/resolvers/mutation/person/ResetPersonMfaMutationResolver.js.map +1 -1
  1122. package/dist/production/src/resolvers/mutation/person/RevokeSessionMutationResolver.cjs +8 -6
  1123. package/dist/production/src/resolvers/mutation/person/RevokeSessionMutationResolver.cjs.map +1 -1
  1124. package/dist/production/src/resolvers/mutation/person/RevokeSessionMutationResolver.js +8 -6
  1125. package/dist/production/src/resolvers/mutation/person/RevokeSessionMutationResolver.js.map +1 -1
  1126. package/dist/production/src/resolvers/mutation/person/SignInMutationResolver.cjs +22 -14
  1127. package/dist/production/src/resolvers/mutation/person/SignInMutationResolver.cjs.map +1 -1
  1128. package/dist/production/src/resolvers/mutation/person/SignInMutationResolver.js +22 -14
  1129. package/dist/production/src/resolvers/mutation/person/SignInMutationResolver.js.map +1 -1
  1130. package/dist/production/src/resolvers/mutation/person/SignOutMutationResolver.cjs +7 -5
  1131. package/dist/production/src/resolvers/mutation/person/SignOutMutationResolver.cjs.map +1 -1
  1132. package/dist/production/src/resolvers/mutation/person/SignOutMutationResolver.js +7 -5
  1133. package/dist/production/src/resolvers/mutation/person/SignOutMutationResolver.js.map +1 -1
  1134. package/dist/production/src/resolvers/mutation/person/SignUpMutationResolver.cjs +10 -8
  1135. package/dist/production/src/resolvers/mutation/person/SignUpMutationResolver.cjs.map +1 -1
  1136. package/dist/production/src/resolvers/mutation/person/SignUpMutationResolver.js +10 -8
  1137. package/dist/production/src/resolvers/mutation/person/SignUpMutationResolver.js.map +1 -1
  1138. package/dist/production/src/resolvers/mutation/person/TogglePasswordlessMutationResolver.cjs +9 -7
  1139. package/dist/production/src/resolvers/mutation/person/TogglePasswordlessMutationResolver.cjs.map +1 -1
  1140. package/dist/production/src/resolvers/mutation/person/TogglePasswordlessMutationResolver.js +9 -7
  1141. package/dist/production/src/resolvers/mutation/person/TogglePasswordlessMutationResolver.js.map +1 -1
  1142. package/dist/production/src/resolvers/mutation/project/CreateProjectMutationResolver.cjs +7 -5
  1143. package/dist/production/src/resolvers/mutation/project/CreateProjectMutationResolver.cjs.map +1 -1
  1144. package/dist/production/src/resolvers/mutation/project/CreateProjectMutationResolver.js +7 -5
  1145. package/dist/production/src/resolvers/mutation/project/CreateProjectMutationResolver.js.map +1 -1
  1146. package/dist/production/src/resolvers/mutation/project/SetProjectSecretMutationResolver.cjs +7 -5
  1147. package/dist/production/src/resolvers/mutation/project/SetProjectSecretMutationResolver.cjs.map +1 -1
  1148. package/dist/production/src/resolvers/mutation/project/SetProjectSecretMutationResolver.js +7 -5
  1149. package/dist/production/src/resolvers/mutation/project/SetProjectSecretMutationResolver.js.map +1 -1
  1150. package/dist/production/src/resolvers/mutation/project/UpdateProjectMutationResolver.cjs +7 -5
  1151. package/dist/production/src/resolvers/mutation/project/UpdateProjectMutationResolver.cjs.map +1 -1
  1152. package/dist/production/src/resolvers/mutation/project/UpdateProjectMutationResolver.js +7 -5
  1153. package/dist/production/src/resolvers/mutation/project/UpdateProjectMutationResolver.js.map +1 -1
  1154. package/dist/production/src/resolvers/mutation/projectMember/AddProjectMemberMutationResolver.cjs +7 -5
  1155. package/dist/production/src/resolvers/mutation/projectMember/AddProjectMemberMutationResolver.cjs.map +1 -1
  1156. package/dist/production/src/resolvers/mutation/projectMember/AddProjectMemberMutationResolver.js +7 -5
  1157. package/dist/production/src/resolvers/mutation/projectMember/AddProjectMemberMutationResolver.js.map +1 -1
  1158. package/dist/production/src/resolvers/mutation/projectMember/RemoveProjectMemberMutationResolver.cjs +8 -6
  1159. package/dist/production/src/resolvers/mutation/projectMember/RemoveProjectMemberMutationResolver.cjs.map +1 -1
  1160. package/dist/production/src/resolvers/mutation/projectMember/RemoveProjectMemberMutationResolver.js +8 -6
  1161. package/dist/production/src/resolvers/mutation/projectMember/RemoveProjectMemberMutationResolver.js.map +1 -1
  1162. package/dist/production/src/resolvers/mutation/projectMember/UpdateProjectMemberMutationResolver.cjs +8 -6
  1163. package/dist/production/src/resolvers/mutation/projectMember/UpdateProjectMemberMutationResolver.cjs.map +1 -1
  1164. package/dist/production/src/resolvers/mutation/projectMember/UpdateProjectMemberMutationResolver.js +8 -6
  1165. package/dist/production/src/resolvers/mutation/projectMember/UpdateProjectMemberMutationResolver.js.map +1 -1
  1166. package/dist/production/src/resolvers/mutation/projectMember/audit.cjs +2 -1
  1167. package/dist/production/src/resolvers/mutation/projectMember/audit.cjs.map +1 -1
  1168. package/dist/production/src/resolvers/mutation/projectMember/audit.js +2 -1
  1169. package/dist/production/src/resolvers/mutation/projectMember/audit.js.map +1 -1
  1170. package/dist/production/src/resolvers/query/ApiKeyQueryResolver.cjs +8 -6
  1171. package/dist/production/src/resolvers/query/ApiKeyQueryResolver.cjs.map +1 -1
  1172. package/dist/production/src/resolvers/query/ApiKeyQueryResolver.js +8 -6
  1173. package/dist/production/src/resolvers/query/ApiKeyQueryResolver.js.map +1 -1
  1174. package/dist/production/src/resolvers/query/AuthLogQueryResolver.cjs +7 -5
  1175. package/dist/production/src/resolvers/query/AuthLogQueryResolver.cjs.map +1 -1
  1176. package/dist/production/src/resolvers/query/AuthLogQueryResolver.js +7 -5
  1177. package/dist/production/src/resolvers/query/AuthLogQueryResolver.js.map +1 -1
  1178. package/dist/production/src/resolvers/query/AuthPolicyQueryResolver.cjs +8 -6
  1179. package/dist/production/src/resolvers/query/AuthPolicyQueryResolver.cjs.map +1 -1
  1180. package/dist/production/src/resolvers/query/AuthPolicyQueryResolver.js +8 -6
  1181. package/dist/production/src/resolvers/query/AuthPolicyQueryResolver.js.map +1 -1
  1182. package/dist/production/src/resolvers/query/ConfigurationQueryResolver.cjs +8 -6
  1183. package/dist/production/src/resolvers/query/ConfigurationQueryResolver.cjs.map +1 -1
  1184. package/dist/production/src/resolvers/query/ConfigurationQueryResolver.js +8 -6
  1185. package/dist/production/src/resolvers/query/ConfigurationQueryResolver.js.map +1 -1
  1186. package/dist/production/src/resolvers/query/CustomRoleQueryResolver.cjs +55 -0
  1187. package/dist/production/src/resolvers/query/CustomRoleQueryResolver.cjs.map +1 -0
  1188. package/dist/production/src/resolvers/query/CustomRoleQueryResolver.js +55 -0
  1189. package/dist/production/src/resolvers/query/CustomRoleQueryResolver.js.map +1 -0
  1190. package/dist/production/src/resolvers/query/IDPQueryResolver.cjs +7 -5
  1191. package/dist/production/src/resolvers/query/IDPQueryResolver.cjs.map +1 -1
  1192. package/dist/production/src/resolvers/query/IDPQueryResolver.js +7 -5
  1193. package/dist/production/src/resolvers/query/IDPQueryResolver.js.map +1 -1
  1194. package/dist/production/src/resolvers/query/MailTemplateQueryResolver.cjs +21 -14
  1195. package/dist/production/src/resolvers/query/MailTemplateQueryResolver.cjs.map +1 -1
  1196. package/dist/production/src/resolvers/query/MailTemplateQueryResolver.js +21 -14
  1197. package/dist/production/src/resolvers/query/MailTemplateQueryResolver.js.map +1 -1
  1198. package/dist/production/src/resolvers/query/PersonQueryResolver.cjs +7 -5
  1199. package/dist/production/src/resolvers/query/PersonQueryResolver.cjs.map +1 -1
  1200. package/dist/production/src/resolvers/query/PersonQueryResolver.js +7 -5
  1201. package/dist/production/src/resolvers/query/PersonQueryResolver.js.map +1 -1
  1202. package/dist/production/src/resolvers/query/ProjectMembersQueryResolver.cjs +7 -5
  1203. package/dist/production/src/resolvers/query/ProjectMembersQueryResolver.cjs.map +1 -1
  1204. package/dist/production/src/resolvers/query/ProjectMembersQueryResolver.js +7 -5
  1205. package/dist/production/src/resolvers/query/ProjectMembersQueryResolver.js.map +1 -1
  1206. package/dist/production/src/resolvers/query/ProjectQueryResolver.cjs +10 -7
  1207. package/dist/production/src/resolvers/query/ProjectQueryResolver.cjs.map +1 -1
  1208. package/dist/production/src/resolvers/query/ProjectQueryResolver.js +10 -7
  1209. package/dist/production/src/resolvers/query/ProjectQueryResolver.js.map +1 -1
  1210. package/dist/production/src/resolvers/responseHelpers/ApiKeyResponseFactory.cjs +7 -5
  1211. package/dist/production/src/resolvers/responseHelpers/ApiKeyResponseFactory.cjs.map +1 -1
  1212. package/dist/production/src/resolvers/responseHelpers/ApiKeyResponseFactory.js +7 -5
  1213. package/dist/production/src/resolvers/responseHelpers/ApiKeyResponseFactory.js.map +1 -1
  1214. package/dist/production/src/resolvers/responseHelpers/PersonResponseFactory.cjs +5 -0
  1215. package/dist/production/src/resolvers/responseHelpers/PersonResponseFactory.cjs.map +1 -1
  1216. package/dist/production/src/resolvers/responseHelpers/PersonResponseFactory.js +5 -0
  1217. package/dist/production/src/resolvers/responseHelpers/PersonResponseFactory.js.map +1 -1
  1218. package/dist/production/src/resolvers/responseHelpers/ProjectResponseFactory.cjs +23 -0
  1219. package/dist/production/src/resolvers/responseHelpers/ProjectResponseFactory.cjs.map +1 -0
  1220. package/dist/production/src/resolvers/responseHelpers/ProjectResponseFactory.js +23 -0
  1221. package/dist/production/src/resolvers/responseHelpers/ProjectResponseFactory.js.map +1 -0
  1222. package/dist/production/src/resolvers/responseHelpers/SignInResponseFactory.cjs +8 -6
  1223. package/dist/production/src/resolvers/responseHelpers/SignInResponseFactory.cjs.map +1 -1
  1224. package/dist/production/src/resolvers/responseHelpers/SignInResponseFactory.js +8 -6
  1225. package/dist/production/src/resolvers/responseHelpers/SignInResponseFactory.js.map +1 -1
  1226. package/dist/production/src/resolvers/types/IdentityTypeResolver.cjs +50 -18
  1227. package/dist/production/src/resolvers/types/IdentityTypeResolver.cjs.map +1 -1
  1228. package/dist/production/src/resolvers/types/IdentityTypeResolver.js +50 -18
  1229. package/dist/production/src/resolvers/types/IdentityTypeResolver.js.map +1 -1
  1230. package/dist/production/src/resolvers/types/PersonTypeResolver.cjs +38 -8
  1231. package/dist/production/src/resolvers/types/PersonTypeResolver.cjs.map +1 -1
  1232. package/dist/production/src/resolvers/types/PersonTypeResolver.js +38 -8
  1233. package/dist/production/src/resolvers/types/PersonTypeResolver.js.map +1 -1
  1234. package/dist/production/src/resolvers/types/ProjectTypeResolver.cjs +31 -6
  1235. package/dist/production/src/resolvers/types/ProjectTypeResolver.cjs.map +1 -1
  1236. package/dist/production/src/resolvers/types/ProjectTypeResolver.js +31 -6
  1237. package/dist/production/src/resolvers/types/ProjectTypeResolver.js.map +1 -1
  1238. package/dist/production/src/schema/tenant.graphql.cjs +275 -15
  1239. package/dist/production/src/schema/tenant.graphql.cjs.map +1 -1
  1240. package/dist/production/src/schema/tenant.graphql.js +275 -15
  1241. package/dist/production/src/schema/tenant.graphql.js.map +1 -1
  1242. package/dist/tests/cases/integration/database/dbClock.test.d.ts +2 -0
  1243. package/dist/tests/cases/integration/database/dbClock.test.d.ts.map +1 -0
  1244. package/dist/tests/cases/integration/mocked/configurationPanel.test.d.ts +2 -0
  1245. package/dist/tests/cases/integration/mocked/configurationPanel.test.d.ts.map +1 -0
  1246. package/dist/tests/cases/integration/mocked/customRoleCrud.test.d.ts +2 -0
  1247. package/dist/tests/cases/integration/mocked/customRoleCrud.test.d.ts.map +1 -0
  1248. package/dist/tests/cases/integration/mocked/disablePersonMutation.test.d.ts +2 -0
  1249. package/dist/tests/cases/integration/mocked/disablePersonMutation.test.d.ts.map +1 -0
  1250. package/dist/tests/cases/integration/mocked/enablePersonMutation.test.d.ts +2 -0
  1251. package/dist/tests/cases/integration/mocked/enablePersonMutation.test.d.ts.map +1 -0
  1252. package/dist/tests/cases/integration/mocked/gql/addProjectMember.d.ts.map +1 -1
  1253. package/dist/tests/cases/integration/mocked/gql/changeMyPassword.d.ts.map +1 -1
  1254. package/dist/tests/cases/integration/mocked/gql/changeMyProfile.d.ts.map +1 -1
  1255. package/dist/tests/cases/integration/mocked/gql/changePassword.d.ts.map +1 -1
  1256. package/dist/tests/cases/integration/mocked/gql/changeProfile.d.ts.map +1 -1
  1257. package/dist/tests/cases/integration/mocked/gql/confirmOtp.d.ts.map +1 -1
  1258. package/dist/tests/cases/integration/mocked/gql/createApiKey.d.ts.map +1 -1
  1259. package/dist/tests/cases/integration/mocked/gql/createResetPasswordRequest.d.ts.map +1 -1
  1260. package/dist/tests/cases/integration/mocked/gql/createSessionToken.d.ts.map +1 -1
  1261. package/dist/tests/cases/integration/mocked/gql/emailOtp.d.ts.map +1 -1
  1262. package/dist/tests/cases/integration/mocked/gql/emailVerification.d.ts.map +1 -1
  1263. package/dist/tests/cases/integration/mocked/gql/invite.d.ts.map +1 -1
  1264. package/dist/tests/cases/integration/mocked/gql/myIdentityProviders.d.ts.map +1 -1
  1265. package/dist/tests/cases/integration/mocked/gql/passwordless.d.ts +4 -1
  1266. package/dist/tests/cases/integration/mocked/gql/passwordless.d.ts.map +1 -1
  1267. package/dist/tests/cases/integration/mocked/gql/prepareOtp.d.ts.map +1 -1
  1268. package/dist/tests/cases/integration/mocked/gql/resetPassword.d.ts.map +1 -1
  1269. package/dist/tests/cases/integration/mocked/gql/signIn.d.ts.map +1 -1
  1270. package/dist/tests/cases/integration/mocked/gql/signInIdp.d.ts.map +1 -1
  1271. package/dist/tests/cases/integration/mocked/gql/signUp.d.ts.map +1 -1
  1272. package/dist/tests/cases/integration/mocked/gql/unmanagedInvite.d.ts.map +1 -1
  1273. package/dist/tests/cases/integration/mocked/gql/updateProjectMember.d.ts.map +1 -1
  1274. package/dist/tests/cases/integration/mocked/idpClaimMappingConfig.test.d.ts +2 -0
  1275. package/dist/tests/cases/integration/mocked/idpClaimMappingConfig.test.d.ts.map +1 -0
  1276. package/dist/tests/cases/integration/mocked/localAuthenticationDisabled.test.d.ts +2 -0
  1277. package/dist/tests/cases/integration/mocked/localAuthenticationDisabled.test.d.ts.map +1 -0
  1278. package/dist/tests/cases/integration/mocked/mailTemplateScope.test.d.ts +2 -0
  1279. package/dist/tests/cases/integration/mocked/mailTemplateScope.test.d.ts.map +1 -0
  1280. package/dist/tests/cases/integration/mocked/permissionsQuery.test.d.ts +2 -0
  1281. package/dist/tests/cases/integration/mocked/permissionsQuery.test.d.ts.map +1 -0
  1282. package/dist/tests/cases/integration/mocked/signInIdpClaimMapping.test.d.ts +2 -0
  1283. package/dist/tests/cases/integration/mocked/signInIdpClaimMapping.test.d.ts.map +1 -0
  1284. package/dist/tests/cases/integration/mocked/signInIdpClaimMappingFixes.test.d.ts +2 -0
  1285. package/dist/tests/cases/integration/mocked/signInIdpClaimMappingFixes.test.d.ts.map +1 -0
  1286. package/dist/tests/cases/integration/mocked/signInIdpClaimMappingSafety.test.d.ts +2 -0
  1287. package/dist/tests/cases/integration/mocked/signInIdpClaimMappingSafety.test.d.ts.map +1 -0
  1288. package/dist/tests/cases/integration/mocked/sql/authLogSql.d.ts.map +1 -1
  1289. package/dist/tests/cases/integration/mocked/sql/authPolicySql.d.ts.map +1 -1
  1290. package/dist/tests/cases/integration/mocked/sql/consumeBackupCodeSql.d.ts.map +1 -1
  1291. package/dist/tests/cases/integration/mocked/sql/createApiKeySql.d.ts.map +1 -1
  1292. package/dist/tests/cases/integration/mocked/sql/createIdentitySql.d.ts.map +1 -1
  1293. package/dist/tests/cases/integration/mocked/sql/createMembershipSql.d.ts.map +1 -1
  1294. package/dist/tests/cases/integration/mocked/sql/createMembershipVariableSql.d.ts.map +1 -1
  1295. package/dist/tests/cases/integration/mocked/sql/createPersonSql.d.ts.map +1 -1
  1296. package/dist/tests/cases/integration/mocked/sql/createPersonTokenSql.d.ts.map +1 -1
  1297. package/dist/tests/cases/integration/mocked/sql/createSessionKeySql.d.ts.map +1 -1
  1298. package/dist/tests/cases/integration/mocked/sql/disableApiKeySql.d.ts.map +1 -1
  1299. package/dist/tests/cases/integration/mocked/sql/disableOneOffKeySql.d.ts.map +1 -1
  1300. package/dist/tests/cases/integration/mocked/sql/emailOtpSql.d.ts.map +1 -1
  1301. package/dist/tests/cases/integration/mocked/sql/generateBackupCodesSql.d.ts.map +1 -1
  1302. package/dist/tests/cases/integration/mocked/sql/getApiKeySql.d.ts.map +1 -1
  1303. package/dist/tests/cases/integration/mocked/sql/getConfigSql.d.ts.map +1 -1
  1304. package/dist/tests/cases/integration/mocked/sql/getCustomRolesSql.d.ts +18 -0
  1305. package/dist/tests/cases/integration/mocked/sql/getCustomRolesSql.d.ts.map +1 -0
  1306. package/dist/tests/cases/integration/mocked/sql/getIdentityByIdSql.d.ts.map +1 -1
  1307. package/dist/tests/cases/integration/mocked/sql/getIdentityProjectMembershipPresenceSql.d.ts +3 -0
  1308. package/dist/tests/cases/integration/mocked/sql/getIdentityProjectMembershipPresenceSql.d.ts.map +1 -0
  1309. package/dist/tests/cases/integration/mocked/sql/getIdentityProjectsSql.d.ts.map +1 -1
  1310. package/dist/tests/cases/integration/mocked/sql/getIdpBySlugSql.d.ts.map +1 -1
  1311. package/dist/tests/cases/integration/mocked/sql/getIdpSessionByApiKeySql.d.ts.map +1 -1
  1312. package/dist/tests/cases/integration/mocked/sql/getMailTemplateSql.d.ts.map +1 -1
  1313. package/dist/tests/cases/integration/mocked/sql/getNextLoginAttemptSql.d.ts.map +1 -1
  1314. package/dist/tests/cases/integration/mocked/sql/getNextMailAttemptSql.d.ts +1 -1
  1315. package/dist/tests/cases/integration/mocked/sql/getNextMailAttemptSql.d.ts.map +1 -1
  1316. package/dist/tests/cases/integration/mocked/sql/getPersonByEmailSql.d.ts +1 -0
  1317. package/dist/tests/cases/integration/mocked/sql/getPersonByEmailSql.d.ts.map +1 -1
  1318. package/dist/tests/cases/integration/mocked/sql/getPersonByIdSql.d.ts.map +1 -1
  1319. package/dist/tests/cases/integration/mocked/sql/getPersonByIdentity.d.ts.map +1 -1
  1320. package/dist/tests/cases/integration/mocked/sql/getPersonByIdpSql.d.ts.map +1 -1
  1321. package/dist/tests/cases/integration/mocked/sql/getPersonsByIdentitySql.d.ts.map +1 -1
  1322. package/dist/tests/cases/integration/mocked/sql/getProjectBySlugSql.d.ts +1 -1
  1323. package/dist/tests/cases/integration/mocked/sql/getProjectBySlugSql.d.ts.map +1 -1
  1324. package/dist/tests/cases/integration/mocked/sql/getProjectMembershipSql.d.ts.map +1 -1
  1325. package/dist/tests/cases/integration/mocked/sql/listApiKeysSql.d.ts.map +1 -1
  1326. package/dist/tests/cases/integration/mocked/sql/listPersonsSql.d.ts +2 -0
  1327. package/dist/tests/cases/integration/mocked/sql/listPersonsSql.d.ts.map +1 -1
  1328. package/dist/tests/cases/integration/mocked/sql/listProjectSecretsSql.d.ts.map +1 -1
  1329. package/dist/tests/cases/integration/mocked/sql/listSessionsSql.d.ts +1 -1
  1330. package/dist/tests/cases/integration/mocked/sql/listSessionsSql.d.ts.map +1 -1
  1331. package/dist/tests/cases/integration/mocked/sql/localAuthDisablingIdpsSql.d.ts +10 -0
  1332. package/dist/tests/cases/integration/mocked/sql/localAuthDisablingIdpsSql.d.ts.map +1 -0
  1333. package/dist/tests/cases/integration/mocked/sql/loginHistorySql.d.ts.map +1 -1
  1334. package/dist/tests/cases/integration/mocked/sql/patchVariablesSql.d.ts.map +1 -1
  1335. package/dist/tests/cases/integration/mocked/sql/personIdentityProvidersSql.d.ts +1 -0
  1336. package/dist/tests/cases/integration/mocked/sql/personIdentityProvidersSql.d.ts.map +1 -1
  1337. package/dist/tests/cases/integration/mocked/sql/removeMembershipSql.d.ts +8 -0
  1338. package/dist/tests/cases/integration/mocked/sql/removeMembershipSql.d.ts.map +1 -0
  1339. package/dist/tests/cases/integration/mocked/sql/selectMembershipsSql.d.ts.map +1 -1
  1340. package/dist/tests/cases/integration/mocked/sql/setEmailOtpEnabledSql.d.ts.map +1 -1
  1341. package/dist/tests/cases/integration/mocked/sql/sqlTransaction.d.ts +6 -0
  1342. package/dist/tests/cases/integration/mocked/sql/sqlTransaction.d.ts.map +1 -1
  1343. package/dist/tests/cases/integration/mocked/sql/updatePesonNameSql.d.ts.map +1 -1
  1344. package/dist/tests/cases/integration/mocked/sql/updatePesonPasswordSql.d.ts.map +1 -1
  1345. package/dist/tests/cases/unit/apiKey/verifyAndProlongReplica.test.d.ts +2 -0
  1346. package/dist/tests/cases/unit/apiKey/verifyAndProlongReplica.test.d.ts.map +1 -0
  1347. package/dist/tests/cases/unit/customRoleAuthorizator.test.d.ts +2 -0
  1348. package/dist/tests/cases/unit/customRoleAuthorizator.test.d.ts.map +1 -0
  1349. package/dist/tests/cases/unit/customRolePermissions.test.d.ts +2 -0
  1350. package/dist/tests/cases/unit/customRolePermissions.test.d.ts.map +1 -0
  1351. package/dist/tests/cases/unit/databaseContextRetry.test.d.ts +2 -0
  1352. package/dist/tests/cases/unit/databaseContextRetry.test.d.ts.map +1 -0
  1353. package/dist/tests/cases/unit/idp/claimIdpRevalidation.test.d.ts +2 -0
  1354. package/dist/tests/cases/unit/idp/claimIdpRevalidation.test.d.ts.map +1 -0
  1355. package/dist/tests/cases/unit/idp/claimMappingEvaluator.test.d.ts +2 -0
  1356. package/dist/tests/cases/unit/idp/claimMappingEvaluator.test.d.ts.map +1 -0
  1357. package/dist/tests/cases/unit/idp/claimMappingValidation.test.d.ts +2 -0
  1358. package/dist/tests/cases/unit/idp/claimMappingValidation.test.d.ts.map +1 -0
  1359. package/dist/tests/cases/unit/idp/idpManagerConfigMerge.test.d.ts +2 -0
  1360. package/dist/tests/cases/unit/idp/idpManagerConfigMerge.test.d.ts.map +1 -0
  1361. package/dist/tests/cases/unit/idp/idpManagerUnknownConfigKeys.test.d.ts +2 -0
  1362. package/dist/tests/cases/unit/idp/idpManagerUnknownConfigKeys.test.d.ts.map +1 -0
  1363. package/dist/tests/cases/unit/idp/oidcClaims.test.d.ts +2 -0
  1364. package/dist/tests/cases/unit/idp/oidcClaims.test.d.ts.map +1 -0
  1365. package/dist/tests/cases/unit/panelAccessResolver.test.d.ts +2 -0
  1366. package/dist/tests/cases/unit/panelAccessResolver.test.d.ts.map +1 -0
  1367. package/dist/tests/cases/unit/savePersonTokenCommand.test.d.ts +2 -0
  1368. package/dist/tests/cases/unit/savePersonTokenCommand.test.d.ts.map +1 -0
  1369. package/dist/tests/cases/unit/updateConfigurationCommand.test.d.ts +2 -0
  1370. package/dist/tests/cases/unit/updateConfigurationCommand.test.d.ts.map +1 -0
  1371. package/dist/tests/src/IdPMock.d.ts.map +1 -1
  1372. package/dist/tests/src/dbUtils.d.ts.map +1 -1
  1373. package/dist/tests/src/tags.d.ts.map +1 -1
  1374. package/dist/tests/src/testGraphql.d.ts.map +1 -1
  1375. package/dist/tests/src/testTenant.d.ts +16 -4
  1376. package/dist/tests/src/testTenant.d.ts.map +1 -1
  1377. package/dist/tests/src/testUuid.d.ts.map +1 -1
  1378. package/dist/tests/tsconfig.tsbuildinfo +1 -1
  1379. package/dist/types/TenantContainer.d.ts +36 -13
  1380. package/dist/types/TenantContainer.d.ts.map +1 -1
  1381. package/dist/types/bridges/system/IdentityFetcher.d.ts +2 -2
  1382. package/dist/types/bridges/system/IdentityFetcher.d.ts.map +1 -1
  1383. package/dist/types/exceptions.d.ts.map +1 -1
  1384. package/dist/types/migrations/2026-06-18-120000-idp-claim-mapping.d.ts +3 -0
  1385. package/dist/types/migrations/2026-06-18-120000-idp-claim-mapping.d.ts.map +1 -0
  1386. package/dist/types/migrations/2026-08-03-120000-person-enable-auth-log.d.ts +3 -0
  1387. package/dist/types/migrations/2026-08-03-120000-person-enable-auth-log.d.ts.map +1 -0
  1388. package/dist/types/migrations/2026-08-04-120000-config-panel.d.ts +3 -0
  1389. package/dist/types/migrations/2026-08-04-120000-config-panel.d.ts.map +1 -0
  1390. package/dist/types/migrations/2026-09-04-120000-idp-disable-local-authentication.d.ts +3 -0
  1391. package/dist/types/migrations/2026-09-04-120000-idp-disable-local-authentication.d.ts.map +1 -0
  1392. package/dist/types/migrations/2026-09-11-120000-custom-role.d.ts +3 -0
  1393. package/dist/types/migrations/2026-09-11-120000-custom-role.d.ts.map +1 -0
  1394. package/dist/types/migrations/runner.d.ts.map +1 -1
  1395. package/dist/types/migrations/snapshot-factory.d.ts.map +1 -1
  1396. package/dist/types/migrations/snapshot.d.ts.map +1 -1
  1397. package/dist/types/migrations/tenantCredentials.d.ts.map +1 -1
  1398. package/dist/types/model/authorization/AclSchemaAccessNodeFactory.d.ts.map +1 -1
  1399. package/dist/types/model/authorization/CustomRoleAuthorizator.d.ts +29 -0
  1400. package/dist/types/model/authorization/CustomRoleAuthorizator.d.ts.map +1 -0
  1401. package/dist/types/model/authorization/CustomRolePermissions.d.ts +45 -0
  1402. package/dist/types/model/authorization/CustomRolePermissions.d.ts.map +1 -0
  1403. package/dist/types/model/authorization/DirectPermissionsAccessNode.d.ts.map +1 -1
  1404. package/dist/types/model/authorization/Identity.d.ts.map +1 -1
  1405. package/dist/types/model/authorization/IdentityFactory.d.ts.map +1 -1
  1406. package/dist/types/model/authorization/IdentityScope.d.ts.map +1 -1
  1407. package/dist/types/model/authorization/MembershipMatcher.d.ts.map +1 -1
  1408. package/dist/types/model/authorization/PermissionActions.d.ts +104 -37
  1409. package/dist/types/model/authorization/PermissionActions.d.ts.map +1 -1
  1410. package/dist/types/model/authorization/PermissionContext.d.ts.map +1 -1
  1411. package/dist/types/model/authorization/PermissionContextFactory.d.ts +13 -2
  1412. package/dist/types/model/authorization/PermissionContextFactory.d.ts.map +1 -1
  1413. package/dist/types/model/authorization/PermissionsFactory.d.ts.map +1 -1
  1414. package/dist/types/model/authorization/ProjectScope.d.ts.map +1 -1
  1415. package/dist/types/model/authorization/ProjectScopeFactory.d.ts.map +1 -1
  1416. package/dist/types/model/authorization/Roles.d.ts +8 -0
  1417. package/dist/types/model/authorization/Roles.d.ts.map +1 -1
  1418. package/dist/types/model/authorization/TargetIdentityPermission.d.ts +15 -0
  1419. package/dist/types/model/authorization/TargetIdentityPermission.d.ts.map +1 -0
  1420. package/dist/types/model/authorization/index.d.ts +3 -0
  1421. package/dist/types/model/authorization/index.d.ts.map +1 -1
  1422. package/dist/types/model/commands/CommandBus.d.ts.map +1 -1
  1423. package/dist/types/model/commands/apiKey/ApiKeyHelper.d.ts +15 -0
  1424. package/dist/types/model/commands/apiKey/ApiKeyHelper.d.ts.map +1 -1
  1425. package/dist/types/model/commands/apiKey/CreateApiKeyCommand.d.ts +5 -1
  1426. package/dist/types/model/commands/apiKey/CreateApiKeyCommand.d.ts.map +1 -1
  1427. package/dist/types/model/commands/apiKey/DisableApiKeyCommand.d.ts.map +1 -1
  1428. package/dist/types/model/commands/apiKey/DisableIdentityApiKeysCommand.d.ts.map +1 -1
  1429. package/dist/types/model/commands/apiKey/DisableOneOffApiKeyCommand.d.ts.map +1 -1
  1430. package/dist/types/model/commands/apiKey/ProlongApiKeyCommand.d.ts +6 -4
  1431. package/dist/types/model/commands/apiKey/ProlongApiKeyCommand.d.ts.map +1 -1
  1432. package/dist/types/model/commands/authLog/CreateAuthLogEntryCommand.d.ts +1 -0
  1433. package/dist/types/model/commands/authLog/CreateAuthLogEntryCommand.d.ts.map +1 -1
  1434. package/dist/types/model/commands/authPolicy/CreateAuthPolicyCommand.d.ts.map +1 -1
  1435. package/dist/types/model/commands/authPolicy/DeleteAuthPolicyCommand.d.ts.map +1 -1
  1436. package/dist/types/model/commands/authPolicy/UpdateAuthPolicyCommand.d.ts.map +1 -1
  1437. package/dist/types/model/commands/backupCode/ConsumeBackupCodeCommand.d.ts.map +1 -1
  1438. package/dist/types/model/commands/backupCode/CreateBackupCodeCommand.d.ts.map +1 -1
  1439. package/dist/types/model/commands/backupCode/DeleteBackupCodesCommand.d.ts.map +1 -1
  1440. package/dist/types/model/commands/configuration/UpdateConfigurationCommand.d.ts.map +1 -1
  1441. package/dist/types/model/commands/customRole/CreateCustomRoleCommand.d.ts +12 -0
  1442. package/dist/types/model/commands/customRole/CreateCustomRoleCommand.d.ts.map +1 -0
  1443. package/dist/types/model/commands/customRole/DeleteCustomRoleCommand.d.ts +13 -0
  1444. package/dist/types/model/commands/customRole/DeleteCustomRoleCommand.d.ts.map +1 -0
  1445. package/dist/types/model/commands/customRole/RemoveCustomRoleAssignmentsCommand.d.ts +8 -0
  1446. package/dist/types/model/commands/customRole/RemoveCustomRoleAssignmentsCommand.d.ts.map +1 -0
  1447. package/dist/types/model/commands/customRole/UpdateCustomRoleCommand.d.ts +16 -0
  1448. package/dist/types/model/commands/customRole/UpdateCustomRoleCommand.d.ts.map +1 -0
  1449. package/dist/types/model/commands/customRole/index.d.ts +5 -0
  1450. package/dist/types/model/commands/customRole/index.d.ts.map +1 -0
  1451. package/dist/types/model/commands/identity/CreateIdentityCommand.d.ts.map +1 -1
  1452. package/dist/types/model/commands/identity/PatchIdentityGlobalRoles.d.ts.map +1 -1
  1453. package/dist/types/model/commands/idp/ClaimIdpRevalidationCommand.d.ts.map +1 -1
  1454. package/dist/types/model/commands/idp/CreateIdpCommand.d.ts.map +1 -1
  1455. package/dist/types/model/commands/idp/CreateIdpSessionCommand.d.ts.map +1 -1
  1456. package/dist/types/model/commands/idp/DisableIdpCommand.d.ts.map +1 -1
  1457. package/dist/types/model/commands/idp/DisconnectPersonIdentityProviderCommand.d.ts.map +1 -1
  1458. package/dist/types/model/commands/idp/EnableIdpCommand.d.ts.map +1 -1
  1459. package/dist/types/model/commands/idp/UpdateIdpCommand.d.ts.map +1 -1
  1460. package/dist/types/model/commands/idp/UpdateIdpSessionCommand.d.ts.map +1 -1
  1461. package/dist/types/model/commands/index.d.ts +1 -0
  1462. package/dist/types/model/commands/index.d.ts.map +1 -1
  1463. package/dist/types/model/commands/mailTemplate/AddMailTemplateCommand.d.ts.map +1 -1
  1464. package/dist/types/model/commands/mailTemplate/RemoveMailTemplateCommand.d.ts.map +1 -1
  1465. package/dist/types/model/commands/membership/AddProjectMemberCommand.d.ts.map +1 -1
  1466. package/dist/types/model/commands/membership/CreateOrUpdateProjectMembershipCommand.d.ts.map +1 -1
  1467. package/dist/types/model/commands/membership/RemoveProjectMemberCommand.d.ts.map +1 -1
  1468. package/dist/types/model/commands/membership/{RemoveProjectMembershipsCommand.d.ts → RemoveProjectMembershipCommand.d.ts} +1 -1
  1469. package/dist/types/model/commands/membership/RemoveProjectMembershipCommand.d.ts.map +1 -0
  1470. package/dist/types/model/commands/membership/UpdateProjectMemberCommand.d.ts.map +1 -1
  1471. package/dist/types/model/commands/membership/index.d.ts +2 -1
  1472. package/dist/types/model/commands/membership/index.d.ts.map +1 -1
  1473. package/dist/types/model/commands/membership/variables/PatchProjectMembershipVariableValuesCommand.d.ts.map +1 -1
  1474. package/dist/types/model/commands/membership/variables/PatchProjectMembershipVariablesCommand.d.ts.map +1 -1
  1475. package/dist/types/model/commands/membership/variables/SetProjectMembershipVariableValuesCommand.d.ts.map +1 -1
  1476. package/dist/types/model/commands/membership/variables/index.d.ts +1 -0
  1477. package/dist/types/model/commands/membership/variables/index.d.ts.map +1 -1
  1478. package/dist/types/model/commands/otp/ConfirmOtpCommand.d.ts.map +1 -1
  1479. package/dist/types/model/commands/otp/DisableOtpCommand.d.ts.map +1 -1
  1480. package/dist/types/model/commands/otp/PrepareOtpCommand.d.ts.map +1 -1
  1481. package/dist/types/model/commands/otp/ReEncryptOtpSecretCommand.d.ts.map +1 -1
  1482. package/dist/types/model/commands/otp/SetEmailOtpEnabledCommand.d.ts.map +1 -1
  1483. package/dist/types/model/commands/person/ChangePasswordCommand.d.ts.map +1 -1
  1484. package/dist/types/model/commands/person/ChangeProfileCommand.d.ts.map +1 -1
  1485. package/dist/types/model/commands/person/CreatePersonCommand.d.ts.map +1 -1
  1486. package/dist/types/model/commands/person/CreatePersonIdentityProviderIdentifierCommand.d.ts.map +1 -1
  1487. package/dist/types/model/commands/person/DisablePersonCommand.d.ts.map +1 -1
  1488. package/dist/types/model/commands/person/EnablePersonCommand.d.ts +7 -0
  1489. package/dist/types/model/commands/person/EnablePersonCommand.d.ts.map +1 -0
  1490. package/dist/types/model/commands/person/MarkEmailVerifiedCommand.d.ts.map +1 -1
  1491. package/dist/types/model/commands/person/ResetPersonMfaCommand.d.ts.map +1 -1
  1492. package/dist/types/model/commands/person/SetMfaGraceUntilCommand.d.ts +8 -3
  1493. package/dist/types/model/commands/person/SetMfaGraceUntilCommand.d.ts.map +1 -1
  1494. package/dist/types/model/commands/person/TogglePersonPasswordlessCommand.d.ts.map +1 -1
  1495. package/dist/types/model/commands/personToken/ActivateOtpCommand.d.ts.map +1 -1
  1496. package/dist/types/model/commands/personToken/ClaimOtpAttemptCommand.d.ts.map +1 -1
  1497. package/dist/types/model/commands/personToken/CreatePersonTokenCommand.d.ts.map +1 -1
  1498. package/dist/types/model/commands/personToken/IncreaseOtpAttemptCommand.d.ts.map +1 -1
  1499. package/dist/types/model/commands/personToken/InvalidateEmailOtpTokensCommand.d.ts.map +1 -1
  1500. package/dist/types/model/commands/personToken/InvalidateTokenCommand.d.ts.map +1 -1
  1501. package/dist/types/model/commands/personToken/ResetPasswordCommand.d.ts +1 -1
  1502. package/dist/types/model/commands/personToken/ResetPasswordCommand.d.ts.map +1 -1
  1503. package/dist/types/model/commands/personToken/SaveEmailOtpTokenCommand.d.ts.map +1 -1
  1504. package/dist/types/model/commands/personToken/SavePersonTokenCommand.d.ts.map +1 -1
  1505. package/dist/types/model/commands/project/CreateProjectCommand.d.ts.map +1 -1
  1506. package/dist/types/model/commands/project/SetProjectSecretCommand.d.ts.map +1 -1
  1507. package/dist/types/model/commands/project/UpdateProjectCommand.d.ts.map +1 -1
  1508. package/dist/types/model/commands/rateLimit/RecordRateLimitEventCommand.d.ts.map +1 -1
  1509. package/dist/types/model/dtos/Password.d.ts.map +1 -1
  1510. package/dist/types/model/mailing/UserMailer.d.ts.map +1 -1
  1511. package/dist/types/model/mailing/templates/BackupCodesExhausted.mustache.d.ts.map +1 -1
  1512. package/dist/types/model/mailing/templates/EmailChangeNotify.mustache.d.ts.map +1 -1
  1513. package/dist/types/model/mailing/templates/EmailChangeVerify.mustache.d.ts.map +1 -1
  1514. package/dist/types/model/mailing/templates/EmailOtp.mustache.d.ts.map +1 -1
  1515. package/dist/types/model/mailing/templates/EmailVerification.mustache.d.ts.map +1 -1
  1516. package/dist/types/model/mailing/templates/ExistingUserInvited.mustache.d.ts.map +1 -1
  1517. package/dist/types/model/mailing/templates/ForcedSignOut.mustache.d.ts.map +1 -1
  1518. package/dist/types/model/mailing/templates/Layout.mustache.d.ts.map +1 -1
  1519. package/dist/types/model/mailing/templates/NewUserInvited.mustache.d.ts.map +1 -1
  1520. package/dist/types/model/mailing/templates/PasswordReset.mustache.d.ts.map +1 -1
  1521. package/dist/types/model/mailing/templates/PasswordlessSignIn.mustache.d.ts.map +1 -1
  1522. package/dist/types/model/mailing/templates/UnusualLogin.mustache.d.ts.map +1 -1
  1523. package/dist/types/model/mailing/type.d.ts.map +1 -1
  1524. package/dist/types/model/queries/apiKey/ApiKeyListQuery.d.ts.map +1 -1
  1525. package/dist/types/model/queries/apiKey/ApiKeyQuery.d.ts +4 -0
  1526. package/dist/types/model/queries/apiKey/ApiKeyQuery.d.ts.map +1 -1
  1527. package/dist/types/model/queries/apiKey/ApiKeySessionsQuery.d.ts +1 -4
  1528. package/dist/types/model/queries/apiKey/ApiKeySessionsQuery.d.ts.map +1 -1
  1529. package/dist/types/model/queries/authLog/AuthLogQuery.d.ts.map +1 -1
  1530. package/dist/types/model/queries/authLog/NextLoginAttemptQuery.d.ts +2 -2
  1531. package/dist/types/model/queries/authLog/NextLoginAttemptQuery.d.ts.map +1 -1
  1532. package/dist/types/model/queries/authLog/NextMailAttemptQuery.d.ts +2 -2
  1533. package/dist/types/model/queries/authLog/NextMailAttemptQuery.d.ts.map +1 -1
  1534. package/dist/types/model/queries/authPolicy/AuthPoliciesQuery.d.ts.map +1 -1
  1535. package/dist/types/model/queries/configuration/ConfigurationQuery.d.ts.map +1 -1
  1536. package/dist/types/model/queries/customRole/CustomRolesQuery.d.ts +12 -0
  1537. package/dist/types/model/queries/customRole/CustomRolesQuery.d.ts.map +1 -0
  1538. package/dist/types/model/queries/customRole/index.d.ts +2 -0
  1539. package/dist/types/model/queries/customRole/index.d.ts.map +1 -0
  1540. package/dist/types/model/queries/identity/IdentitiesHoldingRoleCountQuery.d.ts +8 -0
  1541. package/dist/types/model/queries/identity/IdentitiesHoldingRoleCountQuery.d.ts.map +1 -0
  1542. package/dist/types/model/queries/identity/IdentityQuery.d.ts +3 -2
  1543. package/dist/types/model/queries/identity/IdentityQuery.d.ts.map +1 -1
  1544. package/dist/types/model/queries/identity/index.d.ts +1 -0
  1545. package/dist/types/model/queries/identity/index.d.ts.map +1 -1
  1546. package/dist/types/model/queries/idp/IdentityProviderBySlugQuery.d.ts.map +1 -1
  1547. package/dist/types/model/queries/idp/IdentityProvidersQuery.d.ts.map +1 -1
  1548. package/dist/types/model/queries/idp/IdpSessionByApiKeyQuery.d.ts.map +1 -1
  1549. package/dist/types/model/queries/idp/IdpSessionsBySidQuery.d.ts.map +1 -1
  1550. package/dist/types/model/queries/idp/IdpSessionsBySubQuery.d.ts.map +1 -1
  1551. package/dist/types/model/queries/idp/LocalAuthDisablingIdpsQuery.d.ts +18 -0
  1552. package/dist/types/model/queries/idp/LocalAuthDisablingIdpsQuery.d.ts.map +1 -0
  1553. package/dist/types/model/queries/idp/PersonIdentityProvidersQuery.d.ts +1 -0
  1554. package/dist/types/model/queries/idp/PersonIdentityProvidersQuery.d.ts.map +1 -1
  1555. package/dist/types/model/queries/idp/helpers.d.ts +1 -1
  1556. package/dist/types/model/queries/idp/helpers.d.ts.map +1 -1
  1557. package/dist/types/model/queries/idp/index.d.ts +1 -0
  1558. package/dist/types/model/queries/idp/index.d.ts.map +1 -1
  1559. package/dist/types/model/queries/idp/types.d.ts +1 -0
  1560. package/dist/types/model/queries/idp/types.d.ts.map +1 -1
  1561. package/dist/types/model/queries/index.d.ts +1 -0
  1562. package/dist/types/model/queries/index.d.ts.map +1 -1
  1563. package/dist/types/model/queries/mailTemplate/MailTemplateListQuery.d.ts.map +1 -1
  1564. package/dist/types/model/queries/mailTemplate/MailTemplateQuery.d.ts.map +1 -1
  1565. package/dist/types/model/queries/membership/AllProjectRolesByIdentityQuery.d.ts.map +1 -1
  1566. package/dist/types/model/queries/membership/IdentityHasProjectMembershipsQuery.d.ts +7 -0
  1567. package/dist/types/model/queries/membership/IdentityHasProjectMembershipsQuery.d.ts.map +1 -0
  1568. package/dist/types/model/queries/membership/ProjectMembersQuery.d.ts.map +1 -1
  1569. package/dist/types/model/queries/membership/ProjectMembershipByIdentityQuery.d.ts.map +1 -1
  1570. package/dist/types/model/queries/membership/ProjectRolesByIdentityQuery.d.ts.map +1 -1
  1571. package/dist/types/model/queries/membership/ProjectSlugSpecification.d.ts.map +1 -1
  1572. package/dist/types/model/queries/membership/index.d.ts +1 -0
  1573. package/dist/types/model/queries/membership/index.d.ts.map +1 -1
  1574. package/dist/types/model/queries/person/PersonByIdPQuery.d.ts.map +1 -1
  1575. package/dist/types/model/queries/person/PersonByIdentityBatchQuery.d.ts.map +1 -1
  1576. package/dist/types/model/queries/person/PersonQuery.d.ts.map +1 -1
  1577. package/dist/types/model/queries/person/PersonQueryBuilderFactory.d.ts.map +1 -1
  1578. package/dist/types/model/queries/person/PersonsQuery.d.ts.map +1 -1
  1579. package/dist/types/model/queries/person/types.d.ts +3 -0
  1580. package/dist/types/model/queries/person/types.d.ts.map +1 -1
  1581. package/dist/types/model/queries/personToken/PersonTokenQuery.d.ts.map +1 -1
  1582. package/dist/types/model/queries/project/ProjectBySlugQuery.d.ts.map +1 -1
  1583. package/dist/types/model/queries/project/ProjectSecretKeysQuery.d.ts.map +1 -1
  1584. package/dist/types/model/queries/project/ProjectSecretsQuery.d.ts.map +1 -1
  1585. package/dist/types/model/queries/project/ProjectUpdateTimestampQuery.d.ts.map +1 -1
  1586. package/dist/types/model/queries/project/ProjectsByIdentityQuery.d.ts.map +1 -1
  1587. package/dist/types/model/queries/project/ProjectsQuery.d.ts.map +1 -1
  1588. package/dist/types/model/queries/rateLimit/RateLimitCountQuery.d.ts +2 -2
  1589. package/dist/types/model/queries/rateLimit/RateLimitCountQuery.d.ts.map +1 -1
  1590. package/dist/types/model/service/AuthLogService.d.ts.map +1 -1
  1591. package/dist/types/model/service/AuthPolicyManager.d.ts.map +1 -1
  1592. package/dist/types/model/service/AuthPolicyResolver.d.ts.map +1 -1
  1593. package/dist/types/model/service/BackupCodeManager.d.ts.map +1 -1
  1594. package/dist/types/model/service/ConfigurationManager.d.ts.map +1 -1
  1595. package/dist/types/model/service/CustomRoleManager.d.ts +46 -0
  1596. package/dist/types/model/service/CustomRoleManager.d.ts.map +1 -0
  1597. package/dist/types/model/service/EmailChangeManager.d.ts.map +1 -1
  1598. package/dist/types/model/service/EmailOtpManager.d.ts.map +1 -1
  1599. package/dist/types/model/service/EmailValidator.d.ts.map +1 -1
  1600. package/dist/types/model/service/EmailVerificationManager.d.ts.map +1 -1
  1601. package/dist/types/model/service/GlobalRoleValidator.d.ts +5 -0
  1602. package/dist/types/model/service/GlobalRoleValidator.d.ts.map +1 -0
  1603. package/dist/types/model/service/HibpChecker.d.ts.map +1 -1
  1604. package/dist/types/model/service/IDPSignInManager.d.ts +13 -1
  1605. package/dist/types/model/service/IDPSignInManager.d.ts.map +1 -1
  1606. package/dist/types/model/service/InviteManager.d.ts.map +1 -1
  1607. package/dist/types/model/service/LoginRiskAnalyzer.d.ts +1 -1
  1608. package/dist/types/model/service/LoginRiskAnalyzer.d.ts.map +1 -1
  1609. package/dist/types/model/service/MailTemplateManager.d.ts.map +1 -1
  1610. package/dist/types/model/service/MembershipValidator.d.ts.map +1 -1
  1611. package/dist/types/model/service/OtpAuthenticator.d.ts.map +1 -1
  1612. package/dist/types/model/service/OtpManager.d.ts.map +1 -1
  1613. package/dist/types/model/service/PanelAccessResolver.d.ts +19 -0
  1614. package/dist/types/model/service/PanelAccessResolver.d.ts.map +1 -0
  1615. package/dist/types/model/service/PasswordChangeManager.d.ts.map +1 -1
  1616. package/dist/types/model/service/PasswordResetManager.d.ts.map +1 -1
  1617. package/dist/types/model/service/PasswordStrengthValidator.d.ts.map +1 -1
  1618. package/dist/types/model/service/PasswordlessSignInManager.d.ts.map +1 -1
  1619. package/dist/types/model/service/PersonAccessManager.d.ts +5 -2
  1620. package/dist/types/model/service/PersonAccessManager.d.ts.map +1 -1
  1621. package/dist/types/model/service/PersonManager.d.ts.map +1 -1
  1622. package/dist/types/model/service/ProjectManager.d.ts.map +1 -1
  1623. package/dist/types/model/service/ProjectMemberManager.d.ts.map +1 -1
  1624. package/dist/types/model/service/RateLimiter.d.ts +1 -1
  1625. package/dist/types/model/service/RateLimiter.d.ts.map +1 -1
  1626. package/dist/types/model/service/RolesManager.d.ts +6 -1
  1627. package/dist/types/model/service/RolesManager.d.ts.map +1 -1
  1628. package/dist/types/model/service/SecretsManager.d.ts.map +1 -1
  1629. package/dist/types/model/service/SignInManager.d.ts.map +1 -1
  1630. package/dist/types/model/service/SignOutManager.d.ts.map +1 -1
  1631. package/dist/types/model/service/SignUpManager.d.ts +3 -1
  1632. package/dist/types/model/service/SignUpManager.d.ts.map +1 -1
  1633. package/dist/types/model/service/apiKey/ApiKeyManager.d.ts +4 -1
  1634. package/dist/types/model/service/apiKey/ApiKeyManager.d.ts.map +1 -1
  1635. package/dist/types/model/service/apiKey/ApiKeyService.d.ts +2 -2
  1636. package/dist/types/model/service/apiKey/ApiKeyService.d.ts.map +1 -1
  1637. package/dist/types/model/service/apiKey/UnpersistedApiKeyManager.d.ts +18 -0
  1638. package/dist/types/model/service/apiKey/UnpersistedApiKeyManager.d.ts.map +1 -1
  1639. package/dist/types/model/service/captcha/CaptchaValidator.d.ts.map +1 -1
  1640. package/dist/types/model/service/captcha/HCaptchaProvider.d.ts.map +1 -1
  1641. package/dist/types/model/service/captcha/RecaptchaV3Provider.d.ts.map +1 -1
  1642. package/dist/types/model/service/captcha/TurnstileProvider.d.ts.map +1 -1
  1643. package/dist/types/model/service/helpers/getPreferredProject.d.ts.map +1 -1
  1644. package/dist/types/model/service/helpers/isPasswordlessEnabled.d.ts.map +1 -1
  1645. package/dist/types/model/service/idp/BackchannelLogoutManager.d.ts.map +1 -1
  1646. package/dist/types/model/service/idp/ClaimMapping.d.ts +330 -0
  1647. package/dist/types/model/service/idp/ClaimMapping.d.ts.map +1 -0
  1648. package/dist/types/model/service/idp/ClaimMappingEvaluator.d.ts +30 -0
  1649. package/dist/types/model/service/idp/ClaimMappingEvaluator.d.ts.map +1 -0
  1650. package/dist/types/model/service/idp/ClaimMappingValidation.d.ts +55 -0
  1651. package/dist/types/model/service/idp/ClaimMappingValidation.d.ts.map +1 -0
  1652. package/dist/types/model/service/idp/IDPClaimSyncService.d.ts +113 -0
  1653. package/dist/types/model/service/idp/IDPClaimSyncService.d.ts.map +1 -0
  1654. package/dist/types/model/service/idp/IDPHandlerRegistry.d.ts.map +1 -1
  1655. package/dist/types/model/service/idp/IDPManager.d.ts +31 -1
  1656. package/dist/types/model/service/idp/IDPManager.d.ts.map +1 -1
  1657. package/dist/types/model/service/idp/IdentityProviderHandler.d.ts +7 -0
  1658. package/dist/types/model/service/idp/IdentityProviderHandler.d.ts.map +1 -1
  1659. package/dist/types/model/service/idp/IdpSessionRevalidator.d.ts +15 -1
  1660. package/dist/types/model/service/idp/IdpSessionRevalidator.d.ts.map +1 -1
  1661. package/dist/types/model/service/idp/PersonIdentityProviderManager.d.ts.map +1 -1
  1662. package/dist/types/model/service/idp/index.d.ts +4 -0
  1663. package/dist/types/model/service/idp/index.d.ts.map +1 -1
  1664. package/dist/types/model/service/idp/providers/AppleProvider.d.ts +2 -2
  1665. package/dist/types/model/service/idp/providers/AppleProvider.d.ts.map +1 -1
  1666. package/dist/types/model/service/idp/providers/FacebookProvider.d.ts +2 -2
  1667. package/dist/types/model/service/idp/providers/FacebookProvider.d.ts.map +1 -1
  1668. package/dist/types/model/service/idp/providers/OIDCHelpers.d.ts +13 -1
  1669. package/dist/types/model/service/idp/providers/OIDCHelpers.d.ts.map +1 -1
  1670. package/dist/types/model/service/idp/providers/OIDCProvider.d.ts +1 -1
  1671. package/dist/types/model/service/idp/providers/OIDCProvider.d.ts.map +1 -1
  1672. package/dist/types/model/service/idp/providers/OIDCTypes.d.ts +5 -5
  1673. package/dist/types/model/service/idp/providers/helpers.d.ts.map +1 -1
  1674. package/dist/types/model/service/index.d.ts +3 -0
  1675. package/dist/types/model/service/index.d.ts.map +1 -1
  1676. package/dist/types/model/service/membershipUtils.d.ts.map +1 -1
  1677. package/dist/types/model/type/AuthLog.d.ts +1 -1
  1678. package/dist/types/model/type/AuthLog.d.ts.map +1 -1
  1679. package/dist/types/model/type/Config.d.ts +2 -0
  1680. package/dist/types/model/type/Config.d.ts.map +1 -1
  1681. package/dist/types/model/type/CustomRole.d.ts +9 -0
  1682. package/dist/types/model/type/CustomRole.d.ts.map +1 -0
  1683. package/dist/types/model/type/IdentityProvider.d.ts +2 -0
  1684. package/dist/types/model/type/IdentityProvider.d.ts.map +1 -1
  1685. package/dist/types/model/type/PersonToken.d.ts +2 -0
  1686. package/dist/types/model/type/PersonToken.d.ts.map +1 -1
  1687. package/dist/types/model/type/RateLimit.d.ts +6 -6
  1688. package/dist/types/model/type/RateLimit.d.ts.map +1 -1
  1689. package/dist/types/model/type/index.d.ts +1 -0
  1690. package/dist/types/model/type/index.d.ts.map +1 -1
  1691. package/dist/types/model/utils/DatabaseContext.d.ts +15 -1
  1692. package/dist/types/model/utils/DatabaseContext.d.ts.map +1 -1
  1693. package/dist/types/model/utils/Response.d.ts.map +1 -1
  1694. package/dist/types/model/utils/email.d.ts.map +1 -1
  1695. package/dist/types/model/utils/hex.d.ts.map +1 -1
  1696. package/dist/types/model/utils/interval.d.ts.map +1 -1
  1697. package/dist/types/model/utils/time.d.ts.map +1 -1
  1698. package/dist/types/model/utils/token.d.ts +1 -2
  1699. package/dist/types/model/utils/token.d.ts.map +1 -1
  1700. package/dist/types/resolvers/ResolverFactory.d.ts +6 -0
  1701. package/dist/types/resolvers/ResolverFactory.d.ts.map +1 -1
  1702. package/dist/types/resolvers/TenantResolverContext.d.ts +1 -1
  1703. package/dist/types/resolvers/TenantResolverContext.d.ts.map +1 -1
  1704. package/dist/types/resolvers/TenantResolverContextFactory.d.ts +1 -1
  1705. package/dist/types/resolvers/TenantResolverContextFactory.d.ts.map +1 -1
  1706. package/dist/types/resolvers/errorUtils.d.ts.map +1 -1
  1707. package/dist/types/resolvers/membershipUtils.d.ts.map +1 -1
  1708. package/dist/types/resolvers/mutation/apiKey/CreateApiKeyMutationResolver.d.ts.map +1 -1
  1709. package/dist/types/resolvers/mutation/apiKey/DisableApiKeyMutationResolver.d.ts.map +1 -1
  1710. package/dist/types/resolvers/mutation/configuration/AuthPolicyMutationResolver.d.ts.map +1 -1
  1711. package/dist/types/resolvers/mutation/configuration/ConfigurationMutationResolver.d.ts.map +1 -1
  1712. package/dist/types/resolvers/mutation/customRole/CustomRoleMutationResolver.d.ts +16 -0
  1713. package/dist/types/resolvers/mutation/customRole/CustomRoleMutationResolver.d.ts.map +1 -0
  1714. package/dist/types/resolvers/mutation/identity/GlobalRolesMutationResolver.d.ts.map +1 -1
  1715. package/dist/types/resolvers/mutation/idp/AddIDPMutationResolver.d.ts.map +1 -1
  1716. package/dist/types/resolvers/mutation/idp/DisableIDPMutationResolver.d.ts.map +1 -1
  1717. package/dist/types/resolvers/mutation/idp/DisconnectMyIdentityProviderMutationResolver.d.ts.map +1 -1
  1718. package/dist/types/resolvers/mutation/idp/EnableIDPMutationResolver.d.ts.map +1 -1
  1719. package/dist/types/resolvers/mutation/idp/UpdateIDPMutationResolver.d.ts.map +1 -1
  1720. package/dist/types/resolvers/mutation/idp/audit.d.ts.map +1 -1
  1721. package/dist/types/resolvers/mutation/mailTemplates/MailTemplateMutationResolver.d.ts +2 -0
  1722. package/dist/types/resolvers/mutation/mailTemplates/MailTemplateMutationResolver.d.ts.map +1 -1
  1723. package/dist/types/resolvers/mutation/person/ChangePasswordMutationResolver.d.ts.map +1 -1
  1724. package/dist/types/resolvers/mutation/person/ChangeProfileMutationResolver.d.ts.map +1 -1
  1725. package/dist/types/resolvers/mutation/person/DisablePersonMutationResolver.d.ts +1 -1
  1726. package/dist/types/resolvers/mutation/person/DisablePersonMutationResolver.d.ts.map +1 -1
  1727. package/dist/types/resolvers/mutation/person/EmailOtpMutationResolver.d.ts.map +1 -1
  1728. package/dist/types/resolvers/mutation/person/EmailVerificationMutationResolver.d.ts.map +1 -1
  1729. package/dist/types/resolvers/mutation/person/EnablePersonMutationResolver.d.ts +11 -0
  1730. package/dist/types/resolvers/mutation/person/EnablePersonMutationResolver.d.ts.map +1 -0
  1731. package/dist/types/resolvers/mutation/person/ForceSignOutMutationResolver.d.ts.map +1 -1
  1732. package/dist/types/resolvers/mutation/person/IDPMutationResolver.d.ts.map +1 -1
  1733. package/dist/types/resolvers/mutation/person/InviteMutationResolver.d.ts.map +1 -1
  1734. package/dist/types/resolvers/mutation/person/OtpMutationResolver.d.ts.map +1 -1
  1735. package/dist/types/resolvers/mutation/person/PasswordlessMutationResolver.d.ts.map +1 -1
  1736. package/dist/types/resolvers/mutation/person/RegenerateBackupCodesMutationResolver.d.ts.map +1 -1
  1737. package/dist/types/resolvers/mutation/person/ResetPasswordMutationResolver.d.ts.map +1 -1
  1738. package/dist/types/resolvers/mutation/person/ResetPersonMfaMutationResolver.d.ts.map +1 -1
  1739. package/dist/types/resolvers/mutation/person/RevokeSessionMutationResolver.d.ts.map +1 -1
  1740. package/dist/types/resolvers/mutation/person/SignInMutationResolver.d.ts.map +1 -1
  1741. package/dist/types/resolvers/mutation/person/SignOutMutationResolver.d.ts.map +1 -1
  1742. package/dist/types/resolvers/mutation/person/SignUpMutationResolver.d.ts.map +1 -1
  1743. package/dist/types/resolvers/mutation/person/TogglePasswordlessMutationResolver.d.ts.map +1 -1
  1744. package/dist/types/resolvers/mutation/project/CreateProjectMutationResolver.d.ts.map +1 -1
  1745. package/dist/types/resolvers/mutation/project/SetProjectSecretMutationResolver.d.ts.map +1 -1
  1746. package/dist/types/resolvers/mutation/project/UpdateProjectMutationResolver.d.ts.map +1 -1
  1747. package/dist/types/resolvers/mutation/projectMember/AddProjectMemberMutationResolver.d.ts.map +1 -1
  1748. package/dist/types/resolvers/mutation/projectMember/RemoveProjectMemberMutationResolver.d.ts.map +1 -1
  1749. package/dist/types/resolvers/mutation/projectMember/UpdateProjectMemberMutationResolver.d.ts.map +1 -1
  1750. package/dist/types/resolvers/mutation/projectMember/audit.d.ts +1 -1
  1751. package/dist/types/resolvers/mutation/projectMember/audit.d.ts.map +1 -1
  1752. package/dist/types/resolvers/query/ApiKeyQueryResolver.d.ts.map +1 -1
  1753. package/dist/types/resolvers/query/AuthLogQueryResolver.d.ts.map +1 -1
  1754. package/dist/types/resolvers/query/AuthPolicyQueryResolver.d.ts.map +1 -1
  1755. package/dist/types/resolvers/query/ConfigurationQueryResolver.d.ts.map +1 -1
  1756. package/dist/types/resolvers/query/CustomRoleQueryResolver.d.ts +11 -0
  1757. package/dist/types/resolvers/query/CustomRoleQueryResolver.d.ts.map +1 -0
  1758. package/dist/types/resolvers/query/IDPQueryResolver.d.ts.map +1 -1
  1759. package/dist/types/resolvers/query/MailTemplateQueryResolver.d.ts +1 -0
  1760. package/dist/types/resolvers/query/MailTemplateQueryResolver.d.ts.map +1 -1
  1761. package/dist/types/resolvers/query/MeQueryResolver.d.ts.map +1 -1
  1762. package/dist/types/resolvers/query/PersonQueryResolver.d.ts.map +1 -1
  1763. package/dist/types/resolvers/query/ProjectMembersQueryResolver.d.ts.map +1 -1
  1764. package/dist/types/resolvers/query/ProjectQueryResolver.d.ts.map +1 -1
  1765. package/dist/types/resolvers/responseHelpers/ApiKeyResponseFactory.d.ts.map +1 -1
  1766. package/dist/types/resolvers/responseHelpers/PersonResponseFactory.d.ts.map +1 -1
  1767. package/dist/types/resolvers/responseHelpers/ProjectResponseFactory.d.ts +10 -0
  1768. package/dist/types/resolvers/responseHelpers/ProjectResponseFactory.d.ts.map +1 -0
  1769. package/dist/types/resolvers/responseHelpers/SignInResponseFactory.d.ts.map +1 -1
  1770. package/dist/types/resolvers/types/IdentityTypeResolver.d.ts.map +1 -1
  1771. package/dist/types/resolvers/types/PersonTypeResolver.d.ts +15 -1
  1772. package/dist/types/resolvers/types/PersonTypeResolver.d.ts.map +1 -1
  1773. package/dist/types/resolvers/types/ProjectTypeResolver.d.ts +15 -6
  1774. package/dist/types/resolvers/types/ProjectTypeResolver.d.ts.map +1 -1
  1775. package/dist/types/schema/index.d.ts +381 -21
  1776. package/dist/types/schema/index.d.ts.map +1 -1
  1777. package/dist/types/schema/tenant.graphql.d.ts.map +1 -1
  1778. package/dist/types/schema/types.d.ts +2 -2
  1779. package/dist/types/schema/types.d.ts.map +1 -1
  1780. package/dist/types/tsconfig.tsbuildinfo +1 -1
  1781. package/dist/types/utils/Mailer.d.ts.map +1 -1
  1782. package/dist/types/utils/TemplateRenderer.d.ts.map +1 -1
  1783. package/dist/types/utils/array.d.ts.map +1 -1
  1784. package/dist/types/utils/batchQuery.d.ts.map +1 -1
  1785. package/package.json +12 -12
  1786. package/readme.md +56 -0
  1787. package/src/TenantContainer.ts +46 -8
  1788. package/src/migrations/2026-06-18-120000-idp-claim-mapping.ts +15 -0
  1789. package/src/migrations/2026-08-03-120000-person-enable-auth-log.ts +12 -0
  1790. package/src/migrations/2026-08-04-120000-config-panel.ts +13 -0
  1791. package/src/migrations/2026-09-04-120000-idp-disable-local-authentication.ts +18 -0
  1792. package/src/migrations/2026-09-11-120000-custom-role.ts +19 -0
  1793. package/src/migrations/runner.ts +10 -0
  1794. package/src/migrations/snapshot.ts +22 -2
  1795. package/src/model/authorization/CustomRoleAuthorizator.ts +72 -0
  1796. package/src/model/authorization/CustomRolePermissions.ts +558 -0
  1797. package/src/model/authorization/PermissionActions.ts +74 -17
  1798. package/src/model/authorization/PermissionContextFactory.ts +39 -3
  1799. package/src/model/authorization/PermissionsFactory.ts +65 -31
  1800. package/src/model/authorization/Roles.ts +13 -0
  1801. package/src/model/authorization/TargetIdentityPermission.ts +37 -0
  1802. package/src/model/authorization/index.ts +3 -0
  1803. package/src/model/commands/apiKey/ApiKeyHelper.ts +23 -0
  1804. package/src/model/commands/apiKey/CreateApiKeyCommand.ts +12 -5
  1805. package/src/model/commands/apiKey/ProlongApiKeyCommand.ts +22 -14
  1806. package/src/model/commands/authLog/CreateAuthLogEntryCommand.ts +1 -0
  1807. package/src/model/commands/configuration/UpdateConfigurationCommand.ts +5 -4
  1808. package/src/model/commands/customRole/CreateCustomRoleCommand.ts +30 -0
  1809. package/src/model/commands/customRole/DeleteCustomRoleCommand.ts +20 -0
  1810. package/src/model/commands/customRole/RemoveCustomRoleAssignmentsCommand.ts +20 -0
  1811. package/src/model/commands/customRole/UpdateCustomRoleCommand.ts +30 -0
  1812. package/src/model/commands/customRole/index.ts +4 -0
  1813. package/src/model/commands/identity/PatchIdentityGlobalRoles.ts +1 -1
  1814. package/src/model/commands/idp/ClaimIdpRevalidationCommand.ts +8 -7
  1815. package/src/model/commands/idp/CreateIdpCommand.ts +7 -1
  1816. package/src/model/commands/idp/CreateIdpSessionCommand.ts +5 -2
  1817. package/src/model/commands/idp/UpdateIdpCommand.ts +5 -1
  1818. package/src/model/commands/idp/UpdateIdpSessionCommand.ts +3 -2
  1819. package/src/model/commands/index.ts +1 -0
  1820. package/src/model/commands/membership/UpdateProjectMemberCommand.ts +1 -1
  1821. package/src/model/commands/membership/index.ts +2 -1
  1822. package/src/model/commands/membership/variables/index.ts +1 -0
  1823. package/src/model/commands/person/CreatePersonCommand.ts +1 -0
  1824. package/src/model/commands/person/EnablePersonCommand.ts +18 -0
  1825. package/src/model/commands/person/SetMfaGraceUntilCommand.ts +9 -4
  1826. package/src/model/commands/personToken/ResetPasswordCommand.ts +2 -3
  1827. package/src/model/commands/personToken/SaveEmailOtpTokenCommand.ts +5 -4
  1828. package/src/model/commands/personToken/SavePersonTokenCommand.ts +13 -7
  1829. package/src/model/commands/rateLimit/RecordRateLimitEventCommand.ts +3 -1
  1830. package/src/model/queries/apiKey/ApiKeyQuery.ts +17 -1
  1831. package/src/model/queries/apiKey/ApiKeySessionsQuery.ts +2 -2
  1832. package/src/model/queries/authLog/NextLoginAttemptQuery.ts +14 -12
  1833. package/src/model/queries/authLog/NextMailAttemptQuery.ts +12 -10
  1834. package/src/model/queries/configuration/ConfigurationQuery.ts +4 -0
  1835. package/src/model/queries/customRole/CustomRolesQuery.ts +30 -0
  1836. package/src/model/queries/customRole/index.ts +1 -0
  1837. package/src/model/queries/identity/IdentitiesHoldingRoleCountQuery.ts +17 -0
  1838. package/src/model/queries/identity/IdentityQuery.ts +10 -4
  1839. package/src/model/queries/identity/index.ts +1 -0
  1840. package/src/model/queries/idp/LocalAuthDisablingIdpsQuery.ts +41 -0
  1841. package/src/model/queries/idp/PersonIdentityProvidersQuery.ts +2 -0
  1842. package/src/model/queries/idp/helpers.ts +3 -2
  1843. package/src/model/queries/idp/index.ts +1 -0
  1844. package/src/model/queries/idp/types.ts +1 -0
  1845. package/src/model/queries/index.ts +1 -0
  1846. package/src/model/queries/membership/IdentityHasProjectMembershipsQuery.ts +17 -0
  1847. package/src/model/queries/membership/ProjectMembersQuery.ts +1 -0
  1848. package/src/model/queries/membership/index.ts +1 -0
  1849. package/src/model/queries/person/PersonQueryBuilderFactory.ts +4 -0
  1850. package/src/model/queries/person/types.ts +3 -0
  1851. package/src/model/queries/personToken/PersonTokenQuery.ts +4 -0
  1852. package/src/model/queries/rateLimit/RateLimitCountQuery.ts +5 -2
  1853. package/src/model/service/AuthLogService.ts +18 -2
  1854. package/src/model/service/CustomRoleManager.ts +221 -0
  1855. package/src/model/service/EmailChangeManager.ts +3 -3
  1856. package/src/model/service/EmailOtpManager.ts +0 -1
  1857. package/src/model/service/EmailVerificationManager.ts +3 -3
  1858. package/src/model/service/GlobalRoleValidator.ts +30 -0
  1859. package/src/model/service/IDPSignInManager.ts +74 -14
  1860. package/src/model/service/PanelAccessResolver.ts +32 -0
  1861. package/src/model/service/PasswordResetManager.ts +11 -3
  1862. package/src/model/service/PasswordlessSignInManager.ts +26 -6
  1863. package/src/model/service/PersonAccessManager.ts +19 -3
  1864. package/src/model/service/RateLimiter.ts +2 -3
  1865. package/src/model/service/RolesManager.ts +28 -14
  1866. package/src/model/service/SignInManager.ts +16 -8
  1867. package/src/model/service/SignUpManager.ts +12 -4
  1868. package/src/model/service/apiKey/ApiKeyManager.ts +75 -53
  1869. package/src/model/service/apiKey/ApiKeyService.ts +2 -2
  1870. package/src/model/service/apiKey/UnpersistedApiKeyManager.ts +24 -0
  1871. package/src/model/service/idp/ClaimMapping.ts +283 -0
  1872. package/src/model/service/idp/ClaimMappingEvaluator.ts +226 -0
  1873. package/src/model/service/idp/ClaimMappingValidation.ts +158 -0
  1874. package/src/model/service/idp/IDPClaimSyncService.ts +401 -0
  1875. package/src/model/service/idp/IDPManager.ts +126 -21
  1876. package/src/model/service/idp/IdentityProviderHandler.ts +7 -0
  1877. package/src/model/service/idp/IdpSessionRevalidator.ts +130 -25
  1878. package/src/model/service/idp/PersonIdentityProviderManager.ts +8 -0
  1879. package/src/model/service/idp/index.ts +4 -0
  1880. package/src/model/service/idp/providers/OIDCHelpers.ts +161 -53
  1881. package/src/model/service/idp/providers/OIDCProvider.ts +4 -1
  1882. package/src/model/service/index.ts +3 -0
  1883. package/src/model/type/AuthLog.ts +4 -0
  1884. package/src/model/type/Config.ts +3 -0
  1885. package/src/model/type/CustomRole.ts +8 -0
  1886. package/src/model/type/IdentityProvider.ts +2 -0
  1887. package/src/model/type/PersonToken.ts +2 -0
  1888. package/src/model/type/index.ts +1 -0
  1889. package/src/model/utils/DatabaseContext.ts +30 -6
  1890. package/src/model/utils/token.ts +2 -3
  1891. package/src/resolvers/ResolverFactory.ts +17 -0
  1892. package/src/resolvers/TenantResolverContext.ts +1 -1
  1893. package/src/resolvers/TenantResolverContextFactory.ts +5 -5
  1894. package/src/resolvers/mutation/apiKey/CreateApiKeyMutationResolver.ts +13 -5
  1895. package/src/resolvers/mutation/customRole/CustomRoleMutationResolver.ts +125 -0
  1896. package/src/resolvers/mutation/identity/GlobalRolesMutationResolver.ts +30 -7
  1897. package/src/resolvers/mutation/idp/AddIDPMutationResolver.ts +1 -0
  1898. package/src/resolvers/mutation/idp/UpdateIDPMutationResolver.ts +1 -0
  1899. package/src/resolvers/mutation/idp/audit.ts +1 -0
  1900. package/src/resolvers/mutation/mailTemplates/MailTemplateMutationResolver.ts +48 -14
  1901. package/src/resolvers/mutation/person/ChangePasswordMutationResolver.ts +2 -2
  1902. package/src/resolvers/mutation/person/ChangeProfileMutationResolver.ts +9 -3
  1903. package/src/resolvers/mutation/person/DisablePersonMutationResolver.ts +5 -5
  1904. package/src/resolvers/mutation/person/EmailVerificationMutationResolver.ts +1 -1
  1905. package/src/resolvers/mutation/person/EnablePersonMutationResolver.ts +50 -0
  1906. package/src/resolvers/mutation/person/ForceSignOutMutationResolver.ts +2 -2
  1907. package/src/resolvers/mutation/person/IDPMutationResolver.ts +31 -0
  1908. package/src/resolvers/mutation/person/PasswordlessMutationResolver.ts +7 -0
  1909. package/src/resolvers/mutation/person/ResetPasswordMutationResolver.ts +1 -1
  1910. package/src/resolvers/mutation/person/ResetPersonMfaMutationResolver.ts +2 -2
  1911. package/src/resolvers/mutation/person/SignInMutationResolver.ts +22 -9
  1912. package/src/resolvers/mutation/person/SignUpMutationResolver.ts +1 -1
  1913. package/src/resolvers/query/CustomRoleQueryResolver.ts +41 -0
  1914. package/src/resolvers/query/MailTemplateQueryResolver.ts +13 -8
  1915. package/src/resolvers/query/PersonQueryResolver.ts +3 -1
  1916. package/src/resolvers/query/ProjectQueryResolver.ts +3 -2
  1917. package/src/resolvers/responseHelpers/PersonResponseFactory.ts +5 -0
  1918. package/src/resolvers/responseHelpers/ProjectResponseFactory.ts +24 -0
  1919. package/src/resolvers/responseHelpers/SignInResponseFactory.ts +1 -1
  1920. package/src/resolvers/types/IdentityTypeResolver.ts +50 -14
  1921. package/src/resolvers/types/PersonTypeResolver.ts +45 -4
  1922. package/src/resolvers/types/ProjectTypeResolver.ts +33 -1
  1923. package/src/schema/index.ts +483 -15
  1924. package/src/schema/tenant.graphql.ts +275 -15
  1925. package/tests/cases/integration/database/dbClock.test.ts +171 -0
  1926. package/tests/cases/integration/mocked/antiAbuseSignUp.test.ts +2 -2
  1927. package/tests/cases/integration/mocked/changeMyProfileEmailVerificationMutation.test.ts +10 -11
  1928. package/tests/cases/integration/mocked/changePasswordMutation.test.ts +43 -0
  1929. package/tests/cases/integration/mocked/changeProfileMutation.test.ts +2 -0
  1930. package/tests/cases/integration/mocked/configurationPanel.test.ts +105 -0
  1931. package/tests/cases/integration/mocked/confirmEmailChangeMutation.test.ts +4 -2
  1932. package/tests/cases/integration/mocked/createSessionKeyMutation.test.ts +33 -0
  1933. package/tests/cases/integration/mocked/customRoleCrud.test.ts +442 -0
  1934. package/tests/cases/integration/mocked/disablePersonMutation.test.ts +92 -0
  1935. package/tests/cases/integration/mocked/enablePersonMutation.test.ts +137 -0
  1936. package/tests/cases/integration/mocked/forceSignOutPersonMutation.test.ts +3 -1
  1937. package/tests/cases/integration/mocked/globalIdentityRolesMutation.test.ts +169 -3
  1938. package/tests/cases/integration/mocked/gql/passwordless.ts +10 -0
  1939. package/tests/cases/integration/mocked/idpClaimMappingConfig.test.ts +332 -0
  1940. package/tests/cases/integration/mocked/listProjectMembersQuery.test.ts +8 -3
  1941. package/tests/cases/integration/mocked/localAuthenticationDisabled.test.ts +182 -0
  1942. package/tests/cases/integration/mocked/mailTemplateScope.test.ts +95 -0
  1943. package/tests/cases/integration/mocked/permissionsQuery.test.ts +153 -0
  1944. package/tests/cases/integration/mocked/personByIdQuery.test.ts +59 -1
  1945. package/tests/cases/integration/mocked/personIdentityProviders.test.ts +67 -0
  1946. package/tests/cases/integration/mocked/personsQuery.test.ts +38 -5
  1947. package/tests/cases/integration/mocked/requestEmailVerificationMutation.test.ts +15 -6
  1948. package/tests/cases/integration/mocked/resetPersonMfaMutation.test.ts +5 -3
  1949. package/tests/cases/integration/mocked/signInAnomalyDetection.test.ts +13 -2
  1950. package/tests/cases/integration/mocked/signInIdpClaimMapping.test.ts +1258 -0
  1951. package/tests/cases/integration/mocked/signInIdpClaimMappingFixes.test.ts +344 -0
  1952. package/tests/cases/integration/mocked/signInIdpClaimMappingSafety.test.ts +531 -0
  1953. package/tests/cases/integration/mocked/signInIdpMutation.test.ts +105 -1
  1954. package/tests/cases/integration/mocked/signInMfaEnforcement.test.ts +20 -5
  1955. package/tests/cases/integration/mocked/signInMutation.test.ts +14 -0
  1956. package/tests/cases/integration/mocked/signInPasswordlessMutation.test.ts +38 -1
  1957. package/tests/cases/integration/mocked/signUpMutation.test.ts +62 -3
  1958. package/tests/cases/integration/mocked/sql/createPersonTokenSql.ts +4 -3
  1959. package/tests/cases/integration/mocked/sql/createSessionKeySql.ts +2 -2
  1960. package/tests/cases/integration/mocked/sql/emailOtpSql.ts +10 -8
  1961. package/tests/cases/integration/mocked/sql/getApiKeySql.ts +2 -2
  1962. package/tests/cases/integration/mocked/sql/getConfigSql.ts +3 -0
  1963. package/tests/cases/integration/mocked/sql/getCustomRolesSql.ts +25 -0
  1964. package/tests/cases/integration/mocked/sql/getIdentityProjectMembershipPresenceSql.ts +11 -0
  1965. package/tests/cases/integration/mocked/sql/getIdpBySlugSql.ts +1 -1
  1966. package/tests/cases/integration/mocked/sql/getNextLoginAttemptSql.ts +15 -11
  1967. package/tests/cases/integration/mocked/sql/getNextMailAttemptSql.ts +12 -13
  1968. package/tests/cases/integration/mocked/sql/getPersonByEmailSql.ts +5 -2
  1969. package/tests/cases/integration/mocked/sql/getPersonByIdSql.ts +1 -1
  1970. package/tests/cases/integration/mocked/sql/getPersonByIdentity.ts +1 -1
  1971. package/tests/cases/integration/mocked/sql/getPersonByIdpSql.ts +1 -1
  1972. package/tests/cases/integration/mocked/sql/getPersonsByIdentitySql.ts +1 -1
  1973. package/tests/cases/integration/mocked/sql/getProjectBySlugSql.ts +1 -1
  1974. package/tests/cases/integration/mocked/sql/listPersonsSql.ts +5 -2
  1975. package/tests/cases/integration/mocked/sql/listSessionsSql.ts +3 -3
  1976. package/tests/cases/integration/mocked/sql/localAuthDisablingIdpsSql.ts +21 -0
  1977. package/tests/cases/integration/mocked/sql/personIdentityProvidersSql.ts +4 -2
  1978. package/tests/cases/integration/mocked/sql/removeMembershipSql.ts +14 -0
  1979. package/tests/cases/integration/mocked/sql/sqlTransaction.ts +28 -0
  1980. package/tests/cases/integration/mocked/trustForwardedClientInfo.test.ts +60 -3
  1981. package/tests/cases/integration/mocked/verifyEmailMutation.test.ts +9 -5
  1982. package/tests/cases/unit/apiKey/createSessionApiKeyPolicy.test.ts +9 -6
  1983. package/tests/cases/unit/apiKey/prolongApiKeyCommand.test.ts +29 -19
  1984. package/tests/cases/unit/apiKey/unpersistedApiKeyManager.test.ts +4 -5
  1985. package/tests/cases/unit/apiKey/verifyAndProlongIdle.test.ts +16 -6
  1986. package/tests/cases/unit/apiKey/verifyAndProlongReplica.test.ts +173 -0
  1987. package/tests/cases/unit/authLogBaselineWrite.test.ts +26 -3
  1988. package/tests/cases/unit/backupCodeManager.test.ts +1 -0
  1989. package/tests/cases/unit/customRoleAuthorizator.test.ts +149 -0
  1990. package/tests/cases/unit/customRolePermissions.test.ts +583 -0
  1991. package/tests/cases/unit/databaseContextRetry.test.ts +81 -0
  1992. package/tests/cases/unit/emailOtpManager.test.ts +10 -8
  1993. package/tests/cases/unit/idp/claimIdpRevalidation.test.ts +50 -0
  1994. package/tests/cases/unit/idp/claimMappingEvaluator.test.ts +554 -0
  1995. package/tests/cases/unit/idp/claimMappingValidation.test.ts +134 -0
  1996. package/tests/cases/unit/idp/idpManagerConfigMerge.test.ts +97 -0
  1997. package/tests/cases/unit/idp/idpManagerUnknownConfigKeys.test.ts +108 -0
  1998. package/tests/cases/unit/idp/idpSessionRevalidator.test.ts +261 -26
  1999. package/tests/cases/unit/idp/oidcClaims.test.ts +29 -0
  2000. package/tests/cases/unit/idp/oidcResponse.test.ts +54 -0
  2001. package/tests/cases/unit/idp/oidcRevalidate.test.ts +94 -2
  2002. package/tests/cases/unit/otpManager.test.ts +1 -0
  2003. package/tests/cases/unit/panelAccessResolver.test.ts +57 -0
  2004. package/tests/cases/unit/rateLimiter.test.ts +7 -7
  2005. package/tests/cases/unit/savePersonTokenCommand.test.ts +40 -0
  2006. package/tests/cases/unit/updateConfigurationCommand.test.ts +63 -0
  2007. package/tests/src/IdPMock.ts +6 -0
  2008. package/tests/src/testTenant.ts +60 -12
  2009. package/dist/development/src/model/commands/membership/RemoveProjectMembershipsCommand.cjs.map +0 -1
  2010. package/dist/development/src/model/commands/membership/RemoveProjectMembershipsCommand.js.map +0 -1
  2011. package/dist/production/src/model/commands/membership/RemoveProjectMembershipsCommand.cjs.map +0 -1
  2012. package/dist/production/src/model/commands/membership/RemoveProjectMembershipsCommand.js.map +0 -1
  2013. package/dist/types/model/commands/membership/RemoveProjectMembershipsCommand.d.ts.map +0 -1
  2014. /package/src/model/commands/membership/{RemoveProjectMembershipsCommand.ts → RemoveProjectMembershipCommand.ts} +0 -0
@@ -0,0 +1,261 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const ClaimMapping = require("./ClaimMapping.cjs");
4
+ const ClaimMappingEvaluator = require("./ClaimMappingEvaluator.cjs");
5
+ const ClaimMappingValidation = require("./ClaimMappingValidation.cjs");
6
+ const schema = require("@contember/schema");
7
+ const schemaUtils = require("@contember/schema-utils");
8
+ require("../../queries/apiKey/ApiKeyQuery.cjs");
9
+ require("@contember/database");
10
+ require("../../type/ApiKey.cjs");
11
+ const ProjectMembershipByIdentityQuery = require("../../queries/membership/ProjectMembershipByIdentityQuery.cjs");
12
+ const ProjectBySlugQuery = require("../../queries/project/ProjectBySlugQuery.cjs");
13
+ require("../../authorization/PermissionActions.cjs");
14
+ require("@contember/authorization");
15
+ require("../../authorization/CustomRolePermissions.cjs");
16
+ require("../../authorization/PermissionContext.cjs");
17
+ require("../../authorization/TargetIdentityPermission.cjs");
18
+ require("node:crypto");
19
+ const CreateOrUpdateProjectMembershipCommand = require("../../commands/membership/CreateOrUpdateProjectMembershipCommand.cjs");
20
+ const RemoveProjectMembershipCommand = require("../../commands/membership/RemoveProjectMembershipCommand.cjs");
21
+ class IDPClaimSyncService {
22
+ constructor(projectSchemaResolver) {
23
+ this.projectSchemaResolver = projectSchemaResolver;
24
+ }
25
+ async sync(db, mapping, claims, identity, isNewPerson, options = {}) {
26
+ if (mapping.rules.length === 0) {
27
+ return { audit: null, droppedUnsafeRules: false };
28
+ }
29
+ const syncPolicy = mapping.syncPolicy ?? ClaimMapping.DEFAULT_SYNC_POLICY;
30
+ const unmatched = options.allowRemoval === false ? "keep" : mapping.unmatched ?? ClaimMapping.DEFAULT_UNMATCHED;
31
+ if (syncPolicy === "sticky" && !isNewPerson) {
32
+ return { audit: null, droppedUnsafeRules: false };
33
+ }
34
+ const { safe: rules, dropped, aclByProject } = await this.dropUnsafeRules(db, mapping.rules);
35
+ const evaluated = ClaimMappingEvaluator.evaluateClaimMapping({ ...mapping, rules }, claims);
36
+ const { safe: memberships, dropped: droppedMemberships } = this.dropUnsafeEvaluatedMemberships(evaluated, aclByProject);
37
+ const droppedUnsafeRules = dropped.length > 0 || droppedMemberships.length > 0;
38
+ const vocabularyMemberships = /* @__PURE__ */ new Map();
39
+ for (const rule of rules) {
40
+ if (rule.grantMembership) {
41
+ const roles = vocabularyMemberships.get(rule.grantMembership.project) ?? /* @__PURE__ */ new Set();
42
+ roles.add(rule.grantMembership.role);
43
+ vocabularyMemberships.set(rule.grantMembership.project, roles);
44
+ }
45
+ }
46
+ const before = await this.snapshot(db, identity.id, vocabularyMemberships);
47
+ await this.applyMemberships(db, identity.id, memberships, vocabularyMemberships, unmatched);
48
+ const after = await this.snapshot(db, identity.id, vocabularyMemberships);
49
+ if (snapshotEquals(before, after)) {
50
+ return { audit: null, droppedUnsafeRules };
51
+ }
52
+ return { audit: { before, after, syncPolicy, unmatched }, droppedUnsafeRules };
53
+ }
54
+ /**
55
+ * Partition rules into those safe to apply and those dropped by the apply-time safety backstop. A rule
56
+ * is dropped when its granted membership produces ANY validation error against the project's CURRENT ACL
57
+ * schema (fail-closed) — condition-injection above all, but also an unknown role/variable, a malformed
58
+ * condition value, or a forbidden predefined variable. A validation throw is treated as unsafe (we cannot
59
+ * prove the grant safe). Schemas (and, when needed, project existence) are resolved at most once per
60
+ * project. The dropped set is returned so the caller can emit a fail-open audit marker.
61
+ *
62
+ * When `getSchema` returns no ACL it does NOT mean "the project does not exist": it returns undefined both
63
+ * for a project that has no row yet AND for one whose row exists but whose container / content schema is
64
+ * momentarily unresolvable (mid-provisioning, transient). The two need OPPOSITE handling, so we
65
+ * disambiguate via the tenant `project` table:
66
+ * - no project row → the grant is genuinely inert (`applyMemberships` resolves the same slug and skips
67
+ * it, so nothing is written). KEEP the rule for when the project is created later.
68
+ * - project row EXISTS but the ACL is unresolvable → `applyMemberships` WOULD still write the membership
69
+ * (it resolves the slug from the tenant `project` table, independent of the content schema), so an
70
+ * UNVALIDATED grant — including a claim-derived value targeting a `condition` ACL variable — could
71
+ * land. Fail closed: DROP the rule (it re-applies on a later sign-in once the schema resolves). This
72
+ * matches the direct add-member path, which refuses a membership whose project schema can't be resolved.
73
+ *
74
+ * Returns the per-project ACL map it built (`aclByProject`) so the runtime backstop
75
+ * ({@link dropUnsafeEvaluatedMemberships}) can re-use it without re-resolving any schema.
76
+ */
77
+ async dropUnsafeRules(db, rules) {
78
+ const aclByProject = /* @__PURE__ */ new Map();
79
+ const projectExistsBySlug = /* @__PURE__ */ new Map();
80
+ const safe = [];
81
+ const dropped = [];
82
+ for (const rule of rules) {
83
+ const membership = rule.grantMembership;
84
+ if (!membership) {
85
+ safe.push(rule);
86
+ continue;
87
+ }
88
+ if (!aclByProject.has(membership.project)) {
89
+ const schema2 = await this.projectSchemaResolver.getSchema(membership.project);
90
+ aclByProject.set(membership.project, schema2?.acl ?? null);
91
+ }
92
+ const acl = aclByProject.get(membership.project) ?? null;
93
+ if (acl === null) {
94
+ if (!projectExistsBySlug.has(membership.project)) {
95
+ const project = await db.queryHandler.fetch(new ProjectBySlugQuery.ProjectBySlugQuery(membership.project));
96
+ projectExistsBySlug.set(membership.project, project != null);
97
+ }
98
+ if (projectExistsBySlug.get(membership.project)) {
99
+ dropped.push(rule);
100
+ } else {
101
+ safe.push(rule);
102
+ }
103
+ continue;
104
+ }
105
+ let unsafe;
106
+ try {
107
+ unsafe = ClaimMappingValidation.validateClaimMappingMembership(acl, membership).length > 0;
108
+ } catch {
109
+ unsafe = true;
110
+ }
111
+ if (unsafe) {
112
+ dropped.push(rule);
113
+ } else {
114
+ safe.push(rule);
115
+ }
116
+ }
117
+ return { safe, dropped, aclByProject };
118
+ }
119
+ /**
120
+ * RUNTIME companion to {@link dropUnsafeRules} (A09 apply-time backstop, part 2). `dropUnsafeRules`
121
+ * validates each rule's static CONFIG shape and — like config-time validation — TOLERATES a missing
122
+ * membership variable (`VARIABLE_EMPTY`): an A09 grant may legitimately set only some of a role's
123
+ * variables. For an ordinary role that tolerance is safe: a variable that resolves to no value just
124
+ * narrows CONTENT access (the membership resolver maps it to `{ never: true }` — strictly LESS access,
125
+ * never more), and a role's tenant permissions are matched against that role's OWN tenant rule (a
126
+ * missing variable there denies, never escalates).
127
+ *
128
+ * The ONE role that breaks the assumption is the project `admin` role: {@link ProjectScope} grants the
129
+ * PROJECT_ADMIN tenant role (project secrets, member management, IdP config, deploy, …) to ANY identity
130
+ * holding an `admin` membership in the project — keyed on the role NAME alone, independent of the
131
+ * membership's variables. So when a claim-derived variable meant to SCOPE an `admin` grant resolves
132
+ * empty, `applyMemberships` drops the empty variable before the write and persists a BARE `admin`
133
+ * membership — i.e. UNSCOPED project-admin, even though the operator intended a scoped grant, and a
134
+ * membership the direct add-member path ({@link MembershipResolver}, via `MembershipValidator`) would
135
+ * REJECT as `VARIABLE_EMPTY`. (`admin` is the only role-name-based grant in the whole authorization
136
+ * layer; every other privilege is gated by ACL variables/predicates, so it cannot be widened this way.)
137
+ *
138
+ * So, fail-closed, we re-validate every evaluated `admin` grant EXACTLY as it would be written (empty
139
+ * variables filtered out, as `applyMemberships` does) against the live ACL and DROP it if the resolver
140
+ * reports any error — i.e. if a required (non-fallback) `admin` variable would be absent. Under `keep`
141
+ * the bare grant is then never written; under `remove` it is absent from the granted set, so
142
+ * reconciliation revokes any pre-existing one. Non-`admin` grants are left untouched (their partial
143
+ * grants stay valid). The drop folds into `droppedUnsafeRules`, so the caller still emits the
144
+ * `idp_role_mapping_failed` fail-open marker.
145
+ */
146
+ dropUnsafeEvaluatedMemberships(memberships, aclByProject) {
147
+ const resolver = new schemaUtils.MembershipResolver();
148
+ const safe = [];
149
+ const dropped = [];
150
+ for (const membership of memberships) {
151
+ const acl = aclByProject.get(membership.project) ?? null;
152
+ if (membership.role !== schema.ProjectRole.ADMIN || acl === null) {
153
+ safe.push(membership);
154
+ continue;
155
+ }
156
+ const written = {
157
+ role: membership.role,
158
+ variables: membership.variables.filter((it) => it.values.length > 0).map((it) => ({ name: it.name, values: [...it.values] }))
159
+ };
160
+ let unsafe;
161
+ try {
162
+ unsafe = resolver.resolve(acl, [written], schemaUtils.MembershipResolver.UnknownIdentity, false).errors.length > 0;
163
+ } catch {
164
+ unsafe = true;
165
+ }
166
+ if (unsafe) {
167
+ dropped.push(membership);
168
+ } else {
169
+ safe.push(membership);
170
+ }
171
+ }
172
+ return { safe, dropped };
173
+ }
174
+ // Membership writes are driven through the low-level commands directly (as InviteManager also does),
175
+ // not via ProjectMemberManager (the "normal" add/update-member path): A09 needs semantics that path does
176
+ // not offer — empty-value hard-delete avoidance under `keep`, and vocabulary-bounded removal under `remove`.
177
+ async applyMemberships(db, identityId, grantedMemberships, vocabularyMemberships, unmatched) {
178
+ const byProject = /* @__PURE__ */ new Map();
179
+ for (const membership of grantedMemberships) {
180
+ const list = byProject.get(membership.project) ?? [];
181
+ list.push(membership);
182
+ byProject.set(membership.project, list);
183
+ }
184
+ const projectSlugs = unmatched === "remove" ? /* @__PURE__ */ new Set([...vocabularyMemberships.keys(), ...byProject.keys()]) : new Set(byProject.keys());
185
+ for (const projectSlug of projectSlugs) {
186
+ const project = await db.queryHandler.fetch(new ProjectBySlugQuery.ProjectBySlugQuery(projectSlug));
187
+ if (!project) {
188
+ continue;
189
+ }
190
+ const memberships = byProject.get(projectSlug) ?? [];
191
+ const grantedRoles = new Set(memberships.map((it) => it.role));
192
+ if (unmatched === "remove") {
193
+ const vocabularyRoles = vocabularyMemberships.get(projectSlug) ?? /* @__PURE__ */ new Set();
194
+ const existing = await db.queryHandler.fetch(new ProjectMembershipByIdentityQuery.ProjectMembershipByIdentityQuery({ id: project.id }, [identityId]));
195
+ for (const membership of existing) {
196
+ if (vocabularyRoles.has(membership.role) && !grantedRoles.has(membership.role)) {
197
+ await db.commandBus.execute(new RemoveProjectMembershipCommand.RemoveProjectMembershipCommand(project.id, identityId, membership.role));
198
+ }
199
+ }
200
+ }
201
+ for (const membership of memberships) {
202
+ if (unmatched === "remove" && membership.variables.some((it) => it.values.length === 0)) {
203
+ await db.commandBus.execute(new RemoveProjectMembershipCommand.RemoveProjectMembershipCommand(project.id, identityId, membership.role));
204
+ continue;
205
+ }
206
+ await db.commandBus.execute(
207
+ new CreateOrUpdateProjectMembershipCommand.CreateOrUpdateProjectMembershipCommand(
208
+ project.id,
209
+ identityId,
210
+ {
211
+ role: membership.role,
212
+ // Drop variables with no values: an unset variable simply isn't applied (a role with no
213
+ // variables is fine — it sends none). Under `keep` this is the only empty-handling; under
214
+ // `remove` an empty DECLARED variable already revoked the whole membership above. Because the
215
+ // filtered list never carries an empty `set`, the command's hard-delete-on-empty never fires
216
+ // here — so `keep` never revokes a grant, and `remove`'s revocation stays explicit above.
217
+ variables: membership.variables.filter((it) => it.values.length > 0).map((it) => ({ name: it.name, set: [...it.values] }))
218
+ }
219
+ )
220
+ );
221
+ }
222
+ }
223
+ }
224
+ /**
225
+ * Snapshot the identity's mapping-relevant memberships for the audit delta: its memberships (with
226
+ * variable values) for exactly the (project, role) pairs in the mapping's vocabulary. Bounding is by
227
+ * (project, role) — a membership whose ROLE no rule names is excluded entirely — which keeps the audit
228
+ * consistent with the (also vocabulary-bounded) reconciliation. NOTE the bound is per-(project, role),
229
+ * NOT per-variable-name: for an in-vocabulary membership ALL its variables are snapshotted, including any
230
+ * variable managed OUTSIDE the mapping on that same role (e.g. an admin-set `condition` filter), and a
231
+ * `passthrough` variable's value IS the verbatim external claim value. So the idp_role_mapped event_data
232
+ * can disclose claim-derived / admin-managed variable values for a mapped role to system:viewAuthLog
233
+ * readers — by design (the recorded value is the ACL grant being audited). Variable values are included
234
+ * so a sign-in that only changes a claim-derived membership variable — itself a row-level ACL grant — is
235
+ * still detected as a change and audited.
236
+ */
237
+ async snapshot(db, identityId, vocabularyMemberships) {
238
+ const memberships = [];
239
+ for (const [slug, roles] of vocabularyMemberships) {
240
+ const project = await db.queryHandler.fetch(new ProjectBySlugQuery.ProjectBySlugQuery(slug));
241
+ if (!project) {
242
+ continue;
243
+ }
244
+ const rows = await db.queryHandler.fetch(new ProjectMembershipByIdentityQuery.ProjectMembershipByIdentityQuery({ id: project.id }, [identityId]));
245
+ for (const row of rows) {
246
+ if (roles.has(row.role)) {
247
+ memberships.push({ project: slug, role: row.role, variables: row.variables });
248
+ }
249
+ }
250
+ }
251
+ return { memberships: sortMemberships(memberships) };
252
+ }
253
+ }
254
+ const sortMemberships = (memberships) => [...memberships].map((membership) => ({
255
+ project: membership.project,
256
+ role: membership.role,
257
+ variables: [...membership.variables].map((variable) => ({ name: variable.name, values: [...variable.values].sort() })).sort((a, b) => a.name.localeCompare(b.name))
258
+ })).sort((a, b) => a.project.localeCompare(b.project) || a.role.localeCompare(b.role));
259
+ const snapshotEquals = (a, b) => JSON.stringify(a) === JSON.stringify(b);
260
+ exports.IDPClaimSyncService = IDPClaimSyncService;
261
+ //# sourceMappingURL=IDPClaimSyncService.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IDPClaimSyncService.cjs","sources":["../../../../../../../packages/engine-tenant-api/src/model/service/idp/IDPClaimSyncService.ts"],"sourcesContent":["import { DatabaseContext } from '../../utils/index.js'\nimport { ClaimMapping, ClaimMappingRule, DEFAULT_SYNC_POLICY, DEFAULT_UNMATCHED } from './ClaimMapping.js'\nimport { evaluateClaimMapping, MappedMembership } from './ClaimMappingEvaluator.js'\nimport { validateClaimMappingMembership } from './ClaimMappingValidation.js'\nimport { ProjectSchemaResolver } from '../../type/index.js'\nimport { Acl, ProjectRole } from '@contember/schema'\nimport { MembershipResolver } from '@contember/schema-utils'\nimport { ProjectBySlugQuery, ProjectMembershipByIdentityQuery } from '../../queries/index.js'\nimport { CreateOrUpdateProjectMembershipCommand, RemoveProjectMembershipCommand } from '../../commands/index.js'\n\nexport type ClaimMappingSnapshot = {\n\treadonly memberships: readonly MappedMembership[]\n}\n\nexport type ClaimMappingAudit = {\n\treadonly before: ClaimMappingSnapshot\n\treadonly after: ClaimMappingSnapshot\n\treadonly syncPolicy: NonNullable<ClaimMapping['syncPolicy']>\n\treadonly unmatched: NonNullable<ClaimMapping['unmatched']>\n}\n\nexport type ClaimMappingSyncResult = {\n\t/** Membership before/after delta — present only when the apply actually changed grants. */\n\treadonly audit: ClaimMappingAudit | null\n\t/** True when the apply-time safety backstop dropped one or more configured rules (a fail-open marker for the caller's audit). */\n\treadonly droppedUnsafeRules: boolean\n}\n\n/**\n * Applies an IdP's `claimMapping` (A09) after a person has been resolved: evaluates the declarative\n * rules against the IdP claims and grants the resulting project memberships, honouring the per-IdP\n * `syncPolicy` (`always` vs `sticky`) and `unmatched` (`keep` vs `remove`) settings. The mapping\n * grants project memberships only — never global/tenant roles (see {@link ClaimMapping}).\n *\n * Runs at sign-in (inside the sign-in transaction) and, for `always` mappings, again on each OIDC\n * session refresh (see `IdpSessionRevalidator`). Returns a {@link ClaimMappingSyncResult}: an\n * `{ before, after }` audit delta (`null` when nothing changed) plus `droppedUnsafeRules` (true when the\n * apply-time safety backstop dropped a configured rule). The caller emits the `idp_role_mapped` audit\n * from the delta and the `idp_role_mapping_failed` fail-open marker from `droppedUnsafeRules` — audit\n * lives at the caller layer, never here.\n *\n * The caller parses the mapping (via {@link parseClaimMapping}) and decides the fail-open policy: a\n * malformed config is caught by the caller before this runs, while a DB error raised here propagates\n * so the surrounding transaction rolls back the partial apply (no half-applied grants).\n */\nexport class IDPClaimSyncService {\n\tconstructor(\n\t\tprivate readonly projectSchemaResolver: ProjectSchemaResolver,\n\t) {\n\t}\n\n\tasync sync(\n\t\tdb: DatabaseContext,\n\t\tmapping: ClaimMapping,\n\t\tclaims: Record<string, unknown>,\n\t\tidentity: { id: string },\n\t\tisNewPerson: boolean,\n\t\toptions: { allowRemoval?: boolean } = {},\n\t): Promise<ClaimMappingSyncResult> {\n\t\tif (mapping.rules.length === 0) {\n\t\t\treturn { audit: null, droppedUnsafeRules: false }\n\t\t}\n\n\t\tconst syncPolicy = mapping.syncPolicy ?? DEFAULT_SYNC_POLICY\n\t\t// `unmatched: 'remove'` reconciliation is only safe when the claim surface is COMPLETE: a rule that\n\t\t// matched at sign-in but is missing from a partial surface would strip a legitimate membership with no\n\t\t// IdP change. At sign-in the surface is always complete, so the caller leaves removal enabled. On the\n\t\t// OIDC refresh path the caller passes `allowRemoval` per surface completeness (see IdpSessionRevalidator):\n\t\t// a `method: 'refresh'` that rebuilt sign-in's id-token + userinfo surface enables removal (refresh then\n\t\t// reconciles exactly like sign-in); a partial surface (userinfo-only probe, or a failed userinfo fetch)\n\t\t// disables it so refresh stays additive-only. The audit below reflects this effective value.\n\t\tconst unmatched = options.allowRemoval === false ? 'keep' : (mapping.unmatched ?? DEFAULT_UNMATCHED)\n\n\t\t// `sticky`: only apply at account creation; an existing account keeps whatever it has. This is\n\t\t// also what bounds refresh-sync to `always` mappings — a refresh passes `isNewPerson: false`.\n\t\tif (syncPolicy === 'sticky' && !isNewPerson) {\n\t\t\treturn { audit: null, droppedUnsafeRules: false }\n\t\t}\n\n\t\t// Apply-time safety backstop (A09): re-validate each granted membership against the project's LIVE\n\t\t// ACL schema and drop any that fails (fail-closed) — condition-injection above all, but ANY error\n\t\t// (unknown role/variable, a malformed condition value, an unsafe predefined). Config-time validation\n\t\t// (`IDPManager.assertValidClaimMapping`) is the primary guard, but it is skipped when the target\n\t\t// project does not exist yet, is never re-run when it is later created, and a variable's ACL type can\n\t\t// drift (e.g. entity → condition) after the mapping was authored. A dropped rule is removed from BOTH\n\t\t// the granted set and the removal vocabulary below (both derived from `rules`), so an unsafe rule\n\t\t// neither grants nor drives reconciliation. The caller is told a drop happened (`droppedUnsafeRules`)\n\t\t// so it can emit the `idp_role_mapping_failed` fail-open marker.\n\t\tconst { safe: rules, dropped, aclByProject } = await this.dropUnsafeRules(db, mapping.rules)\n\n\t\t// Apply-time safety backstop, part 2 (A09): RUNTIME re-validation of the EVALUATED memberships.\n\t\t// `dropUnsafeRules` above only sees each rule's static CONFIG shape, so — like config-time validation —\n\t\t// it tolerates a missing membership variable (an A09 grant may set only some of a role's variables).\n\t\t// Once the claims are evaluated we know each membership EXACTLY as it would be written, and can\n\t\t// fail-close on the one case that tolerance makes unsafe: an `admin` grant whose claim-derived scoping\n\t\t// variable resolved empty, which would otherwise persist a bare, UNSCOPED `admin` membership (see\n\t\t// {@link dropUnsafeEvaluatedMemberships}). Both drop sets feed the `droppedUnsafeRules` fail-open marker.\n\t\tconst evaluated = evaluateClaimMapping({ ...mapping, rules }, claims)\n\t\tconst { safe: memberships, dropped: droppedMemberships } = this.dropUnsafeEvaluatedMemberships(evaluated, aclByProject)\n\t\tconst droppedUnsafeRules = dropped.length > 0 || droppedMemberships.length > 0\n\n\t\t// The mapping's membership \"vocabulary\": every (project, role) any rule could grant a membership\n\t\t// for. Removal is strictly bounded to this set so memberships and variable names managed outside\n\t\t// the mapping are never stripped, even under `unmatched: 'remove'`.\n\t\tconst vocabularyMemberships = new Map<string, Set<string>>()\n\t\tfor (const rule of rules) {\n\t\t\tif (rule.grantMembership) {\n\t\t\t\tconst roles = vocabularyMemberships.get(rule.grantMembership.project) ?? new Set<string>()\n\t\t\t\troles.add(rule.grantMembership.role)\n\t\t\t\tvocabularyMemberships.set(rule.grantMembership.project, roles)\n\t\t\t}\n\t\t}\n\t\tconst before = await this.snapshot(db, identity.id, vocabularyMemberships)\n\n\t\tawait this.applyMemberships(db, identity.id, memberships, vocabularyMemberships, unmatched)\n\n\t\tconst after = await this.snapshot(db, identity.id, vocabularyMemberships)\n\n\t\tif (snapshotEquals(before, after)) {\n\t\t\treturn { audit: null, droppedUnsafeRules }\n\t\t}\n\n\t\treturn { audit: { before, after, syncPolicy, unmatched }, droppedUnsafeRules }\n\t}\n\n\t/**\n\t * Partition rules into those safe to apply and those dropped by the apply-time safety backstop. A rule\n\t * is dropped when its granted membership produces ANY validation error against the project's CURRENT ACL\n\t * schema (fail-closed) — condition-injection above all, but also an unknown role/variable, a malformed\n\t * condition value, or a forbidden predefined variable. A validation throw is treated as unsafe (we cannot\n\t * prove the grant safe). Schemas (and, when needed, project existence) are resolved at most once per\n\t * project. The dropped set is returned so the caller can emit a fail-open audit marker.\n\t *\n\t * When `getSchema` returns no ACL it does NOT mean \"the project does not exist\": it returns undefined both\n\t * for a project that has no row yet AND for one whose row exists but whose container / content schema is\n\t * momentarily unresolvable (mid-provisioning, transient). The two need OPPOSITE handling, so we\n\t * disambiguate via the tenant `project` table:\n\t * - no project row → the grant is genuinely inert (`applyMemberships` resolves the same slug and skips\n\t * it, so nothing is written). KEEP the rule for when the project is created later.\n\t * - project row EXISTS but the ACL is unresolvable → `applyMemberships` WOULD still write the membership\n\t * (it resolves the slug from the tenant `project` table, independent of the content schema), so an\n\t * UNVALIDATED grant — including a claim-derived value targeting a `condition` ACL variable — could\n\t * land. Fail closed: DROP the rule (it re-applies on a later sign-in once the schema resolves). This\n\t * matches the direct add-member path, which refuses a membership whose project schema can't be resolved.\n\t *\n\t * Returns the per-project ACL map it built (`aclByProject`) so the runtime backstop\n\t * ({@link dropUnsafeEvaluatedMemberships}) can re-use it without re-resolving any schema.\n\t */\n\tprivate async dropUnsafeRules(\n\t\tdb: DatabaseContext,\n\t\trules: readonly ClaimMappingRule[],\n\t): Promise<{ safe: ClaimMappingRule[]; dropped: ClaimMappingRule[]; aclByProject: Map<string, Acl.Schema | null> }> {\n\t\tconst aclByProject = new Map<string, Acl.Schema | null>()\n\t\tconst projectExistsBySlug = new Map<string, boolean>()\n\t\tconst safe: ClaimMappingRule[] = []\n\t\tconst dropped: ClaimMappingRule[] = []\n\t\tfor (const rule of rules) {\n\t\t\tconst membership = rule.grantMembership\n\t\t\tif (!membership) {\n\t\t\t\tsafe.push(rule)\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tif (!aclByProject.has(membership.project)) {\n\t\t\t\tconst schema = await this.projectSchemaResolver.getSchema(membership.project)\n\t\t\t\taclByProject.set(membership.project, schema?.acl ?? null)\n\t\t\t}\n\t\t\tconst acl = aclByProject.get(membership.project) ?? null\n\t\t\tif (acl === null) {\n\t\t\t\tif (!projectExistsBySlug.has(membership.project)) {\n\t\t\t\t\tconst project = await db.queryHandler.fetch(new ProjectBySlugQuery(membership.project))\n\t\t\t\t\tprojectExistsBySlug.set(membership.project, project != null)\n\t\t\t\t}\n\t\t\t\t// project row exists but its ACL is unresolvable → can't prove the grant safe → drop (fail-closed);\n\t\t\t\t// no row yet → genuinely inert, keep for a project created later.\n\t\t\t\tif (projectExistsBySlug.get(membership.project)) {\n\t\t\t\t\tdropped.push(rule)\n\t\t\t\t} else {\n\t\t\t\t\tsafe.push(rule)\n\t\t\t\t}\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tlet unsafe: boolean\n\t\t\ttry {\n\t\t\t\tunsafe = validateClaimMappingMembership(acl, membership).length > 0\n\t\t\t} catch {\n\t\t\t\tunsafe = true\n\t\t\t}\n\t\t\tif (unsafe) {\n\t\t\t\tdropped.push(rule)\n\t\t\t} else {\n\t\t\t\tsafe.push(rule)\n\t\t\t}\n\t\t}\n\t\treturn { safe, dropped, aclByProject }\n\t}\n\n\t/**\n\t * RUNTIME companion to {@link dropUnsafeRules} (A09 apply-time backstop, part 2). `dropUnsafeRules`\n\t * validates each rule's static CONFIG shape and — like config-time validation — TOLERATES a missing\n\t * membership variable (`VARIABLE_EMPTY`): an A09 grant may legitimately set only some of a role's\n\t * variables. For an ordinary role that tolerance is safe: a variable that resolves to no value just\n\t * narrows CONTENT access (the membership resolver maps it to `{ never: true }` — strictly LESS access,\n\t * never more), and a role's tenant permissions are matched against that role's OWN tenant rule (a\n\t * missing variable there denies, never escalates).\n\t *\n\t * The ONE role that breaks the assumption is the project `admin` role: {@link ProjectScope} grants the\n\t * PROJECT_ADMIN tenant role (project secrets, member management, IdP config, deploy, …) to ANY identity\n\t * holding an `admin` membership in the project — keyed on the role NAME alone, independent of the\n\t * membership's variables. So when a claim-derived variable meant to SCOPE an `admin` grant resolves\n\t * empty, `applyMemberships` drops the empty variable before the write and persists a BARE `admin`\n\t * membership — i.e. UNSCOPED project-admin, even though the operator intended a scoped grant, and a\n\t * membership the direct add-member path ({@link MembershipResolver}, via `MembershipValidator`) would\n\t * REJECT as `VARIABLE_EMPTY`. (`admin` is the only role-name-based grant in the whole authorization\n\t * layer; every other privilege is gated by ACL variables/predicates, so it cannot be widened this way.)\n\t *\n\t * So, fail-closed, we re-validate every evaluated `admin` grant EXACTLY as it would be written (empty\n\t * variables filtered out, as `applyMemberships` does) against the live ACL and DROP it if the resolver\n\t * reports any error — i.e. if a required (non-fallback) `admin` variable would be absent. Under `keep`\n\t * the bare grant is then never written; under `remove` it is absent from the granted set, so\n\t * reconciliation revokes any pre-existing one. Non-`admin` grants are left untouched (their partial\n\t * grants stay valid). The drop folds into `droppedUnsafeRules`, so the caller still emits the\n\t * `idp_role_mapping_failed` fail-open marker.\n\t */\n\tprivate dropUnsafeEvaluatedMemberships(\n\t\tmemberships: readonly MappedMembership[],\n\t\taclByProject: ReadonlyMap<string, Acl.Schema | null>,\n\t): { safe: MappedMembership[]; dropped: MappedMembership[] } {\n\t\tconst resolver = new MembershipResolver()\n\t\tconst safe: MappedMembership[] = []\n\t\tconst dropped: MappedMembership[] = []\n\t\tfor (const membership of memberships) {\n\t\t\tconst acl = aclByProject.get(membership.project) ?? null\n\t\t\t// Only `admin` is privileged by role name independent of its variables (see above). A null ACL means\n\t\t\t// the project has no row yet — an existing-but-unresolvable project had its rule dropped upstream, so\n\t\t\t// it never reaches here — so the grant is inert (`applyMemberships` skips the missing project): keep it.\n\t\t\tif (membership.role !== ProjectRole.ADMIN || acl === null) {\n\t\t\t\tsafe.push(membership)\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\t// Validate the membership as it will be persisted: `applyMemberships` filters out empty-valued\n\t\t\t// variables before the write, so an unset required (non-fallback) variable surfaces here as\n\t\t\t// `VARIABLE_EMPTY`, exactly as the direct add-member path reports and rejects it. Any error ⇒ unsafe.\n\t\t\tconst written: Acl.Membership = {\n\t\t\t\trole: membership.role,\n\t\t\t\tvariables: membership.variables.filter(it => it.values.length > 0).map(it => ({ name: it.name, values: [...it.values] })),\n\t\t\t}\n\t\t\tlet unsafe: boolean\n\t\t\ttry {\n\t\t\t\tunsafe = resolver.resolve(acl, [written], MembershipResolver.UnknownIdentity, false).errors.length > 0\n\t\t\t} catch {\n\t\t\t\tunsafe = true\n\t\t\t}\n\t\t\tif (unsafe) {\n\t\t\t\tdropped.push(membership)\n\t\t\t} else {\n\t\t\t\tsafe.push(membership)\n\t\t\t}\n\t\t}\n\t\treturn { safe, dropped }\n\t}\n\n\t// Membership writes are driven through the low-level commands directly (as InviteManager also does),\n\t// not via ProjectMemberManager (the \"normal\" add/update-member path): A09 needs semantics that path does\n\t// not offer — empty-value hard-delete avoidance under `keep`, and vocabulary-bounded removal under `remove`.\n\tprivate async applyMemberships(\n\t\tdb: DatabaseContext,\n\t\tidentityId: string,\n\t\tgrantedMemberships: readonly MappedMembership[],\n\t\tvocabularyMemberships: ReadonlyMap<string, ReadonlySet<string>>,\n\t\tunmatched: NonNullable<ClaimMapping['unmatched']>,\n\t): Promise<void> {\n\t\t// Group granted memberships by project so each project is resolved (slug -> id) only once.\n\t\tconst byProject = new Map<string, MappedMembership[]>()\n\t\tfor (const membership of grantedMemberships) {\n\t\t\tconst list = byProject.get(membership.project) ?? []\n\t\t\tlist.push(membership)\n\t\t\tbyProject.set(membership.project, list)\n\t\t}\n\n\t\t// Under `remove`, reconcile every project in the mapping's membership vocabulary — not only the\n\t\t// projects granted this sign-in — so a membership whose claim disappeared entirely (its project is\n\t\t// then absent from `byProject`) is still revoked. `keep` only ever touches the projects it grants.\n\t\tconst projectSlugs = unmatched === 'remove'\n\t\t\t? new Set([...vocabularyMemberships.keys(), ...byProject.keys()])\n\t\t\t: new Set(byProject.keys())\n\n\t\tfor (const projectSlug of projectSlugs) {\n\t\t\tconst project = await db.queryHandler.fetch(new ProjectBySlugQuery(projectSlug))\n\t\t\tif (!project) {\n\t\t\t\t// Mapping references a project that does not exist (or was deleted) — skip it rather\n\t\t\t\t// than fail the whole sign-in. The audit's before/after won't reflect it.\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\tconst memberships = byProject.get(projectSlug) ?? []\n\t\t\tconst grantedRoles = new Set(memberships.map(it => it.role))\n\n\t\t\tif (unmatched === 'remove') {\n\t\t\t\t// Removal is bounded to the mapping's own membership vocabulary (project::role named by some\n\t\t\t\t// rule): a role the mapping could grant but doesn't this sign-in is stripped, while a\n\t\t\t\t// membership role no rule names (managed outside the mapping) is left untouched.\n\t\t\t\tconst vocabularyRoles = vocabularyMemberships.get(projectSlug) ?? new Set<string>()\n\t\t\t\tconst existing = await db.queryHandler.fetch(new ProjectMembershipByIdentityQuery({ id: project.id }, [identityId]))\n\t\t\t\tfor (const membership of existing) {\n\t\t\t\t\tif (vocabularyRoles.has(membership.role) && !grantedRoles.has(membership.role)) {\n\t\t\t\t\t\tawait db.commandBus.execute(new RemoveProjectMembershipCommand(project.id, identityId, membership.role))\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfor (const membership of memberships) {\n\t\t\t\t// Under `remove` the IdP is the source of truth, and the system does NOT allow an empty membership\n\t\t\t\t// variable — the direct add-member path hard-deletes a membership whose variable resolves to no\n\t\t\t\t// values (`CreateOrUpdateProjectMembershipCommand` deletes such a row), and the membership\n\t\t\t\t// resolver reports a missing/empty variable as VARIABLE_EMPTY. So a DECLARED variable that resolves\n\t\t\t\t// to no values means the grant is empty-scoped and meaningless: REVOKE the whole membership,\n\t\t\t\t// consistently with that invariant, rather than leaving a role with a missing/empty variable. (CORR-1:\n\t\t\t\t// clearing the variable to `[]` instead would, for a `condition` variable, parse to `{ or: [] }` =\n\t\t\t\t// allow-all — the opposite of revoking.) Under `keep` we never revoke, so an empty variable is simply\n\t\t\t\t// not applied below and the grant stays.\n\t\t\t\tif (unmatched === 'remove' && membership.variables.some(it => it.values.length === 0)) {\n\t\t\t\t\tawait db.commandBus.execute(new RemoveProjectMembershipCommand(project.id, identityId, membership.role))\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\n\t\t\t\tawait db.commandBus.execute(\n\t\t\t\t\tnew CreateOrUpdateProjectMembershipCommand(\n\t\t\t\t\t\tproject.id,\n\t\t\t\t\t\tidentityId,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\trole: membership.role,\n\t\t\t\t\t\t\t// Drop variables with no values: an unset variable simply isn't applied (a role with no\n\t\t\t\t\t\t\t// variables is fine — it sends none). Under `keep` this is the only empty-handling; under\n\t\t\t\t\t\t\t// `remove` an empty DECLARED variable already revoked the whole membership above. Because the\n\t\t\t\t\t\t\t// filtered list never carries an empty `set`, the command's hard-delete-on-empty never fires\n\t\t\t\t\t\t\t// here — so `keep` never revokes a grant, and `remove`'s revocation stays explicit above.\n\t\t\t\t\t\t\tvariables: membership.variables\n\t\t\t\t\t\t\t\t.filter(it => it.values.length > 0)\n\t\t\t\t\t\t\t\t.map(it => ({ name: it.name, set: [...it.values] })),\n\t\t\t\t\t\t},\n\t\t\t\t\t),\n\t\t\t\t)\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Snapshot the identity's mapping-relevant memberships for the audit delta: its memberships (with\n\t * variable values) for exactly the (project, role) pairs in the mapping's vocabulary. Bounding is by\n\t * (project, role) — a membership whose ROLE no rule names is excluded entirely — which keeps the audit\n\t * consistent with the (also vocabulary-bounded) reconciliation. NOTE the bound is per-(project, role),\n\t * NOT per-variable-name: for an in-vocabulary membership ALL its variables are snapshotted, including any\n\t * variable managed OUTSIDE the mapping on that same role (e.g. an admin-set `condition` filter), and a\n\t * `passthrough` variable's value IS the verbatim external claim value. So the idp_role_mapped event_data\n\t * can disclose claim-derived / admin-managed variable values for a mapped role to system:viewAuthLog\n\t * readers — by design (the recorded value is the ACL grant being audited). Variable values are included\n\t * so a sign-in that only changes a claim-derived membership variable — itself a row-level ACL grant — is\n\t * still detected as a change and audited.\n\t */\n\tprivate async snapshot(\n\t\tdb: DatabaseContext,\n\t\tidentityId: string,\n\t\tvocabularyMemberships: ReadonlyMap<string, ReadonlySet<string>>,\n\t): Promise<ClaimMappingSnapshot> {\n\t\tconst memberships: MappedMembership[] = []\n\t\tfor (const [slug, roles] of vocabularyMemberships) {\n\t\t\tconst project = await db.queryHandler.fetch(new ProjectBySlugQuery(slug))\n\t\t\tif (!project) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tconst rows = await db.queryHandler.fetch(new ProjectMembershipByIdentityQuery({ id: project.id }, [identityId]))\n\t\t\tfor (const row of rows) {\n\t\t\t\t// Only the roles the mapping itself could grant: a membership role no rule names (managed outside\n\t\t\t\t// the mapping) is neither reconciled nor disclosed in the audit delta.\n\t\t\t\tif (roles.has(row.role)) {\n\t\t\t\t\tmemberships.push({ project: slug, role: row.role, variables: row.variables })\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn { memberships: sortMemberships(memberships) }\n\t}\n}\n\n// Stable ordering (memberships by project+role, variables by name, values sorted) so `snapshotEquals`\n// compares by content, not by the DB's row/array order. Assumes variable `values` are always JSON\n// string arrays (which they are — the membership commands only ever store `string[]`); a non-string\n// element would make the default sort order-unstable and the JSON.stringify comparison spurious, so\n// keep variable values string-typed.\nconst sortMemberships = (memberships: readonly MappedMembership[]): readonly MappedMembership[] =>\n\t[...memberships]\n\t\t.map(membership => ({\n\t\t\tproject: membership.project,\n\t\t\trole: membership.role,\n\t\t\tvariables: [...membership.variables]\n\t\t\t\t.map(variable => ({ name: variable.name, values: [...variable.values].sort() }))\n\t\t\t\t.sort((a, b) => a.name.localeCompare(b.name)),\n\t\t}))\n\t\t.sort((a, b) => a.project.localeCompare(b.project) || a.role.localeCompare(b.role))\n\nconst snapshotEquals = (a: ClaimMappingSnapshot, b: ClaimMappingSnapshot): boolean => JSON.stringify(a) === JSON.stringify(b)\n"],"names":["DEFAULT_SYNC_POLICY","DEFAULT_UNMATCHED","evaluateClaimMapping","schema","ProjectBySlugQuery","validateClaimMappingMembership","MembershipResolver","ProjectRole","ProjectMembershipByIdentityQuery","RemoveProjectMembershipCommand","CreateOrUpdateProjectMembershipCommand"],"mappings":";;;;;;;;;;;;;;;;;;;;AA6CO,MAAM,oBAAoB;AAAA,EAChC,YACkB,uBAChB;AADgB,SAAA,wBAAA;AAAA,EAElB;AAAA,EAEA,MAAM,KACL,IACA,SACA,QACA,UACA,aACA,UAAsC,IACJ;AAClC,QAAI,QAAQ,MAAM,WAAW,GAAG;AAC/B,aAAO,EAAE,OAAO,MAAM,oBAAoB,MAAA;AAAA,IAC3C;AAEA,UAAM,aAAa,QAAQ,cAAcA,aAAAA;AAQzC,UAAM,YAAY,QAAQ,iBAAiB,QAAQ,SAAU,QAAQ,aAAaC,aAAAA;AAIlF,QAAI,eAAe,YAAY,CAAC,aAAa;AAC5C,aAAO,EAAE,OAAO,MAAM,oBAAoB,MAAA;AAAA,IAC3C;AAWA,UAAM,EAAE,MAAM,OAAO,SAAS,aAAA,IAAiB,MAAM,KAAK,gBAAgB,IAAI,QAAQ,KAAK;AAS3F,UAAM,YAAYC,sBAAAA,qBAAqB,EAAE,GAAG,SAAS,MAAA,GAAS,MAAM;AACpE,UAAM,EAAE,MAAM,aAAa,SAAS,uBAAuB,KAAK,+BAA+B,WAAW,YAAY;AACtH,UAAM,qBAAqB,QAAQ,SAAS,KAAK,mBAAmB,SAAS;AAK7E,UAAM,4CAA4B,IAAA;AAClC,eAAW,QAAQ,OAAO;AACzB,UAAI,KAAK,iBAAiB;AACzB,cAAM,QAAQ,sBAAsB,IAAI,KAAK,gBAAgB,OAAO,yBAAS,IAAA;AAC7E,cAAM,IAAI,KAAK,gBAAgB,IAAI;AACnC,8BAAsB,IAAI,KAAK,gBAAgB,SAAS,KAAK;AAAA,MAC9D;AAAA,IACD;AACA,UAAM,SAAS,MAAM,KAAK,SAAS,IAAI,SAAS,IAAI,qBAAqB;AAEzE,UAAM,KAAK,iBAAiB,IAAI,SAAS,IAAI,aAAa,uBAAuB,SAAS;AAE1F,UAAM,QAAQ,MAAM,KAAK,SAAS,IAAI,SAAS,IAAI,qBAAqB;AAExE,QAAI,eAAe,QAAQ,KAAK,GAAG;AAClC,aAAO,EAAE,OAAO,MAAM,mBAAA;AAAA,IACvB;AAEA,WAAO,EAAE,OAAO,EAAE,QAAQ,OAAO,YAAY,UAAA,GAAa,mBAAA;AAAA,EAC3D;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAyBA,MAAc,gBACb,IACA,OACmH;AACnH,UAAM,mCAAmB,IAAA;AACzB,UAAM,0CAA0B,IAAA;AAChC,UAAM,OAA2B,CAAA;AACjC,UAAM,UAA8B,CAAA;AACpC,eAAW,QAAQ,OAAO;AACzB,YAAM,aAAa,KAAK;AACxB,UAAI,CAAC,YAAY;AAChB,aAAK,KAAK,IAAI;AACd;AAAA,MACD;AACA,UAAI,CAAC,aAAa,IAAI,WAAW,OAAO,GAAG;AAC1C,cAAMC,UAAS,MAAM,KAAK,sBAAsB,UAAU,WAAW,OAAO;AAC5E,qBAAa,IAAI,WAAW,SAASA,SAAQ,OAAO,IAAI;AAAA,MACzD;AACA,YAAM,MAAM,aAAa,IAAI,WAAW,OAAO,KAAK;AACpD,UAAI,QAAQ,MAAM;AACjB,YAAI,CAAC,oBAAoB,IAAI,WAAW,OAAO,GAAG;AACjD,gBAAM,UAAU,MAAM,GAAG,aAAa,MAAM,IAAIC,mBAAAA,mBAAmB,WAAW,OAAO,CAAC;AACtF,8BAAoB,IAAI,WAAW,SAAS,WAAW,IAAI;AAAA,QAC5D;AAGA,YAAI,oBAAoB,IAAI,WAAW,OAAO,GAAG;AAChD,kBAAQ,KAAK,IAAI;AAAA,QAClB,OAAO;AACN,eAAK,KAAK,IAAI;AAAA,QACf;AACA;AAAA,MACD;AACA,UAAI;AACJ,UAAI;AACH,iBAASC,uBAAAA,+BAA+B,KAAK,UAAU,EAAE,SAAS;AAAA,MACnE,QAAQ;AACP,iBAAS;AAAA,MACV;AACA,UAAI,QAAQ;AACX,gBAAQ,KAAK,IAAI;AAAA,MAClB,OAAO;AACN,aAAK,KAAK,IAAI;AAAA,MACf;AAAA,IACD;AACA,WAAO,EAAE,MAAM,SAAS,aAAA;AAAA,EACzB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EA6BQ,+BACP,aACA,cAC4D;AAC5D,UAAM,WAAW,IAAIC,+BAAA;AACrB,UAAM,OAA2B,CAAA;AACjC,UAAM,UAA8B,CAAA;AACpC,eAAW,cAAc,aAAa;AACrC,YAAM,MAAM,aAAa,IAAI,WAAW,OAAO,KAAK;AAIpD,UAAI,WAAW,SAASC,OAAAA,YAAY,SAAS,QAAQ,MAAM;AAC1D,aAAK,KAAK,UAAU;AACpB;AAAA,MACD;AAIA,YAAM,UAA0B;AAAA,QAC/B,MAAM,WAAW;AAAA,QACjB,WAAW,WAAW,UAAU,OAAO,QAAM,GAAG,OAAO,SAAS,CAAC,EAAE,IAAI,SAAO,EAAE,MAAM,GAAG,MAAM,QAAQ,CAAC,GAAG,GAAG,MAAM,IAAI;AAAA,MAAA;AAEzH,UAAI;AACJ,UAAI;AACH,iBAAS,SAAS,QAAQ,KAAK,CAAC,OAAO,GAAGD,YAAAA,mBAAmB,iBAAiB,KAAK,EAAE,OAAO,SAAS;AAAA,MACtG,QAAQ;AACP,iBAAS;AAAA,MACV;AACA,UAAI,QAAQ;AACX,gBAAQ,KAAK,UAAU;AAAA,MACxB,OAAO;AACN,aAAK,KAAK,UAAU;AAAA,MACrB;AAAA,IACD;AACA,WAAO,EAAE,MAAM,QAAA;AAAA,EAChB;AAAA;AAAA;AAAA;AAAA,EAKA,MAAc,iBACb,IACA,YACA,oBACA,uBACA,WACgB;AAEhB,UAAM,gCAAgB,IAAA;AACtB,eAAW,cAAc,oBAAoB;AAC5C,YAAM,OAAO,UAAU,IAAI,WAAW,OAAO,KAAK,CAAA;AAClD,WAAK,KAAK,UAAU;AACpB,gBAAU,IAAI,WAAW,SAAS,IAAI;AAAA,IACvC;AAKA,UAAM,eAAe,cAAc,WAChC,oBAAI,IAAI,CAAC,GAAG,sBAAsB,KAAA,GAAQ,GAAG,UAAU,KAAA,CAAM,CAAC,IAC9D,IAAI,IAAI,UAAU,MAAM;AAE3B,eAAW,eAAe,cAAc;AACvC,YAAM,UAAU,MAAM,GAAG,aAAa,MAAM,IAAIF,mBAAAA,mBAAmB,WAAW,CAAC;AAC/E,UAAI,CAAC,SAAS;AAGb;AAAA,MACD;AAEA,YAAM,cAAc,UAAU,IAAI,WAAW,KAAK,CAAA;AAClD,YAAM,eAAe,IAAI,IAAI,YAAY,IAAI,CAAA,OAAM,GAAG,IAAI,CAAC;AAE3D,UAAI,cAAc,UAAU;AAI3B,cAAM,kBAAkB,sBAAsB,IAAI,WAAW,yBAAS,IAAA;AACtE,cAAM,WAAW,MAAM,GAAG,aAAa,MAAM,IAAII,iCAAAA,iCAAiC,EAAE,IAAI,QAAQ,GAAA,GAAM,CAAC,UAAU,CAAC,CAAC;AACnH,mBAAW,cAAc,UAAU;AAClC,cAAI,gBAAgB,IAAI,WAAW,IAAI,KAAK,CAAC,aAAa,IAAI,WAAW,IAAI,GAAG;AAC/E,kBAAM,GAAG,WAAW,QAAQ,IAAIC,+BAAAA,+BAA+B,QAAQ,IAAI,YAAY,WAAW,IAAI,CAAC;AAAA,UACxG;AAAA,QACD;AAAA,MACD;AAEA,iBAAW,cAAc,aAAa;AAUrC,YAAI,cAAc,YAAY,WAAW,UAAU,KAAK,QAAM,GAAG,OAAO,WAAW,CAAC,GAAG;AACtF,gBAAM,GAAG,WAAW,QAAQ,IAAIA,+BAAAA,+BAA+B,QAAQ,IAAI,YAAY,WAAW,IAAI,CAAC;AACvG;AAAA,QACD;AAEA,cAAM,GAAG,WAAW;AAAA,UACnB,IAAIC,uCAAAA;AAAAA,YACH,QAAQ;AAAA,YACR;AAAA,YACA;AAAA,cACC,MAAM,WAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,cAMjB,WAAW,WAAW,UACpB,OAAO,QAAM,GAAG,OAAO,SAAS,CAAC,EACjC,IAAI,SAAO,EAAE,MAAM,GAAG,MAAM,KAAK,CAAC,GAAG,GAAG,MAAM,IAAI;AAAA,YAAA;AAAA,UACrD;AAAA,QACD;AAAA,MAEF;AAAA,IACD;AAAA,EACD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAeA,MAAc,SACb,IACA,YACA,uBACgC;AAChC,UAAM,cAAkC,CAAA;AACxC,eAAW,CAAC,MAAM,KAAK,KAAK,uBAAuB;AAClD,YAAM,UAAU,MAAM,GAAG,aAAa,MAAM,IAAIN,mBAAAA,mBAAmB,IAAI,CAAC;AACxE,UAAI,CAAC,SAAS;AACb;AAAA,MACD;AACA,YAAM,OAAO,MAAM,GAAG,aAAa,MAAM,IAAII,iCAAAA,iCAAiC,EAAE,IAAI,QAAQ,GAAA,GAAM,CAAC,UAAU,CAAC,CAAC;AAC/G,iBAAW,OAAO,MAAM;AAGvB,YAAI,MAAM,IAAI,IAAI,IAAI,GAAG;AACxB,sBAAY,KAAK,EAAE,SAAS,MAAM,MAAM,IAAI,MAAM,WAAW,IAAI,UAAA,CAAW;AAAA,QAC7E;AAAA,MACD;AAAA,IACD;AAEA,WAAO,EAAE,aAAa,gBAAgB,WAAW,EAAA;AAAA,EAClD;AACD;AAOA,MAAM,kBAAkB,CAAC,gBACxB,CAAC,GAAG,WAAW,EACb,IAAI,CAAA,gBAAe;AAAA,EACnB,SAAS,WAAW;AAAA,EACpB,MAAM,WAAW;AAAA,EACjB,WAAW,CAAC,GAAG,WAAW,SAAS,EACjC,IAAI,CAAA,cAAa,EAAE,MAAM,SAAS,MAAM,QAAQ,CAAC,GAAG,SAAS,MAAM,EAAE,KAAA,EAAK,EAAI,EAC9E,KAAK,CAAC,GAAG,MAAM,EAAE,KAAK,cAAc,EAAE,IAAI,CAAC;AAC9C,EAAE,EACD,KAAK,CAAC,GAAG,MAAM,EAAE,QAAQ,cAAc,EAAE,OAAO,KAAK,EAAE,KAAK,cAAc,EAAE,IAAI,CAAC;AAEpF,MAAM,iBAAiB,CAAC,GAAyB,MAAqC,KAAK,UAAU,CAAC,MAAM,KAAK,UAAU,CAAC;;"}
@@ -0,0 +1,261 @@
1
+ import { DEFAULT_SYNC_POLICY, DEFAULT_UNMATCHED } from "./ClaimMapping.js";
2
+ import { evaluateClaimMapping } from "./ClaimMappingEvaluator.js";
3
+ import { validateClaimMappingMembership } from "./ClaimMappingValidation.js";
4
+ import { ProjectRole } from "@contember/schema";
5
+ import { MembershipResolver } from "@contember/schema-utils";
6
+ import "../../queries/apiKey/ApiKeyQuery.js";
7
+ import "@contember/database";
8
+ import "../../type/ApiKey.js";
9
+ import { ProjectMembershipByIdentityQuery } from "../../queries/membership/ProjectMembershipByIdentityQuery.js";
10
+ import { ProjectBySlugQuery } from "../../queries/project/ProjectBySlugQuery.js";
11
+ import "../../authorization/PermissionActions.js";
12
+ import "@contember/authorization";
13
+ import "../../authorization/CustomRolePermissions.js";
14
+ import "../../authorization/PermissionContext.js";
15
+ import "../../authorization/TargetIdentityPermission.js";
16
+ import "node:crypto";
17
+ import { CreateOrUpdateProjectMembershipCommand } from "../../commands/membership/CreateOrUpdateProjectMembershipCommand.js";
18
+ import { RemoveProjectMembershipCommand } from "../../commands/membership/RemoveProjectMembershipCommand.js";
19
+ class IDPClaimSyncService {
20
+ constructor(projectSchemaResolver) {
21
+ this.projectSchemaResolver = projectSchemaResolver;
22
+ }
23
+ async sync(db, mapping, claims, identity, isNewPerson, options = {}) {
24
+ if (mapping.rules.length === 0) {
25
+ return { audit: null, droppedUnsafeRules: false };
26
+ }
27
+ const syncPolicy = mapping.syncPolicy ?? DEFAULT_SYNC_POLICY;
28
+ const unmatched = options.allowRemoval === false ? "keep" : mapping.unmatched ?? DEFAULT_UNMATCHED;
29
+ if (syncPolicy === "sticky" && !isNewPerson) {
30
+ return { audit: null, droppedUnsafeRules: false };
31
+ }
32
+ const { safe: rules, dropped, aclByProject } = await this.dropUnsafeRules(db, mapping.rules);
33
+ const evaluated = evaluateClaimMapping({ ...mapping, rules }, claims);
34
+ const { safe: memberships, dropped: droppedMemberships } = this.dropUnsafeEvaluatedMemberships(evaluated, aclByProject);
35
+ const droppedUnsafeRules = dropped.length > 0 || droppedMemberships.length > 0;
36
+ const vocabularyMemberships = /* @__PURE__ */ new Map();
37
+ for (const rule of rules) {
38
+ if (rule.grantMembership) {
39
+ const roles = vocabularyMemberships.get(rule.grantMembership.project) ?? /* @__PURE__ */ new Set();
40
+ roles.add(rule.grantMembership.role);
41
+ vocabularyMemberships.set(rule.grantMembership.project, roles);
42
+ }
43
+ }
44
+ const before = await this.snapshot(db, identity.id, vocabularyMemberships);
45
+ await this.applyMemberships(db, identity.id, memberships, vocabularyMemberships, unmatched);
46
+ const after = await this.snapshot(db, identity.id, vocabularyMemberships);
47
+ if (snapshotEquals(before, after)) {
48
+ return { audit: null, droppedUnsafeRules };
49
+ }
50
+ return { audit: { before, after, syncPolicy, unmatched }, droppedUnsafeRules };
51
+ }
52
+ /**
53
+ * Partition rules into those safe to apply and those dropped by the apply-time safety backstop. A rule
54
+ * is dropped when its granted membership produces ANY validation error against the project's CURRENT ACL
55
+ * schema (fail-closed) — condition-injection above all, but also an unknown role/variable, a malformed
56
+ * condition value, or a forbidden predefined variable. A validation throw is treated as unsafe (we cannot
57
+ * prove the grant safe). Schemas (and, when needed, project existence) are resolved at most once per
58
+ * project. The dropped set is returned so the caller can emit a fail-open audit marker.
59
+ *
60
+ * When `getSchema` returns no ACL it does NOT mean "the project does not exist": it returns undefined both
61
+ * for a project that has no row yet AND for one whose row exists but whose container / content schema is
62
+ * momentarily unresolvable (mid-provisioning, transient). The two need OPPOSITE handling, so we
63
+ * disambiguate via the tenant `project` table:
64
+ * - no project row → the grant is genuinely inert (`applyMemberships` resolves the same slug and skips
65
+ * it, so nothing is written). KEEP the rule for when the project is created later.
66
+ * - project row EXISTS but the ACL is unresolvable → `applyMemberships` WOULD still write the membership
67
+ * (it resolves the slug from the tenant `project` table, independent of the content schema), so an
68
+ * UNVALIDATED grant — including a claim-derived value targeting a `condition` ACL variable — could
69
+ * land. Fail closed: DROP the rule (it re-applies on a later sign-in once the schema resolves). This
70
+ * matches the direct add-member path, which refuses a membership whose project schema can't be resolved.
71
+ *
72
+ * Returns the per-project ACL map it built (`aclByProject`) so the runtime backstop
73
+ * ({@link dropUnsafeEvaluatedMemberships}) can re-use it without re-resolving any schema.
74
+ */
75
+ async dropUnsafeRules(db, rules) {
76
+ const aclByProject = /* @__PURE__ */ new Map();
77
+ const projectExistsBySlug = /* @__PURE__ */ new Map();
78
+ const safe = [];
79
+ const dropped = [];
80
+ for (const rule of rules) {
81
+ const membership = rule.grantMembership;
82
+ if (!membership) {
83
+ safe.push(rule);
84
+ continue;
85
+ }
86
+ if (!aclByProject.has(membership.project)) {
87
+ const schema = await this.projectSchemaResolver.getSchema(membership.project);
88
+ aclByProject.set(membership.project, schema?.acl ?? null);
89
+ }
90
+ const acl = aclByProject.get(membership.project) ?? null;
91
+ if (acl === null) {
92
+ if (!projectExistsBySlug.has(membership.project)) {
93
+ const project = await db.queryHandler.fetch(new ProjectBySlugQuery(membership.project));
94
+ projectExistsBySlug.set(membership.project, project != null);
95
+ }
96
+ if (projectExistsBySlug.get(membership.project)) {
97
+ dropped.push(rule);
98
+ } else {
99
+ safe.push(rule);
100
+ }
101
+ continue;
102
+ }
103
+ let unsafe;
104
+ try {
105
+ unsafe = validateClaimMappingMembership(acl, membership).length > 0;
106
+ } catch {
107
+ unsafe = true;
108
+ }
109
+ if (unsafe) {
110
+ dropped.push(rule);
111
+ } else {
112
+ safe.push(rule);
113
+ }
114
+ }
115
+ return { safe, dropped, aclByProject };
116
+ }
117
+ /**
118
+ * RUNTIME companion to {@link dropUnsafeRules} (A09 apply-time backstop, part 2). `dropUnsafeRules`
119
+ * validates each rule's static CONFIG shape and — like config-time validation — TOLERATES a missing
120
+ * membership variable (`VARIABLE_EMPTY`): an A09 grant may legitimately set only some of a role's
121
+ * variables. For an ordinary role that tolerance is safe: a variable that resolves to no value just
122
+ * narrows CONTENT access (the membership resolver maps it to `{ never: true }` — strictly LESS access,
123
+ * never more), and a role's tenant permissions are matched against that role's OWN tenant rule (a
124
+ * missing variable there denies, never escalates).
125
+ *
126
+ * The ONE role that breaks the assumption is the project `admin` role: {@link ProjectScope} grants the
127
+ * PROJECT_ADMIN tenant role (project secrets, member management, IdP config, deploy, …) to ANY identity
128
+ * holding an `admin` membership in the project — keyed on the role NAME alone, independent of the
129
+ * membership's variables. So when a claim-derived variable meant to SCOPE an `admin` grant resolves
130
+ * empty, `applyMemberships` drops the empty variable before the write and persists a BARE `admin`
131
+ * membership — i.e. UNSCOPED project-admin, even though the operator intended a scoped grant, and a
132
+ * membership the direct add-member path ({@link MembershipResolver}, via `MembershipValidator`) would
133
+ * REJECT as `VARIABLE_EMPTY`. (`admin` is the only role-name-based grant in the whole authorization
134
+ * layer; every other privilege is gated by ACL variables/predicates, so it cannot be widened this way.)
135
+ *
136
+ * So, fail-closed, we re-validate every evaluated `admin` grant EXACTLY as it would be written (empty
137
+ * variables filtered out, as `applyMemberships` does) against the live ACL and DROP it if the resolver
138
+ * reports any error — i.e. if a required (non-fallback) `admin` variable would be absent. Under `keep`
139
+ * the bare grant is then never written; under `remove` it is absent from the granted set, so
140
+ * reconciliation revokes any pre-existing one. Non-`admin` grants are left untouched (their partial
141
+ * grants stay valid). The drop folds into `droppedUnsafeRules`, so the caller still emits the
142
+ * `idp_role_mapping_failed` fail-open marker.
143
+ */
144
+ dropUnsafeEvaluatedMemberships(memberships, aclByProject) {
145
+ const resolver = new MembershipResolver();
146
+ const safe = [];
147
+ const dropped = [];
148
+ for (const membership of memberships) {
149
+ const acl = aclByProject.get(membership.project) ?? null;
150
+ if (membership.role !== ProjectRole.ADMIN || acl === null) {
151
+ safe.push(membership);
152
+ continue;
153
+ }
154
+ const written = {
155
+ role: membership.role,
156
+ variables: membership.variables.filter((it) => it.values.length > 0).map((it) => ({ name: it.name, values: [...it.values] }))
157
+ };
158
+ let unsafe;
159
+ try {
160
+ unsafe = resolver.resolve(acl, [written], MembershipResolver.UnknownIdentity, false).errors.length > 0;
161
+ } catch {
162
+ unsafe = true;
163
+ }
164
+ if (unsafe) {
165
+ dropped.push(membership);
166
+ } else {
167
+ safe.push(membership);
168
+ }
169
+ }
170
+ return { safe, dropped };
171
+ }
172
+ // Membership writes are driven through the low-level commands directly (as InviteManager also does),
173
+ // not via ProjectMemberManager (the "normal" add/update-member path): A09 needs semantics that path does
174
+ // not offer — empty-value hard-delete avoidance under `keep`, and vocabulary-bounded removal under `remove`.
175
+ async applyMemberships(db, identityId, grantedMemberships, vocabularyMemberships, unmatched) {
176
+ const byProject = /* @__PURE__ */ new Map();
177
+ for (const membership of grantedMemberships) {
178
+ const list = byProject.get(membership.project) ?? [];
179
+ list.push(membership);
180
+ byProject.set(membership.project, list);
181
+ }
182
+ const projectSlugs = unmatched === "remove" ? /* @__PURE__ */ new Set([...vocabularyMemberships.keys(), ...byProject.keys()]) : new Set(byProject.keys());
183
+ for (const projectSlug of projectSlugs) {
184
+ const project = await db.queryHandler.fetch(new ProjectBySlugQuery(projectSlug));
185
+ if (!project) {
186
+ continue;
187
+ }
188
+ const memberships = byProject.get(projectSlug) ?? [];
189
+ const grantedRoles = new Set(memberships.map((it) => it.role));
190
+ if (unmatched === "remove") {
191
+ const vocabularyRoles = vocabularyMemberships.get(projectSlug) ?? /* @__PURE__ */ new Set();
192
+ const existing = await db.queryHandler.fetch(new ProjectMembershipByIdentityQuery({ id: project.id }, [identityId]));
193
+ for (const membership of existing) {
194
+ if (vocabularyRoles.has(membership.role) && !grantedRoles.has(membership.role)) {
195
+ await db.commandBus.execute(new RemoveProjectMembershipCommand(project.id, identityId, membership.role));
196
+ }
197
+ }
198
+ }
199
+ for (const membership of memberships) {
200
+ if (unmatched === "remove" && membership.variables.some((it) => it.values.length === 0)) {
201
+ await db.commandBus.execute(new RemoveProjectMembershipCommand(project.id, identityId, membership.role));
202
+ continue;
203
+ }
204
+ await db.commandBus.execute(
205
+ new CreateOrUpdateProjectMembershipCommand(
206
+ project.id,
207
+ identityId,
208
+ {
209
+ role: membership.role,
210
+ // Drop variables with no values: an unset variable simply isn't applied (a role with no
211
+ // variables is fine — it sends none). Under `keep` this is the only empty-handling; under
212
+ // `remove` an empty DECLARED variable already revoked the whole membership above. Because the
213
+ // filtered list never carries an empty `set`, the command's hard-delete-on-empty never fires
214
+ // here — so `keep` never revokes a grant, and `remove`'s revocation stays explicit above.
215
+ variables: membership.variables.filter((it) => it.values.length > 0).map((it) => ({ name: it.name, set: [...it.values] }))
216
+ }
217
+ )
218
+ );
219
+ }
220
+ }
221
+ }
222
+ /**
223
+ * Snapshot the identity's mapping-relevant memberships for the audit delta: its memberships (with
224
+ * variable values) for exactly the (project, role) pairs in the mapping's vocabulary. Bounding is by
225
+ * (project, role) — a membership whose ROLE no rule names is excluded entirely — which keeps the audit
226
+ * consistent with the (also vocabulary-bounded) reconciliation. NOTE the bound is per-(project, role),
227
+ * NOT per-variable-name: for an in-vocabulary membership ALL its variables are snapshotted, including any
228
+ * variable managed OUTSIDE the mapping on that same role (e.g. an admin-set `condition` filter), and a
229
+ * `passthrough` variable's value IS the verbatim external claim value. So the idp_role_mapped event_data
230
+ * can disclose claim-derived / admin-managed variable values for a mapped role to system:viewAuthLog
231
+ * readers — by design (the recorded value is the ACL grant being audited). Variable values are included
232
+ * so a sign-in that only changes a claim-derived membership variable — itself a row-level ACL grant — is
233
+ * still detected as a change and audited.
234
+ */
235
+ async snapshot(db, identityId, vocabularyMemberships) {
236
+ const memberships = [];
237
+ for (const [slug, roles] of vocabularyMemberships) {
238
+ const project = await db.queryHandler.fetch(new ProjectBySlugQuery(slug));
239
+ if (!project) {
240
+ continue;
241
+ }
242
+ const rows = await db.queryHandler.fetch(new ProjectMembershipByIdentityQuery({ id: project.id }, [identityId]));
243
+ for (const row of rows) {
244
+ if (roles.has(row.role)) {
245
+ memberships.push({ project: slug, role: row.role, variables: row.variables });
246
+ }
247
+ }
248
+ }
249
+ return { memberships: sortMemberships(memberships) };
250
+ }
251
+ }
252
+ const sortMemberships = (memberships) => [...memberships].map((membership) => ({
253
+ project: membership.project,
254
+ role: membership.role,
255
+ variables: [...membership.variables].map((variable) => ({ name: variable.name, values: [...variable.values].sort() })).sort((a, b) => a.name.localeCompare(b.name))
256
+ })).sort((a, b) => a.project.localeCompare(b.project) || a.role.localeCompare(b.role));
257
+ const snapshotEquals = (a, b) => JSON.stringify(a) === JSON.stringify(b);
258
+ export {
259
+ IDPClaimSyncService
260
+ };
261
+ //# sourceMappingURL=IDPClaimSyncService.js.map