@authhero/kysely-adapter 10.57.0 → 10.58.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/kysely-adapter.cjs +5 -5
- package/dist/kysely-adapter.d.ts +95 -52
- package/dist/kysely-adapter.mjs +1951 -1831
- package/package.json +2 -2
package/dist/kysely-adapter.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";var Ma=Object.defineProperty;var xn=t=>{throw TypeError(t)};var Ja=(t,e,n)=>e in t?Ma(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var se=(t,e,n)=>Ja(t,typeof e!="symbol"?e+"":e,n),Ut=(t,e,n)=>e.has(t)||xn("Cannot "+n);var i=(t,e,n)=>(Ut(t,e,"read from private field"),n?n.call(t):e.get(t)),C=(t,e,n)=>e.has(t)?xn("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,n),b=(t,e,n,a)=>(Ut(t,e,"write to private field"),a?a.call(t,n):e.set(t,n),n),w=(t,e,n)=>(Ut(t,e,"access private method"),n);Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const J=require("@authhero/adapter-interfaces");require("@hono/zod-openapi");var et=class extends Error{constructor(e=500,n){super(n==null?void 0:n.message,{cause:n==null?void 0:n.cause});se(this,"res");se(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 qa(t){return async(e,n)=>{const{identities:a,...r}=n,o={...r,login_count:r.login_count??0,created_at:new Date().toISOString(),updated_at:new Date().toISOString(),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 et(409,{message:"User already exists"}):new et(500,{message:`${u.code}, ${u.message}`})}return{...o,email:o.email||"",email_verified:o.email_verified===1,is_social:o.is_social===1}}}function O(t){if(t==null||typeof t!="object")return t;if(Array.isArray(t))return t.map(n=>n!==null&&typeof n=="object"?O(n):n);const e={...t};for(const n in e){const a=e[n];a===null?delete e[n]:a!==null&&typeof a=="object"&&(Array.isArray(a)?e[n]=a.map(r=>r!==null&&typeof r=="object"?O(r):r):e[n]=O(a))}return e}function Un(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:J.parseUserId(t.user_id).id,isSocial:!!t.is_social,profileData:{email:t.email,email_verified:!!t.email_verified,...e}}}function Ba(t){return async(e,n)=>{const[a,r]=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(!a)return null;const{tenant_id:o,...u}=a,c={...u,email:a.email||"",email_verified:a.email_verified===1,is_social:a.is_social===1,app_metadata:JSON.parse(a.app_metadata),user_metadata:JSON.parse(a.user_metadata),identities:[{connection:a.connection,provider:a.provider,user_id:J.parseUserId(a.user_id).id,isSocial:!!a.is_social},...r.map(Un)]};return O(c)}}function q(t,e,n,a){const r=[];let o="",u=!1;for(let l=0;l<n.length;l++){const h=n[l];h==='"'?(u=!u,o+=h):h===" "&&!u?o.trim()&&(r.push(o.trim()),o=""):o+=h}return o.trim()&&r.push(o.trim()),r.map(l=>l.replace(/^([^:]+)=/g,"$1:")).map(l=>{let h=l.startsWith("-"),p=null,d="",y=!1,f;if(l.startsWith("-_exists_:"))p=l.substring(10),y=!0,h=!0;else if(l.startsWith("_exists_:"))p=l.substring(9),y=!0,h=!1;else if(l.includes(":")){const N=h?l.substring(1):l,x=N.indexOf(":");p=N.substring(0,x),d=N.substring(x+1),y=!1,d.startsWith(">=")?(f=">=",d=d.substring(2)):d.startsWith(">")?(f=">",d=d.substring(1)):d.startsWith("<=")?(f="<=",d=d.substring(2)):d.startsWith("<")?(f="<",d=d.substring(1)):f="=",d.startsWith('"')&&d.endsWith('"')&&d.length>1&&(d=d.slice(1,-1))}else p=null,d=l,y=!1;return{key:p,value:d,isNegation:h,isExistsQuery:y,operator:f}}).forEach(({key:l,value:h,isNegation:p,isExistsQuery:d,operator:y})=>{if(l)if(d)p?e=e.where(l,"is",null):e=e.where(l,"is not",null);else if(p)switch(y){case">":e=e.where(l,"<=",h);break;case">=":e=e.where(l,"<",h);break;case"<":e=e.where(l,">=",h);break;case"<=":e=e.where(l,">",h);break;default:e=e.where(l,"!=",h)}else e=e.where(l,y,h);else if(h){const{ref:f}=t.dynamic;e=e.where(N=>N.or(a.map(x=>N(f(x),"like",`%${h}%`))))}}),e}function j(t){return typeof t=="string"?parseInt(t,10):typeof t=="bigint"?Number(t):t}function Wa(t){return async(e,n={})=>{const{page:a=0,per_page:r=50,include_totals:o=!1,sort:u,q:c}=n;let l=t.selectFrom("users").where("users.tenant_id","=",e);if(c&&(l=q(t,l,c,["email","name","phone_number"])),u&&u.sort_by){const{ref:x}=t.dynamic;l=l.orderBy(x(u.sort_by),u.sort_order)}const p=await l.offset(a*r).limit(r).selectAll().execute(),d=p.map(x=>x.user_id),y=d.length?await t.selectFrom("users").selectAll().where("users.tenant_id","=",e).where("users.linked_to","in",d).execute():[],f=p.map(x=>{const E=y.filter(z=>z.linked_to===x.user_id);return O({...x,email_verified:x.email_verified===1,is_social:x.is_social===1,app_metadata:JSON.parse(x.app_metadata),user_metadata:JSON.parse(x.user_metadata),identities:[{connection:x.connection,provider:x.provider,user_id:J.parseUserId(x.user_id).id,isSocial:!!x.is_social},...E.map(Un)]})});if(!o)return{users:f,start:0,limit:0,length:0};const{count:N}=await l.select(x=>x.fn.countAll().as("count")).executeTakeFirstOrThrow();return{users:f,start:a*r,limit:r,length:j(N)}}}function Ka(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 nt(t,e="",n={}){for(let a in t)if(Object.prototype.hasOwnProperty.call(t,a)){const r=e?`${e}_${a}`:a,o=t[a];typeof o=="object"&&o!==null&&!Array.isArray(o)?nt(o,r,n):typeof o=="boolean"?n[r]=o?1:0:n[r]=o}return n}function Qn(t,e){const n={};for(const[a,r]of Object.entries(t)){const o=e.find(u=>a.startsWith(`${u}_`));if(!o)n[a]=r;else{const u=a.slice(o.length+1);n[o]={...n[o],[u]:r}}}return n}function Ua(t){return async(e,n,a)=>{const r=nt({...a,updated_at:new Date().toISOString(),app_metadata:a.app_metadata?JSON.stringify(a.app_metadata):void 0,user_metadata:a.user_metadata?JSON.stringify(a.user_metadata):void 0});return(await t.updateTable("users").set(r).where("users.tenant_id","=",e).where("users.user_id","=",n).execute()).length===1}}function Qa(t){return async(e,n,a,r)=>{const o={linked_to:null};return(await t.updateTable("users").set(o).where("users.tenant_id","=",e).where("users.user_id","=",`${a}|${r}`).where("users.linked_to","=",`${n}`).execute()).length===1}}function Va(t){return{create:qa(t),remove:Ka(t),get:Ba(t),list:Wa(t),update:Ua(t),unlink:Qa(t)}}const Ga="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";let Ya=t=>crypto.getRandomValues(new Uint8Array(t)),Ha=(t,e,n)=>{let a=(2<<Math.log2(t.length-1))-1,r=-~(1.6*a*e/t.length);return(o=e)=>{let u="";for(;;){let c=n(r),l=r|0;for(;l--;)if(u+=t[c[l]&a]||"",u.length>=o)return u}}},Xa=(t,e=21)=>Ha(t,e|0,Ya),oe=(t=21)=>{let e="",n=crypto.getRandomValues(new Uint8Array(t|=0));for(;t--;)e+=Ga[n[t]&63];return e};function Nt(t,e,n={...t}){for(const a of e)t[a]!==void 0&&(n[a]=JSON.stringify(t[a]));return n}function Vn(t,e,n=t){for(const a of e)t[a]!==void 0&&(n[a]=t[a]?1:0)}function Za(t){const e={};for(const n in t)t[n]!==void 0&&t[n]!==null&&(e[n]=t[n]);return e}function Gn(t){const e={...t};return t.session_cookie&&typeof t.session_cookie=="string"&&(e.session_cookie=JSON.parse(t.session_cookie)),t.enabled_locales&&typeof t.enabled_locales=="string"&&(e.enabled_locales=JSON.parse(t.enabled_locales)),t.error_page&&typeof t.error_page=="string"&&(e.error_page=JSON.parse(t.error_page)),t.flags&&typeof t.flags=="string"&&(e.flags=JSON.parse(t.flags)),t.sandbox_versions_available&&typeof t.sandbox_versions_available=="string"&&(e.sandbox_versions_available=JSON.parse(t.sandbox_versions_available)),t.change_password&&typeof t.change_password=="string"&&(e.change_password=JSON.parse(t.change_password)),t.guardian_mfa_page&&typeof t.guardian_mfa_page=="string"&&(e.guardian_mfa_page=JSON.parse(t.guardian_mfa_page)),t.sessions&&typeof t.sessions=="string"&&(e.sessions=JSON.parse(t.sessions)),t.oidc_logout&&typeof t.oidc_logout=="string"&&(e.oidc_logout=JSON.parse(t.oidc_logout)),t.device_flow&&typeof t.device_flow=="string"&&(e.device_flow=JSON.parse(t.device_flow)),t.default_token_quota&&typeof t.default_token_quota=="string"&&(e.default_token_quota=JSON.parse(t.default_token_quota)),t.allowed_logout_urls&&typeof t.allowed_logout_urls=="string"&&(e.allowed_logout_urls=JSON.parse(t.allowed_logout_urls)),t.acr_values_supported&&typeof t.acr_values_supported=="string"&&(e.acr_values_supported=JSON.parse(t.acr_values_supported)),t.mtls&&typeof t.mtls=="string"&&(e.mtls=JSON.parse(t.mtls)),t.allow_organization_name_in_authentication_api!==void 0&&(e.allow_organization_name_in_authentication_api=t.allow_organization_name_in_authentication_api===1),t.customize_mfa_in_postlogin_action!==void 0&&(e.customize_mfa_in_postlogin_action=t.customize_mfa_in_postlogin_action===1),t.pushed_authorization_requests_supported!==void 0&&(e.pushed_authorization_requests_supported=t.pushed_authorization_requests_supported===1),t.authorization_response_iss_parameter_supported!==void 0&&(e.authorization_response_iss_parameter_supported=t.authorization_response_iss_parameter_supported===1),O(e)}function Yn(t){const e={...t};return Nt(t,["session_cookie","enabled_locales","error_page","flags","sandbox_versions_available","change_password","guardian_mfa_page","sessions","oidc_logout","device_flow","default_token_quota","allowed_logout_urls","acr_values_supported","mtls"],e),t.allow_organization_name_in_authentication_api!==void 0&&(e.allow_organization_name_in_authentication_api=t.allow_organization_name_in_authentication_api?1:0),t.customize_mfa_in_postlogin_action!==void 0&&(e.customize_mfa_in_postlogin_action=t.customize_mfa_in_postlogin_action?1:0),t.pushed_authorization_requests_supported!==void 0&&(e.pushed_authorization_requests_supported=t.pushed_authorization_requests_supported?1:0),t.authorization_response_iss_parameter_supported!==void 0&&(e.authorization_response_iss_parameter_supported=t.authorization_response_iss_parameter_supported?1:0),Za(e)}function er(t){return async e=>{const n={id:e.id||oe(),created_at:new Date().toISOString(),updated_at:new Date().toISOString(),...e},a=Yn(n);return await t.insertInto("tenants").values(a).execute(),n}}function tr(t){return async e=>{const n=await t.selectFrom("tenants").where("tenants.id","=",e).selectAll().executeTakeFirst();return n?Gn(n):null}}function nr(t){return async e=>{let n=t.selectFrom("tenants");const{page:a=0,per_page:r=50,include_totals:o=!1,sort:u,q:c}=e;if(u&&u.sort_by){const{ref:f}=t.dynamic;n=n.orderBy(f(u.sort_by),u.sort_order)}c&&(n=n.where(f=>f.or([f("friendly_name","like",`%${c}%`)])));const p=(await n.offset(a*r).limit(r).selectAll().execute()).map(Gn);if(!o)return{tenants:p};const{count:d}=await n.select(f=>f.fn.countAll().as("count")).executeTakeFirstOrThrow(),y=j(d);return{tenants:p,start:a*r,limit:r,length:y}}}function ar(t){return async(e,n)=>{const r={...Yn(n),id:e,updated_at:new Date().toISOString()};await t.updateTable("tenants").set(r).where("id","=",e).execute()}}function rr(t){return async e=>(await t.deleteFrom("tenants").where("tenants.id","=",e).execute()).length===1}function or(t){return{create:er(t),get:tr(t),list:nr(t),update:ar(t),remove:rr(t)}}function bn(t){return t?JSON.stringify(t):void 0}const ir=1024;function sr(t){return async(e,n)=>{var o,u,c,l,h,p,d,y,f,N,x;const a=(o=n.user_agent)==null?void 0:o.slice(0,ir),r=n.log_id||oe();return await t.insertInto("logs").values({...n,log_id:r,tenant_id:e,user_agent:a,description:(u=n.description)==null?void 0:u.substring(0,256),isMobile:n.isMobile?1:0,scope:n.scope,auth0_client:bn(n.auth0_client),details:(c=bn(n.details))==null?void 0:c.substring(0,8192),country_code:(l=n.location_info)==null?void 0:l.country_code,country_code3:(h=n.location_info)==null?void 0:h.country_code3,country_name:(p=n.location_info)==null?void 0:p.country_name,city_name:(d=n.location_info)==null?void 0:d.city_name,latitude:(y=n.location_info)==null?void 0:y.latitude,longitude:(f=n.location_info)==null?void 0:f.longitude,time_zone:(N=n.location_info)==null?void 0:N.time_zone,continent_code:(x=n.location_info)==null?void 0:x.continent_code}).execute(),{...n,log_id:r,user_agent:a}}}function On(t){if(!t)return"";try{return JSON.parse(t)}catch{return t}}function Hn(t){return{...t,client_id:t.client_id,client_name:"",auth0_client:On(t.auth0_client),details:On(t.details),isMobile:!!t.isMobile,scope:t.scope||void 0,log_id:t.log_id,location_info:t.country_code?{country_code:t.country_code,country_code3:t.country_code3||"",country_name:t.country_name||"",city_name:t.city_name||"",latitude:t.latitude||"",longitude:t.longitude||"",time_zone:t.time_zone||"",continent_code:t.continent_code||""}:void 0}}function ur(t){return async(e,n={})=>{const{page:a=0,per_page:r=50,include_totals:o=!1,sort:u,q:c}=n;let l=t.selectFrom("logs").where("logs.tenant_id","=",e);c&&(l=q(t,l,c,["user_id","ip"]));let h=l;if(u&&u.sort_by){const{ref:f}=t.dynamic;h=h.orderBy(f(u.sort_by),u.sort_order)}h=h.offset(a*r).limit(r);const d=(await h.selectAll().execute()).map(Hn);if(!o)return{logs:d,start:0,limit:0,length:0};const{count:y}=await l.select(f=>f.fn.countAll().as("count")).executeTakeFirstOrThrow();return{logs:d,start:a*r,limit:r,length:j(y)}}}function cr(t){return async(e,n)=>{const a=await t.selectFrom("logs").where("logs.tenant_id","=",e).where("logs.log_id","=",n).selectAll().executeTakeFirst();return a?Hn(a):null}}function lr(t){return{create:sr(t),list:ur(t),get:cr(t)}}function dr(t){return async(e,n)=>{const a=await t.selectFrom("sessions").where("sessions.tenant_id","=",e).where("sessions.id","=",n).selectAll().executeTakeFirst();if(!a)return null;const{tenant_id:r,device:o,clients:u,...c}=a;return{...c,device:JSON.parse(o),clients:JSON.parse(u)}}}function _r(t){return async(e,n)=>{const a={...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({...a,tenant_id:e,device:JSON.stringify(n.device),clients:JSON.stringify(n.clients)}).execute(),a}}function mr(t){return async(e,n)=>!!(await t.deleteFrom("sessions").where("tenant_id","=",e).where("sessions.id","=",n).execute()).length}function hr(t){return async(e,n,a)=>{const r={...a,updated_at:new Date().toISOString(),device:a.device?JSON.stringify(a.device):void 0,clients:a.clients?JSON.stringify(a.clients):void 0};return!!(await t.updateTable("sessions").set(r).where("tenant_id","=",e).where("sessions.id","=",n).execute()).length}}function fr(t){return async(e,n={})=>{const{page:a=0,per_page:r=50,include_totals:o=!1,sort:u,q:c}=n;let l=t.selectFrom("sessions").where("sessions.tenant_id","=",e);c&&(l=q(t,l,c,["user_id","session_id"]));let h=l;if(u&&u.sort_by){const{ref:N}=t.dynamic;h=h.orderBy(N(u.sort_by),u.sort_order)}h=h.offset(a*r).limit(r);const d=(await h.selectAll().execute()).map(N=>({...N,device:JSON.parse(N.device),clients:JSON.parse(N.clients)}));if(!o)return{sessions:d,start:0,limit:0,length:0};const{count:y}=await l.select(N=>N.fn.countAll().as("count")).executeTakeFirstOrThrow(),f=j(y);return{sessions:d,start:a*r,limit:r,length:f}}}function pr(t){return{create:_r(t),get:dr(t),list:fr(t),remove:mr(t),update:hr(t)}}function gr(t){return async(e,n)=>{const a=await t.selectFrom("passwords").where("passwords.tenant_id","=",e).where("passwords.user_id","=",n).selectAll().executeTakeFirst();if(!a)return null;const{tenant_id:r,...o}=a;return o}}function yr(t){return async(e,n)=>{const a={...n,created_at:new Date().toISOString(),updated_at:new Date().toISOString()};return await t.insertInto("passwords").values({...a,tenant_id:e}).execute(),a}}function wr(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 Nr(t){return{create:yr(t),update:wr(t),get:gr(t)}}function vr(t){return async(e,n={})=>{const{page:a=0,per_page:r=50,include_totals:o=!1,q:u}=n;let c=t.selectFrom("codes").where("codes.tenant_id","=",e);u&&(c=q(t,c,u,["code","login_id"]));const p=(await c.offset(a*r).limit(r).selectAll().execute()).map(y=>{const{tenant_id:f,...N}=y;return J.codeSchema.parse(O(N))});if(!o)return{codes:p,start:0,limit:0,length:0};const{count:d}=await c.select(y=>y.fn.countAll().as("count")).executeTakeFirstOrThrow();return{codes:p,start:a*r,limit:r,length:j(d)}}}function Cr(t){return async(e,n)=>{const a={...n,created_at:new Date().toISOString()};return await t.insertInto("codes").values({...a,tenant_id:e}).execute(),a}}function xr(t){return async(e,n)=>(await t.deleteFrom("codes").where("codes.tenant_id","=",e).where("codes.code_id","=",n).executeTakeFirst()).numDeletedRows>0}function br(t){return async(e,n,a)=>{let r=t.selectFrom("codes").where("codes.code_id","=",n).where("codes.code_type","=",a);e.length&&(r=r.where("codes.tenant_id","=",e));const o=await r.selectAll().executeTakeFirst();return o?O(o):null}}function Or(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 Tr(t){return{create:Cr(t),list:vr(t),remove:xr(t),used:Or(t),get:br(t)}}const Sr=17,kr={organization:"org_",connection:"con_",action:"act_",hook:"h_",rule:"rul_",resource_server:"api_",guardian_factor:"gfa_",invite:"inv_"};function vt(t){const a=Xa("0123456789abcdefghijklmnopqrstuvwxyz",Sr)();return`${kr[t]}${a}`}function Ir(){return vt("organization")}function Er(){return vt("connection")}function Ar(){return vt("hook")}function $r(){return vt("resource_server")}function Pr(){return vt("invite")}function Dr(t){return async(e,n)=>{const a={id:n.id||Er(),...n,created_at:new Date().toISOString(),updated_at:new Date().toISOString()};return await t.insertInto("connections").values({...a,options:JSON.stringify(a.options||{}),tenant_id:e}).execute(),a}}function zr(t){return async(e,n={})=>{const{page:a=0,per_page:r=50,include_totals:o=!1,q:u}=n;let c=t.selectFrom("connections").where("connections.tenant_id","=",e);u&&(c=q(t,c,u,["user_id","ip"]));const p=(await c.offset(a*r).limit(r).selectAll().execute()).map(y=>O({...y,options:JSON.parse(y.options)}));if(!o)return{connections:p,start:0,limit:0,length:0};const{count:d}=await c.select(y=>y.fn.countAll().as("count")).executeTakeFirstOrThrow();return{connections:p,start:a*r,limit:r,length:j(d)}}}function Rr(t){return async(e,n)=>(await t.deleteFrom("connections").where("connections.tenant_id","=",e).where("connections.id","=",n).executeTakeFirst()).numDeletedRows>0}function Fr(t){return async(e,n)=>{const a=await t.selectFrom("connections").where("connections.tenant_id","=",e).where("connections.id","=",n).selectAll().executeTakeFirst();return a?O({...a,options:JSON.parse(a.options)}):null}}function jr(t){return async(e,n,a)=>{const r={...a,updated_at:new Date().toISOString()};return await t.updateTable("connections").set({...r,options:r.options?JSON.stringify(r.options):void 0}).where("connections.id","=",n).where("connections.tenant_id","=",e).execute(),!0}}function Lr(t){return{create:Dr(t),get:Fr(t),list:zr(t),remove:Rr(t),update:jr(t)}}function Mr(t){return async(e,n)=>{const a={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},r={...a,tenant_id:e};return Vn(a,["global","is_first_party","oidc_conformant","sso","sso_disabled","cross_origin_authentication","custom_login_page_on","require_pushed_authorization_requests","require_proof_of_possession"],r),Object.assign(r,{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||{})}),await t.insertInto("clients").values(r).execute(),a}}function Jr(t){return async(e,n)=>{const a=await t.selectFrom("clients").where("clients.tenant_id","=",e).where("clients.client_id","=",n).selectAll().executeTakeFirst();if(!a)return null;const{tenant_id:r,...o}=a;return O({...o,global:!!a.global,is_first_party:!!a.is_first_party,oidc_conformant:!!a.oidc_conformant,sso:!!a.sso,sso_disabled:!!a.sso_disabled,cross_origin_authentication:!!a.cross_origin_authentication,custom_login_page_on:!!a.custom_login_page_on,require_pushed_authorization_requests:!!a.require_pushed_authorization_requests,require_proof_of_possession:!!a.require_proof_of_possession,callbacks:JSON.parse(a.callbacks),allowed_origins:JSON.parse(a.allowed_origins),web_origins:JSON.parse(a.web_origins),client_aliases:JSON.parse(a.client_aliases),allowed_clients:JSON.parse(a.allowed_clients),allowed_logout_urls:JSON.parse(a.allowed_logout_urls),session_transfer:JSON.parse(a.session_transfer),oidc_logout:JSON.parse(a.oidc_logout),grant_types:JSON.parse(a.grant_types),jwt_configuration:JSON.parse(a.jwt_configuration),signing_keys:JSON.parse(a.signing_keys),encryption_key:JSON.parse(a.encryption_key),addons:JSON.parse(a.addons),client_metadata:JSON.parse(a.client_metadata),mobile:JSON.parse(a.mobile),native_social_login:JSON.parse(a.native_social_login),refresh_token:JSON.parse(a.refresh_token),default_organization:JSON.parse(a.default_organization),client_authentication_methods:JSON.parse(a.client_authentication_methods),signed_request_object:JSON.parse(a.signed_request_object),token_quota:JSON.parse(a.token_quota)})}}function qr(t){return async(e,n)=>{let a=t.selectFrom("clients").where("clients.tenant_id","=",e);return n!=null&&n.per_page&&(a=a.limit(n.per_page)),n!=null&&n.page&&(n!=null&&n.per_page)&&(a=a.offset((n.page-1)*n.per_page)),{clients:(await a.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 Br(t){return async(e,n)=>(await t.deleteFrom("clients").where("clients.tenant_id","=",e).where("clients.client_id","=",n).executeTakeFirst()).numDeletedRows>0}function Wr(t){return async(e,n,a)=>{const r={...a,updated_at:new Date().toISOString()};return Vn(a,["global","is_first_party","oidc_conformant","sso","sso_disabled","cross_origin_authentication","custom_login_page_on","require_pushed_authorization_requests","require_proof_of_possession"],r),Nt(a,["callbacks","allowed_origins","web_origins","client_aliases","allowed_clients","allowed_logout_urls","session_transfer","oidc_logout","grant_types","jwt_configuration","signing_keys","encryption_key","addons","client_metadata","mobile","native_social_login","refresh_token","default_organization","client_authentication_methods","signed_request_object","token_quota"],r),(await t.updateTable("clients").set(r).where("clients.tenant_id","=",e).where("clients.client_id","=",n).executeTakeFirst()).numUpdatedRows>0}}function Kr(t){return{create:Mr(t),get:Jr(t),list:qr(t),remove:Br(t),update:Wr(t)}}function Ur(t){return async(e,n)=>{const a=new Date().toISOString(),r=oe(),{scope:o,authorization_details_types:u,...c}=n,l={id:r,tenant_id:e,...c,scope:o?JSON.stringify(o):"[]",authorization_details_types:u?JSON.stringify(u):"[]",allow_any_organization:c.allow_any_organization!==void 0?c.allow_any_organization?1:0:void 0,is_system:c.is_system!==void 0?c.is_system?1:0:void 0,created_at:a,updated_at:a};return await t.insertInto("client_grants").values(l).execute(),O({id:r,tenant_id:e,...c,scope:o||[],authorization_details_types:u||[],allow_any_organization:c.allow_any_organization??!1,is_system:c.is_system??!1,created_at:a,updated_at:a})}}function Qr(t){return async(e,n)=>{const a=await t.selectFrom("client_grants").selectAll().where("client_grants.tenant_id","=",e).where("client_grants.id","=",n).executeTakeFirst();if(!a)return null;const r={id:a.id,client_id:a.client_id,audience:a.audience,scope:a.scope?JSON.parse(a.scope):[],organization_usage:a.organization_usage,allow_any_organization:a.allow_any_organization!==void 0?!!a.allow_any_organization:!1,is_system:a.is_system!==void 0?!!a.is_system:!1,subject_type:a.subject_type,authorization_details_types:a.authorization_details_types?JSON.parse(a.authorization_details_types):[],created_at:a.created_at,updated_at:a.updated_at};return O(r)}}function Vr(t){return async(e,n={})=>{const{page:a=0,per_page:r=50,include_totals:o=!1,q:u,sort:c}=n;let l=t.selectFrom("client_grants").where("client_grants.tenant_id","=",e);if(u){const f=u.trim(),N=f.split(/\s+/),x=N.length===1?N[0]:void 0,E=x?x.match(/^(-)?([a-zA-Z_][a-zA-Z0-9_]*):"?([^"]*)"?$/):null,z=E?E[3]:"",ie=/^(>=|>|<=|<)/.test(z||"");if(E&&!ie&&z){const Q=!!E[1],Ne=E[2],{ref:Ct}=t.dynamic,ve=Ct(`client_grants.${Ne}`);if(Ne==="allow_any_organization"){const rt=z==="true"?1:0;Q?l=l.where(ve,"!=",rt):l=l.where(ve,"=",rt)}else Q?l=l.where(ve,"!=",z):l=l.where(ve,"=",z)}else l=q(t,l,f,[])}let h=l;if(c){const{ref:f}=t.dynamic;h=h.orderBy(f(c.sort_by),c.sort_order)}else h=h.orderBy("client_grants.created_at","desc");h=h.limit(r).offset(a*r);const d=(await h.selectAll().execute()).map(f=>{const N={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 O(N)});if(!o)return{client_grants:d,start:0,limit:0,length:0};const{count:y}=await l.select(f=>f.fn.countAll().as("count")).executeTakeFirstOrThrow();return{client_grants:d,start:a*r,limit:r,length:j(y)}}}function Gr(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 Yr(t){return async(e,n,a)=>{const r=new Date().toISOString(),{scope:o,authorization_details_types:u,...c}=a,l={...c,updated_at:r};return o!==void 0&&(l.scope=JSON.stringify(o)),u!==void 0&&(l.authorization_details_types=JSON.stringify(u)),c.allow_any_organization!==void 0&&(l.allow_any_organization=c.allow_any_organization?1:0),c.is_system!==void 0&&(l.is_system=c.is_system?1:0),((await t.updateTable("client_grants").set(l).where("client_grants.tenant_id","=",e).where("client_grants.id","=",n).executeTakeFirst()).numUpdatedRows??0n)>0n}}function Hr(t){return{create:Ur(t),get:Qr(t),list:Vr(t),remove:Gr(t),update:Yr(t)}}function Xr(t){return{get:async e=>{const n=await t.selectFrom("clients").selectAll().where("client_id","=",e).executeTakeFirst();if(!n)return null;const a=await t.selectFrom("tenants").selectAll().where("id","=",n.tenant_id).executeTakeFirst();if(!a)throw new et(404,{message:"Tenant not found"});const r=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:r.map(c=>J.connectionSchema.parse(O({...c,options:c.options?JSON.parse(c.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:O(a)}}}}function Zr(t){return async(e={})=>{const{page:n=0,per_page:a=100,include_totals:r=!1,sort:o,q:u}=e;let c=t.selectFrom("keys").where(f=>f.or([f("revoked_at",">",new Date().toISOString()),f("revoked_at","is",null)]));u&&(c=q(t,c,u,["kid","connection","fingerprint","thumbprint","type"]));let l=c.select(f=>f.fn.count("kid").as("count"));const h=n*a;c=c.limit(a).offset(h),o&&(c=c.orderBy(o.sort_by,o.sort_order));const p=await c.selectAll().execute();if(!r)return{signingKeys:p,start:0,limit:0,length:0};const d=await l.executeTakeFirst(),y=j((d==null?void 0:d.count)??0);return{signingKeys:p,start:h,limit:a,length:y}}}function eo(t){return async e=>{await t.insertInto("keys").values({...e,created_at:new Date().toDateString()}).execute()}}function to(t){return async(e,n)=>!!(await t.updateTable("keys").set(n).where("kid","=",e).execute()).length}function no(t){return{create:eo(t),list:Zr(t),update:to(t)}}function ao(t){return async(e,n)=>{const a={custom_domain_id:oe(),status:"pending",primary:!1,...n};return await t.insertInto("custom_domains").values({...a,created_at:new Date().toISOString(),updated_at:new Date().toISOString(),tenant_id:e,primary:a.primary?1:0}).execute(),a}}function ro(t){return async e=>(await t.selectFrom("custom_domains").where("custom_domains.tenant_id","=",e).selectAll().execute()).map(a=>({...a,primary:a.primary===1}))}function oo(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 io(t){return async(e,n)=>{const a=await t.selectFrom("custom_domains").where("custom_domains.tenant_id","=",e).where("custom_domains.custom_domain_id","=",n).selectAll().executeTakeFirst();return a?{...a,primary:a.primary===1}:null}}function so(t){return async(e,n,a)=>{const r={...a,updated_at:new Date().toISOString(),primary:a.primary?1:0};return(await t.updateTable("custom_domains").set(r).where("custom_domains.tenant_id","=",e).where("custom_domains.custom_domain_id","=",n).execute()).length>0}}function uo(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 co(t){return{create:ao(t),get:io(t),getByDomain:uo(t),list:ro(t),remove:oo(t),update:so(t)}}function lo(t){return async e=>{const[n]=await t.selectFrom("branding").where("branding.tenant_id","=",e).selectAll().execute();if(!n)return null;const{tenant_id:a,colors_primary:r,colors_page_background_type:o,colors_page_background_start:u,colors_page_background_end:c,colors_page_background_angle_dev:l,font_url:h,...p}=n;return O({...p,colors:{primary:r,page_background:{type:o,start:u,end:c,angle_deg:l}},font:h?{url:h}:void 0})}}function _o(t){return async(e,n)=>{var u,c,l,h,p,d,y,f,N,x,E,z,ie,Q,Ne,Ct,ve,rt;const{colors:a,font:r,...o}=n;try{await t.insertInto("branding").values({...o,colors_primary:a==null?void 0:a.primary,colors_page_background_type:(c=(u=n.colors)==null?void 0:u.page_background)==null?void 0:c.type,colors_page_background_start:(h=(l=n.colors)==null?void 0:l.page_background)==null?void 0:h.start,colors_page_background_end:(d=(p=n.colors)==null?void 0:p.page_background)==null?void 0:d.end,colors_page_background_angle_dev:(f=(y=n.colors)==null?void 0:y.page_background)==null?void 0:f.angle_deg,font_url:(N=n.font)==null?void 0:N.url,tenant_id:e}).execute()}catch{await t.updateTable("branding").set({...o,colors_primary:a==null?void 0:a.primary,colors_page_background_type:(E=(x=n.colors)==null?void 0:x.page_background)==null?void 0:E.type,colors_page_background_start:(ie=(z=n.colors)==null?void 0:z.page_background)==null?void 0:ie.start,colors_page_background_end:(Ne=(Q=n.colors)==null?void 0:Q.page_background)==null?void 0:Ne.end,colors_page_background_angle_dev:(ve=(Ct=n.colors)==null?void 0:Ct.page_background)==null?void 0:ve.angle_deg,font_url:(rt=n.font)==null?void 0:rt.url}).where("tenant_id","=",e).execute()}}}function mo(t){return{get:lo(t),set:_o(t)}}function ho(t){return async(e,n={})=>{const{page:a=0,per_page:r=50,include_totals:o=!1,q:u}=n;let c=t.selectFrom("hooks").where("hooks.tenant_id","=",e);u&&(c=q(t,c,u,["url","form_id"]));const p=(await c.offset(a*r).limit(r).selectAll().execute()).map(y=>{const{tenant_id:f,enabled:N,synchronous:x,...E}=y;return O({...E,enabled:!!N,synchronous:!!x})});if(!o)return{hooks:p,start:0,limit:0,length:0};const{count:d}=await c.select(y=>y.fn.countAll().as("count")).executeTakeFirstOrThrow();return{hooks:p,start:a*r,limit:r,length:j(d)}}}function fo(t){return async(e,n)=>{const a=await t.selectFrom("hooks").where("hooks.tenant_id","=",e).where("hooks.hook_id","=",n).selectAll().executeTakeFirst();return a?O({...a,enabled:!!a.enabled,synchronous:!!a.synchronous}):null}}function po(t){return async(e,n)=>(await t.deleteFrom("hooks").where("hooks.tenant_id","=",e).where("hooks.hook_id","=",n).executeTakeFirst()).numDeletedRows>0}function go(t){return async(e,n)=>{const a={hook_id:n.hook_id||Ar(),...n,created_at:new Date().toISOString(),updated_at:new Date().toISOString()};return await t.insertInto("hooks").values({...a,tenant_id:e,enabled:n.enabled?1:0,synchronous:n.synchronous?1:0}).execute(),a}}function yo(t){return async(e,n,a)=>{const r={...a,updated_at:new Date().toISOString(),enabled:a.enabled!==void 0?a.enabled?1:0:void 0,synchronous:a.enabled!==void 0?a.synchronous?1:0:void 0};return await t.updateTable("hooks").set(r).where("hooks.hook_id","=",n).where("hooks.tenant_id","=",e).execute(),!0}}function wo(t){return{create:go(t),get:fo(t),list:ho(t),update:yo(t),remove:po(t)}}function No(t){return async(e,n)=>{const a={themeId:oe(),created_at:new Date().toISOString(),updated_at:new Date().toISOString(),...n},r={...a,tenant_id:e};return await t.insertInto("themes").values(nt(r)).execute(),a}}function vo(t){return async(e,n)=>(await t.deleteFrom("themes").where("themes.tenant_id","=",e).where("themes.themeId","=",n).executeTakeFirst()).numDeletedRows>0}function Co(t){return async(e,n)=>{const a=await t.selectFrom("themes").where("themes.tenant_id","=",e).where("themes.themeId","=",n).selectAll().executeTakeFirst();if(!a)return null;const r={...a,borders_show_widget_shadow:!!a.borders_show_widget_shadow,fonts_body_text_bold:!!a.fonts_body_text_bold,fonts_buttons_text_bold:!!a.fonts_buttons_text_bold,fonts_input_labels_bold:!!a.fonts_input_labels_bold,fonts_links_bold:!!a.fonts_links_bold,fonts_subtitle_bold:!!a.fonts_subtitle_bold,fonts_title_bold:!!a.fonts_title_bold};return O(Qn(r,["widget","colors","borders","fonts","page_background"]))}}function xo(t){return async(e,n,a)=>{const r=nt({...a,updated_at:new Date().toISOString()});return await t.updateTable("themes").set(r).where("themes.themeId","=",n).where("themes.tenant_id","=",e).execute(),!0}}function bo(t){return{create:No(t),get:Co(t),remove:vo(t),update:xo(t)}}function Oo(t){return async(e,n)=>{const a=await t.selectFrom("login_sessions").where("login_sessions.id","=",n).selectAll().executeTakeFirst();return a?J.loginSessionSchema.parse(Qn(O({...a,login_completed:!!a.login_completed}),["authParams"])):null}}function To(t){return async(e,n)=>{var r;const a={id:oe(),...n,authorization_url:(r=n.authorization_url)==null?void 0:r.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({...nt(a),tenant_id:e}).execute(),a}}function So(t){return async(e,n,a)=>(await t.updateTable("login_sessions").set(nt({...a})).where("login_sessions.id","=",n).where("login_sessions.tenant_id","=",e).execute()).length===1}function ko(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 Io(t){return{create:To(t),get:Oo(t),update:So(t),remove:ko(t)}}function Eo(t){return async e=>{const[n]=await t.selectFrom("prompt_settings").where("prompt_settings.tenant_id","=",e).selectAll().execute();return O({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 Tn(t){return O({...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 Ao(t){return async(e,n)=>{try{const a=J.promptSettingSchema.parse(n);await t.insertInto("prompt_settings").values({...Tn(a),tenant_id:e}).execute()}catch{await t.updateTable("prompt_settings").set(Tn(n)).where("tenant_id","=",e).execute()}}}function $o(t){return{get:Eo(t),set:Ao(t)}}function Po(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:a,credentials:r,settings:o,enabled:u,...c}=n;return O({...c,credentials:JSON.parse(r),settings:JSON.parse(o),enabled:!!u})}}function Do(t){return async(e,n)=>{const{credentials:a,settings:r,enabled:o,...u}=n;await t.updateTable("email_providers").set({...u,credentials:a?JSON.stringify(a):void 0,settings:r?JSON.stringify(r):void 0,enabled:o!==void 0?o?1:0:void 0}).where("tenant_id","=",e).execute()}}function zo(t){return async(e,n)=>{const{credentials:a,settings:r,enabled:o,...u}=n;await t.insertInto("email_providers").values({...u,enabled:o?1:0,credentials:JSON.stringify(a),settings:JSON.stringify(r),tenant_id:e,created_at:new Date().toISOString(),updated_at:new Date().toISOString()}).execute()}}function Ro(t){return{get:Po(t),create:zo(t),update:Do(t)}}function Fo(t){return async(e,n)=>{const a=await t.selectFrom("refresh_tokens").where("refresh_tokens.tenant_id","=",e).where("refresh_tokens.id","=",n).selectAll().executeTakeFirst();return a?{...a,rotating:!!a.rotating,device:a.device?JSON.parse(a.device):{},resource_servers:a.resource_servers?JSON.parse(a.resource_servers):[]}:null}}function jo(t){return async(e,n)=>{const a={...n,created_at:new Date().toISOString()};return await t.insertInto("refresh_tokens").values({...a,tenant_id:e,rotating:n.rotating?1:0,device:JSON.stringify(n.device),resource_servers:JSON.stringify(n.resource_servers)}).execute(),{...n,...a}}}function Lo(t){return async(e,n)=>!!(await t.deleteFrom("refresh_tokens").where("tenant_id","=",e).where("refresh_tokens.id","=",n).execute()).length}function Mo(t){return async(e,n,a)=>{const r={...a,device:a.device?JSON.stringify(a.device):void 0,resource_servers:a.resource_servers?JSON.stringify(a.resource_servers):void 0,rotating:a.rotating?1:0};return!!(await t.updateTable("refresh_tokens").set(r).where("tenant_id","=",e).where("refresh_tokens.id","=",n).execute()).length}}function Jo(t){return async(e,n={})=>{const{page:a=0,per_page:r=50,include_totals:o=!1,sort:u,q:c}=n;let l=t.selectFrom("refresh_tokens").where("refresh_tokens.tenant_id","=",e);c&&(l=q(t,l,c,["token","session_id"]));let h=l;if(u&&u.sort_by){const{ref:N}=t.dynamic;h=h.orderBy(N(u.sort_by),u.sort_order)}h=h.offset(a*r).limit(r);const d=(await h.selectAll().execute()).map(N=>({...N,rotating:!!N.rotating,device:N.device?JSON.parse(N.device):{},resource_servers:N.resource_servers?JSON.parse(N.resource_servers):[]}));if(!o)return{refresh_tokens:d,start:0,limit:0,length:0};const{count:y}=await l.select(N=>N.fn.countAll().as("count")).executeTakeFirstOrThrow(),f=j(y);return{refresh_tokens:d,start:a*r,limit:r,length:f}}}function qo(t){return{create:jo(t),get:Fo(t),list:Jo(t),remove:Lo(t),update:Mo(t)}}function Bo(t){return async()=>{const e=new Date(Date.now()-864e5).toISOString(),n=new Date(Date.now()-1e3*60*60*24*7).toISOString(),a=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","<",a).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 r=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();r.length>0&&await t.deleteFrom("sessions").where("id","in",r.map(o=>o.id)).execute(),console.log("cleanup complete")}}function Wo(t){return async(e,n)=>{const a=J.formSchema.parse({id:oe(),...n,created_at:new Date().toISOString(),updated_at:new Date().toISOString()});return await t.insertInto("forms").values({...a,nodes:JSON.stringify(a.nodes||[]),start:JSON.stringify(a.start||{}),ending:JSON.stringify(a.ending||{}),tenant_id:e}).execute(),J.formSchema.parse(a)}}function Ko(t){return async(e,n={})=>{const{page:a=0,per_page:r=50,include_totals:o=!1,q:u}=n;let c=t.selectFrom("forms").where("tenant_id","=",e);u&&(c=q(t,c,u,[]));const p=(await c.offset(a*r).limit(r).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 J.formSchema.parse(O(f))});if(!o)return{forms:p,start:0,limit:0,length:0};const{count:d}=await c.select(y=>y.fn.countAll().as("count")).executeTakeFirstOrThrow();return{forms:p,start:a*r,limit:r,length:j(d)}}}function Uo(t){return async(e,n)=>{const{numDeletedRows:a}=await t.deleteFrom("forms").where("id","=",n).where("tenant_id","=",e).executeTakeFirst();return a>0}}function Qo(t){return async(e,n)=>{const a=await t.selectFrom("forms").selectAll().where("forms.id","=",n).where("tenant_id","=",e).executeTakeFirst();if(!a)return null;const r={...a};if(typeof r.nodes=="string")try{r.nodes=JSON.parse(r.nodes)}catch{}if(typeof r.start=="string")try{r.start=JSON.parse(r.start)}catch{}if(typeof r.ending=="string")try{r.ending=JSON.parse(r.ending)}catch{}return J.formSchema.parse(O(r))}}function Vo(t){return async(e,n,a)=>{const r={...a,updated_at:new Date().toISOString()};Nt(a,["nodes","start","ending"],r);const{numUpdatedRows:o}=await t.updateTable("forms").set(r).where("id","=",n).where("tenant_id","=",e).executeTakeFirst();return o>0}}function Go(t){return{create:Wo(t),get:Qo(t),list:Ko(t),remove:Uo(t),update:Vo(t)}}function Yo(t){return async(e,n)=>{const a=new Date().toISOString(),r={id:$r(),...n,created_at:a,updated_at:a},o=J.resourceServerSchema.parse(r),{verificationKey:u,scopes:c,options:l,skip_consent_for_verifiable_first_party_clients:h,allow_offline_access:p,...d}=o,y={...d,tenant_id:e,scopes:c?JSON.stringify(c):"[]",options:l?JSON.stringify(l):"{}",skip_consent_for_verifiable_first_party_clients:h?1:0,allow_offline_access:p?1:0,verification_key:u,created_at:a,updated_at:a};return await t.insertInto("resource_servers").values(y).execute(),O(o)}}function Ho(t){return async(e,n)=>{const a=await t.selectFrom("resource_servers").selectAll().where("tenant_id","=",e).where("id","=",n).executeTakeFirst();if(!a)return null;const r=a,{verification_key:o,scopes:u,options:c,skip_consent_for_verifiable_first_party_clients:l,allow_offline_access:h,...p}=r,d={...p,scopes:u?JSON.parse(u):[],options:c?JSON.parse(c):{},skip_consent_for_verifiable_first_party_clients:!!l,allow_offline_access:!!h,verificationKey:o};return O(d)}}function Xo(t){return async(e,n={})=>{const{page:a=0,per_page:r=50,include_totals:o=!1,q:u}=n;let c=t.selectFrom("resource_servers").where("resource_servers.tenant_id","=",e);if(u){const y=u.trim(),f=y.split(/\s+/),N=f.length===1?f[0]:void 0,x=N?N.match(/^(-)?(name|identifier):(.*)$/):null,E=x?x[3]:"",z=/^(>=|>|<=|<)/.test(E||"");if(x&&!z){const ie=!!x[1],Q=x[2]==="name"?"resource_servers.name":"resource_servers.identifier";c=ie?c.where(Q,"not like",`%${E}%`):c.where(Q,"like",`%${E}%`)}else c=q(t,c,y,["resource_servers.name","resource_servers.identifier"])}const p=(await c.offset(a*r).limit(r).selectAll().execute()).map(y=>{const f=y,{verification_key:N,scopes:x,options:E,skip_consent_for_verifiable_first_party_clients:z,allow_offline_access:ie,...Q}=f,Ne={...Q,scopes:x?JSON.parse(x):[],options:E?JSON.parse(E):{},skip_consent_for_verifiable_first_party_clients:!!z,allow_offline_access:!!ie,verificationKey:N};return O(Ne)});if(!o)return{resource_servers:p,start:0,limit:0,length:0};const{count:d}=await c.select(y=>y.fn.countAll().as("count")).executeTakeFirstOrThrow();return{resource_servers:p,start:a*r,limit:r,length:j(d)}}}function Zo(t){return async(e,n)=>{const a=await t.deleteFrom("resource_servers").where("tenant_id","=",e).where("id","=",n).executeTakeFirst();return Number(a.numDeletedRows)>0}}function ei(t){return async(e,n,a)=>{const{verificationKey:r,scopes:o,options:u,skip_consent_for_verifiable_first_party_clients:c,allow_offline_access:l,...h}=a,p={...h,updated_at:new Date().toISOString()};if(r!==void 0&&(p.verification_key=r),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(),N={...y!=null&&y.options?JSON.parse(y.options):{},...u};p.options=JSON.stringify(N)}c!==void 0&&(p.skip_consent_for_verifiable_first_party_clients=c?1:0),l!==void 0&&(p.allow_offline_access=l?1:0);const d=await t.updateTable("resource_servers").set(p).where("tenant_id","=",e).where("id","=",n).executeTakeFirst();return Number(d.numUpdatedRows)>0}}function ti(t){return{create:Yo(t),get:Ho(t),list:Xo(t),remove:Zo(t),update:ei(t)}}function ni(t){return async(e,n)=>{const a=new Date().toISOString(),r=oe(),o={id:r,...n,tenant_id:e,created_at:a,updated_at:a};return await t.insertInto("roles").values(o).execute(),{id:r,...n,created_at:a,updated_at:a}}}function ai(t){return async(e,n)=>{const a=await t.selectFrom("roles").selectAll().where("roles.tenant_id","=",e).where("roles.id","=",n).executeTakeFirst();return a?{...a}:null}}function ri(t){return async(e,n)=>{let a=t.selectFrom("roles").where("roles.tenant_id","=",e);const{page:r=0,per_page:o=50,include_totals:u=!1}=n;n.q&&(a=q(t,a,n.q,["name"]));const l=await a.offset(r*o).limit(o).selectAll().execute();if(!u)return{roles:l,start:r*o,limit:o,length:l.length};const{count:h}=await a.select(p=>p.fn.countAll().as("count")).executeTakeFirstOrThrow();return{roles:l,start:r*o,limit:o,length:j(h)}}}function oi(t){return async(e,n,a)=>{const r={...a,updated_at:new Date().toISOString()},o=await t.updateTable("roles").set(r).where("roles.tenant_id","=",e).where("roles.id","=",n).executeTakeFirst();return Number(o.numUpdatedRows)>0}}function ii(t){return async(e,n)=>{const a=await t.deleteFrom("roles").where("tenant_id","=",e).where("id","=",n).executeTakeFirst();return Number(a.numDeletedRows)>0}}function si(t){return{create:ni(t),get:ai(t),list:ri(t),update:oi(t),remove:ii(t)}}function ui(t){return async(e,n,a)=>{if(a.length===0)return!0;const r=new Date().toISOString();try{for(const o of a){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:r};try{await t.insertInto("role_permissions").values(u).execute()}catch(c){if(c.code==="SQLITE_CONSTRAINT_PRIMARYKEY"||c.code==="SQLITE_CONSTRAINT_UNIQUE")continue;throw c}}return!0}catch(o){return console.error("Error assigning role permissions:",o),!1}}}function ci(t){return async(e,n,a)=>{if(a.length===0)return!0;try{return(await Promise.all(a.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(r){return console.error("Error removing role permissions:",r),!1}}}function li(t){return async(e,n,a={})=>{const{page:r=0,per_page:o=50,include_totals:u=!1}=a;let c=t.selectFrom("role_permissions").leftJoin("resource_servers",d=>d.onRef("role_permissions.tenant_id","=","resource_servers.tenant_id").onRef("role_permissions.resource_server_identifier","=","resource_servers.id")).select(["role_permissions.role_id","role_permissions.resource_server_identifier","role_permissions.permission_name","role_permissions.created_at","resource_servers.name as resource_server_name"]).where("role_permissions.tenant_id","=",e).where("role_permissions.role_id","=",n);const p=(await c.offset(r*o).limit(o).execute()).map(d=>({role_id:d.role_id,resource_server_identifier:d.resource_server_identifier,resource_server_name:d.resource_server_name||d.resource_server_identifier,permission_name:d.permission_name,description:null,created_at:d.created_at}));return u&&await c.select(d=>d.fn.countAll().as("count")).executeTakeFirstOrThrow(),p}}function di(t){return{assign:ui(t),remove:ci(t),list:li(t)}}function _i(t){return async(e,n,a,r)=>{const o=new Date().toISOString();try{const u={tenant_id:e,user_id:n,resource_server_identifier:a.resource_server_identifier,permission_name:a.permission_name,organization_id:r||a.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 mi(t){return async(e,n,a,r)=>{try{let o=t.deleteFrom("user_permissions").where("tenant_id","=",e).where("user_id","=",n).where("resource_server_identifier","=",a.resource_server_identifier).where("permission_name","=",a.permission_name);return r!==void 0?o=o.where("organization_id","=",r):o=o.where("organization_id","=",""),await o.execute(),!0}catch(o){return console.error("Error removing user permission:",o),!1}}}function hi(t){return async(e,n,a,r)=>{let o=t.selectFrom("user_permissions").leftJoin("resource_servers",c=>c.onRef("user_permissions.tenant_id","=","resource_servers.tenant_id").onRef("user_permissions.resource_server_identifier","=","resource_servers.id")).select(["user_permissions.resource_server_identifier","user_permissions.permission_name","resource_servers.name as resource_server_name","user_permissions.user_id","user_permissions.created_at","user_permissions.organization_id"]).where("user_permissions.tenant_id","=",e).where("user_permissions.user_id","=",n);return r!==void 0&&(o=o.where("user_permissions.organization_id","=",r)),(await o.execute()).map(c=>({resource_server_identifier:c.resource_server_identifier,permission_name:c.permission_name,description:null,resource_server_name:c.resource_server_name||c.resource_server_identifier,user_id:c.user_id,created_at:c.created_at,organization_id:c.organization_id===""?void 0:c.organization_id}))}}function fi(t){return{create:_i(t),remove:mi(t),list:hi(t)}}function pi(t){const e=fi(t);return{create:(n,a,r,o)=>e.create(n,a,r,o),remove:(n,a,r,o)=>e.remove(n,a,r,o),list:(n,a,r,o)=>e.list(n,a,r,o)}}function gi(t){return async(e,n,a,r)=>{let o=t.selectFrom("user_roles as ur").innerJoin("roles as r",c=>c.onRef("ur.role_id","=","r.id").onRef("ur.tenant_id","=","r.tenant_id")).select(["r.id","r.name","r.description","r.created_at","r.updated_at"]).where("ur.tenant_id","=",e).where("ur.user_id","=",n);return r!==void 0&&(o=o.where("ur.organization_id","=",r)),await o.execute()}}function yi(t){return async(e,n,a,r)=>{const o=new Date().toISOString();try{return await t.insertInto("user_roles").values({tenant_id:e,user_id:n,role_id:a,organization_id:r||"",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 wi(t){return async(e,n,a,r)=>{try{let o=t.deleteFrom("user_roles").where("tenant_id","=",e).where("user_id","=",n).where("role_id","=",a);return r!==void 0?o=o.where("organization_id","=",r):o=o.where("organization_id","=",""),await o.execute(),!0}catch(o){return console.error("Error removing user roles:",o),!1}}}function Ni(t){return{list:gi(t),create:yi(t),remove:wi(t)}}function vi(t){const e=Ni(t);return{list:(n,a,r,o)=>e.list(n,a,r,o),create:(n,a,r,o)=>e.create(n,a,r,o),remove:(n,a,r,o)=>e.remove(n,a,r,o)}}function Ci(t){return async(e,n)=>{const a={...n,id:n.id||Ir(),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(a).execute()}catch(r){throw r.code==="SQLITE_CONSTRAINT_UNIQUE"||r.message.includes("AlreadyExists")?new et(409,{message:"Organization already exists"}):r}return{...n,id:a.id,created_at:a.created_at,updated_at:a.updated_at}}}function xi(t){return async(e,n)=>{const a=await t.selectFrom("organizations").selectAll().where("tenant_id","=",e).where("id","=",n).executeTakeFirst();return a?O({...a,branding:a.branding?JSON.parse(a.branding):{},metadata:a.metadata?JSON.parse(a.metadata):{},enabled_connections:a.enabled_connections?JSON.parse(a.enabled_connections):[],token_quota:a.token_quota?JSON.parse(a.token_quota):{}}):null}}function bi(t){return async(e,n)=>{let a=t.selectFrom("organizations").selectAll().where("tenant_id","=",e).orderBy("created_at","desc");if(n!=null&&n.per_page&&(a=a.limit(n.per_page)),n!=null&&n.page){const u=(n.page-1)*(n.per_page||10);a=a.offset(u)}const o=(await a.execute()).map(u=>O({...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 Oi(t){return async(e,n)=>(await t.deleteFrom("organizations").where("tenant_id","=",e).where("id","=",n).execute()).length>0}function Ti(t){return async(e,n,a)=>{const{branding:r,metadata:o,enabled_connections:u,token_quota:c,...l}=a,h={...l,updated_at:new Date().toISOString()};return Nt(a,["branding","metadata","enabled_connections","token_quota"],h),(await t.updateTable("organizations").set(h).where("tenant_id","=",e).where("id","=",n).execute()).length>0}}function Si(t){return{create:Ci(t),get:xi(t),list:bi(t),remove:Oi(t),update:Ti(t)}}function ki(t){return async(e,n)=>{const a={id:oe(),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(a).execute()}catch(r){throw r.code==="SQLITE_CONSTRAINT_UNIQUE"||r.code==="ER_DUP_ENTRY"?new et(409,{message:"User is already a member of this organization"}):r}return{...a}}}function Ii(t){return async(e,n)=>{const a=await t.selectFrom("user_organizations").selectAll().where("id","=",n).where("tenant_id","=",e).executeTakeFirst();return a?{id:a.id,user_id:a.user_id,organization_id:a.organization_id,created_at:a.created_at,updated_at:a.updated_at}:null}}function Ei(t){return async(e,n)=>{const a=(n==null?void 0:n.page)||0,r=(n==null?void 0:n.per_page)||50,o=a*r;let u=t.selectFrom("user_organizations").selectAll().where("tenant_id","=",e);if(n!=null&&n.q){if(n.q.startsWith("user_id:")){const d=n.q.replace("user_id:","");u=u.where("user_id","=",d)}else if(n.q.startsWith("organization_id:")){const d=n.q.replace("organization_id:","");u=u.where("organization_id","=",d)}}u=u.orderBy("created_at","desc"),r>0&&(u=u.limit(r).offset(o));const c=await u.execute();let l=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 d=n.q.replace("user_id:","");l=l.where("user_id","=",d)}else if(n.q.startsWith("organization_id:")){const d=n.q.replace("organization_id:","");l=l.where("organization_id","=",d)}}const h=await l.executeTakeFirst();return{userOrganizations:c.map(d=>({id:d.id,user_id:d.user_id,organization_id:d.organization_id,created_at:d.created_at,updated_at:d.updated_at})),start:o,limit:r,length:Number((h==null?void 0:h.count)||0)}}}function Ai(t){return async(e,n,a)=>{const r=(a==null?void 0:a.page)||0,o=(a==null?void 0:a.per_page)||50,u=r*o;let c=t.selectFrom("user_organizations").innerJoin("organizations","organizations.id","user_organizations.organization_id").select(["organizations.id","organizations.name","organizations.display_name","organizations.branding","organizations.metadata","organizations.enabled_connections","organizations.token_quota","organizations.created_at","organizations.updated_at","user_organizations.created_at as joined_at"]).where("user_organizations.tenant_id","=",e).where("user_organizations.user_id","=",n);c=c.orderBy("user_organizations.created_at","desc"),o>0&&(c=c.limit(o).offset(u));const l=await c.execute(),h=await t.selectFrom("user_organizations").innerJoin("organizations","organizations.id","user_organizations.organization_id").select(t.fn.count("user_organizations.id").as("count")).where("user_organizations.tenant_id","=",e).where("user_organizations.user_id","=",n).executeTakeFirst();return{organizations:l.map(d=>({id:d.id,name:d.name,display_name:d.display_name,branding:d.branding?JSON.parse(d.branding):void 0,metadata:d.metadata?JSON.parse(d.metadata):{},enabled_connections:d.enabled_connections?JSON.parse(d.enabled_connections):[],token_quota:d.token_quota?JSON.parse(d.token_quota):void 0,created_at:d.created_at,updated_at:d.updated_at,joined_at:d.joined_at})),start:u,limit:o,length:Number((h==null?void 0:h.count)||0)}}}function $i(t){return async(e,n)=>(await t.deleteFrom("user_organizations").where("id","=",n).where("tenant_id","=",e).execute()).length>0}function Pi(t){return async(e,n,a)=>{const r={...a,updated_at:new Date().toISOString()};return(await t.updateTable("user_organizations").set(r).where("id","=",n).where("tenant_id","=",e).execute()).length>0}}function Di(t){return{create:ki(t),get:Ii(t),list:Ei(t),listUserOrganizations:Ai(t),remove:$i(t),update:Pi(t)}}function zi(t){return async(e,n)=>{const a=Pr(),r=new Date().toISOString(),o=n.ttl_sec||604800,u=new Date(Date.now()+o*1e3).toISOString(),c=Nt({id:a,tenant_id:e,organization_id:n.organization_id,inviter:n.inviter||{},invitee:n.invitee||{},client_id:n.client_id,connection_id:n.connection_id||null,invitation_url:n.invitation_url,created_at:r,expires_at:u,app_metadata:n.app_metadata||{},user_metadata:n.user_metadata||{},roles:n.roles||[],ticket_id:null,ttl_sec:o,send_invitation_email:n.send_invitation_email??!0?1:0},["inviter","invitee","app_metadata","user_metadata","roles"]);try{await t.insertInto("invites").values(c).execute()}catch(l){throw l.code==="SQLITE_CONSTRAINT_UNIQUE"||l.message.includes("AlreadyExists")?new et(409,{message:"Invite already exists"}):l}return{id:a,organization_id:c.organization_id,inviter:n.inviter,invitee:n.invitee,client_id:n.client_id,connection_id:n.connection_id,invitation_url:n.invitation_url,created_at:r,expires_at:u,app_metadata:n.app_metadata||{},user_metadata:n.user_metadata||{},roles:n.roles||[],ticket_id:c.ticket_id||void 0,ttl_sec:o,send_invitation_email:n.send_invitation_email??!0}}}function Ri(t,e){if(!t)return e;try{return JSON.parse(t)}catch{return e}}function Xn(t,e,n={...t}){for(const a in e)a in t&&(n[a]=Ri(t[a],e[a]));return n}function Fi(t){return async(e,n)=>{const a=await t.selectFrom("invites").selectAll().where("tenant_id","=",e).where("id","=",n).executeTakeFirst();if(!a)return null;const r=Xn(a,{inviter:{},invitee:{},app_metadata:{},user_metadata:{},roles:[]});return O({...r,send_invitation_email:a.send_invitation_email===1})}}function ji(t){return async(e,n)=>{let a=t.selectFrom("invites").selectAll().where("tenant_id","=",e).orderBy("created_at","desc");if(n!=null&&n.per_page&&(a=a.limit(n.per_page)),n!=null&&n.page){const u=(n.page-1)*(n.per_page||10);a=a.offset(u)}const o=(await a.execute()).map(u=>{const c=Xn(u,{inviter:{},invitee:{},app_metadata:{},user_metadata:{},roles:[]});return O({...c,send_invitation_email:u.send_invitation_email===1})});return{invites: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 Li(t){return async(e,n)=>(await t.deleteFrom("invites").where("tenant_id","=",e).where("id","=",n).executeTakeFirst()).numDeletedRows>0n}function Mi(t){return async(e,n,a)=>{const r={};return a.inviter!==void 0&&(r.inviter=JSON.stringify(a.inviter)),a.invitee!==void 0&&(r.invitee=JSON.stringify(a.invitee)),a.client_id!==void 0&&(r.client_id=a.client_id),a.connection_id!==void 0&&(r.connection_id=a.connection_id),a.app_metadata!==void 0&&(r.app_metadata=JSON.stringify(a.app_metadata)),a.user_metadata!==void 0&&(r.user_metadata=JSON.stringify(a.user_metadata)),a.roles!==void 0&&(r.roles=JSON.stringify(a.roles)),a.ttl_sec!==void 0&&(r.ttl_sec=a.ttl_sec,r.expires_at=new Date(Date.now()+a.ttl_sec*1e3).toISOString()),a.send_invitation_email!==void 0&&(r.send_invitation_email=a.send_invitation_email?1:0),Object.keys(r).length===0?!0:(await t.updateTable("invites").set(r).where("tenant_id","=",e).where("id","=",n).executeTakeFirst()).numUpdatedRows>0n}}function Ji(t){return{create:zi(t),get:Fi(t),list:ji(t),remove:Li(t),update:Mi(t)}}function Ot(t){return typeof t>"u"||t===void 0}function Y(t){return typeof t=="string"}function fn(t){return typeof t=="number"}function Zn(t){return typeof t=="boolean"}function ea(t){return t===null}function ta(t){return typeof t=="bigint"}function Ae(t){return typeof t=="function"}function Mt(t){return typeof t=="object"&&t!==null}function qi(t){return t[t.length-1]}function s(t){return Object.freeze(t)}function xt(t){return he(t)?t:[t]}function he(t){return Array.isArray(t)}const F=s({is(t){return t.kind==="IdentifierNode"},create(t){return s({kind:"IdentifierNode",name:t})}}),Ht=s({is(t){return t.kind==="SchemableIdentifierNode"},create(t){return s({kind:"SchemableIdentifierNode",identifier:F.create(t)})},createWithSchema(t,e){return s({kind:"SchemableIdentifierNode",schema:F.create(t),identifier:F.create(e)})}}),we=s({is(t){return t.kind==="AliasNode"},create(t,e){return s({kind:"AliasNode",node:t,alias:e})}}),me=s({is(t){return t.kind==="TableNode"},create(t){return s({kind:"TableNode",table:Ht.create(t)})},createWithSchema(t,e){return s({kind:"TableNode",table:Ht.createWithSchema(t,e)})}});function B(t){return Mt(t)&&Ae(t.toOperationNode)}function Bi(t){return Mt(t)&&"expressionType"in t&&B(t)}function Wi(t){return Mt(t)&&"expression"in t&&Y(t.alias)&&B(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})}}),fe=s({is(t){return t.kind==="AndNode"},create(t,e){return s({kind:"AndNode",left:t,right:e})}}),at=s({is(t){return t.kind==="OrNode"},create(t,e){return s({kind:"OrNode",left:t,right:e})}}),Qt=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"?fe.create(t.on,n):at.create(t.on,n)})}}),st=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:Qt.create(n)})},cloneWithOn(t,e){return s({...t,on:t.on?Qt.cloneWithOperation(t.on,"And",e):Qt.create(e)})}}),tt=s({is(t){return t.kind==="BinaryOperationNode"},create(t,e,n){return s({kind:"BinaryOperationNode",leftOperand:t,operator:e,rightOperand:n})}}),Ki=["=","==","!=","<>",">",">=","<","<=","in","not in","is","is not","like","not like","match","ilike","not ilike","@>","<@","^@","&&","?","?&","?|","!<","!>","<=>","!~","~","~*","!~*","@@","@@@","!!","<->","regexp","is distinct from","is not distinct from"],Ui=["+","-","*","/","%","^","&","|","#","<<",">>"],na=["->","->>"],Qi=[...Ki,...Ui,"&&","||"],Vi=["exists","not exists"],Gi=["not","-",...Vi],Yi=[...Qi,...na,...Gi,"between","between symmetric"],Ee=s({is(t){return t.kind==="OperatorNode"},create(t){return s({kind:"OperatorNode",operator:t})}});function Sn(t){return Y(t)&&na.includes(t)}const pn=s({is(t){return t.kind==="ColumnNode"},create(t){return s({kind:"ColumnNode",column:F.create(t)})}}),aa=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:aa.create()})}});function ra(t){return Mt(t)&&B(t)&&Y(t.dynamicReference)}const Xt=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 Hi(t){return t==="asc"||t==="desc"}function gn(t){if(t.length===2)return[Vt(t[0],t[1])];if(t.length===1){const[e]=t;return Array.isArray(e)?e.map(n=>Vt(n)):[Vt(e)]}throw new Error(`Invalid number of arguments at order by! expected 1-2, received ${t.length}`)}function Vt(t,e){const n=Xi(t);if(Xt.is(n)){if(e)throw new Error("Cannot specify direction twice!");return n}return Xt.create(n,oa(e))}function Xi(t){if(Kt(t))return Wt(t);if(ra(t))return t.toOperationNode();const[e,n]=t.split(" ");if(n){if(!Hi(n))throw new Error(`Invalid order by direction: ${n}`);return Xt.create(pe(e),oa(n))}return pe(t)}function oa(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})}}),ia=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])})}}),ut=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 Zi(t){return Y(t)?pe(t):t.toOperationNode()}function _t(t){return he(t)?t.map(e=>L(e)):[L(t)]}function L(t){return Kt(t)?Wt(t):Zi(t)}function es(t,e){const n=pe(t);if(Sn(e))return Tt.create(n,ia.create(Ee.create(e)));const a=e.slice(0,-1);if(Sn(a))return Tt.create(n,ut.create(Ee.create(a)));throw new Error(`Invalid JSON operator: ${e}`)}function pe(t){const e=".";if(!t.includes(e))return Jt.create(pn.create(t));const n=t.split(e).map(sa);if(n.length===3)return ns(n);if(n.length===2)return as(n);throw new Error(`invalid column reference ${t}`)}function ts(t){const e=" as ";if(t.includes(e)){const[n,a]=t.split(e).map(sa);return we.create(pe(n),F.create(a))}else return pe(t)}function ns(t){const[e,n,a]=t;return Jt.create(pn.create(a),me.createWithSchema(e,n))}function as(t){const[e,n]=t;return Jt.create(pn.create(n),me.create(e))}function sa(t){return t.trim()}const rs=s({is(t){return t.kind==="PrimitiveValueListNode"},create(t){return s({kind:"PrimitiveValueListNode",values:s([...t])})}}),os=s({is(t){return t.kind==="ValueListNode"},create(t){return s({kind:"ValueListNode",values:s(t)})}}),ge=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 is(t){return he(t)?ss(t):D(t)}function D(t){return Kt(t)?Wt(t):ge.create(t)}function yn(t){return fn(t)||Zn(t)||ea(t)}function wn(t){if(!yn(t))throw new Error(`unsafe immediate value ${JSON.stringify(t)}`);return ge.createImmediate(t)}function ss(t){return t.some(Kt)?os.create(t.map(e=>D(e))):rs.create(t)}const mt=s({is(t){return t.kind==="ParensNode"},create(t){return s({kind:"ParensNode",node:t})}});function U(t){if(t.length===3)return Nn(t[0],t[1],t[2]);if(t.length===1)return D(t[0]);throw new Error(`invalid arguments: ${JSON.stringify(t)}`)}function Nn(t,e,n){return us(e)&&ua(n)?tt.create(L(t),en(e),ge.createImmediate(n)):tt.create(L(t),en(e),is(n))}function ht(t,e,n){return tt.create(L(t),en(e),L(n))}function kn(t,e){return Zt(Object.entries(t).filter(([,n])=>!Ot(n)).map(([n,a])=>Nn(n,ua(a)?"is":"=",a)),e)}function Zt(t,e,n=!0){const a=e==="and"?fe.create:at.create;if(t.length===0)return tt.create(ge.createImmediate(1),Ee.create("="),ge.createImmediate(e==="and"?1:0));let r=In(t[0]);for(let o=1;o<t.length;++o)r=a(r,In(t[o]));return t.length>1&&n?mt.create(r):r}function us(t){return t==="is"||t==="is not"}function ua(t){return ea(t)||Zn(t)}function en(t){if(Y(t)&&Yi.includes(t))return Ee.create(t);if(B(t))return t.toOperationNode();throw new Error(`invalid operator ${JSON.stringify(t)}`)}function In(t){return B(t)?t.toOperationNode():t}const ye=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])})}}),En=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])})}}),tn=s({is(t){return t.kind==="OverNode"},create(){return s({kind:"OverNode"})},cloneWithOrderByItems(t,e){return s({...t,orderBy:t.orderBy?ye.cloneWithItems(t.orderBy,e):ye.create(e)})},cloneWithPartitionByItems(t,e){return s({...t,partitionBy:t.partitionBy?En.cloneWithItems(t.partitionBy,e):En.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])})}}),An=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])})}}),$n=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"?fe.create(t.having,n):at.create(t.having,n)})}}),S=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])})},cloneWithOrderByItems(t,e){return s({...t,orderBy:t.orderBy?ye.cloneWithItems(t.orderBy,e):ye.create(e)})},cloneWithGroupByItems(t,e){return s({...t,groupBy:t.groupBy?An.cloneWithItems(t.groupBy,e):An.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?$n.cloneWithOperation(t.having,"And",e):$n.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 $e(t,e){Object.defineProperties(t.prototype,{then:{enumerable:!1,value:()=>{throw new Error(e)}}})}var W;const lt=class lt{constructor(e){C(this,W);b(this,W,s(e))}on(...e){return new lt({...i(this,W),joinNode:st.cloneWithOn(i(this,W).joinNode,U(e))})}onRef(e,n,a){return new lt({...i(this,W),joinNode:st.cloneWithOn(i(this,W).joinNode,ht(e,n,a))})}onTrue(){return new lt({...i(this,W),joinNode:st.cloneWithOn(i(this,W).joinNode,R.createWithSql("true"))})}$call(e){return e(this)}toOperationNode(){return i(this,W).joinNode}};W=new WeakMap;let kt=lt;$e(kt,"don't await JoinBuilder instances. They are never executed directly and are always just a part of a query.");const cs=s({is(t){return t.kind==="PartitionByItemNode"},create(t){return s({kind:"PartitionByItemNode",partitionBy:t})}});function ls(t){return _t(t).map(cs.create)}var Ce;const Dt=class Dt{constructor(e){C(this,Ce);b(this,Ce,s(e))}orderBy(e,n){return new Dt({overNode:tn.cloneWithOrderByItems(i(this,Ce).overNode,gn([e,n]))})}partitionBy(e){return new Dt({overNode:tn.cloneWithPartitionByItems(i(this,Ce).overNode,ls(e))})}$call(e){return e(this)}toOperationNode(){return i(this,Ce).overNode}};Ce=new WeakMap;let It=Dt;$e(It,"don't await OverBuilder instances. They are never executed directly and are always just a part of a query.");const ct=s({is(t){return t.kind==="SelectionNode"},create(t){return s({kind:"SelectionNode",selection:t})},createSelectAll(){return s({kind:"SelectionNode",selection:aa.create()})},createSelectAllFromTable(t){return s({kind:"SelectionNode",selection:Jt.createSelectAll(t)})}});function ca(t){return Ae(t)?ca(t(Bt())):he(t)?t.map(e=>Pn(e)):[Pn(t)]}function Pn(t){return Y(t)?ct.create(ts(t)):ra(t)?ct.create(t.toOperationNode()):ct.create(wa(t))}function la(t){return t?Array.isArray(t)?t.map(Dn):[Dn(t)]:[ct.createSelectAll()]}function Dn(t){if(Y(t))return ct.createSelectAllFromTable(K(t));throw new Error(`invalid value selectAll expression: ${JSON.stringify(t)}`)}const ds=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})}}),_s=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})}}),zn=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])})}}),ms=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?ye.cloneWithItems(t.orderBy,e):ye.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?zn.cloneWithTables(t.using,e):zn.create(e)})}}),je=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"?fe.create(t.where,n):at.create(t.where,n)})}}),Rn=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)})}}),hs=s({is(t){return t.kind==="ExplainNode"},create(t,e){return s({kind:"ExplainNode",format:t,options:e})}}),qt=s({is(t){return t.kind==="WhenNode"},create(t){return s({kind:"WhenNode",condition:t})},cloneWithResult(t,e){return s({...t,result:e})}}),fs=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),qt.cloneWithResult(t.whens[t.whens.length-1],e)]):void 0})}}),Fn=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)})}}),A=s({is(t){return S.is(t)||ds.is(t)||_s.is(t)||ms.is(t)||fs.is(t)},cloneWithEndModifier(t,e){return s({...t,endModifiers:t.endModifiers?s([...t.endModifiers,e]):s([e])})},cloneWithWhere(t,e){return s({...t,where:t.where?je.cloneWithOperation(t.where,"And",e):je.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?Rn.cloneWithSelections(t.returning,e):Rn.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:hs.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?Fn.cloneWithSelections(t.output,e):Fn.create(e)})}});class ps extends Error{constructor(n){super("no result");se(this,"node");this.node=n}}function gs(t){return Object.prototype.hasOwnProperty.call(t,"prototype")}const ys=s({is(t){return t.kind==="TopNode"},create(t,e){return s({kind:"TopNode",expression:t,modifiers:e})}});function ws(t,e){if(!fn(t)&&!ta(t))throw new Error(`Invalid top expression: ${t}`);if(!Ot(e)&&!Ns(e))throw new Error(`Invalid top modifiers: ${e}`);return ys.create(t,e)}function Ns(t){return t==="percent"||t==="with ties"||t==="percent with ties"}const vs=s({is(t){return t.kind==="LimitNode"},create(t){return s({kind:"LimitNode",limit:t})}}),jn=["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 Cs(t){let e="";for(let n=0;n<t;++n)e+=xs();return e}function xs(){return jn[~~(Math.random()*jn.length)]}function X(){return new bs}var Je;class bs{constructor(){C(this,Je)}get queryId(){return i(this,Je)===void 0&&b(this,Je,Cs(8)),i(this,Je)}}Je=new WeakMap;var zt;class Os{constructor(){se(this,"nodeStack",[]);C(this,zt,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,zt)[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),endModifiers:this.transformNodeList(e.endModifiers),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),endModifiers:this.transformNodeList(e.endModifiers),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),endModifiers:this.transformNodeList(e.endModifiers),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,orderBy:this.transformNode(e.orderBy),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),endModifiers:this.transformNodeList(e.endModifiers),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}}zt=new WeakMap;const Ts=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}),Ss={json_agg:!0,to_json:!0};var qe,xe,be,I,nn,da,_a,ma,ze,an,ha;class ks extends Os{constructor(n){super();C(this,I);C(this,qe);C(this,xe,new Set);C(this,be,new Set);b(this,qe,n)}transformNodeImpl(n){if(!w(this,I,da).call(this,n))return super.transformNodeImpl(n);const a=w(this,I,ma).call(this,n);for(const u of a)i(this,be).add(u);const r=w(this,I,_a).call(this,n);for(const u of r)i(this,xe).add(u);const o=super.transformNodeImpl(n);for(const u of r)i(this,xe).delete(u);for(const u of a)i(this,be).delete(u);return o}transformSchemableIdentifier(n){const a=super.transformSchemableIdentifier(n);return a.schema||!i(this,xe).has(n.identifier.name)?a:{...a,schema:F.create(i(this,qe))}}transformReferences(n){const a=super.transformReferences(n);return a.table.table.schema?a:{...a,table:me.createWithSchema(i(this,qe),a.table.table.identifier.name)}}transformAggregateFunction(n){return{...super.transformAggregateFunction({...n,aggregated:[]}),aggregated:w(this,I,nn).call(this,n,"aggregated")}}transformFunction(n){return{...super.transformFunction({...n,arguments:[]}),arguments:w(this,I,nn).call(this,n,"arguments")}}}qe=new WeakMap,xe=new WeakMap,be=new WeakMap,I=new WeakSet,nn=function(n,a){return Ss[n.func]?n[a].map(r=>!me.is(r)||r.table.schema?this.transformNode(r):{...r,table:this.transformIdentifier(r.table.identifier)}):this.transformNodeList(n[a])},da=function(n){return n.kind in Ts},_a=function(n){const a=new Set;if("name"in n&&n.name&&Ht.is(n.name)&&w(this,I,an).call(this,n.name,a),"from"in n&&n.from)for(const r of n.from.froms)w(this,I,ze).call(this,r,a);if("into"in n&&n.into&&w(this,I,ze).call(this,n.into,a),"table"in n&&n.table&&w(this,I,ze).call(this,n.table,a),"joins"in n&&n.joins)for(const r of n.joins)w(this,I,ze).call(this,r.table,a);return"using"in n&&n.using&&w(this,I,ze).call(this,n.using,a),a},ma=function(n){const a=new Set;return"with"in n&&n.with&&w(this,I,ha).call(this,n.with,a),a},ze=function(n,a){const r=me.is(n)?n:we.is(n)&&me.is(n.node)?n.node:null;r&&w(this,I,an).call(this,r.table,a)},an=function(n,a){const r=n.identifier.name;!i(this,xe).has(r)&&!i(this,be).has(r)&&a.add(r)},ha=function(n,a){for(const r of n.expressions){const o=r.name.table.table.identifier.name;i(this,be).has(o)||a.add(o)}};var ft;class fa{constructor(e){C(this,ft);b(this,ft,new ks(e))}transformQuery(e){return i(this,ft).transformNode(e.node)}async transformResult(e){return e.result}}ft=new WeakMap;var pt,Be,We;class Ln{constructor(){C(this,pt);C(this,Be);C(this,We);se(this,"resolve",e=>{i(this,Be)&&i(this,Be).call(this,e)});se(this,"reject",e=>{i(this,We)&&i(this,We).call(this,e)});b(this,pt,new Promise((e,n)=>{b(this,We,n),b(this,Be,e)}))}get promise(){return i(this,pt)}}pt=new WeakMap,Be=new WeakMap,We=new WeakMap;const Mn=new Set;function Is(t){Mn.has(t)||(Mn.add(t),console.log(t))}const Es=s([]);var Oe,gt,rn;class As{constructor(e=Es){C(this,gt);C(this,Oe);b(this,Oe,e)}get plugins(){return i(this,Oe)}transformQuery(e,n){for(const a of i(this,Oe)){const r=a.transformQuery({node:e,queryId:n});if(r.kind===e.kind)e=r;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 ${r.kind}`].join(" "))}return e}async executeQuery(e,n){return await this.provideConnection(async a=>{const r=await a.executeQuery(e),o=await w(this,gt,rn).call(this,r,n);return $s(r,o),o})}async*stream(e,n,a){const r=new Ln,o=new Ln;this.provideConnection(async c=>(r.resolve(c),await o.promise)).catch(c=>r.reject(c));const u=await r.promise;try{for await(const c of u.streamQuery(e,n))yield await w(this,gt,rn).call(this,c,a)}finally{o.resolve()}}}Oe=new WeakMap,gt=new WeakSet,rn=async function(e,n){for(const a of i(this,Oe))e=await a.transformResult({result:e,queryId:n});return e};function $s(t,e){const{numAffectedRows:n}=t;n===void 0&&t.numUpdatedOrDeletedRows===void 0||n!==void 0&&e.numAffectedRows!==void 0||Is("kysely:warning: outdated driver/plugin detected! QueryResult.numUpdatedOrDeletedRows is deprecated and will be removed in a future release.")}class Le extends As{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 Le([...this.plugins,e])}withPlugins(e){return new Le([...this.plugins,...e])}withPluginAtFront(e){return new Le([e,...this.plugins])}withoutPlugins(){return new Le([])}}const pa=new Le;function Ps(t,e){return new kt({joinNode:st.create(t,$t(e))})}function Ds(){return new It({overNode:tn.create()})}function Pe(t,e){if(e.length===3)return Rs(t,e[0],e[1],e[2]);if(e.length===2)return zs(t,e[0],e[1]);throw new Error("not implemented")}function zs(t,e,n){return n(Ps(t,e)).toOperationNode()}function Rs(t,e,n,a){return st.createWithOn(t,$t(e),ht(n,"=",a))}const Fs=s({is(t){return t.kind==="OffsetNode"},create(t){return s({kind:"OffsetNode",offset:t})}}),js=s({is(t){return t.kind==="GroupByItemNode"},create(t){return s({kind:"GroupByItemNode",groupBy:t})}});function Ls(t){return t=Ae(t)?t(Bt()):t,_t(t).map(js.create)}const Ms=s({is(t){return t.kind==="SetOperationNode"},create(t,e,n){return s({kind:"SetOperationNode",operator:t,expression:e,all:n})}});function De(t,e,n){return Ae(e)&&(e=e(Cn())),he(e)||(e=[e]),e.map(a=>Ms.create(t,Wt(a),n))}var ae;const Rt=class Rt{constructor(e){C(this,ae);b(this,ae,e)}get expressionType(){}as(e){return new vn(this,e)}or(...e){return new on(at.create(i(this,ae),U(e)))}and(...e){return new sn(fe.create(i(this,ae),U(e)))}$castTo(){return new Rt(i(this,ae))}$notNull(){return new Rt(i(this,ae))}toOperationNode(){return i(this,ae)}};ae=new WeakMap;let T=Rt;var Ke,le;class vn{constructor(e,n){C(this,Ke);C(this,le);b(this,Ke,e),b(this,le,n)}get expression(){return i(this,Ke)}get alias(){return i(this,le)}toOperationNode(){return we.create(i(this,Ke).toOperationNode(),B(i(this,le))?i(this,le).toOperationNode():F.create(i(this,le)))}}Ke=new WeakMap,le=new WeakMap;var Te;const Ft=class Ft{constructor(e){C(this,Te);b(this,Te,e)}get expressionType(){}as(e){return new vn(this,e)}or(...e){return new Ft(at.create(i(this,Te),U(e)))}$castTo(){return new Ft(i(this,Te))}toOperationNode(){return mt.create(i(this,Te))}};Te=new WeakMap;let on=Ft;var Se;const jt=class jt{constructor(e){C(this,Se);b(this,Se,e)}get expressionType(){}as(e){return new vn(this,e)}and(...e){return new jt(fe.create(i(this,Se),U(e)))}$castTo(){return new jt(i(this,Se))}toOperationNode(){return mt.create(i(this,Se))}};Se=new WeakMap;let sn=jt;const Js={is(t){return t.kind==="FetchNode"},create(t,e){return{kind:"FetchNode",rowCount:ge.create(t),modifier:e}}};function qs(t,e){if(!fn(t)&&!ta(t))throw new Error(`Invalid fetch row count: ${t}`);if(!Bs(e))throw new Error(`Invalid fetch modifier: ${e}`);return Js.create(t,e)}function Bs(t){return t==="only"||t==="with ties"}var _;const v=class v{constructor(e){C(this,_);b(this,_,s(e))}get expressionType(){}get isSelectQueryBuilder(){return!0}where(...e){return new v({...i(this,_),queryNode:A.cloneWithWhere(i(this,_).queryNode,U(e))})}whereRef(e,n,a){return new v({...i(this,_),queryNode:A.cloneWithWhere(i(this,_).queryNode,ht(e,n,a))})}having(...e){return new v({...i(this,_),queryNode:S.cloneWithHaving(i(this,_).queryNode,U(e))})}havingRef(e,n,a){return new v({...i(this,_),queryNode:S.cloneWithHaving(i(this,_).queryNode,ht(e,n,a))})}select(e){return new v({...i(this,_),queryNode:S.cloneWithSelections(i(this,_).queryNode,ca(e))})}distinctOn(e){return new v({...i(this,_),queryNode:S.cloneWithDistinctOn(i(this,_).queryNode,_t(e))})}modifyFront(e){return new v({...i(this,_),queryNode:S.cloneWithFrontModifier(i(this,_).queryNode,H.createWithExpression(e.toOperationNode()))})}modifyEnd(e){return new v({...i(this,_),queryNode:A.cloneWithEndModifier(i(this,_).queryNode,H.createWithExpression(e.toOperationNode()))})}distinct(){return new v({...i(this,_),queryNode:S.cloneWithFrontModifier(i(this,_).queryNode,H.create("Distinct"))})}forUpdate(e){return new v({...i(this,_),queryNode:A.cloneWithEndModifier(i(this,_).queryNode,H.create("ForUpdate",e?xt(e).map(K):void 0))})}forShare(e){return new v({...i(this,_),queryNode:A.cloneWithEndModifier(i(this,_).queryNode,H.create("ForShare",e?xt(e).map(K):void 0))})}forKeyShare(e){return new v({...i(this,_),queryNode:A.cloneWithEndModifier(i(this,_).queryNode,H.create("ForKeyShare",e?xt(e).map(K):void 0))})}forNoKeyUpdate(e){return new v({...i(this,_),queryNode:A.cloneWithEndModifier(i(this,_).queryNode,H.create("ForNoKeyUpdate",e?xt(e).map(K):void 0))})}skipLocked(){return new v({...i(this,_),queryNode:A.cloneWithEndModifier(i(this,_).queryNode,H.create("SkipLocked"))})}noWait(){return new v({...i(this,_),queryNode:A.cloneWithEndModifier(i(this,_).queryNode,H.create("NoWait"))})}selectAll(e){return new v({...i(this,_),queryNode:S.cloneWithSelections(i(this,_).queryNode,la(e))})}innerJoin(...e){return new v({...i(this,_),queryNode:A.cloneWithJoin(i(this,_).queryNode,Pe("InnerJoin",e))})}leftJoin(...e){return new v({...i(this,_),queryNode:A.cloneWithJoin(i(this,_).queryNode,Pe("LeftJoin",e))})}rightJoin(...e){return new v({...i(this,_),queryNode:A.cloneWithJoin(i(this,_).queryNode,Pe("RightJoin",e))})}fullJoin(...e){return new v({...i(this,_),queryNode:A.cloneWithJoin(i(this,_).queryNode,Pe("FullJoin",e))})}innerJoinLateral(...e){return new v({...i(this,_),queryNode:A.cloneWithJoin(i(this,_).queryNode,Pe("LateralInnerJoin",e))})}leftJoinLateral(...e){return new v({...i(this,_),queryNode:A.cloneWithJoin(i(this,_).queryNode,Pe("LateralLeftJoin",e))})}orderBy(...e){return new v({...i(this,_),queryNode:S.cloneWithOrderByItems(i(this,_).queryNode,gn(e))})}groupBy(e){return new v({...i(this,_),queryNode:S.cloneWithGroupByItems(i(this,_).queryNode,Ls(e))})}limit(e){return new v({...i(this,_),queryNode:S.cloneWithLimit(i(this,_).queryNode,vs.create(D(e)))})}offset(e){return new v({...i(this,_),queryNode:S.cloneWithOffset(i(this,_).queryNode,Fs.create(D(e)))})}fetch(e,n="only"){return new v({...i(this,_),queryNode:S.cloneWithFetch(i(this,_).queryNode,qs(e,n))})}top(e,n){return new v({...i(this,_),queryNode:A.cloneWithTop(i(this,_).queryNode,ws(e,n))})}union(e){return new v({...i(this,_),queryNode:S.cloneWithSetOperations(i(this,_).queryNode,De("union",e,!1))})}unionAll(e){return new v({...i(this,_),queryNode:S.cloneWithSetOperations(i(this,_).queryNode,De("union",e,!0))})}intersect(e){return new v({...i(this,_),queryNode:S.cloneWithSetOperations(i(this,_).queryNode,De("intersect",e,!1))})}intersectAll(e){return new v({...i(this,_),queryNode:S.cloneWithSetOperations(i(this,_).queryNode,De("intersect",e,!0))})}except(e){return new v({...i(this,_),queryNode:S.cloneWithSetOperations(i(this,_).queryNode,De("except",e,!1))})}exceptAll(e){return new v({...i(this,_),queryNode:S.cloneWithSetOperations(i(this,_).queryNode,De("except",e,!0))})}as(e){return new ga(this,e)}clearSelect(){return new v({...i(this,_),queryNode:S.cloneWithoutSelections(i(this,_).queryNode)})}clearWhere(){return new v({...i(this,_),queryNode:A.cloneWithoutWhere(i(this,_).queryNode)})}clearLimit(){return new v({...i(this,_),queryNode:S.cloneWithoutLimit(i(this,_).queryNode)})}clearOffset(){return new v({...i(this,_),queryNode:S.cloneWithoutOffset(i(this,_).queryNode)})}clearOrderBy(){return new v({...i(this,_),queryNode:S.cloneWithoutOrderBy(i(this,_).queryNode)})}clearGroupBy(){return new v({...i(this,_),queryNode:S.cloneWithoutGroupBy(i(this,_).queryNode)})}$call(e){return e(this)}$if(e,n){return e?n(this):new v({...i(this,_)})}$castTo(){return new v(i(this,_))}$narrowType(){return new v(i(this,_))}$assertType(){return new v(i(this,_))}$asTuple(){return new T(this.toOperationNode())}withPlugin(e){return new v({...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=ps){const n=await this.executeTakeFirst();if(n===void 0)throw gs(e)?new e(this.toOperationNode()):e(this.toOperationNode());return n}async*stream(e=100){const n=this.compile(),a=i(this,_).executor.stream(n,e,i(this,_).queryId);for await(const r of a)yield*r.rows}async explain(e,n){return await new v({...i(this,_),queryNode:A.cloneWithExplain(i(this,_).queryNode,e,n)}).execute()}};_=new WeakMap;let Et=v;$e(Et,"don't await SelectQueryBuilder instances directly. To execute the query you need to call `execute` or `executeTakeFirst`.");function Ws(t){return new Et(t)}var Ue,Qe;class ga{constructor(e,n){C(this,Ue);C(this,Qe);b(this,Ue,e),b(this,Qe,n)}get expression(){return i(this,Ue)}get alias(){return i(this,Qe)}get isAliasedSelectQueryBuilder(){return!0}toOperationNode(){return we.create(i(this,Ue).toOperationNode(),F.create(i(this,Qe)))}}Ue=new WeakMap,Qe=new WeakMap;$e(ga,"don't await AliasedSelectQueryBuilder instances directly. AliasedSelectQueryBuilder should never be executed directly since it's always a part of another query.");const ce=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})},cloneWithOrderBy(t,e){return s({...t,orderBy:t.orderBy?ye.cloneWithItems(t.orderBy,e):ye.create(e)})},cloneWithFilter(t,e){return s({...t,filter:t.filter?je.cloneWithOperation(t.filter,"And",e):je.create(e)})},cloneWithOrFilter(t,e){return s({...t,filter:t.filter?je.cloneWithOperation(t.filter,"Or",e):je.create(e)})},cloneWithOver(t,e){return s({...t,over:e})}}),Jn=s({is(t){return t.kind==="FunctionNode"},create(t,e){return s({kind:"FunctionNode",func:t,arguments:e})}});var $;const ne=class ne{constructor(e){C(this,$);b(this,$,s(e))}get expressionType(){}as(e){return new Ks(this,e)}distinct(){return new ne({...i(this,$),aggregateFunctionNode:ce.cloneWithDistinct(i(this,$).aggregateFunctionNode)})}orderBy(e,n){return new ne({...i(this,$),aggregateFunctionNode:ce.cloneWithOrderBy(i(this,$).aggregateFunctionNode,gn([e,n]))})}filterWhere(...e){return new ne({...i(this,$),aggregateFunctionNode:ce.cloneWithFilter(i(this,$).aggregateFunctionNode,U(e))})}filterWhereRef(e,n,a){return new ne({...i(this,$),aggregateFunctionNode:ce.cloneWithFilter(i(this,$).aggregateFunctionNode,ht(e,n,a))})}over(e){const n=Ds();return new ne({...i(this,$),aggregateFunctionNode:ce.cloneWithOver(i(this,$).aggregateFunctionNode,(e?e(n):n).toOperationNode())})}$call(e){return e(this)}$castTo(){return new ne(i(this,$))}$notNull(){return new ne(i(this,$))}toOperationNode(){return i(this,$).aggregateFunctionNode}};$=new WeakMap;let Me=ne;$e(Me,"don't await AggregateFunctionBuilder instances. They are never executed directly and are always just a part of a query.");var Ve,Ge;class Ks{constructor(e,n){C(this,Ve);C(this,Ge);b(this,Ve,e),b(this,Ge,n)}get expression(){return i(this,Ve)}get alias(){return i(this,Ge)}toOperationNode(){return we.create(i(this,Ve).toOperationNode(),F.create(i(this,Ge)))}}Ve=new WeakMap,Ge=new WeakMap;function Us(){const t=(n,a)=>new T(Jn.create(n,_t(a??[]))),e=(n,a)=>new Me({aggregateFunctionNode:ce.create(n,a?_t(a):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 Me({aggregateFunctionNode:ce.create("count",la(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 Me({aggregateFunctionNode:ce.create("json_agg",[Y(n)?K(n):n.toOperationNode()])})},toJson(n){return new T(Jn.create("to_json",[Y(n)?K(n):n.toOperationNode()]))}})}const Qs=s({is(t){return t.kind==="UnaryOperationNode"},create(t,e){return s({kind:"UnaryOperationNode",operator:t,operand:e})}});function Vs(t,e){return Qs.create(Ee.create(t),L(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),qt.cloneWithResult(t.when[t.when.length-1],e)]):void 0})},cloneWith(t,e){return s({...t,...e})}});var Ye;class Gs{constructor(e){C(this,Ye);b(this,Ye,s(e))}when(...e){return new ya({...i(this,Ye),node:re.cloneWithWhen(i(this,Ye).node,qt.create(U(e)))})}}Ye=new WeakMap;var He;class ya{constructor(e){C(this,He);b(this,He,s(e))}then(e){return new Ys({...i(this,He),node:re.cloneWithThen(i(this,He).node,yn(e)?wn(e):D(e))})}}He=new WeakMap;var V;class Ys{constructor(e){C(this,V);b(this,V,s(e))}when(...e){return new ya({...i(this,V),node:re.cloneWithWhen(i(this,V).node,qt.create(U(e)))})}else(e){return new Hs({...i(this,V),node:re.cloneWith(i(this,V).node,{else:yn(e)?wn(e):D(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 Xe;class Hs{constructor(e){C(this,Xe);b(this,Xe,s(e))}end(){return new T(re.cloneWith(i(this,Xe).node,{isStatement:!1}))}endCase(){return new T(re.cloneWith(i(this,Xe).node,{isStatement:!0}))}}Xe=new WeakMap;const qn=s({is(t){return t.kind==="JSONPathLegNode"},create(t,e){return s({kind:"JSONPathLegNode",type:t,value:e})}});var G,yt,cn;class un{constructor(e){C(this,yt);C(this,G);b(this,G,e)}at(e){return w(this,yt,cn).call(this,"ArrayLocation",e)}key(e){return w(this,yt,cn).call(this,"Member",e)}}G=new WeakMap,yt=new WeakSet,cn=function(e,n){return Tt.is(i(this,G))?new At(Tt.cloneWithTraversal(i(this,G),ut.is(i(this,G).traversal)?ut.cloneWithLeg(i(this,G).traversal,qn.create(e,n)):ia.cloneWithValue(i(this,G).traversal,ge.createImmediate(n)))):new At(ut.cloneWithLeg(i(this,G),qn.create(e,n)))};var ke;const Lt=class Lt extends un{constructor(n){super(n);C(this,ke);b(this,ke,n)}get expressionType(){}as(n){return new Xs(this,n)}$castTo(){return new Lt(i(this,ke))}$notNull(){return new Lt(i(this,ke))}toOperationNode(){return i(this,ke)}};ke=new WeakMap;let At=Lt;var Ze,de;class Xs{constructor(e,n){C(this,Ze);C(this,de);b(this,Ze,e),b(this,de,n)}get expression(){return i(this,Ze)}get alias(){return i(this,de)}toOperationNode(){return we.create(i(this,Ze).toOperationNode(),B(i(this,de))?i(this,de).toOperationNode():F.create(i(this,de)))}}Ze=new WeakMap,de=new WeakMap;const Bn=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","int4range","int4multirange","int8range","int8multirange","numrange","nummultirange","tsrange","tsmultirange","tstzrange","tstzmultirange","daterange","datemultirange"],eu=[/^varchar\(\d+\)$/,/^char\(\d+\)$/,/^decimal\(\d+, \d+\)$/,/^numeric\(\d+, \d+\)$/,/^binary\(\d+\)$/,/^datetime\(\d+\)$/,/^time\(\d+\)$/,/^timetz\(\d+\)$/,/^timestamp\(\d+\)$/,/^timestamptz\(\d+\)$/,/^varbinary\(\d+\)$/],tu=s({is(t){return t.kind==="DataTypeNode"},create(t){return s({kind:"DataTypeNode",dataType:t})}});function nu(t){return!!(Zs.includes(t)||eu.some(e=>e.test(t)))}function au(t){if(B(t))return t.toOperationNode();if(nu(t))return tu.create(t);throw new Error(`invalid column data type ${JSON.stringify(t)}`)}const ru=s({is(t){return t.kind==="CastNode"},create(t,e){return s({kind:"CastNode",expression:t,dataType:e})}});function Cn(t=pa){function e(r,o,u){return new T(Nn(r,o,u))}function n(r,o){return new T(Vs(r,o))}const a=Object.assign(e,{fn:void 0,eb:void 0,selectFrom(r){return Ws({queryId:X(),executor:t,queryNode:S.createFrom(ou(r))})},case(r){return new Gs({node:re.create(Ot(r)?void 0:L(r))})},ref(r,o){return Ot(o)?new T(pe(r)):new un(es(r,o))},jsonPath(){return new un(ut.create())},table(r){return new T(K(r))},val(r){return new T(D(r))},refTuple(...r){return new T(Bn.create(r.map(L)))},tuple(...r){return new T(Bn.create(r.map(D)))},lit(r){return new T(wn(r))},unary:n,not(r){return n("not",r)},exists(r){return n("exists",r)},neg(r){return n("-",r)},between(r,o,u){return new T(tt.create(L(r),Ee.create("between"),fe.create(D(o),D(u))))},betweenSymmetric(r,o,u){return new T(tt.create(L(r),Ee.create("between symmetric"),fe.create(D(o),D(u))))},and(r){return he(r)?new T(Zt(r,"and")):new T(kn(r,"and"))},or(r){return he(r)?new T(Zt(r,"or")):new T(kn(r,"or"))},parens(...r){const o=U(r);return mt.is(o)?new T(o):new T(mt.create(o))},cast(r,o){return new T(ru.create(L(r),au(o)))},withSchema(r){return Cn(t.withPluginAtFront(new fa(r)))}});return a.fn=Us(),a.eb=a,a}function Bt(t){return Cn()}function Wt(t){if(B(t))return t.toOperationNode();if(Ae(t))return t(Bt()).toOperationNode();throw new Error(`invalid expression: ${JSON.stringify(t)}`)}function wa(t){if(B(t))return t.toOperationNode();if(Ae(t))return t(Bt()).toOperationNode();throw new Error(`invalid aliased expression: ${JSON.stringify(t)}`)}function Kt(t){return Bi(t)||Wi(t)||Ae(t)}function ou(t){return he(t)?t.map(e=>$t(e)):[$t(t)]}function $t(t){return Y(t)?iu(t):wa(t)}function iu(t){const e=" as ";if(t.includes(e)){const[n,a]=t.split(e).map(Na);return we.create(K(n),F.create(a))}else return K(t)}function K(t){const e=".";if(t.includes(e)){const[n,a]=t.split(e).map(Na);return me.createWithSchema(n,a)}else return me.create(t)}function Na(t){return t.trim()}var P,M,bt,ln,dn;const dt=class dt{constructor(e){C(this,M);C(this,P);b(this,P,s(e))}get expressionType(){}get isRawBuilder(){return!0}as(e){return new va(this,e)}$castTo(){return new dt({...i(this,P)})}$notNull(){return new dt(i(this,P))}withPlugin(e){return new dt({...i(this,P),plugins:i(this,P).plugins!==void 0?s([...i(this,P).plugins,e]):s([e])})}toOperationNode(){return w(this,M,ln).call(this,w(this,M,bt).call(this))}compile(e){return w(this,M,dn).call(this,w(this,M,bt).call(this,e))}async execute(e){const n=w(this,M,bt).call(this,e);return n.executeQuery(w(this,M,dn).call(this,n),i(this,P).queryId)}};P=new WeakMap,M=new WeakSet,bt=function(e){const n=e!==void 0?e.getExecutor():pa;return i(this,P).plugins!==void 0?n.withPlugins(i(this,P).plugins):n},ln=function(e){return e.transformQuery(i(this,P).rawNode,i(this,P).queryId)},dn=function(e){return e.compileQuery(w(this,M,ln).call(this,e),i(this,P).queryId)};let Pt=dt;function ue(t){return new Pt(t)}$e(Pt,"don't await RawBuilder instances directly. To execute the query you need to call `execute`");var Ie,_e;class va{constructor(e,n){C(this,Ie);C(this,_e);b(this,Ie,e),b(this,_e,n)}get expression(){return i(this,Ie)}get alias(){return i(this,_e)}get rawBuilder(){return i(this,Ie)}toOperationNode(){return we.create(i(this,Ie).toOperationNode(),B(i(this,_e))?i(this,_e).toOperationNode():F.create(i(this,_e)))}}Ie=new WeakMap,_e=new WeakMap;$e(va,"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)=>ue({queryId:X(),rawNode:R.create(t,(e==null?void 0:e.map(Wn))??[])}),{ref(t){return ue({queryId:X(),rawNode:R.createWithChild(pe(t))})},val(t){return ue({queryId:X(),rawNode:R.createWithChild(D(t))})},value(t){return this.val(t)},table(t){return ue({queryId:X(),rawNode:R.createWithChild(K(t))})},id(...t){const e=new Array(t.length+1).fill(".");return e[0]="",e[e.length-1]="",ue({queryId:X(),rawNode:R.create(e,t.map(F.create))})},lit(t){return ue({queryId:X(),rawNode:R.createWithChild(ge.createImmediate(t))})},literal(t){return this.lit(t)},raw(t){return ue({queryId:X(),rawNode:R.createWithSql(t)})},join(t,e=g`, `){const n=new Array(2*t.length-1),a=e.toOperationNode();for(let r=0;r<t.length;++r)n[2*r]=Wn(t[r]),r!==t.length-1&&(n[2*r+1]=a);return ue({queryId:X(),rawNode:R.createWithChildren(n)})}});function Wn(t){return B(t)?t.toOperationNode():D(t)}class su{transformQuery(e){return e.node}async transformResult(e){return e.result}}const uu="kysely_migration",Kn="kysely_migration_lock",cu=!1,Gt="migration_lock",lu=s({__noMigrations__:!0});var k,m,ot,Z,ee,Re,xa,te,ba,Oa,Ta,Sa,ka,_n,Fe,mn,Ia,Ea,Aa,hn,$a,Pa,Da,za,Ra,it;class Ca{constructor(e){C(this,m);C(this,k);b(this,k,s(e))}async getMigrations(){const e=await w(this,m,Fe).call(this,i(this,m,ee))?await i(this,k).db.withPlugin(i(this,m,te)).selectFrom(i(this,m,ee)).select(["name","timestamp"]).$narrowType().execute():[];return(await w(this,m,hn).call(this)).map(({name:a,...r})=>{const o=e.find(u=>u.name===a);return{name:a,migration:r,executedAt:o?new Date(o.timestamp):void 0}})}async migrateToLatest(){return w(this,m,ot).call(this,()=>({direction:"Up",step:1/0}))}async migrateTo(e){return w(this,m,ot).call(this,({migrations:n,executedMigrations:a,pendingMigrations:r})=>{if(e===lu)return{direction:"Down",step:1/0};if(!n.find(c=>c.name===e))throw new Error(`migration "${e}" doesn't exist`);const o=a.indexOf(e),u=r.findIndex(c=>c.name===e);if(o!==-1)return{direction:"Down",step:a.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,ot).call(this,()=>({direction:"Up",step:1}))}async migrateDown(){return w(this,m,ot).call(this,()=>({direction:"Down",step:1}))}}k=new WeakMap,m=new WeakSet,ot=async function(e){try{return await w(this,m,ba).call(this),await w(this,m,Ia).call(this,e)}catch(n){return n instanceof Yt?n.resultSet:{error:n}}},Z=function(){return i(this,k).migrationTableSchema},ee=function(){return i(this,k).migrationTableName??uu},Re=function(){return i(this,k).migrationLockTableName??Kn},xa=function(){return i(this,k).allowUnorderedMigrations??cu},te=function(){return i(this,m,Z)?new fa(i(this,m,Z)):new su},ba=async function(){await w(this,m,Oa).call(this),await w(this,m,Ta).call(this),await w(this,m,Sa).call(this),await w(this,m,ka).call(this)},Oa=async function(){if(i(this,m,Z)&&!await w(this,m,_n).call(this))try{await w(this,m,it).call(this,i(this,k).db.schema.createSchema(i(this,m,Z)))}catch(e){if(!await w(this,m,_n).call(this))throw e}},Ta=async function(){if(!await w(this,m,Fe).call(this,i(this,m,ee)))try{i(this,m,Z)&&await w(this,m,it).call(this,i(this,k).db.schema.createSchema(i(this,m,Z))),await w(this,m,it).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,Fe).call(this,i(this,m,ee)))throw e}},Sa=async function(){if(!await w(this,m,Fe).call(this,i(this,m,Re)))try{await w(this,m,it).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,Fe).call(this,i(this,m,Re)))throw e}},ka=async function(){if(!await w(this,m,mn).call(this))try{await i(this,k).db.withPlugin(i(this,m,te)).insertInto(i(this,m,Re)).values({id:Gt,is_locked:0}).execute()}catch(e){if(!await w(this,m,mn).call(this))throw e}},_n=async function(){return(await i(this,k).db.introspection.getSchemas()).some(n=>n.name===i(this,m,Z))},Fe=async function(e){const n=i(this,m,Z);return(await i(this,k).db.introspection.getTables({withInternalKyselyTables:!0})).some(r=>r.name===e&&(!n||r.schema===n))},mn=async function(){return!!await i(this,k).db.withPlugin(i(this,m,te)).selectFrom(i(this,m,Re)).where("id","=",Gt).select("id").executeTakeFirst()},Ia=async function(e){const n=i(this,k).db.getExecutor().adapter,a=s({lockTable:i(this,k).migrationLockTableName??Kn,lockRowId:Gt,lockTableSchema:i(this,k).migrationTableSchema}),r=async o=>{try{await n.acquireMigrationLock(o,a);const u=await w(this,m,Ea).call(this,o);if(u.migrations.length===0)return{results:[]};const{direction:c,step:l}=e(u);return l<=0?{results:[]}:c==="Down"?await w(this,m,za).call(this,o,u,l):c==="Up"?await w(this,m,Ra).call(this,o,u,l):{results:[]}}finally{await n.releaseMigrationLock(o,a)}};return n.supportsTransactionalDdl?i(this,k).db.transaction().execute(r):i(this,k).db.connection().execute(r)},Ea=async function(e){const n=await w(this,m,hn).call(this),a=await w(this,m,$a).call(this,e);w(this,m,Pa).call(this,n,a),i(this,m,xa)||w(this,m,Da).call(this,n,a);const r=w(this,m,Aa).call(this,n,a);return s({migrations:n,executedMigrations:a,lastMigration:qi(a),pendingMigrations:r})},Aa=function(e,n){return e.filter(a=>!n.includes(a.name))},hn=async function(){const e=await i(this,k).provider.getMigrations();return Object.keys(e).sort().map(n=>({...e[n],name:n}))},$a=async function(e){const n=await e.withPlugin(i(this,m,te)).selectFrom(i(this,m,ee)).select(["name","timestamp"]).$narrowType().execute(),a=i(this,k).nameComparator||((r,o)=>r.localeCompare(o));return n.sort((r,o)=>r.timestamp===o.timestamp?a(r.name,o.name):new Date(r.timestamp).getTime()-new Date(o.timestamp).getTime()).map(r=>r.name)},Pa=function(e,n){for(const a of n)if(!e.some(r=>r.name===a))throw new Error(`corrupted migrations: previously executed migration ${a} is missing`)},Da=function(e,n){for(let a=0;a<n.length;++a)if(e[a].name!==n[a])throw new Error(`corrupted migrations: expected previously executed migration ${n[a]} to be at index ${a} but ${e[a].name} was found in its place. New migrations must always have a name that comes alphabetically after the last executed migration.`)},za=async function(e,n,a){const r=n.executedMigrations.slice().reverse().slice(0,a).map(u=>n.migrations.find(c=>c.name===u)),o=r.map(u=>({migrationName:u.name,direction:"Down",status:"NotExecuted"}));for(let u=0;u<o.length;++u){const c=r[u];try{c.down&&(await c.down(e),await e.withPlugin(i(this,m,te)).deleteFrom(i(this,m,ee)).where("name","=",c.name).execute(),o[u]={migrationName:c.name,direction:"Down",status:"Success"})}catch(l){throw o[u]={migrationName:c.name,direction:"Down",status:"Error"},new Yt({error:l,results:o})}}return{results:o}},Ra=async function(e,n,a){const o=n.pendingMigrations.slice(0,a).map(u=>({migrationName:u.name,direction:"Up",status:"NotExecuted"}));for(let u=0;u<o.length;u++){const c=n.pendingMigrations[u];try{await c.up(e),await e.withPlugin(i(this,m,te)).insertInto(i(this,m,ee)).values({name:c.name,timestamp:new Date().toISOString()}).execute(),o[u]={migrationName:c.name,direction:"Up",status:"Success"}}catch(l){throw o[u]={migrationName:c.name,direction:"Up",status:"Error"},new Yt({error:l,results:o})}}return{results:o}},it=async function(e){i(this,k).db.getExecutor().adapter.supportsCreateIfNotExists&&(e=e.ifNotExists()),await e.execute()};var wt;class Yt extends Error{constructor(n){super();C(this,wt);b(this,wt,n)}get resultSet(){return i(this,wt)}}wt=new WeakMap;class Fa{constructor(e){se(this,"migrations");this.migrations=e}async getMigrations(){return this.migrations}}async function du(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 _u(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 mu=Object.freeze(Object.defineProperty({__proto__:null,down:_u,up:du},Symbol.toStringTag,{value:"Module"}));async function hu(t){await t.schema.alterTable("tenants").addColumn("support_url","varchar(255)").execute()}async function fu(t){await t.schema.alterTable("tenants").dropColumn("support_url").execute()}const pu=Object.freeze(Object.defineProperty({__proto__:null,down:fu,up:hu},Symbol.toStringTag,{value:"Module"}));async function gu(t){}async function yu(t){}const wu=Object.freeze(Object.defineProperty({__proto__:null,down:yu,up:gu},Symbol.toStringTag,{value:"Module"}));async function Nu(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 vu(t){await t.schema.dropTable("logs").execute()}const Cu=Object.freeze(Object.defineProperty({__proto__:null,down:vu,up:Nu},Symbol.toStringTag,{value:"Module"}));async function xu(t){}async function bu(t){}const Ou=Object.freeze(Object.defineProperty({__proto__:null,down:bu,up:xu},Symbol.toStringTag,{value:"Module"}));async function Tu(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 Su(t){await t.schema.dropTable("sessions").execute(),await t.schema.dropTable("tickets").execute(),await t.schema.dropTable("otps").execute()}const ku=Object.freeze(Object.defineProperty({__proto__:null,down:Su,up:Tu},Symbol.toStringTag,{value:"Module"}));async function Iu(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 Eu(t){await t.schema.dropTable("passwords").execute(),await t.schema.dropTable("codes").execute()}const Au=Object.freeze(Object.defineProperty({__proto__:null,down:Eu,up:Iu},Symbol.toStringTag,{value:"Module"}));async function $u(t){}async function Pu(t){}const Du=Object.freeze(Object.defineProperty({__proto__:null,down:Pu,up:$u},Symbol.toStringTag,{value:"Module"}));async function zu(t){await t.schema.alterTable("passwords").addColumn("password","varchar(255)",e=>e.notNull()).execute()}async function Ru(t){await t.schema.alterTable("passwords").dropColumn("password").execute()}const Fu=Object.freeze(Object.defineProperty({__proto__:null,down:Ru,up:zu},Symbol.toStringTag,{value:"Module"}));async function ju(t){}async function Lu(t){}const Mu=Object.freeze(Object.defineProperty({__proto__:null,down:Lu,up:ju},Symbol.toStringTag,{value:"Module"}));async function Ju(t){}async function qu(t){}const Bu=Object.freeze(Object.defineProperty({__proto__:null,down:qu,up:Ju},Symbol.toStringTag,{value:"Module"}));async function Wu(t){}async function Ku(t){}const Uu=Object.freeze(Object.defineProperty({__proto__:null,down:Ku,up:Wu},Symbol.toStringTag,{value:"Module"}));async function Qu(t){await t.schema.createIndex("users_email_index").on("users").column("email").execute()}async function Vu(t){await t.schema.dropIndex("users_email_index").execute()}const Gu=Object.freeze(Object.defineProperty({__proto__:null,down:Vu,up:Qu},Symbol.toStringTag,{value:"Module"}));async function Yu(t){await t.schema.alterTable("users").addColumn("profileData","varchar(2048)").execute()}async function Hu(t){await t.schema.alterTable("users").dropColumn("profileData").execute()}const Xu=Object.freeze(Object.defineProperty({__proto__:null,down:Hu,up:Yu},Symbol.toStringTag,{value:"Module"}));async function Zu(t){await t.schema.createIndex("users_linked_to_index").on("users").column("linked_to").execute()}async function ec(t){await t.schema.dropIndex("users_linked_to_index")}const tc=Object.freeze(Object.defineProperty({__proto__:null,down:ec,up:Zu},Symbol.toStringTag,{value:"Module"}));async function nc(t){await t.schema.alterTable("users").addColumn("locale","varchar(255)").execute()}async function ac(t){await t.schema.alterTable("users").dropColumn("locale").execute()}const rc=Object.freeze(Object.defineProperty({__proto__:null,down:ac,up:nc},Symbol.toStringTag,{value:"Module"}));async function oc(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 ic(t){await t.schema.dropTable("keys").execute()}const sc=Object.freeze(Object.defineProperty({__proto__:null,down:ic,up:oc},Symbol.toStringTag,{value:"Module"}));async function uc(t){}async function cc(t){}const lc=Object.freeze(Object.defineProperty({__proto__:null,down:cc,up:uc},Symbol.toStringTag,{value:"Module"}));async function dc(t){}async function _c(t){}const mc=Object.freeze(Object.defineProperty({__proto__:null,down:_c,up:dc},Symbol.toStringTag,{value:"Module"}));async function hc(t){await t.schema.alterTable("otps").addColumn("audience","varchar(255)").execute()}async function fc(t){await t.schema.alterTable("otps").dropColumn("audience").execute()}const pc=Object.freeze(Object.defineProperty({__proto__:null,down:fc,up:hc},Symbol.toStringTag,{value:"Module"}));async function gc(t){}async function yc(t){}const wc=Object.freeze(Object.defineProperty({__proto__:null,down:yc,up:gc},Symbol.toStringTag,{value:"Module"}));async function Nc(t){await t.schema.alterTable("logs").dropColumn("category").execute()}async function vc(t){await t.schema.alterTable("logs").addColumn("category","varchar(255)",e=>e.notNull()).execute()}const Cc=Object.freeze(Object.defineProperty({__proto__:null,down:vc,up:Nc},Symbol.toStringTag,{value:"Module"}));async function xc(t){await t.schema.alterTable("users").dropColumn("tags").execute()}async function bc(t){await t.schema.alterTable("users").addColumn("tags","varchar(255)").execute()}const Oc=Object.freeze(Object.defineProperty({__proto__:null,down:bc,up:xc},Symbol.toStringTag,{value:"Module"}));async function Tc(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 Sc(t){await t.schema.dropIndex("logs_user_id"),await t.schema.dropIndex("logs_tenant_id"),await t.schema.dropIndex("logs_date")}const kc=Object.freeze(Object.defineProperty({__proto__:null,down:Sc,up:Tc},Symbol.toStringTag,{value:"Module"}));async function Ic(t){await t.schema.alterTable("logs").dropColumn("details").execute(),await t.schema.alterTable("logs").addColumn("details","varchar(8192)").execute()}async function Ec(t){await t.schema.alterTable("logs").dropColumn("details").execute(),await t.schema.alterTable("logs").addColumn("details","varchar(2048)").execute()}const Ac=Object.freeze(Object.defineProperty({__proto__:null,down:Ec,up:Ic},Symbol.toStringTag,{value:"Module"}));async function $c(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 Pc(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 Dc=Object.freeze(Object.defineProperty({__proto__:null,down:Pc,up:$c},Symbol.toStringTag,{value:"Module"}));async function zc(t){await t.schema.createIndex("users_name_index").on("users").column("name").execute()}async function Rc(t){await t.schema.dropIndex("users_name_index").execute()}const Fc=Object.freeze(Object.defineProperty({__proto__:null,down:Rc,up:zc},Symbol.toStringTag,{value:"Module"}));async function jc(t){}async function Lc(t){await t.schema.alterTable("users").dropConstraint("unique_email_provider").execute()}const Mc=Object.freeze(Object.defineProperty({__proto__:null,down:Lc,up:jc},Symbol.toStringTag,{value:"Module"}));async function Jc(t){await t.schema.alterTable("otps").dropColumn("state").execute(),await t.schema.alterTable("otps").addColumn("state","varchar(8192)").execute()}async function qc(t){await t.schema.alterTable("otps").dropColumn("state").execute(),await t.schema.alterTable("otps").addColumn("state","varchar(1024)").execute()}const Bc=Object.freeze(Object.defineProperty({__proto__:null,down:qc,up:Jc},Symbol.toStringTag,{value:"Module"}));async function Wc(t){await t.schema.alterTable("tickets").dropColumn("state").execute(),await t.schema.alterTable("tickets").addColumn("state","varchar(8192)").execute()}async function Kc(t){await t.schema.alterTable("tickets").dropColumn("state").execute(),await t.schema.alterTable("tickets").addColumn("state","varchar(1024)").execute()}const Uc=Object.freeze(Object.defineProperty({__proto__:null,down:Kc,up:Wc},Symbol.toStringTag,{value:"Module"}));async function Qc(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 Vc(t){await t.schema.dropTable("branding").execute()}const Gc=Object.freeze(Object.defineProperty({__proto__:null,down:Vc,up:Qc},Symbol.toStringTag,{value:"Module"}));async function Yc(t){}async function Hc(t){}const Xc=Object.freeze(Object.defineProperty({__proto__:null,down:Hc,up:Yc},Symbol.toStringTag,{value:"Module"}));async function Zc(t){}async function el(t){}const tl=Object.freeze(Object.defineProperty({__proto__:null,down:el,up:Zc},Symbol.toStringTag,{value:"Module"}));async function nl(t){}async function al(t){}const rl=Object.freeze(Object.defineProperty({__proto__:null,down:al,up:nl},Symbol.toStringTag,{value:"Module"}));async function ol(t){}async function il(t){}const sl=Object.freeze(Object.defineProperty({__proto__:null,down:il,up:ol},Symbol.toStringTag,{value:"Module"}));async function ul(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 cl(t){await t.schema.dropTable("authentication_codes").execute()}const ll=Object.freeze(Object.defineProperty({__proto__:null,down:cl,up:ul},Symbol.toStringTag,{value:"Module"}));async function dl(t){}async function _l(t){}const ml=Object.freeze(Object.defineProperty({__proto__:null,down:_l,up:dl},Symbol.toStringTag,{value:"Module"}));async function hl(t){await t.schema.alterTable("otps").addColumn("ip","varchar(64)").execute()}async function fl(t){await t.schema.alterTable("otps").dropColumn("ip").execute()}const pl=Object.freeze(Object.defineProperty({__proto__:null,down:fl,up:hl},Symbol.toStringTag,{value:"Module"}));async function gl(t){await t.schema.alterTable("logs").dropColumn("user_agent").execute(),await t.schema.alterTable("logs").addColumn("user_agent","varchar(1024)").execute()}async function yl(t){await t.schema.alterTable("logs").dropColumn("user_agent").execute(),await t.schema.alterTable("logs").addColumn("user_agent","varchar(255)").execute()}const wl=Object.freeze(Object.defineProperty({__proto__:null,down:yl,up:gl},Symbol.toStringTag,{value:"Module"}));async function Nl(t){}async function vl(t){}const Cl=Object.freeze(Object.defineProperty({__proto__:null,down:vl,up:Nl},Symbol.toStringTag,{value:"Module"}));async function xl(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 bl(t){await t.schema.dropTable("hooks").execute()}const Ol=Object.freeze(Object.defineProperty({__proto__:null,down:bl,up:xl},Symbol.toStringTag,{value:"Module"}));async function Tl(t){}async function Sl(t){}const kl=Object.freeze(Object.defineProperty({__proto__:null,down:Sl,up:Tl},Symbol.toStringTag,{value:"Module"}));async function Il(t){}async function El(t){}const Al=Object.freeze(Object.defineProperty({__proto__:null,down:El,up:Il},Symbol.toStringTag,{value:"Module"}));async function $l(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 Pl(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 Dl=Object.freeze(Object.defineProperty({__proto__:null,down:Pl,up:$l},Symbol.toStringTag,{value:"Module"}));async function zl(t){}async function Rl(t){}const Fl=Object.freeze(Object.defineProperty({__proto__:null,down:Rl,up:zl},Symbol.toStringTag,{value:"Module"}));async function jl(t){await t.schema.alterTable("logins").addColumn("auth0Client","varchar(256)").execute()}async function Ll(t){await t.schema.alterTable("logins").dropColumn("auth0Client").execute()}const Ml=Object.freeze(Object.defineProperty({__proto__:null,down:Ll,up:jl},Symbol.toStringTag,{value:"Module"}));async function Jl(t){await t.schema.alterTable("logins").dropColumn("authParams_state").execute(),await t.schema.alterTable("logins").addColumn("authParams_state","varchar(8192)").execute()}async function ql(t){await t.schema.alterTable("logins").dropColumn("authParams_state").execute(),await t.schema.alterTable("logins").addColumn("authParams_state","varchar(511)").execute()}const Bl=Object.freeze(Object.defineProperty({__proto__:null,down:ql,up:Jl},Symbol.toStringTag,{value:"Module"}));async function Wl(t){}async function Kl(t){}const Ul=Object.freeze(Object.defineProperty({__proto__:null,down:Kl,up:Wl},Symbol.toStringTag,{value:"Module"}));async function Ql(t){}async function Vl(t){}const Gl=Object.freeze(Object.defineProperty({__proto__:null,down:Vl,up:Ql},Symbol.toStringTag,{value:"Module"}));async function Yl(t){await t.schema.alterTable("logins").addColumn("authParams_nonce","varchar(255)").execute()}async function Hl(t){await t.schema.alterTable("logins").dropColumn("nonce").execute()}const Xl=Object.freeze(Object.defineProperty({__proto__:null,down:Hl,up:Yl},Symbol.toStringTag,{value:"Module"}));async function Zl(t){}async function ed(t){}const td=Object.freeze(Object.defineProperty({__proto__:null,down:ed,up:Zl},Symbol.toStringTag,{value:"Module"}));async function nd(t){}async function ad(t){}const rd=Object.freeze(Object.defineProperty({__proto__:null,down:ad,up:nd},Symbol.toStringTag,{value:"Module"}));async function od(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 id(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 sd=Object.freeze(Object.defineProperty({__proto__:null,down:id,up:od},Symbol.toStringTag,{value:"Module"}));async function ud(t){await t.schema.dropTable("otps").execute(),await t.schema.dropTable("authentication_codes").execute()}async function cd(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 ld=Object.freeze(Object.defineProperty({__proto__:null,down:cd,up:ud},Symbol.toStringTag,{value:"Module"}));async function dd(t){await t.schema.createIndex("IDX_logs_tenant_date_type_user").on("logs").columns(["tenant_id","date","type","user_id"]).execute()}async function _d(t){await t.schema.dropIndex("IDX_logs_tenant_date_type_user").on("logs").execute()}const md=Object.freeze(Object.defineProperty({__proto__:null,down:_d,up:dd},Symbol.toStringTag,{value:"Module"}));async function hd(t){}async function fd(t){}const pd=Object.freeze(Object.defineProperty({__proto__:null,down:fd,up:hd},Symbol.toStringTag,{value:"Module"}));async function gd(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 yd(t){await t.schema.dropTable("prompt_settings").execute()}const wd=Object.freeze(Object.defineProperty({__proto__:null,down:yd,up:gd},Symbol.toStringTag,{value:"Module"}));async function Nd(t){}async function vd(t){}const Cd=Object.freeze(Object.defineProperty({__proto__:null,down:vd,up:Nd},Symbol.toStringTag,{value:"Module"}));async function xd(t){}async function bd(t){}const Od=Object.freeze(Object.defineProperty({__proto__:null,down:bd,up:xd},Symbol.toStringTag,{value:"Module"}));async function Td(t){}async function Sd(t){}const kd=Object.freeze(Object.defineProperty({__proto__:null,down:Sd,up:Td},Symbol.toStringTag,{value:"Module"}));async function Id(t){await t.schema.alterTable("logins").addColumn("authParams_ui_locales","varchar(32)").execute()}async function Ed(t){await t.schema.alterTable("logins").dropColumn("authParams_ui_locales").execute()}const Ad=Object.freeze(Object.defineProperty({__proto__:null,down:Ed,up:Id},Symbol.toStringTag,{value:"Module"}));async function $d(t){await t.schema.alterTable("logins").addColumn("authParams_prompt","varchar(16)").execute()}async function Pd(t){await t.schema.alterTable("logins").dropColumn("authParams_prompt").execute()}const Dd=Object.freeze(Object.defineProperty({__proto__:null,down:Pd,up:$d},Symbol.toStringTag,{value:"Module"}));async function zd(t){}async function Rd(t){}const Fd=Object.freeze(Object.defineProperty({__proto__:null,down:Rd,up:zd},Symbol.toStringTag,{value:"Module"}));async function jd(t){await t.schema.alterTable("logins").addColumn("authParams_act_as","varchar(255)").execute()}async function Ld(t){await t.schema.alterTable("logins").dropColumn("authParam_act_as").execute()}const Md=Object.freeze(Object.defineProperty({__proto__:null,down:Ld,up:jd},Symbol.toStringTag,{value:"Module"}));async function Jd(t){await t.schema.alterTable("codes").addColumn("code_verifier","varchar(128)").execute()}async function qd(t){await t.schema.alterTable("codes").dropColumn("code_verifier").execute()}const Bd=Object.freeze(Object.defineProperty({__proto__:null,down:qd,up:Jd},Symbol.toStringTag,{value:"Module"}));async function Wd(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 Kd(t){await t.schema.dropTable("email_providers").execute()}const Ud=Object.freeze(Object.defineProperty({__proto__:null,down:Kd,up:Wd},Symbol.toStringTag,{value:"Module"}));async function Qd(t){await t.schema.dropTable("tickets").execute()}async function Vd(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 Gd=Object.freeze(Object.defineProperty({__proto__:null,down:Vd,up:Qd},Symbol.toStringTag,{value:"Module"}));async function Yd(t){}async function Hd(t){await t.schema.alterTable("logins").dropColumn("ip").dropColumn("useragent").execute()}const Xd=Object.freeze(Object.defineProperty({__proto__:null,down:Hd,up:Yd},Symbol.toStringTag,{value:"Module"}));async function Zd(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 e_(t){await t.schema.dropTable("refresh_tokens").execute()}const t_=Object.freeze(Object.defineProperty({__proto__:null,down:e_,up:Zd},Symbol.toStringTag,{value:"Module"}));async function n_(t){}async function a_(t){}const r_=Object.freeze(Object.defineProperty({__proto__:null,down:a_,up:n_},Symbol.toStringTag,{value:"Module"}));async function o_(t){await t.schema.dropTable("sessions").execute(),await t.schema.dropTable("refresh_tokens").execute()}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("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 s_=Object.freeze(Object.defineProperty({__proto__:null,down:i_,up:o_},Symbol.toStringTag,{value:"Module"}));async function u_(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 c_(t){await t.schema.dropTable("sessions_2").execute(),await t.schema.dropTable("refresh_tokens_2").execute()}const l_=Object.freeze(Object.defineProperty({__proto__:null,down:c_,up:u_},Symbol.toStringTag,{value:"Module"}));async function d_(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 __(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 m_=Object.freeze(Object.defineProperty({__proto__:null,down:__,up:d_},Symbol.toStringTag,{value:"Module"}));async function h_(t){}async function f_(t){await t.schema.alterTable("logins").dropColumn("authParams_organization").dropColumn("authorization_url").execute()}const p_=Object.freeze(Object.defineProperty({__proto__:null,down:f_,up:h_},Symbol.toStringTag,{value:"Module"}));async function g_(t){await t.schema.alterTable("logins").dropColumn("authorization_url").execute(),await t.schema.alterTable("logins").addColumn("authorization_url","varchar(2048)").execute()}async function y_(t){await t.schema.alterTable("logins").dropColumn("authorization_url").execute(),await t.schema.alterTable("logins").addColumn("authorization_url","varchar(1024)").execute()}const w_=Object.freeze(Object.defineProperty({__proto__:null,down:y_,up:g_},Symbol.toStringTag,{value:"Module"}));async function N_(t){}async function v_(t){}const C_=Object.freeze(Object.defineProperty({__proto__:null,down:v_,up:N_},Symbol.toStringTag,{value:"Module"}));async function x_(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 b_(t){await t.schema.dropTable("sessions").execute(),await t.schema.dropTable("login_sessions").execute(),await t.schema.dropTable("refresh_tokens").execute()}const O_=Object.freeze(Object.defineProperty({__proto__:null,down:b_,up:x_},Symbol.toStringTag,{value:"Module"}));async function T_(t){await t.schema.dropTable("logins").execute(),await t.schema.dropTable("sessions_2").execute(),await t.schema.dropTable("refresh_tokens_2").execute()}async function S_(t){}const k_=Object.freeze(Object.defineProperty({__proto__:null,down:S_,up:T_},Symbol.toStringTag,{value:"Module"}));async function I_(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 E_(t){}const A_=Object.freeze(Object.defineProperty({__proto__:null,down:E_,up:I_},Symbol.toStringTag,{value:"Module"}));async function $_(t){}async function P_(t){await t.schema.alterTable("users").dropColumn("phone_number").dropColumn("phone_verified").dropColumn("username").execute()}const D_=Object.freeze(Object.defineProperty({__proto__:null,down:P_,up:$_},Symbol.toStringTag,{value:"Module"}));async function z_(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 R_(t){await t.schema.dropTable("forms").execute()}const F_=Object.freeze(Object.defineProperty({__proto__:null,down:R_,up:z_},Symbol.toStringTag,{value:"Module"}));async function j_(t){await t.schema.alterTable("hooks").addColumn("form_id","text").execute(),await t.schema.alterTable("hooks").addColumn("url_tmp","varchar(512)").execute(),await t.updateTable("hooks").set(e=>({url_tmp:e.ref("url")})).execute(),await t.schema.alterTable("hooks").dropColumn("url").execute(),await t.schema.alterTable("hooks").renameColumn("url_tmp","url").execute()}async function L_(t){await t.schema.dropTable("hooks").ifExists().execute(),await t.schema.createTable("hooks").addColumn("hook_id","text",e=>e.primaryKey()).addColumn("tenant_id","text",e=>e.notNull()).addColumn("trigger_id","text",e=>e.notNull()).addColumn("enabled","integer",e=>e.notNull().defaultTo(0)).addColumn("url","varchar(512)",e=>e.notNull()).addColumn("synchronous","integer",e=>e.notNull().defaultTo(0)).addColumn("priority","integer").addColumn("created_at","text",e=>e.notNull()).addColumn("updated_at","text",e=>e.notNull()).execute()}const M_=Object.freeze(Object.defineProperty({__proto__:null,down:L_,up:j_},Symbol.toStringTag,{value:"Module"}));async function J_(t){await t.schema.alterTable("login_sessions").addColumn("login_completed","boolean",e=>e.notNull().defaultTo(0)).execute()}async function q_(t){await t.schema.alterTable("login_sessions").dropColumn("login_completed").execute()}const B_=Object.freeze(Object.defineProperty({__proto__:null,down:q_,up:J_},Symbol.toStringTag,{value:"Module"}));async function W_(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 U_=Object.freeze(Object.defineProperty({__proto__:null,down:K_,up:W_},Symbol.toStringTag,{value:"Module"}));async function Q_(t){await t.schema.createIndex("IDX_sessions_login_session_id").on("sessions").column("login_session_id").execute()}async function V_(t){await t.schema.dropIndex("IDX_sessions_login_session_id").on("sessions").execute()}const G_=Object.freeze(Object.defineProperty({__proto__:null,down:V_,up:Q_},Symbol.toStringTag,{value:"Module"}));async function Y_(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 H_(t){await t.schema.alterTable("codes").dropColumn("code_challenge").execute(),await t.schema.alterTable("codes").dropColumn("code_challenge_method").execute()}const X_=Object.freeze(Object.defineProperty({__proto__:null,down:H_,up:Y_},Symbol.toStringTag,{value:"Module"}));async function Z_(t){await t.schema.alterTable("codes").addColumn("redirect_uri","varchar(1024)").execute()}async function em(t){await t.schema.alterTable("codes").dropColumn("redirect_uri").execute()}const tm=Object.freeze(Object.defineProperty({__proto__:null,down:em,up:Z_},Symbol.toStringTag,{value:"Module"}));async function nm(t){await t.schema.alterTable("codes").addColumn("nonce","varchar(1024)").execute(),await t.schema.alterTable("codes").addColumn("state","varchar(2048)").execute()}async function am(t){await t.schema.alterTable("codes").dropColumn("nonce").execute(),await t.schema.alterTable("codes").dropColumn("state").execute()}const rm=Object.freeze(Object.defineProperty({__proto__:null,down:am,up:nm},Symbol.toStringTag,{value:"Module"}));async function om(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 im(t){await t.schema.dropTable("themes").execute()}const sm=Object.freeze(Object.defineProperty({__proto__:null,down:im,up:om},Symbol.toStringTag,{value:"Module"}));async function um(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 cm(t){await t.schema.dropTable("roles").execute(),await t.schema.dropTable("resource_servers").execute()}const lm=Object.freeze(Object.defineProperty({__proto__:null,down:cm,up:um},Symbol.toStringTag,{value:"Module"}));async function dm(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 _m(t){await t.schema.dropTable("user_permissions").execute(),await t.schema.dropTable("role_permissions").execute()}const mm=Object.freeze(Object.defineProperty({__proto__:null,down:_m,up:dm},Symbol.toStringTag,{value:"Module"}));async function hm(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 fm(t){await t.schema.dropTable("user_roles").execute()}const pm=Object.freeze(Object.defineProperty({__proto__:null,down:fm,up:hm},Symbol.toStringTag,{value:"Module"}));async function gm(t){}async function ym(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 wm=Object.freeze(Object.defineProperty({__proto__:null,down:ym,up:gm},Symbol.toStringTag,{value:"Module"}));async function Nm(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 vm(t){await t.schema.dropTable("organizations").execute()}const Cm=Object.freeze(Object.defineProperty({__proto__:null,down:vm,up:Nm},Symbol.toStringTag,{value:"Module"}));async function xm(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 bm(t){await t.schema.dropTable("user_organizations").execute()}const Om=Object.freeze(Object.defineProperty({__proto__:null,down:bm,up:xm},Symbol.toStringTag,{value:"Module"}));async function Tm(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 Sm(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 km=Object.freeze(Object.defineProperty({__proto__:null,down:Sm,up:Tm},Symbol.toStringTag,{value:"Module"}));async function Im(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 Em(t){await t.schema.dropTable("clients").execute()}const Am=Object.freeze(Object.defineProperty({__proto__:null,down:Em,up:Im},Symbol.toStringTag,{value:"Module"}));async function ja(t){try{return await g`SELECT VERSION()`.execute(t),"mysql"}catch{return"sqlite"}}async function $m(t){await ja(t)==="mysql"?await Pm(t):await Dm(t)}async function Pm(t){await t.transaction().execute(async e=>{const n=await g`
|
|
1
|
+
"use strict";var Ja=Object.defineProperty;var bn=t=>{throw TypeError(t)};var qa=(t,e,n)=>e in t?Ja(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var se=(t,e,n)=>qa(t,typeof e!="symbol"?e+"":e,n),Qt=(t,e,n)=>e.has(t)||bn("Cannot "+n);var i=(t,e,n)=>(Qt(t,e,"read from private field"),n?n.call(t):e.get(t)),C=(t,e,n)=>e.has(t)?bn("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,n),b=(t,e,n,a)=>(Qt(t,e,"write to private field"),a?a.call(t,n):e.set(t,n),n),w=(t,e,n)=>(Qt(t,e,"access private method"),n);Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const J=require("@authhero/adapter-interfaces");require("@hono/zod-openapi");var tt=class extends Error{constructor(e=500,n){super(n==null?void 0:n.message,{cause:n==null?void 0:n.cause});se(this,"res");se(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 Ba(t){return async(e,n)=>{const{identities:a,...r}=n,o={...r,login_count:r.login_count??0,created_at:new Date().toISOString(),updated_at:new Date().toISOString(),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 tt(409,{message:"User already exists"}):new tt(500,{message:`${u.code}, ${u.message}`})}return{...o,email:o.email||"",email_verified:o.email_verified===1,is_social:o.is_social===1}}}function T(t){if(t==null||typeof t!="object")return t;if(Array.isArray(t))return t.map(n=>n!==null&&typeof n=="object"?T(n):n);const e={...t};for(const n in e){const a=e[n];a===null?delete e[n]:a!==null&&typeof a=="object"&&(Array.isArray(a)?e[n]=a.map(r=>r!==null&&typeof r=="object"?T(r):r):e[n]=T(a))}return e}function Qn(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:J.parseUserId(t.user_id).id,isSocial:!!t.is_social,profileData:{email:t.email,email_verified:!!t.email_verified,...e}}}function Wa(t){return async(e,n)=>{const[a,r]=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(!a)return null;const{tenant_id:o,...u}=a,c={...u,email:a.email||"",email_verified:a.email_verified===1,is_social:a.is_social===1,app_metadata:JSON.parse(a.app_metadata),user_metadata:JSON.parse(a.user_metadata),identities:[{connection:a.connection,provider:a.provider,user_id:J.parseUserId(a.user_id).id,isSocial:!!a.is_social},...r.map(Qn)]};return T(c)}}function q(t,e,n,a){const r=[];let o="",u=!1;for(let d=0;d<n.length;d++){const h=n[d];h==='"'?(u=!u,o+=h):h===" "&&!u?o.trim()&&(r.push(o.trim()),o=""):o+=h}return o.trim()&&r.push(o.trim()),r.map(d=>d.replace(/^([^:]+)=/g,"$1:")).map(d=>{let h=d.startsWith("-"),p=null,l="",y=!1,f;if(d.startsWith("-_exists_:"))p=d.substring(10),y=!0,h=!0;else if(d.startsWith("_exists_:"))p=d.substring(9),y=!0,h=!1;else if(d.includes(":")){const N=h?d.substring(1):d,x=N.indexOf(":");p=N.substring(0,x),l=N.substring(x+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=d,y=!1;return{key:p,value:l,isNegation:h,isExistsQuery:y,operator:f}}).forEach(({key:d,value:h,isNegation:p,isExistsQuery:l,operator:y})=>{if(d)if(l)p?e=e.where(d,"is",null):e=e.where(d,"is not",null);else if(p)switch(y){case">":e=e.where(d,"<=",h);break;case">=":e=e.where(d,"<",h);break;case"<":e=e.where(d,">=",h);break;case"<=":e=e.where(d,">",h);break;default:e=e.where(d,"!=",h)}else e=e.where(d,y,h);else if(h){const{ref:f}=t.dynamic;e=e.where(N=>N.or(a.map(x=>N(f(x),"like",`%${h}%`))))}}),e}function j(t){return typeof t=="string"?parseInt(t,10):typeof t=="bigint"?Number(t):t}function Ka(t){return async(e,n={})=>{const{page:a=0,per_page:r=50,include_totals:o=!1,sort:u,q:c}=n;let d=t.selectFrom("users").where("users.tenant_id","=",e);if(c&&(d=q(t,d,c,["email","name","phone_number"])),u&&u.sort_by){const{ref:x}=t.dynamic;d=d.orderBy(x(u.sort_by),u.sort_order)}const p=await d.offset(a*r).limit(r).selectAll().execute(),l=p.map(x=>x.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(x=>{const E=y.filter(z=>z.linked_to===x.user_id);return T({...x,email_verified:x.email_verified===1,is_social:x.is_social===1,app_metadata:JSON.parse(x.app_metadata),user_metadata:JSON.parse(x.user_metadata),identities:[{connection:x.connection,provider:x.provider,user_id:J.parseUserId(x.user_id).id,isSocial:!!x.is_social},...E.map(Qn)]})});if(!o)return{users:f,start:0,limit:0,length:0};const{count:N}=await d.select(x=>x.fn.countAll().as("count")).executeTakeFirstOrThrow();return{users:f,start:a*r,limit:r,length:j(N)}}}function Ua(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 at(t,e="",n={}){for(let a in t)if(Object.prototype.hasOwnProperty.call(t,a)){const r=e?`${e}_${a}`:a,o=t[a];typeof o=="object"&&o!==null&&!Array.isArray(o)?at(o,r,n):typeof o=="boolean"?n[r]=o?1:0:n[r]=o}return n}function Vn(t,e){const n={};for(const[a,r]of Object.entries(t)){const o=e.find(u=>a.startsWith(`${u}_`));if(!o)n[a]=r;else{const u=a.slice(o.length+1);n[o]={...n[o],[u]:r}}}return n}function Qa(t){return async(e,n,a)=>{const r=at({...a,updated_at:new Date().toISOString(),app_metadata:a.app_metadata?JSON.stringify(a.app_metadata):void 0,user_metadata:a.user_metadata?JSON.stringify(a.user_metadata):void 0});return(await t.updateTable("users").set(r).where("users.tenant_id","=",e).where("users.user_id","=",n).execute()).length===1}}function Va(t){return async(e,n,a,r)=>{const o={linked_to:null};return(await t.updateTable("users").set(o).where("users.tenant_id","=",e).where("users.user_id","=",`${a}|${r}`).where("users.linked_to","=",`${n}`).execute()).length===1}}function Ga(t){return{create:Ba(t),remove:Ua(t),get:Wa(t),list:Ka(t),update:Qa(t),unlink:Va(t)}}const Ya="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";let Ha=t=>crypto.getRandomValues(new Uint8Array(t)),Xa=(t,e,n)=>{let a=(2<<Math.log2(t.length-1))-1,r=-~(1.6*a*e/t.length);return(o=e)=>{let u="";for(;;){let c=n(r),d=r|0;for(;d--;)if(u+=t[c[d]&a]||"",u.length>=o)return u}}},Za=(t,e=21)=>Xa(t,e|0,Ha),H=(t=21)=>{let e="",n=crypto.getRandomValues(new Uint8Array(t|=0));for(;t--;)e+=Ya[n[t]&63];return e};function vt(t,e,n={...t}){for(const a of e)t[a]!==void 0&&(n[a]=JSON.stringify(t[a]));return n}function Gn(t,e,n=t){for(const a of e)t[a]!==void 0&&(n[a]=t[a]?1:0)}function er(t){const e={};for(const n in t)t[n]!==void 0&&t[n]!==null&&(e[n]=t[n]);return e}function Yn(t){const e={...t};return t.session_cookie&&typeof t.session_cookie=="string"&&(e.session_cookie=JSON.parse(t.session_cookie)),t.enabled_locales&&typeof t.enabled_locales=="string"&&(e.enabled_locales=JSON.parse(t.enabled_locales)),t.error_page&&typeof t.error_page=="string"&&(e.error_page=JSON.parse(t.error_page)),t.flags&&typeof t.flags=="string"&&(e.flags=JSON.parse(t.flags)),t.sandbox_versions_available&&typeof t.sandbox_versions_available=="string"&&(e.sandbox_versions_available=JSON.parse(t.sandbox_versions_available)),t.change_password&&typeof t.change_password=="string"&&(e.change_password=JSON.parse(t.change_password)),t.guardian_mfa_page&&typeof t.guardian_mfa_page=="string"&&(e.guardian_mfa_page=JSON.parse(t.guardian_mfa_page)),t.sessions&&typeof t.sessions=="string"&&(e.sessions=JSON.parse(t.sessions)),t.oidc_logout&&typeof t.oidc_logout=="string"&&(e.oidc_logout=JSON.parse(t.oidc_logout)),t.device_flow&&typeof t.device_flow=="string"&&(e.device_flow=JSON.parse(t.device_flow)),t.default_token_quota&&typeof t.default_token_quota=="string"&&(e.default_token_quota=JSON.parse(t.default_token_quota)),t.allowed_logout_urls&&typeof t.allowed_logout_urls=="string"&&(e.allowed_logout_urls=JSON.parse(t.allowed_logout_urls)),t.acr_values_supported&&typeof t.acr_values_supported=="string"&&(e.acr_values_supported=JSON.parse(t.acr_values_supported)),t.mtls&&typeof t.mtls=="string"&&(e.mtls=JSON.parse(t.mtls)),t.allow_organization_name_in_authentication_api!==void 0&&(e.allow_organization_name_in_authentication_api=t.allow_organization_name_in_authentication_api===1),t.customize_mfa_in_postlogin_action!==void 0&&(e.customize_mfa_in_postlogin_action=t.customize_mfa_in_postlogin_action===1),t.pushed_authorization_requests_supported!==void 0&&(e.pushed_authorization_requests_supported=t.pushed_authorization_requests_supported===1),t.authorization_response_iss_parameter_supported!==void 0&&(e.authorization_response_iss_parameter_supported=t.authorization_response_iss_parameter_supported===1),T(e)}function Hn(t){const e={...t};return vt(t,["session_cookie","enabled_locales","error_page","flags","sandbox_versions_available","change_password","guardian_mfa_page","sessions","oidc_logout","device_flow","default_token_quota","allowed_logout_urls","acr_values_supported","mtls"],e),t.allow_organization_name_in_authentication_api!==void 0&&(e.allow_organization_name_in_authentication_api=t.allow_organization_name_in_authentication_api?1:0),t.customize_mfa_in_postlogin_action!==void 0&&(e.customize_mfa_in_postlogin_action=t.customize_mfa_in_postlogin_action?1:0),t.pushed_authorization_requests_supported!==void 0&&(e.pushed_authorization_requests_supported=t.pushed_authorization_requests_supported?1:0),t.authorization_response_iss_parameter_supported!==void 0&&(e.authorization_response_iss_parameter_supported=t.authorization_response_iss_parameter_supported?1:0),er(e)}function tr(t){return async e=>{const n={id:e.id||H(),created_at:new Date().toISOString(),updated_at:new Date().toISOString(),...e},a=Hn(n);return await t.insertInto("tenants").values(a).execute(),n}}function nr(t){return async e=>{const n=await t.selectFrom("tenants").where("tenants.id","=",e).selectAll().executeTakeFirst();return n?Yn(n):null}}function ar(t){return async e=>{let n=t.selectFrom("tenants");const{page:a=0,per_page:r=50,include_totals:o=!1,sort:u,q:c}=e;if(u&&u.sort_by){const{ref:f}=t.dynamic;n=n.orderBy(f(u.sort_by),u.sort_order)}c&&(n=n.where(f=>f.or([f("friendly_name","like",`%${c}%`)])));const p=(await n.offset(a*r).limit(r).selectAll().execute()).map(Yn);if(!o)return{tenants:p};const{count:l}=await n.select(f=>f.fn.countAll().as("count")).executeTakeFirstOrThrow(),y=j(l);return{tenants:p,start:a*r,limit:r,length:y}}}function rr(t){return async(e,n)=>{const r={...Hn(n),id:e,updated_at:new Date().toISOString()};await t.updateTable("tenants").set(r).where("id","=",e).execute()}}function or(t){return async e=>(await t.deleteFrom("tenants").where("tenants.id","=",e).execute()).length===1}function ir(t){return{create:tr(t),get:nr(t),list:ar(t),update:rr(t),remove:or(t)}}function Tn(t){return t?JSON.stringify(t):void 0}const sr=1024;function ur(t){return async(e,n)=>{var o,u,c,d,h,p,l,y,f,N,x;const a=(o=n.user_agent)==null?void 0:o.slice(0,sr),r=n.log_id||H();return await t.insertInto("logs").values({...n,log_id:r,tenant_id:e,user_agent:a,description:(u=n.description)==null?void 0:u.substring(0,256),isMobile:n.isMobile?1:0,scope:n.scope,auth0_client:Tn(n.auth0_client),details:(c=Tn(n.details))==null?void 0:c.substring(0,8192),country_code:(d=n.location_info)==null?void 0:d.country_code,country_code3:(h=n.location_info)==null?void 0:h.country_code3,country_name:(p=n.location_info)==null?void 0:p.country_name,city_name:(l=n.location_info)==null?void 0:l.city_name,latitude:(y=n.location_info)==null?void 0:y.latitude,longitude:(f=n.location_info)==null?void 0:f.longitude,time_zone:(N=n.location_info)==null?void 0:N.time_zone,continent_code:(x=n.location_info)==null?void 0:x.continent_code}).execute(),{...n,log_id:r,user_agent:a}}}function On(t){if(!t)return"";try{return JSON.parse(t)}catch{return t}}function Xn(t){return{...t,client_id:t.client_id,client_name:"",auth0_client:On(t.auth0_client),details:On(t.details),isMobile:!!t.isMobile,scope:t.scope||void 0,log_id:t.log_id,location_info:t.country_code?{country_code:t.country_code,country_code3:t.country_code3||"",country_name:t.country_name||"",city_name:t.city_name||"",latitude:t.latitude||"",longitude:t.longitude||"",time_zone:t.time_zone||"",continent_code:t.continent_code||""}:void 0}}function cr(t){return async(e,n={})=>{const{page:a=0,per_page:r=50,include_totals:o=!1,sort:u,q:c}=n;let d=t.selectFrom("logs").where("logs.tenant_id","=",e);c&&(d=q(t,d,c,["user_id","ip"]));let h=d;if(u&&u.sort_by){const{ref:f}=t.dynamic;h=h.orderBy(f(u.sort_by),u.sort_order)}h=h.offset(a*r).limit(r);const l=(await h.selectAll().execute()).map(Xn);if(!o)return{logs:l,start:0,limit:0,length:0};const{count:y}=await d.select(f=>f.fn.countAll().as("count")).executeTakeFirstOrThrow();return{logs:l,start:a*r,limit:r,length:j(y)}}}function dr(t){return async(e,n)=>{const a=await t.selectFrom("logs").where("logs.tenant_id","=",e).where("logs.log_id","=",n).selectAll().executeTakeFirst();return a?Xn(a):null}}function lr(t){return{create:ur(t),list:cr(t),get:dr(t)}}function _r(t){return async(e,n)=>{const a=await t.selectFrom("sessions").where("sessions.tenant_id","=",e).where("sessions.id","=",n).selectAll().executeTakeFirst();if(!a)return null;const{tenant_id:r,device:o,clients:u,...c}=a;return{...c,device:JSON.parse(o),clients:JSON.parse(u)}}}function mr(t){return async(e,n)=>{const a={...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({...a,tenant_id:e,device:JSON.stringify(n.device),clients:JSON.stringify(n.clients)}).execute(),a}}function hr(t){return async(e,n)=>!!(await t.deleteFrom("sessions").where("tenant_id","=",e).where("sessions.id","=",n).execute()).length}function fr(t){return async(e,n,a)=>{const r={...a,updated_at:new Date().toISOString(),device:a.device?JSON.stringify(a.device):void 0,clients:a.clients?JSON.stringify(a.clients):void 0};return!!(await t.updateTable("sessions").set(r).where("tenant_id","=",e).where("sessions.id","=",n).execute()).length}}function pr(t){return async(e,n={})=>{const{page:a=0,per_page:r=50,include_totals:o=!1,sort:u,q:c}=n;let d=t.selectFrom("sessions").where("sessions.tenant_id","=",e);c&&(d=q(t,d,c,["user_id","session_id"]));let h=d;if(u&&u.sort_by){const{ref:N}=t.dynamic;h=h.orderBy(N(u.sort_by),u.sort_order)}h=h.offset(a*r).limit(r);const l=(await h.selectAll().execute()).map(N=>({...N,device:JSON.parse(N.device),clients:JSON.parse(N.clients)}));if(!o)return{sessions:l,start:0,limit:0,length:0};const{count:y}=await d.select(N=>N.fn.countAll().as("count")).executeTakeFirstOrThrow(),f=j(y);return{sessions:l,start:a*r,limit:r,length:f}}}function gr(t){return{create:mr(t),get:_r(t),list:pr(t),remove:hr(t),update:fr(t)}}function yr(t){return async(e,n)=>{const a=await t.selectFrom("passwords").where("passwords.tenant_id","=",e).where("passwords.user_id","=",n).where("passwords.is_current","=",1).selectAll().executeTakeFirst();if(!a)return null;const{tenant_id:r,...o}=a;return{...o,is_current:!!o.is_current}}}function wr(t){return async(e,n)=>{const a=n.id||crypto.randomUUID(),r=n.is_current??!0,o={id:a,...n,is_current:r,created_at:new Date().toISOString(),updated_at:new Date().toISOString()};return r&&await t.updateTable("passwords").set({is_current:0}).where("user_id","=",n.user_id).where("tenant_id","=",e).where("is_current","=",1).execute(),await t.insertInto("passwords").values({...o,is_current:o.is_current?1:0,tenant_id:e}).execute(),o}}function Nr(t){return async(e,n)=>{let a=t.updateTable("passwords").set({password:n.password,algorithm:n.algorithm,is_current:n.is_current?1:0,updated_at:new Date().toISOString()}).where("tenant_id","=",e).where("user_id","=",n.user_id);return n.id?a=a.where("id","=",n.id):a=a.where("is_current","=",1),(await a.execute()).length===1}}function vr(t){return async(e,n,a)=>{let r=t.selectFrom("passwords").where("passwords.tenant_id","=",e).where("passwords.user_id","=",n).orderBy("created_at","desc");return a&&(r=r.limit(a)),(await r.selectAll().execute()).map(({tenant_id:u,...c})=>({...c,is_current:!!c.is_current}))}}function Cr(t){return{create:wr(t),update:Nr(t),get:yr(t),list:vr(t)}}function xr(t){return async(e,n={})=>{const{page:a=0,per_page:r=50,include_totals:o=!1,q:u}=n;let c=t.selectFrom("codes").where("codes.tenant_id","=",e);u&&(c=q(t,c,u,["code","login_id"]));const p=(await c.offset(a*r).limit(r).selectAll().execute()).map(y=>{const{tenant_id:f,...N}=y;return J.codeSchema.parse(T(N))});if(!o)return{codes:p,start:0,limit:0,length:0};const{count:l}=await c.select(y=>y.fn.countAll().as("count")).executeTakeFirstOrThrow();return{codes:p,start:a*r,limit:r,length:j(l)}}}function br(t){return async(e,n)=>{const a={...n,created_at:new Date().toISOString()};return await t.insertInto("codes").values({...a,tenant_id:e}).execute(),a}}function Tr(t){return async(e,n)=>(await t.deleteFrom("codes").where("codes.tenant_id","=",e).where("codes.code_id","=",n).executeTakeFirst()).numDeletedRows>0}function Or(t){return async(e,n,a)=>{let r=t.selectFrom("codes").where("codes.code_id","=",n).where("codes.code_type","=",a);e.length&&(r=r.where("codes.tenant_id","=",e));const o=await r.selectAll().executeTakeFirst();return o?T(o):null}}function Sr(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 kr(t){return{create:br(t),list:xr(t),remove:Tr(t),used:Sr(t),get:Or(t)}}const Ir=17,Er={organization:"org_",connection:"con_",action:"act_",hook:"h_",rule:"rul_",resource_server:"api_",guardian_factor:"gfa_",invite:"inv_"};function Ct(t){const a=Za("0123456789abcdefghijklmnopqrstuvwxyz",Ir)();return`${Er[t]}${a}`}function Ar(){return Ct("organization")}function Pr(){return Ct("connection")}function $r(){return Ct("hook")}function Dr(){return Ct("resource_server")}function zr(){return Ct("invite")}function Rr(t){return async(e,n)=>{const a={id:n.id||Pr(),...n,created_at:new Date().toISOString(),updated_at:new Date().toISOString()};return await t.insertInto("connections").values({...a,options:JSON.stringify(a.options||{}),tenant_id:e}).execute(),a}}function Fr(t){return async(e,n={})=>{const{page:a=0,per_page:r=50,include_totals:o=!1,q:u}=n;let c=t.selectFrom("connections").where("connections.tenant_id","=",e);u&&(c=q(t,c,u,["user_id","ip"]));const p=(await c.offset(a*r).limit(r).selectAll().execute()).map(y=>T({...y,options:JSON.parse(y.options)}));if(!o)return{connections:p,start:0,limit:0,length:0};const{count:l}=await c.select(y=>y.fn.countAll().as("count")).executeTakeFirstOrThrow();return{connections:p,start:a*r,limit:r,length:j(l)}}}function jr(t){return async(e,n)=>(await t.deleteFrom("connections").where("connections.tenant_id","=",e).where("connections.id","=",n).executeTakeFirst()).numDeletedRows>0}function Lr(t){return async(e,n)=>{const a=await t.selectFrom("connections").where("connections.tenant_id","=",e).where("connections.id","=",n).selectAll().executeTakeFirst();return a?T({...a,options:JSON.parse(a.options)}):null}}function Mr(t){return async(e,n,a)=>{const r={...a,updated_at:new Date().toISOString()};return await t.updateTable("connections").set({...r,options:r.options?JSON.stringify(r.options):void 0}).where("connections.id","=",n).where("connections.tenant_id","=",e).execute(),!0}}function Jr(t){return{create:Rr(t),get:Lr(t),list:Fr(t),remove:jr(t),update:Mr(t)}}function qr(t){return async(e,n)=>{const a={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},r={...a,tenant_id:e};return Gn(a,["global","is_first_party","oidc_conformant","sso","sso_disabled","cross_origin_authentication","custom_login_page_on","require_pushed_authorization_requests","require_proof_of_possession"],r),Object.assign(r,{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||{})}),await t.insertInto("clients").values(r).execute(),a}}function Br(t){return async(e,n)=>{const a=await t.selectFrom("clients").where("clients.tenant_id","=",e).where("clients.client_id","=",n).selectAll().executeTakeFirst();if(!a)return null;const{tenant_id:r,...o}=a;return T({...o,global:!!a.global,is_first_party:!!a.is_first_party,oidc_conformant:!!a.oidc_conformant,sso:!!a.sso,sso_disabled:!!a.sso_disabled,cross_origin_authentication:!!a.cross_origin_authentication,custom_login_page_on:!!a.custom_login_page_on,require_pushed_authorization_requests:!!a.require_pushed_authorization_requests,require_proof_of_possession:!!a.require_proof_of_possession,callbacks:JSON.parse(a.callbacks),allowed_origins:JSON.parse(a.allowed_origins),web_origins:JSON.parse(a.web_origins),client_aliases:JSON.parse(a.client_aliases),allowed_clients:JSON.parse(a.allowed_clients),allowed_logout_urls:JSON.parse(a.allowed_logout_urls),session_transfer:JSON.parse(a.session_transfer),oidc_logout:JSON.parse(a.oidc_logout),grant_types:JSON.parse(a.grant_types),jwt_configuration:JSON.parse(a.jwt_configuration),signing_keys:JSON.parse(a.signing_keys),encryption_key:JSON.parse(a.encryption_key),addons:JSON.parse(a.addons),client_metadata:JSON.parse(a.client_metadata),mobile:JSON.parse(a.mobile),native_social_login:JSON.parse(a.native_social_login),refresh_token:JSON.parse(a.refresh_token),default_organization:JSON.parse(a.default_organization),client_authentication_methods:JSON.parse(a.client_authentication_methods),signed_request_object:JSON.parse(a.signed_request_object),token_quota:JSON.parse(a.token_quota)})}}function Wr(t){return async(e,n)=>{let a=t.selectFrom("clients").where("clients.tenant_id","=",e);return n!=null&&n.per_page&&(a=a.limit(n.per_page)),n!=null&&n.page&&(n!=null&&n.per_page)&&(a=a.offset((n.page-1)*n.per_page)),{clients:(await a.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 Kr(t){return async(e,n)=>(await t.deleteFrom("clients").where("clients.tenant_id","=",e).where("clients.client_id","=",n).executeTakeFirst()).numDeletedRows>0}function Ur(t){return async(e,n,a)=>{const r={...a,updated_at:new Date().toISOString()};return Gn(a,["global","is_first_party","oidc_conformant","sso","sso_disabled","cross_origin_authentication","custom_login_page_on","require_pushed_authorization_requests","require_proof_of_possession"],r),vt(a,["callbacks","allowed_origins","web_origins","client_aliases","allowed_clients","allowed_logout_urls","session_transfer","oidc_logout","grant_types","jwt_configuration","signing_keys","encryption_key","addons","client_metadata","mobile","native_social_login","refresh_token","default_organization","client_authentication_methods","signed_request_object","token_quota"],r),(await t.updateTable("clients").set(r).where("clients.tenant_id","=",e).where("clients.client_id","=",n).executeTakeFirst()).numUpdatedRows>0}}function Qr(t){return{create:qr(t),get:Br(t),list:Wr(t),remove:Kr(t),update:Ur(t)}}function Vr(t){return async(e,n)=>{const a=new Date().toISOString(),r=H(),{scope:o,authorization_details_types:u,...c}=n,d={id:r,tenant_id:e,...c,scope:o?JSON.stringify(o):"[]",authorization_details_types:u?JSON.stringify(u):"[]",allow_any_organization:c.allow_any_organization!==void 0?c.allow_any_organization?1:0:void 0,is_system:c.is_system!==void 0?c.is_system?1:0:void 0,created_at:a,updated_at:a};return await t.insertInto("client_grants").values(d).execute(),T({id:r,tenant_id:e,...c,scope:o||[],authorization_details_types:u||[],allow_any_organization:c.allow_any_organization??!1,is_system:c.is_system??!1,created_at:a,updated_at:a})}}function Gr(t){return async(e,n)=>{const a=await t.selectFrom("client_grants").selectAll().where("client_grants.tenant_id","=",e).where("client_grants.id","=",n).executeTakeFirst();if(!a)return null;const r={id:a.id,client_id:a.client_id,audience:a.audience,scope:a.scope?JSON.parse(a.scope):[],organization_usage:a.organization_usage,allow_any_organization:a.allow_any_organization!==void 0?!!a.allow_any_organization:!1,is_system:a.is_system!==void 0?!!a.is_system:!1,subject_type:a.subject_type,authorization_details_types:a.authorization_details_types?JSON.parse(a.authorization_details_types):[],created_at:a.created_at,updated_at:a.updated_at};return T(r)}}function Yr(t){return async(e,n={})=>{const{page:a=0,per_page:r=50,include_totals:o=!1,q:u,sort:c}=n;let d=t.selectFrom("client_grants").where("client_grants.tenant_id","=",e);if(u){const f=u.trim(),N=f.split(/\s+/),x=N.length===1?N[0]:void 0,E=x?x.match(/^(-)?([a-zA-Z_][a-zA-Z0-9_]*):"?([^"]*)"?$/):null,z=E?E[3]:"",ie=/^(>=|>|<=|<)/.test(z||"");if(E&&!ie&&z){const Q=!!E[1],Ne=E[2],{ref:xt}=t.dynamic,ve=xt(`client_grants.${Ne}`);if(Ne==="allow_any_organization"){const ot=z==="true"?1:0;Q?d=d.where(ve,"!=",ot):d=d.where(ve,"=",ot)}else Q?d=d.where(ve,"!=",z):d=d.where(ve,"=",z)}else d=q(t,d,f,[])}let h=d;if(c){const{ref:f}=t.dynamic;h=h.orderBy(f(c.sort_by),c.sort_order)}else h=h.orderBy("client_grants.created_at","desc");h=h.limit(r).offset(a*r);const l=(await h.selectAll().execute()).map(f=>{const N={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 T(N)});if(!o)return{client_grants:l,start:0,limit:0,length:0};const{count:y}=await d.select(f=>f.fn.countAll().as("count")).executeTakeFirstOrThrow();return{client_grants:l,start:a*r,limit:r,length:j(y)}}}function Hr(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 Xr(t){return async(e,n,a)=>{const r=new Date().toISOString(),{scope:o,authorization_details_types:u,...c}=a,d={...c,updated_at:r};return o!==void 0&&(d.scope=JSON.stringify(o)),u!==void 0&&(d.authorization_details_types=JSON.stringify(u)),c.allow_any_organization!==void 0&&(d.allow_any_organization=c.allow_any_organization?1:0),c.is_system!==void 0&&(d.is_system=c.is_system?1:0),((await t.updateTable("client_grants").set(d).where("client_grants.tenant_id","=",e).where("client_grants.id","=",n).executeTakeFirst()).numUpdatedRows??0n)>0n}}function Zr(t){return{create:Vr(t),get:Gr(t),list:Yr(t),remove:Hr(t),update:Xr(t)}}function eo(t){return{get:async e=>{const n=await t.selectFrom("clients").selectAll().where("client_id","=",e).executeTakeFirst();if(!n)return null;const a=await t.selectFrom("tenants").selectAll().where("id","=",n.tenant_id).executeTakeFirst();if(!a)throw new tt(404,{message:"Tenant not found"});const r=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:r.map(c=>J.connectionSchema.parse(T({...c,options:c.options?JSON.parse(c.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:T(a)}}}}function to(t){return async(e={})=>{const{page:n=0,per_page:a=100,include_totals:r=!1,sort:o,q:u}=e;let c=t.selectFrom("keys").where(f=>f.or([f("revoked_at",">",new Date().toISOString()),f("revoked_at","is",null)]));u&&(c=q(t,c,u,["kid","connection","fingerprint","thumbprint","type"]));let d=c.select(f=>f.fn.count("kid").as("count"));const h=n*a;c=c.limit(a).offset(h),o&&(c=c.orderBy(o.sort_by,o.sort_order));const p=await c.selectAll().execute();if(!r)return{signingKeys:p,start:0,limit:0,length:0};const l=await d.executeTakeFirst(),y=j((l==null?void 0:l.count)??0);return{signingKeys:p,start:h,limit:a,length:y}}}function no(t){return async e=>{await t.insertInto("keys").values({...e,created_at:new Date().toDateString()}).execute()}}function ao(t){return async(e,n)=>!!(await t.updateTable("keys").set(n).where("kid","=",e).execute()).length}function ro(t){return{create:no(t),list:to(t),update:ao(t)}}function oo(t){return async(e,n)=>{const a={custom_domain_id:H(),status:"pending",primary:!1,...n};return await t.insertInto("custom_domains").values({...a,created_at:new Date().toISOString(),updated_at:new Date().toISOString(),tenant_id:e,primary:a.primary?1:0}).execute(),a}}function io(t){return async e=>(await t.selectFrom("custom_domains").where("custom_domains.tenant_id","=",e).selectAll().execute()).map(a=>({...a,primary:a.primary===1}))}function so(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 uo(t){return async(e,n)=>{const a=await t.selectFrom("custom_domains").where("custom_domains.tenant_id","=",e).where("custom_domains.custom_domain_id","=",n).selectAll().executeTakeFirst();return a?{...a,primary:a.primary===1}:null}}function co(t){return async(e,n,a)=>{const r={...a,updated_at:new Date().toISOString(),primary:a.primary?1:0};return(await t.updateTable("custom_domains").set(r).where("custom_domains.tenant_id","=",e).where("custom_domains.custom_domain_id","=",n).execute()).length>0}}function lo(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 _o(t){return{create:oo(t),get:uo(t),getByDomain:lo(t),list:io(t),remove:so(t),update:co(t)}}function mo(t){return async e=>{const[n]=await t.selectFrom("branding").where("branding.tenant_id","=",e).selectAll().execute();if(!n)return null;const{tenant_id:a,colors_primary:r,colors_page_background_type:o,colors_page_background_start:u,colors_page_background_end:c,colors_page_background_angle_dev:d,font_url:h,...p}=n;return T({...p,colors:{primary:r,page_background:{type:o,start:u,end:c,angle_deg:d}},font:h?{url:h}:void 0})}}function ho(t){return async(e,n)=>{var u,c,d,h,p,l,y,f,N,x,E,z,ie,Q,Ne,xt,ve,ot;const{colors:a,font:r,...o}=n;try{await t.insertInto("branding").values({...o,colors_primary:a==null?void 0:a.primary,colors_page_background_type:(c=(u=n.colors)==null?void 0:u.page_background)==null?void 0:c.type,colors_page_background_start:(h=(d=n.colors)==null?void 0:d.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:(N=n.font)==null?void 0:N.url,tenant_id:e}).execute()}catch{await t.updateTable("branding").set({...o,colors_primary:a==null?void 0:a.primary,colors_page_background_type:(E=(x=n.colors)==null?void 0:x.page_background)==null?void 0:E.type,colors_page_background_start:(ie=(z=n.colors)==null?void 0:z.page_background)==null?void 0:ie.start,colors_page_background_end:(Ne=(Q=n.colors)==null?void 0:Q.page_background)==null?void 0:Ne.end,colors_page_background_angle_dev:(ve=(xt=n.colors)==null?void 0:xt.page_background)==null?void 0:ve.angle_deg,font_url:(ot=n.font)==null?void 0:ot.url}).where("tenant_id","=",e).execute()}}}function fo(t){return{get:mo(t),set:ho(t)}}function po(t){return async(e,n={})=>{const{page:a=0,per_page:r=50,include_totals:o=!1,q:u}=n;let c=t.selectFrom("hooks").where("hooks.tenant_id","=",e);u&&(c=q(t,c,u,["url","form_id"]));const p=(await c.offset(a*r).limit(r).selectAll().execute()).map(y=>{const{tenant_id:f,enabled:N,synchronous:x,...E}=y;return T({...E,enabled:!!N,synchronous:!!x})});if(!o)return{hooks:p,start:0,limit:0,length:0};const{count:l}=await c.select(y=>y.fn.countAll().as("count")).executeTakeFirstOrThrow();return{hooks:p,start:a*r,limit:r,length:j(l)}}}function go(t){return async(e,n)=>{const a=await t.selectFrom("hooks").where("hooks.tenant_id","=",e).where("hooks.hook_id","=",n).selectAll().executeTakeFirst();return a?T({...a,enabled:!!a.enabled,synchronous:!!a.synchronous}):null}}function yo(t){return async(e,n)=>(await t.deleteFrom("hooks").where("hooks.tenant_id","=",e).where("hooks.hook_id","=",n).executeTakeFirst()).numDeletedRows>0}function wo(t){return async(e,n)=>{const a={hook_id:n.hook_id||$r(),...n,created_at:new Date().toISOString(),updated_at:new Date().toISOString()};return await t.insertInto("hooks").values({...a,tenant_id:e,enabled:n.enabled?1:0,synchronous:n.synchronous?1:0}).execute(),a}}function No(t){return async(e,n,a)=>{const r={...a,updated_at:new Date().toISOString(),enabled:a.enabled!==void 0?a.enabled?1:0:void 0,synchronous:a.enabled!==void 0?a.synchronous?1:0:void 0};return await t.updateTable("hooks").set(r).where("hooks.hook_id","=",n).where("hooks.tenant_id","=",e).execute(),!0}}function vo(t){return{create:wo(t),get:go(t),list:po(t),update:No(t),remove:yo(t)}}function Co(t){return async(e,n)=>{const a={themeId:H(),created_at:new Date().toISOString(),updated_at:new Date().toISOString(),...n},r={...a,tenant_id:e};return await t.insertInto("themes").values(at(r)).execute(),a}}function xo(t){return async(e,n)=>(await t.deleteFrom("themes").where("themes.tenant_id","=",e).where("themes.themeId","=",n).executeTakeFirst()).numDeletedRows>0}function bo(t){return async(e,n)=>{const a=await t.selectFrom("themes").where("themes.tenant_id","=",e).where("themes.themeId","=",n).selectAll().executeTakeFirst();if(!a)return null;const r={...a,borders_show_widget_shadow:!!a.borders_show_widget_shadow,fonts_body_text_bold:!!a.fonts_body_text_bold,fonts_buttons_text_bold:!!a.fonts_buttons_text_bold,fonts_input_labels_bold:!!a.fonts_input_labels_bold,fonts_links_bold:!!a.fonts_links_bold,fonts_subtitle_bold:!!a.fonts_subtitle_bold,fonts_title_bold:!!a.fonts_title_bold};return T(Vn(r,["widget","colors","borders","fonts","page_background"]))}}function To(t){return async(e,n,a)=>{const r=at({...a,updated_at:new Date().toISOString()});return await t.updateTable("themes").set(r).where("themes.themeId","=",n).where("themes.tenant_id","=",e).execute(),!0}}function Oo(t){return{create:Co(t),get:bo(t),remove:xo(t),update:To(t)}}function So(t){return async(e,n)=>{const a=await t.selectFrom("login_sessions").where("login_sessions.id","=",n).selectAll().executeTakeFirst();return a?J.loginSessionSchema.parse(Vn(T({...a,login_completed:!!a.login_completed}),["authParams"])):null}}function ko(t){return async(e,n)=>{var r;const a={id:H(),...n,authorization_url:(r=n.authorization_url)==null?void 0:r.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({...at(a),tenant_id:e}).execute(),a}}function Io(t){return async(e,n,a)=>(await t.updateTable("login_sessions").set(at({...a})).where("login_sessions.id","=",n).where("login_sessions.tenant_id","=",e).execute()).length===1}function Eo(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 Ao(t){return{create:ko(t),get:So(t),update:Io(t),remove:Eo(t)}}function Po(t){return async e=>{const[n]=await t.selectFrom("prompt_settings").where("prompt_settings.tenant_id","=",e).selectAll().execute();return T({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 Sn(t){return T({...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 $o(t){return async(e,n)=>{try{const a=J.promptSettingSchema.parse(n);await t.insertInto("prompt_settings").values({...Sn(a),tenant_id:e}).execute()}catch{await t.updateTable("prompt_settings").set(Sn(n)).where("tenant_id","=",e).execute()}}}function Do(t){return{get:Po(t),set:$o(t)}}function zo(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:a,credentials:r,settings:o,enabled:u,...c}=n;return T({...c,credentials:JSON.parse(r),settings:JSON.parse(o),enabled:!!u})}}function Ro(t){return async(e,n)=>{const{credentials:a,settings:r,enabled:o,...u}=n;await t.updateTable("email_providers").set({...u,credentials:a?JSON.stringify(a):void 0,settings:r?JSON.stringify(r):void 0,enabled:o!==void 0?o?1:0:void 0}).where("tenant_id","=",e).execute()}}function Fo(t){return async(e,n)=>{const{credentials:a,settings:r,enabled:o,...u}=n;await t.insertInto("email_providers").values({...u,enabled:o?1:0,credentials:JSON.stringify(a),settings:JSON.stringify(r),tenant_id:e,created_at:new Date().toISOString(),updated_at:new Date().toISOString()}).execute()}}function jo(t){return{get:zo(t),create:Fo(t),update:Ro(t)}}function Lo(t){return async(e,n)=>{const a=await t.selectFrom("refresh_tokens").where("refresh_tokens.tenant_id","=",e).where("refresh_tokens.id","=",n).selectAll().executeTakeFirst();return a?{...a,rotating:!!a.rotating,device:a.device?JSON.parse(a.device):{},resource_servers:a.resource_servers?JSON.parse(a.resource_servers):[]}:null}}function Mo(t){return async(e,n)=>{const a={...n,created_at:new Date().toISOString()};return await t.insertInto("refresh_tokens").values({...a,tenant_id:e,rotating:n.rotating?1:0,device:JSON.stringify(n.device),resource_servers:JSON.stringify(n.resource_servers)}).execute(),{...n,...a}}}function Jo(t){return async(e,n)=>!!(await t.deleteFrom("refresh_tokens").where("tenant_id","=",e).where("refresh_tokens.id","=",n).execute()).length}function qo(t){return async(e,n,a)=>{const r={...a,device:a.device?JSON.stringify(a.device):void 0,resource_servers:a.resource_servers?JSON.stringify(a.resource_servers):void 0,rotating:a.rotating?1:0};return!!(await t.updateTable("refresh_tokens").set(r).where("tenant_id","=",e).where("refresh_tokens.id","=",n).execute()).length}}function Bo(t){return async(e,n={})=>{const{page:a=0,per_page:r=50,include_totals:o=!1,sort:u,q:c}=n;let d=t.selectFrom("refresh_tokens").where("refresh_tokens.tenant_id","=",e);c&&(d=q(t,d,c,["token","session_id"]));let h=d;if(u&&u.sort_by){const{ref:N}=t.dynamic;h=h.orderBy(N(u.sort_by),u.sort_order)}h=h.offset(a*r).limit(r);const l=(await h.selectAll().execute()).map(N=>({...N,rotating:!!N.rotating,device:N.device?JSON.parse(N.device):{},resource_servers:N.resource_servers?JSON.parse(N.resource_servers):[]}));if(!o)return{refresh_tokens:l,start:0,limit:0,length:0};const{count:y}=await d.select(N=>N.fn.countAll().as("count")).executeTakeFirstOrThrow(),f=j(y);return{refresh_tokens:l,start:a*r,limit:r,length:f}}}function Wo(t){return{create:Mo(t),get:Lo(t),list:Bo(t),remove:Jo(t),update:qo(t)}}function Ko(t){return async()=>{const e=new Date(Date.now()-864e5).toISOString(),n=new Date(Date.now()-1e3*60*60*24*7).toISOString(),a=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","<",a).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 r=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();r.length>0&&await t.deleteFrom("sessions").where("id","in",r.map(o=>o.id)).execute(),console.log("cleanup complete")}}function Uo(t){return async(e,n)=>{const a=J.formSchema.parse({id:H(),...n,created_at:new Date().toISOString(),updated_at:new Date().toISOString()});return await t.insertInto("forms").values({...a,nodes:JSON.stringify(a.nodes||[]),start:JSON.stringify(a.start||{}),ending:JSON.stringify(a.ending||{}),tenant_id:e}).execute(),J.formSchema.parse(a)}}function Qo(t){return async(e,n={})=>{const{page:a=0,per_page:r=50,include_totals:o=!1,q:u}=n;let c=t.selectFrom("forms").where("tenant_id","=",e);u&&(c=q(t,c,u,[]));const p=(await c.offset(a*r).limit(r).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 J.formSchema.parse(T(f))});if(!o)return{forms:p,start:0,limit:0,length:0};const{count:l}=await c.select(y=>y.fn.countAll().as("count")).executeTakeFirstOrThrow();return{forms:p,start:a*r,limit:r,length:j(l)}}}function Vo(t){return async(e,n)=>{const{numDeletedRows:a}=await t.deleteFrom("forms").where("id","=",n).where("tenant_id","=",e).executeTakeFirst();return a>0}}function Go(t){return async(e,n)=>{const a=await t.selectFrom("forms").selectAll().where("forms.id","=",n).where("tenant_id","=",e).executeTakeFirst();if(!a)return null;const r={...a};if(typeof r.nodes=="string")try{r.nodes=JSON.parse(r.nodes)}catch{}if(typeof r.start=="string")try{r.start=JSON.parse(r.start)}catch{}if(typeof r.ending=="string")try{r.ending=JSON.parse(r.ending)}catch{}return J.formSchema.parse(T(r))}}function Yo(t){return async(e,n,a)=>{const r={...a,updated_at:new Date().toISOString()};vt(a,["nodes","start","ending"],r);const{numUpdatedRows:o}=await t.updateTable("forms").set(r).where("id","=",n).where("tenant_id","=",e).executeTakeFirst();return o>0}}function Ho(t){return{create:Uo(t),get:Go(t),list:Qo(t),remove:Vo(t),update:Yo(t)}}function Xo(t){return async(e,n)=>{const a=new Date().toISOString(),r={id:Dr(),...n,created_at:a,updated_at:a},o=J.resourceServerSchema.parse(r),{verificationKey:u,scopes:c,options:d,skip_consent_for_verifiable_first_party_clients:h,allow_offline_access:p,...l}=o,y={...l,tenant_id:e,scopes:c?JSON.stringify(c):"[]",options:d?JSON.stringify(d):"{}",skip_consent_for_verifiable_first_party_clients:h?1:0,allow_offline_access:p?1:0,verification_key:u,created_at:a,updated_at:a};return await t.insertInto("resource_servers").values(y).execute(),T(o)}}function Zo(t){return async(e,n)=>{const a=await t.selectFrom("resource_servers").selectAll().where("tenant_id","=",e).where("id","=",n).executeTakeFirst();if(!a)return null;const r=a,{verification_key:o,scopes:u,options:c,skip_consent_for_verifiable_first_party_clients:d,allow_offline_access:h,...p}=r,l={...p,scopes:u?JSON.parse(u):[],options:c?JSON.parse(c):{},skip_consent_for_verifiable_first_party_clients:!!d,allow_offline_access:!!h,verificationKey:o};return T(l)}}function ei(t){return async(e,n={})=>{const{page:a=0,per_page:r=50,include_totals:o=!1,q:u}=n;let c=t.selectFrom("resource_servers").where("resource_servers.tenant_id","=",e);if(u){const y=u.trim(),f=y.split(/\s+/),N=f.length===1?f[0]:void 0,x=N?N.match(/^(-)?(name|identifier):(.*)$/):null,E=x?x[3]:"",z=/^(>=|>|<=|<)/.test(E||"");if(x&&!z){const ie=!!x[1],Q=x[2]==="name"?"resource_servers.name":"resource_servers.identifier";c=ie?c.where(Q,"not like",`%${E}%`):c.where(Q,"like",`%${E}%`)}else c=q(t,c,y,["resource_servers.name","resource_servers.identifier"])}const p=(await c.offset(a*r).limit(r).selectAll().execute()).map(y=>{const f=y,{verification_key:N,scopes:x,options:E,skip_consent_for_verifiable_first_party_clients:z,allow_offline_access:ie,...Q}=f,Ne={...Q,scopes:x?JSON.parse(x):[],options:E?JSON.parse(E):{},skip_consent_for_verifiable_first_party_clients:!!z,allow_offline_access:!!ie,verificationKey:N};return T(Ne)});if(!o)return{resource_servers:p,start:0,limit:0,length:0};const{count:l}=await c.select(y=>y.fn.countAll().as("count")).executeTakeFirstOrThrow();return{resource_servers:p,start:a*r,limit:r,length:j(l)}}}function ti(t){return async(e,n)=>{const a=await t.deleteFrom("resource_servers").where("tenant_id","=",e).where("id","=",n).executeTakeFirst();return Number(a.numDeletedRows)>0}}function ni(t){return async(e,n,a)=>{const{verificationKey:r,scopes:o,options:u,skip_consent_for_verifiable_first_party_clients:c,allow_offline_access:d,...h}=a,p={...h,updated_at:new Date().toISOString()};if(r!==void 0&&(p.verification_key=r),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(),N={...y!=null&&y.options?JSON.parse(y.options):{},...u};p.options=JSON.stringify(N)}c!==void 0&&(p.skip_consent_for_verifiable_first_party_clients=c?1:0),d!==void 0&&(p.allow_offline_access=d?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 ai(t){return{create:Xo(t),get:Zo(t),list:ei(t),remove:ti(t),update:ni(t)}}function ri(t){return async(e,n)=>{const a=new Date().toISOString(),r=H(),o={id:r,...n,tenant_id:e,created_at:a,updated_at:a};return await t.insertInto("roles").values(o).execute(),{id:r,...n,created_at:a,updated_at:a}}}function oi(t){return async(e,n)=>{const a=await t.selectFrom("roles").selectAll().where("roles.tenant_id","=",e).where("roles.id","=",n).executeTakeFirst();return a?{...a}:null}}function ii(t){return async(e,n)=>{let a=t.selectFrom("roles").where("roles.tenant_id","=",e);const{page:r=0,per_page:o=50,include_totals:u=!1}=n;n.q&&(a=q(t,a,n.q,["name"]));const d=await a.offset(r*o).limit(o).selectAll().execute();if(!u)return{roles:d,start:r*o,limit:o,length:d.length};const{count:h}=await a.select(p=>p.fn.countAll().as("count")).executeTakeFirstOrThrow();return{roles:d,start:r*o,limit:o,length:j(h)}}}function si(t){return async(e,n,a)=>{const r={...a,updated_at:new Date().toISOString()},o=await t.updateTable("roles").set(r).where("roles.tenant_id","=",e).where("roles.id","=",n).executeTakeFirst();return Number(o.numUpdatedRows)>0}}function ui(t){return async(e,n)=>{const a=await t.deleteFrom("roles").where("tenant_id","=",e).where("id","=",n).executeTakeFirst();return Number(a.numDeletedRows)>0}}function ci(t){return{create:ri(t),get:oi(t),list:ii(t),update:si(t),remove:ui(t)}}function di(t){return async(e,n,a)=>{if(a.length===0)return!0;const r=new Date().toISOString();try{for(const o of a){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:r};try{await t.insertInto("role_permissions").values(u).execute()}catch(c){if(c.code==="SQLITE_CONSTRAINT_PRIMARYKEY"||c.code==="SQLITE_CONSTRAINT_UNIQUE")continue;throw c}}return!0}catch(o){return console.error("Error assigning role permissions:",o),!1}}}function li(t){return async(e,n,a)=>{if(a.length===0)return!0;try{return(await Promise.all(a.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(r){return console.error("Error removing role permissions:",r),!1}}}function _i(t){return async(e,n,a={})=>{const{page:r=0,per_page:o=50,include_totals:u=!1}=a;let c=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 c.offset(r*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 c.select(l=>l.fn.countAll().as("count")).executeTakeFirstOrThrow(),p}}function mi(t){return{assign:di(t),remove:li(t),list:_i(t)}}function hi(t){return async(e,n,a,r)=>{const o=new Date().toISOString();try{const u={tenant_id:e,user_id:n,resource_server_identifier:a.resource_server_identifier,permission_name:a.permission_name,organization_id:r||a.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 fi(t){return async(e,n,a,r)=>{try{let o=t.deleteFrom("user_permissions").where("tenant_id","=",e).where("user_id","=",n).where("resource_server_identifier","=",a.resource_server_identifier).where("permission_name","=",a.permission_name);return r!==void 0?o=o.where("organization_id","=",r):o=o.where("organization_id","=",""),await o.execute(),!0}catch(o){return console.error("Error removing user permission:",o),!1}}}function pi(t){return async(e,n,a,r)=>{let o=t.selectFrom("user_permissions").leftJoin("resource_servers",c=>c.onRef("user_permissions.tenant_id","=","resource_servers.tenant_id").onRef("user_permissions.resource_server_identifier","=","resource_servers.id")).select(["user_permissions.resource_server_identifier","user_permissions.permission_name","resource_servers.name as resource_server_name","user_permissions.user_id","user_permissions.created_at","user_permissions.organization_id"]).where("user_permissions.tenant_id","=",e).where("user_permissions.user_id","=",n);return r!==void 0&&(o=o.where("user_permissions.organization_id","=",r)),(await o.execute()).map(c=>({resource_server_identifier:c.resource_server_identifier,permission_name:c.permission_name,description:null,resource_server_name:c.resource_server_name||c.resource_server_identifier,user_id:c.user_id,created_at:c.created_at,organization_id:c.organization_id===""?void 0:c.organization_id}))}}function gi(t){return{create:hi(t),remove:fi(t),list:pi(t)}}function yi(t){const e=gi(t);return{create:(n,a,r,o)=>e.create(n,a,r,o),remove:(n,a,r,o)=>e.remove(n,a,r,o),list:(n,a,r,o)=>e.list(n,a,r,o)}}function wi(t){return async(e,n,a,r)=>{let o=t.selectFrom("user_roles as ur").innerJoin("roles as r",c=>c.onRef("ur.role_id","=","r.id").onRef("ur.tenant_id","=","r.tenant_id")).select(["r.id","r.name","r.description","r.created_at","r.updated_at"]).where("ur.tenant_id","=",e).where("ur.user_id","=",n);return r!==void 0&&(o=o.where("ur.organization_id","=",r)),await o.execute()}}function Ni(t){return async(e,n,a,r)=>{const o=new Date().toISOString();try{return await t.insertInto("user_roles").values({tenant_id:e,user_id:n,role_id:a,organization_id:r||"",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 vi(t){return async(e,n,a,r)=>{try{let o=t.deleteFrom("user_roles").where("tenant_id","=",e).where("user_id","=",n).where("role_id","=",a);return r!==void 0?o=o.where("organization_id","=",r):o=o.where("organization_id","=",""),await o.execute(),!0}catch(o){return console.error("Error removing user roles:",o),!1}}}function Ci(t){return{list:wi(t),create:Ni(t),remove:vi(t)}}function xi(t){const e=Ci(t);return{list:(n,a,r,o)=>e.list(n,a,r,o),create:(n,a,r,o)=>e.create(n,a,r,o),remove:(n,a,r,o)=>e.remove(n,a,r,o)}}function bi(t){return async(e,n)=>{const a={...n,id:n.id||Ar(),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(a).execute()}catch(r){throw r.code==="SQLITE_CONSTRAINT_UNIQUE"||r.message.includes("AlreadyExists")?new tt(409,{message:"Organization already exists"}):r}return{...n,id:a.id,created_at:a.created_at,updated_at:a.updated_at}}}function Ti(t){return async(e,n)=>{const a=await t.selectFrom("organizations").selectAll().where("tenant_id","=",e).where("id","=",n).executeTakeFirst();return a?T({...a,branding:a.branding?JSON.parse(a.branding):{},metadata:a.metadata?JSON.parse(a.metadata):{},enabled_connections:a.enabled_connections?JSON.parse(a.enabled_connections):[],token_quota:a.token_quota?JSON.parse(a.token_quota):{}}):null}}function Oi(t){return async(e,n)=>{let a=t.selectFrom("organizations").selectAll().where("tenant_id","=",e).orderBy("created_at","desc");if(n!=null&&n.per_page&&(a=a.limit(n.per_page)),n!=null&&n.page){const u=(n.page-1)*(n.per_page||10);a=a.offset(u)}const o=(await a.execute()).map(u=>T({...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 Si(t){return async(e,n)=>(await t.deleteFrom("organizations").where("tenant_id","=",e).where("id","=",n).execute()).length>0}function ki(t){return async(e,n,a)=>{const{branding:r,metadata:o,enabled_connections:u,token_quota:c,...d}=a,h={...d,updated_at:new Date().toISOString()};return vt(a,["branding","metadata","enabled_connections","token_quota"],h),(await t.updateTable("organizations").set(h).where("tenant_id","=",e).where("id","=",n).execute()).length>0}}function Ii(t){return{create:bi(t),get:Ti(t),list:Oi(t),remove:Si(t),update:ki(t)}}function Ei(t){return async(e,n)=>{const a={id:H(),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(a).execute()}catch(r){throw r.code==="SQLITE_CONSTRAINT_UNIQUE"||r.code==="ER_DUP_ENTRY"?new tt(409,{message:"User is already a member of this organization"}):r}return{...a}}}function Ai(t){return async(e,n)=>{const a=await t.selectFrom("user_organizations").selectAll().where("id","=",n).where("tenant_id","=",e).executeTakeFirst();return a?{id:a.id,user_id:a.user_id,organization_id:a.organization_id,created_at:a.created_at,updated_at:a.updated_at}:null}}function Pi(t){return async(e,n)=>{const a=(n==null?void 0:n.page)||0,r=(n==null?void 0:n.per_page)||50,o=a*r;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"),r>0&&(u=u.limit(r).offset(o));const c=await u.execute();let d=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:","");d=d.where("user_id","=",l)}else if(n.q.startsWith("organization_id:")){const l=n.q.replace("organization_id:","");d=d.where("organization_id","=",l)}}const h=await d.executeTakeFirst();return{userOrganizations:c.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:r,length:Number((h==null?void 0:h.count)||0)}}}function $i(t){return async(e,n,a)=>{const r=(a==null?void 0:a.page)||0,o=(a==null?void 0:a.per_page)||50,u=r*o;let c=t.selectFrom("user_organizations").innerJoin("organizations","organizations.id","user_organizations.organization_id").select(["organizations.id","organizations.name","organizations.display_name","organizations.branding","organizations.metadata","organizations.enabled_connections","organizations.token_quota","organizations.created_at","organizations.updated_at","user_organizations.created_at as joined_at"]).where("user_organizations.tenant_id","=",e).where("user_organizations.user_id","=",n);c=c.orderBy("user_organizations.created_at","desc"),o>0&&(c=c.limit(o).offset(u));const d=await c.execute(),h=await t.selectFrom("user_organizations").innerJoin("organizations","organizations.id","user_organizations.organization_id").select(t.fn.count("user_organizations.id").as("count")).where("user_organizations.tenant_id","=",e).where("user_organizations.user_id","=",n).executeTakeFirst();return{organizations:d.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 Di(t){return async(e,n)=>(await t.deleteFrom("user_organizations").where("id","=",n).where("tenant_id","=",e).execute()).length>0}function zi(t){return async(e,n,a)=>{const r={...a,updated_at:new Date().toISOString()};return(await t.updateTable("user_organizations").set(r).where("id","=",n).where("tenant_id","=",e).execute()).length>0}}function Ri(t){return{create:Ei(t),get:Ai(t),list:Pi(t),listUserOrganizations:$i(t),remove:Di(t),update:zi(t)}}function Fi(t){return async(e,n)=>{const a=zr(),r=new Date().toISOString(),o=n.ttl_sec||604800,u=new Date(Date.now()+o*1e3).toISOString(),c=vt({id:a,tenant_id:e,organization_id:n.organization_id,inviter:n.inviter||{},invitee:n.invitee||{},client_id:n.client_id,connection_id:n.connection_id||null,invitation_url:n.invitation_url,created_at:r,expires_at:u,app_metadata:n.app_metadata||{},user_metadata:n.user_metadata||{},roles:n.roles||[],ticket_id:null,ttl_sec:o,send_invitation_email:n.send_invitation_email??!0?1:0},["inviter","invitee","app_metadata","user_metadata","roles"]);try{await t.insertInto("invites").values(c).execute()}catch(d){throw d.code==="SQLITE_CONSTRAINT_UNIQUE"||d.message.includes("AlreadyExists")?new tt(409,{message:"Invite already exists"}):d}return{id:a,organization_id:c.organization_id,inviter:n.inviter,invitee:n.invitee,client_id:n.client_id,connection_id:n.connection_id,invitation_url:n.invitation_url,created_at:r,expires_at:u,app_metadata:n.app_metadata||{},user_metadata:n.user_metadata||{},roles:n.roles||[],ticket_id:c.ticket_id||void 0,ttl_sec:o,send_invitation_email:n.send_invitation_email??!0}}}function ji(t,e){if(!t)return e;try{return JSON.parse(t)}catch{return e}}function Zn(t,e,n={...t}){for(const a in e)a in t&&(n[a]=ji(t[a],e[a]));return n}function Li(t){return async(e,n)=>{const a=await t.selectFrom("invites").selectAll().where("tenant_id","=",e).where("id","=",n).executeTakeFirst();if(!a)return null;const r=Zn(a,{inviter:{},invitee:{},app_metadata:{},user_metadata:{},roles:[]});return T({...r,send_invitation_email:a.send_invitation_email===1})}}function Mi(t){return async(e,n)=>{let a=t.selectFrom("invites").selectAll().where("tenant_id","=",e).orderBy("created_at","desc");if(n!=null&&n.per_page&&(a=a.limit(n.per_page)),n!=null&&n.page){const u=(n.page-1)*(n.per_page||10);a=a.offset(u)}const o=(await a.execute()).map(u=>{const c=Zn(u,{inviter:{},invitee:{},app_metadata:{},user_metadata:{},roles:[]});return T({...c,send_invitation_email:u.send_invitation_email===1})});return{invites: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 Ji(t){return async(e,n)=>(await t.deleteFrom("invites").where("tenant_id","=",e).where("id","=",n).executeTakeFirst()).numDeletedRows>0n}function qi(t){return async(e,n,a)=>{const r={};return a.inviter!==void 0&&(r.inviter=JSON.stringify(a.inviter)),a.invitee!==void 0&&(r.invitee=JSON.stringify(a.invitee)),a.client_id!==void 0&&(r.client_id=a.client_id),a.connection_id!==void 0&&(r.connection_id=a.connection_id),a.app_metadata!==void 0&&(r.app_metadata=JSON.stringify(a.app_metadata)),a.user_metadata!==void 0&&(r.user_metadata=JSON.stringify(a.user_metadata)),a.roles!==void 0&&(r.roles=JSON.stringify(a.roles)),a.ttl_sec!==void 0&&(r.ttl_sec=a.ttl_sec,r.expires_at=new Date(Date.now()+a.ttl_sec*1e3).toISOString()),a.send_invitation_email!==void 0&&(r.send_invitation_email=a.send_invitation_email?1:0),Object.keys(r).length===0?!0:(await t.updateTable("invites").set(r).where("tenant_id","=",e).where("id","=",n).executeTakeFirst()).numUpdatedRows>0n}}function Bi(t){return{create:Fi(t),get:Li(t),list:Mi(t),remove:Ji(t),update:qi(t)}}function Ot(t){return typeof t>"u"||t===void 0}function Y(t){return typeof t=="string"}function pn(t){return typeof t=="number"}function ea(t){return typeof t=="boolean"}function ta(t){return t===null}function na(t){return typeof t=="bigint"}function Ae(t){return typeof t=="function"}function Jt(t){return typeof t=="object"&&t!==null}function Wi(t){return t[t.length-1]}function s(t){return Object.freeze(t)}function bt(t){return he(t)?t:[t]}function he(t){return Array.isArray(t)}const F=s({is(t){return t.kind==="IdentifierNode"},create(t){return s({kind:"IdentifierNode",name:t})}}),Xt=s({is(t){return t.kind==="SchemableIdentifierNode"},create(t){return s({kind:"SchemableIdentifierNode",identifier:F.create(t)})},createWithSchema(t,e){return s({kind:"SchemableIdentifierNode",schema:F.create(t),identifier:F.create(e)})}}),we=s({is(t){return t.kind==="AliasNode"},create(t,e){return s({kind:"AliasNode",node:t,alias:e})}}),me=s({is(t){return t.kind==="TableNode"},create(t){return s({kind:"TableNode",table:Xt.create(t)})},createWithSchema(t,e){return s({kind:"TableNode",table:Xt.createWithSchema(t,e)})}});function B(t){return Jt(t)&&Ae(t.toOperationNode)}function Ki(t){return Jt(t)&&"expressionType"in t&&B(t)}function Ui(t){return Jt(t)&&"expression"in t&&Y(t.alias)&&B(t)}const X=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})}}),fe=s({is(t){return t.kind==="AndNode"},create(t,e){return s({kind:"AndNode",left:t,right:e})}}),rt=s({is(t){return t.kind==="OrNode"},create(t,e){return s({kind:"OrNode",left:t,right:e})}}),Vt=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"?fe.create(t.on,n):rt.create(t.on,n)})}}),ut=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:Vt.create(n)})},cloneWithOn(t,e){return s({...t,on:t.on?Vt.cloneWithOperation(t.on,"And",e):Vt.create(e)})}}),nt=s({is(t){return t.kind==="BinaryOperationNode"},create(t,e,n){return s({kind:"BinaryOperationNode",leftOperand:t,operator:e,rightOperand:n})}}),Qi=["=","==","!=","<>",">",">=","<","<=","in","not in","is","is not","like","not like","match","ilike","not ilike","@>","<@","^@","&&","?","?&","?|","!<","!>","<=>","!~","~","~*","!~*","@@","@@@","!!","<->","regexp","is distinct from","is not distinct from"],Vi=["+","-","*","/","%","^","&","|","#","<<",">>"],aa=["->","->>"],Gi=[...Qi,...Vi,"&&","||"],Yi=["exists","not exists"],Hi=["not","-",...Yi],Xi=[...Gi,...aa,...Hi,"between","between symmetric"],Ee=s({is(t){return t.kind==="OperatorNode"},create(t){return s({kind:"OperatorNode",operator:t})}});function kn(t){return Y(t)&&aa.includes(t)}const gn=s({is(t){return t.kind==="ColumnNode"},create(t){return s({kind:"ColumnNode",column:F.create(t)})}}),ra=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:ra.create()})}});function oa(t){return Jt(t)&&B(t)&&Y(t.dynamicReference)}const Zt=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 Zi(t){return t==="asc"||t==="desc"}function yn(t){if(t.length===2)return[Gt(t[0],t[1])];if(t.length===1){const[e]=t;return Array.isArray(e)?e.map(n=>Gt(n)):[Gt(e)]}throw new Error(`Invalid number of arguments at order by! expected 1-2, received ${t.length}`)}function Gt(t,e){const n=es(t);if(Zt.is(n)){if(e)throw new Error("Cannot specify direction twice!");return n}return Zt.create(n,ia(e))}function es(t){if(Ut(t))return Kt(t);if(oa(t))return t.toOperationNode();const[e,n]=t.split(" ");if(n){if(!Zi(n))throw new Error(`Invalid order by direction: ${n}`);return Zt.create(pe(e),ia(n))}return pe(t)}function ia(t){if(t)return t==="asc"||t==="desc"?R.createWithSql(t):t.toOperationNode()}const St=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})}}),sa=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])})}}),ct=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 ts(t){return Y(t)?pe(t):t.toOperationNode()}function mt(t){return he(t)?t.map(e=>L(e)):[L(t)]}function L(t){return Ut(t)?Kt(t):ts(t)}function ns(t,e){const n=pe(t);if(kn(e))return St.create(n,sa.create(Ee.create(e)));const a=e.slice(0,-1);if(kn(a))return St.create(n,ct.create(Ee.create(a)));throw new Error(`Invalid JSON operator: ${e}`)}function pe(t){const e=".";if(!t.includes(e))return qt.create(gn.create(t));const n=t.split(e).map(ua);if(n.length===3)return rs(n);if(n.length===2)return os(n);throw new Error(`invalid column reference ${t}`)}function as(t){const e=" as ";if(t.includes(e)){const[n,a]=t.split(e).map(ua);return we.create(pe(n),F.create(a))}else return pe(t)}function rs(t){const[e,n,a]=t;return qt.create(gn.create(a),me.createWithSchema(e,n))}function os(t){const[e,n]=t;return qt.create(gn.create(n),me.create(e))}function ua(t){return t.trim()}const is=s({is(t){return t.kind==="PrimitiveValueListNode"},create(t){return s({kind:"PrimitiveValueListNode",values:s([...t])})}}),ss=s({is(t){return t.kind==="ValueListNode"},create(t){return s({kind:"ValueListNode",values:s(t)})}}),ge=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 us(t){return he(t)?cs(t):D(t)}function D(t){return Ut(t)?Kt(t):ge.create(t)}function wn(t){return pn(t)||ea(t)||ta(t)}function Nn(t){if(!wn(t))throw new Error(`unsafe immediate value ${JSON.stringify(t)}`);return ge.createImmediate(t)}function cs(t){return t.some(Ut)?ss.create(t.map(e=>D(e))):is.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 vn(t[0],t[1],t[2]);if(t.length===1)return D(t[0]);throw new Error(`invalid arguments: ${JSON.stringify(t)}`)}function vn(t,e,n){return ds(e)&&ca(n)?nt.create(L(t),tn(e),ge.createImmediate(n)):nt.create(L(t),tn(e),us(n))}function ft(t,e,n){return nt.create(L(t),tn(e),L(n))}function In(t,e){return en(Object.entries(t).filter(([,n])=>!Ot(n)).map(([n,a])=>vn(n,ca(a)?"is":"=",a)),e)}function en(t,e,n=!0){const a=e==="and"?fe.create:rt.create;if(t.length===0)return nt.create(ge.createImmediate(1),Ee.create("="),ge.createImmediate(e==="and"?1:0));let r=En(t[0]);for(let o=1;o<t.length;++o)r=a(r,En(t[o]));return t.length>1&&n?ht.create(r):r}function ds(t){return t==="is"||t==="is not"}function ca(t){return ta(t)||ea(t)}function tn(t){if(Y(t)&&Xi.includes(t))return Ee.create(t);if(B(t))return t.toOperationNode();throw new Error(`invalid operator ${JSON.stringify(t)}`)}function En(t){return B(t)?t.toOperationNode():t}const ye=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])})}}),An=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])})}}),nn=s({is(t){return t.kind==="OverNode"},create(){return s({kind:"OverNode"})},cloneWithOrderByItems(t,e){return s({...t,orderBy:t.orderBy?ye.cloneWithItems(t.orderBy,e):ye.create(e)})},cloneWithPartitionByItems(t,e){return s({...t,partitionBy:t.partitionBy?An.cloneWithItems(t.partitionBy,e):An.create(e)})}}),kt=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])})}}),Pn=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])})}}),$n=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"?fe.create(t.having,n):rt.create(t.having,n)})}}),S=s({is(t){return t.kind==="SelectQueryNode"},create(t){return s({kind:"SelectQueryNode",...t&&{with:t}})},createFrom(t,e){return s({kind:"SelectQueryNode",from:kt.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])})},cloneWithOrderByItems(t,e){return s({...t,orderBy:t.orderBy?ye.cloneWithItems(t.orderBy,e):ye.create(e)})},cloneWithGroupByItems(t,e){return s({...t,groupBy:t.groupBy?Pn.cloneWithItems(t.groupBy,e):Pn.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?$n.cloneWithOperation(t.having,"And",e):$n.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 Pe(t,e){Object.defineProperties(t.prototype,{then:{enumerable:!1,value:()=>{throw new Error(e)}}})}var W;const lt=class lt{constructor(e){C(this,W);b(this,W,s(e))}on(...e){return new lt({...i(this,W),joinNode:ut.cloneWithOn(i(this,W).joinNode,U(e))})}onRef(e,n,a){return new lt({...i(this,W),joinNode:ut.cloneWithOn(i(this,W).joinNode,ft(e,n,a))})}onTrue(){return new lt({...i(this,W),joinNode:ut.cloneWithOn(i(this,W).joinNode,R.createWithSql("true"))})}$call(e){return e(this)}toOperationNode(){return i(this,W).joinNode}};W=new WeakMap;let It=lt;Pe(It,"don't await JoinBuilder instances. They are never executed directly and are always just a part of a query.");const ls=s({is(t){return t.kind==="PartitionByItemNode"},create(t){return s({kind:"PartitionByItemNode",partitionBy:t})}});function _s(t){return mt(t).map(ls.create)}var Ce;const zt=class zt{constructor(e){C(this,Ce);b(this,Ce,s(e))}orderBy(e,n){return new zt({overNode:nn.cloneWithOrderByItems(i(this,Ce).overNode,yn([e,n]))})}partitionBy(e){return new zt({overNode:nn.cloneWithPartitionByItems(i(this,Ce).overNode,_s(e))})}$call(e){return e(this)}toOperationNode(){return i(this,Ce).overNode}};Ce=new WeakMap;let Et=zt;Pe(Et,"don't await OverBuilder instances. They are never executed directly and are always just a part of a query.");const dt=s({is(t){return t.kind==="SelectionNode"},create(t){return s({kind:"SelectionNode",selection:t})},createSelectAll(){return s({kind:"SelectionNode",selection:ra.create()})},createSelectAllFromTable(t){return s({kind:"SelectionNode",selection:qt.createSelectAll(t)})}});function da(t){return Ae(t)?da(t(Wt())):he(t)?t.map(e=>Dn(e)):[Dn(t)]}function Dn(t){return Y(t)?dt.create(as(t)):oa(t)?dt.create(t.toOperationNode()):dt.create(Na(t))}function la(t){return t?Array.isArray(t)?t.map(zn):[zn(t)]:[dt.createSelectAll()]}function zn(t){if(Y(t))return dt.createSelectAllFromTable(K(t));throw new Error(`invalid value selectAll expression: ${JSON.stringify(t)}`)}const ms=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})}}),hs=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?kt.cloneWithFroms(t.from,e):kt.create(e)})},cloneWithUpdates(t,e){return s({...t,updates:t.updates?s([...t.updates,...e]):e})},cloneWithLimit(t,e){return s({...t,limit:e})}}),Rn=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])})}}),fs=s({is(t){return t.kind==="DeleteQueryNode"},create(t,e){return s({kind:"DeleteQueryNode",from:kt.create(t),...e&&{with:e}})},cloneWithOrderByItems(t,e){return s({...t,orderBy:t.orderBy?ye.cloneWithItems(t.orderBy,e):ye.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?Rn.cloneWithTables(t.using,e):Rn.create(e)})}}),je=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"?fe.create(t.where,n):rt.create(t.where,n)})}}),Fn=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)})}}),ps=s({is(t){return t.kind==="ExplainNode"},create(t,e){return s({kind:"ExplainNode",format:t,options:e})}}),Bt=s({is(t){return t.kind==="WhenNode"},create(t){return s({kind:"WhenNode",condition:t})},cloneWithResult(t,e){return s({...t,result:e})}}),gs=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),Bt.cloneWithResult(t.whens[t.whens.length-1],e)]):void 0})}}),jn=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)})}}),A=s({is(t){return S.is(t)||ms.is(t)||hs.is(t)||fs.is(t)||gs.is(t)},cloneWithEndModifier(t,e){return s({...t,endModifiers:t.endModifiers?s([...t.endModifiers,e]):s([e])})},cloneWithWhere(t,e){return s({...t,where:t.where?je.cloneWithOperation(t.where,"And",e):je.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?Fn.cloneWithSelections(t.returning,e):Fn.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:ps.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?jn.cloneWithSelections(t.output,e):jn.create(e)})}});class ys extends Error{constructor(n){super("no result");se(this,"node");this.node=n}}function ws(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 vs(t,e){if(!pn(t)&&!na(t))throw new Error(`Invalid top expression: ${t}`);if(!Ot(e)&&!Cs(e))throw new Error(`Invalid top modifiers: ${e}`);return Ns.create(t,e)}function Cs(t){return t==="percent"||t==="with ties"||t==="percent with ties"}const xs=s({is(t){return t.kind==="LimitNode"},create(t){return s({kind:"LimitNode",limit:t})}}),Ln=["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 bs(t){let e="";for(let n=0;n<t;++n)e+=Ts();return e}function Ts(){return Ln[~~(Math.random()*Ln.length)]}function Z(){return new Os}var qe;class Os{constructor(){C(this,qe)}get queryId(){return i(this,qe)===void 0&&b(this,qe,bs(8)),i(this,qe)}}qe=new WeakMap;var Rt;class Ss{constructor(){se(this,"nodeStack",[]);C(this,Rt,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,Rt)[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),endModifiers:this.transformNodeList(e.endModifiers),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),endModifiers:this.transformNodeList(e.endModifiers),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),endModifiers:this.transformNodeList(e.endModifiers),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,orderBy:this.transformNode(e.orderBy),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),endModifiers:this.transformNodeList(e.endModifiers),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}}Rt=new WeakMap;const ks=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}),Is={json_agg:!0,to_json:!0};var Be,xe,be,I,an,_a,ma,ha,ze,rn,fa;class Es extends Ss{constructor(n){super();C(this,I);C(this,Be);C(this,xe,new Set);C(this,be,new Set);b(this,Be,n)}transformNodeImpl(n){if(!w(this,I,_a).call(this,n))return super.transformNodeImpl(n);const a=w(this,I,ha).call(this,n);for(const u of a)i(this,be).add(u);const r=w(this,I,ma).call(this,n);for(const u of r)i(this,xe).add(u);const o=super.transformNodeImpl(n);for(const u of r)i(this,xe).delete(u);for(const u of a)i(this,be).delete(u);return o}transformSchemableIdentifier(n){const a=super.transformSchemableIdentifier(n);return a.schema||!i(this,xe).has(n.identifier.name)?a:{...a,schema:F.create(i(this,Be))}}transformReferences(n){const a=super.transformReferences(n);return a.table.table.schema?a:{...a,table:me.createWithSchema(i(this,Be),a.table.table.identifier.name)}}transformAggregateFunction(n){return{...super.transformAggregateFunction({...n,aggregated:[]}),aggregated:w(this,I,an).call(this,n,"aggregated")}}transformFunction(n){return{...super.transformFunction({...n,arguments:[]}),arguments:w(this,I,an).call(this,n,"arguments")}}}Be=new WeakMap,xe=new WeakMap,be=new WeakMap,I=new WeakSet,an=function(n,a){return Is[n.func]?n[a].map(r=>!me.is(r)||r.table.schema?this.transformNode(r):{...r,table:this.transformIdentifier(r.table.identifier)}):this.transformNodeList(n[a])},_a=function(n){return n.kind in ks},ma=function(n){const a=new Set;if("name"in n&&n.name&&Xt.is(n.name)&&w(this,I,rn).call(this,n.name,a),"from"in n&&n.from)for(const r of n.from.froms)w(this,I,ze).call(this,r,a);if("into"in n&&n.into&&w(this,I,ze).call(this,n.into,a),"table"in n&&n.table&&w(this,I,ze).call(this,n.table,a),"joins"in n&&n.joins)for(const r of n.joins)w(this,I,ze).call(this,r.table,a);return"using"in n&&n.using&&w(this,I,ze).call(this,n.using,a),a},ha=function(n){const a=new Set;return"with"in n&&n.with&&w(this,I,fa).call(this,n.with,a),a},ze=function(n,a){const r=me.is(n)?n:we.is(n)&&me.is(n.node)?n.node:null;r&&w(this,I,rn).call(this,r.table,a)},rn=function(n,a){const r=n.identifier.name;!i(this,xe).has(r)&&!i(this,be).has(r)&&a.add(r)},fa=function(n,a){for(const r of n.expressions){const o=r.name.table.table.identifier.name;i(this,be).has(o)||a.add(o)}};var pt;class pa{constructor(e){C(this,pt);b(this,pt,new Es(e))}transformQuery(e){return i(this,pt).transformNode(e.node)}async transformResult(e){return e.result}}pt=new WeakMap;var gt,We,Ke;class Mn{constructor(){C(this,gt);C(this,We);C(this,Ke);se(this,"resolve",e=>{i(this,We)&&i(this,We).call(this,e)});se(this,"reject",e=>{i(this,Ke)&&i(this,Ke).call(this,e)});b(this,gt,new Promise((e,n)=>{b(this,Ke,n),b(this,We,e)}))}get promise(){return i(this,gt)}}gt=new WeakMap,We=new WeakMap,Ke=new WeakMap;const Jn=new Set;function As(t){Jn.has(t)||(Jn.add(t),console.log(t))}const Ps=s([]);var Te,yt,on;class $s{constructor(e=Ps){C(this,yt);C(this,Te);b(this,Te,e)}get plugins(){return i(this,Te)}transformQuery(e,n){for(const a of i(this,Te)){const r=a.transformQuery({node:e,queryId:n});if(r.kind===e.kind)e=r;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 ${r.kind}`].join(" "))}return e}async executeQuery(e,n){return await this.provideConnection(async a=>{const r=await a.executeQuery(e),o=await w(this,yt,on).call(this,r,n);return Ds(r,o),o})}async*stream(e,n,a){const r=new Mn,o=new Mn;this.provideConnection(async c=>(r.resolve(c),await o.promise)).catch(c=>r.reject(c));const u=await r.promise;try{for await(const c of u.streamQuery(e,n))yield await w(this,yt,on).call(this,c,a)}finally{o.resolve()}}}Te=new WeakMap,yt=new WeakSet,on=async function(e,n){for(const a of i(this,Te))e=await a.transformResult({result:e,queryId:n});return e};function Ds(t,e){const{numAffectedRows:n}=t;n===void 0&&t.numUpdatedOrDeletedRows===void 0||n!==void 0&&e.numAffectedRows!==void 0||As("kysely:warning: outdated driver/plugin detected! QueryResult.numUpdatedOrDeletedRows is deprecated and will be removed in a future release.")}class Le extends $s{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 Le([...this.plugins,e])}withPlugins(e){return new Le([...this.plugins,...e])}withPluginAtFront(e){return new Le([e,...this.plugins])}withoutPlugins(){return new Le([])}}const ga=new Le;function zs(t,e){return new It({joinNode:ut.create(t,$t(e))})}function Rs(){return new Et({overNode:nn.create()})}function $e(t,e){if(e.length===3)return js(t,e[0],e[1],e[2]);if(e.length===2)return Fs(t,e[0],e[1]);throw new Error("not implemented")}function Fs(t,e,n){return n(zs(t,e)).toOperationNode()}function js(t,e,n,a){return ut.createWithOn(t,$t(e),ft(n,"=",a))}const Ls=s({is(t){return t.kind==="OffsetNode"},create(t){return s({kind:"OffsetNode",offset:t})}}),Ms=s({is(t){return t.kind==="GroupByItemNode"},create(t){return s({kind:"GroupByItemNode",groupBy:t})}});function Js(t){return t=Ae(t)?t(Wt()):t,mt(t).map(Ms.create)}const qs=s({is(t){return t.kind==="SetOperationNode"},create(t,e,n){return s({kind:"SetOperationNode",operator:t,expression:e,all:n})}});function De(t,e,n){return Ae(e)&&(e=e(xn())),he(e)||(e=[e]),e.map(a=>qs.create(t,Kt(a),n))}var re;const Ft=class Ft{constructor(e){C(this,re);b(this,re,e)}get expressionType(){}as(e){return new Cn(this,e)}or(...e){return new sn(rt.create(i(this,re),U(e)))}and(...e){return new un(fe.create(i(this,re),U(e)))}$castTo(){return new Ft(i(this,re))}$notNull(){return new Ft(i(this,re))}toOperationNode(){return i(this,re)}};re=new WeakMap;let O=Ft;var Ue,de;class Cn{constructor(e,n){C(this,Ue);C(this,de);b(this,Ue,e),b(this,de,n)}get expression(){return i(this,Ue)}get alias(){return i(this,de)}toOperationNode(){return we.create(i(this,Ue).toOperationNode(),B(i(this,de))?i(this,de).toOperationNode():F.create(i(this,de)))}}Ue=new WeakMap,de=new WeakMap;var Oe;const jt=class jt{constructor(e){C(this,Oe);b(this,Oe,e)}get expressionType(){}as(e){return new Cn(this,e)}or(...e){return new jt(rt.create(i(this,Oe),U(e)))}$castTo(){return new jt(i(this,Oe))}toOperationNode(){return ht.create(i(this,Oe))}};Oe=new WeakMap;let sn=jt;var Se;const Lt=class Lt{constructor(e){C(this,Se);b(this,Se,e)}get expressionType(){}as(e){return new Cn(this,e)}and(...e){return new Lt(fe.create(i(this,Se),U(e)))}$castTo(){return new Lt(i(this,Se))}toOperationNode(){return ht.create(i(this,Se))}};Se=new WeakMap;let un=Lt;const Bs={is(t){return t.kind==="FetchNode"},create(t,e){return{kind:"FetchNode",rowCount:ge.create(t),modifier:e}}};function Ws(t,e){if(!pn(t)&&!na(t))throw new Error(`Invalid fetch row count: ${t}`);if(!Ks(e))throw new Error(`Invalid fetch modifier: ${e}`);return Bs.create(t,e)}function Ks(t){return t==="only"||t==="with ties"}var _;const v=class v{constructor(e){C(this,_);b(this,_,s(e))}get expressionType(){}get isSelectQueryBuilder(){return!0}where(...e){return new v({...i(this,_),queryNode:A.cloneWithWhere(i(this,_).queryNode,U(e))})}whereRef(e,n,a){return new v({...i(this,_),queryNode:A.cloneWithWhere(i(this,_).queryNode,ft(e,n,a))})}having(...e){return new v({...i(this,_),queryNode:S.cloneWithHaving(i(this,_).queryNode,U(e))})}havingRef(e,n,a){return new v({...i(this,_),queryNode:S.cloneWithHaving(i(this,_).queryNode,ft(e,n,a))})}select(e){return new v({...i(this,_),queryNode:S.cloneWithSelections(i(this,_).queryNode,da(e))})}distinctOn(e){return new v({...i(this,_),queryNode:S.cloneWithDistinctOn(i(this,_).queryNode,mt(e))})}modifyFront(e){return new v({...i(this,_),queryNode:S.cloneWithFrontModifier(i(this,_).queryNode,X.createWithExpression(e.toOperationNode()))})}modifyEnd(e){return new v({...i(this,_),queryNode:A.cloneWithEndModifier(i(this,_).queryNode,X.createWithExpression(e.toOperationNode()))})}distinct(){return new v({...i(this,_),queryNode:S.cloneWithFrontModifier(i(this,_).queryNode,X.create("Distinct"))})}forUpdate(e){return new v({...i(this,_),queryNode:A.cloneWithEndModifier(i(this,_).queryNode,X.create("ForUpdate",e?bt(e).map(K):void 0))})}forShare(e){return new v({...i(this,_),queryNode:A.cloneWithEndModifier(i(this,_).queryNode,X.create("ForShare",e?bt(e).map(K):void 0))})}forKeyShare(e){return new v({...i(this,_),queryNode:A.cloneWithEndModifier(i(this,_).queryNode,X.create("ForKeyShare",e?bt(e).map(K):void 0))})}forNoKeyUpdate(e){return new v({...i(this,_),queryNode:A.cloneWithEndModifier(i(this,_).queryNode,X.create("ForNoKeyUpdate",e?bt(e).map(K):void 0))})}skipLocked(){return new v({...i(this,_),queryNode:A.cloneWithEndModifier(i(this,_).queryNode,X.create("SkipLocked"))})}noWait(){return new v({...i(this,_),queryNode:A.cloneWithEndModifier(i(this,_).queryNode,X.create("NoWait"))})}selectAll(e){return new v({...i(this,_),queryNode:S.cloneWithSelections(i(this,_).queryNode,la(e))})}innerJoin(...e){return new v({...i(this,_),queryNode:A.cloneWithJoin(i(this,_).queryNode,$e("InnerJoin",e))})}leftJoin(...e){return new v({...i(this,_),queryNode:A.cloneWithJoin(i(this,_).queryNode,$e("LeftJoin",e))})}rightJoin(...e){return new v({...i(this,_),queryNode:A.cloneWithJoin(i(this,_).queryNode,$e("RightJoin",e))})}fullJoin(...e){return new v({...i(this,_),queryNode:A.cloneWithJoin(i(this,_).queryNode,$e("FullJoin",e))})}innerJoinLateral(...e){return new v({...i(this,_),queryNode:A.cloneWithJoin(i(this,_).queryNode,$e("LateralInnerJoin",e))})}leftJoinLateral(...e){return new v({...i(this,_),queryNode:A.cloneWithJoin(i(this,_).queryNode,$e("LateralLeftJoin",e))})}orderBy(...e){return new v({...i(this,_),queryNode:S.cloneWithOrderByItems(i(this,_).queryNode,yn(e))})}groupBy(e){return new v({...i(this,_),queryNode:S.cloneWithGroupByItems(i(this,_).queryNode,Js(e))})}limit(e){return new v({...i(this,_),queryNode:S.cloneWithLimit(i(this,_).queryNode,xs.create(D(e)))})}offset(e){return new v({...i(this,_),queryNode:S.cloneWithOffset(i(this,_).queryNode,Ls.create(D(e)))})}fetch(e,n="only"){return new v({...i(this,_),queryNode:S.cloneWithFetch(i(this,_).queryNode,Ws(e,n))})}top(e,n){return new v({...i(this,_),queryNode:A.cloneWithTop(i(this,_).queryNode,vs(e,n))})}union(e){return new v({...i(this,_),queryNode:S.cloneWithSetOperations(i(this,_).queryNode,De("union",e,!1))})}unionAll(e){return new v({...i(this,_),queryNode:S.cloneWithSetOperations(i(this,_).queryNode,De("union",e,!0))})}intersect(e){return new v({...i(this,_),queryNode:S.cloneWithSetOperations(i(this,_).queryNode,De("intersect",e,!1))})}intersectAll(e){return new v({...i(this,_),queryNode:S.cloneWithSetOperations(i(this,_).queryNode,De("intersect",e,!0))})}except(e){return new v({...i(this,_),queryNode:S.cloneWithSetOperations(i(this,_).queryNode,De("except",e,!1))})}exceptAll(e){return new v({...i(this,_),queryNode:S.cloneWithSetOperations(i(this,_).queryNode,De("except",e,!0))})}as(e){return new ya(this,e)}clearSelect(){return new v({...i(this,_),queryNode:S.cloneWithoutSelections(i(this,_).queryNode)})}clearWhere(){return new v({...i(this,_),queryNode:A.cloneWithoutWhere(i(this,_).queryNode)})}clearLimit(){return new v({...i(this,_),queryNode:S.cloneWithoutLimit(i(this,_).queryNode)})}clearOffset(){return new v({...i(this,_),queryNode:S.cloneWithoutOffset(i(this,_).queryNode)})}clearOrderBy(){return new v({...i(this,_),queryNode:S.cloneWithoutOrderBy(i(this,_).queryNode)})}clearGroupBy(){return new v({...i(this,_),queryNode:S.cloneWithoutGroupBy(i(this,_).queryNode)})}$call(e){return e(this)}$if(e,n){return e?n(this):new v({...i(this,_)})}$castTo(){return new v(i(this,_))}$narrowType(){return new v(i(this,_))}$assertType(){return new v(i(this,_))}$asTuple(){return new O(this.toOperationNode())}withPlugin(e){return new v({...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=ys){const n=await this.executeTakeFirst();if(n===void 0)throw ws(e)?new e(this.toOperationNode()):e(this.toOperationNode());return n}async*stream(e=100){const n=this.compile(),a=i(this,_).executor.stream(n,e,i(this,_).queryId);for await(const r of a)yield*r.rows}async explain(e,n){return await new v({...i(this,_),queryNode:A.cloneWithExplain(i(this,_).queryNode,e,n)}).execute()}};_=new WeakMap;let At=v;Pe(At,"don't await SelectQueryBuilder instances directly. To execute the query you need to call `execute` or `executeTakeFirst`.");function Us(t){return new At(t)}var Qe,Ve;class ya{constructor(e,n){C(this,Qe);C(this,Ve);b(this,Qe,e),b(this,Ve,n)}get expression(){return i(this,Qe)}get alias(){return i(this,Ve)}get isAliasedSelectQueryBuilder(){return!0}toOperationNode(){return we.create(i(this,Qe).toOperationNode(),F.create(i(this,Ve)))}}Qe=new WeakMap,Ve=new WeakMap;Pe(ya,"don't await AliasedSelectQueryBuilder instances directly. AliasedSelectQueryBuilder should never be executed directly since it's always a part of another query.");const ce=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})},cloneWithOrderBy(t,e){return s({...t,orderBy:t.orderBy?ye.cloneWithItems(t.orderBy,e):ye.create(e)})},cloneWithFilter(t,e){return s({...t,filter:t.filter?je.cloneWithOperation(t.filter,"And",e):je.create(e)})},cloneWithOrFilter(t,e){return s({...t,filter:t.filter?je.cloneWithOperation(t.filter,"Or",e):je.create(e)})},cloneWithOver(t,e){return s({...t,over:e})}}),qn=s({is(t){return t.kind==="FunctionNode"},create(t,e){return s({kind:"FunctionNode",func:t,arguments:e})}});var P;const ae=class ae{constructor(e){C(this,P);b(this,P,s(e))}get expressionType(){}as(e){return new Qs(this,e)}distinct(){return new ae({...i(this,P),aggregateFunctionNode:ce.cloneWithDistinct(i(this,P).aggregateFunctionNode)})}orderBy(e,n){return new ae({...i(this,P),aggregateFunctionNode:ce.cloneWithOrderBy(i(this,P).aggregateFunctionNode,yn([e,n]))})}filterWhere(...e){return new ae({...i(this,P),aggregateFunctionNode:ce.cloneWithFilter(i(this,P).aggregateFunctionNode,U(e))})}filterWhereRef(e,n,a){return new ae({...i(this,P),aggregateFunctionNode:ce.cloneWithFilter(i(this,P).aggregateFunctionNode,ft(e,n,a))})}over(e){const n=Rs();return new ae({...i(this,P),aggregateFunctionNode:ce.cloneWithOver(i(this,P).aggregateFunctionNode,(e?e(n):n).toOperationNode())})}$call(e){return e(this)}$castTo(){return new ae(i(this,P))}$notNull(){return new ae(i(this,P))}toOperationNode(){return i(this,P).aggregateFunctionNode}};P=new WeakMap;let Me=ae;Pe(Me,"don't await AggregateFunctionBuilder instances. They are never executed directly and are always just a part of a query.");var Ge,Ye;class Qs{constructor(e,n){C(this,Ge);C(this,Ye);b(this,Ge,e),b(this,Ye,n)}get expression(){return i(this,Ge)}get alias(){return i(this,Ye)}toOperationNode(){return we.create(i(this,Ge).toOperationNode(),F.create(i(this,Ye)))}}Ge=new WeakMap,Ye=new WeakMap;function Vs(){const t=(n,a)=>new O(qn.create(n,mt(a??[]))),e=(n,a)=>new Me({aggregateFunctionNode:ce.create(n,a?mt(a):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 Me({aggregateFunctionNode:ce.create("count",la(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 Me({aggregateFunctionNode:ce.create("json_agg",[Y(n)?K(n):n.toOperationNode()])})},toJson(n){return new O(qn.create("to_json",[Y(n)?K(n):n.toOperationNode()]))}})}const Gs=s({is(t){return t.kind==="UnaryOperationNode"},create(t,e){return s({kind:"UnaryOperationNode",operator:t,operand:e})}});function Ys(t,e){return Gs.create(Ee.create(t),L(e))}const oe=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),Bt.cloneWithResult(t.when[t.when.length-1],e)]):void 0})},cloneWith(t,e){return s({...t,...e})}});var He;class Hs{constructor(e){C(this,He);b(this,He,s(e))}when(...e){return new wa({...i(this,He),node:oe.cloneWithWhen(i(this,He).node,Bt.create(U(e)))})}}He=new WeakMap;var Xe;class wa{constructor(e){C(this,Xe);b(this,Xe,s(e))}then(e){return new Xs({...i(this,Xe),node:oe.cloneWithThen(i(this,Xe).node,wn(e)?Nn(e):D(e))})}}Xe=new WeakMap;var V;class Xs{constructor(e){C(this,V);b(this,V,s(e))}when(...e){return new wa({...i(this,V),node:oe.cloneWithWhen(i(this,V).node,Bt.create(U(e)))})}else(e){return new Zs({...i(this,V),node:oe.cloneWith(i(this,V).node,{else:wn(e)?Nn(e):D(e)})})}end(){return new O(oe.cloneWith(i(this,V).node,{isStatement:!1}))}endCase(){return new O(oe.cloneWith(i(this,V).node,{isStatement:!0}))}}V=new WeakMap;var Ze;class Zs{constructor(e){C(this,Ze);b(this,Ze,s(e))}end(){return new O(oe.cloneWith(i(this,Ze).node,{isStatement:!1}))}endCase(){return new O(oe.cloneWith(i(this,Ze).node,{isStatement:!0}))}}Ze=new WeakMap;const Bn=s({is(t){return t.kind==="JSONPathLegNode"},create(t,e){return s({kind:"JSONPathLegNode",type:t,value:e})}});var G,wt,dn;class cn{constructor(e){C(this,wt);C(this,G);b(this,G,e)}at(e){return w(this,wt,dn).call(this,"ArrayLocation",e)}key(e){return w(this,wt,dn).call(this,"Member",e)}}G=new WeakMap,wt=new WeakSet,dn=function(e,n){return St.is(i(this,G))?new Pt(St.cloneWithTraversal(i(this,G),ct.is(i(this,G).traversal)?ct.cloneWithLeg(i(this,G).traversal,Bn.create(e,n)):sa.cloneWithValue(i(this,G).traversal,ge.createImmediate(n)))):new Pt(ct.cloneWithLeg(i(this,G),Bn.create(e,n)))};var ke;const Mt=class Mt extends cn{constructor(n){super(n);C(this,ke);b(this,ke,n)}get expressionType(){}as(n){return new eu(this,n)}$castTo(){return new Mt(i(this,ke))}$notNull(){return new Mt(i(this,ke))}toOperationNode(){return i(this,ke)}};ke=new WeakMap;let Pt=Mt;var et,le;class eu{constructor(e,n){C(this,et);C(this,le);b(this,et,e),b(this,le,n)}get expression(){return i(this,et)}get alias(){return i(this,le)}toOperationNode(){return we.create(i(this,et).toOperationNode(),B(i(this,le))?i(this,le).toOperationNode():F.create(i(this,le)))}}et=new WeakMap,le=new WeakMap;const Wn=s({is(t){return t.kind==="TupleNode"},create(t){return s({kind:"TupleNode",values:s(t)})}}),tu=["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","int4range","int4multirange","int8range","int8multirange","numrange","nummultirange","tsrange","tsmultirange","tstzrange","tstzmultirange","daterange","datemultirange"],nu=[/^varchar\(\d+\)$/,/^char\(\d+\)$/,/^decimal\(\d+, \d+\)$/,/^numeric\(\d+, \d+\)$/,/^binary\(\d+\)$/,/^datetime\(\d+\)$/,/^time\(\d+\)$/,/^timetz\(\d+\)$/,/^timestamp\(\d+\)$/,/^timestamptz\(\d+\)$/,/^varbinary\(\d+\)$/],au=s({is(t){return t.kind==="DataTypeNode"},create(t){return s({kind:"DataTypeNode",dataType:t})}});function ru(t){return!!(tu.includes(t)||nu.some(e=>e.test(t)))}function ou(t){if(B(t))return t.toOperationNode();if(ru(t))return au.create(t);throw new Error(`invalid column data type ${JSON.stringify(t)}`)}const iu=s({is(t){return t.kind==="CastNode"},create(t,e){return s({kind:"CastNode",expression:t,dataType:e})}});function xn(t=ga){function e(r,o,u){return new O(vn(r,o,u))}function n(r,o){return new O(Ys(r,o))}const a=Object.assign(e,{fn:void 0,eb:void 0,selectFrom(r){return Us({queryId:Z(),executor:t,queryNode:S.createFrom(su(r))})},case(r){return new Hs({node:oe.create(Ot(r)?void 0:L(r))})},ref(r,o){return Ot(o)?new O(pe(r)):new cn(ns(r,o))},jsonPath(){return new cn(ct.create())},table(r){return new O(K(r))},val(r){return new O(D(r))},refTuple(...r){return new O(Wn.create(r.map(L)))},tuple(...r){return new O(Wn.create(r.map(D)))},lit(r){return new O(Nn(r))},unary:n,not(r){return n("not",r)},exists(r){return n("exists",r)},neg(r){return n("-",r)},between(r,o,u){return new O(nt.create(L(r),Ee.create("between"),fe.create(D(o),D(u))))},betweenSymmetric(r,o,u){return new O(nt.create(L(r),Ee.create("between symmetric"),fe.create(D(o),D(u))))},and(r){return he(r)?new O(en(r,"and")):new O(In(r,"and"))},or(r){return he(r)?new O(en(r,"or")):new O(In(r,"or"))},parens(...r){const o=U(r);return ht.is(o)?new O(o):new O(ht.create(o))},cast(r,o){return new O(iu.create(L(r),ou(o)))},withSchema(r){return xn(t.withPluginAtFront(new pa(r)))}});return a.fn=Vs(),a.eb=a,a}function Wt(t){return xn()}function Kt(t){if(B(t))return t.toOperationNode();if(Ae(t))return t(Wt()).toOperationNode();throw new Error(`invalid expression: ${JSON.stringify(t)}`)}function Na(t){if(B(t))return t.toOperationNode();if(Ae(t))return t(Wt()).toOperationNode();throw new Error(`invalid aliased expression: ${JSON.stringify(t)}`)}function Ut(t){return Ki(t)||Ui(t)||Ae(t)}function su(t){return he(t)?t.map(e=>$t(e)):[$t(t)]}function $t(t){return Y(t)?uu(t):Na(t)}function uu(t){const e=" as ";if(t.includes(e)){const[n,a]=t.split(e).map(va);return we.create(K(n),F.create(a))}else return K(t)}function K(t){const e=".";if(t.includes(e)){const[n,a]=t.split(e).map(va);return me.createWithSchema(n,a)}else return me.create(t)}function va(t){return t.trim()}var $,M,Tt,ln,_n;const _t=class _t{constructor(e){C(this,M);C(this,$);b(this,$,s(e))}get expressionType(){}get isRawBuilder(){return!0}as(e){return new Ca(this,e)}$castTo(){return new _t({...i(this,$)})}$notNull(){return new _t(i(this,$))}withPlugin(e){return new _t({...i(this,$),plugins:i(this,$).plugins!==void 0?s([...i(this,$).plugins,e]):s([e])})}toOperationNode(){return w(this,M,ln).call(this,w(this,M,Tt).call(this))}compile(e){return w(this,M,_n).call(this,w(this,M,Tt).call(this,e))}async execute(e){const n=w(this,M,Tt).call(this,e);return n.executeQuery(w(this,M,_n).call(this,n),i(this,$).queryId)}};$=new WeakMap,M=new WeakSet,Tt=function(e){const n=e!==void 0?e.getExecutor():ga;return i(this,$).plugins!==void 0?n.withPlugins(i(this,$).plugins):n},ln=function(e){return e.transformQuery(i(this,$).rawNode,i(this,$).queryId)},_n=function(e){return e.compileQuery(w(this,M,ln).call(this,e),i(this,$).queryId)};let Dt=_t;function ue(t){return new Dt(t)}Pe(Dt,"don't await RawBuilder instances directly. To execute the query you need to call `execute`");var Ie,_e;class Ca{constructor(e,n){C(this,Ie);C(this,_e);b(this,Ie,e),b(this,_e,n)}get expression(){return i(this,Ie)}get alias(){return i(this,_e)}get rawBuilder(){return i(this,Ie)}toOperationNode(){return we.create(i(this,Ie).toOperationNode(),B(i(this,_e))?i(this,_e).toOperationNode():F.create(i(this,_e)))}}Ie=new WeakMap,_e=new WeakMap;Pe(Ca,"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)=>ue({queryId:Z(),rawNode:R.create(t,(e==null?void 0:e.map(Kn))??[])}),{ref(t){return ue({queryId:Z(),rawNode:R.createWithChild(pe(t))})},val(t){return ue({queryId:Z(),rawNode:R.createWithChild(D(t))})},value(t){return this.val(t)},table(t){return ue({queryId:Z(),rawNode:R.createWithChild(K(t))})},id(...t){const e=new Array(t.length+1).fill(".");return e[0]="",e[e.length-1]="",ue({queryId:Z(),rawNode:R.create(e,t.map(F.create))})},lit(t){return ue({queryId:Z(),rawNode:R.createWithChild(ge.createImmediate(t))})},literal(t){return this.lit(t)},raw(t){return ue({queryId:Z(),rawNode:R.createWithSql(t)})},join(t,e=g`, `){const n=new Array(2*t.length-1),a=e.toOperationNode();for(let r=0;r<t.length;++r)n[2*r]=Kn(t[r]),r!==t.length-1&&(n[2*r+1]=a);return ue({queryId:Z(),rawNode:R.createWithChildren(n)})}});function Kn(t){return B(t)?t.toOperationNode():D(t)}class cu{transformQuery(e){return e.node}async transformResult(e){return e.result}}const du="kysely_migration",Un="kysely_migration_lock",lu=!1,Yt="migration_lock",_u=s({__noMigrations__:!0});var k,m,it,ee,te,Re,ba,ne,Ta,Oa,Sa,ka,Ia,mn,Fe,hn,Ea,Aa,Pa,fn,$a,Da,za,Ra,Fa,st;class xa{constructor(e){C(this,m);C(this,k);b(this,k,s(e))}async getMigrations(){const e=await w(this,m,Fe).call(this,i(this,m,te))?await i(this,k).db.withPlugin(i(this,m,ne)).selectFrom(i(this,m,te)).select(["name","timestamp"]).$narrowType().execute():[];return(await w(this,m,fn).call(this)).map(({name:a,...r})=>{const o=e.find(u=>u.name===a);return{name:a,migration:r,executedAt:o?new Date(o.timestamp):void 0}})}async migrateToLatest(){return w(this,m,it).call(this,()=>({direction:"Up",step:1/0}))}async migrateTo(e){return w(this,m,it).call(this,({migrations:n,executedMigrations:a,pendingMigrations:r})=>{if(e===_u)return{direction:"Down",step:1/0};if(!n.find(c=>c.name===e))throw new Error(`migration "${e}" doesn't exist`);const o=a.indexOf(e),u=r.findIndex(c=>c.name===e);if(o!==-1)return{direction:"Down",step:a.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,it).call(this,()=>({direction:"Up",step:1}))}async migrateDown(){return w(this,m,it).call(this,()=>({direction:"Down",step:1}))}}k=new WeakMap,m=new WeakSet,it=async function(e){try{return await w(this,m,Ta).call(this),await w(this,m,Ea).call(this,e)}catch(n){return n instanceof Ht?n.resultSet:{error:n}}},ee=function(){return i(this,k).migrationTableSchema},te=function(){return i(this,k).migrationTableName??du},Re=function(){return i(this,k).migrationLockTableName??Un},ba=function(){return i(this,k).allowUnorderedMigrations??lu},ne=function(){return i(this,m,ee)?new pa(i(this,m,ee)):new cu},Ta=async function(){await w(this,m,Oa).call(this),await w(this,m,Sa).call(this),await w(this,m,ka).call(this),await w(this,m,Ia).call(this)},Oa=async function(){if(i(this,m,ee)&&!await w(this,m,mn).call(this))try{await w(this,m,st).call(this,i(this,k).db.schema.createSchema(i(this,m,ee)))}catch(e){if(!await w(this,m,mn).call(this))throw e}},Sa=async function(){if(!await w(this,m,Fe).call(this,i(this,m,te)))try{i(this,m,ee)&&await w(this,m,st).call(this,i(this,k).db.schema.createSchema(i(this,m,ee))),await w(this,m,st).call(this,i(this,k).db.schema.withPlugin(i(this,m,ne)).createTable(i(this,m,te)).addColumn("name","varchar(255)",e=>e.notNull().primaryKey()).addColumn("timestamp","varchar(255)",e=>e.notNull()))}catch(e){if(!await w(this,m,Fe).call(this,i(this,m,te)))throw e}},ka=async function(){if(!await w(this,m,Fe).call(this,i(this,m,Re)))try{await w(this,m,st).call(this,i(this,k).db.schema.withPlugin(i(this,m,ne)).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,Fe).call(this,i(this,m,Re)))throw e}},Ia=async function(){if(!await w(this,m,hn).call(this))try{await i(this,k).db.withPlugin(i(this,m,ne)).insertInto(i(this,m,Re)).values({id:Yt,is_locked:0}).execute()}catch(e){if(!await w(this,m,hn).call(this))throw e}},mn=async function(){return(await i(this,k).db.introspection.getSchemas()).some(n=>n.name===i(this,m,ee))},Fe=async function(e){const n=i(this,m,ee);return(await i(this,k).db.introspection.getTables({withInternalKyselyTables:!0})).some(r=>r.name===e&&(!n||r.schema===n))},hn=async function(){return!!await i(this,k).db.withPlugin(i(this,m,ne)).selectFrom(i(this,m,Re)).where("id","=",Yt).select("id").executeTakeFirst()},Ea=async function(e){const n=i(this,k).db.getExecutor().adapter,a=s({lockTable:i(this,k).migrationLockTableName??Un,lockRowId:Yt,lockTableSchema:i(this,k).migrationTableSchema}),r=async o=>{try{await n.acquireMigrationLock(o,a);const u=await w(this,m,Aa).call(this,o);if(u.migrations.length===0)return{results:[]};const{direction:c,step:d}=e(u);return d<=0?{results:[]}:c==="Down"?await w(this,m,Ra).call(this,o,u,d):c==="Up"?await w(this,m,Fa).call(this,o,u,d):{results:[]}}finally{await n.releaseMigrationLock(o,a)}};return n.supportsTransactionalDdl?i(this,k).db.transaction().execute(r):i(this,k).db.connection().execute(r)},Aa=async function(e){const n=await w(this,m,fn).call(this),a=await w(this,m,$a).call(this,e);w(this,m,Da).call(this,n,a),i(this,m,ba)||w(this,m,za).call(this,n,a);const r=w(this,m,Pa).call(this,n,a);return s({migrations:n,executedMigrations:a,lastMigration:Wi(a),pendingMigrations:r})},Pa=function(e,n){return e.filter(a=>!n.includes(a.name))},fn=async function(){const e=await i(this,k).provider.getMigrations();return Object.keys(e).sort().map(n=>({...e[n],name:n}))},$a=async function(e){const n=await e.withPlugin(i(this,m,ne)).selectFrom(i(this,m,te)).select(["name","timestamp"]).$narrowType().execute(),a=i(this,k).nameComparator||((r,o)=>r.localeCompare(o));return n.sort((r,o)=>r.timestamp===o.timestamp?a(r.name,o.name):new Date(r.timestamp).getTime()-new Date(o.timestamp).getTime()).map(r=>r.name)},Da=function(e,n){for(const a of n)if(!e.some(r=>r.name===a))throw new Error(`corrupted migrations: previously executed migration ${a} is missing`)},za=function(e,n){for(let a=0;a<n.length;++a)if(e[a].name!==n[a])throw new Error(`corrupted migrations: expected previously executed migration ${n[a]} to be at index ${a} but ${e[a].name} was found in its place. New migrations must always have a name that comes alphabetically after the last executed migration.`)},Ra=async function(e,n,a){const r=n.executedMigrations.slice().reverse().slice(0,a).map(u=>n.migrations.find(c=>c.name===u)),o=r.map(u=>({migrationName:u.name,direction:"Down",status:"NotExecuted"}));for(let u=0;u<o.length;++u){const c=r[u];try{c.down&&(await c.down(e),await e.withPlugin(i(this,m,ne)).deleteFrom(i(this,m,te)).where("name","=",c.name).execute(),o[u]={migrationName:c.name,direction:"Down",status:"Success"})}catch(d){throw o[u]={migrationName:c.name,direction:"Down",status:"Error"},new Ht({error:d,results:o})}}return{results:o}},Fa=async function(e,n,a){const o=n.pendingMigrations.slice(0,a).map(u=>({migrationName:u.name,direction:"Up",status:"NotExecuted"}));for(let u=0;u<o.length;u++){const c=n.pendingMigrations[u];try{await c.up(e),await e.withPlugin(i(this,m,ne)).insertInto(i(this,m,te)).values({name:c.name,timestamp:new Date().toISOString()}).execute(),o[u]={migrationName:c.name,direction:"Up",status:"Success"}}catch(d){throw o[u]={migrationName:c.name,direction:"Up",status:"Error"},new Ht({error:d,results:o})}}return{results:o}},st=async function(e){i(this,k).db.getExecutor().adapter.supportsCreateIfNotExists&&(e=e.ifNotExists()),await e.execute()};var Nt;class Ht extends Error{constructor(n){super();C(this,Nt);b(this,Nt,n)}get resultSet(){return i(this,Nt)}}Nt=new WeakMap;class ja{constructor(e){se(this,"migrations");this.migrations=e}async getMigrations(){return this.migrations}}async function mu(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 hu(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 fu=Object.freeze(Object.defineProperty({__proto__:null,down:hu,up:mu},Symbol.toStringTag,{value:"Module"}));async function pu(t){await t.schema.alterTable("tenants").addColumn("support_url","varchar(255)").execute()}async function gu(t){await t.schema.alterTable("tenants").dropColumn("support_url").execute()}const yu=Object.freeze(Object.defineProperty({__proto__:null,down:gu,up:pu},Symbol.toStringTag,{value:"Module"}));async function wu(t){}async function Nu(t){}const vu=Object.freeze(Object.defineProperty({__proto__:null,down:Nu,up:wu},Symbol.toStringTag,{value:"Module"}));async function Cu(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 xu(t){await t.schema.dropTable("logs").execute()}const bu=Object.freeze(Object.defineProperty({__proto__:null,down:xu,up:Cu},Symbol.toStringTag,{value:"Module"}));async function Tu(t){}async function Ou(t){}const Su=Object.freeze(Object.defineProperty({__proto__:null,down:Ou,up:Tu},Symbol.toStringTag,{value:"Module"}));async function ku(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 Iu(t){await t.schema.dropTable("sessions").execute(),await t.schema.dropTable("tickets").execute(),await t.schema.dropTable("otps").execute()}const Eu=Object.freeze(Object.defineProperty({__proto__:null,down:Iu,up:ku},Symbol.toStringTag,{value:"Module"}));async function Au(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 Pu(t){await t.schema.dropTable("passwords").execute(),await t.schema.dropTable("codes").execute()}const $u=Object.freeze(Object.defineProperty({__proto__:null,down:Pu,up:Au},Symbol.toStringTag,{value:"Module"}));async function Du(t){}async function zu(t){}const Ru=Object.freeze(Object.defineProperty({__proto__:null,down:zu,up:Du},Symbol.toStringTag,{value:"Module"}));async function Fu(t){await t.schema.alterTable("passwords").addColumn("password","varchar(255)",e=>e.notNull()).execute()}async function ju(t){await t.schema.alterTable("passwords").dropColumn("password").execute()}const Lu=Object.freeze(Object.defineProperty({__proto__:null,down:ju,up:Fu},Symbol.toStringTag,{value:"Module"}));async function Mu(t){}async function Ju(t){}const qu=Object.freeze(Object.defineProperty({__proto__:null,down:Ju,up:Mu},Symbol.toStringTag,{value:"Module"}));async function Bu(t){}async function Wu(t){}const Ku=Object.freeze(Object.defineProperty({__proto__:null,down:Wu,up:Bu},Symbol.toStringTag,{value:"Module"}));async function Uu(t){}async function Qu(t){}const Vu=Object.freeze(Object.defineProperty({__proto__:null,down:Qu,up:Uu},Symbol.toStringTag,{value:"Module"}));async function Gu(t){await t.schema.createIndex("users_email_index").on("users").column("email").execute()}async function Yu(t){await t.schema.dropIndex("users_email_index").execute()}const Hu=Object.freeze(Object.defineProperty({__proto__:null,down:Yu,up:Gu},Symbol.toStringTag,{value:"Module"}));async function Xu(t){await t.schema.alterTable("users").addColumn("profileData","varchar(2048)").execute()}async function Zu(t){await t.schema.alterTable("users").dropColumn("profileData").execute()}const ec=Object.freeze(Object.defineProperty({__proto__:null,down:Zu,up:Xu},Symbol.toStringTag,{value:"Module"}));async function tc(t){await t.schema.createIndex("users_linked_to_index").on("users").column("linked_to").execute()}async function nc(t){await t.schema.dropIndex("users_linked_to_index")}const ac=Object.freeze(Object.defineProperty({__proto__:null,down:nc,up:tc},Symbol.toStringTag,{value:"Module"}));async function rc(t){await t.schema.alterTable("users").addColumn("locale","varchar(255)").execute()}async function oc(t){await t.schema.alterTable("users").dropColumn("locale").execute()}const ic=Object.freeze(Object.defineProperty({__proto__:null,down:oc,up:rc},Symbol.toStringTag,{value:"Module"}));async function sc(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 uc(t){await t.schema.dropTable("keys").execute()}const cc=Object.freeze(Object.defineProperty({__proto__:null,down:uc,up:sc},Symbol.toStringTag,{value:"Module"}));async function dc(t){}async function lc(t){}const _c=Object.freeze(Object.defineProperty({__proto__:null,down:lc,up:dc},Symbol.toStringTag,{value:"Module"}));async function mc(t){}async function hc(t){}const fc=Object.freeze(Object.defineProperty({__proto__:null,down:hc,up:mc},Symbol.toStringTag,{value:"Module"}));async function pc(t){await t.schema.alterTable("otps").addColumn("audience","varchar(255)").execute()}async function gc(t){await t.schema.alterTable("otps").dropColumn("audience").execute()}const yc=Object.freeze(Object.defineProperty({__proto__:null,down:gc,up:pc},Symbol.toStringTag,{value:"Module"}));async function wc(t){}async function Nc(t){}const vc=Object.freeze(Object.defineProperty({__proto__:null,down:Nc,up:wc},Symbol.toStringTag,{value:"Module"}));async function Cc(t){await t.schema.alterTable("logs").dropColumn("category").execute()}async function xc(t){await t.schema.alterTable("logs").addColumn("category","varchar(255)",e=>e.notNull()).execute()}const bc=Object.freeze(Object.defineProperty({__proto__:null,down:xc,up:Cc},Symbol.toStringTag,{value:"Module"}));async function Tc(t){await t.schema.alterTable("users").dropColumn("tags").execute()}async function Oc(t){await t.schema.alterTable("users").addColumn("tags","varchar(255)").execute()}const Sc=Object.freeze(Object.defineProperty({__proto__:null,down:Oc,up:Tc},Symbol.toStringTag,{value:"Module"}));async function kc(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 Ic(t){await t.schema.dropIndex("logs_user_id"),await t.schema.dropIndex("logs_tenant_id"),await t.schema.dropIndex("logs_date")}const Ec=Object.freeze(Object.defineProperty({__proto__:null,down:Ic,up:kc},Symbol.toStringTag,{value:"Module"}));async function Ac(t){await t.schema.alterTable("logs").dropColumn("details").execute(),await t.schema.alterTable("logs").addColumn("details","varchar(8192)").execute()}async function Pc(t){await t.schema.alterTable("logs").dropColumn("details").execute(),await t.schema.alterTable("logs").addColumn("details","varchar(2048)").execute()}const $c=Object.freeze(Object.defineProperty({__proto__:null,down:Pc,up:Ac},Symbol.toStringTag,{value:"Module"}));async function Dc(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 zc(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 Rc=Object.freeze(Object.defineProperty({__proto__:null,down:zc,up:Dc},Symbol.toStringTag,{value:"Module"}));async function Fc(t){await t.schema.createIndex("users_name_index").on("users").column("name").execute()}async function jc(t){await t.schema.dropIndex("users_name_index").execute()}const Lc=Object.freeze(Object.defineProperty({__proto__:null,down:jc,up:Fc},Symbol.toStringTag,{value:"Module"}));async function Mc(t){}async function Jc(t){await t.schema.alterTable("users").dropConstraint("unique_email_provider").execute()}const qc=Object.freeze(Object.defineProperty({__proto__:null,down:Jc,up:Mc},Symbol.toStringTag,{value:"Module"}));async function Bc(t){await t.schema.alterTable("otps").dropColumn("state").execute(),await t.schema.alterTable("otps").addColumn("state","varchar(8192)").execute()}async function Wc(t){await t.schema.alterTable("otps").dropColumn("state").execute(),await t.schema.alterTable("otps").addColumn("state","varchar(1024)").execute()}const Kc=Object.freeze(Object.defineProperty({__proto__:null,down:Wc,up:Bc},Symbol.toStringTag,{value:"Module"}));async function Uc(t){await t.schema.alterTable("tickets").dropColumn("state").execute(),await t.schema.alterTable("tickets").addColumn("state","varchar(8192)").execute()}async function Qc(t){await t.schema.alterTable("tickets").dropColumn("state").execute(),await t.schema.alterTable("tickets").addColumn("state","varchar(1024)").execute()}const Vc=Object.freeze(Object.defineProperty({__proto__:null,down:Qc,up:Uc},Symbol.toStringTag,{value:"Module"}));async function Gc(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 Yc(t){await t.schema.dropTable("branding").execute()}const Hc=Object.freeze(Object.defineProperty({__proto__:null,down:Yc,up:Gc},Symbol.toStringTag,{value:"Module"}));async function Xc(t){}async function Zc(t){}const ed=Object.freeze(Object.defineProperty({__proto__:null,down:Zc,up:Xc},Symbol.toStringTag,{value:"Module"}));async function td(t){}async function nd(t){}const ad=Object.freeze(Object.defineProperty({__proto__:null,down:nd,up:td},Symbol.toStringTag,{value:"Module"}));async function rd(t){}async function od(t){}const id=Object.freeze(Object.defineProperty({__proto__:null,down:od,up:rd},Symbol.toStringTag,{value:"Module"}));async function sd(t){}async function ud(t){}const cd=Object.freeze(Object.defineProperty({__proto__:null,down:ud,up:sd},Symbol.toStringTag,{value:"Module"}));async function dd(t){await t.schema.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 ld(t){await t.schema.dropTable("authentication_codes").execute()}const _d=Object.freeze(Object.defineProperty({__proto__:null,down:ld,up:dd},Symbol.toStringTag,{value:"Module"}));async function md(t){}async function hd(t){}const fd=Object.freeze(Object.defineProperty({__proto__:null,down:hd,up:md},Symbol.toStringTag,{value:"Module"}));async function pd(t){await t.schema.alterTable("otps").addColumn("ip","varchar(64)").execute()}async function gd(t){await t.schema.alterTable("otps").dropColumn("ip").execute()}const yd=Object.freeze(Object.defineProperty({__proto__:null,down:gd,up:pd},Symbol.toStringTag,{value:"Module"}));async function wd(t){await t.schema.alterTable("logs").dropColumn("user_agent").execute(),await t.schema.alterTable("logs").addColumn("user_agent","varchar(1024)").execute()}async function Nd(t){await t.schema.alterTable("logs").dropColumn("user_agent").execute(),await t.schema.alterTable("logs").addColumn("user_agent","varchar(255)").execute()}const vd=Object.freeze(Object.defineProperty({__proto__:null,down:Nd,up:wd},Symbol.toStringTag,{value:"Module"}));async function Cd(t){}async function xd(t){}const bd=Object.freeze(Object.defineProperty({__proto__:null,down:xd,up:Cd},Symbol.toStringTag,{value:"Module"}));async function Td(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 Od(t){await t.schema.dropTable("hooks").execute()}const Sd=Object.freeze(Object.defineProperty({__proto__:null,down:Od,up:Td},Symbol.toStringTag,{value:"Module"}));async function kd(t){}async function Id(t){}const Ed=Object.freeze(Object.defineProperty({__proto__:null,down:Id,up:kd},Symbol.toStringTag,{value:"Module"}));async function Ad(t){}async function Pd(t){}const $d=Object.freeze(Object.defineProperty({__proto__:null,down:Pd,up:Ad},Symbol.toStringTag,{value:"Module"}));async function Dd(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 zd(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 Rd=Object.freeze(Object.defineProperty({__proto__:null,down:zd,up:Dd},Symbol.toStringTag,{value:"Module"}));async function Fd(t){}async function jd(t){}const Ld=Object.freeze(Object.defineProperty({__proto__:null,down:jd,up:Fd},Symbol.toStringTag,{value:"Module"}));async function Md(t){await t.schema.alterTable("logins").addColumn("auth0Client","varchar(256)").execute()}async function Jd(t){await t.schema.alterTable("logins").dropColumn("auth0Client").execute()}const qd=Object.freeze(Object.defineProperty({__proto__:null,down:Jd,up:Md},Symbol.toStringTag,{value:"Module"}));async function Bd(t){await t.schema.alterTable("logins").dropColumn("authParams_state").execute(),await t.schema.alterTable("logins").addColumn("authParams_state","varchar(8192)").execute()}async function Wd(t){await t.schema.alterTable("logins").dropColumn("authParams_state").execute(),await t.schema.alterTable("logins").addColumn("authParams_state","varchar(511)").execute()}const Kd=Object.freeze(Object.defineProperty({__proto__:null,down:Wd,up:Bd},Symbol.toStringTag,{value:"Module"}));async function Ud(t){}async function Qd(t){}const Vd=Object.freeze(Object.defineProperty({__proto__:null,down:Qd,up:Ud},Symbol.toStringTag,{value:"Module"}));async function Gd(t){}async function Yd(t){}const Hd=Object.freeze(Object.defineProperty({__proto__:null,down:Yd,up:Gd},Symbol.toStringTag,{value:"Module"}));async function Xd(t){await t.schema.alterTable("logins").addColumn("authParams_nonce","varchar(255)").execute()}async function Zd(t){await t.schema.alterTable("logins").dropColumn("nonce").execute()}const el=Object.freeze(Object.defineProperty({__proto__:null,down:Zd,up:Xd},Symbol.toStringTag,{value:"Module"}));async function tl(t){}async function nl(t){}const al=Object.freeze(Object.defineProperty({__proto__:null,down:nl,up:tl},Symbol.toStringTag,{value:"Module"}));async function rl(t){}async function ol(t){}const il=Object.freeze(Object.defineProperty({__proto__:null,down:ol,up:rl},Symbol.toStringTag,{value:"Module"}));async function sl(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 ul(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 cl=Object.freeze(Object.defineProperty({__proto__:null,down:ul,up:sl},Symbol.toStringTag,{value:"Module"}));async function dl(t){await t.schema.dropTable("otps").execute(),await t.schema.dropTable("authentication_codes").execute()}async function ll(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 _l=Object.freeze(Object.defineProperty({__proto__:null,down:ll,up:dl},Symbol.toStringTag,{value:"Module"}));async function ml(t){await t.schema.createIndex("IDX_logs_tenant_date_type_user").on("logs").columns(["tenant_id","date","type","user_id"]).execute()}async function hl(t){await t.schema.dropIndex("IDX_logs_tenant_date_type_user").on("logs").execute()}const fl=Object.freeze(Object.defineProperty({__proto__:null,down:hl,up:ml},Symbol.toStringTag,{value:"Module"}));async function pl(t){}async function gl(t){}const yl=Object.freeze(Object.defineProperty({__proto__:null,down:gl,up:pl},Symbol.toStringTag,{value:"Module"}));async function wl(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 Nl(t){await t.schema.dropTable("prompt_settings").execute()}const vl=Object.freeze(Object.defineProperty({__proto__:null,down:Nl,up:wl},Symbol.toStringTag,{value:"Module"}));async function Cl(t){}async function xl(t){}const bl=Object.freeze(Object.defineProperty({__proto__:null,down:xl,up:Cl},Symbol.toStringTag,{value:"Module"}));async function Tl(t){}async function Ol(t){}const Sl=Object.freeze(Object.defineProperty({__proto__:null,down:Ol,up:Tl},Symbol.toStringTag,{value:"Module"}));async function kl(t){}async function Il(t){}const El=Object.freeze(Object.defineProperty({__proto__:null,down:Il,up:kl},Symbol.toStringTag,{value:"Module"}));async function Al(t){await t.schema.alterTable("logins").addColumn("authParams_ui_locales","varchar(32)").execute()}async function Pl(t){await t.schema.alterTable("logins").dropColumn("authParams_ui_locales").execute()}const $l=Object.freeze(Object.defineProperty({__proto__:null,down:Pl,up:Al},Symbol.toStringTag,{value:"Module"}));async function Dl(t){await t.schema.alterTable("logins").addColumn("authParams_prompt","varchar(16)").execute()}async function zl(t){await t.schema.alterTable("logins").dropColumn("authParams_prompt").execute()}const Rl=Object.freeze(Object.defineProperty({__proto__:null,down:zl,up:Dl},Symbol.toStringTag,{value:"Module"}));async function Fl(t){}async function jl(t){}const Ll=Object.freeze(Object.defineProperty({__proto__:null,down:jl,up:Fl},Symbol.toStringTag,{value:"Module"}));async function Ml(t){await t.schema.alterTable("logins").addColumn("authParams_act_as","varchar(255)").execute()}async function Jl(t){await t.schema.alterTable("logins").dropColumn("authParam_act_as").execute()}const ql=Object.freeze(Object.defineProperty({__proto__:null,down:Jl,up:Ml},Symbol.toStringTag,{value:"Module"}));async function Bl(t){await t.schema.alterTable("codes").addColumn("code_verifier","varchar(128)").execute()}async function Wl(t){await t.schema.alterTable("codes").dropColumn("code_verifier").execute()}const Kl=Object.freeze(Object.defineProperty({__proto__:null,down:Wl,up:Bl},Symbol.toStringTag,{value:"Module"}));async function Ul(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 Ql(t){await t.schema.dropTable("email_providers").execute()}const Vl=Object.freeze(Object.defineProperty({__proto__:null,down:Ql,up:Ul},Symbol.toStringTag,{value:"Module"}));async function Gl(t){await t.schema.dropTable("tickets").execute()}async function Yl(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 Hl=Object.freeze(Object.defineProperty({__proto__:null,down:Yl,up:Gl},Symbol.toStringTag,{value:"Module"}));async function Xl(t){}async function Zl(t){await t.schema.alterTable("logins").dropColumn("ip").dropColumn("useragent").execute()}const e_=Object.freeze(Object.defineProperty({__proto__:null,down:Zl,up:Xl},Symbol.toStringTag,{value:"Module"}));async function t_(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 n_(t){await t.schema.dropTable("refresh_tokens").execute()}const a_=Object.freeze(Object.defineProperty({__proto__:null,down:n_,up:t_},Symbol.toStringTag,{value:"Module"}));async function r_(t){}async function o_(t){}const i_=Object.freeze(Object.defineProperty({__proto__:null,down:o_,up:r_},Symbol.toStringTag,{value:"Module"}));async function s_(t){await t.schema.dropTable("sessions").execute(),await t.schema.dropTable("refresh_tokens").execute()}async function u_(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 c_=Object.freeze(Object.defineProperty({__proto__:null,down:u_,up:s_},Symbol.toStringTag,{value:"Module"}));async function d_(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 l_(t){await t.schema.dropTable("sessions_2").execute(),await t.schema.dropTable("refresh_tokens_2").execute()}const __=Object.freeze(Object.defineProperty({__proto__:null,down:l_,up:d_},Symbol.toStringTag,{value:"Module"}));async function m_(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 h_(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 f_=Object.freeze(Object.defineProperty({__proto__:null,down:h_,up:m_},Symbol.toStringTag,{value:"Module"}));async function p_(t){}async function g_(t){await t.schema.alterTable("logins").dropColumn("authParams_organization").dropColumn("authorization_url").execute()}const y_=Object.freeze(Object.defineProperty({__proto__:null,down:g_,up:p_},Symbol.toStringTag,{value:"Module"}));async function w_(t){await t.schema.alterTable("logins").dropColumn("authorization_url").execute(),await t.schema.alterTable("logins").addColumn("authorization_url","varchar(2048)").execute()}async function N_(t){await t.schema.alterTable("logins").dropColumn("authorization_url").execute(),await t.schema.alterTable("logins").addColumn("authorization_url","varchar(1024)").execute()}const v_=Object.freeze(Object.defineProperty({__proto__:null,down:N_,up:w_},Symbol.toStringTag,{value:"Module"}));async function C_(t){}async function x_(t){}const b_=Object.freeze(Object.defineProperty({__proto__:null,down:x_,up:C_},Symbol.toStringTag,{value:"Module"}));async function T_(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 O_(t){await t.schema.dropTable("sessions").execute(),await t.schema.dropTable("login_sessions").execute(),await t.schema.dropTable("refresh_tokens").execute()}const S_=Object.freeze(Object.defineProperty({__proto__:null,down:O_,up:T_},Symbol.toStringTag,{value:"Module"}));async function k_(t){await t.schema.dropTable("logins").execute(),await t.schema.dropTable("sessions_2").execute(),await t.schema.dropTable("refresh_tokens_2").execute()}async function I_(t){}const E_=Object.freeze(Object.defineProperty({__proto__:null,down:I_,up:k_},Symbol.toStringTag,{value:"Module"}));async function A_(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 P_(t){}const $_=Object.freeze(Object.defineProperty({__proto__:null,down:P_,up:A_},Symbol.toStringTag,{value:"Module"}));async function D_(t){}async function z_(t){await t.schema.alterTable("users").dropColumn("phone_number").dropColumn("phone_verified").dropColumn("username").execute()}const R_=Object.freeze(Object.defineProperty({__proto__:null,down:z_,up:D_},Symbol.toStringTag,{value:"Module"}));async function F_(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 j_(t){await t.schema.dropTable("forms").execute()}const L_=Object.freeze(Object.defineProperty({__proto__:null,down:j_,up:F_},Symbol.toStringTag,{value:"Module"}));async function M_(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 J_(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 q_=Object.freeze(Object.defineProperty({__proto__:null,down:J_,up:M_},Symbol.toStringTag,{value:"Module"}));async function B_(t){await t.schema.alterTable("login_sessions").addColumn("login_completed","boolean",e=>e.notNull().defaultTo(0)).execute()}async function W_(t){await t.schema.alterTable("login_sessions").dropColumn("login_completed").execute()}const K_=Object.freeze(Object.defineProperty({__proto__:null,down:W_,up:B_},Symbol.toStringTag,{value:"Module"}));async function U_(t){await t.schema.alterTable("sessions").addColumn("login_session_id","varchar(21)",e=>e.references("login_sessions.id").onDelete("set null")).execute()}async function Q_(t){await t.schema.alterTable("sessions").dropColumn("login_session_id").execute()}const V_=Object.freeze(Object.defineProperty({__proto__:null,down:Q_,up:U_},Symbol.toStringTag,{value:"Module"}));async function G_(t){await t.schema.createIndex("IDX_sessions_login_session_id").on("sessions").column("login_session_id").execute()}async function Y_(t){await t.schema.dropIndex("IDX_sessions_login_session_id").on("sessions").execute()}const H_=Object.freeze(Object.defineProperty({__proto__:null,down:Y_,up:G_},Symbol.toStringTag,{value:"Module"}));async function X_(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 Z_(t){await t.schema.alterTable("codes").dropColumn("code_challenge").execute(),await t.schema.alterTable("codes").dropColumn("code_challenge_method").execute()}const em=Object.freeze(Object.defineProperty({__proto__:null,down:Z_,up:X_},Symbol.toStringTag,{value:"Module"}));async function tm(t){await t.schema.alterTable("codes").addColumn("redirect_uri","varchar(1024)").execute()}async function nm(t){await t.schema.alterTable("codes").dropColumn("redirect_uri").execute()}const am=Object.freeze(Object.defineProperty({__proto__:null,down:nm,up:tm},Symbol.toStringTag,{value:"Module"}));async function rm(t){await t.schema.alterTable("codes").addColumn("nonce","varchar(1024)").execute(),await t.schema.alterTable("codes").addColumn("state","varchar(2048)").execute()}async function om(t){await t.schema.alterTable("codes").dropColumn("nonce").execute(),await t.schema.alterTable("codes").dropColumn("state").execute()}const im=Object.freeze(Object.defineProperty({__proto__:null,down:om,up:rm},Symbol.toStringTag,{value:"Module"}));async function sm(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 um(t){await t.schema.dropTable("themes").execute()}const cm=Object.freeze(Object.defineProperty({__proto__:null,down:um,up:sm},Symbol.toStringTag,{value:"Module"}));async function dm(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 lm(t){await t.schema.dropTable("roles").execute(),await t.schema.dropTable("resource_servers").execute()}const _m=Object.freeze(Object.defineProperty({__proto__:null,down:lm,up:dm},Symbol.toStringTag,{value:"Module"}));async function mm(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 hm(t){await t.schema.dropTable("user_permissions").execute(),await t.schema.dropTable("role_permissions").execute()}const fm=Object.freeze(Object.defineProperty({__proto__:null,down:hm,up:mm},Symbol.toStringTag,{value:"Module"}));async function pm(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 gm(t){await t.schema.dropTable("user_roles").execute()}const ym=Object.freeze(Object.defineProperty({__proto__:null,down:gm,up:pm},Symbol.toStringTag,{value:"Module"}));async function wm(t){}async function Nm(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 vm=Object.freeze(Object.defineProperty({__proto__:null,down:Nm,up:wm},Symbol.toStringTag,{value:"Module"}));async function Cm(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 xm(t){await t.schema.dropTable("organizations").execute()}const bm=Object.freeze(Object.defineProperty({__proto__:null,down:xm,up:Cm},Symbol.toStringTag,{value:"Module"}));async function Tm(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 Om(t){await t.schema.dropTable("user_organizations").execute()}const Sm=Object.freeze(Object.defineProperty({__proto__:null,down:Om,up:Tm},Symbol.toStringTag,{value:"Module"}));async function km(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 Im(t){await t.schema.dropTable("user_permissions").execute(),await t.schema.dropTable("user_roles").execute(),await t.schema.createTable("user_permissions").addColumn("tenant_id","varchar(191)",e=>e.notNull()).addColumn("user_id","varchar(191)",e=>e.notNull()).addColumn("resource_server_identifier","varchar(191)",e=>e.notNull()).addColumn("permission_name","varchar(191)",e=>e.notNull()).addColumn("created_at","varchar(35)",e=>e.notNull()).addPrimaryKeyConstraint("user_permissions_pk",["tenant_id","user_id","resource_server_identifier","permission_name"]).execute(),await t.schema.createIndex("user_permissions_user_fk").on("user_permissions").columns(["tenant_id","user_id"]).execute(),await t.schema.createIndex("user_permissions_permission_fk").on("user_permissions").columns(["tenant_id","resource_server_identifier","permission_name"]).execute(),await t.schema.createTable("user_roles").addColumn("tenant_id","varchar(191)",e=>e.notNull()).addColumn("user_id","varchar(191)",e=>e.notNull()).addColumn("role_id","varchar(21)",e=>e.notNull()).addColumn("created_at","varchar(35)",e=>e.notNull()).addPrimaryKeyConstraint("user_roles_pk",["tenant_id","user_id","role_id"]).execute(),await t.schema.createIndex("user_roles_user_fk").on("user_roles").columns(["tenant_id","user_id"]).execute(),await t.schema.createIndex("user_roles_role_fk").on("user_roles").columns(["tenant_id","role_id"]).execute()}const Em=Object.freeze(Object.defineProperty({__proto__:null,down:Im,up:km},Symbol.toStringTag,{value:"Module"}));async function Am(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 Pm(t){await t.schema.dropTable("clients").execute()}const $m=Object.freeze(Object.defineProperty({__proto__:null,down:Pm,up:Am},Symbol.toStringTag,{value:"Module"}));async function La(t){try{return await g`SELECT VERSION()`.execute(t),"mysql"}catch{return"sqlite"}}async function Dm(t){await La(t)==="mysql"?await zm(t):await Rm(t)}async function zm(t){await t.transaction().execute(async e=>{const n=await g`
|
|
2
2
|
SELECT
|
|
3
3
|
rc.CONSTRAINT_NAME,
|
|
4
4
|
rc.TABLE_NAME
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
authParams_nonce, authParams_code_challenge_method, authParams_code_challenge, authParams_redirect_uri,
|
|
30
30
|
authParams_organization, authParams_prompt, authParams_act_as, authParams_ui_locales, authorization_url,
|
|
31
31
|
created_at, updated_at, expires_at, ip, useragent, auth0Client, login_completed
|
|
32
|
-
FROM login_sessions_backup`.execute(e),await g`DROP TABLE sessions_backup`.execute(e),await g`DROP TABLE login_sessions_backup`.execute(e),await g`DROP TABLE refresh_tokens_backup`.execute(e)})}async function
|
|
32
|
+
FROM login_sessions_backup`.execute(e),await g`DROP TABLE sessions_backup`.execute(e),await g`DROP TABLE login_sessions_backup`.execute(e),await g`DROP TABLE refresh_tokens_backup`.execute(e)})}async function Rm(t){await t.transaction().execute(async e=>{const n=["sessions_backup","login_sessions_backup","refresh_tokens_backup"];for(const a of n)try{await g`DROP TABLE IF EXISTS ${g.raw(a)}`.execute(e)}catch(r){console.warn(`Failed to drop backup table ${a}:`,r)}await g`CREATE TABLE sessions_backup AS SELECT * FROM sessions`.execute(e),await g`CREATE TABLE login_sessions_backup AS SELECT * FROM login_sessions`.execute(e),await g`CREATE TABLE refresh_tokens_backup AS SELECT * FROM refresh_tokens`.execute(e),await g`DROP TABLE sessions`.execute(e),await g`DROP TABLE login_sessions`.execute(e),await g`DROP TABLE refresh_tokens`.execute(e),await e.schema.createTable("refresh_tokens").addColumn("id","varchar(21)",a=>a.notNull()).addColumn("tenant_id","varchar(255)",a=>a.references("tenants.id").onDelete("cascade").notNull()).addColumn("client_id","varchar(191)",a=>a.notNull()).addColumn("session_id","varchar(21)",a=>a.notNull()).addColumn("user_id","varchar(255)").addColumn("resource_servers","text",a=>a.notNull()).addColumn("device","text",a=>a.notNull()).addColumn("rotating","boolean",a=>a.notNull()).addColumn("created_at","varchar(35)",a=>a.notNull()).addColumn("expires_at","varchar(35)").addColumn("idle_expires_at","varchar(35)").addColumn("last_exchanged_at","varchar(35)").addPrimaryKeyConstraint("refresh_tokens_pk",["tenant_id","id"]).addForeignKeyConstraint("refresh_tokens_client_fk",["tenant_id","client_id"],"clients",["tenant_id","client_id"],a=>a.onDelete("cascade")).execute(),await e.schema.createTable("sessions").addColumn("id","varchar(21)",a=>a.notNull()).addColumn("tenant_id","varchar(191)",a=>a.notNull()).addColumn("user_id","varchar(255)").addColumn("created_at","varchar(35)",a=>a.notNull()).addColumn("updated_at","varchar(35)",a=>a.notNull()).addColumn("expires_at","varchar(35)").addColumn("idle_expires_at","varchar(35)").addColumn("authenticated_at","varchar(35)").addColumn("last_interaction_at","varchar(35)").addColumn("used_at","varchar(35)").addColumn("revoked_at","varchar(35)").addColumn("device","text",a=>a.notNull()).addColumn("clients","text",a=>a.notNull()).addColumn("login_session_id","varchar(21)").addPrimaryKeyConstraint("sessions_pk",["tenant_id","id"]).addForeignKeyConstraint("sessions_user_fk",["user_id","tenant_id"],"users",["user_id","tenant_id"],a=>a.onDelete("cascade")).execute(),await e.schema.createTable("login_sessions").addColumn("id","varchar(21)",a=>a.notNull()).addColumn("tenant_id","varchar(255)",a=>a.references("tenants.id").onDelete("cascade").notNull()).addColumn("session_id","varchar(21)").addColumn("csrf_token","varchar(21)",a=>a.notNull()).addColumn("authParams_client_id","varchar(191)",a=>a.notNull()).addColumn("authParams_vendor_id","varchar(255)").addColumn("authParams_username","varchar(255)").addColumn("authParams_response_type","varchar(255)").addColumn("authParams_response_mode","varchar(255)").addColumn("authParams_audience","varchar(255)").addColumn("authParams_scope","text").addColumn("authParams_state","text").addColumn("authParams_nonce","varchar(255)").addColumn("authParams_code_challenge_method","varchar(255)").addColumn("authParams_code_challenge","varchar(255)").addColumn("authParams_redirect_uri","text").addColumn("authParams_organization","varchar(255)").addColumn("authParams_prompt","varchar(32)").addColumn("authParams_act_as","varchar(256)").addColumn("authParams_ui_locales","varchar(32)").addColumn("authorization_url","text").addColumn("created_at","varchar(35)",a=>a.notNull()).addColumn("updated_at","varchar(35)",a=>a.notNull()).addColumn("expires_at","varchar(35)",a=>a.notNull()).addColumn("ip","varchar(39)").addColumn("useragent","text").addColumn("auth0Client","varchar(255)").addColumn("login_completed","integer",a=>a.defaultTo(0)).addPrimaryKeyConstraint("login_sessions_pk",["tenant_id","id"]).addForeignKeyConstraint("login_sessions_client_fk",["tenant_id","authParams_client_id"],"clients",["tenant_id","client_id"],a=>a.onDelete("cascade")).addForeignKeyConstraint("login_sessions_session_fk",["tenant_id","session_id"],"sessions",["tenant_id","id"],a=>a.onDelete("cascade")).execute(),await g`INSERT INTO refresh_tokens
|
|
33
33
|
SELECT id, tenant_id, client_id, session_id, user_id, resource_servers, device, rotating,
|
|
34
34
|
created_at, expires_at, idle_expires_at, last_exchanged_at
|
|
35
35
|
FROM refresh_tokens_backup`.execute(e),await g`INSERT INTO sessions
|
|
@@ -41,13 +41,13 @@
|
|
|
41
41
|
authParams_nonce, authParams_code_challenge_method, authParams_code_challenge, authParams_redirect_uri,
|
|
42
42
|
authParams_organization, authParams_prompt, authParams_act_as, authParams_ui_locales, authorization_url,
|
|
43
43
|
created_at, updated_at, expires_at, ip, useragent, auth0Client, login_completed
|
|
44
|
-
FROM login_sessions_backup`.execute(e),await g`DROP TABLE sessions_backup`.execute(e),await g`DROP TABLE login_sessions_backup`.execute(e),await g`DROP TABLE refresh_tokens_backup`.execute(e)})}async function
|
|
44
|
+
FROM login_sessions_backup`.execute(e),await g`DROP TABLE sessions_backup`.execute(e),await g`DROP TABLE login_sessions_backup`.execute(e),await g`DROP TABLE refresh_tokens_backup`.execute(e)})}async function Fm(t){await La(t)==="mysql"?await jm(t):await Lm(t)}async function jm(t){await t.transaction().execute(async e=>{await g`ALTER TABLE refresh_tokens DROP FOREIGN KEY refresh_tokens_client_fk`.execute(e),await g`ALTER TABLE login_sessions DROP FOREIGN KEY login_sessions_client_fk`.execute(e),await g`ALTER TABLE refresh_tokens DROP PRIMARY KEY`.execute(e),await g`ALTER TABLE refresh_tokens ADD PRIMARY KEY (id)`.execute(e),await g`ALTER TABLE sessions DROP PRIMARY KEY`.execute(e),await g`ALTER TABLE sessions ADD PRIMARY KEY (id)`.execute(e),await g`ALTER TABLE login_sessions DROP PRIMARY KEY`.execute(e),await g`ALTER TABLE login_sessions ADD PRIMARY KEY (id)`.execute(e),await g`ALTER TABLE refresh_tokens
|
|
45
45
|
ADD CONSTRAINT refresh_tokens_application_fk
|
|
46
46
|
FOREIGN KEY (client_id) REFERENCES applications(id) ON DELETE CASCADE`.execute(e),await g`ALTER TABLE login_sessions
|
|
47
47
|
ADD CONSTRAINT login_sessions_application_fk
|
|
48
|
-
FOREIGN KEY (authParams_client_id) REFERENCES applications(id) ON DELETE CASCADE`.execute(e)})}async function
|
|
48
|
+
FOREIGN KEY (authParams_client_id) REFERENCES applications(id) ON DELETE CASCADE`.execute(e)})}async function Lm(t){await t.transaction().execute(async e=>{await g`CREATE TABLE refresh_tokens_temp AS SELECT * FROM refresh_tokens`.execute(e),await g`DROP TABLE refresh_tokens`.execute(e),await e.schema.createTable("refresh_tokens").addColumn("id","varchar(21)",n=>n.primaryKey()).addColumn("tenant_id","varchar(255)",n=>n.references("tenants.id").onDelete("cascade").notNull()).addColumn("client_id","varchar(21)",n=>n.references("applications.id").onDelete("cascade").notNull()).addColumn("session_id","varchar(21)",n=>n.notNull()).addColumn("user_id","varchar(255)").addColumn("resource_servers","varchar(255)",n=>n.notNull()).addColumn("device","varchar(255)",n=>n.notNull()).addColumn("rotating","boolean",n=>n.notNull()).addColumn("created_at","varchar(35)",n=>n.notNull()).addColumn("expires_at","varchar(35)").addColumn("idle_expires_at","varchar(35)").addColumn("last_exchanged_at","varchar(35)").execute(),await g`INSERT INTO refresh_tokens
|
|
49
49
|
SELECT id, tenant_id, client_id, session_id, user_id, resource_servers, device, rotating,
|
|
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 jm=Object.freeze(Object.defineProperty({__proto__:null,down:zm,up:$m},Symbol.toStringTag,{value:"Module"}));async function Lm(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 Mm(t){await t.schema.dropTable("client_grants").execute()}const Jm=Object.freeze(Object.defineProperty({__proto__:null,down:Mm,up:Lm},Symbol.toStringTag,{value:"Module"}));async function qm(t){await t.schema.dropTable("applications").execute()}async function Bm(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 Wm=Object.freeze(Object.defineProperty({__proto__:null,down:Bm,up:qm},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 Um(t){await t.schema.dropIndex("users_phone_tenant_provider_index").execute()}const Qm=Object.freeze(Object.defineProperty({__proto__:null,down:Um,up:Km},Symbol.toStringTag,{value:"Module"}));async function Vm(t){await t.schema.createIndex("login_sessions_id_index").on("login_sessions").column("id").execute()}async function Gm(t){await t.schema.dropIndex("login_sessions_id_index").execute()}const Ym=Object.freeze(Object.defineProperty({__proto__:null,down:Gm,up:Vm},Symbol.toStringTag,{value:"Module"}));async function Hm(t){await t.schema.createIndex("connections_tenant_id_index").on("connections").column("tenant_id").execute()}async function Xm(t){await t.schema.dropIndex("connections_tenant_id_index").execute()}const Zm=Object.freeze(Object.defineProperty({__proto__:null,down:Xm,up:Hm},Symbol.toStringTag,{value:"Module"}));async function eh(t){await t.schema.dropIndex("idx_user_organizations_tenant_id").execute()}async function th(t){await t.schema.createIndex("idx_user_organizations_tenant_id").on("user_organizations").column("tenant_id").execute()}const nh=Object.freeze(Object.defineProperty({__proto__:null,down:th,up:eh},Symbol.toStringTag,{value:"Module"}));async function ah(t){await t.schema.createTable("tenant_settings").addColumn("tenant_id","varchar(191)",e=>e.references("tenants.id").onDelete("cascade").notNull().primaryKey()).addColumn("idle_session_lifetime","integer").addColumn("session_lifetime","integer").addColumn("session_cookie","text").addColumn("enable_client_connections","integer").addColumn("default_redirection_uri","text").addColumn("enabled_locales","text").addColumn("default_directory","varchar(255)").addColumn("error_page","text").addColumn("flags","text").addColumn("friendly_name","varchar(255)").addColumn("picture_url","text").addColumn("support_email","varchar(255)").addColumn("support_url","text").addColumn("sandbox_version","varchar(50)").addColumn("sandbox_versions_available","text").addColumn("change_password","text").addColumn("guardian_mfa_page","text").addColumn("default_audience","varchar(255)").addColumn("default_organization","varchar(255)").addColumn("sessions","text").execute()}async function rh(t){await t.schema.dropTable("tenant_settings").execute()}const oh=Object.freeze(Object.defineProperty({__proto__:null,down:rh,up:ah},Symbol.toStringTag,{value:"Module"}));async function ih(t){if(await t.schema.alterTable("tenants").addColumn("idle_session_lifetime","integer").execute(),await t.schema.alterTable("tenants").addColumn("session_lifetime","integer").execute(),await t.schema.alterTable("tenants").addColumn("session_cookie","text").execute(),await t.schema.alterTable("tenants").addColumn("allowed_logout_urls","text").execute(),await t.schema.alterTable("tenants").addColumn("ephemeral_session_lifetime","integer").execute(),await t.schema.alterTable("tenants").addColumn("idle_ephemeral_session_lifetime","integer").execute(),await t.schema.alterTable("tenants").addColumn("default_redirection_uri","text").execute(),await t.schema.alterTable("tenants").addColumn("enabled_locales","text").execute(),await t.schema.alterTable("tenants").addColumn("default_directory","varchar(255)").execute(),await t.schema.alterTable("tenants").addColumn("error_page","text").execute(),await t.schema.alterTable("tenants").addColumn("flags","text").execute(),await t.schema.alterTable("tenants").addColumn("friendly_name","varchar(255)").execute(),await t.schema.alterTable("tenants").addColumn("picture_url","text").execute(),await t.schema.alterTable("tenants").addColumn("support_email","varchar(255)").execute(),await t.schema.alterTable("tenants").addColumn("sandbox_version","varchar(50)").execute(),await t.schema.alterTable("tenants").addColumn("sandbox_versions_available","text").execute(),await t.schema.alterTable("tenants").addColumn("legacy_sandbox_version","varchar(50)").execute(),await t.schema.alterTable("tenants").addColumn("change_password","text").execute(),await t.schema.alterTable("tenants").addColumn("guardian_mfa_page","text").execute(),await t.schema.alterTable("tenants").addColumn("device_flow","text").execute(),await t.schema.alterTable("tenants").addColumn("default_token_quota","text").execute(),await t.schema.alterTable("tenants").addColumn("default_audience","varchar(255)").execute(),await t.schema.alterTable("tenants").addColumn("default_organization","varchar(255)").execute(),await t.schema.alterTable("tenants").addColumn("sessions","text").execute(),await t.schema.alterTable("tenants").addColumn("oidc_logout","text").execute(),await t.schema.alterTable("tenants").addColumn("allow_organization_name_in_authentication_api","integer").execute(),await t.schema.alterTable("tenants").addColumn("customize_mfa_in_postlogin_action","integer").execute(),await t.schema.alterTable("tenants").addColumn("acr_values_supported","text").execute(),await t.schema.alterTable("tenants").addColumn("mtls","text").execute(),await t.schema.alterTable("tenants").addColumn("pushed_authorization_requests_supported","integer").execute(),await t.schema.alterTable("tenants").addColumn("authorization_response_iss_parameter_supported","integer").execute(),await t.updateTable("tenants").set({friendly_name:g`name`}).execute(),await t.schema.alterTable("tenants").dropColumn("language").execute(),await t.schema.alterTable("tenants").dropColumn("logo").execute(),await t.schema.alterTable("tenants").dropColumn("primary_color").execute(),await t.schema.alterTable("tenants").dropColumn("secondary_color").execute(),await t.schema.alterTable("tenants").dropColumn("name").execute(),(await t.selectFrom("tenant_settings").select("tenant_id").limit(1).execute()).length>0){const n=await t.selectFrom("tenant_settings").selectAll().execute();for(const a of n)await t.updateTable("tenants").set({idle_session_lifetime:a.idle_session_lifetime,session_lifetime:a.session_lifetime,session_cookie:a.session_cookie,enable_client_connections:a.enable_client_connections,default_redirection_uri:a.default_redirection_uri,enabled_locales:a.enabled_locales,default_directory:a.default_directory,error_page:a.error_page,flags:a.flags,friendly_name:a.friendly_name,picture_url:a.picture_url,support_email:a.support_email,support_url:a.support_url,sandbox_version:a.sandbox_version,sandbox_versions_available:a.sandbox_versions_available,change_password:a.change_password,guardian_mfa_page:a.guardian_mfa_page,default_audience:a.default_audience,default_organization:a.default_organization,sessions:a.sessions}).where("id","=",a.tenant_id).execute()}await t.schema.dropTable("tenant_settings").execute()}async function sh(t){await t.schema.createTable("tenant_settings").addColumn("tenant_id","varchar(191)",n=>n.references("tenants.id").onDelete("cascade").notNull().primaryKey()).addColumn("idle_session_lifetime","integer").addColumn("session_lifetime","integer").addColumn("session_cookie","text").addColumn("enable_client_connections","integer").addColumn("default_redirection_uri","text").addColumn("enabled_locales","text").addColumn("default_directory","varchar(255)").addColumn("error_page","text").addColumn("flags","text").addColumn("friendly_name","varchar(255)").addColumn("picture_url","text").addColumn("support_email","varchar(255)").addColumn("support_url","text").addColumn("sandbox_version","varchar(50)").addColumn("sandbox_versions_available","text").addColumn("change_password","text").addColumn("guardian_mfa_page","text").addColumn("default_audience","varchar(255)").addColumn("default_organization","varchar(255)").addColumn("sessions","text").execute();const e=await t.selectFrom("tenants").select(["id","idle_session_lifetime","session_lifetime","session_cookie","enable_client_connections","default_redirection_uri","enabled_locales","default_directory","error_page","flags","friendly_name","picture_url","support_email","support_url","sandbox_version","sandbox_versions_available","change_password","guardian_mfa_page","default_audience","default_organization","sessions"]).execute();for(const n of e)(n.idle_session_lifetime!==null||n.session_lifetime!==null||n.session_cookie!==null||n.enable_client_connections!==null||n.default_redirection_uri!==null||n.enabled_locales!==null||n.default_directory!==null||n.error_page!==null||n.flags!==null||n.friendly_name!==null||n.picture_url!==null||n.support_email!==null||n.support_url!==null||n.sandbox_version!==null||n.sandbox_versions_available!==null||n.change_password!==null||n.guardian_mfa_page!==null||n.default_audience!==null||n.default_organization!==null||n.sessions!==null)&&await t.insertInto("tenant_settings").values({tenant_id:n.id,idle_session_lifetime:n.idle_session_lifetime,session_lifetime:n.session_lifetime,session_cookie:n.session_cookie,enable_client_connections:n.enable_client_connections,default_redirection_uri:n.default_redirection_uri,enabled_locales:n.enabled_locales,default_directory:n.default_directory,error_page:n.error_page,flags:n.flags,friendly_name:n.friendly_name,picture_url:n.picture_url,support_email:n.support_email,support_url:n.support_url,sandbox_version:n.sandbox_version,sandbox_versions_available:n.sandbox_versions_available,change_password:n.change_password,guardian_mfa_page:n.guardian_mfa_page,default_audience:n.default_audience,default_organization:n.default_organization,sessions:n.sessions}).execute();await t.schema.alterTable("tenants").dropColumn("idle_session_lifetime").dropColumn("session_lifetime").dropColumn("session_cookie").dropColumn("enable_client_connections").dropColumn("default_redirection_uri").dropColumn("enabled_locales").dropColumn("default_directory").dropColumn("error_page").dropColumn("flags").dropColumn("friendly_name").dropColumn("picture_url").dropColumn("support_email").dropColumn("sandbox_version").dropColumn("sandbox_versions_available").dropColumn("change_password").dropColumn("guardian_mfa_page").dropColumn("default_audience").dropColumn("default_organization").dropColumn("sessions").execute(),await t.schema.alterTable("tenants").addColumn("name","varchar(255)").execute(),await t.updateTable("tenants").set({name:g`COALESCE(friendly_name, id)`}).execute(),await t.schema.alterTable("tenants").addColumn("language","varchar(255)").execute(),await t.schema.alterTable("tenants").addColumn("logo","text").execute(),await t.schema.alterTable("tenants").addColumn("primary_color","varchar(50)").execute(),await t.schema.alterTable("tenants").addColumn("secondary_color","varchar(50)").execute()}const uh=Object.freeze(Object.defineProperty({__proto__:null,down:sh,up:ih},Symbol.toStringTag,{value:"Module"}));async function ch(t){await t.schema.createTable("invites").addColumn("id","varchar(21)",e=>e.primaryKey()).addColumn("tenant_id","varchar(191)",e=>e.notNull()).addColumn("organization_id","varchar(21)",e=>e.notNull()).addColumn("inviter","text",e=>e.notNull()).addColumn("invitee","text",e=>e.notNull()).addColumn("client_id","varchar(191)",e=>e.notNull()).addColumn("connection_id","varchar(21)").addColumn("invitation_url","text",e=>e.notNull()).addColumn("created_at","varchar(35)",e=>e.notNull()).addColumn("expires_at","varchar(35)",e=>e.notNull()).addColumn("app_metadata","text").addColumn("user_metadata","text").addColumn("roles","text").addColumn("ticket_id","varchar(191)").addColumn("ttl_sec","integer").addColumn("send_invitation_email","integer").execute(),await t.schema.createIndex("idx_invites_tenant_id").on("invites").column("tenant_id").execute(),await t.schema.createIndex("idx_invites_organization_id").on("invites").column("organization_id").execute(),await t.schema.createIndex("idx_invites_expires_at").on("invites").column("expires_at").execute(),await t.schema.createIndex("idx_invites_tenant_created").on("invites").columns(["tenant_id","created_at"]).execute()}async function lh(t){await t.schema.dropTable("invites").execute()}const dh=Object.freeze(Object.defineProperty({__proto__:null,down:lh,up:ch},Symbol.toStringTag,{value:"Module"}));async function _h(t){await t.schema.dropTable("logs").ifExists().execute(),await t.schema.createTable("logs").addColumn("log_id","varchar(21)",e=>e.primaryKey().notNull()).addColumn("category","varchar(255)").addColumn("tenant_id","varchar(64)").addColumn("user_id","varchar(64)").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)").addColumn("isMobile","integer").addColumn("user_name","varchar(255)").addColumn("connection","varchar(255)").addColumn("connection_id","varchar(255)").addColumn("audience","varchar(255)").addColumn("scope","varchar(255)").addColumn("strategy","varchar(255)").addColumn("strategy_type","varchar(255)").addColumn("hostname","varchar(255)").addColumn("auth0_client","varchar(8192)").addColumn("session_connection","varchar(255)").execute()}async function mh(t){await t.schema.dropTable("logs").ifExists().execute(),await t.schema.createTable("logs").addColumn("id","varchar(255)",e=>e.primaryKey().notNull()).addColumn("category","varchar(255)",e=>e.notNull()).addColumn("tenant_id","varchar(64)").addColumn("user_id","varchar(64)").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()}const hh=Object.freeze(Object.defineProperty({__proto__:null,down:mh,up:_h},Symbol.toStringTag,{value:"Module"}));async function fh(t){await t.schema.alterTable("logs").addColumn("country_code","varchar(2)").execute(),await t.schema.alterTable("logs").addColumn("country_code3","varchar(3)").execute(),await t.schema.alterTable("logs").addColumn("country_name","varchar(255)").execute(),await t.schema.alterTable("logs").addColumn("city_name","varchar(255)").execute(),await t.schema.alterTable("logs").addColumn("latitude","varchar(255)").execute(),await t.schema.alterTable("logs").addColumn("longitude","varchar(255)").execute(),await t.schema.alterTable("logs").addColumn("time_zone","varchar(255)").execute(),await t.schema.alterTable("logs").addColumn("continent_code","varchar(2)").execute()}async function ph(t){await t.schema.alterTable("logs").dropColumn("country_code").execute(),await t.schema.alterTable("logs").dropColumn("country_code3").execute(),await t.schema.alterTable("logs").dropColumn("country_name").execute(),await t.schema.alterTable("logs").dropColumn("city_name").execute(),await t.schema.alterTable("logs").dropColumn("latitude").execute(),await t.schema.alterTable("logs").dropColumn("longitude").execute(),await t.schema.alterTable("logs").dropColumn("time_zone").execute(),await t.schema.alterTable("logs").dropColumn("continent_code").execute()}const gh=Object.freeze(Object.defineProperty({__proto__:null,down:ph,up:fh},Symbol.toStringTag,{value:"Module"})),La={m1_init:mu,m2_magicLink:pu,m3_updateAt:wu,m4_logTable:Cu,m5_userProfile:Ou,m6_sessions:ku,m7_passwords:Au,m8_logsTableNewFields:Du,m9_passwordTableNewField:Fu,n01_codesTable:Mu,n11_universalLoginSession:Bu,n12_userFields:Uu,n13_userEmailIndex:Gu,n14_profileDataField:Xu,n15_userEmailIndex:tc,n16_userLocale:rc,n17_signingKeys:sc,n18_logsFields:lc,n19_connectionsUserinfo:mc,n20_missingFields:pc,n21_sessionDeletedAt:wc,n22_dropLogsFields:Cc,n23_dropUsersFields:Oc,n24_logsIndexes:kc,n25_logDescMaxLength:Ac,n26_logsTableExtraFields:Dc,n27_usersTableNameIndex:Fc,n28_usersEmailConstrain:Mc,n29_increaseOtpStateLength:Bc,n30_increaseTicketStateLength:Uc,n31_branding:Gc,n32_indexesAndNotNull:Xc,n33_vendorIdInUniversalLoginSession:tl,n34_auth0ClientInUniversalLoginSession:rl,n35_increaseUniversalSessionStateLength:sl,n36_authenticationCodes:ll,n37_disableSignUps:ml,n38_otpIpAddress:pl,n39_increaseUserAgentLength:wl,n40_userId:Cl,n41_hooks:Ol,n42_userIdIndexes:kl,n43_userIdIndexes:Al,n44_codes:Dl,n45_hookProperties:Fl,n46_loginAuth0Client:Ml,n47_loginAuth0Client:Bl,n48_saml:Ul,n49_removeFields:Gl,n50_authParamsNonce:Xl,n51_connectionid:td,n52_cert:rd,n53_codes_primary_key:sd,n54_cleanup_tables:ld,n55_logs_index:md,n56_application_fields:pd,n57_prompt_settings:wd,n58_connection_client_id:Cd,n59_connection_options:Od,n60_users_metadata:kd,n61_userLocales:Ad,n62_prompt:Dd,n63_connection_cleanup:Fd,n64_act_as:Md,n65_code_verifier:Bd,n66_email_providers:Ud,n67_drop_tickets:Gd,n68_login_useragents:Xd,n70_refresh_tokens:t_,n71_session_new_fields:r_,n72_session_primary_key:s_,n73_drop_sessions:l_,n74_custom_domains:m_,n75_organizations:p_,n76_authorization_url_length:w_,n77_drop_sessions:C_,n78_login_sessions:O_,n79_drop_sessions_2:k_,n80_recreate_custom_domains:A_,n81_phone:D_,n82_forms:F_,n83_addFormsIdToHooks:M_,n84_login_completed:B_,n85_add_login_session_id_to_sessions:U_,n86_index_sessions_login_session_id:G_,n87_code_challenge:X_,n88_add_redirect_uri_to_codes:tm,n89_add_nonce_and_state_to_codes:rm,n90_themes:sm,n91_resource_servers_rules_permissions:lm,n92_role_permissions:mm,n93_add_permissions_to_roles:pm,n94_keys_connection_and_extend_columns:wm,n95_create_organizations_table:Cm,n96_create_user_organizations_table:Om,n97_add_organization_to_user_permissions_and_roles:km,n98_clients:Am,n99_update_client_foreign_keys:jm,o001_client_grants:Jm,o002_drop_applications:Wm,o003_phone_number_index:Qm,o004_login_sessions_id_index:Ym,o005_connections_tenant_index:Zm,o006_remove_redundant_user_organizations_tenant_index:nh,o007_tenant_settings:oh,o008_merge_tenant_settings_into_tenants:uh,o009_create_invites_table:dh,o010_add_log_id_to_logs:hh,o011_add_location_info_to_logs:gh};async function yh(t,e=!1){e&&console.log("migrating...");const n=new Fa(La),a=new Ca({db:t,provider:n}),{error:r,results:o}=await a.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}"`)}),r)throw console.error("failed to migrate"),console.error(r),r}async function wh(t){console.log("migrating...");const e=new Fa(La),n=new Ca({db:t,provider:e}),{error:a,results:r}=await n.migrateDown();if(r==null||r.forEach(o=>{o.status==="Success"?console.log(`migration "${o.migrationName}" was reverted successfully`):o.status==="Error"&&console.error(`failed to execute migration "${o.migrationName}"`)}),a)throw console.error("failed to migrate"),console.error(a),a}function Nh(t){return{branding:mo(t),cleanup:Bo(t),clients:Kr(t),clientGrants:Hr(t),legacyClients:Xr(t),codes:Tr(t),connections:Lr(t),emailProviders:Ro(t),customDomains:co(t),forms:Go(t),hooks:wo(t),invites:Ji(t),keys:no(t),loginSessions:Io(t),logs:lr(t),passwords:Nr(t),promptSettings:$o(t),refreshTokens:qo(t),resourceServers:ti(t),rolePermissions:di(t),userPermissions:pi(t),userRoles:vi(t),roles:si(t),sessions:pr(t),tenants:or(t),themes:bo(t),users:Va(t),organizations:Si(t),userOrganizations:Di(t)}}exports.default=Nh;exports.migrateDown=wh;exports.migrateToLatest=yh;
|
|
53
|
+
FROM login_sessions_temp`.execute(e),await g`DROP TABLE login_sessions_temp`.execute(e)})}const Mm=Object.freeze(Object.defineProperty({__proto__:null,down:Fm,up:Dm},Symbol.toStringTag,{value:"Module"}));async function Jm(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 qm(t){await t.schema.dropTable("client_grants").execute()}const Bm=Object.freeze(Object.defineProperty({__proto__:null,down:qm,up:Jm},Symbol.toStringTag,{value:"Module"}));async function Wm(t){await t.schema.dropTable("applications").execute()}async function Km(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 Um=Object.freeze(Object.defineProperty({__proto__:null,down:Km,up:Wm},Symbol.toStringTag,{value:"Module"}));async function Qm(t){await t.schema.createIndex("users_phone_tenant_provider_index").on("users").columns(["tenant_id","phone_number","provider"]).execute()}async function Vm(t){await t.schema.dropIndex("users_phone_tenant_provider_index").execute()}const Gm=Object.freeze(Object.defineProperty({__proto__:null,down:Vm,up:Qm},Symbol.toStringTag,{value:"Module"}));async function Ym(t){await t.schema.createIndex("login_sessions_id_index").on("login_sessions").column("id").execute()}async function Hm(t){await t.schema.dropIndex("login_sessions_id_index").execute()}const Xm=Object.freeze(Object.defineProperty({__proto__:null,down:Hm,up:Ym},Symbol.toStringTag,{value:"Module"}));async function Zm(t){await t.schema.createIndex("connections_tenant_id_index").on("connections").column("tenant_id").execute()}async function eh(t){await t.schema.dropIndex("connections_tenant_id_index").execute()}const th=Object.freeze(Object.defineProperty({__proto__:null,down:eh,up:Zm},Symbol.toStringTag,{value:"Module"}));async function nh(t){await t.schema.dropIndex("idx_user_organizations_tenant_id").execute()}async function ah(t){await t.schema.createIndex("idx_user_organizations_tenant_id").on("user_organizations").column("tenant_id").execute()}const rh=Object.freeze(Object.defineProperty({__proto__:null,down:ah,up:nh},Symbol.toStringTag,{value:"Module"}));async function oh(t){await t.schema.createTable("tenant_settings").addColumn("tenant_id","varchar(191)",e=>e.references("tenants.id").onDelete("cascade").notNull().primaryKey()).addColumn("idle_session_lifetime","integer").addColumn("session_lifetime","integer").addColumn("session_cookie","text").addColumn("enable_client_connections","integer").addColumn("default_redirection_uri","text").addColumn("enabled_locales","text").addColumn("default_directory","varchar(255)").addColumn("error_page","text").addColumn("flags","text").addColumn("friendly_name","varchar(255)").addColumn("picture_url","text").addColumn("support_email","varchar(255)").addColumn("support_url","text").addColumn("sandbox_version","varchar(50)").addColumn("sandbox_versions_available","text").addColumn("change_password","text").addColumn("guardian_mfa_page","text").addColumn("default_audience","varchar(255)").addColumn("default_organization","varchar(255)").addColumn("sessions","text").execute()}async function ih(t){await t.schema.dropTable("tenant_settings").execute()}const sh=Object.freeze(Object.defineProperty({__proto__:null,down:ih,up:oh},Symbol.toStringTag,{value:"Module"}));async function uh(t){if(await t.schema.alterTable("tenants").addColumn("idle_session_lifetime","integer").execute(),await t.schema.alterTable("tenants").addColumn("session_lifetime","integer").execute(),await t.schema.alterTable("tenants").addColumn("session_cookie","text").execute(),await t.schema.alterTable("tenants").addColumn("allowed_logout_urls","text").execute(),await t.schema.alterTable("tenants").addColumn("ephemeral_session_lifetime","integer").execute(),await t.schema.alterTable("tenants").addColumn("idle_ephemeral_session_lifetime","integer").execute(),await t.schema.alterTable("tenants").addColumn("default_redirection_uri","text").execute(),await t.schema.alterTable("tenants").addColumn("enabled_locales","text").execute(),await t.schema.alterTable("tenants").addColumn("default_directory","varchar(255)").execute(),await t.schema.alterTable("tenants").addColumn("error_page","text").execute(),await t.schema.alterTable("tenants").addColumn("flags","text").execute(),await t.schema.alterTable("tenants").addColumn("friendly_name","varchar(255)").execute(),await t.schema.alterTable("tenants").addColumn("picture_url","text").execute(),await t.schema.alterTable("tenants").addColumn("support_email","varchar(255)").execute(),await t.schema.alterTable("tenants").addColumn("sandbox_version","varchar(50)").execute(),await t.schema.alterTable("tenants").addColumn("sandbox_versions_available","text").execute(),await t.schema.alterTable("tenants").addColumn("legacy_sandbox_version","varchar(50)").execute(),await t.schema.alterTable("tenants").addColumn("change_password","text").execute(),await t.schema.alterTable("tenants").addColumn("guardian_mfa_page","text").execute(),await t.schema.alterTable("tenants").addColumn("device_flow","text").execute(),await t.schema.alterTable("tenants").addColumn("default_token_quota","text").execute(),await t.schema.alterTable("tenants").addColumn("default_audience","varchar(255)").execute(),await t.schema.alterTable("tenants").addColumn("default_organization","varchar(255)").execute(),await t.schema.alterTable("tenants").addColumn("sessions","text").execute(),await t.schema.alterTable("tenants").addColumn("oidc_logout","text").execute(),await t.schema.alterTable("tenants").addColumn("allow_organization_name_in_authentication_api","integer").execute(),await t.schema.alterTable("tenants").addColumn("customize_mfa_in_postlogin_action","integer").execute(),await t.schema.alterTable("tenants").addColumn("acr_values_supported","text").execute(),await t.schema.alterTable("tenants").addColumn("mtls","text").execute(),await t.schema.alterTable("tenants").addColumn("pushed_authorization_requests_supported","integer").execute(),await t.schema.alterTable("tenants").addColumn("authorization_response_iss_parameter_supported","integer").execute(),await t.updateTable("tenants").set({friendly_name:g`name`}).execute(),await t.schema.alterTable("tenants").dropColumn("language").execute(),await t.schema.alterTable("tenants").dropColumn("logo").execute(),await t.schema.alterTable("tenants").dropColumn("primary_color").execute(),await t.schema.alterTable("tenants").dropColumn("secondary_color").execute(),await t.schema.alterTable("tenants").dropColumn("name").execute(),(await t.selectFrom("tenant_settings").select("tenant_id").limit(1).execute()).length>0){const n=await t.selectFrom("tenant_settings").selectAll().execute();for(const a of n)await t.updateTable("tenants").set({idle_session_lifetime:a.idle_session_lifetime,session_lifetime:a.session_lifetime,session_cookie:a.session_cookie,enable_client_connections:a.enable_client_connections,default_redirection_uri:a.default_redirection_uri,enabled_locales:a.enabled_locales,default_directory:a.default_directory,error_page:a.error_page,flags:a.flags,friendly_name:a.friendly_name,picture_url:a.picture_url,support_email:a.support_email,support_url:a.support_url,sandbox_version:a.sandbox_version,sandbox_versions_available:a.sandbox_versions_available,change_password:a.change_password,guardian_mfa_page:a.guardian_mfa_page,default_audience:a.default_audience,default_organization:a.default_organization,sessions:a.sessions}).where("id","=",a.tenant_id).execute()}await t.schema.dropTable("tenant_settings").execute()}async function ch(t){await t.schema.createTable("tenant_settings").addColumn("tenant_id","varchar(191)",n=>n.references("tenants.id").onDelete("cascade").notNull().primaryKey()).addColumn("idle_session_lifetime","integer").addColumn("session_lifetime","integer").addColumn("session_cookie","text").addColumn("enable_client_connections","integer").addColumn("default_redirection_uri","text").addColumn("enabled_locales","text").addColumn("default_directory","varchar(255)").addColumn("error_page","text").addColumn("flags","text").addColumn("friendly_name","varchar(255)").addColumn("picture_url","text").addColumn("support_email","varchar(255)").addColumn("support_url","text").addColumn("sandbox_version","varchar(50)").addColumn("sandbox_versions_available","text").addColumn("change_password","text").addColumn("guardian_mfa_page","text").addColumn("default_audience","varchar(255)").addColumn("default_organization","varchar(255)").addColumn("sessions","text").execute();const e=await t.selectFrom("tenants").select(["id","idle_session_lifetime","session_lifetime","session_cookie","enable_client_connections","default_redirection_uri","enabled_locales","default_directory","error_page","flags","friendly_name","picture_url","support_email","support_url","sandbox_version","sandbox_versions_available","change_password","guardian_mfa_page","default_audience","default_organization","sessions"]).execute();for(const n of e)(n.idle_session_lifetime!==null||n.session_lifetime!==null||n.session_cookie!==null||n.enable_client_connections!==null||n.default_redirection_uri!==null||n.enabled_locales!==null||n.default_directory!==null||n.error_page!==null||n.flags!==null||n.friendly_name!==null||n.picture_url!==null||n.support_email!==null||n.support_url!==null||n.sandbox_version!==null||n.sandbox_versions_available!==null||n.change_password!==null||n.guardian_mfa_page!==null||n.default_audience!==null||n.default_organization!==null||n.sessions!==null)&&await t.insertInto("tenant_settings").values({tenant_id:n.id,idle_session_lifetime:n.idle_session_lifetime,session_lifetime:n.session_lifetime,session_cookie:n.session_cookie,enable_client_connections:n.enable_client_connections,default_redirection_uri:n.default_redirection_uri,enabled_locales:n.enabled_locales,default_directory:n.default_directory,error_page:n.error_page,flags:n.flags,friendly_name:n.friendly_name,picture_url:n.picture_url,support_email:n.support_email,support_url:n.support_url,sandbox_version:n.sandbox_version,sandbox_versions_available:n.sandbox_versions_available,change_password:n.change_password,guardian_mfa_page:n.guardian_mfa_page,default_audience:n.default_audience,default_organization:n.default_organization,sessions:n.sessions}).execute();await t.schema.alterTable("tenants").dropColumn("idle_session_lifetime").dropColumn("session_lifetime").dropColumn("session_cookie").dropColumn("enable_client_connections").dropColumn("default_redirection_uri").dropColumn("enabled_locales").dropColumn("default_directory").dropColumn("error_page").dropColumn("flags").dropColumn("friendly_name").dropColumn("picture_url").dropColumn("support_email").dropColumn("sandbox_version").dropColumn("sandbox_versions_available").dropColumn("change_password").dropColumn("guardian_mfa_page").dropColumn("default_audience").dropColumn("default_organization").dropColumn("sessions").execute(),await t.schema.alterTable("tenants").addColumn("name","varchar(255)").execute(),await t.updateTable("tenants").set({name:g`COALESCE(friendly_name, id)`}).execute(),await t.schema.alterTable("tenants").addColumn("language","varchar(255)").execute(),await t.schema.alterTable("tenants").addColumn("logo","text").execute(),await t.schema.alterTable("tenants").addColumn("primary_color","varchar(50)").execute(),await t.schema.alterTable("tenants").addColumn("secondary_color","varchar(50)").execute()}const dh=Object.freeze(Object.defineProperty({__proto__:null,down:ch,up:uh},Symbol.toStringTag,{value:"Module"}));async function lh(t){await t.schema.createTable("invites").addColumn("id","varchar(21)",e=>e.primaryKey()).addColumn("tenant_id","varchar(191)",e=>e.notNull()).addColumn("organization_id","varchar(21)",e=>e.notNull()).addColumn("inviter","text",e=>e.notNull()).addColumn("invitee","text",e=>e.notNull()).addColumn("client_id","varchar(191)",e=>e.notNull()).addColumn("connection_id","varchar(21)").addColumn("invitation_url","text",e=>e.notNull()).addColumn("created_at","varchar(35)",e=>e.notNull()).addColumn("expires_at","varchar(35)",e=>e.notNull()).addColumn("app_metadata","text").addColumn("user_metadata","text").addColumn("roles","text").addColumn("ticket_id","varchar(191)").addColumn("ttl_sec","integer").addColumn("send_invitation_email","integer").execute(),await t.schema.createIndex("idx_invites_tenant_id").on("invites").column("tenant_id").execute(),await t.schema.createIndex("idx_invites_organization_id").on("invites").column("organization_id").execute(),await t.schema.createIndex("idx_invites_expires_at").on("invites").column("expires_at").execute(),await t.schema.createIndex("idx_invites_tenant_created").on("invites").columns(["tenant_id","created_at"]).execute()}async function _h(t){await t.schema.dropTable("invites").execute()}const mh=Object.freeze(Object.defineProperty({__proto__:null,down:_h,up:lh},Symbol.toStringTag,{value:"Module"}));async function hh(t){await t.schema.dropTable("logs").ifExists().execute(),await t.schema.createTable("logs").addColumn("log_id","varchar(21)",e=>e.primaryKey().notNull()).addColumn("category","varchar(255)").addColumn("tenant_id","varchar(64)").addColumn("user_id","varchar(64)").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)").addColumn("isMobile","integer").addColumn("user_name","varchar(255)").addColumn("connection","varchar(255)").addColumn("connection_id","varchar(255)").addColumn("audience","varchar(255)").addColumn("scope","varchar(255)").addColumn("strategy","varchar(255)").addColumn("strategy_type","varchar(255)").addColumn("hostname","varchar(255)").addColumn("auth0_client","varchar(8192)").addColumn("session_connection","varchar(255)").execute()}async function fh(t){await t.schema.dropTable("logs").ifExists().execute(),await t.schema.createTable("logs").addColumn("id","varchar(255)",e=>e.primaryKey().notNull()).addColumn("category","varchar(255)",e=>e.notNull()).addColumn("tenant_id","varchar(64)").addColumn("user_id","varchar(64)").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()}const ph=Object.freeze(Object.defineProperty({__proto__:null,down:fh,up:hh},Symbol.toStringTag,{value:"Module"}));async function gh(t){await t.schema.alterTable("logs").addColumn("country_code","varchar(2)").execute(),await t.schema.alterTable("logs").addColumn("country_code3","varchar(3)").execute(),await t.schema.alterTable("logs").addColumn("country_name","varchar(255)").execute(),await t.schema.alterTable("logs").addColumn("city_name","varchar(255)").execute(),await t.schema.alterTable("logs").addColumn("latitude","varchar(255)").execute(),await t.schema.alterTable("logs").addColumn("longitude","varchar(255)").execute(),await t.schema.alterTable("logs").addColumn("time_zone","varchar(255)").execute(),await t.schema.alterTable("logs").addColumn("continent_code","varchar(2)").execute()}async function yh(t){await t.schema.alterTable("logs").dropColumn("country_code").execute(),await t.schema.alterTable("logs").dropColumn("country_code3").execute(),await t.schema.alterTable("logs").dropColumn("country_name").execute(),await t.schema.alterTable("logs").dropColumn("city_name").execute(),await t.schema.alterTable("logs").dropColumn("latitude").execute(),await t.schema.alterTable("logs").dropColumn("longitude").execute(),await t.schema.alterTable("logs").dropColumn("time_zone").execute(),await t.schema.alterTable("logs").dropColumn("continent_code").execute()}const wh=Object.freeze(Object.defineProperty({__proto__:null,down:yh,up:gh},Symbol.toStringTag,{value:"Module"})),Je=1e3;async function Nh(t){await t.schema.createTable("password_history").addColumn("id","varchar(21)",a=>a.primaryKey()).addColumn("user_id","varchar(191)",a=>a.notNull()).addColumn("tenant_id","varchar(191)",a=>a.references("tenants.id").onDelete("cascade").notNull()).addColumn("password","varchar(255)",a=>a.notNull()).addColumn("algorithm","varchar(255)",a=>a.notNull().defaultTo("bcrypt")).addColumn("created_at","varchar(35)",a=>a.notNull()).addColumn("updated_at","varchar(35)",a=>a.notNull()).addColumn("is_current","integer",a=>a.notNull().defaultTo(1)).addForeignKeyConstraint("password_history_user_id_tenant_id_constraint",["user_id","tenant_id"],"users",["user_id","tenant_id"],a=>a.onDelete("cascade")).execute();let e=0,n=!0;for(;n;){const a=await t.selectFrom("passwords").select(["user_id","tenant_id","password","algorithm","created_at","updated_at"]).limit(Je).offset(e).execute();if(a.length===0){n=!1;break}for(const r of a)await t.insertInto("password_history").values({id:H(),user_id:r.user_id,tenant_id:r.tenant_id,password:r.password,algorithm:r.algorithm??"bcrypt",created_at:r.created_at,updated_at:r.updated_at??r.created_at,is_current:1}).execute();e+=Je,a.length<Je&&(n=!1)}await t.schema.alterTable("passwords").renameTo("passwords_backup").execute(),await t.schema.alterTable("password_history").renameTo("passwords").execute()}async function vh(t){await t.schema.alterTable("passwords").renameTo("password_history").execute();try{await t.schema.alterTable("passwords_backup").renameTo("passwords").execute()}catch{await t.schema.createTable("passwords").addColumn("user_id","varchar(255)",a=>a.notNull()).addColumn("tenant_id","varchar(255)",a=>a.references("tenants.id").onDelete("cascade").notNull()).addColumn("password","varchar(255)",a=>a.notNull()).addColumn("algorithm","varchar(255)",a=>a.notNull().defaultTo("bcrypt")).addColumn("created_at","varchar(35)",a=>a.notNull()).addColumn("updated_at","varchar(35)",a=>a.notNull()).addPrimaryKeyConstraint("passwords_pkey",["user_id","tenant_id"]).addForeignKeyConstraint("passwords_user_id_tenant_id_constraint",["user_id","tenant_id"],"users",["user_id","tenant_id"],a=>a.onDelete("cascade")).execute();let e=0,n=!0;for(;n;){const a=await t.selectFrom("password_history").select(["user_id","tenant_id","password","algorithm","created_at","updated_at"]).where("is_current","=",1).limit(Je).offset(e).execute();if(a.length===0){n=!1;break}for(const r of a)await t.insertInto("passwords").values({user_id:r.user_id,tenant_id:r.tenant_id,password:r.password,algorithm:r.algorithm,created_at:r.created_at,updated_at:r.updated_at}).execute();e+=Je,a.length<Je&&(n=!1)}}await t.schema.dropTable("password_history").execute()}const Ch=Object.freeze(Object.defineProperty({__proto__:null,down:vh,up:Nh},Symbol.toStringTag,{value:"Module"})),Ma={m1_init:fu,m2_magicLink:yu,m3_updateAt:vu,m4_logTable:bu,m5_userProfile:Su,m6_sessions:Eu,m7_passwords:$u,m8_logsTableNewFields:Ru,m9_passwordTableNewField:Lu,n01_codesTable:qu,n11_universalLoginSession:Ku,n12_userFields:Vu,n13_userEmailIndex:Hu,n14_profileDataField:ec,n15_userEmailIndex:ac,n16_userLocale:ic,n17_signingKeys:cc,n18_logsFields:_c,n19_connectionsUserinfo:fc,n20_missingFields:yc,n21_sessionDeletedAt:vc,n22_dropLogsFields:bc,n23_dropUsersFields:Sc,n24_logsIndexes:Ec,n25_logDescMaxLength:$c,n26_logsTableExtraFields:Rc,n27_usersTableNameIndex:Lc,n28_usersEmailConstrain:qc,n29_increaseOtpStateLength:Kc,n30_increaseTicketStateLength:Vc,n31_branding:Hc,n32_indexesAndNotNull:ed,n33_vendorIdInUniversalLoginSession:ad,n34_auth0ClientInUniversalLoginSession:id,n35_increaseUniversalSessionStateLength:cd,n36_authenticationCodes:_d,n37_disableSignUps:fd,n38_otpIpAddress:yd,n39_increaseUserAgentLength:vd,n40_userId:bd,n41_hooks:Sd,n42_userIdIndexes:Ed,n43_userIdIndexes:$d,n44_codes:Rd,n45_hookProperties:Ld,n46_loginAuth0Client:qd,n47_loginAuth0Client:Kd,n48_saml:Vd,n49_removeFields:Hd,n50_authParamsNonce:el,n51_connectionid:al,n52_cert:il,n53_codes_primary_key:cl,n54_cleanup_tables:_l,n55_logs_index:fl,n56_application_fields:yl,n57_prompt_settings:vl,n58_connection_client_id:bl,n59_connection_options:Sl,n60_users_metadata:El,n61_userLocales:$l,n62_prompt:Rl,n63_connection_cleanup:Ll,n64_act_as:ql,n65_code_verifier:Kl,n66_email_providers:Vl,n67_drop_tickets:Hl,n68_login_useragents:e_,n70_refresh_tokens:a_,n71_session_new_fields:i_,n72_session_primary_key:c_,n73_drop_sessions:__,n74_custom_domains:f_,n75_organizations:y_,n76_authorization_url_length:v_,n77_drop_sessions:b_,n78_login_sessions:S_,n79_drop_sessions_2:E_,n80_recreate_custom_domains:$_,n81_phone:R_,n82_forms:L_,n83_addFormsIdToHooks:q_,n84_login_completed:K_,n85_add_login_session_id_to_sessions:V_,n86_index_sessions_login_session_id:H_,n87_code_challenge:em,n88_add_redirect_uri_to_codes:am,n89_add_nonce_and_state_to_codes:im,n90_themes:cm,n91_resource_servers_rules_permissions:_m,n92_role_permissions:fm,n93_add_permissions_to_roles:ym,n94_keys_connection_and_extend_columns:vm,n95_create_organizations_table:bm,n96_create_user_organizations_table:Sm,n97_add_organization_to_user_permissions_and_roles:Em,n98_clients:$m,n99_update_client_foreign_keys:Mm,o001_client_grants:Bm,o002_drop_applications:Um,o003_phone_number_index:Gm,o004_login_sessions_id_index:Xm,o005_connections_tenant_index:th,o006_remove_redundant_user_organizations_tenant_index:rh,o007_tenant_settings:sh,o008_merge_tenant_settings_into_tenants:dh,o009_create_invites_table:mh,o010_add_log_id_to_logs:ph,o011_add_location_info_to_logs:wh,o012_add_password_history:Ch};async function xh(t,e=!1){e&&console.log("migrating...");const n=new ja(Ma),a=new xa({db:t,provider:n}),{error:r,results:o}=await a.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}"`)}),r)throw console.error("failed to migrate"),console.error(r),r}async function bh(t){console.log("migrating...");const e=new ja(Ma),n=new xa({db:t,provider:e}),{error:a,results:r}=await n.migrateDown();if(r==null||r.forEach(o=>{o.status==="Success"?console.log(`migration "${o.migrationName}" was reverted successfully`):o.status==="Error"&&console.error(`failed to execute migration "${o.migrationName}"`)}),a)throw console.error("failed to migrate"),console.error(a),a}function Th(t){return{branding:fo(t),cleanup:Ko(t),clients:Qr(t),clientGrants:Zr(t),legacyClients:eo(t),codes:kr(t),connections:Jr(t),emailProviders:jo(t),customDomains:_o(t),forms:Ho(t),hooks:vo(t),invites:Bi(t),keys:ro(t),loginSessions:Ao(t),logs:lr(t),passwords:Cr(t),promptSettings:Do(t),refreshTokens:Wo(t),resourceServers:ai(t),rolePermissions:mi(t),userPermissions:yi(t),userRoles:xi(t),roles:ci(t),sessions:gr(t),tenants:ir(t),themes:Oo(t),users:Ga(t),organizations:Ii(t),userOrganizations:Ri(t)}}exports.default=Th;exports.migrateDown=bh;exports.migrateToLatest=xh;
|