@authup/server-core 1.0.0-beta.51 → 1.0.0-beta.52

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 (482) hide show
  1. package/dist/adapters/database/data-source/options/module.d.ts.map +1 -1
  2. package/dist/adapters/database/data-source/options/module.mjs +2 -0
  3. package/dist/adapters/database/data-source/options/module.mjs.map +1 -1
  4. package/dist/adapters/database/domains/client/entity.d.ts +1 -0
  5. package/dist/adapters/database/domains/client/entity.d.ts.map +1 -1
  6. package/dist/adapters/database/domains/client/entity.mjs +5 -0
  7. package/dist/adapters/database/domains/client/entity.mjs.map +1 -1
  8. package/dist/adapters/database/domains/index.d.ts +1 -0
  9. package/dist/adapters/database/domains/index.d.ts.map +1 -1
  10. package/dist/adapters/database/domains/index.mjs +3 -1
  11. package/dist/adapters/database/domains/session/entity.mjs +1 -1
  12. package/dist/adapters/database/domains/session/entity.mjs.map +1 -1
  13. package/dist/adapters/database/domains/session-token/entity.d.ts +17 -0
  14. package/dist/adapters/database/domains/session-token/entity.d.ts.map +1 -0
  15. package/dist/adapters/database/domains/session-token/entity.mjs +95 -0
  16. package/dist/adapters/database/domains/session-token/entity.mjs.map +1 -0
  17. package/dist/adapters/database/domains/session-token/index.d.ts +2 -0
  18. package/dist/adapters/database/domains/session-token/index.d.ts.map +1 -0
  19. package/dist/adapters/database/domains/session-token/index.mjs +5 -0
  20. package/dist/adapters/database/index.mjs +2 -1
  21. package/dist/adapters/database/migrations/mysql/1783325495597-Default.d.ts +28 -0
  22. package/dist/adapters/database/migrations/mysql/1783325495597-Default.d.ts.map +1 -0
  23. package/dist/adapters/database/migrations/mysql/1783325495597-Default.mjs +85 -0
  24. package/dist/adapters/database/migrations/mysql/1783325495597-Default.mjs.map +1 -0
  25. package/dist/adapters/database/migrations/postgres/1783325495597-Default.d.ts +28 -0
  26. package/dist/adapters/database/migrations/postgres/1783325495597-Default.d.ts.map +1 -0
  27. package/dist/adapters/database/migrations/postgres/1783325495597-Default.mjs +79 -0
  28. package/dist/adapters/database/migrations/postgres/1783325495597-Default.mjs.map +1 -0
  29. package/dist/adapters/database/subscriber/module.d.ts.map +1 -1
  30. package/dist/adapters/database/subscriber/module.mjs +4 -3
  31. package/dist/adapters/database/subscriber/module.mjs.map +1 -1
  32. package/dist/adapters/http/adapters/index.mjs +2 -1
  33. package/dist/adapters/http/adapters/oauth2/authorization/module.mjs +2 -1
  34. package/dist/adapters/http/adapters/oauth2/authorization/module.mjs.map +1 -1
  35. package/dist/adapters/http/adapters/oauth2/grant-types/authorize.d.ts +2 -1
  36. package/dist/adapters/http/adapters/oauth2/grant-types/authorize.d.ts.map +1 -1
  37. package/dist/adapters/http/adapters/oauth2/grant-types/authorize.mjs +10 -4
  38. package/dist/adapters/http/adapters/oauth2/grant-types/authorize.mjs.map +1 -1
  39. package/dist/adapters/http/adapters/oauth2/grant-types/client-credentials.d.ts.map +1 -1
  40. package/dist/adapters/http/adapters/oauth2/grant-types/client-credentials.mjs +3 -0
  41. package/dist/adapters/http/adapters/oauth2/grant-types/client-credentials.mjs.map +1 -1
  42. package/dist/adapters/http/adapters/oauth2/grant-types/index.mjs +2 -1
  43. package/dist/adapters/http/adapters/oauth2/grant-types/password.d.ts.map +1 -1
  44. package/dist/adapters/http/adapters/oauth2/grant-types/password.mjs +5 -3
  45. package/dist/adapters/http/adapters/oauth2/grant-types/password.mjs.map +1 -1
  46. package/dist/adapters/http/adapters/oauth2/grant-types/refresh_token.d.ts +2 -1
  47. package/dist/adapters/http/adapters/oauth2/grant-types/refresh_token.d.ts.map +1 -1
  48. package/dist/adapters/http/adapters/oauth2/grant-types/refresh_token.mjs +12 -5
  49. package/dist/adapters/http/adapters/oauth2/grant-types/refresh_token.mjs.map +1 -1
  50. package/dist/adapters/http/adapters/oauth2/grant-types/types.d.ts +2 -0
  51. package/dist/adapters/http/adapters/oauth2/grant-types/types.d.ts.map +1 -1
  52. package/dist/adapters/http/adapters/oauth2/grant-types/utils/credentials.mjs +1 -1
  53. package/dist/adapters/http/adapters/oauth2/grant-types/utils/guess.mjs +1 -1
  54. package/dist/adapters/http/adapters/oauth2/grant-types/utils/index.d.ts +1 -0
  55. package/dist/adapters/http/adapters/oauth2/grant-types/utils/index.d.ts.map +1 -1
  56. package/dist/adapters/http/adapters/oauth2/grant-types/utils/index.mjs +2 -1
  57. package/dist/adapters/http/adapters/oauth2/grant-types/utils/realm.d.ts +9 -0
  58. package/dist/adapters/http/adapters/oauth2/grant-types/utils/realm.d.ts.map +1 -0
  59. package/dist/adapters/http/adapters/oauth2/grant-types/utils/realm.mjs +21 -0
  60. package/dist/adapters/http/adapters/oauth2/grant-types/utils/realm.mjs.map +1 -0
  61. package/dist/adapters/http/adapters/oauth2/index.mjs +2 -1
  62. package/dist/adapters/http/controllers/entities/client/module.mjs +2 -2
  63. package/dist/adapters/http/controllers/entities/client-permission/module.mjs +1 -1
  64. package/dist/adapters/http/controllers/entities/client-role/module.mjs +1 -1
  65. package/dist/adapters/http/controllers/entities/client-scope/module.mjs +1 -1
  66. package/dist/adapters/http/controllers/entities/identity-provide-role/module.mjs +1 -1
  67. package/dist/adapters/http/controllers/entities/identity-provider/module.d.ts.map +1 -1
  68. package/dist/adapters/http/controllers/entities/identity-provider/module.mjs +4 -3
  69. package/dist/adapters/http/controllers/entities/identity-provider/module.mjs.map +1 -1
  70. package/dist/adapters/http/controllers/entities/index.d.ts +1 -0
  71. package/dist/adapters/http/controllers/entities/index.d.ts.map +1 -1
  72. package/dist/adapters/http/controllers/entities/index.mjs +3 -1
  73. package/dist/adapters/http/controllers/entities/permission/module.mjs +1 -1
  74. package/dist/adapters/http/controllers/entities/permission-policy/module.mjs +1 -1
  75. package/dist/adapters/http/controllers/entities/policy/module.mjs +1 -1
  76. package/dist/adapters/http/controllers/entities/realm/module.d.ts.map +1 -1
  77. package/dist/adapters/http/controllers/entities/realm/module.mjs +11 -8
  78. package/dist/adapters/http/controllers/entities/realm/module.mjs.map +1 -1
  79. package/dist/adapters/http/controllers/entities/robot/module.mjs +2 -2
  80. package/dist/adapters/http/controllers/entities/robot-permission/module.mjs +1 -1
  81. package/dist/adapters/http/controllers/entities/robot-role/module.mjs +1 -1
  82. package/dist/adapters/http/controllers/entities/role/module.mjs +1 -1
  83. package/dist/adapters/http/controllers/entities/role-attribute/module.mjs +1 -1
  84. package/dist/adapters/http/controllers/entities/role-permission/module.mjs +1 -1
  85. package/dist/adapters/http/controllers/entities/scope/module.mjs +1 -1
  86. package/dist/adapters/http/controllers/entities/session/index.d.ts +2 -0
  87. package/dist/adapters/http/controllers/entities/session/index.d.ts.map +1 -0
  88. package/dist/adapters/http/controllers/entities/session/index.mjs +5 -0
  89. package/dist/adapters/http/controllers/entities/session/module.d.ts +16 -0
  90. package/dist/adapters/http/controllers/entities/session/module.d.ts.map +1 -0
  91. package/dist/adapters/http/controllers/entities/session/module.mjs +102 -0
  92. package/dist/adapters/http/controllers/entities/session/module.mjs.map +1 -0
  93. package/dist/adapters/http/controllers/entities/user/module.mjs +2 -2
  94. package/dist/adapters/http/controllers/entities/user-attribute/module.mjs +1 -1
  95. package/dist/adapters/http/controllers/entities/user-permission/module.mjs +1 -1
  96. package/dist/adapters/http/controllers/entities/user-role/module.mjs +1 -1
  97. package/dist/adapters/http/controllers/index.mjs +3 -1
  98. package/dist/adapters/http/controllers/workflows/authorize/module.d.ts.map +1 -1
  99. package/dist/adapters/http/controllers/workflows/authorize/module.mjs +22 -9
  100. package/dist/adapters/http/controllers/workflows/authorize/module.mjs.map +1 -1
  101. package/dist/adapters/http/controllers/workflows/authorize/types.d.ts +7 -4
  102. package/dist/adapters/http/controllers/workflows/authorize/types.d.ts.map +1 -1
  103. package/dist/adapters/http/controllers/workflows/index.d.ts +1 -0
  104. package/dist/adapters/http/controllers/workflows/index.d.ts.map +1 -1
  105. package/dist/adapters/http/controllers/workflows/index.mjs +3 -1
  106. package/dist/adapters/http/controllers/workflows/logout/index.d.ts +3 -0
  107. package/dist/adapters/http/controllers/workflows/logout/index.d.ts.map +1 -0
  108. package/dist/adapters/http/controllers/workflows/logout/index.mjs +5 -0
  109. package/dist/adapters/http/controllers/workflows/logout/module.d.ts +14 -0
  110. package/dist/adapters/http/controllers/workflows/logout/module.d.ts.map +1 -0
  111. package/dist/adapters/http/controllers/workflows/logout/module.mjs +101 -0
  112. package/dist/adapters/http/controllers/workflows/logout/module.mjs.map +1 -0
  113. package/dist/adapters/http/controllers/workflows/logout/types.d.ts +9 -0
  114. package/dist/adapters/http/controllers/workflows/logout/types.d.ts.map +1 -0
  115. package/dist/adapters/http/controllers/workflows/logout/types.mjs +4 -0
  116. package/dist/adapters/http/controllers/workflows/status/module.mjs +1 -1
  117. package/dist/adapters/http/controllers/workflows/token/module.d.ts.map +1 -1
  118. package/dist/adapters/http/controllers/workflows/token/module.mjs +10 -3
  119. package/dist/adapters/http/controllers/workflows/token/module.mjs.map +1 -1
  120. package/dist/adapters/http/controllers/workflows/token/types.d.ts +8 -1
  121. package/dist/adapters/http/controllers/workflows/token/types.d.ts.map +1 -1
  122. package/dist/adapters/http/index.mjs +16 -12
  123. package/dist/adapters/http/middleware/built-in/authorization/module.d.ts.map +1 -1
  124. package/dist/adapters/http/middleware/built-in/authorization/module.mjs +2 -0
  125. package/dist/adapters/http/middleware/built-in/authorization/module.mjs.map +1 -1
  126. package/dist/adapters/http/middleware/built-in/index.mjs +2 -2
  127. package/dist/adapters/http/middleware/built-in/logger.d.ts +1 -0
  128. package/dist/adapters/http/middleware/built-in/logger.d.ts.map +1 -1
  129. package/dist/adapters/http/middleware/built-in/logger.mjs +23 -2
  130. package/dist/adapters/http/middleware/built-in/logger.mjs.map +1 -1
  131. package/dist/adapters/http/middleware/built-in/prometheus.d.ts.map +1 -1
  132. package/dist/adapters/http/middleware/built-in/prometheus.mjs +1 -1
  133. package/dist/adapters/http/middleware/built-in/prometheus.mjs.map +1 -1
  134. package/dist/adapters/http/middleware/built-in/realm-resolver/module.d.ts.map +1 -1
  135. package/dist/adapters/http/middleware/built-in/realm-resolver/module.mjs +3 -8
  136. package/dist/adapters/http/middleware/built-in/realm-resolver/module.mjs.map +1 -1
  137. package/dist/adapters/http/middleware/built-in/ui-http-client.d.ts +2 -2
  138. package/dist/adapters/http/middleware/built-in/ui-http-client.mjs +2 -2
  139. package/dist/adapters/http/middleware/built-in/ui-http-client.mjs.map +1 -1
  140. package/dist/adapters/http/middleware/index.mjs +2 -2
  141. package/dist/adapters/http/request/helpers/index.d.ts +1 -0
  142. package/dist/adapters/http/request/helpers/index.d.ts.map +1 -1
  143. package/dist/adapters/http/request/helpers/index.mjs +2 -1
  144. package/dist/adapters/http/request/helpers/session-id.d.ts +9 -0
  145. package/dist/adapters/http/request/helpers/session-id.d.ts.map +1 -0
  146. package/dist/adapters/http/request/helpers/session-id.mjs +19 -0
  147. package/dist/adapters/http/request/helpers/session-id.mjs.map +1 -0
  148. package/dist/adapters/http/request/index.mjs +2 -1
  149. package/dist/adapters/http/request/permission/module.d.ts.map +1 -1
  150. package/dist/adapters/http/request/permission/module.mjs +4 -2
  151. package/dist/adapters/http/request/permission/module.mjs.map +1 -1
  152. package/dist/adapters/http/ui/index.d.ts +1 -0
  153. package/dist/adapters/http/ui/index.d.ts.map +1 -1
  154. package/dist/adapters/http/ui/index.mjs +2 -1
  155. package/dist/adapters/http/ui/internal-http-client.d.ts +22 -0
  156. package/dist/adapters/http/ui/internal-http-client.d.ts.map +1 -0
  157. package/dist/adapters/http/ui/internal-http-client.mjs +52 -0
  158. package/dist/adapters/http/ui/internal-http-client.mjs.map +1 -0
  159. package/dist/adapters/http/ui/render.d.ts.map +1 -1
  160. package/dist/adapters/http/ui/render.mjs +5 -2
  161. package/dist/adapters/http/ui/render.mjs.map +1 -1
  162. package/dist/adapters/http/ui/types.d.ts +12 -0
  163. package/dist/adapters/http/ui/types.d.ts.map +1 -1
  164. package/dist/app/modules/authentication/repositories/session.d.ts +5 -2
  165. package/dist/app/modules/authentication/repositories/session.d.ts.map +1 -1
  166. package/dist/app/modules/authentication/repositories/session.mjs +63 -0
  167. package/dist/app/modules/authentication/repositories/session.mjs.map +1 -1
  168. package/dist/app/modules/config/constants.d.ts +4 -0
  169. package/dist/app/modules/config/constants.d.ts.map +1 -1
  170. package/dist/app/modules/config/constants.mjs +4 -0
  171. package/dist/app/modules/config/constants.mjs.map +1 -1
  172. package/dist/app/modules/config/normalize.d.ts.map +1 -1
  173. package/dist/app/modules/config/normalize.mjs +6 -1
  174. package/dist/app/modules/config/normalize.mjs.map +1 -1
  175. package/dist/app/modules/config/read/env.d.ts.map +1 -1
  176. package/dist/app/modules/config/read/env.mjs +8 -0
  177. package/dist/app/modules/config/read/env.mjs.map +1 -1
  178. package/dist/app/modules/config/types.d.ts +31 -2
  179. package/dist/app/modules/config/types.d.ts.map +1 -1
  180. package/dist/app/modules/config/validator.d.ts.map +1 -1
  181. package/dist/app/modules/config/validator.mjs +5 -0
  182. package/dist/app/modules/config/validator.mjs.map +1 -1
  183. package/dist/app/modules/database/module.d.ts +1 -0
  184. package/dist/app/modules/database/module.d.ts.map +1 -1
  185. package/dist/app/modules/database/module.mjs +19 -6
  186. package/dist/app/modules/database/module.mjs.map +1 -1
  187. package/dist/app/modules/database/repositories/client/repository.d.ts.map +1 -1
  188. package/dist/app/modules/database/repositories/client/repository.mjs +10 -6
  189. package/dist/app/modules/database/repositories/client/repository.mjs.map +1 -1
  190. package/dist/app/modules/database/repositories/helpers.d.ts +11 -0
  191. package/dist/app/modules/database/repositories/helpers.d.ts.map +1 -1
  192. package/dist/app/modules/database/repositories/helpers.mjs +12 -1
  193. package/dist/app/modules/database/repositories/helpers.mjs.map +1 -1
  194. package/dist/app/modules/database/repositories/identity-provider/repository.d.ts.map +1 -1
  195. package/dist/app/modules/database/repositories/identity-provider/repository.mjs +8 -8
  196. package/dist/app/modules/database/repositories/identity-provider/repository.mjs.map +1 -1
  197. package/dist/app/modules/database/repositories/permission/repository.d.ts.map +1 -1
  198. package/dist/app/modules/database/repositories/permission/repository.mjs +4 -3
  199. package/dist/app/modules/database/repositories/permission/repository.mjs.map +1 -1
  200. package/dist/app/modules/database/repositories/policy/repository.d.ts.map +1 -1
  201. package/dist/app/modules/database/repositories/policy/repository.mjs +4 -3
  202. package/dist/app/modules/database/repositories/policy/repository.mjs.map +1 -1
  203. package/dist/app/modules/database/repositories/realm/repository.d.ts +1 -0
  204. package/dist/app/modules/database/repositories/realm/repository.d.ts.map +1 -1
  205. package/dist/app/modules/database/repositories/realm/repository.mjs +14 -1
  206. package/dist/app/modules/database/repositories/realm/repository.mjs.map +1 -1
  207. package/dist/app/modules/database/repositories/robot/repository.d.ts.map +1 -1
  208. package/dist/app/modules/database/repositories/robot/repository.mjs +8 -6
  209. package/dist/app/modules/database/repositories/robot/repository.mjs.map +1 -1
  210. package/dist/app/modules/database/repositories/role/repository.d.ts.map +1 -1
  211. package/dist/app/modules/database/repositories/role/repository.mjs +4 -3
  212. package/dist/app/modules/database/repositories/role/repository.mjs.map +1 -1
  213. package/dist/app/modules/database/repositories/role-attribute/repository.d.ts.map +1 -1
  214. package/dist/app/modules/database/repositories/role-attribute/repository.mjs +2 -1
  215. package/dist/app/modules/database/repositories/role-attribute/repository.mjs.map +1 -1
  216. package/dist/app/modules/database/repositories/scope/repository.d.ts.map +1 -1
  217. package/dist/app/modules/database/repositories/scope/repository.mjs +4 -3
  218. package/dist/app/modules/database/repositories/scope/repository.mjs.map +1 -1
  219. package/dist/app/modules/database/repositories/user/repository.d.ts.map +1 -1
  220. package/dist/app/modules/database/repositories/user/repository.mjs +8 -5
  221. package/dist/app/modules/database/repositories/user/repository.mjs.map +1 -1
  222. package/dist/app/modules/database/repositories/user-attribute/repository.d.ts.map +1 -1
  223. package/dist/app/modules/database/repositories/user-attribute/repository.mjs +2 -1
  224. package/dist/app/modules/database/repositories/user-attribute/repository.mjs.map +1 -1
  225. package/dist/app/modules/http/constants.d.ts +4 -2
  226. package/dist/app/modules/http/constants.d.ts.map +1 -1
  227. package/dist/app/modules/http/constants.mjs +4 -2
  228. package/dist/app/modules/http/constants.mjs.map +1 -1
  229. package/dist/app/modules/http/module.d.ts +10 -0
  230. package/dist/app/modules/http/module.d.ts.map +1 -1
  231. package/dist/app/modules/http/module.mjs +30 -0
  232. package/dist/app/modules/http/module.mjs.map +1 -1
  233. package/dist/app/modules/http/modules/controller.d.ts +4 -2
  234. package/dist/app/modules/http/modules/controller.d.ts.map +1 -1
  235. package/dist/app/modules/http/modules/controller.mjs +57 -15
  236. package/dist/app/modules/http/modules/controller.mjs.map +1 -1
  237. package/dist/app/modules/http/modules/middleware.mjs +1 -1
  238. package/dist/app/modules/oauth2/constants.d.ts +2 -1
  239. package/dist/app/modules/oauth2/constants.d.ts.map +1 -1
  240. package/dist/app/modules/oauth2/constants.mjs +1 -0
  241. package/dist/app/modules/oauth2/constants.mjs.map +1 -1
  242. package/dist/app/modules/oauth2/module.d.ts.map +1 -1
  243. package/dist/app/modules/oauth2/module.mjs +10 -4
  244. package/dist/app/modules/oauth2/module.mjs.map +1 -1
  245. package/dist/app/modules/oauth2/repositories/index.d.ts +1 -0
  246. package/dist/app/modules/oauth2/repositories/index.d.ts.map +1 -1
  247. package/dist/app/modules/oauth2/repositories/index.mjs +3 -1
  248. package/dist/app/modules/oauth2/repositories/session-token/index.d.ts +2 -0
  249. package/dist/app/modules/oauth2/repositories/session-token/index.d.ts.map +1 -0
  250. package/dist/app/modules/oauth2/repositories/session-token/index.mjs +5 -0
  251. package/dist/app/modules/oauth2/repositories/session-token/repository.d.ts +17 -0
  252. package/dist/app/modules/oauth2/repositories/session-token/repository.d.ts.map +1 -0
  253. package/dist/app/modules/oauth2/repositories/session-token/repository.mjs +63 -0
  254. package/dist/app/modules/oauth2/repositories/session-token/repository.mjs.map +1 -0
  255. package/dist/app/modules/provisioning/sources/default/module.d.ts.map +1 -1
  256. package/dist/app/modules/provisioning/sources/default/module.mjs +1 -0
  257. package/dist/app/modules/provisioning/sources/default/module.mjs.map +1 -1
  258. package/dist/app/modules/provisioning/sources/file/module.d.ts.map +1 -1
  259. package/dist/app/modules/provisioning/sources/file/module.mjs +2 -1
  260. package/dist/app/modules/provisioning/sources/file/module.mjs.map +1 -1
  261. package/dist/cli/commands/migration.d.ts.map +1 -1
  262. package/dist/cli/commands/migration.mjs +12 -4
  263. package/dist/cli/commands/migration.mjs.map +1 -1
  264. package/dist/components/oauth2-cleaner/module.d.ts.map +1 -1
  265. package/dist/components/oauth2-cleaner/module.mjs +3 -0
  266. package/dist/components/oauth2-cleaner/module.mjs.map +1 -1
  267. package/dist/core/authentication/index.mjs +2 -1
  268. package/dist/core/authentication/session/index.mjs +2 -1
  269. package/dist/core/authentication/session/module.d.ts +1 -0
  270. package/dist/core/authentication/session/module.d.ts.map +1 -1
  271. package/dist/core/authentication/session/module.mjs +3 -0
  272. package/dist/core/authentication/session/module.mjs.map +1 -1
  273. package/dist/core/authentication/session/types.d.ts +34 -0
  274. package/dist/core/authentication/session/types.d.ts.map +1 -1
  275. package/dist/core/authentication/session/types.mjs +18 -1
  276. package/dist/core/authentication/session/types.mjs.map +1 -0
  277. package/dist/core/entities/client/web-client.d.ts +5 -3
  278. package/dist/core/entities/client/web-client.d.ts.map +1 -1
  279. package/dist/core/entities/client/web-client.mjs +8 -4
  280. package/dist/core/entities/client/web-client.mjs.map +1 -1
  281. package/dist/core/entities/index.d.ts +1 -0
  282. package/dist/core/entities/index.d.ts.map +1 -1
  283. package/dist/core/entities/index.mjs +3 -1
  284. package/dist/core/entities/realm/types.d.ts +9 -0
  285. package/dist/core/entities/realm/types.d.ts.map +1 -1
  286. package/dist/core/entities/session/index.d.ts +3 -0
  287. package/dist/core/entities/session/index.d.ts.map +1 -0
  288. package/dist/core/entities/session/index.mjs +5 -0
  289. package/dist/core/entities/session/service.d.ts +27 -0
  290. package/dist/core/entities/session/service.d.ts.map +1 -0
  291. package/dist/core/entities/session/service.mjs +151 -0
  292. package/dist/core/entities/session/service.mjs.map +1 -0
  293. package/dist/core/entities/session/types.d.ts +48 -0
  294. package/dist/core/entities/session/types.d.ts.map +1 -0
  295. package/dist/core/entities/session/types.mjs +4 -0
  296. package/dist/core/entities/user/service.d.ts +1 -0
  297. package/dist/core/entities/user/service.d.ts.map +1 -1
  298. package/dist/core/entities/user/service.mjs +1 -1
  299. package/dist/core/entities/user/service.mjs.map +1 -1
  300. package/dist/core/identity/password-recovery/service.d.ts.map +1 -1
  301. package/dist/core/identity/password-recovery/service.mjs +2 -1
  302. package/dist/core/identity/password-recovery/service.mjs.map +1 -1
  303. package/dist/core/identity/password-recovery/types.d.ts +1 -0
  304. package/dist/core/identity/password-recovery/types.d.ts.map +1 -1
  305. package/dist/core/identity/permission/checker/service.d.ts.map +1 -1
  306. package/dist/core/identity/permission/checker/service.mjs +6 -5
  307. package/dist/core/identity/permission/checker/service.mjs.map +1 -1
  308. package/dist/core/identity/policy/checker/service.d.ts.map +1 -1
  309. package/dist/core/identity/policy/checker/service.mjs +6 -5
  310. package/dist/core/identity/policy/checker/service.mjs.map +1 -1
  311. package/dist/core/identity/provider/authentication/presets/facebook.d.ts.map +1 -1
  312. package/dist/core/identity/provider/authentication/presets/facebook.mjs +2 -1
  313. package/dist/core/identity/provider/authentication/presets/facebook.mjs.map +1 -1
  314. package/dist/core/identity/provider/authentication/presets/github.d.ts.map +1 -1
  315. package/dist/core/identity/provider/authentication/presets/github.mjs +2 -1
  316. package/dist/core/identity/provider/authentication/presets/github.mjs.map +1 -1
  317. package/dist/core/identity/provider/authentication/presets/google.d.ts.map +1 -1
  318. package/dist/core/identity/provider/authentication/presets/google.mjs +2 -1
  319. package/dist/core/identity/provider/authentication/presets/google.mjs.map +1 -1
  320. package/dist/core/identity/provider/authentication/presets/instagram.d.ts.map +1 -1
  321. package/dist/core/identity/provider/authentication/presets/instagram.mjs +2 -1
  322. package/dist/core/identity/provider/authentication/presets/instagram.mjs.map +1 -1
  323. package/dist/core/identity/provider/authentication/presets/paypal.d.ts.map +1 -1
  324. package/dist/core/identity/provider/authentication/presets/paypal.mjs +2 -1
  325. package/dist/core/identity/provider/authentication/presets/paypal.mjs.map +1 -1
  326. package/dist/core/identity/provider/authentication/protocols/oauth2/module.d.ts.map +1 -1
  327. package/dist/core/identity/provider/authentication/protocols/oauth2/module.mjs +7 -2
  328. package/dist/core/identity/provider/authentication/protocols/oauth2/module.mjs.map +1 -1
  329. package/dist/core/identity/provider/authentication/protocols/open-id/module.d.ts +2 -0
  330. package/dist/core/identity/provider/authentication/protocols/open-id/module.d.ts.map +1 -1
  331. package/dist/core/identity/provider/authentication/protocols/open-id/module.mjs +5 -0
  332. package/dist/core/identity/provider/authentication/protocols/open-id/module.mjs.map +1 -1
  333. package/dist/core/identity/registration/service.d.ts.map +1 -1
  334. package/dist/core/identity/registration/service.mjs +9 -6
  335. package/dist/core/identity/registration/service.mjs.map +1 -1
  336. package/dist/core/identity/registration/types.d.ts +1 -0
  337. package/dist/core/identity/registration/types.d.ts.map +1 -1
  338. package/dist/core/identity/resolver/module.d.ts +7 -0
  339. package/dist/core/identity/resolver/module.d.ts.map +1 -1
  340. package/dist/core/identity/resolver/module.mjs +7 -1
  341. package/dist/core/identity/resolver/module.mjs.map +1 -1
  342. package/dist/core/index.mjs +10 -2
  343. package/dist/core/oauth2/authorization/code/index.mjs +1 -0
  344. package/dist/core/oauth2/authorization/code/issuer/module.d.ts +0 -1
  345. package/dist/core/oauth2/authorization/code/issuer/module.d.ts.map +1 -1
  346. package/dist/core/oauth2/authorization/code/issuer/module.mjs +7 -7
  347. package/dist/core/oauth2/authorization/code/issuer/module.mjs.map +1 -1
  348. package/dist/core/oauth2/authorization/code/issuer/types.d.ts +11 -2
  349. package/dist/core/oauth2/authorization/code/issuer/types.d.ts.map +1 -1
  350. package/dist/core/oauth2/authorization/code/verifier/module.d.ts.map +1 -1
  351. package/dist/core/oauth2/authorization/code/verifier/module.mjs +1 -0
  352. package/dist/core/oauth2/authorization/code/verifier/module.mjs.map +1 -1
  353. package/dist/core/oauth2/authorization/code/verifier/types.d.ts +1 -0
  354. package/dist/core/oauth2/authorization/code/verifier/types.d.ts.map +1 -1
  355. package/dist/core/oauth2/authorization/code-request/validator.d.ts.map +1 -1
  356. package/dist/core/oauth2/authorization/code-request/validator.mjs +19 -5
  357. package/dist/core/oauth2/authorization/code-request/validator.mjs.map +1 -1
  358. package/dist/core/oauth2/authorization/code-request/verifier/module.d.ts.map +1 -1
  359. package/dist/core/oauth2/authorization/code-request/verifier/module.mjs +13 -10
  360. package/dist/core/oauth2/authorization/code-request/verifier/module.mjs.map +1 -1
  361. package/dist/core/oauth2/authorization/code-request/verifier/types.d.ts +7 -0
  362. package/dist/core/oauth2/authorization/code-request/verifier/types.d.ts.map +1 -1
  363. package/dist/core/oauth2/authorization/helpers.d.ts +2 -1
  364. package/dist/core/oauth2/authorization/helpers.d.ts.map +1 -1
  365. package/dist/core/oauth2/authorization/helpers.mjs +19 -2
  366. package/dist/core/oauth2/authorization/helpers.mjs.map +1 -1
  367. package/dist/core/oauth2/authorization/module.d.ts +6 -7
  368. package/dist/core/oauth2/authorization/module.d.ts.map +1 -1
  369. package/dist/core/oauth2/authorization/module.mjs +24 -38
  370. package/dist/core/oauth2/authorization/module.mjs.map +1 -1
  371. package/dist/core/oauth2/authorization/types.d.ts +15 -7
  372. package/dist/core/oauth2/authorization/types.d.ts.map +1 -1
  373. package/dist/core/oauth2/client/grant-type.d.ts +9 -0
  374. package/dist/core/oauth2/client/grant-type.d.ts.map +1 -0
  375. package/dist/core/oauth2/client/grant-type.mjs +18 -0
  376. package/dist/core/oauth2/client/grant-type.mjs.map +1 -0
  377. package/dist/core/oauth2/client/index.d.ts +1 -0
  378. package/dist/core/oauth2/client/index.d.ts.map +1 -1
  379. package/dist/core/oauth2/client/index.mjs +2 -1
  380. package/dist/core/oauth2/end-session/index.d.ts +4 -0
  381. package/dist/core/oauth2/end-session/index.d.ts.map +1 -0
  382. package/dist/core/oauth2/end-session/index.mjs +6 -0
  383. package/dist/core/oauth2/end-session/service.d.ts +30 -0
  384. package/dist/core/oauth2/end-session/service.d.ts.map +1 -0
  385. package/dist/core/oauth2/end-session/service.mjs +117 -0
  386. package/dist/core/oauth2/end-session/service.mjs.map +1 -0
  387. package/dist/core/oauth2/end-session/types.d.ts +55 -0
  388. package/dist/core/oauth2/end-session/types.d.ts.map +1 -0
  389. package/dist/core/oauth2/end-session/types.mjs +4 -0
  390. package/dist/core/oauth2/end-session/validator.d.ts +6 -0
  391. package/dist/core/oauth2/end-session/validator.d.ts.map +1 -0
  392. package/dist/core/oauth2/end-session/validator.mjs +23 -0
  393. package/dist/core/oauth2/end-session/validator.mjs.map +1 -0
  394. package/dist/core/oauth2/grant-types/authorize.d.ts +19 -2
  395. package/dist/core/oauth2/grant-types/authorize.d.ts.map +1 -1
  396. package/dist/core/oauth2/grant-types/authorize.mjs +53 -10
  397. package/dist/core/oauth2/grant-types/authorize.mjs.map +1 -1
  398. package/dist/core/oauth2/grant-types/refresh-token.d.ts +21 -2
  399. package/dist/core/oauth2/grant-types/refresh-token.d.ts.map +1 -1
  400. package/dist/core/oauth2/grant-types/refresh-token.mjs +55 -9
  401. package/dist/core/oauth2/grant-types/refresh-token.mjs.map +1 -1
  402. package/dist/core/oauth2/grant-types/types.d.ts +22 -2
  403. package/dist/core/oauth2/grant-types/types.d.ts.map +1 -1
  404. package/dist/core/oauth2/index.d.ts +2 -0
  405. package/dist/core/oauth2/index.d.ts.map +1 -1
  406. package/dist/core/oauth2/index.mjs +7 -3
  407. package/dist/core/oauth2/session-token/index.d.ts +2 -0
  408. package/dist/core/oauth2/session-token/index.d.ts.map +1 -0
  409. package/dist/core/oauth2/session-token/index.mjs +4 -0
  410. package/dist/core/oauth2/session-token/types.d.ts +70 -0
  411. package/dist/core/oauth2/session-token/types.d.ts.map +1 -0
  412. package/dist/core/oauth2/session-token/types.mjs +4 -0
  413. package/dist/core/oauth2/token/issuer/access/module.d.ts +3 -1
  414. package/dist/core/oauth2/token/issuer/access/module.d.ts.map +1 -1
  415. package/dist/core/oauth2/token/issuer/access/module.mjs +12 -1
  416. package/dist/core/oauth2/token/issuer/access/module.mjs.map +1 -1
  417. package/dist/core/oauth2/token/issuer/open-id/module.d.ts.map +1 -1
  418. package/dist/core/oauth2/token/issuer/open-id/module.mjs +1 -1
  419. package/dist/core/oauth2/token/issuer/open-id/module.mjs.map +1 -1
  420. package/dist/core/oauth2/token/issuer/refresh/module.d.ts +3 -1
  421. package/dist/core/oauth2/token/issuer/refresh/module.d.ts.map +1 -1
  422. package/dist/core/oauth2/token/issuer/refresh/module.mjs +12 -1
  423. package/dist/core/oauth2/token/issuer/refresh/module.mjs.map +1 -1
  424. package/dist/core/oauth2/token/revoker/module.d.ts +3 -1
  425. package/dist/core/oauth2/token/revoker/module.d.ts.map +1 -1
  426. package/dist/core/oauth2/token/revoker/module.mjs +4 -1
  427. package/dist/core/oauth2/token/revoker/module.mjs.map +1 -1
  428. package/dist/core/oauth2/token/verifier/module.d.ts.map +1 -1
  429. package/dist/core/oauth2/token/verifier/module.mjs +4 -4
  430. package/dist/core/oauth2/token/verifier/module.mjs.map +1 -1
  431. package/dist/core/oauth2/token/verifier/types.d.ts +6 -0
  432. package/dist/core/oauth2/token/verifier/types.d.ts.map +1 -1
  433. package/dist/core/provisioning/entities/client/relations-validator.d.ts.map +1 -1
  434. package/dist/core/provisioning/entities/client/relations-validator.mjs +3 -2
  435. package/dist/core/provisioning/entities/client/relations-validator.mjs.map +1 -1
  436. package/dist/core/provisioning/entities/index.d.ts +1 -0
  437. package/dist/core/provisioning/entities/index.d.ts.map +1 -1
  438. package/dist/core/provisioning/entities/index.mjs +5 -1
  439. package/dist/core/provisioning/entities/permission/index.d.ts +1 -0
  440. package/dist/core/provisioning/entities/permission/index.d.ts.map +1 -1
  441. package/dist/core/provisioning/entities/permission/index.mjs +2 -1
  442. package/dist/core/provisioning/entities/permission/relations-validator.d.ts +6 -0
  443. package/dist/core/provisioning/entities/permission/relations-validator.d.ts.map +1 -0
  444. package/dist/core/provisioning/entities/permission/relations-validator.mjs +17 -0
  445. package/dist/core/provisioning/entities/permission/relations-validator.mjs.map +1 -0
  446. package/dist/core/provisioning/entities/permission/validator.d.ts.map +1 -1
  447. package/dist/core/provisioning/entities/permission/validator.mjs +3 -0
  448. package/dist/core/provisioning/entities/permission/validator.mjs.map +1 -1
  449. package/dist/core/provisioning/entities/policy/index.d.ts +1 -0
  450. package/dist/core/provisioning/entities/policy/index.d.ts.map +1 -1
  451. package/dist/core/provisioning/entities/policy/index.mjs +2 -1
  452. package/dist/core/provisioning/entities/policy/validator.d.ts +6 -0
  453. package/dist/core/provisioning/entities/policy/validator.d.ts.map +1 -0
  454. package/dist/core/provisioning/entities/policy/validator.mjs +26 -0
  455. package/dist/core/provisioning/entities/policy/validator.mjs.map +1 -0
  456. package/dist/core/provisioning/entities/realm/relations-validator.d.ts.map +1 -1
  457. package/dist/core/provisioning/entities/realm/relations-validator.mjs +9 -52
  458. package/dist/core/provisioning/entities/realm/relations-validator.mjs.map +1 -1
  459. package/dist/core/provisioning/entities/role/relations-validator.d.ts.map +1 -1
  460. package/dist/core/provisioning/entities/role/relations-validator.mjs +4 -0
  461. package/dist/core/provisioning/entities/role/relations-validator.mjs.map +1 -1
  462. package/dist/core/provisioning/entities/root/validator.d.ts.map +1 -1
  463. package/dist/core/provisioning/entities/root/validator.mjs +11 -26
  464. package/dist/core/provisioning/entities/root/validator.mjs.map +1 -1
  465. package/dist/core/provisioning/entities/utils.d.ts +10 -0
  466. package/dist/core/provisioning/entities/utils.d.ts.map +1 -0
  467. package/dist/core/provisioning/entities/utils.mjs +29 -0
  468. package/dist/core/provisioning/entities/utils.mjs.map +1 -0
  469. package/dist/core/provisioning/index.mjs +4 -1
  470. package/dist/core/provisioning/synchronizer/base.d.ts.map +1 -1
  471. package/dist/core/provisioning/synchronizer/base.mjs.map +1 -1
  472. package/dist/index.mjs +16 -11
  473. package/dist/swagger.json +531 -23
  474. package/dist/ui/client/.vite/ssr-manifest.json +1140 -114
  475. package/dist/ui/client/assets/{index-Cd3uWit-.js → index-CP9HCHoS.js} +15 -15
  476. package/dist/ui/client/assets/index-VM4JXBXw.css +2 -0
  477. package/dist/ui/client/index.html +2 -2
  478. package/dist/ui/server/assets/{multipart-parser-Dn2Ly9xU.js → multipart-parser-BCMy8Xwv.js} +11 -1
  479. package/dist/ui/server/assets/{multipart-parser-DyM9gi59.js → multipart-parser-BVY8pIV2.js} +11 -1
  480. package/dist/ui/server/server.js +8643 -6992
  481. package/package.json +15 -15
  482. package/dist/ui/client/assets/index-DoCTwJ8M.css +0 -2
