@atproto/oauth-provider 0.6.6 → 0.7.1

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 (465) hide show
  1. package/CHANGELOG.md +49 -0
  2. package/dist/access-token/access-token-mode.d.ts +5 -0
  3. package/dist/access-token/access-token-mode.d.ts.map +1 -0
  4. package/dist/access-token/access-token-mode.js +9 -0
  5. package/dist/access-token/access-token-mode.js.map +1 -0
  6. package/dist/account/account-manager.d.ts +13 -7
  7. package/dist/account/account-manager.d.ts.map +1 -1
  8. package/dist/account/account-manager.js +69 -52
  9. package/dist/account/account-manager.js.map +1 -1
  10. package/dist/account/account-store.d.ts +88 -77
  11. package/dist/account/account-store.d.ts.map +1 -1
  12. package/dist/account/account-store.js +24 -73
  13. package/dist/account/account-store.js.map +1 -1
  14. package/dist/account/sign-in-data.d.ts +4 -13
  15. package/dist/account/sign-in-data.d.ts.map +1 -1
  16. package/dist/account/sign-in-data.js +9 -9
  17. package/dist/account/sign-in-data.js.map +1 -1
  18. package/dist/account/sign-up-input.d.ts +4 -5
  19. package/dist/account/sign-up-input.d.ts.map +1 -1
  20. package/dist/account/sign-up-input.js +13 -3
  21. package/dist/account/sign-up-input.js.map +1 -1
  22. package/dist/client/client-manager.d.ts +4 -1
  23. package/dist/client/client-manager.d.ts.map +1 -1
  24. package/dist/client/client-manager.js +13 -1
  25. package/dist/client/client-manager.js.map +1 -1
  26. package/dist/client/client-store.d.ts +1 -1
  27. package/dist/client/client-store.d.ts.map +1 -1
  28. package/dist/constants.d.ts +5 -1
  29. package/dist/constants.d.ts.map +1 -1
  30. package/dist/constants.js +6 -2
  31. package/dist/constants.js.map +1 -1
  32. package/dist/customization/branding.d.ts +54 -0
  33. package/dist/customization/branding.d.ts.map +1 -0
  34. package/dist/customization/branding.js +13 -0
  35. package/dist/customization/branding.js.map +1 -0
  36. package/dist/customization/build-customization-css.d.ts +3 -0
  37. package/dist/customization/build-customization-css.d.ts.map +1 -0
  38. package/dist/customization/build-customization-css.js +27 -0
  39. package/dist/customization/build-customization-css.js.map +1 -0
  40. package/dist/customization/build-customization-data.d.ts +4 -0
  41. package/dist/customization/build-customization-data.d.ts.map +1 -0
  42. package/dist/customization/build-customization-data.js +18 -0
  43. package/dist/customization/build-customization-data.js.map +1 -0
  44. package/dist/customization/colors.d.ts +7 -0
  45. package/dist/customization/colors.d.ts.map +1 -0
  46. package/dist/customization/colors.js +27 -0
  47. package/dist/customization/colors.js.map +1 -0
  48. package/dist/customization/customization.d.ts +129 -0
  49. package/dist/customization/customization.d.ts.map +1 -0
  50. package/dist/customization/customization.js +26 -0
  51. package/dist/customization/customization.js.map +1 -0
  52. package/dist/customization/links.d.ts +26 -0
  53. package/dist/customization/links.d.ts.map +1 -0
  54. package/dist/customization/links.js +12 -0
  55. package/dist/customization/links.js.map +1 -0
  56. package/dist/device/device-id.d.ts +1 -0
  57. package/dist/device/device-id.d.ts.map +1 -1
  58. package/dist/device/device-id.js +4 -0
  59. package/dist/device/device-id.js.map +1 -1
  60. package/dist/device/device-manager.d.ts +6 -36
  61. package/dist/device/device-manager.d.ts.map +1 -1
  62. package/dist/device/device-manager.js +49 -43
  63. package/dist/device/device-manager.js.map +1 -1
  64. package/dist/device/device-store.d.ts +1 -0
  65. package/dist/device/device-store.d.ts.map +1 -1
  66. package/dist/device/device-store.js.map +1 -1
  67. package/dist/dpop/dpop-manager.d.ts +3 -3
  68. package/dist/dpop/dpop-nonce.d.ts +3 -3
  69. package/dist/dpop/dpop-nonce.d.ts.map +1 -1
  70. package/dist/errors/access-denied-error.d.ts +4 -3
  71. package/dist/errors/access-denied-error.d.ts.map +1 -1
  72. package/dist/errors/access-denied-error.js +5 -6
  73. package/dist/errors/access-denied-error.js.map +1 -1
  74. package/dist/{output/build-error-payload.d.ts → errors/error-parser.d.ts} +1 -1
  75. package/dist/errors/error-parser.d.ts.map +1 -0
  76. package/dist/{output/build-error-payload.js → errors/error-parser.js} +2 -2
  77. package/dist/errors/error-parser.js.map +1 -0
  78. package/dist/errors/invalid-grant-error.d.ts +1 -0
  79. package/dist/errors/invalid-grant-error.d.ts.map +1 -1
  80. package/dist/errors/invalid-grant-error.js +5 -0
  81. package/dist/errors/invalid-grant-error.js.map +1 -1
  82. package/dist/errors/login-required-error.d.ts +1 -0
  83. package/dist/errors/login-required-error.d.ts.map +1 -1
  84. package/dist/errors/login-required-error.js +5 -0
  85. package/dist/errors/login-required-error.js.map +1 -1
  86. package/dist/index.d.ts +1 -0
  87. package/dist/index.d.ts.map +1 -1
  88. package/dist/index.js +1 -0
  89. package/dist/index.js.map +1 -1
  90. package/dist/lib/html/build-document.d.ts +2 -2
  91. package/dist/lib/html/build-document.d.ts.map +1 -1
  92. package/dist/lib/html/build-document.js +4 -0
  93. package/dist/lib/html/build-document.js.map +1 -1
  94. package/dist/lib/html/hydration-data.d.ts +4 -0
  95. package/dist/lib/html/hydration-data.d.ts.map +1 -0
  96. package/dist/{output/backend-data.js → lib/html/hydration-data.js} +8 -8
  97. package/dist/lib/html/hydration-data.js.map +1 -0
  98. package/dist/lib/html/tags.d.ts +1 -1
  99. package/dist/lib/html/tags.d.ts.map +1 -1
  100. package/dist/lib/html/tags.js +1 -1
  101. package/dist/lib/html/tags.js.map +1 -1
  102. package/dist/lib/http/accept.d.ts +2 -2
  103. package/dist/lib/http/accept.d.ts.map +1 -1
  104. package/dist/lib/http/accept.js +1 -1
  105. package/dist/lib/http/accept.js.map +1 -1
  106. package/dist/lib/http/context.d.ts +2 -4
  107. package/dist/lib/http/context.d.ts.map +1 -1
  108. package/dist/lib/http/context.js +29 -4
  109. package/dist/lib/http/context.js.map +1 -1
  110. package/dist/lib/http/headers.d.ts +3 -0
  111. package/dist/lib/http/headers.d.ts.map +1 -0
  112. package/dist/lib/http/headers.js +14 -0
  113. package/dist/lib/http/headers.js.map +1 -0
  114. package/dist/lib/http/index.d.ts +1 -0
  115. package/dist/lib/http/index.d.ts.map +1 -1
  116. package/dist/lib/http/index.js +1 -0
  117. package/dist/lib/http/index.js.map +1 -1
  118. package/dist/lib/http/middleware.d.ts +1 -1
  119. package/dist/lib/http/middleware.d.ts.map +1 -1
  120. package/dist/lib/http/middleware.js +8 -24
  121. package/dist/lib/http/middleware.js.map +1 -1
  122. package/dist/lib/http/parser.d.ts +3 -3
  123. package/dist/lib/http/parser.d.ts.map +1 -1
  124. package/dist/lib/http/request.d.ts +13 -9
  125. package/dist/lib/http/request.d.ts.map +1 -1
  126. package/dist/lib/http/request.js +27 -49
  127. package/dist/lib/http/request.js.map +1 -1
  128. package/dist/lib/http/response.d.ts +6 -2
  129. package/dist/lib/http/response.d.ts.map +1 -1
  130. package/dist/lib/http/response.js +31 -11
  131. package/dist/lib/http/response.js.map +1 -1
  132. package/dist/lib/http/route.d.ts +3 -3
  133. package/dist/lib/http/route.d.ts.map +1 -1
  134. package/dist/lib/http/route.js +1 -1
  135. package/dist/lib/http/route.js.map +1 -1
  136. package/dist/lib/http/router.d.ts +12 -11
  137. package/dist/lib/http/router.d.ts.map +1 -1
  138. package/dist/lib/http/router.js +26 -34
  139. package/dist/lib/http/router.js.map +1 -1
  140. package/dist/lib/http/security-headers.js +1 -1
  141. package/dist/lib/http/security-headers.js.map +1 -1
  142. package/dist/lib/http/stream.d.ts +3 -3
  143. package/dist/lib/http/stream.d.ts.map +1 -1
  144. package/dist/lib/http/types.d.ts +1 -1
  145. package/dist/lib/http/types.d.ts.map +1 -1
  146. package/dist/lib/send-web-page.d.ts +8 -0
  147. package/dist/lib/send-web-page.d.ts.map +1 -0
  148. package/dist/{output → lib}/send-web-page.js +9 -7
  149. package/dist/lib/send-web-page.js.map +1 -0
  150. package/dist/lib/util/authorization-header.d.ts.map +1 -1
  151. package/dist/lib/util/color.d.ts +32 -0
  152. package/dist/lib/util/color.d.ts.map +1 -0
  153. package/dist/lib/util/color.js +116 -0
  154. package/dist/lib/util/color.js.map +1 -0
  155. package/dist/lib/util/crypto.d.ts +1 -0
  156. package/dist/lib/util/crypto.d.ts.map +1 -1
  157. package/dist/lib/util/crypto.js +8 -3
  158. package/dist/lib/util/crypto.js.map +1 -1
  159. package/dist/lib/util/function.d.ts +1 -0
  160. package/dist/lib/util/function.d.ts.map +1 -1
  161. package/dist/lib/util/function.js +12 -0
  162. package/dist/lib/util/function.js.map +1 -1
  163. package/dist/lib/util/locale.d.ts +20 -0
  164. package/dist/lib/util/locale.d.ts.map +1 -0
  165. package/dist/lib/util/locale.js +14 -0
  166. package/dist/lib/util/locale.js.map +1 -0
  167. package/dist/lib/util/time.d.ts +1 -1
  168. package/dist/lib/util/time.d.ts.map +1 -1
  169. package/dist/lib/util/time.js +1 -1
  170. package/dist/lib/util/time.js.map +1 -1
  171. package/dist/lib/util/type.d.ts +22 -0
  172. package/dist/lib/util/type.d.ts.map +1 -1
  173. package/dist/lib/util/type.js.map +1 -1
  174. package/dist/lib/util/ui8.d.ts +4 -0
  175. package/dist/lib/util/ui8.d.ts.map +1 -0
  176. package/dist/lib/util/ui8.js +17 -0
  177. package/dist/lib/util/ui8.js.map +1 -0
  178. package/dist/lib/util/zod-error.d.ts +2 -0
  179. package/dist/lib/util/zod-error.d.ts.map +1 -0
  180. package/dist/lib/util/zod-error.js +16 -0
  181. package/dist/lib/util/zod-error.js.map +1 -0
  182. package/dist/oauth-errors.d.ts +22 -22
  183. package/dist/oauth-errors.d.ts.map +1 -1
  184. package/dist/oauth-errors.js +37 -45
  185. package/dist/oauth-errors.js.map +1 -1
  186. package/dist/oauth-hooks.d.ts +11 -23
  187. package/dist/oauth-hooks.d.ts.map +1 -1
  188. package/dist/oauth-hooks.js.map +1 -1
  189. package/dist/oauth-middleware.d.ts +12 -0
  190. package/dist/oauth-middleware.d.ts.map +1 -0
  191. package/dist/oauth-middleware.js +32 -0
  192. package/dist/oauth-middleware.js.map +1 -0
  193. package/dist/oauth-provider.d.ts +109 -113
  194. package/dist/oauth-provider.d.ts.map +1 -1
  195. package/dist/oauth-provider.js +124 -542
  196. package/dist/oauth-provider.js.map +1 -1
  197. package/dist/oauth-verifier.d.ts +7 -26
  198. package/dist/oauth-verifier.d.ts.map +1 -1
  199. package/dist/oauth-verifier.js +6 -16
  200. package/dist/oauth-verifier.js.map +1 -1
  201. package/dist/request/code.d.ts.map +1 -1
  202. package/dist/request/request-data.d.ts +2 -4
  203. package/dist/request/request-data.d.ts.map +1 -1
  204. package/dist/request/request-data.js.map +1 -1
  205. package/dist/request/request-manager.d.ts +4 -2
  206. package/dist/request/request-manager.d.ts.map +1 -1
  207. package/dist/request/request-manager.js +9 -8
  208. package/dist/request/request-manager.js.map +1 -1
  209. package/dist/request/request-store.d.ts +6 -0
  210. package/dist/request/request-store.d.ts.map +1 -1
  211. package/dist/request/request-store.js +3 -1
  212. package/dist/request/request-store.js.map +1 -1
  213. package/dist/result/authorization-redirect-parameters.d.ts +18 -0
  214. package/dist/result/authorization-redirect-parameters.d.ts.map +1 -0
  215. package/dist/result/authorization-redirect-parameters.js +3 -0
  216. package/dist/result/authorization-redirect-parameters.js.map +1 -0
  217. package/dist/result/authorization-result-authorize-page.d.ts +13 -0
  218. package/dist/result/authorization-result-authorize-page.d.ts.map +1 -0
  219. package/dist/result/authorization-result-authorize-page.js +3 -0
  220. package/dist/result/authorization-result-authorize-page.js.map +1 -0
  221. package/dist/result/authorization-result-redirect.d.ts +8 -0
  222. package/dist/result/authorization-result-redirect.d.ts.map +1 -0
  223. package/dist/result/authorization-result-redirect.js +3 -0
  224. package/dist/result/authorization-result-redirect.js.map +1 -0
  225. package/dist/router/assets/assets-manifest.d.ts +10 -0
  226. package/dist/router/assets/assets-manifest.d.ts.map +1 -0
  227. package/dist/router/assets/assets-manifest.js +77 -0
  228. package/dist/router/assets/assets-manifest.js.map +1 -0
  229. package/dist/router/assets/assets.d.ts +16 -0
  230. package/dist/router/assets/assets.d.ts.map +1 -0
  231. package/dist/router/assets/assets.js +43 -0
  232. package/dist/router/assets/assets.js.map +1 -0
  233. package/dist/router/assets/csrf.d.ts +4 -0
  234. package/dist/router/assets/csrf.d.ts.map +1 -0
  235. package/dist/router/assets/csrf.js +51 -0
  236. package/dist/router/assets/csrf.js.map +1 -0
  237. package/dist/router/assets/send-account-page.d.ts +7 -0
  238. package/dist/router/assets/send-account-page.d.ts.map +1 -0
  239. package/dist/router/assets/send-account-page.js +34 -0
  240. package/dist/router/assets/send-account-page.js.map +1 -0
  241. package/dist/router/assets/send-authorization-page.d.ts +5 -0
  242. package/dist/router/assets/send-authorization-page.d.ts.map +1 -0
  243. package/dist/router/assets/send-authorization-page.js +49 -0
  244. package/dist/router/assets/send-authorization-page.js.map +1 -0
  245. package/dist/router/assets/send-error-page.d.ts +4 -0
  246. package/dist/router/assets/send-error-page.d.ts.map +1 -0
  247. package/dist/router/assets/send-error-page.js +34 -0
  248. package/dist/router/assets/send-error-page.js.map +1 -0
  249. package/dist/router/create-account-page-middleware.d.ts +6 -0
  250. package/dist/router/create-account-page-middleware.d.ts.map +1 -0
  251. package/dist/router/create-account-page-middleware.js +39 -0
  252. package/dist/router/create-account-page-middleware.js.map +1 -0
  253. package/dist/router/create-api-middleware.d.ts +8 -0
  254. package/dist/router/create-api-middleware.d.ts.map +1 -0
  255. package/dist/router/create-api-middleware.js +501 -0
  256. package/dist/router/create-api-middleware.js.map +1 -0
  257. package/dist/router/create-authorization-page-middleware.d.ts +6 -0
  258. package/dist/router/create-authorization-page-middleware.d.ts.map +1 -0
  259. package/dist/router/create-authorization-page-middleware.js +104 -0
  260. package/dist/router/create-authorization-page-middleware.js.map +1 -0
  261. package/dist/router/create-oauth-middleware.d.ts +6 -0
  262. package/dist/router/create-oauth-middleware.d.ts.map +1 -0
  263. package/dist/router/create-oauth-middleware.js +142 -0
  264. package/dist/router/create-oauth-middleware.js.map +1 -0
  265. package/dist/router/error-handler.d.ts +3 -0
  266. package/dist/router/error-handler.d.ts.map +1 -0
  267. package/dist/{account/account.js → router/error-handler.js} +1 -1
  268. package/dist/router/error-handler.js.map +1 -0
  269. package/dist/router/middleware-options.d.ts +6 -0
  270. package/dist/router/middleware-options.d.ts.map +1 -0
  271. package/dist/router/middleware-options.js +3 -0
  272. package/dist/router/middleware-options.js.map +1 -0
  273. package/dist/router/send-redirect.d.ts +16 -0
  274. package/dist/router/send-redirect.d.ts.map +1 -0
  275. package/dist/{output/send-authorize-redirect.js → router/send-redirect.js} +40 -24
  276. package/dist/router/send-redirect.js.map +1 -0
  277. package/dist/{token/token-claims.d.ts → signer/api-token-payload.d.ts} +237 -232
  278. package/dist/signer/api-token-payload.d.ts.map +1 -0
  279. package/dist/signer/api-token-payload.js +17 -0
  280. package/dist/signer/api-token-payload.js.map +1 -0
  281. package/dist/signer/signed-token-payload.d.ts +164 -159
  282. package/dist/signer/signed-token-payload.d.ts.map +1 -1
  283. package/dist/signer/signed-token-payload.js +10 -16
  284. package/dist/signer/signed-token-payload.js.map +1 -1
  285. package/dist/signer/signer.d.ts +42 -11246
  286. package/dist/signer/signer.d.ts.map +1 -1
  287. package/dist/signer/signer.js +30 -15
  288. package/dist/signer/signer.js.map +1 -1
  289. package/dist/token/refresh-token.d.ts.map +1 -1
  290. package/dist/token/token-data.d.ts +1 -1
  291. package/dist/token/token-data.d.ts.map +1 -1
  292. package/dist/token/token-id.d.ts.map +1 -1
  293. package/dist/token/token-manager.d.ts +28 -26
  294. package/dist/token/token-manager.d.ts.map +1 -1
  295. package/dist/token/token-manager.js +138 -196
  296. package/dist/token/token-manager.js.map +1 -1
  297. package/dist/token/token-store.d.ts +4 -4
  298. package/dist/token/token-store.d.ts.map +1 -1
  299. package/dist/token/token-store.js +1 -0
  300. package/dist/token/token-store.js.map +1 -1
  301. package/dist/token/verify-token-claims.d.ts +3 -3
  302. package/dist/token/verify-token-claims.d.ts.map +1 -1
  303. package/dist/token/verify-token-claims.js +1 -1
  304. package/dist/token/verify-token-claims.js.map +1 -1
  305. package/dist/types/email-otp.d.ts +3 -0
  306. package/dist/types/email-otp.d.ts.map +1 -0
  307. package/dist/types/email-otp.js +6 -0
  308. package/dist/types/email-otp.js.map +1 -0
  309. package/dist/types/email.d.ts +3 -0
  310. package/dist/types/email.d.ts.map +1 -0
  311. package/dist/types/email.js +29 -0
  312. package/dist/types/email.js.map +1 -0
  313. package/dist/types/handle.d.ts +3 -0
  314. package/dist/types/handle.d.ts.map +1 -0
  315. package/dist/types/handle.js +22 -0
  316. package/dist/types/handle.js.map +1 -0
  317. package/dist/types/invite-code.d.ts +4 -0
  318. package/dist/types/invite-code.d.ts.map +1 -0
  319. package/dist/types/invite-code.js +6 -0
  320. package/dist/types/invite-code.js.map +1 -0
  321. package/dist/types/password.d.ts +4 -0
  322. package/dist/types/password.d.ts.map +1 -0
  323. package/dist/types/password.js +7 -0
  324. package/dist/types/password.js.map +1 -0
  325. package/package.json +11 -14
  326. package/src/access-token/access-token-mode.ts +4 -0
  327. package/src/account/account-manager.ts +105 -75
  328. package/src/account/account-store.ts +118 -114
  329. package/src/account/sign-in-data.ts +10 -10
  330. package/src/account/sign-up-input.ts +13 -4
  331. package/src/client/client-manager.ts +34 -2
  332. package/src/client/client-store.ts +1 -1
  333. package/src/constants.ts +6 -1
  334. package/src/customization/branding.ts +12 -0
  335. package/src/customization/build-customization-css.ts +30 -0
  336. package/src/customization/build-customization-data.ts +22 -0
  337. package/src/customization/colors.ts +30 -0
  338. package/src/customization/customization.ts +25 -0
  339. package/src/customization/links.ts +10 -0
  340. package/src/device/device-id.ts +5 -0
  341. package/src/device/device-manager.ts +76 -66
  342. package/src/device/device-store.ts +2 -0
  343. package/src/errors/access-denied-error.ts +24 -17
  344. package/src/{output/build-error-payload.ts → errors/error-parser.ts} +1 -1
  345. package/src/errors/invalid-grant-error.ts +5 -0
  346. package/src/errors/login-required-error.ts +10 -0
  347. package/src/index.ts +1 -0
  348. package/src/lib/html/build-document.ts +6 -4
  349. package/src/{output/backend-data.ts → lib/html/hydration-data.ts} +7 -5
  350. package/src/lib/html/tags.ts +2 -2
  351. package/src/lib/http/accept.ts +3 -3
  352. package/src/lib/http/context.ts +41 -10
  353. package/src/lib/http/headers.ts +15 -0
  354. package/src/lib/http/index.ts +1 -0
  355. package/src/lib/http/middleware.ts +8 -23
  356. package/src/lib/http/request.ts +40 -75
  357. package/src/lib/http/response.ts +39 -15
  358. package/src/lib/http/route.ts +8 -5
  359. package/src/lib/http/router.ts +40 -46
  360. package/src/lib/http/security-headers.ts +1 -1
  361. package/src/lib/http/types.ts +1 -6
  362. package/src/{output → lib}/send-web-page.ts +10 -9
  363. package/src/lib/util/color.ts +132 -0
  364. package/src/lib/util/crypto.ts +9 -4
  365. package/src/lib/util/function.ts +14 -0
  366. package/src/lib/util/locale.ts +18 -0
  367. package/src/lib/util/time.ts +3 -4
  368. package/src/lib/util/type.ts +24 -0
  369. package/src/lib/util/ui8.ts +14 -0
  370. package/src/lib/util/zod-error.ts +14 -0
  371. package/src/oauth-errors.ts +22 -22
  372. package/src/oauth-hooks.ts +11 -24
  373. package/src/oauth-middleware.ts +53 -0
  374. package/src/oauth-provider.ts +290 -1061
  375. package/src/oauth-verifier.ts +9 -55
  376. package/src/request/request-data.ts +5 -4
  377. package/src/request/request-manager.ts +11 -11
  378. package/src/request/request-store.ts +7 -0
  379. package/src/result/authorization-redirect-parameters.ts +24 -0
  380. package/src/result/authorization-result-authorize-page.ts +14 -0
  381. package/src/result/authorization-result-redirect.ts +8 -0
  382. package/src/router/assets/assets-manifest.ts +115 -0
  383. package/src/router/assets/assets.ts +54 -0
  384. package/src/router/assets/csrf.ts +63 -0
  385. package/src/router/assets/send-account-page.ts +43 -0
  386. package/src/router/assets/send-authorization-page.ts +62 -0
  387. package/src/router/assets/send-error-page.ts +42 -0
  388. package/src/router/create-account-page-middleware.ts +69 -0
  389. package/src/router/create-api-middleware.ts +814 -0
  390. package/src/router/create-authorization-page-middleware.ts +173 -0
  391. package/src/router/create-oauth-middleware.ts +247 -0
  392. package/src/router/error-handler.ts +6 -0
  393. package/src/router/middleware-options.ts +9 -0
  394. package/src/router/send-redirect.ts +142 -0
  395. package/src/signer/api-token-payload.ts +18 -0
  396. package/src/signer/signed-token-payload.ts +18 -28
  397. package/src/signer/signer.ts +49 -34
  398. package/src/token/token-data.ts +1 -1
  399. package/src/token/token-manager.ts +190 -239
  400. package/src/token/token-store.ts +6 -4
  401. package/src/token/verify-token-claims.ts +4 -4
  402. package/src/types/email-otp.ts +3 -0
  403. package/src/types/email.ts +26 -0
  404. package/src/types/handle.ts +18 -0
  405. package/src/types/invite-code.ts +4 -0
  406. package/src/types/password.ts +4 -0
  407. package/tsconfig.build.tsbuildinfo +1 -0
  408. package/tsconfig.json +1 -1
  409. package/dist/access-token/access-token-type.d.ts +0 -6
  410. package/dist/access-token/access-token-type.d.ts.map +0 -1
  411. package/dist/access-token/access-token-type.js +0 -10
  412. package/dist/access-token/access-token-type.js.map +0 -1
  413. package/dist/account/account.d.ts +0 -2
  414. package/dist/account/account.d.ts.map +0 -1
  415. package/dist/account/account.js.map +0 -1
  416. package/dist/assets/assets-middleware.d.ts +0 -5
  417. package/dist/assets/assets-middleware.d.ts.map +0 -1
  418. package/dist/assets/assets-middleware.js +0 -41
  419. package/dist/assets/assets-middleware.js.map +0 -1
  420. package/dist/lib/locale.d.ts +0 -15
  421. package/dist/lib/locale.d.ts.map +0 -1
  422. package/dist/lib/locale.js +0 -17
  423. package/dist/lib/locale.js.map +0 -1
  424. package/dist/output/backend-data.d.ts +0 -4
  425. package/dist/output/backend-data.d.ts.map +0 -1
  426. package/dist/output/backend-data.js.map +0 -1
  427. package/dist/output/build-authorize-data.d.ts +0 -29
  428. package/dist/output/build-authorize-data.d.ts.map +0 -1
  429. package/dist/output/build-authorize-data.js +0 -21
  430. package/dist/output/build-authorize-data.js.map +0 -1
  431. package/dist/output/build-customization-data.d.ts +0 -234
  432. package/dist/output/build-customization-data.d.ts.map +0 -1
  433. package/dist/output/build-customization-data.js +0 -174
  434. package/dist/output/build-customization-data.js.map +0 -1
  435. package/dist/output/build-error-data.d.ts +0 -3
  436. package/dist/output/build-error-data.d.ts.map +0 -1
  437. package/dist/output/build-error-data.js +0 -10
  438. package/dist/output/build-error-data.js.map +0 -1
  439. package/dist/output/build-error-payload.d.ts.map +0 -1
  440. package/dist/output/build-error-payload.js.map +0 -1
  441. package/dist/output/output-manager.d.ts +0 -28
  442. package/dist/output/output-manager.d.ts.map +0 -1
  443. package/dist/output/output-manager.js +0 -134
  444. package/dist/output/output-manager.js.map +0 -1
  445. package/dist/output/send-authorize-redirect.d.ts +0 -25
  446. package/dist/output/send-authorize-redirect.d.ts.map +0 -1
  447. package/dist/output/send-authorize-redirect.js.map +0 -1
  448. package/dist/output/send-web-page.d.ts +0 -8
  449. package/dist/output/send-web-page.d.ts.map +0 -1
  450. package/dist/output/send-web-page.js.map +0 -1
  451. package/dist/token/token-claims.d.ts.map +0 -1
  452. package/dist/token/token-claims.js +0 -27
  453. package/dist/token/token-claims.js.map +0 -1
  454. package/src/access-token/access-token-type.ts +0 -5
  455. package/src/account/account.ts +0 -1
  456. package/src/assets/assets-middleware.ts +0 -44
  457. package/src/lib/locale.ts +0 -21
  458. package/src/output/build-authorize-data.ts +0 -53
  459. package/src/output/build-customization-data.ts +0 -217
  460. package/src/output/build-error-data.ts +0 -8
  461. package/src/output/output-manager.ts +0 -188
  462. package/src/output/send-authorize-redirect.ts +0 -137
  463. package/src/token/token-claims.ts +0 -30
  464. package/tsconfig.backend.tsbuildinfo +0 -1
  465. /package/{tsconfig.backend.json → tsconfig.build.json} +0 -0
