@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
@@ -15,6 +15,12 @@ import { AuthupError } from '@authup/errors';
15
15
  * the adapter — this function only assigns a semantic `code`.
16
16
  */
17
17
  export declare function sanitizeError(input: unknown): AuthupError;
18
+ /**
19
+ * The `cause` chain of an error, rendered innermost-last. Exported because a
20
+ * CLI reports the reason without the stack `describeError` carries: a parse
21
+ * failure names the file, and only its cause says what is wrong inside it.
22
+ */
23
+ export declare function describeCauseChain(input: unknown): string | undefined;
18
24
  /**
19
25
  * Render an error for the LOG. It is the counterpart of `@authup/errors`'
20
26
  * `serializeError`, which renders one for the response.
@@ -1 +1 @@
1
- {"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../src/utils/error.ts"],"names":[],"mappings":"AAOA,OAAO,EACH,WAAW,EAKd,MAAM,gBAAgB,CAAC;AAQxB;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,WAAW,CA8FzD;AA0ED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CA8BvE"}
1
+ {"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../src/utils/error.ts"],"names":[],"mappings":"AAOA,OAAO,EACH,WAAW,EAKd,MAAM,gBAAgB,CAAC;AAQxB;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,WAAW,CA8FzD;AAuDD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAiBrE;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CA8BvE"}
@@ -122,7 +122,11 @@ function describeCauseLink(input) {
122
122
  if (details.length > 0) parts.push(`(${details.join(" ")})`);
123
123
  return parts.join(" ");
124
124
  }
125
- function describeCauseChain(input) {
125
+ /**
126
+ * The `cause` chain of an error, rendered innermost-last. Exported because a
127
+ * CLI reports the reason without the stack `describeError` carries: a parse
128
+ * failure names the file, and only its cause says what is wrong inside it.
129
+ */ function describeCauseChain(input) {
126
130
  const links = [];
127
131
  const seen = /* @__PURE__ */ new Set();
128
132
  let current = isObject(input) ? input.cause : void 0;
@@ -163,6 +167,6 @@ function describeCauseChain(input) {
163
167
  return lines.join("\n");
164
168
  }
165
169
  //#endregion
166
- export { describeError, sanitizeError };
170
+ export { describeCauseChain, describeError, sanitizeError };
167
171
 
168
172
  //# sourceMappingURL=error.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"error.mjs","names":["AuthupError","ErrorCode","codeFromHttpStatus","isAuthupError","normalizeError","isHTTPError","isClientError","CodecError","ParseError","EntityRelationLookupError","buildErrorMessageForAttributes","isValidupError","stringifyPath","hasOwnProperty","isObject","sanitizeError","input","code","ENTITY_RELATION_INVALID","message","stack","paths","issues","map","issue","path","BAD_REQUEST","UPSTREAM_ERROR","status","undefined","ENTITY_CONFLICT","STORAGE_INSUFFICIENT","INTERNAL_ERROR","DESCRIBE_BODY_MAX_LENGTH","DESCRIBE_CAUSE_MAX_DEPTH","DESCRIBE_CAUSE_KEYS","describeBody","value","JSON","stringify","String","Object","prototype","toString","call","length","substring","describeCauseLink","error","name","parts","details","key","push","join","describeCauseChain","links","seen","Set","current","cause","has","add","describeError","headline","lines","response","body","data","causes"],"sources":["../../src/utils/error.ts"],"sourcesContent":["/*\n * Copyright (c) 2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport {\n AuthupError,\n ErrorCode,\n codeFromHttpStatus,\n isAuthupError,\n normalizeError,\n} from '@authup/errors';\nimport { isHTTPError } from '@ebec/http';\nimport { isClientError } from 'hapic';\nimport { CodecError, ParseError } from '@rapiq/core';\nimport { EntityRelationLookupError } from 'typeorm-extension';\nimport { buildErrorMessageForAttributes, isValidupError, stringifyPath } from 'validup';\nimport { hasOwnProperty, isObject } from '@authup/kit';\n\n/**\n * Normalize an unknown error to an AuthupError. Recognised shapes:\n *\n * 1. AuthupError instance → returned as-is\n * 2. EntityRelationLookupError → BAD_REQUEST AuthupError\n * 3. validup Issue error → BAD_REQUEST AuthupError carrying issues\n * 4. rapiq ParseError / CodecError → BAD_REQUEST AuthupError (client wire query)\n * 5. hapic ClientError → UPSTREAM_ERROR AuthupError (outbound call)\n * 6. foreign @ebec/http HTTPError → AuthupError with the closest semantic code\n * 7. driver error w/ a recognised code → ENTITY_CONFLICT or STORAGE_INSUFFICIENT\n * 8. anything else → INTERNAL_ERROR AuthupError\n *\n * The HTTP-status concern is handled separately by `httpStatusFromCode` in\n * the adapter — this function only assigns a semantic `code`.\n */\nexport function sanitizeError(input: unknown): AuthupError {\n if (isAuthupError(input)) {\n return input;\n }\n\n if (input instanceof EntityRelationLookupError) {\n return new AuthupError({\n code: ErrorCode.ENTITY_RELATION_INVALID,\n message: input.message,\n stack: input.stack,\n });\n }\n\n if (isValidupError(input)) {\n const paths = input.issues.map((issue) => stringifyPath(issue.path));\n return new AuthupError({\n code: ErrorCode.BAD_REQUEST,\n stack: input.stack,\n message: input.message || buildErrorMessageForAttributes(paths),\n issues: input.issues,\n });\n }\n\n if (input instanceof ParseError || input instanceof CodecError) {\n return new AuthupError({\n code: ErrorCode.BAD_REQUEST,\n message: input.message,\n stack: input.stack,\n });\n }\n\n /**\n * An outbound call failed. This branch MUST precede the `isHTTPError`\n * one below: a hapic `HttpResponseError` extends `BaseError` and carries\n * the upstream `status`, so the duck guard matches it and would mirror\n * that status onto our own response. An upstream 400 would then read as\n * \"your request was malformed\" when the caller's request was fine.\n *\n * The message is deliberately dropped rather than forwarded: hapic\n * embeds the outbound method and URL in it (`400 Bad Request (POST\n * https://idp.example.com/token)`), which must not reach the caller.\n * `describeError` is what carries the detail, into the log only.\n */\n if (isClientError(input)) {\n return new AuthupError({\n code: ErrorCode.UPSTREAM_ERROR,\n message: 'A request to an upstream service failed.',\n stack: input.stack,\n });\n }\n\n if (isHTTPError(input)) {\n return new AuthupError({\n code: codeFromHttpStatus(input.status),\n message: input.message,\n stack: input.stack,\n });\n }\n\n if (isObject(input)) {\n const code = hasOwnProperty(input, 'code') &&\n typeof input.code === 'string' ?\n input.code :\n undefined;\n\n /**\n * @see https://dev.mysql.com/doc/mysql-errors/8.0/en/server-error-reference.html\n */\n switch (code) {\n case '23505':\n case 'ER_DUP_ENTRY':\n case 'SQLITE_CONSTRAINT_UNIQUE': {\n return new AuthupError({\n code: ErrorCode.ENTITY_CONFLICT,\n message: 'An entry with some unique attributes already exists.',\n stack: input.stack as string | undefined,\n });\n }\n case 'ER_DISK_FULL':\n return new AuthupError({\n code: ErrorCode.STORAGE_INSUFFICIENT,\n message: 'No database operation possible, due to the lack of free disk space.',\n stack: input.stack as string | undefined,\n });\n }\n\n return new AuthupError({\n code: ErrorCode.INTERNAL_ERROR,\n message: input.message as string | undefined,\n stack: input.stack as string | undefined,\n });\n }\n\n return new AuthupError({ code: ErrorCode.INTERNAL_ERROR });\n}\n\nconst DESCRIBE_BODY_MAX_LENGTH = 1024;\nconst DESCRIBE_CAUSE_MAX_DEPTH = 5;\n\n// Fields node attaches to a syscall error. Without them a transport failure\n// reads as a bare \"connect ECONNREFUSED\" with no way back to the reason.\nconst DESCRIBE_CAUSE_KEYS = ['code', 'errno', 'syscall', 'address', 'port'] as const;\n\nfunction describeBody(input: unknown): string | undefined {\n let value: string;\n\n if (typeof input === 'string') {\n value = input;\n } else {\n try {\n value = JSON.stringify(input) ?? String(input);\n } catch {\n // A body that cannot be serialized (circular, a stream) is\n // still worth naming by shape.\n value = Object.prototype.toString.call(input);\n }\n }\n\n if (value.length === 0) {\n return undefined;\n }\n\n if (value.length > DESCRIBE_BODY_MAX_LENGTH) {\n return `${value.substring(0, DESCRIBE_BODY_MAX_LENGTH)}… (truncated)`;\n }\n\n return value;\n}\n\nfunction describeCauseLink(input: object): string {\n const error = input as Error;\n const name = typeof error.name === 'string' ? error.name : 'Error';\n const parts: string[] = [`${name}: ${error.message}`];\n\n const details: string[] = [];\n for (const key of DESCRIBE_CAUSE_KEYS) {\n const value = (input as Record<string, unknown>)[key];\n if (typeof value === 'string' || typeof value === 'number') {\n details.push(`${key}=${value}`);\n }\n }\n\n if (details.length > 0) {\n parts.push(`(${details.join(' ')})`);\n }\n\n return parts.join(' ');\n}\n\nfunction describeCauseChain(input: unknown): string | undefined {\n const links: string[] = [];\n const seen = new Set<unknown>();\n\n let current: unknown = isObject(input) ? (input as { cause?: unknown }).cause : undefined;\n\n while (isObject(current) && !seen.has(current) && links.length < DESCRIBE_CAUSE_MAX_DEPTH) {\n seen.add(current);\n links.push(describeCauseLink(current));\n current = (current as { cause?: unknown }).cause;\n }\n\n if (links.length === 0) {\n return undefined;\n }\n\n return links.join(' <- ');\n}\n\n/**\n * Render an error for the LOG. It is the counterpart of `@authup/errors`'\n * `serializeError`, which renders one for the response.\n *\n * The detail an outbound failure carries never survives `sanitizeError`\n * (by design: upstream internals must not reach the caller), and\n * `Error.cause` is non-enumerable, so a plain serialization drops it too.\n * Both were therefore already gone by the time anything was written,\n * which left a refused connection and an upstream `invalid_request`\n * indistinguishable in the log.\n *\n * Everything not present is omitted, so an ordinary error still renders\n * as its bare message.\n */\nexport function describeError(input: unknown, headline?: string): string {\n const error = normalizeError(input);\n\n const lines: string[] = [];\n if (headline) {\n lines.push(headline);\n }\n lines.push(error.message);\n\n // hapic attaches the decoded body to the response through a getter, so\n // it is non-enumerable and only reachable by an explicit read.\n if (isClientError(error) && error.response) {\n lines.push(` upstream status: ${error.response.status}`);\n\n const body = describeBody(error.response.data);\n if (body) {\n lines.push(` upstream body: ${body}`);\n }\n }\n\n const causes = describeCauseChain(error);\n if (causes) {\n lines.push(` cause: ${causes}`);\n }\n\n if (error.stack) {\n lines.push(` stack: ${error.stack}`);\n }\n\n return lines.join('\\n');\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"error.mjs","names":["AuthupError","ErrorCode","codeFromHttpStatus","isAuthupError","normalizeError","isHTTPError","isClientError","CodecError","ParseError","EntityRelationLookupError","buildErrorMessageForAttributes","isValidupError","stringifyPath","hasOwnProperty","isObject","sanitizeError","input","code","ENTITY_RELATION_INVALID","message","stack","paths","issues","map","issue","path","BAD_REQUEST","UPSTREAM_ERROR","status","undefined","ENTITY_CONFLICT","STORAGE_INSUFFICIENT","INTERNAL_ERROR","DESCRIBE_BODY_MAX_LENGTH","DESCRIBE_CAUSE_MAX_DEPTH","DESCRIBE_CAUSE_KEYS","describeBody","value","JSON","stringify","String","Object","prototype","toString","call","length","substring","describeCauseLink","error","name","parts","details","key","push","join","describeCauseChain","links","seen","Set","current","cause","has","add","describeError","headline","lines","response","body","data","causes"],"sources":["../../src/utils/error.ts"],"sourcesContent":["/*\n * Copyright (c) 2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport {\n AuthupError,\n ErrorCode,\n codeFromHttpStatus,\n isAuthupError,\n normalizeError,\n} from '@authup/errors';\nimport { isHTTPError } from '@ebec/http';\nimport { isClientError } from 'hapic';\nimport { CodecError, ParseError } from '@rapiq/core';\nimport { EntityRelationLookupError } from 'typeorm-extension';\nimport { buildErrorMessageForAttributes, isValidupError, stringifyPath } from 'validup';\nimport { hasOwnProperty, isObject } from '@authup/kit';\n\n/**\n * Normalize an unknown error to an AuthupError. Recognised shapes:\n *\n * 1. AuthupError instance → returned as-is\n * 2. EntityRelationLookupError → BAD_REQUEST AuthupError\n * 3. validup Issue error → BAD_REQUEST AuthupError carrying issues\n * 4. rapiq ParseError / CodecError → BAD_REQUEST AuthupError (client wire query)\n * 5. hapic ClientError → UPSTREAM_ERROR AuthupError (outbound call)\n * 6. foreign @ebec/http HTTPError → AuthupError with the closest semantic code\n * 7. driver error w/ a recognised code → ENTITY_CONFLICT or STORAGE_INSUFFICIENT\n * 8. anything else → INTERNAL_ERROR AuthupError\n *\n * The HTTP-status concern is handled separately by `httpStatusFromCode` in\n * the adapter — this function only assigns a semantic `code`.\n */\nexport function sanitizeError(input: unknown): AuthupError {\n if (isAuthupError(input)) {\n return input;\n }\n\n if (input instanceof EntityRelationLookupError) {\n return new AuthupError({\n code: ErrorCode.ENTITY_RELATION_INVALID,\n message: input.message,\n stack: input.stack,\n });\n }\n\n if (isValidupError(input)) {\n const paths = input.issues.map((issue) => stringifyPath(issue.path));\n return new AuthupError({\n code: ErrorCode.BAD_REQUEST,\n stack: input.stack,\n message: input.message || buildErrorMessageForAttributes(paths),\n issues: input.issues,\n });\n }\n\n if (input instanceof ParseError || input instanceof CodecError) {\n return new AuthupError({\n code: ErrorCode.BAD_REQUEST,\n message: input.message,\n stack: input.stack,\n });\n }\n\n /**\n * An outbound call failed. This branch MUST precede the `isHTTPError`\n * one below: a hapic `HttpResponseError` extends `BaseError` and carries\n * the upstream `status`, so the duck guard matches it and would mirror\n * that status onto our own response. An upstream 400 would then read as\n * \"your request was malformed\" when the caller's request was fine.\n *\n * The message is deliberately dropped rather than forwarded: hapic\n * embeds the outbound method and URL in it (`400 Bad Request (POST\n * https://idp.example.com/token)`), which must not reach the caller.\n * `describeError` is what carries the detail, into the log only.\n */\n if (isClientError(input)) {\n return new AuthupError({\n code: ErrorCode.UPSTREAM_ERROR,\n message: 'A request to an upstream service failed.',\n stack: input.stack,\n });\n }\n\n if (isHTTPError(input)) {\n return new AuthupError({\n code: codeFromHttpStatus(input.status),\n message: input.message,\n stack: input.stack,\n });\n }\n\n if (isObject(input)) {\n const code = hasOwnProperty(input, 'code') &&\n typeof input.code === 'string' ?\n input.code :\n undefined;\n\n /**\n * @see https://dev.mysql.com/doc/mysql-errors/8.0/en/server-error-reference.html\n */\n switch (code) {\n case '23505':\n case 'ER_DUP_ENTRY':\n case 'SQLITE_CONSTRAINT_UNIQUE': {\n return new AuthupError({\n code: ErrorCode.ENTITY_CONFLICT,\n message: 'An entry with some unique attributes already exists.',\n stack: input.stack as string | undefined,\n });\n }\n case 'ER_DISK_FULL':\n return new AuthupError({\n code: ErrorCode.STORAGE_INSUFFICIENT,\n message: 'No database operation possible, due to the lack of free disk space.',\n stack: input.stack as string | undefined,\n });\n }\n\n return new AuthupError({\n code: ErrorCode.INTERNAL_ERROR,\n message: input.message as string | undefined,\n stack: input.stack as string | undefined,\n });\n }\n\n return new AuthupError({ code: ErrorCode.INTERNAL_ERROR });\n}\n\nconst DESCRIBE_BODY_MAX_LENGTH = 1024;\nconst DESCRIBE_CAUSE_MAX_DEPTH = 5;\n\n// Fields node attaches to a syscall error. Without them a transport failure\n// reads as a bare \"connect ECONNREFUSED\" with no way back to the reason.\nconst DESCRIBE_CAUSE_KEYS = ['code', 'errno', 'syscall', 'address', 'port'] as const;\n\nfunction describeBody(input: unknown): string | undefined {\n let value: string;\n\n if (typeof input === 'string') {\n value = input;\n } else {\n try {\n value = JSON.stringify(input) ?? String(input);\n } catch {\n // A body that cannot be serialized (circular, a stream) is\n // still worth naming by shape.\n value = Object.prototype.toString.call(input);\n }\n }\n\n if (value.length === 0) {\n return undefined;\n }\n\n if (value.length > DESCRIBE_BODY_MAX_LENGTH) {\n return `${value.substring(0, DESCRIBE_BODY_MAX_LENGTH)}… (truncated)`;\n }\n\n return value;\n}\n\nfunction describeCauseLink(input: object): string {\n const error = input as Error;\n const name = typeof error.name === 'string' ? error.name : 'Error';\n const parts: string[] = [`${name}: ${error.message}`];\n\n const details: string[] = [];\n for (const key of DESCRIBE_CAUSE_KEYS) {\n const value = (input as Record<string, unknown>)[key];\n if (typeof value === 'string' || typeof value === 'number') {\n details.push(`${key}=${value}`);\n }\n }\n\n if (details.length > 0) {\n parts.push(`(${details.join(' ')})`);\n }\n\n return parts.join(' ');\n}\n\n/**\n * The `cause` chain of an error, rendered innermost-last. Exported because a\n * CLI reports the reason without the stack `describeError` carries: a parse\n * failure names the file, and only its cause says what is wrong inside it.\n */\nexport function describeCauseChain(input: unknown): string | undefined {\n const links: string[] = [];\n const seen = new Set<unknown>();\n\n let current: unknown = isObject(input) ? (input as { cause?: unknown }).cause : undefined;\n\n while (isObject(current) && !seen.has(current) && links.length < DESCRIBE_CAUSE_MAX_DEPTH) {\n seen.add(current);\n links.push(describeCauseLink(current));\n current = (current as { cause?: unknown }).cause;\n }\n\n if (links.length === 0) {\n return undefined;\n }\n\n return links.join(' <- ');\n}\n\n/**\n * Render an error for the LOG. It is the counterpart of `@authup/errors`'\n * `serializeError`, which renders one for the response.\n *\n * The detail an outbound failure carries never survives `sanitizeError`\n * (by design: upstream internals must not reach the caller), and\n * `Error.cause` is non-enumerable, so a plain serialization drops it too.\n * Both were therefore already gone by the time anything was written,\n * which left a refused connection and an upstream `invalid_request`\n * indistinguishable in the log.\n *\n * Everything not present is omitted, so an ordinary error still renders\n * as its bare message.\n */\nexport function describeError(input: unknown, headline?: string): string {\n const error = normalizeError(input);\n\n const lines: string[] = [];\n if (headline) {\n lines.push(headline);\n }\n lines.push(error.message);\n\n // hapic attaches the decoded body to the response through a getter, so\n // it is non-enumerable and only reachable by an explicit read.\n if (isClientError(error) && error.response) {\n lines.push(` upstream status: ${error.response.status}`);\n\n const body = describeBody(error.response.data);\n if (body) {\n lines.push(` upstream body: ${body}`);\n }\n }\n\n const causes = describeCauseChain(error);\n if (causes) {\n lines.push(` cause: ${causes}`);\n }\n\n if (error.stack) {\n lines.push(` stack: ${error.stack}`);\n }\n\n return lines.join('\\n');\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;GAoCA,SAAgBe,cAAcC,OAAc;CACxC,IAAIb,cAAca,KAAAA,GACd,OAAOA;CAGX,IAAIA,iBAAiBP,2BACjB,OAAO,IAAIT,YAAY;EACnBiB,MAAMhB,UAAUiB;EAChBC,SAASH,MAAMG;EACfC,OAAOJ,MAAMI;CACjB,CAAA;CAGJ,IAAIT,eAAeK,KAAAA,GAAQ;EACvB,MAAMK,QAAQL,MAAMM,OAAOC,KAAKC,UAAUZ,cAAcY,MAAMC,IAAI,CAAA;EAClE,OAAO,IAAIzB,YAAY;GACnBiB,MAAMhB,UAAUyB;GAChBN,OAAOJ,MAAMI;GACbD,SAASH,MAAMG,WAAWT,+BAA+BW,KAAAA;GACzDC,QAAQN,MAAMM;EAClB,CAAA;CACJ;CAEA,IAAIN,iBAAiBR,cAAcQ,iBAAiBT,YAChD,OAAO,IAAIP,YAAY;EACnBiB,MAAMhB,UAAUyB;EAChBP,SAASH,MAAMG;EACfC,OAAOJ,MAAMI;CACjB,CAAA;;;;;;;;;;;;IAeJ,IAAId,cAAcU,KAAAA,GACd,OAAO,IAAIhB,YAAY;EACnBiB,MAAMhB,UAAU0B;EAChBR,SAAS;EACTC,OAAOJ,MAAMI;CACjB,CAAA;CAGJ,IAAIf,YAAYW,KAAAA,GACZ,OAAO,IAAIhB,YAAY;EACnBiB,MAAMf,mBAAmBc,MAAMY,MAAM;EACrCT,SAASH,MAAMG;EACfC,OAAOJ,MAAMI;CACjB,CAAA;CAGJ,IAAIN,SAASE,KAAAA,GAAQ;;;KASjB,QARaH,eAAeG,OAAO,MAAA,KACnC,OAAOA,MAAMC,SAAS,WAClBD,MAAMC,OACNY,KAAAA,GAKJ;GACI,KAAK;GACL,KAAK;GACL,KAAK,4BACD,OAAO,IAAI7B,YAAY;IACnBiB,MAAMhB,UAAU6B;IAChBX,SAAS;IACTC,OAAOJ,MAAMI;GACjB,CAAA;GAEJ,KAAK,gBACD,OAAO,IAAIpB,YAAY;IACnBiB,MAAMhB,UAAU8B;IAChBZ,SAAS;IACTC,OAAOJ,MAAMI;GACjB,CAAA;EACR;EAEA,OAAO,IAAIpB,YAAY;GACnBiB,MAAMhB,UAAU+B;GAChBb,SAASH,MAAMG;GACfC,OAAOJ,MAAMI;EACjB,CAAA;CACJ;CAEA,OAAO,IAAIpB,YAAY,EAAEiB,MAAMhB,UAAU+B,eAAe,CAAA;AAC5D;AAEA,MAAMC,2BAA2B;AACjC,MAAMC,2BAA2B;AAIjC,MAAMC,sBAAsB;CAAC;CAAQ;CAAS;CAAW;CAAW;AAAO;AAE3E,SAASC,aAAapB,OAAc;CAChC,IAAIqB;CAEJ,IAAI,OAAOrB,UAAU,UACjBqB,QAAQrB;MAER,IAAI;EACAqB,QAAQC,KAAKC,UAAUvB,KAAAA,KAAUwB,OAAOxB,KAAAA;CAC5C,QAAQ;EAGJqB,QAAQI,OAAOC,UAAUC,SAASC,KAAK5B,KAAAA;CAC3C;CAGJ,IAAIqB,MAAMQ,WAAW,GACjB;CAGJ,IAAIR,MAAMQ,SAASZ,0BACf,OAAO,GAAGI,MAAMS,UAAU,GAAGb,wBAAAA,EAA0B;CAG3D,OAAOI;AACX;AAEA,SAASU,kBAAkB/B,OAAa;CACpC,MAAMgC,QAAQhC;CAEd,MAAMkC,QAAkB,CAAC,GADZ,OAAOF,MAAMC,SAAS,WAAWD,MAAMC,OAAO,QAC1B,IAAID,MAAM7B,SAAU;CAErD,MAAMgC,UAAoB,CAAA;CAC1B,KAAK,MAAMC,OAAOjB,qBAAqB;EACnC,MAAME,QAAQ,MAAmCe;EACjD,IAAI,OAAOf,UAAU,YAAY,OAAOA,UAAU,UAC9Cc,QAAQE,KAAK,GAAGD,IAAI,GAAGf,OAAO;CAEtC;CAEA,IAAIc,QAAQN,SAAS,GACjBK,MAAMG,KAAK,IAAIF,QAAQG,KAAK,GAAA,EAAK,EAAE;CAGvC,OAAOJ,MAAMI,KAAK,GAAA;AACtB;;;;;GAOA,SAAgBC,mBAAmBvC,OAAc;CAC7C,MAAMwC,QAAkB,CAAA;CACxB,MAAMC,uBAAO,IAAIC,IAAAA;CAEjB,IAAIC,UAAmB7C,SAASE,KAAAA,IAAS,MAA+B4C,QAAQ/B,KAAAA;CAEhF,OAAOf,SAAS6C,OAAAA,KAAY,CAACF,KAAKI,IAAIF,OAAAA,KAAYH,MAAMX,SAASX,0BAA0B;EACvFuB,KAAKK,IAAIH,OAAAA;EACTH,MAAMH,KAAKN,kBAAkBY,OAAAA,CAAAA;EAC7BA,UAAU,QAAiCC;CAC/C;CAEA,IAAIJ,MAAMX,WAAW,GACjB;CAGJ,OAAOW,MAAMF,KAAK,MAAA;AACtB;;;;;;;;;;;;;;GAgBA,SAAgBS,cAAc/C,OAAgBgD,UAAiB;CAC3D,MAAMhB,QAAQ5C,eAAeY,KAAAA;CAE7B,MAAMiD,QAAkB,CAAA;CACxB,IAAID,UACAC,MAAMZ,KAAKW,QAAAA;CAEfC,MAAMZ,KAAKL,MAAM7B,OAAO;CAIxB,IAAIb,cAAc0C,KAAAA,KAAUA,MAAMkB,UAAU;EACxCD,MAAMZ,KAAK,sBAAsBL,MAAMkB,SAAStC,QAAQ;EAExD,MAAMuC,OAAO/B,aAAaY,MAAMkB,SAASE,IAAI;EAC7C,IAAID,MACAF,MAAMZ,KAAK,sBAAsBc,MAAM;CAE/C;CAEA,MAAME,SAASd,mBAAmBP,KAAAA;CAClC,IAAIqB,QACAJ,MAAMZ,KAAK,sBAAsBgB,QAAQ;CAG7C,IAAIrB,MAAM5B,OACN6C,MAAMZ,KAAK,sBAAsBL,MAAM5B,OAAO;CAGlD,OAAO6C,MAAMX,KAAK,IAAA;AACtB"}
@@ -1,7 +1,7 @@
1
1
  import "node:path";
2
2
  import "node:url";
3
3
  import.meta.url;
4
- import { describeError, sanitizeError } from "./error.mjs";
4
+ import { describeCauseChain, describeError, sanitizeError } from "./error.mjs";
5
5
  import { isSelfToken } from "./self-id.mjs";
6
6
  import { resolveURL } from "./url.mjs";
7
- export { describeError, isSelfToken, resolveURL, sanitizeError };
7
+ export { describeCauseChain, describeError, isSelfToken, resolveURL, sanitizeError };
package/package.json CHANGED
@@ -1,18 +1,28 @@
1
1
  {
2
2
  "name": "@authup/server-core",
3
3
  "type": "module",
4
- "version": "1.0.0-beta.63",
4
+ "version": "1.0.0-beta.64",
5
5
  "description": "This is a standalone application.",
6
6
  "license": "AGPL-3.0-only",
7
7
  "main": "dist/index.mjs",
8
8
  "module": "dist/index.mjs",
9
+ "types": "./dist/index.d.ts",
10
+ "exports": {
11
+ "./package.json": "./package.json",
12
+ ".": {
13
+ "authup-source": "./src/index.ts",
14
+ "types": "./dist/index.d.ts",
15
+ "import": "./dist/index.mjs",
16
+ "default": "./dist/index.mjs"
17
+ }
18
+ },
9
19
  "files": [
10
20
  "dist"
11
21
  ],
12
22
  "scripts": {
13
23
  "debug": "node --inspect dist/cli/index.mjs start",
14
24
  "cli": "node dist/cli/index.mjs",
15
- "cli-dev": "npm run build:server && npm run cli",
25
+ "cli-dev": "node --loader ts-node/esm src/cli/index.ts",
16
26
  "cli-dev-src": "nodemon --watch src --exec \"npm run build:server && node dist/cli/index.mjs\"",
17
27
  "cli-dev-dist": "nodemon --watch dist --exec \"node dist/cli/index.mjs\"",
18
28
  "build:server:types": "tsc --emitDeclarationOnly -p tsconfig.build.json",
@@ -31,9 +41,6 @@
31
41
  "engines": {
32
42
  "node": "^22.13.0 || ^23.5.0 || >=24.0.0"
33
43
  },
34
- "bin": {
35
- "authup-server": "dist/cli/index.mjs"
36
- },
37
44
  "keywords": [
38
45
  "auth",
39
46
  "authentication",
@@ -67,17 +74,18 @@
67
74
  },
68
75
  "homepage": "https://github.com/authup/authup#readme",
69
76
  "dependencies": {
70
- "@authup/access": "^1.0.0-beta.63",
71
- "@authup/client-account-console": "^1.0.0-beta.63",
72
- "@authup/client-auth-console": "^1.0.0-beta.63",
73
- "@authup/core-http-kit": "^1.0.0-beta.63",
74
- "@authup/core-kit": "^1.0.0-beta.63",
75
- "@authup/errors": "^1.0.0-beta.63",
76
- "@authup/i18n": "^1.0.0-beta.63",
77
- "@authup/kit": "^1.0.0-beta.63",
78
- "@authup/server-kit": "^1.0.0-beta.63",
79
- "@authup/specs": "^1.0.0-beta.63",
80
- "@ebec/http": "^4.2.0",
77
+ "@authup/access": "^1.0.0-beta.64",
78
+ "@authup/core-http-kit": "^1.0.0-beta.64",
79
+ "@authup/core-kit": "^1.0.0-beta.64",
80
+ "@authup/errors": "^1.0.0-beta.64",
81
+ "@authup/i18n": "^1.0.0-beta.64",
82
+ "@authup/kit": "^1.0.0-beta.64",
83
+ "@authup/server-config-kit": "^1.0.0-beta.64",
84
+ "@authup/server-config": "^1.0.0-beta.64",
85
+ "@authup/server-console-kit": "^1.0.0-beta.64",
86
+ "@authup/server-kit": "^1.0.0-beta.64",
87
+ "@authup/specs": "^1.0.0-beta.64",
88
+ "@ebec/http": "^4.3.2",
81
89
  "@hapic/oauth2": "^4.0.2",
82
90
  "@peculiar/x509": "^2.0.0",
83
91
  "@rapiq/adapter-memory": "^2.2.0",
@@ -85,7 +93,6 @@
85
93
  "@rapiq/adapter-typeorm": "^2.2.0",
86
94
  "@rapiq/codec-url": "^2.2.0",
87
95
  "@rapiq/core": "^2.2.0",
88
- "@routup/assets": "^5.0.0",
89
96
  "@routup/basic": "^3.0.0",
90
97
  "@routup/cors": "^2.0.0",
91
98
  "@routup/decorators": "^5.0.0",
@@ -93,7 +100,7 @@
93
100
  "@routup/prometheus": "^4.0.0",
94
101
  "@routup/rate-limit": "^4.0.0",
95
102
  "@routup/swagger-ui": "^4.0.0",
96
- "@simplewebauthn/server": "^13.3.2",
103
+ "@simplewebauthn/server": "^13.3.3",
97
104
  "@validup/zod": "^2.0.1",
98
105
  "better-sqlite3": "^13.0.3",
99
106
  "change-case": "^5.4.4",
@@ -106,10 +113,10 @@
106
113
  "hapic": "^3.0.2",
107
114
  "ilingo": "^6.1.0",
108
115
  "ldapjs": "^3.0.7",
109
- "locter": "^4.0.0",
110
- "mysql2": "^3.23.3",
116
+ "locter": "^4.1.1",
117
+ "mysql2": "^3.24.2",
111
118
  "node-cron": "^4.6.0",
112
- "nodemailer": "^9.0.5",
119
+ "nodemailer": "^9.1.0",
113
120
  "orkos": "^1.1.1",
114
121
  "otpauth": "^9.5.1",
115
122
  "pg": "^8.23.0",
@@ -123,10 +130,10 @@
123
130
  "typeorm-extension": "^4.1.0",
124
131
  "uncrypto": "^0.1.3",
125
132
  "validup": "^2.0.1",
126
- "zod": "^4.4.3"
133
+ "zod": "^4.5.4"
127
134
  },
128
135
  "devDependencies": {
129
- "@authup/server-test-kit": "^1.0.0-beta.63",
136
+ "@authup/server-test-kit": "^1.0.0-beta.64",
130
137
  "@faker-js/faker": "^10.6.0",
131
138
  "@trapi/cli": "^2.0.5",
132
139
  "@types/ldapjs": "^3.0.6",
@@ -138,8 +145,7 @@
138
145
  "supertest": "^7.2.2",
139
146
  "testcontainers": "^12.1.0",
140
147
  "ts-node": "^10.8.2",
141
- "unplugin-swc": "^1.5.10",
142
- "vite": "^8.2.1",
148
+ "unplugin-swc": "^1.5.11",
143
149
  "vitest": "^4.0.14"
144
150
  },
145
151
  "publishConfig": {
@@ -1,11 +0,0 @@
1
- import type { App } from 'routup';
2
- import type { ViteDevServer } from 'vite';
3
- import type { AssetsMiddlewareOptions } from './types.ts';
4
- export declare const VITE_SERVER_STORE_KEY: unique symbol;
5
- /**
6
- * Returns the vite dev server it created (JIT mode only), so the caller can
7
- * close it on teardown. It owns a file watcher and an HMR websocket, which
8
- * outlive the http listener otherwise.
9
- */
10
- export declare function registerAssetsMiddleware(router: App, options?: AssetsMiddlewareOptions): Promise<ViteDevServer | undefined>;
11
- //# sourceMappingURL=assets.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"assets.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/http/middleware/built-in/assets.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAIlC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,MAAM,CAAC;AAM1C,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAE1D,eAAO,MAAM,qBAAqB,eAAuB,CAAC;AAE1D;;;;GAIG;AACH,wBAAsB,wBAAwB,CAC1C,MAAM,EAAE,GAAG,EACX,OAAO,GAAE,uBAA4B,GACrC,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAgFrC"}
@@ -1,91 +0,0 @@
1
- import "node:path";
2
- import "node:url";
3
- import.meta.url;
4
- import { PACKAGE_PATH } from "../../../../path.mjs";
5
- import { THEME_ASSET_MOUNT_PATH } from "../../ui/theme/contract/constants.mjs";
6
- import { createThemeAssetsHandler } from "../../ui/theme/assets.mjs";
7
- import { ThemeProvider } from "../../ui/theme/module.mjs";
8
- import "../../ui/theme/index.mjs";
9
- import { resolveAuthConsoleDistPath, resolveAuthConsolePackagePath } from "../../ui/auth-console/resolve.mjs";
10
- import "../../ui/auth-console/index.mjs";
11
- import { registerThemeMiddleware } from "./theme.mjs";
12
- import { resolveAccountConsoleDistPath } from "../../ui/account-console/module.mjs";
13
- import "../../ui/account-console/index.mjs";
14
- import { InternalError } from "@authup/errors";
15
- import { CodeTransformation, isCodeTransformation } from "typeorm-extension";
16
- import path from "node:path";
17
- import { defineCoreHandler } from "routup";
18
- import { fromNodeMiddleware } from "routup/node";
19
- import { read } from "locter";
20
- import fs from "node:fs";
21
- import { createHandler } from "@routup/assets";
22
- //#region src/adapters/http/middleware/built-in/assets.ts
23
- const VITE_SERVER_STORE_KEY = Symbol("ViteServer");
24
- /**
25
- * Returns the vite dev server it created (JIT mode only), so the caller can
26
- * close it on teardown. It owns a file watcher and an HMR websocket, which
27
- * outlive the http listener otherwise.
28
- */ async function registerAssetsMiddleware(router, options = {}) {
29
- await registerThemeAssets(router, options);
30
- const accountDistPath = resolveAccountConsoleDistPath();
31
- if (accountDistPath) router.use("account/assets", createHandler(path.posix.join(accountDistPath, "assets"), {
32
- fallthrough: false,
33
- scan: false
34
- }));
35
- if (!isCodeTransformation(CodeTransformation.JUST_IN_TIME)) {
36
- router.use("public", createHandler(path.posix.join(PACKAGE_PATH, "public"), {
37
- fallthrough: true,
38
- scan: false
39
- }));
40
- const authConsoleDistPath = resolveAuthConsoleDistPath();
41
- if (authConsoleDistPath) router.use("public", createHandler(path.posix.join(authConsoleDistPath, "client"), {
42
- fallthrough: false,
43
- scan: false
44
- }));
45
- return;
46
- }
47
- const authConsolePackagePath = resolveAuthConsolePackagePath();
48
- if (!authConsolePackagePath) throw new InternalError("The auth console package (@authup/client-auth-console) is not installed.");
49
- const server = await (await read("vite")).createServer({
50
- root: authConsolePackagePath,
51
- base: "/public/",
52
- logLevel: "error",
53
- server: {
54
- middlewareMode: true,
55
- watch: {
56
- usePolling: true,
57
- interval: 100
58
- }
59
- },
60
- appType: "custom"
61
- });
62
- router.use("public", fromNodeMiddleware(server.middlewares));
63
- router.use(defineCoreHandler((event) => {
64
- event.store[VITE_SERVER_STORE_KEY] = server;
65
- return event.next();
66
- }));
67
- return server;
68
- }
69
- /**
70
- * Load the operator theme and mount its `assets/` directory at /theme.
71
- *
72
- * A missing directory disables the feature entirely: no provider is
73
- * created, no middleware is registered, and both console serve paths keep
74
- * returning byte-identical un-themed pages. So the default configuration
75
- * pays nothing, not even a per-request core handler.
76
- */ async function registerThemeAssets(router, options) {
77
- const { themeDirectoryPath } = options;
78
- if (!themeDirectoryPath || !fs.existsSync(themeDirectoryPath)) return;
79
- const provider = new ThemeProvider({
80
- directoryPath: themeDirectoryPath,
81
- fragmentsEnabled: options.themeFragmentsEnabled,
82
- logger: options.logger
83
- });
84
- await provider.load();
85
- registerThemeMiddleware(router, provider);
86
- router.use(THEME_ASSET_MOUNT_PATH, createThemeAssetsHandler(provider));
87
- }
88
- //#endregion
89
- export { VITE_SERVER_STORE_KEY, registerAssetsMiddleware };
90
-
91
- //# sourceMappingURL=assets.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"assets.mjs","names":["InternalError","read","CodeTransformation","isCodeTransformation","createHandler","fs","path","defineCoreHandler","fromNodeMiddleware","PACKAGE_PATH","resolveAccountConsoleDistPath","resolveAuthConsoleDistPath","resolveAuthConsolePackagePath","THEME_ASSET_MOUNT_PATH","ThemeProvider","createThemeAssetsHandler","registerThemeMiddleware","VITE_SERVER_STORE_KEY","Symbol","registerAssetsMiddleware","router","options","registerThemeAssets","accountDistPath","use","posix","join","fallthrough","scan","JUST_IN_TIME","authConsoleDistPath","undefined","authConsolePackagePath","vite","server","createServer","root","base","logLevel","middlewareMode","watch","usePolling","interval","appType","middlewares","event","store","next","themeDirectoryPath","existsSync","provider","directoryPath","fragmentsEnabled","themeFragmentsEnabled","logger","load"],"sources":["../../../../../src/adapters/http/middleware/built-in/assets.ts"],"sourcesContent":["/*\n * Copyright (c) 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 { InternalError } from '@authup/errors';\nimport { read } from 'locter';\nimport { CodeTransformation, isCodeTransformation } from 'typeorm-extension';\nimport { createHandler } from '@routup/assets';\nimport fs from 'node:fs';\nimport path from 'node:path';\nimport type { App } from 'routup';\nimport { defineCoreHandler } from 'routup';\nimport { fromNodeMiddleware } from 'routup/node';\nimport type * as Vite from 'vite';\nimport type { ViteDevServer } from 'vite';\nimport { PACKAGE_PATH } from '../../../../path.ts';\nimport { resolveAccountConsoleDistPath } from '../../ui/account-console/index.ts';\nimport { resolveAuthConsoleDistPath, resolveAuthConsolePackagePath } from '../../ui/auth-console/index.ts';\nimport { THEME_ASSET_MOUNT_PATH, ThemeProvider, createThemeAssetsHandler } from '../../ui/theme/index.ts';\nimport { registerThemeMiddleware } from './theme.ts';\nimport type { AssetsMiddlewareOptions } from './types.ts';\n\nexport const VITE_SERVER_STORE_KEY = Symbol('ViteServer');\n\n/**\n * Returns the vite dev server it created (JIT mode only), so the caller can\n * close it on teardown. It owns a file watcher and an HMR websocket, which\n * outlive the http listener otherwise.\n */\nexport async function registerAssetsMiddleware(\n router: App,\n options: AssetsMiddlewareOptions = {},\n) : Promise<ViteDevServer | undefined> {\n // Mounted FIRST, and outside the JIT early-return below, so an\n // operator theme applies in dev mode too. An invalid manifest throws\n // here and fails the boot.\n await registerThemeAssets(router, options);\n\n // Static assets of the account console SPA (its fixed vite base is\n // /account/). Served in dev mode too — the bundle is prebuilt, not\n // vite-transformed. A missing bundle only disables the mount; the page\n // route reports the actionable error.\n const accountDistPath = resolveAccountConsoleDistPath();\n if (accountDistPath) {\n router.use('account/assets', createHandler(\n path.posix.join(accountDistPath, 'assets'),\n {\n fallthrough: false,\n scan: false,\n },\n ));\n }\n\n if (!isCodeTransformation(CodeTransformation.JUST_IN_TIME)) {\n router.use('public', createHandler(\n path.posix.join(PACKAGE_PATH, 'public'),\n {\n fallthrough: true,\n scan: false,\n },\n ));\n\n // Static assets of the auth console SSR bundle (its fixed vite base\n // is /public/). A missing bundle only disables the mount; the page\n // routes report the actionable error.\n const authConsoleDistPath = resolveAuthConsoleDistPath();\n if (authConsoleDistPath) {\n router.use('public', createHandler(\n path.posix.join(authConsoleDistPath, 'client'),\n {\n fallthrough: false,\n scan: false,\n },\n ));\n }\n return undefined;\n }\n\n // JIT (dev) mode serves the auth console straight from the package\n // SOURCE directory (the workspace symlink carries index.html + src/ +\n // vite.config.ts; a published install has no JIT). Vite auto-loads the\n // package's own vite.config.ts from the root.\n const authConsolePackagePath = resolveAuthConsolePackagePath();\n if (!authConsolePackagePath) {\n throw new InternalError(\n 'The auth console package (@authup/client-auth-console) is not installed.',\n );\n }\n\n const vite = await read('vite') as typeof Vite;\n\n const server: ViteDevServer = await vite.createServer({\n root: authConsolePackagePath,\n base: '/public/',\n logLevel: 'error',\n server: {\n middlewareMode: true,\n watch: {\n usePolling: true,\n interval: 100,\n },\n },\n appType: 'custom',\n });\n\n router.use('public', fromNodeMiddleware(server.middlewares));\n router.use(defineCoreHandler((event) => {\n event.store[VITE_SERVER_STORE_KEY] = server;\n return event.next();\n }));\n\n return server;\n}\n\n/**\n * Load the operator theme and mount its `assets/` directory at /theme.\n *\n * A missing directory disables the feature entirely: no provider is\n * created, no middleware is registered, and both console serve paths keep\n * returning byte-identical un-themed pages. So the default configuration\n * pays nothing, not even a per-request core handler.\n */\nasync function registerThemeAssets(router: App, options: AssetsMiddlewareOptions) : Promise<void> {\n const { themeDirectoryPath } = options;\n if (!themeDirectoryPath || !fs.existsSync(themeDirectoryPath)) {\n return;\n }\n\n const provider = new ThemeProvider({\n directoryPath: themeDirectoryPath,\n fragmentsEnabled: options.themeFragmentsEnabled,\n logger: options.logger,\n });\n\n await provider.load();\n\n registerThemeMiddleware(router, provider);\n\n router.use(THEME_ASSET_MOUNT_PATH, createThemeAssetsHandler(provider));\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAyBA,MAAaiB,wBAAwBC,OAAO,YAAA;;;;;GAO5C,eAAsBC,yBAClBC,QACAC,UAAmC,CAAC,GAAC;CAKrC,MAAMC,oBAAoBF,QAAQC,OAAAA;CAMlC,MAAME,kBAAkBb,8BAAAA;CACxB,IAAIa,iBACAH,OAAOI,IAAI,kBAAkBpB,cACzBE,KAAKmB,MAAMC,KAAKH,iBAAiB,QAAA,GACjC;EACII,aAAa;EACbC,MAAM;CACV,CAAA,CAAA;CAIR,IAAI,CAACzB,qBAAqBD,mBAAmB2B,YAAY,GAAG;EACxDT,OAAOI,IAAI,UAAUpB,cACjBE,KAAKmB,MAAMC,KAAKjB,cAAc,QAAA,GAC9B;GACIkB,aAAa;GACbC,MAAM;EACV,CAAA,CAAA;EAMJ,MAAME,sBAAsBnB,2BAAAA;EAC5B,IAAImB,qBACAV,OAAOI,IAAI,UAAUpB,cACjBE,KAAKmB,MAAMC,KAAKI,qBAAqB,QAAA,GACrC;GACIH,aAAa;GACbC,MAAM;EACV,CAAA,CAAA;EAGR;CACJ;CAMA,MAAMI,yBAAyBpB,8BAAAA;CAC/B,IAAI,CAACoB,wBACD,MAAM,IAAIhC,cACN,0EAAA;CAMR,MAAMkC,SAAwB,OAAMD,MAFjBhC,KAAK,MAAA,EAAA,CAEiBkC,aAAa;EAClDC,MAAMJ;EACNK,MAAM;EACNC,UAAU;EACVJ,QAAQ;GACJK,gBAAgB;GAChBC,OAAO;IACHC,YAAY;IACZC,UAAU;GACd;EACJ;EACAC,SAAS;CACb,CAAA;CAEAvB,OAAOI,IAAI,UAAUhB,mBAAmB0B,OAAOU,WAAW,CAAA;CAC1DxB,OAAOI,IAAIjB,mBAAmBsC,UAAAA;EAC1BA,MAAMC,MAAM7B,yBAAyBiB;EACrC,OAAOW,MAAME,KAAI;CACrB,CAAA,CAAA;CAEA,OAAOb;AACX;;;;;;;;GAUA,eAAeZ,oBAAoBF,QAAaC,SAAgC;CAC5E,MAAM,EAAE2B,uBAAuB3B;CAC/B,IAAI,CAAC2B,sBAAsB,CAAC3C,GAAG4C,WAAWD,kBAAAA,GACtC;CAGJ,MAAME,WAAW,IAAIpC,cAAc;EAC/BqC,eAAeH;EACfI,kBAAkB/B,QAAQgC;EAC1BC,QAAQjC,QAAQiC;CACpB,CAAA;CAEA,MAAMJ,SAASK,KAAI;CAEnBvC,wBAAwBI,QAAQ8B,QAAAA;CAEhC9B,OAAOI,IAAIX,wBAAwBE,yBAAyBmC,QAAAA,CAAAA;AAChE"}
@@ -1,15 +0,0 @@
1
- import type { App, IAppEvent } from 'routup';
2
- import type { IThemeProvider } from '../../ui/theme/index.ts';
3
- /**
4
- * Per-request handoff of the operator theme into the two console serve
5
- * paths, the same mechanism as UI_HTTP_CLIENT_FACTORY_STORE_KEY.
6
- *
7
- * A store handoff rather than module-scope state, so two applications in
8
- * one process (the test suite) never share a theme, and rather than
9
- * threading the provider through seven workflow controllers, which is a
10
- * lot of plumbing for decoration.
11
- */
12
- export declare const THEME_STORE_KEY: unique symbol;
13
- export declare function registerThemeMiddleware(router: App, provider: IThemeProvider): void;
14
- export declare function useRequestTheme(event: IAppEvent): IThemeProvider | undefined;
15
- //# sourceMappingURL=theme.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/http/middleware/built-in/theme.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAE7C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE9D;;;;;;;;GAQG;AACH,eAAO,MAAM,eAAe,eAAkB,CAAC;AAE/C,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,cAAc,QAM5E;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,SAAS,GAAI,cAAc,GAAG,SAAS,CAE7E"}
@@ -1,27 +0,0 @@
1
- import "node:path";
2
- import "node:url";
3
- import.meta.url;
4
- import { defineCoreHandler } from "routup";
5
- //#region src/adapters/http/middleware/built-in/theme.ts
6
- /**
7
- * Per-request handoff of the operator theme into the two console serve
8
- * paths, the same mechanism as UI_HTTP_CLIENT_FACTORY_STORE_KEY.
9
- *
10
- * A store handoff rather than module-scope state, so two applications in
11
- * one process (the test suite) never share a theme, and rather than
12
- * threading the provider through seven workflow controllers, which is a
13
- * lot of plumbing for decoration.
14
- */ const THEME_STORE_KEY = Symbol("Theme");
15
- function registerThemeMiddleware(router, provider) {
16
- router.use(defineCoreHandler((event) => {
17
- event.store[THEME_STORE_KEY] = provider;
18
- return event.next();
19
- }));
20
- }
21
- function useRequestTheme(event) {
22
- return event.store[THEME_STORE_KEY];
23
- }
24
- //#endregion
25
- export { THEME_STORE_KEY, registerThemeMiddleware, useRequestTheme };
26
-
27
- //# sourceMappingURL=theme.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"theme.mjs","names":["defineCoreHandler","THEME_STORE_KEY","Symbol","registerThemeMiddleware","router","provider","use","event","store","next","useRequestTheme"],"sources":["../../../../../src/adapters/http/middleware/built-in/theme.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 { App, IAppEvent } from 'routup';\nimport { defineCoreHandler } from 'routup';\nimport type { IThemeProvider } from '../../ui/theme/index.ts';\n\n/**\n * Per-request handoff of the operator theme into the two console serve\n * paths, the same mechanism as UI_HTTP_CLIENT_FACTORY_STORE_KEY.\n *\n * A store handoff rather than module-scope state, so two applications in\n * one process (the test suite) never share a theme, and rather than\n * threading the provider through seven workflow controllers, which is a\n * lot of plumbing for decoration.\n */\nexport const THEME_STORE_KEY = Symbol('Theme');\n\nexport function registerThemeMiddleware(router: App, provider: IThemeProvider) {\n router.use(defineCoreHandler((event) => {\n event.store[THEME_STORE_KEY] = provider;\n\n return event.next();\n }));\n}\n\nexport function useRequestTheme(event: IAppEvent) : IThemeProvider | undefined {\n return event.store[THEME_STORE_KEY] as IThemeProvider | undefined;\n}\n"],"mappings":";;;;;;;;;;;;;GAoBA,MAAaC,kBAAkBC,OAAO,OAAA;AAEtC,SAAgBC,wBAAwBC,QAAaC,UAAwB;CACzED,OAAOE,IAAIN,mBAAmBO,UAAAA;EAC1BA,MAAMC,MAAMP,mBAAmBI;EAE/B,OAAOE,MAAME,KAAI;CACrB,CAAA,CAAA;AACJ;AAEA,SAAgBC,gBAAgBH,OAAgB;CAC5C,OAAOA,MAAMC,MAAMP;AACvB"}
@@ -1,14 +0,0 @@
1
- import type { Logger } from '@authup/server-kit';
2
- export type AssetsMiddlewareOptions = {
3
- /**
4
- * Absolute path of the operator theme directory. Empty or missing
5
- * disables theming entirely.
6
- */
7
- themeDirectoryPath?: string;
8
- /**
9
- * Opt in to reading the theme's `fragments/head.html`. Default off.
10
- */
11
- themeFragmentsEnabled?: boolean;
12
- logger?: Logger;
13
- };
14
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/http/middleware/built-in/types.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAEjD,MAAM,MAAM,uBAAuB,GAAG;IAClC;;;OAGG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B;;OAEG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAEhC,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC"}
@@ -1,15 +0,0 @@
1
- import type { IClient } from '@authup/core-http-kit';
2
- import type { App } from 'routup';
3
- /**
4
- * Per-request handoff of an HTTP-client factory into renderAuthConsolePage —
5
- * same mechanism as VITE_SERVER_STORE_KEY. The wiring passes a thunk
6
- * over the DI container (`() => container.resolve(UIHttpClient)`)
7
- * whose registration carries `lifetime: 'transient'`, so every SSR
8
- * render resolves a fresh client — never share one client instance
9
- * across renders (the authentication hook writes per-user state onto
10
- * it). Production binds the internal loopback client by default
11
- * (`HTTPModule.registerUIHttpClient`); tests may pre-register a fake.
12
- */
13
- export declare const UI_HTTP_CLIENT_FACTORY_STORE_KEY: unique symbol;
14
- export declare function registerUIHttpClientMiddleware(router: App, httpClientFactory: () => IClient): void;
15
- //# sourceMappingURL=ui-http-client.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ui-http-client.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/http/middleware/built-in/ui-http-client.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAGlC;;;;;;;;;GASG;AACH,eAAO,MAAM,gCAAgC,eAAgC,CAAC;AAE9E,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,GAAG,EAAE,iBAAiB,EAAE,MAAM,OAAO,QAK3F"}
@@ -1,25 +0,0 @@
1
- import "node:path";
2
- import "node:url";
3
- import.meta.url;
4
- import { defineCoreHandler } from "routup";
5
- //#region src/adapters/http/middleware/built-in/ui-http-client.ts
6
- /**
7
- * Per-request handoff of an HTTP-client factory into renderAuthConsolePage —
8
- * same mechanism as VITE_SERVER_STORE_KEY. The wiring passes a thunk
9
- * over the DI container (`() => container.resolve(UIHttpClient)`)
10
- * whose registration carries `lifetime: 'transient'`, so every SSR
11
- * render resolves a fresh client — never share one client instance
12
- * across renders (the authentication hook writes per-user state onto
13
- * it). Production binds the internal loopback client by default
14
- * (`HTTPModule.registerUIHttpClient`); tests may pre-register a fake.
15
- */ const UI_HTTP_CLIENT_FACTORY_STORE_KEY = Symbol("UIHttpClientFactory");
16
- function registerUIHttpClientMiddleware(router, httpClientFactory) {
17
- router.use(defineCoreHandler((event) => {
18
- event.store[UI_HTTP_CLIENT_FACTORY_STORE_KEY] = httpClientFactory;
19
- return event.next();
20
- }));
21
- }
22
- //#endregion
23
- export { UI_HTTP_CLIENT_FACTORY_STORE_KEY, registerUIHttpClientMiddleware };
24
-
25
- //# sourceMappingURL=ui-http-client.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ui-http-client.mjs","names":["defineCoreHandler","UI_HTTP_CLIENT_FACTORY_STORE_KEY","Symbol","registerUIHttpClientMiddleware","router","httpClientFactory","use","event","store","next"],"sources":["../../../../../src/adapters/http/middleware/built-in/ui-http-client.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 { IClient } from '@authup/core-http-kit';\nimport type { App } from 'routup';\nimport { defineCoreHandler } from 'routup';\n\n/**\n * Per-request handoff of an HTTP-client factory into renderAuthConsolePage —\n * same mechanism as VITE_SERVER_STORE_KEY. The wiring passes a thunk\n * over the DI container (`() => container.resolve(UIHttpClient)`)\n * whose registration carries `lifetime: 'transient'`, so every SSR\n * render resolves a fresh client — never share one client instance\n * across renders (the authentication hook writes per-user state onto\n * it). Production binds the internal loopback client by default\n * (`HTTPModule.registerUIHttpClient`); tests may pre-register a fake.\n */\nexport const UI_HTTP_CLIENT_FACTORY_STORE_KEY = Symbol('UIHttpClientFactory');\n\nexport function registerUIHttpClientMiddleware(router: App, httpClientFactory: () => IClient) {\n router.use(defineCoreHandler((event) => {\n event.store[UI_HTTP_CLIENT_FACTORY_STORE_KEY] = httpClientFactory;\n return event.next();\n }));\n}\n"],"mappings":";;;;;;;;;;;;;;GAqBA,MAAaC,mCAAmCC,OAAO,qBAAA;AAEvD,SAAgBC,+BAA+BC,QAAaC,mBAAgC;CACxFD,OAAOE,IAAIN,mBAAmBO,UAAAA;EAC1BA,MAAMC,MAAMP,oCAAoCI;EAChD,OAAOE,MAAME,KAAI;CACrB,CAAA,CAAA;AACJ"}
@@ -1,14 +0,0 @@
1
- /**
2
- * Open-redirect guard for the `redirect` query parameter carried by the
3
- * auth workflow pages: only same-origin relative paths pass through, so the
4
- * value can be safely reflected into an anchor href / forwarded as a
5
- * post-login destination.
6
- *
7
- * Rejects: non-strings, control/whitespace chars (browsers strip some,
8
- * shifting where the URL authority begins), protocol-relative (`//host`),
9
- * backslash variants (browsers normalise `\` → `/`), and any scheme
10
- * (`javascript:`, `http:`) — both on the raw and once-decoded form so a
11
- * percent-encoded separator (`%2f`, `%5c`) can't slip past.
12
- */
13
- export declare function sanitizeRelativeRedirect(input: unknown): string | undefined;
14
- //# sourceMappingURL=redirect.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"redirect.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/http/request/helpers/redirect.ts"],"names":[],"mappings":"AAOA;;;;;;;;;;;GAWG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAwC3E"}
@@ -1,36 +0,0 @@
1
- import "node:path";
2
- import "node:url";
3
- import.meta.url;
4
- //#region src/adapters/http/request/helpers/redirect.ts
5
- /**
6
- * Open-redirect guard for the `redirect` query parameter carried by the
7
- * auth workflow pages: only same-origin relative paths pass through, so the
8
- * value can be safely reflected into an anchor href / forwarded as a
9
- * post-login destination.
10
- *
11
- * Rejects: non-strings, control/whitespace chars (browsers strip some,
12
- * shifting where the URL authority begins), protocol-relative (`//host`),
13
- * backslash variants (browsers normalise `\` → `/`), and any scheme
14
- * (`javascript:`, `http:`) — both on the raw and once-decoded form so a
15
- * percent-encoded separator (`%2f`, `%5c`) can't slip past.
16
- */ function sanitizeRelativeRedirect(input) {
17
- if (typeof input !== "string" || input.length === 0) return;
18
- if (/[\u0000-\u0020\u007f]/.test(input)) return;
19
- let decoded;
20
- try {
21
- decoded = decodeURIComponent(input);
22
- } catch {
23
- return;
24
- }
25
- if (/[\u0000-\u001f\u007f]/.test(decoded)) return;
26
- for (const candidate of [input, decoded]) {
27
- if (!candidate.startsWith("/")) return;
28
- if (candidate.length > 1 && (candidate[1] === "/" || candidate[1] === "\\")) return;
29
- if (candidate.includes("\\")) return;
30
- }
31
- return input;
32
- }
33
- //#endregion
34
- export { sanitizeRelativeRedirect };
35
-
36
- //# sourceMappingURL=redirect.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"redirect.mjs","names":["sanitizeRelativeRedirect","input","length","undefined","test","decoded","decodeURIComponent","candidate","startsWith","includes"],"sources":["../../../../../src/adapters/http/request/helpers/redirect.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\n/**\n * Open-redirect guard for the `redirect` query parameter carried by the\n * auth workflow pages: only same-origin relative paths pass through, so the\n * value can be safely reflected into an anchor href / forwarded as a\n * post-login destination.\n *\n * Rejects: non-strings, control/whitespace chars (browsers strip some,\n * shifting where the URL authority begins), protocol-relative (`//host`),\n * backslash variants (browsers normalise `\\` → `/`), and any scheme\n * (`javascript:`, `http:`) — both on the raw and once-decoded form so a\n * percent-encoded separator (`%2f`, `%5c`) can't slip past.\n */\nexport function sanitizeRelativeRedirect(input: unknown): string | undefined {\n if (typeof input !== 'string' || input.length === 0) {\n return undefined;\n }\n\n // Raw input: reject control chars AND whitespace (space/tab/newline) — a\n // raw space can shift where the URL authority begins.\n // eslint-disable-next-line no-control-regex\n if (/[\\u0000-\\u0020\\u007f]/.test(input)) {\n return undefined;\n }\n\n let decoded: string;\n try {\n decoded = decodeURIComponent(input);\n } catch {\n return undefined;\n }\n\n // Decoded form: reject C0 controls + DEL (CR/LF/NUL — the header-injection\n // vectors a `%0a`/`%0d` would smuggle past the raw check) but NOT space\n // (0x20), so a legitimate `%20` in the path still passes.\n // eslint-disable-next-line no-control-regex\n if (/[\\u0000-\\u001f\\u007f]/.test(decoded)) {\n return undefined;\n }\n\n for (const candidate of [input, decoded]) {\n if (!candidate.startsWith('/')) {\n return undefined;\n }\n if (candidate.length > 1 && (candidate[1] === '/' || candidate[1] === '\\\\')) {\n return undefined;\n }\n if (candidate.includes('\\\\')) {\n return undefined;\n }\n }\n\n return input;\n}\n"],"mappings":";;;;;;;;;;;;;;;GAmBA,SAAgBA,yBAAyBC,OAAc;CACnD,IAAI,OAAOA,UAAU,YAAYA,MAAMC,WAAW,GAC9C;CAMJ,IAAI,wBAAwBE,KAAKH,KAAAA,GAC7B;CAGJ,IAAII;CACJ,IAAI;EACAA,UAAUC,mBAAmBL,KAAAA;CACjC,QAAQ;EACJ;CACJ;CAMA,IAAI,wBAAwBG,KAAKC,OAAAA,GAC7B;CAGJ,KAAK,MAAME,aAAa,CAACN,OAAOI,OAAQ,GAAE;EACtC,IAAI,CAACE,UAAUC,WAAW,GAAA,GACtB;EAEJ,IAAID,UAAUL,SAAS,MAAMK,UAAU,OAAO,OAAOA,UAAU,OAAO,OAClE;EAEJ,IAAIA,UAAUE,SAAS,IAAA,GACnB;CAER;CAEA,OAAOR;AACX"}
@@ -1,4 +0,0 @@
1
- export * from './module.ts';
2
- export * from './ref.ts';
3
- export * from './types.ts';
4
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/http/ui/account-console/index.ts"],"names":[],"mappings":"AAOA,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC"}
@@ -1,6 +0,0 @@
1
- import "node:path";
2
- import "node:url";
3
- import.meta.url;
4
- import { ACCOUNT_CONSOLE_REF_MAX_LENGTH, resolveAccountConsoleRef } from "./ref.mjs";
5
- import { resolveAccountConsoleDistPath, serveAccountConsolePage, setAccountConsolePackagePath } from "./module.mjs";
6
- export { ACCOUNT_CONSOLE_REF_MAX_LENGTH, resolveAccountConsoleDistPath, resolveAccountConsoleRef, serveAccountConsolePage, setAccountConsolePackagePath };
@@ -1,28 +0,0 @@
1
- import type { IAppEvent } from 'routup';
2
- import type { AccountConsoleServeOptions } from './types.ts';
3
- /**
4
- * Point the resolution at a substituted package (config
5
- * `accountConsolePath`) instead of the node_modules walk. Called once at
6
- * boot.
7
- */
8
- export declare function setAccountConsolePackagePath(value: string | undefined): void;
9
- /**
10
- * Locate the built account console bundle. The SPA ships as the
11
- * `@authup/client-account-console` package (a server-core dependency), so
12
- * the node_modules ancestor walk from server-core's own package root
13
- * (locter's `locateUp`) finds it for the workspace (symlink onto
14
- * apps/client-account-console) and for a published install alike. Only a
15
- * positive result is cached — a dev building the app after boot is picked
16
- * up on the next request.
17
- */
18
- export declare function resolveAccountConsoleDistPath(): string | undefined;
19
- /**
20
- * Serve the account console SPA shell: the package's built index.html with
21
- * the runtime configuration injected (replacing the `<!--account-config-->`
22
- * marker), the color-mode/lang attributes stamped from the shared cookies
23
- * (no flash), and asset hrefs rebased when publicUrl carries a sub-path.
24
- * Client-side routing owns everything below /account — the shell is the
25
- * same for every sub-path.
26
- */
27
- export declare function serveAccountConsolePage(event: IAppEvent, options: AccountConsoleServeOptions): Promise<string>;
28
- //# sourceMappingURL=module.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/http/ui/account-console/module.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAcxC,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAC;AAQ7D;;;;GAIG;AACH,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAI,IAAI,CAI7E;AAED;;;;;;;;GAQG;AACH,wBAAgB,6BAA6B,IAAK,MAAM,GAAG,SAAS,CAmBnE;AAED;;;;;;;GAOG;AACH,wBAAsB,uBAAuB,CACzC,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,0BAA0B,GACnC,OAAO,CAAC,MAAM,CAAC,CAsDlB"}