@authup/server-core 1.0.0-beta.63 → 1.0.0-beta.64

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 (710) hide show
  1. package/dist/adapters/database/data-source/options/module.d.ts +1 -0
  2. package/dist/adapters/database/data-source/options/module.d.ts.map +1 -1
  3. package/dist/adapters/database/data-source/options/module.mjs +33 -4
  4. package/dist/adapters/database/data-source/options/module.mjs.map +1 -1
  5. package/dist/adapters/database/domains/client/entity.d.ts +1 -2
  6. package/dist/adapters/database/domains/client/entity.d.ts.map +1 -1
  7. package/dist/adapters/database/domains/client/entity.mjs +7 -14
  8. package/dist/adapters/database/domains/client/entity.mjs.map +1 -1
  9. package/dist/adapters/database/domains/identity-provider-attribute/subscriber.d.ts +2 -1
  10. package/dist/adapters/database/domains/identity-provider-attribute/subscriber.d.ts.map +1 -1
  11. package/dist/adapters/database/domains/identity-provider-attribute/subscriber.mjs +2 -2
  12. package/dist/adapters/database/domains/identity-provider-attribute/subscriber.mjs.map +1 -1
  13. package/dist/adapters/database/domains/session/entity.d.ts +8 -0
  14. package/dist/adapters/database/domains/session/entity.d.ts.map +1 -1
  15. package/dist/adapters/database/domains/session/entity.mjs +19 -0
  16. package/dist/adapters/database/domains/session/entity.mjs.map +1 -1
  17. package/dist/adapters/database/domains/user/entity.d.ts +1 -0
  18. package/dist/adapters/database/domains/user/entity.d.ts.map +1 -1
  19. package/dist/adapters/database/domains/user/entity.mjs +6 -0
  20. package/dist/adapters/database/domains/user/entity.mjs.map +1 -1
  21. package/dist/adapters/database/extra-attribute-repository/repository.mjs +1 -1
  22. package/dist/adapters/database/extra-attribute-repository/repository.mjs.map +1 -1
  23. package/dist/adapters/database/extra-attribute-repository/tree/adapter.mjs +4 -2
  24. package/dist/adapters/database/extra-attribute-repository/tree/adapter.mjs.map +1 -1
  25. package/dist/adapters/database/extra-attribute-repository/tree/repository.mjs +1 -1
  26. package/dist/adapters/database/extra-attribute-repository/tree/repository.mjs.map +1 -1
  27. package/dist/adapters/database/index.mjs +3 -3
  28. package/dist/adapters/database/migrations/mysql/1787571998009-SessionUserAndClientColumns.d.ts +56 -0
  29. package/dist/adapters/database/migrations/mysql/1787571998009-SessionUserAndClientColumns.d.ts.map +1 -0
  30. package/dist/adapters/database/migrations/mysql/1787571998009-SessionUserAndClientColumns.mjs +105 -0
  31. package/dist/adapters/database/migrations/mysql/1787571998009-SessionUserAndClientColumns.mjs.map +1 -0
  32. package/dist/adapters/database/migrations/postgres/1787571998009-SessionUserAndClientColumns.d.ts +56 -0
  33. package/dist/adapters/database/migrations/postgres/1787571998009-SessionUserAndClientColumns.d.ts.map +1 -0
  34. package/dist/adapters/database/migrations/postgres/1787571998009-SessionUserAndClientColumns.mjs +104 -0
  35. package/dist/adapters/database/migrations/postgres/1787571998009-SessionUserAndClientColumns.mjs.map +1 -0
  36. package/dist/adapters/database/subscriber/module.d.ts +6 -2
  37. package/dist/adapters/database/subscriber/module.d.ts.map +1 -1
  38. package/dist/adapters/database/subscriber/module.mjs +9 -5
  39. package/dist/adapters/database/subscriber/module.mjs.map +1 -1
  40. package/dist/adapters/http/adapters/oauth2/authorization/module.mjs +1 -1
  41. package/dist/adapters/http/adapters/oauth2/authorization/module.mjs.map +1 -1
  42. package/dist/adapters/http/constants.d.ts +18 -0
  43. package/dist/adapters/http/constants.d.ts.map +1 -0
  44. package/dist/adapters/http/constants.mjs +23 -0
  45. package/dist/adapters/http/constants.mjs.map +1 -0
  46. package/dist/adapters/http/controllers/entities/identity-provider/module.mjs +3 -3
  47. package/dist/adapters/http/controllers/entities/identity-provider/module.mjs.map +1 -1
  48. package/dist/adapters/http/controllers/entities/identity-provider/types.d.ts +6 -0
  49. package/dist/adapters/http/controllers/entities/identity-provider/types.d.ts.map +1 -1
  50. package/dist/adapters/http/controllers/entities/realm/module.d.ts.map +1 -1
  51. package/dist/adapters/http/controllers/entities/realm/module.mjs +2 -0
  52. package/dist/adapters/http/controllers/entities/realm/module.mjs.map +1 -1
  53. package/dist/adapters/http/controllers/entities/session/module.d.ts +33 -1
  54. package/dist/adapters/http/controllers/entities/session/module.d.ts.map +1 -1
  55. package/dist/adapters/http/controllers/entities/session/module.mjs +74 -0
  56. package/dist/adapters/http/controllers/entities/session/module.mjs.map +1 -1
  57. package/dist/adapters/http/controllers/index.mjs +3 -1
  58. package/dist/adapters/http/controllers/workflows/account/index.d.ts +1 -0
  59. package/dist/adapters/http/controllers/workflows/account/index.d.ts.map +1 -1
  60. package/dist/adapters/http/controllers/workflows/account/module.d.ts +25 -16
  61. package/dist/adapters/http/controllers/workflows/account/module.d.ts.map +1 -1
  62. package/dist/adapters/http/controllers/workflows/account/module.mjs +40 -17
  63. package/dist/adapters/http/controllers/workflows/account/module.mjs.map +1 -1
  64. package/dist/adapters/http/controllers/workflows/account/types.d.ts +33 -0
  65. package/dist/adapters/http/controllers/workflows/account/types.d.ts.map +1 -0
  66. package/dist/adapters/http/controllers/workflows/activate/module.d.ts +8 -4
  67. package/dist/adapters/http/controllers/workflows/activate/module.d.ts.map +1 -1
  68. package/dist/adapters/http/controllers/workflows/activate/module.mjs +7 -9
  69. package/dist/adapters/http/controllers/workflows/activate/module.mjs.map +1 -1
  70. package/dist/adapters/http/controllers/workflows/admin/index.d.ts.map +1 -0
  71. package/dist/adapters/http/controllers/workflows/admin/index.mjs +5 -0
  72. package/dist/adapters/http/controllers/workflows/admin/module.d.ts +30 -0
  73. package/dist/adapters/http/controllers/workflows/admin/module.d.ts.map +1 -0
  74. package/dist/adapters/http/controllers/workflows/admin/module.mjs +88 -0
  75. package/dist/adapters/http/controllers/workflows/admin/module.mjs.map +1 -0
  76. package/dist/adapters/http/controllers/workflows/admin/types.d.ts +14 -0
  77. package/dist/adapters/http/controllers/workflows/admin/types.d.ts.map +1 -0
  78. package/dist/adapters/http/controllers/workflows/auth-console.d.ts +16 -0
  79. package/dist/adapters/http/controllers/workflows/auth-console.d.ts.map +1 -0
  80. package/dist/adapters/http/controllers/workflows/auth-console.mjs +32 -0
  81. package/dist/adapters/http/controllers/workflows/auth-console.mjs.map +1 -0
  82. package/dist/adapters/http/controllers/workflows/authorize/module.d.ts +16 -1
  83. package/dist/adapters/http/controllers/workflows/authorize/module.d.ts.map +1 -1
  84. package/dist/adapters/http/controllers/workflows/authorize/module.mjs +40 -22
  85. package/dist/adapters/http/controllers/workflows/authorize/module.mjs.map +1 -1
  86. package/dist/adapters/http/controllers/workflows/authorize/types.d.ts +5 -0
  87. package/dist/adapters/http/controllers/workflows/authorize/types.d.ts.map +1 -1
  88. package/dist/adapters/http/controllers/workflows/console-login/index.d.ts +3 -0
  89. package/dist/adapters/http/controllers/workflows/console-login/index.d.ts.map +1 -0
  90. package/dist/adapters/http/controllers/workflows/console-login/index.mjs +5 -0
  91. package/dist/adapters/http/controllers/workflows/console-login/module.d.ts +83 -0
  92. package/dist/adapters/http/controllers/workflows/console-login/module.d.ts.map +1 -0
  93. package/dist/adapters/http/controllers/workflows/console-login/module.mjs +230 -0
  94. package/dist/adapters/http/controllers/workflows/console-login/module.mjs.map +1 -0
  95. package/dist/adapters/http/controllers/workflows/console-login/types.d.ts +58 -0
  96. package/dist/adapters/http/controllers/workflows/console-login/types.d.ts.map +1 -0
  97. package/dist/adapters/http/controllers/workflows/index.d.ts +2 -0
  98. package/dist/adapters/http/controllers/workflows/index.d.ts.map +1 -1
  99. package/dist/adapters/http/controllers/workflows/index.mjs +5 -1
  100. package/dist/adapters/http/controllers/workflows/logout/module.d.ts +32 -3
  101. package/dist/adapters/http/controllers/workflows/logout/module.d.ts.map +1 -1
  102. package/dist/adapters/http/controllers/workflows/logout/module.mjs +48 -24
  103. package/dist/adapters/http/controllers/workflows/logout/module.mjs.map +1 -1
  104. package/dist/adapters/http/controllers/workflows/logout/types.d.ts +1 -1
  105. package/dist/adapters/http/controllers/workflows/logout/types.d.ts.map +1 -1
  106. package/dist/adapters/http/controllers/workflows/password-forgot/module.d.ts +8 -4
  107. package/dist/adapters/http/controllers/workflows/password-forgot/module.d.ts.map +1 -1
  108. package/dist/adapters/http/controllers/workflows/password-forgot/module.mjs +7 -9
  109. package/dist/adapters/http/controllers/workflows/password-forgot/module.mjs.map +1 -1
  110. package/dist/adapters/http/controllers/workflows/password-reset/module.d.ts +8 -4
  111. package/dist/adapters/http/controllers/workflows/password-reset/module.d.ts.map +1 -1
  112. package/dist/adapters/http/controllers/workflows/password-reset/module.mjs +7 -10
  113. package/dist/adapters/http/controllers/workflows/password-reset/module.mjs.map +1 -1
  114. package/dist/adapters/http/controllers/workflows/register/module.d.ts +8 -4
  115. package/dist/adapters/http/controllers/workflows/register/module.d.ts.map +1 -1
  116. package/dist/adapters/http/controllers/workflows/register/module.mjs +7 -9
  117. package/dist/adapters/http/controllers/workflows/register/module.mjs.map +1 -1
  118. package/dist/adapters/http/controllers/workflows/status/module.mjs +1 -1
  119. package/dist/adapters/http/controllers/workflows/token/module.d.ts +45 -2
  120. package/dist/adapters/http/controllers/workflows/token/module.d.ts.map +1 -1
  121. package/dist/adapters/http/controllers/workflows/token/module.mjs +102 -24
  122. package/dist/adapters/http/controllers/workflows/token/module.mjs.map +1 -1
  123. package/dist/adapters/http/cookie/index.d.ts +2 -0
  124. package/dist/adapters/http/cookie/index.d.ts.map +1 -0
  125. package/dist/adapters/http/cookie/index.mjs +5 -0
  126. package/dist/adapters/http/cookie/session.d.ts +35 -0
  127. package/dist/adapters/http/cookie/session.d.ts.map +1 -0
  128. package/dist/adapters/http/cookie/session.mjs +62 -0
  129. package/dist/adapters/http/cookie/session.mjs.map +1 -0
  130. package/dist/adapters/http/index.d.ts +2 -0
  131. package/dist/adapters/http/index.d.ts.map +1 -1
  132. package/dist/adapters/http/index.mjs +20 -16
  133. package/dist/adapters/http/internal-client/index.d.ts +3 -0
  134. package/dist/adapters/http/internal-client/index.d.ts.map +1 -0
  135. package/dist/adapters/http/internal-client/index.mjs +5 -0
  136. package/dist/adapters/http/internal-client/module.d.ts +21 -0
  137. package/dist/adapters/http/internal-client/module.d.ts.map +1 -0
  138. package/dist/adapters/http/{ui/auth-console/http-client.mjs → internal-client/module.mjs} +16 -15
  139. package/dist/adapters/http/internal-client/module.mjs.map +1 -0
  140. package/dist/adapters/http/internal-client/types.d.ts +13 -0
  141. package/dist/adapters/http/internal-client/types.d.ts.map +1 -0
  142. package/dist/adapters/http/middleware/built-in/authorization/index.d.ts +1 -0
  143. package/dist/adapters/http/middleware/built-in/authorization/index.d.ts.map +1 -1
  144. package/dist/adapters/http/middleware/built-in/authorization/index.mjs +2 -1
  145. package/dist/adapters/http/middleware/built-in/authorization/issuance.d.ts +45 -0
  146. package/dist/adapters/http/middleware/built-in/authorization/issuance.d.ts.map +1 -0
  147. package/dist/adapters/http/middleware/built-in/authorization/issuance.mjs +61 -0
  148. package/dist/adapters/http/middleware/built-in/authorization/issuance.mjs.map +1 -0
  149. package/dist/adapters/http/middleware/built-in/authorization/module.d.ts +26 -2
  150. package/dist/adapters/http/middleware/built-in/authorization/module.d.ts.map +1 -1
  151. package/dist/adapters/http/middleware/built-in/authorization/module.mjs +67 -1
  152. package/dist/adapters/http/middleware/built-in/authorization/module.mjs.map +1 -1
  153. package/dist/adapters/http/middleware/built-in/authorization/types.d.ts +21 -1
  154. package/dist/adapters/http/middleware/built-in/authorization/types.d.ts.map +1 -1
  155. package/dist/adapters/http/middleware/built-in/basic.d.ts +2 -2
  156. package/dist/adapters/http/middleware/built-in/basic.d.ts.map +1 -1
  157. package/dist/adapters/http/middleware/built-in/basic.mjs.map +1 -1
  158. package/dist/adapters/http/middleware/built-in/cors.d.ts +8 -2
  159. package/dist/adapters/http/middleware/built-in/cors.d.ts.map +1 -1
  160. package/dist/adapters/http/middleware/built-in/cors.mjs +20 -3
  161. package/dist/adapters/http/middleware/built-in/cors.mjs.map +1 -1
  162. package/dist/adapters/http/middleware/built-in/error.d.ts +2 -2
  163. package/dist/adapters/http/middleware/built-in/error.d.ts.map +1 -1
  164. package/dist/adapters/http/middleware/built-in/error.mjs.map +1 -1
  165. package/dist/adapters/http/middleware/built-in/index.d.ts +1 -4
  166. package/dist/adapters/http/middleware/built-in/index.d.ts.map +1 -1
  167. package/dist/adapters/http/middleware/built-in/index.mjs +3 -4
  168. package/dist/adapters/http/middleware/built-in/internal-http-client.d.ts +17 -0
  169. package/dist/adapters/http/middleware/built-in/internal-http-client.d.ts.map +1 -0
  170. package/dist/adapters/http/middleware/built-in/internal-http-client.mjs +27 -0
  171. package/dist/adapters/http/middleware/built-in/internal-http-client.mjs.map +1 -0
  172. package/dist/adapters/http/middleware/built-in/logger.mjs +1 -1
  173. package/dist/adapters/http/middleware/built-in/logger.mjs.map +1 -1
  174. package/dist/adapters/http/middleware/built-in/prometheus.d.ts +6 -5
  175. package/dist/adapters/http/middleware/built-in/prometheus.d.ts.map +1 -1
  176. package/dist/adapters/http/middleware/built-in/prometheus.mjs +3 -2
  177. package/dist/adapters/http/middleware/built-in/prometheus.mjs.map +1 -1
  178. package/dist/adapters/http/middleware/built-in/rate-limit.d.ts +2 -2
  179. package/dist/adapters/http/middleware/built-in/rate-limit.d.ts.map +1 -1
  180. package/dist/adapters/http/middleware/built-in/rate-limit.mjs +15 -0
  181. package/dist/adapters/http/middleware/built-in/rate-limit.mjs.map +1 -1
  182. package/dist/adapters/http/middleware/index.mjs +3 -4
  183. package/dist/adapters/http/request/constants.d.ts +1 -1
  184. package/dist/adapters/http/request/constants.d.ts.map +1 -1
  185. package/dist/adapters/http/request/constants.mjs +1 -5
  186. package/dist/adapters/http/request/constants.mjs.map +1 -1
  187. package/dist/adapters/http/request/helpers/index.d.ts +1 -1
  188. package/dist/adapters/http/request/helpers/index.d.ts.map +1 -1
  189. package/dist/adapters/http/request/helpers/index.mjs +2 -2
  190. package/dist/adapters/http/request/helpers/locale.d.ts +2 -1
  191. package/dist/adapters/http/request/helpers/locale.d.ts.map +1 -1
  192. package/dist/adapters/http/request/helpers/locale.mjs +1 -1
  193. package/dist/adapters/http/request/helpers/locale.mjs.map +1 -1
  194. package/dist/adapters/http/request/helpers/same-origin.d.ts +38 -0
  195. package/dist/adapters/http/request/helpers/same-origin.d.ts.map +1 -0
  196. package/dist/adapters/http/request/helpers/same-origin.mjs +68 -0
  197. package/dist/adapters/http/request/helpers/same-origin.mjs.map +1 -0
  198. package/dist/adapters/http/request/index.mjs +2 -2
  199. package/dist/adapters/http/request/permission/module.mjs +1 -1
  200. package/dist/adapters/http/request/permission/module.mjs.map +1 -1
  201. package/dist/adapters/http/request/types.d.ts +1 -2
  202. package/dist/adapters/http/request/types.d.ts.map +1 -1
  203. package/dist/adapters/shared/ldap/module.d.ts.map +1 -1
  204. package/dist/adapters/shared/ldap/module.mjs +4 -1
  205. package/dist/adapters/shared/ldap/module.mjs.map +1 -1
  206. package/dist/app/builder.d.ts +4 -4
  207. package/dist/app/builder.d.ts.map +1 -1
  208. package/dist/app/builder.mjs +7 -4
  209. package/dist/app/builder.mjs.map +1 -1
  210. package/dist/app/factory.d.ts +10 -0
  211. package/dist/app/factory.d.ts.map +1 -1
  212. package/dist/app/factory.mjs +26 -2
  213. package/dist/app/factory.mjs.map +1 -1
  214. package/dist/app/index.mjs +17 -19
  215. package/dist/app/modules/authentication/module.d.ts.map +1 -1
  216. package/dist/app/modules/authentication/module.mjs +15 -2
  217. package/dist/app/modules/authentication/module.mjs.map +1 -1
  218. package/dist/app/modules/authentication/repositories/session.d.ts +4 -1
  219. package/dist/app/modules/authentication/repositories/session.d.ts.map +1 -1
  220. package/dist/app/modules/authentication/repositories/session.mjs +20 -3
  221. package/dist/app/modules/authentication/repositories/session.mjs.map +1 -1
  222. package/dist/app/modules/components/index.d.ts +1 -0
  223. package/dist/app/modules/components/index.d.ts.map +1 -1
  224. package/dist/app/modules/components/module.d.ts +3 -1
  225. package/dist/app/modules/components/module.d.ts.map +1 -1
  226. package/dist/app/modules/components/module.mjs +26 -7
  227. package/dist/app/modules/components/module.mjs.map +1 -1
  228. package/dist/app/modules/components/types.d.ts +11 -0
  229. package/dist/app/modules/components/types.d.ts.map +1 -0
  230. package/dist/app/modules/config/app-origins.d.ts +10 -0
  231. package/dist/app/modules/config/app-origins.d.ts.map +1 -0
  232. package/dist/app/modules/config/app-origins.mjs +21 -0
  233. package/dist/app/modules/config/app-origins.mjs.map +1 -0
  234. package/dist/app/modules/config/constants.d.ts +23 -50
  235. package/dist/app/modules/config/constants.d.ts.map +1 -1
  236. package/dist/app/modules/config/constants.mjs +34 -51
  237. package/dist/app/modules/config/constants.mjs.map +1 -1
  238. package/dist/app/modules/config/index.d.ts +2 -3
  239. package/dist/app/modules/config/index.d.ts.map +1 -1
  240. package/dist/app/modules/config/index.mjs +4 -8
  241. package/dist/app/modules/config/module.d.ts +2 -2
  242. package/dist/app/modules/config/module.d.ts.map +1 -1
  243. package/dist/app/modules/config/module.mjs +1 -1
  244. package/dist/app/modules/config/module.mjs.map +1 -1
  245. package/dist/app/modules/config/read.d.ts +29 -0
  246. package/dist/app/modules/config/read.d.ts.map +1 -0
  247. package/dist/app/modules/config/read.mjs +65 -0
  248. package/dist/app/modules/config/read.mjs.map +1 -0
  249. package/dist/app/modules/config/types.d.ts +30 -405
  250. package/dist/app/modules/config/types.d.ts.map +1 -1
  251. package/dist/app/modules/config/validator.d.ts.map +1 -1
  252. package/dist/app/modules/config/validator.mjs +3 -87
  253. package/dist/app/modules/config/validator.mjs.map +1 -1
  254. package/dist/app/modules/database/index.d.ts +1 -0
  255. package/dist/app/modules/database/index.d.ts.map +1 -1
  256. package/dist/app/modules/database/index.mjs +2 -1
  257. package/dist/app/modules/database/migration.d.ts +33 -0
  258. package/dist/app/modules/database/migration.d.ts.map +1 -0
  259. package/dist/app/modules/database/migration.mjs +52 -0
  260. package/dist/app/modules/database/migration.mjs.map +1 -0
  261. package/dist/app/modules/database/module.d.ts.map +1 -1
  262. package/dist/app/modules/database/module.mjs +12 -6
  263. package/dist/app/modules/database/module.mjs.map +1 -1
  264. package/dist/app/modules/database/repositories/client/repository.d.ts +6 -1
  265. package/dist/app/modules/database/repositories/client/repository.d.ts.map +1 -1
  266. package/dist/app/modules/database/repositories/client/repository.mjs +21 -4
  267. package/dist/app/modules/database/repositories/client/repository.mjs.map +1 -1
  268. package/dist/app/modules/database/repositories/event/repository.d.ts +29 -2
  269. package/dist/app/modules/database/repositories/event/repository.d.ts.map +1 -1
  270. package/dist/app/modules/database/repositories/event/repository.mjs +42 -24
  271. package/dist/app/modules/database/repositories/event/repository.mjs.map +1 -1
  272. package/dist/app/modules/database/repositories/helpers.d.ts +24 -1
  273. package/dist/app/modules/database/repositories/helpers.d.ts.map +1 -1
  274. package/dist/app/modules/database/repositories/helpers.mjs +38 -1
  275. package/dist/app/modules/database/repositories/helpers.mjs.map +1 -1
  276. package/dist/app/modules/database/repositories/identity-provider/repository.mjs +1 -1
  277. package/dist/app/modules/database/repositories/identity-provider-account/repository.mjs +4 -2
  278. package/dist/app/modules/database/repositories/identity-provider-account/repository.mjs.map +1 -1
  279. package/dist/app/modules/database/repositories/key/repository.mjs +1 -1
  280. package/dist/app/modules/database/repositories/permission/repository.mjs +1 -1
  281. package/dist/app/modules/database/repositories/policy/repository.mjs +1 -1
  282. package/dist/app/modules/database/repositories/role/repository.mjs +1 -1
  283. package/dist/app/modules/database/repositories/scope/repository.mjs +1 -1
  284. package/dist/app/modules/database/repositories/trust-anchor/repository.mjs +1 -1
  285. package/dist/app/modules/database/repositories/user/repository.d.ts +7 -2
  286. package/dist/app/modules/database/repositories/user/repository.d.ts.map +1 -1
  287. package/dist/app/modules/database/repositories/user/repository.mjs +21 -4
  288. package/dist/app/modules/database/repositories/user/repository.mjs.map +1 -1
  289. package/dist/app/modules/http/constants.d.ts +3 -1
  290. package/dist/app/modules/http/constants.d.ts.map +1 -1
  291. package/dist/app/modules/http/constants.mjs +3 -2
  292. package/dist/app/modules/http/constants.mjs.map +1 -1
  293. package/dist/app/modules/http/module.d.ts +30 -9
  294. package/dist/app/modules/http/module.d.ts.map +1 -1
  295. package/dist/app/modules/http/module.mjs +31 -33
  296. package/dist/app/modules/http/module.mjs.map +1 -1
  297. package/dist/app/modules/http/modules/controller.d.ts +4 -3
  298. package/dist/app/modules/http/modules/controller.d.ts.map +1 -1
  299. package/dist/app/modules/http/modules/controller.mjs +65 -36
  300. package/dist/app/modules/http/modules/controller.mjs.map +1 -1
  301. package/dist/app/modules/http/modules/middleware.d.ts +13 -22
  302. package/dist/app/modules/http/modules/middleware.d.ts.map +1 -1
  303. package/dist/app/modules/http/modules/middleware.mjs +20 -36
  304. package/dist/app/modules/http/modules/middleware.mjs.map +1 -1
  305. package/dist/app/modules/identity/module.mjs +4 -4
  306. package/dist/app/modules/identity/repositories/client.mjs +4 -2
  307. package/dist/app/modules/identity/repositories/client.mjs.map +1 -1
  308. package/dist/app/modules/identity/repositories/user.mjs +4 -2
  309. package/dist/app/modules/identity/repositories/user.mjs.map +1 -1
  310. package/dist/app/modules/index.mjs +21 -23
  311. package/dist/app/modules/logger/module.mjs +1 -1
  312. package/dist/app/modules/logger/module.mjs.map +1 -1
  313. package/dist/app/modules/mail/module.d.ts.map +1 -1
  314. package/dist/app/modules/mail/module.mjs.map +1 -1
  315. package/dist/app/modules/oauth2/constants.d.ts +2 -1
  316. package/dist/app/modules/oauth2/constants.d.ts.map +1 -1
  317. package/dist/app/modules/oauth2/constants.mjs +1 -0
  318. package/dist/app/modules/oauth2/constants.mjs.map +1 -1
  319. package/dist/app/modules/oauth2/module.d.ts.map +1 -1
  320. package/dist/app/modules/oauth2/module.mjs +9 -4
  321. package/dist/app/modules/oauth2/module.mjs.map +1 -1
  322. package/dist/app/modules/oauth2/repositories/client/repository.mjs +4 -2
  323. package/dist/app/modules/oauth2/repositories/client/repository.mjs.map +1 -1
  324. package/dist/app/modules/oauth2/repositories/consent/repository.d.ts.map +1 -1
  325. package/dist/app/modules/oauth2/repositories/consent/repository.mjs +3 -2
  326. package/dist/app/modules/oauth2/repositories/consent/repository.mjs.map +1 -1
  327. package/dist/app/modules/oauth2/repositories/console-login/index.d.ts +2 -0
  328. package/dist/app/modules/oauth2/repositories/console-login/index.d.ts.map +1 -0
  329. package/dist/app/modules/oauth2/repositories/console-login/index.mjs +5 -0
  330. package/dist/app/modules/oauth2/repositories/console-login/store.d.ts +19 -0
  331. package/dist/app/modules/oauth2/repositories/console-login/store.d.ts.map +1 -0
  332. package/dist/app/modules/oauth2/repositories/console-login/store.mjs +47 -0
  333. package/dist/app/modules/oauth2/repositories/console-login/store.mjs.map +1 -0
  334. package/dist/app/modules/oauth2/repositories/constants.d.ts +1 -0
  335. package/dist/app/modules/oauth2/repositories/constants.d.ts.map +1 -1
  336. package/dist/app/modules/oauth2/repositories/constants.mjs +1 -0
  337. package/dist/app/modules/oauth2/repositories/constants.mjs.map +1 -1
  338. package/dist/app/modules/oauth2/repositories/index.d.ts +1 -0
  339. package/dist/app/modules/oauth2/repositories/index.d.ts.map +1 -1
  340. package/dist/app/modules/oauth2/repositories/index.mjs +3 -1
  341. package/dist/app/modules/oauth2/repositories/session-token/repository.d.ts +2 -2
  342. package/dist/app/modules/oauth2/repositories/session-token/repository.d.ts.map +1 -1
  343. package/dist/app/modules/oauth2/repositories/session-token/repository.mjs +5 -3
  344. package/dist/app/modules/oauth2/repositories/session-token/repository.mjs.map +1 -1
  345. package/dist/app/modules/provisioning/module.d.ts.map +1 -1
  346. package/dist/app/modules/provisioning/module.mjs +5 -6
  347. package/dist/app/modules/provisioning/module.mjs.map +1 -1
  348. package/dist/app/modules/provisioning/sources/composite/module.d.ts.map +1 -1
  349. package/dist/app/modules/provisioning/sources/composite/module.mjs +2 -1
  350. package/dist/app/modules/provisioning/sources/composite/module.mjs.map +1 -1
  351. package/dist/app/modules/provisioning/sources/default/module.d.ts.map +1 -1
  352. package/dist/app/modules/provisioning/sources/default/module.mjs +2 -1
  353. package/dist/app/modules/provisioning/sources/default/module.mjs.map +1 -1
  354. package/dist/app/modules/runtime/module.d.ts.map +1 -1
  355. package/dist/app/modules/runtime/module.mjs +2 -1
  356. package/dist/app/modules/runtime/module.mjs.map +1 -1
  357. package/dist/app/types.d.ts +16 -0
  358. package/dist/app/types.d.ts.map +1 -1
  359. package/dist/cli/commands/config.d.ts +40 -0
  360. package/dist/cli/commands/config.d.ts.map +1 -0
  361. package/dist/cli/commands/config.mjs +65 -0
  362. package/dist/cli/commands/config.mjs.map +1 -0
  363. package/dist/cli/commands/healthcheck.d.ts +3 -2
  364. package/dist/cli/commands/healthcheck.d.ts.map +1 -1
  365. package/dist/cli/commands/healthcheck.mjs +6 -3
  366. package/dist/cli/commands/healthcheck.mjs.map +1 -1
  367. package/dist/cli/commands/index.d.ts +3 -0
  368. package/dist/cli/commands/index.d.ts.map +1 -1
  369. package/dist/cli/commands/index.mjs +3 -1
  370. package/dist/cli/commands/migration.d.ts +3 -10
  371. package/dist/cli/commands/migration.d.ts.map +1 -1
  372. package/dist/cli/commands/migration.mjs +17 -9
  373. package/dist/cli/commands/migration.mjs.map +1 -1
  374. package/dist/cli/commands/shutdown.d.ts +16 -0
  375. package/dist/cli/commands/shutdown.d.ts.map +1 -0
  376. package/dist/cli/commands/shutdown.mjs +41 -0
  377. package/dist/cli/commands/shutdown.mjs.map +1 -0
  378. package/dist/cli/commands/start.d.ts +3 -2
  379. package/dist/cli/commands/start.d.ts.map +1 -1
  380. package/dist/cli/commands/start.mjs +3 -21
  381. package/dist/cli/commands/start.mjs.map +1 -1
  382. package/dist/cli/commands/types.d.ts.map +1 -0
  383. package/dist/cli/index.d.ts +8 -0
  384. package/dist/cli/index.d.ts.map +1 -1
  385. package/dist/cli/index.mjs.map +1 -1
  386. package/dist/cli/module.d.ts +0 -2
  387. package/dist/cli/module.d.ts.map +1 -1
  388. package/dist/cli/module.mjs +4 -3
  389. package/dist/cli/module.mjs.map +1 -1
  390. package/dist/components/oauth2-cleaner/module.d.ts +2 -2
  391. package/dist/components/oauth2-cleaner/module.d.ts.map +1 -1
  392. package/dist/components/oauth2-cleaner/module.mjs +10 -7
  393. package/dist/components/oauth2-cleaner/module.mjs.map +1 -1
  394. package/dist/core/authentication/index.mjs +2 -1
  395. package/dist/core/authentication/session/constants.d.ts +10 -0
  396. package/dist/core/authentication/session/constants.d.ts.map +1 -0
  397. package/dist/core/authentication/session/constants.mjs +16 -0
  398. package/dist/core/authentication/session/constants.mjs.map +1 -0
  399. package/dist/core/authentication/session/index.d.ts +1 -0
  400. package/dist/core/authentication/session/index.d.ts.map +1 -1
  401. package/dist/core/authentication/session/index.mjs +2 -1
  402. package/dist/core/authentication/session/module.d.ts +2 -1
  403. package/dist/core/authentication/session/module.d.ts.map +1 -1
  404. package/dist/core/authentication/session/module.mjs +7 -1
  405. package/dist/core/authentication/session/module.mjs.map +1 -1
  406. package/dist/core/authentication/session/types.d.ts +70 -1
  407. package/dist/core/authentication/session/types.d.ts.map +1 -1
  408. package/dist/core/authentication/session/types.mjs.map +1 -1
  409. package/dist/core/entities/client/schema.d.ts.map +1 -1
  410. package/dist/core/entities/client/schema.mjs +1 -2
  411. package/dist/core/entities/client/schema.mjs.map +1 -1
  412. package/dist/core/entities/client/service.d.ts.map +1 -1
  413. package/dist/core/entities/client/service.mjs +15 -1
  414. package/dist/core/entities/client/service.mjs.map +1 -1
  415. package/dist/core/entities/client/system-clients.d.ts +0 -5
  416. package/dist/core/entities/client/system-clients.d.ts.map +1 -1
  417. package/dist/core/entities/client/system-clients.mjs +0 -6
  418. package/dist/core/entities/client/system-clients.mjs.map +1 -1
  419. package/dist/core/entities/client/types.d.ts +12 -0
  420. package/dist/core/entities/client/types.d.ts.map +1 -1
  421. package/dist/core/entities/client-permission/service.mjs +1 -1
  422. package/dist/core/entities/client-permission/service.mjs.map +1 -1
  423. package/dist/core/entities/event/constants.d.ts +1 -6
  424. package/dist/core/entities/event/constants.d.ts.map +1 -1
  425. package/dist/core/entities/event/constants.mjs +1 -5
  426. package/dist/core/entities/event/constants.mjs.map +1 -1
  427. package/dist/core/entities/event/entity-event-handler.d.ts.map +1 -1
  428. package/dist/core/entities/event/entity-event-handler.mjs +3 -2
  429. package/dist/core/entities/event/entity-event-handler.mjs.map +1 -1
  430. package/dist/core/entities/event/service.d.ts.map +1 -1
  431. package/dist/core/entities/event/service.mjs +3 -3
  432. package/dist/core/entities/event/service.mjs.map +1 -1
  433. package/dist/core/entities/event/types.d.ts +15 -1
  434. package/dist/core/entities/event/types.d.ts.map +1 -1
  435. package/dist/core/entities/permission/service.mjs +1 -2
  436. package/dist/core/entities/permission/service.mjs.map +1 -1
  437. package/dist/core/entities/role-permission/service.mjs +1 -1
  438. package/dist/core/entities/role-permission/service.mjs.map +1 -1
  439. package/dist/core/entities/session/service.d.ts +13 -1
  440. package/dist/core/entities/session/service.d.ts.map +1 -1
  441. package/dist/core/entities/session/service.mjs +19 -16
  442. package/dist/core/entities/session/service.mjs.map +1 -1
  443. package/dist/core/entities/user/schema.d.ts.map +1 -1
  444. package/dist/core/entities/user/schema.mjs +1 -0
  445. package/dist/core/entities/user/schema.mjs.map +1 -1
  446. package/dist/core/entities/user/service.d.ts.map +1 -1
  447. package/dist/core/entities/user/service.mjs +21 -1
  448. package/dist/core/entities/user/service.mjs.map +1 -1
  449. package/dist/core/entities/user/types.d.ts +12 -0
  450. package/dist/core/entities/user/types.d.ts.map +1 -1
  451. package/dist/core/entities/user-permission/service.mjs +1 -1
  452. package/dist/core/entities/user-permission/service.mjs.map +1 -1
  453. package/dist/core/identity/permission/junction-grant.mjs +1 -1
  454. package/dist/core/identity/permission/junction-grant.mjs.map +1 -1
  455. package/dist/core/identity/provider/account/module.mjs +1 -1
  456. package/dist/core/identity/provider/account/module.mjs.map +1 -1
  457. package/dist/core/identity/provider/authentication/protocols/oauth2/assurance.mjs +1 -1
  458. package/dist/core/identity/provider/authentication/protocols/oauth2/assurance.mjs.map +1 -1
  459. package/dist/core/identity/registration/service.d.ts.map +1 -1
  460. package/dist/core/identity/registration/service.mjs +2 -1
  461. package/dist/core/identity/registration/service.mjs.map +1 -1
  462. package/dist/core/index.mjs +11 -3
  463. package/dist/core/oauth2/authorization/helpers.d.ts +14 -0
  464. package/dist/core/oauth2/authorization/helpers.d.ts.map +1 -1
  465. package/dist/core/oauth2/authorization/helpers.mjs +9 -1
  466. package/dist/core/oauth2/authorization/helpers.mjs.map +1 -1
  467. package/dist/core/oauth2/authorization/index.mjs +2 -2
  468. package/dist/core/oauth2/authorization/module.mjs +1 -1
  469. package/dist/core/oauth2/authorization/module.mjs.map +1 -1
  470. package/dist/core/oauth2/backchannel-logout/constants.d.ts +16 -0
  471. package/dist/core/oauth2/backchannel-logout/constants.d.ts.map +1 -0
  472. package/dist/core/oauth2/backchannel-logout/constants.mjs +20 -0
  473. package/dist/core/oauth2/backchannel-logout/constants.mjs.map +1 -0
  474. package/dist/core/oauth2/backchannel-logout/index.d.ts +4 -0
  475. package/dist/core/oauth2/backchannel-logout/index.d.ts.map +1 -0
  476. package/dist/core/oauth2/backchannel-logout/index.mjs +6 -0
  477. package/dist/core/oauth2/backchannel-logout/module.d.ts +26 -0
  478. package/dist/core/oauth2/backchannel-logout/module.d.ts.map +1 -0
  479. package/dist/core/oauth2/backchannel-logout/module.mjs +78 -0
  480. package/dist/core/oauth2/backchannel-logout/module.mjs.map +1 -0
  481. package/dist/core/oauth2/backchannel-logout/types.d.ts +29 -0
  482. package/dist/core/oauth2/backchannel-logout/types.d.ts.map +1 -0
  483. package/dist/core/oauth2/console-login/constants.d.ts +19 -0
  484. package/dist/core/oauth2/console-login/constants.d.ts.map +1 -0
  485. package/dist/core/oauth2/console-login/constants.mjs +24 -0
  486. package/dist/core/oauth2/console-login/constants.mjs.map +1 -0
  487. package/dist/core/oauth2/console-login/index.d.ts +3 -0
  488. package/dist/core/oauth2/console-login/index.d.ts.map +1 -0
  489. package/dist/core/oauth2/console-login/index.mjs +5 -0
  490. package/dist/core/oauth2/console-login/types.d.ts +53 -0
  491. package/dist/core/oauth2/console-login/types.d.ts.map +1 -0
  492. package/dist/core/oauth2/end-session/service.mjs +1 -1
  493. package/dist/core/oauth2/end-session/service.mjs.map +1 -1
  494. package/dist/core/oauth2/federated-login/module.mjs +3 -3
  495. package/dist/core/oauth2/federated-login/module.mjs.map +1 -1
  496. package/dist/core/oauth2/index.d.ts +4 -0
  497. package/dist/core/oauth2/index.d.ts.map +1 -1
  498. package/dist/core/oauth2/index.mjs +13 -3
  499. package/dist/core/oauth2/introspection/index.d.ts +3 -0
  500. package/dist/core/oauth2/introspection/index.d.ts.map +1 -0
  501. package/dist/core/oauth2/introspection/index.mjs +5 -0
  502. package/dist/core/oauth2/introspection/module.d.ts +14 -0
  503. package/dist/core/oauth2/introspection/module.d.ts.map +1 -0
  504. package/dist/core/oauth2/introspection/module.mjs +49 -0
  505. package/dist/core/oauth2/introspection/module.mjs.map +1 -0
  506. package/dist/core/oauth2/introspection/types.d.ts +45 -0
  507. package/dist/core/oauth2/introspection/types.d.ts.map +1 -0
  508. package/dist/core/oauth2/introspection/types.mjs +4 -0
  509. package/dist/core/oauth2/openid/claims.d.ts +20 -2
  510. package/dist/core/oauth2/openid/claims.d.ts.map +1 -1
  511. package/dist/core/oauth2/openid/claims.mjs +18 -4
  512. package/dist/core/oauth2/openid/claims.mjs.map +1 -1
  513. package/dist/core/oauth2/session-credential/constants.d.ts +30 -0
  514. package/dist/core/oauth2/session-credential/constants.d.ts.map +1 -0
  515. package/dist/core/oauth2/session-credential/constants.mjs +34 -0
  516. package/dist/core/oauth2/session-credential/constants.mjs.map +1 -0
  517. package/dist/core/oauth2/session-credential/index.d.ts +3 -0
  518. package/dist/core/oauth2/session-credential/index.d.ts.map +1 -0
  519. package/dist/core/oauth2/session-credential/index.mjs +6 -0
  520. package/dist/core/oauth2/session-credential/module.d.ts +31 -0
  521. package/dist/core/oauth2/session-credential/module.d.ts.map +1 -0
  522. package/dist/core/oauth2/session-credential/module.mjs +43 -0
  523. package/dist/core/oauth2/session-credential/module.mjs.map +1 -0
  524. package/dist/core/oauth2/session-token/constants.d.ts +10 -0
  525. package/dist/core/oauth2/session-token/constants.d.ts.map +1 -0
  526. package/dist/core/oauth2/session-token/constants.mjs +16 -0
  527. package/dist/core/oauth2/session-token/constants.mjs.map +1 -0
  528. package/dist/core/oauth2/session-token/index.d.ts +1 -0
  529. package/dist/core/oauth2/session-token/index.d.ts.map +1 -1
  530. package/dist/core/oauth2/session-token/index.mjs +2 -1
  531. package/dist/core/oauth2/session-token/types.d.ts +13 -2
  532. package/dist/core/oauth2/session-token/types.d.ts.map +1 -1
  533. package/dist/core/provisioning/merge/module.mjs +5 -3
  534. package/dist/core/provisioning/merge/module.mjs.map +1 -1
  535. package/dist/core/query/module.mjs +1 -1
  536. package/dist/core/query/module.mjs.map +1 -1
  537. package/dist/core/security/policy/evaluator.mjs +1 -1
  538. package/dist/core/security/policy/evaluator.mjs.map +1 -1
  539. package/dist/index.mjs +62 -59
  540. package/dist/path.mjs +1 -1
  541. package/dist/swagger.json +466 -104
  542. package/dist/utils/error.d.ts +6 -0
  543. package/dist/utils/error.d.ts.map +1 -1
  544. package/dist/utils/error.mjs +6 -2
  545. package/dist/utils/error.mjs.map +1 -1
  546. package/dist/utils/index.mjs +2 -2
  547. package/package.json +31 -25
  548. package/dist/adapters/http/middleware/built-in/assets.d.ts +0 -11
  549. package/dist/adapters/http/middleware/built-in/assets.d.ts.map +0 -1
  550. package/dist/adapters/http/middleware/built-in/assets.mjs +0 -91
  551. package/dist/adapters/http/middleware/built-in/assets.mjs.map +0 -1
  552. package/dist/adapters/http/middleware/built-in/theme.d.ts +0 -15
  553. package/dist/adapters/http/middleware/built-in/theme.d.ts.map +0 -1
  554. package/dist/adapters/http/middleware/built-in/theme.mjs +0 -27
  555. package/dist/adapters/http/middleware/built-in/theme.mjs.map +0 -1
  556. package/dist/adapters/http/middleware/built-in/types.d.ts +0 -14
  557. package/dist/adapters/http/middleware/built-in/types.d.ts.map +0 -1
  558. package/dist/adapters/http/middleware/built-in/ui-http-client.d.ts +0 -15
  559. package/dist/adapters/http/middleware/built-in/ui-http-client.d.ts.map +0 -1
  560. package/dist/adapters/http/middleware/built-in/ui-http-client.mjs +0 -25
  561. package/dist/adapters/http/middleware/built-in/ui-http-client.mjs.map +0 -1
  562. package/dist/adapters/http/request/helpers/redirect.d.ts +0 -14
  563. package/dist/adapters/http/request/helpers/redirect.d.ts.map +0 -1
  564. package/dist/adapters/http/request/helpers/redirect.mjs +0 -36
  565. package/dist/adapters/http/request/helpers/redirect.mjs.map +0 -1
  566. package/dist/adapters/http/ui/account-console/index.d.ts +0 -4
  567. package/dist/adapters/http/ui/account-console/index.d.ts.map +0 -1
  568. package/dist/adapters/http/ui/account-console/index.mjs +0 -6
  569. package/dist/adapters/http/ui/account-console/module.d.ts +0 -28
  570. package/dist/adapters/http/ui/account-console/module.d.ts.map +0 -1
  571. package/dist/adapters/http/ui/account-console/module.mjs +0 -80
  572. package/dist/adapters/http/ui/account-console/module.mjs.map +0 -1
  573. package/dist/adapters/http/ui/account-console/ref.d.ts +0 -30
  574. package/dist/adapters/http/ui/account-console/ref.d.ts.map +0 -1
  575. package/dist/adapters/http/ui/account-console/ref.mjs +0 -50
  576. package/dist/adapters/http/ui/account-console/ref.mjs.map +0 -1
  577. package/dist/adapters/http/ui/account-console/types.d.ts +0 -11
  578. package/dist/adapters/http/ui/account-console/types.d.ts.map +0 -1
  579. package/dist/adapters/http/ui/auth-console/http-client.d.ts +0 -22
  580. package/dist/adapters/http/ui/auth-console/http-client.d.ts.map +0 -1
  581. package/dist/adapters/http/ui/auth-console/http-client.mjs.map +0 -1
  582. package/dist/adapters/http/ui/auth-console/index.d.ts +0 -6
  583. package/dist/adapters/http/ui/auth-console/index.d.ts.map +0 -1
  584. package/dist/adapters/http/ui/auth-console/index.mjs +0 -8
  585. package/dist/adapters/http/ui/auth-console/module.d.ts +0 -4
  586. package/dist/adapters/http/ui/auth-console/module.d.ts.map +0 -1
  587. package/dist/adapters/http/ui/auth-console/module.mjs +0 -73
  588. package/dist/adapters/http/ui/auth-console/module.mjs.map +0 -1
  589. package/dist/adapters/http/ui/auth-console/resolve.d.ts +0 -21
  590. package/dist/adapters/http/ui/auth-console/resolve.d.ts.map +0 -1
  591. package/dist/adapters/http/ui/auth-console/resolve.mjs +0 -53
  592. package/dist/adapters/http/ui/auth-console/resolve.mjs.map +0 -1
  593. package/dist/adapters/http/ui/auth-console/serve.d.ts +0 -9
  594. package/dist/adapters/http/ui/auth-console/serve.d.ts.map +0 -1
  595. package/dist/adapters/http/ui/auth-console/serve.mjs +0 -35
  596. package/dist/adapters/http/ui/auth-console/serve.mjs.map +0 -1
  597. package/dist/adapters/http/ui/auth-console/types.d.ts +0 -26
  598. package/dist/adapters/http/ui/auth-console/types.d.ts.map +0 -1
  599. package/dist/adapters/http/ui/console-packages/index.d.ts.map +0 -1
  600. package/dist/adapters/http/ui/console-packages/index.mjs +0 -5
  601. package/dist/adapters/http/ui/console-packages/module.d.ts +0 -33
  602. package/dist/adapters/http/ui/console-packages/module.d.ts.map +0 -1
  603. package/dist/adapters/http/ui/console-packages/module.mjs +0 -70
  604. package/dist/adapters/http/ui/console-packages/module.mjs.map +0 -1
  605. package/dist/adapters/http/ui/console-packages/types.d.ts +0 -12
  606. package/dist/adapters/http/ui/console-packages/types.d.ts.map +0 -1
  607. package/dist/adapters/http/ui/index.d.ts +0 -6
  608. package/dist/adapters/http/ui/index.d.ts.map +0 -1
  609. package/dist/adapters/http/ui/index.mjs +0 -25
  610. package/dist/adapters/http/ui/shared/html.d.ts +0 -76
  611. package/dist/adapters/http/ui/shared/html.d.ts.map +0 -1
  612. package/dist/adapters/http/ui/shared/html.mjs +0 -104
  613. package/dist/adapters/http/ui/shared/html.mjs.map +0 -1
  614. package/dist/adapters/http/ui/shared/index.d.ts +0 -2
  615. package/dist/adapters/http/ui/shared/index.d.ts.map +0 -1
  616. package/dist/adapters/http/ui/shared/index.mjs +0 -5
  617. package/dist/adapters/http/ui/theme/apply.d.ts +0 -12
  618. package/dist/adapters/http/ui/theme/apply.d.ts.map +0 -1
  619. package/dist/adapters/http/ui/theme/apply.mjs +0 -29
  620. package/dist/adapters/http/ui/theme/apply.mjs.map +0 -1
  621. package/dist/adapters/http/ui/theme/assets.d.ts +0 -20
  622. package/dist/adapters/http/ui/theme/assets.d.ts.map +0 -1
  623. package/dist/adapters/http/ui/theme/assets.mjs +0 -86
  624. package/dist/adapters/http/ui/theme/assets.mjs.map +0 -1
  625. package/dist/adapters/http/ui/theme/constants.d.ts +0 -16
  626. package/dist/adapters/http/ui/theme/constants.d.ts.map +0 -1
  627. package/dist/adapters/http/ui/theme/constants.mjs +0 -20
  628. package/dist/adapters/http/ui/theme/constants.mjs.map +0 -1
  629. package/dist/adapters/http/ui/theme/contract/constants.d.ts +0 -120
  630. package/dist/adapters/http/ui/theme/contract/constants.d.ts.map +0 -1
  631. package/dist/adapters/http/ui/theme/contract/constants.mjs +0 -136
  632. package/dist/adapters/http/ui/theme/contract/constants.mjs.map +0 -1
  633. package/dist/adapters/http/ui/theme/contract/head.d.ts +0 -12
  634. package/dist/adapters/http/ui/theme/contract/head.d.ts.map +0 -1
  635. package/dist/adapters/http/ui/theme/contract/head.mjs +0 -61
  636. package/dist/adapters/http/ui/theme/contract/head.mjs.map +0 -1
  637. package/dist/adapters/http/ui/theme/contract/index.d.ts +0 -6
  638. package/dist/adapters/http/ui/theme/contract/index.d.ts.map +0 -1
  639. package/dist/adapters/http/ui/theme/contract/index.mjs +0 -8
  640. package/dist/adapters/http/ui/theme/contract/manifest.d.ts +0 -25
  641. package/dist/adapters/http/ui/theme/contract/manifest.d.ts.map +0 -1
  642. package/dist/adapters/http/ui/theme/contract/manifest.mjs +0 -77
  643. package/dist/adapters/http/ui/theme/contract/manifest.mjs.map +0 -1
  644. package/dist/adapters/http/ui/theme/contract/types.d.ts +0 -26
  645. package/dist/adapters/http/ui/theme/contract/types.d.ts.map +0 -1
  646. package/dist/adapters/http/ui/theme/contract/utils.d.ts +0 -11
  647. package/dist/adapters/http/ui/theme/contract/utils.d.ts.map +0 -1
  648. package/dist/adapters/http/ui/theme/contract/utils.mjs +0 -22
  649. package/dist/adapters/http/ui/theme/contract/utils.mjs.map +0 -1
  650. package/dist/adapters/http/ui/theme/index.d.ts +0 -7
  651. package/dist/adapters/http/ui/theme/index.d.ts.map +0 -1
  652. package/dist/adapters/http/ui/theme/index.mjs +0 -13
  653. package/dist/adapters/http/ui/theme/module.d.ts +0 -79
  654. package/dist/adapters/http/ui/theme/module.d.ts.map +0 -1
  655. package/dist/adapters/http/ui/theme/module.mjs +0 -206
  656. package/dist/adapters/http/ui/theme/module.mjs.map +0 -1
  657. package/dist/adapters/http/ui/theme/types.d.ts +0 -42
  658. package/dist/adapters/http/ui/theme/types.d.ts.map +0 -1
  659. package/dist/app/modules/config/helpers.d.ts +0 -9
  660. package/dist/app/modules/config/helpers.d.ts.map +0 -1
  661. package/dist/app/modules/config/helpers.mjs +0 -22
  662. package/dist/app/modules/config/helpers.mjs.map +0 -1
  663. package/dist/app/modules/config/normalize.d.ts +0 -3
  664. package/dist/app/modules/config/normalize.d.ts.map +0 -1
  665. package/dist/app/modules/config/normalize.mjs +0 -117
  666. package/dist/app/modules/config/normalize.mjs.map +0 -1
  667. package/dist/app/modules/config/origins.d.ts +0 -25
  668. package/dist/app/modules/config/origins.d.ts.map +0 -1
  669. package/dist/app/modules/config/origins.mjs +0 -46
  670. package/dist/app/modules/config/origins.mjs.map +0 -1
  671. package/dist/app/modules/config/read/env.d.ts +0 -3
  672. package/dist/app/modules/config/read/env.d.ts.map +0 -1
  673. package/dist/app/modules/config/read/env.mjs +0 -139
  674. package/dist/app/modules/config/read/env.mjs.map +0 -1
  675. package/dist/app/modules/config/read/fs.d.ts +0 -3
  676. package/dist/app/modules/config/read/fs.d.ts.map +0 -1
  677. package/dist/app/modules/config/read/fs.mjs +0 -60
  678. package/dist/app/modules/config/read/fs.mjs.map +0 -1
  679. package/dist/app/modules/config/read/index.d.ts +0 -5
  680. package/dist/app/modules/config/read/index.d.ts.map +0 -1
  681. package/dist/app/modules/config/read/index.mjs +0 -7
  682. package/dist/app/modules/config/read/module.d.ts +0 -4
  683. package/dist/app/modules/config/read/module.d.ts.map +0 -1
  684. package/dist/app/modules/config/read/module.mjs +0 -29
  685. package/dist/app/modules/config/read/module.mjs.map +0 -1
  686. package/dist/app/modules/config/read/types.d.ts +0 -9
  687. package/dist/app/modules/config/read/types.d.ts.map +0 -1
  688. package/dist/app/modules/config/trust-proxy.d.ts +0 -28
  689. package/dist/app/modules/config/trust-proxy.d.ts.map +0 -1
  690. package/dist/app/modules/config/trust-proxy.mjs +0 -64
  691. package/dist/app/modules/config/trust-proxy.mjs.map +0 -1
  692. package/dist/cli/config.d.ts +0 -18
  693. package/dist/cli/config.d.ts.map +0 -1
  694. package/dist/cli/config.mjs +0 -34
  695. package/dist/cli/config.mjs.map +0 -1
  696. package/dist/cli/types.d.ts.map +0 -1
  697. package/dist/utils/host.d.ts +0 -2
  698. package/dist/utils/host.d.ts.map +0 -1
  699. package/dist/utils/host.mjs +0 -12
  700. package/dist/utils/host.mjs.map +0 -1
  701. /package/dist/adapters/http/{middleware/built-in → controllers/workflows/account}/types.mjs +0 -0
  702. /package/dist/adapters/http/{ui/console-packages → controllers/workflows/admin}/index.d.ts +0 -0
  703. /package/dist/adapters/http/{ui/account-console → controllers/workflows/admin}/types.mjs +0 -0
  704. /package/dist/adapters/http/{ui/auth-console → controllers/workflows/console-login}/types.mjs +0 -0
  705. /package/dist/adapters/http/{ui/console-packages → internal-client}/types.mjs +0 -0
  706. /package/dist/{adapters/http/ui/theme/contract → app/modules/components}/types.mjs +0 -0
  707. /package/dist/cli/{types.d.ts → commands/types.d.ts} +0 -0
  708. /package/dist/{adapters/http/ui/theme → cli/commands}/types.mjs +0 -0
  709. /package/dist/{app/modules/config/read → core/oauth2/backchannel-logout}/types.mjs +0 -0
  710. /package/dist/{cli → core/oauth2/console-login}/types.mjs +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"module.mjs","names":["BuiltInPolicyType","RealmScope","SystemPolicyName","DecisionStrategy","ClientAuthMethod","ClientTokenBindingMethod","PermissionName","REALM_MASTER_NAME","ROLE_ADMIN_NAME","ROLE_REALM_ADMIN_NAME","ScopeName","buildUserFakeEmail","ClientCredentialsService","UserCredentialsService","ConfigInjectionKey","ProvisioningEntityStrategyType","DefaultProvisioningSource","buildPolicies","attributes","name","DEFAULT","type","COMPOSITE","builtIn","realmId","extraAttributes","decisionStrategy","UNANIMOUS","children","IDENTITY","PERMISSION_BINDING","CLIENT_NAMES_SELF_MANAGE","ATTRIBUTE_NAMES","invert","names","USER_NAMES_SELF_MANAGE","buildPermissions","policiesByPermission","CLIENT_SELF_MANAGE","USER_SELF_MANAGE","Object","values","map","entity","strategy","MERGE","policies","relations","buildScopes","buildRoles","globalPermissions","globalPermissionsRealmScope","ANY","globalPermissionsExclude","REALM_CREATE","REALM_UPDATE","REALM_DELETE","OWN_OR_NULL","globalPermissionsRealmScopeOverrides","OWN","CLIENT_CREATE","CLIENT_UPDATE","CLIENT_DELETE","CONSENT_DELETE","IDENTITY_PROVIDER_CREATE","IDENTITY_PROVIDER_UPDATE","IDENTITY_PROVIDER_DELETE","IDENTITY_PROVIDER_ACCOUNT_DELETE","KEY_CREATE","KEY_UPDATE","KEY_DELETE","PERMISSION_CREATE","PERMISSION_UPDATE","PERMISSION_DELETE","ROLE_CREATE","ROLE_UPDATE","ROLE_DELETE","SCOPE_CREATE","SCOPE_UPDATE","SCOPE_DELETE","SESSION_DELETE","USER_CREATE","USER_UPDATE","USER_DELETE","USER_AUTHENTICATOR_CREATE","USER_AUTHENTICATOR_UPDATE","USER_AUTHENTICATOR_DELETE","buildRealms","config","masterRealm","userCredentialsService","userStrategy","userAdminPasswordReset","users","password","protect","userAdminPassword","email","active","userAdminEnabled","globalRoles","clientCredentialsService","clientStrategy","clientSystemSecretReset","clients","authMethod","SECRET","tokenBindingMethod","NONE","secret","clientSystemSecret","secretHashed","clientSystemEnabled","load","container","resolve","permissions","scopes","roles","realms"],"sources":["../../../../../../src/app/modules/provisioning/sources/default/module.ts"],"sourcesContent":["/*\n * Copyright (c) 2026.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { BuiltInPolicyType, RealmScope, SystemPolicyName } from '@authup/access';\nimport { DecisionStrategy } from '@authup/kit';\nimport type {\n Client, \n Permission, \n Role, \n Scope, \n User,\n} from '@authup/core-kit';\nimport {\n ClientAuthMethod,\n ClientTokenBindingMethod,\n PermissionName, \n REALM_MASTER_NAME, \n ROLE_ADMIN_NAME, \n ROLE_REALM_ADMIN_NAME, \n ScopeName, \n buildUserFakeEmail,\n} from '@authup/core-kit';\nimport type { IContainer } from 'eldin';\nimport {\n ClientCredentialsService,\n UserCredentialsService,\n} from '../../../../../core/index.ts';\nimport type { Config } from '../../../config/index.ts';\nimport { ConfigInjectionKey } from '../../../config/index.ts';\nimport type { PermissionProvisioningEntity } from '../../../../../core/provisioning/entities/permission/index.ts';\nimport type { PolicyProvisioningEntity } from '../../../../../core/provisioning/entities/policy/index.ts';\nimport type { RealmProvisioningEntity } from '../../../../../core/provisioning/entities/realm/index.ts';\nimport type { RoleProvisioningEntity } from '../../../../../core/provisioning/entities/role/index.ts';\nimport type { RootProvisioningEntity } from '../../../../../core/provisioning/entities/root/index.ts';\nimport type { ScopeProvisioningEntity } from '../../../../../core/provisioning/entities/scope/index.ts';\nimport type { ProvisioningEntityStrategy } from '../../../../../core/provisioning/strategy/index.ts';\nimport { ProvisioningEntityStrategyType } from '../../../../../core/provisioning/strategy/index.ts';\nimport type { IProvisioningSource } from '../../../../../core/provisioning/types.ts';\n\nexport class DefaultProvisioningSource implements IProvisioningSource {\n buildPolicies(): PolicyProvisioningEntity[] {\n return [\n {\n attributes: {\n name: SystemPolicyName.DEFAULT,\n type: BuiltInPolicyType.COMPOSITE,\n builtIn: true,\n realmId: null,\n },\n extraAttributes: { decisionStrategy: DecisionStrategy.UNANIMOUS },\n children: [\n {\n attributes: {\n name: SystemPolicyName.IDENTITY,\n type: BuiltInPolicyType.IDENTITY,\n builtIn: true,\n realmId: null,\n },\n },\n {\n attributes: {\n name: SystemPolicyName.PERMISSION_BINDING,\n type: BuiltInPolicyType.PERMISSION_BINDING,\n builtIn: true,\n realmId: null,\n },\n },\n ],\n },\n // Self-manage policies use ATTRIBUTE_NAMES + invert: true (denylist).\n // Each `names` entry is what self-edit must REJECT; everything else\n // is permitted. New columns added to the entity are self-editable\n // by default — extend the denylist when adding admin-only state.\n {\n attributes: {\n name: SystemPolicyName.CLIENT_NAMES_SELF_MANAGE,\n type: BuiltInPolicyType.ATTRIBUTE_NAMES,\n invert: true,\n builtIn: true,\n realmId: null,\n },\n extraAttributes: {\n names: [\n // FK + lifecycle\n 'active',\n 'realmId',\n // Security-critical: a self-edit must not change the\n // client's authentication/binding method (changing the\n // auth method may clear its secret) or downgrade the\n // secret-storage format\n // (which would persist the secret in plaintext).\n 'authMethod',\n 'tokenBindingMethod',\n 'secretHashed',\n 'secretEncrypted',\n 'accessPolicyId',\n ],\n },\n },\n {\n attributes: {\n name: SystemPolicyName.USER_NAMES_SELF_MANAGE,\n type: BuiltInPolicyType.ATTRIBUTE_NAMES,\n invert: true,\n builtIn: true,\n realmId: null,\n },\n extraAttributes: {\n names: [\n 'active',\n 'nameLocked',\n 'status',\n 'statusMessage',\n 'realmId',\n ],\n },\n },\n ];\n }\n\n buildPermissions(): PermissionProvisioningEntity[] {\n const policiesByPermission: Partial<Record<string, string[]>> = {\n [PermissionName.CLIENT_SELF_MANAGE]: [SystemPolicyName.DEFAULT, SystemPolicyName.CLIENT_NAMES_SELF_MANAGE],\n [PermissionName.USER_SELF_MANAGE]: [SystemPolicyName.DEFAULT, SystemPolicyName.USER_NAMES_SELF_MANAGE],\n };\n\n return Object.values(PermissionName)\n .map((name) => {\n const entity: PermissionProvisioningEntity = {\n strategy: {\n type: ProvisioningEntityStrategyType.MERGE,\n attributes: ['builtIn'] as (keyof Permission)[],\n },\n attributes: {\n name,\n builtIn: true,\n },\n };\n\n const policies = policiesByPermission[name];\n if (policies) {\n entity.relations = { policies };\n }\n\n return entity;\n });\n }\n\n buildScopes(): ScopeProvisioningEntity[] {\n return Object.values(ScopeName)\n .map((name) => ({\n strategy: {\n type: ProvisioningEntityStrategyType.MERGE,\n attributes: ['builtIn'] as (keyof Scope)[],\n },\n attributes: {\n name,\n builtIn: true,\n },\n }));\n }\n\n buildRoles(): RoleProvisioningEntity[] {\n return [\n {\n strategy: {\n type: ProvisioningEntityStrategyType.MERGE,\n attributes: ['builtIn'] as (keyof Role)[],\n },\n attributes: {\n name: ROLE_ADMIN_NAME,\n builtIn: true,\n },\n relations: {\n globalPermissions: ['*'],\n // Global admin: unrestricted realm reach (any realm + null/global).\n globalPermissionsRealmScope: RealmScope.ANY,\n },\n },\n {\n strategy: {\n type: ProvisioningEntityStrategyType.MERGE,\n attributes: ['builtIn'] as (keyof Role)[],\n },\n attributes: {\n name: ROLE_REALM_ADMIN_NAME,\n builtIn: true,\n },\n relations: {\n globalPermissions: ['*'],\n globalPermissionsExclude: [\n PermissionName.REALM_CREATE,\n PermissionName.REALM_UPDATE,\n PermissionName.REALM_DELETE,\n ],\n // realm_admin: own realm + null/global by default (so it can\n // read/assign global building blocks), but strictly own-realm for\n // direct entity CUD (cannot create/modify global entities).\n globalPermissionsRealmScope: RealmScope.OWN_OR_NULL,\n globalPermissionsRealmScopeOverrides: {\n [RealmScope.OWN]: [\n PermissionName.CLIENT_CREATE,\n PermissionName.CLIENT_UPDATE,\n PermissionName.CLIENT_DELETE,\n PermissionName.CONSENT_DELETE,\n PermissionName.IDENTITY_PROVIDER_CREATE,\n PermissionName.IDENTITY_PROVIDER_UPDATE,\n PermissionName.IDENTITY_PROVIDER_DELETE,\n PermissionName.IDENTITY_PROVIDER_ACCOUNT_DELETE,\n PermissionName.KEY_CREATE,\n PermissionName.KEY_UPDATE,\n PermissionName.KEY_DELETE,\n PermissionName.PERMISSION_CREATE,\n PermissionName.PERMISSION_UPDATE,\n PermissionName.PERMISSION_DELETE,\n PermissionName.ROLE_CREATE,\n PermissionName.ROLE_UPDATE,\n PermissionName.ROLE_DELETE,\n PermissionName.SCOPE_CREATE,\n PermissionName.SCOPE_UPDATE,\n PermissionName.SCOPE_DELETE,\n PermissionName.SESSION_DELETE,\n PermissionName.USER_CREATE,\n PermissionName.USER_UPDATE,\n PermissionName.USER_DELETE,\n PermissionName.USER_AUTHENTICATOR_CREATE,\n PermissionName.USER_AUTHENTICATOR_UPDATE,\n PermissionName.USER_AUTHENTICATOR_DELETE,\n ],\n },\n },\n },\n ];\n }\n\n async buildRealms(config: Config): Promise<RealmProvisioningEntity[]> {\n const masterRealm : RealmProvisioningEntity = {\n strategy: {\n type: ProvisioningEntityStrategyType.MERGE,\n attributes: ['builtIn'],\n },\n attributes: {\n name: REALM_MASTER_NAME,\n builtIn: true,\n },\n relations: {},\n };\n\n const userCredentialsService = new UserCredentialsService();\n\n let userStrategy : ProvisioningEntityStrategy<User> | undefined;\n if (config.userAdminPasswordReset) {\n userStrategy = {\n type: ProvisioningEntityStrategyType.MERGE,\n attributes: ['password'],\n };\n }\n\n masterRealm.relations = masterRealm.relations || {};\n masterRealm.relations.users = [\n {\n strategy: userStrategy,\n attributes: {\n name: 'admin',\n password: await userCredentialsService.protect(config.userAdminPassword),\n email: buildUserFakeEmail('admin'),\n active: config.userAdminEnabled,\n },\n relations: { globalRoles: [ROLE_ADMIN_NAME] },\n },\n ];\n\n const clientCredentialsService = new ClientCredentialsService();\n\n let clientStrategy : ProvisioningEntityStrategy<Client> | undefined;\n if (config.clientSystemSecretReset) {\n clientStrategy = {\n type: ProvisioningEntityStrategyType.MERGE,\n attributes: ['builtIn', 'authMethod', 'tokenBindingMethod', 'secret', 'secretHashed', 'secretEncrypted'],\n };\n } else {\n clientStrategy = {\n type: ProvisioningEntityStrategyType.MERGE,\n attributes: ['builtIn', 'authMethod', 'tokenBindingMethod'],\n };\n }\n\n masterRealm.relations = masterRealm.relations || {};\n masterRealm.relations.clients = [\n {\n strategy: clientStrategy,\n attributes: {\n builtIn: true,\n authMethod: ClientAuthMethod.SECRET,\n tokenBindingMethod: ClientTokenBindingMethod.NONE,\n name: 'system',\n secret: await clientCredentialsService.protect(config.clientSystemSecret, { secretHashed: false }),\n secretHashed: false,\n active: config.clientSystemEnabled,\n },\n relations: { globalRoles: [ROLE_ADMIN_NAME] },\n },\n ];\n\n return [masterRealm];\n }\n\n async load(container: IContainer): Promise<RootProvisioningEntity> {\n const config = container.resolve(ConfigInjectionKey);\n\n return {\n policies: this.buildPolicies(),\n permissions: this.buildPermissions(),\n scopes: this.buildScopes(),\n roles: this.buildRoles(),\n realms: await this.buildRealms(config),\n };\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"module.mjs","names":["BuiltInPolicyType","RealmScope","SystemPolicyName","DecisionStrategy","ClientAuthMethod","ClientTokenBindingMethod","PermissionName","REALM_MASTER_NAME","ROLE_ADMIN_NAME","ROLE_REALM_ADMIN_NAME","ScopeName","buildUserFakeEmail","ClientCredentialsService","UserCredentialsService","ConfigInjectionKey","ProvisioningEntityStrategyType","DefaultProvisioningSource","buildPolicies","attributes","name","DEFAULT","type","COMPOSITE","builtIn","realmId","extraAttributes","decisionStrategy","UNANIMOUS","children","IDENTITY","PERMISSION_BINDING","CLIENT_NAMES_SELF_MANAGE","ATTRIBUTE_NAMES","invert","names","USER_NAMES_SELF_MANAGE","buildPermissions","policiesByPermission","CLIENT_SELF_MANAGE","USER_SELF_MANAGE","Object","values","map","entity","strategy","MERGE","policies","relations","buildScopes","buildRoles","globalPermissions","globalPermissionsRealmScope","ANY","globalPermissionsExclude","REALM_CREATE","REALM_UPDATE","REALM_DELETE","OWN_OR_NULL","globalPermissionsRealmScopeOverrides","OWN","CLIENT_CREATE","CLIENT_UPDATE","CLIENT_DELETE","CONSENT_DELETE","IDENTITY_PROVIDER_CREATE","IDENTITY_PROVIDER_UPDATE","IDENTITY_PROVIDER_DELETE","IDENTITY_PROVIDER_ACCOUNT_DELETE","KEY_CREATE","KEY_UPDATE","KEY_DELETE","PERMISSION_CREATE","PERMISSION_UPDATE","PERMISSION_DELETE","ROLE_CREATE","ROLE_UPDATE","ROLE_DELETE","SCOPE_CREATE","SCOPE_UPDATE","SCOPE_DELETE","SESSION_DELETE","USER_CREATE","USER_UPDATE","USER_DELETE","USER_AUTHENTICATOR_CREATE","USER_AUTHENTICATOR_UPDATE","USER_AUTHENTICATOR_DELETE","buildRealms","config","masterRealm","userCredentialsService","userStrategy","userAdminPasswordReset","users","password","protect","userAdminPassword","email","active","userAdminEnabled","globalRoles","clientCredentialsService","clientStrategy","clientSystemSecretReset","clients","authMethod","SECRET","tokenBindingMethod","NONE","secret","clientSystemSecret","secretHashed","clientSystemEnabled","load","container","resolve","permissions","scopes","roles","realms"],"sources":["../../../../../../src/app/modules/provisioning/sources/default/module.ts"],"sourcesContent":["/*\n * Copyright (c) 2026.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { BuiltInPolicyType, RealmScope, SystemPolicyName } from '@authup/access';\nimport { DecisionStrategy } from '@authup/kit';\nimport type {\n Client, \n Permission, \n Role, \n Scope, \n User,\n} from '@authup/core-kit';\nimport {\n ClientAuthMethod,\n ClientTokenBindingMethod,\n PermissionName, \n REALM_MASTER_NAME, \n ROLE_ADMIN_NAME, \n ROLE_REALM_ADMIN_NAME, \n ScopeName, \n buildUserFakeEmail,\n} from '@authup/core-kit';\nimport type { IContainer } from 'eldin';\nimport {\n ClientCredentialsService,\n UserCredentialsService,\n} from '../../../../../core/index.ts';\nimport type { Config } from '../../../config/index.ts';\nimport { ConfigInjectionKey } from '../../../config/index.ts';\nimport type { PermissionProvisioningEntity } from '../../../../../core/provisioning/entities/permission/index.ts';\nimport type { PolicyProvisioningEntity } from '../../../../../core/provisioning/entities/policy/index.ts';\nimport type { RealmProvisioningEntity } from '../../../../../core/provisioning/entities/realm/index.ts';\nimport type { RoleProvisioningEntity } from '../../../../../core/provisioning/entities/role/index.ts';\nimport type { RootProvisioningEntity } from '../../../../../core/provisioning/entities/root/index.ts';\nimport type { ScopeProvisioningEntity } from '../../../../../core/provisioning/entities/scope/index.ts';\nimport type { ProvisioningEntityStrategy } from '../../../../../core/provisioning/strategy/index.ts';\nimport { ProvisioningEntityStrategyType } from '../../../../../core/provisioning/strategy/index.ts';\nimport type { IProvisioningSource } from '../../../../../core/provisioning/types.ts';\n\nexport class DefaultProvisioningSource implements IProvisioningSource {\n buildPolicies(): PolicyProvisioningEntity[] {\n return [\n {\n attributes: {\n name: SystemPolicyName.DEFAULT,\n type: BuiltInPolicyType.COMPOSITE,\n builtIn: true,\n realmId: null,\n },\n extraAttributes: { decisionStrategy: DecisionStrategy.UNANIMOUS },\n children: [\n {\n attributes: {\n name: SystemPolicyName.IDENTITY,\n type: BuiltInPolicyType.IDENTITY,\n builtIn: true,\n realmId: null,\n },\n },\n {\n attributes: {\n name: SystemPolicyName.PERMISSION_BINDING,\n type: BuiltInPolicyType.PERMISSION_BINDING,\n builtIn: true,\n realmId: null,\n },\n },\n ],\n },\n // Self-manage policies use ATTRIBUTE_NAMES + invert: true (denylist).\n // Each `names` entry is what self-edit must REJECT; everything else\n // is permitted. New columns added to the entity are self-editable\n // by default — extend the denylist when adding admin-only state.\n {\n attributes: {\n name: SystemPolicyName.CLIENT_NAMES_SELF_MANAGE,\n type: BuiltInPolicyType.ATTRIBUTE_NAMES,\n invert: true,\n builtIn: true,\n realmId: null,\n },\n extraAttributes: {\n names: [\n // FK + lifecycle\n 'active',\n 'realmId',\n // Security-critical: a self-edit must not change the\n // client's authentication/binding method (changing the\n // auth method may clear its secret) or downgrade the\n // secret-storage format\n // (which would persist the secret in plaintext).\n 'authMethod',\n 'tokenBindingMethod',\n 'secretHashed',\n 'secretEncrypted',\n 'accessPolicyId',\n ],\n },\n },\n {\n attributes: {\n name: SystemPolicyName.USER_NAMES_SELF_MANAGE,\n type: BuiltInPolicyType.ATTRIBUTE_NAMES,\n invert: true,\n builtIn: true,\n realmId: null,\n },\n extraAttributes: {\n names: [\n 'active',\n 'nameLocked',\n 'status',\n 'statusMessage',\n 'realmId',\n // A self-edit must not assert its own address is\n // verified — that is the whole point of the claim.\n 'emailVerified',\n ],\n },\n },\n ];\n }\n\n buildPermissions(): PermissionProvisioningEntity[] {\n const policiesByPermission: Partial<Record<string, string[]>> = {\n [PermissionName.CLIENT_SELF_MANAGE]: [SystemPolicyName.DEFAULT, SystemPolicyName.CLIENT_NAMES_SELF_MANAGE],\n [PermissionName.USER_SELF_MANAGE]: [SystemPolicyName.DEFAULT, SystemPolicyName.USER_NAMES_SELF_MANAGE],\n };\n\n return Object.values(PermissionName)\n .map((name) => {\n const entity: PermissionProvisioningEntity = {\n strategy: {\n type: ProvisioningEntityStrategyType.MERGE,\n attributes: ['builtIn'] as (keyof Permission)[],\n },\n attributes: {\n name,\n builtIn: true,\n },\n };\n\n const policies = policiesByPermission[name];\n if (policies) {\n entity.relations = { policies };\n }\n\n return entity;\n });\n }\n\n buildScopes(): ScopeProvisioningEntity[] {\n return Object.values(ScopeName)\n .map((name) => ({\n strategy: {\n type: ProvisioningEntityStrategyType.MERGE,\n attributes: ['builtIn'] as (keyof Scope)[],\n },\n attributes: {\n name,\n builtIn: true,\n },\n }));\n }\n\n buildRoles(): RoleProvisioningEntity[] {\n return [\n {\n strategy: {\n type: ProvisioningEntityStrategyType.MERGE,\n attributes: ['builtIn'] as (keyof Role)[],\n },\n attributes: {\n name: ROLE_ADMIN_NAME,\n builtIn: true,\n },\n relations: {\n globalPermissions: ['*'],\n // Global admin: unrestricted realm reach (any realm + null/global).\n globalPermissionsRealmScope: RealmScope.ANY,\n },\n },\n {\n strategy: {\n type: ProvisioningEntityStrategyType.MERGE,\n attributes: ['builtIn'] as (keyof Role)[],\n },\n attributes: {\n name: ROLE_REALM_ADMIN_NAME,\n builtIn: true,\n },\n relations: {\n globalPermissions: ['*'],\n globalPermissionsExclude: [\n PermissionName.REALM_CREATE,\n PermissionName.REALM_UPDATE,\n PermissionName.REALM_DELETE,\n ],\n // realm_admin: own realm + null/global by default (so it can\n // read/assign global building blocks), but strictly own-realm for\n // direct entity CUD (cannot create/modify global entities).\n globalPermissionsRealmScope: RealmScope.OWN_OR_NULL,\n globalPermissionsRealmScopeOverrides: {\n [RealmScope.OWN]: [\n PermissionName.CLIENT_CREATE,\n PermissionName.CLIENT_UPDATE,\n PermissionName.CLIENT_DELETE,\n PermissionName.CONSENT_DELETE,\n PermissionName.IDENTITY_PROVIDER_CREATE,\n PermissionName.IDENTITY_PROVIDER_UPDATE,\n PermissionName.IDENTITY_PROVIDER_DELETE,\n PermissionName.IDENTITY_PROVIDER_ACCOUNT_DELETE,\n PermissionName.KEY_CREATE,\n PermissionName.KEY_UPDATE,\n PermissionName.KEY_DELETE,\n PermissionName.PERMISSION_CREATE,\n PermissionName.PERMISSION_UPDATE,\n PermissionName.PERMISSION_DELETE,\n PermissionName.ROLE_CREATE,\n PermissionName.ROLE_UPDATE,\n PermissionName.ROLE_DELETE,\n PermissionName.SCOPE_CREATE,\n PermissionName.SCOPE_UPDATE,\n PermissionName.SCOPE_DELETE,\n PermissionName.SESSION_DELETE,\n PermissionName.USER_CREATE,\n PermissionName.USER_UPDATE,\n PermissionName.USER_DELETE,\n PermissionName.USER_AUTHENTICATOR_CREATE,\n PermissionName.USER_AUTHENTICATOR_UPDATE,\n PermissionName.USER_AUTHENTICATOR_DELETE,\n ],\n },\n },\n },\n ];\n }\n\n async buildRealms(config: Config): Promise<RealmProvisioningEntity[]> {\n const masterRealm : RealmProvisioningEntity = {\n strategy: {\n type: ProvisioningEntityStrategyType.MERGE,\n attributes: ['builtIn'],\n },\n attributes: {\n name: REALM_MASTER_NAME,\n builtIn: true,\n },\n relations: {},\n };\n\n const userCredentialsService = new UserCredentialsService();\n\n let userStrategy : ProvisioningEntityStrategy<User> | undefined;\n if (config.userAdminPasswordReset) {\n userStrategy = {\n type: ProvisioningEntityStrategyType.MERGE,\n attributes: ['password'],\n };\n }\n\n masterRealm.relations = masterRealm.relations || {};\n masterRealm.relations.users = [\n {\n strategy: userStrategy,\n attributes: {\n name: 'admin',\n password: await userCredentialsService.protect(config.userAdminPassword),\n email: buildUserFakeEmail('admin'),\n active: config.userAdminEnabled,\n },\n relations: { globalRoles: [ROLE_ADMIN_NAME] },\n },\n ];\n\n const clientCredentialsService = new ClientCredentialsService();\n\n let clientStrategy : ProvisioningEntityStrategy<Client> | undefined;\n if (config.clientSystemSecretReset) {\n clientStrategy = {\n type: ProvisioningEntityStrategyType.MERGE,\n attributes: ['builtIn', 'authMethod', 'tokenBindingMethod', 'secret', 'secretHashed', 'secretEncrypted'],\n };\n } else {\n clientStrategy = {\n type: ProvisioningEntityStrategyType.MERGE,\n attributes: ['builtIn', 'authMethod', 'tokenBindingMethod'],\n };\n }\n\n masterRealm.relations = masterRealm.relations || {};\n masterRealm.relations.clients = [\n {\n strategy: clientStrategy,\n attributes: {\n builtIn: true,\n authMethod: ClientAuthMethod.SECRET,\n tokenBindingMethod: ClientTokenBindingMethod.NONE,\n name: 'system',\n secret: await clientCredentialsService.protect(config.clientSystemSecret, { secretHashed: false }),\n secretHashed: false,\n active: config.clientSystemEnabled,\n },\n relations: { globalRoles: [ROLE_ADMIN_NAME] },\n },\n ];\n\n return [masterRealm];\n }\n\n async load(container: IContainer): Promise<RootProvisioningEntity> {\n const config = container.resolve(ConfigInjectionKey);\n\n return {\n policies: this.buildPolicies(),\n permissions: this.buildPermissions(),\n scopes: this.buildScopes(),\n roles: this.buildRoles(),\n realms: await this.buildRealms(config),\n };\n }\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../../src/app/modules/runtime/module.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAErC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAKxC,qBAAa,aAAc,YAAW,OAAO;IACzC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC;;IAO1B,KAAK,CAAC,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;CAapD"}
1
+ {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../../src/app/modules/runtime/module.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAErC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAKxC,qBAAa,aAAc,YAAW,OAAO;IACzC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC;;IAO1B,KAAK,CAAC,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;CAcpD"}
@@ -20,7 +20,8 @@ var RuntimeModule = class {
20
20
  const config = container.resolve(ConfigInjectionKey);
21
21
  const logger = container.resolve(LoggerInjectionKey);
22
22
  logger.debug(`Environment: ${config.env}`);
23
- logger.debug(`WritableDirectoryPath: ${config.writableDirectoryPath}`);
23
+ logger.debug(`LogDirectoryPath: ${config.logDirectoryPath}`);
24
+ logger.debug(`ProvisioningDirectoryPath: ${config.provisioningDirectoryPath}`);
24
25
  logger.debug(`Port: ${config.port}`);
25
26
  logger.debug(`Host: ${config.host}`);
26
27
  logger.debug(`Base-URL: ${config.publicUrl}`);
@@ -1 +1 @@
1
- {"version":3,"file":"module.mjs","names":["ModuleName","LoggerInjectionKey","ConfigInjectionKey","resolveURL","RuntimeModule","name","dependencies","RUNTIME","CONFIG","LOGGER","setup","container","config","resolve","logger","debug","env","writableDirectoryPath","port","host","publicUrl"],"sources":["../../../../src/app/modules/runtime/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 { IModule } from 'orkos';\nimport { ModuleName } from '../constants.ts';\nimport type { IContainer } from 'eldin';\nimport { LoggerInjectionKey } from '../logger/index.ts';\nimport { ConfigInjectionKey } from '../config/index.ts';\nimport { resolveURL } from '../../../utils/index.ts';\n\nexport class RuntimeModule implements IModule {\n readonly name: string;\n\n readonly dependencies: string[];\n\n constructor() {\n this.name = ModuleName.RUNTIME;\n this.dependencies = [ModuleName.CONFIG, ModuleName.LOGGER];\n }\n\n async setup(container: IContainer): Promise<void> {\n const config = container.resolve(ConfigInjectionKey);\n const logger = container.resolve(LoggerInjectionKey);\n\n logger.debug(`Environment: ${config.env}`);\n logger.debug(`WritableDirectoryPath: ${config.writableDirectoryPath}`);\n logger.debug(`Port: ${config.port}`);\n logger.debug(`Host: ${config.host}`);\n logger.debug(`Base-URL: ${config.publicUrl}`);\n logger.debug(`Docs-URL: ${resolveURL(config.publicUrl, 'docs')}`);\n }\n\n // ----------------------------------------------------\n}\n"],"mappings":";;;;;;;;;;;AAcA,IAAaI,gBAAb,MAAaA;CACAC;CAEAC;CAET,cAAc;EACV,KAAKD,OAAOL,WAAWO;EACvB,KAAKD,eAAe,CAACN,WAAWQ,QAAQR,WAAWS,MAAO;CAC9D;CAEA,MAAMC,MAAMC,WAAsC;EAC9C,MAAMC,SAASD,UAAUE,QAAQX,kBAAAA;EACjC,MAAMY,SAASH,UAAUE,QAAQZ,kBAAAA;EAEjCa,OAAOC,MAAM,gBAAgBH,OAAOI,KAAK;EACzCF,OAAOC,MAAM,0BAA0BH,OAAOK,uBAAuB;EACrEH,OAAOC,MAAM,SAASH,OAAOM,MAAM;EACnCJ,OAAOC,MAAM,SAASH,OAAOO,MAAM;EACnCL,OAAOC,MAAM,aAAaH,OAAOQ,WAAW;EAC5CN,OAAOC,MAAM,aAAaZ,WAAWS,OAAOQ,WAAW,MAAA,GAAS;CACpE;AAGJ"}
1
+ {"version":3,"file":"module.mjs","names":["ModuleName","LoggerInjectionKey","ConfigInjectionKey","resolveURL","RuntimeModule","name","dependencies","RUNTIME","CONFIG","LOGGER","setup","container","config","resolve","logger","debug","env","logDirectoryPath","provisioningDirectoryPath","port","host","publicUrl"],"sources":["../../../../src/app/modules/runtime/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 { IModule } from 'orkos';\nimport { ModuleName } from '../constants.ts';\nimport type { IContainer } from 'eldin';\nimport { LoggerInjectionKey } from '../logger/index.ts';\nimport { ConfigInjectionKey } from '../config/index.ts';\nimport { resolveURL } from '../../../utils/index.ts';\n\nexport class RuntimeModule implements IModule {\n readonly name: string;\n\n readonly dependencies: string[];\n\n constructor() {\n this.name = ModuleName.RUNTIME;\n this.dependencies = [ModuleName.CONFIG, ModuleName.LOGGER];\n }\n\n async setup(container: IContainer): Promise<void> {\n const config = container.resolve(ConfigInjectionKey);\n const logger = container.resolve(LoggerInjectionKey);\n\n logger.debug(`Environment: ${config.env}`);\n logger.debug(`LogDirectoryPath: ${config.logDirectoryPath}`);\n logger.debug(`ProvisioningDirectoryPath: ${config.provisioningDirectoryPath}`);\n logger.debug(`Port: ${config.port}`);\n logger.debug(`Host: ${config.host}`);\n logger.debug(`Base-URL: ${config.publicUrl}`);\n logger.debug(`Docs-URL: ${resolveURL(config.publicUrl, 'docs')}`);\n }\n\n // ----------------------------------------------------\n}\n"],"mappings":";;;;;;;;;;;AAcA,IAAaI,gBAAb,MAAaA;CACAC;CAEAC;CAET,cAAc;EACV,KAAKD,OAAOL,WAAWO;EACvB,KAAKD,eAAe,CAACN,WAAWQ,QAAQR,WAAWS,MAAO;CAC9D;CAEA,MAAMC,MAAMC,WAAsC;EAC9C,MAAMC,SAASD,UAAUE,QAAQX,kBAAAA;EACjC,MAAMY,SAASH,UAAUE,QAAQZ,kBAAAA;EAEjCa,OAAOC,MAAM,gBAAgBH,OAAOI,KAAK;EACzCF,OAAOC,MAAM,qBAAqBH,OAAOK,kBAAkB;EAC3DH,OAAOC,MAAM,8BAA8BH,OAAOM,2BAA2B;EAC7EJ,OAAOC,MAAM,SAASH,OAAOO,MAAM;EACnCL,OAAOC,MAAM,SAASH,OAAOQ,MAAM;EACnCN,OAAOC,MAAM,aAAaH,OAAOS,WAAW;EAC5CP,OAAOC,MAAM,aAAaZ,WAAWS,OAAOS,WAAW,MAAA,GAAS;CACpE;AAGJ"}
@@ -1,5 +1,21 @@
1
1
  import type { ConfigModule } from './modules/index.ts';
2
+ import type { IModule } from 'orkos';
3
+ import type { IContainer } from 'eldin';
2
4
  export type CreateApplicationContext = {
5
+ /**
6
+ * A pre-configured DI container. Registering a token before setup wins
7
+ * over the module that would otherwise register it, which is the
8
+ * test-fake seam (see testing.md).
9
+ */
10
+ container?: IContainer;
3
11
  config?: ConfigModule;
12
+ /**
13
+ * The HTTP module to run instead of the default one, which is how a
14
+ * caller composes something else onto the same listener: `HTTPModule`
15
+ * takes a `mount` callback that runs INSIDE its own `setup()`, after its
16
+ * controllers and before its error middleware, so a caller's routes land
17
+ * exactly where a console's have to (see `HTTPModuleOptions.mount`).
18
+ */
19
+ http?: IModule;
4
20
  };
