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

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 (416) hide show
  1. package/dist/adapters/database/logger/module.mjs +2 -4
  2. package/dist/adapters/database/logger/module.mjs.map +1 -1
  3. package/dist/adapters/http/controllers/entities/identity-provider/module.d.ts.map +1 -1
  4. package/dist/adapters/http/controllers/entities/identity-provider/module.mjs +1 -1
  5. package/dist/adapters/http/controllers/entities/identity-provider/module.mjs.map +1 -1
  6. package/dist/adapters/http/controllers/index.mjs +2 -1
  7. package/dist/adapters/http/controllers/workflows/account/index.d.ts +2 -0
  8. package/dist/adapters/http/controllers/workflows/account/index.d.ts.map +1 -0
  9. package/dist/adapters/http/controllers/workflows/account/index.mjs +5 -0
  10. package/dist/adapters/http/controllers/workflows/account/module.d.ts +24 -0
  11. package/dist/adapters/http/controllers/workflows/account/module.d.ts.map +1 -0
  12. package/dist/adapters/http/controllers/workflows/account/module.mjs +63 -0
  13. package/dist/adapters/http/controllers/workflows/account/module.mjs.map +1 -0
  14. package/dist/adapters/http/controllers/workflows/activate/module.mjs +1 -1
  15. package/dist/adapters/http/controllers/workflows/authorize/module.mjs +2 -2
  16. package/dist/adapters/http/controllers/workflows/authorize/module.mjs.map +1 -1
  17. package/dist/adapters/http/controllers/workflows/index.d.ts +1 -0
  18. package/dist/adapters/http/controllers/workflows/index.d.ts.map +1 -1
  19. package/dist/adapters/http/controllers/workflows/index.mjs +3 -1
  20. package/dist/adapters/http/controllers/workflows/logout/module.mjs +2 -2
  21. package/dist/adapters/http/controllers/workflows/logout/module.mjs.map +1 -1
  22. package/dist/adapters/http/controllers/workflows/password-forgot/module.mjs +1 -1
  23. package/dist/adapters/http/controllers/workflows/password-reset/module.mjs +1 -1
  24. package/dist/adapters/http/controllers/workflows/register/module.mjs +1 -1
  25. package/dist/adapters/http/controllers/workflows/userinfo/module.d.ts.map +1 -1
  26. package/dist/adapters/http/controllers/workflows/userinfo/module.mjs +5 -1
  27. package/dist/adapters/http/controllers/workflows/userinfo/module.mjs.map +1 -1
  28. package/dist/adapters/http/index.mjs +3 -1
  29. package/dist/adapters/http/middleware/built-in/assets.d.ts +8 -1
  30. package/dist/adapters/http/middleware/built-in/assets.d.ts.map +1 -1
  31. package/dist/adapters/http/middleware/built-in/assets.mjs +48 -4
  32. package/dist/adapters/http/middleware/built-in/assets.mjs.map +1 -1
  33. package/dist/adapters/http/middleware/built-in/authorization/module.mjs +2 -1
  34. package/dist/adapters/http/middleware/built-in/authorization/module.mjs.map +1 -1
  35. package/dist/adapters/http/middleware/built-in/index.d.ts +2 -0
  36. package/dist/adapters/http/middleware/built-in/index.d.ts.map +1 -1
  37. package/dist/adapters/http/middleware/built-in/index.mjs +2 -1
  38. package/dist/adapters/http/middleware/built-in/rate-limit.mjs +2 -2
  39. package/dist/adapters/http/middleware/built-in/rate-limit.mjs.map +1 -1
  40. package/dist/adapters/http/middleware/built-in/theme.d.ts +15 -0
  41. package/dist/adapters/http/middleware/built-in/theme.d.ts.map +1 -0
  42. package/dist/adapters/http/middleware/built-in/theme.mjs +27 -0
  43. package/dist/adapters/http/middleware/built-in/theme.mjs.map +1 -0
  44. package/dist/adapters/http/middleware/built-in/types.d.ts +14 -0
  45. package/dist/adapters/http/middleware/built-in/types.d.ts.map +1 -0
  46. package/dist/adapters/http/middleware/built-in/ui-http-client.d.ts +1 -1
  47. package/dist/adapters/http/middleware/built-in/ui-http-client.mjs +1 -1
  48. package/dist/adapters/http/middleware/built-in/ui-http-client.mjs.map +1 -1
  49. package/dist/adapters/http/middleware/index.mjs +2 -1
  50. package/dist/adapters/http/request/client-certificate.mjs +1 -1
  51. package/dist/adapters/http/request/client-certificate.mjs.map +1 -1
  52. package/dist/adapters/http/request/helpers/locations.mjs +1 -3
  53. package/dist/adapters/http/request/helpers/locations.mjs.map +1 -1
  54. package/dist/adapters/http/ui/account-console/index.d.ts +4 -0
  55. package/dist/adapters/http/ui/account-console/index.d.ts.map +1 -0
  56. package/dist/adapters/http/ui/account-console/index.mjs +6 -0
  57. package/dist/adapters/http/ui/account-console/module.d.ts +28 -0
  58. package/dist/adapters/http/ui/account-console/module.d.ts.map +1 -0
  59. package/dist/adapters/http/ui/account-console/module.mjs +80 -0
  60. package/dist/adapters/http/ui/account-console/module.mjs.map +1 -0
  61. package/dist/adapters/http/ui/account-console/ref.d.ts +30 -0
  62. package/dist/adapters/http/ui/account-console/ref.d.ts.map +1 -0
  63. package/dist/adapters/http/ui/account-console/ref.mjs +50 -0
  64. package/dist/adapters/http/ui/account-console/ref.mjs.map +1 -0
  65. package/dist/adapters/http/ui/account-console/types.d.ts +11 -0
  66. package/dist/adapters/http/ui/account-console/types.d.ts.map +1 -0
  67. package/dist/adapters/http/ui/account-console/types.mjs +4 -0
  68. package/dist/adapters/http/ui/{internal-http-client.d.ts → auth-console/http-client.d.ts} +1 -1
  69. package/dist/adapters/http/ui/auth-console/http-client.d.ts.map +1 -0
  70. package/dist/adapters/http/ui/{internal-http-client.mjs → auth-console/http-client.mjs} +2 -2
  71. package/dist/adapters/http/ui/auth-console/http-client.mjs.map +1 -0
  72. package/dist/adapters/http/ui/auth-console/index.d.ts +6 -0
  73. package/dist/adapters/http/ui/auth-console/index.d.ts.map +1 -0
  74. package/dist/adapters/http/ui/auth-console/index.mjs +8 -0
  75. package/dist/adapters/http/ui/auth-console/module.d.ts +4 -0
  76. package/dist/adapters/http/ui/auth-console/module.d.ts.map +1 -0
  77. package/dist/adapters/http/ui/auth-console/module.mjs +73 -0
  78. package/dist/adapters/http/ui/auth-console/module.mjs.map +1 -0
  79. package/dist/adapters/http/ui/auth-console/resolve.d.ts +21 -0
  80. package/dist/adapters/http/ui/auth-console/resolve.d.ts.map +1 -0
  81. package/dist/adapters/http/ui/auth-console/resolve.mjs +53 -0
  82. package/dist/adapters/http/ui/auth-console/resolve.mjs.map +1 -0
  83. package/dist/adapters/http/ui/{serve.d.ts → auth-console/serve.d.ts} +1 -8
  84. package/dist/adapters/http/ui/auth-console/serve.d.ts.map +1 -0
  85. package/dist/adapters/http/ui/{serve.mjs → auth-console/serve.mjs} +5 -5
  86. package/dist/adapters/http/ui/auth-console/serve.mjs.map +1 -0
  87. package/dist/adapters/http/ui/auth-console/types.d.ts +26 -0
  88. package/dist/adapters/http/ui/auth-console/types.d.ts.map +1 -0
  89. package/dist/adapters/http/ui/auth-console/types.mjs +4 -0
  90. package/dist/adapters/http/ui/console-packages/index.d.ts +3 -0
  91. package/dist/adapters/http/ui/console-packages/index.d.ts.map +1 -0
  92. package/dist/adapters/http/ui/console-packages/index.mjs +5 -0
  93. package/dist/adapters/http/ui/console-packages/module.d.ts +33 -0
  94. package/dist/adapters/http/ui/console-packages/module.d.ts.map +1 -0
  95. package/dist/adapters/http/ui/console-packages/module.mjs +70 -0
  96. package/dist/adapters/http/ui/console-packages/module.mjs.map +1 -0
  97. package/dist/adapters/http/ui/console-packages/types.d.ts +12 -0
  98. package/dist/adapters/http/ui/console-packages/types.d.ts.map +1 -0
  99. package/dist/adapters/http/ui/console-packages/types.mjs +4 -0
  100. package/dist/adapters/http/ui/index.d.ts +5 -5
  101. package/dist/adapters/http/ui/index.d.ts.map +1 -1
  102. package/dist/adapters/http/ui/index.mjs +22 -5
  103. package/dist/adapters/http/ui/shared/html.d.ts +76 -0
  104. package/dist/adapters/http/ui/shared/html.d.ts.map +1 -0
  105. package/dist/adapters/http/ui/shared/html.mjs +103 -0
  106. package/dist/adapters/http/ui/shared/html.mjs.map +1 -0
  107. package/dist/adapters/http/ui/shared/index.d.ts +2 -0
  108. package/dist/adapters/http/ui/shared/index.d.ts.map +1 -0
  109. package/dist/adapters/http/ui/shared/index.mjs +5 -0
  110. package/dist/adapters/http/ui/theme/apply.d.ts +12 -0
  111. package/dist/adapters/http/ui/theme/apply.d.ts.map +1 -0
  112. package/dist/adapters/http/ui/theme/apply.mjs +29 -0
  113. package/dist/adapters/http/ui/theme/apply.mjs.map +1 -0
  114. package/dist/adapters/http/ui/theme/assets.d.ts +20 -0
  115. package/dist/adapters/http/ui/theme/assets.d.ts.map +1 -0
  116. package/dist/adapters/http/ui/theme/assets.mjs +86 -0
  117. package/dist/adapters/http/ui/theme/assets.mjs.map +1 -0
  118. package/dist/adapters/http/ui/theme/constants.d.ts +16 -0
  119. package/dist/adapters/http/ui/theme/constants.d.ts.map +1 -0
  120. package/dist/adapters/http/ui/theme/constants.mjs +20 -0
  121. package/dist/adapters/http/ui/theme/constants.mjs.map +1 -0
  122. package/dist/adapters/http/ui/theme/contract/constants.d.ts +120 -0
  123. package/dist/adapters/http/ui/theme/contract/constants.d.ts.map +1 -0
  124. package/dist/adapters/http/ui/theme/contract/constants.mjs +136 -0
  125. package/dist/adapters/http/ui/theme/contract/constants.mjs.map +1 -0
  126. package/dist/adapters/http/ui/theme/contract/head.d.ts +12 -0
  127. package/dist/adapters/http/ui/theme/contract/head.d.ts.map +1 -0
  128. package/dist/adapters/http/ui/theme/contract/head.mjs +61 -0
  129. package/dist/adapters/http/ui/theme/contract/head.mjs.map +1 -0
  130. package/dist/adapters/http/ui/theme/contract/index.d.ts +6 -0
  131. package/dist/adapters/http/ui/theme/contract/index.d.ts.map +1 -0
  132. package/dist/adapters/http/ui/theme/contract/index.mjs +8 -0
  133. package/dist/adapters/http/ui/theme/contract/manifest.d.ts +25 -0
  134. package/dist/adapters/http/ui/theme/contract/manifest.d.ts.map +1 -0
  135. package/dist/adapters/http/ui/theme/contract/manifest.mjs +77 -0
  136. package/dist/adapters/http/ui/theme/contract/manifest.mjs.map +1 -0
  137. package/dist/adapters/http/ui/theme/contract/types.d.ts +26 -0
  138. package/dist/adapters/http/ui/theme/contract/types.d.ts.map +1 -0
  139. package/dist/adapters/http/ui/theme/contract/types.mjs +4 -0
  140. package/dist/adapters/http/ui/theme/contract/utils.d.ts +11 -0
  141. package/dist/adapters/http/ui/theme/contract/utils.d.ts.map +1 -0
  142. package/dist/adapters/http/ui/theme/contract/utils.mjs +22 -0
  143. package/dist/adapters/http/ui/theme/contract/utils.mjs.map +1 -0
  144. package/dist/adapters/http/ui/theme/index.d.ts +7 -0
  145. package/dist/adapters/http/ui/theme/index.d.ts.map +1 -0
  146. package/dist/adapters/http/ui/theme/index.mjs +13 -0
  147. package/dist/adapters/http/ui/theme/module.d.ts +79 -0
  148. package/dist/adapters/http/ui/theme/module.d.ts.map +1 -0
  149. package/dist/adapters/http/ui/theme/module.mjs +206 -0
  150. package/dist/adapters/http/ui/theme/module.mjs.map +1 -0
  151. package/dist/adapters/http/ui/theme/types.d.ts +42 -0
  152. package/dist/adapters/http/ui/theme/types.d.ts.map +1 -0
  153. package/dist/adapters/http/ui/theme/types.mjs +4 -0
  154. package/dist/app/index.mjs +3 -1
  155. package/dist/app/modules/authentication/module.mjs +6 -3
  156. package/dist/app/modules/authentication/module.mjs.map +1 -1
  157. package/dist/app/modules/config/constants.d.ts +5 -0
  158. package/dist/app/modules/config/constants.d.ts.map +1 -1
  159. package/dist/app/modules/config/constants.mjs +5 -0
  160. package/dist/app/modules/config/constants.mjs.map +1 -1
  161. package/dist/app/modules/config/helpers.mjs +3 -2
  162. package/dist/app/modules/config/helpers.mjs.map +1 -1
  163. package/dist/app/modules/config/normalize.d.ts.map +1 -1
  164. package/dist/app/modules/config/normalize.mjs +8 -0
  165. package/dist/app/modules/config/normalize.mjs.map +1 -1
  166. package/dist/app/modules/config/origins.d.ts.map +1 -1
  167. package/dist/app/modules/config/origins.mjs +2 -0
  168. package/dist/app/modules/config/origins.mjs.map +1 -1
  169. package/dist/app/modules/config/read/env.d.ts.map +1 -1
  170. package/dist/app/modules/config/read/env.mjs +10 -0
  171. package/dist/app/modules/config/read/env.mjs.map +1 -1
  172. package/dist/app/modules/config/read/module.mjs +8 -3
  173. package/dist/app/modules/config/read/module.mjs.map +1 -1
  174. package/dist/app/modules/config/types.d.ts +63 -3
  175. package/dist/app/modules/config/types.d.ts.map +1 -1
  176. package/dist/app/modules/config/validator.d.ts.map +1 -1
  177. package/dist/app/modules/config/validator.mjs +5 -0
  178. package/dist/app/modules/config/validator.mjs.map +1 -1
  179. package/dist/app/modules/database/module.mjs +2 -1
  180. package/dist/app/modules/database/module.mjs.map +1 -1
  181. package/dist/app/modules/http/module.d.ts.map +1 -1
  182. package/dist/app/modules/http/module.mjs +7 -1
  183. package/dist/app/modules/http/module.mjs.map +1 -1
  184. package/dist/app/modules/http/modules/controller.d.ts +2 -1
  185. package/dist/app/modules/http/modules/controller.d.ts.map +1 -1
  186. package/dist/app/modules/http/modules/controller.mjs +214 -128
  187. package/dist/app/modules/http/modules/controller.mjs.map +1 -1
  188. package/dist/app/modules/http/modules/middleware.d.ts +9 -1
  189. package/dist/app/modules/http/modules/middleware.d.ts.map +1 -1
  190. package/dist/app/modules/http/modules/middleware.mjs +28 -8
  191. package/dist/app/modules/http/modules/middleware.mjs.map +1 -1
  192. package/dist/app/modules/identity/module.mjs +6 -3
  193. package/dist/app/modules/identity/module.mjs.map +1 -1
  194. package/dist/app/modules/index.mjs +3 -1
  195. package/dist/app/modules/oauth2/module.mjs +37 -17
  196. package/dist/app/modules/oauth2/module.mjs.map +1 -1
  197. package/dist/app/modules/oauth2/repositories/authorize/state/repository.mjs +1 -1
  198. package/dist/app/modules/oauth2/repositories/authorize/state/repository.mjs.map +1 -1
  199. package/dist/app/modules/oauth2/repositories/token/repository.mjs +1 -1
  200. package/dist/app/modules/oauth2/repositories/token/repository.mjs.map +1 -1
  201. package/dist/app/modules/provisioning/constants.d.ts +12 -0
  202. package/dist/app/modules/provisioning/constants.d.ts.map +1 -0
  203. package/dist/app/modules/provisioning/constants.mjs +16 -0
  204. package/dist/app/modules/provisioning/constants.mjs.map +1 -0
  205. package/dist/app/modules/provisioning/index.d.ts +2 -0
  206. package/dist/app/modules/provisioning/index.d.ts.map +1 -1
  207. package/dist/app/modules/provisioning/index.mjs +3 -1
  208. package/dist/app/modules/provisioning/lazy-wildcard.d.ts +15 -0
  209. package/dist/app/modules/provisioning/lazy-wildcard.d.ts.map +1 -0
  210. package/dist/app/modules/provisioning/lazy-wildcard.mjs +23 -0
  211. package/dist/app/modules/provisioning/lazy-wildcard.mjs.map +1 -0
  212. package/dist/app/modules/provisioning/module.d.ts.map +1 -1
  213. package/dist/app/modules/provisioning/module.mjs +30 -11
  214. package/dist/app/modules/provisioning/module.mjs.map +1 -1
  215. package/dist/app/modules/provisioning/sources/composite/module.d.ts +0 -19
  216. package/dist/app/modules/provisioning/sources/composite/module.d.ts.map +1 -1
  217. package/dist/app/modules/provisioning/sources/composite/module.mjs +7 -77
  218. package/dist/app/modules/provisioning/sources/composite/module.mjs.map +1 -1
  219. package/dist/app/modules/provisioning/sources/file/module.d.ts.map +1 -1
  220. package/dist/app/modules/provisioning/sources/file/module.mjs +11 -2
  221. package/dist/app/modules/provisioning/sources/file/module.mjs.map +1 -1
  222. package/dist/core/authentication/session/module.mjs +2 -4
  223. package/dist/core/authentication/session/module.mjs.map +1 -1
  224. package/dist/core/entities/client/index.d.ts +1 -1
  225. package/dist/core/entities/client/index.d.ts.map +1 -1
  226. package/dist/core/entities/client/index.mjs +2 -2
  227. package/dist/core/entities/client/service.d.ts.map +1 -1
  228. package/dist/core/entities/client/service.mjs +1 -1
  229. package/dist/core/entities/client/service.mjs.map +1 -1
  230. package/dist/core/entities/client/system-clients.d.ts +95 -0
  231. package/dist/core/entities/client/system-clients.d.ts.map +1 -0
  232. package/dist/core/entities/client/system-clients.mjs +158 -0
  233. package/dist/core/entities/client/system-clients.mjs.map +1 -0
  234. package/dist/core/entities/client/types.d.ts +17 -4
  235. package/dist/core/entities/client/types.d.ts.map +1 -1
  236. package/dist/core/entities/client-permission/service.mjs +12 -9
  237. package/dist/core/entities/client-permission/service.mjs.map +1 -1
  238. package/dist/core/entities/index.mjs +2 -2
  239. package/dist/core/entities/key/service.mjs +4 -2
  240. package/dist/core/entities/key/service.mjs.map +1 -1
  241. package/dist/core/entities/permission/service.d.ts.map +1 -1
  242. package/dist/core/entities/permission/service.mjs +1 -1
  243. package/dist/core/entities/permission/service.mjs.map +1 -1
  244. package/dist/core/entities/policy/service.d.ts.map +1 -1
  245. package/dist/core/entities/policy/service.mjs +3 -2
  246. package/dist/core/entities/policy/service.mjs.map +1 -1
  247. package/dist/core/entities/realm/service.d.ts +8 -6
  248. package/dist/core/entities/realm/service.d.ts.map +1 -1
  249. package/dist/core/entities/realm/service.mjs +6 -9
  250. package/dist/core/entities/realm/service.mjs.map +1 -1
  251. package/dist/core/entities/role/service.d.ts.map +1 -1
  252. package/dist/core/entities/role/service.mjs +1 -1
  253. package/dist/core/entities/role/service.mjs.map +1 -1
  254. package/dist/core/entities/role-permission/service.mjs +12 -9
  255. package/dist/core/entities/role-permission/service.mjs.map +1 -1
  256. package/dist/core/entities/scope/service.d.ts.map +1 -1
  257. package/dist/core/entities/scope/service.mjs +1 -1
  258. package/dist/core/entities/scope/service.mjs.map +1 -1
  259. package/dist/core/entities/user/service.d.ts.map +1 -1
  260. package/dist/core/entities/user/service.mjs +1 -1
  261. package/dist/core/entities/user/service.mjs.map +1 -1
  262. package/dist/core/entities/user-authenticator/helpers.mjs +1 -1
  263. package/dist/core/entities/user-authenticator/helpers.mjs.map +1 -1
  264. package/dist/core/entities/user-authenticator/service.mjs +7 -7
  265. package/dist/core/entities/user-authenticator/service.mjs.map +1 -1
  266. package/dist/core/entities/user-permission/service.mjs +12 -9
  267. package/dist/core/entities/user-permission/service.mjs.map +1 -1
  268. package/dist/core/identity/password-recovery/service.mjs +1 -1
  269. package/dist/core/identity/password-recovery/service.mjs.map +1 -1
  270. package/dist/core/index.mjs +6 -2
  271. package/dist/core/key/types.d.ts +2 -1
  272. package/dist/core/key/types.d.ts.map +1 -1
  273. package/dist/core/oauth2/authorization/code-request/verifier/module.d.ts.map +1 -1
  274. package/dist/core/oauth2/authorization/code-request/verifier/module.mjs +2 -2
  275. package/dist/core/oauth2/authorization/code-request/verifier/module.mjs.map +1 -1
  276. package/dist/core/oauth2/end-session/service.d.ts.map +1 -1
  277. package/dist/core/oauth2/end-session/service.mjs +2 -2
  278. package/dist/core/oauth2/end-session/service.mjs.map +1 -1
  279. package/dist/core/provisioning/constants.d.ts +8 -0
  280. package/dist/core/provisioning/constants.d.ts.map +1 -0
  281. package/dist/core/provisioning/constants.mjs +14 -0
  282. package/dist/core/provisioning/constants.mjs.map +1 -0
  283. package/dist/core/provisioning/entities/index.mjs +2 -1
  284. package/dist/core/provisioning/entities/realm/index.d.ts +1 -0
  285. package/dist/core/provisioning/entities/realm/index.d.ts.map +1 -1
  286. package/dist/core/provisioning/entities/realm/index.mjs +2 -1
  287. package/dist/core/provisioning/entities/realm/validator.d.ts +11 -0
  288. package/dist/core/provisioning/entities/realm/validator.d.ts.map +1 -1
  289. package/dist/core/provisioning/entities/realm/validator.mjs +14 -0
  290. package/dist/core/provisioning/entities/realm/validator.mjs.map +1 -1
  291. package/dist/core/provisioning/entities/realm/wildcard-validator.d.ts +19 -0
  292. package/dist/core/provisioning/entities/realm/wildcard-validator.d.ts.map +1 -0
  293. package/dist/core/provisioning/entities/realm/wildcard-validator.mjs +65 -0
  294. package/dist/core/provisioning/entities/realm/wildcard-validator.mjs.map +1 -0
  295. package/dist/core/provisioning/index.d.ts +3 -0
  296. package/dist/core/provisioning/index.d.ts.map +1 -1
  297. package/dist/core/provisioning/index.mjs +7 -1
  298. package/dist/core/provisioning/merge/index.d.ts +3 -0
  299. package/dist/core/provisioning/merge/index.d.ts.map +1 -0
  300. package/dist/core/provisioning/merge/index.mjs +5 -0
  301. package/dist/core/provisioning/merge/module.d.ts +18 -0
  302. package/dist/core/provisioning/merge/module.d.ts.map +1 -0
  303. package/dist/core/provisioning/merge/module.mjs +82 -0
  304. package/dist/core/provisioning/merge/module.mjs.map +1 -0
  305. package/dist/core/provisioning/merge/types.d.ts +34 -0
  306. package/dist/core/provisioning/merge/types.d.ts.map +1 -0
  307. package/dist/core/provisioning/merge/types.mjs +4 -0
  308. package/dist/core/provisioning/synchronizer/client/module.mjs +0 -1
  309. package/dist/core/provisioning/synchronizer/client/module.mjs.map +1 -1
  310. package/dist/core/provisioning/synchronizer/permission/module.mjs +0 -1
  311. package/dist/core/provisioning/synchronizer/permission/module.mjs.map +1 -1
  312. package/dist/core/provisioning/synchronizer/realm/module.mjs +0 -1
  313. package/dist/core/provisioning/synchronizer/realm/module.mjs.map +1 -1
  314. package/dist/core/provisioning/synchronizer/role/module.mjs +0 -1
  315. package/dist/core/provisioning/synchronizer/role/module.mjs.map +1 -1
  316. package/dist/core/provisioning/synchronizer/scope/module.mjs +0 -1
  317. package/dist/core/provisioning/synchronizer/scope/module.mjs.map +1 -1
  318. package/dist/core/provisioning/synchronizer/user/module.mjs +0 -1
  319. package/dist/core/provisioning/synchronizer/user/module.mjs.map +1 -1
  320. package/dist/core/provisioning/types.d.ts +10 -0
  321. package/dist/core/provisioning/types.d.ts.map +1 -1
  322. package/dist/core/provisioning/wildcard/index.d.ts +3 -0
  323. package/dist/core/provisioning/wildcard/index.d.ts.map +1 -0
  324. package/dist/core/provisioning/wildcard/index.mjs +5 -0
  325. package/dist/core/provisioning/wildcard/module.d.ts +53 -0
  326. package/dist/core/provisioning/wildcard/module.d.ts.map +1 -0
  327. package/dist/core/provisioning/wildcard/module.mjs +91 -0
  328. package/dist/core/provisioning/wildcard/module.mjs.map +1 -0
  329. package/dist/core/provisioning/wildcard/types.d.ts +19 -0
  330. package/dist/core/provisioning/wildcard/types.d.ts.map +1 -0
  331. package/dist/core/provisioning/wildcard/types.mjs +4 -0
  332. package/dist/index.mjs +5 -1
  333. package/dist/path.d.ts +0 -2
  334. package/dist/path.d.ts.map +1 -1
  335. package/dist/path.mjs +1 -3
  336. package/dist/path.mjs.map +1 -1
  337. package/dist/swagger.json +485 -17
  338. package/package.json +26 -63
  339. package/dist/adapters/http/ui/base-path.d.ts +0 -9
  340. package/dist/adapters/http/ui/base-path.d.ts.map +0 -1
  341. package/dist/adapters/http/ui/base-path.mjs +0 -18
  342. package/dist/adapters/http/ui/base-path.mjs.map +0 -1
  343. package/dist/adapters/http/ui/internal-http-client.d.ts.map +0 -1
  344. package/dist/adapters/http/ui/internal-http-client.mjs.map +0 -1
  345. package/dist/adapters/http/ui/render.d.ts +0 -4
  346. package/dist/adapters/http/ui/render.d.ts.map +0 -1
  347. package/dist/adapters/http/ui/render.mjs +0 -63
  348. package/dist/adapters/http/ui/render.mjs.map +0 -1
  349. package/dist/adapters/http/ui/serve.d.ts.map +0 -1
  350. package/dist/adapters/http/ui/serve.mjs.map +0 -1
  351. package/dist/adapters/http/ui/types.d.ts +0 -20
  352. package/dist/adapters/http/ui/types.d.ts.map +0 -1
  353. package/dist/core/entities/client/web-client.d.ts +0 -72
  354. package/dist/core/entities/client/web-client.d.ts.map +0 -1
  355. package/dist/core/entities/client/web-client.mjs +0 -123
  356. package/dist/core/entities/client/web-client.mjs.map +0 -1
  357. package/dist/ui/client/.vite/ssr-manifest.json +0 -54812
  358. package/dist/ui/client/assets/asap-latin-400-normal-Dc37g3Il.woff +0 -0
  359. package/dist/ui/client/assets/asap-latin-400-normal-DnZ1MOsG.woff2 +0 -0
  360. package/dist/ui/client/assets/asap-latin-700-normal-Dqcopq14.woff +0 -0
  361. package/dist/ui/client/assets/asap-latin-700-normal-l2Y8pi-F.woff2 +0 -0
  362. package/dist/ui/client/assets/asap-latin-ext-400-normal-C-fcRdtE.woff +0 -0
  363. package/dist/ui/client/assets/asap-latin-ext-400-normal-DwYtpHbV.woff2 +0 -0
  364. package/dist/ui/client/assets/asap-latin-ext-700-normal-D00OESsZ.woff +0 -0
  365. package/dist/ui/client/assets/asap-latin-ext-700-normal-y8bo5aW5.woff2 +0 -0
  366. package/dist/ui/client/assets/asap-vietnamese-400-normal-DGyJlJLT.woff2 +0 -0
  367. package/dist/ui/client/assets/asap-vietnamese-400-normal-lfLaoF2x.woff +0 -0
  368. package/dist/ui/client/assets/asap-vietnamese-700-normal-B-e19ug5.woff +0 -0
  369. package/dist/ui/client/assets/asap-vietnamese-700-normal-D-SxY94i.woff2 +0 -0
  370. package/dist/ui/client/assets/index-Bk6-OZy9.css +0 -2
  371. package/dist/ui/client/assets/index-DO6_7NTJ.js +0 -106
  372. package/dist/ui/client/assets/nunito-cyrillic-300-normal-BPQV259B.woff2 +0 -0
  373. package/dist/ui/client/assets/nunito-cyrillic-300-normal-g5qSsvc0.woff +0 -0
  374. package/dist/ui/client/assets/nunito-cyrillic-400-normal-D1j0u8EH.woff +0 -0
  375. package/dist/ui/client/assets/nunito-cyrillic-400-normal-xAOo5cBP.woff2 +0 -0
  376. package/dist/ui/client/assets/nunito-cyrillic-600-normal-BUjmtIuu.woff +0 -0
  377. package/dist/ui/client/assets/nunito-cyrillic-600-normal-DJGQ2h05.woff2 +0 -0
  378. package/dist/ui/client/assets/nunito-cyrillic-700-normal-DP36NgGt.woff2 +0 -0
  379. package/dist/ui/client/assets/nunito-cyrillic-700-normal-DfHRUDv-.woff +0 -0
  380. package/dist/ui/client/assets/nunito-cyrillic-ext-300-normal-BDHtqmCR.woff +0 -0
  381. package/dist/ui/client/assets/nunito-cyrillic-ext-300-normal-ChMQLIrm.woff2 +0 -0
  382. package/dist/ui/client/assets/nunito-cyrillic-ext-400-normal-CuPM9foi.woff2 +0 -0
  383. package/dist/ui/client/assets/nunito-cyrillic-ext-400-normal-xaE7D4Sw.woff +0 -0
  384. package/dist/ui/client/assets/nunito-cyrillic-ext-600-normal-CWPPjBOD.woff2 +0 -0
  385. package/dist/ui/client/assets/nunito-cyrillic-ext-600-normal-vnfu4DTE.woff +0 -0
  386. package/dist/ui/client/assets/nunito-cyrillic-ext-700-normal-BuR0mlCG.woff2 +0 -0
  387. package/dist/ui/client/assets/nunito-cyrillic-ext-700-normal-DfoqN4Gs.woff +0 -0
  388. package/dist/ui/client/assets/nunito-latin-300-normal-C3ZIKvzv.woff +0 -0
  389. package/dist/ui/client/assets/nunito-latin-300-normal-COoPE5VN.woff2 +0 -0
  390. package/dist/ui/client/assets/nunito-latin-400-normal-DKg4f3fz.woff +0 -0
  391. package/dist/ui/client/assets/nunito-latin-400-normal-r8SDr6Up.woff2 +0 -0
  392. package/dist/ui/client/assets/nunito-latin-600-normal-Br8yIETf.woff2 +0 -0
  393. package/dist/ui/client/assets/nunito-latin-600-normal-Cd0eNu1l.woff +0 -0
  394. package/dist/ui/client/assets/nunito-latin-700-normal-Dort48En.woff2 +0 -0
  395. package/dist/ui/client/assets/nunito-latin-700-normal-OcDqTBcA.woff +0 -0
  396. package/dist/ui/client/assets/nunito-latin-ext-300-normal-D1SyVuPt.woff2 +0 -0
  397. package/dist/ui/client/assets/nunito-latin-ext-300-normal-DfqbmdMl.woff +0 -0
  398. package/dist/ui/client/assets/nunito-latin-ext-400-normal-CjMJVfGn.woff +0 -0
  399. package/dist/ui/client/assets/nunito-latin-ext-400-normal-i-8OOpdj.woff2 +0 -0
  400. package/dist/ui/client/assets/nunito-latin-ext-600-normal-BKUpuB78.woff +0 -0
  401. package/dist/ui/client/assets/nunito-latin-ext-600-normal-Dd9Zuxh1.woff2 +0 -0
  402. package/dist/ui/client/assets/nunito-latin-ext-700-normal-BWeMsAzO.woff2 +0 -0
  403. package/dist/ui/client/assets/nunito-latin-ext-700-normal-D4woHhbd.woff +0 -0
  404. package/dist/ui/client/assets/nunito-vietnamese-300-normal-DATld5Vw.woff +0 -0
  405. package/dist/ui/client/assets/nunito-vietnamese-300-normal-mLneKULB.woff2 +0 -0
  406. package/dist/ui/client/assets/nunito-vietnamese-400-normal-BHkVbP3T.woff2 +0 -0
  407. package/dist/ui/client/assets/nunito-vietnamese-400-normal-DtOtW02z.woff +0 -0
  408. package/dist/ui/client/assets/nunito-vietnamese-600-normal-BY8O6Cug.woff2 +0 -0
  409. package/dist/ui/client/assets/nunito-vietnamese-600-normal-DO1RqFw5.woff +0 -0
  410. package/dist/ui/client/assets/nunito-vietnamese-700-normal-C9SQsXvj.woff +0 -0
  411. package/dist/ui/client/assets/nunito-vietnamese-700-normal-Ch8EUCfz.woff2 +0 -0
  412. package/dist/ui/client/index.html +0 -22
  413. package/dist/ui/server/assets/multipart-parser-BCMy8Xwv.js +0 -181
  414. package/dist/ui/server/assets/multipart-parser-BVY8pIV2.js +0 -176
  415. package/dist/ui/server/server.js +0 -158420
  416. /package/dist/adapters/http/{ui → middleware/built-in}/types.mjs +0 -0