@@ -1 +1 @@
1
- {"version":3,"file":"relations-validator.mjs","names":["createValidator","Container","z","PermissionProvisioningValidator","RoleProvisioningValidator","ClientProvisioningRelationsValidator","initialize","permissionValidator","roleValidator","mount","optional","array","string"],"sources":["../../../../../src/core/provisioning/entities/client/relations-validator.ts"],"sourcesContent":["/*\n * Copyright (c) 2026.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { createValidator } from '@validup/zod';\nimport { Container } from 'validup';\nimport { z } from 'zod';\nimport { PermissionProvisioningValidator } from '../permission/index.ts';\nimport { RoleProvisioningValidator } from '../role/index.ts';\nimport type { ClientProvisioningRelations } from './types.ts';\n\nexport class ClientProvisioningRelationsValidator extends Container<ClientProvisioningRelations> {\n protected initialize() {\n super.initialize();\n\n const permissionValidator = new PermissionProvisioningValidator();\n const roleValidator = new RoleProvisioningValidator();\n\n this.mount('permissions.*', { optional: true }, permissionValidator);\n\n this.mount('realmPermissions', { optional: true }, createValidator(\n z.array(z.string()),\n ));\n\n this.mount('globalPermissions', { optional: true }, createValidator(\n z.array(z.string()),\n ));\n\n this.mount('roles.*', { optional: true }, roleValidator);\n\n this.mount('realmRoles', { optional: true }, createValidator(\n z.array(z.string()),\n ));\n\n this.mount('globalRoles', { optional: true }, createValidator(\n z.array(z.string()),\n ));\n }\n}\n"],"mappings":";;;;;;;;;;;AAcA,IAAaK,uCAAb,cAA0DJ,UAAAA;CAC5CK,aAAa;EACnB,MAAMA,WAAAA;EAEN,MAAMC,sBAAsB,IAAIJ,gCAAAA;EAChC,MAAMK,gBAAgB,IAAIJ,0BAAAA;EAE1B,KAAKK,MAAM,iBAAiB,EAAEC,UAAU,KAAK,GAAGH,mBAAAA;EAEhD,KAAKE,MAAM,oBAAoB,EAAEC,UAAU,KAAK,GAAGV,gBAC/CE,EAAES,MAAMT,EAAEU,OAAM,CAAA,CAAA,CAAA;EAGpB,KAAKH,MAAM,qBAAqB,EAAEC,UAAU,KAAK,GAAGV,gBAChDE,EAAES,MAAMT,EAAEU,OAAM,CAAA,CAAA,CAAA;EAGpB,KAAKH,MAAM,WAAW,EAAEC,UAAU,KAAK,GAAGF,aAAAA;EAE1C,KAAKC,MAAM,cAAc,EAAEC,UAAU,KAAK,GAAGV,gBACzCE,EAAES,MAAMT,EAAEU,OAAM,CAAA,CAAA,CAAA;EAGpB,KAAKH,MAAM,eAAe,EAAEC,UAAU,KAAK,GAAGV,gBAC1CE,EAAES,MAAMT,EAAEU,OAAM,CAAA,CAAA,CAAA;CAExB;AACJ"}
1
+ {"version":3,"file":"relations-validator.mjs","names":["createValidator","Container","z","PermissionProvisioningValidator","RoleProvisioningValidator","createProvisioningEntitiesValidator","ClientProvisioningRelationsValidator","initialize","permissionValidator","roleValidator","mount","optional","array","any","check","string"],"sources":["../../../../../src/core/provisioning/entities/client/relations-validator.ts"],"sourcesContent":["/*\n * Copyright (c) 2026.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { createValidator } from '@validup/zod';\nimport { Container } from 'validup';\nimport { z } from 'zod';\nimport { PermissionProvisioningValidator } from '../permission/index.ts';\nimport { RoleProvisioningValidator } from '../role/index.ts';\nimport { createProvisioningEntitiesValidator } from '../utils.ts';\nimport type { ClientProvisioningRelations } from './types.ts';\n\nexport class ClientProvisioningRelationsValidator extends Container<ClientProvisioningRelations> {\n protected initialize() {\n super.initialize();\n\n const permissionValidator = new PermissionProvisioningValidator();\n const roleValidator = new RoleProvisioningValidator();\n\n this.mount('permissions', { optional: true }, createValidator(\n z\n .array(z.any())\n .check(createProvisioningEntitiesValidator(permissionValidator)),\n ));\n\n this.mount('realmPermissions', { optional: true }, createValidator(\n z.array(z.string()),\n ));\n\n this.mount('globalPermissions', { optional: true }, createValidator(\n z.array(z.string()),\n ));\n\n this.mount('roles', { optional: true }, createValidator(\n z\n .array(z.any())\n .check(createProvisioningEntitiesValidator(roleValidator)),\n ));\n\n this.mount('realmRoles', { optional: true }, createValidator(\n z.array(z.string()),\n ));\n\n this.mount('globalRoles', { optional: true }, createValidator(\n z.array(z.string()),\n ));\n }\n}\n"],"mappings":";;;;;;;;;;;;AAeA,IAAaM,uCAAb,cAA0DL,UAAAA;CAC5CM,aAAa;EACnB,MAAMA,WAAAA;EAEN,MAAMC,sBAAsB,IAAIL,gCAAAA;EAChC,MAAMM,gBAAgB,IAAIL,0BAAAA;EAE1B,KAAKM,MAAM,eAAe,EAAEC,UAAU,KAAK,GAAGX,gBAC1CE,EACKU,MAAMV,EAAEW,IAAG,CAAA,CAAA,CACXC,MAAMT,oCAAoCG,mBAAAA,CAAAA,CAAAA,CAAAA;EAGnD,KAAKE,MAAM,oBAAoB,EAAEC,UAAU,KAAK,GAAGX,gBAC/CE,EAAEU,MAAMV,EAAEa,OAAM,CAAA,CAAA,CAAA;EAGpB,KAAKL,MAAM,qBAAqB,EAAEC,UAAU,KAAK,GAAGX,gBAChDE,EAAEU,MAAMV,EAAEa,OAAM,CAAA,CAAA,CAAA;EAGpB,KAAKL,MAAM,SAAS,EAAEC,UAAU,KAAK,GAAGX,gBACpCE,EACKU,MAAMV,EAAEW,IAAG,CAAA,CAAA,CACXC,MAAMT,oCAAoCI,aAAAA,CAAAA,CAAAA,CAAAA;EAGnD,KAAKC,MAAM,cAAc,EAAEC,UAAU,KAAK,GAAGX,gBACzCE,EAAEU,MAAMV,EAAEa,OAAM,CAAA,CAAA,CAAA;EAGpB,KAAKL,MAAM,eAAe,EAAEC,UAAU,KAAK,GAAGX,gBAC1CE,EAAEU,MAAMV,EAAEa,OAAM,CAAA,CAAA,CAAA;CAExB;AACJ"}
@@ -8,4 +8,5 @@ export * from './root/index.ts';
8
8
  export * from './scope/index.ts';
