authhero 9.11.0 → 9.12.0

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 (52) hide show
  1. package/dist/assets/u/widget/authhero-widget.esm.js +1 -1
  2. package/dist/assets/u/widget/{p-f94037cd.entry.js → p-74f95441.entry.js} +1 -1
  3. package/dist/authhero.cjs +292 -160
  4. package/dist/authhero.d.ts +121 -96
  5. package/dist/authhero.mjs +81495 -89257
  6. package/dist/tsconfig.types.tsbuildinfo +1 -1
  7. package/dist/types/authentication-flows/passwordless.d.ts +2 -2
  8. package/dist/types/emails/render.d.ts +2 -0
  9. package/dist/types/helpers/action-executions-cleanup.d.ts +6 -3
  10. package/dist/types/helpers/dcr/metadata-mapping.d.ts +2 -2
  11. package/dist/types/helpers/logging.d.ts +11 -3
  12. package/dist/types/helpers/reserved-claims.d.ts +19 -3
  13. package/dist/types/helpers/run-retention.d.ts +1 -1
  14. package/dist/types/helpers/saml.d.ts +1 -1
  15. package/dist/types/helpers/scopes-permissions.d.ts +16 -0
  16. package/dist/types/helpers/users-import/map.d.ts +14 -0
  17. package/dist/types/hooks/codehooks.d.ts +28 -1
  18. package/dist/types/index.d.ts +92 -92
  19. package/dist/types/routes/auth-api/index.d.ts +16 -16
  20. package/dist/types/routes/auth-api/passwordless.d.ts +14 -14
  21. package/dist/types/routes/auth-api/register/index.d.ts +2 -2
  22. package/dist/types/routes/management-api/authentication-methods.d.ts +1 -1
  23. package/dist/types/routes/management-api/branding.d.ts +1 -1
  24. package/dist/types/routes/management-api/client-grants.d.ts +9 -9
  25. package/dist/types/routes/management-api/clients.d.ts +8 -8
  26. package/dist/types/routes/management-api/connections.d.ts +1 -1
  27. package/dist/types/routes/management-api/custom-domains.d.ts +6 -6
  28. package/dist/types/routes/management-api/email-templates.d.ts +18 -18
  29. package/dist/types/routes/management-api/failed-events.d.ts +2 -2
  30. package/dist/types/routes/management-api/forms.d.ts +126 -126
  31. package/dist/types/routes/management-api/guardian.d.ts +5 -5
  32. package/dist/types/routes/management-api/helpers.d.ts +1 -1
  33. package/dist/types/routes/management-api/index.d.ts +62 -62
  34. package/dist/types/routes/management-api/keys.d.ts +16 -16
  35. package/dist/types/routes/management-api/logs.d.ts +4 -4
  36. package/dist/types/routes/management-api/migration-sources.d.ts +6 -6
  37. package/dist/types/routes/management-api/organizations.d.ts +4 -4
  38. package/dist/types/routes/management-api/prompts.d.ts +4 -4
  39. package/dist/types/routes/management-api/roles.d.ts +1 -1
  40. package/dist/types/routes/management-api/tenants.d.ts +12 -12
  41. package/dist/types/routes/management-api/users.d.ts +21 -21
  42. package/dist/types/routes/universal-login/common.d.ts +6 -6
  43. package/dist/types/routes/universal-login/flow-api.d.ts +12 -12
  44. package/dist/types/routes/universal-login/identifier.d.ts +2 -2
  45. package/dist/types/routes/universal-login/index.d.ts +2 -2
  46. package/dist/types/routes/universal-login/u2-index.d.ts +5 -5
  47. package/dist/types/routes/universal-login/u2-routes.d.ts +5 -5
  48. package/dist/types/routes/universal-login/u2-widget-page.d.ts +13 -42
  49. package/dist/types/routes/universal-login/universal-login-template.d.ts +1 -1
  50. package/dist/types/types/AuthHeroConfig.d.ts +21 -0
  51. package/dist/types/types/Bindings.d.ts +1 -0
  52. package/package.json +7 -7
