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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1541) hide show
  1. package/dist/adapters/database/data-source/options/module.d.ts.map +1 -1
  2. package/dist/adapters/database/data-source/options/module.mjs +18 -21
  3. package/dist/adapters/database/data-source/options/module.mjs.map +1 -1
  4. package/dist/adapters/database/domains/client/entity.d.ts +17 -14
  5. package/dist/adapters/database/domains/client/entity.d.ts.map +1 -1
  6. package/dist/adapters/database/domains/client/entity.mjs +72 -30
  7. package/dist/adapters/database/domains/client/entity.mjs.map +1 -1
  8. package/dist/adapters/database/domains/client/subscriber.mjs +1 -1
  9. package/dist/adapters/database/domains/client/subscriber.mjs.map +1 -1
  10. package/dist/adapters/database/domains/client-permission/entity.d.ts +10 -10
  11. package/dist/adapters/database/domains/client-permission/entity.d.ts.map +1 -1
  12. package/dist/adapters/database/domains/client-permission/entity.mjs +42 -23
  13. package/dist/adapters/database/domains/client-permission/entity.mjs.map +1 -1
  14. package/dist/adapters/database/domains/client-permission/subscriber.mjs +2 -2
  15. package/dist/adapters/database/domains/client-permission/subscriber.mjs.map +1 -1
  16. package/dist/adapters/database/domains/client-role/entity.d.ts +8 -8
  17. package/dist/adapters/database/domains/client-role/entity.d.ts.map +1 -1
  18. package/dist/adapters/database/domains/client-role/entity.mjs +29 -17
  19. package/dist/adapters/database/domains/client-role/entity.mjs.map +1 -1
  20. package/dist/adapters/database/domains/client-role/subscriber.mjs +2 -2
  21. package/dist/adapters/database/domains/client-role/subscriber.mjs.map +1 -1
  22. package/dist/adapters/database/domains/client-scope/entity.d.ts +8 -8
  23. package/dist/adapters/database/domains/client-scope/entity.d.ts.map +1 -1
  24. package/dist/adapters/database/domains/client-scope/entity.mjs +29 -17
  25. package/dist/adapters/database/domains/client-scope/entity.mjs.map +1 -1
  26. package/dist/adapters/database/domains/consent/entity.d.ts +20 -0
  27. package/dist/adapters/database/domains/consent/entity.d.ts.map +1 -0
  28. package/dist/adapters/database/domains/consent/entity.mjs +125 -0
  29. package/dist/adapters/database/domains/consent/entity.mjs.map +1 -0
  30. package/dist/adapters/database/domains/consent/index.d.ts.map +1 -0
  31. package/dist/adapters/database/domains/consent/index.mjs +6 -0
  32. package/dist/adapters/database/domains/consent/subscriber.d.ts +6 -0
  33. package/dist/adapters/database/domains/consent/subscriber.d.ts.map +1 -0
  34. package/dist/adapters/database/domains/{robot-role → consent}/subscriber.mjs +11 -11
  35. package/dist/adapters/database/domains/consent/subscriber.mjs.map +1 -0
  36. package/dist/adapters/database/domains/constants.d.ts +1 -3
  37. package/dist/adapters/database/domains/constants.d.ts.map +1 -1
  38. package/dist/adapters/database/domains/constants.mjs +1 -3
  39. package/dist/adapters/database/domains/constants.mjs.map +1 -1
  40. package/dist/adapters/database/domains/event/entity.d.ts +22 -0
  41. package/dist/adapters/database/domains/event/entity.d.ts.map +1 -0
  42. package/dist/adapters/database/domains/event/entity.mjs +189 -0
  43. package/dist/adapters/database/domains/event/entity.mjs.map +1 -0
  44. package/dist/adapters/database/domains/event/index.d.ts +2 -0
  45. package/dist/adapters/database/domains/event/index.d.ts.map +1 -0
  46. package/dist/adapters/database/domains/event/index.mjs +5 -0
  47. package/dist/adapters/database/domains/identity-provider/entity.d.ts +4 -4
  48. package/dist/adapters/database/domains/identity-provider/entity.d.ts.map +1 -1
  49. package/dist/adapters/database/domains/identity-provider/entity.mjs +17 -10
  50. package/dist/adapters/database/domains/identity-provider/entity.mjs.map +1 -1
  51. package/dist/adapters/database/domains/identity-provider/repository.mjs +3 -3
  52. package/dist/adapters/database/domains/identity-provider/repository.mjs.map +1 -1
  53. package/dist/adapters/database/domains/identity-provider/subscriber.mjs +1 -1
  54. package/dist/adapters/database/domains/identity-provider/subscriber.mjs.map +1 -1
  55. package/dist/adapters/database/domains/identity-provider-account/entity.d.ts +15 -15
  56. package/dist/adapters/database/domains/identity-provider-account/entity.d.ts.map +1 -1
  57. package/dist/adapters/database/domains/identity-provider-account/entity.mjs +52 -33
  58. package/dist/adapters/database/domains/identity-provider-account/entity.mjs.map +1 -1
  59. package/dist/adapters/database/domains/identity-provider-attribute/entity.d.ts +4 -4
  60. package/dist/adapters/database/domains/identity-provider-attribute/entity.d.ts.map +1 -1
  61. package/dist/adapters/database/domains/identity-provider-attribute/entity.mjs +18 -9
  62. package/dist/adapters/database/domains/identity-provider-attribute/entity.mjs.map +1 -1
  63. package/dist/adapters/database/domains/identity-provider-attribute-mapping/entity.d.ts +9 -9
  64. package/dist/adapters/database/domains/identity-provider-attribute-mapping/entity.d.ts.map +1 -1
  65. package/dist/adapters/database/domains/identity-provider-attribute-mapping/entity.mjs +29 -19
  66. package/dist/adapters/database/domains/identity-provider-attribute-mapping/entity.mjs.map +1 -1
  67. package/dist/adapters/database/domains/identity-provider-permission-mapping/entity.d.ts +10 -10
  68. package/dist/adapters/database/domains/identity-provider-permission-mapping/entity.d.ts.map +1 -1
  69. package/dist/adapters/database/domains/identity-provider-permission-mapping/entity.mjs +32 -21
  70. package/dist/adapters/database/domains/identity-provider-permission-mapping/entity.mjs.map +1 -1
  71. package/dist/adapters/database/domains/identity-provider-role-mapping/entity.d.ts +10 -10
  72. package/dist/adapters/database/domains/identity-provider-role-mapping/entity.d.ts.map +1 -1
  73. package/dist/adapters/database/domains/identity-provider-role-mapping/entity.mjs +32 -21
  74. package/dist/adapters/database/domains/identity-provider-role-mapping/entity.mjs.map +1 -1
  75. package/dist/adapters/database/domains/identity-provider-role-mapping/subscriber.mjs +1 -1
  76. package/dist/adapters/database/domains/identity-provider-role-mapping/subscriber.mjs.map +1 -1
  77. package/dist/adapters/database/domains/index.d.ts +4 -3
  78. package/dist/adapters/database/domains/index.d.ts.map +1 -1
  79. package/dist/adapters/database/domains/index.mjs +24 -24
  80. package/dist/adapters/database/domains/key/entity.d.ts +12 -8
  81. package/dist/adapters/database/domains/key/entity.d.ts.map +1 -1
  82. package/dist/adapters/database/domains/key/entity.mjs +56 -21
  83. package/dist/adapters/database/domains/key/entity.mjs.map +1 -1
  84. package/dist/adapters/database/domains/permission/entity.d.ts +7 -7
  85. package/dist/adapters/database/domains/permission/entity.d.ts.map +1 -1
  86. package/dist/adapters/database/domains/permission/entity.mjs +33 -18
  87. package/dist/adapters/database/domains/permission/entity.mjs.map +1 -1
  88. package/dist/adapters/database/domains/permission/subscriber.mjs +2 -2
  89. package/dist/adapters/database/domains/permission/subscriber.mjs.map +1 -1
  90. package/dist/adapters/database/domains/permission-policy/entity.d.ts +8 -8
  91. package/dist/adapters/database/domains/permission-policy/entity.d.ts.map +1 -1
  92. package/dist/adapters/database/domains/permission-policy/entity.mjs +31 -19
  93. package/dist/adapters/database/domains/permission-policy/entity.mjs.map +1 -1
  94. package/dist/adapters/database/domains/policy/entity.d.ts +6 -6
  95. package/dist/adapters/database/domains/policy/entity.d.ts.map +1 -1
  96. package/dist/adapters/database/domains/policy/entity.mjs +28 -14
  97. package/dist/adapters/database/domains/policy/entity.mjs.map +1 -1
  98. package/dist/adapters/database/domains/policy/repository.d.ts.map +1 -1
  99. package/dist/adapters/database/domains/policy/repository.mjs +6 -6
  100. package/dist/adapters/database/domains/policy/repository.mjs.map +1 -1
  101. package/dist/adapters/database/domains/policy-attribute/entity.d.ts +4 -4
  102. package/dist/adapters/database/domains/policy-attribute/entity.d.ts.map +1 -1
  103. package/dist/adapters/database/domains/policy-attribute/entity.mjs +18 -9
  104. package/dist/adapters/database/domains/policy-attribute/entity.mjs.map +1 -1
  105. package/dist/adapters/database/domains/policy-attribute/subscriber.mjs +2 -2
  106. package/dist/adapters/database/domains/policy-attribute/subscriber.mjs.map +1 -1
  107. package/dist/adapters/database/domains/realm/entity.d.ts +4 -4
  108. package/dist/adapters/database/domains/realm/entity.d.ts.map +1 -1
  109. package/dist/adapters/database/domains/realm/entity.mjs +16 -8
  110. package/dist/adapters/database/domains/realm/entity.mjs.map +1 -1
  111. package/dist/adapters/database/domains/role/entity.d.ts +6 -6
  112. package/dist/adapters/database/domains/role/entity.d.ts.map +1 -1
  113. package/dist/adapters/database/domains/role/entity.mjs +30 -16
  114. package/dist/adapters/database/domains/role/entity.mjs.map +1 -1
  115. package/dist/adapters/database/domains/role/repository.mjs +4 -4
  116. package/dist/adapters/database/domains/role/repository.mjs.map +1 -1
  117. package/dist/adapters/database/domains/role/subscriber.mjs +1 -1
  118. package/dist/adapters/database/domains/role/subscriber.mjs.map +1 -1
  119. package/dist/adapters/database/domains/role-attribute/entity.d.ts +4 -4
  120. package/dist/adapters/database/domains/role-attribute/entity.d.ts.map +1 -1
  121. package/dist/adapters/database/domains/role-attribute/entity.mjs +18 -9
  122. package/dist/adapters/database/domains/role-attribute/entity.mjs.map +1 -1
  123. package/dist/adapters/database/domains/role-attribute/subscriber.mjs +2 -2
  124. package/dist/adapters/database/domains/role-attribute/subscriber.mjs.map +1 -1
  125. package/dist/adapters/database/domains/role-permission/entity.d.ts +10 -10
  126. package/dist/adapters/database/domains/role-permission/entity.d.ts.map +1 -1
  127. package/dist/adapters/database/domains/role-permission/entity.mjs +39 -23
  128. package/dist/adapters/database/domains/role-permission/entity.mjs.map +1 -1
  129. package/dist/adapters/database/domains/role-permission/subscriber.mjs +2 -2
  130. package/dist/adapters/database/domains/role-permission/subscriber.mjs.map +1 -1
  131. package/dist/adapters/database/domains/scope/entity.d.ts +5 -5
  132. package/dist/adapters/database/domains/scope/entity.d.ts.map +1 -1
  133. package/dist/adapters/database/domains/scope/entity.mjs +23 -12
  134. package/dist/adapters/database/domains/scope/entity.mjs.map +1 -1
  135. package/dist/adapters/database/domains/scope/subscriber.mjs +1 -1
  136. package/dist/adapters/database/domains/scope/subscriber.mjs.map +1 -1
  137. package/dist/adapters/database/domains/session/entity.d.ts +14 -15
  138. package/dist/adapters/database/domains/session/entity.d.ts.map +1 -1
  139. package/dist/adapters/database/domains/session/entity.mjs +50 -38
  140. package/dist/adapters/database/domains/session/entity.mjs.map +1 -1
  141. package/dist/adapters/database/domains/session-token/entity.d.ts +9 -9
  142. package/dist/adapters/database/domains/session-token/entity.d.ts.map +1 -1
  143. package/dist/adapters/database/domains/session-token/entity.mjs +32 -19
  144. package/dist/adapters/database/domains/session-token/entity.mjs.map +1 -1
  145. package/dist/adapters/database/domains/trust-anchor/entity.d.ts +13 -0
  146. package/dist/adapters/database/domains/trust-anchor/entity.d.ts.map +1 -0
  147. package/dist/adapters/database/domains/trust-anchor/entity.mjs +61 -0
  148. package/dist/adapters/database/domains/trust-anchor/entity.mjs.map +1 -0
  149. package/dist/adapters/database/domains/trust-anchor/index.d.ts +2 -0
  150. package/dist/adapters/database/domains/trust-anchor/index.d.ts.map +1 -0
  151. package/dist/adapters/database/domains/trust-anchor/index.mjs +5 -0
  152. package/dist/adapters/database/domains/user/entity.d.ts +12 -12
  153. package/dist/adapters/database/domains/user/entity.d.ts.map +1 -1
  154. package/dist/adapters/database/domains/user/entity.mjs +42 -27
  155. package/dist/adapters/database/domains/user/entity.mjs.map +1 -1
  156. package/dist/adapters/database/domains/user/repository.mjs +3 -3
  157. package/dist/adapters/database/domains/user/repository.mjs.map +1 -1
  158. package/dist/adapters/database/domains/user/subscriber.mjs +1 -1
  159. package/dist/adapters/database/domains/user/subscriber.mjs.map +1 -1
  160. package/dist/adapters/database/domains/user-attribute/entity.d.ts +4 -4
  161. package/dist/adapters/database/domains/user-attribute/entity.d.ts.map +1 -1
  162. package/dist/adapters/database/domains/user-attribute/entity.mjs +15 -9
  163. package/dist/adapters/database/domains/user-attribute/entity.mjs.map +1 -1
  164. package/dist/adapters/database/domains/user-attribute/subscriber.mjs +2 -2
  165. package/dist/adapters/database/domains/user-attribute/subscriber.mjs.map +1 -1
  166. package/dist/adapters/database/domains/user-authenticator/entity.d.ts +20 -0
  167. package/dist/adapters/database/domains/user-authenticator/entity.d.ts.map +1 -0
  168. package/dist/adapters/database/domains/user-authenticator/entity.mjs +111 -0
  169. package/dist/adapters/database/domains/user-authenticator/entity.mjs.map +1 -0
  170. package/dist/adapters/database/domains/user-authenticator/index.d.ts +2 -0
  171. package/dist/adapters/database/domains/user-authenticator/index.d.ts.map +1 -0
  172. package/dist/adapters/database/domains/user-authenticator/index.mjs +5 -0
  173. package/dist/adapters/database/domains/user-permission/entity.d.ts +10 -10
  174. package/dist/adapters/database/domains/user-permission/entity.d.ts.map +1 -1
  175. package/dist/adapters/database/domains/user-permission/entity.mjs +38 -22
  176. package/dist/adapters/database/domains/user-permission/entity.mjs.map +1 -1
  177. package/dist/adapters/database/domains/user-permission/subscriber.mjs +2 -2
  178. package/dist/adapters/database/domains/user-permission/subscriber.mjs.map +1 -1
  179. package/dist/adapters/database/domains/user-role/entity.d.ts +8 -8
  180. package/dist/adapters/database/domains/user-role/entity.d.ts.map +1 -1
  181. package/dist/adapters/database/domains/user-role/entity.mjs +29 -17
  182. package/dist/adapters/database/domains/user-role/entity.mjs.map +1 -1
  183. package/dist/adapters/database/domains/user-role/subscriber.mjs +2 -2
  184. package/dist/adapters/database/domains/user-role/subscriber.mjs.map +1 -1
  185. package/dist/adapters/database/errors/driver.d.ts +14 -0
  186. package/dist/adapters/database/errors/driver.d.ts.map +1 -0
  187. package/dist/adapters/database/errors/driver.mjs +32 -0
  188. package/dist/adapters/database/errors/driver.mjs.map +1 -0
  189. package/dist/adapters/database/errors/index.d.ts +1 -0
  190. package/dist/adapters/database/errors/index.d.ts.map +1 -1
  191. package/dist/adapters/database/errors/index.mjs +2 -1
  192. package/dist/adapters/database/helpers/is-supported.mjs +1 -1
  193. package/dist/adapters/database/helpers/is-supported.mjs.map +1 -1
  194. package/dist/adapters/database/index.mjs +17 -17
  195. package/dist/adapters/database/migrations/mysql/1783769340000-Default.d.ts +50 -0
  196. package/dist/adapters/database/migrations/mysql/1783769340000-Default.d.ts.map +1 -0
  197. package/dist/adapters/database/migrations/mysql/1783769340000-Default.mjs +320 -0
  198. package/dist/adapters/database/migrations/mysql/1783769340000-Default.mjs.map +1 -0
  199. package/dist/adapters/database/migrations/mysql/1784289540000-CamelCaseAttributes.d.ts +12 -0
  200. package/dist/adapters/database/migrations/mysql/1784289540000-CamelCaseAttributes.d.ts.map +1 -0
  201. package/dist/adapters/database/migrations/mysql/1784289540000-CamelCaseAttributes.mjs +42 -0
  202. package/dist/adapters/database/migrations/mysql/1784289540000-CamelCaseAttributes.mjs.map +1 -0
  203. package/dist/adapters/database/migrations/mysql/1784460916000-RemoveRobots.d.ts +18 -0
  204. package/dist/adapters/database/migrations/mysql/1784460916000-RemoveRobots.d.ts.map +1 -0
  205. package/dist/adapters/database/migrations/mysql/1784460916000-RemoveRobots.mjs +161 -0
  206. package/dist/adapters/database/migrations/mysql/1784460916000-RemoveRobots.mjs.map +1 -0
  207. package/dist/adapters/database/migrations/postgres/1783769340000-Default.d.ts +50 -0
  208. package/dist/adapters/database/migrations/postgres/1783769340000-Default.d.ts.map +1 -0
  209. package/dist/adapters/database/migrations/postgres/1783769340000-Default.mjs +310 -0
  210. package/dist/adapters/database/migrations/postgres/1783769340000-Default.mjs.map +1 -0
  211. package/dist/adapters/database/migrations/postgres/1784289540000-CamelCaseAttributes.d.ts +12 -0
  212. package/dist/adapters/database/migrations/postgres/1784289540000-CamelCaseAttributes.d.ts.map +1 -0
  213. package/dist/adapters/database/migrations/postgres/1784289540000-CamelCaseAttributes.mjs +42 -0
  214. package/dist/adapters/database/migrations/postgres/1784289540000-CamelCaseAttributes.mjs.map +1 -0
  215. package/dist/adapters/database/migrations/postgres/1784460916000-RemoveRobots.d.ts +18 -0
  216. package/dist/adapters/database/migrations/postgres/1784460916000-RemoveRobots.d.ts.map +1 -0
  217. package/dist/adapters/database/migrations/postgres/1784460916000-RemoveRobots.mjs +167 -0
  218. package/dist/adapters/database/migrations/postgres/1784460916000-RemoveRobots.mjs.map +1 -0
  219. package/dist/adapters/database/subscriber/module.d.ts +1 -1
  220. package/dist/adapters/database/subscriber/module.d.ts.map +1 -1
  221. package/dist/adapters/database/subscriber/module.mjs +4 -3
  222. package/dist/adapters/database/subscriber/module.mjs.map +1 -1
  223. package/dist/adapters/http/adapters/index.mjs +2 -2
  224. package/dist/adapters/http/adapters/oauth2/authorization/module.d.ts +4 -1
  225. package/dist/adapters/http/adapters/oauth2/authorization/module.d.ts.map +1 -1
  226. package/dist/adapters/http/adapters/oauth2/authorization/module.mjs +27 -2
  227. package/dist/adapters/http/adapters/oauth2/authorization/module.mjs.map +1 -1
  228. package/dist/adapters/http/adapters/oauth2/authorization/types.d.ts +9 -1
  229. package/dist/adapters/http/adapters/oauth2/authorization/types.d.ts.map +1 -1
  230. package/dist/adapters/http/adapters/oauth2/grant-types/authorize.d.ts +4 -1
  231. package/dist/adapters/http/adapters/oauth2/grant-types/authorize.d.ts.map +1 -1
  232. package/dist/adapters/http/adapters/oauth2/grant-types/authorize.mjs +24 -4
  233. package/dist/adapters/http/adapters/oauth2/grant-types/authorize.mjs.map +1 -1
  234. package/dist/adapters/http/adapters/oauth2/grant-types/client-credentials.d.ts +4 -3
  235. package/dist/adapters/http/adapters/oauth2/grant-types/client-credentials.d.ts.map +1 -1
  236. package/dist/adapters/http/adapters/oauth2/grant-types/client-credentials.mjs +13 -6
  237. package/dist/adapters/http/adapters/oauth2/grant-types/client-credentials.mjs.map +1 -1
  238. package/dist/adapters/http/adapters/oauth2/grant-types/index.d.ts +0 -1
  239. package/dist/adapters/http/adapters/oauth2/grant-types/index.d.ts.map +1 -1
  240. package/dist/adapters/http/adapters/oauth2/grant-types/index.mjs +2 -2
  241. package/dist/adapters/http/adapters/oauth2/grant-types/password.d.ts +38 -2
  242. package/dist/adapters/http/adapters/oauth2/grant-types/password.d.ts.map +1 -1
  243. package/dist/adapters/http/adapters/oauth2/grant-types/password.mjs +119 -6
  244. package/dist/adapters/http/adapters/oauth2/grant-types/password.mjs.map +1 -1
  245. package/dist/adapters/http/adapters/oauth2/grant-types/refresh_token.d.ts +2 -0
  246. package/dist/adapters/http/adapters/oauth2/grant-types/refresh_token.d.ts.map +1 -1
  247. package/dist/adapters/http/adapters/oauth2/grant-types/refresh_token.mjs +16 -3
  248. package/dist/adapters/http/adapters/oauth2/grant-types/refresh_token.mjs.map +1 -1
  249. package/dist/adapters/http/adapters/oauth2/grant-types/types.d.ts +14 -6
  250. package/dist/adapters/http/adapters/oauth2/grant-types/types.d.ts.map +1 -1
  251. package/dist/adapters/http/adapters/oauth2/grant-types/utils/certificate.d.ts +5 -0
  252. package/dist/adapters/http/adapters/oauth2/grant-types/utils/certificate.d.ts.map +1 -0
  253. package/dist/adapters/http/adapters/oauth2/grant-types/utils/certificate.mjs +18 -0
  254. package/dist/adapters/http/adapters/oauth2/grant-types/utils/certificate.mjs.map +1 -0
  255. package/dist/adapters/http/adapters/oauth2/grant-types/utils/credentials.mjs +1 -1
  256. package/dist/adapters/http/adapters/oauth2/grant-types/utils/guess.d.ts.map +1 -1
  257. package/dist/adapters/http/adapters/oauth2/grant-types/utils/guess.mjs +1 -4
  258. package/dist/adapters/http/adapters/oauth2/grant-types/utils/guess.mjs.map +1 -1
  259. package/dist/adapters/http/adapters/oauth2/grant-types/utils/index.d.ts +1 -0
  260. package/dist/adapters/http/adapters/oauth2/grant-types/utils/index.d.ts.map +1 -1
  261. package/dist/adapters/http/adapters/oauth2/grant-types/utils/index.mjs +2 -1
  262. package/dist/adapters/http/adapters/oauth2/index.mjs +2 -2
  263. package/dist/adapters/http/controllers/entities/client-permission/utils/validation.mjs +3 -3
  264. package/dist/adapters/http/controllers/entities/client-permission/utils/validation.mjs.map +1 -1
  265. package/dist/adapters/http/controllers/entities/client-role/utils/validation.mjs +2 -2
  266. package/dist/adapters/http/controllers/entities/client-role/utils/validation.mjs.map +1 -1
  267. package/dist/adapters/http/controllers/entities/client-scope/utils/validator.mjs +2 -2
  268. package/dist/adapters/http/controllers/entities/client-scope/utils/validator.mjs.map +1 -1
  269. package/dist/adapters/http/controllers/entities/consent/index.d.ts.map +1 -0
  270. package/dist/adapters/http/controllers/entities/consent/index.mjs +5 -0
  271. package/dist/adapters/http/controllers/entities/consent/module.d.ts +15 -0
  272. package/dist/adapters/http/controllers/entities/consent/module.d.ts.map +1 -0
  273. package/dist/adapters/http/controllers/entities/{robot-role → consent}/module.mjs +16 -29
  274. package/dist/adapters/http/controllers/entities/consent/module.mjs.map +1 -0
  275. package/dist/adapters/http/controllers/entities/event/index.d.ts.map +1 -0
  276. package/dist/adapters/http/controllers/entities/event/index.mjs +5 -0
  277. package/dist/adapters/http/controllers/entities/event/module.d.ts +14 -0
  278. package/dist/adapters/http/controllers/entities/event/module.d.ts.map +1 -0
  279. package/dist/adapters/http/controllers/entities/event/module.mjs +68 -0
  280. package/dist/adapters/http/controllers/entities/event/module.mjs.map +1 -0
  281. package/dist/adapters/http/controllers/entities/identity-provider/module.d.ts +4 -1
  282. package/dist/adapters/http/controllers/entities/identity-provider/module.d.ts.map +1 -1
  283. package/dist/adapters/http/controllers/entities/identity-provider/module.mjs +55 -21
  284. package/dist/adapters/http/controllers/entities/identity-provider/module.mjs.map +1 -1
  285. package/dist/adapters/http/controllers/entities/identity-provider/types.d.ts +3 -1
  286. package/dist/adapters/http/controllers/entities/identity-provider/types.d.ts.map +1 -1
  287. package/dist/adapters/http/controllers/entities/index.d.ts +5 -3
  288. package/dist/adapters/http/controllers/entities/index.d.ts.map +1 -1
  289. package/dist/adapters/http/controllers/entities/index.mjs +11 -9
  290. package/dist/adapters/http/controllers/entities/key/index.d.ts.map +1 -0
  291. package/dist/adapters/http/controllers/entities/key/index.mjs +5 -0
  292. package/dist/adapters/http/controllers/entities/key/module.d.ts +17 -0
  293. package/dist/adapters/http/controllers/entities/key/module.d.ts.map +1 -0
  294. package/dist/adapters/http/controllers/entities/key/module.mjs +116 -0
  295. package/dist/adapters/http/controllers/entities/key/module.mjs.map +1 -0
  296. package/dist/adapters/http/controllers/entities/policy/utils/validation.d.ts +1 -1
  297. package/dist/adapters/http/controllers/entities/policy/utils/validation.d.ts.map +1 -1
  298. package/dist/adapters/http/controllers/entities/policy/utils/validation.mjs +4 -4
  299. package/dist/adapters/http/controllers/entities/policy/utils/validation.mjs.map +1 -1
  300. package/dist/adapters/http/controllers/entities/realm/module.d.ts +2 -0
  301. package/dist/adapters/http/controllers/entities/realm/module.d.ts.map +1 -1
  302. package/dist/adapters/http/controllers/entities/realm/module.mjs +16 -1
  303. package/dist/adapters/http/controllers/entities/realm/module.mjs.map +1 -1
  304. package/dist/adapters/http/controllers/entities/role-attribute/utils/validation.mjs +1 -1
  305. package/dist/adapters/http/controllers/entities/role-attribute/utils/validation.mjs.map +1 -1
  306. package/dist/adapters/http/controllers/entities/role-permission/utils/validation.mjs +3 -3
  307. package/dist/adapters/http/controllers/entities/role-permission/utils/validation.mjs.map +1 -1
  308. package/dist/adapters/http/controllers/entities/session/module.mjs.map +1 -1
  309. package/dist/adapters/http/controllers/entities/trust-anchor/index.d.ts +2 -0
  310. package/dist/adapters/http/controllers/entities/trust-anchor/index.d.ts.map +1 -0
  311. package/dist/adapters/http/controllers/entities/trust-anchor/index.mjs +5 -0
  312. package/dist/adapters/http/controllers/entities/trust-anchor/module.d.ts +17 -0
  313. package/dist/adapters/http/controllers/entities/trust-anchor/module.d.ts.map +1 -0
  314. package/dist/adapters/http/controllers/entities/{robot-permission → trust-anchor}/module.mjs +30 -30
  315. package/dist/adapters/http/controllers/entities/trust-anchor/module.mjs.map +1 -0
  316. package/dist/adapters/http/controllers/entities/user-attribute/utils/validation.mjs +1 -1
  317. package/dist/adapters/http/controllers/entities/user-attribute/utils/validation.mjs.map +1 -1
  318. package/dist/adapters/http/controllers/entities/user-authenticator/index.d.ts +2 -0
  319. package/dist/adapters/http/controllers/entities/user-authenticator/index.d.ts.map +1 -0
  320. package/dist/adapters/http/controllers/entities/user-authenticator/index.mjs +5 -0
  321. package/dist/adapters/http/controllers/entities/user-authenticator/module.d.ts +21 -0
  322. package/dist/adapters/http/controllers/entities/user-authenticator/module.d.ts.map +1 -0
  323. package/dist/adapters/http/controllers/entities/user-authenticator/module.mjs +154 -0
  324. package/dist/adapters/http/controllers/entities/user-authenticator/module.mjs.map +1 -0
  325. package/dist/adapters/http/controllers/entities/user-permission/utils/validation.mjs +3 -3
  326. package/dist/adapters/http/controllers/entities/user-permission/utils/validation.mjs.map +1 -1
  327. package/dist/adapters/http/controllers/entities/user-role/utils/validation.mjs +2 -2
  328. package/dist/adapters/http/controllers/entities/user-role/utils/validation.mjs.map +1 -1
  329. package/dist/adapters/http/controllers/index.mjs +7 -6
  330. package/dist/adapters/http/controllers/workflows/authenticator-challenge/index.d.ts +2 -0
  331. package/dist/adapters/http/controllers/workflows/authenticator-challenge/index.d.ts.map +1 -0
  332. package/dist/adapters/http/controllers/workflows/authenticator-challenge/index.mjs +5 -0
  333. package/dist/adapters/http/controllers/workflows/authenticator-challenge/module.d.ts +46 -0
  334. package/dist/adapters/http/controllers/workflows/authenticator-challenge/module.d.ts.map +1 -0
  335. package/dist/adapters/http/controllers/workflows/authenticator-challenge/module.mjs +132 -0
  336. package/dist/adapters/http/controllers/workflows/authenticator-challenge/module.mjs.map +1 -0
  337. package/dist/adapters/http/controllers/workflows/authorize/module.d.ts.map +1 -1
  338. package/dist/adapters/http/controllers/workflows/authorize/module.mjs +38 -10
  339. package/dist/adapters/http/controllers/workflows/authorize/module.mjs.map +1 -1
  340. package/dist/adapters/http/controllers/workflows/authorize/types.d.ts +17 -1
  341. package/dist/adapters/http/controllers/workflows/authorize/types.d.ts.map +1 -1
  342. package/dist/adapters/http/controllers/workflows/index.d.ts +1 -0
  343. package/dist/adapters/http/controllers/workflows/index.d.ts.map +1 -1
  344. package/dist/adapters/http/controllers/workflows/index.mjs +3 -1
  345. package/dist/adapters/http/controllers/workflows/jwks/handlers/read.d.ts.map +1 -1
  346. package/dist/adapters/http/controllers/workflows/jwks/handlers/read.mjs +32 -18
  347. package/dist/adapters/http/controllers/workflows/jwks/handlers/read.mjs.map +1 -1
  348. package/dist/adapters/http/controllers/workflows/jwks/module.d.ts.map +1 -1
  349. package/dist/adapters/http/controllers/workflows/jwks/module.mjs +31 -17
  350. package/dist/adapters/http/controllers/workflows/jwks/module.mjs.map +1 -1
  351. package/dist/adapters/http/controllers/workflows/status/module.mjs +2 -2
  352. package/dist/adapters/http/controllers/workflows/status/module.mjs.map +1 -1
  353. package/dist/adapters/http/controllers/workflows/token/module.d.ts +2 -1
  354. package/dist/adapters/http/controllers/workflows/token/module.d.ts.map +1 -1
  355. package/dist/adapters/http/controllers/workflows/token/module.mjs +30 -16
  356. package/dist/adapters/http/controllers/workflows/token/module.mjs.map +1 -1
  357. package/dist/adapters/http/controllers/workflows/token/types.d.ts +11 -5
  358. package/dist/adapters/http/controllers/workflows/token/types.d.ts.map +1 -1
  359. package/dist/adapters/http/index.mjs +13 -9
  360. package/dist/adapters/http/middleware/built-in/assets.mjs +3 -3
  361. package/dist/adapters/http/middleware/built-in/assets.mjs.map +1 -1
  362. package/dist/adapters/http/middleware/built-in/authorization/module.d.ts +14 -2
  363. package/dist/adapters/http/middleware/built-in/authorization/module.d.ts.map +1 -1
  364. package/dist/adapters/http/middleware/built-in/authorization/module.mjs +52 -16
  365. package/dist/adapters/http/middleware/built-in/authorization/module.mjs.map +1 -1
  366. package/dist/adapters/http/middleware/built-in/authorization/types.d.ts +2 -1
  367. package/dist/adapters/http/middleware/built-in/authorization/types.d.ts.map +1 -1
  368. package/dist/adapters/http/middleware/built-in/index.mjs +2 -2
  369. package/dist/adapters/http/middleware/built-in/prometheus.d.ts +12 -1
  370. package/dist/adapters/http/middleware/built-in/prometheus.d.ts.map +1 -1
  371. package/dist/adapters/http/middleware/built-in/prometheus.mjs +75 -6
  372. package/dist/adapters/http/middleware/built-in/prometheus.mjs.map +1 -1
  373. package/dist/adapters/http/middleware/built-in/rate-limit.d.ts.map +1 -1
  374. package/dist/adapters/http/middleware/built-in/rate-limit.mjs +0 -1
  375. package/dist/adapters/http/middleware/built-in/rate-limit.mjs.map +1 -1
  376. package/dist/adapters/http/middleware/index.mjs +2 -2
  377. package/dist/adapters/http/request/client-certificate.d.ts +6 -0
  378. package/dist/adapters/http/request/client-certificate.d.ts.map +1 -0
  379. package/dist/adapters/http/request/client-certificate.mjs +89 -0
  380. package/dist/adapters/http/request/client-certificate.mjs.map +1 -0
  381. package/dist/adapters/http/request/constants.d.ts +1 -0
  382. package/dist/adapters/http/request/constants.d.ts.map +1 -1
  383. package/dist/adapters/http/request/constants.mjs +6 -1
  384. package/dist/adapters/http/request/constants.mjs.map +1 -1
  385. package/dist/adapters/http/request/event-context.d.ts +19 -0
  386. package/dist/adapters/http/request/event-context.d.ts.map +1 -0
  387. package/dist/adapters/http/request/event-context.mjs +37 -0
  388. package/dist/adapters/http/request/event-context.mjs.map +1 -0
  389. package/dist/adapters/http/request/helpers/body-realm-id.mjs +1 -1
  390. package/dist/adapters/http/request/helpers/body-realm-id.mjs.map +1 -1
  391. package/dist/adapters/http/request/helpers/identity.d.ts +2 -2
  392. package/dist/adapters/http/request/helpers/identity.d.ts.map +1 -1
  393. package/dist/adapters/http/request/helpers/identity.mjs +2 -2
  394. package/dist/adapters/http/request/helpers/identity.mjs.map +1 -1
  395. package/dist/adapters/http/request/helpers/index.d.ts +1 -0
  396. package/dist/adapters/http/request/helpers/index.d.ts.map +1 -1
  397. package/dist/adapters/http/request/helpers/index.mjs +2 -1
  398. package/dist/adapters/http/request/helpers/mfa-login-ticket.d.ts +16 -0
  399. package/dist/adapters/http/request/helpers/mfa-login-ticket.d.ts.map +1 -0
  400. package/dist/adapters/http/request/helpers/mfa-login-ticket.mjs +15 -0
  401. package/dist/adapters/http/request/helpers/mfa-login-ticket.mjs.map +1 -0
  402. package/dist/adapters/http/request/helpers/realm-id.mjs +1 -1
  403. package/dist/adapters/http/request/helpers/realm-id.mjs.map +1 -1
  404. package/dist/adapters/http/request/index.d.ts +3 -0
  405. package/dist/adapters/http/request/index.d.ts.map +1 -1
  406. package/dist/adapters/http/request/index.mjs +5 -2
  407. package/dist/adapters/http/request/permission/module.d.ts +3 -2
  408. package/dist/adapters/http/request/permission/module.d.ts.map +1 -1
  409. package/dist/adapters/http/request/permission/module.mjs +3 -0
  410. package/dist/adapters/http/request/permission/module.mjs.map +1 -1
  411. package/dist/adapters/http/request/types.d.ts +3 -0
  412. package/dist/adapters/http/request/types.d.ts.map +1 -0
  413. package/dist/adapters/http/ui/render.mjs +4 -4
  414. package/dist/adapters/http/ui/render.mjs.map +1 -1
  415. package/dist/adapters/http/ui/serve.d.ts.map +1 -1
  416. package/dist/adapters/http/ui/serve.mjs +4 -1
  417. package/dist/adapters/http/ui/serve.mjs.map +1 -1
  418. package/dist/app/index.mjs +11 -9
  419. package/dist/app/modules/authentication/repositories/session.d.ts +3 -2
  420. package/dist/app/modules/authentication/repositories/session.d.ts.map +1 -1
  421. package/dist/app/modules/authentication/repositories/session.mjs +8 -40
  422. package/dist/app/modules/authentication/repositories/session.mjs.map +1 -1
  423. package/dist/app/modules/components/module.d.ts.map +1 -1
  424. package/dist/app/modules/components/module.mjs +22 -2
  425. package/dist/app/modules/components/module.mjs.map +1 -1
  426. package/dist/app/modules/config/constants.d.ts +14 -4
  427. package/dist/app/modules/config/constants.d.ts.map +1 -1
  428. package/dist/app/modules/config/constants.mjs +14 -4
  429. package/dist/app/modules/config/constants.mjs.map +1 -1
  430. package/dist/app/modules/config/normalize.d.ts.map +1 -1
  431. package/dist/app/modules/config/normalize.mjs +30 -6
  432. package/dist/app/modules/config/normalize.mjs.map +1 -1
  433. package/dist/app/modules/config/read/env.d.ts.map +1 -1
  434. package/dist/app/modules/config/read/env.mjs +57 -8
  435. package/dist/app/modules/config/read/env.mjs.map +1 -1
  436. package/dist/app/modules/config/types.d.ts +101 -19
  437. package/dist/app/modules/config/types.d.ts.map +1 -1
  438. package/dist/app/modules/config/validator.d.ts.map +1 -1
  439. package/dist/app/modules/config/validator.mjs +16 -4
  440. package/dist/app/modules/config/validator.mjs.map +1 -1
  441. package/dist/app/modules/database/constants.d.ts +3 -0
  442. package/dist/app/modules/database/constants.d.ts.map +1 -1
  443. package/dist/app/modules/database/constants.mjs +3 -1
  444. package/dist/app/modules/database/constants.mjs.map +1 -1
  445. package/dist/app/modules/database/index.mjs +7 -6
  446. package/dist/app/modules/database/module.d.ts +1 -0
  447. package/dist/app/modules/database/module.d.ts.map +1 -1
  448. package/dist/app/modules/database/module.mjs +34 -1
  449. package/dist/app/modules/database/module.mjs.map +1 -1
  450. package/dist/app/modules/database/repositories/bindings.d.ts +2 -2
  451. package/dist/app/modules/database/repositories/bindings.d.ts.map +1 -1
  452. package/dist/app/modules/database/repositories/bindings.mjs +3 -3
  453. package/dist/app/modules/database/repositories/bindings.mjs.map +1 -1
  454. package/dist/app/modules/database/repositories/client/repository.d.ts +3 -2
  455. package/dist/app/modules/database/repositories/client/repository.d.ts.map +1 -1
  456. package/dist/app/modules/database/repositories/client/repository.mjs +10 -78
  457. package/dist/app/modules/database/repositories/client/repository.mjs.map +1 -1
  458. package/dist/app/modules/database/repositories/client-permission/repository.d.ts +2 -1
  459. package/dist/app/modules/database/repositories/client-permission/repository.d.ts.map +1 -1
  460. package/dist/app/modules/database/repositories/client-permission/repository.mjs +3 -17
  461. package/dist/app/modules/database/repositories/client-permission/repository.mjs.map +1 -1
  462. package/dist/app/modules/database/repositories/client-role/repository.d.ts +2 -1
  463. package/dist/app/modules/database/repositories/client-role/repository.d.ts.map +1 -1
  464. package/dist/app/modules/database/repositories/client-role/repository.mjs +3 -17
  465. package/dist/app/modules/database/repositories/client-role/repository.mjs.map +1 -1
  466. package/dist/app/modules/database/repositories/client-scope/repository.d.ts +2 -1
  467. package/dist/app/modules/database/repositories/client-scope/repository.d.ts.map +1 -1
  468. package/dist/app/modules/database/repositories/client-scope/repository.mjs +3 -17
  469. package/dist/app/modules/database/repositories/client-scope/repository.mjs.map +1 -1
  470. package/dist/app/modules/database/repositories/event/index.d.ts.map +1 -0
  471. package/dist/app/modules/database/repositories/event/index.mjs +5 -0
  472. package/dist/app/modules/database/repositories/event/repository.d.ts +16 -0
  473. package/dist/app/modules/database/repositories/event/repository.d.ts.map +1 -0
  474. package/dist/app/modules/database/repositories/event/repository.mjs +74 -0
  475. package/dist/app/modules/database/repositories/event/repository.mjs.map +1 -0
  476. package/dist/app/modules/database/repositories/helpers.d.ts +21 -5
  477. package/dist/app/modules/database/repositories/helpers.d.ts.map +1 -1
  478. package/dist/app/modules/database/repositories/helpers.mjs +46 -7
  479. package/dist/app/modules/database/repositories/helpers.mjs.map +1 -1
  480. package/dist/app/modules/database/repositories/identity-provider/repository.d.ts +2 -1
  481. package/dist/app/modules/database/repositories/identity-provider/repository.d.ts.map +1 -1
  482. package/dist/app/modules/database/repositories/identity-provider/repository.mjs +6 -37
  483. package/dist/app/modules/database/repositories/identity-provider/repository.mjs.map +1 -1
  484. package/dist/app/modules/database/repositories/identity-provider-role-mapping/repository.d.ts +2 -1
  485. package/dist/app/modules/database/repositories/identity-provider-role-mapping/repository.d.ts.map +1 -1
  486. package/dist/app/modules/database/repositories/identity-provider-role-mapping/repository.mjs +3 -17
  487. package/dist/app/modules/database/repositories/identity-provider-role-mapping/repository.mjs.map +1 -1
  488. package/dist/app/modules/database/repositories/index.d.ts +4 -3
  489. package/dist/app/modules/database/repositories/index.d.ts.map +1 -1
  490. package/dist/app/modules/database/repositories/index.mjs +9 -7
  491. package/dist/app/modules/database/repositories/key/index.d.ts.map +1 -0
  492. package/dist/app/modules/database/repositories/key/index.mjs +5 -0
  493. package/dist/app/modules/database/repositories/key/repository.d.ts +51 -0
  494. package/dist/app/modules/database/repositories/key/repository.d.ts.map +1 -0
  495. package/dist/app/modules/database/repositories/key/repository.mjs +239 -0
  496. package/dist/app/modules/database/repositories/key/repository.mjs.map +1 -0
  497. package/dist/app/modules/database/repositories/permission/repository.d.ts +2 -1
  498. package/dist/app/modules/database/repositories/permission/repository.d.ts.map +1 -1
  499. package/dist/app/modules/database/repositories/permission/repository.mjs +5 -20
  500. package/dist/app/modules/database/repositories/permission/repository.mjs.map +1 -1
  501. package/dist/app/modules/database/repositories/permission-policy/repository.d.ts +2 -1
  502. package/dist/app/modules/database/repositories/permission-policy/repository.d.ts.map +1 -1
  503. package/dist/app/modules/database/repositories/permission-policy/repository.mjs +3 -17
  504. package/dist/app/modules/database/repositories/permission-policy/repository.mjs.map +1 -1
  505. package/dist/app/modules/database/repositories/permission-provider/module.mjs +7 -7
  506. package/dist/app/modules/database/repositories/permission-provider/module.mjs.map +1 -1
  507. package/dist/app/modules/database/repositories/policy/repository.d.ts +2 -1
  508. package/dist/app/modules/database/repositories/policy/repository.d.ts.map +1 -1
  509. package/dist/app/modules/database/repositories/policy/repository.mjs +5 -39
  510. package/dist/app/modules/database/repositories/policy/repository.mjs.map +1 -1
  511. package/dist/app/modules/database/repositories/query.d.ts +18 -0
  512. package/dist/app/modules/database/repositories/query.d.ts.map +1 -0
  513. package/dist/app/modules/database/repositories/query.mjs +29 -0
  514. package/dist/app/modules/database/repositories/query.mjs.map +1 -0
  515. package/dist/app/modules/database/repositories/realm/repository.d.ts +2 -1
  516. package/dist/app/modules/database/repositories/realm/repository.d.ts.map +1 -1
  517. package/dist/app/modules/database/repositories/realm/repository.mjs +3 -25
  518. package/dist/app/modules/database/repositories/realm/repository.mjs.map +1 -1
  519. package/dist/app/modules/database/repositories/role/repository.d.ts +2 -1
  520. package/dist/app/modules/database/repositories/role/repository.d.ts.map +1 -1
  521. package/dist/app/modules/database/repositories/role/repository.mjs +6 -30
  522. package/dist/app/modules/database/repositories/role/repository.mjs.map +1 -1
  523. package/dist/app/modules/database/repositories/role-attribute/repository.d.ts +2 -1
  524. package/dist/app/modules/database/repositories/role-attribute/repository.d.ts.map +1 -1
  525. package/dist/app/modules/database/repositories/role-attribute/repository.mjs +3 -19
  526. package/dist/app/modules/database/repositories/role-attribute/repository.mjs.map +1 -1
  527. package/dist/app/modules/database/repositories/role-permission/repository.d.ts +2 -1
  528. package/dist/app/modules/database/repositories/role-permission/repository.d.ts.map +1 -1
  529. package/dist/app/modules/database/repositories/role-permission/repository.mjs +3 -17
  530. package/dist/app/modules/database/repositories/role-permission/repository.mjs.map +1 -1
  531. package/dist/app/modules/database/repositories/schema-validation.d.ts +11 -0
  532. package/dist/app/modules/database/repositories/schema-validation.d.ts.map +1 -0
  533. package/dist/app/modules/database/repositories/schema-validation.mjs +77 -0
  534. package/dist/app/modules/database/repositories/schema-validation.mjs.map +1 -0
  535. package/dist/app/modules/database/repositories/scope/repository.d.ts +2 -1
  536. package/dist/app/modules/database/repositories/scope/repository.d.ts.map +1 -1
  537. package/dist/app/modules/database/repositories/scope/repository.mjs +5 -29
  538. package/dist/app/modules/database/repositories/scope/repository.mjs.map +1 -1
  539. package/dist/app/modules/database/repositories/trust-anchor/index.d.ts.map +1 -0
  540. package/dist/app/modules/database/repositories/trust-anchor/index.mjs +5 -0
  541. package/dist/app/modules/database/repositories/trust-anchor/repository.d.ts +25 -0
  542. package/dist/app/modules/database/repositories/trust-anchor/repository.d.ts.map +1 -0
  543. package/dist/app/modules/database/repositories/trust-anchor/repository.mjs +89 -0
  544. package/dist/app/modules/database/repositories/trust-anchor/repository.mjs.map +1 -0
  545. package/dist/app/modules/database/repositories/user/repository.d.ts +3 -2
  546. package/dist/app/modules/database/repositories/user/repository.d.ts.map +1 -1
  547. package/dist/app/modules/database/repositories/user/repository.mjs +9 -66
  548. package/dist/app/modules/database/repositories/user/repository.mjs.map +1 -1
  549. package/dist/app/modules/database/repositories/user-attribute/repository.d.ts +2 -1
  550. package/dist/app/modules/database/repositories/user-attribute/repository.d.ts.map +1 -1
  551. package/dist/app/modules/database/repositories/user-attribute/repository.mjs +4 -20
  552. package/dist/app/modules/database/repositories/user-attribute/repository.mjs.map +1 -1
  553. package/dist/app/modules/database/repositories/user-authenticator/index.d.ts.map +1 -0
  554. package/dist/app/modules/database/repositories/user-authenticator/index.mjs +5 -0
  555. package/dist/app/modules/database/repositories/user-authenticator/repository.d.ts +20 -0
  556. package/dist/app/modules/database/repositories/user-authenticator/repository.d.ts.map +1 -0
  557. package/dist/app/modules/database/repositories/user-authenticator/repository.mjs +66 -0
  558. package/dist/app/modules/database/repositories/user-authenticator/repository.mjs.map +1 -0
  559. package/dist/app/modules/database/repositories/user-permission/repository.d.ts +2 -1
  560. package/dist/app/modules/database/repositories/user-permission/repository.d.ts.map +1 -1
  561. package/dist/app/modules/database/repositories/user-permission/repository.mjs +3 -17
  562. package/dist/app/modules/database/repositories/user-permission/repository.mjs.map +1 -1
  563. package/dist/app/modules/database/repositories/user-role/repository.d.ts +2 -1
  564. package/dist/app/modules/database/repositories/user-role/repository.d.ts.map +1 -1
  565. package/dist/app/modules/database/repositories/user-role/repository.mjs +3 -17
  566. package/dist/app/modules/database/repositories/user-role/repository.mjs.map +1 -1
  567. package/dist/app/modules/http/module.d.ts +8 -0
  568. package/dist/app/modules/http/module.d.ts.map +1 -1
  569. package/dist/app/modules/http/module.mjs +19 -1
  570. package/dist/app/modules/http/module.mjs.map +1 -1
  571. package/dist/app/modules/http/modules/controller.d.ts +16 -6
  572. package/dist/app/modules/http/modules/controller.d.ts.map +1 -1
  573. package/dist/app/modules/http/modules/controller.mjs +186 -67
  574. package/dist/app/modules/http/modules/controller.mjs.map +1 -1
  575. package/dist/app/modules/http/modules/middleware.d.ts +1 -0
  576. package/dist/app/modules/http/modules/middleware.d.ts.map +1 -1
  577. package/dist/app/modules/http/modules/middleware.mjs +10 -5
  578. package/dist/app/modules/http/modules/middleware.mjs.map +1 -1
  579. package/dist/app/modules/identity/index.mjs +1 -2
  580. package/dist/app/modules/identity/module.d.ts.map +1 -1
  581. package/dist/app/modules/identity/module.mjs +3 -14
  582. package/dist/app/modules/identity/module.mjs.map +1 -1
  583. package/dist/app/modules/identity/repositories/client.mjs +2 -2
  584. package/dist/app/modules/identity/repositories/client.mjs.map +1 -1
  585. package/dist/app/modules/identity/repositories/index.d.ts +0 -1
  586. package/dist/app/modules/identity/repositories/index.d.ts.map +1 -1
  587. package/dist/app/modules/identity/repositories/index.mjs +1 -2
  588. package/dist/app/modules/identity/repositories/provider/account/module.mjs +3 -3
  589. package/dist/app/modules/identity/repositories/provider/account/module.mjs.map +1 -1
  590. package/dist/app/modules/identity/repositories/provider/mapper/attribute.mjs +1 -1
  591. package/dist/app/modules/identity/repositories/provider/mapper/attribute.mjs.map +1 -1
  592. package/dist/app/modules/identity/repositories/provider/mapper/permission.mjs +1 -1
  593. package/dist/app/modules/identity/repositories/provider/mapper/permission.mjs.map +1 -1
  594. package/dist/app/modules/identity/repositories/provider/mapper/role.mjs +1 -1
  595. package/dist/app/modules/identity/repositories/provider/mapper/role.mjs.map +1 -1
  596. package/dist/app/modules/identity/repositories/user.mjs +18 -18
  597. package/dist/app/modules/identity/repositories/user.mjs.map +1 -1
  598. package/dist/app/modules/index.d.ts +1 -0
  599. package/dist/app/modules/index.d.ts.map +1 -1
  600. package/dist/app/modules/index.mjs +13 -10
  601. package/dist/app/modules/mail/module.d.ts.map +1 -1
  602. package/dist/app/modules/mail/module.mjs +2 -1
  603. package/dist/app/modules/mail/module.mjs.map +1 -1
  604. package/dist/app/modules/metrics/constants.d.ts +4 -0
  605. package/dist/app/modules/metrics/constants.d.ts.map +1 -0
  606. package/dist/app/modules/metrics/constants.mjs +10 -0
  607. package/dist/app/modules/metrics/constants.mjs.map +1 -0
  608. package/dist/app/modules/metrics/index.d.ts +3 -0
  609. package/dist/app/modules/metrics/index.d.ts.map +1 -0
  610. package/dist/app/modules/metrics/index.mjs +6 -0
  611. package/dist/app/modules/metrics/prom.d.ts +15 -0
  612. package/dist/app/modules/metrics/prom.d.ts.map +1 -0
  613. package/dist/app/modules/metrics/prom.mjs +42 -0
  614. package/dist/app/modules/metrics/prom.mjs.map +1 -0
  615. package/dist/app/modules/oauth2/constants.d.ts +9 -2
  616. package/dist/app/modules/oauth2/constants.d.ts.map +1 -1
  617. package/dist/app/modules/oauth2/constants.mjs +7 -1
  618. package/dist/app/modules/oauth2/constants.mjs.map +1 -1
  619. package/dist/app/modules/oauth2/module.d.ts.map +1 -1
  620. package/dist/app/modules/oauth2/module.mjs +23 -4
  621. package/dist/app/modules/oauth2/module.mjs.map +1 -1
  622. package/dist/app/modules/oauth2/repositories/client/repository.mjs +1 -1
  623. package/dist/app/modules/oauth2/repositories/client/repository.mjs.map +1 -1
  624. package/dist/app/modules/oauth2/repositories/consent/index.d.ts +2 -0
  625. package/dist/app/modules/oauth2/repositories/consent/index.d.ts.map +1 -0
  626. package/dist/app/modules/oauth2/repositories/consent/index.mjs +5 -0
  627. package/dist/app/modules/oauth2/repositories/consent/repository.d.ts +21 -0
  628. package/dist/app/modules/oauth2/repositories/consent/repository.d.ts.map +1 -0
  629. package/dist/app/modules/oauth2/repositories/consent/repository.mjs +92 -0
  630. package/dist/app/modules/oauth2/repositories/consent/repository.mjs.map +1 -0
  631. package/dist/app/modules/oauth2/repositories/index.d.ts +1 -1
  632. package/dist/app/modules/oauth2/repositories/index.d.ts.map +1 -1
  633. package/dist/app/modules/oauth2/repositories/index.mjs +3 -3
  634. package/dist/app/modules/oauth2/repositories/scope/repository.mjs +1 -1
  635. package/dist/app/modules/oauth2/repositories/scope/repository.mjs.map +1 -1
  636. package/dist/app/modules/oauth2/repositories/session-token/repository.mjs +21 -18
  637. package/dist/app/modules/oauth2/repositories/session-token/repository.mjs.map +1 -1
  638. package/dist/app/modules/oauth2/repositories/token/repository.d.ts +1 -0
  639. package/dist/app/modules/oauth2/repositories/token/repository.d.ts.map +1 -1
  640. package/dist/app/modules/oauth2/repositories/token/repository.mjs +8 -0
  641. package/dist/app/modules/oauth2/repositories/token/repository.mjs.map +1 -1
  642. package/dist/app/modules/provisioning/module.d.ts.map +1 -1
  643. package/dist/app/modules/provisioning/module.mjs +25 -29
  644. package/dist/app/modules/provisioning/module.mjs.map +1 -1
  645. package/dist/app/modules/provisioning/sources/composite/module.d.ts +17 -0
  646. package/dist/app/modules/provisioning/sources/composite/module.d.ts.map +1 -1
  647. package/dist/app/modules/provisioning/sources/composite/module.mjs +54 -2
  648. package/dist/app/modules/provisioning/sources/composite/module.mjs.map +1 -1
  649. package/dist/app/modules/provisioning/sources/default/module.d.ts.map +1 -1
  650. package/dist/app/modules/provisioning/sources/default/module.mjs +54 -74
  651. package/dist/app/modules/provisioning/sources/default/module.mjs.map +1 -1
  652. package/dist/app/modules/provisioning/sources/file/module.d.ts.map +1 -1
  653. package/dist/app/modules/provisioning/sources/file/module.mjs +16 -5
  654. package/dist/app/modules/provisioning/sources/file/module.mjs.map +1 -1
  655. package/dist/app/modules/provisioning/sources/file/types.d.ts +2 -0
  656. package/dist/app/modules/provisioning/sources/file/types.d.ts.map +1 -1
  657. package/dist/app/modules/provisioning/sources/index.mjs +1 -0
  658. package/dist/components/database/unique-entries/module.mjs +6 -6
  659. package/dist/components/database/unique-entries/module.mjs.map +1 -1
  660. package/dist/components/event-cleaner/index.d.ts +2 -0
  661. package/dist/components/event-cleaner/index.d.ts.map +1 -0
  662. package/dist/components/event-cleaner/index.mjs +5 -0
  663. package/dist/components/event-cleaner/module.d.ts +5 -0
  664. package/dist/components/event-cleaner/module.d.ts.map +1 -0
  665. package/dist/components/event-cleaner/module.mjs +30 -0
  666. package/dist/components/event-cleaner/module.mjs.map +1 -0
  667. package/dist/components/index.d.ts +1 -0
  668. package/dist/components/index.d.ts.map +1 -1
  669. package/dist/components/index.mjs +3 -1
  670. package/dist/components/oauth2-cleaner/module.d.ts +2 -1
  671. package/dist/components/oauth2-cleaner/module.d.ts.map +1 -1
  672. package/dist/components/oauth2-cleaner/module.mjs +9 -4
  673. package/dist/components/oauth2-cleaner/module.mjs.map +1 -1
  674. package/dist/core/authentication/credential/entities/client/module.d.ts +2 -2
  675. package/dist/core/authentication/credential/entities/client/module.d.ts.map +1 -1
  676. package/dist/core/authentication/credential/entities/client/module.mjs +4 -3
  677. package/dist/core/authentication/credential/entities/client/module.mjs.map +1 -1
  678. package/dist/core/authentication/credential/entities/index.d.ts +0 -1
  679. package/dist/core/authentication/credential/entities/index.d.ts.map +1 -1
  680. package/dist/core/authentication/credential/entities/index.mjs +1 -3
  681. package/dist/core/authentication/credential/index.mjs +1 -2
  682. package/dist/core/authentication/entities/client/module.mjs +2 -2
  683. package/dist/core/authentication/entities/client/module.mjs.map +1 -1
  684. package/dist/core/authentication/entities/index.d.ts +0 -1
  685. package/dist/core/authentication/entities/index.d.ts.map +1 -1
  686. package/dist/core/authentication/entities/index.mjs +1 -3
  687. package/dist/core/authentication/index.d.ts +1 -0
  688. package/dist/core/authentication/index.d.ts.map +1 -1
  689. package/dist/core/authentication/index.mjs +3 -3
  690. package/dist/core/authentication/login-throttle/index.d.ts.map +1 -0
  691. package/dist/core/authentication/login-throttle/index.mjs +5 -0
  692. package/dist/core/authentication/login-throttle/service.d.ts +13 -0
  693. package/dist/core/authentication/login-throttle/service.d.ts.map +1 -0
  694. package/dist/core/authentication/login-throttle/service.mjs +33 -0
  695. package/dist/core/authentication/login-throttle/service.mjs.map +1 -0
  696. package/dist/core/authentication/login-throttle/types.d.ts +34 -0
  697. package/dist/core/authentication/login-throttle/types.d.ts.map +1 -0
  698. package/dist/core/authentication/session/module.d.ts +1 -0
  699. package/dist/core/authentication/session/module.d.ts.map +1 -1
  700. package/dist/core/authentication/session/module.mjs +17 -16
  701. package/dist/core/authentication/session/module.mjs.map +1 -1
  702. package/dist/core/authentication/session/types.d.ts +12 -5
  703. package/dist/core/authentication/session/types.d.ts.map +1 -1
  704. package/dist/core/authentication/session/types.mjs +4 -5
  705. package/dist/core/authentication/session/types.mjs.map +1 -1
  706. package/dist/core/client-certificate/index.d.ts.map +1 -0
  707. package/dist/core/client-certificate/index.mjs +5 -0
  708. package/dist/core/client-certificate/module.d.ts +19 -0
  709. package/dist/core/client-certificate/module.d.ts.map +1 -0
  710. package/dist/core/client-certificate/module.mjs +196 -0
  711. package/dist/core/client-certificate/module.mjs.map +1 -0
  712. package/dist/core/client-certificate/reflect.d.ts +2 -0
  713. package/dist/core/client-certificate/reflect.d.ts.map +1 -0
  714. package/dist/core/client-certificate/reflect.mjs +5 -0
  715. package/dist/core/client-certificate/types.d.ts +22 -0
  716. package/dist/core/client-certificate/types.d.ts.map +1 -0
  717. package/dist/core/entities/client/index.d.ts +1 -0
  718. package/dist/core/entities/client/index.d.ts.map +1 -1
  719. package/dist/core/entities/client/index.mjs +2 -1
  720. package/dist/core/entities/client/schema.d.ts +3 -0
  721. package/dist/core/entities/client/schema.d.ts.map +1 -0
  722. package/dist/core/entities/client/schema.mjs +59 -0
  723. package/dist/core/entities/client/schema.mjs.map +1 -0
  724. package/dist/core/entities/client/service.d.ts.map +1 -1
  725. package/dist/core/entities/client/service.mjs +50 -19
  726. package/dist/core/entities/client/service.mjs.map +1 -1
  727. package/dist/core/entities/client/types.d.ts +2 -1
  728. package/dist/core/entities/client/types.d.ts.map +1 -1
  729. package/dist/core/entities/client/web-client.d.ts +4 -4
  730. package/dist/core/entities/client/web-client.d.ts.map +1 -1
  731. package/dist/core/entities/client/web-client.mjs +14 -13
  732. package/dist/core/entities/client/web-client.mjs.map +1 -1
  733. package/dist/core/entities/client-permission/index.d.ts +1 -0
  734. package/dist/core/entities/client-permission/index.d.ts.map +1 -1
  735. package/dist/core/entities/client-permission/index.mjs +2 -1
  736. package/dist/core/entities/client-permission/schema.d.ts +3 -0
  737. package/dist/core/entities/client-permission/schema.d.ts.map +1 -0
  738. package/dist/core/entities/client-permission/schema.mjs +41 -0
  739. package/dist/core/entities/client-permission/schema.mjs.map +1 -0
  740. package/dist/core/entities/client-permission/service.d.ts +1 -1
  741. package/dist/core/entities/client-permission/service.d.ts.map +1 -1
  742. package/dist/core/entities/client-permission/service.mjs +24 -18
  743. package/dist/core/entities/client-permission/service.mjs.map +1 -1
  744. package/dist/core/entities/client-role/index.d.ts +1 -0
  745. package/dist/core/entities/client-role/index.d.ts.map +1 -1
  746. package/dist/core/entities/client-role/index.mjs +2 -1
  747. package/dist/core/entities/client-role/schema.d.ts +3 -0
  748. package/dist/core/entities/client-role/schema.d.ts.map +1 -0
  749. package/dist/core/entities/client-role/schema.mjs +39 -0
  750. package/dist/core/entities/client-role/schema.mjs.map +1 -0
  751. package/dist/core/entities/client-role/service.d.ts +1 -1
  752. package/dist/core/entities/client-role/service.d.ts.map +1 -1
  753. package/dist/core/entities/client-role/service.mjs +14 -8
  754. package/dist/core/entities/client-role/service.mjs.map +1 -1
  755. package/dist/core/entities/client-scope/index.d.ts +1 -0
  756. package/dist/core/entities/client-scope/index.d.ts.map +1 -1
  757. package/dist/core/entities/client-scope/index.mjs +2 -1
  758. package/dist/core/entities/client-scope/schema.d.ts +3 -0
  759. package/dist/core/entities/client-scope/schema.d.ts.map +1 -0
  760. package/dist/core/entities/client-scope/schema.mjs +37 -0
  761. package/dist/core/entities/client-scope/schema.mjs.map +1 -0
  762. package/dist/core/entities/client-scope/service.d.ts +1 -1
  763. package/dist/core/entities/client-scope/service.d.ts.map +1 -1
  764. package/dist/core/entities/client-scope/service.mjs +12 -6
  765. package/dist/core/entities/client-scope/service.mjs.map +1 -1
  766. package/dist/core/entities/consent/index.d.ts +4 -0
  767. package/dist/core/entities/consent/index.d.ts.map +1 -0
  768. package/dist/core/entities/consent/index.mjs +7 -0
  769. package/dist/core/entities/consent/schema.d.ts +3 -0
  770. package/dist/core/entities/consent/schema.d.ts.map +1 -0
  771. package/dist/core/entities/consent/schema.mjs +40 -0
  772. package/dist/core/entities/consent/schema.mjs.map +1 -0
  773. package/dist/core/entities/consent/service.d.ts +19 -0
  774. package/dist/core/entities/consent/service.d.ts.map +1 -0
  775. package/dist/core/entities/consent/service.mjs +138 -0
  776. package/dist/core/entities/consent/service.mjs.map +1 -0
  777. package/dist/core/entities/consent/types.d.ts +98 -0
  778. package/dist/core/entities/consent/types.d.ts.map +1 -0
  779. package/dist/core/entities/consent/types.mjs +25 -0
  780. package/dist/core/entities/consent/types.mjs.map +1 -0
  781. package/dist/core/entities/event/constants.d.ts +7 -0
  782. package/dist/core/entities/event/constants.d.ts.map +1 -0
  783. package/dist/core/entities/event/constants.mjs +13 -0
  784. package/dist/core/entities/event/constants.mjs.map +1 -0
  785. package/dist/core/entities/event/diff.d.ts +20 -0
  786. package/dist/core/entities/event/diff.d.ts.map +1 -0
  787. package/dist/core/entities/event/diff.mjs +45 -0
  788. package/dist/core/entities/event/diff.mjs.map +1 -0
  789. package/dist/core/entities/event/entity-event-handler.d.ts +19 -0
  790. package/dist/core/entities/event/entity-event-handler.d.ts.map +1 -0
  791. package/dist/core/entities/event/entity-event-handler.mjs +98 -0
  792. package/dist/core/entities/event/entity-event-handler.mjs.map +1 -0
  793. package/dist/core/entities/event/index.d.ts +8 -0
  794. package/dist/core/entities/event/index.d.ts.map +1 -0
  795. package/dist/core/entities/event/index.mjs +10 -0
  796. package/dist/core/entities/event/sanitize.d.ts +2 -0
  797. package/dist/core/entities/event/sanitize.d.ts.map +1 -0
  798. package/dist/core/entities/event/sanitize.mjs +83 -0
  799. package/dist/core/entities/event/sanitize.mjs.map +1 -0
  800. package/dist/core/entities/event/schema.d.ts +3 -0
  801. package/dist/core/entities/event/schema.d.ts.map +1 -0
  802. package/dist/core/entities/event/schema.mjs +51 -0
  803. package/dist/core/entities/event/schema.mjs.map +1 -0
  804. package/dist/core/entities/event/service.d.ts +22 -0
  805. package/dist/core/entities/event/service.d.ts.map +1 -0
  806. package/dist/core/entities/event/service.mjs +185 -0
  807. package/dist/core/entities/event/service.mjs.map +1 -0
  808. package/dist/core/entities/event/types.d.ts +125 -0
  809. package/dist/core/entities/event/types.d.ts.map +1 -0
  810. package/dist/core/entities/identity-provider/index.d.ts +1 -0
  811. package/dist/core/entities/identity-provider/index.d.ts.map +1 -1
  812. package/dist/core/entities/identity-provider/index.mjs +2 -1
  813. package/dist/core/entities/identity-provider/schema.d.ts +3 -0
  814. package/dist/core/entities/identity-provider/schema.d.ts.map +1 -0
  815. package/dist/core/entities/identity-provider/schema.mjs +43 -0
  816. package/dist/core/entities/identity-provider/schema.mjs.map +1 -0
  817. package/dist/core/entities/identity-provider-role-mapping/index.d.ts +1 -0
  818. package/dist/core/entities/identity-provider-role-mapping/index.d.ts.map +1 -1
  819. package/dist/core/entities/identity-provider-role-mapping/index.mjs +2 -1
  820. package/dist/core/entities/identity-provider-role-mapping/schema.d.ts +3 -0
  821. package/dist/core/entities/identity-provider-role-mapping/schema.d.ts.map +1 -0
  822. package/dist/core/entities/identity-provider-role-mapping/schema.mjs +43 -0
  823. package/dist/core/entities/identity-provider-role-mapping/schema.mjs.map +1 -0
  824. package/dist/core/entities/identity-provider-role-mapping/service.d.ts +1 -1
  825. package/dist/core/entities/identity-provider-role-mapping/service.d.ts.map +1 -1
  826. package/dist/core/entities/identity-provider-role-mapping/service.mjs +18 -12
  827. package/dist/core/entities/identity-provider-role-mapping/service.mjs.map +1 -1
  828. package/dist/core/entities/index.d.ts +5 -3
  829. package/dist/core/entities/index.d.ts.map +1 -1
  830. package/dist/core/entities/index.mjs +45 -7
  831. package/dist/core/entities/key/index.d.ts +4 -0
  832. package/dist/core/entities/key/index.d.ts.map +1 -0
  833. package/dist/core/entities/key/index.mjs +6 -0
  834. package/dist/core/entities/key/schema.d.ts +3 -0
  835. package/dist/core/entities/key/schema.d.ts.map +1 -0
  836. package/dist/core/entities/key/schema.mjs +53 -0
  837. package/dist/core/entities/key/schema.mjs.map +1 -0
  838. package/dist/core/entities/key/service.d.ts +55 -0
  839. package/dist/core/entities/key/service.d.ts.map +1 -0
  840. package/dist/core/entities/key/service.mjs +320 -0
  841. package/dist/core/entities/key/service.mjs.map +1 -0
  842. package/dist/core/entities/key/types.d.ts +41 -0
  843. package/dist/core/entities/key/types.d.ts.map +1 -0
  844. package/dist/core/entities/permission/index.d.ts +1 -0
  845. package/dist/core/entities/permission/index.d.ts.map +1 -1
  846. package/dist/core/entities/permission/index.mjs +2 -1
  847. package/dist/core/entities/permission/schema.d.ts +3 -0
  848. package/dist/core/entities/permission/schema.d.ts.map +1 -0
  849. package/dist/core/entities/permission/schema.mjs +28 -0
  850. package/dist/core/entities/permission/schema.mjs.map +1 -0
  851. package/dist/core/entities/permission/service.d.ts +7 -2
  852. package/dist/core/entities/permission/service.d.ts.map +1 -1
  853. package/dist/core/entities/permission/service.mjs +54 -41
  854. package/dist/core/entities/permission/service.mjs.map +1 -1
  855. package/dist/core/entities/permission-policy/index.d.ts +1 -0
  856. package/dist/core/entities/permission-policy/index.d.ts.map +1 -1
  857. package/dist/core/entities/permission-policy/index.mjs +2 -1
  858. package/dist/core/entities/permission-policy/schema.d.ts +3 -0
  859. package/dist/core/entities/permission-policy/schema.d.ts.map +1 -0
  860. package/dist/core/entities/permission-policy/schema.mjs +39 -0
  861. package/dist/core/entities/permission-policy/schema.mjs.map +1 -0
  862. package/dist/core/entities/permission-policy/service.d.ts +1 -1
  863. package/dist/core/entities/permission-policy/service.d.ts.map +1 -1
  864. package/dist/core/entities/permission-policy/service.mjs +12 -6
  865. package/dist/core/entities/permission-policy/service.mjs.map +1 -1
  866. package/dist/core/entities/policy/index.d.ts +1 -0
  867. package/dist/core/entities/policy/index.d.ts.map +1 -1
  868. package/dist/core/entities/policy/index.mjs +2 -1
  869. package/dist/core/entities/policy/schema.d.ts +3 -0
  870. package/dist/core/entities/policy/schema.d.ts.map +1 -0
  871. package/dist/core/entities/policy/schema.mjs +49 -0
  872. package/dist/core/entities/policy/schema.mjs.map +1 -0
  873. package/dist/core/entities/policy/service.d.ts.map +1 -1
  874. package/dist/core/entities/policy/service.mjs +15 -9
  875. package/dist/core/entities/policy/service.mjs.map +1 -1
  876. package/dist/core/entities/realm/index.d.ts +1 -0
  877. package/dist/core/entities/realm/index.d.ts.map +1 -1
  878. package/dist/core/entities/realm/index.mjs +2 -1
  879. package/dist/core/entities/realm/schema.d.ts +3 -0
  880. package/dist/core/entities/realm/schema.d.ts.map +1 -0
  881. package/dist/core/entities/realm/schema.mjs +36 -0
  882. package/dist/core/entities/realm/schema.mjs.map +1 -0
  883. package/dist/core/entities/realm/service.d.ts +3 -0
  884. package/dist/core/entities/realm/service.d.ts.map +1 -1
  885. package/dist/core/entities/realm/service.mjs +10 -4
  886. package/dist/core/entities/realm/service.mjs.map +1 -1
  887. package/dist/core/entities/realm/types.d.ts +1 -1
  888. package/dist/core/entities/role/index.d.ts +1 -0
  889. package/dist/core/entities/role/index.d.ts.map +1 -1
  890. package/dist/core/entities/role/index.mjs +2 -1
  891. package/dist/core/entities/role/schema.d.ts +3 -0
  892. package/dist/core/entities/role/schema.d.ts.map +1 -0
  893. package/dist/core/entities/role/schema.mjs +43 -0
  894. package/dist/core/entities/role/schema.mjs.map +1 -0
  895. package/dist/core/entities/role/service.d.ts.map +1 -1
  896. package/dist/core/entities/role/service.mjs +13 -7
  897. package/dist/core/entities/role/service.mjs.map +1 -1
  898. package/dist/core/entities/role-attribute/index.d.ts +1 -0
  899. package/dist/core/entities/role-attribute/index.d.ts.map +1 -1
  900. package/dist/core/entities/role-attribute/index.mjs +2 -1
  901. package/dist/core/entities/role-attribute/schema.d.ts +3 -0
  902. package/dist/core/entities/role-attribute/schema.d.ts.map +1 -0
  903. package/dist/core/entities/role-attribute/schema.mjs +47 -0
  904. package/dist/core/entities/role-attribute/schema.mjs.map +1 -0
  905. package/dist/core/entities/role-attribute/service.d.ts.map +1 -1
  906. package/dist/core/entities/role-attribute/service.mjs +22 -9
  907. package/dist/core/entities/role-attribute/service.mjs.map +1 -1
  908. package/dist/core/entities/role-permission/index.d.ts +1 -0
  909. package/dist/core/entities/role-permission/index.d.ts.map +1 -1
  910. package/dist/core/entities/role-permission/index.mjs +2 -1
  911. package/dist/core/entities/role-permission/schema.d.ts +3 -0
  912. package/dist/core/entities/role-permission/schema.d.ts.map +1 -0
  913. package/dist/core/entities/role-permission/schema.mjs +41 -0
  914. package/dist/core/entities/role-permission/schema.mjs.map +1 -0
  915. package/dist/core/entities/role-permission/service.d.ts +1 -1
  916. package/dist/core/entities/role-permission/service.d.ts.map +1 -1
  917. package/dist/core/entities/role-permission/service.mjs +24 -18
  918. package/dist/core/entities/role-permission/service.mjs.map +1 -1
  919. package/dist/core/entities/scope/index.d.ts +1 -0
  920. package/dist/core/entities/scope/index.d.ts.map +1 -1
  921. package/dist/core/entities/scope/index.mjs +2 -1
  922. package/dist/core/entities/scope/schema.d.ts +3 -0
  923. package/dist/core/entities/scope/schema.d.ts.map +1 -0
  924. package/dist/core/entities/scope/schema.mjs +43 -0
  925. package/dist/core/entities/scope/schema.mjs.map +1 -0
  926. package/dist/core/entities/scope/service.d.ts.map +1 -1
  927. package/dist/core/entities/scope/service.mjs +11 -5
  928. package/dist/core/entities/scope/service.mjs.map +1 -1
  929. package/dist/core/entities/session/index.d.ts +1 -0
  930. package/dist/core/entities/session/index.d.ts.map +1 -1
  931. package/dist/core/entities/session/index.mjs +2 -1
  932. package/dist/core/entities/session/schema.d.ts +3 -0
  933. package/dist/core/entities/session/schema.d.ts.map +1 -0
  934. package/dist/core/entities/session/schema.mjs +44 -0
  935. package/dist/core/entities/session/schema.mjs.map +1 -0
  936. package/dist/core/entities/session/service.d.ts +11 -0
  937. package/dist/core/entities/session/service.d.ts.map +1 -1
  938. package/dist/core/entities/session/service.mjs +53 -13
  939. package/dist/core/entities/session/service.mjs.map +1 -1
  940. package/dist/core/entities/session/types.d.ts +2 -2
  941. package/dist/core/entities/trust-anchor/index.d.ts +4 -0
  942. package/dist/core/entities/trust-anchor/index.d.ts.map +1 -0
  943. package/dist/core/entities/trust-anchor/index.mjs +6 -0
  944. package/dist/core/entities/trust-anchor/schema.d.ts +3 -0
  945. package/dist/core/entities/trust-anchor/schema.d.ts.map +1 -0
  946. package/dist/core/entities/trust-anchor/schema.mjs +43 -0
  947. package/dist/core/entities/trust-anchor/schema.mjs.map +1 -0
  948. package/dist/core/entities/trust-anchor/service.d.ts +33 -0
  949. package/dist/core/entities/trust-anchor/service.d.ts.map +1 -0
  950. package/dist/core/entities/trust-anchor/service.mjs +191 -0
  951. package/dist/core/entities/trust-anchor/service.mjs.map +1 -0
  952. package/dist/core/entities/trust-anchor/types.d.ts +22 -0
  953. package/dist/core/entities/trust-anchor/types.d.ts.map +1 -0
  954. package/dist/core/entities/user/index.d.ts +1 -0
  955. package/dist/core/entities/user/index.d.ts.map +1 -1
  956. package/dist/core/entities/user/index.mjs +2 -1
  957. package/dist/core/entities/user/schema.d.ts +3 -0
  958. package/dist/core/entities/user/schema.d.ts.map +1 -0
  959. package/dist/core/entities/user/schema.mjs +50 -0
  960. package/dist/core/entities/user/schema.mjs.map +1 -0
  961. package/dist/core/entities/user/service.d.ts.map +1 -1
  962. package/dist/core/entities/user/service.mjs +35 -14
  963. package/dist/core/entities/user/service.mjs.map +1 -1
  964. package/dist/core/entities/user/types.d.ts +2 -1
  965. package/dist/core/entities/user/types.d.ts.map +1 -1
  966. package/dist/core/entities/user-attribute/index.d.ts +1 -0
  967. package/dist/core/entities/user-attribute/index.d.ts.map +1 -1
  968. package/dist/core/entities/user-attribute/index.mjs +2 -1
  969. package/dist/core/entities/user-attribute/schema.d.ts +3 -0
  970. package/dist/core/entities/user-attribute/schema.d.ts.map +1 -0
  971. package/dist/core/entities/user-attribute/schema.mjs +47 -0
  972. package/dist/core/entities/user-attribute/schema.mjs.map +1 -0
  973. package/dist/core/entities/user-attribute/service.d.ts.map +1 -1
  974. package/dist/core/entities/user-attribute/service.mjs +29 -13
  975. package/dist/core/entities/user-attribute/service.mjs.map +1 -1
  976. package/dist/core/entities/user-authenticator/constants.d.ts +26 -0
  977. package/dist/core/entities/user-authenticator/constants.d.ts.map +1 -0
  978. package/dist/core/entities/user-authenticator/constants.mjs +32 -0
  979. package/dist/core/entities/user-authenticator/constants.mjs.map +1 -0
  980. package/dist/core/entities/user-authenticator/helpers.d.ts +10 -0
  981. package/dist/core/entities/user-authenticator/helpers.d.ts.map +1 -0
  982. package/dist/core/entities/user-authenticator/helpers.mjs +35 -0
  983. package/dist/core/entities/user-authenticator/helpers.mjs.map +1 -0
  984. package/dist/core/entities/user-authenticator/index.d.ts +7 -0
  985. package/dist/core/entities/user-authenticator/index.d.ts.map +1 -0
  986. package/dist/core/entities/user-authenticator/index.mjs +10 -0
  987. package/dist/core/entities/user-authenticator/schema.d.ts +3 -0
  988. package/dist/core/entities/user-authenticator/schema.d.ts.map +1 -0
  989. package/dist/core/entities/user-authenticator/schema.mjs +47 -0
  990. package/dist/core/entities/user-authenticator/schema.mjs.map +1 -0
  991. package/dist/core/entities/user-authenticator/service.d.ts +89 -0
  992. package/dist/core/entities/user-authenticator/service.d.ts.map +1 -0
  993. package/dist/core/entities/user-authenticator/service.mjs +731 -0
  994. package/dist/core/entities/user-authenticator/service.mjs.map +1 -0
  995. package/dist/core/entities/user-authenticator/types.d.ts +222 -0
  996. package/dist/core/entities/user-authenticator/types.d.ts.map +1 -0
  997. package/dist/core/entities/user-authenticator/types.mjs +15 -0
  998. package/dist/core/entities/user-authenticator/types.mjs.map +1 -0
  999. package/dist/core/entities/user-authenticator/webauthn.d.ts +28 -0
  1000. package/dist/core/entities/user-authenticator/webauthn.d.ts.map +1 -0
  1001. package/dist/core/entities/user-authenticator/webauthn.mjs +88 -0
  1002. package/dist/core/entities/user-authenticator/webauthn.mjs.map +1 -0
  1003. package/dist/core/entities/user-permission/index.d.ts +1 -0
  1004. package/dist/core/entities/user-permission/index.d.ts.map +1 -1
  1005. package/dist/core/entities/user-permission/index.mjs +2 -1
  1006. package/dist/core/entities/user-permission/schema.d.ts +3 -0
  1007. package/dist/core/entities/user-permission/schema.d.ts.map +1 -0
  1008. package/dist/core/entities/user-permission/schema.mjs +41 -0
  1009. package/dist/core/entities/user-permission/schema.mjs.map +1 -0
  1010. package/dist/core/entities/user-permission/service.d.ts +1 -1
  1011. package/dist/core/entities/user-permission/service.d.ts.map +1 -1
  1012. package/dist/core/entities/user-permission/service.mjs +24 -18
  1013. package/dist/core/entities/user-permission/service.mjs.map +1 -1
  1014. package/dist/core/entities/user-role/index.d.ts +1 -0
  1015. package/dist/core/entities/user-role/index.d.ts.map +1 -1
  1016. package/dist/core/entities/user-role/index.mjs +2 -1
  1017. package/dist/core/entities/user-role/schema.d.ts +3 -0
  1018. package/dist/core/entities/user-role/schema.d.ts.map +1 -0
  1019. package/dist/core/entities/user-role/schema.mjs +39 -0
  1020. package/dist/core/entities/user-role/schema.mjs.map +1 -0
  1021. package/dist/core/entities/user-role/service.d.ts +1 -1
  1022. package/dist/core/entities/user-role/service.d.ts.map +1 -1
  1023. package/dist/core/entities/user-role/service.mjs +14 -8
  1024. package/dist/core/entities/user-role/service.mjs.map +1 -1
  1025. package/dist/core/identity/entities/index.d.ts +0 -1
  1026. package/dist/core/identity/entities/index.d.ts.map +1 -1
  1027. package/dist/core/identity/index.mjs +2 -1
  1028. package/dist/core/identity/password-recovery/disabled.d.ts +2 -2
  1029. package/dist/core/identity/password-recovery/disabled.d.ts.map +1 -1
  1030. package/dist/core/identity/password-recovery/disabled.mjs +2 -2
  1031. package/dist/core/identity/password-recovery/disabled.mjs.map +1 -1
  1032. package/dist/core/identity/password-recovery/email-verification-required.d.ts +2 -2
  1033. package/dist/core/identity/password-recovery/email-verification-required.d.ts.map +1 -1
  1034. package/dist/core/identity/password-recovery/email-verification-required.mjs +2 -2
  1035. package/dist/core/identity/password-recovery/email-verification-required.mjs.map +1 -1
  1036. package/dist/core/identity/password-recovery/service.d.ts +2 -1
  1037. package/dist/core/identity/password-recovery/service.d.ts.map +1 -1
  1038. package/dist/core/identity/password-recovery/service.mjs +45 -23
  1039. package/dist/core/identity/password-recovery/service.mjs.map +1 -1
  1040. package/dist/core/identity/password-recovery/token-expired.d.ts +2 -2
  1041. package/dist/core/identity/password-recovery/token-expired.d.ts.map +1 -1
  1042. package/dist/core/identity/password-recovery/token-expired.mjs +2 -2
  1043. package/dist/core/identity/password-recovery/token-expired.mjs.map +1 -1
  1044. package/dist/core/identity/password-recovery/types.d.ts +4 -3
  1045. package/dist/core/identity/password-recovery/types.d.ts.map +1 -1
  1046. package/dist/core/identity/permission/checker/service.mjs +2 -2
  1047. package/dist/core/identity/permission/checker/service.mjs.map +1 -1
  1048. package/dist/core/identity/permission/identity-policy-data.mjs +2 -2
  1049. package/dist/core/identity/permission/identity-policy-data.mjs.map +1 -1
  1050. package/dist/core/identity/permission/index.d.ts +1 -0
  1051. package/dist/core/identity/permission/index.d.ts.map +1 -1
  1052. package/dist/core/identity/permission/index.mjs +2 -1
  1053. package/dist/core/identity/permission/junction-grant.d.ts +6 -6
  1054. package/dist/core/identity/permission/junction-grant.mjs +14 -14
  1055. package/dist/core/identity/permission/junction-grant.mjs.map +1 -1
  1056. package/dist/core/identity/permission/module.d.ts +0 -3
  1057. package/dist/core/identity/permission/module.d.ts.map +1 -1
  1058. package/dist/core/identity/permission/module.mjs +9 -15
  1059. package/dist/core/identity/permission/module.mjs.map +1 -1
  1060. package/dist/core/identity/permission/types.d.ts +0 -2
  1061. package/dist/core/identity/permission/types.d.ts.map +1 -1
  1062. package/dist/core/identity/policy/checker/service.mjs +2 -2
  1063. package/dist/core/identity/policy/checker/service.mjs.map +1 -1
  1064. package/dist/core/identity/provider/account/module.mjs +9 -9
  1065. package/dist/core/identity/provider/account/module.mjs.map +1 -1
  1066. package/dist/core/identity/provider/authentication/presets/facebook.mjs +5 -5
  1067. package/dist/core/identity/provider/authentication/presets/facebook.mjs.map +1 -1
  1068. package/dist/core/identity/provider/authentication/presets/github.mjs +3 -3
  1069. package/dist/core/identity/provider/authentication/presets/github.mjs.map +1 -1
  1070. package/dist/core/identity/provider/authentication/presets/google.mjs +5 -5
  1071. package/dist/core/identity/provider/authentication/presets/google.mjs.map +1 -1
  1072. package/dist/core/identity/provider/authentication/presets/instagram.mjs +3 -3
  1073. package/dist/core/identity/provider/authentication/presets/instagram.mjs.map +1 -1
  1074. package/dist/core/identity/provider/authentication/presets/paypal.mjs +3 -3
  1075. package/dist/core/identity/provider/authentication/presets/paypal.mjs.map +1 -1
  1076. package/dist/core/identity/provider/authentication/protocols/ldap/module.mjs +20 -20
  1077. package/dist/core/identity/provider/authentication/protocols/ldap/module.mjs.map +1 -1
  1078. package/dist/core/identity/provider/authentication/protocols/oauth2/module.mjs +7 -7
  1079. package/dist/core/identity/provider/authentication/protocols/oauth2/module.mjs.map +1 -1
  1080. package/dist/core/identity/provider/mapper/attributes/module.mjs +3 -3
  1081. package/dist/core/identity/provider/mapper/attributes/module.mjs.map +1 -1
  1082. package/dist/core/identity/provider/mapper/base.mjs +2 -2
  1083. package/dist/core/identity/provider/mapper/base.mjs.map +1 -1
  1084. package/dist/core/identity/provider/mapper/permission/module.mjs +2 -2
  1085. package/dist/core/identity/provider/mapper/permission/module.mjs.map +1 -1
  1086. package/dist/core/identity/provider/mapper/role/module.mjs +2 -2
  1087. package/dist/core/identity/provider/mapper/role/module.mjs.map +1 -1
  1088. package/dist/core/identity/registration/error.d.ts +2 -2
  1089. package/dist/core/identity/registration/error.d.ts.map +1 -1
  1090. package/dist/core/identity/registration/error.mjs +2 -2
  1091. package/dist/core/identity/registration/error.mjs.map +1 -1
  1092. package/dist/core/identity/registration/service.d.ts +2 -1
  1093. package/dist/core/identity/registration/service.d.ts.map +1 -1
  1094. package/dist/core/identity/registration/service.mjs +33 -11
  1095. package/dist/core/identity/registration/service.mjs.map +1 -1
  1096. package/dist/core/identity/registration/types.d.ts +2 -1
  1097. package/dist/core/identity/registration/types.d.ts.map +1 -1
  1098. package/dist/core/identity/resolver/module.d.ts +1 -3
  1099. package/dist/core/identity/resolver/module.d.ts.map +1 -1
  1100. package/dist/core/identity/resolver/module.mjs +0 -13
  1101. package/dist/core/identity/resolver/module.mjs.map +1 -1
  1102. package/dist/core/identity/resolver/types.d.ts +1 -2
  1103. package/dist/core/identity/resolver/types.d.ts.map +1 -1
  1104. package/dist/core/identity/role/module.d.ts +0 -2
  1105. package/dist/core/identity/role/module.d.ts.map +1 -1
  1106. package/dist/core/identity/role/module.mjs +1 -4
  1107. package/dist/core/identity/role/module.mjs.map +1 -1
  1108. package/dist/core/identity/role/types.d.ts +0 -2
  1109. package/dist/core/identity/role/types.d.ts.map +1 -1
  1110. package/dist/core/index.d.ts +4 -0
  1111. package/dist/core/index.d.ts.map +1 -1
  1112. package/dist/core/index.mjs +66 -16
  1113. package/dist/core/key/certificate-error.d.ts +10 -0
  1114. package/dist/core/key/certificate-error.d.ts.map +1 -0
  1115. package/dist/core/key/certificate-error.mjs +19 -0
  1116. package/dist/core/key/certificate-error.mjs.map +1 -0
  1117. package/dist/core/key/certificate.d.ts +15 -0
  1118. package/dist/core/key/certificate.d.ts.map +1 -0
  1119. package/dist/core/key/certificate.mjs +72 -0
  1120. package/dist/core/key/certificate.mjs.map +1 -0
  1121. package/dist/core/key/check.d.ts +3 -0
  1122. package/dist/core/key/check.d.ts.map +1 -0
  1123. package/dist/core/key/check.mjs +13 -0
  1124. package/dist/core/key/check.mjs.map +1 -0
  1125. package/dist/core/key/constants.d.ts +10 -0
  1126. package/dist/core/key/constants.d.ts.map +1 -0
  1127. package/dist/core/key/constants.mjs +15 -0
  1128. package/dist/core/key/constants.mjs.map +1 -0
  1129. package/dist/core/key/error.d.ts +14 -0
  1130. package/dist/core/key/error.d.ts.map +1 -0
  1131. package/dist/core/key/error.mjs +23 -0
  1132. package/dist/core/key/error.mjs.map +1 -0
  1133. package/dist/core/key/index.d.ts +10 -0
  1134. package/dist/core/key/index.d.ts.map +1 -0
  1135. package/dist/core/key/index.mjs +12 -0
  1136. package/dist/core/key/provisioner.d.ts +22 -0
  1137. package/dist/core/key/provisioner.d.ts.map +1 -0
  1138. package/dist/core/key/provisioner.mjs +30 -0
  1139. package/dist/core/key/provisioner.mjs.map +1 -0
  1140. package/dist/core/key/realm-cipher.d.ts +20 -0
  1141. package/dist/core/key/realm-cipher.d.ts.map +1 -0
  1142. package/dist/core/key/realm-cipher.mjs +60 -0
  1143. package/dist/core/key/realm-cipher.mjs.map +1 -0
  1144. package/dist/core/key/types.d.ts +59 -0
  1145. package/dist/core/key/types.d.ts.map +1 -0
  1146. package/dist/core/key/wrap.d.ts +5 -0
  1147. package/dist/core/key/wrap.d.ts.map +1 -0
  1148. package/dist/core/key/wrap.mjs +21 -0
  1149. package/dist/core/key/wrap.mjs.map +1 -0
  1150. package/dist/core/mail/template/registry.d.ts.map +1 -1
  1151. package/dist/core/mail/template/registry.mjs +3 -1
  1152. package/dist/core/mail/template/registry.mjs.map +1 -1
  1153. package/dist/core/mail/template/templates/mfa-email-otp.d.ts +3 -0
  1154. package/dist/core/mail/template/templates/mfa-email-otp.d.ts.map +1 -0
  1155. package/dist/core/mail/template/templates/mfa-email-otp.mjs +34 -0
  1156. package/dist/core/mail/template/templates/mfa-email-otp.mjs.map +1 -0
  1157. package/dist/core/mail/template/types.d.ts +6 -1
  1158. package/dist/core/mail/template/types.d.ts.map +1 -1
  1159. package/dist/core/mail/template/types.mjs +1 -0
  1160. package/dist/core/mail/template/types.mjs.map +1 -1
  1161. package/dist/core/metrics/index.d.ts +3 -0
  1162. package/dist/core/metrics/index.d.ts.map +1 -0
  1163. package/dist/core/metrics/index.mjs +5 -0
  1164. package/dist/core/metrics/noop.d.ts +8 -0
  1165. package/dist/core/metrics/noop.d.ts.map +1 -0
  1166. package/dist/core/metrics/noop.mjs +14 -0
  1167. package/dist/core/metrics/noop.mjs.map +1 -0
  1168. package/dist/core/metrics/types.d.ts +19 -0
  1169. package/dist/core/metrics/types.d.ts.map +1 -0
  1170. package/dist/core/oauth2/access-policy/index.d.ts +3 -0
  1171. package/dist/core/oauth2/access-policy/index.d.ts.map +1 -0
  1172. package/dist/core/oauth2/access-policy/index.mjs +5 -0
  1173. package/dist/core/oauth2/access-policy/module.d.ts +12 -0
  1174. package/dist/core/oauth2/access-policy/module.d.ts.map +1 -0
  1175. package/dist/core/oauth2/access-policy/module.mjs +32 -0
  1176. package/dist/core/oauth2/access-policy/module.mjs.map +1 -0
  1177. package/dist/core/oauth2/access-policy/types.d.ts +19 -0
  1178. package/dist/core/oauth2/access-policy/types.d.ts.map +1 -0
  1179. package/dist/core/oauth2/authorization/code/issuer/module.d.ts.map +1 -1
  1180. package/dist/core/oauth2/authorization/code/issuer/module.mjs +2 -0
  1181. package/dist/core/oauth2/authorization/code/issuer/module.mjs.map +1 -1
  1182. package/dist/core/oauth2/authorization/code/issuer/types.d.ts +6 -1
  1183. package/dist/core/oauth2/authorization/code/issuer/types.d.ts.map +1 -1
  1184. package/dist/core/oauth2/authorization/code/verifier/module.mjs.map +1 -1
  1185. package/dist/core/oauth2/authorization/code-request/validator.d.ts.map +1 -1
  1186. package/dist/core/oauth2/authorization/code-request/validator.mjs +1 -0
  1187. package/dist/core/oauth2/authorization/code-request/validator.mjs.map +1 -1
  1188. package/dist/core/oauth2/authorization/code-request/verifier/module.mjs +6 -6
  1189. package/dist/core/oauth2/authorization/code-request/verifier/module.mjs.map +1 -1
  1190. package/dist/core/oauth2/authorization/helpers.d.ts +10 -1
  1191. package/dist/core/oauth2/authorization/helpers.d.ts.map +1 -1
  1192. package/dist/core/oauth2/authorization/helpers.mjs +28 -2
  1193. package/dist/core/oauth2/authorization/helpers.mjs.map +1 -1
  1194. package/dist/core/oauth2/authorization/index.mjs +2 -2
  1195. package/dist/core/oauth2/authorization/module.d.ts +9 -0
  1196. package/dist/core/oauth2/authorization/module.d.ts.map +1 -1
  1197. package/dist/core/oauth2/authorization/module.mjs +82 -5
  1198. package/dist/core/oauth2/authorization/module.mjs.map +1 -1
  1199. package/dist/core/oauth2/authorization/types.d.ts +36 -0
  1200. package/dist/core/oauth2/authorization/types.d.ts.map +1 -1
  1201. package/dist/core/oauth2/client/authenticator.d.ts +16 -7
  1202. package/dist/core/oauth2/client/authenticator.d.ts.map +1 -1
  1203. package/dist/core/oauth2/client/authenticator.mjs +49 -12
  1204. package/dist/core/oauth2/client/authenticator.mjs.map +1 -1
  1205. package/dist/core/oauth2/client/grant-type.d.ts +1 -1
  1206. package/dist/core/oauth2/client/grant-type.d.ts.map +1 -1
  1207. package/dist/core/oauth2/client/grant-type.mjs +2 -2
  1208. package/dist/core/oauth2/client/grant-type.mjs.map +1 -1
  1209. package/dist/core/oauth2/end-session/service.d.ts +2 -1
  1210. package/dist/core/oauth2/end-session/service.d.ts.map +1 -1
  1211. package/dist/core/oauth2/end-session/service.mjs +15 -2
  1212. package/dist/core/oauth2/end-session/service.mjs.map +1 -1
  1213. package/dist/core/oauth2/end-session/types.d.ts +2 -1
  1214. package/dist/core/oauth2/end-session/types.d.ts.map +1 -1
  1215. package/dist/core/oauth2/grant-types/authorize.d.ts +2 -2
  1216. package/dist/core/oauth2/grant-types/authorize.d.ts.map +1 -1
  1217. package/dist/core/oauth2/grant-types/authorize.mjs +20 -16
  1218. package/dist/core/oauth2/grant-types/authorize.mjs.map +1 -1
  1219. package/dist/core/oauth2/grant-types/client-credentials.d.ts.map +1 -1
  1220. package/dist/core/oauth2/grant-types/client-credentials.mjs +10 -8
  1221. package/dist/core/oauth2/grant-types/client-credentials.mjs.map +1 -1
  1222. package/dist/core/oauth2/grant-types/identity.d.ts.map +1 -1
  1223. package/dist/core/oauth2/grant-types/identity.mjs +16 -9
  1224. package/dist/core/oauth2/grant-types/identity.mjs.map +1 -1
  1225. package/dist/core/oauth2/grant-types/index.d.ts +0 -1
  1226. package/dist/core/oauth2/grant-types/index.d.ts.map +1 -1
  1227. package/dist/core/oauth2/grant-types/index.mjs +1 -2
  1228. package/dist/core/oauth2/grant-types/password.d.ts +9 -0
  1229. package/dist/core/oauth2/grant-types/password.d.ts.map +1 -1
  1230. package/dist/core/oauth2/grant-types/password.mjs +39 -11
  1231. package/dist/core/oauth2/grant-types/password.mjs.map +1 -1
  1232. package/dist/core/oauth2/grant-types/refresh-token.d.ts +4 -0
  1233. package/dist/core/oauth2/grant-types/refresh-token.d.ts.map +1 -1
  1234. package/dist/core/oauth2/grant-types/refresh-token.mjs +29 -13
  1235. package/dist/core/oauth2/grant-types/refresh-token.mjs.map +1 -1
  1236. package/dist/core/oauth2/grant-types/types.d.ts +10 -3
  1237. package/dist/core/oauth2/grant-types/types.d.ts.map +1 -1
  1238. package/dist/core/oauth2/index.d.ts +2 -1
  1239. package/dist/core/oauth2/index.d.ts.map +1 -1
  1240. package/dist/core/oauth2/index.mjs +7 -3
  1241. package/dist/core/oauth2/mfa-login/index.d.ts +3 -0
  1242. package/dist/core/oauth2/mfa-login/index.d.ts.map +1 -0
  1243. package/dist/core/oauth2/mfa-login/index.mjs +5 -0
  1244. package/dist/core/oauth2/mfa-login/module.d.ts +19 -0
  1245. package/dist/core/oauth2/mfa-login/module.d.ts.map +1 -0
  1246. package/dist/core/oauth2/mfa-login/module.mjs +109 -0
  1247. package/dist/core/oauth2/mfa-login/module.mjs.map +1 -0
  1248. package/dist/core/oauth2/mfa-login/types.d.ts +64 -0
  1249. package/dist/core/oauth2/mfa-login/types.d.ts.map +1 -0
  1250. package/dist/core/oauth2/mfa-login/types.mjs +4 -0
  1251. package/dist/core/oauth2/openid/claims.d.ts +1 -3
  1252. package/dist/core/oauth2/openid/claims.d.ts.map +1 -1
  1253. package/dist/core/oauth2/openid/claims.mjs +6 -19
  1254. package/dist/core/oauth2/openid/claims.mjs.map +1 -1
  1255. package/dist/core/oauth2/scope/resolver.d.ts +1 -3
  1256. package/dist/core/oauth2/scope/resolver.d.ts.map +1 -1
  1257. package/dist/core/oauth2/scope/resolver.mjs +9 -31
  1258. package/dist/core/oauth2/scope/resolver.mjs.map +1 -1
  1259. package/dist/core/oauth2/session-token/types.d.ts +8 -8
  1260. package/dist/core/oauth2/session-token/types.d.ts.map +1 -1
  1261. package/dist/core/oauth2/token/index.mjs +2 -1
  1262. package/dist/core/oauth2/token/issuer/access/module.mjs +7 -7
  1263. package/dist/core/oauth2/token/issuer/access/module.mjs.map +1 -1
  1264. package/dist/core/oauth2/token/issuer/index.d.ts +1 -0
  1265. package/dist/core/oauth2/token/issuer/index.d.ts.map +1 -1
  1266. package/dist/core/oauth2/token/issuer/index.mjs +3 -1
  1267. package/dist/core/oauth2/token/issuer/mfa/index.d.ts +2 -0
  1268. package/dist/core/oauth2/token/issuer/mfa/index.d.ts.map +1 -0
  1269. package/dist/core/oauth2/token/issuer/mfa/index.mjs +5 -0
  1270. package/dist/core/oauth2/token/issuer/mfa/module.d.ts +18 -0
  1271. package/dist/core/oauth2/token/issuer/mfa/module.d.ts.map +1 -0
  1272. package/dist/core/oauth2/token/issuer/mfa/module.mjs +36 -0
  1273. package/dist/core/oauth2/token/issuer/mfa/module.mjs.map +1 -0
  1274. package/dist/core/oauth2/token/issuer/refresh/module.mjs +5 -5
  1275. package/dist/core/oauth2/token/issuer/refresh/module.mjs.map +1 -1
  1276. package/dist/core/oauth2/token/repository/types.d.ts +10 -0
  1277. package/dist/core/oauth2/token/repository/types.d.ts.map +1 -1
  1278. package/dist/core/oauth2/token/revoker/module.d.ts.map +1 -1
  1279. package/dist/core/oauth2/token/revoker/module.mjs +1 -0
  1280. package/dist/core/oauth2/token/revoker/module.mjs.map +1 -1
  1281. package/dist/core/oauth2/token/signer/module.d.ts +3 -3
  1282. package/dist/core/oauth2/token/signer/module.d.ts.map +1 -1
  1283. package/dist/core/oauth2/token/signer/module.mjs +11 -12
  1284. package/dist/core/oauth2/token/signer/module.mjs.map +1 -1
  1285. package/dist/core/oauth2/token/verifier/module.d.ts +3 -3
  1286. package/dist/core/oauth2/token/verifier/module.d.ts.map +1 -1
  1287. package/dist/core/oauth2/token/verifier/module.mjs +16 -13
  1288. package/dist/core/oauth2/token/verifier/module.mjs.map +1 -1
  1289. package/dist/core/provisioning/entities/index.d.ts +0 -1
  1290. package/dist/core/provisioning/entities/index.d.ts.map +1 -1
  1291. package/dist/core/provisioning/entities/index.mjs +1 -3
  1292. package/dist/core/provisioning/entities/policy/validator.d.ts +2 -0
  1293. package/dist/core/provisioning/entities/policy/validator.d.ts.map +1 -1
  1294. package/dist/core/provisioning/entities/policy/validator.mjs +10 -1
  1295. package/dist/core/provisioning/entities/policy/validator.mjs.map +1 -1
  1296. package/dist/core/provisioning/entities/realm/relations-validator.d.ts.map +1 -1
  1297. package/dist/core/provisioning/entities/realm/relations-validator.mjs +0 -4
  1298. package/dist/core/provisioning/entities/realm/relations-validator.mjs.map +1 -1
  1299. package/dist/core/provisioning/entities/realm/types.d.ts +0 -2
  1300. package/dist/core/provisioning/entities/realm/types.d.ts.map +1 -1
  1301. package/dist/core/provisioning/entities/role/types.d.ts +2 -2
  1302. package/dist/core/provisioning/index.mjs +1 -3
  1303. package/dist/core/provisioning/synchronizer/client/module.mjs +11 -11
  1304. package/dist/core/provisioning/synchronizer/client/module.mjs.map +1 -1
  1305. package/dist/core/provisioning/synchronizer/entity-resolver.mjs +12 -12
  1306. package/dist/core/provisioning/synchronizer/entity-resolver.mjs.map +1 -1
  1307. package/dist/core/provisioning/synchronizer/index.d.ts +0 -1
  1308. package/dist/core/provisioning/synchronizer/index.d.ts.map +1 -1
  1309. package/dist/core/provisioning/synchronizer/index.mjs +1 -3
  1310. package/dist/core/provisioning/synchronizer/junction-synchronizer.d.ts +2 -2
  1311. package/dist/core/provisioning/synchronizer/junction-synchronizer.d.ts.map +1 -1
  1312. package/dist/core/provisioning/synchronizer/junction-synchronizer.mjs +2 -2
  1313. package/dist/core/provisioning/synchronizer/junction-synchronizer.mjs.map +1 -1
  1314. package/dist/core/provisioning/synchronizer/permission/module.mjs +8 -8
  1315. package/dist/core/provisioning/synchronizer/permission/module.mjs.map +1 -1
  1316. package/dist/core/provisioning/synchronizer/policy/module.mjs +11 -11
  1317. package/dist/core/provisioning/synchronizer/policy/module.mjs.map +1 -1
  1318. package/dist/core/provisioning/synchronizer/realm/module.d.ts +0 -2
  1319. package/dist/core/provisioning/synchronizer/realm/module.d.ts.map +1 -1
  1320. package/dist/core/provisioning/synchronizer/realm/module.mjs +5 -15
  1321. package/dist/core/provisioning/synchronizer/realm/module.mjs.map +1 -1
  1322. package/dist/core/provisioning/synchronizer/realm/types.d.ts +0 -2
  1323. package/dist/core/provisioning/synchronizer/realm/types.d.ts.map +1 -1
  1324. package/dist/core/provisioning/synchronizer/role/module.mjs +7 -7
  1325. package/dist/core/provisioning/synchronizer/role/module.mjs.map +1 -1
  1326. package/dist/core/provisioning/synchronizer/scope/module.mjs +1 -1
  1327. package/dist/core/provisioning/synchronizer/scope/module.mjs.map +1 -1
  1328. package/dist/core/provisioning/synchronizer/user/module.mjs +13 -13
  1329. package/dist/core/provisioning/synchronizer/user/module.mjs.map +1 -1
  1330. package/dist/core/query/index.d.ts +4 -0
  1331. package/dist/core/query/index.d.ts.map +1 -0
  1332. package/dist/core/query/index.mjs +6 -0
  1333. package/dist/core/query/module.d.ts +60 -0
  1334. package/dist/core/query/module.d.ts.map +1 -0
  1335. package/dist/core/query/module.mjs +128 -0
  1336. package/dist/core/query/module.mjs.map +1 -0
  1337. package/dist/core/query/relations.d.ts +39 -0
  1338. package/dist/core/query/relations.d.ts.map +1 -0
  1339. package/dist/core/query/relations.mjs +103 -0
  1340. package/dist/core/query/relations.mjs.map +1 -0
  1341. package/dist/core/query/types.d.ts +39 -0
  1342. package/dist/core/query/types.d.ts.map +1 -0
  1343. package/dist/core/query/types.mjs +4 -0
  1344. package/dist/core/security/policy/evaluator.d.ts +1 -0
  1345. package/dist/core/security/policy/evaluator.d.ts.map +1 -1
  1346. package/dist/core/security/policy/evaluator.mjs +52 -5
  1347. package/dist/core/security/policy/evaluator.mjs.map +1 -1
  1348. package/dist/index.mjs +52 -46
  1349. package/dist/swagger.json +4524 -3291
  1350. package/dist/ui/client/.vite/ssr-manifest.json +4606 -934
  1351. package/dist/ui/client/assets/{index-CP9HCHoS.js → index-BmJ2X468.js} +21 -17
  1352. package/dist/ui/client/assets/index-DiOvW76Q.css +2 -0
  1353. package/dist/ui/client/index.html +2 -2
  1354. package/dist/ui/server/server.js +64002 -56519
  1355. package/package.json +35 -24
  1356. package/dist/adapters/database/domains/robot/entity.d.ts +0 -19
  1357. package/dist/adapters/database/domains/robot/entity.d.ts.map +0 -1
  1358. package/dist/adapters/database/domains/robot/entity.mjs +0 -112
  1359. package/dist/adapters/database/domains/robot/entity.mjs.map +0 -1
  1360. package/dist/adapters/database/domains/robot/index.d.ts +0 -3
  1361. package/dist/adapters/database/domains/robot/index.d.ts.map +0 -1
  1362. package/dist/adapters/database/domains/robot/index.mjs +0 -6
  1363. package/dist/adapters/database/domains/robot/subscriber.d.ts +0 -6
  1364. package/dist/adapters/database/domains/robot/subscriber.d.ts.map +0 -1
  1365. package/dist/adapters/database/domains/robot/subscriber.mjs +0 -42
  1366. package/dist/adapters/database/domains/robot/subscriber.mjs.map +0 -1
  1367. package/dist/adapters/database/domains/robot-permission/entity.d.ts +0 -18
  1368. package/dist/adapters/database/domains/robot-permission/entity.d.ts.map +0 -1
  1369. package/dist/adapters/database/domains/robot-permission/entity.mjs +0 -91
  1370. package/dist/adapters/database/domains/robot-permission/entity.mjs.map +0 -1
  1371. package/dist/adapters/database/domains/robot-permission/index.d.ts.map +0 -1
  1372. package/dist/adapters/database/domains/robot-permission/index.mjs +0 -6
  1373. package/dist/adapters/database/domains/robot-permission/subscriber.d.ts +0 -6
  1374. package/dist/adapters/database/domains/robot-permission/subscriber.d.ts.map +0 -1
  1375. package/dist/adapters/database/domains/robot-permission/subscriber.mjs +0 -45
  1376. package/dist/adapters/database/domains/robot-permission/subscriber.mjs.map +0 -1
  1377. package/dist/adapters/database/domains/robot-role/entity.d.ts +0 -15
  1378. package/dist/adapters/database/domains/robot-role/entity.d.ts.map +0 -1
  1379. package/dist/adapters/database/domains/robot-role/entity.mjs +0 -72
  1380. package/dist/adapters/database/domains/robot-role/entity.mjs.map +0 -1
  1381. package/dist/adapters/database/domains/robot-role/index.d.ts +0 -3
  1382. package/dist/adapters/database/domains/robot-role/index.d.ts.map +0 -1
  1383. package/dist/adapters/database/domains/robot-role/index.mjs +0 -6
  1384. package/dist/adapters/database/domains/robot-role/subscriber.d.ts +0 -6
  1385. package/dist/adapters/database/domains/robot-role/subscriber.d.ts.map +0 -1
  1386. package/dist/adapters/database/domains/robot-role/subscriber.mjs.map +0 -1
  1387. package/dist/adapters/http/adapters/oauth2/grant-types/robot-credentials.d.ts +0 -12
  1388. package/dist/adapters/http/adapters/oauth2/grant-types/robot-credentials.d.ts.map +0 -1
  1389. package/dist/adapters/http/adapters/oauth2/grant-types/robot-credentials.mjs +0 -27
  1390. package/dist/adapters/http/adapters/oauth2/grant-types/robot-credentials.mjs.map +0 -1
  1391. package/dist/adapters/http/controllers/entities/robot/index.d.ts.map +0 -1
  1392. package/dist/adapters/http/controllers/entities/robot/index.mjs +0 -5
  1393. package/dist/adapters/http/controllers/entities/robot/module.d.ts +0 -25
  1394. package/dist/adapters/http/controllers/entities/robot/module.d.ts.map +0 -1
  1395. package/dist/adapters/http/controllers/entities/robot/module.mjs +0 -180
  1396. package/dist/adapters/http/controllers/entities/robot/module.mjs.map +0 -1
  1397. package/dist/adapters/http/controllers/entities/robot-permission/index.d.ts +0 -3
  1398. package/dist/adapters/http/controllers/entities/robot-permission/index.d.ts.map +0 -1
  1399. package/dist/adapters/http/controllers/entities/robot-permission/index.mjs +0 -7
  1400. package/dist/adapters/http/controllers/entities/robot-permission/module.d.ts +0 -17
  1401. package/dist/adapters/http/controllers/entities/robot-permission/module.d.ts.map +0 -1
  1402. package/dist/adapters/http/controllers/entities/robot-permission/module.mjs.map +0 -1
  1403. package/dist/adapters/http/controllers/entities/robot-permission/utils/index.d.ts +0 -2
  1404. package/dist/adapters/http/controllers/entities/robot-permission/utils/index.d.ts.map +0 -1
  1405. package/dist/adapters/http/controllers/entities/robot-permission/utils/index.mjs +0 -5
  1406. package/dist/adapters/http/controllers/entities/robot-permission/utils/validation.d.ts +0 -6
  1407. package/dist/adapters/http/controllers/entities/robot-permission/utils/validation.d.ts.map +0 -1
  1408. package/dist/adapters/http/controllers/entities/robot-permission/utils/validation.mjs +0 -21
  1409. package/dist/adapters/http/controllers/entities/robot-permission/utils/validation.mjs.map +0 -1
  1410. package/dist/adapters/http/controllers/entities/robot-role/index.d.ts +0 -3
  1411. package/dist/adapters/http/controllers/entities/robot-role/index.d.ts.map +0 -1
  1412. package/dist/adapters/http/controllers/entities/robot-role/index.mjs +0 -7
  1413. package/dist/adapters/http/controllers/entities/robot-role/module.d.ts +0 -16
  1414. package/dist/adapters/http/controllers/entities/robot-role/module.d.ts.map +0 -1
  1415. package/dist/adapters/http/controllers/entities/robot-role/module.mjs.map +0 -1
  1416. package/dist/adapters/http/controllers/entities/robot-role/utils/index.d.ts +0 -2
  1417. package/dist/adapters/http/controllers/entities/robot-role/utils/index.d.ts.map +0 -1
  1418. package/dist/adapters/http/controllers/entities/robot-role/utils/index.mjs +0 -5
  1419. package/dist/adapters/http/controllers/entities/robot-role/utils/validation.d.ts +0 -6
  1420. package/dist/adapters/http/controllers/entities/robot-role/utils/validation.d.ts.map +0 -1
  1421. package/dist/adapters/http/controllers/entities/robot-role/utils/validation.mjs +0 -20
  1422. package/dist/adapters/http/controllers/entities/robot-role/utils/validation.mjs.map +0 -1
  1423. package/dist/app/modules/database/repositories/robot/index.d.ts.map +0 -1
  1424. package/dist/app/modules/database/repositories/robot/index.mjs +0 -5
  1425. package/dist/app/modules/database/repositories/robot/repository.d.ts +0 -31
  1426. package/dist/app/modules/database/repositories/robot/repository.d.ts.map +0 -1
  1427. package/dist/app/modules/database/repositories/robot/repository.mjs +0 -190
  1428. package/dist/app/modules/database/repositories/robot/repository.mjs.map +0 -1
  1429. package/dist/app/modules/database/repositories/robot-permission/index.d.ts.map +0 -1
  1430. package/dist/app/modules/database/repositories/robot-permission/index.mjs +0 -5
  1431. package/dist/app/modules/database/repositories/robot-permission/repository.d.ts +0 -20
  1432. package/dist/app/modules/database/repositories/robot-permission/repository.d.ts.map +0 -1
  1433. package/dist/app/modules/database/repositories/robot-permission/repository.mjs +0 -79
  1434. package/dist/app/modules/database/repositories/robot-permission/repository.mjs.map +0 -1
  1435. package/dist/app/modules/database/repositories/robot-role/index.d.ts.map +0 -1
  1436. package/dist/app/modules/database/repositories/robot-role/index.mjs +0 -5
  1437. package/dist/app/modules/database/repositories/robot-role/repository.d.ts +0 -20
  1438. package/dist/app/modules/database/repositories/robot-role/repository.d.ts.map +0 -1
  1439. package/dist/app/modules/database/repositories/robot-role/repository.mjs +0 -79
  1440. package/dist/app/modules/database/repositories/robot-role/repository.mjs.map +0 -1
  1441. package/dist/app/modules/identity/repositories/robot.d.ts +0 -13
  1442. package/dist/app/modules/identity/repositories/robot.d.ts.map +0 -1
  1443. package/dist/app/modules/identity/repositories/robot.mjs +0 -47
  1444. package/dist/app/modules/identity/repositories/robot.mjs.map +0 -1
  1445. package/dist/app/modules/oauth2/repositories/key/index.d.ts.map +0 -1
  1446. package/dist/app/modules/oauth2/repositories/key/index.mjs +0 -5
  1447. package/dist/app/modules/oauth2/repositories/key/repository.d.ts +0 -14
  1448. package/dist/app/modules/oauth2/repositories/key/repository.d.ts.map +0 -1
  1449. package/dist/app/modules/oauth2/repositories/key/repository.mjs +0 -51
  1450. package/dist/app/modules/oauth2/repositories/key/repository.mjs.map +0 -1
  1451. package/dist/core/authentication/credential/entities/robot/index.d.ts.map +0 -1
  1452. package/dist/core/authentication/credential/entities/robot/index.mjs +0 -5
  1453. package/dist/core/authentication/credential/entities/robot/module.d.ts +0 -8
  1454. package/dist/core/authentication/credential/entities/robot/module.d.ts.map +0 -1
  1455. package/dist/core/authentication/credential/entities/robot/module.mjs +0 -22
  1456. package/dist/core/authentication/credential/entities/robot/module.mjs.map +0 -1
  1457. package/dist/core/authentication/entities/robot/index.d.ts.map +0 -1
  1458. package/dist/core/authentication/entities/robot/index.mjs +0 -5
  1459. package/dist/core/authentication/entities/robot/module.d.ts +0 -11
  1460. package/dist/core/authentication/entities/robot/module.d.ts.map +0 -1
  1461. package/dist/core/authentication/entities/robot/module.mjs +0 -29
  1462. package/dist/core/authentication/entities/robot/module.mjs.map +0 -1
  1463. package/dist/core/entities/robot/index.d.ts +0 -3
  1464. package/dist/core/entities/robot/index.d.ts.map +0 -1
  1465. package/dist/core/entities/robot/index.mjs +0 -5
  1466. package/dist/core/entities/robot/service.d.ts +0 -28
  1467. package/dist/core/entities/robot/service.d.ts.map +0 -1
  1468. package/dist/core/entities/robot/service.mjs +0 -201
  1469. package/dist/core/entities/robot/service.mjs.map +0 -1
  1470. package/dist/core/entities/robot/types.d.ts +0 -24
  1471. package/dist/core/entities/robot/types.d.ts.map +0 -1
  1472. package/dist/core/entities/robot-permission/index.d.ts.map +0 -1
  1473. package/dist/core/entities/robot-permission/index.mjs +0 -5
  1474. package/dist/core/entities/robot-permission/service.d.ts +0 -25
  1475. package/dist/core/entities/robot-permission/service.d.ts.map +0 -1
  1476. package/dist/core/entities/robot-permission/service.mjs +0 -137
  1477. package/dist/core/entities/robot-permission/service.mjs.map +0 -1
  1478. package/dist/core/entities/robot-permission/types.d.ts +0 -12
  1479. package/dist/core/entities/robot-permission/types.d.ts.map +0 -1
  1480. package/dist/core/entities/robot-role/index.d.ts +0 -3
  1481. package/dist/core/entities/robot-role/index.d.ts.map +0 -1
  1482. package/dist/core/entities/robot-role/index.mjs +0 -5
  1483. package/dist/core/entities/robot-role/service.d.ts +0 -22
  1484. package/dist/core/entities/robot-role/service.d.ts.map +0 -1
  1485. package/dist/core/entities/robot-role/service.mjs +0 -90
  1486. package/dist/core/entities/robot-role/service.mjs.map +0 -1
  1487. package/dist/core/entities/robot-role/types.d.ts +0 -11
  1488. package/dist/core/entities/robot-role/types.d.ts.map +0 -1
  1489. package/dist/core/identity/entities/robot/index.d.ts +0 -2
  1490. package/dist/core/identity/entities/robot/index.d.ts.map +0 -1
  1491. package/dist/core/identity/entities/robot/types.d.ts +0 -8
  1492. package/dist/core/identity/entities/robot/types.d.ts.map +0 -1
  1493. package/dist/core/oauth2/grant-types/robot-credentials.d.ts +0 -8
  1494. package/dist/core/oauth2/grant-types/robot-credentials.d.ts.map +0 -1
  1495. package/dist/core/oauth2/grant-types/robot-credentials.mjs +0 -38
  1496. package/dist/core/oauth2/grant-types/robot-credentials.mjs.map +0 -1
  1497. package/dist/core/oauth2/key/index.d.ts +0 -2
  1498. package/dist/core/oauth2/key/index.d.ts.map +0 -1
  1499. package/dist/core/oauth2/key/types.d.ts +0 -16
  1500. package/dist/core/oauth2/key/types.d.ts.map +0 -1
  1501. package/dist/core/provisioning/entities/robot/index.d.ts +0 -3
  1502. package/dist/core/provisioning/entities/robot/index.d.ts.map +0 -1
  1503. package/dist/core/provisioning/entities/robot/index.mjs +0 -5
  1504. package/dist/core/provisioning/entities/robot/relations-validator.d.ts +0 -6
  1505. package/dist/core/provisioning/entities/robot/relations-validator.d.ts.map +0 -1
  1506. package/dist/core/provisioning/entities/robot/relations-validator.mjs +0 -20
  1507. package/dist/core/provisioning/entities/robot/relations-validator.mjs.map +0 -1
  1508. package/dist/core/provisioning/entities/robot/types.d.ts +0 -25
  1509. package/dist/core/provisioning/entities/robot/types.d.ts.map +0 -1
  1510. package/dist/core/provisioning/entities/robot/validator.d.ts +0 -6
  1511. package/dist/core/provisioning/entities/robot/validator.d.ts.map +0 -1
  1512. package/dist/core/provisioning/entities/robot/validator.mjs +0 -24
  1513. package/dist/core/provisioning/entities/robot/validator.mjs.map +0 -1
  1514. package/dist/core/provisioning/synchronizer/robot/index.d.ts.map +0 -1
  1515. package/dist/core/provisioning/synchronizer/robot/index.mjs +0 -5
  1516. package/dist/core/provisioning/synchronizer/robot/module.d.ts +0 -17
  1517. package/dist/core/provisioning/synchronizer/robot/module.d.ts.map +0 -1
  1518. package/dist/core/provisioning/synchronizer/robot/module.mjs +0 -72
  1519. package/dist/core/provisioning/synchronizer/robot/module.mjs.map +0 -1
  1520. package/dist/core/provisioning/synchronizer/robot/types.d.ts +0 -9
  1521. package/dist/core/provisioning/synchronizer/robot/types.d.ts.map +0 -1
  1522. package/dist/ui/client/assets/index-VM4JXBXw.css +0 -2
  1523. /package/dist/adapters/database/domains/{robot-permission → consent}/index.d.ts +0 -0
  1524. /package/dist/adapters/http/controllers/entities/{robot → consent}/index.d.ts +0 -0
  1525. /package/dist/{core/authentication/credential/entities/robot → adapters/http/controllers/entities/event}/index.d.ts +0 -0
  1526. /package/dist/{core/authentication/entities/robot → adapters/http/controllers/entities/key}/index.d.ts +0 -0
  1527. /package/dist/{core/entities/robot-permission → adapters/http/request}/types.mjs +0 -0
  1528. /package/dist/app/modules/database/repositories/{robot-permission → event}/index.d.ts +0 -0
  1529. /package/dist/app/modules/database/repositories/{robot-role → key}/index.d.ts +0 -0
  1530. /package/dist/app/modules/database/repositories/{robot → trust-anchor}/index.d.ts +0 -0
  1531. /package/dist/app/modules/{oauth2/repositories/key → database/repositories/user-authenticator}/index.d.ts +0 -0
  1532. /package/dist/core/{entities/robot-permission → authentication/login-throttle}/index.d.ts +0 -0
  1533. /package/dist/core/{entities/robot-role → authentication/login-throttle}/types.mjs +0 -0
  1534. /package/dist/core/{provisioning/synchronizer/robot → client-certificate}/index.d.ts +0 -0
  1535. /package/dist/core/{entities/robot → client-certificate}/types.mjs +0 -0
  1536. /package/dist/core/{identity/entities/robot → entities/event}/types.mjs +0 -0
  1537. /package/dist/core/{oauth2 → entities}/key/types.mjs +0 -0
  1538. /package/dist/core/{provisioning/entities/robot → entities/trust-anchor}/types.mjs +0 -0
  1539. /package/dist/core/{provisioning/synchronizer/robot → key}/types.mjs +0 -0
  1540. /package/dist/core/{identity/entities/robot/index.mjs → metrics/types.mjs} +0 -0
  1541. /package/dist/core/oauth2/{key/index.mjs → access-policy/types.mjs} +0 -0
