@authhero/adapter-interfaces 0.133.0 → 0.134.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.
@@ -1,5 +1,5 @@
1
1
  import { z as e } from "@hono/zod-openapi";
2
- const r = e.object({
2
+ const s = e.object({
3
3
  created_at: e.string(),
4
4
  updated_at: e.string()
5
5
  }), ot = e.enum(["AUTH0", "EMAIL", "REDIRECT"]), tt = e.enum([
@@ -66,7 +66,7 @@ const r = e.object({
66
66
  description: "The list of actions to execute in sequence"
67
67
  })
68
68
  }), it = W.extend({
69
- ...r.shape,
69
+ ...s.shape,
70
70
  id: e.string().openapi({
71
71
  description: "Unique identifier for the flow",
72
72
  example: "af_12tMpdJ3iek7svMyZkSh5M"
@@ -87,7 +87,7 @@ const r = e.object({
87
87
  q: e.string().optional().openapi({
88
88
  description: "A lucene query string used to filter the results"
89
89
  })
90
- }), rt = e.object({
90
+ }), st = e.object({
91
91
  start: e.number(),
92
92
  limit: e.number(),
93
93
  length: e.number(),
@@ -171,14 +171,14 @@ const r = e.object({
171
171
  }).optional()
172
172
  }), Y = e.object({
173
173
  ...q.omit({ password: !0 }).shape,
174
- ...r.shape,
174
+ ...s.shape,
175
175
  user_id: e.string(),
176
176
  provider: e.string(),
177
177
  is_social: e.boolean(),
178
178
  email: e.string().optional(),
179
179
  login_count: e.number().default(0),
180
180
  identities: e.array(X).optional()
181
- }), st = Y, lt = I.extend({
181
+ }), rt = Y, lt = I.extend({
182
182
  login_count: e.number(),
183
183
  multifactor: e.array(e.string()).optional(),
184
184
  last_ip: e.string().optional(),
@@ -186,9 +186,9 @@ const r = e.object({
186
186
  user_id: e.string()
187
187
  }).catchall(e.any()), Q = "useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";
188
188
  let J = (o = 21) => {
189
- let a = "", s = crypto.getRandomValues(new Uint8Array(o |= 0));
189
+ let a = "", r = crypto.getRandomValues(new Uint8Array(o |= 0));
190
190
  for (; o--; )
191
- a += Q[s[o] & 63];
191
+ a += Q[r[o] & 63];
192
192
  return a;
193
193
  };
194
194
  const Z = e.object({
@@ -404,11 +404,11 @@ const Z = e.object({
404
404
  x: e.number(),
405
405
  y: e.number()
406
406
  });
407
- var C = /* @__PURE__ */ ((o) => (o.RICH_TEXT = "RICH_TEXT", o.NEXT_BUTTON = "NEXT_BUTTON", o.BACK_BUTTON = "BACK_BUTTON", o.SUBMIT_BUTTON = "SUBMIT_BUTTON", o.DIVIDER = "DIVIDER", o.TEXT = "TEXT", o.EMAIL = "EMAIL", o.PASSWORD = "PASSWORD", o.NUMBER = "NUMBER", o.PHONE = "PHONE", o.DATE = "DATE", o.CHECKBOX = "CHECKBOX", o.RADIO = "RADIO", o.SELECT = "SELECT", o.HIDDEN = "HIDDEN", o.LEGAL = "LEGAL", o))(C || {}), y = /* @__PURE__ */ ((o) => (o.BLOCK = "BLOCK", o.FIELD = "FIELD", o))(y || {});
407
+ var y = /* @__PURE__ */ ((o) => (o.RICH_TEXT = "RICH_TEXT", o.NEXT_BUTTON = "NEXT_BUTTON", o.BACK_BUTTON = "BACK_BUTTON", o.SUBMIT_BUTTON = "SUBMIT_BUTTON", o.DIVIDER = "DIVIDER", o.TEXT = "TEXT", o.EMAIL = "EMAIL", o.PASSWORD = "PASSWORD", o.NUMBER = "NUMBER", o.PHONE = "PHONE", o.DATE = "DATE", o.CHECKBOX = "CHECKBOX", o.RADIO = "RADIO", o.SELECT = "SELECT", o.HIDDEN = "HIDDEN", o.LEGAL = "LEGAL", o))(y || {}), C = /* @__PURE__ */ ((o) => (o.BLOCK = "BLOCK", o.FIELD = "FIELD", o))(C || {});
408
408
  const u = e.object({
409
409
  id: e.string(),
410
- category: e.nativeEnum(y),
411
- type: e.nativeEnum(C)
410
+ category: e.nativeEnum(C),
411
+ type: e.nativeEnum(y)
412
412
  }), oe = u.extend({
413
413
  category: e.literal(
414
414
  "BLOCK"
@@ -514,14 +514,14 @@ const u = e.object({
514
514
  id: e.string(),
515
515
  category: e.string(),
516
516
  type: e.string()
517
- }).passthrough(), re = e.union([
517
+ }).passthrough(), se = e.union([
518
518
  oe,
519
519
  te,
520
520
  ne,
521
521
  ie,
522
522
  ae
523
523
  ]);
524
- var se = /* @__PURE__ */ ((o) => (o.STEP = "STEP", o.FLOW = "FLOW", o.CONDITION = "CONDITION", o.ACTION = "ACTION", o))(se || {});
524
+ var re = /* @__PURE__ */ ((o) => (o.STEP = "STEP", o.FLOW = "FLOW", o.CONDITION = "CONDITION", o.ACTION = "ACTION", o))(re || {});
525
525
  const le = e.object({
526
526
  id: e.string(),
527
527
  type: e.literal(
@@ -531,7 +531,7 @@ const le = e.object({
531
531
  coordinates: c,
532
532
  alias: e.string().optional(),
533
533
  config: e.object({
534
- components: e.array(re),
534
+ components: e.array(se),
535
535
  next_node: e.string()
536
536
  }).passthrough()
537
537
  }), ce = e.object({
@@ -757,7 +757,7 @@ const he = e.object({
757
757
  name: e.literal("txt"),
758
758
  record: e.string(),
759
759
  domain: e.string()
760
- }), Ce = e.object({
760
+ }), ye = e.object({
761
761
  ...Ae.shape,
762
762
  custom_domain_id: e.string(),
763
763
  primary: e.boolean(),
@@ -767,7 +767,7 @@ const he = e.object({
767
767
  methods: e.array(Ie)
768
768
  }).optional(),
769
769
  tls_policy: e.string().optional()
770
- }), mt = Ce.extend({
770
+ }), mt = ye.extend({
771
771
  tenant_id: e.string()
772
772
  }), f = e.object({
773
773
  id: e.string(),
@@ -775,7 +775,7 @@ const he = e.object({
775
775
  visible: e.boolean().optional().default(!0)
776
776
  }), i = f.extend({
777
777
  category: e.literal("BLOCK").optional()
778
- }), ye = i.extend({
778
+ }), Ce = i.extend({
779
779
  type: e.literal("DIVIDER"),
780
780
  config: e.object({}).optional()
781
781
  }), Te = i.extend({
@@ -803,17 +803,17 @@ const he = e.object({
803
803
  text: e.string().optional(),
804
804
  resend_action: e.string().optional()
805
805
  })
806
- }), De = i.extend({
806
+ }), we = i.extend({
807
807
  type: e.literal("NEXT_BUTTON"),
808
808
  config: e.object({
809
809
  text: e.string().optional()
810
810
  })
811
- }), we = i.extend({
811
+ }), De = i.extend({
812
812
  type: e.literal("PREVIOUS_BUTTON"),
813
813
  config: e.object({
814
814
  text: e.string().optional()
815
815
  })
816
- }), Le = i.extend({
816
+ }), je = i.extend({
817
817
  type: e.literal("RICH_TEXT"),
818
818
  config: e.object({
819
819
  content: e.string().optional()
@@ -824,7 +824,7 @@ const he = e.object({
824
824
  hint: e.string().min(1).max(500).optional(),
825
825
  required: e.boolean().optional(),
826
826
  sensitive: e.boolean().optional()
827
- }), je = E.extend({
827
+ }), Le = E.extend({
828
828
  type: e.literal("AUTH0_VERIFIABLE_CREDENTIALS"),
829
829
  config: e.object({
830
830
  credential_type: e.string().optional()
@@ -834,7 +834,7 @@ const he = e.object({
834
834
  config: e.object({
835
835
  api_key: e.string().optional()
836
836
  })
837
- }), Ue = E.extend({
837
+ }), ve = E.extend({
838
838
  type: e.literal("RECAPTCHA"),
839
839
  config: e.object({
840
840
  site_key: e.string().optional()
@@ -845,12 +845,12 @@ const he = e.object({
845
845
  hint: e.string().min(1).max(500).optional(),
846
846
  required: e.boolean().optional(),
847
847
  sensitive: e.boolean().optional()
848
- }), Fe = t.extend({
848
+ }), Ue = t.extend({
849
849
  type: e.literal("BOOLEAN"),
850
850
  config: e.object({
851
851
  default_value: e.boolean().optional()
852
852
  }).optional()
853
- }), ve = t.extend({
853
+ }), Fe = t.extend({
854
854
  type: e.literal("CARDS"),
855
855
  config: e.object({
856
856
  options: e.array(
@@ -978,21 +978,21 @@ const he = e.object({
978
978
  placeholder: e.string().optional()
979
979
  }).optional()
980
980
  }), Je = e.discriminatedUnion("type", [
981
- ye,
981
+ Ce,
982
982
  Te,
983
983
  Oe,
984
984
  Ne,
985
985
  Re,
986
- De,
987
986
  we,
988
- Le
987
+ De,
988
+ je
989
989
  ]), Ze = e.discriminatedUnion("type", [
990
- je,
990
+ Le,
991
991
  ke,
992
- Ue
992
+ ve
993
993
  ]), $e = e.discriminatedUnion("type", [
994
+ Ue,
994
995
  Fe,
995
- ve,
996
996
  xe,
997
997
  Pe,
998
998
  Me,
@@ -1097,14 +1097,14 @@ const he = e.object({
1097
1097
  }).openapi({
1098
1098
  description: "Schema for flow-based forms (matches Auth0 Forms structure)"
1099
1099
  }), bt = e.object({
1100
- ...r.shape,
1100
+ ...s.shape,
1101
1101
  ...io.shape,
1102
1102
  id: e.string()
1103
1103
  }), ao = e.object({
1104
1104
  id: e.number().optional(),
1105
1105
  text: e.string(),
1106
1106
  type: e.enum(["info", "error", "success", "warning"])
1107
- }), ro = e.object({
1107
+ }), so = e.object({
1108
1108
  id: e.string().optional(),
1109
1109
  text: e.string(),
1110
1110
  href: e.string(),
@@ -1118,7 +1118,7 @@ const he = e.object({
1118
1118
  description: e.string().optional(),
1119
1119
  components: e.array(R),
1120
1120
  messages: e.array(ao).optional(),
1121
- links: e.array(ro).optional(),
1121
+ links: e.array(so).optional(),
1122
1122
  /** Footer HTML content displayed at the very bottom of the widget (e.g., terms and conditions) */
1123
1123
  footer: e.string().optional()
1124
1124
  });
@@ -1131,7 +1131,7 @@ function St(o) {
1131
1131
  function At(o) {
1132
1132
  return o.category === "FIELD";
1133
1133
  }
1134
- const D = e.enum([
1134
+ const w = e.enum([
1135
1135
  "pre-user-registration",
1136
1136
  "post-user-registration",
1137
1137
  "post-user-login",
@@ -1139,7 +1139,7 @@ const D = e.enum([
1139
1139
  "pre-user-deletion",
1140
1140
  "post-user-deletion"
1141
1141
  // Potentially other triggers specific to webhooks in the future
1142
- ]), w = e.enum([
1142
+ ]), D = e.enum([
1143
1143
  "pre-user-registration",
1144
1144
  "post-user-registration",
1145
1145
  "post-user-login",
@@ -1151,30 +1151,30 @@ const D = e.enum([
1151
1151
  synchronous: e.boolean().default(!1),
1152
1152
  priority: e.number().optional(),
1153
1153
  hook_id: e.string().optional()
1154
- }, so = e.object({
1154
+ }, ro = e.object({
1155
1155
  ...m,
1156
- trigger_id: D,
1156
+ trigger_id: w,
1157
1157
  url: e.string()
1158
1158
  }), lo = e.object({
1159
1159
  ...m,
1160
- trigger_id: w,
1160
+ trigger_id: D,
1161
1161
  form_id: e.string()
1162
1162
  }), It = e.union([
1163
- so,
1163
+ ro,
1164
1164
  lo
1165
1165
  ]), co = e.object({
1166
1166
  ...m,
1167
- trigger_id: D,
1168
- ...r.shape,
1167
+ trigger_id: w,
1168
+ ...s.shape,
1169
1169
  hook_id: e.string(),
1170
1170
  url: e.string()
1171
1171
  }), po = e.object({
1172
1172
  ...m,
1173
- trigger_id: w,
1174
- ...r.shape,
1173
+ trigger_id: D,
1174
+ ...s.shape,
1175
1175
  hook_id: e.string(),
1176
1176
  form_id: e.string()
1177
- }), Ct = e.union([co, po]), _o = e.object({
1177
+ }), yt = e.union([co, po]), _o = e.object({
1178
1178
  name: e.string().optional()
1179
1179
  }), go = e.object({
1180
1180
  email: e.string().optional()
@@ -1190,7 +1190,7 @@ const D = e.enum([
1190
1190
  ttl_sec: e.number().int().max(2592e3).default(604800).optional(),
1191
1191
  roles: e.array(e.string()).default([]).optional(),
1192
1192
  send_invitation_email: e.boolean().default(!0).optional()
1193
- }), yt = e.object({
1193
+ }), Ct = e.object({
1194
1194
  id: e.string(),
1195
1195
  organization_id: e.string().max(50),
1196
1196
  created_at: e.string().datetime(),
@@ -1239,8 +1239,8 @@ const D = e.enum([
1239
1239
  request_parameter_supported: e.boolean(),
1240
1240
  token_endpoint_auth_signing_alg_values_supported: e.array(e.string())
1241
1241
  });
1242
- var L = /* @__PURE__ */ ((o) => (o.PENDING = "pending", o.AUTHENTICATED = "authenticated", o.AWAITING_EMAIL_VERIFICATION = "awaiting_email_verification", o.AWAITING_HOOK = "awaiting_hook", o.AWAITING_CONTINUATION = "awaiting_continuation", o.COMPLETED = "completed", o.FAILED = "failed", o.EXPIRED = "expired", o))(L || {});
1243
- const ho = e.nativeEnum(L), bo = e.object({
1242
+ var j = /* @__PURE__ */ ((o) => (o.PENDING = "pending", o.AUTHENTICATED = "authenticated", o.AWAITING_EMAIL_VERIFICATION = "awaiting_email_verification", o.AWAITING_HOOK = "awaiting_hook", o.AWAITING_CONTINUATION = "awaiting_continuation", o.COMPLETED = "completed", o.FAILED = "failed", o.EXPIRED = "expired", o))(j || {});
1243
+ const ho = e.nativeEnum(j), bo = e.object({
1244
1244
  csrf_token: e.string(),
1245
1245
  auth0Client: e.string().optional(),
1246
1246
  authParams: he,
@@ -1481,24 +1481,24 @@ const ho = e.nativeEnum(L), bo = e.object({
1481
1481
  }), Rt = e.object({
1482
1482
  ...Io.shape,
1483
1483
  log_id: e.string()
1484
- }), Co = e.object({
1484
+ }), yo = e.object({
1485
1485
  id: e.string().optional(),
1486
1486
  user_id: e.string(),
1487
1487
  password: e.string(),
1488
1488
  algorithm: e.enum(["bcrypt", "argon2id"]).default("argon2id"),
1489
1489
  is_current: e.boolean().default(!0)
1490
- }), Dt = Co.extend({
1490
+ }), wt = yo.extend({
1491
1491
  id: e.string(),
1492
1492
  created_at: e.string(),
1493
1493
  updated_at: e.string()
1494
- }), j = e.object({
1494
+ }), L = e.object({
1495
1495
  initial_user_agent: e.string().describe("First user agent of the device from which this user logged in"),
1496
1496
  initial_ip: e.string().describe("First IP address associated with this session"),
1497
1497
  initial_asn: e.string().describe("First autonomous system number associated with this session"),
1498
1498
  last_user_agent: e.string().describe("Last user agent of the device from which this user logged in"),
1499
1499
  last_ip: e.string().describe("Last IP address from which this user logged in"),
1500
1500
  last_asn: e.string().describe("Last autonomous system number from which this user logged in")
1501
- }), yo = e.object({
1501
+ }), Co = e.object({
1502
1502
  id: e.string(),
1503
1503
  revoked_at: e.string().optional(),
1504
1504
  used_at: e.string().optional(),
@@ -1506,17 +1506,17 @@ const ho = e.nativeEnum(L), bo = e.object({
1506
1506
  expires_at: e.string().optional(),
1507
1507
  login_session_id: e.string(),
1508
1508
  idle_expires_at: e.string().optional(),
1509
- device: j.describe(
1509
+ device: L.describe(
1510
1510
  "Metadata related to the device used in the session"
1511
1511
  ),
1512
1512
  clients: e.array(e.string()).describe("List of client details for the session")
1513
- }), wt = e.object({
1513
+ }), Dt = e.object({
1514
1514
  created_at: e.string(),
1515
1515
  updated_at: e.string(),
1516
1516
  authenticated_at: e.string(),
1517
1517
  last_interaction_at: e.string(),
1518
- ...yo.shape
1519
- }), Lt = e.object({
1518
+ ...Co.shape
1519
+ }), jt = e.object({
1520
1520
  kid: e.string().openapi({ description: "The key id of the signing key" }),
1521
1521
  cert: e.string().openapi({ description: "The public certificate of the signing key" }),
1522
1522
  fingerprint: e.string().openapi({ description: "The cert fingerprint" }),
@@ -1664,8 +1664,37 @@ const ho = e.nativeEnum(L), bo = e.object({
1664
1664
  }).optional(),
1665
1665
  // Authorization settings
1666
1666
  pushed_authorization_requests_supported: e.boolean().optional(),
1667
- authorization_response_iss_parameter_supported: e.boolean().optional()
1668
- }), jt = e.object({
1667
+ authorization_response_iss_parameter_supported: e.boolean().optional(),
1668
+ // Guardian MFA Factors configuration (internal storage, exposed via /guardian API)
1669
+ mfa: e.object({
1670
+ // Factor states
1671
+ factors: e.object({
1672
+ sms: e.boolean().default(!1),
1673
+ otp: e.boolean().default(!1),
1674
+ email: e.boolean().default(!1),
1675
+ push_notification: e.boolean().default(!1),
1676
+ webauthn_roaming: e.boolean().default(!1),
1677
+ webauthn_platform: e.boolean().default(!1),
1678
+ recovery_code: e.boolean().default(!1),
1679
+ duo: e.boolean().default(!1)
1680
+ }).optional(),
1681
+ // SMS provider configuration
1682
+ sms_provider: e.object({
1683
+ provider: e.enum(["twilio", "vonage", "aws_sns", "phone_message_hook"]).optional()
1684
+ }).optional(),
1685
+ // Twilio-specific configuration
1686
+ twilio: e.object({
1687
+ sid: e.string().optional(),
1688
+ auth_token: e.string().optional(),
1689
+ from: e.string().optional(),
1690
+ messaging_service_sid: e.string().optional()
1691
+ }).optional(),
1692
+ // Phone message configuration (custom)
1693
+ phone_message: e.object({
1694
+ message: e.string().optional()
1695
+ }).optional()
1696
+ }).optional()
1697
+ }), Lt = e.object({
1669
1698
  created_at: e.string().nullable().transform((o) => o ?? ""),
1670
1699
  updated_at: e.string().nullable().transform((o) => o ?? ""),
1671
1700
  ...To.shape,
@@ -1718,7 +1747,7 @@ const No = e.object({
1718
1747
  }), l = e.object({
1719
1748
  bold: e.boolean(),
1720
1749
  size: e.number()
1721
- }), Do = e.object({
1750
+ }), wo = e.object({
1722
1751
  body_text: l,
1723
1752
  buttons_text: l,
1724
1753
  font_url: e.string(),
@@ -1728,31 +1757,31 @@ const No = e.object({
1728
1757
  reference_text_size: e.number(),
1729
1758
  subtitle: l,
1730
1759
  title: l
1731
- }), wo = e.object({
1760
+ }), Do = e.object({
1732
1761
  background_color: e.string(),
1733
1762
  background_image_url: e.string(),
1734
1763
  page_layout: e.enum(["center", "left", "right"])
1735
- }), Lo = e.object({
1764
+ }), jo = e.object({
1736
1765
  header_text_alignment: e.enum(["center", "left", "right"]),
1737
1766
  logo_height: e.number(),
1738
1767
  logo_position: e.enum(["center", "left", "none", "right"]),
1739
1768
  logo_url: e.string(),
1740
1769
  social_buttons_layout: e.enum(["bottom", "top"])
1741
- }), jo = e.object({
1770
+ }), Lo = e.object({
1742
1771
  borders: No,
1743
1772
  colors: Ro,
1744
1773
  displayName: e.string(),
1745
- fonts: Do,
1746
- page_background: wo,
1747
- widget: Lo
1748
- }), Ut = jo.extend({
1774
+ fonts: wo,
1775
+ page_background: Do,
1776
+ widget: jo
1777
+ }), vt = Lo.extend({
1749
1778
  themeId: e.string()
1750
- }), Ft = e.object({
1779
+ }), Ut = e.object({
1751
1780
  universal_login_experience: e.enum(["new", "classic"]).default("new"),
1752
1781
  identifier_first: e.boolean().default(!0),
1753
1782
  password_first: e.boolean().default(!1),
1754
1783
  webauthn_platform_first_factor: e.boolean()
1755
- }), vt = e.object({
1784
+ }), Ft = e.object({
1756
1785
  name: e.string(),
1757
1786
  enabled: e.boolean().optional().default(!0),
1758
1787
  default_from_address: e.string().optional(),
@@ -1795,7 +1824,7 @@ const No = e.object({
1795
1824
  idle_expires_at: e.string().optional(),
1796
1825
  // When the token was last used.
1797
1826
  last_exchanged_at: e.string().optional(),
1798
- device: j,
1827
+ device: L,
1799
1828
  resource_servers: e.array(
1800
1829
  e.object({
1801
1830
  audience: e.string(),
@@ -1814,10 +1843,10 @@ const No = e.object({
1814
1843
  }), Mt = e.object({
1815
1844
  name: e.string(),
1816
1845
  options: e.object({})
1817
- }), Uo = e.object({
1846
+ }), vo = e.object({
1818
1847
  value: e.string(),
1819
1848
  description: e.string().optional()
1820
- }), Fo = e.object({
1849
+ }), Uo = e.object({
1821
1850
  token_dialect: e.enum(["access_token", "access_token_authz"]).optional(),
1822
1851
  enforce_policies: e.boolean().optional(),
1823
1852
  allow_skipping_userinfo: e.boolean().optional(),
@@ -1827,11 +1856,11 @@ const No = e.object({
1827
1856
  mtls: e.object({
1828
1857
  bound_access_tokens: e.boolean().optional()
1829
1858
  }).optional()
1830
- }), vo = e.object({
1859
+ }), Fo = e.object({
1831
1860
  id: e.string().optional(),
1832
1861
  name: e.string(),
1833
1862
  identifier: e.string(),
1834
- scopes: e.array(Uo).optional(),
1863
+ scopes: e.array(vo).optional(),
1835
1864
  signing_alg: e.string().optional(),
1836
1865
  signing_secret: e.string().optional(),
1837
1866
  token_lifetime: e.number().optional(),
@@ -1839,11 +1868,11 @@ const No = e.object({
1839
1868
  skip_consent_for_verifiable_first_party_clients: e.boolean().optional(),
1840
1869
  allow_offline_access: e.boolean().optional(),
1841
1870
  verificationKey: e.string().optional(),
1842
- options: Fo.optional(),
1871
+ options: Uo.optional(),
1843
1872
  is_system: e.boolean().optional(),
1844
1873
  metadata: e.record(e.any()).optional()
1845
1874
  }), xo = e.object({
1846
- ...vo.shape,
1875
+ ...Fo.shape,
1847
1876
  created_at: e.string().optional(),
1848
1877
  updated_at: e.string().optional()
1849
1878
  }), Ht = e.array(xo), Po = e.object({
@@ -1957,7 +1986,7 @@ const No = e.object({
1957
1986
  token_quota: Yo
1958
1987
  }), Xt = e.object({
1959
1988
  ...Qo.shape,
1960
- ...r.shape,
1989
+ ...s.shape,
1961
1990
  id: e.string(),
1962
1991
  // Override name to be lenient when reading from database (to support existing uppercase names)
1963
1992
  name: e.string().min(1).openapi({
@@ -1972,7 +2001,7 @@ const No = e.object({
1972
2001
  })
1973
2002
  }), Vt = e.object({
1974
2003
  ...Jo.shape,
1975
- ...r.shape,
2004
+ ...s.shape,
1976
2005
  id: e.string()
1977
2006
  }), qt = e.object({
1978
2007
  // Session settings
@@ -2042,6 +2071,35 @@ const No = e.object({
2042
2071
  // Session management
2043
2072
  sessions: e.object({
2044
2073
  oidc_logout_prompt_enabled: e.boolean().optional()
2074
+ }).optional(),
2075
+ // Guardian MFA Factors configuration (internal storage, exposed via /guardian API)
2076
+ mfa: e.object({
2077
+ // Factor states
2078
+ factors: e.object({
2079
+ sms: e.boolean().default(!1),
2080
+ otp: e.boolean().default(!1),
2081
+ email: e.boolean().default(!1),
2082
+ push_notification: e.boolean().default(!1),
2083
+ webauthn_roaming: e.boolean().default(!1),
2084
+ webauthn_platform: e.boolean().default(!1),
2085
+ recovery_code: e.boolean().default(!1),
2086
+ duo: e.boolean().default(!1)
2087
+ }).optional(),
2088
+ // SMS provider configuration
2089
+ sms_provider: e.object({
2090
+ provider: e.enum(["twilio", "vonage", "aws_sns", "phone_message_hook"]).optional()
2091
+ }).optional(),
2092
+ // Twilio-specific configuration
2093
+ twilio: e.object({
2094
+ sid: e.string().optional(),
2095
+ auth_token: e.string().optional(),
2096
+ from: e.string().optional(),
2097
+ messaging_service_sid: e.string().optional()
2098
+ }).optional(),
2099
+ // Phone message configuration (custom)
2100
+ phone_message: e.object({
2101
+ message: e.string().optional()
2102
+ }).optional()
2045
2103
  }).optional()
2046
2104
  }), Yt = e.object({
2047
2105
  date: e.string().openapi({
@@ -2108,28 +2166,28 @@ const No = e.object({
2108
2166
  custom_text: $o
2109
2167
  });
2110
2168
  function Zt(o) {
2111
- const [a, s] = o.split("|");
2112
- if (!a || !s)
2169
+ const [a, r] = o.split("|");
2170
+ if (!a || !r)
2113
2171
  throw new Error(`Invalid user_id: ${o}`);
2114
- return { connection: a, id: s };
2172
+ return { connection: a, id: r };
2115
2173
  }
2116
2174
  function $t(o) {
2117
2175
  const {
2118
2176
  primary: a,
2119
- secondaries: s,
2177
+ secondaries: r,
2120
2178
  syncMethods: k = ["create", "update", "remove", "delete", "set"]
2121
- } = o, U = {
2179
+ } = o, v = {
2122
2180
  get(d, n) {
2123
2181
  if (typeof n == "symbol")
2124
2182
  return d[n];
2125
2183
  const g = d[n];
2126
2184
  return typeof g != "function" ? g : k.includes(n) ? async (...h) => {
2127
- const F = await g.apply(d, h), b = [];
2128
- for (const p of s) {
2185
+ const U = await g.apply(d, h), b = [];
2186
+ for (const p of r) {
2129
2187
  const S = p.adapter[n];
2130
2188
  if (typeof S != "function")
2131
2189
  continue;
2132
- const v = (async () => {
2190
+ const F = (async () => {
2133
2191
  try {
2134
2192
  await S.apply(p.adapter, h);
2135
2193
  } catch (A) {
@@ -2146,13 +2204,13 @@ function $t(o) {
2146
2204
  }
2147
2205
  }
2148
2206
  })();
2149
- p.blocking && b.push(v);
2207
+ p.blocking && b.push(F);
2150
2208
  }
2151
- return b.length > 0 && await Promise.all(b), F;
2209
+ return b.length > 0 && await Promise.all(b), U;
2152
2210
  } : g.bind(d);
2153
2211
  }
2154
2212
  };
2155
- return new Proxy(a, U);
2213
+ return new Proxy(a, v);
2156
2214
  }
2157
2215
  function en(o) {
2158
2216
  return o;
@@ -2163,15 +2221,15 @@ export {
2163
2221
  O as AuthorizationResponseMode,
2164
2222
  T as AuthorizationResponseType,
2165
2223
  N as CodeChallengeMethod,
2166
- y as ComponentCategory,
2167
- C as ComponentType,
2224
+ C as ComponentCategory,
2225
+ y as ComponentType,
2168
2226
  nt as EmailActionEnum,
2169
2227
  ot as FlowActionTypeEnum,
2170
2228
  Oo as GrantType,
2171
2229
  Ao as LocationInfo,
2172
2230
  fo as LogTypes,
2173
- L as LoginSessionState,
2174
- se as NodeType,
2231
+ j as LoginSessionState,
2232
+ re as NodeType,
2175
2233
  G as RedirectTargetEnum,
2176
2234
  pe as actionNodeSchema,
2177
2235
  Qt as activeUsersResponseSchema,
@@ -2180,7 +2238,7 @@ export {
2180
2238
  me as auth0FlowSchema,
2181
2239
  at as auth0QuerySchema,
2182
2240
  M as auth0UpdateUserActionSchema,
2183
- st as auth0UserResponseSchema,
2241
+ rt as auth0UserResponseSchema,
2184
2242
  he as authParamsSchema,
2185
2243
  I as baseUserSchema,
2186
2244
  Je as blockComponentSchema,
@@ -2197,7 +2255,7 @@ export {
2197
2255
  be as codeTypeSchema,
2198
2256
  Ro as colorsSchema,
2199
2257
  ao as componentMessageSchema,
2200
- re as componentSchema,
2258
+ se as componentSchema,
2201
2259
  Se as connectionInsertSchema,
2202
2260
  Ee as connectionOptionsSchema,
2203
2261
  ut as connectionSchema,
@@ -2205,12 +2263,12 @@ export {
2205
2263
  $t as createPassthroughAdapter,
2206
2264
  en as createWriteOnlyAdapter,
2207
2265
  Ae as customDomainInsertSchema,
2208
- Ce as customDomainSchema,
2266
+ ye as customDomainSchema,
2209
2267
  mt as customDomainWithTenantIdSchema,
2210
2268
  Jt as customTextEntrySchema,
2211
2269
  $o as customTextSchema,
2212
2270
  Yt as dailyStatsSchema,
2213
- vt as emailProviderSchema,
2271
+ Ft as emailProviderSchema,
2214
2272
  P as emailVerificationRulesSchema,
2215
2273
  H as emailVerifyActionSchema,
2216
2274
  ue as endingSchema,
@@ -2222,7 +2280,7 @@ export {
2222
2280
  ce as flowsFlowNodeSchema,
2223
2281
  le as flowsStepNodeSchema,
2224
2282
  l as fontDetailsSchema,
2225
- Do as fontsSchema,
2283
+ wo as fontsSchema,
2226
2284
  ht as formControlSchema,
2227
2285
  io as formInsertSchema,
2228
2286
  R as formNodeComponentDefinition,
@@ -2231,10 +2289,10 @@ export {
2231
2289
  ae as genericComponentSchema,
2232
2290
  _e as genericNodeSchema,
2233
2291
  It as hookInsertSchema,
2234
- Ct as hookSchema,
2292
+ yt as hookSchema,
2235
2293
  X as identitySchema,
2236
2294
  uo as inviteInsertSchema,
2237
- yt as inviteSchema,
2295
+ Ct as inviteSchema,
2238
2296
  go as inviteeSchema,
2239
2297
  _o as inviterSchema,
2240
2298
  Et as isBlockComponent,
@@ -2255,21 +2313,21 @@ export {
2255
2313
  Qo as organizationInsertSchema,
2256
2314
  Xt as organizationSchema,
2257
2315
  Yo as organizationTokenQuotaSchema,
2258
- wo as pageBackgroundSchema,
2316
+ Do as pageBackgroundSchema,
2259
2317
  Zt as parseUserId,
2260
- Co as passwordInsertSchema,
2261
- Dt as passwordSchema,
2318
+ yo as passwordInsertSchema,
2319
+ wt as passwordSchema,
2262
2320
  z as profileDataSchema,
2263
2321
  Zo as promptScreenSchema,
2264
- Ft as promptSettingSchema,
2322
+ Ut as promptSettingSchema,
2265
2323
  B as redirectActionSchema,
2266
2324
  ko as refreshTokenInsertSchema,
2267
2325
  xt as refreshTokenSchema,
2268
- vo as resourceServerInsertSchema,
2326
+ Fo as resourceServerInsertSchema,
2269
2327
  Ht as resourceServerListSchema,
2270
- Fo as resourceServerOptionsSchema,
2328
+ Uo as resourceServerOptionsSchema,
2271
2329
  xo as resourceServerSchema,
2272
- Uo as resourceServerScopeSchema,
2330
+ vo as resourceServerScopeSchema,
2273
2331
  oe as richTextComponentSchema,
2274
2332
  zo as roleInsertSchema,
2275
2333
  zt as roleListSchema,
@@ -2277,20 +2335,20 @@ export {
2277
2335
  Gt as rolePermissionListSchema,
2278
2336
  Mo as rolePermissionSchema,
2279
2337
  Xo as roleSchema,
2280
- ro as screenLinkSchema,
2281
- yo as sessionInsertSchema,
2282
- wt as sessionSchema,
2283
- Lt as signingKeySchema,
2338
+ so as screenLinkSchema,
2339
+ Co as sessionInsertSchema,
2340
+ Dt as sessionSchema,
2341
+ jt as signingKeySchema,
2284
2342
  Mt as smsProviderSchema,
2285
2343
  Pt as smsSendParamsSchema,
2286
2344
  ge as startSchema,
2287
2345
  To as tenantInsertSchema,
2288
- jt as tenantSchema,
2346
+ Lt as tenantSchema,
2289
2347
  qt as tenantSettingsSchema,
2290
- jo as themeInsertSchema,
2291
- Ut as themeSchema,
2348
+ Lo as themeInsertSchema,
2349
+ vt as themeSchema,
2292
2350
  kt as tokenResponseSchema,
2293
- rt as totalsSchema,
2351
+ st as totalsSchema,
2294
2352
  ft as uiScreenSchema,
2295
2353
  q as userInsertSchema,
2296
2354
  Jo as userOrganizationInsertSchema,
@@ -2307,5 +2365,5 @@ export {
2307
2365
  Y as userSchema,
2308
2366
  Ie as verificationMethodsSchema,
2309
2367
  Ze as widgetComponentSchema,
2310
- Lo as widgetSchema
2368
+ jo as widgetSchema
2311
2369
  };