@authhero/kysely-adapter 10.83.0 → 10.85.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,11 +1,11 @@
1
- "use strict";var nr=Object.defineProperty;var $a=t=>{throw TypeError(t)};var rr=(t,e,a)=>e in t?nr(t,e,{enumerable:!0,configurable:!0,writable:!0,value:a}):t[e]=a;var me=(t,e,a)=>rr(t,typeof e!="symbol"?e+"":e,a),Ht=(t,e,a)=>e.has(t)||$a("Cannot "+a);var i=(t,e,a)=>(Ht(t,e,"read from private field"),a?a.call(t):e.get(t)),x=(t,e,a)=>e.has(t)?$a("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,a),O=(t,e,a,n)=>(Ht(t,e,"write to private field"),n?n.call(t,a):e.set(t,a),a),N=(t,e,a)=>(Ht(t,e,"access private method"),a);Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const P=require("@authhero/adapter-interfaces");require("@hono/zod-openapi");var ze=class extends Error{constructor(e=500,a){super(a==null?void 0:a.message,{cause:a==null?void 0:a.cause});me(this,"res");me(this,"status");this.res=a==null?void 0:a.res,this.status=e}getResponse(){return this.res?new Response(this.res.body,{status:this.status,headers:this.res.headers}):new Response(this.message,{status:this.status})}};function or(t){return async(e,a)=>{const{identities:n,...r}=a,o={...r,login_count:r.login_count??0,created_at:new Date().toISOString(),updated_at:new Date().toISOString(),tenant_id:e,email_verified:a.email_verified?1:0,is_social:a.is_social?1:0,app_metadata:JSON.stringify(a.app_metadata),user_metadata:JSON.stringify(a.user_metadata)};try{await t.insertInto("users").values(o).execute()}catch(s){throw s.code==="SQLITE_CONSTRAINT_UNIQUE"||s.message.includes("AlreadyExists")?new ze(409,{message:"User already exists"}):new ze(500,{message:`${s.code}, ${s.message}`})}return{...o,email:o.email||"",email_verified:o.email_verified===1,is_social:o.is_social===1}}}function b(t){if(t==null||typeof t!="object")return t;if(Array.isArray(t))return t.map(a=>a!==null&&typeof a=="object"?b(a):a);const e={...t};for(const a in e){const n=e[a];n===null?delete e[a]:n!==null&&typeof n=="object"&&(Array.isArray(n)?e[a]=n.map(r=>r!==null&&typeof r=="object"?b(r):r):e[a]=b(n))}return e}function rn(t){let e={};try{e=JSON.parse(t.profileData||"{}")}catch(a){console.error("Error parsing profileData",a)}return{connection:t.connection,provider:t.provider,user_id:P.parseUserId(t.user_id).id,isSocial:!!t.is_social,profileData:{email:t.email,email_verified:!!t.email_verified,...e}}}function sr(t){return async(e,a)=>{const[n,r]=await Promise.all([t.selectFrom("users").where("users.tenant_id","=",e).where("users.user_id","=",a).selectAll().executeTakeFirst(),t.selectFrom("users").where("users.tenant_id","=",e).where("users.linked_to","=",a).selectAll().execute()]);if(!n)return null;const{tenant_id:o,...s}=n,l={...s,email:n.email||"",email_verified:n.email_verified===1,is_social:n.is_social===1,app_metadata:JSON.parse(n.app_metadata),user_metadata:JSON.parse(n.user_metadata),identities:[{connection:n.connection,provider:n.provider,user_id:P.parseUserId(n.user_id).id,isSocial:!!n.is_social},...r.map(rn)]};return b(l)}}function J(t,e,a,n){const r=a.split(/ OR /i);if(r.length>1)return e.where(_=>{const m=r.map(u=>{const h=u.trim().match(/^([^:]+):(.+)$/);if(h){const[,p,y]=h;if(!p||!y)return null;const v=y.replace(/^"(.*)"$/,"$1");return _(p.trim(),"=",v.trim())}return null}).filter(Boolean);return _.or(m)});const o=[];let s="",l=!1;for(let _=0;_<a.length;_++){const m=a[_];m==='"'?(l=!l,s+=m):m===" "&&!l?s.trim()&&(o.push(s.trim()),s=""):s+=m}return s.trim()&&o.push(s.trim()),o.map(_=>_.replace(/^([^:]+)=/g,"$1:")).map(_=>{let m=_.startsWith("-"),u=null,h="",p=!1,y;if(_.startsWith("-_exists_:"))u=_.substring(10),p=!0,m=!0;else if(_.startsWith("_exists_:"))u=_.substring(9),p=!0,m=!1;else if(_.includes(":")){const v=m?_.substring(1):_,T=v.indexOf(":");u=v.substring(0,T),h=v.substring(T+1),p=!1,h.startsWith(">=")?(y=">=",h=h.substring(2)):h.startsWith(">")?(y=">",h=h.substring(1)):h.startsWith("<=")?(y="<=",h=h.substring(2)):h.startsWith("<")?(y="<",h=h.substring(1)):y="=",h.startsWith('"')&&h.endsWith('"')&&h.length>1&&(h=h.slice(1,-1))}else u=null,h=_,p=!1;return{key:u,value:h,isNegation:m,isExistsQuery:p,operator:y}}).forEach(({key:_,value:m,isNegation:u,isExistsQuery:h,operator:p})=>{if(_)if(h)u?e=e.where(_,"is",null):e=e.where(_,"is not",null);else if(u)switch(p){case">":e=e.where(_,"<=",m);break;case">=":e=e.where(_,"<",m);break;case"<":e=e.where(_,">=",m);break;case"<=":e=e.where(_,">",m);break;default:e=e.where(_,"!=",m)}else e=e.where(_,p,m);else if(m){const{ref:y}=t.dynamic,v=m.includes("|")?[...n,"user_id"]:n;e=e.where(T=>T.or(v.map(E=>E==="user_id"?T(y(E),"=",m):T(y(E),"like",`%${m}%`))))}}),e}function q(t){return typeof t=="string"?parseInt(t,10):typeof t=="bigint"?Number(t):t}function ir(t){return async(e,a={})=>{const{page:n=0,per_page:r=50,include_totals:o=!1,sort:s,q:l}=a;let d=t.selectFrom("users").where("users.tenant_id","=",e);if(l&&(d=J(t,d,l,["email","name","phone_number"])),s&&s.sort_by){const{ref:v}=t.dynamic;d=d.orderBy(v(s.sort_by),s.sort_order)}const m=await d.offset(n*r).limit(r).selectAll().execute(),u=m.map(v=>v.user_id),h=u.length?await t.selectFrom("users").selectAll().where("users.tenant_id","=",e).where("users.linked_to","in",u).execute():[],p=m.map(v=>{const T=h.filter(E=>E.linked_to===v.user_id);return b({...v,email_verified:v.email_verified===1,is_social:v.is_social===1,app_metadata:JSON.parse(v.app_metadata),user_metadata:JSON.parse(v.user_metadata),identities:[{connection:v.connection,provider:v.provider,user_id:P.parseUserId(v.user_id).id,isSocial:!!v.is_social},...T.map(rn)]})});if(!o)return{users:p,start:0,limit:0,length:0};const{count:y}=await d.select(v=>v.fn.countAll().as("count")).executeTakeFirstOrThrow();return{users:p,start:n*r,limit:r,length:q(y)}}}function cr(t){return async(e,a)=>(await t.deleteFrom("users").where("users.tenant_id","=",e).where("users.linked_to","=",a).execute(),(await t.deleteFrom("users").where("users.tenant_id","=",e).where("users.user_id","=",a).execute()).length===1)}function ct(t,e="",a={}){for(let n in t)if(Object.prototype.hasOwnProperty.call(t,n)){const r=e?`${e}_${n}`:n,o=t[n];typeof o=="object"&&o!==null&&!Array.isArray(o)?ct(o,r,a):typeof o=="boolean"?a[r]=o?1:0:a[r]=o}return a}function on(t,e){const a={};for(const[n,r]of Object.entries(t)){const o=e.find(s=>n.startsWith(`${s}_`));if(!o)a[n]=r;else{const s=n.slice(o.length+1);a[o]={...a[o],[s]:r}}}return a}function lr(t){return async(e,a,n)=>{const r=ct({...n,updated_at:new Date().toISOString(),app_metadata:n.app_metadata?JSON.stringify(n.app_metadata):void 0,user_metadata:n.user_metadata?JSON.stringify(n.user_metadata):void 0});return(await t.updateTable("users").set(r).where("users.tenant_id","=",e).where("users.user_id","=",a).execute()).length===1}}function dr(t){return async(e,a,n,r)=>{const o={linked_to:null};return(await t.updateTable("users").set(o).where("users.tenant_id","=",e).where("users.user_id","=",`${n}|${r}`).where("users.linked_to","=",`${a}`).execute()).length===1}}function ur(t){return{create:or(t),remove:cr(t),get:sr(t),list:ir(t),update:lr(t),unlink:dr(t)}}const _r="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";let mr=t=>crypto.getRandomValues(new Uint8Array(t)),hr=(t,e,a)=>{let n=(2<<Math.log2(t.length-1))-1,r=-~(1.6*n*e/t.length);return(o=e)=>{let s="";for(;;){let l=a(r),d=r|0;for(;d--;)if(s+=t[l[d]&n]||"",s.length>=o)return s}}},fr=(t,e=21)=>hr(t,e|0,mr),G=(t=21)=>{let e="",a=crypto.getRandomValues(new Uint8Array(t|=0));for(;t--;)e+=_r[a[t]&63];return e};function pr(t){return async(e,a)=>{const n=new Date().toISOString(),r=P.flowSchema.parse({id:`af_${G()}`,...a,actions:a.actions||[],created_at:n,updated_at:n});return await t.insertInto("flows").values({...r,tenant_id:e,actions:JSON.stringify(r.actions)}).execute(),r}}function va(t,e){if(!t)return e;try{return JSON.parse(t)}catch{return e}}function sn(t,e,a={...t}){for(const n in e)n in t&&(a[n]=va(t[n],e[n]));return a}function gr(t){return async(e,a)=>{const n=await t.selectFrom("flows").selectAll().where("flows.id","=",a).where("tenant_id","=",e).executeTakeFirst();if(!n)return null;const r={...n,actions:va(n.actions,[])};return P.flowSchema.parse(b(r))}}function wr(t){return async(e,a={})=>{const{page:n=0,per_page:r=50,include_totals:o=!1,q:s}=a;let l=t.selectFrom("flows").where("tenant_id","=",e);s&&(l=J(t,l,s,[]));const m=(await l.offset(n*r).limit(r).selectAll().execute()).map(h=>{const p={...h,actions:va(h.actions,[])};return P.flowSchema.parse(b(p))});if(!o)return{flows:m,start:0,limit:0,length:0};const{count:u}=await l.select(h=>h.fn.countAll().as("count")).executeTakeFirstOrThrow();return{flows:m,start:n*r,limit:r,length:q(u)}}}function yr(t){return async(e,a,n)=>{const r={...n,updated_at:new Date().toISOString()};n.actions!==void 0&&(r.actions=JSON.stringify(n.actions));const{numUpdatedRows:o}=await t.updateTable("flows").set(r).where("id","=",a).where("tenant_id","=",e).executeTakeFirst();if(o===0n)return null;const s=await t.selectFrom("flows").selectAll().where("id","=",a).where("tenant_id","=",e).executeTakeFirst();return s?P.flowSchema.parse({...s,actions:s.actions?JSON.parse(s.actions):[]}):null}}function Nr(t){return async(e,a)=>{var r;return(((r=(await t.deleteFrom("flows").where("id","=",a).where("tenant_id","=",e).execute())[0])==null?void 0:r.numDeletedRows)??0n)>0n}}function vr(t){return{create:pr(t),get:gr(t),list:wr(t),update:yr(t),remove:Nr(t)}}function bt(t,e,a={...t}){for(const n of e)t[n]!==void 0&&(a[n]=JSON.stringify(t[n]));return a}function cn(t,e,a=t){for(const n of e)t[n]!==void 0&&(a[n]=t[n]?1:0)}function Cr(t){const e={};for(const a in t)t[a]!==void 0&&t[a]!==null&&(e[a]=t[a]);return e}function ln(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),b(e)}function dn(t){const e={...t};return bt(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),Cr(e)}function xr(t){return async e=>{var r,o;const a={id:e.id||G(),created_at:new Date().toISOString(),updated_at:new Date().toISOString(),...e},n=dn(a);try{await t.insertInto("tenants").values(n).execute()}catch(s){throw(r=s==null?void 0:s.message)!=null&&r.includes("UNIQUE constraint failed")||(o=s==null?void 0:s.message)!=null&&o.includes("duplicate key")||(s==null?void 0:s.code)==="SQLITE_CONSTRAINT"||(s==null?void 0:s.code)==="23505"?new ze(409,{message:`Tenant with ID '${a.id}' already exists`}):s}return a}}function Tr(t){return async e=>{const a=await t.selectFrom("tenants").where("tenants.id","=",e).selectAll().executeTakeFirst();return a?ln(a):null}}function br(t){return async e=>{let a=t.selectFrom("tenants");const{page:n=0,per_page:r=50,include_totals:o=!1,sort:s,q:l}=e;if(s&&s.sort_by){const{ref:p}=t.dynamic;a=a.orderBy(p(s.sort_by),s.sort_order)}l&&(a=J(t,a,l,["friendly_name"]));const m=(await a.offset(n*r).limit(r).selectAll().execute()).map(ln);if(!o)return{tenants:m};const{count:u}=await a.select(p=>p.fn.countAll().as("count")).executeTakeFirstOrThrow(),h=q(u);return{tenants:m,start:n*r,limit:r,length:h}}}function Or(t){return async(e,a)=>{const r={...dn(a),id:e,updated_at:new Date().toISOString()};await t.updateTable("tenants").set(r).where("id","=",e).execute()}}function Sr(t){return async e=>(await t.deleteFrom("tenants").where("tenants.id","=",e).execute()).length===1}function kr(t){return{create:xr(t),get:Tr(t),list:br(t),update:Or(t),remove:Sr(t)}}function Pa(t){return t?JSON.stringify(t):void 0}const Ir=256;function Er(t){return async(e,a)=>{var l,d,_;const n=(l=a.user_agent)==null?void 0:l.slice(0,Ir),r=a.log_id||G(),{location_info:o,...s}=a;return await t.insertInto("logs").values({...s,log_id:r,tenant_id:e,user_agent:n,description:(d=a.description)==null?void 0:d.substring(0,256),isMobile:a.isMobile?1:0,scope:a.scope,auth0_client:Pa(a.auth0_client),details:(_=Pa(a.details))==null?void 0:_.substring(0,8192),country_code:o==null?void 0:o.country_code,city_name:o==null?void 0:o.city_name,latitude:o==null?void 0:o.latitude,longitude:o==null?void 0:o.longitude,time_zone:o==null?void 0:o.time_zone,continent_code:o==null?void 0:o.continent_code}).execute(),{...a,log_id:r,user_agent:n}}}function Da(t){if(!t)return"";try{return JSON.parse(t)}catch{return t}}function un(t){return{...t,client_id:t.client_id,client_name:"",auth0_client:Da(t.auth0_client),details:Da(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,city_name:t.city_name||"",latitude:t.latitude||"",longitude:t.longitude||"",time_zone:t.time_zone||"",continent_code:t.continent_code||""}:void 0}}function Ar(t){return async(e,a={})=>{const{page:n=0,per_page:r=50,include_totals:o=!1,sort:s,q:l}=a;let d=t.selectFrom("logs").where("logs.tenant_id","=",e);l&&(d=J(t,d,l,["user_id","ip"]));let _=d;if(s&&s.sort_by){const{ref:p}=t.dynamic;_=_.orderBy(p(s.sort_by),s.sort_order)}_=_.offset(n*r).limit(r);const u=(await _.selectAll().execute()).map(un);if(!o)return{logs:u,start:0,limit:0,length:0};const{count:h}=await d.select(p=>p.fn.countAll().as("count")).executeTakeFirstOrThrow();return{logs:u,start:n*r,limit:r,length:q(h)}}}function $r(t){return async(e,a)=>{const n=await t.selectFrom("logs").where("logs.tenant_id","=",e).where("logs.log_id","=",a).selectAll().executeTakeFirst();return n?un(n):null}}function Pr(t){return{create:Er(t),list:Ar(t),get:$r(t)}}function _n(t){if(t!=null){if(typeof t=="number")return new Date(t).toISOString();if(typeof t=="string"){if(t==="")return;const e=parseFloat(t);return!isNaN(e)&&/^\d+(\.\d+)?$/.test(t)?new Date(e).toISOString():t}}}function Dr(t,e=new Date(0).toISOString()){return _n(t)??e}function z(t){if(!t||t==="")return null;const e=new Date(t);return isNaN(e.getTime())?null:e.getTime()}function Ca(){return new Date().toISOString()}function Ot(t,e,a=[]){const n={};for(const r of e){const o=r.replace(/_ts$/,"");n[o]=Dr(t[r])}for(const r of a){const o=r.replace(/_ts$/,"");n[o]=_n(t[r])}return n}function zr(t){return async(e,a)=>{const n=await t.selectFrom("sessions").where("sessions.tenant_id","=",e).where("sessions.id","=",a).selectAll().executeTakeFirst();if(!n)return null;const{tenant_id:r,device:o,clients:s,created_at_ts:l,updated_at_ts:d,expires_at_ts:_,idle_expires_at_ts:m,authenticated_at_ts:u,last_interaction_at_ts:h,used_at_ts:p,revoked_at_ts:y,...v}=n,T=Ot({created_at_ts:l,updated_at_ts:d,expires_at_ts:_,idle_expires_at_ts:m,authenticated_at_ts:u,last_interaction_at_ts:h,used_at_ts:p,revoked_at_ts:y},["created_at_ts","updated_at_ts","authenticated_at_ts","last_interaction_at_ts"],["expires_at_ts","idle_expires_at_ts","used_at_ts","revoked_at_ts"]);return{...v,...T,device:JSON.parse(o),clients:JSON.parse(s)}}}function Rr(t){return async(e,a)=>{const n=Date.now(),r=Ca(),o={...a,created_at:r,updated_at:r,authenticated_at:r,last_interaction_at:r},{expires_at:s,idle_expires_at:l,used_at:d,revoked_at:_,device:m,clients:u,...h}=a;return await t.insertInto("sessions").values({...h,tenant_id:e,created_at_ts:n,updated_at_ts:n,authenticated_at_ts:n,last_interaction_at_ts:n,expires_at_ts:z(s),idle_expires_at_ts:z(l),used_at_ts:z(d),revoked_at_ts:z(_),device:JSON.stringify(m),clients:JSON.stringify(u)}).execute(),o}}function Fr(t){return async(e,a)=>!!(await t.deleteFrom("sessions").where("tenant_id","=",e).where("sessions.id","=",a).execute()).length}function jr(t){return async(e,a,n)=>{const r={updated_at_ts:Date.now(),device:n.device?JSON.stringify(n.device):void 0,clients:n.clients?JSON.stringify(n.clients):void 0};return n.expires_at!==void 0&&(r.expires_at_ts=z(n.expires_at)),n.idle_expires_at!==void 0&&(r.idle_expires_at_ts=z(n.idle_expires_at)),n.authenticated_at!==void 0&&(r.authenticated_at_ts=z(n.authenticated_at)),n.last_interaction_at!==void 0&&(r.last_interaction_at_ts=z(n.last_interaction_at)),n.used_at!==void 0&&(r.used_at_ts=z(n.used_at)),n.revoked_at!==void 0&&(r.revoked_at_ts=z(n.revoked_at)),n.user_id!==void 0&&(r.user_id=n.user_id),n.login_session_id!==void 0&&(r.login_session_id=n.login_session_id),!!(await t.updateTable("sessions").set(r).where("tenant_id","=",e).where("sessions.id","=",a).execute()).length}}function Mr(t){return async(e,a={})=>{const{page:n=0,per_page:r=50,include_totals:o=!1,sort:s,q:l}=a;let d=t.selectFrom("sessions").where("sessions.tenant_id","=",e);l&&(d=J(t,d,l,["user_id","session_id"]));let _=d;if(s&&s.sort_by){const{ref:y}=t.dynamic;_=_.orderBy(y(s.sort_by),s.sort_order)}_=_.offset(n*r).limit(r);const u=(await _.selectAll().execute()).map(y=>{const{tenant_id:v,device:T,clients:E,created_at_ts:K,updated_at_ts:L,expires_at_ts:U,idle_expires_at_ts:te,authenticated_at_ts:H,last_interaction_at_ts:Oe,used_at_ts:Aa,revoked_at_ts:er,...tr}=y,ar=Ot({created_at_ts:K,updated_at_ts:L,expires_at_ts:U,idle_expires_at_ts:te,authenticated_at_ts:H,last_interaction_at_ts:Oe,used_at_ts:Aa,revoked_at_ts:er},["created_at_ts","updated_at_ts","authenticated_at_ts","last_interaction_at_ts"],["expires_at_ts","idle_expires_at_ts","used_at_ts","revoked_at_ts"]);return{...tr,...ar,device:JSON.parse(T),clients:JSON.parse(E)}});if(!o)return{sessions:u,start:0,limit:0,length:0};const{count:h}=await d.select(y=>y.fn.countAll().as("count")).executeTakeFirstOrThrow(),p=q(h);return{sessions:u,start:n*r,limit:r,length:p}}}function Lr(t){return{create:Rr(t),get:zr(t),list:Mr(t),remove:Fr(t),update:jr(t)}}function Jr(t){return async(e,a)=>{const n=await t.selectFrom("passwords").where("passwords.tenant_id","=",e).where("passwords.user_id","=",a).where("passwords.is_current","=",1).selectAll().executeTakeFirst();if(!n)return null;const{tenant_id:r,...o}=n;return{...o,is_current:!!o.is_current}}}function qr(t){return async(e,a)=>{const n=a.id||G(),r=a.is_current??!0,o={id:n,...a,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","=",a.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 Br(t){return async(e,a)=>{let n=t.updateTable("passwords").set({password:a.password,algorithm:a.algorithm,is_current:a.is_current?1:0,updated_at:new Date().toISOString()}).where("tenant_id","=",e).where("user_id","=",a.user_id);return a.id?n=n.where("id","=",a.id):n=n.where("is_current","=",1),(await n.execute()).length===1}}function Wr(t){return async(e,a,n)=>{let r=t.selectFrom("passwords").where("passwords.tenant_id","=",e).where("passwords.user_id","=",a).orderBy("created_at","desc");return n&&(r=r.limit(n)),(await r.selectAll().execute()).map(({tenant_id:s,...l})=>({...l,is_current:!!l.is_current}))}}function Kr(t){return{create:qr(t),update:Br(t),get:Jr(t),list:Wr(t)}}function Ur(t){return async(e,a={})=>{const{page:n=0,per_page:r=50,include_totals:o=!1,q:s}=a;let l=t.selectFrom("codes").where("codes.tenant_id","=",e);s&&(l=J(t,l,s,["code","login_id"]));const m=(await l.offset(n*r).limit(r).selectAll().execute()).map(h=>{const{tenant_id:p,...y}=h;return P.codeSchema.parse(b(y))});if(!o)return{codes:m,start:0,limit:0,length:0};const{count:u}=await l.select(h=>h.fn.countAll().as("count")).executeTakeFirstOrThrow();return{codes:m,start:n*r,limit:r,length:q(u)}}}function Qr(t){return async(e,a)=>{const n={...a,created_at:new Date().toISOString()};return await t.insertInto("codes").values({...n,tenant_id:e}).execute(),n}}function Vr(t){return async(e,a)=>(await t.deleteFrom("codes").where("codes.tenant_id","=",e).where("codes.code_id","=",a).executeTakeFirst()).numDeletedRows>0}function Gr(t){return async(e,a,n)=>{let r=t.selectFrom("codes").where("codes.code_id","=",a).where("codes.code_type","=",n);e.length&&(r=r.where("codes.tenant_id","=",e));const o=await r.selectAll().executeTakeFirst();return o?b(o):null}}function Yr(t){return async(e,a)=>(await t.updateTable("codes").set({used_at:new Date().toISOString()}).where("codes.tenant_id","=",e).where("codes.code_id","=",a).executeTakeFirst()).numUpdatedRows>0}function Hr(t){return{create:Qr(t),list:Ur(t),remove:Vr(t),used:Yr(t),get:Gr(t)}}const Xr=17,Zr={organization:"org_",connection:"con_",action:"act_",hook:"h_",rule:"rul_",resource_server:"api_",guardian_factor:"gfa_",invite:"inv_"};function St(t){const n=fr("0123456789abcdefghijklmnopqrstuvwxyz",Xr)();return`${Zr[t]}${n}`}function eo(){return St("organization")}function to(){return St("connection")}function ao(){return St("hook")}function no(){return St("resource_server")}function ro(){return St("invite")}function oo(t){return async(e,a)=>{const{is_system:n,...r}=a,o={id:r.id||to(),...r,is_system:n?!0:void 0,created_at:new Date().toISOString(),updated_at:new Date().toISOString()};return await t.insertInto("connections").values({...o,is_system:n?1:0,options:JSON.stringify(o.options||{}),tenant_id:e}).execute(),o}}function so(t){return async(e,a={})=>{const{page:n=0,per_page:r=50,include_totals:o=!1,q:s}=a;let l=t.selectFrom("connections").where("connections.tenant_id","=",e);s&&(l=J(t,l,s,["user_id","ip"]));const m=(await l.offset(n*r).limit(r).selectAll().execute()).map(h=>{const{is_system:p,...y}=h;return b({...y,is_system:p?!0:void 0,options:JSON.parse(h.options)})});if(!o)return{connections:m,start:0,limit:0,length:0};const{count:u}=await l.select(h=>h.fn.countAll().as("count")).executeTakeFirstOrThrow();return{connections:m,start:n*r,limit:r,length:q(u)}}}function io(t){return async(e,a)=>(await t.deleteFrom("connections").where("connections.tenant_id","=",e).where("connections.id","=",a).executeTakeFirst()).numDeletedRows>0}function co(t){return async(e,a)=>{const n=await t.selectFrom("connections").where("connections.tenant_id","=",e).where("connections.id","=",a).selectAll().executeTakeFirst();if(!n)return null;const{is_system:r,...o}=n;return b({...o,is_system:r?!0:void 0,options:JSON.parse(n.options)})}}function lo(t){return async(e,a,n)=>{const{is_system:r,...o}=n,s={...o,is_system:r!==void 0?r?1:0:void 0,updated_at:new Date().toISOString()};return await t.updateTable("connections").set({...s,options:s.options?JSON.stringify(s.options):void 0}).where("connections.id","=",a).where("connections.tenant_id","=",e).execute(),!0}}function uo(t){return{create:oo(t),get:co(t),list:so(t),remove:io(t),update:lo(t)}}function _o(t){return async(e,a)=>{const n={created_at:new Date().toISOString(),updated_at:new Date().toISOString(),...a,global:a.global??!1,is_first_party:a.is_first_party??!1,oidc_conformant:a.oidc_conformant??!0,sso:a.sso??!1,sso_disabled:a.sso_disabled??!0,cross_origin_authentication:a.cross_origin_authentication??!1,custom_login_page_on:a.custom_login_page_on??!1,require_pushed_authorization_requests:a.require_pushed_authorization_requests??!1,require_proof_of_possession:a.require_proof_of_possession??!1},r={...n,tenant_id:e};return cn(n,["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(a.callbacks||[]),allowed_origins:JSON.stringify(a.allowed_origins||[]),web_origins:JSON.stringify(a.web_origins||[]),client_aliases:JSON.stringify(a.client_aliases||[]),allowed_clients:JSON.stringify(a.allowed_clients||[]),connections:JSON.stringify(a.connections||[]),allowed_logout_urls:JSON.stringify(a.allowed_logout_urls||[]),session_transfer:JSON.stringify(a.session_transfer||{}),oidc_logout:JSON.stringify(a.oidc_logout||{}),grant_types:JSON.stringify(a.grant_types||[]),jwt_configuration:JSON.stringify(a.jwt_configuration||{}),signing_keys:JSON.stringify(a.signing_keys||[]),encryption_key:JSON.stringify(a.encryption_key||{}),addons:JSON.stringify(a.addons||{}),client_metadata:JSON.stringify(a.client_metadata||{}),mobile:JSON.stringify(a.mobile||{}),native_social_login:JSON.stringify(a.native_social_login||{}),refresh_token:JSON.stringify(a.refresh_token||{}),default_organization:JSON.stringify(a.default_organization||{}),client_authentication_methods:JSON.stringify(a.client_authentication_methods||{}),signed_request_object:JSON.stringify(a.signed_request_object||{}),token_quota:JSON.stringify(a.token_quota||{})}),await t.insertInto("clients").values(r).execute(),n}}function mo(t){return async(e,a)=>{const n=await t.selectFrom("clients").where("clients.tenant_id","=",e).where("clients.client_id","=",a).selectAll().executeTakeFirst();if(!n)return null;const{tenant_id:r,...o}=n;return b({...o,global:!!n.global,is_first_party:!!n.is_first_party,oidc_conformant:!!n.oidc_conformant,sso:!!n.sso,sso_disabled:!!n.sso_disabled,cross_origin_authentication:!!n.cross_origin_authentication,custom_login_page_on:!!n.custom_login_page_on,require_pushed_authorization_requests:!!n.require_pushed_authorization_requests,require_proof_of_possession:!!n.require_proof_of_possession,callbacks:JSON.parse(n.callbacks),allowed_origins:JSON.parse(n.allowed_origins),web_origins:JSON.parse(n.web_origins),client_aliases:JSON.parse(n.client_aliases),allowed_clients:JSON.parse(n.allowed_clients),connections:JSON.parse(n.connections||"[]"),allowed_logout_urls:JSON.parse(n.allowed_logout_urls),session_transfer:JSON.parse(n.session_transfer),oidc_logout:JSON.parse(n.oidc_logout),grant_types:JSON.parse(n.grant_types),jwt_configuration:JSON.parse(n.jwt_configuration),signing_keys:JSON.parse(n.signing_keys),encryption_key:JSON.parse(n.encryption_key),addons:JSON.parse(n.addons),client_metadata:JSON.parse(n.client_metadata),mobile:JSON.parse(n.mobile),native_social_login:JSON.parse(n.native_social_login),refresh_token:JSON.parse(n.refresh_token),default_organization:JSON.parse(n.default_organization),client_authentication_methods:JSON.parse(n.client_authentication_methods),signed_request_object:JSON.parse(n.signed_request_object),token_quota:JSON.parse(n.token_quota)})}}function ho(t){return async(e,a)=>{let n=t.selectFrom("clients").where("clients.tenant_id","=",e);return a!=null&&a.per_page&&(n=n.limit(a.per_page)),a!=null&&a.page&&(a!=null&&a.per_page)&&(n=n.offset((a.page-1)*a.per_page)),{clients:(await n.selectAll().execute()).map(s=>({...s,global:!!s.global,is_first_party:!!s.is_first_party,oidc_conformant:!!s.oidc_conformant,sso:!!s.sso,sso_disabled:!!s.sso_disabled,cross_origin_authentication:!!s.cross_origin_authentication,custom_login_page_on:!!s.custom_login_page_on,require_pushed_authorization_requests:!!s.require_pushed_authorization_requests,require_proof_of_possession:!!s.require_proof_of_possession,callbacks:JSON.parse(s.callbacks),allowed_origins:JSON.parse(s.allowed_origins),web_origins:JSON.parse(s.web_origins),client_aliases:JSON.parse(s.client_aliases),allowed_clients:JSON.parse(s.allowed_clients),connections:JSON.parse(s.connections||"[]"),allowed_logout_urls:JSON.parse(s.allowed_logout_urls),session_transfer:JSON.parse(s.session_transfer),oidc_logout:JSON.parse(s.oidc_logout),grant_types:JSON.parse(s.grant_types),jwt_configuration:JSON.parse(s.jwt_configuration),signing_keys:JSON.parse(s.signing_keys),encryption_key:JSON.parse(s.encryption_key),addons:JSON.parse(s.addons),client_metadata:JSON.parse(s.client_metadata),mobile:JSON.parse(s.mobile),native_social_login:JSON.parse(s.native_social_login),refresh_token:JSON.parse(s.refresh_token),default_organization:JSON.parse(s.default_organization),client_authentication_methods:JSON.parse(s.client_authentication_methods),signed_request_object:JSON.parse(s.signed_request_object),token_quota:JSON.parse(s.token_quota)}))}}}function fo(t){return async(e,a)=>(await t.deleteFrom("clients").where("clients.tenant_id","=",e).where("clients.client_id","=",a).executeTakeFirst()).numDeletedRows>0}function po(t){return async(e,a,n)=>{const r={...n,updated_at:new Date().toISOString()};return cn(n,["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),bt(n,["callbacks","allowed_origins","web_origins","client_aliases","allowed_clients","connections","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","=",a).executeTakeFirst()).numUpdatedRows>0}}function go(t){return{create:_o(t),get:mo(t),list:ho(t),remove:fo(t),update:po(t)}}function wo(t){return async(e,a)=>{const n=await t.selectFrom("clients").where("clients.tenant_id","=",e).where("clients.client_id","=",a).select("connections").executeTakeFirst();if(!n)return[];const r=JSON.parse(n.connections||"[]");if(r.length===0)return[];const o=await t.selectFrom("connections").where("connections.tenant_id","=",e).where("connections.id","in",r).selectAll().execute(),s=new Map(o.map(l=>[l.id,b({...l,options:JSON.parse(l.options)})]));return r.map(l=>s.get(l)).filter(l=>l!==void 0)}}function yo(t){return async(e,a,n)=>(await t.updateTable("clients").set({connections:JSON.stringify(n),updated_at:new Date().toISOString()}).where("clients.tenant_id","=",e).where("clients.client_id","=",a).executeTakeFirst()).numUpdatedRows>0}function No(t){return async(e,a)=>{const n=await t.selectFrom("clients").where("clients.tenant_id","=",e).select(["client_id","connections"]).execute(),r=[];for(const o of n)JSON.parse(o.connections||"[]").includes(a)&&r.push(o.client_id);return r}}function vo(t){return async(e,a,n)=>{const r=await t.selectFrom("clients").where("clients.tenant_id","=",e).where("clients.client_id","=",n).select("connections").executeTakeFirst();if(!r)return!1;const o=JSON.parse(r.connections||"[]");return o.includes(a)?!0:(o.push(a),(await t.updateTable("clients").set({connections:JSON.stringify(o),updated_at:new Date().toISOString()}).where("clients.tenant_id","=",e).where("clients.client_id","=",n).executeTakeFirst()).numUpdatedRows>0)}}function Co(t){return async(e,a,n)=>{const r=await t.selectFrom("clients").where("clients.tenant_id","=",e).where("clients.client_id","=",n).select("connections").executeTakeFirst();if(!r)return!1;const o=JSON.parse(r.connections||"[]"),s=o.filter(l=>l!==a);return s.length!==o.length?(await t.updateTable("clients").set({connections:JSON.stringify(s),updated_at:new Date().toISOString()}).where("clients.tenant_id","=",e).where("clients.client_id","=",n).executeTakeFirst()).numUpdatedRows>0:!0}}function xo(t){return{listByClient:wo(t),updateByClient:yo(t),listByConnection:No(t),addClientToConnection:vo(t),removeClientFromConnection:Co(t)}}function To(t){return async(e,a)=>{const n=new Date().toISOString(),r=G(),{scope:o,authorization_details_types:s,...l}=a,d={id:r,tenant_id:e,...l,scope:o?JSON.stringify(o):"[]",authorization_details_types:s?JSON.stringify(s):"[]",allow_any_organization:l.allow_any_organization!==void 0?l.allow_any_organization?1:0:void 0,is_system:l.is_system!==void 0?l.is_system?1:0:void 0,created_at:n,updated_at:n};return await t.insertInto("client_grants").values(d).execute(),b({id:r,tenant_id:e,...l,scope:o||[],authorization_details_types:s||[],allow_any_organization:l.allow_any_organization??!1,is_system:l.is_system??!1,created_at:n,updated_at:n})}}function bo(t){return async(e,a)=>{const n=await t.selectFrom("client_grants").selectAll().where("client_grants.tenant_id","=",e).where("client_grants.id","=",a).executeTakeFirst();if(!n)return null;const r={id:n.id,client_id:n.client_id,audience:n.audience,scope:n.scope?JSON.parse(n.scope):[],organization_usage:n.organization_usage,allow_any_organization:n.allow_any_organization!==void 0?!!n.allow_any_organization:!1,is_system:n.is_system!==void 0?!!n.is_system:!1,subject_type:n.subject_type,authorization_details_types:n.authorization_details_types?JSON.parse(n.authorization_details_types):[],created_at:n.created_at,updated_at:n.updated_at};return b(r)}}function Oo(t){return async(e,a={})=>{const{page:n=0,per_page:r=50,include_totals:o=!1,q:s,sort:l}=a;let d=t.selectFrom("client_grants").where("client_grants.tenant_id","=",e);if(s){const p=s.trim(),y=p.split(/\s+/),v=y.length===1?y[0]:void 0,T=v?v.match(/^(-)?([a-zA-Z_][a-zA-Z0-9_]*):"?([^"]*)"?$/):null,E=T?T[3]:"",K=/^(>=|>|<=|<)/.test(E||"");if(T&&!K&&E){const L=!!T[1],U=T[2],{ref:te}=t.dynamic,H=te(`client_grants.${U}`);if(U==="allow_any_organization"){const Oe=E==="true"?1:0;L?d=d.where(H,"!=",Oe):d=d.where(H,"=",Oe)}else L?d=d.where(H,"!=",E):d=d.where(H,"=",E)}else d=J(t,d,p,[])}let _=d;if(l){const{ref:p}=t.dynamic;_=_.orderBy(p(l.sort_by),l.sort_order)}else _=_.orderBy("client_grants.created_at","desc");_=_.limit(r).offset(n*r);const u=(await _.selectAll().execute()).map(p=>{const y={id:p.id,client_id:p.client_id,audience:p.audience,scope:p.scope?JSON.parse(p.scope):[],organization_usage:p.organization_usage,allow_any_organization:p.allow_any_organization!==void 0?!!p.allow_any_organization:!1,is_system:p.is_system!==void 0?!!p.is_system:!1,subject_type:p.subject_type,authorization_details_types:p.authorization_details_types?JSON.parse(p.authorization_details_types):[],created_at:p.created_at,updated_at:p.updated_at};return b(y)});if(!o)return{client_grants:u,start:0,limit:0,length:0};const{count:h}=await d.select(p=>p.fn.countAll().as("count")).executeTakeFirstOrThrow();return{client_grants:u,start:n*r,limit:r,length:q(h)}}}function So(t){return async(e,a)=>((await t.deleteFrom("client_grants").where("client_grants.tenant_id","=",e).where("client_grants.id","=",a).executeTakeFirst()).numDeletedRows??0n)>0n}function ko(t){return async(e,a,n)=>{const r=new Date().toISOString(),{scope:o,authorization_details_types:s,...l}=n,d={...l,updated_at:r};return o!==void 0&&(d.scope=JSON.stringify(o)),s!==void 0&&(d.authorization_details_types=JSON.stringify(s)),l.allow_any_organization!==void 0&&(d.allow_any_organization=l.allow_any_organization?1:0),l.is_system!==void 0&&(d.is_system=l.is_system?1:0),((await t.updateTable("client_grants").set(d).where("client_grants.tenant_id","=",e).where("client_grants.id","=",a).executeTakeFirst()).numUpdatedRows??0n)>0n}}function Io(t){return{create:To(t),get:bo(t),list:Oo(t),remove:So(t),update:ko(t)}}function Eo(t){return{get:async e=>{const a=await t.selectFrom("clients").selectAll().where("client_id","=",e).executeTakeFirst();if(!a)return null;const n=await t.selectFrom("tenants").selectAll().where("id","=",a.tenant_id).executeTakeFirst();if(!n)throw new ze(404,{message:"Tenant not found"});const r=JSON.parse(a.connections||"[]"),o=await t.selectFrom("connections").where("tenant_id","=",a.tenant_id).selectAll().execute(),s=a.client_metadata?JSON.parse(a.client_metadata):{},l=new Map(o.map(m=>{const{is_system:u,...h}=m;return[m.id,P.connectionSchema.parse(b({...h,is_system:u?!0:void 0,options:m.options?JSON.parse(m.options):{}}))]})),d=r.length>0?r.map(m=>l.get(m)).filter(m=>m!=null):Array.from(l.values());return{...a,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,connections:d,addons:a.addons?JSON.parse(a.addons):{},callbacks:a.callbacks?JSON.parse(a.callbacks):[],allowed_origins:a.allowed_origins?JSON.parse(a.allowed_origins):[],web_origins:a.web_origins?JSON.parse(a.web_origins):[],client_aliases:a.client_aliases?JSON.parse(a.client_aliases):[],allowed_clients:a.allowed_clients?JSON.parse(a.allowed_clients):[],allowed_logout_urls:a.allowed_logout_urls?JSON.parse(a.allowed_logout_urls):[],session_transfer:a.session_transfer?JSON.parse(a.session_transfer):{},oidc_logout:a.oidc_logout?JSON.parse(a.oidc_logout):{},grant_types:a.grant_types?JSON.parse(a.grant_types):[],jwt_configuration:a.jwt_configuration?JSON.parse(a.jwt_configuration):{},signing_keys:a.signing_keys?JSON.parse(a.signing_keys):[],encryption_key:a.encryption_key?JSON.parse(a.encryption_key):{},client_metadata:s,mobile:a.mobile?JSON.parse(a.mobile):{},native_social_login:a.native_social_login?JSON.parse(a.native_social_login):{},refresh_token:a.refresh_token?JSON.parse(a.refresh_token):{},default_organization:a.default_organization?JSON.parse(a.default_organization):{},client_authentication_methods:a.client_authentication_methods?JSON.parse(a.client_authentication_methods):{},signed_request_object:a.signed_request_object?JSON.parse(a.signed_request_object):{},token_quota:a.token_quota?JSON.parse(a.token_quota):{},tenant:b(n)}}}}function Ao(t){return async(e={})=>{const{page:a=0,per_page:n=100,include_totals:r=!1,sort:o,q:s}=e;let l=t.selectFrom("keys").where(p=>p.or([p("revoked_at",">",new Date().toISOString()),p("revoked_at","is",null)]));s&&(l=J(t,l,s,["kid","connection","fingerprint","thumbprint","type"]));let d=l.select(p=>p.fn.count("kid").as("count"));const _=a*n;l=l.limit(n).offset(_),o&&(l=l.orderBy(o.sort_by,o.sort_order));const m=await l.selectAll().execute();if(!r)return{signingKeys:m,start:0,limit:0,length:0};const u=await d.executeTakeFirst(),h=q((u==null?void 0:u.count)??0);return{signingKeys:m,start:_,limit:n,length:h}}}function $o(t){return async e=>{await t.insertInto("keys").values({...e,created_at:new Date().toDateString()}).execute()}}function Po(t){return async(e,a)=>!!(await t.updateTable("keys").set(a).where("kid","=",e).execute()).length}function Do(t){return{create:$o(t),list:Ao(t),update:Po(t)}}function zo(t){return async(e,a)=>{const n={custom_domain_id:a.custom_domain_id||G(),status:"pending",primary:!1,...a};return await t.insertInto("custom_domains").values({...n,created_at:new Date().toISOString(),updated_at:new Date().toISOString(),tenant_id:e,primary:n.primary?1:0}).execute(),n}}function Ro(t){return async e=>(await t.selectFrom("custom_domains").where("custom_domains.tenant_id","=",e).selectAll().execute()).map(n=>({...n,primary:n.primary===1}))}function Fo(t){return async(e,a)=>(await t.deleteFrom("custom_domains").where("custom_domains.tenant_id","=",e).where("custom_domains.custom_domain_id","=",a).execute()).length>0}function jo(t){return async(e,a)=>{const n=await t.selectFrom("custom_domains").where("custom_domains.tenant_id","=",e).where("custom_domains.custom_domain_id","=",a).selectAll().executeTakeFirst();return n?{...n,primary:n.primary===1}:null}}function Mo(t){return async(e,a,n)=>{const r={...n,updated_at:new Date().toISOString(),primary:n.primary?1:0};return(await t.updateTable("custom_domains").set(r).where("custom_domains.tenant_id","=",e).where("custom_domains.custom_domain_id","=",a).execute()).length>0}}function Lo(t){return async e=>{const a=await t.selectFrom("custom_domains").where("custom_domains.domain","=",e).selectAll().executeTakeFirst();return a?{...a,primary:a.primary===1}:null}}function Jo(t){return{create:zo(t),get:jo(t),getByDomain:Lo(t),list:Ro(t),remove:Fo(t),update:Mo(t)}}function qo(t){return async e=>{const[a]=await t.selectFrom("branding").where("branding.tenant_id","=",e).selectAll().execute();if(!a)return null;const{tenant_id:n,colors_primary:r,colors_page_background_type:o,colors_page_background_start:s,colors_page_background_end:l,colors_page_background_angle_dev:d,font_url:_,...m}=a;return b({...m,colors:{primary:r,page_background:{type:o,start:s,end:l,angle_deg:d}},font:_?{url:_}:void 0})}}function Bo(t){return async(e,a)=>{var s,l,d,_,m,u,h,p,y,v,T,E,K,L,U,te,H,Oe;const{colors:n,font:r,...o}=a;try{await t.insertInto("branding").values({...o,colors_primary:n==null?void 0:n.primary,colors_page_background_type:(l=(s=a.colors)==null?void 0:s.page_background)==null?void 0:l.type,colors_page_background_start:(_=(d=a.colors)==null?void 0:d.page_background)==null?void 0:_.start,colors_page_background_end:(u=(m=a.colors)==null?void 0:m.page_background)==null?void 0:u.end,colors_page_background_angle_dev:(p=(h=a.colors)==null?void 0:h.page_background)==null?void 0:p.angle_deg,font_url:(y=a.font)==null?void 0:y.url,tenant_id:e}).execute()}catch{await t.updateTable("branding").set({...o,colors_primary:n==null?void 0:n.primary,colors_page_background_type:(T=(v=a.colors)==null?void 0:v.page_background)==null?void 0:T.type,colors_page_background_start:(K=(E=a.colors)==null?void 0:E.page_background)==null?void 0:K.start,colors_page_background_end:(U=(L=a.colors)==null?void 0:L.page_background)==null?void 0:U.end,colors_page_background_angle_dev:(H=(te=a.colors)==null?void 0:te.page_background)==null?void 0:H.angle_deg,font_url:(Oe=a.font)==null?void 0:Oe.url}).where("tenant_id","=",e).execute()}}}function Wo(t){return{get:qo(t),set:Bo(t)}}function Ko(t){return async(e,a={})=>{const{page:n=0,per_page:r=50,include_totals:o=!1,q:s}=a;let l=t.selectFrom("hooks").where("hooks.tenant_id","=",e);s&&(l=J(t,l,s,["url","form_id"]));const m=(await l.offset(n*r).limit(r).selectAll().execute()).map(h=>{const{tenant_id:p,enabled:y,synchronous:v,...T}=h;return b({...T,enabled:!!y,synchronous:!!v})});if(!o)return{hooks:m,start:0,limit:0,length:0};const{count:u}=await l.select(h=>h.fn.countAll().as("count")).executeTakeFirstOrThrow();return{hooks:m,start:n*r,limit:r,length:q(u)}}}function Uo(t){return async(e,a)=>{const n=await t.selectFrom("hooks").where("hooks.tenant_id","=",e).where("hooks.hook_id","=",a).selectAll().executeTakeFirst();return n?b({...n,enabled:!!n.enabled,synchronous:!!n.synchronous}):null}}function Qo(t){return async(e,a)=>(await t.deleteFrom("hooks").where("hooks.tenant_id","=",e).where("hooks.hook_id","=",a).executeTakeFirst()).numDeletedRows>0}function Vo(t){return async(e,a)=>{const n={hook_id:a.hook_id||ao(),...a,created_at:new Date().toISOString(),updated_at:new Date().toISOString()};return await t.insertInto("hooks").values({...n,tenant_id:e,enabled:a.enabled?1:0,synchronous:a.synchronous?1:0}).execute(),n}}function Go(t){return async(e,a,n)=>{const r={...n,updated_at:new Date().toISOString(),enabled:n.enabled!==void 0?n.enabled?1:0:void 0,synchronous:n.enabled!==void 0?n.synchronous?1:0:void 0};return await t.updateTable("hooks").set(r).where("hooks.hook_id","=",a).where("hooks.tenant_id","=",e).execute(),!0}}function Yo(t){return{create:Vo(t),get:Uo(t),list:Ko(t),update:Go(t),remove:Qo(t)}}function Ho(t){return async(e,a)=>{const n={themeId:G(),created_at:new Date().toISOString(),updated_at:new Date().toISOString(),...a},r={...n,tenant_id:e};return await t.insertInto("themes").values(ct(r)).execute(),n}}function Xo(t){return async(e,a)=>(await t.deleteFrom("themes").where("themes.tenant_id","=",e).where("themes.themeId","=",a).executeTakeFirst()).numDeletedRows>0}function Zo(t){return async(e,a)=>{const n=await t.selectFrom("themes").where("themes.tenant_id","=",e).where("themes.themeId","=",a).selectAll().executeTakeFirst();if(!n)return null;const r={...n,borders_show_widget_shadow:!!n.borders_show_widget_shadow,fonts_body_text_bold:!!n.fonts_body_text_bold,fonts_buttons_text_bold:!!n.fonts_buttons_text_bold,fonts_input_labels_bold:!!n.fonts_input_labels_bold,fonts_links_bold:!!n.fonts_links_bold,fonts_subtitle_bold:!!n.fonts_subtitle_bold,fonts_title_bold:!!n.fonts_title_bold};return b(on(r,["widget","colors","borders","fonts","page_background"]))}}function es(t){return async(e,a,n)=>{const{themeId:r,...o}=n,s=ct({...o,updated_at:new Date().toISOString()});return await t.updateTable("themes").set(s).where("themes.themeId","=",a).where("themes.tenant_id","=",e).execute(),!0}}function ts(t){return{create:Ho(t),get:Zo(t),remove:Xo(t),update:es(t)}}function as(t){return async(e,a)=>{const n=await t.selectFrom("login_sessions").where("login_sessions.id","=",a).selectAll().executeTakeFirst();if(!n)return null;const{created_at_ts:r,updated_at_ts:o,expires_at_ts:s,...l}=n,d=Ot({created_at_ts:r,updated_at_ts:o,expires_at_ts:s},["created_at_ts","updated_at_ts","expires_at_ts"]);return P.loginSessionSchema.parse(on(b({...l,...d,state:n.state||P.LoginSessionState.PENDING,state_data:n.state_data,failure_reason:n.failure_reason}),["authParams"]))}}function ns(t){return async(e,a)=>{var l;const n=Ca(),r={id:G(),...a,authorization_url:(l=a.authorization_url)==null?void 0:l.slice(0,1024),created_at:n,updated_at:n,state:a.state||P.LoginSessionState.PENDING,state_data:a.state_data,failure_reason:a.failure_reason},o=Date.now(),s=ct(r);return delete s.created_at,delete s.updated_at,delete s.expires_at,await t.insertInto("login_sessions").values({...s,tenant_id:e,created_at_ts:o,updated_at_ts:o,expires_at_ts:o+1e3*60*60*24}).execute(),r}}function rs(t){return async(e,a,n)=>{const{created_at:r,updated_at:o,expires_at:s,...l}=n,d=ct(l);return delete d.created_at_ts,delete d.updated_at_ts,delete d.expires_at_ts,delete d.id,delete d.tenant_id,(await t.updateTable("login_sessions").set({...d,updated_at_ts:Date.now(),...s?{expires_at_ts:z(s)}:{}}).where("login_sessions.id","=",a).where("login_sessions.tenant_id","=",e).execute()).length===1}}function os(t){return async(e,a)=>(await t.deleteFrom("login_sessions").where("login_sessions.tenant_id","=",e).where("login_sessions.id","=",a).execute()).length>0}function ss(t){return{create:ns(t),get:as(t),update:rs(t),remove:os(t)}}function is(t){return async e=>{const[a]=await t.selectFrom("prompt_settings").where("prompt_settings.tenant_id","=",e).selectAll().execute();return b({identifier_first:!!(a!=null&&a.identifier_first),password_first:!!(a!=null&&a.password_first),webauthn_platform_first_factor:!!(a!=null&&a.webauthn_platform_first_factor),universal_login_experience:(a==null?void 0:a.universal_login_experience)||"new"})}}function za(t){return b({...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 cs(t){return async(e,a)=>{try{const n=P.promptSettingSchema.parse(a);await t.insertInto("prompt_settings").values({...za(n),tenant_id:e}).execute()}catch{await t.updateTable("prompt_settings").set(za(a)).where("tenant_id","=",e).execute()}}}function ls(t){return{get:is(t),set:cs(t)}}function ds(t){return async e=>{const[a]=await t.selectFrom("email_providers").where("email_providers.tenant_id","=",e).selectAll().execute();if(!a)return null;const{tenant_id:n,credentials:r,settings:o,enabled:s,...l}=a;return b({...l,credentials:JSON.parse(r),settings:JSON.parse(o),enabled:!!s})}}function us(t){return async(e,a)=>{const{credentials:n,settings:r,enabled:o,...s}=a;await t.updateTable("email_providers").set({...s,credentials:n?JSON.stringify(n):void 0,settings:r?JSON.stringify(r):void 0,enabled:o!==void 0?o?1:0:void 0}).where("tenant_id","=",e).execute()}}function _s(t){return async(e,a)=>{const{credentials:n,settings:r,enabled:o,...s}=a;await t.insertInto("email_providers").values({...s,enabled:o?1:0,credentials:JSON.stringify(n),settings:JSON.stringify(r),tenant_id:e,created_at:new Date().toISOString(),updated_at:new Date().toISOString()}).execute()}}function ms(t){return{get:ds(t),create:_s(t),update:us(t)}}function hs(t){return async(e,a)=>{const n=await t.selectFrom("refresh_tokens").where("refresh_tokens.tenant_id","=",e).where("refresh_tokens.id","=",a).selectAll().executeTakeFirst();if(!n)return null;const{tenant_id:r,created_at_ts:o,expires_at_ts:s,idle_expires_at_ts:l,last_exchanged_at_ts:d,..._}=n,m=Ot({created_at_ts:o,expires_at_ts:s,idle_expires_at_ts:l,last_exchanged_at_ts:d},["created_at_ts"],["expires_at_ts","idle_expires_at_ts","last_exchanged_at_ts"]);return{..._,...m,rotating:!!n.rotating,device:n.device?JSON.parse(n.device):{},resource_servers:n.resource_servers?JSON.parse(n.resource_servers):[]}}}function fs(t){return async(e,a)=>{const n=Ca(),r={...a,created_at:n},{expires_at:o,idle_expires_at:s,last_exchanged_at:l,device:d,resource_servers:_,rotating:m,...u}=a,h=Date.now();return await t.insertInto("refresh_tokens").values({...u,tenant_id:e,rotating:m?1:0,device:JSON.stringify(d),resource_servers:JSON.stringify(_),created_at_ts:h,expires_at_ts:z(o),idle_expires_at_ts:s?z(s):null,last_exchanged_at_ts:l?z(l):null}).execute(),{...a,...r}}}function ps(t){return async(e,a)=>!!(await t.deleteFrom("refresh_tokens").where("tenant_id","=",e).where("refresh_tokens.id","=",a).execute()).length}function gs(t){return async(e,a,n)=>{const{created_at:r,expires_at:o,idle_expires_at:s,last_exchanged_at:l,device:d,resource_servers:_,rotating:m,...u}=n,h={...u,device:d?JSON.stringify(d):void 0,resource_servers:_?JSON.stringify(_):void 0,rotating:m!==void 0?m?1:0:void 0,expires_at_ts:o?z(o):void 0,idle_expires_at_ts:s?z(s):void 0,last_exchanged_at_ts:l?z(l):void 0};return!!(await t.updateTable("refresh_tokens").set(h).where("tenant_id","=",e).where("refresh_tokens.id","=",a).execute()).length}}function ws(t){return async(e,a={})=>{const{page:n=0,per_page:r=50,include_totals:o=!1,sort:s,q:l}=a;let d=t.selectFrom("refresh_tokens").where("refresh_tokens.tenant_id","=",e);l&&(d=J(t,d,l,["token","session_id"]));let _=d;if(s&&s.sort_by){const{ref:y}=t.dynamic;_=_.orderBy(y(s.sort_by),s.sort_order)}_=_.offset(n*r).limit(r);const u=(await _.selectAll().execute()).map(y=>{const{tenant_id:v,created_at_ts:T,expires_at_ts:E,idle_expires_at_ts:K,last_exchanged_at_ts:L,...U}=y,te=Ot({created_at_ts:T,expires_at_ts:E,idle_expires_at_ts:K,last_exchanged_at_ts:L},["created_at_ts"],["expires_at_ts","idle_expires_at_ts","last_exchanged_at_ts"]);return{...U,...te,rotating:!!y.rotating,device:y.device?JSON.parse(y.device):{},resource_servers:y.resource_servers?JSON.parse(y.resource_servers):[]}});if(!o)return{refresh_tokens:u,start:0,limit:0,length:0};const{count:h}=await d.select(y=>y.fn.countAll().as("count")).executeTakeFirstOrThrow(),p=q(h);return{refresh_tokens:u,start:n*r,limit:r,length:p}}}function ys(t){return{create:fs(t),get:hs(t),list:ws(t),remove:ps(t),update:gs(t)}}function Ns(t){return async()=>{const e=Date.now(),a=e-1e3*60*60*24,n=e-1e3*60*60*24*7,r=e-1e3*60*60*24*30*3,o=new Date(a).toISOString(),s=new Date(r).toISOString();console.log("delete codes"),await t.deleteFrom("codes").where("created_at","<",o).limit(1e5).execute(),console.log("delete login_sessions"),await t.deleteFrom("login_sessions").where("created_at_ts","<",n).where("session_id","is",null).limit(1e5).execute(),console.log("delete logs"),await t.deleteFrom("logs").where("date","<",s).limit(1e5).execute(),console.log("delete refresh tokens"),await t.deleteFrom("refresh_tokens").where(d=>d.or([d("expires_at_ts","<",n),d("idle_expires_at_ts","<",n)])).limit(1e4).execute(),console.log("delete sessions");const l=await t.selectFrom("sessions").select("id").where(d=>d.or([d("expires_at_ts","<",n),d("idle_expires_at_ts","<",n)])).where("id","not in",t.selectFrom("refresh_tokens").select("session_id")).limit(1e5).execute();l.length>0&&await t.deleteFrom("sessions").where("id","in",l.map(d=>d.id)).execute(),console.log("cleanup complete")}}function vs(t){return async(e,a)=>{const n=P.formSchema.parse({id:G(),...a,created_at:new Date().toISOString(),updated_at:new Date().toISOString()});return await t.insertInto("forms").values({...n,nodes:JSON.stringify(n.nodes||[]),start:JSON.stringify(n.start||{}),ending:JSON.stringify(n.ending||{}),tenant_id:e}).execute(),P.formSchema.parse(n)}}function Cs(t){return async(e,a={})=>{const{page:n=0,per_page:r=50,include_totals:o=!1,q:s}=a;let l=t.selectFrom("forms").where("tenant_id","=",e);s&&(l=J(t,l,s,[]));const m=(await l.offset(n*r).limit(r).selectAll().execute()).map(h=>{const p={...h};if(typeof p.nodes=="string")try{p.nodes=JSON.parse(p.nodes)}catch{}if(typeof p.start=="string")try{p.start=JSON.parse(p.start)}catch{}if(typeof p.ending=="string")try{p.ending=JSON.parse(p.ending)}catch{}return P.formSchema.parse(b(p))});if(!o)return{forms:m,start:0,limit:0,length:0};const{count:u}=await l.select(h=>h.fn.countAll().as("count")).executeTakeFirstOrThrow();return{forms:m,start:n*r,limit:r,length:q(u)}}}function xs(t){return async(e,a)=>{const{numDeletedRows:n}=await t.deleteFrom("forms").where("id","=",a).where("tenant_id","=",e).executeTakeFirst();return n>0}}function Ts(t){return async(e,a)=>{const n=await t.selectFrom("forms").selectAll().where("forms.id","=",a).where("tenant_id","=",e).executeTakeFirst();if(!n)return null;const r={...n};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 P.formSchema.parse(b(r))}}function bs(t){return async(e,a,n)=>{const r={...n,updated_at:new Date().toISOString()};bt(n,["nodes","start","ending"],r);const{numUpdatedRows:o}=await t.updateTable("forms").set(r).where("id","=",a).where("tenant_id","=",e).executeTakeFirst();return o>0}}function Os(t){return{create:vs(t),get:Ts(t),list:Cs(t),remove:xs(t),update:bs(t)}}function Ss(t){return async(e,a)=>{const n=new Date().toISOString(),r={id:no(),...a,created_at:n,updated_at:n},o=P.resourceServerSchema.parse(r),{verificationKey:s,scopes:l,options:d,skip_consent_for_verifiable_first_party_clients:_,allow_offline_access:m,is_system:u,metadata:h,...p}=o,y={...p,tenant_id:e,scopes:l?JSON.stringify(l):"[]",options:d?JSON.stringify(d):"{}",skip_consent_for_verifiable_first_party_clients:_?1:0,allow_offline_access:m?1:0,is_system:u?1:0,metadata:h?JSON.stringify(h):void 0,verification_key:s,created_at:n,updated_at:n};return await t.insertInto("resource_servers").values(y).execute(),b(o)}}function ks(t){return async(e,a)=>{const n=await t.selectFrom("resource_servers").selectAll().where("tenant_id","=",e).where("id","=",a).executeTakeFirst();if(!n)return null;const r=n,{verification_key:o,scopes:s,options:l,skip_consent_for_verifiable_first_party_clients:d,allow_offline_access:_,is_system:m,metadata:u,...h}=r,p={...h,scopes:s?JSON.parse(s):[],options:l?JSON.parse(l):{},skip_consent_for_verifiable_first_party_clients:!!d,allow_offline_access:!!_,is_system:m?!0:void 0,metadata:u?JSON.parse(u):void 0,verificationKey:o};return b(p)}}function Is(t){return async(e,a={})=>{const{page:n=0,per_page:r=50,include_totals:o=!1,q:s}=a;let l=t.selectFrom("resource_servers").where("resource_servers.tenant_id","=",e);if(s){const h=s.trim(),p=h.split(/\s+/),y=p.length===1?p[0]:void 0,v=y?y.match(/^(-)?(name|identifier):(.*)$/):null,T=v?v[3]:"",E=/^(>=|>|<=|<)/.test(T||"");if(v&&!E){const K=!!v[1],L=v[2]==="name"?"resource_servers.name":"resource_servers.identifier";l=K?l.where(L,"not like",`%${T}%`):l.where(L,"like",`%${T}%`)}else l=J(t,l,h,["resource_servers.name","resource_servers.identifier"])}const m=(await l.offset(n*r).limit(r).selectAll().execute()).map(h=>{const p=h,{verification_key:y,scopes:v,options:T,skip_consent_for_verifiable_first_party_clients:E,allow_offline_access:K,is_system:L,metadata:U,...te}=p,H={...te,scopes:v?JSON.parse(v):[],options:T?JSON.parse(T):{},skip_consent_for_verifiable_first_party_clients:!!E,allow_offline_access:!!K,is_system:L?!0:void 0,metadata:U?JSON.parse(U):void 0,verificationKey:y};return b(H)});if(!o)return{resource_servers:m,start:0,limit:0,length:0};const{count:u}=await l.select(h=>h.fn.countAll().as("count")).executeTakeFirstOrThrow();return{resource_servers:m,start:n*r,limit:r,length:q(u)}}}function Es(t){return async(e,a)=>{const n=await t.deleteFrom("resource_servers").where("tenant_id","=",e).where("id","=",a).executeTakeFirst();return Number(n.numDeletedRows)>0}}function As(t){return async(e,a,n)=>{const{verificationKey:r,scopes:o,options:s,skip_consent_for_verifiable_first_party_clients:l,allow_offline_access:d,is_system:_,metadata:m,...u}=n,h={...u,updated_at:new Date().toISOString()};if(r!==void 0&&(h.verification_key=r),o!==void 0&&(h.scopes=JSON.stringify(o)),s!==void 0){const y=await t.selectFrom("resource_servers").select("options").where("tenant_id","=",e).where("id","=",a).executeTakeFirst(),T={...y!=null&&y.options?JSON.parse(y.options):{},...s};h.options=JSON.stringify(T)}m!==void 0&&(h.metadata=JSON.stringify(m)),l!==void 0&&(h.skip_consent_for_verifiable_first_party_clients=l?1:0),d!==void 0&&(h.allow_offline_access=d?1:0),_!==void 0&&(h.is_system=_?1:0);const p=await t.updateTable("resource_servers").set(h).where("tenant_id","=",e).where("id","=",a).executeTakeFirst();return Number(p.numUpdatedRows)>0}}function $s(t){return{create:Ss(t),get:ks(t),list:Is(t),remove:Es(t),update:As(t)}}function Ps(t){return async(e,a)=>{const n=new Date().toISOString(),r=a.id||G(),{is_system:o,id:s,metadata:l,...d}=a,_={id:r,...d,tenant_id:e,is_system:o?1:0,metadata:l?JSON.stringify(l):void 0,created_at:n,updated_at:n};return await t.insertInto("roles").values(_).execute(),{id:r,...d,is_system:o?!0:void 0,metadata:l,created_at:n,updated_at:n}}}function Ds(t){return async(e,a)=>{const n=await t.selectFrom("roles").selectAll().where("roles.tenant_id","=",e).where("roles.id","=",a).executeTakeFirst();if(!n)return null;const r=n,{is_system:o,tenant_id:s,metadata:l,...d}=r;return{...d,is_system:o?!0:void 0,metadata:l?JSON.parse(l):void 0}}}function zs(t){return async(e,a)=>{let n=t.selectFrom("roles").where("roles.tenant_id","=",e);const{page:r=0,per_page:o=50,include_totals:s=!1}=a;a.q&&(n=J(t,n,a.q,["name"]));const _=(await n.offset(r*o).limit(o).selectAll().execute()).map(u=>{const h=u,{is_system:p,tenant_id:y,metadata:v,...T}=h;return{...T,is_system:p?!0:void 0,metadata:v?JSON.parse(v):void 0}});if(!s)return{roles:_,start:r*o,limit:o,length:_.length};const{count:m}=await n.select(u=>u.fn.countAll().as("count")).executeTakeFirstOrThrow();return{roles:_,start:r*o,limit:o,length:q(m)}}}function Rs(t){return async(e,a,n)=>{const{is_system:r,metadata:o,...s}=n,l={...s,is_system:r!==void 0?r?1:0:void 0,metadata:o!==void 0?JSON.stringify(o):void 0,updated_at:new Date().toISOString()},d=await t.updateTable("roles").set(l).where("roles.tenant_id","=",e).where("roles.id","=",a).executeTakeFirst();return Number(d.numUpdatedRows)>0}}function Fs(t){return async(e,a)=>{const n=await t.deleteFrom("roles").where("tenant_id","=",e).where("id","=",a).executeTakeFirst();return Number(n.numDeletedRows)>0}}function js(t){return{create:Ps(t),get:Ds(t),list:zs(t),update:Rs(t),remove:Fs(t)}}function Ms(t){return async(e,a,n)=>{if(n.length===0)return!0;const r=new Date().toISOString();try{for(const o of n){if(o.role_id!==a)throw new Error(`Permission role_id ${o.role_id} does not match expected role_id ${a}`);const s={tenant_id:e,role_id:o.role_id,resource_server_identifier:o.resource_server_identifier,permission_name:o.permission_name,created_at:r};try{await t.insertInto("role_permissions").values(s).execute()}catch(l){if(l.code==="SQLITE_CONSTRAINT_PRIMARYKEY"||l.code==="SQLITE_CONSTRAINT_UNIQUE")continue;throw l}}return!0}catch(o){return console.error("Error assigning role permissions:",o),!1}}}function Ls(t){return async(e,a,n)=>{if(n.length===0)return!0;try{return(await Promise.all(n.map(o=>t.deleteFrom("role_permissions").where("tenant_id","=",e).where("role_id","=",a).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 Js(t){return async(e,a,n={})=>{const{page:r=0,per_page:o=50,include_totals:s=!1}=n;let l=t.selectFrom("role_permissions").leftJoin("resource_servers",u=>u.onRef("role_permissions.tenant_id","=","resource_servers.tenant_id").onRef("role_permissions.resource_server_identifier","=","resource_servers.id")).select(["role_permissions.role_id","role_permissions.resource_server_identifier","role_permissions.permission_name","role_permissions.created_at","resource_servers.name as resource_server_name"]).where("role_permissions.tenant_id","=",e).where("role_permissions.role_id","=",a);const m=(await l.offset(r*o).limit(o).execute()).map(u=>({role_id:u.role_id,resource_server_identifier:u.resource_server_identifier,resource_server_name:u.resource_server_name||u.resource_server_identifier,permission_name:u.permission_name,description:null,created_at:u.created_at}));return s&&await l.select(u=>u.fn.countAll().as("count")).executeTakeFirstOrThrow(),m}}function qs(t){return{assign:Ms(t),remove:Ls(t),list:Js(t)}}function Bs(t){return async(e,a,n,r)=>{const o=new Date().toISOString();try{const s={tenant_id:e,user_id:a,resource_server_identifier:n.resource_server_identifier,permission_name:n.permission_name,organization_id:r||n.organization_id||"",created_at:o};return await t.insertInto("user_permissions").values(s).execute(),!0}catch(s){return s.code==="SQLITE_CONSTRAINT_PRIMARYKEY"||s.code==="SQLITE_CONSTRAINT_UNIQUE"||s.code==="SQLITE_CONSTRAINT"||s.message&&s.message.includes("UNIQUE constraint failed")||s.message&&s.message.includes("PRIMARY KEY constraint failed")?!0:(console.error("Error creating user permission:",s),!1)}}}function Ws(t){return async(e,a,n,r)=>{try{let o=t.deleteFrom("user_permissions").where("tenant_id","=",e).where("user_id","=",a).where("resource_server_identifier","=",n.resource_server_identifier).where("permission_name","=",n.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 Ks(t){return async(e,a,n,r)=>{let o=t.selectFrom("user_permissions").leftJoin("resource_servers",l=>l.onRef("user_permissions.tenant_id","=","resource_servers.tenant_id").onRef("user_permissions.resource_server_identifier","=","resource_servers.id")).select(["user_permissions.resource_server_identifier","user_permissions.permission_name","resource_servers.name as resource_server_name","user_permissions.user_id","user_permissions.created_at","user_permissions.organization_id"]).where("user_permissions.tenant_id","=",e).where("user_permissions.user_id","=",a);return r!==void 0&&(o=o.where("user_permissions.organization_id","=",r)),(await o.execute()).map(l=>({resource_server_identifier:l.resource_server_identifier,permission_name:l.permission_name,description:null,resource_server_name:l.resource_server_name||l.resource_server_identifier,user_id:l.user_id,created_at:l.created_at,organization_id:l.organization_id===""?void 0:l.organization_id}))}}function Us(t){return{create:Bs(t),remove:Ws(t),list:Ks(t)}}function Qs(t){const e=Us(t);return{create:(a,n,r,o)=>e.create(a,n,r,o),remove:(a,n,r,o)=>e.remove(a,n,r,o),list:(a,n,r,o)=>e.list(a,n,r,o)}}function Vs(t){return async(e,a,n,r)=>{let o=t.selectFrom("user_roles as ur").innerJoin("roles as r",l=>l.onRef("ur.role_id","=","r.id").onRef("ur.tenant_id","=","r.tenant_id")).select(["r.id","r.name","r.description","r.created_at","r.updated_at"]).where("ur.tenant_id","=",e).where("ur.user_id","=",a);return r!==void 0&&(o=o.where("ur.organization_id","=",r)),await o.execute()}}function Gs(t){return async(e,a,n,r)=>{const o=new Date().toISOString();try{return await t.insertInto("user_roles").values({tenant_id:e,user_id:a,role_id:n,organization_id:r||"",created_at:o}).execute(),!0}catch(s){return s.code==="SQLITE_CONSTRAINT_PRIMARYKEY"||s.code==="SQLITE_CONSTRAINT_UNIQUE"||s.code==="SQLITE_CONSTRAINT"||s.message&&s.message.includes("UNIQUE constraint failed")||s.message&&s.message.includes("PRIMARY KEY constraint failed")?!0:(console.error("Error creating user role:",s),!1)}}}function Ys(t){return async(e,a,n,r)=>{try{let o=t.deleteFrom("user_roles").where("tenant_id","=",e).where("user_id","=",a).where("role_id","=",n);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 Hs(t){return{list:Vs(t),create:Gs(t),remove:Ys(t)}}function Xs(t){const e=Hs(t);return{list:(a,n,r,o)=>e.list(a,n,r,o),create:(a,n,r,o)=>e.create(a,n,r,o),remove:(a,n,r,o)=>e.remove(a,n,r,o)}}function Zs(t){return async(e,a)=>{const n={...a,id:a.id||eo(),tenant_id:e,created_at:new Date().toISOString(),updated_at:new Date().toISOString(),branding:JSON.stringify(a.branding||{}),metadata:JSON.stringify(a.metadata||{}),enabled_connections:JSON.stringify(a.enabled_connections||[]),token_quota:JSON.stringify(a.token_quota||{})};try{await t.insertInto("organizations").values(n).execute()}catch(r){throw r.code==="SQLITE_CONSTRAINT_UNIQUE"||r.message.includes("AlreadyExists")?new ze(409,{message:"Organization already exists"}):r}return{...a,id:n.id,created_at:n.created_at,updated_at:n.updated_at}}}function ei(t){return async(e,a)=>{let n=await t.selectFrom("organizations").selectAll().where("tenant_id","=",e).where("id","=",a).executeTakeFirst();return n||(n=await t.selectFrom("organizations").selectAll().where("tenant_id","=",e).where("name","=",a).executeTakeFirst()),n?b({...n,branding:n.branding?JSON.parse(n.branding):{},metadata:n.metadata?JSON.parse(n.metadata):{},enabled_connections:n.enabled_connections?JSON.parse(n.enabled_connections):[],token_quota:n.token_quota?JSON.parse(n.token_quota):{}}):null}}function Et(t){return typeof t>"u"||t===void 0}function re(t){return typeof t=="string"}function xa(t){return typeof t=="number"}function mn(t){return typeof t=="boolean"}function hn(t){return t===null}function fn(t){return typeof t=="bigint"}function Fe(t){return typeof t=="function"}function Kt(t){return typeof t=="object"&&t!==null}function ti(t){return t[t.length-1]}function c(t){return Object.freeze(t)}function kt(t){return Ne(t)?t:[t]}function Ne(t){return Array.isArray(t)}const W=c({is(t){return t.kind==="IdentifierNode"},create(t){return c({kind:"IdentifierNode",name:t})}}),ra=c({is(t){return t.kind==="SchemableIdentifierNode"},create(t){return c({kind:"SchemableIdentifierNode",identifier:W.create(t)})},createWithSchema(t,e){return c({kind:"SchemableIdentifierNode",schema:W.create(t),identifier:W.create(e)})}}),be=c({is(t){return t.kind==="AliasNode"},create(t,e){return c({kind:"AliasNode",node:t,alias:e})}}),ye=c({is(t){return t.kind==="TableNode"},create(t){return c({kind:"TableNode",table:ra.create(t)})},createWithSchema(t,e){return c({kind:"TableNode",table:ra.createWithSchema(t,e)})}});function Y(t){return Kt(t)&&Fe(t.toOperationNode)}function ai(t){return Kt(t)&&"expressionType"in t&&Y(t)}function ni(t){return Kt(t)&&"expression"in t&&re(t.alias)&&Y(t)}const oe=c({is(t){return t.kind==="SelectModifierNode"},create(t,e){return c({kind:"SelectModifierNode",modifier:t,of:e})},createWithExpression(t){return c({kind:"SelectModifierNode",rawModifier:t})}}),ve=c({is(t){return t.kind==="AndNode"},create(t,e){return c({kind:"AndNode",left:t,right:e})}}),lt=c({is(t){return t.kind==="OrNode"},create(t,e){return c({kind:"OrNode",left:t,right:e})}}),Xt=c({is(t){return t.kind==="OnNode"},create(t){return c({kind:"OnNode",on:t})},cloneWithOperation(t,e,a){return c({...t,on:e==="And"?ve.create(t.on,a):lt.create(t.on,a)})}}),_t=c({is(t){return t.kind==="JoinNode"},create(t,e){return c({kind:"JoinNode",joinType:t,table:e,on:void 0})},createWithOn(t,e,a){return c({kind:"JoinNode",joinType:t,table:e,on:Xt.create(a)})},cloneWithOn(t,e){return c({...t,on:t.on?Xt.cloneWithOperation(t.on,"And",e):Xt.create(e)})}}),it=c({is(t){return t.kind==="BinaryOperationNode"},create(t,e,a){return c({kind:"BinaryOperationNode",leftOperand:t,operator:e,rightOperand:a})}}),ri=["=","==","!=","<>",">",">=","<","<=","in","not in","is","is not","like","not like","match","ilike","not ilike","@>","<@","^@","&&","?","?&","?|","!<","!>","<=>","!~","~","~*","!~*","@@","@@@","!!","<->","regexp","is distinct from","is not distinct from"],oi=["+","-","*","/","%","^","&","|","#","<<",">>"],pn=["->","->>"],si=[...ri,...oi,"&&","||"],ii=["exists","not exists"],ci=["not","-",...ii],li=[...si,...pn,...ci,"between","between symmetric"],Re=c({is(t){return t.kind==="OperatorNode"},create(t){return c({kind:"OperatorNode",operator:t})}});function Ra(t){return re(t)&&pn.includes(t)}const Ta=c({is(t){return t.kind==="ColumnNode"},create(t){return c({kind:"ColumnNode",column:W.create(t)})}}),gn=c({is(t){return t.kind==="SelectAllNode"},create(){return c({kind:"SelectAllNode"})}}),Ut=c({is(t){return t.kind==="ReferenceNode"},create(t,e){return c({kind:"ReferenceNode",table:e,column:t})},createSelectAll(t){return c({kind:"ReferenceNode",table:t,column:gn.create()})}});function wn(t){return Kt(t)&&Y(t)&&re(t.dynamicReference)}const oa=c({is(t){return t.kind==="OrderByItemNode"},create(t,e){return c({kind:"OrderByItemNode",orderBy:t,direction:e})}}),B=c({is(t){return t.kind==="RawNode"},create(t,e){return c({kind:"RawNode",sqlFragments:c(t),parameters:c(e)})},createWithSql(t){return B.create([t],[])},createWithChild(t){return B.create(["",""],[t])},createWithChildren(t){return B.create(new Array(t.length+1).fill(""),t)}});function di(t){return t==="asc"||t==="desc"}function ba(t){if(t.length===2)return[Zt(t[0],t[1])];if(t.length===1){const[e]=t;return Array.isArray(e)?e.map(a=>Zt(a)):[Zt(e)]}throw new Error(`Invalid number of arguments at order by! expected 1-2, received ${t.length}`)}function Zt(t,e){const a=ui(t);if(oa.is(a)){if(e)throw new Error("Cannot specify direction twice!");return a}return oa.create(a,yn(e))}function ui(t){if(Yt(t))return Gt(t);if(wn(t))return t.toOperationNode();const[e,a]=t.split(" ");if(a){if(!di(a))throw new Error(`Invalid order by direction: ${a}`);return oa.create(Ce(e),yn(a))}return Ce(t)}function yn(t){if(t)return t==="asc"||t==="desc"?B.createWithSql(t):t.toOperationNode()}const At=c({is(t){return t.kind==="JSONReferenceNode"},create(t,e){return c({kind:"JSONReferenceNode",reference:t,traversal:e})},cloneWithTraversal(t,e){return c({...t,traversal:e})}}),Nn=c({is(t){return t.kind==="JSONOperatorChainNode"},create(t){return c({kind:"JSONOperatorChainNode",operator:t,values:c([])})},cloneWithValue(t,e){return c({...t,values:c([...t.values,e])})}}),mt=c({is(t){return t.kind==="JSONPathNode"},create(t){return c({kind:"JSONPathNode",inOperator:t,pathLegs:c([])})},cloneWithLeg(t,e){return c({...t,pathLegs:c([...t.pathLegs,e])})}});function _i(t){return re(t)?Ce(t):t.toOperationNode()}function gt(t){return Ne(t)?t.map(e=>Q(e)):[Q(t)]}function Q(t){return Yt(t)?Gt(t):_i(t)}function mi(t,e){const a=Ce(t);if(Ra(e))return At.create(a,Nn.create(Re.create(e)));const n=e.slice(0,-1);if(Ra(n))return At.create(a,mt.create(Re.create(n)));throw new Error(`Invalid JSON operator: ${e}`)}function Ce(t){const e=".";if(!t.includes(e))return Ut.create(Ta.create(t));const a=t.split(e).map(vn);if(a.length===3)return fi(a);if(a.length===2)return pi(a);throw new Error(`invalid column reference ${t}`)}function hi(t){const e=" as ";if(t.includes(e)){const[a,n]=t.split(e).map(vn);return be.create(Ce(a),W.create(n))}else return Ce(t)}function fi(t){const[e,a,n]=t;return Ut.create(Ta.create(n),ye.createWithSchema(e,a))}function pi(t){const[e,a]=t;return Ut.create(Ta.create(a),ye.create(e))}function vn(t){return t.trim()}const gi=c({is(t){return t.kind==="PrimitiveValueListNode"},create(t){return c({kind:"PrimitiveValueListNode",values:c([...t])})}}),wi=c({is(t){return t.kind==="ValueListNode"},create(t){return c({kind:"ValueListNode",values:c(t)})}}),xe=c({is(t){return t.kind==="ValueNode"},create(t){return c({kind:"ValueNode",value:t})},createImmediate(t){return c({kind:"ValueNode",value:t,immediate:!0})}});function yi(t){return Ne(t)?Ni(t):M(t)}function M(t){return Yt(t)?Gt(t):xe.create(t)}function Oa(t){return xa(t)||mn(t)||hn(t)}function Sa(t){if(!Oa(t))throw new Error(`unsafe immediate value ${JSON.stringify(t)}`);return xe.createImmediate(t)}function Ni(t){return t.some(Yt)?wi.create(t.map(e=>M(e))):gi.create(t)}const wt=c({is(t){return t.kind==="ParensNode"},create(t){return c({kind:"ParensNode",node:t})}});function ee(t){if(t.length===3)return ka(t[0],t[1],t[2]);if(t.length===1)return M(t[0]);throw new Error(`invalid arguments: ${JSON.stringify(t)}`)}function ka(t,e,a){return vi(e)&&Cn(a)?it.create(Q(t),ia(e),xe.createImmediate(a)):it.create(Q(t),ia(e),yi(a))}function yt(t,e,a){return it.create(Q(t),ia(e),Q(a))}function Fa(t,e){return sa(Object.entries(t).filter(([,a])=>!Et(a)).map(([a,n])=>ka(a,Cn(n)?"is":"=",n)),e)}function sa(t,e,a=!0){const n=e==="and"?ve.create:lt.create;if(t.length===0)return it.create(xe.createImmediate(1),Re.create("="),xe.createImmediate(e==="and"?1:0));let r=ja(t[0]);for(let o=1;o<t.length;++o)r=n(r,ja(t[o]));return t.length>1&&a?wt.create(r):r}function vi(t){return t==="is"||t==="is not"}function Cn(t){return hn(t)||mn(t)}function ia(t){if(re(t)&&li.includes(t))return Re.create(t);if(Y(t))return t.toOperationNode();throw new Error(`invalid operator ${JSON.stringify(t)}`)}function ja(t){return Y(t)?t.toOperationNode():t}const Te=c({is(t){return t.kind==="OrderByNode"},create(t){return c({kind:"OrderByNode",items:c([...t])})},cloneWithItems(t,e){return c({...t,items:c([...t.items,...e])})}}),Ma=c({is(t){return t.kind==="PartitionByNode"},create(t){return c({kind:"PartitionByNode",items:c(t)})},cloneWithItems(t,e){return c({...t,items:c([...t.items,...e])})}}),ca=c({is(t){return t.kind==="OverNode"},create(){return c({kind:"OverNode"})},cloneWithOrderByItems(t,e){return c({...t,orderBy:t.orderBy?Te.cloneWithItems(t.orderBy,e):Te.create(e)})},cloneWithPartitionByItems(t,e){return c({...t,partitionBy:t.partitionBy?Ma.cloneWithItems(t.partitionBy,e):Ma.create(e)})}}),$t=c({is(t){return t.kind==="FromNode"},create(t){return c({kind:"FromNode",froms:c(t)})},cloneWithFroms(t,e){return c({...t,froms:c([...t.froms,...e])})}}),La=c({is(t){return t.kind==="GroupByNode"},create(t){return c({kind:"GroupByNode",items:c(t)})},cloneWithItems(t,e){return c({...t,items:c([...t.items,...e])})}}),Ja=c({is(t){return t.kind==="HavingNode"},create(t){return c({kind:"HavingNode",having:t})},cloneWithOperation(t,e,a){return c({...t,having:e==="And"?ve.create(t.having,a):lt.create(t.having,a)})}}),k=c({is(t){return t.kind==="SelectQueryNode"},create(t){return c({kind:"SelectQueryNode",...t&&{with:t}})},createFrom(t,e){return c({kind:"SelectQueryNode",from:$t.create(t),...e&&{with:e}})},cloneWithSelections(t,e){return c({...t,selections:t.selections?c([...t.selections,...e]):c(e)})},cloneWithDistinctOn(t,e){return c({...t,distinctOn:t.distinctOn?c([...t.distinctOn,...e]):c(e)})},cloneWithFrontModifier(t,e){return c({...t,frontModifiers:t.frontModifiers?c([...t.frontModifiers,e]):c([e])})},cloneWithOrderByItems(t,e){return c({...t,orderBy:t.orderBy?Te.cloneWithItems(t.orderBy,e):Te.create(e)})},cloneWithGroupByItems(t,e){return c({...t,groupBy:t.groupBy?La.cloneWithItems(t.groupBy,e):La.create(e)})},cloneWithLimit(t,e){return c({...t,limit:e})},cloneWithOffset(t,e){return c({...t,offset:e})},cloneWithFetch(t,e){return c({...t,fetch:e})},cloneWithHaving(t,e){return c({...t,having:t.having?Ja.cloneWithOperation(t.having,"And",e):Ja.create(e)})},cloneWithSetOperations(t,e){return c({...t,setOperations:t.setOperations?c([...t.setOperations,...e]):c([...e])})},cloneWithoutSelections(t){return c({...t,selections:[]})},cloneWithoutLimit(t){return c({...t,limit:void 0})},cloneWithoutOffset(t){return c({...t,offset:void 0})},cloneWithoutOrderBy(t){return c({...t,orderBy:void 0})},cloneWithoutGroupBy(t){return c({...t,groupBy:void 0})}});function je(t,e){Object.defineProperties(t.prototype,{then:{enumerable:!1,value:()=>{throw new Error(e)}}})}var X;const ft=class ft{constructor(e){x(this,X);O(this,X,c(e))}on(...e){return new ft({...i(this,X),joinNode:_t.cloneWithOn(i(this,X).joinNode,ee(e))})}onRef(e,a,n){return new ft({...i(this,X),joinNode:_t.cloneWithOn(i(this,X).joinNode,yt(e,a,n))})}onTrue(){return new ft({...i(this,X),joinNode:_t.cloneWithOn(i(this,X).joinNode,B.createWithSql("true"))})}$call(e){return e(this)}toOperationNode(){return i(this,X).joinNode}};X=new WeakMap;let Pt=ft;je(Pt,"don't await JoinBuilder instances. They are never executed directly and are always just a part of a query.");const Ci=c({is(t){return t.kind==="PartitionByItemNode"},create(t){return c({kind:"PartitionByItemNode",partitionBy:t})}});function xi(t){return gt(t).map(Ci.create)}var Se;const Mt=class Mt{constructor(e){x(this,Se);O(this,Se,c(e))}orderBy(e,a){return new Mt({overNode:ca.cloneWithOrderByItems(i(this,Se).overNode,ba([e,a]))})}partitionBy(e){return new Mt({overNode:ca.cloneWithPartitionByItems(i(this,Se).overNode,xi(e))})}$call(e){return e(this)}toOperationNode(){return i(this,Se).overNode}};Se=new WeakMap;let Dt=Mt;je(Dt,"don't await OverBuilder instances. They are never executed directly and are always just a part of a query.");const ht=c({is(t){return t.kind==="SelectionNode"},create(t){return c({kind:"SelectionNode",selection:t})},createSelectAll(){return c({kind:"SelectionNode",selection:gn.create()})},createSelectAllFromTable(t){return c({kind:"SelectionNode",selection:Ut.createSelectAll(t)})}});function xn(t){return Fe(t)?xn(t(Vt())):Ne(t)?t.map(e=>qa(e)):[qa(t)]}function qa(t){return re(t)?ht.create(hi(t)):wn(t)?ht.create(t.toOperationNode()):ht.create(Pn(t))}function Tn(t){return t?Array.isArray(t)?t.map(Ba):[Ba(t)]:[ht.createSelectAll()]}function Ba(t){if(re(t))return ht.createSelectAllFromTable(Z(t));throw new Error(`invalid value selectAll expression: ${JSON.stringify(t)}`)}const Ti=c({is(t){return t.kind==="InsertQueryNode"},create(t,e,a){return c({kind:"InsertQueryNode",into:t,...e&&{with:e},replace:a})},createWithoutInto(){return c({kind:"InsertQueryNode"})},cloneWith(t,e){return c({...t,...e})}}),bi=c({is(t){return t.kind==="UpdateQueryNode"},create(t,e){return c({kind:"UpdateQueryNode",table:t,...e&&{with:e}})},createWithoutTable(){return c({kind:"UpdateQueryNode"})},cloneWithFromItems(t,e){return c({...t,from:t.from?$t.cloneWithFroms(t.from,e):$t.create(e)})},cloneWithUpdates(t,e){return c({...t,updates:t.updates?c([...t.updates,...e]):e})},cloneWithLimit(t,e){return c({...t,limit:e})}}),Wa=c({is(t){return t.kind==="UsingNode"},create(t){return c({kind:"UsingNode",tables:c(t)})},cloneWithTables(t,e){return c({...t,tables:c([...t.tables,...e])})}}),Oi=c({is(t){return t.kind==="DeleteQueryNode"},create(t,e){return c({kind:"DeleteQueryNode",from:$t.create(t),...e&&{with:e}})},cloneWithOrderByItems(t,e){return c({...t,orderBy:t.orderBy?Te.cloneWithItems(t.orderBy,e):Te.create(e)})},cloneWithoutOrderBy(t){return c({...t,orderBy:void 0})},cloneWithLimit(t,e){return c({...t,limit:e})},cloneWithoutLimit(t){return c({...t,limit:void 0})},cloneWithUsing(t,e){return c({...t,using:t.using!==void 0?Wa.cloneWithTables(t.using,e):Wa.create(e)})}}),We=c({is(t){return t.kind==="WhereNode"},create(t){return c({kind:"WhereNode",where:t})},cloneWithOperation(t,e,a){return c({...t,where:e==="And"?ve.create(t.where,a):lt.create(t.where,a)})}}),Ka=c({is(t){return t.kind==="ReturningNode"},create(t){return c({kind:"ReturningNode",selections:c(t)})},cloneWithSelections(t,e){return c({...t,selections:t.selections?c([...t.selections,...e]):c(e)})}}),Si=c({is(t){return t.kind==="ExplainNode"},create(t,e){return c({kind:"ExplainNode",format:t,options:e})}}),Qt=c({is(t){return t.kind==="WhenNode"},create(t){return c({kind:"WhenNode",condition:t})},cloneWithResult(t,e){return c({...t,result:e})}}),ki=c({is(t){return t.kind==="MergeQueryNode"},create(t,e){return c({kind:"MergeQueryNode",into:t,...e&&{with:e}})},cloneWithUsing(t,e){return c({...t,using:e})},cloneWithWhen(t,e){return c({...t,whens:t.whens?c([...t.whens,e]):c([e])})},cloneWithThen(t,e){return c({...t,whens:t.whens?c([...t.whens.slice(0,-1),Qt.cloneWithResult(t.whens[t.whens.length-1],e)]):void 0})}}),Ua=c({is(t){return t.kind==="OutputNode"},create(t){return c({kind:"OutputNode",selections:c(t)})},cloneWithSelections(t,e){return c({...t,selections:t.selections?c([...t.selections,...e]):c(e)})}}),$=c({is(t){return k.is(t)||Ti.is(t)||bi.is(t)||Oi.is(t)||ki.is(t)},cloneWithEndModifier(t,e){return c({...t,endModifiers:t.endModifiers?c([...t.endModifiers,e]):c([e])})},cloneWithWhere(t,e){return c({...t,where:t.where?We.cloneWithOperation(t.where,"And",e):We.create(e)})},cloneWithJoin(t,e){return c({...t,joins:t.joins?c([...t.joins,e]):c([e])})},cloneWithReturning(t,e){return c({...t,returning:t.returning?Ka.cloneWithSelections(t.returning,e):Ka.create(e)})},cloneWithoutReturning(t){return c({...t,returning:void 0})},cloneWithoutWhere(t){return c({...t,where:void 0})},cloneWithExplain(t,e,a){return c({...t,explain:Si.create(e,a==null?void 0:a.toOperationNode())})},cloneWithTop(t,e){return c({...t,top:e})},cloneWithOutput(t,e){return c({...t,output:t.output?Ua.cloneWithSelections(t.output,e):Ua.create(e)})}});class Ii extends Error{constructor(a){super("no result");me(this,"node");this.node=a}}function Ei(t){return Object.prototype.hasOwnProperty.call(t,"prototype")}const Ai=c({is(t){return t.kind==="TopNode"},create(t,e){return c({kind:"TopNode",expression:t,modifiers:e})}});function $i(t,e){if(!xa(t)&&!fn(t))throw new Error(`Invalid top expression: ${t}`);if(!Et(e)&&!Pi(e))throw new Error(`Invalid top modifiers: ${e}`);return Ai.create(t,e)}function Pi(t){return t==="percent"||t==="with ties"||t==="percent with ties"}const Di=c({is(t){return t.kind==="LimitNode"},create(t){return c({kind:"LimitNode",limit:t})}}),Qa=["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 zi(t){let e="";for(let a=0;a<t;++a)e+=Ri();return e}function Ri(){return Qa[~~(Math.random()*Qa.length)]}function se(){return new Fi}var Ve;class Fi{constructor(){x(this,Ve)}get queryId(){return i(this,Ve)===void 0&&O(this,Ve,zi(8)),i(this,Ve)}}Ve=new WeakMap;var Lt;class ji{constructor(){me(this,"nodeStack",[]);x(this,Lt,c({AliasNode:this.transformAlias.bind(this),ColumnNode:this.transformColumn.bind(this),IdentifierNode:this.transformIdentifier.bind(this),SchemableIdentifierNode:this.transformSchemableIdentifier.bind(this),RawNode:this.transformRaw.bind(this),ReferenceNode:this.transformReference.bind(this),SelectQueryNode:this.transformSelectQuery.bind(this),SelectionNode:this.transformSelection.bind(this),TableNode:this.transformTable.bind(this),FromNode:this.transformFrom.bind(this),SelectAllNode:this.transformSelectAll.bind(this),AndNode:this.transformAnd.bind(this),OrNode:this.transformOr.bind(this),ValueNode:this.transformValue.bind(this),ValueListNode:this.transformValueList.bind(this),PrimitiveValueListNode:this.transformPrimitiveValueList.bind(this),ParensNode:this.transformParens.bind(this),JoinNode:this.transformJoin.bind(this),OperatorNode:this.transformOperator.bind(this),WhereNode:this.transformWhere.bind(this),InsertQueryNode:this.transformInsertQuery.bind(this),DeleteQueryNode:this.transformDeleteQuery.bind(this),ReturningNode:this.transformReturning.bind(this),CreateTableNode:this.transformCreateTable.bind(this),AddColumnNode:this.transformAddColumn.bind(this),ColumnDefinitionNode:this.transformColumnDefinition.bind(this),DropTableNode:this.transformDropTable.bind(this),DataTypeNode:this.transformDataType.bind(this),OrderByNode:this.transformOrderBy.bind(this),OrderByItemNode:this.transformOrderByItem.bind(this),GroupByNode:this.transformGroupBy.bind(this),GroupByItemNode:this.transformGroupByItem.bind(this),UpdateQueryNode:this.transformUpdateQuery.bind(this),ColumnUpdateNode:this.transformColumnUpdate.bind(this),LimitNode:this.transformLimit.bind(this),OffsetNode:this.transformOffset.bind(this),OnConflictNode:this.transformOnConflict.bind(this),OnDuplicateKeyNode:this.transformOnDuplicateKey.bind(this),CreateIndexNode:this.transformCreateIndex.bind(this),DropIndexNode:this.transformDropIndex.bind(this),ListNode:this.transformList.bind(this),PrimaryKeyConstraintNode:this.transformPrimaryKeyConstraint.bind(this),UniqueConstraintNode:this.transformUniqueConstraint.bind(this),ReferencesNode:this.transformReferences.bind(this),CheckConstraintNode:this.transformCheckConstraint.bind(this),WithNode:this.transformWith.bind(this),CommonTableExpressionNode:this.transformCommonTableExpression.bind(this),CommonTableExpressionNameNode:this.transformCommonTableExpressionName.bind(this),HavingNode:this.transformHaving.bind(this),CreateSchemaNode:this.transformCreateSchema.bind(this),DropSchemaNode:this.transformDropSchema.bind(this),AlterTableNode:this.transformAlterTable.bind(this),DropColumnNode:this.transformDropColumn.bind(this),RenameColumnNode:this.transformRenameColumn.bind(this),AlterColumnNode:this.transformAlterColumn.bind(this),ModifyColumnNode:this.transformModifyColumn.bind(this),AddConstraintNode:this.transformAddConstraint.bind(this),DropConstraintNode:this.transformDropConstraint.bind(this),ForeignKeyConstraintNode:this.transformForeignKeyConstraint.bind(this),CreateViewNode:this.transformCreateView.bind(this),DropViewNode:this.transformDropView.bind(this),GeneratedNode:this.transformGenerated.bind(this),DefaultValueNode:this.transformDefaultValue.bind(this),OnNode:this.transformOn.bind(this),ValuesNode:this.transformValues.bind(this),SelectModifierNode:this.transformSelectModifier.bind(this),CreateTypeNode:this.transformCreateType.bind(this),DropTypeNode:this.transformDropType.bind(this),ExplainNode:this.transformExplain.bind(this),DefaultInsertValueNode:this.transformDefaultInsertValue.bind(this),AggregateFunctionNode:this.transformAggregateFunction.bind(this),OverNode:this.transformOver.bind(this),PartitionByNode:this.transformPartitionBy.bind(this),PartitionByItemNode:this.transformPartitionByItem.bind(this),SetOperationNode:this.transformSetOperation.bind(this),BinaryOperationNode:this.transformBinaryOperation.bind(this),UnaryOperationNode:this.transformUnaryOperation.bind(this),UsingNode:this.transformUsing.bind(this),FunctionNode:this.transformFunction.bind(this),CaseNode:this.transformCase.bind(this),WhenNode:this.transformWhen.bind(this),JSONReferenceNode:this.transformJSONReference.bind(this),JSONPathNode:this.transformJSONPath.bind(this),JSONPathLegNode:this.transformJSONPathLeg.bind(this),JSONOperatorChainNode:this.transformJSONOperatorChain.bind(this),TupleNode:this.transformTuple.bind(this),MergeQueryNode:this.transformMergeQuery.bind(this),MatchedNode:this.transformMatched.bind(this),AddIndexNode:this.transformAddIndex.bind(this),CastNode:this.transformCast.bind(this),FetchNode:this.transformFetch.bind(this),TopNode:this.transformTop.bind(this),OutputNode:this.transformOutput.bind(this)}))}transformNode(e){if(!e)return e;this.nodeStack.push(e);const a=this.transformNodeImpl(e);return this.nodeStack.pop(),c(a)}transformNodeImpl(e){return i(this,Lt)[e.kind](e)}transformNodeList(e){return e&&c(e.map(a=>this.transformNode(a)))}transformSelectQuery(e){return{kind:"SelectQueryNode",from:this.transformNode(e.from),selections:this.transformNodeList(e.selections),distinctOn:this.transformNodeList(e.distinctOn),joins:this.transformNodeList(e.joins),groupBy:this.transformNode(e.groupBy),orderBy:this.transformNode(e.orderBy),where:this.transformNode(e.where),frontModifiers:this.transformNodeList(e.frontModifiers),endModifiers:this.transformNodeList(e.endModifiers),limit:this.transformNode(e.limit),offset:this.transformNode(e.offset),with:this.transformNode(e.with),having:this.transformNode(e.having),explain:this.transformNode(e.explain),setOperations:this.transformNodeList(e.setOperations),fetch:this.transformNode(e.fetch),top:this.transformNode(e.top)}}transformSelection(e){return{kind:"SelectionNode",selection:this.transformNode(e.selection)}}transformColumn(e){return{kind:"ColumnNode",column:this.transformNode(e.column)}}transformAlias(e){return{kind:"AliasNode",node:this.transformNode(e.node),alias:this.transformNode(e.alias)}}transformTable(e){return{kind:"TableNode",table:this.transformNode(e.table)}}transformFrom(e){return{kind:"FromNode",froms:this.transformNodeList(e.froms)}}transformReference(e){return{kind:"ReferenceNode",column:this.transformNode(e.column),table:this.transformNode(e.table)}}transformAnd(e){return{kind:"AndNode",left:this.transformNode(e.left),right:this.transformNode(e.right)}}transformOr(e){return{kind:"OrNode",left:this.transformNode(e.left),right:this.transformNode(e.right)}}transformValueList(e){return{kind:"ValueListNode",values:this.transformNodeList(e.values)}}transformParens(e){return{kind:"ParensNode",node:this.transformNode(e.node)}}transformJoin(e){return{kind:"JoinNode",joinType:e.joinType,table:this.transformNode(e.table),on:this.transformNode(e.on)}}transformRaw(e){return{kind:"RawNode",sqlFragments:c([...e.sqlFragments]),parameters:this.transformNodeList(e.parameters)}}transformWhere(e){return{kind:"WhereNode",where:this.transformNode(e.where)}}transformInsertQuery(e){return{kind:"InsertQueryNode",into:this.transformNode(e.into),columns:this.transformNodeList(e.columns),values:this.transformNode(e.values),returning:this.transformNode(e.returning),onConflict:this.transformNode(e.onConflict),onDuplicateKey:this.transformNode(e.onDuplicateKey),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}}Lt=new WeakMap;const Mi=c({AlterTableNode:!0,CreateIndexNode:!0,CreateSchemaNode:!0,CreateTableNode:!0,CreateTypeNode:!0,CreateViewNode:!0,DeleteQueryNode:!0,DropIndexNode:!0,DropSchemaNode:!0,DropTableNode:!0,DropTypeNode:!0,DropViewNode:!0,InsertQueryNode:!0,RawNode:!0,SelectQueryNode:!0,UpdateQueryNode:!0,MergeQueryNode:!0}),Li={json_agg:!0,to_json:!0};var Ge,ke,Ie,A,la,bn,On,Sn,Je,da,kn;class Ji extends ji{constructor(a){super();x(this,A);x(this,Ge);x(this,ke,new Set);x(this,Ie,new Set);O(this,Ge,a)}transformNodeImpl(a){if(!N(this,A,bn).call(this,a))return super.transformNodeImpl(a);const n=N(this,A,Sn).call(this,a);for(const s of n)i(this,Ie).add(s);const r=N(this,A,On).call(this,a);for(const s of r)i(this,ke).add(s);const o=super.transformNodeImpl(a);for(const s of r)i(this,ke).delete(s);for(const s of n)i(this,Ie).delete(s);return o}transformSchemableIdentifier(a){const n=super.transformSchemableIdentifier(a);return n.schema||!i(this,ke).has(a.identifier.name)?n:{...n,schema:W.create(i(this,Ge))}}transformReferences(a){const n=super.transformReferences(a);return n.table.table.schema?n:{...n,table:ye.createWithSchema(i(this,Ge),n.table.table.identifier.name)}}transformAggregateFunction(a){return{...super.transformAggregateFunction({...a,aggregated:[]}),aggregated:N(this,A,la).call(this,a,"aggregated")}}transformFunction(a){return{...super.transformFunction({...a,arguments:[]}),arguments:N(this,A,la).call(this,a,"arguments")}}}Ge=new WeakMap,ke=new WeakMap,Ie=new WeakMap,A=new WeakSet,la=function(a,n){return Li[a.func]?a[n].map(r=>!ye.is(r)||r.table.schema?this.transformNode(r):{...r,table:this.transformIdentifier(r.table.identifier)}):this.transformNodeList(a[n])},bn=function(a){return a.kind in Mi},On=function(a){const n=new Set;if("name"in a&&a.name&&ra.is(a.name)&&N(this,A,da).call(this,a.name,n),"from"in a&&a.from)for(const r of a.from.froms)N(this,A,Je).call(this,r,n);if("into"in a&&a.into&&N(this,A,Je).call(this,a.into,n),"table"in a&&a.table&&N(this,A,Je).call(this,a.table,n),"joins"in a&&a.joins)for(const r of a.joins)N(this,A,Je).call(this,r.table,n);return"using"in a&&a.using&&N(this,A,Je).call(this,a.using,n),n},Sn=function(a){const n=new Set;return"with"in a&&a.with&&N(this,A,kn).call(this,a.with,n),n},Je=function(a,n){const r=ye.is(a)?a:be.is(a)&&ye.is(a.node)?a.node:null;r&&N(this,A,da).call(this,r.table,n)},da=function(a,n){const r=a.identifier.name;!i(this,ke).has(r)&&!i(this,Ie).has(r)&&n.add(r)},kn=function(a,n){for(const r of a.expressions){const o=r.name.table.table.identifier.name;i(this,Ie).has(o)||n.add(o)}};var Nt;class In{constructor(e){x(this,Nt);O(this,Nt,new Ji(e))}transformQuery(e){return i(this,Nt).transformNode(e.node)}async transformResult(e){return e.result}}Nt=new WeakMap;var vt,Ye,He;class Va{constructor(){x(this,vt);x(this,Ye);x(this,He);me(this,"resolve",e=>{i(this,Ye)&&i(this,Ye).call(this,e)});me(this,"reject",e=>{i(this,He)&&i(this,He).call(this,e)});O(this,vt,new Promise((e,a)=>{O(this,He,a),O(this,Ye,e)}))}get promise(){return i(this,vt)}}vt=new WeakMap,Ye=new WeakMap,He=new WeakMap;const Ga=new Set;function qi(t){Ga.has(t)||(Ga.add(t),console.log(t))}const Bi=c([]);var Ee,Ct,ua;class Wi{constructor(e=Bi){x(this,Ct);x(this,Ee);O(this,Ee,e)}get plugins(){return i(this,Ee)}transformQuery(e,a){for(const n of i(this,Ee)){const r=n.transformQuery({node:e,queryId:a});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,a){return await this.provideConnection(async n=>{const r=await n.executeQuery(e),o=await N(this,Ct,ua).call(this,r,a);return Ki(r,o),o})}async*stream(e,a,n){const r=new Va,o=new Va;this.provideConnection(async l=>(r.resolve(l),await o.promise)).catch(l=>r.reject(l));const s=await r.promise;try{for await(const l of s.streamQuery(e,a))yield await N(this,Ct,ua).call(this,l,n)}finally{o.resolve()}}}Ee=new WeakMap,Ct=new WeakSet,ua=async function(e,a){for(const n of i(this,Ee))e=await n.transformResult({result:e,queryId:a});return e};function Ki(t,e){const{numAffectedRows:a}=t;a===void 0&&t.numUpdatedOrDeletedRows===void 0||a!==void 0&&e.numAffectedRows!==void 0||qi("kysely:warning: outdated driver/plugin detected! QueryResult.numUpdatedOrDeletedRows is deprecated and will be removed in a future release.")}class Ke extends Wi{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 Ke([...this.plugins,e])}withPlugins(e){return new Ke([...this.plugins,...e])}withPluginAtFront(e){return new Ke([e,...this.plugins])}withoutPlugins(){return new Ke([])}}const En=new Ke;function Ui(t,e){return new Pt({joinNode:_t.create(t,Ft(e))})}function Qi(){return new Dt({overNode:ca.create()})}function Me(t,e){if(e.length===3)return Gi(t,e[0],e[1],e[2]);if(e.length===2)return Vi(t,e[0],e[1]);throw new Error("not implemented")}function Vi(t,e,a){return a(Ui(t,e)).toOperationNode()}function Gi(t,e,a,n){return _t.createWithOn(t,Ft(e),yt(a,"=",n))}const Yi=c({is(t){return t.kind==="OffsetNode"},create(t){return c({kind:"OffsetNode",offset:t})}}),Hi=c({is(t){return t.kind==="GroupByItemNode"},create(t){return c({kind:"GroupByItemNode",groupBy:t})}});function Xi(t){return t=Fe(t)?t(Vt()):t,gt(t).map(Hi.create)}const Zi=c({is(t){return t.kind==="SetOperationNode"},create(t,e,a){return c({kind:"SetOperationNode",operator:t,expression:e,all:a})}});function Le(t,e,a){return Fe(e)&&(e=e(Ea())),Ne(e)||(e=[e]),e.map(n=>Zi.create(t,Gt(n),a))}var ue;const Jt=class Jt{constructor(e){x(this,ue);O(this,ue,e)}get expressionType(){}as(e){return new Ia(this,e)}or(...e){return new _a(lt.create(i(this,ue),ee(e)))}and(...e){return new ma(ve.create(i(this,ue),ee(e)))}$castTo(){return new Jt(i(this,ue))}$notNull(){return new Jt(i(this,ue))}toOperationNode(){return i(this,ue)}};ue=new WeakMap;let S=Jt;var Xe,pe;class Ia{constructor(e,a){x(this,Xe);x(this,pe);O(this,Xe,e),O(this,pe,a)}get expression(){return i(this,Xe)}get alias(){return i(this,pe)}toOperationNode(){return be.create(i(this,Xe).toOperationNode(),Y(i(this,pe))?i(this,pe).toOperationNode():W.create(i(this,pe)))}}Xe=new WeakMap,pe=new WeakMap;var Ae;const qt=class qt{constructor(e){x(this,Ae);O(this,Ae,e)}get expressionType(){}as(e){return new Ia(this,e)}or(...e){return new qt(lt.create(i(this,Ae),ee(e)))}$castTo(){return new qt(i(this,Ae))}toOperationNode(){return wt.create(i(this,Ae))}};Ae=new WeakMap;let _a=qt;var $e;const Bt=class Bt{constructor(e){x(this,$e);O(this,$e,e)}get expressionType(){}as(e){return new Ia(this,e)}and(...e){return new Bt(ve.create(i(this,$e),ee(e)))}$castTo(){return new Bt(i(this,$e))}toOperationNode(){return wt.create(i(this,$e))}};$e=new WeakMap;let ma=Bt;const ec={is(t){return t.kind==="FetchNode"},create(t,e){return{kind:"FetchNode",rowCount:xe.create(t),modifier:e}}};function tc(t,e){if(!xa(t)&&!fn(t))throw new Error(`Invalid fetch row count: ${t}`);if(!ac(e))throw new Error(`Invalid fetch modifier: ${e}`);return ec.create(t,e)}function ac(t){return t==="only"||t==="with ties"}var f;const C=class C{constructor(e){x(this,f);O(this,f,c(e))}get expressionType(){}get isSelectQueryBuilder(){return!0}where(...e){return new C({...i(this,f),queryNode:$.cloneWithWhere(i(this,f).queryNode,ee(e))})}whereRef(e,a,n){return new C({...i(this,f),queryNode:$.cloneWithWhere(i(this,f).queryNode,yt(e,a,n))})}having(...e){return new C({...i(this,f),queryNode:k.cloneWithHaving(i(this,f).queryNode,ee(e))})}havingRef(e,a,n){return new C({...i(this,f),queryNode:k.cloneWithHaving(i(this,f).queryNode,yt(e,a,n))})}select(e){return new C({...i(this,f),queryNode:k.cloneWithSelections(i(this,f).queryNode,xn(e))})}distinctOn(e){return new C({...i(this,f),queryNode:k.cloneWithDistinctOn(i(this,f).queryNode,gt(e))})}modifyFront(e){return new C({...i(this,f),queryNode:k.cloneWithFrontModifier(i(this,f).queryNode,oe.createWithExpression(e.toOperationNode()))})}modifyEnd(e){return new C({...i(this,f),queryNode:$.cloneWithEndModifier(i(this,f).queryNode,oe.createWithExpression(e.toOperationNode()))})}distinct(){return new C({...i(this,f),queryNode:k.cloneWithFrontModifier(i(this,f).queryNode,oe.create("Distinct"))})}forUpdate(e){return new C({...i(this,f),queryNode:$.cloneWithEndModifier(i(this,f).queryNode,oe.create("ForUpdate",e?kt(e).map(Z):void 0))})}forShare(e){return new C({...i(this,f),queryNode:$.cloneWithEndModifier(i(this,f).queryNode,oe.create("ForShare",e?kt(e).map(Z):void 0))})}forKeyShare(e){return new C({...i(this,f),queryNode:$.cloneWithEndModifier(i(this,f).queryNode,oe.create("ForKeyShare",e?kt(e).map(Z):void 0))})}forNoKeyUpdate(e){return new C({...i(this,f),queryNode:$.cloneWithEndModifier(i(this,f).queryNode,oe.create("ForNoKeyUpdate",e?kt(e).map(Z):void 0))})}skipLocked(){return new C({...i(this,f),queryNode:$.cloneWithEndModifier(i(this,f).queryNode,oe.create("SkipLocked"))})}noWait(){return new C({...i(this,f),queryNode:$.cloneWithEndModifier(i(this,f).queryNode,oe.create("NoWait"))})}selectAll(e){return new C({...i(this,f),queryNode:k.cloneWithSelections(i(this,f).queryNode,Tn(e))})}innerJoin(...e){return new C({...i(this,f),queryNode:$.cloneWithJoin(i(this,f).queryNode,Me("InnerJoin",e))})}leftJoin(...e){return new C({...i(this,f),queryNode:$.cloneWithJoin(i(this,f).queryNode,Me("LeftJoin",e))})}rightJoin(...e){return new C({...i(this,f),queryNode:$.cloneWithJoin(i(this,f).queryNode,Me("RightJoin",e))})}fullJoin(...e){return new C({...i(this,f),queryNode:$.cloneWithJoin(i(this,f).queryNode,Me("FullJoin",e))})}innerJoinLateral(...e){return new C({...i(this,f),queryNode:$.cloneWithJoin(i(this,f).queryNode,Me("LateralInnerJoin",e))})}leftJoinLateral(...e){return new C({...i(this,f),queryNode:$.cloneWithJoin(i(this,f).queryNode,Me("LateralLeftJoin",e))})}orderBy(...e){return new C({...i(this,f),queryNode:k.cloneWithOrderByItems(i(this,f).queryNode,ba(e))})}groupBy(e){return new C({...i(this,f),queryNode:k.cloneWithGroupByItems(i(this,f).queryNode,Xi(e))})}limit(e){return new C({...i(this,f),queryNode:k.cloneWithLimit(i(this,f).queryNode,Di.create(M(e)))})}offset(e){return new C({...i(this,f),queryNode:k.cloneWithOffset(i(this,f).queryNode,Yi.create(M(e)))})}fetch(e,a="only"){return new C({...i(this,f),queryNode:k.cloneWithFetch(i(this,f).queryNode,tc(e,a))})}top(e,a){return new C({...i(this,f),queryNode:$.cloneWithTop(i(this,f).queryNode,$i(e,a))})}union(e){return new C({...i(this,f),queryNode:k.cloneWithSetOperations(i(this,f).queryNode,Le("union",e,!1))})}unionAll(e){return new C({...i(this,f),queryNode:k.cloneWithSetOperations(i(this,f).queryNode,Le("union",e,!0))})}intersect(e){return new C({...i(this,f),queryNode:k.cloneWithSetOperations(i(this,f).queryNode,Le("intersect",e,!1))})}intersectAll(e){return new C({...i(this,f),queryNode:k.cloneWithSetOperations(i(this,f).queryNode,Le("intersect",e,!0))})}except(e){return new C({...i(this,f),queryNode:k.cloneWithSetOperations(i(this,f).queryNode,Le("except",e,!1))})}exceptAll(e){return new C({...i(this,f),queryNode:k.cloneWithSetOperations(i(this,f).queryNode,Le("except",e,!0))})}as(e){return new An(this,e)}clearSelect(){return new C({...i(this,f),queryNode:k.cloneWithoutSelections(i(this,f).queryNode)})}clearWhere(){return new C({...i(this,f),queryNode:$.cloneWithoutWhere(i(this,f).queryNode)})}clearLimit(){return new C({...i(this,f),queryNode:k.cloneWithoutLimit(i(this,f).queryNode)})}clearOffset(){return new C({...i(this,f),queryNode:k.cloneWithoutOffset(i(this,f).queryNode)})}clearOrderBy(){return new C({...i(this,f),queryNode:k.cloneWithoutOrderBy(i(this,f).queryNode)})}clearGroupBy(){return new C({...i(this,f),queryNode:k.cloneWithoutGroupBy(i(this,f).queryNode)})}$call(e){return e(this)}$if(e,a){return e?a(this):new C({...i(this,f)})}$castTo(){return new C(i(this,f))}$narrowType(){return new C(i(this,f))}$assertType(){return new C(i(this,f))}$asTuple(){return new S(this.toOperationNode())}withPlugin(e){return new C({...i(this,f),executor:i(this,f).executor.withPlugin(e)})}toOperationNode(){return i(this,f).executor.transformQuery(i(this,f).queryNode,i(this,f).queryId)}compile(){return i(this,f).executor.compileQuery(this.toOperationNode(),i(this,f).queryId)}async execute(){const e=this.compile();return(await i(this,f).executor.executeQuery(e,i(this,f).queryId)).rows}async executeTakeFirst(){const[e]=await this.execute();return e}async executeTakeFirstOrThrow(e=Ii){const a=await this.executeTakeFirst();if(a===void 0)throw Ei(e)?new e(this.toOperationNode()):e(this.toOperationNode());return a}async*stream(e=100){const a=this.compile(),n=i(this,f).executor.stream(a,e,i(this,f).queryId);for await(const r of n)yield*r.rows}async explain(e,a){return await new C({...i(this,f),queryNode:$.cloneWithExplain(i(this,f).queryNode,e,a)}).execute()}};f=new WeakMap;let zt=C;je(zt,"don't await SelectQueryBuilder instances directly. To execute the query you need to call `execute` or `executeTakeFirst`.");function nc(t){return new zt(t)}var Ze,et;class An{constructor(e,a){x(this,Ze);x(this,et);O(this,Ze,e),O(this,et,a)}get expression(){return i(this,Ze)}get alias(){return i(this,et)}get isAliasedSelectQueryBuilder(){return!0}toOperationNode(){return be.create(i(this,Ze).toOperationNode(),W.create(i(this,et)))}}Ze=new WeakMap,et=new WeakMap;je(An,"don't await AliasedSelectQueryBuilder instances directly. AliasedSelectQueryBuilder should never be executed directly since it's always a part of another query.");const fe=c({is(t){return t.kind==="AggregateFunctionNode"},create(t,e=[]){return c({kind:"AggregateFunctionNode",func:t,aggregated:e})},cloneWithDistinct(t){return c({...t,distinct:!0})},cloneWithOrderBy(t,e){return c({...t,orderBy:t.orderBy?Te.cloneWithItems(t.orderBy,e):Te.create(e)})},cloneWithFilter(t,e){return c({...t,filter:t.filter?We.cloneWithOperation(t.filter,"And",e):We.create(e)})},cloneWithOrFilter(t,e){return c({...t,filter:t.filter?We.cloneWithOperation(t.filter,"Or",e):We.create(e)})},cloneWithOver(t,e){return c({...t,over:e})}}),Ya=c({is(t){return t.kind==="FunctionNode"},create(t,e){return c({kind:"FunctionNode",func:t,arguments:e})}});var D;const de=class de{constructor(e){x(this,D);O(this,D,c(e))}get expressionType(){}as(e){return new rc(this,e)}distinct(){return new de({...i(this,D),aggregateFunctionNode:fe.cloneWithDistinct(i(this,D).aggregateFunctionNode)})}orderBy(e,a){return new de({...i(this,D),aggregateFunctionNode:fe.cloneWithOrderBy(i(this,D).aggregateFunctionNode,ba([e,a]))})}filterWhere(...e){return new de({...i(this,D),aggregateFunctionNode:fe.cloneWithFilter(i(this,D).aggregateFunctionNode,ee(e))})}filterWhereRef(e,a,n){return new de({...i(this,D),aggregateFunctionNode:fe.cloneWithFilter(i(this,D).aggregateFunctionNode,yt(e,a,n))})}over(e){const a=Qi();return new de({...i(this,D),aggregateFunctionNode:fe.cloneWithOver(i(this,D).aggregateFunctionNode,(e?e(a):a).toOperationNode())})}$call(e){return e(this)}$castTo(){return new de(i(this,D))}$notNull(){return new de(i(this,D))}toOperationNode(){return i(this,D).aggregateFunctionNode}};D=new WeakMap;let Ue=de;je(Ue,"don't await AggregateFunctionBuilder instances. They are never executed directly and are always just a part of a query.");var tt,at;class rc{constructor(e,a){x(this,tt);x(this,at);O(this,tt,e),O(this,at,a)}get expression(){return i(this,tt)}get alias(){return i(this,at)}toOperationNode(){return be.create(i(this,tt).toOperationNode(),W.create(i(this,at)))}}tt=new WeakMap,at=new WeakMap;function oc(){const t=(a,n)=>new S(Ya.create(a,gt(n??[]))),e=(a,n)=>new Ue({aggregateFunctionNode:fe.create(a,n?gt(n):void 0)});return Object.assign(t,{agg:e,avg(a){return e("avg",[a])},coalesce(...a){return t("coalesce",a)},count(a){return e("count",[a])},countAll(a){return new Ue({aggregateFunctionNode:fe.create("count",Tn(a))})},max(a){return e("max",[a])},min(a){return e("min",[a])},sum(a){return e("sum",[a])},any(a){return t("any",[a])},jsonAgg(a){return new Ue({aggregateFunctionNode:fe.create("json_agg",[re(a)?Z(a):a.toOperationNode()])})},toJson(a){return new S(Ya.create("to_json",[re(a)?Z(a):a.toOperationNode()]))}})}const sc=c({is(t){return t.kind==="UnaryOperationNode"},create(t,e){return c({kind:"UnaryOperationNode",operator:t,operand:e})}});function ic(t,e){return sc.create(Re.create(t),Q(e))}const _e=c({is(t){return t.kind==="CaseNode"},create(t){return c({kind:"CaseNode",value:t})},cloneWithWhen(t,e){return c({...t,when:c(t.when?[...t.when,e]:[e])})},cloneWithThen(t,e){return c({...t,when:t.when?c([...t.when.slice(0,-1),Qt.cloneWithResult(t.when[t.when.length-1],e)]):void 0})},cloneWith(t,e){return c({...t,...e})}});var nt;class cc{constructor(e){x(this,nt);O(this,nt,c(e))}when(...e){return new $n({...i(this,nt),node:_e.cloneWithWhen(i(this,nt).node,Qt.create(ee(e)))})}}nt=new WeakMap;var rt;class $n{constructor(e){x(this,rt);O(this,rt,c(e))}then(e){return new lc({...i(this,rt),node:_e.cloneWithThen(i(this,rt).node,Oa(e)?Sa(e):M(e))})}}rt=new WeakMap;var ae;class lc{constructor(e){x(this,ae);O(this,ae,c(e))}when(...e){return new $n({...i(this,ae),node:_e.cloneWithWhen(i(this,ae).node,Qt.create(ee(e)))})}else(e){return new dc({...i(this,ae),node:_e.cloneWith(i(this,ae).node,{else:Oa(e)?Sa(e):M(e)})})}end(){return new S(_e.cloneWith(i(this,ae).node,{isStatement:!1}))}endCase(){return new S(_e.cloneWith(i(this,ae).node,{isStatement:!0}))}}ae=new WeakMap;var ot;class dc{constructor(e){x(this,ot);O(this,ot,c(e))}end(){return new S(_e.cloneWith(i(this,ot).node,{isStatement:!1}))}endCase(){return new S(_e.cloneWith(i(this,ot).node,{isStatement:!0}))}}ot=new WeakMap;const Ha=c({is(t){return t.kind==="JSONPathLegNode"},create(t,e){return c({kind:"JSONPathLegNode",type:t,value:e})}});var ne,xt,fa;class ha{constructor(e){x(this,xt);x(this,ne);O(this,ne,e)}at(e){return N(this,xt,fa).call(this,"ArrayLocation",e)}key(e){return N(this,xt,fa).call(this,"Member",e)}}ne=new WeakMap,xt=new WeakSet,fa=function(e,a){return At.is(i(this,ne))?new Rt(At.cloneWithTraversal(i(this,ne),mt.is(i(this,ne).traversal)?mt.cloneWithLeg(i(this,ne).traversal,Ha.create(e,a)):Nn.cloneWithValue(i(this,ne).traversal,xe.createImmediate(a)))):new Rt(mt.cloneWithLeg(i(this,ne),Ha.create(e,a)))};var Pe;const Wt=class Wt extends ha{constructor(a){super(a);x(this,Pe);O(this,Pe,a)}get expressionType(){}as(a){return new uc(this,a)}$castTo(){return new Wt(i(this,Pe))}$notNull(){return new Wt(i(this,Pe))}toOperationNode(){return i(this,Pe)}};Pe=new WeakMap;let Rt=Wt;var st,ge;class uc{constructor(e,a){x(this,st);x(this,ge);O(this,st,e),O(this,ge,a)}get expression(){return i(this,st)}get alias(){return i(this,ge)}toOperationNode(){return be.create(i(this,st).toOperationNode(),Y(i(this,ge))?i(this,ge).toOperationNode():W.create(i(this,ge)))}}st=new WeakMap,ge=new WeakMap;const Xa=c({is(t){return t.kind==="TupleNode"},create(t){return c({kind:"TupleNode",values:c(t)})}}),_c=["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"],mc=[/^varchar\(\d+\)$/,/^char\(\d+\)$/,/^decimal\(\d+, \d+\)$/,/^numeric\(\d+, \d+\)$/,/^binary\(\d+\)$/,/^datetime\(\d+\)$/,/^time\(\d+\)$/,/^timetz\(\d+\)$/,/^timestamp\(\d+\)$/,/^timestamptz\(\d+\)$/,/^varbinary\(\d+\)$/],hc=c({is(t){return t.kind==="DataTypeNode"},create(t){return c({kind:"DataTypeNode",dataType:t})}});function fc(t){return!!(_c.includes(t)||mc.some(e=>e.test(t)))}function pc(t){if(Y(t))return t.toOperationNode();if(fc(t))return hc.create(t);throw new Error(`invalid column data type ${JSON.stringify(t)}`)}const gc=c({is(t){return t.kind==="CastNode"},create(t,e){return c({kind:"CastNode",expression:t,dataType:e})}});function Ea(t=En){function e(r,o,s){return new S(ka(r,o,s))}function a(r,o){return new S(ic(r,o))}const n=Object.assign(e,{fn:void 0,eb:void 0,selectFrom(r){return nc({queryId:se(),executor:t,queryNode:k.createFrom(wc(r))})},case(r){return new cc({node:_e.create(Et(r)?void 0:Q(r))})},ref(r,o){return Et(o)?new S(Ce(r)):new ha(mi(r,o))},jsonPath(){return new ha(mt.create())},table(r){return new S(Z(r))},val(r){return new S(M(r))},refTuple(...r){return new S(Xa.create(r.map(Q)))},tuple(...r){return new S(Xa.create(r.map(M)))},lit(r){return new S(Sa(r))},unary:a,not(r){return a("not",r)},exists(r){return a("exists",r)},neg(r){return a("-",r)},between(r,o,s){return new S(it.create(Q(r),Re.create("between"),ve.create(M(o),M(s))))},betweenSymmetric(r,o,s){return new S(it.create(Q(r),Re.create("between symmetric"),ve.create(M(o),M(s))))},and(r){return Ne(r)?new S(sa(r,"and")):new S(Fa(r,"and"))},or(r){return Ne(r)?new S(sa(r,"or")):new S(Fa(r,"or"))},parens(...r){const o=ee(r);return wt.is(o)?new S(o):new S(wt.create(o))},cast(r,o){return new S(gc.create(Q(r),pc(o)))},withSchema(r){return Ea(t.withPluginAtFront(new In(r)))}});return n.fn=oc(),n.eb=n,n}function Vt(t){return Ea()}function Gt(t){if(Y(t))return t.toOperationNode();if(Fe(t))return t(Vt()).toOperationNode();throw new Error(`invalid expression: ${JSON.stringify(t)}`)}function Pn(t){if(Y(t))return t.toOperationNode();if(Fe(t))return t(Vt()).toOperationNode();throw new Error(`invalid aliased expression: ${JSON.stringify(t)}`)}function Yt(t){return ai(t)||ni(t)||Fe(t)}function wc(t){return Ne(t)?t.map(e=>Ft(e)):[Ft(t)]}function Ft(t){return re(t)?yc(t):Pn(t)}function yc(t){const e=" as ";if(t.includes(e)){const[a,n]=t.split(e).map(Dn);return be.create(Z(a),W.create(n))}else return Z(t)}function Z(t){const e=".";if(t.includes(e)){const[a,n]=t.split(e).map(Dn);return ye.createWithSchema(a,n)}else return ye.create(t)}function Dn(t){return t.trim()}var j,V,It,pa,ga;const pt=class pt{constructor(e){x(this,V);x(this,j);O(this,j,c(e))}get expressionType(){}get isRawBuilder(){return!0}as(e){return new zn(this,e)}$castTo(){return new pt({...i(this,j)})}$notNull(){return new pt(i(this,j))}withPlugin(e){return new pt({...i(this,j),plugins:i(this,j).plugins!==void 0?c([...i(this,j).plugins,e]):c([e])})}toOperationNode(){return N(this,V,pa).call(this,N(this,V,It).call(this))}compile(e){return N(this,V,ga).call(this,N(this,V,It).call(this,e))}async execute(e){const a=N(this,V,It).call(this,e);return a.executeQuery(N(this,V,ga).call(this,a),i(this,j).queryId)}};j=new WeakMap,V=new WeakSet,It=function(e){const a=e!==void 0?e.getExecutor():En;return i(this,j).plugins!==void 0?a.withPlugins(i(this,j).plugins):a},pa=function(e){return e.transformQuery(i(this,j).rawNode,i(this,j).queryId)},ga=function(e){return e.compileQuery(N(this,V,pa).call(this,e),i(this,j).queryId)};let jt=pt;function he(t){return new jt(t)}je(jt,"don't await RawBuilder instances directly. To execute the query you need to call `execute`");var De,we;class zn{constructor(e,a){x(this,De);x(this,we);O(this,De,e),O(this,we,a)}get expression(){return i(this,De)}get alias(){return i(this,we)}get rawBuilder(){return i(this,De)}toOperationNode(){return be.create(i(this,De).toOperationNode(),Y(i(this,we))?i(this,we).toOperationNode():W.create(i(this,we)))}}De=new WeakMap,we=new WeakMap;je(zn,"don't await AliasedRawBuilder instances directly. AliasedRawBuilder should never be executed directly since it's always a part of another query.");const w=Object.assign((t,...e)=>he({queryId:se(),rawNode:B.create(t,(e==null?void 0:e.map(Za))??[])}),{ref(t){return he({queryId:se(),rawNode:B.createWithChild(Ce(t))})},val(t){return he({queryId:se(),rawNode:B.createWithChild(M(t))})},value(t){return this.val(t)},table(t){return he({queryId:se(),rawNode:B.createWithChild(Z(t))})},id(...t){const e=new Array(t.length+1).fill(".");return e[0]="",e[e.length-1]="",he({queryId:se(),rawNode:B.create(e,t.map(W.create))})},lit(t){return he({queryId:se(),rawNode:B.createWithChild(xe.createImmediate(t))})},literal(t){return this.lit(t)},raw(t){return he({queryId:se(),rawNode:B.createWithSql(t)})},join(t,e=w`, `){const a=new Array(2*t.length-1),n=e.toOperationNode();for(let r=0;r<t.length;++r)a[2*r]=Za(t[r]),r!==t.length-1&&(a[2*r+1]=n);return he({queryId:se(),rawNode:B.createWithChildren(a)})}});function Za(t){return Y(t)?t.toOperationNode():M(t)}class Nc{transformQuery(e){return e.node}async transformResult(e){return e.result}}const vc="kysely_migration",en="kysely_migration_lock",Cc=!1,ea="migration_lock",xc=c({__noMigrations__:!0});var I,g,dt,ie,ce,qe,Fn,le,jn,Mn,Ln,Jn,qn,wa,Be,ya,Bn,Wn,Kn,Na,Un,Qn,Vn,Gn,Yn,ut;class Rn{constructor(e){x(this,g);x(this,I);O(this,I,c(e))}async getMigrations(){const e=await N(this,g,Be).call(this,i(this,g,ce))?await i(this,I).db.withPlugin(i(this,g,le)).selectFrom(i(this,g,ce)).select(["name","timestamp"]).$narrowType().execute():[];return(await N(this,g,Na).call(this)).map(({name:n,...r})=>{const o=e.find(s=>s.name===n);return{name:n,migration:r,executedAt:o?new Date(o.timestamp):void 0}})}async migrateToLatest(){return N(this,g,dt).call(this,()=>({direction:"Up",step:1/0}))}async migrateTo(e){return N(this,g,dt).call(this,({migrations:a,executedMigrations:n,pendingMigrations:r})=>{if(e===xc)return{direction:"Down",step:1/0};if(!a.find(l=>l.name===e))throw new Error(`migration "${e}" doesn't exist`);const o=n.indexOf(e),s=r.findIndex(l=>l.name===e);if(o!==-1)return{direction:"Down",step:n.length-o-1};if(s!==-1)return{direction:"Up",step:s+1};throw new Error(`migration "${e}" isn't executed or pending`)})}async migrateUp(){return N(this,g,dt).call(this,()=>({direction:"Up",step:1}))}async migrateDown(){return N(this,g,dt).call(this,()=>({direction:"Down",step:1}))}}I=new WeakMap,g=new WeakSet,dt=async function(e){try{return await N(this,g,jn).call(this),await N(this,g,Bn).call(this,e)}catch(a){return a instanceof ta?a.resultSet:{error:a}}},ie=function(){return i(this,I).migrationTableSchema},ce=function(){return i(this,I).migrationTableName??vc},qe=function(){return i(this,I).migrationLockTableName??en},Fn=function(){return i(this,I).allowUnorderedMigrations??Cc},le=function(){return i(this,g,ie)?new In(i(this,g,ie)):new Nc},jn=async function(){await N(this,g,Mn).call(this),await N(this,g,Ln).call(this),await N(this,g,Jn).call(this),await N(this,g,qn).call(this)},Mn=async function(){if(i(this,g,ie)&&!await N(this,g,wa).call(this))try{await N(this,g,ut).call(this,i(this,I).db.schema.createSchema(i(this,g,ie)))}catch(e){if(!await N(this,g,wa).call(this))throw e}},Ln=async function(){if(!await N(this,g,Be).call(this,i(this,g,ce)))try{i(this,g,ie)&&await N(this,g,ut).call(this,i(this,I).db.schema.createSchema(i(this,g,ie))),await N(this,g,ut).call(this,i(this,I).db.schema.withPlugin(i(this,g,le)).createTable(i(this,g,ce)).addColumn("name","varchar(255)",e=>e.notNull().primaryKey()).addColumn("timestamp","varchar(255)",e=>e.notNull()))}catch(e){if(!await N(this,g,Be).call(this,i(this,g,ce)))throw e}},Jn=async function(){if(!await N(this,g,Be).call(this,i(this,g,qe)))try{await N(this,g,ut).call(this,i(this,I).db.schema.withPlugin(i(this,g,le)).createTable(i(this,g,qe)).addColumn("id","varchar(255)",e=>e.notNull().primaryKey()).addColumn("is_locked","integer",e=>e.notNull().defaultTo(0)))}catch(e){if(!await N(this,g,Be).call(this,i(this,g,qe)))throw e}},qn=async function(){if(!await N(this,g,ya).call(this))try{await i(this,I).db.withPlugin(i(this,g,le)).insertInto(i(this,g,qe)).values({id:ea,is_locked:0}).execute()}catch(e){if(!await N(this,g,ya).call(this))throw e}},wa=async function(){return(await i(this,I).db.introspection.getSchemas()).some(a=>a.name===i(this,g,ie))},Be=async function(e){const a=i(this,g,ie);return(await i(this,I).db.introspection.getTables({withInternalKyselyTables:!0})).some(r=>r.name===e&&(!a||r.schema===a))},ya=async function(){return!!await i(this,I).db.withPlugin(i(this,g,le)).selectFrom(i(this,g,qe)).where("id","=",ea).select("id").executeTakeFirst()},Bn=async function(e){const a=i(this,I).db.getExecutor().adapter,n=c({lockTable:i(this,I).migrationLockTableName??en,lockRowId:ea,lockTableSchema:i(this,I).migrationTableSchema}),r=async o=>{try{await a.acquireMigrationLock(o,n);const s=await N(this,g,Wn).call(this,o);if(s.migrations.length===0)return{results:[]};const{direction:l,step:d}=e(s);return d<=0?{results:[]}:l==="Down"?await N(this,g,Gn).call(this,o,s,d):l==="Up"?await N(this,g,Yn).call(this,o,s,d):{results:[]}}finally{await a.releaseMigrationLock(o,n)}};return a.supportsTransactionalDdl?i(this,I).db.transaction().execute(r):i(this,I).db.connection().execute(r)},Wn=async function(e){const a=await N(this,g,Na).call(this),n=await N(this,g,Un).call(this,e);N(this,g,Qn).call(this,a,n),i(this,g,Fn)||N(this,g,Vn).call(this,a,n);const r=N(this,g,Kn).call(this,a,n);return c({migrations:a,executedMigrations:n,lastMigration:ti(n),pendingMigrations:r})},Kn=function(e,a){return e.filter(n=>!a.includes(n.name))},Na=async function(){const e=await i(this,I).provider.getMigrations();return Object.keys(e).sort().map(a=>({...e[a],name:a}))},Un=async function(e){const a=await e.withPlugin(i(this,g,le)).selectFrom(i(this,g,ce)).select(["name","timestamp"]).$narrowType().execute(),n=i(this,I).nameComparator||((r,o)=>r.localeCompare(o));return a.sort((r,o)=>r.timestamp===o.timestamp?n(r.name,o.name):new Date(r.timestamp).getTime()-new Date(o.timestamp).getTime()).map(r=>r.name)},Qn=function(e,a){for(const n of a)if(!e.some(r=>r.name===n))throw new Error(`corrupted migrations: previously executed migration ${n} is missing`)},Vn=function(e,a){for(let n=0;n<a.length;++n)if(e[n].name!==a[n])throw new Error(`corrupted migrations: expected previously executed migration ${a[n]} to be at index ${n} but ${e[n].name} was found in its place. New migrations must always have a name that comes alphabetically after the last executed migration.`)},Gn=async function(e,a,n){const r=a.executedMigrations.slice().reverse().slice(0,n).map(s=>a.migrations.find(l=>l.name===s)),o=r.map(s=>({migrationName:s.name,direction:"Down",status:"NotExecuted"}));for(let s=0;s<o.length;++s){const l=r[s];try{l.down&&(await l.down(e),await e.withPlugin(i(this,g,le)).deleteFrom(i(this,g,ce)).where("name","=",l.name).execute(),o[s]={migrationName:l.name,direction:"Down",status:"Success"})}catch(d){throw o[s]={migrationName:l.name,direction:"Down",status:"Error"},new ta({error:d,results:o})}}return{results:o}},Yn=async function(e,a,n){const o=a.pendingMigrations.slice(0,n).map(s=>({migrationName:s.name,direction:"Up",status:"NotExecuted"}));for(let s=0;s<o.length;s++){const l=a.pendingMigrations[s];try{await l.up(e),await e.withPlugin(i(this,g,le)).insertInto(i(this,g,ce)).values({name:l.name,timestamp:new Date().toISOString()}).execute(),o[s]={migrationName:l.name,direction:"Up",status:"Success"}}catch(d){throw o[s]={migrationName:l.name,direction:"Up",status:"Error"},new ta({error:d,results:o})}}return{results:o}},ut=async function(e){i(this,I).db.getExecutor().adapter.supportsCreateIfNotExists&&(e=e.ifNotExists()),await e.execute()};var Tt;class ta extends Error{constructor(a){super();x(this,Tt);O(this,Tt,a)}get resultSet(){return i(this,Tt)}}Tt=new WeakMap;function Tc(t){return async(e,a)=>{let n=t.selectFrom("organizations").selectAll().where("tenant_id","=",e);if(a!=null&&a.q&&(n=n.where(m=>m.or([m("name","like",`%${a.q}%`),m("display_name","like",`%${a.q}%`)]))),a!=null&&a.sort){const m=a.sort.sort_order==="asc"?"asc":"desc",u=a.sort.sort_by;["name","display_name","created_at"].includes(u)?n=n.orderBy(u,m):n=n.orderBy("created_at","desc")}else n=n.orderBy("created_at","desc");if((a==null?void 0:a.from)!==void 0){const m=parseInt(a.from,10);isNaN(m)||(n=n.offset(m))}else if((a==null?void 0:a.page)!==void 0){const m=(a==null?void 0:a.per_page)||(a==null?void 0:a.take)||10,u=a.page*m;n=n.offset(u)}const r=(a==null?void 0:a.take)||(a==null?void 0:a.per_page)||10;n=n.limit(r);const o=await n.execute();let s=o.length;if(a!=null&&a.include_totals){let m=t.selectFrom("organizations").select(w`count(*)`.as("count")).where("tenant_id","=",e);a!=null&&a.q&&(m=m.where(h=>h.or([h("name","like",`%${a.q}%`),h("display_name","like",`%${a.q}%`)])));const u=await m.executeTakeFirst();s=Number((u==null?void 0:u.count)||0)}const l=o.map(m=>b({...m,branding:m.branding?JSON.parse(m.branding):{},metadata:m.metadata?JSON.parse(m.metadata):{},enabled_connections:m.enabled_connections?JSON.parse(m.enabled_connections):[],token_quota:m.token_quota?JSON.parse(m.token_quota):{}})),d=(a==null?void 0:a.take)||(a==null?void 0:a.per_page)||10,_=a!=null&&a.from?parseInt(a.from,10):a!=null&&a.page?a.page*d:0;return{organizations:l,start:isNaN(_)?0:_,limit:d,length:l.length,total:s}}}function bc(t){return async(e,a)=>(await t.deleteFrom("organizations").where("tenant_id","=",e).where("id","=",a).execute()).length>0}function Oc(t){return async(e,a,n)=>{const{branding:r,metadata:o,enabled_connections:s,token_quota:l,...d}=n,_={...d,updated_at:new Date().toISOString()};return bt(n,["branding","metadata","enabled_connections","token_quota"],_),(await t.updateTable("organizations").set(_).where("tenant_id","=",e).where("id","=",a).execute()).length>0}}function Sc(t){return{create:Zs(t),get:ei(t),list:Tc(t),remove:bc(t),update:Oc(t)}}function kc(t){return async(e,a)=>{const n={id:G(),tenant_id:e,user_id:a.user_id,organization_id:a.organization_id,created_at:new Date().toISOString(),updated_at:new Date().toISOString()};try{await t.insertInto("user_organizations").values(n).execute()}catch(r){throw r.code==="SQLITE_CONSTRAINT_UNIQUE"||r.code==="ER_DUP_ENTRY"?new ze(409,{message:"User is already a member of this organization"}):r}return{...n}}}function Ic(t){return async(e,a)=>{const n=await t.selectFrom("user_organizations").selectAll().where("id","=",a).where("tenant_id","=",e).executeTakeFirst();return n?{id:n.id,user_id:n.user_id,organization_id:n.organization_id,created_at:n.created_at,updated_at:n.updated_at}:null}}function Ec(t){return async(e,a)=>{const n=(a==null?void 0:a.page)||0,r=(a==null?void 0:a.per_page)||50,o=n*r;let s=t.selectFrom("user_organizations").selectAll().where("tenant_id","=",e);if(a!=null&&a.q){if(a.q.startsWith("user_id:")){const u=a.q.replace("user_id:","");s=s.where("user_id","=",u)}else if(a.q.startsWith("organization_id:")){const u=a.q.replace("organization_id:","");s=s.where("organization_id","=",u)}}s=s.orderBy("created_at","desc"),r>0&&(s=s.limit(r).offset(o));const l=await s.execute();let d=t.selectFrom("user_organizations").select(t.fn.count("id").as("count")).where("tenant_id","=",e);if(a!=null&&a.q){if(a.q.startsWith("user_id:")){const u=a.q.replace("user_id:","");d=d.where("user_id","=",u)}else if(a.q.startsWith("organization_id:")){const u=a.q.replace("organization_id:","");d=d.where("organization_id","=",u)}}const _=await d.executeTakeFirst();return{userOrganizations:l.map(u=>({id:u.id,user_id:u.user_id,organization_id:u.organization_id,created_at:u.created_at,updated_at:u.updated_at})),start:o,limit:r,length:Number((_==null?void 0:_.count)||0)}}}function Ac(t){return async(e,a,n)=>{const r=(n==null?void 0:n.page)||0,o=(n==null?void 0:n.per_page)||50,s=r*o;let l=t.selectFrom("user_organizations").innerJoin("organizations",u=>u.onRef("organizations.id","=","user_organizations.organization_id").on("organizations.tenant_id","=",e)).select(["organizations.id","organizations.name","organizations.display_name","organizations.branding","organizations.metadata","organizations.enabled_connections","organizations.token_quota","organizations.created_at","organizations.updated_at","user_organizations.created_at as joined_at"]).where("user_organizations.tenant_id","=",e).where("user_organizations.user_id","=",a);l=l.orderBy("user_organizations.created_at","desc"),o>0&&(l=l.limit(o).offset(s));const d=await l.execute(),_=await t.selectFrom("user_organizations").innerJoin("organizations",u=>u.onRef("organizations.id","=","user_organizations.organization_id").on("organizations.tenant_id","=",e)).select(t.fn.count("user_organizations.id").as("count")).where("user_organizations.tenant_id","=",e).where("user_organizations.user_id","=",a).executeTakeFirst();return{organizations:d.map(u=>({id:u.id,name:u.name,display_name:u.display_name,branding:u.branding?JSON.parse(u.branding):void 0,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):void 0,created_at:u.created_at,updated_at:u.updated_at,joined_at:u.joined_at})),start:s,limit:o,length:Number((_==null?void 0:_.count)||0)}}}function $c(t){return async(e,a)=>(await t.deleteFrom("user_organizations").where("id","=",a).where("tenant_id","=",e).execute()).length>0}function Pc(t){return async(e,a,n)=>{const r={...n,updated_at:new Date().toISOString()};return(await t.updateTable("user_organizations").set(r).where("id","=",a).where("tenant_id","=",e).execute()).length>0}}function Dc(t){return{create:kc(t),get:Ic(t),list:Ec(t),listUserOrganizations:Ac(t),remove:$c(t),update:Pc(t)}}function zc(t){return async(e,a)=>{const n=ro(),r=new Date().toISOString(),o=a.ttl_sec||604800,s=new Date(Date.now()+o*1e3).toISOString(),l=bt({id:n,tenant_id:e,organization_id:a.organization_id,inviter:a.inviter||{},invitee:a.invitee||{},client_id:a.client_id,connection_id:a.connection_id||null,invitation_url:a.invitation_url,created_at:r,expires_at:s,app_metadata:a.app_metadata||{},user_metadata:a.user_metadata||{},roles:a.roles||[],ticket_id:null,ttl_sec:o,send_invitation_email:a.send_invitation_email??!0?1:0},["inviter","invitee","app_metadata","user_metadata","roles"]);try{await t.insertInto("invites").values(l).execute()}catch(d){throw d.code==="SQLITE_CONSTRAINT_UNIQUE"||d.message.includes("AlreadyExists")?new ze(409,{message:"Invite already exists"}):d}return{id:n,organization_id:l.organization_id,inviter:a.inviter,invitee:a.invitee,client_id:a.client_id,connection_id:a.connection_id,invitation_url:a.invitation_url,created_at:r,expires_at:s,app_metadata:a.app_metadata||{},user_metadata:a.user_metadata||{},roles:a.roles||[],ticket_id:l.ticket_id||void 0,ttl_sec:o,send_invitation_email:a.send_invitation_email??!0}}}function Rc(t){return async(e,a)=>{const n=await t.selectFrom("invites").selectAll().where("tenant_id","=",e).where("id","=",a).executeTakeFirst();if(!n)return null;const r=sn(n,{inviter:{},invitee:{},app_metadata:{},user_metadata:{},roles:[]});return b({...r,send_invitation_email:n.send_invitation_email===1})}}function Fc(t){return async(e,a)=>{let n=t.selectFrom("invites").selectAll().where("tenant_id","=",e).orderBy("created_at","desc");if(a!=null&&a.per_page&&(n=n.limit(a.per_page)),a!=null&&a.page){const s=(a.page-1)*(a.per_page||10);n=n.offset(s)}const o=(await n.execute()).map(s=>{const l=sn(s,{inviter:{},invitee:{},app_metadata:{},user_metadata:{},roles:[]});return b({...l,send_invitation_email:s.send_invitation_email===1})});return{invites:o,start:a!=null&&a.page?(a.page-1)*(a.per_page||10):0,limit:(a==null?void 0:a.per_page)||o.length,length:o.length}}}function jc(t){return async(e,a)=>(await t.deleteFrom("invites").where("tenant_id","=",e).where("id","=",a).executeTakeFirst()).numDeletedRows>0n}function Mc(t){return async(e,a,n)=>{const r={};return n.inviter!==void 0&&(r.inviter=JSON.stringify(n.inviter)),n.invitee!==void 0&&(r.invitee=JSON.stringify(n.invitee)),n.client_id!==void 0&&(r.client_id=n.client_id),n.connection_id!==void 0&&(r.connection_id=n.connection_id),n.app_metadata!==void 0&&(r.app_metadata=JSON.stringify(n.app_metadata)),n.user_metadata!==void 0&&(r.user_metadata=JSON.stringify(n.user_metadata)),n.roles!==void 0&&(r.roles=JSON.stringify(n.roles)),n.ttl_sec!==void 0&&(r.ttl_sec=n.ttl_sec,r.expires_at=new Date(Date.now()+n.ttl_sec*1e3).toISOString()),n.send_invitation_email!==void 0&&(r.send_invitation_email=n.send_invitation_email?1:0),Object.keys(r).length===0?!0:(await t.updateTable("invites").set(r).where("tenant_id","=",e).where("id","=",a).executeTakeFirst()).numUpdatedRows>0n}}function Lc(t){return{create:zc(t),get:Rc(t),list:Fc(t),remove:jc(t),update:Mc(t)}}const tn=["s","seacft","seccft","sepft","sertft","ssa"],Jc=["pwd_leak","signup_pwd_leak","reset_pwd_leak"];function an(t){return`${t.slice(0,4)}-${t.slice(4,6)}-${t.slice(6,8)}`}function nn(t){return t.toISOString().split("T")[0]}function qc(t){return{async getDaily(e,a={}){const{from:n,to:r}=a,o=new Date,s=new Date(o);s.setDate(s.getDate()-30);const l=n?an(n):nn(s),d=r?an(r):nn(o),_=w`DATE(logs.date)`;return(await t.selectFrom("logs").where("tenant_id","=",e).where(_,">=",l).where(_,"<=",d).select(u=>[_.as("date"),u.fn.sum(u.case().when("type","in",tn).then(1).else(0).end()).as("logins"),u.fn.sum(u.case().when("type","=","ss").then(1).else(0).end()).as("signups"),u.fn.sum(u.case().when("type","in",Jc).then(1).else(0).end()).as("leaked_passwords"),u.fn.min("date").as("first_event"),u.fn.max("date").as("last_event")]).groupBy(_).orderBy("date","asc").execute()).map(u=>({date:u.date,logins:Number(u.logins)||0,signups:Number(u.signups)||0,leaked_passwords:Number(u.leaked_passwords)||0,created_at:u.first_event||new Date().toISOString(),updated_at:u.last_event||new Date().toISOString()}))},async getActiveUsers(e){const a=new Date;return a.setDate(a.getDate()-30),(await t.selectFrom("logs").where("tenant_id","=",e).where("date",">=",a.toISOString()).where("type","in",tn).where("user_id","is not",null).select(r=>r.fn.count("user_id").distinct().as("count")).executeTakeFirstOrThrow()).count||0}}}class Hn{constructor(e){me(this,"migrations");this.migrations=e}async getMigrations(){return this.migrations}}async function Bc(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 Wc(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 Kc=Object.freeze(Object.defineProperty({__proto__:null,down:Wc,up:Bc},Symbol.toStringTag,{value:"Module"}));async function Uc(t){await t.schema.alterTable("tenants").addColumn("support_url","varchar(255)").execute()}async function Qc(t){await t.schema.alterTable("tenants").dropColumn("support_url").execute()}const Vc=Object.freeze(Object.defineProperty({__proto__:null,down:Qc,up:Uc},Symbol.toStringTag,{value:"Module"}));async function Gc(t){}async function Yc(t){}const Hc=Object.freeze(Object.defineProperty({__proto__:null,down:Yc,up:Gc},Symbol.toStringTag,{value:"Module"}));async function Xc(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 Zc(t){await t.schema.dropTable("logs").execute()}const el=Object.freeze(Object.defineProperty({__proto__:null,down:Zc,up:Xc},Symbol.toStringTag,{value:"Module"}));async function tl(t){}async function al(t){}const nl=Object.freeze(Object.defineProperty({__proto__:null,down:al,up:tl},Symbol.toStringTag,{value:"Module"}));async function rl(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 ol(t){await t.schema.dropTable("sessions").execute(),await t.schema.dropTable("tickets").execute(),await t.schema.dropTable("otps").execute()}const sl=Object.freeze(Object.defineProperty({__proto__:null,down:ol,up:rl},Symbol.toStringTag,{value:"Module"}));async function il(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 cl(t){await t.schema.dropTable("passwords").execute(),await t.schema.dropTable("codes").execute()}const ll=Object.freeze(Object.defineProperty({__proto__:null,down:cl,up:il},Symbol.toStringTag,{value:"Module"}));async function dl(t){}async function ul(t){}const _l=Object.freeze(Object.defineProperty({__proto__:null,down:ul,up:dl},Symbol.toStringTag,{value:"Module"}));async function ml(t){await t.schema.alterTable("passwords").addColumn("password","varchar(255)",e=>e.notNull()).execute()}async function hl(t){await t.schema.alterTable("passwords").dropColumn("password").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 wl=Object.freeze(Object.defineProperty({__proto__:null,down:gl,up:pl},Symbol.toStringTag,{value:"Module"}));async function yl(t){}async function Nl(t){}const vl=Object.freeze(Object.defineProperty({__proto__:null,down:Nl,up:yl},Symbol.toStringTag,{value:"Module"}));async function Cl(t){}async function xl(t){}const Tl=Object.freeze(Object.defineProperty({__proto__:null,down:xl,up:Cl},Symbol.toStringTag,{value:"Module"}));async function bl(t){await t.schema.createIndex("users_email_index").on("users").column("email").execute()}async function Ol(t){await t.schema.dropIndex("users_email_index").execute()}const Sl=Object.freeze(Object.defineProperty({__proto__:null,down:Ol,up:bl},Symbol.toStringTag,{value:"Module"}));async function kl(t){await t.schema.alterTable("users").addColumn("profileData","varchar(2048)").execute()}async function Il(t){await t.schema.alterTable("users").dropColumn("profileData").execute()}const El=Object.freeze(Object.defineProperty({__proto__:null,down:Il,up:kl},Symbol.toStringTag,{value:"Module"}));async function Al(t){await t.schema.createIndex("users_linked_to_index").on("users").column("linked_to").execute()}async function $l(t){await t.schema.dropIndex("users_linked_to_index")}const Pl=Object.freeze(Object.defineProperty({__proto__:null,down:$l,up:Al},Symbol.toStringTag,{value:"Module"}));async function Dl(t){await t.schema.alterTable("users").addColumn("locale","varchar(255)").execute()}async function zl(t){await t.schema.alterTable("users").dropColumn("locale").execute()}const Rl=Object.freeze(Object.defineProperty({__proto__:null,down:zl,up:Dl},Symbol.toStringTag,{value:"Module"}));async function Fl(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 jl(t){await t.schema.dropTable("keys").execute()}const Ml=Object.freeze(Object.defineProperty({__proto__:null,down:jl,up:Fl},Symbol.toStringTag,{value:"Module"}));async function Ll(t){}async function Jl(t){}const ql=Object.freeze(Object.defineProperty({__proto__:null,down:Jl,up:Ll},Symbol.toStringTag,{value:"Module"}));async function Bl(t){}async function Wl(t){}const Kl=Object.freeze(Object.defineProperty({__proto__:null,down:Wl,up:Bl},Symbol.toStringTag,{value:"Module"}));async function Ul(t){await t.schema.alterTable("otps").addColumn("audience","varchar(255)").execute()}async function Ql(t){await t.schema.alterTable("otps").dropColumn("audience").execute()}const Vl=Object.freeze(Object.defineProperty({__proto__:null,down:Ql,up:Ul},Symbol.toStringTag,{value:"Module"}));async function Gl(t){}async function Yl(t){}const Hl=Object.freeze(Object.defineProperty({__proto__:null,down:Yl,up:Gl},Symbol.toStringTag,{value:"Module"}));async function Xl(t){await t.schema.alterTable("logs").dropColumn("category").execute()}async function Zl(t){await t.schema.alterTable("logs").addColumn("category","varchar(255)",e=>e.notNull()).execute()}const ed=Object.freeze(Object.defineProperty({__proto__:null,down:Zl,up:Xl},Symbol.toStringTag,{value:"Module"}));async function td(t){await t.schema.alterTable("users").dropColumn("tags").execute()}async function ad(t){await t.schema.alterTable("users").addColumn("tags","varchar(255)").execute()}const nd=Object.freeze(Object.defineProperty({__proto__:null,down:ad,up:td},Symbol.toStringTag,{value:"Module"}));async function rd(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 od(t){await t.schema.dropIndex("logs_user_id"),await t.schema.dropIndex("logs_tenant_id"),await t.schema.dropIndex("logs_date")}const sd=Object.freeze(Object.defineProperty({__proto__:null,down:od,up:rd},Symbol.toStringTag,{value:"Module"}));async function id(t){await t.schema.alterTable("logs").dropColumn("details").execute(),await t.schema.alterTable("logs").addColumn("details","varchar(8192)").execute()}async function cd(t){await t.schema.alterTable("logs").dropColumn("details").execute(),await t.schema.alterTable("logs").addColumn("details","varchar(2048)").execute()}const ld=Object.freeze(Object.defineProperty({__proto__:null,down:cd,up:id},Symbol.toStringTag,{value:"Module"}));async function dd(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 ud(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 _d=Object.freeze(Object.defineProperty({__proto__:null,down:ud,up:dd},Symbol.toStringTag,{value:"Module"}));async function md(t){await t.schema.createIndex("users_name_index").on("users").column("name").execute()}async function hd(t){await t.schema.dropIndex("users_name_index").execute()}const fd=Object.freeze(Object.defineProperty({__proto__:null,down:hd,up:md},Symbol.toStringTag,{value:"Module"}));async function pd(t){}async function gd(t){await t.schema.alterTable("users").dropConstraint("unique_email_provider").execute()}const wd=Object.freeze(Object.defineProperty({__proto__:null,down:gd,up:pd},Symbol.toStringTag,{value:"Module"}));async function yd(t){await t.schema.alterTable("otps").dropColumn("state").execute(),await t.schema.alterTable("otps").addColumn("state","varchar(8192)").execute()}async function Nd(t){await t.schema.alterTable("otps").dropColumn("state").execute(),await t.schema.alterTable("otps").addColumn("state","varchar(1024)").execute()}const vd=Object.freeze(Object.defineProperty({__proto__:null,down:Nd,up:yd},Symbol.toStringTag,{value:"Module"}));async function Cd(t){await t.schema.alterTable("tickets").dropColumn("state").execute(),await t.schema.alterTable("tickets").addColumn("state","varchar(8192)").execute()}async function xd(t){await t.schema.alterTable("tickets").dropColumn("state").execute(),await t.schema.alterTable("tickets").addColumn("state","varchar(1024)").execute()}const Td=Object.freeze(Object.defineProperty({__proto__:null,down:xd,up:Cd},Symbol.toStringTag,{value:"Module"}));async function bd(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 Od(t){await t.schema.dropTable("branding").execute()}const Sd=Object.freeze(Object.defineProperty({__proto__:null,down:Od,up:bd},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 $d(t){}const Pd=Object.freeze(Object.defineProperty({__proto__:null,down:$d,up:Ad},Symbol.toStringTag,{value:"Module"}));async function Dd(t){}async function zd(t){}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 Md=Object.freeze(Object.defineProperty({__proto__:null,down:jd,up:Fd},Symbol.toStringTag,{value:"Module"}));async function Ld(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 Jd(t){await t.schema.dropTable("authentication_codes").execute()}const qd=Object.freeze(Object.defineProperty({__proto__:null,down:Jd,up:Ld},Symbol.toStringTag,{value:"Module"}));async function Bd(t){}async function Wd(t){}const Kd=Object.freeze(Object.defineProperty({__proto__:null,down:Wd,up:Bd},Symbol.toStringTag,{value:"Module"}));async function Ud(t){await t.schema.alterTable("otps").addColumn("ip","varchar(64)").execute()}async function Qd(t){await t.schema.alterTable("otps").dropColumn("ip").execute()}const Vd=Object.freeze(Object.defineProperty({__proto__:null,down:Qd,up:Ud},Symbol.toStringTag,{value:"Module"}));async function Gd(t){await t.schema.alterTable("logs").dropColumn("user_agent").execute(),await t.schema.alterTable("logs").addColumn("user_agent","varchar(1024)").execute()}async function Yd(t){await t.schema.alterTable("logs").dropColumn("user_agent").execute(),await t.schema.alterTable("logs").addColumn("user_agent","varchar(255)").execute()}const Hd=Object.freeze(Object.defineProperty({__proto__:null,down:Yd,up:Gd},Symbol.toStringTag,{value:"Module"}));async function Xd(t){}async function Zd(t){}const eu=Object.freeze(Object.defineProperty({__proto__:null,down:Zd,up:Xd},Symbol.toStringTag,{value:"Module"}));async function tu(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 au(t){await t.schema.dropTable("hooks").execute()}const nu=Object.freeze(Object.defineProperty({__proto__:null,down:au,up:tu},Symbol.toStringTag,{value:"Module"}));async function ru(t){}async function ou(t){}const su=Object.freeze(Object.defineProperty({__proto__:null,down:ou,up:ru},Symbol.toStringTag,{value:"Module"}));async function iu(t){}async function cu(t){}const lu=Object.freeze(Object.defineProperty({__proto__:null,down:cu,up:iu},Symbol.toStringTag,{value:"Module"}));async function du(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 uu(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 _u=Object.freeze(Object.defineProperty({__proto__:null,down:uu,up:du},Symbol.toStringTag,{value:"Module"}));async function mu(t){}async function hu(t){}const fu=Object.freeze(Object.defineProperty({__proto__:null,down:hu,up:mu},Symbol.toStringTag,{value:"Module"}));async function pu(t){await t.schema.alterTable("logins").addColumn("auth0Client","varchar(256)").execute()}async function gu(t){await t.schema.alterTable("logins").dropColumn("auth0Client").execute()}const wu=Object.freeze(Object.defineProperty({__proto__:null,down:gu,up:pu},Symbol.toStringTag,{value:"Module"}));async function yu(t){await t.schema.alterTable("logins").dropColumn("authParams_state").execute(),await t.schema.alterTable("logins").addColumn("authParams_state","varchar(8192)").execute()}async function Nu(t){await t.schema.alterTable("logins").dropColumn("authParams_state").execute(),await t.schema.alterTable("logins").addColumn("authParams_state","varchar(511)").execute()}const vu=Object.freeze(Object.defineProperty({__proto__:null,down:Nu,up:yu},Symbol.toStringTag,{value:"Module"}));async function Cu(t){}async function xu(t){}const Tu=Object.freeze(Object.defineProperty({__proto__:null,down:xu,up:Cu},Symbol.toStringTag,{value:"Module"}));async function bu(t){}async function Ou(t){}const Su=Object.freeze(Object.defineProperty({__proto__:null,down:Ou,up:bu},Symbol.toStringTag,{value:"Module"}));async function ku(t){await t.schema.alterTable("logins").addColumn("authParams_nonce","varchar(255)").execute()}async function Iu(t){await t.schema.alterTable("logins").dropColumn("nonce").execute()}const Eu=Object.freeze(Object.defineProperty({__proto__:null,down:Iu,up:ku},Symbol.toStringTag,{value:"Module"}));async function Au(t){}async function $u(t){}const Pu=Object.freeze(Object.defineProperty({__proto__:null,down:$u,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.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 ju(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 Mu=Object.freeze(Object.defineProperty({__proto__:null,down:ju,up:Fu},Symbol.toStringTag,{value:"Module"}));async function Lu(t){await t.schema.dropTable("otps").execute(),await t.schema.dropTable("authentication_codes").execute()}async function Ju(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 qu=Object.freeze(Object.defineProperty({__proto__:null,down:Ju,up:Lu},Symbol.toStringTag,{value:"Module"}));async function Bu(t){await t.schema.createIndex("IDX_logs_tenant_date_type_user").on("logs").columns(["tenant_id","date","type","user_id"]).execute()}async function Wu(t){await t.schema.dropIndex("IDX_logs_tenant_date_type_user").on("logs").execute()}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.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 Yu(t){await t.schema.dropTable("prompt_settings").execute()}const Hu=Object.freeze(Object.defineProperty({__proto__:null,down:Yu,up:Gu},Symbol.toStringTag,{value:"Module"}));async function Xu(t){}async function Zu(t){}const e_=Object.freeze(Object.defineProperty({__proto__:null,down:Zu,up:Xu},Symbol.toStringTag,{value:"Module"}));async function t_(t){}async function a_(t){}const n_=Object.freeze(Object.defineProperty({__proto__:null,down:a_,up:t_},Symbol.toStringTag,{value:"Module"}));async function r_(t){}async function o_(t){}const s_=Object.freeze(Object.defineProperty({__proto__:null,down:o_,up:r_},Symbol.toStringTag,{value:"Module"}));async function i_(t){await t.schema.alterTable("logins").addColumn("authParams_ui_locales","varchar(32)").execute()}async function c_(t){await t.schema.alterTable("logins").dropColumn("authParams_ui_locales").execute()}const l_=Object.freeze(Object.defineProperty({__proto__:null,down:c_,up:i_},Symbol.toStringTag,{value:"Module"}));async function d_(t){await t.schema.alterTable("logins").addColumn("authParams_prompt","varchar(16)").execute()}async function u_(t){await t.schema.alterTable("logins").dropColumn("authParams_prompt").execute()}const __=Object.freeze(Object.defineProperty({__proto__:null,down:u_,up:d_},Symbol.toStringTag,{value:"Module"}));async function m_(t){}async function h_(t){}const f_=Object.freeze(Object.defineProperty({__proto__:null,down:h_,up:m_},Symbol.toStringTag,{value:"Module"}));async function p_(t){await t.schema.alterTable("logins").addColumn("authParams_act_as","varchar(255)").execute()}async function g_(t){await t.schema.alterTable("logins").dropColumn("authParam_act_as").execute()}const w_=Object.freeze(Object.defineProperty({__proto__:null,down:g_,up:p_},Symbol.toStringTag,{value:"Module"}));async function y_(t){await t.schema.alterTable("codes").addColumn("code_verifier","varchar(128)").execute()}async function N_(t){await t.schema.alterTable("codes").dropColumn("code_verifier").execute()}const v_=Object.freeze(Object.defineProperty({__proto__:null,down:N_,up:y_},Symbol.toStringTag,{value:"Module"}));async function C_(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 x_(t){await t.schema.dropTable("email_providers").execute()}const T_=Object.freeze(Object.defineProperty({__proto__:null,down:x_,up:C_},Symbol.toStringTag,{value:"Module"}));async function b_(t){await t.schema.dropTable("tickets").execute()}async function O_(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 S_=Object.freeze(Object.defineProperty({__proto__:null,down:O_,up:b_},Symbol.toStringTag,{value:"Module"}));async function k_(t){}async function I_(t){await t.schema.alterTable("logins").dropColumn("ip").dropColumn("useragent").execute()}const E_=Object.freeze(Object.defineProperty({__proto__:null,down:I_,up:k_},Symbol.toStringTag,{value:"Module"}));async function A_(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 $_(t){await t.schema.dropTable("refresh_tokens").execute()}const P_=Object.freeze(Object.defineProperty({__proto__:null,down:$_,up:A_},Symbol.toStringTag,{value:"Module"}));async function D_(t){}async function z_(t){}const R_=Object.freeze(Object.defineProperty({__proto__:null,down:z_,up:D_},Symbol.toStringTag,{value:"Module"}));async function F_(t){await t.schema.dropTable("sessions").execute(),await t.schema.dropTable("refresh_tokens").execute()}async function j_(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 M_=Object.freeze(Object.defineProperty({__proto__:null,down:j_,up:F_},Symbol.toStringTag,{value:"Module"}));async function L_(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 J_(t){await t.schema.dropTable("sessions_2").execute(),await t.schema.dropTable("refresh_tokens_2").execute()}const q_=Object.freeze(Object.defineProperty({__proto__:null,down:J_,up:L_},Symbol.toStringTag,{value:"Module"}));async function B_(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 W_(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 K_=Object.freeze(Object.defineProperty({__proto__:null,down:W_,up:B_},Symbol.toStringTag,{value:"Module"}));async function U_(t){}async function Q_(t){await t.schema.alterTable("logins").dropColumn("authParams_organization").dropColumn("authorization_url").execute()}const V_=Object.freeze(Object.defineProperty({__proto__:null,down:Q_,up:U_},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 H_=Object.freeze(Object.defineProperty({__proto__:null,down:Y_,up:G_},Symbol.toStringTag,{value:"Module"}));async function X_(t){}async function Z_(t){}const em=Object.freeze(Object.defineProperty({__proto__:null,down:Z_,up:X_},Symbol.toStringTag,{value:"Module"}));async function tm(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 am(t){await t.schema.dropTable("sessions").execute(),await t.schema.dropTable("login_sessions").execute(),await t.schema.dropTable("refresh_tokens").execute()}const nm=Object.freeze(Object.defineProperty({__proto__:null,down:am,up:tm},Symbol.toStringTag,{value:"Module"}));async function rm(t){await t.schema.dropTable("logins").execute(),await t.schema.dropTable("sessions_2").execute(),await t.schema.dropTable("refresh_tokens_2").execute()}async function om(t){}const sm=Object.freeze(Object.defineProperty({__proto__:null,down:om,up:rm},Symbol.toStringTag,{value:"Module"}));async function im(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 cm(t){}const lm=Object.freeze(Object.defineProperty({__proto__:null,down:cm,up:im},Symbol.toStringTag,{value:"Module"}));async function dm(t){}async function um(t){await t.schema.alterTable("users").dropColumn("phone_number").dropColumn("phone_verified").dropColumn("username").execute()}const _m=Object.freeze(Object.defineProperty({__proto__:null,down:um,up:dm},Symbol.toStringTag,{value:"Module"}));async function mm(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 hm(t){await t.schema.dropTable("forms").execute()}const fm=Object.freeze(Object.defineProperty({__proto__:null,down:hm,up:mm},Symbol.toStringTag,{value:"Module"}));async function pm(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 gm(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 wm=Object.freeze(Object.defineProperty({__proto__:null,down:gm,up:pm},Symbol.toStringTag,{value:"Module"}));async function ym(t){await t.schema.alterTable("login_sessions").addColumn("login_completed","boolean",e=>e.notNull().defaultTo(0)).execute()}async function Nm(t){await t.schema.alterTable("login_sessions").dropColumn("login_completed").execute()}const vm=Object.freeze(Object.defineProperty({__proto__:null,down:Nm,up:ym},Symbol.toStringTag,{value:"Module"}));async function Cm(t){await t.schema.alterTable("sessions").addColumn("login_session_id","varchar(21)",e=>e.references("login_sessions.id").onDelete("set null")).execute()}async function xm(t){await t.schema.alterTable("sessions").dropColumn("login_session_id").execute()}const Tm=Object.freeze(Object.defineProperty({__proto__:null,down:xm,up:Cm},Symbol.toStringTag,{value:"Module"}));async function bm(t){await t.schema.createIndex("IDX_sessions_login_session_id").on("sessions").column("login_session_id").execute()}async function Om(t){await t.schema.dropIndex("IDX_sessions_login_session_id").on("sessions").execute()}const Sm=Object.freeze(Object.defineProperty({__proto__:null,down:Om,up:bm},Symbol.toStringTag,{value:"Module"}));async function km(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 Im(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:Im,up:km},Symbol.toStringTag,{value:"Module"}));async function Am(t){await t.schema.alterTable("codes").addColumn("redirect_uri","varchar(1024)").execute()}async function $m(t){await t.schema.alterTable("codes").dropColumn("redirect_uri").execute()}const Pm=Object.freeze(Object.defineProperty({__proto__:null,down:$m,up:Am},Symbol.toStringTag,{value:"Module"}));async function Dm(t){await t.schema.alterTable("codes").addColumn("nonce","varchar(1024)").execute(),await t.schema.alterTable("codes").addColumn("state","varchar(2048)").execute()}async function zm(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:zm,up:Dm},Symbol.toStringTag,{value:"Module"}));async function Fm(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 jm(t){await t.schema.dropTable("themes").execute()}const Mm=Object.freeze(Object.defineProperty({__proto__:null,down:jm,up:Fm},Symbol.toStringTag,{value:"Module"}));async function Lm(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 Jm(t){await t.schema.dropTable("roles").execute(),await t.schema.dropTable("resource_servers").execute()}const qm=Object.freeze(Object.defineProperty({__proto__:null,down:Jm,up:Lm},Symbol.toStringTag,{value:"Module"}));async function Bm(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 Wm(t){await t.schema.dropTable("user_permissions").execute(),await t.schema.dropTable("role_permissions").execute()}const Km=Object.freeze(Object.defineProperty({__proto__:null,down:Wm,up:Bm},Symbol.toStringTag,{value:"Module"}));async function Um(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 Qm(t){await t.schema.dropTable("user_roles").execute()}const Vm=Object.freeze(Object.defineProperty({__proto__:null,down:Qm,up:Um},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 Hm=Object.freeze(Object.defineProperty({__proto__:null,down:Ym,up:Gm},Symbol.toStringTag,{value:"Module"}));async function Xm(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 Zm(t){await t.schema.dropTable("organizations").execute()}const eh=Object.freeze(Object.defineProperty({__proto__:null,down:Zm,up:Xm},Symbol.toStringTag,{value:"Module"}));async function th(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 ah(t){await t.schema.dropTable("user_organizations").execute()}const nh=Object.freeze(Object.defineProperty({__proto__:null,down:ah,up:th},Symbol.toStringTag,{value:"Module"}));async function rh(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 oh(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 sh=Object.freeze(Object.defineProperty({__proto__:null,down:oh,up:rh},Symbol.toStringTag,{value:"Module"}));async function ih(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 ch(t){await t.schema.dropTable("clients").execute()}const lh=Object.freeze(Object.defineProperty({__proto__:null,down:ch,up:ih},Symbol.toStringTag,{value:"Module"}));async function Xn(t){try{return await w`SELECT VERSION()`.execute(t),"mysql"}catch{return"sqlite"}}async function dh(t){await Xn(t)==="mysql"?await uh(t):await _h(t)}async function uh(t){await t.transaction().execute(async e=>{const a=await w`
1
+ "use strict";var rr=Object.defineProperty;var Dn=t=>{throw TypeError(t)};var or=(t,e,n)=>e in t?rr(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var he=(t,e,n)=>or(t,typeof e!="symbol"?e+"":e,n),en=(t,e,n)=>e.has(t)||Dn("Cannot "+n);var i=(t,e,n)=>(en(t,e,"read from private field"),n?n.call(t):e.get(t)),x=(t,e,n)=>e.has(t)?Dn("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,n),O=(t,e,n,a)=>(en(t,e,"write to private field"),a?a.call(t,n):e.set(t,n),n),v=(t,e,n)=>(en(t,e,"access private method"),n);Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const z=require("@authhero/adapter-interfaces");require("@hono/zod-openapi");var Re=class extends Error{constructor(e=500,n){super(n==null?void 0:n.message,{cause:n==null?void 0:n.cause});he(this,"res");he(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 sr(t){return async(e,n)=>{const{identities:a,phone_verified:r,...o}=n,s={...o,login_count:o.login_count??0,created_at:new Date().toISOString(),updated_at:new Date().toISOString(),tenant_id:e,email_verified:n.email_verified?1:0,phone_verified:r!==void 0?r?1:0:null,is_social:n.is_social?1:0,app_metadata:JSON.stringify(n.app_metadata),user_metadata:JSON.stringify(n.user_metadata),address:n.address?JSON.stringify(n.address):null};try{await t.insertInto("users").values(s).execute()}catch(l){throw l.code==="SQLITE_CONSTRAINT_UNIQUE"||l.message.includes("AlreadyExists")?new Re(409,{message:"User already exists"}):new Re(500,{message:`${l.code}, ${l.message}`})}return{...s,email:s.email||"",email_verified:s.email_verified===1,phone_verified:s.phone_verified!==null?s.phone_verified===1:void 0,is_social:s.is_social===1,address:n.address}}}function b(t){if(t==null||typeof t!="object")return t;if(Array.isArray(t))return t.map(n=>n!==null&&typeof n=="object"?b(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"?b(r):r):e[n]=b(a))}return e}function At(t,e=!1){const n={connection:t.connection,provider:t.provider,user_id:z.parseUserId(t.user_id).id,isSocial:!!t.is_social};if(!e){let a={};try{a=JSON.parse(t.profileData||"{}")}catch(r){console.error("Error parsing profileData",r)}n.profileData={email:t.email,email_verified:!!t.email_verified,...a}}return n}function ir(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,...s}=a,l={...s,email:a.email||"",email_verified:a.email_verified===1,phone_verified:a.phone_verified!==null?a.phone_verified===1:void 0,is_social:a.is_social===1,app_metadata:JSON.parse(a.app_metadata),user_metadata:JSON.parse(a.user_metadata),address:a.address?JSON.parse(a.address):void 0,identities:[At(a,!0),...r.map(u=>At(u))]};return b(l)}}function q(t,e,n,a){const r=n.split(/ OR /i);if(r.length>1)return e.where(_=>{const m=r.map(d=>{const h=d.trim().match(/^([^:]+):(.+)$/);if(h){const[,p,y]=h;if(!p||!y)return null;const N=y.replace(/^"(.*)"$/,"$1");return _(p.trim(),"=",N.trim())}return null}).filter(Boolean);return _.or(m)});const o=[];let s="",l=!1;for(let _=0;_<n.length;_++){const m=n[_];m==='"'?(l=!l,s+=m):m===" "&&!l?s.trim()&&(o.push(s.trim()),s=""):s+=m}return s.trim()&&o.push(s.trim()),o.map(_=>_.replace(/^([^:]+)=/g,"$1:")).map(_=>{let m=_.startsWith("-"),d=null,h="",p=!1,y;if(_.startsWith("-_exists_:"))d=_.substring(10),p=!0,m=!0;else if(_.startsWith("_exists_:"))d=_.substring(9),p=!0,m=!1;else if(_.includes(":")){const N=m?_.substring(1):_,T=N.indexOf(":");d=N.substring(0,T),h=N.substring(T+1),p=!1,h.startsWith(">=")?(y=">=",h=h.substring(2)):h.startsWith(">")?(y=">",h=h.substring(1)):h.startsWith("<=")?(y="<=",h=h.substring(2)):h.startsWith("<")?(y="<",h=h.substring(1)):y="=",h.startsWith('"')&&h.endsWith('"')&&h.length>1&&(h=h.slice(1,-1))}else d=null,h=_,p=!1;return{key:d,value:h,isNegation:m,isExistsQuery:p,operator:y}}).forEach(({key:_,value:m,isNegation:d,isExistsQuery:h,operator:p})=>{if(_)if(h)d?e=e.where(_,"is",null):e=e.where(_,"is not",null);else if(d)switch(p){case">":e=e.where(_,"<=",m);break;case">=":e=e.where(_,"<",m);break;case"<":e=e.where(_,">=",m);break;case"<=":e=e.where(_,">",m);break;default:e=e.where(_,"!=",m)}else e=e.where(_,p,m);else if(m){const{ref:y}=t.dynamic,N=m.includes("|")?[...a,"user_id"]:a;e=e.where(T=>T.or(N.map(E=>E==="user_id"?T(y(E),"=",m):T(y(E),"like",`%${m}%`))))}}),e}function W(t){return typeof t=="string"?parseInt(t,10):typeof t=="bigint"?Number(t):t}function cr(t){return async(e,n={})=>{const{page:a=0,per_page:r=50,include_totals:o=!1,sort:s,q:l}=n;let u=t.selectFrom("users").where("users.tenant_id","=",e);if(l&&(u=q(t,u,l,["email","name","phone_number"])),s&&s.sort_by){const{ref:N}=t.dynamic;u=u.orderBy(N(s.sort_by),s.sort_order)}const m=await u.offset(a*r).limit(r).selectAll().execute(),d=m.map(N=>N.user_id),h=d.length?await t.selectFrom("users").selectAll().where("users.tenant_id","=",e).where("users.linked_to","in",d).execute():[],p=m.map(N=>{const T=h.filter(E=>E.linked_to===N.user_id);return b({...N,email_verified:N.email_verified===1,phone_verified:N.phone_verified!==null?N.phone_verified===1:void 0,is_social:N.is_social===1,app_metadata:JSON.parse(N.app_metadata),user_metadata:JSON.parse(N.user_metadata),address:N.address?JSON.parse(N.address):void 0,identities:[At(N,!0),...T.map(E=>At(E))]})});if(!o)return{users:p,start:0,limit:0,length:0};const{count:y}=await u.select(N=>N.fn.countAll().as("count")).executeTakeFirstOrThrow();return{users:p,start:a*r,limit:r,length:W(y)}}}function lr(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 ut(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)?ut(o,r,n):typeof o=="boolean"?n[r]=o?1:0:n[r]=o}return n}function sa(t,e){const n={};for(const[a,r]of Object.entries(t)){const o=e.find(s=>a.startsWith(`${s}_`));if(!o)n[a]=r;else{const s=a.slice(o.length+1);n[o]={...n[o],[s]:r}}}return n}function ur(t){return async(e,n,a)=>{const r=ut({...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,address:a.address?JSON.stringify(a.address):void 0,phone_verified:a.phone_verified!==void 0?a.phone_verified?1:0:void 0});return(await t.updateTable("users").set(r).where("users.tenant_id","=",e).where("users.user_id","=",n).execute()).length===1}}function dr(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 _r(t){return{create:sr(t),remove:lr(t),get:ir(t),list:cr(t),update:ur(t),unlink:dr(t)}}const mr="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";let hr=t=>crypto.getRandomValues(new Uint8Array(t)),fr=(t,e,n)=>{let a=(2<<Math.log2(t.length-1))-1,r=-~(1.6*a*e/t.length);return(o=e)=>{let s="";for(;;){let l=n(r),u=r|0;for(;u--;)if(s+=t[l[u]&a]||"",s.length>=o)return s}}},pr=(t,e=21)=>fr(t,e|0,hr),Y=(t=21)=>{let e="",n=crypto.getRandomValues(new Uint8Array(t|=0));for(;t--;)e+=mr[n[t]&63];return e};function gr(t){return async(e,n)=>{const a=new Date().toISOString(),r=z.flowSchema.parse({id:`af_${Y()}`,...n,actions:n.actions||[],created_at:a,updated_at:a});return await t.insertInto("flows").values({...r,tenant_id:e,actions:JSON.stringify(r.actions)}).execute(),r}}function xn(t,e){if(!t)return e;try{return JSON.parse(t)}catch{return e}}function ia(t,e,n={...t}){for(const a in e)a in t&&(n[a]=xn(t[a],e[a]));return n}function wr(t){return async(e,n)=>{const a=await t.selectFrom("flows").selectAll().where("flows.id","=",n).where("tenant_id","=",e).executeTakeFirst();if(!a)return null;const r={...a,actions:xn(a.actions,[])};return z.flowSchema.parse(b(r))}}function yr(t){return async(e,n={})=>{const{page:a=0,per_page:r=50,include_totals:o=!1,q:s}=n;let l=t.selectFrom("flows").where("tenant_id","=",e);s&&(l=q(t,l,s,[]));const m=(await l.offset(a*r).limit(r).selectAll().execute()).map(h=>{const p={...h,actions:xn(h.actions,[])};return z.flowSchema.parse(b(p))});if(!o)return{flows:m,start:0,limit:0,length:0};const{count:d}=await l.select(h=>h.fn.countAll().as("count")).executeTakeFirstOrThrow();return{flows:m,start:a*r,limit:r,length:W(d)}}}function vr(t){return async(e,n,a)=>{const r={...a,updated_at:new Date().toISOString()};a.actions!==void 0&&(r.actions=JSON.stringify(a.actions));const{numUpdatedRows:o}=await t.updateTable("flows").set(r).where("id","=",n).where("tenant_id","=",e).executeTakeFirst();if(o===0n)return null;const s=await t.selectFrom("flows").selectAll().where("id","=",n).where("tenant_id","=",e).executeTakeFirst();return s?z.flowSchema.parse({...s,actions:s.actions?JSON.parse(s.actions):[]}):null}}function Nr(t){return async(e,n)=>{var r;return(((r=(await t.deleteFrom("flows").where("id","=",n).where("tenant_id","=",e).execute())[0])==null?void 0:r.numDeletedRows)??0n)>0n}}function Cr(t){return{create:gr(t),get:wr(t),list:yr(t),update:vr(t),remove:Nr(t)}}function St(t,e,n={...t}){for(const a of e)t[a]!==void 0&&(n[a]=JSON.stringify(t[a]));return n}function ca(t,e,n=t){for(const a of e)t[a]!==void 0&&(n[a]=t[a]?1:0)}function xr(t){const e={};for(const n in t)t[n]!==void 0&&t[n]!==null&&(e[n]=t[n]);return e}function la(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),b(e)}function ua(t){const e={...t};return St(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),xr(e)}function Tr(t){return async e=>{var r,o;const n={id:e.id||Y(),created_at:new Date().toISOString(),updated_at:new Date().toISOString(),...e},a=ua(n);try{await t.insertInto("tenants").values(a).execute()}catch(s){throw(r=s==null?void 0:s.message)!=null&&r.includes("UNIQUE constraint failed")||(o=s==null?void 0:s.message)!=null&&o.includes("duplicate key")||(s==null?void 0:s.code)==="SQLITE_CONSTRAINT"||(s==null?void 0:s.code)==="23505"?new Re(409,{message:`Tenant with ID '${n.id}' already exists`}):s}return n}}function br(t){return async e=>{const n=await t.selectFrom("tenants").where("tenants.id","=",e).selectAll().executeTakeFirst();return n?la(n):null}}function Or(t){return async e=>{let n=t.selectFrom("tenants");const{page:a=0,per_page:r=50,include_totals:o=!1,sort:s,q:l}=e;if(s&&s.sort_by){const{ref:p}=t.dynamic;n=n.orderBy(p(s.sort_by),s.sort_order)}l&&(n=q(t,n,l,["friendly_name"]));const m=(await n.offset(a*r).limit(r).selectAll().execute()).map(la);if(!o)return{tenants:m};const{count:d}=await n.select(p=>p.fn.countAll().as("count")).executeTakeFirstOrThrow(),h=W(d);return{tenants:m,start:a*r,limit:r,length:h}}}function Sr(t){return async(e,n)=>{const r={...ua(n),id:e,updated_at:new Date().toISOString()};await t.updateTable("tenants").set(r).where("id","=",e).execute()}}function kr(t){return async e=>(await t.deleteFrom("tenants").where("tenants.id","=",e).execute()).length===1}function Ir(t){return{create:Tr(t),get:br(t),list:Or(t),update:Sr(t),remove:kr(t)}}function zn(t){return t?JSON.stringify(t):void 0}const Er=256;function $r(t){return async(e,n)=>{var l,u,_;const a=(l=n.user_agent)==null?void 0:l.slice(0,Er),r=n.log_id||Y(),{location_info:o,...s}=n;return await t.insertInto("logs").values({...s,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:zn(n.auth0_client),details:(_=zn(n.details))==null?void 0:_.substring(0,8192),country_code:o==null?void 0:o.country_code,city_name:o==null?void 0:o.city_name,latitude:o==null?void 0:o.latitude,longitude:o==null?void 0:o.longitude,time_zone:o==null?void 0:o.time_zone,continent_code:o==null?void 0:o.continent_code}).execute(),{...n,log_id:r,user_agent:a}}}function Rn(t){if(!t)return"";try{return JSON.parse(t)}catch{return t}}function da(t){return{...t,client_id:t.client_id,client_name:"",auth0_client:Rn(t.auth0_client),details:Rn(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,city_name:t.city_name||"",latitude:t.latitude||"",longitude:t.longitude||"",time_zone:t.time_zone||"",continent_code:t.continent_code||""}:void 0}}function Ar(t){return async(e,n={})=>{const{page:a=0,per_page:r=50,include_totals:o=!1,sort:s,q:l}=n;let u=t.selectFrom("logs").where("logs.tenant_id","=",e);l&&(u=q(t,u,l,["user_id","ip"]));let _=u;if(s&&s.sort_by){const{ref:p}=t.dynamic;_=_.orderBy(p(s.sort_by),s.sort_order)}_=_.offset(a*r).limit(r);const d=(await _.selectAll().execute()).map(da);if(!o)return{logs:d,start:0,limit:0,length:0};const{count:h}=await u.select(p=>p.fn.countAll().as("count")).executeTakeFirstOrThrow();return{logs:d,start:a*r,limit:r,length:W(h)}}}function Pr(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?da(a):null}}function Dr(t){return{create:$r(t),list:Ar(t),get:Pr(t)}}function _a(t){if(t!=null){if(typeof t=="number")return new Date(t).toISOString();if(typeof t=="string"){if(t==="")return;const e=parseFloat(t);return!isNaN(e)&&/^\d+(\.\d+)?$/.test(t)?new Date(e).toISOString():t}}}function zr(t,e=new Date(0).toISOString()){return _a(t)??e}function D(t){if(!t||t==="")return null;const e=new Date(t);return isNaN(e.getTime())?null:e.getTime()}function Tn(){return new Date().toISOString()}function kt(t,e,n=[]){const a={};for(const r of e){const o=r.replace(/_ts$/,"");a[o]=zr(t[r])}for(const r of n){const o=r.replace(/_ts$/,"");a[o]=_a(t[r])}return a}function Rr(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:s,created_at_ts:l,updated_at_ts:u,expires_at_ts:_,idle_expires_at_ts:m,authenticated_at_ts:d,last_interaction_at_ts:h,used_at_ts:p,revoked_at_ts:y,...N}=a,T=kt({created_at_ts:l,updated_at_ts:u,expires_at_ts:_,idle_expires_at_ts:m,authenticated_at_ts:d,last_interaction_at_ts:h,used_at_ts:p,revoked_at_ts:y},["created_at_ts","updated_at_ts","authenticated_at_ts","last_interaction_at_ts"],["expires_at_ts","idle_expires_at_ts","used_at_ts","revoked_at_ts"]);return{...N,...T,device:JSON.parse(o),clients:JSON.parse(s)}}}function Fr(t){return async(e,n)=>{const a=Date.now(),r=Tn(),o={...n,created_at:r,updated_at:r,authenticated_at:r,last_interaction_at:r},{expires_at:s,idle_expires_at:l,used_at:u,revoked_at:_,device:m,clients:d,...h}=n;return await t.insertInto("sessions").values({...h,tenant_id:e,created_at_ts:a,updated_at_ts:a,authenticated_at_ts:a,last_interaction_at_ts:a,expires_at_ts:D(s),idle_expires_at_ts:D(l),used_at_ts:D(u),revoked_at_ts:D(_),device:JSON.stringify(m),clients:JSON.stringify(d)}).execute(),o}}function jr(t){return async(e,n)=>!!(await t.deleteFrom("sessions").where("tenant_id","=",e).where("sessions.id","=",n).execute()).length}function Mr(t){return async(e,n,a)=>{const r={updated_at_ts:Date.now(),device:a.device?JSON.stringify(a.device):void 0,clients:a.clients?JSON.stringify(a.clients):void 0};return a.expires_at!==void 0&&(r.expires_at_ts=D(a.expires_at)),a.idle_expires_at!==void 0&&(r.idle_expires_at_ts=D(a.idle_expires_at)),a.authenticated_at!==void 0&&(r.authenticated_at_ts=D(a.authenticated_at)),a.last_interaction_at!==void 0&&(r.last_interaction_at_ts=D(a.last_interaction_at)),a.used_at!==void 0&&(r.used_at_ts=D(a.used_at)),a.revoked_at!==void 0&&(r.revoked_at_ts=D(a.revoked_at)),a.user_id!==void 0&&(r.user_id=a.user_id),a.login_session_id!==void 0&&(r.login_session_id=a.login_session_id),!!(await t.updateTable("sessions").set(r).where("tenant_id","=",e).where("sessions.id","=",n).execute()).length}}function Lr(t){return async(e,n={})=>{const{page:a=0,per_page:r=50,include_totals:o=!1,sort:s,q:l}=n;let u=t.selectFrom("sessions").where("sessions.tenant_id","=",e);l&&(u=q(t,u,l,["user_id","session_id"]));let _=u;if(s&&s.sort_by){const{ref:y}=t.dynamic;_=_.orderBy(y(s.sort_by),s.sort_order)}_=_.offset(a*r).limit(r);const d=(await _.selectAll().execute()).map(y=>{const{tenant_id:N,device:T,clients:E,created_at_ts:U,updated_at_ts:J,expires_at_ts:Q,idle_expires_at_ts:ne,authenticated_at_ts:X,last_interaction_at_ts:Se,used_at_ts:Pn,revoked_at_ts:tr,...nr}=y,ar=kt({created_at_ts:U,updated_at_ts:J,expires_at_ts:Q,idle_expires_at_ts:ne,authenticated_at_ts:X,last_interaction_at_ts:Se,used_at_ts:Pn,revoked_at_ts:tr},["created_at_ts","updated_at_ts","authenticated_at_ts","last_interaction_at_ts"],["expires_at_ts","idle_expires_at_ts","used_at_ts","revoked_at_ts"]);return{...nr,...ar,device:JSON.parse(T),clients:JSON.parse(E)}});if(!o)return{sessions:d,start:0,limit:0,length:0};const{count:h}=await u.select(y=>y.fn.countAll().as("count")).executeTakeFirstOrThrow(),p=W(h);return{sessions:d,start:a*r,limit:r,length:p}}}function Jr(t){return{create:Fr(t),get:Rr(t),list:Lr(t),remove:jr(t),update:Mr(t)}}function qr(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||Y(),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 Br(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 Kr(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:s,...l})=>({...l,is_current:!!l.is_current}))}}function Ur(t){return{create:Wr(t),update:Br(t),get:qr(t),list:Kr(t)}}function Qr(t){return async(e,n={})=>{const{page:a=0,per_page:r=50,include_totals:o=!1,q:s}=n;let l=t.selectFrom("codes").where("codes.tenant_id","=",e);s&&(l=q(t,l,s,["code","login_id"]));const m=(await l.offset(a*r).limit(r).selectAll().execute()).map(h=>{const{tenant_id:p,...y}=h;return z.codeSchema.parse(b(y))});if(!o)return{codes:m,start:0,limit:0,length:0};const{count:d}=await l.select(h=>h.fn.countAll().as("count")).executeTakeFirstOrThrow();return{codes:m,start:a*r,limit:r,length:W(d)}}}function Vr(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 Gr(t){return async(e,n)=>(await t.deleteFrom("codes").where("codes.tenant_id","=",e).where("codes.code_id","=",n).executeTakeFirst()).numDeletedRows>0}function Yr(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?b(o):null}}function Hr(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 Xr(t){return{create:Vr(t),list:Qr(t),remove:Gr(t),used:Hr(t),get:Yr(t)}}const Zr=17,eo={organization:"org_",connection:"con_",action:"act_",hook:"h_",rule:"rul_",resource_server:"api_",guardian_factor:"gfa_",invite:"inv_"};function It(t){const a=pr("0123456789abcdefghijklmnopqrstuvwxyz",Zr)();return`${eo[t]}${a}`}function to(){return It("organization")}function no(){return It("connection")}function ao(){return It("hook")}function ro(){return It("resource_server")}function oo(){return It("invite")}function so(t){return async(e,n)=>{const{is_system:a,...r}=n,o={id:r.id||no(),...r,is_system:a?!0:void 0,created_at:new Date().toISOString(),updated_at:new Date().toISOString()};return await t.insertInto("connections").values({...o,is_system:a?1:0,options:JSON.stringify(o.options||{}),tenant_id:e}).execute(),o}}function io(t){return async(e,n={})=>{const{page:a=0,per_page:r=50,include_totals:o=!1,q:s}=n;let l=t.selectFrom("connections").where("connections.tenant_id","=",e);s&&(l=q(t,l,s,["user_id","ip"]));const m=(await l.offset(a*r).limit(r).selectAll().execute()).map(h=>{const{is_system:p,...y}=h;return b({...y,is_system:p?!0:void 0,options:JSON.parse(h.options)})});if(!o)return{connections:m,start:0,limit:0,length:0};const{count:d}=await l.select(h=>h.fn.countAll().as("count")).executeTakeFirstOrThrow();return{connections:m,start:a*r,limit:r,length:W(d)}}}function co(t){return async(e,n)=>(await t.deleteFrom("connections").where("connections.tenant_id","=",e).where("connections.id","=",n).executeTakeFirst()).numDeletedRows>0}function lo(t){return async(e,n)=>{const a=await t.selectFrom("connections").where("connections.tenant_id","=",e).where("connections.id","=",n).selectAll().executeTakeFirst();if(!a)return null;const{is_system:r,...o}=a;return b({...o,is_system:r?!0:void 0,options:JSON.parse(a.options)})}}function uo(t){return async(e,n,a)=>{const{is_system:r,...o}=a,s={...o,is_system:r!==void 0?r?1:0:void 0,updated_at:new Date().toISOString()};return await t.updateTable("connections").set({...s,options:s.options?JSON.stringify(s.options):void 0}).where("connections.id","=",n).where("connections.tenant_id","=",e).execute(),!0}}function _o(t){return{create:so(t),get:lo(t),list:io(t),remove:co(t),update:uo(t)}}function mo(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,auth0_conformant:n.auth0_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 ca(a,["global","is_first_party","oidc_conformant","auth0_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||[]),connections:JSON.stringify(n.connections||[]),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 ho(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 b({...o,global:!!a.global,is_first_party:!!a.is_first_party,oidc_conformant:!!a.oidc_conformant,auth0_conformant:!!a.auth0_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),connections:JSON.parse(a.connections||"[]"),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 fo(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(s=>({...s,global:!!s.global,is_first_party:!!s.is_first_party,oidc_conformant:!!s.oidc_conformant,auth0_conformant:!!s.auth0_conformant,sso:!!s.sso,sso_disabled:!!s.sso_disabled,cross_origin_authentication:!!s.cross_origin_authentication,custom_login_page_on:!!s.custom_login_page_on,require_pushed_authorization_requests:!!s.require_pushed_authorization_requests,require_proof_of_possession:!!s.require_proof_of_possession,callbacks:JSON.parse(s.callbacks),allowed_origins:JSON.parse(s.allowed_origins),web_origins:JSON.parse(s.web_origins),client_aliases:JSON.parse(s.client_aliases),allowed_clients:JSON.parse(s.allowed_clients),connections:JSON.parse(s.connections||"[]"),allowed_logout_urls:JSON.parse(s.allowed_logout_urls),session_transfer:JSON.parse(s.session_transfer),oidc_logout:JSON.parse(s.oidc_logout),grant_types:JSON.parse(s.grant_types),jwt_configuration:JSON.parse(s.jwt_configuration),signing_keys:JSON.parse(s.signing_keys),encryption_key:JSON.parse(s.encryption_key),addons:JSON.parse(s.addons),client_metadata:JSON.parse(s.client_metadata),mobile:JSON.parse(s.mobile),native_social_login:JSON.parse(s.native_social_login),refresh_token:JSON.parse(s.refresh_token),default_organization:JSON.parse(s.default_organization),client_authentication_methods:JSON.parse(s.client_authentication_methods),signed_request_object:JSON.parse(s.signed_request_object),token_quota:JSON.parse(s.token_quota)}))}}}function po(t){return async(e,n)=>(await t.deleteFrom("clients").where("clients.tenant_id","=",e).where("clients.client_id","=",n).executeTakeFirst()).numDeletedRows>0}function go(t){return async(e,n,a)=>{const r={...a,updated_at:new Date().toISOString()};return ca(a,["global","is_first_party","oidc_conformant","auth0_conformant","sso","sso_disabled","cross_origin_authentication","custom_login_page_on","require_pushed_authorization_requests","require_proof_of_possession"],r),St(a,["callbacks","allowed_origins","web_origins","client_aliases","allowed_clients","connections","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 wo(t){return{create:mo(t),get:ho(t),list:fo(t),remove:po(t),update:go(t)}}function yo(t){return async(e,n)=>{const a=await t.selectFrom("clients").where("clients.tenant_id","=",e).where("clients.client_id","=",n).select("connections").executeTakeFirst();if(!a)return[];const r=JSON.parse(a.connections||"[]");if(r.length===0)return[];const o=await t.selectFrom("connections").where("connections.tenant_id","=",e).where("connections.id","in",r).selectAll().execute(),s=new Map(o.map(l=>[l.id,b({...l,options:JSON.parse(l.options)})]));return r.map(l=>s.get(l)).filter(l=>l!==void 0)}}function vo(t){return async(e,n,a)=>(await t.updateTable("clients").set({connections:JSON.stringify(a),updated_at:new Date().toISOString()}).where("clients.tenant_id","=",e).where("clients.client_id","=",n).executeTakeFirst()).numUpdatedRows>0}function No(t){return async(e,n)=>{const a=await t.selectFrom("clients").where("clients.tenant_id","=",e).select(["client_id","connections"]).execute(),r=[];for(const o of a)JSON.parse(o.connections||"[]").includes(n)&&r.push(o.client_id);return r}}function Co(t){return async(e,n,a)=>{const r=await t.selectFrom("clients").where("clients.tenant_id","=",e).where("clients.client_id","=",a).select("connections").executeTakeFirst();if(!r)return!1;const o=JSON.parse(r.connections||"[]");return o.includes(n)?!0:(o.push(n),(await t.updateTable("clients").set({connections:JSON.stringify(o),updated_at:new Date().toISOString()}).where("clients.tenant_id","=",e).where("clients.client_id","=",a).executeTakeFirst()).numUpdatedRows>0)}}function xo(t){return async(e,n,a)=>{const r=await t.selectFrom("clients").where("clients.tenant_id","=",e).where("clients.client_id","=",a).select("connections").executeTakeFirst();if(!r)return!1;const o=JSON.parse(r.connections||"[]"),s=o.filter(l=>l!==n);return s.length!==o.length?(await t.updateTable("clients").set({connections:JSON.stringify(s),updated_at:new Date().toISOString()}).where("clients.tenant_id","=",e).where("clients.client_id","=",a).executeTakeFirst()).numUpdatedRows>0:!0}}function To(t){return{listByClient:yo(t),updateByClient:vo(t),listByConnection:No(t),addClientToConnection:Co(t),removeClientFromConnection:xo(t)}}function bo(t){return async(e,n)=>{const a=new Date().toISOString(),r=Y(),{scope:o,authorization_details_types:s,...l}=n,u={id:r,tenant_id:e,...l,scope:o?JSON.stringify(o):"[]",authorization_details_types:s?JSON.stringify(s):"[]",allow_any_organization:l.allow_any_organization!==void 0?l.allow_any_organization?1:0:void 0,is_system:l.is_system!==void 0?l.is_system?1:0:void 0,created_at:a,updated_at:a};return await t.insertInto("client_grants").values(u).execute(),b({id:r,tenant_id:e,...l,scope:o||[],authorization_details_types:s||[],allow_any_organization:l.allow_any_organization??!1,is_system:l.is_system??!1,created_at:a,updated_at:a})}}function Oo(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 b(r)}}function So(t){return async(e,n={})=>{const{page:a=0,per_page:r=50,include_totals:o=!1,q:s,sort:l}=n;let u=t.selectFrom("client_grants").where("client_grants.tenant_id","=",e);if(s){const p=s.trim(),y=p.split(/\s+/),N=y.length===1?y[0]:void 0,T=N?N.match(/^(-)?([a-zA-Z_][a-zA-Z0-9_]*):"?([^"]*)"?$/):null,E=T?T[3]:"",U=/^(>=|>|<=|<)/.test(E||"");if(T&&!U&&E){const J=!!T[1],Q=T[2],{ref:ne}=t.dynamic,X=ne(`client_grants.${Q}`);if(Q==="allow_any_organization"){const Se=E==="true"?1:0;J?u=u.where(X,"!=",Se):u=u.where(X,"=",Se)}else J?u=u.where(X,"!=",E):u=u.where(X,"=",E)}else u=q(t,u,p,[])}let _=u;if(l){const{ref:p}=t.dynamic;_=_.orderBy(p(l.sort_by),l.sort_order)}else _=_.orderBy("client_grants.created_at","desc");_=_.limit(r).offset(a*r);const d=(await _.selectAll().execute()).map(p=>{const y={id:p.id,client_id:p.client_id,audience:p.audience,scope:p.scope?JSON.parse(p.scope):[],organization_usage:p.organization_usage,allow_any_organization:p.allow_any_organization!==void 0?!!p.allow_any_organization:!1,is_system:p.is_system!==void 0?!!p.is_system:!1,subject_type:p.subject_type,authorization_details_types:p.authorization_details_types?JSON.parse(p.authorization_details_types):[],created_at:p.created_at,updated_at:p.updated_at};return b(y)});if(!o)return{client_grants:d,start:0,limit:0,length:0};const{count:h}=await u.select(p=>p.fn.countAll().as("count")).executeTakeFirstOrThrow();return{client_grants:d,start:a*r,limit:r,length:W(h)}}}function ko(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 Io(t){return async(e,n,a)=>{const r=new Date().toISOString(),{scope:o,authorization_details_types:s,...l}=a,u={...l,updated_at:r};return o!==void 0&&(u.scope=JSON.stringify(o)),s!==void 0&&(u.authorization_details_types=JSON.stringify(s)),l.allow_any_organization!==void 0&&(u.allow_any_organization=l.allow_any_organization?1:0),l.is_system!==void 0&&(u.is_system=l.is_system?1:0),((await t.updateTable("client_grants").set(u).where("client_grants.tenant_id","=",e).where("client_grants.id","=",n).executeTakeFirst()).numUpdatedRows??0n)>0n}}function Eo(t){return{create:bo(t),get:Oo(t),list:So(t),remove:ko(t),update:Io(t)}}function $o(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 Re(404,{message:"Tenant not found"});const r=JSON.parse(n.connections||"[]"),o=await t.selectFrom("connections").where("tenant_id","=",n.tenant_id).selectAll().execute(),s=n.client_metadata?JSON.parse(n.client_metadata):{},l=new Map(o.map(m=>{const{is_system:d,...h}=m;return[m.id,z.connectionSchema.parse(b({...h,is_system:d?!0:void 0,options:m.options?JSON.parse(m.options):{}}))]})),u=r.length>0?r.map(m=>l.get(m)).filter(m=>m!=null):Array.from(l.values());return{...n,global:!!n.global,is_first_party:!!n.is_first_party,oidc_conformant:!!n.oidc_conformant,auth0_conformant:!!n.auth0_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:u,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:s,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:b(a)}}}}function Ao(t){return async(e={})=>{const{page:n=0,per_page:a=100,include_totals:r=!1,sort:o,q:s}=e;let l=t.selectFrom("keys").where(p=>p.or([p("revoked_at",">",new Date().toISOString()),p("revoked_at","is",null)]));s&&(l=q(t,l,s,["kid","connection","fingerprint","thumbprint","type"]));let u=l.select(p=>p.fn.count("kid").as("count"));const _=n*a;l=l.limit(a).offset(_),o&&(l=l.orderBy(o.sort_by,o.sort_order));const m=await l.selectAll().execute();if(!r)return{signingKeys:m,start:0,limit:0,length:0};const d=await u.executeTakeFirst(),h=W((d==null?void 0:d.count)??0);return{signingKeys:m,start:_,limit:a,length:h}}}function Po(t){return async e=>{await t.insertInto("keys").values({...e,created_at:new Date().toDateString()}).execute()}}function Do(t){return async(e,n)=>!!(await t.updateTable("keys").set(n).where("kid","=",e).execute()).length}function zo(t){return{create:Po(t),list:Ao(t),update:Do(t)}}function Ro(t){return async(e,n)=>{const a={custom_domain_id:n.custom_domain_id||Y(),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 Fo(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 jo(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 Mo(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 Lo(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 Jo(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 qo(t){return{create:Ro(t),get:Mo(t),getByDomain:Jo(t),list:Fo(t),remove:jo(t),update:Lo(t)}}function Wo(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:s,colors_page_background_end:l,colors_page_background_angle_dev:u,font_url:_,...m}=n;return b({...m,colors:{primary:r,page_background:{type:o,start:s,end:l,angle_deg:u}},font:_?{url:_}:void 0})}}function Bo(t){return async(e,n)=>{var s,l,u,_,m,d,h,p,y,N,T,E,U,J,Q,ne,X,Se;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:(l=(s=n.colors)==null?void 0:s.page_background)==null?void 0:l.type,colors_page_background_start:(_=(u=n.colors)==null?void 0:u.page_background)==null?void 0:_.start,colors_page_background_end:(d=(m=n.colors)==null?void 0:m.page_background)==null?void 0:d.end,colors_page_background_angle_dev:(p=(h=n.colors)==null?void 0:h.page_background)==null?void 0:p.angle_deg,font_url:(y=n.font)==null?void 0:y.url,tenant_id:e}).execute()}catch{await t.updateTable("branding").set({...o,colors_primary:a==null?void 0:a.primary,colors_page_background_type:(T=(N=n.colors)==null?void 0:N.page_background)==null?void 0:T.type,colors_page_background_start:(U=(E=n.colors)==null?void 0:E.page_background)==null?void 0:U.start,colors_page_background_end:(Q=(J=n.colors)==null?void 0:J.page_background)==null?void 0:Q.end,colors_page_background_angle_dev:(X=(ne=n.colors)==null?void 0:ne.page_background)==null?void 0:X.angle_deg,font_url:(Se=n.font)==null?void 0:Se.url}).where("tenant_id","=",e).execute()}}}function Ko(t){return{get:Wo(t),set:Bo(t)}}function Uo(t){return async(e,n={})=>{const{page:a=0,per_page:r=50,include_totals:o=!1,q:s}=n;let l=t.selectFrom("hooks").where("hooks.tenant_id","=",e);s&&(l=q(t,l,s,["url","form_id"]));const m=(await l.offset(a*r).limit(r).selectAll().execute()).map(h=>{const{tenant_id:p,enabled:y,synchronous:N,...T}=h;return b({...T,enabled:!!y,synchronous:!!N})});if(!o)return{hooks:m,start:0,limit:0,length:0};const{count:d}=await l.select(h=>h.fn.countAll().as("count")).executeTakeFirstOrThrow();return{hooks:m,start:a*r,limit:r,length:W(d)}}}function Qo(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?b({...a,enabled:!!a.enabled,synchronous:!!a.synchronous}):null}}function Vo(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||ao(),...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 Ho(t){return{create:Go(t),get:Qo(t),list:Uo(t),update:Yo(t),remove:Vo(t)}}function Xo(t){return async(e,n)=>{const a={themeId:Y(),created_at:new Date().toISOString(),updated_at:new Date().toISOString(),...n},r={...a,tenant_id:e};return await t.insertInto("themes").values(ut(r)).execute(),a}}function Zo(t){return async(e,n)=>(await t.deleteFrom("themes").where("themes.tenant_id","=",e).where("themes.themeId","=",n).executeTakeFirst()).numDeletedRows>0}function es(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 b(sa(r,["widget","colors","borders","fonts","page_background"]))}}function ts(t){return async(e,n,a)=>{const{themeId:r,...o}=a,s=ut({...o,updated_at:new Date().toISOString()});return await t.updateTable("themes").set(s).where("themes.themeId","=",n).where("themes.tenant_id","=",e).execute(),!0}}function ns(t){return{create:Xo(t),get:es(t),remove:Zo(t),update:ts(t)}}function as(t){return async(e,n)=>{const a=await t.selectFrom("login_sessions").where("login_sessions.id","=",n).selectAll().executeTakeFirst();if(!a)return null;const{created_at_ts:r,updated_at_ts:o,expires_at_ts:s,...l}=a,u=kt({created_at_ts:r,updated_at_ts:o,expires_at_ts:s},["created_at_ts","updated_at_ts","expires_at_ts"]);return z.loginSessionSchema.parse(sa(b({...l,...u,state:a.state||z.LoginSessionState.PENDING,state_data:a.state_data,failure_reason:a.failure_reason}),["authParams"]))}}function rs(t){return async(e,n)=>{var l;const a=Tn(),r={id:Y(),...n,authorization_url:(l=n.authorization_url)==null?void 0:l.slice(0,1024),created_at:a,updated_at:a,state:n.state||z.LoginSessionState.PENDING,state_data:n.state_data,failure_reason:n.failure_reason},o=Date.now(),s=ut(r);return delete s.created_at,delete s.updated_at,delete s.expires_at,await t.insertInto("login_sessions").values({...s,tenant_id:e,created_at_ts:o,updated_at_ts:o,expires_at_ts:o+1e3*60*60*24}).execute(),r}}function os(t){return async(e,n,a)=>{const{created_at:r,updated_at:o,expires_at:s,...l}=a,u=ut(l);return delete u.created_at_ts,delete u.updated_at_ts,delete u.expires_at_ts,delete u.id,delete u.tenant_id,(await t.updateTable("login_sessions").set({...u,updated_at_ts:Date.now(),...s?{expires_at_ts:D(s)}:{}}).where("login_sessions.id","=",n).where("login_sessions.tenant_id","=",e).execute()).length===1}}function ss(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 is(t){return{create:rs(t),get:as(t),update:os(t),remove:ss(t)}}function cs(t){return async e=>{const[n]=await t.selectFrom("prompt_settings").where("prompt_settings.tenant_id","=",e).selectAll().execute();return b({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 Fn(t){return b({...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 ls(t){return async(e,n)=>{try{const a=z.promptSettingSchema.parse(n);await t.insertInto("prompt_settings").values({...Fn(a),tenant_id:e}).execute()}catch{await t.updateTable("prompt_settings").set(Fn(n)).where("tenant_id","=",e).execute()}}}function us(t){return{get:cs(t),set:ls(t)}}function ds(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:s,...l}=n;return b({...l,credentials:JSON.parse(r),settings:JSON.parse(o),enabled:!!s})}}function _s(t){return async(e,n)=>{const{credentials:a,settings:r,enabled:o,...s}=n;await t.updateTable("email_providers").set({...s,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 ms(t){return async(e,n)=>{const{credentials:a,settings:r,enabled:o,...s}=n;await t.insertInto("email_providers").values({...s,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 hs(t){return{get:ds(t),create:ms(t),update:_s(t)}}function fs(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();if(!a)return null;const{tenant_id:r,created_at_ts:o,expires_at_ts:s,idle_expires_at_ts:l,last_exchanged_at_ts:u,..._}=a,m=kt({created_at_ts:o,expires_at_ts:s,idle_expires_at_ts:l,last_exchanged_at_ts:u},["created_at_ts"],["expires_at_ts","idle_expires_at_ts","last_exchanged_at_ts"]);return{..._,...m,rotating:!!a.rotating,device:a.device?JSON.parse(a.device):{},resource_servers:a.resource_servers?JSON.parse(a.resource_servers):[]}}}function ps(t){return async(e,n)=>{const a=Tn(),r={...n,created_at:a},{expires_at:o,idle_expires_at:s,last_exchanged_at:l,device:u,resource_servers:_,rotating:m,...d}=n,h=Date.now();return await t.insertInto("refresh_tokens").values({...d,tenant_id:e,rotating:m?1:0,device:JSON.stringify(u),resource_servers:JSON.stringify(_),created_at_ts:h,expires_at_ts:D(o),idle_expires_at_ts:s?D(s):null,last_exchanged_at_ts:l?D(l):null}).execute(),{...n,...r}}}function gs(t){return async(e,n)=>!!(await t.deleteFrom("refresh_tokens").where("tenant_id","=",e).where("refresh_tokens.id","=",n).execute()).length}function ws(t){return async(e,n,a)=>{const{created_at:r,expires_at:o,idle_expires_at:s,last_exchanged_at:l,device:u,resource_servers:_,rotating:m,...d}=a,h={...d,device:u?JSON.stringify(u):void 0,resource_servers:_?JSON.stringify(_):void 0,rotating:m!==void 0?m?1:0:void 0,expires_at_ts:o?D(o):void 0,idle_expires_at_ts:s?D(s):void 0,last_exchanged_at_ts:l?D(l):void 0};return!!(await t.updateTable("refresh_tokens").set(h).where("tenant_id","=",e).where("refresh_tokens.id","=",n).execute()).length}}function ys(t){return async(e,n={})=>{const{page:a=0,per_page:r=50,include_totals:o=!1,sort:s,q:l}=n;let u=t.selectFrom("refresh_tokens").where("refresh_tokens.tenant_id","=",e);l&&(u=q(t,u,l,["token","session_id"]));let _=u;if(s&&s.sort_by){const{ref:y}=t.dynamic;_=_.orderBy(y(s.sort_by),s.sort_order)}_=_.offset(a*r).limit(r);const d=(await _.selectAll().execute()).map(y=>{const{tenant_id:N,created_at_ts:T,expires_at_ts:E,idle_expires_at_ts:U,last_exchanged_at_ts:J,...Q}=y,ne=kt({created_at_ts:T,expires_at_ts:E,idle_expires_at_ts:U,last_exchanged_at_ts:J},["created_at_ts"],["expires_at_ts","idle_expires_at_ts","last_exchanged_at_ts"]);return{...Q,...ne,rotating:!!y.rotating,device:y.device?JSON.parse(y.device):{},resource_servers:y.resource_servers?JSON.parse(y.resource_servers):[]}});if(!o)return{refresh_tokens:d,start:0,limit:0,length:0};const{count:h}=await u.select(y=>y.fn.countAll().as("count")).executeTakeFirstOrThrow(),p=W(h);return{refresh_tokens:d,start:a*r,limit:r,length:p}}}function vs(t){return{create:ps(t),get:fs(t),list:ys(t),remove:gs(t),update:ws(t)}}function Ns(t){return async()=>{const e=Date.now(),n=e-1e3*60*60*24,a=e-1e3*60*60*24*7,r=e-1e3*60*60*24*30*3,o=new Date(n).toISOString(),s=new Date(r).toISOString();console.log("delete codes"),await t.deleteFrom("codes").where("created_at","<",o).limit(1e5).execute(),console.log("delete login_sessions"),await t.deleteFrom("login_sessions").where("created_at_ts","<",a).where("session_id","is",null).limit(1e5).execute(),console.log("delete logs"),await t.deleteFrom("logs").where("date","<",s).limit(1e5).execute(),console.log("delete refresh tokens"),await t.deleteFrom("refresh_tokens").where(u=>u.or([u("expires_at_ts","<",a),u("idle_expires_at_ts","<",a)])).limit(1e4).execute(),console.log("delete sessions");const l=await t.selectFrom("sessions").select("id").where(u=>u.or([u("expires_at_ts","<",a),u("idle_expires_at_ts","<",a)])).where("id","not in",t.selectFrom("refresh_tokens").select("session_id")).limit(1e5).execute();l.length>0&&await t.deleteFrom("sessions").where("id","in",l.map(u=>u.id)).execute(),console.log("cleanup complete")}}function Cs(t){return async(e,n)=>{const a=z.formSchema.parse({id:Y(),...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(),z.formSchema.parse(a)}}function xs(t){return async(e,n={})=>{const{page:a=0,per_page:r=50,include_totals:o=!1,q:s}=n;let l=t.selectFrom("forms").where("tenant_id","=",e);s&&(l=q(t,l,s,[]));const m=(await l.offset(a*r).limit(r).selectAll().execute()).map(h=>{const p={...h};if(typeof p.nodes=="string")try{p.nodes=JSON.parse(p.nodes)}catch{}if(typeof p.start=="string")try{p.start=JSON.parse(p.start)}catch{}if(typeof p.ending=="string")try{p.ending=JSON.parse(p.ending)}catch{}return z.formSchema.parse(b(p))});if(!o)return{forms:m,start:0,limit:0,length:0};const{count:d}=await l.select(h=>h.fn.countAll().as("count")).executeTakeFirstOrThrow();return{forms:m,start:a*r,limit:r,length:W(d)}}}function Ts(t){return async(e,n)=>{const{numDeletedRows:a}=await t.deleteFrom("forms").where("id","=",n).where("tenant_id","=",e).executeTakeFirst();return a>0}}function bs(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 z.formSchema.parse(b(r))}}function Os(t){return async(e,n,a)=>{const r={...a,updated_at:new Date().toISOString()};St(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 Ss(t){return{create:Cs(t),get:bs(t),list:xs(t),remove:Ts(t),update:Os(t)}}function ks(t){return async(e,n)=>{const a=new Date().toISOString(),r={id:ro(),...n,created_at:a,updated_at:a},o=z.resourceServerSchema.parse(r),{verificationKey:s,scopes:l,options:u,skip_consent_for_verifiable_first_party_clients:_,allow_offline_access:m,is_system:d,metadata:h,...p}=o,y={...p,tenant_id:e,scopes:l?JSON.stringify(l):"[]",options:u?JSON.stringify(u):"{}",skip_consent_for_verifiable_first_party_clients:_?1:0,allow_offline_access:m?1:0,is_system:d?1:0,metadata:h?JSON.stringify(h):void 0,verification_key:s,created_at:a,updated_at:a};return await t.insertInto("resource_servers").values(y).execute(),b(o)}}function Is(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:s,options:l,skip_consent_for_verifiable_first_party_clients:u,allow_offline_access:_,is_system:m,metadata:d,...h}=r,p={...h,scopes:s?JSON.parse(s):[],options:l?JSON.parse(l):{},skip_consent_for_verifiable_first_party_clients:!!u,allow_offline_access:!!_,is_system:m?!0:void 0,metadata:d?JSON.parse(d):void 0,verificationKey:o};return b(p)}}function Es(t){return async(e,n={})=>{const{page:a=0,per_page:r=50,include_totals:o=!1,q:s}=n;let l=t.selectFrom("resource_servers").where("resource_servers.tenant_id","=",e);if(s){const h=s.trim(),p=h.split(/\s+/),y=p.length===1?p[0]:void 0,N=y?y.match(/^(-)?(name|identifier):(.*)$/):null,T=N?N[3]:"",E=/^(>=|>|<=|<)/.test(T||"");if(N&&!E){const U=!!N[1],J=N[2]==="name"?"resource_servers.name":"resource_servers.identifier";l=U?l.where(J,"not like",`%${T}%`):l.where(J,"like",`%${T}%`)}else l=q(t,l,h,["resource_servers.name","resource_servers.identifier"])}const m=(await l.offset(a*r).limit(r).selectAll().execute()).map(h=>{const p=h,{verification_key:y,scopes:N,options:T,skip_consent_for_verifiable_first_party_clients:E,allow_offline_access:U,is_system:J,metadata:Q,...ne}=p,X={...ne,scopes:N?JSON.parse(N):[],options:T?JSON.parse(T):{},skip_consent_for_verifiable_first_party_clients:!!E,allow_offline_access:!!U,is_system:J?!0:void 0,metadata:Q?JSON.parse(Q):void 0,verificationKey:y};return b(X)});if(!o)return{resource_servers:m,start:0,limit:0,length:0};const{count:d}=await l.select(h=>h.fn.countAll().as("count")).executeTakeFirstOrThrow();return{resource_servers:m,start:a*r,limit:r,length:W(d)}}}function $s(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 As(t){return async(e,n,a)=>{const{verificationKey:r,scopes:o,options:s,skip_consent_for_verifiable_first_party_clients:l,allow_offline_access:u,is_system:_,metadata:m,...d}=a,h={...d,updated_at:new Date().toISOString()};if(r!==void 0&&(h.verification_key=r),o!==void 0&&(h.scopes=JSON.stringify(o)),s!==void 0){const y=await t.selectFrom("resource_servers").select("options").where("tenant_id","=",e).where("id","=",n).executeTakeFirst(),T={...y!=null&&y.options?JSON.parse(y.options):{},...s};h.options=JSON.stringify(T)}m!==void 0&&(h.metadata=JSON.stringify(m)),l!==void 0&&(h.skip_consent_for_verifiable_first_party_clients=l?1:0),u!==void 0&&(h.allow_offline_access=u?1:0),_!==void 0&&(h.is_system=_?1:0);const p=await t.updateTable("resource_servers").set(h).where("tenant_id","=",e).where("id","=",n).executeTakeFirst();return Number(p.numUpdatedRows)>0}}function Ps(t){return{create:ks(t),get:Is(t),list:Es(t),remove:$s(t),update:As(t)}}function Ds(t){return async(e,n)=>{const a=new Date().toISOString(),r=n.id||Y(),{is_system:o,id:s,metadata:l,...u}=n,_={id:r,...u,tenant_id:e,is_system:o?1:0,metadata:l?JSON.stringify(l):void 0,created_at:a,updated_at:a};return await t.insertInto("roles").values(_).execute(),{id:r,...u,is_system:o?!0:void 0,metadata:l,created_at:a,updated_at:a}}}function zs(t){return async(e,n)=>{const a=await t.selectFrom("roles").selectAll().where("roles.tenant_id","=",e).where("roles.id","=",n).executeTakeFirst();if(!a)return null;const r=a,{is_system:o,tenant_id:s,metadata:l,...u}=r;return{...u,is_system:o?!0:void 0,metadata:l?JSON.parse(l):void 0}}}function Rs(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:s=!1}=n;n.q&&(a=q(t,a,n.q,["name"]));const _=(await a.offset(r*o).limit(o).selectAll().execute()).map(d=>{const h=d,{is_system:p,tenant_id:y,metadata:N,...T}=h;return{...T,is_system:p?!0:void 0,metadata:N?JSON.parse(N):void 0}});if(!s)return{roles:_,start:r*o,limit:o,length:_.length};const{count:m}=await a.select(d=>d.fn.countAll().as("count")).executeTakeFirstOrThrow();return{roles:_,start:r*o,limit:o,length:W(m)}}}function Fs(t){return async(e,n,a)=>{const{is_system:r,metadata:o,...s}=a,l={...s,is_system:r!==void 0?r?1:0:void 0,metadata:o!==void 0?JSON.stringify(o):void 0,updated_at:new Date().toISOString()},u=await t.updateTable("roles").set(l).where("roles.tenant_id","=",e).where("roles.id","=",n).executeTakeFirst();return Number(u.numUpdatedRows)>0}}function js(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 Ms(t){return{create:Ds(t),get:zs(t),list:Rs(t),update:Fs(t),remove:js(t)}}function Ls(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 s={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(s).execute()}catch(l){if(l.code==="SQLITE_CONSTRAINT_PRIMARYKEY"||l.code==="SQLITE_CONSTRAINT_UNIQUE")continue;throw l}}return!0}catch(o){return console.error("Error assigning role permissions:",o),!1}}}function Js(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 qs(t){return async(e,n,a={})=>{const{page:r=0,per_page:o=50,include_totals:s=!1}=a;let l=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 m=(await l.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 s&&await l.select(d=>d.fn.countAll().as("count")).executeTakeFirstOrThrow(),m}}function Ws(t){return{assign:Ls(t),remove:Js(t),list:qs(t)}}function Bs(t){return async(e,n,a,r)=>{const o=new Date().toISOString();try{const s={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(s).execute(),!0}catch(s){return s.code==="SQLITE_CONSTRAINT_PRIMARYKEY"||s.code==="SQLITE_CONSTRAINT_UNIQUE"||s.code==="SQLITE_CONSTRAINT"||s.message&&s.message.includes("UNIQUE constraint failed")||s.message&&s.message.includes("PRIMARY KEY constraint failed")?!0:(console.error("Error creating user permission:",s),!1)}}}function Ks(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 Us(t){return async(e,n,a,r)=>{let o=t.selectFrom("user_permissions").leftJoin("resource_servers",l=>l.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(l=>({resource_server_identifier:l.resource_server_identifier,permission_name:l.permission_name,description:null,resource_server_name:l.resource_server_name||l.resource_server_identifier,user_id:l.user_id,created_at:l.created_at,organization_id:l.organization_id===""?void 0:l.organization_id}))}}function Qs(t){return{create:Bs(t),remove:Ks(t),list:Us(t)}}function Vs(t){const e=Qs(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 Gs(t){return async(e,n,a,r)=>{let o=t.selectFrom("user_roles as ur").innerJoin("roles as r",l=>l.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 Ys(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(s){return s.code==="SQLITE_CONSTRAINT_PRIMARYKEY"||s.code==="SQLITE_CONSTRAINT_UNIQUE"||s.code==="SQLITE_CONSTRAINT"||s.message&&s.message.includes("UNIQUE constraint failed")||s.message&&s.message.includes("PRIMARY KEY constraint failed")?!0:(console.error("Error creating user role:",s),!1)}}}function Hs(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 Xs(t){return{list:Gs(t),create:Ys(t),remove:Hs(t)}}function Zs(t){const e=Xs(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 ei(t){return async(e,n)=>{const a={...n,id:n.id||to(),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 Re(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)=>{let a=await t.selectFrom("organizations").selectAll().where("tenant_id","=",e).where("id","=",n).executeTakeFirst();return a||(a=await t.selectFrom("organizations").selectAll().where("tenant_id","=",e).where("name","=",n).executeTakeFirst()),a?b({...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 Pt(t){return typeof t>"u"||t===void 0}function oe(t){return typeof t=="string"}function bn(t){return typeof t=="number"}function ma(t){return typeof t=="boolean"}function ha(t){return t===null}function fa(t){return typeof t=="bigint"}function je(t){return typeof t=="function"}function Vt(t){return typeof t=="object"&&t!==null}function ni(t){return t[t.length-1]}function c(t){return Object.freeze(t)}function Et(t){return Ne(t)?t:[t]}function Ne(t){return Array.isArray(t)}const K=c({is(t){return t.kind==="IdentifierNode"},create(t){return c({kind:"IdentifierNode",name:t})}}),on=c({is(t){return t.kind==="SchemableIdentifierNode"},create(t){return c({kind:"SchemableIdentifierNode",identifier:K.create(t)})},createWithSchema(t,e){return c({kind:"SchemableIdentifierNode",schema:K.create(t),identifier:K.create(e)})}}),Oe=c({is(t){return t.kind==="AliasNode"},create(t,e){return c({kind:"AliasNode",node:t,alias:e})}}),ve=c({is(t){return t.kind==="TableNode"},create(t){return c({kind:"TableNode",table:on.create(t)})},createWithSchema(t,e){return c({kind:"TableNode",table:on.createWithSchema(t,e)})}});function H(t){return Vt(t)&&je(t.toOperationNode)}function ai(t){return Vt(t)&&"expressionType"in t&&H(t)}function ri(t){return Vt(t)&&"expression"in t&&oe(t.alias)&&H(t)}const se=c({is(t){return t.kind==="SelectModifierNode"},create(t,e){return c({kind:"SelectModifierNode",modifier:t,of:e})},createWithExpression(t){return c({kind:"SelectModifierNode",rawModifier:t})}}),Ce=c({is(t){return t.kind==="AndNode"},create(t,e){return c({kind:"AndNode",left:t,right:e})}}),dt=c({is(t){return t.kind==="OrNode"},create(t,e){return c({kind:"OrNode",left:t,right:e})}}),tn=c({is(t){return t.kind==="OnNode"},create(t){return c({kind:"OnNode",on:t})},cloneWithOperation(t,e,n){return c({...t,on:e==="And"?Ce.create(t.on,n):dt.create(t.on,n)})}}),ht=c({is(t){return t.kind==="JoinNode"},create(t,e){return c({kind:"JoinNode",joinType:t,table:e,on:void 0})},createWithOn(t,e,n){return c({kind:"JoinNode",joinType:t,table:e,on:tn.create(n)})},cloneWithOn(t,e){return c({...t,on:t.on?tn.cloneWithOperation(t.on,"And",e):tn.create(e)})}}),lt=c({is(t){return t.kind==="BinaryOperationNode"},create(t,e,n){return c({kind:"BinaryOperationNode",leftOperand:t,operator:e,rightOperand:n})}}),oi=["=","==","!=","<>",">",">=","<","<=","in","not in","is","is not","like","not like","match","ilike","not ilike","@>","<@","^@","&&","?","?&","?|","!<","!>","<=>","!~","~","~*","!~*","@@","@@@","!!","<->","regexp","is distinct from","is not distinct from"],si=["+","-","*","/","%","^","&","|","#","<<",">>"],pa=["->","->>"],ii=[...oi,...si,"&&","||"],ci=["exists","not exists"],li=["not","-",...ci],ui=[...ii,...pa,...li,"between","between symmetric"],Fe=c({is(t){return t.kind==="OperatorNode"},create(t){return c({kind:"OperatorNode",operator:t})}});function jn(t){return oe(t)&&pa.includes(t)}const On=c({is(t){return t.kind==="ColumnNode"},create(t){return c({kind:"ColumnNode",column:K.create(t)})}}),ga=c({is(t){return t.kind==="SelectAllNode"},create(){return c({kind:"SelectAllNode"})}}),Gt=c({is(t){return t.kind==="ReferenceNode"},create(t,e){return c({kind:"ReferenceNode",table:e,column:t})},createSelectAll(t){return c({kind:"ReferenceNode",table:t,column:ga.create()})}});function wa(t){return Vt(t)&&H(t)&&oe(t.dynamicReference)}const sn=c({is(t){return t.kind==="OrderByItemNode"},create(t,e){return c({kind:"OrderByItemNode",orderBy:t,direction:e})}}),B=c({is(t){return t.kind==="RawNode"},create(t,e){return c({kind:"RawNode",sqlFragments:c(t),parameters:c(e)})},createWithSql(t){return B.create([t],[])},createWithChild(t){return B.create(["",""],[t])},createWithChildren(t){return B.create(new Array(t.length+1).fill(""),t)}});function di(t){return t==="asc"||t==="desc"}function Sn(t){if(t.length===2)return[nn(t[0],t[1])];if(t.length===1){const[e]=t;return Array.isArray(e)?e.map(n=>nn(n)):[nn(e)]}throw new Error(`Invalid number of arguments at order by! expected 1-2, received ${t.length}`)}function nn(t,e){const n=_i(t);if(sn.is(n)){if(e)throw new Error("Cannot specify direction twice!");return n}return sn.create(n,ya(e))}function _i(t){if(Zt(t))return Xt(t);if(wa(t))return t.toOperationNode();const[e,n]=t.split(" ");if(n){if(!di(n))throw new Error(`Invalid order by direction: ${n}`);return sn.create(xe(e),ya(n))}return xe(t)}function ya(t){if(t)return t==="asc"||t==="desc"?B.createWithSql(t):t.toOperationNode()}const Dt=c({is(t){return t.kind==="JSONReferenceNode"},create(t,e){return c({kind:"JSONReferenceNode",reference:t,traversal:e})},cloneWithTraversal(t,e){return c({...t,traversal:e})}}),va=c({is(t){return t.kind==="JSONOperatorChainNode"},create(t){return c({kind:"JSONOperatorChainNode",operator:t,values:c([])})},cloneWithValue(t,e){return c({...t,values:c([...t.values,e])})}}),ft=c({is(t){return t.kind==="JSONPathNode"},create(t){return c({kind:"JSONPathNode",inOperator:t,pathLegs:c([])})},cloneWithLeg(t,e){return c({...t,pathLegs:c([...t.pathLegs,e])})}});function mi(t){return oe(t)?xe(t):t.toOperationNode()}function yt(t){return Ne(t)?t.map(e=>V(e)):[V(t)]}function V(t){return Zt(t)?Xt(t):mi(t)}function hi(t,e){const n=xe(t);if(jn(e))return Dt.create(n,va.create(Fe.create(e)));const a=e.slice(0,-1);if(jn(a))return Dt.create(n,ft.create(Fe.create(a)));throw new Error(`Invalid JSON operator: ${e}`)}function xe(t){const e=".";if(!t.includes(e))return Gt.create(On.create(t));const n=t.split(e).map(Na);if(n.length===3)return pi(n);if(n.length===2)return gi(n);throw new Error(`invalid column reference ${t}`)}function fi(t){const e=" as ";if(t.includes(e)){const[n,a]=t.split(e).map(Na);return Oe.create(xe(n),K.create(a))}else return xe(t)}function pi(t){const[e,n,a]=t;return Gt.create(On.create(a),ve.createWithSchema(e,n))}function gi(t){const[e,n]=t;return Gt.create(On.create(n),ve.create(e))}function Na(t){return t.trim()}const wi=c({is(t){return t.kind==="PrimitiveValueListNode"},create(t){return c({kind:"PrimitiveValueListNode",values:c([...t])})}}),yi=c({is(t){return t.kind==="ValueListNode"},create(t){return c({kind:"ValueListNode",values:c(t)})}}),Te=c({is(t){return t.kind==="ValueNode"},create(t){return c({kind:"ValueNode",value:t})},createImmediate(t){return c({kind:"ValueNode",value:t,immediate:!0})}});function vi(t){return Ne(t)?Ni(t):L(t)}function L(t){return Zt(t)?Xt(t):Te.create(t)}function kn(t){return bn(t)||ma(t)||ha(t)}function In(t){if(!kn(t))throw new Error(`unsafe immediate value ${JSON.stringify(t)}`);return Te.createImmediate(t)}function Ni(t){return t.some(Zt)?yi.create(t.map(e=>L(e))):wi.create(t)}const vt=c({is(t){return t.kind==="ParensNode"},create(t){return c({kind:"ParensNode",node:t})}});function te(t){if(t.length===3)return En(t[0],t[1],t[2]);if(t.length===1)return L(t[0]);throw new Error(`invalid arguments: ${JSON.stringify(t)}`)}function En(t,e,n){return Ci(e)&&Ca(n)?lt.create(V(t),ln(e),Te.createImmediate(n)):lt.create(V(t),ln(e),vi(n))}function Nt(t,e,n){return lt.create(V(t),ln(e),V(n))}function Mn(t,e){return cn(Object.entries(t).filter(([,n])=>!Pt(n)).map(([n,a])=>En(n,Ca(a)?"is":"=",a)),e)}function cn(t,e,n=!0){const a=e==="and"?Ce.create:dt.create;if(t.length===0)return lt.create(Te.createImmediate(1),Fe.create("="),Te.createImmediate(e==="and"?1:0));let r=Ln(t[0]);for(let o=1;o<t.length;++o)r=a(r,Ln(t[o]));return t.length>1&&n?vt.create(r):r}function Ci(t){return t==="is"||t==="is not"}function Ca(t){return ha(t)||ma(t)}function ln(t){if(oe(t)&&ui.includes(t))return Fe.create(t);if(H(t))return t.toOperationNode();throw new Error(`invalid operator ${JSON.stringify(t)}`)}function Ln(t){return H(t)?t.toOperationNode():t}const be=c({is(t){return t.kind==="OrderByNode"},create(t){return c({kind:"OrderByNode",items:c([...t])})},cloneWithItems(t,e){return c({...t,items:c([...t.items,...e])})}}),Jn=c({is(t){return t.kind==="PartitionByNode"},create(t){return c({kind:"PartitionByNode",items:c(t)})},cloneWithItems(t,e){return c({...t,items:c([...t.items,...e])})}}),un=c({is(t){return t.kind==="OverNode"},create(){return c({kind:"OverNode"})},cloneWithOrderByItems(t,e){return c({...t,orderBy:t.orderBy?be.cloneWithItems(t.orderBy,e):be.create(e)})},cloneWithPartitionByItems(t,e){return c({...t,partitionBy:t.partitionBy?Jn.cloneWithItems(t.partitionBy,e):Jn.create(e)})}}),zt=c({is(t){return t.kind==="FromNode"},create(t){return c({kind:"FromNode",froms:c(t)})},cloneWithFroms(t,e){return c({...t,froms:c([...t.froms,...e])})}}),qn=c({is(t){return t.kind==="GroupByNode"},create(t){return c({kind:"GroupByNode",items:c(t)})},cloneWithItems(t,e){return c({...t,items:c([...t.items,...e])})}}),Wn=c({is(t){return t.kind==="HavingNode"},create(t){return c({kind:"HavingNode",having:t})},cloneWithOperation(t,e,n){return c({...t,having:e==="And"?Ce.create(t.having,n):dt.create(t.having,n)})}}),k=c({is(t){return t.kind==="SelectQueryNode"},create(t){return c({kind:"SelectQueryNode",...t&&{with:t}})},createFrom(t,e){return c({kind:"SelectQueryNode",from:zt.create(t),...e&&{with:e}})},cloneWithSelections(t,e){return c({...t,selections:t.selections?c([...t.selections,...e]):c(e)})},cloneWithDistinctOn(t,e){return c({...t,distinctOn:t.distinctOn?c([...t.distinctOn,...e]):c(e)})},cloneWithFrontModifier(t,e){return c({...t,frontModifiers:t.frontModifiers?c([...t.frontModifiers,e]):c([e])})},cloneWithOrderByItems(t,e){return c({...t,orderBy:t.orderBy?be.cloneWithItems(t.orderBy,e):be.create(e)})},cloneWithGroupByItems(t,e){return c({...t,groupBy:t.groupBy?qn.cloneWithItems(t.groupBy,e):qn.create(e)})},cloneWithLimit(t,e){return c({...t,limit:e})},cloneWithOffset(t,e){return c({...t,offset:e})},cloneWithFetch(t,e){return c({...t,fetch:e})},cloneWithHaving(t,e){return c({...t,having:t.having?Wn.cloneWithOperation(t.having,"And",e):Wn.create(e)})},cloneWithSetOperations(t,e){return c({...t,setOperations:t.setOperations?c([...t.setOperations,...e]):c([...e])})},cloneWithoutSelections(t){return c({...t,selections:[]})},cloneWithoutLimit(t){return c({...t,limit:void 0})},cloneWithoutOffset(t){return c({...t,offset:void 0})},cloneWithoutOrderBy(t){return c({...t,orderBy:void 0})},cloneWithoutGroupBy(t){return c({...t,groupBy:void 0})}});function Me(t,e){Object.defineProperties(t.prototype,{then:{enumerable:!1,value:()=>{throw new Error(e)}}})}var Z;const gt=class gt{constructor(e){x(this,Z);O(this,Z,c(e))}on(...e){return new gt({...i(this,Z),joinNode:ht.cloneWithOn(i(this,Z).joinNode,te(e))})}onRef(e,n,a){return new gt({...i(this,Z),joinNode:ht.cloneWithOn(i(this,Z).joinNode,Nt(e,n,a))})}onTrue(){return new gt({...i(this,Z),joinNode:ht.cloneWithOn(i(this,Z).joinNode,B.createWithSql("true"))})}$call(e){return e(this)}toOperationNode(){return i(this,Z).joinNode}};Z=new WeakMap;let Rt=gt;Me(Rt,"don't await JoinBuilder instances. They are never executed directly and are always just a part of a query.");const xi=c({is(t){return t.kind==="PartitionByItemNode"},create(t){return c({kind:"PartitionByItemNode",partitionBy:t})}});function Ti(t){return yt(t).map(xi.create)}var ke;const qt=class qt{constructor(e){x(this,ke);O(this,ke,c(e))}orderBy(e,n){return new qt({overNode:un.cloneWithOrderByItems(i(this,ke).overNode,Sn([e,n]))})}partitionBy(e){return new qt({overNode:un.cloneWithPartitionByItems(i(this,ke).overNode,Ti(e))})}$call(e){return e(this)}toOperationNode(){return i(this,ke).overNode}};ke=new WeakMap;let Ft=qt;Me(Ft,"don't await OverBuilder instances. They are never executed directly and are always just a part of a query.");const pt=c({is(t){return t.kind==="SelectionNode"},create(t){return c({kind:"SelectionNode",selection:t})},createSelectAll(){return c({kind:"SelectionNode",selection:ga.create()})},createSelectAllFromTable(t){return c({kind:"SelectionNode",selection:Gt.createSelectAll(t)})}});function xa(t){return je(t)?xa(t(Ht())):Ne(t)?t.map(e=>Bn(e)):[Bn(t)]}function Bn(t){return oe(t)?pt.create(fi(t)):wa(t)?pt.create(t.toOperationNode()):pt.create(Pa(t))}function Ta(t){return t?Array.isArray(t)?t.map(Kn):[Kn(t)]:[pt.createSelectAll()]}function Kn(t){if(oe(t))return pt.createSelectAllFromTable(ee(t));throw new Error(`invalid value selectAll expression: ${JSON.stringify(t)}`)}const bi=c({is(t){return t.kind==="InsertQueryNode"},create(t,e,n){return c({kind:"InsertQueryNode",into:t,...e&&{with:e},replace:n})},createWithoutInto(){return c({kind:"InsertQueryNode"})},cloneWith(t,e){return c({...t,...e})}}),Oi=c({is(t){return t.kind==="UpdateQueryNode"},create(t,e){return c({kind:"UpdateQueryNode",table:t,...e&&{with:e}})},createWithoutTable(){return c({kind:"UpdateQueryNode"})},cloneWithFromItems(t,e){return c({...t,from:t.from?zt.cloneWithFroms(t.from,e):zt.create(e)})},cloneWithUpdates(t,e){return c({...t,updates:t.updates?c([...t.updates,...e]):e})},cloneWithLimit(t,e){return c({...t,limit:e})}}),Un=c({is(t){return t.kind==="UsingNode"},create(t){return c({kind:"UsingNode",tables:c(t)})},cloneWithTables(t,e){return c({...t,tables:c([...t.tables,...e])})}}),Si=c({is(t){return t.kind==="DeleteQueryNode"},create(t,e){return c({kind:"DeleteQueryNode",from:zt.create(t),...e&&{with:e}})},cloneWithOrderByItems(t,e){return c({...t,orderBy:t.orderBy?be.cloneWithItems(t.orderBy,e):be.create(e)})},cloneWithoutOrderBy(t){return c({...t,orderBy:void 0})},cloneWithLimit(t,e){return c({...t,limit:e})},cloneWithoutLimit(t){return c({...t,limit:void 0})},cloneWithUsing(t,e){return c({...t,using:t.using!==void 0?Un.cloneWithTables(t.using,e):Un.create(e)})}}),Ue=c({is(t){return t.kind==="WhereNode"},create(t){return c({kind:"WhereNode",where:t})},cloneWithOperation(t,e,n){return c({...t,where:e==="And"?Ce.create(t.where,n):dt.create(t.where,n)})}}),Qn=c({is(t){return t.kind==="ReturningNode"},create(t){return c({kind:"ReturningNode",selections:c(t)})},cloneWithSelections(t,e){return c({...t,selections:t.selections?c([...t.selections,...e]):c(e)})}}),ki=c({is(t){return t.kind==="ExplainNode"},create(t,e){return c({kind:"ExplainNode",format:t,options:e})}}),Yt=c({is(t){return t.kind==="WhenNode"},create(t){return c({kind:"WhenNode",condition:t})},cloneWithResult(t,e){return c({...t,result:e})}}),Ii=c({is(t){return t.kind==="MergeQueryNode"},create(t,e){return c({kind:"MergeQueryNode",into:t,...e&&{with:e}})},cloneWithUsing(t,e){return c({...t,using:e})},cloneWithWhen(t,e){return c({...t,whens:t.whens?c([...t.whens,e]):c([e])})},cloneWithThen(t,e){return c({...t,whens:t.whens?c([...t.whens.slice(0,-1),Yt.cloneWithResult(t.whens[t.whens.length-1],e)]):void 0})}}),Vn=c({is(t){return t.kind==="OutputNode"},create(t){return c({kind:"OutputNode",selections:c(t)})},cloneWithSelections(t,e){return c({...t,selections:t.selections?c([...t.selections,...e]):c(e)})}}),A=c({is(t){return k.is(t)||bi.is(t)||Oi.is(t)||Si.is(t)||Ii.is(t)},cloneWithEndModifier(t,e){return c({...t,endModifiers:t.endModifiers?c([...t.endModifiers,e]):c([e])})},cloneWithWhere(t,e){return c({...t,where:t.where?Ue.cloneWithOperation(t.where,"And",e):Ue.create(e)})},cloneWithJoin(t,e){return c({...t,joins:t.joins?c([...t.joins,e]):c([e])})},cloneWithReturning(t,e){return c({...t,returning:t.returning?Qn.cloneWithSelections(t.returning,e):Qn.create(e)})},cloneWithoutReturning(t){return c({...t,returning:void 0})},cloneWithoutWhere(t){return c({...t,where:void 0})},cloneWithExplain(t,e,n){return c({...t,explain:ki.create(e,n==null?void 0:n.toOperationNode())})},cloneWithTop(t,e){return c({...t,top:e})},cloneWithOutput(t,e){return c({...t,output:t.output?Vn.cloneWithSelections(t.output,e):Vn.create(e)})}});class Ei extends Error{constructor(n){super("no result");he(this,"node");this.node=n}}function $i(t){return Object.prototype.hasOwnProperty.call(t,"prototype")}const Ai=c({is(t){return t.kind==="TopNode"},create(t,e){return c({kind:"TopNode",expression:t,modifiers:e})}});function Pi(t,e){if(!bn(t)&&!fa(t))throw new Error(`Invalid top expression: ${t}`);if(!Pt(e)&&!Di(e))throw new Error(`Invalid top modifiers: ${e}`);return Ai.create(t,e)}function Di(t){return t==="percent"||t==="with ties"||t==="percent with ties"}const zi=c({is(t){return t.kind==="LimitNode"},create(t){return c({kind:"LimitNode",limit:t})}}),Gn=["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 Ri(t){let e="";for(let n=0;n<t;++n)e+=Fi();return e}function Fi(){return Gn[~~(Math.random()*Gn.length)]}function ie(){return new ji}var Ye;class ji{constructor(){x(this,Ye)}get queryId(){return i(this,Ye)===void 0&&O(this,Ye,Ri(8)),i(this,Ye)}}Ye=new WeakMap;var Wt;class Mi{constructor(){he(this,"nodeStack",[]);x(this,Wt,c({AliasNode:this.transformAlias.bind(this),ColumnNode:this.transformColumn.bind(this),IdentifierNode:this.transformIdentifier.bind(this),SchemableIdentifierNode:this.transformSchemableIdentifier.bind(this),RawNode:this.transformRaw.bind(this),ReferenceNode:this.transformReference.bind(this),SelectQueryNode:this.transformSelectQuery.bind(this),SelectionNode:this.transformSelection.bind(this),TableNode:this.transformTable.bind(this),FromNode:this.transformFrom.bind(this),SelectAllNode:this.transformSelectAll.bind(this),AndNode:this.transformAnd.bind(this),OrNode:this.transformOr.bind(this),ValueNode:this.transformValue.bind(this),ValueListNode:this.transformValueList.bind(this),PrimitiveValueListNode:this.transformPrimitiveValueList.bind(this),ParensNode:this.transformParens.bind(this),JoinNode:this.transformJoin.bind(this),OperatorNode:this.transformOperator.bind(this),WhereNode:this.transformWhere.bind(this),InsertQueryNode:this.transformInsertQuery.bind(this),DeleteQueryNode:this.transformDeleteQuery.bind(this),ReturningNode:this.transformReturning.bind(this),CreateTableNode:this.transformCreateTable.bind(this),AddColumnNode:this.transformAddColumn.bind(this),ColumnDefinitionNode:this.transformColumnDefinition.bind(this),DropTableNode:this.transformDropTable.bind(this),DataTypeNode:this.transformDataType.bind(this),OrderByNode:this.transformOrderBy.bind(this),OrderByItemNode:this.transformOrderByItem.bind(this),GroupByNode:this.transformGroupBy.bind(this),GroupByItemNode:this.transformGroupByItem.bind(this),UpdateQueryNode:this.transformUpdateQuery.bind(this),ColumnUpdateNode:this.transformColumnUpdate.bind(this),LimitNode:this.transformLimit.bind(this),OffsetNode:this.transformOffset.bind(this),OnConflictNode:this.transformOnConflict.bind(this),OnDuplicateKeyNode:this.transformOnDuplicateKey.bind(this),CreateIndexNode:this.transformCreateIndex.bind(this),DropIndexNode:this.transformDropIndex.bind(this),ListNode:this.transformList.bind(this),PrimaryKeyConstraintNode:this.transformPrimaryKeyConstraint.bind(this),UniqueConstraintNode:this.transformUniqueConstraint.bind(this),ReferencesNode:this.transformReferences.bind(this),CheckConstraintNode:this.transformCheckConstraint.bind(this),WithNode:this.transformWith.bind(this),CommonTableExpressionNode:this.transformCommonTableExpression.bind(this),CommonTableExpressionNameNode:this.transformCommonTableExpressionName.bind(this),HavingNode:this.transformHaving.bind(this),CreateSchemaNode:this.transformCreateSchema.bind(this),DropSchemaNode:this.transformDropSchema.bind(this),AlterTableNode:this.transformAlterTable.bind(this),DropColumnNode:this.transformDropColumn.bind(this),RenameColumnNode:this.transformRenameColumn.bind(this),AlterColumnNode:this.transformAlterColumn.bind(this),ModifyColumnNode:this.transformModifyColumn.bind(this),AddConstraintNode:this.transformAddConstraint.bind(this),DropConstraintNode:this.transformDropConstraint.bind(this),ForeignKeyConstraintNode:this.transformForeignKeyConstraint.bind(this),CreateViewNode:this.transformCreateView.bind(this),DropViewNode:this.transformDropView.bind(this),GeneratedNode:this.transformGenerated.bind(this),DefaultValueNode:this.transformDefaultValue.bind(this),OnNode:this.transformOn.bind(this),ValuesNode:this.transformValues.bind(this),SelectModifierNode:this.transformSelectModifier.bind(this),CreateTypeNode:this.transformCreateType.bind(this),DropTypeNode:this.transformDropType.bind(this),ExplainNode:this.transformExplain.bind(this),DefaultInsertValueNode:this.transformDefaultInsertValue.bind(this),AggregateFunctionNode:this.transformAggregateFunction.bind(this),OverNode:this.transformOver.bind(this),PartitionByNode:this.transformPartitionBy.bind(this),PartitionByItemNode:this.transformPartitionByItem.bind(this),SetOperationNode:this.transformSetOperation.bind(this),BinaryOperationNode:this.transformBinaryOperation.bind(this),UnaryOperationNode:this.transformUnaryOperation.bind(this),UsingNode:this.transformUsing.bind(this),FunctionNode:this.transformFunction.bind(this),CaseNode:this.transformCase.bind(this),WhenNode:this.transformWhen.bind(this),JSONReferenceNode:this.transformJSONReference.bind(this),JSONPathNode:this.transformJSONPath.bind(this),JSONPathLegNode:this.transformJSONPathLeg.bind(this),JSONOperatorChainNode:this.transformJSONOperatorChain.bind(this),TupleNode:this.transformTuple.bind(this),MergeQueryNode:this.transformMergeQuery.bind(this),MatchedNode:this.transformMatched.bind(this),AddIndexNode:this.transformAddIndex.bind(this),CastNode:this.transformCast.bind(this),FetchNode:this.transformFetch.bind(this),TopNode:this.transformTop.bind(this),OutputNode:this.transformOutput.bind(this)}))}transformNode(e){if(!e)return e;this.nodeStack.push(e);const n=this.transformNodeImpl(e);return this.nodeStack.pop(),c(n)}transformNodeImpl(e){return i(this,Wt)[e.kind](e)}transformNodeList(e){return e&&c(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:c([...e.sqlFragments]),parameters:this.transformNodeList(e.parameters)}}transformWhere(e){return{kind:"WhereNode",where:this.transformNode(e.where)}}transformInsertQuery(e){return{kind:"InsertQueryNode",into:this.transformNode(e.into),columns:this.transformNodeList(e.columns),values:this.transformNode(e.values),returning:this.transformNode(e.returning),onConflict:this.transformNode(e.onConflict),onDuplicateKey:this.transformNode(e.onDuplicateKey),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}}Wt=new WeakMap;const Li=c({AlterTableNode:!0,CreateIndexNode:!0,CreateSchemaNode:!0,CreateTableNode:!0,CreateTypeNode:!0,CreateViewNode:!0,DeleteQueryNode:!0,DropIndexNode:!0,DropSchemaNode:!0,DropTableNode:!0,DropTypeNode:!0,DropViewNode:!0,InsertQueryNode:!0,RawNode:!0,SelectQueryNode:!0,UpdateQueryNode:!0,MergeQueryNode:!0}),Ji={json_agg:!0,to_json:!0};var He,Ie,Ee,$,dn,ba,Oa,Sa,We,_n,ka;class qi extends Mi{constructor(n){super();x(this,$);x(this,He);x(this,Ie,new Set);x(this,Ee,new Set);O(this,He,n)}transformNodeImpl(n){if(!v(this,$,ba).call(this,n))return super.transformNodeImpl(n);const a=v(this,$,Sa).call(this,n);for(const s of a)i(this,Ee).add(s);const r=v(this,$,Oa).call(this,n);for(const s of r)i(this,Ie).add(s);const o=super.transformNodeImpl(n);for(const s of r)i(this,Ie).delete(s);for(const s of a)i(this,Ee).delete(s);return o}transformSchemableIdentifier(n){const a=super.transformSchemableIdentifier(n);return a.schema||!i(this,Ie).has(n.identifier.name)?a:{...a,schema:K.create(i(this,He))}}transformReferences(n){const a=super.transformReferences(n);return a.table.table.schema?a:{...a,table:ve.createWithSchema(i(this,He),a.table.table.identifier.name)}}transformAggregateFunction(n){return{...super.transformAggregateFunction({...n,aggregated:[]}),aggregated:v(this,$,dn).call(this,n,"aggregated")}}transformFunction(n){return{...super.transformFunction({...n,arguments:[]}),arguments:v(this,$,dn).call(this,n,"arguments")}}}He=new WeakMap,Ie=new WeakMap,Ee=new WeakMap,$=new WeakSet,dn=function(n,a){return Ji[n.func]?n[a].map(r=>!ve.is(r)||r.table.schema?this.transformNode(r):{...r,table:this.transformIdentifier(r.table.identifier)}):this.transformNodeList(n[a])},ba=function(n){return n.kind in Li},Oa=function(n){const a=new Set;if("name"in n&&n.name&&on.is(n.name)&&v(this,$,_n).call(this,n.name,a),"from"in n&&n.from)for(const r of n.from.froms)v(this,$,We).call(this,r,a);if("into"in n&&n.into&&v(this,$,We).call(this,n.into,a),"table"in n&&n.table&&v(this,$,We).call(this,n.table,a),"joins"in n&&n.joins)for(const r of n.joins)v(this,$,We).call(this,r.table,a);return"using"in n&&n.using&&v(this,$,We).call(this,n.using,a),a},Sa=function(n){const a=new Set;return"with"in n&&n.with&&v(this,$,ka).call(this,n.with,a),a},We=function(n,a){const r=ve.is(n)?n:Oe.is(n)&&ve.is(n.node)?n.node:null;r&&v(this,$,_n).call(this,r.table,a)},_n=function(n,a){const r=n.identifier.name;!i(this,Ie).has(r)&&!i(this,Ee).has(r)&&a.add(r)},ka=function(n,a){for(const r of n.expressions){const o=r.name.table.table.identifier.name;i(this,Ee).has(o)||a.add(o)}};var Ct;class Ia{constructor(e){x(this,Ct);O(this,Ct,new qi(e))}transformQuery(e){return i(this,Ct).transformNode(e.node)}async transformResult(e){return e.result}}Ct=new WeakMap;var xt,Xe,Ze;class Yn{constructor(){x(this,xt);x(this,Xe);x(this,Ze);he(this,"resolve",e=>{i(this,Xe)&&i(this,Xe).call(this,e)});he(this,"reject",e=>{i(this,Ze)&&i(this,Ze).call(this,e)});O(this,xt,new Promise((e,n)=>{O(this,Ze,n),O(this,Xe,e)}))}get promise(){return i(this,xt)}}xt=new WeakMap,Xe=new WeakMap,Ze=new WeakMap;const Hn=new Set;function Wi(t){Hn.has(t)||(Hn.add(t),console.log(t))}const Bi=c([]);var $e,Tt,mn;class Ki{constructor(e=Bi){x(this,Tt);x(this,$e);O(this,$e,e)}get plugins(){return i(this,$e)}transformQuery(e,n){for(const a of i(this,$e)){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 v(this,Tt,mn).call(this,r,n);return Ui(r,o),o})}async*stream(e,n,a){const r=new Yn,o=new Yn;this.provideConnection(async l=>(r.resolve(l),await o.promise)).catch(l=>r.reject(l));const s=await r.promise;try{for await(const l of s.streamQuery(e,n))yield await v(this,Tt,mn).call(this,l,a)}finally{o.resolve()}}}$e=new WeakMap,Tt=new WeakSet,mn=async function(e,n){for(const a of i(this,$e))e=await a.transformResult({result:e,queryId:n});return e};function Ui(t,e){const{numAffectedRows:n}=t;n===void 0&&t.numUpdatedOrDeletedRows===void 0||n!==void 0&&e.numAffectedRows!==void 0||Wi("kysely:warning: outdated driver/plugin detected! QueryResult.numUpdatedOrDeletedRows is deprecated and will be removed in a future release.")}class Qe extends Ki{get adapter(){throw new Error("this query cannot be compiled to SQL")}compileQuery(){throw new Error("this query cannot be compiled to SQL")}provideConnection(){throw new Error("this query cannot be executed")}withConnectionProvider(){throw new Error("this query cannot have a connection provider")}withPlugin(e){return new Qe([...this.plugins,e])}withPlugins(e){return new Qe([...this.plugins,...e])}withPluginAtFront(e){return new Qe([e,...this.plugins])}withoutPlugins(){return new Qe([])}}const Ea=new Qe;function Qi(t,e){return new Rt({joinNode:ht.create(t,Lt(e))})}function Vi(){return new Ft({overNode:un.create()})}function Le(t,e){if(e.length===3)return Yi(t,e[0],e[1],e[2]);if(e.length===2)return Gi(t,e[0],e[1]);throw new Error("not implemented")}function Gi(t,e,n){return n(Qi(t,e)).toOperationNode()}function Yi(t,e,n,a){return ht.createWithOn(t,Lt(e),Nt(n,"=",a))}const Hi=c({is(t){return t.kind==="OffsetNode"},create(t){return c({kind:"OffsetNode",offset:t})}}),Xi=c({is(t){return t.kind==="GroupByItemNode"},create(t){return c({kind:"GroupByItemNode",groupBy:t})}});function Zi(t){return t=je(t)?t(Ht()):t,yt(t).map(Xi.create)}const ec=c({is(t){return t.kind==="SetOperationNode"},create(t,e,n){return c({kind:"SetOperationNode",operator:t,expression:e,all:n})}});function Je(t,e,n){return je(e)&&(e=e(An())),Ne(e)||(e=[e]),e.map(a=>ec.create(t,Xt(a),n))}var _e;const Bt=class Bt{constructor(e){x(this,_e);O(this,_e,e)}get expressionType(){}as(e){return new $n(this,e)}or(...e){return new hn(dt.create(i(this,_e),te(e)))}and(...e){return new fn(Ce.create(i(this,_e),te(e)))}$castTo(){return new Bt(i(this,_e))}$notNull(){return new Bt(i(this,_e))}toOperationNode(){return i(this,_e)}};_e=new WeakMap;let S=Bt;var et,ge;class $n{constructor(e,n){x(this,et);x(this,ge);O(this,et,e),O(this,ge,n)}get expression(){return i(this,et)}get alias(){return i(this,ge)}toOperationNode(){return Oe.create(i(this,et).toOperationNode(),H(i(this,ge))?i(this,ge).toOperationNode():K.create(i(this,ge)))}}et=new WeakMap,ge=new WeakMap;var Ae;const Kt=class Kt{constructor(e){x(this,Ae);O(this,Ae,e)}get expressionType(){}as(e){return new $n(this,e)}or(...e){return new Kt(dt.create(i(this,Ae),te(e)))}$castTo(){return new Kt(i(this,Ae))}toOperationNode(){return vt.create(i(this,Ae))}};Ae=new WeakMap;let hn=Kt;var Pe;const Ut=class Ut{constructor(e){x(this,Pe);O(this,Pe,e)}get expressionType(){}as(e){return new $n(this,e)}and(...e){return new Ut(Ce.create(i(this,Pe),te(e)))}$castTo(){return new Ut(i(this,Pe))}toOperationNode(){return vt.create(i(this,Pe))}};Pe=new WeakMap;let fn=Ut;const tc={is(t){return t.kind==="FetchNode"},create(t,e){return{kind:"FetchNode",rowCount:Te.create(t),modifier:e}}};function nc(t,e){if(!bn(t)&&!fa(t))throw new Error(`Invalid fetch row count: ${t}`);if(!ac(e))throw new Error(`Invalid fetch modifier: ${e}`);return tc.create(t,e)}function ac(t){return t==="only"||t==="with ties"}var f;const C=class C{constructor(e){x(this,f);O(this,f,c(e))}get expressionType(){}get isSelectQueryBuilder(){return!0}where(...e){return new C({...i(this,f),queryNode:A.cloneWithWhere(i(this,f).queryNode,te(e))})}whereRef(e,n,a){return new C({...i(this,f),queryNode:A.cloneWithWhere(i(this,f).queryNode,Nt(e,n,a))})}having(...e){return new C({...i(this,f),queryNode:k.cloneWithHaving(i(this,f).queryNode,te(e))})}havingRef(e,n,a){return new C({...i(this,f),queryNode:k.cloneWithHaving(i(this,f).queryNode,Nt(e,n,a))})}select(e){return new C({...i(this,f),queryNode:k.cloneWithSelections(i(this,f).queryNode,xa(e))})}distinctOn(e){return new C({...i(this,f),queryNode:k.cloneWithDistinctOn(i(this,f).queryNode,yt(e))})}modifyFront(e){return new C({...i(this,f),queryNode:k.cloneWithFrontModifier(i(this,f).queryNode,se.createWithExpression(e.toOperationNode()))})}modifyEnd(e){return new C({...i(this,f),queryNode:A.cloneWithEndModifier(i(this,f).queryNode,se.createWithExpression(e.toOperationNode()))})}distinct(){return new C({...i(this,f),queryNode:k.cloneWithFrontModifier(i(this,f).queryNode,se.create("Distinct"))})}forUpdate(e){return new C({...i(this,f),queryNode:A.cloneWithEndModifier(i(this,f).queryNode,se.create("ForUpdate",e?Et(e).map(ee):void 0))})}forShare(e){return new C({...i(this,f),queryNode:A.cloneWithEndModifier(i(this,f).queryNode,se.create("ForShare",e?Et(e).map(ee):void 0))})}forKeyShare(e){return new C({...i(this,f),queryNode:A.cloneWithEndModifier(i(this,f).queryNode,se.create("ForKeyShare",e?Et(e).map(ee):void 0))})}forNoKeyUpdate(e){return new C({...i(this,f),queryNode:A.cloneWithEndModifier(i(this,f).queryNode,se.create("ForNoKeyUpdate",e?Et(e).map(ee):void 0))})}skipLocked(){return new C({...i(this,f),queryNode:A.cloneWithEndModifier(i(this,f).queryNode,se.create("SkipLocked"))})}noWait(){return new C({...i(this,f),queryNode:A.cloneWithEndModifier(i(this,f).queryNode,se.create("NoWait"))})}selectAll(e){return new C({...i(this,f),queryNode:k.cloneWithSelections(i(this,f).queryNode,Ta(e))})}innerJoin(...e){return new C({...i(this,f),queryNode:A.cloneWithJoin(i(this,f).queryNode,Le("InnerJoin",e))})}leftJoin(...e){return new C({...i(this,f),queryNode:A.cloneWithJoin(i(this,f).queryNode,Le("LeftJoin",e))})}rightJoin(...e){return new C({...i(this,f),queryNode:A.cloneWithJoin(i(this,f).queryNode,Le("RightJoin",e))})}fullJoin(...e){return new C({...i(this,f),queryNode:A.cloneWithJoin(i(this,f).queryNode,Le("FullJoin",e))})}innerJoinLateral(...e){return new C({...i(this,f),queryNode:A.cloneWithJoin(i(this,f).queryNode,Le("LateralInnerJoin",e))})}leftJoinLateral(...e){return new C({...i(this,f),queryNode:A.cloneWithJoin(i(this,f).queryNode,Le("LateralLeftJoin",e))})}orderBy(...e){return new C({...i(this,f),queryNode:k.cloneWithOrderByItems(i(this,f).queryNode,Sn(e))})}groupBy(e){return new C({...i(this,f),queryNode:k.cloneWithGroupByItems(i(this,f).queryNode,Zi(e))})}limit(e){return new C({...i(this,f),queryNode:k.cloneWithLimit(i(this,f).queryNode,zi.create(L(e)))})}offset(e){return new C({...i(this,f),queryNode:k.cloneWithOffset(i(this,f).queryNode,Hi.create(L(e)))})}fetch(e,n="only"){return new C({...i(this,f),queryNode:k.cloneWithFetch(i(this,f).queryNode,nc(e,n))})}top(e,n){return new C({...i(this,f),queryNode:A.cloneWithTop(i(this,f).queryNode,Pi(e,n))})}union(e){return new C({...i(this,f),queryNode:k.cloneWithSetOperations(i(this,f).queryNode,Je("union",e,!1))})}unionAll(e){return new C({...i(this,f),queryNode:k.cloneWithSetOperations(i(this,f).queryNode,Je("union",e,!0))})}intersect(e){return new C({...i(this,f),queryNode:k.cloneWithSetOperations(i(this,f).queryNode,Je("intersect",e,!1))})}intersectAll(e){return new C({...i(this,f),queryNode:k.cloneWithSetOperations(i(this,f).queryNode,Je("intersect",e,!0))})}except(e){return new C({...i(this,f),queryNode:k.cloneWithSetOperations(i(this,f).queryNode,Je("except",e,!1))})}exceptAll(e){return new C({...i(this,f),queryNode:k.cloneWithSetOperations(i(this,f).queryNode,Je("except",e,!0))})}as(e){return new $a(this,e)}clearSelect(){return new C({...i(this,f),queryNode:k.cloneWithoutSelections(i(this,f).queryNode)})}clearWhere(){return new C({...i(this,f),queryNode:A.cloneWithoutWhere(i(this,f).queryNode)})}clearLimit(){return new C({...i(this,f),queryNode:k.cloneWithoutLimit(i(this,f).queryNode)})}clearOffset(){return new C({...i(this,f),queryNode:k.cloneWithoutOffset(i(this,f).queryNode)})}clearOrderBy(){return new C({...i(this,f),queryNode:k.cloneWithoutOrderBy(i(this,f).queryNode)})}clearGroupBy(){return new C({...i(this,f),queryNode:k.cloneWithoutGroupBy(i(this,f).queryNode)})}$call(e){return e(this)}$if(e,n){return e?n(this):new C({...i(this,f)})}$castTo(){return new C(i(this,f))}$narrowType(){return new C(i(this,f))}$assertType(){return new C(i(this,f))}$asTuple(){return new S(this.toOperationNode())}withPlugin(e){return new C({...i(this,f),executor:i(this,f).executor.withPlugin(e)})}toOperationNode(){return i(this,f).executor.transformQuery(i(this,f).queryNode,i(this,f).queryId)}compile(){return i(this,f).executor.compileQuery(this.toOperationNode(),i(this,f).queryId)}async execute(){const e=this.compile();return(await i(this,f).executor.executeQuery(e,i(this,f).queryId)).rows}async executeTakeFirst(){const[e]=await this.execute();return e}async executeTakeFirstOrThrow(e=Ei){const n=await this.executeTakeFirst();if(n===void 0)throw $i(e)?new e(this.toOperationNode()):e(this.toOperationNode());return n}async*stream(e=100){const n=this.compile(),a=i(this,f).executor.stream(n,e,i(this,f).queryId);for await(const r of a)yield*r.rows}async explain(e,n){return await new C({...i(this,f),queryNode:A.cloneWithExplain(i(this,f).queryNode,e,n)}).execute()}};f=new WeakMap;let jt=C;Me(jt,"don't await SelectQueryBuilder instances directly. To execute the query you need to call `execute` or `executeTakeFirst`.");function rc(t){return new jt(t)}var tt,nt;class $a{constructor(e,n){x(this,tt);x(this,nt);O(this,tt,e),O(this,nt,n)}get expression(){return i(this,tt)}get alias(){return i(this,nt)}get isAliasedSelectQueryBuilder(){return!0}toOperationNode(){return Oe.create(i(this,tt).toOperationNode(),K.create(i(this,nt)))}}tt=new WeakMap,nt=new WeakMap;Me($a,"don't await AliasedSelectQueryBuilder instances directly. AliasedSelectQueryBuilder should never be executed directly since it's always a part of another query.");const pe=c({is(t){return t.kind==="AggregateFunctionNode"},create(t,e=[]){return c({kind:"AggregateFunctionNode",func:t,aggregated:e})},cloneWithDistinct(t){return c({...t,distinct:!0})},cloneWithOrderBy(t,e){return c({...t,orderBy:t.orderBy?be.cloneWithItems(t.orderBy,e):be.create(e)})},cloneWithFilter(t,e){return c({...t,filter:t.filter?Ue.cloneWithOperation(t.filter,"And",e):Ue.create(e)})},cloneWithOrFilter(t,e){return c({...t,filter:t.filter?Ue.cloneWithOperation(t.filter,"Or",e):Ue.create(e)})},cloneWithOver(t,e){return c({...t,over:e})}}),Xn=c({is(t){return t.kind==="FunctionNode"},create(t,e){return c({kind:"FunctionNode",func:t,arguments:e})}});var P;const de=class de{constructor(e){x(this,P);O(this,P,c(e))}get expressionType(){}as(e){return new oc(this,e)}distinct(){return new de({...i(this,P),aggregateFunctionNode:pe.cloneWithDistinct(i(this,P).aggregateFunctionNode)})}orderBy(e,n){return new de({...i(this,P),aggregateFunctionNode:pe.cloneWithOrderBy(i(this,P).aggregateFunctionNode,Sn([e,n]))})}filterWhere(...e){return new de({...i(this,P),aggregateFunctionNode:pe.cloneWithFilter(i(this,P).aggregateFunctionNode,te(e))})}filterWhereRef(e,n,a){return new de({...i(this,P),aggregateFunctionNode:pe.cloneWithFilter(i(this,P).aggregateFunctionNode,Nt(e,n,a))})}over(e){const n=Vi();return new de({...i(this,P),aggregateFunctionNode:pe.cloneWithOver(i(this,P).aggregateFunctionNode,(e?e(n):n).toOperationNode())})}$call(e){return e(this)}$castTo(){return new de(i(this,P))}$notNull(){return new de(i(this,P))}toOperationNode(){return i(this,P).aggregateFunctionNode}};P=new WeakMap;let Ve=de;Me(Ve,"don't await AggregateFunctionBuilder instances. They are never executed directly and are always just a part of a query.");var at,rt;class oc{constructor(e,n){x(this,at);x(this,rt);O(this,at,e),O(this,rt,n)}get expression(){return i(this,at)}get alias(){return i(this,rt)}toOperationNode(){return Oe.create(i(this,at).toOperationNode(),K.create(i(this,rt)))}}at=new WeakMap,rt=new WeakMap;function sc(){const t=(n,a)=>new S(Xn.create(n,yt(a??[]))),e=(n,a)=>new Ve({aggregateFunctionNode:pe.create(n,a?yt(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 Ve({aggregateFunctionNode:pe.create("count",Ta(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 Ve({aggregateFunctionNode:pe.create("json_agg",[oe(n)?ee(n):n.toOperationNode()])})},toJson(n){return new S(Xn.create("to_json",[oe(n)?ee(n):n.toOperationNode()]))}})}const ic=c({is(t){return t.kind==="UnaryOperationNode"},create(t,e){return c({kind:"UnaryOperationNode",operator:t,operand:e})}});function cc(t,e){return ic.create(Fe.create(t),V(e))}const me=c({is(t){return t.kind==="CaseNode"},create(t){return c({kind:"CaseNode",value:t})},cloneWithWhen(t,e){return c({...t,when:c(t.when?[...t.when,e]:[e])})},cloneWithThen(t,e){return c({...t,when:t.when?c([...t.when.slice(0,-1),Yt.cloneWithResult(t.when[t.when.length-1],e)]):void 0})},cloneWith(t,e){return c({...t,...e})}});var ot;class lc{constructor(e){x(this,ot);O(this,ot,c(e))}when(...e){return new Aa({...i(this,ot),node:me.cloneWithWhen(i(this,ot).node,Yt.create(te(e)))})}}ot=new WeakMap;var st;class Aa{constructor(e){x(this,st);O(this,st,c(e))}then(e){return new uc({...i(this,st),node:me.cloneWithThen(i(this,st).node,kn(e)?In(e):L(e))})}}st=new WeakMap;var ae;class uc{constructor(e){x(this,ae);O(this,ae,c(e))}when(...e){return new Aa({...i(this,ae),node:me.cloneWithWhen(i(this,ae).node,Yt.create(te(e)))})}else(e){return new dc({...i(this,ae),node:me.cloneWith(i(this,ae).node,{else:kn(e)?In(e):L(e)})})}end(){return new S(me.cloneWith(i(this,ae).node,{isStatement:!1}))}endCase(){return new S(me.cloneWith(i(this,ae).node,{isStatement:!0}))}}ae=new WeakMap;var it;class dc{constructor(e){x(this,it);O(this,it,c(e))}end(){return new S(me.cloneWith(i(this,it).node,{isStatement:!1}))}endCase(){return new S(me.cloneWith(i(this,it).node,{isStatement:!0}))}}it=new WeakMap;const Zn=c({is(t){return t.kind==="JSONPathLegNode"},create(t,e){return c({kind:"JSONPathLegNode",type:t,value:e})}});var re,bt,gn;class pn{constructor(e){x(this,bt);x(this,re);O(this,re,e)}at(e){return v(this,bt,gn).call(this,"ArrayLocation",e)}key(e){return v(this,bt,gn).call(this,"Member",e)}}re=new WeakMap,bt=new WeakSet,gn=function(e,n){return Dt.is(i(this,re))?new Mt(Dt.cloneWithTraversal(i(this,re),ft.is(i(this,re).traversal)?ft.cloneWithLeg(i(this,re).traversal,Zn.create(e,n)):va.cloneWithValue(i(this,re).traversal,Te.createImmediate(n)))):new Mt(ft.cloneWithLeg(i(this,re),Zn.create(e,n)))};var De;const Qt=class Qt extends pn{constructor(n){super(n);x(this,De);O(this,De,n)}get expressionType(){}as(n){return new _c(this,n)}$castTo(){return new Qt(i(this,De))}$notNull(){return new Qt(i(this,De))}toOperationNode(){return i(this,De)}};De=new WeakMap;let Mt=Qt;var ct,we;class _c{constructor(e,n){x(this,ct);x(this,we);O(this,ct,e),O(this,we,n)}get expression(){return i(this,ct)}get alias(){return i(this,we)}toOperationNode(){return Oe.create(i(this,ct).toOperationNode(),H(i(this,we))?i(this,we).toOperationNode():K.create(i(this,we)))}}ct=new WeakMap,we=new WeakMap;const ea=c({is(t){return t.kind==="TupleNode"},create(t){return c({kind:"TupleNode",values:c(t)})}}),mc=["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"],hc=[/^varchar\(\d+\)$/,/^char\(\d+\)$/,/^decimal\(\d+, \d+\)$/,/^numeric\(\d+, \d+\)$/,/^binary\(\d+\)$/,/^datetime\(\d+\)$/,/^time\(\d+\)$/,/^timetz\(\d+\)$/,/^timestamp\(\d+\)$/,/^timestamptz\(\d+\)$/,/^varbinary\(\d+\)$/],fc=c({is(t){return t.kind==="DataTypeNode"},create(t){return c({kind:"DataTypeNode",dataType:t})}});function pc(t){return!!(mc.includes(t)||hc.some(e=>e.test(t)))}function gc(t){if(H(t))return t.toOperationNode();if(pc(t))return fc.create(t);throw new Error(`invalid column data type ${JSON.stringify(t)}`)}const wc=c({is(t){return t.kind==="CastNode"},create(t,e){return c({kind:"CastNode",expression:t,dataType:e})}});function An(t=Ea){function e(r,o,s){return new S(En(r,o,s))}function n(r,o){return new S(cc(r,o))}const a=Object.assign(e,{fn:void 0,eb:void 0,selectFrom(r){return rc({queryId:ie(),executor:t,queryNode:k.createFrom(yc(r))})},case(r){return new lc({node:me.create(Pt(r)?void 0:V(r))})},ref(r,o){return Pt(o)?new S(xe(r)):new pn(hi(r,o))},jsonPath(){return new pn(ft.create())},table(r){return new S(ee(r))},val(r){return new S(L(r))},refTuple(...r){return new S(ea.create(r.map(V)))},tuple(...r){return new S(ea.create(r.map(L)))},lit(r){return new S(In(r))},unary:n,not(r){return n("not",r)},exists(r){return n("exists",r)},neg(r){return n("-",r)},between(r,o,s){return new S(lt.create(V(r),Fe.create("between"),Ce.create(L(o),L(s))))},betweenSymmetric(r,o,s){return new S(lt.create(V(r),Fe.create("between symmetric"),Ce.create(L(o),L(s))))},and(r){return Ne(r)?new S(cn(r,"and")):new S(Mn(r,"and"))},or(r){return Ne(r)?new S(cn(r,"or")):new S(Mn(r,"or"))},parens(...r){const o=te(r);return vt.is(o)?new S(o):new S(vt.create(o))},cast(r,o){return new S(wc.create(V(r),gc(o)))},withSchema(r){return An(t.withPluginAtFront(new Ia(r)))}});return a.fn=sc(),a.eb=a,a}function Ht(t){return An()}function Xt(t){if(H(t))return t.toOperationNode();if(je(t))return t(Ht()).toOperationNode();throw new Error(`invalid expression: ${JSON.stringify(t)}`)}function Pa(t){if(H(t))return t.toOperationNode();if(je(t))return t(Ht()).toOperationNode();throw new Error(`invalid aliased expression: ${JSON.stringify(t)}`)}function Zt(t){return ai(t)||ri(t)||je(t)}function yc(t){return Ne(t)?t.map(e=>Lt(e)):[Lt(t)]}function Lt(t){return oe(t)?vc(t):Pa(t)}function vc(t){const e=" as ";if(t.includes(e)){const[n,a]=t.split(e).map(Da);return Oe.create(ee(n),K.create(a))}else return ee(t)}function ee(t){const e=".";if(t.includes(e)){const[n,a]=t.split(e).map(Da);return ve.createWithSchema(n,a)}else return ve.create(t)}function Da(t){return t.trim()}var M,G,$t,wn,yn;const wt=class wt{constructor(e){x(this,G);x(this,M);O(this,M,c(e))}get expressionType(){}get isRawBuilder(){return!0}as(e){return new za(this,e)}$castTo(){return new wt({...i(this,M)})}$notNull(){return new wt(i(this,M))}withPlugin(e){return new wt({...i(this,M),plugins:i(this,M).plugins!==void 0?c([...i(this,M).plugins,e]):c([e])})}toOperationNode(){return v(this,G,wn).call(this,v(this,G,$t).call(this))}compile(e){return v(this,G,yn).call(this,v(this,G,$t).call(this,e))}async execute(e){const n=v(this,G,$t).call(this,e);return n.executeQuery(v(this,G,yn).call(this,n),i(this,M).queryId)}};M=new WeakMap,G=new WeakSet,$t=function(e){const n=e!==void 0?e.getExecutor():Ea;return i(this,M).plugins!==void 0?n.withPlugins(i(this,M).plugins):n},wn=function(e){return e.transformQuery(i(this,M).rawNode,i(this,M).queryId)},yn=function(e){return e.compileQuery(v(this,G,wn).call(this,e),i(this,M).queryId)};let Jt=wt;function fe(t){return new Jt(t)}Me(Jt,"don't await RawBuilder instances directly. To execute the query you need to call `execute`");var ze,ye;class za{constructor(e,n){x(this,ze);x(this,ye);O(this,ze,e),O(this,ye,n)}get expression(){return i(this,ze)}get alias(){return i(this,ye)}get rawBuilder(){return i(this,ze)}toOperationNode(){return Oe.create(i(this,ze).toOperationNode(),H(i(this,ye))?i(this,ye).toOperationNode():K.create(i(this,ye)))}}ze=new WeakMap,ye=new WeakMap;Me(za,"don't await AliasedRawBuilder instances directly. AliasedRawBuilder should never be executed directly since it's always a part of another query.");const w=Object.assign((t,...e)=>fe({queryId:ie(),rawNode:B.create(t,(e==null?void 0:e.map(ta))??[])}),{ref(t){return fe({queryId:ie(),rawNode:B.createWithChild(xe(t))})},val(t){return fe({queryId:ie(),rawNode:B.createWithChild(L(t))})},value(t){return this.val(t)},table(t){return fe({queryId:ie(),rawNode:B.createWithChild(ee(t))})},id(...t){const e=new Array(t.length+1).fill(".");return e[0]="",e[e.length-1]="",fe({queryId:ie(),rawNode:B.create(e,t.map(K.create))})},lit(t){return fe({queryId:ie(),rawNode:B.createWithChild(Te.createImmediate(t))})},literal(t){return this.lit(t)},raw(t){return fe({queryId:ie(),rawNode:B.createWithSql(t)})},join(t,e=w`, `){const n=new Array(2*t.length-1),a=e.toOperationNode();for(let r=0;r<t.length;++r)n[2*r]=ta(t[r]),r!==t.length-1&&(n[2*r+1]=a);return fe({queryId:ie(),rawNode:B.createWithChildren(n)})}});function ta(t){return H(t)?t.toOperationNode():L(t)}class Nc{transformQuery(e){return e.node}async transformResult(e){return e.result}}const Cc="kysely_migration",na="kysely_migration_lock",xc=!1,an="migration_lock",Tc=c({__noMigrations__:!0});var I,g,_t,ce,le,Be,Fa,ue,ja,Ma,La,Ja,qa,vn,Ke,Nn,Wa,Ba,Ka,Cn,Ua,Qa,Va,Ga,Ya,mt;class Ra{constructor(e){x(this,g);x(this,I);O(this,I,c(e))}async getMigrations(){const e=await v(this,g,Ke).call(this,i(this,g,le))?await i(this,I).db.withPlugin(i(this,g,ue)).selectFrom(i(this,g,le)).select(["name","timestamp"]).$narrowType().execute():[];return(await v(this,g,Cn).call(this)).map(({name:a,...r})=>{const o=e.find(s=>s.name===a);return{name:a,migration:r,executedAt:o?new Date(o.timestamp):void 0}})}async migrateToLatest(){return v(this,g,_t).call(this,()=>({direction:"Up",step:1/0}))}async migrateTo(e){return v(this,g,_t).call(this,({migrations:n,executedMigrations:a,pendingMigrations:r})=>{if(e===Tc)return{direction:"Down",step:1/0};if(!n.find(l=>l.name===e))throw new Error(`migration "${e}" doesn't exist`);const o=a.indexOf(e),s=r.findIndex(l=>l.name===e);if(o!==-1)return{direction:"Down",step:a.length-o-1};if(s!==-1)return{direction:"Up",step:s+1};throw new Error(`migration "${e}" isn't executed or pending`)})}async migrateUp(){return v(this,g,_t).call(this,()=>({direction:"Up",step:1}))}async migrateDown(){return v(this,g,_t).call(this,()=>({direction:"Down",step:1}))}}I=new WeakMap,g=new WeakSet,_t=async function(e){try{return await v(this,g,ja).call(this),await v(this,g,Wa).call(this,e)}catch(n){return n instanceof rn?n.resultSet:{error:n}}},ce=function(){return i(this,I).migrationTableSchema},le=function(){return i(this,I).migrationTableName??Cc},Be=function(){return i(this,I).migrationLockTableName??na},Fa=function(){return i(this,I).allowUnorderedMigrations??xc},ue=function(){return i(this,g,ce)?new Ia(i(this,g,ce)):new Nc},ja=async function(){await v(this,g,Ma).call(this),await v(this,g,La).call(this),await v(this,g,Ja).call(this),await v(this,g,qa).call(this)},Ma=async function(){if(i(this,g,ce)&&!await v(this,g,vn).call(this))try{await v(this,g,mt).call(this,i(this,I).db.schema.createSchema(i(this,g,ce)))}catch(e){if(!await v(this,g,vn).call(this))throw e}},La=async function(){if(!await v(this,g,Ke).call(this,i(this,g,le)))try{i(this,g,ce)&&await v(this,g,mt).call(this,i(this,I).db.schema.createSchema(i(this,g,ce))),await v(this,g,mt).call(this,i(this,I).db.schema.withPlugin(i(this,g,ue)).createTable(i(this,g,le)).addColumn("name","varchar(255)",e=>e.notNull().primaryKey()).addColumn("timestamp","varchar(255)",e=>e.notNull()))}catch(e){if(!await v(this,g,Ke).call(this,i(this,g,le)))throw e}},Ja=async function(){if(!await v(this,g,Ke).call(this,i(this,g,Be)))try{await v(this,g,mt).call(this,i(this,I).db.schema.withPlugin(i(this,g,ue)).createTable(i(this,g,Be)).addColumn("id","varchar(255)",e=>e.notNull().primaryKey()).addColumn("is_locked","integer",e=>e.notNull().defaultTo(0)))}catch(e){if(!await v(this,g,Ke).call(this,i(this,g,Be)))throw e}},qa=async function(){if(!await v(this,g,Nn).call(this))try{await i(this,I).db.withPlugin(i(this,g,ue)).insertInto(i(this,g,Be)).values({id:an,is_locked:0}).execute()}catch(e){if(!await v(this,g,Nn).call(this))throw e}},vn=async function(){return(await i(this,I).db.introspection.getSchemas()).some(n=>n.name===i(this,g,ce))},Ke=async function(e){const n=i(this,g,ce);return(await i(this,I).db.introspection.getTables({withInternalKyselyTables:!0})).some(r=>r.name===e&&(!n||r.schema===n))},Nn=async function(){return!!await i(this,I).db.withPlugin(i(this,g,ue)).selectFrom(i(this,g,Be)).where("id","=",an).select("id").executeTakeFirst()},Wa=async function(e){const n=i(this,I).db.getExecutor().adapter,a=c({lockTable:i(this,I).migrationLockTableName??na,lockRowId:an,lockTableSchema:i(this,I).migrationTableSchema}),r=async o=>{try{await n.acquireMigrationLock(o,a);const s=await v(this,g,Ba).call(this,o);if(s.migrations.length===0)return{results:[]};const{direction:l,step:u}=e(s);return u<=0?{results:[]}:l==="Down"?await v(this,g,Ga).call(this,o,s,u):l==="Up"?await v(this,g,Ya).call(this,o,s,u):{results:[]}}finally{await n.releaseMigrationLock(o,a)}};return n.supportsTransactionalDdl?i(this,I).db.transaction().execute(r):i(this,I).db.connection().execute(r)},Ba=async function(e){const n=await v(this,g,Cn).call(this),a=await v(this,g,Ua).call(this,e);v(this,g,Qa).call(this,n,a),i(this,g,Fa)||v(this,g,Va).call(this,n,a);const r=v(this,g,Ka).call(this,n,a);return c({migrations:n,executedMigrations:a,lastMigration:ni(a),pendingMigrations:r})},Ka=function(e,n){return e.filter(a=>!n.includes(a.name))},Cn=async function(){const e=await i(this,I).provider.getMigrations();return Object.keys(e).sort().map(n=>({...e[n],name:n}))},Ua=async function(e){const n=await e.withPlugin(i(this,g,ue)).selectFrom(i(this,g,le)).select(["name","timestamp"]).$narrowType().execute(),a=i(this,I).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)},Qa=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`)},Va=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.`)},Ga=async function(e,n,a){const r=n.executedMigrations.slice().reverse().slice(0,a).map(s=>n.migrations.find(l=>l.name===s)),o=r.map(s=>({migrationName:s.name,direction:"Down",status:"NotExecuted"}));for(let s=0;s<o.length;++s){const l=r[s];try{l.down&&(await l.down(e),await e.withPlugin(i(this,g,ue)).deleteFrom(i(this,g,le)).where("name","=",l.name).execute(),o[s]={migrationName:l.name,direction:"Down",status:"Success"})}catch(u){throw o[s]={migrationName:l.name,direction:"Down",status:"Error"},new rn({error:u,results:o})}}return{results:o}},Ya=async function(e,n,a){const o=n.pendingMigrations.slice(0,a).map(s=>({migrationName:s.name,direction:"Up",status:"NotExecuted"}));for(let s=0;s<o.length;s++){const l=n.pendingMigrations[s];try{await l.up(e),await e.withPlugin(i(this,g,ue)).insertInto(i(this,g,le)).values({name:l.name,timestamp:new Date().toISOString()}).execute(),o[s]={migrationName:l.name,direction:"Up",status:"Success"}}catch(u){throw o[s]={migrationName:l.name,direction:"Up",status:"Error"},new rn({error:u,results:o})}}return{results:o}},mt=async function(e){i(this,I).db.getExecutor().adapter.supportsCreateIfNotExists&&(e=e.ifNotExists()),await e.execute()};var Ot;class rn extends Error{constructor(n){super();x(this,Ot);O(this,Ot,n)}get resultSet(){return i(this,Ot)}}Ot=new WeakMap;function bc(t){return async(e,n)=>{let a=t.selectFrom("organizations").selectAll().where("tenant_id","=",e);if(n!=null&&n.q&&(a=a.where(m=>m.or([m("name","like",`%${n.q}%`),m("display_name","like",`%${n.q}%`)]))),n!=null&&n.sort){const m=n.sort.sort_order==="asc"?"asc":"desc",d=n.sort.sort_by;["name","display_name","created_at"].includes(d)?a=a.orderBy(d,m):a=a.orderBy("created_at","desc")}else a=a.orderBy("created_at","desc");if((n==null?void 0:n.from)!==void 0){const m=parseInt(n.from,10);isNaN(m)||(a=a.offset(m))}else if((n==null?void 0:n.page)!==void 0){const m=(n==null?void 0:n.per_page)||(n==null?void 0:n.take)||10,d=n.page*m;a=a.offset(d)}const r=(n==null?void 0:n.take)||(n==null?void 0:n.per_page)||10;a=a.limit(r);const o=await a.execute();let s=o.length;if(n!=null&&n.include_totals){let m=t.selectFrom("organizations").select(w`count(*)`.as("count")).where("tenant_id","=",e);n!=null&&n.q&&(m=m.where(h=>h.or([h("name","like",`%${n.q}%`),h("display_name","like",`%${n.q}%`)])));const d=await m.executeTakeFirst();s=Number((d==null?void 0:d.count)||0)}const l=o.map(m=>b({...m,branding:m.branding?JSON.parse(m.branding):{},metadata:m.metadata?JSON.parse(m.metadata):{},enabled_connections:m.enabled_connections?JSON.parse(m.enabled_connections):[],token_quota:m.token_quota?JSON.parse(m.token_quota):{}})),u=(n==null?void 0:n.take)||(n==null?void 0:n.per_page)||10,_=n!=null&&n.from?parseInt(n.from,10):n!=null&&n.page?n.page*u:0;return{organizations:l,start:isNaN(_)?0:_,limit:u,length:l.length,total:s}}}function Oc(t){return async(e,n)=>(await t.deleteFrom("organizations").where("tenant_id","=",e).where("id","=",n).execute()).length>0}function Sc(t){return async(e,n,a)=>{const{branding:r,metadata:o,enabled_connections:s,token_quota:l,...u}=a,_={...u,updated_at:new Date().toISOString()};return St(a,["branding","metadata","enabled_connections","token_quota"],_),(await t.updateTable("organizations").set(_).where("tenant_id","=",e).where("id","=",n).execute()).length>0}}function kc(t){return{create:ei(t),get:ti(t),list:bc(t),remove:Oc(t),update:Sc(t)}}function Ic(t){return async(e,n)=>{const a={id:Y(),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 Re(409,{message:"User is already a member of this organization"}):r}return{...a}}}function Ec(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 $c(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 s=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:","");s=s.where("user_id","=",d)}else if(n.q.startsWith("organization_id:")){const d=n.q.replace("organization_id:","");s=s.where("organization_id","=",d)}}s=s.orderBy("created_at","desc"),r>0&&(s=s.limit(r).offset(o));const l=await s.execute();let u=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:","");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)}}const _=await u.executeTakeFirst();return{userOrganizations:l.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((_==null?void 0:_.count)||0)}}}function Ac(t){return async(e,n,a)=>{const r=(a==null?void 0:a.page)||0,o=(a==null?void 0:a.per_page)||50,s=r*o;let l=t.selectFrom("user_organizations").innerJoin("organizations",d=>d.onRef("organizations.id","=","user_organizations.organization_id").on("organizations.tenant_id","=",e)).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);l=l.orderBy("user_organizations.created_at","desc"),o>0&&(l=l.limit(o).offset(s));const u=await l.execute(),_=await t.selectFrom("user_organizations").innerJoin("organizations",d=>d.onRef("organizations.id","=","user_organizations.organization_id").on("organizations.tenant_id","=",e)).select(t.fn.count("user_organizations.id").as("count")).where("user_organizations.tenant_id","=",e).where("user_organizations.user_id","=",n).executeTakeFirst();return{organizations:u.map(d=>({id:d.id,name:d.name,display_name:d.display_name,branding:d.branding?JSON.parse(d.branding):void 0,metadata:d.metadata?JSON.parse(d.metadata):{},enabled_connections:d.enabled_connections?JSON.parse(d.enabled_connections):[],token_quota:d.token_quota?JSON.parse(d.token_quota):void 0,created_at:d.created_at,updated_at:d.updated_at,joined_at:d.joined_at})),start:s,limit:o,length:Number((_==null?void 0:_.count)||0)}}}function Pc(t){return async(e,n)=>(await t.deleteFrom("user_organizations").where("id","=",n).where("tenant_id","=",e).execute()).length>0}function Dc(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 zc(t){return{create:Ic(t),get:Ec(t),list:$c(t),listUserOrganizations:Ac(t),remove:Pc(t),update:Dc(t)}}function Rc(t){return async(e,n)=>{const a=oo(),r=new Date().toISOString(),o=n.ttl_sec||604800,s=new Date(Date.now()+o*1e3).toISOString(),l=St({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:s,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(l).execute()}catch(u){throw u.code==="SQLITE_CONSTRAINT_UNIQUE"||u.message.includes("AlreadyExists")?new Re(409,{message:"Invite already exists"}):u}return{id:a,organization_id:l.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:s,app_metadata:n.app_metadata||{},user_metadata:n.user_metadata||{},roles:n.roles||[],ticket_id:l.ticket_id||void 0,ttl_sec:o,send_invitation_email:n.send_invitation_email??!0}}}function Fc(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=ia(a,{inviter:{},invitee:{},app_metadata:{},user_metadata:{},roles:[]});return b({...r,send_invitation_email:a.send_invitation_email===1})}}function jc(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 s=(n.page-1)*(n.per_page||10);a=a.offset(s)}const o=(await a.execute()).map(s=>{const l=ia(s,{inviter:{},invitee:{},app_metadata:{},user_metadata:{},roles:[]});return b({...l,send_invitation_email:s.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 Mc(t){return async(e,n)=>(await t.deleteFrom("invites").where("tenant_id","=",e).where("id","=",n).executeTakeFirst()).numDeletedRows>0n}function Lc(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 Jc(t){return{create:Rc(t),get:Fc(t),list:jc(t),remove:Mc(t),update:Lc(t)}}const aa=["s","seacft","seccft","sepft","sertft","ssa"],qc=["pwd_leak","signup_pwd_leak","reset_pwd_leak"];function ra(t){return`${t.slice(0,4)}-${t.slice(4,6)}-${t.slice(6,8)}`}function oa(t){return t.toISOString().split("T")[0]}function Wc(t){return{async getDaily(e,n={}){const{from:a,to:r}=n,o=new Date,s=new Date(o);s.setDate(s.getDate()-30);const l=a?ra(a):oa(s),u=r?ra(r):oa(o),_=w`DATE(logs.date)`;return(await t.selectFrom("logs").where("tenant_id","=",e).where(_,">=",l).where(_,"<=",u).select(d=>[_.as("date"),d.fn.sum(d.case().when("type","in",aa).then(1).else(0).end()).as("logins"),d.fn.sum(d.case().when("type","=","ss").then(1).else(0).end()).as("signups"),d.fn.sum(d.case().when("type","in",qc).then(1).else(0).end()).as("leaked_passwords"),d.fn.min("date").as("first_event"),d.fn.max("date").as("last_event")]).groupBy(_).orderBy("date","asc").execute()).map(d=>({date:d.date,logins:Number(d.logins)||0,signups:Number(d.signups)||0,leaked_passwords:Number(d.leaked_passwords)||0,created_at:d.first_event||new Date().toISOString(),updated_at:d.last_event||new Date().toISOString()}))},async getActiveUsers(e){const n=new Date;return n.setDate(n.getDate()-30),(await t.selectFrom("logs").where("tenant_id","=",e).where("date",">=",n.toISOString()).where("type","in",aa).where("user_id","is not",null).select(r=>r.fn.count("user_id").distinct().as("count")).executeTakeFirstOrThrow()).count||0}}}class Ha{constructor(e){he(this,"migrations");this.migrations=e}async getMigrations(){return this.migrations}}async function Bc(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 Kc(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 Uc=Object.freeze(Object.defineProperty({__proto__:null,down:Kc,up:Bc},Symbol.toStringTag,{value:"Module"}));async function Qc(t){await t.schema.alterTable("tenants").addColumn("support_url","varchar(255)").execute()}async function Vc(t){await t.schema.alterTable("tenants").dropColumn("support_url").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){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 el(t){await t.schema.dropTable("logs").execute()}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){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 sl(t){await t.schema.dropTable("sessions").execute(),await t.schema.dropTable("tickets").execute(),await t.schema.dropTable("otps").execute()}const il=Object.freeze(Object.defineProperty({__proto__:null,down:sl,up:ol},Symbol.toStringTag,{value:"Module"}));async function cl(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 ll(t){await t.schema.dropTable("passwords").execute(),await t.schema.dropTable("codes").execute()}const ul=Object.freeze(Object.defineProperty({__proto__:null,down:ll,up:cl},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("passwords").addColumn("password","varchar(255)",e=>e.notNull()).execute()}async function fl(t){await t.schema.alterTable("passwords").dropColumn("password").execute()}const pl=Object.freeze(Object.defineProperty({__proto__:null,down:fl,up:hl},Symbol.toStringTag,{value:"Module"}));async function gl(t){}async function wl(t){}const yl=Object.freeze(Object.defineProperty({__proto__:null,down:wl,up:gl},Symbol.toStringTag,{value:"Module"}));async function vl(t){}async function Nl(t){}const Cl=Object.freeze(Object.defineProperty({__proto__:null,down:Nl,up:vl},Symbol.toStringTag,{value:"Module"}));async function xl(t){}async function Tl(t){}const bl=Object.freeze(Object.defineProperty({__proto__:null,down:Tl,up:xl},Symbol.toStringTag,{value:"Module"}));async function Ol(t){await t.schema.createIndex("users_email_index").on("users").column("email").execute()}async function Sl(t){await t.schema.dropIndex("users_email_index").execute()}const kl=Object.freeze(Object.defineProperty({__proto__:null,down:Sl,up:Ol},Symbol.toStringTag,{value:"Module"}));async function Il(t){await t.schema.alterTable("users").addColumn("profileData","varchar(2048)").execute()}async function El(t){await t.schema.alterTable("users").dropColumn("profileData").execute()}const $l=Object.freeze(Object.defineProperty({__proto__:null,down:El,up:Il},Symbol.toStringTag,{value:"Module"}));async function Al(t){await t.schema.createIndex("users_linked_to_index").on("users").column("linked_to").execute()}async function Pl(t){await t.schema.dropIndex("users_linked_to_index")}const Dl=Object.freeze(Object.defineProperty({__proto__:null,down:Pl,up:Al},Symbol.toStringTag,{value:"Module"}));async function zl(t){await t.schema.alterTable("users").addColumn("locale","varchar(255)").execute()}async function Rl(t){await t.schema.alterTable("users").dropColumn("locale").execute()}const Fl=Object.freeze(Object.defineProperty({__proto__:null,down:Rl,up:zl},Symbol.toStringTag,{value:"Module"}));async function jl(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 Ml(t){await t.schema.dropTable("keys").execute()}const Ll=Object.freeze(Object.defineProperty({__proto__:null,down:Ml,up:jl},Symbol.toStringTag,{value:"Module"}));async function Jl(t){}async function ql(t){}const Wl=Object.freeze(Object.defineProperty({__proto__:null,down:ql,up:Jl},Symbol.toStringTag,{value:"Module"}));async function Bl(t){}async function Kl(t){}const Ul=Object.freeze(Object.defineProperty({__proto__:null,down:Kl,up:Bl},Symbol.toStringTag,{value:"Module"}));async function Ql(t){await t.schema.alterTable("otps").addColumn("audience","varchar(255)").execute()}async function Vl(t){await t.schema.alterTable("otps").dropColumn("audience").execute()}const Gl=Object.freeze(Object.defineProperty({__proto__:null,down:Vl,up:Ql},Symbol.toStringTag,{value:"Module"}));async function Yl(t){}async function Hl(t){}const Xl=Object.freeze(Object.defineProperty({__proto__:null,down:Hl,up:Yl},Symbol.toStringTag,{value:"Module"}));async function Zl(t){await t.schema.alterTable("logs").dropColumn("category").execute()}async function eu(t){await t.schema.alterTable("logs").addColumn("category","varchar(255)",e=>e.notNull()).execute()}const tu=Object.freeze(Object.defineProperty({__proto__:null,down:eu,up:Zl},Symbol.toStringTag,{value:"Module"}));async function nu(t){await t.schema.alterTable("users").dropColumn("tags").execute()}async function au(t){await t.schema.alterTable("users").addColumn("tags","varchar(255)").execute()}const ru=Object.freeze(Object.defineProperty({__proto__:null,down:au,up:nu},Symbol.toStringTag,{value:"Module"}));async function ou(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 su(t){await t.schema.dropIndex("logs_user_id"),await t.schema.dropIndex("logs_tenant_id"),await t.schema.dropIndex("logs_date")}const iu=Object.freeze(Object.defineProperty({__proto__:null,down:su,up:ou},Symbol.toStringTag,{value:"Module"}));async function cu(t){await t.schema.alterTable("logs").dropColumn("details").execute(),await t.schema.alterTable("logs").addColumn("details","varchar(8192)").execute()}async function lu(t){await t.schema.alterTable("logs").dropColumn("details").execute(),await t.schema.alterTable("logs").addColumn("details","varchar(2048)").execute()}const uu=Object.freeze(Object.defineProperty({__proto__:null,down:lu,up:cu},Symbol.toStringTag,{value:"Module"}));async function du(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 _u(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 mu=Object.freeze(Object.defineProperty({__proto__:null,down:_u,up:du},Symbol.toStringTag,{value:"Module"}));async function hu(t){await t.schema.createIndex("users_name_index").on("users").column("name").execute()}async function fu(t){await t.schema.dropIndex("users_name_index").execute()}const pu=Object.freeze(Object.defineProperty({__proto__:null,down:fu,up:hu},Symbol.toStringTag,{value:"Module"}));async function gu(t){}async function wu(t){await t.schema.alterTable("users").dropConstraint("unique_email_provider").execute()}const yu=Object.freeze(Object.defineProperty({__proto__:null,down:wu,up:gu},Symbol.toStringTag,{value:"Module"}));async function vu(t){await t.schema.alterTable("otps").dropColumn("state").execute(),await t.schema.alterTable("otps").addColumn("state","varchar(8192)").execute()}async function Nu(t){await t.schema.alterTable("otps").dropColumn("state").execute(),await t.schema.alterTable("otps").addColumn("state","varchar(1024)").execute()}const Cu=Object.freeze(Object.defineProperty({__proto__:null,down:Nu,up:vu},Symbol.toStringTag,{value:"Module"}));async function xu(t){await t.schema.alterTable("tickets").dropColumn("state").execute(),await t.schema.alterTable("tickets").addColumn("state","varchar(8192)").execute()}async function Tu(t){await t.schema.alterTable("tickets").dropColumn("state").execute(),await t.schema.alterTable("tickets").addColumn("state","varchar(1024)").execute()}const bu=Object.freeze(Object.defineProperty({__proto__:null,down:Tu,up:xu},Symbol.toStringTag,{value:"Module"}));async function Ou(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 Su(t){await t.schema.dropTable("branding").execute()}const ku=Object.freeze(Object.defineProperty({__proto__:null,down:Su,up:Ou},Symbol.toStringTag,{value:"Module"}));async function Iu(t){}async function Eu(t){}const $u=Object.freeze(Object.defineProperty({__proto__:null,down:Eu,up:Iu},Symbol.toStringTag,{value:"Module"}));async function Au(t){}async function Pu(t){}const Du=Object.freeze(Object.defineProperty({__proto__:null,down:Pu,up:Au},Symbol.toStringTag,{value:"Module"}));async function zu(t){}async function Ru(t){}const Fu=Object.freeze(Object.defineProperty({__proto__:null,down:Ru,up:zu},Symbol.toStringTag,{value:"Module"}));async function ju(t){}async function Mu(t){}const Lu=Object.freeze(Object.defineProperty({__proto__:null,down:Mu,up:ju},Symbol.toStringTag,{value:"Module"}));async function Ju(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 qu(t){await t.schema.dropTable("authentication_codes").execute()}const Wu=Object.freeze(Object.defineProperty({__proto__:null,down:qu,up:Ju},Symbol.toStringTag,{value:"Module"}));async function Bu(t){}async function Ku(t){}const Uu=Object.freeze(Object.defineProperty({__proto__:null,down:Ku,up:Bu},Symbol.toStringTag,{value:"Module"}));async function Qu(t){await t.schema.alterTable("otps").addColumn("ip","varchar(64)").execute()}async function Vu(t){await t.schema.alterTable("otps").dropColumn("ip").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("logs").dropColumn("user_agent").execute(),await t.schema.alterTable("logs").addColumn("user_agent","varchar(1024)").execute()}async function Hu(t){await t.schema.alterTable("logs").dropColumn("user_agent").execute(),await t.schema.alterTable("logs").addColumn("user_agent","varchar(255)").execute()}const Xu=Object.freeze(Object.defineProperty({__proto__:null,down:Hu,up:Yu},Symbol.toStringTag,{value:"Module"}));async function Zu(t){}async function ed(t){}const td=Object.freeze(Object.defineProperty({__proto__:null,down:ed,up:Zu},Symbol.toStringTag,{value:"Module"}));async function nd(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 ad(t){await t.schema.dropTable("hooks").execute()}const rd=Object.freeze(Object.defineProperty({__proto__:null,down:ad,up:nd},Symbol.toStringTag,{value:"Module"}));async function od(t){}async function sd(t){}const id=Object.freeze(Object.defineProperty({__proto__:null,down:sd,up:od},Symbol.toStringTag,{value:"Module"}));async function cd(t){}async function ld(t){}const ud=Object.freeze(Object.defineProperty({__proto__:null,down:ld,up:cd},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 _d(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 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.alterTable("logins").addColumn("auth0Client","varchar(256)").execute()}async function wd(t){await t.schema.alterTable("logins").dropColumn("auth0Client").execute()}const yd=Object.freeze(Object.defineProperty({__proto__:null,down:wd,up:gd},Symbol.toStringTag,{value:"Module"}));async function vd(t){await t.schema.alterTable("logins").dropColumn("authParams_state").execute(),await t.schema.alterTable("logins").addColumn("authParams_state","varchar(8192)").execute()}async function Nd(t){await t.schema.alterTable("logins").dropColumn("authParams_state").execute(),await t.schema.alterTable("logins").addColumn("authParams_state","varchar(511)").execute()}const Cd=Object.freeze(Object.defineProperty({__proto__:null,down:Nd,up:vd},Symbol.toStringTag,{value:"Module"}));async function xd(t){}async function Td(t){}const bd=Object.freeze(Object.defineProperty({__proto__:null,down:Td,up:xd},Symbol.toStringTag,{value:"Module"}));async function Od(t){}async function Sd(t){}const kd=Object.freeze(Object.defineProperty({__proto__:null,down:Sd,up:Od},Symbol.toStringTag,{value:"Module"}));async function Id(t){await t.schema.alterTable("logins").addColumn("authParams_nonce","varchar(255)").execute()}async function Ed(t){await t.schema.alterTable("logins").dropColumn("nonce").execute()}const $d=Object.freeze(Object.defineProperty({__proto__:null,down:Ed,up:Id},Symbol.toStringTag,{value:"Module"}));async function Ad(t){}async function Pd(t){}const Dd=Object.freeze(Object.defineProperty({__proto__:null,down:Pd,up:Ad},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.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 Md(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 Ld=Object.freeze(Object.defineProperty({__proto__:null,down:Md,up:jd},Symbol.toStringTag,{value:"Module"}));async function Jd(t){await t.schema.dropTable("otps").execute(),await t.schema.dropTable("authentication_codes").execute()}async function qd(t){await t.schema.alterTable("keys").addColumn("private_key","varchar(2048)").addColumn("public_key","varchar(2048)").execute(),await t.schema.createTable("otps").addColumn("tenant_id","varchar(255)",e=>e.references("tenants.id").onDelete("cascade").notNull()).addColumn("id","varchar(255)",e=>e.primaryKey()).addColumn("client_id","varchar(255)",e=>e.references("applications.id").onDelete("cascade").notNull()).addColumn("code","varchar(255)",e=>e.notNull()).addColumn("email","varchar(255)",e=>e.notNull()).addColumn("user_id","varchar(255)").addColumn("send","varchar(255)").addColumn("nonce","varchar(255)").addColumn("state","varchar(1024)").addColumn("scope","varchar(1024)").addColumn("response_type","varchar(256)").addColumn("response_mode","varchar(256)").addColumn("redirect_uri","varchar(1024)").addColumn("created_at","varchar(255)",e=>e.notNull()).addColumn("expires_at","varchar(255)",e=>e.notNull()).addColumn("used_at","varchar(255)").execute(),await t.schema.createTable("authentication_codes").addColumn("tenant_id","varchar(255)",e=>e.references("tenants.id").onDelete("cascade").notNull()).addColumn("code","varchar(255)",e=>e.primaryKey()).addColumn("client_id","varchar(255)",e=>e.references("applications.id").onDelete("cascade").notNull()).addColumn("user_id","varchar(255)",e=>e.notNull()).addColumn("nonce","varchar(255)").addColumn("state","varchar(8192)").addColumn("scope","varchar(1024)").addColumn("response_type","varchar(256)").addColumn("response_mode","varchar(256)").addColumn("redirect_uri","varchar(1024)").addColumn("created_at","varchar(255)",e=>e.notNull()).addColumn("expires_at","varchar(255)",e=>e.notNull()).addColumn("used_at","varchar(255)").execute()}const Wd=Object.freeze(Object.defineProperty({__proto__:null,down:qd,up:Jd},Symbol.toStringTag,{value:"Module"}));async function Bd(t){await t.schema.createIndex("IDX_logs_tenant_date_type_user").on("logs").columns(["tenant_id","date","type","user_id"]).execute()}async function Kd(t){await t.schema.dropIndex("IDX_logs_tenant_date_type_user").on("logs").execute()}const Ud=Object.freeze(Object.defineProperty({__proto__:null,down:Kd,up:Bd},Symbol.toStringTag,{value:"Module"}));async function Qd(t){}async function Vd(t){}const Gd=Object.freeze(Object.defineProperty({__proto__:null,down:Vd,up:Qd},Symbol.toStringTag,{value:"Module"}));async function Yd(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 Hd(t){await t.schema.dropTable("prompt_settings").execute()}const Xd=Object.freeze(Object.defineProperty({__proto__:null,down:Hd,up:Yd},Symbol.toStringTag,{value:"Module"}));async function Zd(t){}async function e_(t){}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){}async function s_(t){}const i_=Object.freeze(Object.defineProperty({__proto__:null,down:s_,up:o_},Symbol.toStringTag,{value:"Module"}));async function c_(t){await t.schema.alterTable("logins").addColumn("authParams_ui_locales","varchar(32)").execute()}async function l_(t){await t.schema.alterTable("logins").dropColumn("authParams_ui_locales").execute()}const u_=Object.freeze(Object.defineProperty({__proto__:null,down:l_,up:c_},Symbol.toStringTag,{value:"Module"}));async function d_(t){await t.schema.alterTable("logins").addColumn("authParams_prompt","varchar(16)").execute()}async function __(t){await t.schema.alterTable("logins").dropColumn("authParams_prompt").execute()}const m_=Object.freeze(Object.defineProperty({__proto__:null,down:__,up:d_},Symbol.toStringTag,{value:"Module"}));async function h_(t){}async function f_(t){}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").addColumn("authParams_act_as","varchar(255)").execute()}async function w_(t){await t.schema.alterTable("logins").dropColumn("authParam_act_as").execute()}const y_=Object.freeze(Object.defineProperty({__proto__:null,down:w_,up:g_},Symbol.toStringTag,{value:"Module"}));async function v_(t){await t.schema.alterTable("codes").addColumn("code_verifier","varchar(128)").execute()}async function N_(t){await t.schema.alterTable("codes").dropColumn("code_verifier").execute()}const C_=Object.freeze(Object.defineProperty({__proto__:null,down:N_,up:v_},Symbol.toStringTag,{value:"Module"}));async function x_(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 T_(t){await t.schema.dropTable("email_providers").execute()}const b_=Object.freeze(Object.defineProperty({__proto__:null,down:T_,up:x_},Symbol.toStringTag,{value:"Module"}));async function O_(t){await t.schema.dropTable("tickets").execute()}async function S_(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 k_=Object.freeze(Object.defineProperty({__proto__:null,down:S_,up:O_},Symbol.toStringTag,{value:"Module"}));async function I_(t){}async function E_(t){await t.schema.alterTable("logins").dropColumn("ip").dropColumn("useragent").execute()}const $_=Object.freeze(Object.defineProperty({__proto__:null,down:E_,up:I_},Symbol.toStringTag,{value:"Module"}));async function A_(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 P_(t){await t.schema.dropTable("refresh_tokens").execute()}const D_=Object.freeze(Object.defineProperty({__proto__:null,down:P_,up:A_},Symbol.toStringTag,{value:"Module"}));async function z_(t){}async function R_(t){}const F_=Object.freeze(Object.defineProperty({__proto__:null,down:R_,up:z_},Symbol.toStringTag,{value:"Module"}));async function j_(t){await t.schema.dropTable("sessions").execute(),await t.schema.dropTable("refresh_tokens").execute()}async function M_(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 L_=Object.freeze(Object.defineProperty({__proto__:null,down:M_,up:j_},Symbol.toStringTag,{value:"Module"}));async function J_(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 q_(t){await t.schema.dropTable("sessions_2").execute(),await t.schema.dropTable("refresh_tokens_2").execute()}const W_=Object.freeze(Object.defineProperty({__proto__:null,down:q_,up:J_},Symbol.toStringTag,{value:"Module"}));async function B_(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 K_(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 U_=Object.freeze(Object.defineProperty({__proto__:null,down:K_,up:B_},Symbol.toStringTag,{value:"Module"}));async function Q_(t){}async function V_(t){await t.schema.alterTable("logins").dropColumn("authParams_organization").dropColumn("authorization_url").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("logins").dropColumn("authorization_url").execute(),await t.schema.alterTable("logins").addColumn("authorization_url","varchar(2048)").execute()}async function H_(t){await t.schema.alterTable("logins").dropColumn("authorization_url").execute(),await t.schema.alterTable("logins").addColumn("authorization_url","varchar(1024)").execute()}const X_=Object.freeze(Object.defineProperty({__proto__:null,down:H_,up:Y_},Symbol.toStringTag,{value:"Module"}));async function Z_(t){}async function em(t){}const tm=Object.freeze(Object.defineProperty({__proto__:null,down:em,up:Z_},Symbol.toStringTag,{value:"Module"}));async function nm(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 am(t){await t.schema.dropTable("sessions").execute(),await t.schema.dropTable("login_sessions").execute(),await t.schema.dropTable("refresh_tokens").execute()}const rm=Object.freeze(Object.defineProperty({__proto__:null,down:am,up:nm},Symbol.toStringTag,{value:"Module"}));async function om(t){await t.schema.dropTable("logins").execute(),await t.schema.dropTable("sessions_2").execute(),await t.schema.dropTable("refresh_tokens_2").execute()}async function sm(t){}const im=Object.freeze(Object.defineProperty({__proto__:null,down:sm,up:om},Symbol.toStringTag,{value:"Module"}));async function cm(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 lm(t){}const um=Object.freeze(Object.defineProperty({__proto__:null,down:lm,up:cm},Symbol.toStringTag,{value:"Module"}));async function dm(t){}async function _m(t){await t.schema.alterTable("users").dropColumn("phone_number").dropColumn("phone_verified").dropColumn("username").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("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 fm(t){await t.schema.dropTable("forms").execute()}const pm=Object.freeze(Object.defineProperty({__proto__:null,down:fm,up:hm},Symbol.toStringTag,{value:"Module"}));async function gm(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 wm(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 ym=Object.freeze(Object.defineProperty({__proto__:null,down:wm,up:gm},Symbol.toStringTag,{value:"Module"}));async function vm(t){await t.schema.alterTable("login_sessions").addColumn("login_completed","boolean",e=>e.notNull().defaultTo(0)).execute()}async function Nm(t){await t.schema.alterTable("login_sessions").dropColumn("login_completed").execute()}const Cm=Object.freeze(Object.defineProperty({__proto__:null,down:Nm,up:vm},Symbol.toStringTag,{value:"Module"}));async function xm(t){await t.schema.alterTable("sessions").addColumn("login_session_id","varchar(21)",e=>e.references("login_sessions.id").onDelete("set null")).execute()}async function Tm(t){await t.schema.alterTable("sessions").dropColumn("login_session_id").execute()}const bm=Object.freeze(Object.defineProperty({__proto__:null,down:Tm,up:xm},Symbol.toStringTag,{value:"Module"}));async function Om(t){await t.schema.createIndex("IDX_sessions_login_session_id").on("sessions").column("login_session_id").execute()}async function Sm(t){await t.schema.dropIndex("IDX_sessions_login_session_id").on("sessions").execute()}const km=Object.freeze(Object.defineProperty({__proto__:null,down:Sm,up:Om},Symbol.toStringTag,{value:"Module"}));async function Im(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 Em(t){await t.schema.alterTable("codes").dropColumn("code_challenge").execute(),await t.schema.alterTable("codes").dropColumn("code_challenge_method").execute()}const $m=Object.freeze(Object.defineProperty({__proto__:null,down:Em,up:Im},Symbol.toStringTag,{value:"Module"}));async function Am(t){await t.schema.alterTable("codes").addColumn("redirect_uri","varchar(1024)").execute()}async function Pm(t){await t.schema.alterTable("codes").dropColumn("redirect_uri").execute()}const Dm=Object.freeze(Object.defineProperty({__proto__:null,down:Pm,up:Am},Symbol.toStringTag,{value:"Module"}));async function zm(t){await t.schema.alterTable("codes").addColumn("nonce","varchar(1024)").execute(),await t.schema.alterTable("codes").addColumn("state","varchar(2048)").execute()}async function Rm(t){await t.schema.alterTable("codes").dropColumn("nonce").execute(),await t.schema.alterTable("codes").dropColumn("state").execute()}const Fm=Object.freeze(Object.defineProperty({__proto__:null,down:Rm,up:zm},Symbol.toStringTag,{value:"Module"}));async function jm(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 Mm(t){await t.schema.dropTable("themes").execute()}const Lm=Object.freeze(Object.defineProperty({__proto__:null,down:Mm,up:jm},Symbol.toStringTag,{value:"Module"}));async function Jm(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 qm(t){await t.schema.dropTable("roles").execute(),await t.schema.dropTable("resource_servers").execute()}const Wm=Object.freeze(Object.defineProperty({__proto__:null,down:qm,up:Jm},Symbol.toStringTag,{value:"Module"}));async function Bm(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 Km(t){await t.schema.dropTable("user_permissions").execute(),await t.schema.dropTable("role_permissions").execute()}const Um=Object.freeze(Object.defineProperty({__proto__:null,down:Km,up:Bm},Symbol.toStringTag,{value:"Module"}));async function Qm(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 Vm(t){await t.schema.dropTable("user_roles").execute()}const Gm=Object.freeze(Object.defineProperty({__proto__:null,down:Vm,up:Qm},Symbol.toStringTag,{value:"Module"}));async function Ym(t){}async function Hm(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 Xm=Object.freeze(Object.defineProperty({__proto__:null,down:Hm,up:Ym},Symbol.toStringTag,{value:"Module"}));async function Zm(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 eh(t){await t.schema.dropTable("organizations").execute()}const th=Object.freeze(Object.defineProperty({__proto__:null,down:eh,up:Zm},Symbol.toStringTag,{value:"Module"}));async function nh(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 ah(t){await t.schema.dropTable("user_organizations").execute()}const rh=Object.freeze(Object.defineProperty({__proto__:null,down:ah,up:nh},Symbol.toStringTag,{value:"Module"}));async function oh(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 sh(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 ih=Object.freeze(Object.defineProperty({__proto__:null,down:sh,up:oh},Symbol.toStringTag,{value:"Module"}));async function ch(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 lh(t){await t.schema.dropTable("clients").execute()}const uh=Object.freeze(Object.defineProperty({__proto__:null,down:lh,up:ch},Symbol.toStringTag,{value:"Module"}));async function Xa(t){try{return await w`SELECT VERSION()`.execute(t),"mysql"}catch{return"sqlite"}}async function dh(t){await Xa(t)==="mysql"?await _h(t):await mh(t)}async function _h(t){await t.transaction().execute(async e=>{const n=await w`
2
2
  SELECT
3
3
  rc.CONSTRAINT_NAME,
4
4
  rc.TABLE_NAME
5
5
  FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS rc
6
6
  WHERE rc.CONSTRAINT_SCHEMA = DATABASE()
7
7
  AND rc.TABLE_NAME IN ('refresh_tokens', 'sessions', 'login_sessions')
8
- `.execute(e);for(const r of a.rows){const o=r.CONSTRAINT_NAME,s=r.TABLE_NAME;try{await w`ALTER TABLE ${w.raw(s)} DROP FOREIGN KEY ${w.raw(o)}`.execute(e),console.log(`Dropped foreign key constraint ${o} from ${s}`)}catch(l){console.warn(`Failed to drop constraint ${o} from ${s}:`,l)}}const n=["sessions_backup","login_sessions_backup","refresh_tokens_backup"];for(const r of n)try{await w`DROP TABLE IF EXISTS ${w.raw(r)}`.execute(e)}catch(o){console.warn(`Failed to drop backup table ${r}:`,o)}await w`CREATE TABLE sessions_backup AS SELECT * FROM sessions`.execute(e),await w`CREATE TABLE login_sessions_backup AS SELECT * FROM login_sessions`.execute(e),await w`CREATE TABLE refresh_tokens_backup AS SELECT * FROM refresh_tokens`.execute(e),await w`DROP TABLE sessions`.execute(e),await w`DROP TABLE login_sessions`.execute(e),await w`DROP TABLE refresh_tokens`.execute(e),await e.schema.createTable("refresh_tokens").addColumn("id","varchar(21)",r=>r.notNull()).addColumn("tenant_id","varchar(255)",r=>r.notNull()).addColumn("client_id","varchar(191)",r=>r.notNull()).addColumn("session_id","varchar(21)",r=>r.notNull()).addColumn("user_id","varchar(255)").addColumn("resource_servers","text",r=>r.notNull()).addColumn("device","text",r=>r.notNull()).addColumn("rotating","boolean",r=>r.notNull()).addColumn("created_at","varchar(35)",r=>r.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"]).execute(),await w`ALTER TABLE refresh_tokens
8
+ `.execute(e);for(const r of n.rows){const o=r.CONSTRAINT_NAME,s=r.TABLE_NAME;try{await w`ALTER TABLE ${w.raw(s)} DROP FOREIGN KEY ${w.raw(o)}`.execute(e),console.log(`Dropped foreign key constraint ${o} from ${s}`)}catch(l){console.warn(`Failed to drop constraint ${o} from ${s}:`,l)}}const a=["sessions_backup","login_sessions_backup","refresh_tokens_backup"];for(const r of a)try{await w`DROP TABLE IF EXISTS ${w.raw(r)}`.execute(e)}catch(o){console.warn(`Failed to drop backup table ${r}:`,o)}await w`CREATE TABLE sessions_backup AS SELECT * FROM sessions`.execute(e),await w`CREATE TABLE login_sessions_backup AS SELECT * FROM login_sessions`.execute(e),await w`CREATE TABLE refresh_tokens_backup AS SELECT * FROM refresh_tokens`.execute(e),await w`DROP TABLE sessions`.execute(e),await w`DROP TABLE login_sessions`.execute(e),await w`DROP TABLE refresh_tokens`.execute(e),await e.schema.createTable("refresh_tokens").addColumn("id","varchar(21)",r=>r.notNull()).addColumn("tenant_id","varchar(255)",r=>r.notNull()).addColumn("client_id","varchar(191)",r=>r.notNull()).addColumn("session_id","varchar(21)",r=>r.notNull()).addColumn("user_id","varchar(255)").addColumn("resource_servers","text",r=>r.notNull()).addColumn("device","text",r=>r.notNull()).addColumn("rotating","boolean",r=>r.notNull()).addColumn("created_at","varchar(35)",r=>r.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"]).execute(),await w`ALTER TABLE refresh_tokens
9
9
  ADD CONSTRAINT refresh_tokens_tenant_fk
10
10
  FOREIGN KEY (tenant_id) REFERENCES tenants(id) ON DELETE CASCADE`.execute(e),await w`ALTER TABLE refresh_tokens
11
11
  ADD CONSTRAINT refresh_tokens_client_fk
@@ -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 w`DROP TABLE sessions_backup`.execute(e),await w`DROP TABLE login_sessions_backup`.execute(e),await w`DROP TABLE refresh_tokens_backup`.execute(e)})}async function _h(t){await t.transaction().execute(async e=>{const a=["sessions_backup","login_sessions_backup","refresh_tokens_backup"];for(const n of a)try{await w`DROP TABLE IF EXISTS ${w.raw(n)}`.execute(e)}catch(r){console.warn(`Failed to drop backup table ${n}:`,r)}await w`CREATE TABLE sessions_backup AS SELECT * FROM sessions`.execute(e),await w`CREATE TABLE login_sessions_backup AS SELECT * FROM login_sessions`.execute(e),await w`CREATE TABLE refresh_tokens_backup AS SELECT * FROM refresh_tokens`.execute(e),await w`DROP TABLE sessions`.execute(e),await w`DROP TABLE login_sessions`.execute(e),await w`DROP TABLE refresh_tokens`.execute(e),await e.schema.createTable("refresh_tokens").addColumn("id","varchar(21)",n=>n.notNull()).addColumn("tenant_id","varchar(255)",n=>n.references("tenants.id").onDelete("cascade").notNull()).addColumn("client_id","varchar(191)",n=>n.notNull()).addColumn("session_id","varchar(21)",n=>n.notNull()).addColumn("user_id","varchar(255)").addColumn("resource_servers","text",n=>n.notNull()).addColumn("device","text",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)").addPrimaryKeyConstraint("refresh_tokens_pk",["tenant_id","id"]).addForeignKeyConstraint("refresh_tokens_client_fk",["tenant_id","client_id"],"clients",["tenant_id","client_id"],n=>n.onDelete("cascade")).execute(),await e.schema.createTable("sessions").addColumn("id","varchar(21)",n=>n.notNull()).addColumn("tenant_id","varchar(191)",n=>n.notNull()).addColumn("user_id","varchar(255)").addColumn("created_at","varchar(35)",n=>n.notNull()).addColumn("updated_at","varchar(35)",n=>n.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",n=>n.notNull()).addColumn("clients","text",n=>n.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"],n=>n.onDelete("cascade")).execute(),await e.schema.createTable("login_sessions").addColumn("id","varchar(21)",n=>n.notNull()).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.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)",n=>n.notNull()).addColumn("updated_at","varchar(35)",n=>n.notNull()).addColumn("expires_at","varchar(35)",n=>n.notNull()).addColumn("ip","varchar(39)").addColumn("useragent","text").addColumn("auth0Client","varchar(255)").addColumn("login_completed","integer",n=>n.defaultTo(0)).addPrimaryKeyConstraint("login_sessions_pk",["tenant_id","id"]).addForeignKeyConstraint("login_sessions_client_fk",["tenant_id","authParams_client_id"],"clients",["tenant_id","client_id"],n=>n.onDelete("cascade")).addForeignKeyConstraint("login_sessions_session_fk",["tenant_id","session_id"],"sessions",["tenant_id","id"],n=>n.onDelete("cascade")).execute(),await w`INSERT INTO refresh_tokens
32
+ FROM login_sessions_backup`.execute(e),await w`DROP TABLE sessions_backup`.execute(e),await w`DROP TABLE login_sessions_backup`.execute(e),await w`DROP TABLE refresh_tokens_backup`.execute(e)})}async function mh(t){await t.transaction().execute(async e=>{const n=["sessions_backup","login_sessions_backup","refresh_tokens_backup"];for(const a of n)try{await w`DROP TABLE IF EXISTS ${w.raw(a)}`.execute(e)}catch(r){console.warn(`Failed to drop backup table ${a}:`,r)}await w`CREATE TABLE sessions_backup AS SELECT * FROM sessions`.execute(e),await w`CREATE TABLE login_sessions_backup AS SELECT * FROM login_sessions`.execute(e),await w`CREATE TABLE refresh_tokens_backup AS SELECT * FROM refresh_tokens`.execute(e),await w`DROP TABLE sessions`.execute(e),await w`DROP TABLE login_sessions`.execute(e),await w`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 w`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 w`INSERT INTO sessions
@@ -41,16 +41,16 @@
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 w`DROP TABLE sessions_backup`.execute(e),await w`DROP TABLE login_sessions_backup`.execute(e),await w`DROP TABLE refresh_tokens_backup`.execute(e)})}async function mh(t){await Xn(t)==="mysql"?await hh(t):await fh(t)}async function hh(t){await t.transaction().execute(async e=>{await w`ALTER TABLE refresh_tokens DROP FOREIGN KEY refresh_tokens_client_fk`.execute(e),await w`ALTER TABLE login_sessions DROP FOREIGN KEY login_sessions_client_fk`.execute(e),await w`ALTER TABLE refresh_tokens DROP PRIMARY KEY`.execute(e),await w`ALTER TABLE refresh_tokens ADD PRIMARY KEY (id)`.execute(e),await w`ALTER TABLE sessions DROP PRIMARY KEY`.execute(e),await w`ALTER TABLE sessions ADD PRIMARY KEY (id)`.execute(e),await w`ALTER TABLE login_sessions DROP PRIMARY KEY`.execute(e),await w`ALTER TABLE login_sessions ADD PRIMARY KEY (id)`.execute(e),await w`ALTER TABLE refresh_tokens
44
+ FROM login_sessions_backup`.execute(e),await w`DROP TABLE sessions_backup`.execute(e),await w`DROP TABLE login_sessions_backup`.execute(e),await w`DROP TABLE refresh_tokens_backup`.execute(e)})}async function hh(t){await Xa(t)==="mysql"?await fh(t):await ph(t)}async function fh(t){await t.transaction().execute(async e=>{await w`ALTER TABLE refresh_tokens DROP FOREIGN KEY refresh_tokens_client_fk`.execute(e),await w`ALTER TABLE login_sessions DROP FOREIGN KEY login_sessions_client_fk`.execute(e),await w`ALTER TABLE refresh_tokens DROP PRIMARY KEY`.execute(e),await w`ALTER TABLE refresh_tokens ADD PRIMARY KEY (id)`.execute(e),await w`ALTER TABLE sessions DROP PRIMARY KEY`.execute(e),await w`ALTER TABLE sessions ADD PRIMARY KEY (id)`.execute(e),await w`ALTER TABLE login_sessions DROP PRIMARY KEY`.execute(e),await w`ALTER TABLE login_sessions ADD PRIMARY KEY (id)`.execute(e),await w`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 w`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 fh(t){await t.transaction().execute(async e=>{await w`CREATE TABLE refresh_tokens_temp AS SELECT * FROM refresh_tokens`.execute(e),await w`DROP TABLE refresh_tokens`.execute(e),await e.schema.createTable("refresh_tokens").addColumn("id","varchar(21)",a=>a.primaryKey()).addColumn("tenant_id","varchar(255)",a=>a.references("tenants.id").onDelete("cascade").notNull()).addColumn("client_id","varchar(21)",a=>a.references("applications.id").onDelete("cascade").notNull()).addColumn("session_id","varchar(21)",a=>a.notNull()).addColumn("user_id","varchar(255)").addColumn("resource_servers","varchar(255)",a=>a.notNull()).addColumn("device","varchar(255)",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)").execute(),await w`INSERT INTO refresh_tokens
48
+ FOREIGN KEY (authParams_client_id) REFERENCES applications(id) ON DELETE CASCADE`.execute(e)})}async function ph(t){await t.transaction().execute(async e=>{await w`CREATE TABLE refresh_tokens_temp AS SELECT * FROM refresh_tokens`.execute(e),await w`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 w`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
- FROM refresh_tokens_temp`.execute(e),await w`DROP TABLE refresh_tokens_temp`.execute(e),await w`CREATE TABLE login_sessions_temp AS SELECT * FROM login_sessions`.execute(e),await w`DROP TABLE login_sessions`.execute(e),await e.schema.createTable("login_sessions").addColumn("id","varchar(21)",a=>a.primaryKey()).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.references("applications.id").onDelete("cascade").notNull()).execute(),await w`INSERT INTO login_sessions (id, tenant_id, session_id, csrf_token, authParams_client_id)
51
+ FROM refresh_tokens_temp`.execute(e),await w`DROP TABLE refresh_tokens_temp`.execute(e),await w`CREATE TABLE login_sessions_temp AS SELECT * FROM login_sessions`.execute(e),await w`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 w`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 w`DROP TABLE login_sessions_temp`.execute(e)})}const ph=Object.freeze(Object.defineProperty({__proto__:null,down:mh,up:dh},Symbol.toStringTag,{value:"Module"}));async function gh(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 wh(t){await t.schema.dropTable("client_grants").execute()}const yh=Object.freeze(Object.defineProperty({__proto__:null,down:wh,up:gh},Symbol.toStringTag,{value:"Module"}));async function Nh(t){await t.schema.dropTable("applications").execute()}async function vh(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 Ch=Object.freeze(Object.defineProperty({__proto__:null,down:vh,up:Nh},Symbol.toStringTag,{value:"Module"}));async function xh(t){await t.schema.createIndex("users_phone_tenant_provider_index").on("users").columns(["tenant_id","phone_number","provider"]).execute()}async function Th(t){await t.schema.dropIndex("users_phone_tenant_provider_index").execute()}const bh=Object.freeze(Object.defineProperty({__proto__:null,down:Th,up:xh},Symbol.toStringTag,{value:"Module"}));async function Oh(t){await t.schema.createIndex("login_sessions_id_index").on("login_sessions").column("id").execute()}async function Sh(t){await t.schema.dropIndex("login_sessions_id_index").execute()}const kh=Object.freeze(Object.defineProperty({__proto__:null,down:Sh,up:Oh},Symbol.toStringTag,{value:"Module"}));async function Ih(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 Ah=Object.freeze(Object.defineProperty({__proto__:null,down:Eh,up:Ih},Symbol.toStringTag,{value:"Module"}));async function $h(t){await t.schema.dropIndex("idx_user_organizations_tenant_id").execute()}async function Ph(t){await t.schema.createIndex("idx_user_organizations_tenant_id").on("user_organizations").column("tenant_id").execute()}const Dh=Object.freeze(Object.defineProperty({__proto__:null,down:Ph,up:$h},Symbol.toStringTag,{value:"Module"}));async function zh(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 Fh=Object.freeze(Object.defineProperty({__proto__:null,down:Rh,up:zh},Symbol.toStringTag,{value:"Module"}));async function jh(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:w`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 a=await t.selectFrom("tenant_settings").selectAll().execute();for(const n of a)await t.updateTable("tenants").set({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}).where("id","=",n.tenant_id).execute()}await t.schema.dropTable("tenant_settings").execute()}async function Mh(t){await t.schema.createTable("tenant_settings").addColumn("tenant_id","varchar(191)",a=>a.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 a of e)(a.idle_session_lifetime!==null||a.session_lifetime!==null||a.session_cookie!==null||a.enable_client_connections!==null||a.default_redirection_uri!==null||a.enabled_locales!==null||a.default_directory!==null||a.error_page!==null||a.flags!==null||a.friendly_name!==null||a.picture_url!==null||a.support_email!==null||a.support_url!==null||a.sandbox_version!==null||a.sandbox_versions_available!==null||a.change_password!==null||a.guardian_mfa_page!==null||a.default_audience!==null||a.default_organization!==null||a.sessions!==null)&&await t.insertInto("tenant_settings").values({tenant_id:a.id,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}).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:w`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 Lh=Object.freeze(Object.defineProperty({__proto__:null,down:Mh,up:jh},Symbol.toStringTag,{value:"Module"}));async function Jh(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 qh(t){await t.schema.dropTable("invites").execute()}const Bh=Object.freeze(Object.defineProperty({__proto__:null,down:qh,up:Jh},Symbol.toStringTag,{value:"Module"}));async function Wh(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 Kh(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 Uh=Object.freeze(Object.defineProperty({__proto__:null,down:Kh,up:Wh},Symbol.toStringTag,{value:"Module"}));async function Qh(t){await t.schema.alterTable("logs").addColumn("country_code","varchar(2)").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 Vh(t){await t.schema.alterTable("logs").dropColumn("country_code").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:Vh,up:Qh},Symbol.toStringTag,{value:"Module"})),Qe=1e3;async function Yh(t){await t.schema.createTable("password_history").addColumn("id","varchar(21)",n=>n.primaryKey()).addColumn("user_id","varchar(191)",n=>n.notNull()).addColumn("tenant_id","varchar(191)",n=>n.references("tenants.id").onDelete("cascade").notNull()).addColumn("password","varchar(255)",n=>n.notNull()).addColumn("algorithm","varchar(255)",n=>n.notNull().defaultTo("bcrypt")).addColumn("created_at","varchar(35)",n=>n.notNull()).addColumn("updated_at","varchar(35)",n=>n.notNull()).addColumn("is_current","integer",n=>n.notNull().defaultTo(1)).addForeignKeyConstraint("password_history_user_id_tenant_id_constraint",["user_id","tenant_id"],"users",["user_id","tenant_id"],n=>n.onDelete("cascade")).execute();let e=0,a=!0;for(;a;){const n=await t.selectFrom("passwords").select(["user_id","tenant_id","password","algorithm","created_at","updated_at"]).limit(Qe).offset(e).execute();if(n.length===0){a=!1;break}for(const r of n)await t.insertInto("password_history").values({id:G(),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+=Qe,n.length<Qe&&(a=!1)}await t.schema.alterTable("passwords").renameTo("passwords_backup").execute(),await t.schema.alterTable("password_history").renameTo("passwords").execute()}async function Hh(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)",n=>n.notNull()).addColumn("tenant_id","varchar(255)",n=>n.references("tenants.id").onDelete("cascade").notNull()).addColumn("password","varchar(255)",n=>n.notNull()).addColumn("algorithm","varchar(255)",n=>n.notNull().defaultTo("bcrypt")).addColumn("created_at","varchar(35)",n=>n.notNull()).addColumn("updated_at","varchar(35)",n=>n.notNull()).addPrimaryKeyConstraint("passwords_pkey",["user_id","tenant_id"]).addForeignKeyConstraint("passwords_user_id_tenant_id_constraint",["user_id","tenant_id"],"users",["user_id","tenant_id"],n=>n.onDelete("cascade")).execute();let e=0,a=!0;for(;a;){const n=await t.selectFrom("password_history").select(["user_id","tenant_id","password","algorithm","created_at","updated_at"]).where("is_current","=",1).limit(Qe).offset(e).execute();if(n.length===0){a=!1;break}for(const r of n)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+=Qe,n.length<Qe&&(a=!1)}}await t.schema.dropTable("password_history").execute()}const Xh=Object.freeze(Object.defineProperty({__proto__:null,down:Hh,up:Yh},Symbol.toStringTag,{value:"Module"}));async function Zh(t){await t.schema.alterTable("connections").addColumn("display_name","varchar(255)").execute(),await t.schema.alterTable("connections").addColumn("is_domain_connection","integer").execute(),await t.schema.alterTable("connections").addColumn("show_as_button","integer").execute(),await t.schema.alterTable("connections").addColumn("metadata","varchar(4096)").execute()}async function ef(t){await t.schema.alterTable("connections").dropColumn("display_name").execute(),await t.schema.alterTable("connections").dropColumn("is_domain_connection").execute(),await t.schema.alterTable("connections").dropColumn("show_as_button").execute(),await t.schema.alterTable("connections").dropColumn("metadata").execute()}const tf=Object.freeze(Object.defineProperty({__proto__:null,down:ef,up:Zh},Symbol.toStringTag,{value:"Module"}));async function af(t){await t.schema.alterTable("clients").addColumn("connections","text",e=>e.notNull().defaultTo("[]")).execute()}async function nf(t){await t.schema.alterTable("clients").dropColumn("connections").execute()}const rf=Object.freeze(Object.defineProperty({__proto__:null,down:nf,up:af},Symbol.toStringTag,{value:"Module"}));async function of(t){await t.schema.createTable("flows").addColumn("id","varchar(24)",e=>e.primaryKey()).addColumn("tenant_id","varchar(191)",e=>e.notNull()).addColumn("name","varchar(150)",e=>e.notNull()).addColumn("actions","text").addColumn("created_at","varchar(35)",e=>e.notNull()).addColumn("updated_at","varchar(35)",e=>e.notNull()).execute(),await t.schema.createIndex("flows_tenant_id_idx").on("flows").column("tenant_id").execute(),await t.schema.dropTable("passwords_backup").execute()}async function sf(t){await t.schema.dropTable("flows").execute()}const cf=Object.freeze(Object.defineProperty({__proto__:null,down:sf,up:of},Symbol.toStringTag,{value:"Module"}));async function lf(t){await t.schema.alterTable("resource_servers").addColumn("is_system","integer",e=>e.defaultTo(0).notNull()).execute(),await t.schema.alterTable("roles").addColumn("is_system","integer",e=>e.defaultTo(0).notNull()).execute(),await t.schema.alterTable("connections").addColumn("is_system","integer",e=>e.defaultTo(0).notNull()).execute()}async function df(t){await t.schema.alterTable("resource_servers").dropColumn("is_system").execute(),await t.schema.alterTable("roles").dropColumn("is_system").execute(),await t.schema.alterTable("connections").dropColumn("is_system").execute()}const uf=Object.freeze(Object.defineProperty({__proto__:null,down:df,up:lf},Symbol.toStringTag,{value:"Module"}));async function _f(t){const e=await t.selectFrom("keys").selectAll().execute();await t.schema.dropTable("keys").execute(),await w`ALTER TABLE connections RENAME TO connections_old`.execute(t),await t.schema.createTable("connections").addColumn("id","varchar(255)",a=>a.notNull()).addColumn("tenant_id","varchar(255)",a=>a.references("tenants.id").onDelete("cascade").notNull()).addColumn("name","varchar(255)",a=>a.notNull()).addColumn("response_type","varchar(255)").addColumn("response_mode","varchar(255)").addColumn("strategy","varchar(64)").addColumn("options","varchar(8192)",a=>a.defaultTo("{}").notNull()).addColumn("created_at","varchar(255)",a=>a.notNull()).addColumn("updated_at","varchar(255)",a=>a.notNull()).addColumn("display_name","varchar(255)").addColumn("is_domain_connection","integer").addColumn("show_as_button","integer").addColumn("metadata","varchar(4096)").addColumn("is_system","integer",a=>a.defaultTo(0).notNull()).addPrimaryKeyConstraint("connections_pkey",["tenant_id","id"]).execute(),await w`
53
+ FROM login_sessions_temp`.execute(e),await w`DROP TABLE login_sessions_temp`.execute(e)})}const gh=Object.freeze(Object.defineProperty({__proto__:null,down:hh,up:dh},Symbol.toStringTag,{value:"Module"}));async function wh(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 yh(t){await t.schema.dropTable("client_grants").execute()}const vh=Object.freeze(Object.defineProperty({__proto__:null,down:yh,up:wh},Symbol.toStringTag,{value:"Module"}));async function Nh(t){await t.schema.dropTable("applications").execute()}async function Ch(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 xh=Object.freeze(Object.defineProperty({__proto__:null,down:Ch,up:Nh},Symbol.toStringTag,{value:"Module"}));async function Th(t){await t.schema.createIndex("users_phone_tenant_provider_index").on("users").columns(["tenant_id","phone_number","provider"]).execute()}async function bh(t){await t.schema.dropIndex("users_phone_tenant_provider_index").execute()}const Oh=Object.freeze(Object.defineProperty({__proto__:null,down:bh,up:Th},Symbol.toStringTag,{value:"Module"}));async function Sh(t){await t.schema.createIndex("login_sessions_id_index").on("login_sessions").column("id").execute()}async function kh(t){await t.schema.dropIndex("login_sessions_id_index").execute()}const Ih=Object.freeze(Object.defineProperty({__proto__:null,down:kh,up:Sh},Symbol.toStringTag,{value:"Module"}));async function Eh(t){await t.schema.createIndex("connections_tenant_id_index").on("connections").column("tenant_id").execute()}async function $h(t){await t.schema.dropIndex("connections_tenant_id_index").execute()}const Ah=Object.freeze(Object.defineProperty({__proto__:null,down:$h,up:Eh},Symbol.toStringTag,{value:"Module"}));async function Ph(t){await t.schema.dropIndex("idx_user_organizations_tenant_id").execute()}async function Dh(t){await t.schema.createIndex("idx_user_organizations_tenant_id").on("user_organizations").column("tenant_id").execute()}const zh=Object.freeze(Object.defineProperty({__proto__:null,down:Dh,up:Ph},Symbol.toStringTag,{value:"Module"}));async function Rh(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 Fh(t){await t.schema.dropTable("tenant_settings").execute()}const jh=Object.freeze(Object.defineProperty({__proto__:null,down:Fh,up:Rh},Symbol.toStringTag,{value:"Module"}));async function Mh(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:w`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 Lh(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:w`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 Jh=Object.freeze(Object.defineProperty({__proto__:null,down:Lh,up:Mh},Symbol.toStringTag,{value:"Module"}));async function qh(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 Wh(t){await t.schema.dropTable("invites").execute()}const Bh=Object.freeze(Object.defineProperty({__proto__:null,down:Wh,up:qh},Symbol.toStringTag,{value:"Module"}));async function Kh(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 Uh(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 Qh=Object.freeze(Object.defineProperty({__proto__:null,down:Uh,up:Kh},Symbol.toStringTag,{value:"Module"}));async function Vh(t){await t.schema.alterTable("logs").addColumn("country_code","varchar(2)").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 Gh(t){await t.schema.alterTable("logs").dropColumn("country_code").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 Yh=Object.freeze(Object.defineProperty({__proto__:null,down:Gh,up:Vh},Symbol.toStringTag,{value:"Module"})),Ge=1e3;async function Hh(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(Ge).offset(e).execute();if(a.length===0){n=!1;break}for(const r of a)await t.insertInto("password_history").values({id:Y(),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+=Ge,a.length<Ge&&(n=!1)}await t.schema.alterTable("passwords").renameTo("passwords_backup").execute(),await t.schema.alterTable("password_history").renameTo("passwords").execute()}async function Xh(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(Ge).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+=Ge,a.length<Ge&&(n=!1)}}await t.schema.dropTable("password_history").execute()}const Zh=Object.freeze(Object.defineProperty({__proto__:null,down:Xh,up:Hh},Symbol.toStringTag,{value:"Module"}));async function ef(t){await t.schema.alterTable("connections").addColumn("display_name","varchar(255)").execute(),await t.schema.alterTable("connections").addColumn("is_domain_connection","integer").execute(),await t.schema.alterTable("connections").addColumn("show_as_button","integer").execute(),await t.schema.alterTable("connections").addColumn("metadata","varchar(4096)").execute()}async function tf(t){await t.schema.alterTable("connections").dropColumn("display_name").execute(),await t.schema.alterTable("connections").dropColumn("is_domain_connection").execute(),await t.schema.alterTable("connections").dropColumn("show_as_button").execute(),await t.schema.alterTable("connections").dropColumn("metadata").execute()}const nf=Object.freeze(Object.defineProperty({__proto__:null,down:tf,up:ef},Symbol.toStringTag,{value:"Module"}));async function af(t){await t.schema.alterTable("clients").addColumn("connections","text",e=>e.notNull().defaultTo("[]")).execute()}async function rf(t){await t.schema.alterTable("clients").dropColumn("connections").execute()}const of=Object.freeze(Object.defineProperty({__proto__:null,down:rf,up:af},Symbol.toStringTag,{value:"Module"}));async function sf(t){await t.schema.createTable("flows").addColumn("id","varchar(24)",e=>e.primaryKey()).addColumn("tenant_id","varchar(191)",e=>e.notNull()).addColumn("name","varchar(150)",e=>e.notNull()).addColumn("actions","text").addColumn("created_at","varchar(35)",e=>e.notNull()).addColumn("updated_at","varchar(35)",e=>e.notNull()).execute(),await t.schema.createIndex("flows_tenant_id_idx").on("flows").column("tenant_id").execute(),await t.schema.dropTable("passwords_backup").execute()}async function cf(t){await t.schema.dropTable("flows").execute()}const lf=Object.freeze(Object.defineProperty({__proto__:null,down:cf,up:sf},Symbol.toStringTag,{value:"Module"}));async function uf(t){await t.schema.alterTable("resource_servers").addColumn("is_system","integer",e=>e.defaultTo(0).notNull()).execute(),await t.schema.alterTable("roles").addColumn("is_system","integer",e=>e.defaultTo(0).notNull()).execute(),await t.schema.alterTable("connections").addColumn("is_system","integer",e=>e.defaultTo(0).notNull()).execute()}async function df(t){await t.schema.alterTable("resource_servers").dropColumn("is_system").execute(),await t.schema.alterTable("roles").dropColumn("is_system").execute(),await t.schema.alterTable("connections").dropColumn("is_system").execute()}const _f=Object.freeze(Object.defineProperty({__proto__:null,down:df,up:uf},Symbol.toStringTag,{value:"Module"}));async function mf(t){const e=await t.selectFrom("keys").selectAll().execute();await t.schema.dropTable("keys").execute(),await w`ALTER TABLE connections RENAME TO connections_old`.execute(t),await t.schema.createTable("connections").addColumn("id","varchar(255)",n=>n.notNull()).addColumn("tenant_id","varchar(255)",n=>n.references("tenants.id").onDelete("cascade").notNull()).addColumn("name","varchar(255)",n=>n.notNull()).addColumn("response_type","varchar(255)").addColumn("response_mode","varchar(255)").addColumn("strategy","varchar(64)").addColumn("options","varchar(8192)",n=>n.defaultTo("{}").notNull()).addColumn("created_at","varchar(255)",n=>n.notNull()).addColumn("updated_at","varchar(255)",n=>n.notNull()).addColumn("display_name","varchar(255)").addColumn("is_domain_connection","integer").addColumn("show_as_button","integer").addColumn("metadata","varchar(4096)").addColumn("is_system","integer",n=>n.defaultTo(0).notNull()).addPrimaryKeyConstraint("connections_pkey",["tenant_id","id"]).execute(),await w`
54
54
  INSERT INTO connections (
55
55
  id, tenant_id, name, response_type, response_mode, strategy, options,
56
56
  created_at, updated_at, display_name,
@@ -61,7 +61,7 @@
61
61
  created_at, updated_at, display_name,
62
62
  is_domain_connection, show_as_button, metadata, is_system
63
63
  FROM connections_old
64
- `.execute(t),await t.schema.dropTable("connections_old").execute(),await t.schema.createIndex("connections_tenant_id_idx").on("connections").column("tenant_id").execute(),await t.schema.createTable("keys").addColumn("kid","varchar(255)",a=>a.primaryKey()).addColumn("tenant_id","varchar(255)",a=>a.references("tenants.id").onDelete("cascade")).addColumn("created_at","varchar(255)",a=>a.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)",a=>a.notNull().defaultTo("jwt_signing")).addColumn("connection","varchar(255)").execute();for(const a of e)await t.insertInto("keys").values(a).execute()}async function mf(t){const e=await t.selectFrom("keys").selectAll().execute();await t.schema.dropTable("keys").execute(),await w`ALTER TABLE connections RENAME TO connections_new`.execute(t),await t.schema.createTable("connections").addColumn("id","varchar(255)",a=>a.notNull().primaryKey()).addColumn("tenant_id","varchar(255)",a=>a.references("tenants.id").onDelete("cascade").notNull()).addColumn("name","varchar(255)",a=>a.notNull()).addColumn("response_type","varchar(255)").addColumn("response_mode","varchar(255)").addColumn("strategy","varchar(64)").addColumn("options","varchar(8192)",a=>a.defaultTo("{}").notNull()).addColumn("created_at","varchar(255)",a=>a.notNull()).addColumn("updated_at","varchar(255)",a=>a.notNull()).addColumn("display_name","varchar(255)").addColumn("is_domain_connection","integer").addColumn("show_as_button","integer").addColumn("metadata","varchar(4096)").addColumn("is_system","integer",a=>a.defaultTo(0).notNull()).execute(),await w`
64
+ `.execute(t),await t.schema.dropTable("connections_old").execute(),await t.schema.createIndex("connections_tenant_id_idx").on("connections").column("tenant_id").execute(),await t.schema.createTable("keys").addColumn("kid","varchar(255)",n=>n.primaryKey()).addColumn("tenant_id","varchar(255)",n=>n.references("tenants.id").onDelete("cascade")).addColumn("created_at","varchar(255)",n=>n.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)",n=>n.notNull().defaultTo("jwt_signing")).addColumn("connection","varchar(255)").execute();for(const n of e)await t.insertInto("keys").values(n).execute()}async function hf(t){const e=await t.selectFrom("keys").selectAll().execute();await t.schema.dropTable("keys").execute(),await w`ALTER TABLE connections RENAME TO connections_new`.execute(t),await t.schema.createTable("connections").addColumn("id","varchar(255)",n=>n.notNull().primaryKey()).addColumn("tenant_id","varchar(255)",n=>n.references("tenants.id").onDelete("cascade").notNull()).addColumn("name","varchar(255)",n=>n.notNull()).addColumn("response_type","varchar(255)").addColumn("response_mode","varchar(255)").addColumn("strategy","varchar(64)").addColumn("options","varchar(8192)",n=>n.defaultTo("{}").notNull()).addColumn("created_at","varchar(255)",n=>n.notNull()).addColumn("updated_at","varchar(255)",n=>n.notNull()).addColumn("display_name","varchar(255)").addColumn("is_domain_connection","integer").addColumn("show_as_button","integer").addColumn("metadata","varchar(4096)").addColumn("is_system","integer",n=>n.defaultTo(0).notNull()).execute(),await w`
65
65
  INSERT INTO connections (
66
66
  id, tenant_id, name, response_type, response_mode, strategy, options,
67
67
  created_at, updated_at, display_name,
@@ -72,8 +72,8 @@
72
72
  created_at, updated_at, display_name,
73
73
  is_domain_connection, show_as_button, metadata, is_system
74
74
  FROM connections_new
75
- `.execute(t),await t.schema.dropTable("connections_new").execute(),await t.schema.createIndex("connections_tenant_id_idx").on("connections").column("tenant_id").execute(),await t.schema.createTable("keys").addColumn("kid","varchar(255)",a=>a.primaryKey()).addColumn("tenant_id","varchar(255)",a=>a.references("tenants.id").onDelete("cascade")).addColumn("created_at","varchar(255)",a=>a.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)",a=>a.notNull().defaultTo("jwt_signing")).addColumn("connection","varchar(255)",a=>a.references("connections.id").onDelete("cascade")).execute();for(const a of e)await t.insertInto("keys").values(a).execute()}const hf=Object.freeze(Object.defineProperty({__proto__:null,down:mf,up:_f},Symbol.toStringTag,{value:"Module"}));async function ff(t){await t.schema.alterTable("login_sessions").addColumn("state","varchar(50)",e=>e.defaultTo("pending")).execute(),await t.schema.alterTable("login_sessions").addColumn("state_data","text").execute(),await t.schema.alterTable("login_sessions").addColumn("failure_reason","text").execute(),await t.schema.alterTable("login_sessions").addColumn("user_id","varchar(255)").execute(),await t.schema.createIndex("login_sessions_tenant_user_idx").on("login_sessions").columns(["tenant_id","user_id"]).execute(),await t.updateTable("login_sessions").set({state:w`CASE
75
+ `.execute(t),await t.schema.dropTable("connections_new").execute(),await t.schema.createIndex("connections_tenant_id_idx").on("connections").column("tenant_id").execute(),await t.schema.createTable("keys").addColumn("kid","varchar(255)",n=>n.primaryKey()).addColumn("tenant_id","varchar(255)",n=>n.references("tenants.id").onDelete("cascade")).addColumn("created_at","varchar(255)",n=>n.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)",n=>n.notNull().defaultTo("jwt_signing")).addColumn("connection","varchar(255)",n=>n.references("connections.id").onDelete("cascade")).execute();for(const n of e)await t.insertInto("keys").values(n).execute()}const ff=Object.freeze(Object.defineProperty({__proto__:null,down:hf,up:mf},Symbol.toStringTag,{value:"Module"}));async function pf(t){await t.schema.alterTable("login_sessions").addColumn("state","varchar(50)",e=>e.defaultTo("pending")).execute(),await t.schema.alterTable("login_sessions").addColumn("state_data","text").execute(),await t.schema.alterTable("login_sessions").addColumn("failure_reason","text").execute(),await t.schema.alterTable("login_sessions").addColumn("user_id","varchar(255)").execute(),await t.schema.createIndex("login_sessions_tenant_user_idx").on("login_sessions").columns(["tenant_id","user_id"]).execute(),await t.updateTable("login_sessions").set({state:w`CASE
76
76
  WHEN login_completed = 1 THEN 'completed'
77
77
  WHEN expires_at < CURRENT_TIMESTAMP THEN 'expired'
78
78
  ELSE 'pending'
79
- END`}).execute(),await t.schema.alterTable("login_sessions").dropColumn("login_completed").execute(),await t.schema.createIndex("login_sessions_state_idx").on("login_sessions").column("state").execute(),await t.schema.createIndex("login_sessions_state_updated_idx").on("login_sessions").columns(["state","updated_at"]).execute()}async function pf(t){await t.schema.alterTable("login_sessions").addColumn("login_completed","integer",e=>e.defaultTo(0)).execute(),await t.updateTable("login_sessions").set({login_completed:w`CASE WHEN state = 'completed' THEN 1 ELSE 0 END`}).execute(),await t.schema.dropIndex("login_sessions_state_updated_idx").execute(),await t.schema.dropIndex("login_sessions_state_idx").execute(),await t.schema.dropIndex("login_sessions_tenant_user_idx").execute(),await t.schema.alterTable("login_sessions").dropColumn("state").dropColumn("state_data").dropColumn("failure_reason").dropColumn("user_id").execute()}const gf=Object.freeze(Object.defineProperty({__proto__:null,down:pf,up:ff},Symbol.toStringTag,{value:"Module"}));async function wf(t){await t.schema.alterTable("roles").addColumn("metadata","varchar(4096)").execute(),await t.schema.alterTable("resource_servers").addColumn("metadata","varchar(4096)").execute()}async function yf(t){await t.schema.alterTable("roles").dropColumn("metadata").execute(),await t.schema.alterTable("resource_servers").dropColumn("metadata").execute()}const Nf=Object.freeze(Object.defineProperty({__proto__:null,down:yf,up:wf},Symbol.toStringTag,{value:"Module"}));function R(t){if(!t||t==="")return null;const e=new Date(t);return isNaN(e.getTime())?null:e.getTime()}const aa=1e3;async function vf(t){await t.schema.alterTable("refresh_tokens").addColumn("created_at_ts","bigint").execute(),await t.schema.alterTable("refresh_tokens").addColumn("expires_at_ts","bigint").execute(),await t.schema.alterTable("refresh_tokens").addColumn("idle_expires_at_ts","bigint").execute(),await t.schema.alterTable("refresh_tokens").addColumn("last_exchanged_at_ts","bigint").execute(),await t.schema.alterTable("sessions").addColumn("created_at_ts","bigint").execute(),await t.schema.alterTable("sessions").addColumn("updated_at_ts","bigint").execute(),await t.schema.alterTable("sessions").addColumn("expires_at_ts","bigint").execute(),await t.schema.alterTable("sessions").addColumn("idle_expires_at_ts","bigint").execute(),await t.schema.alterTable("sessions").addColumn("authenticated_at_ts","bigint").execute(),await t.schema.alterTable("sessions").addColumn("last_interaction_at_ts","bigint").execute(),await t.schema.alterTable("sessions").addColumn("used_at_ts","bigint").execute(),await t.schema.alterTable("sessions").addColumn("revoked_at_ts","bigint").execute(),await t.schema.alterTable("login_sessions").addColumn("created_at_ts","bigint").execute(),await t.schema.alterTable("login_sessions").addColumn("updated_at_ts","bigint").execute(),await t.schema.alterTable("login_sessions").addColumn("expires_at_ts","bigint").execute();let e=!0;for(;e;){const r=await t.selectFrom("refresh_tokens").select(["tenant_id","id","created_at","expires_at","idle_expires_at","last_exchanged_at"]).where("created_at_ts","is",null).limit(aa).execute();if(r.length===0){e=!1;break}for(const o of r)await t.updateTable("refresh_tokens").set({created_at_ts:R(o.created_at),expires_at_ts:R(o.expires_at),idle_expires_at_ts:R(o.idle_expires_at),last_exchanged_at_ts:R(o.last_exchanged_at)}).where("tenant_id","=",o.tenant_id).where("id","=",o.id).execute()}let a=!0;for(;a;){const r=await t.selectFrom("sessions").select(["tenant_id","id","created_at","updated_at","expires_at","idle_expires_at","authenticated_at","last_interaction_at","used_at","revoked_at"]).where("created_at_ts","is",null).limit(aa).execute();if(r.length===0){a=!1;break}for(const o of r)await t.updateTable("sessions").set({created_at_ts:R(o.created_at),updated_at_ts:R(o.updated_at),expires_at_ts:R(o.expires_at),idle_expires_at_ts:R(o.idle_expires_at),authenticated_at_ts:R(o.authenticated_at),last_interaction_at_ts:R(o.last_interaction_at),used_at_ts:R(o.used_at),revoked_at_ts:R(o.revoked_at)}).where("tenant_id","=",o.tenant_id).where("id","=",o.id).execute()}let n=!0;for(;n;){const r=await t.selectFrom("login_sessions").select(["tenant_id","id","created_at","updated_at","expires_at"]).where("created_at_ts","is",null).limit(aa).execute();if(r.length===0){n=!1;break}for(const o of r)await t.updateTable("login_sessions").set({created_at_ts:R(o.created_at),updated_at_ts:R(o.updated_at),expires_at_ts:R(o.expires_at)}).where("tenant_id","=",o.tenant_id).where("id","=",o.id).execute()}}async function Cf(t){await t.schema.alterTable("refresh_tokens").dropColumn("created_at_ts").execute(),await t.schema.alterTable("refresh_tokens").dropColumn("expires_at_ts").execute(),await t.schema.alterTable("refresh_tokens").dropColumn("idle_expires_at_ts").execute(),await t.schema.alterTable("refresh_tokens").dropColumn("last_exchanged_at_ts").execute(),await t.schema.alterTable("sessions").dropColumn("created_at_ts").execute(),await t.schema.alterTable("sessions").dropColumn("updated_at_ts").execute(),await t.schema.alterTable("sessions").dropColumn("expires_at_ts").execute(),await t.schema.alterTable("sessions").dropColumn("idle_expires_at_ts").execute(),await t.schema.alterTable("sessions").dropColumn("authenticated_at_ts").execute(),await t.schema.alterTable("sessions").dropColumn("last_interaction_at_ts").execute(),await t.schema.alterTable("sessions").dropColumn("used_at_ts").execute(),await t.schema.alterTable("sessions").dropColumn("revoked_at_ts").execute(),await t.schema.alterTable("login_sessions").dropColumn("created_at_ts").execute(),await t.schema.alterTable("login_sessions").dropColumn("updated_at_ts").execute(),await t.schema.alterTable("login_sessions").dropColumn("expires_at_ts").execute()}const xf=Object.freeze(Object.defineProperty({__proto__:null,down:Cf,up:vf},Symbol.toStringTag,{value:"Module"}));function F(t){if(t==null)return null;const e=typeof t=="bigint"?Number(t):typeof t=="string"?parseInt(t,10):t;return Number.isNaN(e)?null:new Date(e).toISOString()}const na=1e3;async function Tf(t){await t.schema.alterTable("refresh_tokens").dropColumn("created_at").execute(),await t.schema.alterTable("refresh_tokens").dropColumn("expires_at").execute(),await t.schema.alterTable("refresh_tokens").dropColumn("idle_expires_at").execute(),await t.schema.alterTable("refresh_tokens").dropColumn("last_exchanged_at").execute(),await t.schema.alterTable("sessions").dropColumn("created_at").execute(),await t.schema.alterTable("sessions").dropColumn("updated_at").execute(),await t.schema.alterTable("sessions").dropColumn("expires_at").execute(),await t.schema.alterTable("sessions").dropColumn("idle_expires_at").execute(),await t.schema.alterTable("sessions").dropColumn("authenticated_at").execute(),await t.schema.alterTable("sessions").dropColumn("last_interaction_at").execute(),await t.schema.alterTable("sessions").dropColumn("used_at").execute(),await t.schema.alterTable("sessions").dropColumn("revoked_at").execute(),await t.schema.dropIndex("login_sessions_state_updated_idx").execute(),await t.schema.alterTable("login_sessions").dropColumn("created_at").execute(),await t.schema.alterTable("login_sessions").dropColumn("updated_at").execute(),await t.schema.alterTable("login_sessions").dropColumn("expires_at").execute(),await t.schema.createIndex("idx_sessions_user_id").on("sessions").columns(["tenant_id","user_id"]).execute(),await t.schema.createIndex("idx_refresh_tokens_user_id").on("refresh_tokens").columns(["tenant_id","user_id"]).execute(),await t.schema.createIndex("idx_refresh_tokens_session_id").on("refresh_tokens").column("session_id").execute(),await t.schema.createIndex("idx_refresh_tokens_expires_at_ts").on("refresh_tokens").column("expires_at_ts").execute(),await t.schema.createIndex("idx_sessions_expires_at_ts").on("sessions").column("expires_at_ts").execute(),await t.schema.createIndex("idx_login_sessions_expires_at_ts").on("login_sessions").column("expires_at_ts").execute(),await t.schema.createIndex("login_sessions_state_updated_idx").on("login_sessions").columns(["state","updated_at_ts"]).execute()}async function bf(t){await t.schema.dropIndex("idx_sessions_user_id").on("sessions").execute(),await t.schema.dropIndex("idx_refresh_tokens_user_id").on("refresh_tokens").execute(),await t.schema.dropIndex("idx_refresh_tokens_session_id").on("refresh_tokens").execute(),await t.schema.dropIndex("idx_refresh_tokens_expires_at_ts").on("refresh_tokens").execute(),await t.schema.dropIndex("idx_sessions_expires_at_ts").on("sessions").execute(),await t.schema.dropIndex("idx_login_sessions_expires_at_ts").on("login_sessions").execute(),await t.schema.dropIndex("login_sessions_state_updated_idx").execute(),await t.schema.alterTable("refresh_tokens").addColumn("created_at","varchar(35)").execute(),await t.schema.alterTable("refresh_tokens").addColumn("expires_at","varchar(35)").execute(),await t.schema.alterTable("refresh_tokens").addColumn("idle_expires_at","varchar(35)").execute(),await t.schema.alterTable("refresh_tokens").addColumn("last_exchanged_at","varchar(35)").execute(),await t.schema.alterTable("sessions").addColumn("created_at","varchar(35)").execute(),await t.schema.alterTable("sessions").addColumn("updated_at","varchar(35)").execute(),await t.schema.alterTable("sessions").addColumn("expires_at","varchar(35)").execute(),await t.schema.alterTable("sessions").addColumn("idle_expires_at","varchar(35)").execute(),await t.schema.alterTable("sessions").addColumn("authenticated_at","varchar(35)").execute(),await t.schema.alterTable("sessions").addColumn("last_interaction_at","varchar(35)").execute(),await t.schema.alterTable("sessions").addColumn("used_at","varchar(35)").execute(),await t.schema.alterTable("sessions").addColumn("revoked_at","varchar(35)").execute(),await t.schema.alterTable("login_sessions").addColumn("created_at","varchar(35)").execute(),await t.schema.alterTable("login_sessions").addColumn("updated_at","varchar(35)").execute(),await t.schema.alterTable("login_sessions").addColumn("expires_at","varchar(35)").execute();let e=!0;for(;e;){const r=await t.selectFrom("refresh_tokens").select(["tenant_id","id","created_at_ts","expires_at_ts","idle_expires_at_ts","last_exchanged_at_ts"]).where("created_at","is",null).limit(na).execute();if(r.length===0){e=!1;break}for(const o of r)await t.updateTable("refresh_tokens").set({created_at:F(o.created_at_ts),expires_at:F(o.expires_at_ts),idle_expires_at:F(o.idle_expires_at_ts),last_exchanged_at:F(o.last_exchanged_at_ts)}).where("tenant_id","=",o.tenant_id).where("id","=",o.id).execute()}let a=!0;for(;a;){const r=await t.selectFrom("sessions").select(["tenant_id","id","created_at_ts","updated_at_ts","expires_at_ts","idle_expires_at_ts","authenticated_at_ts","last_interaction_at_ts","used_at_ts","revoked_at_ts"]).where("created_at","is",null).limit(na).execute();if(r.length===0){a=!1;break}for(const o of r)await t.updateTable("sessions").set({created_at:F(o.created_at_ts),updated_at:F(o.updated_at_ts),expires_at:F(o.expires_at_ts),idle_expires_at:F(o.idle_expires_at_ts),authenticated_at:F(o.authenticated_at_ts),last_interaction_at:F(o.last_interaction_at_ts),used_at:F(o.used_at_ts),revoked_at:F(o.revoked_at_ts)}).where("tenant_id","=",o.tenant_id).where("id","=",o.id).execute()}let n=!0;for(;n;){const r=await t.selectFrom("login_sessions").select(["tenant_id","id","created_at_ts","updated_at_ts","expires_at_ts"]).where("created_at","is",null).limit(na).execute();if(r.length===0){n=!1;break}for(const o of r)await t.updateTable("login_sessions").set({created_at:F(o.created_at_ts),updated_at:F(o.updated_at_ts),expires_at:F(o.expires_at_ts)}).where("tenant_id","=",o.tenant_id).where("id","=",o.id).execute()}await t.schema.alterTable("refresh_tokens").alterColumn("created_at",r=>r.setNotNull()).execute(),await t.schema.alterTable("sessions").alterColumn("created_at",r=>r.setNotNull()).execute(),await t.schema.alterTable("sessions").alterColumn("updated_at",r=>r.setNotNull()).execute(),await t.schema.alterTable("login_sessions").alterColumn("created_at",r=>r.setNotNull()).execute(),await t.schema.alterTable("login_sessions").alterColumn("updated_at",r=>r.setNotNull()).execute(),await t.schema.alterTable("login_sessions").alterColumn("expires_at",r=>r.setNotNull()).execute(),await t.schema.createIndex("login_sessions_state_updated_idx").on("login_sessions").columns(["state","updated_at"]).execute()}const Of=Object.freeze(Object.defineProperty({__proto__:null,down:bf,up:Tf},Symbol.toStringTag,{value:"Module"})),Zn={m1_init:Kc,m2_magicLink:Vc,m3_updateAt:Hc,m4_logTable:el,m5_userProfile:nl,m6_sessions:sl,m7_passwords:ll,m8_logsTableNewFields:_l,m9_passwordTableNewField:fl,n01_codesTable:wl,n11_universalLoginSession:vl,n12_userFields:Tl,n13_userEmailIndex:Sl,n14_profileDataField:El,n15_userEmailIndex:Pl,n16_userLocale:Rl,n17_signingKeys:Ml,n18_logsFields:ql,n19_connectionsUserinfo:Kl,n20_missingFields:Vl,n21_sessionDeletedAt:Hl,n22_dropLogsFields:ed,n23_dropUsersFields:nd,n24_logsIndexes:sd,n25_logDescMaxLength:ld,n26_logsTableExtraFields:_d,n27_usersTableNameIndex:fd,n28_usersEmailConstrain:wd,n29_increaseOtpStateLength:vd,n30_increaseTicketStateLength:Td,n31_branding:Sd,n32_indexesAndNotNull:Ed,n33_vendorIdInUniversalLoginSession:Pd,n34_auth0ClientInUniversalLoginSession:Rd,n35_increaseUniversalSessionStateLength:Md,n36_authenticationCodes:qd,n37_disableSignUps:Kd,n38_otpIpAddress:Vd,n39_increaseUserAgentLength:Hd,n40_userId:eu,n41_hooks:nu,n42_userIdIndexes:su,n43_userIdIndexes:lu,n44_codes:_u,n45_hookProperties:fu,n46_loginAuth0Client:wu,n47_loginAuth0Client:vu,n48_saml:Tu,n49_removeFields:Su,n50_authParamsNonce:Eu,n51_connectionid:Pu,n52_cert:Ru,n53_codes_primary_key:Mu,n54_cleanup_tables:qu,n55_logs_index:Ku,n56_application_fields:Vu,n57_prompt_settings:Hu,n58_connection_client_id:e_,n59_connection_options:n_,n60_users_metadata:s_,n61_userLocales:l_,n62_prompt:__,n63_connection_cleanup:f_,n64_act_as:w_,n65_code_verifier:v_,n66_email_providers:T_,n67_drop_tickets:S_,n68_login_useragents:E_,n70_refresh_tokens:P_,n71_session_new_fields:R_,n72_session_primary_key:M_,n73_drop_sessions:q_,n74_custom_domains:K_,n75_organizations:V_,n76_authorization_url_length:H_,n77_drop_sessions:em,n78_login_sessions:nm,n79_drop_sessions_2:sm,n80_recreate_custom_domains:lm,n81_phone:_m,n82_forms:fm,n83_addFormsIdToHooks:wm,n84_login_completed:vm,n85_add_login_session_id_to_sessions:Tm,n86_index_sessions_login_session_id:Sm,n87_code_challenge:Em,n88_add_redirect_uri_to_codes:Pm,n89_add_nonce_and_state_to_codes:Rm,n90_themes:Mm,n91_resource_servers_rules_permissions:qm,n92_role_permissions:Km,n93_add_permissions_to_roles:Vm,n94_keys_connection_and_extend_columns:Hm,n95_create_organizations_table:eh,n96_create_user_organizations_table:nh,n97_add_organization_to_user_permissions_and_roles:sh,n98_clients:lh,n99_update_client_foreign_keys:ph,o001_client_grants:yh,o002_drop_applications:Ch,o003_phone_number_index:bh,o004_login_sessions_id_index:kh,o005_connections_tenant_index:Ah,o006_remove_redundant_user_organizations_tenant_index:Dh,o007_tenant_settings:Fh,o008_merge_tenant_settings_into_tenants:Lh,o009_create_invites_table:Bh,o010_add_log_id_to_logs:Uh,o011_add_location_info_to_logs:Gh,o012_add_password_history:Xh,o013_connection_display_name:tf,o014_client_connections:rf,o015_flows:cf,o016_add_is_system_column:uf,o017_connections_composite_key:hf,o018_login_session_state:gf,o019_roles_resource_servers_metadata:Nf,o020_session_add_timestamp_columns:xf,o021_session_remove_old_date_columns:Of};async function Sf(t,e=!1){e&&console.log("migrating...");const a=new Hn(Zn),n=new Rn({db:t,provider:a}),{error:r,results:o}=await n.migrateToLatest();if(o==null||o.forEach(s=>{s.status==="Success"?e&&console.log(`migration "${s.migrationName}" was executed successfully`):s.status==="Error"&&console.error(`failed to execute migration "${s.migrationName}"`)}),r)throw console.error("failed to migrate"),console.error(r),r}async function kf(t){console.log("migrating...");const e=new Hn(Zn),a=new Rn({db:t,provider:e}),{error:n,results:r}=await a.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}"`)}),n)throw console.error("failed to migrate"),console.error(n),n}function If(t){return{branding:Wo(t),cleanup:Ns(t),clients:go(t),clientConnections:xo(t),clientGrants:Io(t),legacyClients:Eo(t),codes:Hr(t),connections:uo(t),emailProviders:ms(t),customDomains:Jo(t),flows:vr(t),forms:Os(t),hooks:Yo(t),invites:Lc(t),keys:Do(t),loginSessions:ss(t),logs:Pr(t),passwords:Kr(t),promptSettings:ls(t),refreshTokens:ys(t),resourceServers:$s(t),rolePermissions:qs(t),userPermissions:Qs(t),userRoles:Xs(t),roles:js(t),sessions:Lr(t),tenants:kr(t),themes:ts(t),users:ur(t),organizations:Sc(t),userOrganizations:Dc(t),stats:qc(t)}}exports.default=If;exports.migrateDown=kf;exports.migrateToLatest=Sf;
79
+ END`}).execute(),await t.schema.alterTable("login_sessions").dropColumn("login_completed").execute(),await t.schema.createIndex("login_sessions_state_idx").on("login_sessions").column("state").execute(),await t.schema.createIndex("login_sessions_state_updated_idx").on("login_sessions").columns(["state","updated_at"]).execute()}async function gf(t){await t.schema.alterTable("login_sessions").addColumn("login_completed","integer",e=>e.defaultTo(0)).execute(),await t.updateTable("login_sessions").set({login_completed:w`CASE WHEN state = 'completed' THEN 1 ELSE 0 END`}).execute(),await t.schema.dropIndex("login_sessions_state_updated_idx").execute(),await t.schema.dropIndex("login_sessions_state_idx").execute(),await t.schema.dropIndex("login_sessions_tenant_user_idx").execute(),await t.schema.alterTable("login_sessions").dropColumn("state").dropColumn("state_data").dropColumn("failure_reason").dropColumn("user_id").execute()}const wf=Object.freeze(Object.defineProperty({__proto__:null,down:gf,up:pf},Symbol.toStringTag,{value:"Module"}));async function yf(t){await t.schema.alterTable("roles").addColumn("metadata","varchar(4096)").execute(),await t.schema.alterTable("resource_servers").addColumn("metadata","varchar(4096)").execute()}async function vf(t){await t.schema.alterTable("roles").dropColumn("metadata").execute(),await t.schema.alterTable("resource_servers").dropColumn("metadata").execute()}const Nf=Object.freeze(Object.defineProperty({__proto__:null,down:vf,up:yf},Symbol.toStringTag,{value:"Module"}));async function Cf(t){try{return await w`SELECT VERSION()`.execute(t),"mysql"}catch{return"sqlite"}}async function R(t,e,n,a){try{await t.schema.alterTable(e).addColumn(n,a).execute()}catch(r){if(r instanceof Error&&(r.message.includes("1060")||r.message.includes("duplicate column"))){console.log(` Column ${e}.${n} already exists, skipping`);return}throw r}}async function xf(t){const e=await Cf(t);await R(t,"refresh_tokens","created_at_ts","bigint"),await R(t,"refresh_tokens","expires_at_ts","bigint"),await R(t,"refresh_tokens","idle_expires_at_ts","bigint"),await R(t,"refresh_tokens","last_exchanged_at_ts","bigint"),await R(t,"sessions","created_at_ts","bigint"),await R(t,"sessions","updated_at_ts","bigint"),await R(t,"sessions","expires_at_ts","bigint"),await R(t,"sessions","idle_expires_at_ts","bigint"),await R(t,"sessions","authenticated_at_ts","bigint"),await R(t,"sessions","last_interaction_at_ts","bigint"),await R(t,"sessions","used_at_ts","bigint"),await R(t,"sessions","revoked_at_ts","bigint"),await R(t,"login_sessions","created_at_ts","bigint"),await R(t,"login_sessions","updated_at_ts","bigint"),await R(t,"login_sessions","expires_at_ts","bigint"),e==="mysql"&&(await t.schema.alterTable("refresh_tokens").modifyColumn("created_at","varchar(35)").execute(),await t.schema.alterTable("refresh_tokens").modifyColumn("expires_at","varchar(35)").execute(),await t.schema.alterTable("sessions").modifyColumn("created_at","varchar(35)").execute(),await t.schema.alterTable("sessions").modifyColumn("updated_at","varchar(35)").execute(),await t.schema.alterTable("sessions").modifyColumn("expires_at","varchar(35)").execute(),await t.schema.alterTable("login_sessions").modifyColumn("created_at","varchar(35)").execute(),await t.schema.alterTable("login_sessions").modifyColumn("updated_at","varchar(35)").execute(),await t.schema.alterTable("login_sessions").modifyColumn("expires_at","varchar(35)").execute()),await t.schema.createIndex("idx_sessions_user_id").on("sessions").columns(["tenant_id","user_id"]).execute(),await t.schema.createIndex("idx_refresh_tokens_user_id").on("refresh_tokens").columns(["tenant_id","user_id"]).execute(),await t.schema.createIndex("idx_refresh_tokens_session_id").on("refresh_tokens").column("session_id").execute(),await t.schema.createIndex("idx_refresh_tokens_expires_at_ts").on("refresh_tokens").column("expires_at_ts").execute(),await t.schema.createIndex("idx_sessions_expires_at_ts").on("sessions").column("expires_at_ts").execute(),await t.schema.createIndex("idx_login_sessions_expires_at_ts").on("login_sessions").column("expires_at_ts").execute()}async function qe(t,e,n){try{await t.schema.dropIndex(e).on(n).execute()}catch(a){if(a instanceof Error&&a.message.includes("1091"))return;throw a}}async function F(t,e,n){try{await t.schema.alterTable(e).dropColumn(n).execute()}catch(a){if(a instanceof Error&&a.message.includes("1091"))return;throw a}}async function Tf(t){await qe(t,"idx_sessions_user_id","sessions"),await qe(t,"idx_refresh_tokens_user_id","refresh_tokens"),await qe(t,"idx_refresh_tokens_session_id","refresh_tokens"),await qe(t,"idx_refresh_tokens_expires_at_ts","refresh_tokens"),await qe(t,"idx_sessions_expires_at_ts","sessions"),await qe(t,"idx_login_sessions_expires_at_ts","login_sessions"),await F(t,"refresh_tokens","created_at_ts"),await F(t,"refresh_tokens","expires_at_ts"),await F(t,"refresh_tokens","idle_expires_at_ts"),await F(t,"refresh_tokens","last_exchanged_at_ts"),await F(t,"sessions","created_at_ts"),await F(t,"sessions","updated_at_ts"),await F(t,"sessions","expires_at_ts"),await F(t,"sessions","idle_expires_at_ts"),await F(t,"sessions","authenticated_at_ts"),await F(t,"sessions","last_interaction_at_ts"),await F(t,"sessions","used_at_ts"),await F(t,"sessions","revoked_at_ts"),await F(t,"login_sessions","created_at_ts"),await F(t,"login_sessions","updated_at_ts"),await F(t,"login_sessions","expires_at_ts")}const bf=Object.freeze(Object.defineProperty({__proto__:null,down:Tf,up:xf},Symbol.toStringTag,{value:"Module"}));async function Za(t){try{return await w`SELECT VERSION()`.execute(t),"mysql"}catch{return"sqlite"}}async function j(t,e,n){try{await t.schema.alterTable(e).dropColumn(n).execute(),console.log(` Dropped column ${e}.${n}`)}catch(a){const r=a instanceof Error?a.message:String(a);if(r.includes("1091")||r.includes("no such column")){console.log(` Column ${e}.${n} doesn't exist, skipping`);return}throw a}}async function Of(t){const e=await Za(t);console.log("Dropping indexes that depend on old date columns...");try{await w`DROP INDEX IF EXISTS login_sessions_state_updated_idx`.execute(t),console.log(" Dropped index login_sessions_state_updated_idx")}catch(n){console.log(` Warning: Failed to drop index login_sessions_state_updated_idx: ${n instanceof Error?n.message:String(n)}`)}console.log("Dropping old date columns..."),await j(t,"refresh_tokens","created_at"),await j(t,"refresh_tokens","expires_at"),await j(t,"refresh_tokens","idle_expires_at"),await j(t,"refresh_tokens","last_exchanged_at"),await j(t,"sessions","created_at"),await j(t,"sessions","updated_at"),await j(t,"sessions","expires_at"),await j(t,"sessions","idle_expires_at"),await j(t,"sessions","authenticated_at"),await j(t,"sessions","last_interaction_at"),await j(t,"sessions","used_at"),await j(t,"sessions","revoked_at"),await j(t,"login_sessions","created_at"),await j(t,"login_sessions","updated_at"),await j(t,"login_sessions","expires_at"),e==="mysql"&&(console.log("Increasing ID column sizes for ULID support..."),await t.schema.alterTable("login_sessions").modifyColumn("id","varchar(26)").execute(),await t.schema.alterTable("login_sessions").modifyColumn("session_id","varchar(26)").execute(),await t.schema.alterTable("login_sessions").modifyColumn("csrf_token","varchar(26)").execute(),await t.schema.alterTable("sessions").modifyColumn("id","varchar(26)").execute(),await t.schema.alterTable("sessions").modifyColumn("login_session_id","varchar(26)").execute(),await t.schema.alterTable("refresh_tokens").modifyColumn("id","varchar(26)").execute(),await t.schema.alterTable("refresh_tokens").modifyColumn("session_id","varchar(26)").execute()),console.log("Migration completed successfully")}async function Sf(t){await Za(t)==="mysql"&&(console.log("Restoring ID column sizes to varchar(21)..."),await t.schema.alterTable("login_sessions").modifyColumn("id","varchar(21)").execute(),await t.schema.alterTable("login_sessions").modifyColumn("session_id","varchar(21)").execute(),await t.schema.alterTable("login_sessions").modifyColumn("csrf_token","varchar(21)").execute(),await t.schema.alterTable("sessions").modifyColumn("id","varchar(21)").execute(),await t.schema.alterTable("sessions").modifyColumn("login_session_id","varchar(21)").execute(),await t.schema.alterTable("refresh_tokens").modifyColumn("id","varchar(21)").execute(),await t.schema.alterTable("refresh_tokens").modifyColumn("session_id","varchar(21)").execute()),console.log("Re-adding old date columns (data will be empty)..."),await t.schema.alterTable("refresh_tokens").addColumn("created_at","varchar(35)").execute(),await t.schema.alterTable("refresh_tokens").addColumn("expires_at","varchar(35)").execute(),await t.schema.alterTable("refresh_tokens").addColumn("idle_expires_at","varchar(35)").execute(),await t.schema.alterTable("refresh_tokens").addColumn("last_exchanged_at","varchar(35)").execute(),await t.schema.alterTable("sessions").addColumn("created_at","varchar(35)").execute(),await t.schema.alterTable("sessions").addColumn("updated_at","varchar(35)").execute(),await t.schema.alterTable("sessions").addColumn("expires_at","varchar(35)").execute(),await t.schema.alterTable("sessions").addColumn("idle_expires_at","varchar(35)").execute(),await t.schema.alterTable("sessions").addColumn("authenticated_at","varchar(35)").execute(),await t.schema.alterTable("sessions").addColumn("last_interaction_at","varchar(35)").execute(),await t.schema.alterTable("sessions").addColumn("used_at","varchar(35)").execute(),await t.schema.alterTable("sessions").addColumn("revoked_at","varchar(35)").execute(),await t.schema.alterTable("login_sessions").addColumn("created_at","varchar(35)").execute(),await t.schema.alterTable("login_sessions").addColumn("updated_at","varchar(35)").execute(),await t.schema.alterTable("login_sessions").addColumn("expires_at","varchar(35)").execute(),console.log("Rollback completed")}const kf=Object.freeze(Object.defineProperty({__proto__:null,down:Sf,up:Of},Symbol.toStringTag,{value:"Module"}));async function If(t){await t.schema.alterTable("users").dropColumn("user_metadata").execute(),await t.schema.alterTable("users").addColumn("user_metadata","text").execute(),await t.schema.alterTable("users").addColumn("middle_name","varchar(100)").execute(),await t.schema.alterTable("users").addColumn("profile","text").execute(),await t.schema.alterTable("users").addColumn("website","text").execute(),await t.schema.alterTable("users").addColumn("gender","varchar(50)").execute(),await t.schema.alterTable("users").addColumn("birthdate","varchar(10)").execute(),await t.schema.alterTable("users").addColumn("zoneinfo","varchar(100)").execute()}async function Ef(t){await t.schema.alterTable("users").dropColumn("middle_name").execute(),await t.schema.alterTable("users").dropColumn("profile").execute(),await t.schema.alterTable("users").dropColumn("website").execute(),await t.schema.alterTable("users").dropColumn("gender").execute(),await t.schema.alterTable("users").dropColumn("birthdate").execute(),await t.schema.alterTable("users").dropColumn("zoneinfo").execute(),await t.schema.alterTable("users").dropColumn("user_metadata").execute(),await t.schema.alterTable("users").addColumn("user_metadata","varchar(4096)").execute()}const $f=Object.freeze(Object.defineProperty({__proto__:null,down:Ef,up:If},Symbol.toStringTag,{value:"Module"}));async function Af(t){await t.schema.alterTable("users").addColumn("preferred_username","varchar(255)").execute()}async function Pf(t){await t.schema.alterTable("users").dropColumn("preferred_username").execute()}const Df=Object.freeze(Object.defineProperty({__proto__:null,down:Pf,up:Af},Symbol.toStringTag,{value:"Module"}));async function zf(t){await t.schema.alterTable("users").addColumn("address","text").execute()}async function Rf(t){await t.schema.alterTable("users").dropColumn("address").execute()}const Ff=Object.freeze(Object.defineProperty({__proto__:null,down:Rf,up:zf},Symbol.toStringTag,{value:"Module"}));async function jf(t){try{await t.schema.alterTable("login_sessions").addColumn("authParams_max_age","integer").execute(),console.log(" Added column authParams_max_age to login_sessions")}catch(e){console.log(` Warning: Could not add authParams_max_age column: ${e instanceof Error?e.message:String(e)}`)}try{await t.schema.alterTable("login_sessions").addColumn("authParams_acr_values","text").execute(),console.log(" Added column authParams_acr_values to login_sessions")}catch(e){console.log(` Warning: Could not add authParams_acr_values column: ${e instanceof Error?e.message:String(e)}`)}}async function Mf(t){try{await t.schema.alterTable("login_sessions").dropColumn("authParams_max_age").execute(),console.log(" Dropped column authParams_max_age from login_sessions")}catch(e){console.log(` Warning: Could not drop authParams_max_age column: ${e instanceof Error?e.message:String(e)}`)}try{await t.schema.alterTable("login_sessions").dropColumn("authParams_acr_values").execute(),console.log(" Dropped column authParams_acr_values from login_sessions")}catch(e){console.log(` Warning: Could not drop authParams_acr_values column: ${e instanceof Error?e.message:String(e)}`)}}const Lf=Object.freeze(Object.defineProperty({__proto__:null,down:Mf,up:jf},Symbol.toStringTag,{value:"Module"}));async function Jf(t){await t.schema.alterTable("clients").addColumn("auth0_conformant","integer",e=>e.defaultTo(1)).execute()}async function qf(t){await t.schema.alterTable("clients").dropColumn("auth0_conformant").execute()}const Wf=Object.freeze(Object.defineProperty({__proto__:null,down:qf,up:Jf},Symbol.toStringTag,{value:"Module"})),er={m1_init:Uc,m2_magicLink:Gc,m3_updateAt:Xc,m4_logTable:tl,m5_userProfile:rl,m6_sessions:il,m7_passwords:ul,m8_logsTableNewFields:ml,m9_passwordTableNewField:pl,n01_codesTable:yl,n11_universalLoginSession:Cl,n12_userFields:bl,n13_userEmailIndex:kl,n14_profileDataField:$l,n15_userEmailIndex:Dl,n16_userLocale:Fl,n17_signingKeys:Ll,n18_logsFields:Wl,n19_connectionsUserinfo:Ul,n20_missingFields:Gl,n21_sessionDeletedAt:Xl,n22_dropLogsFields:tu,n23_dropUsersFields:ru,n24_logsIndexes:iu,n25_logDescMaxLength:uu,n26_logsTableExtraFields:mu,n27_usersTableNameIndex:pu,n28_usersEmailConstrain:yu,n29_increaseOtpStateLength:Cu,n30_increaseTicketStateLength:bu,n31_branding:ku,n32_indexesAndNotNull:$u,n33_vendorIdInUniversalLoginSession:Du,n34_auth0ClientInUniversalLoginSession:Fu,n35_increaseUniversalSessionStateLength:Lu,n36_authenticationCodes:Wu,n37_disableSignUps:Uu,n38_otpIpAddress:Gu,n39_increaseUserAgentLength:Xu,n40_userId:td,n41_hooks:rd,n42_userIdIndexes:id,n43_userIdIndexes:ud,n44_codes:md,n45_hookProperties:pd,n46_loginAuth0Client:yd,n47_loginAuth0Client:Cd,n48_saml:bd,n49_removeFields:kd,n50_authParamsNonce:$d,n51_connectionid:Dd,n52_cert:Fd,n53_codes_primary_key:Ld,n54_cleanup_tables:Wd,n55_logs_index:Ud,n56_application_fields:Gd,n57_prompt_settings:Xd,n58_connection_client_id:t_,n59_connection_options:r_,n60_users_metadata:i_,n61_userLocales:u_,n62_prompt:m_,n63_connection_cleanup:p_,n64_act_as:y_,n65_code_verifier:C_,n66_email_providers:b_,n67_drop_tickets:k_,n68_login_useragents:$_,n70_refresh_tokens:D_,n71_session_new_fields:F_,n72_session_primary_key:L_,n73_drop_sessions:W_,n74_custom_domains:U_,n75_organizations:G_,n76_authorization_url_length:X_,n77_drop_sessions:tm,n78_login_sessions:rm,n79_drop_sessions_2:im,n80_recreate_custom_domains:um,n81_phone:mm,n82_forms:pm,n83_addFormsIdToHooks:ym,n84_login_completed:Cm,n85_add_login_session_id_to_sessions:bm,n86_index_sessions_login_session_id:km,n87_code_challenge:$m,n88_add_redirect_uri_to_codes:Dm,n89_add_nonce_and_state_to_codes:Fm,n90_themes:Lm,n91_resource_servers_rules_permissions:Wm,n92_role_permissions:Um,n93_add_permissions_to_roles:Gm,n94_keys_connection_and_extend_columns:Xm,n95_create_organizations_table:th,n96_create_user_organizations_table:rh,n97_add_organization_to_user_permissions_and_roles:ih,n98_clients:uh,n99_update_client_foreign_keys:gh,o001_client_grants:vh,o002_drop_applications:xh,o003_phone_number_index:Oh,o004_login_sessions_id_index:Ih,o005_connections_tenant_index:Ah,o006_remove_redundant_user_organizations_tenant_index:zh,o007_tenant_settings:jh,o008_merge_tenant_settings_into_tenants:Jh,o009_create_invites_table:Bh,o010_add_log_id_to_logs:Qh,o011_add_location_info_to_logs:Yh,o012_add_password_history:Zh,o013_connection_display_name:nf,o014_client_connections:of,o015_flows:lf,o016_add_is_system_column:_f,o017_connections_composite_key:ff,o018_login_session_state:wf,o019_roles_resource_servers_metadata:Nf,o020_session_add_timestamp_columns:bf,o021_session_cleanup_and_ulid:kf,o022_oidc_profile_claims:$f,o023_preferred_username:Df,o024_user_address:Ff,o025_authparams_max_age:Lf,o026_auth0_conformant:Wf};async function Bf(t,e=!1){e&&console.log("migrating...");const n=new Ha(er),a=new Ra({db:t,provider:n}),{error:r,results:o}=await a.migrateToLatest();if(o==null||o.forEach(s=>{s.status==="Success"?e&&console.log(`migration "${s.migrationName}" was executed successfully`):s.status==="Error"&&console.error(`failed to execute migration "${s.migrationName}"`)}),r)throw console.error("failed to migrate"),console.error(r),r}async function Kf(t){console.log("migrating...");const e=new Ha(er),n=new Ra({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 Uf(t){return{branding:Ko(t),cleanup:Ns(t),clients:wo(t),clientConnections:To(t),clientGrants:Eo(t),legacyClients:$o(t),codes:Xr(t),connections:_o(t),emailProviders:hs(t),customDomains:qo(t),flows:Cr(t),forms:Ss(t),hooks:Ho(t),invites:Jc(t),keys:zo(t),loginSessions:is(t),logs:Dr(t),passwords:Ur(t),promptSettings:us(t),refreshTokens:vs(t),resourceServers:Ps(t),rolePermissions:Ws(t),userPermissions:Vs(t),userRoles:Zs(t),roles:Ms(t),sessions:Jr(t),tenants:Ir(t),themes:ns(t),users:_r(t),organizations:kc(t),userOrganizations:zc(t),stats:Wc(t)}}exports.default=Uf;exports.migrateDown=Kf;exports.migrateToLatest=Bf;