@authup/server-core 1.0.0-beta.59 → 1.0.0-beta.61

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 (434) 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 +22 -4
  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 +190 -47
  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 +5 -2
  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 +3 -1
  143. package/dist/adapters/http/controllers/workflows/authenticator-challenge/module.d.ts.map +1 -1
  144. package/dist/adapters/http/controllers/workflows/authenticator-challenge/module.mjs +1 -0
  145. package/dist/adapters/http/controllers/workflows/authenticator-challenge/module.mjs.map +1 -1
  146. package/dist/adapters/http/index.mjs +3 -1
  147. package/dist/adapters/http/middleware/built-in/error.d.ts.map +1 -1
  148. package/dist/adapters/http/middleware/built-in/error.mjs +4 -3
  149. package/dist/adapters/http/middleware/built-in/error.mjs.map +1 -1
  150. package/dist/adapters/http/request/event-context.d.ts.map +1 -1
  151. package/dist/adapters/http/request/event-context.mjs +2 -0
  152. package/dist/adapters/http/request/event-context.mjs.map +1 -1
  153. package/dist/app/index.mjs +4 -2
  154. package/dist/app/modules/database/index.mjs +2 -1
  155. package/dist/app/modules/database/repositories/identity-provider-account/index.d.ts +2 -0
  156. package/dist/app/modules/database/repositories/identity-provider-account/index.d.ts.map +1 -0
  157. package/dist/app/modules/database/repositories/identity-provider-account/index.mjs +5 -0
  158. package/dist/app/modules/database/repositories/identity-provider-account/repository.d.ts +18 -0
  159. package/dist/app/modules/database/repositories/identity-provider-account/repository.d.ts.map +1 -0
  160. package/dist/app/modules/database/repositories/identity-provider-account/repository.mjs +69 -0
  161. package/dist/app/modules/database/repositories/identity-provider-account/repository.mjs.map +1 -0
  162. package/dist/app/modules/database/repositories/index.d.ts +1 -0
  163. package/dist/app/modules/database/repositories/index.d.ts.map +1 -1
  164. package/dist/app/modules/database/repositories/index.mjs +3 -1
  165. package/dist/app/modules/database/repositories/key/repository.d.ts +23 -0
  166. package/dist/app/modules/database/repositories/key/repository.d.ts.map +1 -1
  167. package/dist/app/modules/database/repositories/key/repository.mjs +39 -3
  168. package/dist/app/modules/database/repositories/key/repository.mjs.map +1 -1
  169. package/dist/app/modules/database/repositories/schema-validation.d.ts +14 -6
  170. package/dist/app/modules/database/repositories/schema-validation.d.ts.map +1 -1
  171. package/dist/app/modules/database/repositories/schema-validation.mjs +18 -6
  172. package/dist/app/modules/database/repositories/schema-validation.mjs.map +1 -1
  173. package/dist/app/modules/http/modules/controller.d.ts +3 -1
  174. package/dist/app/modules/http/modules/controller.d.ts.map +1 -1
  175. package/dist/app/modules/http/modules/controller.mjs +39 -2
  176. package/dist/app/modules/http/modules/controller.mjs.map +1 -1
  177. package/dist/app/modules/identity/constants.d.ts +2 -1
  178. package/dist/app/modules/identity/constants.d.ts.map +1 -1
  179. package/dist/app/modules/identity/constants.mjs +1 -0
  180. package/dist/app/modules/identity/constants.mjs.map +1 -1
  181. package/dist/app/modules/identity/index.mjs +3 -2
  182. package/dist/app/modules/identity/module.d.ts.map +1 -1
  183. package/dist/app/modules/identity/module.mjs +9 -2
  184. package/dist/app/modules/identity/module.mjs.map +1 -1
  185. package/dist/app/modules/identity/repositories/constants.d.ts +4 -0
  186. package/dist/app/modules/identity/repositories/constants.d.ts.map +1 -0
  187. package/dist/app/modules/identity/repositories/constants.mjs +12 -0
  188. package/dist/app/modules/identity/repositories/constants.mjs.map +1 -0
  189. package/dist/app/modules/identity/repositories/index.d.ts +1 -0
  190. package/dist/app/modules/identity/repositories/index.d.ts.map +1 -1
  191. package/dist/app/modules/identity/repositories/index.mjs +3 -2
  192. package/dist/app/modules/identity/repositories/provider/index.d.ts +1 -1
  193. package/dist/app/modules/identity/repositories/provider/index.d.ts.map +1 -1
  194. package/dist/app/modules/identity/repositories/provider/index.mjs +2 -3
  195. package/dist/app/modules/identity/repositories/provider/link.d.ts +9 -0
  196. package/dist/app/modules/identity/repositories/provider/link.d.ts.map +1 -0
  197. package/dist/app/modules/identity/repositories/provider/link.mjs +34 -0
  198. package/dist/app/modules/identity/repositories/provider/link.mjs.map +1 -0
  199. package/dist/app/modules/index.mjs +4 -2
  200. package/dist/app/modules/logger/module.d.ts.map +1 -1
  201. package/dist/app/modules/logger/module.mjs +1 -0
  202. package/dist/app/modules/logger/module.mjs.map +1 -1
  203. package/dist/app/modules/oauth2/repositories/session-token/repository.d.ts +25 -1
  204. package/dist/app/modules/oauth2/repositories/session-token/repository.d.ts.map +1 -1
  205. package/dist/app/modules/oauth2/repositories/session-token/repository.mjs +70 -1
  206. package/dist/app/modules/oauth2/repositories/session-token/repository.mjs.map +1 -1
  207. package/dist/app/modules/provisioning/module.d.ts.map +1 -1
  208. package/dist/app/modules/provisioning/module.mjs +3 -1
  209. package/dist/app/modules/provisioning/module.mjs.map +1 -1
  210. package/dist/app/modules/provisioning/sources/default/module.d.ts.map +1 -1
  211. package/dist/app/modules/provisioning/sources/default/module.mjs +1 -0
  212. package/dist/app/modules/provisioning/sources/default/module.mjs.map +1 -1
  213. package/dist/core/entities/client/schema.d.ts.map +1 -1
  214. package/dist/core/entities/client/schema.mjs +29 -10
  215. package/dist/core/entities/client/schema.mjs.map +1 -1
  216. package/dist/core/entities/client-permission/schema.d.ts.map +1 -1
  217. package/dist/core/entities/client-permission/schema.mjs +29 -6
  218. package/dist/core/entities/client-permission/schema.mjs.map +1 -1
  219. package/dist/core/entities/client-role/schema.d.ts.map +1 -1
  220. package/dist/core/entities/client-role/schema.mjs +27 -6
  221. package/dist/core/entities/client-role/schema.mjs.map +1 -1
  222. package/dist/core/entities/client-scope/schema.d.ts.map +1 -1
  223. package/dist/core/entities/client-scope/schema.mjs +19 -5
  224. package/dist/core/entities/client-scope/schema.mjs.map +1 -1
  225. package/dist/core/entities/consent/schema.d.ts.map +1 -1
  226. package/dist/core/entities/consent/schema.mjs +28 -6
  227. package/dist/core/entities/consent/schema.mjs.map +1 -1
  228. package/dist/core/entities/event/entity-event-handler.d.ts.map +1 -1
  229. package/dist/core/entities/event/entity-event-handler.mjs +2 -0
  230. package/dist/core/entities/event/entity-event-handler.mjs.map +1 -1
  231. package/dist/core/entities/event/sanitize.d.ts.map +1 -1
  232. package/dist/core/entities/event/sanitize.mjs +7 -4
  233. package/dist/core/entities/event/sanitize.mjs.map +1 -1
  234. package/dist/core/entities/event/schema.d.ts.map +1 -1
  235. package/dist/core/entities/event/schema.mjs +45 -16
  236. package/dist/core/entities/event/schema.mjs.map +1 -1
  237. package/dist/core/entities/event/service.d.ts.map +1 -1
  238. package/dist/core/entities/event/service.mjs +2 -0
  239. package/dist/core/entities/event/service.mjs.map +1 -1
  240. package/dist/core/entities/event/types.d.ts +2 -0
  241. package/dist/core/entities/event/types.d.ts.map +1 -1
  242. package/dist/core/entities/identity-provider/schema.d.ts.map +1 -1
  243. package/dist/core/entities/identity-provider/schema.mjs +29 -11
  244. package/dist/core/entities/identity-provider/schema.mjs.map +1 -1
  245. package/dist/core/entities/identity-provider-account/error.d.ts +7 -0
  246. package/dist/core/entities/identity-provider-account/error.d.ts.map +1 -0
  247. package/dist/core/entities/identity-provider-account/error.mjs +24 -0
  248. package/dist/core/entities/identity-provider-account/error.mjs.map +1 -0
  249. package/dist/core/entities/identity-provider-account/index.d.ts +5 -0
  250. package/dist/core/entities/identity-provider-account/index.d.ts.map +1 -0
  251. package/dist/core/entities/identity-provider-account/index.mjs +8 -0
  252. package/dist/core/entities/identity-provider-account/schema.d.ts +3 -0
  253. package/dist/core/entities/identity-provider-account/schema.d.ts.map +1 -0
  254. package/dist/core/entities/identity-provider-account/schema.mjs +52 -0
  255. package/dist/core/entities/identity-provider-account/schema.mjs.map +1 -0
  256. package/dist/core/entities/identity-provider-account/service.d.ts +24 -0
  257. package/dist/core/entities/identity-provider-account/service.d.ts.map +1 -0
  258. package/dist/core/entities/identity-provider-account/service.mjs +129 -0
  259. package/dist/core/entities/identity-provider-account/service.mjs.map +1 -0
  260. package/dist/core/entities/identity-provider-account/types.d.ts +69 -0
  261. package/dist/core/entities/identity-provider-account/types.d.ts.map +1 -0
  262. package/dist/core/entities/identity-provider-account/types.mjs +17 -0
  263. package/dist/core/entities/identity-provider-account/types.mjs.map +1 -0
  264. package/dist/core/entities/identity-provider-role-mapping/schema.d.ts.map +1 -1
  265. package/dist/core/entities/identity-provider-role-mapping/schema.mjs +27 -6
  266. package/dist/core/entities/identity-provider-role-mapping/schema.mjs.map +1 -1
  267. package/dist/core/entities/index.d.ts +2 -0
  268. package/dist/core/entities/index.d.ts.map +1 -1
  269. package/dist/core/entities/index.mjs +9 -1
  270. package/dist/core/entities/key/schema.d.ts.map +1 -1
  271. package/dist/core/entities/key/schema.mjs +39 -17
  272. package/dist/core/entities/key/schema.mjs.map +1 -1
  273. package/dist/core/entities/key/service.d.ts.map +1 -1
  274. package/dist/core/entities/key/service.mjs +1 -0
  275. package/dist/core/entities/key/service.mjs.map +1 -1
  276. package/dist/core/entities/permission/schema.d.ts.map +1 -1
  277. package/dist/core/entities/permission/schema.mjs +34 -13
  278. package/dist/core/entities/permission/schema.mjs.map +1 -1
  279. package/dist/core/entities/permission-policy/schema.d.ts.map +1 -1
  280. package/dist/core/entities/permission-policy/schema.mjs +27 -6
  281. package/dist/core/entities/permission-policy/schema.mjs.map +1 -1
  282. package/dist/core/entities/policy/schema.d.ts.map +1 -1
  283. package/dist/core/entities/policy/schema.mjs +31 -12
  284. package/dist/core/entities/policy/schema.mjs.map +1 -1
  285. package/dist/core/entities/realm/schema.d.ts.map +1 -1
  286. package/dist/core/entities/realm/schema.mjs +26 -12
  287. package/dist/core/entities/realm/schema.mjs.map +1 -1
  288. package/dist/core/entities/role/schema.d.ts.map +1 -1
  289. package/dist/core/entities/role/schema.mjs +36 -14
  290. package/dist/core/entities/role/schema.mjs.map +1 -1
  291. package/dist/core/entities/role-attribute/schema.d.ts.map +1 -1
  292. package/dist/core/entities/role-attribute/schema.mjs +28 -14
  293. package/dist/core/entities/role-attribute/schema.mjs.map +1 -1
  294. package/dist/core/entities/role-permission/schema.d.ts.map +1 -1
  295. package/dist/core/entities/role-permission/schema.mjs +29 -6
  296. package/dist/core/entities/role-permission/schema.mjs.map +1 -1
  297. package/dist/core/entities/scope/schema.d.ts.map +1 -1
  298. package/dist/core/entities/scope/schema.mjs +28 -12
  299. package/dist/core/entities/scope/schema.mjs.map +1 -1
  300. package/dist/core/entities/session/schema.d.ts.map +1 -1
  301. package/dist/core/entities/session/schema.mjs +41 -9
  302. package/dist/core/entities/session/schema.mjs.map +1 -1
  303. package/dist/core/entities/session-token/index.d.ts +4 -0
  304. package/dist/core/entities/session-token/index.d.ts.map +1 -0
  305. package/dist/core/entities/session-token/index.mjs +6 -0
  306. package/dist/core/entities/session-token/schema.d.ts +12 -0
  307. package/dist/core/entities/session-token/schema.d.ts.map +1 -0
  308. package/dist/core/entities/session-token/schema.mjs +66 -0
  309. package/dist/core/entities/session-token/schema.mjs.map +1 -0
  310. package/dist/core/entities/session-token/service.d.ts +70 -0
  311. package/dist/core/entities/session-token/service.d.ts.map +1 -0
  312. package/dist/core/entities/session-token/service.mjs +216 -0
  313. package/dist/core/entities/session-token/service.mjs.map +1 -0
  314. package/dist/core/entities/session-token/types.d.ts +37 -0
  315. package/dist/core/entities/session-token/types.d.ts.map +1 -0
  316. package/dist/core/entities/session-token/types.mjs +4 -0
  317. package/dist/core/entities/trust-anchor/schema.d.ts.map +1 -1
  318. package/dist/core/entities/trust-anchor/schema.mjs +27 -13
  319. package/dist/core/entities/trust-anchor/schema.mjs.map +1 -1
  320. package/dist/core/entities/trust-anchor/service.d.ts.map +1 -1
  321. package/dist/core/entities/trust-anchor/service.mjs +1 -0
  322. package/dist/core/entities/trust-anchor/service.mjs.map +1 -1
  323. package/dist/core/entities/user/schema.d.ts.map +1 -1
  324. package/dist/core/entities/user/schema.mjs +29 -12
  325. package/dist/core/entities/user/schema.mjs.map +1 -1
  326. package/dist/core/entities/user-attribute/schema.d.ts.map +1 -1
  327. package/dist/core/entities/user-attribute/schema.mjs +28 -14
  328. package/dist/core/entities/user-attribute/schema.mjs.map +1 -1
  329. package/dist/core/entities/user-authenticator/schema.d.ts.map +1 -1
  330. package/dist/core/entities/user-authenticator/schema.mjs +29 -12
  331. package/dist/core/entities/user-authenticator/schema.mjs.map +1 -1
  332. package/dist/core/entities/user-authenticator/service.d.ts +2 -1
  333. package/dist/core/entities/user-authenticator/service.d.ts.map +1 -1
  334. package/dist/core/entities/user-authenticator/service.mjs +5 -0
  335. package/dist/core/entities/user-authenticator/service.mjs.map +1 -1
  336. package/dist/core/entities/user-authenticator/types.d.ts +7 -1
  337. package/dist/core/entities/user-authenticator/types.d.ts.map +1 -1
  338. package/dist/core/entities/user-authenticator/types.mjs.map +1 -1
  339. package/dist/core/entities/user-permission/schema.d.ts.map +1 -1
  340. package/dist/core/entities/user-permission/schema.mjs +29 -6
  341. package/dist/core/entities/user-permission/schema.mjs.map +1 -1
  342. package/dist/core/entities/user-role/schema.d.ts.map +1 -1
  343. package/dist/core/entities/user-role/schema.mjs +27 -6
  344. package/dist/core/entities/user-role/schema.mjs.map +1 -1
  345. package/dist/core/identity/index.mjs +3 -1
  346. package/dist/core/identity/provider/account/constants.d.ts +10 -0
  347. package/dist/core/identity/provider/account/constants.d.ts.map +1 -0
  348. package/dist/core/identity/provider/account/constants.mjs +16 -0
  349. package/dist/core/identity/provider/account/constants.mjs.map +1 -0
  350. package/dist/core/identity/provider/account/error.d.ts +7 -0
  351. package/dist/core/identity/provider/account/error.d.ts.map +1 -0
  352. package/dist/core/identity/provider/account/error.mjs +24 -0
  353. package/dist/core/identity/provider/account/error.mjs.map +1 -0
  354. package/dist/core/identity/provider/account/index.d.ts +2 -0
  355. package/dist/core/identity/provider/account/index.d.ts.map +1 -1
  356. package/dist/core/identity/provider/account/index.mjs +3 -1
  357. package/dist/core/identity/provider/account/module.d.ts +2 -0
  358. package/dist/core/identity/provider/account/module.d.ts.map +1 -1
  359. package/dist/core/identity/provider/account/module.mjs +30 -0
  360. package/dist/core/identity/provider/account/module.mjs.map +1 -1
  361. package/dist/core/identity/provider/account/types.d.ts +44 -7
  362. package/dist/core/identity/provider/account/types.d.ts.map +1 -1
  363. package/dist/core/identity/provider/authentication/protocols/oauth2/module.d.ts +19 -0
  364. package/dist/core/identity/provider/authentication/protocols/oauth2/module.d.ts.map +1 -1
  365. package/dist/core/identity/provider/authentication/protocols/oauth2/module.mjs +60 -3
  366. package/dist/core/identity/provider/authentication/protocols/oauth2/module.mjs.map +1 -1
  367. package/dist/core/identity/provider/authentication/protocols/oauth2/types.d.ts +9 -0
  368. package/dist/core/identity/provider/authentication/protocols/oauth2/types.d.ts.map +1 -1
  369. package/dist/core/identity/provider/authentication/protocols/open-id/module.d.ts +0 -3
  370. package/dist/core/identity/provider/authentication/protocols/open-id/module.d.ts.map +1 -1
  371. package/dist/core/identity/provider/authentication/protocols/open-id/module.mjs +0 -17
  372. package/dist/core/identity/provider/authentication/protocols/open-id/module.mjs.map +1 -1
  373. package/dist/core/identity/provider/index.mjs +3 -1
  374. package/dist/core/index.mjs +11 -2
  375. package/dist/core/oauth2/authorization/code-request/verifier/module.d.ts.map +1 -1
  376. package/dist/core/oauth2/authorization/code-request/verifier/module.mjs +2 -1
  377. package/dist/core/oauth2/authorization/code-request/verifier/module.mjs.map +1 -1
  378. package/dist/core/oauth2/authorization/module.d.ts.map +1 -1
  379. package/dist/core/oauth2/authorization/module.mjs +2 -0
  380. package/dist/core/oauth2/authorization/module.mjs.map +1 -1
  381. package/dist/core/oauth2/authorization/state/types.d.ts +11 -0
  382. package/dist/core/oauth2/authorization/state/types.d.ts.map +1 -1
  383. package/dist/core/oauth2/end-session/service.mjs +2 -2
  384. package/dist/core/oauth2/end-session/service.mjs.map +1 -1
  385. package/dist/core/oauth2/grant-types/authorize.d.ts.map +1 -1
  386. package/dist/core/oauth2/grant-types/authorize.mjs +1 -5
  387. package/dist/core/oauth2/grant-types/authorize.mjs.map +1 -1
  388. package/dist/core/oauth2/grant-types/password.mjs +2 -5
  389. package/dist/core/oauth2/grant-types/password.mjs.map +1 -1
  390. package/dist/core/oauth2/grant-types/refresh-token.d.ts.map +1 -1
  391. package/dist/core/oauth2/grant-types/refresh-token.mjs +37 -24
  392. package/dist/core/oauth2/grant-types/refresh-token.mjs.map +1 -1
  393. package/dist/core/oauth2/index.mjs +3 -1
  394. package/dist/core/oauth2/mfa-login/module.d.ts.map +1 -1
  395. package/dist/core/oauth2/mfa-login/module.mjs +4 -7
  396. package/dist/core/oauth2/mfa-login/module.mjs.map +1 -1
  397. package/dist/core/oauth2/session-token/error.d.ts +36 -0
  398. package/dist/core/oauth2/session-token/error.d.ts.map +1 -0
  399. package/dist/core/oauth2/session-token/error.mjs +49 -0
  400. package/dist/core/oauth2/session-token/error.mjs.map +1 -0
  401. package/dist/core/oauth2/session-token/index.d.ts +1 -0
  402. package/dist/core/oauth2/session-token/index.d.ts.map +1 -1
  403. package/dist/core/oauth2/session-token/index.mjs +2 -1
  404. package/dist/core/oauth2/session-token/types.d.ts +40 -0
  405. package/dist/core/oauth2/session-token/types.d.ts.map +1 -1
  406. package/dist/core/oauth2/token/issuer/access/module.d.ts.map +1 -1
  407. package/dist/core/oauth2/token/issuer/access/module.mjs +1 -0
  408. package/dist/core/oauth2/token/issuer/access/module.mjs.map +1 -1
  409. package/dist/core/oauth2/token/issuer/base.d.ts +1 -1
  410. package/dist/core/oauth2/token/issuer/base.d.ts.map +1 -1
  411. package/dist/core/oauth2/token/issuer/base.mjs.map +1 -1
  412. package/dist/core/oauth2/token/issuer/refresh/module.d.ts.map +1 -1
  413. package/dist/core/oauth2/token/issuer/refresh/module.mjs +1 -0
  414. package/dist/core/oauth2/token/issuer/refresh/module.mjs.map +1 -1
  415. package/dist/core/query/index.mjs +2 -2
  416. package/dist/core/query/module.d.ts +19 -9
  417. package/dist/core/query/module.d.ts.map +1 -1
  418. package/dist/core/query/module.mjs +22 -10
  419. package/dist/core/query/module.mjs.map +1 -1
  420. package/dist/index.mjs +8 -4
  421. package/dist/swagger.json +961 -132
  422. package/dist/utils/error.d.ts +20 -3
  423. package/dist/utils/error.d.ts.map +1 -1
  424. package/dist/utils/error.mjs +102 -5
  425. package/dist/utils/error.mjs.map +1 -1
  426. package/dist/utils/index.mjs +2 -2
  427. package/package.json +23 -21
  428. package/dist/app/modules/identity/repositories/provider/account/index.d.ts.map +0 -1
  429. package/dist/app/modules/identity/repositories/provider/account/index.mjs +0 -5
  430. package/dist/app/modules/identity/repositories/provider/account/module.d.ts +0 -10
  431. package/dist/app/modules/identity/repositories/provider/account/module.d.ts.map +0 -1
  432. package/dist/app/modules/identity/repositories/provider/account/module.mjs +0 -28
  433. package/dist/app/modules/identity/repositories/provider/account/module.mjs.map +0 -1
  434. /package/dist/{app/modules/identity/repositories/provider/account → adapters/http/controllers/entities/identity-provider-account}/index.d.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"base.mjs","names":["OAuth2BaseTokenIssuer","options","buildIss","input","issuer","undefined","base","replace","realm_name","buildExp","exp","utc","Math","floor","Date","getTime","maxAge"],"sources":["../../../../../src/core/oauth2/token/issuer/base.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 { OAuth2TokenPayload } from '@authup/specs';\nimport type { IOAuth2TokenIssuer, OAuth2TokenIssuerOptions, OAuth2TokenIssuerResponse } from './types.ts';\n\nexport abstract class OAuth2BaseTokenIssuer implements IOAuth2TokenIssuer {\n protected options: OAuth2TokenIssuerOptions;\n\n // ------------------------------------------------------------------\n\n protected constructor(options?: OAuth2TokenIssuerOptions) {\n this.options = options || {};\n }\n\n // ------------------------------------------------------------------\n\n abstract issue(input: OAuth2TokenPayload, options?: OAuth2TokenIssuerOptions): Promise<OAuth2TokenIssuerResponse>;\n\n // ------------------------------------------------------------------\n\n buildIss(input: OAuth2TokenPayload = {}) : string | undefined {\n if (!this.options.issuer) {\n return undefined;\n }\n\n // Strip a trailing slash so a configured issuer like\n // `https://auth.example.com/` doesn't produce a malformed\n // `https://auth.example.com//realms/master`.\n const base = this.options.issuer.replace(/\\/+$/, '');\n\n if (input.realm_name) {\n return `${base}/realms/${input.realm_name}`;\n }\n\n return base;\n }\n\n /**\n * Build utc expire time (in seconds).\n *\n * @param input\n */\n buildExp(input: OAuth2TokenPayload = {}) : number {\n if (input.exp) {\n return input.exp;\n }\n\n const utc = Math.floor(new Date().getTime() / 1000);\n if (this.options.maxAge) {\n return utc + this.options.maxAge;\n }\n\n return utc + 3_600;\n }\n}\n"],"mappings":";;;;AAUA,IAAsBA,wBAAtB,MAAsBA;CACRC;CAIV,YAAsBA,SAAoC;EACtD,KAAKA,UAAUA,WAAW,CAAC;CAC/B;CAQAC,SAASC,QAA4B,CAAC,GAAwB;EAC1D,IAAI,CAAC,KAAKF,QAAQG,QACd;EAMJ,MAAME,OAAO,KAAKL,QAAQG,OAAOG,QAAQ,QAAQ,EAAA;EAEjD,IAAIJ,MAAMK,YACN,OAAO,GAAGF,KAAK,UAAUH,MAAMK;EAGnC,OAAOF;CACX;;;;;IAOAG,SAASN,QAA4B,CAAC,GAAY;EAC9C,IAAIA,MAAMO,KACN,OAAOP,MAAMO;EAGjB,MAAMC,MAAMC,KAAKC,uBAAM,IAAIC,KAAAA,EAAAA,CAAOC,QAAO,IAAK,GAAA;EAC9C,IAAI,KAAKd,QAAQe,QACb,OAAOL,MAAM,KAAKV,QAAQe;EAG9B,OAAOL,MAAM;CACjB;AACJ"}