@@ -1,6 +1,6 @@
1
- import { DeviceAccountInfo } from '../account/account-store.js'
2
- import { Account } from '../account/account.js'
1
+ import type { Account } from '@atproto/oauth-provider-api'
3
2
  import { Awaitable, buildInterfaceChecker } from '../lib/util/type.js'
3
+ import { Sub } from '../oidc/sub.js'
4
4
  import { Code } from '../request/code.js'
5
5
  import { RefreshToken } from './refresh-token.js'
6
6
  import { TokenData } from './token-data.js'
@@ -10,13 +10,12 @@ import { TokenId } from './token-id.js'
10
10
  export * from './refresh-token.js'
11
11
  export * from './token-data.js'
12
12
  export * from './token-id.js'
13
- export type { Awaitable }
13
+ export type { Account, Awaitable, Sub }
14
14
 
15
15
  export type TokenInfo = {
16
16
  id: TokenId
17
17
  data: TokenData
18
18
  account: Account
19
- info?: DeviceAccountInfo
20
19
  currentRefreshToken: null | RefreshToken
21
20
  }
22
21
 
@@ -53,6 +52,8 @@ export interface TokenStore {
53
52
  ): Awaitable<null | TokenInfo>
54
53
 
55
54
  findTokenByCode(code: Code): Awaitable<null | TokenInfo>