@@ -0,0 +1,28 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,80 @@
1
+ import "node:path";
2
+ import "node:url";
3
+ import.meta.url;
4
+ import { PACKAGE_PATH } from "../../../../path.mjs";
5
+ import { applyUIPageHeaders, readUIClientPreferences, rebaseAssetURLs, replaceTemplateMarker, serializeInlineScriptJSON, stampHtmlAttributes } from "../shared/html.mjs";
6
+ import "../shared/index.mjs";
7
+ import { applyTheme } from "../theme/apply.mjs";
8
+ import "../theme/index.mjs";
9
+ import { useRequestTheme } from "../../middleware/built-in/theme.mjs";
10
+ import "../../middleware/index.mjs";
11
+ import { resolveAccountConsoleRef } from "./ref.mjs";
12
+ import { getURLBasePath } from "@authup/kit";
13
+ import { InternalError } from "@authup/errors";
14
+ import path from "node:path";
15
+ import { useRequestQuery } from "@routup/basic/query";
16
+ import { CodeTransformation, isCodeTransformation } from "typeorm-extension";
17
+ import { locateUpSync } from "locter";
18
+ import fs from "node:fs";
19
+ //#region src/adapters/http/ui/account-console/module.ts
20
+ const CONFIG_MARKER = "<!--account-config-->";
21
+ let cachedDistPath;
22
+ let cachedHtml;
23
+ let overridePackagePath;
24
+ /**
25
+ * Point the resolution at a substituted package (config
26
+ * `accountConsolePath`) instead of the node_modules walk. Called once at
27
+ * boot.
28
+ */ function setAccountConsolePackagePath(value) {
29
+ overridePackagePath = value || void 0;
30
+ cachedDistPath = void 0;
31
+ cachedHtml = void 0;
32
+ }
33
+ /**
34
+ * Locate the built account console bundle. The SPA ships as the
35
+ * `@authup/client-account-console` package (a server-core dependency), so
36
+ * the node_modules ancestor walk from server-core's own package root
37
+ * (locter's `locateUp`) finds it for the workspace (symlink onto
38
+ * apps/client-account-console) and for a published install alike. Only a
39
+ * positive result is cached — a dev building the app after boot is picked
40
+ * up on the next request.
41
+ */ function resolveAccountConsoleDistPath() {
42
+ if (cachedDistPath) return cachedDistPath;
43
+ const packagePath = overridePackagePath ?? locateUpSync("node_modules/@authup/client-account-console/package.json", { cwd: PACKAGE_PATH })?.directory;
44
+ if (packagePath) {
45
+ const distPath = path.join(packagePath, "dist");
46
+ if (fs.existsSync(path.join(distPath, "index.html"))) cachedDistPath = distPath;
47
+ }
48
+ return cachedDistPath;
49
+ }
50
+ /**
51
+ * Serve the account console SPA shell: the package's built index.html with
52
+ * the runtime configuration injected (replacing the `<!--account-config-->`
53
+ * marker), the color-mode/lang attributes stamped from the shared cookies
54
+ * (no flash), and asset hrefs rebased when publicUrl carries a sub-path.
55
+ * Client-side routing owns everything below /account — the shell is the
56
+ * same for every sub-path.
57
+ */ async function serveAccountConsolePage(event, options) {
58
+ const distPath = resolveAccountConsoleDistPath();
59
+ if (!distPath) throw new InternalError("The account console bundle (@authup/client-account-console) is not built or installed.");
60
+ let html;
61
+ if (isCodeTransformation(CodeTransformation.JUST_IN_TIME)) html = await fs.promises.readFile(path.join(distPath, "index.html"), "utf-8");
62
+ else html = cachedHtml ??= await fs.promises.readFile(path.join(distPath, "index.html"), "utf-8");
63
+ const basePath = getURLBasePath(options.baseURL);
64
+ const config = {
65
+ apiUrl: options.baseURL,
66
+ basePath: `${basePath}/account`,
67
+ features: options.features,
68
+ ref: resolveAccountConsoleRef(useRequestQuery(event, "ref"), options.trustedOrigins)
69
+ };
70
+ let body = replaceTemplateMarker(html, CONFIG_MARKER, `<script>window.__AUTHUP__ = ${serializeInlineScriptJSON(config)};<\/script>`);
71
+ body = stampHtmlAttributes(body, readUIClientPreferences(event));
72
+ body = rebaseAssetURLs(body, basePath, "/account/");
73
+ body = await applyTheme(body, useRequestTheme(event), basePath);
74
+ applyUIPageHeaders(event);
75
+ return body;
76
+ }
77
+ //#endregion
78
+ export { resolveAccountConsoleDistPath, serveAccountConsolePage, setAccountConsolePackagePath };
79
+
80
+ //# sourceMappingURL=module.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"module.mjs","names":["InternalError","getURLBasePath","useRequestQuery","locateUpSync","fs","path","CodeTransformation","isCodeTransformation","PACKAGE_PATH","useRequestTheme","applyTheme","applyUIPageHeaders","readUIClientPreferences","rebaseAssetURLs","replaceTemplateMarker","serializeInlineScriptJSON","stampHtmlAttributes","resolveAccountConsoleRef","CONFIG_MARKER","cachedDistPath","cachedHtml","overridePackagePath","setAccountConsolePackagePath","value","undefined","resolveAccountConsoleDistPath","packagePath","cwd","directory","distPath","join","existsSync","serveAccountConsolePage","event","options","html","JUST_IN_TIME","promises","readFile","basePath","baseURL","config","apiUrl","features","ref","trustedOrigins","body"],"sources":["../../../../../src/adapters/http/ui/account-console/module.ts"],"sourcesContent":["/*\n * Copyright (c) 2026.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { InternalError } from '@authup/errors';\nimport { getURLBasePath } from '@authup/kit';\nimport { useRequestQuery } from '@routup/basic/query';\nimport { locateUpSync } from 'locter';\nimport fs from 'node:fs';\nimport path from 'node:path';\nimport type { IAppEvent } from 'routup';\nimport { CodeTransformation, isCodeTransformation } from 'typeorm-extension';\nimport { PACKAGE_PATH } from '../../../../path.ts';\nimport { useRequestTheme } from '../../middleware/index.ts';\nimport { applyTheme } from '../theme/index.ts';\nimport {\n applyUIPageHeaders,\n readUIClientPreferences,\n rebaseAssetURLs,\n replaceTemplateMarker,\n serializeInlineScriptJSON,\n stampHtmlAttributes,\n} from '../shared/index.ts';\nimport { resolveAccountConsoleRef } from './ref.ts';\nimport type { AccountConsoleServeOptions } from './types.ts';\n\nconst CONFIG_MARKER = '<!--account-config-->';\n\nlet cachedDistPath: string | undefined;\nlet cachedHtml: string | undefined;\nlet overridePackagePath: string | undefined;\n\n/**\n * Point the resolution at a substituted package (config\n * `accountConsolePath`) instead of the node_modules walk. Called once at\n * boot.\n */\nexport function setAccountConsolePackagePath(value: string | undefined) : void {\n overridePackagePath = value || undefined;\n cachedDistPath = undefined;\n cachedHtml = undefined;\n}\n\n/**\n * Locate the built account console bundle. The SPA ships as the\n * `@authup/client-account-console` package (a server-core dependency), so\n * the node_modules ancestor walk from server-core's own package root\n * (locter's `locateUp`) finds it for the workspace (symlink onto\n * apps/client-account-console) and for a published install alike. Only a\n * positive result is cached — a dev building the app after boot is picked\n * up on the next request.\n */\nexport function resolveAccountConsoleDistPath() : string | undefined {\n if (cachedDistPath) {\n return cachedDistPath;\n }\n\n const packagePath = overridePackagePath ?? locateUpSync(\n 'node_modules/@authup/client-account-console/package.json',\n { cwd: PACKAGE_PATH },\n )?.directory;\n\n if (packagePath) {\n const distPath = path.join(packagePath, 'dist');\n\n if (fs.existsSync(path.join(distPath, 'index.html'))) {\n cachedDistPath = distPath;\n }\n }\n\n return cachedDistPath;\n}\n\n/**\n * Serve the account console SPA shell: the package's built index.html with\n * the runtime configuration injected (replacing the `<!--account-config-->`\n * marker), the color-mode/lang attributes stamped from the shared cookies\n * (no flash), and asset hrefs rebased when publicUrl carries a sub-path.\n * Client-side routing owns everything below /account — the shell is the\n * same for every sub-path.\n */\nexport async function serveAccountConsolePage(\n event: IAppEvent,\n options: AccountConsoleServeOptions,\n) : Promise<string> {\n const distPath = resolveAccountConsoleDistPath();\n if (!distPath) {\n throw new InternalError(\n 'The account console bundle (@authup/client-account-console) is not built or installed.',\n );\n }\n\n let html : string;\n if (isCodeTransformation(CodeTransformation.JUST_IN_TIME)) {\n // dev: re-read so a rebuilt bundle is picked up without a restart\n html = await fs.promises.readFile(path.join(distPath, 'index.html'), 'utf-8');\n } else {\n html = (cachedHtml ??= await fs.promises.readFile(\n path.join(distPath, 'index.html'),\n 'utf-8',\n ));\n }\n\n const basePath = getURLBasePath(options.baseURL);\n\n // publicUrl and the feature flags are operator config, but `ref` is\n // request-reflected, so it is validated against the trusted app\n // origins before it goes anywhere near the page.\n //\n // The splice below MUST stay `replaceTemplateMarker`. A plain\n // String.prototype.replace expands `$&`, \"$`\", `$'` and `$$` inside the\n // REPLACEMENT value, so a crafted `ref` could splice the template's own\n // tail into the payload and break the inline script. That is the exact\n // bug that killed the auth console's hydration payload.\n const config = {\n apiUrl: options.baseURL,\n basePath: `${basePath}/account`,\n features: options.features,\n ref: resolveAccountConsoleRef(\n useRequestQuery(event, 'ref'),\n options.trustedOrigins,\n ),\n };\n\n let body = replaceTemplateMarker(\n html,\n CONFIG_MARKER,\n `<script>window.__AUTHUP__ = ${serializeInlineScriptJSON(config)};</script>`,\n );\n\n body = stampHtmlAttributes(body, readUIClientPreferences(event));\n body = rebaseAssetURLs(body, basePath, '/account/');\n\n body = await applyTheme(body, useRequestTheme(event), basePath);\n\n applyUIPageHeaders(event);\n\n return body;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;AA6BA,MAAMkB,gBAAgB;AAEtB,IAAIC;AACJ,IAAIC;AACJ,IAAIC;;;;;GAOJ,SAAgBC,6BAA6BC,OAAyB;CAClEF,sBAAsBE,SAASC,KAAAA;CAC/BL,iBAAiBK,KAAAA;CACjBJ,aAAaI,KAAAA;AACjB;;;;;;;;;GAWA,SAAgBC,gCAAAA;CACZ,IAAIN,gBACA,OAAOA;CAGX,MAAMO,cAAcL,uBAAuBlB,aACvC,4DACA,EAAEwB,KAAKnB,aAAa,CAAA,CAAA,EACrBoB;CAEH,IAAIF,aAAa;EACb,MAAMG,WAAWxB,KAAKyB,KAAKJ,aAAa,MAAA;EAExC,IAAItB,GAAG2B,WAAW1B,KAAKyB,KAAKD,UAAU,YAAA,CAAA,GAClCV,iBAAiBU;CAEzB;CAEA,OAAOV;AACX;;;;;;;;GAUA,eAAsBa,wBAClBC,OACAC,SAAmC;CAEnC,MAAML,WAAWJ,8BAAAA;CACjB,IAAI,CAACI,UACD,MAAM,IAAI7B,cACN,wFAAA;CAIR,IAAImC;CACJ,IAAI5B,qBAAqBD,mBAAmB8B,YAAY,GAEpDD,OAAO,MAAM/B,GAAGiC,SAASC,SAASjC,KAAKyB,KAAKD,UAAU,YAAA,GAAe,OAAA;MAErEM,OAAQf,eAAe,MAAMhB,GAAGiC,SAASC,SACrCjC,KAAKyB,KAAKD,UAAU,YAAA,GACpB,OAAA;CAIR,MAAMU,WAAWtC,eAAeiC,QAAQM,OAAO;CAW/C,MAAMC,SAAS;EACXC,QAAQR,QAAQM;EAChBD,UAAU,GAAGA,SAAS;EACtBI,UAAUT,QAAQS;EAClBC,KAAK3B,yBACDf,gBAAgB+B,OAAO,KAAA,GACvBC,QAAQW,cAAc;CAE9B;CAEA,IAAIC,OAAOhC,sBACPqB,MACAjB,eACA,+BAA+BH,0BAA0B0B,MAAAA,EAAQ,YAAW;CAGhFK,OAAO9B,oBAAoB8B,MAAMlC,wBAAwBqB,KAAAA,CAAAA;CACzDa,OAAOjC,gBAAgBiC,MAAMP,UAAU,WAAA;CAEvCO,OAAO,MAAMpC,WAAWoC,MAAMrC,gBAAgBwB,KAAAA,GAAQM,QAAAA;CAEtD5B,mBAAmBsB,KAAAA;CAEnB,OAAOa;AACX"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Upper bound on an accepted `ref`, matching the cap
3
+ * `OAuth2EndSessionRequestValidator` applies to `post_logout_redirect_uri`.
4
+ */
5
+ export declare const ACCOUNT_CONSOLE_REF_MAX_LENGTH = 2000;
6
+ /**
7
+ * Resolve the `ref` back-link parameter against the trusted app origins.
8
+ *
9
+ * `ref` names the application the visitor came from, so the account console
10
+ * can render a link back to it. It is attacker-supplied, and it is rendered
11
+ * on an authenticated first-party page, so an unvalidated value would be a
12
+ * phishing surface. The check mirrors the client redirect allowlist: each
13
+ * trusted origin becomes an `<origin>/**` pattern, which admits the bare
14
+ * origin and any path below it while rejecting a foreign origin, a
15
+ * suffix-extended host (`admin.example.com.evil.test`), a userinfo-prefixed
16
+ * host (`admin.example.com@evil.test`) and a scheme downgrade.
17
+ *
18
+ * The value is canonicalized through `URL` before matching, so a host
19
+ * differing only in case still matches (the matcher is case-sensitive, while
20
+ * a host is not). The canonical form is what gets returned, and it is what
21
+ * the page embeds. `isSimpleURLMatch` canonicalizes as well, which is what
22
+ * keeps a wildcard in a trusted origin from escaping the authority; doing it
23
+ * here too is what lets this function RETURN the canonical form.
24
+ *
25
+ * Returns undefined for anything that does not pass. The caller drops it
26
+ * silently, the way `sanitizeRelativeRedirect` drops a bad workflow
27
+ * redirect.
28
+ */
29
+ export declare function resolveAccountConsoleRef(value: unknown, trustedOrigins: string[]): string | undefined;
30
+ //# sourceMappingURL=ref.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ref.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/http/ui/account-console/ref.ts"],"names":[],"mappings":"AASA;;;GAGG;AACH,eAAO,MAAM,8BAA8B,OAAO,CAAC;AAEnD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,wBAAwB,CACpC,KAAK,EAAE,OAAO,EACd,cAAc,EAAE,MAAM,EAAE,GACxB,MAAM,GAAG,SAAS,CA4BrB"}
@@ -0,0 +1,50 @@
1
+ import "node:path";
2
+ import "node:url";
3
+ import.meta.url;
4
+ import { isSimpleURLMatch } from "@authup/kit";
5
+ //#region src/adapters/http/ui/account-console/ref.ts
6
+ /**
7
+ * Upper bound on an accepted `ref`, matching the cap
8
+ * `OAuth2EndSessionRequestValidator` applies to `post_logout_redirect_uri`.
9
+ */ const ACCOUNT_CONSOLE_REF_MAX_LENGTH = 2e3;
10
+ /**
11
+ * Resolve the `ref` back-link parameter against the trusted app origins.
12
+ *
13
+ * `ref` names the application the visitor came from, so the account console
14
+ * can render a link back to it. It is attacker-supplied, and it is rendered
15
+ * on an authenticated first-party page, so an unvalidated value would be a
16
+ * phishing surface. The check mirrors the client redirect allowlist: each
17
+ * trusted origin becomes an `<origin>/**` pattern, which admits the bare
18
+ * origin and any path below it while rejecting a foreign origin, a
19
+ * suffix-extended host (`admin.example.com.evil.test`), a userinfo-prefixed
20
+ * host (`admin.example.com@evil.test`) and a scheme downgrade.
21
+ *
22
+ * The value is canonicalized through `URL` before matching, so a host
23
+ * differing only in case still matches (the matcher is case-sensitive, while
24
+ * a host is not). The canonical form is what gets returned, and it is what
25
+ * the page embeds. `isSimpleURLMatch` canonicalizes as well, which is what
26
+ * keeps a wildcard in a trusted origin from escaping the authority; doing it
27
+ * here too is what lets this function RETURN the canonical form.
28
+ *
29
+ * Returns undefined for anything that does not pass. The caller drops it
30
+ * silently, the way `sanitizeRelativeRedirect` drops a bad workflow
31
+ * redirect.
32
+ */ function resolveAccountConsoleRef(value, trustedOrigins) {
33
+ if (typeof value !== "string") return;
34
+ const trimmed = value.trim();
35
+ if (trimmed.length === 0 || trimmed.length > 2e3) return;
36
+ let url;
37
+ try {
38
+ url = new URL(trimmed);
39
+ } catch {
40
+ return;
41
+ }
42
+ if (url.protocol !== "http:" && url.protocol !== "https:") return;
43
+ const candidate = `${url.origin}${url.pathname}${url.search}${url.hash}`;
44
+ if (!isSimpleURLMatch(candidate, trustedOrigins.map((origin) => `${origin}/**`))) return;
45
+ return candidate;
46
+ }
47
+ //#endregion
48
+ export { ACCOUNT_CONSOLE_REF_MAX_LENGTH, resolveAccountConsoleRef };
49
+
50
+ //# sourceMappingURL=ref.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ref.mjs","names":["isSimpleURLMatch","ACCOUNT_CONSOLE_REF_MAX_LENGTH","resolveAccountConsoleRef","value","trustedOrigins","undefined","trimmed","trim","length","url","URL","protocol","candidate","origin","pathname","search","hash","map"],"sources":["../../../../../src/adapters/http/ui/account-console/ref.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 { isSimpleURLMatch } from '@authup/kit';\n\n/**\n * Upper bound on an accepted `ref`, matching the cap\n * `OAuth2EndSessionRequestValidator` applies to `post_logout_redirect_uri`.\n */\nexport const ACCOUNT_CONSOLE_REF_MAX_LENGTH = 2000;\n\n/**\n * Resolve the `ref` back-link parameter against the trusted app origins.\n *\n * `ref` names the application the visitor came from, so the account console\n * can render a link back to it. It is attacker-supplied, and it is rendered\n * on an authenticated first-party page, so an unvalidated value would be a\n * phishing surface. The check mirrors the client redirect allowlist: each\n * trusted origin becomes an `<origin>/**` pattern, which admits the bare\n * origin and any path below it while rejecting a foreign origin, a\n * suffix-extended host (`admin.example.com.evil.test`), a userinfo-prefixed\n * host (`admin.example.com@evil.test`) and a scheme downgrade.\n *\n * The value is canonicalized through `URL` before matching, so a host\n * differing only in case still matches (the matcher is case-sensitive, while\n * a host is not). The canonical form is what gets returned, and it is what\n * the page embeds. `isSimpleURLMatch` canonicalizes as well, which is what\n * keeps a wildcard in a trusted origin from escaping the authority; doing it\n * here too is what lets this function RETURN the canonical form.\n *\n * Returns undefined for anything that does not pass. The caller drops it\n * silently, the way `sanitizeRelativeRedirect` drops a bad workflow\n * redirect.\n */\nexport function resolveAccountConsoleRef(\n value: unknown,\n trustedOrigins: string[],\n) : string | undefined {\n if (typeof value !== 'string') {\n return undefined;\n }\n\n const trimmed = value.trim();\n if (trimmed.length === 0 || trimmed.length > ACCOUNT_CONSOLE_REF_MAX_LENGTH) {\n return undefined;\n }\n\n let url : URL;\n try {\n url = new URL(trimmed);\n } catch {\n return undefined;\n }\n\n if (url.protocol !== 'http:' && url.protocol !== 'https:') {\n return undefined;\n }\n\n const candidate = `${url.origin}${url.pathname}${url.search}${url.hash}`;\n\n if (!isSimpleURLMatch(candidate, trustedOrigins.map((origin) => `${origin}/**`))) {\n return undefined;\n }\n\n return candidate;\n}\n"],"mappings":";;;;;;;;GAaA,MAAaC,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;GAyB9C,SAAgBC,yBACZC,OACAC,gBAAwB;CAExB,IAAI,OAAOD,UAAU,UACjB;CAGJ,MAAMG,UAAUH,MAAMI,KAAI;CAC1B,IAAID,QAAQE,WAAW,KAAKF,QAAQE,SAAAA,KAChC;CAGJ,IAAIC;CACJ,IAAI;EACAA,MAAM,IAAIC,IAAIJ,OAAAA;CAClB,QAAQ;EACJ;CACJ;CAEA,IAAIG,IAAIE,aAAa,WAAWF,IAAIE,aAAa,UAC7C;CAGJ,MAAMC,YAAY,GAAGH,IAAII,SAASJ,IAAIK,WAAWL,IAAIM,SAASN,IAAIO;CAElE,IAAI,CAAChB,iBAAiBY,WAAWR,eAAea,KAAKJ,WAAW,GAAGA,OAAO,IAAI,CAAA,GAC1E;CAGJ,OAAOD;AACX"}
@@ -0,0 +1,11 @@
1
+ import type { StatusResponseFeatures } from '@authup/core-http-kit';
2
+ export type AccountConsoleServeOptions = {
3
+ baseURL: string;
4
+ features: StatusResponseFeatures;
5
+ /**
6
+ * Trusted application origins (`getAppOrigins(config)`). The allowlist
7
+ * the `ref` back-link parameter is validated against.
8
+ */
9
+ trustedOrigins: string[];
10
+ };
11
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/http/ui/account-console/types.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAEpE,MAAM,MAAM,0BAA0B,GAAG;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,sBAAsB,CAAC;IACjC;;;OAGG;IACH,cAAc,EAAE,MAAM,EAAE,CAAC;CAC5B,CAAC"}
@@ -0,0 +1,4 @@
1
+ import "node:path";
2
+ import "node:url";
3
+ import.meta.url;
4
+ export {};
@@ -19,4 +19,4 @@ export declare function createPublicToInternalURLRewriter(publicURL: string, int
19
19
  * hydration does not patch attribute mismatches.
20
20
  */
21
21
  export declare function createInternalUIHttpClient(ctx: InternalUIHttpClientContext): IClient;
22
- //# sourceMappingURL=internal-http-client.d.ts.map
22
+ //# sourceMappingURL=http-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http-client.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/http/ui/auth-console/http-client.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAErD,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAC;AAE9D;;;;GAIG;AACH,wBAAgB,iCAAiC,CAC7C,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,GACnB,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAmC1B;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,2BAA2B,GAAI,OAAO,CAOrF"}
@@ -3,7 +3,7 @@ import "node:url";
3
3
  import.meta.url;
4
4
  import { Client } from "@authup/core-http-kit";
5
5
  import { FetchTransport, fetch } from "hapic";
6
- //#region src/adapters/http/ui/internal-http-client.ts
6
+ //#region src/adapters/http/ui/auth-console/http-client.ts
7
7
  /**
8
8
  * Build a rewriter that maps URLs under the public base URL
9
9
  * (scheme://host[/prefix]) onto the server's own listen address. URLs
@@ -49,4 +49,4 @@ import { FetchTransport, fetch } from "hapic";
49
49
  //#endregion
50
50
  export { createInternalUIHttpClient, createPublicToInternalURLRewriter };
51
51
 
52
- //# sourceMappingURL=internal-http-client.mjs.map
52
+ //# sourceMappingURL=http-client.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http-client.mjs","names":["Client","FetchTransport","fetch","createPublicToInternalURLRewriter","publicURL","internalURL","publicParsed","URL","internalParsed","hostname","basePath","pathname","replace","url","parsed","origin","startsWith","substring","length","search","href","createInternalUIHttpClient","ctx","rewriteURL","baseURL","transport","input","init"],"sources":["../../../../../src/adapters/http/ui/auth-console/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 { Client } from '@authup/core-http-kit';\nimport type { IClient } from '@authup/core-http-kit';\nimport { FetchTransport, fetch } from 'hapic';\nimport type { InternalUIHttpClientContext } from './types.ts';\n\n/**\n * Build a rewriter that maps URLs under the public base URL\n * (scheme://host[/prefix]) onto the server's own listen address. URLs\n * outside the public origin/prefix pass through untouched.\n */\nexport function createPublicToInternalURLRewriter(\n publicURL: string,\n internalURL: string,\n) : (url: string) => string {\n const publicParsed = new URL(publicURL);\n const internalParsed = new URL(internalURL);\n // a wildcard listen address (0.0.0.0 / [::]) is not reliably dialable —\n // loop back explicitly\n if (internalParsed.hostname === '0.0.0.0' || internalParsed.hostname === '[::]') {\n internalParsed.hostname = '127.0.0.1';\n }\n const basePath = publicParsed.pathname.replace(/\\/+$/, '');\n\n return (url: string) => {\n let parsed : URL;\n try {\n parsed = new URL(url);\n } catch {\n return url;\n }\n\n if (parsed.origin !== publicParsed.origin) {\n return url;\n }\n\n let { pathname } = parsed;\n if (basePath) {\n if (pathname === basePath) {\n pathname = '/';\n } else if (pathname.startsWith(`${basePath}/`)) {\n pathname = pathname.substring(basePath.length);\n } else {\n return url;\n }\n }\n\n return new URL(pathname + parsed.search, internalParsed.origin).href;\n };\n}\n\n/**\n * HTTP client for the SSR'd UI pages: the render's API calls target the\n * server itself, so they are dispatched against its own listen address —\n * no reverse-proxy round-trip, no TLS (a self-signed publicUrl certificate\n * would otherwise fail Node's fetch), no dependency on the public hostname\n * resolving from inside the deployment.\n *\n * The rewrite happens at the TRANSPORT layer only: `baseURL` must stay the\n * public URL because the rendered HTML derives user-facing URLs from it\n * (e.g. the identity-provider authorize hrefs via `getAuthorizeUri`), and\n * hydration does not patch attribute mismatches.\n */\nexport function createInternalUIHttpClient(ctx: InternalUIHttpClientContext) : IClient {\n const rewriteURL = createPublicToInternalURLRewriter(ctx.publicURL, ctx.internalURL);\n\n return new Client({\n baseURL: ctx.publicURL,\n transport: new FetchTransport({ fetch: (input, init) => fetch(rewriteURL(input), init) }),\n });\n}\n"],"mappings":";;;;;;;;;;GAiBA,SAAgBG,kCACZC,WACAC,aAAmB;CAEnB,MAAMC,eAAe,IAAIC,IAAIH,SAAAA;CAC7B,MAAMI,iBAAiB,IAAID,IAAIF,WAAAA;CAG/B,IAAIG,eAAeC,aAAa,aAAaD,eAAeC,aAAa,QACrED,eAAeC,WAAW;CAE9B,MAAMC,WAAWJ,aAAaK,SAASC,QAAQ,QAAQ,EAAA;CAEvD,QAAQC,QAAAA;EACJ,IAAIC;EACJ,IAAI;GACAA,SAAS,IAAIP,IAAIM,GAAAA;EACrB,QAAQ;GACJ,OAAOA;EACX;EAEA,IAAIC,OAAOC,WAAWT,aAAaS,QAC/B,OAAOF;EAGX,IAAI,EAAEF,aAAaG;EACnB,IAAIJ,UACA,IAAIC,aAAaD,UACbC,WAAW;OACR,IAAIA,SAASK,WAAW,GAAGN,SAAS,EAAE,GACzCC,WAAWA,SAASM,UAAUP,SAASQ,MAAM;OAE7C,OAAOL;EAIf,OAAO,IAAIN,IAAII,WAAWG,OAAOK,QAAQX,eAAeO,MAAM,CAAA,CAAEK;CACpE;AACJ;;;;;;;;;;;;GAcA,SAAgBC,2BAA2BC,KAAgC;CACvE,MAAMC,aAAapB,kCAAkCmB,IAAIlB,WAAWkB,IAAIjB,WAAW;CAEnF,OAAO,IAAIL,OAAO;EACdwB,SAASF,IAAIlB;EACbqB,WAAW,IAAIxB,eAAe,EAAEC,QAAQwB,OAAOC,SAASzB,MAAMqB,WAAWG,KAAAA,GAAQC,IAAAA,EAAM,CAAA;CAC3F,CAAA;AACJ"}
@@ -0,0 +1,6 @@
1
+ export * from './http-client.ts';
2
+ export * from './module.ts';
3
+ export * from './resolve.ts';
4
+ export * from './serve.ts';
5
+ export * from './types.ts';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/http/ui/auth-console/index.ts"],"names":[],"mappings":"AAOA,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC"}
@@ -0,0 +1,8 @@
1
+ import "node:path";
2
+ import "node:url";
3
+ import.meta.url;
4
+ import { createInternalUIHttpClient, createPublicToInternalURLRewriter } from "./http-client.mjs";
5
+ import { resolveAuthConsoleDistPath, resolveAuthConsolePackagePath, setAuthConsolePackagePath } from "./resolve.mjs";
6
+ import { renderAuthConsolePage } from "./module.mjs";
7
+ import { serveWorkflowPage } from "./serve.mjs";
8
+ export { createInternalUIHttpClient, createPublicToInternalURLRewriter, renderAuthConsolePage, resolveAuthConsoleDistPath, resolveAuthConsolePackagePath, serveWorkflowPage, setAuthConsolePackagePath };
@@ -0,0 +1,4 @@
1
+ import type { IAppEvent } from 'routup';
2
+ import type { AuthConsoleRenderContext } from './types.ts';
3
+ export declare function renderAuthConsolePage(event: IAppEvent, ctx: AuthConsoleRenderContext): Promise<string>;
4
+ //# sourceMappingURL=module.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/http/ui/auth-console/module.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAcxC,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAU3D,wBAAsB,qBAAqB,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,wBAAwB,GAAG,OAAO,CAAC,MAAM,CAAC,CA8F5G"}
@@ -0,0 +1,73 @@
1
+ import "node:path";
2
+ import "node:url";
3
+ import.meta.url;
4
+ import { applyUIPageHeaders, readUIClientPreferences, rebaseAssetURLs, replaceTemplateMarker, stampHtmlAttributes } from "../shared/html.mjs";
5
+ import "../shared/index.mjs";
6
+ import { applyTheme } from "../theme/apply.mjs";
7
+ import "../theme/index.mjs";
8
+ import { resolveAuthConsoleDistPath, resolveAuthConsolePackagePath } from "./resolve.mjs";
9
+ import { useRequestTheme } from "../../middleware/built-in/theme.mjs";
10
+ import { VITE_SERVER_STORE_KEY } from "../../middleware/built-in/assets.mjs";
11
+ import { UI_HTTP_CLIENT_FACTORY_STORE_KEY } from "../../middleware/built-in/ui-http-client.mjs";
12
+ import "../../middleware/index.mjs";
13
+ import { getURLBasePath } from "@authup/kit";
14
+ import { InternalError, isError } from "@authup/errors";
15
+ import path from "node:path";
16
+ import { CodeTransformation, isCodeTransformation } from "typeorm-extension";
17
+ import { read } from "locter";
18
+ import fs from "node:fs";
19
+ //#region src/adapters/http/ui/auth-console/module.ts
20
+ let cachedHtml;
21
+ let cachedManifest;
22
+ let cachedRender;
23
+ async function renderAuthConsolePage(event, ctx) {
24
+ const isJIT = isCodeTransformation(CodeTransformation.JUST_IN_TIME);
25
+ const preferences = readUIClientPreferences(event);
26
+ ctx.payload.config.colorMode = preferences.colorMode;
27
+ ctx.payload.config.locale = preferences.locale;
28
+ let html;
29
+ let manifest;
30
+ let render;
31
+ let vite;
32
+ if (isJIT) {
33
+ const packagePath = resolveAuthConsolePackagePath();
34
+ if (!packagePath) throw new InternalError("The auth console package (@authup/client-auth-console) is not installed.");
35
+ vite = event.store[VITE_SERVER_STORE_KEY];
36
+ html = await fs.promises.readFile(path.join(packagePath, "index.html"), "utf-8");
37
+ html = await vite.transformIndexHtml(ctx.url, html);
38
+ manifest = {};
39
+ render = (await vite.ssrLoadModule("/src/server.ts")).render;
40
+ } else {
41
+ const distPath = resolveAuthConsoleDistPath();
42
+ if (!distPath) throw new InternalError("The auth console bundle (@authup/client-auth-console) is not built or installed.");
43
+ html = cachedHtml ??= await fs.promises.readFile(path.join(distPath, "client", "index.html"), "utf-8");
44
+ manifest = cachedManifest ??= JSON.parse(await fs.promises.readFile(path.join(distPath, "client", ".vite", "ssr-manifest.json"), "utf-8"));
45
+ render = cachedRender ??= (await read(path.join(distPath, "server", "server.js"))).render;
46
+ }
47
+ const httpClientFactory = event.store[UI_HTTP_CLIENT_FACTORY_STORE_KEY];
48
+ let appHtml;
49
+ let preloadLinks;
50
+ try {
51
+ [appHtml, preloadLinks] = await render({
52
+ url: ctx.url,
53
+ manifest,
54
+ payload: ctx.payload,
55
+ httpClient: httpClientFactory ? httpClientFactory() : void 0
56
+ });
57
+ } catch (e) {
58
+ if (vite && isError(e)) vite.ssrFixStacktrace(e);
59
+ throw e;
60
+ }
61
+ let body = replaceTemplateMarker(html, "<!--preload-links-->", preloadLinks);
62
+ body = replaceTemplateMarker(body, "<!--app-html-->", appHtml);
63
+ body = stampHtmlAttributes(body, preferences);
64
+ const basePath = getURLBasePath(ctx.payload.config.baseURL);
65
+ body = rebaseAssetURLs(body, basePath, "/public/");
66
+ body = await applyTheme(body, useRequestTheme(event), basePath);
67
+ applyUIPageHeaders(event);
68
+ return body;
69
+ }
70
+ //#endregion
71
+ export { renderAuthConsolePage };
72
+
73
+ //# sourceMappingURL=module.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"module.mjs","names":["InternalError","isError","getURLBasePath","read","fs","path","CodeTransformation","isCodeTransformation","UI_HTTP_CLIENT_FACTORY_STORE_KEY","VITE_SERVER_STORE_KEY","useRequestTheme","applyUIPageHeaders","readUIClientPreferences","rebaseAssetURLs","replaceTemplateMarker","stampHtmlAttributes","applyTheme","resolveAuthConsoleDistPath","resolveAuthConsolePackagePath","cachedHtml","cachedManifest","cachedRender","renderAuthConsolePage","event","ctx","isJIT","JUST_IN_TIME","preferences","payload","config","colorMode","locale","html","manifest","render","vite","packagePath","store","promises","readFile","join","transformIndexHtml","url","ssrLoadModule","distPath","JSON","parse","httpClientFactory","appHtml","preloadLinks","httpClient","undefined","e","ssrFixStacktrace","body","basePath","baseURL"],"sources":["../../../../../src/adapters/http/ui/auth-console/module.ts"],"sourcesContent":["/*\n * Copyright (c) 2026.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { RenderFunction } from '@authup/client-auth-console';\nimport { InternalError, isError } from '@authup/errors';\nimport { getURLBasePath } from '@authup/kit';\nimport { read } from 'locter';\nimport fs from 'node:fs';\nimport path from 'node:path';\nimport type { IAppEvent } from 'routup';\nimport type { ViteDevServer } from 'vite';\nimport { CodeTransformation, isCodeTransformation } from 'typeorm-extension';\nimport type { IClient } from '@authup/core-http-kit';\nimport { UI_HTTP_CLIENT_FACTORY_STORE_KEY, VITE_SERVER_STORE_KEY, useRequestTheme } from '../../middleware/index.ts';\nimport {\n applyUIPageHeaders,\n readUIClientPreferences,\n rebaseAssetURLs,\n replaceTemplateMarker,\n stampHtmlAttributes,\n} from '../shared/index.ts';\nimport { applyTheme } from '../theme/index.ts';\nimport { resolveAuthConsoleDistPath, resolveAuthConsolePackagePath } from './resolve.ts';\nimport type { AuthConsoleRenderContext } from './types.ts';\n\n// Process-lifetime caches for the immutable production SSR assets. The dist\n// template, manifest and server bundle don't change after boot, so read them\n// once instead of per request (the auth/login routes are hot paths). The JIT\n// (dev) path deliberately re-reads so HMR keeps working.\nlet cachedHtml: string | undefined;\nlet cachedManifest: Record<string, any> | undefined;\nlet cachedRender: RenderFunction | undefined;\n\nexport async function renderAuthConsolePage(event: IAppEvent, ctx: AuthConsoleRenderContext): Promise<string> {\n const isJIT = isCodeTransformation(CodeTransformation.JUST_IN_TIME);\n\n // The client app hydrates locale + color-mode from the payload, so it\n // adopts the same values the HTML shell is stamped with below.\n const preferences = readUIClientPreferences(event);\n ctx.payload.config.colorMode = preferences.colorMode;\n ctx.payload.config.locale = preferences.locale;\n\n let html : string;\n let manifest : Record<string, any>;\n let render : RenderFunction;\n let vite : ViteDevServer | undefined;\n\n if (isJIT) {\n const packagePath = resolveAuthConsolePackagePath();\n if (!packagePath) {\n throw new InternalError(\n 'The auth console package (@authup/client-auth-console) is not installed.',\n );\n }\n\n vite = event.store[VITE_SERVER_STORE_KEY] as ViteDevServer;\n\n html = await fs.promises.readFile(\n path.join(packagePath, 'index.html'),\n 'utf-8',\n );\n // The URL reaches every transformIndexHtml hook as its context.\n // Pass the rendered route rather than a fixed '/', as vite's own SSR\n // guide does.\n html = await vite.transformIndexHtml(ctx.url, html);\n manifest = {};\n render = (await vite.ssrLoadModule('/src/server.ts')).render as RenderFunction;\n } else {\n const distPath = resolveAuthConsoleDistPath();\n if (!distPath) {\n throw new InternalError(\n 'The auth console bundle (@authup/client-auth-console) is not built or installed.',\n );\n }\n\n html = (cachedHtml ??= await fs.promises.readFile(\n path.join(distPath, 'client', 'index.html'),\n 'utf-8',\n ));\n manifest = (cachedManifest ??= JSON.parse(await fs.promises.readFile(\n path.join(distPath, 'client', '.vite', 'ssr-manifest.json'),\n 'utf-8',\n )));\n render = (cachedRender ??= (await read(\n path.join(distPath, 'server', 'server.js'),\n )).render as RenderFunction);\n }\n\n const httpClientFactory = event.store[UI_HTTP_CLIENT_FACTORY_STORE_KEY] as (() => IClient) | undefined;\n\n let appHtml : string;\n let preloadLinks : string;\n\n try {\n [appHtml, preloadLinks] = await render({\n url: ctx.url,\n manifest,\n payload: ctx.payload,\n httpClient: httpClientFactory ? httpClientFactory() : undefined,\n });\n } catch (e) {\n // Map the bundled frames back onto the source files before the error\n // reaches the logger. Only the dev server can do this, so a production\n // render rethrows untouched.\n if (vite && isError(e)) {\n vite.ssrFixStacktrace(e);\n }\n\n throw e;\n }\n\n let body = replaceTemplateMarker(html, '<!--preload-links-->', preloadLinks);\n body = replaceTemplateMarker(body, '<!--app-html-->', appHtml);\n\n body = stampHtmlAttributes(body, preferences);\n\n // When authup is publicly served under a sub-path (publicUrl carries a\n // pathname, e.g. https://example.com/auth), the fixed /public/ vite base\n // would bypass the proxy mapping — rebase asset URLs onto the prefix.\n const basePath = getURLBasePath(ctx.payload.config.baseURL);\n body = rebaseAssetURLs(body, basePath, '/public/');\n\n body = await applyTheme(body, useRequestTheme(event), basePath);\n\n applyUIPageHeaders(event);\n\n return body;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAiCA,IAAImB;AACJ,IAAIC;AACJ,IAAIC;AAEJ,eAAsBC,sBAAsBC,OAAkBC,KAA6B;CACvF,MAAMC,QAAQlB,qBAAqBD,mBAAmBoB,YAAY;CAIlE,MAAMC,cAAcf,wBAAwBW,KAAAA;CAC5CC,IAAII,QAAQC,OAAOC,YAAYH,YAAYG;CAC3CN,IAAII,QAAQC,OAAOE,SAASJ,YAAYI;CAExC,IAAIC;CACJ,IAAIC;CACJ,IAAIC;CACJ,IAAIC;CAEJ,IAAIV,OAAO;EACP,MAAMW,cAAclB,8BAAAA;EACpB,IAAI,CAACkB,aACD,MAAM,IAAIpC,cACN,0EAAA;EAIRmC,OAAOZ,MAAMc,MAAM5B;EAEnBuB,OAAO,MAAM5B,GAAGkC,SAASC,SACrBlC,KAAKmC,KAAKJ,aAAa,YAAA,GACvB,OAAA;EAKJJ,OAAO,MAAMG,KAAKM,mBAAmBjB,IAAIkB,KAAKV,IAAAA;EAC9CC,WAAW,CAAC;EACZC,UAAU,MAAMC,KAAKQ,cAAc,gBAAA,EAAA,CAAmBT;CAC1D,OAAO;EACH,MAAMU,WAAW3B,2BAAAA;EACjB,IAAI,CAAC2B,UACD,MAAM,IAAI5C,cACN,kFAAA;EAIRgC,OAAQb,eAAe,MAAMf,GAAGkC,SAASC,SACrClC,KAAKmC,KAAKI,UAAU,UAAU,YAAA,GAC9B,OAAA;EAEJX,WAAYb,mBAAmByB,KAAKC,MAAM,MAAM1C,GAAGkC,SAASC,SACxDlC,KAAKmC,KAAKI,UAAU,UAAU,SAAS,mBAAA,GACvC,OAAA,CAAA;EAEJV,SAAUb,kBAAkB,MAAMlB,KAC9BE,KAAKmC,KAAKI,UAAU,UAAU,WAAA,CAAA,EAAA,CAC/BV;CACP;CAEA,MAAMa,oBAAoBxB,MAAMc,MAAM7B;CAEtC,IAAIwC;CACJ,IAAIC;CAEJ,IAAI;EACA,CAACD,SAASC,gBAAgB,MAAMf,OAAO;GACnCQ,KAAKlB,IAAIkB;GACTT;GACAL,SAASJ,IAAII;GACbsB,YAAYH,oBAAoBA,kBAAAA,IAAsBI,KAAAA;EAC1D,CAAA;CACJ,SAASC,GAAG;EAIR,IAAIjB,QAAQlC,QAAQmD,CAAAA,GAChBjB,KAAKkB,iBAAiBD,CAAAA;EAG1B,MAAMA;CACV;CAEA,IAAIE,OAAOxC,sBAAsBkB,MAAM,wBAAwBiB,YAAAA;CAC/DK,OAAOxC,sBAAsBwC,MAAM,mBAAmBN,OAAAA;CAEtDM,OAAOvC,oBAAoBuC,MAAM3B,WAAAA;CAKjC,MAAM4B,WAAWrD,eAAesB,IAAII,QAAQC,OAAO2B,OAAO;CAC1DF,OAAOzC,gBAAgByC,MAAMC,UAAU,UAAA;CAEvCD,OAAO,MAAMtC,WAAWsC,MAAM5C,gBAAgBa,KAAAA,GAAQgC,QAAAA;CAEtD5C,mBAAmBY,KAAAA;CAEnB,OAAO+B;AACX"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Point the resolution at a substituted package (config `authConsolePath`)
3
+ * instead of the node_modules walk. Called once at boot.
4
+ */
5
+ export declare function setAuthConsolePackagePath(value: string | undefined): void;
6
+ /**
7
+ * Locate the auth console package. The SSR auth workflow UI ships as
8
+ * `@authup/client-auth-console` (a server-core dependency), so the
9
+ * node_modules ancestor walk from server-core's own package root (locter's
10
+ * `locateUp`) finds it for the workspace (symlink onto
11
+ * apps/client-auth-console) and for a published install alike. Only a
12
+ * positive result is cached.
13
+ */
14
+ export declare function resolveAuthConsolePackagePath(): string | undefined;
15
+ /**
16
+ * Locate the BUILT auth console bundle (`dist/client` template + assets,
17
+ * `dist/server/server.js` render entry). Only a positive result is cached —
18
+ * a dev building the package after boot is picked up on the next request.
19
+ */
20
+ export declare function resolveAuthConsoleDistPath(): string | undefined;
21
+ //# sourceMappingURL=resolve.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/http/ui/auth-console/resolve.ts"],"names":[],"mappings":"AAgBA;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAI,IAAI,CAI1E;AAED;;;;;;;GAOG;AACH,wBAAgB,6BAA6B,IAAK,MAAM,GAAG,SAAS,CAoBnE;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,IAAK,MAAM,GAAG,SAAS,CAehE"}
@@ -0,0 +1,53 @@
1
+ import "node:path";
2
+ import "node:url";
3
+ import.meta.url;
4
+ import { PACKAGE_PATH } from "../../../../path.mjs";
5
+ import path from "node:path";
6
+ import { locateUpSync } from "locter";
7
+ import fs from "node:fs";
8
+ //#region src/adapters/http/ui/auth-console/resolve.ts
9
+ let cachedPackagePath;
10
+ let cachedDistPath;
11
+ let overridePackagePath;
12
+ /**
13
+ * Point the resolution at a substituted package (config `authConsolePath`)
14
+ * instead of the node_modules walk. Called once at boot.
15
+ */ function setAuthConsolePackagePath(value) {
16
+ overridePackagePath = value || void 0;
17
+ cachedPackagePath = void 0;
18
+ cachedDistPath = void 0;
19
+ }
20
+ /**
21
+ * Locate the auth console package. The SSR auth workflow UI ships as
22
+ * `@authup/client-auth-console` (a server-core dependency), so the
23
+ * node_modules ancestor walk from server-core's own package root (locter's
24
+ * `locateUp`) finds it for the workspace (symlink onto
25
+ * apps/client-auth-console) and for a published install alike. Only a
26
+ * positive result is cached.
27
+ */ function resolveAuthConsolePackagePath() {
28
+ if (cachedPackagePath) return cachedPackagePath;
29
+ if (overridePackagePath) {
30
+ cachedPackagePath = overridePackagePath;
31
+ return cachedPackagePath;
32
+ }
33
+ const manifest = locateUpSync("node_modules/@authup/client-auth-console/package.json", { cwd: PACKAGE_PATH });
34
+ if (manifest) cachedPackagePath = manifest.directory;
35
+ return cachedPackagePath;
36
+ }
37
+ /**
38
+ * Locate the BUILT auth console bundle (`dist/client` template + assets,
39
+ * `dist/server/server.js` render entry). Only a positive result is cached —
40
+ * a dev building the package after boot is picked up on the next request.
41
+ */ function resolveAuthConsoleDistPath() {
42
+ if (cachedDistPath) return cachedDistPath;
43
+ const packagePath = resolveAuthConsolePackagePath();
44
+ if (packagePath) {
45
+ const distPath = path.join(packagePath, "dist");
46
+ if (fs.existsSync(path.join(distPath, "client", "index.html"))) cachedDistPath = distPath;
47
+ }
48
+ return cachedDistPath;
49
+ }
50
+ //#endregion
51
+ export { resolveAuthConsoleDistPath, resolveAuthConsolePackagePath, setAuthConsolePackagePath };
52
+
53
+ //# sourceMappingURL=resolve.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve.mjs","names":["locateUpSync","fs","path","PACKAGE_PATH","cachedPackagePath","cachedDistPath","overridePackagePath","setAuthConsolePackagePath","value","undefined","resolveAuthConsolePackagePath","manifest","cwd","directory","resolveAuthConsoleDistPath","packagePath","distPath","join","existsSync"],"sources":["../../../../../src/adapters/http/ui/auth-console/resolve.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 { locateUpSync } from 'locter';\nimport fs from 'node:fs';\nimport path from 'node:path';\nimport { PACKAGE_PATH } from '../../../../path.ts';\n\nlet cachedPackagePath: string | undefined;\nlet cachedDistPath: string | undefined;\nlet overridePackagePath: string | undefined;\n\n/**\n * Point the resolution at a substituted package (config `authConsolePath`)\n * instead of the node_modules walk. Called once at boot.\n */\nexport function setAuthConsolePackagePath(value: string | undefined) : void {\n overridePackagePath = value || undefined;\n cachedPackagePath = undefined;\n cachedDistPath = undefined;\n}\n\n/**\n * Locate the auth console package. The SSR auth workflow UI ships as\n * `@authup/client-auth-console` (a server-core dependency), so the\n * node_modules ancestor walk from server-core's own package root (locter's\n * `locateUp`) finds it for the workspace (symlink onto\n * apps/client-auth-console) and for a published install alike. Only a\n * positive result is cached.\n */\nexport function resolveAuthConsolePackagePath() : string | undefined {\n if (cachedPackagePath) {\n return cachedPackagePath;\n }\n\n if (overridePackagePath) {\n cachedPackagePath = overridePackagePath;\n\n return cachedPackagePath;\n }\n\n const manifest = locateUpSync(\n 'node_modules/@authup/client-auth-console/package.json',\n { cwd: PACKAGE_PATH },\n );\n if (manifest) {\n cachedPackagePath = manifest.directory;\n }\n\n return cachedPackagePath;\n}\n\n/**\n * Locate the BUILT auth console bundle (`dist/client` template + assets,\n * `dist/server/server.js` render entry). Only a positive result is cached —\n * a dev building the package after boot is picked up on the next request.\n */\nexport function resolveAuthConsoleDistPath() : string | undefined {\n if (cachedDistPath) {\n return cachedDistPath;\n }\n\n const packagePath = resolveAuthConsolePackagePath();\n if (packagePath) {\n const distPath = path.join(packagePath, 'dist');\n\n if (fs.existsSync(path.join(distPath, 'client', 'index.html'))) {\n cachedDistPath = distPath;\n }\n }\n\n return cachedDistPath;\n}\n"],"mappings":";;;;;;;;AAYA,IAAII;AACJ,IAAIC;AACJ,IAAIC;;;;GAMJ,SAAgBC,0BAA0BC,OAAyB;CAC/DF,sBAAsBE,SAASC,KAAAA;CAC/BL,oBAAoBK,KAAAA;CACpBJ,iBAAiBI,KAAAA;AACrB;;;;;;;;GAUA,SAAgBC,gCAAAA;CACZ,IAAIN,mBACA,OAAOA;CAGX,IAAIE,qBAAqB;EACrBF,oBAAoBE;EAEpB,OAAOF;CACX;CAEA,MAAMO,WAAWX,aACb,yDACA,EAAEY,KAAKT,aAAa,CAAA;CAExB,IAAIQ,UACAP,oBAAoBO,SAASE;CAGjC,OAAOT;AACX;;;;;GAOA,SAAgBU,6BAAAA;CACZ,IAAIT,gBACA,OAAOA;CAGX,MAAMU,cAAcL,8BAAAA;CACpB,IAAIK,aAAa;EACb,MAAMC,WAAWd,KAAKe,KAAKF,aAAa,MAAA;EAExC,IAAId,GAAGiB,WAAWhB,KAAKe,KAAKD,UAAU,UAAU,YAAA,CAAA,GAC5CX,iBAAiBW;CAEzB;CAEA,OAAOX;AACX"}
@@ -1,12 +1,5 @@
1
- import type { StatusResponseFeatures } from '@authup/core-http-kit';
2
1
  import type { IAppEvent } from 'routup';
3
- export type ServeWorkflowPageOptions = {
4
- url: string;
5
- baseURL: string;
6
- features: StatusResponseFeatures;
7
- realmAware?: boolean;
8
- tokenAware?: boolean;
9
- };
2
+ import type { ServeWorkflowPageOptions } from './types.ts';
10
3
  /**
11
4
  * Single SSR payload-assembly path for the auth workflow GET routes:
12
5
  * whitelists query params, applies the open-redirect guard, and renders.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/http/ui/auth-console/serve.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAGxC,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAE3D;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC7B,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,wBAAwB,GAClC,OAAO,CAAC,MAAM,CAAC,CAwBjB"}
@@ -1,11 +1,11 @@
1
1
  import "node:path";
2
2
  import "node:url";
3
3
  import.meta.url;
4
- import { sanitizeRelativeRedirect } from "../request/helpers/redirect.mjs";
5
- import "../request/index.mjs";
6
- import { renderUIPage } from "./render.mjs";
4
+ import { sanitizeRelativeRedirect } from "../../request/helpers/redirect.mjs";
5
+ import "../../request/index.mjs";
6
+ import { renderAuthConsolePage } from "./module.mjs";
7
7
  import { useRequestQuery } from "@routup/basic/query";
8
- //#region src/adapters/http/ui/serve.ts
8
+ //#region src/adapters/http/ui/auth-console/serve.ts
9
9
  /**
10
10
  * Single SSR payload-assembly path for the auth workflow GET routes:
11
11
  * whitelists query params, applies the open-redirect guard, and renders.
@@ -21,7 +21,7 @@ import { useRequestQuery } from "@routup/basic/query";
21
21
  data.realmId = typeof realmId === "string" ? realmId : void 0;
22
22
  }
23
23
  if (options.tokenAware) data.token = typeof query.token === "string" ? query.token : void 0;
24
- return renderUIPage(event, {
24
+ return renderAuthConsolePage(event, {
25
25
  url: options.url,
26
26
  payload: {
27
27
  config: { baseURL: options.baseURL },
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serve.mjs","names":["useRequestQuery","sanitizeRelativeRedirect","renderAuthConsolePage","serveWorkflowPage","event","options","query","data","features","redirect","realmAware","realmId","realm_id","undefined","tokenAware","token","url","payload","config","baseURL"],"sources":["../../../../../src/adapters/http/ui/auth-console/serve.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 { useRequestQuery } from '@routup/basic/query';\nimport type { IAppEvent } from 'routup';\nimport { sanitizeRelativeRedirect } from '../../request/index.ts';\nimport { renderAuthConsolePage } from './module.ts';\nimport type { ServeWorkflowPageOptions } from './types.ts';\n\n/**\n * Single SSR payload-assembly path for the auth workflow GET routes:\n * whitelists query params, applies the open-redirect guard, and renders.\n * Keeps the four workflow controllers as thin POST adapters.\n */\nexport function serveWorkflowPage(\n event: IAppEvent,\n options: ServeWorkflowPageOptions,\n): Promise<string> {\n const query = useRequestQuery(event);\n\n const data: Record<string, any> = {\n features: options.features,\n redirect: sanitizeRelativeRedirect(query.redirect),\n };\n\n if (options.realmAware) {\n const realmId = typeof query.realmId === 'string' ? query.realmId : query.realm_id;\n data.realmId = typeof realmId === 'string' ? realmId : undefined;\n }\n\n if (options.tokenAware) {\n data.token = typeof query.token === 'string' ? query.token : undefined;\n }\n\n return renderAuthConsolePage(event, {\n url: options.url,\n payload: {\n config: { baseURL: options.baseURL },\n data,\n },\n });\n}\n"],"mappings":";;;;;;;;;;;;GAkBA,SAAgBG,kBACZC,OACAC,SAAiC;CAEjC,MAAMC,QAAQN,gBAAgBI,KAAAA;CAE9B,MAAMG,OAA4B;EAC9BC,UAAUH,QAAQG;EAClBC,UAAUR,yBAAyBK,MAAMG,QAAQ;CACrD;CAEA,IAAIJ,QAAQK,YAAY;EACpB,MAAMC,UAAU,OAAOL,MAAMK,YAAY,WAAWL,MAAMK,UAAUL,MAAMM;EAC1EL,KAAKI,UAAU,OAAOA,YAAY,WAAWA,UAAUE,KAAAA;CAC3D;CAEA,IAAIR,QAAQS,YACRP,KAAKQ,QAAQ,OAAOT,MAAMS,UAAU,WAAWT,MAAMS,QAAQF,KAAAA;CAGjE,OAAOX,sBAAsBE,OAAO;EAChCY,KAAKX,QAAQW;EACbC,SAAS;GACLC,QAAQ,EAAEC,SAASd,QAAQc,QAAQ;GACnCZ;EACJ;CACJ,CAAA;AACJ"}
@@ -0,0 +1,26 @@
1
+ import type { HydrationPayload } from '@authup/client-auth-console';
2
+ import type { StatusResponseFeatures } from '@authup/core-http-kit';
3
+ export type AuthConsoleRenderContext = {
4
+ url: string;
5
+ payload: HydrationPayload;
6
+ };
7
+ export type ServeWorkflowPageOptions = {
8
+ url: string;
9
+ baseURL: string;
10
+ features: StatusResponseFeatures;
11
+ realmAware?: boolean;
12
+ tokenAware?: boolean;
13
+ };
14
+ export type InternalUIHttpClientContext = {
15
+ /**
16
+ * The public base URL (config `publicUrl`) — stays the client's
17
+ * `baseURL` so URLs rendered into the HTML remain user-facing.
18
+ */
19
+ publicURL: string;
20
+ /**
21
+ * The server's own listen address (e.g. http://localhost:3010/) —
22
+ * where the transport actually dispatches requests.
23
+ */
24
+ internalURL: string;
25
+ };
26
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/http/ui/auth-console/types.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAEpE,MAAM,MAAM,wBAAwB,GAAG;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,gBAAgB,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,sBAAsB,CAAC;IAIjC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACtC;;;OAGG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAC;CACvB,CAAC"}
@@ -0,0 +1,4 @@
1
+ import "node:path";
2
+ import "node:url";
3
+ import.meta.url;
4
+ export {};
@@ -0,0 +1,3 @@
1
+ export * from './module.ts';
2
+ export * from './types.ts';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/http/ui/console-packages/index.ts"],"names":[],"mappings":"AAOA,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC"}
@@ -0,0 +1,5 @@
1
+ import "node:path";
2
+ import "node:url";
3
+ import.meta.url;
4
+ import { ACCOUNT_CONSOLE_CONFIG_MARKER, AUTH_CONSOLE_CONTRACT_VERSION, bindConsolePackages } from "./module.mjs";
5
+ export { ACCOUNT_CONSOLE_CONFIG_MARKER, AUTH_CONSOLE_CONTRACT_VERSION, bindConsolePackages };