1
+ {"version":3,"file":"base.mjs","names":["OAuth2BaseTokenIssuer","options","buildIss","input","issuer","undefined","base","replace","realm_name","buildExp","exp","utc","Math","floor","Date","getTime","maxAge"],"sources":["../../../../../src/core/oauth2/token/issuer/base.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 { OAuth2TokenPayload } from '@authup/specs';\nimport type {\n IOAuth2TokenIssuer,\n OAuth2TokenIssuerOptions,\n OAuth2TokenIssuerResponse,\n} from './types.ts';\n\nexport abstract class OAuth2BaseTokenIssuer implements IOAuth2TokenIssuer {\n protected options: OAuth2TokenIssuerOptions;\n\n // ------------------------------------------------------------------\n\n protected constructor(options?: OAuth2TokenIssuerOptions) {\n this.options = options || {};\n }\n\n // ------------------------------------------------------------------\n\n abstract issue(input: OAuth2TokenPayload): Promise<OAuth2TokenIssuerResponse>;\n\n // ------------------------------------------------------------------\n\n buildIss(input: OAuth2TokenPayload = {}) : string | undefined {\n if (!this.options.issuer) {\n return undefined;\n }\n\n // Strip a trailing slash so a configured issuer like\n // `https://auth.example.com/` doesn't produce a malformed\n // `https://auth.example.com//realms/master`.\n const base = this.options.issuer.replace(/\\/+$/, '');\n\n if (input.realm_name) {\n return `${base}/realms/${input.realm_name}`;\n }\n\n return base;\n }\n\n /**\n * Build utc expire time (in seconds).\n *\n * @param input\n */\n buildExp(input: OAuth2TokenPayload = {}) : number {\n if (input.exp) {\n return input.exp;\n }\n\n const utc = Math.floor(new Date().getTime() / 1000);\n if (this.options.maxAge) {\n return utc + this.options.maxAge;\n }\n\n return utc + 3_600;\n }\n}\n"],"mappings":";;;;AAcA,IAAsBA,wBAAtB,MAAsBA;CACRC;CAIV,YAAsBA,SAAoC;EACtD,KAAKA,UAAUA,WAAW,CAAC;CAC/B;CAQAC,SAASC,QAA4B,CAAC,GAAwB;EAC1D,IAAI,CAAC,KAAKF,QAAQG,QACd;EAMJ,MAAME,OAAO,KAAKL,QAAQG,OAAOG,QAAQ,QAAQ,EAAA;EAEjD,IAAIJ,MAAMK,YACN,OAAO,GAAGF,KAAK,UAAUH,MAAMK;EAGnC,OAAOF;CACX;;;;;IAOAG,SAASN,QAA4B,CAAC,GAAY;EAC9C,IAAIA,MAAMO,KACN,OAAOP,MAAMO;EAGjB,MAAMC,MAAMC,KAAKC,uBAAM,IAAIC,KAAAA,EAAAA,CAAOC,QAAO,IAAK,GAAA;EAC9C,IAAI,KAAKd,QAAQe,QACb,OAAOL,MAAM,KAAKV,QAAQe;EAG9B,OAAOL,MAAM;CACjB;AACJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../../../../src/core/oauth2/token/issuer/refresh/module.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAExD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC/E,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,KAAK,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAE3G,qBAAa,wBAAyB,SAAQ,qBAAsB,YAAW,kBAAkB;IAC7F,SAAS,CAAC,UAAU,EAAE,sBAAsB,CAAC;IAE7C,SAAS,CAAC,MAAM,EAAG,kBAAkB,CAAC;IAEtC,SAAS,CAAC,sBAAsB,CAAC,EAAE,uBAAuB,CAAC;gBAGvD,UAAU,EAAE,sBAAsB,EAClC,MAAM,EAAE,kBAAkB,EAC1B,OAAO,GAAE,wBAA6B,EACtC,sBAAsB,CAAC,EAAE,uBAAuB;IAS9C,KAAK,CAAC,KAAK,GAAE,kBAAuB,GAAI,OAAO,CAAC,yBAAyB,CAAC;CA4BnF"}
1
+ {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../../../../src/core/oauth2/token/issuer/refresh/module.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAExD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC/E,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,KAAK,EACR,kBAAkB,EAClB,wBAAwB,EACxB,yBAAyB,EAC5B,MAAM,aAAa,CAAC;AAErB,qBAAa,wBAAyB,SAAQ,qBAAsB,YAAW,kBAAkB;IAC7F,SAAS,CAAC,UAAU,EAAE,sBAAsB,CAAC;IAE7C,SAAS,CAAC,MAAM,EAAG,kBAAkB,CAAC;IAEtC,SAAS,CAAC,sBAAsB,CAAC,EAAE,uBAAuB,CAAC;gBAGvD,UAAU,EAAE,sBAAsB,EAClC,MAAM,EAAE,kBAAkB,EAC1B,OAAO,GAAE,wBAA6B,EACtC,sBAAsB,CAAC,EAAE,uBAAuB;IAS9C,KAAK,CACP,KAAK,GAAE,kBAAuB,GAC9B,OAAO,CAAC,yBAAyB,CAAC;CAmCzC"}
@@ -27,6 +27,7 @@ var OAuth2RefreshTokenIssuer = class extends OAuth2BaseTokenIssuer {
27
27
  if (this.sessionTokenRepository && data.session_id && data.jti && typeof data.exp === "number") await this.sessionTokenRepository.create({
28
28
  id: data.jti,
29
29
  sessionId: data.session_id,
30
+ clientId: data.client_id ?? null,
30
31
  kind: "refresh",
31
32
  parentId: input.parent_id ?? null,
32
33
  ipAddress: data.remote_address ?? "",
@@ -1 +1 @@
1
- {"version":3,"file":"module.mjs","names":["OAuth2TokenKind","OAuth2BaseTokenIssuer","OAuth2RefreshTokenIssuer","repository","signer","sessionTokenRepository","options","issue","input","iss","buildIss","data","insert","kind","REFRESH","exp","buildExp","token","sign","saveWithSignature","session_id","jti","create","id","sessionId","parentId","parent_id","ipAddress","remote_address","userAgent","user_agent","expiresAt","Date","toISOString"],"sources":["../../../../../../src/core/oauth2/token/issuer/refresh/module.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 { OAuth2TokenPayload } from '@authup/specs';\nimport { OAuth2TokenKind } from '@authup/specs';\nimport type { IOAuth2TokenSigner } from '../../signer/index.ts';\nimport type { IOAuth2TokenRepository } from '../../repository/index.ts';\nimport type { ISessionTokenRepository } from '../../../session-token/index.ts';\nimport { OAuth2BaseTokenIssuer } from '../base.ts';\nimport type { IOAuth2TokenIssuer, OAuth2TokenIssuerOptions, OAuth2TokenIssuerResponse } from '../types.ts';\n\nexport class OAuth2RefreshTokenIssuer extends OAuth2BaseTokenIssuer implements IOAuth2TokenIssuer {\n protected repository: IOAuth2TokenRepository;\n\n protected signer : IOAuth2TokenSigner;\n\n protected sessionTokenRepository?: ISessionTokenRepository;\n\n constructor(\n repository: IOAuth2TokenRepository,\n signer: IOAuth2TokenSigner,\n options: OAuth2TokenIssuerOptions = {},\n sessionTokenRepository?: ISessionTokenRepository,\n ) {\n super(options);\n\n this.repository = repository;\n this.signer = signer;\n this.sessionTokenRepository = sessionTokenRepository;\n }\n\n async issue(input: OAuth2TokenPayload = {}) : Promise<OAuth2TokenIssuerResponse> {\n const iss = this.buildIss(input);\n\n const data = await this.repository.insert({\n ...input,\n kind: OAuth2TokenKind.REFRESH,\n exp: this.buildExp(input),\n ...(iss ? { iss } : {}),\n });\n\n const token = await this.signer.sign(data);\n\n await this.repository.saveWithSignature(data, token);\n\n if (this.sessionTokenRepository && data.session_id && data.jti && typeof data.exp === 'number') {\n await this.sessionTokenRepository.create({\n id: data.jti,\n sessionId: data.session_id,\n kind: 'refresh',\n parentId: input.parent_id ?? null,\n ipAddress: data.remote_address ?? '',\n userAgent: data.user_agent ?? '',\n expiresAt: new Date(data.exp * 1000).toISOString(),\n });\n }\n\n return [token, data];\n }\n}\n"],"mappings":";;;;;;AAeA,IAAaE,2BAAb,cAA8CD,sBAAAA;CAChCE;CAEAC;CAEAC;CAEV,YACIF,YACAC,QACAE,UAAoC,CAAC,GACrCD,wBACF;EACE,MAAMC,OAAAA;EAEN,KAAKH,aAAaA;EAClB,KAAKC,SAASA;EACd,KAAKC,yBAAyBA;CAClC;CAEA,MAAME,MAAMC,QAA4B,CAAC,GAAwC;EAC7E,MAAMC,MAAM,KAAKC,SAASF,KAAAA;EAE1B,MAAMG,OAAO,MAAM,KAAKR,WAAWS,OAAO;GACtC,GAAGJ;GACHK,MAAMb,gBAAgBc;GACtBC,KAAK,KAAKC,SAASR,KAAAA;GACnB,GAAIC,MAAM,EAAEA,IAAI,IAAI,CAAC;EACzB,CAAA;EAEA,MAAMQ,QAAQ,MAAM,KAAKb,OAAOc,KAAKP,IAAAA;EAErC,MAAM,KAAKR,WAAWgB,kBAAkBR,MAAMM,KAAAA;EAE9C,IAAI,KAAKZ,0BAA0BM,KAAKS,cAAcT,KAAKU,OAAO,OAAOV,KAAKI,QAAQ,UAClF,MAAM,KAAKV,uBAAuBiB,OAAO;GACrCC,IAAIZ,KAAKU;GACTG,WAAWb,KAAKS;GAChBP,MAAM;GACNY,UAAUjB,MAAMkB,aAAa;GAC7BC,WAAWhB,KAAKiB,kBAAkB;GAClCC,WAAWlB,KAAKmB,cAAc;GAC9BC,4BAAW,IAAIC,KAAKrB,KAAKI,MAAM,GAAA,EAAA,CAAMkB,YAAW;EACpD,CAAA;EAGJ,OAAO,CAAChB,OAAON,IAAK;CACxB;AACJ"}
1
+ {"version":3,"file":"module.mjs","names":["OAuth2TokenKind","OAuth2BaseTokenIssuer","OAuth2RefreshTokenIssuer","repository","signer","sessionTokenRepository","options","issue","input","iss","buildIss","data","insert","kind","REFRESH","exp","buildExp","token","sign","saveWithSignature","session_id","jti","create","id","sessionId","clientId","client_id","parentId","parent_id","ipAddress","remote_address","userAgent","user_agent","expiresAt","Date","toISOString"],"sources":["../../../../../../src/core/oauth2/token/issuer/refresh/module.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 { OAuth2TokenPayload } from '@authup/specs';\nimport { OAuth2TokenKind } from '@authup/specs';\nimport type { IOAuth2TokenSigner } from '../../signer/index.ts';\nimport type { IOAuth2TokenRepository } from '../../repository/index.ts';\nimport type { ISessionTokenRepository } from '../../../session-token/index.ts';\nimport { OAuth2BaseTokenIssuer } from '../base.ts';\nimport type {\n IOAuth2TokenIssuer,\n OAuth2TokenIssuerOptions,\n OAuth2TokenIssuerResponse,\n} from '../types.ts';\n\nexport class OAuth2RefreshTokenIssuer extends OAuth2BaseTokenIssuer implements IOAuth2TokenIssuer {\n protected repository: IOAuth2TokenRepository;\n\n protected signer : IOAuth2TokenSigner;\n\n protected sessionTokenRepository?: ISessionTokenRepository;\n\n constructor(\n repository: IOAuth2TokenRepository,\n signer: IOAuth2TokenSigner,\n options: OAuth2TokenIssuerOptions = {},\n sessionTokenRepository?: ISessionTokenRepository,\n ) {\n super(options);\n\n this.repository = repository;\n this.signer = signer;\n this.sessionTokenRepository = sessionTokenRepository;\n }\n\n async issue(\n input: OAuth2TokenPayload = {},\n ) : Promise<OAuth2TokenIssuerResponse> {\n const iss = this.buildIss(input);\n\n const data = await this.repository.insert({\n ...input,\n kind: OAuth2TokenKind.REFRESH,\n exp: this.buildExp(input),\n ...(iss ? { iss } : {}),\n });\n\n const token = await this.signer.sign(data);\n\n await this.repository.saveWithSignature(data, token);\n\n if (\n this.sessionTokenRepository &&\n data.session_id && data.jti &&\n typeof data.exp === 'number'\n ) {\n await this.sessionTokenRepository.create({\n id: data.jti,\n sessionId: data.session_id,\n // Per-application attribution (plan 086). The same client the\n // payload was minted for, so the row needs no extra lookup.\n clientId: data.client_id ?? null,\n kind: 'refresh',\n parentId: input.parent_id ?? null,\n ipAddress: data.remote_address ?? '',\n userAgent: data.user_agent ?? '',\n expiresAt: new Date(data.exp * 1000).toISOString(),\n });\n }\n\n return [token, data];\n }\n}\n"],"mappings":";;;;;;AAmBA,IAAaE,2BAAb,cAA8CD,sBAAAA;CAChCE;CAEAC;CAEAC;CAEV,YACIF,YACAC,QACAE,UAAoC,CAAC,GACrCD,wBACF;EACE,MAAMC,OAAAA;EAEN,KAAKH,aAAaA;EAClB,KAAKC,SAASA;EACd,KAAKC,yBAAyBA;CAClC;CAEA,MAAME,MACFC,QAA4B,CAAC,GACM;EACnC,MAAMC,MAAM,KAAKC,SAASF,KAAAA;EAE1B,MAAMG,OAAO,MAAM,KAAKR,WAAWS,OAAO;GACtC,GAAGJ;GACHK,MAAMb,gBAAgBc;GACtBC,KAAK,KAAKC,SAASR,KAAAA;GACnB,GAAIC,MAAM,EAAEA,IAAI,IAAI,CAAC;EACzB,CAAA;EAEA,MAAMQ,QAAQ,MAAM,KAAKb,OAAOc,KAAKP,IAAAA;EAErC,MAAM,KAAKR,WAAWgB,kBAAkBR,MAAMM,KAAAA;EAE9C,IACI,KAAKZ,0BACLM,KAAKS,cAAcT,KAAKU,OACxB,OAAOV,KAAKI,QAAQ,UAEpB,MAAM,KAAKV,uBAAuBiB,OAAO;GACrCC,IAAIZ,KAAKU;GACTG,WAAWb,KAAKS;GAGhBK,UAAUd,KAAKe,aAAa;GAC5Bb,MAAM;GACNc,UAAUnB,MAAMoB,aAAa;GAC7BC,WAAWlB,KAAKmB,kBAAkB;GAClCC,WAAWpB,KAAKqB,cAAc;GAC9BC,4BAAW,IAAIC,KAAKvB,KAAKI,MAAM,GAAA,EAAA,CAAMoB,YAAW;EACpD,CAAA;EAGJ,OAAO,CAAClB,OAAON,IAAK;CACxB;AACJ"}
@@ -3,5 +3,5 @@ import "node:url";
3
3
  import.meta.url;
4
4
  import { RECORD_QUERY_PARAMETERS, describeQuerySchema } from "./describe.mjs";
5
5
  import { createRelationsReadGate } from "./relations.mjs";
6
- import { appendQueryConditions, decodeQuery, queryCodec, schemaRegistry } from "./module.mjs";
7
- export { RECORD_QUERY_PARAMETERS, appendQueryConditions, createRelationsReadGate, decodeQuery, describeQuerySchema, queryCodec, schemaRegistry };
6
+ import { appendQueryConditions, decodeQuery, queryCodec, schemaRegistry, schemas } from "./module.mjs";
7
+ export { RECORD_QUERY_PARAMETERS, appendQueryConditions, createRelationsReadGate, decodeQuery, describeQuerySchema, queryCodec, schemaRegistry, schemas };
@@ -1,4 +1,4 @@
1
- import type { ICondition, IQuery, ObjectLiteral } from '@rapiq/core';
1
+ import type { ICondition, IQuery, ObjectLiteral, Schema } from '@rapiq/core';
2
2
  import { Query, SchemaRegistry } from '@rapiq/core';
3
3
  import type { DecodeQueryOptions } from './types.ts';
4
4
  /**
@@ -17,6 +17,12 @@ import type { DecodeQueryOptions } from './types.ts';
17
17
  * never auto-derived from entity metadata.
18
18
  */
19
19
  export declare const schemaRegistry: SchemaRegistry<any>;
20
+ /**
21
+ * Every registered entity schema. Exported so the invariant guard can
22
+ * enumerate them: `SchemaRegistry` keeps its map protected and exposes
23
+ * no iterator (tada5hi/rapiq#904).
24
+ */
25
+ export declare const schemas: Schema<any>[];
20
26
  /**
21
27
  * URL transport codec bound to the schema registry: decodes both the
22
28
  * v2 expression dialect (stamped or detected) and legacy v1 bracket
@@ -41,20 +47,24 @@ export declare const queryCodec: import("@rapiq/codec-url").URLCodec;
41
47
  export declare function decodeQuery<RECORD extends ObjectLiteral = ObjectLiteral>(input: unknown, options: DecodeQueryOptions<RECORD>): Promise<Query>;
42
48
  /**
43
49
  * Append server-derived conditions (a route realm, an owner scope, ...)
44
- * onto a decoded query by AND-wrapping its filter tree. The wrap makes
45
- * the appended scope non-displaceable: unlike a filters merge (per-field
46
- * replace, flat-root-AND restriction), a client-sent condition on the
47
- * same field intersects with the scope instead of replacing it, and
48
- * compound client trees (`or(...)`) are preserved as-is. Same guarantee
49
- * class as a mandatory `andWhere` at the repository expressed once in
50
- * the IR. Appended conditions do not pass through `decodeQuery`, so the
51
- * schema allow-lists do not constrain them (server-derived context).
50
+ * onto a decoded query by AND-wrapping its filter tree. A client-sent
51
+ * condition on the same field intersects with the scope instead of
52
+ * replacing it, and compound client trees (`or(...)`) are preserved
53
+ * as-is. Same guarantee class as a mandatory `andWhere` at the
54
+ * repository expressed once in the IR. Appended conditions do not
55
+ * pass through `decodeQuery`, so the schema allow-lists do not
56
+ * constrain them (server-derived context).
52
57
  *
53
58
  * Immutable: returns a new `Query` whose filters node is the
54
59
  * AND-wrapped successor (`IFilters.and`); every other parameter node is
55
60
  * carried over **by reference**, so the input query stays untouched and
56
61
  * nothing is copied. The node enumeration mirrors rapiq's
57
62
  * `QueryContext` — keep it in sync when the IR gains a parameter.
63
+ *
64
+ * Non-displaceability is structural since rapiq beta.19
65
+ * (tada5hi/rapiq#890): filter composition is conjunctive throughout, so
66
+ * no later composition step can drop a conjunct and the appended scope
67
+ * needs no marker to survive.
58
68
  */
59
69
  export declare function appendQueryConditions(query: IQuery, ...conditions: ICondition[]): Query;
60
70
  //# sourceMappingURL=module.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../src/core/query/module.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EACR,UAAU,EACV,MAAM,EACN,aAAa,EAEhB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,KAAK,EAAE,cAAc,EAAY,MAAM,aAAa,CAAC;AAyB9D,OAAO,KAAK,EAAE,kBAAkB,EAAsB,MAAM,YAAY,CAAC;AAEzE;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,cAAc,qBAAuB,CAAC;AAiCnD;;;;GAIG;AACH,eAAO,MAAM,UAAU,qCAAiC,CAAC;AAEzD;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,WAAW,CAAC,MAAM,SAAS,aAAa,GAAG,aAAa,EAC1E,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,kBAAkB,CAAC,MAAM,CAAC,GACnC,OAAO,CAAC,KAAK,CAAC,CAYjB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,UAAU,EAAE,GAAI,KAAK,CAQxF"}
1
+ {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../src/core/query/module.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EACR,UAAU,EACV,MAAM,EACN,aAAa,EACb,MAAM,EACT,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,KAAK,EAAE,cAAc,EAAY,MAAM,aAAa,CAAC;AA2B9D,OAAO,KAAK,EAAE,kBAAkB,EAAsB,MAAM,YAAY,CAAC;AAEzE;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,cAAc,qBAAuB,CAAC;AAEnD;;;;GAIG;AACH,eAAO,MAAM,OAAO,EAAG,MAAM,CAAC,GAAG,CAAC,EA2BjC,CAAC;AAMF;;;;GAIG;AACH,eAAO,MAAM,UAAU,qCAAiC,CAAC;AAEzD;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,WAAW,CAAC,MAAM,SAAS,aAAa,GAAG,aAAa,EAC1E,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,kBAAkB,CAAC,MAAM,CAAC,GACnC,OAAO,CAAC,KAAK,CAAC,CAYjB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,UAAU,EAAE,GAAI,KAAK,CAQxF"}
@@ -8,6 +8,7 @@ import { clientScopeSchema } from "../entities/client-scope/schema.mjs";
8
8
  import { consentSchema } from "../entities/consent/schema.mjs";
9
9
  import { eventSchema } from "../entities/event/schema.mjs";
10
10
  import { identityProviderSchema } from "../entities/identity-provider/schema.mjs";
11
+ import { identityProviderAccountSchema } from "../entities/identity-provider-account/schema.mjs";
11
12
  import { identityProviderRoleMappingSchema } from "../entities/identity-provider-role-mapping/schema.mjs";
12
13
  import { keySchema } from "../entities/key/schema.mjs";
13
14
  import { permissionSchema } from "../entities/permission/schema.mjs";
@@ -19,6 +20,7 @@ import { roleAttributeSchema } from "../entities/role-attribute/schema.mjs";
19
20
  import { rolePermissionSchema } from "../entities/role-permission/schema.mjs";
20
21
  import { scopeSchema } from "../entities/scope/schema.mjs";
21
22
  import { sessionSchema } from "../entities/session/schema.mjs";
23
+ import { sessionTokenSchema } from "../entities/session-token/schema.mjs";
22
24
  import { trustAnchorSchema } from "../entities/trust-anchor/schema.mjs";
23
25
  import { userSchema } from "../entities/user/schema.mjs";
24
26
  import { userAttributeSchema } from "../entities/user-attribute/schema.mjs";
@@ -43,7 +45,11 @@ import { createURLCodec } from "@rapiq/codec-url";
43
45
  * precedence), but the allow-lists themselves stay explicit and are
44
46
  * never auto-derived from entity metadata.
45
47
  */ const schemaRegistry = new SchemaRegistry();
46
- const schemas = [
48
+ /**
49
+ * Every registered entity schema. Exported so the invariant guard can
50
+ * enumerate them: `SchemaRegistry` keeps its map protected and exposes
51
+ * no iterator (tada5hi/rapiq#904).
52
+ */ const schemas = [
47
53
  clientSchema,
48
54
  clientPermissionSchema,
49
55
  clientRoleSchema,
@@ -51,6 +57,7 @@ const schemas = [
51
57
  consentSchema,
52
58
  eventSchema,
53
59
  identityProviderSchema,
60
+ identityProviderAccountSchema,
54
61
  identityProviderRoleMappingSchema,
55
62
  keySchema,
56
63
  permissionSchema,
@@ -62,6 +69,7 @@ const schemas = [
62
69
  rolePermissionSchema,
63
70
  scopeSchema,
64
71
  sessionSchema,
72
+ sessionTokenSchema,
65
73
  trustAnchorSchema,
66
74
  userSchema,
67
75
  userAttributeSchema,
@@ -99,20 +107,24 @@ for (const schema of schemas) schemaRegistry.add(schema);
99
107
  }
100
108
  /**
101
109
  * Append server-derived conditions (a route realm, an owner scope, ...)
102
- * onto a decoded query by AND-wrapping its filter tree. The wrap makes
103
- * the appended scope non-displaceable: unlike a filters merge (per-field
104
- * replace, flat-root-AND restriction), a client-sent condition on the
105
- * same field intersects with the scope instead of replacing it, and
106
- * compound client trees (`or(...)`) are preserved as-is. Same guarantee
107
- * class as a mandatory `andWhere` at the repository expressed once in
108
- * the IR. Appended conditions do not pass through `decodeQuery`, so the
109
- * schema allow-lists do not constrain them (server-derived context).
110
+ * onto a decoded query by AND-wrapping its filter tree. A client-sent
111
+ * condition on the same field intersects with the scope instead of
112
+ * replacing it, and compound client trees (`or(...)`) are preserved
113
+ * as-is. Same guarantee class as a mandatory `andWhere` at the
114
+ * repository expressed once in the IR. Appended conditions do not
115
+ * pass through `decodeQuery`, so the schema allow-lists do not
116
+ * constrain them (server-derived context).
110
117
  *
111
118
  * Immutable: returns a new `Query` whose filters node is the
112
119
  * AND-wrapped successor (`IFilters.and`); every other parameter node is
113
120
  * carried over **by reference**, so the input query stays untouched and
114
121
  * nothing is copied. The node enumeration mirrors rapiq's
115
122
  * `QueryContext` — keep it in sync when the IR gains a parameter.
123
+ *
124
+ * Non-displaceability is structural since rapiq beta.19
125
+ * (tada5hi/rapiq#890): filter composition is conjunctive throughout, so
126
+ * no later composition step can drop a conjunct and the appended scope
127
+ * needs no marker to survive.
116
128
  */ function appendQueryConditions(query, ...conditions) {
117
129
  return new Query({
118
130
  fields: query.fields,
@@ -123,6 +135,6 @@ for (const schema of schemas) schemaRegistry.add(schema);
123
135
  });
124
136
  }
125
137
  //#endregion
126
- export { appendQueryConditions, decodeQuery, queryCodec, schemaRegistry };
138
+ export { appendQueryConditions, decodeQuery, queryCodec, schemaRegistry, schemas };
127
139
 
128
140
  //# sourceMappingURL=module.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"module.mjs","names":["createURLCodec","Query","SchemaRegistry","isObject","clientSchema","clientPermissionSchema","clientRoleSchema","clientScopeSchema","consentSchema","eventSchema","identityProviderSchema","identityProviderRoleMappingSchema","keySchema","permissionSchema","permissionPolicySchema","policySchema","realmSchema","roleSchema","roleAttributeSchema","rolePermissionSchema","scopeSchema","sessionSchema","trustAnchorSchema","userSchema","userAttributeSchema","userAuthenticatorSchema","userPermissionSchema","userRoleSchema","schemaRegistry","schemas","schema","add","queryCodec","decodeQuery","input","options","normalized","parsed","decodeAsync","parameters","context","actor","appendQueryConditions","query","conditions","fields","filters","and","relations","pagination","sorts"],"sources":["../../../src/core/query/module.ts"],"sourcesContent":["/*\n * Copyright (c) 2026.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { createURLCodec } from '@rapiq/codec-url';\nimport type {\n ICondition, \n IQuery, \n ObjectLiteral, \n Schema,\n} from '@rapiq/core';\nimport { Query, SchemaRegistry, isObject } from '@rapiq/core';\nimport { clientSchema } from '../entities/client/schema.ts';\nimport { clientPermissionSchema } from '../entities/client-permission/schema.ts';\nimport { clientRoleSchema } from '../entities/client-role/schema.ts';\nimport { clientScopeSchema } from '../entities/client-scope/schema.ts';\nimport { consentSchema } from '../entities/consent/schema.ts';\nimport { eventSchema } from '../entities/event/schema.ts';\nimport { identityProviderSchema } from '../entities/identity-provider/schema.ts';\nimport { identityProviderRoleMappingSchema } from '../entities/identity-provider-role-mapping/schema.ts';\nimport { keySchema } from '../entities/key/schema.ts';\nimport { permissionSchema } from '../entities/permission/schema.ts';\nimport { permissionPolicySchema } from '../entities/permission-policy/schema.ts';\nimport { policySchema } from '../entities/policy/schema.ts';\nimport { realmSchema } from '../entities/realm/schema.ts';\nimport { roleSchema } from '../entities/role/schema.ts';\nimport { roleAttributeSchema } from '../entities/role-attribute/schema.ts';\nimport { rolePermissionSchema } from '../entities/role-permission/schema.ts';\nimport { scopeSchema } from '../entities/scope/schema.ts';\nimport { sessionSchema } from '../entities/session/schema.ts';\nimport { trustAnchorSchema } from '../entities/trust-anchor/schema.ts';\nimport { userSchema } from '../entities/user/schema.ts';\nimport { userAttributeSchema } from '../entities/user-attribute/schema.ts';\nimport { userAuthenticatorSchema } from '../entities/user-authenticator/schema.ts';\nimport { userPermissionSchema } from '../entities/user-permission/schema.ts';\nimport { userRoleSchema } from '../entities/user-role/schema.ts';\nimport type { DecodeQueryOptions, QueryDecodeContext } from './types.ts';\n\n/**\n * Registry of every entity schema — the server-side allow-list layer.\n * Relation traversal (e.g. a `realm.name` filter) resolves through the\n * `schemaMapping` of the owning schema into the related schema's own\n * allow-lists.\n *\n * The registry deliberately lives in core (persistence-agnostic): the\n * schemas are security policy over the domain types, and services\n * consume them to decode wire queries into the rapiq IR. A repository\n * layer MAY extend the registry with additional, storage-derived\n * schemas (e.g. `@rapiq/adapter-typeorm`'s `defineSchemaRegistryWithDataSource`\n * with the `registry` option — already-registered schemas take\n * precedence), but the allow-lists themselves stay explicit and are\n * never auto-derived from entity metadata.\n */\nexport const schemaRegistry = new SchemaRegistry();\n\nconst schemas : Schema<any>[] = [\n clientSchema,\n clientPermissionSchema,\n clientRoleSchema,\n clientScopeSchema,\n consentSchema,\n eventSchema,\n identityProviderSchema,\n identityProviderRoleMappingSchema,\n keySchema,\n permissionSchema,\n permissionPolicySchema,\n policySchema,\n realmSchema,\n roleSchema,\n roleAttributeSchema,\n rolePermissionSchema,\n scopeSchema,\n sessionSchema,\n trustAnchorSchema,\n userSchema,\n userAttributeSchema,\n userAuthenticatorSchema,\n userPermissionSchema,\n userRoleSchema,\n];\n\nfor (const schema of schemas) {\n schemaRegistry.add(schema);\n}\n\n/**\n * URL transport codec bound to the schema registry: decodes both the\n * v2 expression dialect (stamped or detected) and legacy v1 bracket\n * payloads, so pre-v2 clients keep working.\n */\nexport const queryCodec = createURLCodec(schemaRegistry);\n\n/**\n * Decode a raw wire query (routup `useRequestQuery` output or a raw\n * query string) against a registered schema into the rapiq IR. The\n * schema's allow-lists, defaults and pagination bounds are applied\n * here — downstream consumers (repository adapters) only execute the\n * returned query.\n *\n * Async because the schema validate hooks are: the relations read\n * gate (`createRelationsReadGate`) awaits the actor's permission\n * pre-gate per include, and rapiq refuses async validators on the\n * synchronous decode path. Pass the acting identity via\n * `options.actor` on every request-driven decode (authenticated or\n * anonymous — the HTTP adapter always builds one); a decode without\n * an actor is a system call and runs unrestricted.\n */\nexport async function decodeQuery<RECORD extends ObjectLiteral = ObjectLiteral>(\n input: unknown,\n options: DecodeQueryOptions<RECORD>,\n) : Promise<Query> {\n const normalized = isObject(input) || typeof input === 'string' ? input : {};\n\n const parsed = await queryCodec.decodeAsync(normalized, {\n // Schema<RECORD> is invariant; the codec's non-generic options\n // accept Schema<ObjectLiteral>, so collapse the variance here.\n schema: options.schema as Schema<any> | string,\n parameters: options.parameters,\n context: { actor: options.actor } satisfies QueryDecodeContext,\n });\n\n return parsed ?? new Query({});\n}\n\n/**\n * Append server-derived conditions (a route realm, an owner scope, ...)\n * onto a decoded query by AND-wrapping its filter tree. The wrap makes\n * the appended scope non-displaceable: unlike a filters merge (per-field\n * replace, flat-root-AND restriction), a client-sent condition on the\n * same field intersects with the scope instead of replacing it, and\n * compound client trees (`or(...)`) are preserved as-is. Same guarantee\n * class as a mandatory `andWhere` at the repository — expressed once in\n * the IR. Appended conditions do not pass through `decodeQuery`, so the\n * schema allow-lists do not constrain them (server-derived context).\n *\n * Immutable: returns a new `Query` whose filters node is the\n * AND-wrapped successor (`IFilters.and`); every other parameter node is\n * carried over **by reference**, so the input query stays untouched and\n * nothing is copied. The node enumeration mirrors rapiq's\n * `QueryContext` — keep it in sync when the IR gains a parameter.\n */\nexport function appendQueryConditions(query: IQuery, ...conditions: ICondition[]) : Query {\n return new Query({\n fields: query.fields,\n filters: query.filters.and(...conditions),\n relations: query.relations,\n pagination: query.pagination,\n sorts: query.sorts,\n });\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwDA,MAAa4B,iBAAiB,IAAI1B,eAAAA;AAElC,MAAM2B,UAA0B;CAC5BzB;CACAC;CACAC;CACAC;CACAC;CACAC;CACAC;CACAC;CACAC;CACAC;CACAC;CACAC;CACAC;CACAC;CACAC;CACAC;CACAC;CACAC;CACAC;CACAC;CACAC;CACAC;CACAC;CACAC;AACH;AAED,KAAK,MAAMG,UAAUD,SACjBD,eAAeG,IAAID,MAAAA;;;;;GAQvB,MAAaE,aAAahC,eAAe4B,cAAAA;;;;;;;;;;;;;;;GAiBzC,eAAsBK,YAClBC,OACAC,SAAmC;CAEnC,MAAMC,aAAajC,SAAS+B,KAAAA,KAAU,OAAOA,UAAU,WAAWA,QAAQ,CAAC;CAU3E,OAAOG,MARcL,WAAWM,YAAYF,YAAY;EAGpDN,QAAQK,QAAQL;EAChBS,YAAYJ,QAAQI;EACpBC,SAAS,EAAEC,OAAON,QAAQM,MAAM;CACpC,CAAA,KAEiB,IAAIxC,MAAM,CAAC,CAAA;AAChC;;;;;;;;;;;;;;;;;GAmBA,SAAgByC,sBAAsBC,OAAe,GAAGC,YAAwB;CAC5E,OAAO,IAAI3C,MAAM;EACb4C,QAAQF,MAAME;EACdC,SAASH,MAAMG,QAAQC,IAAG,GAAIH,UAAAA;EAC9BI,WAAWL,MAAMK;EACjBC,YAAYN,MAAMM;EAClBC,OAAOP,MAAMO;CACjB,CAAA;AACJ"}
1
+ {"version":3,"file":"module.mjs","names":["createURLCodec","Query","SchemaRegistry","isObject","clientSchema","clientPermissionSchema","clientRoleSchema","clientScopeSchema","consentSchema","eventSchema","identityProviderSchema","identityProviderAccountSchema","identityProviderRoleMappingSchema","keySchema","permissionSchema","permissionPolicySchema","policySchema","realmSchema","roleSchema","roleAttributeSchema","rolePermissionSchema","scopeSchema","sessionSchema","sessionTokenSchema","trustAnchorSchema","userSchema","userAttributeSchema","userAuthenticatorSchema","userPermissionSchema","userRoleSchema","schemaRegistry","schemas","schema","add","queryCodec","decodeQuery","input","options","normalized","parsed","decodeAsync","parameters","context","actor","appendQueryConditions","query","conditions","fields","filters","and","relations","pagination","sorts"],"sources":["../../../src/core/query/module.ts"],"sourcesContent":["/*\n * Copyright (c) 2026.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { createURLCodec } from '@rapiq/codec-url';\nimport type {\n ICondition,\n IQuery,\n ObjectLiteral,\n Schema,\n} from '@rapiq/core';\nimport { Query, SchemaRegistry, isObject } from '@rapiq/core';\nimport { clientSchema } from '../entities/client/schema.ts';\nimport { clientPermissionSchema } from '../entities/client-permission/schema.ts';\nimport { clientRoleSchema } from '../entities/client-role/schema.ts';\nimport { clientScopeSchema } from '../entities/client-scope/schema.ts';\nimport { consentSchema } from '../entities/consent/schema.ts';\nimport { eventSchema } from '../entities/event/schema.ts';\nimport { identityProviderSchema } from '../entities/identity-provider/schema.ts';\nimport { identityProviderAccountSchema } from '../entities/identity-provider-account/schema.ts';\nimport { identityProviderRoleMappingSchema } from '../entities/identity-provider-role-mapping/schema.ts';\nimport { keySchema } from '../entities/key/schema.ts';\nimport { permissionSchema } from '../entities/permission/schema.ts';\nimport { permissionPolicySchema } from '../entities/permission-policy/schema.ts';\nimport { policySchema } from '../entities/policy/schema.ts';\nimport { realmSchema } from '../entities/realm/schema.ts';\nimport { roleSchema } from '../entities/role/schema.ts';\nimport { roleAttributeSchema } from '../entities/role-attribute/schema.ts';\nimport { rolePermissionSchema } from '../entities/role-permission/schema.ts';\nimport { scopeSchema } from '../entities/scope/schema.ts';\nimport { sessionSchema } from '../entities/session/schema.ts';\nimport { sessionTokenSchema } from '../entities/session-token/schema.ts';\nimport { trustAnchorSchema } from '../entities/trust-anchor/schema.ts';\nimport { userSchema } from '../entities/user/schema.ts';\nimport { userAttributeSchema } from '../entities/user-attribute/schema.ts';\nimport { userAuthenticatorSchema } from '../entities/user-authenticator/schema.ts';\nimport { userPermissionSchema } from '../entities/user-permission/schema.ts';\nimport { userRoleSchema } from '../entities/user-role/schema.ts';\nimport type { DecodeQueryOptions, QueryDecodeContext } from './types.ts';\n\n/**\n * Registry of every entity schema — the server-side allow-list layer.\n * Relation traversal (e.g. a `realm.name` filter) resolves through the\n * `schemaMapping` of the owning schema into the related schema's own\n * allow-lists.\n *\n * The registry deliberately lives in core (persistence-agnostic): the\n * schemas are security policy over the domain types, and services\n * consume them to decode wire queries into the rapiq IR. A repository\n * layer MAY extend the registry with additional, storage-derived\n * schemas (e.g. `@rapiq/adapter-typeorm`'s `defineSchemaRegistryWithDataSource`\n * with the `registry` option — already-registered schemas take\n * precedence), but the allow-lists themselves stay explicit and are\n * never auto-derived from entity metadata.\n */\nexport const schemaRegistry = new SchemaRegistry();\n\n/**\n * Every registered entity schema. Exported so the invariant guard can\n * enumerate them: `SchemaRegistry` keeps its map protected and exposes\n * no iterator (tada5hi/rapiq#904).\n */\nexport const schemas : Schema<any>[] = [\n clientSchema,\n clientPermissionSchema,\n clientRoleSchema,\n clientScopeSchema,\n consentSchema,\n eventSchema,\n identityProviderSchema,\n identityProviderAccountSchema,\n identityProviderRoleMappingSchema,\n keySchema,\n permissionSchema,\n permissionPolicySchema,\n policySchema,\n realmSchema,\n roleSchema,\n roleAttributeSchema,\n rolePermissionSchema,\n scopeSchema,\n sessionSchema,\n sessionTokenSchema,\n trustAnchorSchema,\n userSchema,\n userAttributeSchema,\n userAuthenticatorSchema,\n userPermissionSchema,\n userRoleSchema,\n];\n\nfor (const schema of schemas) {\n schemaRegistry.add(schema);\n}\n\n/**\n * URL transport codec bound to the schema registry: decodes both the\n * v2 expression dialect (stamped or detected) and legacy v1 bracket\n * payloads, so pre-v2 clients keep working.\n */\nexport const queryCodec = createURLCodec(schemaRegistry);\n\n/**\n * Decode a raw wire query (routup `useRequestQuery` output or a raw\n * query string) against a registered schema into the rapiq IR. The\n * schema's allow-lists, defaults and pagination bounds are applied\n * here — downstream consumers (repository adapters) only execute the\n * returned query.\n *\n * Async because the schema validate hooks are: the relations read\n * gate (`createRelationsReadGate`) awaits the actor's permission\n * pre-gate per include, and rapiq refuses async validators on the\n * synchronous decode path. Pass the acting identity via\n * `options.actor` on every request-driven decode (authenticated or\n * anonymous — the HTTP adapter always builds one); a decode without\n * an actor is a system call and runs unrestricted.\n */\nexport async function decodeQuery<RECORD extends ObjectLiteral = ObjectLiteral>(\n input: unknown,\n options: DecodeQueryOptions<RECORD>,\n) : Promise<Query> {\n const normalized = isObject(input) || typeof input === 'string' ? input : {};\n\n const parsed = await queryCodec.decodeAsync(normalized, {\n // Schema<RECORD> is invariant; the codec's non-generic options\n // accept Schema<ObjectLiteral>, so collapse the variance here.\n schema: options.schema as Schema<any> | string,\n parameters: options.parameters,\n context: { actor: options.actor } satisfies QueryDecodeContext,\n });\n\n return parsed ?? new Query({});\n}\n\n/**\n * Append server-derived conditions (a route realm, an owner scope, ...)\n * onto a decoded query by AND-wrapping its filter tree. A client-sent\n * condition on the same field intersects with the scope instead of\n * replacing it, and compound client trees (`or(...)`) are preserved\n * as-is. Same guarantee class as a mandatory `andWhere` at the\n * repository — expressed once in the IR. Appended conditions do not\n * pass through `decodeQuery`, so the schema allow-lists do not\n * constrain them (server-derived context).\n *\n * Immutable: returns a new `Query` whose filters node is the\n * AND-wrapped successor (`IFilters.and`); every other parameter node is\n * carried over **by reference**, so the input query stays untouched and\n * nothing is copied. The node enumeration mirrors rapiq's\n * `QueryContext` — keep it in sync when the IR gains a parameter.\n *\n * Non-displaceability is structural since rapiq beta.19\n * (tada5hi/rapiq#890): filter composition is conjunctive throughout, so\n * no later composition step can drop a conjunct and the appended scope\n * needs no marker to survive.\n */\nexport function appendQueryConditions(query: IQuery, ...conditions: ICondition[]) : Query {\n return new Query({\n fields: query.fields,\n filters: query.filters.and(...conditions),\n relations: query.relations,\n pagination: query.pagination,\n sorts: query.sorts,\n });\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0DA,MAAa8B,iBAAiB,IAAI5B,eAAAA;;;;;GAOlC,MAAa6B,UAA0B;CACnC3B;CACAC;CACAC;CACAC;CACAC;CACAC;CACAC;CACAC;CACAC;CACAC;CACAC;CACAC;CACAC;CACAC;CACAC;CACAC;CACAC;CACAC;CACAC;CACAC;CACAC;CACAC;CACAC;CACAC;CACAC;CACAC;AACH;AAED,KAAK,MAAMG,UAAUD,SACjBD,eAAeG,IAAID,MAAAA;;;;;GAQvB,MAAaE,aAAalC,eAAe8B,cAAAA;;;;;;;;;;;;;;;GAiBzC,eAAsBK,YAClBC,OACAC,SAAmC;CAEnC,MAAMC,aAAanC,SAASiC,KAAAA,KAAU,OAAOA,UAAU,WAAWA,QAAQ,CAAC;CAU3E,OAAOG,MARcL,WAAWM,YAAYF,YAAY;EAGpDN,QAAQK,QAAQL;EAChBS,YAAYJ,QAAQI;EACpBC,SAAS,EAAEC,OAAON,QAAQM,MAAM;CACpC,CAAA,KAEiB,IAAI1C,MAAM,CAAC,CAAA;AAChC;;;;;;;;;;;;;;;;;;;;;GAuBA,SAAgB2C,sBAAsBC,OAAe,GAAGC,YAAwB;CAC5E,OAAO,IAAI7C,MAAM;EACb8C,QAAQF,MAAME;EACdC,SAASH,MAAMG,QAAQC,IAAG,GAAIH,UAAAA;EAC9BI,WAAWL,MAAMK;EACjBC,YAAYN,MAAMM;EAClBC,OAAOP,MAAMO;CACjB,CAAA;AACJ"}
package/dist/index.mjs CHANGED
@@ -3,7 +3,7 @@ import "node:url";
3
3
  import.meta.url;
4
4
  import { AuthenticationInjectionKey } from "./app/modules/authentication/constants.mjs";
5
5
  import { dateToISOStringTransformer } from "./adapters/database/helpers/date.mjs";
6
- import { isDatabaseTypeSupported, isDatabaseTypeSupportedForEnvironment } from "./adapters/database/helpers/is-supported.mjs";
6
+ import { isDatabaseTypeRowLockable, isDatabaseTypeSupported, isDatabaseTypeSupportedForEnvironment } from "./adapters/database/helpers/is-supported.mjs";
7
7
  import { RealmEntity } from "./adapters/database/domains/realm/entity.mjs";
8
8
  import { RealmRepository } from "./adapters/database/domains/realm/repository.mjs";
9
9
  import { EntitySubscriber, buildEntityDestinations } from "./adapters/database/subscriber/module.mjs";
@@ -94,7 +94,7 @@ import { AuthenticationModule } from "./app/modules/authentication/module.mjs";
94
94
  import { DatabaseQueryResultCache } from "./adapters/database/cache/module.mjs";
95
95
  import { DataSourceOptionsBuilder } from "./adapters/database/data-source/options/module.mjs";
96
96
  import { DatabaseConflictError } from "./adapters/database/errors/conflict.mjs";
97
- import { getDatabaseDriverErrorCode, isUniqueConstraintDatabaseError } from "./adapters/database/errors/driver.mjs";
97
+ import { getDatabaseDriverErrorCode, isForeignKeyConstraintDatabaseError, isUniqueConstraintDatabaseError } from "./adapters/database/errors/driver.mjs";
98
98
  import "./adapters/database/index.mjs";
99
99
  import { RealmRepositoryAdapter } from "./app/modules/database/repositories/realm/repository.mjs";
100
100
  import { ClientRepositoryAdapter } from "./app/modules/database/repositories/client/repository.mjs";
@@ -103,6 +103,7 @@ import { ClientRoleRepositoryAdapter } from "./app/modules/database/repositories
103
103
  import { ClientScopeRepositoryAdapter } from "./app/modules/database/repositories/client-scope/repository.mjs";
104
104
  import { EventRepositoryAdapter } from "./app/modules/database/repositories/event/repository.mjs";
105
105
  import { IdentityProviderRepositoryAdapter } from "./app/modules/database/repositories/identity-provider/repository.mjs";
106
+ import { IdentityProviderAccountRepositoryAdapter } from "./app/modules/database/repositories/identity-provider-account/repository.mjs";
106
107
  import { KeyRepositoryAdapter } from "./app/modules/database/repositories/key/repository.mjs";
107
108
  import { PermissionRepositoryAdapter } from "./app/modules/database/repositories/permission/repository.mjs";
108
109
  import { PermissionPolicyRepositoryAdapter } from "./app/modules/database/repositories/permission-policy/repository.mjs";
@@ -163,6 +164,7 @@ import { ClientScopeRequestValidator } from "./adapters/http/controllers/entitie
163
164
  import { ConsentController } from "./adapters/http/controllers/entities/consent/module.mjs";
164
165
  import { EventController } from "./adapters/http/controllers/entities/event/module.mjs";
165
166
  import { IdentityProviderController } from "./adapters/http/controllers/entities/identity-provider/module.mjs";
167
+ import { IdentityProviderAccountController } from "./adapters/http/controllers/entities/identity-provider-account/module.mjs";
166
168
  import { IdentityProviderRoleMappingController } from "./adapters/http/controllers/entities/identity-provide-role/module.mjs";
167
169
  import { KeyController } from "./adapters/http/controllers/entities/key/module.mjs";
168
170
  import { PermissionController } from "./adapters/http/controllers/entities/permission/module.mjs";
@@ -192,6 +194,7 @@ import { PolicyAttributesValidator } from "./adapters/http/controllers/entities/
192
194
  import { PolicyValidator } from "./adapters/http/controllers/entities/policy/utils/validation.mjs";
193
195
  import { ScopeController } from "./adapters/http/controllers/entities/scope/module.mjs";
194
196
  import { SessionController } from "./adapters/http/controllers/entities/session/module.mjs";
197
+ import { SessionTokenController } from "./adapters/http/controllers/entities/session-token/module.mjs";
195
198
  import { TrustAnchorController } from "./adapters/http/controllers/entities/trust-anchor/module.mjs";
196
199
  import { UserController } from "./adapters/http/controllers/entities/user/module.mjs";
197
200
  import { UserAttributeController } from "./adapters/http/controllers/entities/user-attribute/module.mjs";
@@ -204,10 +207,11 @@ import { UserRoleRequestValidator } from "./adapters/http/controllers/entities/u
204
207
  import "./adapters/http/index.mjs";
205
208
  import { OAuth2InjectionToken } from "./app/modules/oauth2/constants.mjs";
206
209
  import { IdentityInjectionKey } from "./app/modules/identity/constants.mjs";
207
- import { IdentityProviderAccountRepository } from "./app/modules/identity/repositories/provider/account/module.mjs";
208
210
  import { IdentityProviderAttributeMappingRepository } from "./app/modules/identity/repositories/provider/mapper/attribute.mjs";
209
211
  import { IdentityProviderPermissionMappingRepository } from "./app/modules/identity/repositories/provider/mapper/permission.mjs";
210
212
  import { IdentityProviderRoleMappingRepository } from "./app/modules/identity/repositories/provider/mapper/role.mjs";
213
+ import { CacheIdentityPrefix } from "./app/modules/identity/repositories/constants.mjs";
214
+ import { IdentityProviderAccountLinkStore } from "./app/modules/identity/repositories/provider/link.mjs";
211
215
  import { ClientIdentityRepository } from "./app/modules/identity/repositories/client.mjs";
212
216
  import { UserIdentityRepository } from "./app/modules/identity/repositories/user.mjs";
213
217
  import { LDAPInjectionKey } from "./app/modules/ldap/constants.mjs";
@@ -232,4 +236,4 @@ import { defineCLIMigrationCommand } from "./cli/commands/migration.mjs";
232
236
  import { defineCLIStartCommand } from "./cli/commands/start.mjs";
233
237
  import "./cli/commands/index.mjs";
234
238
  import "reflect-metadata";
235
- export { AccountController, ActivateController, ApplicationBuilder, AuthenticationInjectionKey, AuthenticationModule, AuthenticatorChallengeController, AuthorizationMiddleware, AuthorizeController, CERTIFICATE_SOURCES, CacheInjectionKey, CacheModule, CachePrefix, ClientController, ClientEntity, ClientIdentityRepository, ClientPermissionController, ClientPermissionEntity, ClientPermissionRepositoryAdapter, ClientPermissionRequestValidator, ClientPermissionSubscriber, ClientRepositoryAdapter, ClientRoleController, ClientRoleEntity, ClientRoleRepositoryAdapter, ClientRoleRequestValidator, ClientRoleSubscriber, ClientScopeController, ClientScopeEntity, ClientScopeRepositoryAdapter, ClientScopeRequestValidator, ClientScopeSubscriber, ClientSubscriber, ComponentsModule, CompositeProvisioningSource, ConfigEnvironmentVariableName, ConfigInjectionKey, ConfigModule, ConsentController, ConsentEntity, ConsentEntitySubscriber, DataSourceOptionsBuilder, DatabaseConflictError, DatabaseInjectionKey, DatabaseModule, DatabaseQueryResultCache, DefaultProvisioningSource, EntitySubscriber, EventController, EventEntity, EventRepositoryAdapter, FileProvisioningSource, ForceLoggedInMiddleware, ForceUserLoggedInMiddleware, HTTPClientCredentialsGrant, HTTPInjectionKey, HTTPModule, HTTPOAuth2AuthorizeGrant, HTTPOAuth2Authorizer, HTTPOAuth2IdentityGrantType, HTTPOAuth2RefreshTokenGrant, HTTPPasswordGrant, IdentityInjectionKey, IdentityModule, IdentityProviderAccountEntity, IdentityProviderAccountRepository, IdentityProviderAccountSubscriber, IdentityProviderAttributeEntity, IdentityProviderAttributeMappingEntity, IdentityProviderAttributeMappingRepository, IdentityProviderAttributeSubscriber, IdentityProviderController, IdentityProviderEntity, IdentityProviderPermissionMappingEntity, IdentityProviderPermissionMappingRepository, IdentityProviderRepository, IdentityProviderRepositoryAdapter, IdentityProviderRoleMappingController, IdentityProviderRoleMappingEntity, IdentityProviderRoleMappingRepository, IdentityProviderRoleMappingRepositoryAdapter, IdentityProviderRoleSubscriber, IdentityProviderSubscriber, JwkController, KeyController, KeyEntity, KeyRepositoryAdapter, LDAPInjectionKey, LOCALE_COOKIE, LazyWildcardRealmProvisioner, LdapModule, LoggerInjectionKey, LoggerModule, LogoutController, MailInjectionKey, MailModule, MailTemplateRendererInjectionKey, MetricsInjectionKey, ModuleName, OAuth2InjectionToken, OAuth2Module, OpenIDController, PasswordForgotController, PasswordResetController, PermissionController, PermissionDatabaseProvider, PermissionEntity, PermissionPolicyController, PermissionPolicyEntity, PermissionPolicyRepositoryAdapter, PermissionRepositoryAdapter, PermissionSubscriber, PolicyAttributeEntity, PolicyAttributeSubscriber, PolicyAttributesValidator, PolicyController, PolicyEntity, PolicyRepository, PolicyRepositoryAdapter, PolicySubscriber, PolicyValidator, PromAuthFlowMetrics, ProvisionerModule, ProvisioningInjectionKey, RealmController, RealmEntity, RealmRepository, RealmRepositoryAdapter, RealmResolverMiddleware, RealmSubscriber, RegisterController, RequestHandlerOperation, RequestIdentity, RequestPermissionEvaluator, RoleAttributeController, RoleAttributeEntity, RoleAttributeRepositoryAdapter, RoleAttributeRequestValidator, RoleAttributeSubscriber, RoleController, RoleEntity, RolePermissionController, RolePermissionEntity, RolePermissionRepositoryAdapter, RolePermissionRequestValidator, RolePermissionSubscriber, RoleRepository, RoleRepositoryAdapter, RoleSubscriber, RuntimeModule, ScopeController, ScopeEntity, ScopeRepositoryAdapter, ScopeSubscriber, SessionController, SessionEntity, SessionRepository, SessionTokenEntity, StatusController, THEME_STORE_KEY, TokenController, TrustAnchorController, TrustAnchorEntity, TrustAnchorRepositoryAdapter, UI_HTTP_CLIENT_FACTORY_STORE_KEY, UserAttributeController, UserAttributeEntity, UserAttributeRepositoryAdapter, UserAttributeRequestValidator, UserAttributeSubscriber, UserAuthenticatorController, UserAuthenticatorEntity, UserAuthenticatorRepositoryAdapter, UserController, UserEntity, UserIdentityRepository, UserInfoController, UserPermissionController, UserPermissionEntity, UserPermissionRepositoryAdapter, UserPermissionRequestValidator, UserPermissionSubscriber, UserRepository, UserRepositoryAdapter, UserRoleController, UserRoleEntity, UserRoleRepositoryAdapter, UserRoleRequestValidator, UserRoleSubscriber, UserSubscriber, VITE_SERVER_STORE_KEY, applyRouteRealmIDToBody, buildActorContext, buildEntityDestinations, createApplication, createAuthorizationMiddleware, createLoggerMiddleware, createRealmResolverMiddleware, createRequestEventContextMiddleware, createRouteTemplateNormalizePath, createSwaggerMiddleware, dateToISOStringTransformer, defineCLIHealthCheckCommand, defineCLIMigrationCommand, defineCLIStartCommand, expandToOrigins, extractClientCertificateEvidence, extractClientCredentialsFromRequest, extractOAuth2ClientCertificateEvidence, getAppOrigins, getBodyRealmID, getDatabaseDriverErrorCode, getJwkRouteHandler, getJwksRouteHandler, getRequestParamID, getRequestRealmID, getRequestStringParam, getRequestStringParamOrFail, guessOauth2GrantTypeByRequest, isDatabaseTypeSupported, isDatabaseTypeSupportedForEnvironment, isUniqueConstraintDatabaseError, readConfig, readConfigRaw, readConfigRawFromEnv, readConfigRawFromFS, readFromLocations, readRealmHint, readStringField, redactSensitiveURLParams, registerAssetsMiddleware, registerBasicMiddleware, registerCorsMiddleware, registerErrorMiddleware, registerPrometheusMiddleware, registerRateLimitMiddleware, registerThemeMiddleware, registerUIHttpClientMiddleware, runWithRequestEventContext, sanitizeRelativeRedirect, setRequestIdentity, setRequestMfaLoginTicket, setRequestPermissionEvaluator, setRequestRealmID, setRequestScopes, setRequestSessionId, setRequestToken, useRequestEventContext, useRequestIdentity, useRequestIdentityOrFail, useRequestLocale, useRequestMfaLoginTicket, useRequestParamID, useRequestPermissionEvaluator, useRequestScopes, useRequestSessionId, useRequestTheme, useRequestToken };
239
+ export { AccountController, ActivateController, ApplicationBuilder, AuthenticationInjectionKey, AuthenticationModule, AuthenticatorChallengeController, AuthorizationMiddleware, AuthorizeController, CERTIFICATE_SOURCES, CacheIdentityPrefix, CacheInjectionKey, CacheModule, CachePrefix, ClientController, ClientEntity, ClientIdentityRepository, ClientPermissionController, ClientPermissionEntity, ClientPermissionRepositoryAdapter, ClientPermissionRequestValidator, ClientPermissionSubscriber, ClientRepositoryAdapter, ClientRoleController, ClientRoleEntity, ClientRoleRepositoryAdapter, ClientRoleRequestValidator, ClientRoleSubscriber, ClientScopeController, ClientScopeEntity, ClientScopeRepositoryAdapter, ClientScopeRequestValidator, ClientScopeSubscriber, ClientSubscriber, ComponentsModule, CompositeProvisioningSource, ConfigEnvironmentVariableName, ConfigInjectionKey, ConfigModule, ConsentController, ConsentEntity, ConsentEntitySubscriber, DataSourceOptionsBuilder, DatabaseConflictError, DatabaseInjectionKey, DatabaseModule, DatabaseQueryResultCache, DefaultProvisioningSource, EntitySubscriber, EventController, EventEntity, EventRepositoryAdapter, FileProvisioningSource, ForceLoggedInMiddleware, ForceUserLoggedInMiddleware, HTTPClientCredentialsGrant, HTTPInjectionKey, HTTPModule, HTTPOAuth2AuthorizeGrant, HTTPOAuth2Authorizer, HTTPOAuth2IdentityGrantType, HTTPOAuth2RefreshTokenGrant, HTTPPasswordGrant, IdentityInjectionKey, IdentityModule, IdentityProviderAccountController, IdentityProviderAccountEntity, IdentityProviderAccountLinkStore, IdentityProviderAccountRepositoryAdapter, IdentityProviderAccountSubscriber, IdentityProviderAttributeEntity, IdentityProviderAttributeMappingEntity, IdentityProviderAttributeMappingRepository, IdentityProviderAttributeSubscriber, IdentityProviderController, IdentityProviderEntity, IdentityProviderPermissionMappingEntity, IdentityProviderPermissionMappingRepository, IdentityProviderRepository, IdentityProviderRepositoryAdapter, IdentityProviderRoleMappingController, IdentityProviderRoleMappingEntity, IdentityProviderRoleMappingRepository, IdentityProviderRoleMappingRepositoryAdapter, IdentityProviderRoleSubscriber, IdentityProviderSubscriber, JwkController, KeyController, KeyEntity, KeyRepositoryAdapter, LDAPInjectionKey, LOCALE_COOKIE, LazyWildcardRealmProvisioner, LdapModule, LoggerInjectionKey, LoggerModule, LogoutController, MailInjectionKey, MailModule, MailTemplateRendererInjectionKey, MetricsInjectionKey, ModuleName, OAuth2InjectionToken, OAuth2Module, OpenIDController, PasswordForgotController, PasswordResetController, PermissionController, PermissionDatabaseProvider, PermissionEntity, PermissionPolicyController, PermissionPolicyEntity, PermissionPolicyRepositoryAdapter, PermissionRepositoryAdapter, PermissionSubscriber, PolicyAttributeEntity, PolicyAttributeSubscriber, PolicyAttributesValidator, PolicyController, PolicyEntity, PolicyRepository, PolicyRepositoryAdapter, PolicySubscriber, PolicyValidator, PromAuthFlowMetrics, ProvisionerModule, ProvisioningInjectionKey, RealmController, RealmEntity, RealmRepository, RealmRepositoryAdapter, RealmResolverMiddleware, RealmSubscriber, RegisterController, RequestHandlerOperation, RequestIdentity, RequestPermissionEvaluator, RoleAttributeController, RoleAttributeEntity, RoleAttributeRepositoryAdapter, RoleAttributeRequestValidator, RoleAttributeSubscriber, RoleController, RoleEntity, RolePermissionController, RolePermissionEntity, RolePermissionRepositoryAdapter, RolePermissionRequestValidator, RolePermissionSubscriber, RoleRepository, RoleRepositoryAdapter, RoleSubscriber, RuntimeModule, ScopeController, ScopeEntity, ScopeRepositoryAdapter, ScopeSubscriber, SessionController, SessionEntity, SessionRepository, SessionTokenController, SessionTokenEntity, StatusController, THEME_STORE_KEY, TokenController, TrustAnchorController, TrustAnchorEntity, TrustAnchorRepositoryAdapter, UI_HTTP_CLIENT_FACTORY_STORE_KEY, UserAttributeController, UserAttributeEntity, UserAttributeRepositoryAdapter, UserAttributeRequestValidator, UserAttributeSubscriber, UserAuthenticatorController, UserAuthenticatorEntity, UserAuthenticatorRepositoryAdapter, UserController, UserEntity, UserIdentityRepository, UserInfoController, UserPermissionController, UserPermissionEntity, UserPermissionRepositoryAdapter, UserPermissionRequestValidator, UserPermissionSubscriber, UserRepository, UserRepositoryAdapter, UserRoleController, UserRoleEntity, UserRoleRepositoryAdapter, UserRoleRequestValidator, UserRoleSubscriber, UserSubscriber, VITE_SERVER_STORE_KEY, applyRouteRealmIDToBody, buildActorContext, buildEntityDestinations, createApplication, createAuthorizationMiddleware, createLoggerMiddleware, createRealmResolverMiddleware, createRequestEventContextMiddleware, createRouteTemplateNormalizePath, createSwaggerMiddleware, dateToISOStringTransformer, defineCLIHealthCheckCommand, defineCLIMigrationCommand, defineCLIStartCommand, expandToOrigins, extractClientCertificateEvidence, extractClientCredentialsFromRequest, extractOAuth2ClientCertificateEvidence, getAppOrigins, getBodyRealmID, getDatabaseDriverErrorCode, getJwkRouteHandler, getJwksRouteHandler, getRequestParamID, getRequestRealmID, getRequestStringParam, getRequestStringParamOrFail, guessOauth2GrantTypeByRequest, isDatabaseTypeRowLockable, isDatabaseTypeSupported, isDatabaseTypeSupportedForEnvironment, isForeignKeyConstraintDatabaseError, isUniqueConstraintDatabaseError, readConfig, readConfigRaw, readConfigRawFromEnv, readConfigRawFromFS, readFromLocations, readRealmHint, readStringField, redactSensitiveURLParams, registerAssetsMiddleware, registerBasicMiddleware, registerCorsMiddleware, registerErrorMiddleware, registerPrometheusMiddleware, registerRateLimitMiddleware, registerThemeMiddleware, registerUIHttpClientMiddleware, runWithRequestEventContext, sanitizeRelativeRedirect, setRequestIdentity, setRequestMfaLoginTicket, setRequestPermissionEvaluator, setRequestRealmID, setRequestScopes, setRequestSessionId, setRequestToken, useRequestEventContext, useRequestIdentity, useRequestIdentityOrFail, useRequestLocale, useRequestMfaLoginTicket, useRequestParamID, useRequestPermissionEvaluator, useRequestScopes, useRequestSessionId, useRequestTheme, useRequestToken };