@gjermundgaraba/clankerauth-dev 0.22.0 → 0.23.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/THIRD_PARTY_NOTICES.txt +1 -1
- package/dist/{access-OpW0SRxm.mjs → access-B09peN6Y.mjs} +1 -1
- package/dist/{bun-sqlite-dialect-DoOVo4ja-BOb_Pvxr.mjs → bun-sqlite-dialect-DoOVo4ja-DD-Erl56.mjs} +1 -1
- package/dist/compiled-query-C8AL3JwF.mjs +1 -0
- package/dist/{d1-sqlite-dialect-Cru74LbR-B7paX9dK.mjs → d1-sqlite-dialect-Cru74LbR-W1bKrx1w.mjs} +1 -1
- package/dist/dist-WElmxM5G.mjs +17 -0
- package/dist/{dist-D9NNVevc.mjs → dist-nX81jnMN.mjs} +1 -1
- package/dist/edge.mjs +2 -2
- package/dist/factory-CUkPbxzv.mjs +6 -0
- package/dist/index.mjs +70 -70
- package/dist/kysely-adapter-Dp7QV9II.mjs +1 -0
- package/dist/{organization-Bz1iQbJ0.mjs → organization-VcDBDp0C.mjs} +1 -1
- package/dist/{schema-check-BzXTKlLa.mjs → schema-check-Dv6d3DB9.mjs} +2 -2
- package/dist/{schemas-CYxWglEB.mjs → schemas-BE0MEk26.mjs} +3 -3
- package/dist/{sqlite-adapter-C3S1ojF-.mjs → sqlite-adapter-CS5jtB3L.mjs} +1 -1
- package/dist/{sqlite-introspector-DSCAP82F-uK1vwYwN.mjs → sqlite-introspector-DSCAP82F-CISODKY3.mjs} +1 -1
- package/dist/tracer-BuLMhzvR.mjs +1 -0
- package/dist/web/assets/index-04AnE4eh.js +2300 -0
- package/dist/web/index.html +1 -1
- package/package.json +4 -4
- package/dist/compiled-query-kXoVMG6q.mjs +0 -1
- package/dist/dist-DmipO4_i.mjs +0 -17
- package/dist/factory-QgsYt4OE.mjs +0 -6
- package/dist/kysely-adapter-BhjUN_Ts.mjs +0 -1
- package/dist/random-CJ6fASpe.mjs +0 -1
- package/dist/web/assets/index-BGS5C7qQ.js +0 -2300
|
@@ -1 +1 @@
|
|
|
1
|
-
import{N as e}from"./schemas-
|
|
1
|
+
import{N as e}from"./schemas-BE0MEk26.mjs";function t(e){return{success:!1,error:`You are not allowed to access resource: ${e}`}}function n(e){return{success:!1,error:`unauthorized to access resource "${e}"`}}function r(e){return e===`OR`?`OR`:`AND`}function i(e){return Array.isArray(e)}function a(t){if(i(t))return{actions:t,connector:`AND`};if(!t||typeof t!=`object`)throw new e(`Invalid access control request`);let{actions:n,connector:a}=t;return i(n)?{actions:n,connector:r(a)}:{actions:[],connector:r(a)}}function o(e,t){return typeof t==`string`&&e.includes(t)}function s(e,{actions:t,connector:n}){return t.length===0?!1:n===`OR`?t.some(t=>o(e,t)):t.every(t=>o(e,t))}function c(e){return{authorize(r,i=`AND`){let o=!1;for(let[c,l]of Object.entries(r)){let r=e[c];if(!r){if(i===`AND`)return t(c);continue}let u=s(r,a(l));if(u&&(o=!0),u&&i===`OR`)return{success:!0};if(!u&&i===`AND`)return n(c)}return o?{success:!0}:{success:!1,error:`Not authorized`}},statements:e}}function l(e){return{newRole(e){return c(e)},statements:e}}export{c as n,l as t};
|
package/dist/{bun-sqlite-dialect-DoOVo4ja-BOb_Pvxr.mjs → bun-sqlite-dialect-DoOVo4ja-DD-Erl56.mjs}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as e,s as t}from"./sqlite-introspector-DSCAP82F-
|
|
1
|
+
import{r as e,s as t}from"./sqlite-introspector-DSCAP82F-CISODKY3.mjs";import{t as n}from"./compiled-query-C8AL3JwF.mjs";var r=class{get supportsCreateIfNotExists(){return!0}get supportsTransactionalDdl(){return!1}get supportsReturning(){return!0}async acquireMigrationLock(){}async releaseMigrationLock(){}get supportsOutput(){return!0}},i=class{#e;#t=new o;#n;#r;constructor(e){this.#e={...e}}async init(){this.#n=this.#e.database,this.#r=new a(this.#n),this.#e.onCreateConnection&&await this.#e.onCreateConnection(this.#r)}async acquireConnection(){return await this.#t.lock(),this.#r}async beginTransaction(e){await e.executeQuery(n.raw(`begin`))}async commitTransaction(e){await e.executeQuery(n.raw(`commit`))}async rollbackTransaction(e){await e.executeQuery(n.raw(`rollback`))}async releaseConnection(){this.#t.unlock()}async destroy(){this.#n?.close()}},a=class{#e;constructor(e){this.#e=e}executeQuery(e){let{sql:t,parameters:n}=e,r=this.#e.prepare(t),i=n;if(r.columnNames.length>0)return Promise.resolve({rows:r.all(...i)});let{changes:a,lastInsertRowid:o}=r.run(...i);return Promise.resolve({rows:[],numAffectedRows:BigInt(a),insertId:typeof o==`bigint`?o:BigInt(o)})}async*streamQuery(){throw Error(`Streaming query is not supported by SQLite driver.`)}},o=class{#e;#t;async lock(){for(;this.#e!==void 0;)await this.#e;this.#e=new Promise(e=>{this.#t=e})}unlock(){let e=this.#t;this.#e=void 0,this.#t=void 0,e?.()}},s=class extends t{getCurrentParameterPlaceholder(){return`?`}getLeftIdentifierWrapper(){return`"`}getRightIdentifierWrapper(){return`"`}getAutoIncrement(){return`autoincrement`}},c=class{#e;constructor(e){this.#e={...e}}createDriver(){return new i(this.#e)}createQueryCompiler(){return new s}createAdapter(){return new r}createIntrospector(t){return e(t)}};export{c as BunSqliteDialect};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{I as e,T as t,q as n}from"./sqlite-introspector-DSCAP82F-CISODKY3.mjs";const r=n({raw(r,i=[]){return n({sql:r,query:e.createWithSql(r),parameters:n(i),queryId:t()})}});export{r as t};
|
package/dist/{d1-sqlite-dialect-Cru74LbR-B7paX9dK.mjs → d1-sqlite-dialect-Cru74LbR-W1bKrx1w.mjs}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as e,n as t,o as n,t as r}from"./sqlite-introspector-DSCAP82F-
|
|
1
|
+
import{a as e,n as t,o as n,t as r}from"./sqlite-introspector-DSCAP82F-CISODKY3.mjs";import{n as i,t as a}from"./sqlite-adapter-CS5jtB3L.mjs";function o(e){return`'${e.replaceAll(`'`,`''`)}'`}function s(e){return async t=>{if(t.length===0)return[];let n=(await e.batch(t.map(t=>e.prepare(`PRAGMA index_list(${o(t)})`)))).flatMap((e,n)=>{let r=t[n];return r?e.results.map(e=>({...e,tableName:r})):[]});if(n.length===0)return[];let r=await e.batch(n.map(t=>e.prepare(`PRAGMA index_info(${o(t.name)})`)));return n.map((e,t)=>({columns:(r[t]?.results??[]).map(e=>({fullLength:e.name!==null,name:e.name,position:e.seqno})),name:e.name,partial:e.partial!==0,table:e.tableName,unique:e.unique!==0,valid:!0}))}}var c=class extends a{},l=class{#e;#t;constructor(e){this.#e={...e}}async init(){this.#t=new u(this.#e.database),this.#e.onCreateConnection&&await this.#e.onCreateConnection(this.#t)}async acquireConnection(){return this.#t}async beginTransaction(){throw Error(`D1 does not support interactive transactions. Use the D1 batch() API instead.`)}async commitTransaction(){throw Error(`D1 does not support interactive transactions. Use the D1 batch() API instead.`)}async rollbackTransaction(){throw Error(`D1 does not support interactive transactions. Use the D1 batch() API instead.`)}async releaseConnection(){}async destroy(){}},u=class{#e;constructor(e){this.#e=e}async executeQuery(e){let t=await this.#e.prepare(e.sql).bind(...e.parameters).all(),n=t.meta.changes==null?void 0:BigInt(t.meta.changes);return{insertId:t.meta.last_row_id===void 0||t.meta.last_row_id===null?void 0:BigInt(t.meta.last_row_id),rows:t?.results||[],numAffectedRows:n}}async*streamQuery(){throw Error(`D1 does not support streaming queries.`)}},d=class{#e;#t;constructor(e,t){this.#e=e,this.#t=t}async getSchemas(){return[]}async getTables(i={withInternalKyselyTables:!1}){let a=this.#e.selectFrom(`sqlite_master`).where(`type`,`in`,[`table`,`view`]).where(`name`,`not like`,`sqlite_%`).where(`name`,`not like`,`_cf_%`).select([`name`,`type`]).$castTo();i.withInternalKyselyTables||(a=a.where(`name`,`!=`,t).where(`name`,`!=`,r));let s=await a.execute();if(s.length===0)return[];let c=s.map(e=>this.#t.prepare(`SELECT * FROM pragma_table_info(?)`).bind(e.name)),l=await this.#t.batch(c),u=s.flatMap((t,n)=>{let r=e(l[n]?.results??[]);return r?[{index:n,tableName:t.name,column:r}]:[]}),d=u.length?await this.#t.batch(u.map(({tableName:e})=>this.#t.prepare(`PRAGMA index_list(${o(e)})`))):[],f=new Map(u.filter((e,t)=>!d[t]?.results?.some(e=>e.origin===`pk`)).map(({index:e,column:t})=>[e,t]));return s.map((e,t)=>n(e,l[t]?.results??[],f.get(t)))}async getMetadata(e){return{tables:await this.getTables(e)}}},f=class extends i{},p=class{#e;constructor(e){this.#e={...e}}createDriver(){return new l(this.#e)}createQueryCompiler(){return new f}createAdapter(){return new c}createIntrospector(e){return new d(e,this.#e.database)}};export{p as D1SqliteDialect,s as createD1IndexIntrospector};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import{$ as e,A as t,B as n,C as r,D as i,E as a,F as o,G as s,H as c,I as l,J as u,K as d,L as f,M as p,N as m,O as h,P as g,Q as _,R as ee,S as v,T as y,U as b,V as te,W as x,X as ne,Y as re,Z as ie,_ as ae,b as S,c as C,d as oe,et as se,f as w,g as ce,h as le,i as ue,it as T,j as de,k as fe,l as E,m as pe,nt as D,p as O,q as k,rt as me,s as he,tt as A,u as j,v as ge,w as _e,x as ve,y as ye,z as be}from"./sqlite-introspector-DSCAP82F-CISODKY3.mjs";import{t as M}from"./compiled-query-C8AL3JwF.mjs";import{n as xe,r as Se,t as Ce}from"./sqlite-adapter-CS5jtB3L.mjs";import{u as we}from"./tracer-BuLMhzvR.mjs";import{N as Te}from"./schemas-BE0MEk26.mjs";import{c as Ee,i as De,n as Oe,t as ke,u as Ae}from"./schema-check-Dv6d3DB9.mjs";import{t as je}from"./factory-CUkPbxzv.mjs";const N=k({is(e){return e.kind===`AlterTableNode`},create(e){return k({kind:`AlterTableNode`,table:e})},cloneWithTableProps(e,t){return k({...e,...t})},cloneWithColumnAlteration(e,t){return k({...e,columnAlterations:e.columnAlterations?[...e.columnAlterations,t]:[t]})}}),P=k({is(e){return e.kind===`CreateIndexNode`},create(e){return k({kind:`CreateIndexNode`,name:d.create(e)})},cloneWith(e,t){return k({...e,...t})},cloneWithColumns(e,t){return k({...e,columns:[...e.columns||[],...t]})}}),Me=k({is(e){return e.kind===`CreateSchemaNode`},create(e,t){return k({kind:`CreateSchemaNode`,schema:d.create(e),...t})},cloneWith(e,t){return k({...e,...t})}}),F=k({is(e){return e.kind===`DropIndexNode`},create(e,t){return k({kind:`DropIndexNode`,name:b.create(e),...t})},cloneWith(e,t){return k({...e,...t})}}),Ne=k({is(e){return e.kind===`DropSchemaNode`},create(e,t){return k({kind:`DropSchemaNode`,schema:d.create(e),...t})},cloneWith(e,t){return k({...e,...t})}}),Pe=k({is(e){return e.kind===`DropTableNode`},create(e,t){return k({kind:`DropTableNode`,table:e,...t})},cloneWith(e,t){return k({...e,...t})}}),Fe=k({is(e){return e.kind===`AddColumnNode`},create(e){return k({kind:`AddColumnNode`,column:e})}}),I=k({is(e){return e.kind===`ColumnDefinitionNode`},create(e,t){return k({kind:`ColumnDefinitionNode`,column:n.create(e),dataType:t})},cloneWithFrontModifier(e,t){return k({...e,frontModifiers:e.frontModifiers?k([...e.frontModifiers,t]):[t]})},cloneWithEndModifier(e,t){return k({...e,endModifiers:e.endModifiers?k([...e.endModifiers,t]):[t]})},cloneWith(e,t){return k({...e,...t})}}),Ie=k({is(e){return e.kind===`DropColumnNode`},create(e){return k({kind:`DropColumnNode`,column:n.create(e)})},cloneWith(e,t){return k({...e,...t})}}),Le=k({is(e){return e.kind===`RenameColumnNode`},create(e,t){return k({kind:`RenameColumnNode`,column:n.create(e),renameTo:n.create(t)})}}),Re=k({is(e){return e.kind===`CheckConstraintNode`},create(e,t){return k({kind:`CheckConstraintNode`,expression:e,name:t?d.create(t):void 0})}}),ze=k({cascade:!0,"no action":!0,restrict:!0,"set default":!0,"set null":!0});Object.keys(ze);const Be=k({is(e){return e.kind===`ReferencesNode`},create(e,t){return k({kind:`ReferencesNode`,table:e,columns:k([...t])})},cloneWithOnDelete(e,t){return k({...e,onDelete:t})},cloneWithOnUpdate(e,t){return k({...e,onUpdate:t})}});function Ve(e){return D(e)&&ze[e]}function He(e){return te(e)?e.toOperationNode():t.createImmediate(e)}const Ue=k({is(e){return e.kind===`GeneratedNode`},create(e){return k({kind:`GeneratedNode`,...e})},createWithExpression(e){return k({kind:`GeneratedNode`,always:!0,expression:e})},cloneWith(e,t){return k({...e,...t})}}),We=k({is(e){return e.kind===`DefaultValueNode`},create(e){return k({kind:`DefaultValueNode`,defaultValue:e})}});function L(e){if(Ve(e))return e;throw Error(`invalid OnModifyForeignAction ${e}`)}var R=class e{#e;constructor(e){this.#e=e}autoIncrement(){return new e(I.cloneWith(this.#e,{autoIncrement:!0}))}identity(){return new e(I.cloneWith(this.#e,{identity:!0}))}primaryKey(){return new e(I.cloneWith(this.#e,{primaryKey:!0}))}references(t){let n=g(t);if(!n.table||be.is(n.column))throw Error(`invalid call references('${t}'). The reference must have format table.column or schema.table.column`);return new e(I.cloneWith(this.#e,{references:Be.create(n.table,[n.column])}))}onDelete(t){if(!this.#e.references)throw Error(`on delete constraint can only be added for foreign keys`);return new e(I.cloneWith(this.#e,{references:Be.cloneWithOnDelete(this.#e.references,L(t))}))}onUpdate(t){if(!this.#e.references)throw Error(`on update constraint can only be added for foreign keys`);return new e(I.cloneWith(this.#e,{references:Be.cloneWithOnUpdate(this.#e.references,L(t))}))}unique(){return new e(I.cloneWith(this.#e,{unique:!0}))}notNull(){return new e(I.cloneWith(this.#e,{notNull:!0}))}unsigned(){return new e(I.cloneWith(this.#e,{unsigned:!0}))}defaultTo(t){return new e(I.cloneWith(this.#e,{defaultTo:We.create(He(t))}))}check(t){return new e(I.cloneWith(this.#e,{check:Re.create(t.toOperationNode())}))}generatedAlwaysAs(t){return new e(I.cloneWith(this.#e,{generated:Ue.createWithExpression(t.toOperationNode())}))}generatedAlwaysAsIdentity(){return new e(I.cloneWith(this.#e,{generated:Ue.create({identity:!0,always:!0})}))}generatedByDefaultAsIdentity(){return new e(I.cloneWith(this.#e,{generated:Ue.create({identity:!0,byDefault:!0})}))}stored(){if(!this.#e.generated)throw Error(`stored() can only be called after generatedAlwaysAs`);return new e(I.cloneWith(this.#e,{generated:Ue.cloneWith(this.#e.generated,{stored:!0})}))}modifyFront(t){return new e(I.cloneWithFrontModifier(this.#e,t.toOperationNode()))}nullsNotDistinct(){return new e(I.cloneWith(this.#e,{nullsNotDistinct:!0}))}ifNotExists(){return new e(I.cloneWith(this.#e,{ifNotExists:!0}))}modifyEnd(t){return new e(I.cloneWithEndModifier(this.#e,t.toOperationNode()))}$call(e){return e(this)}toOperationNode(){return this.#e}};const Ge=k({is(e){return e.kind===`ModifyColumnNode`},create(e){return k({kind:`ModifyColumnNode`,column:e})}}),z=k({is(e){return e.kind===`ForeignKeyConstraintNode`},create(e,t,n,r){return k({kind:`ForeignKeyConstraintNode`,columns:e,references:Be.create(t,n),name:r?d.create(r):void 0})},cloneWith(e,t){return k({...e,...t})}});var Ke=class e{#e;constructor(e){this.#e=e}onDelete(t){return new e(z.cloneWith(this.#e,{onDelete:L(t)}))}onUpdate(t){return new e(z.cloneWith(this.#e,{onUpdate:L(t)}))}deferrable(){return new e(z.cloneWith(this.#e,{deferrable:!0}))}notDeferrable(){return new e(z.cloneWith(this.#e,{deferrable:!1}))}initiallyDeferred(){return new e(z.cloneWith(this.#e,{initiallyDeferred:!0}))}initiallyImmediate(){return new e(z.cloneWith(this.#e,{initiallyDeferred:!1}))}$call(e){return e(this)}toOperationNode(){return this.#e}};const qe=k({is(e){return e.kind===`AddConstraintNode`},create(e){return k({kind:`AddConstraintNode`,constraint:e})}}),B=k({is(e){return e.kind===`UniqueConstraintNode`},create(e,t,r){return D(e.at(0))&&(o("`UniqueConstraintNode.create(columns: string[], ...)` is deprecated - pass `ColumnNode[]` instead."),e=e.map(n.create)),k({kind:`UniqueConstraintNode`,columns:k(e),name:t?d.create(t):void 0,nullsNotDistinct:r})},cloneWith(e,t){return k({...e,...t})}}),Je=k({is(e){return e.kind===`DropConstraintNode`},create(e){return k({kind:`DropConstraintNode`,constraintName:d.create(e)})},cloneWith(e,t){return k({...e,...t})}}),V=k({is(e){return e.kind===`AlterColumnNode`},create(e,t,r){return k({kind:`AlterColumnNode`,column:n.create(e),[t]:r})}});var Ye=class{#e;constructor(e){this.#e=e}setDataType(e){return new H(V.create(this.#e,`dataType`,O(e)))}setDefault(e){return new H(V.create(this.#e,`setDefault`,He(e)))}dropDefault(){return new H(V.create(this.#e,`dropDefault`,!0))}setNotNull(){return new H(V.create(this.#e,`setNotNull`,!0))}dropNotNull(){return new H(V.create(this.#e,`dropNotNull`,!0))}$call(e){return e(this)}},H=class{#e;constructor(e){this.#e=e}toOperationNode(){return this.#e}},U=class{#e;constructor(e){this.#e=k(e)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(e){await this.#e.executor.executeQuery(this.compile(),e)}},Xe=class e{#e;constructor(e){this.#e=k(e)}onDelete(t){return new e({...this.#e,constraintBuilder:this.#e.constraintBuilder.onDelete(t)})}onUpdate(t){return new e({...this.#e,constraintBuilder:this.#e.constraintBuilder.onUpdate(t)})}deferrable(){return new e({...this.#e,constraintBuilder:this.#e.constraintBuilder.deferrable()})}notDeferrable(){return new e({...this.#e,constraintBuilder:this.#e.constraintBuilder.notDeferrable()})}initiallyDeferred(){return new e({...this.#e,constraintBuilder:this.#e.constraintBuilder.initiallyDeferred()})}initiallyImmediate(){return new e({...this.#e,constraintBuilder:this.#e.constraintBuilder.initiallyImmediate()})}$call(e){return e(this)}toOperationNode(){return this.#e.executor.transformQuery(N.cloneWithTableProps(this.#e.node,{addConstraint:qe.create(this.#e.constraintBuilder.toOperationNode())}),this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(e){await this.#e.executor.executeQuery(this.compile(),e)}},Ze=class e{#e;constructor(e){this.#e=k(e)}ifExists(){return new e({...this.#e,node:N.cloneWithTableProps(this.#e.node,{dropConstraint:Je.cloneWith(this.#e.node.dropConstraint,{ifExists:!0})})})}cascade(){return new e({...this.#e,node:N.cloneWithTableProps(this.#e.node,{dropConstraint:Je.cloneWith(this.#e.node.dropConstraint,{modifier:`cascade`})})})}restrict(){return new e({...this.#e,node:N.cloneWithTableProps(this.#e.node,{dropConstraint:Je.cloneWith(this.#e.node.dropConstraint,{modifier:`restrict`})})})}$call(e){return e(this)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(e){await this.#e.executor.executeQuery(this.compile(),e)}};const W=k({is(e){return e.kind===`PrimaryKeyConstraintNode`},create(e,t){return k({kind:`PrimaryKeyConstraintNode`,columns:k(e.map(n.create)),name:t?d.create(t):void 0})},cloneWith(e,t){return k({...e,...t})}}),G=k({is(e){return e.kind===`AddIndexNode`},create(e){return k({kind:`AddIndexNode`,name:d.create(e)})},cloneWith(e,t){return k({...e,...t})},cloneWithColumns(e,t){return k({...e,columns:[...e.columns||[],...t]})}});var Qe=class e{#e;constructor(e){this.#e=k(e)}unique(){return new e({...this.#e,node:N.cloneWithTableProps(this.#e.node,{addIndex:G.cloneWith(this.#e.node.addIndex,{unique:!0})})})}column(t){return new e({...this.#e,node:N.cloneWithTableProps(this.#e.node,{addIndex:G.cloneWithColumns(this.#e.node.addIndex,[D(t)?m(t):t.toOperationNode()])})})}columns(t){return new e({...this.#e,node:N.cloneWithTableProps(this.#e.node,{addIndex:G.cloneWithColumns(this.#e.node.addIndex,t.map(e=>D(e)?m(e):e.toOperationNode()))})})}expression(t){return new e({...this.#e,node:N.cloneWithTableProps(this.#e.node,{addIndex:G.cloneWithColumns(this.#e.node.addIndex,[t.toOperationNode()])})})}using(t){return new e({...this.#e,node:N.cloneWithTableProps(this.#e.node,{addIndex:G.cloneWith(this.#e.node.addIndex,{using:l.createWithSql(t)})})})}$call(e){return e(this)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(e){await this.#e.executor.executeQuery(this.compile(),e)}},$e=class e{#e;constructor(e){this.#e=e}nullsNotDistinct(){return new e(B.cloneWith(this.#e,{nullsNotDistinct:!0}))}deferrable(){return new e(B.cloneWith(this.#e,{deferrable:!0}))}notDeferrable(){return new e(B.cloneWith(this.#e,{deferrable:!1}))}initiallyDeferred(){return new e(B.cloneWith(this.#e,{initiallyDeferred:!0}))}initiallyImmediate(){return new e(B.cloneWith(this.#e,{initiallyDeferred:!1}))}$call(e){return e(this)}toOperationNode(){return this.#e}},et=class e{#e;constructor(e){this.#e=e}deferrable(){return new e(W.cloneWith(this.#e,{deferrable:!0}))}notDeferrable(){return new e(W.cloneWith(this.#e,{deferrable:!1}))}initiallyDeferred(){return new e(W.cloneWith(this.#e,{initiallyDeferred:!0}))}initiallyImmediate(){return new e(W.cloneWith(this.#e,{initiallyDeferred:!1}))}$call(e){return e(this)}toOperationNode(){return this.#e}},tt=class{#e;constructor(e){this.#e=e}$call(e){return e(this)}toOperationNode(){return this.#e}};const nt=k({is(e){return e.kind===`RenameConstraintNode`},create(e,t){return k({kind:`RenameConstraintNode`,oldName:d.create(e),newName:d.create(t)})}});var rt=class e{#e;constructor(e){this.#e=k({...e})}ifExists(){return new e({...this.#e,node:Ie.cloneWith(this.#e.node,{ifExists:!0})})}toOperationNode(){return this.#e.node}},it=class{#e;constructor(e){this.#e=k(e)}renameTo(e){return new U({...this.#e,node:N.cloneWithTableProps(this.#e.node,{renameTo:j(e)})})}setSchema(e){return new U({...this.#e,node:N.cloneWithTableProps(this.#e.node,{setSchema:d.create(e)})})}alterColumn(e,t){let n=t(new Ye(e));return new K({...this.#e,node:N.cloneWithColumnAlteration(this.#e.node,n.toOperationNode())})}dropColumn(e,t=T){let n=t(new rt({node:Ie.create(e)}));return new K({...this.#e,node:N.cloneWithColumnAlteration(this.#e.node,n.toOperationNode())})}renameColumn(e,t){return new K({...this.#e,node:N.cloneWithColumnAlteration(this.#e.node,Le.create(e,t))})}addColumn(e,t,n=T){let r=n(new R(I.create(e,O(t))));return new K({...this.#e,node:N.cloneWithColumnAlteration(this.#e.node,Fe.create(r.toOperationNode()))})}modifyColumn(e,t,n=T){let r=n(new R(I.create(e,O(t))));return new K({...this.#e,node:N.cloneWithColumnAlteration(this.#e.node,Ge.create(r.toOperationNode()))})}addUniqueConstraint(e,t,r=T){let i=r(new $e(B.create(t.map(e=>D(e)?n.create(e):w(e)),e)));return new U({...this.#e,node:N.cloneWithTableProps(this.#e.node,{addConstraint:qe.create(i.toOperationNode())})})}addCheckConstraint(e,t,n=T){let r=n(new tt(Re.create(t.toOperationNode(),e)));return new U({...this.#e,node:N.cloneWithTableProps(this.#e.node,{addConstraint:qe.create(r.toOperationNode())})})}addForeignKeyConstraint(e,t,r,i,a=T){let o=a(new Ke(z.create(t.map(n.create),j(r),i.map(n.create),e)));return new Xe({...this.#e,constraintBuilder:o})}addPrimaryKeyConstraint(e,t,n=T){let r=n(new et(W.create(t,e)));return new U({...this.#e,node:N.cloneWithTableProps(this.#e.node,{addConstraint:qe.create(r.toOperationNode())})})}dropConstraint(e){return new Ze({...this.#e,node:N.cloneWithTableProps(this.#e.node,{dropConstraint:Je.create(e)})})}renameConstraint(e,t){return new Ze({...this.#e,node:N.cloneWithTableProps(this.#e.node,{renameConstraint:nt.create(e,t)})})}addIndex(e){return new Qe({...this.#e,node:N.cloneWithTableProps(this.#e.node,{addIndex:G.create(e)})})}dropIndex(e){return new U({...this.#e,node:N.cloneWithTableProps(this.#e.node,{dropIndex:F.create(e)})})}$call(e){return e(this)}},K=class e{#e;constructor(e){this.#e=k(e)}alterColumn(t,n){let r=n(new Ye(t));return new e({...this.#e,node:N.cloneWithColumnAlteration(this.#e.node,r.toOperationNode())})}dropColumn(t,n=T){let r=n(new rt({node:Ie.create(t)}));return new e({...this.#e,node:N.cloneWithColumnAlteration(this.#e.node,r.toOperationNode())})}renameColumn(t,n){return new e({...this.#e,node:N.cloneWithColumnAlteration(this.#e.node,Le.create(t,n))})}addColumn(t,n,r=T){let i=r(new R(I.create(t,O(n))));return new e({...this.#e,node:N.cloneWithColumnAlteration(this.#e.node,Fe.create(i.toOperationNode()))})}modifyColumn(t,n,r=T){let i=r(new R(I.create(t,O(n))));return new e({...this.#e,node:N.cloneWithColumnAlteration(this.#e.node,Ge.create(i.toOperationNode()))})}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(e){await this.#e.executor.executeQuery(this.compile(),e)}},at=class extends _e{transformPrimitiveValueList(e){return de.create(e.values.map(t.createImmediate))}transformValue(e){return t.createImmediate(e.value)}},ot=class e{#e;constructor(e){this.#e=k(e)}ifNotExists(){return new e({...this.#e,node:P.cloneWith(this.#e.node,{ifNotExists:!0})})}unique(){return new e({...this.#e,node:P.cloneWith(this.#e.node,{unique:!0})})}nullsNotDistinct(){return new e({...this.#e,node:P.cloneWith(this.#e.node,{nullsNotDistinct:!0})})}on(t){return new e({...this.#e,node:P.cloneWith(this.#e.node,{table:j(t)})})}column(t){return new e({...this.#e,node:P.cloneWithColumns(this.#e.node,[D(t)?m(t):t.toOperationNode()])})}columns(t){return new e({...this.#e,node:P.cloneWithColumns(this.#e.node,t.map(e=>D(e)?m(e):e.toOperationNode()))})}expression(t){return new e({...this.#e,node:P.cloneWithColumns(this.#e.node,[t.toOperationNode()])})}using(t){return new e({...this.#e,node:P.cloneWith(this.#e.node,{using:l.createWithSql(t)})})}where(...t){let n=new at;return new e({...this.#e,node:h.cloneWithWhere(this.#e.node,n.transformNode(fe(t),this.#e.queryId))})}$call(e){return e(this)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(e){await this.#e.executor.executeQuery(this.compile(),e)}},st=class e{#e;constructor(e){this.#e=k(e)}ifNotExists(){return new e({...this.#e,node:Me.cloneWith(this.#e.node,{ifNotExists:!0})})}$call(e){return e(this)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(e){await this.#e.executor.executeQuery(this.compile(),e)}};function ct(e){if(s.includes(e))return e;throw Error(`invalid OnCommitAction ${e}`)}var lt=class e{#e;constructor(e){this.#e=e}using(t){return new e(G.cloneWith(this.#e,{using:l.createWithSql(t)}))}$call(e){return e(this)}toOperationNode(){return this.#e}},ut=class e{#e;constructor(e){this.#e=k(e)}temporary(){return new e({...this.#e,node:x.cloneWith(this.#e.node,{temporary:!0})})}onCommit(t){return new e({...this.#e,node:x.cloneWith(this.#e.node,{onCommit:ct(t)})})}ifNotExists(){return new e({...this.#e,node:x.cloneWith(this.#e.node,{ifNotExists:!0})})}addColumn(t,n,r=T){let i=r(new R(I.create(t,O(n))));return new e({...this.#e,node:x.cloneWithColumn(this.#e.node,i.toOperationNode())})}addPrimaryKeyConstraint(t,n,r=T){let i=r(new et(W.create(n,t)));return new e({...this.#e,node:x.cloneWithConstraint(this.#e.node,i.toOperationNode())})}addUniqueConstraint(t,r,i=T){let a=i(new $e(B.create(r.map(e=>D(e)?n.create(e):w(e)),t)));return new e({...this.#e,node:x.cloneWithConstraint(this.#e.node,a.toOperationNode())})}addIndex(t,r,i=T){let a=i(new lt(G.cloneWithColumns(G.create(t),r.map(e=>D(e)?n.create(e):w(e)))));return new e({...this.#e,node:x.cloneWithIndex(this.#e.node,a.toOperationNode())})}addCheckConstraint(t,n,r=T){let i=r(new tt(Re.create(n.toOperationNode(),t)));return new e({...this.#e,node:x.cloneWithConstraint(this.#e.node,i.toOperationNode())})}addForeignKeyConstraint(t,r,i,a,o=T){let s=o(new Ke(z.create(r.map(n.create),j(i),a.map(n.create),t)));return new e({...this.#e,node:x.cloneWithConstraint(this.#e.node,s.toOperationNode())})}modifyFront(t){return new e({...this.#e,node:x.cloneWithFrontModifier(this.#e.node,t.toOperationNode())})}modifyEnd(t){return new e({...this.#e,node:x.cloneWithEndModifier(this.#e.node,t.toOperationNode())})}as(t){return new e({...this.#e,node:x.cloneWith(this.#e.node,{selectQuery:w(t)})})}$call(e){return e(this)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(e){await this.#e.executor.executeQuery(this.compile(),e)}},dt=class e{#e;constructor(e){this.#e=k(e)}on(t){return new e({...this.#e,node:F.cloneWith(this.#e.node,{table:j(t)})})}ifExists(){return new e({...this.#e,node:F.cloneWith(this.#e.node,{ifExists:!0})})}cascade(){return new e({...this.#e,node:F.cloneWith(this.#e.node,{cascade:!0})})}$call(e){return e(this)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(e){await this.#e.executor.executeQuery(this.compile(),e)}},ft=class e{#e;constructor(e){this.#e=k(e)}ifExists(){return new e({...this.#e,node:Ne.cloneWith(this.#e.node,{ifExists:!0})})}cascade(){return new e({...this.#e,node:Ne.cloneWith(this.#e.node,{cascade:!0})})}$call(e){return e(this)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(e){await this.#e.executor.executeQuery(this.compile(),e)}},pt=class e{#e;constructor(e){this.#e=k(e)}temporary(){return new e({...this.#e,node:Pe.cloneWith(this.#e.node,{temporary:!0})})}ifExists(){return new e({...this.#e,node:Pe.cloneWith(this.#e.node,{ifExists:!0})})}cascade(){return new e({...this.#e,node:Pe.cloneWith(this.#e.node,{cascade:!0})})}$call(e){return e(this)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(e){await this.#e.executor.executeQuery(this.compile(),e)}},mt=class{#e=new at;transformQuery(e){return this.#e.transformNode(e.node,e.queryId)}transformResult(e){return Promise.resolve(e.result)}},ht=class e{#e;constructor(e){this.#e=k(e)}temporary(){return new e({...this.#e,node:E.cloneWith(this.#e.node,{temporary:!0})})}materialized(){return new e({...this.#e,node:E.cloneWith(this.#e.node,{materialized:!0})})}ifNotExists(){return new e({...this.#e,node:E.cloneWith(this.#e.node,{ifNotExists:!0})})}orReplace(){return new e({...this.#e,node:E.cloneWith(this.#e.node,{orReplace:!0})})}columns(t){return new e({...this.#e,node:E.cloneWith(this.#e.node,{columns:t.map(p)})})}as(t){let n=t.withPlugin(new mt).toOperationNode();return new e({...this.#e,node:E.cloneWith(this.#e.node,{as:n})})}$call(e){return e(this)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(e){await this.#e.executor.executeQuery(this.compile(),e)}};const gt=k({is(e){return e.kind===`DropViewNode`},create(e){return k({kind:`DropViewNode`,name:b.create(e)})},cloneWith(e,t){return k({...e,...t})}});var _t=class e{#e;constructor(e){this.#e=k(e)}materialized(){return new e({...this.#e,node:gt.cloneWith(this.#e.node,{materialized:!0})})}ifExists(){return new e({...this.#e,node:gt.cloneWith(this.#e.node,{ifExists:!0})})}cascade(){return new e({...this.#e,node:gt.cloneWith(this.#e.node,{cascade:!0})})}$call(e){return e(this)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(e){await this.#e.executor.executeQuery(this.compile(),e)}};const vt=k({is(e){return e.kind===`CreateTypeNode`},create(e){return k({kind:`CreateTypeNode`,name:e})},cloneWithEnum(e,n){return k({...e,enum:de.create(n.map(t.createImmediate))})}});var yt=class e{#e;constructor(e){this.#e=k(e)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}asEnum(t){return new e({...this.#e,node:vt.cloneWithEnum(this.#e.node,t)})}$call(e){return e(this)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(e){await this.#e.executor.executeQuery(this.compile(),e)}};const bt=k({is(e){return e.kind===`DropTypeNode`},create(e){return Array.isArray(e)||(e=[e]),k({kind:`DropTypeNode`,name:e[0],additionalNames:e.slice(1)})},cloneWith(e,t){return k({...e,...t})}});var xt=class e{#e;constructor(e){this.#e=k(e)}ifExists(){return new e({...this.#e,node:bt.cloneWith(this.#e.node,{ifExists:!0})})}cascade(){return new e({...this.#e,node:bt.cloneWith(this.#e.node,{cascade:!0})})}$call(e){return e(this)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(e){await this.#e.executor.executeQuery(this.compile(),e)}};function St(e){if(e.includes(`.`)){let t=e.split(`.`).map(wt);if(t.length===2)return b.createWithSchema(t[0],t[1]);throw Error(`invalid schemable identifier ${e}`)}return b.create(e)}function Ct(e){return Array.isArray(e)||(e=[e]),e.map(St)}function wt(e){return e.trim()}const q=k({is(e){return e.kind===`RefreshMaterializedViewNode`},create(e){return k({kind:`RefreshMaterializedViewNode`,name:b.create(e)})},cloneWith(e,t){return k({...e,...t})}});var Tt=class e{#e;constructor(e){this.#e=k(e)}concurrently(){return new e({...this.#e,node:q.cloneWith(this.#e.node,{concurrently:!0,withNoData:!1})})}withData(){return new e({...this.#e,node:q.cloneWith(this.#e.node,{withNoData:!1})})}withNoData(){return new e({...this.#e,node:q.cloneWith(this.#e.node,{withNoData:!0,concurrently:!1})})}$call(e){return e(this)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(e){await this.#e.executor.executeQuery(this.compile(),e)}};const J=k({is(e){return e.kind===`AlterTypeNode`},create(e){return k({kind:`AlterTypeNode`,name:e})},cloneWith(e,t){return k({...e,...t})}}),Et=k({is(e){return e.kind===`AddValueNode`},create(e){return k({kind:`AddValueNode`,value:e})},cloneWith(e,t){return k({...e,...t})}});var Dt=class{#e;constructor(e){this.#e=k(e)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(e){return await this.#e.executor.executeQuery(this.compile(),e)}},Ot,kt=class extends Dt{#e;constructor(e){super(e),this.#e=e}ifNotExists(){return new Ot({...this.#e,node:J.cloneWith(this.#e.node,{addValue:Et.cloneWith(this.#e.node.addValue,{ifNotExists:!0})})})}before(e){return this.#t(e,!0)}after(e){return this.#t(e,!1)}#t(e,n){return new Ot({...this.#e,node:J.cloneWith(this.#e.node,{addValue:Et.cloneWith(this.#e.node.addValue,{isBefore:n,neighborValue:t.createImmediate(e)})})})}};Ot=kt;const At=k({is(e){return e.kind===`RenameValueNode`},create(e,t){return k({kind:`RenameValueNode`,oldValue:e,newValue:t})}});var jt=class{#e;constructor(e){this.#e=k(e)}addValue(e){return new kt({...this.#e,node:J.cloneWith(this.#e.node,{addValue:Et.create(t.createImmediate(e))})})}renameTo(e){return new Dt({...this.#e,node:J.cloneWith(this.#e.node,{renameTo:d.create(e)})})}renameValue(e,n){return new Dt({...this.#e,node:J.cloneWith(this.#e.node,{renameValue:At.create(t.createImmediate(e),t.createImmediate(n))})})}setSchema(e){return new Dt({...this.#e,node:J.cloneWith(this.#e.node,{setSchema:d.create(e)})})}},Mt=class e{#e;constructor(e){this.#e=e}createTable(e){return new ut({queryId:y(),executor:this.#e,node:x.create(j(e))})}dropTable(e){return new pt({queryId:y(),executor:this.#e,node:Pe.create(j(e))})}createIndex(e){return new ot({queryId:y(),executor:this.#e,node:P.create(e)})}dropIndex(e){return new dt({queryId:y(),executor:this.#e,node:F.create(e)})}createSchema(e){return new st({queryId:y(),executor:this.#e,node:Me.create(e)})}dropSchema(e){return new ft({queryId:y(),executor:this.#e,node:Ne.create(e)})}alterTable(e){return new it({queryId:y(),executor:this.#e,node:N.create(j(e))})}createView(e){return new ht({queryId:y(),executor:this.#e,node:E.create(e)})}refreshMaterializedView(e){return new Tt({queryId:y(),executor:this.#e,node:q.create(e)})}dropView(e){return new _t({queryId:y(),executor:this.#e,node:gt.create(e)})}createType(e){return new yt({queryId:y(),executor:this.#e,node:vt.create(St(e))})}alterType(e){return new jt({executor:this.#e,node:J.create(St(e)),queryId:y()})}dropType(e){return new xt({queryId:y(),executor:this.#e,node:bt.create(Ct(e))})}withPlugin(t){return new e(this.#e.withPlugin(t))}withoutPlugins(){return new e(this.#e.withoutPlugins())}withSchema(t){return new e(this.#e.withPluginAtFront(new r(t)))}},Nt=class{ref(e){return new f(e)}table(e){return new oe(e)}},Pt=class{#e;constructor(e){this.#e=e}async provideConnection(e,t){let n=await this.#e.acquireConnection(t);try{return await e(n)}finally{await this.#e.releaseConnection(n,t)}}},Ft=class e extends ge{#e;#t;#n;constructor(e,t,n,r=[]){super(r),this.#e=e,this.#t=t,this.#n=n}get adapter(){return this.#t}compileQuery(e,t){return this.#e.compileQuery(e,t)}provideConnection(e,t){return this.#n.provideConnection(e,t)}withPlugins(t){return new e(this.#e,this.#t,this.#n,[...this.plugins,...t])}withPlugin(t){return new e(this.#e,this.#t,this.#n,[...this.plugins,t])}withPluginAtFront(t){return new e(this.#e,this.#t,this.#n,[t,...this.plugins])}withConnectionProvider(t){return new e(this.#e,this.#t,t,[...this.plugins])}withoutPlugins(){return new e(this.#e,this.#t,this.#n,[])}};function It(){return typeof performance<`u`&&_(performance.now)?performance.now():Date.now()}var Lt=class{#e;#t;async obtainLock(){for(;this.#e;)await this.#e;this.#e=new Promise(e=>{this.#t=e})}releaseLock(){let e=this.#t;this.#e=void 0,this.#t=void 0,e?.()}},Rt=class{#e;#t;#n;#r;#i;#a=/* @__PURE__ */ new WeakSet;#o;constructor(e,t,n){this.#e=e,this.#r=!1,this.#t=n,t.supportsMultipleConnections===!1&&(this.#o=new Lt)}async init(e){if(this.#i)throw Error(`driver has already been destroyed`);this.#n??=this.#e.init(e).then(()=>{this.#r=!0}).catch(e=>{throw this.#n=void 0,e}),await S(this.#n,e?.signal,`init`)}async acquireConnection(e){if(this.#i)throw Error(`driver has already been destroyed`);if(this.#r||await this.init(e),this.#o){let t=this.#o.obtainLock();await S(t,e?.signal,`acquireConnection:mutex`,()=>t.then(()=>this.#o?.releaseLock()))}let t=this.#e.acquireConnection(e),n=await S(t,e?.signal,`acquireConnection:acquire`,()=>t?.then(e=>this.releaseConnection(e).catch(ye(`driver.releaseConnection`))).catch(ye(`driver.acquireConnection`)));return this.#a.has(n)||(this.#s()&&this.#c(n),this.#a.add(n)),n}async releaseConnection(e,t){await this.#e.releaseConnection(e,t),this.#o?.releaseLock()}async beginTransaction(e,t){return await this.#e.beginTransaction(e,t)}async commitTransaction(e){return await this.#e.commitTransaction(e)}async rollbackTransaction(e){return await this.#e.rollbackTransaction(e)}async savepoint(e,t,n){if(this.#e.savepoint)return await this.#e.savepoint(e,t,n);throw Error("The `savepoint` method is not supported by this driver")}async rollbackToSavepoint(e,t,n){if(this.#e.rollbackToSavepoint)return await this.#e.rollbackToSavepoint(e,t,n);throw Error("The `rollbackToSavepoint` method is not supported by this driver")}async releaseSavepoint(e,t,n){if(this.#e.releaseSavepoint)return await this.#e.releaseSavepoint(e,t,n);throw Error("The `releaseSavepoint` method is not supported by this driver")}async destroy(e){this.#n&&(await S(this.#n,e?.signal,`destroy:initPromise`),this.#i??=this.#e.destroy(e).catch(e=>{throw this.#i=void 0,e}),await S(this.#i,e?.signal,`destroy`))}#s(){return this.#t.isLevelEnabled(`query`)||this.#t.isLevelEnabled(`error`)}#c(e){let t=e.executeQuery,n=e.streamQuery,r=this;e.executeQuery=async(n,i)=>{let a,o=It();try{return await t.call(e,n,i)}catch(e){throw a=e,await r.#l(e,n,o),e}finally{a||await r.#u(n,o)}},e.streamQuery=async function*(t,i,a){let o,s=It();try{for await(let r of n.call(e,t,i,a))yield r}catch(e){throw o=e,await r.#l(e,t,s),e}finally{o||await r.#u(t,s,!0)}}}async#l(e,t,n){await this.#t.error(()=>({level:`error`,error:e,query:t,queryDurationMillis:this.#d(n)}))}async#u(e,t,n=!1){await this.#t.query(()=>({level:`query`,isStream:n,query:e,queryDurationMillis:this.#d(t)}))}#d(e){return It()-e}};const zt=()=>{};var Bt=class{#e;#t;constructor(e){this.#e=e}async provideConnection(e){for(;this.#t;)await this.#t.catch(zt);return this.#t=this.#n(e).finally(()=>{this.#t=void 0}),this.#t}async#n(e){return await e(this.#e)}};const Vt=[`read only`,`read write`],Ht=[`read uncommitted`,`read committed`,`repeatable read`,`serializable`,`snapshot`];function Ut(e){if(e.accessMode&&!Vt.includes(e.accessMode))throw Error(`invalid transaction access mode ${e.accessMode}`);if(e.isolationLevel&&!Ht.includes(e.isolationLevel))throw Error(`invalid transaction isolation level ${e.isolationLevel}`)}k([`query`,`error`]);var Wt=class{#e;#t;constructor(e){_(e)?(this.#t=e,this.#e=k({query:!0,error:!0})):(this.#t=Gt,this.#e=k({query:e.includes(`query`),error:e.includes(`error`)}))}isLevelEnabled(e){return this.#e[e]}async query(e){this.#e.query&&await this.#t(e())}async error(e){this.#e.error&&await this.#t(e())}};function Gt(e){if(e.level===`query`){let t=`kysely:query:${e.isStream?`stream:`:``}`;console.log(`${t} ${e.query.sql}`),console.log(`${t} duration: ${e.queryDurationMillis.toFixed(1)}ms`)}else e.level===`error`&&(e.error instanceof Error?console.error(`kysely:error: ${e.error.stack??e.error.message}`):console.error(`kysely:error: ${JSON.stringify({error:e.error,query:e.query.sql,queryDurationMillis:e.queryDurationMillis})}`))}function Kt(e){return A(e)&&_(e.compile)}Symbol.asyncDispose??=Symbol(`Symbol.asyncDispose`);var Y=class e extends ae{#e;constructor(e){let t,n;if(Jt(e))t={executor:e.executor},n={...e};else{let r=e.dialect,i=r.createDriver(),a=r.createQueryCompiler(),o=r.createAdapter(),s=new Rt(i,o,new Wt(e.log??[])),c=new Ft(a,o,new Pt(s),e.plugins??[]);t={executor:c},n={config:e,executor:c,dialect:r,driver:s}}super(t),this.#e=k(n)}get schema(){return new Mt(this.#e.executor)}get dynamic(){return new Nt}get introspection(){return this.#e.dialect.createIntrospector(this.withoutPlugins())}case(e){return new pe({node:le.create(me(e)?void 0:w(e))})}get fn(){return ce()}transaction(){return new Xt({...this.#e})}startTransaction(){return new Zt({...this.#e})}connection(){return new Yt({...this.#e})}withPlugin(t){return new e({...this.#e,executor:this.#e.executor.withPlugin(t)})}withoutPlugins(){return new e({...this.#e,executor:this.#e.executor.withoutPlugins()})}withSchema(t){return new e({...this.#e,executor:this.#e.executor.withPluginAtFront(new r(t))})}$extendTables(){return new e({...this.#e})}$omitTables(){return new e({...this.#e})}$pickTables(){return new e({...this.#e})}withTables(){return this.$extendTables()}async destroy(){await this.#e.driver.destroy()}get isTransaction(){return!1}getExecutor(){return this.#e.executor}async executeQuery(e,t){let n=Kt(e)?e.compile():e;return await this.#e.executor.executeQuery(n,t)}async[Symbol.asyncDispose](){await this.destroy()}},qt=class e extends Y{#e;constructor(e){super(e),this.#e=e}get isTransaction(){return!0}transaction(){throw Error(`calling the transaction method for a Transaction is not supported`)}startTransaction(){throw Error(`calling the controlled transaction method for a Transaction is not supported`)}connection(){throw Error(`calling the connection method for a Transaction is not supported`)}destroy(){throw Error(`calling the destroy method for a Transaction is not supported`)}withPlugin(t){return new e({...this.#e,executor:this.#e.executor.withPlugin(t)})}withoutPlugins(){return new e({...this.#e,executor:this.#e.executor.withoutPlugins()})}withSchema(t){return new e({...this.#e,executor:this.#e.executor.withPluginAtFront(new r(t))})}withTables(){return new e({...this.#e})}$extendTables(){return new e({...this.#e})}$omitTables(){return new e({...this.#e})}$pickTables(){return new e({...this.#e})}};function Jt(e){return A(e)&&A(e.config)&&A(e.driver)&&A(e.executor)&&A(e.dialect)}var Yt=class{#e;constructor(e){this.#e=k(e)}async execute(e,t){return this.#e.executor.provideConnection(async t=>{let n=this.#e.executor.withConnectionProvider(new Bt(t));return await e(new Y({...this.#e,executor:n}))},k({signal:t?.signal}))}},Xt=class e{#e;constructor(e){this.#e=k(e)}setAccessMode(t){return new e({...this.#e,accessMode:t})}setIsolationLevel(t){return new e({...this.#e,isolationLevel:t})}async execute(e){let{isolationLevel:t,accessMode:n,...r}=this.#e,i={isolationLevel:t,accessMode:n};return Ut(i),this.#e.executor.provideConnection(async t=>{let n={isCommitted:!1,isRolledBack:!1},a=new $t(this.#e.executor.withConnectionProvider(new Bt(t)),n),o=new qt({...r,executor:a}),s=!1;try{await this.#e.driver.beginTransaction(t,i),s=!0;let r=await e(o);return await this.#e.driver.commitTransaction(t),n.isCommitted=!0,r}catch(e){throw s&&(await this.#e.driver.rollbackTransaction(t),n.isRolledBack=!0),e}})}},Zt=class e{#e;constructor(e){this.#e=k(e)}setAccessMode(t){return new e({...this.#e,accessMode:t})}setIsolationLevel(t){return new e({...this.#e,isolationLevel:t})}async execute(){let{isolationLevel:e,accessMode:t,...n}=this.#e,r={isolationLevel:e,accessMode:t};Ut(r);let i=await ve(this.#e.executor);return await this.#e.driver.beginTransaction(i.connection,r),new Qt({...n,connection:i,executor:this.#e.executor.withConnectionProvider(new Bt(i.connection))})}},Qt=class e extends qt{#e;#t;#n;constructor(e){let t={isCommitted:!1,isRolledBack:!1};e={...e,executor:new $t(e.executor,t)};let{connection:n,...r}=e;super(r),this.#e=k(e),this.#n=t;let i=y();this.#t=t=>e.executor.compileQuery(t,i)}get isCommitted(){return this.#n.isCommitted}get isRolledBack(){return this.#n.isRolledBack}commit(){return Z(this.#n),new X(async()=>{await this.#e.driver.commitTransaction(this.#e.connection.connection),this.#n.isCommitted=!0,this.#e.connection.release()})}rollback(){return Z(this.#n),new X(async()=>{await this.#e.driver.rollbackTransaction(this.#e.connection.connection),this.#n.isRolledBack=!0,this.#e.connection.release()})}savepoint(t){return Z(this.#n),new X(async()=>(await this.#e.driver.savepoint?.(this.#e.connection.connection,t,this.#t),new e({...this.#e})))}rollbackToSavepoint(t){return Z(this.#n),new X(async()=>(await this.#e.driver.rollbackToSavepoint?.(this.#e.connection.connection,t,this.#t),new e({...this.#e})))}releaseSavepoint(t){return Z(this.#n),new X(async()=>(await this.#e.driver.releaseSavepoint?.(this.#e.connection.connection,t,this.#t),new e({...this.#e})))}withPlugin(t){return new e({...this.#e,executor:this.#e.executor.withPlugin(t)})}withoutPlugins(){return new e({...this.#e,executor:this.#e.executor.withoutPlugins()})}withSchema(t){return new e({...this.#e,executor:this.#e.executor.withPluginAtFront(new r(t))})}withTables(){return new e({...this.#e})}$extendTables(){return new e({...this.#e})}$omitTables(){return new e({...this.#e})}$pickTables(){return new e({...this.#e})}},X=class{#e;constructor(e){this.#e=e}async execute(){return await this.#e()}};function Z(e){if(e.isCommitted)throw Error(`Transaction is already committed`);if(e.isRolledBack)throw Error(`Transaction is already rolled back`)}var $t=class e{#e;#t;constructor(t,n){this.#e=t instanceof e?t.#e:t,this.#t=n}get adapter(){return this.#e.adapter}get plugins(){return this.#e.plugins}transformQuery(e,t){return this.#e.transformQuery(e,t)}compileQuery(e,t){return this.#e.compileQuery(e,t)}provideConnection(e,t){return this.#e.provideConnection(e,t)}executeQuery(e,t){return Z(this.#t),this.#e.executeQuery(e,t)}stream(e,t,n){return Z(this.#t),this.#e.stream(e,t,n)}withConnectionProvider(t){return new e(this.#e.withConnectionProvider(t),this.#t)}withPlugin(t){return new e(this.#e.withPlugin(t),this.#t)}withPlugins(t){return new e(this.#e.withPlugins(t),this.#t)}withPluginAtFront(t){return new e(this.#e.withPluginAtFront(t),this.#t)}withoutPlugins(){return new e(this.#e.withoutPlugins(),this.#t)}};function Q(e,t){return l.createWithChildren([l.createWithSql(`${e} `),d.create(t)])}var en=class{#e;#t;#n;constructor(e){this.#e=k({...e})}async init(e){this.#t=_(this.#e.database)?await this.#e.database(e):this.#e.database,this.#n=new tn(this.#t),this.#e.onCreateConnection&&await this.#e.onCreateConnection(this.#n,e)}async acquireConnection(){return this.#n}async beginTransaction(e){await e.executeQuery(M.raw(`begin`))}async commitTransaction(e){await e.executeQuery(M.raw(`commit`))}async rollbackTransaction(e){await e.executeQuery(M.raw(`rollback`))}async savepoint(e,t,n){await e.executeQuery(n(Q(`savepoint`,t),y()))}async rollbackToSavepoint(e,t,n){await e.executeQuery(n(Q(`rollback to`,t),y()))}async releaseSavepoint(e,t,n){await e.executeQuery(n(Q(`release`,t),y()))}async releaseConnection(){}async destroy(){this.#t?.close()}},tn=class{#e;constructor(e){this.#e=e}async executeQuery(e){let{sql:t,parameters:n}=e,r=this.#e.prepare(t);if(r.reader)return{rows:r.all(n)};let{changes:i,lastInsertRowid:a}=r.run(n);return{insertId:a==null?void 0:BigInt(a),numAffectedRows:i==null?void 0:BigInt(i),rows:[]}}async*streamQuery(e,t){let{sql:n,parameters:r,query:a}=e,o=this.#e.prepare(n);if(!i.is(a))throw Error(`Sqlite driver only supports streaming of select queries`);let s=o.iterate(r);for(let e of s)yield{rows:[e]}}};const $=`kysely_migration`,nn=`kysely_migration_lock`;k({__noMigrations__:!0});var rn=class{#e;constructor(e){this.#e=e}async getSchemas(){return[]}async getTables(e={withInternalKyselyTables:!1}){return await this.#n(e)}#t(e,t){let n=e.selectFrom(`sqlite_master`).where(`type`,`in`,[`table`,`view`]).where(`name`,`not like`,`sqlite_%`).select([`name`,`sql`,`type`]).orderBy(`name`);return t.withInternalKyselyTables||(n=n.where(`name`,`!=`,$).where(`name`,`!=`,nn)),n}async#n(e){let t=await this.#t(this.#e,e).execute(),n=await this.#e.with(`table_list`,t=>this.#t(t,e)).selectFrom([`table_list as tl`,C`pragma_table_info(tl.name)`.as(`p`)]).select([`tl.name as table`,`p.cid`,`p.name`,`p.type`,`p.notnull`,`p.dflt_value`,`p.pk`]).orderBy(`tl.name`).orderBy(`p.cid`).execute(),r={};for(let e of n)r[e.table]??=[],r[e.table].push(e);return t.map(({name:e,sql:t,type:n})=>{let i=t?.split(/[\(\),]/)?.find(e=>e.toLowerCase().includes(`autoincrement`))?.trimStart()?.split(/\s+/)?.[0]?.replace(/["`]/g,``),a=r[e]??[];if(!i){let e=a.filter(e=>e.pk>0);e.length===1&&e[0].type.toLowerCase()===`integer`&&(i=e[0].name)}return{name:e,isView:n===`view`,isForeign:!1,columns:a.map(e=>({name:e.name,dataType:e.type,isNullable:!e.notnull,isAutoIncrementing:e.name===i,hasDefaultValue:e.dflt_value!=null,comment:void 0}))}})}},an=class{#e;constructor(e){this.#e=k({...e})}createDriver(){return new en(this.#e)}createQueryCompiler(){return new xe}createAdapter(){return new Ce}createIntrospector(e){return new rn(e)}};function on(e,t){if(sn(e)&&t.stack){let n=t.stack.split(`
|
|
2
|
+
`).slice(1).join(`
|
|
3
|
+
`);return e.stack+=`\n${n}`,e}return e}function sn(e){return A(e)&&D(e.stack)}const cn=Symbol();var ln=class{#e;#t=/* @__PURE__ */ new WeakMap;#n;constructor(e){this.#e=k({...e})}async init(e){this.#n=_(this.#e.pool)?await this.#e.pool(e):this.#e.pool}async acquireConnection(e){let t=await this.#r(),n=this.#t.get(t);return n||(n=new dn(t,this.#e.controlConnection),this.#t.set(t,n),this.#e?.onCreateConnection&&await this.#e.onCreateConnection(n,e)),this.#e?.onReserveConnection&&await this.#e.onReserveConnection(n,e),n}async beginTransaction(e,t){if(t.isolationLevel||t.accessMode){let n=[];t.isolationLevel&&n.push(`isolation level ${t.isolationLevel}`),t.accessMode&&n.push(t.accessMode);let r=`set transaction ${n.join(`, `)}`;await e.executeQuery(M.raw(r))}await e.executeQuery(M.raw(`begin`))}async commitTransaction(e){await e.executeQuery(M.raw(`commit`))}async rollbackTransaction(e){await e.executeQuery(M.raw(`rollback`))}async savepoint(e,t,n){await e.executeQuery(n(Q(`savepoint`,t),y()))}async rollbackToSavepoint(e,t,n){await e.executeQuery(n(Q(`rollback to`,t),y()))}async releaseSavepoint(e,t,n){await e.executeQuery(n(Q(`release savepoint`,t),y()))}async releaseConnection(e){e[cn]()}async destroy(){return new Promise((e,t)=>{this.#n.end(n=>{n?t(n):e()})})}async#r(){return new Promise((e,t)=>{this.#n.getConnection(async(n,r)=>{n?t(n):e(r)})})}};function un(e){return A(e)&&`insertId`in e&&`affectedRows`in e}var dn=class{#e;#t;#n;#r;constructor(e,t){this.#e=e,this.#t=t}async cancelQuery(e){await this.#a(`kill query ${this.#n}`,e)}async collectSessionInfo(){if(this.#n)return;let{threadId:e}=this.#e;if(e!=null)this.#n=e;else{let[{cid:e}]=await this.#i(M.raw(`select connection_id() as cid`));this.#n=Number(e)}}async executeQuery(e){try{this.#r=e.queryId;let t=await this.#i(e);if(!un(t))return{rows:Array.isArray(t)?t:[]};let{insertId:n,affectedRows:r,changedRows:i}=t;return{insertId:n!=null&&n.toString()!==`0`?BigInt(n):void 0,numAffectedRows:r==null?void 0:BigInt(r),numChangedRows:i==null?void 0:BigInt(i),rows:[]}}catch(e){throw on(e,/* @__PURE__ */ Error())}finally{this.#r=void 0}}async killSession(e){try{this.#e.destroy()}catch{}await this.#a(`kill connection ${this.#n}`,e)}async*streamQuery(e,t){this.#r=e.queryId;let n=this.#e.query(e.sql,e.parameters).stream({objectMode:!0});try{for await(let e of n)yield{rows:[e]}}catch(e){if(A(e)&&`code`in e&&e.code===`ERR_STREAM_PREMATURE_CLOSE`)return;throw e}finally{this.#r=void 0}}[cn](){this.#e.release()}#i(e){return new Promise((t,n)=>{this.#e.query(e.sql,e.parameters,(e,r)=>{e?n(e):t(r)})})}async#a(e,t){if(!this.#r)return;let{config:n}=this.#e,r=this.#r;if(!this.#t||!n)return await t(async t=>{r.queryId===this.#r?.queryId&&await t.executeQuery(M.raw(e,[]))});let{clientFlags:i,maxPacketSize:a,...o}=n,s=this.#t(o);try{await new Promise((t,n)=>{s.connect(i=>{if(i)return n(i);if(r.queryId!==this.#r?.queryId)return t();s.query(e,[],e=>{if(e)return n(e);t()})})})}finally{s.destroy()}}};const fn=/[\\']/g,pn=/`/g,mn=/[\\'"]/g;var hn=class extends he{getCurrentParameterPlaceholder(){return`?`}getLeftExplainOptionsWrapper(){return``}getExplainOptionAssignment(){return`=`}getExplainOptionsDelimiter(){return` `}getRightExplainOptionsWrapper(){return``}getLeftIdentifierWrapper(){return pn.source}getRightIdentifierWrapper(){return pn.source}sanitizeIdentifier(e){return e.replace(pn,"``")}sanitizeStringLiteral(e){return e.replace(fn,e=>e===`\\`?`\\\\`:`''`)}sanitizeJSONPathMemberValue(e){return e.replace(mn,e=>e===`\\`?`\\\\\\\\`:e===`'`?`''`:`\\\\"`)}visitCreateIndex(e){this.append(`create `),e.unique&&this.append(`unique `),this.append(`index `),e.ifNotExists&&this.append(`if not exists `),this.visitNode(e.name),e.using&&(this.append(` using `),this.visitNode(e.using)),e.table&&(this.append(` on `),this.visitNode(e.table)),e.columns&&(this.append(` (`),this.compileList(e.columns),this.append(`)`)),e.where&&(this.append(` `),this.visitNode(e.where))}},gn=class{#e;constructor(e){this.#e=e}async getSchemas(){return(await this.#e.selectFrom(`information_schema.schemata`).select(`schema_name`).$castTo().execute()).map(e=>({name:e.SCHEMA_NAME}))}async getTables(e={withInternalKyselyTables:!1}){let t=this.#e.selectFrom(`information_schema.columns as columns`).innerJoin(`information_schema.tables as tables`,e=>e.onRef(`columns.TABLE_CATALOG`,`=`,`tables.TABLE_CATALOG`).onRef(`columns.TABLE_SCHEMA`,`=`,`tables.TABLE_SCHEMA`).onRef(`columns.TABLE_NAME`,`=`,`tables.TABLE_NAME`)).select([`columns.COLUMN_NAME`,`columns.COLUMN_DEFAULT`,`columns.TABLE_NAME`,`columns.TABLE_SCHEMA`,`tables.TABLE_TYPE`,`tables.ENGINE`,`columns.IS_NULLABLE`,`columns.DATA_TYPE`,`columns.EXTRA`,`columns.COLUMN_COMMENT`]).where(`columns.TABLE_SCHEMA`,`=`,C`database()`).orderBy(`columns.TABLE_NAME`).orderBy(`columns.ORDINAL_POSITION`).$castTo();e.withInternalKyselyTables||(t=t.where(`columns.TABLE_NAME`,`!=`,$).where(`columns.TABLE_NAME`,`!=`,nn));let n=await t.execute();return this.#t(n)}#t(e){return e.reduce((e,t)=>{let n=e.find(e=>e.name===t.TABLE_NAME);return n||(n=k({name:t.TABLE_NAME,isView:t.TABLE_TYPE===`VIEW`,isForeign:t.ENGINE===`FEDERATED`,schema:t.TABLE_SCHEMA,columns:[]}),e.push(n)),n.columns.push(k({name:t.COLUMN_NAME,dataType:t.DATA_TYPE,isNullable:t.IS_NULLABLE===`YES`,isAutoIncrementing:t.EXTRA.toLowerCase().includes(`auto_increment`),hasDefaultValue:t.COLUMN_DEFAULT!==null,comment:t.COLUMN_COMMENT===``?void 0:t.COLUMN_COMMENT})),e},[])}};const _n=`ea586330-2c93-47c8-908d-981d9d270f9d`;var vn=class extends Se{get supportsTransactionalDdl(){return!1}get supportsReturning(){return!1}async acquireMigrationLock(e,t){await C`select get_lock(${C.lit(_n)}, ${C.lit(3600)})`.execute(e)}async releaseMigrationLock(e,t){await C`select release_lock(${C.lit(_n)})`.execute(e)}},yn=class{#e;constructor(e){this.#e=e}createDriver(){return new ln(this.#e)}createQueryCompiler(){return new hn}createAdapter(){return new vn}createIntrospector(e){return new gn(e)}};const bn=Symbol();var xn=class{#e;#t=/* @__PURE__ */ new WeakMap;#n;constructor(e){this.#e=k({...e})}async init(e){this.#n=_(this.#e.pool)?await this.#e.pool(e):this.#e.pool}async acquireConnection(e){let t=await this.#n.connect(),n=this.#t.get(t);return n||(n=new Sn(t,{controlClient:this.#e.controlClient||this.#n.Client,cursor:this.#e.cursor??null,poolOptions:this.#n.options}),this.#t.set(t,n),this.#e.onCreateConnection&&await this.#e.onCreateConnection(n,e)),this.#e.onReserveConnection&&await this.#e.onReserveConnection(n,e),n}async beginTransaction(e,t){let n=`begin`;(t.isolationLevel||t.accessMode)&&(n=`start transaction`,t.isolationLevel&&(n+=` isolation level ${t.isolationLevel}`),t.accessMode&&(n+=` ${t.accessMode}`)),await e.executeQuery(M.raw(n))}async commitTransaction(e){await e.executeQuery(M.raw(`commit`))}async rollbackTransaction(e){await e.executeQuery(M.raw(`rollback`))}async savepoint(e,t,n){await e.executeQuery(n(Q(`savepoint`,t),y()))}async rollbackToSavepoint(e,t,n){await e.executeQuery(n(Q(`rollback to`,t),y()))}async releaseSavepoint(e,t,n){await e.executeQuery(n(Q(`release`,t),y()))}async releaseConnection(e){e[bn]()}async destroy(){if(this.#n){let e=this.#n;this.#n=void 0,await e.end()}}},Sn=class{#e;#t;#n;#r;constructor(e,t){this.#e=e,this.#t=t}async cancelQuery(e){return await this.#i(`select pg_cancel_backend(${this.#r})`,e)}async collectSessionInfo(){if(this.#r)return;let{processID:e}=this.#e;if(e)this.#r=e;else{let{rows:[{pid:e}]}=await this.#e.query(`select pg_backend_pid() as pid`,[]);this.#r=Number(e)}}async executeQuery(e){try{this.#n=e.queryId;let{command:t,rowCount:n,rows:r}=await this.#e.query(e.sql,e.parameters);return{numAffectedRows:t===`INSERT`||t===`UPDATE`||t===`DELETE`||t===`MERGE`?BigInt(n):void 0,rows:r??[]}}catch(e){throw on(e,/* @__PURE__ */ Error())}finally{this.#n=void 0}}async killSession(e){return await this.#i(`select pg_terminate_backend(${this.#r})`,e)}async*streamQuery(e,t){if(!this.#t.cursor)throw Error("`cursor` is not present in your postgres dialect config. It's required to make streaming work in postgres.");this.#n=e.queryId;let n=this.#e.query(new this.#t.cursor(e.sql,e.parameters.slice()));try{for(;;){let e=await n.read(t);if(e.length===0)break;yield{rows:e}}}finally{await n.close(),this.#n=void 0}}[bn](){this.#e.release()}async#i(e,t){if(!this.#n)return;let{controlClient:n,poolOptions:r}=this.#t,i=this.#n;if(!n)return await t(async t=>{i.queryId===this.#n?.queryId&&await t.executeQuery(M.raw(e,[]))});let a=new n({...r,password:`password`in r?r.password:void 0});try{if(await a.connect(),i.queryId!==this.#n.queryId)return;await a.query(e,[])}finally{a.end()}}},Cn=class{#e;constructor(e){this.#e=e}async getSchemas(){return(await this.#e.selectFrom(`pg_catalog.pg_namespace`).select(`nspname`).$castTo().execute()).map(e=>({name:e.nspname}))}async getTables(e={withInternalKyselyTables:!1}){let t=this.#e.selectFrom(`pg_catalog.pg_attribute as a`).innerJoin(`pg_catalog.pg_class as c`,`a.attrelid`,`c.oid`).innerJoin(`pg_catalog.pg_namespace as ns`,`c.relnamespace`,`ns.oid`).innerJoin(`pg_catalog.pg_type as typ`,`a.atttypid`,`typ.oid`).innerJoin(`pg_catalog.pg_namespace as dtns`,`typ.typnamespace`,`dtns.oid`).select([`a.attname as column`,`a.attnotnull as not_null`,`a.atthasdef as has_default`,`c.relname as table`,`c.relkind as table_type`,`ns.nspname as schema`,`typ.typname as type`,`dtns.nspname as type_schema`,C`col_description(a.attrelid, a.attnum)`.as(`column_description`),C`pg_get_serial_sequence(quote_ident(ns.nspname) || '.' || quote_ident(c.relname), a.attname)`.as(`auto_incrementing`)]).where(`c.relkind`,`in`,[`r`,`v`,`p`,`f`]).where(`ns.nspname`,`!~`,`^pg_`).where(`ns.nspname`,`!=`,`information_schema`).where(`ns.nspname`,`!=`,`crdb_internal`).where(C`has_schema_privilege(ns.nspname, 'USAGE')`).where(`a.attnum`,`>=`,0).where(`a.attisdropped`,`!=`,!0).orderBy(`ns.nspname`).orderBy(`c.relname`).orderBy(`a.attnum`).$castTo();e.withInternalKyselyTables||(t=t.where(`c.relname`,`!=`,$).where(`c.relname`,`!=`,nn));let n=await t.execute();return this.#t(n)}#t(e){let t=[],n=/* @__PURE__ */ new Map;for(let r of e){let e=n.get(r.schema);e||(e=/* @__PURE__ */ new Map,n.set(r.schema,e));let i=e.get(r.table);i||(i=k({columns:[],isForeign:r.table_type===`f`,isView:r.table_type===`v`,name:r.table,schema:r.schema}),e.set(r.table,i),t.push(i)),i.columns.push(k({comment:r.column_description??void 0,dataType:r.type,dataTypeSchema:r.type_schema,hasDefaultValue:r.has_default,isAutoIncrementing:r.auto_incrementing!==null,isNullable:!r.not_null,name:r.column}))}return t}};const wn=/"/g;var Tn=class extends he{sanitizeIdentifier(e){return e.replace(wn,`""`)}};const En=BigInt(`3853314791062309107`);var Dn=class extends Se{get supportsTransactionalDdl(){return!0}get supportsReturning(){return!0}async acquireMigrationLock(e,t){await C`
|
|
4
|
+
with set_timeout as (
|
|
5
|
+
select set_config('lock_timeout', '${C.lit(36e5)}', true) as config_val
|
|
6
|
+
)
|
|
7
|
+
select pg_advisory_lock(${C.lit(En)})
|
|
8
|
+
from set_timeout`.execute(e)}async releaseMigrationLock(e,t){await C`select pg_advisory_unlock(${C.lit(En)})`.execute(e)}},On=class{#e;constructor(e){this.#e=e}createDriver(){return new xn(this.#e)}createQueryCompiler(){return new Tn}createAdapter(){return new Dn}createIntrospector(e){return new Cn(e)}},kn=class extends Se{get supportsCreateIfNotExists(){return!1}get supportsTransactionalDdl(){return!0}get supportsOutput(){return!0}async acquireMigrationLock(e,t){await C`exec sp_getapplock @DbPrincipal = ${C.lit(`dbo`)}, @Resource = ${C.lit($)}, @LockMode = ${C.lit(`Exclusive`)}, @LockOwner = ${C.lit(`Session`)}`.execute(e)}async releaseMigrationLock(e,t){await C`exec sp_releaseapplock @DbPrincipal = ${C.lit(`dbo`)}, @Resource = ${C.lit($)}, @LockOwner = ${C.lit(`Session`)}`.execute(e)}};const An=Symbol(),jn=Symbol(),Mn=Symbol();var Nn=class{#e;#t;constructor(e){this.#e=k({...e});let{tarn:t,tedious:n,validateConnections:r}=this.#e;this.#t=new t.Pool({...t.options,create:async()=>await new Pn(await n.connectionFactory(),n).connect(),destroy:async e=>{await e[jn]()},validate:r===!1?void 0:e=>e[Mn]()})}async init(){}async acquireConnection(){return await this.#t.acquire().promise}async beginTransaction(e,t){await e.beginTransaction(t)}async commitTransaction(e){await e.commitTransaction()}async rollbackTransaction(e){await e.rollbackTransaction()}async savepoint(e,t){await e.savepoint(t)}async rollbackToSavepoint(e,t){await e.rollbackTransaction(t)}async releaseConnection(e){this.#e.resetConnectionsOnRelease&&await e[An](),this.#t.release(e)}async destroy(){await this.#t.destroy()}},Pn=class{#e;#t;#n;#r;constructor(e,t){this.#e=e,this.#t=!1,this.#n=t}async beginTransaction(e){let{isolationLevel:t}=e;await new Promise((e,n)=>this.#e.beginTransaction(t=>{t?n(t):e(void 0)},t?a(8):void 0,t?this.#i(t):void 0))}async cancelQuery(){if(this.#r)return new Promise(e=>{this.#r?.request.once(`requestCompleted`,e),this.#e.cancel()||(this.#r?.request.off(`requestCompleted`,e),e())})}async commitTransaction(){await new Promise((e,t)=>this.#e.commitTransaction(n=>{n?t(n):e(void 0)}))}async connect(){let{promise:e,reject:t,resolve:n}=new v;this.#e.connect(e=>{if(e)return t(e);n()}),this.#e.on(`error`,e=>{e instanceof Error&&`code`in e&&e.code===`ESOCKET`&&(this.#t=!0),console.error(e),t(e)});function r(){t(/* @__PURE__ */ Error(`The connection ended without ever completing the connection`))}return this.#e.once(`end`,r),await e,this.#e.off(`end`,r),this}async executeQuery(e){try{let t=new v;this.#r=new Fn({compiledQuery:e,tedious:this.#n,onDone:t}),this.#e.execSql(this.#r.request);let{rowCount:n,rows:r}=await t.promise;return{numAffectedRows:n===void 0?void 0:BigInt(n),rows:r}}catch(e){throw on(e,/* @__PURE__ */ Error())}finally{this.#r=void 0}}async rollbackTransaction(e){await new Promise((t,n)=>this.#e.rollbackTransaction(e=>{e?n(e):t(void 0)},e))}async savepoint(e){await new Promise((t,n)=>this.#e.saveTransaction(e=>{e?n(e):t(void 0)},e))}async*streamQuery(e,t){this.#r=new Fn({compiledQuery:e,streamChunkSize:t,tedious:this.#n}),this.#e.execSql(this.#r.request);try{for(;;){let e=await this.#r.readChunk();if(e.length===0||(yield{rows:e},e.length<t))break}}finally{await this.cancelQuery(),this.#r=void 0}}#i(e){let{ISOLATION_LEVEL:t}=this.#n,n={"read committed":t.READ_COMMITTED,"read uncommitted":t.READ_UNCOMMITTED,"repeatable read":t.REPEATABLE_READ,serializable:t.SERIALIZABLE,snapshot:t.SNAPSHOT}[e];if(n===void 0)throw Error(`Unknown isolation level: ${e}`);return n}[jn](){return`closed`in this.#e&&this.#e.closed?Promise.resolve():new Promise(e=>{this.#e.once(`end`,e),this.#e.close()})}async[An](){await new Promise((e,t)=>{this.#e.reset(n=>{if(n)return t(n);e()})})}async[Mn](){if(this.#t||this.#a())return!1;try{let e=new v,t=new Fn({compiledQuery:M.raw(`select 1`),onDone:e,tedious:this.#n});return this.#e.execSql(t.request),await e.promise,!0}catch{return!1}}#a(){return`closed`in this.#e&&!!this.#e.closed}},Fn=class{#e;#t;#n;#r;#i;#a;constructor(e){let{compiledQuery:t,onDone:n,streamChunkSize:r,tedious:i}=e;if(this.#t=[],this.#n=r,this.#r={},this.#i=i,n){let e=`onDone`;this.#r[e]=(t,r)=>{if(t!==`chunkReady`){if(delete this.#r[e],t===`error`)return n.reject(r);n.resolve({rowCount:this.#a,rows:this.#t})}}}this.#e=new this.#i.Request(t.sql,(e,t)=>{if(e)return Object.values(this.#r).forEach(t=>t(`error`,e instanceof AggregateError?e.errors:e));this.#a=t}),this.#o(t.parameters),this.#s()}get request(){return this.#e}readChunk(){let e=this.readChunk.name;return new Promise((t,n)=>{this.#r[e]=(r,i)=>{if(delete this.#r[e],r===`error`)return n(i);t(this.#t.splice(0,this.#n))},this.#e.resume()})}#o(e){for(let t=0;t<e.length;t++){let n=e[t];this.#e.addParameter(String(t+1),this.#c(n),n)}}#s(){let e=this.#n?()=>{this.#n<=this.#t.length&&(this.#e.pause(),Object.values(this.#r).forEach(e=>e(`chunkReady`)))}:()=>{},t=t=>{let n={};for(let e of t)n[e.metadata.colName]=e.value;this.#t.push(n),e()};this.#e.on(`row`,t),this.#e.once(`requestCompleted`,()=>{Object.values(this.#r).forEach(e=>e(`completed`)),this.#e.off(`row`,t)})}#c(t){return e(t)||me(t)||D(t)?this.#i.TYPES.NVarChar:u(t)||se(t)&&t%1==0?t<-2147483648||t>2147483647?this.#i.TYPES.BigInt:this.#i.TYPES.Int:se(t)?this.#i.TYPES.Float:re(t)?this.#i.TYPES.Bit:ie(t)?this.#i.TYPES.DateTime:ne(t)?this.#i.TYPES.VarBinary:this.#i.TYPES.NVarChar}},In=class{#e;constructor(e){this.#e=e}async getSchemas(){return await this.#e.selectFrom(`sys.schemas`).select(`name`).execute()}async getTables(e={withInternalKyselyTables:!1}){let t=await this.#e.selectFrom(`sys.tables as tables`).leftJoin(`sys.schemas as table_schemas`,`table_schemas.schema_id`,`tables.schema_id`).innerJoin(`sys.columns as columns`,`columns.object_id`,`tables.object_id`).innerJoin(`sys.types as types`,`types.user_type_id`,`columns.user_type_id`).leftJoin(`sys.schemas as type_schemas`,`type_schemas.schema_id`,`types.schema_id`).leftJoin(`sys.extended_properties as comments`,e=>e.onRef(`comments.major_id`,`=`,`tables.object_id`).onRef(`comments.minor_id`,`=`,`columns.column_id`).on(`comments.name`,`=`,`MS_Description`)).$if(!e.withInternalKyselyTables,e=>e.where(`tables.name`,`!=`,$).where(`tables.name`,`!=`,nn)).select([`tables.name as table_name`,e=>e.ref(`tables.type`).$castTo().as(`table_type`),`table_schemas.name as table_schema_name`,`columns.default_object_id as column_default_object_id`,`columns.generated_always_type_desc as column_generated_always_type`,`columns.is_computed as column_is_computed`,`columns.is_identity as column_is_identity`,`columns.is_nullable as column_is_nullable`,`columns.is_rowguidcol as column_is_rowguidcol`,`columns.name as column_name`,`types.is_nullable as type_is_nullable`,`types.name as type_name`,`type_schemas.name as type_schema_name`,`comments.value as column_comment`]).unionAll(this.#e.selectFrom(`sys.views as views`).leftJoin(`sys.schemas as view_schemas`,`view_schemas.schema_id`,`views.schema_id`).innerJoin(`sys.columns as columns`,`columns.object_id`,`views.object_id`).innerJoin(`sys.types as types`,`types.user_type_id`,`columns.user_type_id`).leftJoin(`sys.schemas as type_schemas`,`type_schemas.schema_id`,`types.schema_id`).leftJoin(`sys.extended_properties as comments`,e=>e.onRef(`comments.major_id`,`=`,`views.object_id`).onRef(`comments.minor_id`,`=`,`columns.column_id`).on(`comments.name`,`=`,`MS_Description`)).select([`views.name as table_name`,`views.type as table_type`,`view_schemas.name as table_schema_name`,`columns.default_object_id as column_default_object_id`,`columns.generated_always_type_desc as column_generated_always_type`,`columns.is_computed as column_is_computed`,`columns.is_identity as column_is_identity`,`columns.is_nullable as column_is_nullable`,`columns.is_rowguidcol as column_is_rowguidcol`,`columns.name as column_name`,`types.is_nullable as type_is_nullable`,`types.name as type_name`,`type_schemas.name as type_schema_name`,`comments.value as column_comment`])).orderBy(`table_schema_name`).orderBy(`table_name`).orderBy(`column_name`).execute(),n={};for(let e of t){let t=`${e.table_schema_name}.${e.table_name}`;(n[t]=n[t]||k({columns:[],isForeign:!1,isView:e.table_type===`V `,name:e.table_name,schema:e.table_schema_name??void 0})).columns.push(k({dataType:e.type_name,dataTypeSchema:e.type_schema_name??void 0,hasDefaultValue:e.column_default_object_id>0||e.column_generated_always_type!==`NOT_APPLICABLE`||e.column_is_identity||e.column_is_computed||e.column_is_rowguidcol,isAutoIncrementing:e.column_is_identity,isNullable:e.column_is_nullable&&e.type_is_nullable,name:e.column_name,comment:e.column_comment??void 0}))}return Object.values(n)}};const Ln=/^[a-z0-9_]$/i;var Rn=class extends he{getCurrentParameterPlaceholder(){return`@${this.numParameters}`}visitOffset(e){super.visitOffset(e),this.append(` rows`)}compileColumnAlterations(e){let t={};for(let n of e)t[n.kind]||(t[n.kind]=[]),t[n.kind].push(n);let n=!0;t.AddColumnNode&&(this.append(`add `),this.compileList(t.AddColumnNode),n=!1),t.AlterColumnNode&&(n||this.append(`, `),this.compileList(t.AlterColumnNode)),t.DropColumnNode&&(n||this.append(`, `),this.append(`drop `),this.compileList(t.DropColumnNode),n=!1),t.ModifyColumnNode&&(n||this.append(`, `),this.compileList(t.ModifyColumnNode)),t.RenameColumnNode&&(n||this.append(`, `),this.compileList(t.RenameColumnNode))}visitAddColumn(e){this.visitNode(e.column)}visitDropColumn(e){this.append(`column `),e.ifExists&&this.append(`if exists `),this.visitNode(e.column)}visitMergeQuery(e){super.visitMergeQuery(e),this.append(`;`)}visitCollate(e){this.append(`collate `);let{name:t}=e.collation;for(let e of t)if(!Ln.test(e))throw Error(`Invalid collation: ${t}`);this.append(t)}announcesNewColumnDataType(){return!1}},zn=class{#e;constructor(e){this.#e=e}createDriver(){return new Nn(this.#e)}createQueryCompiler(){return new Rn}createAdapter(){return new kn}createIntrospector(e){return new In(e)}};function Bn(e){return e.charAt(0).toUpperCase()+e.slice(1)}function Vn(e){if(!e)return null;if(`dialect`in e)return Vn(e.dialect);if(`createDriver`in e){if(e instanceof an)return`sqlite`;if(e instanceof yn)return`mysql`;if(e instanceof On)return`postgres`;if(e instanceof zn)return`mssql`}return`aggregate`in e?`sqlite`:`getConnection`in e?`mysql`:`connect`in e?`postgres`:`fileControl`in e||`open`in e&&`close`in e&&`prepare`in e||`batch`in e&&`exec`in e&&`prepare`in e?`sqlite`:null}function Hn(e,t){if(e!==void 0){if(typeof e!=`string`||e.length===0)throw new Te("`database.schemaName` must be a non-empty schema name.");if(t!==`postgres`)throw new Te(`\`database.schemaName\` is only supported on PostgreSQL, but the configured database type is "${t??`unknown`}".`)}}const Un=async e=>{let t=e.database;if(!t)return{kysely:null,databaseType:null,introspectIndexes:void 0,schemaName:void 0,transaction:void 0};if(`db`in t){let e=t.schemaName;return Hn(e,t.type),{kysely:e?t.db.withSchema(e):t.db,databaseType:t.type,introspectIndexes:void 0,schemaName:e,transaction:t.transaction}}if(`dialect`in t){let e=t.schemaName;Hn(e,t.type);let n=new Y({dialect:t.dialect});return{kysely:e?n.withSchema(e):n,databaseType:t.type,introspectIndexes:void 0,schemaName:e,transaction:t.transaction}}let n,r,i,a=Vn(t);if(`createDriver`in t&&(n=t),`aggregate`in t&&!(`createSession`in t)&&(n=new an({database:t}),i=!0),`getConnection`in t&&(n=new yn(t),i=!0),`connect`in t&&(n=new On({pool:t}),i=!0),`fileControl`in t){let{BunSqliteDialect:e}=await import(`./bun-sqlite-dialect-DoOVo4ja-DD-Erl56.mjs`);n=new e({database:t}),i=!0}if(`createSession`in t){let e;try{({DatabaseSync:e}=await import(
|
|
9
|
+
/* @vite-ignore */
|
|
10
|
+
/* webpackIgnore: true */
|
|
11
|
+
`node:sqlite`))}catch(e){if(typeof e==`object`&&e&&`code`in e&&e.code!==`ERR_UNKNOWN_BUILTIN_MODULE`)throw e}if(e&&t instanceof e){let{NodeSqliteDialect:e}=await import(`./index.mjs`).then(e=>e.t);n=new e({database:t}),i=!0}}if(`batch`in t&&`exec`in t&&`prepare`in t){let{createD1IndexIntrospector:e,D1SqliteDialect:a}=await import(`./d1-sqlite-dialect-Cru74LbR-W1bKrx1w.mjs`);n=new a({database:t}),r=e(t),i=!1}return{kysely:n?new Y({dialect:n}):null,databaseType:a,introspectIndexes:r,schemaName:void 0,transaction:i}};function Wn(e,t,n){return n===`postgres`?C`${C.ref(e)} ILIKE ${t}`:C`LOWER(${C.ref(e)}) LIKE LOWER(${t})`}function Gn(e,t){return{lhs:C`LOWER(${C.ref(e)})`,values:t.map(e=>e.toLowerCase())}}function Kn(e,t){return{lhs:C`LOWER(${C.ref(e)})`,values:t.map(e=>e.toLowerCase())}}function qn(e,t){return{lhs:C`LOWER(${C.ref(e)})`,value:t.toLowerCase()}}function Jn(e,t){return{lhs:C`LOWER(${C.ref(e)})`,value:t.toLowerCase()}}function Yn(e){return e.map(e=>({name:e.name,schema:e.schema,columns:e.columns.map(e=>({name:e.name,nullable:e.isNullable,hasDefault:e.hasDefaultValue||e.isAutoIncrementing}))}))}function Xn(e,t){let n={};for(let[r,i]of Object.entries(t)){let t=Object.entries(i.fields),a=Zn(e,r,[i.idColumn??`id`,...t.map(([e])=>e)]),o={};t.forEach(([e,t],n)=>{o[a.columns[n+1]??e]=t}),n[a.table]={...i,fields:o,schema:a.schema??i.schema,...a.columns[0]!==`id`&&{idColumn:a.columns[0]}}}return n}function Zn(e,t,r){let{query:a}=e.selectFrom(t).select(r).compile();if(!i.is(a))return{table:t,columns:[]};let o=a.from?.froms[0],s=o&&c.is(o)?o.table:void 0;return{schema:s?.schema?.name,table:s?.identifier.name??t,columns:(a.selections??[]).map(({selection:e})=>ee.is(e)&&n.is(e.column)?e.column.column.name:void 0)}}async function Qn(e){return(await C`
|
|
12
|
+
SELECT pg_catalog.current_schema() AS schema
|
|
13
|
+
`.execute(e.withoutPlugins())).rows[0]?.schema??`public`}async function $n(e){return(await C`
|
|
14
|
+
SELECT SCHEMA_NAME() AS "schemaName"
|
|
15
|
+
`.execute(e.withoutPlugins())).rows[0]?.schemaName||`dbo`}async function er(e,t){if(t===`postgres`)return(await C`
|
|
16
|
+
SELECT pg_catalog.current_schemas(true)::text[] AS schemas
|
|
17
|
+
`.execute(e.withoutPlugins())).rows[0]?.schemas??[];if(t===`mssql`)return[await $n(e),`dbo`]}async function tr(e,t,n){let r=Xn(e,n);return t===`sqlite`?Ee(r,Yn(await ue(e,Object.entries(r).flatMap(([e,t])=>t.disableMigrations?[]:[e])))):e.connection().execute(async e=>{let n=await er(e,t),i=Yn(await e.introspection.getTables());for(let[e,t]of Object.entries(r))t.schema===void 0&&n&&(t.schema=n.find(t=>i.some(n=>n.name===e&&n.schema===t))??``);return Ee(r,i)})}const nr=(e,t)=>{let n=null,r=!1,i=(e,n=!1)=>({getFieldName:i,schema:a,getDefaultFieldName:o,getDefaultModelName:s,getFieldAttributes:c,getModelName:l,options:u})=>{t?.type===`mysql`&&u.advanced?.database?.generateId===!1&&!r&&(r=!0,we.warn(`[Kysely Adapter] MySQL does not support INSERT...RETURNING. With generateId set to false, the adapter uses best-effort fallback strategies (unique columns, full-field match) to retrieve inserted rows. For reliable behavior, use Better Auth's default ID generation, a custom generateId function, or generateId: "serial" for auto-increment.`));let d=e=>{let t=[],n=[];if(e)for(let[r,i]of Object.entries(e)){let e=a[i.modelKey??s(r)]?.fields,[o,c]=r.includes(`.`)?r.split(`.`):[void 0,r];if(e){e.id={type:`string`};for(let[i,a]of Object.entries(e))t.push(C`${C.ref(`join_${c}`)}.${C.ref(a.fieldName||i)} as ${C.ref(`_joined_${c}_${a.fieldName||i}`)}`),n.push({joinModel:r,joinModelRef:c,fieldName:a.fieldName||i})}}return{allSelectsStr:n,allSelects:t}},f=async(r,o,s,c,l)=>{if(t?.type===`mysql`){if(l.length>0){let t=await o.executeTakeFirst();if(!t||Number(t.numUpdatedRows??0)===0)return null;let n=l.find(e=>e.field===`id`&&(e.operator===void 0||e.operator===`eq`)&&e.connector!==`OR`&&e.value!==void 0&&e.value!==null),a,u;if(r.id!==void 0&&r.id!==null)a=`id`,u=r.id;else if(n)a=`id`,u=n.value;else if(l[0]?.field)a=l[0].field,u=r[a]===void 0?l[0].value:r[a];else return null;return await e.selectFrom(s).selectAll().where(i({model:c,field:a}),u===null?`is`:`=`,u).limit(1).executeTakeFirst()}await o.execute();let t=async e=>{if(r.id)return await e.selectFrom(s).selectAll().where(i({model:c,field:`id`}),`=`,r.id).limit(1).executeTakeFirst();if(u.advanced?.database?.generateId===`serial`){let t=(await C`SELECT LAST_INSERT_ID() as id`.execute(e)).rows[0]?.id;if(t)return await e.selectFrom(s).selectAll().where(i({model:c,field:`id`}),`=`,t).limit(1).executeTakeFirst()}let t=a[c]?.fields;if(t)for(let[n,a]of Object.entries(t)){if(!a.unique)continue;let t=i({model:c,field:n}),o=r[t];if(o==null)continue;let l=await e.selectFrom(s).selectAll().where(t,`=`,o).limit(1).executeTakeFirst();if(l)return l}let n=e.selectFrom(s).selectAll(),o=!1;for(let[e,t]of Object.entries(r))t!==void 0&&(n=n.where(e,t===null?`is`:`=`,t),o=!0);if(o){let e=await n.limit(2).execute();if(e.length===1)return e[0]}return we.warn(`[Kysely Adapter] Unable to safely identify the inserted "${s}" row on MySQL. Enable Better Auth ID generation or use generateId: "serial" for reliable behavior.`),null};return n?t(e):e.transaction().execute(t)}return t?.type===`mssql`?await o.outputAll(`inserted`).executeTakeFirst():await o.returningAll().executeTakeFirst()};function p(e,n,r){if(!r)return{and:null,or:null};let a={and:[],or:[]};return r.forEach(r=>{let{field:o,value:s,operator:c=`eq`,connector:l=`AND`,mode:u=`sensitive`}=r,d=s,f=i({model:n,field:o}),p=u===`insensitive`&&(typeof d==`string`||Array.isArray(d)&&d.every(e=>typeof e==`string`)),m=n=>{let r=`${e}.${f}`;if(c.toLowerCase()===`in`){if(p){let{lhs:e,values:t}=Gn(r,Array.isArray(d)?d:[d]);return n(e,`in`,t)}return n(r,`in`,Array.isArray(d)?d:[d])}if(c.toLowerCase()===`not_in`){if(p){let{lhs:e,values:t}=Kn(r,Array.isArray(d)?d:[d]);return n(e,`not in`,t)}return n(r,`not in`,Array.isArray(d)?d:[d])}if(c===`contains`)return p&&typeof d==`string`?Wn(r,`%${d}%`,t?.type):n(r,`like`,`%${d}%`);if(c===`starts_with`)return p&&typeof d==`string`?Wn(r,`${d}%`,t?.type):n(r,`like`,`${d}%`);if(c===`ends_with`)return p&&typeof d==`string`?Wn(r,`%${d}`,t?.type):n(r,`like`,`%${d}`);if(c===`eq`){if(d===null)return n(r,`is`,null);if(p&&typeof d==`string`){let{lhs:e,value:t}=qn(r,d);return n(e,`=`,t)}return n(r,`=`,d)}if(c===`ne`){if(d===null)return n(r,`is not`,null);if(p&&typeof d==`string`){let{lhs:e,value:t}=Jn(r,d);return n(e,`<>`,t)}return n(r,`<>`,d)}return c===`gt`?n(r,`>`,d):c===`gte`?n(r,`>=`,d):c===`lt`?n(r,`<`,d):c===`lte`?n(r,`<=`,d):n(r,c,d)};l===`OR`?a.or.push(m):a.and.push(m)}),{and:a.and.length?a.and:null,or:a.or.length?a.or:null}}function m(e,t,n){if(!t||!e.length)return e;let r=/* @__PURE__ */ new Map;for(let a of e){let e={},o={};for(let[e]of Object.entries(t))o[e]={};for(let[r,s]of Object.entries(a)){let a=String(r),c=!1;for(let{joinModel:e,fieldName:r,joinModelRef:l}of n)if(a===`_joined_${l}_${r}`||a===`_Joined${Bn(l)}${Bn(r)}`){o[e][i({model:t[e]?.modelKey??e,field:r})]=s,c=!0;break}c||(e[r]=s)}let s=e.id;if(!s)continue;if(!r.has(s)){let n={...e};for(let[e,r]of Object.entries(t))n[e]=r.relation===`one-to-one`?null:[];r.set(s,n)}let c=r.get(s);for(let[e,n]of Object.entries(t)){let t=n.relation===`one-to-one`,r=n.limit??100,a=o[e],s=a&&Object.keys(a).length>0&&Object.values(a).some(e=>e!=null);if(t)c[e]=s?a:null;else{let t=e;if(Array.isArray(c[t])&&s){if(c[t].length>=r)continue;let o=i({model:n.modelKey??e,field:`id`}),s=a[o];s?!c[t].some(e=>e[o]===s)&&c[t].length<r&&c[t].push(a):c[t].length<r&&c[t].push(a)}}}}let a=Array.from(r.values());for(let e of a)for(let[n,r]of Object.entries(t))if(r.relation!==`one-to-one`){let t=n;if(Array.isArray(e[t])){let n=r.limit??100;e[t].length>n&&(e[t]=e[t].slice(0,n))}}return a}return{async create({data:t,model:n,modelKey:r=n}){return await f(t,e.insertInto(n).values(t),n,r,[])},async findOne({model:t,modelKey:n=t,where:r,select:a,join:o}){let{and:s,or:c}=p(t,n,r),l=e.selectFrom(e=>{let r=e.selectFrom(t);return s&&(r=r.where(e=>e.and(s.map(t=>t(e))))),c&&(r=r.where(e=>e.or(c.map(t=>t(e))))),r=a?.length&&a.length>0?r.select(a.map(e=>i({model:n,field:e}))):r.selectAll(),r.as(`primary`)}).selectAll(`primary`);if(o)for(let[e,t]of Object.entries(o)){let[n,r]=e.includes(`.`)?e.split(`.`):[void 0,e];l=l.leftJoin(`${e} as join_${r}`,e=>e.onRef(`join_${r}.${t.on.to}`,`=`,`primary.${t.on.from}`))}let{allSelectsStr:u,allSelects:f}=d(o);l=l.select(f);let h=await l.execute();if(!h||!Array.isArray(h)||h.length===0)return null;let g=h[0];return o?m(h,o,u)[0]:g},async findMany({model:n,modelKey:r=n,where:a,limit:o,select:s,offset:c,sortBy:l,join:u}){let{and:f,or:h}=p(n,r,a),g=e.selectFrom(e=>{let a=e.selectFrom(n);return t?.type===`mssql`?c===void 0?o!==void 0&&(a=a.top(o)):(l||(a=a.orderBy(i({model:r,field:`id`}))),a=a.offset(c).fetch(o||100)):(o!==void 0&&(a=a.limit(o)),c!==void 0&&(a=a.offset(c))),l?.field&&(a=a.orderBy(`${i({model:r,field:l.field})}`,l.direction)),f&&(a=a.where(e=>e.and(f.map(t=>t(e))))),h&&(a=a.where(e=>e.or(h.map(t=>t(e))))),a=s?.length&&s.length>0?a.select(s.map(e=>i({model:r,field:e}))):a.selectAll(),a.as(`primary`)}).selectAll(`primary`);if(u)for(let[e,t]of Object.entries(u)){let[n,r]=e.includes(`.`)?e.split(`.`):[void 0,e];g=g.leftJoin(`${e} as join_${r}`,e=>e.onRef(`join_${r}.${t.on.to}`,`=`,`primary.${t.on.from}`))}let{allSelectsStr:_,allSelects:ee}=d(u);g=g.select(ee),l?.field&&(g=g.orderBy(`${i({model:r,field:l.field})}`,l.direction));let v=await g.execute();return v?u?m(v,u,_):v:[]},async update({model:t,modelKey:n=t,where:r,update:i}){if(r.length===0)return null;let{and:a,or:o}=p(t,n,r),s=e.updateTable(t).set(i);return a&&(s=s.where(e=>e.and(a.map(t=>t(e))))),o&&(s=s.where(e=>e.or(o.map(t=>t(e))))),await f(i,s,t,n,r)},async updateMany({model:t,modelKey:n=t,where:r,update:i}){let{and:a,or:o}=p(t,n,r),s=e.updateTable(t).set(i);a&&(s=s.where(e=>e.and(a.map(t=>t(e))))),o&&(s=s.where(e=>e.or(o.map(t=>t(e)))));let c=(await s.executeTakeFirst()).numUpdatedRows;return c>2**53-1?2**53-1:Number(c)},async count({model:t,modelKey:n=t,where:r}){let{and:i,or:a}=p(t,n,r),o=e.selectFrom(t).select(e.fn.count(`id`).as(`count`));i&&(o=o.where(e=>e.and(i.map(t=>t(e))))),a&&(o=o.where(e=>e.or(a.map(t=>t(e)))));let s=await o.execute();return typeof s[0].count==`number`?s[0].count:typeof s[0].count==`bigint`?Number(s[0].count):parseInt(s[0].count)},async delete({model:t,modelKey:n=t,where:r}){let{and:i,or:a}=p(t,n,r),o=e.deleteFrom(t);i&&(o=o.where(e=>e.and(i.map(t=>t(e))))),a&&(o=o.where(e=>e.or(a.map(t=>t(e))))),await o.execute()},async deleteMany({model:t,modelKey:n=t,where:r}){let{and:i,or:a}=p(t,n,r),o=e.deleteFrom(t);i&&(o=o.where(e=>e.and(i.map(t=>t(e))))),a&&(o=o.where(e=>e.or(a.map(t=>t(e)))));let s=(await o.executeTakeFirst()).numDeletedRows;return s>2**53-1?2**53-1:Number(s)},async consumeOne({model:r,modelKey:a=r,where:o}){let{and:s,or:c}=p(r,a,o),l=e=>(s&&(e=e.where(e=>e.and(s.map(t=>t(e))))),c&&(e=e.where(e=>e.or(c.map(t=>t(e))))),e),u=i({model:a,field:`id`}),d=async(e,n)=>{let i=n[u]??n.id;if(i==null)return null;let a=e.deleteFrom(r).where(`${r}.${u}`,`=`,i);if(t?.type===`mysql`){let e=await a.executeTakeFirst();return Number(e.numDeletedRows)>0?n:null}return t?.type===`mssql`?await a.outputAll(`deleted`).executeTakeFirst()??null:await a.returningAll().executeTakeFirst()??null},f=async e=>t?.type===`mssql`?await e.outputAll(`deleted`).executeTakeFirst()??null:await e.returningAll().executeTakeFirst()??null;if(t?.type===`mysql`){let t=async e=>{let t=await l(e.selectFrom(r).selectAll().forUpdate()).limit(1).executeTakeFirst();return t?d(e,t):null};return n?t(e):e.transaction().execute(t)}let m=l(e.selectFrom(r).select(`${r}.${u}`)),h=t?.type===`mssql`?m.top(1):m.limit(1);return f(l(e.deleteFrom(r).where(`${r}.${u}`,`in`,h)))},async incrementOne({model:r,modelKey:a=r,where:o,increment:s,set:c}){let{and:l,or:u}=p(r,a,o),d=e=>(l&&(e=e.where(e=>e.and(l.map(t=>t(e))))),u&&(e=e.where(e=>e.or(u.map(t=>t(e))))),e),f={...c??{}};for(let[e,t]of Object.entries(s))f[e]=C`${C.ref(e)} + ${t}`;let m=i({model:a,field:`id`});if(t?.type===`mysql`){let t=async e=>{let t=await d(e.selectFrom(r).select(`${r}.${m}`).forUpdate()).limit(1).executeTakeFirst();if(!t)return null;let n=t[m]??t.id;if(n==null)return null;let i=await d(e.updateTable(r).set(f)).where(`${r}.${m}`,`=`,n).executeTakeFirst();return Number(i.numUpdatedRows)===0?null:await e.selectFrom(r).selectAll().where(`${r}.${m}`,`=`,n).limit(1).executeTakeFirst()??null};return n?t(e):e.transaction().execute(t)}let h=d(e.selectFrom(r).select(`${r}.${m}`)),g=t?.type===`mssql`?h.top(1):h.limit(1),_=d(e.updateTable(r).set(f)).where(`${r}.${m}`,`in`,g);return t?.type===`mssql`?await _.outputAll(`inserted`).executeTakeFirst()??null:await _.returningAll().executeTakeFirst()??null},options:t}},a=null;a={config:{adapterId:`kysely`,adapterName:`Kysely Adapter`,usePlural:t?.usePlural,debugLogs:t?.debugLogs,supportsBooleans:!(t?.type===`sqlite`||t?.type===`mssql`||t?.type===`mysql`||!t?.type),supportsDates:!(t?.type===`sqlite`||t?.type===`mssql`||!t?.type),supportsJSON:t?.type===`postgres`,supportsArrays:!1,supportsUUIDs:t?.type===`postgres`,transaction:t?.transaction?t=>e.transaction().execute(e=>t(je({config:{...a.config,transaction:!1},adapter:i(e,!0)})(n))):!1},adapter:i(e)};let o=je(a);return r=>{n=r;let i=o(r);return De(i,Oe(()=>tr(e,t?.type,Ae(r,{usePlural:t?.usePlural})),`database`,r.database),{runtimeEnabled:ke(r)}),i}};export{nr as a,Y as c,Qn as i,Vn as n,Yn as o,$n as r,Xn as s,Un as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{u as e}from"./tracer-BuLMhzvR.mjs";import{t}from"./factory-CUkPbxzv.mjs";function n(e,t){return typeof e==`string`&&typeof t==`string`?e.toLowerCase()===t.toLowerCase():e===t}function r(e,t){return typeof e==`string`?t.some(t=>typeof t==`string`&&e.toLowerCase()===t.toLowerCase()):t.includes(e)}function i(e,t){return!r(e,t)}function a(e,t){return typeof e!=`string`||typeof t!=`string`?!1:e.toLowerCase().includes(t.toLowerCase())}function o(e,t){return typeof e!=`string`||typeof t!=`string`?!1:e.toLowerCase().startsWith(t.toLowerCase())}function s(e,t){return typeof e!=`string`||typeof t!=`string`?!1:e.toLowerCase().endsWith(t.toLowerCase())}function c(e){let t=/* @__PURE__ */ new Map;for(let n of e)t.set(n.id,n);return t}function l(e,t,n){let r=/* @__PURE__ */ new Set([...Object.keys(t),...Object.keys(n)]);for(let i of r){if(!(i in n)){delete e[i];continue}let r=c(t[i]??[]),a=n[i]??[],o=c(a),s=e[i]??[],l=[],d=/* @__PURE__ */ new Set;for(let e of s){let t=e.id,n=r.get(t),i=o.get(t);(n===void 0||i!==void 0)&&(i!==void 0&&u(n,i)?l.push(i):l.push(e),d.add(t))}for(let e of a)!r.has(e.id)&&!d.has(e.id)&&l.push(e);e[i]=l}}function u(e,t){return e===void 0||JSON.stringify(e)!==JSON.stringify(t)}const d=(c,u)=>{let d=null,f=c=>t({config:{adapterId:`memory`,adapterName:`Memory Adapter`,usePlural:!1,debugLogs:u?.debugLogs||!1,supportsArrays:!0,customTransformInput(e){return e.options.advanced?.database?.generateId===`serial`&&e.field===`id`&&e.action===`create`?c[e.model].length+1:e.data},transaction:async e=>{let t=structuredClone(c),n=structuredClone(c),r=await e(f(n)(d));return l(c,t,n),r}},adapter:({getFieldName:t,getDefaultFieldName:l,options:u})=>{let d=(e,n,r)=>n?e.sort((e,i)=>{let a=t({model:r,field:n.field}),o=e[a],s=i[a],c=0;return c=o==null&&s==null?0:o==null?-1:s==null?1:typeof o==`string`&&typeof s==`string`?o.localeCompare(s):o instanceof Date&&s instanceof Date?o.getTime()-s.getTime():typeof o==`number`&&typeof s==`number`?o-s:typeof o==`boolean`&&typeof s==`boolean`?o===s?0:o?1:-1:String(o).localeCompare(String(s)),n.direction===`asc`?c:-c}):e;function f(t,u,d,f,p){let m=(()=>{let f=c[u];if(!f)throw e.error(`[MemoryAdapter] Model ${u} not found in the DB`,Object.keys(c)),Error(`Model ${u} not found`);let m=(e,t)=>{let{field:c,value:l,operator:u,mode:d=`sensitive`}=t,f=d===`insensitive`&&(typeof l==`string`||Array.isArray(l)&&l.every(e=>typeof e==`string`));switch(u){case`in`:if(!Array.isArray(l))throw Error(`Value must be an array`);return f?r(e[c],l):l.includes(e[c]);case`not_in`:if(!Array.isArray(l))throw Error(`Value must be an array`);return f?i(e[c],l):!l.includes(e[c]);case`contains`:return f?a(e[c],l):e[c]?.includes(l);case`starts_with`:return f?o(e[c],l):e[c].startsWith(l);case`ends_with`:return f?s(e[c],l):e[c].endsWith(l);case`ne`:return f?!n(e[c],l):e[c]!==l;case`gt`:return l!=null&&e[c]>l;case`gte`:return l!=null&&e[c]>=l;case`lt`:return l!=null&&e[c]<l;case`lte`:return l!=null&&e[c]<=l;default:return f?n(e[c],l):l===null?e[c]==null:e[c]===l}},h=f.filter(e=>{if(!t.length||t.length===0)return!0;let n=m(e,t[0]);for(let r of t){let t=m(e,r);r.connector===`OR`?n||=t:n&&=t}return n});return p?.length&&p.length>0&&(h=h.map(e=>Object.fromEntries(Object.entries(e).filter(([e])=>p.includes(l({model:d,field:e})))))),h})();if(!f)return m;let h=/* @__PURE__ */ new Map,g=/* @__PURE__ */ new Map;for(let t of m){let n=String(t.id);if(!h.has(n)){let e={...t};for(let[t,r]of Object.entries(f)){let i=t;r.relation===`one-to-one`?e[i]=null:(e[i]=[],g.set(`${n}-${t}`,/* @__PURE__ */ new Set))}h.set(n,e)}let r=h.get(n);for(let[i,a]of Object.entries(f)){let o=i,s=c[o];if(!s)throw e.error(`[MemoryAdapter] JoinOption model ${o} not found in the DB`,Object.keys(c)),Error(`JoinOption model ${o} not found`);let l=s.filter(e=>e[a.on.to]===t[a.on.from]);if(a.relation===`one-to-one`)r[o]=l[0]||null;else{let e=g.get(`${n}-${i}`),t=a.limit??100,s=0;for(let n of l){if(s>=t)break;e.has(n.id)||(r[o].push(n),e.add(n.id),s++)}}}}return Array.from(h.values())}return{create:async({model:e,data:t})=>(u.advanced?.database?.generateId===`serial`&&(t.id=c[e].length+1),c[e]||(c[e]=[]),c[e].push(t),t),findOne:async({model:e,modelKey:t=e,where:n,select:r,join:i})=>{let a=f(n,e,t,i,r);if(i){let e=a;return e.length?e[0]:null}return a[0]||null},findMany:async({model:e,modelKey:t=e,where:n,sortBy:r,limit:i,select:a,offset:o,join:s})=>{let c=f(n||[],e,t,s,a);if(s){let e=c;if(!e.length)return[];d(e,r,t);let n=e;return o!==void 0&&(n=n.slice(o)),i!==void 0&&(n=n.slice(0,i)),n}let l=d(c,r,t);return o!==void 0&&(l=l.slice(o)),i!==void 0&&(l=l.slice(0,i)),l||[]},count:async({model:e,modelKey:t=e,where:n})=>n?f(n,e,t).length:c[e].length,update:async({model:e,modelKey:t=e,where:n,update:r})=>{if(n.length===0)return null;let i=f(n,e,t);return i.forEach(e=>{Object.assign(e,r)}),i[0]||null},delete:async({model:e,modelKey:t=e,where:n})=>{if(n.length===0)return;let r=c[e],i=f(n,e,t);c[e]=r.filter(e=>!i.includes(e))},deleteMany:async({model:e,modelKey:t=e,where:n})=>{let r=c[e],i=f(n,e,t),a=0;return c[e]=r.filter(e=>i.includes(e)?(a++,!1):!i.includes(e)),a},consumeOne:async({model:e,modelKey:t=e,where:n})=>{let r=c[e],i=f(n,e,t)[0];return i?(c[e]=r.filter(e=>e!==i),i):null},incrementOne:async({model:e,modelKey:t=e,where:n,increment:r,set:i})=>{let a=f(n,e,t)[0];if(!a)return null;for(let[e,t]of Object.entries(r))a[e]=(typeof a[e]==`number`?a[e]:0)+t;return i&&Object.assign(a,i),a},updateMany:async({model:e,modelKey:t=e,where:n,update:r})=>{let i=f(n,e,t);return i.forEach(e=>{Object.assign(e,r)}),i.length}}}}),p=f(c);return e=>(d=e,p(e))};export{d as memoryAdapter};
|
package/dist/edge.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{createServer as e,request as t}from"node:http";const n=[`/mcp`,`/.well-known`,`/healthz`],r=e=>typeof e==`function`,i=e=>{let t=e.search(/[?#]/u);return t===-1?e:e.slice(0,t)},a=e=>e===void 0?``:Array.isArray(e)?e.join(`, `):String(e),o=e=>{let n=new URL(e.appOrigin),o=e.timeoutMs??5e3,s=t=>r(e.resource)?e.resource(t):e.resource;return r=>new Promise((c,l)=>{let u=r.url??`/`,d=new URL(`/forward-auth`,e.issuer);d.searchParams.set(`resource`,s(i(u)));let f=t(d,{headers:{cookie:a(r.headers.cookie),"sec-fetch-mode":a(r.headers[`sec-fetch-mode`]),"x-forwarded-proto":n.protocol.slice(0,-1),"x-forwarded-host":n.host,"x-forwarded-uri":u}},e=>{let t=e.statusCode??502,{authorization:n,location:r}=e.headers;if(t===204&&n===void 0){e.resume(),l(/* @__PURE__ */ Error(`Forward auth answered 204 without an Authorization header to forward`));return}let i=[];e.on(`data`,e=>i.push(e)),e.on(`error`,l),e.on(`end`,()=>c({status:t,authorization:n,location:r,body:Buffer.concat(i),contentType:e.headers[`content-type`]}))});f.setTimeout(o,()=>{f.destroy(/* @__PURE__ */ Error(`Forward auth did not answer within ${o}ms`))}),f.on(`error`,l),f.end()})},s=(e,t)=>t.some(t=>e===t||e.startsWith(`${t}/`)),c=e=>e instanceof Error?e:Error(String(e)),l=e=>{let t=o(e),r=e.publicPaths??[...n];return(n,a,o)=>{let l=i(n.url??`/`);
|
|
2
|
-
`;for(let e=0;e<t.rawHeaders.length;e+=2)i+=`${t.rawHeaders[e]}: ${t.rawHeaders[e+1]}\r\n`;a.write(`${i}\r\n`),r.length&&a.write(r),o.length&&n.write(o),n.on(`error`,t=>{e.onError?.(t),a.destroy()}),a.once(`close`,()=>n.end()),n.once(`close`,()=>a.end()),a.pipe(n),n.pipe(a)}),i.on(`response`,e=>{e.resume(),p(e.statusCode??502,`Upgrade refused`)}),i.on(`error`,e=>p(502,`Bad Gateway`,e)),i.end()};return n(r).then(e=>{
|
|
1
|
+
import{createServer as e,request as t}from"node:http";const n=[`/mcp`,`/.well-known`,`/healthz`],r=e=>typeof e==`function`,i=e=>{let t=e.search(/[?#]/u);return t===-1?e:e.slice(0,t)},a=e=>e===void 0?``:Array.isArray(e)?e.join(`, `):String(e),o=e=>{let n=new URL(e.appOrigin),o=e.timeoutMs??5e3,s=t=>r(e.resource)?e.resource(t):e.resource;return r=>new Promise((c,l)=>{let u=r.url??`/`,d=new URL(`/forward-auth`,e.issuer);d.searchParams.set(`resource`,s(i(u)));let f=t(d,{headers:{cookie:a(r.headers.cookie),"sec-fetch-mode":a(r.headers[`sec-fetch-mode`]),"x-forwarded-proto":n.protocol.slice(0,-1),"x-forwarded-host":n.host,"x-forwarded-uri":u}},e=>{let t=e.statusCode??502,{authorization:n,location:r}=e.headers;if(t===204&&n===void 0){e.resume(),l(/* @__PURE__ */ Error(`Forward auth answered 204 without an Authorization header to forward`));return}let i=[];e.on(`data`,e=>i.push(e)),e.on(`error`,l),e.on(`end`,()=>c({status:t,authorization:n,location:r,body:Buffer.concat(i),contentType:e.headers[`content-type`]}))});f.setTimeout(o,()=>{f.destroy(/* @__PURE__ */ Error(`Forward auth did not answer within ${o}ms`))}),f.on(`error`,l),f.end()})},s=(e,t)=>t.some(t=>e===t||e.startsWith(`${t}/`)),c=e=>e instanceof Error?e:Error(String(e)),l=e=>{let t=o(e),r=e.publicPaths??[...n];return(n,a,o)=>{let l=i(n.url??`/`);n.headers.authorization!==void 0||s(l,r)?o():t(n).then(e=>{if(e.status===204){n.headers.authorization=e.authorization,o();return}let t={};e.location!==void 0&&(t.location=e.location),e.contentType!==void 0&&(t[`content-type`]=e.contentType),a.writeHead(e.status,t),a.end(e.body)},t=>{let n=c(t);e.onError?.(n),a.writeHead(502,{"content-type":`text/plain`}),a.end(n.message)})}},u=e=>Object.fromEntries(Object.entries(e).flatMap(([e,t])=>t===void 0?[]:[[e,Array.isArray(t)?t.join(`, `):t]])),d=e=>{let n=o(e);return(r,a,o)=>{let l=i(r.url??`/`),d=e.sockets;if(d===void 0||!s(l,d.paths))return!1;let f=new URL(d.backend),p=(t,n,r)=>{r&&e.onError?.(r),a.end(`HTTP/1.1 ${t} ${n}\r\nConnection: close\r\n\r\n`)};a.on(`error`,t=>{e.onError?.(t),a.destroy()});let m=n=>{let i=t({hostname:f.hostname,port:f.port,path:r.url??`/`,headers:{...u(r.headers),authorization:n}});i.on(`upgrade`,(t,n,r)=>{let i=`HTTP/1.1 101 Switching Protocols\r
|
|
2
|
+
`;for(let e=0;e<t.rawHeaders.length;e+=2)i+=`${t.rawHeaders[e]}: ${t.rawHeaders[e+1]}\r\n`;a.write(`${i}\r\n`),r.length&&a.write(r),o.length&&n.write(o),n.on(`error`,t=>{e.onError?.(t),a.destroy()}),a.once(`close`,()=>n.end()),n.once(`close`,()=>a.end()),a.pipe(n),n.pipe(a)}),i.on(`response`,e=>{e.resume(),p(e.statusCode??502,`Upgrade refused`)}),i.on(`error`,e=>p(502,`Bad Gateway`,e)),i.end()};return n(r).then(e=>{a.destroyed||(e.status!==204||e.authorization===void 0?p(401,`Unauthorized`):m(e.authorization))},e=>{a.destroyed||p(502,`Bad Gateway`,c(e))}),!0}},f=(e,t)=>{let n=l(t),r=d(t);return e.on(`upgrade`,(e,t,n)=>{r(e,t,n)}),n},p=e=>{let t=l(e),n=d(e);return{name:`clankerauth-forward-auth`,apply:`serve`,configureServer:e=>{e.middlewares.use(t),e.httpServer?.on(`upgrade`,(e,t,r)=>{n(e,t,r)})}}},m=async()=>{let t=e();await new Promise(e=>t.listen(0,`127.0.0.1`,e));let n=t.address();if(!(n instanceof Object))throw Error(`Could not reserve a loopback port`);return await new Promise((e,n)=>t.close(t=>t?n(t):e())),n.port};export{f as attach,o as check,p as forwardAuth,l as middleware,m as reserveLoopbackPort,d as upgrade};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import{b as e,c as t,f as n,l as r,n as i,o as a,r as o,s,t as c,u as l}from"./tracer-BuLMhzvR.mjs";import{C as u,N as d,S as f,_ as p,b as m,l as h,u as g,v as _,w as v}from"./schemas-BE0MEk26.mjs";const y=e=>s(`a-z`,`A-Z`,`0-9`)(e||32),b=({usePlural:e,schema:t})=>n=>{let r=e=>t[e]?e:Object.entries(t).find(([t,n])=>n.modelName===e)?.[0];if(e&&n.charAt(n.length-1)===`s`){let e=r(n.slice(0,-1));if(e)return e}let i=r(n);if(!i)throw new d(`Model "${n}" not found in schema`);return i},x=({schema:e,usePlural:t})=>{let n=b({schema:e,usePlural:t});return({field:t,model:r})=>{if(t===`id`||t===`_id`)return`id`;let i=n(r),a=e[i]?.fields[t];if(!a){let n=Object.entries(e[i].fields).find(([e,n])=>n.fieldName===t);n&&(a=n[1],t=n[0])}if(!a)throw new d(`Field ${t} not found in model ${i}`);return t}},S=({usePlural:e,schema:t,disableIdGeneration:n,options:r,customIdGenerator:i,supportsUUIDs:a})=>{let o=b({usePlural:e,schema:t});return({customModelName:e,forceAllowId:t})=>{let s=r.advanced?.database?.generateId===`serial`,c=r.advanced?.database?.generateId===`uuid`,u=n||s&&!t?!1:!c||!a,d=o(e??`id`);return{type:s?`number`:`string`,required:!!u,...u?{defaultValue(){if(n)return;let e=r.advanced?.database?.generateId;if(e!==!1&&e!==`serial`)return typeof e==`function`?e({model:d}):e===`uuid`?crypto.randomUUID():i?i({model:d}):y()}}:{},transform:{input:e=>{if(e){if(s){let t=Number(e);return isNaN(t)?void 0:t}if(c){if(u&&!t)return e;if(n)return;if(t&&typeof e==`string`){if(/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(e))return e;{let e=(/* @__PURE__ */ Error()).stack?.split(`
|
|
2
|
+
`).filter((e,t)=>t!==1).join(`
|
|
3
|
+
`).replace(`Error:`,``);l.warn("[Adapter Factory] - Invalid UUID value for field `id` provided when `forceAllowId` is true. Generating a new UUID.",e)}}return a?void 0:typeof e!=`string`&&!a?crypto.randomUUID():void 0}return e}},output:e=>{if(e)return String(e)}}}}},C=({usePlural:e,schema:t,options:n,customIdGenerator:r,disableIdGeneration:i})=>{let a=b({usePlural:e,schema:t}),o=x({usePlural:e,schema:t}),s=S({usePlural:e,schema:t,options:n,customIdGenerator:r,disableIdGeneration:i});return({model:e,field:n})=>{let r=a(e),i=o({field:n,model:r}),c=t[r].fields;c.id=s({customModelName:r});let l=c[i];if(!l)throw new d(`Field ${n} not found in model ${e}`);return l}},w=({schema:e,usePlural:t})=>{let n=b({schema:e,usePlural:t}),r=x({schema:e,usePlural:t});function i({model:t,field:i}){let a=n(t),o=r({model:a,field:i});return e[a]?.fields[o]?.fieldName||o}return i},T=({usePlural:e,schema:t})=>{let n=b({schema:t,usePlural:e});return r=>{let i=n(r);return t&&t[i]&&t[i].modelName!==r?e?`${t[i].modelName}s`:t[i].modelName:e?`${r}s`:r}};function E(e,t,n){return n===`update`?e===void 0&&t.onUpdate!==void 0?typeof t.onUpdate==`function`?t.onUpdate():t.onUpdate:e:n===`create`&&(e===void 0||t.required===!0&&e===null)&&t.defaultValue!==void 0?typeof t.defaultValue==`function`?t.defaultValue():t.defaultValue:e}const D=u([f(),p(),h(),g()]).nullable(),O=m(f(),v()).nullish(),k=m(f(),v()).transform(e=>{let t={};for(let[n,r]of Object.entries(e))r!==void 0&&(t[n]=r);return t}),A=_({increment:m(f(),p()),set:k.optional()}),j=p().nullish();function M(e){let{adapter:t,adapterId:n}=e,r=Object.entries(e.mapKeysTransformOutput??{}).find(([,e])=>e===`id`)?.[0]??`id`;async function i(t,n,i){let a=e.mapKeysTransformInput?.id||e.getFieldName({model:n,field:`id`});if(t[a]===void 0||t[a]===null)throw new d(`Adapter "${e.adapterId}" must return the row id for atomic fallbacks.`);let o=(await e.transformOutput(t,n,[r],void 0))?.id;if(typeof o!=`string`&&typeof o!=`number`)throw new d(`Adapter "${e.adapterId}" must expose a logical string or number id through its output transform.`);let[s]=e.transformWhereClause({model:n,where:[{field:`id`,value:o}],action:i});if(!s)throw new d(`The atomic fallback id condition was transformed away.`);return s}async function a({model:e,modelKey:r,where:i}){let a=O.safeParse(await t.findOne({model:e,modelKey:r,where:i}));if(!a.success)throw new d(`Adapter "${n}" must return a row snapshot or null.`);return a.data??null}async function o(e,t,r,a){let o=await i(e,r.modelKey,a),s=r.where.some(e=>e.connector===`OR`),c=s?[o]:[...r.where,o],l=new Set(t);for(let t of l){if(t===o.field)continue;let i=D.safeParse(e[t]??null);if(i.success)c.push({field:t,value:i.data,operator:`eq`,connector:`AND`,mode:`sensitive`});else if(s&&r.where.some(e=>e.field===t))throw new d(`Adapter "${n}" must implement native atomic methods for OR predicates on structured values.`)}return c}function s(e){if(e!==0&&e!==1)throw new d(`Adapter "${n}" must return an affected row count of 0 or 1 from an atomic fallback.`);return e===1}async function c(e){let{model:n,where:r}=e,i=await a(e);if(i===null)return null;let c=await o(i,[...Object.keys(i),...r.map(({field:e})=>e)],e,`consumeOne`);return s(await t.deleteMany({model:n,modelKey:e.modelKey,where:c}))?i:null}async function l(e){let{model:r,where:i}=e,c=A.safeParse(e);if(!c.success)throw new d(`incrementOne requires finite increments and a set object for the atomic fallback.`);let{increment:l,set:u}=c.data,f=Object.entries(l),p=[...i.map(({field:e})=>e),...Object.keys(l),...Object.keys(u??{})];for(let i=0;i<5;i++){let i=await a(e);if(i===null)return null;let c={...u};for(let[e,t]of f){let r=j.safeParse(i[e]);if(!r.success)throw new d(`Adapter "${n}" must return finite numeric counter values or null for atomic increments.`);let a=r.data??0,o=a+t;if(!Number.isFinite(o)||t!==0&&o===a)throw new d(`Adapter "${n}" cannot represent the requested counter increment safely.`);c[e]=o}let l=await o(i,p,e,`incrementOne`);if(Object.entries(c).every(([e,t])=>{let n=i[e];return n instanceof Date&&t instanceof Date?n.getTime()===t.getTime():Object.is(n,t)}))return i;if(s(await t.updateMany({model:r,modelKey:e.modelKey,where:l,update:c})))return{...i,...c}}throw new d(`Adapter "${n}" could not complete an atomic increment due to contention. Retry the operation or implement incrementOne natively.`)}return{consumeOne:c,incrementOne:l}}let N=[],P=-1;const F=e=>t=>t(e),I=({adapter:t,config:n})=>s=>{let l=c(s),u=Math.random().toString(36).substring(2,15),f={...n,supportsBooleans:n.supportsBooleans??!0,supportsDates:n.supportsDates??!0,supportsJSON:n.supportsJSON??!1,adapterName:n.adapterName??n.adapterId,supportsNumericIds:n.supportsNumericIds??!0,supportsUUIDs:n.supportsUUIDs??!1,supportsArrays:n.supportsArrays??!1,transaction:n.transaction??!1,disableTransformInput:n.disableTransformInput??!1,disableTransformOutput:n.disableTransformOutput??!1,disableTransformJoin:n.disableTransformJoin??!1};if(s.advanced?.database?.generateId===`serial`&&f.supportsNumericIds===!1)throw new d(`[${f.adapterName}] Your database or database adapter does not support numeric ids. Please disable "useNumberId" in your config.`);let p=e(s),m=(...e)=>{if(f.debugLogs===!0||typeof f.debugLogs==`object`){let t=r({level:`info`});if(typeof f.debugLogs==`object`&&`isRunningAdapterTests`in f.debugLogs){f.debugLogs.isRunningAdapterTests&&(e.shift(),N.push({instance:u,args:e}));return}if(typeof f.debugLogs==`object`&&f.debugLogs.logCondition&&!f.debugLogs.logCondition?.())return;if(typeof e[0]==`object`&&`method`in e[0]){let n=e.shift().method;if(typeof f.debugLogs==`object`&&(n===`create`&&!f.debugLogs.create||n===`update`&&!f.debugLogs.update||n===`updateMany`&&!f.debugLogs.updateMany||n===`findOne`&&!f.debugLogs.findOne||n===`findMany`&&!f.debugLogs.findMany||n===`delete`&&!f.debugLogs.delete||n===`deleteMany`&&!f.debugLogs.deleteMany||n===`consumeOne`&&!f.debugLogs.consumeOne||n===`incrementOne`&&!f.debugLogs.incrementOne||n===`count`&&!f.debugLogs.count))return;t.info(`[${f.adapterName}]`,...e)}else t.info(`[${f.adapterName}]`,...e)}},h=r(s.logger),g=b({usePlural:f.usePlural,schema:p}),_=x({usePlural:f.usePlural,schema:p}),v=T({usePlural:f.usePlural,schema:p}),y=w({schema:p,usePlural:f.usePlural}),D=S({schema:p,options:s,usePlural:f.usePlural,disableIdGeneration:f.disableIdGeneration,customIdGenerator:f.customIdGenerator,supportsUUIDs:f.supportsUUIDs}),O=C({schema:p,options:s,usePlural:f.usePlural,disableIdGeneration:f.disableIdGeneration,customIdGenerator:f.customIdGenerator}),k=async(e,t,n,r)=>{let i={},a=p[t].fields,o=f.mapKeysTransformInput??{},c=s.advanced?.database?.generateId===`serial`;a.id=D({customModelName:t,forceAllowId:r&&`id`in e});for(let r in a){let l=e[r],u=a[r],d=o[r]||a[r].fieldName||r;if(l===void 0&&(u.defaultValue===void 0&&!u.transform?.input&&!(n===`update`&&u.onUpdate)||n===`update`&&!u.onUpdate))continue;if(u&&u.type===`date`&&!(l instanceof Date)&&typeof l==`string`)try{l=new Date(l)}catch{h.error(`[Adapter Factory] Failed to convert string to date`,{value:l,field:r})}let m=E(l,u,n);u.transform?.input&&(m=await u.transform.input(m)),u.references?.field===`id`&&c?m=Array.isArray(m)?m.map(e=>e===null?null:Number(e)):m===null?null:Number(m):f.supportsJSON===!1&&typeof m==`object`&&u.type===`json`||f.supportsArrays===!1&&Array.isArray(m)&&(u.type===`string[]`||u.type===`number[]`)?m=JSON.stringify(m):f.supportsDates===!1&&m instanceof Date&&u.type===`date`?m=m.toISOString():f.supportsBooleans===!1&&typeof m==`boolean`&&(m=+!!m),f.customTransformInput&&(m=f.customTransformInput({data:m,action:n,field:d,fieldAttributes:u,model:v(t),schema:p,options:s})),m!==void 0&&(i[d]=m)}return i},A=async(e,t,n=[],r)=>{let i=async(e,t,n=[])=>{if(!e)return null;let r=g(t),i=f.mapKeysTransformOutput??{},o={},c=p[r].fields,l=Object.entries(i).find(([e,t])=>t===`id`)?.[0];c[l??`id`]={type:s.advanced?.database?.generateId===`serial`?`number`:`string`};for(let t in c){if(n.length&&!n.includes(t))continue;let l=c[t];if(l){let c=l.fieldName||t,u=e[Object.entries(i).find(([e,t])=>t===c)?.[0]||c];l.transform?.output&&(u=await l.transform.output(u));let d=i[t]||t;c===`id`||l.references?.field===`id`?u!=null&&(u=String(u)):f.supportsJSON===!1&&typeof u==`string`&&l.type===`json`||f.supportsArrays===!1&&typeof u==`string`&&(l.type===`string[]`||l.type===`number[]`)?u=a(u):f.supportsDates===!1&&typeof u==`string`&&l.type===`date`?u=new Date(u):f.supportsBooleans===!1&&typeof u==`number`&&l.type===`boolean`&&(u=u===1),f.customTransformOutput&&(u=f.customTransformOutput({data:u,field:d,fieldAttributes:l,select:n,model:v(r),schema:p,options:s})),o[d]=u}}return o};if(!r||Object.keys(r).length===0)return await i(e,t,n);let o=g(t),c=await i(e,o,n),l=Object.entries(r).map(([e,t])=>({modelName:e,defaultModelName:t.modelKey??g(e),joinConfig:t}));if(!e)return null;for(let{modelName:t,defaultModelName:n,joinConfig:r}of l){let a=await(async()=>s.advanced?.database?.joins&&t in e?e[t]:await V({baseModel:o,baseData:c,joinModel:t,specificJoinConfig:r}))();a??=r.relation===`one-to-one`?null:[],r.relation===`one-to-many`&&!Array.isArray(a)&&(a=[a]);let l=[];if(Array.isArray(a))for(let e of a){let t=await i(e,n,[]);l.push(t)}else{let e=await i(a,n,[]);l.push(e)}c[n]=(r.relation===`one-to-one`?l[0]:l)??null}return c},j=({model:e,where:t,action:n})=>{if(!t)return;let r=f.mapKeysTransformInput??{};return t.map(t=>{let{field:i,value:a,operator:o=`eq`,connector:c=`AND`,mode:l=`sensitive`}=t;if(o===`in`&&!Array.isArray(a))throw new d(`Value must be an array`);let u=a,m=g(e),h=_({field:i,model:e}),b=r[h]||y({field:h,model:m}),x=O({field:h,model:m}),S=s.advanced?.database?.generateId===`serial`;if((h===`id`||x.references?.field===`id`)&&S&&(u=Array.isArray(a)?a.map(Number):Number(a)),x.type===`date`&&a instanceof Date&&!f.supportsDates&&(u=a.toISOString()),x.type===`boolean`&&typeof u==`string`&&(u=u===`true`),x.type===`number`){if(typeof u==`string`&&u.trim()!==``){let e=Number(u);Number.isNaN(e)||(u=e)}else if(Array.isArray(u)){let e=u.map(e=>typeof e==`string`&&e.trim()!==``?Number(e):NaN);e.every(e=>!Number.isNaN(e))&&(u=e)}}if(x.type===`boolean`&&typeof u==`boolean`&&!f.supportsBooleans&&(u=+!!u),x.type===`json`&&typeof a==`object`&&!f.supportsJSON)try{u=JSON.stringify(a)}catch(e){throw Error(`Failed to stringify JSON value for field ${b}`,{cause:e})}return f.customTransformInput&&(u=f.customTransformInput({data:u,fieldAttributes:x,field:b,model:v(e),schema:p,options:s,action:n})),{operator:o,connector:c,field:b,value:u,mode:l}})},I=(e,t,n)=>{if(!t||Object.keys(t).length===0)return;let r={};for(let[i,a]of Object.entries(t)){if(!a)continue;let t=g(i),o=g(e),c=Object.entries(p[t].fields).filter(([e,t])=>t.references&&g(t.references.model)===o),l=!0;if(c.length||(c=Object.entries(p[o].fields).filter(([e,n])=>n.references&&g(n.references.model)===t),l=!1),!c.length)throw new d(`No foreign key found for model ${i} and base model ${e} while performing join operation.`);if(c.length>1)throw new d(`Multiple foreign keys found for model ${i} and base model ${e} while performing join operation. Only one foreign key is supported.`);let[u,f]=c[0];if(!f.references)throw new d(`No references found for foreign key ${u} on model ${i} while performing join operation.`);let m,h,_;l?(_=f.references.field,m=y({model:e,field:_}),h=y({model:i,field:u})):(_=u,m=y({model:e,field:_}),h=y({model:i,field:f.references.field})),n&&!n.includes(_)&&n.push(_);let b=h===`id`?!0:f.unique??!1,x=s.advanced?.database?.defaultFindManyLimit??100;b?x=1:typeof a==`object`&&typeof a.limit==`number`&&(x=a.limit),r[v(i)]={modelKey:i,on:{from:m,to:h},limit:x,relation:b?`one-to-one`:`one-to-many`}}return{join:r,select:n}},V=async({baseModel:e,baseData:t,joinModel:n,specificJoinConfig:r})=>{if(!t)return t;let a=r.modelKey??g(n),c=v(a),u=r.on.to,d=t[_({field:r.on.from,model:e})];if(d==null)return r.relation===`one-to-one`?null:[];let f,p=j({model:a,where:[{field:u,value:d,operator:`eq`,connector:`AND`}],action:`findOne`});try{if(r.relation===`one-to-one`)f=await l(`db findOne ${c}`,{[o]:`findOne`,[i]:c},()=>H.findOne({model:c,modelKey:a,where:p}));else{let e=r.limit??s.advanced?.database?.defaultFindManyLimit??100;f=await l(`db findMany ${c}`,{[o]:`findMany`,[i]:c},()=>H.findMany({model:c,modelKey:a,where:p,limit:e}))}}catch(e){throw h.error(`Failed to query fallback join for model ${c}:`,{where:p,limit:r.limit}),console.error(e),e}return f},H=t({options:s,schema:p,debugLog:m,getFieldName:y,getModelName:v,getDefaultModelName:g,getDefaultFieldName:_,getFieldAttributes:O,transformInput:k,transformOutput:A,transformWhereClause:j}),U=null,W=M({adapter:H,adapterId:f.adapterId,mapKeysTransformInput:f.mapKeysTransformInput,mapKeysTransformOutput:f.mapKeysTransformOutput,getFieldName:y,transformOutput:A,transformWhereClause:j}),G={transaction:async e=>(U||(f.transaction?(h.debug(`[${f.adapterName}] - Using provided transaction implementation.`),U=f.transaction):U=F(G)),U(e)),create:async({data:e,model:t,select:n,forceAllowId:r=!1})=>{P++;let a=P,s=g(t),c=v(s);if(`id`in e&&e.id!==void 0&&!r){h.warn(`[${f.adapterName}] - You are trying to create a record with an id. This is not allowed as we handle id generation for you, unless you pass in the \`forceAllowId\` parameter. The id will be ignored.`);let t=(/* @__PURE__ */ Error()).stack?.split(`
|
|
4
|
+
`).filter((e,t)=>t!==1).join(`
|
|
5
|
+
`).replace(`Error:`,"Create method with `id` being called at:");console.log(t),e.id=void 0}m({method:`create`},`${L(a)} ${R(1,4)}`,`${z(`create`)} ${B(`Unsafe Input`)}:`,{model:c,data:e});let u=e;f.disableTransformInput||(u=await k(e,s,`create`,r)),m({method:`create`},`${L(a)} ${R(2,4)}`,`${z(`create`)} ${B(`Parsed Input`)}:`,{model:c,data:u});let d=await l(`db create ${c}`,{[o]:`create`,[i]:c},()=>H.create({data:u,model:c,modelKey:s}));m({method:`create`},`${L(a)} ${R(3,4)}`,`${z(`create`)} ${B(`DB Result`)}:`,{model:c,res:d});let p=d;return f.disableTransformOutput||(p=await A(d,s,n,void 0)),m({method:`create`},`${L(a)} ${R(4,4)}`,`${z(`create`)} ${B(`Parsed Result`)}:`,{model:c,data:p}),p},update:async({model:e,where:t,update:n})=>{P++;let r=P,a=g(e),s=v(a),c=j({model:a,where:t,action:`update`});if(c.length===0)return null;m({method:`update`},`${L(r)} ${R(1,4)}`,`${z(`update`)} ${B(`Unsafe Input`)}:`,{model:s,data:n});let u=n;f.disableTransformInput||(u=await k(n,a,`update`)),m({method:`update`},`${L(r)} ${R(2,4)}`,`${z(`update`)} ${B(`Parsed Input`)}:`,{model:s,data:u});let d=await l(`db update ${s}`,{[o]:`update`,[i]:s},()=>H.update({model:s,modelKey:a,where:c,update:u}));m({method:`update`},`${L(r)} ${R(3,4)}`,`${z(`update`)} ${B(`DB Result`)}:`,{model:s,data:d});let p=d;return f.disableTransformOutput||(p=await A(d,a,void 0,void 0)),m({method:`update`},`${L(r)} ${R(4,4)}`,`${z(`update`)} ${B(`Parsed Result`)}:`,{model:s,data:p}),p},updateMany:async({model:e,where:t,update:n})=>{P++;let r=P,a=g(e),s=v(a),c=j({model:a,where:t,action:`updateMany`});m({method:`updateMany`},`${L(r)} ${R(1,4)}`,`${z(`updateMany`)} ${B(`Unsafe Input`)}:`,{model:s,data:n});let u=n;f.disableTransformInput||(u=await k(n,a,`update`)),m({method:`updateMany`},`${L(r)} ${R(2,4)}`,`${z(`updateMany`)} ${B(`Parsed Input`)}:`,{model:s,data:u});let p=await l(`db updateMany ${s}`,{[o]:`updateMany`,[i]:s},()=>H.updateMany({model:s,modelKey:a,where:c,update:u}));if(typeof p!=`number`||!Number.isFinite(p))throw new d(`Adapter "${f.adapterId}" updateMany must return a finite number affected row count.`);return m({method:`updateMany`},`${L(r)} ${R(3,4)}`,`${z(`updateMany`)} ${B(`DB Result`)}:`,{model:s,data:p}),m({method:`updateMany`},`${L(r)} ${R(4,4)}`,`${z(`updateMany`)} ${B(`Parsed Result`)}:`,{model:s,data:p}),p},findOne:async({model:e,where:t,select:n,join:r})=>{P++;let a=P,c=g(e),u=v(c),d=j({model:c,where:t,action:`findOne`}),p,h=!0;if(f.disableTransformJoin)p=r;else{let e=I(c,r,n);e&&(p=e.join,n=e.select),!s.advanced?.database?.joins&&p&&Object.keys(p).length>0&&(h=!1)}m({method:`findOne`},`${L(a)} ${R(1,3)}`,`${z(`findOne`)}:`,{model:u,where:d,select:n,join:p});let _=await l(`db findOne ${u}`,{[o]:`findOne`,[i]:u},()=>H.findOne({model:u,modelKey:c,where:d,select:n,join:h?p:void 0}));m({method:`findOne`},`${L(a)} ${R(2,3)}`,`${z(`findOne`)} ${B(`DB Result`)}:`,{model:u,data:_});let y=_;return f.disableTransformOutput||(y=await A(_,c,n,p)),m({method:`findOne`},`${L(a)} ${R(3,3)}`,`${z(`findOne`)} ${B(`Parsed Result`)}:`,{model:u,data:y}),y},findMany:async({model:e,where:t,limit:n,select:r,sortBy:a,offset:c,join:u})=>{P++;let d=P,p=n??s.advanced?.database?.defaultFindManyLimit??100,h=g(e),_=v(h),y=j({model:h,where:t,action:`findMany`}),b,x=!0;if(f.disableTransformJoin)b=u;else{let e=I(h,u,r);e&&(b=e.join,r=e.select),!s.advanced?.database?.joins&&b&&Object.keys(b).length>0&&(x=!1)}m({method:`findMany`},`${L(d)} ${R(1,3)}`,`${z(`findMany`)}:`,{model:_,where:y,limit:p,sortBy:a,offset:c,join:b});let S=await l(`db findMany ${_}`,{[o]:`findMany`,[i]:_},()=>H.findMany({model:_,modelKey:h,where:y,limit:p,select:r,sortBy:a,offset:c,join:x?b:void 0}));m({method:`findMany`},`${L(d)} ${R(2,3)}`,`${z(`findMany`)} ${B(`DB Result`)}:`,{model:_,data:S});let C=S;return f.disableTransformOutput||(C=await Promise.all(S.map(async e=>await A(e,h,void 0,b)))),m({method:`findMany`},`${L(d)} ${R(3,3)}`,`${z(`findMany`)} ${B(`Parsed Result`)}:`,{model:_,data:C}),C},delete:async({model:e,where:t})=>{P++;let n=P,r=g(e),a=v(r),s=j({model:r,where:t,action:`delete`});m({method:`delete`},`${L(n)} ${R(1,2)}`,`${z(`delete`)}:`,{model:a,where:s}),await l(`db delete ${a}`,{[o]:`delete`,[i]:a},()=>H.delete({model:a,modelKey:r,where:s})),m({method:`delete`},`${L(n)} ${R(2,2)}`,`${z(`delete`)} ${B(`DB Result`)}:`,{model:a})},deleteMany:async({model:e,where:t})=>{P++;let n=P,r=g(e),a=v(r),s=j({model:r,where:t,action:`deleteMany`});m({method:`deleteMany`},`${L(n)} ${R(1,2)}`,`${z(`deleteMany`)} ${B(`DeleteMany`)}:`,{model:a,where:s});let c=await l(`db deleteMany ${a}`,{[o]:`deleteMany`,[i]:a},()=>H.deleteMany({model:a,modelKey:r,where:s}));return m({method:`deleteMany`},`${L(n)} ${R(2,2)}`,`${z(`deleteMany`)} ${B(`DB Result`)}:`,{model:a,data:c}),c},consumeOne:async({model:e,where:t})=>{P++;let n=P,r=g(e),a=v(r),s=j({model:r,where:t,action:`consumeOne`});m({method:`consumeOne`},`${L(n)} ${R(1,3)}`,`${z(`consumeOne`)} ${B(`ConsumeOne`)}:`,{model:a,where:s});let c=await l(`db consumeOne ${a}`,{[o]:`consumeOne`,[i]:a},()=>H.consumeOne?H.consumeOne({model:a,modelKey:r,where:s}):W.consumeOne({model:a,modelKey:r,where:s}));m({method:`consumeOne`},`${L(n)} ${R(2,3)}`,`${z(`consumeOne`)} ${B(`DB Result`)}:`,{model:a,data:c});let u=c;return!f.disableTransformOutput&&c&&(u=await A(c,r,void 0,void 0)),m({method:`consumeOne`},`${L(n)} ${R(3,3)}`,`${z(`consumeOne`)} ${B(`Parsed Result`)}:`,{model:a,data:u}),u},incrementOne:async({model:e,where:t,increment:n,set:r})=>{let a=Object.keys(n).length>0,s=!!r&&Object.keys(r).length>0;if(!a&&!s)throw new d("incrementOne requires a non-empty `increment` or `set`; both were empty.");P++;let c=P,u=g(e),p=v(u),h=j({model:u,where:t,action:`incrementOne`});m({method:`incrementOne`},`${L(c)} ${R(1,3)}`,`${z(`incrementOne`)} ${B(`IncrementOne`)}:`,{model:p,where:h,increment:n,set:r});let _=f.mapKeysTransformInput??{},b={};for(let[e,t]of Object.entries(n))b[_[e]||y({model:u,field:e})]=t;let x;if(x=r&&!f.disableTransformInput?await k(r,u,`update`):r,Object.keys(b).length===0&&(!x||Object.keys(x).length===0))throw new d(`incrementOne resolved to an empty update: every increment/set field was unknown to the schema or transformed away.`);let S=await l(`db incrementOne ${p}`,{[o]:`incrementOne`,[i]:p},()=>H.incrementOne?H.incrementOne({model:p,modelKey:u,where:h,increment:b,set:x}):W.incrementOne({model:p,modelKey:u,where:h,increment:b,set:x}));m({method:`incrementOne`},`${L(c)} ${R(2,3)}`,`${z(`incrementOne`)} ${B(`DB Result`)}:`,{model:p,data:S});let C=S;return!f.disableTransformOutput&&S&&(C=await A(S,u,void 0,void 0)),m({method:`incrementOne`},`${L(c)} ${R(3,3)}`,`${z(`incrementOne`)} ${B(`Parsed Result`)}:`,{model:p,data:C}),C},count:async({model:e,where:t})=>{P++;let n=P,r=g(e),a=v(r),s=j({model:r,where:t,action:`count`});m({method:`count`},`${L(n)} ${R(1,2)}`,`${z(`count`)}:`,{model:a,where:s});let c=await l(`db count ${a}`,{[o]:`count`,[i]:a},()=>H.count({model:a,modelKey:r,where:s}));return m({method:`count`},`${L(n)} ${R(2,2)}`,`${z(`count`)}:`,{model:a,data:c}),c},createSchema:H.createSchema?async(t,n)=>{let r=e(s);return s.secondaryStorage&&!s.session?.storeSessionInDatabase&&delete r.session,H.createSchema({file:n,tables:r})}:void 0,options:{adapterConfig:f,...H.options??{}},id:f.adapterId,...f.debugLogs?.isRunningAdapterTests?{adapterTestDebugLogs:{resetDebugLogs(){N=N.filter(e=>e.instance!==u)},printDebugLogs(){let e=`─`.repeat(80),t=N.filter(e=>e.instance===u);if(t.length===0)return;let n=t.reverse().map(e=>(e.args[0]=`\n${e.args[0]}`,[...e.args,`
|
|
6
|
+
`])).reduce((e,t)=>[...t,...e],[`\n${e}`]);console.log(...n)}}}:{}};return G};function L(e){return n()<8?`#${e}`:`${t.fg.magenta}#${e}${t.reset}`}function R(e,n){return`${t.bg.black}${t.fg.yellow}[${e}/${n}]${t.reset}`}function z(e){return`${t.bright}${e}${t.reset}`}function B(e){return`${t.dim}(${e})${t.reset}`}export{y as i,T as n,w as r,I as t};
|