@@ -8,13 +8,11 @@ var IdentityPermissionProvider = class {
8
8
  clientRepository;
9
9
  userRepository;
10
10
  roleRepository;
11
- robotRepository;
12
11
  roleProvider;
13
12
  constructor(ctx) {
14
13
  this.clientRepository = ctx.clientRepository;
15
14
  this.userRepository = ctx.userRepository;
16
15
  this.roleRepository = ctx.roleRepository;
17
- this.robotRepository = ctx.robotRepository;
18
16
  this.roleProvider = ctx.roleProvider;
19
17
  }
20
18
  async isSuperset(parent, child) {
@@ -31,10 +29,10 @@ var IdentityPermissionProvider = class {
31
29
  const matching = (await this.getFor(identity)).filter((b) => {
32
30
  if (b.permission.name !== options.name) return false;
33
31
  if (typeof options.realmId !== "undefined") {
34
- if ((b.permission.realm_id ?? null) !== (options.realmId ?? null)) return false;
32
+ if ((b.permission.realmId ?? null) !== (options.realmId ?? null)) return false;
35
33
  }
36
34
  if (typeof options.clientId !== "undefined") {
37
- if ((b.permission.client_id ?? null) !== (options.clientId ?? null)) return false;
35
+ if ((b.permission.clientId ?? null) !== (options.clientId ?? null)) return false;
38
36
  }
39
37
  return true;
40
38
  });
@@ -49,14 +47,13 @@ var IdentityPermissionProvider = class {
49
47
  }
50
48
  return {
51
49
  policy,
52
- realmScope: selected.realm_scope
50
+ realmScope: selected.realmScope
53
51
  };
54
52
  }
55
53
  async getFor(identity) {
56
54
  switch (identity.type) {
57
55
  case "client": return this.getForClient(identity);
58
56
  case "user": return this.getForUser(identity);
59
- case "robot": return this.getForRobot(identity);
60
57
  case "role": return this.getForRole(identity);
61
58
  }
62
59
  return [];
@@ -67,9 +64,6 @@ var IdentityPermissionProvider = class {
67
64
  async getForUser(identity) {
68
65
  return this.combineWithRoleBindings(this.userRepository.getBoundPermissions(identity.id).then((data) => this.reduceBindingsByIdentityClient(data, identity)), identity);
69
66
  }
70
- async getForRobot(identity) {
71
- return this.combineWithRoleBindings(this.robotRepository.getBoundPermissions(identity.id).then((data) => this.reduceBindingsByIdentityClient(data, identity)), identity);
72
- }
73
67
  async getForRole(identity) {
74
68
  return this.roleRepository.getBoundPermissions(identity.id).then((data) => this.reduceBindingsByIdentityClient(data, identity));
75
69
  }
@@ -81,19 +75,19 @@ var IdentityPermissionProvider = class {
81
75
  }
82
76
  reduceBindingsByIdentityClient(bindings, identity) {
83
77
  if (!identity.clientId) return bindings;
84
- return bindings.filter((binding) => binding.permission.client_id === identity.clientId);
78
+ return bindings.filter((binding) => binding.permission.clientId === identity.clientId);
85
79
  }
86
80
  };
87
81
  /**
88
82
  * Select the held grant that confers the least-restrictive junction for `requested` reach.
89
83
  *
90
84
  * Each grant is ranked by the reach it can actually confer for THIS request — its own
91
- * `realm_scope` capped to `requested` — so a lower-scoped policy-free grant beats a
85
+ * `realmScope` capped to `requested` — so a lower-scoped policy-free grant beats a
92
86
  * higher-scoped policy-bound grant when both cap to the same requested reach (the mixed-grant
93
87
  * fix, #3160). On equal capped reach, a policy-free grant wins (least restrictive). The
94
88
  * ORIGINAL (uncapped) grant is returned: the consumer applies the `min` cap itself, and its
95
- * uncapped `realm_scope`/`policy` drive the "actor is unrestricted-any?" check that decides
96
- * whether an explicitly-requested `policy_id` may stand.
89
+ * uncapped `realmScope`/`policy` drive the "actor is unrestricted-any?" check that decides
90
+ * whether an explicitly-requested `policyId` may stand.
97
91
  *
98
92
  * The ordering is TOTAL and deterministic (independent of grant/repository order): ties between
99
93
  * two policy-bound grants on equal capped reach are broken by higher uncapped reach, then a
@@ -103,10 +97,10 @@ var IdentityPermissionProvider = class {
103
97
  return grants.reduce((best, grant) => isGrantPreferred(grant, best, requested) ? grant : best);
104
98
  }
105
99
  /** True when `candidate` is a strictly better propagation source than `incumbent` for `requested`. */ function isGrantPreferred(candidate, incumbent, requested) {
106
- const byCapped = compareRealmScope(minRealmScope([candidate.realm_scope, requested]), minRealmScope([incumbent.realm_scope, requested]));
100
+ const byCapped = compareRealmScope(minRealmScope([candidate.realmScope, requested]), minRealmScope([incumbent.realmScope, requested]));
107
101
  if (byCapped !== 0) return byCapped > 0;
108
102
  if (!candidate.policy !== !incumbent.policy) return !candidate.policy;
109
- const byUncapped = compareRealmScope(candidate.realm_scope, incumbent.realm_scope);
103
+ const byUncapped = compareRealmScope(candidate.realmScope, incumbent.realmScope);
110
104
  if (byUncapped !== 0) return byUncapped > 0;
111
105
  const candidateId = candidate.policy && isPolicy(candidate.policy) ? candidate.policy.id : void 0;
112
106
  const incumbentId = incumbent.policy && isPolicy(incumbent.policy) ? incumbent.policy.id : void 0;
@@ -1 +1 @@
1
- {"version":3,"file":"module.mjs","names":["RealmScope","aggregatePermissionPolicyBindings","compareRealmScope","grantDominates","isPermissionPolicyBindingEqual","minRealmScope","isPolicy","IdentityPermissionProvider","clientRepository","userRepository","roleRepository","robotRepository","roleProvider","ctx","isSuperset","parent","child","parentAggregated","getFor","childAggregated","childItem","parentItem","find","p","childGrant","grants","dominated","some","parentGrant","resolveJunctionGrant","identity","options","bindings","matching","filter","b","permission","name","realmId","realm_id","clientId","client_id","length","realmScope","OWN","flatMap","item","requested","selected","selectGrantForRequest","policy","NONE","realm_scope","type","getForClient","getForUser","getForRobot","getForRole","combineWithRoleBindings","getBoundPermissions","id","then","data","reduceBindingsByIdentityClient","bindingsPromise","roles","Promise","all","getRolesFor","roleBindings","getBoundPermissionsForMany","binding","reduce","best","grant","isGrantPreferred","candidate","incumbent","byCapped","byUncapped","candidateId","undefined","incumbentId"],"sources":["../../../../src/core/identity/permission/module.ts"],"sourcesContent":["/*\n * Copyright (c) 2024.\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 {\n IdentityPolicyData,\n PermissionGrant,\n PermissionPolicyBinding,\n} from '@authup/access';\nimport {\n RealmScope,\n aggregatePermissionPolicyBindings,\n compareRealmScope,\n grantDominates,\n isPermissionPolicyBindingEqual,\n minRealmScope,\n} from '@authup/access';\nimport type { Policy } from '@authup/core-kit';\nimport { isPolicy } from '@authup/core-kit';\nimport type { IClientRepository } from '../../entities/client/types.ts';\nimport type { IRobotRepository } from '../../entities/robot/types.ts';\nimport type { IRoleRepository } from '../../entities/role/types.ts';\nimport type { IUserRepository } from '../../entities/user/types.ts';\nimport type { IIdentityRoleProvider } from '../role/types.ts';\nimport type {\n IIdentityPermissionProvider,\n IdentityPermissionProviderContext,\n ResolveJunctionGrantResult,\n ResolveJunctionPolicyOptions,\n} from './types.ts';\n\nexport class IdentityPermissionProvider implements IIdentityPermissionProvider {\n protected clientRepository: IClientRepository;\n\n protected userRepository: IUserRepository;\n\n protected roleRepository: IRoleRepository;\n\n protected robotRepository: IRobotRepository;\n\n protected roleProvider: IIdentityRoleProvider;\n\n constructor(ctx: IdentityPermissionProviderContext) {\n this.clientRepository = ctx.clientRepository;\n this.userRepository = ctx.userRepository;\n this.roleRepository = ctx.roleRepository;\n this.robotRepository = ctx.robotRepository;\n this.roleProvider = ctx.roleProvider;\n }\n\n async isSuperset(parent: IdentityPolicyData, child: IdentityPolicyData) : Promise<boolean> {\n const parentAggregated = aggregatePermissionPolicyBindings(await this.getFor(parent));\n const childAggregated = aggregatePermissionPolicyBindings(await this.getFor(child));\n\n for (const childItem of childAggregated) {\n const parentItem = parentAggregated.find(\n (p) => isPermissionPolicyBindingEqual(p, childItem),\n );\n\n if (!parentItem) {\n return false;\n }\n\n // Disjunction-aware superset: EVERY child grant must be dominated by SOME parent\n // grant (reach >= AND the parent's policy provably covers the child's — see\n // grantDominates). A child grant the parent cannot match — an unconditional `any`\n // the parent only holds policy-gated, or a policy the parent does not itself hold\n // (#3159) — fails the check; the actor cannot assign more than it holds.\n for (const childGrant of childItem.grants) {\n const dominated = parentItem.grants.some(\n (parentGrant) => grantDominates(parentGrant, childGrant),\n );\n\n if (!dominated) {\n return false;\n }\n }\n }\n\n return true;\n }\n\n async resolveJunctionGrant(\n identity: IdentityPolicyData,\n options: ResolveJunctionPolicyOptions,\n ): Promise<ResolveJunctionGrantResult> {\n const bindings = await this.getFor(identity);\n const matching = bindings.filter((b) => {\n if (b.permission.name !== options.name) {\n return false;\n }\n\n if (typeof options.realmId !== 'undefined') {\n if ((b.permission.realm_id ?? null) !== (options.realmId ?? null)) {\n return false;\n }\n }\n\n if (typeof options.clientId !== 'undefined') {\n if ((b.permission.client_id ?? null) !== (options.clientId ?? null)) {\n return false;\n }\n }\n\n return true;\n });\n\n if (matching.length === 0) {\n return { realmScope: RealmScope.OWN };\n }\n\n // Consider EVERY matching grant (a caller omitting realmId/clientId may leave more\n // than one permission-key group); combined with the total ordering in\n // selectGrantForRequest, the selection never depends on grant/repository order.\n const grants = aggregatePermissionPolicyBindings(matching)\n .flatMap((item) => item.grants);\n if (grants.length === 0) {\n return { realmScope: RealmScope.OWN };\n }\n\n // Select the actor's grant RELATIVE to the requested reach (#3160): the grant that\n // confers the least-restrictive junction once capped to `realmScope` (highest capped\n // reach, policy-free preferred on a tie) — NOT a global \"ceiling\". A mixed-grant actor\n // (e.g. own+no-policy and any+policy) thus propagates its policy-free own grant for an\n // own request instead of inheriting the wider grant's policy. The selected grant is\n // returned UNCAPPED so the consumer's own cap (`min(requested, realmScope)`) and its\n // \"actor is unrestricted-any?\" check (which honours an explicit policy_id) still hold.\n const requested = options.realmScope ?? RealmScope.OWN;\n const selected = selectGrantForRequest(grants, requested);\n\n let policy: Policy | undefined;\n if (selected.policy) {\n // The selected grant is policy-restricted but its policy is not a propagatable\n // Policy (e.g. a composite with no id). Fail CLOSED: a `none` reach blocks\n // propagation rather than silently dropping the restriction and widening to an\n // unrestricted grant.\n if (!isPolicy(selected.policy)) {\n return { realmScope: RealmScope.NONE };\n }\n\n policy = selected.policy;\n }\n\n return { policy, realmScope: selected.realm_scope };\n }\n\n async getFor(identity: IdentityPolicyData) : Promise<PermissionPolicyBinding[]> {\n switch (identity.type) {\n case 'client': {\n return this.getForClient(identity);\n }\n case 'user': {\n return this.getForUser(identity);\n }\n case 'robot': {\n return this.getForRobot(identity);\n }\n case 'role': {\n return this.getForRole(identity);\n }\n }\n\n return [];\n }\n\n async getForClient(identity: IdentityPolicyData) : Promise<PermissionPolicyBinding[]> {\n return this.combineWithRoleBindings(\n this.clientRepository.getBoundPermissions(identity.id),\n identity,\n );\n }\n\n async getForUser(identity: IdentityPolicyData) : Promise<PermissionPolicyBinding[]> {\n return this.combineWithRoleBindings(\n this.userRepository.getBoundPermissions(identity.id)\n .then((data) => this.reduceBindingsByIdentityClient(data, identity)),\n identity,\n );\n }\n\n async getForRobot(identity: IdentityPolicyData) : Promise<PermissionPolicyBinding[]> {\n return this.combineWithRoleBindings(\n this.robotRepository.getBoundPermissions(identity.id)\n .then((data) => this.reduceBindingsByIdentityClient(data, identity)),\n identity,\n );\n }\n\n async getForRole(identity: IdentityPolicyData) : Promise<PermissionPolicyBinding[]> {\n return this.roleRepository.getBoundPermissions(identity.id)\n .then((data) => this.reduceBindingsByIdentityClient(data, identity));\n }\n\n private async combineWithRoleBindings(\n bindingsPromise: Promise<PermissionPolicyBinding[]>,\n identity: IdentityPolicyData,\n ): Promise<PermissionPolicyBinding[]> {\n const [bindings, roles] = await Promise.all([\n bindingsPromise,\n this.roleProvider.getRolesFor(identity),\n ]);\n const roleBindings = await this.roleRepository.getBoundPermissionsForMany(roles);\n if (roleBindings.length === 0) {\n return bindings;\n }\n\n return [\n ...bindings,\n ...roleBindings,\n ];\n }\n\n private reduceBindingsByIdentityClient(\n bindings: PermissionPolicyBinding[],\n identity: IdentityPolicyData,\n ): PermissionPolicyBinding[] {\n if (!identity.clientId) {\n return bindings;\n }\n\n return bindings.filter((binding) => binding.permission.client_id === identity.clientId);\n }\n}\n\n/**\n * Select the held grant that confers the least-restrictive junction for `requested` reach.\n *\n * Each grant is ranked by the reach it can actually confer for THIS request — its own\n * `realm_scope` capped to `requested` — so a lower-scoped policy-free grant beats a\n * higher-scoped policy-bound grant when both cap to the same requested reach (the mixed-grant\n * fix, #3160). On equal capped reach, a policy-free grant wins (least restrictive). The\n * ORIGINAL (uncapped) grant is returned: the consumer applies the `min` cap itself, and its\n * uncapped `realm_scope`/`policy` drive the \"actor is unrestricted-any?\" check that decides\n * whether an explicitly-requested `policy_id` may stand.\n *\n * The ordering is TOTAL and deterministic (independent of grant/repository order): ties between\n * two policy-bound grants on equal capped reach are broken by higher uncapped reach, then a\n * propagatable policy (one with an id) over an id-less composite that would fail closed, then\n * lexicographic policy id.\n */\nfunction selectGrantForRequest(\n grants: PermissionGrant[],\n requested: `${RealmScope}`,\n): PermissionGrant {\n return grants.reduce((best, grant) => (isGrantPreferred(grant, best, requested) ? grant : best));\n}\n\n/** True when `candidate` is a strictly better propagation source than `incumbent` for `requested`. */\nfunction isGrantPreferred(\n candidate: PermissionGrant,\n incumbent: PermissionGrant,\n requested: `${RealmScope}`,\n): boolean {\n const byCapped = compareRealmScope(\n minRealmScope([candidate.realm_scope, requested]),\n minRealmScope([incumbent.realm_scope, requested]),\n );\n if (byCapped !== 0) {\n return byCapped > 0;\n }\n\n // Least restrictive: a policy-free grant beats a policy-bound one on equal capped reach.\n if (!candidate.policy !== !incumbent.policy) {\n return !candidate.policy;\n }\n\n // Deterministic tie-break for two policy-bound grants on equal capped reach.\n const byUncapped = compareRealmScope(candidate.realm_scope, incumbent.realm_scope);\n if (byUncapped !== 0) {\n return byUncapped > 0;\n }\n\n // Prefer a propagatable policy (has an id) over an id-less composite that would fail closed.\n const candidateId = candidate.policy && isPolicy(candidate.policy) ? candidate.policy.id : undefined;\n const incumbentId = incumbent.policy && isPolicy(incumbent.policy) ? incumbent.policy.id : undefined;\n if (candidateId !== incumbentId) {\n if (typeof candidateId === 'undefined') {\n return false;\n }\n if (typeof incumbentId === 'undefined') {\n return true;\n }\n return candidateId < incumbentId;\n }\n\n return false;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"module.mjs","names":["RealmScope","aggregatePermissionPolicyBindings","compareRealmScope","grantDominates","isPermissionPolicyBindingEqual","minRealmScope","isPolicy","IdentityPermissionProvider","clientRepository","userRepository","roleRepository","roleProvider","ctx","isSuperset","parent","child","parentAggregated","getFor","childAggregated","childItem","parentItem","find","p","childGrant","grants","dominated","some","parentGrant","resolveJunctionGrant","identity","options","bindings","matching","filter","b","permission","name","realmId","clientId","length","realmScope","OWN","flatMap","item","requested","selected","selectGrantForRequest","policy","NONE","type","getForClient","getForUser","getForRole","combineWithRoleBindings","getBoundPermissions","id","then","data","reduceBindingsByIdentityClient","bindingsPromise","roles","Promise","all","getRolesFor","roleBindings","getBoundPermissionsForMany","binding","reduce","best","grant","isGrantPreferred","candidate","incumbent","byCapped","byUncapped","candidateId","undefined","incumbentId"],"sources":["../../../../src/core/identity/permission/module.ts"],"sourcesContent":["/*\n * Copyright (c) 2024.\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 {\n IdentityPolicyData,\n PermissionGrant,\n PermissionPolicyBinding,\n} from '@authup/access';\nimport {\n RealmScope,\n aggregatePermissionPolicyBindings,\n compareRealmScope,\n grantDominates,\n isPermissionPolicyBindingEqual,\n minRealmScope,\n} from '@authup/access';\nimport type { Policy } from '@authup/core-kit';\nimport { isPolicy } from '@authup/core-kit';\nimport type { IClientRepository } from '../../entities/client/types.ts';\nimport type { IRoleRepository } from '../../entities/role/types.ts';\nimport type { IUserRepository } from '../../entities/user/types.ts';\nimport type { IIdentityRoleProvider } from '../role/types.ts';\nimport type {\n IIdentityPermissionProvider,\n IdentityPermissionProviderContext,\n ResolveJunctionGrantResult,\n ResolveJunctionPolicyOptions,\n} from './types.ts';\n\nexport class IdentityPermissionProvider implements IIdentityPermissionProvider {\n protected clientRepository: IClientRepository;\n\n protected userRepository: IUserRepository;\n\n protected roleRepository: IRoleRepository;\n\n protected roleProvider: IIdentityRoleProvider;\n\n constructor(ctx: IdentityPermissionProviderContext) {\n this.clientRepository = ctx.clientRepository;\n this.userRepository = ctx.userRepository;\n this.roleRepository = ctx.roleRepository;\n this.roleProvider = ctx.roleProvider;\n }\n\n async isSuperset(parent: IdentityPolicyData, child: IdentityPolicyData) : Promise<boolean> {\n const parentAggregated = aggregatePermissionPolicyBindings(await this.getFor(parent));\n const childAggregated = aggregatePermissionPolicyBindings(await this.getFor(child));\n\n for (const childItem of childAggregated) {\n const parentItem = parentAggregated.find(\n (p) => isPermissionPolicyBindingEqual(p, childItem),\n );\n\n if (!parentItem) {\n return false;\n }\n\n // Disjunction-aware superset: EVERY child grant must be dominated by SOME parent\n // grant (reach >= AND the parent's policy provably covers the child's — see\n // grantDominates). A child grant the parent cannot match — an unconditional `any`\n // the parent only holds policy-gated, or a policy the parent does not itself hold\n // (#3159) — fails the check; the actor cannot assign more than it holds.\n for (const childGrant of childItem.grants) {\n const dominated = parentItem.grants.some(\n (parentGrant) => grantDominates(parentGrant, childGrant),\n );\n\n if (!dominated) {\n return false;\n }\n }\n }\n\n return true;\n }\n\n async resolveJunctionGrant(\n identity: IdentityPolicyData,\n options: ResolveJunctionPolicyOptions,\n ): Promise<ResolveJunctionGrantResult> {\n const bindings = await this.getFor(identity);\n const matching = bindings.filter((b) => {\n if (b.permission.name !== options.name) {\n return false;\n }\n\n if (typeof options.realmId !== 'undefined') {\n if ((b.permission.realmId ?? null) !== (options.realmId ?? null)) {\n return false;\n }\n }\n\n if (typeof options.clientId !== 'undefined') {\n if ((b.permission.clientId ?? null) !== (options.clientId ?? null)) {\n return false;\n }\n }\n\n return true;\n });\n\n if (matching.length === 0) {\n return { realmScope: RealmScope.OWN };\n }\n\n // Consider EVERY matching grant (a caller omitting realmId/clientId may leave more\n // than one permission-key group); combined with the total ordering in\n // selectGrantForRequest, the selection never depends on grant/repository order.\n const grants = aggregatePermissionPolicyBindings(matching)\n .flatMap((item) => item.grants);\n if (grants.length === 0) {\n return { realmScope: RealmScope.OWN };\n }\n\n // Select the actor's grant RELATIVE to the requested reach (#3160): the grant that\n // confers the least-restrictive junction once capped to `realmScope` (highest capped\n // reach, policy-free preferred on a tie) — NOT a global \"ceiling\". A mixed-grant actor\n // (e.g. own+no-policy and any+policy) thus propagates its policy-free own grant for an\n // own request instead of inheriting the wider grant's policy. The selected grant is\n // returned UNCAPPED so the consumer's own cap (`min(requested, realmScope)`) and its\n // \"actor is unrestricted-any?\" check (which honours an explicit policyId) still hold.\n const requested = options.realmScope ?? RealmScope.OWN;\n const selected = selectGrantForRequest(grants, requested);\n\n let policy: Policy | undefined;\n if (selected.policy) {\n // The selected grant is policy-restricted but its policy is not a propagatable\n // Policy (e.g. a composite with no id). Fail CLOSED: a `none` reach blocks\n // propagation rather than silently dropping the restriction and widening to an\n // unrestricted grant.\n if (!isPolicy(selected.policy)) {\n return { realmScope: RealmScope.NONE };\n }\n\n policy = selected.policy;\n }\n\n return { policy, realmScope: selected.realmScope };\n }\n\n async getFor(identity: IdentityPolicyData) : Promise<PermissionPolicyBinding[]> {\n switch (identity.type) {\n case 'client': {\n return this.getForClient(identity);\n }\n case 'user': {\n return this.getForUser(identity);\n }\n case 'role': {\n return this.getForRole(identity);\n }\n }\n\n return [];\n }\n\n async getForClient(identity: IdentityPolicyData) : Promise<PermissionPolicyBinding[]> {\n return this.combineWithRoleBindings(\n this.clientRepository.getBoundPermissions(identity.id),\n identity,\n );\n }\n\n async getForUser(identity: IdentityPolicyData) : Promise<PermissionPolicyBinding[]> {\n return this.combineWithRoleBindings(\n this.userRepository.getBoundPermissions(identity.id)\n .then((data) => this.reduceBindingsByIdentityClient(data, identity)),\n identity,\n );\n }\n\n async getForRole(identity: IdentityPolicyData) : Promise<PermissionPolicyBinding[]> {\n return this.roleRepository.getBoundPermissions(identity.id)\n .then((data) => this.reduceBindingsByIdentityClient(data, identity));\n }\n\n private async combineWithRoleBindings(\n bindingsPromise: Promise<PermissionPolicyBinding[]>,\n identity: IdentityPolicyData,\n ): Promise<PermissionPolicyBinding[]> {\n const [bindings, roles] = await Promise.all([\n bindingsPromise,\n this.roleProvider.getRolesFor(identity),\n ]);\n const roleBindings = await this.roleRepository.getBoundPermissionsForMany(roles);\n if (roleBindings.length === 0) {\n return bindings;\n }\n\n return [\n ...bindings,\n ...roleBindings,\n ];\n }\n\n private reduceBindingsByIdentityClient(\n bindings: PermissionPolicyBinding[],\n identity: IdentityPolicyData,\n ): PermissionPolicyBinding[] {\n if (!identity.clientId) {\n return bindings;\n }\n\n return bindings.filter((binding) => binding.permission.clientId === identity.clientId);\n }\n}\n\n/**\n * Select the held grant that confers the least-restrictive junction for `requested` reach.\n *\n * Each grant is ranked by the reach it can actually confer for THIS request — its own\n * `realmScope` capped to `requested` — so a lower-scoped policy-free grant beats a\n * higher-scoped policy-bound grant when both cap to the same requested reach (the mixed-grant\n * fix, #3160). On equal capped reach, a policy-free grant wins (least restrictive). The\n * ORIGINAL (uncapped) grant is returned: the consumer applies the `min` cap itself, and its\n * uncapped `realmScope`/`policy` drive the \"actor is unrestricted-any?\" check that decides\n * whether an explicitly-requested `policyId` may stand.\n *\n * The ordering is TOTAL and deterministic (independent of grant/repository order): ties between\n * two policy-bound grants on equal capped reach are broken by higher uncapped reach, then a\n * propagatable policy (one with an id) over an id-less composite that would fail closed, then\n * lexicographic policy id.\n */\nfunction selectGrantForRequest(\n grants: PermissionGrant[],\n requested: `${RealmScope}`,\n): PermissionGrant {\n return grants.reduce((best, grant) => (isGrantPreferred(grant, best, requested) ? grant : best));\n}\n\n/** True when `candidate` is a strictly better propagation source than `incumbent` for `requested`. */\nfunction isGrantPreferred(\n candidate: PermissionGrant,\n incumbent: PermissionGrant,\n requested: `${RealmScope}`,\n): boolean {\n const byCapped = compareRealmScope(\n minRealmScope([candidate.realmScope, requested]),\n minRealmScope([incumbent.realmScope, requested]),\n );\n if (byCapped !== 0) {\n return byCapped > 0;\n }\n\n // Least restrictive: a policy-free grant beats a policy-bound one on equal capped reach.\n if (!candidate.policy !== !incumbent.policy) {\n return !candidate.policy;\n }\n\n // Deterministic tie-break for two policy-bound grants on equal capped reach.\n const byUncapped = compareRealmScope(candidate.realmScope, incumbent.realmScope);\n if (byUncapped !== 0) {\n return byUncapped > 0;\n }\n\n // Prefer a propagatable policy (has an id) over an id-less composite that would fail closed.\n const candidateId = candidate.policy && isPolicy(candidate.policy) ? candidate.policy.id : undefined;\n const incumbentId = incumbent.policy && isPolicy(incumbent.policy) ? incumbent.policy.id : undefined;\n if (candidateId !== incumbentId) {\n if (typeof candidateId === 'undefined') {\n return false;\n }\n if (typeof incumbentId === 'undefined') {\n return true;\n }\n return candidateId < incumbentId;\n }\n\n return false;\n}\n"],"mappings":"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"}
@@ -1,7 +1,6 @@
1
1
  import type { Policy } from '@authup/core-kit';
2
2
  import type { IdentityPolicyData, PermissionPolicyBinding, RealmScope } from '@authup/access';
3
3
  import type { IClientRepository } from '../../entities/client/types.ts';
4
- import type { IRobotRepository } from '../../entities/robot/types.ts';
5
4
  import type { IRoleRepository } from '../../entities/role/types.ts';
6
5
  import type { IUserRepository } from '../../entities/user/types.ts';
7
6
  import type { IIdentityRoleProvider } from '../role/types.ts';
@@ -38,7 +37,6 @@ export interface IIdentityPermissionProvider {
38
37
  export type IdentityPermissionProviderContext = {
39
38
  clientRepository: IClientRepository;
40
39
  userRepository: IUserRepository;
41
- robotRepository: IRobotRepository;
42
40
  roleRepository: IRoleRepository;
43
41
  roleProvider: IIdentityRoleProvider;
44
42
  };
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/core/identity/permission/types.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,KAAK,EACR,kBAAkB,EAClB,uBAAuB,EACvB,UAAU,EACb,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAE9D,MAAM,MAAM,4BAA4B,GAAG;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,GAAG,UAAU,EAAE,CAAC;CAChC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,0BAA0B,GAAG;IACrC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,GAAG,UAAU,EAAE,CAAC;CAC/B,CAAC;AAEF,MAAM,WAAW,2BAA2B;IACxC,MAAM,CAAC,QAAQ,EAAE,kBAAkB,GAAG,OAAO,CAAC,uBAAuB,EAAE,CAAC,CAAC;IACzE,UAAU,CAAC,MAAM,EAAE,kBAAkB,EAAE,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACpF,oBAAoB,CAAC,QAAQ,EAAE,kBAAkB,EAAE,OAAO,EAAE,4BAA4B,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAC;CAClI;AAED,MAAM,MAAM,iCAAiC,GAAG;IAC5C,gBAAgB,EAAE,iBAAiB,CAAC;IACpC,cAAc,EAAE,eAAe,CAAC;IAChC,eAAe,EAAE,gBAAgB,CAAC;IAClC,cAAc,EAAE,eAAe,CAAC;IAChC,YAAY,EAAE,qBAAqB,CAAC;CACvC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/core/identity/permission/types.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,KAAK,EACR,kBAAkB,EAClB,uBAAuB,EACvB,UAAU,EACb,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAE9D,MAAM,MAAM,4BAA4B,GAAG;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,GAAG,UAAU,EAAE,CAAC;CAChC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,0BAA0B,GAAG;IACrC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,GAAG,UAAU,EAAE,CAAC;CAC/B,CAAC;AAEF,MAAM,WAAW,2BAA2B;IACxC,MAAM,CAAC,QAAQ,EAAE,kBAAkB,GAAG,OAAO,CAAC,uBAAuB,EAAE,CAAC,CAAC;IACzE,UAAU,CAAC,MAAM,EAAE,kBAAkB,EAAE,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACpF,oBAAoB,CAAC,QAAQ,EAAE,kBAAkB,EAAE,OAAO,EAAE,4BAA4B,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAC;CAClI;AAED,MAAM,MAAM,iCAAiC,GAAG;IAC5C,gBAAgB,EAAE,iBAAiB,CAAC;IACpC,cAAc,EAAE,eAAe,CAAC;IAChC,cAAc,EAAE,eAAe,CAAC;IAChC,YAAY,EAAE,qBAAqB,CAAC;CACvC,CAAC"}
@@ -20,14 +20,14 @@ var PolicyCheckerService = class {
20
20
  if (realm) {
21
21
  const realmId = await this.ctx.realmRepository.resolveId(realm);
22
22
  if (!realmId) throw new EntityNotFoundError();
23
- criteria.realm_id = realmId;
23
+ criteria.realmId = realmId;
24
24
  }
25
25
  }
26
26
  const entity = await this.ctx.repository.findOneBy(criteria);
27
27
  if (!entity) throw new EntityNotFoundError();
28
28
  const input = { ...data };
29
29
  if (!input[BuiltInPolicyType.IDENTITY] && input[BuiltInPolicyType.IDENTITY] !== null) input[BuiltInPolicyType.IDENTITY] = toIdentityPolicyData(actor.identity);
30
- await new PolicyEngine$1(this.ctx.identityPermissionProvider).evaluate(entity, definePolicyEvaluationContext({ data: new PolicyData(input) }));
30
+ await new PolicyEngine$1(this.ctx.identityPermissionProvider).evaluateOrFail(entity, definePolicyEvaluationContext({ data: new PolicyData(input) }));
31
31
  }
32
32
  async safeCheck(idOrName, data, actor, realm) {
33
33
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"service.mjs","names":["BuiltInPolicyType","PolicyData","definePolicyEvaluationContext","isUUID","EntityNotFoundError","normalizeError","PolicyEngine","toIdentityPolicyData","PolicyCheckerService","ctx","check","idOrName","data","actor","realm","criteria","id","name","realmId","realmRepository","resolveId","realm_id","entity","repository","findOneBy","input","IDENTITY","identity","engine","identityPermissionProvider","evaluate","safeCheck","success","e","error"],"sources":["../../../../../src/core/identity/policy/checker/service.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 { BuiltInPolicyType, PolicyData, definePolicyEvaluationContext } from '@authup/access';\nimport type { Result } from '@authup/kit';\nimport { isUUID } from '@authup/kit';\nimport { EntityNotFoundError, normalizeError } from '@authup/errors';\nimport type { ActorContext } from '@authup/server-kit';\nimport { PolicyEngine } from '../../../security/policy/engine.ts';\nimport { toIdentityPolicyData } from '../../permission/identity-policy-data.ts';\nimport type {\n IPolicyCheckerService,\n PolicyCheckerServiceContext,\n} from './types.ts';\n\nexport class PolicyCheckerService implements IPolicyCheckerService {\n protected ctx: PolicyCheckerServiceContext;\n\n constructor(ctx: PolicyCheckerServiceContext) {\n this.ctx = ctx;\n }\n\n async check(\n idOrName: string,\n data: Record<string, any>,\n actor: ActorContext,\n realm?: string,\n ): Promise<void> {\n let criteria: Record<string, any>;\n if (isUUID(idOrName)) {\n criteria = { id: idOrName };\n } else {\n criteria = { name: idOrName };\n\n if (realm) {\n const realmId = await this.ctx.realmRepository.resolveId(realm);\n if (!realmId) {\n throw new EntityNotFoundError();\n }\n criteria.realm_id = realmId;\n }\n }\n\n const entity = await this.ctx.repository.findOneBy(criteria);\n if (!entity) {\n throw new EntityNotFoundError();\n }\n\n const input = { ...data };\n if (\n !input[BuiltInPolicyType.IDENTITY] &&\n input[BuiltInPolicyType.IDENTITY] !== null\n ) {\n input[BuiltInPolicyType.IDENTITY] = toIdentityPolicyData(actor.identity);\n }\n\n const engine = new PolicyEngine(this.ctx.identityPermissionProvider);\n await engine.evaluate(\n entity,\n definePolicyEvaluationContext({ data: new PolicyData(input) }),\n );\n }\n\n async safeCheck(\n idOrName: string,\n data: Record<string, any>,\n actor: ActorContext,\n realm?: string,\n ): Promise<Result<null>> {\n try {\n await this.check(idOrName, data, actor, realm);\n return { success: true, data: null };\n } catch (e) {\n return { success: false, error: normalizeError(e) };\n }\n }\n}\n"],"mappings":";;;;;;;;;AAmBA,IAAaQ,uBAAb,MAAaA;CACCC;CAEV,YAAYA,KAAkC;EAC1C,KAAKA,MAAMA;CACf;CAEA,MAAMC,MACFC,UACAC,MACAC,OACAC,OACa;EACb,IAAIC;EACJ,IAAIZ,OAAOQ,QAAAA,GACPI,WAAW,EAAEC,IAAIL,SAAS;OACvB;GACHI,WAAW,EAAEE,MAAMN,SAAS;GAE5B,IAAIG,OAAO;IACP,MAAMI,UAAU,MAAM,KAAKT,IAAIU,gBAAgBC,UAAUN,KAAAA;IACzD,IAAI,CAACI,SACD,MAAM,IAAId,oBAAAA;IAEdW,SAASM,WAAWH;GACxB;EACJ;EAEA,MAAMI,SAAS,MAAM,KAAKb,IAAIc,WAAWC,UAAUT,QAAAA;EACnD,IAAI,CAACO,QACD,MAAM,IAAIlB,oBAAAA;EAGd,MAAMqB,QAAQ,EAAE,GAAGb,KAAK;EACxB,IACI,CAACa,MAAMzB,kBAAkB0B,aACzBD,MAAMzB,kBAAkB0B,cAAc,MAEtCD,MAAMzB,kBAAkB0B,YAAYnB,qBAAqBM,MAAMc,QAAQ;EAI3E,MAAMC,IADatB,eAAa,KAAKG,IAAIoB,0BACnCD,CAAAA,CAAOE,SACTR,QACApB,8BAA8B,EAAEU,MAAM,IAAIX,WAAWwB,KAAAA,EAAO,CAAA,CAAA;CAEpE;CAEA,MAAMM,UACFpB,UACAC,MACAC,OACAC,OACqB;EACrB,IAAI;GACA,MAAM,KAAKJ,MAAMC,UAAUC,MAAMC,OAAOC,KAAAA;GACxC,OAAO;IAAEkB,SAAS;IAAMpB,MAAM;GAAK;EACvC,SAASqB,GAAG;GACR,OAAO;IAAED,SAAS;IAAOE,OAAO7B,eAAe4B,CAAAA;GAAG;EACtD;CACJ;AACJ"}
1
+ {"version":3,"file":"service.mjs","names":["BuiltInPolicyType","PolicyData","definePolicyEvaluationContext","isUUID","EntityNotFoundError","normalizeError","PolicyEngine","toIdentityPolicyData","PolicyCheckerService","ctx","check","idOrName","data","actor","realm","criteria","id","name","realmId","realmRepository","resolveId","entity","repository","findOneBy","input","IDENTITY","identity","engine","identityPermissionProvider","evaluateOrFail","safeCheck","success","e","error"],"sources":["../../../../../src/core/identity/policy/checker/service.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 { BuiltInPolicyType, PolicyData, definePolicyEvaluationContext } from '@authup/access';\nimport type { Result } from '@authup/kit';\nimport { isUUID } from '@authup/kit';\nimport { EntityNotFoundError, normalizeError } from '@authup/errors';\nimport type { ActorContext } from '@authup/server-kit';\nimport { PolicyEngine } from '../../../security/policy/engine.ts';\nimport { toIdentityPolicyData } from '../../permission/identity-policy-data.ts';\nimport type {\n IPolicyCheckerService,\n PolicyCheckerServiceContext,\n} from './types.ts';\n\nexport class PolicyCheckerService implements IPolicyCheckerService {\n protected ctx: PolicyCheckerServiceContext;\n\n constructor(ctx: PolicyCheckerServiceContext) {\n this.ctx = ctx;\n }\n\n async check(\n idOrName: string,\n data: Record<string, any>,\n actor: ActorContext,\n realm?: string,\n ): Promise<void> {\n let criteria: Record<string, any>;\n if (isUUID(idOrName)) {\n criteria = { id: idOrName };\n } else {\n criteria = { name: idOrName };\n\n if (realm) {\n const realmId = await this.ctx.realmRepository.resolveId(realm);\n if (!realmId) {\n throw new EntityNotFoundError();\n }\n criteria.realmId = realmId;\n }\n }\n\n const entity = await this.ctx.repository.findOneBy(criteria);\n if (!entity) {\n throw new EntityNotFoundError();\n }\n\n const input = { ...data };\n if (\n !input[BuiltInPolicyType.IDENTITY] &&\n input[BuiltInPolicyType.IDENTITY] !== null\n ) {\n input[BuiltInPolicyType.IDENTITY] = toIdentityPolicyData(actor.identity);\n }\n\n const engine = new PolicyEngine(this.ctx.identityPermissionProvider);\n await engine.evaluateOrFail(\n entity,\n definePolicyEvaluationContext({ data: new PolicyData(input) }),\n );\n }\n\n async safeCheck(\n idOrName: string,\n data: Record<string, any>,\n actor: ActorContext,\n realm?: string,\n ): Promise<Result<null>> {\n try {\n await this.check(idOrName, data, actor, realm);\n return { success: true, data: null };\n } catch (e) {\n return { success: false, error: normalizeError(e) };\n }\n }\n}\n"],"mappings":";;;;;;;;;AAmBA,IAAaQ,uBAAb,MAAaA;CACCC;CAEV,YAAYA,KAAkC;EAC1C,KAAKA,MAAMA;CACf;CAEA,MAAMC,MACFC,UACAC,MACAC,OACAC,OACa;EACb,IAAIC;EACJ,IAAIZ,OAAOQ,QAAAA,GACPI,WAAW,EAAEC,IAAIL,SAAS;OACvB;GACHI,WAAW,EAAEE,MAAMN,SAAS;GAE5B,IAAIG,OAAO;IACP,MAAMI,UAAU,MAAM,KAAKT,IAAIU,gBAAgBC,UAAUN,KAAAA;IACzD,IAAI,CAACI,SACD,MAAM,IAAId,oBAAAA;IAEdW,SAASG,UAAUA;GACvB;EACJ;EAEA,MAAMG,SAAS,MAAM,KAAKZ,IAAIa,WAAWC,UAAUR,QAAAA;EACnD,IAAI,CAACM,QACD,MAAM,IAAIjB,oBAAAA;EAGd,MAAMoB,QAAQ,EAAE,GAAGZ,KAAK;EACxB,IACI,CAACY,MAAMxB,kBAAkByB,aACzBD,MAAMxB,kBAAkByB,cAAc,MAEtCD,MAAMxB,kBAAkByB,YAAYlB,qBAAqBM,MAAMa,QAAQ;EAI3E,MAAMC,IADarB,eAAa,KAAKG,IAAImB,0BACnCD,CAAAA,CAAOE,eACTR,QACAnB,8BAA8B,EAAEU,MAAM,IAAIX,WAAWuB,KAAAA,EAAO,CAAA,CAAA;CAEpE;CAEA,MAAMM,UACFnB,UACAC,MACAC,OACAC,OACqB;EACrB,IAAI;GACA,MAAM,KAAKJ,MAAMC,UAAUC,MAAMC,OAAOC,KAAAA;GACxC,OAAO;IAAEiB,SAAS;IAAMnB,MAAM;GAAK;EACvC,SAASoB,GAAG;GACR,OAAO;IAAED,SAAS;IAAOE,OAAO5B,eAAe2B,CAAAA;GAAG;EACtD;CACJ;AACJ"}
@@ -36,13 +36,13 @@ var IdentityProviderAccountManager = class {
36
36
  identity.operation = IdentityProviderIdentityOperation.CREATE;
37
37
  const user = await this.saveUser(identity);
38
38
  account = await this.repository.save({
39
- provider_id: identity.provider.id,
40
- provider_user_id: identity.id,
41
- provider_user_name: user.name,
42
- provider_realm_id: identity.provider.realm_id,
39
+ providerId: identity.provider.id,
40
+ providerUserId: identity.id,
41
+ providerUserName: user.name,
42
+ providerRealmId: identity.provider.realmId,
43
43
  user,
44
- user_id: user.id,
45
- user_realm_id: user.realm_id
44
+ userId: user.id,
45
+ userRealmId: user.realmId
46
46
  });
47
47
  await this.saveRoles(identity, account.user);
48
48
  await this.savePermissions(identity, account.user);
@@ -53,10 +53,10 @@ var IdentityProviderAccountManager = class {
53
53
  const entity = {};
54
54
  for (const attribute of attributes) if (attribute.key && attribute.operation === IdentityProviderMapperOperation.CREATE) entity[attribute.key] = attribute.value;
55
55
  if (!user) {
56
- entity.realm_id = identity.provider.realm_id;
56
+ entity.realmId = identity.provider.realmId;
57
57
  entity.active = true;
58
- entity.name_locked = true;
59
- entity.client_id = identity.clientId || null;
58
+ entity.nameLocked = true;
59
+ entity.clientId = identity.clientId || null;
60
60
  }
61
61
  const attributesSelf = await this.validateAttributes(entity, identity, 10);
62
62
  if (!attributesSelf) throw new Error("Identity provider attributes could not be validated.");
@@ -1 +1 @@
1
- {"version":3,"file":"module.mjs","names":["UserValidator","buildUserFakeEmail","isUserFakeEmail","ValidatorGroup","createNanoID","extendObject","isValidupError","stringifyPath","IdentityProviderIdentityOperation","IdentityProviderMapperOperation","IdentityProviderAccountManager","attributesMapper","permissionMapper","roleMapper","repository","userRepository","userValidator","ctx","attributeMapper","save","identity","account","findOneByProviderIdentity","operation","UPDATE","user","saveUser","saveRoles","savePermissions","CREATE","provider_id","provider","id","provider_user_id","provider_user_name","name","provider_realm_id","realm_id","user_id","user_realm_id","attributes","execute","entity","attribute","key","value","active","name_locked","client_id","clientId","attributesSelf","validateAttributes","Error","attributesSelfKeys","Object","keys","attributesExtra","entityKeys","entityKey","index","indexOf","output","trim","toLowerCase","attempts","Math","max","attributeCandidates","length","saveOneWithEA","names","shift","run","group","email","e","retry","i","issues","child","pathNormalized","path","Array","isArray","first","rest","push","entities"],"sources":["../../../../../src/core/identity/provider/account/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 { IdentityProviderAccount, User } from '@authup/core-kit';\nimport {\n UserValidator,\n buildUserFakeEmail,\n isUserFakeEmail,\n} from '@authup/core-kit';\nimport { ValidatorGroup, createNanoID, extendObject } from '@authup/kit';\nimport { isValidupError, stringifyPath } from 'validup';\nimport type { IUserIdentityRepository } from '../../entities/index.ts';\nimport { IdentityProviderIdentityOperation } from '../constants.ts';\nimport type { IIdentityProviderMapper } from '../mapper/index.ts';\nimport { IdentityProviderMapperOperation } from '../mapper/index.ts';\nimport type { IdentityProviderIdentity } from '../types.ts';\nimport type { IIdentityProviderAccountManager, IIdentityProviderAccountRepository, IdentityProviderAccountManagerContext } from './types.ts';\n\nexport class IdentityProviderAccountManager implements IIdentityProviderAccountManager {\n protected attributesMapper : IIdentityProviderMapper;\n\n protected permissionMapper : IIdentityProviderMapper;\n\n protected roleMapper : IIdentityProviderMapper;\n\n protected repository : IIdentityProviderAccountRepository;\n\n protected userRepository: IUserIdentityRepository;\n\n protected userValidator : UserValidator;\n\n constructor(ctx: IdentityProviderAccountManagerContext) {\n this.attributesMapper = ctx.attributeMapper;\n this.permissionMapper = ctx.permissionMapper;\n this.roleMapper = ctx.roleMapper;\n this.repository = ctx.repository;\n this.userRepository = ctx.userRepository;\n\n this.userValidator = new UserValidator();\n }\n\n async save(identity: IdentityProviderIdentity): Promise<IdentityProviderAccount> {\n let account = await this.repository.findOneByProviderIdentity(identity);\n if (account) {\n identity.operation = IdentityProviderIdentityOperation.UPDATE;\n\n account.user = await this.saveUser(identity, account.user);\n\n await this.repository.save(account);\n\n await this.saveRoles(identity, account.user);\n await this.savePermissions(identity, account.user);\n\n return account;\n }\n\n identity.operation = IdentityProviderIdentityOperation.CREATE;\n\n const user = await this.saveUser(identity);\n\n account = await this.repository.save({\n provider_id: identity.provider.id,\n provider_user_id: identity.id,\n provider_user_name: user.name, // todo: parse identity.name\n provider_realm_id: identity.provider.realm_id,\n user,\n user_id: user.id,\n user_realm_id: user.realm_id,\n });\n\n await this.saveRoles(identity, account.user);\n await this.savePermissions(identity, account.user);\n\n return account;\n }\n\n async saveUser(\n identity: IdentityProviderIdentity,\n user?: User,\n ): Promise<User> {\n const attributes = await this.attributesMapper.execute(\n identity,\n );\n\n const entity : Record<string, any> = {};\n for (const attribute of attributes) {\n if (\n attribute.key &&\n attribute.operation === IdentityProviderMapperOperation.CREATE\n ) {\n // attribute value might be object, array, ...\n entity[attribute.key] = attribute.value;\n }\n }\n\n if (!user) {\n entity.realm_id = identity.provider.realm_id;\n entity.active = true;\n entity.name_locked = true;\n entity.client_id = identity.clientId || null;\n }\n\n const attributesSelf = await this.validateAttributes(entity, identity, 10);\n if (!attributesSelf) {\n // todo: better error name\n throw new Error('Identity provider attributes could not be validated.');\n }\n const attributesSelfKeys = Object.keys(attributesSelf);\n\n const attributesExtra : Record<string, any> = {};\n\n const entityKeys = Object.keys(entity);\n for (const entityKey of entityKeys) {\n const index = attributesSelfKeys.indexOf(entityKey);\n if (index !== -1) {\n continue;\n }\n\n attributesExtra[entityKey] = entity[entityKey];\n }\n\n let output : User;\n if (user) {\n output = extendObject(user, attributesSelf);\n } else {\n output = attributesSelf;\n }\n\n if (typeof output.name === 'string') {\n output.name = output.name.trim().toLowerCase();\n }\n\n let attempts = Math.max((identity.attributeCandidates?.name?.length || 0) + 1, 10);\n while (attempts > 0) {\n try {\n // todo: we also need to remove existing ones via idp login flow ( but not other attributes!)\n return await this.userRepository.saveOneWithEA(output, attributesExtra);\n } catch {\n const names = identity.attributeCandidates?.name || [];\n if (names.length > 0) {\n while (names.length > 0) {\n output.name = `${names.shift()}`.trim().toLowerCase();\n\n try {\n await this.userValidator.run(output, {\n group: identity.operation === IdentityProviderIdentityOperation.CREATE ?\n ValidatorGroup.CREATE :\n ValidatorGroup.UPDATE,\n });\n break;\n } catch {\n // todo: do nothing.\n }\n }\n } else {\n output.name = createNanoID('0123456789abcdefghijklmnopqrstuvwxyz-_', 10);\n }\n\n if (isUserFakeEmail(output.email)) {\n output.email = buildUserFakeEmail(output.name);\n }\n\n attempts -= 1;\n }\n }\n\n throw new Error('The user account could not be created due a conflict error.');\n }\n\n async validateAttributes(\n entity: Record<string, any>,\n identity: IdentityProviderIdentity,\n attempts: number,\n ) : Promise<User | null> {\n attempts--;\n if (attempts <= 0) {\n return null;\n }\n\n try {\n return await this.userValidator.run(entity, {\n group: identity.operation === IdentityProviderIdentityOperation.CREATE ?\n ValidatorGroup.CREATE :\n ValidatorGroup.UPDATE,\n });\n } catch (e: any) {\n if (!isValidupError(e)) {\n return null;\n }\n\n let retry = false;\n for (let i = 0; i < e.issues.length; i++) {\n const child = e.issues[i];\n\n const pathNormalized = stringifyPath(child.path);\n\n if (\n Array.isArray(entity[pathNormalized]) &&\n entity[pathNormalized].length > 0\n ) {\n const [first, ...rest] = entity[pathNormalized];\n entity[pathNormalized] = first;\n\n if (rest.length > 0) {\n if (!identity.attributeCandidates) {\n identity.attributeCandidates = {};\n }\n\n if (!identity.attributeCandidates[pathNormalized]) {\n identity.attributeCandidates[pathNormalized] = [];\n }\n\n identity.attributeCandidates[pathNormalized]!.push(...rest);\n }\n\n retry = true;\n break;\n }\n\n if (\n identity.attributeCandidates &&\n identity.attributeCandidates[pathNormalized] &&\n identity.attributeCandidates[pathNormalized]!.length > 0\n ) {\n entity[pathNormalized] = identity.attributeCandidates[pathNormalized]!.shift();\n retry = true;\n break;\n }\n\n if (\n entity.name &&\n pathNormalized === 'email'\n ) {\n entity[pathNormalized] = buildUserFakeEmail(entity.name);\n retry = true;\n break;\n }\n\n if (entity[pathNormalized]) {\n entity[pathNormalized] = null;\n break;\n }\n }\n\n if (retry) {\n return this.validateAttributes(entity, identity, attempts);\n }\n\n return null;\n }\n }\n\n async savePermissions(\n identity: IdentityProviderIdentity,\n user: User,\n ) {\n const entities = await this.permissionMapper.execute(identity);\n\n await this.userRepository.savePermissions(user, entities);\n }\n\n async saveRoles(\n identity: IdentityProviderIdentity,\n user: User,\n ) {\n const entities = await this.roleMapper.execute(identity);\n\n await this.userRepository.saveRoles(user, entities);\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"module.mjs","names":["UserValidator","buildUserFakeEmail","isUserFakeEmail","ValidatorGroup","createNanoID","extendObject","isValidupError","stringifyPath","IdentityProviderIdentityOperation","IdentityProviderMapperOperation","IdentityProviderAccountManager","attributesMapper","permissionMapper","roleMapper","repository","userRepository","userValidator","ctx","attributeMapper","save","identity","account","findOneByProviderIdentity","operation","UPDATE","user","saveUser","saveRoles","savePermissions","CREATE","providerId","provider","id","providerUserId","providerUserName","name","providerRealmId","realmId","userId","userRealmId","attributes","execute","entity","attribute","key","value","active","nameLocked","clientId","attributesSelf","validateAttributes","Error","attributesSelfKeys","Object","keys","attributesExtra","entityKeys","entityKey","index","indexOf","output","trim","toLowerCase","attempts","Math","max","attributeCandidates","length","saveOneWithEA","names","shift","run","group","email","e","retry","i","issues","child","pathNormalized","path","Array","isArray","first","rest","push","entities"],"sources":["../../../../../src/core/identity/provider/account/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 { IdentityProviderAccount, User } from '@authup/core-kit';\nimport {\n UserValidator,\n buildUserFakeEmail,\n isUserFakeEmail,\n} from '@authup/core-kit';\nimport { ValidatorGroup, createNanoID, extendObject } from '@authup/kit';\nimport { isValidupError, stringifyPath } from 'validup';\nimport type { IUserIdentityRepository } from '../../entities/index.ts';\nimport { IdentityProviderIdentityOperation } from '../constants.ts';\nimport type { IIdentityProviderMapper } from '../mapper/index.ts';\nimport { IdentityProviderMapperOperation } from '../mapper/index.ts';\nimport type { IdentityProviderIdentity } from '../types.ts';\nimport type { IIdentityProviderAccountManager, IIdentityProviderAccountRepository, IdentityProviderAccountManagerContext } from './types.ts';\n\nexport class IdentityProviderAccountManager implements IIdentityProviderAccountManager {\n protected attributesMapper : IIdentityProviderMapper;\n\n protected permissionMapper : IIdentityProviderMapper;\n\n protected roleMapper : IIdentityProviderMapper;\n\n protected repository : IIdentityProviderAccountRepository;\n\n protected userRepository: IUserIdentityRepository;\n\n protected userValidator : UserValidator;\n\n constructor(ctx: IdentityProviderAccountManagerContext) {\n this.attributesMapper = ctx.attributeMapper;\n this.permissionMapper = ctx.permissionMapper;\n this.roleMapper = ctx.roleMapper;\n this.repository = ctx.repository;\n this.userRepository = ctx.userRepository;\n\n this.userValidator = new UserValidator();\n }\n\n async save(identity: IdentityProviderIdentity): Promise<IdentityProviderAccount> {\n let account = await this.repository.findOneByProviderIdentity(identity);\n if (account) {\n identity.operation = IdentityProviderIdentityOperation.UPDATE;\n\n account.user = await this.saveUser(identity, account.user);\n\n await this.repository.save(account);\n\n await this.saveRoles(identity, account.user);\n await this.savePermissions(identity, account.user);\n\n return account;\n }\n\n identity.operation = IdentityProviderIdentityOperation.CREATE;\n\n const user = await this.saveUser(identity);\n\n account = await this.repository.save({\n providerId: identity.provider.id,\n providerUserId: identity.id,\n providerUserName: user.name, // todo: parse identity.name\n providerRealmId: identity.provider.realmId,\n user,\n userId: user.id,\n userRealmId: user.realmId,\n });\n\n await this.saveRoles(identity, account.user);\n await this.savePermissions(identity, account.user);\n\n return account;\n }\n\n async saveUser(\n identity: IdentityProviderIdentity,\n user?: User,\n ): Promise<User> {\n const attributes = await this.attributesMapper.execute(\n identity,\n );\n\n const entity : Record<string, any> = {};\n for (const attribute of attributes) {\n if (\n attribute.key &&\n attribute.operation === IdentityProviderMapperOperation.CREATE\n ) {\n // attribute value might be object, array, ...\n entity[attribute.key] = attribute.value;\n }\n }\n\n if (!user) {\n entity.realmId = identity.provider.realmId;\n entity.active = true;\n entity.nameLocked = true;\n entity.clientId = identity.clientId || null;\n }\n\n const attributesSelf = await this.validateAttributes(entity, identity, 10);\n if (!attributesSelf) {\n // todo: better error name\n throw new Error('Identity provider attributes could not be validated.');\n }\n const attributesSelfKeys = Object.keys(attributesSelf);\n\n const attributesExtra : Record<string, any> = {};\n\n const entityKeys = Object.keys(entity);\n for (const entityKey of entityKeys) {\n const index = attributesSelfKeys.indexOf(entityKey);\n if (index !== -1) {\n continue;\n }\n\n attributesExtra[entityKey] = entity[entityKey];\n }\n\n let output : User;\n if (user) {\n output = extendObject(user, attributesSelf);\n } else {\n output = attributesSelf;\n }\n\n if (typeof output.name === 'string') {\n output.name = output.name.trim().toLowerCase();\n }\n\n let attempts = Math.max((identity.attributeCandidates?.name?.length || 0) + 1, 10);\n while (attempts > 0) {\n try {\n // todo: we also need to remove existing ones via idp login flow ( but not other attributes!)\n return await this.userRepository.saveOneWithEA(output, attributesExtra);\n } catch {\n const names = identity.attributeCandidates?.name || [];\n if (names.length > 0) {\n while (names.length > 0) {\n output.name = `${names.shift()}`.trim().toLowerCase();\n\n try {\n await this.userValidator.run(output, {\n group: identity.operation === IdentityProviderIdentityOperation.CREATE ?\n ValidatorGroup.CREATE :\n ValidatorGroup.UPDATE,\n });\n break;\n } catch {\n // todo: do nothing.\n }\n }\n } else {\n output.name = createNanoID('0123456789abcdefghijklmnopqrstuvwxyz-_', 10);\n }\n\n if (isUserFakeEmail(output.email)) {\n output.email = buildUserFakeEmail(output.name);\n }\n\n attempts -= 1;\n }\n }\n\n throw new Error('The user account could not be created due a conflict error.');\n }\n\n async validateAttributes(\n entity: Record<string, any>,\n identity: IdentityProviderIdentity,\n attempts: number,\n ) : Promise<User | null> {\n attempts--;\n if (attempts <= 0) {\n return null;\n }\n\n try {\n return await this.userValidator.run(entity, {\n group: identity.operation === IdentityProviderIdentityOperation.CREATE ?\n ValidatorGroup.CREATE :\n ValidatorGroup.UPDATE,\n });\n } catch (e: any) {\n if (!isValidupError(e)) {\n return null;\n }\n\n let retry = false;\n for (let i = 0; i < e.issues.length; i++) {\n const child = e.issues[i];\n\n const pathNormalized = stringifyPath(child.path);\n\n if (\n Array.isArray(entity[pathNormalized]) &&\n entity[pathNormalized].length > 0\n ) {\n const [first, ...rest] = entity[pathNormalized];\n entity[pathNormalized] = first;\n\n if (rest.length > 0) {\n if (!identity.attributeCandidates) {\n identity.attributeCandidates = {};\n }\n\n if (!identity.attributeCandidates[pathNormalized]) {\n identity.attributeCandidates[pathNormalized] = [];\n }\n\n identity.attributeCandidates[pathNormalized]!.push(...rest);\n }\n\n retry = true;\n break;\n }\n\n if (\n identity.attributeCandidates &&\n identity.attributeCandidates[pathNormalized] &&\n identity.attributeCandidates[pathNormalized]!.length > 0\n ) {\n entity[pathNormalized] = identity.attributeCandidates[pathNormalized]!.shift();\n retry = true;\n break;\n }\n\n if (\n entity.name &&\n pathNormalized === 'email'\n ) {\n entity[pathNormalized] = buildUserFakeEmail(entity.name);\n retry = true;\n break;\n }\n\n if (entity[pathNormalized]) {\n entity[pathNormalized] = null;\n break;\n }\n }\n\n if (retry) {\n return this.validateAttributes(entity, identity, attempts);\n }\n\n return null;\n }\n }\n\n async savePermissions(\n identity: IdentityProviderIdentity,\n user: User,\n ) {\n const entities = await this.permissionMapper.execute(identity);\n\n await this.userRepository.savePermissions(user, entities);\n }\n\n async saveRoles(\n identity: IdentityProviderIdentity,\n user: User,\n ) {\n const entities = await this.roleMapper.execute(identity);\n\n await this.userRepository.saveRoles(user, entities);\n }\n}\n"],"mappings":"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"}
@@ -9,9 +9,9 @@ import { mergeOAuth2Scopes } from "@authup/specs";
9
9
  var IdentityProviderFacebookAuthenticator = class extends IdentityProviderOAuth2Authenticator {
10
10
  constructor(ctx) {
11
11
  ctx.provider.scope = mergeOAuth2Scopes("email", ctx.provider.scope);
12
- ctx.provider.authorize_url = "https://graph.facebook.com/oauth/authorize";
13
- ctx.provider.token_url = "https://graph.facebook.com/oauth/access_token";
14
- ctx.provider.user_info_url = "https://graph.facebook.com/me?fields=id,name,email,first_name,last_name";
12
+ ctx.provider.authorizeUrl = "https://graph.facebook.com/oauth/authorize";
13
+ ctx.provider.tokenUrl = "https://graph.facebook.com/oauth/access_token";
14
+ ctx.provider.userInfoUrl = "https://graph.facebook.com/me?fields=id,name,email,first_name,last_name";
15
15
  super(ctx);
16
16
  }
17
17
  async buildIdentityWithTokenGrantResponse(input) {
@@ -25,8 +25,8 @@ var IdentityProviderFacebookAuthenticator = class extends IdentityProviderOAuth2
25
25
  attributeCandidates: {
26
26
  name: [userInfo.username, userInfo.id],
27
27
  email: [userInfo.email],
28
- first_name: [userInfo.first_name],
29
- last_name: [userInfo.last_name]
28
+ firstName: [userInfo.first_name],
29
+ lastName: [userInfo.last_name]
30
30
  },
31
31
  data: payload,
32
32
  provider: this.provider
@@ -1 +1 @@
1
- {"version":3,"file":"facebook.mjs","names":["extractTokenPayload","mergeOAuth2Scopes","IdentityProviderOAuth2Authenticator","IdentityProviderFacebookAuthenticator","ctx","provider","scope","authorize_url","token_url","user_info_url","buildIdentityWithTokenGrantResponse","input","userInfo","client","get","type","token","access_token","payload","id","attributeCandidates","name","username","email","first_name","last_name","data"],"sources":["../../../../../../src/core/identity/provider/authentication/presets/facebook.ts"],"sourcesContent":["/*\n * Copyright (c) 2023-2023.\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 { extractTokenPayload } from '@authup/server-kit';\nimport { mergeOAuth2Scopes } from '@authup/specs';\nimport type { TokenGrantResponse } from '@hapic/oauth2';\nimport type { IdentityProviderIdentity } from '../../types.ts';\nimport type { IdentityProviderOAuth2AuthenticatorContext } from '../protocols/index.ts';\nimport { IdentityProviderOAuth2Authenticator } from '../protocols/index.ts';\n\nexport class IdentityProviderFacebookAuthenticator extends IdentityProviderOAuth2Authenticator {\n constructor(ctx: IdentityProviderOAuth2AuthenticatorContext) {\n ctx.provider.scope = mergeOAuth2Scopes('email', ctx.provider.scope);\n ctx.provider.authorize_url = 'https://graph.facebook.com/oauth/authorize';\n ctx.provider.token_url = 'https://graph.facebook.com/oauth/access_token';\n ctx.provider.user_info_url = 'https://graph.facebook.com/me?fields=id,name,email,first_name,last_name';\n\n super(ctx);\n }\n\n protected async buildIdentityWithTokenGrantResponse(input: TokenGrantResponse): Promise<IdentityProviderIdentity> {\n const userInfo = await this.client.userInfo.get({\n type: 'Bearer',\n token: input.access_token,\n });\n\n const payload = extractTokenPayload(input.access_token);\n\n return {\n id: userInfo.id,\n attributeCandidates: {\n name: [\n userInfo.username,\n userInfo.id,\n ],\n email: [\n userInfo.email,\n ],\n first_name: [\n userInfo.first_name,\n ],\n last_name: [\n userInfo.last_name,\n ],\n },\n data: payload,\n provider: this.provider,\n };\n }\n}\n"],"mappings":";;;;;;;;AAcA,IAAaG,wCAAb,cAA2DD,oCAAAA;CACvD,YAAYE,KAAiD;EACzDA,IAAIC,SAASC,QAAQL,kBAAkB,SAASG,IAAIC,SAASC,KAAK;EAClEF,IAAIC,SAASE,gBAAgB;EAC7BH,IAAIC,SAASG,YAAY;EACzBJ,IAAIC,SAASI,gBAAgB;EAE7B,MAAML,GAAAA;CACV;CAEA,MAAgBM,oCAAoCC,OAA8D;EAC9G,MAAMC,WAAW,MAAM,KAAKC,OAAOD,SAASE,IAAI;GAC5CC,MAAM;GACNC,OAAOL,MAAMM;EACjB,CAAA;EAEA,MAAMC,UAAUlB,oBAAoBW,MAAMM,YAAY;EAEtD,OAAO;GACHE,IAAIP,SAASO;GACbC,qBAAqB;IACjBC,MAAM,CACFT,SAASU,UACTV,SAASO,EAAAA;IAEbI,OAAO,CACHX,SAASW,KAAAA;IAEbC,YAAY,CACRZ,SAASY,UAAAA;IAEbC,WAAW,CACPb,SAASa,SAAAA;GAEjB;GACAC,MAAMR;GACNb,UAAU,KAAKA;EACnB;CACJ;AACJ"}
1
+ {"version":3,"file":"facebook.mjs","names":["extractTokenPayload","mergeOAuth2Scopes","IdentityProviderOAuth2Authenticator","IdentityProviderFacebookAuthenticator","ctx","provider","scope","authorizeUrl","tokenUrl","userInfoUrl","buildIdentityWithTokenGrantResponse","input","userInfo","client","get","type","token","access_token","payload","id","attributeCandidates","name","username","email","firstName","first_name","lastName","last_name","data"],"sources":["../../../../../../src/core/identity/provider/authentication/presets/facebook.ts"],"sourcesContent":["/*\n * Copyright (c) 2023-2023.\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 { extractTokenPayload } from '@authup/server-kit';\nimport { mergeOAuth2Scopes } from '@authup/specs';\nimport type { TokenGrantResponse } from '@hapic/oauth2';\nimport type { IdentityProviderIdentity } from '../../types.ts';\nimport type { IdentityProviderOAuth2AuthenticatorContext } from '../protocols/index.ts';\nimport { IdentityProviderOAuth2Authenticator } from '../protocols/index.ts';\n\nexport class IdentityProviderFacebookAuthenticator extends IdentityProviderOAuth2Authenticator {\n constructor(ctx: IdentityProviderOAuth2AuthenticatorContext) {\n ctx.provider.scope = mergeOAuth2Scopes('email', ctx.provider.scope);\n ctx.provider.authorizeUrl = 'https://graph.facebook.com/oauth/authorize';\n ctx.provider.tokenUrl = 'https://graph.facebook.com/oauth/access_token';\n ctx.provider.userInfoUrl = 'https://graph.facebook.com/me?fields=id,name,email,first_name,last_name';\n\n super(ctx);\n }\n\n protected async buildIdentityWithTokenGrantResponse(input: TokenGrantResponse): Promise<IdentityProviderIdentity> {\n const userInfo = await this.client.userInfo.get({\n type: 'Bearer',\n token: input.access_token,\n });\n\n const payload = extractTokenPayload(input.access_token);\n\n return {\n id: userInfo.id,\n attributeCandidates: {\n name: [\n userInfo.username,\n userInfo.id,\n ],\n email: [\n userInfo.email,\n ],\n firstName: [\n userInfo.first_name,\n ],\n lastName: [\n userInfo.last_name,\n ],\n },\n data: payload,\n provider: this.provider,\n };\n }\n}\n"],"mappings":";;;;;;;;AAcA,IAAaG,wCAAb,cAA2DD,oCAAAA;CACvD,YAAYE,KAAiD;EACzDA,IAAIC,SAASC,QAAQL,kBAAkB,SAASG,IAAIC,SAASC,KAAK;EAClEF,IAAIC,SAASE,eAAe;EAC5BH,IAAIC,SAASG,WAAW;EACxBJ,IAAIC,SAASI,cAAc;EAE3B,MAAML,GAAAA;CACV;CAEA,MAAgBM,oCAAoCC,OAA8D;EAC9G,MAAMC,WAAW,MAAM,KAAKC,OAAOD,SAASE,IAAI;GAC5CC,MAAM;GACNC,OAAOL,MAAMM;EACjB,CAAA;EAEA,MAAMC,UAAUlB,oBAAoBW,MAAMM,YAAY;EAEtD,OAAO;GACHE,IAAIP,SAASO;GACbC,qBAAqB;IACjBC,MAAM,CACFT,SAASU,UACTV,SAASO,EAAAA;IAEbI,OAAO,CACHX,SAASW,KAAAA;IAEbC,WAAW,CACPZ,SAASa,UAAAA;IAEbC,UAAU,CACNd,SAASe,SAAAA;GAEjB;GACAC,MAAMV;GACNb,UAAU,KAAKA;EACnB;CACJ;AACJ"}
@@ -9,9 +9,9 @@ import { mergeOAuth2Scopes } from "@authup/specs";
9
9
  var IdentityProviderGithubAuthenticator = class extends IdentityProviderOAuth2Authenticator {
10
10
  constructor(ctx) {
11
11
  ctx.provider.scope = mergeOAuth2Scopes("user:email", ctx.provider.scope);
12
- ctx.provider.authorize_url = "https://github.com/login/oauth/authorize";
13
- ctx.provider.token_url = "https://github.com/login/oauth/access_token";
14
- ctx.provider.user_info_url = "https://api.github.com/user";
12
+ ctx.provider.authorizeUrl = "https://github.com/login/oauth/authorize";
13
+ ctx.provider.tokenUrl = "https://github.com/login/oauth/access_token";
14
+ ctx.provider.userInfoUrl = "https://api.github.com/user";
15
15
  super(ctx);
16
16
  }
17
17
  async buildIdentityWithTokenGrantResponse(input) {
@@ -1 +1 @@
1
- {"version":3,"file":"github.mjs","names":["extractTokenPayload","mergeOAuth2Scopes","IdentityProviderOAuth2Authenticator","IdentityProviderGithubAuthenticator","ctx","provider","scope","authorize_url","token_url","user_info_url","buildIdentityWithTokenGrantResponse","input","userInfo","client","get","type","token","access_token","payload","id","attributeCandidates","name","login","email","data"],"sources":["../../../../../../src/core/identity/provider/authentication/presets/github.ts"],"sourcesContent":["/*\n * Copyright (c) 2023-2023.\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 { extractTokenPayload } from '@authup/server-kit';\nimport { mergeOAuth2Scopes } from '@authup/specs';\nimport type { TokenGrantResponse } from '@hapic/oauth2';\nimport type { IdentityProviderIdentity } from '../../types.ts';\nimport type { IdentityProviderOAuth2AuthenticatorContext } from '../protocols/index.ts';\nimport { IdentityProviderOAuth2Authenticator } from '../protocols/index.ts';\n\nexport class IdentityProviderGithubAuthenticator extends IdentityProviderOAuth2Authenticator {\n constructor(ctx: IdentityProviderOAuth2AuthenticatorContext) {\n ctx.provider.scope = mergeOAuth2Scopes('user:email', ctx.provider.scope);\n ctx.provider.authorize_url = 'https://github.com/login/oauth/authorize';\n ctx.provider.token_url = 'https://github.com/login/oauth/access_token';\n ctx.provider.user_info_url = 'https://api.github.com/user';\n\n super(ctx);\n }\n\n protected async buildIdentityWithTokenGrantResponse(input: TokenGrantResponse): Promise<IdentityProviderIdentity> {\n const userInfo = await this.client.userInfo.get({\n type: 'Bearer',\n token: input.access_token,\n });\n\n const payload = extractTokenPayload(input.access_token);\n\n return {\n id: userInfo.id,\n attributeCandidates: {\n name: [\n userInfo.login,\n userInfo.name,\n userInfo.id,\n ],\n email: [\n userInfo.email,\n ],\n },\n data: payload,\n provider: this.provider,\n };\n }\n}\n"],"mappings":";;;;;;;;AAcA,IAAaG,sCAAb,cAAyDD,oCAAAA;CACrD,YAAYE,KAAiD;EACzDA,IAAIC,SAASC,QAAQL,kBAAkB,cAAcG,IAAIC,SAASC,KAAK;EACvEF,IAAIC,SAASE,gBAAgB;EAC7BH,IAAIC,SAASG,YAAY;EACzBJ,IAAIC,SAASI,gBAAgB;EAE7B,MAAML,GAAAA;CACV;CAEA,MAAgBM,oCAAoCC,OAA8D;EAC9G,MAAMC,WAAW,MAAM,KAAKC,OAAOD,SAASE,IAAI;GAC5CC,MAAM;GACNC,OAAOL,MAAMM;EACjB,CAAA;EAEA,MAAMC,UAAUlB,oBAAoBW,MAAMM,YAAY;EAEtD,OAAO;GACHE,IAAIP,SAASO;GACbC,qBAAqB;IACjBC,MAAM;KACFT,SAASU;KACTV,SAASS;KACTT,SAASO;;IAEbI,OAAO,CACHX,SAASW,KAAAA;GAEjB;GACAC,MAAMN;GACNb,UAAU,KAAKA;EACnB;CACJ;AACJ"}
1
+ {"version":3,"file":"github.mjs","names":["extractTokenPayload","mergeOAuth2Scopes","IdentityProviderOAuth2Authenticator","IdentityProviderGithubAuthenticator","ctx","provider","scope","authorizeUrl","tokenUrl","userInfoUrl","buildIdentityWithTokenGrantResponse","input","userInfo","client","get","type","token","access_token","payload","id","attributeCandidates","name","login","email","data"],"sources":["../../../../../../src/core/identity/provider/authentication/presets/github.ts"],"sourcesContent":["/*\n * Copyright (c) 2023-2023.\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 { extractTokenPayload } from '@authup/server-kit';\nimport { mergeOAuth2Scopes } from '@authup/specs';\nimport type { TokenGrantResponse } from '@hapic/oauth2';\nimport type { IdentityProviderIdentity } from '../../types.ts';\nimport type { IdentityProviderOAuth2AuthenticatorContext } from '../protocols/index.ts';\nimport { IdentityProviderOAuth2Authenticator } from '../protocols/index.ts';\n\nexport class IdentityProviderGithubAuthenticator extends IdentityProviderOAuth2Authenticator {\n constructor(ctx: IdentityProviderOAuth2AuthenticatorContext) {\n ctx.provider.scope = mergeOAuth2Scopes('user:email', ctx.provider.scope);\n ctx.provider.authorizeUrl = 'https://github.com/login/oauth/authorize';\n ctx.provider.tokenUrl = 'https://github.com/login/oauth/access_token';\n ctx.provider.userInfoUrl = 'https://api.github.com/user';\n\n super(ctx);\n }\n\n protected async buildIdentityWithTokenGrantResponse(input: TokenGrantResponse): Promise<IdentityProviderIdentity> {\n const userInfo = await this.client.userInfo.get({\n type: 'Bearer',\n token: input.access_token,\n });\n\n const payload = extractTokenPayload(input.access_token);\n\n return {\n id: userInfo.id,\n attributeCandidates: {\n name: [\n userInfo.login,\n userInfo.name,\n userInfo.id,\n ],\n email: [\n userInfo.email,\n ],\n },\n data: payload,\n provider: this.provider,\n };\n }\n}\n"],"mappings":";;;;;;;;AAcA,IAAaG,sCAAb,cAAyDD,oCAAAA;CACrD,YAAYE,KAAiD;EACzDA,IAAIC,SAASC,QAAQL,kBAAkB,cAAcG,IAAIC,SAASC,KAAK;EACvEF,IAAIC,SAASE,eAAe;EAC5BH,IAAIC,SAASG,WAAW;EACxBJ,IAAIC,SAASI,cAAc;EAE3B,MAAML,GAAAA;CACV;CAEA,MAAgBM,oCAAoCC,OAA8D;EAC9G,MAAMC,WAAW,MAAM,KAAKC,OAAOD,SAASE,IAAI;GAC5CC,MAAM;GACNC,OAAOL,MAAMM;EACjB,CAAA;EAEA,MAAMC,UAAUlB,oBAAoBW,MAAMM,YAAY;EAEtD,OAAO;GACHE,IAAIP,SAASO;GACbC,qBAAqB;IACjBC,MAAM;KACFT,SAASU;KACTV,SAASS;KACTT,SAASO;;IAEbI,OAAO,CACHX,SAASW,KAAAA;GAEjB;GACAC,MAAMN;GACNb,UAAU,KAAKA;EACnB;CACJ;AACJ"}
@@ -9,9 +9,9 @@ import { mergeOAuth2Scopes } from "@authup/specs";
9
9
  var IdentityProviderGoogleAuthenticator = class extends IdentityProviderOAuth2Authenticator {
10
10
  constructor(ctx) {
11
11
  ctx.provider.scope = mergeOAuth2Scopes("openid profile email", ctx.provider.scope);
12
- ctx.provider.authorize_url = "https://accounts.google.com/o/oauth2/v2/auth";
13
- ctx.provider.token_url = "https://oauth2.googleapis.com/token";
14
- ctx.provider.user_info_url = "https://openidconnect.googleapis.com/v1/userinfo";
12
+ ctx.provider.authorizeUrl = "https://accounts.google.com/o/oauth2/v2/auth";
13
+ ctx.provider.tokenUrl = "https://oauth2.googleapis.com/token";
14
+ ctx.provider.userInfoUrl = "https://openidconnect.googleapis.com/v1/userinfo";
15
15
  super(ctx);
16
16
  }
17
17
  async buildIdentityWithTokenGrantResponse(input) {
@@ -23,8 +23,8 @@ var IdentityProviderGoogleAuthenticator = class extends IdentityProviderOAuth2Au
23
23
  const idTokenPayload = extractTokenPayload(input.id_token);
24
24
  attributeCandidates.name = [idTokenPayload.name];
25
25
  attributeCandidates.email = [idTokenPayload.email];
26
- attributeCandidates.first_name = [idTokenPayload.given_name];
27
- attributeCandidates.last_name = [idTokenPayload.family_name];
26
+ attributeCandidates.firstName = [idTokenPayload.given_name];
27
+ attributeCandidates.lastName = [idTokenPayload.family_name];
28
28
  }
29
29
  return {
30
30
  id: payload.sub,
@@ -1 +1 @@
1
- {"version":3,"file":"google.mjs","names":["extractTokenPayload","mergeOAuth2Scopes","IdentityProviderOAuth2Authenticator","IdentityProviderGoogleAuthenticator","ctx","provider","scope","authorize_url","token_url","user_info_url","buildIdentityWithTokenGrantResponse","input","payload","access_token","attributeCandidates","id_token","idTokenPayload","name","email","first_name","given_name","last_name","family_name","id","sub","data"],"sources":["../../../../../../src/core/identity/provider/authentication/presets/google.ts"],"sourcesContent":["/*\n * Copyright (c) 2023-2023.\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 { User } from '@authup/core-kit';\nimport { extractTokenPayload } from '@authup/server-kit';\nimport type { OpenIDTokenPayload } from '@authup/specs';\nimport { mergeOAuth2Scopes } from '@authup/specs';\nimport type { TokenGrantResponse } from '@hapic/oauth2';\nimport type { IdentityProviderIdentity } from '../../types.ts';\nimport type { IdentityProviderOAuth2AuthenticatorContext } from '../protocols/index.ts';\nimport { IdentityProviderOAuth2Authenticator } from '../protocols/index.ts';\n\nexport class IdentityProviderGoogleAuthenticator extends IdentityProviderOAuth2Authenticator {\n constructor(ctx: IdentityProviderOAuth2AuthenticatorContext) {\n ctx.provider.scope = mergeOAuth2Scopes('openid profile email', ctx.provider.scope);\n ctx.provider.authorize_url = 'https://accounts.google.com/o/oauth2/v2/auth';\n ctx.provider.token_url = 'https://oauth2.googleapis.com/token';\n ctx.provider.user_info_url = 'https://openidconnect.googleapis.com/v1/userinfo';\n\n super(ctx);\n }\n\n protected async buildIdentityWithTokenGrantResponse(input: TokenGrantResponse): Promise<IdentityProviderIdentity> {\n const payload = extractTokenPayload(input.access_token);\n\n const attributeCandidates : Record<keyof User, unknown[]> = {};\n\n /**\n * @see https://developers.google.com/identity/openid-connect/openid-connect?hl=de#server-flow\n */\n if (input.id_token) {\n const idTokenPayload = extractTokenPayload(input.id_token) as OpenIDTokenPayload;\n\n attributeCandidates.name = [\n idTokenPayload.name,\n ];\n\n attributeCandidates.email = [\n idTokenPayload.email,\n ];\n\n attributeCandidates.first_name = [\n idTokenPayload.given_name,\n ];\n attributeCandidates.last_name = [\n idTokenPayload.family_name,\n ];\n }\n\n return {\n id: payload.sub!,\n attributeCandidates,\n data: payload,\n provider: this.provider,\n };\n }\n}\n"],"mappings":";;;;;;;;AAgBA,IAAaG,sCAAb,cAAyDD,oCAAAA;CACrD,YAAYE,KAAiD;EACzDA,IAAIC,SAASC,QAAQL,kBAAkB,wBAAwBG,IAAIC,SAASC,KAAK;EACjFF,IAAIC,SAASE,gBAAgB;EAC7BH,IAAIC,SAASG,YAAY;EACzBJ,IAAIC,SAASI,gBAAgB;EAE7B,MAAML,GAAAA;CACV;CAEA,MAAgBM,oCAAoCC,OAA8D;EAC9G,MAAMC,UAAUZ,oBAAoBW,MAAME,YAAY;EAEtD,MAAMC,sBAAsD,CAAC;;;KAK7D,IAAIH,MAAMI,UAAU;GAChB,MAAMC,iBAAiBhB,oBAAoBW,MAAMI,QAAQ;GAEzDD,oBAAoBG,OAAO,CACvBD,eAAeC,IAAAA;GAGnBH,oBAAoBI,QAAQ,CACxBF,eAAeE,KAAAA;GAGnBJ,oBAAoBK,aAAa,CAC7BH,eAAeI,UAAAA;GAEnBN,oBAAoBO,YAAY,CAC5BL,eAAeM,WAAAA;EAEvB;EAEA,OAAO;GACHC,IAAIX,QAAQY;GACZV;GACAW,MAAMb;GACNP,UAAU,KAAKA;EACnB;CACJ;AACJ"}
1
+ {"version":3,"file":"google.mjs","names":["extractTokenPayload","mergeOAuth2Scopes","IdentityProviderOAuth2Authenticator","IdentityProviderGoogleAuthenticator","ctx","provider","scope","authorizeUrl","tokenUrl","userInfoUrl","buildIdentityWithTokenGrantResponse","input","payload","access_token","attributeCandidates","id_token","idTokenPayload","name","email","firstName","given_name","lastName","family_name","id","sub","data"],"sources":["../../../../../../src/core/identity/provider/authentication/presets/google.ts"],"sourcesContent":["/*\n * Copyright (c) 2023-2023.\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 { User } from '@authup/core-kit';\nimport { extractTokenPayload } from '@authup/server-kit';\nimport type { OpenIDTokenPayload } from '@authup/specs';\nimport { mergeOAuth2Scopes } from '@authup/specs';\nimport type { TokenGrantResponse } from '@hapic/oauth2';\nimport type { IdentityProviderIdentity } from '../../types.ts';\nimport type { IdentityProviderOAuth2AuthenticatorContext } from '../protocols/index.ts';\nimport { IdentityProviderOAuth2Authenticator } from '../protocols/index.ts';\n\nexport class IdentityProviderGoogleAuthenticator extends IdentityProviderOAuth2Authenticator {\n constructor(ctx: IdentityProviderOAuth2AuthenticatorContext) {\n ctx.provider.scope = mergeOAuth2Scopes('openid profile email', ctx.provider.scope);\n ctx.provider.authorizeUrl = 'https://accounts.google.com/o/oauth2/v2/auth';\n ctx.provider.tokenUrl = 'https://oauth2.googleapis.com/token';\n ctx.provider.userInfoUrl = 'https://openidconnect.googleapis.com/v1/userinfo';\n\n super(ctx);\n }\n\n protected async buildIdentityWithTokenGrantResponse(input: TokenGrantResponse): Promise<IdentityProviderIdentity> {\n const payload = extractTokenPayload(input.access_token);\n\n const attributeCandidates : Record<keyof User, unknown[]> = {};\n\n /**\n * @see https://developers.google.com/identity/openid-connect/openid-connect?hl=de#server-flow\n */\n if (input.id_token) {\n const idTokenPayload = extractTokenPayload(input.id_token) as OpenIDTokenPayload;\n\n attributeCandidates.name = [\n idTokenPayload.name,\n ];\n\n attributeCandidates.email = [\n idTokenPayload.email,\n ];\n\n attributeCandidates.firstName = [\n idTokenPayload.given_name,\n ];\n attributeCandidates.lastName = [\n idTokenPayload.family_name,\n ];\n }\n\n return {\n id: payload.sub!,\n attributeCandidates,\n data: payload,\n provider: this.provider,\n };\n }\n}\n"],"mappings":";;;;;;;;AAgBA,IAAaG,sCAAb,cAAyDD,oCAAAA;CACrD,YAAYE,KAAiD;EACzDA,IAAIC,SAASC,QAAQL,kBAAkB,wBAAwBG,IAAIC,SAASC,KAAK;EACjFF,IAAIC,SAASE,eAAe;EAC5BH,IAAIC,SAASG,WAAW;EACxBJ,IAAIC,SAASI,cAAc;EAE3B,MAAML,GAAAA;CACV;CAEA,MAAgBM,oCAAoCC,OAA8D;EAC9G,MAAMC,UAAUZ,oBAAoBW,MAAME,YAAY;EAEtD,MAAMC,sBAAsD,CAAC;;;KAK7D,IAAIH,MAAMI,UAAU;GAChB,MAAMC,iBAAiBhB,oBAAoBW,MAAMI,QAAQ;GAEzDD,oBAAoBG,OAAO,CACvBD,eAAeC,IAAAA;GAGnBH,oBAAoBI,QAAQ,CACxBF,eAAeE,KAAAA;GAGnBJ,oBAAoBK,YAAY,CAC5BH,eAAeI,UAAAA;GAEnBN,oBAAoBO,WAAW,CAC3BL,eAAeM,WAAAA;EAEvB;EAEA,OAAO;GACHC,IAAIX,QAAQY;GACZV;GACAW,MAAMb;GACNP,UAAU,KAAKA;EACnB;CACJ;AACJ"}
@@ -9,9 +9,9 @@ import { mergeOAuth2Scopes } from "@authup/specs";
9
9
  var IdentityProviderInstagramAuthenticator = class extends IdentityProviderOAuth2Authenticator {
10
10
  constructor(ctx) {
11
11
  ctx.provider.scope = mergeOAuth2Scopes("user_profile", ctx.provider.scope);
12
- ctx.provider.authorize_url = "https://api.instagram.com/oauth/authorize";
13
- ctx.provider.token_url = "https://api.instagram.com/oauth/access_token";
14
- ctx.provider.user_info_url = "https://graph.instagram.com/me?fields=id,username";
12
+ ctx.provider.authorizeUrl = "https://api.instagram.com/oauth/authorize";
13
+ ctx.provider.tokenUrl = "https://api.instagram.com/oauth/access_token";
14
+ ctx.provider.userInfoUrl = "https://graph.instagram.com/me?fields=id,username";
15
15
  super(ctx);
16
16
  }
17
17
  async buildIdentityWithTokenGrantResponse(input) {
@@ -1 +1 @@
1
- {"version":3,"file":"instagram.mjs","names":["extractTokenPayload","mergeOAuth2Scopes","IdentityProviderOAuth2Authenticator","IdentityProviderInstagramAuthenticator","ctx","provider","scope","authorize_url","token_url","user_info_url","buildIdentityWithTokenGrantResponse","input","userInfo","client","get","type","token","access_token","payload","id","attributeCandidates","name","username","data"],"sources":["../../../../../../src/core/identity/provider/authentication/presets/instagram.ts"],"sourcesContent":["/*\n * Copyright (c) 2023-2023.\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 { extractTokenPayload } from '@authup/server-kit';\nimport { mergeOAuth2Scopes } from '@authup/specs';\nimport type { TokenGrantResponse } from '@hapic/oauth2';\nimport type { IdentityProviderIdentity } from '../../types.ts';\nimport type { IdentityProviderOAuth2AuthenticatorContext } from '../protocols/index.ts';\nimport { IdentityProviderOAuth2Authenticator } from '../protocols/index.ts';\n\nexport class IdentityProviderInstagramAuthenticator extends IdentityProviderOAuth2Authenticator {\n constructor(ctx: IdentityProviderOAuth2AuthenticatorContext) {\n ctx.provider.scope = mergeOAuth2Scopes('user_profile', ctx.provider.scope);\n ctx.provider.authorize_url = 'https://api.instagram.com/oauth/authorize';\n ctx.provider.token_url = 'https://api.instagram.com/oauth/access_token';\n ctx.provider.user_info_url = 'https://graph.instagram.com/me?fields=id,username';\n\n super(ctx);\n }\n\n protected async buildIdentityWithTokenGrantResponse(input: TokenGrantResponse): Promise<IdentityProviderIdentity> {\n const userInfo = await this.client.userInfo.get({\n type: 'Bearer',\n token: input.access_token,\n });\n\n const payload = extractTokenPayload(input.access_token);\n\n return {\n id: userInfo.id,\n attributeCandidates: {\n name: [\n userInfo.username,\n userInfo.id,\n ],\n },\n data: payload,\n provider: this.provider,\n };\n }\n}\n"],"mappings":";;;;;;;;AAcA,IAAaG,yCAAb,cAA4DD,oCAAAA;CACxD,YAAYE,KAAiD;EACzDA,IAAIC,SAASC,QAAQL,kBAAkB,gBAAgBG,IAAIC,SAASC,KAAK;EACzEF,IAAIC,SAASE,gBAAgB;EAC7BH,IAAIC,SAASG,YAAY;EACzBJ,IAAIC,SAASI,gBAAgB;EAE7B,MAAML,GAAAA;CACV;CAEA,MAAgBM,oCAAoCC,OAA8D;EAC9G,MAAMC,WAAW,MAAM,KAAKC,OAAOD,SAASE,IAAI;GAC5CC,MAAM;GACNC,OAAOL,MAAMM;EACjB,CAAA;EAEA,MAAMC,UAAUlB,oBAAoBW,MAAMM,YAAY;EAEtD,OAAO;GACHE,IAAIP,SAASO;GACbC,qBAAqB,EACjBC,MAAM,CACFT,SAASU,UACTV,SAASO,EAAAA,EAEjB;GACAI,MAAML;GACNb,UAAU,KAAKA;EACnB;CACJ;AACJ"}
1
+ {"version":3,"file":"instagram.mjs","names":["extractTokenPayload","mergeOAuth2Scopes","IdentityProviderOAuth2Authenticator","IdentityProviderInstagramAuthenticator","ctx","provider","scope","authorizeUrl","tokenUrl","userInfoUrl","buildIdentityWithTokenGrantResponse","input","userInfo","client","get","type","token","access_token","payload","id","attributeCandidates","name","username","data"],"sources":["../../../../../../src/core/identity/provider/authentication/presets/instagram.ts"],"sourcesContent":["/*\n * Copyright (c) 2023-2023.\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 { extractTokenPayload } from '@authup/server-kit';\nimport { mergeOAuth2Scopes } from '@authup/specs';\nimport type { TokenGrantResponse } from '@hapic/oauth2';\nimport type { IdentityProviderIdentity } from '../../types.ts';\nimport type { IdentityProviderOAuth2AuthenticatorContext } from '../protocols/index.ts';\nimport { IdentityProviderOAuth2Authenticator } from '../protocols/index.ts';\n\nexport class IdentityProviderInstagramAuthenticator extends IdentityProviderOAuth2Authenticator {\n constructor(ctx: IdentityProviderOAuth2AuthenticatorContext) {\n ctx.provider.scope = mergeOAuth2Scopes('user_profile', ctx.provider.scope);\n ctx.provider.authorizeUrl = 'https://api.instagram.com/oauth/authorize';\n ctx.provider.tokenUrl = 'https://api.instagram.com/oauth/access_token';\n ctx.provider.userInfoUrl = 'https://graph.instagram.com/me?fields=id,username';\n\n super(ctx);\n }\n\n protected async buildIdentityWithTokenGrantResponse(input: TokenGrantResponse): Promise<IdentityProviderIdentity> {\n const userInfo = await this.client.userInfo.get({\n type: 'Bearer',\n token: input.access_token,\n });\n\n const payload = extractTokenPayload(input.access_token);\n\n return {\n id: userInfo.id,\n attributeCandidates: {\n name: [\n userInfo.username,\n userInfo.id,\n ],\n },\n data: payload,\n provider: this.provider,\n };\n }\n}\n"],"mappings":";;;;;;;;AAcA,IAAaG,yCAAb,cAA4DD,oCAAAA;CACxD,YAAYE,KAAiD;EACzDA,IAAIC,SAASC,QAAQL,kBAAkB,gBAAgBG,IAAIC,SAASC,KAAK;EACzEF,IAAIC,SAASE,eAAe;EAC5BH,IAAIC,SAASG,WAAW;EACxBJ,IAAIC,SAASI,cAAc;EAE3B,MAAML,GAAAA;CACV;CAEA,MAAgBM,oCAAoCC,OAA8D;EAC9G,MAAMC,WAAW,MAAM,KAAKC,OAAOD,SAASE,IAAI;GAC5CC,MAAM;GACNC,OAAOL,MAAMM;EACjB,CAAA;EAEA,MAAMC,UAAUlB,oBAAoBW,MAAMM,YAAY;EAEtD,OAAO;GACHE,IAAIP,SAASO;GACbC,qBAAqB,EACjBC,MAAM,CACFT,SAASU,UACTV,SAASO,EAAAA,EAEjB;GACAI,MAAML;GACNb,UAAU,KAAKA;EACnB;CACJ;AACJ"}
@@ -9,9 +9,9 @@ import { mergeOAuth2Scopes } from "@authup/specs";
9
9
  var IdentityProviderPaypalAuthenticator = class extends IdentityProviderOAuth2Authenticator {
10
10
  constructor(ctx) {
11
11
  ctx.provider.scope = mergeOAuth2Scopes("openid profile email", ctx.provider.scope);
12
- ctx.provider.authorize_url = "https://www.paypal.com/signin/authorize";
13
- ctx.provider.token_url = "https://api.paypal.com/v1/identity/openidconnect/tokenservice";
14
- ctx.provider.user_info_url = "https://api.paypal.com/v1/oauth2/token/userinfo?schema=openid";
12
+ ctx.provider.authorizeUrl = "https://www.paypal.com/signin/authorize";
13
+ ctx.provider.tokenUrl = "https://api.paypal.com/v1/identity/openidconnect/tokenservice";
14
+ ctx.provider.userInfoUrl = "https://api.paypal.com/v1/oauth2/token/userinfo?schema=openid";
15
15
  super(ctx);
16
16
  }
17
17
  async buildIdentityWithTokenGrantResponse(input) {
@@ -1 +1 @@
1
- {"version":3,"file":"paypal.mjs","names":["extractTokenPayload","mergeOAuth2Scopes","IdentityProviderOAuth2Authenticator","IdentityProviderPaypalAuthenticator","ctx","provider","scope","authorize_url","token_url","user_info_url","buildIdentityWithTokenGrantResponse","input","userInfo","client","get","type","token","access_token","payload","id","user_id","attributeCandidates","name","email","data"],"sources":["../../../../../../src/core/identity/provider/authentication/presets/paypal.ts"],"sourcesContent":["/*\n * Copyright (c) 2023-2023.\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 { extractTokenPayload } from '@authup/server-kit';\nimport { mergeOAuth2Scopes } from '@authup/specs';\nimport type { TokenGrantResponse } from '@hapic/oauth2';\nimport type { IdentityProviderIdentity } from '../../types.ts';\nimport type { IdentityProviderOAuth2AuthenticatorContext } from '../protocols/index.ts';\nimport { IdentityProviderOAuth2Authenticator } from '../protocols/index.ts';\n\nexport class IdentityProviderPaypalAuthenticator extends IdentityProviderOAuth2Authenticator {\n constructor(ctx: IdentityProviderOAuth2AuthenticatorContext) {\n ctx.provider.scope = mergeOAuth2Scopes('openid profile email', ctx.provider.scope);\n ctx.provider.authorize_url = 'https://www.paypal.com/signin/authorize';\n ctx.provider.token_url = 'https://api.paypal.com/v1/identity/openidconnect/tokenservice';\n ctx.provider.user_info_url = 'https://api.paypal.com/v1/oauth2/token/userinfo?schema=openid';\n\n super(ctx);\n }\n\n protected async buildIdentityWithTokenGrantResponse(input: TokenGrantResponse): Promise<IdentityProviderIdentity> {\n const userInfo = await this.client.userInfo.get({\n type: 'Bearer',\n token: input.access_token,\n });\n\n const payload = extractTokenPayload(input.access_token);\n\n return {\n id: userInfo.user_id,\n attributeCandidates: {\n name: [\n userInfo.name,\n userInfo.user_id,\n ],\n email: [\n userInfo.email,\n ],\n },\n data: payload,\n provider: this.provider,\n };\n }\n}\n"],"mappings":";;;;;;;;AAcA,IAAaG,sCAAb,cAAyDD,oCAAAA;CACrD,YAAYE,KAAiD;EACzDA,IAAIC,SAASC,QAAQL,kBAAkB,wBAAwBG,IAAIC,SAASC,KAAK;EACjFF,IAAIC,SAASE,gBAAgB;EAC7BH,IAAIC,SAASG,YAAY;EACzBJ,IAAIC,SAASI,gBAAgB;EAE7B,MAAML,GAAAA;CACV;CAEA,MAAgBM,oCAAoCC,OAA8D;EAC9G,MAAMC,WAAW,MAAM,KAAKC,OAAOD,SAASE,IAAI;GAC5CC,MAAM;GACNC,OAAOL,MAAMM;EACjB,CAAA;EAEA,MAAMC,UAAUlB,oBAAoBW,MAAMM,YAAY;EAEtD,OAAO;GACHE,IAAIP,SAASQ;GACbC,qBAAqB;IACjBC,MAAM,CACFV,SAASU,MACTV,SAASQ,OAAAA;IAEbG,OAAO,CACHX,SAASW,KAAAA;GAEjB;GACAC,MAAMN;GACNb,UAAU,KAAKA;EACnB;CACJ;AACJ"}
1
+ {"version":3,"file":"paypal.mjs","names":["extractTokenPayload","mergeOAuth2Scopes","IdentityProviderOAuth2Authenticator","IdentityProviderPaypalAuthenticator","ctx","provider","scope","authorizeUrl","tokenUrl","userInfoUrl","buildIdentityWithTokenGrantResponse","input","userInfo","client","get","type","token","access_token","payload","id","user_id","attributeCandidates","name","email","data"],"sources":["../../../../../../src/core/identity/provider/authentication/presets/paypal.ts"],"sourcesContent":["/*\n * Copyright (c) 2023-2023.\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 { extractTokenPayload } from '@authup/server-kit';\nimport { mergeOAuth2Scopes } from '@authup/specs';\nimport type { TokenGrantResponse } from '@hapic/oauth2';\nimport type { IdentityProviderIdentity } from '../../types.ts';\nimport type { IdentityProviderOAuth2AuthenticatorContext } from '../protocols/index.ts';\nimport { IdentityProviderOAuth2Authenticator } from '../protocols/index.ts';\n\nexport class IdentityProviderPaypalAuthenticator extends IdentityProviderOAuth2Authenticator {\n constructor(ctx: IdentityProviderOAuth2AuthenticatorContext) {\n ctx.provider.scope = mergeOAuth2Scopes('openid profile email', ctx.provider.scope);\n ctx.provider.authorizeUrl = 'https://www.paypal.com/signin/authorize';\n ctx.provider.tokenUrl = 'https://api.paypal.com/v1/identity/openidconnect/tokenservice';\n ctx.provider.userInfoUrl = 'https://api.paypal.com/v1/oauth2/token/userinfo?schema=openid';\n\n super(ctx);\n }\n\n protected async buildIdentityWithTokenGrantResponse(input: TokenGrantResponse): Promise<IdentityProviderIdentity> {\n const userInfo = await this.client.userInfo.get({\n type: 'Bearer',\n token: input.access_token,\n });\n\n const payload = extractTokenPayload(input.access_token);\n\n return {\n id: userInfo.user_id,\n attributeCandidates: {\n name: [\n userInfo.name,\n userInfo.user_id,\n ],\n email: [\n userInfo.email,\n ],\n },\n data: payload,\n provider: this.provider,\n };\n }\n}\n"],"mappings":";;;;;;;;AAcA,IAAaG,sCAAb,cAAyDD,oCAAAA;CACrD,YAAYE,KAAiD;EACzDA,IAAIC,SAASC,QAAQL,kBAAkB,wBAAwBG,IAAIC,SAASC,KAAK;EACjFF,IAAIC,SAASE,eAAe;EAC5BH,IAAIC,SAASG,WAAW;EACxBJ,IAAIC,SAASI,cAAc;EAE3B,MAAML,GAAAA;CACV;CAEA,MAAgBM,oCAAoCC,OAA8D;EAC9G,MAAMC,WAAW,MAAM,KAAKC,OAAOD,SAASE,IAAI;GAC5CC,MAAM;GACNC,OAAOL,MAAMM;EACjB,CAAA;EAEA,MAAMC,UAAUlB,oBAAoBW,MAAMM,YAAY;EAEtD,OAAO;GACHE,IAAIP,SAASQ;GACbC,qBAAqB;IACjBC,MAAM,CACFV,SAASU,MACTV,SAASQ,OAAAA;IAEbG,OAAO,CACHX,SAASW,KAAAA;GAEjB;GACAC,MAAMN;GACNb,UAAU,KAAKA;EACnB;CACJ;AACJ"}