@authhero/kysely-adapter 10.46.0 → 10.48.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- "use strict";var $r=Object.defineProperty;var yn=t=>{throw TypeError(t)};var Dr=(t,e,n)=>e in t?$r(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var ie=(t,e,n)=>Dr(t,typeof e!="symbol"?e+"":e,n),Bt=(t,e,n)=>e.has(t)||yn("Cannot "+n);var i=(t,e,n)=>(Bt(t,e,"read from private field"),n?n.call(t):e.get(t)),C=(t,e,n)=>e.has(t)?yn("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,n),O=(t,e,n,r)=>(Bt(t,e,"write to private field"),r?r.call(t,n):e.set(t,n),n),y=(t,e,n)=>(Bt(t,e,"access private method"),n);Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const L=require("@authhero/adapter-interfaces");require("@hono/zod-openapi");var _t=class extends Error{constructor(e=500,n){super(n==null?void 0:n.message,{cause:n==null?void 0:n.cause});ie(this,"res");ie(this,"status");this.res=n==null?void 0:n.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 Rr(t){return async(e,n)=>{const{identities:r,...a}=n,o={...a,created_at:new Date().toISOString(),updated_at:new Date().toISOString(),login_count:0,tenant_id:e,email_verified:n.email_verified?1:0,is_social:n.is_social?1:0,app_metadata:JSON.stringify(n.app_metadata),user_metadata:JSON.stringify(n.user_metadata)};try{await t.insertInto("users").values(o).execute()}catch(u){throw u.code==="SQLITE_CONSTRAINT_UNIQUE"||u.message.includes("AlreadyExists")?new _t(409,{message:"User already exists"}):new _t(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(n=>n!==null&&typeof n=="object"?S(n):n);const e={...t};for(const n in e){const r=e[n];r===null?delete e[n]:r!==null&&typeof r=="object"&&(Array.isArray(r)?e[n]=r.map(a=>a!==null&&typeof a=="object"?S(a):a):e[n]=S(r))}return e}function Mn(t){let e={};try{e=JSON.parse(t.profileData||"{}")}catch(n){console.error("Error parsing profileData",n)}return{connection:t.connection,provider:t.provider,user_id:L.parseUserId(t.user_id).id,isSocial:!!t.is_social,profileData:{email:t.email,email_verified:!!t.email_verified,...e}}}function zr(t){return async(e,n)=>{const[r,a]=await Promise.all([t.selectFrom("users").where("users.tenant_id","=",e).where("users.user_id","=",n).selectAll().executeTakeFirst(),t.selectFrom("users").where("users.tenant_id","=",e).where("users.linked_to","=",n).selectAll().execute()]);if(!r)return null;const{tenant_id:o,...u}=r,d={...u,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:L.parseUserId(r.user_id).id,isSocial:!!r.is_social},...a.map(Mn)]};return S(d)}}function J(t,e,n,r){const a=[];let o="",u=!1;for(let c=0;c<n.length;c++){const h=n[c];h==='"'?(u=!u,o+=h):h===" "&&!u?o.trim()&&(a.push(o.trim()),o=""):o+=h}return o.trim()&&a.push(o.trim()),a.map(c=>c.replace(/^([^:]+)=/g,"$1:")).map(c=>{let h=c.startsWith("-"),p=null,l="",w=!1,f;if(c.startsWith("-_exists_:"))p=c.substring(10),w=!0,h=!0;else if(c.startsWith("_exists_:"))p=c.substring(9),w=!0,h=!1;else if(c.includes(":")){const v=h?c.substring(1):c,b=v.indexOf(":");p=v.substring(0,b),l=v.substring(b+1),w=!1,l.startsWith(">=")?(f=">=",l=l.substring(2)):l.startsWith(">")?(f=">",l=l.substring(1)):l.startsWith("<=")?(f="<=",l=l.substring(2)):l.startsWith("<")?(f="<",l=l.substring(1)):f="=",l.startsWith('"')&&l.endsWith('"')&&l.length>1&&(l=l.slice(1,-1))}else p=null,l=c,w=!1;return{key:p,value:l,isNegation:h,isExistsQuery:w,operator:f}}).forEach(({key:c,value:h,isNegation:p,isExistsQuery:l,operator:w})=>{if(c)if(l)p?e=e.where(c,"is",null):e=e.where(c,"is not",null);else if(p)switch(w){case">":e=e.where(c,"<=",h);break;case">=":e=e.where(c,"<",h);break;case"<":e=e.where(c,">=",h);break;case"<=":e=e.where(c,">",h);break;default:e=e.where(c,"!=",h)}else e=e.where(c,w,h);else if(h){const{ref:f}=t.dynamic;e=e.where(v=>v.or(r.map(b=>v(f(b),"like",`%${h}%`))))}}),e}function F(t){return typeof t=="string"?parseInt(t,10):typeof t=="bigint"?Number(t):t}function Fr(t){return async(e,n={})=>{const{page:r=0,per_page:a=50,include_totals:o=!1,sort:u,q:d}=n;let c=t.selectFrom("users").where("users.tenant_id","=",e);if(d&&(c=J(t,c,d,["email","name"])),u&&u.sort_by){const{ref:b}=t.dynamic;c=c.orderBy(b(u.sort_by),u.sort_order)}const p=await c.offset(r*a).limit(a).selectAll().execute(),l=p.map(b=>b.user_id),w=l.length?await t.selectFrom("users").selectAll().where("users.tenant_id","=",e).where("users.linked_to","in",l).execute():[],f=p.map(b=>{const E=w.filter(D=>D.linked_to===b.user_id);return S({...b,email_verified:b.email_verified===1,is_social:b.is_social===1,app_metadata:JSON.parse(b.app_metadata),user_metadata:JSON.parse(b.user_metadata),identities:[{connection:b.connection,provider:b.provider,user_id:L.parseUserId(b.user_id).id,isSocial:!!b.is_social},...E.map(Mn)]})});if(!o)return{users:f,start:0,limit:0,length:0};const{count:v}=await c.select(b=>b.fn.countAll().as("count")).executeTakeFirstOrThrow();return{users:f,start:r*a,limit:a,length:F(v)}}}function qr(t){return async(e,n)=>(await t.deleteFrom("users").where("users.tenant_id","=",e).where("users.linked_to","=",n).execute(),(await t.deleteFrom("users").where("users.tenant_id","=",e).where("users.user_id","=",n).execute()).length===1)}function tt(t,e="",n={}){for(let r in t)if(Object.prototype.hasOwnProperty.call(t,r)){const a=e?`${e}_${r}`:r,o=t[r];typeof o=="object"&&o!==null&&!Array.isArray(o)?tt(o,a,n):typeof o=="boolean"?n[a]=o?1:0:n[a]=o}return n}function Wn(t,e){const n={};for(const[r,a]of Object.entries(t)){const o=e.find(u=>r.startsWith(`${u}_`));if(!o)n[r]=a;else{const u=r.slice(o.length+1);n[o]={...n[o],[u]:a}}}return n}function jr(t){return async(e,n,r)=>{const a=tt({...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(a).where("users.tenant_id","=",e).where("users.user_id","=",n).execute()).length===1}}function Lr(t){return async(e,n,r,a)=>{const o={linked_to:null};return(await t.updateTable("users").set(o).where("users.tenant_id","=",e).where("users.user_id","=",`${r}|${a}`).where("users.linked_to","=",`${n}`).execute()).length===1}}function Jr(t){return{create:Rr(t),remove:qr(t),get:zr(t),list:Fr(t),update:jr(t),unlink:Lr(t)}}const Mr="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";let Wr=t=>crypto.getRandomValues(new Uint8Array(t)),Br=(t,e,n)=>{let r=(2<<Math.log2(t.length-1))-1,a=-~(1.6*r*e/t.length);return(o=e)=>{let u="";for(;;){let d=n(a),c=a;for(;c--;)if(u+=t[d[c]&r]||"",u.length===o)return u}}},Kr=(t,e=21)=>Br(t,e,Wr),ae=(t=21)=>{let e="",n=crypto.getRandomValues(new Uint8Array(t));for(;t--;)e+=Mr[n[t]&63];return e};function Ur(t){return async e=>{const n={id:e.id||ae(),created_at:new Date().toISOString(),updated_at:new Date().toISOString(),...e};return await t.insertInto("tenants").values(n).execute(),n}}function Qr(t){return async e=>{const n=await t.selectFrom("tenants").where("tenants.id","=",e).selectAll().executeTakeFirst();return n?S(n):null}}function Vr(t){return async e=>{let n=t.selectFrom("tenants");const{page:r=0,per_page:a=50,include_totals:o=!1,sort:u,q:d}=e;if(u&&u.sort_by){const{ref:f}=t.dynamic;n=n.orderBy(f(u.sort_by),u.sort_order)}d&&(n=n.where(f=>f.or([f("name","like",`%${d}%`)])));const p=(await n.offset(r*a).limit(a).selectAll().execute()).map(S);if(!o)return{tenants:p};const{count:l}=await n.select(f=>f.fn.countAll().as("count")).executeTakeFirstOrThrow(),w=F(l);return{tenants:p,start:r*a,limit:a,length:w}}}function Gr(t){return async(e,n)=>{const r={...n,id:e,updated_at:new Date().toISOString()};await t.updateTable("tenants").set(r).where("id","=",e).execute()}}function Yr(t){return async e=>(await t.deleteFrom("tenants").where("tenants.id","=",e).execute()).length===1}function Hr(t){return{create:Ur(t),get:Qr(t),list:Vr(t),update:Gr(t),remove:Yr(t)}}function wn(t){return t?JSON.stringify(t):void 0}const Xr=1024;function Zr(t){return async(e,n)=>{var a,o,u;const r={id:ae(),...n,user_agent:n.user_agent.slice(0,Xr)};return await t.insertInto("logs").values({...r,description:(a=r.description)==null?void 0:a.substring(0,256),isMobile:n.isMobile?1:0,tenant_id:e,scope:(o=n.scope)==null?void 0:o.join(","),auth0_client:wn(n.auth0_client),details:(u=wn(n.details))==null?void 0:u.substring(0,8192)}).execute(),r}}function Nn(t){if(!t)return"";try{return JSON.parse(t)}catch{return t}}function Bn(t){return{...t,client_id:t.client_id,client_name:"",auth0_client:Nn(t.auth0_client),details:Nn(t.details),isMobile:!!t.isMobile,scope:t.scope?t.scope.split(","):void 0,log_id:t.id,_id:t.id}}function ea(t){return async(e,n={})=>{const{page:r=0,per_page:a=50,include_totals:o=!1,sort:u,q:d}=n;let c=t.selectFrom("logs").where("logs.tenant_id","=",e);d&&(c=J(t,c,d,["user_id","ip"]));let h=c;if(u&&u.sort_by){const{ref:f}=t.dynamic;h=h.orderBy(f(u.sort_by),u.sort_order)}h=h.offset(r*a).limit(a);const l=(await h.selectAll().execute()).map(Bn);if(!o)return{logs:l,start:0,limit:0,length:0};const{count:w}=await c.select(f=>f.fn.countAll().as("count")).executeTakeFirstOrThrow();return{logs:l,start:r*a,limit:a,length:F(w)}}}function ta(t){return async(e,n)=>{const r=await t.selectFrom("logs").where("logs.tenant_id","=",e).where("logs.id","=",n).selectAll().executeTakeFirst();return r?Bn(r):null}}function na(t){return{create:Zr(t),list:ea(t),get:ta(t)}}function ra(t){return async(e,n)=>{const r=await t.selectFrom("sessions").where("sessions.tenant_id","=",e).where("sessions.id","=",n).selectAll().executeTakeFirst();if(!r)return null;const{tenant_id:a,device:o,clients:u,...d}=r;return{...d,device:JSON.parse(o),clients:JSON.parse(u)}}}function aa(t){return async(e,n)=>{const r={...n,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(n.device),clients:JSON.stringify(n.clients)}).execute(),r}}function oa(t){return async(e,n)=>!!(await t.deleteFrom("sessions").where("tenant_id","=",e).where("sessions.id","=",n).execute()).length}function ia(t){return async(e,n,r)=>{const a={...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(a).where("tenant_id","=",e).where("sessions.id","=",n).execute()).length}}function sa(t){return async(e,n={})=>{const{page:r=0,per_page:a=50,include_totals:o=!1,sort:u,q:d}=n;let c=t.selectFrom("sessions").where("sessions.tenant_id","=",e);d&&(c=J(t,c,d,["user_id","session_id"]));let h=c;if(u&&u.sort_by){const{ref:v}=t.dynamic;h=h.orderBy(v(u.sort_by),u.sort_order)}h=h.offset(r*a).limit(a);const l=(await h.selectAll().execute()).map(v=>({...v,device:JSON.parse(v.device),clients:JSON.parse(v.clients)}));if(!o)return{sessions:l,start:0,limit:0,length:0};const{count:w}=await c.select(v=>v.fn.countAll().as("count")).executeTakeFirstOrThrow(),f=F(w);return{sessions:l,start:r*a,limit:a,length:f}}}function ua(t){return{create:aa(t),get:ra(t),list:sa(t),remove:oa(t),update:ia(t)}}function da(t){return async(e,n)=>{const r=await t.selectFrom("passwords").where("passwords.tenant_id","=",e).where("passwords.user_id","=",n).selectAll().executeTakeFirst();if(!r)return null;const{tenant_id:a,...o}=r;return o}}function ca(t){return async(e,n)=>{const r={...n,created_at:new Date().toISOString(),updated_at:new Date().toISOString()};return await t.insertInto("passwords").values({...r,tenant_id:e}).execute(),r}}function la(t){return async(e,n)=>(await t.updateTable("passwords").set({password:n.password,updated_at:new Date().toISOString()}).where("tenant_id","=",e).where("user_id","=",n.user_id).execute()).length===1}function _a(t){return{create:ca(t),update:la(t),get:da(t)}}function ma(t){return async(e,n={})=>{const{page:r=0,per_page:a=50,include_totals:o=!1,q:u}=n;let d=t.selectFrom("codes").where("codes.tenant_id","=",e);u&&(d=J(t,d,u,["code","login_id"]));const p=(await d.offset(r*a).limit(a).selectAll().execute()).map(w=>{const{tenant_id:f,...v}=w;return L.codeSchema.parse(S(v))});if(!o)return{codes:p,start:0,limit:0,length:0};const{count:l}=await d.select(w=>w.fn.countAll().as("count")).executeTakeFirstOrThrow();return{codes:p,start:r*a,limit:a,length:F(l)}}}function ha(t){return async(e,n)=>{const r={...n,created_at:new Date().toISOString()};return await t.insertInto("codes").values({...r,tenant_id:e}).execute(),r}}function fa(t){return async(e,n)=>(await t.deleteFrom("codes").where("codes.tenant_id","=",e).where("codes.code_id","=",n).executeTakeFirst()).numDeletedRows>0}function pa(t){return async(e,n,r)=>{let a=t.selectFrom("codes").where("codes.code_id","=",n).where("codes.code_type","=",r);e.length&&(a=a.where("codes.tenant_id","=",e));const o=await a.selectAll().executeTakeFirst();return o?S(o):null}}function ga(t){return async(e,n)=>(await t.updateTable("codes").set({used_at:new Date().toISOString()}).where("codes.tenant_id","=",e).where("codes.code_id","=",n).executeTakeFirst()).numUpdatedRows>0}function ya(t){return{create:ha(t),list:ma(t),remove:fa(t),used:ga(t),get:pa(t)}}const wa=17,Na={organization:"org_",connection:"con_",action:"act_",hook:"h_",rule:"rul_",resource_server:"api_",guardian_factor:"gfa_"};function Ft(t){const r=Kr("0123456789abcdefghijklmnopqrstuvwxyz",wa)();return`${Na[t]}${r}`}function va(){return Ft("organization")}function Ca(){return Ft("connection")}function ba(){return Ft("hook")}function Oa(){return Ft("resource_server")}function Ta(t){return async(e,n)=>{const r={id:n.id||Ca(),...n,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 Sa(t){return async(e,n={})=>{const{page:r=0,per_page:a=50,include_totals:o=!1,q:u}=n;let d=t.selectFrom("connections").where("connections.tenant_id","=",e);u&&(d=J(t,d,u,["user_id","ip"]));const p=(await d.offset(r*a).limit(a).selectAll().execute()).map(w=>S({...w,options:JSON.parse(w.options)}));if(!o)return{connections:p,start:0,limit:0,length:0};const{count:l}=await d.select(w=>w.fn.countAll().as("count")).executeTakeFirstOrThrow();return{connections:p,start:r*a,limit:a,length:F(l)}}}function xa(t){return async(e,n)=>(await t.deleteFrom("connections").where("connections.tenant_id","=",e).where("connections.id","=",n).executeTakeFirst()).numDeletedRows>0}function ka(t){return async(e,n)=>{const r=await t.selectFrom("connections").where("connections.tenant_id","=",e).where("connections.id","=",n).selectAll().executeTakeFirst();return r?S({...r,options:JSON.parse(r.options)}):null}}function Ea(t){return async(e,n,r)=>{const a={...r,updated_at:new Date().toISOString()};return await t.updateTable("connections").set({...a,options:a.options?JSON.stringify(a.options):void 0}).where("connections.id","=",n).where("connections.tenant_id","=",e).execute(),!0}}function Ia(t){return{create:Ta(t),get:ka(t),list:Sa(t),remove:xa(t),update:Ea(t)}}function Aa(t){return async(e,n)=>{const r={created_at:new Date().toISOString(),updated_at:new Date().toISOString(),...n,global:n.global??!1,is_first_party:n.is_first_party??!1,oidc_conformant:n.oidc_conformant??!0,sso:n.sso??!1,sso_disabled:n.sso_disabled??!0,cross_origin_authentication:n.cross_origin_authentication??!1,custom_login_page_on:n.custom_login_page_on??!1,require_pushed_authorization_requests:n.require_pushed_authorization_requests??!1,require_proof_of_possession:n.require_proof_of_possession??!1};return await t.insertInto("clients").values({...r,tenant_id:e,global:n.global?1:0,is_first_party:n.is_first_party?1:0,oidc_conformant:n.oidc_conformant?1:0,sso:n.sso?1:0,sso_disabled:n.sso_disabled?1:0,cross_origin_authentication:n.cross_origin_authentication?1:0,custom_login_page_on:n.custom_login_page_on?1:0,require_pushed_authorization_requests:n.require_pushed_authorization_requests?1:0,require_proof_of_possession:n.require_proof_of_possession?1:0,callbacks:JSON.stringify(n.callbacks||[]),allowed_origins:JSON.stringify(n.allowed_origins||[]),web_origins:JSON.stringify(n.web_origins||[]),client_aliases:JSON.stringify(n.client_aliases||[]),allowed_clients:JSON.stringify(n.allowed_clients||[]),allowed_logout_urls:JSON.stringify(n.allowed_logout_urls||[]),session_transfer:JSON.stringify(n.session_transfer||{}),oidc_logout:JSON.stringify(n.oidc_logout||{}),grant_types:JSON.stringify(n.grant_types||[]),jwt_configuration:JSON.stringify(n.jwt_configuration||{}),signing_keys:JSON.stringify(n.signing_keys||[]),encryption_key:JSON.stringify(n.encryption_key||{}),addons:JSON.stringify(n.addons||{}),client_metadata:JSON.stringify(n.client_metadata||{}),mobile:JSON.stringify(n.mobile||{}),native_social_login:JSON.stringify(n.native_social_login||{}),refresh_token:JSON.stringify(n.refresh_token||{}),default_organization:JSON.stringify(n.default_organization||{}),client_authentication_methods:JSON.stringify(n.client_authentication_methods||{}),signed_request_object:JSON.stringify(n.signed_request_object||{}),token_quota:JSON.stringify(n.token_quota||{})}).execute(),r}}function Pa(t){return async(e,n)=>{const r=await t.selectFrom("clients").where("clients.tenant_id","=",e).where("clients.client_id","=",n).selectAll().executeTakeFirst();if(!r)return null;const{tenant_id:a,...o}=r;return S({...o,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,callbacks:JSON.parse(r.callbacks),allowed_origins:JSON.parse(r.allowed_origins),web_origins:JSON.parse(r.web_origins),client_aliases:JSON.parse(r.client_aliases),allowed_clients:JSON.parse(r.allowed_clients),allowed_logout_urls:JSON.parse(r.allowed_logout_urls),session_transfer:JSON.parse(r.session_transfer),oidc_logout:JSON.parse(r.oidc_logout),grant_types:JSON.parse(r.grant_types),jwt_configuration:JSON.parse(r.jwt_configuration),signing_keys:JSON.parse(r.signing_keys),encryption_key:JSON.parse(r.encryption_key),addons:JSON.parse(r.addons),client_metadata:JSON.parse(r.client_metadata),mobile:JSON.parse(r.mobile),native_social_login:JSON.parse(r.native_social_login),refresh_token:JSON.parse(r.refresh_token),default_organization:JSON.parse(r.default_organization),client_authentication_methods:JSON.parse(r.client_authentication_methods),signed_request_object:JSON.parse(r.signed_request_object),token_quota:JSON.parse(r.token_quota)})}}function $a(t){return async(e,n)=>{let r=t.selectFrom("clients").where("clients.tenant_id","=",e);return n!=null&&n.per_page&&(r=r.limit(n.per_page)),n!=null&&n.page&&(n!=null&&n.per_page)&&(r=r.offset((n.page-1)*n.per_page)),{clients:(await r.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 Da(t){return async(e,n)=>(await t.deleteFrom("clients").where("clients.tenant_id","=",e).where("clients.client_id","=",n).executeTakeFirst()).numDeletedRows>0}function Ra(t){return async(e,n,r)=>{const a={...r,updated_at:new Date().toISOString()};return r.global!==void 0&&(a.global=r.global?1:0),r.is_first_party!==void 0&&(a.is_first_party=r.is_first_party?1:0),r.oidc_conformant!==void 0&&(a.oidc_conformant=r.oidc_conformant?1:0),r.sso!==void 0&&(a.sso=r.sso?1:0),r.sso_disabled!==void 0&&(a.sso_disabled=r.sso_disabled?1:0),r.cross_origin_authentication!==void 0&&(a.cross_origin_authentication=r.cross_origin_authentication?1:0),r.custom_login_page_on!==void 0&&(a.custom_login_page_on=r.custom_login_page_on?1:0),r.require_pushed_authorization_requests!==void 0&&(a.require_pushed_authorization_requests=r.require_pushed_authorization_requests?1:0),r.require_proof_of_possession!==void 0&&(a.require_proof_of_possession=r.require_proof_of_possession?1:0),r.callbacks!==void 0&&(a.callbacks=JSON.stringify(r.callbacks)),r.allowed_origins!==void 0&&(a.allowed_origins=JSON.stringify(r.allowed_origins)),r.web_origins!==void 0&&(a.web_origins=JSON.stringify(r.web_origins)),r.client_aliases!==void 0&&(a.client_aliases=JSON.stringify(r.client_aliases)),r.allowed_clients!==void 0&&(a.allowed_clients=JSON.stringify(r.allowed_clients)),r.allowed_logout_urls!==void 0&&(a.allowed_logout_urls=JSON.stringify(r.allowed_logout_urls)),r.session_transfer!==void 0&&(a.session_transfer=JSON.stringify(r.session_transfer)),r.oidc_logout!==void 0&&(a.oidc_logout=JSON.stringify(r.oidc_logout)),r.grant_types!==void 0&&(a.grant_types=JSON.stringify(r.grant_types)),r.jwt_configuration!==void 0&&(a.jwt_configuration=JSON.stringify(r.jwt_configuration)),r.signing_keys!==void 0&&(a.signing_keys=JSON.stringify(r.signing_keys)),r.encryption_key!==void 0&&(a.encryption_key=JSON.stringify(r.encryption_key)),r.addons!==void 0&&(a.addons=JSON.stringify(r.addons)),r.client_metadata!==void 0&&(a.client_metadata=JSON.stringify(r.client_metadata)),r.mobile!==void 0&&(a.mobile=JSON.stringify(r.mobile)),r.native_social_login!==void 0&&(a.native_social_login=JSON.stringify(r.native_social_login)),r.refresh_token!==void 0&&(a.refresh_token=JSON.stringify(r.refresh_token)),r.default_organization!==void 0&&(a.default_organization=JSON.stringify(r.default_organization)),r.client_authentication_methods!==void 0&&(a.client_authentication_methods=JSON.stringify(r.client_authentication_methods)),r.signed_request_object!==void 0&&(a.signed_request_object=JSON.stringify(r.signed_request_object)),r.token_quota!==void 0&&(a.token_quota=JSON.stringify(r.token_quota)),(await t.updateTable("clients").set(a).where("clients.tenant_id","=",e).where("clients.client_id","=",n).executeTakeFirst()).numUpdatedRows>0}}function za(t){return{create:Aa(t),get:Pa(t),list:$a(t),remove:Da(t),update:Ra(t)}}function Fa(t){return async(e,n)=>{const r=new Date().toISOString(),a=ae(),{scope:o,authorization_details_types:u,...d}=n,c={id:a,tenant_id:e,...d,scope:o?JSON.stringify(o):"[]",authorization_details_types:u?JSON.stringify(u):"[]",allow_any_organization:d.allow_any_organization!==void 0?d.allow_any_organization?1:0:void 0,is_system:d.is_system!==void 0?d.is_system?1:0:void 0,created_at:r,updated_at:r};return await t.insertInto("client_grants").values(c).execute(),S({id:a,tenant_id:e,...d,scope:o||[],authorization_details_types:u||[],allow_any_organization:d.allow_any_organization??!1,is_system:d.is_system??!1,created_at:r,updated_at:r})}}function qa(t){return async(e,n)=>{const r=await t.selectFrom("client_grants").selectAll().where("client_grants.tenant_id","=",e).where("client_grants.id","=",n).executeTakeFirst();if(!r)return null;const a={id:r.id,client_id:r.client_id,audience:r.audience,scope:r.scope?JSON.parse(r.scope):[],organization_usage:r.organization_usage,allow_any_organization:r.allow_any_organization!==void 0?!!r.allow_any_organization:!1,is_system:r.is_system!==void 0?!!r.is_system:!1,subject_type:r.subject_type,authorization_details_types:r.authorization_details_types?JSON.parse(r.authorization_details_types):[],created_at:r.created_at,updated_at:r.updated_at};return S(a)}}function ja(t){return async(e,n={})=>{const{page:r=0,per_page:a=50,include_totals:o=!1,q:u,sort:d}=n;let c=t.selectFrom("client_grants").where("client_grants.tenant_id","=",e);if(u){const f=u.trim(),v=f.split(/\s+/),b=v.length===1?v[0]:void 0,E=b?b.match(/^(-)?([a-zA-Z_][a-zA-Z0-9_]*):"?([^"]*)"?$/):null,D=E?E[3]:"",oe=/^(>=|>|<=|<)/.test(D||"");if(E&&!oe&&D){const Q=!!E[1],ge=E[2],{ref:vt}=t.dynamic,ye=vt(`client_grants.${ge}`);if(ge==="allow_any_organization"){const rt=D==="true"?1:0;Q?c=c.where(ye,"!=",rt):c=c.where(ye,"=",rt)}else Q?c=c.where(ye,"!=",D):c=c.where(ye,"=",D)}else c=J(t,c,f,[])}let h=c;if(d){const{ref:f}=t.dynamic;h=h.orderBy(f(d.sort_by),d.sort_order)}else h=h.orderBy("client_grants.created_at","desc");h=h.limit(a).offset(r*a);const l=(await h.selectAll().execute()).map(f=>{const v={id:f.id,client_id:f.client_id,audience:f.audience,scope:f.scope?JSON.parse(f.scope):[],organization_usage:f.organization_usage,allow_any_organization:f.allow_any_organization!==void 0?!!f.allow_any_organization:!1,is_system:f.is_system!==void 0?!!f.is_system:!1,subject_type:f.subject_type,authorization_details_types:f.authorization_details_types?JSON.parse(f.authorization_details_types):[],created_at:f.created_at,updated_at:f.updated_at};return S(v)});if(!o)return{client_grants:l,start:0,limit:0,length:0};const{count:w}=await c.select(f=>f.fn.countAll().as("count")).executeTakeFirstOrThrow();return{client_grants:l,start:r*a,limit:a,length:F(w)}}}function La(t){return async(e,n)=>((await t.deleteFrom("client_grants").where("client_grants.tenant_id","=",e).where("client_grants.id","=",n).executeTakeFirst()).numDeletedRows??0n)>0n}function Ja(t){return async(e,n,r)=>{const a=new Date().toISOString(),{scope:o,authorization_details_types:u,...d}=r,c={...d,updated_at:a};return o!==void 0&&(c.scope=JSON.stringify(o)),u!==void 0&&(c.authorization_details_types=JSON.stringify(u)),d.allow_any_organization!==void 0&&(c.allow_any_organization=d.allow_any_organization?1:0),d.is_system!==void 0&&(c.is_system=d.is_system?1:0),((await t.updateTable("client_grants").set(c).where("client_grants.tenant_id","=",e).where("client_grants.id","=",n).executeTakeFirst()).numUpdatedRows??0n)>0n}}function Ma(t){return{create:Fa(t),get:qa(t),list:ja(t),remove:La(t),update:Ja(t)}}function Wa(t){return{get:async e=>{const n=await t.selectFrom("clients").selectAll().where("client_id","=",e).executeTakeFirst();if(!n)return null;const r=await t.selectFrom("tenants").selectAll().where("id","=",n.tenant_id).executeTakeFirst();if(!r)throw new _t(404,{message:"Tenant not found"});const a=await t.selectFrom("connections").where("tenant_id","=",n.tenant_id).selectAll().execute(),o=n.client_metadata?JSON.parse(n.client_metadata):{};return{...n,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,connections:a.map(d=>L.connectionSchema.parse(S({...d,options:d.options?JSON.parse(d.options):{}}))),addons:n.addons?JSON.parse(n.addons):{},callbacks:n.callbacks?JSON.parse(n.callbacks):[],allowed_origins:n.allowed_origins?JSON.parse(n.allowed_origins):[],web_origins:n.web_origins?JSON.parse(n.web_origins):[],client_aliases:n.client_aliases?JSON.parse(n.client_aliases):[],allowed_clients:n.allowed_clients?JSON.parse(n.allowed_clients):[],allowed_logout_urls:n.allowed_logout_urls?JSON.parse(n.allowed_logout_urls):[],session_transfer:n.session_transfer?JSON.parse(n.session_transfer):{},oidc_logout:n.oidc_logout?JSON.parse(n.oidc_logout):{},grant_types:n.grant_types?JSON.parse(n.grant_types):[],jwt_configuration:n.jwt_configuration?JSON.parse(n.jwt_configuration):{},signing_keys:n.signing_keys?JSON.parse(n.signing_keys):[],encryption_key:n.encryption_key?JSON.parse(n.encryption_key):{},client_metadata:o,mobile:n.mobile?JSON.parse(n.mobile):{},native_social_login:n.native_social_login?JSON.parse(n.native_social_login):{},refresh_token:n.refresh_token?JSON.parse(n.refresh_token):{},default_organization:n.default_organization?JSON.parse(n.default_organization):{},client_authentication_methods:n.client_authentication_methods?JSON.parse(n.client_authentication_methods):{},signed_request_object:n.signed_request_object?JSON.parse(n.signed_request_object):{},token_quota:n.token_quota?JSON.parse(n.token_quota):{},tenant:S(r),disable_sign_ups:o.disable_sign_ups==="true",email_validation:o.email_validation||"disabled"}}}}function Ba(t){return async(e={})=>{const{page:n=0,per_page:r=100,include_totals:a=!1,sort:o,q:u}=e;let d=t.selectFrom("keys").where(f=>f.or([f("revoked_at",">",new Date().toISOString()),f("revoked_at","is",null)]));u&&(d=J(t,d,u,["kid","connection","fingerprint","thumbprint","type"]));let c=d.select(f=>f.fn.count("kid").as("count"));const h=n*r;d=d.limit(r).offset(h),o&&(d=d.orderBy(o.sort_by,o.sort_order));const p=await d.selectAll().execute();if(!a)return{signingKeys:p,start:0,limit:0,length:0};const l=await c.executeTakeFirst(),w=F((l==null?void 0:l.count)??0);return{signingKeys:p,start:h,limit:r,length:w}}}function Ka(t){return async e=>{await t.insertInto("keys").values({...e,created_at:new Date().toDateString()}).execute()}}function Ua(t){return async(e,n)=>!!(await t.updateTable("keys").set(n).where("kid","=",e).execute()).length}function Qa(t){return{create:Ka(t),list:Ba(t),update:Ua(t)}}function Va(t){return async(e,n)=>{const r={custom_domain_id:ae(),status:"pending",primary:!1,...n};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 Ga(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 Ya(t){return async(e,n)=>(await t.deleteFrom("custom_domains").where("custom_domains.tenant_id","=",e).where("custom_domains.custom_domain_id","=",n).execute()).length>0}function Ha(t){return async(e,n)=>{const r=await t.selectFrom("custom_domains").where("custom_domains.tenant_id","=",e).where("custom_domains.custom_domain_id","=",n).selectAll().executeTakeFirst();return r?{...r,primary:r.primary===1}:null}}function Xa(t){return async(e,n,r)=>{const a={...r,updated_at:new Date().toISOString(),primary:r.primary?1:0};return(await t.updateTable("custom_domains").set(a).where("custom_domains.tenant_id","=",e).where("custom_domains.custom_domain_id","=",n).execute()).length>0}}function Za(t){return async e=>{const n=await t.selectFrom("custom_domains").where("custom_domains.domain","=",e).selectAll().executeTakeFirst();return n?{...n,primary:n.primary===1}:null}}function eo(t){return{create:Va(t),get:Ha(t),getByDomain:Za(t),list:Ga(t),remove:Ya(t),update:Xa(t)}}function to(t){return async e=>{const[n]=await t.selectFrom("branding").where("branding.tenant_id","=",e).selectAll().execute();if(!n)return null;const{tenant_id:r,colors_primary:a,colors_page_background_type:o,colors_page_background_start:u,colors_page_background_end:d,colors_page_background_angle_dev:c,font_url:h,...p}=n;return S({...p,colors:{primary:a,page_background:{type:o,start:u,end:d,angle_deg:c}},font:h?{url:h}:void 0})}}function no(t){return async(e,n)=>{var u,d,c,h,p,l,w,f,v,b,E,D,oe,Q,ge,vt,ye,rt;const{colors:r,font:a,...o}=n;try{await t.insertInto("branding").values({...o,colors_primary:r==null?void 0:r.primary,colors_page_background_type:(d=(u=n.colors)==null?void 0:u.page_background)==null?void 0:d.type,colors_page_background_start:(h=(c=n.colors)==null?void 0:c.page_background)==null?void 0:h.start,colors_page_background_end:(l=(p=n.colors)==null?void 0:p.page_background)==null?void 0:l.end,colors_page_background_angle_dev:(f=(w=n.colors)==null?void 0:w.page_background)==null?void 0:f.angle_deg,font_url:(v=n.font)==null?void 0:v.url,tenant_id:e}).execute()}catch{await t.updateTable("branding").set({...o,colors_primary:r==null?void 0:r.primary,colors_page_background_type:(E=(b=n.colors)==null?void 0:b.page_background)==null?void 0:E.type,colors_page_background_start:(oe=(D=n.colors)==null?void 0:D.page_background)==null?void 0:oe.start,colors_page_background_end:(ge=(Q=n.colors)==null?void 0:Q.page_background)==null?void 0:ge.end,colors_page_background_angle_dev:(ye=(vt=n.colors)==null?void 0:vt.page_background)==null?void 0:ye.angle_deg,font_url:(rt=n.font)==null?void 0:rt.url}).where("tenant_id","=",e).execute()}}}function ro(t){return{get:to(t),set:no(t)}}function ao(t){return async(e,n={})=>{const{page:r=0,per_page:a=50,include_totals:o=!1,q:u}=n;let d=t.selectFrom("hooks").where("hooks.tenant_id","=",e);u&&(d=J(t,d,u,["url","form_id"]));const p=(await d.offset(r*a).limit(a).selectAll().execute()).map(w=>{const{tenant_id:f,enabled:v,synchronous:b,...E}=w;return S({...E,enabled:!!v,synchronous:!!b})});if(!o)return{hooks:p,start:0,limit:0,length:0};const{count:l}=await d.select(w=>w.fn.countAll().as("count")).executeTakeFirstOrThrow();return{hooks:p,start:r*a,limit:a,length:F(l)}}}function oo(t){return async(e,n)=>{const r=await t.selectFrom("hooks").where("hooks.tenant_id","=",e).where("hooks.hook_id","=",n).selectAll().executeTakeFirst();return r?S({...r,enabled:!!r.enabled,synchronous:!!r.synchronous}):null}}function io(t){return async(e,n)=>(await t.deleteFrom("hooks").where("hooks.tenant_id","=",e).where("hooks.hook_id","=",n).executeTakeFirst()).numDeletedRows>0}function so(t){return async(e,n)=>{const r={hook_id:n.hook_id||ba(),...n,created_at:new Date().toISOString(),updated_at:new Date().toISOString()};return await t.insertInto("hooks").values({...r,tenant_id:e,enabled:n.enabled?1:0,synchronous:n.synchronous?1:0}).execute(),r}}function uo(t){return async(e,n,r)=>{const a={...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(a).where("hooks.hook_id","=",n).where("hooks.tenant_id","=",e).execute(),!0}}function co(t){return{create:so(t),get:oo(t),list:ao(t),update:uo(t),remove:io(t)}}function lo(t){return async(e,n)=>{const r={themeId:ae(),created_at:new Date().toISOString(),updated_at:new Date().toISOString(),...n},a={...r,tenant_id:e};return await t.insertInto("themes").values(tt(a)).execute(),r}}function _o(t){return async(e,n)=>(await t.deleteFrom("themes").where("themes.tenant_id","=",e).where("themes.themeId","=",n).executeTakeFirst()).numDeletedRows>0}function mo(t){return async(e,n)=>{const r=await t.selectFrom("themes").where("themes.tenant_id","=",e).where("themes.themeId","=",n).selectAll().executeTakeFirst();if(!r)return null;const a={...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 S(Wn(a,["widget","colors","borders","fonts","page_background"]))}}function ho(t){return async(e,n,r)=>{const a=tt({...r,updated_at:new Date().toISOString()});return await t.updateTable("themes").set(a).where("themes.themeId","=",n).where("themes.tenant_id","=",e).execute(),!0}}function fo(t){return{create:lo(t),get:mo(t),remove:_o(t),update:ho(t)}}function po(t){return async(e,n)=>{const r=await t.selectFrom("login_sessions").where("login_sessions.id","=",n).selectAll().executeTakeFirst();return r?L.loginSessionSchema.parse(Wn(S({...r,login_completed:!!r.login_completed}),["authParams"])):null}}function go(t){return async(e,n)=>{var a;const r={id:ae(),...n,authorization_url:(a=n.authorization_url)==null?void 0:a.slice(0,1024),created_at:new Date().toISOString(),updated_at:new Date().toISOString(),login_completed:!!n.login_completed};return await t.insertInto("login_sessions").values({...tt(r),tenant_id:e}).execute(),r}}function yo(t){return async(e,n,r)=>(await t.updateTable("login_sessions").set(tt({...r})).where("login_sessions.id","=",n).where("login_sessions.tenant_id","=",e).execute()).length===1}function wo(t){return async(e,n)=>(await t.deleteFrom("login_sessions").where("login_sessions.tenant_id","=",e).where("login_sessions.id","=",n).execute()).length>0}function No(t){return{create:go(t),get:po(t),update:yo(t),remove:wo(t)}}function vo(t){return async e=>{const[n]=await t.selectFrom("prompt_settings").where("prompt_settings.tenant_id","=",e).selectAll().execute();return S({identifier_first:!!(n!=null&&n.identifier_first),password_first:!!(n!=null&&n.password_first),webauthn_platform_first_factor:!!(n!=null&&n.webauthn_platform_first_factor),universal_login_experience:(n==null?void 0:n.universal_login_experience)||"new"})}}function vn(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 Co(t){return async(e,n)=>{try{const r=L.promptSettingSchema.parse(n);await t.insertInto("prompt_settings").values({...vn(r),tenant_id:e}).execute()}catch{await t.updateTable("prompt_settings").set(vn(n)).where("tenant_id","=",e).execute()}}}function bo(t){return{get:vo(t),set:Co(t)}}function Oo(t){return async e=>{const[n]=await t.selectFrom("email_providers").where("email_providers.tenant_id","=",e).selectAll().execute();if(!n)return null;const{tenant_id:r,credentials:a,settings:o,enabled:u,...d}=n;return S({...d,credentials:JSON.parse(a),settings:JSON.parse(o),enabled:!!u})}}function To(t){return async(e,n)=>{const{credentials:r,settings:a,enabled:o,...u}=n;await t.updateTable("email_providers").set({...u,credentials:r?JSON.stringify(r):void 0,settings:a?JSON.stringify(a):void 0,enabled:o!==void 0?o?1:0:void 0}).where("tenant_id","=",e).execute()}}function So(t){return async(e,n)=>{const{credentials:r,settings:a,enabled:o,...u}=n;await t.insertInto("email_providers").values({...u,enabled:o?1:0,credentials:JSON.stringify(r),settings:JSON.stringify(a),tenant_id:e,created_at:new Date().toISOString(),updated_at:new Date().toISOString()}).execute()}}function xo(t){return{get:Oo(t),create:So(t),update:To(t)}}function ko(t){return async(e,n)=>{const r=await t.selectFrom("refresh_tokens").where("refresh_tokens.tenant_id","=",e).where("refresh_tokens.id","=",n).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 Eo(t){return async(e,n)=>{const r={...n,created_at:new Date().toISOString()};return await t.insertInto("refresh_tokens").values({...r,tenant_id:e,rotating:n.rotating?1:0,device:JSON.stringify(n.device),resource_servers:JSON.stringify(n.resource_servers)}).execute(),{...n,...r}}}function Io(t){return async(e,n)=>!!(await t.deleteFrom("refresh_tokens").where("tenant_id","=",e).where("refresh_tokens.id","=",n).execute()).length}function Ao(t){return async(e,n,r)=>{const a={...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(a).where("tenant_id","=",e).where("refresh_tokens.id","=",n).execute()).length}}function Po(t){return async(e,n={})=>{const{page:r=0,per_page:a=50,include_totals:o=!1,sort:u,q:d}=n;let c=t.selectFrom("refresh_tokens").where("refresh_tokens.tenant_id","=",e);d&&(c=J(t,c,d,["token","session_id"]));let h=c;if(u&&u.sort_by){const{ref:v}=t.dynamic;h=h.orderBy(v(u.sort_by),u.sort_order)}h=h.offset(r*a).limit(a);const l=(await h.selectAll().execute()).map(v=>({...v,rotating:!!v.rotating,device:v.device?JSON.parse(v.device):{},resource_servers:v.resource_servers?JSON.parse(v.resource_servers):[]}));if(!o)return{refresh_tokens:l,start:0,limit:0,length:0};const{count:w}=await c.select(v=>v.fn.countAll().as("count")).executeTakeFirstOrThrow(),f=F(w);return{refresh_tokens:l,start:r*a,limit:a,length:f}}}function $o(t){return{create:Eo(t),get:ko(t),list:Po(t),remove:Io(t),update:Ao(t)}}function Do(t){return async()=>{const e=new Date(Date.now()-864e5).toISOString(),n=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","<",n).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","<",n),o("idle_expires_at","<",n)])).limit(1e4).execute(),console.log("delete sessions");const a=await t.selectFrom("sessions").select("id").where(o=>o.or([o("expires_at","<",n),o("idle_expires_at","<",n)])).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 Ro(t){return async(e,n)=>{const r=L.formSchema.parse({id:ae(),...n,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(),L.formSchema.parse(r)}}function zo(t){return async(e,n={})=>{const{page:r=0,per_page:a=50,include_totals:o=!1,q:u}=n;let d=t.selectFrom("forms").where("tenant_id","=",e);u&&(d=J(t,d,u,[]));const p=(await d.offset(r*a).limit(a).selectAll().execute()).map(w=>{const f={...w};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 L.formSchema.parse(S(f))});if(!o)return{forms:p,start:0,limit:0,length:0};const{count:l}=await d.select(w=>w.fn.countAll().as("count")).executeTakeFirstOrThrow();return{forms:p,start:r*a,limit:a,length:F(l)}}}function Fo(t){return async(e,n)=>{const{numDeletedRows:r}=await t.deleteFrom("forms").where("id","=",n).where("tenant_id","=",e).executeTakeFirst();return r>0}}function qo(t){return async(e,n)=>{const r=await t.selectFrom("forms").selectAll().where("forms.id","=",n).where("tenant_id","=",e).executeTakeFirst();if(!r)return null;const a={...r};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 L.formSchema.parse(S(a))}}function jo(t){return async(e,n,r)=>{const a={...r,updated_at:new Date().toISOString()};r.nodes&&(a.nodes=JSON.stringify(r.nodes)),r.start&&(a.start=JSON.stringify(r.start)),r.ending&&(a.ending=JSON.stringify(r.ending));const{numUpdatedRows:o}=await t.updateTable("forms").set(a).where("id","=",n).where("tenant_id","=",e).executeTakeFirst();return o>0}}function Lo(t){return{create:Ro(t),get:qo(t),list:zo(t),remove:Fo(t),update:jo(t)}}function Jo(t){return async(e,n)=>{const r=new Date().toISOString(),a={id:Oa(),...n,created_at:r,updated_at:r},o=L.resourceServerSchema.parse(a),{verificationKey:u,scopes:d,options:c,skip_consent_for_verifiable_first_party_clients:h,allow_offline_access:p,...l}=o,w={...l,tenant_id:e,scopes:d?JSON.stringify(d):"[]",options:c?JSON.stringify(c):"{}",skip_consent_for_verifiable_first_party_clients:h?1:0,allow_offline_access:p?1:0,verification_key:u,created_at:r,updated_at:r};return await t.insertInto("resource_servers").values(w).execute(),S(o)}}function Mo(t){return async(e,n)=>{const r=await t.selectFrom("resource_servers").selectAll().where("tenant_id","=",e).where("id","=",n).executeTakeFirst();if(!r)return null;const a=r,{verification_key:o,scopes:u,options:d,skip_consent_for_verifiable_first_party_clients:c,allow_offline_access:h,...p}=a,l={...p,scopes:u?JSON.parse(u):[],options:d?JSON.parse(d):{},skip_consent_for_verifiable_first_party_clients:!!c,allow_offline_access:!!h,verificationKey:o};return S(l)}}function Wo(t){return async(e,n={})=>{const{page:r=0,per_page:a=50,include_totals:o=!1,q:u}=n;let d=t.selectFrom("resource_servers").where("resource_servers.tenant_id","=",e);if(u){const w=u.trim(),f=w.split(/\s+/),v=f.length===1?f[0]:void 0,b=v?v.match(/^(-)?(name|identifier):(.*)$/):null,E=b?b[3]:"",D=/^(>=|>|<=|<)/.test(E||"");if(b&&!D){const oe=!!b[1],Q=b[2]==="name"?"resource_servers.name":"resource_servers.identifier";d=oe?d.where(Q,"not like",`%${E}%`):d.where(Q,"like",`%${E}%`)}else d=J(t,d,w,["resource_servers.name","resource_servers.identifier"])}const p=(await d.offset(r*a).limit(a).selectAll().execute()).map(w=>{const f=w,{verification_key:v,scopes:b,options:E,skip_consent_for_verifiable_first_party_clients:D,allow_offline_access:oe,...Q}=f,ge={...Q,scopes:b?JSON.parse(b):[],options:E?JSON.parse(E):{},skip_consent_for_verifiable_first_party_clients:!!D,allow_offline_access:!!oe,verificationKey:v};return S(ge)});if(!o)return{resource_servers:p,start:0,limit:0,length:0};const{count:l}=await d.select(w=>w.fn.countAll().as("count")).executeTakeFirstOrThrow();return{resource_servers:p,start:r*a,limit:a,length:F(l)}}}function Bo(t){return async(e,n)=>{const r=await t.deleteFrom("resource_servers").where("tenant_id","=",e).where("id","=",n).executeTakeFirst();return Number(r.numDeletedRows)>0}}function Ko(t){return async(e,n,r)=>{const{verificationKey:a,scopes:o,options:u,skip_consent_for_verifiable_first_party_clients:d,allow_offline_access:c,...h}=r,p={...h,updated_at:new Date().toISOString()};a!==void 0&&(p.verification_key=a),o!==void 0&&(p.scopes=JSON.stringify(o)),u!==void 0&&(p.options=JSON.stringify(u)),d!==void 0&&(p.skip_consent_for_verifiable_first_party_clients=d?1:0),c!==void 0&&(p.allow_offline_access=c?1:0);const l=await t.updateTable("resource_servers").set(p).where("tenant_id","=",e).where("id","=",n).executeTakeFirst();return Number(l.numUpdatedRows)>0}}function Uo(t){return{create:Jo(t),get:Mo(t),list:Wo(t),remove:Bo(t),update:Ko(t)}}function Qo(t){return async(e,n)=>{const r=new Date().toISOString(),a=ae(),o={id:a,...n,tenant_id:e,created_at:r,updated_at:r};return await t.insertInto("roles").values(o).execute(),{id:a,...n,created_at:r,updated_at:r}}}function Vo(t){return async(e,n)=>{const r=await t.selectFrom("roles").selectAll().where("roles.tenant_id","=",e).where("roles.id","=",n).executeTakeFirst();return r?{...r}:null}}function Go(t){return async(e,n)=>{let r=t.selectFrom("roles").where("roles.tenant_id","=",e);const{page:a=0,per_page:o=50,include_totals:u=!1}=n;n.q&&(r=J(t,r,n.q,["name"]));const c=await r.offset(a*o).limit(o).selectAll().execute();if(!u)return{roles:c,start:a*o,limit:o,length:c.length};const{count:h}=await r.select(p=>p.fn.countAll().as("count")).executeTakeFirstOrThrow();return{roles:c,start:a*o,limit:o,length:F(h)}}}function Yo(t){return async(e,n,r)=>{const a={...r,updated_at:new Date().toISOString()},o=await t.updateTable("roles").set(a).where("roles.tenant_id","=",e).where("roles.id","=",n).executeTakeFirst();return Number(o.numUpdatedRows)>0}}function Ho(t){return async(e,n)=>{const r=await t.deleteFrom("roles").where("tenant_id","=",e).where("id","=",n).executeTakeFirst();return Number(r.numDeletedRows)>0}}function Xo(t){return{create:Qo(t),get:Vo(t),list:Go(t),update:Yo(t),remove:Ho(t)}}function Zo(t){return async(e,n,r)=>{if(r.length===0)return!0;const a=new Date().toISOString();try{for(const o of r){if(o.role_id!==n)throw new Error(`Permission role_id ${o.role_id} does not match expected role_id ${n}`);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(d){if(d.code==="SQLITE_CONSTRAINT_PRIMARYKEY"||d.code==="SQLITE_CONSTRAINT_UNIQUE")continue;throw d}}return!0}catch(o){return console.error("Error assigning role permissions:",o),!1}}}function ei(t){return async(e,n,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","=",n).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 ti(t){return async(e,n,r={})=>{const{page:a=0,per_page:o=50,include_totals:u=!1}=r;let d=t.selectFrom("role_permissions").leftJoin("resource_servers",l=>l.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","=",n);const p=(await d.offset(a*o).limit(o).execute()).map(l=>({role_id:l.role_id,resource_server_identifier:l.resource_server_identifier,resource_server_name:l.resource_server_name||l.resource_server_identifier,permission_name:l.permission_name,description:null,created_at:l.created_at}));return u&&await d.select(l=>l.fn.countAll().as("count")).executeTakeFirstOrThrow(),p}}function ni(t){return{assign:Zo(t),remove:ei(t),list:ti(t)}}function ri(t){return async(e,n,r,a)=>{const o=new Date().toISOString();try{const u={tenant_id:e,user_id:n,resource_server_identifier:r.resource_server_identifier,permission_name:r.permission_name,organization_id:a||r.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 ai(t){return async(e,n,r,a)=>{try{let o=t.deleteFrom("user_permissions").where("tenant_id","=",e).where("user_id","=",n).where("resource_server_identifier","=",r.resource_server_identifier).where("permission_name","=",r.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 oi(t){return async(e,n,r,a)=>{let o=t.selectFrom("user_permissions").leftJoin("resource_servers",d=>d.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","=",n);return a!==void 0&&(o=o.where("user_permissions.organization_id","=",a)),(await o.execute()).map(d=>({resource_server_identifier:d.resource_server_identifier,permission_name:d.permission_name,description:null,resource_server_name:d.resource_server_name||d.resource_server_identifier,user_id:d.user_id,created_at:d.created_at,organization_id:d.organization_id===""?void 0:d.organization_id}))}}function ii(t){return{create:ri(t),remove:ai(t),list:oi(t)}}function si(t){const e=ii(t);return{create:(n,r,a,o)=>e.create(n,r,a,o),remove:(n,r,a,o)=>e.remove(n,r,a,o),list:(n,r,a,o)=>e.list(n,r,a,o)}}function ui(t){return async(e,n,r,a)=>{let o=t.selectFrom("user_roles as ur").innerJoin("roles as r",d=>d.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","=",n);return a!==void 0&&(o=o.where("ur.organization_id","=",a)),await o.execute()}}function di(t){return async(e,n,r,a)=>{const o=new Date().toISOString();try{return await t.insertInto("user_roles").values({tenant_id:e,user_id:n,role_id:r,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 ci(t){return async(e,n,r,a)=>{try{let o=t.deleteFrom("user_roles").where("tenant_id","=",e).where("user_id","=",n).where("role_id","=",r);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 li(t){return{list:ui(t),create:di(t),remove:ci(t)}}function _i(t){const e=li(t);return{list:(n,r,a,o)=>e.list(n,r,a,o),create:(n,r,a,o)=>e.create(n,r,a,o),remove:(n,r,a,o)=>e.remove(n,r,a,o)}}function mi(t){return async(e,n)=>{const r={...n,id:n.id||va(),tenant_id:e,created_at:new Date().toISOString(),updated_at:new Date().toISOString(),branding:JSON.stringify(n.branding||{}),metadata:JSON.stringify(n.metadata||{}),enabled_connections:JSON.stringify(n.enabled_connections||[]),token_quota:JSON.stringify(n.token_quota||{})};try{await t.insertInto("organizations").values(r).execute()}catch(a){throw a.code==="SQLITE_CONSTRAINT_UNIQUE"||a.message.includes("AlreadyExists")?new _t(409,{message:"Organization already exists"}):a}return{...n,id:r.id,created_at:r.created_at,updated_at:r.updated_at}}}function hi(t){return async(e,n)=>{const r=await t.selectFrom("organizations").selectAll().where("tenant_id","=",e).where("id","=",n).executeTakeFirst();return r?S({...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 fi(t){return async(e,n)=>{let r=t.selectFrom("organizations").selectAll().where("tenant_id","=",e).orderBy("created_at","desc");if(n!=null&&n.per_page&&(r=r.limit(n.per_page)),n!=null&&n.page){const u=(n.page-1)*(n.per_page||10);r=r.offset(u)}const o=(await r.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:n!=null&&n.page?(n.page-1)*(n.per_page||10):0,limit:(n==null?void 0:n.per_page)||o.length,length:o.length}}}function pi(t){return async(e,n)=>(await t.deleteFrom("organizations").where("tenant_id","=",e).where("id","=",n).execute()).length>0}function gi(t){return async(e,n,r)=>{const{branding:a,metadata:o,enabled_connections:u,token_quota:d,...c}=r,h={...c,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)),d!==void 0&&(h.token_quota=JSON.stringify(d)),(await t.updateTable("organizations").set(h).where("tenant_id","=",e).where("id","=",n).execute()).length>0}}function yi(t){return{create:mi(t),get:hi(t),list:fi(t),remove:pi(t),update:gi(t)}}function wi(t){return async(e,n)=>{const r={id:ae(),tenant_id:e,user_id:n.user_id,organization_id:n.organization_id,created_at:new Date().toISOString(),updated_at:new Date().toISOString()};try{await t.insertInto("user_organizations").values(r).execute()}catch(a){throw a.code==="SQLITE_CONSTRAINT_UNIQUE"||a.code==="ER_DUP_ENTRY"?new _t(409,{message:"User is already a member of this organization"}):a}return{...r}}}function Ni(t){return async(e,n)=>{const r=await t.selectFrom("user_organizations").selectAll().where("id","=",n).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 vi(t){return async(e,n)=>{const r=(n==null?void 0:n.page)||0,a=(n==null?void 0:n.per_page)||50,o=r*a;let u=t.selectFrom("user_organizations").selectAll().where("tenant_id","=",e);if(n!=null&&n.q){if(n.q.startsWith("user_id:")){const l=n.q.replace("user_id:","");u=u.where("user_id","=",l)}else if(n.q.startsWith("organization_id:")){const l=n.q.replace("organization_id:","");u=u.where("organization_id","=",l)}}u=u.orderBy("created_at","desc"),a>0&&(u=u.limit(a).offset(o));const d=await u.execute();let c=t.selectFrom("user_organizations").select(t.fn.count("id").as("count")).where("tenant_id","=",e);if(n!=null&&n.q){if(n.q.startsWith("user_id:")){const l=n.q.replace("user_id:","");c=c.where("user_id","=",l)}else if(n.q.startsWith("organization_id:")){const l=n.q.replace("organization_id:","");c=c.where("organization_id","=",l)}}const h=await c.executeTakeFirst();return{userOrganizations:d.map(l=>({id:l.id,user_id:l.user_id,organization_id:l.organization_id,created_at:l.created_at,updated_at:l.updated_at})),start:o,limit:a,length:Number((h==null?void 0:h.count)||0)}}}function Ci(t){return async(e,n,r)=>{const a=(r==null?void 0:r.page)||0,o=(r==null?void 0:r.per_page)||50,u=a*o;let d=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","=",n);d=d.orderBy("user_organizations.created_at","desc"),o>0&&(d=d.limit(o).offset(u));const c=await d.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","=",n).executeTakeFirst();return{organizations:c.map(l=>({id:l.id,name:l.name,display_name:l.display_name,branding:l.branding?JSON.parse(l.branding):void 0,metadata:l.metadata?JSON.parse(l.metadata):{},enabled_connections:l.enabled_connections?JSON.parse(l.enabled_connections):[],token_quota:l.token_quota?JSON.parse(l.token_quota):void 0,created_at:l.created_at,updated_at:l.updated_at,joined_at:l.joined_at})),start:u,limit:o,length:Number((h==null?void 0:h.count)||0)}}}function bi(t){return async(e,n)=>(await t.deleteFrom("user_organizations").where("id","=",n).where("tenant_id","=",e).execute()).length>0}function Oi(t){return async(e,n,r)=>{const a={...r,updated_at:new Date().toISOString()};return(await t.updateTable("user_organizations").set(a).where("id","=",n).where("tenant_id","=",e).execute()).length>0}}function Ti(t){return{create:wi(t),get:Ni(t),list:vi(t),listUserOrganizations:Ci(t),remove:bi(t),update:Oi(t)}}function Ot(t){return typeof t>"u"||t===void 0}function Y(t){return typeof t=="string"}function ln(t){return typeof t=="number"}function Kn(t){return typeof t=="boolean"}function Un(t){return t===null}function Qn(t){return typeof t=="bigint"}function Ie(t){return typeof t=="function"}function qt(t){return typeof t=="object"&&t!==null}function Si(t){return t[t.length-1]}function s(t){return Object.freeze(t)}function Ct(t){return _e(t)?t:[t]}function _e(t){return Array.isArray(t)}const z=s({is(t){return t.kind==="IdentifierNode"},create(t){return s({kind:"IdentifierNode",name:t})}}),Gt=s({is(t){return t.kind==="SchemableIdentifierNode"},create(t){return s({kind:"SchemableIdentifierNode",identifier:z.create(t)})},createWithSchema(t,e){return s({kind:"SchemableIdentifierNode",schema:z.create(t),identifier:z.create(e)})}}),pe=s({is(t){return t.kind==="AliasNode"},create(t,e){return s({kind:"AliasNode",node:t,alias:e})}}),ke=s({is(t){return t.kind==="TableNode"},create(t){return s({kind:"TableNode",table:Gt.create(t)})},createWithSchema(t,e){return s({kind:"TableNode",table:Gt.createWithSchema(t,e)})}});function M(t){return qt(t)&&Ie(t.toOperationNode)}function xi(t){return qt(t)&&"expressionType"in t&&M(t)}function ki(t){return qt(t)&&"expression"in t&&Y(t.alias)&&M(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})}}),me=s({is(t){return t.kind==="AndNode"},create(t,e){return s({kind:"AndNode",left:t,right:e})}}),nt=s({is(t){return t.kind==="OrNode"},create(t,e){return s({kind:"OrNode",left:t,right:e})}}),Kt=s({is(t){return t.kind==="OnNode"},create(t){return s({kind:"OnNode",on:t})},cloneWithOperation(t,e,n){return s({...t,on:e==="And"?me.create(t.on,n):nt.create(t.on,n)})}}),it=s({is(t){return t.kind==="JoinNode"},create(t,e){return s({kind:"JoinNode",joinType:t,table:e,on:void 0})},createWithOn(t,e,n){return s({kind:"JoinNode",joinType:t,table:e,on:Kt.create(n)})},cloneWithOn(t,e){return s({...t,on:t.on?Kt.cloneWithOperation(t.on,"And",e):Kt.create(e)})}}),Ze=s({is(t){return t.kind==="BinaryOperationNode"},create(t,e,n){return s({kind:"BinaryOperationNode",leftOperand:t,operator:e,rightOperand:n})}}),Ei=["=","==","!=","<>",">",">=","<","<=","in","not in","is","is not","like","not like","match","ilike","not ilike","@>","<@","^@","&&","?","?&","?|","!<","!>","<=>","!~","~","~*","!~*","@@","@@@","!!","<->","regexp","is distinct from","is not distinct from"],Ii=["+","-","*","/","%","^","&","|","#","<<",">>"],Vn=["->","->>"],Ai=[...Ei,...Ii,"&&","||"],Pi=["exists","not exists"],$i=["not","-",...Pi],Di=[...Ai,...Vn,...$i,"between","between symmetric"],Ee=s({is(t){return t.kind==="OperatorNode"},create(t){return s({kind:"OperatorNode",operator:t})}});function Cn(t){return Y(t)&&Vn.includes(t)}const _n=s({is(t){return t.kind==="ColumnNode"},create(t){return s({kind:"ColumnNode",column:z.create(t)})}}),Gn=s({is(t){return t.kind==="SelectAllNode"},create(){return s({kind:"SelectAllNode"})}}),jt=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:Gn.create()})}});function Yn(t){return qt(t)&&M(t)&&Y(t.dynamicReference)}const Yt=s({is(t){return t.kind==="OrderByItemNode"},create(t,e){return s({kind:"OrderByItemNode",orderBy:t,direction:e})}}),R=s({is(t){return t.kind==="RawNode"},create(t,e){return s({kind:"RawNode",sqlFragments:s(t),parameters:s(e)})},createWithSql(t){return R.create([t],[])},createWithChild(t){return R.create(["",""],[t])},createWithChildren(t){return R.create(new Array(t.length+1).fill(""),t)}});function Ri(t){return t==="asc"||t==="desc"}function Hn(t){if(t.length===2)return[Ut(t[0],t[1])];if(t.length===1){const[e]=t;return Array.isArray(e)?e.map(n=>Ut(n)):[Ut(e)]}throw new Error(`Invalid number of arguments at order by! expected 1-2, received ${t.length}`)}function Ut(t,e){const n=zi(t);if(Yt.is(n)){if(e)throw new Error("Cannot specify direction twice!");return n}return Yt.create(n,Xn(e))}function zi(t){if(Wt(t))return Mt(t);if(Yn(t))return t.toOperationNode();const[e,n]=t.split(" ");if(n){if(!Ri(n))throw new Error(`Invalid order by direction: ${n}`);return Yt.create(he(e),Xn(n))}return he(t)}function Xn(t){if(t)return t==="asc"||t==="desc"?R.createWithSql(t):t.toOperationNode()}const Tt=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})}}),Zn=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])})}}),st=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 Fi(t){return Y(t)?he(t):t.toOperationNode()}function mt(t){return _e(t)?t.map(e=>q(e)):[q(t)]}function q(t){return Wt(t)?Mt(t):Fi(t)}function qi(t,e){const n=he(t);if(Cn(e))return Tt.create(n,Zn.create(Ee.create(e)));const r=e.slice(0,-1);if(Cn(r))return Tt.create(n,st.create(Ee.create(r)));throw new Error(`Invalid JSON operator: ${e}`)}function he(t){const e=".";if(!t.includes(e))return jt.create(_n.create(t));const n=t.split(e).map(er);if(n.length===3)return Li(n);if(n.length===2)return Ji(n);throw new Error(`invalid column reference ${t}`)}function ji(t){const e=" as ";if(t.includes(e)){const[n,r]=t.split(e).map(er);return pe.create(he(n),z.create(r))}else return he(t)}function Li(t){const[e,n,r]=t;return jt.create(_n.create(r),ke.createWithSchema(e,n))}function Ji(t){const[e,n]=t;return jt.create(_n.create(n),ke.create(e))}function er(t){return t.trim()}const Mi=s({is(t){return t.kind==="PrimitiveValueListNode"},create(t){return s({kind:"PrimitiveValueListNode",values:s([...t])})}}),Wi=s({is(t){return t.kind==="ValueListNode"},create(t){return s({kind:"ValueListNode",values:s(t)})}}),fe=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 Bi(t){return _e(t)?Ki(t):$(t)}function $(t){return Wt(t)?Mt(t):fe.create(t)}function mn(t){return ln(t)||Kn(t)||Un(t)}function hn(t){if(!mn(t))throw new Error(`unsafe immediate value ${JSON.stringify(t)}`);return fe.createImmediate(t)}function Ki(t){return t.some(Wt)?Wi.create(t.map(e=>$(e))):Mi.create(t)}const ht=s({is(t){return t.kind==="ParensNode"},create(t){return s({kind:"ParensNode",node:t})}});function U(t){if(t.length===3)return fn(t[0],t[1],t[2]);if(t.length===1)return $(t[0]);throw new Error(`invalid arguments: ${JSON.stringify(t)}`)}function fn(t,e,n){return Ui(e)&&tr(n)?Ze.create(q(t),Xt(e),fe.createImmediate(n)):Ze.create(q(t),Xt(e),Bi(n))}function ft(t,e,n){return Ze.create(q(t),Xt(e),q(n))}function bn(t,e){return Ht(Object.entries(t).filter(([,n])=>!Ot(n)).map(([n,r])=>fn(n,tr(r)?"is":"=",r)),e)}function Ht(t,e,n=!0){const r=e==="and"?me.create:nt.create;if(t.length===0)return Ze.create(fe.createImmediate(1),Ee.create("="),fe.createImmediate(e==="and"?1:0));let a=On(t[0]);for(let o=1;o<t.length;++o)a=r(a,On(t[o]));return t.length>1&&n?ht.create(a):a}function Ui(t){return t==="is"||t==="is not"}function tr(t){return Un(t)||Kn(t)}function Xt(t){if(Y(t)&&Di.includes(t))return Ee.create(t);if(M(t))return t.toOperationNode();throw new Error(`invalid operator ${JSON.stringify(t)}`)}function On(t){return M(t)?t.toOperationNode():t}const et=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])})}}),Tn=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])})}}),Zt=s({is(t){return t.kind==="OverNode"},create(){return s({kind:"OverNode"})},cloneWithOrderByItems(t,e){return s({...t,orderBy:t.orderBy?et.cloneWithItems(t.orderBy,e):et.create(e)})},cloneWithPartitionByItems(t,e){return s({...t,partitionBy:t.partitionBy?Tn.cloneWithItems(t.partitionBy,e):Tn.create(e)})}}),St=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])})}}),Sn=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])})}}),xn=s({is(t){return t.kind==="HavingNode"},create(t){return s({kind:"HavingNode",having:t})},cloneWithOperation(t,e,n){return s({...t,having:e==="And"?me.create(t.having,n):nt.create(t.having,n)})}}),T=s({is(t){return t.kind==="SelectQueryNode"},create(t){return s({kind:"SelectQueryNode",...t&&{with:t}})},createFrom(t,e){return s({kind:"SelectQueryNode",from:St.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?et.cloneWithItems(t.orderBy,e):et.create(e)})},cloneWithGroupByItems(t,e){return s({...t,groupBy:t.groupBy?Sn.cloneWithItems(t.groupBy,e):Sn.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?xn.cloneWithOperation(t.having,"And",e):xn.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 Ae(t,e){Object.defineProperties(t.prototype,{then:{enumerable:!1,value:()=>{throw new Error(e)}}})}var B;const ct=class ct{constructor(e){C(this,B);O(this,B,s(e))}on(...e){return new ct({...i(this,B),joinNode:it.cloneWithOn(i(this,B).joinNode,U(e))})}onRef(e,n,r){return new ct({...i(this,B),joinNode:it.cloneWithOn(i(this,B).joinNode,ft(e,n,r))})}onTrue(){return new ct({...i(this,B),joinNode:it.cloneWithOn(i(this,B).joinNode,R.createWithSql("true"))})}$call(e){return e(this)}toOperationNode(){return i(this,B).joinNode}};B=new WeakMap;let xt=ct;Ae(xt,"don't await JoinBuilder instances. They are never executed directly and are always just a part of a query.");const Qi=s({is(t){return t.kind==="PartitionByItemNode"},create(t){return s({kind:"PartitionByItemNode",partitionBy:t})}});function Vi(t){return mt(t).map(Qi.create)}var Ne;const Pt=class Pt{constructor(e){C(this,Ne);O(this,Ne,s(e))}orderBy(e,n){return new Pt({overNode:Zt.cloneWithOrderByItems(i(this,Ne).overNode,Hn([e,n]))})}partitionBy(e){return new Pt({overNode:Zt.cloneWithPartitionByItems(i(this,Ne).overNode,Vi(e))})}$call(e){return e(this)}toOperationNode(){return i(this,Ne).overNode}};Ne=new WeakMap;let kt=Pt;Ae(kt,"don't await OverBuilder instances. They are never executed directly and are always just a part of a query.");const ut=s({is(t){return t.kind==="SelectionNode"},create(t){return s({kind:"SelectionNode",selection:t})},createSelectAll(){return s({kind:"SelectionNode",selection:Gn.create()})},createSelectAllFromTable(t){return s({kind:"SelectionNode",selection:jt.createSelectAll(t)})}});function nr(t){return Ie(t)?nr(t(Jt())):_e(t)?t.map(e=>kn(e)):[kn(t)]}function kn(t){return Y(t)?ut.create(ji(t)):Yn(t)?ut.create(t.toOperationNode()):ut.create(_r(t))}function rr(t){return t?Array.isArray(t)?t.map(En):[En(t)]:[ut.createSelectAll()]}function En(t){if(Y(t))return ut.createSelectAllFromTable(K(t));throw new Error(`invalid value selectAll expression: ${JSON.stringify(t)}`)}const Gi=s({is(t){return t.kind==="InsertQueryNode"},create(t,e,n){return s({kind:"InsertQueryNode",into:t,...e&&{with:e},replace:n})},createWithoutInto(){return s({kind:"InsertQueryNode"})},cloneWith(t,e){return s({...t,...e})}}),Yi=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?St.cloneWithFroms(t.from,e):St.create(e)})},cloneWithUpdates(t,e){return s({...t,updates:t.updates?s([...t.updates,...e]):e})},cloneWithLimit(t,e){return s({...t,limit:e})}}),In=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])})}}),Hi=s({is(t){return t.kind==="DeleteQueryNode"},create(t,e){return s({kind:"DeleteQueryNode",from:St.create(t),...e&&{with:e}})},cloneWithOrderByItems(t,e){return s({...t,orderBy:t.orderBy?et.cloneWithItems(t.orderBy,e):et.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?In.cloneWithTables(t.using,e):In.create(e)})}}),Fe=s({is(t){return t.kind==="WhereNode"},create(t){return s({kind:"WhereNode",where:t})},cloneWithOperation(t,e,n){return s({...t,where:e==="And"?me.create(t.where,n):nt.create(t.where,n)})}}),An=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)})}}),Xi=s({is(t){return t.kind==="ExplainNode"},create(t,e){return s({kind:"ExplainNode",format:t,options:e})}}),Lt=s({is(t){return t.kind==="WhenNode"},create(t){return s({kind:"WhenNode",condition:t})},cloneWithResult(t,e){return s({...t,result:e})}}),Zi=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),Lt.cloneWithResult(t.whens[t.whens.length-1],e)]):void 0})}}),Pn=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)})}}),W=s({is(t){return T.is(t)||Gi.is(t)||Yi.is(t)||Hi.is(t)||Zi.is(t)},cloneWithWhere(t,e){return s({...t,where:t.where?Fe.cloneWithOperation(t.where,"And",e):Fe.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?An.cloneWithSelections(t.returning,e):An.create(e)})},cloneWithoutReturning(t){return s({...t,returning:void 0})},cloneWithoutWhere(t){return s({...t,where:void 0})},cloneWithExplain(t,e,n){return s({...t,explain:Xi.create(e,n==null?void 0:n.toOperationNode())})},cloneWithTop(t,e){return s({...t,top:e})},cloneWithOutput(t,e){return s({...t,output:t.output?Pn.cloneWithSelections(t.output,e):Pn.create(e)})}});class es extends Error{constructor(n){super("no result");ie(this,"node");this.node=n}}function ts(t){return Object.prototype.hasOwnProperty.call(t,"prototype")}const ns=s({is(t){return t.kind==="TopNode"},create(t,e){return s({kind:"TopNode",expression:t,modifiers:e})}});function rs(t,e){if(!ln(t)&&!Qn(t))throw new Error(`Invalid top expression: ${t}`);if(!Ot(e)&&!as(e))throw new Error(`Invalid top modifiers: ${e}`);return ns.create(t,e)}function as(t){return t==="percent"||t==="with ties"||t==="percent with ties"}const os=s({is(t){return t.kind==="LimitNode"},create(t){return s({kind:"LimitNode",limit:t})}}),$n=["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 is(t){let e="";for(let n=0;n<t;++n)e+=ss();return e}function ss(){return $n[~~(Math.random()*$n.length)]}function X(){return new us}var Le;class us{constructor(){C(this,Le)}get queryId(){return i(this,Le)===void 0&&O(this,Le,is(8)),i(this,Le)}}Le=new WeakMap;var $t;class ds{constructor(){ie(this,"nodeStack",[]);C(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 n=this.transformNodeImpl(e);return this.nodeStack.pop(),s(n)}transformNodeImpl(e){return i(this,$t)[e.kind](e)}transformNodeList(e){return e&&s(e.map(n=>this.transformNode(n)))}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 cs=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 Je,ve,Ce,I,ar,or,ir,De,en,sr;class ls extends ds{constructor(n){super();C(this,I);C(this,Je);C(this,ve,new Set);C(this,Ce,new Set);O(this,Je,n)}transformNodeImpl(n){if(!y(this,I,ar).call(this,n))return super.transformNodeImpl(n);const r=y(this,I,ir).call(this,n);for(const u of r)i(this,Ce).add(u);const a=y(this,I,or).call(this,n);for(const u of a)i(this,ve).add(u);const o=super.transformNodeImpl(n);for(const u of a)i(this,ve).delete(u);for(const u of r)i(this,Ce).delete(u);return o}transformSchemableIdentifier(n){const r=super.transformSchemableIdentifier(n);return r.schema||!i(this,ve).has(n.identifier.name)?r:{...r,schema:z.create(i(this,Je))}}transformReferences(n){const r=super.transformReferences(n);return r.table.table.schema?r:{...r,table:ke.createWithSchema(i(this,Je),r.table.table.identifier.name)}}}Je=new WeakMap,ve=new WeakMap,Ce=new WeakMap,I=new WeakSet,ar=function(n){return n.kind in cs},or=function(n){const r=new Set;if("name"in n&&n.name&&Gt.is(n.name)&&y(this,I,en).call(this,n.name,r),"from"in n&&n.from)for(const a of n.from.froms)y(this,I,De).call(this,a,r);if("into"in n&&n.into&&y(this,I,De).call(this,n.into,r),"table"in n&&n.table&&y(this,I,De).call(this,n.table,r),"joins"in n&&n.joins)for(const a of n.joins)y(this,I,De).call(this,a.table,r);return"using"in n&&n.using&&y(this,I,De).call(this,n.using,r),r},ir=function(n){const r=new Set;return"with"in n&&n.with&&y(this,I,sr).call(this,n.with,r),r},De=function(n,r){const a=ke.is(n)?n:pe.is(n)&&ke.is(n.node)?n.node:null;a&&y(this,I,en).call(this,a.table,r)},en=function(n,r){const a=n.identifier.name;!i(this,ve).has(a)&&!i(this,Ce).has(a)&&r.add(a)},sr=function(n,r){for(const a of n.expressions){const o=a.name.table.table.identifier.name;i(this,Ce).has(o)||r.add(o)}};var pt;class ur{constructor(e){C(this,pt);O(this,pt,new ls(e))}transformQuery(e){return i(this,pt).transformNode(e.node)}async transformResult(e){return e.result}}pt=new WeakMap;var gt,Me,We;class Dn{constructor(){C(this,gt);C(this,Me);C(this,We);ie(this,"resolve",e=>{i(this,Me)&&i(this,Me).call(this,e)});ie(this,"reject",e=>{i(this,We)&&i(this,We).call(this,e)});O(this,gt,new Promise((e,n)=>{O(this,We,n),O(this,Me,e)}))}get promise(){return i(this,gt)}}gt=new WeakMap,Me=new WeakMap,We=new WeakMap;const Rn=new Set;function _s(t){Rn.has(t)||(Rn.add(t),console.log(t))}const ms=s([]);var be,yt,tn;class hs{constructor(e=ms){C(this,yt);C(this,be);O(this,be,e)}get plugins(){return i(this,be)}transformQuery(e,n){for(const r of i(this,be)){const a=r.transformQuery({node:e,queryId:n});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,n){return await this.provideConnection(async r=>{const a=await r.executeQuery(e),o=await y(this,yt,tn).call(this,a,n);return fs(a,o),o})}async*stream(e,n,r){const a=new Dn,o=new Dn;this.provideConnection(async d=>(a.resolve(d),await o.promise)).catch(d=>a.reject(d));const u=await a.promise;try{for await(const d of u.streamQuery(e,n))yield await y(this,yt,tn).call(this,d,r)}finally{o.resolve()}}}be=new WeakMap,yt=new WeakSet,tn=async function(e,n){for(const r of i(this,be))e=await r.transformResult({result:e,queryId:n});return e};function fs(t,e){const{numAffectedRows:n}=t;n===void 0&&t.numUpdatedOrDeletedRows===void 0||n!==void 0&&e.numAffectedRows!==void 0||_s("kysely:warning: outdated driver/plugin detected! QueryResult.numUpdatedOrDeletedRows is deprecated and will be removed in a future release.")}class qe extends hs{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 qe([...this.plugins,e])}withPlugins(e){return new qe([...this.plugins,...e])}withPluginAtFront(e){return new qe([e,...this.plugins])}withoutPlugins(){return new qe([])}}const dr=new qe;function ps(t,e){return new xt({joinNode:it.create(t,It(e))})}function gs(){return new kt({overNode:Zt.create()})}function Pe(t,e){if(e.length===3)return ws(t,e[0],e[1],e[2]);if(e.length===2)return ys(t,e[0],e[1]);throw new Error("not implemented")}function ys(t,e,n){return n(ps(t,e)).toOperationNode()}function ws(t,e,n,r){return it.createWithOn(t,It(e),ft(n,"=",r))}const Ns=s({is(t){return t.kind==="OffsetNode"},create(t){return s({kind:"OffsetNode",offset:t})}}),vs=s({is(t){return t.kind==="GroupByItemNode"},create(t){return s({kind:"GroupByItemNode",groupBy:t})}});function Cs(t){return t=Ie(t)?t(Jt()):t,mt(t).map(vs.create)}const bs=s({is(t){return t.kind==="SetOperationNode"},create(t,e,n){return s({kind:"SetOperationNode",operator:t,expression:e,all:n})}});function $e(t,e,n){return Ie(e)&&(e=e(gn())),_e(e)||(e=[e]),e.map(r=>bs.create(t,Mt(r),n))}var ne;const Dt=class Dt{constructor(e){C(this,ne);O(this,ne,e)}get expressionType(){}as(e){return new pn(this,e)}or(...e){return new nn(nt.create(i(this,ne),U(e)))}and(...e){return new rn(me.create(i(this,ne),U(e)))}$castTo(){return new Dt(i(this,ne))}$notNull(){return new Dt(i(this,ne))}toOperationNode(){return i(this,ne)}};ne=new WeakMap;let x=Dt;var Be,de;class pn{constructor(e,n){C(this,Be);C(this,de);O(this,Be,e),O(this,de,n)}get expression(){return i(this,Be)}get alias(){return i(this,de)}toOperationNode(){return pe.create(i(this,Be).toOperationNode(),M(i(this,de))?i(this,de).toOperationNode():z.create(i(this,de)))}}Be=new WeakMap,de=new WeakMap;var Oe;const Rt=class Rt{constructor(e){C(this,Oe);O(this,Oe,e)}get expressionType(){}as(e){return new pn(this,e)}or(...e){return new Rt(nt.create(i(this,Oe),U(e)))}$castTo(){return new Rt(i(this,Oe))}toOperationNode(){return ht.create(i(this,Oe))}};Oe=new WeakMap;let nn=Rt;var Te;const zt=class zt{constructor(e){C(this,Te);O(this,Te,e)}get expressionType(){}as(e){return new pn(this,e)}and(...e){return new zt(me.create(i(this,Te),U(e)))}$castTo(){return new zt(i(this,Te))}toOperationNode(){return ht.create(i(this,Te))}};Te=new WeakMap;let rn=zt;const Os={is(t){return t.kind==="FetchNode"},create(t,e){return{kind:"FetchNode",rowCount:fe.create(t),modifier:e}}};function Ts(t,e){if(!ln(t)&&!Qn(t))throw new Error(`Invalid fetch row count: ${t}`);if(!Ss(e))throw new Error(`Invalid fetch modifier: ${e}`);return Os.create(t,e)}function Ss(t){return t==="only"||t==="with ties"}var _;const N=class N{constructor(e){C(this,_);O(this,_,s(e))}get expressionType(){}get isSelectQueryBuilder(){return!0}where(...e){return new N({...i(this,_),queryNode:W.cloneWithWhere(i(this,_).queryNode,U(e))})}whereRef(e,n,r){return new N({...i(this,_),queryNode:W.cloneWithWhere(i(this,_).queryNode,ft(e,n,r))})}having(...e){return new N({...i(this,_),queryNode:T.cloneWithHaving(i(this,_).queryNode,U(e))})}havingRef(e,n,r){return new N({...i(this,_),queryNode:T.cloneWithHaving(i(this,_).queryNode,ft(e,n,r))})}select(e){return new N({...i(this,_),queryNode:T.cloneWithSelections(i(this,_).queryNode,nr(e))})}distinctOn(e){return new N({...i(this,_),queryNode:T.cloneWithDistinctOn(i(this,_).queryNode,mt(e))})}modifyFront(e){return new N({...i(this,_),queryNode:T.cloneWithFrontModifier(i(this,_).queryNode,H.createWithExpression(e.toOperationNode()))})}modifyEnd(e){return new N({...i(this,_),queryNode:T.cloneWithEndModifier(i(this,_).queryNode,H.createWithExpression(e.toOperationNode()))})}distinct(){return new N({...i(this,_),queryNode:T.cloneWithFrontModifier(i(this,_).queryNode,H.create("Distinct"))})}forUpdate(e){return new N({...i(this,_),queryNode:T.cloneWithEndModifier(i(this,_).queryNode,H.create("ForUpdate",e?Ct(e).map(K):void 0))})}forShare(e){return new N({...i(this,_),queryNode:T.cloneWithEndModifier(i(this,_).queryNode,H.create("ForShare",e?Ct(e).map(K):void 0))})}forKeyShare(e){return new N({...i(this,_),queryNode:T.cloneWithEndModifier(i(this,_).queryNode,H.create("ForKeyShare",e?Ct(e).map(K):void 0))})}forNoKeyUpdate(e){return new N({...i(this,_),queryNode:T.cloneWithEndModifier(i(this,_).queryNode,H.create("ForNoKeyUpdate",e?Ct(e).map(K):void 0))})}skipLocked(){return new N({...i(this,_),queryNode:T.cloneWithEndModifier(i(this,_).queryNode,H.create("SkipLocked"))})}noWait(){return new N({...i(this,_),queryNode:T.cloneWithEndModifier(i(this,_).queryNode,H.create("NoWait"))})}selectAll(e){return new N({...i(this,_),queryNode:T.cloneWithSelections(i(this,_).queryNode,rr(e))})}innerJoin(...e){return new N({...i(this,_),queryNode:W.cloneWithJoin(i(this,_).queryNode,Pe("InnerJoin",e))})}leftJoin(...e){return new N({...i(this,_),queryNode:W.cloneWithJoin(i(this,_).queryNode,Pe("LeftJoin",e))})}rightJoin(...e){return new N({...i(this,_),queryNode:W.cloneWithJoin(i(this,_).queryNode,Pe("RightJoin",e))})}fullJoin(...e){return new N({...i(this,_),queryNode:W.cloneWithJoin(i(this,_).queryNode,Pe("FullJoin",e))})}innerJoinLateral(...e){return new N({...i(this,_),queryNode:W.cloneWithJoin(i(this,_).queryNode,Pe("LateralInnerJoin",e))})}leftJoinLateral(...e){return new N({...i(this,_),queryNode:W.cloneWithJoin(i(this,_).queryNode,Pe("LateralLeftJoin",e))})}orderBy(...e){return new N({...i(this,_),queryNode:T.cloneWithOrderByItems(i(this,_).queryNode,Hn(e))})}groupBy(e){return new N({...i(this,_),queryNode:T.cloneWithGroupByItems(i(this,_).queryNode,Cs(e))})}limit(e){return new N({...i(this,_),queryNode:T.cloneWithLimit(i(this,_).queryNode,os.create($(e)))})}offset(e){return new N({...i(this,_),queryNode:T.cloneWithOffset(i(this,_).queryNode,Ns.create($(e)))})}fetch(e,n="only"){return new N({...i(this,_),queryNode:T.cloneWithFetch(i(this,_).queryNode,Ts(e,n))})}top(e,n){return new N({...i(this,_),queryNode:W.cloneWithTop(i(this,_).queryNode,rs(e,n))})}union(e){return new N({...i(this,_),queryNode:T.cloneWithSetOperations(i(this,_).queryNode,$e("union",e,!1))})}unionAll(e){return new N({...i(this,_),queryNode:T.cloneWithSetOperations(i(this,_).queryNode,$e("union",e,!0))})}intersect(e){return new N({...i(this,_),queryNode:T.cloneWithSetOperations(i(this,_).queryNode,$e("intersect",e,!1))})}intersectAll(e){return new N({...i(this,_),queryNode:T.cloneWithSetOperations(i(this,_).queryNode,$e("intersect",e,!0))})}except(e){return new N({...i(this,_),queryNode:T.cloneWithSetOperations(i(this,_).queryNode,$e("except",e,!1))})}exceptAll(e){return new N({...i(this,_),queryNode:T.cloneWithSetOperations(i(this,_).queryNode,$e("except",e,!0))})}as(e){return new cr(this,e)}clearSelect(){return new N({...i(this,_),queryNode:T.cloneWithoutSelections(i(this,_).queryNode)})}clearWhere(){return new N({...i(this,_),queryNode:W.cloneWithoutWhere(i(this,_).queryNode)})}clearLimit(){return new N({...i(this,_),queryNode:T.cloneWithoutLimit(i(this,_).queryNode)})}clearOffset(){return new N({...i(this,_),queryNode:T.cloneWithoutOffset(i(this,_).queryNode)})}clearOrderBy(){return new N({...i(this,_),queryNode:T.cloneWithoutOrderBy(i(this,_).queryNode)})}clearGroupBy(){return new N({...i(this,_),queryNode:T.cloneWithoutGroupBy(i(this,_).queryNode)})}$call(e){return e(this)}$if(e,n){return e?n(this):new N({...i(this,_)})}$castTo(){return new N(i(this,_))}$narrowType(){return new N(i(this,_))}$assertType(){return new N(i(this,_))}$asTuple(){return new x(this.toOperationNode())}withPlugin(e){return new N({...i(this,_),executor:i(this,_).executor.withPlugin(e)})}toOperationNode(){return i(this,_).executor.transformQuery(i(this,_).queryNode,i(this,_).queryId)}compile(){return i(this,_).executor.compileQuery(this.toOperationNode(),i(this,_).queryId)}async execute(){const e=this.compile();return(await i(this,_).executor.executeQuery(e,i(this,_).queryId)).rows}async executeTakeFirst(){const[e]=await this.execute();return e}async executeTakeFirstOrThrow(e=es){const n=await this.executeTakeFirst();if(n===void 0)throw ts(e)?new e(this.toOperationNode()):e(this.toOperationNode());return n}async*stream(e=100){const n=this.compile(),r=i(this,_).executor.stream(n,e,i(this,_).queryId);for await(const a of r)yield*a.rows}async explain(e,n){return await new N({...i(this,_),queryNode:W.cloneWithExplain(i(this,_).queryNode,e,n)}).execute()}};_=new WeakMap;let Et=N;Ae(Et,"don't await SelectQueryBuilder instances directly. To execute the query you need to call `execute` or `executeTakeFirst`.");function xs(t){return new Et(t)}var Ke,Ue;class cr{constructor(e,n){C(this,Ke);C(this,Ue);O(this,Ke,e),O(this,Ue,n)}get expression(){return i(this,Ke)}get alias(){return i(this,Ue)}get isAliasedSelectQueryBuilder(){return!0}toOperationNode(){return pe.create(i(this,Ke).toOperationNode(),z.create(i(this,Ue)))}}Ke=new WeakMap,Ue=new WeakMap;Ae(cr,"don't await AliasedSelectQueryBuilder instances directly. AliasedSelectQueryBuilder should never be executed directly since it's always a part of another query.");const we=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?Fe.cloneWithOperation(t.filter,"And",e):Fe.create(e)})},cloneWithOrFilter(t,e){return s({...t,filter:t.filter?Fe.cloneWithOperation(t.filter,"Or",e):Fe.create(e)})},cloneWithOver(t,e){return s({...t,over:e})}}),zn=s({is(t){return t.kind==="FunctionNode"},create(t,e){return s({kind:"FunctionNode",func:t,arguments:e})}});var A;const ue=class ue{constructor(e){C(this,A);O(this,A,s(e))}get expressionType(){}as(e){return new ks(this,e)}distinct(){return new ue({...i(this,A),aggregateFunctionNode:we.cloneWithDistinct(i(this,A).aggregateFunctionNode)})}filterWhere(...e){return new ue({...i(this,A),aggregateFunctionNode:we.cloneWithFilter(i(this,A).aggregateFunctionNode,U(e))})}filterWhereRef(e,n,r){return new ue({...i(this,A),aggregateFunctionNode:we.cloneWithFilter(i(this,A).aggregateFunctionNode,ft(e,n,r))})}over(e){const n=gs();return new ue({...i(this,A),aggregateFunctionNode:we.cloneWithOver(i(this,A).aggregateFunctionNode,(e?e(n):n).toOperationNode())})}$call(e){return e(this)}$castTo(){return new ue(i(this,A))}$notNull(){return new ue(i(this,A))}toOperationNode(){return i(this,A).aggregateFunctionNode}};A=new WeakMap;let je=ue;Ae(je,"don't await AggregateFunctionBuilder instances. They are never executed directly and are always just a part of a query.");var Qe,Ve;class ks{constructor(e,n){C(this,Qe);C(this,Ve);O(this,Qe,e),O(this,Ve,n)}get expression(){return i(this,Qe)}get alias(){return i(this,Ve)}toOperationNode(){return pe.create(i(this,Qe).toOperationNode(),z.create(i(this,Ve)))}}Qe=new WeakMap,Ve=new WeakMap;function Es(){const t=(n,r)=>new x(zn.create(n,mt(r??[]))),e=(n,r)=>new je({aggregateFunctionNode:we.create(n,r?mt(r):void 0)});return Object.assign(t,{agg:e,avg(n){return e("avg",[n])},coalesce(...n){return t("coalesce",n)},count(n){return e("count",[n])},countAll(n){return new je({aggregateFunctionNode:we.create("count",rr(n))})},max(n){return e("max",[n])},min(n){return e("min",[n])},sum(n){return e("sum",[n])},any(n){return t("any",[n])},jsonAgg(n){return new je({aggregateFunctionNode:we.create("json_agg",[Y(n)?K(n):n.toOperationNode()])})},toJson(n){return new x(zn.create("to_json",[Y(n)?K(n):n.toOperationNode()]))}})}const Is=s({is(t){return t.kind==="UnaryOperationNode"},create(t,e){return s({kind:"UnaryOperationNode",operator:t,operand:e})}});function As(t,e){return Is.create(Ee.create(t),q(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),Lt.cloneWithResult(t.when[t.when.length-1],e)]):void 0})},cloneWith(t,e){return s({...t,...e})}});var Ge;class Ps{constructor(e){C(this,Ge);O(this,Ge,s(e))}when(...e){return new lr({...i(this,Ge),node:re.cloneWithWhen(i(this,Ge).node,Lt.create(U(e)))})}}Ge=new WeakMap;var Ye;class lr{constructor(e){C(this,Ye);O(this,Ye,s(e))}then(e){return new $s({...i(this,Ye),node:re.cloneWithThen(i(this,Ye).node,mn(e)?hn(e):$(e))})}}Ye=new WeakMap;var V;class $s{constructor(e){C(this,V);O(this,V,s(e))}when(...e){return new lr({...i(this,V),node:re.cloneWithWhen(i(this,V).node,Lt.create(U(e)))})}else(e){return new Ds({...i(this,V),node:re.cloneWith(i(this,V).node,{else:mn(e)?hn(e):$(e)})})}end(){return new x(re.cloneWith(i(this,V).node,{isStatement:!1}))}endCase(){return new x(re.cloneWith(i(this,V).node,{isStatement:!0}))}}V=new WeakMap;var He;class Ds{constructor(e){C(this,He);O(this,He,s(e))}end(){return new x(re.cloneWith(i(this,He).node,{isStatement:!1}))}endCase(){return new x(re.cloneWith(i(this,He).node,{isStatement:!0}))}}He=new WeakMap;const Fn=s({is(t){return t.kind==="JSONPathLegNode"},create(t,e){return s({kind:"JSONPathLegNode",type:t,value:e})}});var G,wt,an;class dt{constructor(e){C(this,wt);C(this,G);O(this,G,e)}at(e){return y(this,wt,an).call(this,"ArrayLocation",e)}key(e){return y(this,wt,an).call(this,"Member",e)}}G=new WeakMap,wt=new WeakSet,an=function(e,n){return Tt.is(i(this,G))?new qn(Tt.cloneWithTraversal(i(this,G),st.is(i(this,G).traversal)?st.cloneWithLeg(i(this,G).traversal,Fn.create(e,n)):Zn.cloneWithValue(i(this,G).traversal,fe.createImmediate(n)))):new qn(st.cloneWithLeg(i(this,G),Fn.create(e,n)))};var Se;class qn extends dt{constructor(n){super(n);C(this,Se);O(this,Se,n)}get expressionType(){}as(n){return new Rs(this,n)}$castTo(){return new dt(i(this,Se))}$notNull(){return new dt(i(this,Se))}toOperationNode(){return i(this,Se)}}Se=new WeakMap;var Xe,ce;class Rs{constructor(e,n){C(this,Xe);C(this,ce);O(this,Xe,e),O(this,ce,n)}get expression(){return i(this,Xe)}get alias(){return i(this,ce)}toOperationNode(){return pe.create(i(this,Xe).toOperationNode(),M(i(this,ce))?i(this,ce).toOperationNode():z.create(i(this,ce)))}}Xe=new WeakMap,ce=new WeakMap;const jn=s({is(t){return t.kind==="TupleNode"},create(t){return s({kind:"TupleNode",values:s(t)})}}),zs=["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"],Fs=[/^varchar\(\d+\)$/,/^char\(\d+\)$/,/^decimal\(\d+, \d+\)$/,/^numeric\(\d+, \d+\)$/,/^binary\(\d+\)$/,/^datetime\(\d+\)$/,/^time\(\d+\)$/,/^timetz\(\d+\)$/,/^timestamp\(\d+\)$/,/^timestamptz\(\d+\)$/,/^varbinary\(\d+\)$/],qs=s({is(t){return t.kind==="DataTypeNode"},create(t){return s({kind:"DataTypeNode",dataType:t})}});function js(t){return!!(zs.includes(t)||Fs.some(e=>e.test(t)))}function Ls(t){if(M(t))return t.toOperationNode();if(js(t))return qs.create(t);throw new Error(`invalid column data type ${JSON.stringify(t)}`)}const Js=s({is(t){return t.kind==="CastNode"},create(t,e){return s({kind:"CastNode",expression:t,dataType:e})}});function gn(t=dr){function e(a,o,u){return new x(fn(a,o,u))}function n(a,o){return new x(As(a,o))}const r=Object.assign(e,{fn:void 0,eb:void 0,selectFrom(a){return xs({queryId:X(),executor:t,queryNode:T.createFrom(Ms(a))})},case(a){return new Ps({node:re.create(Ot(a)?void 0:q(a))})},ref(a,o){return Ot(o)?new x(he(a)):new dt(qi(a,o))},jsonPath(){return new dt(st.create())},table(a){return new x(K(a))},val(a){return new x($(a))},refTuple(...a){return new x(jn.create(a.map(q)))},tuple(...a){return new x(jn.create(a.map($)))},lit(a){return new x(hn(a))},unary:n,not(a){return n("not",a)},exists(a){return n("exists",a)},neg(a){return n("-",a)},between(a,o,u){return new x(Ze.create(q(a),Ee.create("between"),me.create($(o),$(u))))},betweenSymmetric(a,o,u){return new x(Ze.create(q(a),Ee.create("between symmetric"),me.create($(o),$(u))))},and(a){return _e(a)?new x(Ht(a,"and")):new x(bn(a,"and"))},or(a){return _e(a)?new x(Ht(a,"or")):new x(bn(a,"or"))},parens(...a){const o=U(a);return ht.is(o)?new x(o):new x(ht.create(o))},cast(a,o){return new x(Js.create(q(a),Ls(o)))},withSchema(a){return gn(t.withPluginAtFront(new ur(a)))}});return r.fn=Es(),r.eb=r,r}function Jt(t){return gn()}function Mt(t){if(M(t))return t.toOperationNode();if(Ie(t))return t(Jt()).toOperationNode();throw new Error(`invalid expression: ${JSON.stringify(t)}`)}function _r(t){if(M(t))return t.toOperationNode();if(Ie(t))return t(Jt()).toOperationNode();throw new Error(`invalid aliased expression: ${JSON.stringify(t)}`)}function Wt(t){return xi(t)||ki(t)||Ie(t)}function Ms(t){return _e(t)?t.map(e=>It(e)):[It(t)]}function It(t){return Y(t)?Ws(t):_r(t)}function Ws(t){const e=" as ";if(t.includes(e)){const[n,r]=t.split(e).map(mr);return pe.create(K(n),z.create(r))}else return K(t)}function K(t){const e=".";if(t.includes(e)){const[n,r]=t.split(e).map(mr);return ke.createWithSchema(n,r)}else return ke.create(t)}function mr(t){return t.trim()}var P,j,bt,on,sn;const lt=class lt{constructor(e){C(this,j);C(this,P);O(this,P,s(e))}get expressionType(){}get isRawBuilder(){return!0}as(e){return new hr(this,e)}$castTo(){return new lt({...i(this,P)})}$notNull(){return new lt(i(this,P))}withPlugin(e){return new lt({...i(this,P),plugins:i(this,P).plugins!==void 0?s([...i(this,P).plugins,e]):s([e])})}toOperationNode(){return y(this,j,on).call(this,y(this,j,bt).call(this))}compile(e){return y(this,j,sn).call(this,y(this,j,bt).call(this,e))}async execute(e){const n=y(this,j,bt).call(this,e);return n.executeQuery(y(this,j,sn).call(this,n),i(this,P).queryId)}};P=new WeakMap,j=new WeakSet,bt=function(e){const n=e!==void 0?e.getExecutor():dr;return i(this,P).plugins!==void 0?n.withPlugins(i(this,P).plugins):n},on=function(e){return e.transformQuery(i(this,P).rawNode,i(this,P).queryId)},sn=function(e){return e.compileQuery(y(this,j,on).call(this,e),i(this,P).queryId)};let At=lt;function se(t){return new At(t)}Ae(At,"don't await RawBuilder instances directly. To execute the query you need to call `execute`");var xe,le;class hr{constructor(e,n){C(this,xe);C(this,le);O(this,xe,e),O(this,le,n)}get expression(){return i(this,xe)}get alias(){return i(this,le)}get rawBuilder(){return i(this,xe)}toOperationNode(){return pe.create(i(this,xe).toOperationNode(),M(i(this,le))?i(this,le).toOperationNode():z.create(i(this,le)))}}xe=new WeakMap,le=new WeakMap;Ae(hr,"don't await AliasedRawBuilder instances directly. AliasedRawBuilder should never be executed directly since it's always a part of another query.");const g=Object.assign((t,...e)=>se({queryId:X(),rawNode:R.create(t,(e==null?void 0:e.map(Ln))??[])}),{ref(t){return se({queryId:X(),rawNode:R.createWithChild(he(t))})},val(t){return se({queryId:X(),rawNode:R.createWithChild($(t))})},value(t){return this.val(t)},table(t){return se({queryId:X(),rawNode:R.createWithChild(K(t))})},id(...t){const e=new Array(t.length+1).fill(".");return e[0]="",e[e.length-1]="",se({queryId:X(),rawNode:R.create(e,t.map(z.create))})},lit(t){return se({queryId:X(),rawNode:R.createWithChild(fe.createImmediate(t))})},literal(t){return this.lit(t)},raw(t){return se({queryId:X(),rawNode:R.createWithSql(t)})},join(t,e=g`, `){const n=new Array(2*t.length-1),r=e.toOperationNode();for(let a=0;a<t.length;++a)n[2*a]=Ln(t[a]),a!==t.length-1&&(n[2*a+1]=r);return se({queryId:X(),rawNode:R.createWithChildren(n)})}});function Ln(t){return M(t)?t.toOperationNode():$(t)}class Bs{transformQuery(e){return e.node}async transformResult(e){return e.result}}const Ks="kysely_migration",Jn="kysely_migration_lock",Us=!1,Qt="migration_lock",Qs=s({__noMigrations__:!0});var k,m,at,Z,ee,Re,pr,te,gr,yr,wr,Nr,vr,un,ze,dn,Cr,br,Or,cn,Tr,Sr,xr,kr,Er,ot;class fr{constructor(e){C(this,m);C(this,k);O(this,k,s(e))}async getMigrations(){const e=await y(this,m,ze).call(this,i(this,m,ee))?await i(this,k).db.withPlugin(i(this,m,te)).selectFrom(i(this,m,ee)).select(["name","timestamp"]).execute():[];return(await y(this,m,cn).call(this)).map(({name:r,...a})=>{const o=e.find(u=>u.name===r);return{name:r,migration:a,executedAt:o?new Date(o.timestamp):void 0}})}async migrateToLatest(){return y(this,m,at).call(this,()=>({direction:"Up",step:1/0}))}async migrateTo(e){return y(this,m,at).call(this,({migrations:n,executedMigrations:r,pendingMigrations:a})=>{if(e===Qs)return{direction:"Down",step:1/0};if(!n.find(d=>d.name===e))throw new Error(`migration "${e}" doesn't exist`);const o=r.indexOf(e),u=a.findIndex(d=>d.name===e);if(o!==-1)return{direction:"Down",step:r.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 y(this,m,at).call(this,()=>({direction:"Up",step:1}))}async migrateDown(){return y(this,m,at).call(this,()=>({direction:"Down",step:1}))}}k=new WeakMap,m=new WeakSet,at=async function(e){try{return await y(this,m,gr).call(this),await y(this,m,Cr).call(this,e)}catch(n){return n instanceof Vt?n.resultSet:{error:n}}},Z=function(){return i(this,k).migrationTableSchema},ee=function(){return i(this,k).migrationTableName??Ks},Re=function(){return i(this,k).migrationLockTableName??Jn},pr=function(){return i(this,k).allowUnorderedMigrations??Us},te=function(){return i(this,m,Z)?new ur(i(this,m,Z)):new Bs},gr=async function(){await y(this,m,yr).call(this),await y(this,m,wr).call(this),await y(this,m,Nr).call(this),await y(this,m,vr).call(this)},yr=async function(){if(i(this,m,Z)&&!await y(this,m,un).call(this))try{await y(this,m,ot).call(this,i(this,k).db.schema.createSchema(i(this,m,Z)))}catch(e){if(!await y(this,m,un).call(this))throw e}},wr=async function(){if(!await y(this,m,ze).call(this,i(this,m,ee)))try{i(this,m,Z)&&await y(this,m,ot).call(this,i(this,k).db.schema.createSchema(i(this,m,Z))),await y(this,m,ot).call(this,i(this,k).db.schema.withPlugin(i(this,m,te)).createTable(i(this,m,ee)).addColumn("name","varchar(255)",e=>e.notNull().primaryKey()).addColumn("timestamp","varchar(255)",e=>e.notNull()))}catch(e){if(!await y(this,m,ze).call(this,i(this,m,ee)))throw e}},Nr=async function(){if(!await y(this,m,ze).call(this,i(this,m,Re)))try{await y(this,m,ot).call(this,i(this,k).db.schema.withPlugin(i(this,m,te)).createTable(i(this,m,Re)).addColumn("id","varchar(255)",e=>e.notNull().primaryKey()).addColumn("is_locked","integer",e=>e.notNull().defaultTo(0)))}catch(e){if(!await y(this,m,ze).call(this,i(this,m,Re)))throw e}},vr=async function(){if(!await y(this,m,dn).call(this))try{await i(this,k).db.withPlugin(i(this,m,te)).insertInto(i(this,m,Re)).values({id:Qt,is_locked:0}).execute()}catch(e){if(!await y(this,m,dn).call(this))throw e}},un=async function(){return(await i(this,k).db.introspection.getSchemas()).some(n=>n.name===i(this,m,Z))},ze=async function(e){const n=i(this,m,Z);return(await i(this,k).db.introspection.getTables({withInternalKyselyTables:!0})).some(a=>a.name===e&&(!n||a.schema===n))},dn=async function(){return!!await i(this,k).db.withPlugin(i(this,m,te)).selectFrom(i(this,m,Re)).where("id","=",Qt).select("id").executeTakeFirst()},Cr=async function(e){const n=i(this,k).db.getExecutor().adapter,r=s({lockTable:i(this,k).migrationLockTableName??Jn,lockRowId:Qt,lockTableSchema:i(this,k).migrationTableSchema}),a=async o=>{try{await n.acquireMigrationLock(o,r);const u=await y(this,m,br).call(this,o);if(u.migrations.length===0)return{results:[]};const{direction:d,step:c}=e(u);return c<=0?{results:[]}:d==="Down"?await y(this,m,kr).call(this,o,u,c):d==="Up"?await y(this,m,Er).call(this,o,u,c):{results:[]}}finally{await n.releaseMigrationLock(o,r)}};return n.supportsTransactionalDdl?i(this,k).db.transaction().execute(a):i(this,k).db.connection().execute(a)},br=async function(e){const n=await y(this,m,cn).call(this),r=await y(this,m,Tr).call(this,e);y(this,m,Sr).call(this,n,r),i(this,m,pr)||y(this,m,xr).call(this,n,r);const a=y(this,m,Or).call(this,n,r);return s({migrations:n,executedMigrations:r,lastMigration:Si(r),pendingMigrations:a})},Or=function(e,n){return e.filter(r=>!n.includes(r.name))},cn=async function(){const e=await i(this,k).provider.getMigrations();return Object.keys(e).sort().map(n=>({...e[n],name:n}))},Tr=async function(e){return(await e.withPlugin(i(this,m,te)).selectFrom(i(this,m,ee)).select("name").orderBy(["timestamp","name"]).execute()).map(r=>r.name)},Sr=function(e,n){for(const r of n)if(!e.some(a=>a.name===r))throw new Error(`corrupted migrations: previously executed migration ${r} is missing`)},xr=function(e,n){for(let r=0;r<n.length;++r)if(e[r].name!==n[r])throw new Error(`corrupted migrations: expected previously executed migration ${n[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.`)},kr=async function(e,n,r){const a=n.executedMigrations.slice().reverse().slice(0,r).map(u=>n.migrations.find(d=>d.name===u)),o=a.map(u=>({migrationName:u.name,direction:"Down",status:"NotExecuted"}));for(let u=0;u<o.length;++u){const d=a[u];try{d.down&&(await d.down(e),await e.withPlugin(i(this,m,te)).deleteFrom(i(this,m,ee)).where("name","=",d.name).execute(),o[u]={migrationName:d.name,direction:"Down",status:"Success"})}catch(c){throw o[u]={migrationName:d.name,direction:"Down",status:"Error"},new Vt({error:c,results:o})}}return{results:o}},Er=async function(e,n,r){const o=n.pendingMigrations.slice(0,r).map(u=>({migrationName:u.name,direction:"Up",status:"NotExecuted"}));for(let u=0;u<o.length;u++){const d=n.pendingMigrations[u];try{await d.up(e),await e.withPlugin(i(this,m,te)).insertInto(i(this,m,ee)).values({name:d.name,timestamp:new Date().toISOString()}).execute(),o[u]={migrationName:d.name,direction:"Up",status:"Success"}}catch(c){throw o[u]={migrationName:d.name,direction:"Up",status:"Error"},new Vt({error:c,results:o})}}return{results:o}},ot=async function(e){i(this,k).db.getExecutor().adapter.supportsCreateIfNotExists&&(e=e.ifNotExists()),await e.execute()};var Nt;class Vt extends Error{constructor(n){super();C(this,Nt);O(this,Nt,n)}get resultSet(){return i(this,Nt)}}Nt=new WeakMap;class Ir{constructor(e){ie(this,"migrations");this.migrations=e}async getMigrations(){return this.migrations}}async function Vs(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 Gs(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 Ys=Object.freeze(Object.defineProperty({__proto__:null,down:Gs,up:Vs},Symbol.toStringTag,{value:"Module"}));async function Hs(t){await t.schema.alterTable("tenants").addColumn("support_url","varchar(255)").execute()}async function Xs(t){await t.schema.alterTable("tenants").dropColumn("support_url").execute()}const Zs=Object.freeze(Object.defineProperty({__proto__:null,down:Xs,up:Hs},Symbol.toStringTag,{value:"Module"}));async function eu(t){}async function tu(t){}const nu=Object.freeze(Object.defineProperty({__proto__:null,down:tu,up:eu},Symbol.toStringTag,{value:"Module"}));async function ru(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 au(t){await t.schema.dropTable("logs").execute()}const ou=Object.freeze(Object.defineProperty({__proto__:null,down:au,up:ru},Symbol.toStringTag,{value:"Module"}));async function iu(t){}async function su(t){}const uu=Object.freeze(Object.defineProperty({__proto__:null,down:su,up:iu},Symbol.toStringTag,{value:"Module"}));async function du(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 cu(t){await t.schema.dropTable("sessions").execute(),await t.schema.dropTable("tickets").execute(),await t.schema.dropTable("otps").execute()}const lu=Object.freeze(Object.defineProperty({__proto__:null,down:cu,up:du},Symbol.toStringTag,{value:"Module"}));async function _u(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 mu(t){await t.schema.dropTable("passwords").execute(),await t.schema.dropTable("codes").execute()}const hu=Object.freeze(Object.defineProperty({__proto__:null,down:mu,up:_u},Symbol.toStringTag,{value:"Module"}));async function fu(t){}async function pu(t){}const gu=Object.freeze(Object.defineProperty({__proto__:null,down:pu,up:fu},Symbol.toStringTag,{value:"Module"}));async function yu(t){await t.schema.alterTable("passwords").addColumn("password","varchar(255)",e=>e.notNull()).execute()}async function wu(t){await t.schema.alterTable("passwords").dropColumn("password").execute()}const Nu=Object.freeze(Object.defineProperty({__proto__:null,down:wu,up:yu},Symbol.toStringTag,{value:"Module"}));async function vu(t){}async function Cu(t){}const bu=Object.freeze(Object.defineProperty({__proto__:null,down:Cu,up:vu},Symbol.toStringTag,{value:"Module"}));async function Ou(t){}async function Tu(t){}const Su=Object.freeze(Object.defineProperty({__proto__:null,down:Tu,up:Ou},Symbol.toStringTag,{value:"Module"}));async function xu(t){}async function ku(t){}const Eu=Object.freeze(Object.defineProperty({__proto__:null,down:ku,up:xu},Symbol.toStringTag,{value:"Module"}));async function Iu(t){await t.schema.createIndex("users_email_index").on("users").column("email").execute()}async function Au(t){await t.schema.dropIndex("users_email_index").execute()}const Pu=Object.freeze(Object.defineProperty({__proto__:null,down:Au,up:Iu},Symbol.toStringTag,{value:"Module"}));async function $u(t){await t.schema.alterTable("users").addColumn("profileData","varchar(2048)").execute()}async function Du(t){await t.schema.alterTable("users").dropColumn("profileData").execute()}const Ru=Object.freeze(Object.defineProperty({__proto__:null,down:Du,up:$u},Symbol.toStringTag,{value:"Module"}));async function zu(t){await t.schema.createIndex("users_linked_to_index").on("users").column("linked_to").execute()}async function Fu(t){await t.schema.dropIndex("users_linked_to_index")}const qu=Object.freeze(Object.defineProperty({__proto__:null,down:Fu,up:zu},Symbol.toStringTag,{value:"Module"}));async function ju(t){await t.schema.alterTable("users").addColumn("locale","varchar(255)").execute()}async function Lu(t){await t.schema.alterTable("users").dropColumn("locale").execute()}const Ju=Object.freeze(Object.defineProperty({__proto__:null,down:Lu,up:ju},Symbol.toStringTag,{value:"Module"}));async function Mu(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 Wu(t){await t.schema.dropTable("keys").execute()}const Bu=Object.freeze(Object.defineProperty({__proto__:null,down:Wu,up:Mu},Symbol.toStringTag,{value:"Module"}));async function Ku(t){}async function Uu(t){}const Qu=Object.freeze(Object.defineProperty({__proto__:null,down:Uu,up:Ku},Symbol.toStringTag,{value:"Module"}));async function Vu(t){}async function Gu(t){}const Yu=Object.freeze(Object.defineProperty({__proto__:null,down:Gu,up:Vu},Symbol.toStringTag,{value:"Module"}));async function Hu(t){await t.schema.alterTable("otps").addColumn("audience","varchar(255)").execute()}async function Xu(t){await t.schema.alterTable("otps").dropColumn("audience").execute()}const Zu=Object.freeze(Object.defineProperty({__proto__:null,down:Xu,up:Hu},Symbol.toStringTag,{value:"Module"}));async function ed(t){}async function td(t){}const nd=Object.freeze(Object.defineProperty({__proto__:null,down:td,up:ed},Symbol.toStringTag,{value:"Module"}));async function rd(t){await t.schema.alterTable("logs").dropColumn("category").execute()}async function ad(t){await t.schema.alterTable("logs").addColumn("category","varchar(255)",e=>e.notNull()).execute()}const od=Object.freeze(Object.defineProperty({__proto__:null,down:ad,up:rd},Symbol.toStringTag,{value:"Module"}));async function id(t){await t.schema.alterTable("users").dropColumn("tags").execute()}async function sd(t){await t.schema.alterTable("users").addColumn("tags","varchar(255)").execute()}const ud=Object.freeze(Object.defineProperty({__proto__:null,down:sd,up:id},Symbol.toStringTag,{value:"Module"}));async function dd(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 cd(t){await t.schema.dropIndex("logs_user_id"),await t.schema.dropIndex("logs_tenant_id"),await t.schema.dropIndex("logs_date")}const ld=Object.freeze(Object.defineProperty({__proto__:null,down:cd,up:dd},Symbol.toStringTag,{value:"Module"}));async function _d(t){await t.schema.alterTable("logs").dropColumn("details").execute(),await t.schema.alterTable("logs").addColumn("details","varchar(8192)").execute()}async function md(t){await t.schema.alterTable("logs").dropColumn("details").execute(),await t.schema.alterTable("logs").addColumn("details","varchar(2048)").execute()}const hd=Object.freeze(Object.defineProperty({__proto__:null,down:md,up:_d},Symbol.toStringTag,{value:"Module"}));async function fd(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 pd(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 gd=Object.freeze(Object.defineProperty({__proto__:null,down:pd,up:fd},Symbol.toStringTag,{value:"Module"}));async function yd(t){await t.schema.createIndex("users_name_index").on("users").column("name").execute()}async function wd(t){await t.schema.dropIndex("users_name_index").execute()}const Nd=Object.freeze(Object.defineProperty({__proto__:null,down:wd,up:yd},Symbol.toStringTag,{value:"Module"}));async function vd(t){}async function Cd(t){await t.schema.alterTable("users").dropConstraint("unique_email_provider").execute()}const bd=Object.freeze(Object.defineProperty({__proto__:null,down:Cd,up:vd},Symbol.toStringTag,{value:"Module"}));async function Od(t){await t.schema.alterTable("otps").dropColumn("state").execute(),await t.schema.alterTable("otps").addColumn("state","varchar(8192)").execute()}async function Td(t){await t.schema.alterTable("otps").dropColumn("state").execute(),await t.schema.alterTable("otps").addColumn("state","varchar(1024)").execute()}const Sd=Object.freeze(Object.defineProperty({__proto__:null,down:Td,up:Od},Symbol.toStringTag,{value:"Module"}));async function xd(t){await t.schema.alterTable("tickets").dropColumn("state").execute(),await t.schema.alterTable("tickets").addColumn("state","varchar(8192)").execute()}async function kd(t){await t.schema.alterTable("tickets").dropColumn("state").execute(),await t.schema.alterTable("tickets").addColumn("state","varchar(1024)").execute()}const Ed=Object.freeze(Object.defineProperty({__proto__:null,down:kd,up:xd},Symbol.toStringTag,{value:"Module"}));async function Id(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 Ad(t){await t.schema.dropTable("branding").execute()}const Pd=Object.freeze(Object.defineProperty({__proto__:null,down:Ad,up:Id},Symbol.toStringTag,{value:"Module"}));async function $d(t){}async function Dd(t){}const Rd=Object.freeze(Object.defineProperty({__proto__:null,down:Dd,up:$d},Symbol.toStringTag,{value:"Module"}));async function zd(t){}async function Fd(t){}const qd=Object.freeze(Object.defineProperty({__proto__:null,down:Fd,up:zd},Symbol.toStringTag,{value:"Module"}));async function jd(t){}async function Ld(t){}const Jd=Object.freeze(Object.defineProperty({__proto__:null,down:Ld,up:jd},Symbol.toStringTag,{value:"Module"}));async function Md(t){}async function Wd(t){}const Bd=Object.freeze(Object.defineProperty({__proto__:null,down:Wd,up:Md},Symbol.toStringTag,{value:"Module"}));async function Kd(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 Ud(t){await t.schema.dropTable("authentication_codes").execute()}const Qd=Object.freeze(Object.defineProperty({__proto__:null,down:Ud,up:Kd},Symbol.toStringTag,{value:"Module"}));async function Vd(t){}async function Gd(t){}const Yd=Object.freeze(Object.defineProperty({__proto__:null,down:Gd,up:Vd},Symbol.toStringTag,{value:"Module"}));async function Hd(t){await t.schema.alterTable("otps").addColumn("ip","varchar(64)").execute()}async function Xd(t){await t.schema.alterTable("otps").dropColumn("ip").execute()}const Zd=Object.freeze(Object.defineProperty({__proto__:null,down:Xd,up:Hd},Symbol.toStringTag,{value:"Module"}));async function ec(t){await t.schema.alterTable("logs").dropColumn("user_agent").execute(),await t.schema.alterTable("logs").addColumn("user_agent","varchar(1024)").execute()}async function tc(t){await t.schema.alterTable("logs").dropColumn("user_agent").execute(),await t.schema.alterTable("logs").addColumn("user_agent","varchar(255)").execute()}const nc=Object.freeze(Object.defineProperty({__proto__:null,down:tc,up:ec},Symbol.toStringTag,{value:"Module"}));async function rc(t){}async function ac(t){}const oc=Object.freeze(Object.defineProperty({__proto__:null,down:ac,up:rc},Symbol.toStringTag,{value:"Module"}));async function ic(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 sc(t){await t.schema.dropTable("hooks").execute()}const uc=Object.freeze(Object.defineProperty({__proto__:null,down:sc,up:ic},Symbol.toStringTag,{value:"Module"}));async function dc(t){}async function cc(t){}const lc=Object.freeze(Object.defineProperty({__proto__:null,down:cc,up:dc},Symbol.toStringTag,{value:"Module"}));async function _c(t){}async function mc(t){}const hc=Object.freeze(Object.defineProperty({__proto__:null,down:mc,up:_c},Symbol.toStringTag,{value:"Module"}));async function fc(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 pc(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 gc=Object.freeze(Object.defineProperty({__proto__:null,down:pc,up:fc},Symbol.toStringTag,{value:"Module"}));async function yc(t){}async function wc(t){}const Nc=Object.freeze(Object.defineProperty({__proto__:null,down:wc,up:yc},Symbol.toStringTag,{value:"Module"}));async function vc(t){await t.schema.alterTable("logins").addColumn("auth0Client","varchar(256)").execute()}async function Cc(t){await t.schema.alterTable("logins").dropColumn("auth0Client").execute()}const bc=Object.freeze(Object.defineProperty({__proto__:null,down:Cc,up:vc},Symbol.toStringTag,{value:"Module"}));async function Oc(t){await t.schema.alterTable("logins").dropColumn("authParams_state").execute(),await t.schema.alterTable("logins").addColumn("authParams_state","varchar(8192)").execute()}async function Tc(t){await t.schema.alterTable("logins").dropColumn("authParams_state").execute(),await t.schema.alterTable("logins").addColumn("authParams_state","varchar(511)").execute()}const Sc=Object.freeze(Object.defineProperty({__proto__:null,down:Tc,up:Oc},Symbol.toStringTag,{value:"Module"}));async function xc(t){}async function kc(t){}const Ec=Object.freeze(Object.defineProperty({__proto__:null,down:kc,up:xc},Symbol.toStringTag,{value:"Module"}));async function Ic(t){}async function Ac(t){}const Pc=Object.freeze(Object.defineProperty({__proto__:null,down:Ac,up:Ic},Symbol.toStringTag,{value:"Module"}));async function $c(t){await t.schema.alterTable("logins").addColumn("authParams_nonce","varchar(255)").execute()}async function Dc(t){await t.schema.alterTable("logins").dropColumn("nonce").execute()}const Rc=Object.freeze(Object.defineProperty({__proto__:null,down:Dc,up:$c},Symbol.toStringTag,{value:"Module"}));async function zc(t){}async function Fc(t){}const qc=Object.freeze(Object.defineProperty({__proto__:null,down:Fc,up:zc},Symbol.toStringTag,{value:"Module"}));async function jc(t){}async function Lc(t){}const Jc=Object.freeze(Object.defineProperty({__proto__:null,down:Lc,up:jc},Symbol.toStringTag,{value:"Module"}));async function Mc(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 Wc(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 Bc=Object.freeze(Object.defineProperty({__proto__:null,down:Wc,up:Mc},Symbol.toStringTag,{value:"Module"}));async function Kc(t){await t.schema.dropTable("otps").execute(),await t.schema.dropTable("authentication_codes").execute()}async function Uc(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 Qc=Object.freeze(Object.defineProperty({__proto__:null,down:Uc,up:Kc},Symbol.toStringTag,{value:"Module"}));async function Vc(t){await t.schema.createIndex("IDX_logs_tenant_date_type_user").on("logs").columns(["tenant_id","date","type","user_id"]).execute()}async function Gc(t){await t.schema.dropIndex("IDX_logs_tenant_date_type_user").on("logs").execute()}const Yc=Object.freeze(Object.defineProperty({__proto__:null,down:Gc,up:Vc},Symbol.toStringTag,{value:"Module"}));async function Hc(t){}async function Xc(t){}const Zc=Object.freeze(Object.defineProperty({__proto__:null,down:Xc,up:Hc},Symbol.toStringTag,{value:"Module"}));async function el(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 tl(t){await t.schema.dropTable("prompt_settings").execute()}const nl=Object.freeze(Object.defineProperty({__proto__:null,down:tl,up:el},Symbol.toStringTag,{value:"Module"}));async function rl(t){}async function al(t){}const ol=Object.freeze(Object.defineProperty({__proto__:null,down:al,up:rl},Symbol.toStringTag,{value:"Module"}));async function il(t){}async function sl(t){}const ul=Object.freeze(Object.defineProperty({__proto__:null,down:sl,up:il},Symbol.toStringTag,{value:"Module"}));async function dl(t){}async function cl(t){}const ll=Object.freeze(Object.defineProperty({__proto__:null,down:cl,up:dl},Symbol.toStringTag,{value:"Module"}));async function _l(t){await t.schema.alterTable("logins").addColumn("authParams_ui_locales","varchar(32)").execute()}async function ml(t){await t.schema.alterTable("logins").dropColumn("authParams_ui_locales").execute()}const hl=Object.freeze(Object.defineProperty({__proto__:null,down:ml,up:_l},Symbol.toStringTag,{value:"Module"}));async function fl(t){await t.schema.alterTable("logins").addColumn("authParams_prompt","varchar(16)").execute()}async function pl(t){await t.schema.alterTable("logins").dropColumn("authParams_prompt").execute()}const gl=Object.freeze(Object.defineProperty({__proto__:null,down:pl,up:fl},Symbol.toStringTag,{value:"Module"}));async function yl(t){}async function wl(t){}const Nl=Object.freeze(Object.defineProperty({__proto__:null,down:wl,up:yl},Symbol.toStringTag,{value:"Module"}));async function vl(t){await t.schema.alterTable("logins").addColumn("authParams_act_as","varchar(255)").execute()}async function Cl(t){await t.schema.alterTable("logins").dropColumn("authParam_act_as").execute()}const bl=Object.freeze(Object.defineProperty({__proto__:null,down:Cl,up:vl},Symbol.toStringTag,{value:"Module"}));async function Ol(t){await t.schema.alterTable("codes").addColumn("code_verifier","varchar(128)").execute()}async function Tl(t){await t.schema.alterTable("codes").dropColumn("code_verifier").execute()}const Sl=Object.freeze(Object.defineProperty({__proto__:null,down:Tl,up:Ol},Symbol.toStringTag,{value:"Module"}));async function xl(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 kl(t){await t.schema.dropTable("email_providers").execute()}const El=Object.freeze(Object.defineProperty({__proto__:null,down:kl,up:xl},Symbol.toStringTag,{value:"Module"}));async function Il(t){await t.schema.dropTable("tickets").execute()}async function Al(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 Pl=Object.freeze(Object.defineProperty({__proto__:null,down:Al,up:Il},Symbol.toStringTag,{value:"Module"}));async function $l(t){}async function Dl(t){await t.schema.alterTable("logins").dropColumn("ip").dropColumn("useragent").execute()}const Rl=Object.freeze(Object.defineProperty({__proto__:null,down:Dl,up:$l},Symbol.toStringTag,{value:"Module"}));async function zl(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 Fl(t){await t.schema.dropTable("refresh_tokens").execute()}const ql=Object.freeze(Object.defineProperty({__proto__:null,down:Fl,up:zl},Symbol.toStringTag,{value:"Module"}));async function jl(t){}async function Ll(t){}const Jl=Object.freeze(Object.defineProperty({__proto__:null,down:Ll,up:jl},Symbol.toStringTag,{value:"Module"}));async function Ml(t){await t.schema.dropTable("sessions").execute(),await t.schema.dropTable("refresh_tokens").execute()}async function Wl(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 Bl=Object.freeze(Object.defineProperty({__proto__:null,down:Wl,up:Ml},Symbol.toStringTag,{value:"Module"}));async function Kl(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 Ul(t){await t.schema.dropTable("sessions_2").execute(),await t.schema.dropTable("refresh_tokens_2").execute()}const Ql=Object.freeze(Object.defineProperty({__proto__:null,down:Ul,up:Kl},Symbol.toStringTag,{value:"Module"}));async function Vl(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 Gl(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 Yl=Object.freeze(Object.defineProperty({__proto__:null,down:Gl,up:Vl},Symbol.toStringTag,{value:"Module"}));async function Hl(t){}async function Xl(t){await t.schema.alterTable("logins").dropColumn("authParams_organization").dropColumn("authorization_url").execute()}const Zl=Object.freeze(Object.defineProperty({__proto__:null,down:Xl,up:Hl},Symbol.toStringTag,{value:"Module"}));async function e_(t){await t.schema.alterTable("logins").dropColumn("authorization_url").execute(),await t.schema.alterTable("logins").addColumn("authorization_url","varchar(2048)").execute()}async function t_(t){await t.schema.alterTable("logins").dropColumn("authorization_url").execute(),await t.schema.alterTable("logins").addColumn("authorization_url","varchar(1024)").execute()}const n_=Object.freeze(Object.defineProperty({__proto__:null,down:t_,up:e_},Symbol.toStringTag,{value:"Module"}));async function r_(t){}async function a_(t){}const o_=Object.freeze(Object.defineProperty({__proto__:null,down:a_,up:r_},Symbol.toStringTag,{value:"Module"}));async function i_(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 s_(t){await t.schema.dropTable("sessions").execute(),await t.schema.dropTable("login_sessions").execute(),await t.schema.dropTable("refresh_tokens").execute()}const u_=Object.freeze(Object.defineProperty({__proto__:null,down:s_,up:i_},Symbol.toStringTag,{value:"Module"}));async function d_(t){await t.schema.dropTable("logins").execute(),await t.schema.dropTable("sessions_2").execute(),await t.schema.dropTable("refresh_tokens_2").execute()}async function c_(t){}const l_=Object.freeze(Object.defineProperty({__proto__:null,down:c_,up:d_},Symbol.toStringTag,{value:"Module"}));async function __(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 m_(t){}const h_=Object.freeze(Object.defineProperty({__proto__:null,down:m_,up:__},Symbol.toStringTag,{value:"Module"}));async function f_(t){}async function p_(t){await t.schema.alterTable("users").dropColumn("phone_number").dropColumn("phone_verified").dropColumn("username").execute()}const g_=Object.freeze(Object.defineProperty({__proto__:null,down:p_,up:f_},Symbol.toStringTag,{value:"Module"}));async function y_(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 w_(t){await t.schema.dropTable("forms").execute()}const N_=Object.freeze(Object.defineProperty({__proto__:null,down:w_,up:y_},Symbol.toStringTag,{value:"Module"}));async function v_(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 C_(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 b_=Object.freeze(Object.defineProperty({__proto__:null,down:C_,up:v_},Symbol.toStringTag,{value:"Module"}));async function O_(t){await t.schema.alterTable("login_sessions").addColumn("login_completed","boolean",e=>e.notNull().defaultTo(0)).execute()}async function T_(t){await t.schema.alterTable("login_sessions").dropColumn("login_completed").execute()}const S_=Object.freeze(Object.defineProperty({__proto__:null,down:T_,up:O_},Symbol.toStringTag,{value:"Module"}));async function x_(t){await t.schema.alterTable("sessions").addColumn("login_session_id","varchar(21)",e=>e.references("login_sessions.id").onDelete("set null")).execute()}async function k_(t){await t.schema.alterTable("sessions").dropColumn("login_session_id").execute()}const E_=Object.freeze(Object.defineProperty({__proto__:null,down:k_,up:x_},Symbol.toStringTag,{value:"Module"}));async function I_(t){await t.schema.createIndex("IDX_sessions_login_session_id").on("sessions").column("login_session_id").execute()}async function A_(t){await t.schema.dropIndex("IDX_sessions_login_session_id").on("sessions").execute()}const P_=Object.freeze(Object.defineProperty({__proto__:null,down:A_,up:I_},Symbol.toStringTag,{value:"Module"}));async function $_(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 D_(t){await t.schema.alterTable("codes").dropColumn("code_challenge").execute(),await t.schema.alterTable("codes").dropColumn("code_challenge_method").execute()}const R_=Object.freeze(Object.defineProperty({__proto__:null,down:D_,up:$_},Symbol.toStringTag,{value:"Module"}));async function z_(t){await t.schema.alterTable("codes").addColumn("redirect_uri","varchar(1024)").execute()}async function F_(t){await t.schema.alterTable("codes").dropColumn("redirect_uri").execute()}const q_=Object.freeze(Object.defineProperty({__proto__:null,down:F_,up:z_},Symbol.toStringTag,{value:"Module"}));async function j_(t){await t.schema.alterTable("codes").addColumn("nonce","varchar(1024)").execute(),await t.schema.alterTable("codes").addColumn("state","varchar(2048)").execute()}async function L_(t){await t.schema.alterTable("codes").dropColumn("nonce").execute(),await t.schema.alterTable("codes").dropColumn("state").execute()}const J_=Object.freeze(Object.defineProperty({__proto__:null,down:L_,up:j_},Symbol.toStringTag,{value:"Module"}));async function M_(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 W_(t){await t.schema.dropTable("themes").execute()}const B_=Object.freeze(Object.defineProperty({__proto__:null,down:W_,up:M_},Symbol.toStringTag,{value:"Module"}));async function K_(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 U_(t){await t.schema.dropTable("roles").execute(),await t.schema.dropTable("resource_servers").execute()}const Q_=Object.freeze(Object.defineProperty({__proto__:null,down:U_,up:K_},Symbol.toStringTag,{value:"Module"}));async function V_(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 G_(t){await t.schema.dropTable("user_permissions").execute(),await t.schema.dropTable("role_permissions").execute()}const Y_=Object.freeze(Object.defineProperty({__proto__:null,down:G_,up:V_},Symbol.toStringTag,{value:"Module"}));async function H_(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 X_(t){await t.schema.dropTable("user_roles").execute()}const Z_=Object.freeze(Object.defineProperty({__proto__:null,down:X_,up:H_},Symbol.toStringTag,{value:"Module"}));async function em(t){}async function tm(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 nm=Object.freeze(Object.defineProperty({__proto__:null,down:tm,up:em},Symbol.toStringTag,{value:"Module"}));async function rm(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 am(t){await t.schema.dropTable("organizations").execute()}const om=Object.freeze(Object.defineProperty({__proto__:null,down:am,up:rm},Symbol.toStringTag,{value:"Module"}));async function im(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 sm(t){await t.schema.dropTable("user_organizations").execute()}const um=Object.freeze(Object.defineProperty({__proto__:null,down:sm,up:im},Symbol.toStringTag,{value:"Module"}));async function dm(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 cm(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 lm=Object.freeze(Object.defineProperty({__proto__:null,down:cm,up:dm},Symbol.toStringTag,{value:"Module"}));async function _m(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 mm(t){await t.schema.dropTable("clients").execute()}const hm=Object.freeze(Object.defineProperty({__proto__:null,down:mm,up:_m},Symbol.toStringTag,{value:"Module"}));async function Ar(t){try{return await g`SELECT VERSION()`.execute(t),"mysql"}catch{return"sqlite"}}async function fm(t){await Ar(t)==="mysql"?await pm(t):await gm(t)}async function pm(t){await t.transaction().execute(async e=>{const n=await g`
1
+ "use strict";var $r=Object.defineProperty;var yn=t=>{throw TypeError(t)};var Dr=(t,e,n)=>e in t?$r(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var ie=(t,e,n)=>Dr(t,typeof e!="symbol"?e+"":e,n),Wt=(t,e,n)=>e.has(t)||yn("Cannot "+n);var i=(t,e,n)=>(Wt(t,e,"read from private field"),n?n.call(t):e.get(t)),C=(t,e,n)=>e.has(t)?yn("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,n),O=(t,e,n,r)=>(Wt(t,e,"write to private field"),r?r.call(t,n):e.set(t,n),n),w=(t,e,n)=>(Wt(t,e,"access private method"),n);Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const L=require("@authhero/adapter-interfaces");require("@hono/zod-openapi");var _t=class extends Error{constructor(e=500,n){super(n==null?void 0:n.message,{cause:n==null?void 0:n.cause});ie(this,"res");ie(this,"status");this.res=n==null?void 0:n.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 Rr(t){return async(e,n)=>{const{identities:r,...a}=n,o={...a,created_at:new Date().toISOString(),updated_at:new Date().toISOString(),login_count:0,tenant_id:e,email_verified:n.email_verified?1:0,is_social:n.is_social?1:0,app_metadata:JSON.stringify(n.app_metadata),user_metadata:JSON.stringify(n.user_metadata)};try{await t.insertInto("users").values(o).execute()}catch(u){throw u.code==="SQLITE_CONSTRAINT_UNIQUE"||u.message.includes("AlreadyExists")?new _t(409,{message:"User already exists"}):new _t(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(n=>n!==null&&typeof n=="object"?S(n):n);const e={...t};for(const n in e){const r=e[n];r===null?delete e[n]:r!==null&&typeof r=="object"&&(Array.isArray(r)?e[n]=r.map(a=>a!==null&&typeof a=="object"?S(a):a):e[n]=S(r))}return e}function Mn(t){let e={};try{e=JSON.parse(t.profileData||"{}")}catch(n){console.error("Error parsing profileData",n)}return{connection:t.connection,provider:t.provider,user_id:L.parseUserId(t.user_id).id,isSocial:!!t.is_social,profileData:{email:t.email,email_verified:!!t.email_verified,...e}}}function zr(t){return async(e,n)=>{const[r,a]=await Promise.all([t.selectFrom("users").where("users.tenant_id","=",e).where("users.user_id","=",n).selectAll().executeTakeFirst(),t.selectFrom("users").where("users.tenant_id","=",e).where("users.linked_to","=",n).selectAll().execute()]);if(!r)return null;const{tenant_id:o,...u}=r,d={...u,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:L.parseUserId(r.user_id).id,isSocial:!!r.is_social},...a.map(Mn)]};return S(d)}}function J(t,e,n,r){const a=[];let o="",u=!1;for(let c=0;c<n.length;c++){const h=n[c];h==='"'?(u=!u,o+=h):h===" "&&!u?o.trim()&&(a.push(o.trim()),o=""):o+=h}return o.trim()&&a.push(o.trim()),a.map(c=>c.replace(/^([^:]+)=/g,"$1:")).map(c=>{let h=c.startsWith("-"),p=null,l="",y=!1,f;if(c.startsWith("-_exists_:"))p=c.substring(10),y=!0,h=!0;else if(c.startsWith("_exists_:"))p=c.substring(9),y=!0,h=!1;else if(c.includes(":")){const v=h?c.substring(1):c,b=v.indexOf(":");p=v.substring(0,b),l=v.substring(b+1),y=!1,l.startsWith(">=")?(f=">=",l=l.substring(2)):l.startsWith(">")?(f=">",l=l.substring(1)):l.startsWith("<=")?(f="<=",l=l.substring(2)):l.startsWith("<")?(f="<",l=l.substring(1)):f="=",l.startsWith('"')&&l.endsWith('"')&&l.length>1&&(l=l.slice(1,-1))}else p=null,l=c,y=!1;return{key:p,value:l,isNegation:h,isExistsQuery:y,operator:f}}).forEach(({key:c,value:h,isNegation:p,isExistsQuery:l,operator:y})=>{if(c)if(l)p?e=e.where(c,"is",null):e=e.where(c,"is not",null);else if(p)switch(y){case">":e=e.where(c,"<=",h);break;case">=":e=e.where(c,"<",h);break;case"<":e=e.where(c,">=",h);break;case"<=":e=e.where(c,">",h);break;default:e=e.where(c,"!=",h)}else e=e.where(c,y,h);else if(h){const{ref:f}=t.dynamic;e=e.where(v=>v.or(r.map(b=>v(f(b),"like",`%${h}%`))))}}),e}function F(t){return typeof t=="string"?parseInt(t,10):typeof t=="bigint"?Number(t):t}function Fr(t){return async(e,n={})=>{const{page:r=0,per_page:a=50,include_totals:o=!1,sort:u,q:d}=n;let c=t.selectFrom("users").where("users.tenant_id","=",e);if(d&&(c=J(t,c,d,["email","name","phone_number"])),u&&u.sort_by){const{ref:b}=t.dynamic;c=c.orderBy(b(u.sort_by),u.sort_order)}const p=await c.offset(r*a).limit(a).selectAll().execute(),l=p.map(b=>b.user_id),y=l.length?await t.selectFrom("users").selectAll().where("users.tenant_id","=",e).where("users.linked_to","in",l).execute():[],f=p.map(b=>{const I=y.filter(D=>D.linked_to===b.user_id);return S({...b,email_verified:b.email_verified===1,is_social:b.is_social===1,app_metadata:JSON.parse(b.app_metadata),user_metadata:JSON.parse(b.user_metadata),identities:[{connection:b.connection,provider:b.provider,user_id:L.parseUserId(b.user_id).id,isSocial:!!b.is_social},...I.map(Mn)]})});if(!o)return{users:f,start:0,limit:0,length:0};const{count:v}=await c.select(b=>b.fn.countAll().as("count")).executeTakeFirstOrThrow();return{users:f,start:r*a,limit:a,length:F(v)}}}function jr(t){return async(e,n)=>(await t.deleteFrom("users").where("users.tenant_id","=",e).where("users.linked_to","=",n).execute(),(await t.deleteFrom("users").where("users.tenant_id","=",e).where("users.user_id","=",n).execute()).length===1)}function tt(t,e="",n={}){for(let r in t)if(Object.prototype.hasOwnProperty.call(t,r)){const a=e?`${e}_${r}`:r,o=t[r];typeof o=="object"&&o!==null&&!Array.isArray(o)?tt(o,a,n):typeof o=="boolean"?n[a]=o?1:0:n[a]=o}return n}function Bn(t,e){const n={};for(const[r,a]of Object.entries(t)){const o=e.find(u=>r.startsWith(`${u}_`));if(!o)n[r]=a;else{const u=r.slice(o.length+1);n[o]={...n[o],[u]:a}}}return n}function qr(t){return async(e,n,r)=>{const a=tt({...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(a).where("users.tenant_id","=",e).where("users.user_id","=",n).execute()).length===1}}function Lr(t){return async(e,n,r,a)=>{const o={linked_to:null};return(await t.updateTable("users").set(o).where("users.tenant_id","=",e).where("users.user_id","=",`${r}|${a}`).where("users.linked_to","=",`${n}`).execute()).length===1}}function Jr(t){return{create:Rr(t),remove:jr(t),get:zr(t),list:Fr(t),update:qr(t),unlink:Lr(t)}}const Mr="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";let Br=t=>crypto.getRandomValues(new Uint8Array(t)),Wr=(t,e,n)=>{let r=(2<<Math.log2(t.length-1))-1,a=-~(1.6*r*e/t.length);return(o=e)=>{let u="";for(;;){let d=n(a),c=a;for(;c--;)if(u+=t[d[c]&r]||"",u.length===o)return u}}},Kr=(t,e=21)=>Wr(t,e,Br),ae=(t=21)=>{let e="",n=crypto.getRandomValues(new Uint8Array(t));for(;t--;)e+=Mr[n[t]&63];return e};function Ur(t){return async e=>{const n={id:e.id||ae(),created_at:new Date().toISOString(),updated_at:new Date().toISOString(),...e};return await t.insertInto("tenants").values(n).execute(),n}}function Qr(t){return async e=>{const n=await t.selectFrom("tenants").where("tenants.id","=",e).selectAll().executeTakeFirst();return n?S(n):null}}function Vr(t){return async e=>{let n=t.selectFrom("tenants");const{page:r=0,per_page:a=50,include_totals:o=!1,sort:u,q:d}=e;if(u&&u.sort_by){const{ref:f}=t.dynamic;n=n.orderBy(f(u.sort_by),u.sort_order)}d&&(n=n.where(f=>f.or([f("name","like",`%${d}%`)])));const p=(await n.offset(r*a).limit(a).selectAll().execute()).map(S);if(!o)return{tenants:p};const{count:l}=await n.select(f=>f.fn.countAll().as("count")).executeTakeFirstOrThrow(),y=F(l);return{tenants:p,start:r*a,limit:a,length:y}}}function Gr(t){return async(e,n)=>{const r={...n,id:e,updated_at:new Date().toISOString()};await t.updateTable("tenants").set(r).where("id","=",e).execute()}}function Yr(t){return async e=>(await t.deleteFrom("tenants").where("tenants.id","=",e).execute()).length===1}function Hr(t){return{create:Ur(t),get:Qr(t),list:Vr(t),update:Gr(t),remove:Yr(t)}}function wn(t){return t?JSON.stringify(t):void 0}const Xr=1024;function Zr(t){return async(e,n)=>{var a,o,u;const r={id:ae(),...n,user_agent:n.user_agent.slice(0,Xr)};return await t.insertInto("logs").values({...r,description:(a=r.description)==null?void 0:a.substring(0,256),isMobile:n.isMobile?1:0,tenant_id:e,scope:(o=n.scope)==null?void 0:o.join(","),auth0_client:wn(n.auth0_client),details:(u=wn(n.details))==null?void 0:u.substring(0,8192)}).execute(),r}}function Nn(t){if(!t)return"";try{return JSON.parse(t)}catch{return t}}function Wn(t){return{...t,client_id:t.client_id,client_name:"",auth0_client:Nn(t.auth0_client),details:Nn(t.details),isMobile:!!t.isMobile,scope:t.scope?t.scope.split(","):void 0,log_id:t.id,_id:t.id}}function ea(t){return async(e,n={})=>{const{page:r=0,per_page:a=50,include_totals:o=!1,sort:u,q:d}=n;let c=t.selectFrom("logs").where("logs.tenant_id","=",e);d&&(c=J(t,c,d,["user_id","ip"]));let h=c;if(u&&u.sort_by){const{ref:f}=t.dynamic;h=h.orderBy(f(u.sort_by),u.sort_order)}h=h.offset(r*a).limit(a);const l=(await h.selectAll().execute()).map(Wn);if(!o)return{logs:l,start:0,limit:0,length:0};const{count:y}=await c.select(f=>f.fn.countAll().as("count")).executeTakeFirstOrThrow();return{logs:l,start:r*a,limit:a,length:F(y)}}}function ta(t){return async(e,n)=>{const r=await t.selectFrom("logs").where("logs.tenant_id","=",e).where("logs.id","=",n).selectAll().executeTakeFirst();return r?Wn(r):null}}function na(t){return{create:Zr(t),list:ea(t),get:ta(t)}}function ra(t){return async(e,n)=>{const r=await t.selectFrom("sessions").where("sessions.tenant_id","=",e).where("sessions.id","=",n).selectAll().executeTakeFirst();if(!r)return null;const{tenant_id:a,device:o,clients:u,...d}=r;return{...d,device:JSON.parse(o),clients:JSON.parse(u)}}}function aa(t){return async(e,n)=>{const r={...n,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(n.device),clients:JSON.stringify(n.clients)}).execute(),r}}function oa(t){return async(e,n)=>!!(await t.deleteFrom("sessions").where("tenant_id","=",e).where("sessions.id","=",n).execute()).length}function ia(t){return async(e,n,r)=>{const a={...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(a).where("tenant_id","=",e).where("sessions.id","=",n).execute()).length}}function sa(t){return async(e,n={})=>{const{page:r=0,per_page:a=50,include_totals:o=!1,sort:u,q:d}=n;let c=t.selectFrom("sessions").where("sessions.tenant_id","=",e);d&&(c=J(t,c,d,["user_id","session_id"]));let h=c;if(u&&u.sort_by){const{ref:v}=t.dynamic;h=h.orderBy(v(u.sort_by),u.sort_order)}h=h.offset(r*a).limit(a);const l=(await h.selectAll().execute()).map(v=>({...v,device:JSON.parse(v.device),clients:JSON.parse(v.clients)}));if(!o)return{sessions:l,start:0,limit:0,length:0};const{count:y}=await c.select(v=>v.fn.countAll().as("count")).executeTakeFirstOrThrow(),f=F(y);return{sessions:l,start:r*a,limit:a,length:f}}}function ua(t){return{create:aa(t),get:ra(t),list:sa(t),remove:oa(t),update:ia(t)}}function da(t){return async(e,n)=>{const r=await t.selectFrom("passwords").where("passwords.tenant_id","=",e).where("passwords.user_id","=",n).selectAll().executeTakeFirst();if(!r)return null;const{tenant_id:a,...o}=r;return o}}function ca(t){return async(e,n)=>{const r={...n,created_at:new Date().toISOString(),updated_at:new Date().toISOString()};return await t.insertInto("passwords").values({...r,tenant_id:e}).execute(),r}}function la(t){return async(e,n)=>(await t.updateTable("passwords").set({password:n.password,updated_at:new Date().toISOString()}).where("tenant_id","=",e).where("user_id","=",n.user_id).execute()).length===1}function _a(t){return{create:ca(t),update:la(t),get:da(t)}}function ma(t){return async(e,n={})=>{const{page:r=0,per_page:a=50,include_totals:o=!1,q:u}=n;let d=t.selectFrom("codes").where("codes.tenant_id","=",e);u&&(d=J(t,d,u,["code","login_id"]));const p=(await d.offset(r*a).limit(a).selectAll().execute()).map(y=>{const{tenant_id:f,...v}=y;return L.codeSchema.parse(S(v))});if(!o)return{codes:p,start:0,limit:0,length:0};const{count:l}=await d.select(y=>y.fn.countAll().as("count")).executeTakeFirstOrThrow();return{codes:p,start:r*a,limit:a,length:F(l)}}}function ha(t){return async(e,n)=>{const r={...n,created_at:new Date().toISOString()};return await t.insertInto("codes").values({...r,tenant_id:e}).execute(),r}}function fa(t){return async(e,n)=>(await t.deleteFrom("codes").where("codes.tenant_id","=",e).where("codes.code_id","=",n).executeTakeFirst()).numDeletedRows>0}function pa(t){return async(e,n,r)=>{let a=t.selectFrom("codes").where("codes.code_id","=",n).where("codes.code_type","=",r);e.length&&(a=a.where("codes.tenant_id","=",e));const o=await a.selectAll().executeTakeFirst();return o?S(o):null}}function ga(t){return async(e,n)=>(await t.updateTable("codes").set({used_at:new Date().toISOString()}).where("codes.tenant_id","=",e).where("codes.code_id","=",n).executeTakeFirst()).numUpdatedRows>0}function ya(t){return{create:ha(t),list:ma(t),remove:fa(t),used:ga(t),get:pa(t)}}const wa=17,Na={organization:"org_",connection:"con_",action:"act_",hook:"h_",rule:"rul_",resource_server:"api_",guardian_factor:"gfa_"};function Ft(t){const r=Kr("0123456789abcdefghijklmnopqrstuvwxyz",wa)();return`${Na[t]}${r}`}function va(){return Ft("organization")}function Ca(){return Ft("connection")}function ba(){return Ft("hook")}function Oa(){return Ft("resource_server")}function xa(t){return async(e,n)=>{const r={id:n.id||Ca(),...n,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 Sa(t){return async(e,n={})=>{const{page:r=0,per_page:a=50,include_totals:o=!1,q:u}=n;let d=t.selectFrom("connections").where("connections.tenant_id","=",e);u&&(d=J(t,d,u,["user_id","ip"]));const p=(await d.offset(r*a).limit(a).selectAll().execute()).map(y=>S({...y,options:JSON.parse(y.options)}));if(!o)return{connections:p,start:0,limit:0,length:0};const{count:l}=await d.select(y=>y.fn.countAll().as("count")).executeTakeFirstOrThrow();return{connections:p,start:r*a,limit:a,length:F(l)}}}function Ta(t){return async(e,n)=>(await t.deleteFrom("connections").where("connections.tenant_id","=",e).where("connections.id","=",n).executeTakeFirst()).numDeletedRows>0}function ka(t){return async(e,n)=>{const r=await t.selectFrom("connections").where("connections.tenant_id","=",e).where("connections.id","=",n).selectAll().executeTakeFirst();return r?S({...r,options:JSON.parse(r.options)}):null}}function Ia(t){return async(e,n,r)=>{const a={...r,updated_at:new Date().toISOString()};return await t.updateTable("connections").set({...a,options:a.options?JSON.stringify(a.options):void 0}).where("connections.id","=",n).where("connections.tenant_id","=",e).execute(),!0}}function Ea(t){return{create:xa(t),get:ka(t),list:Sa(t),remove:Ta(t),update:Ia(t)}}function Aa(t){return async(e,n)=>{const r={created_at:new Date().toISOString(),updated_at:new Date().toISOString(),...n,global:n.global??!1,is_first_party:n.is_first_party??!1,oidc_conformant:n.oidc_conformant??!0,sso:n.sso??!1,sso_disabled:n.sso_disabled??!0,cross_origin_authentication:n.cross_origin_authentication??!1,custom_login_page_on:n.custom_login_page_on??!1,require_pushed_authorization_requests:n.require_pushed_authorization_requests??!1,require_proof_of_possession:n.require_proof_of_possession??!1};return await t.insertInto("clients").values({...r,tenant_id:e,global:n.global?1:0,is_first_party:n.is_first_party?1:0,oidc_conformant:n.oidc_conformant?1:0,sso:n.sso?1:0,sso_disabled:n.sso_disabled?1:0,cross_origin_authentication:n.cross_origin_authentication?1:0,custom_login_page_on:n.custom_login_page_on?1:0,require_pushed_authorization_requests:n.require_pushed_authorization_requests?1:0,require_proof_of_possession:n.require_proof_of_possession?1:0,callbacks:JSON.stringify(n.callbacks||[]),allowed_origins:JSON.stringify(n.allowed_origins||[]),web_origins:JSON.stringify(n.web_origins||[]),client_aliases:JSON.stringify(n.client_aliases||[]),allowed_clients:JSON.stringify(n.allowed_clients||[]),allowed_logout_urls:JSON.stringify(n.allowed_logout_urls||[]),session_transfer:JSON.stringify(n.session_transfer||{}),oidc_logout:JSON.stringify(n.oidc_logout||{}),grant_types:JSON.stringify(n.grant_types||[]),jwt_configuration:JSON.stringify(n.jwt_configuration||{}),signing_keys:JSON.stringify(n.signing_keys||[]),encryption_key:JSON.stringify(n.encryption_key||{}),addons:JSON.stringify(n.addons||{}),client_metadata:JSON.stringify(n.client_metadata||{}),mobile:JSON.stringify(n.mobile||{}),native_social_login:JSON.stringify(n.native_social_login||{}),refresh_token:JSON.stringify(n.refresh_token||{}),default_organization:JSON.stringify(n.default_organization||{}),client_authentication_methods:JSON.stringify(n.client_authentication_methods||{}),signed_request_object:JSON.stringify(n.signed_request_object||{}),token_quota:JSON.stringify(n.token_quota||{})}).execute(),r}}function Pa(t){return async(e,n)=>{const r=await t.selectFrom("clients").where("clients.tenant_id","=",e).where("clients.client_id","=",n).selectAll().executeTakeFirst();if(!r)return null;const{tenant_id:a,...o}=r;return S({...o,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,callbacks:JSON.parse(r.callbacks),allowed_origins:JSON.parse(r.allowed_origins),web_origins:JSON.parse(r.web_origins),client_aliases:JSON.parse(r.client_aliases),allowed_clients:JSON.parse(r.allowed_clients),allowed_logout_urls:JSON.parse(r.allowed_logout_urls),session_transfer:JSON.parse(r.session_transfer),oidc_logout:JSON.parse(r.oidc_logout),grant_types:JSON.parse(r.grant_types),jwt_configuration:JSON.parse(r.jwt_configuration),signing_keys:JSON.parse(r.signing_keys),encryption_key:JSON.parse(r.encryption_key),addons:JSON.parse(r.addons),client_metadata:JSON.parse(r.client_metadata),mobile:JSON.parse(r.mobile),native_social_login:JSON.parse(r.native_social_login),refresh_token:JSON.parse(r.refresh_token),default_organization:JSON.parse(r.default_organization),client_authentication_methods:JSON.parse(r.client_authentication_methods),signed_request_object:JSON.parse(r.signed_request_object),token_quota:JSON.parse(r.token_quota)})}}function $a(t){return async(e,n)=>{let r=t.selectFrom("clients").where("clients.tenant_id","=",e);return n!=null&&n.per_page&&(r=r.limit(n.per_page)),n!=null&&n.page&&(n!=null&&n.per_page)&&(r=r.offset((n.page-1)*n.per_page)),{clients:(await r.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 Da(t){return async(e,n)=>(await t.deleteFrom("clients").where("clients.tenant_id","=",e).where("clients.client_id","=",n).executeTakeFirst()).numDeletedRows>0}function Ra(t){return async(e,n,r)=>{const a={...r,updated_at:new Date().toISOString()};return r.global!==void 0&&(a.global=r.global?1:0),r.is_first_party!==void 0&&(a.is_first_party=r.is_first_party?1:0),r.oidc_conformant!==void 0&&(a.oidc_conformant=r.oidc_conformant?1:0),r.sso!==void 0&&(a.sso=r.sso?1:0),r.sso_disabled!==void 0&&(a.sso_disabled=r.sso_disabled?1:0),r.cross_origin_authentication!==void 0&&(a.cross_origin_authentication=r.cross_origin_authentication?1:0),r.custom_login_page_on!==void 0&&(a.custom_login_page_on=r.custom_login_page_on?1:0),r.require_pushed_authorization_requests!==void 0&&(a.require_pushed_authorization_requests=r.require_pushed_authorization_requests?1:0),r.require_proof_of_possession!==void 0&&(a.require_proof_of_possession=r.require_proof_of_possession?1:0),r.callbacks!==void 0&&(a.callbacks=JSON.stringify(r.callbacks)),r.allowed_origins!==void 0&&(a.allowed_origins=JSON.stringify(r.allowed_origins)),r.web_origins!==void 0&&(a.web_origins=JSON.stringify(r.web_origins)),r.client_aliases!==void 0&&(a.client_aliases=JSON.stringify(r.client_aliases)),r.allowed_clients!==void 0&&(a.allowed_clients=JSON.stringify(r.allowed_clients)),r.allowed_logout_urls!==void 0&&(a.allowed_logout_urls=JSON.stringify(r.allowed_logout_urls)),r.session_transfer!==void 0&&(a.session_transfer=JSON.stringify(r.session_transfer)),r.oidc_logout!==void 0&&(a.oidc_logout=JSON.stringify(r.oidc_logout)),r.grant_types!==void 0&&(a.grant_types=JSON.stringify(r.grant_types)),r.jwt_configuration!==void 0&&(a.jwt_configuration=JSON.stringify(r.jwt_configuration)),r.signing_keys!==void 0&&(a.signing_keys=JSON.stringify(r.signing_keys)),r.encryption_key!==void 0&&(a.encryption_key=JSON.stringify(r.encryption_key)),r.addons!==void 0&&(a.addons=JSON.stringify(r.addons)),r.client_metadata!==void 0&&(a.client_metadata=JSON.stringify(r.client_metadata)),r.mobile!==void 0&&(a.mobile=JSON.stringify(r.mobile)),r.native_social_login!==void 0&&(a.native_social_login=JSON.stringify(r.native_social_login)),r.refresh_token!==void 0&&(a.refresh_token=JSON.stringify(r.refresh_token)),r.default_organization!==void 0&&(a.default_organization=JSON.stringify(r.default_organization)),r.client_authentication_methods!==void 0&&(a.client_authentication_methods=JSON.stringify(r.client_authentication_methods)),r.signed_request_object!==void 0&&(a.signed_request_object=JSON.stringify(r.signed_request_object)),r.token_quota!==void 0&&(a.token_quota=JSON.stringify(r.token_quota)),(await t.updateTable("clients").set(a).where("clients.tenant_id","=",e).where("clients.client_id","=",n).executeTakeFirst()).numUpdatedRows>0}}function za(t){return{create:Aa(t),get:Pa(t),list:$a(t),remove:Da(t),update:Ra(t)}}function Fa(t){return async(e,n)=>{const r=new Date().toISOString(),a=ae(),{scope:o,authorization_details_types:u,...d}=n,c={id:a,tenant_id:e,...d,scope:o?JSON.stringify(o):"[]",authorization_details_types:u?JSON.stringify(u):"[]",allow_any_organization:d.allow_any_organization!==void 0?d.allow_any_organization?1:0:void 0,is_system:d.is_system!==void 0?d.is_system?1:0:void 0,created_at:r,updated_at:r};return await t.insertInto("client_grants").values(c).execute(),S({id:a,tenant_id:e,...d,scope:o||[],authorization_details_types:u||[],allow_any_organization:d.allow_any_organization??!1,is_system:d.is_system??!1,created_at:r,updated_at:r})}}function ja(t){return async(e,n)=>{const r=await t.selectFrom("client_grants").selectAll().where("client_grants.tenant_id","=",e).where("client_grants.id","=",n).executeTakeFirst();if(!r)return null;const a={id:r.id,client_id:r.client_id,audience:r.audience,scope:r.scope?JSON.parse(r.scope):[],organization_usage:r.organization_usage,allow_any_organization:r.allow_any_organization!==void 0?!!r.allow_any_organization:!1,is_system:r.is_system!==void 0?!!r.is_system:!1,subject_type:r.subject_type,authorization_details_types:r.authorization_details_types?JSON.parse(r.authorization_details_types):[],created_at:r.created_at,updated_at:r.updated_at};return S(a)}}function qa(t){return async(e,n={})=>{const{page:r=0,per_page:a=50,include_totals:o=!1,q:u,sort:d}=n;let c=t.selectFrom("client_grants").where("client_grants.tenant_id","=",e);if(u){const f=u.trim(),v=f.split(/\s+/),b=v.length===1?v[0]:void 0,I=b?b.match(/^(-)?([a-zA-Z_][a-zA-Z0-9_]*):"?([^"]*)"?$/):null,D=I?I[3]:"",oe=/^(>=|>|<=|<)/.test(D||"");if(I&&!oe&&D){const Q=!!I[1],ge=I[2],{ref:vt}=t.dynamic,ye=vt(`client_grants.${ge}`);if(ge==="allow_any_organization"){const rt=D==="true"?1:0;Q?c=c.where(ye,"!=",rt):c=c.where(ye,"=",rt)}else Q?c=c.where(ye,"!=",D):c=c.where(ye,"=",D)}else c=J(t,c,f,[])}let h=c;if(d){const{ref:f}=t.dynamic;h=h.orderBy(f(d.sort_by),d.sort_order)}else h=h.orderBy("client_grants.created_at","desc");h=h.limit(a).offset(r*a);const l=(await h.selectAll().execute()).map(f=>{const v={id:f.id,client_id:f.client_id,audience:f.audience,scope:f.scope?JSON.parse(f.scope):[],organization_usage:f.organization_usage,allow_any_organization:f.allow_any_organization!==void 0?!!f.allow_any_organization:!1,is_system:f.is_system!==void 0?!!f.is_system:!1,subject_type:f.subject_type,authorization_details_types:f.authorization_details_types?JSON.parse(f.authorization_details_types):[],created_at:f.created_at,updated_at:f.updated_at};return S(v)});if(!o)return{client_grants:l,start:0,limit:0,length:0};const{count:y}=await c.select(f=>f.fn.countAll().as("count")).executeTakeFirstOrThrow();return{client_grants:l,start:r*a,limit:a,length:F(y)}}}function La(t){return async(e,n)=>((await t.deleteFrom("client_grants").where("client_grants.tenant_id","=",e).where("client_grants.id","=",n).executeTakeFirst()).numDeletedRows??0n)>0n}function Ja(t){return async(e,n,r)=>{const a=new Date().toISOString(),{scope:o,authorization_details_types:u,...d}=r,c={...d,updated_at:a};return o!==void 0&&(c.scope=JSON.stringify(o)),u!==void 0&&(c.authorization_details_types=JSON.stringify(u)),d.allow_any_organization!==void 0&&(c.allow_any_organization=d.allow_any_organization?1:0),d.is_system!==void 0&&(c.is_system=d.is_system?1:0),((await t.updateTable("client_grants").set(c).where("client_grants.tenant_id","=",e).where("client_grants.id","=",n).executeTakeFirst()).numUpdatedRows??0n)>0n}}function Ma(t){return{create:Fa(t),get:ja(t),list:qa(t),remove:La(t),update:Ja(t)}}function Ba(t){return{get:async e=>{const n=await t.selectFrom("clients").selectAll().where("client_id","=",e).executeTakeFirst();if(!n)return null;const r=await t.selectFrom("tenants").selectAll().where("id","=",n.tenant_id).executeTakeFirst();if(!r)throw new _t(404,{message:"Tenant not found"});const a=await t.selectFrom("connections").where("tenant_id","=",n.tenant_id).selectAll().execute(),o=n.client_metadata?JSON.parse(n.client_metadata):{};return{...n,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,connections:a.map(d=>L.connectionSchema.parse(S({...d,options:d.options?JSON.parse(d.options):{}}))),addons:n.addons?JSON.parse(n.addons):{},callbacks:n.callbacks?JSON.parse(n.callbacks):[],allowed_origins:n.allowed_origins?JSON.parse(n.allowed_origins):[],web_origins:n.web_origins?JSON.parse(n.web_origins):[],client_aliases:n.client_aliases?JSON.parse(n.client_aliases):[],allowed_clients:n.allowed_clients?JSON.parse(n.allowed_clients):[],allowed_logout_urls:n.allowed_logout_urls?JSON.parse(n.allowed_logout_urls):[],session_transfer:n.session_transfer?JSON.parse(n.session_transfer):{},oidc_logout:n.oidc_logout?JSON.parse(n.oidc_logout):{},grant_types:n.grant_types?JSON.parse(n.grant_types):[],jwt_configuration:n.jwt_configuration?JSON.parse(n.jwt_configuration):{},signing_keys:n.signing_keys?JSON.parse(n.signing_keys):[],encryption_key:n.encryption_key?JSON.parse(n.encryption_key):{},client_metadata:o,mobile:n.mobile?JSON.parse(n.mobile):{},native_social_login:n.native_social_login?JSON.parse(n.native_social_login):{},refresh_token:n.refresh_token?JSON.parse(n.refresh_token):{},default_organization:n.default_organization?JSON.parse(n.default_organization):{},client_authentication_methods:n.client_authentication_methods?JSON.parse(n.client_authentication_methods):{},signed_request_object:n.signed_request_object?JSON.parse(n.signed_request_object):{},token_quota:n.token_quota?JSON.parse(n.token_quota):{},tenant:S(r),disable_sign_ups:o.disable_sign_ups==="true",email_validation:o.email_validation||"disabled"}}}}function Wa(t){return async(e={})=>{const{page:n=0,per_page:r=100,include_totals:a=!1,sort:o,q:u}=e;let d=t.selectFrom("keys").where(f=>f.or([f("revoked_at",">",new Date().toISOString()),f("revoked_at","is",null)]));u&&(d=J(t,d,u,["kid","connection","fingerprint","thumbprint","type"]));let c=d.select(f=>f.fn.count("kid").as("count"));const h=n*r;d=d.limit(r).offset(h),o&&(d=d.orderBy(o.sort_by,o.sort_order));const p=await d.selectAll().execute();if(!a)return{signingKeys:p,start:0,limit:0,length:0};const l=await c.executeTakeFirst(),y=F((l==null?void 0:l.count)??0);return{signingKeys:p,start:h,limit:r,length:y}}}function Ka(t){return async e=>{await t.insertInto("keys").values({...e,created_at:new Date().toDateString()}).execute()}}function Ua(t){return async(e,n)=>!!(await t.updateTable("keys").set(n).where("kid","=",e).execute()).length}function Qa(t){return{create:Ka(t),list:Wa(t),update:Ua(t)}}function Va(t){return async(e,n)=>{const r={custom_domain_id:ae(),status:"pending",primary:!1,...n};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 Ga(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 Ya(t){return async(e,n)=>(await t.deleteFrom("custom_domains").where("custom_domains.tenant_id","=",e).where("custom_domains.custom_domain_id","=",n).execute()).length>0}function Ha(t){return async(e,n)=>{const r=await t.selectFrom("custom_domains").where("custom_domains.tenant_id","=",e).where("custom_domains.custom_domain_id","=",n).selectAll().executeTakeFirst();return r?{...r,primary:r.primary===1}:null}}function Xa(t){return async(e,n,r)=>{const a={...r,updated_at:new Date().toISOString(),primary:r.primary?1:0};return(await t.updateTable("custom_domains").set(a).where("custom_domains.tenant_id","=",e).where("custom_domains.custom_domain_id","=",n).execute()).length>0}}function Za(t){return async e=>{const n=await t.selectFrom("custom_domains").where("custom_domains.domain","=",e).selectAll().executeTakeFirst();return n?{...n,primary:n.primary===1}:null}}function eo(t){return{create:Va(t),get:Ha(t),getByDomain:Za(t),list:Ga(t),remove:Ya(t),update:Xa(t)}}function to(t){return async e=>{const[n]=await t.selectFrom("branding").where("branding.tenant_id","=",e).selectAll().execute();if(!n)return null;const{tenant_id:r,colors_primary:a,colors_page_background_type:o,colors_page_background_start:u,colors_page_background_end:d,colors_page_background_angle_dev:c,font_url:h,...p}=n;return S({...p,colors:{primary:a,page_background:{type:o,start:u,end:d,angle_deg:c}},font:h?{url:h}:void 0})}}function no(t){return async(e,n)=>{var u,d,c,h,p,l,y,f,v,b,I,D,oe,Q,ge,vt,ye,rt;const{colors:r,font:a,...o}=n;try{await t.insertInto("branding").values({...o,colors_primary:r==null?void 0:r.primary,colors_page_background_type:(d=(u=n.colors)==null?void 0:u.page_background)==null?void 0:d.type,colors_page_background_start:(h=(c=n.colors)==null?void 0:c.page_background)==null?void 0:h.start,colors_page_background_end:(l=(p=n.colors)==null?void 0:p.page_background)==null?void 0:l.end,colors_page_background_angle_dev:(f=(y=n.colors)==null?void 0:y.page_background)==null?void 0:f.angle_deg,font_url:(v=n.font)==null?void 0:v.url,tenant_id:e}).execute()}catch{await t.updateTable("branding").set({...o,colors_primary:r==null?void 0:r.primary,colors_page_background_type:(I=(b=n.colors)==null?void 0:b.page_background)==null?void 0:I.type,colors_page_background_start:(oe=(D=n.colors)==null?void 0:D.page_background)==null?void 0:oe.start,colors_page_background_end:(ge=(Q=n.colors)==null?void 0:Q.page_background)==null?void 0:ge.end,colors_page_background_angle_dev:(ye=(vt=n.colors)==null?void 0:vt.page_background)==null?void 0:ye.angle_deg,font_url:(rt=n.font)==null?void 0:rt.url}).where("tenant_id","=",e).execute()}}}function ro(t){return{get:to(t),set:no(t)}}function ao(t){return async(e,n={})=>{const{page:r=0,per_page:a=50,include_totals:o=!1,q:u}=n;let d=t.selectFrom("hooks").where("hooks.tenant_id","=",e);u&&(d=J(t,d,u,["url","form_id"]));const p=(await d.offset(r*a).limit(a).selectAll().execute()).map(y=>{const{tenant_id:f,enabled:v,synchronous:b,...I}=y;return S({...I,enabled:!!v,synchronous:!!b})});if(!o)return{hooks:p,start:0,limit:0,length:0};const{count:l}=await d.select(y=>y.fn.countAll().as("count")).executeTakeFirstOrThrow();return{hooks:p,start:r*a,limit:a,length:F(l)}}}function oo(t){return async(e,n)=>{const r=await t.selectFrom("hooks").where("hooks.tenant_id","=",e).where("hooks.hook_id","=",n).selectAll().executeTakeFirst();return r?S({...r,enabled:!!r.enabled,synchronous:!!r.synchronous}):null}}function io(t){return async(e,n)=>(await t.deleteFrom("hooks").where("hooks.tenant_id","=",e).where("hooks.hook_id","=",n).executeTakeFirst()).numDeletedRows>0}function so(t){return async(e,n)=>{const r={hook_id:n.hook_id||ba(),...n,created_at:new Date().toISOString(),updated_at:new Date().toISOString()};return await t.insertInto("hooks").values({...r,tenant_id:e,enabled:n.enabled?1:0,synchronous:n.synchronous?1:0}).execute(),r}}function uo(t){return async(e,n,r)=>{const a={...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(a).where("hooks.hook_id","=",n).where("hooks.tenant_id","=",e).execute(),!0}}function co(t){return{create:so(t),get:oo(t),list:ao(t),update:uo(t),remove:io(t)}}function lo(t){return async(e,n)=>{const r={themeId:ae(),created_at:new Date().toISOString(),updated_at:new Date().toISOString(),...n},a={...r,tenant_id:e};return await t.insertInto("themes").values(tt(a)).execute(),r}}function _o(t){return async(e,n)=>(await t.deleteFrom("themes").where("themes.tenant_id","=",e).where("themes.themeId","=",n).executeTakeFirst()).numDeletedRows>0}function mo(t){return async(e,n)=>{const r=await t.selectFrom("themes").where("themes.tenant_id","=",e).where("themes.themeId","=",n).selectAll().executeTakeFirst();if(!r)return null;const a={...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 S(Bn(a,["widget","colors","borders","fonts","page_background"]))}}function ho(t){return async(e,n,r)=>{const a=tt({...r,updated_at:new Date().toISOString()});return await t.updateTable("themes").set(a).where("themes.themeId","=",n).where("themes.tenant_id","=",e).execute(),!0}}function fo(t){return{create:lo(t),get:mo(t),remove:_o(t),update:ho(t)}}function po(t){return async(e,n)=>{const r=await t.selectFrom("login_sessions").where("login_sessions.id","=",n).selectAll().executeTakeFirst();return r?L.loginSessionSchema.parse(Bn(S({...r,login_completed:!!r.login_completed}),["authParams"])):null}}function go(t){return async(e,n)=>{var a;const r={id:ae(),...n,authorization_url:(a=n.authorization_url)==null?void 0:a.slice(0,1024),created_at:new Date().toISOString(),updated_at:new Date().toISOString(),login_completed:!!n.login_completed};return await t.insertInto("login_sessions").values({...tt(r),tenant_id:e}).execute(),r}}function yo(t){return async(e,n,r)=>(await t.updateTable("login_sessions").set(tt({...r})).where("login_sessions.id","=",n).where("login_sessions.tenant_id","=",e).execute()).length===1}function wo(t){return async(e,n)=>(await t.deleteFrom("login_sessions").where("login_sessions.tenant_id","=",e).where("login_sessions.id","=",n).execute()).length>0}function No(t){return{create:go(t),get:po(t),update:yo(t),remove:wo(t)}}function vo(t){return async e=>{const[n]=await t.selectFrom("prompt_settings").where("prompt_settings.tenant_id","=",e).selectAll().execute();return S({identifier_first:!!(n!=null&&n.identifier_first),password_first:!!(n!=null&&n.password_first),webauthn_platform_first_factor:!!(n!=null&&n.webauthn_platform_first_factor),universal_login_experience:(n==null?void 0:n.universal_login_experience)||"new"})}}function vn(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 Co(t){return async(e,n)=>{try{const r=L.promptSettingSchema.parse(n);await t.insertInto("prompt_settings").values({...vn(r),tenant_id:e}).execute()}catch{await t.updateTable("prompt_settings").set(vn(n)).where("tenant_id","=",e).execute()}}}function bo(t){return{get:vo(t),set:Co(t)}}function Oo(t){return async e=>{const[n]=await t.selectFrom("email_providers").where("email_providers.tenant_id","=",e).selectAll().execute();if(!n)return null;const{tenant_id:r,credentials:a,settings:o,enabled:u,...d}=n;return S({...d,credentials:JSON.parse(a),settings:JSON.parse(o),enabled:!!u})}}function xo(t){return async(e,n)=>{const{credentials:r,settings:a,enabled:o,...u}=n;await t.updateTable("email_providers").set({...u,credentials:r?JSON.stringify(r):void 0,settings:a?JSON.stringify(a):void 0,enabled:o!==void 0?o?1:0:void 0}).where("tenant_id","=",e).execute()}}function So(t){return async(e,n)=>{const{credentials:r,settings:a,enabled:o,...u}=n;await t.insertInto("email_providers").values({...u,enabled:o?1:0,credentials:JSON.stringify(r),settings:JSON.stringify(a),tenant_id:e,created_at:new Date().toISOString(),updated_at:new Date().toISOString()}).execute()}}function To(t){return{get:Oo(t),create:So(t),update:xo(t)}}function ko(t){return async(e,n)=>{const r=await t.selectFrom("refresh_tokens").where("refresh_tokens.tenant_id","=",e).where("refresh_tokens.id","=",n).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 Io(t){return async(e,n)=>{const r={...n,created_at:new Date().toISOString()};return await t.insertInto("refresh_tokens").values({...r,tenant_id:e,rotating:n.rotating?1:0,device:JSON.stringify(n.device),resource_servers:JSON.stringify(n.resource_servers)}).execute(),{...n,...r}}}function Eo(t){return async(e,n)=>!!(await t.deleteFrom("refresh_tokens").where("tenant_id","=",e).where("refresh_tokens.id","=",n).execute()).length}function Ao(t){return async(e,n,r)=>{const a={...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(a).where("tenant_id","=",e).where("refresh_tokens.id","=",n).execute()).length}}function Po(t){return async(e,n={})=>{const{page:r=0,per_page:a=50,include_totals:o=!1,sort:u,q:d}=n;let c=t.selectFrom("refresh_tokens").where("refresh_tokens.tenant_id","=",e);d&&(c=J(t,c,d,["token","session_id"]));let h=c;if(u&&u.sort_by){const{ref:v}=t.dynamic;h=h.orderBy(v(u.sort_by),u.sort_order)}h=h.offset(r*a).limit(a);const l=(await h.selectAll().execute()).map(v=>({...v,rotating:!!v.rotating,device:v.device?JSON.parse(v.device):{},resource_servers:v.resource_servers?JSON.parse(v.resource_servers):[]}));if(!o)return{refresh_tokens:l,start:0,limit:0,length:0};const{count:y}=await c.select(v=>v.fn.countAll().as("count")).executeTakeFirstOrThrow(),f=F(y);return{refresh_tokens:l,start:r*a,limit:a,length:f}}}function $o(t){return{create:Io(t),get:ko(t),list:Po(t),remove:Eo(t),update:Ao(t)}}function Do(t){return async()=>{const e=new Date(Date.now()-864e5).toISOString(),n=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","<",n).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","<",n),o("idle_expires_at","<",n)])).limit(1e4).execute(),console.log("delete sessions");const a=await t.selectFrom("sessions").select("id").where(o=>o.or([o("expires_at","<",n),o("idle_expires_at","<",n)])).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 Ro(t){return async(e,n)=>{const r=L.formSchema.parse({id:ae(),...n,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(),L.formSchema.parse(r)}}function zo(t){return async(e,n={})=>{const{page:r=0,per_page:a=50,include_totals:o=!1,q:u}=n;let d=t.selectFrom("forms").where("tenant_id","=",e);u&&(d=J(t,d,u,[]));const p=(await d.offset(r*a).limit(a).selectAll().execute()).map(y=>{const f={...y};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 L.formSchema.parse(S(f))});if(!o)return{forms:p,start:0,limit:0,length:0};const{count:l}=await d.select(y=>y.fn.countAll().as("count")).executeTakeFirstOrThrow();return{forms:p,start:r*a,limit:a,length:F(l)}}}function Fo(t){return async(e,n)=>{const{numDeletedRows:r}=await t.deleteFrom("forms").where("id","=",n).where("tenant_id","=",e).executeTakeFirst();return r>0}}function jo(t){return async(e,n)=>{const r=await t.selectFrom("forms").selectAll().where("forms.id","=",n).where("tenant_id","=",e).executeTakeFirst();if(!r)return null;const a={...r};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 L.formSchema.parse(S(a))}}function qo(t){return async(e,n,r)=>{const a={...r,updated_at:new Date().toISOString()};r.nodes&&(a.nodes=JSON.stringify(r.nodes)),r.start&&(a.start=JSON.stringify(r.start)),r.ending&&(a.ending=JSON.stringify(r.ending));const{numUpdatedRows:o}=await t.updateTable("forms").set(a).where("id","=",n).where("tenant_id","=",e).executeTakeFirst();return o>0}}function Lo(t){return{create:Ro(t),get:jo(t),list:zo(t),remove:Fo(t),update:qo(t)}}function Jo(t){return async(e,n)=>{const r=new Date().toISOString(),a={id:Oa(),...n,created_at:r,updated_at:r},o=L.resourceServerSchema.parse(a),{verificationKey:u,scopes:d,options:c,skip_consent_for_verifiable_first_party_clients:h,allow_offline_access:p,...l}=o,y={...l,tenant_id:e,scopes:d?JSON.stringify(d):"[]",options:c?JSON.stringify(c):"{}",skip_consent_for_verifiable_first_party_clients:h?1:0,allow_offline_access:p?1:0,verification_key:u,created_at:r,updated_at:r};return await t.insertInto("resource_servers").values(y).execute(),S(o)}}function Mo(t){return async(e,n)=>{const r=await t.selectFrom("resource_servers").selectAll().where("tenant_id","=",e).where("id","=",n).executeTakeFirst();if(!r)return null;const a=r,{verification_key:o,scopes:u,options:d,skip_consent_for_verifiable_first_party_clients:c,allow_offline_access:h,...p}=a,l={...p,scopes:u?JSON.parse(u):[],options:d?JSON.parse(d):{},skip_consent_for_verifiable_first_party_clients:!!c,allow_offline_access:!!h,verificationKey:o};return S(l)}}function Bo(t){return async(e,n={})=>{const{page:r=0,per_page:a=50,include_totals:o=!1,q:u}=n;let d=t.selectFrom("resource_servers").where("resource_servers.tenant_id","=",e);if(u){const y=u.trim(),f=y.split(/\s+/),v=f.length===1?f[0]:void 0,b=v?v.match(/^(-)?(name|identifier):(.*)$/):null,I=b?b[3]:"",D=/^(>=|>|<=|<)/.test(I||"");if(b&&!D){const oe=!!b[1],Q=b[2]==="name"?"resource_servers.name":"resource_servers.identifier";d=oe?d.where(Q,"not like",`%${I}%`):d.where(Q,"like",`%${I}%`)}else d=J(t,d,y,["resource_servers.name","resource_servers.identifier"])}const p=(await d.offset(r*a).limit(a).selectAll().execute()).map(y=>{const f=y,{verification_key:v,scopes:b,options:I,skip_consent_for_verifiable_first_party_clients:D,allow_offline_access:oe,...Q}=f,ge={...Q,scopes:b?JSON.parse(b):[],options:I?JSON.parse(I):{},skip_consent_for_verifiable_first_party_clients:!!D,allow_offline_access:!!oe,verificationKey:v};return S(ge)});if(!o)return{resource_servers:p,start:0,limit:0,length:0};const{count:l}=await d.select(y=>y.fn.countAll().as("count")).executeTakeFirstOrThrow();return{resource_servers:p,start:r*a,limit:a,length:F(l)}}}function Wo(t){return async(e,n)=>{const r=await t.deleteFrom("resource_servers").where("tenant_id","=",e).where("id","=",n).executeTakeFirst();return Number(r.numDeletedRows)>0}}function Ko(t){return async(e,n,r)=>{const{verificationKey:a,scopes:o,options:u,skip_consent_for_verifiable_first_party_clients:d,allow_offline_access:c,...h}=r,p={...h,updated_at:new Date().toISOString()};if(a!==void 0&&(p.verification_key=a),o!==void 0&&(p.scopes=JSON.stringify(o)),u!==void 0){const y=await t.selectFrom("resource_servers").select("options").where("tenant_id","=",e).where("id","=",n).executeTakeFirst(),v={...y!=null&&y.options?JSON.parse(y.options):{},...u};p.options=JSON.stringify(v)}d!==void 0&&(p.skip_consent_for_verifiable_first_party_clients=d?1:0),c!==void 0&&(p.allow_offline_access=c?1:0);const l=await t.updateTable("resource_servers").set(p).where("tenant_id","=",e).where("id","=",n).executeTakeFirst();return Number(l.numUpdatedRows)>0}}function Uo(t){return{create:Jo(t),get:Mo(t),list:Bo(t),remove:Wo(t),update:Ko(t)}}function Qo(t){return async(e,n)=>{const r=new Date().toISOString(),a=ae(),o={id:a,...n,tenant_id:e,created_at:r,updated_at:r};return await t.insertInto("roles").values(o).execute(),{id:a,...n,created_at:r,updated_at:r}}}function Vo(t){return async(e,n)=>{const r=await t.selectFrom("roles").selectAll().where("roles.tenant_id","=",e).where("roles.id","=",n).executeTakeFirst();return r?{...r}:null}}function Go(t){return async(e,n)=>{let r=t.selectFrom("roles").where("roles.tenant_id","=",e);const{page:a=0,per_page:o=50,include_totals:u=!1}=n;n.q&&(r=J(t,r,n.q,["name"]));const c=await r.offset(a*o).limit(o).selectAll().execute();if(!u)return{roles:c,start:a*o,limit:o,length:c.length};const{count:h}=await r.select(p=>p.fn.countAll().as("count")).executeTakeFirstOrThrow();return{roles:c,start:a*o,limit:o,length:F(h)}}}function Yo(t){return async(e,n,r)=>{const a={...r,updated_at:new Date().toISOString()},o=await t.updateTable("roles").set(a).where("roles.tenant_id","=",e).where("roles.id","=",n).executeTakeFirst();return Number(o.numUpdatedRows)>0}}function Ho(t){return async(e,n)=>{const r=await t.deleteFrom("roles").where("tenant_id","=",e).where("id","=",n).executeTakeFirst();return Number(r.numDeletedRows)>0}}function Xo(t){return{create:Qo(t),get:Vo(t),list:Go(t),update:Yo(t),remove:Ho(t)}}function Zo(t){return async(e,n,r)=>{if(r.length===0)return!0;const a=new Date().toISOString();try{for(const o of r){if(o.role_id!==n)throw new Error(`Permission role_id ${o.role_id} does not match expected role_id ${n}`);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(d){if(d.code==="SQLITE_CONSTRAINT_PRIMARYKEY"||d.code==="SQLITE_CONSTRAINT_UNIQUE")continue;throw d}}return!0}catch(o){return console.error("Error assigning role permissions:",o),!1}}}function ei(t){return async(e,n,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","=",n).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 ti(t){return async(e,n,r={})=>{const{page:a=0,per_page:o=50,include_totals:u=!1}=r;let d=t.selectFrom("role_permissions").leftJoin("resource_servers",l=>l.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","=",n);const p=(await d.offset(a*o).limit(o).execute()).map(l=>({role_id:l.role_id,resource_server_identifier:l.resource_server_identifier,resource_server_name:l.resource_server_name||l.resource_server_identifier,permission_name:l.permission_name,description:null,created_at:l.created_at}));return u&&await d.select(l=>l.fn.countAll().as("count")).executeTakeFirstOrThrow(),p}}function ni(t){return{assign:Zo(t),remove:ei(t),list:ti(t)}}function ri(t){return async(e,n,r,a)=>{const o=new Date().toISOString();try{const u={tenant_id:e,user_id:n,resource_server_identifier:r.resource_server_identifier,permission_name:r.permission_name,organization_id:a||r.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 ai(t){return async(e,n,r,a)=>{try{let o=t.deleteFrom("user_permissions").where("tenant_id","=",e).where("user_id","=",n).where("resource_server_identifier","=",r.resource_server_identifier).where("permission_name","=",r.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 oi(t){return async(e,n,r,a)=>{let o=t.selectFrom("user_permissions").leftJoin("resource_servers",d=>d.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","=",n);return a!==void 0&&(o=o.where("user_permissions.organization_id","=",a)),(await o.execute()).map(d=>({resource_server_identifier:d.resource_server_identifier,permission_name:d.permission_name,description:null,resource_server_name:d.resource_server_name||d.resource_server_identifier,user_id:d.user_id,created_at:d.created_at,organization_id:d.organization_id===""?void 0:d.organization_id}))}}function ii(t){return{create:ri(t),remove:ai(t),list:oi(t)}}function si(t){const e=ii(t);return{create:(n,r,a,o)=>e.create(n,r,a,o),remove:(n,r,a,o)=>e.remove(n,r,a,o),list:(n,r,a,o)=>e.list(n,r,a,o)}}function ui(t){return async(e,n,r,a)=>{let o=t.selectFrom("user_roles as ur").innerJoin("roles as r",d=>d.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","=",n);return a!==void 0&&(o=o.where("ur.organization_id","=",a)),await o.execute()}}function di(t){return async(e,n,r,a)=>{const o=new Date().toISOString();try{return await t.insertInto("user_roles").values({tenant_id:e,user_id:n,role_id:r,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 ci(t){return async(e,n,r,a)=>{try{let o=t.deleteFrom("user_roles").where("tenant_id","=",e).where("user_id","=",n).where("role_id","=",r);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 li(t){return{list:ui(t),create:di(t),remove:ci(t)}}function _i(t){const e=li(t);return{list:(n,r,a,o)=>e.list(n,r,a,o),create:(n,r,a,o)=>e.create(n,r,a,o),remove:(n,r,a,o)=>e.remove(n,r,a,o)}}function mi(t){return async(e,n)=>{const r={...n,id:n.id||va(),tenant_id:e,created_at:new Date().toISOString(),updated_at:new Date().toISOString(),branding:JSON.stringify(n.branding||{}),metadata:JSON.stringify(n.metadata||{}),enabled_connections:JSON.stringify(n.enabled_connections||[]),token_quota:JSON.stringify(n.token_quota||{})};try{await t.insertInto("organizations").values(r).execute()}catch(a){throw a.code==="SQLITE_CONSTRAINT_UNIQUE"||a.message.includes("AlreadyExists")?new _t(409,{message:"Organization already exists"}):a}return{...n,id:r.id,created_at:r.created_at,updated_at:r.updated_at}}}function hi(t){return async(e,n)=>{const r=await t.selectFrom("organizations").selectAll().where("tenant_id","=",e).where("id","=",n).executeTakeFirst();return r?S({...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 fi(t){return async(e,n)=>{let r=t.selectFrom("organizations").selectAll().where("tenant_id","=",e).orderBy("created_at","desc");if(n!=null&&n.per_page&&(r=r.limit(n.per_page)),n!=null&&n.page){const u=(n.page-1)*(n.per_page||10);r=r.offset(u)}const o=(await r.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:n!=null&&n.page?(n.page-1)*(n.per_page||10):0,limit:(n==null?void 0:n.per_page)||o.length,length:o.length}}}function pi(t){return async(e,n)=>(await t.deleteFrom("organizations").where("tenant_id","=",e).where("id","=",n).execute()).length>0}function gi(t){return async(e,n,r)=>{const{branding:a,metadata:o,enabled_connections:u,token_quota:d,...c}=r,h={...c,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)),d!==void 0&&(h.token_quota=JSON.stringify(d)),(await t.updateTable("organizations").set(h).where("tenant_id","=",e).where("id","=",n).execute()).length>0}}function yi(t){return{create:mi(t),get:hi(t),list:fi(t),remove:pi(t),update:gi(t)}}function wi(t){return async(e,n)=>{const r={id:ae(),tenant_id:e,user_id:n.user_id,organization_id:n.organization_id,created_at:new Date().toISOString(),updated_at:new Date().toISOString()};try{await t.insertInto("user_organizations").values(r).execute()}catch(a){throw a.code==="SQLITE_CONSTRAINT_UNIQUE"||a.code==="ER_DUP_ENTRY"?new _t(409,{message:"User is already a member of this organization"}):a}return{...r}}}function Ni(t){return async(e,n)=>{const r=await t.selectFrom("user_organizations").selectAll().where("id","=",n).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 vi(t){return async(e,n)=>{const r=(n==null?void 0:n.page)||0,a=(n==null?void 0:n.per_page)||50,o=r*a;let u=t.selectFrom("user_organizations").selectAll().where("tenant_id","=",e);if(n!=null&&n.q){if(n.q.startsWith("user_id:")){const l=n.q.replace("user_id:","");u=u.where("user_id","=",l)}else if(n.q.startsWith("organization_id:")){const l=n.q.replace("organization_id:","");u=u.where("organization_id","=",l)}}u=u.orderBy("created_at","desc"),a>0&&(u=u.limit(a).offset(o));const d=await u.execute();let c=t.selectFrom("user_organizations").select(t.fn.count("id").as("count")).where("tenant_id","=",e);if(n!=null&&n.q){if(n.q.startsWith("user_id:")){const l=n.q.replace("user_id:","");c=c.where("user_id","=",l)}else if(n.q.startsWith("organization_id:")){const l=n.q.replace("organization_id:","");c=c.where("organization_id","=",l)}}const h=await c.executeTakeFirst();return{userOrganizations:d.map(l=>({id:l.id,user_id:l.user_id,organization_id:l.organization_id,created_at:l.created_at,updated_at:l.updated_at})),start:o,limit:a,length:Number((h==null?void 0:h.count)||0)}}}function Ci(t){return async(e,n,r)=>{const a=(r==null?void 0:r.page)||0,o=(r==null?void 0:r.per_page)||50,u=a*o;let d=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","=",n);d=d.orderBy("user_organizations.created_at","desc"),o>0&&(d=d.limit(o).offset(u));const c=await d.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","=",n).executeTakeFirst();return{organizations:c.map(l=>({id:l.id,name:l.name,display_name:l.display_name,branding:l.branding?JSON.parse(l.branding):void 0,metadata:l.metadata?JSON.parse(l.metadata):{},enabled_connections:l.enabled_connections?JSON.parse(l.enabled_connections):[],token_quota:l.token_quota?JSON.parse(l.token_quota):void 0,created_at:l.created_at,updated_at:l.updated_at,joined_at:l.joined_at})),start:u,limit:o,length:Number((h==null?void 0:h.count)||0)}}}function bi(t){return async(e,n)=>(await t.deleteFrom("user_organizations").where("id","=",n).where("tenant_id","=",e).execute()).length>0}function Oi(t){return async(e,n,r)=>{const a={...r,updated_at:new Date().toISOString()};return(await t.updateTable("user_organizations").set(a).where("id","=",n).where("tenant_id","=",e).execute()).length>0}}function xi(t){return{create:wi(t),get:Ni(t),list:vi(t),listUserOrganizations:Ci(t),remove:bi(t),update:Oi(t)}}function Ot(t){return typeof t>"u"||t===void 0}function Y(t){return typeof t=="string"}function ln(t){return typeof t=="number"}function Kn(t){return typeof t=="boolean"}function Un(t){return t===null}function Qn(t){return typeof t=="bigint"}function Ee(t){return typeof t=="function"}function jt(t){return typeof t=="object"&&t!==null}function Si(t){return t[t.length-1]}function s(t){return Object.freeze(t)}function Ct(t){return _e(t)?t:[t]}function _e(t){return Array.isArray(t)}const z=s({is(t){return t.kind==="IdentifierNode"},create(t){return s({kind:"IdentifierNode",name:t})}}),Gt=s({is(t){return t.kind==="SchemableIdentifierNode"},create(t){return s({kind:"SchemableIdentifierNode",identifier:z.create(t)})},createWithSchema(t,e){return s({kind:"SchemableIdentifierNode",schema:z.create(t),identifier:z.create(e)})}}),pe=s({is(t){return t.kind==="AliasNode"},create(t,e){return s({kind:"AliasNode",node:t,alias:e})}}),ke=s({is(t){return t.kind==="TableNode"},create(t){return s({kind:"TableNode",table:Gt.create(t)})},createWithSchema(t,e){return s({kind:"TableNode",table:Gt.createWithSchema(t,e)})}});function M(t){return jt(t)&&Ee(t.toOperationNode)}function Ti(t){return jt(t)&&"expressionType"in t&&M(t)}function ki(t){return jt(t)&&"expression"in t&&Y(t.alias)&&M(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})}}),me=s({is(t){return t.kind==="AndNode"},create(t,e){return s({kind:"AndNode",left:t,right:e})}}),nt=s({is(t){return t.kind==="OrNode"},create(t,e){return s({kind:"OrNode",left:t,right:e})}}),Kt=s({is(t){return t.kind==="OnNode"},create(t){return s({kind:"OnNode",on:t})},cloneWithOperation(t,e,n){return s({...t,on:e==="And"?me.create(t.on,n):nt.create(t.on,n)})}}),it=s({is(t){return t.kind==="JoinNode"},create(t,e){return s({kind:"JoinNode",joinType:t,table:e,on:void 0})},createWithOn(t,e,n){return s({kind:"JoinNode",joinType:t,table:e,on:Kt.create(n)})},cloneWithOn(t,e){return s({...t,on:t.on?Kt.cloneWithOperation(t.on,"And",e):Kt.create(e)})}}),Ze=s({is(t){return t.kind==="BinaryOperationNode"},create(t,e,n){return s({kind:"BinaryOperationNode",leftOperand:t,operator:e,rightOperand:n})}}),Ii=["=","==","!=","<>",">",">=","<","<=","in","not in","is","is not","like","not like","match","ilike","not ilike","@>","<@","^@","&&","?","?&","?|","!<","!>","<=>","!~","~","~*","!~*","@@","@@@","!!","<->","regexp","is distinct from","is not distinct from"],Ei=["+","-","*","/","%","^","&","|","#","<<",">>"],Vn=["->","->>"],Ai=[...Ii,...Ei,"&&","||"],Pi=["exists","not exists"],$i=["not","-",...Pi],Di=[...Ai,...Vn,...$i,"between","between symmetric"],Ie=s({is(t){return t.kind==="OperatorNode"},create(t){return s({kind:"OperatorNode",operator:t})}});function Cn(t){return Y(t)&&Vn.includes(t)}const _n=s({is(t){return t.kind==="ColumnNode"},create(t){return s({kind:"ColumnNode",column:z.create(t)})}}),Gn=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:Gn.create()})}});function Yn(t){return jt(t)&&M(t)&&Y(t.dynamicReference)}const Yt=s({is(t){return t.kind==="OrderByItemNode"},create(t,e){return s({kind:"OrderByItemNode",orderBy:t,direction:e})}}),R=s({is(t){return t.kind==="RawNode"},create(t,e){return s({kind:"RawNode",sqlFragments:s(t),parameters:s(e)})},createWithSql(t){return R.create([t],[])},createWithChild(t){return R.create(["",""],[t])},createWithChildren(t){return R.create(new Array(t.length+1).fill(""),t)}});function Ri(t){return t==="asc"||t==="desc"}function Hn(t){if(t.length===2)return[Ut(t[0],t[1])];if(t.length===1){const[e]=t;return Array.isArray(e)?e.map(n=>Ut(n)):[Ut(e)]}throw new Error(`Invalid number of arguments at order by! expected 1-2, received ${t.length}`)}function Ut(t,e){const n=zi(t);if(Yt.is(n)){if(e)throw new Error("Cannot specify direction twice!");return n}return Yt.create(n,Xn(e))}function zi(t){if(Bt(t))return Mt(t);if(Yn(t))return t.toOperationNode();const[e,n]=t.split(" ");if(n){if(!Ri(n))throw new Error(`Invalid order by direction: ${n}`);return Yt.create(he(e),Xn(n))}return he(t)}function Xn(t){if(t)return t==="asc"||t==="desc"?R.createWithSql(t):t.toOperationNode()}const xt=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})}}),Zn=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])})}}),st=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 Fi(t){return Y(t)?he(t):t.toOperationNode()}function mt(t){return _e(t)?t.map(e=>j(e)):[j(t)]}function j(t){return Bt(t)?Mt(t):Fi(t)}function ji(t,e){const n=he(t);if(Cn(e))return xt.create(n,Zn.create(Ie.create(e)));const r=e.slice(0,-1);if(Cn(r))return xt.create(n,st.create(Ie.create(r)));throw new Error(`Invalid JSON operator: ${e}`)}function he(t){const e=".";if(!t.includes(e))return qt.create(_n.create(t));const n=t.split(e).map(er);if(n.length===3)return Li(n);if(n.length===2)return Ji(n);throw new Error(`invalid column reference ${t}`)}function qi(t){const e=" as ";if(t.includes(e)){const[n,r]=t.split(e).map(er);return pe.create(he(n),z.create(r))}else return he(t)}function Li(t){const[e,n,r]=t;return qt.create(_n.create(r),ke.createWithSchema(e,n))}function Ji(t){const[e,n]=t;return qt.create(_n.create(n),ke.create(e))}function er(t){return t.trim()}const Mi=s({is(t){return t.kind==="PrimitiveValueListNode"},create(t){return s({kind:"PrimitiveValueListNode",values:s([...t])})}}),Bi=s({is(t){return t.kind==="ValueListNode"},create(t){return s({kind:"ValueListNode",values:s(t)})}}),fe=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 Wi(t){return _e(t)?Ki(t):$(t)}function $(t){return Bt(t)?Mt(t):fe.create(t)}function mn(t){return ln(t)||Kn(t)||Un(t)}function hn(t){if(!mn(t))throw new Error(`unsafe immediate value ${JSON.stringify(t)}`);return fe.createImmediate(t)}function Ki(t){return t.some(Bt)?Bi.create(t.map(e=>$(e))):Mi.create(t)}const ht=s({is(t){return t.kind==="ParensNode"},create(t){return s({kind:"ParensNode",node:t})}});function U(t){if(t.length===3)return fn(t[0],t[1],t[2]);if(t.length===1)return $(t[0]);throw new Error(`invalid arguments: ${JSON.stringify(t)}`)}function fn(t,e,n){return Ui(e)&&tr(n)?Ze.create(j(t),Xt(e),fe.createImmediate(n)):Ze.create(j(t),Xt(e),Wi(n))}function ft(t,e,n){return Ze.create(j(t),Xt(e),j(n))}function bn(t,e){return Ht(Object.entries(t).filter(([,n])=>!Ot(n)).map(([n,r])=>fn(n,tr(r)?"is":"=",r)),e)}function Ht(t,e,n=!0){const r=e==="and"?me.create:nt.create;if(t.length===0)return Ze.create(fe.createImmediate(1),Ie.create("="),fe.createImmediate(e==="and"?1:0));let a=On(t[0]);for(let o=1;o<t.length;++o)a=r(a,On(t[o]));return t.length>1&&n?ht.create(a):a}function Ui(t){return t==="is"||t==="is not"}function tr(t){return Un(t)||Kn(t)}function Xt(t){if(Y(t)&&Di.includes(t))return Ie.create(t);if(M(t))return t.toOperationNode();throw new Error(`invalid operator ${JSON.stringify(t)}`)}function On(t){return M(t)?t.toOperationNode():t}const et=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])})}}),xn=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])})}}),Zt=s({is(t){return t.kind==="OverNode"},create(){return s({kind:"OverNode"})},cloneWithOrderByItems(t,e){return s({...t,orderBy:t.orderBy?et.cloneWithItems(t.orderBy,e):et.create(e)})},cloneWithPartitionByItems(t,e){return s({...t,partitionBy:t.partitionBy?xn.cloneWithItems(t.partitionBy,e):xn.create(e)})}}),St=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])})}}),Sn=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])})}}),Tn=s({is(t){return t.kind==="HavingNode"},create(t){return s({kind:"HavingNode",having:t})},cloneWithOperation(t,e,n){return s({...t,having:e==="And"?me.create(t.having,n):nt.create(t.having,n)})}}),x=s({is(t){return t.kind==="SelectQueryNode"},create(t){return s({kind:"SelectQueryNode",...t&&{with:t}})},createFrom(t,e){return s({kind:"SelectQueryNode",from:St.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?et.cloneWithItems(t.orderBy,e):et.create(e)})},cloneWithGroupByItems(t,e){return s({...t,groupBy:t.groupBy?Sn.cloneWithItems(t.groupBy,e):Sn.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?Tn.cloneWithOperation(t.having,"And",e):Tn.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 Ae(t,e){Object.defineProperties(t.prototype,{then:{enumerable:!1,value:()=>{throw new Error(e)}}})}var W;const ct=class ct{constructor(e){C(this,W);O(this,W,s(e))}on(...e){return new ct({...i(this,W),joinNode:it.cloneWithOn(i(this,W).joinNode,U(e))})}onRef(e,n,r){return new ct({...i(this,W),joinNode:it.cloneWithOn(i(this,W).joinNode,ft(e,n,r))})}onTrue(){return new ct({...i(this,W),joinNode:it.cloneWithOn(i(this,W).joinNode,R.createWithSql("true"))})}$call(e){return e(this)}toOperationNode(){return i(this,W).joinNode}};W=new WeakMap;let Tt=ct;Ae(Tt,"don't await JoinBuilder instances. They are never executed directly and are always just a part of a query.");const Qi=s({is(t){return t.kind==="PartitionByItemNode"},create(t){return s({kind:"PartitionByItemNode",partitionBy:t})}});function Vi(t){return mt(t).map(Qi.create)}var Ne;const Pt=class Pt{constructor(e){C(this,Ne);O(this,Ne,s(e))}orderBy(e,n){return new Pt({overNode:Zt.cloneWithOrderByItems(i(this,Ne).overNode,Hn([e,n]))})}partitionBy(e){return new Pt({overNode:Zt.cloneWithPartitionByItems(i(this,Ne).overNode,Vi(e))})}$call(e){return e(this)}toOperationNode(){return i(this,Ne).overNode}};Ne=new WeakMap;let kt=Pt;Ae(kt,"don't await OverBuilder instances. They are never executed directly and are always just a part of a query.");const ut=s({is(t){return t.kind==="SelectionNode"},create(t){return s({kind:"SelectionNode",selection:t})},createSelectAll(){return s({kind:"SelectionNode",selection:Gn.create()})},createSelectAllFromTable(t){return s({kind:"SelectionNode",selection:qt.createSelectAll(t)})}});function nr(t){return Ee(t)?nr(t(Jt())):_e(t)?t.map(e=>kn(e)):[kn(t)]}function kn(t){return Y(t)?ut.create(qi(t)):Yn(t)?ut.create(t.toOperationNode()):ut.create(_r(t))}function rr(t){return t?Array.isArray(t)?t.map(In):[In(t)]:[ut.createSelectAll()]}function In(t){if(Y(t))return ut.createSelectAllFromTable(K(t));throw new Error(`invalid value selectAll expression: ${JSON.stringify(t)}`)}const Gi=s({is(t){return t.kind==="InsertQueryNode"},create(t,e,n){return s({kind:"InsertQueryNode",into:t,...e&&{with:e},replace:n})},createWithoutInto(){return s({kind:"InsertQueryNode"})},cloneWith(t,e){return s({...t,...e})}}),Yi=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?St.cloneWithFroms(t.from,e):St.create(e)})},cloneWithUpdates(t,e){return s({...t,updates:t.updates?s([...t.updates,...e]):e})},cloneWithLimit(t,e){return s({...t,limit:e})}}),En=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])})}}),Hi=s({is(t){return t.kind==="DeleteQueryNode"},create(t,e){return s({kind:"DeleteQueryNode",from:St.create(t),...e&&{with:e}})},cloneWithOrderByItems(t,e){return s({...t,orderBy:t.orderBy?et.cloneWithItems(t.orderBy,e):et.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?En.cloneWithTables(t.using,e):En.create(e)})}}),Fe=s({is(t){return t.kind==="WhereNode"},create(t){return s({kind:"WhereNode",where:t})},cloneWithOperation(t,e,n){return s({...t,where:e==="And"?me.create(t.where,n):nt.create(t.where,n)})}}),An=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)})}}),Xi=s({is(t){return t.kind==="ExplainNode"},create(t,e){return s({kind:"ExplainNode",format:t,options:e})}}),Lt=s({is(t){return t.kind==="WhenNode"},create(t){return s({kind:"WhenNode",condition:t})},cloneWithResult(t,e){return s({...t,result:e})}}),Zi=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),Lt.cloneWithResult(t.whens[t.whens.length-1],e)]):void 0})}}),Pn=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)})}}),B=s({is(t){return x.is(t)||Gi.is(t)||Yi.is(t)||Hi.is(t)||Zi.is(t)},cloneWithWhere(t,e){return s({...t,where:t.where?Fe.cloneWithOperation(t.where,"And",e):Fe.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?An.cloneWithSelections(t.returning,e):An.create(e)})},cloneWithoutReturning(t){return s({...t,returning:void 0})},cloneWithoutWhere(t){return s({...t,where:void 0})},cloneWithExplain(t,e,n){return s({...t,explain:Xi.create(e,n==null?void 0:n.toOperationNode())})},cloneWithTop(t,e){return s({...t,top:e})},cloneWithOutput(t,e){return s({...t,output:t.output?Pn.cloneWithSelections(t.output,e):Pn.create(e)})}});class es extends Error{constructor(n){super("no result");ie(this,"node");this.node=n}}function ts(t){return Object.prototype.hasOwnProperty.call(t,"prototype")}const ns=s({is(t){return t.kind==="TopNode"},create(t,e){return s({kind:"TopNode",expression:t,modifiers:e})}});function rs(t,e){if(!ln(t)&&!Qn(t))throw new Error(`Invalid top expression: ${t}`);if(!Ot(e)&&!as(e))throw new Error(`Invalid top modifiers: ${e}`);return ns.create(t,e)}function as(t){return t==="percent"||t==="with ties"||t==="percent with ties"}const os=s({is(t){return t.kind==="LimitNode"},create(t){return s({kind:"LimitNode",limit:t})}}),$n=["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 is(t){let e="";for(let n=0;n<t;++n)e+=ss();return e}function ss(){return $n[~~(Math.random()*$n.length)]}function X(){return new us}var Le;class us{constructor(){C(this,Le)}get queryId(){return i(this,Le)===void 0&&O(this,Le,is(8)),i(this,Le)}}Le=new WeakMap;var $t;class ds{constructor(){ie(this,"nodeStack",[]);C(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 n=this.transformNodeImpl(e);return this.nodeStack.pop(),s(n)}transformNodeImpl(e){return i(this,$t)[e.kind](e)}transformNodeList(e){return e&&s(e.map(n=>this.transformNode(n)))}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 cs=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 Je,ve,Ce,E,ar,or,ir,De,en,sr;class ls extends ds{constructor(n){super();C(this,E);C(this,Je);C(this,ve,new Set);C(this,Ce,new Set);O(this,Je,n)}transformNodeImpl(n){if(!w(this,E,ar).call(this,n))return super.transformNodeImpl(n);const r=w(this,E,ir).call(this,n);for(const u of r)i(this,Ce).add(u);const a=w(this,E,or).call(this,n);for(const u of a)i(this,ve).add(u);const o=super.transformNodeImpl(n);for(const u of a)i(this,ve).delete(u);for(const u of r)i(this,Ce).delete(u);return o}transformSchemableIdentifier(n){const r=super.transformSchemableIdentifier(n);return r.schema||!i(this,ve).has(n.identifier.name)?r:{...r,schema:z.create(i(this,Je))}}transformReferences(n){const r=super.transformReferences(n);return r.table.table.schema?r:{...r,table:ke.createWithSchema(i(this,Je),r.table.table.identifier.name)}}}Je=new WeakMap,ve=new WeakMap,Ce=new WeakMap,E=new WeakSet,ar=function(n){return n.kind in cs},or=function(n){const r=new Set;if("name"in n&&n.name&&Gt.is(n.name)&&w(this,E,en).call(this,n.name,r),"from"in n&&n.from)for(const a of n.from.froms)w(this,E,De).call(this,a,r);if("into"in n&&n.into&&w(this,E,De).call(this,n.into,r),"table"in n&&n.table&&w(this,E,De).call(this,n.table,r),"joins"in n&&n.joins)for(const a of n.joins)w(this,E,De).call(this,a.table,r);return"using"in n&&n.using&&w(this,E,De).call(this,n.using,r),r},ir=function(n){const r=new Set;return"with"in n&&n.with&&w(this,E,sr).call(this,n.with,r),r},De=function(n,r){const a=ke.is(n)?n:pe.is(n)&&ke.is(n.node)?n.node:null;a&&w(this,E,en).call(this,a.table,r)},en=function(n,r){const a=n.identifier.name;!i(this,ve).has(a)&&!i(this,Ce).has(a)&&r.add(a)},sr=function(n,r){for(const a of n.expressions){const o=a.name.table.table.identifier.name;i(this,Ce).has(o)||r.add(o)}};var pt;class ur{constructor(e){C(this,pt);O(this,pt,new ls(e))}transformQuery(e){return i(this,pt).transformNode(e.node)}async transformResult(e){return e.result}}pt=new WeakMap;var gt,Me,Be;class Dn{constructor(){C(this,gt);C(this,Me);C(this,Be);ie(this,"resolve",e=>{i(this,Me)&&i(this,Me).call(this,e)});ie(this,"reject",e=>{i(this,Be)&&i(this,Be).call(this,e)});O(this,gt,new Promise((e,n)=>{O(this,Be,n),O(this,Me,e)}))}get promise(){return i(this,gt)}}gt=new WeakMap,Me=new WeakMap,Be=new WeakMap;const Rn=new Set;function _s(t){Rn.has(t)||(Rn.add(t),console.log(t))}const ms=s([]);var be,yt,tn;class hs{constructor(e=ms){C(this,yt);C(this,be);O(this,be,e)}get plugins(){return i(this,be)}transformQuery(e,n){for(const r of i(this,be)){const a=r.transformQuery({node:e,queryId:n});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,n){return await this.provideConnection(async r=>{const a=await r.executeQuery(e),o=await w(this,yt,tn).call(this,a,n);return fs(a,o),o})}async*stream(e,n,r){const a=new Dn,o=new Dn;this.provideConnection(async d=>(a.resolve(d),await o.promise)).catch(d=>a.reject(d));const u=await a.promise;try{for await(const d of u.streamQuery(e,n))yield await w(this,yt,tn).call(this,d,r)}finally{o.resolve()}}}be=new WeakMap,yt=new WeakSet,tn=async function(e,n){for(const r of i(this,be))e=await r.transformResult({result:e,queryId:n});return e};function fs(t,e){const{numAffectedRows:n}=t;n===void 0&&t.numUpdatedOrDeletedRows===void 0||n!==void 0&&e.numAffectedRows!==void 0||_s("kysely:warning: outdated driver/plugin detected! QueryResult.numUpdatedOrDeletedRows is deprecated and will be removed in a future release.")}class je extends hs{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 dr=new je;function ps(t,e){return new Tt({joinNode:it.create(t,Et(e))})}function gs(){return new kt({overNode:Zt.create()})}function Pe(t,e){if(e.length===3)return ws(t,e[0],e[1],e[2]);if(e.length===2)return ys(t,e[0],e[1]);throw new Error("not implemented")}function ys(t,e,n){return n(ps(t,e)).toOperationNode()}function ws(t,e,n,r){return it.createWithOn(t,Et(e),ft(n,"=",r))}const Ns=s({is(t){return t.kind==="OffsetNode"},create(t){return s({kind:"OffsetNode",offset:t})}}),vs=s({is(t){return t.kind==="GroupByItemNode"},create(t){return s({kind:"GroupByItemNode",groupBy:t})}});function Cs(t){return t=Ee(t)?t(Jt()):t,mt(t).map(vs.create)}const bs=s({is(t){return t.kind==="SetOperationNode"},create(t,e,n){return s({kind:"SetOperationNode",operator:t,expression:e,all:n})}});function $e(t,e,n){return Ee(e)&&(e=e(gn())),_e(e)||(e=[e]),e.map(r=>bs.create(t,Mt(r),n))}var ne;const Dt=class Dt{constructor(e){C(this,ne);O(this,ne,e)}get expressionType(){}as(e){return new pn(this,e)}or(...e){return new nn(nt.create(i(this,ne),U(e)))}and(...e){return new rn(me.create(i(this,ne),U(e)))}$castTo(){return new Dt(i(this,ne))}$notNull(){return new Dt(i(this,ne))}toOperationNode(){return i(this,ne)}};ne=new WeakMap;let T=Dt;var We,de;class pn{constructor(e,n){C(this,We);C(this,de);O(this,We,e),O(this,de,n)}get expression(){return i(this,We)}get alias(){return i(this,de)}toOperationNode(){return pe.create(i(this,We).toOperationNode(),M(i(this,de))?i(this,de).toOperationNode():z.create(i(this,de)))}}We=new WeakMap,de=new WeakMap;var Oe;const Rt=class Rt{constructor(e){C(this,Oe);O(this,Oe,e)}get expressionType(){}as(e){return new pn(this,e)}or(...e){return new Rt(nt.create(i(this,Oe),U(e)))}$castTo(){return new Rt(i(this,Oe))}toOperationNode(){return ht.create(i(this,Oe))}};Oe=new WeakMap;let nn=Rt;var xe;const zt=class zt{constructor(e){C(this,xe);O(this,xe,e)}get expressionType(){}as(e){return new pn(this,e)}and(...e){return new zt(me.create(i(this,xe),U(e)))}$castTo(){return new zt(i(this,xe))}toOperationNode(){return ht.create(i(this,xe))}};xe=new WeakMap;let rn=zt;const Os={is(t){return t.kind==="FetchNode"},create(t,e){return{kind:"FetchNode",rowCount:fe.create(t),modifier:e}}};function xs(t,e){if(!ln(t)&&!Qn(t))throw new Error(`Invalid fetch row count: ${t}`);if(!Ss(e))throw new Error(`Invalid fetch modifier: ${e}`);return Os.create(t,e)}function Ss(t){return t==="only"||t==="with ties"}var _;const N=class N{constructor(e){C(this,_);O(this,_,s(e))}get expressionType(){}get isSelectQueryBuilder(){return!0}where(...e){return new N({...i(this,_),queryNode:B.cloneWithWhere(i(this,_).queryNode,U(e))})}whereRef(e,n,r){return new N({...i(this,_),queryNode:B.cloneWithWhere(i(this,_).queryNode,ft(e,n,r))})}having(...e){return new N({...i(this,_),queryNode:x.cloneWithHaving(i(this,_).queryNode,U(e))})}havingRef(e,n,r){return new N({...i(this,_),queryNode:x.cloneWithHaving(i(this,_).queryNode,ft(e,n,r))})}select(e){return new N({...i(this,_),queryNode:x.cloneWithSelections(i(this,_).queryNode,nr(e))})}distinctOn(e){return new N({...i(this,_),queryNode:x.cloneWithDistinctOn(i(this,_).queryNode,mt(e))})}modifyFront(e){return new N({...i(this,_),queryNode:x.cloneWithFrontModifier(i(this,_).queryNode,H.createWithExpression(e.toOperationNode()))})}modifyEnd(e){return new N({...i(this,_),queryNode:x.cloneWithEndModifier(i(this,_).queryNode,H.createWithExpression(e.toOperationNode()))})}distinct(){return new N({...i(this,_),queryNode:x.cloneWithFrontModifier(i(this,_).queryNode,H.create("Distinct"))})}forUpdate(e){return new N({...i(this,_),queryNode:x.cloneWithEndModifier(i(this,_).queryNode,H.create("ForUpdate",e?Ct(e).map(K):void 0))})}forShare(e){return new N({...i(this,_),queryNode:x.cloneWithEndModifier(i(this,_).queryNode,H.create("ForShare",e?Ct(e).map(K):void 0))})}forKeyShare(e){return new N({...i(this,_),queryNode:x.cloneWithEndModifier(i(this,_).queryNode,H.create("ForKeyShare",e?Ct(e).map(K):void 0))})}forNoKeyUpdate(e){return new N({...i(this,_),queryNode:x.cloneWithEndModifier(i(this,_).queryNode,H.create("ForNoKeyUpdate",e?Ct(e).map(K):void 0))})}skipLocked(){return new N({...i(this,_),queryNode:x.cloneWithEndModifier(i(this,_).queryNode,H.create("SkipLocked"))})}noWait(){return new N({...i(this,_),queryNode:x.cloneWithEndModifier(i(this,_).queryNode,H.create("NoWait"))})}selectAll(e){return new N({...i(this,_),queryNode:x.cloneWithSelections(i(this,_).queryNode,rr(e))})}innerJoin(...e){return new N({...i(this,_),queryNode:B.cloneWithJoin(i(this,_).queryNode,Pe("InnerJoin",e))})}leftJoin(...e){return new N({...i(this,_),queryNode:B.cloneWithJoin(i(this,_).queryNode,Pe("LeftJoin",e))})}rightJoin(...e){return new N({...i(this,_),queryNode:B.cloneWithJoin(i(this,_).queryNode,Pe("RightJoin",e))})}fullJoin(...e){return new N({...i(this,_),queryNode:B.cloneWithJoin(i(this,_).queryNode,Pe("FullJoin",e))})}innerJoinLateral(...e){return new N({...i(this,_),queryNode:B.cloneWithJoin(i(this,_).queryNode,Pe("LateralInnerJoin",e))})}leftJoinLateral(...e){return new N({...i(this,_),queryNode:B.cloneWithJoin(i(this,_).queryNode,Pe("LateralLeftJoin",e))})}orderBy(...e){return new N({...i(this,_),queryNode:x.cloneWithOrderByItems(i(this,_).queryNode,Hn(e))})}groupBy(e){return new N({...i(this,_),queryNode:x.cloneWithGroupByItems(i(this,_).queryNode,Cs(e))})}limit(e){return new N({...i(this,_),queryNode:x.cloneWithLimit(i(this,_).queryNode,os.create($(e)))})}offset(e){return new N({...i(this,_),queryNode:x.cloneWithOffset(i(this,_).queryNode,Ns.create($(e)))})}fetch(e,n="only"){return new N({...i(this,_),queryNode:x.cloneWithFetch(i(this,_).queryNode,xs(e,n))})}top(e,n){return new N({...i(this,_),queryNode:B.cloneWithTop(i(this,_).queryNode,rs(e,n))})}union(e){return new N({...i(this,_),queryNode:x.cloneWithSetOperations(i(this,_).queryNode,$e("union",e,!1))})}unionAll(e){return new N({...i(this,_),queryNode:x.cloneWithSetOperations(i(this,_).queryNode,$e("union",e,!0))})}intersect(e){return new N({...i(this,_),queryNode:x.cloneWithSetOperations(i(this,_).queryNode,$e("intersect",e,!1))})}intersectAll(e){return new N({...i(this,_),queryNode:x.cloneWithSetOperations(i(this,_).queryNode,$e("intersect",e,!0))})}except(e){return new N({...i(this,_),queryNode:x.cloneWithSetOperations(i(this,_).queryNode,$e("except",e,!1))})}exceptAll(e){return new N({...i(this,_),queryNode:x.cloneWithSetOperations(i(this,_).queryNode,$e("except",e,!0))})}as(e){return new cr(this,e)}clearSelect(){return new N({...i(this,_),queryNode:x.cloneWithoutSelections(i(this,_).queryNode)})}clearWhere(){return new N({...i(this,_),queryNode:B.cloneWithoutWhere(i(this,_).queryNode)})}clearLimit(){return new N({...i(this,_),queryNode:x.cloneWithoutLimit(i(this,_).queryNode)})}clearOffset(){return new N({...i(this,_),queryNode:x.cloneWithoutOffset(i(this,_).queryNode)})}clearOrderBy(){return new N({...i(this,_),queryNode:x.cloneWithoutOrderBy(i(this,_).queryNode)})}clearGroupBy(){return new N({...i(this,_),queryNode:x.cloneWithoutGroupBy(i(this,_).queryNode)})}$call(e){return e(this)}$if(e,n){return e?n(this):new N({...i(this,_)})}$castTo(){return new N(i(this,_))}$narrowType(){return new N(i(this,_))}$assertType(){return new N(i(this,_))}$asTuple(){return new T(this.toOperationNode())}withPlugin(e){return new N({...i(this,_),executor:i(this,_).executor.withPlugin(e)})}toOperationNode(){return i(this,_).executor.transformQuery(i(this,_).queryNode,i(this,_).queryId)}compile(){return i(this,_).executor.compileQuery(this.toOperationNode(),i(this,_).queryId)}async execute(){const e=this.compile();return(await i(this,_).executor.executeQuery(e,i(this,_).queryId)).rows}async executeTakeFirst(){const[e]=await this.execute();return e}async executeTakeFirstOrThrow(e=es){const n=await this.executeTakeFirst();if(n===void 0)throw ts(e)?new e(this.toOperationNode()):e(this.toOperationNode());return n}async*stream(e=100){const n=this.compile(),r=i(this,_).executor.stream(n,e,i(this,_).queryId);for await(const a of r)yield*a.rows}async explain(e,n){return await new N({...i(this,_),queryNode:B.cloneWithExplain(i(this,_).queryNode,e,n)}).execute()}};_=new WeakMap;let It=N;Ae(It,"don't await SelectQueryBuilder instances directly. To execute the query you need to call `execute` or `executeTakeFirst`.");function Ts(t){return new It(t)}var Ke,Ue;class cr{constructor(e,n){C(this,Ke);C(this,Ue);O(this,Ke,e),O(this,Ue,n)}get expression(){return i(this,Ke)}get alias(){return i(this,Ue)}get isAliasedSelectQueryBuilder(){return!0}toOperationNode(){return pe.create(i(this,Ke).toOperationNode(),z.create(i(this,Ue)))}}Ke=new WeakMap,Ue=new WeakMap;Ae(cr,"don't await AliasedSelectQueryBuilder instances directly. AliasedSelectQueryBuilder should never be executed directly since it's always a part of another query.");const we=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?Fe.cloneWithOperation(t.filter,"And",e):Fe.create(e)})},cloneWithOrFilter(t,e){return s({...t,filter:t.filter?Fe.cloneWithOperation(t.filter,"Or",e):Fe.create(e)})},cloneWithOver(t,e){return s({...t,over:e})}}),zn=s({is(t){return t.kind==="FunctionNode"},create(t,e){return s({kind:"FunctionNode",func:t,arguments:e})}});var A;const ue=class ue{constructor(e){C(this,A);O(this,A,s(e))}get expressionType(){}as(e){return new ks(this,e)}distinct(){return new ue({...i(this,A),aggregateFunctionNode:we.cloneWithDistinct(i(this,A).aggregateFunctionNode)})}filterWhere(...e){return new ue({...i(this,A),aggregateFunctionNode:we.cloneWithFilter(i(this,A).aggregateFunctionNode,U(e))})}filterWhereRef(e,n,r){return new ue({...i(this,A),aggregateFunctionNode:we.cloneWithFilter(i(this,A).aggregateFunctionNode,ft(e,n,r))})}over(e){const n=gs();return new ue({...i(this,A),aggregateFunctionNode:we.cloneWithOver(i(this,A).aggregateFunctionNode,(e?e(n):n).toOperationNode())})}$call(e){return e(this)}$castTo(){return new ue(i(this,A))}$notNull(){return new ue(i(this,A))}toOperationNode(){return i(this,A).aggregateFunctionNode}};A=new WeakMap;let qe=ue;Ae(qe,"don't await AggregateFunctionBuilder instances. They are never executed directly and are always just a part of a query.");var Qe,Ve;class ks{constructor(e,n){C(this,Qe);C(this,Ve);O(this,Qe,e),O(this,Ve,n)}get expression(){return i(this,Qe)}get alias(){return i(this,Ve)}toOperationNode(){return pe.create(i(this,Qe).toOperationNode(),z.create(i(this,Ve)))}}Qe=new WeakMap,Ve=new WeakMap;function Is(){const t=(n,r)=>new T(zn.create(n,mt(r??[]))),e=(n,r)=>new qe({aggregateFunctionNode:we.create(n,r?mt(r):void 0)});return Object.assign(t,{agg:e,avg(n){return e("avg",[n])},coalesce(...n){return t("coalesce",n)},count(n){return e("count",[n])},countAll(n){return new qe({aggregateFunctionNode:we.create("count",rr(n))})},max(n){return e("max",[n])},min(n){return e("min",[n])},sum(n){return e("sum",[n])},any(n){return t("any",[n])},jsonAgg(n){return new qe({aggregateFunctionNode:we.create("json_agg",[Y(n)?K(n):n.toOperationNode()])})},toJson(n){return new T(zn.create("to_json",[Y(n)?K(n):n.toOperationNode()]))}})}const Es=s({is(t){return t.kind==="UnaryOperationNode"},create(t,e){return s({kind:"UnaryOperationNode",operator:t,operand:e})}});function As(t,e){return Es.create(Ie.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),Lt.cloneWithResult(t.when[t.when.length-1],e)]):void 0})},cloneWith(t,e){return s({...t,...e})}});var Ge;class Ps{constructor(e){C(this,Ge);O(this,Ge,s(e))}when(...e){return new lr({...i(this,Ge),node:re.cloneWithWhen(i(this,Ge).node,Lt.create(U(e)))})}}Ge=new WeakMap;var Ye;class lr{constructor(e){C(this,Ye);O(this,Ye,s(e))}then(e){return new $s({...i(this,Ye),node:re.cloneWithThen(i(this,Ye).node,mn(e)?hn(e):$(e))})}}Ye=new WeakMap;var V;class $s{constructor(e){C(this,V);O(this,V,s(e))}when(...e){return new lr({...i(this,V),node:re.cloneWithWhen(i(this,V).node,Lt.create(U(e)))})}else(e){return new Ds({...i(this,V),node:re.cloneWith(i(this,V).node,{else:mn(e)?hn(e):$(e)})})}end(){return new T(re.cloneWith(i(this,V).node,{isStatement:!1}))}endCase(){return new T(re.cloneWith(i(this,V).node,{isStatement:!0}))}}V=new WeakMap;var He;class Ds{constructor(e){C(this,He);O(this,He,s(e))}end(){return new T(re.cloneWith(i(this,He).node,{isStatement:!1}))}endCase(){return new T(re.cloneWith(i(this,He).node,{isStatement:!0}))}}He=new WeakMap;const Fn=s({is(t){return t.kind==="JSONPathLegNode"},create(t,e){return s({kind:"JSONPathLegNode",type:t,value:e})}});var G,wt,an;class dt{constructor(e){C(this,wt);C(this,G);O(this,G,e)}at(e){return w(this,wt,an).call(this,"ArrayLocation",e)}key(e){return w(this,wt,an).call(this,"Member",e)}}G=new WeakMap,wt=new WeakSet,an=function(e,n){return xt.is(i(this,G))?new jn(xt.cloneWithTraversal(i(this,G),st.is(i(this,G).traversal)?st.cloneWithLeg(i(this,G).traversal,Fn.create(e,n)):Zn.cloneWithValue(i(this,G).traversal,fe.createImmediate(n)))):new jn(st.cloneWithLeg(i(this,G),Fn.create(e,n)))};var Se;class jn extends dt{constructor(n){super(n);C(this,Se);O(this,Se,n)}get expressionType(){}as(n){return new Rs(this,n)}$castTo(){return new dt(i(this,Se))}$notNull(){return new dt(i(this,Se))}toOperationNode(){return i(this,Se)}}Se=new WeakMap;var Xe,ce;class Rs{constructor(e,n){C(this,Xe);C(this,ce);O(this,Xe,e),O(this,ce,n)}get expression(){return i(this,Xe)}get alias(){return i(this,ce)}toOperationNode(){return pe.create(i(this,Xe).toOperationNode(),M(i(this,ce))?i(this,ce).toOperationNode():z.create(i(this,ce)))}}Xe=new WeakMap,ce=new WeakMap;const qn=s({is(t){return t.kind==="TupleNode"},create(t){return s({kind:"TupleNode",values:s(t)})}}),zs=["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"],Fs=[/^varchar\(\d+\)$/,/^char\(\d+\)$/,/^decimal\(\d+, \d+\)$/,/^numeric\(\d+, \d+\)$/,/^binary\(\d+\)$/,/^datetime\(\d+\)$/,/^time\(\d+\)$/,/^timetz\(\d+\)$/,/^timestamp\(\d+\)$/,/^timestamptz\(\d+\)$/,/^varbinary\(\d+\)$/],js=s({is(t){return t.kind==="DataTypeNode"},create(t){return s({kind:"DataTypeNode",dataType:t})}});function qs(t){return!!(zs.includes(t)||Fs.some(e=>e.test(t)))}function Ls(t){if(M(t))return t.toOperationNode();if(qs(t))return js.create(t);throw new Error(`invalid column data type ${JSON.stringify(t)}`)}const Js=s({is(t){return t.kind==="CastNode"},create(t,e){return s({kind:"CastNode",expression:t,dataType:e})}});function gn(t=dr){function e(a,o,u){return new T(fn(a,o,u))}function n(a,o){return new T(As(a,o))}const r=Object.assign(e,{fn:void 0,eb:void 0,selectFrom(a){return Ts({queryId:X(),executor:t,queryNode:x.createFrom(Ms(a))})},case(a){return new Ps({node:re.create(Ot(a)?void 0:j(a))})},ref(a,o){return Ot(o)?new T(he(a)):new dt(ji(a,o))},jsonPath(){return new dt(st.create())},table(a){return new T(K(a))},val(a){return new T($(a))},refTuple(...a){return new T(qn.create(a.map(j)))},tuple(...a){return new T(qn.create(a.map($)))},lit(a){return new T(hn(a))},unary:n,not(a){return n("not",a)},exists(a){return n("exists",a)},neg(a){return n("-",a)},between(a,o,u){return new T(Ze.create(j(a),Ie.create("between"),me.create($(o),$(u))))},betweenSymmetric(a,o,u){return new T(Ze.create(j(a),Ie.create("between symmetric"),me.create($(o),$(u))))},and(a){return _e(a)?new T(Ht(a,"and")):new T(bn(a,"and"))},or(a){return _e(a)?new T(Ht(a,"or")):new T(bn(a,"or"))},parens(...a){const o=U(a);return ht.is(o)?new T(o):new T(ht.create(o))},cast(a,o){return new T(Js.create(j(a),Ls(o)))},withSchema(a){return gn(t.withPluginAtFront(new ur(a)))}});return r.fn=Is(),r.eb=r,r}function Jt(t){return gn()}function Mt(t){if(M(t))return t.toOperationNode();if(Ee(t))return t(Jt()).toOperationNode();throw new Error(`invalid expression: ${JSON.stringify(t)}`)}function _r(t){if(M(t))return t.toOperationNode();if(Ee(t))return t(Jt()).toOperationNode();throw new Error(`invalid aliased expression: ${JSON.stringify(t)}`)}function Bt(t){return Ti(t)||ki(t)||Ee(t)}function Ms(t){return _e(t)?t.map(e=>Et(e)):[Et(t)]}function Et(t){return Y(t)?Bs(t):_r(t)}function Bs(t){const e=" as ";if(t.includes(e)){const[n,r]=t.split(e).map(mr);return pe.create(K(n),z.create(r))}else return K(t)}function K(t){const e=".";if(t.includes(e)){const[n,r]=t.split(e).map(mr);return ke.createWithSchema(n,r)}else return ke.create(t)}function mr(t){return t.trim()}var P,q,bt,on,sn;const lt=class lt{constructor(e){C(this,q);C(this,P);O(this,P,s(e))}get expressionType(){}get isRawBuilder(){return!0}as(e){return new hr(this,e)}$castTo(){return new lt({...i(this,P)})}$notNull(){return new lt(i(this,P))}withPlugin(e){return new lt({...i(this,P),plugins:i(this,P).plugins!==void 0?s([...i(this,P).plugins,e]):s([e])})}toOperationNode(){return w(this,q,on).call(this,w(this,q,bt).call(this))}compile(e){return w(this,q,sn).call(this,w(this,q,bt).call(this,e))}async execute(e){const n=w(this,q,bt).call(this,e);return n.executeQuery(w(this,q,sn).call(this,n),i(this,P).queryId)}};P=new WeakMap,q=new WeakSet,bt=function(e){const n=e!==void 0?e.getExecutor():dr;return i(this,P).plugins!==void 0?n.withPlugins(i(this,P).plugins):n},on=function(e){return e.transformQuery(i(this,P).rawNode,i(this,P).queryId)},sn=function(e){return e.compileQuery(w(this,q,on).call(this,e),i(this,P).queryId)};let At=lt;function se(t){return new At(t)}Ae(At,"don't await RawBuilder instances directly. To execute the query you need to call `execute`");var Te,le;class hr{constructor(e,n){C(this,Te);C(this,le);O(this,Te,e),O(this,le,n)}get expression(){return i(this,Te)}get alias(){return i(this,le)}get rawBuilder(){return i(this,Te)}toOperationNode(){return pe.create(i(this,Te).toOperationNode(),M(i(this,le))?i(this,le).toOperationNode():z.create(i(this,le)))}}Te=new WeakMap,le=new WeakMap;Ae(hr,"don't await AliasedRawBuilder instances directly. AliasedRawBuilder should never be executed directly since it's always a part of another query.");const g=Object.assign((t,...e)=>se({queryId:X(),rawNode:R.create(t,(e==null?void 0:e.map(Ln))??[])}),{ref(t){return se({queryId:X(),rawNode:R.createWithChild(he(t))})},val(t){return se({queryId:X(),rawNode:R.createWithChild($(t))})},value(t){return this.val(t)},table(t){return se({queryId:X(),rawNode:R.createWithChild(K(t))})},id(...t){const e=new Array(t.length+1).fill(".");return e[0]="",e[e.length-1]="",se({queryId:X(),rawNode:R.create(e,t.map(z.create))})},lit(t){return se({queryId:X(),rawNode:R.createWithChild(fe.createImmediate(t))})},literal(t){return this.lit(t)},raw(t){return se({queryId:X(),rawNode:R.createWithSql(t)})},join(t,e=g`, `){const n=new Array(2*t.length-1),r=e.toOperationNode();for(let a=0;a<t.length;++a)n[2*a]=Ln(t[a]),a!==t.length-1&&(n[2*a+1]=r);return se({queryId:X(),rawNode:R.createWithChildren(n)})}});function Ln(t){return M(t)?t.toOperationNode():$(t)}class Ws{transformQuery(e){return e.node}async transformResult(e){return e.result}}const Ks="kysely_migration",Jn="kysely_migration_lock",Us=!1,Qt="migration_lock",Qs=s({__noMigrations__:!0});var k,m,at,Z,ee,Re,pr,te,gr,yr,wr,Nr,vr,un,ze,dn,Cr,br,Or,cn,xr,Sr,Tr,kr,Ir,ot;class fr{constructor(e){C(this,m);C(this,k);O(this,k,s(e))}async getMigrations(){const e=await w(this,m,ze).call(this,i(this,m,ee))?await i(this,k).db.withPlugin(i(this,m,te)).selectFrom(i(this,m,ee)).select(["name","timestamp"]).execute():[];return(await w(this,m,cn).call(this)).map(({name:r,...a})=>{const o=e.find(u=>u.name===r);return{name:r,migration:a,executedAt:o?new Date(o.timestamp):void 0}})}async migrateToLatest(){return w(this,m,at).call(this,()=>({direction:"Up",step:1/0}))}async migrateTo(e){return w(this,m,at).call(this,({migrations:n,executedMigrations:r,pendingMigrations:a})=>{if(e===Qs)return{direction:"Down",step:1/0};if(!n.find(d=>d.name===e))throw new Error(`migration "${e}" doesn't exist`);const o=r.indexOf(e),u=a.findIndex(d=>d.name===e);if(o!==-1)return{direction:"Down",step:r.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 w(this,m,at).call(this,()=>({direction:"Up",step:1}))}async migrateDown(){return w(this,m,at).call(this,()=>({direction:"Down",step:1}))}}k=new WeakMap,m=new WeakSet,at=async function(e){try{return await w(this,m,gr).call(this),await w(this,m,Cr).call(this,e)}catch(n){return n instanceof Vt?n.resultSet:{error:n}}},Z=function(){return i(this,k).migrationTableSchema},ee=function(){return i(this,k).migrationTableName??Ks},Re=function(){return i(this,k).migrationLockTableName??Jn},pr=function(){return i(this,k).allowUnorderedMigrations??Us},te=function(){return i(this,m,Z)?new ur(i(this,m,Z)):new Ws},gr=async function(){await w(this,m,yr).call(this),await w(this,m,wr).call(this),await w(this,m,Nr).call(this),await w(this,m,vr).call(this)},yr=async function(){if(i(this,m,Z)&&!await w(this,m,un).call(this))try{await w(this,m,ot).call(this,i(this,k).db.schema.createSchema(i(this,m,Z)))}catch(e){if(!await w(this,m,un).call(this))throw e}},wr=async function(){if(!await w(this,m,ze).call(this,i(this,m,ee)))try{i(this,m,Z)&&await w(this,m,ot).call(this,i(this,k).db.schema.createSchema(i(this,m,Z))),await w(this,m,ot).call(this,i(this,k).db.schema.withPlugin(i(this,m,te)).createTable(i(this,m,ee)).addColumn("name","varchar(255)",e=>e.notNull().primaryKey()).addColumn("timestamp","varchar(255)",e=>e.notNull()))}catch(e){if(!await w(this,m,ze).call(this,i(this,m,ee)))throw e}},Nr=async function(){if(!await w(this,m,ze).call(this,i(this,m,Re)))try{await w(this,m,ot).call(this,i(this,k).db.schema.withPlugin(i(this,m,te)).createTable(i(this,m,Re)).addColumn("id","varchar(255)",e=>e.notNull().primaryKey()).addColumn("is_locked","integer",e=>e.notNull().defaultTo(0)))}catch(e){if(!await w(this,m,ze).call(this,i(this,m,Re)))throw e}},vr=async function(){if(!await w(this,m,dn).call(this))try{await i(this,k).db.withPlugin(i(this,m,te)).insertInto(i(this,m,Re)).values({id:Qt,is_locked:0}).execute()}catch(e){if(!await w(this,m,dn).call(this))throw e}},un=async function(){return(await i(this,k).db.introspection.getSchemas()).some(n=>n.name===i(this,m,Z))},ze=async function(e){const n=i(this,m,Z);return(await i(this,k).db.introspection.getTables({withInternalKyselyTables:!0})).some(a=>a.name===e&&(!n||a.schema===n))},dn=async function(){return!!await i(this,k).db.withPlugin(i(this,m,te)).selectFrom(i(this,m,Re)).where("id","=",Qt).select("id").executeTakeFirst()},Cr=async function(e){const n=i(this,k).db.getExecutor().adapter,r=s({lockTable:i(this,k).migrationLockTableName??Jn,lockRowId:Qt,lockTableSchema:i(this,k).migrationTableSchema}),a=async o=>{try{await n.acquireMigrationLock(o,r);const u=await w(this,m,br).call(this,o);if(u.migrations.length===0)return{results:[]};const{direction:d,step:c}=e(u);return c<=0?{results:[]}:d==="Down"?await w(this,m,kr).call(this,o,u,c):d==="Up"?await w(this,m,Ir).call(this,o,u,c):{results:[]}}finally{await n.releaseMigrationLock(o,r)}};return n.supportsTransactionalDdl?i(this,k).db.transaction().execute(a):i(this,k).db.connection().execute(a)},br=async function(e){const n=await w(this,m,cn).call(this),r=await w(this,m,xr).call(this,e);w(this,m,Sr).call(this,n,r),i(this,m,pr)||w(this,m,Tr).call(this,n,r);const a=w(this,m,Or).call(this,n,r);return s({migrations:n,executedMigrations:r,lastMigration:Si(r),pendingMigrations:a})},Or=function(e,n){return e.filter(r=>!n.includes(r.name))},cn=async function(){const e=await i(this,k).provider.getMigrations();return Object.keys(e).sort().map(n=>({...e[n],name:n}))},xr=async function(e){return(await e.withPlugin(i(this,m,te)).selectFrom(i(this,m,ee)).select("name").orderBy(["timestamp","name"]).execute()).map(r=>r.name)},Sr=function(e,n){for(const r of n)if(!e.some(a=>a.name===r))throw new Error(`corrupted migrations: previously executed migration ${r} is missing`)},Tr=function(e,n){for(let r=0;r<n.length;++r)if(e[r].name!==n[r])throw new Error(`corrupted migrations: expected previously executed migration ${n[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.`)},kr=async function(e,n,r){const a=n.executedMigrations.slice().reverse().slice(0,r).map(u=>n.migrations.find(d=>d.name===u)),o=a.map(u=>({migrationName:u.name,direction:"Down",status:"NotExecuted"}));for(let u=0;u<o.length;++u){const d=a[u];try{d.down&&(await d.down(e),await e.withPlugin(i(this,m,te)).deleteFrom(i(this,m,ee)).where("name","=",d.name).execute(),o[u]={migrationName:d.name,direction:"Down",status:"Success"})}catch(c){throw o[u]={migrationName:d.name,direction:"Down",status:"Error"},new Vt({error:c,results:o})}}return{results:o}},Ir=async function(e,n,r){const o=n.pendingMigrations.slice(0,r).map(u=>({migrationName:u.name,direction:"Up",status:"NotExecuted"}));for(let u=0;u<o.length;u++){const d=n.pendingMigrations[u];try{await d.up(e),await e.withPlugin(i(this,m,te)).insertInto(i(this,m,ee)).values({name:d.name,timestamp:new Date().toISOString()}).execute(),o[u]={migrationName:d.name,direction:"Up",status:"Success"}}catch(c){throw o[u]={migrationName:d.name,direction:"Up",status:"Error"},new Vt({error:c,results:o})}}return{results:o}},ot=async function(e){i(this,k).db.getExecutor().adapter.supportsCreateIfNotExists&&(e=e.ifNotExists()),await e.execute()};var Nt;class Vt extends Error{constructor(n){super();C(this,Nt);O(this,Nt,n)}get resultSet(){return i(this,Nt)}}Nt=new WeakMap;class Er{constructor(e){ie(this,"migrations");this.migrations=e}async getMigrations(){return this.migrations}}async function Vs(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 Gs(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 Ys=Object.freeze(Object.defineProperty({__proto__:null,down:Gs,up:Vs},Symbol.toStringTag,{value:"Module"}));async function Hs(t){await t.schema.alterTable("tenants").addColumn("support_url","varchar(255)").execute()}async function Xs(t){await t.schema.alterTable("tenants").dropColumn("support_url").execute()}const Zs=Object.freeze(Object.defineProperty({__proto__:null,down:Xs,up:Hs},Symbol.toStringTag,{value:"Module"}));async function eu(t){}async function tu(t){}const nu=Object.freeze(Object.defineProperty({__proto__:null,down:tu,up:eu},Symbol.toStringTag,{value:"Module"}));async function ru(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 au(t){await t.schema.dropTable("logs").execute()}const ou=Object.freeze(Object.defineProperty({__proto__:null,down:au,up:ru},Symbol.toStringTag,{value:"Module"}));async function iu(t){}async function su(t){}const uu=Object.freeze(Object.defineProperty({__proto__:null,down:su,up:iu},Symbol.toStringTag,{value:"Module"}));async function du(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 cu(t){await t.schema.dropTable("sessions").execute(),await t.schema.dropTable("tickets").execute(),await t.schema.dropTable("otps").execute()}const lu=Object.freeze(Object.defineProperty({__proto__:null,down:cu,up:du},Symbol.toStringTag,{value:"Module"}));async function _u(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 mu(t){await t.schema.dropTable("passwords").execute(),await t.schema.dropTable("codes").execute()}const hu=Object.freeze(Object.defineProperty({__proto__:null,down:mu,up:_u},Symbol.toStringTag,{value:"Module"}));async function fu(t){}async function pu(t){}const gu=Object.freeze(Object.defineProperty({__proto__:null,down:pu,up:fu},Symbol.toStringTag,{value:"Module"}));async function yu(t){await t.schema.alterTable("passwords").addColumn("password","varchar(255)",e=>e.notNull()).execute()}async function wu(t){await t.schema.alterTable("passwords").dropColumn("password").execute()}const Nu=Object.freeze(Object.defineProperty({__proto__:null,down:wu,up:yu},Symbol.toStringTag,{value:"Module"}));async function vu(t){}async function Cu(t){}const bu=Object.freeze(Object.defineProperty({__proto__:null,down:Cu,up:vu},Symbol.toStringTag,{value:"Module"}));async function Ou(t){}async function xu(t){}const Su=Object.freeze(Object.defineProperty({__proto__:null,down:xu,up:Ou},Symbol.toStringTag,{value:"Module"}));async function Tu(t){}async function ku(t){}const Iu=Object.freeze(Object.defineProperty({__proto__:null,down:ku,up:Tu},Symbol.toStringTag,{value:"Module"}));async function Eu(t){await t.schema.createIndex("users_email_index").on("users").column("email").execute()}async function Au(t){await t.schema.dropIndex("users_email_index").execute()}const Pu=Object.freeze(Object.defineProperty({__proto__:null,down:Au,up:Eu},Symbol.toStringTag,{value:"Module"}));async function $u(t){await t.schema.alterTable("users").addColumn("profileData","varchar(2048)").execute()}async function Du(t){await t.schema.alterTable("users").dropColumn("profileData").execute()}const Ru=Object.freeze(Object.defineProperty({__proto__:null,down:Du,up:$u},Symbol.toStringTag,{value:"Module"}));async function zu(t){await t.schema.createIndex("users_linked_to_index").on("users").column("linked_to").execute()}async function Fu(t){await t.schema.dropIndex("users_linked_to_index")}const ju=Object.freeze(Object.defineProperty({__proto__:null,down:Fu,up:zu},Symbol.toStringTag,{value:"Module"}));async function qu(t){await t.schema.alterTable("users").addColumn("locale","varchar(255)").execute()}async function Lu(t){await t.schema.alterTable("users").dropColumn("locale").execute()}const Ju=Object.freeze(Object.defineProperty({__proto__:null,down:Lu,up:qu},Symbol.toStringTag,{value:"Module"}));async function Mu(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 Bu(t){await t.schema.dropTable("keys").execute()}const Wu=Object.freeze(Object.defineProperty({__proto__:null,down:Bu,up:Mu},Symbol.toStringTag,{value:"Module"}));async function Ku(t){}async function Uu(t){}const Qu=Object.freeze(Object.defineProperty({__proto__:null,down:Uu,up:Ku},Symbol.toStringTag,{value:"Module"}));async function Vu(t){}async function Gu(t){}const Yu=Object.freeze(Object.defineProperty({__proto__:null,down:Gu,up:Vu},Symbol.toStringTag,{value:"Module"}));async function Hu(t){await t.schema.alterTable("otps").addColumn("audience","varchar(255)").execute()}async function Xu(t){await t.schema.alterTable("otps").dropColumn("audience").execute()}const Zu=Object.freeze(Object.defineProperty({__proto__:null,down:Xu,up:Hu},Symbol.toStringTag,{value:"Module"}));async function ed(t){}async function td(t){}const nd=Object.freeze(Object.defineProperty({__proto__:null,down:td,up:ed},Symbol.toStringTag,{value:"Module"}));async function rd(t){await t.schema.alterTable("logs").dropColumn("category").execute()}async function ad(t){await t.schema.alterTable("logs").addColumn("category","varchar(255)",e=>e.notNull()).execute()}const od=Object.freeze(Object.defineProperty({__proto__:null,down:ad,up:rd},Symbol.toStringTag,{value:"Module"}));async function id(t){await t.schema.alterTable("users").dropColumn("tags").execute()}async function sd(t){await t.schema.alterTable("users").addColumn("tags","varchar(255)").execute()}const ud=Object.freeze(Object.defineProperty({__proto__:null,down:sd,up:id},Symbol.toStringTag,{value:"Module"}));async function dd(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 cd(t){await t.schema.dropIndex("logs_user_id"),await t.schema.dropIndex("logs_tenant_id"),await t.schema.dropIndex("logs_date")}const ld=Object.freeze(Object.defineProperty({__proto__:null,down:cd,up:dd},Symbol.toStringTag,{value:"Module"}));async function _d(t){await t.schema.alterTable("logs").dropColumn("details").execute(),await t.schema.alterTable("logs").addColumn("details","varchar(8192)").execute()}async function md(t){await t.schema.alterTable("logs").dropColumn("details").execute(),await t.schema.alterTable("logs").addColumn("details","varchar(2048)").execute()}const hd=Object.freeze(Object.defineProperty({__proto__:null,down:md,up:_d},Symbol.toStringTag,{value:"Module"}));async function fd(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 pd(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 gd=Object.freeze(Object.defineProperty({__proto__:null,down:pd,up:fd},Symbol.toStringTag,{value:"Module"}));async function yd(t){await t.schema.createIndex("users_name_index").on("users").column("name").execute()}async function wd(t){await t.schema.dropIndex("users_name_index").execute()}const Nd=Object.freeze(Object.defineProperty({__proto__:null,down:wd,up:yd},Symbol.toStringTag,{value:"Module"}));async function vd(t){}async function Cd(t){await t.schema.alterTable("users").dropConstraint("unique_email_provider").execute()}const bd=Object.freeze(Object.defineProperty({__proto__:null,down:Cd,up:vd},Symbol.toStringTag,{value:"Module"}));async function Od(t){await t.schema.alterTable("otps").dropColumn("state").execute(),await t.schema.alterTable("otps").addColumn("state","varchar(8192)").execute()}async function xd(t){await t.schema.alterTable("otps").dropColumn("state").execute(),await t.schema.alterTable("otps").addColumn("state","varchar(1024)").execute()}const Sd=Object.freeze(Object.defineProperty({__proto__:null,down:xd,up:Od},Symbol.toStringTag,{value:"Module"}));async function Td(t){await t.schema.alterTable("tickets").dropColumn("state").execute(),await t.schema.alterTable("tickets").addColumn("state","varchar(8192)").execute()}async function kd(t){await t.schema.alterTable("tickets").dropColumn("state").execute(),await t.schema.alterTable("tickets").addColumn("state","varchar(1024)").execute()}const Id=Object.freeze(Object.defineProperty({__proto__:null,down:kd,up:Td},Symbol.toStringTag,{value:"Module"}));async function Ed(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 Ad(t){await t.schema.dropTable("branding").execute()}const Pd=Object.freeze(Object.defineProperty({__proto__:null,down:Ad,up:Ed},Symbol.toStringTag,{value:"Module"}));async function $d(t){}async function Dd(t){}const Rd=Object.freeze(Object.defineProperty({__proto__:null,down:Dd,up:$d},Symbol.toStringTag,{value:"Module"}));async function zd(t){}async function Fd(t){}const jd=Object.freeze(Object.defineProperty({__proto__:null,down:Fd,up:zd},Symbol.toStringTag,{value:"Module"}));async function qd(t){}async function Ld(t){}const Jd=Object.freeze(Object.defineProperty({__proto__:null,down:Ld,up:qd},Symbol.toStringTag,{value:"Module"}));async function Md(t){}async function Bd(t){}const Wd=Object.freeze(Object.defineProperty({__proto__:null,down:Bd,up:Md},Symbol.toStringTag,{value:"Module"}));async function Kd(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 Ud(t){await t.schema.dropTable("authentication_codes").execute()}const Qd=Object.freeze(Object.defineProperty({__proto__:null,down:Ud,up:Kd},Symbol.toStringTag,{value:"Module"}));async function Vd(t){}async function Gd(t){}const Yd=Object.freeze(Object.defineProperty({__proto__:null,down:Gd,up:Vd},Symbol.toStringTag,{value:"Module"}));async function Hd(t){await t.schema.alterTable("otps").addColumn("ip","varchar(64)").execute()}async function Xd(t){await t.schema.alterTable("otps").dropColumn("ip").execute()}const Zd=Object.freeze(Object.defineProperty({__proto__:null,down:Xd,up:Hd},Symbol.toStringTag,{value:"Module"}));async function ec(t){await t.schema.alterTable("logs").dropColumn("user_agent").execute(),await t.schema.alterTable("logs").addColumn("user_agent","varchar(1024)").execute()}async function tc(t){await t.schema.alterTable("logs").dropColumn("user_agent").execute(),await t.schema.alterTable("logs").addColumn("user_agent","varchar(255)").execute()}const nc=Object.freeze(Object.defineProperty({__proto__:null,down:tc,up:ec},Symbol.toStringTag,{value:"Module"}));async function rc(t){}async function ac(t){}const oc=Object.freeze(Object.defineProperty({__proto__:null,down:ac,up:rc},Symbol.toStringTag,{value:"Module"}));async function ic(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 sc(t){await t.schema.dropTable("hooks").execute()}const uc=Object.freeze(Object.defineProperty({__proto__:null,down:sc,up:ic},Symbol.toStringTag,{value:"Module"}));async function dc(t){}async function cc(t){}const lc=Object.freeze(Object.defineProperty({__proto__:null,down:cc,up:dc},Symbol.toStringTag,{value:"Module"}));async function _c(t){}async function mc(t){}const hc=Object.freeze(Object.defineProperty({__proto__:null,down:mc,up:_c},Symbol.toStringTag,{value:"Module"}));async function fc(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 pc(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 gc=Object.freeze(Object.defineProperty({__proto__:null,down:pc,up:fc},Symbol.toStringTag,{value:"Module"}));async function yc(t){}async function wc(t){}const Nc=Object.freeze(Object.defineProperty({__proto__:null,down:wc,up:yc},Symbol.toStringTag,{value:"Module"}));async function vc(t){await t.schema.alterTable("logins").addColumn("auth0Client","varchar(256)").execute()}async function Cc(t){await t.schema.alterTable("logins").dropColumn("auth0Client").execute()}const bc=Object.freeze(Object.defineProperty({__proto__:null,down:Cc,up:vc},Symbol.toStringTag,{value:"Module"}));async function Oc(t){await t.schema.alterTable("logins").dropColumn("authParams_state").execute(),await t.schema.alterTable("logins").addColumn("authParams_state","varchar(8192)").execute()}async function xc(t){await t.schema.alterTable("logins").dropColumn("authParams_state").execute(),await t.schema.alterTable("logins").addColumn("authParams_state","varchar(511)").execute()}const Sc=Object.freeze(Object.defineProperty({__proto__:null,down:xc,up:Oc},Symbol.toStringTag,{value:"Module"}));async function Tc(t){}async function kc(t){}const Ic=Object.freeze(Object.defineProperty({__proto__:null,down:kc,up:Tc},Symbol.toStringTag,{value:"Module"}));async function Ec(t){}async function Ac(t){}const Pc=Object.freeze(Object.defineProperty({__proto__:null,down:Ac,up:Ec},Symbol.toStringTag,{value:"Module"}));async function $c(t){await t.schema.alterTable("logins").addColumn("authParams_nonce","varchar(255)").execute()}async function Dc(t){await t.schema.alterTable("logins").dropColumn("nonce").execute()}const Rc=Object.freeze(Object.defineProperty({__proto__:null,down:Dc,up:$c},Symbol.toStringTag,{value:"Module"}));async function zc(t){}async function Fc(t){}const jc=Object.freeze(Object.defineProperty({__proto__:null,down:Fc,up:zc},Symbol.toStringTag,{value:"Module"}));async function qc(t){}async function Lc(t){}const Jc=Object.freeze(Object.defineProperty({__proto__:null,down:Lc,up:qc},Symbol.toStringTag,{value:"Module"}));async function Mc(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 Bc(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 Wc=Object.freeze(Object.defineProperty({__proto__:null,down:Bc,up:Mc},Symbol.toStringTag,{value:"Module"}));async function Kc(t){await t.schema.dropTable("otps").execute(),await t.schema.dropTable("authentication_codes").execute()}async function Uc(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 Qc=Object.freeze(Object.defineProperty({__proto__:null,down:Uc,up:Kc},Symbol.toStringTag,{value:"Module"}));async function Vc(t){await t.schema.createIndex("IDX_logs_tenant_date_type_user").on("logs").columns(["tenant_id","date","type","user_id"]).execute()}async function Gc(t){await t.schema.dropIndex("IDX_logs_tenant_date_type_user").on("logs").execute()}const Yc=Object.freeze(Object.defineProperty({__proto__:null,down:Gc,up:Vc},Symbol.toStringTag,{value:"Module"}));async function Hc(t){}async function Xc(t){}const Zc=Object.freeze(Object.defineProperty({__proto__:null,down:Xc,up:Hc},Symbol.toStringTag,{value:"Module"}));async function el(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 tl(t){await t.schema.dropTable("prompt_settings").execute()}const nl=Object.freeze(Object.defineProperty({__proto__:null,down:tl,up:el},Symbol.toStringTag,{value:"Module"}));async function rl(t){}async function al(t){}const ol=Object.freeze(Object.defineProperty({__proto__:null,down:al,up:rl},Symbol.toStringTag,{value:"Module"}));async function il(t){}async function sl(t){}const ul=Object.freeze(Object.defineProperty({__proto__:null,down:sl,up:il},Symbol.toStringTag,{value:"Module"}));async function dl(t){}async function cl(t){}const ll=Object.freeze(Object.defineProperty({__proto__:null,down:cl,up:dl},Symbol.toStringTag,{value:"Module"}));async function _l(t){await t.schema.alterTable("logins").addColumn("authParams_ui_locales","varchar(32)").execute()}async function ml(t){await t.schema.alterTable("logins").dropColumn("authParams_ui_locales").execute()}const hl=Object.freeze(Object.defineProperty({__proto__:null,down:ml,up:_l},Symbol.toStringTag,{value:"Module"}));async function fl(t){await t.schema.alterTable("logins").addColumn("authParams_prompt","varchar(16)").execute()}async function pl(t){await t.schema.alterTable("logins").dropColumn("authParams_prompt").execute()}const gl=Object.freeze(Object.defineProperty({__proto__:null,down:pl,up:fl},Symbol.toStringTag,{value:"Module"}));async function yl(t){}async function wl(t){}const Nl=Object.freeze(Object.defineProperty({__proto__:null,down:wl,up:yl},Symbol.toStringTag,{value:"Module"}));async function vl(t){await t.schema.alterTable("logins").addColumn("authParams_act_as","varchar(255)").execute()}async function Cl(t){await t.schema.alterTable("logins").dropColumn("authParam_act_as").execute()}const bl=Object.freeze(Object.defineProperty({__proto__:null,down:Cl,up:vl},Symbol.toStringTag,{value:"Module"}));async function Ol(t){await t.schema.alterTable("codes").addColumn("code_verifier","varchar(128)").execute()}async function xl(t){await t.schema.alterTable("codes").dropColumn("code_verifier").execute()}const Sl=Object.freeze(Object.defineProperty({__proto__:null,down:xl,up:Ol},Symbol.toStringTag,{value:"Module"}));async function Tl(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 kl(t){await t.schema.dropTable("email_providers").execute()}const Il=Object.freeze(Object.defineProperty({__proto__:null,down:kl,up:Tl},Symbol.toStringTag,{value:"Module"}));async function El(t){await t.schema.dropTable("tickets").execute()}async function Al(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 Pl=Object.freeze(Object.defineProperty({__proto__:null,down:Al,up:El},Symbol.toStringTag,{value:"Module"}));async function $l(t){}async function Dl(t){await t.schema.alterTable("logins").dropColumn("ip").dropColumn("useragent").execute()}const Rl=Object.freeze(Object.defineProperty({__proto__:null,down:Dl,up:$l},Symbol.toStringTag,{value:"Module"}));async function zl(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 Fl(t){await t.schema.dropTable("refresh_tokens").execute()}const jl=Object.freeze(Object.defineProperty({__proto__:null,down:Fl,up:zl},Symbol.toStringTag,{value:"Module"}));async function ql(t){}async function Ll(t){}const Jl=Object.freeze(Object.defineProperty({__proto__:null,down:Ll,up:ql},Symbol.toStringTag,{value:"Module"}));async function Ml(t){await t.schema.dropTable("sessions").execute(),await t.schema.dropTable("refresh_tokens").execute()}async function Bl(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 Wl=Object.freeze(Object.defineProperty({__proto__:null,down:Bl,up:Ml},Symbol.toStringTag,{value:"Module"}));async function Kl(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 Ul(t){await t.schema.dropTable("sessions_2").execute(),await t.schema.dropTable("refresh_tokens_2").execute()}const Ql=Object.freeze(Object.defineProperty({__proto__:null,down:Ul,up:Kl},Symbol.toStringTag,{value:"Module"}));async function Vl(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 Gl(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 Yl=Object.freeze(Object.defineProperty({__proto__:null,down:Gl,up:Vl},Symbol.toStringTag,{value:"Module"}));async function Hl(t){}async function Xl(t){await t.schema.alterTable("logins").dropColumn("authParams_organization").dropColumn("authorization_url").execute()}const Zl=Object.freeze(Object.defineProperty({__proto__:null,down:Xl,up:Hl},Symbol.toStringTag,{value:"Module"}));async function e_(t){await t.schema.alterTable("logins").dropColumn("authorization_url").execute(),await t.schema.alterTable("logins").addColumn("authorization_url","varchar(2048)").execute()}async function t_(t){await t.schema.alterTable("logins").dropColumn("authorization_url").execute(),await t.schema.alterTable("logins").addColumn("authorization_url","varchar(1024)").execute()}const n_=Object.freeze(Object.defineProperty({__proto__:null,down:t_,up:e_},Symbol.toStringTag,{value:"Module"}));async function r_(t){}async function a_(t){}const o_=Object.freeze(Object.defineProperty({__proto__:null,down:a_,up:r_},Symbol.toStringTag,{value:"Module"}));async function i_(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 s_(t){await t.schema.dropTable("sessions").execute(),await t.schema.dropTable("login_sessions").execute(),await t.schema.dropTable("refresh_tokens").execute()}const u_=Object.freeze(Object.defineProperty({__proto__:null,down:s_,up:i_},Symbol.toStringTag,{value:"Module"}));async function d_(t){await t.schema.dropTable("logins").execute(),await t.schema.dropTable("sessions_2").execute(),await t.schema.dropTable("refresh_tokens_2").execute()}async function c_(t){}const l_=Object.freeze(Object.defineProperty({__proto__:null,down:c_,up:d_},Symbol.toStringTag,{value:"Module"}));async function __(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 m_(t){}const h_=Object.freeze(Object.defineProperty({__proto__:null,down:m_,up:__},Symbol.toStringTag,{value:"Module"}));async function f_(t){}async function p_(t){await t.schema.alterTable("users").dropColumn("phone_number").dropColumn("phone_verified").dropColumn("username").execute()}const g_=Object.freeze(Object.defineProperty({__proto__:null,down:p_,up:f_},Symbol.toStringTag,{value:"Module"}));async function y_(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 w_(t){await t.schema.dropTable("forms").execute()}const N_=Object.freeze(Object.defineProperty({__proto__:null,down:w_,up:y_},Symbol.toStringTag,{value:"Module"}));async function v_(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 C_(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 b_=Object.freeze(Object.defineProperty({__proto__:null,down:C_,up:v_},Symbol.toStringTag,{value:"Module"}));async function O_(t){await t.schema.alterTable("login_sessions").addColumn("login_completed","boolean",e=>e.notNull().defaultTo(0)).execute()}async function x_(t){await t.schema.alterTable("login_sessions").dropColumn("login_completed").execute()}const S_=Object.freeze(Object.defineProperty({__proto__:null,down:x_,up:O_},Symbol.toStringTag,{value:"Module"}));async function T_(t){await t.schema.alterTable("sessions").addColumn("login_session_id","varchar(21)",e=>e.references("login_sessions.id").onDelete("set null")).execute()}async function k_(t){await t.schema.alterTable("sessions").dropColumn("login_session_id").execute()}const I_=Object.freeze(Object.defineProperty({__proto__:null,down:k_,up:T_},Symbol.toStringTag,{value:"Module"}));async function E_(t){await t.schema.createIndex("IDX_sessions_login_session_id").on("sessions").column("login_session_id").execute()}async function A_(t){await t.schema.dropIndex("IDX_sessions_login_session_id").on("sessions").execute()}const P_=Object.freeze(Object.defineProperty({__proto__:null,down:A_,up:E_},Symbol.toStringTag,{value:"Module"}));async function $_(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 D_(t){await t.schema.alterTable("codes").dropColumn("code_challenge").execute(),await t.schema.alterTable("codes").dropColumn("code_challenge_method").execute()}const R_=Object.freeze(Object.defineProperty({__proto__:null,down:D_,up:$_},Symbol.toStringTag,{value:"Module"}));async function z_(t){await t.schema.alterTable("codes").addColumn("redirect_uri","varchar(1024)").execute()}async function F_(t){await t.schema.alterTable("codes").dropColumn("redirect_uri").execute()}const j_=Object.freeze(Object.defineProperty({__proto__:null,down:F_,up:z_},Symbol.toStringTag,{value:"Module"}));async function q_(t){await t.schema.alterTable("codes").addColumn("nonce","varchar(1024)").execute(),await t.schema.alterTable("codes").addColumn("state","varchar(2048)").execute()}async function L_(t){await t.schema.alterTable("codes").dropColumn("nonce").execute(),await t.schema.alterTable("codes").dropColumn("state").execute()}const J_=Object.freeze(Object.defineProperty({__proto__:null,down:L_,up:q_},Symbol.toStringTag,{value:"Module"}));async function M_(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 B_(t){await t.schema.dropTable("themes").execute()}const W_=Object.freeze(Object.defineProperty({__proto__:null,down:B_,up:M_},Symbol.toStringTag,{value:"Module"}));async function K_(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 U_(t){await t.schema.dropTable("roles").execute(),await t.schema.dropTable("resource_servers").execute()}const Q_=Object.freeze(Object.defineProperty({__proto__:null,down:U_,up:K_},Symbol.toStringTag,{value:"Module"}));async function V_(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 G_(t){await t.schema.dropTable("user_permissions").execute(),await t.schema.dropTable("role_permissions").execute()}const Y_=Object.freeze(Object.defineProperty({__proto__:null,down:G_,up:V_},Symbol.toStringTag,{value:"Module"}));async function H_(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 X_(t){await t.schema.dropTable("user_roles").execute()}const Z_=Object.freeze(Object.defineProperty({__proto__:null,down:X_,up:H_},Symbol.toStringTag,{value:"Module"}));async function em(t){}async function tm(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 nm=Object.freeze(Object.defineProperty({__proto__:null,down:tm,up:em},Symbol.toStringTag,{value:"Module"}));async function rm(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 am(t){await t.schema.dropTable("organizations").execute()}const om=Object.freeze(Object.defineProperty({__proto__:null,down:am,up:rm},Symbol.toStringTag,{value:"Module"}));async function im(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 sm(t){await t.schema.dropTable("user_organizations").execute()}const um=Object.freeze(Object.defineProperty({__proto__:null,down:sm,up:im},Symbol.toStringTag,{value:"Module"}));async function dm(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 cm(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 lm=Object.freeze(Object.defineProperty({__proto__:null,down:cm,up:dm},Symbol.toStringTag,{value:"Module"}));async function _m(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 mm(t){await t.schema.dropTable("clients").execute()}const hm=Object.freeze(Object.defineProperty({__proto__:null,down:mm,up:_m},Symbol.toStringTag,{value:"Module"}));async function Ar(t){try{return await g`SELECT VERSION()`.execute(t),"mysql"}catch{return"sqlite"}}async function fm(t){await Ar(t)==="mysql"?await pm(t):await gm(t)}async function pm(t){await t.transaction().execute(async e=>{const n=await g`
2
2
  SELECT
3
3
  rc.CONSTRAINT_NAME,
4
4
  rc.TABLE_NAME
@@ -50,4 +50,4 @@
50
50
  created_at, expires_at, idle_expires_at, last_exchanged_at
51
51
  FROM refresh_tokens_temp`.execute(e),await g`DROP TABLE refresh_tokens_temp`.execute(e),await g`CREATE TABLE login_sessions_temp AS SELECT * FROM login_sessions`.execute(e),await g`DROP TABLE login_sessions`.execute(e),await e.schema.createTable("login_sessions").addColumn("id","varchar(21)",n=>n.primaryKey()).addColumn("tenant_id","varchar(255)",n=>n.references("tenants.id").onDelete("cascade").notNull()).addColumn("session_id","varchar(21)").addColumn("csrf_token","varchar(21)",n=>n.notNull()).addColumn("authParams_client_id","varchar(191)",n=>n.references("applications.id").onDelete("cascade").notNull()).execute(),await g`INSERT INTO login_sessions (id, tenant_id, session_id, csrf_token, authParams_client_id)
52
52
  SELECT id, tenant_id, session_id, csrf_token, authParams_client_id
53
- FROM login_sessions_temp`.execute(e),await g`DROP TABLE login_sessions_temp`.execute(e)})}const vm=Object.freeze(Object.defineProperty({__proto__:null,down:ym,up:fm},Symbol.toStringTag,{value:"Module"}));async function Cm(t){await t.schema.createTable("client_grants").addColumn("id","varchar(21)",e=>e.notNull()).addColumn("tenant_id","varchar(191)",e=>e.notNull().references("tenants.id").onDelete("cascade")).addColumn("client_id","varchar(191)",e=>e.notNull()).addColumn("audience","varchar(191)",e=>e.notNull()).addColumn("scope","text",e=>e.defaultTo("[]")).addColumn("organization_usage","varchar(32)").addColumn("allow_any_organization","integer",e=>e.defaultTo(0)).addColumn("is_system","integer",e=>e.defaultTo(0)).addColumn("subject_type","varchar(32)").addColumn("authorization_details_types","text",e=>e.defaultTo("[]")).addColumn("created_at","varchar(35)",e=>e.notNull()).addColumn("updated_at","varchar(35)",e=>e.notNull()).addPrimaryKeyConstraint("pk_client_grants",["tenant_id","id"]).addForeignKeyConstraint("fk_client_grants_clients",["tenant_id","client_id"],"clients",["tenant_id","client_id"],e=>e.onDelete("cascade")).execute(),await t.schema.createIndex("uq_client_grants_tenant_client_audience").on("client_grants").columns(["tenant_id","client_id","audience"]).unique().execute(),await t.schema.createIndex("idx_client_grants_audience").on("client_grants").columns(["audience"]).execute()}async function bm(t){await t.schema.dropTable("client_grants").execute()}const Om=Object.freeze(Object.defineProperty({__proto__:null,down:bm,up:Cm},Symbol.toStringTag,{value:"Module"}));async function Tm(t){await t.schema.dropTable("applications").execute()}async function Sm(t){await t.schema.createTable("applications").addColumn("id","varchar(21)",e=>e.notNull()).addColumn("tenant_id","varchar(191)",e=>e.notNull().references("tenants.id").onDelete("cascade")).addColumn("name","varchar(255)",e=>e.notNull()).addColumn("client_secret","varchar(255)").addColumn("callbacks","text",e=>e.defaultTo("[]")).addColumn("allowed_origins","text",e=>e.defaultTo("[]")).addColumn("web_origins","text",e=>e.defaultTo("[]")).addColumn("allowed_logout_urls","text",e=>e.defaultTo("[]")).addColumn("allowed_clients","text",e=>e.defaultTo("[]")).addColumn("disable_sign_ups","integer",e=>e.defaultTo(0)).addColumn("addons","text",e=>e.defaultTo("{}")).addColumn("client_metadata","text",e=>e.defaultTo("{}")).addColumn("created_at","varchar(35)",e=>e.notNull()).addColumn("updated_at","varchar(35)",e=>e.notNull()).addPrimaryKeyConstraint("pk_applications",["tenant_id","id"]).execute(),await t.schema.createIndex("idx_applications_tenant_id").on("applications").columns(["tenant_id"]).execute()}const xm=Object.freeze(Object.defineProperty({__proto__:null,down:Sm,up:Tm},Symbol.toStringTag,{value:"Module"})),Pr={m1_init:Ys,m2_magicLink:Zs,m3_updateAt:nu,m4_logTable:ou,m5_userProfile:uu,m6_sessions:lu,m7_passwords:hu,m8_logsTableNewFields:gu,m9_passwordTableNewField:Nu,n01_codesTable:bu,n11_universalLoginSession:Su,n12_userFields:Eu,n13_userEmailIndex:Pu,n14_profileDataField:Ru,n15_userEmailIndex:qu,n16_userLocale:Ju,n17_signingKeys:Bu,n18_logsFields:Qu,n19_connectionsUserinfo:Yu,n20_missingFields:Zu,n21_sessionDeletedAt:nd,n22_dropLogsFields:od,n23_dropUsersFields:ud,n24_logsIndexes:ld,n25_logDescMaxLength:hd,n26_logsTableExtraFields:gd,n27_usersTableNameIndex:Nd,n28_usersEmailConstrain:bd,n29_increaseOtpStateLength:Sd,n30_increaseTicketStateLength:Ed,n31_branding:Pd,n32_indexesAndNotNull:Rd,n33_vendorIdInUniversalLoginSession:qd,n34_auth0ClientInUniversalLoginSession:Jd,n35_increaseUniversalSessionStateLength:Bd,n36_authenticationCodes:Qd,n37_disableSignUps:Yd,n38_otpIpAddress:Zd,n39_increaseUserAgentLength:nc,n40_userId:oc,n41_hooks:uc,n42_userIdIndexes:lc,n43_userIdIndexes:hc,n44_codes:gc,n45_hookProperties:Nc,n46_loginAuth0Client:bc,n47_loginAuth0Client:Sc,n48_saml:Ec,n49_removeFields:Pc,n50_authParamsNonce:Rc,n51_connectionid:qc,n52_cert:Jc,n53_codes_primary_key:Bc,n54_cleanup_tables:Qc,n55_logs_index:Yc,n56_application_fields:Zc,n57_prompt_settings:nl,n58_connection_client_id:ol,n59_connection_options:ul,n60_users_metadata:ll,n61_userLocales:hl,n62_prompt:gl,n63_connection_cleanup:Nl,n64_act_as:bl,n65_code_verifier:Sl,n66_email_providers:El,n67_drop_tickets:Pl,n68_login_useragents:Rl,n70_refresh_tokens:ql,n71_session_new_fields:Jl,n72_session_primary_key:Bl,n73_drop_sessions:Ql,n74_custom_domains:Yl,n75_organizations:Zl,n76_authorization_url_length:n_,n77_drop_sessions:o_,n78_login_sessions:u_,n79_drop_sessions_2:l_,n80_recreate_custom_domains:h_,n81_phone:g_,n82_forms:N_,n83_addFormsIdToHooks:b_,n84_login_completed:S_,n85_add_login_session_id_to_sessions:E_,n86_index_sessions_login_session_id:P_,n87_code_challenge:R_,n88_add_redirect_uri_to_codes:q_,n89_add_nonce_and_state_to_codes:J_,n90_themes:B_,n91_resource_servers_rules_permissions:Q_,n92_role_permissions:Y_,n93_add_permissions_to_roles:Z_,n94_keys_connection_and_extend_columns:nm,n95_create_organizations_table:om,n96_create_user_organizations_table:um,n97_add_organization_to_user_permissions_and_roles:lm,n98_clients:hm,n99_update_client_foreign_keys:vm,o001_client_grants:Om,o002_drop_applications:xm};async function km(t,e=!1){e&&console.log("migrating...");const n=new Ir(Pr),r=new fr({db:t,provider:n}),{error:a,results:o}=await r.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 Em(t){console.log("migrating...");const e=new Ir(Pr),n=new fr({db:t,provider:e}),{error:r,results:a}=await n.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}"`)}),r)throw console.error("failed to migrate"),console.error(r),r}function Im(t){return{branding:ro(t),cleanup:Do(t),clients:za(t),clientGrants:Ma(t),legacyClients:Wa(t),codes:ya(t),connections:Ia(t),emailProviders:xo(t),customDomains:eo(t),forms:Lo(t),hooks:co(t),keys:Qa(t),loginSessions:No(t),logs:na(t),passwords:_a(t),promptSettings:bo(t),refreshTokens:$o(t),resourceServers:Uo(t),rolePermissions:ni(t),userPermissions:si(t),userRoles:_i(t),roles:Xo(t),sessions:ua(t),tenants:Hr(t),themes:fo(t),users:Jr(t),organizations:yi(t),userOrganizations:Ti(t)}}exports.default=Im;exports.migrateDown=Em;exports.migrateToLatest=km;
53
+ FROM login_sessions_temp`.execute(e),await g`DROP TABLE login_sessions_temp`.execute(e)})}const vm=Object.freeze(Object.defineProperty({__proto__:null,down:ym,up:fm},Symbol.toStringTag,{value:"Module"}));async function Cm(t){await t.schema.createTable("client_grants").addColumn("id","varchar(21)",e=>e.notNull()).addColumn("tenant_id","varchar(191)",e=>e.notNull().references("tenants.id").onDelete("cascade")).addColumn("client_id","varchar(191)",e=>e.notNull()).addColumn("audience","varchar(191)",e=>e.notNull()).addColumn("scope","text",e=>e.defaultTo("[]")).addColumn("organization_usage","varchar(32)").addColumn("allow_any_organization","integer",e=>e.defaultTo(0)).addColumn("is_system","integer",e=>e.defaultTo(0)).addColumn("subject_type","varchar(32)").addColumn("authorization_details_types","text",e=>e.defaultTo("[]")).addColumn("created_at","varchar(35)",e=>e.notNull()).addColumn("updated_at","varchar(35)",e=>e.notNull()).addPrimaryKeyConstraint("pk_client_grants",["tenant_id","id"]).addForeignKeyConstraint("fk_client_grants_clients",["tenant_id","client_id"],"clients",["tenant_id","client_id"],e=>e.onDelete("cascade")).execute(),await t.schema.createIndex("uq_client_grants_tenant_client_audience").on("client_grants").columns(["tenant_id","client_id","audience"]).unique().execute(),await t.schema.createIndex("idx_client_grants_audience").on("client_grants").columns(["audience"]).execute()}async function bm(t){await t.schema.dropTable("client_grants").execute()}const Om=Object.freeze(Object.defineProperty({__proto__:null,down:bm,up:Cm},Symbol.toStringTag,{value:"Module"}));async function xm(t){await t.schema.dropTable("applications").execute()}async function Sm(t){await t.schema.createTable("applications").addColumn("id","varchar(21)",e=>e.notNull()).addColumn("tenant_id","varchar(191)",e=>e.notNull().references("tenants.id").onDelete("cascade")).addColumn("name","varchar(255)",e=>e.notNull()).addColumn("client_secret","varchar(255)").addColumn("callbacks","text",e=>e.defaultTo("[]")).addColumn("allowed_origins","text",e=>e.defaultTo("[]")).addColumn("web_origins","text",e=>e.defaultTo("[]")).addColumn("allowed_logout_urls","text",e=>e.defaultTo("[]")).addColumn("allowed_clients","text",e=>e.defaultTo("[]")).addColumn("disable_sign_ups","integer",e=>e.defaultTo(0)).addColumn("addons","text",e=>e.defaultTo("{}")).addColumn("client_metadata","text",e=>e.defaultTo("{}")).addColumn("created_at","varchar(35)",e=>e.notNull()).addColumn("updated_at","varchar(35)",e=>e.notNull()).addPrimaryKeyConstraint("pk_applications",["tenant_id","id"]).execute(),await t.schema.createIndex("idx_applications_tenant_id").on("applications").columns(["tenant_id"]).execute()}const Tm=Object.freeze(Object.defineProperty({__proto__:null,down:Sm,up:xm},Symbol.toStringTag,{value:"Module"}));async function km(t){await t.schema.createIndex("users_phone_tenant_provider_index").on("users").columns(["tenant_id","phone_number","provider"]).execute()}async function Im(t){await t.schema.dropIndex("users_phone_tenant_provider_index").execute()}const Em=Object.freeze(Object.defineProperty({__proto__:null,down:Im,up:km},Symbol.toStringTag,{value:"Module"}));async function Am(t){await t.schema.createIndex("login_sessions_id_index").on("login_sessions").column("id").execute()}async function Pm(t){await t.schema.dropIndex("login_sessions_id_index").execute()}const $m=Object.freeze(Object.defineProperty({__proto__:null,down:Pm,up:Am},Symbol.toStringTag,{value:"Module"}));async function Dm(t){await t.schema.createIndex("connections_tenant_id_index").on("connections").column("tenant_id").execute()}async function Rm(t){await t.schema.dropIndex("connections_tenant_id_index").execute()}const zm=Object.freeze(Object.defineProperty({__proto__:null,down:Rm,up:Dm},Symbol.toStringTag,{value:"Module"}));async function Fm(t){await t.schema.dropIndex("idx_user_organizations_tenant_id").execute()}async function jm(t){await t.schema.createIndex("idx_user_organizations_tenant_id").on("user_organizations").column("tenant_id").execute()}const qm=Object.freeze(Object.defineProperty({__proto__:null,down:jm,up:Fm},Symbol.toStringTag,{value:"Module"})),Pr={m1_init:Ys,m2_magicLink:Zs,m3_updateAt:nu,m4_logTable:ou,m5_userProfile:uu,m6_sessions:lu,m7_passwords:hu,m8_logsTableNewFields:gu,m9_passwordTableNewField:Nu,n01_codesTable:bu,n11_universalLoginSession:Su,n12_userFields:Iu,n13_userEmailIndex:Pu,n14_profileDataField:Ru,n15_userEmailIndex:ju,n16_userLocale:Ju,n17_signingKeys:Wu,n18_logsFields:Qu,n19_connectionsUserinfo:Yu,n20_missingFields:Zu,n21_sessionDeletedAt:nd,n22_dropLogsFields:od,n23_dropUsersFields:ud,n24_logsIndexes:ld,n25_logDescMaxLength:hd,n26_logsTableExtraFields:gd,n27_usersTableNameIndex:Nd,n28_usersEmailConstrain:bd,n29_increaseOtpStateLength:Sd,n30_increaseTicketStateLength:Id,n31_branding:Pd,n32_indexesAndNotNull:Rd,n33_vendorIdInUniversalLoginSession:jd,n34_auth0ClientInUniversalLoginSession:Jd,n35_increaseUniversalSessionStateLength:Wd,n36_authenticationCodes:Qd,n37_disableSignUps:Yd,n38_otpIpAddress:Zd,n39_increaseUserAgentLength:nc,n40_userId:oc,n41_hooks:uc,n42_userIdIndexes:lc,n43_userIdIndexes:hc,n44_codes:gc,n45_hookProperties:Nc,n46_loginAuth0Client:bc,n47_loginAuth0Client:Sc,n48_saml:Ic,n49_removeFields:Pc,n50_authParamsNonce:Rc,n51_connectionid:jc,n52_cert:Jc,n53_codes_primary_key:Wc,n54_cleanup_tables:Qc,n55_logs_index:Yc,n56_application_fields:Zc,n57_prompt_settings:nl,n58_connection_client_id:ol,n59_connection_options:ul,n60_users_metadata:ll,n61_userLocales:hl,n62_prompt:gl,n63_connection_cleanup:Nl,n64_act_as:bl,n65_code_verifier:Sl,n66_email_providers:Il,n67_drop_tickets:Pl,n68_login_useragents:Rl,n70_refresh_tokens:jl,n71_session_new_fields:Jl,n72_session_primary_key:Wl,n73_drop_sessions:Ql,n74_custom_domains:Yl,n75_organizations:Zl,n76_authorization_url_length:n_,n77_drop_sessions:o_,n78_login_sessions:u_,n79_drop_sessions_2:l_,n80_recreate_custom_domains:h_,n81_phone:g_,n82_forms:N_,n83_addFormsIdToHooks:b_,n84_login_completed:S_,n85_add_login_session_id_to_sessions:I_,n86_index_sessions_login_session_id:P_,n87_code_challenge:R_,n88_add_redirect_uri_to_codes:j_,n89_add_nonce_and_state_to_codes:J_,n90_themes:W_,n91_resource_servers_rules_permissions:Q_,n92_role_permissions:Y_,n93_add_permissions_to_roles:Z_,n94_keys_connection_and_extend_columns:nm,n95_create_organizations_table:om,n96_create_user_organizations_table:um,n97_add_organization_to_user_permissions_and_roles:lm,n98_clients:hm,n99_update_client_foreign_keys:vm,o001_client_grants:Om,o002_drop_applications:Tm,o003_phone_number_index:Em,o004_login_sessions_id_index:$m,o005_connections_tenant_index:zm,o006_remove_redundant_user_organizations_tenant_index:qm};async function Lm(t,e=!1){e&&console.log("migrating...");const n=new Er(Pr),r=new fr({db:t,provider:n}),{error:a,results:o}=await r.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 Jm(t){console.log("migrating...");const e=new Er(Pr),n=new fr({db:t,provider:e}),{error:r,results:a}=await n.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}"`)}),r)throw console.error("failed to migrate"),console.error(r),r}function Mm(t){return{branding:ro(t),cleanup:Do(t),clients:za(t),clientGrants:Ma(t),legacyClients:Ba(t),codes:ya(t),connections:Ea(t),emailProviders:To(t),customDomains:eo(t),forms:Lo(t),hooks:co(t),keys:Qa(t),loginSessions:No(t),logs:na(t),passwords:_a(t),promptSettings:bo(t),refreshTokens:$o(t),resourceServers:Uo(t),rolePermissions:ni(t),userPermissions:si(t),userRoles:_i(t),roles:Xo(t),sessions:ua(t),tenants:Hr(t),themes:fo(t),users:Jr(t),organizations:yi(t),userOrganizations:xi(t)}}exports.default=Mm;exports.migrateDown=Jm;exports.migrateToLatest=Lm;