@authup/server-core 1.0.0-beta.53 → 1.0.0-beta.54

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 (1152) 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 +0 -13
  3. package/dist/adapters/database/data-source/options/module.mjs.map +1 -1
  4. package/dist/adapters/database/domains/client/entity.d.ts +16 -16
  5. package/dist/adapters/database/domains/client/entity.d.ts.map +1 -1
  6. package/dist/adapters/database/domains/client/entity.mjs +52 -34
  7. package/dist/adapters/database/domains/client/entity.mjs.map +1 -1
  8. package/dist/adapters/database/domains/client/subscriber.mjs +1 -1
  9. package/dist/adapters/database/domains/client/subscriber.mjs.map +1 -1
  10. package/dist/adapters/database/domains/client-permission/entity.d.ts +10 -10
  11. package/dist/adapters/database/domains/client-permission/entity.d.ts.map +1 -1
  12. package/dist/adapters/database/domains/client-permission/entity.mjs +40 -21
  13. package/dist/adapters/database/domains/client-permission/entity.mjs.map +1 -1
  14. package/dist/adapters/database/domains/client-permission/subscriber.mjs +2 -2
  15. package/dist/adapters/database/domains/client-permission/subscriber.mjs.map +1 -1
  16. package/dist/adapters/database/domains/client-role/entity.d.ts +8 -8
  17. package/dist/adapters/database/domains/client-role/entity.d.ts.map +1 -1
  18. package/dist/adapters/database/domains/client-role/entity.mjs +29 -17
  19. package/dist/adapters/database/domains/client-role/entity.mjs.map +1 -1
  20. package/dist/adapters/database/domains/client-role/subscriber.mjs +2 -2
  21. package/dist/adapters/database/domains/client-role/subscriber.mjs.map +1 -1
  22. package/dist/adapters/database/domains/client-scope/entity.d.ts +8 -8
  23. package/dist/adapters/database/domains/client-scope/entity.d.ts.map +1 -1
  24. package/dist/adapters/database/domains/client-scope/entity.mjs +29 -17
  25. package/dist/adapters/database/domains/client-scope/entity.mjs.map +1 -1
  26. package/dist/adapters/database/domains/consent/entity.d.ts +7 -7
  27. package/dist/adapters/database/domains/consent/entity.d.ts.map +1 -1
  28. package/dist/adapters/database/domains/consent/entity.mjs +33 -18
  29. package/dist/adapters/database/domains/consent/entity.mjs.map +1 -1
  30. package/dist/adapters/database/domains/consent/subscriber.mjs +2 -2
  31. package/dist/adapters/database/domains/consent/subscriber.mjs.map +1 -1
  32. package/dist/adapters/database/domains/constants.d.ts +0 -3
  33. package/dist/adapters/database/domains/constants.d.ts.map +1 -1
  34. package/dist/adapters/database/domains/constants.mjs +0 -3
  35. package/dist/adapters/database/domains/constants.mjs.map +1 -1
  36. package/dist/adapters/database/domains/event/entity.d.ts +13 -13
  37. package/dist/adapters/database/domains/event/entity.d.ts.map +1 -1
  38. package/dist/adapters/database/domains/event/entity.mjs +43 -28
  39. package/dist/adapters/database/domains/event/entity.mjs.map +1 -1
  40. package/dist/adapters/database/domains/identity-provider/entity.d.ts +4 -4
  41. package/dist/adapters/database/domains/identity-provider/entity.d.ts.map +1 -1
  42. package/dist/adapters/database/domains/identity-provider/entity.mjs +17 -10
  43. package/dist/adapters/database/domains/identity-provider/entity.mjs.map +1 -1
  44. package/dist/adapters/database/domains/identity-provider/repository.mjs +3 -3
  45. package/dist/adapters/database/domains/identity-provider/repository.mjs.map +1 -1
  46. package/dist/adapters/database/domains/identity-provider/subscriber.mjs +1 -1
  47. package/dist/adapters/database/domains/identity-provider/subscriber.mjs.map +1 -1
  48. package/dist/adapters/database/domains/identity-provider-account/entity.d.ts +15 -15
  49. package/dist/adapters/database/domains/identity-provider-account/entity.d.ts.map +1 -1
  50. package/dist/adapters/database/domains/identity-provider-account/entity.mjs +50 -31
  51. package/dist/adapters/database/domains/identity-provider-account/entity.mjs.map +1 -1
  52. package/dist/adapters/database/domains/identity-provider-attribute/entity.d.ts +4 -4
  53. package/dist/adapters/database/domains/identity-provider-attribute/entity.d.ts.map +1 -1
  54. package/dist/adapters/database/domains/identity-provider-attribute/entity.mjs +18 -9
  55. package/dist/adapters/database/domains/identity-provider-attribute/entity.mjs.map +1 -1
  56. package/dist/adapters/database/domains/identity-provider-attribute-mapping/entity.d.ts +9 -9
  57. package/dist/adapters/database/domains/identity-provider-attribute-mapping/entity.d.ts.map +1 -1
  58. package/dist/adapters/database/domains/identity-provider-attribute-mapping/entity.mjs +29 -19
  59. package/dist/adapters/database/domains/identity-provider-attribute-mapping/entity.mjs.map +1 -1
  60. package/dist/adapters/database/domains/identity-provider-permission-mapping/entity.d.ts +10 -10
  61. package/dist/adapters/database/domains/identity-provider-permission-mapping/entity.d.ts.map +1 -1
  62. package/dist/adapters/database/domains/identity-provider-permission-mapping/entity.mjs +32 -21
  63. package/dist/adapters/database/domains/identity-provider-permission-mapping/entity.mjs.map +1 -1
  64. package/dist/adapters/database/domains/identity-provider-role-mapping/entity.d.ts +10 -10
  65. package/dist/adapters/database/domains/identity-provider-role-mapping/entity.d.ts.map +1 -1
  66. package/dist/adapters/database/domains/identity-provider-role-mapping/entity.mjs +32 -21
  67. package/dist/adapters/database/domains/identity-provider-role-mapping/entity.mjs.map +1 -1
  68. package/dist/adapters/database/domains/identity-provider-role-mapping/subscriber.mjs +1 -1
  69. package/dist/adapters/database/domains/identity-provider-role-mapping/subscriber.mjs.map +1 -1
  70. package/dist/adapters/database/domains/index.d.ts +0 -3
  71. package/dist/adapters/database/domains/index.d.ts.map +1 -1
  72. package/dist/adapters/database/domains/index.mjs +1 -10
  73. package/dist/adapters/database/domains/key/entity.d.ts +6 -6
  74. package/dist/adapters/database/domains/key/entity.d.ts.map +1 -1
  75. package/dist/adapters/database/domains/key/entity.mjs +24 -14
  76. package/dist/adapters/database/domains/key/entity.mjs.map +1 -1
  77. package/dist/adapters/database/domains/permission/entity.d.ts +7 -7
  78. package/dist/adapters/database/domains/permission/entity.d.ts.map +1 -1
  79. package/dist/adapters/database/domains/permission/entity.mjs +33 -18
  80. package/dist/adapters/database/domains/permission/entity.mjs.map +1 -1
  81. package/dist/adapters/database/domains/permission/subscriber.mjs +2 -2
  82. package/dist/adapters/database/domains/permission/subscriber.mjs.map +1 -1
  83. package/dist/adapters/database/domains/permission-policy/entity.d.ts +8 -8
  84. package/dist/adapters/database/domains/permission-policy/entity.d.ts.map +1 -1
  85. package/dist/adapters/database/domains/permission-policy/entity.mjs +29 -17
  86. package/dist/adapters/database/domains/permission-policy/entity.mjs.map +1 -1
  87. package/dist/adapters/database/domains/policy/entity.d.ts +6 -6
  88. package/dist/adapters/database/domains/policy/entity.d.ts.map +1 -1
  89. package/dist/adapters/database/domains/policy/entity.mjs +28 -14
  90. package/dist/adapters/database/domains/policy/entity.mjs.map +1 -1
  91. package/dist/adapters/database/domains/policy/repository.mjs +3 -3
  92. package/dist/adapters/database/domains/policy/repository.mjs.map +1 -1
  93. package/dist/adapters/database/domains/policy-attribute/entity.d.ts +4 -4
  94. package/dist/adapters/database/domains/policy-attribute/entity.d.ts.map +1 -1
  95. package/dist/adapters/database/domains/policy-attribute/entity.mjs +18 -9
  96. package/dist/adapters/database/domains/policy-attribute/entity.mjs.map +1 -1
  97. package/dist/adapters/database/domains/policy-attribute/subscriber.mjs +2 -2
  98. package/dist/adapters/database/domains/policy-attribute/subscriber.mjs.map +1 -1
  99. package/dist/adapters/database/domains/realm/entity.d.ts +4 -4
  100. package/dist/adapters/database/domains/realm/entity.d.ts.map +1 -1
  101. package/dist/adapters/database/domains/realm/entity.mjs +16 -8
  102. package/dist/adapters/database/domains/realm/entity.mjs.map +1 -1
  103. package/dist/adapters/database/domains/role/entity.d.ts +6 -6
  104. package/dist/adapters/database/domains/role/entity.d.ts.map +1 -1
  105. package/dist/adapters/database/domains/role/entity.mjs +30 -16
  106. package/dist/adapters/database/domains/role/entity.mjs.map +1 -1
  107. package/dist/adapters/database/domains/role/repository.mjs +3 -3
  108. package/dist/adapters/database/domains/role/repository.mjs.map +1 -1
  109. package/dist/adapters/database/domains/role/subscriber.mjs +1 -1
  110. package/dist/adapters/database/domains/role/subscriber.mjs.map +1 -1
  111. package/dist/adapters/database/domains/role-attribute/entity.d.ts +4 -4
  112. package/dist/adapters/database/domains/role-attribute/entity.d.ts.map +1 -1
  113. package/dist/adapters/database/domains/role-attribute/entity.mjs +18 -9
  114. package/dist/adapters/database/domains/role-attribute/entity.mjs.map +1 -1
  115. package/dist/adapters/database/domains/role-attribute/subscriber.mjs +2 -2
  116. package/dist/adapters/database/domains/role-attribute/subscriber.mjs.map +1 -1
  117. package/dist/adapters/database/domains/role-permission/entity.d.ts +10 -10
  118. package/dist/adapters/database/domains/role-permission/entity.d.ts.map +1 -1
  119. package/dist/adapters/database/domains/role-permission/entity.mjs +37 -21
  120. package/dist/adapters/database/domains/role-permission/entity.mjs.map +1 -1
  121. package/dist/adapters/database/domains/role-permission/subscriber.mjs +2 -2
  122. package/dist/adapters/database/domains/role-permission/subscriber.mjs.map +1 -1
  123. package/dist/adapters/database/domains/scope/entity.d.ts +5 -5
  124. package/dist/adapters/database/domains/scope/entity.d.ts.map +1 -1
  125. package/dist/adapters/database/domains/scope/entity.mjs +23 -12
  126. package/dist/adapters/database/domains/scope/entity.mjs.map +1 -1
  127. package/dist/adapters/database/domains/scope/subscriber.mjs +1 -1
  128. package/dist/adapters/database/domains/scope/subscriber.mjs.map +1 -1
  129. package/dist/adapters/database/domains/session/entity.d.ts +14 -17
  130. package/dist/adapters/database/domains/session/entity.d.ts.map +1 -1
  131. package/dist/adapters/database/domains/session/entity.mjs +42 -42
  132. package/dist/adapters/database/domains/session/entity.mjs.map +1 -1
  133. package/dist/adapters/database/domains/session-token/entity.d.ts +9 -9
  134. package/dist/adapters/database/domains/session-token/entity.d.ts.map +1 -1
  135. package/dist/adapters/database/domains/session-token/entity.mjs +32 -19
  136. package/dist/adapters/database/domains/session-token/entity.mjs.map +1 -1
  137. package/dist/adapters/database/domains/trust-anchor/entity.d.ts +3 -3
  138. package/dist/adapters/database/domains/trust-anchor/entity.d.ts.map +1 -1
  139. package/dist/adapters/database/domains/trust-anchor/entity.mjs +14 -8
  140. package/dist/adapters/database/domains/trust-anchor/entity.mjs.map +1 -1
  141. package/dist/adapters/database/domains/user/entity.d.ts +12 -12
  142. package/dist/adapters/database/domains/user/entity.d.ts.map +1 -1
  143. package/dist/adapters/database/domains/user/entity.mjs +42 -27
  144. package/dist/adapters/database/domains/user/entity.mjs.map +1 -1
  145. package/dist/adapters/database/domains/user/repository.mjs +3 -3
  146. package/dist/adapters/database/domains/user/repository.mjs.map +1 -1
  147. package/dist/adapters/database/domains/user/subscriber.mjs +1 -1
  148. package/dist/adapters/database/domains/user/subscriber.mjs.map +1 -1
  149. package/dist/adapters/database/domains/user-attribute/entity.d.ts +4 -4
  150. package/dist/adapters/database/domains/user-attribute/entity.d.ts.map +1 -1
  151. package/dist/adapters/database/domains/user-attribute/entity.mjs +15 -9
  152. package/dist/adapters/database/domains/user-attribute/entity.mjs.map +1 -1
  153. package/dist/adapters/database/domains/user-attribute/subscriber.mjs +2 -2
  154. package/dist/adapters/database/domains/user-attribute/subscriber.mjs.map +1 -1
  155. package/dist/adapters/database/domains/user-authenticator/entity.d.ts +5 -5
  156. package/dist/adapters/database/domains/user-authenticator/entity.d.ts.map +1 -1
  157. package/dist/adapters/database/domains/user-authenticator/entity.mjs +24 -11
  158. package/dist/adapters/database/domains/user-authenticator/entity.mjs.map +1 -1
  159. package/dist/adapters/database/domains/user-permission/entity.d.ts +10 -10
  160. package/dist/adapters/database/domains/user-permission/entity.d.ts.map +1 -1
  161. package/dist/adapters/database/domains/user-permission/entity.mjs +37 -21
  162. package/dist/adapters/database/domains/user-permission/entity.mjs.map +1 -1
  163. package/dist/adapters/database/domains/user-permission/subscriber.mjs +2 -2
  164. package/dist/adapters/database/domains/user-permission/subscriber.mjs.map +1 -1
  165. package/dist/adapters/database/domains/user-role/entity.d.ts +8 -8
  166. package/dist/adapters/database/domains/user-role/entity.d.ts.map +1 -1
  167. package/dist/adapters/database/domains/user-role/entity.mjs +29 -17
  168. package/dist/adapters/database/domains/user-role/entity.mjs.map +1 -1
  169. package/dist/adapters/database/domains/user-role/subscriber.mjs +2 -2
  170. package/dist/adapters/database/domains/user-role/subscriber.mjs.map +1 -1
  171. package/dist/adapters/database/helpers/is-supported.mjs +1 -1
  172. package/dist/adapters/database/helpers/is-supported.mjs.map +1 -1
  173. package/dist/adapters/database/index.mjs +1 -7
  174. package/dist/adapters/database/migrations/mysql/1784289540000-CamelCaseAttributes.d.ts +12 -0
  175. package/dist/adapters/database/migrations/mysql/1784289540000-CamelCaseAttributes.d.ts.map +1 -0
  176. package/dist/adapters/database/migrations/mysql/1784289540000-CamelCaseAttributes.mjs +42 -0
  177. package/dist/adapters/database/migrations/mysql/1784289540000-CamelCaseAttributes.mjs.map +1 -0
  178. package/dist/adapters/database/migrations/mysql/1784460916000-RemoveRobots.d.ts +18 -0
  179. package/dist/adapters/database/migrations/mysql/1784460916000-RemoveRobots.d.ts.map +1 -0
  180. package/dist/adapters/database/migrations/mysql/1784460916000-RemoveRobots.mjs +161 -0
  181. package/dist/adapters/database/migrations/mysql/1784460916000-RemoveRobots.mjs.map +1 -0
  182. package/dist/adapters/database/migrations/postgres/1784289540000-CamelCaseAttributes.d.ts +12 -0
  183. package/dist/adapters/database/migrations/postgres/1784289540000-CamelCaseAttributes.d.ts.map +1 -0
  184. package/dist/adapters/database/migrations/postgres/1784289540000-CamelCaseAttributes.mjs +42 -0
  185. package/dist/adapters/database/migrations/postgres/1784289540000-CamelCaseAttributes.mjs.map +1 -0
  186. package/dist/adapters/database/migrations/postgres/1784460916000-RemoveRobots.d.ts +18 -0
  187. package/dist/adapters/database/migrations/postgres/1784460916000-RemoveRobots.d.ts.map +1 -0
  188. package/dist/adapters/database/migrations/postgres/1784460916000-RemoveRobots.mjs +167 -0
  189. package/dist/adapters/database/migrations/postgres/1784460916000-RemoveRobots.mjs.map +1 -0
  190. package/dist/adapters/http/adapters/index.mjs +1 -2
  191. package/dist/adapters/http/adapters/oauth2/authorization/module.mjs +2 -2
  192. package/dist/adapters/http/adapters/oauth2/authorization/module.mjs.map +1 -1
  193. package/dist/adapters/http/adapters/oauth2/grant-types/authorize.mjs +3 -3
  194. package/dist/adapters/http/adapters/oauth2/grant-types/authorize.mjs.map +1 -1
  195. package/dist/adapters/http/adapters/oauth2/grant-types/client-credentials.mjs +1 -1
  196. package/dist/adapters/http/adapters/oauth2/grant-types/client-credentials.mjs.map +1 -1
  197. package/dist/adapters/http/adapters/oauth2/grant-types/index.d.ts +0 -1
  198. package/dist/adapters/http/adapters/oauth2/grant-types/index.d.ts.map +1 -1
  199. package/dist/adapters/http/adapters/oauth2/grant-types/index.mjs +1 -2
  200. package/dist/adapters/http/adapters/oauth2/grant-types/password.mjs +1 -1
  201. package/dist/adapters/http/adapters/oauth2/grant-types/password.mjs.map +1 -1
  202. package/dist/adapters/http/adapters/oauth2/grant-types/refresh_token.mjs +1 -1
  203. package/dist/adapters/http/adapters/oauth2/grant-types/refresh_token.mjs.map +1 -1
  204. package/dist/adapters/http/adapters/oauth2/grant-types/types.d.ts +1 -4
  205. package/dist/adapters/http/adapters/oauth2/grant-types/types.d.ts.map +1 -1
  206. package/dist/adapters/http/adapters/oauth2/grant-types/utils/guess.d.ts.map +1 -1
  207. package/dist/adapters/http/adapters/oauth2/grant-types/utils/guess.mjs +0 -3
  208. package/dist/adapters/http/adapters/oauth2/grant-types/utils/guess.mjs.map +1 -1
  209. package/dist/adapters/http/adapters/oauth2/index.mjs +1 -2
  210. package/dist/adapters/http/controllers/entities/client-permission/utils/validation.mjs +3 -3
  211. package/dist/adapters/http/controllers/entities/client-permission/utils/validation.mjs.map +1 -1
  212. package/dist/adapters/http/controllers/entities/client-role/utils/validation.mjs +2 -2
  213. package/dist/adapters/http/controllers/entities/client-role/utils/validation.mjs.map +1 -1
  214. package/dist/adapters/http/controllers/entities/client-scope/utils/validator.mjs +2 -2
  215. package/dist/adapters/http/controllers/entities/client-scope/utils/validator.mjs.map +1 -1
  216. package/dist/adapters/http/controllers/entities/identity-provider/module.d.ts.map +1 -1
  217. package/dist/adapters/http/controllers/entities/identity-provider/module.mjs +19 -13
  218. package/dist/adapters/http/controllers/entities/identity-provider/module.mjs.map +1 -1
  219. package/dist/adapters/http/controllers/entities/index.d.ts +0 -3
  220. package/dist/adapters/http/controllers/entities/index.d.ts.map +1 -1
  221. package/dist/adapters/http/controllers/entities/index.mjs +1 -9
  222. package/dist/adapters/http/controllers/entities/key/module.d.ts.map +1 -1
  223. package/dist/adapters/http/controllers/entities/key/module.mjs +1 -7
  224. package/dist/adapters/http/controllers/entities/key/module.mjs.map +1 -1
  225. package/dist/adapters/http/controllers/entities/policy/utils/validation.d.ts +1 -1
  226. package/dist/adapters/http/controllers/entities/policy/utils/validation.d.ts.map +1 -1
  227. package/dist/adapters/http/controllers/entities/policy/utils/validation.mjs +3 -3
  228. package/dist/adapters/http/controllers/entities/policy/utils/validation.mjs.map +1 -1
  229. package/dist/adapters/http/controllers/entities/role-attribute/utils/validation.mjs +1 -1
  230. package/dist/adapters/http/controllers/entities/role-attribute/utils/validation.mjs.map +1 -1
  231. package/dist/adapters/http/controllers/entities/role-permission/utils/validation.mjs +3 -3
  232. package/dist/adapters/http/controllers/entities/role-permission/utils/validation.mjs.map +1 -1
  233. package/dist/adapters/http/controllers/entities/session/module.mjs.map +1 -1
  234. package/dist/adapters/http/controllers/entities/trust-anchor/module.d.ts.map +1 -1
  235. package/dist/adapters/http/controllers/entities/trust-anchor/module.mjs +1 -7
  236. package/dist/adapters/http/controllers/entities/trust-anchor/module.mjs.map +1 -1
  237. package/dist/adapters/http/controllers/entities/user-attribute/utils/validation.mjs +1 -1
  238. package/dist/adapters/http/controllers/entities/user-attribute/utils/validation.mjs.map +1 -1
  239. package/dist/adapters/http/controllers/entities/user-authenticator/module.mjs +1 -1
  240. package/dist/adapters/http/controllers/entities/user-authenticator/module.mjs.map +1 -1
  241. package/dist/adapters/http/controllers/entities/user-permission/utils/validation.mjs +3 -3
  242. package/dist/adapters/http/controllers/entities/user-permission/utils/validation.mjs.map +1 -1
  243. package/dist/adapters/http/controllers/entities/user-role/utils/validation.mjs +2 -2
  244. package/dist/adapters/http/controllers/entities/user-role/utils/validation.mjs.map +1 -1
  245. package/dist/adapters/http/controllers/index.mjs +1 -6
  246. package/dist/adapters/http/controllers/workflows/authorize/module.mjs +4 -4
  247. package/dist/adapters/http/controllers/workflows/authorize/module.mjs.map +1 -1
  248. package/dist/adapters/http/controllers/workflows/jwks/handlers/read.mjs +10 -10
  249. package/dist/adapters/http/controllers/workflows/jwks/handlers/read.mjs.map +1 -1
  250. package/dist/adapters/http/controllers/workflows/jwks/module.mjs +9 -9
  251. package/dist/adapters/http/controllers/workflows/jwks/module.mjs.map +1 -1
  252. package/dist/adapters/http/controllers/workflows/status/module.mjs +2 -2
  253. package/dist/adapters/http/controllers/workflows/status/module.mjs.map +1 -1
  254. package/dist/adapters/http/controllers/workflows/token/module.d.ts.map +1 -1
  255. package/dist/adapters/http/controllers/workflows/token/module.mjs +2 -8
  256. package/dist/adapters/http/controllers/workflows/token/module.mjs.map +1 -1
  257. package/dist/adapters/http/controllers/workflows/token/types.d.ts +1 -2
  258. package/dist/adapters/http/controllers/workflows/token/types.d.ts.map +1 -1
  259. package/dist/adapters/http/index.mjs +1 -7
  260. package/dist/adapters/http/middleware/built-in/assets.mjs +2 -2
  261. package/dist/adapters/http/middleware/built-in/assets.mjs.map +1 -1
  262. package/dist/adapters/http/middleware/built-in/authorization/module.d.ts +1 -2
  263. package/dist/adapters/http/middleware/built-in/authorization/module.d.ts.map +1 -1
  264. package/dist/adapters/http/middleware/built-in/authorization/module.mjs +1 -15
  265. package/dist/adapters/http/middleware/built-in/authorization/module.mjs.map +1 -1
  266. package/dist/adapters/http/middleware/built-in/authorization/types.d.ts +0 -1
  267. package/dist/adapters/http/middleware/built-in/authorization/types.d.ts.map +1 -1
  268. package/dist/adapters/http/middleware/built-in/rate-limit.d.ts.map +1 -1
  269. package/dist/adapters/http/middleware/built-in/rate-limit.mjs +0 -1
  270. package/dist/adapters/http/middleware/built-in/rate-limit.mjs.map +1 -1
  271. package/dist/adapters/http/request/client-certificate.d.ts +1 -0
  272. package/dist/adapters/http/request/client-certificate.d.ts.map +1 -1
  273. package/dist/adapters/http/request/client-certificate.mjs +1 -0
  274. package/dist/adapters/http/request/client-certificate.mjs.map +1 -1
  275. package/dist/adapters/http/request/helpers/body-realm-id.mjs +1 -1
  276. package/dist/adapters/http/request/helpers/body-realm-id.mjs.map +1 -1
  277. package/dist/adapters/http/request/helpers/identity.d.ts +2 -2
  278. package/dist/adapters/http/request/helpers/identity.d.ts.map +1 -1
  279. package/dist/adapters/http/request/helpers/identity.mjs +2 -2
  280. package/dist/adapters/http/request/helpers/identity.mjs.map +1 -1
  281. package/dist/adapters/http/request/helpers/realm-id.mjs +1 -1
  282. package/dist/adapters/http/request/helpers/realm-id.mjs.map +1 -1
  283. package/dist/adapters/http/request/permission/module.d.ts +3 -2
  284. package/dist/adapters/http/request/permission/module.d.ts.map +1 -1
  285. package/dist/adapters/http/request/permission/module.mjs +3 -0
  286. package/dist/adapters/http/request/permission/module.mjs.map +1 -1
  287. package/dist/adapters/http/ui/render.mjs +2 -2
  288. package/dist/adapters/http/ui/render.mjs.map +1 -1
  289. package/dist/adapters/http/ui/serve.d.ts.map +1 -1
  290. package/dist/adapters/http/ui/serve.mjs +4 -1
  291. package/dist/adapters/http/ui/serve.mjs.map +1 -1
  292. package/dist/app/index.mjs +1 -5
  293. package/dist/app/modules/authentication/repositories/session.d.ts +3 -2
  294. package/dist/app/modules/authentication/repositories/session.d.ts.map +1 -1
  295. package/dist/app/modules/authentication/repositories/session.mjs +8 -40
  296. package/dist/app/modules/authentication/repositories/session.mjs.map +1 -1
  297. package/dist/app/modules/config/constants.d.ts +0 -4
  298. package/dist/app/modules/config/constants.d.ts.map +1 -1
  299. package/dist/app/modules/config/constants.mjs +0 -4
  300. package/dist/app/modules/config/constants.mjs.map +1 -1
  301. package/dist/app/modules/config/normalize.d.ts.map +1 -1
  302. package/dist/app/modules/config/normalize.mjs +0 -4
  303. package/dist/app/modules/config/normalize.mjs.map +1 -1
  304. package/dist/app/modules/config/read/env.d.ts.map +1 -1
  305. package/dist/app/modules/config/read/env.mjs +0 -8
  306. package/dist/app/modules/config/read/env.mjs.map +1 -1
  307. package/dist/app/modules/config/types.d.ts +0 -19
  308. package/dist/app/modules/config/types.d.ts.map +1 -1
  309. package/dist/app/modules/config/validator.d.ts.map +1 -1
  310. package/dist/app/modules/config/validator.mjs +0 -4
  311. package/dist/app/modules/config/validator.mjs.map +1 -1
  312. package/dist/app/modules/database/index.mjs +1 -4
  313. package/dist/app/modules/database/module.d.ts.map +1 -1
  314. package/dist/app/modules/database/module.mjs +2 -0
  315. package/dist/app/modules/database/module.mjs.map +1 -1
  316. package/dist/app/modules/database/repositories/bindings.d.ts +2 -2
  317. package/dist/app/modules/database/repositories/bindings.d.ts.map +1 -1
  318. package/dist/app/modules/database/repositories/bindings.mjs +3 -3
  319. package/dist/app/modules/database/repositories/bindings.mjs.map +1 -1
  320. package/dist/app/modules/database/repositories/client/repository.d.ts +3 -2
  321. package/dist/app/modules/database/repositories/client/repository.d.ts.map +1 -1
  322. package/dist/app/modules/database/repositories/client/repository.mjs +10 -82
  323. package/dist/app/modules/database/repositories/client/repository.mjs.map +1 -1
  324. package/dist/app/modules/database/repositories/client-permission/repository.d.ts +2 -1
  325. package/dist/app/modules/database/repositories/client-permission/repository.d.ts.map +1 -1
  326. package/dist/app/modules/database/repositories/client-permission/repository.mjs +3 -17
  327. package/dist/app/modules/database/repositories/client-permission/repository.mjs.map +1 -1
  328. package/dist/app/modules/database/repositories/client-role/repository.d.ts +2 -1
  329. package/dist/app/modules/database/repositories/client-role/repository.d.ts.map +1 -1
  330. package/dist/app/modules/database/repositories/client-role/repository.mjs +3 -17
  331. package/dist/app/modules/database/repositories/client-role/repository.mjs.map +1 -1
  332. package/dist/app/modules/database/repositories/client-scope/repository.d.ts +2 -1
  333. package/dist/app/modules/database/repositories/client-scope/repository.d.ts.map +1 -1
  334. package/dist/app/modules/database/repositories/client-scope/repository.mjs +3 -17
  335. package/dist/app/modules/database/repositories/client-scope/repository.mjs.map +1 -1
  336. package/dist/app/modules/database/repositories/event/repository.d.ts +2 -1
  337. package/dist/app/modules/database/repositories/event/repository.d.ts.map +1 -1
  338. package/dist/app/modules/database/repositories/event/repository.mjs +14 -53
  339. package/dist/app/modules/database/repositories/event/repository.mjs.map +1 -1
  340. package/dist/app/modules/database/repositories/helpers.d.ts +17 -3
  341. package/dist/app/modules/database/repositories/helpers.d.ts.map +1 -1
  342. package/dist/app/modules/database/repositories/helpers.mjs +40 -5
  343. package/dist/app/modules/database/repositories/helpers.mjs.map +1 -1
  344. package/dist/app/modules/database/repositories/identity-provider/repository.d.ts +2 -1
  345. package/dist/app/modules/database/repositories/identity-provider/repository.d.ts.map +1 -1
  346. package/dist/app/modules/database/repositories/identity-provider/repository.mjs +6 -37
  347. package/dist/app/modules/database/repositories/identity-provider/repository.mjs.map +1 -1
  348. package/dist/app/modules/database/repositories/identity-provider-role-mapping/repository.d.ts +2 -1
  349. package/dist/app/modules/database/repositories/identity-provider-role-mapping/repository.d.ts.map +1 -1
  350. package/dist/app/modules/database/repositories/identity-provider-role-mapping/repository.mjs +3 -17
  351. package/dist/app/modules/database/repositories/identity-provider-role-mapping/repository.mjs.map +1 -1
  352. package/dist/app/modules/database/repositories/index.d.ts +0 -3
  353. package/dist/app/modules/database/repositories/index.d.ts.map +1 -1
  354. package/dist/app/modules/database/repositories/index.mjs +1 -7
  355. package/dist/app/modules/database/repositories/key/repository.d.ts +3 -2
  356. package/dist/app/modules/database/repositories/key/repository.d.ts.map +1 -1
  357. package/dist/app/modules/database/repositories/key/repository.mjs +38 -72
  358. package/dist/app/modules/database/repositories/key/repository.mjs.map +1 -1
  359. package/dist/app/modules/database/repositories/permission/repository.d.ts +2 -1
  360. package/dist/app/modules/database/repositories/permission/repository.d.ts.map +1 -1
  361. package/dist/app/modules/database/repositories/permission/repository.mjs +5 -20
  362. package/dist/app/modules/database/repositories/permission/repository.mjs.map +1 -1
  363. package/dist/app/modules/database/repositories/permission-policy/repository.d.ts +2 -1
  364. package/dist/app/modules/database/repositories/permission-policy/repository.d.ts.map +1 -1
  365. package/dist/app/modules/database/repositories/permission-policy/repository.mjs +3 -17
  366. package/dist/app/modules/database/repositories/permission-policy/repository.mjs.map +1 -1
  367. package/dist/app/modules/database/repositories/permission-provider/module.mjs +6 -6
  368. package/dist/app/modules/database/repositories/permission-provider/module.mjs.map +1 -1
  369. package/dist/app/modules/database/repositories/policy/repository.d.ts +2 -1
  370. package/dist/app/modules/database/repositories/policy/repository.d.ts.map +1 -1
  371. package/dist/app/modules/database/repositories/policy/repository.mjs +5 -39
  372. package/dist/app/modules/database/repositories/policy/repository.mjs.map +1 -1
  373. package/dist/app/modules/database/repositories/query.d.ts +18 -0
  374. package/dist/app/modules/database/repositories/query.d.ts.map +1 -0
  375. package/dist/app/modules/database/repositories/query.mjs +29 -0
  376. package/dist/app/modules/database/repositories/query.mjs.map +1 -0
  377. package/dist/app/modules/database/repositories/realm/repository.d.ts +2 -1
  378. package/dist/app/modules/database/repositories/realm/repository.d.ts.map +1 -1
  379. package/dist/app/modules/database/repositories/realm/repository.mjs +3 -25
  380. package/dist/app/modules/database/repositories/realm/repository.mjs.map +1 -1
  381. package/dist/app/modules/database/repositories/role/repository.d.ts +2 -1
  382. package/dist/app/modules/database/repositories/role/repository.d.ts.map +1 -1
  383. package/dist/app/modules/database/repositories/role/repository.mjs +6 -30
  384. package/dist/app/modules/database/repositories/role/repository.mjs.map +1 -1
  385. package/dist/app/modules/database/repositories/role-attribute/repository.d.ts +2 -1
  386. package/dist/app/modules/database/repositories/role-attribute/repository.d.ts.map +1 -1
  387. package/dist/app/modules/database/repositories/role-attribute/repository.mjs +3 -19
  388. package/dist/app/modules/database/repositories/role-attribute/repository.mjs.map +1 -1
  389. package/dist/app/modules/database/repositories/role-permission/repository.d.ts +2 -1
  390. package/dist/app/modules/database/repositories/role-permission/repository.d.ts.map +1 -1
  391. package/dist/app/modules/database/repositories/role-permission/repository.mjs +3 -17
  392. package/dist/app/modules/database/repositories/role-permission/repository.mjs.map +1 -1
  393. package/dist/app/modules/database/repositories/schema-validation.d.ts +11 -0
  394. package/dist/app/modules/database/repositories/schema-validation.d.ts.map +1 -0
  395. package/dist/app/modules/database/repositories/schema-validation.mjs +77 -0
  396. package/dist/app/modules/database/repositories/schema-validation.mjs.map +1 -0
  397. package/dist/app/modules/database/repositories/scope/repository.d.ts +2 -1
  398. package/dist/app/modules/database/repositories/scope/repository.d.ts.map +1 -1
  399. package/dist/app/modules/database/repositories/scope/repository.mjs +5 -29
  400. package/dist/app/modules/database/repositories/scope/repository.mjs.map +1 -1
  401. package/dist/app/modules/database/repositories/trust-anchor/repository.d.ts +2 -1
  402. package/dist/app/modules/database/repositories/trust-anchor/repository.d.ts.map +1 -1
  403. package/dist/app/modules/database/repositories/trust-anchor/repository.mjs +5 -29
  404. package/dist/app/modules/database/repositories/trust-anchor/repository.mjs.map +1 -1
  405. package/dist/app/modules/database/repositories/user/repository.d.ts +3 -2
  406. package/dist/app/modules/database/repositories/user/repository.d.ts.map +1 -1
  407. package/dist/app/modules/database/repositories/user/repository.mjs +9 -66
  408. package/dist/app/modules/database/repositories/user/repository.mjs.map +1 -1
  409. package/dist/app/modules/database/repositories/user-attribute/repository.d.ts +2 -1
  410. package/dist/app/modules/database/repositories/user-attribute/repository.d.ts.map +1 -1
  411. package/dist/app/modules/database/repositories/user-attribute/repository.mjs +4 -20
  412. package/dist/app/modules/database/repositories/user-attribute/repository.mjs.map +1 -1
  413. package/dist/app/modules/database/repositories/user-authenticator/repository.d.ts +2 -1
  414. package/dist/app/modules/database/repositories/user-authenticator/repository.d.ts.map +1 -1
  415. package/dist/app/modules/database/repositories/user-authenticator/repository.mjs +8 -34
  416. package/dist/app/modules/database/repositories/user-authenticator/repository.mjs.map +1 -1
  417. package/dist/app/modules/database/repositories/user-permission/repository.d.ts +2 -1
  418. package/dist/app/modules/database/repositories/user-permission/repository.d.ts.map +1 -1
  419. package/dist/app/modules/database/repositories/user-permission/repository.mjs +3 -17
  420. package/dist/app/modules/database/repositories/user-permission/repository.mjs.map +1 -1
  421. package/dist/app/modules/database/repositories/user-role/repository.d.ts +2 -1
  422. package/dist/app/modules/database/repositories/user-role/repository.d.ts.map +1 -1
  423. package/dist/app/modules/database/repositories/user-role/repository.mjs +3 -17
  424. package/dist/app/modules/database/repositories/user-role/repository.mjs.map +1 -1
  425. package/dist/app/modules/http/modules/controller.d.ts +1 -4
  426. package/dist/app/modules/http/modules/controller.d.ts.map +1 -1
  427. package/dist/app/modules/http/modules/controller.mjs +0 -52
  428. package/dist/app/modules/http/modules/controller.mjs.map +1 -1
  429. package/dist/app/modules/http/modules/middleware.d.ts.map +1 -1
  430. package/dist/app/modules/http/modules/middleware.mjs +0 -1
  431. package/dist/app/modules/http/modules/middleware.mjs.map +1 -1
  432. package/dist/app/modules/identity/index.mjs +1 -2
  433. package/dist/app/modules/identity/module.d.ts.map +1 -1
  434. package/dist/app/modules/identity/module.mjs +1 -12
  435. package/dist/app/modules/identity/module.mjs.map +1 -1
  436. package/dist/app/modules/identity/repositories/client.mjs +2 -2
  437. package/dist/app/modules/identity/repositories/client.mjs.map +1 -1
  438. package/dist/app/modules/identity/repositories/index.d.ts +0 -1
  439. package/dist/app/modules/identity/repositories/index.d.ts.map +1 -1
  440. package/dist/app/modules/identity/repositories/index.mjs +1 -2
  441. package/dist/app/modules/identity/repositories/provider/account/module.mjs +3 -3
  442. package/dist/app/modules/identity/repositories/provider/account/module.mjs.map +1 -1
  443. package/dist/app/modules/identity/repositories/provider/mapper/attribute.mjs +1 -1
  444. package/dist/app/modules/identity/repositories/provider/mapper/attribute.mjs.map +1 -1
  445. package/dist/app/modules/identity/repositories/provider/mapper/permission.mjs +1 -1
  446. package/dist/app/modules/identity/repositories/provider/mapper/permission.mjs.map +1 -1
  447. package/dist/app/modules/identity/repositories/provider/mapper/role.mjs +1 -1
  448. package/dist/app/modules/identity/repositories/provider/mapper/role.mjs.map +1 -1
  449. package/dist/app/modules/identity/repositories/user.mjs +18 -18
  450. package/dist/app/modules/identity/repositories/user.mjs.map +1 -1
  451. package/dist/app/modules/index.mjs +1 -5
  452. package/dist/app/modules/oauth2/repositories/client/repository.mjs +1 -1
  453. package/dist/app/modules/oauth2/repositories/client/repository.mjs.map +1 -1
  454. package/dist/app/modules/oauth2/repositories/consent/repository.d.ts +2 -1
  455. package/dist/app/modules/oauth2/repositories/consent/repository.d.ts.map +1 -1
  456. package/dist/app/modules/oauth2/repositories/consent/repository.mjs +14 -38
  457. package/dist/app/modules/oauth2/repositories/consent/repository.mjs.map +1 -1
  458. package/dist/app/modules/oauth2/repositories/scope/repository.mjs +1 -1
  459. package/dist/app/modules/oauth2/repositories/scope/repository.mjs.map +1 -1
  460. package/dist/app/modules/oauth2/repositories/session-token/repository.mjs +21 -18
  461. package/dist/app/modules/oauth2/repositories/session-token/repository.mjs.map +1 -1
  462. package/dist/app/modules/provisioning/module.d.ts.map +1 -1
  463. package/dist/app/modules/provisioning/module.mjs +9 -24
  464. package/dist/app/modules/provisioning/module.mjs.map +1 -1
  465. package/dist/app/modules/provisioning/sources/composite/module.d.ts +17 -0
  466. package/dist/app/modules/provisioning/sources/composite/module.d.ts.map +1 -1
  467. package/dist/app/modules/provisioning/sources/composite/module.mjs +54 -2
  468. package/dist/app/modules/provisioning/sources/composite/module.mjs.map +1 -1
  469. package/dist/app/modules/provisioning/sources/default/module.d.ts.map +1 -1
  470. package/dist/app/modules/provisioning/sources/default/module.mjs +43 -78
  471. package/dist/app/modules/provisioning/sources/default/module.mjs.map +1 -1
  472. package/dist/app/modules/provisioning/sources/file/module.d.ts.map +1 -1
  473. package/dist/app/modules/provisioning/sources/file/module.mjs +4 -3
  474. package/dist/app/modules/provisioning/sources/file/module.mjs.map +1 -1
  475. package/dist/app/modules/provisioning/sources/file/types.d.ts +2 -0
  476. package/dist/app/modules/provisioning/sources/file/types.d.ts.map +1 -1
  477. package/dist/app/modules/provisioning/sources/index.mjs +1 -0
  478. package/dist/components/database/unique-entries/module.mjs +6 -6
  479. package/dist/components/database/unique-entries/module.mjs.map +1 -1
  480. package/dist/components/oauth2-cleaner/module.mjs +2 -2
  481. package/dist/components/oauth2-cleaner/module.mjs.map +1 -1
  482. package/dist/core/authentication/credential/entities/client/module.d.ts +1 -1
  483. package/dist/core/authentication/credential/entities/client/module.d.ts.map +1 -1
  484. package/dist/core/authentication/credential/entities/client/module.mjs +3 -3
  485. package/dist/core/authentication/credential/entities/client/module.mjs.map +1 -1
  486. package/dist/core/authentication/credential/entities/index.d.ts +0 -1
  487. package/dist/core/authentication/credential/entities/index.d.ts.map +1 -1
  488. package/dist/core/authentication/credential/entities/index.mjs +1 -3
  489. package/dist/core/authentication/credential/index.mjs +1 -2
  490. package/dist/core/authentication/entities/client/module.mjs +1 -1
  491. package/dist/core/authentication/entities/client/module.mjs.map +1 -1
  492. package/dist/core/authentication/entities/index.d.ts +0 -1
  493. package/dist/core/authentication/entities/index.d.ts.map +1 -1
  494. package/dist/core/authentication/entities/index.mjs +1 -3
  495. package/dist/core/authentication/index.mjs +1 -3
  496. package/dist/core/authentication/session/module.d.ts.map +1 -1
  497. package/dist/core/authentication/session/module.mjs +14 -17
  498. package/dist/core/authentication/session/module.mjs.map +1 -1
  499. package/dist/core/authentication/session/types.d.ts +7 -6
  500. package/dist/core/authentication/session/types.d.ts.map +1 -1
  501. package/dist/core/authentication/session/types.mjs +4 -5
  502. package/dist/core/authentication/session/types.mjs.map +1 -1
  503. package/dist/core/client-certificate/module.d.ts +2 -1
  504. package/dist/core/client-certificate/module.d.ts.map +1 -1
  505. package/dist/core/client-certificate/module.mjs +2 -1
  506. package/dist/core/client-certificate/module.mjs.map +1 -1
  507. package/dist/core/client-certificate/reflect.d.ts +2 -0
  508. package/dist/core/client-certificate/reflect.d.ts.map +1 -0
  509. package/dist/core/{identity/entities/robot/index.mjs → client-certificate/reflect.mjs} +1 -0
  510. package/dist/core/client-certificate/types.d.ts +1 -1
  511. package/dist/core/client-certificate/types.d.ts.map +1 -1
  512. package/dist/core/entities/client/index.d.ts +1 -0
  513. package/dist/core/entities/client/index.d.ts.map +1 -1
  514. package/dist/core/entities/client/index.mjs +2 -1
  515. package/dist/core/entities/client/schema.d.ts +3 -0
  516. package/dist/core/entities/client/schema.d.ts.map +1 -0
  517. package/dist/core/entities/client/schema.mjs +59 -0
  518. package/dist/core/entities/client/schema.mjs.map +1 -0
  519. package/dist/core/entities/client/service.d.ts.map +1 -1
  520. package/dist/core/entities/client/service.mjs +42 -19
  521. package/dist/core/entities/client/service.mjs.map +1 -1
  522. package/dist/core/entities/client/types.d.ts +2 -1
  523. package/dist/core/entities/client/types.d.ts.map +1 -1
  524. package/dist/core/entities/client/web-client.d.ts +4 -4
  525. package/dist/core/entities/client/web-client.mjs +13 -13
  526. package/dist/core/entities/client/web-client.mjs.map +1 -1
  527. package/dist/core/entities/client-permission/index.d.ts +1 -0
  528. package/dist/core/entities/client-permission/index.d.ts.map +1 -1
  529. package/dist/core/entities/client-permission/index.mjs +2 -1
  530. package/dist/core/entities/client-permission/schema.d.ts +3 -0
  531. package/dist/core/entities/client-permission/schema.d.ts.map +1 -0
  532. package/dist/core/entities/client-permission/schema.mjs +41 -0
  533. package/dist/core/entities/client-permission/schema.mjs.map +1 -0
  534. package/dist/core/entities/client-permission/service.d.ts +1 -1
  535. package/dist/core/entities/client-permission/service.d.ts.map +1 -1
  536. package/dist/core/entities/client-permission/service.mjs +24 -18
  537. package/dist/core/entities/client-permission/service.mjs.map +1 -1
  538. package/dist/core/entities/client-role/index.d.ts +1 -0
  539. package/dist/core/entities/client-role/index.d.ts.map +1 -1
  540. package/dist/core/entities/client-role/index.mjs +2 -1
  541. package/dist/core/entities/client-role/schema.d.ts +3 -0
  542. package/dist/core/entities/client-role/schema.d.ts.map +1 -0
  543. package/dist/core/entities/client-role/schema.mjs +39 -0
  544. package/dist/core/entities/client-role/schema.mjs.map +1 -0
  545. package/dist/core/entities/client-role/service.d.ts +1 -1
  546. package/dist/core/entities/client-role/service.d.ts.map +1 -1
  547. package/dist/core/entities/client-role/service.mjs +14 -8
  548. package/dist/core/entities/client-role/service.mjs.map +1 -1
  549. package/dist/core/entities/client-scope/index.d.ts +1 -0
  550. package/dist/core/entities/client-scope/index.d.ts.map +1 -1
  551. package/dist/core/entities/client-scope/index.mjs +2 -1
  552. package/dist/core/entities/client-scope/schema.d.ts +3 -0
  553. package/dist/core/entities/client-scope/schema.d.ts.map +1 -0
  554. package/dist/core/entities/client-scope/schema.mjs +37 -0
  555. package/dist/core/entities/client-scope/schema.mjs.map +1 -0
  556. package/dist/core/entities/client-scope/service.d.ts +1 -1
  557. package/dist/core/entities/client-scope/service.d.ts.map +1 -1
  558. package/dist/core/entities/client-scope/service.mjs +12 -6
  559. package/dist/core/entities/client-scope/service.mjs.map +1 -1
  560. package/dist/core/entities/consent/index.d.ts +1 -0
  561. package/dist/core/entities/consent/index.d.ts.map +1 -1
  562. package/dist/core/entities/consent/index.mjs +2 -1
  563. package/dist/core/entities/consent/schema.d.ts +3 -0
  564. package/dist/core/entities/consent/schema.d.ts.map +1 -0
  565. package/dist/core/entities/consent/schema.mjs +40 -0
  566. package/dist/core/entities/consent/schema.mjs.map +1 -0
  567. package/dist/core/entities/consent/service.d.ts.map +1 -1
  568. package/dist/core/entities/consent/service.mjs +22 -6
  569. package/dist/core/entities/consent/service.mjs.map +1 -1
  570. package/dist/core/entities/consent/types.d.ts +3 -2
  571. package/dist/core/entities/consent/types.d.ts.map +1 -1
  572. package/dist/core/entities/consent/types.mjs +3 -3
  573. package/dist/core/entities/consent/types.mjs.map +1 -1
  574. package/dist/core/entities/event/diff.d.ts +4 -4
  575. package/dist/core/entities/event/diff.mjs +5 -5
  576. package/dist/core/entities/event/diff.mjs.map +1 -1
  577. package/dist/core/entities/event/entity-event-handler.d.ts.map +1 -1
  578. package/dist/core/entities/event/entity-event-handler.mjs +29 -31
  579. package/dist/core/entities/event/entity-event-handler.mjs.map +1 -1
  580. package/dist/core/entities/event/index.d.ts +1 -0
  581. package/dist/core/entities/event/index.d.ts.map +1 -1
  582. package/dist/core/entities/event/index.mjs +2 -1
  583. package/dist/core/entities/event/sanitize.mjs +8 -8
  584. package/dist/core/entities/event/sanitize.mjs.map +1 -1
  585. package/dist/core/entities/event/schema.d.ts +3 -0
  586. package/dist/core/entities/event/schema.d.ts.map +1 -0
  587. package/dist/core/entities/event/schema.mjs +51 -0
  588. package/dist/core/entities/event/schema.mjs.map +1 -0
  589. package/dist/core/entities/event/service.d.ts.map +1 -1
  590. package/dist/core/entities/event/service.mjs +38 -22
  591. package/dist/core/entities/event/service.mjs.map +1 -1
  592. package/dist/core/entities/event/types.d.ts +6 -5
  593. package/dist/core/entities/event/types.d.ts.map +1 -1
  594. package/dist/core/entities/identity-provider/index.d.ts +1 -0
  595. package/dist/core/entities/identity-provider/index.d.ts.map +1 -1
  596. package/dist/core/entities/identity-provider/index.mjs +2 -1
  597. package/dist/core/entities/identity-provider/schema.d.ts +3 -0
  598. package/dist/core/entities/identity-provider/schema.d.ts.map +1 -0
  599. package/dist/core/entities/identity-provider/schema.mjs +43 -0
  600. package/dist/core/entities/identity-provider/schema.mjs.map +1 -0
  601. package/dist/core/entities/identity-provider-role-mapping/index.d.ts +1 -0
  602. package/dist/core/entities/identity-provider-role-mapping/index.d.ts.map +1 -1
  603. package/dist/core/entities/identity-provider-role-mapping/index.mjs +2 -1
  604. package/dist/core/entities/identity-provider-role-mapping/schema.d.ts +3 -0
  605. package/dist/core/entities/identity-provider-role-mapping/schema.d.ts.map +1 -0
  606. package/dist/core/entities/identity-provider-role-mapping/schema.mjs +43 -0
  607. package/dist/core/entities/identity-provider-role-mapping/schema.mjs.map +1 -0
  608. package/dist/core/entities/identity-provider-role-mapping/service.d.ts +1 -1
  609. package/dist/core/entities/identity-provider-role-mapping/service.d.ts.map +1 -1
  610. package/dist/core/entities/identity-provider-role-mapping/service.mjs +17 -11
  611. package/dist/core/entities/identity-provider-role-mapping/service.mjs.map +1 -1
  612. package/dist/core/entities/index.d.ts +0 -3
  613. package/dist/core/entities/index.d.ts.map +1 -1
  614. package/dist/core/entities/index.mjs +26 -7
  615. package/dist/core/entities/key/index.d.ts +1 -0
  616. package/dist/core/entities/key/index.d.ts.map +1 -1
  617. package/dist/core/entities/key/index.mjs +2 -1
  618. package/dist/core/entities/key/schema.d.ts +3 -0
  619. package/dist/core/entities/key/schema.d.ts.map +1 -0
  620. package/dist/core/entities/key/schema.mjs +53 -0
  621. package/dist/core/entities/key/schema.mjs.map +1 -0
  622. package/dist/core/entities/key/service.d.ts +2 -2
  623. package/dist/core/entities/key/service.d.ts.map +1 -1
  624. package/dist/core/entities/key/service.mjs +47 -28
  625. package/dist/core/entities/key/service.mjs.map +1 -1
  626. package/dist/core/entities/key/types.d.ts +9 -1
  627. package/dist/core/entities/key/types.d.ts.map +1 -1
  628. package/dist/core/entities/permission/index.d.ts +1 -0
  629. package/dist/core/entities/permission/index.d.ts.map +1 -1
  630. package/dist/core/entities/permission/index.mjs +2 -1
  631. package/dist/core/entities/permission/schema.d.ts +3 -0
  632. package/dist/core/entities/permission/schema.d.ts.map +1 -0
  633. package/dist/core/entities/permission/schema.mjs +28 -0
  634. package/dist/core/entities/permission/schema.mjs.map +1 -0
  635. package/dist/core/entities/permission/service.d.ts +7 -2
  636. package/dist/core/entities/permission/service.d.ts.map +1 -1
  637. package/dist/core/entities/permission/service.mjs +53 -40
  638. package/dist/core/entities/permission/service.mjs.map +1 -1
  639. package/dist/core/entities/permission-policy/index.d.ts +1 -0
  640. package/dist/core/entities/permission-policy/index.d.ts.map +1 -1
  641. package/dist/core/entities/permission-policy/index.mjs +2 -1
  642. package/dist/core/entities/permission-policy/schema.d.ts +3 -0
  643. package/dist/core/entities/permission-policy/schema.d.ts.map +1 -0
  644. package/dist/core/entities/permission-policy/schema.mjs +39 -0
  645. package/dist/core/entities/permission-policy/schema.mjs.map +1 -0
  646. package/dist/core/entities/permission-policy/service.d.ts +1 -1
  647. package/dist/core/entities/permission-policy/service.d.ts.map +1 -1
  648. package/dist/core/entities/permission-policy/service.mjs +12 -6
  649. package/dist/core/entities/permission-policy/service.mjs.map +1 -1
  650. package/dist/core/entities/policy/index.d.ts +1 -0
  651. package/dist/core/entities/policy/index.d.ts.map +1 -1
  652. package/dist/core/entities/policy/index.mjs +2 -1
  653. package/dist/core/entities/policy/schema.d.ts +3 -0
  654. package/dist/core/entities/policy/schema.d.ts.map +1 -0
  655. package/dist/core/entities/policy/schema.mjs +49 -0
  656. package/dist/core/entities/policy/schema.mjs.map +1 -0
  657. package/dist/core/entities/policy/service.d.ts.map +1 -1
  658. package/dist/core/entities/policy/service.mjs +13 -7
  659. package/dist/core/entities/policy/service.mjs.map +1 -1
  660. package/dist/core/entities/realm/index.d.ts +1 -0
  661. package/dist/core/entities/realm/index.d.ts.map +1 -1
  662. package/dist/core/entities/realm/index.mjs +2 -1
  663. package/dist/core/entities/realm/schema.d.ts +3 -0
  664. package/dist/core/entities/realm/schema.d.ts.map +1 -0
  665. package/dist/core/entities/realm/schema.mjs +36 -0
  666. package/dist/core/entities/realm/schema.mjs.map +1 -0
  667. package/dist/core/entities/realm/service.d.ts.map +1 -1
  668. package/dist/core/entities/realm/service.mjs +5 -2
  669. package/dist/core/entities/realm/service.mjs.map +1 -1
  670. package/dist/core/entities/realm/types.d.ts +1 -1
  671. package/dist/core/entities/role/index.d.ts +1 -0
  672. package/dist/core/entities/role/index.d.ts.map +1 -1
  673. package/dist/core/entities/role/index.mjs +2 -1
  674. package/dist/core/entities/role/schema.d.ts +3 -0
  675. package/dist/core/entities/role/schema.d.ts.map +1 -0
  676. package/dist/core/entities/role/schema.mjs +43 -0
  677. package/dist/core/entities/role/schema.mjs.map +1 -0
  678. package/dist/core/entities/role/service.d.ts.map +1 -1
  679. package/dist/core/entities/role/service.mjs +11 -5
  680. package/dist/core/entities/role/service.mjs.map +1 -1
  681. package/dist/core/entities/role-attribute/index.d.ts +1 -0
  682. package/dist/core/entities/role-attribute/index.d.ts.map +1 -1
  683. package/dist/core/entities/role-attribute/index.mjs +2 -1
  684. package/dist/core/entities/role-attribute/schema.d.ts +3 -0
  685. package/dist/core/entities/role-attribute/schema.d.ts.map +1 -0
  686. package/dist/core/entities/role-attribute/schema.mjs +47 -0
  687. package/dist/core/entities/role-attribute/schema.mjs.map +1 -0
  688. package/dist/core/entities/role-attribute/service.d.ts.map +1 -1
  689. package/dist/core/entities/role-attribute/service.mjs +19 -6
  690. package/dist/core/entities/role-attribute/service.mjs.map +1 -1
  691. package/dist/core/entities/role-permission/index.d.ts +1 -0
  692. package/dist/core/entities/role-permission/index.d.ts.map +1 -1
  693. package/dist/core/entities/role-permission/index.mjs +2 -1
  694. package/dist/core/entities/role-permission/schema.d.ts +3 -0
  695. package/dist/core/entities/role-permission/schema.d.ts.map +1 -0
  696. package/dist/core/entities/role-permission/schema.mjs +41 -0
  697. package/dist/core/entities/role-permission/schema.mjs.map +1 -0
  698. package/dist/core/entities/role-permission/service.d.ts +1 -1
  699. package/dist/core/entities/role-permission/service.d.ts.map +1 -1
  700. package/dist/core/entities/role-permission/service.mjs +24 -18
  701. package/dist/core/entities/role-permission/service.mjs.map +1 -1
  702. package/dist/core/entities/scope/index.d.ts +1 -0
  703. package/dist/core/entities/scope/index.d.ts.map +1 -1
  704. package/dist/core/entities/scope/index.mjs +2 -1
  705. package/dist/core/entities/scope/schema.d.ts +3 -0
  706. package/dist/core/entities/scope/schema.d.ts.map +1 -0
  707. package/dist/core/entities/scope/schema.mjs +43 -0
  708. package/dist/core/entities/scope/schema.mjs.map +1 -0
  709. package/dist/core/entities/scope/service.d.ts.map +1 -1
  710. package/dist/core/entities/scope/service.mjs +11 -5
  711. package/dist/core/entities/scope/service.mjs.map +1 -1
  712. package/dist/core/entities/session/index.d.ts +1 -0
  713. package/dist/core/entities/session/index.d.ts.map +1 -1
  714. package/dist/core/entities/session/index.mjs +2 -1
  715. package/dist/core/entities/session/schema.d.ts +3 -0
  716. package/dist/core/entities/session/schema.d.ts.map +1 -0
  717. package/dist/core/entities/session/schema.mjs +44 -0
  718. package/dist/core/entities/session/schema.mjs.map +1 -0
  719. package/dist/core/entities/session/service.d.ts +11 -0
  720. package/dist/core/entities/session/service.d.ts.map +1 -1
  721. package/dist/core/entities/session/service.mjs +48 -11
  722. package/dist/core/entities/session/service.mjs.map +1 -1
  723. package/dist/core/entities/session/types.d.ts +2 -2
  724. package/dist/core/entities/trust-anchor/index.d.ts +1 -0
  725. package/dist/core/entities/trust-anchor/index.d.ts.map +1 -1
  726. package/dist/core/entities/trust-anchor/index.mjs +2 -1
  727. package/dist/core/entities/trust-anchor/schema.d.ts +3 -0
  728. package/dist/core/entities/trust-anchor/schema.d.ts.map +1 -0
  729. package/dist/core/entities/trust-anchor/schema.mjs +43 -0
  730. package/dist/core/entities/trust-anchor/schema.mjs.map +1 -0
  731. package/dist/core/entities/trust-anchor/service.d.ts +2 -2
  732. package/dist/core/entities/trust-anchor/service.d.ts.map +1 -1
  733. package/dist/core/entities/trust-anchor/service.mjs +23 -7
  734. package/dist/core/entities/trust-anchor/service.mjs.map +1 -1
  735. package/dist/core/entities/trust-anchor/types.d.ts +9 -1
  736. package/dist/core/entities/trust-anchor/types.d.ts.map +1 -1
  737. package/dist/core/entities/user/index.d.ts +1 -0
  738. package/dist/core/entities/user/index.d.ts.map +1 -1
  739. package/dist/core/entities/user/index.mjs +2 -1
  740. package/dist/core/entities/user/schema.d.ts +3 -0
  741. package/dist/core/entities/user/schema.d.ts.map +1 -0
  742. package/dist/core/entities/user/schema.mjs +50 -0
  743. package/dist/core/entities/user/schema.mjs.map +1 -0
  744. package/dist/core/entities/user/service.d.ts.map +1 -1
  745. package/dist/core/entities/user/service.mjs +33 -12
  746. package/dist/core/entities/user/service.mjs.map +1 -1
  747. package/dist/core/entities/user/types.d.ts +2 -1
  748. package/dist/core/entities/user/types.d.ts.map +1 -1
  749. package/dist/core/entities/user-attribute/index.d.ts +1 -0
  750. package/dist/core/entities/user-attribute/index.d.ts.map +1 -1
  751. package/dist/core/entities/user-attribute/index.mjs +2 -1
  752. package/dist/core/entities/user-attribute/schema.d.ts +3 -0
  753. package/dist/core/entities/user-attribute/schema.d.ts.map +1 -0
  754. package/dist/core/entities/user-attribute/schema.mjs +47 -0
  755. package/dist/core/entities/user-attribute/schema.mjs.map +1 -0
  756. package/dist/core/entities/user-attribute/service.d.ts.map +1 -1
  757. package/dist/core/entities/user-attribute/service.mjs +26 -10
  758. package/dist/core/entities/user-attribute/service.mjs.map +1 -1
  759. package/dist/core/entities/user-authenticator/index.d.ts +1 -0
  760. package/dist/core/entities/user-authenticator/index.d.ts.map +1 -1
  761. package/dist/core/entities/user-authenticator/index.mjs +2 -1
  762. package/dist/core/entities/user-authenticator/schema.d.ts +3 -0
  763. package/dist/core/entities/user-authenticator/schema.d.ts.map +1 -0
  764. package/dist/core/entities/user-authenticator/schema.mjs +47 -0
  765. package/dist/core/entities/user-authenticator/schema.mjs.map +1 -0
  766. package/dist/core/entities/user-authenticator/service.d.ts.map +1 -1
  767. package/dist/core/entities/user-authenticator/service.mjs +49 -27
  768. package/dist/core/entities/user-authenticator/service.mjs.map +1 -1
  769. package/dist/core/entities/user-authenticator/types.d.ts +4 -3
  770. package/dist/core/entities/user-authenticator/types.d.ts.map +1 -1
  771. package/dist/core/entities/user-authenticator/types.mjs +2 -2
  772. package/dist/core/entities/user-authenticator/types.mjs.map +1 -1
  773. package/dist/core/entities/user-permission/index.d.ts +1 -0
  774. package/dist/core/entities/user-permission/index.d.ts.map +1 -1
  775. package/dist/core/entities/user-permission/index.mjs +2 -1
  776. package/dist/core/entities/user-permission/schema.d.ts +3 -0
  777. package/dist/core/entities/user-permission/schema.d.ts.map +1 -0
  778. package/dist/core/entities/user-permission/schema.mjs +41 -0
  779. package/dist/core/entities/user-permission/schema.mjs.map +1 -0
  780. package/dist/core/entities/user-permission/service.d.ts +1 -1
  781. package/dist/core/entities/user-permission/service.d.ts.map +1 -1
  782. package/dist/core/entities/user-permission/service.mjs +24 -18
  783. package/dist/core/entities/user-permission/service.mjs.map +1 -1
  784. package/dist/core/entities/user-role/index.d.ts +1 -0
  785. package/dist/core/entities/user-role/index.d.ts.map +1 -1
  786. package/dist/core/entities/user-role/index.mjs +2 -1
  787. package/dist/core/entities/user-role/schema.d.ts +3 -0
  788. package/dist/core/entities/user-role/schema.d.ts.map +1 -0
  789. package/dist/core/entities/user-role/schema.mjs +39 -0
  790. package/dist/core/entities/user-role/schema.mjs.map +1 -0
  791. package/dist/core/entities/user-role/service.d.ts +1 -1
  792. package/dist/core/entities/user-role/service.d.ts.map +1 -1
  793. package/dist/core/entities/user-role/service.mjs +14 -8
  794. package/dist/core/entities/user-role/service.mjs.map +1 -1
  795. package/dist/core/identity/entities/index.d.ts +0 -1
  796. package/dist/core/identity/entities/index.d.ts.map +1 -1
  797. package/dist/core/identity/password-recovery/service.mjs +21 -21
  798. package/dist/core/identity/password-recovery/service.mjs.map +1 -1
  799. package/dist/core/identity/password-recovery/types.d.ts +2 -2
  800. package/dist/core/identity/password-recovery/types.d.ts.map +1 -1
  801. package/dist/core/identity/permission/checker/service.mjs +2 -2
  802. package/dist/core/identity/permission/checker/service.mjs.map +1 -1
  803. package/dist/core/identity/permission/identity-policy-data.mjs +2 -2
  804. package/dist/core/identity/permission/identity-policy-data.mjs.map +1 -1
  805. package/dist/core/identity/permission/junction-grant.d.ts +6 -6
  806. package/dist/core/identity/permission/junction-grant.mjs +14 -14
  807. package/dist/core/identity/permission/junction-grant.mjs.map +1 -1
  808. package/dist/core/identity/permission/module.d.ts +0 -3
  809. package/dist/core/identity/permission/module.d.ts.map +1 -1
  810. package/dist/core/identity/permission/module.mjs +9 -15
  811. package/dist/core/identity/permission/module.mjs.map +1 -1
  812. package/dist/core/identity/permission/types.d.ts +0 -2
  813. package/dist/core/identity/permission/types.d.ts.map +1 -1
  814. package/dist/core/identity/policy/checker/service.mjs +1 -1
  815. package/dist/core/identity/policy/checker/service.mjs.map +1 -1
  816. package/dist/core/identity/provider/account/module.mjs +9 -9
  817. package/dist/core/identity/provider/account/module.mjs.map +1 -1
  818. package/dist/core/identity/provider/authentication/presets/facebook.mjs +5 -5
  819. package/dist/core/identity/provider/authentication/presets/facebook.mjs.map +1 -1
  820. package/dist/core/identity/provider/authentication/presets/github.mjs +3 -3
  821. package/dist/core/identity/provider/authentication/presets/github.mjs.map +1 -1
  822. package/dist/core/identity/provider/authentication/presets/google.mjs +5 -5
  823. package/dist/core/identity/provider/authentication/presets/google.mjs.map +1 -1
  824. package/dist/core/identity/provider/authentication/presets/instagram.mjs +3 -3
  825. package/dist/core/identity/provider/authentication/presets/instagram.mjs.map +1 -1
  826. package/dist/core/identity/provider/authentication/presets/paypal.mjs +3 -3
  827. package/dist/core/identity/provider/authentication/presets/paypal.mjs.map +1 -1
  828. package/dist/core/identity/provider/authentication/protocols/ldap/module.mjs +20 -20
  829. package/dist/core/identity/provider/authentication/protocols/ldap/module.mjs.map +1 -1
  830. package/dist/core/identity/provider/authentication/protocols/oauth2/module.mjs +5 -5
  831. package/dist/core/identity/provider/authentication/protocols/oauth2/module.mjs.map +1 -1
  832. package/dist/core/identity/provider/mapper/attributes/module.mjs +3 -3
  833. package/dist/core/identity/provider/mapper/attributes/module.mjs.map +1 -1
  834. package/dist/core/identity/provider/mapper/base.mjs +2 -2
  835. package/dist/core/identity/provider/mapper/base.mjs.map +1 -1
  836. package/dist/core/identity/provider/mapper/permission/module.mjs +2 -2
  837. package/dist/core/identity/provider/mapper/permission/module.mjs.map +1 -1
  838. package/dist/core/identity/provider/mapper/role/module.mjs +2 -2
  839. package/dist/core/identity/provider/mapper/role/module.mjs.map +1 -1
  840. package/dist/core/identity/registration/service.mjs +9 -9
  841. package/dist/core/identity/registration/service.mjs.map +1 -1
  842. package/dist/core/identity/resolver/module.d.ts +1 -3
  843. package/dist/core/identity/resolver/module.d.ts.map +1 -1
  844. package/dist/core/identity/resolver/module.mjs +0 -13
  845. package/dist/core/identity/resolver/module.mjs.map +1 -1
  846. package/dist/core/identity/resolver/types.d.ts +1 -2
  847. package/dist/core/identity/resolver/types.d.ts.map +1 -1
  848. package/dist/core/identity/role/module.d.ts +0 -2
  849. package/dist/core/identity/role/module.d.ts.map +1 -1
  850. package/dist/core/identity/role/module.mjs +1 -4
  851. package/dist/core/identity/role/module.mjs.map +1 -1
  852. package/dist/core/identity/role/types.d.ts +0 -2
  853. package/dist/core/identity/role/types.d.ts.map +1 -1
  854. package/dist/core/index.d.ts +1 -0
  855. package/dist/core/index.d.ts.map +1 -1
  856. package/dist/core/index.mjs +28 -9
  857. package/dist/core/key/realm-cipher.mjs +5 -5
  858. package/dist/core/key/realm-cipher.mjs.map +1 -1
  859. package/dist/core/oauth2/authorization/code-request/verifier/module.mjs +3 -3
  860. package/dist/core/oauth2/authorization/code-request/verifier/module.mjs.map +1 -1
  861. package/dist/core/oauth2/authorization/helpers.d.ts +2 -2
  862. package/dist/core/oauth2/authorization/helpers.d.ts.map +1 -1
  863. package/dist/core/oauth2/authorization/helpers.mjs +5 -5
  864. package/dist/core/oauth2/authorization/helpers.mjs.map +1 -1
  865. package/dist/core/oauth2/authorization/module.mjs +8 -8
  866. package/dist/core/oauth2/authorization/module.mjs.map +1 -1
  867. package/dist/core/oauth2/client/authenticator.d.ts +1 -1
  868. package/dist/core/oauth2/client/authenticator.d.ts.map +1 -1
  869. package/dist/core/oauth2/client/authenticator.mjs +3 -3
  870. package/dist/core/oauth2/client/authenticator.mjs.map +1 -1
  871. package/dist/core/oauth2/client/grant-type.d.ts +1 -1
  872. package/dist/core/oauth2/client/grant-type.d.ts.map +1 -1
  873. package/dist/core/oauth2/client/grant-type.mjs +2 -2
  874. package/dist/core/oauth2/client/grant-type.mjs.map +1 -1
  875. package/dist/core/oauth2/end-session/service.mjs +5 -5
  876. package/dist/core/oauth2/end-session/service.mjs.map +1 -1
  877. package/dist/core/oauth2/grant-types/authorize.mjs +9 -9
  878. package/dist/core/oauth2/grant-types/authorize.mjs.map +1 -1
  879. package/dist/core/oauth2/grant-types/client-credentials.mjs +7 -7
  880. package/dist/core/oauth2/grant-types/client-credentials.mjs.map +1 -1
  881. package/dist/core/oauth2/grant-types/identity.mjs +10 -10
  882. package/dist/core/oauth2/grant-types/identity.mjs.map +1 -1
  883. package/dist/core/oauth2/grant-types/index.d.ts +0 -1
  884. package/dist/core/oauth2/grant-types/index.d.ts.map +1 -1
  885. package/dist/core/oauth2/grant-types/index.mjs +1 -2
  886. package/dist/core/oauth2/grant-types/password.d.ts +1 -1
  887. package/dist/core/oauth2/grant-types/password.mjs +13 -13
  888. package/dist/core/oauth2/grant-types/password.mjs.map +1 -1
  889. package/dist/core/oauth2/grant-types/refresh-token.mjs +12 -12
  890. package/dist/core/oauth2/grant-types/refresh-token.mjs.map +1 -1
  891. package/dist/core/oauth2/index.mjs +1 -2
  892. package/dist/core/oauth2/mfa-login/module.mjs +21 -21
  893. package/dist/core/oauth2/mfa-login/module.mjs.map +1 -1
  894. package/dist/core/oauth2/mfa-login/types.d.ts +1 -1
  895. package/dist/core/oauth2/openid/claims.d.ts +1 -3
  896. package/dist/core/oauth2/openid/claims.d.ts.map +1 -1
  897. package/dist/core/oauth2/openid/claims.mjs +6 -19
  898. package/dist/core/oauth2/openid/claims.mjs.map +1 -1
  899. package/dist/core/oauth2/scope/resolver.d.ts +1 -3
  900. package/dist/core/oauth2/scope/resolver.d.ts.map +1 -1
  901. package/dist/core/oauth2/scope/resolver.mjs +9 -31
  902. package/dist/core/oauth2/scope/resolver.mjs.map +1 -1
  903. package/dist/core/oauth2/session-token/types.d.ts +8 -8
  904. package/dist/core/oauth2/session-token/types.d.ts.map +1 -1
  905. package/dist/core/oauth2/token/issuer/access/module.mjs +7 -7
  906. package/dist/core/oauth2/token/issuer/access/module.mjs.map +1 -1
  907. package/dist/core/oauth2/token/issuer/refresh/module.mjs +5 -5
  908. package/dist/core/oauth2/token/issuer/refresh/module.mjs.map +1 -1
  909. package/dist/core/oauth2/token/signer/module.mjs +6 -6
  910. package/dist/core/oauth2/token/signer/module.mjs.map +1 -1
  911. package/dist/core/oauth2/token/verifier/module.mjs +8 -8
  912. package/dist/core/oauth2/token/verifier/module.mjs.map +1 -1
  913. package/dist/core/provisioning/entities/index.d.ts +0 -1
  914. package/dist/core/provisioning/entities/index.d.ts.map +1 -1
  915. package/dist/core/provisioning/entities/index.mjs +1 -3
  916. package/dist/core/provisioning/entities/policy/validator.d.ts +2 -0
  917. package/dist/core/provisioning/entities/policy/validator.d.ts.map +1 -1
  918. package/dist/core/provisioning/entities/policy/validator.mjs +10 -1
  919. package/dist/core/provisioning/entities/policy/validator.mjs.map +1 -1
  920. package/dist/core/provisioning/entities/realm/relations-validator.d.ts.map +1 -1
  921. package/dist/core/provisioning/entities/realm/relations-validator.mjs +0 -4
  922. package/dist/core/provisioning/entities/realm/relations-validator.mjs.map +1 -1
  923. package/dist/core/provisioning/entities/realm/types.d.ts +0 -2
  924. package/dist/core/provisioning/entities/realm/types.d.ts.map +1 -1
  925. package/dist/core/provisioning/entities/role/types.d.ts +2 -2
  926. package/dist/core/provisioning/index.mjs +1 -3
  927. package/dist/core/provisioning/synchronizer/client/module.mjs +11 -11
  928. package/dist/core/provisioning/synchronizer/client/module.mjs.map +1 -1
  929. package/dist/core/provisioning/synchronizer/entity-resolver.mjs +12 -12
  930. package/dist/core/provisioning/synchronizer/entity-resolver.mjs.map +1 -1
  931. package/dist/core/provisioning/synchronizer/index.d.ts +0 -1
  932. package/dist/core/provisioning/synchronizer/index.d.ts.map +1 -1
  933. package/dist/core/provisioning/synchronizer/index.mjs +1 -3
  934. package/dist/core/provisioning/synchronizer/junction-synchronizer.d.ts +2 -2
  935. package/dist/core/provisioning/synchronizer/junction-synchronizer.d.ts.map +1 -1
  936. package/dist/core/provisioning/synchronizer/junction-synchronizer.mjs +2 -2
  937. package/dist/core/provisioning/synchronizer/junction-synchronizer.mjs.map +1 -1
  938. package/dist/core/provisioning/synchronizer/permission/module.mjs +8 -8
  939. package/dist/core/provisioning/synchronizer/permission/module.mjs.map +1 -1
  940. package/dist/core/provisioning/synchronizer/policy/module.mjs +11 -11
  941. package/dist/core/provisioning/synchronizer/policy/module.mjs.map +1 -1
  942. package/dist/core/provisioning/synchronizer/realm/module.d.ts +0 -2
  943. package/dist/core/provisioning/synchronizer/realm/module.d.ts.map +1 -1
  944. package/dist/core/provisioning/synchronizer/realm/module.mjs +5 -15
  945. package/dist/core/provisioning/synchronizer/realm/module.mjs.map +1 -1
  946. package/dist/core/provisioning/synchronizer/realm/types.d.ts +0 -2
  947. package/dist/core/provisioning/synchronizer/realm/types.d.ts.map +1 -1
  948. package/dist/core/provisioning/synchronizer/role/module.mjs +7 -7
  949. package/dist/core/provisioning/synchronizer/role/module.mjs.map +1 -1
  950. package/dist/core/provisioning/synchronizer/scope/module.mjs +1 -1
  951. package/dist/core/provisioning/synchronizer/scope/module.mjs.map +1 -1
  952. package/dist/core/provisioning/synchronizer/user/module.mjs +13 -13
  953. package/dist/core/provisioning/synchronizer/user/module.mjs.map +1 -1
  954. package/dist/core/query/index.d.ts +4 -0
  955. package/dist/core/query/index.d.ts.map +1 -0
  956. package/dist/core/query/index.mjs +6 -0
  957. package/dist/core/query/module.d.ts +60 -0
  958. package/dist/core/query/module.d.ts.map +1 -0
  959. package/dist/core/query/module.mjs +128 -0
  960. package/dist/core/query/module.mjs.map +1 -0
  961. package/dist/core/query/relations.d.ts +39 -0
  962. package/dist/core/query/relations.d.ts.map +1 -0
  963. package/dist/core/query/relations.mjs +103 -0
  964. package/dist/core/query/relations.mjs.map +1 -0
  965. package/dist/core/query/types.d.ts +39 -0
  966. package/dist/core/query/types.d.ts.map +1 -0
  967. package/dist/core/security/policy/evaluator.d.ts +1 -0
  968. package/dist/core/security/policy/evaluator.d.ts.map +1 -1
  969. package/dist/core/security/policy/evaluator.mjs +52 -5
  970. package/dist/core/security/policy/evaluator.mjs.map +1 -1
  971. package/dist/index.mjs +1 -17
  972. package/dist/swagger.json +2552 -3798
  973. package/dist/ui/client/.vite/ssr-manifest.json +1542 -894
  974. package/dist/ui/client/assets/{index-CT0Nq5pA.js → index-BmJ2X468.js} +21 -18
  975. package/dist/ui/client/assets/{index-BmWsoQro.css → index-DiOvW76Q.css} +1 -1
  976. package/dist/ui/client/index.html +2 -2
  977. package/dist/ui/server/server.js +9810 -3361
  978. package/package.json +27 -22
  979. package/dist/adapters/database/domains/robot/entity.d.ts +0 -19
  980. package/dist/adapters/database/domains/robot/entity.d.ts.map +0 -1
  981. package/dist/adapters/database/domains/robot/entity.mjs +0 -112
  982. package/dist/adapters/database/domains/robot/entity.mjs.map +0 -1
  983. package/dist/adapters/database/domains/robot/index.d.ts +0 -3
  984. package/dist/adapters/database/domains/robot/index.d.ts.map +0 -1
  985. package/dist/adapters/database/domains/robot/index.mjs +0 -6
  986. package/dist/adapters/database/domains/robot/subscriber.d.ts +0 -6
  987. package/dist/adapters/database/domains/robot/subscriber.d.ts.map +0 -1
  988. package/dist/adapters/database/domains/robot/subscriber.mjs +0 -42
  989. package/dist/adapters/database/domains/robot/subscriber.mjs.map +0 -1
  990. package/dist/adapters/database/domains/robot-permission/entity.d.ts +0 -18
  991. package/dist/adapters/database/domains/robot-permission/entity.d.ts.map +0 -1
  992. package/dist/adapters/database/domains/robot-permission/entity.mjs +0 -91
  993. package/dist/adapters/database/domains/robot-permission/entity.mjs.map +0 -1
  994. package/dist/adapters/database/domains/robot-permission/index.d.ts +0 -3
  995. package/dist/adapters/database/domains/robot-permission/index.d.ts.map +0 -1
  996. package/dist/adapters/database/domains/robot-permission/index.mjs +0 -6
  997. package/dist/adapters/database/domains/robot-permission/subscriber.d.ts +0 -6
  998. package/dist/adapters/database/domains/robot-permission/subscriber.d.ts.map +0 -1
  999. package/dist/adapters/database/domains/robot-permission/subscriber.mjs +0 -45
  1000. package/dist/adapters/database/domains/robot-permission/subscriber.mjs.map +0 -1
  1001. package/dist/adapters/database/domains/robot-role/entity.d.ts +0 -15
  1002. package/dist/adapters/database/domains/robot-role/entity.d.ts.map +0 -1
  1003. package/dist/adapters/database/domains/robot-role/entity.mjs +0 -72
  1004. package/dist/adapters/database/domains/robot-role/entity.mjs.map +0 -1
  1005. package/dist/adapters/database/domains/robot-role/index.d.ts +0 -3
  1006. package/dist/adapters/database/domains/robot-role/index.d.ts.map +0 -1
  1007. package/dist/adapters/database/domains/robot-role/index.mjs +0 -6
  1008. package/dist/adapters/database/domains/robot-role/subscriber.d.ts +0 -6
  1009. package/dist/adapters/database/domains/robot-role/subscriber.d.ts.map +0 -1
  1010. package/dist/adapters/database/domains/robot-role/subscriber.mjs +0 -45
  1011. package/dist/adapters/database/domains/robot-role/subscriber.mjs.map +0 -1
  1012. package/dist/adapters/http/adapters/oauth2/grant-types/robot-credentials.d.ts +0 -12
  1013. package/dist/adapters/http/adapters/oauth2/grant-types/robot-credentials.d.ts.map +0 -1
  1014. package/dist/adapters/http/adapters/oauth2/grant-types/robot-credentials.mjs +0 -27
  1015. package/dist/adapters/http/adapters/oauth2/grant-types/robot-credentials.mjs.map +0 -1
  1016. package/dist/adapters/http/controllers/entities/robot/index.d.ts +0 -2
  1017. package/dist/adapters/http/controllers/entities/robot/index.d.ts.map +0 -1
  1018. package/dist/adapters/http/controllers/entities/robot/index.mjs +0 -5
  1019. package/dist/adapters/http/controllers/entities/robot/module.d.ts +0 -25
  1020. package/dist/adapters/http/controllers/entities/robot/module.d.ts.map +0 -1
  1021. package/dist/adapters/http/controllers/entities/robot/module.mjs +0 -180
  1022. package/dist/adapters/http/controllers/entities/robot/module.mjs.map +0 -1
  1023. package/dist/adapters/http/controllers/entities/robot-permission/index.d.ts +0 -3
  1024. package/dist/adapters/http/controllers/entities/robot-permission/index.d.ts.map +0 -1
  1025. package/dist/adapters/http/controllers/entities/robot-permission/index.mjs +0 -7
  1026. package/dist/adapters/http/controllers/entities/robot-permission/module.d.ts +0 -17
  1027. package/dist/adapters/http/controllers/entities/robot-permission/module.d.ts.map +0 -1
  1028. package/dist/adapters/http/controllers/entities/robot-permission/module.mjs +0 -114
  1029. package/dist/adapters/http/controllers/entities/robot-permission/module.mjs.map +0 -1
  1030. package/dist/adapters/http/controllers/entities/robot-permission/utils/index.d.ts +0 -2
  1031. package/dist/adapters/http/controllers/entities/robot-permission/utils/index.d.ts.map +0 -1
  1032. package/dist/adapters/http/controllers/entities/robot-permission/utils/index.mjs +0 -5
  1033. package/dist/adapters/http/controllers/entities/robot-permission/utils/validation.d.ts +0 -6
  1034. package/dist/adapters/http/controllers/entities/robot-permission/utils/validation.d.ts.map +0 -1
  1035. package/dist/adapters/http/controllers/entities/robot-permission/utils/validation.mjs +0 -21
  1036. package/dist/adapters/http/controllers/entities/robot-permission/utils/validation.mjs.map +0 -1
  1037. package/dist/adapters/http/controllers/entities/robot-role/index.d.ts +0 -3
  1038. package/dist/adapters/http/controllers/entities/robot-role/index.d.ts.map +0 -1
  1039. package/dist/adapters/http/controllers/entities/robot-role/index.mjs +0 -7
  1040. package/dist/adapters/http/controllers/entities/robot-role/module.d.ts +0 -16
  1041. package/dist/adapters/http/controllers/entities/robot-role/module.d.ts.map +0 -1
  1042. package/dist/adapters/http/controllers/entities/robot-role/module.mjs +0 -95
  1043. package/dist/adapters/http/controllers/entities/robot-role/module.mjs.map +0 -1
  1044. package/dist/adapters/http/controllers/entities/robot-role/utils/index.d.ts +0 -2
  1045. package/dist/adapters/http/controllers/entities/robot-role/utils/index.d.ts.map +0 -1
  1046. package/dist/adapters/http/controllers/entities/robot-role/utils/index.mjs +0 -5
  1047. package/dist/adapters/http/controllers/entities/robot-role/utils/validation.d.ts +0 -6
  1048. package/dist/adapters/http/controllers/entities/robot-role/utils/validation.d.ts.map +0 -1
  1049. package/dist/adapters/http/controllers/entities/robot-role/utils/validation.mjs +0 -20
  1050. package/dist/adapters/http/controllers/entities/robot-role/utils/validation.mjs.map +0 -1
  1051. package/dist/app/modules/database/repositories/robot/index.d.ts +0 -2
  1052. package/dist/app/modules/database/repositories/robot/index.d.ts.map +0 -1
  1053. package/dist/app/modules/database/repositories/robot/index.mjs +0 -5
  1054. package/dist/app/modules/database/repositories/robot/repository.d.ts +0 -31
  1055. package/dist/app/modules/database/repositories/robot/repository.d.ts.map +0 -1
  1056. package/dist/app/modules/database/repositories/robot/repository.mjs +0 -190
  1057. package/dist/app/modules/database/repositories/robot/repository.mjs.map +0 -1
  1058. package/dist/app/modules/database/repositories/robot-permission/index.d.ts +0 -2
  1059. package/dist/app/modules/database/repositories/robot-permission/index.d.ts.map +0 -1
  1060. package/dist/app/modules/database/repositories/robot-permission/index.mjs +0 -5
  1061. package/dist/app/modules/database/repositories/robot-permission/repository.d.ts +0 -20
  1062. package/dist/app/modules/database/repositories/robot-permission/repository.d.ts.map +0 -1
  1063. package/dist/app/modules/database/repositories/robot-permission/repository.mjs +0 -79
  1064. package/dist/app/modules/database/repositories/robot-permission/repository.mjs.map +0 -1
  1065. package/dist/app/modules/database/repositories/robot-role/index.d.ts +0 -2
  1066. package/dist/app/modules/database/repositories/robot-role/index.d.ts.map +0 -1
  1067. package/dist/app/modules/database/repositories/robot-role/index.mjs +0 -5
  1068. package/dist/app/modules/database/repositories/robot-role/repository.d.ts +0 -20
  1069. package/dist/app/modules/database/repositories/robot-role/repository.d.ts.map +0 -1
  1070. package/dist/app/modules/database/repositories/robot-role/repository.mjs +0 -79
  1071. package/dist/app/modules/database/repositories/robot-role/repository.mjs.map +0 -1
  1072. package/dist/app/modules/identity/repositories/robot.d.ts +0 -13
  1073. package/dist/app/modules/identity/repositories/robot.d.ts.map +0 -1
  1074. package/dist/app/modules/identity/repositories/robot.mjs +0 -47
  1075. package/dist/app/modules/identity/repositories/robot.mjs.map +0 -1
  1076. package/dist/core/authentication/credential/entities/robot/index.d.ts +0 -2
  1077. package/dist/core/authentication/credential/entities/robot/index.d.ts.map +0 -1
  1078. package/dist/core/authentication/credential/entities/robot/index.mjs +0 -5
  1079. package/dist/core/authentication/credential/entities/robot/module.d.ts +0 -8
  1080. package/dist/core/authentication/credential/entities/robot/module.d.ts.map +0 -1
  1081. package/dist/core/authentication/credential/entities/robot/module.mjs +0 -22
  1082. package/dist/core/authentication/credential/entities/robot/module.mjs.map +0 -1
  1083. package/dist/core/authentication/entities/robot/index.d.ts +0 -2
  1084. package/dist/core/authentication/entities/robot/index.d.ts.map +0 -1
  1085. package/dist/core/authentication/entities/robot/index.mjs +0 -5
  1086. package/dist/core/authentication/entities/robot/module.d.ts +0 -11
  1087. package/dist/core/authentication/entities/robot/module.d.ts.map +0 -1
  1088. package/dist/core/authentication/entities/robot/module.mjs +0 -29
  1089. package/dist/core/authentication/entities/robot/module.mjs.map +0 -1
  1090. package/dist/core/entities/robot/index.d.ts +0 -3
  1091. package/dist/core/entities/robot/index.d.ts.map +0 -1
  1092. package/dist/core/entities/robot/index.mjs +0 -5
  1093. package/dist/core/entities/robot/service.d.ts +0 -28
  1094. package/dist/core/entities/robot/service.d.ts.map +0 -1
  1095. package/dist/core/entities/robot/service.mjs +0 -201
  1096. package/dist/core/entities/robot/service.mjs.map +0 -1
  1097. package/dist/core/entities/robot/types.d.ts +0 -24
  1098. package/dist/core/entities/robot/types.d.ts.map +0 -1
  1099. package/dist/core/entities/robot/types.mjs +0 -4
  1100. package/dist/core/entities/robot-permission/index.d.ts +0 -3
  1101. package/dist/core/entities/robot-permission/index.d.ts.map +0 -1
  1102. package/dist/core/entities/robot-permission/index.mjs +0 -5
  1103. package/dist/core/entities/robot-permission/service.d.ts +0 -25
  1104. package/dist/core/entities/robot-permission/service.d.ts.map +0 -1
  1105. package/dist/core/entities/robot-permission/service.mjs +0 -137
  1106. package/dist/core/entities/robot-permission/service.mjs.map +0 -1
  1107. package/dist/core/entities/robot-permission/types.d.ts +0 -12
  1108. package/dist/core/entities/robot-permission/types.d.ts.map +0 -1
  1109. package/dist/core/entities/robot-role/index.d.ts +0 -3
  1110. package/dist/core/entities/robot-role/index.d.ts.map +0 -1
  1111. package/dist/core/entities/robot-role/index.mjs +0 -5
  1112. package/dist/core/entities/robot-role/service.d.ts +0 -22
  1113. package/dist/core/entities/robot-role/service.d.ts.map +0 -1
  1114. package/dist/core/entities/robot-role/service.mjs +0 -90
  1115. package/dist/core/entities/robot-role/service.mjs.map +0 -1
  1116. package/dist/core/entities/robot-role/types.d.ts +0 -11
  1117. package/dist/core/entities/robot-role/types.d.ts.map +0 -1
  1118. package/dist/core/entities/robot-role/types.mjs +0 -4
  1119. package/dist/core/identity/entities/robot/index.d.ts +0 -2
  1120. package/dist/core/identity/entities/robot/index.d.ts.map +0 -1
  1121. package/dist/core/identity/entities/robot/types.d.ts +0 -8
  1122. package/dist/core/identity/entities/robot/types.d.ts.map +0 -1
  1123. package/dist/core/identity/entities/robot/types.mjs +0 -4
  1124. package/dist/core/oauth2/grant-types/robot-credentials.d.ts +0 -8
  1125. package/dist/core/oauth2/grant-types/robot-credentials.d.ts.map +0 -1
  1126. package/dist/core/oauth2/grant-types/robot-credentials.mjs +0 -39
  1127. package/dist/core/oauth2/grant-types/robot-credentials.mjs.map +0 -1
  1128. package/dist/core/provisioning/entities/robot/index.d.ts +0 -3
  1129. package/dist/core/provisioning/entities/robot/index.d.ts.map +0 -1
  1130. package/dist/core/provisioning/entities/robot/index.mjs +0 -5
  1131. package/dist/core/provisioning/entities/robot/relations-validator.d.ts +0 -6
  1132. package/dist/core/provisioning/entities/robot/relations-validator.d.ts.map +0 -1
  1133. package/dist/core/provisioning/entities/robot/relations-validator.mjs +0 -20
  1134. package/dist/core/provisioning/entities/robot/relations-validator.mjs.map +0 -1
  1135. package/dist/core/provisioning/entities/robot/types.d.ts +0 -25
  1136. package/dist/core/provisioning/entities/robot/types.d.ts.map +0 -1
  1137. package/dist/core/provisioning/entities/robot/types.mjs +0 -4
  1138. package/dist/core/provisioning/entities/robot/validator.d.ts +0 -6
  1139. package/dist/core/provisioning/entities/robot/validator.d.ts.map +0 -1
  1140. package/dist/core/provisioning/entities/robot/validator.mjs +0 -24
  1141. package/dist/core/provisioning/entities/robot/validator.mjs.map +0 -1
  1142. package/dist/core/provisioning/synchronizer/robot/index.d.ts +0 -3
  1143. package/dist/core/provisioning/synchronizer/robot/index.d.ts.map +0 -1
  1144. package/dist/core/provisioning/synchronizer/robot/index.mjs +0 -5
  1145. package/dist/core/provisioning/synchronizer/robot/module.d.ts +0 -17
  1146. package/dist/core/provisioning/synchronizer/robot/module.d.ts.map +0 -1
  1147. package/dist/core/provisioning/synchronizer/robot/module.mjs +0 -72
  1148. package/dist/core/provisioning/synchronizer/robot/module.mjs.map +0 -1
  1149. package/dist/core/provisioning/synchronizer/robot/types.d.ts +0 -9
  1150. package/dist/core/provisioning/synchronizer/robot/types.d.ts.map +0 -1
  1151. package/dist/core/provisioning/synchronizer/robot/types.mjs +0 -4
  1152. /package/dist/core/{entities/robot-permission → query}/types.mjs +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"repository.mjs","names":["In","LessThan","SessionTokenEntity","SessionTokenRepositoryAdapter","repository","dataSource","getRepository","create","input","entity","id","session_id","kind","parent_id","refresh_token_id","ip_address","user_agent","consumed_at","revoked_at","expires_at","insert","created_at","Date","toISOString","findOneById","findOne","where","findBySessionId","sessionId","find","markRefreshConsumed","at","result","createQueryBuilder","update","set","andWhere","execute","affected","hasConsumedChild","parentId","count","getCount","revokeById","revokeBySessionId","rows","select","refs","map","row","length","ref","deleteExpired","before","delete"],"sources":["../../../../../../src/app/modules/oauth2/repositories/session-token/repository.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 { SessionToken } from '@authup/core-kit';\nimport type { DataSource, Repository } from 'typeorm';\nimport { In, LessThan } from 'typeorm';\nimport { SessionTokenEntity } from '../../../../../adapters/database/domains/index.ts';\nimport type {\n ISessionTokenRepository,\n SessionTokenCreateInput,\n SessionTokenRef,\n} from '../../../../../core/index.ts';\n\nexport class SessionTokenRepositoryAdapter implements ISessionTokenRepository {\n protected repository: Repository<SessionTokenEntity>;\n\n constructor(dataSource: DataSource) {\n this.repository = dataSource.getRepository(SessionTokenEntity);\n }\n\n async create(input: SessionTokenCreateInput): Promise<SessionToken> {\n const entity = this.repository.create({\n id: input.id,\n session_id: input.session_id,\n kind: input.kind,\n parent_id: input.parent_id ?? null,\n refresh_token_id: input.refresh_token_id ?? null,\n ip_address: input.ip_address,\n user_agent: input.user_agent,\n consumed_at: null,\n revoked_at: null,\n expires_at: input.expires_at,\n });\n\n await this.repository.insert(entity);\n\n // insert() does not hydrate @CreateDateColumn back onto the in-memory\n // entity (the DB fills created_at via its DEFAULT). Stamp it so the\n // returned object satisfies the SessionToken contract instead of\n // carrying an undefined created_at.\n entity.created_at = entity.created_at ?? new Date().toISOString();\n\n return entity;\n }\n\n async findOneById(id: string): Promise<SessionToken | null> {\n return this.repository.findOne({ where: { id } });\n }\n\n async findBySessionId(sessionId: string): Promise<SessionToken[]> {\n return this.repository.find({ where: { session_id: sessionId } });\n }\n\n async markRefreshConsumed(id: string, at: string): Promise<boolean> {\n const result = await this.repository.createQueryBuilder()\n .update(SessionTokenEntity)\n .set({ consumed_at: at })\n .where('id = :id', { id })\n .andWhere('kind = :kind', { kind: 'refresh' })\n .andWhere('consumed_at IS NULL')\n .andWhere('revoked_at IS NULL')\n .execute();\n\n return (result.affected ?? 0) > 0;\n }\n\n async hasConsumedChild(parentId: string): Promise<boolean> {\n const count = await this.repository.createQueryBuilder()\n .where('parent_id = :parentId', { parentId })\n .andWhere('consumed_at IS NOT NULL')\n .getCount();\n\n return count > 0;\n }\n\n async revokeById(id: string, at: string): Promise<void> {\n await this.repository.createQueryBuilder()\n .update(SessionTokenEntity)\n .set({ revoked_at: at })\n .where('id = :id', { id })\n .andWhere('revoked_at IS NULL')\n .execute();\n }\n\n async revokeBySessionId(sessionId: string, at: string): Promise<SessionTokenRef[]> {\n const rows = await this.repository.find({\n where: { session_id: sessionId },\n select: ['id', 'expires_at'],\n });\n\n const refs: SessionTokenRef[] = rows.map((row) => ({\n id: row.id,\n expires_at: row.expires_at,\n }));\n if (refs.length > 0) {\n await this.repository.createQueryBuilder()\n .update(SessionTokenEntity)\n .set({ revoked_at: at })\n .where({ id: In(refs.map((ref) => ref.id)) })\n .andWhere('revoked_at IS NULL')\n .execute();\n }\n\n return refs;\n }\n\n async deleteExpired(before: string): Promise<number> {\n const result = await this.repository.delete({ expires_at: LessThan(before) });\n\n return result.affected ?? 0;\n }\n}\n"],"mappings":";;;;;;;AAiBA,IAAaG,gCAAb,MAAaA;CACCC;CAEV,YAAYC,YAAwB;EAChC,KAAKD,aAAaC,WAAWC,cAAcJ,kBAAAA;CAC/C;CAEA,MAAMK,OAAOC,OAAuD;EAChE,MAAMC,SAAS,KAAKL,WAAWG,OAAO;GAClCG,IAAIF,MAAME;GACVC,YAAYH,MAAMG;GAClBC,MAAMJ,MAAMI;GACZC,WAAWL,MAAMK,aAAa;GAC9BC,kBAAkBN,MAAMM,oBAAoB;GAC5CC,YAAYP,MAAMO;GAClBC,YAAYR,MAAMQ;GAClBC,aAAa;GACbC,YAAY;GACZC,YAAYX,MAAMW;EACtB,CAAA;EAEA,MAAM,KAAKf,WAAWgB,OAAOX,MAAAA;EAM7BA,OAAOY,aAAaZ,OAAOY,+BAAc,IAAIC,KAAAA,EAAAA,CAAOC,YAAW;EAE/D,OAAOd;CACX;CAEA,MAAMe,YAAYd,IAA0C;EACxD,OAAO,KAAKN,WAAWqB,QAAQ,EAAEC,OAAO,EAAEhB,GAAG,EAAE,CAAA;CACnD;CAEA,MAAMiB,gBAAgBC,WAA4C;EAC9D,OAAO,KAAKxB,WAAWyB,KAAK,EAAEH,OAAO,EAAEf,YAAYiB,UAAU,EAAE,CAAA;CACnE;CAEA,MAAME,oBAAoBpB,IAAYqB,IAA8B;EAUhE,SAAQC,MATa,KAAK5B,WAAW6B,mBAAkB,CAAA,CAClDC,OAAOhC,kBAAAA,CAAAA,CACPiC,IAAI,EAAElB,aAAac,GAAG,CAAA,CAAA,CACtBL,MAAM,YAAY,EAAEhB,GAAG,CAAA,CAAA,CACvB0B,SAAS,gBAAgB,EAAExB,MAAM,UAAU,CAAA,CAAA,CAC3CwB,SAAS,qBAAA,CAAA,CACTA,SAAS,oBAAA,CAAA,CACTC,QAAO,EAAA,CAEGC,YAAY,KAAK;CACpC;CAEA,MAAMC,iBAAiBC,UAAoC;EAMvD,OAAOC,MALa,KAAKrC,WAAW6B,mBAAkB,CAAA,CACjDP,MAAM,yBAAyB,EAAEc,SAAS,CAAA,CAAA,CAC1CJ,SAAS,yBAAA,CAAA,CACTM,SAAQ,IAEE;CACnB;CAEA,MAAMC,WAAWjC,IAAYqB,IAA2B;EACpD,MAAM,KAAK3B,WAAW6B,mBAAkB,CAAA,CACnCC,OAAOhC,kBAAAA,CAAAA,CACPiC,IAAI,EAAEjB,YAAYa,GAAG,CAAA,CAAA,CACrBL,MAAM,YAAY,EAAEhB,GAAG,CAAA,CAAA,CACvB0B,SAAS,oBAAA,CAAA,CACTC,QAAO;CAChB;CAEA,MAAMO,kBAAkBhB,WAAmBG,IAAwC;EAM/E,MAAMgB,QAA0BF,MALb,KAAKzC,WAAWyB,KAAK;GACpCH,OAAO,EAAEf,YAAYiB,UAAU;GAC/BkB,QAAQ,CAAC,MAAM,YAAA;EACnB,CAAA,EAAA,CAEqCE,KAAKC,SAAS;GAC/CvC,IAAIuC,IAAIvC;GACRS,YAAY8B,IAAI9B;EACpB,EAAA;EACA,IAAI4B,KAAKG,SAAS,GACd,MAAM,KAAK9C,WAAW6B,mBAAkB,CAAA,CACnCC,OAAOhC,kBAAAA,CAAAA,CACPiC,IAAI,EAAEjB,YAAYa,GAAG,CAAA,CAAA,CACrBL,MAAM,EAAEhB,IAAIV,GAAG+C,KAAKC,KAAKG,QAAQA,IAAIzC,EAAE,CAAA,EAAG,CAAA,CAAA,CAC1C0B,SAAS,oBAAA,CAAA,CACTC,QAAO;EAGhB,OAAOU;CACX;CAEA,MAAMK,cAAcC,QAAiC;EAGjD,QAAOrB,MAFc,KAAK5B,WAAWkD,OAAO,EAAEnC,YAAYlB,SAASoD,MAAAA,EAAQ,CAAA,EAAA,CAE7Df,YAAY;CAC9B;AACJ"}
