@authhero/drizzle 0.38.1 → 0.38.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/drizzle-adapter.cjs +3 -3
- package/dist/drizzle-adapter.mjs +1307 -1245
- package/package.json +1 -1
package/dist/drizzle-adapter.cjs
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
"use strict";var yr=Object.defineProperty;var wr=(n,i,e)=>i in n?yr(n,i,{enumerable:!0,configurable:!0,writable:!0,value:e}):n[i]=e;var m=(n,i,e)=>wr(n,typeof i!="symbol"?i+"":i,e);Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const v=Symbol.for("drizzle:entityKind");function Y(n,i){if(!n||typeof n!="object")return!1;if(n instanceof i)return!0;if(!Object.prototype.hasOwnProperty.call(i,v))throw new Error(`Class "${i.name??"<unknown>"}" doesn't look like a Drizzle entity. If this is incorrect and the class is provided by Drizzle, please report this as a bug.`);let e=Object.getPrototypeOf(n).constructor;if(e)for(;e;){if(v in e&&e[v]===i[v])return!0;e=Object.getPrototypeOf(e)}return!1}var jt;jt=v;class Qe{constructor(i,e){m(this,"name");m(this,"keyAsName");m(this,"primary");m(this,"notNull");m(this,"default");m(this,"defaultFn");m(this,"onUpdateFn");m(this,"hasDefault");m(this,"isUnique");m(this,"uniqueName");m(this,"uniqueType");m(this,"dataType");m(this,"columnType");m(this,"enumValues");m(this,"generated");m(this,"generatedIdentity");m(this,"config");this.table=i,this.config=e,this.name=e.name,this.keyAsName=e.keyAsName,this.notNull=e.notNull,this.default=e.default,this.defaultFn=e.defaultFn,this.onUpdateFn=e.onUpdateFn,this.hasDefault=e.hasDefault,this.primary=e.primaryKey,this.isUnique=e.isUnique,this.uniqueName=e.uniqueName,this.uniqueType=e.uniqueType,this.dataType=e.dataType,this.columnType=e.columnType,this.generated=e.generated,this.generatedIdentity=e.generatedIdentity}mapFromDriverValue(i){return i}mapToDriverValue(i){return i}shouldDisableInsert(){return this.config.generated!==void 0&&this.config.generated.type!=="byDefault"}}m(Qe,jt,"Column");var Mt;Mt=v;class Ti{constructor(i,e,t){m(this,"config");m(this,"$default",this.$defaultFn);m(this,"$onUpdate",this.$onUpdateFn);this.config={name:i,keyAsName:i==="",notNull:!1,default:void 0,hasDefault:!1,primaryKey:!1,isUnique:!1,uniqueName:void 0,uniqueType:void 0,dataType:e,columnType:t,generated:void 0}}$type(){return this}notNull(){return this.config.notNull=!0,this}default(i){return this.config.default=i,this.config.hasDefault=!0,this}$defaultFn(i){return this.config.defaultFn=i,this.config.hasDefault=!0,this}$onUpdateFn(i){return this.config.onUpdateFn=i,this.config.hasDefault=!0,this}primaryKey(){return this.config.primaryKey=!0,this.config.notNull=!0,this}setName(i){this.config.name===""&&(this.config.name=i)}}m(Ti,Mt,"ColumnBuilder");const ze=Symbol.for("drizzle:Name"),Tt=Symbol.for("drizzle:isPgEnum");function Nr(n){return!!n&&typeof n=="function"&&Tt in n&&n[Tt]===!0}var Vt;Vt=v;class xt{constructor(i,e,t,r=!1,o=[]){this._={brand:"Subquery",sql:i,selectedFields:e,alias:t,isWith:r,usedTables:o}}}m(xt,Vt,"Subquery");const vr={startActiveSpan(n,i){return i()}},Ae=Symbol.for("drizzle:ViewBaseConfig"),Ze=Symbol.for("drizzle:Schema"),qt=Symbol.for("drizzle:Columns"),Lt=Symbol.for("drizzle:ExtraConfigColumns"),et=Symbol.for("drizzle:OriginalName"),tt=Symbol.for("drizzle:BaseName"),Re=Symbol.for("drizzle:IsAlias"),Et=Symbol.for("drizzle:ExtraConfigBuilder"),Sr=Symbol.for("drizzle:IsDrizzleTable");var Rt,Wt,Ht,Gt,Yt,Xt,Zt,en,tn,nn;nn=v,tn=ze,en=et,Zt=Ze,Xt=qt,Yt=Lt,Gt=tt,Ht=Re,Wt=Sr,Rt=Et;class j{constructor(i,e,t){m(this,tn);m(this,en);m(this,Zt);m(this,Xt);m(this,Yt);m(this,Gt);m(this,Ht,!1);m(this,Wt,!0);m(this,Rt);this[ze]=this[et]=i,this[Ze]=e,this[tt]=t}}m(j,nn,"Table"),m(j,"Symbol",{Name:ze,Schema:Ze,OriginalName:et,Columns:qt,ExtraConfigColumns:Lt,BaseName:tt,IsAlias:Re,ExtraConfigBuilder:Et});function qi(n){return n!=null&&typeof n.getSQL=="function"}function br(n){var e;const i={sql:"",params:[]};for(const t of n)i.sql+=t.sql,i.params.push(...t.params),(e=t.typings)!=null&&e.length&&(i.typings||(i.typings=[]),i.typings.push(...t.typings));return i}var rn;rn=v;class X{constructor(i){m(this,"value");this.value=Array.isArray(i)?i:[i]}getSQL(){return new Q([this])}}m(X,rn,"StringChunk");var sn;sn=v;const De=class De{constructor(i){m(this,"decoder",Li);m(this,"shouldInlineParams",!1);m(this,"usedTables",[]);this.queryChunks=i;for(const e of i)if(Y(e,j)){const t=e[j.Symbol.Schema];this.usedTables.push(t===void 0?e[j.Symbol.Name]:t+"."+e[j.Symbol.Name])}}append(i){return this.queryChunks.push(...i.queryChunks),this}toQuery(i){return vr.startActiveSpan("drizzle.buildSQL",e=>{const t=this.buildQueryFromSourceParams(this.queryChunks,i);return e==null||e.setAttributes({"drizzle.query.text":t.sql,"drizzle.query.params":JSON.stringify(t.params)}),t})}buildQueryFromSourceParams(i,e){const t=Object.assign({},e,{inlineParams:e.inlineParams||this.shouldInlineParams,paramStartIndex:e.paramStartIndex||{value:0}}),{casing:r,escapeName:o,escapeParam:l,prepareTyping:_,inlineParams:d,paramStartIndex:c}=t;return br(i.map(u=>{var h;if(Y(u,X))return{sql:u.value.join(""),params:[]};if(Y(u,We))return{sql:o(u.value),params:[]};if(u===void 0)return{sql:"",params:[]};if(Array.isArray(u)){const f=[new X("(")];for(const[y,w]of u.entries())f.push(w),y<u.length-1&&f.push(new X(", "));return f.push(new X(")")),this.buildQueryFromSourceParams(f,t)}if(Y(u,De))return this.buildQueryFromSourceParams(u.queryChunks,{...t,inlineParams:d||u.shouldInlineParams});if(Y(u,j)){const f=u[j.Symbol.Schema],y=u[j.Symbol.Name];return{sql:f===void 0||u[Re]?o(y):o(f)+"."+o(y),params:[]}}if(Y(u,Qe)){const f=r.getColumnCasing(u);if(e.invokeSource==="indexes")return{sql:o(f),params:[]};const y=u.table[j.Symbol.Schema];return{sql:u.table[Re]||y===void 0?o(u.table[j.Symbol.Name])+"."+o(f):o(y)+"."+o(u.table[j.Symbol.Name])+"."+o(f),params:[]}}if(Y(u,Dt)){const f=u[Ae].schema,y=u[Ae].name;return{sql:f===void 0||u[Ae].isAlias?o(y):o(f)+"."+o(y),params:[]}}if(Y(u,Ce)){if(Y(u.value,$e))return{sql:l(c.value++,u),params:[u],typings:["none"]};const f=u.value===null?null:u.encoder.mapToDriverValue(u.value);if(Y(f,De))return this.buildQueryFromSourceParams([f],t);if(d)return{sql:this.mapInlineParam(f,t),params:[]};let y=["none"];return _&&(y=[_(u.encoder)]),{sql:l(c.value++,f),params:[f],typings:y}}return Y(u,$e)?{sql:l(c.value++,u),params:[u],typings:["none"]}:Y(u,De.Aliased)&&u.fieldAlias!==void 0?{sql:o(u.fieldAlias),params:[]}:Y(u,xt)?u._.isWith?{sql:o(u._.alias),params:[]}:this.buildQueryFromSourceParams([new X("("),u._.sql,new X(") "),new We(u._.alias)],t):Nr(u)?u.schema?{sql:o(u.schema)+"."+o(u.enumName),params:[]}:{sql:o(u.enumName),params:[]}:qi(u)?(h=u.shouldOmitSQLParens)!=null&&h.call(u)?this.buildQueryFromSourceParams([u.getSQL()],t):this.buildQueryFromSourceParams([new X("("),u.getSQL(),new X(")")],t):d?{sql:this.mapInlineParam(u,t),params:[]}:{sql:l(c.value++,u),params:[u],typings:["none"]}}))}mapInlineParam(i,{escapeString:e}){if(i===null)return"null";if(typeof i=="number"||typeof i=="boolean")return i.toString();if(typeof i=="string")return e(i);if(typeof i=="object"){const t=i.toString();return e(t==="[object Object]"?JSON.stringify(i):t)}throw new Error("Unexpected param value: "+i)}getSQL(){return this}as(i){return i===void 0?this:new De.Aliased(this,i)}mapWith(i){return this.decoder=typeof i=="function"?{mapFromDriverValue:i}:i,this}inlineParams(){return this.shouldInlineParams=!0,this}if(i){return i?this:void 0}};m(De,sn,"SQL");let Q=De;var on;on=v;class We{constructor(i){m(this,"brand");this.value=i}getSQL(){return new Q([this])}}m(We,on,"Name");function xr(n){return typeof n=="object"&&n!==null&&"mapToDriverValue"in n&&typeof n.mapToDriverValue=="function"}const Li={mapFromDriverValue:n=>n},Ei={mapToDriverValue:n=>n};({...Li,...Ei});var an;an=v;class Ce{constructor(i,e=Ei){m(this,"brand");this.value=i,this.encoder=e}getSQL(){return new Q([this])}}m(Ce,an,"Param");function N(n,...i){const e=[];(i.length>0||n.length>0&&n[0]!=="")&&e.push(new X(n[0]));for(const[t,r]of i.entries())e.push(r,new X(n[t+1]));return new Q(e)}(n=>{function i(){return new Q([])}n.empty=i;function e(d){return new Q(d)}n.fromList=e;function t(d){return new Q([new X(d)])}n.raw=t;function r(d,c){const u=[];for(const[h,f]of d.entries())h>0&&c!==void 0&&u.push(c),u.push(f);return new Q(u)}n.join=r;function o(d){return new We(d)}n.identifier=o;function l(d){return new $e(d)}n.placeholder=l;function _(d,c){return new Ce(d,c)}n.param=_})(N||(N={}));(n=>{var e;e=v;const t=class t{constructor(o,l){m(this,"isSelectionField",!1);this.sql=o,this.fieldAlias=l}getSQL(){return this.sql}clone(){return new t(this.sql,this.fieldAlias)}};m(t,e,"SQL.Aliased");let i=t;n.Aliased=i})(Q||(Q={}));var ln;ln=v;class $e{constructor(i){this.name=i}getSQL(){return new Q([this])}}m($e,ln,"Placeholder");const Dr=Symbol.for("drizzle:IsDrizzleView");var _n,un,dn;dn=v,un=Ae,_n=Dr;class Dt{constructor({name:i,schema:e,selectedFields:t,query:r}){m(this,un);m(this,_n,!0);this[Ae]={name:i,originalName:i,schema:e,selectedFields:t,query:r,isExisting:!r,isAlias:!1}}getSQL(){return new Q([this])}}m(Dt,dn,"View");Qe.prototype.getSQL=function(){return new Q([this])};j.prototype.getSQL=function(){return new Q([this])};xt.prototype.getSQL=function(){return new Q([this])};function Je(n,i){return{name:typeof n=="string"&&n.length>0?n:"",config:typeof n=="object"?n:i}}const Ai=typeof TextDecoder>"u"?null:new TextDecoder;function Se(n,i){return xr(i)&&!qi(n)&&!Y(n,Ce)&&!Y(n,$e)&&!Y(n,Qe)&&!Y(n,j)&&!Y(n,Dt)?new Ce(n,i):n}const a=(n,i)=>N`${n} = ${Se(i,n)}`,Or=(n,i)=>N`${n} <> ${Se(i,n)}`;function g(...n){const i=n.filter(e=>e!==void 0);if(i.length!==0)return i.length===1?new Q(i):new Q([new X("("),N.join(i,new X(" and ")),new X(")")])}function de(...n){const i=n.filter(e=>e!==void 0);if(i.length!==0)return i.length===1?new Q(i):new Q([new X("("),N.join(i,new X(" or ")),new X(")")])}const He=(n,i)=>N`${n} > ${Se(i,n)}`,Ge=(n,i)=>N`${n} >= ${Se(i,n)}`,xe=(n,i)=>N`${n} < ${Se(i,n)}`,Oe=(n,i)=>N`${n} <= ${Se(i,n)}`;function we(n,i){return Array.isArray(i)?i.length===0?N`false`:N`${n} in ${i.map(e=>Se(e,n))}`:N`${n} in ${Se(i,n)}`}function ye(n){return N`${n} is null`}function Ve(n){return N`${n} is not null`}function Ie(n,i){return N`${n} like ${i}`}function H(n){return N`${n} asc`}function M(n){return N`${n} desc`}function V(n){return N`count(${N.raw("*")})`.mapWith(Number)}function kr(){const n=i=>{throw new Error(`Actions are not implemented in the Drizzle adapter (called ${i}). Use the Kysely adapter for tenants that require actions.`)};return{create:()=>n("create"),get:()=>n("get"),list:()=>n("list"),update:()=>n("update"),remove:()=>n("remove")}}var cn;cn=v;class Ci{constructor(i,e){m(this,"reference");m(this,"_onUpdate");m(this,"_onDelete");this.reference=()=>{const{name:t,columns:r,foreignColumns:o}=i();return{name:t,columns:r,foreignTable:o[0].table,foreignColumns:o}},e&&(this._onUpdate=e.onUpdate,this._onDelete=e.onDelete)}onUpdate(i){return this._onUpdate=i,this}onDelete(i){return this._onDelete=i,this}build(i){return new $i(i,this)}}m(Ci,cn,"SQLiteForeignKeyBuilder");var gn;gn=v;class $i{constructor(i,e){m(this,"reference");m(this,"onUpdate");m(this,"onDelete");this.table=i,this.reference=e.reference,this.onUpdate=e._onUpdate,this.onDelete=e._onDelete}getName(){const{name:i,columns:e,foreignColumns:t}=this.reference(),r=e.map(_=>_.name),o=t.map(_=>_.name),l=[this.table[ze],...r,t[0].table[ze],...o];return i??`${l.join("_")}_fk`}}m($i,gn,"SQLiteForeignKey");function Ir(n,i){return`${n[ze]}_${i.join("_")}_unique`}var fn,mn;class ce extends(mn=Ti,fn=v,mn){constructor(){super(...arguments);m(this,"foreignKeyConfigs",[])}references(e,t={}){return this.foreignKeyConfigs.push({ref:e,actions:t}),this}unique(e){return this.config.isUnique=!0,this.config.uniqueName=e,this}generatedAlwaysAs(e,t){return this.config.generated={as:e,type:"always",mode:(t==null?void 0:t.mode)??"virtual"},this}buildForeignKeys(e,t){return this.foreignKeyConfigs.map(({ref:r,actions:o})=>((l,_)=>{const d=new Ci(()=>{const c=l();return{columns:[e],foreignColumns:[c]}});return _.onUpdate&&d.onUpdate(_.onUpdate),_.onDelete&&d.onDelete(_.onDelete),d.build(t)})(r,o))}}m(ce,fn,"SQLiteColumnBuilder");var hn,pn;class ge extends(pn=Qe,hn=v,pn){constructor(i,e){e.uniqueName||(e.uniqueName=Ir(i,[e.name])),super(i,e),this.table=i}}m(ge,hn,"SQLiteColumn");var yn,wn;class Bi extends(wn=ce,yn=v,wn){constructor(i){super(i,"bigint","SQLiteBigInt")}build(i){return new Pi(i,this.config)}}m(Bi,yn,"SQLiteBigIntBuilder");var Nn,vn;class Pi extends(vn=ge,Nn=v,vn){getSQLType(){return"blob"}mapFromDriverValue(i){if(typeof Buffer<"u"&&Buffer.from){const e=Buffer.isBuffer(i)?i:i instanceof ArrayBuffer?Buffer.from(i):i.buffer?Buffer.from(i.buffer,i.byteOffset,i.byteLength):Buffer.from(i);return BigInt(e.toString("utf8"))}return BigInt(Ai.decode(i))}mapToDriverValue(i){return Buffer.from(i.toString())}}m(Pi,Nn,"SQLiteBigInt");var Sn,bn;class Qi extends(bn=ce,Sn=v,bn){constructor(i){super(i,"json","SQLiteBlobJson")}build(i){return new Ji(i,this.config)}}m(Qi,Sn,"SQLiteBlobJsonBuilder");var xn,Dn;class Ji extends(Dn=ge,xn=v,Dn){getSQLType(){return"blob"}mapFromDriverValue(i){if(typeof Buffer<"u"&&Buffer.from){const e=Buffer.isBuffer(i)?i:i instanceof ArrayBuffer?Buffer.from(i):i.buffer?Buffer.from(i.buffer,i.byteOffset,i.byteLength):Buffer.from(i);return JSON.parse(e.toString("utf8"))}return JSON.parse(Ai.decode(i))}mapToDriverValue(i){return Buffer.from(JSON.stringify(i))}}m(Ji,xn,"SQLiteBlobJson");var On,kn;class Fi extends(kn=ce,On=v,kn){constructor(i){super(i,"buffer","SQLiteBlobBuffer")}build(i){return new Ui(i,this.config)}}m(Fi,On,"SQLiteBlobBufferBuilder");var In,zn;class Ui extends(zn=ge,In=v,zn){mapFromDriverValue(i){return Buffer.isBuffer(i)?i:Buffer.from(i)}getSQLType(){return"blob"}}m(Ui,In,"SQLiteBlobBuffer");function zr(n,i){const{name:e,config:t}=Je(n,i);return(t==null?void 0:t.mode)==="json"?new Qi(e):(t==null?void 0:t.mode)==="bigint"?new Bi(e):new Fi(e)}var Tn,qn;class Ki extends(qn=ce,Tn=v,qn){constructor(i,e,t){super(i,"custom","SQLiteCustomColumn"),this.config.fieldConfig=e,this.config.customTypeParams=t}build(i){return new ji(i,this.config)}}m(Ki,Tn,"SQLiteCustomColumnBuilder");var Ln,En;class ji extends(En=ge,Ln=v,En){constructor(e,t){super(e,t);m(this,"sqlName");m(this,"mapTo");m(this,"mapFrom");this.sqlName=t.customTypeParams.dataType(t.fieldConfig),this.mapTo=t.customTypeParams.toDriver,this.mapFrom=t.customTypeParams.fromDriver}getSQLType(){return this.sqlName}mapFromDriverValue(e){return typeof this.mapFrom=="function"?this.mapFrom(e):e}mapToDriverValue(e){return typeof this.mapTo=="function"?this.mapTo(e):e}}m(ji,Ln,"SQLiteCustomColumn");function Tr(n){return(i,e)=>{const{name:t,config:r}=Je(i,e);return new Ki(t,r,n)}}var An,Cn;class Ye extends(Cn=ce,An=v,Cn){constructor(i,e,t){super(i,e,t),this.config.autoIncrement=!1}primaryKey(i){return i!=null&&i.autoIncrement&&(this.config.autoIncrement=!0),this.config.hasDefault=!0,super.primaryKey()}}m(Ye,An,"SQLiteBaseIntegerBuilder");var $n,Bn;class Xe extends(Bn=ge,$n=v,Bn){constructor(){super(...arguments);m(this,"autoIncrement",this.config.autoIncrement)}getSQLType(){return"integer"}}m(Xe,$n,"SQLiteBaseInteger");var Pn,Qn;class Mi extends(Qn=Ye,Pn=v,Qn){constructor(i){super(i,"number","SQLiteInteger")}build(i){return new Vi(i,this.config)}}m(Mi,Pn,"SQLiteIntegerBuilder");var Jn,Fn;class Vi extends(Fn=Xe,Jn=v,Fn){}m(Vi,Jn,"SQLiteInteger");var Un,Kn;class Ri extends(Kn=Ye,Un=v,Kn){constructor(i,e){super(i,"date","SQLiteTimestamp"),this.config.mode=e}defaultNow(){return this.default(N`(cast((julianday('now') - 2440587.5)*86400000 as integer))`)}build(i){return new Wi(i,this.config)}}m(Ri,Un,"SQLiteTimestampBuilder");var jn,Mn;class Wi extends(Mn=Xe,jn=v,Mn){constructor(){super(...arguments);m(this,"mode",this.config.mode)}mapFromDriverValue(e){return this.config.mode==="timestamp"?new Date(e*1e3):new Date(e)}mapToDriverValue(e){const t=e.getTime();return this.config.mode==="timestamp"?Math.floor(t/1e3):t}}m(Wi,jn,"SQLiteTimestamp");var Vn,Rn;class Hi extends(Rn=Ye,Vn=v,Rn){constructor(i,e){super(i,"boolean","SQLiteBoolean"),this.config.mode=e}build(i){return new Gi(i,this.config)}}m(Hi,Vn,"SQLiteBooleanBuilder");var Wn,Hn;class Gi extends(Hn=Xe,Wn=v,Hn){constructor(){super(...arguments);m(this,"mode",this.config.mode)}mapFromDriverValue(e){return Number(e)===1}mapToDriverValue(e){return e?1:0}}m(Gi,Wn,"SQLiteBoolean");function p(n,i){const{name:e,config:t}=Je(n,i);return(t==null?void 0:t.mode)==="timestamp"||(t==null?void 0:t.mode)==="timestamp_ms"?new Ri(e,t.mode):(t==null?void 0:t.mode)==="boolean"?new Hi(e,t.mode):new Mi(e)}var Gn,Yn;class Yi extends(Yn=ce,Gn=v,Yn){constructor(i){super(i,"string","SQLiteNumeric")}build(i){return new Xi(i,this.config)}}m(Yi,Gn,"SQLiteNumericBuilder");var Xn,Zn;class Xi extends(Zn=ge,Xn=v,Zn){mapFromDriverValue(i){return typeof i=="string"?i:String(i)}getSQLType(){return"numeric"}}m(Xi,Xn,"SQLiteNumeric");var ei,ti;class Zi extends(ti=ce,ei=v,ti){constructor(i){super(i,"number","SQLiteNumericNumber")}build(i){return new er(i,this.config)}}m(Zi,ei,"SQLiteNumericNumberBuilder");var ni,ii;class er extends(ii=ge,ni=v,ii){constructor(){super(...arguments);m(this,"mapToDriverValue",String)}mapFromDriverValue(e){return typeof e=="number"?e:Number(e)}getSQLType(){return"numeric"}}m(er,ni,"SQLiteNumericNumber");var ri,si;class tr extends(si=ce,ri=v,si){constructor(i){super(i,"bigint","SQLiteNumericBigInt")}build(i){return new nr(i,this.config)}}m(tr,ri,"SQLiteNumericBigIntBuilder");var oi,ai;class nr extends(ai=ge,oi=v,ai){constructor(){super(...arguments);m(this,"mapFromDriverValue",BigInt);m(this,"mapToDriverValue",String)}getSQLType(){return"numeric"}}m(nr,oi,"SQLiteNumericBigInt");function qr(n,i){const{name:e,config:t}=Je(n,i),r=t==null?void 0:t.mode;return r==="number"?new Zi(e):r==="bigint"?new tr(e):new Yi(e)}var li,_i;class ir extends(_i=ce,li=v,_i){constructor(i){super(i,"number","SQLiteReal")}build(i){return new rr(i,this.config)}}m(ir,li,"SQLiteRealBuilder");var ui,di;class rr extends(di=ge,ui=v,di){getSQLType(){return"real"}}m(rr,ui,"SQLiteReal");function Lr(n){return new ir(n??"")}var ci,gi;class sr extends(gi=ce,ci=v,gi){constructor(i,e){super(i,"string","SQLiteText"),this.config.enumValues=e.enum,this.config.length=e.length}build(i){return new or(i,this.config)}}m(sr,ci,"SQLiteTextBuilder");var fi,mi;class or extends(mi=ge,fi=v,mi){constructor(e,t){super(e,t);m(this,"enumValues",this.config.enumValues);m(this,"length",this.config.length)}getSQLType(){return`text${this.config.length?`(${this.config.length})`:""}`}}m(or,fi,"SQLiteText");var hi,pi;class ar extends(pi=ce,hi=v,pi){constructor(i){super(i,"json","SQLiteTextJson")}build(i){return new lr(i,this.config)}}m(ar,hi,"SQLiteTextJsonBuilder");var yi,wi;class lr extends(wi=ge,yi=v,wi){getSQLType(){return"text"}mapFromDriverValue(i){return JSON.parse(i)}mapToDriverValue(i){return JSON.stringify(i)}}m(lr,yi,"SQLiteTextJson");function s(n,i={}){const{name:e,config:t}=Je(n,i);return t.mode==="json"?new ar(e):new sr(e,t)}function Er(){return{blob:zr,customType:Tr,integer:p,numeric:qr,real:Lr,text:s}}const pt=Symbol.for("drizzle:SQLiteInlineForeignKeys");var Ni,vi,Si,bi,xi;class Be extends(xi=j,bi=v,Si=j.Symbol.Columns,vi=pt,Ni=j.Symbol.ExtraConfigBuilder,xi){constructor(){super(...arguments);m(this,Si);m(this,vi,[]);m(this,Ni)}}m(Be,bi,"SQLiteTable"),m(Be,"Symbol",Object.assign({},j.Symbol,{InlineForeignKeys:pt}));function Ar(n,i,e,t,r=n){const o=new Be(n,t,r),l=typeof i=="function"?i(Er()):i,_=Object.fromEntries(Object.entries(l).map(([c,u])=>{const h=u;h.setName(c);const f=h.build(o);return o[pt].push(...h.buildForeignKeys(f,o)),[c,f]})),d=Object.assign(o,_);return d[j.Symbol.Columns]=_,d[j.Symbol.ExtraConfigColumns]=_,e&&(d[Be.Symbol.ExtraConfigBuilder]=e),d}const O=(n,i,e)=>Ar(n,i,e);var Di;Di=v;class Ot{constructor(i,e){this.name=i,this.unique=e}on(...i){return new _r(this.name,i,this.unique)}}m(Ot,Di,"SQLiteIndexBuilderOn");var Oi;Oi=v;class _r{constructor(i,e,t){m(this,"config");this.config={name:i,columns:e,unique:t,where:void 0}}where(i){return this.config.where=i,this}build(i){return new ur(this.config,i)}}m(_r,Oi,"SQLiteIndexBuilder");var ki;ki=v;class ur{constructor(i,e){m(this,"config");this.config={...i,table:e}}}m(ur,ki,"SQLiteIndex");function S(n){return new Ot(n,!1)}function Te(n){return new Ot(n,!0)}function se(...n){return n[0].columns?new yt(n[0].columns,n[0].name):new yt(n)}var Ii;Ii=v;class yt{constructor(i,e){m(this,"columns");m(this,"name");this.columns=i,this.name=e}build(i){return new dr(i,this.columns,this.name)}}m(yt,Ii,"SQLitePrimaryKeyBuilder");var zi;zi=v;class dr{constructor(i,e,t){m(this,"columns");m(this,"name");this.table=i,this.columns=e,this.name=t}getName(){return this.name??`${this.table[Be.Symbol.Name]}_${this.columns.map(i=>i.name).join("_")}_pk`}}m(dr,zi,"SQLitePrimaryKey");const D=O("tenants",{id:s("id",{length:191}).primaryKey(),name:s("name",{length:255}),audience:s("audience",{length:255}),sender_email:s("sender_email",{length:255}),sender_name:s("sender_name",{length:255}),language:s("language",{length:255}),logo:s("logo",{length:255}),primary_color:s("primary_color",{length:255}),secondary_color:s("secondary_color",{length:255}),created_at:s("created_at",{length:35}).notNull(),updated_at:s("updated_at",{length:35}).notNull(),support_url:s("support_url",{length:255}),idle_session_lifetime:p("idle_session_lifetime"),session_lifetime:p("session_lifetime"),session_cookie:s("session_cookie"),allowed_logout_urls:s("allowed_logout_urls"),ephemeral_session_lifetime:p("ephemeral_session_lifetime"),idle_ephemeral_session_lifetime:p("idle_ephemeral_session_lifetime"),default_redirection_uri:s("default_redirection_uri"),enabled_locales:s("enabled_locales"),default_directory:s("default_directory",{length:255}),error_page:s("error_page"),flags:s("flags"),friendly_name:s("friendly_name",{length:255}),picture_url:s("picture_url"),support_email:s("support_email",{length:255}),sandbox_version:s("sandbox_version",{length:50}),sandbox_versions_available:s("sandbox_versions_available"),legacy_sandbox_version:s("legacy_sandbox_version",{length:50}),change_password:s("change_password"),guardian_mfa_page:s("guardian_mfa_page"),device_flow:s("device_flow"),default_token_quota:s("default_token_quota"),default_audience:s("default_audience",{length:255}),default_organization:s("default_organization",{length:255}),sessions:s("sessions"),oidc_logout:s("oidc_logout"),allow_organization_name_in_authentication_api:p("allow_organization_name_in_authentication_api"),customize_mfa_in_postlogin_action:p("customize_mfa_in_postlogin_action"),acr_values_supported:s("acr_values_supported"),mtls:s("mtls"),pushed_authorization_requests_supported:p("pushed_authorization_requests_supported"),authorization_response_iss_parameter_supported:p("authorization_response_iss_parameter_supported")}),k=O("users",{user_id:s("user_id",{length:255}).notNull(),tenant_id:s("tenant_id",{length:191}).notNull().references(()=>D.id,{onDelete:"cascade"}),email:s("email",{length:255}),given_name:s("given_name",{length:255}),family_name:s("family_name",{length:255}),nickname:s("nickname",{length:255}),name:s("name",{length:255}),picture:s("picture",{length:2083}),tags:s("tags",{length:255}),phone_number:s("phone_number",{length:17}),phone_verified:p("phone_verified",{mode:"boolean"}),username:s("username",{length:128}),created_at:s("created_at",{length:35}).notNull(),updated_at:s("updated_at",{length:35}).notNull(),linked_to:s("linked_to",{length:255}),last_ip:s("last_ip",{length:255}),login_count:p("login_count").notNull(),last_login:s("last_login",{length:255}),registration_completed_at:s("registration_completed_at",{length:35}),provider:s("provider",{length:255}).notNull(),connection:s("connection",{length:255}),email_verified:p("email_verified",{mode:"boolean"}).notNull(),is_social:p("is_social",{mode:"boolean"}).notNull(),app_metadata:s("app_metadata",{length:4096}).notNull().default("{}"),user_metadata:s("user_metadata").notNull().default("{}"),profileData:s("profileData",{length:2048}),locale:s("locale",{length:255}),middle_name:s("middle_name",{length:100}),preferred_username:s("preferred_username",{length:255}),profile:s("profile"),website:s("website"),gender:s("gender",{length:50}),birthdate:s("birthdate",{length:10}),zoneinfo:s("zoneinfo",{length:100}),address:s("address")},n=>[se({columns:[n.user_id,n.tenant_id],name:"users_tenants"}),Te("unique_email_provider").on(n.email,n.provider,n.tenant_id),Te("unique_phone_provider").on(n.phone_number,n.provider,n.tenant_id),Te("unique_username_provider").on(n.username,n.provider,n.tenant_id),S("users_email_index").on(n.email),S("users_linked_to_index").on(n.linked_to),S("users_name_index").on(n.name),S("users_phone_tenant_provider_index").on(n.tenant_id,n.phone_number,n.provider)]),E=O("passwords",{id:s("id",{length:21}).primaryKey(),tenant_id:s("tenant_id",{length:191}).notNull().references(()=>D.id,{onDelete:"cascade"}),user_id:s("user_id",{length:255}).notNull(),created_at:s("created_at",{length:35}).notNull(),updated_at:s("updated_at",{length:35}).notNull(),password:s("password",{length:255}).notNull(),algorithm:s("algorithm",{length:16}).notNull().default("bcrypt"),is_current:p("is_current").notNull().default(1)}),$=O("sessions",{id:s("id",{length:21}).notNull(),tenant_id:s("tenant_id",{length:191}).notNull().references(()=>D.id,{onDelete:"cascade"}),user_id:s("user_id",{length:255}),created_at_ts:p("created_at_ts").notNull(),updated_at_ts:p("updated_at_ts").notNull(),expires_at_ts:p("expires_at_ts"),idle_expires_at_ts:p("idle_expires_at_ts"),authenticated_at_ts:p("authenticated_at_ts"),last_interaction_at_ts:p("last_interaction_at_ts"),used_at_ts:p("used_at_ts"),revoked_at_ts:p("revoked_at_ts"),device:s("device").notNull(),clients:s("clients").notNull(),login_session_id:s("login_session_id",{length:21})},n=>[se({columns:[n.tenant_id,n.id],name:"sessions_pk"}),S("IDX_sessions_login_session_id").on(n.login_session_id),S("idx_sessions_user_id").on(n.tenant_id,n.user_id),S("idx_sessions_expires_at_ts").on(n.expires_at_ts)]),C=O("refresh_tokens",{id:s("id",{length:21}).notNull(),tenant_id:s("tenant_id",{length:191}).notNull().references(()=>D.id,{onDelete:"cascade"}),client_id:s("client_id",{length:191}).notNull(),login_id:s("login_id",{length:21}).notNull(),user_id:s("user_id",{length:255}),resource_servers:s("resource_servers").notNull(),device:s("device").notNull(),rotating:p("rotating",{mode:"boolean"}).notNull(),created_at_ts:p("created_at_ts").notNull(),expires_at_ts:p("expires_at_ts"),idle_expires_at_ts:p("idle_expires_at_ts"),last_exchanged_at_ts:p("last_exchanged_at_ts")},n=>[se({columns:[n.tenant_id,n.id],name:"refresh_tokens_pk"}),S("idx_refresh_tokens_user_id").on(n.tenant_id,n.user_id),S("idx_refresh_tokens_login_id").on(n.login_id),S("idx_refresh_tokens_expires_at_ts").on(n.expires_at_ts)]),oe=O("login_sessions",{id:s("id",{length:21}).notNull(),tenant_id:s("tenant_id",{length:191}).notNull().references(()=>D.id,{onDelete:"cascade"}),session_id:s("session_id",{length:21}),csrf_token:s("csrf_token",{length:21}).notNull(),authParams_client_id:s("authParams_client_id",{length:191}).notNull(),authParams_vendor_id:s("authParams_vendor_id",{length:255}),authParams_username:s("authParams_username",{length:255}),authParams_response_type:s("authParams_response_type",{length:255}),authParams_response_mode:s("authParams_response_mode",{length:255}),authParams_audience:s("authParams_audience",{length:255}),authParams_scope:s("authParams_scope"),authParams_state:s("authParams_state"),authParams_nonce:s("authParams_nonce",{length:255}),authParams_code_challenge_method:s("authParams_code_challenge_method",{length:255}),authParams_code_challenge:s("authParams_code_challenge",{length:255}),authParams_redirect_uri:s("authParams_redirect_uri"),authParams_organization:s("authParams_organization",{length:255}),authParams_prompt:s("authParams_prompt",{length:32}),authParams_act_as:s("authParams_act_as",{length:256}),authParams_ui_locales:s("authParams_ui_locales",{length:32}),authorization_url:s("authorization_url"),created_at_ts:p("created_at_ts").notNull(),updated_at_ts:p("updated_at_ts").notNull(),expires_at_ts:p("expires_at_ts").notNull(),ip:s("ip",{length:39}),useragent:s("useragent"),auth0Client:s("auth0Client",{length:255}),state:s("state",{length:50}).notNull().default("pending"),state_data:s("state_data"),failure_reason:s("failure_reason"),user_id:s("user_id",{length:255}),auth_connection:s("auth_connection",{length:255})},n=>[se({columns:[n.tenant_id,n.id],name:"login_sessions_pk"}),S("login_sessions_id_index").on(n.id),S("login_sessions_state_idx").on(n.state),S("login_sessions_state_updated_idx").on(n.state,n.updated_at_ts),S("login_sessions_tenant_user_idx").on(n.tenant_id,n.user_id),S("idx_login_sessions_expires_at_ts").on(n.expires_at_ts)]),B=O("codes",{code_id:s("code_id",{length:191}).notNull(),tenant_id:s("tenant_id",{length:191}).notNull().references(()=>D.id,{onDelete:"cascade"}),user_id:s("user_id",{length:255}),login_id:s("login_id",{length:255}),connection_id:s("connection_id",{length:255}),code_type:s("code_type",{length:255}).notNull(),created_at:s("created_at",{length:35}).notNull(),expires_at:s("expires_at",{length:35}).notNull(),used_at:s("used_at",{length:35}),code_verifier:s("code_verifier",{length:128}),code_challenge:s("code_challenge",{length:128}),code_challenge_method:s("code_challenge_method",{length:5}),redirect_uri:s("redirect_uri",{length:1024}),nonce:s("nonce",{length:1024}),state:s("state",{length:2048})},n=>[se({columns:[n.code_id,n.code_type],name:"PK_codes_code_id_code_type"}),S("codes_expires_at_index").on(n.expires_at)]),Cr=O("authentication_codes",{tenant_id:s("tenant_id",{length:191}).notNull().references(()=>D.id,{onDelete:"cascade"}),code:s("code",{length:255}).primaryKey(),client_id:s("client_id",{length:255}).notNull(),user_id:s("user_id",{length:255}).notNull(),nonce:s("nonce",{length:255}),state:s("state",{length:8192}),scope:s("scope",{length:1024}),response_type:s("response_type",{length:256}),response_mode:s("response_mode",{length:256}),redirect_uri:s("redirect_uri",{length:1024}),created_at:s("created_at",{length:35}).notNull(),expires_at:s("expires_at",{length:35}).notNull(),used_at:s("used_at",{length:35})}),$r=O("otps",{tenant_id:s("tenant_id",{length:191}).notNull().references(()=>D.id,{onDelete:"cascade"}),id:s("id",{length:255}).primaryKey(),client_id:s("client_id",{length:255}).notNull(),code:s("code",{length:255}).notNull(),email:s("email",{length:255}).notNull(),user_id:s("user_id",{length:255}),send:s("send",{length:255}),nonce:s("nonce",{length:255}),state:s("state",{length:1024}),scope:s("scope",{length:1024}),response_type:s("response_type",{length:256}),response_mode:s("response_mode",{length:256}),redirect_uri:s("redirect_uri",{length:1024}),created_at:s("created_at",{length:35}).notNull(),expires_at:s("expires_at",{length:35}).notNull(),used_at:s("used_at",{length:35}),audience:s("audience",{length:255}),ip:s("ip",{length:64})},n=>[S("otps_email_index").on(n.email),S("otps_expires_at_index").on(n.expires_at)]),Br=O("tickets",{tenant_id:s("tenant_id",{length:191}).notNull().references(()=>D.id,{onDelete:"cascade"}),id:s("id",{length:255}).primaryKey(),client_id:s("client_id",{length:255}).notNull(),email:s("email",{length:255}).notNull(),nonce:s("nonce",{length:255}),state:s("state",{length:1024}),scope:s("scope",{length:1024}),response_type:s("response_type",{length:256}),response_mode:s("response_mode",{length:256}),redirect_uri:s("redirect_uri",{length:1024}),created_at:s("created_at",{length:35}).notNull(),expires_at:s("expires_at",{length:35}).notNull(),used_at:s("used_at",{length:35})}),I=O("clients",{client_id:s("client_id",{length:191}).notNull(),tenant_id:s("tenant_id",{length:191}).notNull().references(()=>D.id,{onDelete:"cascade"}),name:s("name",{length:255}).notNull(),description:s("description",{length:140}),global:p("global").notNull().default(0),client_secret:s("client_secret",{length:255}),app_type:s("app_type",{length:64}).default("regular_web"),logo_uri:s("logo_uri",{length:2083}),is_first_party:p("is_first_party").notNull().default(0),oidc_conformant:p("oidc_conformant").notNull().default(1),auth0_conformant:p("auth0_conformant").notNull().default(1),callbacks:s("callbacks").notNull(),allowed_origins:s("allowed_origins").notNull(),web_origins:s("web_origins").notNull(),client_aliases:s("client_aliases").notNull(),allowed_clients:s("allowed_clients").notNull(),allowed_logout_urls:s("allowed_logout_urls").notNull(),session_transfer:s("session_transfer").notNull(),oidc_logout:s("oidc_logout").notNull(),grant_types:s("grant_types").notNull(),jwt_configuration:s("jwt_configuration").notNull(),signing_keys:s("signing_keys").notNull(),encryption_key:s("encryption_key").notNull(),sso:p("sso").notNull().default(0),sso_disabled:p("sso_disabled").notNull().default(1),cross_origin_authentication:p("cross_origin_authentication").notNull().default(0),cross_origin_loc:s("cross_origin_loc",{length:2083}),custom_login_page_on:p("custom_login_page_on").notNull().default(0),custom_login_page:s("custom_login_page"),custom_login_page_preview:s("custom_login_page_preview"),form_template:s("form_template"),addons:s("addons").notNull(),token_endpoint_auth_method:s("token_endpoint_auth_method",{length:64}).default("client_secret_basic"),client_metadata:s("client_metadata").notNull(),mobile:s("mobile").notNull(),initiate_login_uri:s("initiate_login_uri",{length:2083}),native_social_login:s("native_social_login").notNull(),refresh_token:s("refresh_token").notNull(),default_organization:s("default_organization").notNull(),organization_usage:s("organization_usage",{length:32}).default("deny"),organization_require_behavior:s("organization_require_behavior",{length:32}).default("no_prompt"),client_authentication_methods:s("client_authentication_methods").notNull(),require_pushed_authorization_requests:p("require_pushed_authorization_requests").notNull().default(0),require_proof_of_possession:p("require_proof_of_possession").notNull().default(0),signed_request_object:s("signed_request_object").notNull(),compliance_level:s("compliance_level",{length:64}),par_request_expiry:p("par_request_expiry"),token_quota:s("token_quota").notNull(),created_at:s("created_at",{length:35}).notNull(),updated_at:s("updated_at",{length:35}).notNull(),connections:s("connections").notNull().default("[]")},n=>[se({columns:[n.tenant_id,n.client_id],name:"clients_tenant_id_client_id"})]),G=O("client_grants",{id:s("id",{length:21}).notNull(),tenant_id:s("tenant_id",{length:191}).notNull().references(()=>D.id,{onDelete:"cascade"}),client_id:s("client_id",{length:191}).notNull(),audience:s("audience",{length:191}).notNull(),scope:s("scope").default("[]"),organization_usage:s("organization_usage",{length:32}),allow_any_organization:p("allow_any_organization").default(0),is_system:p("is_system").default(0),subject_type:s("subject_type",{length:32}),authorization_details_types:s("authorization_details_types").default("[]"),created_at:s("created_at",{length:35}).notNull(),updated_at:s("updated_at",{length:35}).notNull()},n=>[se({columns:[n.tenant_id,n.id],name:"pk_client_grants"}),S("idx_client_grants_audience").on(n.audience)]),U=O("connections",{id:s("id",{length:255}).notNull(),tenant_id:s("tenant_id",{length:191}).notNull().references(()=>D.id,{onDelete:"cascade"}),name:s("name",{length:255}).notNull(),response_type:s("response_type",{length:255}),response_mode:s("response_mode",{length:255}),strategy:s("strategy",{length:64}),options:s("options",{length:8192}).notNull().default("{}"),created_at:s("created_at",{length:35}).notNull(),updated_at:s("updated_at",{length:35}).notNull(),display_name:s("display_name",{length:255}),is_domain_connection:p("is_domain_connection"),show_as_button:p("show_as_button"),is_system:p("is_system").notNull().default(0),metadata:s("metadata",{length:4096})},n=>[se({columns:[n.tenant_id,n.id]}),S("connections_tenant_id_index").on(n.tenant_id),Te("connections_id_unique").on(n.id)]),re=O("custom_domains",{custom_domain_id:s("custom_domain_id",{length:256}).primaryKey(),tenant_id:s("tenant_id",{length:191}).notNull().references(()=>D.id,{onDelete:"cascade"}),domain:s("domain",{length:255}).notNull(),primary:p("primary",{mode:"boolean"}).notNull(),status:s("status",{length:50}).notNull(),type:s("type",{length:50}).notNull(),origin_domain_name:s("origin_domain_name",{length:255}),verification:s("verification",{length:2048}),custom_client_ip_header:s("custom_client_ip_header",{length:50}),tls_policy:s("tls_policy",{length:50}),domain_metadata:s("domain_metadata",{length:2048}),created_at:s("created_at",{length:35}).notNull(),updated_at:s("updated_at",{length:35}).notNull()},n=>[Te("custom_domains_domain_unique").on(n.domain)]),Pr=O("domains",{id:s("id",{length:255}).primaryKey(),tenant_id:s("tenant_id",{length:191}).notNull().references(()=>D.id,{onDelete:"cascade"}),domain:s("domain",{length:255}).notNull(),email_service:s("email_service",{length:255}),email_api_key:s("email_api_key",{length:255}),dkim_private_key:s("dkim_private_key",{length:2048}),dkim_public_key:s("dkim_public_key",{length:2048}),created_at:s("created_at",{length:35}).notNull(),updated_at:s("updated_at",{length:35}).notNull()}),q=O("organizations",{id:s("id",{length:21}).primaryKey(),tenant_id:s("tenant_id",{length:191}).notNull(),name:s("name",{length:256}).notNull(),display_name:s("display_name",{length:256}),branding:s("branding"),metadata:s("metadata"),enabled_connections:s("enabled_connections"),token_quota:s("token_quota"),created_at:s("created_at",{length:35}).notNull(),updated_at:s("updated_at",{length:35}).notNull()},n=>[S("idx_organizations_tenant_id").on(n.tenant_id)]),P=O("user_organizations",{id:s("id",{length:21}).primaryKey(),tenant_id:s("tenant_id",{length:191}).notNull(),user_id:s("user_id",{length:191}).notNull(),organization_id:s("organization_id",{length:21}).notNull(),created_at:s("created_at",{length:35}).notNull(),updated_at:s("updated_at",{length:35}).notNull()},n=>[Te("user_organizations_unique").on(n.tenant_id,n.user_id,n.organization_id),S("idx_user_organizations_tenant_id").on(n.tenant_id),S("idx_user_organizations_user_id").on(n.user_id),S("idx_user_organizations_organization_id").on(n.organization_id)]),te=O("invites",{id:s("id",{length:21}).primaryKey(),tenant_id:s("tenant_id",{length:191}).notNull(),organization_id:s("organization_id",{length:21}).notNull(),inviter:s("inviter").notNull(),invitee:s("invitee").notNull(),client_id:s("client_id",{length:191}).notNull(),connection_id:s("connection_id",{length:21}),invitation_url:s("invitation_url").notNull(),created_at:s("created_at",{length:35}).notNull(),expires_at:s("expires_at",{length:35}).notNull(),app_metadata:s("app_metadata"),user_metadata:s("user_metadata"),roles:s("roles"),ticket_id:s("ticket_id",{length:191}),ttl_sec:p("ttl_sec"),send_invitation_email:p("send_invitation_email")},n=>[S("idx_invites_tenant_id").on(n.tenant_id),S("idx_invites_organization_id").on(n.organization_id),S("idx_invites_expires_at").on(n.expires_at),S("idx_invites_tenant_created").on(n.tenant_id,n.created_at)]),J=O("roles",{id:s("id",{length:21}).notNull(),tenant_id:s("tenant_id",{length:191}).notNull(),name:s("name",{length:50}).notNull(),description:s("description",{length:255}),is_system:p("is_system").notNull().default(0),metadata:s("metadata",{length:4096}),created_at:s("created_at",{length:35}).notNull(),updated_at:s("updated_at",{length:35}).notNull()},n=>[se({columns:[n.tenant_id,n.id],name:"roles_pk"})]),le=O("role_permissions",{tenant_id:s("tenant_id",{length:191}).notNull(),role_id:s("role_id",{length:21}).notNull(),resource_server_identifier:s("resource_server_identifier",{length:191}).notNull(),permission_name:s("permission_name",{length:191}).notNull(),created_at:s("created_at",{length:35}).notNull()},n=>[se({columns:[n.tenant_id,n.role_id,n.resource_server_identifier,n.permission_name],name:"role_permissions_pk"}),S("role_permissions_role_fk").on(n.tenant_id,n.role_id),S("role_permissions_permission_fk").on(n.tenant_id,n.resource_server_identifier,n.permission_name)]),_e=O("user_permissions",{tenant_id:s("tenant_id",{length:191}).notNull(),user_id:s("user_id",{length:191}).notNull(),resource_server_identifier:s("resource_server_identifier",{length:191}).notNull(),permission_name:s("permission_name",{length:191}).notNull(),organization_id:s("organization_id",{length:21}).notNull().default(""),created_at:s("created_at",{length:35}).notNull()},n=>[se({columns:[n.tenant_id,n.user_id,n.resource_server_identifier,n.permission_name,n.organization_id],name:"user_permissions_pk"}),S("user_permissions_user_fk").on(n.tenant_id,n.user_id),S("user_permissions_permission_fk").on(n.tenant_id,n.resource_server_identifier,n.permission_name),S("user_permissions_organization_fk").on(n.organization_id)]),ue=O("user_roles",{tenant_id:s("tenant_id",{length:191}).notNull(),user_id:s("user_id",{length:191}).notNull(),role_id:s("role_id",{length:21}).notNull(),organization_id:s("organization_id",{length:191}).notNull().default(""),created_at:s("created_at",{length:35}).notNull()},n=>[se({columns:[n.tenant_id,n.user_id,n.role_id,n.organization_id],name:"user_roles_pk"}),S("user_roles_user_fk").on(n.tenant_id,n.user_id),S("user_roles_role_fk").on(n.tenant_id,n.role_id),S("user_roles_organization_fk").on(n.organization_id)]),L=O("resource_servers",{id:s("id",{length:21}).notNull(),tenant_id:s("tenant_id",{length:191}).notNull(),identifier:s("identifier",{length:191}).notNull(),name:s("name",{length:255}).notNull(),scopes:s("scopes",{length:4096}),signing_alg:s("signing_alg",{length:64}),signing_secret:s("signing_secret",{length:2048}),token_lifetime:p("token_lifetime"),token_lifetime_for_web:p("token_lifetime_for_web"),skip_consent_for_verifiable_first_party_clients:p("skip_consent_for_verifiable_first_party_clients"),allow_offline_access:p("allow_offline_access"),verification_key:s("verification_key",{length:4096}),options:s("options",{length:4096}),is_system:p("is_system").notNull().default(0),metadata:s("metadata",{length:4096}),created_at:s("created_at",{length:35}).notNull(),updated_at:s("updated_at",{length:35}).notNull()},n=>[se({columns:[n.tenant_id,n.id],name:"resource_servers_pk"})]),Le=O("branding",{tenant_id:s("tenant_id",{length:191}).primaryKey().references(()=>D.id,{onDelete:"cascade"}),logo_url:s("logo_url",{length:512}),favicon_url:s("favicon_url",{length:512}),font_url:s("font_url",{length:512}),colors_primary:s("colors_primary",{length:8}),colors_page_background_type:s("colors_page_background_type",{length:32}),colors_page_background_start:s("colors_page_background_start",{length:8}),colors_page_background_end:s("colors_page_background_end",{length:8}),colors_page_background_angle_dev:p("colors_page_background_angle_dev")}),Ne=O("universal_login_templates",{tenant_id:s("tenant_id",{length:191}).primaryKey().references(()=>D.id,{onDelete:"cascade"}),body:s("body").notNull(),created_at_ts:p("created_at_ts").notNull(),updated_at_ts:p("updated_at_ts").notNull()}),fe=O("themes",{tenant_id:s("tenant_id",{length:191}).notNull().references(()=>D.id,{onDelete:"cascade"}),themeId:s("themeId",{length:255}).notNull(),displayName:s("displayName",{length:255}).notNull(),colors_primary_button_label:s("colors_primary_button_label",{length:24}).notNull(),colors_primary_button:s("colors_primary_button",{length:24}).notNull(),colors_secondary_button_border:s("colors_secondary_button_border",{length:24}).notNull(),colors_secondary_button_label:s("colors_secondary_button_label",{length:24}).notNull(),colors_base_focus_color:s("colors_base_focus_color",{length:24}).notNull(),colors_base_hover_color:s("colors_base_hover_color",{length:24}).notNull(),colors_body_text:s("colors_body_text",{length:24}).notNull(),colors_captcha_widget_theme:s("colors_captcha_widget_theme",{length:24}).notNull(),colors_error:s("colors_error",{length:24}).notNull(),colors_header:s("colors_header",{length:24}).notNull(),colors_icons:s("colors_icons",{length:24}).notNull(),colors_input_background:s("colors_input_background",{length:24}).notNull(),colors_input_border:s("colors_input_border",{length:24}).notNull(),colors_input_filled_text:s("colors_input_filled_text",{length:24}).notNull(),colors_input_labels_placeholders:s("colors_input_labels_placeholders",{length:24}).notNull(),colors_links_focused_components:s("colors_links_focused_components",{length:24}).notNull(),colors_success:s("colors_success",{length:24}).notNull(),colors_widget_background:s("colors_widget_background",{length:24}).notNull(),colors_widget_border:s("colors_widget_border",{length:24}).notNull(),borders_button_border_radius:p("borders_button_border_radius").notNull(),borders_button_border_weight:p("borders_button_border_weight").notNull(),borders_buttons_style:s("borders_buttons_style",{length:24}).notNull(),borders_input_border_radius:p("borders_input_border_radius").notNull(),borders_input_border_weight:p("borders_input_border_weight").notNull(),borders_inputs_style:s("borders_inputs_style",{length:24}).notNull(),borders_show_widget_shadow:p("borders_show_widget_shadow",{mode:"boolean"}).notNull(),borders_widget_border_weight:p("borders_widget_border_weight").notNull(),borders_widget_corner_radius:p("borders_widget_corner_radius").notNull(),fonts_body_text_bold:p("fonts_body_text_bold").notNull(),fonts_body_text_size:p("fonts_body_text_size").notNull(),fonts_buttons_text_bold:p("fonts_buttons_text_bold").notNull(),fonts_buttons_text_size:p("fonts_buttons_text_size").notNull(),fonts_font_url:s("fonts_font_url",{length:255}).notNull(),fonts_input_labels_bold:p("fonts_input_labels_bold").notNull(),fonts_input_labels_size:p("fonts_input_labels_size").notNull(),fonts_links_bold:p("fonts_links_bold",{mode:"boolean"}).notNull(),fonts_links_size:p("fonts_links_size").notNull(),fonts_links_style:s("fonts_links_style",{length:24}).notNull(),fonts_reference_text_size:p("fonts_reference_text_size").notNull(),fonts_subtitle_bold:p("fonts_subtitle_bold",{mode:"boolean"}).notNull(),fonts_subtitle_size:p("fonts_subtitle_size").notNull(),fonts_title_bold:p("fonts_title_bold",{mode:"boolean"}).notNull(),fonts_title_size:p("fonts_title_size").notNull(),page_background_background_color:s("page_background_background_color",{length:24}).notNull(),page_background_background_image_url:s("page_background_background_image_url",{length:255}).notNull(),page_background_page_layout:s("page_background_page_layout",{length:24}).notNull(),widget_header_text_alignment:s("widget_header_text_alignment",{length:24}).notNull(),widget_logo_height:p("widget_logo_height").notNull(),widget_logo_position:s("widget_logo_position",{length:24}).notNull(),widget_logo_url:s("widget_logo_url",{length:255}).notNull(),widget_social_buttons_layout:s("widget_social_buttons_layout",{length:24}).notNull(),created_at:s("created_at",{length:35}).notNull(),updated_at:s("updated_at",{length:35}).notNull()},n=>[se({columns:[n.tenant_id,n.themeId],name:"themes_pkey"}),S("themes_tenant_id_idx").on(n.tenant_id)]),ne=O("forms",{id:s("id",{length:255}).primaryKey(),name:s("name",{length:255}).notNull(),tenant_id:s("tenant_id",{length:191}).notNull().references(()=>D.id,{onDelete:"cascade"}),messages:s("messages",{length:255}),languages:s("languages",{length:255}),translations:s("translations",{length:4096}),nodes:s("nodes",{length:4096}),start:s("start",{length:255}),ending:s("ending",{length:255}),style:s("style",{length:1042}),created_at:s("created_at",{length:35}).notNull(),updated_at:s("updated_at",{length:35}).notNull()},n=>[S("forms_tenant_id_idx").on(n.tenant_id)]),ie=O("flows",{id:s("id",{length:24}).primaryKey(),tenant_id:s("tenant_id",{length:191}).notNull().references(()=>D.id,{onDelete:"cascade"}),name:s("name",{length:150}).notNull(),actions:s("actions"),created_at:s("created_at",{length:35}).notNull(),updated_at:s("updated_at",{length:35}).notNull()},n=>[S("flows_tenant_id_idx").on(n.tenant_id)]),Ee=O("prompt_settings",{tenant_id:s("tenant_id",{length:191}).primaryKey(),universal_login_experience:s("universal_login_experience",{length:16}).notNull().default("new"),identifier_first:p("identifier_first",{mode:"boolean"}).notNull().default(!0),password_first:p("password_first",{mode:"boolean"}).notNull().default(!1),webauthn_platform_first_factor:p("webauthn_platform_first_factor",{mode:"boolean"}).notNull().default(!1)}),ve=O("email_providers",{tenant_id:s("tenant_id",{length:191}).primaryKey(),name:s("name",{length:255}).notNull(),enabled:p("enabled",{mode:"boolean"}).notNull(),default_from_address:s("default_from_address",{length:255}),credentials:s("credentials",{length:2048}).notNull().default("{}"),settings:s("settings",{length:2048}).notNull().default("{}"),created_at:s("created_at",{length:35}).notNull(),updated_at:s("updated_at",{length:35}).notNull()}),Z=O("hooks",{hook_id:s("hook_id",{length:21}).primaryKey(),tenant_id:s("tenant_id",{length:191}).notNull().references(()=>D.id,{onDelete:"cascade"}),url:s("url",{length:512}),trigger_id:s("trigger_id",{length:255}).notNull(),enabled:p("enabled",{mode:"boolean"}).notNull(),created_at_ts:p("created_at_ts").notNull(),updated_at_ts:p("updated_at_ts").notNull(),synchronous:p("synchronous",{mode:"boolean"}).notNull().default(!1),priority:p("priority"),form_id:s("form_id",{length:128}),template_id:s("template_id",{length:64}),code_id:s("code_id",{length:21})},n=>[S("hooks_tenant_id_idx").on(n.tenant_id)]),me=O("hook_code",{id:s("id",{length:21}).primaryKey(),tenant_id:s("tenant_id",{length:191}).notNull().references(()=>D.id,{onDelete:"cascade"}),code:s("code").notNull(),secrets:s("secrets"),created_at_ts:p("created_at_ts").notNull(),updated_at_ts:p("updated_at_ts").notNull()},n=>[S("hook_code_tenant_id_idx").on(n.tenant_id)]),he=O("keys",{kid:s("kid",{length:255}).primaryKey(),tenant_id:s("tenant_id",{length:191}).references(()=>D.id,{onDelete:"cascade"}),created_at:s("created_at",{length:35}).notNull(),revoked_at:s("revoked_at",{length:35}),cert:s("cert",{length:4096}),pkcs7:s("pkcs7",{length:4096}),fingerprint:s("fingerprint",{length:256}),thumbprint:s("thumbprint",{length:256}),current_since:s("current_since",{length:35}),current_until:s("current_until",{length:35}),type:s("type",{length:50}).notNull().default("jwt_signing"),connection:s("connection",{length:255}).references(()=>U.id,{onDelete:"cascade"})}),ee=O("custom_text",{tenant_id:s("tenant_id",{length:191}).notNull().references(()=>D.id,{onDelete:"cascade"}),prompt:s("prompt",{length:64}).notNull(),language:s("language",{length:16}).notNull(),custom_text:s("custom_text").notNull(),created_at_ts:p("created_at_ts").notNull(),updated_at_ts:p("updated_at_ts").notNull()},n=>[se({columns:[n.tenant_id,n.prompt,n.language]})]),F=O("authentication_methods",{id:s("id",{length:26}).primaryKey(),tenant_id:s("tenant_id",{length:191}).notNull().references(()=>D.id,{onDelete:"cascade"}),user_id:s("user_id",{length:255}).notNull(),type:s("type",{length:32}).notNull(),phone_number:s("phone_number",{length:32}),totp_secret:s("totp_secret",{length:255}),credential_id:s("credential_id",{length:512}),public_key:s("public_key"),sign_count:p("sign_count"),credential_backed_up:p("credential_backed_up"),transports:s("transports",{length:512}),friendly_name:s("friendly_name",{length:255}),confirmed:p("confirmed").notNull().default(0),created_at_ts:p("created_at_ts").notNull(),updated_at_ts:p("updated_at_ts").notNull()},n=>[S("authentication_methods_tenant_user_idx").on(n.tenant_id,n.user_id),S("authentication_methods_credential_id_idx").on(n.credential_id)]),T=O("logs",{log_id:s("log_id",{length:21}).primaryKey(),category:s("category",{length:255}),tenant_id:s("tenant_id",{length:64}),user_id:s("user_id",{length:64}),ip:s("ip",{length:255}),type:s("type",{length:8}).notNull(),date:s("date",{length:35}).notNull(),client_id:s("client_id",{length:255}),client_name:s("client_name",{length:255}),user_agent:s("user_agent",{length:255}),description:s("description",{length:255}),details:s("details",{length:2048}),isMobile:p("isMobile"),user_name:s("user_name",{length:255}),connection:s("connection",{length:255}),connection_id:s("connection_id",{length:255}),audience:s("audience",{length:255}),scope:s("scope",{length:255}),strategy:s("strategy",{length:255}),strategy_type:s("strategy_type",{length:255}),hostname:s("hostname",{length:255}),auth0_client:s("auth0_client",{length:8192}),session_connection:s("session_connection",{length:255}),country_code:s("country_code",{length:2}),city_name:s("city_name",{length:255}),latitude:s("latitude",{length:255}),longitude:s("longitude",{length:255}),time_zone:s("time_zone",{length:255}),continent_code:s("continent_code",{length:2})},n=>[S("logs_user_id").on(n.user_id),S("logs_tenant_id").on(n.tenant_id),S("logs_date").on(n.date),S("IDX_logs_tenant_date_type_user").on(n.tenant_id,n.date,n.type,n.user_id)]),x=O("outbox_events",{id:s("id",{length:26}).primaryKey(),tenant_id:s("tenant_id",{length:191}).notNull().references(()=>D.id,{onDelete:"cascade"}),event_type:s("event_type",{length:64}).notNull(),log_type:s("log_type",{length:64}).notNull(),aggregate_type:s("aggregate_type",{length:64}).notNull(),aggregate_id:s("aggregate_id",{length:255}).notNull(),payload:s("payload").notNull(),created_at:s("created_at",{length:35}).notNull(),processed_at:s("processed_at",{length:35}),retry_count:p("retry_count").notNull().default(0),next_retry_at:s("next_retry_at",{length:35}),error:s("error"),claimed_by:s("claimed_by",{length:255}),claim_expires_at:s("claim_expires_at",{length:35}),dead_lettered_at:s("dead_lettered_at",{length:35}),final_error:s("final_error")},n=>[S("idx_outbox_events_tenant_id").on(n.tenant_id),S("idx_outbox_events_processed_at").on(n.processed_at),S("idx_outbox_events_claimed_by").on(n.claimed_by),S("idx_outbox_events_tenant_dead_lettered").on(n.tenant_id,n.dead_lettered_at)]),Qr=Object.freeze(Object.defineProperty({__proto__:null,authenticationCodes:Cr,authenticationMethods:F,branding:Le,clientGrants:G,clients:I,codes:B,connections:U,customDomains:re,customText:ee,domains:Pr,emailProviders:ve,flows:ie,forms:ne,hookCode:me,hooks:Z,invites:te,keys:he,loginSessions:oe,logs:T,organizations:q,otps:$r,outboxEvents:x,passwords:E,promptSettings:Ee,refreshTokens:C,resourceServers:L,rolePermissions:le,roles:J,sessions:$,tenants:D,themes:fe,tickets:Br,universalLoginTemplates:Ne,userOrganizations:P,userPermissions:_e,userRoles:ue,users:k},Symbol.toStringTag,{value:"Module"}));function z(n){if(n==null||typeof n!="object")return n;if(Array.isArray(n))return n.map(e=>e!==null&&typeof e=="object"?z(e):e);const i={...n};for(const e in i){const t=i[e];t===null?delete i[e]:t!==null&&typeof t=="object"&&(Array.isArray(t)?i[e]=t.map(r=>r!==null&&typeof r=="object"?z(r):r):i[e]=z(t))}return i}function Jr(n,i,e={...n}){for(const t of i)n[t]!==void 0&&(e[t]=JSON.stringify(n[t]));return e}function Fr(n,i,e=n){for(const t of i)n[t]!==void 0&&(e[t]=n[t]?1:0)}function cr(n){const i={};for(const e in n)n[e]!==void 0&&n[e]!==null&&(i[e]=n[e]);return i}function b(n,i){if(n==null)return i;if(typeof n=="string")try{return JSON.parse(n)}catch{return i}return n}function Pe(n,i="",e={}){for(const t in n)if(Object.prototype.hasOwnProperty.call(n,t)){const r=i?`${i}_${t}`:t,o=n[t];typeof o=="object"&&o!==null&&!Array.isArray(o)?Pe(o,r,e):typeof o=="boolean"?e[r]=o?1:0:e[r]=o}return e}function gr(n,i){const e={};for(const[t,r]of Object.entries(n)){const o=i.find(l=>t.startsWith(`${l}_`));if(!o)e[t]=r;else{const l=t.slice(o.length+1);e[o]={...e[o],[l]:r}}}return e}function Ur(n){return typeof n=="string"?parseInt(n,10):typeof n=="bigint"?Number(n):n}function Kr(n){return{async get(i){const e=await n.select().from(Le).where(a(Le.tenant_id,i)).get();if(!e)return null;const{tenant_id:t,colors_primary:r,colors_page_background_type:o,colors_page_background_start:l,colors_page_background_end:_,colors_page_background_angle_dev:d,font_url:c,...u}=e;return z({...u,colors:{primary:r,page_background:{type:o,start:l,end:_,angle_deg:d}},font:c?{url:c}:void 0})},async set(i,e){var _,d,c,u,h,f,y,w;const{colors:t,font:r,...o}=e,l={...o,tenant_id:i,colors_primary:t==null?void 0:t.primary,colors_page_background_type:(_=t==null?void 0:t.page_background)==null?void 0:_.type,colors_page_background_start:(d=t==null?void 0:t.page_background)==null?void 0:d.start,colors_page_background_end:(c=t==null?void 0:t.page_background)==null?void 0:c.end,colors_page_background_angle_dev:(u=t==null?void 0:t.page_background)==null?void 0:u.angle_deg,font_url:r==null?void 0:r.url};await n.insert(Le).values(l).onConflictDoUpdate({target:Le.tenant_id,set:{...o,colors_primary:t==null?void 0:t.primary,colors_page_background_type:(h=t==null?void 0:t.page_background)==null?void 0:h.type,colors_page_background_start:(f=t==null?void 0:t.page_background)==null?void 0:f.start,colors_page_background_end:(y=t==null?void 0:t.page_background)==null?void 0:y.end,colors_page_background_angle_dev:(w=t==null?void 0:t.page_background)==null?void 0:w.angle_deg,font_url:r==null?void 0:r.url}})}}}var be=class extends Error{constructor(i=500,e){super(e==null?void 0:e.message,{cause:e==null?void 0:e.cause});m(this,"res");m(this,"status");this.res=e==null?void 0:e.res,this.status=i}getResponse(){return this.res?new Response(this.res.body,{status:this.status,headers:this.res.headers}):new Response(this.message,{status:this.status})}};function pe(n,i,e){const t=i.split(/ OR /i);if(t.length>1){const c=t.map(u=>{const h=u.trim().match(/^([^:]+):(.+)$/);if(h){const[,f,y]=h;if(!f||!y)return null;const w=y.replace(/^"(.*)"$/,"$1"),A=n[f.trim()];return A?a(A,w.trim()):null}return null}).filter(Boolean);return c.length===0?void 0:de(...c)}const r=[];let o="",l=!1;for(let c=0;c<i.length;c++){const u=i[c];u==='"'?(l=!l,o+=u):u===" "&&!l?o.trim()&&(r.push(o.trim()),o=""):o+=u}o.trim()&&r.push(o.trim());const _=r.map(c=>c.replace(/^([^:]+)=/g,"$1:")).map(c=>{let u=c.startsWith("-"),h=null,f="",y=!1,w;if(c.startsWith("-_exists_:"))h=c.substring(10),y=!0,u=!0;else if(c.startsWith("_exists_:"))h=c.substring(9),y=!0,u=!1;else if(c.includes(":")){const A=u?c.substring(1):c,R=A.indexOf(":");h=A.substring(0,R),f=A.substring(R+1),y=!1,f.startsWith(">=")?(w=">=",f=f.substring(2)):f.startsWith(">")?(w=">",f=f.substring(1)):f.startsWith("<=")?(w="<=",f=f.substring(2)):f.startsWith("<")?(w="<",f=f.substring(1)):w="=",f.startsWith('"')&&f.endsWith('"')&&f.length>1&&(f=f.slice(1,-1))}else h=null,f=c,y=!1;return{key:h,value:f,isNegation:u,isExistsQuery:y,operator:w}}),d=[];for(const{key:c,value:u,isNegation:h,isExistsQuery:f,operator:y}of _)if(c){const w=n[c];if(!w){f?d.push(h?N`${N.identifier(c)} IS NULL`:N`${N.identifier(c)} IS NOT NULL`):d.push(N`${N.identifier(c)} ${N.raw(h?"!=":y??"=")} ${u}`);continue}if(f)d.push(h?ye(w):Ve(w));else if(h)switch(y){case">":d.push(Oe(w,u));break;case">=":d.push(xe(w,u));break;case"<":d.push(Ge(w,u));break;case"<=":d.push(He(w,u));break;default:d.push(Or(w,u))}else switch(y){case">":d.push(He(w,u));break;case">=":d.push(Ge(w,u));break;case"<":d.push(xe(w,u));break;case"<=":d.push(Oe(w,u));break;default:d.push(a(w,u))}}else if(u){const A=(u.includes("|")?[...e,"user_id"]:e).map(R=>{const W=n[R];return W?R==="user_id"?a(W,u):Ie(W,`%${u}%`):null}).filter(Boolean);A.length>0&&d.push(de(...A))}if(d.length!==0)return d.length===1?d[0]:g(...d)}const kt=["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"],It=["callbacks","allowed_origins","web_origins","client_aliases","allowed_clients","allowed_logout_urls","grant_types","signing_keys"],zt=["session_transfer","oidc_logout","jwt_configuration","encryption_key","addons","client_metadata","mobile","native_social_login","refresh_token","default_organization","client_authentication_methods","signed_request_object","token_quota"];function Ue(n){const{tenant_id:i,connections:e,...t}=n,r={...t};for(const o of kt)r[o]=!!t[o];for(const o of It)r[o]=b(t[o],[]);for(const o of zt)r[o]=b(t[o],{});return r.connections=b(e,[]),z(r)}function At(n){const i={...n};Fr(n,kt,i);for(const e of It)n[e]!==void 0&&(i[e]=JSON.stringify(n[e]||[]));for(const e of zt)n[e]!==void 0&&(i[e]=JSON.stringify(n[e]||{}));return n.connections!==void 0&&(i.connections=JSON.stringify(n.connections||[])),cr(i)}function jr(n){return{async create(i,e){var l,_;const t=new Date().toISOString(),r={client_id:e.client_id,tenant_id:i,name:e.name,description:e.description,app_type:e.app_type??"regular_web",logo_uri:e.logo_uri,client_secret:e.client_secret,token_endpoint_auth_method:e.token_endpoint_auth_method??"client_secret_basic",cross_origin_loc:e.cross_origin_loc,custom_login_page:e.custom_login_page,custom_login_page_preview:e.custom_login_page_preview,form_template:e.form_template,initiate_login_uri:e.initiate_login_uri,organization_usage:e.organization_usage??"deny",organization_require_behavior:e.organization_require_behavior??"no_prompt",compliance_level:e.compliance_level,par_request_expiry:e.par_request_expiry,created_at:t,updated_at:t};for(const d of kt)r[d]=e[d]??!1;r.oidc_conformant=e.oidc_conformant??!0,r.auth0_conformant=e.auth0_conformant??!0,r.sso_disabled=e.sso_disabled??!1;for(const d of It)r[d]=e[d]||[];for(const d of zt)r[d]=e[d]||{};r.connections=e.connections||[];const o=At(r);try{await n.insert(I).values({...o,tenant_id:i})}catch(d){throw(l=d==null?void 0:d.message)!=null&&l.includes("UNIQUE constraint failed")||(_=d==null?void 0:d.message)!=null&&_.includes("duplicate key")?new be(409,{message:"Client already exists"}):d}return Ue({...o,tenant_id:i})},async get(i,e){const t=await n.select().from(I).where(g(a(I.tenant_id,i),a(I.client_id,e))).get();return t?Ue(t):null},async getByClientId(i){const e=await n.select().from(I).where(a(I.client_id,i)).get();return e?{...Ue(e),tenant_id:e.tenant_id}:null},async update(i,e,t){const r=At({...t,updated_at:new Date().toISOString()});return delete r.client_id,delete r.tenant_id,await n.update(I).set(r).where(g(a(I.tenant_id,i),a(I.client_id,e))),!0},async list(i,e){const{page:t=0,per_page:r=50,include_totals:o=!1,sort:l,q:_}=e||{};let d=n.select().from(I).where(a(I.tenant_id,i)).$dynamic();if(_){const f=pe(I,_,["name","client_id"]);f&&(d=d.where(g(a(I.tenant_id,i),f)))}if(l!=null&&l.sort_by){const f=I[l.sort_by];f&&(d=d.orderBy(l.sort_order==="desc"?M(f):H(f)))}const u=(await d.offset(t*r).limit(r)).map(Ue);if(!o)return{clients:u};const[h]=await n.select({count:V()}).from(I).where(a(I.tenant_id,i));return{clients:u,start:t*r,limit:r,length:Number((h==null?void 0:h.count)??0)}},async remove(i,e){return(await n.delete(I).where(g(a(I.tenant_id,i),a(I.client_id,e))).returning()).length>0}}}function Mr(n){const{tenant_id:i,is_system:e,options:t,metadata:r,...o}=n;return z({...o,options:b(t,{}),metadata:b(r),is_system:e?!0:void 0})}function Vr(n){return{async listByClient(i,e){const t=await n.select({connections:I.connections}).from(I).where(g(a(I.tenant_id,i),a(I.client_id,e))).get();if(!t)return[];const r=b(t.connections,[])||[];if(r.length===0)return[];const l=(await n.select().from(U).where(g(a(U.tenant_id,i),we(U.id,r))).all()).map(Mr);return r.map(_=>l.find(d=>d.id===_)).filter(Boolean)},async updateByClient(i,e,t){return(await n.update(I).set({connections:JSON.stringify([...new Set(t)])}).where(g(a(I.tenant_id,i),a(I.client_id,e))).returning()).length>0},async listByConnection(i,e){return(await n.select({client_id:I.client_id,connections:I.connections}).from(I).where(a(I.tenant_id,i)).all()).filter(r=>(b(r.connections,[])||[]).includes(e)).map(r=>r.client_id)},async addClientToConnection(i,e,t){var _;if(!await n.select({client_id:I.client_id}).from(I).where(g(a(I.tenant_id,i),a(I.client_id,t))).get())return!1;const o=await n.run(N`UPDATE clients SET connections = CASE
|
|
1
|
+
"use strict";var wr=Object.defineProperty;var Nr=(n,i,e)=>i in n?wr(n,i,{enumerable:!0,configurable:!0,writable:!0,value:e}):n[i]=e;var h=(n,i,e)=>Nr(n,typeof i!="symbol"?i+"":i,e);Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const v=Symbol.for("drizzle:entityKind");function X(n,i){if(!n||typeof n!="object")return!1;if(n instanceof i)return!0;if(!Object.prototype.hasOwnProperty.call(i,v))throw new Error(`Class "${i.name??"<unknown>"}" doesn't look like a Drizzle entity. If this is incorrect and the class is provided by Drizzle, please report this as a bug.`);let e=Object.getPrototypeOf(n).constructor;if(e)for(;e;){if(v in e&&e[v]===i[v])return!0;e=Object.getPrototypeOf(e)}return!1}var Mt;Mt=v;class Qe{constructor(i,e){h(this,"name");h(this,"keyAsName");h(this,"primary");h(this,"notNull");h(this,"default");h(this,"defaultFn");h(this,"onUpdateFn");h(this,"hasDefault");h(this,"isUnique");h(this,"uniqueName");h(this,"uniqueType");h(this,"dataType");h(this,"columnType");h(this,"enumValues");h(this,"generated");h(this,"generatedIdentity");h(this,"config");this.table=i,this.config=e,this.name=e.name,this.keyAsName=e.keyAsName,this.notNull=e.notNull,this.default=e.default,this.defaultFn=e.defaultFn,this.onUpdateFn=e.onUpdateFn,this.hasDefault=e.hasDefault,this.primary=e.primaryKey,this.isUnique=e.isUnique,this.uniqueName=e.uniqueName,this.uniqueType=e.uniqueType,this.dataType=e.dataType,this.columnType=e.columnType,this.generated=e.generated,this.generatedIdentity=e.generatedIdentity}mapFromDriverValue(i){return i}mapToDriverValue(i){return i}shouldDisableInsert(){return this.config.generated!==void 0&&this.config.generated.type!=="byDefault"}}h(Qe,Mt,"Column");var Vt;Vt=v;class qi{constructor(i,e,t){h(this,"config");h(this,"$default",this.$defaultFn);h(this,"$onUpdate",this.$onUpdateFn);this.config={name:i,keyAsName:i==="",notNull:!1,default:void 0,hasDefault:!1,primaryKey:!1,isUnique:!1,uniqueName:void 0,uniqueType:void 0,dataType:e,columnType:t,generated:void 0}}$type(){return this}notNull(){return this.config.notNull=!0,this}default(i){return this.config.default=i,this.config.hasDefault=!0,this}$defaultFn(i){return this.config.defaultFn=i,this.config.hasDefault=!0,this}$onUpdateFn(i){return this.config.onUpdateFn=i,this.config.hasDefault=!0,this}primaryKey(){return this.config.primaryKey=!0,this.config.notNull=!0,this}setName(i){this.config.name===""&&(this.config.name=i)}}h(qi,Vt,"ColumnBuilder");const ze=Symbol.for("drizzle:Name"),Tt=Symbol.for("drizzle:isPgEnum");function vr(n){return!!n&&typeof n=="function"&&Tt in n&&n[Tt]===!0}var Rt;Rt=v;class bt{constructor(i,e,t,r=!1,o=[]){this._={brand:"Subquery",sql:i,selectedFields:e,alias:t,isWith:r,usedTables:o}}}h(bt,Rt,"Subquery");const Sr={startActiveSpan(n,i){return i()}},Ce=Symbol.for("drizzle:ViewBaseConfig"),Ze=Symbol.for("drizzle:Schema"),qt=Symbol.for("drizzle:Columns"),Lt=Symbol.for("drizzle:ExtraConfigColumns"),et=Symbol.for("drizzle:OriginalName"),tt=Symbol.for("drizzle:BaseName"),Re=Symbol.for("drizzle:IsAlias"),Et=Symbol.for("drizzle:ExtraConfigBuilder"),xr=Symbol.for("drizzle:IsDrizzleTable");var Wt,Ht,Gt,Yt,Xt,Zt,en,tn,nn,rn;rn=v,nn=ze,tn=et,en=Ze,Zt=qt,Xt=Lt,Yt=tt,Gt=Re,Ht=xr,Wt=Et;class M{constructor(i,e,t){h(this,nn);h(this,tn);h(this,en);h(this,Zt);h(this,Xt);h(this,Yt);h(this,Gt,!1);h(this,Ht,!0);h(this,Wt);this[ze]=this[et]=i,this[Ze]=e,this[tt]=t}}h(M,rn,"Table"),h(M,"Symbol",{Name:ze,Schema:Ze,OriginalName:et,Columns:qt,ExtraConfigColumns:Lt,BaseName:tt,IsAlias:Re,ExtraConfigBuilder:Et});function Li(n){return n!=null&&typeof n.getSQL=="function"}function br(n){var e;const i={sql:"",params:[]};for(const t of n)i.sql+=t.sql,i.params.push(...t.params),(e=t.typings)!=null&&e.length&&(i.typings||(i.typings=[]),i.typings.push(...t.typings));return i}var sn;sn=v;class Z{constructor(i){h(this,"value");this.value=Array.isArray(i)?i:[i]}getSQL(){return new J([this])}}h(Z,sn,"StringChunk");var on;on=v;const De=class De{constructor(i){h(this,"decoder",Ei);h(this,"shouldInlineParams",!1);h(this,"usedTables",[]);this.queryChunks=i;for(const e of i)if(X(e,M)){const t=e[M.Symbol.Schema];this.usedTables.push(t===void 0?e[M.Symbol.Name]:t+"."+e[M.Symbol.Name])}}append(i){return this.queryChunks.push(...i.queryChunks),this}toQuery(i){return Sr.startActiveSpan("drizzle.buildSQL",e=>{const t=this.buildQueryFromSourceParams(this.queryChunks,i);return e==null||e.setAttributes({"drizzle.query.text":t.sql,"drizzle.query.params":JSON.stringify(t.params)}),t})}buildQueryFromSourceParams(i,e){const t=Object.assign({},e,{inlineParams:e.inlineParams||this.shouldInlineParams,paramStartIndex:e.paramStartIndex||{value:0}}),{casing:r,escapeName:o,escapeParam:l,prepareTyping:_,inlineParams:u,paramStartIndex:c}=t;return br(i.map(d=>{var m;if(X(d,Z))return{sql:d.value.join(""),params:[]};if(X(d,We))return{sql:o(d.value),params:[]};if(d===void 0)return{sql:"",params:[]};if(Array.isArray(d)){const f=[new Z("(")];for(const[y,N]of d.entries())f.push(N),y<d.length-1&&f.push(new Z(", "));return f.push(new Z(")")),this.buildQueryFromSourceParams(f,t)}if(X(d,De))return this.buildQueryFromSourceParams(d.queryChunks,{...t,inlineParams:u||d.shouldInlineParams});if(X(d,M)){const f=d[M.Symbol.Schema],y=d[M.Symbol.Name];return{sql:f===void 0||d[Re]?o(y):o(f)+"."+o(y),params:[]}}if(X(d,Qe)){const f=r.getColumnCasing(d);if(e.invokeSource==="indexes")return{sql:o(f),params:[]};const y=d.table[M.Symbol.Schema];return{sql:d.table[Re]||y===void 0?o(d.table[M.Symbol.Name])+"."+o(f):o(y)+"."+o(d.table[M.Symbol.Name])+"."+o(f),params:[]}}if(X(d,Dt)){const f=d[Ce].schema,y=d[Ce].name;return{sql:f===void 0||d[Ce].isAlias?o(y):o(f)+"."+o(y),params:[]}}if(X(d,Ae)){if(X(d.value,Be))return{sql:l(c.value++,d),params:[d],typings:["none"]};const f=d.value===null?null:d.encoder.mapToDriverValue(d.value);if(X(f,De))return this.buildQueryFromSourceParams([f],t);if(u)return{sql:this.mapInlineParam(f,t),params:[]};let y=["none"];return _&&(y=[_(d.encoder)]),{sql:l(c.value++,f),params:[f],typings:y}}return X(d,Be)?{sql:l(c.value++,d),params:[d],typings:["none"]}:X(d,De.Aliased)&&d.fieldAlias!==void 0?{sql:o(d.fieldAlias),params:[]}:X(d,bt)?d._.isWith?{sql:o(d._.alias),params:[]}:this.buildQueryFromSourceParams([new Z("("),d._.sql,new Z(") "),new We(d._.alias)],t):vr(d)?d.schema?{sql:o(d.schema)+"."+o(d.enumName),params:[]}:{sql:o(d.enumName),params:[]}:Li(d)?(m=d.shouldOmitSQLParens)!=null&&m.call(d)?this.buildQueryFromSourceParams([d.getSQL()],t):this.buildQueryFromSourceParams([new Z("("),d.getSQL(),new Z(")")],t):u?{sql:this.mapInlineParam(d,t),params:[]}:{sql:l(c.value++,d),params:[d],typings:["none"]}}))}mapInlineParam(i,{escapeString:e}){if(i===null)return"null";if(typeof i=="number"||typeof i=="boolean")return i.toString();if(typeof i=="string")return e(i);if(typeof i=="object"){const t=i.toString();return e(t==="[object Object]"?JSON.stringify(i):t)}throw new Error("Unexpected param value: "+i)}getSQL(){return this}as(i){return i===void 0?this:new De.Aliased(this,i)}mapWith(i){return this.decoder=typeof i=="function"?{mapFromDriverValue:i}:i,this}inlineParams(){return this.shouldInlineParams=!0,this}if(i){return i?this:void 0}};h(De,on,"SQL");let J=De;var an;an=v;class We{constructor(i){h(this,"brand");this.value=i}getSQL(){return new J([this])}}h(We,an,"Name");function Dr(n){return typeof n=="object"&&n!==null&&"mapToDriverValue"in n&&typeof n.mapToDriverValue=="function"}const Ei={mapFromDriverValue:n=>n},Ci={mapToDriverValue:n=>n};({...Ei,...Ci});var ln;ln=v;class Ae{constructor(i,e=Ci){h(this,"brand");this.value=i,this.encoder=e}getSQL(){return new J([this])}}h(Ae,ln,"Param");function w(n,...i){const e=[];(i.length>0||n.length>0&&n[0]!=="")&&e.push(new Z(n[0]));for(const[t,r]of i.entries())e.push(r,new Z(n[t+1]));return new J(e)}(n=>{function i(){return new J([])}n.empty=i;function e(u){return new J(u)}n.fromList=e;function t(u){return new J([new Z(u)])}n.raw=t;function r(u,c){const d=[];for(const[m,f]of u.entries())m>0&&c!==void 0&&d.push(c),d.push(f);return new J(d)}n.join=r;function o(u){return new We(u)}n.identifier=o;function l(u){return new Be(u)}n.placeholder=l;function _(u,c){return new Ae(u,c)}n.param=_})(w||(w={}));(n=>{var e;e=v;const t=class t{constructor(o,l){h(this,"isSelectionField",!1);this.sql=o,this.fieldAlias=l}getSQL(){return this.sql}clone(){return new t(this.sql,this.fieldAlias)}};h(t,e,"SQL.Aliased");let i=t;n.Aliased=i})(J||(J={}));var _n;_n=v;class Be{constructor(i){this.name=i}getSQL(){return new J([this])}}h(Be,_n,"Placeholder");const Or=Symbol.for("drizzle:IsDrizzleView");var un,dn,cn;cn=v,dn=Ce,un=Or;class Dt{constructor({name:i,schema:e,selectedFields:t,query:r}){h(this,dn);h(this,un,!0);this[Ce]={name:i,originalName:i,schema:e,selectedFields:t,query:r,isExisting:!r,isAlias:!1}}getSQL(){return new J([this])}}h(Dt,cn,"View");Qe.prototype.getSQL=function(){return new J([this])};M.prototype.getSQL=function(){return new J([this])};bt.prototype.getSQL=function(){return new J([this])};function Je(n,i){return{name:typeof n=="string"&&n.length>0?n:"",config:typeof n=="object"?n:i}}const Ai=typeof TextDecoder>"u"?null:new TextDecoder;function xe(n,i){return Dr(i)&&!Li(n)&&!X(n,Ae)&&!X(n,Be)&&!X(n,Qe)&&!X(n,M)&&!X(n,Dt)?new Ae(n,i):n}const a=(n,i)=>w`${n} = ${xe(i,n)}`,kr=(n,i)=>w`${n} <> ${xe(i,n)}`;function g(...n){const i=n.filter(e=>e!==void 0);if(i.length!==0)return i.length===1?new J(i):new J([new Z("("),w.join(i,new Z(" and ")),new Z(")")])}function de(...n){const i=n.filter(e=>e!==void 0);if(i.length!==0)return i.length===1?new J(i):new J([new Z("("),w.join(i,new Z(" or ")),new Z(")")])}const He=(n,i)=>w`${n} > ${xe(i,n)}`,Ge=(n,i)=>w`${n} >= ${xe(i,n)}`,we=(n,i)=>w`${n} < ${xe(i,n)}`,Oe=(n,i)=>w`${n} <= ${xe(i,n)}`;function Ne(n,i){return Array.isArray(i)?i.length===0?w`false`:w`${n} in ${i.map(e=>xe(e,n))}`:w`${n} in ${xe(i,n)}`}function ye(n){return w`${n} is null`}function Ve(n){return w`${n} is not null`}function Ie(n,i){return w`${n} like ${i}`}function G(n){return w`${n} asc`}function V(n){return w`${n} desc`}function R(n){return w`count(${w.raw("*")})`.mapWith(Number)}function Ir(){const n=i=>{throw new Error(`Actions are not implemented in the Drizzle adapter (called ${i}). Use the Kysely adapter for tenants that require actions.`)};return{create:()=>n("create"),get:()=>n("get"),list:()=>n("list"),update:()=>n("update"),remove:()=>n("remove")}}var gn;gn=v;class Bi{constructor(i,e){h(this,"reference");h(this,"_onUpdate");h(this,"_onDelete");this.reference=()=>{const{name:t,columns:r,foreignColumns:o}=i();return{name:t,columns:r,foreignTable:o[0].table,foreignColumns:o}},e&&(this._onUpdate=e.onUpdate,this._onDelete=e.onDelete)}onUpdate(i){return this._onUpdate=i,this}onDelete(i){return this._onDelete=i,this}build(i){return new $i(i,this)}}h(Bi,gn,"SQLiteForeignKeyBuilder");var fn;fn=v;class $i{constructor(i,e){h(this,"reference");h(this,"onUpdate");h(this,"onDelete");this.table=i,this.reference=e.reference,this.onUpdate=e._onUpdate,this.onDelete=e._onDelete}getName(){const{name:i,columns:e,foreignColumns:t}=this.reference(),r=e.map(_=>_.name),o=t.map(_=>_.name),l=[this.table[ze],...r,t[0].table[ze],...o];return i??`${l.join("_")}_fk`}}h($i,fn,"SQLiteForeignKey");function zr(n,i){return`${n[ze]}_${i.join("_")}_unique`}var hn,mn;class ce extends(mn=qi,hn=v,mn){constructor(){super(...arguments);h(this,"foreignKeyConfigs",[])}references(e,t={}){return this.foreignKeyConfigs.push({ref:e,actions:t}),this}unique(e){return this.config.isUnique=!0,this.config.uniqueName=e,this}generatedAlwaysAs(e,t){return this.config.generated={as:e,type:"always",mode:(t==null?void 0:t.mode)??"virtual"},this}buildForeignKeys(e,t){return this.foreignKeyConfigs.map(({ref:r,actions:o})=>((l,_)=>{const u=new Bi(()=>{const c=l();return{columns:[e],foreignColumns:[c]}});return _.onUpdate&&u.onUpdate(_.onUpdate),_.onDelete&&u.onDelete(_.onDelete),u.build(t)})(r,o))}}h(ce,hn,"SQLiteColumnBuilder");var pn,yn;class ge extends(yn=Qe,pn=v,yn){constructor(i,e){e.uniqueName||(e.uniqueName=zr(i,[e.name])),super(i,e),this.table=i}}h(ge,pn,"SQLiteColumn");var wn,Nn;class Pi extends(Nn=ce,wn=v,Nn){constructor(i){super(i,"bigint","SQLiteBigInt")}build(i){return new Qi(i,this.config)}}h(Pi,wn,"SQLiteBigIntBuilder");var vn,Sn;class Qi extends(Sn=ge,vn=v,Sn){getSQLType(){return"blob"}mapFromDriverValue(i){if(typeof Buffer<"u"&&Buffer.from){const e=Buffer.isBuffer(i)?i:i instanceof ArrayBuffer?Buffer.from(i):i.buffer?Buffer.from(i.buffer,i.byteOffset,i.byteLength):Buffer.from(i);return BigInt(e.toString("utf8"))}return BigInt(Ai.decode(i))}mapToDriverValue(i){return Buffer.from(i.toString())}}h(Qi,vn,"SQLiteBigInt");var xn,bn;class Ji extends(bn=ce,xn=v,bn){constructor(i){super(i,"json","SQLiteBlobJson")}build(i){return new Fi(i,this.config)}}h(Ji,xn,"SQLiteBlobJsonBuilder");var Dn,On;class Fi extends(On=ge,Dn=v,On){getSQLType(){return"blob"}mapFromDriverValue(i){if(typeof Buffer<"u"&&Buffer.from){const e=Buffer.isBuffer(i)?i:i instanceof ArrayBuffer?Buffer.from(i):i.buffer?Buffer.from(i.buffer,i.byteOffset,i.byteLength):Buffer.from(i);return JSON.parse(e.toString("utf8"))}return JSON.parse(Ai.decode(i))}mapToDriverValue(i){return Buffer.from(JSON.stringify(i))}}h(Fi,Dn,"SQLiteBlobJson");var kn,In;class Ui extends(In=ce,kn=v,In){constructor(i){super(i,"buffer","SQLiteBlobBuffer")}build(i){return new Ki(i,this.config)}}h(Ui,kn,"SQLiteBlobBufferBuilder");var zn,Tn;class Ki extends(Tn=ge,zn=v,Tn){mapFromDriverValue(i){return Buffer.isBuffer(i)?i:Buffer.from(i)}getSQLType(){return"blob"}}h(Ki,zn,"SQLiteBlobBuffer");function Tr(n,i){const{name:e,config:t}=Je(n,i);return(t==null?void 0:t.mode)==="json"?new Ji(e):(t==null?void 0:t.mode)==="bigint"?new Pi(e):new Ui(e)}var qn,Ln;class ji extends(Ln=ce,qn=v,Ln){constructor(i,e,t){super(i,"custom","SQLiteCustomColumn"),this.config.fieldConfig=e,this.config.customTypeParams=t}build(i){return new Mi(i,this.config)}}h(ji,qn,"SQLiteCustomColumnBuilder");var En,Cn;class Mi extends(Cn=ge,En=v,Cn){constructor(e,t){super(e,t);h(this,"sqlName");h(this,"mapTo");h(this,"mapFrom");this.sqlName=t.customTypeParams.dataType(t.fieldConfig),this.mapTo=t.customTypeParams.toDriver,this.mapFrom=t.customTypeParams.fromDriver}getSQLType(){return this.sqlName}mapFromDriverValue(e){return typeof this.mapFrom=="function"?this.mapFrom(e):e}mapToDriverValue(e){return typeof this.mapTo=="function"?this.mapTo(e):e}}h(Mi,En,"SQLiteCustomColumn");function qr(n){return(i,e)=>{const{name:t,config:r}=Je(i,e);return new ji(t,r,n)}}var An,Bn;class Ye extends(Bn=ce,An=v,Bn){constructor(i,e,t){super(i,e,t),this.config.autoIncrement=!1}primaryKey(i){return i!=null&&i.autoIncrement&&(this.config.autoIncrement=!0),this.config.hasDefault=!0,super.primaryKey()}}h(Ye,An,"SQLiteBaseIntegerBuilder");var $n,Pn;class Xe extends(Pn=ge,$n=v,Pn){constructor(){super(...arguments);h(this,"autoIncrement",this.config.autoIncrement)}getSQLType(){return"integer"}}h(Xe,$n,"SQLiteBaseInteger");var Qn,Jn;class Vi extends(Jn=Ye,Qn=v,Jn){constructor(i){super(i,"number","SQLiteInteger")}build(i){return new Ri(i,this.config)}}h(Vi,Qn,"SQLiteIntegerBuilder");var Fn,Un;class Ri extends(Un=Xe,Fn=v,Un){}h(Ri,Fn,"SQLiteInteger");var Kn,jn;class Wi extends(jn=Ye,Kn=v,jn){constructor(i,e){super(i,"date","SQLiteTimestamp"),this.config.mode=e}defaultNow(){return this.default(w`(cast((julianday('now') - 2440587.5)*86400000 as integer))`)}build(i){return new Hi(i,this.config)}}h(Wi,Kn,"SQLiteTimestampBuilder");var Mn,Vn;class Hi extends(Vn=Xe,Mn=v,Vn){constructor(){super(...arguments);h(this,"mode",this.config.mode)}mapFromDriverValue(e){return this.config.mode==="timestamp"?new Date(e*1e3):new Date(e)}mapToDriverValue(e){const t=e.getTime();return this.config.mode==="timestamp"?Math.floor(t/1e3):t}}h(Hi,Mn,"SQLiteTimestamp");var Rn,Wn;class Gi extends(Wn=Ye,Rn=v,Wn){constructor(i,e){super(i,"boolean","SQLiteBoolean"),this.config.mode=e}build(i){return new Yi(i,this.config)}}h(Gi,Rn,"SQLiteBooleanBuilder");var Hn,Gn;class Yi extends(Gn=Xe,Hn=v,Gn){constructor(){super(...arguments);h(this,"mode",this.config.mode)}mapFromDriverValue(e){return Number(e)===1}mapToDriverValue(e){return e?1:0}}h(Yi,Hn,"SQLiteBoolean");function p(n,i){const{name:e,config:t}=Je(n,i);return(t==null?void 0:t.mode)==="timestamp"||(t==null?void 0:t.mode)==="timestamp_ms"?new Wi(e,t.mode):(t==null?void 0:t.mode)==="boolean"?new Gi(e,t.mode):new Vi(e)}var Yn,Xn;class Xi extends(Xn=ce,Yn=v,Xn){constructor(i){super(i,"string","SQLiteNumeric")}build(i){return new Zi(i,this.config)}}h(Xi,Yn,"SQLiteNumericBuilder");var Zn,ei;class Zi extends(ei=ge,Zn=v,ei){mapFromDriverValue(i){return typeof i=="string"?i:String(i)}getSQLType(){return"numeric"}}h(Zi,Zn,"SQLiteNumeric");var ti,ni;class er extends(ni=ce,ti=v,ni){constructor(i){super(i,"number","SQLiteNumericNumber")}build(i){return new tr(i,this.config)}}h(er,ti,"SQLiteNumericNumberBuilder");var ii,ri;class tr extends(ri=ge,ii=v,ri){constructor(){super(...arguments);h(this,"mapToDriverValue",String)}mapFromDriverValue(e){return typeof e=="number"?e:Number(e)}getSQLType(){return"numeric"}}h(tr,ii,"SQLiteNumericNumber");var si,oi;class nr extends(oi=ce,si=v,oi){constructor(i){super(i,"bigint","SQLiteNumericBigInt")}build(i){return new ir(i,this.config)}}h(nr,si,"SQLiteNumericBigIntBuilder");var ai,li;class ir extends(li=ge,ai=v,li){constructor(){super(...arguments);h(this,"mapFromDriverValue",BigInt);h(this,"mapToDriverValue",String)}getSQLType(){return"numeric"}}h(ir,ai,"SQLiteNumericBigInt");function Lr(n,i){const{name:e,config:t}=Je(n,i),r=t==null?void 0:t.mode;return r==="number"?new er(e):r==="bigint"?new nr(e):new Xi(e)}var _i,ui;class rr extends(ui=ce,_i=v,ui){constructor(i){super(i,"number","SQLiteReal")}build(i){return new sr(i,this.config)}}h(rr,_i,"SQLiteRealBuilder");var di,ci;class sr extends(ci=ge,di=v,ci){getSQLType(){return"real"}}h(sr,di,"SQLiteReal");function Er(n){return new rr(n??"")}var gi,fi;class or extends(fi=ce,gi=v,fi){constructor(i,e){super(i,"string","SQLiteText"),this.config.enumValues=e.enum,this.config.length=e.length}build(i){return new ar(i,this.config)}}h(or,gi,"SQLiteTextBuilder");var hi,mi;class ar extends(mi=ge,hi=v,mi){constructor(e,t){super(e,t);h(this,"enumValues",this.config.enumValues);h(this,"length",this.config.length)}getSQLType(){return`text${this.config.length?`(${this.config.length})`:""}`}}h(ar,hi,"SQLiteText");var pi,yi;class lr extends(yi=ce,pi=v,yi){constructor(i){super(i,"json","SQLiteTextJson")}build(i){return new _r(i,this.config)}}h(lr,pi,"SQLiteTextJsonBuilder");var wi,Ni;class _r extends(Ni=ge,wi=v,Ni){getSQLType(){return"text"}mapFromDriverValue(i){return JSON.parse(i)}mapToDriverValue(i){return JSON.stringify(i)}}h(_r,wi,"SQLiteTextJson");function s(n,i={}){const{name:e,config:t}=Je(n,i);return t.mode==="json"?new lr(e):new or(e,t)}function Cr(){return{blob:Tr,customType:qr,integer:p,numeric:Lr,real:Er,text:s}}const pt=Symbol.for("drizzle:SQLiteInlineForeignKeys");var vi,Si,xi,bi,Di;class $e extends(Di=M,bi=v,xi=M.Symbol.Columns,Si=pt,vi=M.Symbol.ExtraConfigBuilder,Di){constructor(){super(...arguments);h(this,xi);h(this,Si,[]);h(this,vi)}}h($e,bi,"SQLiteTable"),h($e,"Symbol",Object.assign({},M.Symbol,{InlineForeignKeys:pt}));function Ar(n,i,e,t,r=n){const o=new $e(n,t,r),l=typeof i=="function"?i(Cr()):i,_=Object.fromEntries(Object.entries(l).map(([c,d])=>{const m=d;m.setName(c);const f=m.build(o);return o[pt].push(...m.buildForeignKeys(f,o)),[c,f]})),u=Object.assign(o,_);return u[M.Symbol.Columns]=_,u[M.Symbol.ExtraConfigColumns]=_,e&&(u[$e.Symbol.ExtraConfigBuilder]=e),u}const O=(n,i,e)=>Ar(n,i,e);var Oi;Oi=v;class Ot{constructor(i,e){this.name=i,this.unique=e}on(...i){return new ur(this.name,i,this.unique)}}h(Ot,Oi,"SQLiteIndexBuilderOn");var ki;ki=v;class ur{constructor(i,e,t){h(this,"config");this.config={name:i,columns:e,unique:t,where:void 0}}where(i){return this.config.where=i,this}build(i){return new dr(this.config,i)}}h(ur,ki,"SQLiteIndexBuilder");var Ii;Ii=v;class dr{constructor(i,e){h(this,"config");this.config={...i,table:e}}}h(dr,Ii,"SQLiteIndex");function S(n){return new Ot(n,!1)}function Te(n){return new Ot(n,!0)}function oe(...n){return n[0].columns?new yt(n[0].columns,n[0].name):new yt(n)}var zi;zi=v;class yt{constructor(i,e){h(this,"columns");h(this,"name");this.columns=i,this.name=e}build(i){return new cr(i,this.columns,this.name)}}h(yt,zi,"SQLitePrimaryKeyBuilder");var Ti;Ti=v;class cr{constructor(i,e,t){h(this,"columns");h(this,"name");this.table=i,this.columns=e,this.name=t}getName(){return this.name??`${this.table[$e.Symbol.Name]}_${this.columns.map(i=>i.name).join("_")}_pk`}}h(cr,Ti,"SQLitePrimaryKey");const D=O("tenants",{id:s("id",{length:191}).primaryKey(),name:s("name",{length:255}),audience:s("audience",{length:255}),sender_email:s("sender_email",{length:255}),sender_name:s("sender_name",{length:255}),language:s("language",{length:255}),logo:s("logo",{length:255}),primary_color:s("primary_color",{length:255}),secondary_color:s("secondary_color",{length:255}),created_at:s("created_at",{length:35}).notNull(),updated_at:s("updated_at",{length:35}).notNull(),support_url:s("support_url",{length:255}),idle_session_lifetime:p("idle_session_lifetime"),session_lifetime:p("session_lifetime"),session_cookie:s("session_cookie"),allowed_logout_urls:s("allowed_logout_urls"),ephemeral_session_lifetime:p("ephemeral_session_lifetime"),idle_ephemeral_session_lifetime:p("idle_ephemeral_session_lifetime"),default_redirection_uri:s("default_redirection_uri"),enabled_locales:s("enabled_locales"),default_directory:s("default_directory",{length:255}),error_page:s("error_page"),flags:s("flags"),friendly_name:s("friendly_name",{length:255}),picture_url:s("picture_url"),support_email:s("support_email",{length:255}),sandbox_version:s("sandbox_version",{length:50}),sandbox_versions_available:s("sandbox_versions_available"),legacy_sandbox_version:s("legacy_sandbox_version",{length:50}),change_password:s("change_password"),guardian_mfa_page:s("guardian_mfa_page"),device_flow:s("device_flow"),default_token_quota:s("default_token_quota"),default_audience:s("default_audience",{length:255}),default_organization:s("default_organization",{length:255}),sessions:s("sessions"),oidc_logout:s("oidc_logout"),allow_organization_name_in_authentication_api:p("allow_organization_name_in_authentication_api"),customize_mfa_in_postlogin_action:p("customize_mfa_in_postlogin_action"),acr_values_supported:s("acr_values_supported"),mtls:s("mtls"),pushed_authorization_requests_supported:p("pushed_authorization_requests_supported"),authorization_response_iss_parameter_supported:p("authorization_response_iss_parameter_supported")}),k=O("users",{user_id:s("user_id",{length:255}).notNull(),tenant_id:s("tenant_id",{length:191}).notNull().references(()=>D.id,{onDelete:"cascade"}),email:s("email",{length:255}),given_name:s("given_name",{length:255}),family_name:s("family_name",{length:255}),nickname:s("nickname",{length:255}),name:s("name",{length:255}),picture:s("picture",{length:2083}),tags:s("tags",{length:255}),phone_number:s("phone_number",{length:17}),phone_verified:p("phone_verified",{mode:"boolean"}),username:s("username",{length:128}),created_at:s("created_at",{length:35}).notNull(),updated_at:s("updated_at",{length:35}).notNull(),linked_to:s("linked_to",{length:255}),last_ip:s("last_ip",{length:255}),login_count:p("login_count").notNull(),last_login:s("last_login",{length:255}),registration_completed_at:s("registration_completed_at",{length:35}),provider:s("provider",{length:255}).notNull(),connection:s("connection",{length:255}),email_verified:p("email_verified",{mode:"boolean"}).notNull(),is_social:p("is_social",{mode:"boolean"}).notNull(),app_metadata:s("app_metadata",{length:4096}).notNull().default("{}"),user_metadata:s("user_metadata").notNull().default("{}"),profileData:s("profileData",{length:2048}),locale:s("locale",{length:255}),middle_name:s("middle_name",{length:100}),preferred_username:s("preferred_username",{length:255}),profile:s("profile"),website:s("website"),gender:s("gender",{length:50}),birthdate:s("birthdate",{length:10}),zoneinfo:s("zoneinfo",{length:100}),address:s("address")},n=>[oe({columns:[n.user_id,n.tenant_id],name:"users_tenants"}),Te("unique_email_provider").on(n.email,n.provider,n.tenant_id),Te("unique_phone_provider").on(n.phone_number,n.provider,n.tenant_id),Te("unique_username_provider").on(n.username,n.provider,n.tenant_id),S("users_email_index").on(n.email),S("users_linked_to_index").on(n.linked_to),S("users_name_index").on(n.name),S("users_phone_tenant_provider_index").on(n.tenant_id,n.phone_number,n.provider)]),C=O("passwords",{id:s("id",{length:21}).primaryKey(),tenant_id:s("tenant_id",{length:191}).notNull().references(()=>D.id,{onDelete:"cascade"}),user_id:s("user_id",{length:255}).notNull(),created_at:s("created_at",{length:35}).notNull(),updated_at:s("updated_at",{length:35}).notNull(),password:s("password",{length:255}).notNull(),algorithm:s("algorithm",{length:16}).notNull().default("bcrypt"),is_current:p("is_current").notNull().default(1)}),B=O("sessions",{id:s("id",{length:21}).notNull(),tenant_id:s("tenant_id",{length:191}).notNull().references(()=>D.id,{onDelete:"cascade"}),user_id:s("user_id",{length:255}),created_at_ts:p("created_at_ts").notNull(),updated_at_ts:p("updated_at_ts").notNull(),expires_at_ts:p("expires_at_ts"),idle_expires_at_ts:p("idle_expires_at_ts"),authenticated_at_ts:p("authenticated_at_ts"),last_interaction_at_ts:p("last_interaction_at_ts"),used_at_ts:p("used_at_ts"),revoked_at_ts:p("revoked_at_ts"),device:s("device").notNull(),clients:s("clients").notNull(),login_session_id:s("login_session_id",{length:21})},n=>[oe({columns:[n.tenant_id,n.id],name:"sessions_pk"}),S("IDX_sessions_login_session_id").on(n.login_session_id),S("idx_sessions_user_id").on(n.tenant_id,n.user_id),S("idx_sessions_expires_at_ts").on(n.expires_at_ts)]),T=O("refresh_tokens",{id:s("id",{length:21}).notNull(),tenant_id:s("tenant_id",{length:191}).notNull().references(()=>D.id,{onDelete:"cascade"}),client_id:s("client_id",{length:191}).notNull(),login_id:s("login_id",{length:21}).notNull(),user_id:s("user_id",{length:255}),resource_servers:s("resource_servers").notNull(),device:s("device").notNull(),rotating:p("rotating",{mode:"boolean"}).notNull(),created_at_ts:p("created_at_ts").notNull(),expires_at_ts:p("expires_at_ts"),idle_expires_at_ts:p("idle_expires_at_ts"),last_exchanged_at_ts:p("last_exchanged_at_ts")},n=>[oe({columns:[n.tenant_id,n.id],name:"refresh_tokens_pk"}),S("idx_refresh_tokens_user_id").on(n.tenant_id,n.user_id),S("idx_refresh_tokens_login_id").on(n.login_id),S("idx_refresh_tokens_expires_at_ts").on(n.expires_at_ts)]),$=O("login_sessions",{id:s("id",{length:21}).notNull(),tenant_id:s("tenant_id",{length:191}).notNull().references(()=>D.id,{onDelete:"cascade"}),session_id:s("session_id",{length:21}),csrf_token:s("csrf_token",{length:21}).notNull(),authParams_client_id:s("authParams_client_id",{length:191}).notNull(),authParams_vendor_id:s("authParams_vendor_id",{length:255}),authParams_username:s("authParams_username",{length:255}),authParams_response_type:s("authParams_response_type",{length:255}),authParams_response_mode:s("authParams_response_mode",{length:255}),authParams_audience:s("authParams_audience",{length:255}),authParams_scope:s("authParams_scope"),authParams_state:s("authParams_state"),authParams_nonce:s("authParams_nonce",{length:255}),authParams_code_challenge_method:s("authParams_code_challenge_method",{length:255}),authParams_code_challenge:s("authParams_code_challenge",{length:255}),authParams_redirect_uri:s("authParams_redirect_uri"),authParams_organization:s("authParams_organization",{length:255}),authParams_prompt:s("authParams_prompt",{length:32}),authParams_act_as:s("authParams_act_as",{length:256}),authParams_ui_locales:s("authParams_ui_locales",{length:32}),authorization_url:s("authorization_url"),created_at_ts:p("created_at_ts").notNull(),updated_at_ts:p("updated_at_ts").notNull(),expires_at_ts:p("expires_at_ts").notNull(),ip:s("ip",{length:39}),useragent:s("useragent"),auth0Client:s("auth0Client",{length:255}),state:s("state",{length:50}).notNull().default("pending"),state_data:s("state_data"),failure_reason:s("failure_reason"),user_id:s("user_id",{length:255}),auth_connection:s("auth_connection",{length:255})},n=>[oe({columns:[n.tenant_id,n.id],name:"login_sessions_pk"}),S("login_sessions_id_index").on(n.id),S("login_sessions_state_idx").on(n.state),S("login_sessions_state_updated_idx").on(n.state,n.updated_at_ts),S("login_sessions_tenant_user_idx").on(n.tenant_id,n.user_id),S("idx_login_sessions_expires_at_ts").on(n.expires_at_ts)]),P=O("codes",{code_id:s("code_id",{length:191}).notNull(),tenant_id:s("tenant_id",{length:191}).notNull().references(()=>D.id,{onDelete:"cascade"}),user_id:s("user_id",{length:255}),login_id:s("login_id",{length:255}),connection_id:s("connection_id",{length:255}),code_type:s("code_type",{length:255}).notNull(),created_at:s("created_at",{length:35}).notNull(),expires_at:s("expires_at",{length:35}).notNull(),used_at:s("used_at",{length:35}),code_verifier:s("code_verifier",{length:128}),code_challenge:s("code_challenge",{length:128}),code_challenge_method:s("code_challenge_method",{length:5}),redirect_uri:s("redirect_uri",{length:1024}),nonce:s("nonce",{length:1024}),state:s("state",{length:2048})},n=>[oe({columns:[n.code_id,n.code_type],name:"PK_codes_code_id_code_type"}),S("codes_expires_at_index").on(n.expires_at)]),Br=O("authentication_codes",{tenant_id:s("tenant_id",{length:191}).notNull().references(()=>D.id,{onDelete:"cascade"}),code:s("code",{length:255}).primaryKey(),client_id:s("client_id",{length:255}).notNull(),user_id:s("user_id",{length:255}).notNull(),nonce:s("nonce",{length:255}),state:s("state",{length:8192}),scope:s("scope",{length:1024}),response_type:s("response_type",{length:256}),response_mode:s("response_mode",{length:256}),redirect_uri:s("redirect_uri",{length:1024}),created_at:s("created_at",{length:35}).notNull(),expires_at:s("expires_at",{length:35}).notNull(),used_at:s("used_at",{length:35})}),$r=O("otps",{tenant_id:s("tenant_id",{length:191}).notNull().references(()=>D.id,{onDelete:"cascade"}),id:s("id",{length:255}).primaryKey(),client_id:s("client_id",{length:255}).notNull(),code:s("code",{length:255}).notNull(),email:s("email",{length:255}).notNull(),user_id:s("user_id",{length:255}),send:s("send",{length:255}),nonce:s("nonce",{length:255}),state:s("state",{length:1024}),scope:s("scope",{length:1024}),response_type:s("response_type",{length:256}),response_mode:s("response_mode",{length:256}),redirect_uri:s("redirect_uri",{length:1024}),created_at:s("created_at",{length:35}).notNull(),expires_at:s("expires_at",{length:35}).notNull(),used_at:s("used_at",{length:35}),audience:s("audience",{length:255}),ip:s("ip",{length:64})},n=>[S("otps_email_index").on(n.email),S("otps_expires_at_index").on(n.expires_at)]),Pr=O("tickets",{tenant_id:s("tenant_id",{length:191}).notNull().references(()=>D.id,{onDelete:"cascade"}),id:s("id",{length:255}).primaryKey(),client_id:s("client_id",{length:255}).notNull(),email:s("email",{length:255}).notNull(),nonce:s("nonce",{length:255}),state:s("state",{length:1024}),scope:s("scope",{length:1024}),response_type:s("response_type",{length:256}),response_mode:s("response_mode",{length:256}),redirect_uri:s("redirect_uri",{length:1024}),created_at:s("created_at",{length:35}).notNull(),expires_at:s("expires_at",{length:35}).notNull(),used_at:s("used_at",{length:35})}),I=O("clients",{client_id:s("client_id",{length:191}).notNull(),tenant_id:s("tenant_id",{length:191}).notNull().references(()=>D.id,{onDelete:"cascade"}),name:s("name",{length:255}).notNull(),description:s("description",{length:140}),global:p("global").notNull().default(0),client_secret:s("client_secret",{length:255}),app_type:s("app_type",{length:64}).default("regular_web"),logo_uri:s("logo_uri",{length:2083}),is_first_party:p("is_first_party").notNull().default(0),oidc_conformant:p("oidc_conformant").notNull().default(1),auth0_conformant:p("auth0_conformant").notNull().default(1),callbacks:s("callbacks").notNull(),allowed_origins:s("allowed_origins").notNull(),web_origins:s("web_origins").notNull(),client_aliases:s("client_aliases").notNull(),allowed_clients:s("allowed_clients").notNull(),allowed_logout_urls:s("allowed_logout_urls").notNull(),session_transfer:s("session_transfer").notNull(),oidc_logout:s("oidc_logout").notNull(),grant_types:s("grant_types").notNull(),jwt_configuration:s("jwt_configuration").notNull(),signing_keys:s("signing_keys").notNull(),encryption_key:s("encryption_key").notNull(),sso:p("sso").notNull().default(0),sso_disabled:p("sso_disabled").notNull().default(1),cross_origin_authentication:p("cross_origin_authentication").notNull().default(0),cross_origin_loc:s("cross_origin_loc",{length:2083}),custom_login_page_on:p("custom_login_page_on").notNull().default(0),custom_login_page:s("custom_login_page"),custom_login_page_preview:s("custom_login_page_preview"),form_template:s("form_template"),addons:s("addons").notNull(),token_endpoint_auth_method:s("token_endpoint_auth_method",{length:64}).default("client_secret_basic"),client_metadata:s("client_metadata").notNull(),mobile:s("mobile").notNull(),initiate_login_uri:s("initiate_login_uri",{length:2083}),native_social_login:s("native_social_login").notNull(),refresh_token:s("refresh_token").notNull(),default_organization:s("default_organization").notNull(),organization_usage:s("organization_usage",{length:32}).default("deny"),organization_require_behavior:s("organization_require_behavior",{length:32}).default("no_prompt"),client_authentication_methods:s("client_authentication_methods").notNull(),require_pushed_authorization_requests:p("require_pushed_authorization_requests").notNull().default(0),require_proof_of_possession:p("require_proof_of_possession").notNull().default(0),signed_request_object:s("signed_request_object").notNull(),compliance_level:s("compliance_level",{length:64}),par_request_expiry:p("par_request_expiry"),token_quota:s("token_quota").notNull(),created_at:s("created_at",{length:35}).notNull(),updated_at:s("updated_at",{length:35}).notNull(),connections:s("connections").notNull().default("[]")},n=>[oe({columns:[n.tenant_id,n.client_id],name:"clients_tenant_id_client_id"})]),Y=O("client_grants",{id:s("id",{length:21}).notNull(),tenant_id:s("tenant_id",{length:191}).notNull().references(()=>D.id,{onDelete:"cascade"}),client_id:s("client_id",{length:191}).notNull(),audience:s("audience",{length:191}).notNull(),scope:s("scope").default("[]"),organization_usage:s("organization_usage",{length:32}),allow_any_organization:p("allow_any_organization").default(0),is_system:p("is_system").default(0),subject_type:s("subject_type",{length:32}),authorization_details_types:s("authorization_details_types").default("[]"),created_at:s("created_at",{length:35}).notNull(),updated_at:s("updated_at",{length:35}).notNull()},n=>[oe({columns:[n.tenant_id,n.id],name:"pk_client_grants"}),S("idx_client_grants_audience").on(n.audience)]),K=O("connections",{id:s("id",{length:255}).notNull(),tenant_id:s("tenant_id",{length:191}).notNull().references(()=>D.id,{onDelete:"cascade"}),name:s("name",{length:255}).notNull(),response_type:s("response_type",{length:255}),response_mode:s("response_mode",{length:255}),strategy:s("strategy",{length:64}),options:s("options",{length:8192}).notNull().default("{}"),created_at:s("created_at",{length:35}).notNull(),updated_at:s("updated_at",{length:35}).notNull(),display_name:s("display_name",{length:255}),is_domain_connection:p("is_domain_connection"),show_as_button:p("show_as_button"),is_system:p("is_system").notNull().default(0),metadata:s("metadata",{length:4096})},n=>[oe({columns:[n.tenant_id,n.id]}),S("connections_tenant_id_index").on(n.tenant_id),Te("connections_id_unique").on(n.id)]),se=O("custom_domains",{custom_domain_id:s("custom_domain_id",{length:256}).primaryKey(),tenant_id:s("tenant_id",{length:191}).notNull().references(()=>D.id,{onDelete:"cascade"}),domain:s("domain",{length:255}).notNull(),primary:p("primary",{mode:"boolean"}).notNull(),status:s("status",{length:50}).notNull(),type:s("type",{length:50}).notNull(),origin_domain_name:s("origin_domain_name",{length:255}),verification:s("verification",{length:2048}),custom_client_ip_header:s("custom_client_ip_header",{length:50}),tls_policy:s("tls_policy",{length:50}),domain_metadata:s("domain_metadata",{length:2048}),created_at:s("created_at",{length:35}).notNull(),updated_at:s("updated_at",{length:35}).notNull()},n=>[Te("custom_domains_domain_unique").on(n.domain)]),Qr=O("domains",{id:s("id",{length:255}).primaryKey(),tenant_id:s("tenant_id",{length:191}).notNull().references(()=>D.id,{onDelete:"cascade"}),domain:s("domain",{length:255}).notNull(),email_service:s("email_service",{length:255}),email_api_key:s("email_api_key",{length:255}),dkim_private_key:s("dkim_private_key",{length:2048}),dkim_public_key:s("dkim_public_key",{length:2048}),created_at:s("created_at",{length:35}).notNull(),updated_at:s("updated_at",{length:35}).notNull()}),L=O("organizations",{id:s("id",{length:21}).primaryKey(),tenant_id:s("tenant_id",{length:191}).notNull(),name:s("name",{length:256}).notNull(),display_name:s("display_name",{length:256}),branding:s("branding"),metadata:s("metadata"),enabled_connections:s("enabled_connections"),token_quota:s("token_quota"),created_at:s("created_at",{length:35}).notNull(),updated_at:s("updated_at",{length:35}).notNull()},n=>[S("idx_organizations_tenant_id").on(n.tenant_id)]),Q=O("user_organizations",{id:s("id",{length:21}).primaryKey(),tenant_id:s("tenant_id",{length:191}).notNull(),user_id:s("user_id",{length:191}).notNull(),organization_id:s("organization_id",{length:21}).notNull(),created_at:s("created_at",{length:35}).notNull(),updated_at:s("updated_at",{length:35}).notNull()},n=>[Te("user_organizations_unique").on(n.tenant_id,n.user_id,n.organization_id),S("idx_user_organizations_tenant_id").on(n.tenant_id),S("idx_user_organizations_user_id").on(n.user_id),S("idx_user_organizations_organization_id").on(n.organization_id)]),ne=O("invites",{id:s("id",{length:21}).primaryKey(),tenant_id:s("tenant_id",{length:191}).notNull(),organization_id:s("organization_id",{length:21}).notNull(),inviter:s("inviter").notNull(),invitee:s("invitee").notNull(),client_id:s("client_id",{length:191}).notNull(),connection_id:s("connection_id",{length:21}),invitation_url:s("invitation_url").notNull(),created_at:s("created_at",{length:35}).notNull(),expires_at:s("expires_at",{length:35}).notNull(),app_metadata:s("app_metadata"),user_metadata:s("user_metadata"),roles:s("roles"),ticket_id:s("ticket_id",{length:191}),ttl_sec:p("ttl_sec"),send_invitation_email:p("send_invitation_email")},n=>[S("idx_invites_tenant_id").on(n.tenant_id),S("idx_invites_organization_id").on(n.organization_id),S("idx_invites_expires_at").on(n.expires_at),S("idx_invites_tenant_created").on(n.tenant_id,n.created_at)]),F=O("roles",{id:s("id",{length:21}).notNull(),tenant_id:s("tenant_id",{length:191}).notNull(),name:s("name",{length:50}).notNull(),description:s("description",{length:255}),is_system:p("is_system").notNull().default(0),metadata:s("metadata",{length:4096}),created_at:s("created_at",{length:35}).notNull(),updated_at:s("updated_at",{length:35}).notNull()},n=>[oe({columns:[n.tenant_id,n.id],name:"roles_pk"})]),le=O("role_permissions",{tenant_id:s("tenant_id",{length:191}).notNull(),role_id:s("role_id",{length:21}).notNull(),resource_server_identifier:s("resource_server_identifier",{length:191}).notNull(),permission_name:s("permission_name",{length:191}).notNull(),created_at:s("created_at",{length:35}).notNull()},n=>[oe({columns:[n.tenant_id,n.role_id,n.resource_server_identifier,n.permission_name],name:"role_permissions_pk"}),S("role_permissions_role_fk").on(n.tenant_id,n.role_id),S("role_permissions_permission_fk").on(n.tenant_id,n.resource_server_identifier,n.permission_name)]),_e=O("user_permissions",{tenant_id:s("tenant_id",{length:191}).notNull(),user_id:s("user_id",{length:191}).notNull(),resource_server_identifier:s("resource_server_identifier",{length:191}).notNull(),permission_name:s("permission_name",{length:191}).notNull(),organization_id:s("organization_id",{length:21}).notNull().default(""),created_at:s("created_at",{length:35}).notNull()},n=>[oe({columns:[n.tenant_id,n.user_id,n.resource_server_identifier,n.permission_name,n.organization_id],name:"user_permissions_pk"}),S("user_permissions_user_fk").on(n.tenant_id,n.user_id),S("user_permissions_permission_fk").on(n.tenant_id,n.resource_server_identifier,n.permission_name),S("user_permissions_organization_fk").on(n.organization_id)]),ue=O("user_roles",{tenant_id:s("tenant_id",{length:191}).notNull(),user_id:s("user_id",{length:191}).notNull(),role_id:s("role_id",{length:21}).notNull(),organization_id:s("organization_id",{length:191}).notNull().default(""),created_at:s("created_at",{length:35}).notNull()},n=>[oe({columns:[n.tenant_id,n.user_id,n.role_id,n.organization_id],name:"user_roles_pk"}),S("user_roles_user_fk").on(n.tenant_id,n.user_id),S("user_roles_role_fk").on(n.tenant_id,n.role_id),S("user_roles_organization_fk").on(n.organization_id)]),E=O("resource_servers",{id:s("id",{length:21}).notNull(),tenant_id:s("tenant_id",{length:191}).notNull(),identifier:s("identifier",{length:191}).notNull(),name:s("name",{length:255}).notNull(),scopes:s("scopes",{length:4096}),signing_alg:s("signing_alg",{length:64}),signing_secret:s("signing_secret",{length:2048}),token_lifetime:p("token_lifetime"),token_lifetime_for_web:p("token_lifetime_for_web"),skip_consent_for_verifiable_first_party_clients:p("skip_consent_for_verifiable_first_party_clients"),allow_offline_access:p("allow_offline_access"),verification_key:s("verification_key",{length:4096}),options:s("options",{length:4096}),is_system:p("is_system").notNull().default(0),metadata:s("metadata",{length:4096}),created_at:s("created_at",{length:35}).notNull(),updated_at:s("updated_at",{length:35}).notNull()},n=>[oe({columns:[n.tenant_id,n.id],name:"resource_servers_pk"})]),Le=O("branding",{tenant_id:s("tenant_id",{length:191}).primaryKey().references(()=>D.id,{onDelete:"cascade"}),logo_url:s("logo_url",{length:512}),favicon_url:s("favicon_url",{length:512}),font_url:s("font_url",{length:512}),colors_primary:s("colors_primary",{length:8}),colors_page_background_type:s("colors_page_background_type",{length:32}),colors_page_background_start:s("colors_page_background_start",{length:8}),colors_page_background_end:s("colors_page_background_end",{length:8}),colors_page_background_angle_dev:p("colors_page_background_angle_dev")}),ve=O("universal_login_templates",{tenant_id:s("tenant_id",{length:191}).primaryKey().references(()=>D.id,{onDelete:"cascade"}),body:s("body").notNull(),created_at_ts:p("created_at_ts").notNull(),updated_at_ts:p("updated_at_ts").notNull()}),fe=O("themes",{tenant_id:s("tenant_id",{length:191}).notNull().references(()=>D.id,{onDelete:"cascade"}),themeId:s("themeId",{length:255}).notNull(),displayName:s("displayName",{length:255}).notNull(),colors_primary_button_label:s("colors_primary_button_label",{length:24}).notNull(),colors_primary_button:s("colors_primary_button",{length:24}).notNull(),colors_secondary_button_border:s("colors_secondary_button_border",{length:24}).notNull(),colors_secondary_button_label:s("colors_secondary_button_label",{length:24}).notNull(),colors_base_focus_color:s("colors_base_focus_color",{length:24}).notNull(),colors_base_hover_color:s("colors_base_hover_color",{length:24}).notNull(),colors_body_text:s("colors_body_text",{length:24}).notNull(),colors_captcha_widget_theme:s("colors_captcha_widget_theme",{length:24}).notNull(),colors_error:s("colors_error",{length:24}).notNull(),colors_header:s("colors_header",{length:24}).notNull(),colors_icons:s("colors_icons",{length:24}).notNull(),colors_input_background:s("colors_input_background",{length:24}).notNull(),colors_input_border:s("colors_input_border",{length:24}).notNull(),colors_input_filled_text:s("colors_input_filled_text",{length:24}).notNull(),colors_input_labels_placeholders:s("colors_input_labels_placeholders",{length:24}).notNull(),colors_links_focused_components:s("colors_links_focused_components",{length:24}).notNull(),colors_success:s("colors_success",{length:24}).notNull(),colors_widget_background:s("colors_widget_background",{length:24}).notNull(),colors_widget_border:s("colors_widget_border",{length:24}).notNull(),borders_button_border_radius:p("borders_button_border_radius").notNull(),borders_button_border_weight:p("borders_button_border_weight").notNull(),borders_buttons_style:s("borders_buttons_style",{length:24}).notNull(),borders_input_border_radius:p("borders_input_border_radius").notNull(),borders_input_border_weight:p("borders_input_border_weight").notNull(),borders_inputs_style:s("borders_inputs_style",{length:24}).notNull(),borders_show_widget_shadow:p("borders_show_widget_shadow",{mode:"boolean"}).notNull(),borders_widget_border_weight:p("borders_widget_border_weight").notNull(),borders_widget_corner_radius:p("borders_widget_corner_radius").notNull(),fonts_body_text_bold:p("fonts_body_text_bold").notNull(),fonts_body_text_size:p("fonts_body_text_size").notNull(),fonts_buttons_text_bold:p("fonts_buttons_text_bold").notNull(),fonts_buttons_text_size:p("fonts_buttons_text_size").notNull(),fonts_font_url:s("fonts_font_url",{length:255}).notNull(),fonts_input_labels_bold:p("fonts_input_labels_bold").notNull(),fonts_input_labels_size:p("fonts_input_labels_size").notNull(),fonts_links_bold:p("fonts_links_bold",{mode:"boolean"}).notNull(),fonts_links_size:p("fonts_links_size").notNull(),fonts_links_style:s("fonts_links_style",{length:24}).notNull(),fonts_reference_text_size:p("fonts_reference_text_size").notNull(),fonts_subtitle_bold:p("fonts_subtitle_bold",{mode:"boolean"}).notNull(),fonts_subtitle_size:p("fonts_subtitle_size").notNull(),fonts_title_bold:p("fonts_title_bold",{mode:"boolean"}).notNull(),fonts_title_size:p("fonts_title_size").notNull(),page_background_background_color:s("page_background_background_color",{length:24}).notNull(),page_background_background_image_url:s("page_background_background_image_url",{length:255}).notNull(),page_background_page_layout:s("page_background_page_layout",{length:24}).notNull(),widget_header_text_alignment:s("widget_header_text_alignment",{length:24}).notNull(),widget_logo_height:p("widget_logo_height").notNull(),widget_logo_position:s("widget_logo_position",{length:24}).notNull(),widget_logo_url:s("widget_logo_url",{length:255}).notNull(),widget_social_buttons_layout:s("widget_social_buttons_layout",{length:24}).notNull(),created_at:s("created_at",{length:35}).notNull(),updated_at:s("updated_at",{length:35}).notNull()},n=>[oe({columns:[n.tenant_id,n.themeId],name:"themes_pkey"}),S("themes_tenant_id_idx").on(n.tenant_id)]),ie=O("forms",{id:s("id",{length:255}).primaryKey(),name:s("name",{length:255}).notNull(),tenant_id:s("tenant_id",{length:191}).notNull().references(()=>D.id,{onDelete:"cascade"}),messages:s("messages",{length:255}),languages:s("languages",{length:255}),translations:s("translations",{length:4096}),nodes:s("nodes",{length:4096}),start:s("start",{length:255}),ending:s("ending",{length:255}),style:s("style",{length:1042}),created_at:s("created_at",{length:35}).notNull(),updated_at:s("updated_at",{length:35}).notNull()},n=>[S("forms_tenant_id_idx").on(n.tenant_id)]),re=O("flows",{id:s("id",{length:24}).primaryKey(),tenant_id:s("tenant_id",{length:191}).notNull().references(()=>D.id,{onDelete:"cascade"}),name:s("name",{length:150}).notNull(),actions:s("actions"),created_at:s("created_at",{length:35}).notNull(),updated_at:s("updated_at",{length:35}).notNull()},n=>[S("flows_tenant_id_idx").on(n.tenant_id)]),Ee=O("prompt_settings",{tenant_id:s("tenant_id",{length:191}).primaryKey(),universal_login_experience:s("universal_login_experience",{length:16}).notNull().default("new"),identifier_first:p("identifier_first",{mode:"boolean"}).notNull().default(!0),password_first:p("password_first",{mode:"boolean"}).notNull().default(!1),webauthn_platform_first_factor:p("webauthn_platform_first_factor",{mode:"boolean"}).notNull().default(!1)}),Se=O("email_providers",{tenant_id:s("tenant_id",{length:191}).primaryKey(),name:s("name",{length:255}).notNull(),enabled:p("enabled",{mode:"boolean"}).notNull(),default_from_address:s("default_from_address",{length:255}),credentials:s("credentials",{length:2048}).notNull().default("{}"),settings:s("settings",{length:2048}).notNull().default("{}"),created_at:s("created_at",{length:35}).notNull(),updated_at:s("updated_at",{length:35}).notNull()}),ee=O("hooks",{hook_id:s("hook_id",{length:21}).primaryKey(),tenant_id:s("tenant_id",{length:191}).notNull().references(()=>D.id,{onDelete:"cascade"}),url:s("url",{length:512}),trigger_id:s("trigger_id",{length:255}).notNull(),enabled:p("enabled",{mode:"boolean"}).notNull(),created_at_ts:p("created_at_ts").notNull(),updated_at_ts:p("updated_at_ts").notNull(),synchronous:p("synchronous",{mode:"boolean"}).notNull().default(!1),priority:p("priority"),form_id:s("form_id",{length:128}),template_id:s("template_id",{length:64}),code_id:s("code_id",{length:21})},n=>[S("hooks_tenant_id_idx").on(n.tenant_id)]),he=O("hook_code",{id:s("id",{length:21}).primaryKey(),tenant_id:s("tenant_id",{length:191}).notNull().references(()=>D.id,{onDelete:"cascade"}),code:s("code").notNull(),secrets:s("secrets"),created_at_ts:p("created_at_ts").notNull(),updated_at_ts:p("updated_at_ts").notNull()},n=>[S("hook_code_tenant_id_idx").on(n.tenant_id)]),me=O("keys",{kid:s("kid",{length:255}).primaryKey(),tenant_id:s("tenant_id",{length:191}).references(()=>D.id,{onDelete:"cascade"}),created_at:s("created_at",{length:35}).notNull(),revoked_at:s("revoked_at",{length:35}),cert:s("cert",{length:4096}),pkcs7:s("pkcs7",{length:4096}),fingerprint:s("fingerprint",{length:256}),thumbprint:s("thumbprint",{length:256}),current_since:s("current_since",{length:35}),current_until:s("current_until",{length:35}),type:s("type",{length:50}).notNull().default("jwt_signing"),connection:s("connection",{length:255}).references(()=>K.id,{onDelete:"cascade"})}),te=O("custom_text",{tenant_id:s("tenant_id",{length:191}).notNull().references(()=>D.id,{onDelete:"cascade"}),prompt:s("prompt",{length:64}).notNull(),language:s("language",{length:16}).notNull(),custom_text:s("custom_text").notNull(),created_at_ts:p("created_at_ts").notNull(),updated_at_ts:p("updated_at_ts").notNull()},n=>[oe({columns:[n.tenant_id,n.prompt,n.language]})]),U=O("authentication_methods",{id:s("id",{length:26}).primaryKey(),tenant_id:s("tenant_id",{length:191}).notNull().references(()=>D.id,{onDelete:"cascade"}),user_id:s("user_id",{length:255}).notNull(),type:s("type",{length:32}).notNull(),phone_number:s("phone_number",{length:32}),totp_secret:s("totp_secret",{length:255}),credential_id:s("credential_id",{length:512}),public_key:s("public_key"),sign_count:p("sign_count"),credential_backed_up:p("credential_backed_up"),transports:s("transports",{length:512}),friendly_name:s("friendly_name",{length:255}),confirmed:p("confirmed").notNull().default(0),created_at_ts:p("created_at_ts").notNull(),updated_at_ts:p("updated_at_ts").notNull()},n=>[S("authentication_methods_tenant_user_idx").on(n.tenant_id,n.user_id),S("authentication_methods_credential_id_idx").on(n.credential_id)]),q=O("logs",{log_id:s("log_id",{length:21}).primaryKey(),category:s("category",{length:255}),tenant_id:s("tenant_id",{length:64}),user_id:s("user_id",{length:64}),ip:s("ip",{length:255}),type:s("type",{length:8}).notNull(),date:s("date",{length:35}).notNull(),client_id:s("client_id",{length:255}),client_name:s("client_name",{length:255}),user_agent:s("user_agent",{length:255}),description:s("description",{length:255}),details:s("details",{length:2048}),isMobile:p("isMobile"),user_name:s("user_name",{length:255}),connection:s("connection",{length:255}),connection_id:s("connection_id",{length:255}),audience:s("audience",{length:255}),scope:s("scope",{length:255}),strategy:s("strategy",{length:255}),strategy_type:s("strategy_type",{length:255}),hostname:s("hostname",{length:255}),auth0_client:s("auth0_client",{length:8192}),session_connection:s("session_connection",{length:255}),country_code:s("country_code",{length:2}),city_name:s("city_name",{length:255}),latitude:s("latitude",{length:255}),longitude:s("longitude",{length:255}),time_zone:s("time_zone",{length:255}),continent_code:s("continent_code",{length:2})},n=>[S("logs_user_id").on(n.user_id),S("logs_tenant_id").on(n.tenant_id),S("logs_date").on(n.date),S("IDX_logs_tenant_date_type_user").on(n.tenant_id,n.date,n.type,n.user_id)]),b=O("outbox_events",{id:s("id",{length:26}).primaryKey(),tenant_id:s("tenant_id",{length:191}).notNull().references(()=>D.id,{onDelete:"cascade"}),event_type:s("event_type",{length:64}).notNull(),log_type:s("log_type",{length:64}).notNull(),aggregate_type:s("aggregate_type",{length:64}).notNull(),aggregate_id:s("aggregate_id",{length:255}).notNull(),payload:s("payload").notNull(),created_at:s("created_at",{length:35}).notNull(),processed_at:s("processed_at",{length:35}),retry_count:p("retry_count").notNull().default(0),next_retry_at:s("next_retry_at",{length:35}),error:s("error"),claimed_by:s("claimed_by",{length:255}),claim_expires_at:s("claim_expires_at",{length:35}),dead_lettered_at:s("dead_lettered_at",{length:35}),final_error:s("final_error")},n=>[S("idx_outbox_events_tenant_id").on(n.tenant_id),S("idx_outbox_events_processed_at").on(n.processed_at),S("idx_outbox_events_claimed_by").on(n.claimed_by),S("idx_outbox_events_tenant_dead_lettered").on(n.tenant_id,n.dead_lettered_at)]),Jr=Object.freeze(Object.defineProperty({__proto__:null,authenticationCodes:Br,authenticationMethods:U,branding:Le,clientGrants:Y,clients:I,codes:P,connections:K,customDomains:se,customText:te,domains:Qr,emailProviders:Se,flows:re,forms:ie,hookCode:he,hooks:ee,invites:ne,keys:me,loginSessions:$,logs:q,organizations:L,otps:$r,outboxEvents:b,passwords:C,promptSettings:Ee,refreshTokens:T,resourceServers:E,rolePermissions:le,roles:F,sessions:B,tenants:D,themes:fe,tickets:Pr,universalLoginTemplates:ve,userOrganizations:Q,userPermissions:_e,userRoles:ue,users:k},Symbol.toStringTag,{value:"Module"}));function z(n){if(n==null||typeof n!="object")return n;if(Array.isArray(n))return n.map(e=>e!==null&&typeof e=="object"?z(e):e);const i={...n};for(const e in i){const t=i[e];t===null?delete i[e]:t!==null&&typeof t=="object"&&(Array.isArray(t)?i[e]=t.map(r=>r!==null&&typeof r=="object"?z(r):r):i[e]=z(t))}return i}function Fr(n,i,e={...n}){for(const t of i)n[t]!==void 0&&(e[t]=JSON.stringify(n[t]));return e}function Ur(n,i,e=n){for(const t of i)n[t]!==void 0&&(e[t]=n[t]?1:0)}function gr(n){const i={};for(const e in n)n[e]!==void 0&&n[e]!==null&&(i[e]=n[e]);return i}function x(n,i){if(n==null)return i;if(typeof n=="string")try{return JSON.parse(n)}catch{return i}return n}function Pe(n,i="",e={}){for(const t in n)if(Object.prototype.hasOwnProperty.call(n,t)){const r=i?`${i}_${t}`:t,o=n[t];typeof o=="object"&&o!==null&&!Array.isArray(o)?Pe(o,r,e):typeof o=="boolean"?e[r]=o?1:0:e[r]=o}return e}function fr(n,i){const e={};for(const[t,r]of Object.entries(n)){const o=i.find(l=>t.startsWith(`${l}_`));if(!o)e[t]=r;else{const l=t.slice(o.length+1);e[o]={...e[o],[l]:r}}}return e}function Kr(n){return typeof n=="string"?parseInt(n,10):typeof n=="bigint"?Number(n):n}function jr(n){return{async get(i){const e=await n.select().from(Le).where(a(Le.tenant_id,i)).get();if(!e)return null;const{tenant_id:t,colors_primary:r,colors_page_background_type:o,colors_page_background_start:l,colors_page_background_end:_,colors_page_background_angle_dev:u,font_url:c,...d}=e;return z({...d,colors:{primary:r,page_background:{type:o,start:l,end:_,angle_deg:u}},font:c?{url:c}:void 0})},async set(i,e){var _,u,c,d,m,f,y,N;const{colors:t,font:r,...o}=e,l={...o,tenant_id:i,colors_primary:t==null?void 0:t.primary,colors_page_background_type:(_=t==null?void 0:t.page_background)==null?void 0:_.type,colors_page_background_start:(u=t==null?void 0:t.page_background)==null?void 0:u.start,colors_page_background_end:(c=t==null?void 0:t.page_background)==null?void 0:c.end,colors_page_background_angle_dev:(d=t==null?void 0:t.page_background)==null?void 0:d.angle_deg,font_url:r==null?void 0:r.url};await n.insert(Le).values(l).onConflictDoUpdate({target:Le.tenant_id,set:{...o,colors_primary:t==null?void 0:t.primary,colors_page_background_type:(m=t==null?void 0:t.page_background)==null?void 0:m.type,colors_page_background_start:(f=t==null?void 0:t.page_background)==null?void 0:f.start,colors_page_background_end:(y=t==null?void 0:t.page_background)==null?void 0:y.end,colors_page_background_angle_dev:(N=t==null?void 0:t.page_background)==null?void 0:N.angle_deg,font_url:r==null?void 0:r.url}})}}}var be=class extends Error{constructor(i=500,e){super(e==null?void 0:e.message,{cause:e==null?void 0:e.cause});h(this,"res");h(this,"status");this.res=e==null?void 0:e.res,this.status=i}getResponse(){return this.res?new Response(this.res.body,{status:this.status,headers:this.res.headers}):new Response(this.message,{status:this.status})}};function pe(n,i,e){const t=i.split(/ OR /i);if(t.length>1){const c=t.map(d=>{const m=d.trim().match(/^([^:]+):(.+)$/);if(m){const[,f,y]=m;if(!f||!y)return null;const N=y.replace(/^"(.*)"$/,"$1"),A=n[f.trim()];return A?a(A,N.trim()):null}return null}).filter(Boolean);return c.length===0?void 0:de(...c)}const r=[];let o="",l=!1;for(let c=0;c<i.length;c++){const d=i[c];d==='"'?(l=!l,o+=d):d===" "&&!l?o.trim()&&(r.push(o.trim()),o=""):o+=d}o.trim()&&r.push(o.trim());const _=r.map(c=>c.replace(/^([^:]+)=/g,"$1:")).map(c=>{let d=c.startsWith("-"),m=null,f="",y=!1,N;if(c.startsWith("-_exists_:"))m=c.substring(10),y=!0,d=!0;else if(c.startsWith("_exists_:"))m=c.substring(9),y=!0,d=!1;else if(c.includes(":")){const A=d?c.substring(1):c,W=A.indexOf(":");m=A.substring(0,W),f=A.substring(W+1),y=!1,f.startsWith(">=")?(N=">=",f=f.substring(2)):f.startsWith(">")?(N=">",f=f.substring(1)):f.startsWith("<=")?(N="<=",f=f.substring(2)):f.startsWith("<")?(N="<",f=f.substring(1)):N="=",f.startsWith('"')&&f.endsWith('"')&&f.length>1&&(f=f.slice(1,-1))}else m=null,f=c,y=!1;return{key:m,value:f,isNegation:d,isExistsQuery:y,operator:N}}),u=[];for(const{key:c,value:d,isNegation:m,isExistsQuery:f,operator:y}of _)if(c){const N=n[c];if(!N){f?u.push(m?w`${w.identifier(c)} IS NULL`:w`${w.identifier(c)} IS NOT NULL`):u.push(w`${w.identifier(c)} ${w.raw(m?"!=":y??"=")} ${d}`);continue}if(f)u.push(m?ye(N):Ve(N));else if(m)switch(y){case">":u.push(Oe(N,d));break;case">=":u.push(we(N,d));break;case"<":u.push(Ge(N,d));break;case"<=":u.push(He(N,d));break;default:u.push(kr(N,d))}else switch(y){case">":u.push(He(N,d));break;case">=":u.push(Ge(N,d));break;case"<":u.push(we(N,d));break;case"<=":u.push(Oe(N,d));break;default:u.push(a(N,d))}}else if(d){const A=(d.includes("|")?[...e,"user_id"]:e).map(W=>{const H=n[W];return H?W==="user_id"?a(H,d):Ie(H,`%${d}%`):null}).filter(Boolean);A.length>0&&u.push(de(...A))}if(u.length!==0)return u.length===1?u[0]:g(...u)}const kt=["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"],It=["callbacks","allowed_origins","web_origins","client_aliases","allowed_clients","allowed_logout_urls","grant_types","signing_keys"],zt=["session_transfer","oidc_logout","jwt_configuration","encryption_key","addons","client_metadata","mobile","native_social_login","refresh_token","default_organization","client_authentication_methods","signed_request_object","token_quota"];function Ue(n){const{tenant_id:i,connections:e,...t}=n,r={...t};for(const o of kt)r[o]=!!t[o];for(const o of It)r[o]=x(t[o],[]);for(const o of zt)r[o]=x(t[o],{});return r.connections=x(e,[]),z(r)}function Ct(n){const i={...n};Ur(n,kt,i);for(const e of It)n[e]!==void 0&&(i[e]=JSON.stringify(n[e]||[]));for(const e of zt)n[e]!==void 0&&(i[e]=JSON.stringify(n[e]||{}));return n.connections!==void 0&&(i.connections=JSON.stringify(n.connections||[])),gr(i)}function Mr(n){return{async create(i,e){var l,_;const t=new Date().toISOString(),r={client_id:e.client_id,tenant_id:i,name:e.name,description:e.description,app_type:e.app_type??"regular_web",logo_uri:e.logo_uri,client_secret:e.client_secret,token_endpoint_auth_method:e.token_endpoint_auth_method??"client_secret_basic",cross_origin_loc:e.cross_origin_loc,custom_login_page:e.custom_login_page,custom_login_page_preview:e.custom_login_page_preview,form_template:e.form_template,initiate_login_uri:e.initiate_login_uri,organization_usage:e.organization_usage??"deny",organization_require_behavior:e.organization_require_behavior??"no_prompt",compliance_level:e.compliance_level,par_request_expiry:e.par_request_expiry,created_at:t,updated_at:t};for(const u of kt)r[u]=e[u]??!1;r.oidc_conformant=e.oidc_conformant??!0,r.auth0_conformant=e.auth0_conformant??!0,r.sso_disabled=e.sso_disabled??!1;for(const u of It)r[u]=e[u]||[];for(const u of zt)r[u]=e[u]||{};r.connections=e.connections||[];const o=Ct(r);try{await n.insert(I).values({...o,tenant_id:i})}catch(u){throw(l=u==null?void 0:u.message)!=null&&l.includes("UNIQUE constraint failed")||(_=u==null?void 0:u.message)!=null&&_.includes("duplicate key")?new be(409,{message:"Client already exists"}):u}return Ue({...o,tenant_id:i})},async get(i,e){const t=await n.select().from(I).where(g(a(I.tenant_id,i),a(I.client_id,e))).get();return t?Ue(t):null},async getByClientId(i){const e=await n.select().from(I).where(a(I.client_id,i)).get();return e?{...Ue(e),tenant_id:e.tenant_id}:null},async update(i,e,t){const r=Ct({...t,updated_at:new Date().toISOString()});return delete r.client_id,delete r.tenant_id,await n.update(I).set(r).where(g(a(I.tenant_id,i),a(I.client_id,e))),!0},async list(i,e){const{page:t=0,per_page:r=50,include_totals:o=!1,sort:l,q:_}=e||{};let u=n.select().from(I).where(a(I.tenant_id,i)).$dynamic();if(_){const f=pe(I,_,["name","client_id"]);f&&(u=u.where(g(a(I.tenant_id,i),f)))}if(l!=null&&l.sort_by){const f=I[l.sort_by];f&&(u=u.orderBy(l.sort_order==="desc"?V(f):G(f)))}const d=(await u.offset(t*r).limit(r)).map(Ue);if(!o)return{clients:d};const[m]=await n.select({count:R()}).from(I).where(a(I.tenant_id,i));return{clients:d,start:t*r,limit:r,length:Number((m==null?void 0:m.count)??0)}},async remove(i,e){return(await n.delete(I).where(g(a(I.tenant_id,i),a(I.client_id,e))).returning()).length>0}}}function Vr(n){const{tenant_id:i,is_system:e,options:t,metadata:r,...o}=n;return z({...o,options:x(t,{}),metadata:x(r),is_system:e?!0:void 0})}function Rr(n){return{async listByClient(i,e){const t=await n.select({connections:I.connections}).from(I).where(g(a(I.tenant_id,i),a(I.client_id,e))).get();if(!t)return[];const r=x(t.connections,[])||[];if(r.length===0)return[];const l=(await n.select().from(K).where(g(a(K.tenant_id,i),Ne(K.id,r))).all()).map(Vr);return r.map(_=>l.find(u=>u.id===_)).filter(Boolean)},async updateByClient(i,e,t){return(await n.update(I).set({connections:JSON.stringify([...new Set(t)])}).where(g(a(I.tenant_id,i),a(I.client_id,e))).returning()).length>0},async listByConnection(i,e){return(await n.select({client_id:I.client_id,connections:I.connections}).from(I).where(a(I.tenant_id,i)).all()).filter(r=>(x(r.connections,[])||[]).includes(e)).map(r=>r.client_id)},async addClientToConnection(i,e,t){var _;if(!await n.select({client_id:I.client_id}).from(I).where(g(a(I.tenant_id,i),a(I.client_id,t))).get())return!1;const o=await n.run(w`UPDATE clients SET connections = CASE
|
|
2
2
|
WHEN connections IS NULL OR connections = '[]' OR connections = ''
|
|
3
3
|
THEN json_array(${e})
|
|
4
4
|
WHEN EXISTS (SELECT 1 FROM json_each(connections) WHERE value = ${e})
|
|
5
5
|
THEN connections
|
|
6
6
|
ELSE json_insert(connections, '$[#]', ${e})
|
|
7
7
|
END
|
|
8
|
-
WHERE tenant_id = ${i} AND client_id = ${t}`);return(o.changes??((_=o.meta)==null?void 0:_.changes)??0)>0},async removeClientFromConnection(i,e,t){var l;const r=await n.run(
|
|
8
|
+
WHERE tenant_id = ${i} AND client_id = ${t}`);return(o.changes??((_=o.meta)==null?void 0:_.changes)??0)>0},async removeClientFromConnection(i,e,t){var l;const r=await n.run(w`UPDATE clients SET connections = (
|
|
9
9
|
SELECT COALESCE(json_group_array(je.value), '[]')
|
|
10
10
|
FROM json_each(COALESCE(connections, '[]')) AS je
|
|
11
11
|
WHERE je.value != ${e}
|
|
12
12
|
)
|
|
13
|
-
WHERE tenant_id = ${i} AND client_id = ${t}`);return(r.changes??((l=r.meta)==null?void 0:l.changes)??0)>0}}}let Rr="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict",Wr=n=>crypto.getRandomValues(new Uint8Array(n)),Hr=(n,i,e)=>{let t=256-256%n.length;if(t===256){let o=n.length-1;return(l=i)=>{if(!l)return"";let _="";for(;;){let d=e(l),c=l;for(;c--;)if(_+=n[d[c]&o],_.length>=l)return _}}}let r=Math.ceil(1.6*256*i/t);return(o=i)=>{if(!o)return"";let l="";for(;;){let _=e(r),d=r;for(;d--;)if(_[d]<t&&(l+=n[_[d]%n.length],l.length>=o))return l}}},Gr=(n,i=21)=>Hr(n,i|0,Wr),ae=(n=21)=>{let i="",e=crypto.getRandomValues(new Uint8Array(n|=0));for(;n--;)i+=Rr[e[n]&63];return i};function nt(n){const{tenant_id:i,scope:e,authorization_details_types:t,allow_any_organization:r,is_system:o,...l}=n;return z({...l,scope:b(e,[]),authorization_details_types:b(t,[]),allow_any_organization:!!r,is_system:!!o})}function Yr(n){return{async create(i,e){const t=new Date().toISOString(),o={id:e.id||ae(),tenant_id:i,client_id:e.client_id,audience:e.audience,scope:JSON.stringify(e.scope||[]),organization_usage:e.organization_usage,allow_any_organization:e.allow_any_organization?1:0,is_system:e.is_system?1:0,subject_type:e.subject_type,authorization_details_types:JSON.stringify(e.authorization_details_types||[]),created_at:t,updated_at:t};return await n.insert(G).values(o),nt({...o,tenant_id:i})},async get(i,e){const t=await n.select().from(G).where(g(a(G.tenant_id,i),a(G.id,e))).get();return t?nt(t):null},async update(i,e,t){const{scope:r,authorization_details_types:o,allow_any_organization:l,is_system:_,...d}=t,c={...d,updated_at:new Date().toISOString()};return r!==void 0&&(c.scope=JSON.stringify(r)),o!==void 0&&(c.authorization_details_types=JSON.stringify(o)),l!==void 0&&(c.allow_any_organization=l?1:0),_!==void 0&&(c.is_system=_?1:0),(await n.update(G).set(c).where(g(a(G.tenant_id,i),a(G.id,e))).returning()).length>0},async list(i,e){const{page:t=0,per_page:r=50,include_totals:o=!1,sort:l,q:_}=e||{},d=_?pe(G,_,["client_id","audience"]):void 0,c=d?g(a(G.tenant_id,i),d):a(G.tenant_id,i);let u=n.select().from(G).where(c).$dynamic();if(l!=null&&l.sort_by){const w=G[l.sort_by];w&&(u=u.orderBy(l.sort_order==="desc"?M(w):H(w)))}else u=u.orderBy(H(G.created_at));const f=(await u.offset(t*r).limit(r)).map(nt);if(!o)return{client_grants:f};const[y]=await n.select({count:V()}).from(G).where(c);return{client_grants:f,start:t*r,limit:r,length:Number((y==null?void 0:y.count)??0)}},async remove(i,e){return(await n.delete(G).where(g(a(G.tenant_id,i),a(G.id,e))).returning()).length>0}}}function it(n){const{tenant_id:i,...e}=n;return z(e)}function Xr(n){return{async create(i,e){const t={...e,tenant_id:i,created_at:e.created_at||new Date().toISOString(),expires_at:e.expires_at};return await n.insert(B).values(t),it(t)},async get(i,e,t){if(!i)throw new Error("tenant_id is required");const r=await n.select().from(B).where(g(a(B.tenant_id,i),a(B.code_id,e),a(B.code_type,t))).get();return r?it(r):null},async list(i,e){const{page:t=0,per_page:r=50,include_totals:o=!1,sort:l}=e||{};let _=n.select().from(B).where(a(B.tenant_id,i)).$dynamic();if(l!=null&&l.sort_by){const h=B[l.sort_by];h&&(_=_.orderBy(l.sort_order==="desc"?M(h):H(h)))}const c=(await _.offset(t*r).limit(r)).map(it);if(!o)return{codes:c};const[u]=await n.select({count:V()}).from(B).where(a(B.tenant_id,i));return{codes:c,start:t*r,limit:r,length:Number((u==null?void 0:u.count)??0)}},async used(i,e){return(await n.update(B).set({used_at:new Date().toISOString()}).where(g(a(B.tenant_id,i),a(B.code_id,e))).returning()).length>0},async consume(i,e){return(await n.update(B).set({used_at:new Date().toISOString()}).where(g(a(B.tenant_id,i),a(B.code_id,e),ye(B.used_at))).returning()).length>0},async remove(i,e){return(await n.delete(B).where(g(a(B.tenant_id,i),a(B.code_id,e))).returning()).length>0}}}function Zr(){const{customAlphabet:n}=require("nanoid");return`con_${n("0123456789abcdefghijklmnopqrstuvwxyz",17)()}`}function rt(n){const{tenant_id:i,is_system:e,options:t,metadata:r,...o}=n;return z({...o,options:b(t,{}),metadata:b(r),is_system:e?!0:void 0})}function es(n){return{async create(i,e){var o,l;const t=new Date().toISOString(),r={id:e.id||Zr(),...e,tenant_id:i,options:JSON.stringify(e.options||{}),metadata:e.metadata?JSON.stringify(e.metadata):void 0,is_system:e.is_system?1:0,created_at:t,updated_at:t};try{await n.insert(U).values(r)}catch(_){throw(o=_==null?void 0:_.message)!=null&&o.includes("UNIQUE constraint failed")||(l=_==null?void 0:_.message)!=null&&l.includes("duplicate key")?new be(409,{message:"Connection already exists"}):_}return rt(r)},async get(i,e){const t=await n.select().from(U).where(g(a(U.tenant_id,i),a(U.id,e))).get();return t?rt(t):null},async update(i,e,t){const r={updated_at:new Date().toISOString()};return t.name!==void 0&&(r.name=t.name),t.strategy!==void 0&&(r.strategy=t.strategy),t.options!==void 0&&(r.options=JSON.stringify(t.options)),t.metadata!==void 0&&(r.metadata=JSON.stringify(t.metadata)),t.display_name!==void 0&&(r.display_name=t.display_name),t.response_type!==void 0&&(r.response_type=t.response_type),t.response_mode!==void 0&&(r.response_mode=t.response_mode),await n.update(U).set(r).where(g(a(U.tenant_id,i),a(U.id,e))),!0},async list(i,e){const{page:t=0,per_page:r=50,include_totals:o=!1,sort:l,q:_}=e||{};let d=a(U.tenant_id,i);if(_){const y=pe(U,_,["name"]);y&&(d=g(d,y))}let c=n.select().from(U).where(d).$dynamic();if(l!=null&&l.sort_by){const y=U[l.sort_by];y&&(c=c.orderBy(l.sort_order==="desc"?M(y):H(y)))}const h=(await c.offset(t*r).limit(r)).map(rt);if(!o)return{connections:h};const[f]=await n.select({count:V()}).from(U).where(d);return{connections:h,start:t*r,limit:r,length:Number((f==null?void 0:f.count)??0)}},async remove(i,e){return(await n.delete(U).where(g(a(U.tenant_id,i),a(U.id,e))).returning()).length>0}}}function Ke(n){const{tenant_id:i,domain_metadata:e,...t}=n;return z({...t,primary:!!t.primary,domain_metadata:b(e)})}function ts(n){return{async create(i,e){const t=new Date().toISOString(),o={custom_domain_id:e.custom_domain_id||ae(),tenant_id:i,domain:e.domain,primary:e.primary??!1,status:e.status||"pending",type:e.type,origin_domain_name:e.origin_domain_name,verification:e.verification,custom_client_ip_header:e.custom_client_ip_header,tls_policy:e.tls_policy,domain_metadata:e.domain_metadata?JSON.stringify(e.domain_metadata):void 0,created_at:t,updated_at:t};return await n.insert(re).values(o),Ke({...o,tenant_id:i})},async get(i,e){const t=await n.select().from(re).where(g(a(re.tenant_id,i),a(re.custom_domain_id,e))).get();return t?Ke(t):null},async getByDomain(i){const e=await n.select().from(re).where(a(re.domain,i)).get();return e?{...Ke(e),tenant_id:e.tenant_id}:null},async list(i){return(await n.select().from(re).where(a(re.tenant_id,i)).all()).map(Ke)},async update(i,e,t){const r={updated_at:new Date().toISOString()};return t.domain!==void 0&&(r.domain=t.domain),t.primary!==void 0&&(r.primary=t.primary),t.status!==void 0&&(r.status=t.status),t.type!==void 0&&(r.type=t.type),t.origin_domain_name!==void 0&&(r.origin_domain_name=t.origin_domain_name),t.verification!==void 0&&(r.verification=t.verification),t.custom_client_ip_header!==void 0&&(r.custom_client_ip_header=t.custom_client_ip_header),t.tls_policy!==void 0&&(r.tls_policy=t.tls_policy),t.domain_metadata!==void 0&&(r.domain_metadata=JSON.stringify(t.domain_metadata)),(await n.update(re).set(r).where(g(a(re.tenant_id,i),a(re.custom_domain_id,e))).returning()).length>0},async remove(i,e){return(await n.delete(re).where(g(a(re.tenant_id,i),a(re.custom_domain_id,e))).returning()).length>0}}}function ns(n){return{async get(i,e,t){const r=await n.select().from(ee).where(g(a(ee.tenant_id,i),a(ee.prompt,e),a(ee.language,t))).get();if(!r)return null;try{return JSON.parse(r.custom_text)}catch{return null}},async set(i,e,t,r){const o=Date.now(),l=JSON.stringify(r);await n.insert(ee).values({tenant_id:i,prompt:e,language:t,custom_text:l,created_at_ts:o,updated_at_ts:o}).onConflictDoUpdate({target:[ee.tenant_id,ee.prompt,ee.language],set:{custom_text:l,updated_at_ts:o}})},async delete(i,e,t){await n.delete(ee).where(g(a(ee.tenant_id,i),a(ee.prompt,e),a(ee.language,t)))},async list(i){return await n.select({prompt:ee.prompt,language:ee.language}).from(ee).where(a(ee.tenant_id,i)).all()}}}function is(n){return{async create(i,e){const t=new Date().toISOString();await n.insert(ve).values({tenant_id:i,name:e.name,enabled:e.enabled,default_from_address:e.default_from_address,credentials:JSON.stringify(e.credentials||{}),settings:JSON.stringify(e.settings||{}),created_at:t,updated_at:t})},async get(i){const e=await n.select().from(ve).where(a(ve.tenant_id,i)).get();if(!e)return null;const{tenant_id:t,...r}=e;return z({...r,enabled:!!r.enabled,credentials:b(r.credentials,{}),settings:b(r.settings,{})})},async update(i,e){const t={updated_at:new Date().toISOString()};e.name!==void 0&&(t.name=e.name),e.enabled!==void 0&&(t.enabled=e.enabled),e.default_from_address!==void 0&&(t.default_from_address=e.default_from_address),e.credentials!==void 0&&(t.credentials=JSON.stringify(e.credentials)),e.settings!==void 0&&(t.settings=JSON.stringify(e.settings)),await n.update(ve).set(t).where(a(ve.tenant_id,i))},async remove(i){await n.delete(ve).where(a(ve.tenant_id,i))}}}function rs(n){return{async create(i,e){const t=new Date().toISOString(),r=`af_${ae()}`;return await n.insert(ie).values({id:r,tenant_id:i,name:e.name,actions:JSON.stringify(e.actions||[]),created_at:t,updated_at:t}),{id:r,name:e.name,actions:e.actions||[],created_at:t,updated_at:t}},async get(i,e){const t=await n.select().from(ie).where(g(a(ie.tenant_id,i),a(ie.id,e))).get();if(!t)return null;const{tenant_id:r,actions:o,...l}=t;return z({...l,actions:b(o,[])})},async update(i,e,t){const r={updated_at:new Date().toISOString()};return t.name!==void 0&&(r.name=t.name),t.actions!==void 0&&(r.actions=JSON.stringify(t.actions)),(await n.update(ie).set(r).where(g(a(ie.tenant_id,i),a(ie.id,e))).returning()).length===0?null:this.get(i,e)},async list(i,e){const{page:t=0,per_page:r=50,include_totals:o=!1,sort:l}=e||{};let _=n.select().from(ie).where(a(ie.tenant_id,i)).$dynamic();if(l!=null&&l.sort_by){const h=ie[l.sort_by];h&&(_=_.orderBy(l.sort_order==="desc"?M(h):H(h)))}const c=(await _.offset(t*r).limit(r)).map(h=>{const{tenant_id:f,actions:y,...w}=h;return z({...w,actions:b(y,[])})});if(!o)return{flows:c};const[u]=await n.select({count:V()}).from(ie).where(a(ie.tenant_id,i));return{flows:c,start:t*r,limit:r,length:Number((u==null?void 0:u.count)??0)}},async remove(i,e){return(await n.delete(ie).where(g(a(ie.tenant_id,i),a(ie.id,e))).returning()).length>0}}}const je=["nodes","start","ending"];function ss(n){return{async create(i,e){const t=new Date().toISOString(),r=ae(),o={id:r,tenant_id:i,name:e.name,messages:e.messages,languages:e.languages,translations:e.translations,style:e.style,created_at:t,updated_at:t};for(const l of je)o[l]=JSON.stringify(e[l]||(l==="nodes"?[]:{}));return await n.insert(ne).values(o),{id:r,...e,created_at:t,updated_at:t}},async get(i,e){const t=await n.select().from(ne).where(g(a(ne.tenant_id,i),a(ne.id,e))).get();if(!t)return null;const{tenant_id:r,...o}=t,l={...o};for(const _ of je)l[_]=b(o[_]);return z(l)},async update(i,e,t){const r={updated_at:new Date().toISOString()};for(const[l,_]of Object.entries(t))_!==void 0&&(je.includes(l)?r[l]=JSON.stringify(_):r[l]=_);return(await n.update(ne).set(r).where(g(a(ne.tenant_id,i),a(ne.id,e))).returning()).length>0},async list(i,e){const{page:t=0,per_page:r=50,include_totals:o=!1,sort:l}=e||{};let _=n.select().from(ne).where(a(ne.tenant_id,i)).$dynamic();if(l!=null&&l.sort_by){const h=ne[l.sort_by];h&&(_=_.orderBy(l.sort_order==="desc"?M(h):H(h)))}const c=(await _.offset(t*r).limit(r)).map(h=>{const{tenant_id:f,...y}=h,w={...y};for(const A of je)w[A]=b(y[A]);return z(w)});if(!o)return{forms:c};const[u]=await n.select({count:V()}).from(ne).where(a(ne.tenant_id,i));return{forms:c,start:t*r,limit:r,length:Number((u==null?void 0:u.count)??0)}},async remove(i,e){return(await n.delete(ne).where(g(a(ne.tenant_id,i),a(ne.id,e))).returning()).length>0}}}function fr(n){if(n!=null){if(typeof n=="number")return new Date(n).toISOString();if(typeof n=="string"){if(n==="")return;const i=parseFloat(n);return!isNaN(i)&&/^\d+(\.\d+)?$/.test(n)?new Date(i).toISOString():n}}}function wt(n,i=new Date(0).toISOString()){return fr(n)??i}function K(n){if(!n||n==="")return null;const i=new Date(n);return isNaN(i.getTime())?null:i.getTime()}function Fe(n,i,e=[]){const t={};for(const r of i){const o=r.replace(/_ts$/,"");t[o]=wt(n[r])}for(const r of e){const o=r.replace(/_ts$/,"");t[o]=fr(n[r])}return t}const os=Gr("0123456789abcdefghijklmnopqrstuvwxyz",17);function as(){return`hc_${os()}`}function Ct(n){const{created_at_ts:i,updated_at_ts:e,secrets:t,...r}=n,o=Fe({created_at_ts:i,updated_at_ts:e},["created_at_ts","updated_at_ts"]);return{...r,...o,secrets:t?JSON.parse(t):void 0}}function ls(n){return{async create(i,e){const t=Date.now(),o={id:as(),tenant_id:i,code:e.code,secrets:e.secrets?JSON.stringify(e.secrets):null,created_at_ts:t,updated_at_ts:t};return await n.insert(me).values(o),Ct({...o,tenant_id:i})},async get(i,e){const t=await n.select().from(me).where(g(a(me.tenant_id,i),a(me.id,e))).get();return t?Ct(t):null},async update(i,e,t){const r={updated_at_ts:Date.now()};return t.code!==void 0&&(r.code=t.code),t.secrets!==void 0&&(r.secrets=JSON.stringify(t.secrets)),(await n.update(me).set(r).where(g(a(me.tenant_id,i),a(me.id,e))).returning()).length>0},async remove(i,e){return(await n.delete(me).where(g(a(me.tenant_id,i),a(me.id,e))).returning()).length>0}}}function _s(){const{customAlphabet:n}=require("nanoid");return`h_${n("0123456789abcdefghijklmnopqrstuvwxyz",17)()}`}function st(n){const{tenant_id:i,created_at_ts:e,updated_at_ts:t,...r}=n,o=Fe({created_at_ts:e,updated_at_ts:t},["created_at_ts","updated_at_ts"]);return z({...r,enabled:!!r.enabled,synchronous:!!r.synchronous,...o})}function us(n){return{async create(i,e){const t=Date.now(),o={hook_id:e.hook_id||_s(),tenant_id:i,trigger_id:e.trigger_id,url:e.url,enabled:e.enabled??!0,synchronous:e.synchronous??!1,priority:e.priority,form_id:e.form_id,template_id:e.template_id,code_id:e.code_id,created_at_ts:t,updated_at_ts:t};return await n.insert(Z).values(o),st({...o,tenant_id:i})},async get(i,e){const t=await n.select().from(Z).where(g(a(Z.tenant_id,i),a(Z.hook_id,e))).get();return t?st(t):null},async update(i,e,t){const r={updated_at_ts:Date.now()};return t.trigger_id!==void 0&&(r.trigger_id=t.trigger_id),t.url!==void 0&&(r.url=t.url),t.enabled!==void 0&&(r.enabled=t.enabled),t.synchronous!==void 0&&(r.synchronous=t.synchronous),t.priority!==void 0&&(r.priority=t.priority),t.form_id!==void 0&&(r.form_id=t.form_id),t.template_id!==void 0&&(r.template_id=t.template_id),t.code_id!==void 0&&(r.code_id=t.code_id),(await n.update(Z).set(r).where(g(a(Z.tenant_id,i),a(Z.hook_id,e))).returning()).length>0},async list(i,e){const{page:t=0,per_page:r=50,include_totals:o=!1,sort:l,q:_}=e||{},d=_?pe(Z,_,["url","form_id","template_id","code_id"]):void 0,c=d?g(a(Z.tenant_id,i),d):a(Z.tenant_id,i);let u=n.select().from(Z).where(c).$dynamic();if(l!=null&&l.sort_by){const w=Z[l.sort_by];w&&(u=u.orderBy(l.sort_order==="desc"?M(w):H(w)))}const f=(await u.offset(t*r).limit(r)).map(st);if(!o)return{hooks:f};const[y]=await n.select({count:V()}).from(Z).where(c);return{hooks:f,start:t*r,limit:r,length:Number((y==null?void 0:y.count)??0)}},async remove(i,e){return(await n.delete(Z).where(g(a(Z.tenant_id,i),a(Z.hook_id,e))).returning()).length>0}}}function ds(){const{customAlphabet:n}=require("nanoid");return`inv_${n("0123456789abcdefghijklmnopqrstuvwxyz",17)()}`}const Nt=["inviter","invitee","app_metadata","user_metadata","roles"];function ot(n){const{tenant_id:i,send_invitation_email:e,...t}=n,r={...t};for(const o of Nt)r[o]=b(t[o],o==="roles"?[]:{});return r.send_invitation_email=!!e,z(r)}function cs(n){return{async create(i,e){var d,c;const t=e.id||ds(),r=e.ttl_sec||604800,o=new Date,l=new Date(o.getTime()+r*1e3).toISOString(),_={id:t,tenant_id:i,organization_id:e.organization_id,client_id:e.client_id,connection_id:e.connection_id,invitation_url:e.invitation_url,ticket_id:e.ticket_id,ttl_sec:r,send_invitation_email:e.send_invitation_email!==!1?1:0,created_at:o.toISOString(),expires_at:l};for(const u of Nt)e[u]!==void 0&&(_[u]=JSON.stringify(e[u]));try{await n.insert(te).values(_)}catch(u){throw(d=u==null?void 0:u.message)!=null&&d.includes("UNIQUE constraint failed")||(c=u==null?void 0:u.message)!=null&&c.includes("duplicate key")?new be(409,{message:"Invite already exists"}):u}return ot({..._,tenant_id:i})},async get(i,e){const t=await n.select().from(te).where(g(a(te.tenant_id,i),a(te.id,e))).get();return t?ot(t):null},async update(i,e,t){const r={};for(const l of Nt)t[l]!==void 0&&(r[l]=JSON.stringify(t[l]));return t.connection_id!==void 0&&(r.connection_id=t.connection_id),t.ttl_sec!==void 0&&(r.ttl_sec=t.ttl_sec,r.expires_at=new Date(Date.now()+t.ttl_sec*1e3).toISOString()),(await n.update(te).set(r).where(g(a(te.tenant_id,i),a(te.id,e))).returning()).length>0},async list(i,e){const{page:t=0,per_page:r=50,include_totals:o=!1,sort:l}=e||{};let _=n.select().from(te).where(a(te.tenant_id,i)).$dynamic();if(l!=null&&l.sort_by){const h=te[l.sort_by];h&&(_=_.orderBy(l.sort_order==="desc"?M(h):H(h)))}const c=(await _.offset(t*r).limit(r)).map(ot);if(!o)return{invites:c};const[u]=await n.select({count:V()}).from(te).where(a(te.tenant_id,i));return{invites:c,start:t*r,limit:r,length:Number((u==null?void 0:u.count)??0)}},async remove(i,e){return(await n.delete(te).where(g(a(te.tenant_id,i),a(te.id,e))).returning()).length>0}}}function gs(n){return{async create(i){await n.insert(he).values({...i,created_at:new Date().toDateString()})},async list(i){const{page:e=0,per_page:t=50,include_totals:r=!1,sort:o}=i||{},l=new Date().toISOString();let _=n.select().from(he).where(de(He(he.revoked_at,l),ye(he.revoked_at))).$dynamic();if(o!=null&&o.sort_by){const h=he[o.sort_by];h&&(_=_.orderBy(o.sort_order==="desc"?M(h):H(h)))}const c=(await _.offset(e*t).limit(t)).map(h=>{const{created_at:f,...y}=h;return z(y)});if(!r)return{signingKeys:c};const[u]=await n.select({count:V()}).from(he).where(de(He(he.revoked_at,l),ye(he.revoked_at)));return{signingKeys:c,start:e*t,limit:t,length:Ur((u==null?void 0:u.count)??0)}},async update(i,e){return(await n.update(he).set(e).where(a(he.kid,i)).returning()).length>0}}}const vt="0123456789ABCDEFGHJKMNPQRSTVWXYZ",at=vt.length;function fs(){let e=Date.now(),t="";for(let o=10;o>0;o--)t=vt.charAt(e%at)+t,e=Math.floor(e/at);const r=new Uint8Array(16);crypto.getRandomValues(r);for(let o=0;o<16;o++)t+=vt.charAt(r[o]%at);return t}function $t(n){const{tenant_id:i,created_at_ts:e,updated_at_ts:t,expires_at_ts:r,state_data:o,...l}=n,_=Fe({created_at_ts:e,updated_at_ts:t,expires_at_ts:r},["created_at_ts","updated_at_ts","expires_at_ts"]),d=gr(l,["authParams"]);return z({...d,..._,state_data:b(o)})}function ms(n){return{async create(i,e){const t=Date.now(),r=fs(),o=Pe({authParams:e.authParams||{}},"authParams"),l={id:r,tenant_id:i,session_id:e.session_id,csrf_token:e.csrf_token,authorization_url:e.authorization_url?e.authorization_url.substring(0,1024):void 0,ip:e.ip,useragent:e.useragent,auth0Client:e.auth0Client,state:e.state||"pending",state_data:e.state_data?JSON.stringify(e.state_data):void 0,failure_reason:e.failure_reason,user_id:e.user_id,auth_connection:e.auth_connection,created_at_ts:t,updated_at_ts:t,expires_at_ts:e.expires_at?K(e.expires_at):t+1e3*60*60*24};for(const[_,d]of Object.entries(o))l[_]=d;return await n.insert(oe).values(l),$t({...l,tenant_id:i})},async get(i,e){const t=await n.select().from(oe).where(g(a(oe.tenant_id,i),a(oe.id,e))).get();return t?$t(t):null},async update(i,e,t){var o;const r={updated_at_ts:Date.now()};if(t.session_id!==void 0&&(r.session_id=t.session_id),t.state!==void 0&&(r.state=t.state),t.state_data!==void 0&&(r.state_data=JSON.stringify(t.state_data)),t.failure_reason!==void 0&&(r.failure_reason=t.failure_reason),t.user_id!==void 0&&(r.user_id=t.user_id),t.auth_connection!==void 0&&(r.auth_connection=t.auth_connection),t.authorization_url!==void 0&&(r.authorization_url=(o=t.authorization_url)==null?void 0:o.substring(0,1024)),t.expires_at!==void 0&&(r.expires_at_ts=K(t.expires_at)),t.authParams){const l=Pe({authParams:t.authParams},"authParams");Object.assign(r,l)}return await n.update(oe).set(r).where(g(a(oe.tenant_id,i),a(oe.id,e))),!0},async remove(i,e){return(await n.delete(oe).where(g(a(oe.tenant_id,i),a(oe.id,e))).returning()).length>0}}}function lt(n){const{tenant_id:i,isMobile:e,auth0_client:t,details:r,country_code:o,city_name:l,latitude:_,longitude:d,time_zone:c,continent_code:u,scope:h,...f}=n,y={...f,isMobile:!!e,auth0_client:b(t),details:b(r),scope:h?h.split(","):void 0};return o&&(y.location_info=z({country_code:o,city_name:l,latitude:_,longitude:d,time_zone:c,continent_code:u})),z(y)}function hs(n){return{async create(i,e){var o,l;const r={log_id:e.log_id||ae(),tenant_id:i,type:e.type,date:e.date||new Date().toISOString(),category:e.category,user_id:e.user_id,ip:e.ip,client_id:e.client_id,client_name:e.client_name,user_agent:(o=e.user_agent)==null?void 0:o.substring(0,256),description:(l=e.description)==null?void 0:l.substring(0,256),isMobile:e.isMobile?1:0,user_name:e.user_name,connection:e.connection,connection_id:e.connection_id,audience:e.audience,scope:Array.isArray(e.scope)?e.scope.join(","):e.scope,strategy:e.strategy,strategy_type:e.strategy_type,hostname:e.hostname,session_connection:e.session_connection};return e.auth0_client&&(r.auth0_client=JSON.stringify(e.auth0_client)),e.details&&(r.details=JSON.stringify(e.details).substring(0,8192)),e.location_info&&(r.country_code=e.location_info.country_code,r.city_name=e.location_info.city_name,r.latitude=e.location_info.latitude,r.longitude=e.location_info.longitude,r.time_zone=e.location_info.time_zone,r.continent_code=e.location_info.continent_code),await n.insert(T).values(r),lt({...r,tenant_id:i})},async list(i,e){const{page:t=0,per_page:r=50,include_totals:o=!1,sort:l,q:_}=e||{};let d=n.select().from(T).where(a(T.tenant_id,i)).$dynamic();if(_){const f=pe(T,_,["user_id","ip","type","client_id"]);f&&(d=d.where(g(a(T.tenant_id,i),f)))}if(l!=null&&l.sort_by){const f=T[l.sort_by];f&&(d=d.orderBy(l.sort_order==="desc"?M(f):H(f)))}else d=d.orderBy(M(T.date));const u=(await d.offset(t*r).limit(r)).map(lt);if(!o)return{logs:u};const[h]=await n.select({count:V()}).from(T).where(a(T.tenant_id,i));return{logs:u,start:t*r,limit:r,length:Number((h==null?void 0:h.count)??0)}},async get(i,e){const t=await n.select().from(T).where(g(a(T.tenant_id,i),a(T.log_id,e))).get();return t?lt(t):null}}}const St="0123456789ABCDEFGHJKMNPQRSTVWXYZ",_t=St.length;function ps(){let e=Date.now(),t="";for(let o=10;o>0;o--)t=St.charAt(e%_t)+t,e=Math.floor(e/_t);const r=new Uint8Array(16);crypto.getRandomValues(r);for(let o=0;o<16;o++)t+=St.charAt(r[o]%_t);return t}function Me(n){const{tenant_id:i,created_at_ts:e,updated_at_ts:t,credential_backed_up:r,confirmed:o,transports:l,..._}=n;return z({..._,confirmed:!!o,credential_backed_up:r!=null?!!r:void 0,transports:b(l),created_at:wt(e),updated_at:wt(t)})}function ys(n){return{async create(i,e){const t=Date.now(),o={id:e.id||ps(),tenant_id:i,user_id:e.user_id,type:e.type,phone_number:e.phone_number,totp_secret:e.totp_secret,credential_id:e.credential_id,public_key:e.public_key,sign_count:e.sign_count,credential_backed_up:e.credential_backed_up!=null?e.credential_backed_up?1:0:null,transports:e.transports?JSON.stringify(e.transports):null,friendly_name:e.friendly_name,confirmed:e.confirmed?1:0,created_at_ts:t,updated_at_ts:t};return await n.insert(F).values(o),Me({...o,tenant_id:i})},async get(i,e){const t=await n.select().from(F).where(g(a(F.tenant_id,i),a(F.id,e))).get();return t?Me(t):null},async getByCredentialId(i,e){const t=await n.select().from(F).where(g(a(F.tenant_id,i),a(F.credential_id,e))).get();return t?Me(t):null},async list(i,e){return(await n.select().from(F).where(g(a(F.tenant_id,i),a(F.user_id,e))).all()).map(Me)},async update(i,e,t){const r={updated_at_ts:Date.now()};t.type!==void 0&&(r.type=t.type),t.phone_number!==void 0&&(r.phone_number=t.phone_number),t.totp_secret!==void 0&&(r.totp_secret=t.totp_secret),t.credential_id!==void 0&&(r.credential_id=t.credential_id),t.public_key!==void 0&&(r.public_key=t.public_key),t.sign_count!==void 0&&(r.sign_count=t.sign_count),t.credential_backed_up!==void 0&&(r.credential_backed_up=t.credential_backed_up?1:0),t.transports!==void 0&&(r.transports=JSON.stringify(t.transports)),t.friendly_name!==void 0&&(r.friendly_name=t.friendly_name),t.confirmed!==void 0&&(r.confirmed=t.confirmed?1:0),await n.update(F).set(r).where(g(a(F.tenant_id,i),a(F.id,e)));const o=await this.get(i,e);if(!o)throw new Error(`Authentication method ${e} not found after update`);return o},async remove(i,e){return(await n.delete(F).where(g(a(F.tenant_id,i),a(F.id,e))).returning()).length>0}}}function ws(){const{customAlphabet:n}=require("nanoid");return`org_${n("0123456789abcdefghijklmnopqrstuvwxyz",17)()}`}function ut(n){const{tenant_id:i,branding:e,metadata:t,enabled_connections:r,token_quota:o,...l}=n;return z({...l,branding:b(e,{}),metadata:b(t,{}),enabled_connections:b(r,[]),token_quota:b(o,{})})}function Ns(n){return{async create(i,e){var l,_;const t=new Date().toISOString(),o={id:e.id||ws(),tenant_id:i,name:e.name,display_name:e.display_name,branding:JSON.stringify(e.branding||{}),metadata:JSON.stringify(e.metadata||{}),enabled_connections:JSON.stringify(e.enabled_connections||[]),token_quota:JSON.stringify(e.token_quota||{}),created_at:t,updated_at:t};try{await n.insert(q).values(o)}catch(d){throw(l=d==null?void 0:d.message)!=null&&l.includes("UNIQUE constraint failed")||(_=d==null?void 0:d.message)!=null&&_.includes("AlreadyExists")?new be(409,{message:"Organization already exists"}):d}return ut({...o,tenant_id:i})},async get(i,e){let t=await n.select().from(q).where(g(a(q.tenant_id,i),a(q.id,e))).get();return t||(t=await n.select().from(q).where(g(a(q.tenant_id,i),a(q.name,e))).get()),t?ut(t):null},async update(i,e,t){const r={updated_at:new Date().toISOString()};return t.name!==void 0&&(r.name=t.name),t.display_name!==void 0&&(r.display_name=t.display_name),t.branding!==void 0&&(r.branding=JSON.stringify(t.branding)),t.metadata!==void 0&&(r.metadata=JSON.stringify(t.metadata)),t.enabled_connections!==void 0&&(r.enabled_connections=JSON.stringify(t.enabled_connections)),t.token_quota!==void 0&&(r.token_quota=JSON.stringify(t.token_quota)),(await n.update(q).set(r).where(g(a(q.tenant_id,i),a(q.id,e))).returning()).length>0},async list(i,e){const{page:t=0,per_page:r=50,include_totals:o=!1,sort:l,q:_}=e||{};let d=n.select().from(q).where(a(q.tenant_id,i)).$dynamic();if(_&&(d=d.where(de(Ie(q.name,`%${_}%`),Ie(q.display_name,`%${_}%`)))),l!=null&&l.sort_by){const y=q[l.sort_by];y&&(d=d.orderBy(l.sort_order==="desc"?M(y):H(y)))}const u=(await d.offset(t*r).limit(r)).map(ut);if(!o)return{organizations:u};const h=[a(q.tenant_id,i)];_&&h.push(de(Ie(q.name,`%${_}%`),Ie(q.display_name,`%${_}%`)));const[f]=await n.select({count:V()}).from(q).where(g(...h));return{organizations:u,start:t*r,limit:r,length:Number((f==null?void 0:f.count)??0)}},async remove(i,e){return(await n.delete(q).where(g(a(q.tenant_id,i),a(q.id,e))).returning()).length>0}}}function dt(n){const{tenant_id:i,is_current:e,...t}=n;return{...t,is_current:!!e}}function vs(n){return{async create(i,e){const t=new Date().toISOString(),r=e.id||ae();e.is_current!==!1&&await n.update(E).set({is_current:0}).where(g(a(E.tenant_id,i),a(E.user_id,e.user_id)));const o={id:r,tenant_id:i,user_id:e.user_id,password:e.password,algorithm:e.algorithm||"bcrypt",is_current:e.is_current!==!1?1:0,created_at:t,updated_at:t};return await n.insert(E).values(o),dt({...o,tenant_id:i})},async get(i,e){const t=await n.select().from(E).where(g(a(E.tenant_id,i),a(E.user_id,e),a(E.is_current,1))).get();return t?dt(t):null},async list(i,e,t){let r=n.select().from(E).where(g(a(E.tenant_id,i),a(E.user_id,e))).orderBy(M(E.created_at)).$dynamic();return t&&(r=r.limit(t)),(await r).map(dt)},async update(i,e){const t={updated_at:new Date().toISOString()};return e.password!==void 0&&(t.password=e.password),e.algorithm!==void 0&&(t.algorithm=e.algorithm),e.is_current!==void 0&&(t.is_current=e.is_current?1:0),e.id?await n.update(E).set(t).where(g(a(E.tenant_id,i),a(E.id,e.id))):await n.update(E).set(t).where(g(a(E.tenant_id,i),a(E.user_id,e.user_id),a(E.is_current,1))),!0}}}function Ss(n){return{async get(i){const e=await n.select().from(Ee).where(a(Ee.tenant_id,i)).get();return e?{universal_login_experience:e.universal_login_experience,identifier_first:!!e.identifier_first,password_first:!!e.password_first,webauthn_platform_first_factor:!!e.webauthn_platform_first_factor}:{universal_login_experience:"new",identifier_first:!0,password_first:!1,webauthn_platform_first_factor:!1}},async set(i,e){await n.insert(Ee).values({tenant_id:i,universal_login_experience:e.universal_login_experience,identifier_first:e.identifier_first,password_first:e.password_first,webauthn_platform_first_factor:e.webauthn_platform_first_factor}).onConflictDoUpdate({target:Ee.tenant_id,set:{universal_login_experience:e.universal_login_experience,identifier_first:e.identifier_first,password_first:e.password_first,webauthn_platform_first_factor:e.webauthn_platform_first_factor}})}}}function ct(n){const{tenant_id:i,created_at_ts:e,expires_at_ts:t,idle_expires_at_ts:r,last_exchanged_at_ts:o,device:l,resource_servers:_,rotating:d,...c}=n,u=Fe({created_at_ts:e,expires_at_ts:t,idle_expires_at_ts:r,last_exchanged_at_ts:o},["created_at_ts"],["expires_at_ts","idle_expires_at_ts","last_exchanged_at_ts"]);return z({...c,...u,rotating:!!d,device:b(l,{}),resource_servers:b(_,[])})}function bs(n){return{async create(i,e){const t=Date.now(),r={id:e.id||ae(),tenant_id:i,client_id:e.client_id,login_id:e.login_id,user_id:e.user_id,device:JSON.stringify(e.device||{}),resource_servers:JSON.stringify(e.resource_servers||[]),rotating:e.rotating??!1,created_at_ts:t,expires_at_ts:K(e.expires_at),idle_expires_at_ts:K(e.idle_expires_at),last_exchanged_at_ts:K(e.last_exchanged_at)};return await n.insert(C).values(r),ct({...r,tenant_id:i})},async get(i,e){const t=await n.select().from(C).where(g(a(C.tenant_id,i),a(C.id,e))).get();return t?ct(t):null},async update(i,e,t){const r={};return t.device!==void 0&&(r.device=JSON.stringify(t.device)),t.resource_servers!==void 0&&(r.resource_servers=JSON.stringify(t.resource_servers)),t.rotating!==void 0&&(r.rotating=t.rotating),t.expires_at!==void 0&&(r.expires_at_ts=K(t.expires_at)),t.idle_expires_at!==void 0&&(r.idle_expires_at_ts=K(t.idle_expires_at)),t.last_exchanged_at!==void 0&&(r.last_exchanged_at_ts=K(t.last_exchanged_at)),(await n.update(C).set(r).where(g(a(C.tenant_id,i),a(C.id,e))).returning()).length>0},async list(i,e){const{page:t=0,per_page:r=50,include_totals:o=!1,sort:l,q:_}=e||{};let d=n.select().from(C).where(a(C.tenant_id,i)).$dynamic();if(_){const f=pe(C,_,["user_id"]);f&&(d=d.where(g(a(C.tenant_id,i),f)))}if(l!=null&&l.sort_by){const f=C[l.sort_by];f&&(d=d.orderBy(l.sort_order==="desc"?M(f):H(f)))}const u=(await d.offset(t*r).limit(r)).map(ct);if(!o)return{refresh_tokens:u};const[h]=await n.select({count:V()}).from(C).where(a(C.tenant_id,i));return{refresh_tokens:u,start:t*r,limit:r,length:Number((h==null?void 0:h.count)??0)}},async remove(i,e){return(await n.delete(C).where(g(a(C.tenant_id,i),a(C.id,e))).returning()).length>0}}}function xs(){const{customAlphabet:n}=require("nanoid");return`api_${n("0123456789abcdefghijklmnopqrstuvwxyz",17)()}`}const bt=["skip_consent_for_verifiable_first_party_clients","allow_offline_access","is_system"],Bt=new Set(["id","tenant_id","identifier","name","scopes","signing_alg","signing_secret","token_lifetime","token_lifetime_for_web","skip_consent_for_verifiable_first_party_clients","allow_offline_access","verification_key","options","is_system","metadata","created_at","updated_at"]);function gt(n){const{tenant_id:i,verification_key:e,scopes:t,options:r,metadata:o,...l}=n,_={...l};_.scopes=b(t,[]),_.options=b(r,{}),_.metadata=b(o),e!==void 0&&(_.verificationKey=e);for(const d of bt)l[d]!==void 0&&l[d]!==null&&(_[d]=!!l[d]);return z(_)}function Ds(n){return{async create(i,e){const t=new Date().toISOString(),o={id:e.id||xs(),tenant_id:i,identifier:e.identifier,name:e.name,signing_alg:e.signing_alg,signing_secret:e.signing_secret,token_lifetime:e.token_lifetime,token_lifetime_for_web:e.token_lifetime_for_web,scopes:JSON.stringify(e.scopes||[]),options:JSON.stringify(e.options||{}),metadata:e.metadata?JSON.stringify(e.metadata):void 0,verification_key:e.verificationKey||e.verification_key,created_at:t,updated_at:t};for(const l of bt)e[l]!==void 0&&(o[l]=e[l]?1:0);return o.is_system===void 0&&(o.is_system=0),await n.insert(L).values(o),gt({...o,tenant_id:i})},async get(i,e){const t=await n.select().from(L).where(g(a(L.tenant_id,i),a(L.id,e))).get();return t?gt(t):null},async update(i,e,t){const r={updated_at:new Date().toISOString()};t.name!==void 0&&(r.name=t.name),t.identifier!==void 0&&(r.identifier=t.identifier),t.signing_alg!==void 0&&(r.signing_alg=t.signing_alg),t.signing_secret!==void 0&&(r.signing_secret=t.signing_secret),t.token_lifetime!==void 0&&(r.token_lifetime=t.token_lifetime),t.token_lifetime_for_web!==void 0&&(r.token_lifetime_for_web=t.token_lifetime_for_web),t.scopes!==void 0&&(r.scopes=JSON.stringify(t.scopes)),t.options!==void 0&&(r.options=N`json_patch(COALESCE(${L.options}, '{}'), ${JSON.stringify(t.options)})`),t.metadata!==void 0&&(r.metadata=JSON.stringify(t.metadata)),t.verificationKey!==void 0&&(r.verification_key=t.verificationKey);for(const l of bt)t[l]!==void 0&&(r[l]=t[l]?1:0);return(await n.update(L).set(r).where(g(a(L.tenant_id,i),a(L.id,e))).returning()).length>0},async list(i,e){const{page:t=0,per_page:r=50,include_totals:o=!1,sort:l,q:_}=e||{},d=Math.max(0,Math.floor(Number(t)||0)),c=Math.min(Math.max(1,Math.floor(Number(r)||50)),500),u=[a(L.tenant_id,i)];if(_){const A=_.match(/^([^:]+):(.+)$/);if(A){const[,R,W]=A,ke=R==null?void 0:R.startsWith("-"),qe=ke?R==null?void 0:R.substring(1):R;if(qe&&Bt.has(qe)&&!ke){const pr=L[qe];u.push(Ie(pr,`%${W}%`))}}}let h=n.select().from(L).where(g(...u)).$dynamic();if(l!=null&&l.sort_by&&Bt.has(l.sort_by)){const A=L[l.sort_by];h=h.orderBy(l.sort_order==="desc"?M(A):H(A))}const y=(await h.offset(d*c).limit(c)).map(gt);if(!o)return{resource_servers:y};const[w]=await n.select({count:V()}).from(L).where(g(...u));return{resource_servers:y,start:d*c,limit:c,length:Number((w==null?void 0:w.count)??0)}},async remove(i,e){return(await n.delete(L).where(g(a(L.tenant_id,i),a(L.id,e))).returning()).length>0}}}function Os(n){return{async assign(i,e,t){const r=new Date().toISOString();return await n.insert(le).values(t.map(o=>({tenant_id:i,role_id:e,resource_server_identifier:o.resource_server_identifier,permission_name:o.permission_name,created_at:r}))).onConflictDoNothing(),!0},async list(i,e,t){const r=await n.select({resource_server_identifier:le.resource_server_identifier,permission_name:le.permission_name,created_at:le.created_at}).from(le).where(g(a(le.tenant_id,i),a(le.role_id,e))).all(),o=[...new Set(r.map(_=>_.resource_server_identifier))],l=new Map;if(o.length>0){const _=await n.select({identifier:L.identifier,name:L.name}).from(L).where(g(a(L.tenant_id,i),we(L.identifier,o))).all();for(const d of _)l.set(d.identifier,d.name)}return r.map(_=>({..._,resource_server_name:l.get(_.resource_server_identifier)||_.resource_server_identifier}))},async remove(i,e,t){const r=t.map(l=>g(a(le.resource_server_identifier,l.resource_server_identifier),a(le.permission_name,l.permission_name)));return(await n.delete(le).where(g(a(le.tenant_id,i),a(le.role_id,e),de(...r))).returning()).length>0}}}function ks(n){return{async create(i,e,t,r){var o,l;try{await n.insert(_e).values({tenant_id:i,user_id:e,resource_server_identifier:t.resource_server_identifier,permission_name:t.permission_name,organization_id:r||"",created_at:new Date().toISOString()})}catch(_){if((o=_==null?void 0:_.message)!=null&&o.includes("UNIQUE constraint")||(l=_==null?void 0:_.message)!=null&&l.includes("SQLITE_CONSTRAINT_PRIMARYKEY"))return!0;throw _}return!0},async list(i,e,t,r){let o=[a(_e.tenant_id,i),a(_e.user_id,e)];r&&o.push(a(_e.organization_id,r));const l=await n.select().from(_e).where(g(...o)).all();return await Promise.all(l.map(async d=>{const c=await n.select({name:L.name}).from(L).where(g(a(L.tenant_id,i),a(L.identifier,d.resource_server_identifier))).get();return{resource_server_identifier:d.resource_server_identifier,permission_name:d.permission_name,resource_server_name:(c==null?void 0:c.name)||d.resource_server_identifier,organization_id:d.organization_id===""?void 0:d.organization_id}}))},async remove(i,e,t,r){return(await n.delete(_e).where(g(a(_e.tenant_id,i),a(_e.user_id,e),a(_e.resource_server_identifier,t.resource_server_identifier),a(_e.permission_name,t.permission_name),a(_e.organization_id,r||""))).returning()).length>0}}}function ft(n){const{tenant_id:i,is_system:e,metadata:t,...r}=n;return z({...r,is_system:e?!0:void 0,metadata:b(t)})}function Is(n){return{async create(i,e){const t=new Date().toISOString(),o={id:e.id||ae(),tenant_id:i,name:e.name,description:e.description,is_system:e.is_system?1:0,metadata:e.metadata?JSON.stringify(e.metadata):void 0,created_at:t,updated_at:t};return await n.insert(J).values(o),ft({...o,tenant_id:i})},async get(i,e){const t=await n.select().from(J).where(g(a(J.tenant_id,i),a(J.id,e))).get();return t?ft(t):null},async update(i,e,t){const r={updated_at:new Date().toISOString()};return t.name!==void 0&&(r.name=t.name),t.description!==void 0&&(r.description=t.description),t.is_system!==void 0&&(r.is_system=t.is_system?1:0),t.metadata!==void 0&&(r.metadata=JSON.stringify(t.metadata)),(await n.update(J).set(r).where(g(a(J.tenant_id,i),a(J.id,e))).returning()).length>0},async list(i,e){const{page:t=0,per_page:r=50,include_totals:o=!1,sort:l,q:_}=e||{},d=_?pe(J,_,["name"]):void 0,c=d?g(a(J.tenant_id,i),d):a(J.tenant_id,i);let u=n.select().from(J).where(c).$dynamic();if(l!=null&&l.sort_by){const w=J[l.sort_by];w&&(u=u.orderBy(l.sort_order==="desc"?M(w):H(w)))}const f=(await u.offset(t*r).limit(r)).map(ft);if(!o)return{roles:f};const[y]=await n.select({count:V()}).from(J).where(c);return{roles:f,start:t*r,limit:r,length:Number((y==null?void 0:y.count)??0)}},async remove(i,e){return(await n.delete(J).where(g(a(J.tenant_id,i),a(J.id,e))).returning()).length>0}}}const zs=["created_at_ts","updated_at_ts"],Ts=["expires_at_ts","idle_expires_at_ts","authenticated_at_ts","last_interaction_at_ts","used_at_ts","revoked_at_ts"];function mt(n){const{tenant_id:i,created_at_ts:e,updated_at_ts:t,expires_at_ts:r,idle_expires_at_ts:o,authenticated_at_ts:l,last_interaction_at_ts:_,used_at_ts:d,revoked_at_ts:c,device:u,clients:h,...f}=n,y=Fe({created_at_ts:e,updated_at_ts:t,expires_at_ts:r,idle_expires_at_ts:o,authenticated_at_ts:l,last_interaction_at_ts:_,used_at_ts:d,revoked_at_ts:c},[...zs],[...Ts]);return z({...f,...y,device:b(u,{}),clients:b(h,[])})}function qs(n){return{async create(i,e){const t=Date.now(),r={id:e.id||ae(),tenant_id:i,user_id:e.user_id,login_session_id:e.login_session_id,device:JSON.stringify(e.device||{}),clients:JSON.stringify(e.clients||[]),created_at_ts:t,updated_at_ts:t,expires_at_ts:K(e.expires_at),idle_expires_at_ts:K(e.idle_expires_at),authenticated_at_ts:e.authenticated_at?K(e.authenticated_at):t,last_interaction_at_ts:e.last_interaction_at?K(e.last_interaction_at):t,used_at_ts:K(e.used_at),revoked_at_ts:K(e.revoked_at)};return await n.insert($).values(r),mt({...r,tenant_id:i})},async get(i,e){const t=await n.select().from($).where(g(a($.tenant_id,i),a($.id,e))).get();return t?mt(t):null},async update(i,e,t){const r={updated_at_ts:Date.now()};return t.user_id!==void 0&&(r.user_id=t.user_id),t.login_session_id!==void 0&&(r.login_session_id=t.login_session_id),t.device!==void 0&&(r.device=JSON.stringify(t.device)),t.clients!==void 0&&(r.clients=JSON.stringify(t.clients)),t.expires_at!==void 0&&(r.expires_at_ts=K(t.expires_at)),t.idle_expires_at!==void 0&&(r.idle_expires_at_ts=K(t.idle_expires_at)),t.authenticated_at!==void 0&&(r.authenticated_at_ts=K(t.authenticated_at)),t.last_interaction_at!==void 0&&(r.last_interaction_at_ts=K(t.last_interaction_at)),t.used_at!==void 0&&(r.used_at_ts=K(t.used_at)),t.revoked_at!==void 0&&(r.revoked_at_ts=K(t.revoked_at)),(await n.update($).set(r).where(g(a($.tenant_id,i),a($.id,e))).returning()).length>0},async list(i,e){const{page:t=0,per_page:r=50,include_totals:o=!1,sort:l,q:_}=e||{},d=_?pe($,_,["user_id"]):void 0,c=d?g(a($.tenant_id,i),d):a($.tenant_id,i);let u=n.select().from($).where(c).$dynamic();if(l!=null&&l.sort_by){const w=$[l.sort_by];w&&(u=u.orderBy(l.sort_order==="desc"?M(w):H(w)))}const f=(await u.offset(t*r).limit(r)).map(mt);if(!o)return{sessions:f};const[y]=await n.select({count:V()}).from($).where(c);return{sessions:f,start:t*r,limit:r,length:Number((y==null?void 0:y.count)??0)}},async remove(i,e){return(await n.delete($).where(g(a($.tenant_id,i),a($.id,e))).returning()).length>0}}}const mr=["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","mfa"],hr=["allow_organization_name_in_authentication_api","customize_mfa_in_postlogin_action","pushed_authorization_requests_supported","authorization_response_iss_parameter_supported"];function Pt(n){const i={...n};for(const e of mr)typeof i[e]=="string"&&(i[e]=b(i[e]));for(const e of hr)i[e]!==void 0&&i[e]!==null&&(i[e]=i[e]===1);return z(i)}function Qt(n){const i={...n};Jr(n,mr,i);for(const e of hr)n[e]!==void 0&&(i[e]=n[e]?1:0);return cr(i)}function Ls(n){return{async create(i){var r,o;const e={id:i.id||ae(),created_at:new Date().toISOString(),updated_at:new Date().toISOString(),...i},t=Qt(e);try{await n.insert(D).values(t)}catch(l){throw(r=l==null?void 0:l.message)!=null&&r.includes("UNIQUE constraint failed")||(o=l==null?void 0:l.message)!=null&&o.includes("duplicate key")||(l==null?void 0:l.code)==="SQLITE_CONSTRAINT"?new be(409,{message:`Tenant with ID '${e.id}' already exists`}):l}return e},async get(i){const e=await n.select().from(D).where(a(D.id,i)).get();return e?Pt(e):null},async list(i){const{page:e=0,per_page:t=50,include_totals:r=!1,sort:o,q:l}=i||{};let _=n.select().from(D).$dynamic();if(l){const h=pe(D,l,["friendly_name"]);h&&(_=_.where(h))}if(o!=null&&o.sort_by){const h=D[o.sort_by];h&&(_=_.orderBy(o.sort_order==="desc"?M(h):H(h)))}const c=(await _.offset(e*t).limit(t)).map(Pt);if(!r)return{tenants:c};const[u]=await n.select({count:V()}).from(D);return{tenants:c,start:e*t,limit:t,length:Number((u==null?void 0:u.count)??0)}},async update(i,e){const t=Qt({...e,id:i,updated_at:new Date().toISOString()});await n.update(D).set(t).where(a(D.id,i))},async remove(i){return(await n.delete(D).where(a(D.id,i)).returning()).length>0}}}const Es=["colors","borders","fonts","page_background","widget"];function Jt(n){const{tenant_id:i,...e}=n,t=gr(e,Es);return t.borders&&(t.borders.show_widget_shadow=!!t.borders.show_widget_shadow),t.fonts&&(t.fonts.links_bold=!!t.fonts.links_bold,t.fonts.subtitle_bold=!!t.fonts.subtitle_bold,t.fonts.title_bold=!!t.fonts.title_bold),z(t)}function As(n){return{async create(i,e,t){const r=new Date().toISOString(),o=t||ae(),_={...Pe(e),tenant_id:i,themeId:o,created_at:r,updated_at:r};return await n.insert(fe).values(_),Jt({..._,tenant_id:i})},async get(i,e){const t=await n.select().from(fe).where(g(a(fe.tenant_id,i),a(fe.themeId,e))).get();return t?Jt(t):null},async update(i,e,t){const r=Pe(t);return r.updated_at=new Date().toISOString(),await n.update(fe).set(r).where(g(a(fe.tenant_id,i),a(fe.themeId,e))),!0},async remove(i,e){return(await n.delete(fe).where(g(a(fe.tenant_id,i),a(fe.themeId,e))).returning()).length>0}}}function Cs(n){return{async get(i){const e=await n.select({body:Ne.body}).from(Ne).where(a(Ne.tenant_id,i)).get();return e?{body:e.body}:null},async set(i,e){const t=Date.now();await n.insert(Ne).values({tenant_id:i,body:e.body,created_at_ts:t,updated_at_ts:t}).onConflictDoUpdate({target:Ne.tenant_id,set:{body:e.body,updated_at_ts:t}})},async delete(i){await n.delete(Ne).where(a(Ne.tenant_id,i))}}}function Ft(n,i){const e={connection:n.connection,provider:n.provider,user_id:n.user_id,isSocial:!!n.is_social};return i?e.isPrimary=!0:e.profileData={email:n.email,email_verified:!!n.email_verified,...typeof n.profileData=="string"?b(n.profileData,{}):{}},e}function ht(n,i=[]){const{tenant_id:e,app_metadata:t,user_metadata:r,address:o,email_verified:l,phone_verified:_,is_social:d,linked_to:c,profileData:u,...h}=n,f=Ft(n,!0),y=i.map(w=>Ft(w,!1));return z({...h,email:n.email||"",email_verified:!!l,phone_verified:_!=null?!!_:void 0,is_social:!!d,app_metadata:b(t,{}),user_metadata:b(r,{}),address:b(o),identities:[f,...y]})}function $s(n){const i=async(e,t)=>{var _,d;const r=new Date().toISOString(),o={user_id:t.user_id,tenant_id:e,email:t.email,given_name:t.given_name,family_name:t.family_name,nickname:t.nickname,name:t.name,picture:t.picture,tags:t.tags,phone_number:t.phone_number,phone_verified:t.phone_verified??!1,username:t.username,linked_to:t.linked_to,last_ip:t.last_ip,login_count:t.login_count??0,last_login:t.last_login,provider:t.provider,connection:t.connection,email_verified:t.email_verified??!1,is_social:t.is_social??!1,app_metadata:JSON.stringify(t.app_metadata||{}),user_metadata:JSON.stringify(t.user_metadata||{}),address:t.address?JSON.stringify(t.address):void 0,profileData:t.profileData?JSON.stringify(t.profileData):void 0,locale:t.locale,middle_name:t.middle_name,preferred_username:t.preferred_username,profile:t.profile,website:t.website,gender:t.gender,birthdate:t.birthdate,zoneinfo:t.zoneinfo,created_at:t.created_at||r,updated_at:t.updated_at||r},l=t.password?ae():void 0;try{if(t.password&&l){n.run(N`BEGIN`);try{await n.insert(k).values(o),await n.insert(E).values({id:l,tenant_id:e,user_id:t.user_id,password:t.password.hash||t.password,algorithm:t.password.algorithm||"bcrypt",is_current:1,created_at:r,updated_at:r}),n.run(N`COMMIT`)}catch(c){throw n.run(N`ROLLBACK`),c}}else await n.insert(k).values(o)}catch(c){throw(_=c==null?void 0:c.message)!=null&&_.includes("UNIQUE constraint")||(d=c==null?void 0:c.message)!=null&&d.includes("AlreadyExists")?new be(409,{message:"User already exists"}):(console.error("User upsert failed:",c==null?void 0:c.code,c==null?void 0:c.message),new be(500,{message:"Internal server error"}))}return ht(o)};return{create:i,rawCreate:i,async get(e,t){const r=await n.select().from(k).where(g(a(k.tenant_id,e),a(k.user_id,t))).get();if(!r)return null;const o=await n.select().from(k).where(g(a(k.tenant_id,e),a(k.linked_to,t))).all();return ht(r,o)},async update(e,t,r){const o={updated_at:new Date().toISOString()},l=["email","given_name","family_name","nickname","name","picture","tags","phone_number","username","linked_to","last_ip","login_count","last_login","provider","connection","locale","middle_name","preferred_username","profile","website","gender","birthdate","zoneinfo"];for(const d of l)r[d]!==void 0&&(o[d]=r[d]);return r.email_verified!==void 0&&(o.email_verified=r.email_verified),r.phone_verified!==void 0&&(o.phone_verified=r.phone_verified),r.is_social!==void 0&&(o.is_social=r.is_social),r.app_metadata!==void 0&&(o.app_metadata=JSON.stringify(r.app_metadata)),r.user_metadata!==void 0&&(o.user_metadata=JSON.stringify(r.user_metadata)),r.address!==void 0&&(o.address=JSON.stringify(r.address)),r.profileData!==void 0&&(o.profileData=JSON.stringify(r.profileData)),(await n.update(k).set(o).where(g(a(k.tenant_id,e),a(k.user_id,t))).returning()).length>0},async list(e,t){const{page:r=0,per_page:o=50,include_totals:l=!1,sort:_,q:d}=t||{},c=[a(k.tenant_id,e),ye(k.linked_to)];if(d){const W=pe(k,d,["email","name","nickname","username"]);W&&c.push(W)}const u=g(...c);let h=n.select().from(k).where(u).$dynamic();if(_!=null&&_.sort_by){const W=k[_.sort_by];W&&(h=h.orderBy(_.sort_order==="desc"?M(W):H(W)))}const f=await h.offset(r*o).limit(o),y=f.map(W=>W.user_id);let w=[];y.length>0&&(w=await n.select().from(k).where(g(a(k.tenant_id,e),we(k.linked_to,y))));const A=f.map(W=>{const ke=w.filter(qe=>qe.linked_to===W.user_id);return ht(W,ke)});if(!l)return{users:A};const[R]=await n.select({count:V()}).from(k).where(u);return{users:A,start:r*o,limit:o,length:Number((R==null?void 0:R.count)??0)}},async remove(e,t){n.run(N`BEGIN`);try{const r=await n.select({user_id:k.user_id}).from(k).where(g(a(k.tenant_id,e),a(k.linked_to,t))),o=[t,...r.map(_=>_.user_id)];await n.delete(F).where(g(a(F.tenant_id,e),we(F.user_id,o))),await n.delete(E).where(g(a(E.tenant_id,e),we(E.user_id,o))),await n.delete(k).where(g(a(k.tenant_id,e),a(k.linked_to,t)));const l=await n.delete(k).where(g(a(k.tenant_id,e),a(k.user_id,t))).returning();return n.run(N`COMMIT`),l.length>0}catch(r){throw n.run(N`ROLLBACK`),r}},async unlink(e,t,r,o){const l=`${r}|${o}`;return(await n.update(k).set({linked_to:null}).where(g(a(k.tenant_id,e),a(k.user_id,l),a(k.linked_to,t))).returning()).length>0}}}function Bs(n){return{async create(i,e,t,r){var o,l;try{await n.insert(ue).values({tenant_id:i,user_id:e,role_id:t,organization_id:r||"",created_at:new Date().toISOString()})}catch(_){if((o=_==null?void 0:_.message)!=null&&o.includes("UNIQUE constraint")||(l=_==null?void 0:_.message)!=null&&l.includes("SQLITE_CONSTRAINT_PRIMARYKEY"))return!0;throw _}return!0},async list(i,e,t,r){let o=[a(ue.tenant_id,i),a(ue.user_id,e)];r&&o.push(a(ue.organization_id,r));const l=await n.select({role_id:ue.role_id}).from(ue).where(g(...o)).all();return l.length===0?[]:(await Promise.all(l.map(async d=>{const c=await n.select().from(J).where(g(a(J.tenant_id,i),a(J.id,d.role_id))).get();if(!c)return null;const{tenant_id:u,is_system:h,metadata:f,...y}=c;return z({...y,is_system:h?!0:void 0,metadata:b(f)})}))).filter(Boolean)},async remove(i,e,t,r){return(await n.delete(ue).where(g(a(ue.tenant_id,i),a(ue.user_id,e),a(ue.role_id,t),a(ue.organization_id,r||""))).returning()).length>0}}}function Ps(n){return{async create(i,e){var d,c;const t=new Date().toISOString(),o={id:e.id||ae(),tenant_id:i,user_id:e.user_id,organization_id:e.organization_id,created_at:t,updated_at:t};try{await n.insert(P).values(o)}catch(u){throw(d=u==null?void 0:u.message)!=null&&d.includes("UNIQUE constraint")||(c=u==null?void 0:u.message)!=null&&c.includes("duplicate key")?new be(409,{message:"User organization already exists"}):u}const{tenant_id:l,..._}=o;return _},async get(i,e){const t=await n.select().from(P).where(g(a(P.tenant_id,i),a(P.id,e))).get();if(!t)return null;const{tenant_id:r,...o}=t;return o},async update(i,e,t){const r={updated_at:new Date().toISOString()};return t.user_id!==void 0&&(r.user_id=t.user_id),t.organization_id!==void 0&&(r.organization_id=t.organization_id),(await n.update(P).set(r).where(g(a(P.tenant_id,i),a(P.id,e))).returning()).length>0},async list(i,e){const{page:t=0,per_page:r=50,include_totals:o=!1,q:l}=e||{},_=a(P.tenant_id,i);let d=_;if(l){const f=pe(P,l,["user_id","organization_id"]);f&&(d=g(_,f))}const u=(await n.select().from(P).where(d).offset(t*r).limit(r)).map(f=>{const{tenant_id:y,...w}=f;return w});if(!o)return{userOrganizations:u};const[h]=await n.select({count:V()}).from(P).where(d);return{userOrganizations:u,start:t*r,limit:r,length:Number((h==null?void 0:h.count)??0)}},async listUserOrganizations(i,e,t){const{page:r=0,per_page:o=50,include_totals:l=!1}=t||{},_=await n.select().from(P).where(g(a(P.tenant_id,i),a(P.user_id,e))).offset(r*o).limit(o).all(),c=(await Promise.all(_.map(async h=>{const f=await n.select().from(q).where(g(a(q.tenant_id,i),a(q.id,h.organization_id))).get();if(!f)return null;const{tenant_id:y,branding:w,metadata:A,enabled_connections:R,token_quota:W,...ke}=f;return z({...ke,branding:b(w,{}),metadata:b(A,{}),enabled_connections:b(R,[]),token_quota:b(W,{})})}))).filter(Boolean);if(!l)return{organizations:c};const[u]=await n.select({count:V()}).from(P).where(g(a(P.tenant_id,i),a(P.user_id,e)));return{organizations:c,start:r*o,limit:o,length:Number((u==null?void 0:u.count)??0)}},async remove(i,e){return(await n.delete(P).where(g(a(P.tenant_id,i),a(P.id,e))).returning()).length>0}}}const Ut=["s","seacft","seccft","sepft","sertft","ssa"],Qs=["pwd_leak","signup_pwd_leak","reset_pwd_leak"];function Js(n){return{async getDaily(i,e){const t=new Date,r=(e==null?void 0:e.from)||new Date(t.getTime()-30*24*60*60*1e3).toISOString().split("T")[0],o=(e==null?void 0:e.to)||t.toISOString().split("T")[0];return(await n.select({date:N`substr(${T.date}, 1, 10)`.as("date"),logins:N`SUM(CASE WHEN ${T.type} IN (${N.join(Ut.map(_=>N`${_}`),N`, `)}) THEN 1 ELSE 0 END)`.as("logins"),signups:N`SUM(CASE WHEN ${T.type} = 'ss' THEN 1 ELSE 0 END)`.as("signups"),leaked_passwords:N`SUM(CASE WHEN ${T.type} IN (${N.join(Qs.map(_=>N`${_}`),N`, `)}) THEN 1 ELSE 0 END)`.as("leaked_passwords")}).from(T).where(g(a(T.tenant_id,i),Ge(T.date,r),Oe(T.date,`${o}T23:59:59.999Z`))).groupBy(N`substr(${T.date}, 1, 10)`).orderBy(N`substr(${T.date}, 1, 10)`).all()).map(_=>({date:_.date,logins:Number(_.logins)||0,signups:Number(_.signups)||0,leaked_passwords:Number(_.leaked_passwords)||0,created_at:new Date().toISOString(),updated_at:new Date().toISOString()}))},async getActiveUsers(i){const e=new Date(Date.now()-2592e6).toISOString(),[t]=await n.select({count:N`COUNT(DISTINCT ${T.user_id})`.as("count")}).from(T).where(g(a(T.tenant_id,i),Ge(T.date,e),N`${T.type} IN (${N.join(Ut.map(r=>N`${r}`),N`, `)})`));return Number(t==null?void 0:t.count)||0}}}function Kt(n){return{...n,payload:b(n.payload,{})}}function Fs(n){return{async create(i,e){const t=ae(),r=new Date().toISOString();return await n.insert(x).values({id:t,tenant_id:i,event_type:e.event_type,log_type:e.log_type,aggregate_type:e.aggregate_type,aggregate_id:e.aggregate_id,payload:JSON.stringify({...e,id:t}),created_at:r,processed_at:null,retry_count:0,next_retry_at:null,error:null,claimed_by:null,claim_expires_at:null}),t},async getByIds(i){return i.length===0?[]:(await n.select().from(x).where(we(x.id,i)).all()).map(Kt)},async getUnprocessed(i){const e=new Date().toISOString();return(await n.select().from(x).where(g(ye(x.processed_at),de(ye(x.next_retry_at),Oe(x.next_retry_at,e)),de(ye(x.claimed_by),Oe(x.claim_expires_at,e)))).orderBy(x.created_at,x.id).limit(i).all()).map(Kt)},async claimEvents(i,e,t){if(i.length===0)return[];const r=new Date().toISOString(),o=new Date(Date.now()+t).toISOString();return await n.update(x).set({claimed_by:e,claim_expires_at:o}).where(g(we(x.id,i),ye(x.processed_at),de(ye(x.claimed_by),Oe(x.claim_expires_at,r)))),(await n.select({id:x.id}).from(x).where(g(we(x.id,i),a(x.claimed_by,e))).all()).map(_=>_.id)},async markProcessed(i){i.length!==0&&await n.update(x).set({processed_at:new Date().toISOString()}).where(we(x.id,i))},async markRetry(i,e,t){await n.update(x).set({error:e,next_retry_at:t,retry_count:N`${x.retry_count} + 1`,claimed_by:null,claim_expires_at:null}).where(a(x.id,i))},async cleanup(i){return(await n.delete(x).where(g(N`${x.processed_at} IS NOT NULL`,Oe(x.processed_at,i))).returning()).length},async deadLetter(i,e){const t=new Date().toISOString();await n.update(x).set({processed_at:t,dead_lettered_at:t,final_error:e}).where(a(x.id,i))},async listFailed(i,e={}){const{page:t=0,per_page:r=50,include_totals:o=!1}=e,_=(await n.select().from(x).where(g(a(x.tenant_id,i),Ve(x.dead_lettered_at))).orderBy(M(x.dead_lettered_at),H(x.id)).offset(t*r).limit(r).all()).map(c=>({...b(c.payload,{}),id:c.id,created_at:c.created_at,processed_at:c.processed_at,retry_count:c.retry_count,next_retry_at:c.next_retry_at,error:c.error,dead_lettered_at:c.dead_lettered_at,final_error:c.final_error}));let d=_.length;if(o){const[c]=await n.select({total:V()}).from(x).where(g(a(x.tenant_id,i),Ve(x.dead_lettered_at)));d=Number((c==null?void 0:c.total)??_.length)}return{events:_,start:t*r,limit:r,length:d}},async replay(i,e){return(await n.update(x).set({processed_at:null,dead_lettered_at:null,final_error:null,retry_count:0,next_retry_at:null,error:null}).where(g(a(x.id,i),a(x.tenant_id,e),Ve(x.dead_lettered_at))).returning()).length>0}}}const Us=7*24*60*60*1e3;function Ks(n){return async i=>{const e=Date.now()-Us;try{let t=[de(xe(C.expires_at_ts,e),xe(C.idle_expires_at_ts,e))];i!=null&&i.tenant_id&&t.push(a(C.tenant_id,i.tenant_id)),await n.delete(C).where(g(...t)),t=[de(xe($.expires_at_ts,e),xe($.idle_expires_at_ts,e))],i!=null&&i.tenant_id&&t.push(a($.tenant_id,i.tenant_id)),i!=null&&i.user_id&&t.push(a($.user_id,i.user_id)),await n.delete($).where(g(...t)),t=[xe(oe.expires_at_ts,e)],i!=null&&i.tenant_id&&t.push(a(oe.tenant_id,i.tenant_id)),await n.delete(oe).where(g(...t))}catch(t){console.error("Session cleanup error:",t)}}}function js(n,i={useTransactions:!0}){const e={actions:kr(),branding:Kr(n),clients:jr(n),clientConnections:Vr(n),clientGrants:Yr(n),codes:Xr(n),connections:es(n),customDomains:ts(n),customText:ns(n),emailProviders:is(n),flows:rs(n),forms:ss(n),hookCode:ls(n),hooks:us(n),invites:cs(n),keys:gs(n),loginSessions:ms(n),logs:hs(n),authenticationMethods:ys(n),organizations:Ns(n),passwords:vs(n),promptSettings:Ss(n),refreshTokens:bs(n),resourceServers:Ds(n),rolePermissions:Os(n),userPermissions:ks(n),roles:Is(n),sessions:qs(n),sessionCleanup:Ks(n),tenants:Ls(n),themes:As(n),universalLoginTemplates:Cs(n),users:$s(n),userRoles:Bs(n),userOrganizations:Ps(n),stats:Js(n),outbox:Fs(n),async transaction(t){if(i.useTransactions===!1)return t(e);n.run(N`BEGIN`);try{const r=await t(e);return n.run(N`COMMIT`),r}catch(r){throw n.run(N`ROLLBACK`),r}}};return e}exports.default=js;exports.sqlite=Qr;
|
|
13
|
+
WHERE tenant_id = ${i} AND client_id = ${t}`);return(r.changes??((l=r.meta)==null?void 0:l.changes)??0)>0}}}let Wr="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict",Hr=n=>crypto.getRandomValues(new Uint8Array(n)),Gr=(n,i,e)=>{let t=256-256%n.length;if(t===256){let o=n.length-1;return(l=i)=>{if(!l)return"";let _="";for(;;){let u=e(l),c=l;for(;c--;)if(_+=n[u[c]&o],_.length>=l)return _}}}let r=Math.ceil(1.6*256*i/t);return(o=i)=>{if(!o)return"";let l="";for(;;){let _=e(r),u=r;for(;u--;)if(_[u]<t&&(l+=n[_[u]%n.length],l.length>=o))return l}}},Yr=(n,i=21)=>Gr(n,i|0,Hr),ae=(n=21)=>{let i="",e=crypto.getRandomValues(new Uint8Array(n|=0));for(;n--;)i+=Wr[e[n]&63];return i};function nt(n){const{tenant_id:i,scope:e,authorization_details_types:t,allow_any_organization:r,is_system:o,...l}=n;return z({...l,scope:x(e,[]),authorization_details_types:x(t,[]),allow_any_organization:!!r,is_system:!!o})}function Xr(n){return{async create(i,e){const t=new Date().toISOString(),o={id:e.id||ae(),tenant_id:i,client_id:e.client_id,audience:e.audience,scope:JSON.stringify(e.scope||[]),organization_usage:e.organization_usage,allow_any_organization:e.allow_any_organization?1:0,is_system:e.is_system?1:0,subject_type:e.subject_type,authorization_details_types:JSON.stringify(e.authorization_details_types||[]),created_at:t,updated_at:t};return await n.insert(Y).values(o),nt({...o,tenant_id:i})},async get(i,e){const t=await n.select().from(Y).where(g(a(Y.tenant_id,i),a(Y.id,e))).get();return t?nt(t):null},async update(i,e,t){const{scope:r,authorization_details_types:o,allow_any_organization:l,is_system:_,...u}=t,c={...u,updated_at:new Date().toISOString()};return r!==void 0&&(c.scope=JSON.stringify(r)),o!==void 0&&(c.authorization_details_types=JSON.stringify(o)),l!==void 0&&(c.allow_any_organization=l?1:0),_!==void 0&&(c.is_system=_?1:0),(await n.update(Y).set(c).where(g(a(Y.tenant_id,i),a(Y.id,e))).returning()).length>0},async list(i,e){const{page:t=0,per_page:r=50,include_totals:o=!1,sort:l,q:_}=e||{},u=_?pe(Y,_,["client_id","audience"]):void 0,c=u?g(a(Y.tenant_id,i),u):a(Y.tenant_id,i);let d=n.select().from(Y).where(c).$dynamic();if(l!=null&&l.sort_by){const N=Y[l.sort_by];N&&(d=d.orderBy(l.sort_order==="desc"?V(N):G(N)))}else d=d.orderBy(G(Y.created_at));const f=(await d.offset(t*r).limit(r)).map(nt);if(!o)return{client_grants:f};const[y]=await n.select({count:R()}).from(Y).where(c);return{client_grants:f,start:t*r,limit:r,length:Number((y==null?void 0:y.count)??0)}},async remove(i,e){return(await n.delete(Y).where(g(a(Y.tenant_id,i),a(Y.id,e))).returning()).length>0}}}function it(n){const{tenant_id:i,...e}=n;return z(e)}function Zr(n){return{async create(i,e){const t={...e,tenant_id:i,created_at:e.created_at||new Date().toISOString(),expires_at:e.expires_at};return await n.insert(P).values(t),it(t)},async get(i,e,t){if(!i)throw new Error("tenant_id is required");const r=await n.select().from(P).where(g(a(P.tenant_id,i),a(P.code_id,e),a(P.code_type,t))).get();return r?it(r):null},async list(i,e){const{page:t=0,per_page:r=50,include_totals:o=!1,sort:l}=e||{};let _=n.select().from(P).where(a(P.tenant_id,i)).$dynamic();if(l!=null&&l.sort_by){const m=P[l.sort_by];m&&(_=_.orderBy(l.sort_order==="desc"?V(m):G(m)))}const c=(await _.offset(t*r).limit(r)).map(it);if(!o)return{codes:c};const[d]=await n.select({count:R()}).from(P).where(a(P.tenant_id,i));return{codes:c,start:t*r,limit:r,length:Number((d==null?void 0:d.count)??0)}},async used(i,e){return(await n.update(P).set({used_at:new Date().toISOString()}).where(g(a(P.tenant_id,i),a(P.code_id,e))).returning()).length>0},async consume(i,e){return(await n.update(P).set({used_at:new Date().toISOString()}).where(g(a(P.tenant_id,i),a(P.code_id,e),ye(P.used_at))).returning()).length>0},async remove(i,e){return(await n.delete(P).where(g(a(P.tenant_id,i),a(P.code_id,e))).returning()).length>0}}}function es(){const{customAlphabet:n}=require("nanoid");return`con_${n("0123456789abcdefghijklmnopqrstuvwxyz",17)()}`}function rt(n){const{tenant_id:i,is_system:e,options:t,metadata:r,...o}=n;return z({...o,options:x(t,{}),metadata:x(r),is_system:e?!0:void 0})}function ts(n){return{async create(i,e){var o,l;const t=new Date().toISOString(),r={id:e.id||es(),...e,tenant_id:i,options:JSON.stringify(e.options||{}),metadata:e.metadata?JSON.stringify(e.metadata):void 0,is_system:e.is_system?1:0,created_at:t,updated_at:t};try{await n.insert(K).values(r)}catch(_){throw(o=_==null?void 0:_.message)!=null&&o.includes("UNIQUE constraint failed")||(l=_==null?void 0:_.message)!=null&&l.includes("duplicate key")?new be(409,{message:"Connection already exists"}):_}return rt(r)},async get(i,e){const t=await n.select().from(K).where(g(a(K.tenant_id,i),a(K.id,e))).get();return t?rt(t):null},async update(i,e,t){const r={updated_at:new Date().toISOString()};return t.name!==void 0&&(r.name=t.name),t.strategy!==void 0&&(r.strategy=t.strategy),t.options!==void 0&&(r.options=JSON.stringify(t.options)),t.metadata!==void 0&&(r.metadata=JSON.stringify(t.metadata)),t.display_name!==void 0&&(r.display_name=t.display_name),t.response_type!==void 0&&(r.response_type=t.response_type),t.response_mode!==void 0&&(r.response_mode=t.response_mode),await n.update(K).set(r).where(g(a(K.tenant_id,i),a(K.id,e))),!0},async list(i,e){const{page:t=0,per_page:r=50,include_totals:o=!1,sort:l,q:_}=e||{};let u=a(K.tenant_id,i);if(_){const y=pe(K,_,["name"]);y&&(u=g(u,y))}let c=n.select().from(K).where(u).$dynamic();if(l!=null&&l.sort_by){const y=K[l.sort_by];y&&(c=c.orderBy(l.sort_order==="desc"?V(y):G(y)))}const m=(await c.offset(t*r).limit(r)).map(rt);if(!o)return{connections:m};const[f]=await n.select({count:R()}).from(K).where(u);return{connections:m,start:t*r,limit:r,length:Number((f==null?void 0:f.count)??0)}},async remove(i,e){return(await n.delete(K).where(g(a(K.tenant_id,i),a(K.id,e))).returning()).length>0}}}function Ke(n){const{tenant_id:i,domain_metadata:e,...t}=n;return z({...t,primary:!!t.primary,domain_metadata:x(e)})}function ns(n){return{async create(i,e){const t=new Date().toISOString(),o={custom_domain_id:e.custom_domain_id||ae(),tenant_id:i,domain:e.domain,primary:e.primary??!1,status:e.status||"pending",type:e.type,origin_domain_name:e.origin_domain_name,verification:e.verification,custom_client_ip_header:e.custom_client_ip_header,tls_policy:e.tls_policy,domain_metadata:e.domain_metadata?JSON.stringify(e.domain_metadata):void 0,created_at:t,updated_at:t};return await n.insert(se).values(o),Ke({...o,tenant_id:i})},async get(i,e){const t=await n.select().from(se).where(g(a(se.tenant_id,i),a(se.custom_domain_id,e))).get();return t?Ke(t):null},async getByDomain(i){const e=await n.select().from(se).where(a(se.domain,i)).get();return e?{...Ke(e),tenant_id:e.tenant_id}:null},async list(i){return(await n.select().from(se).where(a(se.tenant_id,i)).all()).map(Ke)},async update(i,e,t){const r={updated_at:new Date().toISOString()};return t.domain!==void 0&&(r.domain=t.domain),t.primary!==void 0&&(r.primary=t.primary),t.status!==void 0&&(r.status=t.status),t.type!==void 0&&(r.type=t.type),t.origin_domain_name!==void 0&&(r.origin_domain_name=t.origin_domain_name),t.verification!==void 0&&(r.verification=t.verification),t.custom_client_ip_header!==void 0&&(r.custom_client_ip_header=t.custom_client_ip_header),t.tls_policy!==void 0&&(r.tls_policy=t.tls_policy),t.domain_metadata!==void 0&&(r.domain_metadata=JSON.stringify(t.domain_metadata)),(await n.update(se).set(r).where(g(a(se.tenant_id,i),a(se.custom_domain_id,e))).returning()).length>0},async remove(i,e){return(await n.delete(se).where(g(a(se.tenant_id,i),a(se.custom_domain_id,e))).returning()).length>0}}}function is(n){return{async get(i,e,t){const r=await n.select().from(te).where(g(a(te.tenant_id,i),a(te.prompt,e),a(te.language,t))).get();if(!r)return null;try{return JSON.parse(r.custom_text)}catch{return null}},async set(i,e,t,r){const o=Date.now(),l=JSON.stringify(r);await n.insert(te).values({tenant_id:i,prompt:e,language:t,custom_text:l,created_at_ts:o,updated_at_ts:o}).onConflictDoUpdate({target:[te.tenant_id,te.prompt,te.language],set:{custom_text:l,updated_at_ts:o}})},async delete(i,e,t){await n.delete(te).where(g(a(te.tenant_id,i),a(te.prompt,e),a(te.language,t)))},async list(i){return await n.select({prompt:te.prompt,language:te.language}).from(te).where(a(te.tenant_id,i)).all()}}}function rs(n){return{async create(i,e){const t=new Date().toISOString();await n.insert(Se).values({tenant_id:i,name:e.name,enabled:e.enabled,default_from_address:e.default_from_address,credentials:JSON.stringify(e.credentials||{}),settings:JSON.stringify(e.settings||{}),created_at:t,updated_at:t})},async get(i){const e=await n.select().from(Se).where(a(Se.tenant_id,i)).get();if(!e)return null;const{tenant_id:t,...r}=e;return z({...r,enabled:!!r.enabled,credentials:x(r.credentials,{}),settings:x(r.settings,{})})},async update(i,e){const t={updated_at:new Date().toISOString()};e.name!==void 0&&(t.name=e.name),e.enabled!==void 0&&(t.enabled=e.enabled),e.default_from_address!==void 0&&(t.default_from_address=e.default_from_address),e.credentials!==void 0&&(t.credentials=JSON.stringify(e.credentials)),e.settings!==void 0&&(t.settings=JSON.stringify(e.settings)),await n.update(Se).set(t).where(a(Se.tenant_id,i))},async remove(i){await n.delete(Se).where(a(Se.tenant_id,i))}}}function ss(n){return{async create(i,e){const t=new Date().toISOString(),r=`af_${ae()}`;return await n.insert(re).values({id:r,tenant_id:i,name:e.name,actions:JSON.stringify(e.actions||[]),created_at:t,updated_at:t}),{id:r,name:e.name,actions:e.actions||[],created_at:t,updated_at:t}},async get(i,e){const t=await n.select().from(re).where(g(a(re.tenant_id,i),a(re.id,e))).get();if(!t)return null;const{tenant_id:r,actions:o,...l}=t;return z({...l,actions:x(o,[])})},async update(i,e,t){const r={updated_at:new Date().toISOString()};return t.name!==void 0&&(r.name=t.name),t.actions!==void 0&&(r.actions=JSON.stringify(t.actions)),(await n.update(re).set(r).where(g(a(re.tenant_id,i),a(re.id,e))).returning()).length===0?null:this.get(i,e)},async list(i,e){const{page:t=0,per_page:r=50,include_totals:o=!1,sort:l}=e||{};let _=n.select().from(re).where(a(re.tenant_id,i)).$dynamic();if(l!=null&&l.sort_by){const m=re[l.sort_by];m&&(_=_.orderBy(l.sort_order==="desc"?V(m):G(m)))}const c=(await _.offset(t*r).limit(r)).map(m=>{const{tenant_id:f,actions:y,...N}=m;return z({...N,actions:x(y,[])})});if(!o)return{flows:c};const[d]=await n.select({count:R()}).from(re).where(a(re.tenant_id,i));return{flows:c,start:t*r,limit:r,length:Number((d==null?void 0:d.count)??0)}},async remove(i,e){return(await n.delete(re).where(g(a(re.tenant_id,i),a(re.id,e))).returning()).length>0}}}const je=["nodes","start","ending"];function os(n){return{async create(i,e){const t=new Date().toISOString(),r=ae(),o={id:r,tenant_id:i,name:e.name,messages:e.messages,languages:e.languages,translations:e.translations,style:e.style,created_at:t,updated_at:t};for(const l of je)o[l]=JSON.stringify(e[l]||(l==="nodes"?[]:{}));return await n.insert(ie).values(o),{id:r,...e,created_at:t,updated_at:t}},async get(i,e){const t=await n.select().from(ie).where(g(a(ie.tenant_id,i),a(ie.id,e))).get();if(!t)return null;const{tenant_id:r,...o}=t,l={...o};for(const _ of je)l[_]=x(o[_]);return z(l)},async update(i,e,t){const r={updated_at:new Date().toISOString()};for(const[l,_]of Object.entries(t))_!==void 0&&(je.includes(l)?r[l]=JSON.stringify(_):r[l]=_);return(await n.update(ie).set(r).where(g(a(ie.tenant_id,i),a(ie.id,e))).returning()).length>0},async list(i,e){const{page:t=0,per_page:r=50,include_totals:o=!1,sort:l}=e||{};let _=n.select().from(ie).where(a(ie.tenant_id,i)).$dynamic();if(l!=null&&l.sort_by){const m=ie[l.sort_by];m&&(_=_.orderBy(l.sort_order==="desc"?V(m):G(m)))}const c=(await _.offset(t*r).limit(r)).map(m=>{const{tenant_id:f,...y}=m,N={...y};for(const A of je)N[A]=x(y[A]);return z(N)});if(!o)return{forms:c};const[d]=await n.select({count:R()}).from(ie).where(a(ie.tenant_id,i));return{forms:c,start:t*r,limit:r,length:Number((d==null?void 0:d.count)??0)}},async remove(i,e){return(await n.delete(ie).where(g(a(ie.tenant_id,i),a(ie.id,e))).returning()).length>0}}}function hr(n){if(n!=null){if(typeof n=="number")return new Date(n).toISOString();if(typeof n=="string"){if(n==="")return;const i=parseFloat(n);return!isNaN(i)&&/^\d+(\.\d+)?$/.test(n)?new Date(i).toISOString():n}}}function wt(n,i=new Date(0).toISOString()){return hr(n)??i}function j(n){if(!n||n==="")return null;const i=new Date(n);return isNaN(i.getTime())?null:i.getTime()}function Fe(n,i,e=[]){const t={};for(const r of i){const o=r.replace(/_ts$/,"");t[o]=wt(n[r])}for(const r of e){const o=r.replace(/_ts$/,"");t[o]=hr(n[r])}return t}const as=Yr("0123456789abcdefghijklmnopqrstuvwxyz",17);function ls(){return`hc_${as()}`}function At(n){const{created_at_ts:i,updated_at_ts:e,secrets:t,...r}=n,o=Fe({created_at_ts:i,updated_at_ts:e},["created_at_ts","updated_at_ts"]);return{...r,...o,secrets:t?JSON.parse(t):void 0}}function _s(n){return{async create(i,e){const t=Date.now(),o={id:ls(),tenant_id:i,code:e.code,secrets:e.secrets?JSON.stringify(e.secrets):null,created_at_ts:t,updated_at_ts:t};return await n.insert(he).values(o),At({...o,tenant_id:i})},async get(i,e){const t=await n.select().from(he).where(g(a(he.tenant_id,i),a(he.id,e))).get();return t?At(t):null},async update(i,e,t){const r={updated_at_ts:Date.now()};return t.code!==void 0&&(r.code=t.code),t.secrets!==void 0&&(r.secrets=JSON.stringify(t.secrets)),(await n.update(he).set(r).where(g(a(he.tenant_id,i),a(he.id,e))).returning()).length>0},async remove(i,e){return(await n.delete(he).where(g(a(he.tenant_id,i),a(he.id,e))).returning()).length>0}}}function us(){const{customAlphabet:n}=require("nanoid");return`h_${n("0123456789abcdefghijklmnopqrstuvwxyz",17)()}`}function st(n){const{tenant_id:i,created_at_ts:e,updated_at_ts:t,...r}=n,o=Fe({created_at_ts:e,updated_at_ts:t},["created_at_ts","updated_at_ts"]);return z({...r,enabled:!!r.enabled,synchronous:!!r.synchronous,...o})}function ds(n){return{async create(i,e){const t=Date.now(),o={hook_id:e.hook_id||us(),tenant_id:i,trigger_id:e.trigger_id,url:e.url,enabled:e.enabled??!0,synchronous:e.synchronous??!1,priority:e.priority,form_id:e.form_id,template_id:e.template_id,code_id:e.code_id,created_at_ts:t,updated_at_ts:t};return await n.insert(ee).values(o),st({...o,tenant_id:i})},async get(i,e){const t=await n.select().from(ee).where(g(a(ee.tenant_id,i),a(ee.hook_id,e))).get();return t?st(t):null},async update(i,e,t){const r={updated_at_ts:Date.now()};return t.trigger_id!==void 0&&(r.trigger_id=t.trigger_id),t.url!==void 0&&(r.url=t.url),t.enabled!==void 0&&(r.enabled=t.enabled),t.synchronous!==void 0&&(r.synchronous=t.synchronous),t.priority!==void 0&&(r.priority=t.priority),t.form_id!==void 0&&(r.form_id=t.form_id),t.template_id!==void 0&&(r.template_id=t.template_id),t.code_id!==void 0&&(r.code_id=t.code_id),(await n.update(ee).set(r).where(g(a(ee.tenant_id,i),a(ee.hook_id,e))).returning()).length>0},async list(i,e){const{page:t=0,per_page:r=50,include_totals:o=!1,sort:l,q:_}=e||{},u=_?pe(ee,_,["url","form_id","template_id","code_id"]):void 0,c=u?g(a(ee.tenant_id,i),u):a(ee.tenant_id,i);let d=n.select().from(ee).where(c).$dynamic();if(l!=null&&l.sort_by){const N=ee[l.sort_by];N&&(d=d.orderBy(l.sort_order==="desc"?V(N):G(N)))}const f=(await d.offset(t*r).limit(r)).map(st);if(!o)return{hooks:f};const[y]=await n.select({count:R()}).from(ee).where(c);return{hooks:f,start:t*r,limit:r,length:Number((y==null?void 0:y.count)??0)}},async remove(i,e){return(await n.delete(ee).where(g(a(ee.tenant_id,i),a(ee.hook_id,e))).returning()).length>0}}}function cs(){const{customAlphabet:n}=require("nanoid");return`inv_${n("0123456789abcdefghijklmnopqrstuvwxyz",17)()}`}const Nt=["inviter","invitee","app_metadata","user_metadata","roles"];function ot(n){const{tenant_id:i,send_invitation_email:e,...t}=n,r={...t};for(const o of Nt)r[o]=x(t[o],o==="roles"?[]:{});return r.send_invitation_email=!!e,z(r)}function gs(n){return{async create(i,e){var u,c;const t=e.id||cs(),r=e.ttl_sec||604800,o=new Date,l=new Date(o.getTime()+r*1e3).toISOString(),_={id:t,tenant_id:i,organization_id:e.organization_id,client_id:e.client_id,connection_id:e.connection_id,invitation_url:e.invitation_url,ticket_id:e.ticket_id,ttl_sec:r,send_invitation_email:e.send_invitation_email!==!1?1:0,created_at:o.toISOString(),expires_at:l};for(const d of Nt)e[d]!==void 0&&(_[d]=JSON.stringify(e[d]));try{await n.insert(ne).values(_)}catch(d){throw(u=d==null?void 0:d.message)!=null&&u.includes("UNIQUE constraint failed")||(c=d==null?void 0:d.message)!=null&&c.includes("duplicate key")?new be(409,{message:"Invite already exists"}):d}return ot({..._,tenant_id:i})},async get(i,e){const t=await n.select().from(ne).where(g(a(ne.tenant_id,i),a(ne.id,e))).get();return t?ot(t):null},async update(i,e,t){const r={};for(const l of Nt)t[l]!==void 0&&(r[l]=JSON.stringify(t[l]));return t.connection_id!==void 0&&(r.connection_id=t.connection_id),t.ttl_sec!==void 0&&(r.ttl_sec=t.ttl_sec,r.expires_at=new Date(Date.now()+t.ttl_sec*1e3).toISOString()),(await n.update(ne).set(r).where(g(a(ne.tenant_id,i),a(ne.id,e))).returning()).length>0},async list(i,e){const{page:t=0,per_page:r=50,include_totals:o=!1,sort:l}=e||{};let _=n.select().from(ne).where(a(ne.tenant_id,i)).$dynamic();if(l!=null&&l.sort_by){const m=ne[l.sort_by];m&&(_=_.orderBy(l.sort_order==="desc"?V(m):G(m)))}const c=(await _.offset(t*r).limit(r)).map(ot);if(!o)return{invites:c};const[d]=await n.select({count:R()}).from(ne).where(a(ne.tenant_id,i));return{invites:c,start:t*r,limit:r,length:Number((d==null?void 0:d.count)??0)}},async remove(i,e){return(await n.delete(ne).where(g(a(ne.tenant_id,i),a(ne.id,e))).returning()).length>0}}}function fs(n){return{async create(i){await n.insert(me).values({...i,created_at:new Date().toDateString()})},async list(i){const{page:e=0,per_page:t=50,include_totals:r=!1,sort:o}=i||{},l=new Date().toISOString();let _=n.select().from(me).where(de(He(me.revoked_at,l),ye(me.revoked_at))).$dynamic();if(o!=null&&o.sort_by){const m=me[o.sort_by];m&&(_=_.orderBy(o.sort_order==="desc"?V(m):G(m)))}const c=(await _.offset(e*t).limit(t)).map(m=>{const{created_at:f,...y}=m;return z(y)});if(!r)return{signingKeys:c};const[d]=await n.select({count:R()}).from(me).where(de(He(me.revoked_at,l),ye(me.revoked_at)));return{signingKeys:c,start:e*t,limit:t,length:Kr((d==null?void 0:d.count)??0)}},async update(i,e){return(await n.update(me).set(e).where(a(me.kid,i)).returning()).length>0}}}const vt="0123456789ABCDEFGHJKMNPQRSTVWXYZ",at=vt.length;function hs(){let e=Date.now(),t="";for(let o=10;o>0;o--)t=vt.charAt(e%at)+t,e=Math.floor(e/at);const r=new Uint8Array(16);crypto.getRandomValues(r);for(let o=0;o<16;o++)t+=vt.charAt(r[o]%at);return t}function Bt(n){const{tenant_id:i,created_at_ts:e,updated_at_ts:t,expires_at_ts:r,state_data:o,...l}=n,_=Fe({created_at_ts:e,updated_at_ts:t,expires_at_ts:r},["created_at_ts","updated_at_ts","expires_at_ts"]),u=fr(l,["authParams"]);return z({...u,..._,state_data:x(o)})}function ms(n){return{async create(i,e){const t=Date.now(),r=hs(),o=Pe({authParams:e.authParams||{}},"authParams"),l={id:r,tenant_id:i,session_id:e.session_id,csrf_token:e.csrf_token,authorization_url:e.authorization_url?e.authorization_url.substring(0,1024):void 0,ip:e.ip,useragent:e.useragent,auth0Client:e.auth0Client,state:e.state||"pending",state_data:e.state_data?JSON.stringify(e.state_data):void 0,failure_reason:e.failure_reason,user_id:e.user_id,auth_connection:e.auth_connection,created_at_ts:t,updated_at_ts:t,expires_at_ts:e.expires_at?j(e.expires_at):t+1e3*60*60*24};for(const[_,u]of Object.entries(o))l[_]=u;return await n.insert($).values(l),Bt({...l,tenant_id:i})},async get(i,e){const t=await n.select().from($).where(g(a($.tenant_id,i),a($.id,e))).get();return t?Bt(t):null},async update(i,e,t){var o;const r={updated_at_ts:Date.now()};if(t.session_id!==void 0&&(r.session_id=t.session_id),t.state!==void 0&&(r.state=t.state),t.state_data!==void 0&&(r.state_data=JSON.stringify(t.state_data)),t.failure_reason!==void 0&&(r.failure_reason=t.failure_reason),t.user_id!==void 0&&(r.user_id=t.user_id),t.auth_connection!==void 0&&(r.auth_connection=t.auth_connection),t.authorization_url!==void 0&&(r.authorization_url=(o=t.authorization_url)==null?void 0:o.substring(0,1024)),t.expires_at!==void 0&&(r.expires_at_ts=j(t.expires_at)),t.authParams){const l=Pe({authParams:t.authParams},"authParams");Object.assign(r,l)}return await n.update($).set(r).where(g(a($.tenant_id,i),a($.id,e))),!0},async remove(i,e){return(await n.delete($).where(g(a($.tenant_id,i),a($.id,e))).returning()).length>0}}}function lt(n){const{tenant_id:i,isMobile:e,auth0_client:t,details:r,country_code:o,city_name:l,latitude:_,longitude:u,time_zone:c,continent_code:d,scope:m,...f}=n,y={...f,isMobile:!!e,auth0_client:x(t),details:x(r),scope:m?m.split(","):void 0};return o&&(y.location_info=z({country_code:o,city_name:l,latitude:_,longitude:u,time_zone:c,continent_code:d})),z(y)}function ps(n){return{async create(i,e){var o,l;const r={log_id:e.log_id||ae(),tenant_id:i,type:e.type,date:e.date||new Date().toISOString(),category:e.category,user_id:e.user_id,ip:e.ip,client_id:e.client_id,client_name:e.client_name,user_agent:(o=e.user_agent)==null?void 0:o.substring(0,256),description:(l=e.description)==null?void 0:l.substring(0,256),isMobile:e.isMobile?1:0,user_name:e.user_name,connection:e.connection,connection_id:e.connection_id,audience:e.audience,scope:Array.isArray(e.scope)?e.scope.join(","):e.scope,strategy:e.strategy,strategy_type:e.strategy_type,hostname:e.hostname,session_connection:e.session_connection};return e.auth0_client&&(r.auth0_client=JSON.stringify(e.auth0_client)),e.details&&(r.details=JSON.stringify(e.details).substring(0,8192)),e.location_info&&(r.country_code=e.location_info.country_code,r.city_name=e.location_info.city_name,r.latitude=e.location_info.latitude,r.longitude=e.location_info.longitude,r.time_zone=e.location_info.time_zone,r.continent_code=e.location_info.continent_code),await n.insert(q).values(r),lt({...r,tenant_id:i})},async list(i,e){const{page:t=0,per_page:r=50,include_totals:o=!1,sort:l,q:_}=e||{};let u=n.select().from(q).where(a(q.tenant_id,i)).$dynamic();if(_){const f=pe(q,_,["user_id","ip","type","client_id"]);f&&(u=u.where(g(a(q.tenant_id,i),f)))}if(l!=null&&l.sort_by){const f=q[l.sort_by];f&&(u=u.orderBy(l.sort_order==="desc"?V(f):G(f)))}else u=u.orderBy(V(q.date));const d=(await u.offset(t*r).limit(r)).map(lt);if(!o)return{logs:d};const[m]=await n.select({count:R()}).from(q).where(a(q.tenant_id,i));return{logs:d,start:t*r,limit:r,length:Number((m==null?void 0:m.count)??0)}},async get(i,e){const t=await n.select().from(q).where(g(a(q.tenant_id,i),a(q.log_id,e))).get();return t?lt(t):null}}}const St="0123456789ABCDEFGHJKMNPQRSTVWXYZ",_t=St.length;function ys(){let e=Date.now(),t="";for(let o=10;o>0;o--)t=St.charAt(e%_t)+t,e=Math.floor(e/_t);const r=new Uint8Array(16);crypto.getRandomValues(r);for(let o=0;o<16;o++)t+=St.charAt(r[o]%_t);return t}function Me(n){const{tenant_id:i,created_at_ts:e,updated_at_ts:t,credential_backed_up:r,confirmed:o,transports:l,..._}=n;return z({..._,confirmed:!!o,credential_backed_up:r!=null?!!r:void 0,transports:x(l),created_at:wt(e),updated_at:wt(t)})}function ws(n){return{async create(i,e){const t=Date.now(),o={id:e.id||ys(),tenant_id:i,user_id:e.user_id,type:e.type,phone_number:e.phone_number,totp_secret:e.totp_secret,credential_id:e.credential_id,public_key:e.public_key,sign_count:e.sign_count,credential_backed_up:e.credential_backed_up!=null?e.credential_backed_up?1:0:null,transports:e.transports?JSON.stringify(e.transports):null,friendly_name:e.friendly_name,confirmed:e.confirmed?1:0,created_at_ts:t,updated_at_ts:t};return await n.insert(U).values(o),Me({...o,tenant_id:i})},async get(i,e){const t=await n.select().from(U).where(g(a(U.tenant_id,i),a(U.id,e))).get();return t?Me(t):null},async getByCredentialId(i,e){const t=await n.select().from(U).where(g(a(U.tenant_id,i),a(U.credential_id,e))).get();return t?Me(t):null},async list(i,e){return(await n.select().from(U).where(g(a(U.tenant_id,i),a(U.user_id,e))).all()).map(Me)},async update(i,e,t){const r={updated_at_ts:Date.now()};t.type!==void 0&&(r.type=t.type),t.phone_number!==void 0&&(r.phone_number=t.phone_number),t.totp_secret!==void 0&&(r.totp_secret=t.totp_secret),t.credential_id!==void 0&&(r.credential_id=t.credential_id),t.public_key!==void 0&&(r.public_key=t.public_key),t.sign_count!==void 0&&(r.sign_count=t.sign_count),t.credential_backed_up!==void 0&&(r.credential_backed_up=t.credential_backed_up?1:0),t.transports!==void 0&&(r.transports=JSON.stringify(t.transports)),t.friendly_name!==void 0&&(r.friendly_name=t.friendly_name),t.confirmed!==void 0&&(r.confirmed=t.confirmed?1:0),await n.update(U).set(r).where(g(a(U.tenant_id,i),a(U.id,e)));const o=await this.get(i,e);if(!o)throw new Error(`Authentication method ${e} not found after update`);return o},async remove(i,e){return(await n.delete(U).where(g(a(U.tenant_id,i),a(U.id,e))).returning()).length>0}}}function Ns(){const{customAlphabet:n}=require("nanoid");return`org_${n("0123456789abcdefghijklmnopqrstuvwxyz",17)()}`}function ut(n){const{tenant_id:i,branding:e,metadata:t,enabled_connections:r,token_quota:o,...l}=n;return z({...l,branding:x(e,{}),metadata:x(t,{}),enabled_connections:x(r,[]),token_quota:x(o,{})})}function vs(n){return{async create(i,e){var l,_;const t=new Date().toISOString(),o={id:e.id||Ns(),tenant_id:i,name:e.name,display_name:e.display_name,branding:JSON.stringify(e.branding||{}),metadata:JSON.stringify(e.metadata||{}),enabled_connections:JSON.stringify(e.enabled_connections||[]),token_quota:JSON.stringify(e.token_quota||{}),created_at:t,updated_at:t};try{await n.insert(L).values(o)}catch(u){throw(l=u==null?void 0:u.message)!=null&&l.includes("UNIQUE constraint failed")||(_=u==null?void 0:u.message)!=null&&_.includes("AlreadyExists")?new be(409,{message:"Organization already exists"}):u}return ut({...o,tenant_id:i})},async get(i,e){let t=await n.select().from(L).where(g(a(L.tenant_id,i),a(L.id,e))).get();return t||(t=await n.select().from(L).where(g(a(L.tenant_id,i),a(L.name,e))).get()),t?ut(t):null},async update(i,e,t){const r={updated_at:new Date().toISOString()};return t.name!==void 0&&(r.name=t.name),t.display_name!==void 0&&(r.display_name=t.display_name),t.branding!==void 0&&(r.branding=JSON.stringify(t.branding)),t.metadata!==void 0&&(r.metadata=JSON.stringify(t.metadata)),t.enabled_connections!==void 0&&(r.enabled_connections=JSON.stringify(t.enabled_connections)),t.token_quota!==void 0&&(r.token_quota=JSON.stringify(t.token_quota)),(await n.update(L).set(r).where(g(a(L.tenant_id,i),a(L.id,e))).returning()).length>0},async list(i,e){const{page:t=0,per_page:r=50,include_totals:o=!1,sort:l,q:_}=e||{};let u=n.select().from(L).where(a(L.tenant_id,i)).$dynamic();if(_&&(u=u.where(de(Ie(L.name,`%${_}%`),Ie(L.display_name,`%${_}%`)))),l!=null&&l.sort_by){const y=L[l.sort_by];y&&(u=u.orderBy(l.sort_order==="desc"?V(y):G(y)))}const d=(await u.offset(t*r).limit(r)).map(ut);if(!o)return{organizations:d};const m=[a(L.tenant_id,i)];_&&m.push(de(Ie(L.name,`%${_}%`),Ie(L.display_name,`%${_}%`)));const[f]=await n.select({count:R()}).from(L).where(g(...m));return{organizations:d,start:t*r,limit:r,length:Number((f==null?void 0:f.count)??0)}},async remove(i,e){return(await n.delete(L).where(g(a(L.tenant_id,i),a(L.id,e))).returning()).length>0}}}function dt(n){const{tenant_id:i,is_current:e,...t}=n;return{...t,is_current:!!e}}function Ss(n){return{async create(i,e){const t=new Date().toISOString(),r=e.id||ae();e.is_current!==!1&&await n.update(C).set({is_current:0}).where(g(a(C.tenant_id,i),a(C.user_id,e.user_id)));const o={id:r,tenant_id:i,user_id:e.user_id,password:e.password,algorithm:e.algorithm||"bcrypt",is_current:e.is_current!==!1?1:0,created_at:t,updated_at:t};return await n.insert(C).values(o),dt({...o,tenant_id:i})},async get(i,e){const t=await n.select().from(C).where(g(a(C.tenant_id,i),a(C.user_id,e),a(C.is_current,1))).get();return t?dt(t):null},async list(i,e,t){let r=n.select().from(C).where(g(a(C.tenant_id,i),a(C.user_id,e))).orderBy(V(C.created_at)).$dynamic();return t&&(r=r.limit(t)),(await r).map(dt)},async update(i,e){const t={updated_at:new Date().toISOString()};return e.password!==void 0&&(t.password=e.password),e.algorithm!==void 0&&(t.algorithm=e.algorithm),e.is_current!==void 0&&(t.is_current=e.is_current?1:0),e.id?await n.update(C).set(t).where(g(a(C.tenant_id,i),a(C.id,e.id))):await n.update(C).set(t).where(g(a(C.tenant_id,i),a(C.user_id,e.user_id),a(C.is_current,1))),!0}}}function xs(n){return{async get(i){const e=await n.select().from(Ee).where(a(Ee.tenant_id,i)).get();return e?{universal_login_experience:e.universal_login_experience,identifier_first:!!e.identifier_first,password_first:!!e.password_first,webauthn_platform_first_factor:!!e.webauthn_platform_first_factor}:{universal_login_experience:"new",identifier_first:!0,password_first:!1,webauthn_platform_first_factor:!1}},async set(i,e){await n.insert(Ee).values({tenant_id:i,universal_login_experience:e.universal_login_experience,identifier_first:e.identifier_first,password_first:e.password_first,webauthn_platform_first_factor:e.webauthn_platform_first_factor}).onConflictDoUpdate({target:Ee.tenant_id,set:{universal_login_experience:e.universal_login_experience,identifier_first:e.identifier_first,password_first:e.password_first,webauthn_platform_first_factor:e.webauthn_platform_first_factor}})}}}function ct(n){const{tenant_id:i,created_at_ts:e,expires_at_ts:t,idle_expires_at_ts:r,last_exchanged_at_ts:o,device:l,resource_servers:_,rotating:u,...c}=n,d=Fe({created_at_ts:e,expires_at_ts:t,idle_expires_at_ts:r,last_exchanged_at_ts:o},["created_at_ts"],["expires_at_ts","idle_expires_at_ts","last_exchanged_at_ts"]);return z({...c,...d,rotating:!!u,device:x(l,{}),resource_servers:x(_,[])})}function $t(n,i){return Math.max(n??0,i??0)}function bs(n){return{async create(i,e){const t=Date.now(),r={id:e.id||ae(),tenant_id:i,client_id:e.client_id,login_id:e.login_id,user_id:e.user_id,device:JSON.stringify(e.device||{}),resource_servers:JSON.stringify(e.resource_servers||[]),rotating:e.rotating??!1,created_at_ts:t,expires_at_ts:j(e.expires_at),idle_expires_at_ts:j(e.idle_expires_at),last_exchanged_at_ts:j(e.last_exchanged_at)};await n.run(w`BEGIN`);try{await n.insert(T).values(r);const o=$t(r.expires_at_ts,r.idle_expires_at_ts);o>0&&r.login_id&&await n.update($).set({expires_at_ts:o,updated_at_ts:t}).where(g(a($.tenant_id,i),a($.id,r.login_id),we($.expires_at_ts,o))),await n.run(w`COMMIT`)}catch(o){throw await n.run(w`ROLLBACK`),o}return ct({...r,tenant_id:i})},async get(i,e){const t=await n.select().from(T).where(g(a(T.tenant_id,i),a(T.id,e))).get();return t?ct(t):null},async update(i,e,t){const r={};t.device!==void 0&&(r.device=JSON.stringify(t.device)),t.resource_servers!==void 0&&(r.resource_servers=JSON.stringify(t.resource_servers)),t.rotating!==void 0&&(r.rotating=t.rotating),t.expires_at!==void 0&&(r.expires_at_ts=j(t.expires_at)),t.idle_expires_at!==void 0&&(r.idle_expires_at_ts=j(t.idle_expires_at)),t.last_exchanged_at!==void 0&&(r.last_exchanged_at_ts=j(t.last_exchanged_at));const o=r.expires_at_ts!==void 0||r.idle_expires_at_ts!==void 0;await n.run(w`BEGIN`);try{const _=(await n.update(T).set(r).where(g(a(T.tenant_id,i),a(T.id,e))).returning()).length>0;if(_&&o){const u=await n.select({login_id:T.login_id,expires_at_ts:T.expires_at_ts,idle_expires_at_ts:T.idle_expires_at_ts}).from(T).where(g(a(T.tenant_id,i),a(T.id,e))).get();if(u!=null&&u.login_id){const c=$t(u.expires_at_ts,u.idle_expires_at_ts);c>0&&await n.update($).set({expires_at_ts:c,updated_at_ts:Date.now()}).where(g(a($.tenant_id,i),a($.id,u.login_id),we($.expires_at_ts,c)))}}return await n.run(w`COMMIT`),_}catch(l){throw await n.run(w`ROLLBACK`),l}},async list(i,e){const{page:t=0,per_page:r=50,include_totals:o=!1,sort:l,q:_}=e||{};let u=n.select().from(T).where(a(T.tenant_id,i)).$dynamic();if(_){const f=pe(T,_,["user_id"]);f&&(u=u.where(g(a(T.tenant_id,i),f)))}if(l!=null&&l.sort_by){const f=T[l.sort_by];f&&(u=u.orderBy(l.sort_order==="desc"?V(f):G(f)))}const d=(await u.offset(t*r).limit(r)).map(ct);if(!o)return{refresh_tokens:d};const[m]=await n.select({count:R()}).from(T).where(a(T.tenant_id,i));return{refresh_tokens:d,start:t*r,limit:r,length:Number((m==null?void 0:m.count)??0)}},async remove(i,e){return(await n.delete(T).where(g(a(T.tenant_id,i),a(T.id,e))).returning()).length>0}}}function Ds(){const{customAlphabet:n}=require("nanoid");return`api_${n("0123456789abcdefghijklmnopqrstuvwxyz",17)()}`}const xt=["skip_consent_for_verifiable_first_party_clients","allow_offline_access","is_system"],Pt=new Set(["id","tenant_id","identifier","name","scopes","signing_alg","signing_secret","token_lifetime","token_lifetime_for_web","skip_consent_for_verifiable_first_party_clients","allow_offline_access","verification_key","options","is_system","metadata","created_at","updated_at"]);function gt(n){const{tenant_id:i,verification_key:e,scopes:t,options:r,metadata:o,...l}=n,_={...l};_.scopes=x(t,[]),_.options=x(r,{}),_.metadata=x(o),e!==void 0&&(_.verificationKey=e);for(const u of xt)l[u]!==void 0&&l[u]!==null&&(_[u]=!!l[u]);return z(_)}function Os(n){return{async create(i,e){const t=new Date().toISOString(),o={id:e.id||Ds(),tenant_id:i,identifier:e.identifier,name:e.name,signing_alg:e.signing_alg,signing_secret:e.signing_secret,token_lifetime:e.token_lifetime,token_lifetime_for_web:e.token_lifetime_for_web,scopes:JSON.stringify(e.scopes||[]),options:JSON.stringify(e.options||{}),metadata:e.metadata?JSON.stringify(e.metadata):void 0,verification_key:e.verificationKey||e.verification_key,created_at:t,updated_at:t};for(const l of xt)e[l]!==void 0&&(o[l]=e[l]?1:0);return o.is_system===void 0&&(o.is_system=0),await n.insert(E).values(o),gt({...o,tenant_id:i})},async get(i,e){const t=await n.select().from(E).where(g(a(E.tenant_id,i),a(E.id,e))).get();return t?gt(t):null},async update(i,e,t){const r={updated_at:new Date().toISOString()};t.name!==void 0&&(r.name=t.name),t.identifier!==void 0&&(r.identifier=t.identifier),t.signing_alg!==void 0&&(r.signing_alg=t.signing_alg),t.signing_secret!==void 0&&(r.signing_secret=t.signing_secret),t.token_lifetime!==void 0&&(r.token_lifetime=t.token_lifetime),t.token_lifetime_for_web!==void 0&&(r.token_lifetime_for_web=t.token_lifetime_for_web),t.scopes!==void 0&&(r.scopes=JSON.stringify(t.scopes)),t.options!==void 0&&(r.options=w`json_patch(COALESCE(${E.options}, '{}'), ${JSON.stringify(t.options)})`),t.metadata!==void 0&&(r.metadata=JSON.stringify(t.metadata)),t.verificationKey!==void 0&&(r.verification_key=t.verificationKey);for(const l of xt)t[l]!==void 0&&(r[l]=t[l]?1:0);return(await n.update(E).set(r).where(g(a(E.tenant_id,i),a(E.id,e))).returning()).length>0},async list(i,e){const{page:t=0,per_page:r=50,include_totals:o=!1,sort:l,q:_}=e||{},u=Math.max(0,Math.floor(Number(t)||0)),c=Math.min(Math.max(1,Math.floor(Number(r)||50)),500),d=[a(E.tenant_id,i)];if(_){const A=_.match(/^([^:]+):(.+)$/);if(A){const[,W,H]=A,ke=W==null?void 0:W.startsWith("-"),qe=ke?W==null?void 0:W.substring(1):W;if(qe&&Pt.has(qe)&&!ke){const yr=E[qe];d.push(Ie(yr,`%${H}%`))}}}let m=n.select().from(E).where(g(...d)).$dynamic();if(l!=null&&l.sort_by&&Pt.has(l.sort_by)){const A=E[l.sort_by];m=m.orderBy(l.sort_order==="desc"?V(A):G(A))}const y=(await m.offset(u*c).limit(c)).map(gt);if(!o)return{resource_servers:y};const[N]=await n.select({count:R()}).from(E).where(g(...d));return{resource_servers:y,start:u*c,limit:c,length:Number((N==null?void 0:N.count)??0)}},async remove(i,e){return(await n.delete(E).where(g(a(E.tenant_id,i),a(E.id,e))).returning()).length>0}}}function ks(n){return{async assign(i,e,t){const r=new Date().toISOString();return await n.insert(le).values(t.map(o=>({tenant_id:i,role_id:e,resource_server_identifier:o.resource_server_identifier,permission_name:o.permission_name,created_at:r}))).onConflictDoNothing(),!0},async list(i,e,t){const r=await n.select({resource_server_identifier:le.resource_server_identifier,permission_name:le.permission_name,created_at:le.created_at}).from(le).where(g(a(le.tenant_id,i),a(le.role_id,e))).all(),o=[...new Set(r.map(_=>_.resource_server_identifier))],l=new Map;if(o.length>0){const _=await n.select({identifier:E.identifier,name:E.name}).from(E).where(g(a(E.tenant_id,i),Ne(E.identifier,o))).all();for(const u of _)l.set(u.identifier,u.name)}return r.map(_=>({..._,resource_server_name:l.get(_.resource_server_identifier)||_.resource_server_identifier}))},async remove(i,e,t){const r=t.map(l=>g(a(le.resource_server_identifier,l.resource_server_identifier),a(le.permission_name,l.permission_name)));return(await n.delete(le).where(g(a(le.tenant_id,i),a(le.role_id,e),de(...r))).returning()).length>0}}}function Is(n){return{async create(i,e,t,r){var o,l;try{await n.insert(_e).values({tenant_id:i,user_id:e,resource_server_identifier:t.resource_server_identifier,permission_name:t.permission_name,organization_id:r||"",created_at:new Date().toISOString()})}catch(_){if((o=_==null?void 0:_.message)!=null&&o.includes("UNIQUE constraint")||(l=_==null?void 0:_.message)!=null&&l.includes("SQLITE_CONSTRAINT_PRIMARYKEY"))return!0;throw _}return!0},async list(i,e,t,r){let o=[a(_e.tenant_id,i),a(_e.user_id,e)];r&&o.push(a(_e.organization_id,r));const l=await n.select().from(_e).where(g(...o)).all();return await Promise.all(l.map(async u=>{const c=await n.select({name:E.name}).from(E).where(g(a(E.tenant_id,i),a(E.identifier,u.resource_server_identifier))).get();return{resource_server_identifier:u.resource_server_identifier,permission_name:u.permission_name,resource_server_name:(c==null?void 0:c.name)||u.resource_server_identifier,organization_id:u.organization_id===""?void 0:u.organization_id}}))},async remove(i,e,t,r){return(await n.delete(_e).where(g(a(_e.tenant_id,i),a(_e.user_id,e),a(_e.resource_server_identifier,t.resource_server_identifier),a(_e.permission_name,t.permission_name),a(_e.organization_id,r||""))).returning()).length>0}}}function ft(n){const{tenant_id:i,is_system:e,metadata:t,...r}=n;return z({...r,is_system:e?!0:void 0,metadata:x(t)})}function zs(n){return{async create(i,e){const t=new Date().toISOString(),o={id:e.id||ae(),tenant_id:i,name:e.name,description:e.description,is_system:e.is_system?1:0,metadata:e.metadata?JSON.stringify(e.metadata):void 0,created_at:t,updated_at:t};return await n.insert(F).values(o),ft({...o,tenant_id:i})},async get(i,e){const t=await n.select().from(F).where(g(a(F.tenant_id,i),a(F.id,e))).get();return t?ft(t):null},async update(i,e,t){const r={updated_at:new Date().toISOString()};return t.name!==void 0&&(r.name=t.name),t.description!==void 0&&(r.description=t.description),t.is_system!==void 0&&(r.is_system=t.is_system?1:0),t.metadata!==void 0&&(r.metadata=JSON.stringify(t.metadata)),(await n.update(F).set(r).where(g(a(F.tenant_id,i),a(F.id,e))).returning()).length>0},async list(i,e){const{page:t=0,per_page:r=50,include_totals:o=!1,sort:l,q:_}=e||{},u=_?pe(F,_,["name"]):void 0,c=u?g(a(F.tenant_id,i),u):a(F.tenant_id,i);let d=n.select().from(F).where(c).$dynamic();if(l!=null&&l.sort_by){const N=F[l.sort_by];N&&(d=d.orderBy(l.sort_order==="desc"?V(N):G(N)))}const f=(await d.offset(t*r).limit(r)).map(ft);if(!o)return{roles:f};const[y]=await n.select({count:R()}).from(F).where(c);return{roles:f,start:t*r,limit:r,length:Number((y==null?void 0:y.count)??0)}},async remove(i,e){return(await n.delete(F).where(g(a(F.tenant_id,i),a(F.id,e))).returning()).length>0}}}const Ts=["created_at_ts","updated_at_ts"],qs=["expires_at_ts","idle_expires_at_ts","authenticated_at_ts","last_interaction_at_ts","used_at_ts","revoked_at_ts"];function ht(n){const{tenant_id:i,created_at_ts:e,updated_at_ts:t,expires_at_ts:r,idle_expires_at_ts:o,authenticated_at_ts:l,last_interaction_at_ts:_,used_at_ts:u,revoked_at_ts:c,device:d,clients:m,...f}=n,y=Fe({created_at_ts:e,updated_at_ts:t,expires_at_ts:r,idle_expires_at_ts:o,authenticated_at_ts:l,last_interaction_at_ts:_,used_at_ts:u,revoked_at_ts:c},[...Ts],[...qs]);return z({...f,...y,device:x(d,{}),clients:x(m,[])})}function Ls(n){return{async create(i,e){const t=Date.now(),r={id:e.id||ae(),tenant_id:i,user_id:e.user_id,login_session_id:e.login_session_id,device:JSON.stringify(e.device||{}),clients:JSON.stringify(e.clients||[]),created_at_ts:t,updated_at_ts:t,expires_at_ts:j(e.expires_at),idle_expires_at_ts:j(e.idle_expires_at),authenticated_at_ts:e.authenticated_at?j(e.authenticated_at):t,last_interaction_at_ts:e.last_interaction_at?j(e.last_interaction_at):t,used_at_ts:j(e.used_at),revoked_at_ts:j(e.revoked_at)};return await n.insert(B).values(r),ht({...r,tenant_id:i})},async get(i,e){const t=await n.select().from(B).where(g(a(B.tenant_id,i),a(B.id,e))).get();return t?ht(t):null},async update(i,e,t){const r={updated_at_ts:Date.now()};return t.user_id!==void 0&&(r.user_id=t.user_id),t.login_session_id!==void 0&&(r.login_session_id=t.login_session_id),t.device!==void 0&&(r.device=JSON.stringify(t.device)),t.clients!==void 0&&(r.clients=JSON.stringify(t.clients)),t.expires_at!==void 0&&(r.expires_at_ts=j(t.expires_at)),t.idle_expires_at!==void 0&&(r.idle_expires_at_ts=j(t.idle_expires_at)),t.authenticated_at!==void 0&&(r.authenticated_at_ts=j(t.authenticated_at)),t.last_interaction_at!==void 0&&(r.last_interaction_at_ts=j(t.last_interaction_at)),t.used_at!==void 0&&(r.used_at_ts=j(t.used_at)),t.revoked_at!==void 0&&(r.revoked_at_ts=j(t.revoked_at)),(await n.update(B).set(r).where(g(a(B.tenant_id,i),a(B.id,e))).returning()).length>0},async list(i,e){const{page:t=0,per_page:r=50,include_totals:o=!1,sort:l,q:_}=e||{},u=_?pe(B,_,["user_id"]):void 0,c=u?g(a(B.tenant_id,i),u):a(B.tenant_id,i);let d=n.select().from(B).where(c).$dynamic();if(l!=null&&l.sort_by){const N=B[l.sort_by];N&&(d=d.orderBy(l.sort_order==="desc"?V(N):G(N)))}const f=(await d.offset(t*r).limit(r)).map(ht);if(!o)return{sessions:f};const[y]=await n.select({count:R()}).from(B).where(c);return{sessions:f,start:t*r,limit:r,length:Number((y==null?void 0:y.count)??0)}},async remove(i,e){return(await n.delete(B).where(g(a(B.tenant_id,i),a(B.id,e))).returning()).length>0}}}const mr=["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","mfa"],pr=["allow_organization_name_in_authentication_api","customize_mfa_in_postlogin_action","pushed_authorization_requests_supported","authorization_response_iss_parameter_supported"];function Qt(n){const i={...n};for(const e of mr)typeof i[e]=="string"&&(i[e]=x(i[e]));for(const e of pr)i[e]!==void 0&&i[e]!==null&&(i[e]=i[e]===1);return z(i)}function Jt(n){const i={...n};Fr(n,mr,i);for(const e of pr)n[e]!==void 0&&(i[e]=n[e]?1:0);return gr(i)}function Es(n){return{async create(i){var r,o;const e={id:i.id||ae(),created_at:new Date().toISOString(),updated_at:new Date().toISOString(),...i},t=Jt(e);try{await n.insert(D).values(t)}catch(l){throw(r=l==null?void 0:l.message)!=null&&r.includes("UNIQUE constraint failed")||(o=l==null?void 0:l.message)!=null&&o.includes("duplicate key")||(l==null?void 0:l.code)==="SQLITE_CONSTRAINT"?new be(409,{message:`Tenant with ID '${e.id}' already exists`}):l}return e},async get(i){const e=await n.select().from(D).where(a(D.id,i)).get();return e?Qt(e):null},async list(i){const{page:e=0,per_page:t=50,include_totals:r=!1,sort:o,q:l}=i||{};let _=n.select().from(D).$dynamic();if(l){const m=pe(D,l,["friendly_name"]);m&&(_=_.where(m))}if(o!=null&&o.sort_by){const m=D[o.sort_by];m&&(_=_.orderBy(o.sort_order==="desc"?V(m):G(m)))}const c=(await _.offset(e*t).limit(t)).map(Qt);if(!r)return{tenants:c};const[d]=await n.select({count:R()}).from(D);return{tenants:c,start:e*t,limit:t,length:Number((d==null?void 0:d.count)??0)}},async update(i,e){const t=Jt({...e,id:i,updated_at:new Date().toISOString()});await n.update(D).set(t).where(a(D.id,i))},async remove(i){return(await n.delete(D).where(a(D.id,i)).returning()).length>0}}}const Cs=["colors","borders","fonts","page_background","widget"];function Ft(n){const{tenant_id:i,...e}=n,t=fr(e,Cs);return t.borders&&(t.borders.show_widget_shadow=!!t.borders.show_widget_shadow),t.fonts&&(t.fonts.links_bold=!!t.fonts.links_bold,t.fonts.subtitle_bold=!!t.fonts.subtitle_bold,t.fonts.title_bold=!!t.fonts.title_bold),z(t)}function As(n){return{async create(i,e,t){const r=new Date().toISOString(),o=t||ae(),_={...Pe(e),tenant_id:i,themeId:o,created_at:r,updated_at:r};return await n.insert(fe).values(_),Ft({..._,tenant_id:i})},async get(i,e){const t=await n.select().from(fe).where(g(a(fe.tenant_id,i),a(fe.themeId,e))).get();return t?Ft(t):null},async update(i,e,t){const r=Pe(t);return r.updated_at=new Date().toISOString(),await n.update(fe).set(r).where(g(a(fe.tenant_id,i),a(fe.themeId,e))),!0},async remove(i,e){return(await n.delete(fe).where(g(a(fe.tenant_id,i),a(fe.themeId,e))).returning()).length>0}}}function Bs(n){return{async get(i){const e=await n.select({body:ve.body}).from(ve).where(a(ve.tenant_id,i)).get();return e?{body:e.body}:null},async set(i,e){const t=Date.now();await n.insert(ve).values({tenant_id:i,body:e.body,created_at_ts:t,updated_at_ts:t}).onConflictDoUpdate({target:ve.tenant_id,set:{body:e.body,updated_at_ts:t}})},async delete(i){await n.delete(ve).where(a(ve.tenant_id,i))}}}function Ut(n,i){const e={connection:n.connection,provider:n.provider,user_id:n.user_id,isSocial:!!n.is_social};return i?e.isPrimary=!0:e.profileData={email:n.email,email_verified:!!n.email_verified,...typeof n.profileData=="string"?x(n.profileData,{}):{}},e}function mt(n,i=[]){const{tenant_id:e,app_metadata:t,user_metadata:r,address:o,email_verified:l,phone_verified:_,is_social:u,linked_to:c,profileData:d,...m}=n,f=Ut(n,!0),y=i.map(N=>Ut(N,!1));return z({...m,email:n.email||"",email_verified:!!l,phone_verified:_!=null?!!_:void 0,is_social:!!u,app_metadata:x(t,{}),user_metadata:x(r,{}),address:x(o),identities:[f,...y]})}function $s(n){const i=async(e,t)=>{var _,u;const r=new Date().toISOString(),o={user_id:t.user_id,tenant_id:e,email:t.email,given_name:t.given_name,family_name:t.family_name,nickname:t.nickname,name:t.name,picture:t.picture,tags:t.tags,phone_number:t.phone_number,phone_verified:t.phone_verified??!1,username:t.username,linked_to:t.linked_to,last_ip:t.last_ip,login_count:t.login_count??0,last_login:t.last_login,provider:t.provider,connection:t.connection,email_verified:t.email_verified??!1,is_social:t.is_social??!1,app_metadata:JSON.stringify(t.app_metadata||{}),user_metadata:JSON.stringify(t.user_metadata||{}),address:t.address?JSON.stringify(t.address):void 0,profileData:t.profileData?JSON.stringify(t.profileData):void 0,locale:t.locale,middle_name:t.middle_name,preferred_username:t.preferred_username,profile:t.profile,website:t.website,gender:t.gender,birthdate:t.birthdate,zoneinfo:t.zoneinfo,created_at:t.created_at||r,updated_at:t.updated_at||r},l=t.password?ae():void 0;try{if(t.password&&l){await n.run(w`BEGIN`);try{await n.insert(k).values(o),await n.insert(C).values({id:l,tenant_id:e,user_id:t.user_id,password:t.password.hash||t.password,algorithm:t.password.algorithm||"bcrypt",is_current:1,created_at:r,updated_at:r}),await n.run(w`COMMIT`)}catch(c){throw await n.run(w`ROLLBACK`),c}}else await n.insert(k).values(o)}catch(c){throw(_=c==null?void 0:c.message)!=null&&_.includes("UNIQUE constraint")||(u=c==null?void 0:c.message)!=null&&u.includes("AlreadyExists")?new be(409,{message:"User already exists"}):(console.error("User upsert failed:",c==null?void 0:c.code,c==null?void 0:c.message),new be(500,{message:"Internal server error"}))}return mt(o)};return{create:i,rawCreate:i,async get(e,t){const r=await n.select().from(k).where(g(a(k.tenant_id,e),a(k.user_id,t))).get();if(!r)return null;const o=await n.select().from(k).where(g(a(k.tenant_id,e),a(k.linked_to,t))).all();return mt(r,o)},async update(e,t,r){const o={updated_at:new Date().toISOString()},l=["email","given_name","family_name","nickname","name","picture","tags","phone_number","username","linked_to","last_ip","login_count","last_login","provider","connection","locale","middle_name","preferred_username","profile","website","gender","birthdate","zoneinfo"];for(const u of l)r[u]!==void 0&&(o[u]=r[u]);return r.email_verified!==void 0&&(o.email_verified=r.email_verified),r.phone_verified!==void 0&&(o.phone_verified=r.phone_verified),r.is_social!==void 0&&(o.is_social=r.is_social),r.app_metadata!==void 0&&(o.app_metadata=JSON.stringify(r.app_metadata)),r.user_metadata!==void 0&&(o.user_metadata=JSON.stringify(r.user_metadata)),r.address!==void 0&&(o.address=JSON.stringify(r.address)),r.profileData!==void 0&&(o.profileData=JSON.stringify(r.profileData)),(await n.update(k).set(o).where(g(a(k.tenant_id,e),a(k.user_id,t))).returning()).length>0},async list(e,t){const{page:r=0,per_page:o=50,include_totals:l=!1,sort:_,q:u}=t||{},c=[a(k.tenant_id,e),ye(k.linked_to)];if(u){const H=pe(k,u,["email","name","nickname","username"]);H&&c.push(H)}const d=g(...c);let m=n.select().from(k).where(d).$dynamic();if(_!=null&&_.sort_by){const H=k[_.sort_by];H&&(m=m.orderBy(_.sort_order==="desc"?V(H):G(H)))}const f=await m.offset(r*o).limit(o),y=f.map(H=>H.user_id);let N=[];y.length>0&&(N=await n.select().from(k).where(g(a(k.tenant_id,e),Ne(k.linked_to,y))));const A=f.map(H=>{const ke=N.filter(qe=>qe.linked_to===H.user_id);return mt(H,ke)});if(!l)return{users:A};const[W]=await n.select({count:R()}).from(k).where(d);return{users:A,start:r*o,limit:o,length:Number((W==null?void 0:W.count)??0)}},async remove(e,t){await n.run(w`BEGIN`);try{const r=await n.select({user_id:k.user_id}).from(k).where(g(a(k.tenant_id,e),a(k.linked_to,t))),o=[t,...r.map(_=>_.user_id)];await n.delete(U).where(g(a(U.tenant_id,e),Ne(U.user_id,o))),await n.delete(C).where(g(a(C.tenant_id,e),Ne(C.user_id,o))),await n.delete(k).where(g(a(k.tenant_id,e),a(k.linked_to,t)));const l=await n.delete(k).where(g(a(k.tenant_id,e),a(k.user_id,t))).returning();return await n.run(w`COMMIT`),l.length>0}catch(r){throw await n.run(w`ROLLBACK`),r}},async unlink(e,t,r,o){const l=`${r}|${o}`;return(await n.update(k).set({linked_to:null}).where(g(a(k.tenant_id,e),a(k.user_id,l),a(k.linked_to,t))).returning()).length>0}}}function Ps(n){return{async create(i,e,t,r){var o,l;try{await n.insert(ue).values({tenant_id:i,user_id:e,role_id:t,organization_id:r||"",created_at:new Date().toISOString()})}catch(_){if((o=_==null?void 0:_.message)!=null&&o.includes("UNIQUE constraint")||(l=_==null?void 0:_.message)!=null&&l.includes("SQLITE_CONSTRAINT_PRIMARYKEY"))return!0;throw _}return!0},async list(i,e,t,r){let o=[a(ue.tenant_id,i),a(ue.user_id,e)];r&&o.push(a(ue.organization_id,r));const l=await n.select({role_id:ue.role_id}).from(ue).where(g(...o)).all();return l.length===0?[]:(await Promise.all(l.map(async u=>{const c=await n.select().from(F).where(g(a(F.tenant_id,i),a(F.id,u.role_id))).get();if(!c)return null;const{tenant_id:d,is_system:m,metadata:f,...y}=c;return z({...y,is_system:m?!0:void 0,metadata:x(f)})}))).filter(Boolean)},async remove(i,e,t,r){return(await n.delete(ue).where(g(a(ue.tenant_id,i),a(ue.user_id,e),a(ue.role_id,t),a(ue.organization_id,r||""))).returning()).length>0}}}function Qs(n){return{async create(i,e){var u,c;const t=new Date().toISOString(),o={id:e.id||ae(),tenant_id:i,user_id:e.user_id,organization_id:e.organization_id,created_at:t,updated_at:t};try{await n.insert(Q).values(o)}catch(d){throw(u=d==null?void 0:d.message)!=null&&u.includes("UNIQUE constraint")||(c=d==null?void 0:d.message)!=null&&c.includes("duplicate key")?new be(409,{message:"User organization already exists"}):d}const{tenant_id:l,..._}=o;return _},async get(i,e){const t=await n.select().from(Q).where(g(a(Q.tenant_id,i),a(Q.id,e))).get();if(!t)return null;const{tenant_id:r,...o}=t;return o},async update(i,e,t){const r={updated_at:new Date().toISOString()};return t.user_id!==void 0&&(r.user_id=t.user_id),t.organization_id!==void 0&&(r.organization_id=t.organization_id),(await n.update(Q).set(r).where(g(a(Q.tenant_id,i),a(Q.id,e))).returning()).length>0},async list(i,e){const{page:t=0,per_page:r=50,include_totals:o=!1,q:l}=e||{},_=a(Q.tenant_id,i);let u=_;if(l){const f=pe(Q,l,["user_id","organization_id"]);f&&(u=g(_,f))}const d=(await n.select().from(Q).where(u).offset(t*r).limit(r)).map(f=>{const{tenant_id:y,...N}=f;return N});if(!o)return{userOrganizations:d};const[m]=await n.select({count:R()}).from(Q).where(u);return{userOrganizations:d,start:t*r,limit:r,length:Number((m==null?void 0:m.count)??0)}},async listUserOrganizations(i,e,t){const{page:r=0,per_page:o=50,include_totals:l=!1}=t||{},_=await n.select().from(Q).where(g(a(Q.tenant_id,i),a(Q.user_id,e))).offset(r*o).limit(o).all(),c=(await Promise.all(_.map(async m=>{const f=await n.select().from(L).where(g(a(L.tenant_id,i),a(L.id,m.organization_id))).get();if(!f)return null;const{tenant_id:y,branding:N,metadata:A,enabled_connections:W,token_quota:H,...ke}=f;return z({...ke,branding:x(N,{}),metadata:x(A,{}),enabled_connections:x(W,[]),token_quota:x(H,{})})}))).filter(Boolean);if(!l)return{organizations:c};const[d]=await n.select({count:R()}).from(Q).where(g(a(Q.tenant_id,i),a(Q.user_id,e)));return{organizations:c,start:r*o,limit:o,length:Number((d==null?void 0:d.count)??0)}},async remove(i,e){return(await n.delete(Q).where(g(a(Q.tenant_id,i),a(Q.id,e))).returning()).length>0}}}const Kt=["s","seacft","seccft","sepft","sertft","ssa"],Js=["pwd_leak","signup_pwd_leak","reset_pwd_leak"];function Fs(n){return{async getDaily(i,e){const t=new Date,r=(e==null?void 0:e.from)||new Date(t.getTime()-30*24*60*60*1e3).toISOString().split("T")[0],o=(e==null?void 0:e.to)||t.toISOString().split("T")[0];return(await n.select({date:w`substr(${q.date}, 1, 10)`.as("date"),logins:w`SUM(CASE WHEN ${q.type} IN (${w.join(Kt.map(_=>w`${_}`),w`, `)}) THEN 1 ELSE 0 END)`.as("logins"),signups:w`SUM(CASE WHEN ${q.type} = 'ss' THEN 1 ELSE 0 END)`.as("signups"),leaked_passwords:w`SUM(CASE WHEN ${q.type} IN (${w.join(Js.map(_=>w`${_}`),w`, `)}) THEN 1 ELSE 0 END)`.as("leaked_passwords")}).from(q).where(g(a(q.tenant_id,i),Ge(q.date,r),Oe(q.date,`${o}T23:59:59.999Z`))).groupBy(w`substr(${q.date}, 1, 10)`).orderBy(w`substr(${q.date}, 1, 10)`).all()).map(_=>({date:_.date,logins:Number(_.logins)||0,signups:Number(_.signups)||0,leaked_passwords:Number(_.leaked_passwords)||0,created_at:new Date().toISOString(),updated_at:new Date().toISOString()}))},async getActiveUsers(i){const e=new Date(Date.now()-2592e6).toISOString(),[t]=await n.select({count:w`COUNT(DISTINCT ${q.user_id})`.as("count")}).from(q).where(g(a(q.tenant_id,i),Ge(q.date,e),w`${q.type} IN (${w.join(Kt.map(r=>w`${r}`),w`, `)})`));return Number(t==null?void 0:t.count)||0}}}function jt(n){return{...n,payload:x(n.payload,{})}}function Us(n){return{async create(i,e){const t=ae(),r=new Date().toISOString();return await n.insert(b).values({id:t,tenant_id:i,event_type:e.event_type,log_type:e.log_type,aggregate_type:e.aggregate_type,aggregate_id:e.aggregate_id,payload:JSON.stringify({...e,id:t}),created_at:r,processed_at:null,retry_count:0,next_retry_at:null,error:null,claimed_by:null,claim_expires_at:null}),t},async getByIds(i){return i.length===0?[]:(await n.select().from(b).where(Ne(b.id,i)).all()).map(jt)},async getUnprocessed(i){const e=new Date().toISOString();return(await n.select().from(b).where(g(ye(b.processed_at),de(ye(b.next_retry_at),Oe(b.next_retry_at,e)),de(ye(b.claimed_by),Oe(b.claim_expires_at,e)))).orderBy(b.created_at,b.id).limit(i).all()).map(jt)},async claimEvents(i,e,t){if(i.length===0)return[];const r=new Date().toISOString(),o=new Date(Date.now()+t).toISOString();return await n.update(b).set({claimed_by:e,claim_expires_at:o}).where(g(Ne(b.id,i),ye(b.processed_at),de(ye(b.claimed_by),Oe(b.claim_expires_at,r)))),(await n.select({id:b.id}).from(b).where(g(Ne(b.id,i),a(b.claimed_by,e))).all()).map(_=>_.id)},async markProcessed(i){i.length!==0&&await n.update(b).set({processed_at:new Date().toISOString()}).where(Ne(b.id,i))},async markRetry(i,e,t){await n.update(b).set({error:e,next_retry_at:t,retry_count:w`${b.retry_count} + 1`,claimed_by:null,claim_expires_at:null}).where(a(b.id,i))},async cleanup(i){return(await n.delete(b).where(g(w`${b.processed_at} IS NOT NULL`,Oe(b.processed_at,i))).returning()).length},async deadLetter(i,e){const t=new Date().toISOString();await n.update(b).set({processed_at:t,dead_lettered_at:t,final_error:e}).where(a(b.id,i))},async listFailed(i,e={}){const{page:t=0,per_page:r=50,include_totals:o=!1}=e,_=(await n.select().from(b).where(g(a(b.tenant_id,i),Ve(b.dead_lettered_at))).orderBy(V(b.dead_lettered_at),G(b.id)).offset(t*r).limit(r).all()).map(c=>({...x(c.payload,{}),id:c.id,created_at:c.created_at,processed_at:c.processed_at,retry_count:c.retry_count,next_retry_at:c.next_retry_at,error:c.error,dead_lettered_at:c.dead_lettered_at,final_error:c.final_error}));let u=_.length;if(o){const[c]=await n.select({total:R()}).from(b).where(g(a(b.tenant_id,i),Ve(b.dead_lettered_at)));u=Number((c==null?void 0:c.total)??_.length)}return{events:_,start:t*r,limit:r,length:u}},async replay(i,e){return(await n.update(b).set({processed_at:null,dead_lettered_at:null,final_error:null,retry_count:0,next_retry_at:null,error:null}).where(g(a(b.id,i),a(b.tenant_id,e),Ve(b.dead_lettered_at))).returning()).length>0}}}const Ks=7*24*60*60*1e3;function js(n){return async i=>{const e=Date.now()-Ks;try{let t=[de(we(T.expires_at_ts,e),we(T.idle_expires_at_ts,e))];i!=null&&i.tenant_id&&t.push(a(T.tenant_id,i.tenant_id)),await n.delete(T).where(g(...t)),t=[de(we(B.expires_at_ts,e),we(B.idle_expires_at_ts,e))],i!=null&&i.tenant_id&&t.push(a(B.tenant_id,i.tenant_id)),i!=null&&i.user_id&&t.push(a(B.user_id,i.user_id)),await n.delete(B).where(g(...t)),t=[we($.expires_at_ts,e)],i!=null&&i.tenant_id&&t.push(a($.tenant_id,i.tenant_id)),await n.delete($).where(g(...t))}catch(t){console.error("Session cleanup error:",t)}}}function Ms(n,i={useTransactions:!0}){const e={actions:Ir(),branding:jr(n),clients:Mr(n),clientConnections:Rr(n),clientGrants:Xr(n),codes:Zr(n),connections:ts(n),customDomains:ns(n),customText:is(n),emailProviders:rs(n),flows:ss(n),forms:os(n),hookCode:_s(n),hooks:ds(n),invites:gs(n),keys:fs(n),loginSessions:ms(n),logs:ps(n),authenticationMethods:ws(n),organizations:vs(n),passwords:Ss(n),promptSettings:xs(n),refreshTokens:bs(n),resourceServers:Os(n),rolePermissions:ks(n),userPermissions:Is(n),roles:zs(n),sessions:Ls(n),sessionCleanup:js(n),tenants:Es(n),themes:As(n),universalLoginTemplates:Bs(n),users:$s(n),userRoles:Ps(n),userOrganizations:Qs(n),stats:Fs(n),outbox:Us(n),async transaction(t){if(i.useTransactions===!1)return t(e);await n.run(w`BEGIN`);try{const r=await t(e);return await n.run(w`COMMIT`),r}catch(r){throw await n.run(w`ROLLBACK`),r}}};return e}exports.default=Ms;exports.sqlite=Jr;
|