5
21
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/app/types.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,MAAM,MAAM,wBAAwB,GAAG;IACnC,MAAM,CAAC,EAAE,YAAY,CAAC;CACzB,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/app/types.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACrC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAExC,MAAM,MAAM,wBAAwB,GAAG;IACnC;;;;OAIG;IACH,SAAS,CAAC,EAAE,UAAU,CAAC;IACvB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,OAAO,CAAA;CACjB,CAAC"}
@@ -0,0 +1,40 @@
1
+ import type { ParsedArgs } from 'citty';
2
+ import type { ConfigReadFsOptions } from '@authup/server-config';
3
+ import type { Config } from '../../app/index.ts';
4
+ import { ConfigModule } from '../../app/index.ts';
5
+ import type { CLIConfigArgs } from './types.ts';
6
+ export declare const CLI_CONFIG_ARGS: {
7
+ configDirectory: {
8
+ type: "string";
9
+ description: string;
10
+ };
11
+ configFile: {
12
+ type: "string";
13
+ description: string;
14
+ };
15
+ };
16
+ export declare function applyCLIConfigArgs(options: ConfigReadFsOptions<Config>, args: CLIConfigArgs): ConfigReadFsOptions<Config>;
17
+ export declare function createCLIConfigModule(options?: ConfigReadFsOptions<Config>): ConfigModule;
18
+ /**
19
+ * Refuse a positional after a command that takes none, on the ROOT args
20
+ * (`_` = [command, ...positionals]), before the subcommand is even resolved.
21
+ * citty validates nothing here: a positional's `options` are decorative.
22
+ *
23
+ * The set is the caller's, because two CLIs share this helper and disagree
24
+ * about which commands take a positional: the default is this package's own
25
+ * dev CLI, whose `start` takes none, while the `authup` CLI's `start` takes a
26
+ * role and validates it itself.
27
+ */
28
+ export declare function assertNoStrayPositionals(args: Pick<ParsedArgs, '_'>, commands?: ReadonlySet<string>): void;
29
+ /**
30
+ * The raw ValidupError message is a generic "Property <path> is invalid" and
31
+ * names no reason, so every issue is rendered instead. Same shape as the
32
+ * provisioning file loader.
33
+ *
34
+ * Anything else is rendered with its cause chain: confinity wraps a parse
35
+ * failure so that the file is always named, which leaves the reason (the line
36
+ * and column a YAML parser reports) one level down. The stack is deliberately
37
+ * left out, unlike the log-side describeError.
38
+ */
39
+ export declare function describeConfigError(error: unknown): string;
40
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/config.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAW,UAAU,EAAE,MAAM,OAAO,CAAC;AAGjD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EACH,YAAY,EAEf,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,eAAO,MAAM,eAAe;;;;;;;;;CAST,CAAC;AAEpB,wBAAgB,kBAAkB,CAC9B,OAAO,EAAE,mBAAmB,CAAC,MAAM,CAAC,EACpC,IAAI,EAAE,aAAa,GACnB,mBAAmB,CAAC,MAAM,CAAC,CAU9B;AAED,wBAAgB,qBAAqB,CAAC,OAAO,GAAE,mBAAmB,CAAC,MAAM,CAAM,GAAI,YAAY,CAK9F;AAID;;;;;;;;;GASG;AACH,wBAAgB,wBAAwB,CACpC,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,EAC3B,QAAQ,GAAE,WAAW,CAAC,MAAM,CAAoC,GAChE,IAAI,CAQP;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAI,MAAM,CAc3D"}
@@ -0,0 +1,65 @@
1
+ import "node:path";
2
+ import "node:url";
3
+ import.meta.url;
4
+ import { describeCauseChain } from "../../utils/error.mjs";
5
+ import "../../utils/index.mjs";
6
+ import { readConfig } from "../../app/modules/config/read.mjs";
7
+ import { ConfigModule } from "../../app/modules/config/module.mjs";
8
+ import "../../app/index.mjs";
9
+ import { isValidupError, stringifyPath } from "validup";
10
+ //#region src/cli/commands/config.ts
11
+ const CLI_CONFIG_ARGS = {
12
+ configDirectory: {
13
+ type: "string",
14
+ description: "Config directory path"
15
+ },
16
+ configFile: {
17
+ type: "string",
18
+ description: "Name of one or more configuration files."
19
+ }
20
+ };
21
+ function applyCLIConfigArgs(options, args) {
22
+ if (args.configDirectory) options.cwd = args.configDirectory;
23
+ if (args.configFile) options.file = args.configFile;
24
+ return options;
25
+ }
26
+ function createCLIConfigModule(options = {}) {
27
+ return new ConfigModule(() => readConfig({
28
+ env: true,
29
+ fs: options
30
+ }));
31
+ }
32
+ const CLI_COMMANDS_WITHOUT_POSITIONALS = /* @__PURE__ */ new Set(["start"]);
33
+ /**
34
+ * Refuse a positional after a command that takes none, on the ROOT args
35
+ * (`_` = [command, ...positionals]), before the subcommand is even resolved.
36
+ * citty validates nothing here: a positional's `options` are decorative.
37
+ *
38
+ * The set is the caller's, because two CLIs share this helper and disagree
39
+ * about which commands take a positional: the default is this package's own
40
+ * dev CLI, whose `start` takes none, while the `authup` CLI's `start` takes a
41
+ * role and validates it itself.
42
+ */ function assertNoStrayPositionals(args, commands = CLI_COMMANDS_WITHOUT_POSITIONALS) {
43
+ const [command, ...rest] = args._;
44
+ if (!command || !commands.has(command) || rest.length === 0) return;
45
+ throw new Error(`Unexpected argument "${rest[0]}" for command "${command}".`);
46
+ }
47
+ /**
48
+ * The raw ValidupError message is a generic "Property <path> is invalid" and
49
+ * names no reason, so every issue is rendered instead. Same shape as the
50
+ * provisioning file loader.
51
+ *
52
+ * Anything else is rendered with its cause chain: confinity wraps a parse
53
+ * failure so that the file is always named, which leaves the reason (the line
54
+ * and column a YAML parser reports) one level down. The stack is deliberately
55
+ * left out, unlike the log-side describeError.
56
+ */ function describeConfigError(error) {
57
+ if (isValidupError(error)) return `The configuration is invalid.\n${error.issues.map((issue) => ` ${stringifyPath(issue.path)}: ${issue.message}`).join("\n")}`;
58
+ const message = error instanceof Error ? error.message : String(error);
59
+ const causes = describeCauseChain(error);
60
+ return causes ? `${message}\n cause: ${causes}` : message;
61
+ }
62
+ //#endregion
63
+ export { CLI_CONFIG_ARGS, applyCLIConfigArgs, assertNoStrayPositionals, createCLIConfigModule, describeConfigError };
64
+
65
+ //# sourceMappingURL=config.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.mjs","names":["isValidupError","stringifyPath","describeCauseChain","ConfigModule","readConfig","CLI_CONFIG_ARGS","configDirectory","type","description","configFile","applyCLIConfigArgs","options","args","cwd","file","createCLIConfigModule","env","fs","CLI_COMMANDS_WITHOUT_POSITIONALS","Set","assertNoStrayPositionals","commands","command","rest","_","has","length","Error","describeConfigError","error","issues","map","issue","path","message","join","String","causes"],"sources":["../../../src/cli/commands/config.ts"],"sourcesContent":["/*\n * Copyright (c) 2026.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { ArgsDef, ParsedArgs } from 'citty';\nimport { isValidupError, stringifyPath } from 'validup';\nimport { describeCauseChain } from '../../utils/index.ts';\nimport type { ConfigReadFsOptions } from '@authup/server-config';\nimport type { Config } from '../../app/index.ts';\nimport {\n ConfigModule,\n readConfig,\n} from '../../app/index.ts';\nimport type { CLIConfigArgs } from './types.ts';\n\nexport const CLI_CONFIG_ARGS = {\n configDirectory: {\n type: 'string',\n description: 'Config directory path',\n },\n configFile: {\n type: 'string',\n description: 'Name of one or more configuration files.',\n },\n} satisfies ArgsDef;\n\nexport function applyCLIConfigArgs(\n options: ConfigReadFsOptions<Config>,\n args: CLIConfigArgs,\n) : ConfigReadFsOptions<Config> {\n if (args.configDirectory) {\n options.cwd = args.configDirectory;\n }\n\n if (args.configFile) {\n options.file = args.configFile;\n }\n\n return options;\n}\n\nexport function createCLIConfigModule(options: ConfigReadFsOptions<Config> = {}) : ConfigModule {\n return new ConfigModule(() => readConfig({\n env: true,\n fs: options,\n }));\n}\n\nconst CLI_COMMANDS_WITHOUT_POSITIONALS : ReadonlySet<string> = new Set(['start']);\n\n/**\n * Refuse a positional after a command that takes none, on the ROOT args\n * (`_` = [command, ...positionals]), before the subcommand is even resolved.\n * citty validates nothing here: a positional's `options` are decorative.\n *\n * The set is the caller's, because two CLIs share this helper and disagree\n * about which commands take a positional: the default is this package's own\n * dev CLI, whose `start` takes none, while the `authup` CLI's `start` takes a\n * role and validates it itself.\n */\nexport function assertNoStrayPositionals(\n args: Pick<ParsedArgs, '_'>,\n commands: ReadonlySet<string> = CLI_COMMANDS_WITHOUT_POSITIONALS,\n) : void {\n const [command, ...rest] = args._;\n\n if (!command || !commands.has(command) || rest.length === 0) {\n return;\n }\n\n throw new Error(`Unexpected argument \"${rest[0]}\" for command \"${command}\".`);\n}\n\n/**\n * The raw ValidupError message is a generic \"Property <path> is invalid\" and\n * names no reason, so every issue is rendered instead. Same shape as the\n * provisioning file loader.\n *\n * Anything else is rendered with its cause chain: confinity wraps a parse\n * failure so that the file is always named, which leaves the reason (the line\n * and column a YAML parser reports) one level down. The stack is deliberately\n * left out, unlike the log-side describeError.\n */\nexport function describeConfigError(error: unknown) : string {\n if (isValidupError(error)) {\n const issues = error.issues\n .map((issue) => ` ${stringifyPath(issue.path)}: ${issue.message}`)\n .join('\\n');\n\n return `The configuration is invalid.\\n${issues}`;\n }\n\n const message = error instanceof Error ? error.message : String(error);\n\n const causes = describeCauseChain(error);\n\n return causes ? `${message}\\n cause: ${causes}` : message;\n}\n"],"mappings":";;;;;;;;;;AAkBA,MAAaK,kBAAkB;CAC3BC,iBAAiB;EACbC,MAAM;EACNC,aAAa;CACjB;CACAC,YAAY;EACRF,MAAM;EACNC,aAAa;CACjB;AACJ;AAEA,SAAgBE,mBACZC,SACAC,MAAmB;CAEnB,IAAIA,KAAKN,iBACLK,QAAQE,MAAMD,KAAKN;CAGvB,IAAIM,KAAKH,YACLE,QAAQG,OAAOF,KAAKH;CAGxB,OAAOE;AACX;AAEA,SAAgBI,sBAAsBJ,UAAuC,CAAC,GAAC;CAC3E,OAAO,IAAIR,mBAAmBC,WAAW;EACrCY,KAAK;EACLC,IAAIN;CACR,CAAA,CAAA;AACJ;AAEA,MAAMO,mDAAyD,IAAIC,IAAI,CAAC,OAAQ,CAAA;;;;;;;;;;GAYhF,SAAgBC,yBACZR,MACAS,WAAgCH,kCAAgC;CAEhE,MAAM,CAACI,SAAS,GAAGC,QAAQX,KAAKY;CAEhC,IAAI,CAACF,WAAW,CAACD,SAASI,IAAIH,OAAAA,KAAYC,KAAKG,WAAW,GACtD;CAGJ,MAAM,IAAIC,MAAM,wBAAwBJ,KAAK,GAAG,iBAAiBD,QAAQ,GAAG;AAChF;;;;;;;;;;GAYA,SAAgBM,oBAAoBC,OAAc;CAC9C,IAAI7B,eAAe6B,KAAAA,GAKf,OAAO,kCAJQA,MAAMC,OAChBC,KAAKC,UAAU,KAAK/B,cAAc+B,MAAMC,IAAI,EAAE,IAAID,MAAME,SAAS,CAAA,CACjEC,KAAK,IAE+BL;CAG7C,MAAMI,UAAUL,iBAAiBF,QAAQE,MAAMK,UAAUE,OAAOP,KAAAA;CAEhE,MAAMQ,SAASnC,mBAAmB2B,KAAAA;CAElC,OAAOQ,SAAS,GAAGH,QAAQ,aAAaG,WAAWH;AACvD"}
@@ -1,3 +1,4 @@
1
- import type { ConfigReadFsOptions } from '../../app/index.ts';
2
- export declare function defineCLIHealthCheckCommand(configFs?: ConfigReadFsOptions): import("citty").CommandDef<import("citty").ArgsDef>;
1
+ import type { ConfigReadFsOptions } from '@authup/server-config';
2
+ import type { Config } from '../../app/index.ts';
3
+ export declare function defineCLIHealthCheckCommand(configFs?: ConfigReadFsOptions<Config>): import("citty").CommandDef<import("citty").ArgsDef>;
3
4
  //# sourceMappingURL=healthcheck.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"healthcheck.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/healthcheck.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAI9D,wBAAgB,2BAA2B,CAAC,QAAQ,GAAE,mBAAwB,uDAmC7E"}
