@authhero/drizzle 0.34.1 → 0.35.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/drizzle-adapter.cjs +3 -3
- package/dist/drizzle-adapter.mjs +2983 -2889
- package/drizzle/0002_outbox_dead_letter_and_registration_completed.sql +7 -0
- package/drizzle/0003_outbox_dead_lettered_tenant_index.sql +1 -0
- package/package.json +2 -2
- package/src/schema/sqlite/outbox.ts +10 -0
- package/src/schema/sqlite/users.ts +1 -0
package/dist/drizzle-adapter.cjs
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
"use strict";var pr=Object.defineProperty;var yr=(i,t,e)=>t in i?pr(i,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):i[t]=e;var f=(i,t,e)=>yr(i,typeof t!="symbol"?t+"":t,e);Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const v=Symbol.for("drizzle:entityKind");function H(i,t){if(!i||typeof i!="object")return!1;if(i instanceof t)return!0;if(!Object.prototype.hasOwnProperty.call(t,v))throw new Error(`Class "${t.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(i).constructor;if(e)for(;e;){if(v in e&&e[v]===t[v])return!0;e=Object.getPrototypeOf(e)}return!1}var Kt;Kt=v;class Pe{constructor(t,e){f(this,"name");f(this,"keyAsName");f(this,"primary");f(this,"notNull");f(this,"default");f(this,"defaultFn");f(this,"onUpdateFn");f(this,"hasDefault");f(this,"isUnique");f(this,"uniqueName");f(this,"uniqueType");f(this,"dataType");f(this,"columnType");f(this,"enumValues");f(this,"generated");f(this,"generatedIdentity");f(this,"config");this.table=t,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(t){return t}mapToDriverValue(t){return t}shouldDisableInsert(){return this.config.generated!==void 0&&this.config.generated.type!=="byDefault"}}f(Pe,Kt,"Column");var jt;jt=v;class Ii{constructor(t,e,n){f(this,"config");f(this,"$default",this.$defaultFn);f(this,"$onUpdate",this.$onUpdateFn);this.config={name:t,keyAsName:t==="",notNull:!1,default:void 0,hasDefault:!1,primaryKey:!1,isUnique:!1,uniqueName:void 0,uniqueType:void 0,dataType:e,columnType:n,generated:void 0}}$type(){return this}notNull(){return this.config.notNull=!0,this}default(t){return this.config.default=t,this.config.hasDefault=!0,this}$defaultFn(t){return this.config.defaultFn=t,this.config.hasDefault=!0,this}$onUpdateFn(t){return this.config.onUpdateFn=t,this.config.hasDefault=!0,this}primaryKey(){return this.config.primaryKey=!0,this.config.notNull=!0,this}setName(t){this.config.name===""&&(this.config.name=t)}}f(Ii,jt,"ColumnBuilder");const Ie=Symbol.for("drizzle:Name"),It=Symbol.for("drizzle:isPgEnum");function wr(i){return!!i&&typeof i=="function"&&It in i&&i[It]===!0}var Mt;Mt=v;class bt{constructor(t,e,n,s=!1,o=[]){this._={brand:"Subquery",sql:t,selectedFields:e,alias:n,isWith:s,usedTables:o}}}f(bt,Mt,"Subquery");const Nr={startActiveSpan(i,t){return t()}},Ee=Symbol.for("drizzle:ViewBaseConfig"),Xe=Symbol.for("drizzle:Schema"),Tt=Symbol.for("drizzle:Columns"),qt=Symbol.for("drizzle:ExtraConfigColumns"),Ze=Symbol.for("drizzle:OriginalName"),et=Symbol.for("drizzle:BaseName"),Me=Symbol.for("drizzle:IsAlias"),Lt=Symbol.for("drizzle:ExtraConfigBuilder"),vr=Symbol.for("drizzle:IsDrizzleTable");var Vt,Rt,Wt,Ht,Gt,Yt,Xt,Zt,en,tn;tn=v,en=Ie,Zt=Ze,Xt=Xe,Yt=Tt,Gt=qt,Ht=et,Wt=Me,Rt=vr,Vt=Lt;class M{constructor(t,e,n){f(this,en);f(this,Zt);f(this,Xt);f(this,Yt);f(this,Gt);f(this,Ht);f(this,Wt,!1);f(this,Rt,!0);f(this,Vt);this[Ie]=this[Ze]=t,this[Xe]=e,this[et]=n}}f(M,tn,"Table"),f(M,"Symbol",{Name:Ie,Schema:Xe,OriginalName:Ze,Columns:Tt,ExtraConfigColumns:qt,BaseName:et,IsAlias:Me,ExtraConfigBuilder:Lt});function Ti(i){return i!=null&&typeof i.getSQL=="function"}function Sr(i){var e;const t={sql:"",params:[]};for(const n of i)t.sql+=n.sql,t.params.push(...n.params),(e=n.typings)!=null&&e.length&&(t.typings||(t.typings=[]),t.typings.push(...n.typings));return t}var nn;nn=v;class G{constructor(t){f(this,"value");this.value=Array.isArray(t)?t:[t]}getSQL(){return new J([this])}}f(G,nn,"StringChunk");var rn;rn=v;const De=class De{constructor(t){f(this,"decoder",qi);f(this,"shouldInlineParams",!1);f(this,"usedTables",[]);this.queryChunks=t;for(const e of t)if(H(e,M)){const n=e[M.Symbol.Schema];this.usedTables.push(n===void 0?e[M.Symbol.Name]:n+"."+e[M.Symbol.Name])}}append(t){return this.queryChunks.push(...t.queryChunks),this}toQuery(t){return Nr.startActiveSpan("drizzle.buildSQL",e=>{const n=this.buildQueryFromSourceParams(this.queryChunks,t);return e==null||e.setAttributes({"drizzle.query.text":n.sql,"drizzle.query.params":JSON.stringify(n.params)}),n})}buildQueryFromSourceParams(t,e){const n=Object.assign({},e,{inlineParams:e.inlineParams||this.shouldInlineParams,paramStartIndex:e.paramStartIndex||{value:0}}),{casing:s,escapeName:o,escapeParam:l,prepareTyping:_,inlineParams:d,paramStartIndex:c}=n;return Sr(t.map(u=>{var h;if(H(u,G))return{sql:u.value.join(""),params:[]};if(H(u,Ve))return{sql:o(u.value),params:[]};if(u===void 0)return{sql:"",params:[]};if(Array.isArray(u)){const g=[new G("(")];for(const[y,w]of u.entries())g.push(w),y<u.length-1&&g.push(new G(", "));return g.push(new G(")")),this.buildQueryFromSourceParams(g,n)}if(H(u,De))return this.buildQueryFromSourceParams(u.queryChunks,{...n,inlineParams:d||u.shouldInlineParams});if(H(u,M)){const g=u[M.Symbol.Schema],y=u[M.Symbol.Name];return{sql:g===void 0||u[Me]?o(y):o(g)+"."+o(y),params:[]}}if(H(u,Pe)){const g=s.getColumnCasing(u);if(e.invokeSource==="indexes")return{sql:o(g),params:[]};const y=u.table[M.Symbol.Schema];return{sql:u.table[Me]||y===void 0?o(u.table[M.Symbol.Name])+"."+o(g):o(y)+"."+o(u.table[M.Symbol.Name])+"."+o(g),params:[]}}if(H(u,xt)){const g=u[Ee].schema,y=u[Ee].name;return{sql:g===void 0||u[Ee].isAlias?o(y):o(g)+"."+o(y),params:[]}}if(H(u,Ae)){if(H(u.value,Ce))return{sql:l(c.value++,u),params:[u],typings:["none"]};const g=u.value===null?null:u.encoder.mapToDriverValue(u.value);if(H(g,De))return this.buildQueryFromSourceParams([g],n);if(d)return{sql:this.mapInlineParam(g,n),params:[]};let y=["none"];return _&&(y=[_(u.encoder)]),{sql:l(c.value++,g),params:[g],typings:y}}return H(u,Ce)?{sql:l(c.value++,u),params:[u],typings:["none"]}:H(u,De.Aliased)&&u.fieldAlias!==void 0?{sql:o(u.fieldAlias),params:[]}:H(u,bt)?u._.isWith?{sql:o(u._.alias),params:[]}:this.buildQueryFromSourceParams([new G("("),u._.sql,new G(") "),new Ve(u._.alias)],n):wr(u)?u.schema?{sql:o(u.schema)+"."+o(u.enumName),params:[]}:{sql:o(u.enumName),params:[]}:Ti(u)?(h=u.shouldOmitSQLParens)!=null&&h.call(u)?this.buildQueryFromSourceParams([u.getSQL()],n):this.buildQueryFromSourceParams([new G("("),u.getSQL(),new G(")")],n):d?{sql:this.mapInlineParam(u,n),params:[]}:{sql:l(c.value++,u),params:[u],typings:["none"]}}))}mapInlineParam(t,{escapeString:e}){if(t===null)return"null";if(typeof t=="number"||typeof t=="boolean")return t.toString();if(typeof t=="string")return e(t);if(typeof t=="object"){const n=t.toString();return e(n==="[object Object]"?JSON.stringify(t):n)}throw new Error("Unexpected param value: "+t)}getSQL(){return this}as(t){return t===void 0?this:new De.Aliased(this,t)}mapWith(t){return this.decoder=typeof t=="function"?{mapFromDriverValue:t}:t,this}inlineParams(){return this.shouldInlineParams=!0,this}if(t){return t?this:void 0}};f(De,rn,"SQL");let J=De;var sn;sn=v;class Ve{constructor(t){f(this,"brand");this.value=t}getSQL(){return new J([this])}}f(Ve,sn,"Name");function br(i){return typeof i=="object"&&i!==null&&"mapToDriverValue"in i&&typeof i.mapToDriverValue=="function"}const qi={mapFromDriverValue:i=>i},Li={mapToDriverValue:i=>i};({...qi,...Li});var on;on=v;class Ae{constructor(t,e=Li){f(this,"brand");this.value=t,this.encoder=e}getSQL(){return new J([this])}}f(Ae,on,"Param");function N(i,...t){const e=[];(t.length>0||i.length>0&&i[0]!=="")&&e.push(new G(i[0]));for(const[n,s]of t.entries())e.push(s,new G(i[n+1]));return new J(e)}(i=>{function t(){return new J([])}i.empty=t;function e(d){return new J(d)}i.fromList=e;function n(d){return new J([new G(d)])}i.raw=n;function s(d,c){const u=[];for(const[h,g]of d.entries())h>0&&c!==void 0&&u.push(c),u.push(g);return new J(u)}i.join=s;function o(d){return new Ve(d)}i.identifier=o;function l(d){return new Ce(d)}i.placeholder=l;function _(d,c){return new Ae(d,c)}i.param=_})(N||(N={}));(i=>{var e;e=v;const n=class n{constructor(o,l){f(this,"isSelectionField",!1);this.sql=o,this.fieldAlias=l}getSQL(){return this.sql}clone(){return new n(this.sql,this.fieldAlias)}};f(n,e,"SQL.Aliased");let t=n;i.Aliased=t})(J||(J={}));var an;an=v;class Ce{constructor(t){this.name=t}getSQL(){return new J([this])}}f(Ce,an,"Placeholder");const xr=Symbol.for("drizzle:IsDrizzleView");var ln,_n,un;un=v,_n=Ee,ln=xr;class xt{constructor({name:t,schema:e,selectedFields:n,query:s}){f(this,_n);f(this,ln,!0);this[Ee]={name:t,originalName:t,schema:e,selectedFields:n,query:s,isExisting:!s,isAlias:!1}}getSQL(){return new J([this])}}f(xt,un,"View");Pe.prototype.getSQL=function(){return new J([this])};M.prototype.getSQL=function(){return new J([this])};bt.prototype.getSQL=function(){return new J([this])};function Qe(i,t){return{name:typeof i=="string"&&i.length>0?i:"",config:typeof i=="object"?i:t}}const Ei=typeof TextDecoder>"u"?null:new TextDecoder;function Se(i,t){return br(t)&&!Ti(i)&&!H(i,Ae)&&!H(i,Ce)&&!H(i,Pe)&&!H(i,M)&&!H(i,xt)?new Ae(i,t):i}const a=(i,t)=>N`${i} = ${Se(t,i)}`,Dr=(i,t)=>N`${i} <> ${Se(t,i)}`;function m(...i){const t=i.filter(e=>e!==void 0);if(t.length!==0)return t.length===1?new J(t):new J([new G("("),N.join(t,new G(" and ")),new G(")")])}function ue(...i){const t=i.filter(e=>e!==void 0);if(t.length!==0)return t.length===1?new J(t):new J([new G("("),N.join(t,new G(" or ")),new G(")")])}const Re=(i,t)=>N`${i} > ${Se(t,i)}`,We=(i,t)=>N`${i} >= ${Se(t,i)}`,xe=(i,t)=>N`${i} < ${Se(t,i)}`,Oe=(i,t)=>N`${i} <= ${Se(t,i)}`;function we(i,t){return Array.isArray(t)?t.length===0?N`false`:N`${i} in ${t.map(e=>Se(e,i))}`:N`${i} in ${Se(t,i)}`}function pe(i){return N`${i} is null`}function Or(i){return N`${i} is not null`}function ze(i,t){return N`${i} like ${t}`}function Y(i){return N`${i} asc`}function V(i){return N`${i} desc`}function R(i){return N`count(${N.raw("*")})`.mapWith(Number)}var dn;dn=v;class Ai{constructor(t,e){f(this,"reference");f(this,"_onUpdate");f(this,"_onDelete");this.reference=()=>{const{name:n,columns:s,foreignColumns:o}=t();return{name:n,columns:s,foreignTable:o[0].table,foreignColumns:o}},e&&(this._onUpdate=e.onUpdate,this._onDelete=e.onDelete)}onUpdate(t){return this._onUpdate=t,this}onDelete(t){return this._onDelete=t,this}build(t){return new Ci(t,this)}}f(Ai,dn,"SQLiteForeignKeyBuilder");var cn;cn=v;class Ci{constructor(t,e){f(this,"reference");f(this,"onUpdate");f(this,"onDelete");this.table=t,this.reference=e.reference,this.onUpdate=e._onUpdate,this.onDelete=e._onDelete}getName(){const{name:t,columns:e,foreignColumns:n}=this.reference(),s=e.map(_=>_.name),o=n.map(_=>_.name),l=[this.table[Ie],...s,n[0].table[Ie],...o];return t??`${l.join("_")}_fk`}}f(Ci,cn,"SQLiteForeignKey");function kr(i,t){return`${i[Ie]}_${t.join("_")}_unique`}var gn,fn;class de extends(fn=Ii,gn=v,fn){constructor(){super(...arguments);f(this,"foreignKeyConfigs",[])}references(e,n={}){return this.foreignKeyConfigs.push({ref:e,actions:n}),this}unique(e){return this.config.isUnique=!0,this.config.uniqueName=e,this}generatedAlwaysAs(e,n){return this.config.generated={as:e,type:"always",mode:(n==null?void 0:n.mode)??"virtual"},this}buildForeignKeys(e,n){return this.foreignKeyConfigs.map(({ref:s,actions:o})=>((l,_)=>{const d=new Ai(()=>{const c=l();return{columns:[e],foreignColumns:[c]}});return _.onUpdate&&d.onUpdate(_.onUpdate),_.onDelete&&d.onDelete(_.onDelete),d.build(n)})(s,o))}}f(de,gn,"SQLiteColumnBuilder");var mn,hn;class ce extends(hn=Pe,mn=v,hn){constructor(t,e){e.uniqueName||(e.uniqueName=kr(t,[e.name])),super(t,e),this.table=t}}f(ce,mn,"SQLiteColumn");var pn,yn;class $i extends(yn=de,pn=v,yn){constructor(t){super(t,"bigint","SQLiteBigInt")}build(t){return new Bi(t,this.config)}}f($i,pn,"SQLiteBigIntBuilder");var wn,Nn;class Bi extends(Nn=ce,wn=v,Nn){getSQLType(){return"blob"}mapFromDriverValue(t){if(typeof Buffer<"u"&&Buffer.from){const e=Buffer.isBuffer(t)?t:t instanceof ArrayBuffer?Buffer.from(t):t.buffer?Buffer.from(t.buffer,t.byteOffset,t.byteLength):Buffer.from(t);return BigInt(e.toString("utf8"))}return BigInt(Ei.decode(t))}mapToDriverValue(t){return Buffer.from(t.toString())}}f(Bi,wn,"SQLiteBigInt");var vn,Sn;class Pi extends(Sn=de,vn=v,Sn){constructor(t){super(t,"json","SQLiteBlobJson")}build(t){return new Qi(t,this.config)}}f(Pi,vn,"SQLiteBlobJsonBuilder");var bn,xn;class Qi extends(xn=ce,bn=v,xn){getSQLType(){return"blob"}mapFromDriverValue(t){if(typeof Buffer<"u"&&Buffer.from){const e=Buffer.isBuffer(t)?t:t instanceof ArrayBuffer?Buffer.from(t):t.buffer?Buffer.from(t.buffer,t.byteOffset,t.byteLength):Buffer.from(t);return JSON.parse(e.toString("utf8"))}return JSON.parse(Ei.decode(t))}mapToDriverValue(t){return Buffer.from(JSON.stringify(t))}}f(Qi,bn,"SQLiteBlobJson");var Dn,On;class Ji extends(On=de,Dn=v,On){constructor(t){super(t,"buffer","SQLiteBlobBuffer")}build(t){return new Fi(t,this.config)}}f(Ji,Dn,"SQLiteBlobBufferBuilder");var kn,zn;class Fi extends(zn=ce,kn=v,zn){mapFromDriverValue(t){return Buffer.isBuffer(t)?t:Buffer.from(t)}getSQLType(){return"blob"}}f(Fi,kn,"SQLiteBlobBuffer");function zr(i,t){const{name:e,config:n}=Qe(i,t);return(n==null?void 0:n.mode)==="json"?new Pi(e):(n==null?void 0:n.mode)==="bigint"?new $i(e):new Ji(e)}var In,Tn;class Ui extends(Tn=de,In=v,Tn){constructor(t,e,n){super(t,"custom","SQLiteCustomColumn"),this.config.fieldConfig=e,this.config.customTypeParams=n}build(t){return new Ki(t,this.config)}}f(Ui,In,"SQLiteCustomColumnBuilder");var qn,Ln;class Ki extends(Ln=ce,qn=v,Ln){constructor(e,n){super(e,n);f(this,"sqlName");f(this,"mapTo");f(this,"mapFrom");this.sqlName=n.customTypeParams.dataType(n.fieldConfig),this.mapTo=n.customTypeParams.toDriver,this.mapFrom=n.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}}f(Ki,qn,"SQLiteCustomColumn");function Ir(i){return(t,e)=>{const{name:n,config:s}=Qe(t,e);return new Ui(n,s,i)}}var En,An;class He extends(An=de,En=v,An){constructor(t,e,n){super(t,e,n),this.config.autoIncrement=!1}primaryKey(t){return t!=null&&t.autoIncrement&&(this.config.autoIncrement=!0),this.config.hasDefault=!0,super.primaryKey()}}f(He,En,"SQLiteBaseIntegerBuilder");var Cn,$n;class Ge extends($n=ce,Cn=v,$n){constructor(){super(...arguments);f(this,"autoIncrement",this.config.autoIncrement)}getSQLType(){return"integer"}}f(Ge,Cn,"SQLiteBaseInteger");var Bn,Pn;class ji extends(Pn=He,Bn=v,Pn){constructor(t){super(t,"number","SQLiteInteger")}build(t){return new Mi(t,this.config)}}f(ji,Bn,"SQLiteIntegerBuilder");var Qn,Jn;class Mi extends(Jn=Ge,Qn=v,Jn){}f(Mi,Qn,"SQLiteInteger");var Fn,Un;class Vi extends(Un=He,Fn=v,Un){constructor(t,e){super(t,"date","SQLiteTimestamp"),this.config.mode=e}defaultNow(){return this.default(N`(cast((julianday('now') - 2440587.5)*86400000 as integer))`)}build(t){return new Ri(t,this.config)}}f(Vi,Fn,"SQLiteTimestampBuilder");var Kn,jn;class Ri extends(jn=Ge,Kn=v,jn){constructor(){super(...arguments);f(this,"mode",this.config.mode)}mapFromDriverValue(e){return this.config.mode==="timestamp"?new Date(e*1e3):new Date(e)}mapToDriverValue(e){const n=e.getTime();return this.config.mode==="timestamp"?Math.floor(n/1e3):n}}f(Ri,Kn,"SQLiteTimestamp");var Mn,Vn;class Wi extends(Vn=He,Mn=v,Vn){constructor(t,e){super(t,"boolean","SQLiteBoolean"),this.config.mode=e}build(t){return new Hi(t,this.config)}}f(Wi,Mn,"SQLiteBooleanBuilder");var Rn,Wn;class Hi extends(Wn=Ge,Rn=v,Wn){constructor(){super(...arguments);f(this,"mode",this.config.mode)}mapFromDriverValue(e){return Number(e)===1}mapToDriverValue(e){return e?1:0}}f(Hi,Rn,"SQLiteBoolean");function p(i,t){const{name:e,config:n}=Qe(i,t);return(n==null?void 0:n.mode)==="timestamp"||(n==null?void 0:n.mode)==="timestamp_ms"?new Vi(e,n.mode):(n==null?void 0:n.mode)==="boolean"?new Wi(e,n.mode):new ji(e)}var Hn,Gn;class Gi extends(Gn=de,Hn=v,Gn){constructor(t){super(t,"string","SQLiteNumeric")}build(t){return new Yi(t,this.config)}}f(Gi,Hn,"SQLiteNumericBuilder");var Yn,Xn;class Yi extends(Xn=ce,Yn=v,Xn){mapFromDriverValue(t){return typeof t=="string"?t:String(t)}getSQLType(){return"numeric"}}f(Yi,Yn,"SQLiteNumeric");var Zn,ei;class Xi extends(ei=de,Zn=v,ei){constructor(t){super(t,"number","SQLiteNumericNumber")}build(t){return new Zi(t,this.config)}}f(Xi,Zn,"SQLiteNumericNumberBuilder");var ti,ni;class Zi extends(ni=ce,ti=v,ni){constructor(){super(...arguments);f(this,"mapToDriverValue",String)}mapFromDriverValue(e){return typeof e=="number"?e:Number(e)}getSQLType(){return"numeric"}}f(Zi,ti,"SQLiteNumericNumber");var ii,ri;class er extends(ri=de,ii=v,ri){constructor(t){super(t,"bigint","SQLiteNumericBigInt")}build(t){return new tr(t,this.config)}}f(er,ii,"SQLiteNumericBigIntBuilder");var si,oi;class tr extends(oi=ce,si=v,oi){constructor(){super(...arguments);f(this,"mapFromDriverValue",BigInt);f(this,"mapToDriverValue",String)}getSQLType(){return"numeric"}}f(tr,si,"SQLiteNumericBigInt");function Tr(i,t){const{name:e,config:n}=Qe(i,t),s=n==null?void 0:n.mode;return s==="number"?new Xi(e):s==="bigint"?new er(e):new Gi(e)}var ai,li;class nr extends(li=de,ai=v,li){constructor(t){super(t,"number","SQLiteReal")}build(t){return new ir(t,this.config)}}f(nr,ai,"SQLiteRealBuilder");var _i,ui;class ir extends(ui=ce,_i=v,ui){getSQLType(){return"real"}}f(ir,_i,"SQLiteReal");function qr(i){return new nr(i??"")}var di,ci;class rr extends(ci=de,di=v,ci){constructor(t,e){super(t,"string","SQLiteText"),this.config.enumValues=e.enum,this.config.length=e.length}build(t){return new sr(t,this.config)}}f(rr,di,"SQLiteTextBuilder");var gi,fi;class sr extends(fi=ce,gi=v,fi){constructor(e,n){super(e,n);f(this,"enumValues",this.config.enumValues);f(this,"length",this.config.length)}getSQLType(){return`text${this.config.length?`(${this.config.length})`:""}`}}f(sr,gi,"SQLiteText");var mi,hi;class or extends(hi=de,mi=v,hi){constructor(t){super(t,"json","SQLiteTextJson")}build(t){return new ar(t,this.config)}}f(or,mi,"SQLiteTextJsonBuilder");var pi,yi;class ar extends(yi=ce,pi=v,yi){getSQLType(){return"text"}mapFromDriverValue(t){return JSON.parse(t)}mapToDriverValue(t){return JSON.stringify(t)}}f(ar,pi,"SQLiteTextJson");function r(i,t={}){const{name:e,config:n}=Qe(i,t);return n.mode==="json"?new or(e):new rr(e,n)}function Lr(){return{blob:zr,customType:Ir,integer:p,numeric:Tr,real:qr,text:r}}const ht=Symbol.for("drizzle:SQLiteInlineForeignKeys");var wi,Ni,vi,Si,bi;class $e extends(bi=M,Si=v,vi=M.Symbol.Columns,Ni=ht,wi=M.Symbol.ExtraConfigBuilder,bi){constructor(){super(...arguments);f(this,vi);f(this,Ni,[]);f(this,wi)}}f($e,Si,"SQLiteTable"),f($e,"Symbol",Object.assign({},M.Symbol,{InlineForeignKeys:ht}));function Er(i,t,e,n,s=i){const o=new $e(i,n,s),l=typeof t=="function"?t(Lr()):t,_=Object.fromEntries(Object.entries(l).map(([c,u])=>{const h=u;h.setName(c);const g=h.build(o);return o[ht].push(...h.buildForeignKeys(g,o)),[c,g]})),d=Object.assign(o,_);return d[M.Symbol.Columns]=_,d[M.Symbol.ExtraConfigColumns]=_,e&&(d[$e.Symbol.ExtraConfigBuilder]=e),d}const D=(i,t,e)=>Er(i,t,e);var xi;xi=v;class Dt{constructor(t,e){this.name=t,this.unique=e}on(...t){return new lr(this.name,t,this.unique)}}f(Dt,xi,"SQLiteIndexBuilderOn");var Di;Di=v;class lr{constructor(t,e,n){f(this,"config");this.config={name:t,columns:e,unique:n,where:void 0}}where(t){return this.config.where=t,this}build(t){return new _r(this.config,t)}}f(lr,Di,"SQLiteIndexBuilder");var Oi;Oi=v;class _r{constructor(t,e){f(this,"config");this.config={...t,table:e}}}f(_r,Oi,"SQLiteIndex");function S(i){return new Dt(i,!1)}function Te(i){return new Dt(i,!0)}function re(...i){return i[0].columns?new pt(i[0].columns,i[0].name):new pt(i)}var ki;ki=v;class pt{constructor(t,e){f(this,"columns");f(this,"name");this.columns=t,this.name=e}build(t){return new ur(t,this.columns,this.name)}}f(pt,ki,"SQLitePrimaryKeyBuilder");var zi;zi=v;class ur{constructor(t,e,n){f(this,"columns");f(this,"name");this.table=t,this.columns=e,this.name=n}getName(){return this.name??`${this.table[$e.Symbol.Name]}_${this.columns.map(t=>t.name).join("_")}_pk`}}f(ur,zi,"SQLitePrimaryKey");const x=D("tenants",{id:r("id",{length:191}).primaryKey(),name:r("name",{length:255}),audience:r("audience",{length:255}),sender_email:r("sender_email",{length:255}),sender_name:r("sender_name",{length:255}),language:r("language",{length:255}),logo:r("logo",{length:255}),primary_color:r("primary_color",{length:255}),secondary_color:r("secondary_color",{length:255}),created_at:r("created_at",{length:35}).notNull(),updated_at:r("updated_at",{length:35}).notNull(),support_url:r("support_url",{length:255}),idle_session_lifetime:p("idle_session_lifetime"),session_lifetime:p("session_lifetime"),session_cookie:r("session_cookie"),allowed_logout_urls:r("allowed_logout_urls"),ephemeral_session_lifetime:p("ephemeral_session_lifetime"),idle_ephemeral_session_lifetime:p("idle_ephemeral_session_lifetime"),default_redirection_uri:r("default_redirection_uri"),enabled_locales:r("enabled_locales"),default_directory:r("default_directory",{length:255}),error_page:r("error_page"),flags:r("flags"),friendly_name:r("friendly_name",{length:255}),picture_url:r("picture_url"),support_email:r("support_email",{length:255}),sandbox_version:r("sandbox_version",{length:50}),sandbox_versions_available:r("sandbox_versions_available"),legacy_sandbox_version:r("legacy_sandbox_version",{length:50}),change_password:r("change_password"),guardian_mfa_page:r("guardian_mfa_page"),device_flow:r("device_flow"),default_token_quota:r("default_token_quota"),default_audience:r("default_audience",{length:255}),default_organization:r("default_organization",{length:255}),sessions:r("sessions"),oidc_logout:r("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:r("acr_values_supported"),mtls:r("mtls"),pushed_authorization_requests_supported:p("pushed_authorization_requests_supported"),authorization_response_iss_parameter_supported:p("authorization_response_iss_parameter_supported")}),k=D("users",{user_id:r("user_id",{length:255}).notNull(),tenant_id:r("tenant_id",{length:191}).notNull().references(()=>x.id,{onDelete:"cascade"}),email:r("email",{length:255}),given_name:r("given_name",{length:255}),family_name:r("family_name",{length:255}),nickname:r("nickname",{length:255}),name:r("name",{length:255}),picture:r("picture",{length:2083}),tags:r("tags",{length:255}),phone_number:r("phone_number",{length:17}),phone_verified:p("phone_verified",{mode:"boolean"}),username:r("username",{length:128}),created_at:r("created_at",{length:35}).notNull(),updated_at:r("updated_at",{length:35}).notNull(),linked_to:r("linked_to",{length:255}),last_ip:r("last_ip",{length:255}),login_count:p("login_count").notNull(),last_login:r("last_login",{length:255}),provider:r("provider",{length:255}).notNull(),connection:r("connection",{length:255}),email_verified:p("email_verified",{mode:"boolean"}).notNull(),is_social:p("is_social",{mode:"boolean"}).notNull(),app_metadata:r("app_metadata",{length:4096}).notNull().default("{}"),user_metadata:r("user_metadata").notNull().default("{}"),profileData:r("profileData",{length:2048}),locale:r("locale",{length:255}),middle_name:r("middle_name",{length:100}),preferred_username:r("preferred_username",{length:255}),profile:r("profile"),website:r("website"),gender:r("gender",{length:50}),birthdate:r("birthdate",{length:10}),zoneinfo:r("zoneinfo",{length:100}),address:r("address")},i=>[re({columns:[i.user_id,i.tenant_id],name:"users_tenants"}),Te("unique_email_provider").on(i.email,i.provider,i.tenant_id),Te("unique_phone_provider").on(i.phone_number,i.provider,i.tenant_id),Te("unique_username_provider").on(i.username,i.provider,i.tenant_id),S("users_email_index").on(i.email),S("users_linked_to_index").on(i.linked_to),S("users_name_index").on(i.name),S("users_phone_tenant_provider_index").on(i.tenant_id,i.phone_number,i.provider)]),C=D("passwords",{id:r("id",{length:21}).primaryKey(),tenant_id:r("tenant_id",{length:191}).notNull().references(()=>x.id,{onDelete:"cascade"}),user_id:r("user_id",{length:255}).notNull(),created_at:r("created_at",{length:35}).notNull(),updated_at:r("updated_at",{length:35}).notNull(),password:r("password",{length:255}).notNull(),algorithm:r("algorithm",{length:16}).notNull().default("bcrypt"),is_current:p("is_current").notNull().default(1)}),B=D("sessions",{id:r("id",{length:21}).notNull(),tenant_id:r("tenant_id",{length:191}).notNull().references(()=>x.id,{onDelete:"cascade"}),user_id:r("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:r("device").notNull(),clients:r("clients").notNull(),login_session_id:r("login_session_id",{length:21})},i=>[re({columns:[i.tenant_id,i.id],name:"sessions_pk"}),S("IDX_sessions_login_session_id").on(i.login_session_id),S("idx_sessions_user_id").on(i.tenant_id,i.user_id),S("idx_sessions_expires_at_ts").on(i.expires_at_ts)]),$=D("refresh_tokens",{id:r("id",{length:21}).notNull(),tenant_id:r("tenant_id",{length:191}).notNull().references(()=>x.id,{onDelete:"cascade"}),client_id:r("client_id",{length:191}).notNull(),login_id:r("login_id",{length:21}).notNull(),user_id:r("user_id",{length:255}),resource_servers:r("resource_servers").notNull(),device:r("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")},i=>[re({columns:[i.tenant_id,i.id],name:"refresh_tokens_pk"}),S("idx_refresh_tokens_user_id").on(i.tenant_id,i.user_id),S("idx_refresh_tokens_login_id").on(i.login_id),S("idx_refresh_tokens_expires_at_ts").on(i.expires_at_ts)]),se=D("login_sessions",{id:r("id",{length:21}).notNull(),tenant_id:r("tenant_id",{length:191}).notNull().references(()=>x.id,{onDelete:"cascade"}),session_id:r("session_id",{length:21}),csrf_token:r("csrf_token",{length:21}).notNull(),authParams_client_id:r("authParams_client_id",{length:191}).notNull(),authParams_vendor_id:r("authParams_vendor_id",{length:255}),authParams_username:r("authParams_username",{length:255}),authParams_response_type:r("authParams_response_type",{length:255}),authParams_response_mode:r("authParams_response_mode",{length:255}),authParams_audience:r("authParams_audience",{length:255}),authParams_scope:r("authParams_scope"),authParams_state:r("authParams_state"),authParams_nonce:r("authParams_nonce",{length:255}),authParams_code_challenge_method:r("authParams_code_challenge_method",{length:255}),authParams_code_challenge:r("authParams_code_challenge",{length:255}),authParams_redirect_uri:r("authParams_redirect_uri"),authParams_organization:r("authParams_organization",{length:255}),authParams_prompt:r("authParams_prompt",{length:32}),authParams_act_as:r("authParams_act_as",{length:256}),authParams_ui_locales:r("authParams_ui_locales",{length:32}),authorization_url:r("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:r("ip",{length:39}),useragent:r("useragent"),auth0Client:r("auth0Client",{length:255}),state:r("state",{length:50}).notNull().default("pending"),state_data:r("state_data"),failure_reason:r("failure_reason"),user_id:r("user_id",{length:255}),auth_connection:r("auth_connection",{length:255})},i=>[re({columns:[i.tenant_id,i.id],name:"login_sessions_pk"}),S("login_sessions_id_index").on(i.id),S("login_sessions_state_idx").on(i.state),S("login_sessions_state_updated_idx").on(i.state,i.updated_at_ts),S("login_sessions_tenant_user_idx").on(i.tenant_id,i.user_id),S("idx_login_sessions_expires_at_ts").on(i.expires_at_ts)]),P=D("codes",{code_id:r("code_id",{length:191}).notNull(),tenant_id:r("tenant_id",{length:191}).notNull().references(()=>x.id,{onDelete:"cascade"}),user_id:r("user_id",{length:255}),login_id:r("login_id",{length:255}),connection_id:r("connection_id",{length:255}),code_type:r("code_type",{length:255}).notNull(),created_at:r("created_at",{length:35}).notNull(),expires_at:r("expires_at",{length:35}).notNull(),used_at:r("used_at",{length:35}),code_verifier:r("code_verifier",{length:128}),code_challenge:r("code_challenge",{length:128}),code_challenge_method:r("code_challenge_method",{length:5}),redirect_uri:r("redirect_uri",{length:1024}),nonce:r("nonce",{length:1024}),state:r("state",{length:2048})},i=>[re({columns:[i.code_id,i.code_type],name:"PK_codes_code_id_code_type"}),S("codes_expires_at_index").on(i.expires_at)]),Ar=D("authentication_codes",{tenant_id:r("tenant_id",{length:191}).notNull().references(()=>x.id,{onDelete:"cascade"}),code:r("code",{length:255}).primaryKey(),client_id:r("client_id",{length:255}).notNull(),user_id:r("user_id",{length:255}).notNull(),nonce:r("nonce",{length:255}),state:r("state",{length:8192}),scope:r("scope",{length:1024}),response_type:r("response_type",{length:256}),response_mode:r("response_mode",{length:256}),redirect_uri:r("redirect_uri",{length:1024}),created_at:r("created_at",{length:35}).notNull(),expires_at:r("expires_at",{length:35}).notNull(),used_at:r("used_at",{length:35})}),Cr=D("otps",{tenant_id:r("tenant_id",{length:191}).notNull().references(()=>x.id,{onDelete:"cascade"}),id:r("id",{length:255}).primaryKey(),client_id:r("client_id",{length:255}).notNull(),code:r("code",{length:255}).notNull(),email:r("email",{length:255}).notNull(),user_id:r("user_id",{length:255}),send:r("send",{length:255}),nonce:r("nonce",{length:255}),state:r("state",{length:1024}),scope:r("scope",{length:1024}),response_type:r("response_type",{length:256}),response_mode:r("response_mode",{length:256}),redirect_uri:r("redirect_uri",{length:1024}),created_at:r("created_at",{length:35}).notNull(),expires_at:r("expires_at",{length:35}).notNull(),used_at:r("used_at",{length:35}),audience:r("audience",{length:255}),ip:r("ip",{length:64})},i=>[S("otps_email_index").on(i.email),S("otps_expires_at_index").on(i.expires_at)]),$r=D("tickets",{tenant_id:r("tenant_id",{length:191}).notNull().references(()=>x.id,{onDelete:"cascade"}),id:r("id",{length:255}).primaryKey(),client_id:r("client_id",{length:255}).notNull(),email:r("email",{length:255}).notNull(),nonce:r("nonce",{length:255}),state:r("state",{length:1024}),scope:r("scope",{length:1024}),response_type:r("response_type",{length:256}),response_mode:r("response_mode",{length:256}),redirect_uri:r("redirect_uri",{length:1024}),created_at:r("created_at",{length:35}).notNull(),expires_at:r("expires_at",{length:35}).notNull(),used_at:r("used_at",{length:35})}),O=D("clients",{client_id:r("client_id",{length:191}).notNull(),tenant_id:r("tenant_id",{length:191}).notNull().references(()=>x.id,{onDelete:"cascade"}),name:r("name",{length:255}).notNull(),description:r("description",{length:140}),global:p("global").notNull().default(0),client_secret:r("client_secret",{length:255}),app_type:r("app_type",{length:64}).default("regular_web"),logo_uri:r("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:r("callbacks").notNull(),allowed_origins:r("allowed_origins").notNull(),web_origins:r("web_origins").notNull(),client_aliases:r("client_aliases").notNull(),allowed_clients:r("allowed_clients").notNull(),allowed_logout_urls:r("allowed_logout_urls").notNull(),session_transfer:r("session_transfer").notNull(),oidc_logout:r("oidc_logout").notNull(),grant_types:r("grant_types").notNull(),jwt_configuration:r("jwt_configuration").notNull(),signing_keys:r("signing_keys").notNull(),encryption_key:r("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:r("cross_origin_loc",{length:2083}),custom_login_page_on:p("custom_login_page_on").notNull().default(0),custom_login_page:r("custom_login_page"),custom_login_page_preview:r("custom_login_page_preview"),form_template:r("form_template"),addons:r("addons").notNull(),token_endpoint_auth_method:r("token_endpoint_auth_method",{length:64}).default("client_secret_basic"),client_metadata:r("client_metadata").notNull(),mobile:r("mobile").notNull(),initiate_login_uri:r("initiate_login_uri",{length:2083}),native_social_login:r("native_social_login").notNull(),refresh_token:r("refresh_token").notNull(),default_organization:r("default_organization").notNull(),organization_usage:r("organization_usage",{length:32}).default("deny"),organization_require_behavior:r("organization_require_behavior",{length:32}).default("no_prompt"),client_authentication_methods:r("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:r("signed_request_object").notNull(),compliance_level:r("compliance_level",{length:64}),par_request_expiry:p("par_request_expiry"),token_quota:r("token_quota").notNull(),created_at:r("created_at",{length:35}).notNull(),updated_at:r("updated_at",{length:35}).notNull(),connections:r("connections").notNull().default("[]")},i=>[re({columns:[i.tenant_id,i.client_id],name:"clients_tenant_id_client_id"})]),W=D("client_grants",{id:r("id",{length:21}).notNull(),tenant_id:r("tenant_id",{length:191}).notNull().references(()=>x.id,{onDelete:"cascade"}),client_id:r("client_id",{length:191}).notNull(),audience:r("audience",{length:191}).notNull(),scope:r("scope").default("[]"),organization_usage:r("organization_usage",{length:32}),allow_any_organization:p("allow_any_organization").default(0),is_system:p("is_system").default(0),subject_type:r("subject_type",{length:32}),authorization_details_types:r("authorization_details_types").default("[]"),created_at:r("created_at",{length:35}).notNull(),updated_at:r("updated_at",{length:35}).notNull()},i=>[re({columns:[i.tenant_id,i.id],name:"pk_client_grants"}),S("idx_client_grants_audience").on(i.audience)]),K=D("connections",{id:r("id",{length:255}).notNull(),tenant_id:r("tenant_id",{length:191}).notNull().references(()=>x.id,{onDelete:"cascade"}),name:r("name",{length:255}).notNull(),response_type:r("response_type",{length:255}),response_mode:r("response_mode",{length:255}),strategy:r("strategy",{length:64}),options:r("options",{length:8192}).notNull().default("{}"),created_at:r("created_at",{length:35}).notNull(),updated_at:r("updated_at",{length:35}).notNull(),display_name:r("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:r("metadata",{length:4096})},i=>[re({columns:[i.tenant_id,i.id]}),S("connections_tenant_id_index").on(i.tenant_id),Te("connections_id_unique").on(i.id)]),ie=D("custom_domains",{custom_domain_id:r("custom_domain_id",{length:256}).primaryKey(),tenant_id:r("tenant_id",{length:191}).notNull().references(()=>x.id,{onDelete:"cascade"}),domain:r("domain",{length:255}).notNull(),primary:p("primary",{mode:"boolean"}).notNull(),status:r("status",{length:50}).notNull(),type:r("type",{length:50}).notNull(),origin_domain_name:r("origin_domain_name",{length:255}),verification:r("verification",{length:2048}),custom_client_ip_header:r("custom_client_ip_header",{length:50}),tls_policy:r("tls_policy",{length:50}),domain_metadata:r("domain_metadata",{length:2048}),created_at:r("created_at",{length:35}).notNull(),updated_at:r("updated_at",{length:35}).notNull()},i=>[Te("custom_domains_domain_unique").on(i.domain)]),Br=D("domains",{id:r("id",{length:255}).primaryKey(),tenant_id:r("tenant_id",{length:191}).notNull().references(()=>x.id,{onDelete:"cascade"}),domain:r("domain",{length:255}).notNull(),email_service:r("email_service",{length:255}),email_api_key:r("email_api_key",{length:255}),dkim_private_key:r("dkim_private_key",{length:2048}),dkim_public_key:r("dkim_public_key",{length:2048}),created_at:r("created_at",{length:35}).notNull(),updated_at:r("updated_at",{length:35}).notNull()}),L=D("organizations",{id:r("id",{length:21}).primaryKey(),tenant_id:r("tenant_id",{length:191}).notNull(),name:r("name",{length:256}).notNull(),display_name:r("display_name",{length:256}),branding:r("branding"),metadata:r("metadata"),enabled_connections:r("enabled_connections"),token_quota:r("token_quota"),created_at:r("created_at",{length:35}).notNull(),updated_at:r("updated_at",{length:35}).notNull()},i=>[S("idx_organizations_tenant_id").on(i.tenant_id)]),Q=D("user_organizations",{id:r("id",{length:21}).primaryKey(),tenant_id:r("tenant_id",{length:191}).notNull(),user_id:r("user_id",{length:191}).notNull(),organization_id:r("organization_id",{length:21}).notNull(),created_at:r("created_at",{length:35}).notNull(),updated_at:r("updated_at",{length:35}).notNull()},i=>[Te("user_organizations_unique").on(i.tenant_id,i.user_id,i.organization_id),S("idx_user_organizations_tenant_id").on(i.tenant_id),S("idx_user_organizations_user_id").on(i.user_id),S("idx_user_organizations_organization_id").on(i.organization_id)]),ee=D("invites",{id:r("id",{length:21}).primaryKey(),tenant_id:r("tenant_id",{length:191}).notNull(),organization_id:r("organization_id",{length:21}).notNull(),inviter:r("inviter").notNull(),invitee:r("invitee").notNull(),client_id:r("client_id",{length:191}).notNull(),connection_id:r("connection_id",{length:21}),invitation_url:r("invitation_url").notNull(),created_at:r("created_at",{length:35}).notNull(),expires_at:r("expires_at",{length:35}).notNull(),app_metadata:r("app_metadata"),user_metadata:r("user_metadata"),roles:r("roles"),ticket_id:r("ticket_id",{length:191}),ttl_sec:p("ttl_sec"),send_invitation_email:p("send_invitation_email")},i=>[S("idx_invites_tenant_id").on(i.tenant_id),S("idx_invites_organization_id").on(i.organization_id),S("idx_invites_expires_at").on(i.expires_at),S("idx_invites_tenant_created").on(i.tenant_id,i.created_at)]),F=D("roles",{id:r("id",{length:21}).notNull(),tenant_id:r("tenant_id",{length:191}).notNull(),name:r("name",{length:50}).notNull(),description:r("description",{length:255}),is_system:p("is_system").notNull().default(0),metadata:r("metadata",{length:4096}),created_at:r("created_at",{length:35}).notNull(),updated_at:r("updated_at",{length:35}).notNull()},i=>[re({columns:[i.tenant_id,i.id],name:"roles_pk"})]),ae=D("role_permissions",{tenant_id:r("tenant_id",{length:191}).notNull(),role_id:r("role_id",{length:21}).notNull(),resource_server_identifier:r("resource_server_identifier",{length:191}).notNull(),permission_name:r("permission_name",{length:191}).notNull(),created_at:r("created_at",{length:35}).notNull()},i=>[re({columns:[i.tenant_id,i.role_id,i.resource_server_identifier,i.permission_name],name:"role_permissions_pk"}),S("role_permissions_role_fk").on(i.tenant_id,i.role_id),S("role_permissions_permission_fk").on(i.tenant_id,i.resource_server_identifier,i.permission_name)]),le=D("user_permissions",{tenant_id:r("tenant_id",{length:191}).notNull(),user_id:r("user_id",{length:191}).notNull(),resource_server_identifier:r("resource_server_identifier",{length:191}).notNull(),permission_name:r("permission_name",{length:191}).notNull(),organization_id:r("organization_id",{length:21}).notNull().default(""),created_at:r("created_at",{length:35}).notNull()},i=>[re({columns:[i.tenant_id,i.user_id,i.resource_server_identifier,i.permission_name,i.organization_id],name:"user_permissions_pk"}),S("user_permissions_user_fk").on(i.tenant_id,i.user_id),S("user_permissions_permission_fk").on(i.tenant_id,i.resource_server_identifier,i.permission_name),S("user_permissions_organization_fk").on(i.organization_id)]),_e=D("user_roles",{tenant_id:r("tenant_id",{length:191}).notNull(),user_id:r("user_id",{length:191}).notNull(),role_id:r("role_id",{length:21}).notNull(),organization_id:r("organization_id",{length:191}).notNull().default(""),created_at:r("created_at",{length:35}).notNull()},i=>[re({columns:[i.tenant_id,i.user_id,i.role_id,i.organization_id],name:"user_roles_pk"}),S("user_roles_user_fk").on(i.tenant_id,i.user_id),S("user_roles_role_fk").on(i.tenant_id,i.role_id),S("user_roles_organization_fk").on(i.organization_id)]),E=D("resource_servers",{id:r("id",{length:21}).notNull(),tenant_id:r("tenant_id",{length:191}).notNull(),identifier:r("identifier",{length:191}).notNull(),name:r("name",{length:255}).notNull(),scopes:r("scopes",{length:4096}),signing_alg:r("signing_alg",{length:64}),signing_secret:r("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:r("verification_key",{length:4096}),options:r("options",{length:4096}),is_system:p("is_system").notNull().default(0),metadata:r("metadata",{length:4096}),created_at:r("created_at",{length:35}).notNull(),updated_at:r("updated_at",{length:35}).notNull()},i=>[re({columns:[i.tenant_id,i.id],name:"resource_servers_pk"})]),qe=D("branding",{tenant_id:r("tenant_id",{length:191}).primaryKey().references(()=>x.id,{onDelete:"cascade"}),logo_url:r("logo_url",{length:512}),favicon_url:r("favicon_url",{length:512}),font_url:r("font_url",{length:512}),colors_primary:r("colors_primary",{length:8}),colors_page_background_type:r("colors_page_background_type",{length:32}),colors_page_background_start:r("colors_page_background_start",{length:8}),colors_page_background_end:r("colors_page_background_end",{length:8}),colors_page_background_angle_dev:p("colors_page_background_angle_dev")}),Ne=D("universal_login_templates",{tenant_id:r("tenant_id",{length:191}).primaryKey().references(()=>x.id,{onDelete:"cascade"}),body:r("body").notNull(),created_at_ts:p("created_at_ts").notNull(),updated_at_ts:p("updated_at_ts").notNull()}),ge=D("themes",{tenant_id:r("tenant_id",{length:191}).notNull().references(()=>x.id,{onDelete:"cascade"}),themeId:r("themeId",{length:255}).notNull(),displayName:r("displayName",{length:255}).notNull(),colors_primary_button_label:r("colors_primary_button_label",{length:24}).notNull(),colors_primary_button:r("colors_primary_button",{length:24}).notNull(),colors_secondary_button_border:r("colors_secondary_button_border",{length:24}).notNull(),colors_secondary_button_label:r("colors_secondary_button_label",{length:24}).notNull(),colors_base_focus_color:r("colors_base_focus_color",{length:24}).notNull(),colors_base_hover_color:r("colors_base_hover_color",{length:24}).notNull(),colors_body_text:r("colors_body_text",{length:24}).notNull(),colors_captcha_widget_theme:r("colors_captcha_widget_theme",{length:24}).notNull(),colors_error:r("colors_error",{length:24}).notNull(),colors_header:r("colors_header",{length:24}).notNull(),colors_icons:r("colors_icons",{length:24}).notNull(),colors_input_background:r("colors_input_background",{length:24}).notNull(),colors_input_border:r("colors_input_border",{length:24}).notNull(),colors_input_filled_text:r("colors_input_filled_text",{length:24}).notNull(),colors_input_labels_placeholders:r("colors_input_labels_placeholders",{length:24}).notNull(),colors_links_focused_components:r("colors_links_focused_components",{length:24}).notNull(),colors_success:r("colors_success",{length:24}).notNull(),colors_widget_background:r("colors_widget_background",{length:24}).notNull(),colors_widget_border:r("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:r("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:r("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:r("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:r("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:r("page_background_background_color",{length:24}).notNull(),page_background_background_image_url:r("page_background_background_image_url",{length:255}).notNull(),page_background_page_layout:r("page_background_page_layout",{length:24}).notNull(),widget_header_text_alignment:r("widget_header_text_alignment",{length:24}).notNull(),widget_logo_height:p("widget_logo_height").notNull(),widget_logo_position:r("widget_logo_position",{length:24}).notNull(),widget_logo_url:r("widget_logo_url",{length:255}).notNull(),widget_social_buttons_layout:r("widget_social_buttons_layout",{length:24}).notNull(),created_at:r("created_at",{length:35}).notNull(),updated_at:r("updated_at",{length:35}).notNull()},i=>[re({columns:[i.tenant_id,i.themeId],name:"themes_pkey"}),S("themes_tenant_id_idx").on(i.tenant_id)]),te=D("forms",{id:r("id",{length:255}).primaryKey(),name:r("name",{length:255}).notNull(),tenant_id:r("tenant_id",{length:191}).notNull().references(()=>x.id,{onDelete:"cascade"}),messages:r("messages",{length:255}),languages:r("languages",{length:255}),translations:r("translations",{length:4096}),nodes:r("nodes",{length:4096}),start:r("start",{length:255}),ending:r("ending",{length:255}),style:r("style",{length:1042}),created_at:r("created_at",{length:35}).notNull(),updated_at:r("updated_at",{length:35}).notNull()},i=>[S("forms_tenant_id_idx").on(i.tenant_id)]),ne=D("flows",{id:r("id",{length:24}).primaryKey(),tenant_id:r("tenant_id",{length:191}).notNull().references(()=>x.id,{onDelete:"cascade"}),name:r("name",{length:150}).notNull(),actions:r("actions"),created_at:r("created_at",{length:35}).notNull(),updated_at:r("updated_at",{length:35}).notNull()},i=>[S("flows_tenant_id_idx").on(i.tenant_id)]),Le=D("prompt_settings",{tenant_id:r("tenant_id",{length:191}).primaryKey(),universal_login_experience:r("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=D("email_providers",{tenant_id:r("tenant_id",{length:191}).primaryKey(),name:r("name",{length:255}).notNull(),enabled:p("enabled",{mode:"boolean"}).notNull(),default_from_address:r("default_from_address",{length:255}),credentials:r("credentials",{length:2048}).notNull().default("{}"),settings:r("settings",{length:2048}).notNull().default("{}"),created_at:r("created_at",{length:35}).notNull(),updated_at:r("updated_at",{length:35}).notNull()}),X=D("hooks",{hook_id:r("hook_id",{length:21}).primaryKey(),tenant_id:r("tenant_id",{length:191}).notNull().references(()=>x.id,{onDelete:"cascade"}),url:r("url",{length:512}),trigger_id:r("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:r("form_id",{length:128}),template_id:r("template_id",{length:64}),code_id:r("code_id",{length:21})},i=>[S("hooks_tenant_id_idx").on(i.tenant_id)]),fe=D("hook_code",{id:r("id",{length:21}).primaryKey(),tenant_id:r("tenant_id",{length:191}).notNull().references(()=>x.id,{onDelete:"cascade"}),code:r("code").notNull(),secrets:r("secrets"),created_at_ts:p("created_at_ts").notNull(),updated_at_ts:p("updated_at_ts").notNull()},i=>[S("hook_code_tenant_id_idx").on(i.tenant_id)]),me=D("keys",{kid:r("kid",{length:255}).primaryKey(),tenant_id:r("tenant_id",{length:191}).references(()=>x.id,{onDelete:"cascade"}),created_at:r("created_at",{length:35}).notNull(),revoked_at:r("revoked_at",{length:35}),cert:r("cert",{length:4096}),pkcs7:r("pkcs7",{length:4096}),fingerprint:r("fingerprint",{length:256}),thumbprint:r("thumbprint",{length:256}),current_since:r("current_since",{length:35}),current_until:r("current_until",{length:35}),type:r("type",{length:50}).notNull().default("jwt_signing"),connection:r("connection",{length:255}).references(()=>K.id,{onDelete:"cascade"})}),Z=D("custom_text",{tenant_id:r("tenant_id",{length:191}).notNull().references(()=>x.id,{onDelete:"cascade"}),prompt:r("prompt",{length:64}).notNull(),language:r("language",{length:16}).notNull(),custom_text:r("custom_text").notNull(),created_at_ts:p("created_at_ts").notNull(),updated_at_ts:p("updated_at_ts").notNull()},i=>[re({columns:[i.tenant_id,i.prompt,i.language]})]),U=D("authentication_methods",{id:r("id",{length:26}).primaryKey(),tenant_id:r("tenant_id",{length:191}).notNull().references(()=>x.id,{onDelete:"cascade"}),user_id:r("user_id",{length:255}).notNull(),type:r("type",{length:32}).notNull(),phone_number:r("phone_number",{length:32}),totp_secret:r("totp_secret",{length:255}),credential_id:r("credential_id",{length:512}),public_key:r("public_key"),sign_count:p("sign_count"),credential_backed_up:p("credential_backed_up"),transports:r("transports",{length:512}),friendly_name:r("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()},i=>[S("authentication_methods_tenant_user_idx").on(i.tenant_id,i.user_id),S("authentication_methods_credential_id_idx").on(i.credential_id)]),T=D("logs",{log_id:r("log_id",{length:21}).primaryKey(),category:r("category",{length:255}),tenant_id:r("tenant_id",{length:64}),user_id:r("user_id",{length:64}),ip:r("ip",{length:255}),type:r("type",{length:8}).notNull(),date:r("date",{length:35}).notNull(),client_id:r("client_id",{length:255}),client_name:r("client_name",{length:255}),user_agent:r("user_agent",{length:255}),description:r("description",{length:255}),details:r("details",{length:2048}),isMobile:p("isMobile"),user_name:r("user_name",{length:255}),connection:r("connection",{length:255}),connection_id:r("connection_id",{length:255}),audience:r("audience",{length:255}),scope:r("scope",{length:255}),strategy:r("strategy",{length:255}),strategy_type:r("strategy_type",{length:255}),hostname:r("hostname",{length:255}),auth0_client:r("auth0_client",{length:8192}),session_connection:r("session_connection",{length:255}),country_code:r("country_code",{length:2}),city_name:r("city_name",{length:255}),latitude:r("latitude",{length:255}),longitude:r("longitude",{length:255}),time_zone:r("time_zone",{length:255}),continent_code:r("continent_code",{length:2})},i=>[S("logs_user_id").on(i.user_id),S("logs_tenant_id").on(i.tenant_id),S("logs_date").on(i.date),S("IDX_logs_tenant_date_type_user").on(i.tenant_id,i.date,i.type,i.user_id)]),I=D("outbox_events",{id:r("id",{length:26}).primaryKey(),tenant_id:r("tenant_id",{length:191}).notNull().references(()=>x.id,{onDelete:"cascade"}),event_type:r("event_type",{length:64}).notNull(),log_type:r("log_type",{length:64}).notNull(),aggregate_type:r("aggregate_type",{length:64}).notNull(),aggregate_id:r("aggregate_id",{length:255}).notNull(),payload:r("payload").notNull(),created_at:r("created_at",{length:35}).notNull(),processed_at:r("processed_at",{length:35}),retry_count:p("retry_count").notNull().default(0),next_retry_at:r("next_retry_at",{length:35}),error:r("error"),claimed_by:r("claimed_by",{length:255}),claim_expires_at:r("claim_expires_at",{length:35})},i=>[S("idx_outbox_events_tenant_id").on(i.tenant_id),S("idx_outbox_events_processed_at").on(i.processed_at),S("idx_outbox_events_claimed_by").on(i.claimed_by)]),Pr=Object.freeze(Object.defineProperty({__proto__:null,authenticationCodes:Ar,authenticationMethods:U,branding:qe,clientGrants:W,clients:O,codes:P,connections:K,customDomains:ie,customText:Z,domains:Br,emailProviders:ve,flows:ne,forms:te,hookCode:fe,hooks:X,invites:ee,keys:me,loginSessions:se,logs:T,organizations:L,otps:Cr,outboxEvents:I,passwords:C,promptSettings:Le,refreshTokens:$,resourceServers:E,rolePermissions:ae,roles:F,sessions:B,tenants:x,themes:ge,tickets:$r,universalLoginTemplates:Ne,userOrganizations:Q,userPermissions:le,userRoles:_e,users:k},Symbol.toStringTag,{value:"Module"}));function z(i){if(i==null||typeof i!="object")return i;if(Array.isArray(i))return i.map(e=>e!==null&&typeof e=="object"?z(e):e);const t={...i};for(const e in t){const n=t[e];n===null?delete t[e]:n!==null&&typeof n=="object"&&(Array.isArray(n)?t[e]=n.map(s=>s!==null&&typeof s=="object"?z(s):s):t[e]=z(n))}return t}function Qr(i,t,e={...i}){for(const n of t)i[n]!==void 0&&(e[n]=JSON.stringify(i[n]));return e}function Jr(i,t,e=i){for(const n of t)i[n]!==void 0&&(e[n]=i[n]?1:0)}function dr(i){const t={};for(const e in i)i[e]!==void 0&&i[e]!==null&&(t[e]=i[e]);return t}function b(i,t){if(i==null)return t;if(typeof i=="string")try{return JSON.parse(i)}catch{return t}return i}function Be(i,t="",e={}){for(const n in i)if(Object.prototype.hasOwnProperty.call(i,n)){const s=t?`${t}_${n}`:n,o=i[n];typeof o=="object"&&o!==null&&!Array.isArray(o)?Be(o,s,e):typeof o=="boolean"?e[s]=o?1:0:e[s]=o}return e}function cr(i,t){const e={};for(const[n,s]of Object.entries(i)){const o=t.find(l=>n.startsWith(`${l}_`));if(!o)e[n]=s;else{const l=n.slice(o.length+1);e[o]={...e[o],[l]:s}}}return e}function Fr(i){return typeof i=="string"?parseInt(i,10):typeof i=="bigint"?Number(i):i}function Ur(i){return{async get(t){const e=await i.select().from(qe).where(a(qe.tenant_id,t)).get();if(!e)return null;const{tenant_id:n,colors_primary:s,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:s,page_background:{type:o,start:l,end:_,angle_deg:d}},font:c?{url:c}:void 0})},async set(t,e){var _,d,c,u,h,g,y,w;const{colors:n,font:s,...o}=e,l={...o,tenant_id:t,colors_primary:n==null?void 0:n.primary,colors_page_background_type:(_=n==null?void 0:n.page_background)==null?void 0:_.type,colors_page_background_start:(d=n==null?void 0:n.page_background)==null?void 0:d.start,colors_page_background_end:(c=n==null?void 0:n.page_background)==null?void 0:c.end,colors_page_background_angle_dev:(u=n==null?void 0:n.page_background)==null?void 0:u.angle_deg,font_url:s==null?void 0:s.url};await i.insert(qe).values(l).onConflictDoUpdate({target:qe.tenant_id,set:{...o,colors_primary:n==null?void 0:n.primary,colors_page_background_type:(h=n==null?void 0:n.page_background)==null?void 0:h.type,colors_page_background_start:(g=n==null?void 0:n.page_background)==null?void 0:g.start,colors_page_background_end:(y=n==null?void 0:n.page_background)==null?void 0:y.end,colors_page_background_angle_dev:(w=n==null?void 0:n.page_background)==null?void 0:w.angle_deg,font_url:s==null?void 0:s.url}})}}}var be=class extends Error{constructor(t=500,e){super(e==null?void 0:e.message,{cause:e==null?void 0:e.cause});f(this,"res");f(this,"status");this.res=e==null?void 0:e.res,this.status=t}getResponse(){return this.res?new Response(this.res.body,{status:this.status,headers:this.res.headers}):new Response(this.message,{status:this.status})}};function he(i,t,e){const n=t.split(/ OR /i);if(n.length>1){const c=n.map(u=>{const h=u.trim().match(/^([^:]+):(.+)$/);if(h){const[,g,y]=h;if(!g||!y)return null;const w=y.replace(/^"(.*)"$/,"$1"),A=i[g.trim()];return A?a(A,w.trim()):null}return null}).filter(Boolean);return c.length===0?void 0:ue(...c)}const s=[];let o="",l=!1;for(let c=0;c<t.length;c++){const u=t[c];u==='"'?(l=!l,o+=u):u===" "&&!l?o.trim()&&(s.push(o.trim()),o=""):o+=u}o.trim()&&s.push(o.trim());const _=s.map(c=>c.replace(/^([^:]+)=/g,"$1:")).map(c=>{let u=c.startsWith("-"),h=null,g="",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,q=A.indexOf(":");h=A.substring(0,q),g=A.substring(q+1),y=!1,g.startsWith(">=")?(w=">=",g=g.substring(2)):g.startsWith(">")?(w=">",g=g.substring(1)):g.startsWith("<=")?(w="<=",g=g.substring(2)):g.startsWith("<")?(w="<",g=g.substring(1)):w="=",g.startsWith('"')&&g.endsWith('"')&&g.length>1&&(g=g.slice(1,-1))}else h=null,g=c,y=!1;return{key:h,value:g,isNegation:u,isExistsQuery:y,operator:w}}),d=[];for(const{key:c,value:u,isNegation:h,isExistsQuery:g,operator:y}of _)if(c){const w=i[c];if(!w){g?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(g)d.push(h?pe(w):Or(w));else if(h)switch(y){case">":d.push(Oe(w,u));break;case">=":d.push(xe(w,u));break;case"<":d.push(We(w,u));break;case"<=":d.push(Re(w,u));break;default:d.push(Dr(w,u))}else switch(y){case">":d.push(Re(w,u));break;case">=":d.push(We(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(q=>{const ye=i[q];return ye?q==="user_id"?a(ye,u):ze(ye,`%${u}%`):null}).filter(Boolean);A.length>0&&d.push(ue(...A))}if(d.length!==0)return d.length===1?d[0]:m(...d)}const Ot=["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"],kt=["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 Fe(i){const{tenant_id:t,connections:e,...n}=i,s={...n};for(const o of Ot)s[o]=!!n[o];for(const o of kt)s[o]=b(n[o],[]);for(const o of zt)s[o]=b(n[o],{});return s.connections=b(e,[]),z(s)}function Et(i){const t={...i};Jr(i,Ot,t);for(const e of kt)i[e]!==void 0&&(t[e]=JSON.stringify(i[e]||[]));for(const e of zt)i[e]!==void 0&&(t[e]=JSON.stringify(i[e]||{}));return i.connections!==void 0&&(t.connections=JSON.stringify(i.connections||[])),dr(t)}function Kr(i){return{async create(t,e){var l,_;const n=new Date().toISOString(),s={client_id:e.client_id,tenant_id:t,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:n,updated_at:n};for(const d of Ot)s[d]=e[d]??!1;s.oidc_conformant=e.oidc_conformant??!0,s.auth0_conformant=e.auth0_conformant??!0,s.sso_disabled=e.sso_disabled??!1;for(const d of kt)s[d]=e[d]||[];for(const d of zt)s[d]=e[d]||{};s.connections=e.connections||[];const o=Et(s);try{await i.insert(O).values({...o,tenant_id:t})}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 Fe({...o,tenant_id:t})},async get(t,e){const n=await i.select().from(O).where(m(a(O.tenant_id,t),a(O.client_id,e))).get();return n?Fe(n):null},async getByClientId(t){const e=await i.select().from(O).where(a(O.client_id,t)).get();return e?{...Fe(e),tenant_id:e.tenant_id}:null},async update(t,e,n){const s=Et({...n,updated_at:new Date().toISOString()});return delete s.client_id,delete s.tenant_id,await i.update(O).set(s).where(m(a(O.tenant_id,t),a(O.client_id,e))),!0},async list(t,e){const{page:n=0,per_page:s=50,include_totals:o=!1,sort:l,q:_}=e||{};let d=i.select().from(O).where(a(O.tenant_id,t)).$dynamic();if(_){const g=he(O,_,["name","client_id"]);g&&(d=d.where(m(a(O.tenant_id,t),g)))}if(l!=null&&l.sort_by){const g=O[l.sort_by];g&&(d=d.orderBy(l.sort_order==="desc"?V(g):Y(g)))}const u=(await d.offset(n*s).limit(s)).map(Fe);if(!o)return{clients:u};const[h]=await i.select({count:R()}).from(O).where(a(O.tenant_id,t));return{clients:u,start:n*s,limit:s,length:Number((h==null?void 0:h.count)??0)}},async remove(t,e){return(await i.delete(O).where(m(a(O.tenant_id,t),a(O.client_id,e))).returning()).length>0}}}function jr(i){const{tenant_id:t,is_system:e,options:n,metadata:s,...o}=i;return z({...o,options:b(n,{}),metadata:b(s),is_system:e?!0:void 0})}function Mr(i){return{async listByClient(t,e){const n=await i.select({connections:O.connections}).from(O).where(m(a(O.tenant_id,t),a(O.client_id,e))).get();if(!n)return[];const s=b(n.connections,[])||[];if(s.length===0)return[];const l=(await i.select().from(K).where(m(a(K.tenant_id,t),we(K.id,s))).all()).map(jr);return s.map(_=>l.find(d=>d.id===_)).filter(Boolean)},async updateByClient(t,e,n){return(await i.update(O).set({connections:JSON.stringify([...new Set(n)])}).where(m(a(O.tenant_id,t),a(O.client_id,e))).returning()).length>0},async listByConnection(t,e){return(await i.select({client_id:O.client_id,connections:O.connections}).from(O).where(a(O.tenant_id,t)).all()).filter(s=>(b(s.connections,[])||[]).includes(e)).map(s=>s.client_id)},async addClientToConnection(t,e,n){var _;if(!await i.select({client_id:O.client_id}).from(O).where(m(a(O.tenant_id,t),a(O.client_id,n))).get())return!1;const o=await i.run(N`UPDATE clients SET connections = CASE
|
|
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 Ie=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=Ie,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[Ie]=this[et]=i,this[Ze]=e,this[tt]=t}}m(j,nn,"Table"),m(j,"Symbol",{Name:Ie,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 ze(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[Ie],...r,t[0].table[Ie],...o];return i??`${l.join("_")}_fk`}}m($i,gn,"SQLiteForeignKey");function zr(n,i){return`${n[Ie]}_${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=zr(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 zn,In;class Ui extends(In=ge,zn=v,In){mapFromDriverValue(i){return Buffer.isBuffer(i)?i:Buffer.from(i)}getSQLType(){return"blob"}}m(Ui,zn,"SQLiteBlobBuffer");function Ir(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:Ir,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 zi;zi=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,zi,"SQLitePrimaryKeyBuilder");var Ii;Ii=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,Ii,"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})}),z=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:z,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 I(n){if(n==null||typeof n!="object")return n;if(Array.isArray(n))return n.map(e=>e!==null&&typeof e=="object"?I(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"?I(r):r):i[e]=I(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 I({...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):ze(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"],zt=["callbacks","allowed_origins","web_origins","client_aliases","allowed_clients","allowed_logout_urls","grant_types","signing_keys"],It=["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 zt)r[o]=b(t[o],[]);for(const o of It)r[o]=b(t[o],{});return r.connections=b(e,[]),I(r)}function At(n){const i={...n};Fr(n,kt,i);for(const e of zt)n[e]!==void 0&&(i[e]=JSON.stringify(n[e]||[]));for(const e of It)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 zt)r[d]=e[d]||[];for(const d of It)r[d]=e[d]||{};r.connections=e.connections||[];const o=At(r);try{await n.insert(z).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(z).where(g(a(z.tenant_id,i),a(z.client_id,e))).get();return t?Ue(t):null},async getByClientId(i){const e=await n.select().from(z).where(a(z.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(z).set(r).where(g(a(z.tenant_id,i),a(z.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(z).where(a(z.tenant_id,i)).$dynamic();if(_){const f=pe(z,_,["name","client_id"]);f&&(d=d.where(g(a(z.tenant_id,i),f)))}if(l!=null&&l.sort_by){const f=z[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(z).where(a(z.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(z).where(g(a(z.tenant_id,i),a(z.client_id,e))).returning()).length>0}}}function Mr(n){const{tenant_id:i,is_system:e,options:t,metadata:r,...o}=n;return I({...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:z.connections}).from(z).where(g(a(z.tenant_id,i),a(z.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(z).set({connections:JSON.stringify([...new Set(t)])}).where(g(a(z.tenant_id,i),a(z.client_id,e))).returning()).length>0},async listByConnection(i,e){return(await n.select({client_id:z.client_id,connections:z.connections}).from(z).where(a(z.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:z.client_id}).from(z).where(g(a(z.tenant_id,i),a(z.client_id,t))).get())return!1;const o=await n.run(N`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 = ${
|
|
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(N`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 = ${t} AND client_id = ${n}`);return(s.changes??((l=s.meta)==null?void 0:l.changes)??0)>0}}}let Vr="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict",Rr=i=>crypto.getRandomValues(new Uint8Array(i)),Wr=(i,t,e)=>{let n=(2<<Math.log2(i.length-1))-1,s=-~(1.6*n*t/i.length);return(o=t)=>{let l="";for(;;){let _=e(s),d=s|0;for(;d--;)if(l+=i[_[d]&n]||"",l.length>=o)return l}}},Hr=(i,t=21)=>Wr(i,t|0,Rr),oe=(i=21)=>{let t="",e=crypto.getRandomValues(new Uint8Array(i|=0));for(;i--;)t+=Vr[e[i]&63];return t};function tt(i){const{tenant_id:t,scope:e,authorization_details_types:n,allow_any_organization:s,is_system:o,...l}=i;return z({...l,scope:b(e,[]),authorization_details_types:b(n,[]),allow_any_organization:!!s,is_system:!!o})}function Gr(i){return{async create(t,e){const n=new Date().toISOString(),o={id:e.id||oe(),tenant_id:t,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:n,updated_at:n};return await i.insert(W).values(o),tt({...o,tenant_id:t})},async get(t,e){const n=await i.select().from(W).where(m(a(W.tenant_id,t),a(W.id,e))).get();return n?tt(n):null},async update(t,e,n){const{scope:s,authorization_details_types:o,allow_any_organization:l,is_system:_,...d}=n,c={...d,updated_at:new Date().toISOString()};return s!==void 0&&(c.scope=JSON.stringify(s)),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 i.update(W).set(c).where(m(a(W.tenant_id,t),a(W.id,e))).returning()).length>0},async list(t,e){const{page:n=0,per_page:s=50,include_totals:o=!1,sort:l,q:_}=e||{},d=_?he(W,_,["client_id","audience"]):void 0,c=d?m(a(W.tenant_id,t),d):a(W.tenant_id,t);let u=i.select().from(W).where(c).$dynamic();if(l!=null&&l.sort_by){const w=W[l.sort_by];w&&(u=u.orderBy(l.sort_order==="desc"?V(w):Y(w)))}else u=u.orderBy(Y(W.created_at));const g=(await u.offset(n*s).limit(s)).map(tt);if(!o)return{client_grants:g};const[y]=await i.select({count:R()}).from(W).where(c);return{client_grants:g,start:n*s,limit:s,length:Number((y==null?void 0:y.count)??0)}},async remove(t,e){return(await i.delete(W).where(m(a(W.tenant_id,t),a(W.id,e))).returning()).length>0}}}function nt(i){const{tenant_id:t,...e}=i;return z(e)}function Yr(i){return{async create(t,e){const n={...e,tenant_id:t,created_at:e.created_at||new Date().toISOString(),expires_at:e.expires_at};return await i.insert(P).values(n),nt(n)},async get(t,e,n){if(!t)throw new Error("tenant_id is required");const s=await i.select().from(P).where(m(a(P.tenant_id,t),a(P.code_id,e),a(P.code_type,n))).get();return s?nt(s):null},async list(t,e){const{page:n=0,per_page:s=50,include_totals:o=!1,sort:l}=e||{};let _=i.select().from(P).where(a(P.tenant_id,t)).$dynamic();if(l!=null&&l.sort_by){const h=P[l.sort_by];h&&(_=_.orderBy(l.sort_order==="desc"?V(h):Y(h)))}const c=(await _.offset(n*s).limit(s)).map(nt);if(!o)return{codes:c};const[u]=await i.select({count:R()}).from(P).where(a(P.tenant_id,t));return{codes:c,start:n*s,limit:s,length:Number((u==null?void 0:u.count)??0)}},async used(t,e){return(await i.update(P).set({used_at:new Date().toISOString()}).where(m(a(P.tenant_id,t),a(P.code_id,e))).returning()).length>0},async consume(t,e){return(await i.update(P).set({used_at:new Date().toISOString()}).where(m(a(P.tenant_id,t),a(P.code_id,e),pe(P.used_at))).returning()).length>0},async remove(t,e){return(await i.delete(P).where(m(a(P.tenant_id,t),a(P.code_id,e))).returning()).length>0}}}function Xr(){const{customAlphabet:i}=require("nanoid");return`con_${i("0123456789abcdefghijklmnopqrstuvwxyz",17)()}`}function it(i){const{tenant_id:t,is_system:e,options:n,metadata:s,...o}=i;return z({...o,options:b(n,{}),metadata:b(s),is_system:e?!0:void 0})}function Zr(i){return{async create(t,e){var o,l;const n=new Date().toISOString(),s={id:e.id||Xr(),...e,tenant_id:t,options:JSON.stringify(e.options||{}),metadata:e.metadata?JSON.stringify(e.metadata):void 0,is_system:e.is_system?1:0,created_at:n,updated_at:n};try{await i.insert(K).values(s)}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 it(s)},async get(t,e){const n=await i.select().from(K).where(m(a(K.tenant_id,t),a(K.id,e))).get();return n?it(n):null},async update(t,e,n){const s={updated_at:new Date().toISOString()};return n.name!==void 0&&(s.name=n.name),n.strategy!==void 0&&(s.strategy=n.strategy),n.options!==void 0&&(s.options=JSON.stringify(n.options)),n.metadata!==void 0&&(s.metadata=JSON.stringify(n.metadata)),n.display_name!==void 0&&(s.display_name=n.display_name),n.response_type!==void 0&&(s.response_type=n.response_type),n.response_mode!==void 0&&(s.response_mode=n.response_mode),await i.update(K).set(s).where(m(a(K.tenant_id,t),a(K.id,e))),!0},async list(t,e){const{page:n=0,per_page:s=50,include_totals:o=!1,sort:l,q:_}=e||{};let d=a(K.tenant_id,t);if(_){const y=he(K,_,["name"]);y&&(d=m(d,y))}let c=i.select().from(K).where(d).$dynamic();if(l!=null&&l.sort_by){const y=K[l.sort_by];y&&(c=c.orderBy(l.sort_order==="desc"?V(y):Y(y)))}const h=(await c.offset(n*s).limit(s)).map(it);if(!o)return{connections:h};const[g]=await i.select({count:R()}).from(K).where(d);return{connections:h,start:n*s,limit:s,length:Number((g==null?void 0:g.count)??0)}},async remove(t,e){return(await i.delete(K).where(m(a(K.tenant_id,t),a(K.id,e))).returning()).length>0}}}function Ue(i){const{tenant_id:t,domain_metadata:e,...n}=i;return z({...n,primary:!!n.primary,domain_metadata:b(e)})}function es(i){return{async create(t,e){const n=new Date().toISOString(),o={custom_domain_id:e.custom_domain_id||oe(),tenant_id:t,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:n,updated_at:n};return await i.insert(ie).values(o),Ue({...o,tenant_id:t})},async get(t,e){const n=await i.select().from(ie).where(m(a(ie.tenant_id,t),a(ie.custom_domain_id,e))).get();return n?Ue(n):null},async getByDomain(t){const e=await i.select().from(ie).where(a(ie.domain,t)).get();return e?{...Ue(e),tenant_id:e.tenant_id}:null},async list(t){return(await i.select().from(ie).where(a(ie.tenant_id,t)).all()).map(Ue)},async update(t,e,n){const s={updated_at:new Date().toISOString()};return n.domain!==void 0&&(s.domain=n.domain),n.primary!==void 0&&(s.primary=n.primary),n.status!==void 0&&(s.status=n.status),n.type!==void 0&&(s.type=n.type),n.origin_domain_name!==void 0&&(s.origin_domain_name=n.origin_domain_name),n.verification!==void 0&&(s.verification=n.verification),n.custom_client_ip_header!==void 0&&(s.custom_client_ip_header=n.custom_client_ip_header),n.tls_policy!==void 0&&(s.tls_policy=n.tls_policy),n.domain_metadata!==void 0&&(s.domain_metadata=JSON.stringify(n.domain_metadata)),(await i.update(ie).set(s).where(m(a(ie.tenant_id,t),a(ie.custom_domain_id,e))).returning()).length>0},async remove(t,e){return(await i.delete(ie).where(m(a(ie.tenant_id,t),a(ie.custom_domain_id,e))).returning()).length>0}}}function ts(i){return{async get(t,e,n){const s=await i.select().from(Z).where(m(a(Z.tenant_id,t),a(Z.prompt,e),a(Z.language,n))).get();if(!s)return null;try{return JSON.parse(s.custom_text)}catch{return null}},async set(t,e,n,s){const o=Date.now(),l=JSON.stringify(s);await i.insert(Z).values({tenant_id:t,prompt:e,language:n,custom_text:l,created_at_ts:o,updated_at_ts:o}).onConflictDoUpdate({target:[Z.tenant_id,Z.prompt,Z.language],set:{custom_text:l,updated_at_ts:o}})},async delete(t,e,n){await i.delete(Z).where(m(a(Z.tenant_id,t),a(Z.prompt,e),a(Z.language,n)))},async list(t){return await i.select({prompt:Z.prompt,language:Z.language}).from(Z).where(a(Z.tenant_id,t)).all()}}}function ns(i){return{async create(t,e){const n=new Date().toISOString();await i.insert(ve).values({tenant_id:t,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:n,updated_at:n})},async get(t){const e=await i.select().from(ve).where(a(ve.tenant_id,t)).get();if(!e)return null;const{tenant_id:n,...s}=e;return z({...s,enabled:!!s.enabled,credentials:b(s.credentials,{}),settings:b(s.settings,{})})},async update(t,e){const n={updated_at:new Date().toISOString()};e.name!==void 0&&(n.name=e.name),e.enabled!==void 0&&(n.enabled=e.enabled),e.default_from_address!==void 0&&(n.default_from_address=e.default_from_address),e.credentials!==void 0&&(n.credentials=JSON.stringify(e.credentials)),e.settings!==void 0&&(n.settings=JSON.stringify(e.settings)),await i.update(ve).set(n).where(a(ve.tenant_id,t))},async remove(t){await i.delete(ve).where(a(ve.tenant_id,t))}}}function is(i){return{async create(t,e){const n=new Date().toISOString(),s=`af_${oe()}`;return await i.insert(ne).values({id:s,tenant_id:t,name:e.name,actions:JSON.stringify(e.actions||[]),created_at:n,updated_at:n}),{id:s,name:e.name,actions:e.actions||[],created_at:n,updated_at:n}},async get(t,e){const n=await i.select().from(ne).where(m(a(ne.tenant_id,t),a(ne.id,e))).get();if(!n)return null;const{tenant_id:s,actions:o,...l}=n;return z({...l,actions:b(o,[])})},async update(t,e,n){const s={updated_at:new Date().toISOString()};return n.name!==void 0&&(s.name=n.name),n.actions!==void 0&&(s.actions=JSON.stringify(n.actions)),(await i.update(ne).set(s).where(m(a(ne.tenant_id,t),a(ne.id,e))).returning()).length===0?null:this.get(t,e)},async list(t,e){const{page:n=0,per_page:s=50,include_totals:o=!1,sort:l}=e||{};let _=i.select().from(ne).where(a(ne.tenant_id,t)).$dynamic();if(l!=null&&l.sort_by){const h=ne[l.sort_by];h&&(_=_.orderBy(l.sort_order==="desc"?V(h):Y(h)))}const c=(await _.offset(n*s).limit(s)).map(h=>{const{tenant_id:g,actions:y,...w}=h;return z({...w,actions:b(y,[])})});if(!o)return{flows:c};const[u]=await i.select({count:R()}).from(ne).where(a(ne.tenant_id,t));return{flows:c,start:n*s,limit:s,length:Number((u==null?void 0:u.count)??0)}},async remove(t,e){return(await i.delete(ne).where(m(a(ne.tenant_id,t),a(ne.id,e))).returning()).length>0}}}const Ke=["nodes","start","ending"];function rs(i){return{async create(t,e){const n=new Date().toISOString(),s=oe(),o={id:s,tenant_id:t,name:e.name,messages:e.messages,languages:e.languages,translations:e.translations,style:e.style,created_at:n,updated_at:n};for(const l of Ke)o[l]=JSON.stringify(e[l]||(l==="nodes"?[]:{}));return await i.insert(te).values(o),{id:s,...e,created_at:n,updated_at:n}},async get(t,e){const n=await i.select().from(te).where(m(a(te.tenant_id,t),a(te.id,e))).get();if(!n)return null;const{tenant_id:s,...o}=n,l={...o};for(const _ of Ke)l[_]=b(o[_]);return z(l)},async update(t,e,n){const s={updated_at:new Date().toISOString()};for(const[l,_]of Object.entries(n))_!==void 0&&(Ke.includes(l)?s[l]=JSON.stringify(_):s[l]=_);return(await i.update(te).set(s).where(m(a(te.tenant_id,t),a(te.id,e))).returning()).length>0},async list(t,e){const{page:n=0,per_page:s=50,include_totals:o=!1,sort:l}=e||{};let _=i.select().from(te).where(a(te.tenant_id,t)).$dynamic();if(l!=null&&l.sort_by){const h=te[l.sort_by];h&&(_=_.orderBy(l.sort_order==="desc"?V(h):Y(h)))}const c=(await _.offset(n*s).limit(s)).map(h=>{const{tenant_id:g,...y}=h,w={...y};for(const A of Ke)w[A]=b(y[A]);return z(w)});if(!o)return{forms:c};const[u]=await i.select({count:R()}).from(te).where(a(te.tenant_id,t));return{forms:c,start:n*s,limit:s,length:Number((u==null?void 0:u.count)??0)}},async remove(t,e){return(await i.delete(te).where(m(a(te.tenant_id,t),a(te.id,e))).returning()).length>0}}}function gr(i){if(i!=null){if(typeof i=="number")return new Date(i).toISOString();if(typeof i=="string"){if(i==="")return;const t=parseFloat(i);return!isNaN(t)&&/^\d+(\.\d+)?$/.test(i)?new Date(t).toISOString():i}}}function yt(i,t=new Date(0).toISOString()){return gr(i)??t}function j(i){if(!i||i==="")return null;const t=new Date(i);return isNaN(t.getTime())?null:t.getTime()}function Je(i,t,e=[]){const n={};for(const s of t){const o=s.replace(/_ts$/,"");n[o]=yt(i[s])}for(const s of e){const o=s.replace(/_ts$/,"");n[o]=gr(i[s])}return n}const ss=Hr("0123456789abcdefghijklmnopqrstuvwxyz",17);function os(){return`hc_${ss()}`}function At(i){const{created_at_ts:t,updated_at_ts:e,secrets:n,...s}=i,o=Je({created_at_ts:t,updated_at_ts:e},["created_at_ts","updated_at_ts"]);return{...s,...o,secrets:n?JSON.parse(n):void 0}}function as(i){return{async create(t,e){const n=Date.now(),o={id:os(),tenant_id:t,code:e.code,secrets:e.secrets?JSON.stringify(e.secrets):null,created_at_ts:n,updated_at_ts:n};return await i.insert(fe).values(o),At({...o,tenant_id:t})},async get(t,e){const n=await i.select().from(fe).where(m(a(fe.tenant_id,t),a(fe.id,e))).get();return n?At(n):null},async update(t,e,n){const s={updated_at_ts:Date.now()};return n.code!==void 0&&(s.code=n.code),n.secrets!==void 0&&(s.secrets=JSON.stringify(n.secrets)),(await i.update(fe).set(s).where(m(a(fe.tenant_id,t),a(fe.id,e))).returning()).length>0},async remove(t,e){return(await i.delete(fe).where(m(a(fe.tenant_id,t),a(fe.id,e))).returning()).length>0}}}function ls(){const{customAlphabet:i}=require("nanoid");return`h_${i("0123456789abcdefghijklmnopqrstuvwxyz",17)()}`}function rt(i){const{tenant_id:t,created_at_ts:e,updated_at_ts:n,...s}=i,o=Je({created_at_ts:e,updated_at_ts:n},["created_at_ts","updated_at_ts"]);return z({...s,enabled:!!s.enabled,synchronous:!!s.synchronous,...o})}function _s(i){return{async create(t,e){const n=Date.now(),o={hook_id:e.hook_id||ls(),tenant_id:t,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:n,updated_at_ts:n};return await i.insert(X).values(o),rt({...o,tenant_id:t})},async get(t,e){const n=await i.select().from(X).where(m(a(X.tenant_id,t),a(X.hook_id,e))).get();return n?rt(n):null},async update(t,e,n){const s={updated_at_ts:Date.now()};return n.trigger_id!==void 0&&(s.trigger_id=n.trigger_id),n.url!==void 0&&(s.url=n.url),n.enabled!==void 0&&(s.enabled=n.enabled),n.synchronous!==void 0&&(s.synchronous=n.synchronous),n.priority!==void 0&&(s.priority=n.priority),n.form_id!==void 0&&(s.form_id=n.form_id),n.template_id!==void 0&&(s.template_id=n.template_id),n.code_id!==void 0&&(s.code_id=n.code_id),(await i.update(X).set(s).where(m(a(X.tenant_id,t),a(X.hook_id,e))).returning()).length>0},async list(t,e){const{page:n=0,per_page:s=50,include_totals:o=!1,sort:l,q:_}=e||{},d=_?he(X,_,["url","form_id","template_id","code_id"]):void 0,c=d?m(a(X.tenant_id,t),d):a(X.tenant_id,t);let u=i.select().from(X).where(c).$dynamic();if(l!=null&&l.sort_by){const w=X[l.sort_by];w&&(u=u.orderBy(l.sort_order==="desc"?V(w):Y(w)))}const g=(await u.offset(n*s).limit(s)).map(rt);if(!o)return{hooks:g};const[y]=await i.select({count:R()}).from(X).where(c);return{hooks:g,start:n*s,limit:s,length:Number((y==null?void 0:y.count)??0)}},async remove(t,e){return(await i.delete(X).where(m(a(X.tenant_id,t),a(X.hook_id,e))).returning()).length>0}}}function us(){const{customAlphabet:i}=require("nanoid");return`inv_${i("0123456789abcdefghijklmnopqrstuvwxyz",17)()}`}const wt=["inviter","invitee","app_metadata","user_metadata","roles"];function st(i){const{tenant_id:t,send_invitation_email:e,...n}=i,s={...n};for(const o of wt)s[o]=b(n[o],o==="roles"?[]:{});return s.send_invitation_email=!!e,z(s)}function ds(i){return{async create(t,e){var d,c;const n=e.id||us(),s=e.ttl_sec||604800,o=new Date,l=new Date(o.getTime()+s*1e3).toISOString(),_={id:n,tenant_id:t,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:s,send_invitation_email:e.send_invitation_email!==!1?1:0,created_at:o.toISOString(),expires_at:l};for(const u of wt)e[u]!==void 0&&(_[u]=JSON.stringify(e[u]));try{await i.insert(ee).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 st({..._,tenant_id:t})},async get(t,e){const n=await i.select().from(ee).where(m(a(ee.tenant_id,t),a(ee.id,e))).get();return n?st(n):null},async update(t,e,n){const s={};for(const l of wt)n[l]!==void 0&&(s[l]=JSON.stringify(n[l]));return n.connection_id!==void 0&&(s.connection_id=n.connection_id),n.ttl_sec!==void 0&&(s.ttl_sec=n.ttl_sec,s.expires_at=new Date(Date.now()+n.ttl_sec*1e3).toISOString()),(await i.update(ee).set(s).where(m(a(ee.tenant_id,t),a(ee.id,e))).returning()).length>0},async list(t,e){const{page:n=0,per_page:s=50,include_totals:o=!1,sort:l}=e||{};let _=i.select().from(ee).where(a(ee.tenant_id,t)).$dynamic();if(l!=null&&l.sort_by){const h=ee[l.sort_by];h&&(_=_.orderBy(l.sort_order==="desc"?V(h):Y(h)))}const c=(await _.offset(n*s).limit(s)).map(st);if(!o)return{invites:c};const[u]=await i.select({count:R()}).from(ee).where(a(ee.tenant_id,t));return{invites:c,start:n*s,limit:s,length:Number((u==null?void 0:u.count)??0)}},async remove(t,e){return(await i.delete(ee).where(m(a(ee.tenant_id,t),a(ee.id,e))).returning()).length>0}}}function cs(i){return{async create(t){await i.insert(me).values({...t,created_at:new Date().toDateString()})},async list(t){const{page:e=0,per_page:n=50,include_totals:s=!1,sort:o}=t||{},l=new Date().toISOString();let _=i.select().from(me).where(ue(Re(me.revoked_at,l),pe(me.revoked_at))).$dynamic();if(o!=null&&o.sort_by){const h=me[o.sort_by];h&&(_=_.orderBy(o.sort_order==="desc"?V(h):Y(h)))}const c=(await _.offset(e*n).limit(n)).map(h=>{const{created_at:g,...y}=h;return z(y)});if(!s)return{signingKeys:c};const[u]=await i.select({count:R()}).from(me).where(ue(Re(me.revoked_at,l),pe(me.revoked_at)));return{signingKeys:c,start:e*n,limit:n,length:Fr((u==null?void 0:u.count)??0)}},async update(t,e){return(await i.update(me).set(e).where(a(me.kid,t)).returning()).length>0}}}const Nt="0123456789ABCDEFGHJKMNPQRSTVWXYZ",ot=Nt.length;function gs(){let e=Date.now(),n="";for(let o=10;o>0;o--)n=Nt.charAt(e%ot)+n,e=Math.floor(e/ot);const s=new Uint8Array(16);crypto.getRandomValues(s);for(let o=0;o<16;o++)n+=Nt.charAt(s[o]%ot);return n}function Ct(i){const{tenant_id:t,created_at_ts:e,updated_at_ts:n,expires_at_ts:s,state_data:o,...l}=i,_=Je({created_at_ts:e,updated_at_ts:n,expires_at_ts:s},["created_at_ts","updated_at_ts","expires_at_ts"]),d=cr(l,["authParams"]);return z({...d,..._,state_data:b(o)})}function fs(i){return{async create(t,e){const n=Date.now(),s=gs(),o=Be({authParams:e.authParams||{}},"authParams"),l={id:s,tenant_id:t,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:n,updated_at_ts:n,expires_at_ts:e.expires_at?j(e.expires_at):n+1e3*60*60*24};for(const[_,d]of Object.entries(o))l[_]=d;return await i.insert(se).values(l),Ct({...l,tenant_id:t})},async get(t,e){const n=await i.select().from(se).where(m(a(se.tenant_id,t),a(se.id,e))).get();return n?Ct(n):null},async update(t,e,n){var o;const s={updated_at_ts:Date.now()};if(n.session_id!==void 0&&(s.session_id=n.session_id),n.state!==void 0&&(s.state=n.state),n.state_data!==void 0&&(s.state_data=JSON.stringify(n.state_data)),n.failure_reason!==void 0&&(s.failure_reason=n.failure_reason),n.user_id!==void 0&&(s.user_id=n.user_id),n.auth_connection!==void 0&&(s.auth_connection=n.auth_connection),n.authorization_url!==void 0&&(s.authorization_url=(o=n.authorization_url)==null?void 0:o.substring(0,1024)),n.expires_at!==void 0&&(s.expires_at_ts=j(n.expires_at)),n.authParams){const l=Be({authParams:n.authParams},"authParams");Object.assign(s,l)}return await i.update(se).set(s).where(m(a(se.tenant_id,t),a(se.id,e))),!0},async remove(t,e){return(await i.delete(se).where(m(a(se.tenant_id,t),a(se.id,e))).returning()).length>0}}}function at(i){const{tenant_id:t,isMobile:e,auth0_client:n,details:s,country_code:o,city_name:l,latitude:_,longitude:d,time_zone:c,continent_code:u,scope:h,...g}=i,y={...g,isMobile:!!e,auth0_client:b(n),details:b(s),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 ms(i){return{async create(t,e){var o,l;const s={log_id:e.log_id||oe(),tenant_id:t,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&&(s.auth0_client=JSON.stringify(e.auth0_client)),e.details&&(s.details=JSON.stringify(e.details).substring(0,8192)),e.location_info&&(s.country_code=e.location_info.country_code,s.city_name=e.location_info.city_name,s.latitude=e.location_info.latitude,s.longitude=e.location_info.longitude,s.time_zone=e.location_info.time_zone,s.continent_code=e.location_info.continent_code),await i.insert(T).values(s),at({...s,tenant_id:t})},async list(t,e){const{page:n=0,per_page:s=50,include_totals:o=!1,sort:l,q:_}=e||{};let d=i.select().from(T).where(a(T.tenant_id,t)).$dynamic();if(_){const g=he(T,_,["user_id","ip","type","client_id"]);g&&(d=d.where(m(a(T.tenant_id,t),g)))}if(l!=null&&l.sort_by){const g=T[l.sort_by];g&&(d=d.orderBy(l.sort_order==="desc"?V(g):Y(g)))}else d=d.orderBy(V(T.date));const u=(await d.offset(n*s).limit(s)).map(at);if(!o)return{logs:u};const[h]=await i.select({count:R()}).from(T).where(a(T.tenant_id,t));return{logs:u,start:n*s,limit:s,length:Number((h==null?void 0:h.count)??0)}},async get(t,e){const n=await i.select().from(T).where(m(a(T.tenant_id,t),a(T.log_id,e))).get();return n?at(n):null}}}const vt="0123456789ABCDEFGHJKMNPQRSTVWXYZ",lt=vt.length;function hs(){let e=Date.now(),n="";for(let o=10;o>0;o--)n=vt.charAt(e%lt)+n,e=Math.floor(e/lt);const s=new Uint8Array(16);crypto.getRandomValues(s);for(let o=0;o<16;o++)n+=vt.charAt(s[o]%lt);return n}function je(i){const{tenant_id:t,created_at_ts:e,updated_at_ts:n,credential_backed_up:s,confirmed:o,transports:l,..._}=i;return z({..._,confirmed:!!o,credential_backed_up:s!=null?!!s:void 0,transports:b(l),created_at:yt(e),updated_at:yt(n)})}function ps(i){return{async create(t,e){const n=Date.now(),o={id:e.id||hs(),tenant_id:t,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:n,updated_at_ts:n};return await i.insert(U).values(o),je({...o,tenant_id:t})},async get(t,e){const n=await i.select().from(U).where(m(a(U.tenant_id,t),a(U.id,e))).get();return n?je(n):null},async getByCredentialId(t,e){const n=await i.select().from(U).where(m(a(U.tenant_id,t),a(U.credential_id,e))).get();return n?je(n):null},async list(t,e){return(await i.select().from(U).where(m(a(U.tenant_id,t),a(U.user_id,e))).all()).map(je)},async update(t,e,n){const s={updated_at_ts:Date.now()};n.type!==void 0&&(s.type=n.type),n.phone_number!==void 0&&(s.phone_number=n.phone_number),n.totp_secret!==void 0&&(s.totp_secret=n.totp_secret),n.credential_id!==void 0&&(s.credential_id=n.credential_id),n.public_key!==void 0&&(s.public_key=n.public_key),n.sign_count!==void 0&&(s.sign_count=n.sign_count),n.credential_backed_up!==void 0&&(s.credential_backed_up=n.credential_backed_up?1:0),n.transports!==void 0&&(s.transports=JSON.stringify(n.transports)),n.friendly_name!==void 0&&(s.friendly_name=n.friendly_name),n.confirmed!==void 0&&(s.confirmed=n.confirmed?1:0),await i.update(U).set(s).where(m(a(U.tenant_id,t),a(U.id,e)));const o=await this.get(t,e);if(!o)throw new Error(`Authentication method ${e} not found after update`);return o},async remove(t,e){return(await i.delete(U).where(m(a(U.tenant_id,t),a(U.id,e))).returning()).length>0}}}function ys(){const{customAlphabet:i}=require("nanoid");return`org_${i("0123456789abcdefghijklmnopqrstuvwxyz",17)()}`}function _t(i){const{tenant_id:t,branding:e,metadata:n,enabled_connections:s,token_quota:o,...l}=i;return z({...l,branding:b(e,{}),metadata:b(n,{}),enabled_connections:b(s,[]),token_quota:b(o,{})})}function ws(i){return{async create(t,e){var l,_;const n=new Date().toISOString(),o={id:e.id||ys(),tenant_id:t,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:n,updated_at:n};try{await i.insert(L).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 _t({...o,tenant_id:t})},async get(t,e){let n=await i.select().from(L).where(m(a(L.tenant_id,t),a(L.id,e))).get();return n||(n=await i.select().from(L).where(m(a(L.tenant_id,t),a(L.name,e))).get()),n?_t(n):null},async update(t,e,n){const s={updated_at:new Date().toISOString()};return n.name!==void 0&&(s.name=n.name),n.display_name!==void 0&&(s.display_name=n.display_name),n.branding!==void 0&&(s.branding=JSON.stringify(n.branding)),n.metadata!==void 0&&(s.metadata=JSON.stringify(n.metadata)),n.enabled_connections!==void 0&&(s.enabled_connections=JSON.stringify(n.enabled_connections)),n.token_quota!==void 0&&(s.token_quota=JSON.stringify(n.token_quota)),(await i.update(L).set(s).where(m(a(L.tenant_id,t),a(L.id,e))).returning()).length>0},async list(t,e){const{page:n=0,per_page:s=50,include_totals:o=!1,sort:l,q:_}=e||{};let d=i.select().from(L).where(a(L.tenant_id,t)).$dynamic();if(_&&(d=d.where(ue(ze(L.name,`%${_}%`),ze(L.display_name,`%${_}%`)))),l!=null&&l.sort_by){const y=L[l.sort_by];y&&(d=d.orderBy(l.sort_order==="desc"?V(y):Y(y)))}const u=(await d.offset(n*s).limit(s)).map(_t);if(!o)return{organizations:u};const h=[a(L.tenant_id,t)];_&&h.push(ue(ze(L.name,`%${_}%`),ze(L.display_name,`%${_}%`)));const[g]=await i.select({count:R()}).from(L).where(m(...h));return{organizations:u,start:n*s,limit:s,length:Number((g==null?void 0:g.count)??0)}},async remove(t,e){return(await i.delete(L).where(m(a(L.tenant_id,t),a(L.id,e))).returning()).length>0}}}function ut(i){const{tenant_id:t,is_current:e,...n}=i;return{...n,is_current:!!e}}function Ns(i){return{async create(t,e){const n=new Date().toISOString(),s=e.id||oe();e.is_current!==!1&&await i.update(C).set({is_current:0}).where(m(a(C.tenant_id,t),a(C.user_id,e.user_id)));const o={id:s,tenant_id:t,user_id:e.user_id,password:e.password,algorithm:e.algorithm||"bcrypt",is_current:e.is_current!==!1?1:0,created_at:n,updated_at:n};return await i.insert(C).values(o),ut({...o,tenant_id:t})},async get(t,e){const n=await i.select().from(C).where(m(a(C.tenant_id,t),a(C.user_id,e),a(C.is_current,1))).get();return n?ut(n):null},async list(t,e,n){let s=i.select().from(C).where(m(a(C.tenant_id,t),a(C.user_id,e))).orderBy(V(C.created_at)).$dynamic();return n&&(s=s.limit(n)),(await s).map(ut)},async update(t,e){const n={updated_at:new Date().toISOString()};return e.password!==void 0&&(n.password=e.password),e.algorithm!==void 0&&(n.algorithm=e.algorithm),e.is_current!==void 0&&(n.is_current=e.is_current?1:0),e.id?await i.update(C).set(n).where(m(a(C.tenant_id,t),a(C.id,e.id))):await i.update(C).set(n).where(m(a(C.tenant_id,t),a(C.user_id,e.user_id),a(C.is_current,1))),!0}}}function vs(i){return{async get(t){const e=await i.select().from(Le).where(a(Le.tenant_id,t)).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(t,e){await i.insert(Le).values({tenant_id:t,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:Le.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 dt(i){const{tenant_id:t,created_at_ts:e,expires_at_ts:n,idle_expires_at_ts:s,last_exchanged_at_ts:o,device:l,resource_servers:_,rotating:d,...c}=i,u=Je({created_at_ts:e,expires_at_ts:n,idle_expires_at_ts:s,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 Ss(i){return{async create(t,e){const n=Date.now(),s={id:e.id||oe(),tenant_id:t,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:n,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)};return await i.insert($).values(s),dt({...s,tenant_id:t})},async get(t,e){const n=await i.select().from($).where(m(a($.tenant_id,t),a($.id,e))).get();return n?dt(n):null},async update(t,e,n){const s={};return n.device!==void 0&&(s.device=JSON.stringify(n.device)),n.resource_servers!==void 0&&(s.resource_servers=JSON.stringify(n.resource_servers)),n.rotating!==void 0&&(s.rotating=n.rotating),n.expires_at!==void 0&&(s.expires_at_ts=j(n.expires_at)),n.idle_expires_at!==void 0&&(s.idle_expires_at_ts=j(n.idle_expires_at)),n.last_exchanged_at!==void 0&&(s.last_exchanged_at_ts=j(n.last_exchanged_at)),(await i.update($).set(s).where(m(a($.tenant_id,t),a($.id,e))).returning()).length>0},async list(t,e){const{page:n=0,per_page:s=50,include_totals:o=!1,sort:l,q:_}=e||{};let d=i.select().from($).where(a($.tenant_id,t)).$dynamic();if(_){const g=he($,_,["user_id"]);g&&(d=d.where(m(a($.tenant_id,t),g)))}if(l!=null&&l.sort_by){const g=$[l.sort_by];g&&(d=d.orderBy(l.sort_order==="desc"?V(g):Y(g)))}const u=(await d.offset(n*s).limit(s)).map(dt);if(!o)return{refresh_tokens:u};const[h]=await i.select({count:R()}).from($).where(a($.tenant_id,t));return{refresh_tokens:u,start:n*s,limit:s,length:Number((h==null?void 0:h.count)??0)}},async remove(t,e){return(await i.delete($).where(m(a($.tenant_id,t),a($.id,e))).returning()).length>0}}}function bs(){const{customAlphabet:i}=require("nanoid");return`api_${i("0123456789abcdefghijklmnopqrstuvwxyz",17)()}`}const St=["skip_consent_for_verifiable_first_party_clients","allow_offline_access","is_system"],$t=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 ct(i){const{tenant_id:t,verification_key:e,scopes:n,options:s,metadata:o,...l}=i,_={...l};_.scopes=b(n,[]),_.options=b(s,{}),_.metadata=b(o),e!==void 0&&(_.verificationKey=e);for(const d of St)l[d]!==void 0&&l[d]!==null&&(_[d]=!!l[d]);return z(_)}function xs(i){return{async create(t,e){const n=new Date().toISOString(),o={id:e.id||bs(),tenant_id:t,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:n,updated_at:n};for(const l of St)e[l]!==void 0&&(o[l]=e[l]?1:0);return o.is_system===void 0&&(o.is_system=0),await i.insert(E).values(o),ct({...o,tenant_id:t})},async get(t,e){const n=await i.select().from(E).where(m(a(E.tenant_id,t),a(E.id,e))).get();return n?ct(n):null},async update(t,e,n){const s={updated_at:new Date().toISOString()};n.name!==void 0&&(s.name=n.name),n.identifier!==void 0&&(s.identifier=n.identifier),n.signing_alg!==void 0&&(s.signing_alg=n.signing_alg),n.signing_secret!==void 0&&(s.signing_secret=n.signing_secret),n.token_lifetime!==void 0&&(s.token_lifetime=n.token_lifetime),n.token_lifetime_for_web!==void 0&&(s.token_lifetime_for_web=n.token_lifetime_for_web),n.scopes!==void 0&&(s.scopes=JSON.stringify(n.scopes)),n.options!==void 0&&(s.options=N`json_patch(COALESCE(${E.options}, '{}'), ${JSON.stringify(n.options)})`),n.metadata!==void 0&&(s.metadata=JSON.stringify(n.metadata)),n.verificationKey!==void 0&&(s.verification_key=n.verificationKey);for(const l of St)n[l]!==void 0&&(s[l]=n[l]?1:0);return(await i.update(E).set(s).where(m(a(E.tenant_id,t),a(E.id,e))).returning()).length>0},async list(t,e){const{page:n=0,per_page:s=50,include_totals:o=!1,sort:l,q:_}=e||{},d=Math.max(0,Math.floor(Number(n)||0)),c=Math.min(Math.max(1,Math.floor(Number(s)||50)),500),u=[a(E.tenant_id,t)];if(_){const A=_.match(/^([^:]+):(.+)$/);if(A){const[,q,ye]=A,ke=q==null?void 0:q.startsWith("-"),Ye=ke?q==null?void 0:q.substring(1):q;if(Ye&&$t.has(Ye)&&!ke){const hr=E[Ye];u.push(ze(hr,`%${ye}%`))}}}let h=i.select().from(E).where(m(...u)).$dynamic();if(l!=null&&l.sort_by&&$t.has(l.sort_by)){const A=E[l.sort_by];h=h.orderBy(l.sort_order==="desc"?V(A):Y(A))}const y=(await h.offset(d*c).limit(c)).map(ct);if(!o)return{resource_servers:y};const[w]=await i.select({count:R()}).from(E).where(m(...u));return{resource_servers:y,start:d*c,limit:c,length:Number((w==null?void 0:w.count)??0)}},async remove(t,e){return(await i.delete(E).where(m(a(E.tenant_id,t),a(E.id,e))).returning()).length>0}}}function Ds(i){return{async assign(t,e,n){const s=new Date().toISOString();return await i.insert(ae).values(n.map(o=>({tenant_id:t,role_id:e,resource_server_identifier:o.resource_server_identifier,permission_name:o.permission_name,created_at:s}))).onConflictDoNothing(),!0},async list(t,e,n){const s=await i.select({resource_server_identifier:ae.resource_server_identifier,permission_name:ae.permission_name,created_at:ae.created_at}).from(ae).where(m(a(ae.tenant_id,t),a(ae.role_id,e))).all(),o=[...new Set(s.map(_=>_.resource_server_identifier))],l=new Map;if(o.length>0){const _=await i.select({identifier:E.identifier,name:E.name}).from(E).where(m(a(E.tenant_id,t),we(E.identifier,o))).all();for(const d of _)l.set(d.identifier,d.name)}return s.map(_=>({..._,resource_server_name:l.get(_.resource_server_identifier)||_.resource_server_identifier}))},async remove(t,e,n){const s=n.map(l=>m(a(ae.resource_server_identifier,l.resource_server_identifier),a(ae.permission_name,l.permission_name)));return(await i.delete(ae).where(m(a(ae.tenant_id,t),a(ae.role_id,e),ue(...s))).returning()).length>0}}}function Os(i){return{async create(t,e,n,s){var o,l;try{await i.insert(le).values({tenant_id:t,user_id:e,resource_server_identifier:n.resource_server_identifier,permission_name:n.permission_name,organization_id:s||"",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(t,e,n,s){let o=[a(le.tenant_id,t),a(le.user_id,e)];s&&o.push(a(le.organization_id,s));const l=await i.select().from(le).where(m(...o)).all();return await Promise.all(l.map(async d=>{const c=await i.select({name:E.name}).from(E).where(m(a(E.tenant_id,t),a(E.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(t,e,n,s){return(await i.delete(le).where(m(a(le.tenant_id,t),a(le.user_id,e),a(le.resource_server_identifier,n.resource_server_identifier),a(le.permission_name,n.permission_name),a(le.organization_id,s||""))).returning()).length>0}}}function gt(i){const{tenant_id:t,is_system:e,metadata:n,...s}=i;return z({...s,is_system:e?!0:void 0,metadata:b(n)})}function ks(i){return{async create(t,e){const n=new Date().toISOString(),o={id:e.id||oe(),tenant_id:t,name:e.name,description:e.description,is_system:e.is_system?1:0,metadata:e.metadata?JSON.stringify(e.metadata):void 0,created_at:n,updated_at:n};return await i.insert(F).values(o),gt({...o,tenant_id:t})},async get(t,e){const n=await i.select().from(F).where(m(a(F.tenant_id,t),a(F.id,e))).get();return n?gt(n):null},async update(t,e,n){const s={updated_at:new Date().toISOString()};return n.name!==void 0&&(s.name=n.name),n.description!==void 0&&(s.description=n.description),n.is_system!==void 0&&(s.is_system=n.is_system?1:0),n.metadata!==void 0&&(s.metadata=JSON.stringify(n.metadata)),(await i.update(F).set(s).where(m(a(F.tenant_id,t),a(F.id,e))).returning()).length>0},async list(t,e){const{page:n=0,per_page:s=50,include_totals:o=!1,sort:l,q:_}=e||{},d=_?he(F,_,["name"]):void 0,c=d?m(a(F.tenant_id,t),d):a(F.tenant_id,t);let u=i.select().from(F).where(c).$dynamic();if(l!=null&&l.sort_by){const w=F[l.sort_by];w&&(u=u.orderBy(l.sort_order==="desc"?V(w):Y(w)))}const g=(await u.offset(n*s).limit(s)).map(gt);if(!o)return{roles:g};const[y]=await i.select({count:R()}).from(F).where(c);return{roles:g,start:n*s,limit:s,length:Number((y==null?void 0:y.count)??0)}},async remove(t,e){return(await i.delete(F).where(m(a(F.tenant_id,t),a(F.id,e))).returning()).length>0}}}const zs=["created_at_ts","updated_at_ts"],Is=["expires_at_ts","idle_expires_at_ts","authenticated_at_ts","last_interaction_at_ts","used_at_ts","revoked_at_ts"];function ft(i){const{tenant_id:t,created_at_ts:e,updated_at_ts:n,expires_at_ts:s,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,...g}=i,y=Je({created_at_ts:e,updated_at_ts:n,expires_at_ts:s,idle_expires_at_ts:o,authenticated_at_ts:l,last_interaction_at_ts:_,used_at_ts:d,revoked_at_ts:c},[...zs],[...Is]);return z({...g,...y,device:b(u,{}),clients:b(h,[])})}function Ts(i){return{async create(t,e){const n=Date.now(),s={id:e.id||oe(),tenant_id:t,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:n,updated_at_ts:n,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):n,last_interaction_at_ts:e.last_interaction_at?j(e.last_interaction_at):n,used_at_ts:j(e.used_at),revoked_at_ts:j(e.revoked_at)};return await i.insert(B).values(s),ft({...s,tenant_id:t})},async get(t,e){const n=await i.select().from(B).where(m(a(B.tenant_id,t),a(B.id,e))).get();return n?ft(n):null},async update(t,e,n){const s={updated_at_ts:Date.now()};return n.user_id!==void 0&&(s.user_id=n.user_id),n.login_session_id!==void 0&&(s.login_session_id=n.login_session_id),n.device!==void 0&&(s.device=JSON.stringify(n.device)),n.clients!==void 0&&(s.clients=JSON.stringify(n.clients)),n.expires_at!==void 0&&(s.expires_at_ts=j(n.expires_at)),n.idle_expires_at!==void 0&&(s.idle_expires_at_ts=j(n.idle_expires_at)),n.authenticated_at!==void 0&&(s.authenticated_at_ts=j(n.authenticated_at)),n.last_interaction_at!==void 0&&(s.last_interaction_at_ts=j(n.last_interaction_at)),n.used_at!==void 0&&(s.used_at_ts=j(n.used_at)),n.revoked_at!==void 0&&(s.revoked_at_ts=j(n.revoked_at)),(await i.update(B).set(s).where(m(a(B.tenant_id,t),a(B.id,e))).returning()).length>0},async list(t,e){const{page:n=0,per_page:s=50,include_totals:o=!1,sort:l,q:_}=e||{},d=_?he(B,_,["user_id"]):void 0,c=d?m(a(B.tenant_id,t),d):a(B.tenant_id,t);let u=i.select().from(B).where(c).$dynamic();if(l!=null&&l.sort_by){const w=B[l.sort_by];w&&(u=u.orderBy(l.sort_order==="desc"?V(w):Y(w)))}const g=(await u.offset(n*s).limit(s)).map(ft);if(!o)return{sessions:g};const[y]=await i.select({count:R()}).from(B).where(c);return{sessions:g,start:n*s,limit:s,length:Number((y==null?void 0:y.count)??0)}},async remove(t,e){return(await i.delete(B).where(m(a(B.tenant_id,t),a(B.id,e))).returning()).length>0}}}const fr=["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"],mr=["allow_organization_name_in_authentication_api","customize_mfa_in_postlogin_action","pushed_authorization_requests_supported","authorization_response_iss_parameter_supported"];function Bt(i){const t={...i};for(const e of fr)typeof t[e]=="string"&&(t[e]=b(t[e]));for(const e of mr)t[e]!==void 0&&t[e]!==null&&(t[e]=t[e]===1);return z(t)}function Pt(i){const t={...i};Qr(i,fr,t);for(const e of mr)i[e]!==void 0&&(t[e]=i[e]?1:0);return dr(t)}function qs(i){return{async create(t){var s,o;const e={id:t.id||oe(),created_at:new Date().toISOString(),updated_at:new Date().toISOString(),...t},n=Pt(e);try{await i.insert(x).values(n)}catch(l){throw(s=l==null?void 0:l.message)!=null&&s.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(t){const e=await i.select().from(x).where(a(x.id,t)).get();return e?Bt(e):null},async list(t){const{page:e=0,per_page:n=50,include_totals:s=!1,sort:o,q:l}=t||{};let _=i.select().from(x).$dynamic();if(l){const h=he(x,l,["friendly_name"]);h&&(_=_.where(h))}if(o!=null&&o.sort_by){const h=x[o.sort_by];h&&(_=_.orderBy(o.sort_order==="desc"?V(h):Y(h)))}const c=(await _.offset(e*n).limit(n)).map(Bt);if(!s)return{tenants:c};const[u]=await i.select({count:R()}).from(x);return{tenants:c,start:e*n,limit:n,length:Number((u==null?void 0:u.count)??0)}},async update(t,e){const n=Pt({...e,id:t,updated_at:new Date().toISOString()});await i.update(x).set(n).where(a(x.id,t))},async remove(t){return(await i.delete(x).where(a(x.id,t)).returning()).length>0}}}const Ls=["colors","borders","fonts","page_background","widget"];function Qt(i){const{tenant_id:t,...e}=i,n=cr(e,Ls);return n.borders&&(n.borders.show_widget_shadow=!!n.borders.show_widget_shadow),n.fonts&&(n.fonts.links_bold=!!n.fonts.links_bold,n.fonts.subtitle_bold=!!n.fonts.subtitle_bold,n.fonts.title_bold=!!n.fonts.title_bold),z(n)}function Es(i){return{async create(t,e,n){const s=new Date().toISOString(),o=n||oe(),_={...Be(e),tenant_id:t,themeId:o,created_at:s,updated_at:s};return await i.insert(ge).values(_),Qt({..._,tenant_id:t})},async get(t,e){const n=await i.select().from(ge).where(m(a(ge.tenant_id,t),a(ge.themeId,e))).get();return n?Qt(n):null},async update(t,e,n){const s=Be(n);return s.updated_at=new Date().toISOString(),await i.update(ge).set(s).where(m(a(ge.tenant_id,t),a(ge.themeId,e))),!0},async remove(t,e){return(await i.delete(ge).where(m(a(ge.tenant_id,t),a(ge.themeId,e))).returning()).length>0}}}function As(i){return{async get(t){const e=await i.select({body:Ne.body}).from(Ne).where(a(Ne.tenant_id,t)).get();return e?{body:e.body}:null},async set(t,e){const n=Date.now();await i.insert(Ne).values({tenant_id:t,body:e.body,created_at_ts:n,updated_at_ts:n}).onConflictDoUpdate({target:Ne.tenant_id,set:{body:e.body,updated_at_ts:n}})},async delete(t){await i.delete(Ne).where(a(Ne.tenant_id,t))}}}function Jt(i,t){const e={connection:i.connection,provider:i.provider,user_id:i.user_id,isSocial:!!i.is_social};return t?e.isPrimary=!0:e.profileData={email:i.email,email_verified:!!i.email_verified,...typeof i.profileData=="string"?b(i.profileData,{}):{}},e}function mt(i,t=[]){const{tenant_id:e,app_metadata:n,user_metadata:s,address:o,email_verified:l,phone_verified:_,is_social:d,linked_to:c,profileData:u,...h}=i,g=Jt(i,!0),y=t.map(w=>Jt(w,!1));return z({...h,email:i.email||"",email_verified:!!l,phone_verified:_!=null?!!_:void 0,is_social:!!d,app_metadata:b(n,{}),user_metadata:b(s,{}),address:b(o),identities:[g,...y]})}function Cs(i){return{async create(t,e){var l,_;const n=new Date().toISOString(),s={user_id:e.user_id,tenant_id:t,email:e.email,given_name:e.given_name,family_name:e.family_name,nickname:e.nickname,name:e.name,picture:e.picture,tags:e.tags,phone_number:e.phone_number,phone_verified:e.phone_verified??!1,username:e.username,linked_to:e.linked_to,last_ip:e.last_ip,login_count:e.login_count??0,last_login:e.last_login,provider:e.provider,connection:e.connection,email_verified:e.email_verified??!1,is_social:e.is_social??!1,app_metadata:JSON.stringify(e.app_metadata||{}),user_metadata:JSON.stringify(e.user_metadata||{}),address:e.address?JSON.stringify(e.address):void 0,profileData:e.profileData?JSON.stringify(e.profileData):void 0,locale:e.locale,middle_name:e.middle_name,preferred_username:e.preferred_username,profile:e.profile,website:e.website,gender:e.gender,birthdate:e.birthdate,zoneinfo:e.zoneinfo,created_at:e.created_at||n,updated_at:e.updated_at||n},o=e.password?oe():void 0;try{await i.insert(k).values(s),e.password&&o&&await i.insert(C).values({id:o,tenant_id:t,user_id:e.user_id,password:e.password.hash||e.password,algorithm:e.password.algorithm||"bcrypt",is_current:1,created_at:n,updated_at:n})}catch(d){throw(l=d==null?void 0:d.message)!=null&&l.includes("UNIQUE constraint")||(_=d==null?void 0:d.message)!=null&&_.includes("AlreadyExists")?new be(409,{message:"User already exists"}):(console.error("User upsert failed:",d==null?void 0:d.code,d==null?void 0:d.message),new be(500,{message:"Internal server error"}))}return mt(s)},async get(t,e){const n=await i.select().from(k).where(m(a(k.tenant_id,t),a(k.user_id,e))).get();if(!n)return null;const s=await i.select().from(k).where(m(a(k.tenant_id,t),a(k.linked_to,e))).all();return mt(n,s)},async update(t,e,n){const s={updated_at:new Date().toISOString()},o=["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 _ of o)n[_]!==void 0&&(s[_]=n[_]);return n.email_verified!==void 0&&(s.email_verified=n.email_verified),n.phone_verified!==void 0&&(s.phone_verified=n.phone_verified),n.is_social!==void 0&&(s.is_social=n.is_social),n.app_metadata!==void 0&&(s.app_metadata=JSON.stringify(n.app_metadata)),n.user_metadata!==void 0&&(s.user_metadata=JSON.stringify(n.user_metadata)),n.address!==void 0&&(s.address=JSON.stringify(n.address)),n.profileData!==void 0&&(s.profileData=JSON.stringify(n.profileData)),(await i.update(k).set(s).where(m(a(k.tenant_id,t),a(k.user_id,e))).returning()).length>0},async list(t,e){const{page:n=0,per_page:s=50,include_totals:o=!1,sort:l,q:_}=e||{},d=[a(k.tenant_id,t),pe(k.linked_to)];if(_){const q=he(k,_,["email","name","nickname","username"]);q&&d.push(q)}const c=m(...d);let u=i.select().from(k).where(c).$dynamic();if(l!=null&&l.sort_by){const q=k[l.sort_by];q&&(u=u.orderBy(l.sort_order==="desc"?V(q):Y(q)))}const h=await u.offset(n*s).limit(s),g=h.map(q=>q.user_id);let y=[];g.length>0&&(y=await i.select().from(k).where(m(a(k.tenant_id,t),we(k.linked_to,g))));const w=h.map(q=>{const ye=y.filter(ke=>ke.linked_to===q.user_id);return mt(q,ye)});if(!o)return{users:w};const[A]=await i.select({count:R()}).from(k).where(c);return{users:w,start:n*s,limit:s,length:Number((A==null?void 0:A.count)??0)}},async remove(t,e){i.run(N`BEGIN`);try{const n=await i.select({user_id:k.user_id}).from(k).where(m(a(k.tenant_id,t),a(k.linked_to,e))),s=[e,...n.map(l=>l.user_id)];await i.delete(U).where(m(a(U.tenant_id,t),we(U.user_id,s))),await i.delete(C).where(m(a(C.tenant_id,t),we(C.user_id,s))),await i.delete(k).where(m(a(k.tenant_id,t),a(k.linked_to,e)));const o=await i.delete(k).where(m(a(k.tenant_id,t),a(k.user_id,e))).returning();return i.run(N`COMMIT`),o.length>0}catch(n){throw i.run(N`ROLLBACK`),n}},async unlink(t,e,n,s){const o=`${n}|${s}`;return(await i.update(k).set({linked_to:null}).where(m(a(k.tenant_id,t),a(k.user_id,o),a(k.linked_to,e))).returning()).length>0}}}function $s(i){return{async create(t,e,n,s){var o,l;try{await i.insert(_e).values({tenant_id:t,user_id:e,role_id:n,organization_id:s||"",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(t,e,n,s){let o=[a(_e.tenant_id,t),a(_e.user_id,e)];s&&o.push(a(_e.organization_id,s));const l=await i.select({role_id:_e.role_id}).from(_e).where(m(...o)).all();return l.length===0?[]:(await Promise.all(l.map(async d=>{const c=await i.select().from(F).where(m(a(F.tenant_id,t),a(F.id,d.role_id))).get();if(!c)return null;const{tenant_id:u,is_system:h,metadata:g,...y}=c;return z({...y,is_system:h?!0:void 0,metadata:b(g)})}))).filter(Boolean)},async remove(t,e,n,s){return(await i.delete(_e).where(m(a(_e.tenant_id,t),a(_e.user_id,e),a(_e.role_id,n),a(_e.organization_id,s||""))).returning()).length>0}}}function Bs(i){return{async create(t,e){var d,c;const n=new Date().toISOString(),o={id:e.id||oe(),tenant_id:t,user_id:e.user_id,organization_id:e.organization_id,created_at:n,updated_at:n};try{await i.insert(Q).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(t,e){const n=await i.select().from(Q).where(m(a(Q.tenant_id,t),a(Q.id,e))).get();if(!n)return null;const{tenant_id:s,...o}=n;return o},async update(t,e,n){const s={updated_at:new Date().toISOString()};return n.user_id!==void 0&&(s.user_id=n.user_id),n.organization_id!==void 0&&(s.organization_id=n.organization_id),(await i.update(Q).set(s).where(m(a(Q.tenant_id,t),a(Q.id,e))).returning()).length>0},async list(t,e){const{page:n=0,per_page:s=50,include_totals:o=!1,q:l}=e||{},_=a(Q.tenant_id,t);let d=_;if(l){const g=he(Q,l,["user_id","organization_id"]);g&&(d=m(_,g))}const u=(await i.select().from(Q).where(d).offset(n*s).limit(s)).map(g=>{const{tenant_id:y,...w}=g;return w});if(!o)return{userOrganizations:u};const[h]=await i.select({count:R()}).from(Q).where(d);return{userOrganizations:u,start:n*s,limit:s,length:Number((h==null?void 0:h.count)??0)}},async listUserOrganizations(t,e,n){const{page:s=0,per_page:o=50,include_totals:l=!1}=n||{},_=await i.select().from(Q).where(m(a(Q.tenant_id,t),a(Q.user_id,e))).offset(s*o).limit(o).all(),c=(await Promise.all(_.map(async h=>{const g=await i.select().from(L).where(m(a(L.tenant_id,t),a(L.id,h.organization_id))).get();if(!g)return null;const{tenant_id:y,branding:w,metadata:A,enabled_connections:q,token_quota:ye,...ke}=g;return z({...ke,branding:b(w,{}),metadata:b(A,{}),enabled_connections:b(q,[]),token_quota:b(ye,{})})}))).filter(Boolean);if(!l)return{organizations:c};const[u]=await i.select({count:R()}).from(Q).where(m(a(Q.tenant_id,t),a(Q.user_id,e)));return{organizations:c,start:s*o,limit:o,length:Number((u==null?void 0:u.count)??0)}},async remove(t,e){return(await i.delete(Q).where(m(a(Q.tenant_id,t),a(Q.id,e))).returning()).length>0}}}const Ft=["s","seacft","seccft","sepft","sertft","ssa"],Ps=["pwd_leak","signup_pwd_leak","reset_pwd_leak"];function Qs(i){return{async getDaily(t,e){const n=new Date,s=(e==null?void 0:e.from)||new Date(n.getTime()-30*24*60*60*1e3).toISOString().split("T")[0],o=(e==null?void 0:e.to)||n.toISOString().split("T")[0];return(await i.select({date:N`substr(${T.date}, 1, 10)`.as("date"),logins:N`SUM(CASE WHEN ${T.type} IN (${N.join(Ft.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(Ps.map(_=>N`${_}`),N`, `)}) THEN 1 ELSE 0 END)`.as("leaked_passwords")}).from(T).where(m(a(T.tenant_id,t),We(T.date,s),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(t){const e=new Date(Date.now()-2592e6).toISOString(),[n]=await i.select({count:N`COUNT(DISTINCT ${T.user_id})`.as("count")}).from(T).where(m(a(T.tenant_id,t),We(T.date,e),N`${T.type} IN (${N.join(Ft.map(s=>N`${s}`),N`, `)})`));return Number(n==null?void 0:n.count)||0}}}function Ut(i){return{...i,payload:b(i.payload,{})}}function Js(i){return{async create(t,e){const n=oe(),s=new Date().toISOString();return await i.insert(I).values({id:n,tenant_id:t,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:n}),created_at:s,processed_at:null,retry_count:0,next_retry_at:null,error:null,claimed_by:null,claim_expires_at:null}),n},async getByIds(t){return t.length===0?[]:(await i.select().from(I).where(we(I.id,t)).all()).map(Ut)},async getUnprocessed(t){const e=new Date().toISOString();return(await i.select().from(I).where(m(pe(I.processed_at),ue(pe(I.next_retry_at),Oe(I.next_retry_at,e)),ue(pe(I.claimed_by),Oe(I.claim_expires_at,e)))).orderBy(I.created_at,I.id).limit(t).all()).map(Ut)},async claimEvents(t,e,n){if(t.length===0)return[];const s=new Date().toISOString(),o=new Date(Date.now()+n).toISOString();return await i.update(I).set({claimed_by:e,claim_expires_at:o}).where(m(we(I.id,t),pe(I.processed_at),ue(pe(I.claimed_by),Oe(I.claim_expires_at,s)))),(await i.select({id:I.id}).from(I).where(m(we(I.id,t),a(I.claimed_by,e))).all()).map(_=>_.id)},async markProcessed(t){t.length!==0&&await i.update(I).set({processed_at:new Date().toISOString()}).where(we(I.id,t))},async markRetry(t,e,n){await i.update(I).set({error:e,next_retry_at:n,retry_count:N`${I.retry_count} + 1`,claimed_by:null,claim_expires_at:null}).where(a(I.id,t))},async cleanup(t){return(await i.delete(I).where(m(N`${I.processed_at} IS NOT NULL`,Oe(I.processed_at,t))).returning()).length}}}const Fs=7*24*60*60*1e3;function Us(i){return async t=>{const e=Date.now()-Fs;try{let n=[ue(xe($.expires_at_ts,e),xe($.idle_expires_at_ts,e))];t!=null&&t.tenant_id&&n.push(a($.tenant_id,t.tenant_id)),await i.delete($).where(m(...n)),n=[ue(xe(B.expires_at_ts,e),xe(B.idle_expires_at_ts,e))],t!=null&&t.tenant_id&&n.push(a(B.tenant_id,t.tenant_id)),t!=null&&t.user_id&&n.push(a(B.user_id,t.user_id)),await i.delete(B).where(m(...n)),n=[xe(se.expires_at_ts,e)],t!=null&&t.tenant_id&&n.push(a(se.tenant_id,t.tenant_id)),await i.delete(se).where(m(...n))}catch(n){console.error("Session cleanup error:",n)}}}function Ks(i,t={useTransactions:!0}){const e={branding:Ur(i),clients:Kr(i),clientConnections:Mr(i),clientGrants:Gr(i),codes:Yr(i),connections:Zr(i),customDomains:es(i),customText:ts(i),emailProviders:ns(i),flows:is(i),forms:rs(i),hookCode:as(i),hooks:_s(i),invites:ds(i),keys:cs(i),loginSessions:fs(i),logs:ms(i),authenticationMethods:ps(i),organizations:ws(i),passwords:Ns(i),promptSettings:vs(i),refreshTokens:Ss(i),resourceServers:xs(i),rolePermissions:Ds(i),userPermissions:Os(i),roles:ks(i),sessions:Ts(i),sessionCleanup:Us(i),tenants:qs(i),themes:Es(i),universalLoginTemplates:As(i),users:Cs(i),userRoles:$s(i),userOrganizations:Bs(i),stats:Qs(i),outbox:Js(i),async transaction(n){if(t.useTransactions===!1)return n(e);i.run(N`BEGIN`);try{const s=await n(e);return i.run(N`COMMIT`),s}catch(s){throw i.run(N`ROLLBACK`),s}}};return e}exports.default=Ks;exports.sqlite=Pr;
|
|
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=(2<<Math.log2(n.length-1))-1,r=-~(1.6*t*i/n.length);return(o=i)=>{let l="";for(;;){let _=e(r),d=r|0;for(;d--;)if(l+=n[_[d]&t]||"",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 I({...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 I(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 I({...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 I({...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 I({...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 I({...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 I({...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 I(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 I(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 I({...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,I(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 I(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 I({...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=I({country_code:o,city_name:l,latitude:_,longitude:d,time_zone:c,continent_code:u})),I(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 I({..._,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 I({...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(ze(q.name,`%${_}%`),ze(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(ze(q.name,`%${_}%`),ze(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 I({...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 I(_)}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(ze(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 I({...r,is_system:e?!0:void 0,metadata:b(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(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 Is=["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},[...Is],[...Ts]);return I({...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 I(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),I(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 I({...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 I({...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 I({...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:zs(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;
|