9
9
  export * from './user/index.ts';
10
10
  export * from './types.ts';
11
+ export * from './utils.ts';
11
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/provisioning/entities/index.ts"],"names":[],"mappings":"AAOA,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAEhC,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/provisioning/entities/index.ts"],"names":[],"mappings":"AAOA,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAEhC,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC"}
@@ -1,12 +1,16 @@
1
1
  import "node:path";
2
2
  import "node:url";
3
3
  import.meta.url;
4
+ import { PermissionProvisioningRelationsValidator } from "./permission/relations-validator.mjs";
4
5
  import { PermissionProvisioningValidator } from "./permission/validator.mjs";
5
6
  import "./permission/index.mjs";
6
7
  import { RoleProvisioningValidator } from "./role/validator.mjs";
7
8
  import "./role/index.mjs";
9
+ import { createProvisioningEntitiesValidator } from "./utils.mjs";
8
10
  import { ClientProvisioningValidator } from "./client/validator.mjs";
9
11
  import "./client/index.mjs";
12
+ import { PolicyProvisioningValidator } from "./policy/validator.mjs";
13
+ import "./policy/index.mjs";
10
14
  import { RobotProvisioningValidator } from "./robot/validator.mjs";
11
15
  import "./robot/index.mjs";
12
16
  import { ScopeProvisioningValidator } from "./scope/validator.mjs";
