@authup/server-core 1.0.0-beta.58 → 1.0.0-beta.60

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 (730) hide show
  1. package/dist/adapters/database/domains/client/entity.d.ts.map +1 -1
  2. package/dist/adapters/database/domains/client/entity.mjs +58 -30
  3. package/dist/adapters/database/domains/client/entity.mjs.map +1 -1
  4. package/dist/adapters/database/domains/client-permission/entity.d.ts.map +1 -1
  5. package/dist/adapters/database/domains/client-permission/entity.mjs +48 -24
  6. package/dist/adapters/database/domains/client-permission/entity.mjs.map +1 -1
  7. package/dist/adapters/database/domains/client-role/entity.d.ts.map +1 -1
  8. package/dist/adapters/database/domains/client-role/entity.mjs +37 -17
  9. package/dist/adapters/database/domains/client-role/entity.mjs.map +1 -1
  10. package/dist/adapters/database/domains/client-scope/entity.d.ts.map +1 -1
  11. package/dist/adapters/database/domains/client-scope/entity.mjs +30 -14
  12. package/dist/adapters/database/domains/client-scope/entity.mjs.map +1 -1
  13. package/dist/adapters/database/domains/consent/entity.d.ts.map +1 -1
  14. package/dist/adapters/database/domains/consent/entity.mjs +34 -18
  15. package/dist/adapters/database/domains/consent/entity.mjs.map +1 -1
  16. package/dist/adapters/database/domains/event/entity.d.ts +1 -0
  17. package/dist/adapters/database/domains/event/entity.d.ts.map +1 -1
  18. package/dist/adapters/database/domains/event/entity.mjs +48 -23
  19. package/dist/adapters/database/domains/event/entity.mjs.map +1 -1
  20. package/dist/adapters/database/domains/identity-provider/entity.d.ts.map +1 -1
  21. package/dist/adapters/database/domains/identity-provider/entity.mjs +43 -23
  22. package/dist/adapters/database/domains/identity-provider/entity.mjs.map +1 -1
  23. package/dist/adapters/database/domains/identity-provider-account/entity.d.ts.map +1 -1
  24. package/dist/adapters/database/domains/identity-provider-account/entity.mjs +50 -22
  25. package/dist/adapters/database/domains/identity-provider-account/entity.mjs.map +1 -1
  26. package/dist/adapters/database/domains/identity-provider-attribute/entity.d.ts.map +1 -1
  27. package/dist/adapters/database/domains/identity-provider-attribute/entity.mjs +14 -6
  28. package/dist/adapters/database/domains/identity-provider-attribute/entity.mjs.map +1 -1
  29. package/dist/adapters/database/domains/identity-provider-attribute-mapping/entity.d.ts.map +1 -1
  30. package/dist/adapters/database/domains/identity-provider-attribute-mapping/entity.mjs +5 -1
  31. package/dist/adapters/database/domains/identity-provider-attribute-mapping/entity.mjs.map +1 -1
  32. package/dist/adapters/database/domains/identity-provider-permission-mapping/entity.d.ts.map +1 -1
  33. package/dist/adapters/database/domains/identity-provider-permission-mapping/entity.mjs +18 -6
  34. package/dist/adapters/database/domains/identity-provider-permission-mapping/entity.mjs.map +1 -1
  35. package/dist/adapters/database/domains/identity-provider-role-mapping/entity.d.ts.map +1 -1
  36. package/dist/adapters/database/domains/identity-provider-role-mapping/entity.mjs +34 -14
  37. package/dist/adapters/database/domains/identity-provider-role-mapping/entity.mjs.map +1 -1
  38. package/dist/adapters/database/domains/key/entity.d.ts.map +1 -1
  39. package/dist/adapters/database/domains/key/entity.mjs +35 -19
  40. package/dist/adapters/database/domains/key/entity.mjs.map +1 -1
  41. package/dist/adapters/database/domains/permission/entity.d.ts.map +1 -1
  42. package/dist/adapters/database/domains/permission/entity.mjs +35 -19
  43. package/dist/adapters/database/domains/permission/entity.mjs.map +1 -1
  44. package/dist/adapters/database/domains/permission-policy/entity.d.ts.map +1 -1
  45. package/dist/adapters/database/domains/permission-policy/entity.mjs +37 -17
  46. package/dist/adapters/database/domains/permission-policy/entity.mjs.map +1 -1
  47. package/dist/adapters/database/domains/policy/entity.d.ts.map +1 -1
  48. package/dist/adapters/database/domains/policy/entity.mjs +51 -27
  49. package/dist/adapters/database/domains/policy/entity.mjs.map +1 -1
  50. package/dist/adapters/database/domains/policy-attribute/entity.d.ts.map +1 -1
  51. package/dist/adapters/database/domains/policy-attribute/entity.mjs +14 -6
  52. package/dist/adapters/database/domains/policy-attribute/entity.mjs.map +1 -1
  53. package/dist/adapters/database/domains/realm/entity.d.ts.map +1 -1
  54. package/dist/adapters/database/domains/realm/entity.mjs +36 -20
  55. package/dist/adapters/database/domains/realm/entity.mjs.map +1 -1
  56. package/dist/adapters/database/domains/role/entity.d.ts.map +1 -1
  57. package/dist/adapters/database/domains/role/entity.mjs +44 -24
  58. package/dist/adapters/database/domains/role/entity.mjs.map +1 -1
  59. package/dist/adapters/database/domains/role-attribute/entity.d.ts.map +1 -1
  60. package/dist/adapters/database/domains/role-attribute/entity.mjs +30 -14
  61. package/dist/adapters/database/domains/role-attribute/entity.mjs.map +1 -1
  62. package/dist/adapters/database/domains/role-permission/entity.d.ts.map +1 -1
  63. package/dist/adapters/database/domains/role-permission/entity.mjs +45 -21
  64. package/dist/adapters/database/domains/role-permission/entity.mjs.map +1 -1
  65. package/dist/adapters/database/domains/scope/entity.d.ts.map +1 -1
  66. package/dist/adapters/database/domains/scope/entity.mjs +35 -19
  67. package/dist/adapters/database/domains/scope/entity.mjs.map +1 -1
  68. package/dist/adapters/database/domains/session/entity.d.ts.map +1 -1
  69. package/dist/adapters/database/domains/session/entity.mjs +63 -31
  70. package/dist/adapters/database/domains/session/entity.mjs.map +1 -1
  71. package/dist/adapters/database/domains/session-token/entity.d.ts +4 -1
  72. package/dist/adapters/database/domains/session-token/entity.d.ts.map +1 -1
  73. package/dist/adapters/database/domains/session-token/entity.mjs +40 -11
  74. package/dist/adapters/database/domains/session-token/entity.mjs.map +1 -1
  75. package/dist/adapters/database/domains/trust-anchor/entity.d.ts.map +1 -1
  76. package/dist/adapters/database/domains/trust-anchor/entity.mjs +25 -13
  77. package/dist/adapters/database/domains/trust-anchor/entity.mjs.map +1 -1
  78. package/dist/adapters/database/domains/user/entity.d.ts.map +1 -1
  79. package/dist/adapters/database/domains/user/entity.mjs +58 -34
  80. package/dist/adapters/database/domains/user/entity.mjs.map +1 -1
  81. package/dist/adapters/database/domains/user-attribute/entity.d.ts.map +1 -1
  82. package/dist/adapters/database/domains/user-attribute/entity.mjs +27 -11
  83. package/dist/adapters/database/domains/user-attribute/entity.mjs.map +1 -1
  84. package/dist/adapters/database/domains/user-authenticator/entity.d.ts.map +1 -1
  85. package/dist/adapters/database/domains/user-authenticator/entity.mjs +43 -23
  86. package/dist/adapters/database/domains/user-authenticator/entity.mjs.map +1 -1
  87. package/dist/adapters/database/domains/user-permission/entity.d.ts.map +1 -1
  88. package/dist/adapters/database/domains/user-permission/entity.mjs +45 -21
  89. package/dist/adapters/database/domains/user-permission/entity.mjs.map +1 -1
  90. package/dist/adapters/database/domains/user-role/entity.d.ts.map +1 -1
  91. package/dist/adapters/database/domains/user-role/entity.mjs +37 -17
  92. package/dist/adapters/database/domains/user-role/entity.mjs.map +1 -1
  93. package/dist/adapters/database/errors/driver.d.ts +9 -0
  94. package/dist/adapters/database/errors/driver.d.ts.map +1 -1
  95. package/dist/adapters/database/errors/driver.mjs +20 -1
  96. package/dist/adapters/database/errors/driver.mjs.map +1 -1
  97. package/dist/adapters/database/errors/index.mjs +2 -2
  98. package/dist/adapters/database/helpers/index.mjs +2 -2
  99. package/dist/adapters/database/helpers/is-supported.d.ts +7 -0
  100. package/dist/adapters/database/helpers/is-supported.d.ts.map +1 -1
  101. package/dist/adapters/database/helpers/is-supported.mjs +9 -1
  102. package/dist/adapters/database/helpers/is-supported.mjs.map +1 -1
  103. package/dist/adapters/database/index.mjs +3 -3
  104. package/dist/adapters/database/migrations/mysql/1785871780234-AlignSchemaWithEntityMetadata.d.ts +66 -0
  105. package/dist/adapters/database/migrations/mysql/1785871780234-AlignSchemaWithEntityMetadata.d.ts.map +1 -0
  106. package/dist/adapters/database/migrations/mysql/1785871780234-AlignSchemaWithEntityMetadata.mjs +181 -0
  107. package/dist/adapters/database/migrations/mysql/1785871780234-AlignSchemaWithEntityMetadata.mjs.map +1 -0
  108. package/dist/adapters/database/migrations/mysql/1786436332251-QueryIndexes.d.ts +44 -0
  109. package/dist/adapters/database/migrations/mysql/1786436332251-QueryIndexes.d.ts.map +1 -0
  110. package/dist/adapters/database/migrations/mysql/1786436332251-QueryIndexes.mjs +1294 -0
  111. package/dist/adapters/database/migrations/mysql/1786436332251-QueryIndexes.mjs.map +1 -0
  112. package/dist/adapters/database/migrations/postgres/1785871780234-AlignSchemaWithEntityMetadata.d.ts +43 -0
  113. package/dist/adapters/database/migrations/postgres/1785871780234-AlignSchemaWithEntityMetadata.d.ts.map +1 -0
  114. package/dist/adapters/database/migrations/postgres/1785871780234-AlignSchemaWithEntityMetadata.mjs +120 -0
  115. package/dist/adapters/database/migrations/postgres/1785871780234-AlignSchemaWithEntityMetadata.mjs.map +1 -0
  116. package/dist/adapters/database/migrations/postgres/1786436332251-QueryIndexes.d.ts +44 -0
  117. package/dist/adapters/database/migrations/postgres/1786436332251-QueryIndexes.d.ts.map +1 -0
  118. package/dist/adapters/database/migrations/postgres/1786436332251-QueryIndexes.mjs +987 -0
  119. package/dist/adapters/database/migrations/postgres/1786436332251-QueryIndexes.mjs.map +1 -0
  120. package/dist/adapters/http/controllers/entities/identity-provider/module.d.ts +14 -2
  121. package/dist/adapters/http/controllers/entities/identity-provider/module.d.ts.map +1 -1
  122. package/dist/adapters/http/controllers/entities/identity-provider/module.mjs +85 -19
  123. package/dist/adapters/http/controllers/entities/identity-provider/module.mjs.map +1 -1
  124. package/dist/adapters/http/controllers/entities/identity-provider/types.d.ts +4 -1
  125. package/dist/adapters/http/controllers/entities/identity-provider/types.d.ts.map +1 -1
  126. package/dist/adapters/http/controllers/entities/identity-provider-account/index.d.ts.map +1 -0
  127. package/dist/adapters/http/controllers/entities/identity-provider-account/index.mjs +5 -0
  128. package/dist/adapters/http/controllers/entities/identity-provider-account/module.d.ts +15 -0
  129. package/dist/adapters/http/controllers/entities/identity-provider-account/module.d.ts.map +1 -0
  130. package/dist/adapters/http/controllers/entities/identity-provider-account/module.mjs +94 -0
  131. package/dist/adapters/http/controllers/entities/identity-provider-account/module.mjs.map +1 -0
  132. package/dist/adapters/http/controllers/entities/index.d.ts +2 -0
  133. package/dist/adapters/http/controllers/entities/index.d.ts.map +1 -1
  134. package/dist/adapters/http/controllers/entities/index.mjs +5 -1
  135. package/dist/adapters/http/controllers/entities/session-token/index.d.ts +2 -0
  136. package/dist/adapters/http/controllers/entities/session-token/index.d.ts.map +1 -0
  137. package/dist/adapters/http/controllers/entities/session-token/index.mjs +5 -0
  138. package/dist/adapters/http/controllers/entities/session-token/module.d.ts +23 -0
  139. package/dist/adapters/http/controllers/entities/session-token/module.d.ts.map +1 -0
  140. package/dist/adapters/http/controllers/entities/session-token/module.mjs +112 -0
  141. package/dist/adapters/http/controllers/entities/session-token/module.mjs.map +1 -0
  142. package/dist/adapters/http/controllers/index.mjs +4 -1
  143. package/dist/adapters/http/controllers/workflows/account/index.d.ts +2 -0
  144. package/dist/adapters/http/controllers/workflows/account/index.d.ts.map +1 -0
  145. package/dist/adapters/http/controllers/workflows/account/index.mjs +5 -0
  146. package/dist/adapters/http/controllers/workflows/account/module.d.ts +24 -0
  147. package/dist/adapters/http/controllers/workflows/account/module.d.ts.map +1 -0
  148. package/dist/adapters/http/controllers/workflows/account/module.mjs +63 -0
  149. package/dist/adapters/http/controllers/workflows/account/module.mjs.map +1 -0
  150. package/dist/adapters/http/controllers/workflows/activate/module.mjs +1 -1
  151. package/dist/adapters/http/controllers/workflows/authenticator-challenge/module.d.ts.map +1 -1
  152. package/dist/adapters/http/controllers/workflows/authenticator-challenge/module.mjs +1 -0
  153. package/dist/adapters/http/controllers/workflows/authenticator-challenge/module.mjs.map +1 -1
  154. package/dist/adapters/http/controllers/workflows/authorize/module.mjs +2 -2
  155. package/dist/adapters/http/controllers/workflows/authorize/module.mjs.map +1 -1
  156. package/dist/adapters/http/controllers/workflows/index.d.ts +1 -0
  157. package/dist/adapters/http/controllers/workflows/index.d.ts.map +1 -1
  158. package/dist/adapters/http/controllers/workflows/index.mjs +3 -1
  159. package/dist/adapters/http/controllers/workflows/logout/module.mjs +2 -2
  160. package/dist/adapters/http/controllers/workflows/logout/module.mjs.map +1 -1
  161. package/dist/adapters/http/controllers/workflows/password-forgot/module.mjs +1 -1
  162. package/dist/adapters/http/controllers/workflows/password-reset/module.mjs +1 -1
  163. package/dist/adapters/http/controllers/workflows/register/module.mjs +1 -1
  164. package/dist/adapters/http/controllers/workflows/userinfo/module.d.ts.map +1 -1
  165. package/dist/adapters/http/controllers/workflows/userinfo/module.mjs +5 -1
  166. package/dist/adapters/http/controllers/workflows/userinfo/module.mjs.map +1 -1
  167. package/dist/adapters/http/index.mjs +5 -1
  168. package/dist/adapters/http/middleware/built-in/assets.d.ts +8 -1
  169. package/dist/adapters/http/middleware/built-in/assets.d.ts.map +1 -1
  170. package/dist/adapters/http/middleware/built-in/assets.mjs +48 -4
  171. package/dist/adapters/http/middleware/built-in/assets.mjs.map +1 -1
  172. package/dist/adapters/http/middleware/built-in/error.d.ts.map +1 -1
  173. package/dist/adapters/http/middleware/built-in/error.mjs +4 -3
  174. package/dist/adapters/http/middleware/built-in/error.mjs.map +1 -1
  175. package/dist/adapters/http/middleware/built-in/index.d.ts +2 -0
  176. package/dist/adapters/http/middleware/built-in/index.d.ts.map +1 -1
  177. package/dist/adapters/http/middleware/built-in/index.mjs +2 -1
  178. package/dist/adapters/http/middleware/built-in/theme.d.ts +15 -0
  179. package/dist/adapters/http/middleware/built-in/theme.d.ts.map +1 -0
  180. package/dist/adapters/http/middleware/built-in/theme.mjs +27 -0
  181. package/dist/adapters/http/middleware/built-in/theme.mjs.map +1 -0
  182. package/dist/adapters/http/middleware/built-in/types.d.ts +14 -0
  183. package/dist/adapters/http/middleware/built-in/types.d.ts.map +1 -0
  184. package/dist/adapters/http/middleware/built-in/ui-http-client.d.ts +1 -1
  185. package/dist/adapters/http/middleware/built-in/ui-http-client.mjs +1 -1
  186. package/dist/adapters/http/middleware/built-in/ui-http-client.mjs.map +1 -1
  187. package/dist/adapters/http/middleware/index.mjs +2 -1
  188. package/dist/adapters/http/request/event-context.d.ts.map +1 -1
  189. package/dist/adapters/http/request/event-context.mjs +2 -0
  190. package/dist/adapters/http/request/event-context.mjs.map +1 -1
  191. package/dist/adapters/http/ui/account-console/index.d.ts +4 -0
  192. package/dist/adapters/http/ui/account-console/index.d.ts.map +1 -0
  193. package/dist/adapters/http/ui/account-console/index.mjs +6 -0
  194. package/dist/adapters/http/ui/account-console/module.d.ts +28 -0
  195. package/dist/adapters/http/ui/account-console/module.d.ts.map +1 -0
  196. package/dist/adapters/http/ui/account-console/module.mjs +80 -0
  197. package/dist/adapters/http/ui/account-console/module.mjs.map +1 -0
  198. package/dist/adapters/http/ui/account-console/ref.d.ts +30 -0
  199. package/dist/adapters/http/ui/account-console/ref.d.ts.map +1 -0
  200. package/dist/adapters/http/ui/account-console/ref.mjs +50 -0
  201. package/dist/adapters/http/ui/account-console/ref.mjs.map +1 -0
  202. package/dist/adapters/http/ui/account-console/types.d.ts +11 -0
  203. package/dist/adapters/http/ui/account-console/types.d.ts.map +1 -0
  204. package/dist/adapters/http/ui/account-console/types.mjs +4 -0
  205. package/dist/adapters/http/ui/{internal-http-client.d.ts → auth-console/http-client.d.ts} +1 -1
  206. package/dist/adapters/http/ui/auth-console/http-client.d.ts.map +1 -0
  207. package/dist/adapters/http/ui/{internal-http-client.mjs → auth-console/http-client.mjs} +2 -2
  208. package/dist/adapters/http/ui/auth-console/http-client.mjs.map +1 -0
  209. package/dist/adapters/http/ui/auth-console/index.d.ts +6 -0
  210. package/dist/adapters/http/ui/auth-console/index.d.ts.map +1 -0
  211. package/dist/adapters/http/ui/auth-console/index.mjs +8 -0
  212. package/dist/adapters/http/ui/auth-console/module.d.ts +4 -0
  213. package/dist/adapters/http/ui/auth-console/module.d.ts.map +1 -0
  214. package/dist/adapters/http/ui/auth-console/module.mjs +73 -0
  215. package/dist/adapters/http/ui/auth-console/module.mjs.map +1 -0
  216. package/dist/adapters/http/ui/auth-console/resolve.d.ts +21 -0
  217. package/dist/adapters/http/ui/auth-console/resolve.d.ts.map +1 -0
  218. package/dist/adapters/http/ui/auth-console/resolve.mjs +53 -0
  219. package/dist/adapters/http/ui/auth-console/resolve.mjs.map +1 -0
  220. package/dist/adapters/http/ui/{serve.d.ts → auth-console/serve.d.ts} +1 -8
  221. package/dist/adapters/http/ui/auth-console/serve.d.ts.map +1 -0
  222. package/dist/adapters/http/ui/{serve.mjs → auth-console/serve.mjs} +5 -5
  223. package/dist/adapters/http/ui/auth-console/serve.mjs.map +1 -0
  224. package/dist/adapters/http/ui/auth-console/types.d.ts +26 -0
  225. package/dist/adapters/http/ui/auth-console/types.d.ts.map +1 -0
  226. package/dist/adapters/http/ui/auth-console/types.mjs +4 -0
  227. package/dist/adapters/http/ui/console-packages/index.d.ts +3 -0
  228. package/dist/adapters/http/ui/console-packages/index.d.ts.map +1 -0
  229. package/dist/adapters/http/ui/console-packages/index.mjs +5 -0
  230. package/dist/adapters/http/ui/console-packages/module.d.ts +33 -0
  231. package/dist/adapters/http/ui/console-packages/module.d.ts.map +1 -0
  232. package/dist/adapters/http/ui/console-packages/module.mjs +70 -0
  233. package/dist/adapters/http/ui/console-packages/module.mjs.map +1 -0
  234. package/dist/adapters/http/ui/console-packages/types.d.ts +12 -0
  235. package/dist/adapters/http/ui/console-packages/types.d.ts.map +1 -0
  236. package/dist/adapters/http/ui/console-packages/types.mjs +4 -0
  237. package/dist/adapters/http/ui/index.d.ts +5 -5
  238. package/dist/adapters/http/ui/index.d.ts.map +1 -1
  239. package/dist/adapters/http/ui/index.mjs +22 -5
  240. package/dist/adapters/http/ui/shared/html.d.ts +76 -0
  241. package/dist/adapters/http/ui/shared/html.d.ts.map +1 -0
  242. package/dist/adapters/http/ui/shared/html.mjs +103 -0
  243. package/dist/adapters/http/ui/shared/html.mjs.map +1 -0
  244. package/dist/adapters/http/ui/shared/index.d.ts +2 -0
  245. package/dist/adapters/http/ui/shared/index.d.ts.map +1 -0
  246. package/dist/adapters/http/ui/shared/index.mjs +5 -0
  247. package/dist/adapters/http/ui/theme/apply.d.ts +12 -0
  248. package/dist/adapters/http/ui/theme/apply.d.ts.map +1 -0
  249. package/dist/adapters/http/ui/theme/apply.mjs +29 -0
  250. package/dist/adapters/http/ui/theme/apply.mjs.map +1 -0
  251. package/dist/adapters/http/ui/theme/assets.d.ts +20 -0
  252. package/dist/adapters/http/ui/theme/assets.d.ts.map +1 -0
  253. package/dist/adapters/http/ui/theme/assets.mjs +86 -0
  254. package/dist/adapters/http/ui/theme/assets.mjs.map +1 -0
  255. package/dist/adapters/http/ui/theme/constants.d.ts +16 -0
  256. package/dist/adapters/http/ui/theme/constants.d.ts.map +1 -0
  257. package/dist/adapters/http/ui/theme/constants.mjs +20 -0
  258. package/dist/adapters/http/ui/theme/constants.mjs.map +1 -0
  259. package/dist/adapters/http/ui/theme/contract/constants.d.ts +120 -0
  260. package/dist/adapters/http/ui/theme/contract/constants.d.ts.map +1 -0
  261. package/dist/adapters/http/ui/theme/contract/constants.mjs +136 -0
  262. package/dist/adapters/http/ui/theme/contract/constants.mjs.map +1 -0
  263. package/dist/adapters/http/ui/theme/contract/head.d.ts +12 -0
  264. package/dist/adapters/http/ui/theme/contract/head.d.ts.map +1 -0
  265. package/dist/adapters/http/ui/theme/contract/head.mjs +61 -0
  266. package/dist/adapters/http/ui/theme/contract/head.mjs.map +1 -0
  267. package/dist/adapters/http/ui/theme/contract/index.d.ts +6 -0
  268. package/dist/adapters/http/ui/theme/contract/index.d.ts.map +1 -0
  269. package/dist/adapters/http/ui/theme/contract/index.mjs +8 -0
  270. package/dist/adapters/http/ui/theme/contract/manifest.d.ts +25 -0
  271. package/dist/adapters/http/ui/theme/contract/manifest.d.ts.map +1 -0
  272. package/dist/adapters/http/ui/theme/contract/manifest.mjs +77 -0
  273. package/dist/adapters/http/ui/theme/contract/manifest.mjs.map +1 -0
  274. package/dist/adapters/http/ui/theme/contract/types.d.ts +26 -0
  275. package/dist/adapters/http/ui/theme/contract/types.d.ts.map +1 -0
  276. package/dist/adapters/http/ui/theme/contract/types.mjs +4 -0
  277. package/dist/adapters/http/ui/theme/contract/utils.d.ts +11 -0
  278. package/dist/adapters/http/ui/theme/contract/utils.d.ts.map +1 -0
  279. package/dist/adapters/http/ui/theme/contract/utils.mjs +22 -0
  280. package/dist/adapters/http/ui/theme/contract/utils.mjs.map +1 -0
  281. package/dist/adapters/http/ui/theme/index.d.ts +7 -0
  282. package/dist/adapters/http/ui/theme/index.d.ts.map +1 -0
  283. package/dist/adapters/http/ui/theme/index.mjs +13 -0
  284. package/dist/adapters/http/ui/theme/module.d.ts +79 -0
  285. package/dist/adapters/http/ui/theme/module.d.ts.map +1 -0
  286. package/dist/adapters/http/ui/theme/module.mjs +206 -0
  287. package/dist/adapters/http/ui/theme/module.mjs.map +1 -0
  288. package/dist/adapters/http/ui/theme/types.d.ts +42 -0
  289. package/dist/adapters/http/ui/theme/types.d.ts.map +1 -0
  290. package/dist/adapters/http/ui/theme/types.mjs +4 -0
  291. package/dist/app/index.mjs +4 -2
  292. package/dist/app/modules/config/constants.d.ts +5 -0
  293. package/dist/app/modules/config/constants.d.ts.map +1 -1
  294. package/dist/app/modules/config/constants.mjs +5 -0
  295. package/dist/app/modules/config/constants.mjs.map +1 -1
  296. package/dist/app/modules/config/normalize.d.ts.map +1 -1
  297. package/dist/app/modules/config/normalize.mjs +8 -0
  298. package/dist/app/modules/config/normalize.mjs.map +1 -1
  299. package/dist/app/modules/config/origins.d.ts.map +1 -1
  300. package/dist/app/modules/config/origins.mjs +2 -0
  301. package/dist/app/modules/config/origins.mjs.map +1 -1
  302. package/dist/app/modules/config/read/env.d.ts.map +1 -1
  303. package/dist/app/modules/config/read/env.mjs +10 -0
  304. package/dist/app/modules/config/read/env.mjs.map +1 -1
  305. package/dist/app/modules/config/types.d.ts +63 -3
  306. package/dist/app/modules/config/types.d.ts.map +1 -1
  307. package/dist/app/modules/config/validator.d.ts.map +1 -1
  308. package/dist/app/modules/config/validator.mjs +5 -0
  309. package/dist/app/modules/config/validator.mjs.map +1 -1
  310. package/dist/app/modules/database/index.mjs +2 -1
  311. package/dist/app/modules/database/repositories/identity-provider-account/index.d.ts +2 -0
  312. package/dist/app/modules/database/repositories/identity-provider-account/index.d.ts.map +1 -0
  313. package/dist/app/modules/database/repositories/identity-provider-account/index.mjs +5 -0
  314. package/dist/app/modules/database/repositories/identity-provider-account/repository.d.ts +18 -0
  315. package/dist/app/modules/database/repositories/identity-provider-account/repository.d.ts.map +1 -0
  316. package/dist/app/modules/database/repositories/identity-provider-account/repository.mjs +69 -0
  317. package/dist/app/modules/database/repositories/identity-provider-account/repository.mjs.map +1 -0
  318. package/dist/app/modules/database/repositories/index.d.ts +1 -0
  319. package/dist/app/modules/database/repositories/index.d.ts.map +1 -1
  320. package/dist/app/modules/database/repositories/index.mjs +3 -1
  321. package/dist/app/modules/database/repositories/key/repository.d.ts +23 -0
  322. package/dist/app/modules/database/repositories/key/repository.d.ts.map +1 -1
  323. package/dist/app/modules/database/repositories/key/repository.mjs +39 -3
  324. package/dist/app/modules/database/repositories/key/repository.mjs.map +1 -1
  325. package/dist/app/modules/database/repositories/schema-validation.d.ts +14 -6
  326. package/dist/app/modules/database/repositories/schema-validation.d.ts.map +1 -1
  327. package/dist/app/modules/database/repositories/schema-validation.mjs +18 -6
  328. package/dist/app/modules/database/repositories/schema-validation.mjs.map +1 -1
  329. package/dist/app/modules/http/module.d.ts.map +1 -1
  330. package/dist/app/modules/http/module.mjs +7 -1
  331. package/dist/app/modules/http/module.mjs.map +1 -1
  332. package/dist/app/modules/http/modules/controller.d.ts +5 -2
  333. package/dist/app/modules/http/modules/controller.d.ts.map +1 -1
  334. package/dist/app/modules/http/modules/controller.mjs +57 -6
  335. package/dist/app/modules/http/modules/controller.mjs.map +1 -1
  336. package/dist/app/modules/http/modules/middleware.d.ts +9 -1
  337. package/dist/app/modules/http/modules/middleware.d.ts.map +1 -1
  338. package/dist/app/modules/http/modules/middleware.mjs +18 -3
  339. package/dist/app/modules/http/modules/middleware.mjs.map +1 -1
  340. package/dist/app/modules/identity/index.mjs +1 -2
  341. package/dist/app/modules/identity/module.d.ts.map +1 -1
  342. package/dist/app/modules/identity/module.mjs +2 -2
  343. package/dist/app/modules/identity/module.mjs.map +1 -1
  344. package/dist/app/modules/identity/repositories/index.mjs +1 -2
  345. package/dist/app/modules/identity/repositories/provider/index.d.ts +0 -1
  346. package/dist/app/modules/identity/repositories/provider/index.d.ts.map +1 -1
  347. package/dist/app/modules/identity/repositories/provider/index.mjs +1 -3
  348. package/dist/app/modules/index.mjs +4 -2
  349. package/dist/app/modules/logger/module.d.ts.map +1 -1
  350. package/dist/app/modules/logger/module.mjs +1 -0
  351. package/dist/app/modules/logger/module.mjs.map +1 -1
  352. package/dist/app/modules/oauth2/repositories/session-token/repository.d.ts +25 -1
  353. package/dist/app/modules/oauth2/repositories/session-token/repository.d.ts.map +1 -1
  354. package/dist/app/modules/oauth2/repositories/session-token/repository.mjs +70 -1
  355. package/dist/app/modules/oauth2/repositories/session-token/repository.mjs.map +1 -1
  356. package/dist/app/modules/provisioning/constants.d.ts +12 -0
  357. package/dist/app/modules/provisioning/constants.d.ts.map +1 -0
  358. package/dist/app/modules/provisioning/constants.mjs +16 -0
  359. package/dist/app/modules/provisioning/constants.mjs.map +1 -0
  360. package/dist/app/modules/provisioning/index.d.ts +2 -0
  361. package/dist/app/modules/provisioning/index.d.ts.map +1 -1
  362. package/dist/app/modules/provisioning/index.mjs +3 -1
  363. package/dist/app/modules/provisioning/lazy-wildcard.d.ts +15 -0
  364. package/dist/app/modules/provisioning/lazy-wildcard.d.ts.map +1 -0
  365. package/dist/app/modules/provisioning/lazy-wildcard.mjs +23 -0
  366. package/dist/app/modules/provisioning/lazy-wildcard.mjs.map +1 -0
  367. package/dist/app/modules/provisioning/module.d.ts.map +1 -1
  368. package/dist/app/modules/provisioning/module.mjs +24 -4
  369. package/dist/app/modules/provisioning/module.mjs.map +1 -1
  370. package/dist/app/modules/provisioning/sources/composite/module.d.ts +0 -19
  371. package/dist/app/modules/provisioning/sources/composite/module.d.ts.map +1 -1
  372. package/dist/app/modules/provisioning/sources/composite/module.mjs +7 -77
  373. package/dist/app/modules/provisioning/sources/composite/module.mjs.map +1 -1
  374. package/dist/app/modules/provisioning/sources/default/module.d.ts.map +1 -1
  375. package/dist/app/modules/provisioning/sources/default/module.mjs +1 -0
  376. package/dist/app/modules/provisioning/sources/default/module.mjs.map +1 -1
  377. package/dist/core/entities/client/index.d.ts +1 -1
  378. package/dist/core/entities/client/index.d.ts.map +1 -1
  379. package/dist/core/entities/client/index.mjs +2 -2
  380. package/dist/core/entities/client/schema.d.ts.map +1 -1
  381. package/dist/core/entities/client/schema.mjs +29 -10
  382. package/dist/core/entities/client/schema.mjs.map +1 -1
  383. package/dist/core/entities/client/service.mjs.map +1 -1
  384. package/dist/core/entities/client/system-clients.d.ts +95 -0
  385. package/dist/core/entities/client/system-clients.d.ts.map +1 -0
  386. package/dist/core/entities/client/system-clients.mjs +158 -0
  387. package/dist/core/entities/client/system-clients.mjs.map +1 -0
  388. package/dist/core/entities/client/types.d.ts +17 -4
  389. package/dist/core/entities/client/types.d.ts.map +1 -1
  390. package/dist/core/entities/client-permission/schema.d.ts.map +1 -1
  391. package/dist/core/entities/client-permission/schema.mjs +29 -6
  392. package/dist/core/entities/client-permission/schema.mjs.map +1 -1
  393. package/dist/core/entities/client-role/schema.d.ts.map +1 -1
  394. package/dist/core/entities/client-role/schema.mjs +27 -6
  395. package/dist/core/entities/client-role/schema.mjs.map +1 -1
  396. package/dist/core/entities/client-scope/schema.d.ts.map +1 -1
  397. package/dist/core/entities/client-scope/schema.mjs +19 -5
  398. package/dist/core/entities/client-scope/schema.mjs.map +1 -1
  399. package/dist/core/entities/consent/schema.d.ts.map +1 -1
  400. package/dist/core/entities/consent/schema.mjs +28 -6
  401. package/dist/core/entities/consent/schema.mjs.map +1 -1
  402. package/dist/core/entities/event/entity-event-handler.d.ts.map +1 -1
  403. package/dist/core/entities/event/entity-event-handler.mjs +2 -0
  404. package/dist/core/entities/event/entity-event-handler.mjs.map +1 -1
  405. package/dist/core/entities/event/sanitize.d.ts.map +1 -1
  406. package/dist/core/entities/event/sanitize.mjs +7 -4
  407. package/dist/core/entities/event/sanitize.mjs.map +1 -1
  408. package/dist/core/entities/event/schema.d.ts.map +1 -1
  409. package/dist/core/entities/event/schema.mjs +45 -16
  410. package/dist/core/entities/event/schema.mjs.map +1 -1
  411. package/dist/core/entities/event/service.d.ts.map +1 -1
  412. package/dist/core/entities/event/service.mjs +2 -0
  413. package/dist/core/entities/event/service.mjs.map +1 -1
  414. package/dist/core/entities/event/types.d.ts +2 -0
  415. package/dist/core/entities/event/types.d.ts.map +1 -1
  416. package/dist/core/entities/identity-provider/schema.d.ts.map +1 -1
  417. package/dist/core/entities/identity-provider/schema.mjs +29 -11
  418. package/dist/core/entities/identity-provider/schema.mjs.map +1 -1
  419. package/dist/core/entities/identity-provider-account/error.d.ts +7 -0
  420. package/dist/core/entities/identity-provider-account/error.d.ts.map +1 -0
  421. package/dist/core/entities/identity-provider-account/error.mjs +24 -0
  422. package/dist/core/entities/identity-provider-account/error.mjs.map +1 -0
  423. package/dist/core/entities/identity-provider-account/index.d.ts +5 -0
  424. package/dist/core/entities/identity-provider-account/index.d.ts.map +1 -0
  425. package/dist/core/entities/identity-provider-account/index.mjs +8 -0
  426. package/dist/core/entities/identity-provider-account/schema.d.ts +3 -0
  427. package/dist/core/entities/identity-provider-account/schema.d.ts.map +1 -0
  428. package/dist/core/entities/identity-provider-account/schema.mjs +52 -0
  429. package/dist/core/entities/identity-provider-account/schema.mjs.map +1 -0
  430. package/dist/core/entities/identity-provider-account/service.d.ts +24 -0
  431. package/dist/core/entities/identity-provider-account/service.d.ts.map +1 -0
  432. package/dist/core/entities/identity-provider-account/service.mjs +129 -0
  433. package/dist/core/entities/identity-provider-account/service.mjs.map +1 -0
  434. package/dist/core/entities/identity-provider-account/types.d.ts +69 -0
  435. package/dist/core/entities/identity-provider-account/types.d.ts.map +1 -0
  436. package/dist/core/entities/identity-provider-account/types.mjs +17 -0
  437. package/dist/core/entities/identity-provider-account/types.mjs.map +1 -0
  438. package/dist/core/entities/identity-provider-role-mapping/schema.d.ts.map +1 -1
  439. package/dist/core/entities/identity-provider-role-mapping/schema.mjs +27 -6
  440. package/dist/core/entities/identity-provider-role-mapping/schema.mjs.map +1 -1
  441. package/dist/core/entities/index.d.ts +2 -0
  442. package/dist/core/entities/index.d.ts.map +1 -1
  443. package/dist/core/entities/index.mjs +10 -2
  444. package/dist/core/entities/key/schema.d.ts.map +1 -1
  445. package/dist/core/entities/key/schema.mjs +39 -17
  446. package/dist/core/entities/key/schema.mjs.map +1 -1
  447. package/dist/core/entities/key/service.d.ts.map +1 -1
  448. package/dist/core/entities/key/service.mjs +1 -0
  449. package/dist/core/entities/key/service.mjs.map +1 -1
  450. package/dist/core/entities/permission/schema.d.ts.map +1 -1
  451. package/dist/core/entities/permission/schema.mjs +34 -13
  452. package/dist/core/entities/permission/schema.mjs.map +1 -1
  453. package/dist/core/entities/permission-policy/schema.d.ts.map +1 -1
  454. package/dist/core/entities/permission-policy/schema.mjs +27 -6
  455. package/dist/core/entities/permission-policy/schema.mjs.map +1 -1
  456. package/dist/core/entities/policy/schema.d.ts.map +1 -1
  457. package/dist/core/entities/policy/schema.mjs +31 -12
  458. package/dist/core/entities/policy/schema.mjs.map +1 -1
  459. package/dist/core/entities/realm/schema.d.ts.map +1 -1
  460. package/dist/core/entities/realm/schema.mjs +26 -12
  461. package/dist/core/entities/realm/schema.mjs.map +1 -1
  462. package/dist/core/entities/realm/service.d.ts +8 -6
  463. package/dist/core/entities/realm/service.d.ts.map +1 -1
  464. package/dist/core/entities/realm/service.mjs +5 -8
  465. package/dist/core/entities/realm/service.mjs.map +1 -1
  466. package/dist/core/entities/role/schema.d.ts.map +1 -1
  467. package/dist/core/entities/role/schema.mjs +36 -14
  468. package/dist/core/entities/role/schema.mjs.map +1 -1
  469. package/dist/core/entities/role-attribute/schema.d.ts.map +1 -1
  470. package/dist/core/entities/role-attribute/schema.mjs +28 -14
  471. package/dist/core/entities/role-attribute/schema.mjs.map +1 -1
  472. package/dist/core/entities/role-permission/schema.d.ts.map +1 -1
  473. package/dist/core/entities/role-permission/schema.mjs +29 -6
  474. package/dist/core/entities/role-permission/schema.mjs.map +1 -1
  475. package/dist/core/entities/scope/schema.d.ts.map +1 -1
  476. package/dist/core/entities/scope/schema.mjs +28 -12
  477. package/dist/core/entities/scope/schema.mjs.map +1 -1
  478. package/dist/core/entities/session/schema.d.ts.map +1 -1
  479. package/dist/core/entities/session/schema.mjs +41 -9
  480. package/dist/core/entities/session/schema.mjs.map +1 -1
  481. package/dist/core/entities/session-token/index.d.ts +4 -0
  482. package/dist/core/entities/session-token/index.d.ts.map +1 -0
  483. package/dist/core/entities/session-token/index.mjs +6 -0
  484. package/dist/core/entities/session-token/schema.d.ts +12 -0
  485. package/dist/core/entities/session-token/schema.d.ts.map +1 -0
  486. package/dist/core/entities/session-token/schema.mjs +66 -0
  487. package/dist/core/entities/session-token/schema.mjs.map +1 -0
  488. package/dist/core/entities/session-token/service.d.ts +70 -0
  489. package/dist/core/entities/session-token/service.d.ts.map +1 -0
  490. package/dist/core/entities/session-token/service.mjs +216 -0
  491. package/dist/core/entities/session-token/service.mjs.map +1 -0
  492. package/dist/core/entities/session-token/types.d.ts +37 -0
  493. package/dist/core/entities/session-token/types.d.ts.map +1 -0
  494. package/dist/core/entities/session-token/types.mjs +4 -0
  495. package/dist/core/entities/trust-anchor/schema.d.ts.map +1 -1
  496. package/dist/core/entities/trust-anchor/schema.mjs +27 -13
  497. package/dist/core/entities/trust-anchor/schema.mjs.map +1 -1
  498. package/dist/core/entities/trust-anchor/service.d.ts.map +1 -1
  499. package/dist/core/entities/trust-anchor/service.mjs +1 -0
  500. package/dist/core/entities/trust-anchor/service.mjs.map +1 -1
  501. package/dist/core/entities/user/schema.d.ts.map +1 -1
  502. package/dist/core/entities/user/schema.mjs +29 -12
  503. package/dist/core/entities/user/schema.mjs.map +1 -1
  504. package/dist/core/entities/user-attribute/schema.d.ts.map +1 -1
  505. package/dist/core/entities/user-attribute/schema.mjs +28 -14
  506. package/dist/core/entities/user-attribute/schema.mjs.map +1 -1
  507. package/dist/core/entities/user-authenticator/schema.d.ts.map +1 -1
  508. package/dist/core/entities/user-authenticator/schema.mjs +29 -12
  509. package/dist/core/entities/user-authenticator/schema.mjs.map +1 -1
  510. package/dist/core/entities/user-authenticator/service.d.ts +2 -1
  511. package/dist/core/entities/user-authenticator/service.d.ts.map +1 -1
  512. package/dist/core/entities/user-authenticator/service.mjs +5 -0
  513. package/dist/core/entities/user-authenticator/service.mjs.map +1 -1
  514. package/dist/core/entities/user-authenticator/types.d.ts +7 -1
  515. package/dist/core/entities/user-authenticator/types.d.ts.map +1 -1
  516. package/dist/core/entities/user-authenticator/types.mjs.map +1 -1
  517. package/dist/core/entities/user-permission/schema.d.ts.map +1 -1
  518. package/dist/core/entities/user-permission/schema.mjs +29 -6
  519. package/dist/core/entities/user-permission/schema.mjs.map +1 -1
  520. package/dist/core/entities/user-role/schema.d.ts.map +1 -1
  521. package/dist/core/entities/user-role/schema.mjs +27 -6
  522. package/dist/core/entities/user-role/schema.mjs.map +1 -1
  523. package/dist/core/identity/index.mjs +2 -1
  524. package/dist/core/identity/provider/account/error.d.ts +7 -0
  525. package/dist/core/identity/provider/account/error.d.ts.map +1 -0
  526. package/dist/core/identity/provider/account/error.mjs +24 -0
  527. package/dist/core/identity/provider/account/error.mjs.map +1 -0
  528. package/dist/core/identity/provider/account/index.d.ts +1 -0
  529. package/dist/core/identity/provider/account/index.d.ts.map +1 -1
  530. package/dist/core/identity/provider/account/index.mjs +2 -1
  531. package/dist/core/identity/provider/account/module.d.ts +2 -0
  532. package/dist/core/identity/provider/account/module.d.ts.map +1 -1
  533. package/dist/core/identity/provider/account/module.mjs +30 -0
  534. package/dist/core/identity/provider/account/module.mjs.map +1 -1
  535. package/dist/core/identity/provider/account/types.d.ts +12 -10
  536. package/dist/core/identity/provider/account/types.d.ts.map +1 -1
  537. package/dist/core/identity/provider/authentication/protocols/oauth2/module.d.ts +1 -0
  538. package/dist/core/identity/provider/authentication/protocols/oauth2/module.d.ts.map +1 -1
  539. package/dist/core/identity/provider/authentication/protocols/oauth2/module.mjs +5 -1
  540. package/dist/core/identity/provider/authentication/protocols/oauth2/module.mjs.map +1 -1
  541. package/dist/core/identity/provider/authentication/protocols/oauth2/types.d.ts +7 -0
  542. package/dist/core/identity/provider/authentication/protocols/oauth2/types.d.ts.map +1 -1
  543. package/dist/core/identity/provider/index.mjs +2 -1
  544. package/dist/core/index.mjs +15 -3
  545. package/dist/core/key/types.d.ts +2 -1
  546. package/dist/core/key/types.d.ts.map +1 -1
  547. package/dist/core/oauth2/authorization/code-request/verifier/module.d.ts.map +1 -1
  548. package/dist/core/oauth2/authorization/code-request/verifier/module.mjs +2 -2
  549. package/dist/core/oauth2/authorization/code-request/verifier/module.mjs.map +1 -1
  550. package/dist/core/oauth2/authorization/module.d.ts.map +1 -1
  551. package/dist/core/oauth2/authorization/module.mjs +2 -0
  552. package/dist/core/oauth2/authorization/module.mjs.map +1 -1
  553. package/dist/core/oauth2/authorization/state/types.d.ts +11 -0
  554. package/dist/core/oauth2/authorization/state/types.d.ts.map +1 -1
  555. package/dist/core/oauth2/end-session/service.d.ts.map +1 -1
  556. package/dist/core/oauth2/end-session/service.mjs +4 -4
  557. package/dist/core/oauth2/end-session/service.mjs.map +1 -1
  558. package/dist/core/oauth2/grant-types/authorize.d.ts.map +1 -1
  559. package/dist/core/oauth2/grant-types/authorize.mjs +1 -5
  560. package/dist/core/oauth2/grant-types/authorize.mjs.map +1 -1
  561. package/dist/core/oauth2/grant-types/password.mjs +2 -5
  562. package/dist/core/oauth2/grant-types/password.mjs.map +1 -1
  563. package/dist/core/oauth2/grant-types/refresh-token.d.ts.map +1 -1
  564. package/dist/core/oauth2/grant-types/refresh-token.mjs +37 -24
  565. package/dist/core/oauth2/grant-types/refresh-token.mjs.map +1 -1
  566. package/dist/core/oauth2/index.mjs +3 -1
  567. package/dist/core/oauth2/mfa-login/module.d.ts.map +1 -1
  568. package/dist/core/oauth2/mfa-login/module.mjs +4 -7
  569. package/dist/core/oauth2/mfa-login/module.mjs.map +1 -1
  570. package/dist/core/oauth2/session-token/error.d.ts +36 -0
  571. package/dist/core/oauth2/session-token/error.d.ts.map +1 -0
  572. package/dist/core/oauth2/session-token/error.mjs +49 -0
  573. package/dist/core/oauth2/session-token/error.mjs.map +1 -0
  574. package/dist/core/oauth2/session-token/index.d.ts +1 -0
  575. package/dist/core/oauth2/session-token/index.d.ts.map +1 -1
  576. package/dist/core/oauth2/session-token/index.mjs +2 -1
  577. package/dist/core/oauth2/session-token/types.d.ts +40 -0
  578. package/dist/core/oauth2/session-token/types.d.ts.map +1 -1
  579. package/dist/core/oauth2/token/issuer/access/module.d.ts.map +1 -1
  580. package/dist/core/oauth2/token/issuer/access/module.mjs +1 -0
  581. package/dist/core/oauth2/token/issuer/access/module.mjs.map +1 -1
  582. package/dist/core/oauth2/token/issuer/base.d.ts +1 -1
  583. package/dist/core/oauth2/token/issuer/base.d.ts.map +1 -1
  584. package/dist/core/oauth2/token/issuer/base.mjs.map +1 -1
  585. package/dist/core/oauth2/token/issuer/refresh/module.d.ts.map +1 -1
  586. package/dist/core/oauth2/token/issuer/refresh/module.mjs +1 -0
  587. package/dist/core/oauth2/token/issuer/refresh/module.mjs.map +1 -1
  588. package/dist/core/provisioning/constants.d.ts +8 -0
  589. package/dist/core/provisioning/constants.d.ts.map +1 -0
  590. package/dist/core/provisioning/constants.mjs +14 -0
  591. package/dist/core/provisioning/constants.mjs.map +1 -0
  592. package/dist/core/provisioning/entities/index.mjs +2 -1
  593. package/dist/core/provisioning/entities/realm/index.d.ts +1 -0
  594. package/dist/core/provisioning/entities/realm/index.d.ts.map +1 -1
  595. package/dist/core/provisioning/entities/realm/index.mjs +2 -1
  596. package/dist/core/provisioning/entities/realm/validator.d.ts +11 -0
  597. package/dist/core/provisioning/entities/realm/validator.d.ts.map +1 -1
  598. package/dist/core/provisioning/entities/realm/validator.mjs +14 -0
  599. package/dist/core/provisioning/entities/realm/validator.mjs.map +1 -1
  600. package/dist/core/provisioning/entities/realm/wildcard-validator.d.ts +19 -0
  601. package/dist/core/provisioning/entities/realm/wildcard-validator.d.ts.map +1 -0
  602. package/dist/core/provisioning/entities/realm/wildcard-validator.mjs +65 -0
  603. package/dist/core/provisioning/entities/realm/wildcard-validator.mjs.map +1 -0
  604. package/dist/core/provisioning/index.d.ts +3 -0
  605. package/dist/core/provisioning/index.d.ts.map +1 -1
  606. package/dist/core/provisioning/index.mjs +7 -1
  607. package/dist/core/provisioning/merge/index.d.ts +3 -0
  608. package/dist/core/provisioning/merge/index.d.ts.map +1 -0
  609. package/dist/core/provisioning/merge/index.mjs +5 -0
  610. package/dist/core/provisioning/merge/module.d.ts +18 -0
  611. package/dist/core/provisioning/merge/module.d.ts.map +1 -0
  612. package/dist/core/provisioning/merge/module.mjs +82 -0
  613. package/dist/core/provisioning/merge/module.mjs.map +1 -0
  614. package/dist/core/provisioning/merge/types.d.ts +34 -0
  615. package/dist/core/provisioning/merge/types.d.ts.map +1 -0
  616. package/dist/core/provisioning/merge/types.mjs +4 -0
  617. package/dist/core/provisioning/types.d.ts +10 -0
  618. package/dist/core/provisioning/types.d.ts.map +1 -1
  619. package/dist/core/provisioning/wildcard/index.d.ts +3 -0
  620. package/dist/core/provisioning/wildcard/index.d.ts.map +1 -0
  621. package/dist/core/provisioning/wildcard/index.mjs +5 -0
  622. package/dist/core/provisioning/wildcard/module.d.ts +53 -0
  623. package/dist/core/provisioning/wildcard/module.d.ts.map +1 -0
  624. package/dist/core/provisioning/wildcard/module.mjs +91 -0
  625. package/dist/core/provisioning/wildcard/module.mjs.map +1 -0
  626. package/dist/core/provisioning/wildcard/types.d.ts +19 -0
  627. package/dist/core/provisioning/wildcard/types.d.ts.map +1 -0
  628. package/dist/core/provisioning/wildcard/types.mjs +4 -0
  629. package/dist/core/query/index.mjs +2 -2
  630. package/dist/core/query/module.d.ts +19 -9
  631. package/dist/core/query/module.d.ts.map +1 -1
  632. package/dist/core/query/module.mjs +22 -10
  633. package/dist/core/query/module.mjs.map +1 -1
  634. package/dist/index.mjs +10 -4
  635. package/dist/path.d.ts +0 -2
  636. package/dist/path.d.ts.map +1 -1
  637. package/dist/path.mjs +1 -3
  638. package/dist/path.mjs.map +1 -1
  639. package/dist/swagger.json +885 -112
  640. package/dist/utils/error.d.ts +20 -3
  641. package/dist/utils/error.d.ts.map +1 -1
  642. package/dist/utils/error.mjs +102 -5
  643. package/dist/utils/error.mjs.map +1 -1
  644. package/dist/utils/index.mjs +2 -2
  645. package/package.json +25 -61
  646. package/dist/adapters/http/ui/base-path.d.ts +0 -9
  647. package/dist/adapters/http/ui/base-path.d.ts.map +0 -1
  648. package/dist/adapters/http/ui/base-path.mjs +0 -18
  649. package/dist/adapters/http/ui/base-path.mjs.map +0 -1
  650. package/dist/adapters/http/ui/internal-http-client.d.ts.map +0 -1
  651. package/dist/adapters/http/ui/internal-http-client.mjs.map +0 -1
  652. package/dist/adapters/http/ui/render.d.ts +0 -4
  653. package/dist/adapters/http/ui/render.d.ts.map +0 -1
  654. package/dist/adapters/http/ui/render.mjs +0 -63
  655. package/dist/adapters/http/ui/render.mjs.map +0 -1
  656. package/dist/adapters/http/ui/serve.d.ts.map +0 -1
  657. package/dist/adapters/http/ui/serve.mjs.map +0 -1
  658. package/dist/adapters/http/ui/types.d.ts +0 -20
  659. package/dist/adapters/http/ui/types.d.ts.map +0 -1
  660. package/dist/app/modules/identity/repositories/provider/account/index.d.ts.map +0 -1
  661. package/dist/app/modules/identity/repositories/provider/account/index.mjs +0 -5
  662. package/dist/app/modules/identity/repositories/provider/account/module.d.ts +0 -10
  663. package/dist/app/modules/identity/repositories/provider/account/module.d.ts.map +0 -1
  664. package/dist/app/modules/identity/repositories/provider/account/module.mjs +0 -28
  665. package/dist/app/modules/identity/repositories/provider/account/module.mjs.map +0 -1
  666. package/dist/core/entities/client/web-client.d.ts +0 -72
  667. package/dist/core/entities/client/web-client.d.ts.map +0 -1
  668. package/dist/core/entities/client/web-client.mjs +0 -123
  669. package/dist/core/entities/client/web-client.mjs.map +0 -1
  670. package/dist/ui/client/.vite/ssr-manifest.json +0 -54974
  671. package/dist/ui/client/assets/asap-latin-400-normal-Dc37g3Il.woff +0 -0
  672. package/dist/ui/client/assets/asap-latin-400-normal-DnZ1MOsG.woff2 +0 -0
  673. package/dist/ui/client/assets/asap-latin-700-normal-Dqcopq14.woff +0 -0
  674. package/dist/ui/client/assets/asap-latin-700-normal-l2Y8pi-F.woff2 +0 -0
  675. package/dist/ui/client/assets/asap-latin-ext-400-normal-C-fcRdtE.woff +0 -0
  676. package/dist/ui/client/assets/asap-latin-ext-400-normal-DwYtpHbV.woff2 +0 -0
  677. package/dist/ui/client/assets/asap-latin-ext-700-normal-D00OESsZ.woff +0 -0
  678. package/dist/ui/client/assets/asap-latin-ext-700-normal-y8bo5aW5.woff2 +0 -0
  679. package/dist/ui/client/assets/asap-vietnamese-400-normal-DGyJlJLT.woff2 +0 -0
  680. package/dist/ui/client/assets/asap-vietnamese-400-normal-lfLaoF2x.woff +0 -0
  681. package/dist/ui/client/assets/asap-vietnamese-700-normal-B-e19ug5.woff +0 -0
  682. package/dist/ui/client/assets/asap-vietnamese-700-normal-D-SxY94i.woff2 +0 -0
  683. package/dist/ui/client/assets/index-BTK3GPZZ.js +0 -106
  684. package/dist/ui/client/assets/index-Cx_pI7BS.css +0 -2
  685. package/dist/ui/client/assets/nunito-cyrillic-300-normal-BPQV259B.woff2 +0 -0
  686. package/dist/ui/client/assets/nunito-cyrillic-300-normal-g5qSsvc0.woff +0 -0
  687. package/dist/ui/client/assets/nunito-cyrillic-400-normal-D1j0u8EH.woff +0 -0
  688. package/dist/ui/client/assets/nunito-cyrillic-400-normal-xAOo5cBP.woff2 +0 -0
  689. package/dist/ui/client/assets/nunito-cyrillic-600-normal-BUjmtIuu.woff +0 -0
  690. package/dist/ui/client/assets/nunito-cyrillic-600-normal-DJGQ2h05.woff2 +0 -0
  691. package/dist/ui/client/assets/nunito-cyrillic-700-normal-DP36NgGt.woff2 +0 -0
  692. package/dist/ui/client/assets/nunito-cyrillic-700-normal-DfHRUDv-.woff +0 -0
  693. package/dist/ui/client/assets/nunito-cyrillic-ext-300-normal-BDHtqmCR.woff +0 -0
  694. package/dist/ui/client/assets/nunito-cyrillic-ext-300-normal-ChMQLIrm.woff2 +0 -0
  695. package/dist/ui/client/assets/nunito-cyrillic-ext-400-normal-CuPM9foi.woff2 +0 -0
  696. package/dist/ui/client/assets/nunito-cyrillic-ext-400-normal-xaE7D4Sw.woff +0 -0
  697. package/dist/ui/client/assets/nunito-cyrillic-ext-600-normal-CWPPjBOD.woff2 +0 -0
  698. package/dist/ui/client/assets/nunito-cyrillic-ext-600-normal-vnfu4DTE.woff +0 -0
  699. package/dist/ui/client/assets/nunito-cyrillic-ext-700-normal-BuR0mlCG.woff2 +0 -0
  700. package/dist/ui/client/assets/nunito-cyrillic-ext-700-normal-DfoqN4Gs.woff +0 -0
  701. package/dist/ui/client/assets/nunito-latin-300-normal-C3ZIKvzv.woff +0 -0
  702. package/dist/ui/client/assets/nunito-latin-300-normal-COoPE5VN.woff2 +0 -0
  703. package/dist/ui/client/assets/nunito-latin-400-normal-DKg4f3fz.woff +0 -0
  704. package/dist/ui/client/assets/nunito-latin-400-normal-r8SDr6Up.woff2 +0 -0
  705. package/dist/ui/client/assets/nunito-latin-600-normal-Br8yIETf.woff2 +0 -0
  706. package/dist/ui/client/assets/nunito-latin-600-normal-Cd0eNu1l.woff +0 -0
  707. package/dist/ui/client/assets/nunito-latin-700-normal-Dort48En.woff2 +0 -0
  708. package/dist/ui/client/assets/nunito-latin-700-normal-OcDqTBcA.woff +0 -0
  709. package/dist/ui/client/assets/nunito-latin-ext-300-normal-D1SyVuPt.woff2 +0 -0
  710. package/dist/ui/client/assets/nunito-latin-ext-300-normal-DfqbmdMl.woff +0 -0
  711. package/dist/ui/client/assets/nunito-latin-ext-400-normal-CjMJVfGn.woff +0 -0
  712. package/dist/ui/client/assets/nunito-latin-ext-400-normal-i-8OOpdj.woff2 +0 -0
  713. package/dist/ui/client/assets/nunito-latin-ext-600-normal-BKUpuB78.woff +0 -0
  714. package/dist/ui/client/assets/nunito-latin-ext-600-normal-Dd9Zuxh1.woff2 +0 -0
  715. package/dist/ui/client/assets/nunito-latin-ext-700-normal-BWeMsAzO.woff2 +0 -0
  716. package/dist/ui/client/assets/nunito-latin-ext-700-normal-D4woHhbd.woff +0 -0
  717. package/dist/ui/client/assets/nunito-vietnamese-300-normal-DATld5Vw.woff +0 -0
  718. package/dist/ui/client/assets/nunito-vietnamese-300-normal-mLneKULB.woff2 +0 -0
  719. package/dist/ui/client/assets/nunito-vietnamese-400-normal-BHkVbP3T.woff2 +0 -0
  720. package/dist/ui/client/assets/nunito-vietnamese-400-normal-DtOtW02z.woff +0 -0
  721. package/dist/ui/client/assets/nunito-vietnamese-600-normal-BY8O6Cug.woff2 +0 -0
  722. package/dist/ui/client/assets/nunito-vietnamese-600-normal-DO1RqFw5.woff +0 -0
  723. package/dist/ui/client/assets/nunito-vietnamese-700-normal-C9SQsXvj.woff +0 -0
  724. package/dist/ui/client/assets/nunito-vietnamese-700-normal-Ch8EUCfz.woff2 +0 -0
  725. package/dist/ui/client/index.html +0 -22
  726. package/dist/ui/server/assets/multipart-parser-BCMy8Xwv.js +0 -181
  727. package/dist/ui/server/assets/multipart-parser-BVY8pIV2.js +0 -176
  728. package/dist/ui/server/server.js +0 -155269
  729. /package/dist/{app/modules/identity/repositories/provider/account → adapters/http/controllers/entities/identity-provider-account}/index.d.ts +0 -0
  730. /package/dist/adapters/http/{ui → middleware/built-in}/types.mjs +0 -0