1
+ {"version":3,"file":"repository.mjs","names":["In","LessThan","SessionTokenEntity","SessionTokenRepositoryAdapter","repository","dataSource","getRepository","create","input","entity","id","sessionId","kind","parentId","refreshTokenId","ipAddress","userAgent","consumedAt","revokedAt","expiresAt","insert","createdAt","Date","toISOString","findOneById","findOne","where","findBySessionId","find","markRefreshConsumed","at","result","createQueryBuilder","update","set","andWhere","execute","affected","hasConsumedChild","count","getCount","revokeById","revokeBySessionId","rows","select","refs","map","row","length","ref","deleteExpired","before","delete"],"sources":["../../../../../../src/app/modules/oauth2/repositories/session-token/repository.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 { SessionToken } from '@authup/core-kit';\nimport type { DataSource, Repository } from 'typeorm';\nimport { In, LessThan } from 'typeorm';\nimport { SessionTokenEntity } from '../../../../../adapters/database/domains/index.ts';\nimport type {\n ISessionTokenRepository,\n SessionTokenCreateInput,\n SessionTokenRef,\n} from '../../../../../core/index.ts';\n\nexport class SessionTokenRepositoryAdapter implements ISessionTokenRepository {\n protected repository: Repository<SessionTokenEntity>;\n\n constructor(dataSource: DataSource) {\n this.repository = dataSource.getRepository(SessionTokenEntity);\n }\n\n async create(input: SessionTokenCreateInput): Promise<SessionToken> {\n const entity = this.repository.create({\n id: input.id,\n sessionId: input.sessionId,\n kind: input.kind,\n parentId: input.parentId ?? null,\n refreshTokenId: input.refreshTokenId ?? null,\n ipAddress: input.ipAddress,\n userAgent: input.userAgent,\n consumedAt: null,\n revokedAt: null,\n expiresAt: input.expiresAt,\n });\n\n await this.repository.insert(entity);\n\n // insert() does not hydrate @CreateDateColumn back onto the in-memory\n // entity (the DB fills created_at via its DEFAULT). Stamp it so the\n // returned object satisfies the SessionToken contract instead of\n // carrying an undefined createdAt.\n entity.createdAt = entity.createdAt ?? new Date().toISOString();\n\n return entity;\n }\n\n async findOneById(id: string): Promise<SessionToken | null> {\n return this.repository.findOne({ where: { id } });\n }\n\n async findBySessionId(sessionId: string): Promise<SessionToken[]> {\n return this.repository.find({ where: { sessionId } });\n }\n\n async markRefreshConsumed(id: string, at: string): Promise<boolean> {\n const result = await this.repository.createQueryBuilder()\n .update(SessionTokenEntity)\n .set({ consumedAt: at })\n .where('id = :id', { id })\n .andWhere('kind = :kind', { kind: 'refresh' })\n .andWhere('consumedAt IS NULL')\n .andWhere('revokedAt IS NULL')\n .execute();\n\n return (result.affected ?? 0) > 0;\n }\n\n async hasConsumedChild(parentId: string): Promise<boolean> {\n const count = await this.repository.createQueryBuilder('sessionToken')\n .where('sessionToken.parentId = :parentId', { parentId })\n .andWhere('sessionToken.consumedAt IS NOT NULL')\n .getCount();\n\n return count > 0;\n }\n\n async revokeById(id: string, at: string): Promise<void> {\n await this.repository.createQueryBuilder()\n .update(SessionTokenEntity)\n .set({ revokedAt: at })\n .where('id = :id', { id })\n .andWhere('revokedAt IS NULL')\n .execute();\n }\n\n async revokeBySessionId(sessionId: string, at: string): Promise<SessionTokenRef[]> {\n const rows = await this.repository.find({\n where: { sessionId },\n select: { id: true, expiresAt: true },\n });\n\n const refs: SessionTokenRef[] = rows.map((row) => ({\n id: row.id,\n expiresAt: row.expiresAt,\n }));\n if (refs.length > 0) {\n await this.repository.createQueryBuilder()\n .update(SessionTokenEntity)\n .set({ revokedAt: at })\n .where({ id: In(refs.map((ref) => ref.id)) })\n .andWhere('revokedAt IS NULL')\n .execute();\n }\n\n return refs;\n }\n\n async deleteExpired(before: string): Promise<number> {\n const result = await this.repository.delete({ expiresAt: LessThan(before) });\n\n return result.affected ?? 0;\n }\n}\n"],"mappings":";;;;;;;AAiBA,IAAaG,gCAAb,MAAaA;CACCC;CAEV,YAAYC,YAAwB;EAChC,KAAKD,aAAaC,WAAWC,cAAcJ,kBAAAA;CAC/C;CAEA,MAAMK,OAAOC,OAAuD;EAChE,MAAMC,SAAS,KAAKL,WAAWG,OAAO;GAClCG,IAAIF,MAAME;GACVC,WAAWH,MAAMG;GACjBC,MAAMJ,MAAMI;GACZC,UAAUL,MAAMK,YAAY;GAC5BC,gBAAgBN,MAAMM,kBAAkB;GACxCC,WAAWP,MAAMO;GACjBC,WAAWR,MAAMQ;GACjBC,YAAY;GACZC,WAAW;GACXC,WAAWX,MAAMW;EACrB,CAAA;EAEA,MAAM,KAAKf,WAAWgB,OAAOX,MAAAA;EAM7BA,OAAOY,YAAYZ,OAAOY,8BAAa,IAAIC,KAAAA,EAAAA,CAAOC,YAAW;EAE7D,OAAOd;CACX;CAEA,MAAMe,YAAYd,IAA0C;EACxD,OAAO,KAAKN,WAAWqB,QAAQ,EAAEC,OAAO,EAAEhB,GAAG,EAAE,CAAA;CACnD;CAEA,MAAMiB,gBAAgBhB,WAA4C;EAC9D,OAAO,KAAKP,WAAWwB,KAAK,EAAEF,OAAO,EAAEf,UAAU,EAAE,CAAA;CACvD;CAEA,MAAMkB,oBAAoBnB,IAAYoB,IAA8B;EAUhE,SAAQC,MATa,KAAK3B,WAAW4B,mBAAkB,CAAA,CAClDC,OAAO/B,kBAAAA,CAAAA,CACPgC,IAAI,EAAEjB,YAAYa,GAAG,CAAA,CAAA,CACrBJ,MAAM,YAAY,EAAEhB,GAAG,CAAA,CAAA,CACvByB,SAAS,gBAAgB,EAAEvB,MAAM,UAAU,CAAA,CAAA,CAC3CuB,SAAS,oBAAA,CAAA,CACTA,SAAS,mBAAA,CAAA,CACTC,QAAO,EAAA,CAEGC,YAAY,KAAK;CACpC;CAEA,MAAMC,iBAAiBzB,UAAoC;EAMvD,OAAO0B,MALa,KAAKnC,WAAW4B,mBAAmB,cAAA,CAAA,CAClDN,MAAM,qCAAqC,EAAEb,SAAS,CAAA,CAAA,CACtDsB,SAAS,qCAAA,CAAA,CACTK,SAAQ,IAEE;CACnB;CAEA,MAAMC,WAAW/B,IAAYoB,IAA2B;EACpD,MAAM,KAAK1B,WAAW4B,mBAAkB,CAAA,CACnCC,OAAO/B,kBAAAA,CAAAA,CACPgC,IAAI,EAAEhB,WAAWY,GAAG,CAAA,CAAA,CACpBJ,MAAM,YAAY,EAAEhB,GAAG,CAAA,CAAA,CACvByB,SAAS,mBAAA,CAAA,CACTC,QAAO;CAChB;CAEA,MAAMM,kBAAkB/B,WAAmBmB,IAAwC;EAM/E,MAAMe,QAA0BF,MALb,KAAKvC,WAAWwB,KAAK;GACpCF,OAAO,EAAEf,UAAU;GACnBiC,QAAQ;IAAElC,IAAI;IAAMS,WAAW;GAAK;EACxC,CAAA,EAAA,CAEqC2B,KAAKC,SAAS;GAC/CrC,IAAIqC,IAAIrC;GACRS,WAAW4B,IAAI5B;EACnB,EAAA;EACA,IAAI0B,KAAKG,SAAS,GACd,MAAM,KAAK5C,WAAW4B,mBAAkB,CAAA,CACnCC,OAAO/B,kBAAAA,CAAAA,CACPgC,IAAI,EAAEhB,WAAWY,GAAG,CAAA,CAAA,CACpBJ,MAAM,EAAEhB,IAAIV,GAAG6C,KAAKC,KAAKG,QAAQA,IAAIvC,EAAE,CAAA,EAAG,CAAA,CAAA,CAC1CyB,SAAS,mBAAA,CAAA,CACTC,QAAO;EAGhB,OAAOS;CACX;CAEA,MAAMK,cAAcC,QAAiC;EAGjD,QAAOpB,MAFc,KAAK3B,WAAWgD,OAAO,EAAEjC,WAAWlB,SAASkD,MAAAA,EAAQ,CAAA,EAAA,CAE5Dd,YAAY;CAC9B;AACJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../../src/app/modules/provisioning/module.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,UAAU,EAAc,MAAM,SAAS,CAAC;AAsBtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAYxC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC/E,OAAO,EAOH,uBAAuB,EAW1B,MAAM,mCAAmC,CAAC;AAE3C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAWrC,qBAAa,iBAAkB,YAAW,OAAO;IAC7C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC;IAEhC,SAAS,CAAC,OAAO,EAAE,mBAAmB,EAAE,CAAC;gBAE7B,OAAO,GAAE,mBAAmB,EAAO;IAMzC,KAAK,CAAC,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;cA+KjC,mBAAmB,CAC/B,UAAU,EAAE,UAAU,EACtB,gBAAgB,EAAE,uBAAuB,GAC1C,OAAO,CAAC,IAAI,CAAC;CAuBnB"}
1
+ {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../../src/app/modules/provisioning/module.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,UAAU,EAAc,MAAM,SAAS,CAAC;AAmBtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAWxC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC/E,OAAO,EAOH,uBAAuB,EAQ1B,MAAM,mCAAmC,CAAC;AAE3C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAWrC,qBAAa,iBAAkB,YAAW,OAAO;IAC7C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC;IAEhC,SAAS,CAAC,OAAO,EAAE,mBAAmB,EAAE,CAAC;gBAE7B,OAAO,GAAE,mBAAmB,EAAO;IAMzC,KAAK,CAAC,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;cAiKjC,mBAAmB,CAC/B,UAAU,EAAE,UAAU,EACtB,gBAAgB,EAAE,uBAAuB,GAC1C,OAAO,CAAC,IAAI,CAAC;CAuBnB"}
@@ -10,10 +10,7 @@ import { PermissionEntity } from "../../../adapters/database/domains/permission/
10
10
  import { ClientPermissionEntity } from "../../../adapters/database/domains/client-permission/entity.mjs";
11
11
  import { ScopeEntity } from "../../../adapters/database/domains/scope/entity.mjs";
12
12
  import { UserRepository } from "../../../adapters/database/domains/user/repository.mjs";
13
- import { RobotEntity } from "../../../adapters/database/domains/robot/entity.mjs";
14
13
  import { PermissionPolicyEntity } from "../../../adapters/database/domains/permission-policy/entity.mjs";
15
- import { RobotPermissionEntity } from "../../../adapters/database/domains/robot-permission/entity.mjs";
16
- import { RobotRoleEntity } from "../../../adapters/database/domains/robot-role/entity.mjs";
17
14
  import { RolePermissionEntity } from "../../../adapters/database/domains/role-permission/entity.mjs";
18
15
  import { UserPermissionEntity } from "../../../adapters/database/domains/user-permission/entity.mjs";
19
16
  import { UserRoleEntity } from "../../../adapters/database/domains/user-role/entity.mjs";
@@ -28,7 +25,6 @@ import { PolicyProvisioningSynchronizer } from "../../../core/provisioning/synch
28
25
  import { RealmProvisioningSynchronizer } from "../../../core/provisioning/synchronizer/realm/module.mjs";
29
26
  import { RoleProvisioningSynchronizer } from "../../../core/provisioning/synchronizer/role/module.mjs";
30
27
  import { GraphProvisioningSynchronizer } from "../../../core/provisioning/synchronizer/root/module.mjs";
31
- import { RobotProvisioningSynchronizer } from "../../../core/provisioning/synchronizer/robot/module.mjs";
32
28
  import { ScopeProvisioningSynchronizer } from "../../../core/provisioning/synchronizer/scope/module.mjs";
33
29
  import { UserProvisioningSynchronizer } from "../../../core/provisioning/synchronizer/user/module.mjs";
34
30
  import "../../../core/provisioning/synchronizer/index.mjs";
@@ -45,9 +41,6 @@ import { KeyRepositoryAdapter } from "../database/repositories/key/repository.mj
45
41
  import { PermissionRepositoryAdapter } from "../database/repositories/permission/repository.mjs";
46
42
  import { PermissionPolicyRepositoryAdapter } from "../database/repositories/permission-policy/repository.mjs";
47
43
  import { PolicyRepositoryAdapter } from "../database/repositories/policy/repository.mjs";
48
- import { RobotRepositoryAdapter } from "../database/repositories/robot/repository.mjs";
49
- import { RobotPermissionRepositoryAdapter } from "../database/repositories/robot-permission/repository.mjs";
50
- import { RobotRoleRepositoryAdapter } from "../database/repositories/robot-role/repository.mjs";
51
44
  import { RoleRepositoryAdapter } from "../database/repositories/role/repository.mjs";
52
45
  import { RolePermissionRepositoryAdapter } from "../database/repositories/role-permission/repository.mjs";
53
46
  import { ScopeRepositoryAdapter } from "../database/repositories/scope/repository.mjs";
@@ -80,7 +73,10 @@ var ProvisionerModule = class {
80
73
  const sources = [...this.sources];
81
74
  const config = container.resolve(ConfigInjectionKey);
82
75
  const provisioningDir = path.join(config.writableDirectoryPath, "provisioning");
83
- if (fs.existsSync(provisioningDir)) sources.push(new FileProvisioningSource({ cwd: provisioningDir }));
76
+ if (fs.existsSync(provisioningDir)) sources.push(new FileProvisioningSource({
77
+ cwd: provisioningDir,
78
+ logger: container.resolve(LoggerInjectionKey)
79
+ }));
84
80
  const data = await new CompositeProvisioningSource(sources).load(container);
85
81
  const dataSource = container.resolve(DatabaseInjectionKey.DataSource);
86
82
  const realmRepository = container.resolve(RealmEntity);
@@ -135,16 +131,6 @@ var ProvisionerModule = class {
135
131
  roleRepository,
136
132
  permissionRepository
137
133
  });
138
- const robotSynchronizer = new RobotProvisioningSynchronizer({
139
- robotRepository: new RobotRepositoryAdapter({
140
- repository: container.resolve(RobotEntity),
141
- realmRepository
142
- }),
143
- robotRoleRepository: new RobotRoleRepositoryAdapter(container.resolve(RobotRoleEntity)),
144
- robotPermissionRepository: new RobotPermissionRepositoryAdapter(container.resolve(RobotPermissionEntity)),
145
- roleRepository,
146
- permissionRepository
147
- });
148
134
  const scopeSynchronizer = new ScopeProvisioningSynchronizer({ repository: new ScopeRepositoryAdapter({
149
135
  repository: container.resolve(ScopeEntity),
150
136
  realmRepository
@@ -159,7 +145,6 @@ var ProvisionerModule = class {
159
145
  roleSynchronizer,
160
146
  permissionSynchronizer,
161
147
  userSynchronizer,
162
- robotSynchronizer,
163
148
  scopeSynchronizer
164
149
  }),
165
150
  scopeSynchronizer
@@ -186,11 +171,11 @@ var ProvisionerModule = class {
186
171
  const permissionRepo = dataSource.getRepository(PermissionEntity);
187
172
  const junctionRepo = dataSource.getRepository(PermissionPolicyEntity);
188
173
  const permissions = await permissionRepo.find();
189
- for (const permission of permissions) if (!await junctionRepo.findOneBy({ permission_id: permission.id })) await junctionRepo.save(junctionRepo.create({
190
- permission_id: permission.id,
191
- permission_realm_id: permission.realm_id,
192
- policy_id: defaultPolicy.id,
193
- policy_realm_id: defaultPolicy.realm_id
174
+ for (const permission of permissions) if (!await junctionRepo.findOneBy({ permissionId: permission.id })) await junctionRepo.save(junctionRepo.create({
175
+ permissionId: permission.id,
176
+ permissionRealmId: permission.realmId,
177
+ policyId: defaultPolicy.id,
178
+ policyRealmId: defaultPolicy.realmId
194
179
  }));
195
180
  }
196
181
  };
@@ -1 +1 @@
1
- {"version":3,"file":"module.mjs","names":["ClientEntity","ClientPermissionEntity","ClientRoleEntity","PermissionEntity","RealmEntity","RobotEntity","RobotPermissionEntity","RobotRoleEntity","RoleEntity","RolePermissionEntity","ScopeEntity","UserPermissionEntity","UserRoleEntity","SystemPolicyName","PermissionPolicyEntity","PolicyRepository","UserRepository","ClientProvisioningSynchronizer","GraphProvisioningSynchronizer","PermissionProvisioningSynchronizer","PolicyProvisioningSynchronizer","RealmProvisioningSynchronizer","RobotProvisioningSynchronizer","RoleProvisioningSynchronizer","ScopeProvisioningSynchronizer","UserProvisioningSynchronizer","ClientPermissionRepositoryAdapter","ClientRepositoryAdapter","ClientRoleRepositoryAdapter","KeyRepositoryAdapter","PermissionPolicyRepositoryAdapter","PermissionRepositoryAdapter","PolicyRepositoryAdapter","RealmRepositoryAdapter","RobotPermissionRepositoryAdapter","RobotRepositoryAdapter","RobotRoleRepositoryAdapter","RolePermissionRepositoryAdapter","RoleRepositoryAdapter","ScopeRepositoryAdapter","UserPermissionRepositoryAdapter","UserRepositoryAdapter","UserRoleRepositoryAdapter","DatabaseInjectionKey","ModuleName","fs","path","ConfigInjectionKey","getAppOrigins","SymmetricCipher","LoggerInjectionKey","WebClientProvisioner","KeyProvisioner","CompositeProvisioningSource","FileProvisioningSource","ProvisionerModule","name","dependencies","sources","PROVISIONING","CONFIG","DATABASE","setup","container","config","resolve","provisioningDir","join","writableDirectoryPath","existsSync","push","cwd","composite","data","load","dataSource","DataSource","realmRepository","permissionRepository","repository","policyRepository","permissionPolicyRepository","policySynchronizer","roleRepository","clientRepository","permissionSynchronizer","roleSynchronizer","rolePermissionRepository","clientSynchronizer","clientRoleRepository","clientPermissionRepository","userSynchronizer","userRepository","userRoleRepository","userPermissionRepository","robotSynchronizer","robotRepository","robotRoleRepository","robotPermissionRepository","scopeRepository","scopeSynchronizer","realmSynchronizer","rootSynchronizer","synchronize","webClientProvisioner","appOrigins","logger","keyProvisioner","keyStore","secretsCipher","secretsEncryptionKey","realms","find","realm","ensureForRealm","permissionsDefaultPolicyAssignment","assignDefaultPolicy","defaultPolicy","findOneByName","DEFAULT","permissionRepo","getRepository","junctionRepo","permissions","permission","hasAnyPolicy","findOneBy","permission_id","id","save","create","permission_realm_id","realm_id","policy_id","policy_realm_id"],"sources":["../../../../src/app/modules/provisioning/module.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 */\nimport type {\n Client,\n ClientPermission,\n ClientRole,\n PermissionPolicy,\n Realm,\n Robot,\n RobotPermission,\n RobotRole,\n Role,\n RolePermission,\n Scope,\n UserPermission,\n UserRole,\n} from '@authup/core-kit';\nimport type { DataSource, Repository } from 'typeorm';\nimport {\n ClientEntity,\n ClientPermissionEntity,\n ClientRoleEntity,\n PermissionEntity,\n RealmEntity,\n RobotEntity,\n RobotPermissionEntity,\n RobotRoleEntity,\n RoleEntity,\n RolePermissionEntity,\n ScopeEntity,\n UserPermissionEntity,\n UserRoleEntity,\n} from '../../../adapters/database/index.ts';\nimport { SystemPolicyName } from '@authup/access';\nimport {\n PermissionPolicyEntity,\n PolicyRepository,\n UserRepository,\n} from '../../../adapters/database/domains/index.ts';\nimport type { IContainer } from 'eldin';\nimport {\n ClientProvisioningSynchronizer,\n GraphProvisioningSynchronizer,\n PermissionProvisioningSynchronizer,\n PolicyProvisioningSynchronizer,\n RealmProvisioningSynchronizer,\n RobotProvisioningSynchronizer,\n RoleProvisioningSynchronizer,\n ScopeProvisioningSynchronizer,\n UserProvisioningSynchronizer,\n} from '../../../core/provisioning/synchronizer/index.ts';\nimport type { IProvisioningSource } from '../../../core/provisioning/types.ts';\nimport {\n ClientPermissionRepositoryAdapter,\n ClientRepositoryAdapter,\n ClientRoleRepositoryAdapter,\n KeyRepositoryAdapter,\n PermissionPolicyRepositoryAdapter,\n PermissionRepositoryAdapter,\n PolicyRepositoryAdapter,\n RealmRepositoryAdapter,\n RobotPermissionRepositoryAdapter,\n RobotRepositoryAdapter,\n RobotRoleRepositoryAdapter,\n RolePermissionRepositoryAdapter,\n RoleRepositoryAdapter,\n ScopeRepositoryAdapter,\n UserPermissionRepositoryAdapter,\n UserRepositoryAdapter, \n UserRoleRepositoryAdapter, \n} from '../database/repositories/index.ts';\nimport { DatabaseInjectionKey } from '../database/index.ts';\nimport type { IModule } from 'orkos';\nimport { ModuleName } from '../constants.ts';\nimport fs from 'node:fs';\nimport path from 'node:path';\nimport { ConfigInjectionKey, getAppOrigins } from '../config/index.ts';\nimport { SymmetricCipher } from '@authup/server-kit';\nimport { LoggerInjectionKey } from '../logger/index.ts';\nimport { WebClientProvisioner } from '../../../core/entities/client/index.ts';\nimport { KeyProvisioner } from '../../../core/key/index.ts';\nimport { CompositeProvisioningSource, FileProvisioningSource } from './sources/index.ts';\n\nexport class ProvisionerModule implements IModule {\n readonly name: string;\n\n readonly dependencies: string[];\n\n protected sources: IProvisioningSource[];\n\n constructor(sources: IProvisioningSource[] = []) {\n this.name = ModuleName.PROVISIONING;\n this.dependencies = [ModuleName.CONFIG, ModuleName.DATABASE];\n this.sources = sources;\n }\n\n async setup(container: IContainer): Promise<void> {\n const sources = [...this.sources];\n\n const config = container.resolve(ConfigInjectionKey);\n const provisioningDir = path.join(config.writableDirectoryPath, 'provisioning');\n if (fs.existsSync(provisioningDir)) {\n sources.push(new FileProvisioningSource({ cwd: provisioningDir }));\n }\n\n const composite = new CompositeProvisioningSource(sources);\n const data = await composite.load(container);\n\n const dataSource = container.resolve(DatabaseInjectionKey.DataSource);\n const realmRepository = container.resolve<Repository<Realm>>(RealmEntity);\n\n const permissionRepository = new PermissionRepositoryAdapter({\n repository: container.resolve<Repository<PermissionEntity>>(PermissionEntity),\n realmRepository,\n });\n\n const policyRepository = new PolicyRepositoryAdapter({\n repository: new PolicyRepository(dataSource),\n realmRepository,\n });\n\n // ---------------------------------------------------------------\n // Synchronize all entities (policies → permissions → roles → ...)\n // ---------------------------------------------------------------\n\n const permissionPolicyRepository = new PermissionPolicyRepositoryAdapter(\n container.resolve<Repository<PermissionPolicy>>(PermissionPolicyEntity),\n );\n\n const policySynchronizer = new PolicyProvisioningSynchronizer({\n repository: policyRepository,\n permissionPolicyRepository,\n });\n\n const roleRepository = new RoleRepositoryAdapter({\n repository: container.resolve<Repository<Role>>(RoleEntity),\n realmRepository,\n });\n const clientRepository = new ClientRepositoryAdapter({\n repository: container.resolve<Repository<Client>>(ClientEntity),\n realmRepository,\n });\n\n const permissionSynchronizer = new PermissionProvisioningSynchronizer({\n repository: permissionRepository,\n policyRepository,\n permissionPolicyRepository,\n });\n\n const roleSynchronizer = new RoleProvisioningSynchronizer({\n repository: roleRepository,\n permissionRepository,\n rolePermissionRepository: new RolePermissionRepositoryAdapter(\n container.resolve<Repository<RolePermission>>(RolePermissionEntity),\n ),\n });\n\n const clientSynchronizer = new ClientProvisioningSynchronizer({\n clientRepository,\n clientRoleRepository: new ClientRoleRepositoryAdapter(\n container.resolve<Repository<ClientRole>>(ClientRoleEntity),\n ),\n clientPermissionRepository: new ClientPermissionRepositoryAdapter(\n container.resolve<Repository<ClientPermission>>(ClientPermissionEntity),\n ),\n\n roleRepository,\n permissionRepository,\n\n roleSynchronizer,\n permissionSynchronizer,\n });\n\n const userSynchronizer = new UserProvisioningSynchronizer({\n userRepository: new UserRepositoryAdapter({\n repository: new UserRepository(dataSource),\n realmRepository,\n }),\n userRoleRepository: new UserRoleRepositoryAdapter(\n container.resolve<Repository<UserRole>>(UserRoleEntity),\n ),\n userPermissionRepository: new UserPermissionRepositoryAdapter(\n container.resolve<Repository<UserPermission>>(UserPermissionEntity),\n ),\n\n clientRepository,\n roleRepository,\n permissionRepository,\n });\n\n const robotSynchronizer = new RobotProvisioningSynchronizer({\n robotRepository: new RobotRepositoryAdapter({\n repository: container.resolve<Repository<Robot>>(RobotEntity),\n realmRepository,\n }),\n robotRoleRepository: new RobotRoleRepositoryAdapter(\n container.resolve<Repository<RobotRole>>(RobotRoleEntity),\n ),\n robotPermissionRepository: new RobotPermissionRepositoryAdapter(\n container.resolve<Repository<RobotPermission>>(RobotPermissionEntity),\n ),\n\n roleRepository,\n permissionRepository,\n });\n\n const scopeRepository = new ScopeRepositoryAdapter({\n repository: container.resolve<Repository<Scope>>(ScopeEntity),\n realmRepository,\n });\n\n const scopeSynchronizer = new ScopeProvisioningSynchronizer({ repository: scopeRepository });\n\n const realmSynchronizer = new RealmProvisioningSynchronizer({\n repository: new RealmRepositoryAdapter(realmRepository),\n\n clientSynchronizer,\n roleSynchronizer,\n permissionSynchronizer,\n userSynchronizer,\n robotSynchronizer,\n scopeSynchronizer,\n });\n\n const rootSynchronizer = new GraphProvisioningSynchronizer({\n policySynchronizer,\n permissionSynchronizer,\n roleSynchronizer,\n realmSynchronizer,\n scopeSynchronizer,\n });\n\n await rootSynchronizer.synchronize(data);\n\n // ---------------------------------------------------------------\n // Per-realm public `web` client. Single provisioning mechanism:\n // list every realm (incl. pre-existing) and upsert its web client.\n // Idempotent; guarded on built_in inside the provisioner.\n // ---------------------------------------------------------------\n const webClientProvisioner = new WebClientProvisioner({\n clientRepository,\n appOrigins: getAppOrigins(config),\n logger: container.resolve(LoggerInjectionKey),\n });\n\n // Eager key minting (plan 071 hybrid model): every realm — incl.\n // pre-existing ones — holds sig + enc keys after startup, so the\n // management API shows them without waiting for first use. The\n // adapter is constructed locally (NOT resolved from the oauth2\n // module's registration) so provisioning stays runnable in minimal\n // module graphs (test setup, CLI); the KEK handling is identical.\n const keyProvisioner = new KeyProvisioner({\n keyStore: new KeyRepositoryAdapter(dataSource, {\n secretsCipher: config.secretsEncryptionKey ?\n new SymmetricCipher(config.secretsEncryptionKey) :\n null,\n }),\n logger: container.resolve(LoggerInjectionKey),\n });\n\n const realms = await realmRepository.find();\n for (const realm of realms) {\n await webClientProvisioner.ensureForRealm(realm);\n await keyProvisioner.ensureForRealm(realm);\n }\n\n if (config.permissionsDefaultPolicyAssignment) {\n await this.assignDefaultPolicy(dataSource, policyRepository);\n }\n }\n\n protected async assignDefaultPolicy(\n dataSource: DataSource,\n policyRepository: PolicyRepositoryAdapter,\n ): Promise<void> {\n const defaultPolicy = await policyRepository.findOneByName(SystemPolicyName.DEFAULT);\n if (!defaultPolicy) {\n return;\n }\n\n const permissionRepo = dataSource.getRepository(PermissionEntity);\n const junctionRepo = dataSource.getRepository(PermissionPolicyEntity);\n\n const permissions = await permissionRepo.find();\n for (const permission of permissions) {\n const hasAnyPolicy = await junctionRepo.findOneBy({ permission_id: permission.id });\n\n if (!hasAnyPolicy) {\n await junctionRepo.save(junctionRepo.create({\n permission_id: permission.id,\n permission_realm_id: permission.realm_id,\n policy_id: defaultPolicy.id,\n policy_realm_id: defaultPolicy.realm_id,\n }));\n }\n }\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"module.mjs","names":["ClientEntity","ClientPermissionEntity","ClientRoleEntity","PermissionEntity","RealmEntity","RoleEntity","RolePermissionEntity","ScopeEntity","UserPermissionEntity","UserRoleEntity","SystemPolicyName","PermissionPolicyEntity","PolicyRepository","UserRepository","ClientProvisioningSynchronizer","GraphProvisioningSynchronizer","PermissionProvisioningSynchronizer","PolicyProvisioningSynchronizer","RealmProvisioningSynchronizer","RoleProvisioningSynchronizer","ScopeProvisioningSynchronizer","UserProvisioningSynchronizer","ClientPermissionRepositoryAdapter","ClientRepositoryAdapter","ClientRoleRepositoryAdapter","KeyRepositoryAdapter","PermissionPolicyRepositoryAdapter","PermissionRepositoryAdapter","PolicyRepositoryAdapter","RealmRepositoryAdapter","RolePermissionRepositoryAdapter","RoleRepositoryAdapter","ScopeRepositoryAdapter","UserPermissionRepositoryAdapter","UserRepositoryAdapter","UserRoleRepositoryAdapter","DatabaseInjectionKey","ModuleName","fs","path","ConfigInjectionKey","getAppOrigins","SymmetricCipher","LoggerInjectionKey","WebClientProvisioner","KeyProvisioner","CompositeProvisioningSource","FileProvisioningSource","ProvisionerModule","name","dependencies","sources","PROVISIONING","CONFIG","DATABASE","setup","container","config","resolve","provisioningDir","join","writableDirectoryPath","existsSync","push","cwd","logger","composite","data","load","dataSource","DataSource","realmRepository","permissionRepository","repository","policyRepository","permissionPolicyRepository","policySynchronizer","roleRepository","clientRepository","permissionSynchronizer","roleSynchronizer","rolePermissionRepository","clientSynchronizer","clientRoleRepository","clientPermissionRepository","userSynchronizer","userRepository","userRoleRepository","userPermissionRepository","scopeRepository","scopeSynchronizer","realmSynchronizer","rootSynchronizer","synchronize","webClientProvisioner","appOrigins","keyProvisioner","keyStore","secretsCipher","secretsEncryptionKey","realms","find","realm","ensureForRealm","permissionsDefaultPolicyAssignment","assignDefaultPolicy","defaultPolicy","findOneByName","DEFAULT","permissionRepo","getRepository","junctionRepo","permissions","permission","hasAnyPolicy","findOneBy","permissionId","id","save","create","permissionRealmId","realmId","policyId","policyRealmId"],"sources":["../../../../src/app/modules/provisioning/module.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 */\nimport type {\n Client,\n ClientPermission,\n ClientRole,\n PermissionPolicy,\n Realm,\n Role,\n RolePermission,\n Scope,\n UserPermission,\n UserRole,\n} from '@authup/core-kit';\nimport type { DataSource, Repository } from 'typeorm';\nimport {\n ClientEntity,\n ClientPermissionEntity,\n ClientRoleEntity,\n PermissionEntity,\n RealmEntity,\n RoleEntity,\n RolePermissionEntity,\n ScopeEntity,\n UserPermissionEntity,\n UserRoleEntity,\n} from '../../../adapters/database/index.ts';\nimport { SystemPolicyName } from '@authup/access';\nimport {\n PermissionPolicyEntity,\n PolicyRepository,\n UserRepository,\n} from '../../../adapters/database/domains/index.ts';\nimport type { IContainer } from 'eldin';\nimport {\n ClientProvisioningSynchronizer,\n GraphProvisioningSynchronizer,\n PermissionProvisioningSynchronizer,\n PolicyProvisioningSynchronizer,\n RealmProvisioningSynchronizer,\n RoleProvisioningSynchronizer,\n ScopeProvisioningSynchronizer,\n UserProvisioningSynchronizer,\n} from '../../../core/provisioning/synchronizer/index.ts';\nimport type { IProvisioningSource } from '../../../core/provisioning/types.ts';\nimport {\n ClientPermissionRepositoryAdapter,\n ClientRepositoryAdapter,\n ClientRoleRepositoryAdapter,\n KeyRepositoryAdapter,\n PermissionPolicyRepositoryAdapter,\n PermissionRepositoryAdapter,\n PolicyRepositoryAdapter,\n RealmRepositoryAdapter,\n RolePermissionRepositoryAdapter,\n RoleRepositoryAdapter,\n ScopeRepositoryAdapter,\n UserPermissionRepositoryAdapter,\n UserRepositoryAdapter, \n UserRoleRepositoryAdapter, \n} from '../database/repositories/index.ts';\nimport { DatabaseInjectionKey } from '../database/index.ts';\nimport type { IModule } from 'orkos';\nimport { ModuleName } from '../constants.ts';\nimport fs from 'node:fs';\nimport path from 'node:path';\nimport { ConfigInjectionKey, getAppOrigins } from '../config/index.ts';\nimport { SymmetricCipher } from '@authup/server-kit';\nimport { LoggerInjectionKey } from '../logger/index.ts';\nimport { WebClientProvisioner } from '../../../core/entities/client/index.ts';\nimport { KeyProvisioner } from '../../../core/key/index.ts';\nimport { CompositeProvisioningSource, FileProvisioningSource } from './sources/index.ts';\n\nexport class ProvisionerModule implements IModule {\n readonly name: string;\n\n readonly dependencies: string[];\n\n protected sources: IProvisioningSource[];\n\n constructor(sources: IProvisioningSource[] = []) {\n this.name = ModuleName.PROVISIONING;\n this.dependencies = [ModuleName.CONFIG, ModuleName.DATABASE];\n this.sources = sources;\n }\n\n async setup(container: IContainer): Promise<void> {\n const sources = [...this.sources];\n\n const config = container.resolve(ConfigInjectionKey);\n const provisioningDir = path.join(config.writableDirectoryPath, 'provisioning');\n if (fs.existsSync(provisioningDir)) {\n sources.push(new FileProvisioningSource({\n cwd: provisioningDir,\n logger: container.resolve(LoggerInjectionKey),\n }));\n }\n\n const composite = new CompositeProvisioningSource(sources);\n const data = await composite.load(container);\n\n const dataSource = container.resolve(DatabaseInjectionKey.DataSource);\n const realmRepository = container.resolve<Repository<Realm>>(RealmEntity);\n\n const permissionRepository = new PermissionRepositoryAdapter({\n repository: container.resolve<Repository<PermissionEntity>>(PermissionEntity),\n realmRepository,\n });\n\n const policyRepository = new PolicyRepositoryAdapter({\n repository: new PolicyRepository(dataSource),\n realmRepository,\n });\n\n // ---------------------------------------------------------------\n // Synchronize all entities (policies → permissions → roles → ...)\n // ---------------------------------------------------------------\n\n const permissionPolicyRepository = new PermissionPolicyRepositoryAdapter(\n container.resolve<Repository<PermissionPolicy>>(PermissionPolicyEntity),\n );\n\n const policySynchronizer = new PolicyProvisioningSynchronizer({\n repository: policyRepository,\n permissionPolicyRepository,\n });\n\n const roleRepository = new RoleRepositoryAdapter({\n repository: container.resolve<Repository<Role>>(RoleEntity),\n realmRepository,\n });\n const clientRepository = new ClientRepositoryAdapter({\n repository: container.resolve<Repository<Client>>(ClientEntity),\n realmRepository,\n });\n\n const permissionSynchronizer = new PermissionProvisioningSynchronizer({\n repository: permissionRepository,\n policyRepository,\n permissionPolicyRepository,\n });\n\n const roleSynchronizer = new RoleProvisioningSynchronizer({\n repository: roleRepository,\n permissionRepository,\n rolePermissionRepository: new RolePermissionRepositoryAdapter(\n container.resolve<Repository<RolePermission>>(RolePermissionEntity),\n ),\n });\n\n const clientSynchronizer = new ClientProvisioningSynchronizer({\n clientRepository,\n clientRoleRepository: new ClientRoleRepositoryAdapter(\n container.resolve<Repository<ClientRole>>(ClientRoleEntity),\n ),\n clientPermissionRepository: new ClientPermissionRepositoryAdapter(\n container.resolve<Repository<ClientPermission>>(ClientPermissionEntity),\n ),\n\n roleRepository,\n permissionRepository,\n\n roleSynchronizer,\n permissionSynchronizer,\n });\n\n const userSynchronizer = new UserProvisioningSynchronizer({\n userRepository: new UserRepositoryAdapter({\n repository: new UserRepository(dataSource),\n realmRepository,\n }),\n userRoleRepository: new UserRoleRepositoryAdapter(\n container.resolve<Repository<UserRole>>(UserRoleEntity),\n ),\n userPermissionRepository: new UserPermissionRepositoryAdapter(\n container.resolve<Repository<UserPermission>>(UserPermissionEntity),\n ),\n\n clientRepository,\n roleRepository,\n permissionRepository,\n });\n\n const scopeRepository = new ScopeRepositoryAdapter({\n repository: container.resolve<Repository<Scope>>(ScopeEntity),\n realmRepository,\n });\n\n const scopeSynchronizer = new ScopeProvisioningSynchronizer({ repository: scopeRepository });\n\n const realmSynchronizer = new RealmProvisioningSynchronizer({\n repository: new RealmRepositoryAdapter(realmRepository),\n\n clientSynchronizer,\n roleSynchronizer,\n permissionSynchronizer,\n userSynchronizer,\n scopeSynchronizer,\n });\n\n const rootSynchronizer = new GraphProvisioningSynchronizer({\n policySynchronizer,\n permissionSynchronizer,\n roleSynchronizer,\n realmSynchronizer,\n scopeSynchronizer,\n });\n\n await rootSynchronizer.synchronize(data);\n\n // ---------------------------------------------------------------\n // Per-realm public `web` client. Single provisioning mechanism:\n // list every realm (incl. pre-existing) and upsert its web client.\n // Idempotent; guarded on builtIn inside the provisioner.\n // ---------------------------------------------------------------\n const webClientProvisioner = new WebClientProvisioner({\n clientRepository,\n appOrigins: getAppOrigins(config),\n logger: container.resolve(LoggerInjectionKey),\n });\n\n // Eager key minting (plan 071 hybrid model): every realm — incl.\n // pre-existing ones — holds sig + enc keys after startup, so the\n // management API shows them without waiting for first use. The\n // adapter is constructed locally (NOT resolved from the oauth2\n // module's registration) so provisioning stays runnable in minimal\n // module graphs (test setup, CLI); the KEK handling is identical.\n const keyProvisioner = new KeyProvisioner({\n keyStore: new KeyRepositoryAdapter(dataSource, {\n secretsCipher: config.secretsEncryptionKey ?\n new SymmetricCipher(config.secretsEncryptionKey) :\n null,\n }),\n logger: container.resolve(LoggerInjectionKey),\n });\n\n const realms = await realmRepository.find();\n for (const realm of realms) {\n await webClientProvisioner.ensureForRealm(realm);\n await keyProvisioner.ensureForRealm(realm);\n }\n\n if (config.permissionsDefaultPolicyAssignment) {\n await this.assignDefaultPolicy(dataSource, policyRepository);\n }\n }\n\n protected async assignDefaultPolicy(\n dataSource: DataSource,\n policyRepository: PolicyRepositoryAdapter,\n ): Promise<void> {\n const defaultPolicy = await policyRepository.findOneByName(SystemPolicyName.DEFAULT);\n if (!defaultPolicy) {\n return;\n }\n\n const permissionRepo = dataSource.getRepository(PermissionEntity);\n const junctionRepo = dataSource.getRepository(PermissionPolicyEntity);\n\n const permissions = await permissionRepo.find();\n for (const permission of permissions) {\n const hasAnyPolicy = await junctionRepo.findOneBy({ permissionId: permission.id });\n\n if (!hasAnyPolicy) {\n await junctionRepo.save(junctionRepo.create({\n permissionId: permission.id,\n permissionRealmId: permission.realmId,\n policyId: defaultPolicy.id,\n policyRealmId: defaultPolicy.realmId,\n }));\n }\n }\n }\n}\n"],"mappings":"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"}
@@ -8,5 +8,22 @@ export declare class CompositeProvisioningSource implements IProvisioningSource
8
8
  merge(target: RootProvisioningEntity, source: RootProvisioningEntity): void;
9
9
  private buildEntityKey;
10
10
  private mergeEntities;
11
+ /**
12
+ * Deep-merge two entries sharing a composite key. The later source wins
13
+ * per attribute, but relations are UNIONED — a later source (e.g. a
14
+ * mounted provisioning file) extending a built-in entry (the default
15
+ * source's master realm) must not silently drop the built-in relations
16
+ * (admin user, system client).
17
+ *
18
+ * Policy extraAttributes merge per key with the later source winning —
19
+ * like attributes, NOT like relations: an EA value (a names denylist,
20
+ * an ATTRIBUTES query tree) is policy configuration, and unioning would
21
+ * make shrinking a list impossible and fabricate predicates neither
22
+ * source authored.
23
+ */
24
+ private mergeEntity;
25
+ private mergeRecord;
26
+ private mergeValue;
27
+ private isEntityArray;
11
28
  }
12
29
  //# sourceMappingURL=module.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../../../../src/app/modules/provisioning/sources/composite/module.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,yDAAyD,CAAC;AACtG,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AACrF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAExC,qBAAa,2BAA4B,YAAW,mBAAmB;IACnE,SAAS,CAAC,OAAO,EAAG,mBAAmB,EAAE,CAAC;gBAE9B,OAAO,EAAG,mBAAmB,EAAE;IAIrC,IAAI,CAAC,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAYlE,KAAK,CAAC,MAAM,EAAE,sBAAsB,EAAE,MAAM,EAAE,sBAAsB;IAQpE,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,aAAa;CAgCxB"}
1
+ {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../../../../src/app/modules/provisioning/sources/composite/module.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,yDAAyD,CAAC;AACtG,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AACrF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAmBxC,qBAAa,2BAA4B,YAAW,mBAAmB;IACnE,SAAS,CAAC,OAAO,EAAG,mBAAmB,EAAE,CAAC;gBAE9B,OAAO,EAAG,mBAAmB,EAAE;IAIrC,IAAI,CAAC,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAYlE,KAAK,CAAC,MAAM,EAAE,sBAAsB,EAAE,MAAM,EAAE,sBAAsB;IAQpE,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,aAAa;IAyBrB;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,WAAW;IAiCnB,OAAO,CAAC,WAAW;IAanB,OAAO,CAAC,UAAU;IAqBlB,OAAO,CAAC,aAAa;CAKxB"}
@@ -1,6 +1,7 @@
1
1
  import "node:path";
2
2
  import "node:url";
3
3
  import.meta.url;
4
+ import { isObject } from "@authup/kit";
4
5
  //#region src/app/modules/provisioning/sources/composite/module.ts
5
6
  var CompositeProvisioningSource = class {
6
7
  sources;
@@ -21,7 +22,7 @@ var CompositeProvisioningSource = class {
21
22
  }
22
23
  buildEntityKey(attributes) {
23
24
  if (!attributes.name) return void 0;
24
- return `${attributes.name}:${attributes.realm_id || ""}:${attributes.client_id || ""}`;
25
+ return `${attributes.name}:${attributes.realmId || ""}:${attributes.clientId || ""}`;
25
26
  }
26
27
  mergeEntities(target, source) {
27
28
  if (!source) return target;
@@ -34,11 +35,62 @@ var CompositeProvisioningSource = class {
34
35
  return;
35
36
  }
36
37
  const idx = result.findIndex((r) => this.buildEntityKey(r.attributes) === key);
37
- if (idx !== -1) result[idx] = item;
38
+ if (idx !== -1) result[idx] = this.mergeEntity(result[idx], item);
38
39
  else result.push(item);
39
40
  });
40
41
  return result;
41
42
  }
43
+ /**
44
+ * Deep-merge two entries sharing a composite key. The later source wins
45
+ * per attribute, but relations are UNIONED — a later source (e.g. a
46
+ * mounted provisioning file) extending a built-in entry (the default
47
+ * source's master realm) must not silently drop the built-in relations
48
+ * (admin user, system client).
49
+ *
50
+ * Policy extraAttributes merge per key with the later source winning —
51
+ * like attributes, NOT like relations: an EA value (a names denylist,
52
+ * an ATTRIBUTES query tree) is policy configuration, and unioning would
53
+ * make shrinking a list impossible and fabricate predicates neither
54
+ * source authored.
55
+ */ mergeEntity(target, source) {
56
+ const output = {
57
+ ...target,
58
+ ...source
59
+ };
60
+ output.attributes = {
61
+ ...target.attributes,
62
+ ...source.attributes
63
+ };
64
+ if (target.strategy && !source.strategy) output.strategy = target.strategy;
65
+ if (target.relations && source.relations) output.relations = this.mergeRecord(target.relations, source.relations);
66
+ else if (target.relations && !source.relations) output.relations = target.relations;
67
+ if (target.extraAttributes && source.extraAttributes) output.extraAttributes = {
68
+ ...target.extraAttributes,
69
+ ...source.extraAttributes
70
+ };
71
+ else if (target.extraAttributes && !source.extraAttributes) output.extraAttributes = target.extraAttributes;
72
+ if (target.children && source.children) output.children = this.mergeEntities(target.children, source.children);
73
+ else if (target.children && !source.children) output.children = target.children;
74
+ return output;
75
+ }
76
+ mergeRecord(target, source) {
77
+ const output = { ...target };
78
+ for (const key of Object.keys(source)) output[key] = key in target ? this.mergeValue(target[key], source[key]) : source[key];
79
+ return output;
80
+ }
81
+ mergeValue(target, source) {
82
+ if (typeof target === "undefined") return source;
83
+ if (typeof source === "undefined") return target;
84
+ if (Array.isArray(target) && Array.isArray(source)) {
85
+ if (this.isEntityArray(target) || this.isEntityArray(source)) return this.mergeEntities(target, source);
86
+ return [.../* @__PURE__ */ new Set([...target, ...source])];
87
+ }
88
+ if (isObject(target) && isObject(source)) return this.mergeRecord(target, source);
89
+ return source;
90
+ }
91
+ isEntityArray(value) {
92
+ return value.some((item) => isObject(item) && "attributes" in item);
93
+ }
42
94
  };
43
95
  //#endregion
44
96
  export { CompositeProvisioningSource };
@@ -1 +1 @@
1
- {"version":3,"file":"module.mjs","names":["CompositeProvisioningSource","sources","load","container","output","sourcesData","Promise","all","map","source","sourceData","merge","target","policies","mergeEntities","permissions","roles","scopes","realms","buildEntityKey","attributes","name","undefined","realm_id","client_id","result","forEach","item","key","push","idx","findIndex","r"],"sources":["../../../../../../src/app/modules/provisioning/sources/composite/module.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 { RootProvisioningEntity } from '../../../../../core/provisioning/entities/root/index.ts';\nimport type { IProvisioningSource } from '../../../../../core/provisioning/types.ts';\nimport type { IContainer } from 'eldin';\n\nexport class CompositeProvisioningSource implements IProvisioningSource {\n protected sources : IProvisioningSource[];\n\n constructor(sources : IProvisioningSource[]) {\n this.sources = sources;\n }\n\n async load(container: IContainer): Promise<RootProvisioningEntity> {\n const output : RootProvisioningEntity = {};\n\n const sourcesData = await Promise.all(\n (this.sources).map((source) => source.load(container)),\n );\n\n sourcesData.map((sourceData) => this.merge(output, sourceData));\n\n return output;\n }\n\n merge(target: RootProvisioningEntity, source: RootProvisioningEntity) {\n target.policies = this.mergeEntities(target.policies, source.policies);\n target.permissions = this.mergeEntities(target.permissions, source.permissions);\n target.roles = this.mergeEntities(target.roles, source.roles);\n target.scopes = this.mergeEntities(target.scopes, source.scopes);\n target.realms = this.mergeEntities(target.realms, source.realms);\n }\n\n private buildEntityKey(\n attributes: {\n name?: string,\n realm_id?: string | null,\n client_id?: string | null\n },\n ): string | undefined {\n if (!attributes.name) return undefined;\n return `${attributes.name}:${attributes.realm_id || ''}:${attributes.client_id || ''}`;\n }\n\n private mergeEntities<\n T extends {\n attributes: {\n name?: string,\n realm_id?: string | null,\n client_id?: string | null\n }\n },\n >(\n target: T[] | undefined,\n source: T[] | undefined,\n ): T[] | undefined {\n if (!source) return target;\n if (!target) return [...source];\n\n const result = [...target];\n source.forEach((item) => {\n const key = this.buildEntityKey(item.attributes);\n if (!key) {\n result.push(item);\n return;\n }\n\n const idx = result.findIndex((r) => this.buildEntityKey(r.attributes) === key);\n if (idx !== -1) {\n result[idx] = item;\n } else {\n result.push(item);\n }\n });\n return result;\n }\n}\n"],"mappings":";;;;AAWA,IAAaA,8BAAb,MAAaA;CACCC;CAEV,YAAYA,SAAiC;EACzC,KAAKA,UAAUA;CACnB;CAEA,MAAMC,KAAKC,WAAwD;EAC/D,MAAMC,SAAkC,CAAC;EAMzCC,CAAAA,MAJ0BC,QAAQC,IAC9B,KAAMN,QAASO,KAAKC,WAAWA,OAAOP,KAAKC,SAAAA,CAAAA,CAAAA,EAAAA,CAGnCK,KAAKE,eAAe,KAAKC,MAAMP,QAAQM,UAAAA,CAAAA;EAEnD,OAAON;CACX;CAEAO,MAAMC,QAAgCH,QAAgC;EAClEG,OAAOC,WAAW,KAAKC,cAAcF,OAAOC,UAAUJ,OAAOI,QAAQ;EACrED,OAAOG,cAAc,KAAKD,cAAcF,OAAOG,aAAaN,OAAOM,WAAW;EAC9EH,OAAOI,QAAQ,KAAKF,cAAcF,OAAOI,OAAOP,OAAOO,KAAK;EAC5DJ,OAAOK,SAAS,KAAKH,cAAcF,OAAOK,QAAQR,OAAOQ,MAAM;EAC/DL,OAAOM,SAAS,KAAKJ,cAAcF,OAAOM,QAAQT,OAAOS,MAAM;CACnE;CAEQC,eACJC,YAKkB;EAClB,IAAI,CAACA,WAAWC,MAAM,OAAOC,KAAAA;EAC7B,OAAO,GAAGF,WAAWC,KAAK,GAAGD,WAAWG,YAAY,GAAG,GAAGH,WAAWI,aAAa;CACtF;CAEQV,cASJF,QACAH,QACe;EACf,IAAI,CAACA,QAAQ,OAAOG;EACpB,IAAI,CAACA,QAAQ,OAAO,CAAA,GAAIH,MAAAA;EAExB,MAAMgB,SAAS,CAAA,GAAIb,MAAAA;EACnBH,OAAOiB,SAASC,SAAAA;GACZ,MAAMC,MAAM,KAAKT,eAAeQ,KAAKP,UAAU;GAC/C,IAAI,CAACQ,KAAK;IACNH,OAAOI,KAAKF,IAAAA;IACZ;GACJ;GAEA,MAAMG,MAAML,OAAOM,WAAWC,MAAM,KAAKb,eAAea,EAAEZ,UAAU,MAAMQ,GAAAA;GAC1E,IAAIE,QAAQ,IACRL,OAAOK,OAAOH;QAEdF,OAAOI,KAAKF,IAAAA;EAEpB,CAAA;EACA,OAAOF;CACX;AACJ"}
1
+ {"version":3,"file":"module.mjs","names":["isObject","CompositeProvisioningSource","sources","load","container","output","sourcesData","Promise","all","map","source","sourceData","merge","target","policies","mergeEntities","permissions","roles","scopes","realms","buildEntityKey","attributes","name","undefined","realmId","clientId","result","forEach","item","key","push","idx","findIndex","r","mergeEntity","strategy","relations","mergeRecord","extraAttributes","children","Object","keys","mergeValue","Array","isArray","isEntityArray","Set","value","some"],"sources":["../../../../../../src/app/modules/provisioning/sources/composite/module.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 { isObject } from '@authup/kit';\nimport type { RootProvisioningEntity } from '../../../../../core/provisioning/entities/root/index.ts';\nimport type { IProvisioningSource } from '../../../../../core/provisioning/types.ts';\nimport type { IContainer } from 'eldin';\n\n/**\n * Structural view of a provisioning entity used by the composite merge.\n * Covers every entity shape (realm, client, user, role, permission, scope,\n * policy): the composite-key attribute bag plus the deep-mergeable groups.\n */\ntype MergeableProvisioningEntity = {\n attributes: {\n name?: string,\n realmId?: string | null,\n clientId?: string | null,\n },\n strategy?: unknown,\n relations?: Record<string, unknown>,\n children?: MergeableProvisioningEntity[],\n extraAttributes?: Record<string, unknown>,\n};\n\nexport class CompositeProvisioningSource implements IProvisioningSource {\n protected sources : IProvisioningSource[];\n\n constructor(sources : IProvisioningSource[]) {\n this.sources = sources;\n }\n\n async load(container: IContainer): Promise<RootProvisioningEntity> {\n const output : RootProvisioningEntity = {};\n\n const sourcesData = await Promise.all(\n (this.sources).map((source) => source.load(container)),\n );\n\n sourcesData.map((sourceData) => this.merge(output, sourceData));\n\n return output;\n }\n\n merge(target: RootProvisioningEntity, source: RootProvisioningEntity) {\n target.policies = this.mergeEntities(target.policies, source.policies);\n target.permissions = this.mergeEntities(target.permissions, source.permissions);\n target.roles = this.mergeEntities(target.roles, source.roles);\n target.scopes = this.mergeEntities(target.scopes, source.scopes);\n target.realms = this.mergeEntities(target.realms, source.realms);\n }\n\n private buildEntityKey(\n attributes: MergeableProvisioningEntity['attributes'],\n ): string | undefined {\n if (!attributes.name) return undefined;\n return `${attributes.name}:${attributes.realmId || ''}:${attributes.clientId || ''}`;\n }\n\n private mergeEntities<T extends MergeableProvisioningEntity>(\n target: T[] | undefined,\n source: T[] | undefined,\n ): T[] | undefined {\n if (!source) return target;\n if (!target) return [...source];\n\n const result = [...target];\n source.forEach((item) => {\n const key = this.buildEntityKey(item.attributes);\n if (!key) {\n result.push(item);\n return;\n }\n\n const idx = result.findIndex((r) => this.buildEntityKey(r.attributes) === key);\n if (idx !== -1) {\n result[idx] = this.mergeEntity(result[idx], item) as T;\n } else {\n result.push(item);\n }\n });\n return result;\n }\n\n /**\n * Deep-merge two entries sharing a composite key. The later source wins\n * per attribute, but relations are UNIONED — a later source (e.g. a\n * mounted provisioning file) extending a built-in entry (the default\n * source's master realm) must not silently drop the built-in relations\n * (admin user, system client).\n *\n * Policy extraAttributes merge per key with the later source winning —\n * like attributes, NOT like relations: an EA value (a names denylist,\n * an ATTRIBUTES query tree) is policy configuration, and unioning would\n * make shrinking a list impossible and fabricate predicates neither\n * source authored.\n */\n private mergeEntity(\n target: MergeableProvisioningEntity,\n source: MergeableProvisioningEntity,\n ): MergeableProvisioningEntity {\n const output = { ...target, ...source };\n\n output.attributes = { ...target.attributes, ...source.attributes };\n\n if (target.strategy && !source.strategy) {\n output.strategy = target.strategy;\n }\n\n if (target.relations && source.relations) {\n output.relations = this.mergeRecord(target.relations, source.relations);\n } else if (target.relations && !source.relations) {\n output.relations = target.relations;\n }\n\n if (target.extraAttributes && source.extraAttributes) {\n output.extraAttributes = { ...target.extraAttributes, ...source.extraAttributes };\n } else if (target.extraAttributes && !source.extraAttributes) {\n output.extraAttributes = target.extraAttributes;\n }\n\n if (target.children && source.children) {\n output.children = this.mergeEntities(target.children, source.children);\n } else if (target.children && !source.children) {\n output.children = target.children;\n }\n\n return output;\n }\n\n private mergeRecord(\n target: Record<string, unknown>,\n source: Record<string, unknown>,\n ): Record<string, unknown> {\n const output : Record<string, unknown> = { ...target };\n for (const key of Object.keys(source)) {\n output[key] = key in target ?\n this.mergeValue(target[key], source[key]) :\n source[key];\n }\n return output;\n }\n\n private mergeValue(target: unknown, source: unknown): unknown {\n if (typeof target === 'undefined') return source;\n if (typeof source === 'undefined') return target;\n\n if (Array.isArray(target) && Array.isArray(source)) {\n if (this.isEntityArray(target) || this.isEntityArray(source)) {\n return this.mergeEntities(\n target as MergeableProvisioningEntity[],\n source as MergeableProvisioningEntity[],\n );\n }\n return [...new Set([...target, ...source])];\n }\n\n if (isObject(target) && isObject(source)) {\n return this.mergeRecord(target, source);\n }\n\n return source;\n }\n\n private isEntityArray(value: unknown[]): value is MergeableProvisioningEntity[] {\n return value.some(\n (item) => isObject(item) && 'attributes' in item,\n );\n }\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../../../../src/app/modules/provisioning/sources/default/module.ts"],"names":[],"mappings":"AA2BA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAMxC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAEvD,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,+DAA+D,CAAC;AAClH,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2DAA2D,CAAC;AAC1G,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,0DAA0D,CAAC;AACxG,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,yDAAyD,CAAC;AACtG,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,yDAAyD,CAAC;AACtG,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,0DAA0D,CAAC;AAGxG,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAErF,qBAAa,yBAA0B,YAAW,mBAAmB;IACjE,aAAa,IAAI,wBAAwB,EAAE;IAgG3C,gBAAgB,IAAI,4BAA4B,EAAE;IA6BlD,WAAW,IAAI,uBAAuB,EAAE;IAcxC,UAAU,IAAI,sBAAsB,EAAE;IA2EhC,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,EAAE,CAAC;IA+F/D,IAAI,CAAC,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,sBAAsB,CAAC;CAWrE"}
1
+ {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../../../../src/app/modules/provisioning/sources/default/module.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAKxC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAEvD,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,+DAA+D,CAAC;AAClH,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2DAA2D,CAAC;AAC1G,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,0DAA0D,CAAC;AACxG,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,yDAAyD,CAAC;AACtG,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,yDAAyD,CAAC;AACtG,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,0DAA0D,CAAC;AAGxG,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAErF,qBAAa,yBAA0B,YAAW,mBAAmB;IACjE,aAAa,IAAI,wBAAwB,EAAE;IAgF3C,gBAAgB,IAAI,4BAA4B,EAAE;IA4BlD,WAAW,IAAI,uBAAuB,EAAE;IAcxC,UAAU,IAAI,sBAAsB,EAAE;IAwEhC,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,EAAE,CAAC;IAwE/D,IAAI,CAAC,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,sBAAsB,CAAC;CAWrE"}
@@ -2,7 +2,6 @@ import "node:path";
2
2
  import "node:url";
3
3
  import.meta.url;
4
4
  import { ClientCredentialsService } from "../../../../../core/authentication/credential/entities/client/module.mjs";
5
- import { RobotCredentialsService } from "../../../../../core/authentication/credential/entities/robot/module.mjs";
6
5
  import { UserCredentialsService } from "../../../../../core/authentication/credential/entities/user/module.mjs";
7
6
  import { ProvisioningEntityStrategyType } from "../../../../../core/provisioning/strategy/constants.mjs";
8
7
  import "../../../../../core/provisioning/strategy/index.mjs";
@@ -20,20 +19,20 @@ var DefaultProvisioningSource = class {
20
19
  attributes: {
21
20
  name: SystemPolicyName.DEFAULT,
22
21
  type: BuiltInPolicyType.COMPOSITE,
23
- built_in: true,
24
- realm_id: null
22
+ builtIn: true,
23
+ realmId: null
25
24
  },
26
- extraAttributes: { decision_strategy: DecisionStrategy.UNANIMOUS },
25
+ extraAttributes: { decisionStrategy: DecisionStrategy.UNANIMOUS },
27
26
  children: [{ attributes: {
28
27
  name: SystemPolicyName.IDENTITY,
29
28
  type: BuiltInPolicyType.IDENTITY,
30
- built_in: true,
31
- realm_id: null
29
+ builtIn: true,
30
+ realmId: null
32
31
  } }, { attributes: {
33
32
  name: SystemPolicyName.PERMISSION_BINDING,
34
33
  type: BuiltInPolicyType.PERMISSION_BINDING,
35
- built_in: true,
36
- realm_id: null
34
+ builtIn: true,
35
+ realmId: null
37
36
  } }]
38
37
  },
39
38
  {
@@ -41,31 +40,17 @@ var DefaultProvisioningSource = class {
41
40
  name: SystemPolicyName.CLIENT_NAMES_SELF_MANAGE,
42
41
  type: BuiltInPolicyType.ATTRIBUTE_NAMES,
43
42
  invert: true,
44
- built_in: true,
45
- realm_id: null
43
+ builtIn: true,
44
+ realmId: null
46
45
  },
47
46
  extraAttributes: { names: [
48
47
  "active",
49
- "realm_id",
50
- "auth_method",
51
- "token_binding_method",
52
- "secret_hashed",
53
- "secret_encrypted",
54
- "access_policy_id"
55
- ] }
56
- },
57
- {
58
- attributes: {
59
- name: SystemPolicyName.ROBOT_NAMES_SELF_MANAGE,
60
- type: BuiltInPolicyType.ATTRIBUTE_NAMES,
61
- invert: true,
62
- built_in: true,
63
- realm_id: null
64
- },
65
- extraAttributes: { names: [
66
- "active",
67
- "realm_id",
68
- "user_id"
48
+ "realmId",
49
+ "authMethod",
50
+ "tokenBindingMethod",
51
+ "secretHashed",
52
+ "secretEncrypted",
53
+ "accessPolicyId"
69
54
  ] }
70
55
  },
71
56
  {
@@ -73,15 +58,15 @@ var DefaultProvisioningSource = class {
73
58
  name: SystemPolicyName.USER_NAMES_SELF_MANAGE,
74
59
  type: BuiltInPolicyType.ATTRIBUTE_NAMES,
75
60
  invert: true,
76
- built_in: true,
77
- realm_id: null
61
+ builtIn: true,
62
+ realmId: null
78
63
  },
79
64
  extraAttributes: { names: [
80
65
  "active",
81
- "name_locked",
66
+ "nameLocked",
82
67
  "status",
83
- "status_message",
84
- "realm_id"
68
+ "statusMessage",
69
+ "realmId"
85
70
  ] }
86
71
  }
87
72
  ];
@@ -89,18 +74,17 @@ var DefaultProvisioningSource = class {
89
74
  buildPermissions() {
90
75
  const policiesByPermission = {
91
76
  [PermissionName.CLIENT_SELF_MANAGE]: [SystemPolicyName.DEFAULT, SystemPolicyName.CLIENT_NAMES_SELF_MANAGE],
92
- [PermissionName.ROBOT_SELF_MANAGE]: [SystemPolicyName.DEFAULT, SystemPolicyName.ROBOT_NAMES_SELF_MANAGE],
93
77
  [PermissionName.USER_SELF_MANAGE]: [SystemPolicyName.DEFAULT, SystemPolicyName.USER_NAMES_SELF_MANAGE]
94
78
  };
95
79
  return Object.values(PermissionName).map((name) => {
96
80
  const entity = {
97
81
  strategy: {
98
82
  type: ProvisioningEntityStrategyType.MERGE,
99
- attributes: ["built_in"]
83
+ attributes: ["builtIn"]
100
84
  },
101
85
  attributes: {
102
86
  name,
103
- built_in: true
87
+ builtIn: true
104
88
  }
105
89
  };
106
90
  const policies = policiesByPermission[name];
@@ -112,11 +96,11 @@ var DefaultProvisioningSource = class {
112
96
  return Object.values(ScopeName).map((name) => ({
113
97
  strategy: {
114
98
  type: ProvisioningEntityStrategyType.MERGE,
115
- attributes: ["built_in"]
99
+ attributes: ["builtIn"]
116
100
  },
117
101
  attributes: {
118
102
  name,
119
- built_in: true
103
+ builtIn: true
120
104
  }
121
105
  }));
122
106
  }
@@ -124,11 +108,11 @@ var DefaultProvisioningSource = class {
124
108
  return [{
125
109
  strategy: {
126
110
  type: ProvisioningEntityStrategyType.MERGE,
127
- attributes: ["built_in"]
111
+ attributes: ["builtIn"]
128
112
  },
129
113
  attributes: {
130
114
  name: ROLE_ADMIN_NAME,
131
- built_in: true
115
+ builtIn: true
132
116
  },
133
117
  relations: {
134
118
  globalPermissions: ["*"],
@@ -137,11 +121,11 @@ var DefaultProvisioningSource = class {
137
121
  }, {
138
122
  strategy: {
139
123
  type: ProvisioningEntityStrategyType.MERGE,
140
- attributes: ["built_in"]
124
+ attributes: ["builtIn"]
141
125
  },
142
126
  attributes: {
143
127
  name: ROLE_REALM_ADMIN_NAME,
144
- built_in: true
128
+ builtIn: true
145
129
  },
146
130
  relations: {
147
131
  globalPermissions: ["*"],
@@ -165,9 +149,6 @@ var DefaultProvisioningSource = class {
165
149
  PermissionName.PERMISSION_CREATE,
166
150
  PermissionName.PERMISSION_UPDATE,
167
151
  PermissionName.PERMISSION_DELETE,
168
- PermissionName.ROBOT_CREATE,
169
- PermissionName.ROBOT_UPDATE,
170
- PermissionName.ROBOT_DELETE,
171
152
  PermissionName.ROLE_CREATE,
172
153
  PermissionName.ROLE_UPDATE,
173
154
  PermissionName.ROLE_DELETE,
@@ -189,11 +170,11 @@ var DefaultProvisioningSource = class {
189
170
  const masterRealm = {
190
171
  strategy: {
191
172
  type: ProvisioningEntityStrategyType.MERGE,
192
- attributes: ["built_in"]
173
+ attributes: ["builtIn"]
193
174
  },
194
175
  attributes: {
195
176
  name: REALM_MASTER_NAME,
196
- built_in: true
177
+ builtIn: true
197
178
  },
198
179
  relations: {}
199
180
  };
@@ -219,52 +200,36 @@ var DefaultProvisioningSource = class {
219
200
  if (config.clientSystemSecretReset) clientStrategy = {
220
201
  type: ProvisioningEntityStrategyType.MERGE,
221
202
  attributes: [
222
- "built_in",
223
- "auth_method",
224
- "token_binding_method",
203
+ "builtIn",
204
+ "authMethod",
205
+ "tokenBindingMethod",
225
206
  "secret",
226
- "secret_hashed",
227
- "secret_encrypted"
207
+ "secretHashed",
208
+ "secretEncrypted"
228
209
  ]
229
210
  };
230
211
  else clientStrategy = {
231
212
  type: ProvisioningEntityStrategyType.MERGE,
232
213
  attributes: [
233
- "built_in",
234
- "auth_method",
235
- "token_binding_method"
214
+ "builtIn",
215
+ "authMethod",
216
+ "tokenBindingMethod"
236
217
  ]
237
218
  };
238
219
  masterRealm.relations = masterRealm.relations || {};
239
220
  masterRealm.relations.clients = [{
240
221
  strategy: clientStrategy,
241
222
  attributes: {
242
- built_in: true,
243
- auth_method: ClientAuthMethod.SECRET,
244
- token_binding_method: ClientTokenBindingMethod.NONE,
223
+ builtIn: true,
224
+ authMethod: ClientAuthMethod.SECRET,
225
+ tokenBindingMethod: ClientTokenBindingMethod.NONE,
245
226
  name: "system",
246
- secret: await clientCredentialsService.protect(config.clientSystemSecret, { secret_hashed: false }),
247
- secret_hashed: false,
227
+ secret: await clientCredentialsService.protect(config.clientSystemSecret, { secretHashed: false }),
228
+ secretHashed: false,
248
229
  active: config.clientSystemEnabled
249
230
  },
250
231
  relations: { globalRoles: [ROLE_ADMIN_NAME] }
251
232
  }];
252
- const robotCredentialsService = new RobotCredentialsService();
253
- let robotStrategy;
254
- if (config.robotAdminSecretReset) robotStrategy = {
255
- type: ProvisioningEntityStrategyType.MERGE,
256
- attributes: ["secret"]
257
- };
258
- masterRealm.relations = masterRealm.relations || {};
259
- masterRealm.relations.robots = [{
260
- strategy: robotStrategy,
261
- attributes: {
262
- name: "system",
263
- secret: await robotCredentialsService.protect(config.robotAdminSecret),
264
- active: config.robotAdminEnabled
265
- },
266
- relations: { globalRoles: [ROLE_ADMIN_NAME] }
267
- }];
268
233
  return [masterRealm];
269
234
  }
270
235
  async load(container) {