55
+
56
+ listAccountTokens(sub: Sub): Awaitable<TokenInfo[]>
56
57
  }
57
58
 
58
59
  export const isTokenStore = buildInterfaceChecker<TokenStore>([
@@ -62,6 +63,7 @@ export const isTokenStore = buildInterfaceChecker<TokenStore>([
62
63
  'rotateToken',
63
64
  'findTokenByRefreshToken',
64
65
  'findTokenByCode',
66
+ 'listAccountTokens',
65
67
  ])
66
68
 
67
69
  export function asTokenStore<V extends Partial<TokenStore>>(
@@ -3,7 +3,7 @@ import { InvalidDpopKeyBindingError } from '../errors/invalid-dpop-key-binding-e
3
3
  import { InvalidDpopProofError } from '../errors/invalid-dpop-proof-error.js'
4
4
  import { asArray } from '../lib/util/cast.js'
5
5
  import { InvalidTokenError } from '../oauth-errors.js'
6
- import { TokenClaims } from './token-claims.js'
6
+ import { SignedTokenPayload } from '../signer/signed-token-payload.js'
7
7
  import { TokenId } from './token-id.js'
8
8
 
9
9
  export type VerifyTokenClaimsOptions = {
@@ -17,7 +17,7 @@ export type VerifyTokenClaimsResult = {
17
17
  token: OAuthAccessToken
18
18
  tokenId: TokenId
19
19
  tokenType: OAuthTokenType
20
- claims: TokenClaims
20
+ claims: SignedTokenPayload
21
21
  }
22
22
 
23
23
  export function verifyTokenClaims(
@@ -25,7 +25,7 @@ export function verifyTokenClaims(
25
25
  tokenId: TokenId,
26
26
  tokenType: OAuthTokenType,
27
27
  dpopJkt: string | null,
28
- claims: TokenClaims,
28
+ claims: SignedTokenPayload,
29
29
  options?: VerifyTokenClaimsOptions,
30
30
  ): VerifyTokenClaimsResult {
31
31
  const dateReference = Date.now()
@@ -56,7 +56,7 @@ export function verifyTokenClaims(
56
56
  }
57
57
  }
58
58
 
59
- if (claims.exp && claims.exp * 1000 <= dateReference) {
59
+ if (claims.exp != null && claims.exp * 1000 <= dateReference) {
60
60
  throw new InvalidTokenError(tokenType, `Token expired`)
61
61
  }
62
62
 
@@ -0,0 +1,3 @@
1
+ import { z } from 'zod'
2
+
3
+ export const emailOtpSchema = z.string().min(1)
@@ -0,0 +1,26 @@
1
+ import { isEmailValid } from '@hapi/address'
2
+ import { isDisposableEmail } from 'disposable-email-domains-js'
3
+ import { z } from 'zod'
4
+
5
+ export const emailSchema = z
6
+ .string()
7
+ .email()
8
+ // @NOTE Internally, `zod` uses a regexp for validating emails.. This
9
+ // validation strategy *could* be less permissive in some (edge) cases than
10
+ // `@hapi/address` as the latter uses an algorithm based on the spec. Truth
11
+ // is, it is kinda hard to know if the set of emails allowed by
12
+ // `@hapi/address` is covered by the set of emails allowed by `zod`.
13
+ // Additionally, this could change with future changes in either libraries.
14
+ //
15
+ // Because of this uncertainty, and because other part of the Bluesky/ATProto
16
+ // codebases rely solely on `zod`, this code only allows emails that are valid
17
+ // according to both libraries ensuring that we never encounter a case where
18
+ // an email allowed here is in a format that would be rejected by other parts
19
+ // of our systems.
20
+ .refine(isEmailValid, {
21
+ message: 'Invalid email address',
22
+ })
23
+ .refine((email) => !isDisposableEmail(email), {
24
+ message: 'Disposable email addresses are not allowed',
25
+ })
26
+ .transform((value) => value.toLowerCase())
@@ -0,0 +1,18 @@
1
+ import { z } from 'zod'
2
+ import { ensureValidHandle, normalizeHandle } from '@atproto/syntax'
3
+
4
+ export const handleSchema = z
5
+ .string()
6
+ // @NOTE: We only check against validity towards ATProto's syntax. Additional
7
+ // rules may be imposed by the store implementation.
8
+ .superRefine((value, ctx) => {
9
+ try {
10
+ ensureValidHandle(value)
11
+ } catch (err) {
12
+ ctx.addIssue({
13
+ code: z.ZodIssueCode.custom,
14
+ message: err instanceof Error ? err.message : 'Invalid handle',
15
+ })
16
+ }
17
+ })
18
+ .transform(normalizeHandle)
@@ -0,0 +1,4 @@
1
+ import { z } from 'zod'
2
+
3
+ export const inviteCodeSchema = z.string().min(1)
4
+ export type InviteCode = z.infer<typeof inviteCodeSchema>
@@ -0,0 +1,4 @@
1
+ import { z } from 'zod'
2
+
3
+ export const oldPasswordSchema = z.string().min(1)
4
+ export const newPasswordSchema = z.string().min(8)
@@ -0,0 +1 @@
1
+ {"root":["./src/constants.ts","./src/index.ts","./src/oauth-client.ts","./src/oauth-dpop.ts","./src/oauth-errors.ts","./src/oauth-hooks.ts","./src/oauth-middleware.ts","./src/oauth-provider.ts","./src/oauth-store.ts","./src/oauth-verifier.ts","./src/access-token/access-token-mode.ts","./src/account/account-manager.ts","./src/account/account-store.ts","./src/account/sign-in-data.ts","./src/account/sign-up-input.ts","./src/client/client-auth.ts","./src/client/client-data.ts","./src/client/client-id.ts","./src/client/client-info.ts","./src/client/client-manager.ts","./src/client/client-store.ts","./src/client/client-utils.ts","./src/client/client.ts","./src/customization/branding.ts","./src/customization/build-customization-css.ts","./src/customization/build-customization-data.ts","./src/customization/colors.ts","./src/customization/customization.ts","./src/customization/links.ts","./src/device/device-data.ts","./src/device/device-id.ts","./src/device/device-manager.ts","./src/device/device-store.ts","./src/device/session-id.ts","./src/dpop/dpop-manager.ts","./src/dpop/dpop-nonce.ts","./src/errors/access-denied-error.ts","./src/errors/account-selection-required-error.ts","./src/errors/consent-required-error.ts","./src/errors/error-parser.ts","./src/errors/handle-unavailable-error.ts","./src/errors/invalid-authorization-details-error.ts","./src/errors/invalid-client-error.ts","./src/errors/invalid-client-id-error.ts","./src/errors/invalid-client-metadata-error.ts","./src/errors/invalid-dpop-key-binding-error.ts","./src/errors/invalid-dpop-proof-error.ts","./src/errors/invalid-grant-error.ts","./src/errors/invalid-invite-code-error.ts","./src/errors/invalid-parameters-error.ts","./src/errors/invalid-redirect-uri-error.ts","./src/errors/invalid-request-error.ts","./src/errors/invalid-scope-error.ts","./src/errors/invalid-token-error.ts","./src/errors/login-required-error.ts","./src/errors/oauth-error.ts","./src/errors/second-authentication-factor-required-error.ts","./src/errors/unauthorized-client-error.ts","./src/errors/use-dpop-nonce-error.ts","./src/errors/www-authenticate-error.ts","./src/lib/hcaptcha.ts","./src/lib/redis.ts","./src/lib/send-web-page.ts","./src/lib/csp/index.ts","./src/lib/html/build-document.ts","./src/lib/html/escapers.ts","./src/lib/html/html.ts","./src/lib/html/hydration-data.ts","./src/lib/html/index.ts","./src/lib/html/tags.ts","./src/lib/html/util.ts","./src/lib/http/accept.ts","./src/lib/http/context.ts","./src/lib/http/headers.ts","./src/lib/http/index.ts","./src/lib/http/method.ts","./src/lib/http/middleware.ts","./src/lib/http/parser.ts","./src/lib/http/path.ts","./src/lib/http/request.ts","./src/lib/http/response.ts","./src/lib/http/route.ts","./src/lib/http/router.ts","./src/lib/http/security-headers.ts","./src/lib/http/stream.ts","./src/lib/http/types.ts","./src/lib/http/url.ts","./src/lib/util/authorization-header.ts","./src/lib/util/cast.ts","./src/lib/util/color.ts","./src/lib/util/crypto.ts","./src/lib/util/date.ts","./src/lib/util/function.ts","./src/lib/util/hostname.ts","./src/lib/util/locale.ts","./src/lib/util/redirect-uri.ts","./src/lib/util/time.ts","./src/lib/util/type.ts","./src/lib/util/ui8.ts","./src/lib/util/well-known.ts","./src/lib/util/zod-error.ts","./src/metadata/build-metadata.ts","./src/oidc/sub.ts","./src/replay/replay-manager.ts","./src/replay/replay-store-memory.ts","./src/replay/replay-store-redis.ts","./src/replay/replay-store.ts","./src/request/code.ts","./src/request/request-data.ts","./src/request/request-id.ts","./src/request/request-info.ts","./src/request/request-manager.ts","./src/request/request-store-memory.ts","./src/request/request-store-redis.ts","./src/request/request-store.ts","./src/request/request-uri.ts","./src/result/authorization-redirect-parameters.ts","./src/result/authorization-result-authorize-page.ts","./src/result/authorization-result-redirect.ts","./src/router/create-account-page-middleware.ts","./src/router/create-api-middleware.ts","./src/router/create-authorization-page-middleware.ts","./src/router/create-oauth-middleware.ts","./src/router/error-handler.ts","./src/router/middleware-options.ts","./src/router/send-redirect.ts","./src/router/assets/assets-manifest.ts","./src/router/assets/assets.ts","./src/router/assets/csrf.ts","./src/router/assets/send-account-page.ts","./src/router/assets/send-authorization-page.ts","./src/router/assets/send-error-page.ts","./src/signer/api-token-payload.ts","./src/signer/signed-token-payload.ts","./src/signer/signer.ts","./src/token/refresh-token.ts","./src/token/token-data.ts","./src/token/token-id.ts","./src/token/token-manager.ts","./src/token/token-store.ts","./src/token/verify-token-claims.ts","./src/types/email-otp.ts","./src/types/email.ts","./src/types/handle.ts","./src/types/invite-code.ts","./src/types/password.ts"],"version":"5.8.2"}
package/tsconfig.json CHANGED
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "include": [],
3
- "references": [{ "path": "./tsconfig.backend.json" }]
3
+ "references": [{ "path": "./tsconfig.build.json" }]
4
4
  }
@@ -1,6 +0,0 @@
1
- export declare enum AccessTokenType {
2
- auto = "auto",
3
- jwt = "jwt",
4
- id = "id"
5
- }
6
- //# sourceMappingURL=access-token-type.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"access-token-type.d.ts","sourceRoot":"","sources":["../../src/access-token/access-token-type.ts"],"names":[],"mappings":"AAAA,oBAAY,eAAe;IACzB,IAAI,SAAS;IACb,GAAG,QAAQ;IACX,EAAE,OAAO;CACV"}
@@ -1,10 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AccessTokenType = void 0;
4
- var AccessTokenType;
5
- (function (AccessTokenType) {
6
- AccessTokenType["auto"] = "auto";
7
- AccessTokenType["jwt"] = "jwt";
8
- AccessTokenType["id"] = "id";
9
- })(AccessTokenType || (exports.AccessTokenType = AccessTokenType = {}));
10
- //# sourceMappingURL=access-token-type.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"access-token-type.js","sourceRoot":"","sources":["../../src/access-token/access-token-type.ts"],"names":[],"mappings":";;;AAAA,IAAY,eAIX;AAJD,WAAY,eAAe;IACzB,gCAAa,CAAA;IACb,8BAAW,CAAA;IACX,4BAAS,CAAA;AACX,CAAC,EAJW,eAAe,+BAAf,eAAe,QAI1B"}
@@ -1,2 +0,0 @@
1
- export type { Account } from '@atproto/oauth-provider-api';
2
- //# sourceMappingURL=account.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"account.d.ts","sourceRoot":"","sources":["../../src/account/account.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"account.js","sourceRoot":"","sources":["../../src/account/account.ts"],"names":[],"mappings":""}
@@ -1,5 +0,0 @@
1
- import { Middleware } from '../lib/http/index.js';
2
- export declare const ASSETS_URL_PREFIX = "/@atproto/oauth-provider/~assets/";
3
- export declare function buildAssetUrl(filename: string): string;
4
- export declare function authorizeAssetsMiddleware(): Middleware;
5
- //# sourceMappingURL=assets-middleware.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"assets-middleware.d.ts","sourceRoot":"","sources":["../../src/assets/assets-middleware.ts"],"names":[],"mappings":"AACA,OAAO,EACL,UAAU,EAIX,MAAM,sBAAsB,CAAA;AAE7B,eAAO,MAAM,iBAAiB,sCAAsC,CAAA;AAEpE,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED,wBAAgB,yBAAyB,IAAI,UAAU,CA6BtD"}
@@ -1,41 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ASSETS_URL_PREFIX = void 0;
4
- exports.buildAssetUrl = buildAssetUrl;
5
- exports.authorizeAssetsMiddleware = authorizeAssetsMiddleware;
6
- const oauth_provider_ui_1 = require("@atproto/oauth-provider-ui");
7
- const index_js_1 = require("../lib/http/index.js");
8
- exports.ASSETS_URL_PREFIX = '/@atproto/oauth-provider/~assets/';
9
- function buildAssetUrl(filename) {
10
- return `${exports.ASSETS_URL_PREFIX}${encodeURIComponent(filename)}`;
11
- }
12
- function authorizeAssetsMiddleware() {
13
- return async function assetsMiddleware(req, res, next) {
14
- if (req.method !== 'GET' && req.method !== 'HEAD')
15
- return next();
16
- if (!req.url?.startsWith(exports.ASSETS_URL_PREFIX))
17
- return next();
18
- const filename = req.url.slice(exports.ASSETS_URL_PREFIX.length);
19
- if (!filename)
20
- return next();
21
- const asset = oauth_provider_ui_1.assets.get(filename);
22
- if (!asset)
23
- return next();
24
- try {
25
- // Allow "null" (ie. no header) to allow loading assets outside of a
26
- // fetch context (not from a web page).
27
- (0, index_js_1.validateFetchSite)(req, res, [null, 'none', 'cross-site', 'same-origin']);
28
- (0, index_js_1.validateFetchDest)(req, res, [null, 'document', 'style', 'script']);
29
- }
30
- catch (err) {
31
- return next(err);
32
- }
33
- if (req.headers['if-none-match'] === asset.sha256) {
34
- return void res.writeHead(304).end();
35
- }
36
- res.setHeader('ETag', asset.sha256);
37
- res.setHeader('Cache-Control', 'public, max-age=31536000, immutable');
38
- (0, index_js_1.writeStream)(res, asset.stream(), { contentType: asset.mime });
39
- };
40
- }
41
- //# sourceMappingURL=assets-middleware.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"assets-middleware.js","sourceRoot":"","sources":["../../src/assets/assets-middleware.ts"],"names":[],"mappings":";;;AAUA,sCAEC;AAED,8DA6BC;AA3CD,kEAAmD;AACnD,mDAK6B;AAEhB,QAAA,iBAAiB,GAAG,mCAAmC,CAAA;AAEpE,SAAgB,aAAa,CAAC,QAAgB;IAC5C,OAAO,GAAG,yBAAiB,GAAG,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAA;AAC9D,CAAC;AAED,SAAgB,yBAAyB;IACvC,OAAO,KAAK,UAAU,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI;QACnD,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM;YAAE,OAAO,IAAI,EAAE,CAAA;QAChE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,yBAAiB,CAAC;YAAE,OAAO,IAAI,EAAE,CAAA;QAE1D,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,yBAAiB,CAAC,MAAM,CAAC,CAAA;QACxD,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,EAAE,CAAA;QAE5B,MAAM,KAAK,GAAG,0BAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QAClC,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,EAAE,CAAA;QAEzB,IAAI,CAAC;YACH,oEAAoE;YACpE,uCAAuC;YACvC,IAAA,4BAAiB,EAAC,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC,CAAA;YACxE,IAAA,4BAAiB,EAAC,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAA;QACpE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,IAAI,CAAC,GAAG,CAAC,CAAA;QAClB,CAAC;QAED,IAAI,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC;YAClD,OAAO,KAAK,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAA;QACtC,CAAC;QAED,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;QACnC,GAAG,CAAC,SAAS,CAAC,eAAe,EAAE,qCAAqC,CAAC,CAAA;QAErE,IAAA,sBAAW,EAAC,GAAG,EAAE,KAAK,CAAC,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAA;IAC/D,CAAC,CAAA;AACH,CAAC"}
@@ -1,15 +0,0 @@
1
- import { z } from 'zod';
2
- export declare const localeSchema: z.ZodString;
3
- export type Locale = z.infer<typeof localeSchema>;
4
- export declare const multiLangStringSchema: z.ZodIntersection<z.ZodObject<{
5
- en: z.ZodString;
6
- }, "strip", z.ZodTypeAny, {
7
- en: string;
8
- }, {
9
- en: string;
10
- }>, z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodUndefined]>>>;
11
- export type MultiLangString = z.infer<typeof multiLangStringSchema>;
12
- export declare const AVAILABLE_LOCALES: readonly ["en", "fr"];
13
- export type AvailableLocale = (typeof AVAILABLE_LOCALES)[number];
14
- export declare const isAvailableLocale: (v: unknown) => v is AvailableLocale;
15
- //# sourceMappingURL=locale.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"locale.d.ts","sourceRoot":"","sources":["../../src/lib/locale.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,eAAO,MAAM,YAAY,aAE6B,CAAA;AACtD,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAA;AAEjD,eAAO,MAAM,qBAAqB;;;;;;wEAGjC,CAAA;AACD,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAEnE,eAAO,MAAM,iBAAiB,uBAIQ,CAAA;AACtC,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAA;AAChE,eAAO,MAAM,iBAAiB,MAAO,OAAO,KAAG,CAAC,IAAI,eACG,CAAA"}
@@ -1,17 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isAvailableLocale = exports.AVAILABLE_LOCALES = exports.multiLangStringSchema = exports.localeSchema = void 0;
4
- const zod_1 = require("zod");
5
- exports.localeSchema = zod_1.z
6
- .string()
7
- .regex(/^[a-z]{2,3}(-[A-Z]{2})?$/, 'Invalid locale');
8
- exports.multiLangStringSchema = zod_1.z.intersection(zod_1.z.object({ en: zod_1.z.string() }), // en is required
9
- zod_1.z.record(exports.localeSchema, zod_1.z.union([zod_1.z.string(), zod_1.z.undefined()])));
10
- exports.AVAILABLE_LOCALES = [
11
- // TODO: Add more in this list as translations are added in the PO files
12
- 'en',
13
- 'fr',
14
- ];
15
- const isAvailableLocale = (v) => exports.AVAILABLE_LOCALES.includes(v);
16
- exports.isAvailableLocale = isAvailableLocale;
17
- //# sourceMappingURL=locale.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"locale.js","sourceRoot":"","sources":["../../src/lib/locale.ts"],"names":[],"mappings":";;;AAAA,6BAAuB;AAEV,QAAA,YAAY,GAAG,OAAC;KAC1B,MAAM,EAAE;KACR,KAAK,CAAC,0BAA0B,EAAE,gBAAgB,CAAC,CAAA;AAGzC,QAAA,qBAAqB,GAAG,OAAC,CAAC,YAAY,CACjD,OAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,iBAAiB;AAC/C,OAAC,CAAC,MAAM,CAAC,oBAAY,EAAE,OAAC,CAAC,KAAK,CAAC,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,OAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAC7D,CAAA;AAGY,QAAA,iBAAiB,GAAG;IAC/B,wEAAwE;IACxE,IAAI;IACJ,IAAI;CACgC,CAAA;AAE/B,MAAM,iBAAiB,GAAG,CAAC,CAAU,EAAwB,EAAE,CACnE,yBAAwC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;AAD1C,QAAA,iBAAiB,qBACyB"}
@@ -1,4 +0,0 @@
1
- import { Html } from '../lib/html/index.js';
2
- export declare function declareBackendData(values: Record<string, unknown>): Html;
3
- export declare function backendDataGenerator(values: Record<string, unknown>): Generator<Html>;
4
- //# sourceMappingURL=backend-data.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"backend-data.d.ts","sourceRoot":"","sources":["../../src/output/backend-data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAM,MAAM,sBAAsB,CAAA;AAE/C,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAExE;AAED,wBAAiB,oBAAoB,CACnC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,SAAS,CAAC,IAAI,CAAC,CASjB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"backend-data.js","sourceRoot":"","sources":["../../src/output/backend-data.ts"],"names":[],"mappings":";;AAEA,gDAEC;AAED,oDAWC;AAjBD,mDAA+C;AAE/C,SAAgB,kBAAkB,CAAC,MAA+B;IAChE,OAAO,eAAI,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAA;AAC7D,CAAC;AAED,QAAe,CAAC,CAAC,oBAAoB,CACnC,MAA+B;IAE/B,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAChD,MAAM,IAAA,aAAE,EAAA,UAAU,GAAG,KAAK,GAAG,GAAG,CAAA;IAClC,CAAC;IACD,qEAAqE;IACrE,wEAAwE;IACxE,8DAA8D;IAC9D,2DAA2D;IAC3D,MAAM,IAAA,aAAE,EAAA,kCAAkC,CAAA;AAC5C,CAAC"}
@@ -1,29 +0,0 @@
1
- import type { AuthorizeData, Session } from '@atproto/oauth-provider-api';
2
- import { OAuthAuthorizationRequestParameters } from '@atproto/oauth-types';
3
- import { DeviceAccountInfo } from '../account/account-store.js';
4
- import { Account } from '../account/account.js';
5
- import { Client } from '../client/client.js';
6
- import { RequestUri } from '../request/request-uri.js';
7
- export type ScopeDetail = {
8
- scope: string;
9
- description?: string;
10
- };
11
- export type AuthorizationResultAuthorize = {
12
- issuer: string;
13
- client: Client;
14
- parameters: OAuthAuthorizationRequestParameters;
15
- authorize: {
16
- uri: RequestUri;
17
- scopeDetails?: ScopeDetail[];
18
- sessions: readonly {
19
- account: Account;
20
- info: DeviceAccountInfo;
21
- selected: boolean;
22
- loginRequired: boolean;
23
- consentRequired: boolean;
24
- }[];
25
- };
26
- };
27
- export type { AuthorizeData, Session };
28
- export declare function buildAuthorizeData(data: AuthorizationResultAuthorize): AuthorizeData;
29
- //# sourceMappingURL=build-authorize-data.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"build-authorize-data.d.ts","sourceRoot":"","sources":["../../src/output/build-authorize-data.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAA;AACzE,OAAO,EAAE,mCAAmC,EAAE,MAAM,sBAAsB,CAAA;AAC1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAA;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AAEtD,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB,CAAA;AAED,MAAM,MAAM,4BAA4B,GAAG;IACzC,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,mCAAmC,CAAA;IAC/C,SAAS,EAAE;QACT,GAAG,EAAE,UAAU,CAAA;QACf,YAAY,CAAC,EAAE,WAAW,EAAE,CAAA;QAC5B,QAAQ,EAAE,SAAS;YACjB,OAAO,EAAE,OAAO,CAAA;YAChB,IAAI,EAAE,iBAAiB,CAAA;YAEvB,QAAQ,EAAE,OAAO,CAAA;YACjB,aAAa,EAAE,OAAO,CAAA;YACtB,eAAe,EAAE,OAAO,CAAA;SACzB,EAAE,CAAA;KACJ,CAAA;CACF,CAAA;AAED,YAAY,EAAE,aAAa,EAAE,OAAO,EAAE,CAAA;AAEtC,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,4BAA4B,GACjC,aAAa,CAkBf"}
@@ -1,21 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.buildAuthorizeData = buildAuthorizeData;
4
- function buildAuthorizeData(data) {
5
- return {
6
- clientId: data.client.id,
7
- clientMetadata: data.client.metadata,
8
- clientTrusted: data.client.info.isTrusted,
9
- requestUri: data.authorize.uri,
10
- loginHint: data.parameters.login_hint,
11
- newSessionsRequireConsent: data.parameters.prompt === 'consent',
12
- scopeDetails: data.authorize.scopeDetails,
13
- sessions: data.authorize.sessions.map((session) => ({
14
- account: session.account,
15
- selected: session.selected,
16
- loginRequired: session.loginRequired,
17
- consentRequired: session.consentRequired,
18
- })),
19
- };
20
- }
21
- //# sourceMappingURL=build-authorize-data.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"build-authorize-data.js","sourceRoot":"","sources":["../../src/output/build-authorize-data.ts"],"names":[],"mappings":";;AAgCA,gDAoBC;AApBD,SAAgB,kBAAkB,CAChC,IAAkC;IAElC,OAAO;QACL,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE;QACxB,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;QACpC,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS;QACzC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG;QAC9B,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,UAAU;QACrC,yBAAyB,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,SAAS;QAC/D,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY;QACzC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CACnC,CAAC,OAAO,EAAW,EAAE,CAAC,CAAC;YACrB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,eAAe,EAAE,OAAO,CAAC,eAAe;SACzC,CAAC,CACH;KACF,CAAA;AACH,CAAC"}
@@ -1,234 +0,0 @@
1
- import { z } from 'zod';
2
- import { CustomizationData } from '@atproto/oauth-provider-api';
3
- export { type HcaptchaConfig, hcaptchaConfigSchema } from '../lib/hcaptcha.js';
4
- export declare const colorNames: readonly ["brand", "error", "warning", "success"];
5
- export declare const colorNameSchema: z.ZodEnum<["brand", "error", "warning", "success"]>;
6
- export type ColorName = z.infer<typeof colorNameSchema>;
7
- declare const parsedColorSchema: z.ZodEffects<z.ZodString, RgbColor, string>;
8
- export type ParsedColor = z.infer<typeof parsedColorSchema>;
9
- export declare const colorsDefinitionSchema: z.ZodRecord<z.ZodEnum<["brand", "error", "warning", "success"]>, z.ZodOptional<z.ZodEffects<z.ZodString, RgbColor, string>>>;
10
- export type ColorsDefinition = z.infer<typeof colorsDefinitionSchema>;
11
- export declare const localizedStringSchema: z.ZodUnion<[z.ZodString, z.ZodIntersection<z.ZodObject<{
12
- en: z.ZodString;
13
- }, "strip", z.ZodTypeAny, {
14
- en: string;
15
- }, {
16
- en: string;
17
- }>, z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodUndefined]>>>]>;
18
- export type LocalizedString = z.infer<typeof localizedStringSchema>;
19
- export declare const linkRelSchema: z.ZodEffects<z.ZodString, "search" | "expect" | "manifest" | "alternate" | "author" | "canonical" | "dns-prefetch" | "external" | "help" | "icon" | "license" | "me" | "modulepreload" | "next" | "pingback" | "preconnect" | "prefetch" | "preload" | "prerender" | "prev" | "privacy-policy" | "stylesheet" | "terms-of-service", string>;
20
- export type LinkRel = z.infer<typeof linkRelSchema>;
21
- export declare const linkDefinitionSchema: z.ZodObject<{
22
- title: z.ZodUnion<[z.ZodString, z.ZodIntersection<z.ZodObject<{
23
- en: z.ZodString;
24
- }, "strip", z.ZodTypeAny, {
25
- en: string;
26
- }, {
27
- en: string;
28
- }>, z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodUndefined]>>>]>;
29
- href: z.ZodString;
30
- rel: z.ZodOptional<z.ZodEffects<z.ZodString, "search" | "expect" | "manifest" | "alternate" | "author" | "canonical" | "dns-prefetch" | "external" | "help" | "icon" | "license" | "me" | "modulepreload" | "next" | "pingback" | "preconnect" | "prefetch" | "preload" | "prerender" | "prev" | "privacy-policy" | "stylesheet" | "terms-of-service", string>>;
31
- }, "strip", z.ZodTypeAny, {
32
- title: string | ({
33
- en: string;
34
- } & Record<string, string | undefined>);
35
- href: string;
36
- rel?: "search" | "expect" | "manifest" | "alternate" | "author" | "canonical" | "dns-prefetch" | "external" | "help" | "icon" | "license" | "me" | "modulepreload" | "next" | "pingback" | "preconnect" | "prefetch" | "preload" | "prerender" | "prev" | "privacy-policy" | "stylesheet" | "terms-of-service" | undefined;
37
- }, {
38
- title: string | ({
39
- en: string;
40
- } & Record<string, string | undefined>);
41
- href: string;
42
- rel?: string | undefined;
43
- }>;
44
- export type LinkDefinition = z.infer<typeof linkDefinitionSchema>;
45
- /**
46
- * Aesthetic customization
47
- */
48
- export declare const brandingConfigSchema: z.ZodObject<{
49
- name: z.ZodOptional<z.ZodString>;
50
- logo: z.ZodOptional<z.ZodString>;
51
- colors: z.ZodOptional<z.ZodRecord<z.ZodEnum<["brand", "error", "warning", "success"]>, z.ZodOptional<z.ZodEffects<z.ZodString, RgbColor, string>>>>;
52
- links: z.ZodOptional<z.ZodArray<z.ZodObject<{
53
- title: z.ZodUnion<[z.ZodString, z.ZodIntersection<z.ZodObject<{
54
- en: z.ZodString;
55
- }, "strip", z.ZodTypeAny, {
56
- en: string;
57
- }, {
58
- en: string;
59
- }>, z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodUndefined]>>>]>;
60
- href: z.ZodString;
61
- rel: z.ZodOptional<z.ZodEffects<z.ZodString, "search" | "expect" | "manifest" | "alternate" | "author" | "canonical" | "dns-prefetch" | "external" | "help" | "icon" | "license" | "me" | "modulepreload" | "next" | "pingback" | "preconnect" | "prefetch" | "preload" | "prerender" | "prev" | "privacy-policy" | "stylesheet" | "terms-of-service", string>>;
62
- }, "strip", z.ZodTypeAny, {
63
- title: string | ({
64
- en: string;
65
- } & Record<string, string | undefined>);
66
- href: string;
67
- rel?: "search" | "expect" | "manifest" | "alternate" | "author" | "canonical" | "dns-prefetch" | "external" | "help" | "icon" | "license" | "me" | "modulepreload" | "next" | "pingback" | "preconnect" | "prefetch" | "preload" | "prerender" | "prev" | "privacy-policy" | "stylesheet" | "terms-of-service" | undefined;
68
- }, {
69
- title: string | ({
70
- en: string;
71
- } & Record<string, string | undefined>);
72
- href: string;
73
- rel?: string | undefined;
74
- }>, "many">>;
75
- }, "strip", z.ZodTypeAny, {
76
- name?: string | undefined;
77
- logo?: string | undefined;
78
- colors?: Partial<Record<"error" | "success" | "warning" | "brand", RgbColor | undefined>> | undefined;
79
- links?: {
80
- title: string | ({
81
- en: string;
82
- } & Record<string, string | undefined>);
83
- href: string;
84
- rel?: "search" | "expect" | "manifest" | "alternate" | "author" | "canonical" | "dns-prefetch" | "external" | "help" | "icon" | "license" | "me" | "modulepreload" | "next" | "pingback" | "preconnect" | "prefetch" | "preload" | "prerender" | "prev" | "privacy-policy" | "stylesheet" | "terms-of-service" | undefined;
85
- }[] | undefined;
86
- }, {
87
- name?: string | undefined;
88
- logo?: string | undefined;
89
- colors?: Partial<Record<"error" | "success" | "warning" | "brand", string | undefined>> | undefined;
90
- links?: {
91
- title: string | ({
92
- en: string;
93
- } & Record<string, string | undefined>);
94
- href: string;
95
- rel?: string | undefined;
96
- }[] | undefined;
97
- }>;
98
- export type BrandingInput = z.input<typeof brandingConfigSchema>;
99
- export type Branding = z.infer<typeof brandingConfigSchema>;
100
- export declare const customizationSchema: z.ZodObject<{
101
- /**
102
- * Available user domains that can be used to sign up. A non-empty array
103
- * is required to enable the sign-up feature.
104
- */
105
- availableUserDomains: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
106
- /**
107
- * UI customizations
108
- */
109
- branding: z.ZodOptional<z.ZodObject<{
110
- name: z.ZodOptional<z.ZodString>;
111
- logo: z.ZodOptional<z.ZodString>;
112
- colors: z.ZodOptional<z.ZodRecord<z.ZodEnum<["brand", "error", "warning", "success"]>, z.ZodOptional<z.ZodEffects<z.ZodString, RgbColor, string>>>>;
113
- links: z.ZodOptional<z.ZodArray<z.ZodObject<{
114
- title: z.ZodUnion<[z.ZodString, z.ZodIntersection<z.ZodObject<{
115
- en: z.ZodString;
116
- }, "strip", z.ZodTypeAny, {
117
- en: string;
118
- }, {
119
- en: string;
120
- }>, z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodUndefined]>>>]>;
121
- href: z.ZodString;
122
- rel: z.ZodOptional<z.ZodEffects<z.ZodString, "search" | "expect" | "manifest" | "alternate" | "author" | "canonical" | "dns-prefetch" | "external" | "help" | "icon" | "license" | "me" | "modulepreload" | "next" | "pingback" | "preconnect" | "prefetch" | "preload" | "prerender" | "prev" | "privacy-policy" | "stylesheet" | "terms-of-service", string>>;
123
- }, "strip", z.ZodTypeAny, {
124
- title: string | ({
125
- en: string;
126
- } & Record<string, string | undefined>);
127
- href: string;
128
- rel?: "search" | "expect" | "manifest" | "alternate" | "author" | "canonical" | "dns-prefetch" | "external" | "help" | "icon" | "license" | "me" | "modulepreload" | "next" | "pingback" | "preconnect" | "prefetch" | "preload" | "prerender" | "prev" | "privacy-policy" | "stylesheet" | "terms-of-service" | undefined;
129
- }, {
130
- title: string | ({
131
- en: string;
132
- } & Record<string, string | undefined>);
133
- href: string;
134
- rel?: string | undefined;
135
- }>, "many">>;
136
- }, "strip", z.ZodTypeAny, {
137
- name?: string | undefined;
138
- logo?: string | undefined;
139
- colors?: Partial<Record<"error" | "success" | "warning" | "brand", RgbColor | undefined>> | undefined;
140
- links?: {
141
- title: string | ({
142
- en: string;
143
- } & Record<string, string | undefined>);
144
- href: string;
145
- rel?: "search" | "expect" | "manifest" | "alternate" | "author" | "canonical" | "dns-prefetch" | "external" | "help" | "icon" | "license" | "me" | "modulepreload" | "next" | "pingback" | "preconnect" | "prefetch" | "preload" | "prerender" | "prev" | "privacy-policy" | "stylesheet" | "terms-of-service" | undefined;
146
- }[] | undefined;
147
- }, {
148
- name?: string | undefined;
149
- logo?: string | undefined;
150
- colors?: Partial<Record<"error" | "success" | "warning" | "brand", string | undefined>> | undefined;
151
- links?: {
152
- title: string | ({
153
- en: string;
154
- } & Record<string, string | undefined>);
155
- href: string;
156
- rel?: string | undefined;
157
- }[] | undefined;
158
- }>>;
159
- /**
160
- * Is an invite code required to sign up?
161
- */
162
- inviteCodeRequired: z.ZodOptional<z.ZodBoolean>;
163
- /**
164
- * Enables hCaptcha during sign-up.
165
- */
166
- hcaptcha: z.ZodOptional<z.ZodObject<{
167
- siteKey: z.ZodString;
168
- secretKey: z.ZodString;
169
- tokenSalt: z.ZodString;
170
- scoreThreshold: z.ZodOptional<z.ZodNumber>;
171
- }, "strip", z.ZodTypeAny, {
172
- siteKey: string;
173
- secretKey: string;
174
- tokenSalt: string;
175
- scoreThreshold?: number | undefined;
176
- }, {
177
- siteKey: string;
178
- secretKey: string;
179
- tokenSalt: string;
180
- scoreThreshold?: number | undefined;
181
- }>>;
182
- }, "strip", z.ZodTypeAny, {
183
- availableUserDomains?: string[] | undefined;
184
- branding?: {
185
- name?: string | undefined;
186
- logo?: string | undefined;
187
- colors?: Partial<Record<"error" | "success" | "warning" | "brand", RgbColor | undefined>> | undefined;
188
- links?: {
189
- title: string | ({
190
- en: string;
191
- } & Record<string, string | undefined>);
192
- href: string;
193
- rel?: "search" | "expect" | "manifest" | "alternate" | "author" | "canonical" | "dns-prefetch" | "external" | "help" | "icon" | "license" | "me" | "modulepreload" | "next" | "pingback" | "preconnect" | "prefetch" | "preload" | "prerender" | "prev" | "privacy-policy" | "stylesheet" | "terms-of-service" | undefined;
194
- }[] | undefined;
195
- } | undefined;
196
- inviteCodeRequired?: boolean | undefined;
197
- hcaptcha?: {
198
- siteKey: string;
199
- secretKey: string;
200
- tokenSalt: string;
201
- scoreThreshold?: number | undefined;
202
- } | undefined;
203
- }, {
204
- availableUserDomains?: string[] | undefined;
205
- branding?: {
206
- name?: string | undefined;
207
- logo?: string | undefined;
208
- colors?: Partial<Record<"error" | "success" | "warning" | "brand", string | undefined>> | undefined;
209
- links?: {
210
- title: string | ({
211
- en: string;
212
- } & Record<string, string | undefined>);
213
- href: string;
214
- rel?: string | undefined;
215
- }[] | undefined;
216
- } | undefined;
217
- inviteCodeRequired?: boolean | undefined;
218
- hcaptcha?: {
219
- siteKey: string;
220
- secretKey: string;
221
- tokenSalt: string;
222
- scoreThreshold?: number | undefined;
223
- } | undefined;
224
- }>;
225
- export type CustomizationInput = z.input<typeof customizationSchema>;
226
- export type Customization = z.infer<typeof customizationSchema>;
227
- export declare function buildCustomizationData({ branding, availableUserDomains, inviteCodeRequired, hcaptcha, }: Customization): CustomizationData;
228
- export declare function buildCustomizationCss({ branding }: Customization): string;
229
- type RgbColor = {
230
- r: number;
231
- g: number;
232
- b: number;
233
- };
234
- //# sourceMappingURL=build-customization-data.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"build-customization-data.d.ts","sourceRoot":"","sources":["../../src/output/build-customization-data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAA;AAI/D,OAAO,EAAE,KAAK,cAAc,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AAG9E,eAAO,MAAM,UAAU,mDAAoD,CAAA;AAC3E,eAAO,MAAM,eAAe,qDAAqB,CAAA;AACjD,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAA;AAEvD,QAAA,MAAM,iBAAiB,6CAkBrB,CAAA;AACF,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAE3D,eAAO,MAAM,sBAAsB,8HAGlC,CAAA;AACD,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAErE,eAAO,MAAM,qBAAqB;;;;;;0EAGhC,CAAA;AACF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAEnE,eAAO,MAAM,aAAa,6UAAmD,CAAA;AAC7E,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAA;AAEnD,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;EAI/B,CAAA;AACF,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAEjE;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAK/B,CAAA;AACF,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAChE,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAE3D,eAAO,MAAM,mBAAmB;IAC9B;;;OAGG;;IAEH;;OAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAEH;;OAEG;;IAEH;;OAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAEH,CAAA;AACF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAA;AACpE,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAE/D,wBAAgB,sBAAsB,CAAC,EACrC,QAAQ,EACR,oBAAoB,EACpB,kBAAkB,EAClB,QAAQ,GACT,EAAE,aAAa,GAAG,iBAAiB,CAanC;AAED,wBAAgB,qBAAqB,CAAC,EAAE,QAAQ,EAAE,EAAE,aAAa,UAKhE;AAkBD,KAAK,QAAQ,GAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA"}