@@ -1,6 +1,6 @@
1
1
  import type { App } from 'routup';
2
- import { ClientController, ClientPermissionController, ClientRoleController, ClientScopeController, ConsentController, EventController, IdentityProviderController, IdentityProviderRoleMappingController, KeyController, PermissionController, PermissionPolicyController, PolicyController, RealmController, RoleAttributeController, RoleController, RolePermissionController, ScopeController, SessionController, TrustAnchorController, UserAttributeController, UserAuthenticatorController, UserController, UserPermissionController, UserRoleController } from '../../../../adapters/http/index.ts';
3
- import { ActivateController, AuthenticatorChallengeController, AuthorizeController, JwkController, LogoutController, OpenIDController, PasswordForgotController, PasswordResetController, RegisterController, StatusController, TokenController, UserInfoController } from '../../../../adapters/http/controllers/index.ts';
2
+ import { ClientController, ClientPermissionController, ClientRoleController, ClientScopeController, ConsentController, EventController, IdentityProviderAccountController, IdentityProviderController, IdentityProviderRoleMappingController, KeyController, PermissionController, PermissionPolicyController, PolicyController, RealmController, RoleAttributeController, RoleController, RolePermissionController, ScopeController, SessionController, SessionTokenController, TrustAnchorController, UserAttributeController, UserAuthenticatorController, UserController, UserPermissionController, UserRoleController } from '../../../../adapters/http/index.ts';
3
+ import { AccountController, ActivateController, AuthenticatorChallengeController, AuthorizeController, JwkController, LogoutController, OpenIDController, PasswordForgotController, PasswordResetController, RegisterController, StatusController, TokenController, UserInfoController } from '../../../../adapters/http/controllers/index.ts';
4
4
  import type { IContainer } from 'eldin';