@@ -17,4 +21,4 @@ import { RealmProvisioningValidator } from "./realm/validator.mjs";
17
21
  import "./realm/index.mjs";
18
22
  import { RootProvisioningValidator } from "./root/validator.mjs";
19
23
  import "./root/index.mjs";
20
- export { ClientProvisioningValidator, PermissionProvisioningValidator, RealmProvisioningValidator, RobotProvisioningValidator, RoleProvisioningValidator, RootProvisioningValidator, ScopeProvisioningValidator, UserProvisioningValidator };
24
+ export { ClientProvisioningValidator, PermissionProvisioningRelationsValidator, PermissionProvisioningValidator, PolicyProvisioningValidator, RealmProvisioningValidator, RobotProvisioningValidator, RoleProvisioningValidator, RootProvisioningValidator, ScopeProvisioningValidator, UserProvisioningValidator, createProvisioningEntitiesValidator };
@@ -1,3 +1,4 @@
1
+ export * from './relations-validator.ts';
1
2
  export * from './types.ts';
2
3
  export * from './validator.ts';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/core/provisioning/entities/permission/index.ts"],"names":[],"mappings":"AAOA,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/core/provisioning/entities/permission/index.ts"],"names":[],"mappings":"AAOA,cAAc,0BAA0B,CAAC;AACzC,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import "node:path";
2
2
  import "node:url";
3
3
  import.meta.url;
4
+ import { PermissionProvisioningRelationsValidator } from "./relations-validator.mjs";
4
5
  import { PermissionProvisioningValidator } from "./validator.mjs";
5
- export { PermissionProvisioningValidator };
6
+ export { PermissionProvisioningRelationsValidator, PermissionProvisioningValidator };
@@ -0,0 +1,6 @@
1
+ import { Container } from 'validup';
2
+ import type { PermissionProvisioningRelations } from './types.ts';
3
+ export declare class PermissionProvisioningRelationsValidator extends Container<PermissionProvisioningRelations> {
4
+ protected initialize(): void;
5
+ }
6
+ //# sourceMappingURL=relations-validator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relations-validator.d.ts","sourceRoot":"","sources":["../../../../../src/core/provisioning/entities/permission/relations-validator.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEpC,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,YAAY,CAAC;AAElE,qBAAa,wCAAyC,SAAQ,SAAS,CAAC,+BAA+B,CAAC;IACpG,SAAS,CAAC,UAAU;CAOvB"}
@@ -0,0 +1,17 @@
1
+ import "node:path";
2
+ import "node:url";
3
+ import.meta.url;
4
+ import { Container } from "validup";
5
+ import { createValidator } from "@validup/zod";
6
+ import { z } from "zod";
7
+ //#region src/core/provisioning/entities/permission/relations-validator.ts
8
+ var PermissionProvisioningRelationsValidator = class extends Container {
9
+ initialize() {
10
+ super.initialize();
11
+ this.mount("policies", { optional: true }, createValidator(z.array(z.string())));
12
+ }
13
+ };
14
+ //#endregion
15
+ export { PermissionProvisioningRelationsValidator };
16
+
17
+ //# sourceMappingURL=relations-validator.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relations-validator.mjs","names":["createValidator","Container","z","PermissionProvisioningRelationsValidator","initialize","mount","optional","array","string"],"sources":["../../../../../src/core/provisioning/entities/permission/relations-validator.ts"],"sourcesContent":["/*\n * Copyright (c) 2026.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { createValidator } from '@validup/zod';\nimport { Container } from 'validup';\nimport { z } from 'zod';\nimport type { PermissionProvisioningRelations } from './types.ts';\n\nexport class PermissionProvisioningRelationsValidator extends Container<PermissionProvisioningRelations> {\n protected initialize() {\n super.initialize();\n\n this.mount('policies', { optional: true }, createValidator(\n z.array(z.string()),\n ));\n }\n}\n"],"mappings":";;;;;;;AAYA,IAAaG,2CAAb,cAA8DF,UAAAA;CAChDG,aAAa;EACnB,MAAMA,WAAAA;EAEN,KAAKC,MAAM,YAAY,EAAEC,UAAU,KAAK,GAAGN,gBACvCE,EAAEK,MAAML,EAAEM,OAAM,CAAA,CAAA,CAAA;CAExB;AACJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../../../../src/core/provisioning/entities/permission/validator.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAGpC,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,YAAY,CAAC;AAE/D,qBAAa,+BAAgC,SAAQ,SAAS,CAAC,4BAA4B,CAAC;IACxF,SAAS,CAAC,UAAU;CASvB"}
1
+ {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../../../../src/core/provisioning/entities/permission/validator.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAIpC,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,YAAY,CAAC;AAE/D,qBAAa,+BAAgC,SAAQ,SAAS,CAAC,4BAA4B,CAAC;IACxF,SAAS,CAAC,UAAU;CAYvB"}
@@ -3,6 +3,7 @@ import "node:url";
3
3
  import.meta.url;
4
4
  import { ProvisioningStrategyValidator } from "../../strategy/validator.mjs";
5
5
  import "../../strategy/index.mjs";
6
+ import { PermissionProvisioningRelationsValidator } from "./relations-validator.mjs";
6
7
  import { PermissionValidator } from "@authup/core-kit";
7
8
  import { Container } from "validup";
8
9
  //#region src/core/provisioning/entities/permission/validator.ts
@@ -13,6 +14,8 @@ var PermissionProvisioningValidator = class extends Container {
13
14
  this.mount("strategy", { optional: true }, strategyValidator);
14
15
  const attributesValidator = new PermissionValidator();
15
16
  this.mount("attributes", attributesValidator);
17
+ const relationsValidator = new PermissionProvisioningRelationsValidator();
18
+ this.mount("relations", { optional: true }, relationsValidator);
16
19
  }
17
20
  };
18
21
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"validator.mjs","names":["PermissionValidator","Container","ProvisioningStrategyValidator","PermissionProvisioningValidator","initialize","strategyValidator","mount","optional","attributesValidator"],"sources":["../../../../../src/core/provisioning/entities/permission/validator.ts"],"sourcesContent":["/*\n * Copyright (c) 2026.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { PermissionValidator } from '@authup/core-kit';\nimport { Container } from 'validup';\nimport { ProvisioningStrategyValidator } from '../../strategy/index.ts';\n\nimport type { PermissionProvisioningEntity } from './types.ts';\n\nexport class PermissionProvisioningValidator extends Container<PermissionProvisioningEntity> {\n protected initialize() {\n super.initialize();\n\n const strategyValidator = new ProvisioningStrategyValidator();\n this.mount('strategy', { optional: true }, strategyValidator);\n\n const attributesValidator = new PermissionValidator();\n this.mount('attributes', attributesValidator);\n }\n}\n"],"mappings":";;;;;;;;AAaA,IAAaG,kCAAb,cAAqDF,UAAAA;CACvCG,aAAa;EACnB,MAAMA,WAAAA;EAEN,MAAMC,oBAAoB,IAAIH,8BAAAA;EAC9B,KAAKI,MAAM,YAAY,EAAEC,UAAU,KAAK,GAAGF,iBAAAA;EAE3C,MAAMG,sBAAsB,IAAIR,oBAAAA;EAChC,KAAKM,MAAM,cAAcE,mBAAAA;CAC7B;AACJ"}
1
+ {"version":3,"file":"validator.mjs","names":["PermissionValidator","Container","ProvisioningStrategyValidator","PermissionProvisioningRelationsValidator","PermissionProvisioningValidator","initialize","strategyValidator","mount","optional","attributesValidator","relationsValidator"],"sources":["../../../../../src/core/provisioning/entities/permission/validator.ts"],"sourcesContent":["/*\n * Copyright (c) 2026.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { PermissionValidator } from '@authup/core-kit';\nimport { Container } from 'validup';\nimport { ProvisioningStrategyValidator } from '../../strategy/index.ts';\nimport { PermissionProvisioningRelationsValidator } from './relations-validator.ts';\n\nimport type { PermissionProvisioningEntity } from './types.ts';\n\nexport class PermissionProvisioningValidator extends Container<PermissionProvisioningEntity> {\n protected initialize() {\n super.initialize();\n\n const strategyValidator = new ProvisioningStrategyValidator();\n this.mount('strategy', { optional: true }, strategyValidator);\n\n const attributesValidator = new PermissionValidator();\n this.mount('attributes', attributesValidator);\n\n const relationsValidator = new PermissionProvisioningRelationsValidator();\n this.mount('relations', { optional: true }, relationsValidator);\n }\n}\n"],"mappings":";;;;;;;;;AAcA,IAAaI,kCAAb,cAAqDH,UAAAA;CACvCI,aAAa;EACnB,MAAMA,WAAAA;EAEN,MAAMC,oBAAoB,IAAIJ,8BAAAA;EAC9B,KAAKK,MAAM,YAAY,EAAEC,UAAU,KAAK,GAAGF,iBAAAA;EAE3C,MAAMG,sBAAsB,IAAIT,oBAAAA;EAChC,KAAKO,MAAM,cAAcE,mBAAAA;EAEzB,MAAMC,qBAAqB,IAAIP,yCAAAA;EAC/B,KAAKI,MAAM,aAAa,EAAEC,UAAU,KAAK,GAAGE,kBAAAA;CAChD;AACJ"}
@@ -1,2 +1,3 @@
1
1
  export * from './types.ts';
2
+ export * from './validator.ts';
2
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/core/provisioning/entities/policy/index.ts"],"names":[],"mappings":"AAOA,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/core/provisioning/entities/policy/index.ts"],"names":[],"mappings":"AAOA,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import "node:path";
2
2
  import "node:url";
3
3
  import.meta.url;
