@authhero/kysely-adapter 10.41.0 → 10.43.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.
- package/dist/kysely-adapter.cjs +13 -1
- package/dist/kysely-adapter.d.ts +789 -183
- package/dist/kysely-adapter.mjs +6033 -2794
- package/package.json +3 -3
package/dist/kysely-adapter.cjs
CHANGED
|
@@ -1 +1,13 @@
|
|
|
1
|
-
"use strict";var Ee=Object.defineProperty;var de=t=>{throw TypeError(t)};var Le=(t,e,a)=>e in t?Ee(t,e,{enumerable:!0,configurable:!0,writable:!0,value:a}):t[e]=a;var K=(t,e,a)=>Le(t,typeof e!="symbol"?e+"":e,a),X=(t,e,a)=>e.has(t)||de("Cannot "+a);var m=(t,e,a)=>(X(t,e,"read from private field"),a?a.call(t):e.get(t)),k=(t,e,a)=>e.has(t)?de("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,a),U=(t,e,a,r)=>(X(t,e,"write to private field"),r?r.call(t,a):e.set(t,a),a),p=(t,e,a)=>(X(t,e,"access private method"),a);Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const x=require("@authhero/adapter-interfaces");require("@hono/zod-openapi");var Q=class extends Error{constructor(e=500,a){super(a==null?void 0:a.message,{cause:a==null?void 0:a.cause});K(this,"res");K(this,"status");this.res=a==null?void 0:a.res,this.status=e}getResponse(){return this.res?new Response(this.res.body,{status:this.status,headers:this.res.headers}):new Response(this.message,{status:this.status})}};function Re(t){return async(e,a)=>{const{identities:r,...n}=a,o={...n,created_at:new Date().toISOString(),updated_at:new Date().toISOString(),login_count:0,tenant_id:e,email_verified:a.email_verified?1:0,is_social:a.is_social?1:0,app_metadata:JSON.stringify(a.app_metadata),user_metadata:JSON.stringify(a.user_metadata)};try{await t.insertInto("users").values(o).execute()}catch(s){throw s.code==="SQLITE_CONSTRAINT_UNIQUE"||s.message.includes("AlreadyExists")?new Q(409,{message:"User already exists"}):new Q(500,{message:`${s.code}, ${s.message}`})}return{...o,email:o.email||"",email_verified:o.email_verified===1,is_social:o.is_social===1}}}function y(t){if(t==null||typeof t!="object")return t;if(Array.isArray(t))return t.map(a=>a!==null&&typeof a=="object"?y(a):a);const e={...t};for(const a in e){const r=e[a];r===null?delete e[a]:r!==null&&typeof r=="object"&&(Array.isArray(r)?e[a]=r.map(n=>n!==null&&typeof n=="object"?y(n):n):e[a]=y(r))}return e}function fe(t){let e={};try{e=JSON.parse(t.profileData||"{}")}catch(a){console.error("Error parsing profileData",a)}return{connection:t.connection,provider:t.provider,user_id:x.parseUserId(t.user_id).id,isSocial:!!t.is_social,profileData:{email:t.email,email_verified:!!t.email_verified,...e}}}function Ke(t){return async(e,a)=>{const[r,n]=await Promise.all([t.selectFrom("users").where("users.tenant_id","=",e).where("users.user_id","=",a).selectAll().executeTakeFirst(),t.selectFrom("users").where("users.tenant_id","=",e).where("users.linked_to","=",a).selectAll().execute()]);if(!r)return null;const{tenant_id:o,...s}=r,i={...s,email:r.email||"",email_verified:r.email_verified===1,is_social:r.is_social===1,app_metadata:JSON.parse(r.app_metadata),user_metadata:JSON.parse(r.user_metadata),identities:[{connection:r.connection,provider:r.provider,user_id:x.parseUserId(r.user_id).id,isSocial:!!r.is_social},...n.map(fe)]};return y(i)}}function O(t,e,a,r){return a.split(/\s+/).map(o=>o.replace(/^([^:]+)=/g,"$1:")).map(o=>{let s=o.startsWith("-"),i=null,c="",u=!1,_;if(o.startsWith("-_exists_:"))i=o.substring(10),u=!0,s=!0;else if(o.startsWith("_exists_:"))i=o.substring(9),u=!0,s=!1;else if(o.includes(":")){const d=s?o.substring(1):o,h=d.indexOf(":");i=d.substring(0,h),c=d.substring(h+1),u=!1,c.startsWith(">=")?(_=">=",c=c.substring(2)):c.startsWith(">")?(_=">",c=c.substring(1)):c.startsWith("<=")?(_="<=",c=c.substring(2)):c.startsWith("<")?(_="<",c=c.substring(1)):_="="}else i=null,c=o,u=!1;return{key:i,value:c,isNegation:s,isExistsQuery:u,operator:_}}).forEach(({key:o,value:s,isNegation:i,isExistsQuery:c,operator:u})=>{if(o)if(c)i?e=e.where(o,"is",null):e=e.where(o,"is not",null);else if(i)switch(u){case">":e=e.where(o,"<=",s);break;case">=":e=e.where(o,"<",s);break;case"<":e=e.where(o,">=",s);break;case"<=":e=e.where(o,">",s);break;default:e=e.where(o,"!=",s)}else e=e.where(o,u,s);else if(s){const{ref:_}=t.dynamic;e=e.where(d=>d.or(r.map(h=>d(_(h),"like",`%${s}%`))))}}),e}function T(t){return typeof t=="string"?parseInt(t,10):typeof t=="bigint"?Number(t):t}function Ue(t){return async(e,a={})=>{const{page:r=0,per_page:n=50,include_totals:o=!1,sort:s,q:i}=a;let c=t.selectFrom("users").where("users.tenant_id","=",e);if(i&&(c=O(t,c,i,["email","name"])),s&&s.sort_by){const{ref:w}=t.dynamic;c=c.orderBy(w(s.sort_by),s.sort_order)}const _=await c.offset(r*n).limit(n).selectAll().execute(),d=_.map(w=>w.user_id),h=d.length?await t.selectFrom("users").selectAll().where("users.tenant_id","=",e).where("users.linked_to","in",d).execute():[],f=_.map(w=>{const b=h.filter(P=>P.linked_to===w.user_id);return y({...w,email_verified:w.email_verified===1,is_social:w.is_social===1,app_metadata:JSON.parse(w.app_metadata),user_metadata:JSON.parse(w.user_metadata),identities:[{connection:w.connection,provider:w.provider,user_id:x.parseUserId(w.user_id).id,isSocial:!!w.is_social},...b.map(fe)]})});if(!o)return{users:f,start:0,limit:0,length:0};const{count:g}=await c.select(w=>w.fn.countAll().as("count")).executeTakeFirstOrThrow();return{users:f,start:r*n,limit:n,length:T(g)}}}function qe(t){return async(e,a)=>(await t.deleteFrom("users").where("users.tenant_id","=",e).where("users.linked_to","=",a).execute(),(await t.deleteFrom("users").where("users.tenant_id","=",e).where("users.user_id","=",a).execute()).length===1)}function R(t,e="",a={}){for(let r in t)if(Object.prototype.hasOwnProperty.call(t,r)){const n=e?`${e}_${r}`:r,o=t[r];typeof o=="object"&&o!==null&&!Array.isArray(o)?R(o,n,a):typeof o=="boolean"?a[n]=o?1:0:a[n]=o}return a}function pe(t,e){const a={};for(const[r,n]of Object.entries(t)){const o=e.find(s=>r.startsWith(`${s}_`));if(!o)a[r]=n;else{const s=r.slice(o.length+1);a[o]={...a[o],[s]:n}}}return a}function Be(t){return async(e,a,r)=>{const n=R({...r,updated_at:new Date().toISOString(),app_metadata:r.app_metadata?JSON.stringify(r.app_metadata):void 0,user_metadata:r.user_metadata?JSON.stringify(r.user_metadata):void 0});return(await t.updateTable("users").set(n).where("users.tenant_id","=",e).where("users.user_id","=",a).execute()).length===1}}function Qe(t){return async(e,a,r,n)=>{const o={linked_to:null};return(await t.updateTable("users").set(o).where("users.tenant_id","=",e).where("users.user_id","=",`${r}|${n}`).where("users.linked_to","=",`${a}`).execute()).length===1}}function We(t){return{create:Re(t),remove:qe(t),get:Ke(t),list:Ue(t),update:Be(t),unlink:Qe(t)}}const Ve="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";let S=(t=21)=>{let e="",a=crypto.getRandomValues(new Uint8Array(t));for(;t--;)e+=Ve[a[t]&63];return e};function Ge(t){return async e=>{const a={id:e.id||S(),created_at:new Date().toISOString(),updated_at:new Date().toISOString(),...e};return await t.insertInto("tenants").values(a).execute(),a}}function Ye(t){return async e=>{const a=await t.selectFrom("tenants").where("tenants.id","=",e).selectAll().executeTakeFirst();return a?y(a):null}}function He(t){return async e=>{let a=t.selectFrom("tenants");const{page:r=0,per_page:n=50,include_totals:o=!1,sort:s,q:i}=e;if(s&&s.sort_by){const{ref:f}=t.dynamic;a=a.orderBy(f(s.sort_by),s.sort_order)}i&&(a=a.where(f=>f.or([f("name","like",`%${i}%`)])));const _=(await a.offset(r*n).limit(n).selectAll().execute()).map(y);if(!o)return{tenants:_};const{count:d}=await a.select(f=>f.fn.countAll().as("count")).executeTakeFirstOrThrow(),h=T(d);return{tenants:_,start:r*n,limit:n,length:h}}}function Xe(t){return async(e,a)=>{const r={...a,id:e,updated_at:new Date().toISOString()};await t.updateTable("tenants").set(r).where("id","=",e).execute()}}function Ze(t){return async e=>(await t.deleteFrom("tenants").where("tenants.id","=",e).execute()).length===1}function et(t){return{create:Ge(t),get:Ye(t),list:He(t),update:Xe(t),remove:Ze(t)}}function ue(t){return t?JSON.stringify(t):void 0}const tt=1024;function at(t){return async(e,a)=>{var n,o,s;const r={id:S(),...a,user_agent:a.user_agent.slice(0,tt)};return await t.insertInto("logs").values({...r,description:(n=r.description)==null?void 0:n.substring(0,256),isMobile:a.isMobile?1:0,tenant_id:e,scope:(o=a.scope)==null?void 0:o.join(","),auth0_client:ue(a.auth0_client),details:(s=ue(a.details))==null?void 0:s.substring(0,8192)}).execute(),r}}function me(t){if(!t)return"";try{return JSON.parse(t)}catch{return t}}function ge(t){return{...t,client_id:t.client_id,client_name:"",auth0_client:me(t.auth0_client),details:me(t.details),isMobile:!!t.isMobile,scope:t.scope?t.scope.split(","):void 0,log_id:t.id,_id:t.id}}function rt(t){return async(e,a={})=>{const{page:r=0,per_page:n=50,include_totals:o=!1,sort:s,q:i}=a;let c=t.selectFrom("logs").where("logs.tenant_id","=",e);i&&(c=O(t,c,i,["user_id","ip"]));let u=c;if(s&&s.sort_by){const{ref:f}=t.dynamic;u=u.orderBy(f(s.sort_by),s.sort_order)}u=u.offset(r*n).limit(n);const d=(await u.selectAll().execute()).map(ge);if(!o)return{logs:d,start:0,limit:0,length:0};const{count:h}=await c.select(f=>f.fn.countAll().as("count")).executeTakeFirstOrThrow();return{logs:d,start:r*n,limit:n,length:T(h)}}}function nt(t){return async(e,a)=>{const r=await t.selectFrom("logs").where("logs.tenant_id","=",e).where("logs.id","=",a).selectAll().executeTakeFirst();return r?ge(r):null}}function ot(t){return{create:at(t),list:rt(t),get:nt(t)}}function st(t){return async(e,a)=>{const r=await t.selectFrom("sessions").where("sessions.tenant_id","=",e).where("sessions.id","=",a).selectAll().executeTakeFirst();if(!r)return null;const{tenant_id:n,device:o,clients:s,...i}=r;return{...i,device:JSON.parse(o),clients:JSON.parse(s)}}}function it(t){return async(e,a)=>{const r={...a,created_at:new Date().toISOString(),updated_at:new Date().toISOString(),authenticated_at:new Date().toISOString(),last_interaction_at:new Date().toISOString()};return await t.insertInto("sessions").values({...r,tenant_id:e,device:JSON.stringify(a.device),clients:JSON.stringify(a.clients)}).execute(),r}}function lt(t){return async(e,a)=>!!(await t.deleteFrom("sessions").where("tenant_id","=",e).where("sessions.id","=",a).execute()).length}function ct(t){return async(e,a,r)=>{const n={...r,updated_at:new Date().toISOString(),device:r.device?JSON.stringify(r.device):void 0,clients:r.clients?JSON.stringify(r.clients):void 0};return!!(await t.updateTable("sessions").set(n).where("tenant_id","=",e).where("sessions.id","=",a).execute()).length}}function dt(t){return async(e,a={})=>{const{page:r=0,per_page:n=50,include_totals:o=!1,sort:s,q:i}=a;let c=t.selectFrom("sessions").where("sessions.tenant_id","=",e);i&&(c=O(t,c,i,["user_id","session_id"]));let u=c;if(s&&s.sort_by){const{ref:g}=t.dynamic;u=u.orderBy(g(s.sort_by),s.sort_order)}u=u.offset(r*n).limit(n);const d=(await u.selectAll().execute()).map(g=>({...g,device:JSON.parse(g.device),clients:JSON.parse(g.clients)}));if(!o)return{sessions:d,start:0,limit:0,length:0};const{count:h}=await c.select(g=>g.fn.countAll().as("count")).executeTakeFirstOrThrow(),f=T(h);return{sessions:d,start:r*n,limit:n,length:f}}}function ut(t){return{create:it(t),get:st(t),list:dt(t),remove:lt(t),update:ct(t)}}function mt(t){return async(e,a)=>{const r=await t.selectFrom("passwords").where("passwords.tenant_id","=",e).where("passwords.user_id","=",a).selectAll().executeTakeFirst();if(!r)return null;const{tenant_id:n,...o}=r;return o}}function _t(t){return async(e,a)=>{const r={...a,created_at:new Date().toISOString(),updated_at:new Date().toISOString()};return await t.insertInto("passwords").values({...r,tenant_id:e}).execute(),r}}function ht(t){return async(e,a)=>(await t.updateTable("passwords").set({password:a.password,updated_at:new Date().toISOString()}).where("tenant_id","=",e).where("user_id","=",a.user_id).execute()).length===1}function ft(t){return{create:_t(t),update:ht(t),get:mt(t)}}function pt(t){return async(e,a={})=>{const{page:r=0,per_page:n=50,include_totals:o=!1,q:s}=a;let i=t.selectFrom("codes").where("codes.tenant_id","=",e);s&&(i=O(t,i,s,["code","login_id"]));const _=(await i.offset(r*n).limit(n).selectAll().execute()).map(h=>{const{tenant_id:f,...g}=h;return x.codeSchema.parse(y(g))});if(!o)return{codes:_,start:0,limit:0,length:0};const{count:d}=await i.select(h=>h.fn.countAll().as("count")).executeTakeFirstOrThrow();return{codes:_,start:r*n,limit:n,length:T(d)}}}function gt(t){return async(e,a)=>{const r={...a,created_at:new Date().toISOString()};return await t.insertInto("codes").values({...r,tenant_id:e}).execute(),r}}function wt(t){return async(e,a)=>(await t.deleteFrom("codes").where("codes.tenant_id","=",e).where("codes.code_id","=",a).executeTakeFirst()).numDeletedRows>0}function yt(t){return async(e,a,r)=>{let n=t.selectFrom("codes").where("codes.code_id","=",a).where("codes.code_type","=",r);e.length&&(n=n.where("codes.tenant_id","=",e));const o=await n.selectAll().executeTakeFirst();return o?y(o):null}}function vt(t){return async(e,a)=>(await t.updateTable("codes").set({used_at:new Date().toISOString()}).where("codes.tenant_id","=",e).where("codes.code_id","=",a).executeTakeFirst()).numUpdatedRows>0}function Nt(t){return{create:gt(t),list:pt(t),remove:wt(t),used:vt(t),get:yt(t)}}function Ct(t){return async(e,a)=>{const r={created_at:new Date().toISOString(),updated_at:new Date().toISOString(),...a,disable_sign_ups:a.disable_sign_ups??!1},n=JSON.stringify(a.allowed_origins),o=JSON.stringify(a.callbacks),s=JSON.stringify(a.web_origins),i=JSON.stringify(a.allowed_logout_urls),c=JSON.stringify(a.allowed_clients);return await t.insertInto("applications").values({...r,tenant_id:e,disable_sign_ups:a.disable_sign_ups?1:0,addons:a.addons?JSON.stringify(a.addons):"{}",callbacks:o,allowed_origins:n,web_origins:s,allowed_logout_urls:i,allowed_clients:c}).execute(),r}}function bt(t){return async e=>({applications:(await t.selectFrom("applications").where("applications.tenant_id","=",e).selectAll().execute()).map(o=>({...o,disable_sign_ups:!!o.disable_sign_ups,addons:o.addons?JSON.parse(o.addons):{},callbacks:o.callbacks?JSON.parse(o.callbacks):[],allowed_origins:o.allowed_origins?JSON.parse(o.allowed_origins):[],web_origins:o.web_origins?JSON.parse(o.web_origins):[],allowed_logout_urls:o.allowed_logout_urls?JSON.parse(o.allowed_logout_urls):[],allowed_clients:o.allowed_logout_urls?JSON.parse(o.allowed_logout_urls):[]}))})}function xt(t){return async(e,a)=>{const r=await t.selectFrom("applications").where("applications.tenant_id","=",e).where("applications.id","=",a).selectAll().executeTakeFirst();return r?y({...r,disable_sign_ups:!!r.disable_sign_ups,addons:JSON.parse(r.addons),callbacks:JSON.parse(r.callbacks),allowed_origins:JSON.parse(r.allowed_origins),web_origins:JSON.parse(r.web_origins),allowed_logout_urls:JSON.parse(r.allowed_logout_urls)}):null}}function Tt(t){return async(e,a)=>(await t.deleteFrom("applications").where("applications.tenant_id","=",e).where("applications.id","=",a).executeTakeFirst()).numDeletedRows>0}function St(t){return async(e,a,r)=>{const n={...r,updated_at:new Date().toISOString(),allowed_origins:r.allowed_origins?JSON.stringify(r.allowed_origins):void 0,callbacks:r.callbacks?JSON.stringify(r.callbacks):void 0,web_origins:r.web_origins?JSON.stringify(r.web_origins):void 0,allowed_logout_urls:r.allowed_logout_urls?JSON.stringify(r.allowed_logout_urls):void 0,allowed_clients:r.allowed_clients?JSON.stringify(r.allowed_clients):void 0,addons:r.addons?JSON.stringify(r.addons):"{}",disable_sign_ups:r.disable_sign_ups?1:0};return await t.updateTable("applications").set(n).where("applications.id","=",a).where("applications.tenant_id","=",e).execute(),!0}}function Ot(t){return{create:Ct(t),list:bt(t),get:xt(t),remove:Tt(t),update:St(t)}}function kt(t){return async(e,a)=>{const r={id:S(),...a,created_at:new Date().toISOString(),updated_at:new Date().toISOString()};return await t.insertInto("connections").values({...r,options:JSON.stringify(r.options||{}),tenant_id:e}).execute(),r}}function $t(t){return async(e,a={})=>{const{page:r=0,per_page:n=50,include_totals:o=!1,q:s}=a;let i=t.selectFrom("connections").where("connections.tenant_id","=",e);s&&(i=O(t,i,s,["user_id","ip"]));const _=(await i.offset(r*n).limit(n).selectAll().execute()).map(h=>y({...h,options:JSON.parse(h.options)}));if(!o)return{connections:_,start:0,limit:0,length:0};const{count:d}=await i.select(h=>h.fn.countAll().as("count")).executeTakeFirstOrThrow();return{connections:_,start:r*n,limit:n,length:T(d)}}}function It(t){return async(e,a)=>(await t.deleteFrom("connections").where("connections.tenant_id","=",e).where("connections.id","=",a).executeTakeFirst()).numDeletedRows>0}function Dt(t){return async(e,a)=>{const r=await t.selectFrom("connections").where("connections.tenant_id","=",e).where("connections.id","=",a).selectAll().executeTakeFirst();return r?y({...r,options:JSON.parse(r.options)}):null}}function Pt(t){return async(e,a,r)=>{const n={...r,updated_at:new Date().toISOString()};return await t.updateTable("connections").set({...n,options:n.options?JSON.stringify(n.options):void 0}).where("connections.id","=",a).where("connections.tenant_id","=",e).execute(),!0}}function zt(t){return{create:kt(t),get:Dt(t),list:$t(t),remove:It(t),update:Pt(t)}}function jt(t){return{get:async e=>{const a=await t.selectFrom("applications").selectAll().where("id","=",e).executeTakeFirst();if(!a)return null;const r=await t.selectFrom("tenants").selectAll().where("id","=",a.tenant_id).executeTakeFirst();if(!r)throw new Q(404,{message:"Tenant not found"});const n=await t.selectFrom("connections").where("tenant_id","=",a.tenant_id).selectAll().execute();return{...a,connections:n.map(s=>x.connectionSchema.parse(y({...s,options:s.options?JSON.parse(s.options):{}}))),addons:a.addons?JSON.parse(a.addons):{},callbacks:a.callbacks?JSON.parse(a.callbacks):[],allowed_origins:a.allowed_origins?JSON.parse(a.allowed_origins):[],web_origins:a.web_origins?JSON.parse(a.web_origins):[],allowed_logout_urls:a.allowed_logout_urls?JSON.parse(a.allowed_logout_urls):[],allowed_clients:a.allowed_clients?JSON.parse(a.allowed_clients):[],tenant:y(r),disable_sign_ups:!!a.disable_sign_ups}}}}function Ft(t){return async(e={})=>{const{page:a=0,per_page:r=100,include_totals:n=!1,sort:o,q:s}=e;let i=t.selectFrom("keys").where(f=>f.or([f("revoked_at",">",new Date().toISOString()),f("revoked_at","is",null)]));s&&(i=O(t,i,s,["kid","connection","fingerprint","thumbprint","type"]));let c=i.select(f=>f.fn.count("kid").as("count"));const u=a*r;i=i.limit(r).offset(u),o&&(i=i.orderBy(o.sort_by,o.sort_order));const _=await i.selectAll().execute();if(!n)return{signingKeys:_,start:0,limit:0,length:0};const d=await c.executeTakeFirst(),h=T((d==null?void 0:d.count)??0);return{signingKeys:_,start:u,limit:r,length:h}}}function At(t){return async e=>{await t.insertInto("keys").values({...e,created_at:new Date().toDateString()}).execute()}}function Mt(t){return async(e,a)=>!!(await t.updateTable("keys").set(a).where("kid","=",e).execute()).length}function Jt(t){return{create:At(t),list:Ft(t),update:Mt(t)}}function Et(t){return async(e,a)=>{const r={custom_domain_id:S(),status:"pending",primary:!1,...a};return await t.insertInto("custom_domains").values({...r,created_at:new Date().toISOString(),updated_at:new Date().toISOString(),tenant_id:e,primary:r.primary?1:0}).execute(),r}}function Lt(t){return async e=>(await t.selectFrom("custom_domains").where("custom_domains.tenant_id","=",e).selectAll().execute()).map(r=>({...r,primary:r.primary===1}))}function Rt(t){return async(e,a)=>(await t.deleteFrom("custom_domains").where("custom_domains.tenant_id","=",e).where("custom_domains.custom_domain_id","=",a).execute()).length>0}function Kt(t){return async(e,a)=>{const r=await t.selectFrom("custom_domains").where("custom_domains.tenant_id","=",e).where("custom_domains.custom_domain_id","=",a).selectAll().executeTakeFirst();return r?{...r,primary:r.primary===1}:null}}function Ut(t){return async(e,a,r)=>{const n={...r,updated_at:new Date().toISOString(),primary:r.primary?1:0};return(await t.updateTable("custom_domains").set(n).where("custom_domains.tenant_id","=",e).where("custom_domains.custom_domain_id","=",a).execute()).length>0}}function qt(t){return async e=>{const a=await t.selectFrom("custom_domains").where("custom_domains.domain","=",e).selectAll().executeTakeFirst();return a?{...a,primary:a.primary===1}:null}}function Bt(t){return{create:Et(t),get:Kt(t),getByDomain:qt(t),list:Lt(t),remove:Rt(t),update:Ut(t)}}function Qt(t){return async e=>{const[a]=await t.selectFrom("branding").where("branding.tenant_id","=",e).selectAll().execute();if(!a)return null;const{tenant_id:r,colors_primary:n,colors_page_background_type:o,colors_page_background_start:s,colors_page_background_end:i,colors_page_background_angle_dev:c,font_url:u,..._}=a;return y({..._,colors:{primary:n,page_background:{type:o,start:s,end:i,angle_deg:c}},font:u?{url:u}:void 0})}}function Wt(t){return async(e,a)=>{var s,i,c,u,_,d,h,f,g,w,b,P,A,z,G,ie,le,ce;const{colors:r,font:n,...o}=a;try{await t.insertInto("branding").values({...o,colors_primary:r==null?void 0:r.primary,colors_page_background_type:(i=(s=a.colors)==null?void 0:s.page_background)==null?void 0:i.type,colors_page_background_start:(u=(c=a.colors)==null?void 0:c.page_background)==null?void 0:u.start,colors_page_background_end:(d=(_=a.colors)==null?void 0:_.page_background)==null?void 0:d.end,colors_page_background_angle_dev:(f=(h=a.colors)==null?void 0:h.page_background)==null?void 0:f.angle_deg,font_url:(g=a.font)==null?void 0:g.url,tenant_id:e}).execute()}catch{await t.updateTable("branding").set({...o,colors_primary:r==null?void 0:r.primary,colors_page_background_type:(b=(w=a.colors)==null?void 0:w.page_background)==null?void 0:b.type,colors_page_background_start:(A=(P=a.colors)==null?void 0:P.page_background)==null?void 0:A.start,colors_page_background_end:(G=(z=a.colors)==null?void 0:z.page_background)==null?void 0:G.end,colors_page_background_angle_dev:(le=(ie=a.colors)==null?void 0:ie.page_background)==null?void 0:le.angle_deg,font_url:(ce=a.font)==null?void 0:ce.url}).where("tenant_id","=",e).execute()}}}function Vt(t){return{get:Qt(t),set:Wt(t)}}function Gt(t){return async(e,a={})=>{const{page:r=0,per_page:n=50,include_totals:o=!1,q:s}=a;let i=t.selectFrom("hooks").where("hooks.tenant_id","=",e);s&&(i=O(t,i,s,["url","form_id"]));const _=(await i.offset(r*n).limit(n).selectAll().execute()).map(h=>{const{tenant_id:f,enabled:g,synchronous:w,...b}=h;return y({...b,enabled:!!g,synchronous:!!w})});if(!o)return{hooks:_,start:0,limit:0,length:0};const{count:d}=await i.select(h=>h.fn.countAll().as("count")).executeTakeFirstOrThrow();return{hooks:_,start:r*n,limit:n,length:T(d)}}}function Yt(t){return async(e,a)=>{const r=await t.selectFrom("hooks").where("hooks.tenant_id","=",e).where("hooks.hook_id","=",a).selectAll().executeTakeFirst();return r?y({...r,enabled:!!r.enabled,synchronous:!!r.synchronous}):null}}function Ht(t){return async(e,a)=>(await t.deleteFrom("hooks").where("hooks.tenant_id","=",e).where("hooks.hook_id","=",a).executeTakeFirst()).numDeletedRows>0}function Xt(t){return async(e,a)=>{const r={hook_id:S(),...a,created_at:new Date().toISOString(),updated_at:new Date().toISOString()};return await t.insertInto("hooks").values({...r,tenant_id:e,enabled:a.enabled?1:0,synchronous:a.synchronous?1:0}).execute(),r}}function Zt(t){return async(e,a,r)=>{const n={...r,updated_at:new Date().toISOString(),enabled:r.enabled!==void 0?r.enabled?1:0:void 0,synchronous:r.enabled!==void 0?r.synchronous?1:0:void 0};return await t.updateTable("hooks").set(n).where("hooks.hook_id","=",a).where("hooks.tenant_id","=",e).execute(),!0}}function ea(t){return{create:Xt(t),get:Yt(t),list:Gt(t),update:Zt(t),remove:Ht(t)}}function ta(t){return async(e,a)=>{const r={themeId:S(),created_at:new Date().toISOString(),updated_at:new Date().toISOString(),...a},n={...r,tenant_id:e};return await t.insertInto("themes").values(R(n)).execute(),r}}function aa(t){return async(e,a)=>(await t.deleteFrom("themes").where("themes.tenant_id","=",e).where("themes.themeId","=",a).executeTakeFirst()).numDeletedRows>0}function ra(t){return async(e,a)=>{const r=await t.selectFrom("themes").where("themes.tenant_id","=",e).where("themes.themeId","=",a).selectAll().executeTakeFirst();if(!r)return null;const n={...r,borders_show_widget_shadow:!!r.borders_show_widget_shadow,fonts_body_text_bold:!!r.fonts_body_text_bold,fonts_buttons_text_bold:!!r.fonts_buttons_text_bold,fonts_input_labels_bold:!!r.fonts_input_labels_bold,fonts_links_bold:!!r.fonts_links_bold,fonts_subtitle_bold:!!r.fonts_subtitle_bold,fonts_title_bold:!!r.fonts_title_bold};return y(pe(n,["widget","colors","borders","fonts","page_background"]))}}function na(t){return async(e,a,r)=>{const n=R({...r,updated_at:new Date().toISOString()});return await t.updateTable("themes").set(n).where("themes.themeId","=",a).where("themes.tenant_id","=",e).execute(),!0}}function oa(t){return{create:ta(t),get:ra(t),remove:aa(t),update:na(t)}}function sa(t){return async(e,a)=>{const r=await t.selectFrom("login_sessions").where("login_sessions.id","=",a).selectAll().executeTakeFirst();return r?x.loginSessionSchema.parse(pe(y({...r,login_completed:!!r.login_completed}),["authParams"])):null}}function ia(t){return async(e,a)=>{var n;const r={id:S(),...a,authorization_url:(n=a.authorization_url)==null?void 0:n.slice(0,1024),created_at:new Date().toISOString(),updated_at:new Date().toISOString(),login_completed:!!a.login_completed};return await t.insertInto("login_sessions").values({...R(r),tenant_id:e}).execute(),r}}function la(t){return async(e,a,r)=>(await t.updateTable("login_sessions").set(R({...r})).where("login_sessions.id","=",a).where("login_sessions.tenant_id","=",e).execute()).length===1}function ca(t){return async(e,a)=>(await t.deleteFrom("login_sessions").where("login_sessions.tenant_id","=",e).where("login_sessions.id","=",a).execute()).length>0}function da(t){return{create:ia(t),get:sa(t),update:la(t),remove:ca(t)}}function ua(t){return async e=>{const[a]=await t.selectFrom("prompt_settings").where("prompt_settings.tenant_id","=",e).selectAll().execute();return y({identifier_first:!!(a!=null&&a.identifier_first),password_first:!!(a!=null&&a.password_first),webauthn_platform_first_factor:!!(a!=null&&a.webauthn_platform_first_factor),universal_login_experience:(a==null?void 0:a.universal_login_experience)||"new"})}}function _e(t){return y({...t,webauthn_platform_first_factor:t.webauthn_platform_first_factor?!!t.webauthn_platform_first_factor:void 0,identifier_first:t.identifier_first?!!t.identifier_first:void 0,password_first:t.password_first?!!t.password_first:void 0,universal_login_experience:t.universal_login_experience})}function ma(t){return async(e,a)=>{try{const r=x.promptSettingSchema.parse(a);await t.insertInto("prompt_settings").values({..._e(r),tenant_id:e}).execute()}catch{await t.updateTable("prompt_settings").set(_e(a)).where("tenant_id","=",e).execute()}}}function _a(t){return{get:ua(t),set:ma(t)}}function ha(t){return async e=>{const[a]=await t.selectFrom("email_providers").where("email_providers.tenant_id","=",e).selectAll().execute();if(!a)return null;const{tenant_id:r,credentials:n,settings:o,enabled:s,...i}=a;return y({...i,credentials:JSON.parse(n),settings:JSON.parse(o),enabled:!!s})}}function fa(t){return async(e,a)=>{const{credentials:r,settings:n,enabled:o,...s}=a;await t.updateTable("email_providers").set({...s,credentials:r?JSON.stringify(r):void 0,settings:n?JSON.stringify(n):void 0,enabled:o!==void 0?o?1:0:void 0}).where("tenant_id","=",e).execute()}}function pa(t){return async(e,a)=>{const{credentials:r,settings:n,enabled:o,...s}=a;await t.insertInto("email_providers").values({...s,enabled:o?1:0,credentials:JSON.stringify(r),settings:JSON.stringify(n),tenant_id:e,created_at:new Date().toISOString(),updated_at:new Date().toISOString()}).execute()}}function ga(t){return{get:ha(t),create:pa(t),update:fa(t)}}function wa(t){return async(e,a)=>{const r=await t.selectFrom("refresh_tokens").where("refresh_tokens.tenant_id","=",e).where("refresh_tokens.id","=",a).selectAll().executeTakeFirst();return r?{...r,rotating:!!r.rotating,device:r.device?JSON.parse(r.device):{},resource_servers:r.resource_servers?JSON.parse(r.resource_servers):[]}:null}}function ya(t){return async(e,a)=>{const r={...a,created_at:new Date().toISOString()};return await t.insertInto("refresh_tokens").values({...r,tenant_id:e,rotating:a.rotating?1:0,device:JSON.stringify(a.device),resource_servers:JSON.stringify(a.resource_servers)}).execute(),{...a,...r}}}function va(t){return async(e,a)=>!!(await t.deleteFrom("refresh_tokens").where("tenant_id","=",e).where("refresh_tokens.id","=",a).execute()).length}function Na(t){return async(e,a,r)=>{const n={...r,device:r.device?JSON.stringify(r.device):void 0,resource_servers:r.resource_servers?JSON.stringify(r.resource_servers):void 0,rotating:r.rotating?1:0};return!!(await t.updateTable("refresh_tokens").set(n).where("tenant_id","=",e).where("refresh_tokens.id","=",a).execute()).length}}function Ca(t){return async(e,a={})=>{const{page:r=0,per_page:n=50,include_totals:o=!1,sort:s,q:i}=a;let c=t.selectFrom("refresh_tokens").where("refresh_tokens.tenant_id","=",e);i&&(c=O(t,c,i,["token","session_id"]));let u=c;if(s&&s.sort_by){const{ref:g}=t.dynamic;u=u.orderBy(g(s.sort_by),s.sort_order)}u=u.offset(r*n).limit(n);const d=(await u.selectAll().execute()).map(g=>({...g,rotating:!!g.rotating,device:g.device?JSON.parse(g.device):{},resource_servers:g.resource_servers?JSON.parse(g.resource_servers):[]}));if(!o)return{refresh_tokens:d,start:0,limit:0,length:0};const{count:h}=await c.select(g=>g.fn.countAll().as("count")).executeTakeFirstOrThrow(),f=T(h);return{refresh_tokens:d,start:r*n,limit:n,length:f}}}function ba(t){return{create:ya(t),get:wa(t),list:Ca(t),remove:va(t),update:Na(t)}}function xa(t){return async()=>{const e=new Date(Date.now()-864e5).toISOString(),a=new Date(Date.now()-1e3*60*60*24*7).toISOString(),r=new Date(Date.now()-1e3*60*60*24*30*3).toISOString();console.log("delete codes"),await t.deleteFrom("codes").where("created_at","<",e).limit(1e5).execute(),console.log("delete sessions"),await t.deleteFrom("login_sessions").where("created_at","<",a).where("session_id","is",null).limit(1e5).execute(),console.log("delete logs"),await t.deleteFrom("logs").where("date","<",r).limit(1e5).execute(),console.log("delete refresh tokens"),await t.deleteFrom("refresh_tokens").where(o=>o.or([o("expires_at","<",a),o("idle_expires_at","<",a)])).limit(1e4).execute(),console.log("delete sessions");const n=await t.selectFrom("sessions").select("id").where(o=>o.or([o("expires_at","<",a),o("idle_expires_at","<",a)])).where("id","not in",t.selectFrom("refresh_tokens").select("session_id")).limit(1e5).execute();n.length>0&&await t.deleteFrom("sessions").where("id","in",n.map(o=>o.id)).execute(),console.log("cleanup complete")}}function Ta(t){return async(e,a)=>{const r=x.formSchema.parse({id:S(),...a,created_at:new Date().toISOString(),updated_at:new Date().toISOString()});return await t.insertInto("forms").values({...r,nodes:JSON.stringify(r.nodes||[]),start:JSON.stringify(r.start||{}),ending:JSON.stringify(r.ending||{}),tenant_id:e}).execute(),x.formSchema.parse(r)}}function Sa(t){return async(e,a={})=>{const{page:r=0,per_page:n=50,include_totals:o=!1,q:s}=a;let i=t.selectFrom("forms").where("tenant_id","=",e);s&&(i=O(t,i,s,[]));const _=(await i.offset(r*n).limit(n).selectAll().execute()).map(h=>{const f={...h};if(typeof f.nodes=="string")try{f.nodes=JSON.parse(f.nodes)}catch{}if(typeof f.start=="string")try{f.start=JSON.parse(f.start)}catch{}if(typeof f.ending=="string")try{f.ending=JSON.parse(f.ending)}catch{}return x.formSchema.parse(y(f))});if(!o)return{forms:_,start:0,limit:0,length:0};const{count:d}=await i.select(h=>h.fn.countAll().as("count")).executeTakeFirstOrThrow();return{forms:_,start:r*n,limit:n,length:T(d)}}}function Oa(t){return async(e,a)=>{const{numDeletedRows:r}=await t.deleteFrom("forms").where("id","=",a).where("tenant_id","=",e).executeTakeFirst();return r>0}}function ka(t){return async(e,a)=>{const r=await t.selectFrom("forms").selectAll().where("forms.id","=",a).where("tenant_id","=",e).executeTakeFirst();if(!r)return null;const n={...r};if(typeof n.nodes=="string")try{n.nodes=JSON.parse(n.nodes)}catch{}if(typeof n.start=="string")try{n.start=JSON.parse(n.start)}catch{}if(typeof n.ending=="string")try{n.ending=JSON.parse(n.ending)}catch{}return x.formSchema.parse(y(n))}}function $a(t){return async(e,a,r)=>{const n={...r,updated_at:new Date().toISOString()};r.nodes&&(n.nodes=JSON.stringify(r.nodes)),r.start&&(n.start=JSON.stringify(r.start)),r.ending&&(n.ending=JSON.stringify(r.ending));const{numUpdatedRows:o}=await t.updateTable("forms").set(n).where("id","=",a).where("tenant_id","=",e).executeTakeFirst();return o>0}}function Ia(t){return{create:Ta(t),get:ka(t),list:Sa(t),remove:Oa(t),update:$a(t)}}function Da(t){return async(e,a)=>{const r=new Date().toISOString(),n={id:S(),...a,created_at:r,updated_at:r},o=x.resourceServerSchema.parse(n),{verificationKey:s,scopes:i,options:c,skip_consent_for_verifiable_first_party_clients:u,allow_offline_access:_,...d}=o,h={...d,tenant_id:e,scopes:i?JSON.stringify(i):"[]",options:c?JSON.stringify(c):"{}",skip_consent_for_verifiable_first_party_clients:u?1:0,allow_offline_access:_?1:0,verification_key:s,created_at:r,updated_at:r};return await t.insertInto("resource_servers").values(h).execute(),y(o)}}function Pa(t){return async(e,a)=>{const r=await t.selectFrom("resource_servers").selectAll().where("tenant_id","=",e).where("id","=",a).executeTakeFirst();if(!r)return null;const n=r,{verification_key:o,scopes:s,options:i,skip_consent_for_verifiable_first_party_clients:c,allow_offline_access:u,..._}=n,d={..._,scopes:s?JSON.parse(s):[],options:i?JSON.parse(i):{},skip_consent_for_verifiable_first_party_clients:!!c,allow_offline_access:!!u,verificationKey:o};return y(d)}}function za(t){return async(e,a={})=>{const{page:r=0,per_page:n=50,include_totals:o=!1,q:s}=a;let i=t.selectFrom("resource_servers").where("resource_servers.tenant_id","=",e);if(s){const h=s.trim(),f=h.split(/\s+/),g=f.length===1?f[0]:void 0,w=g?g.match(/^(-)?(name|identifier):(.*)$/):null,b=w?w[3]:"",P=/^(>=|>|<=|<)/.test(b||"");if(w&&!P){const A=!!w[1],z=w[2]==="name"?"resource_servers.name":"resource_servers.identifier";i=A?i.where(z,"not like",`%${b}%`):i.where(z,"like",`%${b}%`)}else i=O(t,i,h,["resource_servers.name","resource_servers.identifier"])}const _=(await i.offset(r*n).limit(n).selectAll().execute()).map(h=>{const f=h,{verification_key:g,scopes:w,options:b,skip_consent_for_verifiable_first_party_clients:P,allow_offline_access:A,...z}=f,G={...z,scopes:w?JSON.parse(w):[],options:b?JSON.parse(b):{},skip_consent_for_verifiable_first_party_clients:!!P,allow_offline_access:!!A,verificationKey:g};return y(G)});if(!o)return{resource_servers:_,start:0,limit:0,length:0};const{count:d}=await i.select(h=>h.fn.countAll().as("count")).executeTakeFirstOrThrow();return{resource_servers:_,start:r*n,limit:n,length:T(d)}}}function ja(t){return async(e,a)=>{const r=await t.deleteFrom("resource_servers").where("tenant_id","=",e).where("id","=",a).executeTakeFirst();return Number(r.numDeletedRows)>0}}function Fa(t){return async(e,a,r)=>{const{verificationKey:n,scopes:o,options:s,skip_consent_for_verifiable_first_party_clients:i,allow_offline_access:c,...u}=r,_={...u,updated_at:new Date().toISOString()};n!==void 0&&(_.verification_key=n),o!==void 0&&(_.scopes=JSON.stringify(o)),s!==void 0&&(_.options=JSON.stringify(s)),i!==void 0&&(_.skip_consent_for_verifiable_first_party_clients=i?1:0),c!==void 0&&(_.allow_offline_access=c?1:0);const d=await t.updateTable("resource_servers").set(_).where("tenant_id","=",e).where("id","=",a).executeTakeFirst();return Number(d.numUpdatedRows)>0}}function Aa(t){return{create:Da(t),get:Pa(t),list:za(t),remove:ja(t),update:Fa(t)}}function Ma(t){return async(e,a)=>{const r=new Date().toISOString(),n=S(),o={id:n,...a,tenant_id:e,created_at:r,updated_at:r};return await t.insertInto("roles").values(o).execute(),{id:n,...a,created_at:r,updated_at:r}}}function Ja(t){return async(e,a)=>{const r=await t.selectFrom("roles").selectAll().where("roles.tenant_id","=",e).where("roles.id","=",a).executeTakeFirst();return r?{...r}:null}}function Ea(t){return async(e,a)=>{let r=t.selectFrom("roles").where("roles.tenant_id","=",e);const{page:n=0,per_page:o=50,include_totals:s=!1}=a;a.q&&(r=O(t,r,a.q,["name"]));const c=await r.offset(n*o).limit(o).selectAll().execute();if(!s)return{roles:c,start:n*o,limit:o,length:c.length};const{count:u}=await r.select(_=>_.fn.countAll().as("count")).executeTakeFirstOrThrow();return{roles:c,start:n*o,limit:o,length:T(u)}}}function La(t){return async(e,a,r)=>{const n={...r,updated_at:new Date().toISOString()},o=await t.updateTable("roles").set(n).where("roles.tenant_id","=",e).where("roles.id","=",a).executeTakeFirst();return Number(o.numUpdatedRows)>0}}function Ra(t){return async(e,a)=>{const r=await t.deleteFrom("roles").where("tenant_id","=",e).where("id","=",a).executeTakeFirst();return Number(r.numDeletedRows)>0}}function Ka(t){return{create:Ma(t),get:Ja(t),list:Ea(t),update:La(t),remove:Ra(t)}}function Ua(t){return async(e,a,r)=>{if(r.length===0)return!0;const n=new Date().toISOString();try{for(const o of r){if(o.role_id!==a)throw new Error(`Permission role_id ${o.role_id} does not match expected role_id ${a}`);const s={tenant_id:e,role_id:o.role_id,resource_server_identifier:o.resource_server_identifier,permission_name:o.permission_name,created_at:n};try{await t.insertInto("role_permissions").values(s).execute()}catch(i){if(i.code==="SQLITE_CONSTRAINT_PRIMARYKEY"||i.code==="SQLITE_CONSTRAINT_UNIQUE")continue;throw i}}return!0}catch(o){return console.error("Error assigning role permissions:",o),!1}}}function qa(t){return async(e,a,r)=>{if(r.length===0)return!0;try{return(await Promise.all(r.map(o=>t.deleteFrom("role_permissions").where("tenant_id","=",e).where("role_id","=",a).where("resource_server_identifier","=",o.resource_server_identifier).where("permission_name","=",o.permission_name).executeTakeFirst()))).some(o=>Number(o.numDeletedRows)>0)}catch(n){return console.error("Error removing role permissions:",n),!1}}}function Ba(t){return async(e,a,r={})=>{const{page:n=0,per_page:o=50,include_totals:s=!1}=r;let i=t.selectFrom("role_permissions").leftJoin("resource_servers",d=>d.onRef("role_permissions.tenant_id","=","resource_servers.tenant_id").onRef("role_permissions.resource_server_identifier","=","resource_servers.id")).select(["role_permissions.role_id","role_permissions.resource_server_identifier","role_permissions.permission_name","role_permissions.created_at","resource_servers.name as resource_server_name"]).where("role_permissions.tenant_id","=",e).where("role_permissions.role_id","=",a);const _=(await i.offset(n*o).limit(o).execute()).map(d=>({role_id:d.role_id,resource_server_identifier:d.resource_server_identifier,resource_server_name:d.resource_server_name||d.resource_server_identifier,permission_name:d.permission_name,description:null,created_at:d.created_at}));return s&&await i.select(d=>d.fn.countAll().as("count")).executeTakeFirstOrThrow(),_}}function Qa(t){return{assign:Ua(t),remove:qa(t),list:Ba(t)}}function Wa(t){return async(e,a,r,n)=>{const o=new Date().toISOString();try{const s={tenant_id:e,user_id:a,resource_server_identifier:r.resource_server_identifier,permission_name:r.permission_name,organization_id:n||r.organization_id||"",created_at:o};return await t.insertInto("user_permissions").values(s).execute(),!0}catch(s){return s.code==="SQLITE_CONSTRAINT_PRIMARYKEY"||s.code==="SQLITE_CONSTRAINT_UNIQUE"||s.code==="SQLITE_CONSTRAINT"||s.message&&s.message.includes("UNIQUE constraint failed")||s.message&&s.message.includes("PRIMARY KEY constraint failed")?!0:(console.error("Error creating user permission:",s),!1)}}}function Va(t){return async(e,a,r,n)=>{try{let o=t.deleteFrom("user_permissions").where("tenant_id","=",e).where("user_id","=",a).where("resource_server_identifier","=",r.resource_server_identifier).where("permission_name","=",r.permission_name);return n!==void 0?o=o.where("organization_id","=",n):o=o.where("organization_id","=",""),await o.execute(),!0}catch(o){return console.error("Error removing user permission:",o),!1}}}function Ga(t){return async(e,a,r,n)=>{let o=t.selectFrom("user_permissions").leftJoin("resource_servers",i=>i.onRef("user_permissions.tenant_id","=","resource_servers.tenant_id").onRef("user_permissions.resource_server_identifier","=","resource_servers.id")).select(["user_permissions.resource_server_identifier","user_permissions.permission_name","resource_servers.name as resource_server_name","user_permissions.user_id","user_permissions.created_at","user_permissions.organization_id"]).where("user_permissions.tenant_id","=",e).where("user_permissions.user_id","=",a);return n!==void 0&&(o=o.where("user_permissions.organization_id","=",n)),(await o.execute()).map(i=>({resource_server_identifier:i.resource_server_identifier,permission_name:i.permission_name,description:null,resource_server_name:i.resource_server_name||i.resource_server_identifier,user_id:i.user_id,created_at:i.created_at,organization_id:i.organization_id===""?void 0:i.organization_id}))}}function Ya(t){return{create:Wa(t),remove:Va(t),list:Ga(t)}}function Ha(t){const e=Ya(t);return{create:(a,r,n,o)=>e.create(a,r,n,o),remove:(a,r,n,o)=>e.remove(a,r,n,o),list:(a,r,n,o)=>e.list(a,r,n,o)}}function Xa(t){return async(e,a,r,n)=>{let o=t.selectFrom("user_roles as ur").innerJoin("roles as r",i=>i.onRef("ur.role_id","=","r.id").onRef("ur.tenant_id","=","r.tenant_id")).select(["r.id","r.name","r.description","r.created_at","r.updated_at"]).where("ur.tenant_id","=",e).where("ur.user_id","=",a);return n!==void 0&&(o=o.where("ur.organization_id","=",n)),await o.execute()}}function Za(t){return async(e,a,r,n)=>{const o=new Date().toISOString();try{return await t.insertInto("user_roles").values({tenant_id:e,user_id:a,role_id:r,organization_id:n||"",created_at:o}).execute(),!0}catch(s){return s.code==="SQLITE_CONSTRAINT_PRIMARYKEY"||s.code==="SQLITE_CONSTRAINT_UNIQUE"||s.code==="SQLITE_CONSTRAINT"||s.message&&s.message.includes("UNIQUE constraint failed")||s.message&&s.message.includes("PRIMARY KEY constraint failed")?!0:(console.error("Error creating user role:",s),!1)}}}function er(t){return async(e,a,r,n)=>{try{let o=t.deleteFrom("user_roles").where("tenant_id","=",e).where("user_id","=",a).where("role_id","=",r);return n!==void 0?o=o.where("organization_id","=",n):o=o.where("organization_id","=",""),await o.execute(),!0}catch(o){return console.error("Error removing user roles:",o),!1}}}function tr(t){return{list:Xa(t),create:Za(t),remove:er(t)}}function ar(t){const e=tr(t);return{list:(a,r,n,o)=>e.list(a,r,n,o),create:(a,r,n,o)=>e.create(a,r,n,o),remove:(a,r,n,o)=>e.remove(a,r,n,o)}}function rr(t){return async(e,a)=>{const r={...a,id:a.id||S(),tenant_id:e,created_at:new Date().toISOString(),updated_at:new Date().toISOString(),branding:JSON.stringify(a.branding||{}),metadata:JSON.stringify(a.metadata||{}),enabled_connections:JSON.stringify(a.enabled_connections||[]),token_quota:JSON.stringify(a.token_quota||{})};try{await t.insertInto("organizations").values(r).execute()}catch(n){throw n.code==="SQLITE_CONSTRAINT_UNIQUE"||n.message.includes("AlreadyExists")?new Q(409,{message:"Organization already exists"}):n}return{...a,id:r.id,created_at:r.created_at,updated_at:r.updated_at}}}function nr(t){return async(e,a)=>{const r=await t.selectFrom("organizations").selectAll().where("tenant_id","=",e).where("id","=",a).executeTakeFirst();return r?y({...r,branding:r.branding?JSON.parse(r.branding):{},metadata:r.metadata?JSON.parse(r.metadata):{},enabled_connections:r.enabled_connections?JSON.parse(r.enabled_connections):[],token_quota:r.token_quota?JSON.parse(r.token_quota):{}}):null}}function or(t){return async(e,a)=>{let r=t.selectFrom("organizations").selectAll().where("tenant_id","=",e).orderBy("created_at","desc");if(a!=null&&a.per_page&&(r=r.limit(a.per_page)),a!=null&&a.page){const s=(a.page-1)*(a.per_page||10);r=r.offset(s)}const o=(await r.execute()).map(s=>y({...s,branding:s.branding?JSON.parse(s.branding):{},metadata:s.metadata?JSON.parse(s.metadata):{},enabled_connections:s.enabled_connections?JSON.parse(s.enabled_connections):[],token_quota:s.token_quota?JSON.parse(s.token_quota):{}}));return{organizations:o,start:a!=null&&a.page?(a.page-1)*(a.per_page||10):0,limit:(a==null?void 0:a.per_page)||o.length,length:o.length}}}function sr(t){return async(e,a)=>(await t.deleteFrom("organizations").where("tenant_id","=",e).where("id","=",a).execute()).length>0}function ir(t){return async(e,a,r)=>{const{branding:n,metadata:o,enabled_connections:s,token_quota:i,...c}=r,u={...c,updated_at:new Date().toISOString()};return n!==void 0&&(u.branding=JSON.stringify(n)),o!==void 0&&(u.metadata=JSON.stringify(o)),s!==void 0&&(u.enabled_connections=JSON.stringify(s)),i!==void 0&&(u.token_quota=JSON.stringify(i)),(await t.updateTable("organizations").set(u).where("tenant_id","=",e).where("id","=",a).execute()).length>0}}function lr(t){return{create:rr(t),get:nr(t),list:or(t),remove:sr(t),update:ir(t)}}function cr(t){return async(e,a)=>{const r={id:S(),tenant_id:e,user_id:a.user_id,organization_id:a.organization_id,created_at:new Date().toISOString(),updated_at:new Date().toISOString()};try{await t.insertInto("user_organizations").values(r).execute()}catch(n){throw n.code==="SQLITE_CONSTRAINT_UNIQUE"||n.code==="ER_DUP_ENTRY"?new Q(409,{message:"User is already a member of this organization"}):n}return{...r}}}function dr(t){return async(e,a)=>{const r=await t.selectFrom("user_organizations").selectAll().where("id","=",a).where("tenant_id","=",e).executeTakeFirst();return r?{id:r.id,user_id:r.user_id,organization_id:r.organization_id,created_at:r.created_at,updated_at:r.updated_at}:null}}function ur(t){return async(e,a)=>{const r=(a==null?void 0:a.page)||0,n=(a==null?void 0:a.per_page)||50,o=r*n;let s=t.selectFrom("user_organizations").selectAll().where("tenant_id","=",e);if(a!=null&&a.q){if(a.q.startsWith("user_id:")){const d=a.q.replace("user_id:","");s=s.where("user_id","=",d)}else if(a.q.startsWith("organization_id:")){const d=a.q.replace("organization_id:","");s=s.where("organization_id","=",d)}}s=s.orderBy("created_at","desc"),n>0&&(s=s.limit(n).offset(o));const i=await s.execute();let c=t.selectFrom("user_organizations").select(t.fn.count("id").as("count")).where("tenant_id","=",e);if(a!=null&&a.q){if(a.q.startsWith("user_id:")){const d=a.q.replace("user_id:","");c=c.where("user_id","=",d)}else if(a.q.startsWith("organization_id:")){const d=a.q.replace("organization_id:","");c=c.where("organization_id","=",d)}}const u=await c.executeTakeFirst();return{userOrganizations:i.map(d=>({id:d.id,user_id:d.user_id,organization_id:d.organization_id,created_at:d.created_at,updated_at:d.updated_at})),start:o,limit:n,length:Number((u==null?void 0:u.count)||0)}}}function mr(t){return async(e,a,r)=>{const n=(r==null?void 0:r.page)||0,o=(r==null?void 0:r.per_page)||50,s=n*o;let i=t.selectFrom("user_organizations").innerJoin("organizations","organizations.id","user_organizations.organization_id").select(["organizations.id","organizations.name","organizations.display_name","organizations.branding","organizations.metadata","organizations.enabled_connections","organizations.token_quota","organizations.created_at","organizations.updated_at","user_organizations.created_at as joined_at"]).where("user_organizations.tenant_id","=",e).where("user_organizations.user_id","=",a);i=i.orderBy("user_organizations.created_at","desc"),o>0&&(i=i.limit(o).offset(s));const c=await i.execute(),u=await t.selectFrom("user_organizations").innerJoin("organizations","organizations.id","user_organizations.organization_id").select(t.fn.count("user_organizations.id").as("count")).where("user_organizations.tenant_id","=",e).where("user_organizations.user_id","=",a).executeTakeFirst();return{organizations:c.map(d=>({id:d.id,name:d.name,display_name:d.display_name,branding:d.branding?JSON.parse(d.branding):void 0,metadata:d.metadata?JSON.parse(d.metadata):{},enabled_connections:d.enabled_connections?JSON.parse(d.enabled_connections):[],token_quota:d.token_quota?JSON.parse(d.token_quota):void 0,created_at:d.created_at,updated_at:d.updated_at,joined_at:d.joined_at})),start:s,limit:o,length:Number((u==null?void 0:u.count)||0)}}}function _r(t){return async(e,a)=>(await t.deleteFrom("user_organizations").where("id","=",a).where("tenant_id","=",e).execute()).length>0}function hr(t){return async(e,a,r)=>{const n={...r,updated_at:new Date().toISOString()};return(await t.updateTable("user_organizations").set(n).where("id","=",a).where("tenant_id","=",e).execute()).length>0}}function fr(t){return{create:cr(t),get:dr(t),list:ur(t),listUserOrganizations:mr(t),remove:_r(t),update:hr(t)}}function pr(t){return t[t.length-1]}function C(t){return Object.freeze(t)}const Y=C({is(t){return t.kind==="IdentifierNode"},create(t){return C({kind:"IdentifierNode",name:t})}}),ae=C({is(t){return t.kind==="SchemableIdentifierNode"},create(t){return C({kind:"SchemableIdentifierNode",identifier:Y.create(t)})},createWithSchema(t,e){return C({kind:"SchemableIdentifierNode",schema:Y.create(t),identifier:Y.create(e)})}}),gr=C({is(t){return t.kind==="AliasNode"},create(t,e){return C({kind:"AliasNode",node:t,alias:e})}}),Z=C({is(t){return t.kind==="TableNode"},create(t){return C({kind:"TableNode",table:ae.create(t)})},createWithSchema(t,e){return C({kind:"TableNode",table:ae.createWithSchema(t,e)})}});var H;class wr{constructor(){K(this,"nodeStack",[]);k(this,H,C({AliasNode:this.transformAlias.bind(this),ColumnNode:this.transformColumn.bind(this),IdentifierNode:this.transformIdentifier.bind(this),SchemableIdentifierNode:this.transformSchemableIdentifier.bind(this),RawNode:this.transformRaw.bind(this),ReferenceNode:this.transformReference.bind(this),SelectQueryNode:this.transformSelectQuery.bind(this),SelectionNode:this.transformSelection.bind(this),TableNode:this.transformTable.bind(this),FromNode:this.transformFrom.bind(this),SelectAllNode:this.transformSelectAll.bind(this),AndNode:this.transformAnd.bind(this),OrNode:this.transformOr.bind(this),ValueNode:this.transformValue.bind(this),ValueListNode:this.transformValueList.bind(this),PrimitiveValueListNode:this.transformPrimitiveValueList.bind(this),ParensNode:this.transformParens.bind(this),JoinNode:this.transformJoin.bind(this),OperatorNode:this.transformOperator.bind(this),WhereNode:this.transformWhere.bind(this),InsertQueryNode:this.transformInsertQuery.bind(this),DeleteQueryNode:this.transformDeleteQuery.bind(this),ReturningNode:this.transformReturning.bind(this),CreateTableNode:this.transformCreateTable.bind(this),AddColumnNode:this.transformAddColumn.bind(this),ColumnDefinitionNode:this.transformColumnDefinition.bind(this),DropTableNode:this.transformDropTable.bind(this),DataTypeNode:this.transformDataType.bind(this),OrderByNode:this.transformOrderBy.bind(this),OrderByItemNode:this.transformOrderByItem.bind(this),GroupByNode:this.transformGroupBy.bind(this),GroupByItemNode:this.transformGroupByItem.bind(this),UpdateQueryNode:this.transformUpdateQuery.bind(this),ColumnUpdateNode:this.transformColumnUpdate.bind(this),LimitNode:this.transformLimit.bind(this),OffsetNode:this.transformOffset.bind(this),OnConflictNode:this.transformOnConflict.bind(this),OnDuplicateKeyNode:this.transformOnDuplicateKey.bind(this),CreateIndexNode:this.transformCreateIndex.bind(this),DropIndexNode:this.transformDropIndex.bind(this),ListNode:this.transformList.bind(this),PrimaryKeyConstraintNode:this.transformPrimaryKeyConstraint.bind(this),UniqueConstraintNode:this.transformUniqueConstraint.bind(this),ReferencesNode:this.transformReferences.bind(this),CheckConstraintNode:this.transformCheckConstraint.bind(this),WithNode:this.transformWith.bind(this),CommonTableExpressionNode:this.transformCommonTableExpression.bind(this),CommonTableExpressionNameNode:this.transformCommonTableExpressionName.bind(this),HavingNode:this.transformHaving.bind(this),CreateSchemaNode:this.transformCreateSchema.bind(this),DropSchemaNode:this.transformDropSchema.bind(this),AlterTableNode:this.transformAlterTable.bind(this),DropColumnNode:this.transformDropColumn.bind(this),RenameColumnNode:this.transformRenameColumn.bind(this),AlterColumnNode:this.transformAlterColumn.bind(this),ModifyColumnNode:this.transformModifyColumn.bind(this),AddConstraintNode:this.transformAddConstraint.bind(this),DropConstraintNode:this.transformDropConstraint.bind(this),ForeignKeyConstraintNode:this.transformForeignKeyConstraint.bind(this),CreateViewNode:this.transformCreateView.bind(this),DropViewNode:this.transformDropView.bind(this),GeneratedNode:this.transformGenerated.bind(this),DefaultValueNode:this.transformDefaultValue.bind(this),OnNode:this.transformOn.bind(this),ValuesNode:this.transformValues.bind(this),SelectModifierNode:this.transformSelectModifier.bind(this),CreateTypeNode:this.transformCreateType.bind(this),DropTypeNode:this.transformDropType.bind(this),ExplainNode:this.transformExplain.bind(this),DefaultInsertValueNode:this.transformDefaultInsertValue.bind(this),AggregateFunctionNode:this.transformAggregateFunction.bind(this),OverNode:this.transformOver.bind(this),PartitionByNode:this.transformPartitionBy.bind(this),PartitionByItemNode:this.transformPartitionByItem.bind(this),SetOperationNode:this.transformSetOperation.bind(this),BinaryOperationNode:this.transformBinaryOperation.bind(this),UnaryOperationNode:this.transformUnaryOperation.bind(this),UsingNode:this.transformUsing.bind(this),FunctionNode:this.transformFunction.bind(this),CaseNode:this.transformCase.bind(this),WhenNode:this.transformWhen.bind(this),JSONReferenceNode:this.transformJSONReference.bind(this),JSONPathNode:this.transformJSONPath.bind(this),JSONPathLegNode:this.transformJSONPathLeg.bind(this),JSONOperatorChainNode:this.transformJSONOperatorChain.bind(this),TupleNode:this.transformTuple.bind(this),MergeQueryNode:this.transformMergeQuery.bind(this),MatchedNode:this.transformMatched.bind(this),AddIndexNode:this.transformAddIndex.bind(this),CastNode:this.transformCast.bind(this),FetchNode:this.transformFetch.bind(this),TopNode:this.transformTop.bind(this),OutputNode:this.transformOutput.bind(this)}))}transformNode(e){if(!e)return e;this.nodeStack.push(e);const a=this.transformNodeImpl(e);return this.nodeStack.pop(),C(a)}transformNodeImpl(e){return m(this,H)[e.kind](e)}transformNodeList(e){return e&&C(e.map(a=>this.transformNode(a)))}transformSelectQuery(e){return{kind:"SelectQueryNode",from:this.transformNode(e.from),selections:this.transformNodeList(e.selections),distinctOn:this.transformNodeList(e.distinctOn),joins:this.transformNodeList(e.joins),groupBy:this.transformNode(e.groupBy),orderBy:this.transformNode(e.orderBy),where:this.transformNode(e.where),frontModifiers:this.transformNodeList(e.frontModifiers),endModifiers:this.transformNodeList(e.endModifiers),limit:this.transformNode(e.limit),offset:this.transformNode(e.offset),with:this.transformNode(e.with),having:this.transformNode(e.having),explain:this.transformNode(e.explain),setOperations:this.transformNodeList(e.setOperations),fetch:this.transformNode(e.fetch),top:this.transformNode(e.top)}}transformSelection(e){return{kind:"SelectionNode",selection:this.transformNode(e.selection)}}transformColumn(e){return{kind:"ColumnNode",column:this.transformNode(e.column)}}transformAlias(e){return{kind:"AliasNode",node:this.transformNode(e.node),alias:this.transformNode(e.alias)}}transformTable(e){return{kind:"TableNode",table:this.transformNode(e.table)}}transformFrom(e){return{kind:"FromNode",froms:this.transformNodeList(e.froms)}}transformReference(e){return{kind:"ReferenceNode",column:this.transformNode(e.column),table:this.transformNode(e.table)}}transformAnd(e){return{kind:"AndNode",left:this.transformNode(e.left),right:this.transformNode(e.right)}}transformOr(e){return{kind:"OrNode",left:this.transformNode(e.left),right:this.transformNode(e.right)}}transformValueList(e){return{kind:"ValueListNode",values:this.transformNodeList(e.values)}}transformParens(e){return{kind:"ParensNode",node:this.transformNode(e.node)}}transformJoin(e){return{kind:"JoinNode",joinType:e.joinType,table:this.transformNode(e.table),on:this.transformNode(e.on)}}transformRaw(e){return{kind:"RawNode",sqlFragments:C([...e.sqlFragments]),parameters:this.transformNodeList(e.parameters)}}transformWhere(e){return{kind:"WhereNode",where:this.transformNode(e.where)}}transformInsertQuery(e){return{kind:"InsertQueryNode",into:this.transformNode(e.into),columns:this.transformNodeList(e.columns),values:this.transformNode(e.values),returning:this.transformNode(e.returning),onConflict:this.transformNode(e.onConflict),onDuplicateKey:this.transformNode(e.onDuplicateKey),with:this.transformNode(e.with),ignore:e.ignore,replace:e.replace,explain:this.transformNode(e.explain),defaultValues:e.defaultValues,top:this.transformNode(e.top),output:this.transformNode(e.output)}}transformValues(e){return{kind:"ValuesNode",values:this.transformNodeList(e.values)}}transformDeleteQuery(e){return{kind:"DeleteQueryNode",from:this.transformNode(e.from),using:this.transformNode(e.using),joins:this.transformNodeList(e.joins),where:this.transformNode(e.where),returning:this.transformNode(e.returning),with:this.transformNode(e.with),orderBy:this.transformNode(e.orderBy),limit:this.transformNode(e.limit),explain:this.transformNode(e.explain),top:this.transformNode(e.top),output:this.transformNode(e.output)}}transformReturning(e){return{kind:"ReturningNode",selections:this.transformNodeList(e.selections)}}transformCreateTable(e){return{kind:"CreateTableNode",table:this.transformNode(e.table),columns:this.transformNodeList(e.columns),constraints:this.transformNodeList(e.constraints),temporary:e.temporary,ifNotExists:e.ifNotExists,onCommit:e.onCommit,frontModifiers:this.transformNodeList(e.frontModifiers),endModifiers:this.transformNodeList(e.endModifiers),selectQuery:this.transformNode(e.selectQuery)}}transformColumnDefinition(e){return{kind:"ColumnDefinitionNode",column:this.transformNode(e.column),dataType:this.transformNode(e.dataType),references:this.transformNode(e.references),primaryKey:e.primaryKey,autoIncrement:e.autoIncrement,unique:e.unique,notNull:e.notNull,unsigned:e.unsigned,defaultTo:this.transformNode(e.defaultTo),check:this.transformNode(e.check),generated:this.transformNode(e.generated),frontModifiers:this.transformNodeList(e.frontModifiers),endModifiers:this.transformNodeList(e.endModifiers),nullsNotDistinct:e.nullsNotDistinct,identity:e.identity,ifNotExists:e.ifNotExists}}transformAddColumn(e){return{kind:"AddColumnNode",column:this.transformNode(e.column)}}transformDropTable(e){return{kind:"DropTableNode",table:this.transformNode(e.table),ifExists:e.ifExists,cascade:e.cascade}}transformOrderBy(e){return{kind:"OrderByNode",items:this.transformNodeList(e.items)}}transformOrderByItem(e){return{kind:"OrderByItemNode",orderBy:this.transformNode(e.orderBy),direction:this.transformNode(e.direction)}}transformGroupBy(e){return{kind:"GroupByNode",items:this.transformNodeList(e.items)}}transformGroupByItem(e){return{kind:"GroupByItemNode",groupBy:this.transformNode(e.groupBy)}}transformUpdateQuery(e){return{kind:"UpdateQueryNode",table:this.transformNode(e.table),from:this.transformNode(e.from),joins:this.transformNodeList(e.joins),where:this.transformNode(e.where),updates:this.transformNodeList(e.updates),returning:this.transformNode(e.returning),with:this.transformNode(e.with),explain:this.transformNode(e.explain),limit:this.transformNode(e.limit),top:this.transformNode(e.top),output:this.transformNode(e.output)}}transformColumnUpdate(e){return{kind:"ColumnUpdateNode",column:this.transformNode(e.column),value:this.transformNode(e.value)}}transformLimit(e){return{kind:"LimitNode",limit:this.transformNode(e.limit)}}transformOffset(e){return{kind:"OffsetNode",offset:this.transformNode(e.offset)}}transformOnConflict(e){return{kind:"OnConflictNode",columns:this.transformNodeList(e.columns),constraint:this.transformNode(e.constraint),indexExpression:this.transformNode(e.indexExpression),indexWhere:this.transformNode(e.indexWhere),updates:this.transformNodeList(e.updates),updateWhere:this.transformNode(e.updateWhere),doNothing:e.doNothing}}transformOnDuplicateKey(e){return{kind:"OnDuplicateKeyNode",updates:this.transformNodeList(e.updates)}}transformCreateIndex(e){return{kind:"CreateIndexNode",name:this.transformNode(e.name),table:this.transformNode(e.table),columns:this.transformNodeList(e.columns),unique:e.unique,using:this.transformNode(e.using),ifNotExists:e.ifNotExists,where:this.transformNode(e.where),nullsNotDistinct:e.nullsNotDistinct}}transformList(e){return{kind:"ListNode",items:this.transformNodeList(e.items)}}transformDropIndex(e){return{kind:"DropIndexNode",name:this.transformNode(e.name),table:this.transformNode(e.table),ifExists:e.ifExists,cascade:e.cascade}}transformPrimaryKeyConstraint(e){return{kind:"PrimaryKeyConstraintNode",columns:this.transformNodeList(e.columns),name:this.transformNode(e.name)}}transformUniqueConstraint(e){return{kind:"UniqueConstraintNode",columns:this.transformNodeList(e.columns),name:this.transformNode(e.name),nullsNotDistinct:e.nullsNotDistinct}}transformForeignKeyConstraint(e){return{kind:"ForeignKeyConstraintNode",columns:this.transformNodeList(e.columns),references:this.transformNode(e.references),name:this.transformNode(e.name),onDelete:e.onDelete,onUpdate:e.onUpdate}}transformSetOperation(e){return{kind:"SetOperationNode",operator:e.operator,expression:this.transformNode(e.expression),all:e.all}}transformReferences(e){return{kind:"ReferencesNode",table:this.transformNode(e.table),columns:this.transformNodeList(e.columns),onDelete:e.onDelete,onUpdate:e.onUpdate}}transformCheckConstraint(e){return{kind:"CheckConstraintNode",expression:this.transformNode(e.expression),name:this.transformNode(e.name)}}transformWith(e){return{kind:"WithNode",expressions:this.transformNodeList(e.expressions),recursive:e.recursive}}transformCommonTableExpression(e){return{kind:"CommonTableExpressionNode",name:this.transformNode(e.name),materialized:e.materialized,expression:this.transformNode(e.expression)}}transformCommonTableExpressionName(e){return{kind:"CommonTableExpressionNameNode",table:this.transformNode(e.table),columns:this.transformNodeList(e.columns)}}transformHaving(e){return{kind:"HavingNode",having:this.transformNode(e.having)}}transformCreateSchema(e){return{kind:"CreateSchemaNode",schema:this.transformNode(e.schema),ifNotExists:e.ifNotExists}}transformDropSchema(e){return{kind:"DropSchemaNode",schema:this.transformNode(e.schema),ifExists:e.ifExists,cascade:e.cascade}}transformAlterTable(e){return{kind:"AlterTableNode",table:this.transformNode(e.table),renameTo:this.transformNode(e.renameTo),setSchema:this.transformNode(e.setSchema),columnAlterations:this.transformNodeList(e.columnAlterations),addConstraint:this.transformNode(e.addConstraint),dropConstraint:this.transformNode(e.dropConstraint),addIndex:this.transformNode(e.addIndex),dropIndex:this.transformNode(e.dropIndex)}}transformDropColumn(e){return{kind:"DropColumnNode",column:this.transformNode(e.column)}}transformRenameColumn(e){return{kind:"RenameColumnNode",column:this.transformNode(e.column),renameTo:this.transformNode(e.renameTo)}}transformAlterColumn(e){return{kind:"AlterColumnNode",column:this.transformNode(e.column),dataType:this.transformNode(e.dataType),dataTypeExpression:this.transformNode(e.dataTypeExpression),setDefault:this.transformNode(e.setDefault),dropDefault:e.dropDefault,setNotNull:e.setNotNull,dropNotNull:e.dropNotNull}}transformModifyColumn(e){return{kind:"ModifyColumnNode",column:this.transformNode(e.column)}}transformAddConstraint(e){return{kind:"AddConstraintNode",constraint:this.transformNode(e.constraint)}}transformDropConstraint(e){return{kind:"DropConstraintNode",constraintName:this.transformNode(e.constraintName),ifExists:e.ifExists,modifier:e.modifier}}transformCreateView(e){return{kind:"CreateViewNode",name:this.transformNode(e.name),temporary:e.temporary,orReplace:e.orReplace,ifNotExists:e.ifNotExists,materialized:e.materialized,columns:this.transformNodeList(e.columns),as:this.transformNode(e.as)}}transformDropView(e){return{kind:"DropViewNode",name:this.transformNode(e.name),ifExists:e.ifExists,materialized:e.materialized,cascade:e.cascade}}transformGenerated(e){return{kind:"GeneratedNode",byDefault:e.byDefault,always:e.always,identity:e.identity,stored:e.stored,expression:this.transformNode(e.expression)}}transformDefaultValue(e){return{kind:"DefaultValueNode",defaultValue:this.transformNode(e.defaultValue)}}transformOn(e){return{kind:"OnNode",on:this.transformNode(e.on)}}transformSelectModifier(e){return{kind:"SelectModifierNode",modifier:e.modifier,rawModifier:this.transformNode(e.rawModifier),of:this.transformNodeList(e.of)}}transformCreateType(e){return{kind:"CreateTypeNode",name:this.transformNode(e.name),enum:this.transformNode(e.enum)}}transformDropType(e){return{kind:"DropTypeNode",name:this.transformNode(e.name),ifExists:e.ifExists}}transformExplain(e){return{kind:"ExplainNode",format:e.format,options:this.transformNode(e.options)}}transformSchemableIdentifier(e){return{kind:"SchemableIdentifierNode",schema:this.transformNode(e.schema),identifier:this.transformNode(e.identifier)}}transformAggregateFunction(e){return{kind:"AggregateFunctionNode",aggregated:this.transformNodeList(e.aggregated),distinct:e.distinct,filter:this.transformNode(e.filter),func:e.func,over:this.transformNode(e.over)}}transformOver(e){return{kind:"OverNode",orderBy:this.transformNode(e.orderBy),partitionBy:this.transformNode(e.partitionBy)}}transformPartitionBy(e){return{kind:"PartitionByNode",items:this.transformNodeList(e.items)}}transformPartitionByItem(e){return{kind:"PartitionByItemNode",partitionBy:this.transformNode(e.partitionBy)}}transformBinaryOperation(e){return{kind:"BinaryOperationNode",leftOperand:this.transformNode(e.leftOperand),operator:this.transformNode(e.operator),rightOperand:this.transformNode(e.rightOperand)}}transformUnaryOperation(e){return{kind:"UnaryOperationNode",operator:this.transformNode(e.operator),operand:this.transformNode(e.operand)}}transformUsing(e){return{kind:"UsingNode",tables:this.transformNodeList(e.tables)}}transformFunction(e){return{kind:"FunctionNode",func:e.func,arguments:this.transformNodeList(e.arguments)}}transformCase(e){return{kind:"CaseNode",value:this.transformNode(e.value),when:this.transformNodeList(e.when),else:this.transformNode(e.else),isStatement:e.isStatement}}transformWhen(e){return{kind:"WhenNode",condition:this.transformNode(e.condition),result:this.transformNode(e.result)}}transformJSONReference(e){return{kind:"JSONReferenceNode",reference:this.transformNode(e.reference),traversal:this.transformNode(e.traversal)}}transformJSONPath(e){return{kind:"JSONPathNode",inOperator:this.transformNode(e.inOperator),pathLegs:this.transformNodeList(e.pathLegs)}}transformJSONPathLeg(e){return{kind:"JSONPathLegNode",type:e.type,value:e.value}}transformJSONOperatorChain(e){return{kind:"JSONOperatorChainNode",operator:this.transformNode(e.operator),values:this.transformNodeList(e.values)}}transformTuple(e){return{kind:"TupleNode",values:this.transformNodeList(e.values)}}transformMergeQuery(e){return{kind:"MergeQueryNode",into:this.transformNode(e.into),using:this.transformNode(e.using),whens:this.transformNodeList(e.whens),with:this.transformNode(e.with),top:this.transformNode(e.top),output:this.transformNode(e.output)}}transformMatched(e){return{kind:"MatchedNode",not:e.not,bySource:e.bySource}}transformAddIndex(e){return{kind:"AddIndexNode",name:this.transformNode(e.name),columns:this.transformNodeList(e.columns),unique:e.unique,using:this.transformNode(e.using),ifNotExists:e.ifNotExists}}transformCast(e){return{kind:"CastNode",expression:this.transformNode(e.expression),dataType:this.transformNode(e.dataType)}}transformFetch(e){return{kind:"FetchNode",rowCount:this.transformNode(e.rowCount),modifier:e.modifier}}transformTop(e){return{kind:"TopNode",expression:e.expression,modifiers:e.modifiers}}transformOutput(e){return{kind:"OutputNode",selections:this.transformNodeList(e.selections)}}transformDataType(e){return e}transformSelectAll(e){return e}transformIdentifier(e){return e}transformValue(e){return e}transformPrimitiveValueList(e){return e}transformOperator(e){return e}transformDefaultInsertValue(e){return e}}H=new WeakMap;const yr=C({AlterTableNode:!0,CreateIndexNode:!0,CreateSchemaNode:!0,CreateTableNode:!0,CreateTypeNode:!0,CreateViewNode:!0,DeleteQueryNode:!0,DropIndexNode:!0,DropSchemaNode:!0,DropTableNode:!0,DropTypeNode:!0,DropViewNode:!0,InsertQueryNode:!0,RawNode:!0,SelectQueryNode:!0,UpdateQueryNode:!0,MergeQueryNode:!0});var L,j,F,N,we,ye,ve,M,re,Ne;class vr extends wr{constructor(a){super();k(this,N);k(this,L);k(this,j,new Set);k(this,F,new Set);U(this,L,a)}transformNodeImpl(a){if(!p(this,N,we).call(this,a))return super.transformNodeImpl(a);const r=p(this,N,ve).call(this,a);for(const s of r)m(this,F).add(s);const n=p(this,N,ye).call(this,a);for(const s of n)m(this,j).add(s);const o=super.transformNodeImpl(a);for(const s of n)m(this,j).delete(s);for(const s of r)m(this,F).delete(s);return o}transformSchemableIdentifier(a){const r=super.transformSchemableIdentifier(a);return r.schema||!m(this,j).has(a.identifier.name)?r:{...r,schema:Y.create(m(this,L))}}transformReferences(a){const r=super.transformReferences(a);return r.table.table.schema?r:{...r,table:Z.createWithSchema(m(this,L),r.table.table.identifier.name)}}}L=new WeakMap,j=new WeakMap,F=new WeakMap,N=new WeakSet,we=function(a){return a.kind in yr},ye=function(a){const r=new Set;if("name"in a&&a.name&&ae.is(a.name)&&p(this,N,re).call(this,a.name,r),"from"in a&&a.from)for(const n of a.from.froms)p(this,N,M).call(this,n,r);if("into"in a&&a.into&&p(this,N,M).call(this,a.into,r),"table"in a&&a.table&&p(this,N,M).call(this,a.table,r),"joins"in a&&a.joins)for(const n of a.joins)p(this,N,M).call(this,n.table,r);return"using"in a&&a.using&&p(this,N,M).call(this,a.using,r),r},ve=function(a){const r=new Set;return"with"in a&&a.with&&p(this,N,Ne).call(this,a.with,r),r},M=function(a,r){const n=Z.is(a)?a:gr.is(a)&&Z.is(a.node)?a.node:null;n&&p(this,N,re).call(this,n.table,r)},re=function(a,r){const n=a.identifier.name;!m(this,j).has(n)&&!m(this,F).has(n)&&r.add(n)},Ne=function(a,r){for(const n of a.expressions){const o=n.name.table.table.identifier.name;m(this,F).has(o)||r.add(o)}};var W;class Nr{constructor(e){k(this,W);U(this,W,new vr(e))}transformQuery(e){return m(this,W).transformNode(e.node)}async transformResult(e){return e.result}}W=new WeakMap;class Cr{transformQuery(e){return e.node}async transformResult(e){return e.result}}const br="kysely_migration",he="kysely_migration_lock",xr=!1,ee="migration_lock",Tr=C({__noMigrations__:!0});var v,l,q,$,I,J,be,D,xe,Te,Se,Oe,ke,ne,E,oe,$e,Ie,De,se,Pe,ze,je,Fe,Ae,B;class Ce{constructor(e){k(this,l);k(this,v);U(this,v,C(e))}async getMigrations(){const e=await p(this,l,E).call(this,m(this,l,I))?await m(this,v).db.withPlugin(m(this,l,D)).selectFrom(m(this,l,I)).select(["name","timestamp"]).execute():[];return(await p(this,l,se).call(this)).map(({name:r,...n})=>{const o=e.find(s=>s.name===r);return{name:r,migration:n,executedAt:o?new Date(o.timestamp):void 0}})}async migrateToLatest(){return p(this,l,q).call(this,()=>({direction:"Up",step:1/0}))}async migrateTo(e){return p(this,l,q).call(this,({migrations:a,executedMigrations:r,pendingMigrations:n})=>{if(e===Tr)return{direction:"Down",step:1/0};if(!a.find(i=>i.name===e))throw new Error(`migration "${e}" doesn't exist`);const o=r.indexOf(e),s=n.findIndex(i=>i.name===e);if(o!==-1)return{direction:"Down",step:r.length-o-1};if(s!==-1)return{direction:"Up",step:s+1};throw new Error(`migration "${e}" isn't executed or pending`)})}async migrateUp(){return p(this,l,q).call(this,()=>({direction:"Up",step:1}))}async migrateDown(){return p(this,l,q).call(this,()=>({direction:"Down",step:1}))}}v=new WeakMap,l=new WeakSet,q=async function(e){try{return await p(this,l,xe).call(this),await p(this,l,$e).call(this,e)}catch(a){return a instanceof te?a.resultSet:{error:a}}},$=function(){return m(this,v).migrationTableSchema},I=function(){return m(this,v).migrationTableName??br},J=function(){return m(this,v).migrationLockTableName??he},be=function(){return m(this,v).allowUnorderedMigrations??xr},D=function(){return m(this,l,$)?new Nr(m(this,l,$)):new Cr},xe=async function(){await p(this,l,Te).call(this),await p(this,l,Se).call(this),await p(this,l,Oe).call(this),await p(this,l,ke).call(this)},Te=async function(){if(m(this,l,$)&&!await p(this,l,ne).call(this))try{await p(this,l,B).call(this,m(this,v).db.schema.createSchema(m(this,l,$)))}catch(e){if(!await p(this,l,ne).call(this))throw e}},Se=async function(){if(!await p(this,l,E).call(this,m(this,l,I)))try{m(this,l,$)&&await p(this,l,B).call(this,m(this,v).db.schema.createSchema(m(this,l,$))),await p(this,l,B).call(this,m(this,v).db.schema.withPlugin(m(this,l,D)).createTable(m(this,l,I)).addColumn("name","varchar(255)",e=>e.notNull().primaryKey()).addColumn("timestamp","varchar(255)",e=>e.notNull()))}catch(e){if(!await p(this,l,E).call(this,m(this,l,I)))throw e}},Oe=async function(){if(!await p(this,l,E).call(this,m(this,l,J)))try{await p(this,l,B).call(this,m(this,v).db.schema.withPlugin(m(this,l,D)).createTable(m(this,l,J)).addColumn("id","varchar(255)",e=>e.notNull().primaryKey()).addColumn("is_locked","integer",e=>e.notNull().defaultTo(0)))}catch(e){if(!await p(this,l,E).call(this,m(this,l,J)))throw e}},ke=async function(){if(!await p(this,l,oe).call(this))try{await m(this,v).db.withPlugin(m(this,l,D)).insertInto(m(this,l,J)).values({id:ee,is_locked:0}).execute()}catch(e){if(!await p(this,l,oe).call(this))throw e}},ne=async function(){return(await m(this,v).db.introspection.getSchemas()).some(a=>a.name===m(this,l,$))},E=async function(e){const a=m(this,l,$);return(await m(this,v).db.introspection.getTables({withInternalKyselyTables:!0})).some(n=>n.name===e&&(!a||n.schema===a))},oe=async function(){return!!await m(this,v).db.withPlugin(m(this,l,D)).selectFrom(m(this,l,J)).where("id","=",ee).select("id").executeTakeFirst()},$e=async function(e){const a=m(this,v).db.getExecutor().adapter,r=C({lockTable:m(this,v).migrationLockTableName??he,lockRowId:ee,lockTableSchema:m(this,v).migrationTableSchema}),n=async o=>{try{await a.acquireMigrationLock(o,r);const s=await p(this,l,Ie).call(this,o);if(s.migrations.length===0)return{results:[]};const{direction:i,step:c}=e(s);return c<=0?{results:[]}:i==="Down"?await p(this,l,Fe).call(this,o,s,c):i==="Up"?await p(this,l,Ae).call(this,o,s,c):{results:[]}}finally{await a.releaseMigrationLock(o,r)}};return a.supportsTransactionalDdl?m(this,v).db.transaction().execute(n):m(this,v).db.connection().execute(n)},Ie=async function(e){const a=await p(this,l,se).call(this),r=await p(this,l,Pe).call(this,e);p(this,l,ze).call(this,a,r),m(this,l,be)||p(this,l,je).call(this,a,r);const n=p(this,l,De).call(this,a,r);return C({migrations:a,executedMigrations:r,lastMigration:pr(r),pendingMigrations:n})},De=function(e,a){return e.filter(r=>!a.includes(r.name))},se=async function(){const e=await m(this,v).provider.getMigrations();return Object.keys(e).sort().map(a=>({...e[a],name:a}))},Pe=async function(e){return(await e.withPlugin(m(this,l,D)).selectFrom(m(this,l,I)).select("name").orderBy(["timestamp","name"]).execute()).map(r=>r.name)},ze=function(e,a){for(const r of a)if(!e.some(n=>n.name===r))throw new Error(`corrupted migrations: previously executed migration ${r} is missing`)},je=function(e,a){for(let r=0;r<a.length;++r)if(e[r].name!==a[r])throw new Error(`corrupted migrations: expected previously executed migration ${a[r]} to be at index ${r} but ${e[r].name} was found in its place. New migrations must always have a name that comes alphabetically after the last executed migration.`)},Fe=async function(e,a,r){const n=a.executedMigrations.slice().reverse().slice(0,r).map(s=>a.migrations.find(i=>i.name===s)),o=n.map(s=>({migrationName:s.name,direction:"Down",status:"NotExecuted"}));for(let s=0;s<o.length;++s){const i=n[s];try{i.down&&(await i.down(e),await e.withPlugin(m(this,l,D)).deleteFrom(m(this,l,I)).where("name","=",i.name).execute(),o[s]={migrationName:i.name,direction:"Down",status:"Success"})}catch(c){throw o[s]={migrationName:i.name,direction:"Down",status:"Error"},new te({error:c,results:o})}}return{results:o}},Ae=async function(e,a,r){const o=a.pendingMigrations.slice(0,r).map(s=>({migrationName:s.name,direction:"Up",status:"NotExecuted"}));for(let s=0;s<o.length;s++){const i=a.pendingMigrations[s];try{await i.up(e),await e.withPlugin(m(this,l,D)).insertInto(m(this,l,I)).values({name:i.name,timestamp:new Date().toISOString()}).execute(),o[s]={migrationName:i.name,direction:"Up",status:"Success"}}catch(c){throw o[s]={migrationName:i.name,direction:"Up",status:"Error"},new te({error:c,results:o})}}return{results:o}},B=async function(e){m(this,v).db.getExecutor().adapter.supportsCreateIfNotExists&&(e=e.ifNotExists()),await e.execute()};var V;class te extends Error{constructor(a){super();k(this,V);U(this,V,a)}get resultSet(){return m(this,V)}}V=new WeakMap;class Me{constructor(e){K(this,"migrations");this.migrations=e}async getMigrations(){return this.migrations}}async function Sr(t){await t.schema.createTable("tenants").addColumn("id","varchar(255)",e=>e.primaryKey()).addColumn("name","varchar(255)").addColumn("audience","varchar(255)").addColumn("sender_email","varchar(255)").addColumn("sender_name","varchar(255)").addColumn("language","varchar(255)").addColumn("logo","varchar(255)").addColumn("primary_color","varchar(255)").addColumn("secondary_color","varchar(255)").addColumn("created_at","varchar(255)",e=>e.notNull()).addColumn("updated_at","varchar(255)",e=>e.notNull()).execute(),await t.schema.createTable("users").addColumn("user_id","varchar(255)",e=>e.notNull()).addColumn("tenant_id","varchar(255)",e=>e.references("tenants.id").onDelete("cascade").notNull()).addColumn("email","varchar(255)").addColumn("given_name","varchar(255)").addColumn("family_name","varchar(255)").addColumn("nickname","varchar(255)").addColumn("name","varchar(255)").addColumn("picture","varchar(2083)").addColumn("tags","varchar(255)").addColumn("phone_number","varchar(17)").addColumn("phone_verified","boolean").addColumn("username","varchar(128)").addColumn("created_at","varchar(255)",e=>e.notNull()).addColumn("updated_at","varchar(255)",e=>e.notNull()).addPrimaryKeyConstraint("users_tenants",["user_id","tenant_id"]).addColumn("linked_to","varchar(255)").addForeignKeyConstraint("linked_to_constraint",["linked_to","tenant_id"],"users",["user_id","tenant_id"]).addColumn("last_ip","varchar(255)").addColumn("login_count","integer",e=>e.notNull()).addColumn("last_login","varchar(255)").addColumn("provider","varchar(255)",e=>e.notNull()).addColumn("connection","varchar(255)").addColumn("email_verified","boolean",e=>e.notNull()).addColumn("is_social","boolean",e=>e.notNull()).addColumn("app_metadata","varchar(4096)",e=>e.defaultTo("{}").notNull()).addColumn("user_metadata","varchar(4096)",e=>e.defaultTo("{}").notNull()).addUniqueConstraint("unique_email_provider",["email","provider","tenant_id"]).addUniqueConstraint("unique_phone_provider",["phone_number","provider","tenant_id"]).execute(),await t.schema.createTable("members").addColumn("id","varchar(255)",e=>e.notNull().primaryKey()).addColumn("tenant_id","varchar(255)",e=>e.references("tenants.id").onDelete("cascade").notNull()).addColumn("sub","varchar(255)").addColumn("email","varchar(255)").addColumn("name","varchar(255)").addColumn("status","varchar(255)").addColumn("role","varchar(255)").addColumn("picture","varchar(2083)").addColumn("created_at","varchar(255)",e=>e.notNull()).addColumn("updated_at","varchar(255)",e=>e.notNull()).execute(),await t.schema.createTable("applications").addColumn("id","varchar(255)",e=>e.notNull().primaryKey()).addColumn("tenant_id","varchar(255)",e=>e.references("tenants.id").onDelete("cascade").notNull()).addColumn("name","varchar(255)",e=>e.notNull()).addColumn("client_secret","varchar(255)").addColumn("allowed_logout_urls","varchar(255)").addColumn("authentication_settings","varchar(255)").addColumn("addons","varchar(4096)",e=>e.notNull().defaultTo("{}")).addColumn("callbacks","varchar(1024)",e=>e.notNull().defaultTo("[]")).addColumn("allowed_origins","varchar(1024)",e=>e.notNull().defaultTo("[]")).addColumn("web_origins","varchar(1024)",e=>e.notNull().defaultTo("[]")).addColumn("allowed_clients","varchar(1024)",e=>e.defaultTo("[]").notNull()).addColumn("options_kid","varchar(32)").addColumn("options_team_id","varchar(32)").addColumn("options_client_id","varchar(128)").addColumn("options_client_secret","varchar(255)").addColumn("options_scope","varchar(255)").addColumn("options_realms","varchar(255)").addColumn("options_app_secret","varchar(1024)").addColumn("email_validation","varchar(255)").addColumn("disable_sign_ups","boolean",e=>e.notNull()).addColumn("created_at","varchar(255)",e=>e.notNull()).addColumn("updated_at","varchar(255)",e=>e.notNull()).execute(),await t.schema.createTable("connections").addColumn("id","varchar(255)",e=>e.notNull().primaryKey()).addColumn("tenant_id","varchar(255)",e=>e.references("tenants.id").onDelete("cascade").notNull()).addColumn("name","varchar(255)",e=>e.notNull()).addColumn("response_type","varchar(255)").addColumn("response_mode","varchar(255)").addColumn("strategy","varchar(64)").addColumn("options","varchar(2048)",e=>e.defaultTo("{}").notNull()).addColumn("created_at","varchar(255)",e=>e.notNull()).addColumn("updated_at","varchar(255)",e=>e.notNull()).execute(),await t.schema.createTable("migrations").addColumn("id","varchar(255)",e=>e.notNull().primaryKey()).addColumn("tenant_id","varchar(255)",e=>e.references("tenants.id").onDelete("cascade").notNull()).addColumn("provider","varchar(255)").addColumn("client_id","varchar(255)").addColumn("origin","varchar(255)").addColumn("domain","varchar(255)").addColumn("created_at","varchar(255)",e=>e.notNull()).addColumn("updated_at","varchar(255)",e=>e.notNull()).execute(),await t.schema.createTable("domains").addColumn("id","varchar(255)",e=>e.notNull().primaryKey()).addColumn("tenant_id","varchar(255)",e=>e.references("tenants.id").onDelete("cascade").notNull()).addColumn("domain","varchar(255)",e=>e.notNull()).addColumn("email_service","varchar(255)").addColumn("email_api_key","varchar(255)").addColumn("dkim_private_key","varchar(2048)").addColumn("dkim_public_key","varchar(2048)").addColumn("created_at","varchar(255)",e=>e.notNull()).addColumn("updated_at","varchar(255)",e=>e.notNull()).execute()}async function Or(t){await t.schema.dropTable("domains").execute(),await t.schema.dropTable("members").execute(),await t.schema.dropTable("users").execute(),await t.schema.dropTable("connections").execute(),await t.schema.dropTable("applications").execute(),await t.schema.dropTable("migrations").execute(),await t.schema.dropTable("tenants").execute()}const kr=Object.freeze(Object.defineProperty({__proto__:null,down:Or,up:Sr},Symbol.toStringTag,{value:"Module"}));async function $r(t){await t.schema.alterTable("tenants").addColumn("support_url","varchar(255)").execute()}async function Ir(t){await t.schema.alterTable("tenants").dropColumn("support_url").execute()}const Dr=Object.freeze(Object.defineProperty({__proto__:null,down:Ir,up:$r},Symbol.toStringTag,{value:"Module"}));async function Pr(t){}async function zr(t){}const jr=Object.freeze(Object.defineProperty({__proto__:null,down:zr,up:Pr},Symbol.toStringTag,{value:"Module"}));async function Fr(t){await t.schema.createTable("logs").addColumn("id","varchar(255)",e=>e.notNull().primaryKey()).addColumn("category","varchar(255)",e=>e.notNull()).addColumn("tenant_id","varchar(64)").addColumn("user_id","varchar(64)").addForeignKeyConstraint("tenant_id_constraint",["tenant_id"],"tenants",["id"],e=>e.onDelete("cascade")).addColumn("ip","varchar(255)").addColumn("type","varchar(8)",e=>e.notNull()).addColumn("date","varchar(25)",e=>e.notNull()).addColumn("client_id","varchar(255)").addColumn("client_name","varchar(255)").addColumn("user_agent","varchar(255)").addColumn("description","varchar(255)").addColumn("details","varchar(2048)").execute()}async function Ar(t){await t.schema.dropTable("logs").execute()}const Mr=Object.freeze(Object.defineProperty({__proto__:null,down:Ar,up:Fr},Symbol.toStringTag,{value:"Module"}));async function Jr(t){}async function Er(t){}const Lr=Object.freeze(Object.defineProperty({__proto__:null,down:Er,up:Jr},Symbol.toStringTag,{value:"Module"}));async function Rr(t){await t.schema.createTable("sessions").addColumn("id","varchar(21)",e=>e.primaryKey()).addColumn("tenant_id","varchar(255)").addColumn("user_id","varchar(255)").addForeignKeyConstraint("user_id_constraint",["user_id","tenant_id"],"users",["user_id","tenant_id"],e=>e.onDelete("cascade")).addColumn("created_at","varchar(35)",e=>e.notNull()).addColumn("updated_at","varchar(35)",e=>e.notNull()).addColumn("expires_at","varchar(35)").addColumn("idle_expires_at","varchar(35)").addColumn("authenticated_at","varchar(35)").addColumn("last_interaction_at","varchar(35)").addColumn("used_at","varchar(35)").addColumn("revoked_at","varchar(35)").addColumn("device","varchar(2048)",e=>e.notNull()).addColumn("clients","varchar(1024)",e=>e.notNull()).execute(),await t.schema.createTable("tickets").addColumn("tenant_id","varchar(255)",e=>e.references("tenants.id").onDelete("cascade").notNull()).addColumn("id","varchar(255)",e=>e.primaryKey()).addColumn("client_id","varchar(255)",e=>e.references("applications.id").onDelete("cascade").notNull()).addColumn("email","varchar(255)",e=>e.notNull()).addColumn("nonce","varchar(255)").addColumn("state","varchar(1024)").addColumn("scope","varchar(1024)").addColumn("response_type","varchar(256)").addColumn("response_mode","varchar(256)").addColumn("redirect_uri","varchar(1024)").addColumn("created_at","varchar(255)",e=>e.notNull()).addColumn("expires_at","varchar(255)",e=>e.notNull()).addColumn("used_at","varchar(255)").execute(),await t.schema.createTable("otps").addColumn("tenant_id","varchar(255)",e=>e.references("tenants.id").onDelete("cascade").notNull()).addColumn("id","varchar(255)",e=>e.primaryKey()).addColumn("client_id","varchar(255)",e=>e.references("applications.id").onDelete("cascade").notNull()).addColumn("code","varchar(255)",e=>e.notNull()).addColumn("email","varchar(255)",e=>e.notNull()).addColumn("user_id","varchar(255)").addColumn("send","varchar(255)").addColumn("nonce","varchar(255)").addColumn("state","varchar(1024)").addColumn("scope","varchar(1024)").addColumn("response_type","varchar(256)").addColumn("response_mode","varchar(256)").addColumn("redirect_uri","varchar(1024)").addColumn("created_at","varchar(255)",e=>e.notNull()).addColumn("expires_at","varchar(255)",e=>e.notNull()).addColumn("used_at","varchar(255)").execute(),await t.schema.createIndex("otps_email_index").on("otps").column("email").execute(),await t.schema.createIndex("otps_expires_at_index").on("otps").column("expires_at").execute()}async function Kr(t){await t.schema.dropTable("sessions").execute(),await t.schema.dropTable("tickets").execute(),await t.schema.dropTable("otps").execute()}const Ur=Object.freeze(Object.defineProperty({__proto__:null,down:Kr,up:Rr},Symbol.toStringTag,{value:"Module"}));async function qr(t){await t.schema.createTable("passwords").addColumn("tenant_id","varchar(255)").addColumn("user_id","varchar(255)").addPrimaryKeyConstraint("passwords_pkey",["user_id","tenant_id"]).addForeignKeyConstraint("user_id_constraint",["user_id","tenant_id"],"users",["user_id","tenant_id"],e=>e.onDelete("cascade")).addColumn("created_at","varchar(255)").addColumn("updated_at","varchar(255)").execute(),await t.schema.createTable("codes").addColumn("id","varchar(255)",e=>e.primaryKey()).addColumn("user_id","varchar(255)").addColumn("tenant_id","varchar(255)").addForeignKeyConstraint("user_id_constraint",["user_id","tenant_id"],"users",["user_id","tenant_id"],e=>e.onDelete("cascade")).addColumn("type","varchar(255)",e=>e.notNull()).addColumn("created_at","varchar(255)",e=>e.notNull()).addColumn("expires_at","varchar(255)",e=>e.notNull()).addColumn("used_at","varchar(255)").execute(),await t.schema.createIndex("codes_expires_at_index").on("codes").column("expires_at").execute()}async function Br(t){await t.schema.dropTable("passwords").execute(),await t.schema.dropTable("codes").execute()}const Qr=Object.freeze(Object.defineProperty({__proto__:null,down:Br,up:qr},Symbol.toStringTag,{value:"Module"}));async function Wr(t){}async function Vr(t){}const Gr=Object.freeze(Object.defineProperty({__proto__:null,down:Vr,up:Wr},Symbol.toStringTag,{value:"Module"}));async function Yr(t){await t.schema.alterTable("passwords").addColumn("password","varchar(255)",e=>e.notNull()).execute()}async function Hr(t){await t.schema.alterTable("passwords").dropColumn("password").execute()}const Xr=Object.freeze(Object.defineProperty({__proto__:null,down:Hr,up:Yr},Symbol.toStringTag,{value:"Module"}));async function Zr(t){}async function en(t){}const tn=Object.freeze(Object.defineProperty({__proto__:null,down:en,up:Zr},Symbol.toStringTag,{value:"Module"}));async function an(t){}async function rn(t){}const nn=Object.freeze(Object.defineProperty({__proto__:null,down:rn,up:an},Symbol.toStringTag,{value:"Module"}));async function on(t){}async function sn(t){}const ln=Object.freeze(Object.defineProperty({__proto__:null,down:sn,up:on},Symbol.toStringTag,{value:"Module"}));async function cn(t){await t.schema.createIndex("users_email_index").on("users").column("email").execute()}async function dn(t){await t.schema.dropIndex("users_email_index").execute()}const un=Object.freeze(Object.defineProperty({__proto__:null,down:dn,up:cn},Symbol.toStringTag,{value:"Module"}));async function mn(t){await t.schema.alterTable("users").addColumn("profileData","varchar(2048)").execute()}async function _n(t){await t.schema.alterTable("users").dropColumn("profileData").execute()}const hn=Object.freeze(Object.defineProperty({__proto__:null,down:_n,up:mn},Symbol.toStringTag,{value:"Module"}));async function fn(t){await t.schema.createIndex("users_linked_to_index").on("users").column("linked_to").execute()}async function pn(t){await t.schema.dropIndex("users_linked_to_index")}const gn=Object.freeze(Object.defineProperty({__proto__:null,down:pn,up:fn},Symbol.toStringTag,{value:"Module"}));async function wn(t){await t.schema.alterTable("users").addColumn("locale","varchar(255)").execute()}async function yn(t){await t.schema.alterTable("users").dropColumn("locale").execute()}const vn=Object.freeze(Object.defineProperty({__proto__:null,down:yn,up:wn},Symbol.toStringTag,{value:"Module"}));async function Nn(t){await t.schema.createTable("keys").addColumn("kid","varchar(255)",e=>e.primaryKey()).addColumn("tenant_id","varchar(255)",e=>e.references("tenants.id").onDelete("cascade")).addColumn("created_at","varchar(255)",e=>e.notNull()).addColumn("revoked_at","varchar(255)").addColumn("cert","varchar(4096)").addColumn("pkcs7","varchar(4096)").addColumn("fingerprint","varchar(256)").addColumn("thumbprint","varchar(256)").addColumn("current_since","varchar(256)").addColumn("current_until","varchar(256)").addColumn("type","varchar(50)",e=>e.notNull().defaultTo("jwt_signing")).addColumn("connection","varchar(255)",e=>e.references("connections.id").onDelete("cascade")).execute()}async function Cn(t){await t.schema.dropTable("keys").execute()}const bn=Object.freeze(Object.defineProperty({__proto__:null,down:Cn,up:Nn},Symbol.toStringTag,{value:"Module"}));async function xn(t){}async function Tn(t){}const Sn=Object.freeze(Object.defineProperty({__proto__:null,down:Tn,up:xn},Symbol.toStringTag,{value:"Module"}));async function On(t){}async function kn(t){}const $n=Object.freeze(Object.defineProperty({__proto__:null,down:kn,up:On},Symbol.toStringTag,{value:"Module"}));async function In(t){await t.schema.alterTable("otps").addColumn("audience","varchar(255)").execute()}async function Dn(t){await t.schema.alterTable("otps").dropColumn("audience").execute()}const Pn=Object.freeze(Object.defineProperty({__proto__:null,down:Dn,up:In},Symbol.toStringTag,{value:"Module"}));async function zn(t){}async function jn(t){}const Fn=Object.freeze(Object.defineProperty({__proto__:null,down:jn,up:zn},Symbol.toStringTag,{value:"Module"}));async function An(t){await t.schema.alterTable("logs").dropColumn("category").execute()}async function Mn(t){await t.schema.alterTable("logs").addColumn("category","varchar(255)",e=>e.notNull()).execute()}const Jn=Object.freeze(Object.defineProperty({__proto__:null,down:Mn,up:An},Symbol.toStringTag,{value:"Module"}));async function En(t){await t.schema.alterTable("users").dropColumn("tags").execute()}async function Ln(t){await t.schema.alterTable("users").addColumn("tags","varchar(255)").execute()}const Rn=Object.freeze(Object.defineProperty({__proto__:null,down:Ln,up:En},Symbol.toStringTag,{value:"Module"}));async function Kn(t){await t.schema.createIndex("logs_user_id").on("logs").column("user_id").execute(),await t.schema.createIndex("logs_tenant_id").on("logs").column("tenant_id").execute(),await t.schema.createIndex("logs_date").on("logs").column("date").execute()}async function Un(t){await t.schema.dropIndex("logs_user_id"),await t.schema.dropIndex("logs_tenant_id"),await t.schema.dropIndex("logs_date")}const qn=Object.freeze(Object.defineProperty({__proto__:null,down:Un,up:Kn},Symbol.toStringTag,{value:"Module"}));async function Bn(t){await t.schema.alterTable("logs").dropColumn("details").execute(),await t.schema.alterTable("logs").addColumn("details","varchar(8192)").execute()}async function Qn(t){await t.schema.alterTable("logs").dropColumn("details").execute(),await t.schema.alterTable("logs").addColumn("details","varchar(2048)").execute()}const Wn=Object.freeze(Object.defineProperty({__proto__:null,down:Qn,up:Bn},Symbol.toStringTag,{value:"Module"}));async function Vn(t){await t.schema.alterTable("logs").addColumn("user_name","varchar(255)").execute(),await t.schema.alterTable("logs").addColumn("auth0_client","varchar(255)").execute(),await t.schema.alterTable("logs").addColumn("isMobile","boolean").execute(),await t.schema.alterTable("logs").addColumn("connection","varchar(255)").execute(),await t.schema.alterTable("logs").addColumn("connection_id","varchar(255)").execute(),await t.schema.alterTable("logs").addColumn("audience","varchar(255)").execute(),await t.schema.alterTable("logs").addColumn("scope","varchar(255)").execute(),await t.schema.alterTable("logs").addColumn("strategy","varchar(255)").execute(),await t.schema.alterTable("logs").addColumn("strategy_type","varchar(255)").execute(),await t.schema.alterTable("logs").addColumn("hostname","varchar(255)").execute(),await t.schema.alterTable("logs").addColumn("session_connection","varchar(255)").execute()}async function Gn(t){await t.schema.alterTable("logs").dropColumn("user_name").execute(),await t.schema.alterTable("logs").dropColumn("auth0_client").execute(),await t.schema.alterTable("logs").dropColumn("isMobile").execute(),await t.schema.alterTable("logs").dropColumn("connection").execute(),await t.schema.alterTable("logs").dropColumn("connection_id").execute(),await t.schema.alterTable("logs").dropColumn("audience").execute(),await t.schema.alterTable("logs").dropColumn("scope").execute(),await t.schema.alterTable("logs").dropColumn("strategy").execute(),await t.schema.alterTable("logs").dropColumn("strategy_type").execute(),await t.schema.alterTable("logs").dropColumn("hostname").execute(),await t.schema.alterTable("logs").dropColumn("session_connection").execute()}const Yn=Object.freeze(Object.defineProperty({__proto__:null,down:Gn,up:Vn},Symbol.toStringTag,{value:"Module"}));async function Hn(t){await t.schema.createIndex("users_name_index").on("users").column("name").execute()}async function Xn(t){await t.schema.dropIndex("users_name_index").execute()}const Zn=Object.freeze(Object.defineProperty({__proto__:null,down:Xn,up:Hn},Symbol.toStringTag,{value:"Module"}));async function eo(t){}async function to(t){await t.schema.alterTable("users").dropConstraint("unique_email_provider").execute()}const ao=Object.freeze(Object.defineProperty({__proto__:null,down:to,up:eo},Symbol.toStringTag,{value:"Module"}));async function ro(t){await t.schema.alterTable("otps").dropColumn("state").execute(),await t.schema.alterTable("otps").addColumn("state","varchar(8192)").execute()}async function no(t){await t.schema.alterTable("otps").dropColumn("state").execute(),await t.schema.alterTable("otps").addColumn("state","varchar(1024)").execute()}const oo=Object.freeze(Object.defineProperty({__proto__:null,down:no,up:ro},Symbol.toStringTag,{value:"Module"}));async function so(t){await t.schema.alterTable("tickets").dropColumn("state").execute(),await t.schema.alterTable("tickets").addColumn("state","varchar(8192)").execute()}async function io(t){await t.schema.alterTable("tickets").dropColumn("state").execute(),await t.schema.alterTable("tickets").addColumn("state","varchar(1024)").execute()}const lo=Object.freeze(Object.defineProperty({__proto__:null,down:io,up:so},Symbol.toStringTag,{value:"Module"}));async function co(t){await t.schema.createTable("branding").addColumn("tenant_id","varchar(255)",e=>e.references("tenants.id").onDelete("cascade").notNull().primaryKey()).addColumn("logo_url","varchar(512)").addColumn("favicon_url","varchar(512)").addColumn("font_url","varchar(512)").addColumn("colors_primary","varchar(8)").addColumn("colors_page_background_type","varchar(32)").addColumn("colors_page_background_start","varchar(8)").addColumn("colors_page_background_end","varchar(8)").addColumn("colors_page_background_angle_dev","integer").execute()}async function uo(t){await t.schema.dropTable("branding").execute()}const mo=Object.freeze(Object.defineProperty({__proto__:null,down:uo,up:co},Symbol.toStringTag,{value:"Module"}));async function _o(t){}async function ho(t){}const fo=Object.freeze(Object.defineProperty({__proto__:null,down:ho,up:_o},Symbol.toStringTag,{value:"Module"}));async function po(t){}async function go(t){}const wo=Object.freeze(Object.defineProperty({__proto__:null,down:go,up:po},Symbol.toStringTag,{value:"Module"}));async function yo(t){}async function vo(t){}const No=Object.freeze(Object.defineProperty({__proto__:null,down:vo,up:yo},Symbol.toStringTag,{value:"Module"}));async function Co(t){}async function bo(t){}const xo=Object.freeze(Object.defineProperty({__proto__:null,down:bo,up:Co},Symbol.toStringTag,{value:"Module"}));async function To(t){await t.schema.createTable("authentication_codes").addColumn("tenant_id","varchar(255)",e=>e.references("tenants.id").onDelete("cascade").notNull()).addColumn("code","varchar(255)",e=>e.primaryKey()).addColumn("client_id","varchar(255)",e=>e.references("applications.id").onDelete("cascade").notNull()).addColumn("user_id","varchar(255)",e=>e.notNull()).addColumn("nonce","varchar(255)").addColumn("state","varchar(8192)").addColumn("scope","varchar(1024)").addColumn("response_type","varchar(256)").addColumn("response_mode","varchar(256)").addColumn("redirect_uri","varchar(1024)").addColumn("created_at","varchar(255)",e=>e.notNull()).addColumn("expires_at","varchar(255)",e=>e.notNull()).addColumn("used_at","varchar(255)").execute()}async function So(t){await t.schema.dropTable("authentication_codes").execute()}const Oo=Object.freeze(Object.defineProperty({__proto__:null,down:So,up:To},Symbol.toStringTag,{value:"Module"}));async function ko(t){}async function $o(t){}const Io=Object.freeze(Object.defineProperty({__proto__:null,down:$o,up:ko},Symbol.toStringTag,{value:"Module"}));async function Do(t){await t.schema.alterTable("otps").addColumn("ip","varchar(64)").execute()}async function Po(t){await t.schema.alterTable("otps").dropColumn("ip").execute()}const zo=Object.freeze(Object.defineProperty({__proto__:null,down:Po,up:Do},Symbol.toStringTag,{value:"Module"}));async function jo(t){await t.schema.alterTable("logs").dropColumn("user_agent").execute(),await t.schema.alterTable("logs").addColumn("user_agent","varchar(1024)").execute()}async function Fo(t){await t.schema.alterTable("logs").dropColumn("user_agent").execute(),await t.schema.alterTable("logs").addColumn("user_agent","varchar(255)").execute()}const Ao=Object.freeze(Object.defineProperty({__proto__:null,down:Fo,up:jo},Symbol.toStringTag,{value:"Module"}));async function Mo(t){}async function Jo(t){}const Eo=Object.freeze(Object.defineProperty({__proto__:null,down:Jo,up:Mo},Symbol.toStringTag,{value:"Module"}));async function Lo(t){await t.schema.createTable("hooks").addColumn("hook_id","varchar(255)",e=>e.notNull().primaryKey()).addColumn("tenant_id","varchar(255)",e=>e.references("tenants.id").onDelete("cascade").notNull()).addColumn("url","varchar(512)",e=>e.notNull()).addColumn("trigger_id","varchar(255)",e=>e.notNull()).addColumn("enabled","boolean",e=>e.notNull()).addColumn("created_at","varchar(255)",e=>e.notNull()).addColumn("updated_at","varchar(255)",e=>e.notNull()).addColumn("synchronous","boolean",e=>e.defaultTo(!1).notNull()).addColumn("priority","integer").execute()}async function Ro(t){await t.schema.dropTable("hooks").execute()}const Ko=Object.freeze(Object.defineProperty({__proto__:null,down:Ro,up:Lo},Symbol.toStringTag,{value:"Module"}));async function Uo(t){}async function qo(t){}const Bo=Object.freeze(Object.defineProperty({__proto__:null,down:qo,up:Uo},Symbol.toStringTag,{value:"Module"}));async function Qo(t){}async function Wo(t){}const Vo=Object.freeze(Object.defineProperty({__proto__:null,down:Wo,up:Qo},Symbol.toStringTag,{value:"Module"}));async function Go(t){await t.schema.createTable("logins").addColumn("login_id","varchar(255)",e=>e.primaryKey()).addColumn("tenant_id","varchar(255)",e=>e.references("tenants.id").onDelete("cascade").notNull()).addColumn("authParams_client_id","varchar(255)",e=>e.notNull()).addColumn("authParams_vendor_id","varchar(255)").addColumn("authParams_username","varchar(255)").addColumn("authParams_response_type","varchar(255)").addColumn("authParams_response_mode","varchar(255)").addColumn("authParams_audience","varchar(255)").addColumn("authParams_scope","varchar(511)").addColumn("authParams_state","varchar(511)").addColumn("authParams_code_challenge_method","varchar(256)").addColumn("authParams_code_challenge","varchar(256)").addColumn("authParams_redirect_uri","varchar(256)").addColumn("authParams_organization","varchar(256)").addColumn("authorization_url","varchar(1024)").addColumn("created_at","varchar(255)",e=>e.notNull()).addColumn("updated_at","varchar(255)",e=>e.notNull()).addColumn("expires_at","varchar(255)",e=>e.notNull()).addColumn("ip","varchar(255)").addColumn("useragent","varchar(512)").execute(),await t.schema.alterTable("passwords").addColumn("algorithm","varchar(16)").execute(),await t.schema.dropTable("codes").execute(),await t.schema.createTable("codes").addColumn("code_id","varchar(255)",e=>e.primaryKey()).addColumn("tenant_id","varchar(255)",e=>e.references("tenants.id").onDelete("cascade").notNull()).addColumn("user_id","varchar(255)").addColumn("login_id","varchar(255)").addForeignKeyConstraint("codes_user_id_tenant_id_constraint",["user_id","tenant_id"],"users",["user_id","tenant_id"],e=>e.onDelete("cascade")).addColumn("code_type","varchar(255)",e=>e.notNull()).addColumn("created_at","varchar(255)",e=>e.notNull()).addColumn("expires_at","varchar(255)",e=>e.notNull()).addColumn("used_at","varchar(255)").execute()}async function Yo(t){await t.schema.dropTable("logins").execute(),await t.schema.alterTable("passwords").dropColumn("algorithm").execute(),await t.schema.dropTable("codes").execute(),await t.schema.createTable("codes").addColumn("id","varchar(255)",e=>e.primaryKey()).addColumn("code","varchar(255)",e=>e.notNull()).addColumn("user_id","varchar(255)").addColumn("tenant_id","varchar(255)").addForeignKeyConstraint("codes_user_id_tenant_id_constraint",["user_id","tenant_id"],"users",["user_id","tenant_id"],e=>e.onDelete("cascade")).addColumn("type","varchar(255)",e=>e.notNull()).addColumn("created_at","varchar(255)",e=>e.notNull()).addColumn("expires_at","varchar(255)",e=>e.notNull()).addColumn("used_at","varchar(255)").execute()}const Ho=Object.freeze(Object.defineProperty({__proto__:null,down:Yo,up:Go},Symbol.toStringTag,{value:"Module"}));async function Xo(t){}async function Zo(t){}const es=Object.freeze(Object.defineProperty({__proto__:null,down:Zo,up:Xo},Symbol.toStringTag,{value:"Module"}));async function ts(t){await t.schema.alterTable("logins").addColumn("auth0Client","varchar(256)").execute()}async function as(t){await t.schema.alterTable("logins").dropColumn("auth0Client").execute()}const rs=Object.freeze(Object.defineProperty({__proto__:null,down:as,up:ts},Symbol.toStringTag,{value:"Module"}));async function ns(t){await t.schema.alterTable("logins").dropColumn("authParams_state").execute(),await t.schema.alterTable("logins").addColumn("authParams_state","varchar(8192)").execute()}async function os(t){await t.schema.alterTable("logins").dropColumn("authParams_state").execute(),await t.schema.alterTable("logins").addColumn("authParams_state","varchar(511)").execute()}const ss=Object.freeze(Object.defineProperty({__proto__:null,down:os,up:ns},Symbol.toStringTag,{value:"Module"}));async function is(t){}async function ls(t){}const cs=Object.freeze(Object.defineProperty({__proto__:null,down:ls,up:is},Symbol.toStringTag,{value:"Module"}));async function ds(t){}async function us(t){}const ms=Object.freeze(Object.defineProperty({__proto__:null,down:us,up:ds},Symbol.toStringTag,{value:"Module"}));async function _s(t){await t.schema.alterTable("logins").addColumn("authParams_nonce","varchar(255)").execute()}async function hs(t){await t.schema.alterTable("logins").dropColumn("nonce").execute()}const fs=Object.freeze(Object.defineProperty({__proto__:null,down:hs,up:_s},Symbol.toStringTag,{value:"Module"}));async function ps(t){}async function gs(t){}const ws=Object.freeze(Object.defineProperty({__proto__:null,down:gs,up:ps},Symbol.toStringTag,{value:"Module"}));async function ys(t){}async function vs(t){}const Ns=Object.freeze(Object.defineProperty({__proto__:null,down:vs,up:ys},Symbol.toStringTag,{value:"Module"}));async function Cs(t){await t.schema.dropTable("codes").execute(),await t.schema.createTable("codes").addColumn("code_id","varchar(255)",e=>e.notNull()).addColumn("tenant_id","varchar(255)",e=>e.references("tenants.id").onDelete("cascade").notNull()).addColumn("user_id","varchar(255)").addColumn("login_id","varchar(255)").addColumn("connection_id","varchar(255)").addForeignKeyConstraint("codes_user_id_tenant_id_constraint",["user_id","tenant_id"],"users",["user_id","tenant_id"],e=>e.onDelete("cascade")).addColumn("code_type","varchar(255)",e=>e.notNull()).addColumn("created_at","varchar(255)",e=>e.notNull()).addColumn("expires_at","varchar(255)",e=>e.notNull()).addColumn("used_at","varchar(255)").addPrimaryKeyConstraint("PK_codes_code_id_code_type",["code_id","code_type"]).execute()}async function bs(t){await t.schema.dropTable("codes").execute(),await t.schema.createTable("codes").addColumn("code_id","varchar(255)",e=>e.primaryKey()).addColumn("tenant_id","varchar(255)",e=>e.references("tenants.id").onDelete("cascade").notNull()).addColumn("user_id","varchar(255)").addColumn("connection_id","varchar(255)").addColumn("login_id","varchar(255)").addForeignKeyConstraint("codes_user_id_tenant_id_constraint",["user_id","tenant_id"],"users",["user_id","tenant_id"],e=>e.onDelete("cascade")).addColumn("code_type","varchar(255)",e=>e.notNull()).addColumn("created_at","varchar(255)",e=>e.notNull()).addColumn("expires_at","varchar(255)",e=>e.notNull()).addColumn("used_at","varchar(255)").execute()}const xs=Object.freeze(Object.defineProperty({__proto__:null,down:bs,up:Cs},Symbol.toStringTag,{value:"Module"}));async function Ts(t){await t.schema.dropTable("otps").execute(),await t.schema.dropTable("authentication_codes").execute()}async function Ss(t){await t.schema.alterTable("keys").addColumn("private_key","varchar(2048)").addColumn("public_key","varchar(2048)").execute(),await t.schema.createTable("otps").addColumn("tenant_id","varchar(255)",e=>e.references("tenants.id").onDelete("cascade").notNull()).addColumn("id","varchar(255)",e=>e.primaryKey()).addColumn("client_id","varchar(255)",e=>e.references("applications.id").onDelete("cascade").notNull()).addColumn("code","varchar(255)",e=>e.notNull()).addColumn("email","varchar(255)",e=>e.notNull()).addColumn("user_id","varchar(255)").addColumn("send","varchar(255)").addColumn("nonce","varchar(255)").addColumn("state","varchar(1024)").addColumn("scope","varchar(1024)").addColumn("response_type","varchar(256)").addColumn("response_mode","varchar(256)").addColumn("redirect_uri","varchar(1024)").addColumn("created_at","varchar(255)",e=>e.notNull()).addColumn("expires_at","varchar(255)",e=>e.notNull()).addColumn("used_at","varchar(255)").execute(),await t.schema.createTable("authentication_codes").addColumn("tenant_id","varchar(255)",e=>e.references("tenants.id").onDelete("cascade").notNull()).addColumn("code","varchar(255)",e=>e.primaryKey()).addColumn("client_id","varchar(255)",e=>e.references("applications.id").onDelete("cascade").notNull()).addColumn("user_id","varchar(255)",e=>e.notNull()).addColumn("nonce","varchar(255)").addColumn("state","varchar(8192)").addColumn("scope","varchar(1024)").addColumn("response_type","varchar(256)").addColumn("response_mode","varchar(256)").addColumn("redirect_uri","varchar(1024)").addColumn("created_at","varchar(255)",e=>e.notNull()).addColumn("expires_at","varchar(255)",e=>e.notNull()).addColumn("used_at","varchar(255)").execute()}const Os=Object.freeze(Object.defineProperty({__proto__:null,down:Ss,up:Ts},Symbol.toStringTag,{value:"Module"}));async function ks(t){await t.schema.createIndex("IDX_logs_tenant_date_type_user").on("logs").columns(["tenant_id","date","type","user_id"]).execute()}async function $s(t){await t.schema.dropIndex("IDX_logs_tenant_date_type_user").on("logs").execute()}const Is=Object.freeze(Object.defineProperty({__proto__:null,down:$s,up:ks},Symbol.toStringTag,{value:"Module"}));async function Ds(t){}async function Ps(t){}const zs=Object.freeze(Object.defineProperty({__proto__:null,down:Ps,up:Ds},Symbol.toStringTag,{value:"Module"}));async function js(t){await t.schema.createTable("prompt_settings").addColumn("tenant_id","varchar(64)",e=>e.primaryKey()).addColumn("universal_login_experience","varchar(16)",e=>e.defaultTo("new").notNull()).addColumn("identifier_first","boolean",e=>e.defaultTo(!0).notNull()).addColumn("password_first","boolean",e=>e.defaultTo(!1).notNull()).addColumn("webauthn_platform_first_factor","boolean",e=>e.defaultTo(!1).notNull()).execute()}async function Fs(t){await t.schema.dropTable("prompt_settings").execute()}const As=Object.freeze(Object.defineProperty({__proto__:null,down:Fs,up:js},Symbol.toStringTag,{value:"Module"}));async function Ms(t){}async function Js(t){}const Es=Object.freeze(Object.defineProperty({__proto__:null,down:Js,up:Ms},Symbol.toStringTag,{value:"Module"}));async function Ls(t){}async function Rs(t){}const Ks=Object.freeze(Object.defineProperty({__proto__:null,down:Rs,up:Ls},Symbol.toStringTag,{value:"Module"}));async function Us(t){}async function qs(t){}const Bs=Object.freeze(Object.defineProperty({__proto__:null,down:qs,up:Us},Symbol.toStringTag,{value:"Module"}));async function Qs(t){await t.schema.alterTable("logins").addColumn("authParams_ui_locales","varchar(32)").execute()}async function Ws(t){await t.schema.alterTable("logins").dropColumn("authParams_ui_locales").execute()}const Vs=Object.freeze(Object.defineProperty({__proto__:null,down:Ws,up:Qs},Symbol.toStringTag,{value:"Module"}));async function Gs(t){await t.schema.alterTable("logins").addColumn("authParams_prompt","varchar(16)").execute()}async function Ys(t){await t.schema.alterTable("logins").dropColumn("authParams_prompt").execute()}const Hs=Object.freeze(Object.defineProperty({__proto__:null,down:Ys,up:Gs},Symbol.toStringTag,{value:"Module"}));async function Xs(t){}async function Zs(t){}const ei=Object.freeze(Object.defineProperty({__proto__:null,down:Zs,up:Xs},Symbol.toStringTag,{value:"Module"}));async function ti(t){await t.schema.alterTable("logins").addColumn("authParams_act_as","varchar(255)").execute()}async function ai(t){await t.schema.alterTable("logins").dropColumn("authParam_act_as").execute()}const ri=Object.freeze(Object.defineProperty({__proto__:null,down:ai,up:ti},Symbol.toStringTag,{value:"Module"}));async function ni(t){await t.schema.alterTable("codes").addColumn("code_verifier","varchar(128)").execute()}async function oi(t){await t.schema.alterTable("codes").dropColumn("code_verifier").execute()}const si=Object.freeze(Object.defineProperty({__proto__:null,down:oi,up:ni},Symbol.toStringTag,{value:"Module"}));async function ii(t){await t.schema.createTable("email_providers").addColumn("tenant_id","varchar(255)",e=>e.primaryKey()).addColumn("name","varchar(255)",e=>e.notNull()).addColumn("enabled","boolean",e=>e.notNull()).addColumn("default_from_address","varchar(255)").addColumn("credentials","varchar(2048)",e=>e.notNull().defaultTo("{}")).addColumn("settings","varchar(2048)",e=>e.notNull().defaultTo("{}")).addColumn("created_at","varchar(29)",e=>e.notNull()).addColumn("updated_at","varchar(29)",e=>e.notNull()).execute()}async function li(t){await t.schema.dropTable("email_providers").execute()}const ci=Object.freeze(Object.defineProperty({__proto__:null,down:li,up:ii},Symbol.toStringTag,{value:"Module"}));async function di(t){await t.schema.dropTable("tickets").execute()}async function ui(t){await t.schema.createTable("tickets").addColumn("tenant_id","varchar(255)",e=>e.references("tenants.id").onDelete("cascade").notNull()).addColumn("id","varchar(255)",e=>e.primaryKey()).addColumn("client_id","varchar(255)",e=>e.references("applications.id").onDelete("cascade").notNull()).addColumn("email","varchar(255)",e=>e.notNull()).addColumn("nonce","varchar(255)").addColumn("state","varchar(1024)").addColumn("scope","varchar(1024)").addColumn("response_type","varchar(256)").addColumn("response_mode","varchar(256)").addColumn("redirect_uri","varchar(1024)").addColumn("created_at","varchar(255)",e=>e.notNull()).addColumn("expires_at","varchar(255)",e=>e.notNull()).addColumn("used_at","varchar(255)").execute()}const mi=Object.freeze(Object.defineProperty({__proto__:null,down:ui,up:di},Symbol.toStringTag,{value:"Module"}));async function _i(t){}async function hi(t){await t.schema.alterTable("logins").dropColumn("ip").dropColumn("useragent").execute()}const fi=Object.freeze(Object.defineProperty({__proto__:null,down:hi,up:_i},Symbol.toStringTag,{value:"Module"}));async function pi(t){await t.schema.createTable("refresh_tokens").addColumn("id","varchar(21)",e=>e.primaryKey()).addColumn("client_id","varchar(21)",e=>e.references("applications.id").onDelete("cascade").notNull()).addColumn("tenant_id","varchar(255)").addColumn("session_id","varchar(21)",e=>e.notNull()).addColumn("user_id","varchar(255)").addForeignKeyConstraint("user_id_constraint",["user_id","tenant_id"],"users",["user_id","tenant_id"],e=>e.onDelete("cascade")).addColumn("created_at","varchar(35)",e=>e.notNull()).addColumn("expires_at","varchar(35)").addColumn("idle_expires_at","varchar(35)").addColumn("last_exchanged_at","varchar(35)").addColumn("device","varchar(2048)",e=>e.notNull()).addColumn("resource_servers","varchar(2048)",e=>e.notNull()).addColumn("rotating","boolean",e=>e.notNull()).execute()}async function gi(t){await t.schema.dropTable("refresh_tokens").execute()}const wi=Object.freeze(Object.defineProperty({__proto__:null,down:gi,up:pi},Symbol.toStringTag,{value:"Module"}));async function yi(t){}async function vi(t){}const Ni=Object.freeze(Object.defineProperty({__proto__:null,down:vi,up:yi},Symbol.toStringTag,{value:"Module"}));async function Ci(t){await t.schema.dropTable("sessions").execute(),await t.schema.dropTable("refresh_tokens").execute()}async function bi(t){await t.schema.createTable("sessions").addColumn("id","varchar(21)",e=>e.primaryKey()).addColumn("tenant_id","varchar(255)").addColumn("user_id","varchar(255)").addForeignKeyConstraint("sessions_user_id_constraint",["user_id","tenant_id"],"users",["user_id","tenant_id"],e=>e.onDelete("cascade")).addColumn("created_at","varchar(35)",e=>e.notNull()).addColumn("updated_at","varchar(35)",e=>e.notNull()).addColumn("expires_at","varchar(35)").addColumn("idle_expires_at","varchar(35)").addColumn("authenticated_at","varchar(35)").addColumn("last_interaction_at","varchar(35)").addColumn("used_at","varchar(35)").addColumn("revoked_at","varchar(35)").addColumn("device","varchar(2048)",e=>e.notNull()).addColumn("clients","varchar(1024)",e=>e.notNull()).execute(),await t.schema.createTable("refresh_tokens").addColumn("id","varchar(21)",e=>e.primaryKey()).addColumn("client_id","varchar(21)",e=>e.references("applications.id").onDelete("cascade").notNull()).addColumn("tenant_id","varchar(255)").addColumn("session_id","varchar(21)",e=>e.notNull()).addColumn("user_id","varchar(255)").addForeignKeyConstraint("refresh_tokens_user_id_constraint",["user_id","tenant_id"],"users",["user_id","tenant_id"],e=>e.onDelete("cascade")).addColumn("created_at","varchar(35)",e=>e.notNull()).addColumn("expires_at","varchar(35)").addColumn("idle_expires_at","varchar(35)").addColumn("last_exchanged_at","varchar(35)").addColumn("device","varchar(2048)",e=>e.notNull()).addColumn("resource_servers","varchar(2048)",e=>e.notNull()).addColumn("rotating","boolean",e=>e.notNull()).execute()}const xi=Object.freeze(Object.defineProperty({__proto__:null,down:bi,up:Ci},Symbol.toStringTag,{value:"Module"}));async function Ti(t){await t.schema.createTable("sessions_2").addColumn("id","varchar(21)",e=>e.primaryKey()).addColumn("tenant_id","varchar(255)").addColumn("user_id","varchar(255)").addForeignKeyConstraint("sessions_2_user_id_constraint",["user_id","tenant_id"],"users",["user_id","tenant_id"],e=>e.onDelete("cascade")).addColumn("created_at","varchar(35)",e=>e.notNull()).addColumn("updated_at","varchar(35)",e=>e.notNull()).addColumn("expires_at","varchar(35)").addColumn("idle_expires_at","varchar(35)").addColumn("authenticated_at","varchar(35)").addColumn("last_interaction_at","varchar(35)").addColumn("used_at","varchar(35)").addColumn("revoked_at","varchar(35)").addColumn("device","varchar(2048)",e=>e.notNull()).addColumn("clients","varchar(1024)",e=>e.notNull()).execute(),await t.schema.createTable("refresh_tokens_2").addColumn("id","varchar(21)",e=>e.primaryKey()).addColumn("client_id","varchar(21)",e=>e.references("applications.id").onDelete("cascade").notNull()).addColumn("tenant_id","varchar(255)").addColumn("session_id","varchar(21)",e=>e.notNull()).addColumn("user_id","varchar(255)").addForeignKeyConstraint("refresh_tokens_2_user_id_constraint",["user_id","tenant_id"],"users",["user_id","tenant_id"],e=>e.onDelete("cascade")).addColumn("created_at","varchar(35)",e=>e.notNull()).addColumn("expires_at","varchar(35)").addColumn("idle_expires_at","varchar(35)").addColumn("last_exchanged_at","varchar(35)").addColumn("device","varchar(2048)",e=>e.notNull()).addColumn("resource_servers","varchar(2048)",e=>e.notNull()).addColumn("rotating","boolean",e=>e.notNull()).execute()}async function Si(t){await t.schema.dropTable("sessions_2").execute(),await t.schema.dropTable("refresh_tokens_2").execute()}const Oi=Object.freeze(Object.defineProperty({__proto__:null,down:Si,up:Ti},Symbol.toStringTag,{value:"Module"}));async function ki(t){await t.schema.createTable("custom_domains").addColumn("custom_domain_id","varchar(21)",e=>e.notNull().primaryKey()).addColumn("tenant_id","varchar(255)",e=>e.references("tenants.id").onDelete("cascade").notNull()).addColumn("domain","varchar(255)",e=>e.notNull()).addColumn("primary","boolean",e=>e.notNull()).addColumn("status","varchar(50)",e=>e.notNull()).addColumn("type","varchar(50)",e=>e.notNull()).addColumn("origin_domain_name","varchar(255)").addColumn("verification","varchar(2048)").addColumn("custom_client_ip_header","varchar(50)").addColumn("tls_policy","varchar(50)").addColumn("domain_metadata","varchar(2048)").addColumn("created_at","varchar(35)",e=>e.notNull()).addColumn("updated_at","varchar(35)",e=>e.notNull()).execute(),await t.schema.dropTable("domains").execute()}async function $i(t){await t.schema.dropTable("custom_domains").execute(),await t.schema.createTable("domains").addColumn("id","varchar(255)",e=>e.notNull().primaryKey()).addColumn("tenant_id","varchar(255)",e=>e.references("tenants.id").onDelete("cascade").notNull()).addColumn("domain","varchar(255)",e=>e.notNull()).addColumn("email_service","varchar(255)").addColumn("email_api_key","varchar(255)").addColumn("dkim_private_key","varchar(2048)").addColumn("dkim_public_key","varchar(2048)").addColumn("created_at","varchar(255)",e=>e.notNull()).addColumn("updated_at","varchar(255)",e=>e.notNull()).execute()}const Ii=Object.freeze(Object.defineProperty({__proto__:null,down:$i,up:ki},Symbol.toStringTag,{value:"Module"}));async function Di(t){}async function Pi(t){await t.schema.alterTable("logins").dropColumn("authParams_organization").dropColumn("authorization_url").execute()}const zi=Object.freeze(Object.defineProperty({__proto__:null,down:Pi,up:Di},Symbol.toStringTag,{value:"Module"}));async function ji(t){await t.schema.alterTable("logins").dropColumn("authorization_url").execute(),await t.schema.alterTable("logins").addColumn("authorization_url","varchar(2048)").execute()}async function Fi(t){await t.schema.alterTable("logins").dropColumn("authorization_url").execute(),await t.schema.alterTable("logins").addColumn("authorization_url","varchar(1024)").execute()}const Ai=Object.freeze(Object.defineProperty({__proto__:null,down:Fi,up:ji},Symbol.toStringTag,{value:"Module"}));async function Mi(t){}async function Ji(t){}const Ei=Object.freeze(Object.defineProperty({__proto__:null,down:Ji,up:Mi},Symbol.toStringTag,{value:"Module"}));async function Li(t){await t.schema.createTable("sessions").addColumn("id","varchar(21)",e=>e.primaryKey()).addColumn("tenant_id","varchar(255)").addColumn("user_id","varchar(255)").addForeignKeyConstraint("sessions_user_id_constraint",["user_id","tenant_id"],"users",["user_id","tenant_id"],e=>e.onDelete("cascade")).addColumn("created_at","varchar(35)",e=>e.notNull()).addColumn("updated_at","varchar(35)",e=>e.notNull()).addColumn("expires_at","varchar(35)").addColumn("idle_expires_at","varchar(35)").addColumn("authenticated_at","varchar(35)").addColumn("last_interaction_at","varchar(35)").addColumn("used_at","varchar(35)").addColumn("revoked_at","varchar(35)").addColumn("device","varchar(2048)",e=>e.notNull()).addColumn("clients","varchar(1024)",e=>e.notNull()).execute(),await t.schema.createTable("login_sessions").addColumn("id","varchar(21)",e=>e.primaryKey()).addColumn("tenant_id","varchar(255)",e=>e.references("tenants.id").onDelete("cascade").notNull()).addColumn("session_id","varchar(21)",e=>e.references("sessions.id").onDelete("cascade")).addColumn("csrf_token","varchar(21)",e=>e.notNull()).addColumn("authParams_client_id","varchar(255)",e=>e.notNull()).addColumn("authParams_vendor_id","varchar(255)").addColumn("authParams_username","varchar(255)").addColumn("authParams_response_type","varchar(255)").addColumn("authParams_response_mode","varchar(255)").addColumn("authParams_audience","varchar(255)").addColumn("authParams_scope","varchar(511)").addColumn("authParams_state","varchar(2048)").addColumn("authParams_nonce","varchar(255)").addColumn("authParams_code_challenge_method","varchar(255)").addColumn("authParams_code_challenge","varchar(255)").addColumn("authParams_redirect_uri","varchar(255)").addColumn("authParams_organization","varchar(255)").addColumn("authParams_prompt","varchar(32)").addColumn("authParams_act_as","varchar(256)").addColumn("authParams_ui_locales","varchar(32)").addColumn("authorization_url","varchar(1024)").addColumn("created_at","varchar(35)",e=>e.notNull()).addColumn("updated_at","varchar(35)",e=>e.notNull()).addColumn("expires_at","varchar(35)",e=>e.notNull()).addColumn("ip","varchar(39)").addColumn("useragent","varchar(1024)").addColumn("auth0Client","varchar(255)").execute(),await t.schema.createTable("refresh_tokens").addColumn("id","varchar(21)",e=>e.primaryKey()).addColumn("client_id","varchar(21)",e=>e.references("applications.id").onDelete("cascade").notNull()).addColumn("tenant_id","varchar(255)").addColumn("session_id","varchar(21)",e=>e.notNull()).addColumn("user_id","varchar(255)").addForeignKeyConstraint("refresh_tokens_user_id_constraint",["user_id","tenant_id"],"users",["user_id","tenant_id"],e=>e.onDelete("cascade")).addColumn("created_at","varchar(35)",e=>e.notNull()).addColumn("expires_at","varchar(35)").addColumn("idle_expires_at","varchar(35)").addColumn("last_exchanged_at","varchar(35)").addColumn("device","varchar(2048)",e=>e.notNull()).addColumn("resource_servers","varchar(2048)",e=>e.notNull()).addColumn("rotating","boolean",e=>e.notNull()).execute()}async function Ri(t){await t.schema.dropTable("sessions").execute(),await t.schema.dropTable("login_sessions").execute(),await t.schema.dropTable("refresh_tokens").execute()}const Ki=Object.freeze(Object.defineProperty({__proto__:null,down:Ri,up:Li},Symbol.toStringTag,{value:"Module"}));async function Ui(t){await t.schema.dropTable("logins").execute(),await t.schema.dropTable("sessions_2").execute(),await t.schema.dropTable("refresh_tokens_2").execute()}async function qi(t){}const Bi=Object.freeze(Object.defineProperty({__proto__:null,down:qi,up:Ui},Symbol.toStringTag,{value:"Module"}));async function Qi(t){await t.schema.dropTable("custom_domains").execute(),await t.schema.createTable("custom_domains").addColumn("custom_domain_id","varchar(256)",e=>e.notNull().primaryKey()).addColumn("tenant_id","varchar(255)",e=>e.references("tenants.id").onDelete("cascade").notNull()).addColumn("domain","varchar(255)",e=>e.notNull()).addColumn("primary","boolean",e=>e.notNull()).addColumn("status","varchar(50)",e=>e.notNull()).addColumn("type","varchar(50)",e=>e.notNull()).addColumn("origin_domain_name","varchar(255)").addColumn("verification","varchar(2048)").addColumn("custom_client_ip_header","varchar(50)").addColumn("tls_policy","varchar(50)").addColumn("domain_metadata","varchar(2048)").addColumn("created_at","varchar(35)",e=>e.notNull()).addColumn("updated_at","varchar(35)",e=>e.notNull()).execute()}async function Wi(t){}const Vi=Object.freeze(Object.defineProperty({__proto__:null,down:Wi,up:Qi},Symbol.toStringTag,{value:"Module"}));async function Gi(t){}async function Yi(t){await t.schema.alterTable("users").dropColumn("phone_number").dropColumn("phone_verified").dropColumn("username").execute()}const Hi=Object.freeze(Object.defineProperty({__proto__:null,down:Yi,up:Gi},Symbol.toStringTag,{value:"Module"}));async function Xi(t){await t.schema.createTable("forms").addColumn("id","varchar(255)",e=>e.primaryKey()).addColumn("name","varchar(255)",e=>e.notNull()).addColumn("tenant_id","varchar(255)",e=>e.notNull()).addColumn("messages","varchar(255)").addColumn("languages","varchar(255)").addColumn("translations","varchar(4096)").addColumn("nodes","varchar(4096)").addColumn("start","varchar(255)").addColumn("ending","varchar(255)").addColumn("style","varchar(1042)").addColumn("created_at","varchar(255)",e=>e.notNull()).addColumn("updated_at","varchar(255)",e=>e.notNull()).execute(),await t.schema.createIndex("forms_tenant_id_idx").on("forms").column("tenant_id").execute()}async function Zi(t){await t.schema.dropTable("forms").execute()}const el=Object.freeze(Object.defineProperty({__proto__:null,down:Zi,up:Xi},Symbol.toStringTag,{value:"Module"}));async function tl(t){await t.schema.alterTable("hooks").addColumn("form_id","text").execute(),await t.schema.alterTable("hooks").addColumn("url_tmp","varchar(512)").execute(),await t.updateTable("hooks").set(e=>({url_tmp:e.ref("url")})).execute(),await t.schema.alterTable("hooks").dropColumn("url").execute(),await t.schema.alterTable("hooks").renameColumn("url_tmp","url").execute()}async function al(t){await t.schema.dropTable("hooks").ifExists().execute(),await t.schema.createTable("hooks").addColumn("hook_id","text",e=>e.primaryKey()).addColumn("tenant_id","text",e=>e.notNull()).addColumn("trigger_id","text",e=>e.notNull()).addColumn("enabled","integer",e=>e.notNull().defaultTo(0)).addColumn("url","varchar(512)",e=>e.notNull()).addColumn("synchronous","integer",e=>e.notNull().defaultTo(0)).addColumn("priority","integer").addColumn("created_at","text",e=>e.notNull()).addColumn("updated_at","text",e=>e.notNull()).execute()}const rl=Object.freeze(Object.defineProperty({__proto__:null,down:al,up:tl},Symbol.toStringTag,{value:"Module"}));async function nl(t){await t.schema.alterTable("login_sessions").addColumn("login_completed","boolean",e=>e.notNull().defaultTo(0)).execute()}async function ol(t){await t.schema.alterTable("login_sessions").dropColumn("login_completed").execute()}const sl=Object.freeze(Object.defineProperty({__proto__:null,down:ol,up:nl},Symbol.toStringTag,{value:"Module"}));async function il(t){await t.schema.alterTable("sessions").addColumn("login_session_id","varchar(21)",e=>e.references("login_sessions.id").onDelete("set null")).execute()}async function ll(t){await t.schema.alterTable("sessions").dropColumn("login_session_id").execute()}const cl=Object.freeze(Object.defineProperty({__proto__:null,down:ll,up:il},Symbol.toStringTag,{value:"Module"}));async function dl(t){await t.schema.createIndex("IDX_sessions_login_session_id").on("sessions").column("login_session_id").execute()}async function ul(t){await t.schema.dropIndex("IDX_sessions_login_session_id").on("sessions").execute()}const ml=Object.freeze(Object.defineProperty({__proto__:null,down:ul,up:dl},Symbol.toStringTag,{value:"Module"}));async function _l(t){await t.schema.alterTable("codes").addColumn("code_challenge","varchar(128)").execute(),await t.schema.alterTable("codes").addColumn("code_challenge_method","varchar(5)").execute()}async function hl(t){await t.schema.alterTable("codes").dropColumn("code_challenge").execute(),await t.schema.alterTable("codes").dropColumn("code_challenge_method").execute()}const fl=Object.freeze(Object.defineProperty({__proto__:null,down:hl,up:_l},Symbol.toStringTag,{value:"Module"}));async function pl(t){await t.schema.alterTable("codes").addColumn("redirect_uri","varchar(1024)").execute()}async function gl(t){await t.schema.alterTable("codes").dropColumn("redirect_uri").execute()}const wl=Object.freeze(Object.defineProperty({__proto__:null,down:gl,up:pl},Symbol.toStringTag,{value:"Module"}));async function yl(t){await t.schema.alterTable("codes").addColumn("nonce","varchar(1024)").execute(),await t.schema.alterTable("codes").addColumn("state","varchar(2048)").execute()}async function vl(t){await t.schema.alterTable("codes").dropColumn("nonce").execute(),await t.schema.alterTable("codes").dropColumn("state").execute()}const Nl=Object.freeze(Object.defineProperty({__proto__:null,down:vl,up:yl},Symbol.toStringTag,{value:"Module"}));async function Cl(t){await t.schema.createTable("themes").addColumn("tenant_id","varchar(255)",e=>e.references("tenants.id").onDelete("cascade").notNull()).addColumn("themeId","varchar(255)",e=>e.notNull()).addColumn("displayName","varchar(255)",e=>e.notNull()).addColumn("colors_primary_button_label","varchar(24)",e=>e.notNull()).addColumn("colors_primary_button","varchar(24)",e=>e.notNull()).addColumn("colors_secondary_button_border","varchar(24)",e=>e.notNull()).addColumn("colors_secondary_button_label","varchar(24)",e=>e.notNull()).addColumn("colors_base_focus_color","varchar(24)",e=>e.notNull()).addColumn("colors_base_hover_color","varchar(24)",e=>e.notNull()).addColumn("colors_body_text","varchar(24)",e=>e.notNull()).addColumn("colors_captcha_widget_theme","varchar(24)",e=>e.notNull()).addColumn("colors_error","varchar(24)",e=>e.notNull()).addColumn("colors_header","varchar(24)",e=>e.notNull()).addColumn("colors_icons","varchar(24)",e=>e.notNull()).addColumn("colors_input_background","varchar(24)",e=>e.notNull()).addColumn("colors_input_border","varchar(24)",e=>e.notNull()).addColumn("colors_input_filled_text","varchar(24)",e=>e.notNull()).addColumn("colors_input_labels_placeholders","varchar(24)",e=>e.notNull()).addColumn("colors_links_focused_components","varchar(24)",e=>e.notNull()).addColumn("colors_success","varchar(24)",e=>e.notNull()).addColumn("colors_widget_background","varchar(24)",e=>e.notNull()).addColumn("colors_widget_border","varchar(24)",e=>e.notNull()).addColumn("borders_button_border_radius","integer",e=>e.notNull()).addColumn("borders_button_border_weight","integer",e=>e.notNull()).addColumn("borders_buttons_style","varchar(24)",e=>e.notNull()).addColumn("borders_input_border_radius","integer",e=>e.notNull()).addColumn("borders_input_border_weight","integer",e=>e.notNull()).addColumn("borders_inputs_style","varchar(24)",e=>e.notNull()).addColumn("borders_show_widget_shadow","boolean",e=>e.notNull()).addColumn("borders_widget_border_weight","integer",e=>e.notNull()).addColumn("borders_widget_corner_radius","integer",e=>e.notNull()).addColumn("fonts_body_text_bold","integer",e=>e.notNull()).addColumn("fonts_body_text_size","integer",e=>e.notNull()).addColumn("fonts_buttons_text_bold","integer",e=>e.notNull()).addColumn("fonts_buttons_text_size","integer",e=>e.notNull()).addColumn("fonts_font_url","varchar(255)",e=>e.notNull()).addColumn("fonts_input_labels_bold","integer",e=>e.notNull()).addColumn("fonts_input_labels_size","integer",e=>e.notNull()).addColumn("fonts_links_bold","boolean",e=>e.notNull()).addColumn("fonts_links_size","integer",e=>e.notNull()).addColumn("fonts_links_style","varchar(24)",e=>e.notNull()).addColumn("fonts_reference_text_size","integer",e=>e.notNull()).addColumn("fonts_subtitle_bold","boolean",e=>e.notNull()).addColumn("fonts_subtitle_size","integer",e=>e.notNull()).addColumn("fonts_title_bold","boolean",e=>e.notNull()).addColumn("fonts_title_size","integer",e=>e.notNull()).addColumn("page_background_background_color","varchar(24)",e=>e.notNull()).addColumn("page_background_background_image_url","varchar(255)",e=>e.notNull()).addColumn("page_background_page_layout","varchar(24)",e=>e.notNull()).addColumn("widget_header_text_alignment","varchar(24)",e=>e.notNull()).addColumn("widget_logo_height","integer",e=>e.notNull()).addColumn("widget_logo_position","varchar(24)",e=>e.notNull()).addColumn("widget_logo_url","varchar(255)",e=>e.notNull()).addColumn("widget_social_buttons_layout","varchar(24)",e=>e.notNull()).addColumn("created_at","varchar(35)",e=>e.notNull()).addColumn("updated_at","varchar(35)",e=>e.notNull()).addPrimaryKeyConstraint("themes_pkey",["tenant_id","themeId"]).execute(),await t.schema.createIndex("themes_tenant_id_idx").on("themes").column("tenant_id").execute()}async function bl(t){await t.schema.dropTable("themes").execute()}const xl=Object.freeze(Object.defineProperty({__proto__:null,down:bl,up:Cl},Symbol.toStringTag,{value:"Module"}));async function Tl(t){await t.schema.createTable("resource_servers").addColumn("id","varchar(21)",e=>e.notNull()).addColumn("tenant_id","varchar(191)",e=>e.notNull()).addColumn("identifier","varchar(191)",e=>e.notNull()).addColumn("name","varchar(255)",e=>e.notNull()).addColumn("scopes","varchar(4096)").addColumn("signing_alg","varchar(64)").addColumn("signing_secret","varchar(2048)").addColumn("token_lifetime","integer").addColumn("token_lifetime_for_web","integer").addColumn("skip_consent_for_verifiable_first_party_clients","integer").addColumn("allow_offline_access","integer").addColumn("verification_key","varchar(4096)").addColumn("options","varchar(4096)").addColumn("created_at","varchar(35)",e=>e.notNull()).addColumn("updated_at","varchar(35)",e=>e.notNull()).addPrimaryKeyConstraint("resource_servers_pk",["tenant_id","id"]).execute(),await t.schema.createIndex("resource_servers_tenant_identifier_uq").on("resource_servers").columns(["tenant_id","identifier"]).unique().execute(),await t.schema.createTable("roles").addColumn("id","varchar(21)",e=>e.notNull()).addColumn("tenant_id","varchar(191)",e=>e.notNull()).addColumn("name","varchar(50)",e=>e.notNull()).addColumn("description","varchar(255)").addColumn("created_at","varchar(35)",e=>e.notNull()).addColumn("updated_at","varchar(35)",e=>e.notNull()).addPrimaryKeyConstraint("roles_pk",["tenant_id","id"]).execute(),await t.schema.createIndex("roles_tenant_name_uq").on("roles").columns(["tenant_id","name"]).unique().execute()}async function Sl(t){await t.schema.dropTable("roles").execute(),await t.schema.dropTable("resource_servers").execute()}const Ol=Object.freeze(Object.defineProperty({__proto__:null,down:Sl,up:Tl},Symbol.toStringTag,{value:"Module"}));async function kl(t){await t.schema.createTable("role_permissions").addColumn("tenant_id","varchar(191)",e=>e.notNull()).addColumn("role_id","varchar(21)",e=>e.notNull()).addColumn("resource_server_identifier","varchar(191)",e=>e.notNull()).addColumn("permission_name","varchar(191)",e=>e.notNull()).addColumn("created_at","varchar(35)",e=>e.notNull()).addPrimaryKeyConstraint("role_permissions_pk",["tenant_id","role_id","resource_server_identifier","permission_name"]).execute(),await t.schema.createIndex("role_permissions_role_fk").on("role_permissions").columns(["tenant_id","role_id"]).execute(),await t.schema.createIndex("role_permissions_permission_fk").on("role_permissions").columns(["tenant_id","resource_server_identifier","permission_name"]).execute(),await t.schema.createTable("user_permissions").addColumn("tenant_id","varchar(191)",e=>e.notNull()).addColumn("user_id","varchar(191)",e=>e.notNull()).addColumn("resource_server_identifier","varchar(191)",e=>e.notNull()).addColumn("permission_name","varchar(191)",e=>e.notNull()).addColumn("created_at","varchar(35)",e=>e.notNull()).addPrimaryKeyConstraint("user_permissions_pk",["tenant_id","user_id","resource_server_identifier","permission_name"]).execute(),await t.schema.createIndex("user_permissions_user_fk").on("user_permissions").columns(["tenant_id","user_id"]).execute(),await t.schema.createIndex("user_permissions_permission_fk").on("user_permissions").columns(["tenant_id","resource_server_identifier","permission_name"]).execute()}async function $l(t){await t.schema.dropTable("user_permissions").execute(),await t.schema.dropTable("role_permissions").execute()}const Il=Object.freeze(Object.defineProperty({__proto__:null,down:$l,up:kl},Symbol.toStringTag,{value:"Module"}));async function Dl(t){await t.schema.createTable("user_roles").addColumn("tenant_id","varchar(191)",e=>e.notNull()).addColumn("user_id","varchar(191)",e=>e.notNull()).addColumn("role_id","varchar(21)",e=>e.notNull()).addColumn("created_at","varchar(35)",e=>e.notNull()).addPrimaryKeyConstraint("user_roles_pk",["tenant_id","user_id","role_id"]).execute(),await t.schema.createIndex("user_roles_user_fk").on("user_roles").columns(["tenant_id","user_id"]).execute(),await t.schema.createIndex("user_roles_role_fk").on("user_roles").columns(["tenant_id","role_id"]).execute()}async function Pl(t){await t.schema.dropTable("user_roles").execute()}const zl=Object.freeze(Object.defineProperty({__proto__:null,down:Pl,up:Dl},Symbol.toStringTag,{value:"Module"}));async function jl(t){}async function Fl(t){await t.schema.alterTable("keys").dropColumn("connection").execute(),await t.schema.alterTable("keys").modifyColumn("cert","varchar(2048)").execute(),await t.schema.alterTable("keys").modifyColumn("pkcs7","varchar(2048)").execute(),await t.schema.alterTable("keys").dropColumn("type").execute()}const Al=Object.freeze(Object.defineProperty({__proto__:null,down:Fl,up:jl},Symbol.toStringTag,{value:"Module"}));async function Ml(t){await t.schema.createTable("organizations").addColumn("id","varchar(21)",e=>e.primaryKey()).addColumn("tenant_id","varchar(191)",e=>e.notNull()).addColumn("name","varchar(256)",e=>e.notNull()).addColumn("display_name","varchar(256)").addColumn("branding","text").addColumn("metadata","text").addColumn("enabled_connections","text").addColumn("token_quota","text").addColumn("created_at","varchar(35)",e=>e.notNull()).addColumn("updated_at","varchar(35)",e=>e.notNull()).execute(),await t.schema.createIndex("idx_organizations_tenant_id").on("organizations").column("tenant_id").execute(),await t.schema.createIndex("idx_organizations_tenant_name_unique").on("organizations").columns(["tenant_id","name"]).unique().execute()}async function Jl(t){await t.schema.dropTable("organizations").execute()}const El=Object.freeze(Object.defineProperty({__proto__:null,down:Jl,up:Ml},Symbol.toStringTag,{value:"Module"}));async function Ll(t){await t.schema.createTable("user_organizations").addColumn("id","varchar(21)",e=>e.primaryKey()).addColumn("tenant_id","varchar(191)",e=>e.notNull()).addColumn("user_id","varchar(191)",e=>e.notNull()).addColumn("organization_id","varchar(21)",e=>e.notNull()).addColumn("created_at","varchar(35)",e=>e.notNull()).addColumn("updated_at","varchar(35)",e=>e.notNull()).addUniqueConstraint("user_organizations_unique",["tenant_id","user_id","organization_id"]).execute(),await t.schema.createIndex("idx_user_organizations_tenant_id").on("user_organizations").column("tenant_id").execute(),await t.schema.createIndex("idx_user_organizations_user_id").on("user_organizations").column("user_id").execute(),await t.schema.createIndex("idx_user_organizations_organization_id").on("user_organizations").column("organization_id").execute()}async function Rl(t){await t.schema.dropTable("user_organizations").execute()}const Kl=Object.freeze(Object.defineProperty({__proto__:null,down:Rl,up:Ll},Symbol.toStringTag,{value:"Module"}));async function Ul(t){await t.schema.dropTable("user_permissions").execute(),await t.schema.dropTable("user_roles").execute(),await t.schema.createTable("user_permissions").addColumn("tenant_id","varchar(191)",e=>e.notNull()).addColumn("user_id","varchar(191)",e=>e.notNull()).addColumn("resource_server_identifier","varchar(21)",e=>e.notNull()).addColumn("permission_name","varchar(191)",e=>e.notNull()).addColumn("organization_id","varchar(21)",e=>e.notNull().defaultTo("")).addColumn("created_at","varchar(35)",e=>e.notNull()).addPrimaryKeyConstraint("user_permissions_pk",["tenant_id","user_id","resource_server_identifier","permission_name","organization_id"]).execute(),await t.schema.createIndex("user_permissions_user_fk").on("user_permissions").columns(["tenant_id","user_id"]).execute(),await t.schema.createIndex("user_permissions_permission_fk").on("user_permissions").columns(["tenant_id","resource_server_identifier","permission_name"]).execute(),await t.schema.createIndex("user_permissions_organization_fk").on("user_permissions").column("organization_id").execute(),await t.schema.createTable("user_roles").addColumn("tenant_id","varchar(191)",e=>e.notNull()).addColumn("user_id","varchar(191)",e=>e.notNull()).addColumn("role_id","varchar(21)",e=>e.notNull()).addColumn("organization_id","varchar(191)",e=>e.notNull().defaultTo("")).addColumn("created_at","varchar(35)",e=>e.notNull()).addPrimaryKeyConstraint("user_roles_pk",["tenant_id","user_id","role_id","organization_id"]).execute(),await t.schema.createIndex("user_roles_user_fk").on("user_roles").columns(["tenant_id","user_id"]).execute(),await t.schema.createIndex("user_roles_role_fk").on("user_roles").columns(["tenant_id","role_id"]).execute(),await t.schema.createIndex("user_roles_organization_fk").on("user_roles").column("organization_id").execute()}async function ql(t){await t.schema.dropTable("user_permissions").execute(),await t.schema.dropTable("user_roles").execute(),await t.schema.createTable("user_permissions").addColumn("tenant_id","varchar(191)",e=>e.notNull()).addColumn("user_id","varchar(191)",e=>e.notNull()).addColumn("resource_server_identifier","varchar(191)",e=>e.notNull()).addColumn("permission_name","varchar(191)",e=>e.notNull()).addColumn("created_at","varchar(35)",e=>e.notNull()).addPrimaryKeyConstraint("user_permissions_pk",["tenant_id","user_id","resource_server_identifier","permission_name"]).execute(),await t.schema.createIndex("user_permissions_user_fk").on("user_permissions").columns(["tenant_id","user_id"]).execute(),await t.schema.createIndex("user_permissions_permission_fk").on("user_permissions").columns(["tenant_id","resource_server_identifier","permission_name"]).execute(),await t.schema.createTable("user_roles").addColumn("tenant_id","varchar(191)",e=>e.notNull()).addColumn("user_id","varchar(191)",e=>e.notNull()).addColumn("role_id","varchar(21)",e=>e.notNull()).addColumn("created_at","varchar(35)",e=>e.notNull()).addPrimaryKeyConstraint("user_roles_pk",["tenant_id","user_id","role_id"]).execute(),await t.schema.createIndex("user_roles_user_fk").on("user_roles").columns(["tenant_id","user_id"]).execute(),await t.schema.createIndex("user_roles_role_fk").on("user_roles").columns(["tenant_id","role_id"]).execute()}const Bl=Object.freeze(Object.defineProperty({__proto__:null,down:ql,up:Ul},Symbol.toStringTag,{value:"Module"})),Je={m1_init:kr,m2_magicLink:Dr,m3_updateAt:jr,m4_logTable:Mr,m5_userProfile:Lr,m6_sessions:Ur,m7_passwords:Qr,m8_logsTableNewFields:Gr,m9_passwordTableNewField:Xr,n01_codesTable:tn,n11_universalLoginSession:nn,n12_userFields:ln,n13_userEmailIndex:un,n14_profileDataField:hn,n15_userEmailIndex:gn,n16_userLocale:vn,n17_signingKeys:bn,n18_logsFields:Sn,n19_connectionsUserinfo:$n,n20_missingFields:Pn,n21_sessionDeletedAt:Fn,n22_dropLogsFields:Jn,n23_dropUsersFields:Rn,n24_logsIndexes:qn,n25_logDescMaxLength:Wn,n26_logsTableExtraFields:Yn,n27_usersTableNameIndex:Zn,n28_usersEmailConstrain:ao,n29_increaseOtpStateLength:oo,n30_increaseTicketStateLength:lo,n31_branding:mo,n32_indexesAndNotNull:fo,n33_vendorIdInUniversalLoginSession:wo,n34_auth0ClientInUniversalLoginSession:No,n35_increaseUniversalSessionStateLength:xo,n36_authenticationCodes:Oo,n37_disableSignUps:Io,n38_otpIpAddress:zo,n39_increaseUserAgentLength:Ao,n40_userId:Eo,n41_hooks:Ko,n42_userIdIndexes:Bo,n43_userIdIndexes:Vo,n44_codes:Ho,n45_hookProperties:es,n46_loginAuth0Client:rs,n47_loginAuth0Client:ss,n48_saml:cs,n49_removeFields:ms,n50_authParamsNonce:fs,n51_connectionid:ws,n52_cert:Ns,n53_codes_primary_key:xs,n54_cleanup_tables:Os,n55_logs_index:Is,n56_application_fields:zs,n57_prompt_settings:As,n58_connection_client_id:Es,n59_connection_options:Ks,n60_users_metadata:Bs,n61_userLocales:Vs,n62_prompt:Hs,n63_connection_cleanup:ei,n64_act_as:ri,n65_code_verifier:si,n66_email_providers:ci,n67_drop_tickets:mi,n68_login_useragents:fi,n70_refresh_tokens:wi,n71_session_new_fields:Ni,n72_session_primary_key:xi,n73_drop_sessions:Oi,n74_custom_domains:Ii,n75_organizations:zi,n76_authorization_url_length:Ai,n77_drop_sessions:Ei,n78_login_sessions:Ki,n79_drop_sessions_2:Bi,n80_recreate_custom_domains:Vi,n81_phone:Hi,n82_forms:el,n83_addFormsIdToHooks:rl,n84_login_completed:sl,n85_add_login_session_id_to_sessions:cl,n86_index_sessions_login_session_id:ml,n87_code_challenge:fl,n88_add_redirect_uri_to_codes:wl,n89_add_nonce_and_state_to_codes:Nl,n90_themes:xl,n91_resource_servers_rules_permissions:Ol,n92_role_permissions:Il,n93_add_permissions_to_roles:zl,n94_keys_connection_and_extend_columns:Al,n95_create_organizations_table:El,n96_create_user_organizations_table:Kl,n97_add_organization_to_user_permissions_and_roles:Bl};async function Ql(t,e=!1){e&&console.log("migrating...");const a=new Me(Je),r=new Ce({db:t,provider:a}),{error:n,results:o}=await r.migrateToLatest();if(o==null||o.forEach(s=>{s.status==="Success"?e&&console.log(`migration "${s.migrationName}" was executed successfully`):s.status==="Error"&&console.error(`failed to execute migration "${s.migrationName}"`)}),n)throw console.error("failed to migrate"),console.error(n),n}async function Wl(t){console.log("migrating...");const e=new Me(Je),a=new Ce({db:t,provider:e}),{error:r,results:n}=await a.migrateDown();if(n==null||n.forEach(o=>{o.status==="Success"?console.log(`migration "${o.migrationName}" was reverted successfully`):o.status==="Error"&&console.error(`failed to execute migration "${o.migrationName}"`)}),r)throw console.error("failed to migrate"),console.error(r),r}function Vl(t){return{applications:Ot(t),branding:Vt(t),cleanup:xa(t),legacyClients:jt(t),codes:Nt(t),connections:zt(t),emailProviders:ga(t),customDomains:Bt(t),forms:Ia(t),hooks:ea(t),keys:Jt(t),loginSessions:da(t),logs:ot(t),passwords:ft(t),promptSettings:_a(t),refreshTokens:ba(t),resourceServers:Aa(t),rolePermissions:Qa(t),userPermissions:Ha(t),userRoles:ar(t),roles:Ka(t),sessions:ut(t),tenants:et(t),themes:oa(t),users:We(t),organizations:lr(t),userOrganizations:fr(t)}}exports.default=Vl;exports.migrateDown=Wl;exports.migrateToLatest=Ql;
|
|
1
|
+
"use strict";var Pn=Object.defineProperty;var pr=t=>{throw TypeError(t)};var An=(t,e,r)=>e in t?Pn(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var ae=(t,e,r)=>An(t,typeof e!="symbol"?e+"":e,r),Rt=(t,e,r)=>e.has(t)||pr("Cannot "+r);var i=(t,e,r)=>(Rt(t,e,"read from private field"),r?r.call(t):e.get(t)),N=(t,e,r)=>e.has(t)?pr("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,r),v=(t,e,r,n)=>(Rt(t,e,"write to private field"),n?n.call(t,r):e.set(t,r),r),p=(t,e,r)=>(Rt(t,e,"access private method"),r);Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const z=require("@authhero/adapter-interfaces");require("@hono/zod-openapi");var ct=class extends Error{constructor(e=500,r){super(r==null?void 0:r.message,{cause:r==null?void 0:r.cause});ae(this,"res");ae(this,"status");this.res=r==null?void 0:r.res,this.status=e}getResponse(){return this.res?new Response(this.res.body,{status:this.status,headers:this.res.headers}):new Response(this.message,{status:this.status})}};function Dn(t){return async(e,r)=>{const{identities:n,...a}=r,o={...a,created_at:new Date().toISOString(),updated_at:new Date().toISOString(),login_count:0,tenant_id:e,email_verified:r.email_verified?1:0,is_social:r.is_social?1:0,app_metadata:JSON.stringify(r.app_metadata),user_metadata:JSON.stringify(r.user_metadata)};try{await t.insertInto("users").values(o).execute()}catch(u){throw u.code==="SQLITE_CONSTRAINT_UNIQUE"||u.message.includes("AlreadyExists")?new ct(409,{message:"User already exists"}):new ct(500,{message:`${u.code}, ${u.message}`})}return{...o,email:o.email||"",email_verified:o.email_verified===1,is_social:o.is_social===1}}}function S(t){if(t==null||typeof t!="object")return t;if(Array.isArray(t))return t.map(r=>r!==null&&typeof r=="object"?S(r):r);const e={...t};for(const r in e){const n=e[r];n===null?delete e[r]:n!==null&&typeof n=="object"&&(Array.isArray(n)?e[r]=n.map(a=>a!==null&&typeof a=="object"?S(a):a):e[r]=S(n))}return e}function Rr(t){let e={};try{e=JSON.parse(t.profileData||"{}")}catch(r){console.error("Error parsing profileData",r)}return{connection:t.connection,provider:t.provider,user_id:z.parseUserId(t.user_id).id,isSocial:!!t.is_social,profileData:{email:t.email,email_verified:!!t.email_verified,...e}}}function Jn(t){return async(e,r)=>{const[n,a]=await Promise.all([t.selectFrom("users").where("users.tenant_id","=",e).where("users.user_id","=",r).selectAll().executeTakeFirst(),t.selectFrom("users").where("users.tenant_id","=",e).where("users.linked_to","=",r).selectAll().execute()]);if(!n)return null;const{tenant_id:o,...u}=n,c={...u,email:n.email||"",email_verified:n.email_verified===1,is_social:n.is_social===1,app_metadata:JSON.parse(n.app_metadata),user_metadata:JSON.parse(n.user_metadata),identities:[{connection:n.connection,provider:n.provider,user_id:z.parseUserId(n.user_id).id,isSocial:!!n.is_social},...a.map(Rr)]};return S(c)}}function K(t,e,r,n){return r.split(/\s+/).map(o=>o.replace(/^([^:]+)=/g,"$1:")).map(o=>{let u=o.startsWith("-"),c=null,_="",h=!1,f;if(o.startsWith("-_exists_:"))c=o.substring(10),h=!0,u=!0;else if(o.startsWith("_exists_:"))c=o.substring(9),h=!0,u=!1;else if(o.includes(":")){const m=u?o.substring(1):o,y=m.indexOf(":");c=m.substring(0,y),_=m.substring(y+1),h=!1,_.startsWith(">=")?(f=">=",_=_.substring(2)):_.startsWith(">")?(f=">",_=_.substring(1)):_.startsWith("<=")?(f="<=",_=_.substring(2)):_.startsWith("<")?(f="<",_=_.substring(1)):f="="}else c=null,_=o,h=!1;return{key:c,value:_,isNegation:u,isExistsQuery:h,operator:f}}).forEach(({key:o,value:u,isNegation:c,isExistsQuery:_,operator:h})=>{if(o)if(_)c?e=e.where(o,"is",null):e=e.where(o,"is not",null);else if(c)switch(h){case">":e=e.where(o,"<=",u);break;case">=":e=e.where(o,"<",u);break;case"<":e=e.where(o,">=",u);break;case"<=":e=e.where(o,">",u);break;default:e=e.where(o,"!=",u)}else e=e.where(o,h,u);else if(u){const{ref:f}=t.dynamic;e=e.where(m=>m.or(n.map(y=>m(f(y),"like",`%${u}%`))))}}),e}function E(t){return typeof t=="string"?parseInt(t,10):typeof t=="bigint"?Number(t):t}function qn(t){return async(e,r={})=>{const{page:n=0,per_page:a=50,include_totals:o=!1,sort:u,q:c}=r;let _=t.selectFrom("users").where("users.tenant_id","=",e);if(c&&(_=K(t,_,c,["email","name"])),u&&u.sort_by){const{ref:O}=t.dynamic;_=_.orderBy(O(u.sort_by),u.sort_order)}const f=await _.offset(n*a).limit(a).selectAll().execute(),m=f.map(O=>O.user_id),y=m.length?await t.selectFrom("users").selectAll().where("users.tenant_id","=",e).where("users.linked_to","in",m).execute():[],w=f.map(O=>{const A=y.filter(ne=>ne.linked_to===O.user_id);return S({...O,email_verified:O.email_verified===1,is_social:O.is_social===1,app_metadata:JSON.parse(O.app_metadata),user_metadata:JSON.parse(O.user_metadata),identities:[{connection:O.connection,provider:O.provider,user_id:z.parseUserId(O.user_id).id,isSocial:!!O.is_social},...A.map(Rr)]})});if(!o)return{users:w,start:0,limit:0,length:0};const{count:C}=await _.select(O=>O.fn.countAll().as("count")).executeTakeFirstOrThrow();return{users:w,start:n*a,limit:a,length:E(C)}}}function jn(t){return async(e,r)=>(await t.deleteFrom("users").where("users.tenant_id","=",e).where("users.linked_to","=",r).execute(),(await t.deleteFrom("users").where("users.tenant_id","=",e).where("users.user_id","=",r).execute()).length===1)}function Ze(t,e="",r={}){for(let n in t)if(Object.prototype.hasOwnProperty.call(t,n)){const a=e?`${e}_${n}`:n,o=t[n];typeof o=="object"&&o!==null&&!Array.isArray(o)?Ze(o,a,r):typeof o=="boolean"?r[a]=o?1:0:r[a]=o}return r}function Wr(t,e){const r={};for(const[n,a]of Object.entries(t)){const o=e.find(u=>n.startsWith(`${u}_`));if(!o)r[n]=a;else{const u=n.slice(o.length+1);r[o]={...r[o],[u]:a}}}return r}function Fn(t){return async(e,r,n)=>{const a=Ze({...n,updated_at:new Date().toISOString(),app_metadata:n.app_metadata?JSON.stringify(n.app_metadata):void 0,user_metadata:n.user_metadata?JSON.stringify(n.user_metadata):void 0});return(await t.updateTable("users").set(a).where("users.tenant_id","=",e).where("users.user_id","=",r).execute()).length===1}}function zn(t){return async(e,r,n,a)=>{const o={linked_to:null};return(await t.updateTable("users").set(o).where("users.tenant_id","=",e).where("users.user_id","=",`${n}|${a}`).where("users.linked_to","=",`${r}`).execute()).length===1}}function En(t){return{create:Dn(t),remove:jn(t),get:Jn(t),list:qn(t),update:Fn(t),unlink:zn(t)}}const Rn="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";let R=(t=21)=>{let e="",r=crypto.getRandomValues(new Uint8Array(t));for(;t--;)e+=Rn[r[t]&63];return e};function Wn(t){return async e=>{const r={id:e.id||R(),created_at:new Date().toISOString(),updated_at:new Date().toISOString(),...e};return await t.insertInto("tenants").values(r).execute(),r}}function Mn(t){return async e=>{const r=await t.selectFrom("tenants").where("tenants.id","=",e).selectAll().executeTakeFirst();return r?S(r):null}}function Ln(t){return async e=>{let r=t.selectFrom("tenants");const{page:n=0,per_page:a=50,include_totals:o=!1,sort:u,q:c}=e;if(u&&u.sort_by){const{ref:w}=t.dynamic;r=r.orderBy(w(u.sort_by),u.sort_order)}c&&(r=r.where(w=>w.or([w("name","like",`%${c}%`)])));const f=(await r.offset(n*a).limit(a).selectAll().execute()).map(S);if(!o)return{tenants:f};const{count:m}=await r.select(w=>w.fn.countAll().as("count")).executeTakeFirstOrThrow(),y=E(m);return{tenants:f,start:n*a,limit:a,length:y}}}function Bn(t){return async(e,r)=>{const n={...r,id:e,updated_at:new Date().toISOString()};await t.updateTable("tenants").set(n).where("id","=",e).execute()}}function Un(t){return async e=>(await t.deleteFrom("tenants").where("tenants.id","=",e).execute()).length===1}function Kn(t){return{create:Wn(t),get:Mn(t),list:Ln(t),update:Bn(t),remove:Un(t)}}function gr(t){return t?JSON.stringify(t):void 0}const Qn=1024;function Vn(t){return async(e,r)=>{var a,o,u;const n={id:R(),...r,user_agent:r.user_agent.slice(0,Qn)};return await t.insertInto("logs").values({...n,description:(a=n.description)==null?void 0:a.substring(0,256),isMobile:r.isMobile?1:0,tenant_id:e,scope:(o=r.scope)==null?void 0:o.join(","),auth0_client:gr(r.auth0_client),details:(u=gr(r.details))==null?void 0:u.substring(0,8192)}).execute(),n}}function yr(t){if(!t)return"";try{return JSON.parse(t)}catch{return t}}function Mr(t){return{...t,client_id:t.client_id,client_name:"",auth0_client:yr(t.auth0_client),details:yr(t.details),isMobile:!!t.isMobile,scope:t.scope?t.scope.split(","):void 0,log_id:t.id,_id:t.id}}function Gn(t){return async(e,r={})=>{const{page:n=0,per_page:a=50,include_totals:o=!1,sort:u,q:c}=r;let _=t.selectFrom("logs").where("logs.tenant_id","=",e);c&&(_=K(t,_,c,["user_id","ip"]));let h=_;if(u&&u.sort_by){const{ref:w}=t.dynamic;h=h.orderBy(w(u.sort_by),u.sort_order)}h=h.offset(n*a).limit(a);const m=(await h.selectAll().execute()).map(Mr);if(!o)return{logs:m,start:0,limit:0,length:0};const{count:y}=await _.select(w=>w.fn.countAll().as("count")).executeTakeFirstOrThrow();return{logs:m,start:n*a,limit:a,length:E(y)}}}function Hn(t){return async(e,r)=>{const n=await t.selectFrom("logs").where("logs.tenant_id","=",e).where("logs.id","=",r).selectAll().executeTakeFirst();return n?Mr(n):null}}function Yn(t){return{create:Vn(t),list:Gn(t),get:Hn(t)}}function Xn(t){return async(e,r)=>{const n=await t.selectFrom("sessions").where("sessions.tenant_id","=",e).where("sessions.id","=",r).selectAll().executeTakeFirst();if(!n)return null;const{tenant_id:a,device:o,clients:u,...c}=n;return{...c,device:JSON.parse(o),clients:JSON.parse(u)}}}function Zn(t){return async(e,r)=>{const n={...r,created_at:new Date().toISOString(),updated_at:new Date().toISOString(),authenticated_at:new Date().toISOString(),last_interaction_at:new Date().toISOString()};return await t.insertInto("sessions").values({...n,tenant_id:e,device:JSON.stringify(r.device),clients:JSON.stringify(r.clients)}).execute(),n}}function ea(t){return async(e,r)=>!!(await t.deleteFrom("sessions").where("tenant_id","=",e).where("sessions.id","=",r).execute()).length}function ta(t){return async(e,r,n)=>{const a={...n,updated_at:new Date().toISOString(),device:n.device?JSON.stringify(n.device):void 0,clients:n.clients?JSON.stringify(n.clients):void 0};return!!(await t.updateTable("sessions").set(a).where("tenant_id","=",e).where("sessions.id","=",r).execute()).length}}function ra(t){return async(e,r={})=>{const{page:n=0,per_page:a=50,include_totals:o=!1,sort:u,q:c}=r;let _=t.selectFrom("sessions").where("sessions.tenant_id","=",e);c&&(_=K(t,_,c,["user_id","session_id"]));let h=_;if(u&&u.sort_by){const{ref:C}=t.dynamic;h=h.orderBy(C(u.sort_by),u.sort_order)}h=h.offset(n*a).limit(a);const m=(await h.selectAll().execute()).map(C=>({...C,device:JSON.parse(C.device),clients:JSON.parse(C.clients)}));if(!o)return{sessions:m,start:0,limit:0,length:0};const{count:y}=await _.select(C=>C.fn.countAll().as("count")).executeTakeFirstOrThrow(),w=E(y);return{sessions:m,start:n*a,limit:a,length:w}}}function na(t){return{create:Zn(t),get:Xn(t),list:ra(t),remove:ea(t),update:ta(t)}}function aa(t){return async(e,r)=>{const n=await t.selectFrom("passwords").where("passwords.tenant_id","=",e).where("passwords.user_id","=",r).selectAll().executeTakeFirst();if(!n)return null;const{tenant_id:a,...o}=n;return o}}function oa(t){return async(e,r)=>{const n={...r,created_at:new Date().toISOString(),updated_at:new Date().toISOString()};return await t.insertInto("passwords").values({...n,tenant_id:e}).execute(),n}}function ia(t){return async(e,r)=>(await t.updateTable("passwords").set({password:r.password,updated_at:new Date().toISOString()}).where("tenant_id","=",e).where("user_id","=",r.user_id).execute()).length===1}function sa(t){return{create:oa(t),update:ia(t),get:aa(t)}}function ua(t){return async(e,r={})=>{const{page:n=0,per_page:a=50,include_totals:o=!1,q:u}=r;let c=t.selectFrom("codes").where("codes.tenant_id","=",e);u&&(c=K(t,c,u,["code","login_id"]));const f=(await c.offset(n*a).limit(a).selectAll().execute()).map(y=>{const{tenant_id:w,...C}=y;return z.codeSchema.parse(S(C))});if(!o)return{codes:f,start:0,limit:0,length:0};const{count:m}=await c.select(y=>y.fn.countAll().as("count")).executeTakeFirstOrThrow();return{codes:f,start:n*a,limit:a,length:E(m)}}}function ca(t){return async(e,r)=>{const n={...r,created_at:new Date().toISOString()};return await t.insertInto("codes").values({...n,tenant_id:e}).execute(),n}}function da(t){return async(e,r)=>(await t.deleteFrom("codes").where("codes.tenant_id","=",e).where("codes.code_id","=",r).executeTakeFirst()).numDeletedRows>0}function la(t){return async(e,r,n)=>{let a=t.selectFrom("codes").where("codes.code_id","=",r).where("codes.code_type","=",n);e.length&&(a=a.where("codes.tenant_id","=",e));const o=await a.selectAll().executeTakeFirst();return o?S(o):null}}function _a(t){return async(e,r)=>(await t.updateTable("codes").set({used_at:new Date().toISOString()}).where("codes.tenant_id","=",e).where("codes.code_id","=",r).executeTakeFirst()).numUpdatedRows>0}function ma(t){return{create:ca(t),list:ua(t),remove:da(t),used:_a(t),get:la(t)}}function ha(t){return async(e,r)=>{const n={created_at:new Date().toISOString(),updated_at:new Date().toISOString(),...r,disable_sign_ups:r.disable_sign_ups??!1},a=JSON.stringify(r.allowed_origins),o=JSON.stringify(r.callbacks),u=JSON.stringify(r.web_origins),c=JSON.stringify(r.allowed_logout_urls),_=JSON.stringify(r.allowed_clients);return await t.insertInto("applications").values({...n,tenant_id:e,disable_sign_ups:r.disable_sign_ups?1:0,addons:r.addons?JSON.stringify(r.addons):"{}",callbacks:o,allowed_origins:a,web_origins:u,allowed_logout_urls:c,allowed_clients:_}).execute(),n}}function fa(t){return async e=>({applications:(await t.selectFrom("applications").where("applications.tenant_id","=",e).selectAll().execute()).map(o=>({...o,disable_sign_ups:!!o.disable_sign_ups,addons:o.addons?JSON.parse(o.addons):{},callbacks:o.callbacks?JSON.parse(o.callbacks):[],allowed_origins:o.allowed_origins?JSON.parse(o.allowed_origins):[],web_origins:o.web_origins?JSON.parse(o.web_origins):[],allowed_logout_urls:o.allowed_logout_urls?JSON.parse(o.allowed_logout_urls):[],allowed_clients:o.allowed_logout_urls?JSON.parse(o.allowed_logout_urls):[]}))})}function pa(t){return async(e,r)=>{const n=await t.selectFrom("applications").where("applications.tenant_id","=",e).where("applications.id","=",r).selectAll().executeTakeFirst();return n?S({...n,disable_sign_ups:!!n.disable_sign_ups,addons:JSON.parse(n.addons),callbacks:JSON.parse(n.callbacks),allowed_origins:JSON.parse(n.allowed_origins),web_origins:JSON.parse(n.web_origins),allowed_logout_urls:JSON.parse(n.allowed_logout_urls)}):null}}function ga(t){return async(e,r)=>(await t.deleteFrom("applications").where("applications.tenant_id","=",e).where("applications.id","=",r).executeTakeFirst()).numDeletedRows>0}function ya(t){return async(e,r,n)=>{const a={...n,updated_at:new Date().toISOString(),allowed_origins:n.allowed_origins?JSON.stringify(n.allowed_origins):void 0,callbacks:n.callbacks?JSON.stringify(n.callbacks):void 0,web_origins:n.web_origins?JSON.stringify(n.web_origins):void 0,allowed_logout_urls:n.allowed_logout_urls?JSON.stringify(n.allowed_logout_urls):void 0,allowed_clients:n.allowed_clients?JSON.stringify(n.allowed_clients):void 0,addons:n.addons?JSON.stringify(n.addons):"{}",disable_sign_ups:n.disable_sign_ups?1:0};return await t.updateTable("applications").set(a).where("applications.id","=",r).where("applications.tenant_id","=",e).execute(),!0}}function wa(t){return{create:ha(t),list:fa(t),get:pa(t),remove:ga(t),update:ya(t)}}function Na(t){return async(e,r)=>{const n={id:R(),...r,created_at:new Date().toISOString(),updated_at:new Date().toISOString()};return await t.insertInto("connections").values({...n,options:JSON.stringify(n.options||{}),tenant_id:e}).execute(),n}}function va(t){return async(e,r={})=>{const{page:n=0,per_page:a=50,include_totals:o=!1,q:u}=r;let c=t.selectFrom("connections").where("connections.tenant_id","=",e);u&&(c=K(t,c,u,["user_id","ip"]));const f=(await c.offset(n*a).limit(a).selectAll().execute()).map(y=>S({...y,options:JSON.parse(y.options)}));if(!o)return{connections:f,start:0,limit:0,length:0};const{count:m}=await c.select(y=>y.fn.countAll().as("count")).executeTakeFirstOrThrow();return{connections:f,start:n*a,limit:a,length:E(m)}}}function Ca(t){return async(e,r)=>(await t.deleteFrom("connections").where("connections.tenant_id","=",e).where("connections.id","=",r).executeTakeFirst()).numDeletedRows>0}function ba(t){return async(e,r)=>{const n=await t.selectFrom("connections").where("connections.tenant_id","=",e).where("connections.id","=",r).selectAll().executeTakeFirst();return n?S({...n,options:JSON.parse(n.options)}):null}}function Oa(t){return async(e,r,n)=>{const a={...n,updated_at:new Date().toISOString()};return await t.updateTable("connections").set({...a,options:a.options?JSON.stringify(a.options):void 0}).where("connections.id","=",r).where("connections.tenant_id","=",e).execute(),!0}}function Sa(t){return{create:Na(t),get:ba(t),list:va(t),remove:Ca(t),update:Oa(t)}}function xa(t){return async(e,r)=>{const n={created_at:new Date().toISOString(),updated_at:new Date().toISOString(),...r,global:r.global??!1,is_first_party:r.is_first_party??!1,oidc_conformant:r.oidc_conformant??!0,sso:r.sso??!1,sso_disabled:r.sso_disabled??!0,cross_origin_authentication:r.cross_origin_authentication??!1,custom_login_page_on:r.custom_login_page_on??!1,require_pushed_authorization_requests:r.require_pushed_authorization_requests??!1,require_proof_of_possession:r.require_proof_of_possession??!1};return await t.insertInto("clients").values({...n,tenant_id:e,global:r.global?1:0,is_first_party:r.is_first_party?1:0,oidc_conformant:r.oidc_conformant?1:0,sso:r.sso?1:0,sso_disabled:r.sso_disabled?1:0,cross_origin_authentication:r.cross_origin_authentication?1:0,custom_login_page_on:r.custom_login_page_on?1:0,require_pushed_authorization_requests:r.require_pushed_authorization_requests?1:0,require_proof_of_possession:r.require_proof_of_possession?1:0,callbacks:JSON.stringify(r.callbacks||[]),allowed_origins:JSON.stringify(r.allowed_origins||[]),web_origins:JSON.stringify(r.web_origins||[]),client_aliases:JSON.stringify(r.client_aliases||[]),allowed_clients:JSON.stringify(r.allowed_clients||[]),allowed_logout_urls:JSON.stringify(r.allowed_logout_urls||[]),session_transfer:JSON.stringify(r.session_transfer||{}),oidc_logout:JSON.stringify(r.oidc_logout||{}),grant_types:JSON.stringify(r.grant_types||[]),jwt_configuration:JSON.stringify(r.jwt_configuration||{}),signing_keys:JSON.stringify(r.signing_keys||[]),encryption_key:JSON.stringify(r.encryption_key||{}),addons:JSON.stringify(r.addons||{}),client_metadata:JSON.stringify(r.client_metadata||{}),mobile:JSON.stringify(r.mobile||{}),native_social_login:JSON.stringify(r.native_social_login||{}),refresh_token:JSON.stringify(r.refresh_token||{}),default_organization:JSON.stringify(r.default_organization||{}),client_authentication_methods:JSON.stringify(r.client_authentication_methods||{}),signed_request_object:JSON.stringify(r.signed_request_object||{}),token_quota:JSON.stringify(r.token_quota||{})}).execute(),n}}function Ta(t){return async(e,r)=>{const n=await t.selectFrom("clients").where("clients.tenant_id","=",e).where("clients.client_id","=",r).selectAll().executeTakeFirst();if(!n)return null;const{tenant_id:a,...o}=n;return S({...o,global:!!n.global,is_first_party:!!n.is_first_party,oidc_conformant:!!n.oidc_conformant,sso:!!n.sso,sso_disabled:!!n.sso_disabled,cross_origin_authentication:!!n.cross_origin_authentication,custom_login_page_on:!!n.custom_login_page_on,require_pushed_authorization_requests:!!n.require_pushed_authorization_requests,require_proof_of_possession:!!n.require_proof_of_possession,callbacks:JSON.parse(n.callbacks),allowed_origins:JSON.parse(n.allowed_origins),web_origins:JSON.parse(n.web_origins),client_aliases:JSON.parse(n.client_aliases),allowed_clients:JSON.parse(n.allowed_clients),allowed_logout_urls:JSON.parse(n.allowed_logout_urls),session_transfer:JSON.parse(n.session_transfer),oidc_logout:JSON.parse(n.oidc_logout),grant_types:JSON.parse(n.grant_types),jwt_configuration:JSON.parse(n.jwt_configuration),signing_keys:JSON.parse(n.signing_keys),encryption_key:JSON.parse(n.encryption_key),addons:JSON.parse(n.addons),client_metadata:JSON.parse(n.client_metadata),mobile:JSON.parse(n.mobile),native_social_login:JSON.parse(n.native_social_login),refresh_token:JSON.parse(n.refresh_token),default_organization:JSON.parse(n.default_organization),client_authentication_methods:JSON.parse(n.client_authentication_methods),signed_request_object:JSON.parse(n.signed_request_object),token_quota:JSON.parse(n.token_quota)})}}function ka(t){return async(e,r)=>{let n=t.selectFrom("clients").where("clients.tenant_id","=",e);return r!=null&&r.per_page&&(n=n.limit(r.per_page)),r!=null&&r.page&&(r!=null&&r.per_page)&&(n=n.offset((r.page-1)*r.per_page)),{clients:(await n.selectAll().execute()).map(u=>({...u,global:!!u.global,is_first_party:!!u.is_first_party,oidc_conformant:!!u.oidc_conformant,sso:!!u.sso,sso_disabled:!!u.sso_disabled,cross_origin_authentication:!!u.cross_origin_authentication,custom_login_page_on:!!u.custom_login_page_on,require_pushed_authorization_requests:!!u.require_pushed_authorization_requests,require_proof_of_possession:!!u.require_proof_of_possession,callbacks:JSON.parse(u.callbacks),allowed_origins:JSON.parse(u.allowed_origins),web_origins:JSON.parse(u.web_origins),client_aliases:JSON.parse(u.client_aliases),allowed_clients:JSON.parse(u.allowed_clients),allowed_logout_urls:JSON.parse(u.allowed_logout_urls),session_transfer:JSON.parse(u.session_transfer),oidc_logout:JSON.parse(u.oidc_logout),grant_types:JSON.parse(u.grant_types),jwt_configuration:JSON.parse(u.jwt_configuration),signing_keys:JSON.parse(u.signing_keys),encryption_key:JSON.parse(u.encryption_key),addons:JSON.parse(u.addons),client_metadata:JSON.parse(u.client_metadata),mobile:JSON.parse(u.mobile),native_social_login:JSON.parse(u.native_social_login),refresh_token:JSON.parse(u.refresh_token),default_organization:JSON.parse(u.default_organization),client_authentication_methods:JSON.parse(u.client_authentication_methods),signed_request_object:JSON.parse(u.signed_request_object),token_quota:JSON.parse(u.token_quota)}))}}}function Ia(t){return async(e,r)=>(await t.deleteFrom("clients").where("clients.tenant_id","=",e).where("clients.client_id","=",r).executeTakeFirst()).numDeletedRows>0}function $a(t){return async(e,r,n)=>{const a={...n,updated_at:new Date().toISOString()};return n.global!==void 0&&(a.global=n.global?1:0),n.is_first_party!==void 0&&(a.is_first_party=n.is_first_party?1:0),n.oidc_conformant!==void 0&&(a.oidc_conformant=n.oidc_conformant?1:0),n.sso!==void 0&&(a.sso=n.sso?1:0),n.sso_disabled!==void 0&&(a.sso_disabled=n.sso_disabled?1:0),n.cross_origin_authentication!==void 0&&(a.cross_origin_authentication=n.cross_origin_authentication?1:0),n.custom_login_page_on!==void 0&&(a.custom_login_page_on=n.custom_login_page_on?1:0),n.require_pushed_authorization_requests!==void 0&&(a.require_pushed_authorization_requests=n.require_pushed_authorization_requests?1:0),n.require_proof_of_possession!==void 0&&(a.require_proof_of_possession=n.require_proof_of_possession?1:0),n.callbacks!==void 0&&(a.callbacks=JSON.stringify(n.callbacks)),n.allowed_origins!==void 0&&(a.allowed_origins=JSON.stringify(n.allowed_origins)),n.web_origins!==void 0&&(a.web_origins=JSON.stringify(n.web_origins)),n.client_aliases!==void 0&&(a.client_aliases=JSON.stringify(n.client_aliases)),n.allowed_clients!==void 0&&(a.allowed_clients=JSON.stringify(n.allowed_clients)),n.allowed_logout_urls!==void 0&&(a.allowed_logout_urls=JSON.stringify(n.allowed_logout_urls)),n.session_transfer!==void 0&&(a.session_transfer=JSON.stringify(n.session_transfer)),n.oidc_logout!==void 0&&(a.oidc_logout=JSON.stringify(n.oidc_logout)),n.grant_types!==void 0&&(a.grant_types=JSON.stringify(n.grant_types)),n.jwt_configuration!==void 0&&(a.jwt_configuration=JSON.stringify(n.jwt_configuration)),n.signing_keys!==void 0&&(a.signing_keys=JSON.stringify(n.signing_keys)),n.encryption_key!==void 0&&(a.encryption_key=JSON.stringify(n.encryption_key)),n.addons!==void 0&&(a.addons=JSON.stringify(n.addons)),n.client_metadata!==void 0&&(a.client_metadata=JSON.stringify(n.client_metadata)),n.mobile!==void 0&&(a.mobile=JSON.stringify(n.mobile)),n.native_social_login!==void 0&&(a.native_social_login=JSON.stringify(n.native_social_login)),n.refresh_token!==void 0&&(a.refresh_token=JSON.stringify(n.refresh_token)),n.default_organization!==void 0&&(a.default_organization=JSON.stringify(n.default_organization)),n.client_authentication_methods!==void 0&&(a.client_authentication_methods=JSON.stringify(n.client_authentication_methods)),n.signed_request_object!==void 0&&(a.signed_request_object=JSON.stringify(n.signed_request_object)),n.token_quota!==void 0&&(a.token_quota=JSON.stringify(n.token_quota)),(await t.updateTable("clients").set(a).where("clients.tenant_id","=",e).where("clients.client_id","=",r).executeTakeFirst()).numUpdatedRows>0}}function Pa(t){return{create:xa(t),get:Ta(t),list:ka(t),remove:Ia(t),update:$a(t)}}function Aa(t){return{get:async e=>{const r=await t.selectFrom("clients").selectAll().where("client_id","=",e).executeTakeFirst();if(!r)return null;const n=await t.selectFrom("tenants").selectAll().where("id","=",r.tenant_id).executeTakeFirst();if(!n)throw new ct(404,{message:"Tenant not found"});const a=await t.selectFrom("connections").where("tenant_id","=",r.tenant_id).selectAll().execute(),o=r.client_metadata?JSON.parse(r.client_metadata):{};return{...r,global:!!r.global,is_first_party:!!r.is_first_party,oidc_conformant:!!r.oidc_conformant,sso:!!r.sso,sso_disabled:!!r.sso_disabled,cross_origin_authentication:!!r.cross_origin_authentication,custom_login_page_on:!!r.custom_login_page_on,require_pushed_authorization_requests:!!r.require_pushed_authorization_requests,require_proof_of_possession:!!r.require_proof_of_possession,connections:a.map(c=>z.connectionSchema.parse(S({...c,options:c.options?JSON.parse(c.options):{}}))),addons:r.addons?JSON.parse(r.addons):{},callbacks:r.callbacks?JSON.parse(r.callbacks):[],allowed_origins:r.allowed_origins?JSON.parse(r.allowed_origins):[],web_origins:r.web_origins?JSON.parse(r.web_origins):[],client_aliases:r.client_aliases?JSON.parse(r.client_aliases):[],allowed_clients:r.allowed_clients?JSON.parse(r.allowed_clients):[],allowed_logout_urls:r.allowed_logout_urls?JSON.parse(r.allowed_logout_urls):[],session_transfer:r.session_transfer?JSON.parse(r.session_transfer):{},oidc_logout:r.oidc_logout?JSON.parse(r.oidc_logout):{},grant_types:r.grant_types?JSON.parse(r.grant_types):[],jwt_configuration:r.jwt_configuration?JSON.parse(r.jwt_configuration):{},signing_keys:r.signing_keys?JSON.parse(r.signing_keys):[],encryption_key:r.encryption_key?JSON.parse(r.encryption_key):{},client_metadata:o,mobile:r.mobile?JSON.parse(r.mobile):{},native_social_login:r.native_social_login?JSON.parse(r.native_social_login):{},refresh_token:r.refresh_token?JSON.parse(r.refresh_token):{},default_organization:r.default_organization?JSON.parse(r.default_organization):{},client_authentication_methods:r.client_authentication_methods?JSON.parse(r.client_authentication_methods):{},signed_request_object:r.signed_request_object?JSON.parse(r.signed_request_object):{},token_quota:r.token_quota?JSON.parse(r.token_quota):{},tenant:S(n),disable_sign_ups:o.disable_sign_ups==="true",email_validation:o.email_validation||"disabled"}}}}function Da(t){return async(e={})=>{const{page:r=0,per_page:n=100,include_totals:a=!1,sort:o,q:u}=e;let c=t.selectFrom("keys").where(w=>w.or([w("revoked_at",">",new Date().toISOString()),w("revoked_at","is",null)]));u&&(c=K(t,c,u,["kid","connection","fingerprint","thumbprint","type"]));let _=c.select(w=>w.fn.count("kid").as("count"));const h=r*n;c=c.limit(n).offset(h),o&&(c=c.orderBy(o.sort_by,o.sort_order));const f=await c.selectAll().execute();if(!a)return{signingKeys:f,start:0,limit:0,length:0};const m=await _.executeTakeFirst(),y=E((m==null?void 0:m.count)??0);return{signingKeys:f,start:h,limit:n,length:y}}}function Ja(t){return async e=>{await t.insertInto("keys").values({...e,created_at:new Date().toDateString()}).execute()}}function qa(t){return async(e,r)=>!!(await t.updateTable("keys").set(r).where("kid","=",e).execute()).length}function ja(t){return{create:Ja(t),list:Da(t),update:qa(t)}}function Fa(t){return async(e,r)=>{const n={custom_domain_id:R(),status:"pending",primary:!1,...r};return await t.insertInto("custom_domains").values({...n,created_at:new Date().toISOString(),updated_at:new Date().toISOString(),tenant_id:e,primary:n.primary?1:0}).execute(),n}}function za(t){return async e=>(await t.selectFrom("custom_domains").where("custom_domains.tenant_id","=",e).selectAll().execute()).map(n=>({...n,primary:n.primary===1}))}function Ea(t){return async(e,r)=>(await t.deleteFrom("custom_domains").where("custom_domains.tenant_id","=",e).where("custom_domains.custom_domain_id","=",r).execute()).length>0}function Ra(t){return async(e,r)=>{const n=await t.selectFrom("custom_domains").where("custom_domains.tenant_id","=",e).where("custom_domains.custom_domain_id","=",r).selectAll().executeTakeFirst();return n?{...n,primary:n.primary===1}:null}}function Wa(t){return async(e,r,n)=>{const a={...n,updated_at:new Date().toISOString(),primary:n.primary?1:0};return(await t.updateTable("custom_domains").set(a).where("custom_domains.tenant_id","=",e).where("custom_domains.custom_domain_id","=",r).execute()).length>0}}function Ma(t){return async e=>{const r=await t.selectFrom("custom_domains").where("custom_domains.domain","=",e).selectAll().executeTakeFirst();return r?{...r,primary:r.primary===1}:null}}function La(t){return{create:Fa(t),get:Ra(t),getByDomain:Ma(t),list:za(t),remove:Ea(t),update:Wa(t)}}function Ba(t){return async e=>{const[r]=await t.selectFrom("branding").where("branding.tenant_id","=",e).selectAll().execute();if(!r)return null;const{tenant_id:n,colors_primary:a,colors_page_background_type:o,colors_page_background_start:u,colors_page_background_end:c,colors_page_background_angle_dev:_,font_url:h,...f}=r;return S({...f,colors:{primary:a,page_background:{type:o,start:u,end:c,angle_deg:_}},font:h?{url:h}:void 0})}}function Ua(t){return async(e,r)=>{var u,c,_,h,f,m,y,w,C,O,A,ne,Ie,fe,yt,mr,hr,fr;const{colors:n,font:a,...o}=r;try{await t.insertInto("branding").values({...o,colors_primary:n==null?void 0:n.primary,colors_page_background_type:(c=(u=r.colors)==null?void 0:u.page_background)==null?void 0:c.type,colors_page_background_start:(h=(_=r.colors)==null?void 0:_.page_background)==null?void 0:h.start,colors_page_background_end:(m=(f=r.colors)==null?void 0:f.page_background)==null?void 0:m.end,colors_page_background_angle_dev:(w=(y=r.colors)==null?void 0:y.page_background)==null?void 0:w.angle_deg,font_url:(C=r.font)==null?void 0:C.url,tenant_id:e}).execute()}catch{await t.updateTable("branding").set({...o,colors_primary:n==null?void 0:n.primary,colors_page_background_type:(A=(O=r.colors)==null?void 0:O.page_background)==null?void 0:A.type,colors_page_background_start:(Ie=(ne=r.colors)==null?void 0:ne.page_background)==null?void 0:Ie.start,colors_page_background_end:(yt=(fe=r.colors)==null?void 0:fe.page_background)==null?void 0:yt.end,colors_page_background_angle_dev:(hr=(mr=r.colors)==null?void 0:mr.page_background)==null?void 0:hr.angle_deg,font_url:(fr=r.font)==null?void 0:fr.url}).where("tenant_id","=",e).execute()}}}function Ka(t){return{get:Ba(t),set:Ua(t)}}function Qa(t){return async(e,r={})=>{const{page:n=0,per_page:a=50,include_totals:o=!1,q:u}=r;let c=t.selectFrom("hooks").where("hooks.tenant_id","=",e);u&&(c=K(t,c,u,["url","form_id"]));const f=(await c.offset(n*a).limit(a).selectAll().execute()).map(y=>{const{tenant_id:w,enabled:C,synchronous:O,...A}=y;return S({...A,enabled:!!C,synchronous:!!O})});if(!o)return{hooks:f,start:0,limit:0,length:0};const{count:m}=await c.select(y=>y.fn.countAll().as("count")).executeTakeFirstOrThrow();return{hooks:f,start:n*a,limit:a,length:E(m)}}}function Va(t){return async(e,r)=>{const n=await t.selectFrom("hooks").where("hooks.tenant_id","=",e).where("hooks.hook_id","=",r).selectAll().executeTakeFirst();return n?S({...n,enabled:!!n.enabled,synchronous:!!n.synchronous}):null}}function Ga(t){return async(e,r)=>(await t.deleteFrom("hooks").where("hooks.tenant_id","=",e).where("hooks.hook_id","=",r).executeTakeFirst()).numDeletedRows>0}function Ha(t){return async(e,r)=>{const n={hook_id:R(),...r,created_at:new Date().toISOString(),updated_at:new Date().toISOString()};return await t.insertInto("hooks").values({...n,tenant_id:e,enabled:r.enabled?1:0,synchronous:r.synchronous?1:0}).execute(),n}}function Ya(t){return async(e,r,n)=>{const a={...n,updated_at:new Date().toISOString(),enabled:n.enabled!==void 0?n.enabled?1:0:void 0,synchronous:n.enabled!==void 0?n.synchronous?1:0:void 0};return await t.updateTable("hooks").set(a).where("hooks.hook_id","=",r).where("hooks.tenant_id","=",e).execute(),!0}}function Xa(t){return{create:Ha(t),get:Va(t),list:Qa(t),update:Ya(t),remove:Ga(t)}}function Za(t){return async(e,r)=>{const n={themeId:R(),created_at:new Date().toISOString(),updated_at:new Date().toISOString(),...r},a={...n,tenant_id:e};return await t.insertInto("themes").values(Ze(a)).execute(),n}}function eo(t){return async(e,r)=>(await t.deleteFrom("themes").where("themes.tenant_id","=",e).where("themes.themeId","=",r).executeTakeFirst()).numDeletedRows>0}function to(t){return async(e,r)=>{const n=await t.selectFrom("themes").where("themes.tenant_id","=",e).where("themes.themeId","=",r).selectAll().executeTakeFirst();if(!n)return null;const a={...n,borders_show_widget_shadow:!!n.borders_show_widget_shadow,fonts_body_text_bold:!!n.fonts_body_text_bold,fonts_buttons_text_bold:!!n.fonts_buttons_text_bold,fonts_input_labels_bold:!!n.fonts_input_labels_bold,fonts_links_bold:!!n.fonts_links_bold,fonts_subtitle_bold:!!n.fonts_subtitle_bold,fonts_title_bold:!!n.fonts_title_bold};return S(Wr(a,["widget","colors","borders","fonts","page_background"]))}}function ro(t){return async(e,r,n)=>{const a=Ze({...n,updated_at:new Date().toISOString()});return await t.updateTable("themes").set(a).where("themes.themeId","=",r).where("themes.tenant_id","=",e).execute(),!0}}function no(t){return{create:Za(t),get:to(t),remove:eo(t),update:ro(t)}}function ao(t){return async(e,r)=>{const n=await t.selectFrom("login_sessions").where("login_sessions.id","=",r).selectAll().executeTakeFirst();return n?z.loginSessionSchema.parse(Wr(S({...n,login_completed:!!n.login_completed}),["authParams"])):null}}function oo(t){return async(e,r)=>{var a;const n={id:R(),...r,authorization_url:(a=r.authorization_url)==null?void 0:a.slice(0,1024),created_at:new Date().toISOString(),updated_at:new Date().toISOString(),login_completed:!!r.login_completed};return await t.insertInto("login_sessions").values({...Ze(n),tenant_id:e}).execute(),n}}function io(t){return async(e,r,n)=>(await t.updateTable("login_sessions").set(Ze({...n})).where("login_sessions.id","=",r).where("login_sessions.tenant_id","=",e).execute()).length===1}function so(t){return async(e,r)=>(await t.deleteFrom("login_sessions").where("login_sessions.tenant_id","=",e).where("login_sessions.id","=",r).execute()).length>0}function uo(t){return{create:oo(t),get:ao(t),update:io(t),remove:so(t)}}function co(t){return async e=>{const[r]=await t.selectFrom("prompt_settings").where("prompt_settings.tenant_id","=",e).selectAll().execute();return S({identifier_first:!!(r!=null&&r.identifier_first),password_first:!!(r!=null&&r.password_first),webauthn_platform_first_factor:!!(r!=null&&r.webauthn_platform_first_factor),universal_login_experience:(r==null?void 0:r.universal_login_experience)||"new"})}}function wr(t){return S({...t,webauthn_platform_first_factor:t.webauthn_platform_first_factor?!!t.webauthn_platform_first_factor:void 0,identifier_first:t.identifier_first?!!t.identifier_first:void 0,password_first:t.password_first?!!t.password_first:void 0,universal_login_experience:t.universal_login_experience})}function lo(t){return async(e,r)=>{try{const n=z.promptSettingSchema.parse(r);await t.insertInto("prompt_settings").values({...wr(n),tenant_id:e}).execute()}catch{await t.updateTable("prompt_settings").set(wr(r)).where("tenant_id","=",e).execute()}}}function _o(t){return{get:co(t),set:lo(t)}}function mo(t){return async e=>{const[r]=await t.selectFrom("email_providers").where("email_providers.tenant_id","=",e).selectAll().execute();if(!r)return null;const{tenant_id:n,credentials:a,settings:o,enabled:u,...c}=r;return S({...c,credentials:JSON.parse(a),settings:JSON.parse(o),enabled:!!u})}}function ho(t){return async(e,r)=>{const{credentials:n,settings:a,enabled:o,...u}=r;await t.updateTable("email_providers").set({...u,credentials:n?JSON.stringify(n):void 0,settings:a?JSON.stringify(a):void 0,enabled:o!==void 0?o?1:0:void 0}).where("tenant_id","=",e).execute()}}function fo(t){return async(e,r)=>{const{credentials:n,settings:a,enabled:o,...u}=r;await t.insertInto("email_providers").values({...u,enabled:o?1:0,credentials:JSON.stringify(n),settings:JSON.stringify(a),tenant_id:e,created_at:new Date().toISOString(),updated_at:new Date().toISOString()}).execute()}}function po(t){return{get:mo(t),create:fo(t),update:ho(t)}}function go(t){return async(e,r)=>{const n=await t.selectFrom("refresh_tokens").where("refresh_tokens.tenant_id","=",e).where("refresh_tokens.id","=",r).selectAll().executeTakeFirst();return n?{...n,rotating:!!n.rotating,device:n.device?JSON.parse(n.device):{},resource_servers:n.resource_servers?JSON.parse(n.resource_servers):[]}:null}}function yo(t){return async(e,r)=>{const n={...r,created_at:new Date().toISOString()};return await t.insertInto("refresh_tokens").values({...n,tenant_id:e,rotating:r.rotating?1:0,device:JSON.stringify(r.device),resource_servers:JSON.stringify(r.resource_servers)}).execute(),{...r,...n}}}function wo(t){return async(e,r)=>!!(await t.deleteFrom("refresh_tokens").where("tenant_id","=",e).where("refresh_tokens.id","=",r).execute()).length}function No(t){return async(e,r,n)=>{const a={...n,device:n.device?JSON.stringify(n.device):void 0,resource_servers:n.resource_servers?JSON.stringify(n.resource_servers):void 0,rotating:n.rotating?1:0};return!!(await t.updateTable("refresh_tokens").set(a).where("tenant_id","=",e).where("refresh_tokens.id","=",r).execute()).length}}function vo(t){return async(e,r={})=>{const{page:n=0,per_page:a=50,include_totals:o=!1,sort:u,q:c}=r;let _=t.selectFrom("refresh_tokens").where("refresh_tokens.tenant_id","=",e);c&&(_=K(t,_,c,["token","session_id"]));let h=_;if(u&&u.sort_by){const{ref:C}=t.dynamic;h=h.orderBy(C(u.sort_by),u.sort_order)}h=h.offset(n*a).limit(a);const m=(await h.selectAll().execute()).map(C=>({...C,rotating:!!C.rotating,device:C.device?JSON.parse(C.device):{},resource_servers:C.resource_servers?JSON.parse(C.resource_servers):[]}));if(!o)return{refresh_tokens:m,start:0,limit:0,length:0};const{count:y}=await _.select(C=>C.fn.countAll().as("count")).executeTakeFirstOrThrow(),w=E(y);return{refresh_tokens:m,start:n*a,limit:a,length:w}}}function Co(t){return{create:yo(t),get:go(t),list:vo(t),remove:wo(t),update:No(t)}}function bo(t){return async()=>{const e=new Date(Date.now()-864e5).toISOString(),r=new Date(Date.now()-1e3*60*60*24*7).toISOString(),n=new Date(Date.now()-1e3*60*60*24*30*3).toISOString();console.log("delete codes"),await t.deleteFrom("codes").where("created_at","<",e).limit(1e5).execute(),console.log("delete sessions"),await t.deleteFrom("login_sessions").where("created_at","<",r).where("session_id","is",null).limit(1e5).execute(),console.log("delete logs"),await t.deleteFrom("logs").where("date","<",n).limit(1e5).execute(),console.log("delete refresh tokens"),await t.deleteFrom("refresh_tokens").where(o=>o.or([o("expires_at","<",r),o("idle_expires_at","<",r)])).limit(1e4).execute(),console.log("delete sessions");const a=await t.selectFrom("sessions").select("id").where(o=>o.or([o("expires_at","<",r),o("idle_expires_at","<",r)])).where("id","not in",t.selectFrom("refresh_tokens").select("session_id")).limit(1e5).execute();a.length>0&&await t.deleteFrom("sessions").where("id","in",a.map(o=>o.id)).execute(),console.log("cleanup complete")}}function Oo(t){return async(e,r)=>{const n=z.formSchema.parse({id:R(),...r,created_at:new Date().toISOString(),updated_at:new Date().toISOString()});return await t.insertInto("forms").values({...n,nodes:JSON.stringify(n.nodes||[]),start:JSON.stringify(n.start||{}),ending:JSON.stringify(n.ending||{}),tenant_id:e}).execute(),z.formSchema.parse(n)}}function So(t){return async(e,r={})=>{const{page:n=0,per_page:a=50,include_totals:o=!1,q:u}=r;let c=t.selectFrom("forms").where("tenant_id","=",e);u&&(c=K(t,c,u,[]));const f=(await c.offset(n*a).limit(a).selectAll().execute()).map(y=>{const w={...y};if(typeof w.nodes=="string")try{w.nodes=JSON.parse(w.nodes)}catch{}if(typeof w.start=="string")try{w.start=JSON.parse(w.start)}catch{}if(typeof w.ending=="string")try{w.ending=JSON.parse(w.ending)}catch{}return z.formSchema.parse(S(w))});if(!o)return{forms:f,start:0,limit:0,length:0};const{count:m}=await c.select(y=>y.fn.countAll().as("count")).executeTakeFirstOrThrow();return{forms:f,start:n*a,limit:a,length:E(m)}}}function xo(t){return async(e,r)=>{const{numDeletedRows:n}=await t.deleteFrom("forms").where("id","=",r).where("tenant_id","=",e).executeTakeFirst();return n>0}}function To(t){return async(e,r)=>{const n=await t.selectFrom("forms").selectAll().where("forms.id","=",r).where("tenant_id","=",e).executeTakeFirst();if(!n)return null;const a={...n};if(typeof a.nodes=="string")try{a.nodes=JSON.parse(a.nodes)}catch{}if(typeof a.start=="string")try{a.start=JSON.parse(a.start)}catch{}if(typeof a.ending=="string")try{a.ending=JSON.parse(a.ending)}catch{}return z.formSchema.parse(S(a))}}function ko(t){return async(e,r,n)=>{const a={...n,updated_at:new Date().toISOString()};n.nodes&&(a.nodes=JSON.stringify(n.nodes)),n.start&&(a.start=JSON.stringify(n.start)),n.ending&&(a.ending=JSON.stringify(n.ending));const{numUpdatedRows:o}=await t.updateTable("forms").set(a).where("id","=",r).where("tenant_id","=",e).executeTakeFirst();return o>0}}function Io(t){return{create:Oo(t),get:To(t),list:So(t),remove:xo(t),update:ko(t)}}function $o(t){return async(e,r)=>{const n=new Date().toISOString(),a={id:R(),...r,created_at:n,updated_at:n},o=z.resourceServerSchema.parse(a),{verificationKey:u,scopes:c,options:_,skip_consent_for_verifiable_first_party_clients:h,allow_offline_access:f,...m}=o,y={...m,tenant_id:e,scopes:c?JSON.stringify(c):"[]",options:_?JSON.stringify(_):"{}",skip_consent_for_verifiable_first_party_clients:h?1:0,allow_offline_access:f?1:0,verification_key:u,created_at:n,updated_at:n};return await t.insertInto("resource_servers").values(y).execute(),S(o)}}function Po(t){return async(e,r)=>{const n=await t.selectFrom("resource_servers").selectAll().where("tenant_id","=",e).where("id","=",r).executeTakeFirst();if(!n)return null;const a=n,{verification_key:o,scopes:u,options:c,skip_consent_for_verifiable_first_party_clients:_,allow_offline_access:h,...f}=a,m={...f,scopes:u?JSON.parse(u):[],options:c?JSON.parse(c):{},skip_consent_for_verifiable_first_party_clients:!!_,allow_offline_access:!!h,verificationKey:o};return S(m)}}function Ao(t){return async(e,r={})=>{const{page:n=0,per_page:a=50,include_totals:o=!1,q:u}=r;let c=t.selectFrom("resource_servers").where("resource_servers.tenant_id","=",e);if(u){const y=u.trim(),w=y.split(/\s+/),C=w.length===1?w[0]:void 0,O=C?C.match(/^(-)?(name|identifier):(.*)$/):null,A=O?O[3]:"",ne=/^(>=|>|<=|<)/.test(A||"");if(O&&!ne){const Ie=!!O[1],fe=O[2]==="name"?"resource_servers.name":"resource_servers.identifier";c=Ie?c.where(fe,"not like",`%${A}%`):c.where(fe,"like",`%${A}%`)}else c=K(t,c,y,["resource_servers.name","resource_servers.identifier"])}const f=(await c.offset(n*a).limit(a).selectAll().execute()).map(y=>{const w=y,{verification_key:C,scopes:O,options:A,skip_consent_for_verifiable_first_party_clients:ne,allow_offline_access:Ie,...fe}=w,yt={...fe,scopes:O?JSON.parse(O):[],options:A?JSON.parse(A):{},skip_consent_for_verifiable_first_party_clients:!!ne,allow_offline_access:!!Ie,verificationKey:C};return S(yt)});if(!o)return{resource_servers:f,start:0,limit:0,length:0};const{count:m}=await c.select(y=>y.fn.countAll().as("count")).executeTakeFirstOrThrow();return{resource_servers:f,start:n*a,limit:a,length:E(m)}}}function Do(t){return async(e,r)=>{const n=await t.deleteFrom("resource_servers").where("tenant_id","=",e).where("id","=",r).executeTakeFirst();return Number(n.numDeletedRows)>0}}function Jo(t){return async(e,r,n)=>{const{verificationKey:a,scopes:o,options:u,skip_consent_for_verifiable_first_party_clients:c,allow_offline_access:_,...h}=n,f={...h,updated_at:new Date().toISOString()};a!==void 0&&(f.verification_key=a),o!==void 0&&(f.scopes=JSON.stringify(o)),u!==void 0&&(f.options=JSON.stringify(u)),c!==void 0&&(f.skip_consent_for_verifiable_first_party_clients=c?1:0),_!==void 0&&(f.allow_offline_access=_?1:0);const m=await t.updateTable("resource_servers").set(f).where("tenant_id","=",e).where("id","=",r).executeTakeFirst();return Number(m.numUpdatedRows)>0}}function qo(t){return{create:$o(t),get:Po(t),list:Ao(t),remove:Do(t),update:Jo(t)}}function jo(t){return async(e,r)=>{const n=new Date().toISOString(),a=R(),o={id:a,...r,tenant_id:e,created_at:n,updated_at:n};return await t.insertInto("roles").values(o).execute(),{id:a,...r,created_at:n,updated_at:n}}}function Fo(t){return async(e,r)=>{const n=await t.selectFrom("roles").selectAll().where("roles.tenant_id","=",e).where("roles.id","=",r).executeTakeFirst();return n?{...n}:null}}function zo(t){return async(e,r)=>{let n=t.selectFrom("roles").where("roles.tenant_id","=",e);const{page:a=0,per_page:o=50,include_totals:u=!1}=r;r.q&&(n=K(t,n,r.q,["name"]));const _=await n.offset(a*o).limit(o).selectAll().execute();if(!u)return{roles:_,start:a*o,limit:o,length:_.length};const{count:h}=await n.select(f=>f.fn.countAll().as("count")).executeTakeFirstOrThrow();return{roles:_,start:a*o,limit:o,length:E(h)}}}function Eo(t){return async(e,r,n)=>{const a={...n,updated_at:new Date().toISOString()},o=await t.updateTable("roles").set(a).where("roles.tenant_id","=",e).where("roles.id","=",r).executeTakeFirst();return Number(o.numUpdatedRows)>0}}function Ro(t){return async(e,r)=>{const n=await t.deleteFrom("roles").where("tenant_id","=",e).where("id","=",r).executeTakeFirst();return Number(n.numDeletedRows)>0}}function Wo(t){return{create:jo(t),get:Fo(t),list:zo(t),update:Eo(t),remove:Ro(t)}}function Mo(t){return async(e,r,n)=>{if(n.length===0)return!0;const a=new Date().toISOString();try{for(const o of n){if(o.role_id!==r)throw new Error(`Permission role_id ${o.role_id} does not match expected role_id ${r}`);const u={tenant_id:e,role_id:o.role_id,resource_server_identifier:o.resource_server_identifier,permission_name:o.permission_name,created_at:a};try{await t.insertInto("role_permissions").values(u).execute()}catch(c){if(c.code==="SQLITE_CONSTRAINT_PRIMARYKEY"||c.code==="SQLITE_CONSTRAINT_UNIQUE")continue;throw c}}return!0}catch(o){return console.error("Error assigning role permissions:",o),!1}}}function Lo(t){return async(e,r,n)=>{if(n.length===0)return!0;try{return(await Promise.all(n.map(o=>t.deleteFrom("role_permissions").where("tenant_id","=",e).where("role_id","=",r).where("resource_server_identifier","=",o.resource_server_identifier).where("permission_name","=",o.permission_name).executeTakeFirst()))).some(o=>Number(o.numDeletedRows)>0)}catch(a){return console.error("Error removing role permissions:",a),!1}}}function Bo(t){return async(e,r,n={})=>{const{page:a=0,per_page:o=50,include_totals:u=!1}=n;let c=t.selectFrom("role_permissions").leftJoin("resource_servers",m=>m.onRef("role_permissions.tenant_id","=","resource_servers.tenant_id").onRef("role_permissions.resource_server_identifier","=","resource_servers.id")).select(["role_permissions.role_id","role_permissions.resource_server_identifier","role_permissions.permission_name","role_permissions.created_at","resource_servers.name as resource_server_name"]).where("role_permissions.tenant_id","=",e).where("role_permissions.role_id","=",r);const f=(await c.offset(a*o).limit(o).execute()).map(m=>({role_id:m.role_id,resource_server_identifier:m.resource_server_identifier,resource_server_name:m.resource_server_name||m.resource_server_identifier,permission_name:m.permission_name,description:null,created_at:m.created_at}));return u&&await c.select(m=>m.fn.countAll().as("count")).executeTakeFirstOrThrow(),f}}function Uo(t){return{assign:Mo(t),remove:Lo(t),list:Bo(t)}}function Ko(t){return async(e,r,n,a)=>{const o=new Date().toISOString();try{const u={tenant_id:e,user_id:r,resource_server_identifier:n.resource_server_identifier,permission_name:n.permission_name,organization_id:a||n.organization_id||"",created_at:o};return await t.insertInto("user_permissions").values(u).execute(),!0}catch(u){return u.code==="SQLITE_CONSTRAINT_PRIMARYKEY"||u.code==="SQLITE_CONSTRAINT_UNIQUE"||u.code==="SQLITE_CONSTRAINT"||u.message&&u.message.includes("UNIQUE constraint failed")||u.message&&u.message.includes("PRIMARY KEY constraint failed")?!0:(console.error("Error creating user permission:",u),!1)}}}function Qo(t){return async(e,r,n,a)=>{try{let o=t.deleteFrom("user_permissions").where("tenant_id","=",e).where("user_id","=",r).where("resource_server_identifier","=",n.resource_server_identifier).where("permission_name","=",n.permission_name);return a!==void 0?o=o.where("organization_id","=",a):o=o.where("organization_id","=",""),await o.execute(),!0}catch(o){return console.error("Error removing user permission:",o),!1}}}function Vo(t){return async(e,r,n,a)=>{let o=t.selectFrom("user_permissions").leftJoin("resource_servers",c=>c.onRef("user_permissions.tenant_id","=","resource_servers.tenant_id").onRef("user_permissions.resource_server_identifier","=","resource_servers.id")).select(["user_permissions.resource_server_identifier","user_permissions.permission_name","resource_servers.name as resource_server_name","user_permissions.user_id","user_permissions.created_at","user_permissions.organization_id"]).where("user_permissions.tenant_id","=",e).where("user_permissions.user_id","=",r);return a!==void 0&&(o=o.where("user_permissions.organization_id","=",a)),(await o.execute()).map(c=>({resource_server_identifier:c.resource_server_identifier,permission_name:c.permission_name,description:null,resource_server_name:c.resource_server_name||c.resource_server_identifier,user_id:c.user_id,created_at:c.created_at,organization_id:c.organization_id===""?void 0:c.organization_id}))}}function Go(t){return{create:Ko(t),remove:Qo(t),list:Vo(t)}}function Ho(t){const e=Go(t);return{create:(r,n,a,o)=>e.create(r,n,a,o),remove:(r,n,a,o)=>e.remove(r,n,a,o),list:(r,n,a,o)=>e.list(r,n,a,o)}}function Yo(t){return async(e,r,n,a)=>{let o=t.selectFrom("user_roles as ur").innerJoin("roles as r",c=>c.onRef("ur.role_id","=","r.id").onRef("ur.tenant_id","=","r.tenant_id")).select(["r.id","r.name","r.description","r.created_at","r.updated_at"]).where("ur.tenant_id","=",e).where("ur.user_id","=",r);return a!==void 0&&(o=o.where("ur.organization_id","=",a)),await o.execute()}}function Xo(t){return async(e,r,n,a)=>{const o=new Date().toISOString();try{return await t.insertInto("user_roles").values({tenant_id:e,user_id:r,role_id:n,organization_id:a||"",created_at:o}).execute(),!0}catch(u){return u.code==="SQLITE_CONSTRAINT_PRIMARYKEY"||u.code==="SQLITE_CONSTRAINT_UNIQUE"||u.code==="SQLITE_CONSTRAINT"||u.message&&u.message.includes("UNIQUE constraint failed")||u.message&&u.message.includes("PRIMARY KEY constraint failed")?!0:(console.error("Error creating user role:",u),!1)}}}function Zo(t){return async(e,r,n,a)=>{try{let o=t.deleteFrom("user_roles").where("tenant_id","=",e).where("user_id","=",r).where("role_id","=",n);return a!==void 0?o=o.where("organization_id","=",a):o=o.where("organization_id","=",""),await o.execute(),!0}catch(o){return console.error("Error removing user roles:",o),!1}}}function ei(t){return{list:Yo(t),create:Xo(t),remove:Zo(t)}}function ti(t){const e=ei(t);return{list:(r,n,a,o)=>e.list(r,n,a,o),create:(r,n,a,o)=>e.create(r,n,a,o),remove:(r,n,a,o)=>e.remove(r,n,a,o)}}function ri(t){return async(e,r)=>{const n={...r,id:r.id||R(),tenant_id:e,created_at:new Date().toISOString(),updated_at:new Date().toISOString(),branding:JSON.stringify(r.branding||{}),metadata:JSON.stringify(r.metadata||{}),enabled_connections:JSON.stringify(r.enabled_connections||[]),token_quota:JSON.stringify(r.token_quota||{})};try{await t.insertInto("organizations").values(n).execute()}catch(a){throw a.code==="SQLITE_CONSTRAINT_UNIQUE"||a.message.includes("AlreadyExists")?new ct(409,{message:"Organization already exists"}):a}return{...r,id:n.id,created_at:n.created_at,updated_at:n.updated_at}}}function ni(t){return async(e,r)=>{const n=await t.selectFrom("organizations").selectAll().where("tenant_id","=",e).where("id","=",r).executeTakeFirst();return n?S({...n,branding:n.branding?JSON.parse(n.branding):{},metadata:n.metadata?JSON.parse(n.metadata):{},enabled_connections:n.enabled_connections?JSON.parse(n.enabled_connections):[],token_quota:n.token_quota?JSON.parse(n.token_quota):{}}):null}}function ai(t){return async(e,r)=>{let n=t.selectFrom("organizations").selectAll().where("tenant_id","=",e).orderBy("created_at","desc");if(r!=null&&r.per_page&&(n=n.limit(r.per_page)),r!=null&&r.page){const u=(r.page-1)*(r.per_page||10);n=n.offset(u)}const o=(await n.execute()).map(u=>S({...u,branding:u.branding?JSON.parse(u.branding):{},metadata:u.metadata?JSON.parse(u.metadata):{},enabled_connections:u.enabled_connections?JSON.parse(u.enabled_connections):[],token_quota:u.token_quota?JSON.parse(u.token_quota):{}}));return{organizations:o,start:r!=null&&r.page?(r.page-1)*(r.per_page||10):0,limit:(r==null?void 0:r.per_page)||o.length,length:o.length}}}function oi(t){return async(e,r)=>(await t.deleteFrom("organizations").where("tenant_id","=",e).where("id","=",r).execute()).length>0}function ii(t){return async(e,r,n)=>{const{branding:a,metadata:o,enabled_connections:u,token_quota:c,..._}=n,h={..._,updated_at:new Date().toISOString()};return a!==void 0&&(h.branding=JSON.stringify(a)),o!==void 0&&(h.metadata=JSON.stringify(o)),u!==void 0&&(h.enabled_connections=JSON.stringify(u)),c!==void 0&&(h.token_quota=JSON.stringify(c)),(await t.updateTable("organizations").set(h).where("tenant_id","=",e).where("id","=",r).execute()).length>0}}function si(t){return{create:ri(t),get:ni(t),list:ai(t),remove:oi(t),update:ii(t)}}function ui(t){return async(e,r)=>{const n={id:R(),tenant_id:e,user_id:r.user_id,organization_id:r.organization_id,created_at:new Date().toISOString(),updated_at:new Date().toISOString()};try{await t.insertInto("user_organizations").values(n).execute()}catch(a){throw a.code==="SQLITE_CONSTRAINT_UNIQUE"||a.code==="ER_DUP_ENTRY"?new ct(409,{message:"User is already a member of this organization"}):a}return{...n}}}function ci(t){return async(e,r)=>{const n=await t.selectFrom("user_organizations").selectAll().where("id","=",r).where("tenant_id","=",e).executeTakeFirst();return n?{id:n.id,user_id:n.user_id,organization_id:n.organization_id,created_at:n.created_at,updated_at:n.updated_at}:null}}function di(t){return async(e,r)=>{const n=(r==null?void 0:r.page)||0,a=(r==null?void 0:r.per_page)||50,o=n*a;let u=t.selectFrom("user_organizations").selectAll().where("tenant_id","=",e);if(r!=null&&r.q){if(r.q.startsWith("user_id:")){const m=r.q.replace("user_id:","");u=u.where("user_id","=",m)}else if(r.q.startsWith("organization_id:")){const m=r.q.replace("organization_id:","");u=u.where("organization_id","=",m)}}u=u.orderBy("created_at","desc"),a>0&&(u=u.limit(a).offset(o));const c=await u.execute();let _=t.selectFrom("user_organizations").select(t.fn.count("id").as("count")).where("tenant_id","=",e);if(r!=null&&r.q){if(r.q.startsWith("user_id:")){const m=r.q.replace("user_id:","");_=_.where("user_id","=",m)}else if(r.q.startsWith("organization_id:")){const m=r.q.replace("organization_id:","");_=_.where("organization_id","=",m)}}const h=await _.executeTakeFirst();return{userOrganizations:c.map(m=>({id:m.id,user_id:m.user_id,organization_id:m.organization_id,created_at:m.created_at,updated_at:m.updated_at})),start:o,limit:a,length:Number((h==null?void 0:h.count)||0)}}}function li(t){return async(e,r,n)=>{const a=(n==null?void 0:n.page)||0,o=(n==null?void 0:n.per_page)||50,u=a*o;let c=t.selectFrom("user_organizations").innerJoin("organizations","organizations.id","user_organizations.organization_id").select(["organizations.id","organizations.name","organizations.display_name","organizations.branding","organizations.metadata","organizations.enabled_connections","organizations.token_quota","organizations.created_at","organizations.updated_at","user_organizations.created_at as joined_at"]).where("user_organizations.tenant_id","=",e).where("user_organizations.user_id","=",r);c=c.orderBy("user_organizations.created_at","desc"),o>0&&(c=c.limit(o).offset(u));const _=await c.execute(),h=await t.selectFrom("user_organizations").innerJoin("organizations","organizations.id","user_organizations.organization_id").select(t.fn.count("user_organizations.id").as("count")).where("user_organizations.tenant_id","=",e).where("user_organizations.user_id","=",r).executeTakeFirst();return{organizations:_.map(m=>({id:m.id,name:m.name,display_name:m.display_name,branding:m.branding?JSON.parse(m.branding):void 0,metadata:m.metadata?JSON.parse(m.metadata):{},enabled_connections:m.enabled_connections?JSON.parse(m.enabled_connections):[],token_quota:m.token_quota?JSON.parse(m.token_quota):void 0,created_at:m.created_at,updated_at:m.updated_at,joined_at:m.joined_at})),start:u,limit:o,length:Number((h==null?void 0:h.count)||0)}}}function _i(t){return async(e,r)=>(await t.deleteFrom("user_organizations").where("id","=",r).where("tenant_id","=",e).execute()).length>0}function mi(t){return async(e,r,n)=>{const a={...n,updated_at:new Date().toISOString()};return(await t.updateTable("user_organizations").set(a).where("id","=",r).where("tenant_id","=",e).execute()).length>0}}function hi(t){return{create:ui(t),get:ci(t),list:di(t),listUserOrganizations:li(t),remove:_i(t),update:mi(t)}}function vt(t){return typeof t>"u"||t===void 0}function G(t){return typeof t=="string"}function ir(t){return typeof t=="number"}function Lr(t){return typeof t=="boolean"}function Br(t){return t===null}function Ur(t){return typeof t=="bigint"}function Te(t){return typeof t=="function"}function Jt(t){return typeof t=="object"&&t!==null}function fi(t){return t[t.length-1]}function s(t){return Object.freeze(t)}function wt(t){return de(t)?t:[t]}function de(t){return Array.isArray(t)}const q=s({is(t){return t.kind==="IdentifierNode"},create(t){return s({kind:"IdentifierNode",name:t})}}),Ut=s({is(t){return t.kind==="SchemableIdentifierNode"},create(t){return s({kind:"SchemableIdentifierNode",identifier:q.create(t)})},createWithSchema(t,e){return s({kind:"SchemableIdentifierNode",schema:q.create(t),identifier:q.create(e)})}}),he=s({is(t){return t.kind==="AliasNode"},create(t,e){return s({kind:"AliasNode",node:t,alias:e})}}),Se=s({is(t){return t.kind==="TableNode"},create(t){return s({kind:"TableNode",table:Ut.create(t)})},createWithSchema(t,e){return s({kind:"TableNode",table:Ut.createWithSchema(t,e)})}});function W(t){return Jt(t)&&Te(t.toOperationNode)}function pi(t){return Jt(t)&&"expressionType"in t&&W(t)}function gi(t){return Jt(t)&&"expression"in t&&G(t.alias)&&W(t)}const H=s({is(t){return t.kind==="SelectModifierNode"},create(t,e){return s({kind:"SelectModifierNode",modifier:t,of:e})},createWithExpression(t){return s({kind:"SelectModifierNode",rawModifier:t})}}),le=s({is(t){return t.kind==="AndNode"},create(t,e){return s({kind:"AndNode",left:t,right:e})}}),et=s({is(t){return t.kind==="OrNode"},create(t,e){return s({kind:"OrNode",left:t,right:e})}}),Wt=s({is(t){return t.kind==="OnNode"},create(t){return s({kind:"OnNode",on:t})},cloneWithOperation(t,e,r){return s({...t,on:e==="And"?le.create(t.on,r):et.create(t.on,r)})}}),nt=s({is(t){return t.kind==="JoinNode"},create(t,e){return s({kind:"JoinNode",joinType:t,table:e,on:void 0})},createWithOn(t,e,r){return s({kind:"JoinNode",joinType:t,table:e,on:Wt.create(r)})},cloneWithOn(t,e){return s({...t,on:t.on?Wt.cloneWithOperation(t.on,"And",e):Wt.create(e)})}}),Ye=s({is(t){return t.kind==="BinaryOperationNode"},create(t,e,r){return s({kind:"BinaryOperationNode",leftOperand:t,operator:e,rightOperand:r})}}),yi=["=","==","!=","<>",">",">=","<","<=","in","not in","is","is not","like","not like","match","ilike","not ilike","@>","<@","^@","&&","?","?&","?|","!<","!>","<=>","!~","~","~*","!~*","@@","@@@","!!","<->","regexp","is distinct from","is not distinct from"],wi=["+","-","*","/","%","^","&","|","#","<<",">>"],Kr=["->","->>"],Ni=[...yi,...wi,"&&","||"],vi=["exists","not exists"],Ci=["not","-",...vi],bi=[...Ni,...Kr,...Ci,"between","between symmetric"],xe=s({is(t){return t.kind==="OperatorNode"},create(t){return s({kind:"OperatorNode",operator:t})}});function Nr(t){return G(t)&&Kr.includes(t)}const sr=s({is(t){return t.kind==="ColumnNode"},create(t){return s({kind:"ColumnNode",column:q.create(t)})}}),Qr=s({is(t){return t.kind==="SelectAllNode"},create(){return s({kind:"SelectAllNode"})}}),qt=s({is(t){return t.kind==="ReferenceNode"},create(t,e){return s({kind:"ReferenceNode",table:e,column:t})},createSelectAll(t){return s({kind:"ReferenceNode",table:t,column:Qr.create()})}});function Vr(t){return Jt(t)&&W(t)&&G(t.dynamicReference)}const Kt=s({is(t){return t.kind==="OrderByItemNode"},create(t,e){return s({kind:"OrderByItemNode",orderBy:t,direction:e})}}),J=s({is(t){return t.kind==="RawNode"},create(t,e){return s({kind:"RawNode",sqlFragments:s(t),parameters:s(e)})},createWithSql(t){return J.create([t],[])},createWithChild(t){return J.create(["",""],[t])},createWithChildren(t){return J.create(new Array(t.length+1).fill(""),t)}});function Oi(t){return t==="asc"||t==="desc"}function Gr(t){if(t.length===2)return[Mt(t[0],t[1])];if(t.length===1){const[e]=t;return Array.isArray(e)?e.map(r=>Mt(r)):[Mt(e)]}throw new Error(`Invalid number of arguments at order by! expected 1-2, received ${t.length}`)}function Mt(t,e){const r=Si(t);if(Kt.is(r)){if(e)throw new Error("Cannot specify direction twice!");return r}return Kt.create(r,Hr(e))}function Si(t){if(Et(t))return zt(t);if(Vr(t))return t.toOperationNode();const[e,r]=t.split(" ");if(r){if(!Oi(r))throw new Error(`Invalid order by direction: ${r}`);return Kt.create(_e(e),Hr(r))}return _e(t)}function Hr(t){if(t)return t==="asc"||t==="desc"?J.createWithSql(t):t.toOperationNode()}const Ct=s({is(t){return t.kind==="JSONReferenceNode"},create(t,e){return s({kind:"JSONReferenceNode",reference:t,traversal:e})},cloneWithTraversal(t,e){return s({...t,traversal:e})}}),Yr=s({is(t){return t.kind==="JSONOperatorChainNode"},create(t){return s({kind:"JSONOperatorChainNode",operator:t,values:s([])})},cloneWithValue(t,e){return s({...t,values:s([...t.values,e])})}}),at=s({is(t){return t.kind==="JSONPathNode"},create(t){return s({kind:"JSONPathNode",inOperator:t,pathLegs:s([])})},cloneWithLeg(t,e){return s({...t,pathLegs:s([...t.pathLegs,e])})}});function xi(t){return G(t)?_e(t):t.toOperationNode()}function dt(t){return de(t)?t.map(e=>j(e)):[j(t)]}function j(t){return Et(t)?zt(t):xi(t)}function Ti(t,e){const r=_e(t);if(Nr(e))return Ct.create(r,Yr.create(xe.create(e)));const n=e.slice(0,-1);if(Nr(n))return Ct.create(r,at.create(xe.create(n)));throw new Error(`Invalid JSON operator: ${e}`)}function _e(t){const e=".";if(!t.includes(e))return qt.create(sr.create(t));const r=t.split(e).map(Xr);if(r.length===3)return Ii(r);if(r.length===2)return $i(r);throw new Error(`invalid column reference ${t}`)}function ki(t){const e=" as ";if(t.includes(e)){const[r,n]=t.split(e).map(Xr);return he.create(_e(r),q.create(n))}else return _e(t)}function Ii(t){const[e,r,n]=t;return qt.create(sr.create(n),Se.createWithSchema(e,r))}function $i(t){const[e,r]=t;return qt.create(sr.create(r),Se.create(e))}function Xr(t){return t.trim()}const Pi=s({is(t){return t.kind==="PrimitiveValueListNode"},create(t){return s({kind:"PrimitiveValueListNode",values:s([...t])})}}),Ai=s({is(t){return t.kind==="ValueListNode"},create(t){return s({kind:"ValueListNode",values:s(t)})}}),me=s({is(t){return t.kind==="ValueNode"},create(t){return s({kind:"ValueNode",value:t})},createImmediate(t){return s({kind:"ValueNode",value:t,immediate:!0})}});function Di(t){return de(t)?Ji(t):P(t)}function P(t){return Et(t)?zt(t):me.create(t)}function ur(t){return ir(t)||Lr(t)||Br(t)}function cr(t){if(!ur(t))throw new Error(`unsafe immediate value ${JSON.stringify(t)}`);return me.createImmediate(t)}function Ji(t){return t.some(Et)?Ai.create(t.map(e=>P(e))):Pi.create(t)}const lt=s({is(t){return t.kind==="ParensNode"},create(t){return s({kind:"ParensNode",node:t})}});function U(t){if(t.length===3)return dr(t[0],t[1],t[2]);if(t.length===1)return P(t[0]);throw new Error(`invalid arguments: ${JSON.stringify(t)}`)}function dr(t,e,r){return qi(e)&&Zr(r)?Ye.create(j(t),Vt(e),me.createImmediate(r)):Ye.create(j(t),Vt(e),Di(r))}function _t(t,e,r){return Ye.create(j(t),Vt(e),j(r))}function vr(t,e){return Qt(Object.entries(t).filter(([,r])=>!vt(r)).map(([r,n])=>dr(r,Zr(n)?"is":"=",n)),e)}function Qt(t,e,r=!0){const n=e==="and"?le.create:et.create;if(t.length===0)return Ye.create(me.createImmediate(1),xe.create("="),me.createImmediate(e==="and"?1:0));let a=Cr(t[0]);for(let o=1;o<t.length;++o)a=n(a,Cr(t[o]));return t.length>1&&r?lt.create(a):a}function qi(t){return t==="is"||t==="is not"}function Zr(t){return Br(t)||Lr(t)}function Vt(t){if(G(t)&&bi.includes(t))return xe.create(t);if(W(t))return t.toOperationNode();throw new Error(`invalid operator ${JSON.stringify(t)}`)}function Cr(t){return W(t)?t.toOperationNode():t}const Xe=s({is(t){return t.kind==="OrderByNode"},create(t){return s({kind:"OrderByNode",items:s([...t])})},cloneWithItems(t,e){return s({...t,items:s([...t.items,...e])})}}),br=s({is(t){return t.kind==="PartitionByNode"},create(t){return s({kind:"PartitionByNode",items:s(t)})},cloneWithItems(t,e){return s({...t,items:s([...t.items,...e])})}}),Gt=s({is(t){return t.kind==="OverNode"},create(){return s({kind:"OverNode"})},cloneWithOrderByItems(t,e){return s({...t,orderBy:t.orderBy?Xe.cloneWithItems(t.orderBy,e):Xe.create(e)})},cloneWithPartitionByItems(t,e){return s({...t,partitionBy:t.partitionBy?br.cloneWithItems(t.partitionBy,e):br.create(e)})}}),bt=s({is(t){return t.kind==="FromNode"},create(t){return s({kind:"FromNode",froms:s(t)})},cloneWithFroms(t,e){return s({...t,froms:s([...t.froms,...e])})}}),Or=s({is(t){return t.kind==="GroupByNode"},create(t){return s({kind:"GroupByNode",items:s(t)})},cloneWithItems(t,e){return s({...t,items:s([...t.items,...e])})}}),Sr=s({is(t){return t.kind==="HavingNode"},create(t){return s({kind:"HavingNode",having:t})},cloneWithOperation(t,e,r){return s({...t,having:e==="And"?le.create(t.having,r):et.create(t.having,r)})}}),b=s({is(t){return t.kind==="SelectQueryNode"},create(t){return s({kind:"SelectQueryNode",...t&&{with:t}})},createFrom(t,e){return s({kind:"SelectQueryNode",from:bt.create(t),...e&&{with:e}})},cloneWithSelections(t,e){return s({...t,selections:t.selections?s([...t.selections,...e]):s(e)})},cloneWithDistinctOn(t,e){return s({...t,distinctOn:t.distinctOn?s([...t.distinctOn,...e]):s(e)})},cloneWithFrontModifier(t,e){return s({...t,frontModifiers:t.frontModifiers?s([...t.frontModifiers,e]):s([e])})},cloneWithEndModifier(t,e){return s({...t,endModifiers:t.endModifiers?s([...t.endModifiers,e]):s([e])})},cloneWithOrderByItems(t,e){return s({...t,orderBy:t.orderBy?Xe.cloneWithItems(t.orderBy,e):Xe.create(e)})},cloneWithGroupByItems(t,e){return s({...t,groupBy:t.groupBy?Or.cloneWithItems(t.groupBy,e):Or.create(e)})},cloneWithLimit(t,e){return s({...t,limit:e})},cloneWithOffset(t,e){return s({...t,offset:e})},cloneWithFetch(t,e){return s({...t,fetch:e})},cloneWithHaving(t,e){return s({...t,having:t.having?Sr.cloneWithOperation(t.having,"And",e):Sr.create(e)})},cloneWithSetOperations(t,e){return s({...t,setOperations:t.setOperations?s([...t.setOperations,...e]):s([...e])})},cloneWithoutSelections(t){return s({...t,selections:[]})},cloneWithoutLimit(t){return s({...t,limit:void 0})},cloneWithoutOffset(t){return s({...t,offset:void 0})},cloneWithoutOrderBy(t){return s({...t,orderBy:void 0})},cloneWithoutGroupBy(t){return s({...t,groupBy:void 0})}});function ke(t,e){Object.defineProperties(t.prototype,{then:{enumerable:!1,value:()=>{throw new Error(e)}}})}var L;const st=class st{constructor(e){N(this,L);v(this,L,s(e))}on(...e){return new st({...i(this,L),joinNode:nt.cloneWithOn(i(this,L).joinNode,U(e))})}onRef(e,r,n){return new st({...i(this,L),joinNode:nt.cloneWithOn(i(this,L).joinNode,_t(e,r,n))})}onTrue(){return new st({...i(this,L),joinNode:nt.cloneWithOn(i(this,L).joinNode,J.createWithSql("true"))})}$call(e){return e(this)}toOperationNode(){return i(this,L).joinNode}};L=new WeakMap;let Ot=st;ke(Ot,"don't await JoinBuilder instances. They are never executed directly and are always just a part of a query.");const ji=s({is(t){return t.kind==="PartitionByItemNode"},create(t){return s({kind:"PartitionByItemNode",partitionBy:t})}});function Fi(t){return dt(t).map(ji.create)}var ge;const It=class It{constructor(e){N(this,ge);v(this,ge,s(e))}orderBy(e,r){return new It({overNode:Gt.cloneWithOrderByItems(i(this,ge).overNode,Gr([e,r]))})}partitionBy(e){return new It({overNode:Gt.cloneWithPartitionByItems(i(this,ge).overNode,Fi(e))})}$call(e){return e(this)}toOperationNode(){return i(this,ge).overNode}};ge=new WeakMap;let St=It;ke(St,"don't await OverBuilder instances. They are never executed directly and are always just a part of a query.");const ot=s({is(t){return t.kind==="SelectionNode"},create(t){return s({kind:"SelectionNode",selection:t})},createSelectAll(){return s({kind:"SelectionNode",selection:Qr.create()})},createSelectAllFromTable(t){return s({kind:"SelectionNode",selection:qt.createSelectAll(t)})}});function en(t){return Te(t)?en(t(Ft())):de(t)?t.map(e=>xr(e)):[xr(t)]}function xr(t){return G(t)?ot.create(ki(t)):Vr(t)?ot.create(t.toOperationNode()):ot.create(ln(t))}function tn(t){return t?Array.isArray(t)?t.map(Tr):[Tr(t)]:[ot.createSelectAll()]}function Tr(t){if(G(t))return ot.createSelectAllFromTable(B(t));throw new Error(`invalid value selectAll expression: ${JSON.stringify(t)}`)}const zi=s({is(t){return t.kind==="InsertQueryNode"},create(t,e,r){return s({kind:"InsertQueryNode",into:t,...e&&{with:e},replace:r})},createWithoutInto(){return s({kind:"InsertQueryNode"})},cloneWith(t,e){return s({...t,...e})}}),Ei=s({is(t){return t.kind==="UpdateQueryNode"},create(t,e){return s({kind:"UpdateQueryNode",table:t,...e&&{with:e}})},createWithoutTable(){return s({kind:"UpdateQueryNode"})},cloneWithFromItems(t,e){return s({...t,from:t.from?bt.cloneWithFroms(t.from,e):bt.create(e)})},cloneWithUpdates(t,e){return s({...t,updates:t.updates?s([...t.updates,...e]):e})},cloneWithLimit(t,e){return s({...t,limit:e})}}),kr=s({is(t){return t.kind==="UsingNode"},create(t){return s({kind:"UsingNode",tables:s(t)})},cloneWithTables(t,e){return s({...t,tables:s([...t.tables,...e])})}}),Ri=s({is(t){return t.kind==="DeleteQueryNode"},create(t,e){return s({kind:"DeleteQueryNode",from:bt.create(t),...e&&{with:e}})},cloneWithOrderByItems(t,e){return s({...t,orderBy:t.orderBy?Xe.cloneWithItems(t.orderBy,e):Xe.create(e)})},cloneWithoutOrderBy(t){return s({...t,orderBy:void 0})},cloneWithLimit(t,e){return s({...t,limit:e})},cloneWithoutLimit(t){return s({...t,limit:void 0})},cloneWithUsing(t,e){return s({...t,using:t.using!==void 0?kr.cloneWithTables(t.using,e):kr.create(e)})}}),qe=s({is(t){return t.kind==="WhereNode"},create(t){return s({kind:"WhereNode",where:t})},cloneWithOperation(t,e,r){return s({...t,where:e==="And"?le.create(t.where,r):et.create(t.where,r)})}}),Ir=s({is(t){return t.kind==="ReturningNode"},create(t){return s({kind:"ReturningNode",selections:s(t)})},cloneWithSelections(t,e){return s({...t,selections:t.selections?s([...t.selections,...e]):s(e)})}}),Wi=s({is(t){return t.kind==="ExplainNode"},create(t,e){return s({kind:"ExplainNode",format:t,options:e})}}),jt=s({is(t){return t.kind==="WhenNode"},create(t){return s({kind:"WhenNode",condition:t})},cloneWithResult(t,e){return s({...t,result:e})}}),Mi=s({is(t){return t.kind==="MergeQueryNode"},create(t,e){return s({kind:"MergeQueryNode",into:t,...e&&{with:e}})},cloneWithUsing(t,e){return s({...t,using:e})},cloneWithWhen(t,e){return s({...t,whens:t.whens?s([...t.whens,e]):s([e])})},cloneWithThen(t,e){return s({...t,whens:t.whens?s([...t.whens.slice(0,-1),jt.cloneWithResult(t.whens[t.whens.length-1],e)]):void 0})}}),$r=s({is(t){return t.kind==="OutputNode"},create(t){return s({kind:"OutputNode",selections:s(t)})},cloneWithSelections(t,e){return s({...t,selections:t.selections?s([...t.selections,...e]):s(e)})}}),M=s({is(t){return b.is(t)||zi.is(t)||Ei.is(t)||Ri.is(t)||Mi.is(t)},cloneWithWhere(t,e){return s({...t,where:t.where?qe.cloneWithOperation(t.where,"And",e):qe.create(e)})},cloneWithJoin(t,e){return s({...t,joins:t.joins?s([...t.joins,e]):s([e])})},cloneWithReturning(t,e){return s({...t,returning:t.returning?Ir.cloneWithSelections(t.returning,e):Ir.create(e)})},cloneWithoutReturning(t){return s({...t,returning:void 0})},cloneWithoutWhere(t){return s({...t,where:void 0})},cloneWithExplain(t,e,r){return s({...t,explain:Wi.create(e,r==null?void 0:r.toOperationNode())})},cloneWithTop(t,e){return s({...t,top:e})},cloneWithOutput(t,e){return s({...t,output:t.output?$r.cloneWithSelections(t.output,e):$r.create(e)})}});class Li extends Error{constructor(r){super("no result");ae(this,"node");this.node=r}}function Bi(t){return Object.prototype.hasOwnProperty.call(t,"prototype")}const Ui=s({is(t){return t.kind==="TopNode"},create(t,e){return s({kind:"TopNode",expression:t,modifiers:e})}});function Ki(t,e){if(!ir(t)&&!Ur(t))throw new Error(`Invalid top expression: ${t}`);if(!vt(e)&&!Qi(e))throw new Error(`Invalid top modifiers: ${e}`);return Ui.create(t,e)}function Qi(t){return t==="percent"||t==="with ties"||t==="percent with ties"}const Vi=s({is(t){return t.kind==="LimitNode"},create(t){return s({kind:"LimitNode",limit:t})}}),Pr=["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","0","1","2","3","4","5","6","7","8","9"];function Gi(t){let e="";for(let r=0;r<t;++r)e+=Hi();return e}function Hi(){return Pr[~~(Math.random()*Pr.length)]}function Y(){return new Yi}var ze;class Yi{constructor(){N(this,ze)}get queryId(){return i(this,ze)===void 0&&v(this,ze,Gi(8)),i(this,ze)}}ze=new WeakMap;var $t;class Xi{constructor(){ae(this,"nodeStack",[]);N(this,$t,s({AliasNode:this.transformAlias.bind(this),ColumnNode:this.transformColumn.bind(this),IdentifierNode:this.transformIdentifier.bind(this),SchemableIdentifierNode:this.transformSchemableIdentifier.bind(this),RawNode:this.transformRaw.bind(this),ReferenceNode:this.transformReference.bind(this),SelectQueryNode:this.transformSelectQuery.bind(this),SelectionNode:this.transformSelection.bind(this),TableNode:this.transformTable.bind(this),FromNode:this.transformFrom.bind(this),SelectAllNode:this.transformSelectAll.bind(this),AndNode:this.transformAnd.bind(this),OrNode:this.transformOr.bind(this),ValueNode:this.transformValue.bind(this),ValueListNode:this.transformValueList.bind(this),PrimitiveValueListNode:this.transformPrimitiveValueList.bind(this),ParensNode:this.transformParens.bind(this),JoinNode:this.transformJoin.bind(this),OperatorNode:this.transformOperator.bind(this),WhereNode:this.transformWhere.bind(this),InsertQueryNode:this.transformInsertQuery.bind(this),DeleteQueryNode:this.transformDeleteQuery.bind(this),ReturningNode:this.transformReturning.bind(this),CreateTableNode:this.transformCreateTable.bind(this),AddColumnNode:this.transformAddColumn.bind(this),ColumnDefinitionNode:this.transformColumnDefinition.bind(this),DropTableNode:this.transformDropTable.bind(this),DataTypeNode:this.transformDataType.bind(this),OrderByNode:this.transformOrderBy.bind(this),OrderByItemNode:this.transformOrderByItem.bind(this),GroupByNode:this.transformGroupBy.bind(this),GroupByItemNode:this.transformGroupByItem.bind(this),UpdateQueryNode:this.transformUpdateQuery.bind(this),ColumnUpdateNode:this.transformColumnUpdate.bind(this),LimitNode:this.transformLimit.bind(this),OffsetNode:this.transformOffset.bind(this),OnConflictNode:this.transformOnConflict.bind(this),OnDuplicateKeyNode:this.transformOnDuplicateKey.bind(this),CreateIndexNode:this.transformCreateIndex.bind(this),DropIndexNode:this.transformDropIndex.bind(this),ListNode:this.transformList.bind(this),PrimaryKeyConstraintNode:this.transformPrimaryKeyConstraint.bind(this),UniqueConstraintNode:this.transformUniqueConstraint.bind(this),ReferencesNode:this.transformReferences.bind(this),CheckConstraintNode:this.transformCheckConstraint.bind(this),WithNode:this.transformWith.bind(this),CommonTableExpressionNode:this.transformCommonTableExpression.bind(this),CommonTableExpressionNameNode:this.transformCommonTableExpressionName.bind(this),HavingNode:this.transformHaving.bind(this),CreateSchemaNode:this.transformCreateSchema.bind(this),DropSchemaNode:this.transformDropSchema.bind(this),AlterTableNode:this.transformAlterTable.bind(this),DropColumnNode:this.transformDropColumn.bind(this),RenameColumnNode:this.transformRenameColumn.bind(this),AlterColumnNode:this.transformAlterColumn.bind(this),ModifyColumnNode:this.transformModifyColumn.bind(this),AddConstraintNode:this.transformAddConstraint.bind(this),DropConstraintNode:this.transformDropConstraint.bind(this),ForeignKeyConstraintNode:this.transformForeignKeyConstraint.bind(this),CreateViewNode:this.transformCreateView.bind(this),DropViewNode:this.transformDropView.bind(this),GeneratedNode:this.transformGenerated.bind(this),DefaultValueNode:this.transformDefaultValue.bind(this),OnNode:this.transformOn.bind(this),ValuesNode:this.transformValues.bind(this),SelectModifierNode:this.transformSelectModifier.bind(this),CreateTypeNode:this.transformCreateType.bind(this),DropTypeNode:this.transformDropType.bind(this),ExplainNode:this.transformExplain.bind(this),DefaultInsertValueNode:this.transformDefaultInsertValue.bind(this),AggregateFunctionNode:this.transformAggregateFunction.bind(this),OverNode:this.transformOver.bind(this),PartitionByNode:this.transformPartitionBy.bind(this),PartitionByItemNode:this.transformPartitionByItem.bind(this),SetOperationNode:this.transformSetOperation.bind(this),BinaryOperationNode:this.transformBinaryOperation.bind(this),UnaryOperationNode:this.transformUnaryOperation.bind(this),UsingNode:this.transformUsing.bind(this),FunctionNode:this.transformFunction.bind(this),CaseNode:this.transformCase.bind(this),WhenNode:this.transformWhen.bind(this),JSONReferenceNode:this.transformJSONReference.bind(this),JSONPathNode:this.transformJSONPath.bind(this),JSONPathLegNode:this.transformJSONPathLeg.bind(this),JSONOperatorChainNode:this.transformJSONOperatorChain.bind(this),TupleNode:this.transformTuple.bind(this),MergeQueryNode:this.transformMergeQuery.bind(this),MatchedNode:this.transformMatched.bind(this),AddIndexNode:this.transformAddIndex.bind(this),CastNode:this.transformCast.bind(this),FetchNode:this.transformFetch.bind(this),TopNode:this.transformTop.bind(this),OutputNode:this.transformOutput.bind(this)}))}transformNode(e){if(!e)return e;this.nodeStack.push(e);const r=this.transformNodeImpl(e);return this.nodeStack.pop(),s(r)}transformNodeImpl(e){return i(this,$t)[e.kind](e)}transformNodeList(e){return e&&s(e.map(r=>this.transformNode(r)))}transformSelectQuery(e){return{kind:"SelectQueryNode",from:this.transformNode(e.from),selections:this.transformNodeList(e.selections),distinctOn:this.transformNodeList(e.distinctOn),joins:this.transformNodeList(e.joins),groupBy:this.transformNode(e.groupBy),orderBy:this.transformNode(e.orderBy),where:this.transformNode(e.where),frontModifiers:this.transformNodeList(e.frontModifiers),endModifiers:this.transformNodeList(e.endModifiers),limit:this.transformNode(e.limit),offset:this.transformNode(e.offset),with:this.transformNode(e.with),having:this.transformNode(e.having),explain:this.transformNode(e.explain),setOperations:this.transformNodeList(e.setOperations),fetch:this.transformNode(e.fetch),top:this.transformNode(e.top)}}transformSelection(e){return{kind:"SelectionNode",selection:this.transformNode(e.selection)}}transformColumn(e){return{kind:"ColumnNode",column:this.transformNode(e.column)}}transformAlias(e){return{kind:"AliasNode",node:this.transformNode(e.node),alias:this.transformNode(e.alias)}}transformTable(e){return{kind:"TableNode",table:this.transformNode(e.table)}}transformFrom(e){return{kind:"FromNode",froms:this.transformNodeList(e.froms)}}transformReference(e){return{kind:"ReferenceNode",column:this.transformNode(e.column),table:this.transformNode(e.table)}}transformAnd(e){return{kind:"AndNode",left:this.transformNode(e.left),right:this.transformNode(e.right)}}transformOr(e){return{kind:"OrNode",left:this.transformNode(e.left),right:this.transformNode(e.right)}}transformValueList(e){return{kind:"ValueListNode",values:this.transformNodeList(e.values)}}transformParens(e){return{kind:"ParensNode",node:this.transformNode(e.node)}}transformJoin(e){return{kind:"JoinNode",joinType:e.joinType,table:this.transformNode(e.table),on:this.transformNode(e.on)}}transformRaw(e){return{kind:"RawNode",sqlFragments:s([...e.sqlFragments]),parameters:this.transformNodeList(e.parameters)}}transformWhere(e){return{kind:"WhereNode",where:this.transformNode(e.where)}}transformInsertQuery(e){return{kind:"InsertQueryNode",into:this.transformNode(e.into),columns:this.transformNodeList(e.columns),values:this.transformNode(e.values),returning:this.transformNode(e.returning),onConflict:this.transformNode(e.onConflict),onDuplicateKey:this.transformNode(e.onDuplicateKey),with:this.transformNode(e.with),ignore:e.ignore,replace:e.replace,explain:this.transformNode(e.explain),defaultValues:e.defaultValues,top:this.transformNode(e.top),output:this.transformNode(e.output)}}transformValues(e){return{kind:"ValuesNode",values:this.transformNodeList(e.values)}}transformDeleteQuery(e){return{kind:"DeleteQueryNode",from:this.transformNode(e.from),using:this.transformNode(e.using),joins:this.transformNodeList(e.joins),where:this.transformNode(e.where),returning:this.transformNode(e.returning),with:this.transformNode(e.with),orderBy:this.transformNode(e.orderBy),limit:this.transformNode(e.limit),explain:this.transformNode(e.explain),top:this.transformNode(e.top),output:this.transformNode(e.output)}}transformReturning(e){return{kind:"ReturningNode",selections:this.transformNodeList(e.selections)}}transformCreateTable(e){return{kind:"CreateTableNode",table:this.transformNode(e.table),columns:this.transformNodeList(e.columns),constraints:this.transformNodeList(e.constraints),temporary:e.temporary,ifNotExists:e.ifNotExists,onCommit:e.onCommit,frontModifiers:this.transformNodeList(e.frontModifiers),endModifiers:this.transformNodeList(e.endModifiers),selectQuery:this.transformNode(e.selectQuery)}}transformColumnDefinition(e){return{kind:"ColumnDefinitionNode",column:this.transformNode(e.column),dataType:this.transformNode(e.dataType),references:this.transformNode(e.references),primaryKey:e.primaryKey,autoIncrement:e.autoIncrement,unique:e.unique,notNull:e.notNull,unsigned:e.unsigned,defaultTo:this.transformNode(e.defaultTo),check:this.transformNode(e.check),generated:this.transformNode(e.generated),frontModifiers:this.transformNodeList(e.frontModifiers),endModifiers:this.transformNodeList(e.endModifiers),nullsNotDistinct:e.nullsNotDistinct,identity:e.identity,ifNotExists:e.ifNotExists}}transformAddColumn(e){return{kind:"AddColumnNode",column:this.transformNode(e.column)}}transformDropTable(e){return{kind:"DropTableNode",table:this.transformNode(e.table),ifExists:e.ifExists,cascade:e.cascade}}transformOrderBy(e){return{kind:"OrderByNode",items:this.transformNodeList(e.items)}}transformOrderByItem(e){return{kind:"OrderByItemNode",orderBy:this.transformNode(e.orderBy),direction:this.transformNode(e.direction)}}transformGroupBy(e){return{kind:"GroupByNode",items:this.transformNodeList(e.items)}}transformGroupByItem(e){return{kind:"GroupByItemNode",groupBy:this.transformNode(e.groupBy)}}transformUpdateQuery(e){return{kind:"UpdateQueryNode",table:this.transformNode(e.table),from:this.transformNode(e.from),joins:this.transformNodeList(e.joins),where:this.transformNode(e.where),updates:this.transformNodeList(e.updates),returning:this.transformNode(e.returning),with:this.transformNode(e.with),explain:this.transformNode(e.explain),limit:this.transformNode(e.limit),top:this.transformNode(e.top),output:this.transformNode(e.output)}}transformColumnUpdate(e){return{kind:"ColumnUpdateNode",column:this.transformNode(e.column),value:this.transformNode(e.value)}}transformLimit(e){return{kind:"LimitNode",limit:this.transformNode(e.limit)}}transformOffset(e){return{kind:"OffsetNode",offset:this.transformNode(e.offset)}}transformOnConflict(e){return{kind:"OnConflictNode",columns:this.transformNodeList(e.columns),constraint:this.transformNode(e.constraint),indexExpression:this.transformNode(e.indexExpression),indexWhere:this.transformNode(e.indexWhere),updates:this.transformNodeList(e.updates),updateWhere:this.transformNode(e.updateWhere),doNothing:e.doNothing}}transformOnDuplicateKey(e){return{kind:"OnDuplicateKeyNode",updates:this.transformNodeList(e.updates)}}transformCreateIndex(e){return{kind:"CreateIndexNode",name:this.transformNode(e.name),table:this.transformNode(e.table),columns:this.transformNodeList(e.columns),unique:e.unique,using:this.transformNode(e.using),ifNotExists:e.ifNotExists,where:this.transformNode(e.where),nullsNotDistinct:e.nullsNotDistinct}}transformList(e){return{kind:"ListNode",items:this.transformNodeList(e.items)}}transformDropIndex(e){return{kind:"DropIndexNode",name:this.transformNode(e.name),table:this.transformNode(e.table),ifExists:e.ifExists,cascade:e.cascade}}transformPrimaryKeyConstraint(e){return{kind:"PrimaryKeyConstraintNode",columns:this.transformNodeList(e.columns),name:this.transformNode(e.name)}}transformUniqueConstraint(e){return{kind:"UniqueConstraintNode",columns:this.transformNodeList(e.columns),name:this.transformNode(e.name),nullsNotDistinct:e.nullsNotDistinct}}transformForeignKeyConstraint(e){return{kind:"ForeignKeyConstraintNode",columns:this.transformNodeList(e.columns),references:this.transformNode(e.references),name:this.transformNode(e.name),onDelete:e.onDelete,onUpdate:e.onUpdate}}transformSetOperation(e){return{kind:"SetOperationNode",operator:e.operator,expression:this.transformNode(e.expression),all:e.all}}transformReferences(e){return{kind:"ReferencesNode",table:this.transformNode(e.table),columns:this.transformNodeList(e.columns),onDelete:e.onDelete,onUpdate:e.onUpdate}}transformCheckConstraint(e){return{kind:"CheckConstraintNode",expression:this.transformNode(e.expression),name:this.transformNode(e.name)}}transformWith(e){return{kind:"WithNode",expressions:this.transformNodeList(e.expressions),recursive:e.recursive}}transformCommonTableExpression(e){return{kind:"CommonTableExpressionNode",name:this.transformNode(e.name),materialized:e.materialized,expression:this.transformNode(e.expression)}}transformCommonTableExpressionName(e){return{kind:"CommonTableExpressionNameNode",table:this.transformNode(e.table),columns:this.transformNodeList(e.columns)}}transformHaving(e){return{kind:"HavingNode",having:this.transformNode(e.having)}}transformCreateSchema(e){return{kind:"CreateSchemaNode",schema:this.transformNode(e.schema),ifNotExists:e.ifNotExists}}transformDropSchema(e){return{kind:"DropSchemaNode",schema:this.transformNode(e.schema),ifExists:e.ifExists,cascade:e.cascade}}transformAlterTable(e){return{kind:"AlterTableNode",table:this.transformNode(e.table),renameTo:this.transformNode(e.renameTo),setSchema:this.transformNode(e.setSchema),columnAlterations:this.transformNodeList(e.columnAlterations),addConstraint:this.transformNode(e.addConstraint),dropConstraint:this.transformNode(e.dropConstraint),addIndex:this.transformNode(e.addIndex),dropIndex:this.transformNode(e.dropIndex)}}transformDropColumn(e){return{kind:"DropColumnNode",column:this.transformNode(e.column)}}transformRenameColumn(e){return{kind:"RenameColumnNode",column:this.transformNode(e.column),renameTo:this.transformNode(e.renameTo)}}transformAlterColumn(e){return{kind:"AlterColumnNode",column:this.transformNode(e.column),dataType:this.transformNode(e.dataType),dataTypeExpression:this.transformNode(e.dataTypeExpression),setDefault:this.transformNode(e.setDefault),dropDefault:e.dropDefault,setNotNull:e.setNotNull,dropNotNull:e.dropNotNull}}transformModifyColumn(e){return{kind:"ModifyColumnNode",column:this.transformNode(e.column)}}transformAddConstraint(e){return{kind:"AddConstraintNode",constraint:this.transformNode(e.constraint)}}transformDropConstraint(e){return{kind:"DropConstraintNode",constraintName:this.transformNode(e.constraintName),ifExists:e.ifExists,modifier:e.modifier}}transformCreateView(e){return{kind:"CreateViewNode",name:this.transformNode(e.name),temporary:e.temporary,orReplace:e.orReplace,ifNotExists:e.ifNotExists,materialized:e.materialized,columns:this.transformNodeList(e.columns),as:this.transformNode(e.as)}}transformDropView(e){return{kind:"DropViewNode",name:this.transformNode(e.name),ifExists:e.ifExists,materialized:e.materialized,cascade:e.cascade}}transformGenerated(e){return{kind:"GeneratedNode",byDefault:e.byDefault,always:e.always,identity:e.identity,stored:e.stored,expression:this.transformNode(e.expression)}}transformDefaultValue(e){return{kind:"DefaultValueNode",defaultValue:this.transformNode(e.defaultValue)}}transformOn(e){return{kind:"OnNode",on:this.transformNode(e.on)}}transformSelectModifier(e){return{kind:"SelectModifierNode",modifier:e.modifier,rawModifier:this.transformNode(e.rawModifier),of:this.transformNodeList(e.of)}}transformCreateType(e){return{kind:"CreateTypeNode",name:this.transformNode(e.name),enum:this.transformNode(e.enum)}}transformDropType(e){return{kind:"DropTypeNode",name:this.transformNode(e.name),ifExists:e.ifExists}}transformExplain(e){return{kind:"ExplainNode",format:e.format,options:this.transformNode(e.options)}}transformSchemableIdentifier(e){return{kind:"SchemableIdentifierNode",schema:this.transformNode(e.schema),identifier:this.transformNode(e.identifier)}}transformAggregateFunction(e){return{kind:"AggregateFunctionNode",aggregated:this.transformNodeList(e.aggregated),distinct:e.distinct,filter:this.transformNode(e.filter),func:e.func,over:this.transformNode(e.over)}}transformOver(e){return{kind:"OverNode",orderBy:this.transformNode(e.orderBy),partitionBy:this.transformNode(e.partitionBy)}}transformPartitionBy(e){return{kind:"PartitionByNode",items:this.transformNodeList(e.items)}}transformPartitionByItem(e){return{kind:"PartitionByItemNode",partitionBy:this.transformNode(e.partitionBy)}}transformBinaryOperation(e){return{kind:"BinaryOperationNode",leftOperand:this.transformNode(e.leftOperand),operator:this.transformNode(e.operator),rightOperand:this.transformNode(e.rightOperand)}}transformUnaryOperation(e){return{kind:"UnaryOperationNode",operator:this.transformNode(e.operator),operand:this.transformNode(e.operand)}}transformUsing(e){return{kind:"UsingNode",tables:this.transformNodeList(e.tables)}}transformFunction(e){return{kind:"FunctionNode",func:e.func,arguments:this.transformNodeList(e.arguments)}}transformCase(e){return{kind:"CaseNode",value:this.transformNode(e.value),when:this.transformNodeList(e.when),else:this.transformNode(e.else),isStatement:e.isStatement}}transformWhen(e){return{kind:"WhenNode",condition:this.transformNode(e.condition),result:this.transformNode(e.result)}}transformJSONReference(e){return{kind:"JSONReferenceNode",reference:this.transformNode(e.reference),traversal:this.transformNode(e.traversal)}}transformJSONPath(e){return{kind:"JSONPathNode",inOperator:this.transformNode(e.inOperator),pathLegs:this.transformNodeList(e.pathLegs)}}transformJSONPathLeg(e){return{kind:"JSONPathLegNode",type:e.type,value:e.value}}transformJSONOperatorChain(e){return{kind:"JSONOperatorChainNode",operator:this.transformNode(e.operator),values:this.transformNodeList(e.values)}}transformTuple(e){return{kind:"TupleNode",values:this.transformNodeList(e.values)}}transformMergeQuery(e){return{kind:"MergeQueryNode",into:this.transformNode(e.into),using:this.transformNode(e.using),whens:this.transformNodeList(e.whens),with:this.transformNode(e.with),top:this.transformNode(e.top),output:this.transformNode(e.output)}}transformMatched(e){return{kind:"MatchedNode",not:e.not,bySource:e.bySource}}transformAddIndex(e){return{kind:"AddIndexNode",name:this.transformNode(e.name),columns:this.transformNodeList(e.columns),unique:e.unique,using:this.transformNode(e.using),ifNotExists:e.ifNotExists}}transformCast(e){return{kind:"CastNode",expression:this.transformNode(e.expression),dataType:this.transformNode(e.dataType)}}transformFetch(e){return{kind:"FetchNode",rowCount:this.transformNode(e.rowCount),modifier:e.modifier}}transformTop(e){return{kind:"TopNode",expression:e.expression,modifiers:e.modifiers}}transformOutput(e){return{kind:"OutputNode",selections:this.transformNodeList(e.selections)}}transformDataType(e){return e}transformSelectAll(e){return e}transformIdentifier(e){return e}transformValue(e){return e}transformPrimitiveValueList(e){return e}transformOperator(e){return e}transformDefaultInsertValue(e){return e}}$t=new WeakMap;const Zi=s({AlterTableNode:!0,CreateIndexNode:!0,CreateSchemaNode:!0,CreateTableNode:!0,CreateTypeNode:!0,CreateViewNode:!0,DeleteQueryNode:!0,DropIndexNode:!0,DropSchemaNode:!0,DropTableNode:!0,DropTypeNode:!0,DropViewNode:!0,InsertQueryNode:!0,RawNode:!0,SelectQueryNode:!0,UpdateQueryNode:!0,MergeQueryNode:!0});var Ee,ye,we,k,rn,nn,an,Ae,Ht,on;class es extends Xi{constructor(r){super();N(this,k);N(this,Ee);N(this,ye,new Set);N(this,we,new Set);v(this,Ee,r)}transformNodeImpl(r){if(!p(this,k,rn).call(this,r))return super.transformNodeImpl(r);const n=p(this,k,an).call(this,r);for(const u of n)i(this,we).add(u);const a=p(this,k,nn).call(this,r);for(const u of a)i(this,ye).add(u);const o=super.transformNodeImpl(r);for(const u of a)i(this,ye).delete(u);for(const u of n)i(this,we).delete(u);return o}transformSchemableIdentifier(r){const n=super.transformSchemableIdentifier(r);return n.schema||!i(this,ye).has(r.identifier.name)?n:{...n,schema:q.create(i(this,Ee))}}transformReferences(r){const n=super.transformReferences(r);return n.table.table.schema?n:{...n,table:Se.createWithSchema(i(this,Ee),n.table.table.identifier.name)}}}Ee=new WeakMap,ye=new WeakMap,we=new WeakMap,k=new WeakSet,rn=function(r){return r.kind in Zi},nn=function(r){const n=new Set;if("name"in r&&r.name&&Ut.is(r.name)&&p(this,k,Ht).call(this,r.name,n),"from"in r&&r.from)for(const a of r.from.froms)p(this,k,Ae).call(this,a,n);if("into"in r&&r.into&&p(this,k,Ae).call(this,r.into,n),"table"in r&&r.table&&p(this,k,Ae).call(this,r.table,n),"joins"in r&&r.joins)for(const a of r.joins)p(this,k,Ae).call(this,a.table,n);return"using"in r&&r.using&&p(this,k,Ae).call(this,r.using,n),n},an=function(r){const n=new Set;return"with"in r&&r.with&&p(this,k,on).call(this,r.with,n),n},Ae=function(r,n){const a=Se.is(r)?r:he.is(r)&&Se.is(r.node)?r.node:null;a&&p(this,k,Ht).call(this,a.table,n)},Ht=function(r,n){const a=r.identifier.name;!i(this,ye).has(a)&&!i(this,we).has(a)&&n.add(a)},on=function(r,n){for(const a of r.expressions){const o=a.name.table.table.identifier.name;i(this,we).has(o)||n.add(o)}};var mt;class sn{constructor(e){N(this,mt);v(this,mt,new es(e))}transformQuery(e){return i(this,mt).transformNode(e.node)}async transformResult(e){return e.result}}mt=new WeakMap;var ht,Re,We;class Ar{constructor(){N(this,ht);N(this,Re);N(this,We);ae(this,"resolve",e=>{i(this,Re)&&i(this,Re).call(this,e)});ae(this,"reject",e=>{i(this,We)&&i(this,We).call(this,e)});v(this,ht,new Promise((e,r)=>{v(this,We,r),v(this,Re,e)}))}get promise(){return i(this,ht)}}ht=new WeakMap,Re=new WeakMap,We=new WeakMap;const Dr=new Set;function ts(t){Dr.has(t)||(Dr.add(t),console.log(t))}const rs=s([]);var Ne,ft,Yt;class ns{constructor(e=rs){N(this,ft);N(this,Ne);v(this,Ne,e)}get plugins(){return i(this,Ne)}transformQuery(e,r){for(const n of i(this,Ne)){const a=n.transformQuery({node:e,queryId:r});if(a.kind===e.kind)e=a;else throw new Error(["KyselyPlugin.transformQuery must return a node","of the same kind that was given to it.",`The plugin was given a ${e.kind}`,`but it returned a ${a.kind}`].join(" "))}return e}async executeQuery(e,r){return await this.provideConnection(async n=>{const a=await n.executeQuery(e),o=await p(this,ft,Yt).call(this,a,r);return as(a,o),o})}async*stream(e,r,n){const a=new Ar,o=new Ar;this.provideConnection(async c=>(a.resolve(c),await o.promise)).catch(c=>a.reject(c));const u=await a.promise;try{for await(const c of u.streamQuery(e,r))yield await p(this,ft,Yt).call(this,c,n)}finally{o.resolve()}}}Ne=new WeakMap,ft=new WeakSet,Yt=async function(e,r){for(const n of i(this,Ne))e=await n.transformResult({result:e,queryId:r});return e};function as(t,e){const{numAffectedRows:r}=t;r===void 0&&t.numUpdatedOrDeletedRows===void 0||r!==void 0&&e.numAffectedRows!==void 0||ts("kysely:warning: outdated driver/plugin detected! QueryResult.numUpdatedOrDeletedRows is deprecated and will be removed in a future release.")}class je extends ns{get adapter(){throw new Error("this query cannot be compiled to SQL")}compileQuery(){throw new Error("this query cannot be compiled to SQL")}provideConnection(){throw new Error("this query cannot be executed")}withConnectionProvider(){throw new Error("this query cannot have a connection provider")}withPlugin(e){return new je([...this.plugins,e])}withPlugins(e){return new je([...this.plugins,...e])}withPluginAtFront(e){return new je([e,...this.plugins])}withoutPlugins(){return new je([])}}const un=new je;function os(t,e){return new Ot({joinNode:nt.create(t,Tt(e))})}function is(){return new St({overNode:Gt.create()})}function $e(t,e){if(e.length===3)return us(t,e[0],e[1],e[2]);if(e.length===2)return ss(t,e[0],e[1]);throw new Error("not implemented")}function ss(t,e,r){return r(os(t,e)).toOperationNode()}function us(t,e,r,n){return nt.createWithOn(t,Tt(e),_t(r,"=",n))}const cs=s({is(t){return t.kind==="OffsetNode"},create(t){return s({kind:"OffsetNode",offset:t})}}),ds=s({is(t){return t.kind==="GroupByItemNode"},create(t){return s({kind:"GroupByItemNode",groupBy:t})}});function ls(t){return t=Te(t)?t(Ft()):t,dt(t).map(ds.create)}const _s=s({is(t){return t.kind==="SetOperationNode"},create(t,e,r){return s({kind:"SetOperationNode",operator:t,expression:e,all:r})}});function Pe(t,e,r){return Te(e)&&(e=e(_r())),de(e)||(e=[e]),e.map(n=>_s.create(t,zt(n),r))}var te;const Pt=class Pt{constructor(e){N(this,te);v(this,te,e)}get expressionType(){}as(e){return new lr(this,e)}or(...e){return new Xt(et.create(i(this,te),U(e)))}and(...e){return new Zt(le.create(i(this,te),U(e)))}$castTo(){return new Pt(i(this,te))}$notNull(){return new Pt(i(this,te))}toOperationNode(){return i(this,te)}};te=new WeakMap;let x=Pt;var Me,se;class lr{constructor(e,r){N(this,Me);N(this,se);v(this,Me,e),v(this,se,r)}get expression(){return i(this,Me)}get alias(){return i(this,se)}toOperationNode(){return he.create(i(this,Me).toOperationNode(),W(i(this,se))?i(this,se).toOperationNode():q.create(i(this,se)))}}Me=new WeakMap,se=new WeakMap;var ve;const At=class At{constructor(e){N(this,ve);v(this,ve,e)}get expressionType(){}as(e){return new lr(this,e)}or(...e){return new At(et.create(i(this,ve),U(e)))}$castTo(){return new At(i(this,ve))}toOperationNode(){return lt.create(i(this,ve))}};ve=new WeakMap;let Xt=At;var Ce;const Dt=class Dt{constructor(e){N(this,Ce);v(this,Ce,e)}get expressionType(){}as(e){return new lr(this,e)}and(...e){return new Dt(le.create(i(this,Ce),U(e)))}$castTo(){return new Dt(i(this,Ce))}toOperationNode(){return lt.create(i(this,Ce))}};Ce=new WeakMap;let Zt=Dt;const ms={is(t){return t.kind==="FetchNode"},create(t,e){return{kind:"FetchNode",rowCount:me.create(t),modifier:e}}};function hs(t,e){if(!ir(t)&&!Ur(t))throw new Error(`Invalid fetch row count: ${t}`);if(!fs(e))throw new Error(`Invalid fetch modifier: ${e}`);return ms.create(t,e)}function fs(t){return t==="only"||t==="with ties"}var d;const g=class g{constructor(e){N(this,d);v(this,d,s(e))}get expressionType(){}get isSelectQueryBuilder(){return!0}where(...e){return new g({...i(this,d),queryNode:M.cloneWithWhere(i(this,d).queryNode,U(e))})}whereRef(e,r,n){return new g({...i(this,d),queryNode:M.cloneWithWhere(i(this,d).queryNode,_t(e,r,n))})}having(...e){return new g({...i(this,d),queryNode:b.cloneWithHaving(i(this,d).queryNode,U(e))})}havingRef(e,r,n){return new g({...i(this,d),queryNode:b.cloneWithHaving(i(this,d).queryNode,_t(e,r,n))})}select(e){return new g({...i(this,d),queryNode:b.cloneWithSelections(i(this,d).queryNode,en(e))})}distinctOn(e){return new g({...i(this,d),queryNode:b.cloneWithDistinctOn(i(this,d).queryNode,dt(e))})}modifyFront(e){return new g({...i(this,d),queryNode:b.cloneWithFrontModifier(i(this,d).queryNode,H.createWithExpression(e.toOperationNode()))})}modifyEnd(e){return new g({...i(this,d),queryNode:b.cloneWithEndModifier(i(this,d).queryNode,H.createWithExpression(e.toOperationNode()))})}distinct(){return new g({...i(this,d),queryNode:b.cloneWithFrontModifier(i(this,d).queryNode,H.create("Distinct"))})}forUpdate(e){return new g({...i(this,d),queryNode:b.cloneWithEndModifier(i(this,d).queryNode,H.create("ForUpdate",e?wt(e).map(B):void 0))})}forShare(e){return new g({...i(this,d),queryNode:b.cloneWithEndModifier(i(this,d).queryNode,H.create("ForShare",e?wt(e).map(B):void 0))})}forKeyShare(e){return new g({...i(this,d),queryNode:b.cloneWithEndModifier(i(this,d).queryNode,H.create("ForKeyShare",e?wt(e).map(B):void 0))})}forNoKeyUpdate(e){return new g({...i(this,d),queryNode:b.cloneWithEndModifier(i(this,d).queryNode,H.create("ForNoKeyUpdate",e?wt(e).map(B):void 0))})}skipLocked(){return new g({...i(this,d),queryNode:b.cloneWithEndModifier(i(this,d).queryNode,H.create("SkipLocked"))})}noWait(){return new g({...i(this,d),queryNode:b.cloneWithEndModifier(i(this,d).queryNode,H.create("NoWait"))})}selectAll(e){return new g({...i(this,d),queryNode:b.cloneWithSelections(i(this,d).queryNode,tn(e))})}innerJoin(...e){return new g({...i(this,d),queryNode:M.cloneWithJoin(i(this,d).queryNode,$e("InnerJoin",e))})}leftJoin(...e){return new g({...i(this,d),queryNode:M.cloneWithJoin(i(this,d).queryNode,$e("LeftJoin",e))})}rightJoin(...e){return new g({...i(this,d),queryNode:M.cloneWithJoin(i(this,d).queryNode,$e("RightJoin",e))})}fullJoin(...e){return new g({...i(this,d),queryNode:M.cloneWithJoin(i(this,d).queryNode,$e("FullJoin",e))})}innerJoinLateral(...e){return new g({...i(this,d),queryNode:M.cloneWithJoin(i(this,d).queryNode,$e("LateralInnerJoin",e))})}leftJoinLateral(...e){return new g({...i(this,d),queryNode:M.cloneWithJoin(i(this,d).queryNode,$e("LateralLeftJoin",e))})}orderBy(...e){return new g({...i(this,d),queryNode:b.cloneWithOrderByItems(i(this,d).queryNode,Gr(e))})}groupBy(e){return new g({...i(this,d),queryNode:b.cloneWithGroupByItems(i(this,d).queryNode,ls(e))})}limit(e){return new g({...i(this,d),queryNode:b.cloneWithLimit(i(this,d).queryNode,Vi.create(P(e)))})}offset(e){return new g({...i(this,d),queryNode:b.cloneWithOffset(i(this,d).queryNode,cs.create(P(e)))})}fetch(e,r="only"){return new g({...i(this,d),queryNode:b.cloneWithFetch(i(this,d).queryNode,hs(e,r))})}top(e,r){return new g({...i(this,d),queryNode:M.cloneWithTop(i(this,d).queryNode,Ki(e,r))})}union(e){return new g({...i(this,d),queryNode:b.cloneWithSetOperations(i(this,d).queryNode,Pe("union",e,!1))})}unionAll(e){return new g({...i(this,d),queryNode:b.cloneWithSetOperations(i(this,d).queryNode,Pe("union",e,!0))})}intersect(e){return new g({...i(this,d),queryNode:b.cloneWithSetOperations(i(this,d).queryNode,Pe("intersect",e,!1))})}intersectAll(e){return new g({...i(this,d),queryNode:b.cloneWithSetOperations(i(this,d).queryNode,Pe("intersect",e,!0))})}except(e){return new g({...i(this,d),queryNode:b.cloneWithSetOperations(i(this,d).queryNode,Pe("except",e,!1))})}exceptAll(e){return new g({...i(this,d),queryNode:b.cloneWithSetOperations(i(this,d).queryNode,Pe("except",e,!0))})}as(e){return new cn(this,e)}clearSelect(){return new g({...i(this,d),queryNode:b.cloneWithoutSelections(i(this,d).queryNode)})}clearWhere(){return new g({...i(this,d),queryNode:M.cloneWithoutWhere(i(this,d).queryNode)})}clearLimit(){return new g({...i(this,d),queryNode:b.cloneWithoutLimit(i(this,d).queryNode)})}clearOffset(){return new g({...i(this,d),queryNode:b.cloneWithoutOffset(i(this,d).queryNode)})}clearOrderBy(){return new g({...i(this,d),queryNode:b.cloneWithoutOrderBy(i(this,d).queryNode)})}clearGroupBy(){return new g({...i(this,d),queryNode:b.cloneWithoutGroupBy(i(this,d).queryNode)})}$call(e){return e(this)}$if(e,r){return e?r(this):new g({...i(this,d)})}$castTo(){return new g(i(this,d))}$narrowType(){return new g(i(this,d))}$assertType(){return new g(i(this,d))}$asTuple(){return new x(this.toOperationNode())}withPlugin(e){return new g({...i(this,d),executor:i(this,d).executor.withPlugin(e)})}toOperationNode(){return i(this,d).executor.transformQuery(i(this,d).queryNode,i(this,d).queryId)}compile(){return i(this,d).executor.compileQuery(this.toOperationNode(),i(this,d).queryId)}async execute(){const e=this.compile();return(await i(this,d).executor.executeQuery(e,i(this,d).queryId)).rows}async executeTakeFirst(){const[e]=await this.execute();return e}async executeTakeFirstOrThrow(e=Li){const r=await this.executeTakeFirst();if(r===void 0)throw Bi(e)?new e(this.toOperationNode()):e(this.toOperationNode());return r}async*stream(e=100){const r=this.compile(),n=i(this,d).executor.stream(r,e,i(this,d).queryId);for await(const a of n)yield*a.rows}async explain(e,r){return await new g({...i(this,d),queryNode:M.cloneWithExplain(i(this,d).queryNode,e,r)}).execute()}};d=new WeakMap;let xt=g;ke(xt,"don't await SelectQueryBuilder instances directly. To execute the query you need to call `execute` or `executeTakeFirst`.");function ps(t){return new xt(t)}var Le,Be;class cn{constructor(e,r){N(this,Le);N(this,Be);v(this,Le,e),v(this,Be,r)}get expression(){return i(this,Le)}get alias(){return i(this,Be)}get isAliasedSelectQueryBuilder(){return!0}toOperationNode(){return he.create(i(this,Le).toOperationNode(),q.create(i(this,Be)))}}Le=new WeakMap,Be=new WeakMap;ke(cn,"don't await AliasedSelectQueryBuilder instances directly. AliasedSelectQueryBuilder should never be executed directly since it's always a part of another query.");const pe=s({is(t){return t.kind==="AggregateFunctionNode"},create(t,e=[]){return s({kind:"AggregateFunctionNode",func:t,aggregated:e})},cloneWithDistinct(t){return s({...t,distinct:!0})},cloneWithFilter(t,e){return s({...t,filter:t.filter?qe.cloneWithOperation(t.filter,"And",e):qe.create(e)})},cloneWithOrFilter(t,e){return s({...t,filter:t.filter?qe.cloneWithOperation(t.filter,"Or",e):qe.create(e)})},cloneWithOver(t,e){return s({...t,over:e})}}),Jr=s({is(t){return t.kind==="FunctionNode"},create(t,e){return s({kind:"FunctionNode",func:t,arguments:e})}});var I;const ie=class ie{constructor(e){N(this,I);v(this,I,s(e))}get expressionType(){}as(e){return new gs(this,e)}distinct(){return new ie({...i(this,I),aggregateFunctionNode:pe.cloneWithDistinct(i(this,I).aggregateFunctionNode)})}filterWhere(...e){return new ie({...i(this,I),aggregateFunctionNode:pe.cloneWithFilter(i(this,I).aggregateFunctionNode,U(e))})}filterWhereRef(e,r,n){return new ie({...i(this,I),aggregateFunctionNode:pe.cloneWithFilter(i(this,I).aggregateFunctionNode,_t(e,r,n))})}over(e){const r=is();return new ie({...i(this,I),aggregateFunctionNode:pe.cloneWithOver(i(this,I).aggregateFunctionNode,(e?e(r):r).toOperationNode())})}$call(e){return e(this)}$castTo(){return new ie(i(this,I))}$notNull(){return new ie(i(this,I))}toOperationNode(){return i(this,I).aggregateFunctionNode}};I=new WeakMap;let Fe=ie;ke(Fe,"don't await AggregateFunctionBuilder instances. They are never executed directly and are always just a part of a query.");var Ue,Ke;class gs{constructor(e,r){N(this,Ue);N(this,Ke);v(this,Ue,e),v(this,Ke,r)}get expression(){return i(this,Ue)}get alias(){return i(this,Ke)}toOperationNode(){return he.create(i(this,Ue).toOperationNode(),q.create(i(this,Ke)))}}Ue=new WeakMap,Ke=new WeakMap;function ys(){const t=(r,n)=>new x(Jr.create(r,dt(n??[]))),e=(r,n)=>new Fe({aggregateFunctionNode:pe.create(r,n?dt(n):void 0)});return Object.assign(t,{agg:e,avg(r){return e("avg",[r])},coalesce(...r){return t("coalesce",r)},count(r){return e("count",[r])},countAll(r){return new Fe({aggregateFunctionNode:pe.create("count",tn(r))})},max(r){return e("max",[r])},min(r){return e("min",[r])},sum(r){return e("sum",[r])},any(r){return t("any",[r])},jsonAgg(r){return new Fe({aggregateFunctionNode:pe.create("json_agg",[G(r)?B(r):r.toOperationNode()])})},toJson(r){return new x(Jr.create("to_json",[G(r)?B(r):r.toOperationNode()]))}})}const ws=s({is(t){return t.kind==="UnaryOperationNode"},create(t,e){return s({kind:"UnaryOperationNode",operator:t,operand:e})}});function Ns(t,e){return ws.create(xe.create(t),j(e))}const re=s({is(t){return t.kind==="CaseNode"},create(t){return s({kind:"CaseNode",value:t})},cloneWithWhen(t,e){return s({...t,when:s(t.when?[...t.when,e]:[e])})},cloneWithThen(t,e){return s({...t,when:t.when?s([...t.when.slice(0,-1),jt.cloneWithResult(t.when[t.when.length-1],e)]):void 0})},cloneWith(t,e){return s({...t,...e})}});var Qe;class vs{constructor(e){N(this,Qe);v(this,Qe,s(e))}when(...e){return new dn({...i(this,Qe),node:re.cloneWithWhen(i(this,Qe).node,jt.create(U(e)))})}}Qe=new WeakMap;var Ve;class dn{constructor(e){N(this,Ve);v(this,Ve,s(e))}then(e){return new Cs({...i(this,Ve),node:re.cloneWithThen(i(this,Ve).node,ur(e)?cr(e):P(e))})}}Ve=new WeakMap;var Q;class Cs{constructor(e){N(this,Q);v(this,Q,s(e))}when(...e){return new dn({...i(this,Q),node:re.cloneWithWhen(i(this,Q).node,jt.create(U(e)))})}else(e){return new bs({...i(this,Q),node:re.cloneWith(i(this,Q).node,{else:ur(e)?cr(e):P(e)})})}end(){return new x(re.cloneWith(i(this,Q).node,{isStatement:!1}))}endCase(){return new x(re.cloneWith(i(this,Q).node,{isStatement:!0}))}}Q=new WeakMap;var Ge;class bs{constructor(e){N(this,Ge);v(this,Ge,s(e))}end(){return new x(re.cloneWith(i(this,Ge).node,{isStatement:!1}))}endCase(){return new x(re.cloneWith(i(this,Ge).node,{isStatement:!0}))}}Ge=new WeakMap;const qr=s({is(t){return t.kind==="JSONPathLegNode"},create(t,e){return s({kind:"JSONPathLegNode",type:t,value:e})}});var V,pt,er;class it{constructor(e){N(this,pt);N(this,V);v(this,V,e)}at(e){return p(this,pt,er).call(this,"ArrayLocation",e)}key(e){return p(this,pt,er).call(this,"Member",e)}}V=new WeakMap,pt=new WeakSet,er=function(e,r){return Ct.is(i(this,V))?new jr(Ct.cloneWithTraversal(i(this,V),at.is(i(this,V).traversal)?at.cloneWithLeg(i(this,V).traversal,qr.create(e,r)):Yr.cloneWithValue(i(this,V).traversal,me.createImmediate(r)))):new jr(at.cloneWithLeg(i(this,V),qr.create(e,r)))};var be;class jr extends it{constructor(r){super(r);N(this,be);v(this,be,r)}get expressionType(){}as(r){return new Os(this,r)}$castTo(){return new it(i(this,be))}$notNull(){return new it(i(this,be))}toOperationNode(){return i(this,be)}}be=new WeakMap;var He,ue;class Os{constructor(e,r){N(this,He);N(this,ue);v(this,He,e),v(this,ue,r)}get expression(){return i(this,He)}get alias(){return i(this,ue)}toOperationNode(){return he.create(i(this,He).toOperationNode(),W(i(this,ue))?i(this,ue).toOperationNode():q.create(i(this,ue)))}}He=new WeakMap,ue=new WeakMap;const Fr=s({is(t){return t.kind==="TupleNode"},create(t){return s({kind:"TupleNode",values:s(t)})}}),Ss=["varchar","char","text","integer","int2","int4","int8","smallint","bigint","boolean","real","double precision","float4","float8","decimal","numeric","binary","bytea","date","datetime","time","timetz","timestamp","timestamptz","serial","bigserial","uuid","json","jsonb","blob","varbinary"],xs=[/^varchar\(\d+\)$/,/^char\(\d+\)$/,/^decimal\(\d+, \d+\)$/,/^numeric\(\d+, \d+\)$/,/^binary\(\d+\)$/,/^datetime\(\d+\)$/,/^time\(\d+\)$/,/^timetz\(\d+\)$/,/^timestamp\(\d+\)$/,/^timestamptz\(\d+\)$/,/^varbinary\(\d+\)$/],Ts=s({is(t){return t.kind==="DataTypeNode"},create(t){return s({kind:"DataTypeNode",dataType:t})}});function ks(t){return!!(Ss.includes(t)||xs.some(e=>e.test(t)))}function Is(t){if(W(t))return t.toOperationNode();if(ks(t))return Ts.create(t);throw new Error(`invalid column data type ${JSON.stringify(t)}`)}const $s=s({is(t){return t.kind==="CastNode"},create(t,e){return s({kind:"CastNode",expression:t,dataType:e})}});function _r(t=un){function e(a,o,u){return new x(dr(a,o,u))}function r(a,o){return new x(Ns(a,o))}const n=Object.assign(e,{fn:void 0,eb:void 0,selectFrom(a){return ps({queryId:Y(),executor:t,queryNode:b.createFrom(Ps(a))})},case(a){return new vs({node:re.create(vt(a)?void 0:j(a))})},ref(a,o){return vt(o)?new x(_e(a)):new it(Ti(a,o))},jsonPath(){return new it(at.create())},table(a){return new x(B(a))},val(a){return new x(P(a))},refTuple(...a){return new x(Fr.create(a.map(j)))},tuple(...a){return new x(Fr.create(a.map(P)))},lit(a){return new x(cr(a))},unary:r,not(a){return r("not",a)},exists(a){return r("exists",a)},neg(a){return r("-",a)},between(a,o,u){return new x(Ye.create(j(a),xe.create("between"),le.create(P(o),P(u))))},betweenSymmetric(a,o,u){return new x(Ye.create(j(a),xe.create("between symmetric"),le.create(P(o),P(u))))},and(a){return de(a)?new x(Qt(a,"and")):new x(vr(a,"and"))},or(a){return de(a)?new x(Qt(a,"or")):new x(vr(a,"or"))},parens(...a){const o=U(a);return lt.is(o)?new x(o):new x(lt.create(o))},cast(a,o){return new x($s.create(j(a),Is(o)))},withSchema(a){return _r(t.withPluginAtFront(new sn(a)))}});return n.fn=ys(),n.eb=n,n}function Ft(t){return _r()}function zt(t){if(W(t))return t.toOperationNode();if(Te(t))return t(Ft()).toOperationNode();throw new Error(`invalid expression: ${JSON.stringify(t)}`)}function ln(t){if(W(t))return t.toOperationNode();if(Te(t))return t(Ft()).toOperationNode();throw new Error(`invalid aliased expression: ${JSON.stringify(t)}`)}function Et(t){return pi(t)||gi(t)||Te(t)}function Ps(t){return de(t)?t.map(e=>Tt(e)):[Tt(t)]}function Tt(t){return G(t)?As(t):ln(t)}function As(t){const e=" as ";if(t.includes(e)){const[r,n]=t.split(e).map(_n);return he.create(B(r),q.create(n))}else return B(t)}function B(t){const e=".";if(t.includes(e)){const[r,n]=t.split(e).map(_n);return Se.createWithSchema(r,n)}else return Se.create(t)}function _n(t){return t.trim()}var $,F,Nt,tr,rr;const ut=class ut{constructor(e){N(this,F);N(this,$);v(this,$,s(e))}get expressionType(){}get isRawBuilder(){return!0}as(e){return new mn(this,e)}$castTo(){return new ut({...i(this,$)})}$notNull(){return new ut(i(this,$))}withPlugin(e){return new ut({...i(this,$),plugins:i(this,$).plugins!==void 0?s([...i(this,$).plugins,e]):s([e])})}toOperationNode(){return p(this,F,tr).call(this,p(this,F,Nt).call(this))}compile(e){return p(this,F,rr).call(this,p(this,F,Nt).call(this,e))}async execute(e){const r=p(this,F,Nt).call(this,e);return r.executeQuery(p(this,F,rr).call(this,r),i(this,$).queryId)}};$=new WeakMap,F=new WeakSet,Nt=function(e){const r=e!==void 0?e.getExecutor():un;return i(this,$).plugins!==void 0?r.withPlugins(i(this,$).plugins):r},tr=function(e){return e.transformQuery(i(this,$).rawNode,i(this,$).queryId)},rr=function(e){return e.compileQuery(p(this,F,tr).call(this,e),i(this,$).queryId)};let kt=ut;function oe(t){return new kt(t)}ke(kt,"don't await RawBuilder instances directly. To execute the query you need to call `execute`");var Oe,ce;class mn{constructor(e,r){N(this,Oe);N(this,ce);v(this,Oe,e),v(this,ce,r)}get expression(){return i(this,Oe)}get alias(){return i(this,ce)}get rawBuilder(){return i(this,Oe)}toOperationNode(){return he.create(i(this,Oe).toOperationNode(),W(i(this,ce))?i(this,ce).toOperationNode():q.create(i(this,ce)))}}Oe=new WeakMap,ce=new WeakMap;ke(mn,"don't await AliasedRawBuilder instances directly. AliasedRawBuilder should never be executed directly since it's always a part of another query.");const D=Object.assign((t,...e)=>oe({queryId:Y(),rawNode:J.create(t,(e==null?void 0:e.map(zr))??[])}),{ref(t){return oe({queryId:Y(),rawNode:J.createWithChild(_e(t))})},val(t){return oe({queryId:Y(),rawNode:J.createWithChild(P(t))})},value(t){return this.val(t)},table(t){return oe({queryId:Y(),rawNode:J.createWithChild(B(t))})},id(...t){const e=new Array(t.length+1).fill(".");return e[0]="",e[e.length-1]="",oe({queryId:Y(),rawNode:J.create(e,t.map(q.create))})},lit(t){return oe({queryId:Y(),rawNode:J.createWithChild(me.createImmediate(t))})},literal(t){return this.lit(t)},raw(t){return oe({queryId:Y(),rawNode:J.createWithSql(t)})},join(t,e=D`, `){const r=new Array(2*t.length-1),n=e.toOperationNode();for(let a=0;a<t.length;++a)r[2*a]=zr(t[a]),a!==t.length-1&&(r[2*a+1]=n);return oe({queryId:Y(),rawNode:J.createWithChildren(r)})}});function zr(t){return W(t)?t.toOperationNode():P(t)}class Ds{transformQuery(e){return e.node}async transformResult(e){return e.result}}const Js="kysely_migration",Er="kysely_migration_lock",qs=!1,Lt="migration_lock",js=s({__noMigrations__:!0});var T,l,tt,X,Z,De,fn,ee,pn,gn,yn,wn,Nn,nr,Je,ar,vn,Cn,bn,or,On,Sn,xn,Tn,kn,rt;class hn{constructor(e){N(this,l);N(this,T);v(this,T,s(e))}async getMigrations(){const e=await p(this,l,Je).call(this,i(this,l,Z))?await i(this,T).db.withPlugin(i(this,l,ee)).selectFrom(i(this,l,Z)).select(["name","timestamp"]).execute():[];return(await p(this,l,or).call(this)).map(({name:n,...a})=>{const o=e.find(u=>u.name===n);return{name:n,migration:a,executedAt:o?new Date(o.timestamp):void 0}})}async migrateToLatest(){return p(this,l,tt).call(this,()=>({direction:"Up",step:1/0}))}async migrateTo(e){return p(this,l,tt).call(this,({migrations:r,executedMigrations:n,pendingMigrations:a})=>{if(e===js)return{direction:"Down",step:1/0};if(!r.find(c=>c.name===e))throw new Error(`migration "${e}" doesn't exist`);const o=n.indexOf(e),u=a.findIndex(c=>c.name===e);if(o!==-1)return{direction:"Down",step:n.length-o-1};if(u!==-1)return{direction:"Up",step:u+1};throw new Error(`migration "${e}" isn't executed or pending`)})}async migrateUp(){return p(this,l,tt).call(this,()=>({direction:"Up",step:1}))}async migrateDown(){return p(this,l,tt).call(this,()=>({direction:"Down",step:1}))}}T=new WeakMap,l=new WeakSet,tt=async function(e){try{return await p(this,l,pn).call(this),await p(this,l,vn).call(this,e)}catch(r){return r instanceof Bt?r.resultSet:{error:r}}},X=function(){return i(this,T).migrationTableSchema},Z=function(){return i(this,T).migrationTableName??Js},De=function(){return i(this,T).migrationLockTableName??Er},fn=function(){return i(this,T).allowUnorderedMigrations??qs},ee=function(){return i(this,l,X)?new sn(i(this,l,X)):new Ds},pn=async function(){await p(this,l,gn).call(this),await p(this,l,yn).call(this),await p(this,l,wn).call(this),await p(this,l,Nn).call(this)},gn=async function(){if(i(this,l,X)&&!await p(this,l,nr).call(this))try{await p(this,l,rt).call(this,i(this,T).db.schema.createSchema(i(this,l,X)))}catch(e){if(!await p(this,l,nr).call(this))throw e}},yn=async function(){if(!await p(this,l,Je).call(this,i(this,l,Z)))try{i(this,l,X)&&await p(this,l,rt).call(this,i(this,T).db.schema.createSchema(i(this,l,X))),await p(this,l,rt).call(this,i(this,T).db.schema.withPlugin(i(this,l,ee)).createTable(i(this,l,Z)).addColumn("name","varchar(255)",e=>e.notNull().primaryKey()).addColumn("timestamp","varchar(255)",e=>e.notNull()))}catch(e){if(!await p(this,l,Je).call(this,i(this,l,Z)))throw e}},wn=async function(){if(!await p(this,l,Je).call(this,i(this,l,De)))try{await p(this,l,rt).call(this,i(this,T).db.schema.withPlugin(i(this,l,ee)).createTable(i(this,l,De)).addColumn("id","varchar(255)",e=>e.notNull().primaryKey()).addColumn("is_locked","integer",e=>e.notNull().defaultTo(0)))}catch(e){if(!await p(this,l,Je).call(this,i(this,l,De)))throw e}},Nn=async function(){if(!await p(this,l,ar).call(this))try{await i(this,T).db.withPlugin(i(this,l,ee)).insertInto(i(this,l,De)).values({id:Lt,is_locked:0}).execute()}catch(e){if(!await p(this,l,ar).call(this))throw e}},nr=async function(){return(await i(this,T).db.introspection.getSchemas()).some(r=>r.name===i(this,l,X))},Je=async function(e){const r=i(this,l,X);return(await i(this,T).db.introspection.getTables({withInternalKyselyTables:!0})).some(a=>a.name===e&&(!r||a.schema===r))},ar=async function(){return!!await i(this,T).db.withPlugin(i(this,l,ee)).selectFrom(i(this,l,De)).where("id","=",Lt).select("id").executeTakeFirst()},vn=async function(e){const r=i(this,T).db.getExecutor().adapter,n=s({lockTable:i(this,T).migrationLockTableName??Er,lockRowId:Lt,lockTableSchema:i(this,T).migrationTableSchema}),a=async o=>{try{await r.acquireMigrationLock(o,n);const u=await p(this,l,Cn).call(this,o);if(u.migrations.length===0)return{results:[]};const{direction:c,step:_}=e(u);return _<=0?{results:[]}:c==="Down"?await p(this,l,Tn).call(this,o,u,_):c==="Up"?await p(this,l,kn).call(this,o,u,_):{results:[]}}finally{await r.releaseMigrationLock(o,n)}};return r.supportsTransactionalDdl?i(this,T).db.transaction().execute(a):i(this,T).db.connection().execute(a)},Cn=async function(e){const r=await p(this,l,or).call(this),n=await p(this,l,On).call(this,e);p(this,l,Sn).call(this,r,n),i(this,l,fn)||p(this,l,xn).call(this,r,n);const a=p(this,l,bn).call(this,r,n);return s({migrations:r,executedMigrations:n,lastMigration:fi(n),pendingMigrations:a})},bn=function(e,r){return e.filter(n=>!r.includes(n.name))},or=async function(){const e=await i(this,T).provider.getMigrations();return Object.keys(e).sort().map(r=>({...e[r],name:r}))},On=async function(e){return(await e.withPlugin(i(this,l,ee)).selectFrom(i(this,l,Z)).select("name").orderBy(["timestamp","name"]).execute()).map(n=>n.name)},Sn=function(e,r){for(const n of r)if(!e.some(a=>a.name===n))throw new Error(`corrupted migrations: previously executed migration ${n} is missing`)},xn=function(e,r){for(let n=0;n<r.length;++n)if(e[n].name!==r[n])throw new Error(`corrupted migrations: expected previously executed migration ${r[n]} to be at index ${n} but ${e[n].name} was found in its place. New migrations must always have a name that comes alphabetically after the last executed migration.`)},Tn=async function(e,r,n){const a=r.executedMigrations.slice().reverse().slice(0,n).map(u=>r.migrations.find(c=>c.name===u)),o=a.map(u=>({migrationName:u.name,direction:"Down",status:"NotExecuted"}));for(let u=0;u<o.length;++u){const c=a[u];try{c.down&&(await c.down(e),await e.withPlugin(i(this,l,ee)).deleteFrom(i(this,l,Z)).where("name","=",c.name).execute(),o[u]={migrationName:c.name,direction:"Down",status:"Success"})}catch(_){throw o[u]={migrationName:c.name,direction:"Down",status:"Error"},new Bt({error:_,results:o})}}return{results:o}},kn=async function(e,r,n){const o=r.pendingMigrations.slice(0,n).map(u=>({migrationName:u.name,direction:"Up",status:"NotExecuted"}));for(let u=0;u<o.length;u++){const c=r.pendingMigrations[u];try{await c.up(e),await e.withPlugin(i(this,l,ee)).insertInto(i(this,l,Z)).values({name:c.name,timestamp:new Date().toISOString()}).execute(),o[u]={migrationName:c.name,direction:"Up",status:"Success"}}catch(_){throw o[u]={migrationName:c.name,direction:"Up",status:"Error"},new Bt({error:_,results:o})}}return{results:o}},rt=async function(e){i(this,T).db.getExecutor().adapter.supportsCreateIfNotExists&&(e=e.ifNotExists()),await e.execute()};var gt;class Bt extends Error{constructor(r){super();N(this,gt);v(this,gt,r)}get resultSet(){return i(this,gt)}}gt=new WeakMap;class In{constructor(e){ae(this,"migrations");this.migrations=e}async getMigrations(){return this.migrations}}async function Fs(t){await t.schema.createTable("tenants").addColumn("id","varchar(255)",e=>e.primaryKey()).addColumn("name","varchar(255)").addColumn("audience","varchar(255)").addColumn("sender_email","varchar(255)").addColumn("sender_name","varchar(255)").addColumn("language","varchar(255)").addColumn("logo","varchar(255)").addColumn("primary_color","varchar(255)").addColumn("secondary_color","varchar(255)").addColumn("created_at","varchar(255)",e=>e.notNull()).addColumn("updated_at","varchar(255)",e=>e.notNull()).execute(),await t.schema.createTable("users").addColumn("user_id","varchar(255)",e=>e.notNull()).addColumn("tenant_id","varchar(255)",e=>e.references("tenants.id").onDelete("cascade").notNull()).addColumn("email","varchar(255)").addColumn("given_name","varchar(255)").addColumn("family_name","varchar(255)").addColumn("nickname","varchar(255)").addColumn("name","varchar(255)").addColumn("picture","varchar(2083)").addColumn("tags","varchar(255)").addColumn("phone_number","varchar(17)").addColumn("phone_verified","boolean").addColumn("username","varchar(128)").addColumn("created_at","varchar(255)",e=>e.notNull()).addColumn("updated_at","varchar(255)",e=>e.notNull()).addPrimaryKeyConstraint("users_tenants",["user_id","tenant_id"]).addColumn("linked_to","varchar(255)").addForeignKeyConstraint("linked_to_constraint",["linked_to","tenant_id"],"users",["user_id","tenant_id"]).addColumn("last_ip","varchar(255)").addColumn("login_count","integer",e=>e.notNull()).addColumn("last_login","varchar(255)").addColumn("provider","varchar(255)",e=>e.notNull()).addColumn("connection","varchar(255)").addColumn("email_verified","boolean",e=>e.notNull()).addColumn("is_social","boolean",e=>e.notNull()).addColumn("app_metadata","varchar(4096)",e=>e.defaultTo("{}").notNull()).addColumn("user_metadata","varchar(4096)",e=>e.defaultTo("{}").notNull()).addUniqueConstraint("unique_email_provider",["email","provider","tenant_id"]).addUniqueConstraint("unique_phone_provider",["phone_number","provider","tenant_id"]).execute(),await t.schema.createTable("members").addColumn("id","varchar(255)",e=>e.notNull().primaryKey()).addColumn("tenant_id","varchar(255)",e=>e.references("tenants.id").onDelete("cascade").notNull()).addColumn("sub","varchar(255)").addColumn("email","varchar(255)").addColumn("name","varchar(255)").addColumn("status","varchar(255)").addColumn("role","varchar(255)").addColumn("picture","varchar(2083)").addColumn("created_at","varchar(255)",e=>e.notNull()).addColumn("updated_at","varchar(255)",e=>e.notNull()).execute(),await t.schema.createTable("applications").addColumn("id","varchar(255)",e=>e.notNull().primaryKey()).addColumn("tenant_id","varchar(255)",e=>e.references("tenants.id").onDelete("cascade").notNull()).addColumn("name","varchar(255)",e=>e.notNull()).addColumn("client_secret","varchar(255)").addColumn("allowed_logout_urls","varchar(255)").addColumn("authentication_settings","varchar(255)").addColumn("addons","varchar(4096)",e=>e.notNull().defaultTo("{}")).addColumn("callbacks","varchar(1024)",e=>e.notNull().defaultTo("[]")).addColumn("allowed_origins","varchar(1024)",e=>e.notNull().defaultTo("[]")).addColumn("web_origins","varchar(1024)",e=>e.notNull().defaultTo("[]")).addColumn("allowed_clients","varchar(1024)",e=>e.defaultTo("[]").notNull()).addColumn("options_kid","varchar(32)").addColumn("options_team_id","varchar(32)").addColumn("options_client_id","varchar(128)").addColumn("options_client_secret","varchar(255)").addColumn("options_scope","varchar(255)").addColumn("options_realms","varchar(255)").addColumn("options_app_secret","varchar(1024)").addColumn("email_validation","varchar(255)").addColumn("disable_sign_ups","boolean",e=>e.notNull()).addColumn("created_at","varchar(255)",e=>e.notNull()).addColumn("updated_at","varchar(255)",e=>e.notNull()).execute(),await t.schema.createTable("connections").addColumn("id","varchar(255)",e=>e.notNull().primaryKey()).addColumn("tenant_id","varchar(255)",e=>e.references("tenants.id").onDelete("cascade").notNull()).addColumn("name","varchar(255)",e=>e.notNull()).addColumn("response_type","varchar(255)").addColumn("response_mode","varchar(255)").addColumn("strategy","varchar(64)").addColumn("options","varchar(2048)",e=>e.defaultTo("{}").notNull()).addColumn("created_at","varchar(255)",e=>e.notNull()).addColumn("updated_at","varchar(255)",e=>e.notNull()).execute(),await t.schema.createTable("migrations").addColumn("id","varchar(255)",e=>e.notNull().primaryKey()).addColumn("tenant_id","varchar(255)",e=>e.references("tenants.id").onDelete("cascade").notNull()).addColumn("provider","varchar(255)").addColumn("client_id","varchar(255)").addColumn("origin","varchar(255)").addColumn("domain","varchar(255)").addColumn("created_at","varchar(255)",e=>e.notNull()).addColumn("updated_at","varchar(255)",e=>e.notNull()).execute(),await t.schema.createTable("domains").addColumn("id","varchar(255)",e=>e.notNull().primaryKey()).addColumn("tenant_id","varchar(255)",e=>e.references("tenants.id").onDelete("cascade").notNull()).addColumn("domain","varchar(255)",e=>e.notNull()).addColumn("email_service","varchar(255)").addColumn("email_api_key","varchar(255)").addColumn("dkim_private_key","varchar(2048)").addColumn("dkim_public_key","varchar(2048)").addColumn("created_at","varchar(255)",e=>e.notNull()).addColumn("updated_at","varchar(255)",e=>e.notNull()).execute()}async function zs(t){await t.schema.dropTable("domains").execute(),await t.schema.dropTable("members").execute(),await t.schema.dropTable("users").execute(),await t.schema.dropTable("connections").execute(),await t.schema.dropTable("applications").execute(),await t.schema.dropTable("migrations").execute(),await t.schema.dropTable("tenants").execute()}const Es=Object.freeze(Object.defineProperty({__proto__:null,down:zs,up:Fs},Symbol.toStringTag,{value:"Module"}));async function Rs(t){await t.schema.alterTable("tenants").addColumn("support_url","varchar(255)").execute()}async function Ws(t){await t.schema.alterTable("tenants").dropColumn("support_url").execute()}const Ms=Object.freeze(Object.defineProperty({__proto__:null,down:Ws,up:Rs},Symbol.toStringTag,{value:"Module"}));async function Ls(t){}async function Bs(t){}const Us=Object.freeze(Object.defineProperty({__proto__:null,down:Bs,up:Ls},Symbol.toStringTag,{value:"Module"}));async function Ks(t){await t.schema.createTable("logs").addColumn("id","varchar(255)",e=>e.notNull().primaryKey()).addColumn("category","varchar(255)",e=>e.notNull()).addColumn("tenant_id","varchar(64)").addColumn("user_id","varchar(64)").addForeignKeyConstraint("tenant_id_constraint",["tenant_id"],"tenants",["id"],e=>e.onDelete("cascade")).addColumn("ip","varchar(255)").addColumn("type","varchar(8)",e=>e.notNull()).addColumn("date","varchar(25)",e=>e.notNull()).addColumn("client_id","varchar(255)").addColumn("client_name","varchar(255)").addColumn("user_agent","varchar(255)").addColumn("description","varchar(255)").addColumn("details","varchar(2048)").execute()}async function Qs(t){await t.schema.dropTable("logs").execute()}const Vs=Object.freeze(Object.defineProperty({__proto__:null,down:Qs,up:Ks},Symbol.toStringTag,{value:"Module"}));async function Gs(t){}async function Hs(t){}const Ys=Object.freeze(Object.defineProperty({__proto__:null,down:Hs,up:Gs},Symbol.toStringTag,{value:"Module"}));async function Xs(t){await t.schema.createTable("sessions").addColumn("id","varchar(21)",e=>e.primaryKey()).addColumn("tenant_id","varchar(255)").addColumn("user_id","varchar(255)").addForeignKeyConstraint("user_id_constraint",["user_id","tenant_id"],"users",["user_id","tenant_id"],e=>e.onDelete("cascade")).addColumn("created_at","varchar(35)",e=>e.notNull()).addColumn("updated_at","varchar(35)",e=>e.notNull()).addColumn("expires_at","varchar(35)").addColumn("idle_expires_at","varchar(35)").addColumn("authenticated_at","varchar(35)").addColumn("last_interaction_at","varchar(35)").addColumn("used_at","varchar(35)").addColumn("revoked_at","varchar(35)").addColumn("device","varchar(2048)",e=>e.notNull()).addColumn("clients","varchar(1024)",e=>e.notNull()).execute(),await t.schema.createTable("tickets").addColumn("tenant_id","varchar(255)",e=>e.references("tenants.id").onDelete("cascade").notNull()).addColumn("id","varchar(255)",e=>e.primaryKey()).addColumn("client_id","varchar(255)",e=>e.references("applications.id").onDelete("cascade").notNull()).addColumn("email","varchar(255)",e=>e.notNull()).addColumn("nonce","varchar(255)").addColumn("state","varchar(1024)").addColumn("scope","varchar(1024)").addColumn("response_type","varchar(256)").addColumn("response_mode","varchar(256)").addColumn("redirect_uri","varchar(1024)").addColumn("created_at","varchar(255)",e=>e.notNull()).addColumn("expires_at","varchar(255)",e=>e.notNull()).addColumn("used_at","varchar(255)").execute(),await t.schema.createTable("otps").addColumn("tenant_id","varchar(255)",e=>e.references("tenants.id").onDelete("cascade").notNull()).addColumn("id","varchar(255)",e=>e.primaryKey()).addColumn("client_id","varchar(255)",e=>e.references("applications.id").onDelete("cascade").notNull()).addColumn("code","varchar(255)",e=>e.notNull()).addColumn("email","varchar(255)",e=>e.notNull()).addColumn("user_id","varchar(255)").addColumn("send","varchar(255)").addColumn("nonce","varchar(255)").addColumn("state","varchar(1024)").addColumn("scope","varchar(1024)").addColumn("response_type","varchar(256)").addColumn("response_mode","varchar(256)").addColumn("redirect_uri","varchar(1024)").addColumn("created_at","varchar(255)",e=>e.notNull()).addColumn("expires_at","varchar(255)",e=>e.notNull()).addColumn("used_at","varchar(255)").execute(),await t.schema.createIndex("otps_email_index").on("otps").column("email").execute(),await t.schema.createIndex("otps_expires_at_index").on("otps").column("expires_at").execute()}async function Zs(t){await t.schema.dropTable("sessions").execute(),await t.schema.dropTable("tickets").execute(),await t.schema.dropTable("otps").execute()}const eu=Object.freeze(Object.defineProperty({__proto__:null,down:Zs,up:Xs},Symbol.toStringTag,{value:"Module"}));async function tu(t){await t.schema.createTable("passwords").addColumn("tenant_id","varchar(255)").addColumn("user_id","varchar(255)").addPrimaryKeyConstraint("passwords_pkey",["user_id","tenant_id"]).addForeignKeyConstraint("user_id_constraint",["user_id","tenant_id"],"users",["user_id","tenant_id"],e=>e.onDelete("cascade")).addColumn("created_at","varchar(255)").addColumn("updated_at","varchar(255)").execute(),await t.schema.createTable("codes").addColumn("id","varchar(255)",e=>e.primaryKey()).addColumn("user_id","varchar(255)").addColumn("tenant_id","varchar(255)").addForeignKeyConstraint("user_id_constraint",["user_id","tenant_id"],"users",["user_id","tenant_id"],e=>e.onDelete("cascade")).addColumn("type","varchar(255)",e=>e.notNull()).addColumn("created_at","varchar(255)",e=>e.notNull()).addColumn("expires_at","varchar(255)",e=>e.notNull()).addColumn("used_at","varchar(255)").execute(),await t.schema.createIndex("codes_expires_at_index").on("codes").column("expires_at").execute()}async function ru(t){await t.schema.dropTable("passwords").execute(),await t.schema.dropTable("codes").execute()}const nu=Object.freeze(Object.defineProperty({__proto__:null,down:ru,up:tu},Symbol.toStringTag,{value:"Module"}));async function au(t){}async function ou(t){}const iu=Object.freeze(Object.defineProperty({__proto__:null,down:ou,up:au},Symbol.toStringTag,{value:"Module"}));async function su(t){await t.schema.alterTable("passwords").addColumn("password","varchar(255)",e=>e.notNull()).execute()}async function uu(t){await t.schema.alterTable("passwords").dropColumn("password").execute()}const cu=Object.freeze(Object.defineProperty({__proto__:null,down:uu,up:su},Symbol.toStringTag,{value:"Module"}));async function du(t){}async function lu(t){}const _u=Object.freeze(Object.defineProperty({__proto__:null,down:lu,up:du},Symbol.toStringTag,{value:"Module"}));async function mu(t){}async function hu(t){}const fu=Object.freeze(Object.defineProperty({__proto__:null,down:hu,up:mu},Symbol.toStringTag,{value:"Module"}));async function pu(t){}async function gu(t){}const yu=Object.freeze(Object.defineProperty({__proto__:null,down:gu,up:pu},Symbol.toStringTag,{value:"Module"}));async function wu(t){await t.schema.createIndex("users_email_index").on("users").column("email").execute()}async function Nu(t){await t.schema.dropIndex("users_email_index").execute()}const vu=Object.freeze(Object.defineProperty({__proto__:null,down:Nu,up:wu},Symbol.toStringTag,{value:"Module"}));async function Cu(t){await t.schema.alterTable("users").addColumn("profileData","varchar(2048)").execute()}async function bu(t){await t.schema.alterTable("users").dropColumn("profileData").execute()}const Ou=Object.freeze(Object.defineProperty({__proto__:null,down:bu,up:Cu},Symbol.toStringTag,{value:"Module"}));async function Su(t){await t.schema.createIndex("users_linked_to_index").on("users").column("linked_to").execute()}async function xu(t){await t.schema.dropIndex("users_linked_to_index")}const Tu=Object.freeze(Object.defineProperty({__proto__:null,down:xu,up:Su},Symbol.toStringTag,{value:"Module"}));async function ku(t){await t.schema.alterTable("users").addColumn("locale","varchar(255)").execute()}async function Iu(t){await t.schema.alterTable("users").dropColumn("locale").execute()}const $u=Object.freeze(Object.defineProperty({__proto__:null,down:Iu,up:ku},Symbol.toStringTag,{value:"Module"}));async function Pu(t){await t.schema.createTable("keys").addColumn("kid","varchar(255)",e=>e.primaryKey()).addColumn("tenant_id","varchar(255)",e=>e.references("tenants.id").onDelete("cascade")).addColumn("created_at","varchar(255)",e=>e.notNull()).addColumn("revoked_at","varchar(255)").addColumn("cert","varchar(4096)").addColumn("pkcs7","varchar(4096)").addColumn("fingerprint","varchar(256)").addColumn("thumbprint","varchar(256)").addColumn("current_since","varchar(256)").addColumn("current_until","varchar(256)").addColumn("type","varchar(50)",e=>e.notNull().defaultTo("jwt_signing")).addColumn("connection","varchar(255)",e=>e.references("connections.id").onDelete("cascade")).execute()}async function Au(t){await t.schema.dropTable("keys").execute()}const Du=Object.freeze(Object.defineProperty({__proto__:null,down:Au,up:Pu},Symbol.toStringTag,{value:"Module"}));async function Ju(t){}async function qu(t){}const ju=Object.freeze(Object.defineProperty({__proto__:null,down:qu,up:Ju},Symbol.toStringTag,{value:"Module"}));async function Fu(t){}async function zu(t){}const Eu=Object.freeze(Object.defineProperty({__proto__:null,down:zu,up:Fu},Symbol.toStringTag,{value:"Module"}));async function Ru(t){await t.schema.alterTable("otps").addColumn("audience","varchar(255)").execute()}async function Wu(t){await t.schema.alterTable("otps").dropColumn("audience").execute()}const Mu=Object.freeze(Object.defineProperty({__proto__:null,down:Wu,up:Ru},Symbol.toStringTag,{value:"Module"}));async function Lu(t){}async function Bu(t){}const Uu=Object.freeze(Object.defineProperty({__proto__:null,down:Bu,up:Lu},Symbol.toStringTag,{value:"Module"}));async function Ku(t){await t.schema.alterTable("logs").dropColumn("category").execute()}async function Qu(t){await t.schema.alterTable("logs").addColumn("category","varchar(255)",e=>e.notNull()).execute()}const Vu=Object.freeze(Object.defineProperty({__proto__:null,down:Qu,up:Ku},Symbol.toStringTag,{value:"Module"}));async function Gu(t){await t.schema.alterTable("users").dropColumn("tags").execute()}async function Hu(t){await t.schema.alterTable("users").addColumn("tags","varchar(255)").execute()}const Yu=Object.freeze(Object.defineProperty({__proto__:null,down:Hu,up:Gu},Symbol.toStringTag,{value:"Module"}));async function Xu(t){await t.schema.createIndex("logs_user_id").on("logs").column("user_id").execute(),await t.schema.createIndex("logs_tenant_id").on("logs").column("tenant_id").execute(),await t.schema.createIndex("logs_date").on("logs").column("date").execute()}async function Zu(t){await t.schema.dropIndex("logs_user_id"),await t.schema.dropIndex("logs_tenant_id"),await t.schema.dropIndex("logs_date")}const ec=Object.freeze(Object.defineProperty({__proto__:null,down:Zu,up:Xu},Symbol.toStringTag,{value:"Module"}));async function tc(t){await t.schema.alterTable("logs").dropColumn("details").execute(),await t.schema.alterTable("logs").addColumn("details","varchar(8192)").execute()}async function rc(t){await t.schema.alterTable("logs").dropColumn("details").execute(),await t.schema.alterTable("logs").addColumn("details","varchar(2048)").execute()}const nc=Object.freeze(Object.defineProperty({__proto__:null,down:rc,up:tc},Symbol.toStringTag,{value:"Module"}));async function ac(t){await t.schema.alterTable("logs").addColumn("user_name","varchar(255)").execute(),await t.schema.alterTable("logs").addColumn("auth0_client","varchar(255)").execute(),await t.schema.alterTable("logs").addColumn("isMobile","boolean").execute(),await t.schema.alterTable("logs").addColumn("connection","varchar(255)").execute(),await t.schema.alterTable("logs").addColumn("connection_id","varchar(255)").execute(),await t.schema.alterTable("logs").addColumn("audience","varchar(255)").execute(),await t.schema.alterTable("logs").addColumn("scope","varchar(255)").execute(),await t.schema.alterTable("logs").addColumn("strategy","varchar(255)").execute(),await t.schema.alterTable("logs").addColumn("strategy_type","varchar(255)").execute(),await t.schema.alterTable("logs").addColumn("hostname","varchar(255)").execute(),await t.schema.alterTable("logs").addColumn("session_connection","varchar(255)").execute()}async function oc(t){await t.schema.alterTable("logs").dropColumn("user_name").execute(),await t.schema.alterTable("logs").dropColumn("auth0_client").execute(),await t.schema.alterTable("logs").dropColumn("isMobile").execute(),await t.schema.alterTable("logs").dropColumn("connection").execute(),await t.schema.alterTable("logs").dropColumn("connection_id").execute(),await t.schema.alterTable("logs").dropColumn("audience").execute(),await t.schema.alterTable("logs").dropColumn("scope").execute(),await t.schema.alterTable("logs").dropColumn("strategy").execute(),await t.schema.alterTable("logs").dropColumn("strategy_type").execute(),await t.schema.alterTable("logs").dropColumn("hostname").execute(),await t.schema.alterTable("logs").dropColumn("session_connection").execute()}const ic=Object.freeze(Object.defineProperty({__proto__:null,down:oc,up:ac},Symbol.toStringTag,{value:"Module"}));async function sc(t){await t.schema.createIndex("users_name_index").on("users").column("name").execute()}async function uc(t){await t.schema.dropIndex("users_name_index").execute()}const cc=Object.freeze(Object.defineProperty({__proto__:null,down:uc,up:sc},Symbol.toStringTag,{value:"Module"}));async function dc(t){}async function lc(t){await t.schema.alterTable("users").dropConstraint("unique_email_provider").execute()}const _c=Object.freeze(Object.defineProperty({__proto__:null,down:lc,up:dc},Symbol.toStringTag,{value:"Module"}));async function mc(t){await t.schema.alterTable("otps").dropColumn("state").execute(),await t.schema.alterTable("otps").addColumn("state","varchar(8192)").execute()}async function hc(t){await t.schema.alterTable("otps").dropColumn("state").execute(),await t.schema.alterTable("otps").addColumn("state","varchar(1024)").execute()}const fc=Object.freeze(Object.defineProperty({__proto__:null,down:hc,up:mc},Symbol.toStringTag,{value:"Module"}));async function pc(t){await t.schema.alterTable("tickets").dropColumn("state").execute(),await t.schema.alterTable("tickets").addColumn("state","varchar(8192)").execute()}async function gc(t){await t.schema.alterTable("tickets").dropColumn("state").execute(),await t.schema.alterTable("tickets").addColumn("state","varchar(1024)").execute()}const yc=Object.freeze(Object.defineProperty({__proto__:null,down:gc,up:pc},Symbol.toStringTag,{value:"Module"}));async function wc(t){await t.schema.createTable("branding").addColumn("tenant_id","varchar(255)",e=>e.references("tenants.id").onDelete("cascade").notNull().primaryKey()).addColumn("logo_url","varchar(512)").addColumn("favicon_url","varchar(512)").addColumn("font_url","varchar(512)").addColumn("colors_primary","varchar(8)").addColumn("colors_page_background_type","varchar(32)").addColumn("colors_page_background_start","varchar(8)").addColumn("colors_page_background_end","varchar(8)").addColumn("colors_page_background_angle_dev","integer").execute()}async function Nc(t){await t.schema.dropTable("branding").execute()}const vc=Object.freeze(Object.defineProperty({__proto__:null,down:Nc,up:wc},Symbol.toStringTag,{value:"Module"}));async function Cc(t){}async function bc(t){}const Oc=Object.freeze(Object.defineProperty({__proto__:null,down:bc,up:Cc},Symbol.toStringTag,{value:"Module"}));async function Sc(t){}async function xc(t){}const Tc=Object.freeze(Object.defineProperty({__proto__:null,down:xc,up:Sc},Symbol.toStringTag,{value:"Module"}));async function kc(t){}async function Ic(t){}const $c=Object.freeze(Object.defineProperty({__proto__:null,down:Ic,up:kc},Symbol.toStringTag,{value:"Module"}));async function Pc(t){}async function Ac(t){}const Dc=Object.freeze(Object.defineProperty({__proto__:null,down:Ac,up:Pc},Symbol.toStringTag,{value:"Module"}));async function Jc(t){await t.schema.createTable("authentication_codes").addColumn("tenant_id","varchar(255)",e=>e.references("tenants.id").onDelete("cascade").notNull()).addColumn("code","varchar(255)",e=>e.primaryKey()).addColumn("client_id","varchar(255)",e=>e.references("applications.id").onDelete("cascade").notNull()).addColumn("user_id","varchar(255)",e=>e.notNull()).addColumn("nonce","varchar(255)").addColumn("state","varchar(8192)").addColumn("scope","varchar(1024)").addColumn("response_type","varchar(256)").addColumn("response_mode","varchar(256)").addColumn("redirect_uri","varchar(1024)").addColumn("created_at","varchar(255)",e=>e.notNull()).addColumn("expires_at","varchar(255)",e=>e.notNull()).addColumn("used_at","varchar(255)").execute()}async function qc(t){await t.schema.dropTable("authentication_codes").execute()}const jc=Object.freeze(Object.defineProperty({__proto__:null,down:qc,up:Jc},Symbol.toStringTag,{value:"Module"}));async function Fc(t){}async function zc(t){}const Ec=Object.freeze(Object.defineProperty({__proto__:null,down:zc,up:Fc},Symbol.toStringTag,{value:"Module"}));async function Rc(t){await t.schema.alterTable("otps").addColumn("ip","varchar(64)").execute()}async function Wc(t){await t.schema.alterTable("otps").dropColumn("ip").execute()}const Mc=Object.freeze(Object.defineProperty({__proto__:null,down:Wc,up:Rc},Symbol.toStringTag,{value:"Module"}));async function Lc(t){await t.schema.alterTable("logs").dropColumn("user_agent").execute(),await t.schema.alterTable("logs").addColumn("user_agent","varchar(1024)").execute()}async function Bc(t){await t.schema.alterTable("logs").dropColumn("user_agent").execute(),await t.schema.alterTable("logs").addColumn("user_agent","varchar(255)").execute()}const Uc=Object.freeze(Object.defineProperty({__proto__:null,down:Bc,up:Lc},Symbol.toStringTag,{value:"Module"}));async function Kc(t){}async function Qc(t){}const Vc=Object.freeze(Object.defineProperty({__proto__:null,down:Qc,up:Kc},Symbol.toStringTag,{value:"Module"}));async function Gc(t){await t.schema.createTable("hooks").addColumn("hook_id","varchar(255)",e=>e.notNull().primaryKey()).addColumn("tenant_id","varchar(255)",e=>e.references("tenants.id").onDelete("cascade").notNull()).addColumn("url","varchar(512)",e=>e.notNull()).addColumn("trigger_id","varchar(255)",e=>e.notNull()).addColumn("enabled","boolean",e=>e.notNull()).addColumn("created_at","varchar(255)",e=>e.notNull()).addColumn("updated_at","varchar(255)",e=>e.notNull()).addColumn("synchronous","boolean",e=>e.defaultTo(!1).notNull()).addColumn("priority","integer").execute()}async function Hc(t){await t.schema.dropTable("hooks").execute()}const Yc=Object.freeze(Object.defineProperty({__proto__:null,down:Hc,up:Gc},Symbol.toStringTag,{value:"Module"}));async function Xc(t){}async function Zc(t){}const ed=Object.freeze(Object.defineProperty({__proto__:null,down:Zc,up:Xc},Symbol.toStringTag,{value:"Module"}));async function td(t){}async function rd(t){}const nd=Object.freeze(Object.defineProperty({__proto__:null,down:rd,up:td},Symbol.toStringTag,{value:"Module"}));async function ad(t){await t.schema.createTable("logins").addColumn("login_id","varchar(255)",e=>e.primaryKey()).addColumn("tenant_id","varchar(255)",e=>e.references("tenants.id").onDelete("cascade").notNull()).addColumn("authParams_client_id","varchar(255)",e=>e.notNull()).addColumn("authParams_vendor_id","varchar(255)").addColumn("authParams_username","varchar(255)").addColumn("authParams_response_type","varchar(255)").addColumn("authParams_response_mode","varchar(255)").addColumn("authParams_audience","varchar(255)").addColumn("authParams_scope","varchar(511)").addColumn("authParams_state","varchar(511)").addColumn("authParams_code_challenge_method","varchar(256)").addColumn("authParams_code_challenge","varchar(256)").addColumn("authParams_redirect_uri","varchar(256)").addColumn("authParams_organization","varchar(256)").addColumn("authorization_url","varchar(1024)").addColumn("created_at","varchar(255)",e=>e.notNull()).addColumn("updated_at","varchar(255)",e=>e.notNull()).addColumn("expires_at","varchar(255)",e=>e.notNull()).addColumn("ip","varchar(255)").addColumn("useragent","varchar(512)").execute(),await t.schema.alterTable("passwords").addColumn("algorithm","varchar(16)").execute(),await t.schema.dropTable("codes").execute(),await t.schema.createTable("codes").addColumn("code_id","varchar(255)",e=>e.primaryKey()).addColumn("tenant_id","varchar(255)",e=>e.references("tenants.id").onDelete("cascade").notNull()).addColumn("user_id","varchar(255)").addColumn("login_id","varchar(255)").addForeignKeyConstraint("codes_user_id_tenant_id_constraint",["user_id","tenant_id"],"users",["user_id","tenant_id"],e=>e.onDelete("cascade")).addColumn("code_type","varchar(255)",e=>e.notNull()).addColumn("created_at","varchar(255)",e=>e.notNull()).addColumn("expires_at","varchar(255)",e=>e.notNull()).addColumn("used_at","varchar(255)").execute()}async function od(t){await t.schema.dropTable("logins").execute(),await t.schema.alterTable("passwords").dropColumn("algorithm").execute(),await t.schema.dropTable("codes").execute(),await t.schema.createTable("codes").addColumn("id","varchar(255)",e=>e.primaryKey()).addColumn("code","varchar(255)",e=>e.notNull()).addColumn("user_id","varchar(255)").addColumn("tenant_id","varchar(255)").addForeignKeyConstraint("codes_user_id_tenant_id_constraint",["user_id","tenant_id"],"users",["user_id","tenant_id"],e=>e.onDelete("cascade")).addColumn("type","varchar(255)",e=>e.notNull()).addColumn("created_at","varchar(255)",e=>e.notNull()).addColumn("expires_at","varchar(255)",e=>e.notNull()).addColumn("used_at","varchar(255)").execute()}const id=Object.freeze(Object.defineProperty({__proto__:null,down:od,up:ad},Symbol.toStringTag,{value:"Module"}));async function sd(t){}async function ud(t){}const cd=Object.freeze(Object.defineProperty({__proto__:null,down:ud,up:sd},Symbol.toStringTag,{value:"Module"}));async function dd(t){await t.schema.alterTable("logins").addColumn("auth0Client","varchar(256)").execute()}async function ld(t){await t.schema.alterTable("logins").dropColumn("auth0Client").execute()}const _d=Object.freeze(Object.defineProperty({__proto__:null,down:ld,up:dd},Symbol.toStringTag,{value:"Module"}));async function md(t){await t.schema.alterTable("logins").dropColumn("authParams_state").execute(),await t.schema.alterTable("logins").addColumn("authParams_state","varchar(8192)").execute()}async function hd(t){await t.schema.alterTable("logins").dropColumn("authParams_state").execute(),await t.schema.alterTable("logins").addColumn("authParams_state","varchar(511)").execute()}const fd=Object.freeze(Object.defineProperty({__proto__:null,down:hd,up:md},Symbol.toStringTag,{value:"Module"}));async function pd(t){}async function gd(t){}const yd=Object.freeze(Object.defineProperty({__proto__:null,down:gd,up:pd},Symbol.toStringTag,{value:"Module"}));async function wd(t){}async function Nd(t){}const vd=Object.freeze(Object.defineProperty({__proto__:null,down:Nd,up:wd},Symbol.toStringTag,{value:"Module"}));async function Cd(t){await t.schema.alterTable("logins").addColumn("authParams_nonce","varchar(255)").execute()}async function bd(t){await t.schema.alterTable("logins").dropColumn("nonce").execute()}const Od=Object.freeze(Object.defineProperty({__proto__:null,down:bd,up:Cd},Symbol.toStringTag,{value:"Module"}));async function Sd(t){}async function xd(t){}const Td=Object.freeze(Object.defineProperty({__proto__:null,down:xd,up:Sd},Symbol.toStringTag,{value:"Module"}));async function kd(t){}async function Id(t){}const $d=Object.freeze(Object.defineProperty({__proto__:null,down:Id,up:kd},Symbol.toStringTag,{value:"Module"}));async function Pd(t){await t.schema.dropTable("codes").execute(),await t.schema.createTable("codes").addColumn("code_id","varchar(255)",e=>e.notNull()).addColumn("tenant_id","varchar(255)",e=>e.references("tenants.id").onDelete("cascade").notNull()).addColumn("user_id","varchar(255)").addColumn("login_id","varchar(255)").addColumn("connection_id","varchar(255)").addForeignKeyConstraint("codes_user_id_tenant_id_constraint",["user_id","tenant_id"],"users",["user_id","tenant_id"],e=>e.onDelete("cascade")).addColumn("code_type","varchar(255)",e=>e.notNull()).addColumn("created_at","varchar(255)",e=>e.notNull()).addColumn("expires_at","varchar(255)",e=>e.notNull()).addColumn("used_at","varchar(255)").addPrimaryKeyConstraint("PK_codes_code_id_code_type",["code_id","code_type"]).execute()}async function Ad(t){await t.schema.dropTable("codes").execute(),await t.schema.createTable("codes").addColumn("code_id","varchar(255)",e=>e.primaryKey()).addColumn("tenant_id","varchar(255)",e=>e.references("tenants.id").onDelete("cascade").notNull()).addColumn("user_id","varchar(255)").addColumn("connection_id","varchar(255)").addColumn("login_id","varchar(255)").addForeignKeyConstraint("codes_user_id_tenant_id_constraint",["user_id","tenant_id"],"users",["user_id","tenant_id"],e=>e.onDelete("cascade")).addColumn("code_type","varchar(255)",e=>e.notNull()).addColumn("created_at","varchar(255)",e=>e.notNull()).addColumn("expires_at","varchar(255)",e=>e.notNull()).addColumn("used_at","varchar(255)").execute()}const Dd=Object.freeze(Object.defineProperty({__proto__:null,down:Ad,up:Pd},Symbol.toStringTag,{value:"Module"}));async function Jd(t){await t.schema.dropTable("otps").execute(),await t.schema.dropTable("authentication_codes").execute()}async function qd(t){await t.schema.alterTable("keys").addColumn("private_key","varchar(2048)").addColumn("public_key","varchar(2048)").execute(),await t.schema.createTable("otps").addColumn("tenant_id","varchar(255)",e=>e.references("tenants.id").onDelete("cascade").notNull()).addColumn("id","varchar(255)",e=>e.primaryKey()).addColumn("client_id","varchar(255)",e=>e.references("applications.id").onDelete("cascade").notNull()).addColumn("code","varchar(255)",e=>e.notNull()).addColumn("email","varchar(255)",e=>e.notNull()).addColumn("user_id","varchar(255)").addColumn("send","varchar(255)").addColumn("nonce","varchar(255)").addColumn("state","varchar(1024)").addColumn("scope","varchar(1024)").addColumn("response_type","varchar(256)").addColumn("response_mode","varchar(256)").addColumn("redirect_uri","varchar(1024)").addColumn("created_at","varchar(255)",e=>e.notNull()).addColumn("expires_at","varchar(255)",e=>e.notNull()).addColumn("used_at","varchar(255)").execute(),await t.schema.createTable("authentication_codes").addColumn("tenant_id","varchar(255)",e=>e.references("tenants.id").onDelete("cascade").notNull()).addColumn("code","varchar(255)",e=>e.primaryKey()).addColumn("client_id","varchar(255)",e=>e.references("applications.id").onDelete("cascade").notNull()).addColumn("user_id","varchar(255)",e=>e.notNull()).addColumn("nonce","varchar(255)").addColumn("state","varchar(8192)").addColumn("scope","varchar(1024)").addColumn("response_type","varchar(256)").addColumn("response_mode","varchar(256)").addColumn("redirect_uri","varchar(1024)").addColumn("created_at","varchar(255)",e=>e.notNull()).addColumn("expires_at","varchar(255)",e=>e.notNull()).addColumn("used_at","varchar(255)").execute()}const jd=Object.freeze(Object.defineProperty({__proto__:null,down:qd,up:Jd},Symbol.toStringTag,{value:"Module"}));async function Fd(t){await t.schema.createIndex("IDX_logs_tenant_date_type_user").on("logs").columns(["tenant_id","date","type","user_id"]).execute()}async function zd(t){await t.schema.dropIndex("IDX_logs_tenant_date_type_user").on("logs").execute()}const Ed=Object.freeze(Object.defineProperty({__proto__:null,down:zd,up:Fd},Symbol.toStringTag,{value:"Module"}));async function Rd(t){}async function Wd(t){}const Md=Object.freeze(Object.defineProperty({__proto__:null,down:Wd,up:Rd},Symbol.toStringTag,{value:"Module"}));async function Ld(t){await t.schema.createTable("prompt_settings").addColumn("tenant_id","varchar(64)",e=>e.primaryKey()).addColumn("universal_login_experience","varchar(16)",e=>e.defaultTo("new").notNull()).addColumn("identifier_first","boolean",e=>e.defaultTo(!0).notNull()).addColumn("password_first","boolean",e=>e.defaultTo(!1).notNull()).addColumn("webauthn_platform_first_factor","boolean",e=>e.defaultTo(!1).notNull()).execute()}async function Bd(t){await t.schema.dropTable("prompt_settings").execute()}const Ud=Object.freeze(Object.defineProperty({__proto__:null,down:Bd,up:Ld},Symbol.toStringTag,{value:"Module"}));async function Kd(t){}async function Qd(t){}const Vd=Object.freeze(Object.defineProperty({__proto__:null,down:Qd,up:Kd},Symbol.toStringTag,{value:"Module"}));async function Gd(t){}async function Hd(t){}const Yd=Object.freeze(Object.defineProperty({__proto__:null,down:Hd,up:Gd},Symbol.toStringTag,{value:"Module"}));async function Xd(t){}async function Zd(t){}const el=Object.freeze(Object.defineProperty({__proto__:null,down:Zd,up:Xd},Symbol.toStringTag,{value:"Module"}));async function tl(t){await t.schema.alterTable("logins").addColumn("authParams_ui_locales","varchar(32)").execute()}async function rl(t){await t.schema.alterTable("logins").dropColumn("authParams_ui_locales").execute()}const nl=Object.freeze(Object.defineProperty({__proto__:null,down:rl,up:tl},Symbol.toStringTag,{value:"Module"}));async function al(t){await t.schema.alterTable("logins").addColumn("authParams_prompt","varchar(16)").execute()}async function ol(t){await t.schema.alterTable("logins").dropColumn("authParams_prompt").execute()}const il=Object.freeze(Object.defineProperty({__proto__:null,down:ol,up:al},Symbol.toStringTag,{value:"Module"}));async function sl(t){}async function ul(t){}const cl=Object.freeze(Object.defineProperty({__proto__:null,down:ul,up:sl},Symbol.toStringTag,{value:"Module"}));async function dl(t){await t.schema.alterTable("logins").addColumn("authParams_act_as","varchar(255)").execute()}async function ll(t){await t.schema.alterTable("logins").dropColumn("authParam_act_as").execute()}const _l=Object.freeze(Object.defineProperty({__proto__:null,down:ll,up:dl},Symbol.toStringTag,{value:"Module"}));async function ml(t){await t.schema.alterTable("codes").addColumn("code_verifier","varchar(128)").execute()}async function hl(t){await t.schema.alterTable("codes").dropColumn("code_verifier").execute()}const fl=Object.freeze(Object.defineProperty({__proto__:null,down:hl,up:ml},Symbol.toStringTag,{value:"Module"}));async function pl(t){await t.schema.createTable("email_providers").addColumn("tenant_id","varchar(255)",e=>e.primaryKey()).addColumn("name","varchar(255)",e=>e.notNull()).addColumn("enabled","boolean",e=>e.notNull()).addColumn("default_from_address","varchar(255)").addColumn("credentials","varchar(2048)",e=>e.notNull().defaultTo("{}")).addColumn("settings","varchar(2048)",e=>e.notNull().defaultTo("{}")).addColumn("created_at","varchar(29)",e=>e.notNull()).addColumn("updated_at","varchar(29)",e=>e.notNull()).execute()}async function gl(t){await t.schema.dropTable("email_providers").execute()}const yl=Object.freeze(Object.defineProperty({__proto__:null,down:gl,up:pl},Symbol.toStringTag,{value:"Module"}));async function wl(t){await t.schema.dropTable("tickets").execute()}async function Nl(t){await t.schema.createTable("tickets").addColumn("tenant_id","varchar(255)",e=>e.references("tenants.id").onDelete("cascade").notNull()).addColumn("id","varchar(255)",e=>e.primaryKey()).addColumn("client_id","varchar(255)",e=>e.references("applications.id").onDelete("cascade").notNull()).addColumn("email","varchar(255)",e=>e.notNull()).addColumn("nonce","varchar(255)").addColumn("state","varchar(1024)").addColumn("scope","varchar(1024)").addColumn("response_type","varchar(256)").addColumn("response_mode","varchar(256)").addColumn("redirect_uri","varchar(1024)").addColumn("created_at","varchar(255)",e=>e.notNull()).addColumn("expires_at","varchar(255)",e=>e.notNull()).addColumn("used_at","varchar(255)").execute()}const vl=Object.freeze(Object.defineProperty({__proto__:null,down:Nl,up:wl},Symbol.toStringTag,{value:"Module"}));async function Cl(t){}async function bl(t){await t.schema.alterTable("logins").dropColumn("ip").dropColumn("useragent").execute()}const Ol=Object.freeze(Object.defineProperty({__proto__:null,down:bl,up:Cl},Symbol.toStringTag,{value:"Module"}));async function Sl(t){await t.schema.createTable("refresh_tokens").addColumn("id","varchar(21)",e=>e.primaryKey()).addColumn("client_id","varchar(21)",e=>e.references("applications.id").onDelete("cascade").notNull()).addColumn("tenant_id","varchar(255)").addColumn("session_id","varchar(21)",e=>e.notNull()).addColumn("user_id","varchar(255)").addForeignKeyConstraint("user_id_constraint",["user_id","tenant_id"],"users",["user_id","tenant_id"],e=>e.onDelete("cascade")).addColumn("created_at","varchar(35)",e=>e.notNull()).addColumn("expires_at","varchar(35)").addColumn("idle_expires_at","varchar(35)").addColumn("last_exchanged_at","varchar(35)").addColumn("device","varchar(2048)",e=>e.notNull()).addColumn("resource_servers","varchar(2048)",e=>e.notNull()).addColumn("rotating","boolean",e=>e.notNull()).execute()}async function xl(t){await t.schema.dropTable("refresh_tokens").execute()}const Tl=Object.freeze(Object.defineProperty({__proto__:null,down:xl,up:Sl},Symbol.toStringTag,{value:"Module"}));async function kl(t){}async function Il(t){}const $l=Object.freeze(Object.defineProperty({__proto__:null,down:Il,up:kl},Symbol.toStringTag,{value:"Module"}));async function Pl(t){await t.schema.dropTable("sessions").execute(),await t.schema.dropTable("refresh_tokens").execute()}async function Al(t){await t.schema.createTable("sessions").addColumn("id","varchar(21)",e=>e.primaryKey()).addColumn("tenant_id","varchar(255)").addColumn("user_id","varchar(255)").addForeignKeyConstraint("sessions_user_id_constraint",["user_id","tenant_id"],"users",["user_id","tenant_id"],e=>e.onDelete("cascade")).addColumn("created_at","varchar(35)",e=>e.notNull()).addColumn("updated_at","varchar(35)",e=>e.notNull()).addColumn("expires_at","varchar(35)").addColumn("idle_expires_at","varchar(35)").addColumn("authenticated_at","varchar(35)").addColumn("last_interaction_at","varchar(35)").addColumn("used_at","varchar(35)").addColumn("revoked_at","varchar(35)").addColumn("device","varchar(2048)",e=>e.notNull()).addColumn("clients","varchar(1024)",e=>e.notNull()).execute(),await t.schema.createTable("refresh_tokens").addColumn("id","varchar(21)",e=>e.primaryKey()).addColumn("client_id","varchar(21)",e=>e.references("applications.id").onDelete("cascade").notNull()).addColumn("tenant_id","varchar(255)").addColumn("session_id","varchar(21)",e=>e.notNull()).addColumn("user_id","varchar(255)").addForeignKeyConstraint("refresh_tokens_user_id_constraint",["user_id","tenant_id"],"users",["user_id","tenant_id"],e=>e.onDelete("cascade")).addColumn("created_at","varchar(35)",e=>e.notNull()).addColumn("expires_at","varchar(35)").addColumn("idle_expires_at","varchar(35)").addColumn("last_exchanged_at","varchar(35)").addColumn("device","varchar(2048)",e=>e.notNull()).addColumn("resource_servers","varchar(2048)",e=>e.notNull()).addColumn("rotating","boolean",e=>e.notNull()).execute()}const Dl=Object.freeze(Object.defineProperty({__proto__:null,down:Al,up:Pl},Symbol.toStringTag,{value:"Module"}));async function Jl(t){await t.schema.createTable("sessions_2").addColumn("id","varchar(21)",e=>e.primaryKey()).addColumn("tenant_id","varchar(255)").addColumn("user_id","varchar(255)").addForeignKeyConstraint("sessions_2_user_id_constraint",["user_id","tenant_id"],"users",["user_id","tenant_id"],e=>e.onDelete("cascade")).addColumn("created_at","varchar(35)",e=>e.notNull()).addColumn("updated_at","varchar(35)",e=>e.notNull()).addColumn("expires_at","varchar(35)").addColumn("idle_expires_at","varchar(35)").addColumn("authenticated_at","varchar(35)").addColumn("last_interaction_at","varchar(35)").addColumn("used_at","varchar(35)").addColumn("revoked_at","varchar(35)").addColumn("device","varchar(2048)",e=>e.notNull()).addColumn("clients","varchar(1024)",e=>e.notNull()).execute(),await t.schema.createTable("refresh_tokens_2").addColumn("id","varchar(21)",e=>e.primaryKey()).addColumn("client_id","varchar(21)",e=>e.references("applications.id").onDelete("cascade").notNull()).addColumn("tenant_id","varchar(255)").addColumn("session_id","varchar(21)",e=>e.notNull()).addColumn("user_id","varchar(255)").addForeignKeyConstraint("refresh_tokens_2_user_id_constraint",["user_id","tenant_id"],"users",["user_id","tenant_id"],e=>e.onDelete("cascade")).addColumn("created_at","varchar(35)",e=>e.notNull()).addColumn("expires_at","varchar(35)").addColumn("idle_expires_at","varchar(35)").addColumn("last_exchanged_at","varchar(35)").addColumn("device","varchar(2048)",e=>e.notNull()).addColumn("resource_servers","varchar(2048)",e=>e.notNull()).addColumn("rotating","boolean",e=>e.notNull()).execute()}async function ql(t){await t.schema.dropTable("sessions_2").execute(),await t.schema.dropTable("refresh_tokens_2").execute()}const jl=Object.freeze(Object.defineProperty({__proto__:null,down:ql,up:Jl},Symbol.toStringTag,{value:"Module"}));async function Fl(t){await t.schema.createTable("custom_domains").addColumn("custom_domain_id","varchar(21)",e=>e.notNull().primaryKey()).addColumn("tenant_id","varchar(255)",e=>e.references("tenants.id").onDelete("cascade").notNull()).addColumn("domain","varchar(255)",e=>e.notNull()).addColumn("primary","boolean",e=>e.notNull()).addColumn("status","varchar(50)",e=>e.notNull()).addColumn("type","varchar(50)",e=>e.notNull()).addColumn("origin_domain_name","varchar(255)").addColumn("verification","varchar(2048)").addColumn("custom_client_ip_header","varchar(50)").addColumn("tls_policy","varchar(50)").addColumn("domain_metadata","varchar(2048)").addColumn("created_at","varchar(35)",e=>e.notNull()).addColumn("updated_at","varchar(35)",e=>e.notNull()).execute(),await t.schema.dropTable("domains").execute()}async function zl(t){await t.schema.dropTable("custom_domains").execute(),await t.schema.createTable("domains").addColumn("id","varchar(255)",e=>e.notNull().primaryKey()).addColumn("tenant_id","varchar(255)",e=>e.references("tenants.id").onDelete("cascade").notNull()).addColumn("domain","varchar(255)",e=>e.notNull()).addColumn("email_service","varchar(255)").addColumn("email_api_key","varchar(255)").addColumn("dkim_private_key","varchar(2048)").addColumn("dkim_public_key","varchar(2048)").addColumn("created_at","varchar(255)",e=>e.notNull()).addColumn("updated_at","varchar(255)",e=>e.notNull()).execute()}const El=Object.freeze(Object.defineProperty({__proto__:null,down:zl,up:Fl},Symbol.toStringTag,{value:"Module"}));async function Rl(t){}async function Wl(t){await t.schema.alterTable("logins").dropColumn("authParams_organization").dropColumn("authorization_url").execute()}const Ml=Object.freeze(Object.defineProperty({__proto__:null,down:Wl,up:Rl},Symbol.toStringTag,{value:"Module"}));async function Ll(t){await t.schema.alterTable("logins").dropColumn("authorization_url").execute(),await t.schema.alterTable("logins").addColumn("authorization_url","varchar(2048)").execute()}async function Bl(t){await t.schema.alterTable("logins").dropColumn("authorization_url").execute(),await t.schema.alterTable("logins").addColumn("authorization_url","varchar(1024)").execute()}const Ul=Object.freeze(Object.defineProperty({__proto__:null,down:Bl,up:Ll},Symbol.toStringTag,{value:"Module"}));async function Kl(t){}async function Ql(t){}const Vl=Object.freeze(Object.defineProperty({__proto__:null,down:Ql,up:Kl},Symbol.toStringTag,{value:"Module"}));async function Gl(t){await t.schema.createTable("sessions").addColumn("id","varchar(21)",e=>e.primaryKey()).addColumn("tenant_id","varchar(255)").addColumn("user_id","varchar(255)").addForeignKeyConstraint("sessions_user_id_constraint",["user_id","tenant_id"],"users",["user_id","tenant_id"],e=>e.onDelete("cascade")).addColumn("created_at","varchar(35)",e=>e.notNull()).addColumn("updated_at","varchar(35)",e=>e.notNull()).addColumn("expires_at","varchar(35)").addColumn("idle_expires_at","varchar(35)").addColumn("authenticated_at","varchar(35)").addColumn("last_interaction_at","varchar(35)").addColumn("used_at","varchar(35)").addColumn("revoked_at","varchar(35)").addColumn("device","varchar(2048)",e=>e.notNull()).addColumn("clients","varchar(1024)",e=>e.notNull()).execute(),await t.schema.createTable("login_sessions").addColumn("id","varchar(21)",e=>e.primaryKey()).addColumn("tenant_id","varchar(255)",e=>e.references("tenants.id").onDelete("cascade").notNull()).addColumn("session_id","varchar(21)",e=>e.references("sessions.id").onDelete("cascade")).addColumn("csrf_token","varchar(21)",e=>e.notNull()).addColumn("authParams_client_id","varchar(255)",e=>e.notNull()).addColumn("authParams_vendor_id","varchar(255)").addColumn("authParams_username","varchar(255)").addColumn("authParams_response_type","varchar(255)").addColumn("authParams_response_mode","varchar(255)").addColumn("authParams_audience","varchar(255)").addColumn("authParams_scope","varchar(511)").addColumn("authParams_state","varchar(2048)").addColumn("authParams_nonce","varchar(255)").addColumn("authParams_code_challenge_method","varchar(255)").addColumn("authParams_code_challenge","varchar(255)").addColumn("authParams_redirect_uri","varchar(255)").addColumn("authParams_organization","varchar(255)").addColumn("authParams_prompt","varchar(32)").addColumn("authParams_act_as","varchar(256)").addColumn("authParams_ui_locales","varchar(32)").addColumn("authorization_url","varchar(1024)").addColumn("created_at","varchar(35)",e=>e.notNull()).addColumn("updated_at","varchar(35)",e=>e.notNull()).addColumn("expires_at","varchar(35)",e=>e.notNull()).addColumn("ip","varchar(39)").addColumn("useragent","varchar(1024)").addColumn("auth0Client","varchar(255)").execute(),await t.schema.createTable("refresh_tokens").addColumn("id","varchar(21)",e=>e.primaryKey()).addColumn("client_id","varchar(21)",e=>e.references("applications.id").onDelete("cascade").notNull()).addColumn("tenant_id","varchar(255)").addColumn("session_id","varchar(21)",e=>e.notNull()).addColumn("user_id","varchar(255)").addForeignKeyConstraint("refresh_tokens_user_id_constraint",["user_id","tenant_id"],"users",["user_id","tenant_id"],e=>e.onDelete("cascade")).addColumn("created_at","varchar(35)",e=>e.notNull()).addColumn("expires_at","varchar(35)").addColumn("idle_expires_at","varchar(35)").addColumn("last_exchanged_at","varchar(35)").addColumn("device","varchar(2048)",e=>e.notNull()).addColumn("resource_servers","varchar(2048)",e=>e.notNull()).addColumn("rotating","boolean",e=>e.notNull()).execute()}async function Hl(t){await t.schema.dropTable("sessions").execute(),await t.schema.dropTable("login_sessions").execute(),await t.schema.dropTable("refresh_tokens").execute()}const Yl=Object.freeze(Object.defineProperty({__proto__:null,down:Hl,up:Gl},Symbol.toStringTag,{value:"Module"}));async function Xl(t){await t.schema.dropTable("logins").execute(),await t.schema.dropTable("sessions_2").execute(),await t.schema.dropTable("refresh_tokens_2").execute()}async function Zl(t){}const e_=Object.freeze(Object.defineProperty({__proto__:null,down:Zl,up:Xl},Symbol.toStringTag,{value:"Module"}));async function t_(t){await t.schema.dropTable("custom_domains").execute(),await t.schema.createTable("custom_domains").addColumn("custom_domain_id","varchar(256)",e=>e.notNull().primaryKey()).addColumn("tenant_id","varchar(255)",e=>e.references("tenants.id").onDelete("cascade").notNull()).addColumn("domain","varchar(255)",e=>e.notNull()).addColumn("primary","boolean",e=>e.notNull()).addColumn("status","varchar(50)",e=>e.notNull()).addColumn("type","varchar(50)",e=>e.notNull()).addColumn("origin_domain_name","varchar(255)").addColumn("verification","varchar(2048)").addColumn("custom_client_ip_header","varchar(50)").addColumn("tls_policy","varchar(50)").addColumn("domain_metadata","varchar(2048)").addColumn("created_at","varchar(35)",e=>e.notNull()).addColumn("updated_at","varchar(35)",e=>e.notNull()).execute()}async function r_(t){}const n_=Object.freeze(Object.defineProperty({__proto__:null,down:r_,up:t_},Symbol.toStringTag,{value:"Module"}));async function a_(t){}async function o_(t){await t.schema.alterTable("users").dropColumn("phone_number").dropColumn("phone_verified").dropColumn("username").execute()}const i_=Object.freeze(Object.defineProperty({__proto__:null,down:o_,up:a_},Symbol.toStringTag,{value:"Module"}));async function s_(t){await t.schema.createTable("forms").addColumn("id","varchar(255)",e=>e.primaryKey()).addColumn("name","varchar(255)",e=>e.notNull()).addColumn("tenant_id","varchar(255)",e=>e.notNull()).addColumn("messages","varchar(255)").addColumn("languages","varchar(255)").addColumn("translations","varchar(4096)").addColumn("nodes","varchar(4096)").addColumn("start","varchar(255)").addColumn("ending","varchar(255)").addColumn("style","varchar(1042)").addColumn("created_at","varchar(255)",e=>e.notNull()).addColumn("updated_at","varchar(255)",e=>e.notNull()).execute(),await t.schema.createIndex("forms_tenant_id_idx").on("forms").column("tenant_id").execute()}async function u_(t){await t.schema.dropTable("forms").execute()}const c_=Object.freeze(Object.defineProperty({__proto__:null,down:u_,up:s_},Symbol.toStringTag,{value:"Module"}));async function d_(t){await t.schema.alterTable("hooks").addColumn("form_id","text").execute(),await t.schema.alterTable("hooks").addColumn("url_tmp","varchar(512)").execute(),await t.updateTable("hooks").set(e=>({url_tmp:e.ref("url")})).execute(),await t.schema.alterTable("hooks").dropColumn("url").execute(),await t.schema.alterTable("hooks").renameColumn("url_tmp","url").execute()}async function l_(t){await t.schema.dropTable("hooks").ifExists().execute(),await t.schema.createTable("hooks").addColumn("hook_id","text",e=>e.primaryKey()).addColumn("tenant_id","text",e=>e.notNull()).addColumn("trigger_id","text",e=>e.notNull()).addColumn("enabled","integer",e=>e.notNull().defaultTo(0)).addColumn("url","varchar(512)",e=>e.notNull()).addColumn("synchronous","integer",e=>e.notNull().defaultTo(0)).addColumn("priority","integer").addColumn("created_at","text",e=>e.notNull()).addColumn("updated_at","text",e=>e.notNull()).execute()}const __=Object.freeze(Object.defineProperty({__proto__:null,down:l_,up:d_},Symbol.toStringTag,{value:"Module"}));async function m_(t){await t.schema.alterTable("login_sessions").addColumn("login_completed","boolean",e=>e.notNull().defaultTo(0)).execute()}async function h_(t){await t.schema.alterTable("login_sessions").dropColumn("login_completed").execute()}const f_=Object.freeze(Object.defineProperty({__proto__:null,down:h_,up:m_},Symbol.toStringTag,{value:"Module"}));async function p_(t){await t.schema.alterTable("sessions").addColumn("login_session_id","varchar(21)",e=>e.references("login_sessions.id").onDelete("set null")).execute()}async function g_(t){await t.schema.alterTable("sessions").dropColumn("login_session_id").execute()}const y_=Object.freeze(Object.defineProperty({__proto__:null,down:g_,up:p_},Symbol.toStringTag,{value:"Module"}));async function w_(t){await t.schema.createIndex("IDX_sessions_login_session_id").on("sessions").column("login_session_id").execute()}async function N_(t){await t.schema.dropIndex("IDX_sessions_login_session_id").on("sessions").execute()}const v_=Object.freeze(Object.defineProperty({__proto__:null,down:N_,up:w_},Symbol.toStringTag,{value:"Module"}));async function C_(t){await t.schema.alterTable("codes").addColumn("code_challenge","varchar(128)").execute(),await t.schema.alterTable("codes").addColumn("code_challenge_method","varchar(5)").execute()}async function b_(t){await t.schema.alterTable("codes").dropColumn("code_challenge").execute(),await t.schema.alterTable("codes").dropColumn("code_challenge_method").execute()}const O_=Object.freeze(Object.defineProperty({__proto__:null,down:b_,up:C_},Symbol.toStringTag,{value:"Module"}));async function S_(t){await t.schema.alterTable("codes").addColumn("redirect_uri","varchar(1024)").execute()}async function x_(t){await t.schema.alterTable("codes").dropColumn("redirect_uri").execute()}const T_=Object.freeze(Object.defineProperty({__proto__:null,down:x_,up:S_},Symbol.toStringTag,{value:"Module"}));async function k_(t){await t.schema.alterTable("codes").addColumn("nonce","varchar(1024)").execute(),await t.schema.alterTable("codes").addColumn("state","varchar(2048)").execute()}async function I_(t){await t.schema.alterTable("codes").dropColumn("nonce").execute(),await t.schema.alterTable("codes").dropColumn("state").execute()}const $_=Object.freeze(Object.defineProperty({__proto__:null,down:I_,up:k_},Symbol.toStringTag,{value:"Module"}));async function P_(t){await t.schema.createTable("themes").addColumn("tenant_id","varchar(255)",e=>e.references("tenants.id").onDelete("cascade").notNull()).addColumn("themeId","varchar(255)",e=>e.notNull()).addColumn("displayName","varchar(255)",e=>e.notNull()).addColumn("colors_primary_button_label","varchar(24)",e=>e.notNull()).addColumn("colors_primary_button","varchar(24)",e=>e.notNull()).addColumn("colors_secondary_button_border","varchar(24)",e=>e.notNull()).addColumn("colors_secondary_button_label","varchar(24)",e=>e.notNull()).addColumn("colors_base_focus_color","varchar(24)",e=>e.notNull()).addColumn("colors_base_hover_color","varchar(24)",e=>e.notNull()).addColumn("colors_body_text","varchar(24)",e=>e.notNull()).addColumn("colors_captcha_widget_theme","varchar(24)",e=>e.notNull()).addColumn("colors_error","varchar(24)",e=>e.notNull()).addColumn("colors_header","varchar(24)",e=>e.notNull()).addColumn("colors_icons","varchar(24)",e=>e.notNull()).addColumn("colors_input_background","varchar(24)",e=>e.notNull()).addColumn("colors_input_border","varchar(24)",e=>e.notNull()).addColumn("colors_input_filled_text","varchar(24)",e=>e.notNull()).addColumn("colors_input_labels_placeholders","varchar(24)",e=>e.notNull()).addColumn("colors_links_focused_components","varchar(24)",e=>e.notNull()).addColumn("colors_success","varchar(24)",e=>e.notNull()).addColumn("colors_widget_background","varchar(24)",e=>e.notNull()).addColumn("colors_widget_border","varchar(24)",e=>e.notNull()).addColumn("borders_button_border_radius","integer",e=>e.notNull()).addColumn("borders_button_border_weight","integer",e=>e.notNull()).addColumn("borders_buttons_style","varchar(24)",e=>e.notNull()).addColumn("borders_input_border_radius","integer",e=>e.notNull()).addColumn("borders_input_border_weight","integer",e=>e.notNull()).addColumn("borders_inputs_style","varchar(24)",e=>e.notNull()).addColumn("borders_show_widget_shadow","boolean",e=>e.notNull()).addColumn("borders_widget_border_weight","integer",e=>e.notNull()).addColumn("borders_widget_corner_radius","integer",e=>e.notNull()).addColumn("fonts_body_text_bold","integer",e=>e.notNull()).addColumn("fonts_body_text_size","integer",e=>e.notNull()).addColumn("fonts_buttons_text_bold","integer",e=>e.notNull()).addColumn("fonts_buttons_text_size","integer",e=>e.notNull()).addColumn("fonts_font_url","varchar(255)",e=>e.notNull()).addColumn("fonts_input_labels_bold","integer",e=>e.notNull()).addColumn("fonts_input_labels_size","integer",e=>e.notNull()).addColumn("fonts_links_bold","boolean",e=>e.notNull()).addColumn("fonts_links_size","integer",e=>e.notNull()).addColumn("fonts_links_style","varchar(24)",e=>e.notNull()).addColumn("fonts_reference_text_size","integer",e=>e.notNull()).addColumn("fonts_subtitle_bold","boolean",e=>e.notNull()).addColumn("fonts_subtitle_size","integer",e=>e.notNull()).addColumn("fonts_title_bold","boolean",e=>e.notNull()).addColumn("fonts_title_size","integer",e=>e.notNull()).addColumn("page_background_background_color","varchar(24)",e=>e.notNull()).addColumn("page_background_background_image_url","varchar(255)",e=>e.notNull()).addColumn("page_background_page_layout","varchar(24)",e=>e.notNull()).addColumn("widget_header_text_alignment","varchar(24)",e=>e.notNull()).addColumn("widget_logo_height","integer",e=>e.notNull()).addColumn("widget_logo_position","varchar(24)",e=>e.notNull()).addColumn("widget_logo_url","varchar(255)",e=>e.notNull()).addColumn("widget_social_buttons_layout","varchar(24)",e=>e.notNull()).addColumn("created_at","varchar(35)",e=>e.notNull()).addColumn("updated_at","varchar(35)",e=>e.notNull()).addPrimaryKeyConstraint("themes_pkey",["tenant_id","themeId"]).execute(),await t.schema.createIndex("themes_tenant_id_idx").on("themes").column("tenant_id").execute()}async function A_(t){await t.schema.dropTable("themes").execute()}const D_=Object.freeze(Object.defineProperty({__proto__:null,down:A_,up:P_},Symbol.toStringTag,{value:"Module"}));async function J_(t){await t.schema.createTable("resource_servers").addColumn("id","varchar(21)",e=>e.notNull()).addColumn("tenant_id","varchar(191)",e=>e.notNull()).addColumn("identifier","varchar(191)",e=>e.notNull()).addColumn("name","varchar(255)",e=>e.notNull()).addColumn("scopes","varchar(4096)").addColumn("signing_alg","varchar(64)").addColumn("signing_secret","varchar(2048)").addColumn("token_lifetime","integer").addColumn("token_lifetime_for_web","integer").addColumn("skip_consent_for_verifiable_first_party_clients","integer").addColumn("allow_offline_access","integer").addColumn("verification_key","varchar(4096)").addColumn("options","varchar(4096)").addColumn("created_at","varchar(35)",e=>e.notNull()).addColumn("updated_at","varchar(35)",e=>e.notNull()).addPrimaryKeyConstraint("resource_servers_pk",["tenant_id","id"]).execute(),await t.schema.createIndex("resource_servers_tenant_identifier_uq").on("resource_servers").columns(["tenant_id","identifier"]).unique().execute(),await t.schema.createTable("roles").addColumn("id","varchar(21)",e=>e.notNull()).addColumn("tenant_id","varchar(191)",e=>e.notNull()).addColumn("name","varchar(50)",e=>e.notNull()).addColumn("description","varchar(255)").addColumn("created_at","varchar(35)",e=>e.notNull()).addColumn("updated_at","varchar(35)",e=>e.notNull()).addPrimaryKeyConstraint("roles_pk",["tenant_id","id"]).execute(),await t.schema.createIndex("roles_tenant_name_uq").on("roles").columns(["tenant_id","name"]).unique().execute()}async function q_(t){await t.schema.dropTable("roles").execute(),await t.schema.dropTable("resource_servers").execute()}const j_=Object.freeze(Object.defineProperty({__proto__:null,down:q_,up:J_},Symbol.toStringTag,{value:"Module"}));async function F_(t){await t.schema.createTable("role_permissions").addColumn("tenant_id","varchar(191)",e=>e.notNull()).addColumn("role_id","varchar(21)",e=>e.notNull()).addColumn("resource_server_identifier","varchar(191)",e=>e.notNull()).addColumn("permission_name","varchar(191)",e=>e.notNull()).addColumn("created_at","varchar(35)",e=>e.notNull()).addPrimaryKeyConstraint("role_permissions_pk",["tenant_id","role_id","resource_server_identifier","permission_name"]).execute(),await t.schema.createIndex("role_permissions_role_fk").on("role_permissions").columns(["tenant_id","role_id"]).execute(),await t.schema.createIndex("role_permissions_permission_fk").on("role_permissions").columns(["tenant_id","resource_server_identifier","permission_name"]).execute(),await t.schema.createTable("user_permissions").addColumn("tenant_id","varchar(191)",e=>e.notNull()).addColumn("user_id","varchar(191)",e=>e.notNull()).addColumn("resource_server_identifier","varchar(191)",e=>e.notNull()).addColumn("permission_name","varchar(191)",e=>e.notNull()).addColumn("created_at","varchar(35)",e=>e.notNull()).addPrimaryKeyConstraint("user_permissions_pk",["tenant_id","user_id","resource_server_identifier","permission_name"]).execute(),await t.schema.createIndex("user_permissions_user_fk").on("user_permissions").columns(["tenant_id","user_id"]).execute(),await t.schema.createIndex("user_permissions_permission_fk").on("user_permissions").columns(["tenant_id","resource_server_identifier","permission_name"]).execute()}async function z_(t){await t.schema.dropTable("user_permissions").execute(),await t.schema.dropTable("role_permissions").execute()}const E_=Object.freeze(Object.defineProperty({__proto__:null,down:z_,up:F_},Symbol.toStringTag,{value:"Module"}));async function R_(t){await t.schema.createTable("user_roles").addColumn("tenant_id","varchar(191)",e=>e.notNull()).addColumn("user_id","varchar(191)",e=>e.notNull()).addColumn("role_id","varchar(21)",e=>e.notNull()).addColumn("created_at","varchar(35)",e=>e.notNull()).addPrimaryKeyConstraint("user_roles_pk",["tenant_id","user_id","role_id"]).execute(),await t.schema.createIndex("user_roles_user_fk").on("user_roles").columns(["tenant_id","user_id"]).execute(),await t.schema.createIndex("user_roles_role_fk").on("user_roles").columns(["tenant_id","role_id"]).execute()}async function W_(t){await t.schema.dropTable("user_roles").execute()}const M_=Object.freeze(Object.defineProperty({__proto__:null,down:W_,up:R_},Symbol.toStringTag,{value:"Module"}));async function L_(t){}async function B_(t){await t.schema.alterTable("keys").dropColumn("connection").execute(),await t.schema.alterTable("keys").modifyColumn("cert","varchar(2048)").execute(),await t.schema.alterTable("keys").modifyColumn("pkcs7","varchar(2048)").execute(),await t.schema.alterTable("keys").dropColumn("type").execute()}const U_=Object.freeze(Object.defineProperty({__proto__:null,down:B_,up:L_},Symbol.toStringTag,{value:"Module"}));async function K_(t){await t.schema.createTable("organizations").addColumn("id","varchar(21)",e=>e.primaryKey()).addColumn("tenant_id","varchar(191)",e=>e.notNull()).addColumn("name","varchar(256)",e=>e.notNull()).addColumn("display_name","varchar(256)").addColumn("branding","text").addColumn("metadata","text").addColumn("enabled_connections","text").addColumn("token_quota","text").addColumn("created_at","varchar(35)",e=>e.notNull()).addColumn("updated_at","varchar(35)",e=>e.notNull()).execute(),await t.schema.createIndex("idx_organizations_tenant_id").on("organizations").column("tenant_id").execute(),await t.schema.createIndex("idx_organizations_tenant_name_unique").on("organizations").columns(["tenant_id","name"]).unique().execute()}async function Q_(t){await t.schema.dropTable("organizations").execute()}const V_=Object.freeze(Object.defineProperty({__proto__:null,down:Q_,up:K_},Symbol.toStringTag,{value:"Module"}));async function G_(t){await t.schema.createTable("user_organizations").addColumn("id","varchar(21)",e=>e.primaryKey()).addColumn("tenant_id","varchar(191)",e=>e.notNull()).addColumn("user_id","varchar(191)",e=>e.notNull()).addColumn("organization_id","varchar(21)",e=>e.notNull()).addColumn("created_at","varchar(35)",e=>e.notNull()).addColumn("updated_at","varchar(35)",e=>e.notNull()).addUniqueConstraint("user_organizations_unique",["tenant_id","user_id","organization_id"]).execute(),await t.schema.createIndex("idx_user_organizations_tenant_id").on("user_organizations").column("tenant_id").execute(),await t.schema.createIndex("idx_user_organizations_user_id").on("user_organizations").column("user_id").execute(),await t.schema.createIndex("idx_user_organizations_organization_id").on("user_organizations").column("organization_id").execute()}async function H_(t){await t.schema.dropTable("user_organizations").execute()}const Y_=Object.freeze(Object.defineProperty({__proto__:null,down:H_,up:G_},Symbol.toStringTag,{value:"Module"}));async function X_(t){await t.schema.dropTable("user_permissions").execute(),await t.schema.dropTable("user_roles").execute(),await t.schema.createTable("user_permissions").addColumn("tenant_id","varchar(191)",e=>e.notNull()).addColumn("user_id","varchar(191)",e=>e.notNull()).addColumn("resource_server_identifier","varchar(21)",e=>e.notNull()).addColumn("permission_name","varchar(191)",e=>e.notNull()).addColumn("organization_id","varchar(21)",e=>e.notNull().defaultTo("")).addColumn("created_at","varchar(35)",e=>e.notNull()).addPrimaryKeyConstraint("user_permissions_pk",["tenant_id","user_id","resource_server_identifier","permission_name","organization_id"]).execute(),await t.schema.createIndex("user_permissions_user_fk").on("user_permissions").columns(["tenant_id","user_id"]).execute(),await t.schema.createIndex("user_permissions_permission_fk").on("user_permissions").columns(["tenant_id","resource_server_identifier","permission_name"]).execute(),await t.schema.createIndex("user_permissions_organization_fk").on("user_permissions").column("organization_id").execute(),await t.schema.createTable("user_roles").addColumn("tenant_id","varchar(191)",e=>e.notNull()).addColumn("user_id","varchar(191)",e=>e.notNull()).addColumn("role_id","varchar(21)",e=>e.notNull()).addColumn("organization_id","varchar(191)",e=>e.notNull().defaultTo("")).addColumn("created_at","varchar(35)",e=>e.notNull()).addPrimaryKeyConstraint("user_roles_pk",["tenant_id","user_id","role_id","organization_id"]).execute(),await t.schema.createIndex("user_roles_user_fk").on("user_roles").columns(["tenant_id","user_id"]).execute(),await t.schema.createIndex("user_roles_role_fk").on("user_roles").columns(["tenant_id","role_id"]).execute(),await t.schema.createIndex("user_roles_organization_fk").on("user_roles").column("organization_id").execute()}async function Z_(t){await t.schema.dropTable("user_permissions").execute(),await t.schema.dropTable("user_roles").execute(),await t.schema.createTable("user_permissions").addColumn("tenant_id","varchar(191)",e=>e.notNull()).addColumn("user_id","varchar(191)",e=>e.notNull()).addColumn("resource_server_identifier","varchar(191)",e=>e.notNull()).addColumn("permission_name","varchar(191)",e=>e.notNull()).addColumn("created_at","varchar(35)",e=>e.notNull()).addPrimaryKeyConstraint("user_permissions_pk",["tenant_id","user_id","resource_server_identifier","permission_name"]).execute(),await t.schema.createIndex("user_permissions_user_fk").on("user_permissions").columns(["tenant_id","user_id"]).execute(),await t.schema.createIndex("user_permissions_permission_fk").on("user_permissions").columns(["tenant_id","resource_server_identifier","permission_name"]).execute(),await t.schema.createTable("user_roles").addColumn("tenant_id","varchar(191)",e=>e.notNull()).addColumn("user_id","varchar(191)",e=>e.notNull()).addColumn("role_id","varchar(21)",e=>e.notNull()).addColumn("created_at","varchar(35)",e=>e.notNull()).addPrimaryKeyConstraint("user_roles_pk",["tenant_id","user_id","role_id"]).execute(),await t.schema.createIndex("user_roles_user_fk").on("user_roles").columns(["tenant_id","user_id"]).execute(),await t.schema.createIndex("user_roles_role_fk").on("user_roles").columns(["tenant_id","role_id"]).execute()}const em=Object.freeze(Object.defineProperty({__proto__:null,down:Z_,up:X_},Symbol.toStringTag,{value:"Module"}));async function tm(t){await t.schema.createTable("clients").addColumn("client_id","varchar(191)",e=>e.notNull()).addColumn("tenant_id","varchar(191)",e=>e.references("tenants.id").onDelete("cascade").notNull()).addColumn("name","varchar(255)",e=>e.notNull()).addColumn("description","varchar(140)").addColumn("global","integer",e=>e.defaultTo(0).notNull()).addColumn("client_secret","varchar(255)").addColumn("app_type","varchar(64)",e=>e.defaultTo("regular_web")).addColumn("logo_uri","varchar(2083)").addColumn("is_first_party","integer",e=>e.defaultTo(0).notNull()).addColumn("oidc_conformant","integer",e=>e.defaultTo(1).notNull()).addColumn("callbacks","text",e=>e.notNull()).addColumn("allowed_origins","text",e=>e.notNull()).addColumn("web_origins","text",e=>e.notNull()).addColumn("client_aliases","text",e=>e.notNull()).addColumn("allowed_clients","text",e=>e.notNull()).addColumn("allowed_logout_urls","text",e=>e.notNull()).addColumn("session_transfer","text",e=>e.notNull()).addColumn("oidc_logout","text",e=>e.notNull()).addColumn("grant_types","text",e=>e.notNull()).addColumn("jwt_configuration","text",e=>e.notNull()).addColumn("signing_keys","text",e=>e.notNull()).addColumn("encryption_key","text",e=>e.notNull()).addColumn("sso","integer",e=>e.defaultTo(0).notNull()).addColumn("sso_disabled","integer",e=>e.defaultTo(1).notNull()).addColumn("cross_origin_authentication","integer",e=>e.defaultTo(0).notNull()).addColumn("cross_origin_loc","varchar(2083)").addColumn("custom_login_page_on","integer",e=>e.defaultTo(0).notNull()).addColumn("custom_login_page","text").addColumn("custom_login_page_preview","text").addColumn("form_template","text").addColumn("addons","text",e=>e.notNull()).addColumn("token_endpoint_auth_method","varchar(64)",e=>e.defaultTo("client_secret_basic")).addColumn("client_metadata","text",e=>e.notNull()).addColumn("mobile","text",e=>e.notNull()).addColumn("initiate_login_uri","varchar(2083)").addColumn("native_social_login","text",e=>e.notNull()).addColumn("refresh_token","text",e=>e.notNull()).addColumn("default_organization","text",e=>e.notNull()).addColumn("organization_usage","varchar(32)",e=>e.defaultTo("deny")).addColumn("organization_require_behavior","varchar(32)",e=>e.defaultTo("no_prompt")).addColumn("client_authentication_methods","text",e=>e.notNull()).addColumn("require_pushed_authorization_requests","integer",e=>e.defaultTo(0).notNull()).addColumn("require_proof_of_possession","integer",e=>e.defaultTo(0).notNull()).addColumn("signed_request_object","text",e=>e.notNull()).addColumn("compliance_level","varchar(64)").addColumn("par_request_expiry","integer").addColumn("token_quota","text",e=>e.notNull()).addColumn("created_at","varchar(35)",e=>e.notNull()).addColumn("updated_at","varchar(35)",e=>e.notNull()).addPrimaryKeyConstraint("clients_tenant_id_client_id",["tenant_id","client_id"]).execute()}async function rm(t){await t.schema.dropTable("clients").execute()}const nm=Object.freeze(Object.defineProperty({__proto__:null,down:rm,up:tm},Symbol.toStringTag,{value:"Module"}));async function am(t){await D`CREATE TABLE sessions_backup AS SELECT * FROM sessions`.execute(t),await D`CREATE TABLE login_sessions_backup AS SELECT * FROM login_sessions`.execute(t),await D`CREATE TABLE refresh_tokens_backup AS SELECT * FROM refresh_tokens`.execute(t),await D`DROP TABLE sessions`.execute(t),await D`DROP TABLE login_sessions`.execute(t),await D`DROP TABLE refresh_tokens`.execute(t),await t.schema.createTable("refresh_tokens").addColumn("id","varchar(21)",e=>e.notNull()).addColumn("tenant_id","varchar(255)",e=>e.references("tenants.id").onDelete("cascade").notNull()).addColumn("client_id","varchar(191)",e=>e.notNull()).addColumn("session_id","varchar(21)",e=>e.notNull()).addColumn("user_id","varchar(255)").addColumn("resource_servers","text",e=>e.notNull()).addColumn("device","text",e=>e.notNull()).addColumn("rotating","boolean",e=>e.notNull()).addColumn("created_at","varchar(35)",e=>e.notNull()).addColumn("expires_at","varchar(35)").addColumn("idle_expires_at","varchar(35)").addColumn("last_exchanged_at","varchar(35)").addPrimaryKeyConstraint("refresh_tokens_pk",["tenant_id","id"]).addForeignKeyConstraint("refresh_tokens_client_fk",["tenant_id","client_id"],"clients",["tenant_id","client_id"],e=>e.onDelete("cascade")).execute(),await t.schema.createTable("sessions").addColumn("id","varchar(21)",e=>e.notNull()).addColumn("tenant_id","varchar(191)").addColumn("user_id","varchar(255)").addColumn("created_at","varchar(35)",e=>e.notNull()).addColumn("updated_at","varchar(35)",e=>e.notNull()).addColumn("expires_at","varchar(35)").addColumn("idle_expires_at","varchar(35)").addColumn("authenticated_at","varchar(35)").addColumn("last_interaction_at","varchar(35)").addColumn("used_at","varchar(35)").addColumn("revoked_at","varchar(35)").addColumn("device","text",e=>e.notNull()).addColumn("clients","text",e=>e.notNull()).addColumn("login_session_id","varchar(21)").addPrimaryKeyConstraint("sessions_pk",["tenant_id","id"]).addForeignKeyConstraint("sessions_user_fk",["user_id","tenant_id"],"users",["user_id","tenant_id"],e=>e.onDelete("cascade")).execute(),await t.schema.createTable("login_sessions").addColumn("id","varchar(21)",e=>e.notNull()).addColumn("tenant_id","varchar(255)",e=>e.references("tenants.id").onDelete("cascade").notNull()).addColumn("session_id","varchar(21)").addColumn("csrf_token","varchar(21)",e=>e.notNull()).addColumn("authParams_client_id","varchar(191)",e=>e.notNull()).addColumn("authParams_vendor_id","varchar(255)").addColumn("authParams_username","varchar(255)").addColumn("authParams_response_type","varchar(255)").addColumn("authParams_response_mode","varchar(255)").addColumn("authParams_audience","varchar(255)").addColumn("authParams_scope","text").addColumn("authParams_state","text").addColumn("authParams_nonce","varchar(255)").addColumn("authParams_code_challenge_method","varchar(255)").addColumn("authParams_code_challenge","varchar(255)").addColumn("authParams_redirect_uri","text").addColumn("authParams_organization","varchar(255)").addColumn("authParams_prompt","varchar(32)").addColumn("authParams_act_as","varchar(256)").addColumn("authParams_ui_locales","varchar(32)").addColumn("authorization_url","text").addColumn("created_at","varchar(35)",e=>e.notNull()).addColumn("updated_at","varchar(35)",e=>e.notNull()).addColumn("expires_at","varchar(35)",e=>e.notNull()).addColumn("ip","varchar(39)").addColumn("useragent","text").addColumn("auth0Client","varchar(255)").addColumn("login_completed","integer",e=>e.defaultTo(0)).addPrimaryKeyConstraint("login_sessions_pk",["tenant_id","id"]).addForeignKeyConstraint("login_sessions_client_fk",["tenant_id","authParams_client_id"],"clients",["tenant_id","client_id"],e=>e.onDelete("cascade")).addForeignKeyConstraint("login_sessions_session_fk",["tenant_id","session_id"],"sessions",["tenant_id","id"],e=>e.onDelete("cascade")).execute(),await D`INSERT INTO refresh_tokens
|
|
2
|
+
SELECT id, tenant_id, client_id, session_id, user_id, resource_servers, device, rotating,
|
|
3
|
+
created_at, expires_at, idle_expires_at, last_exchanged_at
|
|
4
|
+
FROM refresh_tokens_backup`.execute(t),await D`INSERT INTO sessions
|
|
5
|
+
SELECT id, tenant_id, user_id, created_at, updated_at, expires_at, idle_expires_at,
|
|
6
|
+
authenticated_at, last_interaction_at, used_at, revoked_at, device, clients, login_session_id
|
|
7
|
+
FROM sessions_backup`.execute(t),await D`INSERT INTO login_sessions
|
|
8
|
+
SELECT id, tenant_id, session_id, csrf_token, authParams_client_id, authParams_vendor_id, authParams_username,
|
|
9
|
+
authParams_response_type, authParams_response_mode, authParams_audience, authParams_scope, authParams_state,
|
|
10
|
+
authParams_nonce, authParams_code_challenge_method, authParams_code_challenge, authParams_redirect_uri,
|
|
11
|
+
authParams_organization, authParams_prompt, authParams_act_as, authParams_ui_locales, authorization_url,
|
|
12
|
+
created_at, updated_at, expires_at, ip, useragent, auth0Client, login_completed
|
|
13
|
+
FROM login_sessions_backup`.execute(t),await D`DROP TABLE sessions_backup`.execute(t),await D`DROP TABLE login_sessions_backup`.execute(t),await D`DROP TABLE refresh_tokens_backup`.execute(t)}async function om(t){await t.schema.alterTable("refresh_tokens").dropConstraint("refresh_tokens_client_fk").execute(),await t.schema.alterTable("refresh_tokens").dropColumn("client_id").execute(),await t.schema.alterTable("refresh_tokens").addColumn("client_id","varchar(21)",e=>e.references("applications.id").onDelete("cascade").notNull()).execute(),await t.schema.alterTable("login_sessions").dropConstraint("login_sessions_client_fk").execute()}const im=Object.freeze(Object.defineProperty({__proto__:null,down:om,up:am},Symbol.toStringTag,{value:"Module"})),$n={m1_init:Es,m2_magicLink:Ms,m3_updateAt:Us,m4_logTable:Vs,m5_userProfile:Ys,m6_sessions:eu,m7_passwords:nu,m8_logsTableNewFields:iu,m9_passwordTableNewField:cu,n01_codesTable:_u,n11_universalLoginSession:fu,n12_userFields:yu,n13_userEmailIndex:vu,n14_profileDataField:Ou,n15_userEmailIndex:Tu,n16_userLocale:$u,n17_signingKeys:Du,n18_logsFields:ju,n19_connectionsUserinfo:Eu,n20_missingFields:Mu,n21_sessionDeletedAt:Uu,n22_dropLogsFields:Vu,n23_dropUsersFields:Yu,n24_logsIndexes:ec,n25_logDescMaxLength:nc,n26_logsTableExtraFields:ic,n27_usersTableNameIndex:cc,n28_usersEmailConstrain:_c,n29_increaseOtpStateLength:fc,n30_increaseTicketStateLength:yc,n31_branding:vc,n32_indexesAndNotNull:Oc,n33_vendorIdInUniversalLoginSession:Tc,n34_auth0ClientInUniversalLoginSession:$c,n35_increaseUniversalSessionStateLength:Dc,n36_authenticationCodes:jc,n37_disableSignUps:Ec,n38_otpIpAddress:Mc,n39_increaseUserAgentLength:Uc,n40_userId:Vc,n41_hooks:Yc,n42_userIdIndexes:ed,n43_userIdIndexes:nd,n44_codes:id,n45_hookProperties:cd,n46_loginAuth0Client:_d,n47_loginAuth0Client:fd,n48_saml:yd,n49_removeFields:vd,n50_authParamsNonce:Od,n51_connectionid:Td,n52_cert:$d,n53_codes_primary_key:Dd,n54_cleanup_tables:jd,n55_logs_index:Ed,n56_application_fields:Md,n57_prompt_settings:Ud,n58_connection_client_id:Vd,n59_connection_options:Yd,n60_users_metadata:el,n61_userLocales:nl,n62_prompt:il,n63_connection_cleanup:cl,n64_act_as:_l,n65_code_verifier:fl,n66_email_providers:yl,n67_drop_tickets:vl,n68_login_useragents:Ol,n70_refresh_tokens:Tl,n71_session_new_fields:$l,n72_session_primary_key:Dl,n73_drop_sessions:jl,n74_custom_domains:El,n75_organizations:Ml,n76_authorization_url_length:Ul,n77_drop_sessions:Vl,n78_login_sessions:Yl,n79_drop_sessions_2:e_,n80_recreate_custom_domains:n_,n81_phone:i_,n82_forms:c_,n83_addFormsIdToHooks:__,n84_login_completed:f_,n85_add_login_session_id_to_sessions:y_,n86_index_sessions_login_session_id:v_,n87_code_challenge:O_,n88_add_redirect_uri_to_codes:T_,n89_add_nonce_and_state_to_codes:$_,n90_themes:D_,n91_resource_servers_rules_permissions:j_,n92_role_permissions:E_,n93_add_permissions_to_roles:M_,n94_keys_connection_and_extend_columns:U_,n95_create_organizations_table:V_,n96_create_user_organizations_table:Y_,n97_add_organization_to_user_permissions_and_roles:em,n98_clients:nm,n99_update_client_foreign_keys:im};async function sm(t,e=!1){e&&console.log("migrating...");const r=new In($n),n=new hn({db:t,provider:r}),{error:a,results:o}=await n.migrateToLatest();if(o==null||o.forEach(u=>{u.status==="Success"?e&&console.log(`migration "${u.migrationName}" was executed successfully`):u.status==="Error"&&console.error(`failed to execute migration "${u.migrationName}"`)}),a)throw console.error("failed to migrate"),console.error(a),a}async function um(t){console.log("migrating...");const e=new In($n),r=new hn({db:t,provider:e}),{error:n,results:a}=await r.migrateDown();if(a==null||a.forEach(o=>{o.status==="Success"?console.log(`migration "${o.migrationName}" was reverted successfully`):o.status==="Error"&&console.error(`failed to execute migration "${o.migrationName}"`)}),n)throw console.error("failed to migrate"),console.error(n),n}function cm(t){return{applications:wa(t),branding:Ka(t),cleanup:bo(t),clients:Pa(t),legacyClients:Aa(t),codes:ma(t),connections:Sa(t),emailProviders:po(t),customDomains:La(t),forms:Io(t),hooks:Xa(t),keys:ja(t),loginSessions:uo(t),logs:Yn(t),passwords:sa(t),promptSettings:_o(t),refreshTokens:Co(t),resourceServers:qo(t),rolePermissions:Uo(t),userPermissions:Ho(t),userRoles:ti(t),roles:Wo(t),sessions:na(t),tenants:Kn(t),themes:no(t),users:En(t),organizations:si(t),userOrganizations:hi(t)}}exports.default=cm;exports.migrateDown=um;exports.migrateToLatest=sm;
|