5
5
  import { ConsentService, OAuth2AccessPolicyEvaluator, OAuth2MfaLoginService, PasswordRecoveryService, RegistrationService, UserAuthenticatorService, UserService } from '../../../../core/index.ts';
6
6
  import type { StatusResponseFeatures } from '@authup/core-http-kit';
@@ -17,6 +17,7 @@ export declare class HTTPControllerModule {
17
17
  createRegisterController(container: IContainer): RegisterController;
18
18
  createLogoutController(container: IContainer): LogoutController;
19
19
  createStatusController(container: IContainer): StatusController;
20
+ createAccountController(container: IContainer): AccountController;
20
21
  buildUIFeatures(config: Config): StatusResponseFeatures;
21
22
  createRegistrationService(container: IContainer): RegistrationService;
22
23
  createIdentityProvider(container: IContainer): IdentityProviderController;
@@ -34,9 +35,11 @@ export declare class HTTPControllerModule {
34
35
  createScopeController(container: IContainer): ScopeController;
35
36
  createKeyController(container: IContainer): KeyController;
36
37
  createTrustAnchorController(container: IContainer): TrustAnchorController;
38
+ createSessionTokenController(container: IContainer): SessionTokenController;
37
39
  createSessionController(container: IContainer): SessionController;
38
40
  protected createConsentService(container: IContainer): ConsentService;
39
41
  createConsentController(container: IContainer): ConsentController;
42
+ createIdentityProviderAccountController(container: IContainer): IdentityProviderAccountController;
40
43
  private accessPolicyEvaluator?;
41
44
  protected resolveAccessPolicyEvaluator(container: IContainer): OAuth2AccessPolicyEvaluator;
42
45
  private userAuthenticatorService?;
@@ -1 +1 @@
1
- {"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../../../../src/app/modules/http/modules/controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../../../../src/app/modules/http/modules/controller.ts"],"names":[],"mappings":"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"}
@@ -29,11 +29,12 @@ import { LoginThrottleService } from "../../../../core/authentication/login-thro
29
29
  import { CredentialsAuthenticator } from "../../../../core/authentication/module.mjs";
30
30
  import { ClientCertificateValidator } from "../../../../core/client-certificate/module.mjs";
31
31
  import { ClientService } from "../../../../core/entities/client/service.mjs";
32
- import { WebClientProvisioner } from "../../../../core/entities/client/web-client.mjs";
32
+ import { SystemClientProvisioner } from "../../../../core/entities/client/system-clients.mjs";
33
33
  import { ClientPermissionService } from "../../../../core/entities/client-permission/service.mjs";
34
34
  import { ClientRoleService } from "../../../../core/entities/client-role/service.mjs";
35
35
  import { ClientScopeService } from "../../../../core/entities/client-scope/service.mjs";
36
36
  import { ConsentService } from "../../../../core/entities/consent/service.mjs";
37
+ import { IdentityProviderAccountService } from "../../../../core/entities/identity-provider-account/service.mjs";
37
38
  import { KeyProvisioner } from "../../../../core/key/provisioner.mjs";
38
39
  import { RealmCipher } from "../../../../core/key/realm-cipher.mjs";
39
40
  import { KeyService } from "../../../../core/entities/key/service.mjs";
@@ -46,6 +47,7 @@ import { RoleAttributeService } from "../../../../core/entities/role-attribute/s
46
47
  import { RolePermissionService } from "../../../../core/entities/role-permission/service.mjs";
47
48
  import { ScopeService } from "../../../../core/entities/scope/service.mjs";
48
49
  import { SessionService } from "../../../../core/entities/session/service.mjs";
50
+ import { SessionTokenService } from "../../../../core/entities/session-token/service.mjs";
49
51
  import { TrustAnchorService } from "../../../../core/entities/trust-anchor/service.mjs";
50
52
  import { UserService } from "../../../../core/entities/user/service.mjs";
51
53
  import { UserAttributeService } from "../../../../core/entities/user-attribute/service.mjs";
@@ -75,6 +77,7 @@ import { ClientPermissionRepositoryAdapter } from "../../database/repositories/c
75
77
  import { ClientRoleRepositoryAdapter } from "../../database/repositories/client-role/repository.mjs";
76
78
  import { ClientScopeRepositoryAdapter } from "../../database/repositories/client-scope/repository.mjs";
77
79
  import { IdentityProviderRepositoryAdapter } from "../../database/repositories/identity-provider/repository.mjs";
80
+ import { IdentityProviderAccountRepositoryAdapter } from "../../database/repositories/identity-provider-account/repository.mjs";
78
81
  import { PermissionRepositoryAdapter } from "../../database/repositories/permission/repository.mjs";
79
82
  import { PermissionPolicyRepositoryAdapter } from "../../database/repositories/permission-policy/repository.mjs";
80
83
  import { PermissionDatabaseProvider } from "../../database/repositories/permission-provider/module.mjs";
@@ -103,10 +106,12 @@ import { ClientScopeController } from "../../../../adapters/http/controllers/ent
103
106
  import { ConsentController } from "../../../../adapters/http/controllers/entities/consent/module.mjs";
104
107
  import { EventController } from "../../../../adapters/http/controllers/entities/event/module.mjs";
105
108
  import { IdentityProviderController } from "../../../../adapters/http/controllers/entities/identity-provider/module.mjs";
109
+ import { IdentityProviderAccountController } from "../../../../adapters/http/controllers/entities/identity-provider-account/module.mjs";
106
110
  import { IdentityProviderRoleMappingController } from "../../../../adapters/http/controllers/entities/identity-provide-role/module.mjs";
107
111
  import { KeyController } from "../../../../adapters/http/controllers/entities/key/module.mjs";
108
112
  import { PermissionController } from "../../../../adapters/http/controllers/entities/permission/module.mjs";
109
113
  import { PermissionPolicyController } from "../../../../adapters/http/controllers/entities/permission-policy/module.mjs";
114
+ import { AccountController } from "../../../../adapters/http/controllers/workflows/account/module.mjs";
110
115
  import { ActivateController } from "../../../../adapters/http/controllers/workflows/activate/module.mjs";
111
116
  import { AuthenticatorChallengeController } from "../../../../adapters/http/controllers/workflows/authenticator-challenge/module.mjs";
112
117
  import { AuthorizeController } from "../../../../adapters/http/controllers/workflows/authorize/module.mjs";
@@ -126,6 +131,7 @@ import { RolePermissionController } from "../../../../adapters/http/controllers/
126
131
  import { PolicyController } from "../../../../adapters/http/controllers/entities/policy/module.mjs";
127
132
  import { ScopeController } from "../../../../adapters/http/controllers/entities/scope/module.mjs";
128
133
  import { SessionController } from "../../../../adapters/http/controllers/entities/session/module.mjs";
134
+ import { SessionTokenController } from "../../../../adapters/http/controllers/entities/session-token/module.mjs";
129
135
  import { TrustAnchorController } from "../../../../adapters/http/controllers/entities/trust-anchor/module.mjs";
130
136
  import { UserController } from "../../../../adapters/http/controllers/entities/user/module.mjs";
131
137
  import { UserAttributeController } from "../../../../adapters/http/controllers/entities/user-attribute/module.mjs";
@@ -136,8 +142,10 @@ import "../../../../adapters/http/controllers/index.mjs";
136
142
  import "../../../../adapters/http/index.mjs";
137
143
  import { OAuth2InjectionToken } from "../../oauth2/constants.mjs";
138
144
  import { IdentityInjectionKey } from "../../identity/constants.mjs";
145
+ import { UserIdentityRepository } from "../../identity/repositories/user.mjs";
139
146
  import "../../identity/index.mjs";
140
147
  import "../../oauth2/index.mjs";
148
+ import { LazyWildcardRealmProvisioner } from "../../provisioning/lazy-wildcard.mjs";
141
149
  import { MailInjectionKey, MailTemplateRendererInjectionKey } from "../../mail/constants.mjs";
142
150
  import "../../mail/index.mjs";
143
151
  import { decorators } from "@routup/decorators";
@@ -159,7 +167,9 @@ var HTTPControllerModule = class {
159
167
  const keyController = this.createKeyController(container);
160
168
  const trustAnchorController = this.createTrustAnchorController(container);
161
169
  const sessionController = this.createSessionController(container);
170
+ const sessionTokenController = this.createSessionTokenController(container);
162
171
  const consentController = this.createConsentController(container);
172
+ const identityProviderAccountController = this.createIdentityProviderAccountController(container);
163
173
  const userController = this.createUserController(container);
164
174
  const userAttributeController = this.createUserAttributeController(container);
165
175
  const userAuthenticatorController = this.createUserAuthenticatorController(container);
@@ -179,6 +189,7 @@ var HTTPControllerModule = class {
179
189
  this.createLogoutController(container),
180
190
  this.createAuthenticatorChallengeController(container),
181
191
  this.createUserInfoController(container),
192
+ this.createAccountController(container),
182
193
  this.createStatusController(container),
183
194
  clientController,
184
195
  clientPermissionController,
@@ -186,6 +197,7 @@ var HTTPControllerModule = class {
186
197
  clientScopeController,
187
198
  consentController,
188
199
  eventController,
200
+ identityProviderAccountController,
189
201
  identityProviderRoleController,
190
202
  this.createIdentityProvider(container),
191
203
  keyController,
@@ -199,6 +211,7 @@ var HTTPControllerModule = class {
199
211
  rolePermissionController,
200
212
  scopeController,
201
213
  sessionController,
214
+ sessionTokenController,
202
215
  userController,
203
216
  userAttributeController,
204
217
  userAuthenticatorController,
@@ -381,11 +394,20 @@ var HTTPControllerModule = class {
381
394
  const config = container.resolve(ConfigInjectionKey);
382
395
  return new StatusController({ options: { features: this.buildUIFeatures(config) } });
383
396
  }
397
+ createAccountController(container) {
398
+ const config = container.resolve(ConfigInjectionKey);
399
+ return new AccountController({ options: {
400
+ baseURL: config.publicUrl,
401
+ features: this.buildUIFeatures(config),
402
+ trustedOrigins: getAppOrigins(config)
403
+ } });
404
+ }
384
405
  buildUIFeatures(config) {
385
406
  return {
386
407
  registration: config.registrationEnabled,
387
408
  passwordRecovery: config.passwordRecoveryEnabled,
388
- emailVerification: config.emailVerificationEnabled
409
+ emailVerification: config.emailVerificationEnabled,
410
+ accountConsole: config.accountConsoleEnabled
389
411
  };
390
412
  }
391
413
  createRegistrationService(container) {
@@ -433,7 +455,9 @@ var HTTPControllerModule = class {
433
455
  codeIssuer,
434
456
  codeRequestVerifier,
435
457
  stateManager,
436
- accessPolicyEvaluator: this.resolveAccessPolicyEvaluator(container)
458
+ accessPolicyEvaluator: this.resolveAccessPolicyEvaluator(container),
459
+ eventService: container.resolve(DatabaseInjectionKey.EventService),
460
+ logger: container.resolve(LoggerInjectionKey)
437
461
  });
438
462
  }
439
463
  createClientController(container) {
@@ -595,6 +619,15 @@ var HTTPControllerModule = class {
595
619
  });
596
620
  return new TrustAnchorController({ service });
597
621
  }
622
+ createSessionTokenController(container) {
623
+ const repository = container.resolve(OAuth2InjectionToken.SessionTokenRepository);
624
+ const tokenRepository = container.resolve(OAuth2InjectionToken.TokenRepository);
625
+ const service = new SessionTokenService({
626
+ repository,
627
+ tokenRepository
628
+ });
629
+ return new SessionTokenController({ service });
630
+ }
598
631
  createSessionController(container) {
599
632
  const repository = container.resolve(AuthenticationInjectionKey.SessionRepository);
600
633
  const service = new SessionService({ repository });
@@ -607,6 +640,20 @@ var HTTPControllerModule = class {
607
640
  createConsentController(container) {
608
641
  return new ConsentController({ service: this.createConsentService(container) });
609
642
  }
643
+ createIdentityProviderAccountController(container) {
644
+ const dataSource = container.resolve(DatabaseInjectionKey.DataSource);
645
+ const service = new IdentityProviderAccountService({
646
+ repository: new IdentityProviderAccountRepositoryAdapter(dataSource),
647
+ userRepository: new UserIdentityRepository({
648
+ repository: new UserRepository(dataSource),
649
+ userPermissionRepository: container.resolve(UserPermissionEntity),
650
+ userRoleRepository: container.resolve(UserRoleEntity)
651
+ }),
652
+ eventService: container.resolve(DatabaseInjectionKey.EventService),
653
+ requestContext: useRequestEventContext
654
+ });
655
+ return new IdentityProviderAccountController({ service });
656
+ }
610
657
  accessPolicyEvaluator;
611
658
  resolveAccessPolicyEvaluator(container) {
612
659
  if (this.accessPolicyEvaluator) return this.accessPolicyEvaluator;
@@ -648,6 +695,7 @@ var HTTPControllerModule = class {
648
695
  cache: container.resolve(CacheInjectionKey),
649
696
  cipher: new RealmCipher({ keyStore: container.resolve(OAuth2InjectionToken.KeyStore) }),
650
697
  eventService: container.resolve(DatabaseInjectionKey.EventService),
698
+ requestContext: useRequestEventContext,
651
699
  mailClient: container.resolve(MailInjectionKey),
652
700
  mailTemplateRenderer: container.resolve(MailTemplateRendererInjectionKey),
653
701
  options: {
@@ -786,7 +834,7 @@ var HTTPControllerModule = class {
786
834
  realmRepository
787
835
  });
788
836
  const logger = container.resolve(LoggerInjectionKey);
789
- const webClientProvisioner = new WebClientProvisioner({
837
+ const systemClientProvisioner = new SystemClientProvisioner({
790
838
  clientRepository,
791
839
  scopeRepository: new ScopeRepositoryAdapter({
792
840
  repository: container.resolve(ScopeEntity),
@@ -802,8 +850,11 @@ var HTTPControllerModule = class {
802
850
  });
803
851
  const service = new RealmService({
804
852
  repository,
805
- webClientProvisioner,
806
- keyProvisioner,
853
+ realmProvisioners: [
854
+ systemClientProvisioner,
855
+ keyProvisioner,
856
+ new LazyWildcardRealmProvisioner(container)
857
+ ],
807
858
  logger
808
859
  });
809
860
  const keyRepository = dataSource.getRepository(KeyEntity);
@@ -1 +1 @@
1
- {"version":3,"file":"controller.mjs","names":["decorators","ClientEntity","ClientPermissionEntity","ClientRoleEntity","ClientScopeEntity","IdentityProviderRepository","IdentityProviderRoleMappingEntity","KeyEntity","PermissionEntity","PermissionPolicyEntity","PolicyRepository","RealmEntity","RoleAttributeEntity","RoleEntity","RolePermissionEntity","ScopeEntity","UserAttributeEntity","UserAuthenticatorEntity","UserEntity","UserPermissionEntity","UserRepository","UserRoleEntity","ClientPermissionRepositoryAdapter","ClientRepositoryAdapter","ClientRoleRepositoryAdapter","ClientScopeRepositoryAdapter","DatabaseInjectionKey","IdentityProviderRepositoryAdapter","IdentityProviderRoleMappingRepositoryAdapter","PermissionDatabaseProvider","PermissionPolicyRepositoryAdapter","PermissionRepositoryAdapter","PolicyRepositoryAdapter","RealmRepositoryAdapter","RoleAttributeRepositoryAdapter","RolePermissionRepositoryAdapter","RoleRepositoryAdapter","ScopeRepositoryAdapter","TrustAnchorRepositoryAdapter","UserAttributeRepositoryAdapter","UserAuthenticatorRepositoryAdapter","UserPermissionRepositoryAdapter","UserRepositoryAdapter","UserRoleRepositoryAdapter","ClientController","ClientPermissionController","ClientRoleController","ClientScopeController","ConsentController","EventController","IdentityProviderController","IdentityProviderRoleMappingController","KeyController","PermissionController","PermissionPolicyController","PolicyController","RealmController","RoleAttributeController","RoleController","RolePermissionController","ScopeController","SessionController","TrustAnchorController","UserAttributeController","UserAuthenticatorController","UserController","UserPermissionController","UserRoleController","useRequestEventContext","ActivateController","AuthenticatorChallengeController","AuthorizeController","JwkController","LogoutController","OpenIDController","PasswordForgotController","PasswordResetController","RegisterController","StatusController","TokenController","UserInfoController","ClientCertificateValidator","ClientPermissionService","ClientRoleService","ClientScopeService","ClientService","ConsentService","CredentialsAuthenticator","IdentityProviderRoleMappingService","KeyProvisioner","KeyService","LoginThrottleService","OAuth2AccessPolicyEvaluator","OAuth2ClientAuthenticator","OAuth2EndSessionService","OAuth2MfaLoginService","PasswordRecoveryService","PermissionCheckerService","PermissionPolicyService","PermissionService","PolicyCheckerService","PolicyService","RealmCipher","RealmService","RegistrationService","RoleAttributeService","RolePermissionService","RoleService","ScopeService","SessionService","TrustAnchorService","UserAttributeService","UserAuthenticator","UserAuthenticatorService","UserPermissionService","UserRoleService","UserService","WebClientProvisioner","AuthenticationInjectionKey","OAuth2InjectionToken","IdentityInjectionKey","ConfigInjectionKey","getAppOrigins","CacheInjectionKey","LoggerInjectionKey","MailInjectionKey","MailTemplateRendererInjectionKey","MetricsInjectionKey","HTTPControllerModule","mount","router","container","eventController","createEventController","realmController","createRealmController","roleController","createRoleController","permissionController","createPermissionController","permissionPolicyController","createPermissionPolicyController","clientController","createClientController","clientPermissionController","createClientPermissionController","clientRoleController","createClientRoleController","clientScopeController","createClientScopeController","roleAttributeController","createRoleAttributeController","rolePermissionController","createRolePermissionController","scopeController","createScopeController","keyController","createKeyController","trustAnchorController","createTrustAnchorController","sessionController","createSessionController","consentController","createConsentController","userController","createUserController","userAttributeController","createUserAttributeController","userAuthenticatorController","createUserAuthenticatorController","userPermissionController","createUserPermissionController","userRoleController","createUserRoleController","policyController","createPolicyController","identityProviderRoleController","createIdentityProviderRoleController","use","controllers","createAuthorize","createToken","createJwkController","createOpenIDController","createActivateController","createPasswordForgotController","createPasswordResetController","createRegisterController","createLogoutController","createAuthenticatorChallengeController","createUserInfoController","createStatusController","createIdentityProvider","config","resolve","codeIssuer","AuthorizationCodeIssuer","codeRequestVerifier","AuthorizationCodeRequestVerifier","sessionManager","SessionManager","eventService","EventService","metrics","options","baseURL","publicUrl","features","buildUIFeatures","promptLoginMaxAge","mfaFreshnessMaxAge","mfaChallengeProvider","resolveUserAuthenticatorService","accessPolicyEvaluator","resolveAccessPolicyEvaluator","consentService","createConsentService","logger","dataSource","DataSource","codeVerifier","AuthorizationCodeVerifier","accessTokenIssuer","AccessTokenIssuer","refreshTokenIssuer","RefreshTokenIssuer","openIdTokenIssuer","OpenIDTokenIssuer","keyStore","KeyStore","tokenRevoker","TokenRevoker","tokenVerifier","TokenVerifier","tokenRepository","TokenRepository","sessionTokenRepository","SessionTokenRepository","identityResolver","Resolver","identityProviderLdapCollectionAuthenticator","ProviderLdapCollectionAuthenticator","identityPermissionProvider","PermissionProvider","userAuthenticator","oauth2ClientAuthenticator","certificateValidator","trustAnchorRepository","loginThrottleService","repository","EventRepository","enabled","loginAttemptThrottleEnabled","threshold","loginAttemptThreshold","windowSeconds","loginAttemptWindow","userAuthenticatorService","mfaLoginService","resolveMfaLoginService","tokenRefreshGracePeriod","certificateSource","realmRepository","service","createRegistrationService","createPasswordRecoveryService","mailClient","mailTemplateRenderer","passwordRecoveryEnabled","emailVerificationEnabled","passwordMinLength","clientRepository","ClientRepository","endSessionService","hintGracePeriod","endSessionHintGracePeriod","registration","registrationEnabled","passwordRecovery","emailVerification","accountManager","ProviderAccountManager","stateManager","AuthorizationStateManager","realmRepositoryAdapter","createPermissionRepository","createRoleRepository","roleRepository","rolePermissionRepository","policyRepository","permissionPolicyRepository","permissionProvider","checkerService","permissionRepository","reservedNames","Set","getMetadata","columns","map","c","propertyName","requestContext","SessionRepository","ConsentRepository","policyProvider","userRepository","issuer","webauthn","url","URL","hostname","rpId","rpName","origin","undefined","cache","cipher","mfaEnabled","required","mfaRequired","ticketIssuer","MfaTokenIssuer","createUserService","getRepository","webClientProvisioner","scopeRepository","clientScopeRepository","appOrigins","keyProvisioner","keyRepository","mtlsBaseURL","mtlsPublicUrl","clientCertificatesEnabled"],"sources":["../../../../../src/app/modules/http/modules/controller.ts"],"sourcesContent":["/*\n * Copyright (c) 2025.\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 { App } from 'routup';\nimport { decorators } from '@routup/decorators';\nimport type {\n Client,\n ClientPermission,\n ClientRole,\n ClientScope,\n Permission,\n PermissionPolicy,\n Realm,\n Role,\n RoleAttribute,\n RolePermission,\n Scope,\n UserAttribute,\n UserAuthenticator as UserAuthenticatorModel,\n UserPermission,\n UserRole,\n} from '@authup/core-kit';\nimport type { Repository } from 'typeorm';\nimport {\n ClientEntity,\n ClientPermissionEntity,\n ClientRoleEntity,\n ClientScopeEntity,\n IdentityProviderRepository,\n IdentityProviderRoleMappingEntity,\n KeyEntity,\n PermissionEntity,\n PermissionPolicyEntity,\n PolicyRepository,\n RealmEntity,\n RoleAttributeEntity,\n RoleEntity,\n RolePermissionEntity,\n ScopeEntity,\n UserAttributeEntity,\n UserAuthenticatorEntity,\n UserEntity,\n UserPermissionEntity,\n UserRepository,\n UserRoleEntity,\n} from '../../../../adapters/database/domains/index.ts';\nimport {\n ClientPermissionRepositoryAdapter,\n ClientRepositoryAdapter,\n ClientRoleRepositoryAdapter,\n ClientScopeRepositoryAdapter,\n DatabaseInjectionKey,\n IdentityProviderRepositoryAdapter,\n IdentityProviderRoleMappingRepositoryAdapter,\n PermissionDatabaseProvider,\n PermissionPolicyRepositoryAdapter,\n PermissionRepositoryAdapter,\n PolicyRepositoryAdapter,\n RealmRepositoryAdapter,\n RoleAttributeRepositoryAdapter,\n RolePermissionRepositoryAdapter,\n RoleRepositoryAdapter,\n ScopeRepositoryAdapter,\n TrustAnchorRepositoryAdapter,\n UserAttributeRepositoryAdapter,\n UserAuthenticatorRepositoryAdapter,\n UserPermissionRepositoryAdapter,\n UserRepositoryAdapter,\n UserRoleRepositoryAdapter,\n} from '../../database/index.ts';\nimport {\n ClientController,\n ClientPermissionController,\n ClientRoleController,\n ClientScopeController,\n ConsentController,\n EventController,\n IdentityProviderController,\n IdentityProviderRoleMappingController,\n KeyController,\n PermissionController,\n PermissionPolicyController,\n PolicyController,\n RealmController,\n RoleAttributeController,\n RoleController,\n RolePermissionController,\n ScopeController,\n SessionController,\n TrustAnchorController,\n UserAttributeController,\n UserAuthenticatorController,\n UserController,\n UserPermissionController,\n UserRoleController,\n useRequestEventContext,\n} from '../../../../adapters/http/index.ts';\nimport {\n ActivateController,\n AuthenticatorChallengeController,\n AuthorizeController,\n JwkController,\n LogoutController,\n OpenIDController,\n PasswordForgotController,\n PasswordResetController,\n RegisterController,\n StatusController,\n TokenController,\n UserInfoController,\n} from '../../../../adapters/http/controllers/index.ts';\nimport type { IContainer } from 'eldin';\nimport {\n ClientCertificateValidator,\n ClientPermissionService,\n ClientRoleService,\n ClientScopeService,\n ClientService,\n ConsentService,\n CredentialsAuthenticator,\n IdentityProviderRoleMappingService,\n KeyProvisioner,\n KeyService,\n LoginThrottleService,\n OAuth2AccessPolicyEvaluator,\n OAuth2ClientAuthenticator,\n OAuth2EndSessionService,\n OAuth2MfaLoginService,\n PasswordRecoveryService,\n PermissionCheckerService,\n PermissionPolicyService,\n PermissionService,\n PolicyCheckerService,\n PolicyService,\n RealmCipher,\n RealmService,\n RegistrationService,\n RoleAttributeService,\n RolePermissionService,\n RoleService,\n ScopeService,\n SessionService,\n TrustAnchorService,\n UserAttributeService,\n UserAuthenticator,\n UserAuthenticatorService,\n UserPermissionService,\n UserRoleService,\n UserService,\n WebClientProvisioner,\n} from '../../../../core/index.ts';\nimport { AuthenticationInjectionKey } from '../../authentication/index.ts';\nimport { OAuth2InjectionToken } from '../../oauth2/index.ts';\nimport { IdentityInjectionKey } from '../../identity/index.ts';\nimport type { StatusResponseFeatures } from '@authup/core-http-kit';\nimport type { Config } from '../../config/index.ts';\nimport { ConfigInjectionKey, getAppOrigins } from '../../config/index.ts';\nimport { CacheInjectionKey } from '../../cache/index.ts';\nimport { LoggerInjectionKey } from '../../logger/index.ts';\nimport { MailInjectionKey, MailTemplateRendererInjectionKey } from '../../mail/index.ts';\nimport { MetricsInjectionKey } from '../../metrics/index.ts';\n\nexport class HTTPControllerModule {\n async mount(router: App, container: IContainer): Promise<void> {\n const eventController = this.createEventController(container);\n const realmController = this.createRealmController(container);\n const roleController = this.createRoleController(container);\n const permissionController = await this.createPermissionController(container);\n const permissionPolicyController = this.createPermissionPolicyController(container);\n const clientController = this.createClientController(container);\n const clientPermissionController = this.createClientPermissionController(container);\n const clientRoleController = this.createClientRoleController(container);\n const clientScopeController = this.createClientScopeController(container);\n const roleAttributeController = this.createRoleAttributeController(container);\n const rolePermissionController = this.createRolePermissionController(container);\n const scopeController = this.createScopeController(container);\n const keyController = this.createKeyController(container);\n const trustAnchorController = this.createTrustAnchorController(container);\n const sessionController = this.createSessionController(container);\n const consentController = this.createConsentController(container);\n const userController = this.createUserController(container);\n const userAttributeController = this.createUserAttributeController(container);\n const userAuthenticatorController = this.createUserAuthenticatorController(container);\n const userPermissionController = this.createUserPermissionController(container);\n const userRoleController = this.createUserRoleController(container);\n const policyController = this.createPolicyController(container);\n const identityProviderRoleController = this.createIdentityProviderRoleController(container);\n\n router.use(decorators({\n controllers: [\n this.createAuthorize(container),\n this.createToken(container),\n this.createJwkController(container),\n this.createOpenIDController(container),\n this.createActivateController(container),\n this.createPasswordForgotController(container),\n this.createPasswordResetController(container),\n this.createRegisterController(container),\n this.createLogoutController(container),\n this.createAuthenticatorChallengeController(container),\n this.createUserInfoController(container),\n\n this.createStatusController(container),\n\n clientController,\n clientPermissionController,\n clientRoleController,\n clientScopeController,\n consentController,\n eventController,\n identityProviderRoleController,\n this.createIdentityProvider(container),\n keyController,\n trustAnchorController,\n permissionController,\n permissionPolicyController,\n policyController,\n realmController,\n roleController,\n roleAttributeController,\n rolePermissionController,\n scopeController,\n sessionController,\n userController,\n userAttributeController,\n userAuthenticatorController,\n userPermissionController,\n userRoleController,\n ],\n }));\n }\n\n // ----------------------------------------------------\n\n createAuthorize(container: IContainer) {\n const config = container.resolve(ConfigInjectionKey);\n\n const codeIssuer = container.resolve(OAuth2InjectionToken.AuthorizationCodeIssuer);\n const codeRequestVerifier = container.resolve(OAuth2InjectionToken.AuthorizationCodeRequestVerifier);\n\n const sessionManager = container.resolve(AuthenticationInjectionKey.SessionManager);\n\n const eventService = container.resolve(DatabaseInjectionKey.EventService);\n const metrics = container.resolve(MetricsInjectionKey);\n\n return new AuthorizeController({\n options: {\n baseURL: config.publicUrl,\n features: this.buildUIFeatures(config),\n promptLoginMaxAge: config.promptLoginMaxAge,\n mfaFreshnessMaxAge: config.mfaFreshnessMaxAge,\n },\n\n codeIssuer,\n codeRequestVerifier,\n\n sessionManager,\n\n eventService,\n metrics,\n\n mfaChallengeProvider: this.resolveUserAuthenticatorService(container),\n accessPolicyEvaluator: this.resolveAccessPolicyEvaluator(container),\n\n consentService: this.createConsentService(container),\n logger: container.resolve(LoggerInjectionKey),\n });\n }\n\n createToken(container: IContainer) {\n const config = container.resolve(ConfigInjectionKey);\n const logger = container.resolve(LoggerInjectionKey);\n const dataSource = container.resolve(DatabaseInjectionKey.DataSource);\n\n const sessionManager = container.resolve(AuthenticationInjectionKey.SessionManager);\n\n const codeVerifier = container.resolve(OAuth2InjectionToken.AuthorizationCodeVerifier);\n\n const accessTokenIssuer = container.resolve(OAuth2InjectionToken.AccessTokenIssuer);\n const refreshTokenIssuer = container.resolve(OAuth2InjectionToken.RefreshTokenIssuer);\n const openIdTokenIssuer = container.resolve(OAuth2InjectionToken.OpenIDTokenIssuer);\n const keyStore = container.resolve(OAuth2InjectionToken.KeyStore);\n\n const tokenRevoker = container.resolve(OAuth2InjectionToken.TokenRevoker);\n const tokenVerifier = container.resolve(OAuth2InjectionToken.TokenVerifier);\n const tokenRepository = container.resolve(OAuth2InjectionToken.TokenRepository);\n const sessionTokenRepository = container.resolve(OAuth2InjectionToken.SessionTokenRepository);\n\n const identityResolver = container.resolve(IdentityInjectionKey.Resolver);\n const identityProviderLdapCollectionAuthenticator = container.resolve(IdentityInjectionKey.ProviderLdapCollectionAuthenticator);\n\n const identityPermissionProvider = container.resolve(IdentityInjectionKey.PermissionProvider);\n\n const userAuthenticator = new CredentialsAuthenticator([\n identityProviderLdapCollectionAuthenticator,\n new UserAuthenticator(identityResolver),\n ]);\n\n const oauth2ClientAuthenticator = new OAuth2ClientAuthenticator({\n identityResolver,\n certificateValidator: new ClientCertificateValidator({ trustAnchorRepository: new TrustAnchorRepositoryAdapter(dataSource) }),\n });\n\n const eventService = container.resolve(DatabaseInjectionKey.EventService);\n const metrics = container.resolve(MetricsInjectionKey);\n\n const loginThrottleService = new LoginThrottleService({\n repository: container.resolve(DatabaseInjectionKey.EventRepository),\n options: {\n enabled: config.loginAttemptThrottleEnabled,\n threshold: config.loginAttemptThreshold,\n windowSeconds: config.loginAttemptWindow,\n },\n });\n\n return new TokenController({\n codeVerifier,\n\n accessTokenIssuer,\n refreshTokenIssuer,\n openIdTokenIssuer,\n keyStore,\n\n tokenVerifier,\n tokenRevoker,\n tokenRepository,\n sessionTokenRepository,\n\n eventService,\n metrics,\n loginThrottleService,\n userAuthenticatorService: this.resolveUserAuthenticatorService(container),\n mfaLoginService: this.resolveMfaLoginService(container),\n accessPolicyEvaluator: this.resolveAccessPolicyEvaluator(container),\n\n tokenRefreshGracePeriod: config.tokenRefreshGracePeriod,\n logger,\n\n identityResolver,\n identityPermissionProvider,\n\n userAuthenticator,\n\n oauth2ClientAuthenticator,\n certificateSource: config.certificateSource,\n\n realmRepository: new RealmRepositoryAdapter(container.resolve<Repository<Realm>>(RealmEntity)),\n\n sessionManager,\n });\n }\n\n createOpenIDController(container: IContainer) {\n const config = container.resolve(ConfigInjectionKey);\n\n return new OpenIDController({ baseURL: config.publicUrl });\n }\n\n createActivateController(container: IContainer) {\n const config = container.resolve(ConfigInjectionKey);\n\n return new ActivateController({\n options: {\n baseURL: config.publicUrl,\n features: this.buildUIFeatures(config),\n },\n service: this.createRegistrationService(container),\n });\n }\n\n createPasswordForgotController(container: IContainer) {\n const config = container.resolve(ConfigInjectionKey);\n\n return new PasswordForgotController({\n options: {\n baseURL: config.publicUrl,\n features: this.buildUIFeatures(config),\n },\n service: this.createPasswordRecoveryService(container),\n });\n }\n\n createPasswordResetController(container: IContainer) {\n const config = container.resolve(ConfigInjectionKey);\n\n return new PasswordResetController({\n options: {\n baseURL: config.publicUrl,\n features: this.buildUIFeatures(config),\n },\n service: this.createPasswordRecoveryService(container),\n });\n }\n\n createPasswordRecoveryService(container: IContainer) {\n const config = container.resolve(ConfigInjectionKey);\n const dataSource = container.resolve(DatabaseInjectionKey.DataSource);\n const realmRepository = container.resolve<Repository<Realm>>(RealmEntity);\n const repository = new UserRepositoryAdapter({\n repository: new UserRepository(dataSource),\n realmRepository,\n });\n const mailClient = container.resolve(MailInjectionKey);\n const mailTemplateRenderer = container.resolve(MailTemplateRendererInjectionKey);\n\n return new PasswordRecoveryService({\n mailClient,\n mailTemplateRenderer,\n repository,\n realmRepository: new RealmRepositoryAdapter(realmRepository),\n eventService: container.resolve(DatabaseInjectionKey.EventService),\n options: {\n passwordRecoveryEnabled: config.passwordRecoveryEnabled,\n emailVerificationEnabled: config.emailVerificationEnabled,\n publicUrl: config.publicUrl,\n passwordMinLength: config.passwordMinLength,\n },\n });\n }\n\n createRegisterController(container: IContainer) {\n const config = container.resolve(ConfigInjectionKey);\n\n return new RegisterController({\n options: {\n baseURL: config.publicUrl,\n features: this.buildUIFeatures(config),\n },\n service: this.createRegistrationService(container),\n });\n }\n\n createLogoutController(container: IContainer) {\n const config = container.resolve(ConfigInjectionKey);\n const tokenVerifier = container.resolve(OAuth2InjectionToken.TokenVerifier);\n const sessionManager = container.resolve(AuthenticationInjectionKey.SessionManager);\n const clientRepository = container.resolve(OAuth2InjectionToken.ClientRepository);\n const realmRepository = new RealmRepositoryAdapter(container.resolve<Repository<Realm>>(RealmEntity));\n\n const endSessionService = new OAuth2EndSessionService({\n tokenVerifier,\n sessionManager,\n clientRepository,\n realmRepository,\n eventService: container.resolve(DatabaseInjectionKey.EventService),\n hintGracePeriod: config.endSessionHintGracePeriod,\n });\n\n return new LogoutController({\n options: { baseURL: config.publicUrl },\n endSessionService,\n });\n }\n\n createStatusController(container: IContainer) {\n const config = container.resolve(ConfigInjectionKey);\n\n return new StatusController({ options: { features: this.buildUIFeatures(config) } });\n }\n\n buildUIFeatures(config: Config) : StatusResponseFeatures {\n return {\n registration: config.registrationEnabled,\n passwordRecovery: config.passwordRecoveryEnabled,\n emailVerification: config.emailVerificationEnabled,\n };\n }\n\n createRegistrationService(container: IContainer) {\n const config = container.resolve(ConfigInjectionKey);\n const dataSource = container.resolve(DatabaseInjectionKey.DataSource);\n const realmRepository = container.resolve<Repository<Realm>>(RealmEntity);\n const repository = new UserRepositoryAdapter({\n repository: new UserRepository(dataSource),\n realmRepository,\n });\n const mailClient = container.resolve(MailInjectionKey);\n const mailTemplateRenderer = container.resolve(MailTemplateRendererInjectionKey);\n\n return new RegistrationService({\n mailClient,\n mailTemplateRenderer,\n repository,\n realmRepository: new RealmRepositoryAdapter(realmRepository),\n eventService: container.resolve(DatabaseInjectionKey.EventService),\n options: {\n registrationEnabled: config.registrationEnabled,\n emailVerificationEnabled: config.emailVerificationEnabled,\n publicUrl: config.publicUrl,\n passwordMinLength: config.passwordMinLength,\n },\n });\n }\n\n createIdentityProvider(container: IContainer) {\n const config = container.resolve(ConfigInjectionKey);\n const dataSource = container.resolve(DatabaseInjectionKey.DataSource);\n\n const accountManager = container.resolve(IdentityInjectionKey.ProviderAccountManager);\n\n const codeIssuer = container.resolve(OAuth2InjectionToken.AuthorizationCodeIssuer);\n\n const codeRequestVerifier = container.resolve(OAuth2InjectionToken.AuthorizationCodeRequestVerifier);\n\n const stateManager = container.resolve(OAuth2InjectionToken.AuthorizationStateManager);\n\n const realmRepository = container.resolve<Repository<Realm>>(RealmEntity);\n\n const repository = new IdentityProviderRepositoryAdapter({\n repository: new IdentityProviderRepository(dataSource),\n realmRepository,\n });\n\n return new IdentityProviderController({\n options: { baseURL: config.publicUrl },\n\n repository,\n realmRepository: new RealmRepositoryAdapter(realmRepository),\n clientRepository: container.resolve(OAuth2InjectionToken.ClientRepository),\n\n accountManager,\n\n codeIssuer,\n codeRequestVerifier,\n stateManager,\n\n accessPolicyEvaluator: this.resolveAccessPolicyEvaluator(container),\n });\n }\n\n createClientController(container: IContainer) {\n const realmRepository = container.resolve<Repository<Realm>>(RealmEntity);\n const repository = new ClientRepositoryAdapter({\n repository: container.resolve<Repository<Client>>(ClientEntity),\n realmRepository,\n });\n const realmRepositoryAdapter = new RealmRepositoryAdapter(realmRepository);\n const service = new ClientService({\n repository,\n realmRepository: realmRepositoryAdapter,\n });\n return new ClientController({\n service,\n repository,\n });\n }\n\n private createPermissionRepository(container: IContainer): PermissionRepositoryAdapter {\n return new PermissionRepositoryAdapter({\n repository: container.resolve<Repository<Permission>>(PermissionEntity),\n realmRepository: container.resolve<Repository<Realm>>(RealmEntity),\n });\n }\n\n private createRoleRepository(container: IContainer): RoleRepositoryAdapter {\n return new RoleRepositoryAdapter({\n repository: container.resolve<Repository<Role>>(RoleEntity),\n realmRepository: container.resolve<Repository<Realm>>(RealmEntity),\n });\n }\n\n async createPermissionController(container: IContainer) {\n const dataSource = container.resolve(DatabaseInjectionKey.DataSource);\n const realmRepository = container.resolve<Repository<Realm>>(RealmEntity);\n const repository = new PermissionRepositoryAdapter({\n repository: container.resolve<Repository<Permission>>(PermissionEntity),\n realmRepository,\n });\n\n const realmRepositoryAdapter = new RealmRepositoryAdapter(realmRepository);\n const roleRepository = new RoleRepositoryAdapter({\n repository: container.resolve<Repository<Role>>(RoleEntity),\n realmRepository,\n });\n const rolePermissionRepository = new RolePermissionRepositoryAdapter(\n container.resolve<Repository<RolePermission>>(RolePermissionEntity),\n );\n const policyRepository = new PolicyRepositoryAdapter({\n repository: new PolicyRepository(dataSource),\n realmRepository,\n });\n\n const permissionPolicyRepository = new PermissionPolicyRepositoryAdapter(\n container.resolve<Repository<PermissionPolicy>>(PermissionPolicyEntity),\n );\n\n const service = new PermissionService({\n repository,\n realmRepository: realmRepositoryAdapter,\n roleRepository,\n rolePermissionRepository,\n policyRepository,\n permissionPolicyRepository,\n });\n\n const identityPermissionProvider = container.resolve(IdentityInjectionKey.PermissionProvider);\n const permissionProvider = new PermissionDatabaseProvider(dataSource);\n\n const checkerService = new PermissionCheckerService({\n repository,\n realmRepository: realmRepositoryAdapter,\n permissionProvider,\n identityPermissionProvider,\n });\n\n return new PermissionController({\n service,\n checkerService,\n });\n }\n\n createRoleController(container: IContainer) {\n const realmRepository = new RealmRepositoryAdapter(\n container.resolve<Repository<Realm>>(RealmEntity),\n );\n const repository = new RoleRepositoryAdapter({\n repository: container.resolve<Repository<Role>>(RoleEntity),\n realmRepository: container.resolve<Repository<Realm>>(RealmEntity),\n });\n const service = new RoleService({\n repository,\n realmRepository,\n });\n return new RoleController({ service });\n }\n\n createClientPermissionController(container: IContainer) {\n const repository = new ClientPermissionRepositoryAdapter(\n container.resolve<Repository<ClientPermission>>(ClientPermissionEntity),\n );\n const permissionRepository = this.createPermissionRepository(container);\n const identityPermissionProvider = container.resolve(IdentityInjectionKey.PermissionProvider);\n const service = new ClientPermissionService({\n repository,\n permissionRepository,\n identityPermissionProvider,\n });\n return new ClientPermissionController({ service });\n }\n\n createClientRoleController(container: IContainer) {\n const repository = new ClientRoleRepositoryAdapter(\n container.resolve<Repository<ClientRole>>(ClientRoleEntity),\n );\n const identityPermissionProvider = container.resolve(IdentityInjectionKey.PermissionProvider);\n const service = new ClientRoleService({ repository, identityPermissionProvider });\n return new ClientRoleController({ service });\n }\n\n createClientScopeController(container: IContainer) {\n const repository = new ClientScopeRepositoryAdapter(\n container.resolve<Repository<ClientScope>>(ClientScopeEntity),\n );\n const service = new ClientScopeService({ repository });\n return new ClientScopeController({ service });\n }\n\n createRoleAttributeController(container: IContainer) {\n const dataSource = container.resolve(DatabaseInjectionKey.DataSource);\n const repository = new RoleAttributeRepositoryAdapter(\n container.resolve<Repository<RoleAttribute>>(RoleAttributeEntity),\n );\n const reservedNames = new Set(\n dataSource.getMetadata(RoleEntity).columns.map((c) => c.propertyName),\n );\n const service = new RoleAttributeService({ repository, reservedNames });\n return new RoleAttributeController({ service });\n }\n\n createRolePermissionController(container: IContainer) {\n const repository = new RolePermissionRepositoryAdapter(\n container.resolve<Repository<RolePermission>>(RolePermissionEntity),\n );\n const permissionRepository = this.createPermissionRepository(container);\n const identityPermissionProvider = container.resolve(IdentityInjectionKey.PermissionProvider);\n const service = new RolePermissionService({\n repository,\n permissionRepository,\n identityPermissionProvider,\n });\n return new RolePermissionController({ service });\n }\n\n createPermissionPolicyController(container: IContainer) {\n const repository = new PermissionPolicyRepositoryAdapter(\n container.resolve<Repository<PermissionPolicy>>(PermissionPolicyEntity),\n );\n const service = new PermissionPolicyService({ repository });\n return new PermissionPolicyController({ service });\n }\n\n createScopeController(container: IContainer) {\n const realmRepository = new RealmRepositoryAdapter(\n container.resolve<Repository<Realm>>(RealmEntity),\n );\n const repository = new ScopeRepositoryAdapter({\n repository: container.resolve<Repository<Scope>>(ScopeEntity),\n realmRepository: container.resolve<Repository<Realm>>(RealmEntity),\n });\n const service = new ScopeService({\n repository,\n realmRepository,\n });\n return new ScopeController({ service });\n }\n\n createKeyController(container: IContainer) {\n // the DI singleton carries the optional KEK cipher — never construct\n // a fresh adapter here.\n const service = new KeyService({\n repository: container.resolve(OAuth2InjectionToken.KeyStore),\n eventService: container.resolve(DatabaseInjectionKey.EventService),\n requestContext: useRequestEventContext,\n });\n return new KeyController({ service });\n }\n\n createTrustAnchorController(container: IContainer) {\n const repository = new TrustAnchorRepositoryAdapter(\n container.resolve(DatabaseInjectionKey.DataSource),\n );\n const service = new TrustAnchorService({\n repository,\n eventService: container.resolve(DatabaseInjectionKey.EventService),\n requestContext: useRequestEventContext,\n });\n return new TrustAnchorController({ service });\n }\n\n createSessionController(container: IContainer) {\n const repository = container.resolve(AuthenticationInjectionKey.SessionRepository);\n const service = new SessionService({ repository });\n return new SessionController({ service });\n }\n\n protected createConsentService(container: IContainer) : ConsentService {\n const repository = container.resolve(OAuth2InjectionToken.ConsentRepository);\n return new ConsentService({ repository });\n }\n\n createConsentController(container: IContainer) {\n return new ConsentController({ service: this.createConsentService(container) });\n }\n\n private accessPolicyEvaluator? : OAuth2AccessPolicyEvaluator;\n\n protected resolveAccessPolicyEvaluator(container: IContainer) : OAuth2AccessPolicyEvaluator {\n if (this.accessPolicyEvaluator) {\n return this.accessPolicyEvaluator;\n }\n\n const dataSource = container.resolve(DatabaseInjectionKey.DataSource);\n\n this.accessPolicyEvaluator = new OAuth2AccessPolicyEvaluator({\n policyProvider: new PolicyRepository(dataSource),\n identityPermissionProvider: container.resolve(IdentityInjectionKey.PermissionProvider),\n logger: container.resolve(LoggerInjectionKey),\n });\n\n return this.accessPolicyEvaluator;\n }\n\n private userAuthenticatorService? : UserAuthenticatorService;\n\n protected resolveUserAuthenticatorService(container: IContainer) : UserAuthenticatorService {\n if (this.userAuthenticatorService) {\n return this.userAuthenticatorService;\n }\n\n const config = container.resolve(ConfigInjectionKey);\n const dataSource = container.resolve(DatabaseInjectionKey.DataSource);\n\n const repository = new UserAuthenticatorRepositoryAdapter(\n container.resolve<Repository<UserAuthenticatorModel>>(UserAuthenticatorEntity),\n );\n const userRepository = new UserRepositoryAdapter({\n repository: new UserRepository(dataSource),\n realmRepository: container.resolve<Repository<Realm>>(RealmEntity),\n });\n\n let issuer : string | undefined;\n let webauthn : {\n rpId: string, \n rpName: string, \n origin: string \n } | undefined;\n try {\n const url = new URL(config.publicUrl);\n issuer = url.hostname;\n webauthn = {\n rpId: url.hostname,\n rpName: issuer,\n origin: url.origin,\n };\n } catch {\n issuer = undefined;\n webauthn = undefined;\n }\n\n this.userAuthenticatorService = new UserAuthenticatorService({\n repository,\n userRepository,\n cache: container.resolve(CacheInjectionKey),\n cipher: new RealmCipher({ keyStore: container.resolve(OAuth2InjectionToken.KeyStore) }),\n eventService: container.resolve(DatabaseInjectionKey.EventService),\n mailClient: container.resolve(MailInjectionKey),\n mailTemplateRenderer: container.resolve(MailTemplateRendererInjectionKey),\n options: {\n enabled: config.mfaEnabled,\n required: config.mfaRequired,\n issuer,\n webauthn,\n },\n });\n\n return this.userAuthenticatorService;\n }\n\n createUserAuthenticatorController(container: IContainer) {\n return new UserAuthenticatorController({ service: this.resolveUserAuthenticatorService(container) });\n }\n\n private mfaLoginService? : OAuth2MfaLoginService;\n\n protected resolveMfaLoginService(container: IContainer) : OAuth2MfaLoginService {\n if (this.mfaLoginService) {\n return this.mfaLoginService;\n }\n\n this.mfaLoginService = new OAuth2MfaLoginService({\n sessionManager: container.resolve(AuthenticationInjectionKey.SessionManager),\n ticketIssuer: container.resolve(OAuth2InjectionToken.MfaTokenIssuer),\n accessTokenIssuer: container.resolve(OAuth2InjectionToken.AccessTokenIssuer),\n refreshTokenIssuer: container.resolve(OAuth2InjectionToken.RefreshTokenIssuer),\n tokenRepository: container.resolve(OAuth2InjectionToken.TokenRepository),\n eventService: container.resolve(DatabaseInjectionKey.EventService),\n metrics: container.resolve(MetricsInjectionKey),\n });\n\n return this.mfaLoginService;\n }\n\n createAuthenticatorChallengeController(container: IContainer) {\n return new AuthenticatorChallengeController({\n service: this.resolveUserAuthenticatorService(container),\n sessionManager: container.resolve(AuthenticationInjectionKey.SessionManager),\n mfaLoginService: this.resolveMfaLoginService(container),\n });\n }\n\n createEventController(container: IContainer) {\n const service = container.resolve(DatabaseInjectionKey.EventService);\n return new EventController({ service });\n }\n\n createUserService(container: IContainer) {\n const config = container.resolve(ConfigInjectionKey);\n const dataSource = container.resolve(DatabaseInjectionKey.DataSource);\n const realmRepository = container.resolve<Repository<Realm>>(RealmEntity);\n const repository = new UserRepositoryAdapter({\n repository: new UserRepository(dataSource),\n realmRepository,\n });\n const realmRepositoryAdapter = new RealmRepositoryAdapter(realmRepository);\n return new UserService({\n repository,\n realmRepository: realmRepositoryAdapter,\n passwordMinLength: config.passwordMinLength,\n });\n }\n\n createUserController(container: IContainer) {\n return new UserController({ service: this.createUserService(container) });\n }\n\n createUserInfoController(container: IContainer) {\n return new UserInfoController({ service: this.createUserService(container) });\n }\n\n createUserAttributeController(container: IContainer) {\n const dataSource = container.resolve(DatabaseInjectionKey.DataSource);\n const repository = new UserAttributeRepositoryAdapter(\n container.resolve<Repository<UserAttribute>>(UserAttributeEntity),\n );\n const reservedNames = new Set(\n dataSource.getMetadata(UserEntity).columns.map((c) => c.propertyName),\n );\n const service = new UserAttributeService({ repository, reservedNames });\n return new UserAttributeController({ service });\n }\n\n createUserPermissionController(container: IContainer) {\n const repository = new UserPermissionRepositoryAdapter(\n container.resolve<Repository<UserPermission>>(UserPermissionEntity),\n );\n const permissionRepository = this.createPermissionRepository(container);\n const identityPermissionProvider = container.resolve(IdentityInjectionKey.PermissionProvider);\n const service = new UserPermissionService({\n repository,\n permissionRepository,\n identityPermissionProvider,\n });\n return new UserPermissionController({ service });\n }\n\n createUserRoleController(container: IContainer) {\n const repository = new UserRoleRepositoryAdapter(\n container.resolve<Repository<UserRole>>(UserRoleEntity),\n );\n const identityPermissionProvider = container.resolve(IdentityInjectionKey.PermissionProvider);\n const service = new UserRoleService({ repository, identityPermissionProvider });\n return new UserRoleController({ service });\n }\n\n createPolicyController(container: IContainer) {\n const dataSource = container.resolve(DatabaseInjectionKey.DataSource);\n const realmRepository = container.resolve<Repository<Realm>>(RealmEntity);\n const repository = new PolicyRepositoryAdapter({\n repository: new PolicyRepository(dataSource),\n realmRepository,\n });\n const realmRepositoryAdapter = new RealmRepositoryAdapter(realmRepository);\n const service = new PolicyService({\n repository,\n realmRepository: realmRepositoryAdapter,\n });\n const identityPermissionProvider = container.resolve(IdentityInjectionKey.PermissionProvider);\n const checkerService = new PolicyCheckerService({\n repository,\n realmRepository: realmRepositoryAdapter,\n identityPermissionProvider,\n });\n\n return new PolicyController({\n service,\n checkerService,\n });\n }\n\n createIdentityProviderRoleController(container: IContainer) {\n const repository = new IdentityProviderRoleMappingRepositoryAdapter(\n container.resolve<Repository<any>>(IdentityProviderRoleMappingEntity),\n );\n const roleRepository = this.createRoleRepository(container);\n const identityPermissionProvider = container.resolve(IdentityInjectionKey.PermissionProvider);\n const service = new IdentityProviderRoleMappingService({\n repository,\n roleRepository,\n identityPermissionProvider,\n });\n return new IdentityProviderRoleMappingController({ service });\n }\n\n createJwkController(container: IContainer) {\n const dataSource = container.resolve(DatabaseInjectionKey.DataSource);\n const repository = dataSource.getRepository(KeyEntity);\n return new JwkController({ repository });\n }\n\n createRealmController(container: IContainer) {\n const config = container.resolve(ConfigInjectionKey);\n const dataSource = container.resolve(DatabaseInjectionKey.DataSource);\n const realmRepository = container.resolve<Repository<Realm>>(RealmEntity);\n const repository = new RealmRepositoryAdapter(realmRepository);\n\n const clientRepository = new ClientRepositoryAdapter({\n repository: container.resolve<Repository<Client>>(ClientEntity),\n realmRepository,\n });\n const logger = container.resolve(LoggerInjectionKey);\n const webClientProvisioner = new WebClientProvisioner({\n clientRepository,\n scopeRepository: new ScopeRepositoryAdapter({\n repository: container.resolve<Repository<Scope>>(ScopeEntity),\n realmRepository,\n }),\n clientScopeRepository: new ClientScopeRepositoryAdapter(\n container.resolve<Repository<ClientScope>>(ClientScopeEntity),\n ),\n appOrigins: getAppOrigins(config),\n logger,\n });\n const keyProvisioner = new KeyProvisioner({\n keyStore: container.resolve(OAuth2InjectionToken.KeyStore),\n logger,\n });\n\n const service = new RealmService({\n repository,\n webClientProvisioner,\n keyProvisioner,\n logger,\n });\n const keyRepository = dataSource.getRepository(KeyEntity);\n\n return new RealmController({\n options: {\n baseURL: config.publicUrl,\n mtlsBaseURL: config.mtlsPublicUrl,\n clientCertificatesEnabled: config.certificateSource !== 'disabled',\n },\n service,\n keyRepository,\n });\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsKA,IAAagI,uBAAb,MAAaA;CACT,MAAMC,MAAMC,QAAaC,WAAsC;EAC3D,MAAMC,kBAAkB,KAAKC,sBAAsBF,SAAAA;EACnD,MAAMG,kBAAkB,KAAKC,sBAAsBJ,SAAAA;EACnD,MAAMK,iBAAiB,KAAKC,qBAAqBN,SAAAA;EACjD,MAAMO,uBAAuB,MAAM,KAAKC,2BAA2BR,SAAAA;EACnE,MAAMS,6BAA6B,KAAKC,iCAAiCV,SAAAA;EACzE,MAAMW,mBAAmB,KAAKC,uBAAuBZ,SAAAA;EACrD,MAAMa,6BAA6B,KAAKC,iCAAiCd,SAAAA;EACzE,MAAMe,uBAAuB,KAAKC,2BAA2BhB,SAAAA;EAC7D,MAAMiB,wBAAwB,KAAKC,4BAA4BlB,SAAAA;EAC/D,MAAMmB,0BAA0B,KAAKC,8BAA8BpB,SAAAA;EACnE,MAAMqB,2BAA2B,KAAKC,+BAA+BtB,SAAAA;EACrE,MAAMuB,kBAAkB,KAAKC,sBAAsBxB,SAAAA;EACnD,MAAMyB,gBAAgB,KAAKC,oBAAoB1B,SAAAA;EAC/C,MAAM2B,wBAAwB,KAAKC,4BAA4B5B,SAAAA;EAC/D,MAAM6B,oBAAoB,KAAKC,wBAAwB9B,SAAAA;EACvD,MAAM+B,oBAAoB,KAAKC,wBAAwBhC,SAAAA;EACvD,MAAMiC,iBAAiB,KAAKC,qBAAqBlC,SAAAA;EACjD,MAAMmC,0BAA0B,KAAKC,8BAA8BpC,SAAAA;EACnE,MAAMqC,8BAA8B,KAAKC,kCAAkCtC,SAAAA;EAC3E,MAAMuC,2BAA2B,KAAKC,+BAA+BxC,SAAAA;EACrE,MAAMyC,qBAAqB,KAAKC,yBAAyB1C,SAAAA;EACzD,MAAM2C,mBAAmB,KAAKC,uBAAuB5C,SAAAA;EACrD,MAAM6C,iCAAiC,KAAKC,qCAAqC9C,SAAAA;EAEjFD,OAAOgD,IAAIlL,WAAW,EAClBmL,aAAa;GACT,KAAKC,gBAAgBjD,SAAAA;GACrB,KAAKkD,YAAYlD,SAAAA;GACjB,KAAKmD,oBAAoBnD,SAAAA;GACzB,KAAKoD,uBAAuBpD,SAAAA;GAC5B,KAAKqD,yBAAyBrD,SAAAA;GAC9B,KAAKsD,+BAA+BtD,SAAAA;GACpC,KAAKuD,8BAA8BvD,SAAAA;GACnC,KAAKwD,yBAAyBxD,SAAAA;GAC9B,KAAKyD,uBAAuBzD,SAAAA;GAC5B,KAAK0D,uCAAuC1D,SAAAA;GAC5C,KAAK2D,yBAAyB3D,SAAAA;GAE9B,KAAK4D,uBAAuB5D,SAAAA;GAE5BW;GACAE;GACAE;GACAE;GACAc;GACA9B;GACA4C;GACA,KAAKgB,uBAAuB7D,SAAAA;GAC5ByB;GACAE;GACApB;GACAE;GACAkC;GACAxC;GACAE;GACAc;GACAE;GACAE;GACAM;GACAI;GACAE;GACAE;GACAE;GACAE;EACH,EACL,CAAA,CAAA;CACJ;CAIAQ,gBAAgBjD,WAAuB;EACnC,MAAM8D,SAAS9D,UAAU+D,QAAQzE,kBAAAA;EAEjC,MAAM0E,aAAahE,UAAU+D,QAAQ3E,qBAAqB6E,uBAAuB;EACjF,MAAMC,sBAAsBlE,UAAU+D,QAAQ3E,qBAAqB+E,gCAAgC;EAEnG,MAAMC,iBAAiBpE,UAAU+D,QAAQ5E,2BAA2BkF,cAAc;EAElF,MAAMC,eAAetE,UAAU+D,QAAQxK,qBAAqBgL,YAAY;EACxE,MAAMC,UAAUxE,UAAU+D,QAAQnE,mBAAAA;EAElC,OAAO,IAAIxD,oBAAoB;GAC3BqI,SAAS;IACLC,SAASZ,OAAOa;IAChBC,UAAU,KAAKC,gBAAgBf,MAAAA;IAC/BgB,mBAAmBhB,OAAOgB;IAC1BC,oBAAoBjB,OAAOiB;GAC/B;GAEAf;GACAE;GAEAE;GAEAE;GACAE;GAEAQ,sBAAsB,KAAKC,gCAAgCjF,SAAAA;GAC3DkF,uBAAuB,KAAKC,6BAA6BnF,SAAAA;GAEzDoF,gBAAgB,KAAKC,qBAAqBrF,SAAAA;GAC1CsF,QAAQtF,UAAU+D,QAAQtE,kBAAAA;EAC9B,CAAA;CACJ;CAEAyD,YAAYlD,WAAuB;EAC/B,MAAM8D,SAAS9D,UAAU+D,QAAQzE,kBAAAA;EACjC,MAAMgG,SAAStF,UAAU+D,QAAQtE,kBAAAA;EACjC,MAAM8F,aAAavF,UAAU+D,QAAQxK,qBAAqBiM,UAAU;EAEpE,MAAMpB,iBAAiBpE,UAAU+D,QAAQ5E,2BAA2BkF,cAAc;EAElF,MAAMoB,eAAezF,UAAU+D,QAAQ3E,qBAAqBsG,yBAAyB;EAErF,MAAMC,oBAAoB3F,UAAU+D,QAAQ3E,qBAAqBwG,iBAAiB;EAClF,MAAMC,qBAAqB7F,UAAU+D,QAAQ3E,qBAAqB0G,kBAAkB;EACpF,MAAMC,oBAAoB/F,UAAU+D,QAAQ3E,qBAAqB4G,iBAAiB;EAClF,MAAMC,WAAWjG,UAAU+D,QAAQ3E,qBAAqB8G,QAAQ;EAEhE,MAAMC,eAAenG,UAAU+D,QAAQ3E,qBAAqBgH,YAAY;EACxE,MAAMC,gBAAgBrG,UAAU+D,QAAQ3E,qBAAqBkH,aAAa;EAC1E,MAAMC,kBAAkBvG,UAAU+D,QAAQ3E,qBAAqBoH,eAAe;EAC9E,MAAMC,yBAAyBzG,UAAU+D,QAAQ3E,qBAAqBsH,sBAAsB;EAE5F,MAAMC,mBAAmB3G,UAAU+D,QAAQ1E,qBAAqBuH,QAAQ;EACxE,MAAMC,8CAA8C7G,UAAU+D,QAAQ1E,qBAAqByH,mCAAmC;EAE9H,MAAMC,6BAA6B/G,UAAU+D,QAAQ1E,qBAAqB2H,kBAAkB;EAE5F,MAAMC,oBAAoB,IAAI7J,yBAAyB,CACnDyJ,6CACA,IAAIhI,kBAAkB8H,gBAAAA,CACzB,CAAA;EAED,MAAMO,4BAA4B,IAAIxJ,0BAA0B;GAC5DiJ;GACAQ,sBAAsB,IAAIrK,2BAA2B,EAAEsK,uBAAuB,IAAIjN,6BAA6BoL,UAAAA,EAAY,CAAA;EAC/H,CAAA;EAEA,MAAMjB,eAAetE,UAAU+D,QAAQxK,qBAAqBgL,YAAY;EACxE,MAAMC,UAAUxE,UAAU+D,QAAQnE,mBAAAA;EAElC,MAAMyH,uBAAuB,IAAI7J,qBAAqB;GAClD8J,YAAYtH,UAAU+D,QAAQxK,qBAAqBgO,eAAe;GAClE9C,SAAS;IACL+C,SAAS1D,OAAO2D;IAChBC,WAAW5D,OAAO6D;IAClBC,eAAe9D,OAAO+D;GAC1B;EACJ,CAAA;EAEA,OAAO,IAAIjL,gBAAgB;GACvB6I;GAEAE;GACAE;GACAE;GACAE;GAEAI;GACAF;GACAI;GACAE;GAEAnC;GACAE;GACA6C;GACAS,0BAA0B,KAAK7C,gCAAgCjF,SAAAA;GAC/D+H,iBAAiB,KAAKC,uBAAuBhI,SAAAA;GAC7CkF,uBAAuB,KAAKC,6BAA6BnF,SAAAA;GAEzDiI,yBAAyBnE,OAAOmE;GAChC3C;GAEAqB;GACAI;GAEAE;GAEAC;GACAgB,mBAAmBpE,OAAOoE;GAE1BC,iBAAiB,IAAIrO,uBAAuBkG,UAAU+D,QAA2BvL,WAAAA,CAAAA;GAEjF4L;EACJ,CAAA;CACJ;CAEAhB,uBAAuBpD,WAAuB;EAC1C,MAAM8D,SAAS9D,UAAU+D,QAAQzE,kBAAAA;EAEjC,OAAO,IAAI/C,iBAAiB,EAAEmI,SAASZ,OAAOa,UAAU,CAAA;CAC5D;CAEAtB,yBAAyBrD,WAAuB;EAC5C,MAAM8D,SAAS9D,UAAU+D,QAAQzE,kBAAAA;EAEjC,OAAO,IAAIpD,mBAAmB;GAC1BuI,SAAS;IACLC,SAASZ,OAAOa;IAChBC,UAAU,KAAKC,gBAAgBf,MAAAA;GACnC;GACAsE,SAAS,KAAKC,0BAA0BrI,SAAAA;EAC5C,CAAA;CACJ;CAEAsD,+BAA+BtD,WAAuB;EAClD,MAAM8D,SAAS9D,UAAU+D,QAAQzE,kBAAAA;EAEjC,OAAO,IAAI9C,yBAAyB;GAChCiI,SAAS;IACLC,SAASZ,OAAOa;IAChBC,UAAU,KAAKC,gBAAgBf,MAAAA;GACnC;GACAsE,SAAS,KAAKE,8BAA8BtI,SAAAA;EAChD,CAAA;CACJ;CAEAuD,8BAA8BvD,WAAuB;EACjD,MAAM8D,SAAS9D,UAAU+D,QAAQzE,kBAAAA;EAEjC,OAAO,IAAI7C,wBAAwB;GAC/BgI,SAAS;IACLC,SAASZ,OAAOa;IAChBC,UAAU,KAAKC,gBAAgBf,MAAAA;GACnC;GACAsE,SAAS,KAAKE,8BAA8BtI,SAAAA;EAChD,CAAA;CACJ;CAEAsI,8BAA8BtI,WAAuB;EACjD,MAAM8D,SAAS9D,UAAU+D,QAAQzE,kBAAAA;EACjC,MAAMiG,aAAavF,UAAU+D,QAAQxK,qBAAqBiM,UAAU;EACpE,MAAM2C,kBAAkBnI,UAAU+D,QAA2BvL,WAAAA;EAC7D,MAAM8O,aAAa,IAAI/M,sBAAsB;GACzC+M,YAAY,IAAIrO,eAAesM,UAAAA;GAC/B4C;EACJ,CAAA;EACA,MAAMI,aAAavI,UAAU+D,QAAQrE,gBAAAA;EACrC,MAAM8I,uBAAuBxI,UAAU+D,QAAQpE,gCAAAA;EAE/C,OAAO,IAAI9B,wBAAwB;GAC/B0K;GACAC;GACAlB;GACAa,iBAAiB,IAAIrO,uBAAuBqO,eAAAA;GAC5C7D,cAActE,UAAU+D,QAAQxK,qBAAqBgL,YAAY;GACjEE,SAAS;IACLgE,yBAAyB3E,OAAO2E;IAChCC,0BAA0B5E,OAAO4E;IACjC/D,WAAWb,OAAOa;IAClBgE,mBAAmB7E,OAAO6E;GAC9B;EACJ,CAAA;CACJ;CAEAnF,yBAAyBxD,WAAuB;EAC5C,MAAM8D,SAAS9D,UAAU+D,QAAQzE,kBAAAA;EAEjC,OAAO,IAAI5C,mBAAmB;GAC1B+H,SAAS;IACLC,SAASZ,OAAOa;IAChBC,UAAU,KAAKC,gBAAgBf,MAAAA;GACnC;GACAsE,SAAS,KAAKC,0BAA0BrI,SAAAA;EAC5C,CAAA;CACJ;CAEAyD,uBAAuBzD,WAAuB;EAC1C,MAAM8D,SAAS9D,UAAU+D,QAAQzE,kBAAAA;EACjC,MAAM+G,gBAAgBrG,UAAU+D,QAAQ3E,qBAAqBkH,aAAa;EAC1E,MAAMlC,iBAAiBpE,UAAU+D,QAAQ5E,2BAA2BkF,cAAc;EAClF,MAAMuE,mBAAmB5I,UAAU+D,QAAQ3E,qBAAqByJ,gBAAgB;EAChF,MAAMV,kBAAkB,IAAIrO,uBAAuBkG,UAAU+D,QAA2BvL,WAAAA,CAAAA;EAExF,MAAMsQ,oBAAoB,IAAInL,wBAAwB;GAClD0I;GACAjC;GACAwE;GACAT;GACA7D,cAActE,UAAU+D,QAAQxK,qBAAqBgL,YAAY;GACjEwE,iBAAiBjF,OAAOkF;EAC5B,CAAA;EAEA,OAAO,IAAI1M,iBAAiB;GACxBmI,SAAS,EAAEC,SAASZ,OAAOa,UAAU;GACrCmE;EACJ,CAAA;CACJ;CAEAlF,uBAAuB5D,WAAuB;EAC1C,MAAM8D,SAAS9D,UAAU+D,QAAQzE,kBAAAA;EAEjC,OAAO,IAAI3C,iBAAiB,EAAE8H,SAAS,EAAEG,UAAU,KAAKC,gBAAgBf,MAAAA,EAAQ,EAAE,CAAA;CACtF;CAEAe,gBAAgBf,QAAyC;EACrD,OAAO;GACHmF,cAAcnF,OAAOoF;GACrBC,kBAAkBrF,OAAO2E;GACzBW,mBAAmBtF,OAAO4E;EAC9B;CACJ;CAEAL,0BAA0BrI,WAAuB;EAC7C,MAAM8D,SAAS9D,UAAU+D,QAAQzE,kBAAAA;EACjC,MAAMiG,aAAavF,UAAU+D,QAAQxK,qBAAqBiM,UAAU;EACpE,MAAM2C,kBAAkBnI,UAAU+D,QAA2BvL,WAAAA;EAC7D,MAAM8O,aAAa,IAAI/M,sBAAsB;GACzC+M,YAAY,IAAIrO,eAAesM,UAAAA;GAC/B4C;EACJ,CAAA;EACA,MAAMI,aAAavI,UAAU+D,QAAQrE,gBAAAA;EACrC,MAAM8I,uBAAuBxI,UAAU+D,QAAQpE,gCAAAA;EAE/C,OAAO,IAAItB,oBAAoB;GAC3BkK;GACAC;GACAlB;GACAa,iBAAiB,IAAIrO,uBAAuBqO,eAAAA;GAC5C7D,cAActE,UAAU+D,QAAQxK,qBAAqBgL,YAAY;GACjEE,SAAS;IACLyE,qBAAqBpF,OAAOoF;IAC5BR,0BAA0B5E,OAAO4E;IACjC/D,WAAWb,OAAOa;IAClBgE,mBAAmB7E,OAAO6E;GAC9B;EACJ,CAAA;CACJ;CAEA9E,uBAAuB7D,WAAuB;EAC1C,MAAM8D,SAAS9D,UAAU+D,QAAQzE,kBAAAA;EACjC,MAAMiG,aAAavF,UAAU+D,QAAQxK,qBAAqBiM,UAAU;EAEpE,MAAM6D,iBAAiBrJ,UAAU+D,QAAQ1E,qBAAqBiK,sBAAsB;EAEpF,MAAMtF,aAAahE,UAAU+D,QAAQ3E,qBAAqB6E,uBAAuB;EAEjF,MAAMC,sBAAsBlE,UAAU+D,QAAQ3E,qBAAqB+E,gCAAgC;EAEnG,MAAMoF,eAAevJ,UAAU+D,QAAQ3E,qBAAqBoK,yBAAyB;EAErF,MAAMrB,kBAAkBnI,UAAU+D,QAA2BvL,WAAAA;EAE7D,MAAM8O,aAAa,IAAI9N,kCAAkC;GACrD8N,YAAY,IAAIpP,2BAA2BqN,UAAAA;GAC3C4C;EACJ,CAAA;EAEA,OAAO,IAAIpN,2BAA2B;GAClC0J,SAAS,EAAEC,SAASZ,OAAOa,UAAU;GAErC2C;GACAa,iBAAiB,IAAIrO,uBAAuBqO,eAAAA;GAC5CS,kBAAkB5I,UAAU+D,QAAQ3E,qBAAqByJ,gBAAgB;GAEzEQ;GAEArF;GACAE;GACAqF;GAEArE,uBAAuB,KAAKC,6BAA6BnF,SAAAA;EAC7D,CAAA;CACJ;CAEAY,uBAAuBZ,WAAuB;EAC1C,MAAMmI,kBAAkBnI,UAAU+D,QAA2BvL,WAAAA;EAC7D,MAAM8O,aAAa,IAAIlO,wBAAwB;GAC3CkO,YAAYtH,UAAU+D,QAA4BjM,YAAAA;GAClDqQ;EACJ,CAAA;EACA,MAAMsB,yBAAyB,IAAI3P,uBAAuBqO,eAAAA;EAC1D,MAAMC,UAAU,IAAIlL,cAAc;GAC9BoK;GACAa,iBAAiBsB;EACrB,CAAA;EACA,OAAO,IAAIhP,iBAAiB;GACxB2N;GACAd;EACJ,CAAA;CACJ;CAEQoC,2BAA2B1J,WAAoD;EACnF,OAAO,IAAIpG,4BAA4B;GACnC0N,YAAYtH,UAAU+D,QAAgC1L,gBAAAA;GACtD8P,iBAAiBnI,UAAU+D,QAA2BvL,WAAAA;EAC1D,CAAA;CACJ;CAEQmR,qBAAqB3J,WAA8C;EACvE,OAAO,IAAI/F,sBAAsB;GAC7BqN,YAAYtH,UAAU+D,QAA0BrL,UAAAA;GAChDyP,iBAAiBnI,UAAU+D,QAA2BvL,WAAAA;EAC1D,CAAA;CACJ;CAEA,MAAMgI,2BAA2BR,WAAuB;EACpD,MAAMuF,aAAavF,UAAU+D,QAAQxK,qBAAqBiM,UAAU;EACpE,MAAM2C,kBAAkBnI,UAAU+D,QAA2BvL,WAAAA;EAC7D,MAAM8O,aAAa,IAAI1N,4BAA4B;GAC/C0N,YAAYtH,UAAU+D,QAAgC1L,gBAAAA;GACtD8P;EACJ,CAAA;EAEA,MAAMsB,yBAAyB,IAAI3P,uBAAuBqO,eAAAA;EAC1D,MAAMyB,iBAAiB,IAAI3P,sBAAsB;GAC7CqN,YAAYtH,UAAU+D,QAA0BrL,UAAAA;GAChDyP;EACJ,CAAA;EACA,MAAM0B,2BAA2B,IAAI7P,gCACjCgG,UAAU+D,QAAoCpL,oBAAAA,CAAAA;EAElD,MAAMmR,mBAAmB,IAAIjQ,wBAAwB;GACjDyN,YAAY,IAAI/O,iBAAiBgN,UAAAA;GACjC4C;EACJ,CAAA;EAEA,MAAM4B,6BAA6B,IAAIpQ,kCACnCqG,UAAU+D,QAAsCzL,sBAAAA,CAAAA;EAGpD,MAAM8P,UAAU,IAAIpK,kBAAkB;GAClCsJ;GACAa,iBAAiBsB;GACjBG;GACAC;GACAC;GACAC;EACJ,CAAA;EAEA,MAAMhD,6BAA6B/G,UAAU+D,QAAQ1E,qBAAqB2H,kBAAkB;EAC5F,MAAMgD,qBAAqB,IAAItQ,2BAA2B6L,UAAAA;EAE1D,MAAM0E,iBAAiB,IAAInM,yBAAyB;GAChDwJ;GACAa,iBAAiBsB;GACjBO;GACAjD;EACJ,CAAA;EAEA,OAAO,IAAI7L,qBAAqB;GAC5BkN;GACA6B;EACJ,CAAA;CACJ;CAEA3J,qBAAqBN,WAAuB;EACxC,MAAMmI,kBAAkB,IAAIrO,uBACxBkG,UAAU+D,QAA2BvL,WAAAA,CAAAA;EAEzC,MAAM8O,aAAa,IAAIrN,sBAAsB;GACzCqN,YAAYtH,UAAU+D,QAA0BrL,UAAAA;GAChDyP,iBAAiBnI,UAAU+D,QAA2BvL,WAAAA;EAC1D,CAAA;EACA,MAAM4P,UAAU,IAAI5J,YAAY;GAC5B8I;GACAa;EACJ,CAAA;EACA,OAAO,IAAI5M,eAAe,EAAE6M,QAAQ,CAAA;CACxC;CAEAtH,iCAAiCd,WAAuB;EACpD,MAAMsH,aAAa,IAAInO,kCACnB6G,UAAU+D,QAAsChM,sBAAAA,CAAAA;EAEpD,MAAMmS,uBAAuB,KAAKR,2BAA2B1J,SAAAA;EAC7D,MAAM+G,6BAA6B/G,UAAU+D,QAAQ1E,qBAAqB2H,kBAAkB;EAC5F,MAAMoB,UAAU,IAAIrL,wBAAwB;GACxCuK;GACA4C;GACAnD;EACJ,CAAA;EACA,OAAO,IAAIrM,2BAA2B,EAAE0N,QAAQ,CAAA;CACpD;CAEApH,2BAA2BhB,WAAuB;EAC9C,MAAMsH,aAAa,IAAIjO,4BACnB2G,UAAU+D,QAAgC/L,gBAAAA,CAAAA;EAE9C,MAAM+O,6BAA6B/G,UAAU+D,QAAQ1E,qBAAqB2H,kBAAkB;EAC5F,MAAMoB,UAAU,IAAIpL,kBAAkB;GAAEsK;GAAYP;EAA2B,CAAA;EAC/E,OAAO,IAAIpM,qBAAqB,EAAEyN,QAAQ,CAAA;CAC9C;CAEAlH,4BAA4BlB,WAAuB;EAC/C,MAAMsH,aAAa,IAAIhO,6BACnB0G,UAAU+D,QAAiC9L,iBAAAA,CAAAA;EAE/C,MAAMmQ,UAAU,IAAInL,mBAAmB,EAAEqK,WAAW,CAAA;EACpD,OAAO,IAAI1M,sBAAsB,EAAEwN,QAAQ,CAAA;CAC/C;CAEAhH,8BAA8BpB,WAAuB;EACjD,MAAMuF,aAAavF,UAAU+D,QAAQxK,qBAAqBiM,UAAU;EACpE,MAAM8B,aAAa,IAAIvN,+BACnBiG,UAAU+D,QAAmCtL,mBAAAA,CAAAA;EAEjD,MAAM0R,gBAAgB,IAAIC,IACtB7E,WAAW8E,YAAY3R,UAAAA,CAAAA,CAAY4R,QAAQC,KAAKC,MAAMA,EAAEC,YAAY,CAAA;EAExE,MAAMrC,UAAU,IAAI9J,qBAAqB;GAAEgJ;GAAY6C;EAAc,CAAA;EACrE,OAAO,IAAI7O,wBAAwB,EAAE8M,QAAQ,CAAA;CACjD;CAEA9G,+BAA+BtB,WAAuB;EAClD,MAAMsH,aAAa,IAAItN,gCACnBgG,UAAU+D,QAAoCpL,oBAAAA,CAAAA;EAElD,MAAMuR,uBAAuB,KAAKR,2BAA2B1J,SAAAA;EAC7D,MAAM+G,6BAA6B/G,UAAU+D,QAAQ1E,qBAAqB2H,kBAAkB;EAC5F,MAAMoB,UAAU,IAAI7J,sBAAsB;GACtC+I;GACA4C;GACAnD;EACJ,CAAA;EACA,OAAO,IAAIvL,yBAAyB,EAAE4M,QAAQ,CAAA;CAClD;CAEA1H,iCAAiCV,WAAuB;EACpD,MAAMsH,aAAa,IAAI3N,kCACnBqG,UAAU+D,QAAsCzL,sBAAAA,CAAAA;EAEpD,MAAM8P,UAAU,IAAIrK,wBAAwB,EAAEuJ,WAAW,CAAA;EACzD,OAAO,IAAInM,2BAA2B,EAAEiN,QAAQ,CAAA;CACpD;CAEA5G,sBAAsBxB,WAAuB;EACzC,MAAMmI,kBAAkB,IAAIrO,uBACxBkG,UAAU+D,QAA2BvL,WAAAA,CAAAA;EAEzC,MAAM8O,aAAa,IAAIpN,uBAAuB;GAC1CoN,YAAYtH,UAAU+D,QAA2BnL,WAAAA;GACjDuP,iBAAiBnI,UAAU+D,QAA2BvL,WAAAA;EAC1D,CAAA;EACA,MAAM4P,UAAU,IAAI3J,aAAa;GAC7B6I;GACAa;EACJ,CAAA;EACA,OAAO,IAAI1M,gBAAgB,EAAE2M,QAAQ,CAAA;CACzC;CAEA1G,oBAAoB1B,WAAuB;EAGvC,MAAMoI,UAAU,IAAI7K,WAAW;GAC3B+J,YAAYtH,UAAU+D,QAAQ3E,qBAAqB8G,QAAQ;GAC3D5B,cAActE,UAAU+D,QAAQxK,qBAAqBgL,YAAY;GACjEmG,gBAAgBzO;EACpB,CAAA;EACA,OAAO,IAAIhB,cAAc,EAAEmN,QAAQ,CAAA;CACvC;CAEAxG,4BAA4B5B,WAAuB;EAC/C,MAAMsH,aAAa,IAAInN,6BACnB6F,UAAU+D,QAAQxK,qBAAqBiM,UAAU,CAAA;EAErD,MAAM4C,UAAU,IAAIzJ,mBAAmB;GACnC2I;GACAhD,cAActE,UAAU+D,QAAQxK,qBAAqBgL,YAAY;GACjEmG,gBAAgBzO;EACpB,CAAA;EACA,OAAO,IAAIN,sBAAsB,EAAEyM,QAAQ,CAAA;CAC/C;CAEAtG,wBAAwB9B,WAAuB;EAC3C,MAAMsH,aAAatH,UAAU+D,QAAQ5E,2BAA2BwL,iBAAiB;EACjF,MAAMvC,UAAU,IAAI1J,eAAe,EAAE4I,WAAW,CAAA;EAChD,OAAO,IAAI5L,kBAAkB,EAAE0M,QAAQ,CAAA;CAC3C;CAEU/C,qBAAqBrF,WAAwC;EACnE,MAAMsH,aAAatH,UAAU+D,QAAQ3E,qBAAqBwL,iBAAiB;EAC3E,OAAO,IAAIzN,eAAe,EAAEmK,WAAW,CAAA;CAC3C;CAEAtF,wBAAwBhC,WAAuB;EAC3C,OAAO,IAAInF,kBAAkB,EAAEuN,SAAS,KAAK/C,qBAAqBrF,SAAAA,EAAW,CAAA;CACjF;CAEQkF;CAEEC,6BAA6BnF,WAAqD;EACxF,IAAI,KAAKkF,uBACL,OAAO,KAAKA;EAGhB,MAAMK,aAAavF,UAAU+D,QAAQxK,qBAAqBiM,UAAU;EAEpE,KAAKN,wBAAwB,IAAIzH,4BAA4B;GACzDoN,gBAAgB,IAAItS,iBAAiBgN,UAAAA;GACrCwB,4BAA4B/G,UAAU+D,QAAQ1E,qBAAqB2H,kBAAkB;GACrF1B,QAAQtF,UAAU+D,QAAQtE,kBAAAA;EAC9B,CAAA;EAEA,OAAO,KAAKyF;CAChB;CAEQ4C;CAEE7C,gCAAgCjF,WAAkD;EACxF,IAAI,KAAK8H,0BACL,OAAO,KAAKA;EAGhB,MAAMhE,SAAS9D,UAAU+D,QAAQzE,kBAAAA;EACjC,MAAMiG,aAAavF,UAAU+D,QAAQxK,qBAAqBiM,UAAU;EAEpE,MAAM8B,aAAa,IAAIjN,mCACnB2F,UAAU+D,QAA4CjL,uBAAAA,CAAAA;EAE1D,MAAMgS,iBAAiB,IAAIvQ,sBAAsB;GAC7C+M,YAAY,IAAIrO,eAAesM,UAAAA;GAC/B4C,iBAAiBnI,UAAU+D,QAA2BvL,WAAAA;EAC1D,CAAA;EAEA,IAAIuS;EACJ,IAAIC;EAKJ,IAAI;GACA,MAAMC,MAAM,IAAIC,IAAIpH,OAAOa,SAAS;GACpCoG,SAASE,IAAIE;GACbH,WAAW;IACPI,MAAMH,IAAIE;IACVE,QAAQN;IACRO,QAAQL,IAAIK;GAChB;EACJ,QAAQ;GACJP,SAASQ,KAAAA;GACTP,WAAWO,KAAAA;EACf;EAEA,KAAKzD,2BAA2B,IAAIhJ,yBAAyB;GACzDwI;GACAwD;GACAU,OAAOxL,UAAU+D,QAAQvE,iBAAAA;GACzBiM,QAAQ,IAAItN,YAAY,EAAE8H,UAAUjG,UAAU+D,QAAQ3E,qBAAqB8G,QAAQ,EAAE,CAAA;GACrF5B,cAActE,UAAU+D,QAAQxK,qBAAqBgL,YAAY;GACjEgE,YAAYvI,UAAU+D,QAAQrE,gBAAAA;GAC9B8I,sBAAsBxI,UAAU+D,QAAQpE,gCAAAA;GACxC8E,SAAS;IACL+C,SAAS1D,OAAO4H;IAChBC,UAAU7H,OAAO8H;IACjBb;IACAC;GACJ;EACJ,CAAA;EAEA,OAAO,KAAKlD;CAChB;CAEAxF,kCAAkCtC,WAAuB;EACrD,OAAO,IAAInE,4BAA4B,EAAEuM,SAAS,KAAKnD,gCAAgCjF,SAAAA,EAAW,CAAA;CACtG;CAEQ+H;CAEEC,uBAAuBhI,WAA+C;EAC5E,IAAI,KAAK+H,iBACL,OAAO,KAAKA;EAGhB,KAAKA,kBAAkB,IAAInK,sBAAsB;GAC7CwG,gBAAgBpE,UAAU+D,QAAQ5E,2BAA2BkF,cAAc;GAC3EwH,cAAc7L,UAAU+D,QAAQ3E,qBAAqB0M,cAAc;GACnEnG,mBAAmB3F,UAAU+D,QAAQ3E,qBAAqBwG,iBAAiB;GAC3EC,oBAAoB7F,UAAU+D,QAAQ3E,qBAAqB0G,kBAAkB;GAC7ES,iBAAiBvG,UAAU+D,QAAQ3E,qBAAqBoH,eAAe;GACvElC,cAActE,UAAU+D,QAAQxK,qBAAqBgL,YAAY;GACjEC,SAASxE,UAAU+D,QAAQnE,mBAAAA;EAC/B,CAAA;EAEA,OAAO,KAAKmI;CAChB;CAEArE,uCAAuC1D,WAAuB;EAC1D,OAAO,IAAI7D,iCAAiC;GACxCiM,SAAS,KAAKnD,gCAAgCjF,SAAAA;GAC9CoE,gBAAgBpE,UAAU+D,QAAQ5E,2BAA2BkF,cAAc;GAC3E0D,iBAAiB,KAAKC,uBAAuBhI,SAAAA;EACjD,CAAA;CACJ;CAEAE,sBAAsBF,WAAuB;EACzC,MAAMoI,UAAUpI,UAAU+D,QAAQxK,qBAAqBgL,YAAY;EACnE,OAAO,IAAIzJ,gBAAgB,EAAEsN,QAAQ,CAAA;CACzC;CAEA2D,kBAAkB/L,WAAuB;EACrC,MAAM8D,SAAS9D,UAAU+D,QAAQzE,kBAAAA;EACjC,MAAMiG,aAAavF,UAAU+D,QAAQxK,qBAAqBiM,UAAU;EACpE,MAAM2C,kBAAkBnI,UAAU+D,QAA2BvL,WAAAA;EAC7D,MAAM8O,aAAa,IAAI/M,sBAAsB;GACzC+M,YAAY,IAAIrO,eAAesM,UAAAA;GAC/B4C;EACJ,CAAA;EACA,MAAMsB,yBAAyB,IAAI3P,uBAAuBqO,eAAAA;EAC1D,OAAO,IAAIlJ,YAAY;GACnBqI;GACAa,iBAAiBsB;GACjBd,mBAAmB7E,OAAO6E;EAC9B,CAAA;CACJ;CAEAzG,qBAAqBlC,WAAuB;EACxC,OAAO,IAAIlE,eAAe,EAAEsM,SAAS,KAAK2D,kBAAkB/L,SAAAA,EAAW,CAAA;CAC3E;CAEA2D,yBAAyB3D,WAAuB;EAC5C,OAAO,IAAInD,mBAAmB,EAAEuL,SAAS,KAAK2D,kBAAkB/L,SAAAA,EAAW,CAAA;CAC/E;CAEAoC,8BAA8BpC,WAAuB;EACjD,MAAMuF,aAAavF,UAAU+D,QAAQxK,qBAAqBiM,UAAU;EACpE,MAAM8B,aAAa,IAAIlN,+BACnB4F,UAAU+D,QAAmClL,mBAAAA,CAAAA;EAEjD,MAAMsR,gBAAgB,IAAIC,IACtB7E,WAAW8E,YAAYtR,UAAAA,CAAAA,CAAYuR,QAAQC,KAAKC,MAAMA,EAAEC,YAAY,CAAA;EAExE,MAAMrC,UAAU,IAAIxJ,qBAAqB;GAAE0I;GAAY6C;EAAc,CAAA;EACrE,OAAO,IAAIvO,wBAAwB,EAAEwM,QAAQ,CAAA;CACjD;CAEA5F,+BAA+BxC,WAAuB;EAClD,MAAMsH,aAAa,IAAIhN,gCACnB0F,UAAU+D,QAAoC/K,oBAAAA,CAAAA;EAElD,MAAMkR,uBAAuB,KAAKR,2BAA2B1J,SAAAA;EAC7D,MAAM+G,6BAA6B/G,UAAU+D,QAAQ1E,qBAAqB2H,kBAAkB;EAC5F,MAAMoB,UAAU,IAAIrJ,sBAAsB;GACtCuI;GACA4C;GACAnD;EACJ,CAAA;EACA,OAAO,IAAIhL,yBAAyB,EAAEqM,QAAQ,CAAA;CAClD;CAEA1F,yBAAyB1C,WAAuB;EAC5C,MAAMsH,aAAa,IAAI9M,0BACnBwF,UAAU+D,QAA8B7K,cAAAA,CAAAA;EAE5C,MAAM6N,6BAA6B/G,UAAU+D,QAAQ1E,qBAAqB2H,kBAAkB;EAC5F,MAAMoB,UAAU,IAAIpJ,gBAAgB;GAAEsI;GAAYP;EAA2B,CAAA;EAC7E,OAAO,IAAI/K,mBAAmB,EAAEoM,QAAQ,CAAA;CAC5C;CAEAxF,uBAAuB5C,WAAuB;EAC1C,MAAMuF,aAAavF,UAAU+D,QAAQxK,qBAAqBiM,UAAU;EACpE,MAAM2C,kBAAkBnI,UAAU+D,QAA2BvL,WAAAA;EAC7D,MAAM8O,aAAa,IAAIzN,wBAAwB;GAC3CyN,YAAY,IAAI/O,iBAAiBgN,UAAAA;GACjC4C;EACJ,CAAA;EACA,MAAMsB,yBAAyB,IAAI3P,uBAAuBqO,eAAAA;EAC1D,MAAMC,UAAU,IAAIlK,cAAc;GAC9BoJ;GACAa,iBAAiBsB;EACrB,CAAA;EACA,MAAM1C,6BAA6B/G,UAAU+D,QAAQ1E,qBAAqB2H,kBAAkB;EAC5F,MAAMiD,iBAAiB,IAAIhM,qBAAqB;GAC5CqJ;GACAa,iBAAiBsB;GACjB1C;EACJ,CAAA;EAEA,OAAO,IAAI3L,iBAAiB;GACxBgN;GACA6B;EACJ,CAAA;CACJ;CAEAnH,qCAAqC9C,WAAuB;EACxD,MAAMsH,aAAa,IAAI7N,6CACnBuG,UAAU+D,QAAyB5L,iCAAAA,CAAAA;EAEvC,MAAMyR,iBAAiB,KAAKD,qBAAqB3J,SAAAA;EACjD,MAAM+G,6BAA6B/G,UAAU+D,QAAQ1E,qBAAqB2H,kBAAkB;EAC5F,MAAMoB,UAAU,IAAI/K,mCAAmC;GACnDiK;GACAsC;GACA7C;EACJ,CAAA;EACA,OAAO,IAAI/L,sCAAsC,EAAEoN,QAAQ,CAAA;CAC/D;CAEAjF,oBAAoBnD,WAAuB;EAEvC,MAAMsH,aADatH,UAAU+D,QAAQxK,qBAAqBiM,UACvCD,CAAAA,CAAWyG,cAAc5T,SAAAA;EAC5C,OAAO,IAAIiE,cAAc,EAAEiL,WAAW,CAAA;CAC1C;CAEAlH,sBAAsBJ,WAAuB;EACzC,MAAM8D,SAAS9D,UAAU+D,QAAQzE,kBAAAA;EACjC,MAAMiG,aAAavF,UAAU+D,QAAQxK,qBAAqBiM,UAAU;EACpE,MAAM2C,kBAAkBnI,UAAU+D,QAA2BvL,WAAAA;EAC7D,MAAM8O,aAAa,IAAIxN,uBAAuBqO,eAAAA;EAE9C,MAAMS,mBAAmB,IAAIxP,wBAAwB;GACjDkO,YAAYtH,UAAU+D,QAA4BjM,YAAAA;GAClDqQ;EACJ,CAAA;EACA,MAAM7C,SAAStF,UAAU+D,QAAQtE,kBAAAA;EACjC,MAAMwM,uBAAuB,IAAI/M,qBAAqB;GAClD0J;GACAsD,iBAAiB,IAAIhS,uBAAuB;IACxCoN,YAAYtH,UAAU+D,QAA2BnL,WAAAA;IACjDuP;GACJ,CAAA;GACAgE,uBAAuB,IAAI7S,6BACvB0G,UAAU+D,QAAiC9L,iBAAAA,CAAAA;GAE/CmU,YAAY7M,cAAcuE,MAAAA;GAC1BwB;EACJ,CAAA;EACA,MAAM+G,iBAAiB,IAAI/O,eAAe;GACtC2I,UAAUjG,UAAU+D,QAAQ3E,qBAAqB8G,QAAQ;GACzDZ;EACJ,CAAA;EAEA,MAAM8C,UAAU,IAAIhK,aAAa;GAC7BkJ;GACA2E;GACAI;GACA/G;EACJ,CAAA;EACA,MAAMgH,gBAAgB/G,WAAWyG,cAAc5T,SAAAA;EAE/C,OAAO,IAAIiD,gBAAgB;GACvBoJ,SAAS;IACLC,SAASZ,OAAOa;IAChB4H,aAAazI,OAAO0I;IACpBC,2BAA2B3I,OAAOoE,sBAAsB;GAC5D;GACAE;GACAkE;EACJ,CAAA;CACJ;AACJ"}
1
+ {"version":3,"file":"controller.mjs","names":["decorators","ClientEntity","ClientPermissionEntity","ClientRoleEntity","ClientScopeEntity","IdentityProviderRepository","IdentityProviderRoleMappingEntity","KeyEntity","PermissionEntity","PermissionPolicyEntity","PolicyRepository","RealmEntity","RoleAttributeEntity","RoleEntity","RolePermissionEntity","ScopeEntity","UserAttributeEntity","UserAuthenticatorEntity","UserEntity","UserPermissionEntity","UserRepository","UserRoleEntity","ClientPermissionRepositoryAdapter","ClientRepositoryAdapter","ClientRoleRepositoryAdapter","ClientScopeRepositoryAdapter","DatabaseInjectionKey","IdentityProviderAccountRepositoryAdapter","IdentityProviderRepositoryAdapter","IdentityProviderRoleMappingRepositoryAdapter","PermissionDatabaseProvider","PermissionPolicyRepositoryAdapter","PermissionRepositoryAdapter","PolicyRepositoryAdapter","RealmRepositoryAdapter","RoleAttributeRepositoryAdapter","RolePermissionRepositoryAdapter","RoleRepositoryAdapter","ScopeRepositoryAdapter","TrustAnchorRepositoryAdapter","UserAttributeRepositoryAdapter","UserAuthenticatorRepositoryAdapter","UserPermissionRepositoryAdapter","UserRepositoryAdapter","UserRoleRepositoryAdapter","ClientController","ClientPermissionController","ClientRoleController","ClientScopeController","ConsentController","EventController","IdentityProviderAccountController","IdentityProviderController","IdentityProviderRoleMappingController","KeyController","PermissionController","PermissionPolicyController","PolicyController","RealmController","RoleAttributeController","RoleController","RolePermissionController","ScopeController","SessionController","SessionTokenController","TrustAnchorController","UserAttributeController","UserAuthenticatorController","UserController","UserPermissionController","UserRoleController","useRequestEventContext","AccountController","ActivateController","AuthenticatorChallengeController","AuthorizeController","JwkController","LogoutController","OpenIDController","PasswordForgotController","PasswordResetController","RegisterController","StatusController","TokenController","UserInfoController","ClientCertificateValidator","ClientPermissionService","ClientRoleService","ClientScopeService","ClientService","ConsentService","CredentialsAuthenticator","IdentityProviderAccountService","IdentityProviderRoleMappingService","KeyProvisioner","KeyService","LoginThrottleService","OAuth2AccessPolicyEvaluator","OAuth2ClientAuthenticator","OAuth2EndSessionService","OAuth2MfaLoginService","PasswordRecoveryService","PermissionCheckerService","PermissionPolicyService","PermissionService","PolicyCheckerService","PolicyService","RealmCipher","RealmService","RegistrationService","RoleAttributeService","RolePermissionService","RoleService","ScopeService","SessionService","SessionTokenService","SystemClientProvisioner","TrustAnchorService","UserAttributeService","UserAuthenticator","UserAuthenticatorService","UserPermissionService","UserRoleService","UserService","AuthenticationInjectionKey","OAuth2InjectionToken","LazyWildcardRealmProvisioner","IdentityInjectionKey","UserIdentityRepository","ConfigInjectionKey","getAppOrigins","CacheInjectionKey","LoggerInjectionKey","MailInjectionKey","MailTemplateRendererInjectionKey","MetricsInjectionKey","HTTPControllerModule","mount","router","container","eventController","createEventController","realmController","createRealmController","roleController","createRoleController","permissionController","createPermissionController","permissionPolicyController","createPermissionPolicyController","clientController","createClientController","clientPermissionController","createClientPermissionController","clientRoleController","createClientRoleController","clientScopeController","createClientScopeController","roleAttributeController","createRoleAttributeController","rolePermissionController","createRolePermissionController","scopeController","createScopeController","keyController","createKeyController","trustAnchorController","createTrustAnchorController","sessionController","createSessionController","sessionTokenController","createSessionTokenController","consentController","createConsentController","identityProviderAccountController","createIdentityProviderAccountController","userController","createUserController","userAttributeController","createUserAttributeController","userAuthenticatorController","createUserAuthenticatorController","userPermissionController","createUserPermissionController","userRoleController","createUserRoleController","policyController","createPolicyController","identityProviderRoleController","createIdentityProviderRoleController","use","controllers","createAuthorize","createToken","createJwkController","createOpenIDController","createActivateController","createPasswordForgotController","createPasswordResetController","createRegisterController","createLogoutController","createAuthenticatorChallengeController","createUserInfoController","createAccountController","createStatusController","createIdentityProvider","config","resolve","codeIssuer","AuthorizationCodeIssuer","codeRequestVerifier","AuthorizationCodeRequestVerifier","sessionManager","SessionManager","eventService","EventService","metrics","options","baseURL","publicUrl","features","buildUIFeatures","promptLoginMaxAge","mfaFreshnessMaxAge","mfaChallengeProvider","resolveUserAuthenticatorService","accessPolicyEvaluator","resolveAccessPolicyEvaluator","consentService","createConsentService","logger","dataSource","DataSource","codeVerifier","AuthorizationCodeVerifier","accessTokenIssuer","AccessTokenIssuer","refreshTokenIssuer","RefreshTokenIssuer","openIdTokenIssuer","OpenIDTokenIssuer","keyStore","KeyStore","tokenRevoker","TokenRevoker","tokenVerifier","TokenVerifier","tokenRepository","TokenRepository","sessionTokenRepository","SessionTokenRepository","identityResolver","Resolver","identityProviderLdapCollectionAuthenticator","ProviderLdapCollectionAuthenticator","identityPermissionProvider","PermissionProvider","userAuthenticator","oauth2ClientAuthenticator","certificateValidator","trustAnchorRepository","loginThrottleService","repository","EventRepository","enabled","loginAttemptThrottleEnabled","threshold","loginAttemptThreshold","windowSeconds","loginAttemptWindow","userAuthenticatorService","mfaLoginService","resolveMfaLoginService","tokenRefreshGracePeriod","certificateSource","realmRepository","service","createRegistrationService","createPasswordRecoveryService","mailClient","mailTemplateRenderer","passwordRecoveryEnabled","emailVerificationEnabled","passwordMinLength","clientRepository","ClientRepository","endSessionService","hintGracePeriod","endSessionHintGracePeriod","trustedOrigins","registration","registrationEnabled","passwordRecovery","emailVerification","accountConsole","accountConsoleEnabled","accountManager","ProviderAccountManager","stateManager","AuthorizationStateManager","realmRepositoryAdapter","createPermissionRepository","createRoleRepository","roleRepository","rolePermissionRepository","policyRepository","permissionPolicyRepository","permissionProvider","checkerService","permissionRepository","reservedNames","Set","getMetadata","columns","map","c","propertyName","requestContext","SessionRepository","ConsentRepository","userRepository","userPermissionRepository","userRoleRepository","policyProvider","issuer","webauthn","url","URL","hostname","rpId","rpName","origin","undefined","cache","cipher","mfaEnabled","required","mfaRequired","ticketIssuer","MfaTokenIssuer","createUserService","getRepository","systemClientProvisioner","scopeRepository","clientScopeRepository","appOrigins","keyProvisioner","realmProvisioners","keyRepository","mtlsBaseURL","mtlsPublicUrl","clientCertificatesEnabled"],"sources":["../../../../../src/app/modules/http/modules/controller.ts"],"sourcesContent":["/*\n * Copyright (c) 2025.\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 { App } from 'routup';\nimport { decorators } from '@routup/decorators';\nimport type {\n Client,\n ClientPermission,\n ClientRole,\n ClientScope,\n Permission,\n PermissionPolicy,\n Realm,\n Role,\n RoleAttribute,\n RolePermission,\n Scope,\n UserAttribute,\n UserAuthenticator as UserAuthenticatorModel,\n UserPermission,\n UserRole,\n} from '@authup/core-kit';\nimport type { Repository } from 'typeorm';\nimport {\n ClientEntity,\n ClientPermissionEntity,\n ClientRoleEntity,\n ClientScopeEntity,\n IdentityProviderRepository,\n IdentityProviderRoleMappingEntity,\n KeyEntity,\n PermissionEntity,\n PermissionPolicyEntity,\n PolicyRepository,\n RealmEntity,\n RoleAttributeEntity,\n RoleEntity,\n RolePermissionEntity,\n ScopeEntity,\n UserAttributeEntity,\n UserAuthenticatorEntity,\n UserEntity,\n UserPermissionEntity,\n UserRepository,\n UserRoleEntity,\n} from '../../../../adapters/database/domains/index.ts';\nimport {\n ClientPermissionRepositoryAdapter,\n ClientRepositoryAdapter,\n ClientRoleRepositoryAdapter,\n ClientScopeRepositoryAdapter,\n DatabaseInjectionKey,\n IdentityProviderAccountRepositoryAdapter,\n IdentityProviderRepositoryAdapter,\n IdentityProviderRoleMappingRepositoryAdapter,\n PermissionDatabaseProvider,\n PermissionPolicyRepositoryAdapter,\n PermissionRepositoryAdapter,\n PolicyRepositoryAdapter,\n RealmRepositoryAdapter,\n RoleAttributeRepositoryAdapter,\n RolePermissionRepositoryAdapter,\n RoleRepositoryAdapter,\n ScopeRepositoryAdapter,\n TrustAnchorRepositoryAdapter,\n UserAttributeRepositoryAdapter,\n UserAuthenticatorRepositoryAdapter,\n UserPermissionRepositoryAdapter,\n UserRepositoryAdapter,\n UserRoleRepositoryAdapter,\n} from '../../database/index.ts';\nimport {\n ClientController,\n ClientPermissionController,\n ClientRoleController,\n ClientScopeController,\n ConsentController,\n EventController,\n IdentityProviderAccountController,\n IdentityProviderController,\n IdentityProviderRoleMappingController,\n KeyController,\n PermissionController,\n PermissionPolicyController,\n PolicyController,\n RealmController,\n RoleAttributeController,\n RoleController,\n RolePermissionController,\n ScopeController,\n SessionController,\n SessionTokenController,\n TrustAnchorController,\n UserAttributeController,\n UserAuthenticatorController,\n UserController,\n UserPermissionController,\n UserRoleController,\n useRequestEventContext,\n} from '../../../../adapters/http/index.ts';\nimport {\n AccountController,\n ActivateController,\n AuthenticatorChallengeController,\n AuthorizeController,\n JwkController,\n LogoutController,\n OpenIDController,\n PasswordForgotController,\n PasswordResetController,\n RegisterController,\n StatusController,\n TokenController,\n UserInfoController,\n} from '../../../../adapters/http/controllers/index.ts';\nimport type { IContainer } from 'eldin';\nimport {\n ClientCertificateValidator,\n ClientPermissionService,\n ClientRoleService,\n ClientScopeService,\n ClientService,\n ConsentService,\n CredentialsAuthenticator,\n IdentityProviderAccountService,\n IdentityProviderRoleMappingService,\n KeyProvisioner,\n KeyService,\n LoginThrottleService,\n OAuth2AccessPolicyEvaluator,\n OAuth2ClientAuthenticator,\n OAuth2EndSessionService,\n OAuth2MfaLoginService,\n PasswordRecoveryService,\n PermissionCheckerService,\n PermissionPolicyService,\n PermissionService,\n PolicyCheckerService,\n PolicyService,\n RealmCipher,\n RealmService,\n RegistrationService,\n RoleAttributeService,\n RolePermissionService,\n RoleService,\n ScopeService,\n SessionService,\n SessionTokenService,\n SystemClientProvisioner,\n TrustAnchorService,\n UserAttributeService,\n UserAuthenticator,\n UserAuthenticatorService,\n UserPermissionService,\n UserRoleService,\n UserService,\n} from '../../../../core/index.ts';\nimport { AuthenticationInjectionKey } from '../../authentication/index.ts';\nimport { OAuth2InjectionToken } from '../../oauth2/index.ts';\nimport { LazyWildcardRealmProvisioner } from '../../provisioning/lazy-wildcard.ts';\nimport { IdentityInjectionKey, UserIdentityRepository } from '../../identity/index.ts';\nimport type { StatusResponseFeatures } from '@authup/core-http-kit';\nimport type { Config } from '../../config/index.ts';\nimport { ConfigInjectionKey, getAppOrigins } from '../../config/index.ts';\nimport { CacheInjectionKey } from '../../cache/index.ts';\nimport { LoggerInjectionKey } from '../../logger/index.ts';\nimport { MailInjectionKey, MailTemplateRendererInjectionKey } from '../../mail/index.ts';\nimport { MetricsInjectionKey } from '../../metrics/index.ts';\n\nexport class HTTPControllerModule {\n async mount(router: App, container: IContainer): Promise<void> {\n const eventController = this.createEventController(container);\n const realmController = this.createRealmController(container);\n const roleController = this.createRoleController(container);\n const permissionController = await this.createPermissionController(container);\n const permissionPolicyController = this.createPermissionPolicyController(container);\n const clientController = this.createClientController(container);\n const clientPermissionController = this.createClientPermissionController(container);\n const clientRoleController = this.createClientRoleController(container);\n const clientScopeController = this.createClientScopeController(container);\n const roleAttributeController = this.createRoleAttributeController(container);\n const rolePermissionController = this.createRolePermissionController(container);\n const scopeController = this.createScopeController(container);\n const keyController = this.createKeyController(container);\n const trustAnchorController = this.createTrustAnchorController(container);\n const sessionController = this.createSessionController(container);\n const sessionTokenController = this.createSessionTokenController(container);\n const consentController = this.createConsentController(container);\n const identityProviderAccountController = this.createIdentityProviderAccountController(container);\n const userController = this.createUserController(container);\n const userAttributeController = this.createUserAttributeController(container);\n const userAuthenticatorController = this.createUserAuthenticatorController(container);\n const userPermissionController = this.createUserPermissionController(container);\n const userRoleController = this.createUserRoleController(container);\n const policyController = this.createPolicyController(container);\n const identityProviderRoleController = this.createIdentityProviderRoleController(container);\n\n router.use(decorators({\n controllers: [\n this.createAuthorize(container),\n this.createToken(container),\n this.createJwkController(container),\n this.createOpenIDController(container),\n this.createActivateController(container),\n this.createPasswordForgotController(container),\n this.createPasswordResetController(container),\n this.createRegisterController(container),\n this.createLogoutController(container),\n this.createAuthenticatorChallengeController(container),\n this.createUserInfoController(container),\n this.createAccountController(container),\n\n this.createStatusController(container),\n\n clientController,\n clientPermissionController,\n clientRoleController,\n clientScopeController,\n consentController,\n eventController,\n identityProviderAccountController,\n identityProviderRoleController,\n this.createIdentityProvider(container),\n keyController,\n trustAnchorController,\n permissionController,\n permissionPolicyController,\n policyController,\n realmController,\n roleController,\n roleAttributeController,\n rolePermissionController,\n scopeController,\n sessionController,\n sessionTokenController,\n userController,\n userAttributeController,\n userAuthenticatorController,\n userPermissionController,\n userRoleController,\n ],\n }));\n }\n\n // ----------------------------------------------------\n\n createAuthorize(container: IContainer) {\n const config = container.resolve(ConfigInjectionKey);\n\n const codeIssuer = container.resolve(OAuth2InjectionToken.AuthorizationCodeIssuer);\n const codeRequestVerifier = container.resolve(OAuth2InjectionToken.AuthorizationCodeRequestVerifier);\n\n const sessionManager = container.resolve(AuthenticationInjectionKey.SessionManager);\n\n const eventService = container.resolve(DatabaseInjectionKey.EventService);\n const metrics = container.resolve(MetricsInjectionKey);\n\n return new AuthorizeController({\n options: {\n baseURL: config.publicUrl,\n features: this.buildUIFeatures(config),\n promptLoginMaxAge: config.promptLoginMaxAge,\n mfaFreshnessMaxAge: config.mfaFreshnessMaxAge,\n },\n\n codeIssuer,\n codeRequestVerifier,\n\n sessionManager,\n\n eventService,\n metrics,\n\n mfaChallengeProvider: this.resolveUserAuthenticatorService(container),\n accessPolicyEvaluator: this.resolveAccessPolicyEvaluator(container),\n\n consentService: this.createConsentService(container),\n logger: container.resolve(LoggerInjectionKey),\n });\n }\n\n createToken(container: IContainer) {\n const config = container.resolve(ConfigInjectionKey);\n const logger = container.resolve(LoggerInjectionKey);\n const dataSource = container.resolve(DatabaseInjectionKey.DataSource);\n\n const sessionManager = container.resolve(AuthenticationInjectionKey.SessionManager);\n\n const codeVerifier = container.resolve(OAuth2InjectionToken.AuthorizationCodeVerifier);\n\n const accessTokenIssuer = container.resolve(OAuth2InjectionToken.AccessTokenIssuer);\n const refreshTokenIssuer = container.resolve(OAuth2InjectionToken.RefreshTokenIssuer);\n const openIdTokenIssuer = container.resolve(OAuth2InjectionToken.OpenIDTokenIssuer);\n const keyStore = container.resolve(OAuth2InjectionToken.KeyStore);\n\n const tokenRevoker = container.resolve(OAuth2InjectionToken.TokenRevoker);\n const tokenVerifier = container.resolve(OAuth2InjectionToken.TokenVerifier);\n const tokenRepository = container.resolve(OAuth2InjectionToken.TokenRepository);\n const sessionTokenRepository = container.resolve(OAuth2InjectionToken.SessionTokenRepository);\n\n const identityResolver = container.resolve(IdentityInjectionKey.Resolver);\n const identityProviderLdapCollectionAuthenticator = container.resolve(IdentityInjectionKey.ProviderLdapCollectionAuthenticator);\n\n const identityPermissionProvider = container.resolve(IdentityInjectionKey.PermissionProvider);\n\n const userAuthenticator = new CredentialsAuthenticator([\n identityProviderLdapCollectionAuthenticator,\n new UserAuthenticator(identityResolver),\n ]);\n\n const oauth2ClientAuthenticator = new OAuth2ClientAuthenticator({\n identityResolver,\n certificateValidator: new ClientCertificateValidator({ trustAnchorRepository: new TrustAnchorRepositoryAdapter(dataSource) }),\n });\n\n const eventService = container.resolve(DatabaseInjectionKey.EventService);\n const metrics = container.resolve(MetricsInjectionKey);\n\n const loginThrottleService = new LoginThrottleService({\n repository: container.resolve(DatabaseInjectionKey.EventRepository),\n options: {\n enabled: config.loginAttemptThrottleEnabled,\n threshold: config.loginAttemptThreshold,\n windowSeconds: config.loginAttemptWindow,\n },\n });\n\n return new TokenController({\n codeVerifier,\n\n accessTokenIssuer,\n refreshTokenIssuer,\n openIdTokenIssuer,\n keyStore,\n\n tokenVerifier,\n tokenRevoker,\n tokenRepository,\n sessionTokenRepository,\n\n eventService,\n metrics,\n loginThrottleService,\n userAuthenticatorService: this.resolveUserAuthenticatorService(container),\n mfaLoginService: this.resolveMfaLoginService(container),\n accessPolicyEvaluator: this.resolveAccessPolicyEvaluator(container),\n\n tokenRefreshGracePeriod: config.tokenRefreshGracePeriod,\n logger,\n\n identityResolver,\n identityPermissionProvider,\n\n userAuthenticator,\n\n oauth2ClientAuthenticator,\n certificateSource: config.certificateSource,\n\n realmRepository: new RealmRepositoryAdapter(container.resolve<Repository<Realm>>(RealmEntity)),\n\n sessionManager,\n });\n }\n\n createOpenIDController(container: IContainer) {\n const config = container.resolve(ConfigInjectionKey);\n\n return new OpenIDController({ baseURL: config.publicUrl });\n }\n\n createActivateController(container: IContainer) {\n const config = container.resolve(ConfigInjectionKey);\n\n return new ActivateController({\n options: {\n baseURL: config.publicUrl,\n features: this.buildUIFeatures(config),\n },\n service: this.createRegistrationService(container),\n });\n }\n\n createPasswordForgotController(container: IContainer) {\n const config = container.resolve(ConfigInjectionKey);\n\n return new PasswordForgotController({\n options: {\n baseURL: config.publicUrl,\n features: this.buildUIFeatures(config),\n },\n service: this.createPasswordRecoveryService(container),\n });\n }\n\n createPasswordResetController(container: IContainer) {\n const config = container.resolve(ConfigInjectionKey);\n\n return new PasswordResetController({\n options: {\n baseURL: config.publicUrl,\n features: this.buildUIFeatures(config),\n },\n service: this.createPasswordRecoveryService(container),\n });\n }\n\n createPasswordRecoveryService(container: IContainer) {\n const config = container.resolve(ConfigInjectionKey);\n const dataSource = container.resolve(DatabaseInjectionKey.DataSource);\n const realmRepository = container.resolve<Repository<Realm>>(RealmEntity);\n const repository = new UserRepositoryAdapter({\n repository: new UserRepository(dataSource),\n realmRepository,\n });\n const mailClient = container.resolve(MailInjectionKey);\n const mailTemplateRenderer = container.resolve(MailTemplateRendererInjectionKey);\n\n return new PasswordRecoveryService({\n mailClient,\n mailTemplateRenderer,\n repository,\n realmRepository: new RealmRepositoryAdapter(realmRepository),\n eventService: container.resolve(DatabaseInjectionKey.EventService),\n options: {\n passwordRecoveryEnabled: config.passwordRecoveryEnabled,\n emailVerificationEnabled: config.emailVerificationEnabled,\n publicUrl: config.publicUrl,\n passwordMinLength: config.passwordMinLength,\n },\n });\n }\n\n createRegisterController(container: IContainer) {\n const config = container.resolve(ConfigInjectionKey);\n\n return new RegisterController({\n options: {\n baseURL: config.publicUrl,\n features: this.buildUIFeatures(config),\n },\n service: this.createRegistrationService(container),\n });\n }\n\n createLogoutController(container: IContainer) {\n const config = container.resolve(ConfigInjectionKey);\n const tokenVerifier = container.resolve(OAuth2InjectionToken.TokenVerifier);\n const sessionManager = container.resolve(AuthenticationInjectionKey.SessionManager);\n const clientRepository = container.resolve(OAuth2InjectionToken.ClientRepository);\n const realmRepository = new RealmRepositoryAdapter(container.resolve<Repository<Realm>>(RealmEntity));\n\n const endSessionService = new OAuth2EndSessionService({\n tokenVerifier,\n sessionManager,\n clientRepository,\n realmRepository,\n eventService: container.resolve(DatabaseInjectionKey.EventService),\n hintGracePeriod: config.endSessionHintGracePeriod,\n });\n\n return new LogoutController({\n options: { baseURL: config.publicUrl },\n endSessionService,\n });\n }\n\n createStatusController(container: IContainer) {\n const config = container.resolve(ConfigInjectionKey);\n\n return new StatusController({ options: { features: this.buildUIFeatures(config) } });\n }\n\n createAccountController(container: IContainer) {\n const config = container.resolve(ConfigInjectionKey);\n\n return new AccountController({\n options: {\n baseURL: config.publicUrl,\n features: this.buildUIFeatures(config),\n trustedOrigins: getAppOrigins(config),\n },\n });\n }\n\n buildUIFeatures(config: Config) : StatusResponseFeatures {\n return {\n registration: config.registrationEnabled,\n passwordRecovery: config.passwordRecoveryEnabled,\n emailVerification: config.emailVerificationEnabled,\n accountConsole: config.accountConsoleEnabled,\n };\n }\n\n createRegistrationService(container: IContainer) {\n const config = container.resolve(ConfigInjectionKey);\n const dataSource = container.resolve(DatabaseInjectionKey.DataSource);\n const realmRepository = container.resolve<Repository<Realm>>(RealmEntity);\n const repository = new UserRepositoryAdapter({\n repository: new UserRepository(dataSource),\n realmRepository,\n });\n const mailClient = container.resolve(MailInjectionKey);\n const mailTemplateRenderer = container.resolve(MailTemplateRendererInjectionKey);\n\n return new RegistrationService({\n mailClient,\n mailTemplateRenderer,\n repository,\n realmRepository: new RealmRepositoryAdapter(realmRepository),\n eventService: container.resolve(DatabaseInjectionKey.EventService),\n options: {\n registrationEnabled: config.registrationEnabled,\n emailVerificationEnabled: config.emailVerificationEnabled,\n publicUrl: config.publicUrl,\n passwordMinLength: config.passwordMinLength,\n },\n });\n }\n\n createIdentityProvider(container: IContainer) {\n const config = container.resolve(ConfigInjectionKey);\n const dataSource = container.resolve(DatabaseInjectionKey.DataSource);\n\n const accountManager = container.resolve(IdentityInjectionKey.ProviderAccountManager);\n\n const codeIssuer = container.resolve(OAuth2InjectionToken.AuthorizationCodeIssuer);\n\n const codeRequestVerifier = container.resolve(OAuth2InjectionToken.AuthorizationCodeRequestVerifier);\n\n const stateManager = container.resolve(OAuth2InjectionToken.AuthorizationStateManager);\n\n const realmRepository = container.resolve<Repository<Realm>>(RealmEntity);\n\n const repository = new IdentityProviderRepositoryAdapter({\n repository: new IdentityProviderRepository(dataSource),\n realmRepository,\n });\n\n return new IdentityProviderController({\n options: { baseURL: config.publicUrl },\n\n repository,\n realmRepository: new RealmRepositoryAdapter(realmRepository),\n clientRepository: container.resolve(OAuth2InjectionToken.ClientRepository),\n\n accountManager,\n\n codeIssuer,\n codeRequestVerifier,\n stateManager,\n\n accessPolicyEvaluator: this.resolveAccessPolicyEvaluator(container),\n eventService: container.resolve(DatabaseInjectionKey.EventService),\n logger: container.resolve(LoggerInjectionKey),\n });\n }\n\n createClientController(container: IContainer) {\n const realmRepository = container.resolve<Repository<Realm>>(RealmEntity);\n const repository = new ClientRepositoryAdapter({\n repository: container.resolve<Repository<Client>>(ClientEntity),\n realmRepository,\n });\n const realmRepositoryAdapter = new RealmRepositoryAdapter(realmRepository);\n const service = new ClientService({\n repository,\n realmRepository: realmRepositoryAdapter,\n });\n return new ClientController({\n service,\n repository,\n });\n }\n\n private createPermissionRepository(container: IContainer): PermissionRepositoryAdapter {\n return new PermissionRepositoryAdapter({\n repository: container.resolve<Repository<Permission>>(PermissionEntity),\n realmRepository: container.resolve<Repository<Realm>>(RealmEntity),\n });\n }\n\n private createRoleRepository(container: IContainer): RoleRepositoryAdapter {\n return new RoleRepositoryAdapter({\n repository: container.resolve<Repository<Role>>(RoleEntity),\n realmRepository: container.resolve<Repository<Realm>>(RealmEntity),\n });\n }\n\n async createPermissionController(container: IContainer) {\n const dataSource = container.resolve(DatabaseInjectionKey.DataSource);\n const realmRepository = container.resolve<Repository<Realm>>(RealmEntity);\n const repository = new PermissionRepositoryAdapter({\n repository: container.resolve<Repository<Permission>>(PermissionEntity),\n realmRepository,\n });\n\n const realmRepositoryAdapter = new RealmRepositoryAdapter(realmRepository);\n const roleRepository = new RoleRepositoryAdapter({\n repository: container.resolve<Repository<Role>>(RoleEntity),\n realmRepository,\n });\n const rolePermissionRepository = new RolePermissionRepositoryAdapter(\n container.resolve<Repository<RolePermission>>(RolePermissionEntity),\n );\n const policyRepository = new PolicyRepositoryAdapter({\n repository: new PolicyRepository(dataSource),\n realmRepository,\n });\n\n const permissionPolicyRepository = new PermissionPolicyRepositoryAdapter(\n container.resolve<Repository<PermissionPolicy>>(PermissionPolicyEntity),\n );\n\n const service = new PermissionService({\n repository,\n realmRepository: realmRepositoryAdapter,\n roleRepository,\n rolePermissionRepository,\n policyRepository,\n permissionPolicyRepository,\n });\n\n const identityPermissionProvider = container.resolve(IdentityInjectionKey.PermissionProvider);\n const permissionProvider = new PermissionDatabaseProvider(dataSource);\n\n const checkerService = new PermissionCheckerService({\n repository,\n realmRepository: realmRepositoryAdapter,\n permissionProvider,\n identityPermissionProvider,\n });\n\n return new PermissionController({\n service,\n checkerService,\n });\n }\n\n createRoleController(container: IContainer) {\n const realmRepository = new RealmRepositoryAdapter(\n container.resolve<Repository<Realm>>(RealmEntity),\n );\n const repository = new RoleRepositoryAdapter({\n repository: container.resolve<Repository<Role>>(RoleEntity),\n realmRepository: container.resolve<Repository<Realm>>(RealmEntity),\n });\n const service = new RoleService({\n repository,\n realmRepository,\n });\n return new RoleController({ service });\n }\n\n createClientPermissionController(container: IContainer) {\n const repository = new ClientPermissionRepositoryAdapter(\n container.resolve<Repository<ClientPermission>>(ClientPermissionEntity),\n );\n const permissionRepository = this.createPermissionRepository(container);\n const identityPermissionProvider = container.resolve(IdentityInjectionKey.PermissionProvider);\n const service = new ClientPermissionService({\n repository,\n permissionRepository,\n identityPermissionProvider,\n });\n return new ClientPermissionController({ service });\n }\n\n createClientRoleController(container: IContainer) {\n const repository = new ClientRoleRepositoryAdapter(\n container.resolve<Repository<ClientRole>>(ClientRoleEntity),\n );\n const identityPermissionProvider = container.resolve(IdentityInjectionKey.PermissionProvider);\n const service = new ClientRoleService({ repository, identityPermissionProvider });\n return new ClientRoleController({ service });\n }\n\n createClientScopeController(container: IContainer) {\n const repository = new ClientScopeRepositoryAdapter(\n container.resolve<Repository<ClientScope>>(ClientScopeEntity),\n );\n const service = new ClientScopeService({ repository });\n return new ClientScopeController({ service });\n }\n\n createRoleAttributeController(container: IContainer) {\n const dataSource = container.resolve(DatabaseInjectionKey.DataSource);\n const repository = new RoleAttributeRepositoryAdapter(\n container.resolve<Repository<RoleAttribute>>(RoleAttributeEntity),\n );\n const reservedNames = new Set(\n dataSource.getMetadata(RoleEntity).columns.map((c) => c.propertyName),\n );\n const service = new RoleAttributeService({ repository, reservedNames });\n return new RoleAttributeController({ service });\n }\n\n createRolePermissionController(container: IContainer) {\n const repository = new RolePermissionRepositoryAdapter(\n container.resolve<Repository<RolePermission>>(RolePermissionEntity),\n );\n const permissionRepository = this.createPermissionRepository(container);\n const identityPermissionProvider = container.resolve(IdentityInjectionKey.PermissionProvider);\n const service = new RolePermissionService({\n repository,\n permissionRepository,\n identityPermissionProvider,\n });\n return new RolePermissionController({ service });\n }\n\n createPermissionPolicyController(container: IContainer) {\n const repository = new PermissionPolicyRepositoryAdapter(\n container.resolve<Repository<PermissionPolicy>>(PermissionPolicyEntity),\n );\n const service = new PermissionPolicyService({ repository });\n return new PermissionPolicyController({ service });\n }\n\n createScopeController(container: IContainer) {\n const realmRepository = new RealmRepositoryAdapter(\n container.resolve<Repository<Realm>>(RealmEntity),\n );\n const repository = new ScopeRepositoryAdapter({\n repository: container.resolve<Repository<Scope>>(ScopeEntity),\n realmRepository: container.resolve<Repository<Realm>>(RealmEntity),\n });\n const service = new ScopeService({\n repository,\n realmRepository,\n });\n return new ScopeController({ service });\n }\n\n createKeyController(container: IContainer) {\n // the DI singleton carries the optional KEK cipher — never construct\n // a fresh adapter here.\n const service = new KeyService({\n repository: container.resolve(OAuth2InjectionToken.KeyStore),\n eventService: container.resolve(DatabaseInjectionKey.EventService),\n requestContext: useRequestEventContext,\n });\n return new KeyController({ service });\n }\n\n createTrustAnchorController(container: IContainer) {\n const repository = new TrustAnchorRepositoryAdapter(\n container.resolve(DatabaseInjectionKey.DataSource),\n );\n const service = new TrustAnchorService({\n repository,\n eventService: container.resolve(DatabaseInjectionKey.EventService),\n requestContext: useRequestEventContext,\n });\n return new TrustAnchorController({ service });\n }\n\n createSessionTokenController(container: IContainer) {\n const repository = container.resolve(OAuth2InjectionToken.SessionTokenRepository);\n const tokenRepository = container.resolve(OAuth2InjectionToken.TokenRepository);\n const service = new SessionTokenService({ repository, tokenRepository });\n return new SessionTokenController({ service });\n }\n\n createSessionController(container: IContainer) {\n const repository = container.resolve(AuthenticationInjectionKey.SessionRepository);\n const service = new SessionService({ repository });\n return new SessionController({ service });\n }\n\n protected createConsentService(container: IContainer) : ConsentService {\n const repository = container.resolve(OAuth2InjectionToken.ConsentRepository);\n return new ConsentService({ repository });\n }\n\n createConsentController(container: IContainer) {\n return new ConsentController({ service: this.createConsentService(container) });\n }\n\n createIdentityProviderAccountController(container: IContainer) {\n const dataSource = container.resolve(DatabaseInjectionKey.DataSource);\n const service = new IdentityProviderAccountService({\n repository: new IdentityProviderAccountRepositoryAdapter(dataSource),\n userRepository: new UserIdentityRepository({\n repository: new UserRepository(dataSource),\n userPermissionRepository: container.resolve<Repository<UserPermission>>(UserPermissionEntity),\n userRoleRepository: container.resolve<Repository<UserRole>>(UserRoleEntity),\n }),\n eventService: container.resolve(DatabaseInjectionKey.EventService),\n requestContext: useRequestEventContext,\n });\n return new IdentityProviderAccountController({ service });\n }\n\n private accessPolicyEvaluator? : OAuth2AccessPolicyEvaluator;\n\n protected resolveAccessPolicyEvaluator(container: IContainer) : OAuth2AccessPolicyEvaluator {\n if (this.accessPolicyEvaluator) {\n return this.accessPolicyEvaluator;\n }\n\n const dataSource = container.resolve(DatabaseInjectionKey.DataSource);\n\n this.accessPolicyEvaluator = new OAuth2AccessPolicyEvaluator({\n policyProvider: new PolicyRepository(dataSource),\n identityPermissionProvider: container.resolve(IdentityInjectionKey.PermissionProvider),\n logger: container.resolve(LoggerInjectionKey),\n });\n\n return this.accessPolicyEvaluator;\n }\n\n private userAuthenticatorService? : UserAuthenticatorService;\n\n protected resolveUserAuthenticatorService(container: IContainer) : UserAuthenticatorService {\n if (this.userAuthenticatorService) {\n return this.userAuthenticatorService;\n }\n\n const config = container.resolve(ConfigInjectionKey);\n const dataSource = container.resolve(DatabaseInjectionKey.DataSource);\n\n const repository = new UserAuthenticatorRepositoryAdapter(\n container.resolve<Repository<UserAuthenticatorModel>>(UserAuthenticatorEntity),\n );\n const userRepository = new UserRepositoryAdapter({\n repository: new UserRepository(dataSource),\n realmRepository: container.resolve<Repository<Realm>>(RealmEntity),\n });\n\n let issuer : string | undefined;\n let webauthn : {\n rpId: string, \n rpName: string, \n origin: string \n } | undefined;\n try {\n const url = new URL(config.publicUrl);\n issuer = url.hostname;\n webauthn = {\n rpId: url.hostname,\n rpName: issuer,\n origin: url.origin,\n };\n } catch {\n issuer = undefined;\n webauthn = undefined;\n }\n\n this.userAuthenticatorService = new UserAuthenticatorService({\n repository,\n userRepository,\n cache: container.resolve(CacheInjectionKey),\n cipher: new RealmCipher({ keyStore: container.resolve(OAuth2InjectionToken.KeyStore) }),\n eventService: container.resolve(DatabaseInjectionKey.EventService),\n requestContext: useRequestEventContext,\n mailClient: container.resolve(MailInjectionKey),\n mailTemplateRenderer: container.resolve(MailTemplateRendererInjectionKey),\n options: {\n enabled: config.mfaEnabled,\n required: config.mfaRequired,\n issuer,\n webauthn,\n },\n });\n\n return this.userAuthenticatorService;\n }\n\n createUserAuthenticatorController(container: IContainer) {\n return new UserAuthenticatorController({ service: this.resolveUserAuthenticatorService(container) });\n }\n\n private mfaLoginService? : OAuth2MfaLoginService;\n\n protected resolveMfaLoginService(container: IContainer) : OAuth2MfaLoginService {\n if (this.mfaLoginService) {\n return this.mfaLoginService;\n }\n\n this.mfaLoginService = new OAuth2MfaLoginService({\n sessionManager: container.resolve(AuthenticationInjectionKey.SessionManager),\n ticketIssuer: container.resolve(OAuth2InjectionToken.MfaTokenIssuer),\n accessTokenIssuer: container.resolve(OAuth2InjectionToken.AccessTokenIssuer),\n refreshTokenIssuer: container.resolve(OAuth2InjectionToken.RefreshTokenIssuer),\n tokenRepository: container.resolve(OAuth2InjectionToken.TokenRepository),\n eventService: container.resolve(DatabaseInjectionKey.EventService),\n metrics: container.resolve(MetricsInjectionKey),\n });\n\n return this.mfaLoginService;\n }\n\n createAuthenticatorChallengeController(container: IContainer) {\n return new AuthenticatorChallengeController({\n service: this.resolveUserAuthenticatorService(container),\n sessionManager: container.resolve(AuthenticationInjectionKey.SessionManager),\n mfaLoginService: this.resolveMfaLoginService(container),\n });\n }\n\n createEventController(container: IContainer) {\n const service = container.resolve(DatabaseInjectionKey.EventService);\n return new EventController({ service });\n }\n\n createUserService(container: IContainer) {\n const config = container.resolve(ConfigInjectionKey);\n const dataSource = container.resolve(DatabaseInjectionKey.DataSource);\n const realmRepository = container.resolve<Repository<Realm>>(RealmEntity);\n const repository = new UserRepositoryAdapter({\n repository: new UserRepository(dataSource),\n realmRepository,\n });\n const realmRepositoryAdapter = new RealmRepositoryAdapter(realmRepository);\n return new UserService({\n repository,\n realmRepository: realmRepositoryAdapter,\n passwordMinLength: config.passwordMinLength,\n });\n }\n\n createUserController(container: IContainer) {\n return new UserController({ service: this.createUserService(container) });\n }\n\n createUserInfoController(container: IContainer) {\n return new UserInfoController({ service: this.createUserService(container) });\n }\n\n createUserAttributeController(container: IContainer) {\n const dataSource = container.resolve(DatabaseInjectionKey.DataSource);\n const repository = new UserAttributeRepositoryAdapter(\n container.resolve<Repository<UserAttribute>>(UserAttributeEntity),\n );\n const reservedNames = new Set(\n dataSource.getMetadata(UserEntity).columns.map((c) => c.propertyName),\n );\n const service = new UserAttributeService({ repository, reservedNames });\n return new UserAttributeController({ service });\n }\n\n createUserPermissionController(container: IContainer) {\n const repository = new UserPermissionRepositoryAdapter(\n container.resolve<Repository<UserPermission>>(UserPermissionEntity),\n );\n const permissionRepository = this.createPermissionRepository(container);\n const identityPermissionProvider = container.resolve(IdentityInjectionKey.PermissionProvider);\n const service = new UserPermissionService({\n repository,\n permissionRepository,\n identityPermissionProvider,\n });\n return new UserPermissionController({ service });\n }\n\n createUserRoleController(container: IContainer) {\n const repository = new UserRoleRepositoryAdapter(\n container.resolve<Repository<UserRole>>(UserRoleEntity),\n );\n const identityPermissionProvider = container.resolve(IdentityInjectionKey.PermissionProvider);\n const service = new UserRoleService({ repository, identityPermissionProvider });\n return new UserRoleController({ service });\n }\n\n createPolicyController(container: IContainer) {\n const dataSource = container.resolve(DatabaseInjectionKey.DataSource);\n const realmRepository = container.resolve<Repository<Realm>>(RealmEntity);\n const repository = new PolicyRepositoryAdapter({\n repository: new PolicyRepository(dataSource),\n realmRepository,\n });\n const realmRepositoryAdapter = new RealmRepositoryAdapter(realmRepository);\n const service = new PolicyService({\n repository,\n realmRepository: realmRepositoryAdapter,\n });\n const identityPermissionProvider = container.resolve(IdentityInjectionKey.PermissionProvider);\n const checkerService = new PolicyCheckerService({\n repository,\n realmRepository: realmRepositoryAdapter,\n identityPermissionProvider,\n });\n\n return new PolicyController({\n service,\n checkerService,\n });\n }\n\n createIdentityProviderRoleController(container: IContainer) {\n const repository = new IdentityProviderRoleMappingRepositoryAdapter(\n container.resolve<Repository<any>>(IdentityProviderRoleMappingEntity),\n );\n const roleRepository = this.createRoleRepository(container);\n const identityPermissionProvider = container.resolve(IdentityInjectionKey.PermissionProvider);\n const service = new IdentityProviderRoleMappingService({\n repository,\n roleRepository,\n identityPermissionProvider,\n });\n return new IdentityProviderRoleMappingController({ service });\n }\n\n createJwkController(container: IContainer) {\n const dataSource = container.resolve(DatabaseInjectionKey.DataSource);\n const repository = dataSource.getRepository(KeyEntity);\n return new JwkController({ repository });\n }\n\n createRealmController(container: IContainer) {\n const config = container.resolve(ConfigInjectionKey);\n const dataSource = container.resolve(DatabaseInjectionKey.DataSource);\n const realmRepository = container.resolve<Repository<Realm>>(RealmEntity);\n const repository = new RealmRepositoryAdapter(realmRepository);\n\n const clientRepository = new ClientRepositoryAdapter({\n repository: container.resolve<Repository<Client>>(ClientEntity),\n realmRepository,\n });\n const logger = container.resolve(LoggerInjectionKey);\n const systemClientProvisioner = new SystemClientProvisioner({\n clientRepository,\n scopeRepository: new ScopeRepositoryAdapter({\n repository: container.resolve<Repository<Scope>>(ScopeEntity),\n realmRepository,\n }),\n clientScopeRepository: new ClientScopeRepositoryAdapter(\n container.resolve<Repository<ClientScope>>(ClientScopeEntity),\n ),\n appOrigins: getAppOrigins(config),\n logger,\n });\n const keyProvisioner = new KeyProvisioner({\n keyStore: container.resolve(OAuth2InjectionToken.KeyStore),\n logger,\n });\n\n const service = new RealmService({\n repository,\n realmProvisioners: [\n systemClientProvisioner,\n keyProvisioner,\n new LazyWildcardRealmProvisioner(container),\n ],\n logger,\n });\n const keyRepository = dataSource.getRepository(KeyEntity);\n\n return new RealmController({\n options: {\n baseURL: config.publicUrl,\n mtlsBaseURL: config.mtlsPublicUrl,\n clientCertificatesEnabled: config.certificateSource !== 'disabled',\n },\n service,\n keyRepository,\n });\n }\n}\n"],"mappings":"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"}
@@ -1,11 +1,19 @@
1
1
  import type { App } from 'routup';
2
2
  import type { IContainer } from 'eldin';
3
+ import type { ViteDevServer } from 'vite';
3
4
  export declare class HTTPMiddlewareModule {
5
+ protected viteServer: ViteDevServer | undefined;
4
6
  mountBefore(router: App, container: IContainer): Promise<void>;
5
7
  mountAfter(router: App, container: IContainer): Promise<void>;
6
8
  mountCors(router: App, container: IContainer): Promise<void>;
7
9
  mountLogger(router: App, container: IContainer): Promise<void>;
8
- mountAssets(router: App): Promise<void>;
10
+ mountAssets(router: App, container: IContainer): Promise<void>;
11
+ /**
12
+ * Release what the mounted middlewares own beyond the http listener. Only
13
+ * the JIT vite dev server qualifies: it keeps a file watcher and an HMR
14
+ * websocket alive, which would survive every setup/teardown cycle.
15
+ */
16
+ teardown(): Promise<void>;
9
17
  mountUIHttpClient(router: App, container: IContainer): Promise<void>;
10
18
  mountBasic(router: App): Promise<void>;
11
19
  mountPrometheus(router: App, container: IContainer): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../../../../src/app/modules/http/modules/middleware.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAElC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AA+BxC,qBAAa,oBAAoB;IACvB,WAAW,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAmB9D,UAAU,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAK7D,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAY5D,WAAW,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAU9D,WAAW,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvC,iBAAiB,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAQpE,UAAU,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAItC,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAUlE,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAUjE,YAAY,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAc/D,kBAAkB,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAYrE,kBAAkB,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BrE,wBAAwB,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ1D,OAAO,CAAC,0BAA0B;IAUlC,OAAO,CAAC,SAAS;CAGpB"}
1
+ {"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../../../../src/app/modules/http/modules/middleware.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAElC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,MAAM,CAAC;AA+B1C,qBAAa,oBAAoB;IAC7B,SAAS,CAAC,UAAU,EAAG,aAAa,GAAG,SAAS,CAAC;IAE3C,WAAW,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAmB9D,UAAU,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAK7D,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAY5D,WAAW,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAU9D,WAAW,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAYpE;;;;OAIG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IASzB,iBAAiB,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAQpE,UAAU,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAItC,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAUlE,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAUjE,YAAY,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAc/D,kBAAkB,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAYrE,kBAAkB,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BrE,wBAAwB,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ1D,OAAO,CAAC,0BAA0B;IAUlC,OAAO,CAAC,SAAS;CAGpB"}