@authhero/drizzle 0.31.3 → 0.32.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 +13 -0
- package/dist/drizzle-adapter.mjs +5295 -0
- package/drizzle/{0000_large_nitro.sql → 0000_good_eternity.sql} +45 -3
- package/drizzle/0001_add_custom_domains_domain_unique.sql +9 -0
- package/drizzle/meta/0000_snapshot.json +657 -111
- package/drizzle/meta/0001_snapshot.json +5248 -0
- package/drizzle/meta/_journal.json +10 -3
- package/package.json +21 -11
- package/src/schema/sqlite/connections.ts +21 -17
- package/src/schema/sqlite/index.ts +3 -0
- package/src/schema/sqlite/outbox.ts +29 -0
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";var mr=Object.defineProperty;var hr=(i,t,e)=>t in i?mr(i,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):i[t]=e;var f=(i,t,e)=>hr(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 Ft;Ft=v;class Be{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(Be,Ft,"Column");var Ut;Ut=v;class ki{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(ki,Ut,"ColumnBuilder");const ze=Symbol.for("drizzle:Name"),zt=Symbol.for("drizzle:isPgEnum");function pr(i){return!!i&&typeof i=="function"&&zt in i&&i[zt]===!0}var Kt;Kt=v;class St{constructor(t,e,n,s=!1,o=[]){this._={brand:"Subquery",sql:t,selectedFields:e,alias:n,isWith:s,usedTables:o}}}f(St,Kt,"Subquery");const yr={startActiveSpan(i,t){return t()}},Le=Symbol.for("drizzle:ViewBaseConfig"),Ye=Symbol.for("drizzle:Schema"),It=Symbol.for("drizzle:Columns"),Tt=Symbol.for("drizzle:ExtraConfigColumns"),Xe=Symbol.for("drizzle:OriginalName"),Ze=Symbol.for("drizzle:BaseName"),Ke=Symbol.for("drizzle:IsAlias"),qt=Symbol.for("drizzle:ExtraConfigBuilder"),wr=Symbol.for("drizzle:IsDrizzleTable");var jt,Mt,Vt,Rt,Wt,Ht,Gt,Yt,Xt,Zt;Zt=v,Xt=ze,Yt=Xe,Gt=Ye,Ht=It,Wt=Tt,Rt=Ze,Vt=Ke,Mt=wr,jt=qt;class M{constructor(t,e,n){f(this,Xt);f(this,Yt);f(this,Gt);f(this,Ht);f(this,Wt);f(this,Rt);f(this,Vt,!1);f(this,Mt,!0);f(this,jt);this[ze]=this[Xe]=t,this[Ye]=e,this[Ze]=n}}f(M,Zt,"Table"),f(M,"Symbol",{Name:ze,Schema:Ye,OriginalName:Xe,Columns:It,ExtraConfigColumns:Tt,BaseName:Ze,IsAlias:Ke,ExtraConfigBuilder:qt});function zi(i){return i!=null&&typeof i.getSQL=="function"}function Nr(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 en;en=v;class G{constructor(t){f(this,"value");this.value=Array.isArray(t)?t:[t]}getSQL(){return new F([this])}}f(G,en,"StringChunk");var tn;tn=v;const xe=class xe{constructor(t){f(this,"decoder",Ii);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 yr.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:c,paramStartIndex:d}=n;return Nr(t.map(u=>{var h;if(H(u,G))return{sql:u.value.join(""),params:[]};if(H(u,je))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,xe))return this.buildQueryFromSourceParams(u.queryChunks,{...n,inlineParams:c||u.shouldInlineParams});if(H(u,M)){const g=u[M.Symbol.Schema],y=u[M.Symbol.Name];return{sql:g===void 0||u[Ke]?o(y):o(g)+"."+o(y),params:[]}}if(H(u,Be)){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[Ke]||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,bt)){const g=u[Le].schema,y=u[Le].name;return{sql:g===void 0||u[Le].isAlias?o(y):o(g)+"."+o(y),params:[]}}if(H(u,Ee)){if(H(u.value,Ae))return{sql:l(d.value++,u),params:[u],typings:["none"]};const g=u.value===null?null:u.encoder.mapToDriverValue(u.value);if(H(g,xe))return this.buildQueryFromSourceParams([g],n);if(c)return{sql:this.mapInlineParam(g,n),params:[]};let y=["none"];return _&&(y=[_(u.encoder)]),{sql:l(d.value++,g),params:[g],typings:y}}return H(u,Ae)?{sql:l(d.value++,u),params:[u],typings:["none"]}:H(u,xe.Aliased)&&u.fieldAlias!==void 0?{sql:o(u.fieldAlias),params:[]}:H(u,St)?u._.isWith?{sql:o(u._.alias),params:[]}:this.buildQueryFromSourceParams([new G("("),u._.sql,new G(") "),new je(u._.alias)],n):pr(u)?u.schema?{sql:o(u.schema)+"."+o(u.enumName),params:[]}:{sql:o(u.enumName),params:[]}:zi(u)?(h=u.shouldOmitSQLParens)!=null&&h.call(u)?this.buildQueryFromSourceParams([u.getSQL()],n):this.buildQueryFromSourceParams([new G("("),u.getSQL(),new G(")")],n):c?{sql:this.mapInlineParam(u,n),params:[]}:{sql:l(d.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 xe.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(xe,tn,"SQL");let F=xe;var nn;nn=v;class je{constructor(t){f(this,"brand");this.value=t}getSQL(){return new F([this])}}f(je,nn,"Name");function vr(i){return typeof i=="object"&&i!==null&&"mapToDriverValue"in i&&typeof i.mapToDriverValue=="function"}const Ii={mapFromDriverValue:i=>i},Ti={mapToDriverValue:i=>i};({...Ii,...Ti});var rn;rn=v;class Ee{constructor(t,e=Ti){f(this,"brand");this.value=t,this.encoder=e}getSQL(){return new F([this])}}f(Ee,rn,"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 F(e)}(i=>{function t(){return new F([])}i.empty=t;function e(c){return new F(c)}i.fromList=e;function n(c){return new F([new G(c)])}i.raw=n;function s(c,d){const u=[];for(const[h,g]of c.entries())h>0&&d!==void 0&&u.push(d),u.push(g);return new F(u)}i.join=s;function o(c){return new je(c)}i.identifier=o;function l(c){return new Ae(c)}i.placeholder=l;function _(c,d){return new Ee(c,d)}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})(F||(F={}));var sn;sn=v;class Ae{constructor(t){this.name=t}getSQL(){return new F([this])}}f(Ae,sn,"Placeholder");const Sr=Symbol.for("drizzle:IsDrizzleView");var on,an,ln;ln=v,an=Le,on=Sr;class bt{constructor({name:t,schema:e,selectedFields:n,query:s}){f(this,an);f(this,on,!0);this[Le]={name:t,originalName:t,schema:e,selectedFields:n,query:s,isExisting:!s,isAlias:!1}}getSQL(){return new F([this])}}f(bt,ln,"View");Be.prototype.getSQL=function(){return new F([this])};M.prototype.getSQL=function(){return new F([this])};St.prototype.getSQL=function(){return new F([this])};function Pe(i,t){return{name:typeof i=="string"&&i.length>0?i:"",config:typeof i=="object"?i:t}}const qi=typeof TextDecoder>"u"?null:new TextDecoder;function ve(i,t){return vr(t)&&!zi(i)&&!H(i,Ee)&&!H(i,Ae)&&!H(i,Be)&&!H(i,M)&&!H(i,bt)?new Ee(i,t):i}const a=(i,t)=>N`${i} = ${ve(t,i)}`,br=(i,t)=>N`${i} <> ${ve(t,i)}`;function m(...i){const t=i.filter(e=>e!==void 0);if(t.length!==0)return t.length===1?new F(t):new F([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 F(t):new F([new G("("),N.join(t,new G(" or ")),new G(")")])}const Me=(i,t)=>N`${i} > ${ve(t,i)}`,Ve=(i,t)=>N`${i} >= ${ve(t,i)}`,be=(i,t)=>N`${i} < ${ve(t,i)}`,De=(i,t)=>N`${i} <= ${ve(t,i)}`;function ye(i,t){return Array.isArray(t)?t.length===0?N`false`:N`${i} in ${t.map(e=>ve(e,i))}`:N`${i} in ${ve(t,i)}`}function he(i){return N`${i} is null`}function xr(i){return N`${i} is not null`}function ke(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 _n;_n=v;class Li{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 Ei(t,this)}}f(Li,_n,"SQLiteForeignKeyBuilder");var un;un=v;class Ei{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[ze],...s,n[0].table[ze],...o];return t??`${l.join("_")}_fk`}}f(Ei,un,"SQLiteForeignKey");function Dr(i,t){return`${i[ze]}_${t.join("_")}_unique`}var cn,dn;class ce extends(dn=ki,cn=v,dn){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 c=new Li(()=>{const d=l();return{columns:[e],foreignColumns:[d]}});return _.onUpdate&&c.onUpdate(_.onUpdate),_.onDelete&&c.onDelete(_.onDelete),c.build(n)})(s,o))}}f(ce,cn,"SQLiteColumnBuilder");var gn,fn;class de extends(fn=Be,gn=v,fn){constructor(t,e){e.uniqueName||(e.uniqueName=Dr(t,[e.name])),super(t,e),this.table=t}}f(de,gn,"SQLiteColumn");var mn,hn;class Ai extends(hn=ce,mn=v,hn){constructor(t){super(t,"bigint","SQLiteBigInt")}build(t){return new Ci(t,this.config)}}f(Ai,mn,"SQLiteBigIntBuilder");var pn,yn;class Ci extends(yn=de,pn=v,yn){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(qi.decode(t))}mapToDriverValue(t){return Buffer.from(t.toString())}}f(Ci,pn,"SQLiteBigInt");var wn,Nn;class $i extends(Nn=ce,wn=v,Nn){constructor(t){super(t,"json","SQLiteBlobJson")}build(t){return new Bi(t,this.config)}}f($i,wn,"SQLiteBlobJsonBuilder");var vn,Sn;class Bi extends(Sn=de,vn=v,Sn){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(qi.decode(t))}mapToDriverValue(t){return Buffer.from(JSON.stringify(t))}}f(Bi,vn,"SQLiteBlobJson");var bn,xn;class Pi extends(xn=ce,bn=v,xn){constructor(t){super(t,"buffer","SQLiteBlobBuffer")}build(t){return new Qi(t,this.config)}}f(Pi,bn,"SQLiteBlobBufferBuilder");var Dn,On;class Qi extends(On=de,Dn=v,On){mapFromDriverValue(t){return Buffer.isBuffer(t)?t:Buffer.from(t)}getSQLType(){return"blob"}}f(Qi,Dn,"SQLiteBlobBuffer");function Or(i,t){const{name:e,config:n}=Pe(i,t);return(n==null?void 0:n.mode)==="json"?new $i(e):(n==null?void 0:n.mode)==="bigint"?new Ai(e):new Pi(e)}var kn,zn;class Ji extends(zn=ce,kn=v,zn){constructor(t,e,n){super(t,"custom","SQLiteCustomColumn"),this.config.fieldConfig=e,this.config.customTypeParams=n}build(t){return new Fi(t,this.config)}}f(Ji,kn,"SQLiteCustomColumnBuilder");var In,Tn;class Fi extends(Tn=de,In=v,Tn){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(Fi,In,"SQLiteCustomColumn");function kr(i){return(t,e)=>{const{name:n,config:s}=Pe(t,e);return new Ji(n,s,i)}}var qn,Ln;class Re extends(Ln=ce,qn=v,Ln){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(Re,qn,"SQLiteBaseIntegerBuilder");var En,An;class We extends(An=de,En=v,An){constructor(){super(...arguments);f(this,"autoIncrement",this.config.autoIncrement)}getSQLType(){return"integer"}}f(We,En,"SQLiteBaseInteger");var Cn,$n;class Ui extends($n=Re,Cn=v,$n){constructor(t){super(t,"number","SQLiteInteger")}build(t){return new Ki(t,this.config)}}f(Ui,Cn,"SQLiteIntegerBuilder");var Bn,Pn;class Ki extends(Pn=We,Bn=v,Pn){}f(Ki,Bn,"SQLiteInteger");var Qn,Jn;class ji extends(Jn=Re,Qn=v,Jn){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 Mi(t,this.config)}}f(ji,Qn,"SQLiteTimestampBuilder");var Fn,Un;class Mi extends(Un=We,Fn=v,Un){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(Mi,Fn,"SQLiteTimestamp");var Kn,jn;class Vi extends(jn=Re,Kn=v,jn){constructor(t,e){super(t,"boolean","SQLiteBoolean"),this.config.mode=e}build(t){return new Ri(t,this.config)}}f(Vi,Kn,"SQLiteBooleanBuilder");var Mn,Vn;class Ri extends(Vn=We,Mn=v,Vn){constructor(){super(...arguments);f(this,"mode",this.config.mode)}mapFromDriverValue(e){return Number(e)===1}mapToDriverValue(e){return e?1:0}}f(Ri,Mn,"SQLiteBoolean");function p(i,t){const{name:e,config:n}=Pe(i,t);return(n==null?void 0:n.mode)==="timestamp"||(n==null?void 0:n.mode)==="timestamp_ms"?new ji(e,n.mode):(n==null?void 0:n.mode)==="boolean"?new Vi(e,n.mode):new Ui(e)}var Rn,Wn;class Wi extends(Wn=ce,Rn=v,Wn){constructor(t){super(t,"string","SQLiteNumeric")}build(t){return new Hi(t,this.config)}}f(Wi,Rn,"SQLiteNumericBuilder");var Hn,Gn;class Hi extends(Gn=de,Hn=v,Gn){mapFromDriverValue(t){return typeof t=="string"?t:String(t)}getSQLType(){return"numeric"}}f(Hi,Hn,"SQLiteNumeric");var Yn,Xn;class Gi extends(Xn=ce,Yn=v,Xn){constructor(t){super(t,"number","SQLiteNumericNumber")}build(t){return new Yi(t,this.config)}}f(Gi,Yn,"SQLiteNumericNumberBuilder");var Zn,ei;class Yi extends(ei=de,Zn=v,ei){constructor(){super(...arguments);f(this,"mapToDriverValue",String)}mapFromDriverValue(e){return typeof e=="number"?e:Number(e)}getSQLType(){return"numeric"}}f(Yi,Zn,"SQLiteNumericNumber");var ti,ni;class Xi extends(ni=ce,ti=v,ni){constructor(t){super(t,"bigint","SQLiteNumericBigInt")}build(t){return new Zi(t,this.config)}}f(Xi,ti,"SQLiteNumericBigIntBuilder");var ii,ri;class Zi extends(ri=de,ii=v,ri){constructor(){super(...arguments);f(this,"mapFromDriverValue",BigInt);f(this,"mapToDriverValue",String)}getSQLType(){return"numeric"}}f(Zi,ii,"SQLiteNumericBigInt");function zr(i,t){const{name:e,config:n}=Pe(i,t),s=n==null?void 0:n.mode;return s==="number"?new Gi(e):s==="bigint"?new Xi(e):new Wi(e)}var si,oi;class er extends(oi=ce,si=v,oi){constructor(t){super(t,"number","SQLiteReal")}build(t){return new tr(t,this.config)}}f(er,si,"SQLiteRealBuilder");var ai,li;class tr extends(li=de,ai=v,li){getSQLType(){return"real"}}f(tr,ai,"SQLiteReal");function Ir(i){return new er(i??"")}var _i,ui;class nr extends(ui=ce,_i=v,ui){constructor(t,e){super(t,"string","SQLiteText"),this.config.enumValues=e.enum,this.config.length=e.length}build(t){return new ir(t,this.config)}}f(nr,_i,"SQLiteTextBuilder");var ci,di;class ir extends(di=de,ci=v,di){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(ir,ci,"SQLiteText");var gi,fi;class rr extends(fi=ce,gi=v,fi){constructor(t){super(t,"json","SQLiteTextJson")}build(t){return new sr(t,this.config)}}f(rr,gi,"SQLiteTextJsonBuilder");var mi,hi;class sr extends(hi=de,mi=v,hi){getSQLType(){return"text"}mapFromDriverValue(t){return JSON.parse(t)}mapToDriverValue(t){return JSON.stringify(t)}}f(sr,mi,"SQLiteTextJson");function r(i,t={}){const{name:e,config:n}=Pe(i,t);return n.mode==="json"?new rr(e):new nr(e,n)}function Tr(){return{blob:Or,customType:kr,integer:p,numeric:zr,real:Ir,text:r}}const mt=Symbol.for("drizzle:SQLiteInlineForeignKeys");var pi,yi,wi,Ni,vi;class Ce extends(vi=M,Ni=v,wi=M.Symbol.Columns,yi=mt,pi=M.Symbol.ExtraConfigBuilder,vi){constructor(){super(...arguments);f(this,wi);f(this,yi,[]);f(this,pi)}}f(Ce,Ni,"SQLiteTable"),f(Ce,"Symbol",Object.assign({},M.Symbol,{InlineForeignKeys:mt}));function qr(i,t,e,n,s=i){const o=new Ce(i,n,s),l=typeof t=="function"?t(Tr()):t,_=Object.fromEntries(Object.entries(l).map(([d,u])=>{const h=u;h.setName(d);const g=h.build(o);return o[mt].push(...h.buildForeignKeys(g,o)),[d,g]})),c=Object.assign(o,_);return c[M.Symbol.Columns]=_,c[M.Symbol.ExtraConfigColumns]=_,e&&(c[Ce.Symbol.ExtraConfigBuilder]=e),c}const D=(i,t,e)=>qr(i,t,e);var Si;Si=v;class xt{constructor(t,e){this.name=t,this.unique=e}on(...t){return new or(this.name,t,this.unique)}}f(xt,Si,"SQLiteIndexBuilderOn");var bi;bi=v;class or{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 ar(this.config,t)}}f(or,bi,"SQLiteIndexBuilder");var xi;xi=v;class ar{constructor(t,e){f(this,"config");this.config={...t,table:e}}}f(ar,xi,"SQLiteIndex");function S(i){return new xt(i,!1)}function Ie(i){return new xt(i,!0)}function re(...i){return i[0].columns?new ht(i[0].columns,i[0].name):new ht(i)}var Di;Di=v;class ht{constructor(t,e){f(this,"columns");f(this,"name");this.columns=t,this.name=e}build(t){return new lr(t,this.columns,this.name)}}f(ht,Di,"SQLitePrimaryKeyBuilder");var Oi;Oi=v;class lr{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[Ce.Symbol.Name]}_${this.columns.map(t=>t.name).join("_")}_pk`}}f(lr,Oi,"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"}),Ie("unique_email_provider").on(i.email,i.provider,i.tenant_id),Ie("unique_phone_provider").on(i.phone_number,i.provider,i.tenant_id),Ie("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)]),Lr=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})}),Er=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)]),Ar=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)]),J=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),Ie("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=>[Ie("custom_domains_domain_unique").on(i.domain)]),Cr=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=>[Ie("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)]),U=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"})]),Te=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")}),we=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)]),qe=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)}),Ne=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})}),fe=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(()=>J.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]})]),K=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)]),$r=Object.freeze(Object.defineProperty({__proto__:null,authenticationCodes:Lr,authenticationMethods:K,branding:Te,clientGrants:W,clients:O,codes:P,connections:J,customDomains:ie,customText:Z,domains:Cr,emailProviders:Ne,flows:ne,forms:te,hooks:X,invites:ee,keys:fe,loginSessions:se,logs:T,organizations:L,otps:Er,outboxEvents:I,passwords:C,promptSettings:qe,refreshTokens:$,resourceServers:E,rolePermissions:ae,roles:U,sessions:B,tenants:x,themes:ge,tickets:Ar,universalLoginTemplates:we,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 Br(i,t,e={...i}){for(const n of t)i[n]!==void 0&&(e[n]=JSON.stringify(i[n]));return e}function Pr(i,t,e=i){for(const n of t)i[n]!==void 0&&(e[n]=i[n]?1:0)}function _r(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 $e(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)?$e(o,s,e):typeof o=="boolean"?e[s]=o?1:0:e[s]=o}return e}function ur(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 Qr(i){return typeof i=="string"?parseInt(i,10):typeof i=="bigint"?Number(i):i}function Jr(i){return{async get(t){const e=await i.select().from(Te).where(a(Te.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:c,font_url:d,...u}=e;return z({...u,colors:{primary:s,page_background:{type:o,start:l,end:_,angle_deg:c}},font:d?{url:d}:void 0})},async set(t,e){var _,c,d,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:(c=n==null?void 0:n.page_background)==null?void 0:c.start,colors_page_background_end:(d=n==null?void 0:n.page_background)==null?void 0:d.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(Te).values(l).onConflictDoUpdate({target:Te.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 Se=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 me(i,t,e){const n=t.split(/ OR /i);if(n.length>1){const d=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 d.length===0?void 0:ue(...d)}const s=[];let o="",l=!1;for(let d=0;d<t.length;d++){const u=t[d];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(d=>d.replace(/^([^:]+)=/g,"$1:")).map(d=>{let u=d.startsWith("-"),h=null,g="",y=!1,w;if(d.startsWith("-_exists_:"))h=d.substring(10),y=!0,u=!0;else if(d.startsWith("_exists_:"))h=d.substring(9),y=!0,u=!1;else if(d.includes(":")){const A=u?d.substring(1):d,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=d,y=!1;return{key:h,value:g,isNegation:u,isExistsQuery:y,operator:w}}),c=[];for(const{key:d,value:u,isNegation:h,isExistsQuery:g,operator:y}of _)if(d){const w=i[d];if(!w){g?c.push(h?N`${N.identifier(d)} IS NULL`:N`${N.identifier(d)} IS NOT NULL`):c.push(N`${N.identifier(d)} ${N.raw(h?"!=":y??"=")} ${u}`);continue}if(g)c.push(h?he(w):xr(w));else if(h)switch(y){case">":c.push(De(w,u));break;case">=":c.push(be(w,u));break;case"<":c.push(Ve(w,u));break;case"<=":c.push(Me(w,u));break;default:c.push(br(w,u))}else switch(y){case">":c.push(Me(w,u));break;case">=":c.push(Ve(w,u));break;case"<":c.push(be(w,u));break;case"<=":c.push(De(w,u));break;default:c.push(a(w,u))}}else if(u){const A=(u.includes("|")?[...e,"user_id"]:e).map(q=>{const pe=i[q];return pe?q==="user_id"?a(pe,u):ke(pe,`%${u}%`):null}).filter(Boolean);A.length>0&&c.push(ue(...A))}if(c.length!==0)return c.length===1?c[0]:m(...c)}const Dt=["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"],Ot=["callbacks","allowed_origins","web_origins","client_aliases","allowed_clients","allowed_logout_urls","grant_types","signing_keys"],kt=["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 Qe(i){const{tenant_id:t,connections:e,...n}=i,s={...n};for(const o of Dt)s[o]=!!n[o];for(const o of Ot)s[o]=b(n[o],[]);for(const o of kt)s[o]=b(n[o],{});return s.connections=b(e,[]),z(s)}function Lt(i){const t={...i};Pr(i,Dt,t);for(const e of Ot)i[e]!==void 0&&(t[e]=JSON.stringify(i[e]||[]));for(const e of kt)i[e]!==void 0&&(t[e]=JSON.stringify(i[e]||{}));return i.connections!==void 0&&(t.connections=JSON.stringify(i.connections||[])),_r(t)}function Fr(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 c of Dt)s[c]=e[c]??!1;s.oidc_conformant=e.oidc_conformant??!0,s.auth0_conformant=e.auth0_conformant??!0,s.sso_disabled=e.sso_disabled??!0;for(const c of Ot)s[c]=e[c]||[];for(const c of kt)s[c]=e[c]||{};s.connections=e.connections||[];const o=Lt(s);try{await i.insert(O).values({...o,tenant_id:t})}catch(c){throw(l=c==null?void 0:c.message)!=null&&l.includes("UNIQUE constraint failed")||(_=c==null?void 0:c.message)!=null&&_.includes("duplicate key")?new Se(409,{message:"Client already exists"}):c}return Qe({...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?Qe(n):null},async getByClientId(t){const e=await i.select().from(O).where(a(O.client_id,t)).get();return e?{...Qe(e),tenant_id:e.tenant_id}:null},async update(t,e,n){const s=Lt({...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 c=i.select().from(O).where(a(O.tenant_id,t)).$dynamic();if(_){const g=me(O,_,["name","client_id"]);g&&(c=c.where(m(a(O.tenant_id,t),g)))}if(l!=null&&l.sort_by){const g=O[l.sort_by];g&&(c=c.orderBy(l.sort_order==="desc"?V(g):Y(g)))}const u=(await c.offset(n*s).limit(s)).map(Qe);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 Ur(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 Kr(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(J).where(m(a(J.tenant_id,t),ye(J.id,s))).all()).map(Ur);return s.map(_=>l.find(c=>c.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
|
|
2
|
+
WHEN connections IS NULL OR connections = '[]' OR connections = ''
|
|
3
|
+
THEN json_array(${e})
|
|
4
|
+
WHEN EXISTS (SELECT 1 FROM json_each(connections) WHERE value = ${e})
|
|
5
|
+
THEN connections
|
|
6
|
+
ELSE json_insert(connections, '$[#]', ${e})
|
|
7
|
+
END
|
|
8
|
+
WHERE tenant_id = ${t} AND client_id = ${n}`);return(o.changes??((_=o.meta)==null?void 0:_.changes)??0)>0},async removeClientFromConnection(t,e,n){var l;const s=await i.run(N`UPDATE clients SET connections = (
|
|
9
|
+
SELECT COALESCE(json_group_array(je.value), '[]')
|
|
10
|
+
FROM json_each(COALESCE(connections, '[]')) AS je
|
|
11
|
+
WHERE je.value != ${e}
|
|
12
|
+
)
|
|
13
|
+
WHERE tenant_id = ${t} AND client_id = ${n}`);return(s.changes??((l=s.meta)==null?void 0:l.changes)??0)>0}}}let jr="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict",oe=(i=21)=>{let t="",e=crypto.getRandomValues(new Uint8Array(i|=0));for(;i--;)t+=jr[e[i]&63];return t};function et(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 Mr(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),et({...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?et(n):null},async update(t,e,n){const{scope:s,authorization_details_types:o,allow_any_organization:l,is_system:_,...c}=n,d={...c,updated_at:new Date().toISOString()};return s!==void 0&&(d.scope=JSON.stringify(s)),o!==void 0&&(d.authorization_details_types=JSON.stringify(o)),l!==void 0&&(d.allow_any_organization=l?1:0),_!==void 0&&(d.is_system=_?1:0),(await i.update(W).set(d).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||{},c=_?me(W,_,["client_id","audience"]):void 0,d=c?m(a(W.tenant_id,t),c):a(W.tenant_id,t);let u=i.select().from(W).where(d).$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(et);if(!o)return{client_grants:g};const[y]=await i.select({count:R()}).from(W).where(d);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 tt(i){const{tenant_id:t,...e}=i;return z(e)}function Vr(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),tt(n)},async get(t,e,n){let s=i.select().from(P).where(m(a(P.code_id,e),a(P.code_type,n))).$dynamic();t&&t.length>0&&(s=s.where(a(P.tenant_id,t)));const o=await s.get();return o?tt(o):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 d=(await _.offset(n*s).limit(s)).map(tt);if(!o)return{codes:d};const[u]=await i.select({count:R()}).from(P).where(a(P.tenant_id,t));return{codes:d,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))),!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),he(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 Rr(){const{customAlphabet:i}=require("nanoid");return`con_${i("0123456789abcdefghijklmnopqrstuvwxyz",17)()}`}function nt(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 Wr(i){return{async create(t,e){var o,l;const n=new Date().toISOString(),s={id:e.id||Rr(),...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(J).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 Se(409,{message:"Connection already exists"}):_}return nt(s)},async get(t,e){const n=await i.select().from(J).where(m(a(J.tenant_id,t),a(J.id,e))).get();return n?nt(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(J).set(s).where(m(a(J.tenant_id,t),a(J.id,e))),!0},async list(t,e){const{page:n=0,per_page:s=50,include_totals:o=!1,sort:l,q:_}=e||{};let c=a(J.tenant_id,t),d=i.select().from(J).where(c).$dynamic();if(_){const y=me(J,_,["name"]);y&&(d=d.where(m(a(J.tenant_id,t),y)))}if(l!=null&&l.sort_by){const y=J[l.sort_by];y&&(d=d.orderBy(l.sort_order==="desc"?V(y):Y(y)))}const h=(await d.offset(n*s).limit(s)).map(nt);if(!o)return{connections:h};const[g]=await i.select({count:R()}).from(J).where(c);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(J).where(m(a(J.tenant_id,t),a(J.id,e))).returning()).length>0}}}function Je(i){const{tenant_id:t,domain_metadata:e,...n}=i;return z({...n,primary:!!n.primary,domain_metadata:b(e)})}function Hr(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),Je({...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?Je(n):null},async getByDomain(t){const e=await i.select().from(ie).where(a(ie.domain,t)).get();return e?{...Je(e),tenant_id:e.tenant_id}:null},async list(t){return(await i.select().from(ie).where(a(ie.tenant_id,t)).all()).map(Je)},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 Gr(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 Yr(i){return{async create(t,e){const n=new Date().toISOString();await i.insert(Ne).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(Ne).where(a(Ne.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(Ne).set(n).where(a(Ne.tenant_id,t))},async remove(t){await i.delete(Ne).where(a(Ne.tenant_id,t))}}}function Xr(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 d=(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:d};const[u]=await i.select({count:R()}).from(ne).where(a(ne.tenant_id,t));return{flows:d,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 Fe=["nodes","start","ending"];function Zr(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 Fe)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 Fe)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&&(Fe.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 d=(await _.offset(n*s).limit(s)).map(h=>{const{tenant_id:g,...y}=h,w={...y};for(const A of Fe)w[A]=b(y[A]);return z(w)});if(!o)return{forms:d};const[u]=await i.select({count:R()}).from(te).where(a(te.tenant_id,t));return{forms:d,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 cr(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 pt(i,t=new Date(0).toISOString()){return cr(i)??t}function j(i){if(!i||i==="")return null;const t=new Date(i);return isNaN(t.getTime())?null:t.getTime()}function He(i,t,e=[]){const n={};for(const s of t){const o=s.replace(/_ts$/,"");n[o]=pt(i[s])}for(const s of e){const o=s.replace(/_ts$/,"");n[o]=cr(i[s])}return n}function es(){const{customAlphabet:i}=require("nanoid");return`h_${i("0123456789abcdefghijklmnopqrstuvwxyz",17)()}`}function it(i){const{tenant_id:t,created_at_ts:e,updated_at_ts:n,...s}=i,o=He({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 ts(i){return{async create(t,e){const n=Date.now(),o={hook_id:e.hook_id||es(),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,created_at_ts:n,updated_at_ts:n};return await i.insert(X).values(o),it({...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?it(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),(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||{},c=_?me(X,_,["url","form_id","template_id"]):void 0,d=c?m(a(X.tenant_id,t),c):a(X.tenant_id,t);let u=i.select().from(X).where(d).$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(it);if(!o)return{hooks:g};const[y]=await i.select({count:R()}).from(X).where(d);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 ns(){const{customAlphabet:i}=require("nanoid");return`inv_${i("0123456789abcdefghijklmnopqrstuvwxyz",17)()}`}const yt=["inviter","invitee","app_metadata","user_metadata","roles"];function rt(i){const{tenant_id:t,send_invitation_email:e,...n}=i,s={...n};for(const o of yt)s[o]=b(n[o],o==="roles"?[]:{});return s.send_invitation_email=!!e,z(s)}function is(i){return{async create(t,e){var c,d;const n=e.id||ns(),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 yt)e[u]!==void 0&&(_[u]=JSON.stringify(e[u]));try{await i.insert(ee).values(_)}catch(u){throw(c=u==null?void 0:u.message)!=null&&c.includes("UNIQUE constraint failed")||(d=u==null?void 0:u.message)!=null&&d.includes("duplicate key")?new Se(409,{message:"Invite already exists"}):u}return rt({..._,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?rt(n):null},async update(t,e,n){const s={};for(const l of yt)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 d=(await _.offset(n*s).limit(s)).map(rt);if(!o)return{invites:d};const[u]=await i.select({count:R()}).from(ee).where(a(ee.tenant_id,t));return{invites:d,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 rs(i){return{async create(t){await i.insert(fe).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(fe).where(ue(Me(fe.revoked_at,l),he(fe.revoked_at))).$dynamic();if(o!=null&&o.sort_by){const h=fe[o.sort_by];h&&(_=_.orderBy(o.sort_order==="desc"?V(h):Y(h)))}const d=(await _.offset(e*n).limit(n)).map(h=>{const{created_at:g,...y}=h;return z(y)});if(!s)return{signingKeys:d};const[u]=await i.select({count:R()}).from(fe).where(ue(Me(fe.revoked_at,l),he(fe.revoked_at)));return{signingKeys:d,start:e*n,limit:n,length:Qr((u==null?void 0:u.count)??0)}},async update(t,e){return(await i.update(fe).set(e).where(a(fe.kid,t)).returning()).length>0}}}const wt="0123456789ABCDEFGHJKMNPQRSTVWXYZ",st=wt.length;function ss(){let e=Date.now(),n="";for(let o=10;o>0;o--)n=wt.charAt(e%st)+n,e=Math.floor(e/st);const s=new Uint8Array(16);crypto.getRandomValues(s);for(let o=0;o<16;o++)n+=wt.charAt(s[o]%st);return n}function Et(i){const{tenant_id:t,created_at_ts:e,updated_at_ts:n,expires_at_ts:s,state_data:o,...l}=i,_=He({created_at_ts:e,updated_at_ts:n,expires_at_ts:s},["created_at_ts","updated_at_ts","expires_at_ts"]),c=ur(l,["authParams"]);return z({...c,..._,state_data:b(o)})}function os(i){return{async create(t,e){const n=Date.now(),s=ss(),o=$e({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[_,c]of Object.entries(o))l[_]=c;return await i.insert(se).values(l),Et({...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?Et(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=$e({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 ot(i){const{tenant_id:t,isMobile:e,auth0_client:n,details:s,country_code:o,city_name:l,latitude:_,longitude:c,time_zone:d,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:c,time_zone:d,continent_code:u})),z(y)}function as(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),ot({...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 c=i.select().from(T).where(a(T.tenant_id,t)).$dynamic();if(_){const g=me(T,_,["user_id","ip","type","client_id"]);g&&(c=c.where(m(a(T.tenant_id,t),g)))}if(l!=null&&l.sort_by){const g=T[l.sort_by];g&&(c=c.orderBy(l.sort_order==="desc"?V(g):Y(g)))}else c=c.orderBy(V(T.date));const u=(await c.offset(n*s).limit(s)).map(ot);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?ot(n):null}}}const Nt="0123456789ABCDEFGHJKMNPQRSTVWXYZ",at=Nt.length;function ls(){let e=Date.now(),n="";for(let o=10;o>0;o--)n=Nt.charAt(e%at)+n,e=Math.floor(e/at);const s=new Uint8Array(16);crypto.getRandomValues(s);for(let o=0;o<16;o++)n+=Nt.charAt(s[o]%at);return n}function Ue(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:pt(e),updated_at:pt(n)})}function _s(i){return{async create(t,e){const n=Date.now(),o={id:e.id||ls(),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(K).values(o),Ue({...o,tenant_id:t})},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?Ue(n):null},async getByCredentialId(t,e){const n=await i.select().from(K).where(m(a(K.tenant_id,t),a(K.credential_id,e))).get();return n?Ue(n):null},async list(t,e){return(await i.select().from(K).where(m(a(K.tenant_id,t),a(K.user_id,e))).all()).map(Ue)},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(K).set(s).where(m(a(K.tenant_id,t),a(K.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(K).where(m(a(K.tenant_id,t),a(K.id,e))).returning()).length>0}}}function us(){const{customAlphabet:i}=require("nanoid");return`org_${i("0123456789abcdefghijklmnopqrstuvwxyz",17)()}`}function lt(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 cs(i){return{async create(t,e){var l,_;const n=new Date().toISOString(),o={id:e.id||us(),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(c){throw(l=c==null?void 0:c.message)!=null&&l.includes("UNIQUE constraint failed")||(_=c==null?void 0:c.message)!=null&&_.includes("AlreadyExists")?new Se(409,{message:"Organization already exists"}):c}return lt({...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?lt(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 c=i.select().from(L).where(a(L.tenant_id,t)).$dynamic();if(_&&(c=c.where(ue(ke(L.name,`%${_}%`),ke(L.display_name,`%${_}%`)))),l!=null&&l.sort_by){const y=L[l.sort_by];y&&(c=c.orderBy(l.sort_order==="desc"?V(y):Y(y)))}const u=(await c.offset(n*s).limit(s)).map(lt);if(!o)return{organizations:u};const h=[a(L.tenant_id,t)];_&&h.push(ue(ke(L.name,`%${_}%`),ke(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 _t(i){const{tenant_id:t,is_current:e,...n}=i;return{...n,is_current:!!e}}function ds(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),_t({...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?_t(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(_t)},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 gs(i){return{async get(t){const e=await i.select().from(qe).where(a(qe.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(qe).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:qe.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 ut(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:c,...d}=i,u=He({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({...d,...u,rotating:!!c,device:b(l,{}),resource_servers:b(_,[])})}function fs(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),ut({...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?ut(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 c=i.select().from($).where(a($.tenant_id,t)).$dynamic();if(_){const g=me($,_,["user_id"]);g&&(c=c.where(m(a($.tenant_id,t),g)))}if(l!=null&&l.sort_by){const g=$[l.sort_by];g&&(c=c.orderBy(l.sort_order==="desc"?V(g):Y(g)))}const u=(await c.offset(n*s).limit(s)).map(ut);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 ms(){const{customAlphabet:i}=require("nanoid");return`api_${i("0123456789abcdefghijklmnopqrstuvwxyz",17)()}`}const vt=["skip_consent_for_verifiable_first_party_clients","allow_offline_access","is_system"],At=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 c of vt)l[c]!==void 0&&l[c]!==null&&(_[c]=!!l[c]);return z(_)}function hs(i){return{async create(t,e){const n=new Date().toISOString(),o={id:e.id||ms(),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 vt)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 vt)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||{},c=Math.max(0,Math.floor(Number(n)||0)),d=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,pe]=A,Oe=q==null?void 0:q.startsWith("-"),Ge=Oe?q==null?void 0:q.substring(1):q;if(Ge&&At.has(Ge)&&!Oe){const fr=E[Ge];u.push(ke(fr,`%${pe}%`))}}}let h=i.select().from(E).where(m(...u)).$dynamic();if(l!=null&&l.sort_by&&At.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(c*d).limit(d)).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:c*d,limit:d,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 ps(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),ye(E.identifier,o))).all();for(const c of _)l.set(c.identifier,c.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 ys(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 c=>{const d=await i.select({name:E.name}).from(E).where(m(a(E.tenant_id,t),a(E.identifier,c.resource_server_identifier))).get();return{resource_server_identifier:c.resource_server_identifier,permission_name:c.permission_name,resource_server_name:(d==null?void 0:d.name)||c.resource_server_identifier,organization_id:c.organization_id===""?void 0:c.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 dt(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 ws(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(U).values(o),dt({...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?dt(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(U).set(s).where(m(a(U.tenant_id,t),a(U.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||{},c=_?me(U,_,["name"]):void 0,d=c?m(a(U.tenant_id,t),c):a(U.tenant_id,t);let u=i.select().from(U).where(d).$dynamic();if(l!=null&&l.sort_by){const w=U[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(dt);if(!o)return{roles:g};const[y]=await i.select({count:R()}).from(U).where(d);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(U).where(m(a(U.tenant_id,t),a(U.id,e))).returning()).length>0}}}const Ns=["created_at_ts","updated_at_ts"],vs=["expires_at_ts","idle_expires_at_ts","authenticated_at_ts","last_interaction_at_ts","used_at_ts","revoked_at_ts"];function gt(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:c,revoked_at_ts:d,device:u,clients:h,...g}=i,y=He({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:c,revoked_at_ts:d},[...Ns],[...vs]);return z({...g,...y,device:b(u,{}),clients:b(h,[])})}function Ss(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),gt({...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?gt(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||{},c=_?me(B,_,["user_id"]):void 0,d=c?m(a(B.tenant_id,t),c):a(B.tenant_id,t);let u=i.select().from(B).where(d).$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(gt);if(!o)return{sessions:g};const[y]=await i.select({count:R()}).from(B).where(d);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 dr=["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"],gr=["allow_organization_name_in_authentication_api","customize_mfa_in_postlogin_action","pushed_authorization_requests_supported","authorization_response_iss_parameter_supported"];function Ct(i){const t={...i};for(const e of dr)typeof t[e]=="string"&&(t[e]=b(t[e]));for(const e of gr)t[e]!==void 0&&t[e]!==null&&(t[e]=t[e]===1);return z(t)}function $t(i){const t={...i};Br(i,dr,t);for(const e of gr)i[e]!==void 0&&(t[e]=i[e]?1:0);return _r(t)}function bs(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=$t(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 Se(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?Ct(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=me(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 d=(await _.offset(e*n).limit(n)).map(Ct);if(!s)return{tenants:d};const[u]=await i.select({count:R()}).from(x);return{tenants:d,start:e*n,limit:n,length:Number((u==null?void 0:u.count)??0)}},async update(t,e){const n=$t({...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 xs=["colors","borders","fonts","page_background","widget"];function Bt(i){const{tenant_id:t,...e}=i,n=ur(e,xs);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 Ds(i){return{async create(t,e,n){const s=new Date().toISOString(),o=n||oe(),_={...$e(e),tenant_id:t,themeId:o,created_at:s,updated_at:s};return await i.insert(ge).values(_),Bt({..._,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?Bt(n):null},async update(t,e,n){const s=$e(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 Os(i){return{async get(t){const e=await i.select({body:we.body}).from(we).where(a(we.tenant_id,t)).get();return e?{body:e.body}:null},async set(t,e){const n=Date.now();await i.insert(we).values({tenant_id:t,body:e.body,created_at_ts:n,updated_at_ts:n}).onConflictDoUpdate({target:we.tenant_id,set:{body:e.body,updated_at_ts:n}})},async delete(t){await i.delete(we).where(a(we.tenant_id,t))}}}function Pt(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 ft(i,t=[]){const{tenant_id:e,app_metadata:n,user_metadata:s,address:o,email_verified:l,phone_verified:_,is_social:c,linked_to:d,profileData:u,...h}=i,g=Pt(i,!0),y=t.map(w=>Pt(w,!1));return z({...h,email:i.email||"",email_verified:!!l,phone_verified:_!=null?!!_:void 0,is_social:!!c,app_metadata:b(n,{}),user_metadata:b(s,{}),address:b(o),identities:[g,...y]})}function ks(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(c){throw(l=c==null?void 0:c.message)!=null&&l.includes("UNIQUE constraint")||(_=c==null?void 0:c.message)!=null&&_.includes("AlreadyExists")?new Se(409,{message:"User already exists"}):(console.error("User upsert failed:",c==null?void 0:c.code,c==null?void 0:c.message),new Se(500,{message:"Internal server error"}))}return ft(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 ft(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||{},c=[a(k.tenant_id,t),he(k.linked_to)];if(_){const q=me(k,_,["email","name","nickname","username"]);q&&c.push(q)}const d=m(...c);let u=i.select().from(k).where(d).$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),ye(k.linked_to,g))));const w=h.map(q=>{const pe=y.filter(Oe=>Oe.linked_to===q.user_id);return ft(q,pe)});if(!o)return{users:w};const[A]=await i.select({count:R()}).from(k).where(d);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(K).where(m(a(K.tenant_id,t),ye(K.user_id,s))),await i.delete(C).where(m(a(C.tenant_id,t),ye(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 zs(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 c=>{const d=await i.select().from(U).where(m(a(U.tenant_id,t),a(U.id,c.role_id))).get();if(!d)return null;const{tenant_id:u,is_system:h,metadata:g,...y}=d;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 Is(i){return{async create(t,e){var c,d;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(c=u==null?void 0:u.message)!=null&&c.includes("UNIQUE constraint")||(d=u==null?void 0:u.message)!=null&&d.includes("duplicate key")?new Se(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 c=_;if(l){const g=me(Q,l,["user_id","organization_id"]);g&&(c=m(_,g))}const u=(await i.select().from(Q).where(c).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(c);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(),d=(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:pe,...Oe}=g;return z({...Oe,branding:b(w,{}),metadata:b(A,{}),enabled_connections:b(q,[]),token_quota:b(pe,{})})}))).filter(Boolean);if(!l)return{organizations:d};const[u]=await i.select({count:R()}).from(Q).where(m(a(Q.tenant_id,t),a(Q.user_id,e)));return{organizations:d,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 Qt=["s","seacft","seccft","sepft","sertft","ssa"],Ts=["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(Qt.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(Ts.map(_=>N`${_}`),N`, `)}) THEN 1 ELSE 0 END)`.as("leaked_passwords")}).from(T).where(m(a(T.tenant_id,t),Ve(T.date,s),De(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),Ve(T.date,e),N`${T.type} IN (${N.join(Qt.map(s=>N`${s}`),N`, `)})`));return Number(n==null?void 0:n.count)||0}}}function Jt(i){return{...i,payload:b(i.payload,{})}}function Ls(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(ye(I.id,t)).all()).map(Jt)},async getUnprocessed(t){const e=new Date().toISOString();return(await i.select().from(I).where(m(he(I.processed_at),ue(he(I.next_retry_at),De(I.next_retry_at,e)),ue(he(I.claimed_by),De(I.claim_expires_at,e)))).orderBy(I.created_at,I.id).limit(t).all()).map(Jt)},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(ye(I.id,t),he(I.processed_at),ue(he(I.claimed_by),De(I.claim_expires_at,s)))),(await i.select({id:I.id}).from(I).where(m(ye(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(ye(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`,De(I.processed_at,t))).returning()).length}}}const Es=7*24*60*60*1e3;function As(i){return async t=>{const e=Date.now()-Es;try{let n=[ue(be($.expires_at_ts,e),be($.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(be(B.expires_at_ts,e),be(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=[be(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 Cs(i,t={useTransactions:!0}){const e={branding:Jr(i),clients:Fr(i),clientConnections:Kr(i),clientGrants:Mr(i),codes:Vr(i),connections:Wr(i),customDomains:Hr(i),customText:Gr(i),emailProviders:Yr(i),flows:Xr(i),forms:Zr(i),hooks:ts(i),invites:is(i),keys:rs(i),loginSessions:os(i),logs:as(i),authenticationMethods:_s(i),organizations:cs(i),passwords:ds(i),promptSettings:gs(i),refreshTokens:fs(i),resourceServers:hs(i),rolePermissions:ps(i),userPermissions:ys(i),roles:ws(i),sessions:Ss(i),sessionCleanup:As(i),tenants:bs(i),themes:Ds(i),universalLoginTemplates:Os(i),users:ks(i),userRoles:zs(i),userOrganizations:Is(i),stats:qs(i),outbox:Ls(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=Cs;exports.sqlite=$r;
|