4
- export {};
4
+ import { PolicyProvisioningValidator } from "./validator.mjs";
5
+ export { PolicyProvisioningValidator };
@@ -0,0 +1,6 @@
1
+ import { Container } from 'validup';
2
+ import type { PolicyProvisioningEntity } from './types.ts';
3
+ export declare class PolicyProvisioningValidator extends Container<PolicyProvisioningEntity> {
4
+ protected initialize(): void;
5
+ }
6
+ //# sourceMappingURL=validator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../../../../src/core/provisioning/entities/policy/validator.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAIpC,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAE3D,qBAAa,2BAA4B,SAAQ,SAAS,CAAC,wBAAwB,CAAC;IAChF,SAAS,CAAC,UAAU;CAmBvB"}
@@ -0,0 +1,26 @@
1
+ import "node:path";
2
+ import "node:url";
3
+ import.meta.url;
4
+ import { ProvisioningStrategyValidator } from "../../strategy/validator.mjs";
5
+ import "../../strategy/index.mjs";
6
+ import { createProvisioningEntitiesValidator } from "../utils.mjs";
7
+ import { PolicyValidator } from "@authup/core-kit";
8
+ import { Container } from "validup";
9
+ import { createValidator } from "@validup/zod";
10
+ import { z } from "zod";
11
+ //#region src/core/provisioning/entities/policy/validator.ts
12
+ var PolicyProvisioningValidator = class extends Container {
13
+ initialize() {
14
+ super.initialize();
15
+ const strategyValidator = new ProvisioningStrategyValidator();
16
+ this.mount("strategy", { optional: true }, strategyValidator);
17
+ const attributesValidator = new PolicyValidator();
18
+ this.mount("attributes", attributesValidator);
19
+ this.mount("extraAttributes", { optional: true }, createValidator(z.record(z.string(), z.any())));
20
+ this.mount("children", { optional: true }, createValidator(z.array(z.any()).check(createProvisioningEntitiesValidator(this))));
21
+ }
22
+ };
23
+ //#endregion
24
+ export { PolicyProvisioningValidator };
25
+
26
+ //# sourceMappingURL=validator.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validator.mjs","names":["PolicyValidator","createValidator","Container","z","ProvisioningStrategyValidator","createProvisioningEntitiesValidator","PolicyProvisioningValidator","initialize","strategyValidator","mount","optional","attributesValidator","record","string","any","array","check"],"sources":["../../../../../src/core/provisioning/entities/policy/validator.ts"],"sourcesContent":["/*\n * Copyright (c) 2026.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { PolicyValidator } from '@authup/core-kit';\nimport { createValidator } from '@validup/zod';\nimport { Container } from 'validup';\nimport { z } from 'zod';\nimport { ProvisioningStrategyValidator } from '../../strategy/index.ts';\nimport { createProvisioningEntitiesValidator } from '../utils.ts';\nimport type { PolicyProvisioningEntity } from './types.ts';\n\nexport class PolicyProvisioningValidator extends Container<PolicyProvisioningEntity> {\n protected initialize() {\n super.initialize();\n\n const strategyValidator = new ProvisioningStrategyValidator();\n this.mount('strategy', { optional: true }, strategyValidator);\n\n const attributesValidator = new PolicyValidator();\n this.mount('attributes', attributesValidator);\n\n this.mount('extraAttributes', { optional: true }, createValidator(\n z.record(z.string(), z.any()),\n ));\n\n this.mount('children', { optional: true }, createValidator(\n z\n .array(z.any())\n .check(createProvisioningEntitiesValidator(this)),\n ));\n }\n}\n"],"mappings":";;;;;;;;;;;AAeA,IAAaM,8BAAb,cAAiDJ,UAAAA;CACnCK,aAAa;EACnB,MAAMA,WAAAA;EAEN,MAAMC,oBAAoB,IAAIJ,8BAAAA;EAC9B,KAAKK,MAAM,YAAY,EAAEC,UAAU,KAAK,GAAGF,iBAAAA;EAE3C,MAAMG,sBAAsB,IAAIX,gBAAAA;EAChC,KAAKS,MAAM,cAAcE,mBAAAA;EAEzB,KAAKF,MAAM,mBAAmB,EAAEC,UAAU,KAAK,GAAGT,gBAC9CE,EAAES,OAAOT,EAAEU,OAAM,GAAIV,EAAEW,IAAG,CAAA,CAAA,CAAA;EAG9B,KAAKL,MAAM,YAAY,EAAEC,UAAU,KAAK,GAAGT,gBACvCE,EACKY,MAAMZ,EAAEW,IAAG,CAAA,CAAA,CACXE,MAAMX,oCAAoC,IAAI,CAAA,CAAA,CAAA;CAE3D;AACJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"relations-validator.d.ts","sourceRoot":"","sources":["../../../../../src/core/provisioning/entities/realm/relations-validator.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,SAAS,EAAkB,MAAM,SAAS,CAAC;AAQpD,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAC;AAE7D,qBAAa,mCAAoC,SAAQ,SAAS,CAAC,0BAA0B,CAAC;IAC1F,SAAS,CAAC,UAAU;CAgHvB"}
1
+ {"version":3,"file":"relations-validator.d.ts","sourceRoot":"","sources":["../../../../../src/core/provisioning/entities/realm/relations-validator.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AASpC,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAC;AAE7D,qBAAa,mCAAoC,SAAQ,SAAS,CAAC,0BAA0B,CAAC;IAC1F,SAAS,CAAC,UAAU;CA8CvB"}
@@ -5,6 +5,7 @@ import { PermissionProvisioningValidator } from "../permission/validator.mjs";
5
5
  import "../permission/index.mjs";
6
6
  import { RoleProvisioningValidator } from "../role/validator.mjs";
7
7
  import "../role/index.mjs";
8
+ import { createProvisioningEntitiesValidator } from "../utils.mjs";
8
9
  import { ClientProvisioningValidator } from "../client/validator.mjs";
9
10
  import "../client/index.mjs";
10
11
  import { RobotProvisioningValidator } from "../robot/validator.mjs";
@@ -13,8 +14,8 @@ import { ScopeProvisioningValidator } from "../scope/validator.mjs";
13
14
  import "../scope/index.mjs";
14
15
  import { UserProvisioningValidator } from "../user/validator.mjs";
15
16
  import "../user/index.mjs";
16
- import { Container, isValidupError } from "validup";
17
- import { buildZodIssuesForError, createValidator } from "@validup/zod";
17
+ import { Container } from "validup";
18
+ import { createValidator } from "@validup/zod";
18
19
  import { z } from "zod";
19
20
  //#region src/core/provisioning/entities/realm/relations-validator.ts
20
21
  var RealmProvisioningRelationsValidator = class extends Container {
@@ -26,56 +27,12 @@ var RealmProvisioningRelationsValidator = class extends Container {
26
27
  const robotValidator = new RobotProvisioningValidator();
27
28
  const scopeValidator = new ScopeProvisioningValidator();
28
29
  const userValidator = new UserProvisioningValidator();
29
- this.mount("clients", { optional: true }, createValidator(z.array(z.any()).check(async (ctx) => {
30
- try {
31
- for (let i = 0; i < ctx.value.length; i++) await clientValidator.run(ctx.value[i]);
32
- } catch (e) {
33
- if (isValidupError(e)) ctx.issues.push(...buildZodIssuesForError(e));
34
- }
35
- })));
36
- this.mount("roles", { optional: true }, createValidator(z.array(z.any()).check(async (ctx) => {
37
- try {
38
- for (let i = 0; i < ctx.value.length; i++) await roleValidator.run(ctx.value[i]);
39
- } catch (e) {
40
- if (isValidupError(e)) {
41
- ctx.issues.push({
42
- code: "custom",
43
- message: "",
44
- path: [],
45
- input: void 0
46
- });
47
- ctx.issues.push(...buildZodIssuesForError(e));
48
- }
49
- }
50
- })));
51
- this.mount("permissions", { optional: true }, createValidator(z.array(z.any()).check(async (ctx) => {
52
- try {
53
- for (let i = 0; i < ctx.value.length; i++) await permissionValidator.run(ctx.value[i]);
54
- } catch (e) {
55
- if (isValidupError(e)) ctx.issues.push(...buildZodIssuesForError(e));
56
- }
57
- })));
58
- this.mount("robots", { optional: true }, createValidator(z.array(z.any()).check(async (ctx) => {
59
- try {
60
- for (let i = 0; i < ctx.value.length; i++) await robotValidator.run(ctx.value[i]);
61
- } catch (e) {
62
- if (isValidupError(e)) ctx.issues.push(...buildZodIssuesForError(e));
63
- }
64
- })));
65
- this.mount("scopes", { optional: true }, createValidator(z.array(z.any()).check(async (ctx) => {
66
- try {
67
- for (let i = 0; i < ctx.value.length; i++) await scopeValidator.run(ctx.value[i]);
68
- } catch (e) {
69
- if (isValidupError(e)) ctx.issues.push(...buildZodIssuesForError(e));
70
- }
71
- })));
72
- this.mount("users", { optional: true }, createValidator(z.array(z.any()).check(async (ctx) => {
73
- try {
74
- for (let i = 0; i < ctx.value.length; i++) await userValidator.run(ctx.value[i]);
75
- } catch (e) {
76
- if (isValidupError(e)) ctx.issues.push(...buildZodIssuesForError(e));
77
- }
78
- })));
30
+ this.mount("clients", { optional: true }, createValidator(z.array(z.any()).check(createProvisioningEntitiesValidator(clientValidator))));
31
+ this.mount("roles", { optional: true }, createValidator(z.array(z.any()).check(createProvisioningEntitiesValidator(roleValidator))));
32
+ this.mount("permissions", { optional: true }, createValidator(z.array(z.any()).check(createProvisioningEntitiesValidator(permissionValidator))));
33
+ this.mount("robots", { optional: true }, createValidator(z.array(z.any()).check(createProvisioningEntitiesValidator(robotValidator))));
34
+ this.mount("scopes", { optional: true }, createValidator(z.array(z.any()).check(createProvisioningEntitiesValidator(scopeValidator))));
35
+ this.mount("users", { optional: true }, createValidator(z.array(z.any()).check(createProvisioningEntitiesValidator(userValidator))));
79
36
  }
80
37
  };
81
38
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"relations-validator.mjs","names":["buildZodIssuesForError","createValidator","Container","isValidupError","z","ClientProvisioningValidator","PermissionProvisioningValidator","RobotProvisioningValidator","RoleProvisioningValidator","ScopeProvisioningValidator","UserProvisioningValidator","RealmProvisioningRelationsValidator","initialize","clientValidator","roleValidator","permissionValidator","robotValidator","scopeValidator","userValidator","mount","optional","array","any","check","ctx","i","value","length","run","e","issues","push","code","message","path","input","undefined"],"sources":["../../../../../src/core/provisioning/entities/realm/relations-validator.ts"],"sourcesContent":["/*\n * Copyright (c) 2026-2026.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { buildZodIssuesForError, createValidator } from '@validup/zod';\nimport { Container, isValidupError } from 'validup';\nimport { z } from 'zod';\nimport { ClientProvisioningValidator } from '../client/index.ts';\nimport { PermissionProvisioningValidator } from '../permission/index.ts';\nimport { RobotProvisioningValidator } from '../robot/index.ts';\nimport { RoleProvisioningValidator } from '../role/index.ts';\nimport { ScopeProvisioningValidator } from '../scope/index.ts';\nimport { UserProvisioningValidator } from '../user/index.ts';\nimport type { RealmProvisioningRelations } from './types.ts';\n\nexport class RealmProvisioningRelationsValidator extends Container<RealmProvisioningRelations> {\n protected initialize() {\n super.initialize();\n\n const clientValidator = new ClientProvisioningValidator();\n const roleValidator = new RoleProvisioningValidator();\n const permissionValidator = new PermissionProvisioningValidator();\n const robotValidator = new RobotProvisioningValidator();\n const scopeValidator = new ScopeProvisioningValidator();\n const userValidator = new UserProvisioningValidator();\n\n this.mount('clients', { optional: true }, createValidator(\n z\n .array(z.any())\n .check(async (ctx) => {\n try {\n for (let i = 0; i < ctx.value.length; i++) {\n await clientValidator.run(ctx.value[i]);\n }\n } catch (e) {\n if (isValidupError(e)) {\n ctx.issues.push(...buildZodIssuesForError(e));\n }\n }\n }),\n ));\n\n this.mount('roles', { optional: true }, createValidator(\n z\n .array(z.any())\n .check(async (ctx) => {\n try {\n for (let i = 0; i < ctx.value.length; i++) {\n await roleValidator.run(ctx.value[i]);\n }\n } catch (e) {\n if (isValidupError(e)) {\n ctx.issues.push({\n code: 'custom',\n message: '',\n path: [],\n input: undefined,\n });\n ctx.issues.push(...buildZodIssuesForError(e));\n }\n }\n }),\n ));\n\n this.mount('permissions', { optional: true }, createValidator(\n z\n .array(z.any())\n .check(async (ctx) => {\n try {\n for (let i = 0; i < ctx.value.length; i++) {\n await permissionValidator.run(ctx.value[i]);\n }\n } catch (e) {\n if (isValidupError(e)) {\n ctx.issues.push(...buildZodIssuesForError(e));\n }\n }\n }),\n ));\n\n this.mount('robots', { optional: true }, createValidator(\n z\n .array(z.any())\n .check(async (ctx) => {\n try {\n for (let i = 0; i < ctx.value.length; i++) {\n await robotValidator.run(ctx.value[i]);\n }\n } catch (e) {\n if (isValidupError(e)) {\n ctx.issues.push(...buildZodIssuesForError(e));\n }\n }\n }),\n ));\n\n this.mount('scopes', { optional: true }, createValidator(\n z\n .array(z.any())\n .check(async (ctx) => {\n try {\n for (let i = 0; i < ctx.value.length; i++) {\n await scopeValidator.run(ctx.value[i]);\n }\n } catch (e) {\n if (isValidupError(e)) {\n ctx.issues.push(...buildZodIssuesForError(e));\n }\n }\n }),\n ));\n\n this.mount('users', { optional: true }, createValidator(\n z\n .array(z.any())\n .check(async (ctx) => {\n try {\n for (let i = 0; i < ctx.value.length; i++) {\n await userValidator.run(ctx.value[i]);\n }\n } catch (e) {\n if (isValidupError(e)) {\n ctx.issues.push(...buildZodIssuesForError(e));\n }\n }\n }),\n ));\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAkBA,IAAaW,sCAAb,cAAyDT,UAAAA;CAC3CU,aAAa;EACnB,MAAMA,WAAAA;EAEN,MAAMC,kBAAkB,IAAIR,4BAAAA;EAC5B,MAAMS,gBAAgB,IAAIN,0BAAAA;EAC1B,MAAMO,sBAAsB,IAAIT,gCAAAA;EAChC,MAAMU,iBAAiB,IAAIT,2BAAAA;EAC3B,MAAMU,iBAAiB,IAAIR,2BAAAA;EAC3B,MAAMS,gBAAgB,IAAIR,0BAAAA;EAE1B,KAAKS,MAAM,WAAW,EAAEC,UAAU,KAAK,GAAGnB,gBACtCG,EACKiB,MAAMjB,EAAEkB,IAAG,CAAA,CAAA,CACXC,MAAM,OAAOC,QAAAA;GACV,IAAI;IACA,KAAK,IAAIC,IAAI,GAAGA,IAAID,IAAIE,MAAMC,QAAQF,KAClC,MAAMZ,gBAAgBe,IAAIJ,IAAIE,MAAMD,EAAE;GAE9C,SAASI,GAAG;IACR,IAAI1B,eAAe0B,CAAAA,GACfL,IAAIM,OAAOC,KAAI,GAAI/B,uBAAuB6B,CAAAA,CAAAA;GAElD;EACJ,CAAA,CAAA,CAAA;EAGR,KAAKV,MAAM,SAAS,EAAEC,UAAU,KAAK,GAAGnB,gBACpCG,EACKiB,MAAMjB,EAAEkB,IAAG,CAAA,CAAA,CACXC,MAAM,OAAOC,QAAAA;GACV,IAAI;IACA,KAAK,IAAIC,IAAI,GAAGA,IAAID,IAAIE,MAAMC,QAAQF,KAClC,MAAMX,cAAcc,IAAIJ,IAAIE,MAAMD,EAAE;GAE5C,SAASI,GAAG;IACR,IAAI1B,eAAe0B,CAAAA,GAAI;KACnBL,IAAIM,OAAOC,KAAK;MACZC,MAAM;MACNC,SAAS;MACTC,MAAM,CAAA;MACNC,OAAOC,KAAAA;KACX,CAAA;KACAZ,IAAIM,OAAOC,KAAI,GAAI/B,uBAAuB6B,CAAAA,CAAAA;IAC9C;GACJ;EACJ,CAAA,CAAA,CAAA;EAGR,KAAKV,MAAM,eAAe,EAAEC,UAAU,KAAK,GAAGnB,gBAC1CG,EACKiB,MAAMjB,EAAEkB,IAAG,CAAA,CAAA,CACXC,MAAM,OAAOC,QAAAA;GACV,IAAI;IACA,KAAK,IAAIC,IAAI,GAAGA,IAAID,IAAIE,MAAMC,QAAQF,KAClC,MAAMV,oBAAoBa,IAAIJ,IAAIE,MAAMD,EAAE;GAElD,SAASI,GAAG;IACR,IAAI1B,eAAe0B,CAAAA,GACfL,IAAIM,OAAOC,KAAI,GAAI/B,uBAAuB6B,CAAAA,CAAAA;GAElD;EACJ,CAAA,CAAA,CAAA;EAGR,KAAKV,MAAM,UAAU,EAAEC,UAAU,KAAK,GAAGnB,gBACrCG,EACKiB,MAAMjB,EAAEkB,IAAG,CAAA,CAAA,CACXC,MAAM,OAAOC,QAAAA;GACV,IAAI;IACA,KAAK,IAAIC,IAAI,GAAGA,IAAID,IAAIE,MAAMC,QAAQF,KAClC,MAAMT,eAAeY,IAAIJ,IAAIE,MAAMD,EAAE;GAE7C,SAASI,GAAG;IACR,IAAI1B,eAAe0B,CAAAA,GACfL,IAAIM,OAAOC,KAAI,GAAI/B,uBAAuB6B,CAAAA,CAAAA;GAElD;EACJ,CAAA,CAAA,CAAA;EAGR,KAAKV,MAAM,UAAU,EAAEC,UAAU,KAAK,GAAGnB,gBACrCG,EACKiB,MAAMjB,EAAEkB,IAAG,CAAA,CAAA,CACXC,MAAM,OAAOC,QAAAA;GACV,IAAI;IACA,KAAK,IAAIC,IAAI,GAAGA,IAAID,IAAIE,MAAMC,QAAQF,KAClC,MAAMR,eAAeW,IAAIJ,IAAIE,MAAMD,EAAE;GAE7C,SAASI,GAAG;IACR,IAAI1B,eAAe0B,CAAAA,GACfL,IAAIM,OAAOC,KAAI,GAAI/B,uBAAuB6B,CAAAA,CAAAA;GAElD;EACJ,CAAA,CAAA,CAAA;EAGR,KAAKV,MAAM,SAAS,EAAEC,UAAU,KAAK,GAAGnB,gBACpCG,EACKiB,MAAMjB,EAAEkB,IAAG,CAAA,CAAA,CACXC,MAAM,OAAOC,QAAAA;GACV,IAAI;IACA,KAAK,IAAIC,IAAI,GAAGA,IAAID,IAAIE,MAAMC,QAAQF,KAClC,MAAMP,cAAcU,IAAIJ,IAAIE,MAAMD,EAAE;GAE5C,SAASI,GAAG;IACR,IAAI1B,eAAe0B,CAAAA,GACfL,IAAIM,OAAOC,KAAI,GAAI/B,uBAAuB6B,CAAAA,CAAAA;GAElD;EACJ,CAAA,CAAA,CAAA;CAEZ;AACJ"}
1
+ {"version":3,"file":"relations-validator.mjs","names":["createValidator","Container","z","ClientProvisioningValidator","PermissionProvisioningValidator","RobotProvisioningValidator","RoleProvisioningValidator","ScopeProvisioningValidator","UserProvisioningValidator","createProvisioningEntitiesValidator","RealmProvisioningRelationsValidator","initialize","clientValidator","roleValidator","permissionValidator","robotValidator","scopeValidator","userValidator","mount","optional","array","any","check"],"sources":["../../../../../src/core/provisioning/entities/realm/relations-validator.ts"],"sourcesContent":["/*\n * Copyright (c) 2026-2026.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { createValidator } from '@validup/zod';\nimport { Container } from 'validup';\nimport { z } from 'zod';\nimport { ClientProvisioningValidator } from '../client/index.ts';\nimport { PermissionProvisioningValidator } from '../permission/index.ts';\nimport { RobotProvisioningValidator } from '../robot/index.ts';\nimport { RoleProvisioningValidator } from '../role/index.ts';\nimport { ScopeProvisioningValidator } from '../scope/index.ts';\nimport { UserProvisioningValidator } from '../user/index.ts';\nimport { createProvisioningEntitiesValidator } from '../utils.ts';\nimport type { RealmProvisioningRelations } from './types.ts';\n\nexport class RealmProvisioningRelationsValidator extends Container<RealmProvisioningRelations> {\n protected initialize() {\n super.initialize();\n\n const clientValidator = new ClientProvisioningValidator();\n const roleValidator = new RoleProvisioningValidator();\n const permissionValidator = new PermissionProvisioningValidator();\n const robotValidator = new RobotProvisioningValidator();\n const scopeValidator = new ScopeProvisioningValidator();\n const userValidator = new UserProvisioningValidator();\n\n this.mount('clients', { optional: true }, createValidator(\n z\n .array(z.any())\n .check(createProvisioningEntitiesValidator(clientValidator)),\n ));\n\n this.mount('roles', { optional: true }, createValidator(\n z\n .array(z.any())\n .check(createProvisioningEntitiesValidator(roleValidator)),\n ));\n\n this.mount('permissions', { optional: true }, createValidator(\n z\n .array(z.any())\n .check(createProvisioningEntitiesValidator(permissionValidator)),\n ));\n\n this.mount('robots', { optional: true }, createValidator(\n z\n .array(z.any())\n .check(createProvisioningEntitiesValidator(robotValidator)),\n ));\n\n this.mount('scopes', { optional: true }, createValidator(\n z\n .array(z.any())\n .check(createProvisioningEntitiesValidator(scopeValidator)),\n ));\n\n this.mount('users', { optional: true }, createValidator(\n z\n .array(z.any())\n .check(createProvisioningEntitiesValidator(userValidator)),\n ));\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAmBA,IAAaU,sCAAb,cAAyDT,UAAAA;CAC3CU,aAAa;EACnB,MAAMA,WAAAA;EAEN,MAAMC,kBAAkB,IAAIT,4BAAAA;EAC5B,MAAMU,gBAAgB,IAAIP,0BAAAA;EAC1B,MAAMQ,sBAAsB,IAAIV,gCAAAA;EAChC,MAAMW,iBAAiB,IAAIV,2BAAAA;EAC3B,MAAMW,iBAAiB,IAAIT,2BAAAA;EAC3B,MAAMU,gBAAgB,IAAIT,0BAAAA;EAE1B,KAAKU,MAAM,WAAW,EAAEC,UAAU,KAAK,GAAGnB,gBACtCE,EACKkB,MAAMlB,EAAEmB,IAAG,CAAA,CAAA,CACXC,MAAMb,oCAAoCG,eAAAA,CAAAA,CAAAA,CAAAA;EAGnD,KAAKM,MAAM,SAAS,EAAEC,UAAU,KAAK,GAAGnB,gBACpCE,EACKkB,MAAMlB,EAAEmB,IAAG,CAAA,CAAA,CACXC,MAAMb,oCAAoCI,aAAAA,CAAAA,CAAAA,CAAAA;EAGnD,KAAKK,MAAM,eAAe,EAAEC,UAAU,KAAK,GAAGnB,gBAC1CE,EACKkB,MAAMlB,EAAEmB,IAAG,CAAA,CAAA,CACXC,MAAMb,oCAAoCK,mBAAAA,CAAAA,CAAAA,CAAAA;EAGnD,KAAKI,MAAM,UAAU,EAAEC,UAAU,KAAK,GAAGnB,gBACrCE,EACKkB,MAAMlB,EAAEmB,IAAG,CAAA,CAAA,CACXC,MAAMb,oCAAoCM,cAAAA,CAAAA,CAAAA,CAAAA;EAGnD,KAAKG,MAAM,UAAU,EAAEC,UAAU,KAAK,GAAGnB,gBACrCE,EACKkB,MAAMlB,EAAEmB,IAAG,CAAA,CAAA,CACXC,MAAMb,oCAAoCO,cAAAA,CAAAA,CAAAA,CAAAA;EAGnD,KAAKE,MAAM,SAAS,EAAEC,UAAU,KAAK,GAAGnB,gBACpCE,EACKkB,MAAMlB,EAAEmB,IAAG,CAAA,CAAA,CACXC,MAAMb,oCAAoCQ,aAAAA,CAAAA,CAAAA,CAAAA;CAEvD;AACJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"relations-validator.d.ts","sourceRoot":"","sources":["../../../../../src/core/provisioning/entities/role/relations-validator.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEpC,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAE5D,qBAAa,kCAAmC,SAAQ,SAAS,CAAC,yBAAyB,CAAC;IACxF,SAAS,CAAC,UAAU;CAWvB"}
1
+ {"version":3,"file":"relations-validator.d.ts","sourceRoot":"","sources":["../../../../../src/core/provisioning/entities/role/relations-validator.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEpC,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAE5D,qBAAa,kCAAmC,SAAQ,SAAS,CAAC,yBAAyB,CAAC;IACxF,SAAS,CAAC,UAAU;CAuBvB"}
@@ -1,6 +1,7 @@
1
1
  import "node:path";
2
2
  import "node:url";
3
3
  import.meta.url;
4
+ import { RealmScope } from "@authup/access";
4
5
  import { Container } from "validup";
5
6
  import { createValidator } from "@validup/zod";
6
7
  import { z } from "zod";
@@ -10,6 +11,9 @@ var RoleProvisioningRelationsValidator = class extends Container {
10
11
  super.initialize();
11
12
  this.mount("realmPermissions", { optional: true }, createValidator(z.array(z.string())));
12
13
  this.mount("globalPermissions", { optional: true }, createValidator(z.array(z.string())));
14
+ this.mount("globalPermissionsExclude", { optional: true }, createValidator(z.array(z.string())));
15
+ this.mount("globalPermissionsRealmScope", { optional: true }, createValidator(z.enum(RealmScope)));
16
+ this.mount("globalPermissionsRealmScopeOverrides", { optional: true }, createValidator(z.partialRecord(z.enum(RealmScope), z.array(z.string()))));
13
17
  }
14
18
  };
15
19
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"relations-validator.mjs","names":["createValidator","Container","z","RoleProvisioningRelationsValidator","initialize","mount","optional","array","string"],"sources":["../../../../../src/core/provisioning/entities/role/relations-validator.ts"],"sourcesContent":["/*\n * Copyright (c) 2026.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { createValidator } from '@validup/zod';\nimport { Container } from 'validup';\nimport { z } from 'zod';\nimport type { RoleProvisioningRelations } from './types.ts';\n\nexport class RoleProvisioningRelationsValidator extends Container<RoleProvisioningRelations> {\n protected initialize() {\n super.initialize();\n\n this.mount('realmPermissions', { optional: true }, createValidator(\n z.array(z.string()),\n ));\n\n this.mount('globalPermissions', { optional: true }, createValidator(\n z.array(z.string()),\n ));\n }\n}\n"],"mappings":";;;;;;;AAYA,IAAaG,qCAAb,cAAwDF,UAAAA;CAC1CG,aAAa;EACnB,MAAMA,WAAAA;EAEN,KAAKC,MAAM,oBAAoB,EAAEC,UAAU,KAAK,GAAGN,gBAC/CE,EAAEK,MAAML,EAAEM,OAAM,CAAA,CAAA,CAAA;EAGpB,KAAKH,MAAM,qBAAqB,EAAEC,UAAU,KAAK,GAAGN,gBAChDE,EAAEK,MAAML,EAAEM,OAAM,CAAA,CAAA,CAAA;CAExB;AACJ"}
1
+ {"version":3,"file":"relations-validator.mjs","names":["RealmScope","createValidator","Container","z","RoleProvisioningRelationsValidator","initialize","mount","optional","array","string","enum","partialRecord"],"sources":["../../../../../src/core/provisioning/entities/role/relations-validator.ts"],"sourcesContent":["/*\n * Copyright (c) 2026.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { RealmScope } from '@authup/access';\nimport { createValidator } from '@validup/zod';\nimport { Container } from 'validup';\nimport { z } from 'zod';\nimport type { RoleProvisioningRelations } from './types.ts';\n\nexport class RoleProvisioningRelationsValidator extends Container<RoleProvisioningRelations> {\n protected initialize() {\n super.initialize();\n\n this.mount('realmPermissions', { optional: true }, createValidator(\n z.array(z.string()),\n ));\n\n this.mount('globalPermissions', { optional: true }, createValidator(\n z.array(z.string()),\n ));\n\n this.mount('globalPermissionsExclude', { optional: true }, createValidator(\n z.array(z.string()),\n ));\n\n this.mount('globalPermissionsRealmScope', { optional: true }, createValidator(\n z.enum(RealmScope),\n ));\n\n this.mount('globalPermissionsRealmScopeOverrides', { optional: true }, createValidator(\n z.partialRecord(z.enum(RealmScope), z.array(z.string())),\n ));\n }\n}\n"],"mappings":";;;;;;;;AAaA,IAAaI,qCAAb,cAAwDF,UAAAA;CAC1CG,aAAa;EACnB,MAAMA,WAAAA;EAEN,KAAKC,MAAM,oBAAoB,EAAEC,UAAU,KAAK,GAAGN,gBAC/CE,EAAEK,MAAML,EAAEM,OAAM,CAAA,CAAA,CAAA;EAGpB,KAAKH,MAAM,qBAAqB,EAAEC,UAAU,KAAK,GAAGN,gBAChDE,EAAEK,MAAML,EAAEM,OAAM,CAAA,CAAA,CAAA;EAGpB,KAAKH,MAAM,4BAA4B,EAAEC,UAAU,KAAK,GAAGN,gBACvDE,EAAEK,MAAML,EAAEM,OAAM,CAAA,CAAA,CAAA;EAGpB,KAAKH,MAAM,+BAA+B,EAAEC,UAAU,KAAK,GAAGN,gBAC1DE,EAAEO,KAAKV,UAAAA,CAAAA,CAAAA;EAGX,KAAKM,MAAM,wCAAwC,EAAEC,UAAU,KAAK,GAAGN,gBACnEE,EAAEQ,cAAcR,EAAEO,KAAKV,UAAAA,GAAaG,EAAEK,MAAML,EAAEM,OAAM,CAAA,CAAA,CAAA,CAAA;CAE5D;AACJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../../../../src/core/provisioning/entities/root/validator.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,SAAS,EAAkB,MAAM,SAAS,CAAC;AAQpD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAEzD,qBAAa,yBAA0B,SAAQ,SAAS,CAAC,sBAAsB,CAAC;IAC5E,SAAS,CAAC,UAAU;CAoEvB"}
1
+ {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../../../../src/core/provisioning/entities/root/validator.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAUpC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAEzD,qBAAa,yBAA0B,SAAQ,SAAS,CAAC,sBAAsB,CAAC;IAC5E,SAAS,CAAC,UAAU;CAyCvB"}
@@ -7,12 +7,15 @@ import { PermissionProvisioningValidator } from "../permission/validator.mjs";
7
7
  import "../permission/index.mjs";
8
8
  import { RoleProvisioningValidator } from "../role/validator.mjs";
9
9
  import "../role/index.mjs";
10
+ import { createProvisioningEntitiesValidator } from "../utils.mjs";
11
+ import { PolicyProvisioningValidator } from "../policy/validator.mjs";
12
+ import "../policy/index.mjs";
10
13
  import { ScopeProvisioningValidator } from "../scope/validator.mjs";
11
14
  import "../scope/index.mjs";
12
15
  import { RealmProvisioningValidator } from "../realm/validator.mjs";
13
16
  import "../realm/index.mjs";
14
- import { Container, isValidupError } from "validup";
15
- import { buildZodIssuesForError, createValidator } from "@validup/zod";
17
+ import { Container } from "validup";
18
+ import { createValidator } from "@validup/zod";
16
19
  import { z } from "zod";
17
20
  //#region src/core/provisioning/entities/root/validator.ts
18
21
  var RootProvisioningValidator = class extends Container {
@@ -20,34 +23,16 @@ var RootProvisioningValidator = class extends Container {
20
23
  super.initialize();
21
24
  const strategyValidator = new ProvisioningStrategyValidator();
22
25
  this.mount("strategy", { optional: true }, strategyValidator);
26
+ const policyValidator = new PolicyProvisioningValidator();
27
+ this.mount("policies", { optional: true }, createValidator(z.array(z.any()).check(createProvisioningEntitiesValidator(policyValidator))));
23
28
  const realmValidator = new RealmProvisioningValidator();
24
- this.mount("realms", { optional: true }, createValidator(z.array(z.any()).check(async (ctx) => {
25
- for (let i = 0; i < ctx.value.length; i++) await realmValidator.run(ctx.value[i]);
26
- })));
29
+ this.mount("realms", { optional: true }, createValidator(z.array(z.any()).check(createProvisioningEntitiesValidator(realmValidator))));
27
30
  const roleValidator = new RoleProvisioningValidator();
28
- this.mount("roles", { optional: true }, createValidator(z.array(z.any()).check(async (ctx) => {
29
- try {
30
- for (let i = 0; i < ctx.value.length; i++) await roleValidator.run(ctx.value[i]);
31
- } catch (e) {
32
- if (isValidupError(e)) ctx.issues.push(...buildZodIssuesForError(e));
33
- }
34
- })));
31
+ this.mount("roles", { optional: true }, createValidator(z.array(z.any()).check(createProvisioningEntitiesValidator(roleValidator))));
35
32
  const scopeValidator = new ScopeProvisioningValidator();
36
- this.mount("scopes", { optional: true }, createValidator(z.array(z.any()).check(async (ctx) => {
37
- try {
38
- for (let i = 0; i < ctx.value.length; i++) await scopeValidator.run(ctx.value[i]);
39
- } catch (e) {
40
- if (isValidupError(e)) ctx.issues.push(...buildZodIssuesForError(e));
41
- }
42
- })));
33
+ this.mount("scopes", { optional: true }, createValidator(z.array(z.any()).check(createProvisioningEntitiesValidator(scopeValidator))));
43
34
  const permissionValidator = new PermissionProvisioningValidator();
44
- this.mount("permissions", { optional: true }, createValidator(z.array(z.any()).check(async (ctx) => {
45
- try {
46
- for (let i = 0; i < ctx.value.length; i++) await permissionValidator.run(ctx.value[i]);
47
- } catch (e) {
48
- if (isValidupError(e)) ctx.issues.push(...buildZodIssuesForError(e));
49
- }
50
- })));
35
+ this.mount("permissions", { optional: true }, createValidator(z.array(z.any()).check(createProvisioningEntitiesValidator(permissionValidator))));
51
36
  }
52
37
  };
53
38
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"validator.mjs","names":["buildZodIssuesForError","createValidator","Container","isValidupError","z","ProvisioningStrategyValidator","PermissionProvisioningValidator","RealmProvisioningValidator","RoleProvisioningValidator","ScopeProvisioningValidator","RootProvisioningValidator","initialize","strategyValidator","mount","optional","realmValidator","array","any","check","ctx","i","value","length","run","roleValidator","e","issues","push","scopeValidator","permissionValidator"],"sources":["../../../../../src/core/provisioning/entities/root/validator.ts"],"sourcesContent":["/*\n * Copyright (c) 2026.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { buildZodIssuesForError, createValidator } from '@validup/zod';\nimport { Container, isValidupError } from 'validup';\nimport { z } from 'zod';\nimport { ProvisioningStrategyValidator } from '../../strategy/index.ts';\nimport { PermissionProvisioningValidator } from '../permission/index.ts';\nimport { RealmProvisioningValidator } from '../realm/index.ts';\nimport { RoleProvisioningValidator } from '../role/index.ts';\nimport { ScopeProvisioningValidator } from '../scope/index.ts';\n\nimport type { RootProvisioningEntity } from './types.ts';\n\nexport class RootProvisioningValidator extends Container<RootProvisioningEntity> {\n protected initialize() {\n super.initialize();\n\n const strategyValidator = new ProvisioningStrategyValidator();\n this.mount('strategy', { optional: true }, strategyValidator);\n\n const realmValidator = new RealmProvisioningValidator();\n this.mount('realms', { optional: true }, createValidator(\n z\n .array(z.any())\n .check(async (ctx) => {\n for (let i = 0; i < ctx.value.length; i++) {\n await realmValidator.run(ctx.value[i]);\n }\n }),\n ));\n\n const roleValidator = new RoleProvisioningValidator();\n this.mount('roles', { optional: true }, createValidator(\n z\n .array(z.any())\n .check(async (ctx) => {\n try {\n for (let i = 0; i < ctx.value.length; i++) {\n await roleValidator.run(ctx.value[i]);\n }\n } catch (e) {\n if (isValidupError(e)) {\n ctx.issues.push(...buildZodIssuesForError(e));\n }\n }\n }),\n ));\n\n const scopeValidator = new ScopeProvisioningValidator();\n this.mount('scopes', { optional: true }, createValidator(\n z\n .array(z.any())\n .check(async (ctx) => {\n try {\n for (let i = 0; i < ctx.value.length; i++) {\n await scopeValidator.run(ctx.value[i]);\n }\n } catch (e) {\n if (isValidupError(e)) {\n ctx.issues.push(...buildZodIssuesForError(e));\n }\n }\n }),\n ));\n\n const permissionValidator = new PermissionProvisioningValidator();\n this.mount('permissions', { optional: true }, createValidator(\n z\n .array(z.any())\n .check(async (ctx) => {\n try {\n for (let i = 0; i < ctx.value.length; i++) {\n await permissionValidator.run(ctx.value[i]);\n }\n } catch (e) {\n if (isValidupError(e)) {\n ctx.issues.push(...buildZodIssuesForError(e));\n }\n }\n }),\n ));\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAkBA,IAAaU,4BAAb,cAA+CR,UAAAA;CACjCS,aAAa;EACnB,MAAMA,WAAAA;EAEN,MAAMC,oBAAoB,IAAIP,8BAAAA;EAC9B,KAAKQ,MAAM,YAAY,EAAEC,UAAU,KAAK,GAAGF,iBAAAA;EAE3C,MAAMG,iBAAiB,IAAIR,2BAAAA;EAC3B,KAAKM,MAAM,UAAU,EAAEC,UAAU,KAAK,GAAGb,gBACrCG,EACKY,MAAMZ,EAAEa,IAAG,CAAA,CAAA,CACXC,MAAM,OAAOC,QAAAA;GACV,KAAK,IAAIC,IAAI,GAAGA,IAAID,IAAIE,MAAMC,QAAQF,KAClC,MAAML,eAAeQ,IAAIJ,IAAIE,MAAMD,EAAE;EAE7C,CAAA,CAAA,CAAA;EAGR,MAAMI,gBAAgB,IAAIhB,0BAAAA;EAC1B,KAAKK,MAAM,SAAS,EAAEC,UAAU,KAAK,GAAGb,gBACpCG,EACKY,MAAMZ,EAAEa,IAAG,CAAA,CAAA,CACXC,MAAM,OAAOC,QAAAA;GACV,IAAI;IACA,KAAK,IAAIC,IAAI,GAAGA,IAAID,IAAIE,MAAMC,QAAQF,KAClC,MAAMI,cAAcD,IAAIJ,IAAIE,MAAMD,EAAE;GAE5C,SAASK,GAAG;IACR,IAAItB,eAAesB,CAAAA,GACfN,IAAIO,OAAOC,KAAI,GAAI3B,uBAAuByB,CAAAA,CAAAA;GAElD;EACJ,CAAA,CAAA,CAAA;EAGR,MAAMG,iBAAiB,IAAInB,2BAAAA;EAC3B,KAAKI,MAAM,UAAU,EAAEC,UAAU,KAAK,GAAGb,gBACrCG,EACKY,MAAMZ,EAAEa,IAAG,CAAA,CAAA,CACXC,MAAM,OAAOC,QAAAA;GACV,IAAI;IACA,KAAK,IAAIC,IAAI,GAAGA,IAAID,IAAIE,MAAMC,QAAQF,KAClC,MAAMQ,eAAeL,IAAIJ,IAAIE,MAAMD,EAAE;GAE7C,SAASK,GAAG;IACR,IAAItB,eAAesB,CAAAA,GACfN,IAAIO,OAAOC,KAAI,GAAI3B,uBAAuByB,CAAAA,CAAAA;GAElD;EACJ,CAAA,CAAA,CAAA;EAGR,MAAMI,sBAAsB,IAAIvB,gCAAAA;EAChC,KAAKO,MAAM,eAAe,EAAEC,UAAU,KAAK,GAAGb,gBAC1CG,EACKY,MAAMZ,EAAEa,IAAG,CAAA,CAAA,CACXC,MAAM,OAAOC,QAAAA;GACV,IAAI;IACA,KAAK,IAAIC,IAAI,GAAGA,IAAID,IAAIE,MAAMC,QAAQF,KAClC,MAAMS,oBAAoBN,IAAIJ,IAAIE,MAAMD,EAAE;GAElD,SAASK,GAAG;IACR,IAAItB,eAAesB,CAAAA,GACfN,IAAIO,OAAOC,KAAI,GAAI3B,uBAAuByB,CAAAA,CAAAA;GAElD;EACJ,CAAA,CAAA,CAAA;CAEZ;AACJ"}
1
+ {"version":3,"file":"validator.mjs","names":["createValidator","Container","z","ProvisioningStrategyValidator","PermissionProvisioningValidator","PolicyProvisioningValidator","RealmProvisioningValidator","RoleProvisioningValidator","ScopeProvisioningValidator","createProvisioningEntitiesValidator","RootProvisioningValidator","initialize","strategyValidator","mount","optional","policyValidator","array","any","check","realmValidator","roleValidator","scopeValidator","permissionValidator"],"sources":["../../../../../src/core/provisioning/entities/root/validator.ts"],"sourcesContent":["/*\n * Copyright (c) 2026.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { createValidator } from '@validup/zod';\nimport { Container } from 'validup';\nimport { z } from 'zod';\nimport { ProvisioningStrategyValidator } from '../../strategy/index.ts';\nimport { PermissionProvisioningValidator } from '../permission/index.ts';\nimport { PolicyProvisioningValidator } from '../policy/index.ts';\nimport { RealmProvisioningValidator } from '../realm/index.ts';\nimport { RoleProvisioningValidator } from '../role/index.ts';\nimport { ScopeProvisioningValidator } from '../scope/index.ts';\nimport { createProvisioningEntitiesValidator } from '../utils.ts';\n\nimport type { RootProvisioningEntity } from './types.ts';\n\nexport class RootProvisioningValidator extends Container<RootProvisioningEntity> {\n protected initialize() {\n super.initialize();\n\n const strategyValidator = new ProvisioningStrategyValidator();\n this.mount('strategy', { optional: true }, strategyValidator);\n\n const policyValidator = new PolicyProvisioningValidator();\n this.mount('policies', { optional: true }, createValidator(\n z\n .array(z.any())\n .check(createProvisioningEntitiesValidator(policyValidator)),\n ));\n\n const realmValidator = new RealmProvisioningValidator();\n this.mount('realms', { optional: true }, createValidator(\n z\n .array(z.any())\n .check(createProvisioningEntitiesValidator(realmValidator)),\n ));\n\n const roleValidator = new RoleProvisioningValidator();\n this.mount('roles', { optional: true }, createValidator(\n z\n .array(z.any())\n .check(createProvisioningEntitiesValidator(roleValidator)),\n ));\n\n const scopeValidator = new ScopeProvisioningValidator();\n this.mount('scopes', { optional: true }, createValidator(\n z\n .array(z.any())\n .check(createProvisioningEntitiesValidator(scopeValidator)),\n ));\n\n const permissionValidator = new PermissionProvisioningValidator();\n this.mount('permissions', { optional: true }, createValidator(\n z\n .array(z.any())\n .check(createProvisioningEntitiesValidator(permissionValidator)),\n ));\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAoBA,IAAaU,4BAAb,cAA+CT,UAAAA;CACjCU,aAAa;EACnB,MAAMA,WAAAA;EAEN,MAAMC,oBAAoB,IAAIT,8BAAAA;EAC9B,KAAKU,MAAM,YAAY,EAAEC,UAAU,KAAK,GAAGF,iBAAAA;EAE3C,MAAMG,kBAAkB,IAAIV,4BAAAA;EAC5B,KAAKQ,MAAM,YAAY,EAAEC,UAAU,KAAK,GAAGd,gBACvCE,EACKc,MAAMd,EAAEe,IAAG,CAAA,CAAA,CACXC,MAAMT,oCAAoCM,eAAAA,CAAAA,CAAAA,CAAAA;EAGnD,MAAMI,iBAAiB,IAAIb,2BAAAA;EAC3B,KAAKO,MAAM,UAAU,EAAEC,UAAU,KAAK,GAAGd,gBACrCE,EACKc,MAAMd,EAAEe,IAAG,CAAA,CAAA,CACXC,MAAMT,oCAAoCU,cAAAA,CAAAA,CAAAA,CAAAA;EAGnD,MAAMC,gBAAgB,IAAIb,0BAAAA;EAC1B,KAAKM,MAAM,SAAS,EAAEC,UAAU,KAAK,GAAGd,gBACpCE,EACKc,MAAMd,EAAEe,IAAG,CAAA,CAAA,CACXC,MAAMT,oCAAoCW,aAAAA,CAAAA,CAAAA,CAAAA;EAGnD,MAAMC,iBAAiB,IAAIb,2BAAAA;EAC3B,KAAKK,MAAM,UAAU,EAAEC,UAAU,KAAK,GAAGd,gBACrCE,EACKc,MAAMd,EAAEe,IAAG,CAAA,CAAA,CACXC,MAAMT,oCAAoCY,cAAAA,CAAAA,CAAAA,CAAAA;EAGnD,MAAMC,sBAAsB,IAAIlB,gCAAAA;EAChC,KAAKS,MAAM,eAAe,EAAEC,UAAU,KAAK,GAAGd,gBAC1CE,EACKc,MAAMd,EAAEe,IAAG,CAAA,CAAA,CACXC,MAAMT,oCAAoCa,mBAAAA,CAAAA,CAAAA,CAAAA;CAEvD;AACJ"}
@@ -0,0 +1,10 @@
1
+ import type { ParsePayload } from 'zod/v4/core';
2
+ import type { Container } from 'validup';
3
+ /**
4
+ * Run a provisioning entity validator over every array element with the
5
+ * PROVISIONING group (zod check closures do not inherit the validup run
6
+ * group) and write the validated output back, so validator transforms
7
+ * (canonicalization, stripping) reach the synchronizers.
8
+ */
9
+ export declare function createProvisioningEntitiesValidator(validator: Container<any>): (ctx: ParsePayload<any[]>) => Promise<void>;
10
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/core/provisioning/entities/utils.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAGzC;;;;;GAKG;AACH,wBAAgB,mCAAmC,CAC/C,SAAS,EAAE,SAAS,CAAC,GAAG,CAAC,GAC1B,CAAC,GAAG,EAAE,YAAY,CAAC,GAAG,EAAE,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAiB7C"}
@@ -0,0 +1,29 @@
1
+ import "node:path";
2
+ import "node:url";
3
+ import.meta.url;
4
+ import { ValidatorGroup } from "@authup/kit";
5
+ import { isValidupError } from "validup";
6
+ import { buildZodIssuesForError } from "@validup/zod";
7
+ //#region src/core/provisioning/entities/utils.ts
8
+ /**
9
+ * Run a provisioning entity validator over every array element with the
10
+ * PROVISIONING group (zod check closures do not inherit the validup run
11
+ * group) and write the validated output back, so validator transforms
12
+ * (canonicalization, stripping) reach the synchronizers.
13
+ */ function createProvisioningEntitiesValidator(validator) {
14
+ return async (ctx) => {
15
+ for (let i = 0; i < ctx.value.length; i++) try {
16
+ ctx.value[i] = await validator.run(ctx.value[i], { group: ValidatorGroup.PROVISIONING });
17
+ } catch (e) {
18
+ if (!isValidupError(e)) throw e;
19
+ ctx.issues.push(...buildZodIssuesForError(e).map((issue) => ({
20
+ ...issue,
21
+ path: [i, ...issue.path ?? []]
22
+ })));
23
+ }
24
+ };
25
+ }
26
+ //#endregion
27
+ export { createProvisioningEntitiesValidator };
28
+
29
+ //# sourceMappingURL=utils.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.mjs","names":["ValidatorGroup","buildZodIssuesForError","isValidupError","createProvisioningEntitiesValidator","validator","ctx","i","value","length","run","group","PROVISIONING","e","issues","push","map","issue","path"],"sources":["../../../../src/core/provisioning/entities/utils.ts"],"sourcesContent":["/*\n * Copyright (c) 2026.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { ValidatorGroup } from '@authup/kit';\nimport { buildZodIssuesForError } from '@validup/zod';\nimport type { ParsePayload } from 'zod/v4/core';\nimport type { Container } from 'validup';\nimport { isValidupError } from 'validup';\n\n/**\n * Run a provisioning entity validator over every array element with the\n * PROVISIONING group (zod check closures do not inherit the validup run\n * group) and write the validated output back, so validator transforms\n * (canonicalization, stripping) reach the synchronizers.\n */\nexport function createProvisioningEntitiesValidator(\n validator: Container<any>,\n): (ctx: ParsePayload<any[]>) => Promise<void> {\n return async (ctx) => {\n for (let i = 0; i < ctx.value.length; i++) {\n try {\n ctx.value[i] = await validator.run(ctx.value[i], { group: ValidatorGroup.PROVISIONING });\n } catch (e) {\n if (!isValidupError(e)) {\n throw e;\n }\n\n ctx.issues.push(...buildZodIssuesForError(e).map((issue) => ({\n ...issue,\n path: [i, ...(issue.path ?? [])],\n })));\n }\n }\n };\n}\n"],"mappings":";;;;;;;;;;;;GAmBA,SAAgBG,oCACZC,WAAyB;CAEzB,OAAO,OAAOC,QAAAA;EACV,KAAK,IAAIC,IAAI,GAAGA,IAAID,IAAIE,MAAMC,QAAQF,KAClC,IAAI;GACAD,IAAIE,MAAMD,KAAK,MAAMF,UAAUK,IAAIJ,IAAIE,MAAMD,IAAI,EAAEI,OAAOV,eAAeW,aAAa,CAAA;EAC1F,SAASC,GAAG;GACR,IAAI,CAACV,eAAeU,CAAAA,GAChB,MAAMA;GAGVP,IAAIQ,OAAOC,KAAI,GAAIb,uBAAuBW,CAAAA,CAAAA,CAAGG,KAAKC,WAAW;IACzD,GAAGA;IACHC,MAAM,CAACX,GAAAA,GAAOU,MAAMC,QAAQ,CAAA,CAAA;GAChC,EAAA,CAAA;EACJ;CAER;AACJ"}
@@ -5,9 +5,12 @@ import { ProvisioningEntityStrategyType } from "./strategy/constants.mjs";
5
5
  import { normalizeEntityProvisioningStrategy } from "./strategy/normalize.mjs";
6
6
  import { ProvisioningStrategyValidator } from "./strategy/validator.mjs";
7
7
  import "./strategy/index.mjs";
8
+ import { PermissionProvisioningRelationsValidator } from "./entities/permission/relations-validator.mjs";
8
9
  import { PermissionProvisioningValidator } from "./entities/permission/validator.mjs";
9
10
  import { RoleProvisioningValidator } from "./entities/role/validator.mjs";
11
+ import { createProvisioningEntitiesValidator } from "./entities/utils.mjs";
10
12
  import { ClientProvisioningValidator } from "./entities/client/validator.mjs";
13
+ import { PolicyProvisioningValidator } from "./entities/policy/validator.mjs";
11
14
  import { RobotProvisioningValidator } from "./entities/robot/validator.mjs";
12
15
  import { ScopeProvisioningValidator } from "./entities/scope/validator.mjs";
13
16
  import { UserProvisioningValidator } from "./entities/user/validator.mjs";
@@ -26,4 +29,4 @@ import { RobotProvisioningSynchronizer } from "./synchronizer/robot/module.mjs";
26
29
  import { ScopeProvisioningSynchronizer } from "./synchronizer/scope/module.mjs";
27
30
  import { UserProvisioningSynchronizer } from "./synchronizer/user/module.mjs";
28
31
  import "./synchronizer/index.mjs";
29
- export { ClientProvisioningSynchronizer, ClientProvisioningValidator, GraphProvisioningSynchronizer, PermissionProvisioningSynchronizer, PermissionProvisioningValidator, PolicyProvisioningSynchronizer, ProvisioningEntityResolver, ProvisioningEntityStrategyType, ProvisioningJunctionSynchronizer, ProvisioningStrategyValidator, RealmProvisioningSynchronizer, RealmProvisioningValidator, RobotProvisioningSynchronizer, RobotProvisioningValidator, RoleProvisioningSynchronizer, RoleProvisioningValidator, RootProvisioningValidator, ScopeProvisioningSynchronizer, ScopeProvisioningValidator, UserProvisioningSynchronizer, UserProvisioningValidator, normalizeEntityProvisioningStrategy };
32
+ export { ClientProvisioningSynchronizer, ClientProvisioningValidator, GraphProvisioningSynchronizer, PermissionProvisioningRelationsValidator, PermissionProvisioningSynchronizer, PermissionProvisioningValidator, PolicyProvisioningSynchronizer, PolicyProvisioningValidator, ProvisioningEntityResolver, ProvisioningEntityStrategyType, ProvisioningJunctionSynchronizer, ProvisioningStrategyValidator, RealmProvisioningSynchronizer, RealmProvisioningValidator, RobotProvisioningSynchronizer, RobotProvisioningValidator, RoleProvisioningSynchronizer, RoleProvisioningValidator, RootProvisioningValidator, ScopeProvisioningSynchronizer, ScopeProvisioningValidator, UserProvisioningSynchronizer, UserProvisioningValidator, createProvisioningEntitiesValidator, normalizeEntityProvisioningStrategy };
@@ -1 +1 @@
1
- {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../src/core/provisioning/synchronizer/base.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAE7D,8BAAsB,4BAA4B,CAAC,CAAC,CAAE,YAAW,yBAAyB,CAAC,CAAC,CAAC;IAGnF,eAAe,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAQ/C,QAAQ,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAM1C,SAAS,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,SAAS,GAAG,IAAI;CAKrF"}
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../src/core/provisioning/synchronizer/base.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAE7D,8BAAsB,4BAA4B,CAAC,CAAC,CAAE,YAAW,yBAAyB,CAAC,CAAC,CAAC;IAGnF,eAAe,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAQ/C,QAAQ,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAO1C,SAAS,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,SAAS,GAAG,IAAI;CAKrF"}
@@ -1 +1 @@
1
- {"version":3,"file":"base.mjs","names":["BaseProvisioningSynchronizer","synchronizeMany","input","output","entity","push","synchronize","canonicalizeName","attributes","name","trim","toLowerCase"],"sources":["../../../../src/core/provisioning/synchronizer/base.ts"],"sourcesContent":["/*\n * Copyright (c) 2026.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { IProvisioningSynchronizer } from '../types.ts';\n\nexport abstract class BaseProvisioningSynchronizer<T> implements IProvisioningSynchronizer<T> {\n // Sequential to avoid race conditions on concurrent upserts.\n // Can be switched to Promise.all() if callers guarantee unique inputs.\n async synchronizeMany(input: T[]): Promise<T[]> {\n const output: T[] = [];\n for (const entity of input) {\n output.push(await this.synchronize(entity));\n }\n return output;\n }\n\n abstract synchronize(input: T): Promise<T>;\n\n // canonical identifier form: provisioning sources may carry raw names\n // (the file-source entity validators run group-less, so the validator\n // transforms don't apply); lookups against canonically stored rows\n // and canonical persistence both require it.\n protected canonicalizeName(attributes: { name?: string | null } | undefined): void {\n if (attributes && typeof attributes.name === 'string') {\n attributes.name = attributes.name.trim().toLowerCase();\n }\n }\n}\n"],"mappings":";;;;AASA,IAAsBA,+BAAtB,MAAsBA;CAGlB,MAAMC,gBAAgBC,OAA0B;EAC5C,MAAMC,SAAc,CAAA;EACpB,KAAK,MAAMC,UAAUF,OACjBC,OAAOE,KAAK,MAAM,KAAKC,YAAYF,MAAAA,CAAAA;EAEvC,OAAOD;CACX;CAQUI,iBAAiBC,YAAwD;EAC/E,IAAIA,cAAc,OAAOA,WAAWC,SAAS,UACzCD,WAAWC,OAAOD,WAAWC,KAAKC,KAAI,CAAA,CAAGC,YAAW;CAE5D;AACJ"}
1
+ {"version":3,"file":"base.mjs","names":["BaseProvisioningSynchronizer","synchronizeMany","input","output","entity","push","synchronize","canonicalizeName","attributes","name","trim","toLowerCase"],"sources":["../../../../src/core/provisioning/synchronizer/base.ts"],"sourcesContent":["/*\n * Copyright (c) 2026.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { IProvisioningSynchronizer } from '../types.ts';\n\nexport abstract class BaseProvisioningSynchronizer<T> implements IProvisioningSynchronizer<T> {\n // Sequential to avoid race conditions on concurrent upserts.\n // Can be switched to Promise.all() if callers guarantee unique inputs.\n async synchronizeMany(input: T[]): Promise<T[]> {\n const output: T[] = [];\n for (const entity of input) {\n output.push(await this.synchronize(entity));\n }\n return output;\n }\n\n abstract synchronize(input: T): Promise<T>;\n\n // canonical identifier form: provisioning sources may carry raw names.\n // The file source validates (and canonicalizes) with the PROVISIONING\n // group, but the default source and programmatic sources bypass that\n // validation entirely defense in depth for lookups against canonically\n // stored rows and canonical persistence.\n protected canonicalizeName(attributes: { name?: string | null } | undefined): void {\n if (attributes && typeof attributes.name === 'string') {\n attributes.name = attributes.name.trim().toLowerCase();\n }\n }\n}\n"],"mappings":";;;;AASA,IAAsBA,+BAAtB,MAAsBA;CAGlB,MAAMC,gBAAgBC,OAA0B;EAC5C,MAAMC,SAAc,CAAA;EACpB,KAAK,MAAMC,UAAUF,OACjBC,OAAOE,KAAK,MAAM,KAAKC,YAAYF,MAAAA,CAAAA;EAEvC,OAAOD;CACX;CASUI,iBAAiBC,YAAwD;EAC/E,IAAIA,cAAc,OAAOA,WAAWC,SAAS,UACzCD,WAAWC,OAAOD,WAAWC,KAAKC,KAAI,CAAA,CAAGC,YAAW;CAE5D;AACJ"}