@@ -27,7 +27,7 @@ export declare const flowApiRoutes: OpenAPIHono<{
27
27
  output: {
28
28
  screen: {
29
29
  action: string;
30
- method: "GET" | "POST";
30
+ method: "POST" | "GET";
31
31
  components: {
32
32
  id: string;
33
33
  type: string;
@@ -43,7 +43,7 @@ export declare const flowApiRoutes: OpenAPIHono<{
43
43
  hint?: string | undefined;
44
44
  messages?: {
45
45
  text: string;
46
- type: "error" | "success" | "info" | "warning";
46
+ type: "success" | "error" | "info" | "warning";
47
47
  id?: number | undefined;
48
48
  }[] | undefined;
49
49
  }[];
@@ -51,7 +51,7 @@ export declare const flowApiRoutes: OpenAPIHono<{
51
51
  description?: string | undefined;
52
52
  messages?: {
53
53
  text: string;
54
- type: "error" | "success" | "info" | "warning";
54
+ type: "success" | "error" | "info" | "warning";
55
55
  id?: number | undefined;
56
56
  }[] | undefined;
57
57
  links?: {
@@ -107,7 +107,7 @@ export declare const flowApiRoutes: OpenAPIHono<{
107
107
  output: {
108
108
  screen: {
109
109
  action: string;
110
- method: "GET" | "POST";
110
+ method: "POST" | "GET";
111
111
  components: {
112
112
  id: string;
113
113
  type: string;
@@ -123,7 +123,7 @@ export declare const flowApiRoutes: OpenAPIHono<{
123
123
  hint?: string | undefined;
124
124
  messages?: {
125
125
  text: string;
126
- type: "error" | "success" | "info" | "warning";
126
+ type: "success" | "error" | "info" | "warning";
127
127
  id?: number | undefined;
128
128
  }[] | undefined;
129
129
  }[];
@@ -131,7 +131,7 @@ export declare const flowApiRoutes: OpenAPIHono<{
131
131
  description?: string | undefined;
132
132
  messages?: {
133
133
  text: string;
134
- type: "error" | "success" | "info" | "warning";
134
+ type: "success" | "error" | "info" | "warning";
135
135
  id?: number | undefined;
136
136
  }[] | undefined;
137
137
  links?: {
@@ -204,7 +204,7 @@ export declare const flowApiRoutes: OpenAPIHono<{
204
204
  output: {
205
205
  screen: {
206
206
  action: string;
207
- method: "GET" | "POST";
207
+ method: "POST" | "GET";
208
208
  components: {
209
209
  id: string;
210
210
  type: string;
@@ -220,7 +220,7 @@ export declare const flowApiRoutes: OpenAPIHono<{
220
220
  hint?: string | undefined;
221
221
  messages?: {
222
222
  text: string;
223
- type: "error" | "success" | "info" | "warning";
223
+ type: "success" | "error" | "info" | "warning";
224
224
  id?: number | undefined;
225
225
  }[] | undefined;
226
226
  }[];
@@ -228,7 +228,7 @@ export declare const flowApiRoutes: OpenAPIHono<{
228
228
  description?: string | undefined;
229
229
  messages?: {
230
230
  text: string;
231
- type: "error" | "success" | "info" | "warning";
231
+ type: "success" | "error" | "info" | "warning";
232
232
  id?: number | undefined;
233
233
  }[] | undefined;
234
234
  links?: {
@@ -319,7 +319,7 @@ export declare const flowApiRoutes: OpenAPIHono<{
319
319
  output: {
320
320
  screen: {
321
321
  action: string;
322
- method: "GET" | "POST";
322
+ method: "POST" | "GET";
323
323
  components: {
324
324
  id: string;
325
325
  type: string;
@@ -335,7 +335,7 @@ export declare const flowApiRoutes: OpenAPIHono<{
335
335
  hint?: string | undefined;
336
336
  messages?: {
337
337
  text: string;
338
- type: "error" | "success" | "info" | "warning";
338
+ type: "success" | "error" | "info" | "warning";
339
339
  id?: number | undefined;
340
340
  }[] | undefined;
341
341
  }[];
@@ -343,7 +343,7 @@ export declare const flowApiRoutes: OpenAPIHono<{
343
343
  description?: string | undefined;
344
344
  messages?: {
345
345
  text: string;
346
- type: "error" | "success" | "info" | "warning";
346
+ type: "success" | "error" | "info" | "warning";
347
347
  id?: number | undefined;
348
348
  }[] | undefined;
349
349
  links?: {
@@ -30,7 +30,7 @@ export declare const identifierRoutes: OpenAPIHono<{
30
30
  } & {
31
31
  form: {
32
32
  username: string;
33
- login_selection?: "code" | "password" | undefined;
33
+ login_selection?: "password" | "code" | undefined;
34
34
  };
35
35
  };
36
36
  output: {};
@@ -44,7 +44,7 @@ export declare const identifierRoutes: OpenAPIHono<{
44
44
  } & {
45
45
  form: {
46
46
  username: string;
47
- login_selection?: "code" | "password" | undefined;
47
+ login_selection?: "password" | "code" | undefined;
48
48
  };
49
49
  };
50
50
  output: {};
@@ -515,7 +515,7 @@ export default function create(config: AuthHeroConfig): OpenAPIHono<{
515
515
  } & {
516
516
  form: {
517
517
  username: string;
518
- login_selection?: "code" | "password" | undefined;
518
+ login_selection?: "password" | "code" | undefined;
519
519
  };
520
520
  };
521
521
  output: {};
@@ -529,7 +529,7 @@ export default function create(config: AuthHeroConfig): OpenAPIHono<{
529
529
  } & {
530
530
  form: {
531
531
  username: string;
532
- login_selection?: "code" | "password" | undefined;
532
+ login_selection?: "password" | "code" | undefined;
533
533
  };
534
534
  };
535
535
  output: {};
@@ -165,7 +165,7 @@ export default function createU2App(config: AuthHeroConfig): OpenAPIHono<{
165
165
  $get: {
166
166
  input: {
167
167
  param: {
168
- screen: "impersonate" | "signup" | "login" | "reset-password" | "consent" | "account" | "enter-password" | "try-connection-result" | "login/identifier" | "login/email-otp-challenge" | "login/sms-otp-challenge" | "login/login-passwordless-identifier" | "reset-password/code" | "reset-password/request" | "mfa/login-options" | "mfa/totp-challenge" | "mfa/totp-enrollment" | "mfa/phone-challenge" | "mfa/phone-enrollment" | "passkey/challenge" | "passkey/enrollment" | "passkey/enrollment-nudge" | "account/profile" | "account/security" | "account/security/totp-enrollment" | "account/security/phone-enrollment" | "account/linked" | "account/delete" | "account/passkeys" | "connect/start" | "connect/select-tenant";
168
+ screen: "signup" | "impersonate" | "consent" | "login" | "reset-password" | "account" | "enter-password" | "try-connection-result" | "reset-password/request" | "reset-password/code" | "login/identifier" | "login/email-otp-challenge" | "login/sms-otp-challenge" | "login/login-passwordless-identifier" | "mfa/login-options" | "mfa/totp-challenge" | "mfa/totp-enrollment" | "mfa/phone-challenge" | "mfa/phone-enrollment" | "passkey/challenge" | "passkey/enrollment" | "passkey/enrollment-nudge" | "account/profile" | "account/security" | "account/security/totp-enrollment" | "account/security/phone-enrollment" | "account/linked" | "account/delete" | "account/passkeys" | "connect/start" | "connect/select-tenant";
169
169
  };
170
170
  } & {
171
171
  query: {
@@ -181,7 +181,7 @@ export default function createU2App(config: AuthHeroConfig): OpenAPIHono<{
181
181
  } | {
182
182
  input: {
183
183
  param: {
184
- screen: "impersonate" | "signup" | "login" | "reset-password" | "consent" | "account" | "enter-password" | "try-connection-result" | "login/identifier" | "login/email-otp-challenge" | "login/sms-otp-challenge" | "login/login-passwordless-identifier" | "reset-password/code" | "reset-password/request" | "mfa/login-options" | "mfa/totp-challenge" | "mfa/totp-enrollment" | "mfa/phone-challenge" | "mfa/phone-enrollment" | "passkey/challenge" | "passkey/enrollment" | "passkey/enrollment-nudge" | "account/profile" | "account/security" | "account/security/totp-enrollment" | "account/security/phone-enrollment" | "account/linked" | "account/delete" | "account/passkeys" | "connect/start" | "connect/select-tenant";
184
+ screen: "signup" | "impersonate" | "consent" | "login" | "reset-password" | "account" | "enter-password" | "try-connection-result" | "reset-password/request" | "reset-password/code" | "login/identifier" | "login/email-otp-challenge" | "login/sms-otp-challenge" | "login/login-passwordless-identifier" | "mfa/login-options" | "mfa/totp-challenge" | "mfa/totp-enrollment" | "mfa/phone-challenge" | "mfa/phone-enrollment" | "passkey/challenge" | "passkey/enrollment" | "passkey/enrollment-nudge" | "account/profile" | "account/security" | "account/security/totp-enrollment" | "account/security/phone-enrollment" | "account/linked" | "account/delete" | "account/passkeys" | "connect/start" | "connect/select-tenant";
185
185
  };
186
186
  } & {
187
187
  query: {
@@ -197,7 +197,7 @@ export default function createU2App(config: AuthHeroConfig): OpenAPIHono<{
197
197
  } | {
198
198
  input: {
199
199
  param: {
200
- screen: "impersonate" | "signup" | "login" | "reset-password" | "consent" | "account" | "enter-password" | "try-connection-result" | "login/identifier" | "login/email-otp-challenge" | "login/sms-otp-challenge" | "login/login-passwordless-identifier" | "reset-password/code" | "reset-password/request" | "mfa/login-options" | "mfa/totp-challenge" | "mfa/totp-enrollment" | "mfa/phone-challenge" | "mfa/phone-enrollment" | "passkey/challenge" | "passkey/enrollment" | "passkey/enrollment-nudge" | "account/profile" | "account/security" | "account/security/totp-enrollment" | "account/security/phone-enrollment" | "account/linked" | "account/delete" | "account/passkeys" | "connect/start" | "connect/select-tenant";
200
+ screen: "signup" | "impersonate" | "consent" | "login" | "reset-password" | "account" | "enter-password" | "try-connection-result" | "reset-password/request" | "reset-password/code" | "login/identifier" | "login/email-otp-challenge" | "login/sms-otp-challenge" | "login/login-passwordless-identifier" | "mfa/login-options" | "mfa/totp-challenge" | "mfa/totp-enrollment" | "mfa/phone-challenge" | "mfa/phone-enrollment" | "passkey/challenge" | "passkey/enrollment" | "passkey/enrollment-nudge" | "account/profile" | "account/security" | "account/security/totp-enrollment" | "account/security/phone-enrollment" | "account/linked" | "account/delete" | "account/passkeys" | "connect/start" | "connect/select-tenant";
201
201
  };
202
202
  } & {
203
203
  query: {
@@ -217,7 +217,7 @@ export default function createU2App(config: AuthHeroConfig): OpenAPIHono<{
217
217
  $post: {
218
218
  input: {
219
219
  param: {
220
- screen: "impersonate" | "signup" | "login" | "reset-password" | "consent" | "enter-password" | "login/identifier" | "login/email-otp-challenge" | "login/sms-otp-challenge" | "login/login-passwordless-identifier" | "reset-password/code" | "reset-password/request" | "mfa/login-options" | "mfa/totp-challenge" | "mfa/totp-enrollment" | "mfa/phone-challenge" | "mfa/phone-enrollment" | "passkey/challenge" | "passkey/enrollment" | "passkey/enrollment-nudge" | "account/profile" | "account/security" | "account/security/totp-enrollment" | "account/security/phone-enrollment" | "account/linked" | "account/delete" | "account/passkeys" | "connect/start" | "connect/select-tenant";
220
+ screen: "signup" | "impersonate" | "consent" | "login" | "reset-password" | "enter-password" | "reset-password/request" | "reset-password/code" | "login/identifier" | "login/email-otp-challenge" | "login/sms-otp-challenge" | "login/login-passwordless-identifier" | "mfa/login-options" | "mfa/totp-challenge" | "mfa/totp-enrollment" | "mfa/phone-challenge" | "mfa/phone-enrollment" | "passkey/challenge" | "passkey/enrollment" | "passkey/enrollment-nudge" | "account/profile" | "account/security" | "account/security/totp-enrollment" | "account/security/phone-enrollment" | "account/linked" | "account/delete" | "account/passkeys" | "connect/start" | "connect/select-tenant";
221
221
  };
222
222
  } & {
223
223
  query: {
@@ -235,7 +235,7 @@ export default function createU2App(config: AuthHeroConfig): OpenAPIHono<{
235
235
  } | {
236
236
  input: {
237
237
  param: {
238
- screen: "impersonate" | "signup" | "login" | "reset-password" | "consent" | "enter-password" | "login/identifier" | "login/email-otp-challenge" | "login/sms-otp-challenge" | "login/login-passwordless-identifier" | "reset-password/code" | "reset-password/request" | "mfa/login-options" | "mfa/totp-challenge" | "mfa/totp-enrollment" | "mfa/phone-challenge" | "mfa/phone-enrollment" | "passkey/challenge" | "passkey/enrollment" | "passkey/enrollment-nudge" | "account/profile" | "account/security" | "account/security/totp-enrollment" | "account/security/phone-enrollment" | "account/linked" | "account/delete" | "account/passkeys" | "connect/start" | "connect/select-tenant";
238
+ screen: "signup" | "impersonate" | "consent" | "login" | "reset-password" | "enter-password" | "reset-password/request" | "reset-password/code" | "login/identifier" | "login/email-otp-challenge" | "login/sms-otp-challenge" | "login/login-passwordless-identifier" | "mfa/login-options" | "mfa/totp-challenge" | "mfa/totp-enrollment" | "mfa/phone-challenge" | "mfa/phone-enrollment" | "passkey/challenge" | "passkey/enrollment" | "passkey/enrollment-nudge" | "account/profile" | "account/security" | "account/security/totp-enrollment" | "account/security/phone-enrollment" | "account/linked" | "account/delete" | "account/passkeys" | "connect/start" | "connect/select-tenant";
239
239
  };
240
240
  } & {
241
241
  query: {
@@ -170,7 +170,7 @@ export declare const u2Routes: OpenAPIHono<{
170
170
  $get: {
171
171
  input: {
172
172
  param: {
173
- screen: "impersonate" | "signup" | "login" | "reset-password" | "consent" | "account" | "enter-password" | "try-connection-result" | "login/identifier" | "login/email-otp-challenge" | "login/sms-otp-challenge" | "login/login-passwordless-identifier" | "reset-password/code" | "reset-password/request" | "mfa/login-options" | "mfa/totp-challenge" | "mfa/totp-enrollment" | "mfa/phone-challenge" | "mfa/phone-enrollment" | "passkey/challenge" | "passkey/enrollment" | "passkey/enrollment-nudge" | "account/profile" | "account/security" | "account/security/totp-enrollment" | "account/security/phone-enrollment" | "account/linked" | "account/delete" | "account/passkeys" | "connect/start" | "connect/select-tenant";
173
+ screen: "signup" | "impersonate" | "consent" | "login" | "reset-password" | "account" | "enter-password" | "try-connection-result" | "reset-password/request" | "reset-password/code" | "login/identifier" | "login/email-otp-challenge" | "login/sms-otp-challenge" | "login/login-passwordless-identifier" | "mfa/login-options" | "mfa/totp-challenge" | "mfa/totp-enrollment" | "mfa/phone-challenge" | "mfa/phone-enrollment" | "passkey/challenge" | "passkey/enrollment" | "passkey/enrollment-nudge" | "account/profile" | "account/security" | "account/security/totp-enrollment" | "account/security/phone-enrollment" | "account/linked" | "account/delete" | "account/passkeys" | "connect/start" | "connect/select-tenant";
174
174
  };
175
175
  } & {
176
176
  query: {
@@ -186,7 +186,7 @@ export declare const u2Routes: OpenAPIHono<{
186
186
  } | {
187
187
  input: {
188
188
  param: {
189
- screen: "impersonate" | "signup" | "login" | "reset-password" | "consent" | "account" | "enter-password" | "try-connection-result" | "login/identifier" | "login/email-otp-challenge" | "login/sms-otp-challenge" | "login/login-passwordless-identifier" | "reset-password/code" | "reset-password/request" | "mfa/login-options" | "mfa/totp-challenge" | "mfa/totp-enrollment" | "mfa/phone-challenge" | "mfa/phone-enrollment" | "passkey/challenge" | "passkey/enrollment" | "passkey/enrollment-nudge" | "account/profile" | "account/security" | "account/security/totp-enrollment" | "account/security/phone-enrollment" | "account/linked" | "account/delete" | "account/passkeys" | "connect/start" | "connect/select-tenant";
189
+ screen: "signup" | "impersonate" | "consent" | "login" | "reset-password" | "account" | "enter-password" | "try-connection-result" | "reset-password/request" | "reset-password/code" | "login/identifier" | "login/email-otp-challenge" | "login/sms-otp-challenge" | "login/login-passwordless-identifier" | "mfa/login-options" | "mfa/totp-challenge" | "mfa/totp-enrollment" | "mfa/phone-challenge" | "mfa/phone-enrollment" | "passkey/challenge" | "passkey/enrollment" | "passkey/enrollment-nudge" | "account/profile" | "account/security" | "account/security/totp-enrollment" | "account/security/phone-enrollment" | "account/linked" | "account/delete" | "account/passkeys" | "connect/start" | "connect/select-tenant";
190
190
  };
191
191
  } & {
192
192
  query: {
@@ -202,7 +202,7 @@ export declare const u2Routes: OpenAPIHono<{
202
202
  } | {
203
203
  input: {
204
204
  param: {
205
- screen: "impersonate" | "signup" | "login" | "reset-password" | "consent" | "account" | "enter-password" | "try-connection-result" | "login/identifier" | "login/email-otp-challenge" | "login/sms-otp-challenge" | "login/login-passwordless-identifier" | "reset-password/code" | "reset-password/request" | "mfa/login-options" | "mfa/totp-challenge" | "mfa/totp-enrollment" | "mfa/phone-challenge" | "mfa/phone-enrollment" | "passkey/challenge" | "passkey/enrollment" | "passkey/enrollment-nudge" | "account/profile" | "account/security" | "account/security/totp-enrollment" | "account/security/phone-enrollment" | "account/linked" | "account/delete" | "account/passkeys" | "connect/start" | "connect/select-tenant";
205
+ screen: "signup" | "impersonate" | "consent" | "login" | "reset-password" | "account" | "enter-password" | "try-connection-result" | "reset-password/request" | "reset-password/code" | "login/identifier" | "login/email-otp-challenge" | "login/sms-otp-challenge" | "login/login-passwordless-identifier" | "mfa/login-options" | "mfa/totp-challenge" | "mfa/totp-enrollment" | "mfa/phone-challenge" | "mfa/phone-enrollment" | "passkey/challenge" | "passkey/enrollment" | "passkey/enrollment-nudge" | "account/profile" | "account/security" | "account/security/totp-enrollment" | "account/security/phone-enrollment" | "account/linked" | "account/delete" | "account/passkeys" | "connect/start" | "connect/select-tenant";
206
206
  };
207
207
  } & {
208
208
  query: {
@@ -222,7 +222,7 @@ export declare const u2Routes: OpenAPIHono<{
222
222
  $post: {
223
223
  input: {
224
224
  param: {
225
- screen: "impersonate" | "signup" | "login" | "reset-password" | "consent" | "enter-password" | "login/identifier" | "login/email-otp-challenge" | "login/sms-otp-challenge" | "login/login-passwordless-identifier" | "reset-password/code" | "reset-password/request" | "mfa/login-options" | "mfa/totp-challenge" | "mfa/totp-enrollment" | "mfa/phone-challenge" | "mfa/phone-enrollment" | "passkey/challenge" | "passkey/enrollment" | "passkey/enrollment-nudge" | "account/profile" | "account/security" | "account/security/totp-enrollment" | "account/security/phone-enrollment" | "account/linked" | "account/delete" | "account/passkeys" | "connect/start" | "connect/select-tenant";
225
+ screen: "signup" | "impersonate" | "consent" | "login" | "reset-password" | "enter-password" | "reset-password/request" | "reset-password/code" | "login/identifier" | "login/email-otp-challenge" | "login/sms-otp-challenge" | "login/login-passwordless-identifier" | "mfa/login-options" | "mfa/totp-challenge" | "mfa/totp-enrollment" | "mfa/phone-challenge" | "mfa/phone-enrollment" | "passkey/challenge" | "passkey/enrollment" | "passkey/enrollment-nudge" | "account/profile" | "account/security" | "account/security/totp-enrollment" | "account/security/phone-enrollment" | "account/linked" | "account/delete" | "account/passkeys" | "connect/start" | "connect/select-tenant";
226
226
  };
227
227
  } & {
228
228
  query: {
@@ -240,7 +240,7 @@ export declare const u2Routes: OpenAPIHono<{
240
240
  } | {
241
241
  input: {
242
242
  param: {
243
- screen: "impersonate" | "signup" | "login" | "reset-password" | "consent" | "enter-password" | "login/identifier" | "login/email-otp-challenge" | "login/sms-otp-challenge" | "login/login-passwordless-identifier" | "reset-password/code" | "reset-password/request" | "mfa/login-options" | "mfa/totp-challenge" | "mfa/totp-enrollment" | "mfa/phone-challenge" | "mfa/phone-enrollment" | "passkey/challenge" | "passkey/enrollment" | "passkey/enrollment-nudge" | "account/profile" | "account/security" | "account/security/totp-enrollment" | "account/security/phone-enrollment" | "account/linked" | "account/delete" | "account/passkeys" | "connect/start" | "connect/select-tenant";
243
+ screen: "signup" | "impersonate" | "consent" | "login" | "reset-password" | "enter-password" | "reset-password/request" | "reset-password/code" | "login/identifier" | "login/email-otp-challenge" | "login/sms-otp-challenge" | "login/login-passwordless-identifier" | "mfa/login-options" | "mfa/totp-challenge" | "mfa/totp-enrollment" | "mfa/phone-challenge" | "mfa/phone-enrollment" | "passkey/challenge" | "passkey/enrollment" | "passkey/enrollment-nudge" | "account/profile" | "account/security" | "account/security/totp-enrollment" | "account/security/phone-enrollment" | "account/linked" | "account/delete" | "account/passkeys" | "connect/start" | "connect/select-tenant";
244
244
  };
245
245
  } & {
246
246
  query: {
@@ -31,10 +31,10 @@
31
31
  * future Liquid template can reposition any element via `{% slot %}` tags.
32
32
  * `logoPosition` is the prop-level shortcut for the most common override.
33
33
  */
34
+ import type { DarkModePreference, LogoPosition, LanguageOption } from "@authhero/widget/page-chrome";
35
+ export type { DarkModePreference, LogoPosition, ChipStyle, LanguageOption, } from "@authhero/widget/page-chrome";
34
36
  import type { Branding, Theme } from "@authhero/adapter-interfaces";
35
37
  import type { ContentfulStatusCode } from "hono/utils/http-status";
36
- export type DarkModePreference = "auto" | "light" | "dark";
37
- export type LogoPosition = "widget" | "chip" | "none";
38
38
  /**
39
39
  * Resolve the dark-mode preference for the current request.
40
40
  *
@@ -103,46 +103,10 @@ export type WidgetPageProps = {
103
103
  */
104
104
  customBodyHtml?: string;
105
105
  };
106
- /**
107
- * How a corner chip renders its surface.
108
- * - "auto" (default): pill when there's a background image, plain text on a
109
- * solid background — driven by the page-level `data-bg` attribute.
110
- * - "plain": always text-only, regardless of background.
111
- * - "pill": always a translucent pill, regardless of background.
112
- *
113
- * Templates choose this per slot via `{%- authhero:legal style="plain" -%}`.
114
- */
115
- export type ChipStyle = "auto" | "plain" | "pill";
116
- export declare function LogoChip({ logoUrl, clientName, variant, }: {
117
- logoUrl?: string | null;
118
- clientName: string;
119
- variant?: ChipStyle;
120
- }): import("hono/jsx/jsx-dev-runtime").JSX.Element;
121
- export declare function DarkModeToggle({ darkMode }: {
122
- darkMode: DarkModePreference;
123
- }): import("hono/jsx/jsx-dev-runtime").JSX.Element;
124
- export declare function LanguagePicker({ language, availableLanguages, }: {
125
- language?: string;
126
- availableLanguages: string[];
127
- }): import("hono/jsx/jsx-dev-runtime").JSX.Element | null;
128
- export declare function SettingsChip({ darkMode, language, availableLanguages, variant, }: {
129
- darkMode: DarkModePreference;
130
- language?: string;
131
- availableLanguages?: string[];
132
- variant?: ChipStyle;
133
- }): import("hono/jsx/jsx-dev-runtime").JSX.Element;
134
- export declare function PoweredByChip({ url, href, alt, height, variant, }: {
135
- url: string;
136
- href?: string;
137
- alt?: string;
138
- height?: number;
139
- variant?: ChipStyle;
140
- }): import("hono/jsx/jsx-dev-runtime").JSX.Element | null;
141
- export declare function LegalChip({ termsAndConditionsUrl, language, variant, }: {
142
- termsAndConditionsUrl?: string;
143
- language?: string;
144
- variant?: ChipStyle;
145
- }): import("hono/jsx/jsx-dev-runtime").JSX.Element | null;
106
+ /** Localized display names for the language picker, in the given order. */
107
+ export declare function buildLanguageOptions(availableLanguages?: string[]): LanguageOption[] | undefined;
108
+ /** The short "Terms & Privacy" label, in the page's language. */
109
+ export declare function resolveTermsLabel(language?: string): string;
146
110
  /**
147
111
  * The functional `<head>` contents the page shell injects, as an HTML string.
148
112
  *
@@ -194,6 +158,13 @@ export declare function renderWidgetSSR(params: {
194
158
  * hydrated widget resolves the same layout the server did.
195
159
  */
196
160
  locale?: string;
161
+ /**
162
+ * Keep the widget a floating card on phones (<=480px) instead of the
163
+ * default full-bleed layout, so a page background image stays visible
164
+ * around it. Set when `theme.page_background.background_image_url` is
165
+ * present — see the mobile block in the widget's own stylesheet.
166
+ */
167
+ floating?: boolean;
197
168
  }): Promise<string>;
198
169
  export declare function extractBrandingProps(branding: Branding | null | undefined): WidgetPageProps["branding"];
199
170
  export declare function renderWidgetPageResponse(ctx: any, opts: {
@@ -35,7 +35,7 @@
35
35
  * `locale` — the active language code
36
36
  */
37
37
  import type { Branding, Theme } from "@authhero/adapter-interfaces";
38
- import { type DarkModePreference } from "./u2-widget-page";
38
+ import type { DarkModePreference } from "@authhero/widget/page-chrome";
39
39
  /**
40
40
  * Exact default-form widget token. Kept for the default template body and as
41
41
  * a convenience export. Use {@link templateMountsWidget} for validation —
@@ -497,6 +497,27 @@ export interface AuthHeroConfig {
497
497
  * Defaults to Auth0's limit of 2; further submissions get a 429.
498
498
  */
499
499
  usersImportMaxConcurrentJobs?: number;
500
+ /**
501
+ * Let hooks write the `azp` claim, which the authorization server otherwise
502
+ * owns. Defaults to `false`, and should stay that way in a new deployment.
503
+ *
504
+ * `azp` is reserved because `middlewares/authentication.ts` reads it as the
505
+ * calling client's id, so a hook-supplied value lands in the request context
506
+ * where a registered client id is expected.
507
+ *
508
+ * The flag exists because reserving the name is not a no-op for a deployment
509
+ * that was already using it: the mint never emits `azp` itself, so a hook
510
+ * was the only thing writing it, and reserving it deletes the claim from
511
+ * every token rather than restoring a server-computed value. Turning this on
512
+ * keeps those tokens intact while the services reading `azp` are moved onto
513
+ * a claim the hook owns.
514
+ *
515
+ * **Transitional.** Enable it only where the hooks writing `azp` are
516
+ * first-party code, and turn it off once the migration is done.
517
+ *
518
+ * @default false
519
+ */
520
+ unsafeAllowAzpCustomClaim?: boolean;
500
521
  /**
501
522
  * Optional powered-by logo to display at the bottom left of the login widget.
502
523
  * This is only configurable in code, not stored in the database.
@@ -37,6 +37,7 @@ export type Bindings = {
37
37
  tenantOperationExecutor?: TenantOperationExecutorBinding;
38
38
  usersImportMaxBytes?: number;
39
39
  usersImportMaxConcurrentJobs?: number;
40
+ unsafeAllowAzpCustomClaim?: boolean;
40
41
  outbox?: OutboxConfig;
41
42
  userLinkingMode?: UserLinkingModeOption;
42
43
  usernamePasswordProvider?: UsernamePasswordProviderResolver;
package/package.json CHANGED
@@ -11,7 +11,7 @@
11
11
  "type": "git",
12
12
  "url": "https://github.com/markusahlstrand/authhero"
13
13
  },
14
- "version": "9.11.0",
14
+ "version": "9.12.0",
15
15
  "files": [
16
16
  "dist"
17
17
  ],
@@ -63,11 +63,11 @@
63
63
  "vite": "^8.0.14",
64
64
  "vite-plugin-dts": "^4.5.4",
65
65
  "vitest": "^4.1.7",
66
- "@authhero/kysely-adapter": "12.7.0",
67
- "@authhero/widget": "0.38.8"
66
+ "@authhero/kysely-adapter": "12.8.0",
67
+ "@authhero/widget": "0.38.9"
68
68
  },
69
69
  "dependencies": {
70
- "@peculiar/x509": "^1.14.0",
70
+ "@peculiar/x509": "^1.14.3",
71
71
  "@simplewebauthn/server": "^13.0.0",
72
72
  "bcryptjs": "^3.0.3",
73
73
  "classnames": "^2.5.1",
@@ -80,9 +80,9 @@
80
80
  "qrcode": "^1.5.4",
81
81
  "sanitize-html": "^2.17.4",
82
82
  "xstate": "^5.31.1",
83
- "@authhero/adapter-interfaces": "4.13.0",
84
- "@authhero/proxy": "0.10.12",
85
- "@authhero/saml": "0.5.11"
83
+ "@authhero/adapter-interfaces": "4.14.0",
84
+ "@authhero/proxy": "0.10.13",
85
+ "@authhero/saml": "0.5.12"
86
86
  },
87
87
  "peerDependencies": {
88
88
  "@authhero/widget": "^0.1.0",