@authhero/drizzle 1.9.1 → 1.11.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.
@@ -475,7 +475,7 @@ var Re = Object.defineProperty, ze = (e, t) => {
475
475
  C({ columns: [e.tenant_id, e.id] }),
476
476
  x("connections_tenant_id_index").on(e.tenant_id),
477
477
  re("connections_id_unique").on(e.id)
478
- ]), V = w("custom_domains", {
478
+ ]), Ke = w("custom_domains", {
479
479
  custom_domain_id: T("custom_domain_id", { length: 256 }).primaryKey(),
480
480
  tenant_id: T("tenant_id", { length: 191 }).notNull().references(() => O.id, { onDelete: "cascade" }),
481
481
  domain: T("domain", { length: 255 }).notNull(),
@@ -489,7 +489,7 @@ var Re = Object.defineProperty, ze = (e, t) => {
489
489
  domain_metadata: T("domain_metadata", { length: 2048 }),
490
490
  created_at: T("created_at", { length: 35 }).notNull(),
491
491
  updated_at: T("updated_at", { length: 35 }).notNull()
492
- }, (e) => [re("custom_domains_domain_unique").on(e.domain)]), Ke = w("domains", {
492
+ }, (e) => [re("custom_domains_domain_unique").on(e.domain)]), qe = w("domains", {
493
493
  id: T("id", { length: 255 }).primaryKey(),
494
494
  tenant_id: T("tenant_id", { length: 191 }).notNull().references(() => O.id, { onDelete: "cascade" }),
495
495
  domain: T("domain", { length: 255 }).notNull(),
@@ -499,7 +499,7 @@ var Re = Object.defineProperty, ze = (e, t) => {
499
499
  dkim_public_key: T("dkim_public_key", { length: 2048 }),
500
500
  created_at: T("created_at", { length: 35 }).notNull(),
501
501
  updated_at: T("updated_at", { length: 35 }).notNull()
502
- }), H = w("organizations", {
502
+ }), V = w("organizations", {
503
503
  id: T("id", { length: 21 }).primaryKey(),
504
504
  tenant_id: T("tenant_id", { length: 191 }).notNull(),
505
505
  name: T("name", { length: 256 }).notNull(),
@@ -510,7 +510,7 @@ var Re = Object.defineProperty, ze = (e, t) => {
510
510
  token_quota: T("token_quota"),
511
511
  created_at: T("created_at", { length: 35 }).notNull(),
512
512
  updated_at: T("updated_at", { length: 35 }).notNull()
513
- }, (e) => [x("idx_organizations_tenant_id").on(e.tenant_id)]), U = w("user_organizations", {
513
+ }, (e) => [x("idx_organizations_tenant_id").on(e.tenant_id)]), H = w("user_organizations", {
514
514
  id: T("id", { length: 21 }).primaryKey(),
515
515
  tenant_id: T("tenant_id", { length: 191 }).notNull(),
516
516
  user_id: T("user_id", { length: 191 }).notNull(),
@@ -522,7 +522,7 @@ var Re = Object.defineProperty, ze = (e, t) => {
522
522
  x("idx_user_organizations_tenant_id").on(e.tenant_id),
523
523
  x("idx_user_organizations_user_id").on(e.user_id),
524
524
  x("idx_user_organizations_organization_id").on(e.organization_id)
525
- ]), qe = w("invites", {
525
+ ]), Je = w("invites", {
526
526
  id: T("id", { length: 21 }).primaryKey(),
527
527
  tenant_id: T("tenant_id", { length: 191 }).notNull(),
528
528
  organization_id: T("organization_id", { length: 21 }).notNull(),
@@ -544,7 +544,7 @@ var Re = Object.defineProperty, ze = (e, t) => {
544
544
  x("idx_invites_organization_id").on(e.organization_id),
545
545
  x("idx_invites_expires_at").on(e.expires_at),
546
546
  x("idx_invites_tenant_created").on(e.tenant_id, e.created_at)
547
- ]), W = w("roles", {
547
+ ]), U = w("roles", {
548
548
  id: T("id", { length: 21 }).notNull(),
549
549
  tenant_id: T("tenant_id", { length: 191 }).notNull(),
550
550
  name: T("name", { length: 50 }).notNull(),
@@ -556,7 +556,7 @@ var Re = Object.defineProperty, ze = (e, t) => {
556
556
  }, (e) => [C({
557
557
  columns: [e.tenant_id, e.id],
558
558
  name: "roles_pk"
559
- })]), Je = w("role_permissions", {
559
+ })]), W = w("role_permissions", {
560
560
  tenant_id: T("tenant_id", { length: 191 }).notNull(),
561
561
  role_id: T("role_id", { length: 21 }).notNull(),
562
562
  resource_server_identifier: T("resource_server_identifier", { length: 191 }).notNull(),
@@ -941,9 +941,9 @@ var Re = Object.defineProperty, ze = (e, t) => {
941
941
  clients: () => I,
942
942
  codes: () => F,
943
943
  connections: () => B,
944
- customDomains: () => V,
944
+ customDomains: () => Ke,
945
945
  customText: () => st,
946
- domains: () => Ke,
946
+ domains: () => qe,
947
947
  emailProviders: () => nt,
948
948
  emailTemplates: () => rt,
949
949
  flows: () => et,
@@ -951,11 +951,11 @@ var Re = Object.defineProperty, ze = (e, t) => {
951
951
  grants: () => z,
952
952
  hookCode: () => at,
953
953
  hooks: () => it,
954
- invites: () => qe,
954
+ invites: () => Je,
955
955
  keys: () => ot,
956
956
  loginSessions: () => P,
957
957
  logs: () => q,
958
- organizations: () => H,
958
+ organizations: () => V,
959
959
  otps: () => We,
960
960
  outboxEvents: () => J,
961
961
  passwords: () => j,
@@ -963,8 +963,8 @@ var Re = Object.defineProperty, ze = (e, t) => {
963
963
  proxyRoutes: () => Y,
964
964
  refreshTokens: () => N,
965
965
  resourceServers: () => K,
966
- rolePermissions: () => Je,
967
- roles: () => W,
966
+ rolePermissions: () => W,
967
+ roles: () => U,
968
968
  scimConfigurations: () => lt,
969
969
  scimExternalIds: () => ut,
970
970
  scimTokens: () => X,
@@ -975,7 +975,7 @@ var Re = Object.defineProperty, ze = (e, t) => {
975
975
  tokenExchangeProfiles: () => dt,
976
976
  universalLoginTemplates: () => Ze,
977
977
  userActivity: () => He,
978
- userOrganizations: () => U,
978
+ userOrganizations: () => H,
979
979
  userPermissions: () => Ye,
980
980
  userRoles: () => G,
981
981
  users: () => A
@@ -1997,31 +1997,31 @@ function rn(e) {
1997
1997
  created_at: r,
1998
1998
  updated_at: r
1999
1999
  };
2000
- return await e.insert(V).values(i), nn({
2000
+ return await e.insert(Ke).values(i), nn({
2001
2001
  ...i,
2002
2002
  tenant_id: t
2003
2003
  });
2004
2004
  },
2005
2005
  async get(n, r) {
2006
- let i = await e.select().from(V).where(t(a(V.tenant_id, n), a(V.custom_domain_id, r))).get();
2006
+ let i = await e.select().from(Ke).where(t(a(Ke.tenant_id, n), a(Ke.custom_domain_id, r))).get();
2007
2007
  return i ? nn(i) : null;
2008
2008
  },
2009
2009
  async getByDomain(t) {
2010
- let n = await e.select().from(V).where(a(V.domain, t)).get();
2010
+ let n = await e.select().from(Ke).where(a(Ke.domain, t)).get();
2011
2011
  return n ? {
2012
2012
  ...nn(n),
2013
2013
  tenant_id: n.tenant_id
2014
2014
  } : null;
2015
2015
  },
2016
2016
  async list(t) {
2017
- return (await e.select().from(V).where(a(V.tenant_id, t)).all()).map(nn);
2017
+ return (await e.select().from(Ke).where(a(Ke.tenant_id, t)).all()).map(nn);
2018
2018
  },
2019
2019
  async update(n, r, i) {
2020
2020
  let o = { updated_at: (/* @__PURE__ */ new Date()).toISOString() };
2021
- return i.domain !== void 0 && (o.domain = i.domain), i.primary !== void 0 && (o.primary = i.primary), i.status !== void 0 && (o.status = i.status), i.type !== void 0 && (o.type = i.type), i.origin_domain_name !== void 0 && (o.origin_domain_name = i.origin_domain_name), i.verification !== void 0 && (o.verification = JSON.stringify(i.verification)), i.custom_client_ip_header !== void 0 && (o.custom_client_ip_header = i.custom_client_ip_header), i.tls_policy !== void 0 && (o.tls_policy = i.tls_policy), i.domain_metadata !== void 0 && (o.domain_metadata = JSON.stringify(i.domain_metadata)), (await e.update(V).set(o).where(t(a(V.tenant_id, n), a(V.custom_domain_id, r))).returning()).length > 0;
2021
+ return i.domain !== void 0 && (o.domain = i.domain), i.primary !== void 0 && (o.primary = i.primary), i.status !== void 0 && (o.status = i.status), i.type !== void 0 && (o.type = i.type), i.origin_domain_name !== void 0 && (o.origin_domain_name = i.origin_domain_name), i.verification !== void 0 && (o.verification = JSON.stringify(i.verification)), i.custom_client_ip_header !== void 0 && (o.custom_client_ip_header = i.custom_client_ip_header), i.tls_policy !== void 0 && (o.tls_policy = i.tls_policy), i.domain_metadata !== void 0 && (o.domain_metadata = JSON.stringify(i.domain_metadata)), (await e.update(Ke).set(o).where(t(a(Ke.tenant_id, n), a(Ke.custom_domain_id, r))).returning()).length > 0;
2022
2022
  },
2023
2023
  async remove(n, r) {
2024
- return (await e.delete(V).where(t(a(V.tenant_id, n), a(V.custom_domain_id, r))).returning()).length > 0;
2024
+ return (await e.delete(Ke).where(t(a(Ke.tenant_id, n), a(Ke.custom_domain_id, r))).returning()).length > 0;
2025
2025
  }
2026
2026
  };
2027
2027
  }
@@ -2554,7 +2554,7 @@ function kn(e) {
2554
2554
  };
2555
2555
  for (let e of Dn) n[e] !== void 0 && (s[e] = JSON.stringify(n[e]));
2556
2556
  try {
2557
- await e.insert(qe).values(s);
2557
+ await e.insert(Je).values(s);
2558
2558
  } catch (e) {
2559
2559
  throw e?.message?.includes("UNIQUE constraint failed") || e?.message?.includes("duplicate key") ? new Le(409, { message: "Invite already exists" }) : e;
2560
2560
  }
@@ -2564,23 +2564,23 @@ function kn(e) {
2564
2564
  });
2565
2565
  },
2566
2566
  async get(n, r) {
2567
- let i = await e.select().from(qe).where(t(a(qe.tenant_id, n), a(qe.id, r))).get();
2567
+ let i = await e.select().from(Je).where(t(a(Je.tenant_id, n), a(Je.id, r))).get();
2568
2568
  return i ? On(i) : null;
2569
2569
  },
2570
2570
  async update(n, r, i) {
2571
2571
  let o = {};
2572
2572
  for (let e of Dn) i[e] !== void 0 && (o[e] = JSON.stringify(i[e]));
2573
- return i.connection_id !== void 0 && (o.connection_id = i.connection_id), i.ttl_sec !== void 0 && (o.ttl_sec = i.ttl_sec, o.expires_at = new Date(Date.now() + i.ttl_sec * 1e3).toISOString()), (await e.update(qe).set(o).where(t(a(qe.tenant_id, n), a(qe.id, r))).returning()).length > 0;
2573
+ return i.connection_id !== void 0 && (o.connection_id = i.connection_id), i.ttl_sec !== void 0 && (o.ttl_sec = i.ttl_sec, o.expires_at = new Date(Date.now() + i.ttl_sec * 1e3).toISOString()), (await e.update(Je).set(o).where(t(a(Je.tenant_id, n), a(Je.id, r))).returning()).length > 0;
2574
2574
  },
2575
2575
  async list(t, o) {
2576
- let { page: s = 0, per_page: c = 50, include_totals: l = !1, sort: u } = o || {}, d = e.select().from(qe).where(a(qe.tenant_id, t)).$dynamic();
2576
+ let { page: s = 0, per_page: c = 50, include_totals: l = !1, sort: u } = o || {}, d = e.select().from(Je).where(a(Je.tenant_id, t)).$dynamic();
2577
2577
  if (u?.sort_by) {
2578
- let e = qe[u.sort_by];
2578
+ let e = Je[u.sort_by];
2579
2579
  e && (d = d.orderBy(u.sort_order === "desc" ? i(e) : n(e)));
2580
2580
  }
2581
2581
  let f = (await d.offset(s * c).limit(c)).map(On);
2582
2582
  if (!l) return { invites: f };
2583
- let [p] = await e.select({ count: r() }).from(qe).where(a(qe.tenant_id, t));
2583
+ let [p] = await e.select({ count: r() }).from(Je).where(a(Je.tenant_id, t));
2584
2584
  return {
2585
2585
  invites: f,
2586
2586
  start: s * c,
@@ -2589,7 +2589,7 @@ function kn(e) {
2589
2589
  };
2590
2590
  },
2591
2591
  async remove(n, r) {
2592
- return (await e.delete(qe).where(t(a(qe.tenant_id, n), a(qe.id, r))).returning()).length > 0;
2592
+ return (await e.delete(Je).where(t(a(Je.tenant_id, n), a(Je.id, r))).returning()).length > 0;
2593
2593
  }
2594
2594
  };
2595
2595
  }
@@ -2923,7 +2923,7 @@ function qn(e) {
2923
2923
  updated_at: r
2924
2924
  };
2925
2925
  try {
2926
- await e.insert(H).values(i);
2926
+ await e.insert(V).values(i);
2927
2927
  } catch (e) {
2928
2928
  throw e?.message?.includes("UNIQUE constraint failed") || e?.message?.includes("AlreadyExists") ? new Le(409, { message: "Organization already exists" }) : e;
2929
2929
  }
@@ -2933,29 +2933,29 @@ function qn(e) {
2933
2933
  });
2934
2934
  },
2935
2935
  async get(n, r) {
2936
- let i = await e.select().from(H).where(t(a(H.tenant_id, n), a(H.id, r))).get();
2937
- return i ||= await e.select().from(H).where(t(a(H.tenant_id, n), a(H.name, r))).get(), i ? Kn(i) : null;
2936
+ let i = await e.select().from(V).where(t(a(V.tenant_id, n), a(V.id, r))).get();
2937
+ return i ||= await e.select().from(V).where(t(a(V.tenant_id, n), a(V.name, r))).get(), i ? Kn(i) : null;
2938
2938
  },
2939
2939
  async update(n, r, i) {
2940
2940
  let o = { updated_at: (/* @__PURE__ */ new Date()).toISOString() };
2941
- return i.name !== void 0 && (o.name = i.name), i.display_name !== void 0 && (o.display_name = i.display_name), i.branding !== void 0 && (o.branding = JSON.stringify(i.branding)), i.metadata !== void 0 && (o.metadata = JSON.stringify(i.metadata)), i.enabled_connections !== void 0 && (o.enabled_connections = JSON.stringify(i.enabled_connections)), i.token_quota !== void 0 && (o.token_quota = JSON.stringify(i.token_quota)), (await e.update(H).set(o).where(t(a(H.tenant_id, n), a(H.id, r))).returning()).length > 0;
2941
+ return i.name !== void 0 && (o.name = i.name), i.display_name !== void 0 && (o.display_name = i.display_name), i.branding !== void 0 && (o.branding = JSON.stringify(i.branding)), i.metadata !== void 0 && (o.metadata = JSON.stringify(i.metadata)), i.enabled_connections !== void 0 && (o.enabled_connections = JSON.stringify(i.enabled_connections)), i.token_quota !== void 0 && (o.token_quota = JSON.stringify(i.token_quota)), (await e.update(V).set(o).where(t(a(V.tenant_id, n), a(V.id, r))).returning()).length > 0;
2942
2942
  },
2943
2943
  async list(o, s) {
2944
- let { page: c = 0, per_page: l = 50, include_totals: u = !1, sort: d, q: f } = s || {}, p = [a(H.tenant_id, o)];
2944
+ let { page: c = 0, per_page: l = 50, include_totals: u = !1, sort: d, q: f } = s || {}, p = [a(V.tenant_id, o)];
2945
2945
  if (f) {
2946
2946
  let e = Te(f, Wn);
2947
2947
  if (e) {
2948
- let t = _t(H, e, Wn);
2948
+ let t = _t(V, e, Wn);
2949
2949
  t && p.push(t);
2950
2950
  }
2951
2951
  }
2952
2952
  let m = t(...p);
2953
2953
  if (kt(s)) {
2954
2954
  let n = {
2955
- sortColumn: H.created_at,
2956
- idColumn: H.id,
2955
+ sortColumn: V.created_at,
2956
+ idColumn: V.id,
2957
2957
  sortOrder: "desc"
2958
- }, r = Mt(s, n), i = At(s), { rows: a, next: o } = Nt(await e.select().from(H).where(r ? t(m, r) : m).orderBy(...jt(n)).limit(i + 1), i, "created_at"), c = a.map(Kn);
2958
+ }, r = Mt(s, n), i = At(s), { rows: a, next: o } = Nt(await e.select().from(V).where(r ? t(m, r) : m).orderBy(...jt(n)).limit(i + 1), i, "created_at"), c = a.map(Kn);
2959
2959
  return {
2960
2960
  organizations: c,
2961
2961
  start: 0,
@@ -2965,14 +2965,14 @@ function qn(e) {
2965
2965
  next: o
2966
2966
  };
2967
2967
  }
2968
- let h = e.select().from(H).where(m).$dynamic();
2968
+ let h = e.select().from(V).where(m).$dynamic();
2969
2969
  if (d?.sort_by) {
2970
- let e = H[d.sort_by];
2970
+ let e = V[d.sort_by];
2971
2971
  e && (h = h.orderBy(d.sort_order === "desc" ? i(e) : n(e)));
2972
2972
  }
2973
2973
  let g = (await h.offset(c * l).limit(l)).map(Kn);
2974
2974
  if (!u) return { organizations: g };
2975
- let [_] = await e.select({ count: r() }).from(H).where(m);
2975
+ let [_] = await e.select({ count: r() }).from(V).where(m);
2976
2976
  return {
2977
2977
  organizations: g,
2978
2978
  start: c * l,
@@ -2981,7 +2981,7 @@ function qn(e) {
2981
2981
  };
2982
2982
  },
2983
2983
  async remove(n, r) {
2984
- return (await e.delete(H).where(t(a(H.tenant_id, n), a(H.id, r))).returning()).length > 0;
2984
+ return (await e.delete(V).where(t(a(V.tenant_id, n), a(V.id, r))).returning()).length > 0;
2985
2985
  }
2986
2986
  };
2987
2987
  }
@@ -3625,7 +3625,7 @@ function Sr(e) {
3625
3625
  async assign(t, n, r) {
3626
3626
  if (r.length === 0) return !0;
3627
3627
  let i = (/* @__PURE__ */ new Date()).toISOString();
3628
- return await e.insert(Je).values(r.map((e) => ({
3628
+ return await e.insert(W).values(r.map((e) => ({
3629
3629
  tenant_id: t,
3630
3630
  role_id: n,
3631
3631
  resource_server_identifier: e.resource_server_identifier,
@@ -3634,33 +3634,52 @@ function Sr(e) {
3634
3634
  }))).onConflictDoNothing(), !0;
3635
3635
  },
3636
3636
  async list(n, r, i) {
3637
- let o = await e.select({
3638
- resource_server_identifier: Je.resource_server_identifier,
3639
- permission_name: Je.permission_name,
3640
- created_at: Je.created_at
3641
- }).from(Je).where(t(a(Je.tenant_id, n), a(Je.role_id, r))).all(), s = [...new Set(o.map((e) => e.resource_server_identifier))], c = /* @__PURE__ */ new Map();
3642
- if (s.length > 0) {
3643
- let r = await e.select({
3644
- identifier: K.identifier,
3645
- name: K.name
3646
- }).from(K).where(t(a(K.tenant_id, n), l(K.identifier, s))).all();
3647
- for (let e of r) c.set(e.identifier, e.name);
3648
- }
3649
- return o.map((e) => ({
3650
- ...e,
3651
- resource_server_name: c.get(e.resource_server_identifier) || e.resource_server_identifier
3652
- }));
3637
+ return Cr(e, n, await e.select({
3638
+ resource_server_identifier: W.resource_server_identifier,
3639
+ permission_name: W.permission_name,
3640
+ created_at: W.created_at
3641
+ }).from(W).where(t(a(W.tenant_id, n), a(W.role_id, r))).all());
3642
+ },
3643
+ async listCheckpoint(n, r, i = {}) {
3644
+ let o = {
3645
+ sortColumn: W.resource_server_identifier,
3646
+ idColumn: W.permission_name,
3647
+ sortOrder: "asc"
3648
+ }, s = At(i), { rows: c, next: l } = Nt(await e.select({
3649
+ role_id: W.role_id,
3650
+ resource_server_identifier: W.resource_server_identifier,
3651
+ permission_name: W.permission_name,
3652
+ created_at: W.created_at
3653
+ }).from(W).where(t(a(W.tenant_id, n), a(W.role_id, r), Mt(i, o))).orderBy(...jt(o)).limit(s + 1).all(), s, "resource_server_identifier", "permission_name");
3654
+ return {
3655
+ permissions: await Cr(e, n, c),
3656
+ next: l
3657
+ };
3653
3658
  },
3654
3659
  async remove(n, r, i) {
3655
3660
  if (i.length === 0) return !0;
3656
- let o = i.map((e) => t(a(Je.resource_server_identifier, e.resource_server_identifier), a(Je.permission_name, e.permission_name)));
3657
- return await e.delete(Je).where(t(a(Je.tenant_id, n), a(Je.role_id, r), v(...o))).returning(), !0;
3661
+ let o = i.map((e) => t(a(W.resource_server_identifier, e.resource_server_identifier), a(W.permission_name, e.permission_name)));
3662
+ return await e.delete(W).where(t(a(W.tenant_id, n), a(W.role_id, r), v(...o))).returning(), !0;
3658
3663
  }
3659
3664
  };
3660
3665
  }
3666
+ async function Cr(e, n, r) {
3667
+ let i = [...new Set(r.map((e) => e.resource_server_identifier))], o = /* @__PURE__ */ new Map();
3668
+ if (i.length > 0) {
3669
+ let r = await e.select({
3670
+ identifier: K.identifier,
3671
+ name: K.name
3672
+ }).from(K).where(t(a(K.tenant_id, n), l(K.identifier, i))).all();
3673
+ for (let e of r) o.set(e.identifier, e.name);
3674
+ }
3675
+ return r.map((e) => ({
3676
+ ...e,
3677
+ resource_server_name: o.get(e.resource_server_identifier) || e.resource_server_identifier
3678
+ }));
3679
+ }
3661
3680
  //#endregion
3662
3681
  //#region src/adapters/userPermissions.ts
3663
- function Cr(e) {
3682
+ function wr(e) {
3664
3683
  return {
3665
3684
  async create(t, n, r, i) {
3666
3685
  try {
@@ -3699,7 +3718,7 @@ function Cr(e) {
3699
3718
  }
3700
3719
  //#endregion
3701
3720
  //#region src/adapters/roles.ts
3702
- function wr(e) {
3721
+ function Tr(e) {
3703
3722
  let { tenant_id: t, is_system: n, metadata: r, ...i } = e;
3704
3723
  return D({
3705
3724
  ...i,
@@ -3707,7 +3726,7 @@ function wr(e) {
3707
3726
  metadata: Z(r)
3708
3727
  });
3709
3728
  }
3710
- function Tr(e) {
3729
+ function Er(e) {
3711
3730
  return {
3712
3731
  async create(t, n) {
3713
3732
  let r = (/* @__PURE__ */ new Date()).toISOString(), i = {
@@ -3720,43 +3739,43 @@ function Tr(e) {
3720
3739
  created_at: r,
3721
3740
  updated_at: r
3722
3741
  };
3723
- return await e.insert(W).values(i), wr({
3742
+ return await e.insert(U).values(i), Tr({
3724
3743
  ...i,
3725
3744
  tenant_id: t
3726
3745
  });
3727
3746
  },
3728
3747
  async get(n, r) {
3729
- let i = await e.select().from(W).where(t(a(W.tenant_id, n), a(W.id, r))).get();
3730
- return i ? wr(i) : null;
3748
+ let i = await e.select().from(U).where(t(a(U.tenant_id, n), a(U.id, r))).get();
3749
+ return i ? Tr(i) : null;
3731
3750
  },
3732
3751
  async update(n, r, i) {
3733
3752
  let o = { updated_at: (/* @__PURE__ */ new Date()).toISOString() };
3734
- return i.name !== void 0 && (o.name = i.name), i.description !== void 0 && (o.description = i.description), i.is_system !== void 0 && (o.is_system = +!!i.is_system), i.metadata !== void 0 && (o.metadata = JSON.stringify(i.metadata)), (await e.update(W).set(o).where(t(a(W.tenant_id, n), a(W.id, r))).returning()).length > 0;
3753
+ return i.name !== void 0 && (o.name = i.name), i.description !== void 0 && (o.description = i.description), i.is_system !== void 0 && (o.is_system = +!!i.is_system), i.metadata !== void 0 && (o.metadata = JSON.stringify(i.metadata)), (await e.update(U).set(o).where(t(a(U.tenant_id, n), a(U.id, r))).returning()).length > 0;
3735
3754
  },
3736
3755
  async list(o, s) {
3737
- let { page: c = 0, per_page: l = 50, include_totals: u = !1, sort: d, q: f } = s || {}, p = f ? _t(W, f, ["name"]) : void 0, m = p ? t(a(W.tenant_id, o), p) : a(W.tenant_id, o);
3756
+ let { page: c = 0, per_page: l = 50, include_totals: u = !1, sort: d, q: f } = s || {}, p = f ? _t(U, f, ["name"]) : void 0, m = p ? t(a(U.tenant_id, o), p) : a(U.tenant_id, o);
3738
3757
  if (kt(s)) {
3739
3758
  let n = {
3740
- sortColumn: W.created_at,
3741
- idColumn: W.id,
3759
+ sortColumn: U.created_at,
3760
+ idColumn: U.id,
3742
3761
  sortOrder: "desc"
3743
- }, r = At(s), { rows: i, next: a } = Nt(await e.select().from(W).where(t(m, Mt(s, n))).orderBy(...jt(n)).limit(r + 1), r, "created_at");
3762
+ }, r = At(s), { rows: i, next: a } = Nt(await e.select().from(U).where(t(m, Mt(s, n))).orderBy(...jt(n)).limit(r + 1), r, "created_at");
3744
3763
  return {
3745
- roles: i.map(wr),
3764
+ roles: i.map(Tr),
3746
3765
  start: 0,
3747
3766
  limit: r,
3748
3767
  length: i.length,
3749
3768
  next: a
3750
3769
  };
3751
3770
  }
3752
- let h = e.select().from(W).where(m).$dynamic();
3771
+ let h = e.select().from(U).where(m).$dynamic();
3753
3772
  if (d?.sort_by) {
3754
- let e = W[d.sort_by];
3773
+ let e = U[d.sort_by];
3755
3774
  e && (h = h.orderBy(d.sort_order === "desc" ? i(e) : n(e)));
3756
3775
  }
3757
- let g = (await h.offset(c * l).limit(l)).map(wr);
3776
+ let g = (await h.offset(c * l).limit(l)).map(Tr);
3758
3777
  if (!u) return { roles: g };
3759
- let [_] = await e.select({ count: r() }).from(W).where(m);
3778
+ let [_] = await e.select({ count: r() }).from(U).where(m);
3760
3779
  return {
3761
3780
  roles: g,
3762
3781
  start: c * l,
@@ -3765,13 +3784,13 @@ function Tr(e) {
3765
3784
  };
3766
3785
  },
3767
3786
  async remove(n, r) {
3768
- return (await e.delete(W).where(t(a(W.tenant_id, n), a(W.id, r))).returning()).length > 0;
3787
+ return (await e.delete(U).where(t(a(U.tenant_id, n), a(U.id, r))).returning()).length > 0;
3769
3788
  }
3770
3789
  };
3771
3790
  }
3772
3791
  //#endregion
3773
3792
  //#region src/adapters/sessions.ts
3774
- var Er = ["created_at_ts", "updated_at_ts"], Dr = [
3793
+ var Dr = ["created_at_ts", "updated_at_ts"], Or = [
3775
3794
  "expires_at_ts",
3776
3795
  "idle_expires_at_ts",
3777
3796
  "authenticated_at_ts",
@@ -3779,7 +3798,7 @@ var Er = ["created_at_ts", "updated_at_ts"], Dr = [
3779
3798
  "used_at_ts",
3780
3799
  "revoked_at_ts"
3781
3800
  ];
3782
- function Or(e) {
3801
+ function kr(e) {
3783
3802
  let { tenant_id: t, created_at_ts: n, updated_at_ts: r, expires_at_ts: i, idle_expires_at_ts: a, authenticated_at_ts: o, last_interaction_at_ts: s, used_at_ts: c, revoked_at_ts: l, device: u, clients: d, ...f } = e, p = ae({
3784
3803
  created_at_ts: n,
3785
3804
  updated_at_ts: r,
@@ -3789,7 +3808,7 @@ function Or(e) {
3789
3808
  last_interaction_at_ts: s,
3790
3809
  used_at_ts: c,
3791
3810
  revoked_at_ts: l
3792
- }, [...Er], [...Dr]);
3811
+ }, [...Dr], [...Or]);
3793
3812
  return D({
3794
3813
  ...f,
3795
3814
  ...p,
@@ -3797,10 +3816,10 @@ function Or(e) {
3797
3816
  clients: Z(d, [])
3798
3817
  });
3799
3818
  }
3800
- function kr(e, t) {
3819
+ function Ar(e, t) {
3801
3820
  return Math.max(e ?? 0, t ?? 0);
3802
3821
  }
3803
- function Ar(e) {
3822
+ function jr(e) {
3804
3823
  return {
3805
3824
  async create(n, r) {
3806
3825
  let i = Date.now(), o = {
@@ -3818,23 +3837,23 @@ function Ar(e) {
3818
3837
  last_interaction_at_ts: r.last_interaction_at ? E(r.last_interaction_at) : i,
3819
3838
  used_at_ts: E(r.used_at),
3820
3839
  revoked_at_ts: E(r.revoked_at)
3821
- }, s = [e.insert(M).values(o)], c = kr(o.expires_at_ts, o.idle_expires_at_ts);
3840
+ }, s = [e.insert(M).values(o)], c = Ar(o.expires_at_ts, o.idle_expires_at_ts);
3822
3841
  return c > 0 && o.login_session_id && s.push(e.update(P).set({
3823
3842
  expires_at_ts: c,
3824
3843
  updated_at_ts: i
3825
- }).where(t(a(P.tenant_id, n), a(P.id, o.login_session_id), m(P.expires_at_ts, c)))), await wt(e, s), Or({
3844
+ }).where(t(a(P.tenant_id, n), a(P.id, o.login_session_id), m(P.expires_at_ts, c)))), await wt(e, s), kr({
3826
3845
  ...o,
3827
3846
  tenant_id: n
3828
3847
  });
3829
3848
  },
3830
3849
  async get(n, r) {
3831
3850
  let i = await e.select().from(M).where(t(a(M.tenant_id, n), a(M.id, r))).get();
3832
- return i ? Or(i) : null;
3851
+ return i ? kr(i) : null;
3833
3852
  },
3834
3853
  async update(n, r, i) {
3835
3854
  let o = { updated_at_ts: Date.now() };
3836
3855
  i.user_id !== void 0 && (o.user_id = i.user_id), i.login_session_id !== void 0 && (o.login_session_id = i.login_session_id), i.device !== void 0 && (o.device = JSON.stringify(i.device)), i.clients !== void 0 && (o.clients = JSON.stringify(i.clients)), i.expires_at !== void 0 && (o.expires_at_ts = E(i.expires_at)), i.idle_expires_at !== void 0 && (o.idle_expires_at_ts = E(i.idle_expires_at)), i.authenticated_at !== void 0 && (o.authenticated_at_ts = E(i.authenticated_at)), i.last_interaction_at !== void 0 && (o.last_interaction_at_ts = E(i.last_interaction_at)), i.used_at !== void 0 && (o.used_at_ts = E(i.used_at)), i.revoked_at !== void 0 && (o.revoked_at_ts = E(i.revoked_at));
3837
- let s = await e.update(M).set(o).where(t(a(M.tenant_id, n), a(M.id, r))).returning(), c = kr(o.expires_at_ts, o.idle_expires_at_ts), l = s[0];
3856
+ let s = await e.update(M).set(o).where(t(a(M.tenant_id, n), a(M.id, r))).returning(), c = Ar(o.expires_at_ts, o.idle_expires_at_ts), l = s[0];
3838
3857
  if (c > 0 && l) {
3839
3858
  let r = i.login_session_id ?? l.login_session_id;
3840
3859
  r && await e.update(P).set({
@@ -3850,7 +3869,7 @@ function Ar(e) {
3850
3869
  let e = M[d.sort_by];
3851
3870
  e && (h = h.orderBy(d.sort_order === "desc" ? i(e) : n(e)));
3852
3871
  }
3853
- let g = (await h.offset(c * l).limit(l)).map(Or);
3872
+ let g = (await h.offset(c * l).limit(l)).map(kr);
3854
3873
  if (!u) return { sessions: g };
3855
3874
  let [_] = await e.select({ count: r() }).from(M).where(m);
3856
3875
  return {
@@ -3867,7 +3886,7 @@ function Ar(e) {
3867
3886
  }
3868
3887
  //#endregion
3869
3888
  //#region src/adapters/tenants.ts
3870
- var jr = [
3889
+ var Mr = [
3871
3890
  "session_cookie",
3872
3891
  "enabled_locales",
3873
3892
  "error_page",
@@ -3883,25 +3902,25 @@ var jr = [
3883
3902
  "acr_values_supported",
3884
3903
  "mtls",
3885
3904
  "mfa"
3886
- ], Mr = [
3905
+ ], Nr = [
3887
3906
  "allow_organization_name_in_authentication_api",
3888
3907
  "customize_mfa_in_postlogin_action",
3889
3908
  "pushed_authorization_requests_supported",
3890
3909
  "authorization_response_iss_parameter_supported"
3891
3910
  ];
3892
- function Nr(e) {
3911
+ function Pr(e) {
3893
3912
  let t = { ...e };
3894
- for (let e of jr) typeof t[e] == "string" && (t[e] = Z(t[e]));
3895
- for (let e of Mr) t[e] !== void 0 && t[e] !== null && (t[e] = t[e] === 1);
3913
+ for (let e of Mr) typeof t[e] == "string" && (t[e] = Z(t[e]));
3914
+ for (let e of Nr) t[e] !== void 0 && t[e] !== null && (t[e] = t[e] === 1);
3896
3915
  return D(t);
3897
3916
  }
3898
- function Pr(e) {
3917
+ function Fr(e) {
3899
3918
  let t = { ...e };
3900
- le(e, jr, t);
3901
- for (let n of Mr) e[n] !== void 0 && (t[n] = +!!e[n]);
3919
+ le(e, Mr, t);
3920
+ for (let n of Nr) e[n] !== void 0 && (t[n] = +!!e[n]);
3902
3921
  return ce(t);
3903
3922
  }
3904
- function Fr(e) {
3923
+ function Ir(e) {
3905
3924
  return {
3906
3925
  async create(t) {
3907
3926
  let n = {
@@ -3909,7 +3928,7 @@ function Fr(e) {
3909
3928
  created_at: (/* @__PURE__ */ new Date()).toISOString(),
3910
3929
  updated_at: (/* @__PURE__ */ new Date()).toISOString(),
3911
3930
  ...t
3912
- }, r = Pr(n);
3931
+ }, r = Fr(n);
3913
3932
  try {
3914
3933
  await e.insert(O).values(r);
3915
3934
  } catch (e) {
@@ -3920,7 +3939,7 @@ function Fr(e) {
3920
3939
  },
3921
3940
  async get(t) {
3922
3941
  let n = await e.select().from(O).where(a(O.id, t)).get();
3923
- return n ? Nr(n) : null;
3942
+ return n ? Pr(n) : null;
3924
3943
  },
3925
3944
  async list(t) {
3926
3945
  let { page: a = 0, per_page: o = 50, include_totals: s = !1, sort: c, q: l } = t || {}, u = l ? _t(O, l, ["friendly_name"]) : void 0, d = e.select().from(O).$dynamic();
@@ -3928,7 +3947,7 @@ function Fr(e) {
3928
3947
  let e = O[c.sort_by];
3929
3948
  e && (d = d.orderBy(c.sort_order === "desc" ? i(e) : n(e)));
3930
3949
  }
3931
- let f = (await d.offset(a * o).limit(o)).map(Nr);
3950
+ let f = (await d.offset(a * o).limit(o)).map(Pr);
3932
3951
  if (!s) return { tenants: f };
3933
3952
  let p = e.select({ count: r() }).from(O).$dynamic();
3934
3953
  u && (p = p.where(u));
@@ -3941,7 +3960,7 @@ function Fr(e) {
3941
3960
  };
3942
3961
  },
3943
3962
  async update(t, n) {
3944
- let r = Pr({
3963
+ let r = Fr({
3945
3964
  ...n,
3946
3965
  id: t,
3947
3966
  updated_at: (/* @__PURE__ */ new Date()).toISOString()
@@ -3955,18 +3974,18 @@ function Fr(e) {
3955
3974
  }
3956
3975
  //#endregion
3957
3976
  //#region src/adapters/themes.ts
3958
- var Ir = [
3977
+ var Lr = [
3959
3978
  "colors",
3960
3979
  "borders",
3961
3980
  "fonts",
3962
3981
  "page_background",
3963
3982
  "widget"
3964
3983
  ];
3965
- function Lr(e) {
3966
- let { tenant_id: t, ...n } = e, r = mt(n, Ir);
3984
+ function Rr(e) {
3985
+ let { tenant_id: t, ...n } = e, r = mt(n, Lr);
3967
3986
  return r.borders && (r.borders.show_widget_shadow = !!r.borders.show_widget_shadow), r.fonts && (r.fonts.body_text_bold = !!r.fonts.body_text_bold, r.fonts.buttons_text_bold = !!r.fonts.buttons_text_bold, r.fonts.input_labels_bold = !!r.fonts.input_labels_bold, r.fonts.links_bold = !!r.fonts.links_bold, r.fonts.subtitle_bold = !!r.fonts.subtitle_bold, r.fonts.title_bold = !!r.fonts.title_bold), D(r);
3968
3987
  }
3969
- function Rr(e) {
3988
+ function zr(e) {
3970
3989
  return {
3971
3990
  async create(t, n, r, i) {
3972
3991
  let a = i?.importMetadata, o = (/* @__PURE__ */ new Date()).toISOString(), s = a?.id || r || b(), c = {
@@ -3976,14 +3995,14 @@ function Rr(e) {
3976
3995
  created_at: a?.created_at ?? o,
3977
3996
  updated_at: a?.updated_at ?? o
3978
3997
  };
3979
- return await e.insert(Qe).values(c), Lr({
3998
+ return await e.insert(Qe).values(c), Rr({
3980
3999
  ...c,
3981
4000
  tenant_id: t
3982
4001
  });
3983
4002
  },
3984
4003
  async get(n, r) {
3985
4004
  let i = await e.select().from(Qe).where(t(a(Qe.tenant_id, n), a(Qe.themeId, r))).get();
3986
- return i ? Lr(i) : null;
4005
+ return i ? Rr(i) : null;
3987
4006
  },
3988
4007
  async update(n, r, i) {
3989
4008
  let o = pt(i);
@@ -3996,7 +4015,7 @@ function Rr(e) {
3996
4015
  }
3997
4016
  //#endregion
3998
4017
  //#region src/adapters/universalLoginTemplates.ts
3999
- function zr(e) {
4018
+ function Br(e) {
4000
4019
  return {
4001
4020
  async get(t) {
4002
4021
  let n = await e.select({ body: Ze.body }).from(Ze).where(a(Ze.tenant_id, t)).get();
@@ -4024,11 +4043,11 @@ function zr(e) {
4024
4043
  }
4025
4044
  //#endregion
4026
4045
  //#region src/adapters/userActivity.ts
4027
- function Br(e) {
4046
+ function Vr(e) {
4028
4047
  let t = {};
4029
4048
  return e.last_login !== void 0 && (t.last_login = e.last_login), e.last_ip !== void 0 && (t.last_ip = e.last_ip), e.login_count !== void 0 && (t.login_count = e.login_count), e.failed_logins !== void 0 && (t.failed_logins = JSON.stringify(e.failed_logins)), e.last_password_reset !== void 0 && (t.last_password_reset = e.last_password_reset), t;
4030
4049
  }
4031
- function Vr(e) {
4050
+ function Hr(e) {
4032
4051
  return {
4033
4052
  async get(n, r) {
4034
4053
  let i = await e.select().from(He).where(t(a(He.tenant_id, n), a(He.user_id, r))).get();
@@ -4042,7 +4061,7 @@ function Vr(e) {
4042
4061
  } : null;
4043
4062
  },
4044
4063
  async upsert(t, n, r) {
4045
- let i = Br(r), a = e.insert(He).values({
4064
+ let i = Vr(r), a = e.insert(He).values({
4046
4065
  tenant_id: t,
4047
4066
  user_id: n,
4048
4067
  login_count: 0,
@@ -4061,13 +4080,13 @@ function Vr(e) {
4061
4080
  }
4062
4081
  //#endregion
4063
4082
  //#region src/adapters/outbox.ts
4064
- function Hr(e) {
4083
+ function Ur(e) {
4065
4084
  return {
4066
4085
  ...e,
4067
4086
  payload: Z(e.payload, {})
4068
4087
  };
4069
4088
  }
4070
- function Ur(e, t, n, r) {
4089
+ function Wr(e, t, n, r) {
4071
4090
  return e.insert(J).values({
4072
4091
  id: t,
4073
4092
  tenant_id: n,
@@ -4088,18 +4107,18 @@ function Ur(e, t, n, r) {
4088
4107
  claim_expires_at: null
4089
4108
  });
4090
4109
  }
4091
- function Wr(e) {
4110
+ function Gr(e) {
4092
4111
  return {
4093
4112
  async create(t, n) {
4094
4113
  let r = b();
4095
- return await Ur(e, r, t, n), r;
4114
+ return await Wr(e, r, t, n), r;
4096
4115
  },
4097
4116
  async getByIds(t) {
4098
- return t.length === 0 ? [] : (await e.select().from(J).where(l(J.id, t)).all()).map(Hr);
4117
+ return t.length === 0 ? [] : (await e.select().from(J).where(l(J.id, t)).all()).map(Ur);
4099
4118
  },
4100
4119
  async getUnprocessed(n) {
4101
4120
  let r = (/* @__PURE__ */ new Date()).toISOString();
4102
- return (await e.select().from(J).where(t(f(J.processed_at), v(f(J.next_retry_at), h(J.next_retry_at, r)), v(f(J.claimed_by), h(J.claim_expires_at, r)))).orderBy(J.created_at, J.id).limit(n).all()).map(Hr);
4121
+ return (await e.select().from(J).where(t(f(J.processed_at), v(f(J.next_retry_at), h(J.next_retry_at, r)), v(f(J.claimed_by), h(J.claim_expires_at, r)))).orderBy(J.created_at, J.id).limit(n).all()).map(Ur);
4103
4122
  },
4104
4123
  async claimEvents(n, r, i) {
4105
4124
  if (n.length === 0) return [];
@@ -4166,15 +4185,18 @@ function Wr(e) {
4166
4185
  claimed_by: null,
4167
4186
  claim_expires_at: null
4168
4187
  }).where(t(a(J.id, n), a(J.tenant_id, r), d(J.dead_lettered_at))).returning()).length > 0;
4188
+ },
4189
+ async discard(n, r) {
4190
+ return (await e.delete(J).where(t(a(J.id, n), a(J.tenant_id, r), d(J.dead_lettered_at))).returning({ id: J.id })).length > 0;
4169
4191
  }
4170
4192
  };
4171
4193
  }
4172
4194
  //#endregion
4173
4195
  //#region src/adapters/users.ts
4174
- function Gr(e, t, n) {
4175
- return (n?.outboxEvents ?? []).map((n) => Ur(e, n.id, t, n));
4196
+ function Kr(e, t, n) {
4197
+ return (n?.outboxEvents ?? []).map((n) => Wr(e, n.id, t, n));
4176
4198
  }
4177
- var Kr = [
4199
+ var qr = [
4178
4200
  "user_id",
4179
4201
  "email",
4180
4202
  "email_verified",
@@ -4196,23 +4218,23 @@ var Kr = [
4196
4218
  "login_count",
4197
4219
  "created_at",
4198
4220
  "updated_at"
4199
- ], qr = [
4221
+ ], Jr = [
4200
4222
  "email",
4201
4223
  "name",
4202
4224
  "phone_number",
4203
4225
  "user_id"
4204
- ], Jr = new Set([
4226
+ ], Yr = new Set([
4205
4227
  "last_login",
4206
4228
  "last_ip",
4207
4229
  "login_count"
4208
- ]), Yr = o(A), Xr = o(He), Zr = Object.fromEntries(Kr.map((e) => [e, e === "login_count" ? {
4230
+ ]), Xr = o(A), Zr = o(He), Qr = Object.fromEntries(qr.map((e) => [e, e === "login_count" ? {
4209
4231
  coalesce: He.login_count,
4210
4232
  defaultValue: 0
4211
- } : Jr.has(e) ? Xr[e] : Yr[e]]));
4212
- function Qr() {
4233
+ } : Yr.has(e) ? Zr[e] : Xr[e]]));
4234
+ function $r() {
4213
4235
  return t(a(He.tenant_id, A.tenant_id), a(He.user_id, A.user_id));
4214
4236
  }
4215
- function $r(e, t) {
4237
+ function ei(e, t) {
4216
4238
  return {
4217
4239
  ...e,
4218
4240
  last_login: t?.last_login,
@@ -4220,7 +4242,7 @@ function $r(e, t) {
4220
4242
  login_count: t?.login_count ?? 0
4221
4243
  };
4222
4244
  }
4223
- function ei(e, t) {
4245
+ function ti(e, t) {
4224
4246
  let n = {
4225
4247
  connection: e.connection,
4226
4248
  provider: e.provider,
@@ -4233,8 +4255,8 @@ function ei(e, t) {
4233
4255
  ...typeof e.profileData == "string" ? Z(e.profileData, {}) : {}
4234
4256
  }, n;
4235
4257
  }
4236
- function ti(e, t = []) {
4237
- let { tenant_id: n, app_metadata: r, user_metadata: i, address: a, email_verified: o, phone_verified: s, is_social: c, blocked: l, linked_to: u, profileData: d, ...f } = e, p = ei(e, !0), m = t.map((e) => ei(e, !1));
4258
+ function ni(e, t = []) {
4259
+ let { tenant_id: n, app_metadata: r, user_metadata: i, address: a, email_verified: o, phone_verified: s, is_social: c, blocked: l, linked_to: u, profileData: d, ...f } = e, p = ti(e, !0), m = t.map((e) => ti(e, !1));
4238
4260
  return D({
4239
4261
  ...f,
4240
4262
  email: e.email || "",
@@ -4248,7 +4270,7 @@ function ti(e, t = []) {
4248
4270
  identities: [p, ...m]
4249
4271
  });
4250
4272
  }
4251
- function ni(e) {
4273
+ function ri(e) {
4252
4274
  let o = async (t, n, r) => {
4253
4275
  let i = (/* @__PURE__ */ new Date()).toISOString(), a = {
4254
4276
  user_id: n.user_id,
@@ -4302,12 +4324,12 @@ function ni(e) {
4302
4324
  created_at: i,
4303
4325
  updated_at: i
4304
4326
  }));
4305
- for (let n of Gr(e, t, r)) c.push(n);
4327
+ for (let n of Kr(e, t, r)) c.push(n);
4306
4328
  c.length > 1 ? await wt(e, c) : await e.insert(A).values(a);
4307
4329
  } catch (e) {
4308
4330
  throw e?.message?.includes("UNIQUE constraint") || e?.message?.includes("AlreadyExists") ? new Le(409, { message: "User already exists" }) : (console.error("User upsert failed:", e?.code, e?.message), new Le(500, { message: "Internal server error" }));
4309
4331
  }
4310
- return ti({
4332
+ return ni({
4311
4333
  ...a,
4312
4334
  last_login: n.last_login,
4313
4335
  last_ip: n.last_ip,
@@ -4318,10 +4340,10 @@ function ni(e) {
4318
4340
  create: o,
4319
4341
  rawCreate: o,
4320
4342
  async get(n, r) {
4321
- let i = await e.select().from(A).leftJoin(He, Qr()).where(t(a(A.tenant_id, n), a(A.user_id, r))).get();
4343
+ let i = await e.select().from(A).leftJoin(He, $r()).where(t(a(A.tenant_id, n), a(A.user_id, r))).get();
4322
4344
  if (!i) return null;
4323
4345
  let o = await e.select().from(A).where(t(a(A.tenant_id, n), a(A.linked_to, r))).all();
4324
- return ti($r(i.users, i.user_activity), o);
4346
+ return ni(ei(i.users, i.user_activity), o);
4325
4347
  },
4326
4348
  async update(n, r, i, o) {
4327
4349
  let s = { updated_at: (/* @__PURE__ */ new Date()).toISOString() };
@@ -4348,8 +4370,8 @@ function ni(e) {
4348
4370
  "zoneinfo"
4349
4371
  ]) i[e] !== void 0 && (s[e] = i[e]);
4350
4372
  i.email_verified !== void 0 && (s.email_verified = i.email_verified), i.phone_verified !== void 0 && (s.phone_verified = i.phone_verified), i.is_social !== void 0 && (s.is_social = i.is_social), i.blocked !== void 0 && (s.blocked = i.blocked), i.app_metadata !== void 0 && (s.app_metadata = JSON.stringify(i.app_metadata)), i.user_metadata !== void 0 && (s.user_metadata = JSON.stringify(i.user_metadata)), i.address !== void 0 && (s.address = JSON.stringify(i.address)), i.profileData !== void 0 && (s.profileData = JSON.stringify(i.profileData));
4351
- let c = e.update(A).set(s).where(t(a(A.tenant_id, n), a(A.user_id, r))).returning(), l = Gr(e, n, o), u;
4352
- return u = l.length > 0 ? (await wt(e, [c, ...l]))[0] : await c, !Array.isArray(u) || u.length === 0 ? !1 : ((i.last_login !== void 0 || i.last_ip !== void 0 || i.login_count !== void 0) && await Vr(e).upsert(n, r, {
4373
+ let c = e.update(A).set(s).where(t(a(A.tenant_id, n), a(A.user_id, r))).returning(), l = Kr(e, n, o), u;
4374
+ return u = l.length > 0 ? (await wt(e, [c, ...l]))[0] : await c, !Array.isArray(u) || u.length === 0 ? !1 : ((i.last_login !== void 0 || i.last_ip !== void 0 || i.login_count !== void 0) && await Hr(e).upsert(n, r, {
4353
4375
  last_login: i.last_login,
4354
4376
  last_ip: i.last_ip,
4355
4377
  login_count: i.login_count
@@ -4358,15 +4380,15 @@ function ni(e) {
4358
4380
  async list(o, s) {
4359
4381
  let { page: c = 0, per_page: u = 50, include_totals: d = !1, sort: p, q: m } = s || {}, h = [a(A.tenant_id, o), f(A.linked_to)];
4360
4382
  if (m) {
4361
- let e = Te(m, Kr);
4383
+ let e = Te(m, qr);
4362
4384
  if (e) {
4363
- let t = _t(Zr, e, qr);
4385
+ let t = _t(Qr, e, Jr);
4364
4386
  t && h.push(t);
4365
4387
  }
4366
4388
  }
4367
4389
  let g = t(...h), _ = async (n) => {
4368
4390
  let r = n.map((e) => e.user_id), i = r.length > 0 ? await e.select().from(A).where(t(a(A.tenant_id, o), l(A.linked_to, r))) : [];
4369
- return n.map((e) => ti(e, i.filter((t) => t.linked_to === e.user_id)));
4391
+ return n.map((e) => ni(e, i.filter((t) => t.linked_to === e.user_id)));
4370
4392
  };
4371
4393
  if (kt(s)) {
4372
4394
  if (p?.sort_by && p.sort_by !== "created_at") throw new Le(400, { message: `Sorting by ${p.sort_by} is not supported with checkpoint pagination (from/take); only created_at is` });
@@ -4375,7 +4397,7 @@ function ni(e) {
4375
4397
  idColumn: A.user_id,
4376
4398
  sortOrder: n,
4377
4399
  sortKey: `created_at:${n}`
4378
- }, i = At(s), a = Mt(s, r), { rows: o, next: c } = Nt((await e.select().from(A).leftJoin(He, Qr()).where(a ? t(g, a) : g).orderBy(...jt(r)).limit(i + 1)).map((e) => $r(e.users, e.user_activity)), i, "created_at", "user_id", r.sortKey), l = await _(o);
4400
+ }, i = At(s), a = Mt(s, r), { rows: o, next: c } = Nt((await e.select().from(A).leftJoin(He, $r()).where(a ? t(g, a) : g).orderBy(...jt(r)).limit(i + 1)).map((e) => ei(e.users, e.user_activity)), i, "created_at", "user_id", r.sortKey), l = await _(o);
4379
4401
  return {
4380
4402
  users: l,
4381
4403
  start: 0,
@@ -4384,15 +4406,15 @@ function ni(e) {
4384
4406
  next: c
4385
4407
  };
4386
4408
  }
4387
- let v = e.select().from(A).leftJoin(He, Qr()).where(g).$dynamic();
4409
+ let v = e.select().from(A).leftJoin(He, $r()).where(g).$dynamic();
4388
4410
  if (p?.sort_by) {
4389
- let e = Zr[p.sort_by];
4411
+ let e = Qr[p.sort_by];
4390
4412
  if (e) {
4391
4413
  let t = ht(e) ? gt(e) : e;
4392
4414
  v = v.orderBy(p.sort_order === "desc" ? i(t) : n(t));
4393
4415
  }
4394
4416
  }
4395
- let [y, ee] = await Promise.all([v.offset(c * u).limit(u), d ? e.select({ count: r() }).from(A).leftJoin(He, Qr()).where(g) : void 0]), b = await _(y.map((e) => $r(e.users, e.user_activity)));
4417
+ let [y, ee] = await Promise.all([v.offset(c * u).limit(u), d ? e.select({ count: r() }).from(A).leftJoin(He, $r()).where(g) : void 0]), b = await _(y.map((e) => ei(e.users, e.user_activity)));
4396
4418
  if (!ee) return { users: b };
4397
4419
  let [te] = ee;
4398
4420
  return {
@@ -4410,7 +4432,7 @@ function ni(e) {
4410
4432
  e.delete(A).where(t(a(A.tenant_id, n), l(A.user_id, c))),
4411
4433
  e.delete(A).where(t(a(A.tenant_id, n), a(A.user_id, r))).returning()
4412
4434
  ], f = d.length - 1;
4413
- if (s) for (let t of Gr(e, n, i)) d.push(t);
4435
+ if (s) for (let t of Kr(e, n, i)) d.push(t);
4414
4436
  let p = (await wt(e, d))[f];
4415
4437
  return Array.isArray(p) && p.length > 0;
4416
4438
  },
@@ -4422,7 +4444,7 @@ function ni(e) {
4422
4444
  }
4423
4445
  //#endregion
4424
4446
  //#region src/adapters/userRoles.ts
4425
- function ri(e) {
4447
+ function ii(e) {
4426
4448
  return {
4427
4449
  async create(t, n, r, i) {
4428
4450
  try {
@@ -4444,7 +4466,7 @@ function ri(e) {
4444
4466
  o !== void 0 && s.push(a(G.organization_id, o));
4445
4467
  let c = await e.select({ role_id: G.role_id }).from(G).where(t(...s)).all();
4446
4468
  return c.length === 0 ? [] : (await Promise.all(c.map(async (r) => {
4447
- let i = await e.select().from(W).where(t(a(W.tenant_id, n), a(W.id, r.role_id))).get();
4469
+ let i = await e.select().from(U).where(t(a(U.tenant_id, n), a(U.id, r.role_id))).get();
4448
4470
  if (!i) return null;
4449
4471
  let { tenant_id: o, is_system: s, metadata: c, ...l } = i;
4450
4472
  return D({
@@ -4485,7 +4507,7 @@ function ri(e) {
4485
4507
  }
4486
4508
  //#endregion
4487
4509
  //#region src/adapters/userOrganizations.ts
4488
- function ii(e) {
4510
+ function ai(e) {
4489
4511
  return {
4490
4512
  async create(t, n) {
4491
4513
  let r = (/* @__PURE__ */ new Date()).toISOString(), i = {
@@ -4497,7 +4519,7 @@ function ii(e) {
4497
4519
  updated_at: r
4498
4520
  };
4499
4521
  try {
4500
- await e.insert(U).values(i);
4522
+ await e.insert(H).values(i);
4501
4523
  } catch (e) {
4502
4524
  throw e?.message?.includes("UNIQUE constraint") || e?.message?.includes("duplicate key") ? new Le(409, { message: "User organization already exists" }) : e;
4503
4525
  }
@@ -4505,19 +4527,19 @@ function ii(e) {
4505
4527
  return o;
4506
4528
  },
4507
4529
  async get(n, r) {
4508
- let i = await e.select().from(U).where(t(a(U.tenant_id, n), a(U.id, r))).get();
4530
+ let i = await e.select().from(H).where(t(a(H.tenant_id, n), a(H.id, r))).get();
4509
4531
  if (!i) return null;
4510
4532
  let { tenant_id: o, ...s } = i;
4511
4533
  return s;
4512
4534
  },
4513
4535
  async update(n, r, i) {
4514
4536
  let o = { updated_at: (/* @__PURE__ */ new Date()).toISOString() };
4515
- return i.user_id !== void 0 && (o.user_id = i.user_id), i.organization_id !== void 0 && (o.organization_id = i.organization_id), (await e.update(U).set(o).where(t(a(U.tenant_id, n), a(U.id, r))).returning()).length > 0;
4537
+ return i.user_id !== void 0 && (o.user_id = i.user_id), i.organization_id !== void 0 && (o.organization_id = i.organization_id), (await e.update(H).set(o).where(t(a(H.tenant_id, n), a(H.id, r))).returning()).length > 0;
4516
4538
  },
4517
4539
  async list(n, o) {
4518
- let { include_totals: s = !1, q: c } = o || {}, l = a(U.tenant_id, n), u = l;
4540
+ let { include_totals: s = !1, q: c } = o || {}, l = a(H.tenant_id, n), u = l;
4519
4541
  if (c) {
4520
- let e = _t(U, c, ["user_id", "organization_id"]);
4542
+ let e = _t(H, c, ["user_id", "organization_id"]);
4521
4543
  e && (u = t(l, e));
4522
4544
  }
4523
4545
  let d = (e) => {
@@ -4526,10 +4548,10 @@ function ii(e) {
4526
4548
  };
4527
4549
  if (kt(o)) {
4528
4550
  let n = {
4529
- sortColumn: U.created_at,
4530
- idColumn: U.id,
4551
+ sortColumn: H.created_at,
4552
+ idColumn: H.id,
4531
4553
  sortOrder: "desc"
4532
- }, r = Mt(o, n), i = At(o), { rows: a, next: s } = Nt((await e.select().from(U).where(r ? t(u, r) : u).orderBy(...jt(n)).limit(i + 1)).map(d), i, "created_at");
4554
+ }, r = Mt(o, n), i = At(o), { rows: a, next: s } = Nt((await e.select().from(H).where(r ? t(u, r) : u).orderBy(...jt(n)).limit(i + 1)).map(d), i, "created_at");
4533
4555
  return {
4534
4556
  userOrganizations: a,
4535
4557
  start: 0,
@@ -4538,9 +4560,9 @@ function ii(e) {
4538
4560
  next: s
4539
4561
  };
4540
4562
  }
4541
- let f = o?.page ?? 0, p = o?.per_page ?? 50, m = f * p, h = (await e.select().from(U).where(u).orderBy(i(U.created_at), i(U.id)).offset(m).limit(p)).map(d);
4563
+ let f = o?.page ?? 0, p = o?.per_page ?? 50, m = f * p, h = (await e.select().from(H).where(u).orderBy(i(H.created_at), i(H.id)).offset(m).limit(p)).map(d);
4542
4564
  if (!s) return { userOrganizations: h };
4543
- let [g] = await e.select({ count: r() }).from(U).where(u);
4565
+ let [g] = await e.select({ count: r() }).from(H).where(u);
4544
4566
  return {
4545
4567
  userOrganizations: h,
4546
4568
  start: m,
@@ -4549,8 +4571,8 @@ function ii(e) {
4549
4571
  };
4550
4572
  },
4551
4573
  async listUserOrganizations(n, i, o) {
4552
- let { page: s = 0, per_page: c = 50, include_totals: l = !1 } = o || {}, u = await e.select().from(U).where(t(a(U.tenant_id, n), a(U.user_id, i))).offset(s * c).limit(c).all(), d = (await Promise.all(u.map(async (r) => {
4553
- let i = await e.select().from(H).where(t(a(H.tenant_id, n), a(H.id, r.organization_id))).get();
4574
+ let { page: s = 0, per_page: c = 50, include_totals: l = !1 } = o || {}, u = await e.select().from(H).where(t(a(H.tenant_id, n), a(H.user_id, i))).offset(s * c).limit(c).all(), d = (await Promise.all(u.map(async (r) => {
4575
+ let i = await e.select().from(V).where(t(a(V.tenant_id, n), a(V.id, r.organization_id))).get();
4554
4576
  if (!i) return null;
4555
4577
  let { tenant_id: o, branding: s, metadata: c, enabled_connections: l, token_quota: u, ...d } = i;
4556
4578
  return D({
@@ -4562,7 +4584,7 @@ function ii(e) {
4562
4584
  });
4563
4585
  }))).filter(Boolean);
4564
4586
  if (!l) return { organizations: d };
4565
- let [f] = await e.select({ count: r() }).from(U).where(t(a(U.tenant_id, n), a(U.user_id, i)));
4587
+ let [f] = await e.select({ count: r() }).from(H).where(t(a(H.tenant_id, n), a(H.user_id, i)));
4566
4588
  return {
4567
4589
  organizations: d,
4568
4590
  start: s * c,
@@ -4571,25 +4593,25 @@ function ii(e) {
4571
4593
  };
4572
4594
  },
4573
4595
  async remove(n, r) {
4574
- return (await e.delete(U).where(t(a(U.tenant_id, n), a(U.id, r))).returning()).length > 0;
4596
+ return (await e.delete(H).where(t(a(H.tenant_id, n), a(H.id, r))).returning()).length > 0;
4575
4597
  }
4576
4598
  };
4577
4599
  }
4578
4600
  //#endregion
4579
4601
  //#region src/adapters/stats.ts
4580
- var ai = ["s"], oi = ["pwd_leak"];
4581
- function si(e) {
4602
+ var oi = ["s"], si = ["pwd_leak"];
4603
+ function ci(e) {
4582
4604
  return /^\d{8}$/.test(e) ? `${e.slice(0, 4)}-${e.slice(4, 6)}-${e.slice(6, 8)}` : e;
4583
4605
  }
4584
- function ci(e) {
4606
+ function li(e) {
4585
4607
  return {
4586
4608
  async getDaily(n, r) {
4587
- let i = /* @__PURE__ */ new Date(), o = r?.from ? si(r.from) : (/* @__PURE__ */ new Date(i.getTime() - 720 * 60 * 60 * 1e3)).toISOString().split("T")[0], s = r?.to ? si(r.to) : i.toISOString().split("T")[0];
4609
+ let i = /* @__PURE__ */ new Date(), o = r?.from ? ci(r.from) : (/* @__PURE__ */ new Date(i.getTime() - 720 * 60 * 60 * 1e3)).toISOString().split("T")[0], s = r?.to ? ci(r.to) : i.toISOString().split("T")[0];
4588
4610
  return (await e.select({
4589
4611
  date: y`substr(${q.date}, 1, 10)`.as("date"),
4590
- logins: y`SUM(CASE WHEN ${q.type} IN (${y.join(ai.map((e) => y`${e}`), y`, `)}) THEN 1 ELSE 0 END)`.as("logins"),
4612
+ logins: y`SUM(CASE WHEN ${q.type} IN (${y.join(oi.map((e) => y`${e}`), y`, `)}) THEN 1 ELSE 0 END)`.as("logins"),
4591
4613
  signups: y`SUM(CASE WHEN ${q.type} = 'ss' THEN 1 ELSE 0 END)`.as("signups"),
4592
- leaked_passwords: y`SUM(CASE WHEN ${q.type} IN (${y.join(oi.map((e) => y`${e}`), y`, `)}) THEN 1 ELSE 0 END)`.as("leaked_passwords")
4614
+ leaked_passwords: y`SUM(CASE WHEN ${q.type} IN (${y.join(si.map((e) => y`${e}`), y`, `)}) THEN 1 ELSE 0 END)`.as("leaked_passwords")
4593
4615
  }).from(q).where(t(a(q.tenant_id, n), c(q.date, o), h(q.date, `${s}T23:59:59.999Z`))).groupBy(y`substr(${q.date}, 1, 10)`).orderBy(y`substr(${q.date}, 1, 10)`).all()).map((e) => ({
4594
4616
  date: e.date,
4595
4617
  logins: Number(e.logins) || 0,
@@ -4600,14 +4622,14 @@ function ci(e) {
4600
4622
  }));
4601
4623
  },
4602
4624
  async getActiveUsers(n) {
4603
- let r = (/* @__PURE__ */ new Date(Date.now() - 720 * 60 * 60 * 1e3)).toISOString(), [i] = await e.select({ count: y`COUNT(DISTINCT ${q.user_id})`.as("count") }).from(q).where(t(a(q.tenant_id, n), c(q.date, r), y`${q.type} IN (${y.join(ai.map((e) => y`${e}`), y`, `)})`));
4625
+ let r = (/* @__PURE__ */ new Date(Date.now() - 720 * 60 * 60 * 1e3)).toISOString(), [i] = await e.select({ count: y`COUNT(DISTINCT ${q.user_id})`.as("count") }).from(q).where(t(a(q.tenant_id, n), c(q.date, r), y`${q.type} IN (${y.join(oi.map((e) => y`${e}`), y`, `)})`));
4604
4626
  return Number(i?.count) || 0;
4605
4627
  }
4606
4628
  };
4607
4629
  }
4608
4630
  //#endregion
4609
4631
  //#region src/adapters/analytics.ts
4610
- var li = {
4632
+ var ui = {
4611
4633
  "active-users": ["s", "seacft"],
4612
4634
  logins: [
4613
4635
  "s",
@@ -4637,7 +4659,7 @@ var li = {
4637
4659
  "fvr"
4638
4660
  ],
4639
4661
  "codes-sent": ["cls", "cs"]
4640
- }, ui = {
4662
+ }, di = {
4641
4663
  "active-users": {
4642
4664
  alias: "active_users",
4643
4665
  type: "UInt64",
@@ -4694,7 +4716,7 @@ var li = {
4694
4716
  agg: "count"
4695
4717
  }
4696
4718
  };
4697
- function di(e) {
4719
+ function fi(e) {
4698
4720
  switch (e) {
4699
4721
  case "hour": return y`substr(${q.date}, 1, 13)`;
4700
4722
  case "month": return y`substr(${q.date}, 1, 7)`;
@@ -4703,10 +4725,10 @@ function di(e) {
4703
4725
  default: throw Error(`Unsupported interval '${e}' for SQL analytics adapter`);
4704
4726
  }
4705
4727
  }
4706
- function fi(e) {
4728
+ function pi(e) {
4707
4729
  return `"${e.replace(/"/g, "\"\"")}"`;
4708
4730
  }
4709
- function pi(e) {
4731
+ function mi(e) {
4710
4732
  switch (e) {
4711
4733
  case "connection": return q.connection;
4712
4734
  case "client_id": return q.client_id;
@@ -4715,10 +4737,10 @@ function pi(e) {
4715
4737
  case "time": throw Error("time dimension handled separately");
4716
4738
  }
4717
4739
  }
4718
- function mi(e) {
4740
+ function hi(e) {
4719
4741
  return {
4720
4742
  async query(n, r, i) {
4721
- let o = Date.now(), s = li[r], u = ui[r], d = [
4743
+ let o = Date.now(), s = ui[r], u = di[r], d = [
4722
4744
  a(q.tenant_id, n),
4723
4745
  c(q.date, i.from),
4724
4746
  m(q.date, i.to),
@@ -4727,13 +4749,13 @@ function mi(e) {
4727
4749
  i.filters.connection?.length && d.push(l(q.connection, i.filters.connection)), i.filters.client_id?.length && d.push(l(q.client_id, i.filters.client_id)), i.filters.user_type?.length && d.push(l(q.strategy_type, i.filters.user_type)), i.filters.user_id?.length && d.push(l(q.user_id, i.filters.user_id));
4728
4750
  let f = {}, p = [], h = [];
4729
4751
  for (let e of i.group_by) if (e === "time") {
4730
- let e = di(i.interval);
4752
+ let e = fi(i.interval);
4731
4753
  f.time = e, p.push(e), h.push({
4732
4754
  name: "time",
4733
4755
  type: i.interval === "hour" ? "DateTime" : "Date"
4734
4756
  });
4735
4757
  } else {
4736
- let t = pi(e);
4758
+ let t = mi(e);
4737
4759
  f[e] = t, p.push(t), h.push({
4738
4760
  name: e,
4739
4761
  type: "String"
@@ -4749,9 +4771,9 @@ function mi(e) {
4749
4771
  if (i.order_by) {
4750
4772
  let e = i.order_by.startsWith("-"), t = e ? i.order_by.slice(1) : i.order_by;
4751
4773
  if (!_.has(t)) throw Error(`Invalid order_by column '${t}' for analytics query`);
4752
- let n = fi(t);
4774
+ let n = pi(t);
4753
4775
  g = g.orderBy(y.raw(`${n} ${e ? "DESC" : "ASC"}`));
4754
- } else g = i.group_by[0] === "time" ? g.orderBy(y.raw(`${fi("time")} ASC`)) : g.orderBy(y.raw(`${fi(u.alias)} DESC`));
4776
+ } else g = i.group_by[0] === "time" ? g.orderBy(y.raw(`${pi("time")} ASC`)) : g.orderBy(y.raw(`${pi(u.alias)} DESC`));
4755
4777
  g = g.limit(i.limit).offset(i.offset);
4756
4778
  let v = (await g.all()).map((e) => {
4757
4779
  let t = {};
@@ -4800,10 +4822,10 @@ function mi(e) {
4800
4822
  }
4801
4823
  //#endregion
4802
4824
  //#region src/adapters/cleanup.ts
4803
- var hi = 10080 * 60 * 1e3;
4804
- function gi(e) {
4825
+ var gi = 10080 * 60 * 1e3;
4826
+ function _i(e) {
4805
4827
  return async (n) => {
4806
- let r = Date.now() - hi;
4828
+ let r = Date.now() - gi;
4807
4829
  try {
4808
4830
  let i = [v(m(N.expires_at_ts, r), m(N.idle_expires_at_ts, r))];
4809
4831
  n?.tenant_id && i.push(a(N.tenant_id, n.tenant_id)), await e.delete(N).where(t(...i)), i = [v(m(M.expires_at_ts, r), m(M.idle_expires_at_ts, r))], n?.tenant_id && i.push(a(M.tenant_id, n.tenant_id)), n?.user_id && i.push(a(M.user_id, n.user_id)), await e.delete(M).where(t(...i)), i = [m(P.expires_at_ts, r)], n?.tenant_id && i.push(a(P.tenant_id, n.tenant_id)), await e.delete(P).where(t(...i));
@@ -4838,7 +4860,7 @@ var Q = w("tenant_operations", {
4838
4860
  x("tenant_operations_tenant_id_created_at_idx").on(e.tenant_id, e.created_at),
4839
4861
  x("tenant_operations_rollout_id_idx").on(e.rollout_id),
4840
4862
  x("tenant_operations_status_idx").on(e.status)
4841
- ]), _i = w("tenant_operation_events", {
4863
+ ]), vi = w("tenant_operation_events", {
4842
4864
  id: T("id", { length: 255 }).primaryKey(),
4843
4865
  operation_id: T("operation_id", { length: 255 }).notNull(),
4844
4866
  step: T("step", { length: 255 }).notNull(),
@@ -4869,7 +4891,7 @@ var Q = w("tenant_operations", {
4869
4891
  name: "tenant_operation_rows_operation_id_constraint"
4870
4892
  }).onDelete("cascade"),
4871
4893
  x("tenant_operation_rows_operation_id_status_idx").on(e.operation_id, e.status)
4872
- ]), vi = w("rollouts", {
4894
+ ]), yi = w("rollouts", {
4873
4895
  id: T("id", { length: 255 }).primaryKey(),
4874
4896
  kind: T("kind", { length: 32 }).notNull(),
4875
4897
  status: T("status", { length: 32 }).notNull(),
@@ -4885,7 +4907,7 @@ var Q = w("tenant_operations", {
4885
4907
  });
4886
4908
  //#endregion
4887
4909
  //#region src/adapters/tenantOperations.ts
4888
- function yi(e) {
4910
+ function bi(e) {
4889
4911
  if (!e) return null;
4890
4912
  try {
4891
4913
  return JSON.parse(e);
@@ -4893,7 +4915,7 @@ function yi(e) {
4893
4915
  return null;
4894
4916
  }
4895
4917
  }
4896
- function bi(e) {
4918
+ function xi(e) {
4897
4919
  return Pe.parse({
4898
4920
  id: e.id,
4899
4921
  tenant_id: e.tenant_id,
@@ -4907,8 +4929,8 @@ function bi(e) {
4907
4929
  target_database_version: e.target_database_version,
4908
4930
  error: e.error,
4909
4931
  initiated_by: e.initiated_by,
4910
- input: yi(e.input),
4911
- result: yi(e.result),
4932
+ input: bi(e.input),
4933
+ result: bi(e.result),
4912
4934
  claimed_by: e.claimed_by,
4913
4935
  claim_expires_at: e.claim_expires_at,
4914
4936
  created_at: e.created_at,
@@ -4916,7 +4938,7 @@ function bi(e) {
4916
4938
  finished_at: e.finished_at
4917
4939
  });
4918
4940
  }
4919
- function xi(e) {
4941
+ function Si(e) {
4920
4942
  return {
4921
4943
  async create(t) {
4922
4944
  let n = je.parse(t), r = (/* @__PURE__ */ new Date()).toISOString(), i = {
@@ -4947,7 +4969,7 @@ function xi(e) {
4947
4969
  },
4948
4970
  async get(t) {
4949
4971
  let n = await e.select().from(Q).where(a(Q.id, t)).limit(1);
4950
- return n[0] ? bi(n[0]) : null;
4972
+ return n[0] ? xi(n[0]) : null;
4951
4973
  },
4952
4974
  async list(n = {}) {
4953
4975
  let r = n.page ?? 0, o = n.per_page ?? 50, s = [];
@@ -4958,7 +4980,7 @@ function xi(e) {
4958
4980
  n.engine !== void 0 && s.push(a(Q.engine, n.engine)), n.updated_before !== void 0 && s.push(m(Q.updated_at, n.updated_before));
4959
4981
  let c = await e.select().from(Q).where(s.length ? t(...s) : void 0).orderBy(i(Q.created_at), i(Q.id)).offset(r * o).limit(o);
4960
4982
  return {
4961
- operations: c.map(bi),
4983
+ operations: c.map(xi),
4962
4984
  start: r * o,
4963
4985
  limit: o,
4964
4986
  length: c.length
@@ -4984,7 +5006,7 @@ function xi(e) {
4984
5006
  },
4985
5007
  async listResumable(r) {
4986
5008
  let i = (/* @__PURE__ */ new Date()).toISOString();
4987
- return (await e.select().from(Q).where(t(l(Q.status, ["pending", "running"]), a(Q.kind, r.kind), v(f(Q.claimed_by), h(Q.claim_expires_at, i)))).orderBy(n(Q.created_at), n(Q.id)).limit(r.limit)).map(bi);
5009
+ return (await e.select().from(Q).where(t(l(Q.status, ["pending", "running"]), a(Q.kind, r.kind), v(f(Q.claimed_by), h(Q.claim_expires_at, i)))).orderBy(n(Q.created_at), n(Q.id)).limit(r.limit)).map(xi);
4988
5010
  },
4989
5011
  async remove(t) {
4990
5012
  return (await e.select({ id: Q.id }).from(Q).where(a(Q.id, t)).limit(1)).length === 0 ? !1 : (await e.delete(Q).where(a(Q.id, t)), !0);
@@ -4993,19 +5015,19 @@ function xi(e) {
4993
5015
  }
4994
5016
  //#endregion
4995
5017
  //#region src/adapters/tenantOperationRows.ts
4996
- var Si = 50, Ci = 50;
4997
- function wi(e) {
5018
+ var Ci = 50, wi = 50;
5019
+ function Ti(e) {
4998
5020
  try {
4999
5021
  return JSON.parse(e);
5000
5022
  } catch {
5001
5023
  return {};
5002
5024
  }
5003
5025
  }
5004
- function Ti(e) {
5026
+ function Ei(e) {
5005
5027
  return Ne.parse({
5006
5028
  operation_id: e.operation_id,
5007
5029
  seq: e.seq,
5008
- payload: wi(e.payload),
5030
+ payload: Ti(e.payload),
5009
5031
  status: e.status,
5010
5032
  error_code: e.error_code,
5011
5033
  error_message: e.error_message,
@@ -5015,12 +5037,12 @@ function Ti(e) {
5015
5037
  updated_at: e.updated_at
5016
5038
  });
5017
5039
  }
5018
- function Ei(e, t) {
5040
+ function Di(e, t) {
5019
5041
  let n = [];
5020
5042
  for (let r = 0; r < e.length; r += t) n.push(e.slice(r, r + t));
5021
5043
  return n;
5022
5044
  }
5023
- function Di(e, n, r, i) {
5045
+ function Oi(e, n, r, i) {
5024
5046
  return e.update($).set({
5025
5047
  status: r.status,
5026
5048
  error_code: r.error_code ?? null,
@@ -5030,7 +5052,7 @@ function Di(e, n, r, i) {
5030
5052
  updated_at: i
5031
5053
  }).where(t(a($.operation_id, n), a($.seq, r.seq), a($.status, "pending")));
5032
5054
  }
5033
- function Oi(e) {
5055
+ function ki(e) {
5034
5056
  return {
5035
5057
  async createMany(t) {
5036
5058
  if (t.length === 0) return 0;
@@ -5049,23 +5071,23 @@ function Oi(e) {
5049
5071
  updated_at: n
5050
5072
  };
5051
5073
  });
5052
- for (let t of Ei(r, Si)) await e.insert($).values(t);
5074
+ for (let t of Di(r, Ci)) await e.insert($).values(t);
5053
5075
  return r.length;
5054
5076
  },
5055
5077
  async claimPending(r, i) {
5056
- return (await e.select().from($).where(t(a($.operation_id, r), a($.status, "pending"))).orderBy(n($.seq)).limit(i)).map(Ti);
5078
+ return (await e.select().from($).where(t(a($.operation_id, r), a($.status, "pending"))).orderBy(n($.seq)).limit(i)).map(Ei);
5057
5079
  },
5058
5080
  async recordOutcomes(n, r) {
5059
5081
  if (r.length === 0) return 0;
5060
5082
  let i = (/* @__PURE__ */ new Date()).toISOString(), o = r.map((e) => e.seq), s = /* @__PURE__ */ new Set();
5061
- for (let r of Ei(o, Ci)) {
5083
+ for (let r of Di(o, wi)) {
5062
5084
  let i = await e.select({ seq: $.seq }).from($).where(t(a($.operation_id, n), a($.status, "pending"), l($.seq, r)));
5063
5085
  for (let e of i) s.add(e.seq);
5064
5086
  }
5065
5087
  let c = r.filter((e) => s.has(e.seq));
5066
5088
  if (c.length === 0) return 0;
5067
- for (let t of Ei(c, Ci)) {
5068
- let [r, ...a] = t.map((t) => Di(e, n, t, i));
5089
+ for (let t of Di(c, wi)) {
5090
+ let [r, ...a] = t.map((t) => Oi(e, n, t, i));
5069
5091
  r && await wt(e, [r, ...a]);
5070
5092
  }
5071
5093
  return c.length;
@@ -5101,7 +5123,7 @@ function Oi(e) {
5101
5123
  }
5102
5124
  let u = await e.select().from($).where(t(...c)).orderBy(n($.seq)).offset(o * s).limit(s);
5103
5125
  return {
5104
- rows: u.map(Ti),
5126
+ rows: u.map(Ei),
5105
5127
  start: o * s,
5106
5128
  limit: s,
5107
5129
  length: u.length
@@ -5115,27 +5137,27 @@ function Oi(e) {
5115
5137
  }
5116
5138
  //#endregion
5117
5139
  //#region src/helpers/monotonic-id.ts
5118
- var ki = "0123456789ABCDEFGHJKMNPQRSTVWXYZ", Ai = 32, ji = 10, Mi = 4, Ni = 10;
5119
- function Pi(e, t) {
5140
+ var Ai = "0123456789ABCDEFGHJKMNPQRSTVWXYZ", ji = 32, Mi = 10, Ni = 4, Pi = 10;
5141
+ function Fi(e, t) {
5120
5142
  let n = "";
5121
- for (let r = t; r > 0; r--) n = ki.charAt(e % Ai) + n, e = Math.floor(e / Ai);
5143
+ for (let r = t; r > 0; r--) n = Ai.charAt(e % ji) + n, e = Math.floor(e / ji);
5122
5144
  return n;
5123
5145
  }
5124
- function Fi() {
5125
- let e = new Uint8Array(Ni);
5146
+ function Ii() {
5147
+ let e = new Uint8Array(Pi);
5126
5148
  crypto.getRandomValues(e);
5127
5149
  let t = "";
5128
- for (let n = 0; n < Ni; n++) t += ki.charAt(e[n] % Ai);
5150
+ for (let n = 0; n < Pi; n++) t += Ai.charAt(e[n] % ji);
5129
5151
  return t;
5130
5152
  }
5131
- var Ii = 0, Li = 0;
5132
- function Ri() {
5153
+ var Li = 0, Ri = 0;
5154
+ function zi() {
5133
5155
  let e = Date.now();
5134
- return e === Ii ? Li++ : (Ii = e, Li = 0), Pi(e, ji) + Pi(Li, Mi) + Fi();
5156
+ return e === Li ? Ri++ : (Li = e, Ri = 0), Fi(e, Mi) + Fi(Ri, Ni) + Ii();
5135
5157
  }
5136
5158
  //#endregion
5137
5159
  //#region src/adapters/tenantOperationEvents.ts
5138
- function zi(e) {
5160
+ function Bi(e) {
5139
5161
  if (!e) return null;
5140
5162
  try {
5141
5163
  let t = JSON.parse(e);
@@ -5143,22 +5165,22 @@ function zi(e) {
5143
5165
  } catch {}
5144
5166
  return null;
5145
5167
  }
5146
- function Bi(e) {
5168
+ function Vi(e) {
5147
5169
  return Ae.parse({
5148
5170
  id: e.id,
5149
5171
  operation_id: e.operation_id,
5150
5172
  step: e.step,
5151
5173
  outcome: e.outcome,
5152
- detail: zi(e.detail),
5174
+ detail: Bi(e.detail),
5153
5175
  attempt: e.attempt,
5154
5176
  created_at: e.created_at
5155
5177
  });
5156
5178
  }
5157
- function Vi(e) {
5179
+ function Hi(e) {
5158
5180
  return {
5159
5181
  async create(t) {
5160
5182
  let n = ke.parse(t), r = {
5161
- id: `evt_${Ri()}`,
5183
+ id: `evt_${zi()}`,
5162
5184
  operation_id: n.operation_id,
5163
5185
  step: n.step,
5164
5186
  outcome: n.outcome,
@@ -5166,7 +5188,7 @@ function Vi(e) {
5166
5188
  attempt: n.attempt,
5167
5189
  created_at: (/* @__PURE__ */ new Date()).toISOString()
5168
5190
  };
5169
- return await e.insert(_i).values(r), Ae.parse({
5191
+ return await e.insert(vi).values(r), Ae.parse({
5170
5192
  id: r.id,
5171
5193
  operation_id: r.operation_id,
5172
5194
  step: r.step,
@@ -5177,9 +5199,9 @@ function Vi(e) {
5177
5199
  });
5178
5200
  },
5179
5201
  async listByOperation(t, r = {}) {
5180
- let i = r.page ?? 0, o = r.per_page ?? 100, s = await e.select().from(_i).where(a(_i.operation_id, t)).orderBy(n(_i.created_at), n(_i.id)).offset(i * o).limit(o);
5202
+ let i = r.page ?? 0, o = r.per_page ?? 100, s = await e.select().from(vi).where(a(vi.operation_id, t)).orderBy(n(vi.created_at), n(vi.id)).offset(i * o).limit(o);
5181
5203
  return {
5182
- events: s.map(Bi),
5204
+ events: s.map(Vi),
5183
5205
  start: i * o,
5184
5206
  limit: o,
5185
5207
  length: s.length
@@ -5189,7 +5211,7 @@ function Vi(e) {
5189
5211
  }
5190
5212
  //#endregion
5191
5213
  //#region src/adapters/rollouts.ts
5192
- function Hi(e) {
5214
+ function Ui(e) {
5193
5215
  if (!e) return null;
5194
5216
  try {
5195
5217
  return JSON.parse(e);
@@ -5197,7 +5219,7 @@ function Hi(e) {
5197
5219
  return null;
5198
5220
  }
5199
5221
  }
5200
- function Ui(e) {
5222
+ function Wi(e) {
5201
5223
  return we.parse({
5202
5224
  id: e.id,
5203
5225
  kind: e.kind,
@@ -5205,15 +5227,15 @@ function Ui(e) {
5205
5227
  target_worker_version: e.target_worker_version,
5206
5228
  target_database_version: e.target_database_version,
5207
5229
  wave_size: e.wave_size,
5208
- canary_tenant_ids: Hi(e.canary_tenant_ids),
5209
- filter: Hi(e.filter),
5230
+ canary_tenant_ids: Ui(e.canary_tenant_ids),
5231
+ filter: Ui(e.filter),
5210
5232
  initiated_by: e.initiated_by,
5211
5233
  created_at: e.created_at,
5212
5234
  updated_at: e.updated_at,
5213
5235
  finished_at: e.finished_at
5214
5236
  });
5215
5237
  }
5216
- function Wi(e) {
5238
+ function Gi(e) {
5217
5239
  return {
5218
5240
  async create(t) {
5219
5241
  let n = Ce.parse(t), r = (/* @__PURE__ */ new Date()).toISOString(), i = {
@@ -5230,37 +5252,37 @@ function Wi(e) {
5230
5252
  updated_at: r,
5231
5253
  finished_at: null
5232
5254
  };
5233
- await e.insert(vi).values(i);
5255
+ await e.insert(yi).values(i);
5234
5256
  let a = await this.get(i.id);
5235
5257
  if (!a) throw Error(`Failed to create rollout ${i.id}`);
5236
5258
  return a;
5237
5259
  },
5238
5260
  async get(t) {
5239
- let n = await e.select().from(vi).where(a(vi.id, t)).limit(1);
5240
- return n[0] ? Ui(n[0]) : null;
5261
+ let n = await e.select().from(yi).where(a(yi.id, t)).limit(1);
5262
+ return n[0] ? Wi(n[0]) : null;
5241
5263
  },
5242
5264
  async list(t = {}) {
5243
- let n = t.page ?? 0, r = t.per_page ?? 50, a = await e.select().from(vi).orderBy(i(vi.created_at), i(vi.id)).offset(n * r).limit(r);
5265
+ let n = t.page ?? 0, r = t.per_page ?? 50, a = await e.select().from(yi).orderBy(i(yi.created_at), i(yi.id)).offset(n * r).limit(r);
5244
5266
  return {
5245
- rollouts: a.map(Ui),
5267
+ rollouts: a.map(Wi),
5246
5268
  start: n * r,
5247
5269
  limit: r,
5248
5270
  length: a.length
5249
5271
  };
5250
5272
  },
5251
5273
  async update(t, n) {
5252
- if ((await e.select({ id: vi.id }).from(vi).where(a(vi.id, t)).limit(1)).length === 0) return !1;
5274
+ if ((await e.select({ id: yi.id }).from(yi).where(a(yi.id, t)).limit(1)).length === 0) return !1;
5253
5275
  let r = { updated_at: (/* @__PURE__ */ new Date()).toISOString() };
5254
- return n.status !== void 0 && (r.status = n.status), n.wave_size !== void 0 && (r.wave_size = n.wave_size), n.canary_tenant_ids !== void 0 && (r.canary_tenant_ids = n.canary_tenant_ids ? JSON.stringify(n.canary_tenant_ids) : null), n.filter !== void 0 && (r.filter = n.filter ? JSON.stringify(n.filter) : null), n.finished_at !== void 0 && (r.finished_at = n.finished_at), await e.update(vi).set(r).where(a(vi.id, t)), !0;
5276
+ return n.status !== void 0 && (r.status = n.status), n.wave_size !== void 0 && (r.wave_size = n.wave_size), n.canary_tenant_ids !== void 0 && (r.canary_tenant_ids = n.canary_tenant_ids ? JSON.stringify(n.canary_tenant_ids) : null), n.filter !== void 0 && (r.filter = n.filter ? JSON.stringify(n.filter) : null), n.finished_at !== void 0 && (r.finished_at = n.finished_at), await e.update(yi).set(r).where(a(yi.id, t)), !0;
5255
5277
  },
5256
5278
  async remove(t) {
5257
- return (await e.select({ id: vi.id }).from(vi).where(a(vi.id, t)).limit(1)).length === 0 ? !1 : (await e.delete(vi).where(a(vi.id, t)), !0);
5279
+ return (await e.select({ id: yi.id }).from(yi).where(a(yi.id, t)).limit(1)).length === 0 ? !1 : (await e.delete(yi).where(a(yi.id, t)), !0);
5258
5280
  }
5259
5281
  };
5260
5282
  }
5261
5283
  //#endregion
5262
5284
  //#region src/adapters/index.ts
5263
- function Gi(e, t = { useTransactions: !0 }) {
5285
+ function Ki(e, t = { useTransactions: !0 }) {
5264
5286
  let n = {
5265
5287
  actions: bt(e),
5266
5288
  actionExecutions: St(e),
@@ -5296,27 +5318,27 @@ function Gi(e, t = { useTransactions: !0 }) {
5296
5318
  refreshTokens: hr(e),
5297
5319
  resourceServers: xr(e),
5298
5320
  rolePermissions: Sr(e),
5299
- userPermissions: Cr(e),
5300
- roles: Tr(e),
5301
- sessions: Ar(e),
5302
- sessionCleanup: gi(e),
5303
- tenants: Fr(e),
5321
+ userPermissions: wr(e),
5322
+ roles: Er(e),
5323
+ sessions: jr(e),
5324
+ sessionCleanup: _i(e),
5325
+ tenants: Ir(e),
5304
5326
  tokenExchangeProfiles: ir(e),
5305
5327
  ...t.controlPlane ? {
5306
- tenantOperations: xi(e),
5307
- tenantOperationEvents: Vi(e),
5308
- tenantOperationRows: Oi(e),
5309
- rollouts: Wi(e)
5328
+ tenantOperations: Si(e),
5329
+ tenantOperationEvents: Hi(e),
5330
+ tenantOperationRows: ki(e),
5331
+ rollouts: Gi(e)
5310
5332
  } : {},
5311
- themes: Rr(e),
5312
- universalLoginTemplates: zr(e),
5313
- users: ni(e),
5314
- userActivity: Vr(e),
5315
- userRoles: ri(e),
5316
- userOrganizations: ii(e),
5317
- stats: ci(e),
5318
- analytics: mi(e),
5319
- outbox: Wr(e),
5333
+ themes: zr(e),
5334
+ universalLoginTemplates: Br(e),
5335
+ users: ri(e),
5336
+ userActivity: Hr(e),
5337
+ userRoles: ii(e),
5338
+ userOrganizations: ai(e),
5339
+ stats: li(e),
5340
+ analytics: hi(e),
5341
+ outbox: Gr(e),
5320
5342
  async transaction(r) {
5321
5343
  if (t.useTransactions === !1 || Ct(e)) return r(n);
5322
5344
  await e.run(y`BEGIN`);
@@ -5332,7 +5354,7 @@ function Gi(e, t = { useTransactions: !0 }) {
5332
5354
  }
5333
5355
  //#endregion
5334
5356
  //#region src/adapters/resolveHost.ts
5335
- function Ki(e) {
5357
+ function qi(e) {
5336
5358
  if (!e) return { path: "/*" };
5337
5359
  try {
5338
5360
  let t = JSON.parse(e), n = xe.safeParse(t);
@@ -5340,7 +5362,7 @@ function Ki(e) {
5340
5362
  } catch {}
5341
5363
  return { path: "/*" };
5342
5364
  }
5343
- function qi(e) {
5365
+ function Ji(e) {
5344
5366
  if (!e) return [];
5345
5367
  try {
5346
5368
  let t = JSON.parse(e);
@@ -5355,20 +5377,20 @@ function qi(e) {
5355
5377
  return [];
5356
5378
  }
5357
5379
  }
5358
- async function Ji(e, r) {
5380
+ async function Yi(e, r) {
5359
5381
  let i = r.toLowerCase(), o = (await e.select({
5360
- custom_domain_id: V.custom_domain_id,
5361
- tenant_id: V.tenant_id,
5362
- domain: V.domain
5363
- }).from(V).where(a(V.domain, i)).limit(1))[0];
5382
+ custom_domain_id: Ke.custom_domain_id,
5383
+ tenant_id: Ke.tenant_id,
5384
+ domain: Ke.domain
5385
+ }).from(Ke).where(a(Ke.domain, i)).limit(1))[0];
5364
5386
  if (!o) return null;
5365
5387
  let s = (await e.select().from(Y).where(t(a(Y.tenant_id, o.tenant_id), a(Y.custom_domain_id, o.custom_domain_id))).orderBy(n(Y.priority), n(Y.created_at))).map((e) => ({
5366
5388
  id: e.id,
5367
5389
  tenant_id: e.tenant_id,
5368
5390
  custom_domain_id: e.custom_domain_id,
5369
5391
  priority: e.priority,
5370
- match: Ki(e.match),
5371
- handlers: qi(e.handlers),
5392
+ match: qi(e.match),
5393
+ handlers: Ji(e.handlers),
5372
5394
  created_at: e.created_at,
5373
5395
  updated_at: e.updated_at
5374
5396
  }));
@@ -5381,11 +5403,11 @@ async function Ji(e, r) {
5381
5403
  }
5382
5404
  //#endregion
5383
5405
  //#region src/adapters/proxyData.ts
5384
- function Yi(e) {
5406
+ function Xi(e) {
5385
5407
  return {
5386
5408
  proxyRoutes: er(e),
5387
- resolveHost: (t) => Ji(e, t)
5409
+ resolveHost: (t) => Yi(e, t)
5388
5410
  };
5389
5411
  }
5390
5412
  //#endregion
5391
- export { Yi as createProxyDataAdapter, er as createProxyRoutesAdapter, Gi as default, ft as sqlite };
5413
+ export { Xi as createProxyDataAdapter, er as createProxyRoutesAdapter, Ki as default, ft as sqlite };