1
+ {"version":3,"file":"healthcheck.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/healthcheck.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAIjD,wBAAgB,2BAA2B,CAAC,QAAQ,GAAE,mBAAmB,CAAC,MAAM,CAAM,uDAmCrF"}
@@ -4,14 +4,17 @@ import.meta.url;
4
4
  import { ConfigInjectionKey } from "../../app/modules/config/constants.mjs";
5
5
  import { ApplicationBuilder } from "../../app/builder.mjs";
6
6
  import "../../app/index.mjs";
7
- import { createCLIConfigModule } from "../config.mjs";
8
- import process from "node:process";
7
+ import { createCLIConfigModule } from "./config.mjs";
9
8
  import { defineCommand } from "citty";
10
9
  import http from "node:http";
10
+ import process from "node:process";
11
11
  //#region src/cli/commands/healthcheck.ts
12
12
  function defineCLIHealthCheckCommand(configFs = {}) {
13
13
  return defineCommand({
14
- meta: { name: "healthcheck" },
14
+ meta: {
15
+ name: "healthcheck",
16
+ description: "Probe the API listener and exit non-zero when it does not answer."
17
+ },
15
18
  async setup() {
16
19
  const app = new ApplicationBuilder().withConfig(createCLIConfigModule(configFs)).build();
17
20
  await app.setup();
@@ -1 +1 @@
1
- {"version":3,"file":"healthcheck.mjs","names":["defineCommand","http","process","ApplicationBuilder","ConfigInjectionKey","createCLIConfigModule","defineCLIHealthCheckCommand","configFs","meta","name","setup","app","withConfig","build","config","container","resolve","healthCheck","request","path","host","port","timeout","res","statusCode","exit","on","end"],"sources":["../../../src/cli/commands/healthcheck.ts"],"sourcesContent":["/*\n * Copyright (c) 2021-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 { defineCommand } from 'citty';\nimport http from 'node:http';\nimport process from 'node:process';\nimport type { ConfigReadFsOptions } from '../../app/index.ts';\nimport { ApplicationBuilder, ConfigInjectionKey } from '../../app/index.ts';\nimport { createCLIConfigModule } from '../config.ts';\n\nexport function defineCLIHealthCheckCommand(configFs: ConfigReadFsOptions = {}) {\n return defineCommand({\n meta: { name: 'healthcheck' },\n async setup() {\n const app = new ApplicationBuilder()\n .withConfig(createCLIConfigModule(configFs))\n .build();\n\n await app.setup();\n\n const config = app.container.resolve(ConfigInjectionKey);\n\n const healthCheck = http.request(\n {\n path: '/metrics',\n host: '0.0.0.0',\n port: config.port,\n timeout: 2000,\n },\n (res) => {\n if (res.statusCode === 200) {\n process.exit(0);\n } else {\n process.exit(1);\n }\n },\n );\n\n healthCheck.on('error', () => {\n process.exit(1);\n });\n\n healthCheck.end();\n },\n });\n}\n"],"mappings":";;;;;;;;;;;AAcA,SAAgBM,4BAA4BC,WAAgC,CAAC,GAAC;CAC1E,OAAOP,cAAc;EACjBQ,MAAM,EAAEC,MAAM,cAAc;EAC5B,MAAMC,QAAAA;GACF,MAAMC,MAAM,IAAIR,mBAAAA,CAAAA,CACXS,WAAWP,sBAAsBE,QAAAA,CAAAA,CAAAA,CACjCM,MAAK;GAEV,MAAMF,IAAID,MAAK;GAEf,MAAMI,SAASH,IAAII,UAAUC,QAAQZ,kBAAAA;GAErC,MAAMa,cAAchB,KAAKiB,QACrB;IACIC,MAAM;IACNC,MAAM;IACNC,MAAMP,OAAOO;IACbC,SAAS;GACb,IACCC,QAAAA;IACG,IAAIA,IAAIC,eAAe,KACnBtB,QAAQuB,KAAK,CAAA;SAEbvB,QAAQuB,KAAK,CAAA;GAErB,CAAA;GAGJR,YAAYS,GAAG,eAAS;IACpBxB,QAAQuB,KAAK,CAAA;GACjB,CAAA;GAEAR,YAAYU,IAAG;EACnB;CACJ,CAAA;AACJ"}
1
+ {"version":3,"file":"healthcheck.mjs","names":["defineCommand","http","process","ApplicationBuilder","ConfigInjectionKey","createCLIConfigModule","defineCLIHealthCheckCommand","configFs","meta","name","description","setup","app","withConfig","build","config","container","resolve","healthCheck","request","path","host","port","timeout","res","statusCode","exit","on","end"],"sources":["../../../src/cli/commands/healthcheck.ts"],"sourcesContent":["/*\n * Copyright (c) 2021-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 { defineCommand } from 'citty';\nimport http from 'node:http';\nimport process from 'node:process';\nimport type { ConfigReadFsOptions } from '@authup/server-config';\nimport type { Config } from '../../app/index.ts';\nimport { ApplicationBuilder, ConfigInjectionKey } from '../../app/index.ts';\nimport { createCLIConfigModule } from './config.ts';\n\nexport function defineCLIHealthCheckCommand(configFs: ConfigReadFsOptions<Config> = {}) {\n return defineCommand({\n meta: { name: 'healthcheck', description: 'Probe the API listener and exit non-zero when it does not answer.' },\n async setup() {\n const app = new ApplicationBuilder()\n .withConfig(createCLIConfigModule(configFs))\n .build();\n\n await app.setup();\n\n const config = app.container.resolve(ConfigInjectionKey);\n\n const healthCheck = http.request(\n {\n path: '/metrics',\n host: '0.0.0.0',\n port: config.port,\n timeout: 2000,\n },\n (res) => {\n if (res.statusCode === 200) {\n process.exit(0);\n } else {\n process.exit(1);\n }\n },\n );\n\n healthCheck.on('error', () => {\n process.exit(1);\n });\n\n healthCheck.end();\n },\n });\n}\n"],"mappings":";;;;;;;;;;;AAeA,SAAgBM,4BAA4BC,WAAwC,CAAC,GAAC;CAClF,OAAOP,cAAc;EACjBQ,MAAM;GAAEC,MAAM;GAAeC,aAAa;EAAoE;EAC9G,MAAMC,QAAAA;GACF,MAAMC,MAAM,IAAIT,mBAAAA,CAAAA,CACXU,WAAWR,sBAAsBE,QAAAA,CAAAA,CAAAA,CACjCO,MAAK;GAEV,MAAMF,IAAID,MAAK;GAEf,MAAMI,SAASH,IAAII,UAAUC,QAAQb,kBAAAA;GAErC,MAAMc,cAAcjB,KAAKkB,QACrB;IACIC,MAAM;IACNC,MAAM;IACNC,MAAMP,OAAOO;IACbC,SAAS;GACb,IACCC,QAAAA;IACG,IAAIA,IAAIC,eAAe,KACnBvB,QAAQwB,KAAK,CAAA;SAEbxB,QAAQwB,KAAK,CAAA;GAErB,CAAA;GAGJR,YAAYS,GAAG,eAAS;IACpBzB,QAAQwB,KAAK,CAAA;GACjB,CAAA;GAEAR,YAAYU,IAAG;EACnB;CACJ,CAAA;AACJ"}
@@ -1,4 +1,7 @@
1
+ export * from './config.ts';
1
2
  export * from './healthcheck.ts';
2
3
  export * from './migration.ts';
4
+ export * from './shutdown.ts';
3
5
  export * from './start.ts';
6
+ export * from './types.ts';
4
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/index.ts"],"names":[],"mappings":"AAOA,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/index.ts"],"names":[],"mappings":"AAOA,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC"}
@@ -1,7 +1,9 @@
1
1
  import "node:path";
2
2
  import "node:url";
3
3
  import.meta.url;
4
+ import { CLI_CONFIG_ARGS, applyCLIConfigArgs, assertNoStrayPositionals, createCLIConfigModule, describeConfigError } from "./config.mjs";
4
5
  import { defineCLIHealthCheckCommand } from "./healthcheck.mjs";
5
6
  import { defineCLIMigrationCommand } from "./migration.mjs";
7
+ import { registerShutdownHandlers } from "./shutdown.mjs";
6
8
  import { defineCLIStartCommand } from "./start.mjs";
7
- export { defineCLIHealthCheckCommand, defineCLIMigrationCommand, defineCLIStartCommand };
9
+ export { CLI_CONFIG_ARGS, applyCLIConfigArgs, assertNoStrayPositionals, createCLIConfigModule, defineCLIHealthCheckCommand, defineCLIMigrationCommand, defineCLIStartCommand, describeConfigError, registerShutdownHandlers };
@@ -1,17 +1,10 @@
1
- import type { ConfigReadFsOptions } from '../../app/index.ts';
2
- declare enum MigrationOperation {
3
- GENERATE = "generate",
4
- REVERT = "revert",
5
- STATUS = "status",
6
- RUN = "run"
7
- }
8
- export declare function defineCLIMigrationCommand(configFs?: ConfigReadFsOptions): import("citty").CommandDef<{
1
+ import type { ConfigReadFsOptions } from '@authup/server-config';
2
+ import type { Config } from '../../app/index.ts';
3
+ export declare function defineCLIMigrationCommand(configFs?: ConfigReadFsOptions<Config>): import("citty").CommandDef<{
9
4
  readonly operation: {
10
5
  readonly required: true;
11
6
  readonly type: "positional";
12
- readonly options: MigrationOperation[];
13
7
  readonly valueHint: string;
14
8
  };
15
9
  }>;
16
- export {};
17
10
  //# sourceMappingURL=migration.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"migration.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/migration.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAW9D,aAAK,kBAAkB;IACnB,QAAQ,aAAa;IACrB,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,GAAG,QAAQ;CACd;AAsID,wBAAgB,yBAAyB,CAAC,QAAQ,GAAE,mBAAwB;;;;;;;GAyC3E"}
1
+ {"version":3,"file":"migration.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/migration.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AA+JjD,wBAAgB,yBAAyB,CAAC,QAAQ,GAAE,mBAAmB,CAAC,MAAM,CAAM;;;;;;GA+CnF"}
@@ -3,18 +3,18 @@ import "node:url";
3
3
  import.meta.url;
4
4
  import { ModuleName } from "../../app/modules/constants.mjs";
5
5
  import { ConfigInjectionKey } from "../../app/modules/config/constants.mjs";
6
- import { DataSourceOptionsBuilder } from "../../adapters/database/data-source/options/module.mjs";
7
- import "../../adapters/database/index.mjs";
8
6
  import { LoggerInjectionKey } from "../../app/modules/logger/constants.mjs";
9
7
  import { CODE_PATH } from "../../path.mjs";
8
+ import { DataSourceOptionsBuilder } from "../../adapters/database/data-source/options/module.mjs";
9
+ import "../../adapters/database/index.mjs";
10
10
  import { ApplicationBuilder } from "../../app/builder.mjs";
11
11
  import "../../app/index.mjs";
12
- import { createCLIConfigModule } from "../config.mjs";
12
+ import { createCLIConfigModule } from "./config.mjs";
13
13
  import { DataSource } from "typeorm";
14
14
  import { checkDatabase, createDatabase, dropDatabase, generateMigration, transformFilePath } from "typeorm-extension";
15
15
  import path from "node:path";
16
- import process from "node:process";
17
16
  import { defineCommand } from "citty";
17
+ import process from "node:process";
18
18
  //#region src/cli/commands/migration.ts
19
19
  var MigrationOperation = /*#__PURE__*/ function(MigrationOperation) {
20
20
  MigrationOperation["GENERATE"] = "generate";
@@ -23,6 +23,10 @@ var MigrationOperation = /*#__PURE__*/ function(MigrationOperation) {
23
23
  MigrationOperation["RUN"] = "run";
24
24
  return MigrationOperation;
25
25
  }(MigrationOperation || {});
26
+ const OPERATIONS = Object.values(MigrationOperation);
27
+ function isMigrationOperation(value) {
28
+ return OPERATIONS.includes(value);
29
+ }
26
30
  async function runMigrationOperation(container, operation) {
27
31
  const config = container.resolve(ConfigInjectionKey);
28
32
  const logger = container.resolve(LoggerInjectionKey);
@@ -110,23 +114,27 @@ async function generateMigrations() {
110
114
  }
111
115
  function defineCLIMigrationCommand(configFs = {}) {
112
116
  return defineCommand({
113
- meta: { name: "migration" },
117
+ meta: {
118
+ name: "migration",
119
+ description: "Apply, revert or generate the database migrations."
120
+ },
114
121
  args: { operation: {
115
122
  required: true,
116
123
  type: "positional",
117
- options: Object.values(MigrationOperation),
118
- valueHint: Object.values(MigrationOperation).join("|")
124
+ valueHint: OPERATIONS.join("|")
119
125
  } },
120
126
  async setup(context) {
127
+ const { operation } = context.args;
128
+ if (!isMigrationOperation(operation)) throw new Error(`Unknown migration operation "${operation}". Expected one of: ${OPERATIONS.join(", ")}.`);
121
129
  try {
122
- if (context.args.operation === "generate") await generateMigrations();
130
+ if (operation === "generate") await generateMigrations();
123
131
  else {
124
132
  const app = new ApplicationBuilder().withConfig(createCLIConfigModule(configFs)).withLogger().build();
125
133
  app.addModule({
126
134
  name: ModuleName.DATABASE,
127
135
  dependencies: [ModuleName.CONFIG, ModuleName.LOGGER],
128
136
  async setup(container) {
129
- await runMigrationOperation(container, context.args.operation);
137
+ await runMigrationOperation(container, operation);
130
138
  }
131
139
  });
132
140
  await app.setup();
@@ -1 +1 @@
1
- {"version":3,"file":"migration.mjs","names":["defineCommand","path","process","checkDatabase","createDatabase","dropDatabase","generateMigration","transformFilePath","DataSource","DataSourceOptionsBuilder","ApplicationBuilder","ConfigInjectionKey","LoggerInjectionKey","ModuleName","CODE_PATH","createCLIConfigModule","MigrationOperation","runMigrationOperation","container","operation","config","resolve","logger","optionsBuilder","options","db","buildWith","buildWithEnv","debug","type","database","Array","isArray","migrations","i","length","check","exists","synchronize","ifNotExist","dataSource","logging","initialize","undoLastMigration","showMigrations","runMigrations","isInitialized","destroy","e","error","generateMigrations","connections","host","port","username","password","baseDirectory","join","timestamp","Date","now","connection","dataSourceOptions","directoryPath","name","prettify","console","defineCLIMigrationCommand","configFs","meta","args","required","Object","values","valueHint","setup","context","app","withConfig","withLogger","build","addModule","DATABASE","dependencies","CONFIG","LOGGER","exit"],"sources":["../../../src/cli/commands/migration.ts"],"sourcesContent":["/*\n * Copyright (c) 2022.\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 { defineCommand } from 'citty';\nimport path from 'node:path';\nimport process from 'node:process';\nimport {\n checkDatabase,\n createDatabase, \n dropDatabase, \n generateMigration, \n transformFilePath,\n} from 'typeorm-extension';\nimport { DataSource, type DataSourceOptions } from 'typeorm';\nimport { DataSourceOptionsBuilder } from '../../adapters/database/index.ts';\nimport type { ConfigReadFsOptions } from '../../app/index.ts';\nimport {\n ApplicationBuilder,\n ConfigInjectionKey,\n LoggerInjectionKey,\n ModuleName,\n} from '../../app/index.ts';\nimport type { IContainer } from 'eldin';\nimport { CODE_PATH } from '../../path.ts';\nimport { createCLIConfigModule } from '../config.ts';\n\nenum MigrationOperation {\n GENERATE = 'generate',\n REVERT = 'revert',\n STATUS = 'status',\n RUN = 'run',\n}\n\nasync function runMigrationOperation(\n container: IContainer,\n operation: string,\n): Promise<void> {\n const config = container.resolve(ConfigInjectionKey);\n const logger = container.resolve(LoggerInjectionKey);\n\n const optionsBuilder = new DataSourceOptionsBuilder();\n\n let options: DataSourceOptions;\n if (config.db) {\n options = optionsBuilder.buildWith(config.db);\n } else {\n options = optionsBuilder.buildWithEnv();\n }\n\n logger.debug(`Type: ${options.type}`);\n logger.debug(`Database: ${options.database}`);\n\n if (Array.isArray(options.migrations)) {\n for (let i = 0; i < options.migrations.length; i++) {\n if (typeof options.migrations[i] === 'string') {\n logger.debug(`Migration-Directory: ${options.migrations[i]}`);\n }\n }\n } else if (typeof options.migrations === 'string') {\n logger.debug(`Migration-Directory: ${options.migrations}`);\n }\n\n const check = await checkDatabase({ options });\n\n if (!check.exists) {\n await createDatabase({\n options,\n synchronize: false,\n ifNotExist: true, \n });\n }\n\n const dataSource = new DataSource({\n ...options,\n logging: ['error', 'schema', 'migration'],\n });\n\n try {\n await dataSource.initialize();\n\n if (operation === MigrationOperation.REVERT) {\n await dataSource.undoLastMigration();\n } else if (operation === MigrationOperation.STATUS) {\n await dataSource.showMigrations();\n } else {\n await dataSource.runMigrations();\n }\n } finally {\n if (dataSource.isInitialized) {\n try {\n await dataSource.destroy();\n } catch (e) {\n logger.error(`Failed to destroy data source after migration operation: ${e}`);\n }\n }\n }\n}\n\nasync function generateMigrations(): Promise<void> {\n const optionsBuilder = new DataSourceOptionsBuilder();\n\n const connections: DataSourceOptions[] = [\n {\n type: 'postgres',\n database: 'migrations',\n host: 'localhost',\n port: 5432,\n username: 'postgres',\n password: 'start123',\n },\n {\n type: 'mysql',\n database: 'migrations',\n host: 'localhost',\n port: 3306,\n username: 'root',\n password: 'start123',\n },\n ];\n\n const baseDirectory = transformFilePath(\n path.join(CODE_PATH, 'adapters', 'database', 'migrations'),\n './src',\n './dist',\n );\n\n const timestamp = Date.now();\n\n for (const connection of connections) {\n const dataSourceOptions = optionsBuilder.buildWith(connection);\n const directoryPath = path.join(baseDirectory, dataSourceOptions.type);\n\n await dropDatabase({ options: dataSourceOptions });\n await createDatabase({\n options: dataSourceOptions,\n synchronize: false, \n });\n\n const dataSource = new DataSource(dataSourceOptions);\n\n try {\n await dataSource.initialize();\n\n await dataSource.runMigrations();\n\n await generateMigration({\n dataSource,\n name: 'Default',\n directoryPath,\n timestamp,\n prettify: true,\n });\n } finally {\n if (dataSource.isInitialized) {\n try {\n await dataSource.destroy();\n } catch (e) {\n // eslint-disable-next-line no-console\n console.error(e);\n }\n }\n }\n }\n}\n\nexport function defineCLIMigrationCommand(configFs: ConfigReadFsOptions = {}) {\n return defineCommand({\n meta: { name: 'migration' },\n args: {\n operation: {\n required: true,\n type: 'positional',\n options: Object.values(MigrationOperation),\n valueHint: Object.values(MigrationOperation).join('|'),\n },\n },\n async setup(context) {\n try {\n if (context.args.operation === MigrationOperation.GENERATE) {\n await generateMigrations();\n } else {\n const app = new ApplicationBuilder()\n .withConfig(createCLIConfigModule(configFs))\n .withLogger()\n .build();\n\n app.addModule({\n name: ModuleName.DATABASE,\n dependencies: [ModuleName.CONFIG, ModuleName.LOGGER],\n async setup(container: IContainer): Promise<void> {\n await runMigrationOperation(container, context.args.operation);\n },\n });\n\n await app.setup();\n }\n\n process.exit(0);\n } catch (e) {\n // eslint-disable-next-line no-console\n console.error(e);\n\n process.exit(1);\n }\n },\n });\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"migration.mjs","names":["defineCommand","path","process","checkDatabase","createDatabase","dropDatabase","generateMigration","transformFilePath","DataSource","DataSourceOptionsBuilder","ApplicationBuilder","ConfigInjectionKey","LoggerInjectionKey","ModuleName","CODE_PATH","createCLIConfigModule","MigrationOperation","OPERATIONS","Object","values","isMigrationOperation","value","includes","runMigrationOperation","container","operation","config","resolve","logger","optionsBuilder","options","db","buildWith","buildWithEnv","debug","type","database","Array","isArray","migrations","i","length","check","exists","synchronize","ifNotExist","dataSource","logging","initialize","undoLastMigration","showMigrations","runMigrations","isInitialized","destroy","e","error","generateMigrations","connections","host","port","username","password","baseDirectory","join","timestamp","Date","now","connection","dataSourceOptions","directoryPath","name","prettify","console","defineCLIMigrationCommand","configFs","meta","description","args","required","valueHint","setup","context","Error","app","withConfig","withLogger","build","addModule","DATABASE","dependencies","CONFIG","LOGGER","exit"],"sources":["../../../src/cli/commands/migration.ts"],"sourcesContent":["/*\n * Copyright (c) 2022.\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 { defineCommand } from 'citty';\nimport path from 'node:path';\nimport process from 'node:process';\nimport {\n checkDatabase,\n createDatabase,\n dropDatabase,\n generateMigration,\n transformFilePath,\n} from 'typeorm-extension';\nimport { DataSource, type DataSourceOptions } from 'typeorm';\nimport { DataSourceOptionsBuilder } from '../../adapters/database/index.ts';\nimport type { ConfigReadFsOptions } from '@authup/server-config';\nimport type { Config } from '../../app/index.ts';\nimport {\n ApplicationBuilder,\n ConfigInjectionKey,\n LoggerInjectionKey,\n ModuleName,\n} from '../../app/index.ts';\nimport type { IContainer } from 'eldin';\nimport { CODE_PATH } from '../../path.ts';\nimport { createCLIConfigModule } from './config.ts';\n\nenum MigrationOperation {\n GENERATE = 'generate',\n REVERT = 'revert',\n STATUS = 'status',\n RUN = 'run',\n}\n\nconst OPERATIONS = Object.values(MigrationOperation);\n\nfunction isMigrationOperation(value: string) : value is MigrationOperation {\n return (OPERATIONS as string[]).includes(value);\n}\n\nasync function runMigrationOperation(\n container: IContainer,\n operation: MigrationOperation,\n): Promise<void> {\n const config = container.resolve(ConfigInjectionKey);\n const logger = container.resolve(LoggerInjectionKey);\n\n const optionsBuilder = new DataSourceOptionsBuilder();\n\n let options: DataSourceOptions;\n if (config.db) {\n // the configuration surface is deliberately untyped: `db` is authup's\n // own loose shape, so the driver union is applied here, at the\n // boundary where the value reaches typeorm.\n options = optionsBuilder.buildWith(config.db as DataSourceOptions);\n } else {\n options = optionsBuilder.buildWithEnv();\n }\n\n logger.debug(`Type: ${options.type}`);\n logger.debug(`Database: ${options.database}`);\n\n if (Array.isArray(options.migrations)) {\n for (let i = 0; i < options.migrations.length; i++) {\n if (typeof options.migrations[i] === 'string') {\n logger.debug(`Migration-Directory: ${options.migrations[i]}`);\n }\n }\n } else if (typeof options.migrations === 'string') {\n logger.debug(`Migration-Directory: ${options.migrations}`);\n }\n\n const check = await checkDatabase({ options });\n\n if (!check.exists) {\n await createDatabase({\n options,\n synchronize: false,\n ifNotExist: true,\n });\n }\n\n const dataSource = new DataSource({\n ...options,\n logging: ['error', 'schema', 'migration'],\n });\n\n try {\n await dataSource.initialize();\n\n if (operation === MigrationOperation.REVERT) {\n await dataSource.undoLastMigration();\n } else if (operation === MigrationOperation.STATUS) {\n await dataSource.showMigrations();\n } else {\n await dataSource.runMigrations();\n }\n } finally {\n if (dataSource.isInitialized) {\n try {\n await dataSource.destroy();\n } catch (e) {\n logger.error(`Failed to destroy data source after migration operation: ${e}`);\n }\n }\n }\n}\n\nasync function generateMigrations(): Promise<void> {\n const optionsBuilder = new DataSourceOptionsBuilder();\n\n const connections: DataSourceOptions[] = [\n {\n type: 'postgres',\n database: 'migrations',\n host: 'localhost',\n port: 5432,\n username: 'postgres',\n password: 'start123',\n },\n {\n type: 'mysql',\n database: 'migrations',\n host: 'localhost',\n port: 3306,\n username: 'root',\n password: 'start123',\n },\n ];\n\n const baseDirectory = transformFilePath(\n path.join(CODE_PATH, 'adapters', 'database', 'migrations'),\n './src',\n './dist',\n );\n\n const timestamp = Date.now();\n\n for (const connection of connections) {\n const dataSourceOptions = optionsBuilder.buildWith(connection);\n const directoryPath = path.join(baseDirectory, dataSourceOptions.type);\n\n await dropDatabase({ options: dataSourceOptions });\n await createDatabase({\n options: dataSourceOptions,\n synchronize: false,\n });\n\n const dataSource = new DataSource(dataSourceOptions);\n\n try {\n await dataSource.initialize();\n\n await dataSource.runMigrations();\n\n await generateMigration({\n dataSource,\n name: 'Default',\n directoryPath,\n timestamp,\n prettify: true,\n });\n } finally {\n if (dataSource.isInitialized) {\n try {\n await dataSource.destroy();\n } catch (e) {\n // eslint-disable-next-line no-console\n console.error(e);\n }\n }\n }\n }\n}\n\nexport function defineCLIMigrationCommand(configFs: ConfigReadFsOptions<Config> = {}) {\n return defineCommand({\n meta: { name: 'migration', description: 'Apply, revert or generate the database migrations.' },\n args: {\n operation: {\n required: true,\n type: 'positional',\n valueHint: OPERATIONS.join('|'),\n },\n },\n async setup(context) {\n // citty checks a positional's options nowhere, so an unknown operation\n // used to fall through to `runMigrations` (#3542).\n const { operation } = context.args;\n if (!isMigrationOperation(operation)) {\n throw new Error(`Unknown migration operation \"${operation}\". Expected one of: ${OPERATIONS.join(', ')}.`);\n }\n\n try {\n if (operation === MigrationOperation.GENERATE) {\n await generateMigrations();\n } else {\n const app = new ApplicationBuilder()\n .withConfig(createCLIConfigModule(configFs))\n .withLogger()\n .build();\n\n app.addModule({\n name: ModuleName.DATABASE,\n dependencies: [ModuleName.CONFIG, ModuleName.LOGGER],\n async setup(container: IContainer): Promise<void> {\n await runMigrationOperation(container, operation);\n },\n });\n\n await app.setup();\n }\n\n process.exit(0);\n } catch (e) {\n // eslint-disable-next-line no-console\n console.error(e);\n\n process.exit(1);\n }\n },\n });\n}\n"],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Terminate a long-running application on SIGINT / SIGTERM.
3
+ *
4
+ * The first signal tears the application down and exits with its outcome, a
5
+ * second one exits immediately, and a teardown outlasting the timeout is
6
+ * forced. Every command that keeps a process alive shares this, so a worker
7
+ * answers a container stop exactly like the server does.
8
+ *
9
+ * Typed structurally rather than against orkos' `IApplication`: a console
10
+ * role owns listeners rather than a module graph, and teardown is the whole
11
+ * of what this needs.
12
+ */
13
+ export declare function registerShutdownHandlers(app: {
14
+ teardown(): Promise<unknown>;
15
+ }): void;
16
+ //# sourceMappingURL=shutdown.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shutdown.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/shutdown.ts"],"names":[],"mappings":"AAWA;;;;;;;;;;;GAWG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE;IAAE,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC,CAAA;CAAE,GAAI,IAAI,CAyBrF"}
@@ -0,0 +1,41 @@
1
+ import "node:path";
2
+ import "node:url";
3
+ import.meta.url;
4
+ import process from "node:process";
5
+ //#region src/cli/commands/shutdown.ts
6
+ const FORCE_EXIT_TIMEOUT_MS = 1e4;
7
+ /**
8
+ * Terminate a long-running application on SIGINT / SIGTERM.
9
+ *
10
+ * The first signal tears the application down and exits with its outcome, a
11
+ * second one exits immediately, and a teardown outlasting the timeout is
12
+ * forced. Every command that keeps a process alive shares this, so a worker
13
+ * answers a container stop exactly like the server does.
14
+ *
15
+ * Typed structurally rather than against orkos' `IApplication`: a console
16
+ * role owns listeners rather than a module graph, and teardown is the whole
17
+ * of what this needs.
18
+ */ function registerShutdownHandlers(app) {
19
+ let shuttingDown = false;
20
+ const shutdown = async (signal) => {
21
+ if (shuttingDown) process.exit(1);
22
+ shuttingDown = true;
23
+ setTimeout(() => {
24
+ process.stderr.write(`\n${signal} teardown timed out after ${FORCE_EXIT_TIMEOUT_MS}ms — forcing exit.\n`);
25
+ process.exit(1);
26
+ }, FORCE_EXIT_TIMEOUT_MS).unref();
27
+ try {
28
+ await app.teardown();
29
+ process.exit(0);
30
+ } catch (err) {
31
+ process.stderr.write(`Error during ${signal} teardown: ${err.stack ?? String(err)}\n`);
32
+ process.exit(1);
33
+ }
34
+ };
35
+ process.on("SIGINT", shutdown);
36
+ process.on("SIGTERM", shutdown);
37
+ }
38
+ //#endregion
39
+ export { registerShutdownHandlers };
40
+
41
+ //# sourceMappingURL=shutdown.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shutdown.mjs","names":["process","FORCE_EXIT_TIMEOUT_MS","registerShutdownHandlers","app","shuttingDown","shutdown","signal","exit","force","setTimeout","stderr","write","unref","teardown","err","stack","String","on"],"sources":["../../../src/cli/commands/shutdown.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 process from 'node:process';\n\nconst FORCE_EXIT_TIMEOUT_MS = 10_000;\n\n/**\n * Terminate a long-running application on SIGINT / SIGTERM.\n *\n * The first signal tears the application down and exits with its outcome, a\n * second one exits immediately, and a teardown outlasting the timeout is\n * forced. Every command that keeps a process alive shares this, so a worker\n * answers a container stop exactly like the server does.\n *\n * Typed structurally rather than against orkos' `IApplication`: a console\n * role owns listeners rather than a module graph, and teardown is the whole\n * of what this needs.\n */\nexport function registerShutdownHandlers(app: { teardown(): Promise<unknown> }) : void {\n let shuttingDown = false;\n const shutdown = async (signal: NodeJS.Signals) => {\n if (shuttingDown) {\n process.exit(1);\n }\n shuttingDown = true;\n\n const force = setTimeout(() => {\n process.stderr.write(`\\n${signal} teardown timed out after ${FORCE_EXIT_TIMEOUT_MS}ms — forcing exit.\\n`);\n process.exit(1);\n }, FORCE_EXIT_TIMEOUT_MS);\n force.unref();\n\n try {\n await app.teardown();\n process.exit(0);\n } catch (err) {\n process.stderr.write(`Error during ${signal} teardown: ${(err as Error).stack ?? String(err)}\\n`);\n process.exit(1);\n }\n };\n\n process.on('SIGINT', shutdown);\n process.on('SIGTERM', shutdown);\n}\n"],"mappings":";;;;;AASA,MAAMC,wBAAwB;;;;;;;;;;;;GAc9B,SAAgBC,yBAAyBC,KAAqC;CAC1E,IAAIC,eAAe;CACnB,MAAMC,WAAW,OAAOC,WAAAA;EACpB,IAAIF,cACAJ,QAAQO,KAAK,CAAA;EAEjBH,eAAe;EAMfI,iBAJyB;GACrBR,QAAQU,OAAOC,MAAM,KAAKL,OAAO,4BAA4BL,sBAAsB,qBAAqB;GACxGD,QAAQO,KAAK,CAAA;EACjB,GAAGN,qBACHO,CAAAA,CAAMI,MAAK;EAEX,IAAI;GACA,MAAMT,IAAIU,SAAQ;GAClBb,QAAQO,KAAK,CAAA;EACjB,SAASO,KAAK;GACVd,QAAQU,OAAOC,MAAM,gBAAgBL,OAAO,aAAa,IAAeS,SAASC,OAAOF,GAAAA,EAAK,GAAG;GAChGd,QAAQO,KAAK,CAAA;EACjB;CACJ;CAEAP,QAAQiB,GAAG,UAAUZ,QAAAA;CACrBL,QAAQiB,GAAG,WAAWZ,QAAAA;AAC1B"}
@@ -1,3 +1,4 @@
1
- import type { ConfigReadFsOptions } from '../../app/index.ts';
2
- export declare function defineCLIStartCommand(configFs?: ConfigReadFsOptions): import("citty").CommandDef<import("citty").ArgsDef>;
1
+ import type { Config } from '../../app/index.ts';
2
+ import type { ConfigReadFsOptions } from '@authup/server-config';
3
+ export declare function defineCLIStartCommand(configFs?: ConfigReadFsOptions<Config>): import("citty").CommandDef<import("citty").ArgsDef>;
3
4
  //# sourceMappingURL=start.d.ts.map