coze-coding-dev-sdk 0.7.9-beta.2 → 0.7.9
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/cjs/index.js +1 -1
- package/dist/esm/131.mjs +82 -0
- package/dist/esm/1~113.mjs +1 -0
- package/dist/esm/1~134.mjs +1 -0
- package/dist/esm/1~23.mjs +1 -0
- package/dist/esm/1~300.mjs +1 -0
- package/dist/esm/1~35.mjs +5 -0
- package/dist/esm/1~390.mjs +2 -0
- package/dist/esm/1~398.mjs +2 -0
- package/dist/esm/1~410.mjs +1 -0
- package/dist/esm/1~45.mjs +1 -0
- package/dist/esm/1~461.mjs +1 -0
- package/dist/esm/1~462.mjs +1 -0
- package/dist/esm/1~489.mjs +1 -0
- package/dist/esm/1~518.mjs +1 -0
- package/dist/esm/1~622.mjs +1 -0
- package/dist/esm/1~666.mjs +1 -0
- package/dist/esm/1~815.mjs +1 -0
- package/dist/esm/1~844.mjs +1 -0
- package/dist/esm/1~967.mjs +1 -0
- package/dist/esm/1~976.mjs +1 -0
- package/dist/esm/57.mjs +1 -0
- package/dist/esm/cli/index.mjs +28 -0
- package/dist/esm/index.mjs +1 -0
- package/dist/esm/rslib-runtime.mjs +1 -0
- package/package.json +1 -1
- /package/dist/cjs/{134.js → 0~134.js} +0 -0
- /package/dist/cjs/{195.js → 0~195.js} +0 -0
- /package/dist/cjs/{216.js → 0~216.js} +0 -0
- /package/dist/cjs/{292.js → 0~292.js} +0 -0
- /package/dist/cjs/{329.js → 0~329.js} +0 -0
- /package/dist/cjs/{335.js → 0~335.js} +0 -0
- /package/dist/cjs/{53.js → 0~53.js} +0 -0
- /package/dist/cjs/{560.js → 0~560.js} +0 -0
- /package/dist/cjs/{634.js → 0~634.js} +0 -0
- /package/dist/cjs/{710.js → 0~710.js} +0 -0
- /package/dist/cjs/{730.js → 0~730.js} +0 -0
- /package/dist/cjs/{769.js → 0~769.js} +0 -0
- /package/dist/cjs/{864.js → 0~864.js} +0 -0
- /package/dist/cjs/{911.js → 0~911.js} +0 -0
- /package/dist/cjs/{965.js → 0~965.js} +0 -0
package/dist/cjs/index.js
CHANGED
|
@@ -70,7 +70,7 @@ params: ${i}`),this.query=e,this.params=i,this.cause=n,Error.captureStackTrace(t
|
|
|
70
70
|
hash text NOT NULL,
|
|
71
71
|
created_at bigint
|
|
72
72
|
)
|
|
73
|
-
`;await i.execute(en`CREATE SCHEMA IF NOT EXISTS ${en.identifier(a)}`),await i.execute(o);let u=(await i.all(en`select id, hash, created_at from ${en.identifier(a)}.${en.identifier(t)} order by created_at desc limit 1`))[0];await i.transaction(async i=>{for await(let n of e)if(!u||Number(u.created_at)<n.folderMillis){for(let e of n.sql)await i.execute(en.raw(e));await i.execute(en`insert into ${en.identifier(a)}.${en.identifier(t)} ("hash", "created_at") values(${n.hash}, ${n.folderMillis})`)}})}escapeName(e){return`"${e}"`}escapeParam(e){return`$${e+1}`}escapeString(e){return`'${e.replace(/'/g,"''")}'`}buildWithCTE(e){if(!e?.length)return;let i=[en`with `];for(let[n,t]of e.entries())i.push(en`${en.identifier(t._.alias)} as (${t._.sql})`),n<e.length-1&&i.push(en`, `);return i.push(en` `),en.join(i)}buildDeleteQuery({table:e,where:i,returning:n,withList:t}){let a=this.buildWithCTE(t),o=n?en` returning ${this.buildSelection(n,{isSingleTable:!0})}`:void 0,u=i?en` where ${i}`:void 0;return en`${a}delete from ${e}${u}${o}`}buildUpdateSet(e,i){let n=e[G.Symbol.Columns],t=Object.keys(n).filter(e=>void 0!==i[e]||n[e]?.onUpdateFn!==void 0),a=t.length;return en.join(t.flatMap((e,t)=>{let o=n[e],u=o.onUpdateFn?.(),s=i[e]??(r(u,W)?u:en.param(u,o)),l=en`${en.identifier(this.casing.getColumnCasing(o))} = ${s}`;return t<a-1?[l,en.raw(", ")]:[l]}))}buildUpdateQuery({table:e,set:i,where:n,returning:t,withList:a,from:o,joins:u}){let s=this.buildWithCTE(a),r=e[e$.Symbol.Name],l=e[e$.Symbol.Schema],h=e[e$.Symbol.OriginalName],d=r===h?void 0:r,c=en`${l?en`${en.identifier(l)}.`:void 0}${en.identifier(h)}${d&&en` ${en.identifier(d)}`}`,g=this.buildUpdateSet(e,i),p=o&&en.join([en.raw(" from "),this.buildFromTable(o)]),m=this.buildJoins(u),f=t?en` returning ${this.buildSelection(t,{isSingleTable:!o})}`:void 0,y=n?en` where ${n}`:void 0;return en`${s}update ${c} set ${g}${p}${m}${y}${f}`}buildSelection(e,{isSingleTable:i=!1}={}){let n=e.length,t=e.flatMap(({field:e},t)=>{let a=[];if(r(e,W.Aliased)&&e.isSelectionField)a.push(en.identifier(e.fieldAlias));else if(r(e,W.Aliased)||r(e,W)){let n=r(e,W.Aliased)?e.sql:e;i?a.push(new W(n.queryChunks.map(e=>r(e,_)?en.identifier(this.casing.getColumnCasing(e)):e))):a.push(n),r(e,W.Aliased)&&a.push(en` as ${en.identifier(e.fieldAlias)}`)}else if(r(e,c))i?a.push(en.identifier(this.casing.getColumnCasing(e))):a.push(e);else if(r(e,k)){let i=Object.entries(e._.selectedFields);if(1===i.length){let n=i[0][1],t=r(n,W)?n.decoder:r(n,c)?{mapFromDriverValue:e=>n.mapFromDriverValue(e)}:n.sql.decoder;t&&(e._.sql.decoder=t)}a.push(e)}return t<n-1&&a.push(en`, `),a});return en.join(t)}buildJoins(e){if(!e||0===e.length)return;let i=[];for(let[n,t]of e.entries()){0===n&&i.push(en` `);let a=t.table,o=t.lateral?en` lateral`:void 0,u=t.on?en` on ${t.on}`:void 0;if(r(a,e$)){let e=a[e$.Symbol.Name],n=a[e$.Symbol.Schema],s=a[e$.Symbol.OriginalName],r=e===s?void 0:t.alias;i.push(en`${en.raw(t.joinType)} join${o} ${n?en`${en.identifier(n)}.`:void 0}${en.identifier(s)}${r&&en` ${en.identifier(r)}`}${u}`)}else if(r(a,er)){let e=a[R].name,n=a[R].schema,s=a[R].originalName,r=e===s?void 0:t.alias;i.push(en`${en.raw(t.joinType)} join${o} ${n?en`${en.identifier(n)}.`:void 0}${en.identifier(s)}${r&&en` ${en.identifier(r)}`}${u}`)}else i.push(en`${en.raw(t.joinType)} join${o} ${a}${u}`);n<e.length-1&&i.push(en` `)}return en.join(i)}buildFromTable(e){if(r(e,G)&&e[G.Symbol.IsAlias]){let i=en`${en.identifier(e[G.Symbol.OriginalName])}`;return e[G.Symbol.Schema]&&(i=en`${en.identifier(e[G.Symbol.Schema])}.${i}`),en`${i} ${en.identifier(e[G.Symbol.Name])}`}return e}buildSelectQuery({withList:e,fields:i,fieldsFlat:n,where:t,having:a,table:o,joins:u,orderBy:s,groupBy:l,limit:h,offset:d,lockingClause:g,distinct:m,setOperators:f}){let y,S,b,C=n??iS(i);for(let e of C){let i;if(r(e.field,c)&&e.field.table[p]!==(r(o,k)?o._.alias:r(o,ix)?o[R].name:r(o,W)?void 0:o[p])&&(i=e.field.table,!u?.some(({alias:e})=>e===(i[G.Symbol.IsAlias]?i[p]:i[G.Symbol.BaseName])))){let i=e.field.table[p];throw Error(`Your "${e.path.join("->")}" field references a column "${i}"."${e.field.name}", but the table "${i}" is not part of the query! Did you forget to join it?`)}}let w=!u||0===u.length,x=this.buildWithCTE(e);m&&(y=!0===m?en` distinct`:en` distinct on (${en.join(m.on,en`, `)})`);let T=this.buildSelection(C,{isSingleTable:w}),_=this.buildFromTable(o),L=this.buildJoins(u),E=t?en` where ${t}`:void 0,Y=a?en` having ${a}`:void 0;s&&s.length>0&&(S=en` order by ${en.join(s,en`, `)}`),l&&l.length>0&&(b=en` group by ${en.join(l,en`, `)}`);let D="object"==typeof h||"number"==typeof h&&h>=0?en` limit ${h}`:void 0,v=d?en` offset ${d}`:void 0,Z=en.empty();if(g){let e=en` for ${en.raw(g.strength)}`;g.config.of&&e.append(en` of ${en.join(Array.isArray(g.config.of)?g.config.of:[g.config.of],en`, `)}`),g.config.noWait?e.append(en` nowait`):g.config.skipLocked&&e.append(en` skip locked`),Z.append(e)}let A=en`${x}select${y} ${T} from ${_}${L}${E}${b}${Y}${S}${D}${v}${Z}`;return f.length>0?this.buildSetOperations(A,f):A}buildSetOperations(e,i){let[n,...t]=i;if(!n)throw Error("Cannot pass undefined values to any set operator");return 0===t.length?this.buildSetOperationQuery({leftSelect:e,setOperator:n}):this.buildSetOperations(this.buildSetOperationQuery({leftSelect:e,setOperator:n}),t)}buildSetOperationQuery({leftSelect:e,setOperator:{type:i,isAll:n,rightSelect:t,limit:a,orderBy:o,offset:u}}){let s,l=en`(${e.getSQL()}) `,h=en`(${t.getSQL()})`;if(o&&o.length>0){let e=[];for(let i of o)if(r(i,_))e.push(en.identifier(i.name));else if(r(i,W)){for(let e=0;e<i.queryChunks.length;e++){let n=i.queryChunks[e];r(n,_)&&(i.queryChunks[e]=en.identifier(n.name))}e.push(en`${i}`)}else e.push(en`${i}`);s=en` order by ${en.join(e,en`, `)} `}let d="object"==typeof a||"number"==typeof a&&a>=0?en` limit ${a}`:void 0,c=en.raw(`${i} ${n?"all ":""}`),g=u?en` offset ${u}`:void 0;return en`${l}${c}${h}${s}${d}${g}`}buildInsertQuery({table:e,values:i,onConflict:n,returning:t,withList:a,select:o,overridingSystemValue_:u}){let s=[],l=Object.entries(e[G.Symbol.Columns]).filter(([e,i])=>!i.shouldDisableInsert()),h=l.map(([,e])=>en.identifier(this.casing.getColumnCasing(e)));if(o)r(i,W)?s.push(i):s.push(i.getSQL());else for(let[e,n]of(s.push(en.raw("values ")),i.entries())){let t=[];for(let[e,i]of l){let a=n[e];if(void 0===a||r(a,ei)&&void 0===a.value)if(void 0!==i.defaultFn){let e=i.defaultFn(),n=r(e,W)?e:en.param(e,i);t.push(n)}else if(i.default||void 0===i.onUpdateFn)t.push(en`default`);else{let e=i.onUpdateFn(),n=r(e,W)?e:en.param(e,i);t.push(n)}else t.push(a)}s.push(t),e<i.length-1&&s.push(en`, `)}let d=this.buildWithCTE(a),c=en.join(s),g=t?en` returning ${this.buildSelection(t,{isSingleTable:!0})}`:void 0,p=n?en` on conflict ${n}`:void 0,m=!0===u?en`overriding system value `:void 0;return en`${d}insert into ${e} ${h} ${m}${c}${p}${g}`}buildRefreshMaterializedViewQuery({view:e,concurrently:i,withNoData:n}){let t=i?en` concurrently`:void 0,a=n?en` with no data`:void 0;return en`refresh materialized view${t} ${e}${a}`}prepareTyping(e){if(r(e,e_)||r(e,eE))return"json";if(r(e,eD))return"decimal";if(r(e,eP))return"time";if(r(e,eR)||r(e,eH))return"timestamp";if(r(e,eF)||r(e,eQ))return"date";else if(r(e,eO))return"uuid";else return"none"}sqlToQuery(e,i){return e.toQuery({casing:this.casing,escapeName:this.escapeName,escapeParam:this.escapeParam,escapeString:this.escapeString,prepareTyping:this.prepareTyping,invokeSource:i})}buildRelationalQueryWithoutPK({fullSchema:e,schema:i,tableNamesMap:n,table:t,tableConfig:a,queryConfig:o,tableAlias:u,nestedQueryRelation:s,joinOn:l}){let h,d=[],g,p,m=[],f,y=[];if(!0===o)d=Object.entries(a.columns).map(([e,i])=>({dbKey:i.name,tsKey:e,field:eg(i,u),relationTableTsKey:void 0,isJson:!1,selection:[]}));else{let t=Object.fromEntries(Object.entries(a.columns).map(([e,i])=>[e,eg(i,u)]));if(o.where){let e="function"==typeof o.where?o.where(t,{and:e0,between:ia,eq:eq,exists:ii,gt:e2,gte:e4,ilike:ir,inArray:e5,isNull:e9,isNotNull:ie,like:iu,lt:e6,lte:e8,ne:eV,not:e3,notBetween:io,notExists:it,notLike:is,notIlike:il,notInArray:e7,or:e1,sql:en}):o.where;f=e&&em(e,u)}let s=[],l=[];if(o.columns){let e=!1;for(let[i,n]of Object.entries(o.columns))void 0!==n&&i in a.columns&&(e||!0!==n||(e=!0),l.push(i));l.length>0&&(l=e?l.filter(e=>o.columns?.[e]===!0):Object.keys(a.columns).filter(e=>!l.includes(e)))}else l=Object.keys(a.columns);for(let e of l){let i=a.columns[e];s.push({tsKey:e,value:i})}let h=[];if(o.with&&(h=Object.entries(o.with).filter(e=>!!e[1]).map(([e,i])=>({tsKey:e,queryConfig:i,relation:a.relations[e]}))),o.extras)for(let[e,i]of Object.entries("function"==typeof o.extras?o.extras(t,{sql:en}):o.extras))s.push({tsKey:e,value:ep(i,u)});for(let{tsKey:e,value:i}of s)d.push({dbKey:r(i,W.Aliased)?i.fieldAlias:a.columns[e].name,tsKey:e,field:r(i,c)?eg(i,u):i,relationTableTsKey:void 0,isJson:!1,selection:[]});let S="function"==typeof o.orderBy?o.orderBy(t,{sql:en,asc:ih,desc:id}):o.orderBy??[];for(let{tsKey:t,queryConfig:a,relation:s}of(Array.isArray(S)||(S=[S]),m=S.map(e=>r(e,c)?eg(e,u):em(e,u)),g=o.limit,p=o.offset,h)){let o=function(e,i,n){if(r(n,ip)&&n.config)return{fields:n.config.fields,references:n.config.references};let t=i[K(n.referencedTable)];if(!t)throw Error(`Table "${n.referencedTable[G.Symbol.Name]}" not found in schema`);let a=e[t];if(!a)throw Error(`Table "${t}" not found in schema`);let o=n.sourceTable,u=i[K(o)];if(!u)throw Error(`Table "${o[G.Symbol.Name]}" not found in schema`);let s=[];for(let e of Object.values(a.relations))(n.relationName&&n!==e&&e.relationName===n.relationName||!n.relationName&&e.referencedTable===n.sourceTable)&&s.push(e);if(s.length>1)throw n.relationName?Error(`There are multiple relations with name "${n.relationName}" in table "${t}"`):Error(`There are multiple relations between "${t}" and "${n.sourceTable[G.Symbol.Name]}". Please specify relation name`);if(s[0]&&r(s[0],ip)&&s[0].config)return{fields:s[0].config.references,references:s[0].config.fields};throw Error(`There is not enough information to infer relation "${u}.${n.fieldName}"`)}(i,n,s),l=n[K(s.referencedTable)],h=`${u}_${t}`,c=e0(...o.fields.map((e,i)=>eq(eg(o.references[i],h),eg(e,u)))),g=this.buildRelationalQueryWithoutPK({fullSchema:e,schema:i,tableNamesMap:n,table:e[l],tableConfig:i[l],queryConfig:r(s,ip)?!0===a?{limit:1}:{...a,limit:1}:a,tableAlias:h,joinOn:c,nestedQueryRelation:s}),p=en`${en.identifier(h)}.${en.identifier("data")}`.as(t);y.push({on:en`true`,table:new k(g.sql,{},h),alias:h,joinType:"left",lateral:!0}),d.push({dbKey:t,tsKey:t,field:p,relationTableTsKey:l,isJson:!0,selection:g.selection})}}if(0===d.length)throw new eC({message:`No fields selected for table "${a.tsName}" ("${u}")`});if(f=e0(l,f),s){let e=en`json_build_array(${en.join(d.map(({field:e,tsKey:i,isJson:n})=>n?en`${en.identifier(`${u}_${i}`)}.${en.identifier("data")}`:r(e,W.Aliased)?e.sql:e),en`, `)})`;r(s,im)&&(e=en`coalesce(json_agg(${e}${m.length>0?en` order by ${en.join(m,en`, `)}`:void 0}), '[]'::json)`);let i=[{dbKey:"data",tsKey:"data",field:e.as("data"),isJson:!0,relationTableTsKey:a.tsName,selection:d}];void 0!==g||void 0!==p||m.length>0?(h=this.buildSelectQuery({table:ec(t,u),fields:{},fieldsFlat:[{path:[],field:en.raw("*")}],where:f,limit:g,offset:p,orderBy:m,setOperators:[]}),f=void 0,g=void 0,p=void 0,m=[]):h=ec(t,u),h=this.buildSelectQuery({table:r(h,e$)?h:new k(h,{},u),fields:{},fieldsFlat:i.map(({field:e})=>({path:[],field:r(e,c)?eg(e,u):e})),joins:y,where:f,limit:g,offset:p,orderBy:m,setOperators:[]})}else h=this.buildSelectQuery({table:ec(t,u),fields:{},fieldsFlat:d.map(({field:e})=>({path:[],field:r(e,c)?eg(e,u):e})),joins:y,where:f,limit:g,offset:p,orderBy:m,setOperators:[]});return{tableTsKey:a.tsName,sql:h,selection:d}}}class i_{static [s]="SelectionProxyHandler";config;constructor(e){this.config={...e}}get(e,i){if("_"===i)return{...e._,selectedFields:new Proxy(e._.selectedFields,this)};if(i===R)return{...e[R],selectedFields:new Proxy(e[R].selectedFields,this)};if("symbol"==typeof i)return e[i];let n=(r(e,k)?e._.selectedFields:r(e,er)?e[R].selectedFields:e)[i];if(r(n,W.Aliased)){if("sql"===this.config.sqlAliasedBehavior&&!n.isSelectionField)return n.sql;let e=n.clone();return e.isSelectionField=!0,e}if(r(n,W)){if("sql"===this.config.sqlBehavior)return n;throw Error(`You tried to reference "${i}" field from a subquery, which is a raw SQL field, but it doesn't have an alias declared. Please add an alias to the field using ".as('alias')" method.`)}return r(n,c)?this.config.alias?new Proxy(n,new el(new Proxy(n.table,new eh(this.config.alias,this.config.replaceOriginalName??!1)))):n:"object"!=typeof n||null===n?n:new Proxy(n,new i_(this.config))}}class iL{static [s]="TypedQueryBuilder";getSelectedFields(){return this._.selectedFields}}class iE{static [s]="QueryPromise";[Symbol.toStringTag]="QueryPromise";catch(e){return this.then(void 0,e)}finally(e){return this.then(i=>(e?.(),i),i=>{throw e?.(),i})}then(e,i){return this.execute().then(e,i)}}function iY(e){return r(e,e$)?[e[B]?`${e[B]}.${e[G.Symbol.BaseName]}`:e[G.Symbol.BaseName]]:r(e,k)?e._.usedTables??[]:r(e,W)?e.usedTables??[]:[]}class iD{static [s]="PgSelectBuilder";fields;session;dialect;withList=[];distinct;constructor(e){this.fields=e.fields,this.session=e.session,this.dialect=e.dialect,e.withList&&(this.withList=e.withList),this.distinct=e.distinct}authToken;setToken(e){return this.authToken=e,this}from(e){let i,n=!!this.fields;return i=this.fields?this.fields:r(e,k)?Object.fromEntries(Object.keys(e._.selectedFields).map(i=>[i,e[i]])):r(e,ix)?e[R].selectedFields:r(e,W)?{}:e[G.Symbol.Columns],new iZ({table:e,fields:i,isPartialSelect:n,session:this.session,dialect:this.dialect,withList:this.withList,distinct:this.distinct}).setToken(this.authToken)}}class iv extends iL{static [s]="PgSelectQueryBuilder";_;config;joinsNotNullableMap;tableName;isPartialSelect;session;dialect;cacheConfig=void 0;usedTables=new Set;constructor({table:e,fields:i,isPartialSelect:n,session:t,dialect:a,withList:o,distinct:u}){for(const s of(super(),this.config={withList:o,table:e,fields:{...i},distinct:u,setOperators:[]},this.isPartialSelect=n,this.session=t,this.dialect=a,this._={selectedFields:i,config:this.config},this.tableName=iw(e),this.joinsNotNullableMap="string"==typeof this.tableName?{[this.tableName]:!0}:{},iY(e)))this.usedTables.add(s)}getUsedTables(){return[...this.usedTables]}createJoin(e,i){return(n,t)=>{let a=this.tableName,o=iw(n);for(let e of iY(n))this.usedTables.add(e);if("string"==typeof o&&this.config.joins?.some(e=>e.alias===o))throw Error(`Alias "${o}" is already used in this query`);if(!this.isPartialSelect&&(1===Object.keys(this.joinsNotNullableMap).length&&"string"==typeof a&&(this.config.fields={[a]:this.config.fields}),"string"==typeof o&&!r(n,W))){let e=r(n,k)?n._.selectedFields:r(n,er)?n[R].selectedFields:n[G.Symbol.Columns];this.config.fields[o]=e}if("function"==typeof t&&(t=t(new Proxy(this.config.fields,new i_({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))),this.config.joins||(this.config.joins=[]),this.config.joins.push({on:t,table:n,joinType:e,alias:o,lateral:i}),"string"==typeof o)switch(e){case"left":this.joinsNotNullableMap[o]=!1;break;case"right":this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([e])=>[e,!1])),this.joinsNotNullableMap[o]=!0;break;case"cross":case"inner":this.joinsNotNullableMap[o]=!0;break;case"full":this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([e])=>[e,!1])),this.joinsNotNullableMap[o]=!1}return this}}leftJoin=this.createJoin("left",!1);leftJoinLateral=this.createJoin("left",!0);rightJoin=this.createJoin("right",!1);innerJoin=this.createJoin("inner",!1);innerJoinLateral=this.createJoin("inner",!0);fullJoin=this.createJoin("full",!1);crossJoin=this.createJoin("cross",!1);crossJoinLateral=this.createJoin("cross",!0);createSetOperator(e,i){return n=>{let t="function"==typeof n?n(iN()):n;if(!ib(this.getSelectedFields(),t.getSelectedFields()))throw Error("Set operator error (union / intersect / except): selected fields are not the same or are in a different order");return this.config.setOperators.push({type:e,isAll:i,rightSelect:t}),this}}union=this.createSetOperator("union",!1);unionAll=this.createSetOperator("union",!0);intersect=this.createSetOperator("intersect",!1);intersectAll=this.createSetOperator("intersect",!0);except=this.createSetOperator("except",!1);exceptAll=this.createSetOperator("except",!0);addSetOperators(e){return this.config.setOperators.push(...e),this}where(e){return"function"==typeof e&&(e=e(new Proxy(this.config.fields,new i_({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))),this.config.where=e,this}having(e){return"function"==typeof e&&(e=e(new Proxy(this.config.fields,new i_({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))),this.config.having=e,this}groupBy(...e){if("function"==typeof e[0]){let i=e[0](new Proxy(this.config.fields,new i_({sqlAliasedBehavior:"alias",sqlBehavior:"sql"})));this.config.groupBy=Array.isArray(i)?i:[i]}else this.config.groupBy=e;return this}orderBy(...e){if("function"==typeof e[0]){let i=e[0](new Proxy(this.config.fields,new i_({sqlAliasedBehavior:"alias",sqlBehavior:"sql"}))),n=Array.isArray(i)?i:[i];this.config.setOperators.length>0?this.config.setOperators.at(-1).orderBy=n:this.config.orderBy=n}else this.config.setOperators.length>0?this.config.setOperators.at(-1).orderBy=e:this.config.orderBy=e;return this}limit(e){return this.config.setOperators.length>0?this.config.setOperators.at(-1).limit=e:this.config.limit=e,this}offset(e){return this.config.setOperators.length>0?this.config.setOperators.at(-1).offset=e:this.config.offset=e,this}for(e,i={}){return this.config.lockingClause={strength:e,config:i},this}getSQL(){return this.dialect.buildSelectQuery(this.config)}toSQL(){let{typings:e,...i}=this.dialect.sqlToQuery(this.getSQL());return i}as(e){let i=[];if(i.push(...iY(this.config.table)),this.config.joins)for(let e of this.config.joins)i.push(...iY(e.table));return new Proxy(new k(this.getSQL(),this.config.fields,e,!1,[...new Set(i)]),new i_({alias:e,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}getSelectedFields(){return new Proxy(this.config.fields,new i_({alias:this.tableName,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}$dynamic(){return this}$withCache(e){return this.cacheConfig=void 0===e?{config:{},enable:!0,autoInvalidate:!0}:!1===e?{enable:!1}:{enable:!0,autoInvalidate:!0,...e},this}}class iZ extends iv{static [s]="PgSelect";_prepare(e){let{session:i,config:n,dialect:t,joinsNotNullableMap:a,authToken:o,cacheConfig:u,usedTables:s}=this;if(!i)throw Error("Cannot execute a query on a query builder. Please use a database instance instead.");let{fields:r}=n;return M("drizzle.prepareQuery",()=>{let n=iS(r),l=i.prepareQuery(t.sqlToQuery(this.getSQL()),n,e,!0,void 0,{type:"select",tables:[...s]},u);return l.joinsNotNullableMap=a,l.setToken(o)})}prepare(e){return this._prepare(e)}authToken;setToken(e){return this.authToken=e,this}execute=e=>M("drizzle.operation",()=>this._prepare().execute(e,this.authToken))}for(let e of[iE])for(let i of Object.getOwnPropertyNames(e.prototype))"constructor"!==i&&Object.defineProperty(iZ.prototype,i,Object.getOwnPropertyDescriptor(e.prototype,i)||Object.create(null));function iA(e,i){return(n,t,...a)=>{let o=[t,...a].map(n=>({type:e,isAll:i,rightSelect:n}));for(let e of o)if(!ib(n.getSelectedFields(),e.rightSelect.getSelectedFields()))throw Error("Set operator error (union / intersect / except): selected fields are not the same or are in a different order");return n.addSetOperators(o)}}let iN=()=>({union:iJ,unionAll:ik,intersect:iP,intersectAll:iM,except:iR,exceptAll:iB}),iJ=iA("union",!1),ik=iA("union",!0),iP=iA("intersect",!1),iM=iA("intersect",!0),iR=iA("except",!1),iB=iA("except",!0);class iH{static [s]="PgQueryBuilder";dialect;dialectConfig;constructor(e){this.dialect=r(e,iT)?e:void 0,this.dialectConfig=r(e,iT)?void 0:e}$with=(e,i)=>{let n=this;return{as:t=>("function"==typeof t&&(t=t(n)),new Proxy(new P(t.getSQL(),i??("getSelectedFields"in t?t.getSelectedFields()??{}:{}),e,!0),new i_({alias:e,sqlAliasedBehavior:"alias",sqlBehavior:"error"})))}};with(...e){let i=this;return{select:function(n){return new iD({fields:n??void 0,session:void 0,dialect:i.getDialect(),withList:e})},selectDistinct:function(e){return new iD({fields:e??void 0,session:void 0,dialect:i.getDialect(),distinct:!0})},selectDistinctOn:function(e,n){return new iD({fields:n??void 0,session:void 0,dialect:i.getDialect(),distinct:{on:e}})}}}select(e){return new iD({fields:e??void 0,session:void 0,dialect:this.getDialect()})}selectDistinct(e){return new iD({fields:e??void 0,session:void 0,dialect:this.getDialect(),distinct:!0})}selectDistinctOn(e,i){return new iD({fields:i??void 0,session:void 0,dialect:this.getDialect(),distinct:{on:e}})}getDialect(){return this.dialect||(this.dialect=new iT(this.dialectConfig)),this.dialect}}class iX{constructor(e,i,n,t){this.table=e,this.session=i,this.dialect=n,this.withList=t}static [s]="PgUpdateBuilder";authToken;setToken(e){return this.authToken=e,this}set(e){return new iF(this.table,iC(this.table,e),this.session,this.dialect,this.withList).setToken(this.authToken)}}class iF extends iE{constructor(e,i,n,t,a){super(),this.session=n,this.dialect=t,this.config={set:i,table:e,withList:a,joins:[]},this.tableName=iw(e),this.joinsNotNullableMap="string"==typeof this.tableName?{[this.tableName]:!0}:{}}static [s]="PgUpdate";config;tableName;joinsNotNullableMap;cacheConfig;from(e){let i=iw(e);return"string"==typeof i&&(this.joinsNotNullableMap[i]=!0),this.config.from=e,this}getTableLikeFields(e){return r(e,e$)?e[G.Symbol.Columns]:r(e,k)?e._.selectedFields:e[R].selectedFields}createJoin(e){return(i,n)=>{let t=iw(i);if("string"==typeof t&&this.config.joins.some(e=>e.alias===t))throw Error(`Alias "${t}" is already used in this query`);if("function"==typeof n){let e=this.config.from&&!r(this.config.from,W)?this.getTableLikeFields(this.config.from):void 0;n=n(new Proxy(this.config.table[G.Symbol.Columns],new i_({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})),e&&new Proxy(e,new i_({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))}if(this.config.joins.push({on:n,table:i,joinType:e,alias:t}),"string"==typeof t)switch(e){case"left":this.joinsNotNullableMap[t]=!1;break;case"right":this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([e])=>[e,!1])),this.joinsNotNullableMap[t]=!0;break;case"inner":this.joinsNotNullableMap[t]=!0;break;case"full":this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([e])=>[e,!1])),this.joinsNotNullableMap[t]=!1}return this}}leftJoin=this.createJoin("left");rightJoin=this.createJoin("right");innerJoin=this.createJoin("inner");fullJoin=this.createJoin("full");where(e){return this.config.where=e,this}returning(e){if(!e&&(e=Object.assign({},this.config.table[G.Symbol.Columns]),this.config.from)){let i=iw(this.config.from);if("string"==typeof i&&this.config.from&&!r(this.config.from,W)){let n=this.getTableLikeFields(this.config.from);e[i]=n}for(let i of this.config.joins){let n=iw(i.table);if("string"==typeof n&&!r(i.table,W)){let t=this.getTableLikeFields(i.table);e[n]=t}}}return this.config.returningFields=e,this.config.returning=iS(e),this}getSQL(){return this.dialect.buildUpdateQuery(this.config)}toSQL(){let{typings:e,...i}=this.dialect.sqlToQuery(this.getSQL());return i}_prepare(e){let i=this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()),this.config.returning,e,!0,void 0,{type:"insert",tables:iY(this.config.table)},this.cacheConfig);return i.joinsNotNullableMap=this.joinsNotNullableMap,i}prepare(e){return this._prepare(e)}authToken;setToken(e){return this.authToken=e,this}execute=e=>this._prepare().execute(e,this.authToken);getSelectedFields(){return this.config.returningFields?new Proxy(this.config.returningFields,new i_({alias:this.config.table[p],sqlAliasedBehavior:"alias",sqlBehavior:"error"})):void 0}$dynamic(){return this}}class iI{constructor(e,i,n,t,a){this.table=e,this.session=i,this.dialect=n,this.withList=t,this.overridingSystemValue_=a}static [s]="PgInsertBuilder";authToken;setToken(e){return this.authToken=e,this}overridingSystemValue(){return this.overridingSystemValue_=!0,this}values(e){if(0===(e=Array.isArray(e)?e:[e]).length)throw Error("values() must be called with at least one value");let i=e.map(e=>{let i={},n=this.table[G.Symbol.Columns];for(let t of Object.keys(e)){let a=e[t];i[t]=r(a,W)?a:new ei(a,n[t])}return i});return new iQ(this.table,i,this.session,this.dialect,this.withList,!1,this.overridingSystemValue_).setToken(this.authToken)}select(e){let i="function"==typeof e?e(new iH):e;if(!r(i,W)&&!ib(this.table[H],i._.selectedFields))throw Error("Insert select error: selected fields are not the same or are in a different order compared to the table definition");return new iQ(this.table,i,this.session,this.dialect,this.withList,!0)}}class iQ extends iE{constructor(e,i,n,t,a,o,u){super(),this.session=n,this.dialect=t,this.config={table:e,values:i,withList:a,select:o,overridingSystemValue_:u}}static [s]="PgInsert";config;cacheConfig;returning(e=this.config.table[G.Symbol.Columns]){return this.config.returningFields=e,this.config.returning=iS(e),this}onConflictDoNothing(e={}){if(void 0===e.target)this.config.onConflict=en`do nothing`;else{let i="";i=Array.isArray(e.target)?e.target.map(e=>this.dialect.escapeName(this.dialect.casing.getColumnCasing(e))).join(","):this.dialect.escapeName(this.dialect.casing.getColumnCasing(e.target));let n=e.where?en` where ${e.where}`:void 0;this.config.onConflict=en`(${en.raw(i)})${n} do nothing`}return this}onConflictDoUpdate(e){if(e.where&&(e.targetWhere||e.setWhere))throw Error('You cannot use both "where" and "targetWhere"/"setWhere" at the same time - "where" is deprecated, use "targetWhere" or "setWhere" instead.');let i=e.where?en` where ${e.where}`:void 0,n=e.targetWhere?en` where ${e.targetWhere}`:void 0,t=e.setWhere?en` where ${e.setWhere}`:void 0,a=this.dialect.buildUpdateSet(this.config.table,iC(this.config.table,e.set)),o="";return o=Array.isArray(e.target)?e.target.map(e=>this.dialect.escapeName(this.dialect.casing.getColumnCasing(e))).join(","):this.dialect.escapeName(this.dialect.casing.getColumnCasing(e.target)),this.config.onConflict=en`(${en.raw(o)})${n} do update set ${a}${i}${t}`,this}getSQL(){return this.dialect.buildInsertQuery(this.config)}toSQL(){let{typings:e,...i}=this.dialect.sqlToQuery(this.getSQL());return i}_prepare(e){return M("drizzle.prepareQuery",()=>this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()),this.config.returning,e,!0,void 0,{type:"insert",tables:iY(this.config.table)},this.cacheConfig))}prepare(e){return this._prepare(e)}authToken;setToken(e){return this.authToken=e,this}execute=e=>M("drizzle.operation",()=>this._prepare().execute(e,this.authToken));getSelectedFields(){return this.config.returningFields?new Proxy(this.config.returningFields,new i_({alias:this.config.table[p],sqlAliasedBehavior:"alias",sqlBehavior:"error"})):void 0}$dynamic(){return this}}class ij extends iE{constructor(e,i,n,t){super(),this.session=i,this.dialect=n,this.config={table:e,withList:t}}static [s]="PgDelete";config;cacheConfig;where(e){return this.config.where=e,this}returning(e=this.config.table[G.Symbol.Columns]){return this.config.returningFields=e,this.config.returning=iS(e),this}getSQL(){return this.dialect.buildDeleteQuery(this.config)}toSQL(){let{typings:e,...i}=this.dialect.sqlToQuery(this.getSQL());return i}_prepare(e){return M("drizzle.prepareQuery",()=>this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()),this.config.returning,e,!0,void 0,{type:"delete",tables:iY(this.config.table)},this.cacheConfig))}prepare(e){return this._prepare(e)}authToken;setToken(e){return this.authToken=e,this}execute=e=>M("drizzle.operation",()=>this._prepare().execute(e,this.authToken));getSelectedFields(){return this.config.returningFields?new Proxy(this.config.returningFields,new i_({alias:this.config.table[p],sqlAliasedBehavior:"alias",sqlBehavior:"error"})):void 0}$dynamic(){return this}}class iO extends W{constructor(e){super(iO.buildEmbeddedCount(e.source,e.filters).queryChunks),this.params=e,this.mapWith(Number),this.session=e.session,this.sql=iO.buildCount(e.source,e.filters)}sql;token;static [s]="PgCountBuilder";[Symbol.toStringTag]="PgCountBuilder";session;static buildEmbeddedCount(e,i){return en`(select count(*) from ${e}${en.raw(" where ").if(i)}${i})`}static buildCount(e,i){return en`select count(*) as count from ${e}${en.raw(" where ").if(i)}${i};`}setToken(e){return this.token=e,this}then(e,i){return Promise.resolve(this.session.count(this.sql,this.token)).then(e,i)}catch(e){return this.then(void 0,e)}finally(e){return this.then(i=>(e?.(),i),i=>{throw e?.(),i})}}class iG{constructor(e,i,n,t,a,o,u){this.fullSchema=e,this.schema=i,this.tableNamesMap=n,this.table=t,this.tableConfig=a,this.dialect=o,this.session=u}static [s]="PgRelationalQueryBuilder";findMany(e){return new iK(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,e||{},"many")}findFirst(e){return new iK(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,e?{...e,limit:1}:{limit:1},"first")}}class iK extends iE{constructor(e,i,n,t,a,o,u,s,r){super(),this.fullSchema=e,this.schema=i,this.tableNamesMap=n,this.table=t,this.tableConfig=a,this.dialect=o,this.session=u,this.config=s,this.mode=r}static [s]="PgRelationalQuery";_prepare(e){return M("drizzle.prepareQuery",()=>{let{query:i,builtQuery:n}=this._toSQL();return this.session.prepareQuery(n,void 0,e,!0,(e,n)=>{let t=e.map(e=>(function e(i,n,t,a,o=e=>e){let u={};for(let[s,l]of a.entries())if(l.isJson){let a=n.relations[l.tsKey],h=t[s],d="string"==typeof h?JSON.parse(h):h;u[l.tsKey]=r(a,ip)?d&&e(i,i[l.relationTableTsKey],d,l.selection,o):d.map(n=>e(i,i[l.relationTableTsKey],n,l.selection,o))}else{let e,i=o(t[s]),n=l.field;e=r(n,c)?n:r(n,W)?n.decoder:n.sql.decoder,u[l.tsKey]=null===i?null:e.mapFromDriverValue(i)}return u})(this.schema,this.tableConfig,e,i.selection,n));return"first"===this.mode?t[0]:t})})}prepare(e){return this._prepare(e)}_getQuery(){return this.dialect.buildRelationalQueryWithoutPK({fullSchema:this.fullSchema,schema:this.schema,tableNamesMap:this.tableNamesMap,table:this.table,tableConfig:this.tableConfig,queryConfig:this.config,tableAlias:this.tableConfig.tsName})}getSQL(){return this._getQuery().sql}_toSQL(){let e=this._getQuery(),i=this.dialect.sqlToQuery(e.sql);return{query:e,builtQuery:i}}toSQL(){return this._toSQL().builtQuery}authToken;setToken(e){return this.authToken=e,this}execute(){return M("drizzle.operation",()=>this._prepare().execute(void 0,this.authToken))}}class i$ extends iE{constructor(e,i,n,t){super(),this.execute=e,this.sql=i,this.query=n,this.mapBatchResult=t}static [s]="PgRaw";getSQL(){return this.sql}getQuery(){return this.query}mapResult(e,i){return i?this.mapBatchResult(e):e}_prepare(){return this}isResponseInArrayMode(){return!1}}class iU extends iE{constructor(e,i,n){super(),this.session=i,this.dialect=n,this.config={view:e}}static [s]="PgRefreshMaterializedView";config;concurrently(){if(void 0!==this.config.withNoData)throw Error("Cannot use concurrently and withNoData together");return this.config.concurrently=!0,this}withNoData(){if(void 0!==this.config.concurrently)throw Error("Cannot use concurrently and withNoData together");return this.config.withNoData=!0,this}getSQL(){return this.dialect.buildRefreshMaterializedViewQuery(this.config)}toSQL(){let{typings:e,...i}=this.dialect.sqlToQuery(this.getSQL());return i}_prepare(e){return M("drizzle.prepareQuery",()=>this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()),void 0,e,!0))}prepare(e){return this._prepare(e)}authToken;setToken(e){return this.authToken=e,this}execute=e=>M("drizzle.operation",()=>this._prepare().execute(e,this.authToken))}class iz{constructor(e,i,n){if(this.dialect=e,this.session=i,this._=n?{schema:n.schema,fullSchema:n.fullSchema,tableNamesMap:n.tableNamesMap,session:i}:{schema:void 0,fullSchema:{},tableNamesMap:{},session:i},this.query={},this._.schema)for(const[t,a]of Object.entries(this._.schema))this.query[t]=new iG(n.fullSchema,this._.schema,this._.tableNamesMap,n.fullSchema[t],a,e,i);this.$cache={invalidate:async e=>{}}}static [s]="PgDatabase";query;$with=(e,i)=>{let n=this;return{as:t=>("function"==typeof t&&(t=t(new iH(n.dialect))),new Proxy(new P(t.getSQL(),i??("getSelectedFields"in t?t.getSelectedFields()??{}:{}),e,!0),new i_({alias:e,sqlAliasedBehavior:"alias",sqlBehavior:"error"})))}};$count(e,i){return new iO({source:e,filters:i,session:this.session})}$cache;with(...e){let i=this;return{select:function(n){return new iD({fields:n??void 0,session:i.session,dialect:i.dialect,withList:e})},selectDistinct:function(n){return new iD({fields:n??void 0,session:i.session,dialect:i.dialect,withList:e,distinct:!0})},selectDistinctOn:function(n,t){return new iD({fields:t??void 0,session:i.session,dialect:i.dialect,withList:e,distinct:{on:n}})},update:function(n){return new iX(n,i.session,i.dialect,e)},insert:function(n){return new iI(n,i.session,i.dialect,e)},delete:function(n){return new ij(n,i.session,i.dialect,e)}}}select(e){return new iD({fields:e??void 0,session:this.session,dialect:this.dialect})}selectDistinct(e){return new iD({fields:e??void 0,session:this.session,dialect:this.dialect,distinct:!0})}selectDistinctOn(e,i){return new iD({fields:i??void 0,session:this.session,dialect:this.dialect,distinct:{on:e}})}update(e){return new iX(e,this.session,this.dialect)}insert(e){return new iI(e,this.session,this.dialect)}delete(e){return new ij(e,this.session,this.dialect)}refreshMaterializedView(e){return new iU(e,this.session,this.dialect)}authToken;execute(e){let i="string"==typeof e?en.raw(e):e.getSQL(),n=this.dialect.sqlToQuery(i),t=this.session.prepareQuery(n,void 0,void 0,!1);return new i$(()=>t.execute(void 0,this.authToken),i,n,e=>t.mapResult(e,!0))}transaction(e,i){return this.session.transaction(e,i)}}class iW{static [s]="Cache"}class iq extends iW{strategy(){return"all"}static [s]="NoopCache";async get(e){}async put(e,i,n,t){}async onMutate(e){}}async function iV(e,i){let n=`${e}-${JSON.stringify(i)}`,t=new TextEncoder().encode(n);return[...new Uint8Array(await crypto.subtle.digest("SHA-256",t))].map(e=>e.toString(16).padStart(2,"0")).join("")}class i0{constructor(e,i,n,t){this.query=e,this.cache=i,this.queryMetadata=n,this.cacheConfig=t,i&&"all"===i.strategy()&&void 0===t&&(this.cacheConfig={enable:!0,autoInvalidate:!0}),this.cacheConfig?.enable||(this.cacheConfig=void 0)}authToken;getQuery(){return this.query}mapResult(e,i){return e}setToken(e){return this.authToken=e,this}static [s]="PgPreparedQuery";joinsNotNullableMap;async queryWithCache(e,i,n){if(void 0===this.cache||r(this.cache,iq)||void 0===this.queryMetadata||this.cacheConfig&&!this.cacheConfig.enable)try{return await n()}catch(n){throw new ew(e,i,n)}if(("insert"===this.queryMetadata.type||"update"===this.queryMetadata.type||"delete"===this.queryMetadata.type)&&this.queryMetadata.tables.length>0)try{let[e]=await Promise.all([n(),this.cache.onMutate({tables:this.queryMetadata.tables})]);return e}catch(n){throw new ew(e,i,n)}if(!this.cacheConfig)try{return await n()}catch(n){throw new ew(e,i,n)}if("select"===this.queryMetadata.type){let t=await this.cache.get(this.cacheConfig.tag??await iV(e,i),this.queryMetadata.tables,void 0!==this.cacheConfig.tag,this.cacheConfig.autoInvalidate);if(void 0===t){let t;try{t=await n()}catch(n){throw new ew(e,i,n)}return await this.cache.put(this.cacheConfig.tag??await iV(e,i),t,this.cacheConfig.autoInvalidate?this.queryMetadata.tables:[],void 0!==this.cacheConfig.tag,this.cacheConfig.config),t}return t}try{return await n()}catch(n){throw new ew(e,i,n)}}}class i1{constructor(e){this.dialect=e}static [s]="PgSession";execute(e,i){return M("drizzle.operation",()=>M("drizzle.prepareQuery",()=>this.prepareQuery(this.dialect.sqlToQuery(e),void 0,void 0,!1)).setToken(i).execute(void 0,i))}all(e){return this.prepareQuery(this.dialect.sqlToQuery(e),void 0,void 0,!1).all()}async count(e,i){return Number((await this.execute(e,i))[0].count)}}class i3 extends iz{constructor(e,i,n,t=0){super(e,i,n),this.schema=n,this.nestedIndex=t}static [s]="PgTransaction";rollback(){throw new ex}getTransactionConfigSQL(e){let i=[];return e.isolationLevel&&i.push(`isolation level ${e.isolationLevel}`),e.accessMode&&i.push(e.accessMode),"boolean"==typeof e.deferrable&&i.push(e.deferrable?"deferrable":"not deferrable"),en.raw(i.join(" "))}setTransaction(e){return this.session.execute(en`set transaction ${this.getTransactionConfigSQL(e)}`)}}let{Pool:i2,types:i4}=u;class i6 extends i0{constructor(e,i,n,t,a,o,u,s,r,l,h){super({sql:i,params:n},a,o,u),this.client=e,this.queryString=i,this.params=n,this.logger=t,this.fields=s,this._isResponseInArrayMode=l,this.customResultMapper=h,this.rawQueryConfig={name:r,text:i,types:{getTypeParser:(e,i)=>e===i4.builtins.TIMESTAMPTZ||e===i4.builtins.TIMESTAMP||e===i4.builtins.DATE||e===i4.builtins.INTERVAL||1231===e||1115===e||1185===e||1187===e||1182===e?e=>e:i4.getTypeParser(e,i)}},this.queryConfig={name:r,text:i,rowMode:"array",types:{getTypeParser:(e,i)=>e===i4.builtins.TIMESTAMPTZ||e===i4.builtins.TIMESTAMP||e===i4.builtins.DATE||e===i4.builtins.INTERVAL||1231===e||1115===e||1185===e||1187===e||1182===e?e=>e:i4.getTypeParser(e,i)}}}static [s]="NodePgPreparedQuery";rawQueryConfig;queryConfig;async execute(e={}){return M("drizzle.execute",async()=>{let i=eu(this.params,e);this.logger.logQuery(this.rawQueryConfig.text,i);let{fields:n,rawQueryConfig:t,client:a,queryConfig:o,joinsNotNullableMap:u,customResultMapper:s}=this;if(!n&&!s)return M("drizzle.driver.execute",async e=>(e?.setAttributes({"drizzle.query.name":t.name,"drizzle.query.text":t.text,"drizzle.query.params":JSON.stringify(i)}),this.queryWithCache(t.text,i,async()=>await a.query(t,i))));let l=await M("drizzle.driver.execute",e=>(e?.setAttributes({"drizzle.query.name":o.name,"drizzle.query.text":o.text,"drizzle.query.params":JSON.stringify(i)}),this.queryWithCache(o.text,i,async()=>await a.query(o,i))));return M("drizzle.mapResponse",()=>s?s(l.rows):l.rows.map(e=>(function(e,i,n){let t={},a=e.reduce((e,{path:a,field:o},u)=>{let s;s=r(o,c)?o:r(o,W)?o.decoder:r(o,k)?o._.sql.decoder:o.sql.decoder;let l=e;for(let[e,h]of a.entries())if(e<a.length-1)h in l||(l[h]={}),l=l[h];else{let e=i[u],d=l[h]=null===e?null:s.mapFromDriverValue(e);if(n&&r(o,c)&&2===a.length){let e=a[0];e in t?"string"==typeof t[e]&&t[e]!==o.table[p]&&(t[e]=!1):t[e]=null===d&&o.table[p]}}return e},{});if(n&&Object.keys(t).length>0)for(let[e,i]of Object.entries(t))"string"!=typeof i||n[i]||(a[e]=null);return a})(n,e,u)))})}all(e={}){return M("drizzle.execute",()=>{let i=eu(this.params,e);return this.logger.logQuery(this.rawQueryConfig.text,i),M("drizzle.driver.execute",e=>(e?.setAttributes({"drizzle.query.name":this.rawQueryConfig.name,"drizzle.query.text":this.rawQueryConfig.text,"drizzle.query.params":JSON.stringify(i)}),this.queryWithCache(this.rawQueryConfig.text,i,async()=>this.client.query(this.rawQueryConfig,i)).then(e=>e.rows)))})}isResponseInArrayMode(){return this._isResponseInArrayMode}}class i8 extends i1{constructor(e,i,n,t={}){super(i),this.client=e,this.schema=n,this.options=t,this.logger=t.logger??new d,this.cache=t.cache??new iq}static [s]="NodePgSession";logger;cache;prepareQuery(e,i,n,t,a,o,u){return new i6(this.client,e.sql,e.params,this.logger,this.cache,o,u,i,n,t,a)}async transaction(e,i){let n=this.client instanceof i2||Object.getPrototypeOf(this.client).constructor.name.includes("Pool"),t=n?new i8(await this.client.connect(),this.dialect,this.schema,this.options):this,a=new i5(this.dialect,t,this.schema);await a.execute(en`begin${i?en` ${a.getTransactionConfigSQL(i)}`:void 0}`);try{let i=await e(a);return await a.execute(en`commit`),i}catch(e){throw await a.execute(en`rollback`),e}finally{n&&t.client.release()}}async count(e){return Number((await this.execute(e)).rows[0].count)}}class i5 extends i3{static [s]="NodePgTransaction";async transaction(e){let i=`sp${this.nestedIndex+1}`,n=new i5(this.dialect,this.session,this.schema,this.nestedIndex+1);await n.execute(en.raw(`savepoint ${i}`));try{let t=await e(n);return await n.execute(en.raw(`release savepoint ${i}`)),t}catch(e){throw await n.execute(en.raw(`rollback to savepoint ${i}`)),e}}}class i7{constructor(e,i,n={}){this.client=e,this.dialect=i,this.options=n}static [s]="NodePgDriver";createSession(e){return new i8(this.client,this.dialect,e,{logger:this.options.logger,cache:this.options.cache})}}class i9 extends iz{static [s]="NodePgDatabase"}function ne(e,i={}){let n,t,a=new iT({casing:i.casing});if(!0===i.logger?n=new h:!1!==i.logger&&(n=i.logger),i.schema){let e=function(e,i){1===Object.keys(e).length&&"default"in e&&!r(e.default,G)&&(e=e.default);let n={},t={},a={};for(let[o,u]of Object.entries(e))if(r(u,G)){let e=K(u),i=t[e];for(let t of(n[e]=o,a[o]={tsName:o,dbName:u[G.Symbol.Name],schema:u[G.Symbol.Schema],columns:u[G.Symbol.Columns],relations:i?.relations??{},primaryKey:i?.primaryKey??[]},Object.values(u[G.Symbol.Columns])))t.primary&&a[o].primaryKey.push(t);let s=u[G.Symbol.ExtraConfigBuilder]?.(u[G.Symbol.ExtraConfigColumns]);if(s)for(let e of Object.values(s))r(e,eU)&&a[o].primaryKey.push(...e.columns)}else if(r(u,ig)){let e,o=K(u.table),s=n[o];for(let[n,r]of Object.entries(u.config(i(u.table))))if(s){let i=a[s];i.relations[n]=r,e&&i.primaryKey.push(...e)}else o in t||(t[o]={relations:{},primaryKey:e}),t[o].relations[n]=r}return{tables:a,tableNamesMap:n}}(i.schema,iy);t={fullSchema:i.schema,schema:e.tables,tableNamesMap:e.tableNamesMap}}let o=new i7(e,a,{logger:n,cache:i.cache}).createSession(t),u=new i9(a,o,t);return u.$client=e,u.$cache=i.cache,u.$cache&&(u.$cache.invalidate=i.cache?.onMutate),u}function ni(...e){if("string"==typeof e[0])return ne(new u.Pool({connectionString:e[0]}),e[1]);if(function(e){if("object"!=typeof e||null===e||"Object"!==e.constructor.name)return!1;if("logger"in e){let i=typeof e.logger;return"boolean"===i||"object"===i&&"function"==typeof e.logger.logQuery||"undefined"===i}if("schema"in e){let i=typeof e.schema;return"object"===i||"undefined"===i}if("casing"in e){let i=typeof e.casing;return"string"===i||"undefined"===i}if("mode"in e)return"default"===e.mode&&"planetscale"===e.mode&&void 0===e.mode;if("connection"in e){let i=typeof e.connection;return"string"===i||"object"===i||"undefined"===i}if("client"in e){let i=typeof e.client;return"object"===i||"function"===i||"undefined"===i}return 0===Object.keys(e).length}(e[0])){let{connection:i,client:n,...t}=e[0];return n?ne(n,t):ne(new u.Pool("string"==typeof i?{connectionString:i}:i),t)}return ne(e[0],e[1])}(ni||(ni={})).mock=function(e){return ne({},e)}},"./node_modules/tslib/tslib.es6.mjs"(e,i,n){"use strict";n.d(i,{Ju:()=>o,YH:()=>a,sH:()=>t});function t(e,i,n,t){return new(n||(n=Promise))(function(a,o){function u(e){try{r(t.next(e))}catch(e){o(e)}}function s(e){try{r(t.throw(e))}catch(e){o(e)}}function r(e){var i;e.done?a(e.value):((i=e.value)instanceof n?i:new n(function(e){e(i)})).then(u,s)}r((t=t.apply(e,i||[])).next())})}function a(e,i){var n,t,a,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},u=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return u.next=s(0),u.throw=s(1),u.return=s(2),"function"==typeof Symbol&&(u[Symbol.iterator]=function(){return this}),u;function s(s){return function(r){var l=[s,r];if(n)throw TypeError("Generator is already executing.");for(;u&&(u=0,l[0]&&(o=0)),o;)try{if(n=1,t&&(a=2&l[0]?t.return:l[0]?t.throw||((a=t.return)&&a.call(t),0):t.next)&&!(a=a.call(t,l[1])).done)return a;switch(t=0,a&&(l=[2&l[0],a.value]),l[0]){case 0:case 1:a=l;break;case 4:return o.label++,{value:l[1],done:!1};case 5:o.label++,t=l[1],l=[0];continue;case 7:l=o.ops.pop(),o.trys.pop();continue;default:if(!(a=(a=o.trys).length>0&&a[a.length-1])&&(6===l[0]||2===l[0])){o=0;continue}if(3===l[0]&&(!a||l[1]>a[0]&&l[1]<a[3])){o.label=l[1];break}if(6===l[0]&&o.label<a[1]){o.label=a[1],a=l;break}if(a&&o.label<a[2]){o.label=a[2],o.ops.push(l);break}a[2]&&o.ops.pop(),o.trys.pop();continue}l=i.call(e,o)}catch(e){l=[6,e],t=0}finally{n=a=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}}}function o(e){var i="function"==typeof Symbol&&Symbol.iterator,n=i&&e[i],t=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&t>=e.length&&(e=void 0),{value:e&&e[t++],done:!e}}};throw TypeError(i?"Object is not iterable.":"Symbol.iterator is not defined.")}},"./node_modules/dotenv/package.json"(e){"use strict";e.exports=JSON.parse('{"name":"dotenv","version":"17.2.3","description":"Loads environment variables from .env file","main":"lib/main.js","types":"lib/main.d.ts","exports":{".":{"types":"./lib/main.d.ts","require":"./lib/main.js","default":"./lib/main.js"},"./config":"./config.js","./config.js":"./config.js","./lib/env-options":"./lib/env-options.js","./lib/env-options.js":"./lib/env-options.js","./lib/cli-options":"./lib/cli-options.js","./lib/cli-options.js":"./lib/cli-options.js","./package.json":"./package.json"},"scripts":{"dts-check":"tsc --project tests/types/tsconfig.json","lint":"standard","pretest":"npm run lint && npm run dts-check","test":"tap run tests/**/*.js --allow-empty-coverage --disable-coverage --timeout=60000","test:coverage":"tap run tests/**/*.js --show-full-coverage --timeout=60000 --coverage-report=text --coverage-report=lcov","prerelease":"npm test","release":"standard-version"},"repository":{"type":"git","url":"git://github.com/motdotla/dotenv.git"},"homepage":"https://github.com/motdotla/dotenv#readme","funding":"https://dotenvx.com","keywords":["dotenv","env",".env","environment","variables","config","settings"],"readmeFilename":"README.md","license":"BSD-2-Clause","devDependencies":{"@types/node":"^18.11.3","decache":"^4.6.2","sinon":"^14.0.1","standard":"^17.0.0","standard-version":"^9.5.0","tap":"^19.2.0","typescript":"^4.8.4"},"engines":{"node":">=12"},"browser":{"fs":false}}')}},__webpack_module_cache__={};function __webpack_require__(e){var i=__webpack_module_cache__[e];if(void 0!==i)return i.exports;var n=__webpack_module_cache__[e]={exports:{}};return __webpack_modules__[e](n,n.exports,__webpack_require__),n.exports}__webpack_require__.m=__webpack_modules__,__webpack_require__.n=e=>{var i=e&&e.__esModule?()=>e.default:()=>e;return __webpack_require__.d(i,{a:i}),i},__webpack_require__.d=(e,i)=>{for(var n in i)__webpack_require__.o(i,n)&&!__webpack_require__.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:i[n]})},__webpack_require__.f={},__webpack_require__.e=e=>Promise.all(Object.keys(__webpack_require__.f).reduce((i,n)=>(__webpack_require__.f[n](e,i),i),[])),__webpack_require__.u=e=>""+e+".js",__webpack_require__.o=(e,i)=>Object.prototype.hasOwnProperty.call(e,i),__webpack_require__.r=e=>{"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e={410:1};__webpack_require__.f.require=(i,n)=>{e[i]||(i=>{var n=i.modules,t=i.ids,a=i.runtime;for(var o in n)__webpack_require__.o(n,o)&&(__webpack_require__.m[o]=n[o]);a&&a(__webpack_require__);for(var u=0;u<t.length;u++)e[t[u]]=1})(require("./"+__webpack_require__.u(i)))}})();var __webpack_exports__={};for(var __rspack_i in(()=>{"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{getDb:()=>A.Lf,PromptTokensDetails:()=>eK.PromptTokensDetails,EmbeddingData:()=>eK.EmbeddingData,validateImageSizeOrDefault:()=>g.rD,CozeConfig:()=>t.CozeConfig,LLMClient:()=>D,DataSourceType:()=>v,EmbeddingInputVideoURL:()=>eK.EmbeddingInputVideoURL,generateModels:()=>A.generateModels,upgrade:()=>A.upgrade,APIError:()=>r,TTSClient:()=>S,ASRClient:()=>b,validateImageSize:()=>g.Ru,HeaderUtils:()=>c.p,buildImageGenerationApiRequest:()=>g.Li,closePool:()=>A.Tj,convertFromApiFormat:()=>m.b,KnowledgeClient:()=>Z,ConfigurationError:()=>s,EmbeddingRequest:()=>eK.EmbeddingRequest,SearchClient:()=>f,convertToApiFormat:()=>m.a,MultiEmbeddingConfig:()=>eK.MultiEmbeddingConfig,S3Storage:()=>eG,getDbUrl:()=>A.M4,VideoEditClient:()=>_,LLMResponse:()=>Y.LLMResponse,ContentPart:()=>Y.ContentPart,Config:()=>a,ForwardHeaderKey:()=>c.ForwardHeaderKey,LLMDefaults:()=>Y.c,VideoGenerationClient:()=>w,FILE_NAME_ALLOWED_RE:()=>ej.a,buildASRApiRequest:()=>y.uF,ValidationError:()=>h,FORWARD_HEADER_KEYS:()=>c.n,SparseEmbeddingItem:()=>eK.SparseEmbeddingItem,LLMConfig:()=>Y.LLMConfig,NetworkError:()=>l,getPool:()=>A.d_,getClient:()=>A.KU,EmbeddingUsage:()=>eK.EmbeddingUsage,ImageGenerationClient:()=>p,loadEnv:()=>A.y,FrameExtractorClient:()=>T,VideoEditConfig:()=>x.M,ImageGenerationResponseHelper:()=>g.td,TTSConfig:()=>y.UX,VideoConfig:()=>C.K,EmbeddingResponse:()=>eK.EmbeddingResponse,EmbeddingConfig:()=>eK.EmbeddingConfig,S3Config:()=>ej.B,Message:()=>Y.Message,ImageConfig:()=>g.K8,SparseEmbeddingConfig:()=>eK.SparseEmbeddingConfig,BaseClient:()=>d,DEFAULT_EMBEDDING_CONFIG:()=>eK.F,EmbeddingInputItem:()=>eK.EmbeddingInputItem,EmbeddingClient:()=>e$,buildTTSApiRequest:()=>y.Xd,EmbedOptions:()=>eK.EmbedOptions,EmbeddingInputImageURL:()=>eK.EmbeddingInputImageURL,DatabaseConfig:()=>A.qd,VERSION:()=>"0.3.0"});var e,i,n,t={};__webpack_require__.r(t),__webpack_require__.d(t,{T:()=>a});class a{apiKey;baseUrl;modelBaseUrl;retryTimes;retryDelay;timeout;constructor(e){this.apiKey=e?.apiKey||process.env.COZE_WORKLOAD_IDENTITY_API_KEY||"",this.baseUrl=e?.baseUrl||process.env.COZE_INTEGRATION_BASE_URL||"",this.modelBaseUrl=e?.modelBaseUrl||process.env.COZE_INTEGRATION_MODEL_BASE_URL||"",this.retryTimes=e?.retryTimes??3,this.retryDelay=e?.retryDelay??1,this.timeout=e?.timeout??9e5}validate(){if(!this.apiKey)throw Error("API key is required. Set COZE_WORKLOAD_IDENTITY_API_KEY or provide apiKey in config.")}getHeaders(){if(!this.apiKey)throw Error("API key is required. Set COZE_WORKLOAD_IDENTITY_API_KEY or provide apiKey in config.");return{Authorization:`Bearer ${this.apiKey}`,"Content-Type":"application/json"}}}var o=__webpack_require__("axios"),u=__webpack_require__.n(o);class s extends Error{constructor(e){super(e),this.name="ConfigurationError"}}class r extends Error{statusCode;response;constructor(e,i,n){super(e),this.name="APIError",this.statusCode=i,this.response=n}}class l extends Error{originalError;constructor(e,i){super(e),this.originalError=i,this.name="NetworkError"}}class h extends Error{constructor(e){super(e),this.name="ValidationError"}}class d{config;axiosInstance;verbose;constructor(e,i,n=!1){this.config=e||new a,this.verbose=n,this.axiosInstance=u().create({timeout:this.config.timeout,headers:{Authorization:`Bearer ${this.config.apiKey}`,"Content-Type":"application/json","X-Client-Sdk":"coze-coding-dev-sdk-typescript/0.3.0",...i}})}async request(e,i,n,t){let a=null;for(let o=0;o<=this.config.retryTimes;o++)try{0===o&&this.verbose&&this.logRequest(e,i,n,t);let a=await this.axiosInstance.request({method:e,url:i,data:n,...t});return 0===o&&this.verbose&&this.logResponse(a),a.data}catch(e){if(a=e,e.response){let i=e.response.status;if(i>=400&&i<500&&429!==i)throw new r(e.response.data?.message||e.message,i,e.response.data)}o<this.config.retryTimes&&await this.sleep(1e3*this.config.retryDelay*(o+1))}if(a)if(u().isAxiosError(a)&&a.response)throw new r(a.response.data?.message||a.message,a.response.status,a.response.data);else throw new l(a.message);throw new l("Request failed after retries")}async requestWithResponse(e,i,n,t){let a=null;for(let o=0;o<=this.config.retryTimes;o++)try{0===o&&this.verbose&&this.logRequest(e,i,n,t);let a=await this.axiosInstance.request({method:e,url:i,data:n,...t});return 0===o&&this.verbose&&this.logResponse(a),a}catch(e){if(a=e,e.response){let i=e.response.status;if(i>=400&&i<500&&429!==i)throw new r(e.response.data?.message||e.message,i,e.response.data)}o<this.config.retryTimes&&await this.sleep(1e3*this.config.retryDelay*(o+1))}if(a)if(u().isAxiosError(a)&&a.response)throw new r(a.response.data?.message||a.message,a.response.status,a.response.data);else throw new l(a.message);throw new l("Request failed after retries")}sanitizeHeaders(e){let i=["authorization","auth","api-key","apikey","api_key","x-api-key","x-auth-token","token","secret","password","passwd","pwd"],n={};for(let[t,a]of Object.entries(e)){let e=t.toLowerCase();i.some(i=>e.includes(i))?n[t]="***":n[t]=a}return n}logRequest(e,i,n,t){console.log("\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"),console.log("\uD83D\uDCE4 HTTP Request"),console.log("━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"),console.log(`Method: ${e}`),console.log(`URL: ${i}`);let a={},o=this.axiosInstance.defaults.headers.common||{},u=this.axiosInstance.defaults.headers[e.toLowerCase()]||{};Object.assign(a,o,u,t?.headers||{});let s=this.sanitizeHeaders(a);for(let[e,i]of(console.log("\nHeaders:"),Object.entries(s)))console.log(` ${e}: ${i}`);n&&(console.log("\nBody:"),console.log(JSON.stringify(n,null,2))),console.log("━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n")}logResponse(e){if(console.log("\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"),console.log("\uD83D\uDCE5 HTTP Response"),console.log("━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"),console.log(`Status: ${e.status} ${e.statusText}`),e.headers)for(let[i,n]of(console.log("\nHeaders:"),Object.entries(e.headers)))console.log(` ${i}: ${n}`);if(e.data){console.log("\nBody:");let i="string"==typeof e.data?e.data:JSON.stringify(e.data,null,2);console.log(i.length>1e3?i.substring(0,1e3)+"\n... (truncated)":i)}console.log("━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n")}sleep(e){return new Promise(i=>setTimeout(i,e))}}var c=__webpack_require__("./src/core/headers.ts"),g=__webpack_require__("./src/image/models.ts");class p extends d{model;constructor(e,i,n=!1){super(e,i,n),this.model=g.K8.DEFAULT_MODEL}async generate(e){let i=(0,g.Li)(e,this.model),n=await this.request("POST",`${this.config.baseUrl}/api/v3/images/generations`,i);if(n.error)throw new r(`API returned error: ${n.error.message||"Unknown error"}`,n.error.code?parseInt(n.error.code):500,n.error);for(let e of n.data)if(e.error)throw new r(`Image generation failed: ${e.error.message||"Unknown error"}`,e.error.code?parseInt(e.error.code):500,e.error);return n}async batchGenerate(e){return Promise.all(e.map(e=>this.generate(e)))}getResponseHelper(e){return new g.td(e)}}var m=__webpack_require__("./src/search/models.ts");class f extends d{constructor(e,i,n=!1){super(e,i,n)}async search(e){let i,n=(0,m.a)(e),t=await this.request("POST",`${this.config.baseUrl}/api/search_api/web_search`,n),a=t.ResponseMetadata||{};if(a.Error)throw new r(`Search failed: ${a.Error}`,500,a.Error);let o=t.Result||{},u=[];if(o.WebResults)for(let e of o.WebResults)u.push((0,m.b)(e));let s=[];if(o.ImageResults)for(let e of o.ImageResults)s.push((0,m.b)(e));return o.Choices&&o.Choices.length>0&&(i=o.Choices[0].Message?.Content),{web_items:u,image_items:s,summary:i}}async webSearch(e,i=10,n=!0){return this.search({query:e,search_type:"web",count:i,need_summary:n})}async webSearchWithSummary(e,i=10){return this.search({query:e,search_type:"web_summary",count:i,need_summary:!0})}async imageSearch(e,i=10){return this.search({query:e,search_type:"image",count:i,need_summary:!1})}async advancedSearch(e,i={}){let n={need_content:i.needContent,need_url:i.needUrl,sites:i.sites,block_hosts:i.blockHosts};return this.search({query:e,search_type:i.searchType||"web",count:i.count||10,filter:n,need_summary:void 0===i.needSummary||i.needSummary,time_range:i.timeRange})}}var y=__webpack_require__("./src/voice/models.ts");class S extends d{constructor(e,i,n=!1){super(e,i,n)}async synthesize(e){if(!e.text&&!e.ssml)throw new h("必须提供 text 或 ssml 其中之一");let i=(0,y.Xd)(e),n={...this.config.getHeaders(),Connection:"keep-alive"};try{let e=await u().post(`${this.config.baseUrl}/api/v3/tts/unidirectional`,i,{headers:n,responseType:"stream",timeout:this.config.timeout});return await this.processStreamResponse(e)}catch(e){if(e.response)throw new r(`TTS 请求失败: ${e.message}`,e.response.status,e.response.data);throw new r(`TTS 请求异常: ${e.message}`,500)}}async processStreamResponse(e){return new Promise((i,n)=>{let t="",a=0,o="";e.data.on("data",e=>{let u=(o+=e.toString("utf-8")).split("\n");for(let e of(o=u.pop()||"",u))if(e.trim()&&e.startsWith("data:"))try{let o=e.replace("data:","").trim();if(!o)continue;let u=JSON.parse(o);if(0===u.code&&u.data){let e=Buffer.from(u.data,"base64");a+=e.length}else if(2e7===u.code){u.url&&(t=u.url),i({audioUri:t,audioSize:a});return}else if(u.code>0)return void n(new r(`合成音频失败: ${u.message||""}`,u.code))}catch(e){n(new r(`响应解析失败: ${e.message}`,500));return}}),e.data.on("end",()=>{t||0!==a?i({audioUri:t,audioSize:a}):n(new r("未收到完整的音频数据",500))}),e.data.on("error",e=>{n(new r(`流处理错误: ${e.message}`,500))})})}}class b extends d{constructor(e,i,n=!1){super(e,i,n)}async recognize(e){if(!e.url&&!e.base64Data)throw new h("必须提供 url 或 base64Data 其中之一");let i=(0,y.uF)(e);try{let e=await this.requestWithResponse("POST",`${this.config.baseUrl}/api/v3/auc/bigmodel/recognize/flash`,i),n=e.headers["x-api-status-code"]||"0",t=e.headers["x-api-message"]||"";if("20000000"!==n)throw new r(`ASR 识别失败,状态码: ${n}, 错误信息: ${t}`,e.status,{code:n,message:t});let a=e.data.result||{};return{text:a.text||"",duration:a.duration,utterances:a.utterances,rawData:e.data}}catch(e){if(e instanceof r)throw e;throw new r(`ASR 请求异常: ${e.message}`,500)}}}var C=__webpack_require__("./src/video/models.ts");class w extends d{baseUrl;constructor(e,i,n=!1){super(e,i,n),this.baseUrl=this.config.baseUrl}async videoGeneration(e,i){let n=(i?.maxWaitTime??900)*1e3,t={model:i?.model||C.K.DEFAULT_MODEL,content:e};i?.callbackUrl&&(t.callback_url=i.callbackUrl),i?.returnLastFrame&&(t.return_last_frame=i.returnLastFrame),t.resolution=i?.resolution??C.K.DEFAULT_RESOLUTION,t.ratio=i?.ratio??C.K.DEFAULT_RATIO,t.duration=i?.duration??C.K.DEFAULT_DURATION,t.watermark=i?.watermark??C.K.DEFAULT_WATERMARK,i?.seed!==void 0&&(t.seed=i.seed),t.camerafixed=i?.camerafixed??C.K.DEFAULT_CAMERA_FIXED,t.generate_audio=i?.generateAudio??C.K.DEFAULT_GENERATE_AUDIO;let a=null,o=0;for(;o<3;)try{if(!(a=(await this.request("POST",`${this.baseUrl}/api/v3/contents/generations/tasks`,t)).id))throw new r("创建视频生成任务失败:响应中缺少任务ID",500);this.verbose&&console.log(`视频生成任务创建成功,任务ID: ${a}`);break}catch(i){o++;let e=i instanceof Error?i.message:String(i);if(this.verbose&&console.error(`创建视频生成任务失败(尝试 ${o}/3): ${e}`),o>=3)throw new r(`创建视频生成任务失败,已重试3次: ${e}`,500);if(e.toLowerCase().includes("rate limit")||e.includes("429")){let e=Math.min(2**o*1e3,1e4);this.verbose&&console.warn(`遇到速率限制,等待 ${e/1e3} 秒后重试...`),await this.sleep(e)}else if(e.toLowerCase().includes("timeout"))this.verbose&&console.warn("请求超时,等待 2 秒后重试..."),await this.sleep(2e3);else throw i}let u=Date.now(),s=0;for(;Date.now()-u<n;){s++;try{let e=await this.request("GET",`${this.baseUrl}/api/v3/contents/generations/tasks/${a}`),i=e.status;if(this.verbose&&console.log(`任务 ${a} 状态检查 #${s}: ${i}`),"succeeded"===i){let i=e.content?.video_url||null,n=e.content?.last_frame_url||"";if(!i)throw new r(`视频生成成功但响应中缺少视频URL,任务ID: ${a}`,500);return this.verbose&&console.log(`视频生成成功,任务ID: ${a}, 视频URL: ${i}`),{videoUrl:i,response:e,lastFrameUrl:n}}if("failed"===i){let i=e.error_message||"未知错误";throw this.verbose&&console.error(`视频生成失败,任务ID: ${a}, 错误: ${i}`),new r(`视频生成失败: ${i}`,500)}if("cancelled"===i)return this.verbose&&console.warn(`视频生成任务被取消,任务ID: ${a}`),{videoUrl:null,response:e,lastFrameUrl:""};else if("queued"===i||"running"===i){await this.sleep(5e3);continue}else{this.verbose&&console.warn(`未知的任务状态: ${i},任务ID: ${a}`),await this.sleep(5e3);continue}}catch(i){let e=i instanceof Error?i.message:String(i);if(this.verbose&&console.error(`查询任务状态失败,任务ID: ${a}, 错误: ${e}`),e.toLowerCase().includes("not found")||e.includes("404"))throw new r(`任务不存在或已过期,任务ID: ${a}`,404);if(Date.now()-u>=n)throw i;await this.sleep(5e3);continue}}let l=Math.floor((Date.now()-u)/1e3);throw this.verbose&&console.error(`视频生成超时,任务ID: ${a}, 已等待: ${l}秒`),new r(`视频生成超时,已等待 ${l} 秒,任务ID: ${a}`,408)}async videoGenerationAsync(e,i){return this.videoGeneration(e,i)}}var x=__webpack_require__("./src/video_edit/models.ts");class T extends d{baseUrl;constructor(e,i,n=!1){super(e,i,n),this.baseUrl=this.config.baseUrl}async extractByKeyFrame(e){let i=await this.request("POST",`${this.baseUrl}/api/v1/integration/video_editing_utils?tool_name=frame_extractor_by_key_frame`,{url:e});if(0!==i.code)throw new r(`Key frame extraction failed: ${i.msg||"Unknown error"}`,i.code);return i}async extractByInterval(e,i){let n=await this.request("POST",`${this.baseUrl}/api/v1/integration/video_editing_utils?tool_name=frame_extractor_by_interval`,{url:e,interval_ms:i});if(0!==n.code)throw new r(`Interval frame extraction failed: ${n.msg||"Unknown error"}`,n.code);return n}async extractByCount(e,i){let n=await this.request("POST",`${this.baseUrl}/api/v1/integration/video_editing_utils?tool_name=frame_extractor_by_count`,{url:e,count:i});if(0!==n.code)throw new r(`Count-based frame extraction failed: ${n.msg||"Unknown error"}`,n.code);return n}}class _ extends d{baseUrl;constructor(e,i,n=!1){super(e,i,n),this.baseUrl=this.config.baseUrl}validateUrlExpire(e,i=x.M.MIN_URL_EXPIRE){if(void 0===e)return x.M.DEFAULT_URL_EXPIRE;if(e<i||e>x.M.MAX_URL_EXPIRE)throw new r(`url_expire must be between ${i} and ${x.M.MAX_URL_EXPIRE} seconds`,400);return e}async addSubtitles(e,i,n){let t=this.validateUrlExpire(n?.urlExpire),a={video:e,subtitle_config:{background_border_width:i.background_border_width??x.M.DEFAULT_BACKGROUND_BORDER_WIDTH,font_type:i.font_type??x.M.DEFAULT_FONT_TYPE,font_pos_config:{height:i.font_pos_config.height??x.M.DEFAULT_FONT_POS_HEIGHT,pos_x:i.font_pos_config.pos_x??x.M.DEFAULT_FONT_POS_X,pos_y:i.font_pos_config.pos_y??x.M.DEFAULT_FONT_POS_Y,width:i.font_pos_config.width??x.M.DEFAULT_FONT_POS_WIDTH}},url_expire:t};void 0!==i.border_width&&(a.subtitle_config.border_width=i.border_width),void 0!==i.font_color&&(a.subtitle_config.font_color=i.font_color),void 0!==i.font_size&&(a.subtitle_config.font_size=i.font_size),void 0!==i.background_color&&(a.subtitle_config.background_color=i.background_color),void 0!==i.border_color&&(a.subtitle_config.border_color=i.border_color),n?.subtitleUrl&&(a.subtitle_url=n.subtitleUrl),n?.textList&&n.textList.length>0&&(a.text_list=n.textList.map(e=>({end_time:e.end_time,start_time:e.start_time,text:e.text})));let o=await this.requestWithResponse("POST",`${this.baseUrl}/api/v1/integration/video_editing_utils?tool_name=add_subtitles`,a),u=o.headers["x-api-status-code"]||"0",s=o.headers["x-api-message"]||"";if("0"!==u)throw new r(`Add subtitles failed, status code: ${u}, error: ${s}`,parseInt(u)||500);if(!o.data.url)throw new r("Add subtitles failed: returned URL is empty",500);return o.data}async concatVideos(e,i){if(!e||0===e.length)throw new r("videos list cannot be empty",400);let n={videos:e,url_expire:this.validateUrlExpire(i?.urlExpire)};i?.transitions&&i.transitions.length>0&&(n.transitions=i.transitions);let t=await this.requestWithResponse("POST",`${this.baseUrl}/api/v1/integration/video_editing_utils?tool_name=concat_videos`,n),a=t.headers["x-api-status-code"]||"0",o=t.headers["x-api-message"]||"";if("0"!==a)throw new r(`Concat videos failed, status code: ${a}, error: ${o}`,parseInt(a)||500);if(!t.data.url)throw new r("Concat videos failed: returned URL is empty",500);return t.data}async compileVideoAudio(e,i,n){let t={video:e,audio:i,url_expire:this.validateUrlExpire(n?.urlExpire)};n?.isVideoAudioSync!==void 0&&(t.is_video_audio_sync=n.isVideoAudioSync),n?.outputSync&&(t.output_sync={sync_method:n.outputSync.sync_method??x.M.DEFAULT_SYNC_METHOD,sync_mode:n.outputSync.sync_mode??x.M.DEFAULT_SYNC_MODE}),n?.isAudioReserve!==void 0&&(t.is_audio_reserve=n.isAudioReserve);let a=await this.requestWithResponse("POST",`${this.baseUrl}/api/v1/integration/video_editing_utils?tool_name=compile_video_audio`,t),o=a.headers["x-api-status-code"]||"0",u=a.headers["x-api-message"]||"";if("0"!==o)throw new r(`Compile video audio failed, status code: ${o}, error: ${u}`,parseInt(o)||500);if(!a.data.url)throw new r("Compile video audio failed: returned URL is empty",500);return a.data}async audioToSubtitle(e,i){let n={source:e,url_expire:this.validateUrlExpire(i?.urlExpire)};i?.subtitleType&&(n.subtitle_type=i.subtitleType);let t=await this.requestWithResponse("POST",`${this.baseUrl}/api/v1/integration/video_editing_utils?tool_name=audio_to_subtitle`,n),a=t.headers["x-api-status-code"]||"0",o=t.headers["x-api-message"]||"";if("0"!==a)throw new r(`Audio to subtitle failed, status code: ${a}, error: ${o}`,parseInt(a)||500);if(!t.data.url)throw new r("Audio to subtitle failed: returned URL is empty",500);return t.data}async extractAudio(e,i){let n={video:e,url_expire:this.validateUrlExpire(i?.urlExpire,x.M.MIN_AUDIO_URL_EXPIRE)};i?.format&&(n.format=i.format);let t=await this.requestWithResponse("POST",`${this.baseUrl}/api/v1/integration/video_editing_utils?tool_name=audio_extract`,n),a=t.headers["x-api-status-code"]||"0",o=t.headers["x-api-message"]||"";if("0"!==a)throw new r(`Extract audio failed, status code: ${a}, error: ${o}`,parseInt(a)||500);if(!t.data.url)throw new r("Extract audio failed: returned URL is empty",500);return t.data}async videoTrim(e,i){let n=this.validateUrlExpire(i?.urlExpire);if(i?.startTime!==void 0&&i.startTime<0)throw new r("start_time must be greater than or equal to 0",400);if(i?.endTime!==void 0&&i.endTime<0)throw new r("end_time must be greater than or equal to 0",400);let t={video:e,url_expire:n};i?.startTime!==void 0&&(t.start_time=i.startTime),i?.endTime!==void 0&&(t.end_time=i.endTime);let a=await this.requestWithResponse("POST",`${this.baseUrl}/api/v1/integration/video_editing_utils?tool_name=video_trim`,t),o=a.headers["x-api-status-code"]||"0",u=a.headers["x-api-message"]||"";if("0"!==o)throw new r(`Video trim failed, status code: ${o}, error: ${u}`,parseInt(o)||500);if(!a.data.url)throw new r("Video trim failed: returned URL is empty",500);return a.data}}let L=require("@langchain/openai"),E=require("@langchain/core/messages");var Y=__webpack_require__("./src/llm/models.ts");class D{config;constructor(e){this.config=e}createLLM(e,i,n){let t={};t.thinking={type:e.thinking??Y.c.THINKING},e.caching&&"disabled"!==e.caching&&(t.caching={type:e.caching});let a={Authorization:`Bearer ${this.config.apiKey}`,"X-Client-Sdk":"coze-coding-dev-sdk-typescript/0.3.0",...n};return i&&(a["X-Previous-Response-Id"]=i),new L.ChatOpenAI({model:e.model||Y.c.MODEL,apiKey:this.config.apiKey,configuration:{baseURL:this.config.modelBaseUrl,defaultHeaders:a},streaming:void 0!==e.streaming?e.streaming:Y.c.STREAMING,temperature:void 0!==e.temperature?e.temperature:Y.c.TEMPERATURE,modelKwargs:Object.keys(t).length>0?t:void 0})}convertMessages(e){return e.map(e=>{let i=this.convertContent(e.content);switch(e.role){case"system":return new E.SystemMessage(i);case"user":return new E.HumanMessage(i);case"assistant":return new E.AIMessage(i);default:throw Error(`Unknown message role: ${e.role}`)}})}convertContent(e){return"string"==typeof e?e:e.map(e=>{if("text"===e.type)return{type:"text",text:e.text};if("image_url"===e.type){let i={url:e.image_url.url};return e.image_url.detail&&(i.detail=e.image_url.detail),{type:"image_url",image_url:i}}if("video_url"===e.type){let i={url:e.video_url.url};return void 0!==e.video_url.fps&&(i.fps=e.video_url.fps),{type:"video_url",video_url:i}}return e})}async *stream(e,i={},n,t){let a=this.createLLM(i,n,t),o=this.convertMessages(e);for await(let e of(await a.stream(o)))yield e}async invoke(e,i={},n,t){let a="";for await(let o of this.stream(e,i,n,t))o.content&&(a+=o.content.toString());return{content:a}}}var v=((e={})[e.TEXT=0]="TEXT",e[e.URL=1]="URL",e[e.URI=2]="URI",e);class Z extends d{baseUrl;constructor(e,i,n=!1){super(e,i,n),this.baseUrl=this.config.baseUrl}async search(e,i,n=5,t=0,a){let o={query:e,top_k:n,min_score:t};i&&(o.dataset=i);let u=`${this.baseUrl}/v1/knowledge_base/recall`,s={...a};this.config.apiKey&&(s["x-coze-token"]=`Bearer ${this.config.apiKey}`);let r=await this.request("POST",u,o,{headers:s});return{chunks:(r.data||[]).map(e=>({content:e.slice||"",score:e.score||0,chunk_id:e.chunk_id,doc_id:e.doc_id})),code:r.code||0,msg:r.msg||""}}async addDocuments(e,i,n,t){let a={dataset:i,data:e};n&&(a.chunk_config=Object.fromEntries(Object.entries(n).filter(([e,i])=>void 0!==i)));let o=`${this.baseUrl}/v1/knowledge_base/batch_import`,u={...t};this.config.apiKey&&(u["x-coze-token"]=`Bearer ${this.config.apiKey}`);let s=await this.request("POST",o,a,{headers:u}),r=s.msg||"";return 0===s.code&&(r="成功!文档正在异步导入中,请稍候。您可以查看数据库中的 'knowledge' schema 来验证导入状态。"),{doc_ids:s.doc_ids,code:s.code||0,msg:r}}}var A=__webpack_require__("./src/database/index.ts"),N=__webpack_require__("./node_modules/@aws-sdk/client-s3/dist-es/S3Client.js"),J=__webpack_require__("./node_modules/@aws-sdk/client-s3/dist-es/commands/PutObjectCommand.js"),k=__webpack_require__("./node_modules/@aws-sdk/client-s3/dist-es/commands/GetObjectCommand.js"),P=__webpack_require__("./node_modules/@aws-sdk/client-s3/dist-es/commands/DeleteObjectCommand.js"),M=__webpack_require__("./node_modules/@aws-sdk/client-s3/dist-es/commands/HeadObjectCommand.js"),R=__webpack_require__("./node_modules/@aws-sdk/client-s3/dist-es/commands/ListObjectsV2Command.js");let B="CRC32";var H=__webpack_require__("./node_modules/@aws-sdk/middleware-sdk-s3/dist-es/throw-200-exceptions.js"),X=__webpack_require__("./node_modules/@aws-sdk/middleware-ssec/dist-es/index.js"),F=__webpack_require__("./node_modules/@smithy/middleware-endpoint/dist-es/getEndpointPlugin.js"),I=__webpack_require__("./node_modules/@smithy/smithy-client/dist-es/command.js"),Q=__webpack_require__("./node_modules/@aws-sdk/client-s3/dist-es/endpoint/EndpointParameters.js"),j=__webpack_require__("./node_modules/@aws-sdk/client-s3/dist-es/schemas/schemas_0.js");class O extends I.u.classBuilder().ep({...Q.S,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function(e,i,n,t){return[(0,F.r)(n,e.getEndpointParameterInstructions()),(0,H.Cg)(n),(0,X.M6)(n)]}).s("AmazonS3","CreateMultipartUpload",{}).n("S3Client","CreateMultipartUploadCommand").sc(j.uP1).build(){}class G extends I.u.classBuilder().ep({...Q.S,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function(e,i,n,t){return[(0,F.r)(n,e.getEndpointParameterInstructions()),(0,H.Cg)(n)]}).s("AmazonS3","AbortMultipartUpload",{}).n("S3Client","AbortMultipartUploadCommand").sc(j.QU_).build(){}var K=__webpack_require__("./node_modules/@aws-sdk/middleware-flexible-checksums/dist-es/getFlexibleChecksumsPlugin.js");class $ extends I.u.classBuilder().ep({...Q.S,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function(e,i,n,t){return[(0,F.r)(n,e.getEndpointParameterInstructions()),(0,K.R)(n,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!1}),(0,H.Cg)(n),(0,X.M6)(n)]}).s("AmazonS3","UploadPart",{}).n("S3Client","UploadPartCommand").sc(j.nCU).build(){}class U extends I.u.classBuilder().ep({...Q.S,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function(e,i,n,t){return[(0,F.r)(n,e.getEndpointParameterInstructions()),(0,H.Cg)(n),(0,X.M6)(n)]}).s("AmazonS3","CompleteMultipartUpload",{}).n("S3Client","CompleteMultipartUploadCommand").sc(j.p4g).build(){}class z extends I.u.classBuilder().ep({...Q.S,Bucket:{type:"contextParams",name:"Bucket"}}).m(function(e,i,n,t){return[(0,F.r)(n,e.getEndpointParameterInstructions()),(0,K.R)(n,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0}),(0,H.Cg)(n)]}).s("AmazonS3","PutObjectTagging",{}).n("S3Client","PutObjectTaggingCommand").sc(j.C2v).build(){}class W{onabort=null;_aborted=!1;constructor(){Object.defineProperty(this,"_aborted",{value:!1,writable:!0})}get aborted(){return this._aborted}abort(){this._aborted=!0,this.onabort&&(this.onabort(this),this.onabort=null)}}class q{signal=new W;abort(){this.signal.abort()}}var V=__webpack_require__("./node_modules/@smithy/middleware-endpoint/dist-es/adaptors/toEndpointV1.js"),ee=__webpack_require__("./node_modules/@smithy/middleware-endpoint/dist-es/adaptors/getEndpointFromInstructions.js"),ei=__webpack_require__("./node_modules/@smithy/core/dist-es/submodules/protocols/extended-encode-uri-component.js");let en=require("events");var et=__webpack_require__("buffer"),ea=__webpack_require__("fs");let eo={...{lstatSync:()=>{},isFileReadStream:e=>!1},runtime:"node",lstatSync:ea.lstatSync,isFileReadStream:e=>e instanceof ea.ReadStream},eu=e=>{if(null==e)return 0;if("string"==typeof e)return et.Buffer.byteLength(e);if("number"==typeof e.byteLength)return e.byteLength;if("number"==typeof e.length)return e.length;if("number"==typeof e.size)return e.size;if("number"==typeof e.start&&"number"==typeof e.end)return e.end+1-e.start;if(eo.isFileReadStream(e))try{return eo.lstatSync(e.path).size}catch(e){}};(i=n||(n={})).EMPTY_INPUT="a null or undefined Body",i.CONTENT_LENGTH="the ContentLength property of the params set by the caller",i.STRING_LENGTH="the encoded byte length of the Body string",i.TYPED_ARRAY="the byteLength of a typed byte array such as Uint8Array",i.LENGTH="the value of Body.length",i.SIZE="the value of Body.size",i.START_END_DIFF="the numeric difference between Body.start and Body.end",i.LSTAT="the size of the file given by Body.path on disk as reported by lstatSync";var es=__webpack_require__("stream");async function*er(e,i,n){let t=1,a={chunks:[],length:0};for await(let o of n(e))for(a.chunks.push(o),a.length+=o.byteLength;a.length>i;){let e=a.chunks.length>1?et.Buffer.concat(a.chunks):a.chunks[0];yield{partNumber:t,data:e.subarray(0,i)},a.chunks=[e.subarray(i)],a.length=a.chunks[0].byteLength,t+=1}yield{partNumber:t,data:1!==a.chunks.length?et.Buffer.concat(a.chunks):a.chunks[0],lastPart:!0}}async function*el(e,i){let n=1,t=0,a=i;for(;a<e.byteLength;)yield{partNumber:n,data:e.subarray(t,a)},n+=1,a=(t=a)+i;yield{partNumber:n,data:e.subarray(t),lastPart:!0}}async function*eh(e){for await(let i of e)et.Buffer.isBuffer(i)||i instanceof Uint8Array?yield i:yield et.Buffer.from(i)}async function*ed(e){let i=e.getReader();try{for(;;){let{done:e,value:n}=await i.read();if(e)return;et.Buffer.isBuffer(n)||n instanceof Uint8Array?yield n:yield et.Buffer.from(n)}}catch(e){throw e}finally{i.releaseLock()}}class ec extends en.EventEmitter{static MIN_PART_SIZE=5242880;MAX_PARTS=1e4;queueSize=4;partSize;leavePartsOnError=!1;tags=[];client;params;totalBytes;totalBytesSource;bytesUploadedSoFar;abortController;concurrentUploaders=[];createMultiPartPromise;abortMultipartUploadCommand=null;uploadedParts=[];uploadEnqueuedPartsCount=0;expectedPartsCount;uploadId;uploadEvent;isMultiPart=!0;singleUploadResult;sent=!1;constructor(e){if(super(),this.queueSize=e.queueSize||this.queueSize,this.leavePartsOnError=e.leavePartsOnError||this.leavePartsOnError,this.tags=e.tags||this.tags,this.client=e.client,this.params=e.params,!this.params)throw Error("InputError: Upload requires params to be passed to upload.");this.totalBytes=this.params.ContentLength??eu(this.params.Body),this.totalBytesSource=((e,i)=>{if(null!=i)return n.CONTENT_LENGTH;if(null==e)return n.EMPTY_INPUT;if("string"==typeof e)return n.STRING_LENGTH;if("number"==typeof e.byteLength)return n.TYPED_ARRAY;if("number"==typeof e.length)return n.LENGTH;if("number"==typeof e.size)return n.SIZE;if("number"==typeof e.start&&"number"==typeof e.end)return n.START_END_DIFF;if(eo.isFileReadStream(e))try{return eo.lstatSync(e.path).size,n.LSTAT}catch(e){}})(this.params.Body,this.params.ContentLength),this.bytesUploadedSoFar=0,this.abortController=e.abortController??new q,this.partSize=e.partSize||Math.max(ec.MIN_PART_SIZE,Math.floor((this.totalBytes||0)/this.MAX_PARTS)),void 0!==this.totalBytes&&(this.expectedPartsCount=Math.ceil(this.totalBytes/this.partSize)),this.__validateInput()}async abort(){this.abortController.abort()}async done(){if(this.sent)throw Error("@aws-sdk/lib-storage: this instance of Upload has already executed .done(). Create a new instance.");return this.sent=!0,await Promise.race([this.__doMultipartUpload(),this.__abortTimeout(this.abortController.signal)])}on(e,i){return this.uploadEvent=e,super.on(e,i)}async __uploadUsingPut(e){let i,n,t;this.isMultiPart=!1;let a={...this.params,Body:e.data},o=this.client.config,u=o.requestHandler,s=u instanceof en.EventEmitter?u:null,r=i=>{this.bytesUploadedSoFar=i.loaded,this.totalBytes=i.total,this.__notifyProgress({loaded:this.bytesUploadedSoFar,total:this.totalBytes,part:e.partNumber,Key:this.params.Key,Bucket:this.params.Bucket})};null!==s&&s.on("xhr.upload.progress",r);let l=await Promise.all([this.client.send(new J.w(a)),o?.endpoint?.()]),h=l[0],d=l[1];if(d||(d=(0,V.a)(await (0,ee.r)(a,J.w,{...o}))),!d)throw Error('Could not resolve endpoint from S3 "client.config.endpoint()" nor EndpointsV2.');null!==s&&s.off("xhr.upload.progress",r);let c=this.params.Key.split("/").map(e=>(0,ei.$)(e)).join("/"),g=(0,ei.$)(this.params.Bucket),p=(i=d.hostname.startsWith(`${g}.`),n=this.client.config.forcePathStyle,t=d.port?`:${d.port}`:"",n?`${d.protocol}//${d.hostname}${t}/${g}/${c}`:i?`${d.protocol}//${d.hostname}${t}/${c}`:`${d.protocol}//${g}.${d.hostname}${t}/${c}`);this.singleUploadResult={...h,Bucket:this.params.Bucket,Key:this.params.Key,Location:p};let m=eu(e.data);this.__notifyProgress({loaded:m,total:m,part:1,Key:this.params.Key,Bucket:this.params.Bucket})}async __createMultipartUpload(){let e=await this.client.config.requestChecksumCalculation();if(!this.createMultiPartPromise){let i={...this.params,Body:void 0};"WHEN_SUPPORTED"===e&&(i.ChecksumAlgorithm=this.params.ChecksumAlgorithm||B),this.createMultiPartPromise=this.client.send(new O(i)).then(e=>(this.abortMultipartUploadCommand=new G({Bucket:this.params.Bucket,Key:this.params.Key,UploadId:e.UploadId}),e))}return this.createMultiPartPromise}async __doConcurrentUpload(e){for await(let i of e){if(this.uploadEnqueuedPartsCount>this.MAX_PARTS)throw Error(`Exceeded ${this.MAX_PARTS} parts in multipart upload to Bucket: ${this.params.Bucket} Key: ${this.params.Key}.`);if(this.abortController.signal.aborted)return;if(1===i.partNumber&&i.lastPart)return await this.__uploadUsingPut(i);if(!this.uploadId){let{UploadId:e}=await this.__createMultipartUpload();if(this.uploadId=e,this.abortController.signal.aborted)return}let e=eu(i.data)||0,n=this.client.config.requestHandler,t=n instanceof en.EventEmitter?n:null,a=0,o=(n,t)=>{(Number(t.query.partNumber)||-1)===i.partNumber&&(n.total&&e&&(this.bytesUploadedSoFar+=n.loaded-a,a=n.loaded),this.__notifyProgress({loaded:this.bytesUploadedSoFar,total:this.totalBytes,part:i.partNumber,Key:this.params.Key,Bucket:this.params.Bucket}))};null!==t&&t.on("xhr.upload.progress",o),this.uploadEnqueuedPartsCount+=1,this.__validateUploadPart(i);let u=await this.client.send(new $({...this.params,ContentLength:void 0,UploadId:this.uploadId,Body:i.data,PartNumber:i.partNumber}));if(null!==t&&t.off("xhr.upload.progress",o),this.abortController.signal.aborted)return;if(!u.ETag)throw Error(`Part ${i.partNumber} is missing ETag in UploadPart response. Missing Bucket CORS configuration for ETag header?`);this.uploadedParts.push({PartNumber:i.partNumber,ETag:u.ETag,...u.ChecksumCRC32&&{ChecksumCRC32:u.ChecksumCRC32},...u.ChecksumCRC32C&&{ChecksumCRC32C:u.ChecksumCRC32C},...u.ChecksumSHA1&&{ChecksumSHA1:u.ChecksumSHA1},...u.ChecksumSHA256&&{ChecksumSHA256:u.ChecksumSHA256}}),null===t&&(this.bytesUploadedSoFar+=e),this.__notifyProgress({loaded:this.bytesUploadedSoFar,total:this.totalBytes,part:i.partNumber,Key:this.params.Key,Bucket:this.params.Bucket})}}async __doMultipartUpload(){let e,i=((e,i)=>{if(e instanceof Uint8Array)return el(e,i);if(e instanceof es.Readable)return er(e,i,eh);if(e instanceof String||"string"==typeof e)return el(et.Buffer.from(e),i);if("function"==typeof e.stream)return er(e.stream(),i,ed);if(e instanceof ReadableStream)return er(e,i,ed);throw Error("Body Data is unsupported format, expected data to be one of: string | Uint8Array | Buffer | Readable | ReadableStream | Blob;.")})(this.params.Body,this.partSize),n=[];for(let e=0;e<this.queueSize;e++){let e=this.__doConcurrentUpload(i).catch(e=>{n.push(e)});this.concurrentUploaders.push(e)}if(await Promise.all(this.concurrentUploaders),n.length>=1)throw await this.markUploadAsAborted(),n[0];if(this.abortController.signal.aborted)throw await this.markUploadAsAborted(),Object.assign(Error("Upload aborted."),{name:"AbortError"});if(this.isMultiPart){let{expectedPartsCount:i,uploadedParts:n,totalBytes:t,totalBytesSource:a}=this;if(void 0!==t&&void 0!==i&&n.length!==i)throw Error(`Expected ${i} part(s) but uploaded ${n.length} part(s).
|
|
73
|
+
`;await i.execute(en`CREATE SCHEMA IF NOT EXISTS ${en.identifier(a)}`),await i.execute(o);let u=(await i.all(en`select id, hash, created_at from ${en.identifier(a)}.${en.identifier(t)} order by created_at desc limit 1`))[0];await i.transaction(async i=>{for await(let n of e)if(!u||Number(u.created_at)<n.folderMillis){for(let e of n.sql)await i.execute(en.raw(e));await i.execute(en`insert into ${en.identifier(a)}.${en.identifier(t)} ("hash", "created_at") values(${n.hash}, ${n.folderMillis})`)}})}escapeName(e){return`"${e}"`}escapeParam(e){return`$${e+1}`}escapeString(e){return`'${e.replace(/'/g,"''")}'`}buildWithCTE(e){if(!e?.length)return;let i=[en`with `];for(let[n,t]of e.entries())i.push(en`${en.identifier(t._.alias)} as (${t._.sql})`),n<e.length-1&&i.push(en`, `);return i.push(en` `),en.join(i)}buildDeleteQuery({table:e,where:i,returning:n,withList:t}){let a=this.buildWithCTE(t),o=n?en` returning ${this.buildSelection(n,{isSingleTable:!0})}`:void 0,u=i?en` where ${i}`:void 0;return en`${a}delete from ${e}${u}${o}`}buildUpdateSet(e,i){let n=e[G.Symbol.Columns],t=Object.keys(n).filter(e=>void 0!==i[e]||n[e]?.onUpdateFn!==void 0),a=t.length;return en.join(t.flatMap((e,t)=>{let o=n[e],u=o.onUpdateFn?.(),s=i[e]??(r(u,W)?u:en.param(u,o)),l=en`${en.identifier(this.casing.getColumnCasing(o))} = ${s}`;return t<a-1?[l,en.raw(", ")]:[l]}))}buildUpdateQuery({table:e,set:i,where:n,returning:t,withList:a,from:o,joins:u}){let s=this.buildWithCTE(a),r=e[e$.Symbol.Name],l=e[e$.Symbol.Schema],h=e[e$.Symbol.OriginalName],d=r===h?void 0:r,c=en`${l?en`${en.identifier(l)}.`:void 0}${en.identifier(h)}${d&&en` ${en.identifier(d)}`}`,g=this.buildUpdateSet(e,i),p=o&&en.join([en.raw(" from "),this.buildFromTable(o)]),m=this.buildJoins(u),f=t?en` returning ${this.buildSelection(t,{isSingleTable:!o})}`:void 0,y=n?en` where ${n}`:void 0;return en`${s}update ${c} set ${g}${p}${m}${y}${f}`}buildSelection(e,{isSingleTable:i=!1}={}){let n=e.length,t=e.flatMap(({field:e},t)=>{let a=[];if(r(e,W.Aliased)&&e.isSelectionField)a.push(en.identifier(e.fieldAlias));else if(r(e,W.Aliased)||r(e,W)){let n=r(e,W.Aliased)?e.sql:e;i?a.push(new W(n.queryChunks.map(e=>r(e,_)?en.identifier(this.casing.getColumnCasing(e)):e))):a.push(n),r(e,W.Aliased)&&a.push(en` as ${en.identifier(e.fieldAlias)}`)}else if(r(e,c))i?a.push(en.identifier(this.casing.getColumnCasing(e))):a.push(e);else if(r(e,k)){let i=Object.entries(e._.selectedFields);if(1===i.length){let n=i[0][1],t=r(n,W)?n.decoder:r(n,c)?{mapFromDriverValue:e=>n.mapFromDriverValue(e)}:n.sql.decoder;t&&(e._.sql.decoder=t)}a.push(e)}return t<n-1&&a.push(en`, `),a});return en.join(t)}buildJoins(e){if(!e||0===e.length)return;let i=[];for(let[n,t]of e.entries()){0===n&&i.push(en` `);let a=t.table,o=t.lateral?en` lateral`:void 0,u=t.on?en` on ${t.on}`:void 0;if(r(a,e$)){let e=a[e$.Symbol.Name],n=a[e$.Symbol.Schema],s=a[e$.Symbol.OriginalName],r=e===s?void 0:t.alias;i.push(en`${en.raw(t.joinType)} join${o} ${n?en`${en.identifier(n)}.`:void 0}${en.identifier(s)}${r&&en` ${en.identifier(r)}`}${u}`)}else if(r(a,er)){let e=a[R].name,n=a[R].schema,s=a[R].originalName,r=e===s?void 0:t.alias;i.push(en`${en.raw(t.joinType)} join${o} ${n?en`${en.identifier(n)}.`:void 0}${en.identifier(s)}${r&&en` ${en.identifier(r)}`}${u}`)}else i.push(en`${en.raw(t.joinType)} join${o} ${a}${u}`);n<e.length-1&&i.push(en` `)}return en.join(i)}buildFromTable(e){if(r(e,G)&&e[G.Symbol.IsAlias]){let i=en`${en.identifier(e[G.Symbol.OriginalName])}`;return e[G.Symbol.Schema]&&(i=en`${en.identifier(e[G.Symbol.Schema])}.${i}`),en`${i} ${en.identifier(e[G.Symbol.Name])}`}return e}buildSelectQuery({withList:e,fields:i,fieldsFlat:n,where:t,having:a,table:o,joins:u,orderBy:s,groupBy:l,limit:h,offset:d,lockingClause:g,distinct:m,setOperators:f}){let y,S,b,C=n??iS(i);for(let e of C){let i;if(r(e.field,c)&&e.field.table[p]!==(r(o,k)?o._.alias:r(o,ix)?o[R].name:r(o,W)?void 0:o[p])&&(i=e.field.table,!u?.some(({alias:e})=>e===(i[G.Symbol.IsAlias]?i[p]:i[G.Symbol.BaseName])))){let i=e.field.table[p];throw Error(`Your "${e.path.join("->")}" field references a column "${i}"."${e.field.name}", but the table "${i}" is not part of the query! Did you forget to join it?`)}}let w=!u||0===u.length,x=this.buildWithCTE(e);m&&(y=!0===m?en` distinct`:en` distinct on (${en.join(m.on,en`, `)})`);let T=this.buildSelection(C,{isSingleTable:w}),_=this.buildFromTable(o),L=this.buildJoins(u),E=t?en` where ${t}`:void 0,Y=a?en` having ${a}`:void 0;s&&s.length>0&&(S=en` order by ${en.join(s,en`, `)}`),l&&l.length>0&&(b=en` group by ${en.join(l,en`, `)}`);let D="object"==typeof h||"number"==typeof h&&h>=0?en` limit ${h}`:void 0,v=d?en` offset ${d}`:void 0,Z=en.empty();if(g){let e=en` for ${en.raw(g.strength)}`;g.config.of&&e.append(en` of ${en.join(Array.isArray(g.config.of)?g.config.of:[g.config.of],en`, `)}`),g.config.noWait?e.append(en` nowait`):g.config.skipLocked&&e.append(en` skip locked`),Z.append(e)}let A=en`${x}select${y} ${T} from ${_}${L}${E}${b}${Y}${S}${D}${v}${Z}`;return f.length>0?this.buildSetOperations(A,f):A}buildSetOperations(e,i){let[n,...t]=i;if(!n)throw Error("Cannot pass undefined values to any set operator");return 0===t.length?this.buildSetOperationQuery({leftSelect:e,setOperator:n}):this.buildSetOperations(this.buildSetOperationQuery({leftSelect:e,setOperator:n}),t)}buildSetOperationQuery({leftSelect:e,setOperator:{type:i,isAll:n,rightSelect:t,limit:a,orderBy:o,offset:u}}){let s,l=en`(${e.getSQL()}) `,h=en`(${t.getSQL()})`;if(o&&o.length>0){let e=[];for(let i of o)if(r(i,_))e.push(en.identifier(i.name));else if(r(i,W)){for(let e=0;e<i.queryChunks.length;e++){let n=i.queryChunks[e];r(n,_)&&(i.queryChunks[e]=en.identifier(n.name))}e.push(en`${i}`)}else e.push(en`${i}`);s=en` order by ${en.join(e,en`, `)} `}let d="object"==typeof a||"number"==typeof a&&a>=0?en` limit ${a}`:void 0,c=en.raw(`${i} ${n?"all ":""}`),g=u?en` offset ${u}`:void 0;return en`${l}${c}${h}${s}${d}${g}`}buildInsertQuery({table:e,values:i,onConflict:n,returning:t,withList:a,select:o,overridingSystemValue_:u}){let s=[],l=Object.entries(e[G.Symbol.Columns]).filter(([e,i])=>!i.shouldDisableInsert()),h=l.map(([,e])=>en.identifier(this.casing.getColumnCasing(e)));if(o)r(i,W)?s.push(i):s.push(i.getSQL());else for(let[e,n]of(s.push(en.raw("values ")),i.entries())){let t=[];for(let[e,i]of l){let a=n[e];if(void 0===a||r(a,ei)&&void 0===a.value)if(void 0!==i.defaultFn){let e=i.defaultFn(),n=r(e,W)?e:en.param(e,i);t.push(n)}else if(i.default||void 0===i.onUpdateFn)t.push(en`default`);else{let e=i.onUpdateFn(),n=r(e,W)?e:en.param(e,i);t.push(n)}else t.push(a)}s.push(t),e<i.length-1&&s.push(en`, `)}let d=this.buildWithCTE(a),c=en.join(s),g=t?en` returning ${this.buildSelection(t,{isSingleTable:!0})}`:void 0,p=n?en` on conflict ${n}`:void 0,m=!0===u?en`overriding system value `:void 0;return en`${d}insert into ${e} ${h} ${m}${c}${p}${g}`}buildRefreshMaterializedViewQuery({view:e,concurrently:i,withNoData:n}){let t=i?en` concurrently`:void 0,a=n?en` with no data`:void 0;return en`refresh materialized view${t} ${e}${a}`}prepareTyping(e){if(r(e,e_)||r(e,eE))return"json";if(r(e,eD))return"decimal";if(r(e,eP))return"time";if(r(e,eR)||r(e,eH))return"timestamp";if(r(e,eF)||r(e,eQ))return"date";else if(r(e,eO))return"uuid";else return"none"}sqlToQuery(e,i){return e.toQuery({casing:this.casing,escapeName:this.escapeName,escapeParam:this.escapeParam,escapeString:this.escapeString,prepareTyping:this.prepareTyping,invokeSource:i})}buildRelationalQueryWithoutPK({fullSchema:e,schema:i,tableNamesMap:n,table:t,tableConfig:a,queryConfig:o,tableAlias:u,nestedQueryRelation:s,joinOn:l}){let h,d=[],g,p,m=[],f,y=[];if(!0===o)d=Object.entries(a.columns).map(([e,i])=>({dbKey:i.name,tsKey:e,field:eg(i,u),relationTableTsKey:void 0,isJson:!1,selection:[]}));else{let t=Object.fromEntries(Object.entries(a.columns).map(([e,i])=>[e,eg(i,u)]));if(o.where){let e="function"==typeof o.where?o.where(t,{and:e0,between:ia,eq:eq,exists:ii,gt:e2,gte:e4,ilike:ir,inArray:e5,isNull:e9,isNotNull:ie,like:iu,lt:e6,lte:e8,ne:eV,not:e3,notBetween:io,notExists:it,notLike:is,notIlike:il,notInArray:e7,or:e1,sql:en}):o.where;f=e&&em(e,u)}let s=[],l=[];if(o.columns){let e=!1;for(let[i,n]of Object.entries(o.columns))void 0!==n&&i in a.columns&&(e||!0!==n||(e=!0),l.push(i));l.length>0&&(l=e?l.filter(e=>o.columns?.[e]===!0):Object.keys(a.columns).filter(e=>!l.includes(e)))}else l=Object.keys(a.columns);for(let e of l){let i=a.columns[e];s.push({tsKey:e,value:i})}let h=[];if(o.with&&(h=Object.entries(o.with).filter(e=>!!e[1]).map(([e,i])=>({tsKey:e,queryConfig:i,relation:a.relations[e]}))),o.extras)for(let[e,i]of Object.entries("function"==typeof o.extras?o.extras(t,{sql:en}):o.extras))s.push({tsKey:e,value:ep(i,u)});for(let{tsKey:e,value:i}of s)d.push({dbKey:r(i,W.Aliased)?i.fieldAlias:a.columns[e].name,tsKey:e,field:r(i,c)?eg(i,u):i,relationTableTsKey:void 0,isJson:!1,selection:[]});let S="function"==typeof o.orderBy?o.orderBy(t,{sql:en,asc:ih,desc:id}):o.orderBy??[];for(let{tsKey:t,queryConfig:a,relation:s}of(Array.isArray(S)||(S=[S]),m=S.map(e=>r(e,c)?eg(e,u):em(e,u)),g=o.limit,p=o.offset,h)){let o=function(e,i,n){if(r(n,ip)&&n.config)return{fields:n.config.fields,references:n.config.references};let t=i[K(n.referencedTable)];if(!t)throw Error(`Table "${n.referencedTable[G.Symbol.Name]}" not found in schema`);let a=e[t];if(!a)throw Error(`Table "${t}" not found in schema`);let o=n.sourceTable,u=i[K(o)];if(!u)throw Error(`Table "${o[G.Symbol.Name]}" not found in schema`);let s=[];for(let e of Object.values(a.relations))(n.relationName&&n!==e&&e.relationName===n.relationName||!n.relationName&&e.referencedTable===n.sourceTable)&&s.push(e);if(s.length>1)throw n.relationName?Error(`There are multiple relations with name "${n.relationName}" in table "${t}"`):Error(`There are multiple relations between "${t}" and "${n.sourceTable[G.Symbol.Name]}". Please specify relation name`);if(s[0]&&r(s[0],ip)&&s[0].config)return{fields:s[0].config.references,references:s[0].config.fields};throw Error(`There is not enough information to infer relation "${u}.${n.fieldName}"`)}(i,n,s),l=n[K(s.referencedTable)],h=`${u}_${t}`,c=e0(...o.fields.map((e,i)=>eq(eg(o.references[i],h),eg(e,u)))),g=this.buildRelationalQueryWithoutPK({fullSchema:e,schema:i,tableNamesMap:n,table:e[l],tableConfig:i[l],queryConfig:r(s,ip)?!0===a?{limit:1}:{...a,limit:1}:a,tableAlias:h,joinOn:c,nestedQueryRelation:s}),p=en`${en.identifier(h)}.${en.identifier("data")}`.as(t);y.push({on:en`true`,table:new k(g.sql,{},h),alias:h,joinType:"left",lateral:!0}),d.push({dbKey:t,tsKey:t,field:p,relationTableTsKey:l,isJson:!0,selection:g.selection})}}if(0===d.length)throw new eC({message:`No fields selected for table "${a.tsName}" ("${u}")`});if(f=e0(l,f),s){let e=en`json_build_array(${en.join(d.map(({field:e,tsKey:i,isJson:n})=>n?en`${en.identifier(`${u}_${i}`)}.${en.identifier("data")}`:r(e,W.Aliased)?e.sql:e),en`, `)})`;r(s,im)&&(e=en`coalesce(json_agg(${e}${m.length>0?en` order by ${en.join(m,en`, `)}`:void 0}), '[]'::json)`);let i=[{dbKey:"data",tsKey:"data",field:e.as("data"),isJson:!0,relationTableTsKey:a.tsName,selection:d}];void 0!==g||void 0!==p||m.length>0?(h=this.buildSelectQuery({table:ec(t,u),fields:{},fieldsFlat:[{path:[],field:en.raw("*")}],where:f,limit:g,offset:p,orderBy:m,setOperators:[]}),f=void 0,g=void 0,p=void 0,m=[]):h=ec(t,u),h=this.buildSelectQuery({table:r(h,e$)?h:new k(h,{},u),fields:{},fieldsFlat:i.map(({field:e})=>({path:[],field:r(e,c)?eg(e,u):e})),joins:y,where:f,limit:g,offset:p,orderBy:m,setOperators:[]})}else h=this.buildSelectQuery({table:ec(t,u),fields:{},fieldsFlat:d.map(({field:e})=>({path:[],field:r(e,c)?eg(e,u):e})),joins:y,where:f,limit:g,offset:p,orderBy:m,setOperators:[]});return{tableTsKey:a.tsName,sql:h,selection:d}}}class i_{static [s]="SelectionProxyHandler";config;constructor(e){this.config={...e}}get(e,i){if("_"===i)return{...e._,selectedFields:new Proxy(e._.selectedFields,this)};if(i===R)return{...e[R],selectedFields:new Proxy(e[R].selectedFields,this)};if("symbol"==typeof i)return e[i];let n=(r(e,k)?e._.selectedFields:r(e,er)?e[R].selectedFields:e)[i];if(r(n,W.Aliased)){if("sql"===this.config.sqlAliasedBehavior&&!n.isSelectionField)return n.sql;let e=n.clone();return e.isSelectionField=!0,e}if(r(n,W)){if("sql"===this.config.sqlBehavior)return n;throw Error(`You tried to reference "${i}" field from a subquery, which is a raw SQL field, but it doesn't have an alias declared. Please add an alias to the field using ".as('alias')" method.`)}return r(n,c)?this.config.alias?new Proxy(n,new el(new Proxy(n.table,new eh(this.config.alias,this.config.replaceOriginalName??!1)))):n:"object"!=typeof n||null===n?n:new Proxy(n,new i_(this.config))}}class iL{static [s]="TypedQueryBuilder";getSelectedFields(){return this._.selectedFields}}class iE{static [s]="QueryPromise";[Symbol.toStringTag]="QueryPromise";catch(e){return this.then(void 0,e)}finally(e){return this.then(i=>(e?.(),i),i=>{throw e?.(),i})}then(e,i){return this.execute().then(e,i)}}function iY(e){return r(e,e$)?[e[B]?`${e[B]}.${e[G.Symbol.BaseName]}`:e[G.Symbol.BaseName]]:r(e,k)?e._.usedTables??[]:r(e,W)?e.usedTables??[]:[]}class iD{static [s]="PgSelectBuilder";fields;session;dialect;withList=[];distinct;constructor(e){this.fields=e.fields,this.session=e.session,this.dialect=e.dialect,e.withList&&(this.withList=e.withList),this.distinct=e.distinct}authToken;setToken(e){return this.authToken=e,this}from(e){let i,n=!!this.fields;return i=this.fields?this.fields:r(e,k)?Object.fromEntries(Object.keys(e._.selectedFields).map(i=>[i,e[i]])):r(e,ix)?e[R].selectedFields:r(e,W)?{}:e[G.Symbol.Columns],new iZ({table:e,fields:i,isPartialSelect:n,session:this.session,dialect:this.dialect,withList:this.withList,distinct:this.distinct}).setToken(this.authToken)}}class iv extends iL{static [s]="PgSelectQueryBuilder";_;config;joinsNotNullableMap;tableName;isPartialSelect;session;dialect;cacheConfig=void 0;usedTables=new Set;constructor({table:e,fields:i,isPartialSelect:n,session:t,dialect:a,withList:o,distinct:u}){for(const s of(super(),this.config={withList:o,table:e,fields:{...i},distinct:u,setOperators:[]},this.isPartialSelect=n,this.session=t,this.dialect=a,this._={selectedFields:i,config:this.config},this.tableName=iw(e),this.joinsNotNullableMap="string"==typeof this.tableName?{[this.tableName]:!0}:{},iY(e)))this.usedTables.add(s)}getUsedTables(){return[...this.usedTables]}createJoin(e,i){return(n,t)=>{let a=this.tableName,o=iw(n);for(let e of iY(n))this.usedTables.add(e);if("string"==typeof o&&this.config.joins?.some(e=>e.alias===o))throw Error(`Alias "${o}" is already used in this query`);if(!this.isPartialSelect&&(1===Object.keys(this.joinsNotNullableMap).length&&"string"==typeof a&&(this.config.fields={[a]:this.config.fields}),"string"==typeof o&&!r(n,W))){let e=r(n,k)?n._.selectedFields:r(n,er)?n[R].selectedFields:n[G.Symbol.Columns];this.config.fields[o]=e}if("function"==typeof t&&(t=t(new Proxy(this.config.fields,new i_({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))),this.config.joins||(this.config.joins=[]),this.config.joins.push({on:t,table:n,joinType:e,alias:o,lateral:i}),"string"==typeof o)switch(e){case"left":this.joinsNotNullableMap[o]=!1;break;case"right":this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([e])=>[e,!1])),this.joinsNotNullableMap[o]=!0;break;case"cross":case"inner":this.joinsNotNullableMap[o]=!0;break;case"full":this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([e])=>[e,!1])),this.joinsNotNullableMap[o]=!1}return this}}leftJoin=this.createJoin("left",!1);leftJoinLateral=this.createJoin("left",!0);rightJoin=this.createJoin("right",!1);innerJoin=this.createJoin("inner",!1);innerJoinLateral=this.createJoin("inner",!0);fullJoin=this.createJoin("full",!1);crossJoin=this.createJoin("cross",!1);crossJoinLateral=this.createJoin("cross",!0);createSetOperator(e,i){return n=>{let t="function"==typeof n?n(iN()):n;if(!ib(this.getSelectedFields(),t.getSelectedFields()))throw Error("Set operator error (union / intersect / except): selected fields are not the same or are in a different order");return this.config.setOperators.push({type:e,isAll:i,rightSelect:t}),this}}union=this.createSetOperator("union",!1);unionAll=this.createSetOperator("union",!0);intersect=this.createSetOperator("intersect",!1);intersectAll=this.createSetOperator("intersect",!0);except=this.createSetOperator("except",!1);exceptAll=this.createSetOperator("except",!0);addSetOperators(e){return this.config.setOperators.push(...e),this}where(e){return"function"==typeof e&&(e=e(new Proxy(this.config.fields,new i_({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))),this.config.where=e,this}having(e){return"function"==typeof e&&(e=e(new Proxy(this.config.fields,new i_({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))),this.config.having=e,this}groupBy(...e){if("function"==typeof e[0]){let i=e[0](new Proxy(this.config.fields,new i_({sqlAliasedBehavior:"alias",sqlBehavior:"sql"})));this.config.groupBy=Array.isArray(i)?i:[i]}else this.config.groupBy=e;return this}orderBy(...e){if("function"==typeof e[0]){let i=e[0](new Proxy(this.config.fields,new i_({sqlAliasedBehavior:"alias",sqlBehavior:"sql"}))),n=Array.isArray(i)?i:[i];this.config.setOperators.length>0?this.config.setOperators.at(-1).orderBy=n:this.config.orderBy=n}else this.config.setOperators.length>0?this.config.setOperators.at(-1).orderBy=e:this.config.orderBy=e;return this}limit(e){return this.config.setOperators.length>0?this.config.setOperators.at(-1).limit=e:this.config.limit=e,this}offset(e){return this.config.setOperators.length>0?this.config.setOperators.at(-1).offset=e:this.config.offset=e,this}for(e,i={}){return this.config.lockingClause={strength:e,config:i},this}getSQL(){return this.dialect.buildSelectQuery(this.config)}toSQL(){let{typings:e,...i}=this.dialect.sqlToQuery(this.getSQL());return i}as(e){let i=[];if(i.push(...iY(this.config.table)),this.config.joins)for(let e of this.config.joins)i.push(...iY(e.table));return new Proxy(new k(this.getSQL(),this.config.fields,e,!1,[...new Set(i)]),new i_({alias:e,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}getSelectedFields(){return new Proxy(this.config.fields,new i_({alias:this.tableName,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}$dynamic(){return this}$withCache(e){return this.cacheConfig=void 0===e?{config:{},enable:!0,autoInvalidate:!0}:!1===e?{enable:!1}:{enable:!0,autoInvalidate:!0,...e},this}}class iZ extends iv{static [s]="PgSelect";_prepare(e){let{session:i,config:n,dialect:t,joinsNotNullableMap:a,authToken:o,cacheConfig:u,usedTables:s}=this;if(!i)throw Error("Cannot execute a query on a query builder. Please use a database instance instead.");let{fields:r}=n;return M("drizzle.prepareQuery",()=>{let n=iS(r),l=i.prepareQuery(t.sqlToQuery(this.getSQL()),n,e,!0,void 0,{type:"select",tables:[...s]},u);return l.joinsNotNullableMap=a,l.setToken(o)})}prepare(e){return this._prepare(e)}authToken;setToken(e){return this.authToken=e,this}execute=e=>M("drizzle.operation",()=>this._prepare().execute(e,this.authToken))}for(let e of[iE])for(let i of Object.getOwnPropertyNames(e.prototype))"constructor"!==i&&Object.defineProperty(iZ.prototype,i,Object.getOwnPropertyDescriptor(e.prototype,i)||Object.create(null));function iA(e,i){return(n,t,...a)=>{let o=[t,...a].map(n=>({type:e,isAll:i,rightSelect:n}));for(let e of o)if(!ib(n.getSelectedFields(),e.rightSelect.getSelectedFields()))throw Error("Set operator error (union / intersect / except): selected fields are not the same or are in a different order");return n.addSetOperators(o)}}let iN=()=>({union:iJ,unionAll:ik,intersect:iP,intersectAll:iM,except:iR,exceptAll:iB}),iJ=iA("union",!1),ik=iA("union",!0),iP=iA("intersect",!1),iM=iA("intersect",!0),iR=iA("except",!1),iB=iA("except",!0);class iH{static [s]="PgQueryBuilder";dialect;dialectConfig;constructor(e){this.dialect=r(e,iT)?e:void 0,this.dialectConfig=r(e,iT)?void 0:e}$with=(e,i)=>{let n=this;return{as:t=>("function"==typeof t&&(t=t(n)),new Proxy(new P(t.getSQL(),i??("getSelectedFields"in t?t.getSelectedFields()??{}:{}),e,!0),new i_({alias:e,sqlAliasedBehavior:"alias",sqlBehavior:"error"})))}};with(...e){let i=this;return{select:function(n){return new iD({fields:n??void 0,session:void 0,dialect:i.getDialect(),withList:e})},selectDistinct:function(e){return new iD({fields:e??void 0,session:void 0,dialect:i.getDialect(),distinct:!0})},selectDistinctOn:function(e,n){return new iD({fields:n??void 0,session:void 0,dialect:i.getDialect(),distinct:{on:e}})}}}select(e){return new iD({fields:e??void 0,session:void 0,dialect:this.getDialect()})}selectDistinct(e){return new iD({fields:e??void 0,session:void 0,dialect:this.getDialect(),distinct:!0})}selectDistinctOn(e,i){return new iD({fields:i??void 0,session:void 0,dialect:this.getDialect(),distinct:{on:e}})}getDialect(){return this.dialect||(this.dialect=new iT(this.dialectConfig)),this.dialect}}class iX{constructor(e,i,n,t){this.table=e,this.session=i,this.dialect=n,this.withList=t}static [s]="PgUpdateBuilder";authToken;setToken(e){return this.authToken=e,this}set(e){return new iF(this.table,iC(this.table,e),this.session,this.dialect,this.withList).setToken(this.authToken)}}class iF extends iE{constructor(e,i,n,t,a){super(),this.session=n,this.dialect=t,this.config={set:i,table:e,withList:a,joins:[]},this.tableName=iw(e),this.joinsNotNullableMap="string"==typeof this.tableName?{[this.tableName]:!0}:{}}static [s]="PgUpdate";config;tableName;joinsNotNullableMap;cacheConfig;from(e){let i=iw(e);return"string"==typeof i&&(this.joinsNotNullableMap[i]=!0),this.config.from=e,this}getTableLikeFields(e){return r(e,e$)?e[G.Symbol.Columns]:r(e,k)?e._.selectedFields:e[R].selectedFields}createJoin(e){return(i,n)=>{let t=iw(i);if("string"==typeof t&&this.config.joins.some(e=>e.alias===t))throw Error(`Alias "${t}" is already used in this query`);if("function"==typeof n){let e=this.config.from&&!r(this.config.from,W)?this.getTableLikeFields(this.config.from):void 0;n=n(new Proxy(this.config.table[G.Symbol.Columns],new i_({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})),e&&new Proxy(e,new i_({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))}if(this.config.joins.push({on:n,table:i,joinType:e,alias:t}),"string"==typeof t)switch(e){case"left":this.joinsNotNullableMap[t]=!1;break;case"right":this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([e])=>[e,!1])),this.joinsNotNullableMap[t]=!0;break;case"inner":this.joinsNotNullableMap[t]=!0;break;case"full":this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([e])=>[e,!1])),this.joinsNotNullableMap[t]=!1}return this}}leftJoin=this.createJoin("left");rightJoin=this.createJoin("right");innerJoin=this.createJoin("inner");fullJoin=this.createJoin("full");where(e){return this.config.where=e,this}returning(e){if(!e&&(e=Object.assign({},this.config.table[G.Symbol.Columns]),this.config.from)){let i=iw(this.config.from);if("string"==typeof i&&this.config.from&&!r(this.config.from,W)){let n=this.getTableLikeFields(this.config.from);e[i]=n}for(let i of this.config.joins){let n=iw(i.table);if("string"==typeof n&&!r(i.table,W)){let t=this.getTableLikeFields(i.table);e[n]=t}}}return this.config.returningFields=e,this.config.returning=iS(e),this}getSQL(){return this.dialect.buildUpdateQuery(this.config)}toSQL(){let{typings:e,...i}=this.dialect.sqlToQuery(this.getSQL());return i}_prepare(e){let i=this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()),this.config.returning,e,!0,void 0,{type:"insert",tables:iY(this.config.table)},this.cacheConfig);return i.joinsNotNullableMap=this.joinsNotNullableMap,i}prepare(e){return this._prepare(e)}authToken;setToken(e){return this.authToken=e,this}execute=e=>this._prepare().execute(e,this.authToken);getSelectedFields(){return this.config.returningFields?new Proxy(this.config.returningFields,new i_({alias:this.config.table[p],sqlAliasedBehavior:"alias",sqlBehavior:"error"})):void 0}$dynamic(){return this}}class iI{constructor(e,i,n,t,a){this.table=e,this.session=i,this.dialect=n,this.withList=t,this.overridingSystemValue_=a}static [s]="PgInsertBuilder";authToken;setToken(e){return this.authToken=e,this}overridingSystemValue(){return this.overridingSystemValue_=!0,this}values(e){if(0===(e=Array.isArray(e)?e:[e]).length)throw Error("values() must be called with at least one value");let i=e.map(e=>{let i={},n=this.table[G.Symbol.Columns];for(let t of Object.keys(e)){let a=e[t];i[t]=r(a,W)?a:new ei(a,n[t])}return i});return new iQ(this.table,i,this.session,this.dialect,this.withList,!1,this.overridingSystemValue_).setToken(this.authToken)}select(e){let i="function"==typeof e?e(new iH):e;if(!r(i,W)&&!ib(this.table[H],i._.selectedFields))throw Error("Insert select error: selected fields are not the same or are in a different order compared to the table definition");return new iQ(this.table,i,this.session,this.dialect,this.withList,!0)}}class iQ extends iE{constructor(e,i,n,t,a,o,u){super(),this.session=n,this.dialect=t,this.config={table:e,values:i,withList:a,select:o,overridingSystemValue_:u}}static [s]="PgInsert";config;cacheConfig;returning(e=this.config.table[G.Symbol.Columns]){return this.config.returningFields=e,this.config.returning=iS(e),this}onConflictDoNothing(e={}){if(void 0===e.target)this.config.onConflict=en`do nothing`;else{let i="";i=Array.isArray(e.target)?e.target.map(e=>this.dialect.escapeName(this.dialect.casing.getColumnCasing(e))).join(","):this.dialect.escapeName(this.dialect.casing.getColumnCasing(e.target));let n=e.where?en` where ${e.where}`:void 0;this.config.onConflict=en`(${en.raw(i)})${n} do nothing`}return this}onConflictDoUpdate(e){if(e.where&&(e.targetWhere||e.setWhere))throw Error('You cannot use both "where" and "targetWhere"/"setWhere" at the same time - "where" is deprecated, use "targetWhere" or "setWhere" instead.');let i=e.where?en` where ${e.where}`:void 0,n=e.targetWhere?en` where ${e.targetWhere}`:void 0,t=e.setWhere?en` where ${e.setWhere}`:void 0,a=this.dialect.buildUpdateSet(this.config.table,iC(this.config.table,e.set)),o="";return o=Array.isArray(e.target)?e.target.map(e=>this.dialect.escapeName(this.dialect.casing.getColumnCasing(e))).join(","):this.dialect.escapeName(this.dialect.casing.getColumnCasing(e.target)),this.config.onConflict=en`(${en.raw(o)})${n} do update set ${a}${i}${t}`,this}getSQL(){return this.dialect.buildInsertQuery(this.config)}toSQL(){let{typings:e,...i}=this.dialect.sqlToQuery(this.getSQL());return i}_prepare(e){return M("drizzle.prepareQuery",()=>this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()),this.config.returning,e,!0,void 0,{type:"insert",tables:iY(this.config.table)},this.cacheConfig))}prepare(e){return this._prepare(e)}authToken;setToken(e){return this.authToken=e,this}execute=e=>M("drizzle.operation",()=>this._prepare().execute(e,this.authToken));getSelectedFields(){return this.config.returningFields?new Proxy(this.config.returningFields,new i_({alias:this.config.table[p],sqlAliasedBehavior:"alias",sqlBehavior:"error"})):void 0}$dynamic(){return this}}class ij extends iE{constructor(e,i,n,t){super(),this.session=i,this.dialect=n,this.config={table:e,withList:t}}static [s]="PgDelete";config;cacheConfig;where(e){return this.config.where=e,this}returning(e=this.config.table[G.Symbol.Columns]){return this.config.returningFields=e,this.config.returning=iS(e),this}getSQL(){return this.dialect.buildDeleteQuery(this.config)}toSQL(){let{typings:e,...i}=this.dialect.sqlToQuery(this.getSQL());return i}_prepare(e){return M("drizzle.prepareQuery",()=>this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()),this.config.returning,e,!0,void 0,{type:"delete",tables:iY(this.config.table)},this.cacheConfig))}prepare(e){return this._prepare(e)}authToken;setToken(e){return this.authToken=e,this}execute=e=>M("drizzle.operation",()=>this._prepare().execute(e,this.authToken));getSelectedFields(){return this.config.returningFields?new Proxy(this.config.returningFields,new i_({alias:this.config.table[p],sqlAliasedBehavior:"alias",sqlBehavior:"error"})):void 0}$dynamic(){return this}}class iO extends W{constructor(e){super(iO.buildEmbeddedCount(e.source,e.filters).queryChunks),this.params=e,this.mapWith(Number),this.session=e.session,this.sql=iO.buildCount(e.source,e.filters)}sql;token;static [s]="PgCountBuilder";[Symbol.toStringTag]="PgCountBuilder";session;static buildEmbeddedCount(e,i){return en`(select count(*) from ${e}${en.raw(" where ").if(i)}${i})`}static buildCount(e,i){return en`select count(*) as count from ${e}${en.raw(" where ").if(i)}${i};`}setToken(e){return this.token=e,this}then(e,i){return Promise.resolve(this.session.count(this.sql,this.token)).then(e,i)}catch(e){return this.then(void 0,e)}finally(e){return this.then(i=>(e?.(),i),i=>{throw e?.(),i})}}class iG{constructor(e,i,n,t,a,o,u){this.fullSchema=e,this.schema=i,this.tableNamesMap=n,this.table=t,this.tableConfig=a,this.dialect=o,this.session=u}static [s]="PgRelationalQueryBuilder";findMany(e){return new iK(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,e||{},"many")}findFirst(e){return new iK(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,e?{...e,limit:1}:{limit:1},"first")}}class iK extends iE{constructor(e,i,n,t,a,o,u,s,r){super(),this.fullSchema=e,this.schema=i,this.tableNamesMap=n,this.table=t,this.tableConfig=a,this.dialect=o,this.session=u,this.config=s,this.mode=r}static [s]="PgRelationalQuery";_prepare(e){return M("drizzle.prepareQuery",()=>{let{query:i,builtQuery:n}=this._toSQL();return this.session.prepareQuery(n,void 0,e,!0,(e,n)=>{let t=e.map(e=>(function e(i,n,t,a,o=e=>e){let u={};for(let[s,l]of a.entries())if(l.isJson){let a=n.relations[l.tsKey],h=t[s],d="string"==typeof h?JSON.parse(h):h;u[l.tsKey]=r(a,ip)?d&&e(i,i[l.relationTableTsKey],d,l.selection,o):d.map(n=>e(i,i[l.relationTableTsKey],n,l.selection,o))}else{let e,i=o(t[s]),n=l.field;e=r(n,c)?n:r(n,W)?n.decoder:n.sql.decoder,u[l.tsKey]=null===i?null:e.mapFromDriverValue(i)}return u})(this.schema,this.tableConfig,e,i.selection,n));return"first"===this.mode?t[0]:t})})}prepare(e){return this._prepare(e)}_getQuery(){return this.dialect.buildRelationalQueryWithoutPK({fullSchema:this.fullSchema,schema:this.schema,tableNamesMap:this.tableNamesMap,table:this.table,tableConfig:this.tableConfig,queryConfig:this.config,tableAlias:this.tableConfig.tsName})}getSQL(){return this._getQuery().sql}_toSQL(){let e=this._getQuery(),i=this.dialect.sqlToQuery(e.sql);return{query:e,builtQuery:i}}toSQL(){return this._toSQL().builtQuery}authToken;setToken(e){return this.authToken=e,this}execute(){return M("drizzle.operation",()=>this._prepare().execute(void 0,this.authToken))}}class i$ extends iE{constructor(e,i,n,t){super(),this.execute=e,this.sql=i,this.query=n,this.mapBatchResult=t}static [s]="PgRaw";getSQL(){return this.sql}getQuery(){return this.query}mapResult(e,i){return i?this.mapBatchResult(e):e}_prepare(){return this}isResponseInArrayMode(){return!1}}class iU extends iE{constructor(e,i,n){super(),this.session=i,this.dialect=n,this.config={view:e}}static [s]="PgRefreshMaterializedView";config;concurrently(){if(void 0!==this.config.withNoData)throw Error("Cannot use concurrently and withNoData together");return this.config.concurrently=!0,this}withNoData(){if(void 0!==this.config.concurrently)throw Error("Cannot use concurrently and withNoData together");return this.config.withNoData=!0,this}getSQL(){return this.dialect.buildRefreshMaterializedViewQuery(this.config)}toSQL(){let{typings:e,...i}=this.dialect.sqlToQuery(this.getSQL());return i}_prepare(e){return M("drizzle.prepareQuery",()=>this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()),void 0,e,!0))}prepare(e){return this._prepare(e)}authToken;setToken(e){return this.authToken=e,this}execute=e=>M("drizzle.operation",()=>this._prepare().execute(e,this.authToken))}class iz{constructor(e,i,n){if(this.dialect=e,this.session=i,this._=n?{schema:n.schema,fullSchema:n.fullSchema,tableNamesMap:n.tableNamesMap,session:i}:{schema:void 0,fullSchema:{},tableNamesMap:{},session:i},this.query={},this._.schema)for(const[t,a]of Object.entries(this._.schema))this.query[t]=new iG(n.fullSchema,this._.schema,this._.tableNamesMap,n.fullSchema[t],a,e,i);this.$cache={invalidate:async e=>{}}}static [s]="PgDatabase";query;$with=(e,i)=>{let n=this;return{as:t=>("function"==typeof t&&(t=t(new iH(n.dialect))),new Proxy(new P(t.getSQL(),i??("getSelectedFields"in t?t.getSelectedFields()??{}:{}),e,!0),new i_({alias:e,sqlAliasedBehavior:"alias",sqlBehavior:"error"})))}};$count(e,i){return new iO({source:e,filters:i,session:this.session})}$cache;with(...e){let i=this;return{select:function(n){return new iD({fields:n??void 0,session:i.session,dialect:i.dialect,withList:e})},selectDistinct:function(n){return new iD({fields:n??void 0,session:i.session,dialect:i.dialect,withList:e,distinct:!0})},selectDistinctOn:function(n,t){return new iD({fields:t??void 0,session:i.session,dialect:i.dialect,withList:e,distinct:{on:n}})},update:function(n){return new iX(n,i.session,i.dialect,e)},insert:function(n){return new iI(n,i.session,i.dialect,e)},delete:function(n){return new ij(n,i.session,i.dialect,e)}}}select(e){return new iD({fields:e??void 0,session:this.session,dialect:this.dialect})}selectDistinct(e){return new iD({fields:e??void 0,session:this.session,dialect:this.dialect,distinct:!0})}selectDistinctOn(e,i){return new iD({fields:i??void 0,session:this.session,dialect:this.dialect,distinct:{on:e}})}update(e){return new iX(e,this.session,this.dialect)}insert(e){return new iI(e,this.session,this.dialect)}delete(e){return new ij(e,this.session,this.dialect)}refreshMaterializedView(e){return new iU(e,this.session,this.dialect)}authToken;execute(e){let i="string"==typeof e?en.raw(e):e.getSQL(),n=this.dialect.sqlToQuery(i),t=this.session.prepareQuery(n,void 0,void 0,!1);return new i$(()=>t.execute(void 0,this.authToken),i,n,e=>t.mapResult(e,!0))}transaction(e,i){return this.session.transaction(e,i)}}class iW{static [s]="Cache"}class iq extends iW{strategy(){return"all"}static [s]="NoopCache";async get(e){}async put(e,i,n,t){}async onMutate(e){}}async function iV(e,i){let n=`${e}-${JSON.stringify(i)}`,t=new TextEncoder().encode(n);return[...new Uint8Array(await crypto.subtle.digest("SHA-256",t))].map(e=>e.toString(16).padStart(2,"0")).join("")}class i0{constructor(e,i,n,t){this.query=e,this.cache=i,this.queryMetadata=n,this.cacheConfig=t,i&&"all"===i.strategy()&&void 0===t&&(this.cacheConfig={enable:!0,autoInvalidate:!0}),this.cacheConfig?.enable||(this.cacheConfig=void 0)}authToken;getQuery(){return this.query}mapResult(e,i){return e}setToken(e){return this.authToken=e,this}static [s]="PgPreparedQuery";joinsNotNullableMap;async queryWithCache(e,i,n){if(void 0===this.cache||r(this.cache,iq)||void 0===this.queryMetadata||this.cacheConfig&&!this.cacheConfig.enable)try{return await n()}catch(n){throw new ew(e,i,n)}if(("insert"===this.queryMetadata.type||"update"===this.queryMetadata.type||"delete"===this.queryMetadata.type)&&this.queryMetadata.tables.length>0)try{let[e]=await Promise.all([n(),this.cache.onMutate({tables:this.queryMetadata.tables})]);return e}catch(n){throw new ew(e,i,n)}if(!this.cacheConfig)try{return await n()}catch(n){throw new ew(e,i,n)}if("select"===this.queryMetadata.type){let t=await this.cache.get(this.cacheConfig.tag??await iV(e,i),this.queryMetadata.tables,void 0!==this.cacheConfig.tag,this.cacheConfig.autoInvalidate);if(void 0===t){let t;try{t=await n()}catch(n){throw new ew(e,i,n)}return await this.cache.put(this.cacheConfig.tag??await iV(e,i),t,this.cacheConfig.autoInvalidate?this.queryMetadata.tables:[],void 0!==this.cacheConfig.tag,this.cacheConfig.config),t}return t}try{return await n()}catch(n){throw new ew(e,i,n)}}}class i1{constructor(e){this.dialect=e}static [s]="PgSession";execute(e,i){return M("drizzle.operation",()=>M("drizzle.prepareQuery",()=>this.prepareQuery(this.dialect.sqlToQuery(e),void 0,void 0,!1)).setToken(i).execute(void 0,i))}all(e){return this.prepareQuery(this.dialect.sqlToQuery(e),void 0,void 0,!1).all()}async count(e,i){return Number((await this.execute(e,i))[0].count)}}class i3 extends iz{constructor(e,i,n,t=0){super(e,i,n),this.schema=n,this.nestedIndex=t}static [s]="PgTransaction";rollback(){throw new ex}getTransactionConfigSQL(e){let i=[];return e.isolationLevel&&i.push(`isolation level ${e.isolationLevel}`),e.accessMode&&i.push(e.accessMode),"boolean"==typeof e.deferrable&&i.push(e.deferrable?"deferrable":"not deferrable"),en.raw(i.join(" "))}setTransaction(e){return this.session.execute(en`set transaction ${this.getTransactionConfigSQL(e)}`)}}let{Pool:i2,types:i4}=u;class i6 extends i0{constructor(e,i,n,t,a,o,u,s,r,l,h){super({sql:i,params:n},a,o,u),this.client=e,this.queryString=i,this.params=n,this.logger=t,this.fields=s,this._isResponseInArrayMode=l,this.customResultMapper=h,this.rawQueryConfig={name:r,text:i,types:{getTypeParser:(e,i)=>e===i4.builtins.TIMESTAMPTZ||e===i4.builtins.TIMESTAMP||e===i4.builtins.DATE||e===i4.builtins.INTERVAL||1231===e||1115===e||1185===e||1187===e||1182===e?e=>e:i4.getTypeParser(e,i)}},this.queryConfig={name:r,text:i,rowMode:"array",types:{getTypeParser:(e,i)=>e===i4.builtins.TIMESTAMPTZ||e===i4.builtins.TIMESTAMP||e===i4.builtins.DATE||e===i4.builtins.INTERVAL||1231===e||1115===e||1185===e||1187===e||1182===e?e=>e:i4.getTypeParser(e,i)}}}static [s]="NodePgPreparedQuery";rawQueryConfig;queryConfig;async execute(e={}){return M("drizzle.execute",async()=>{let i=eu(this.params,e);this.logger.logQuery(this.rawQueryConfig.text,i);let{fields:n,rawQueryConfig:t,client:a,queryConfig:o,joinsNotNullableMap:u,customResultMapper:s}=this;if(!n&&!s)return M("drizzle.driver.execute",async e=>(e?.setAttributes({"drizzle.query.name":t.name,"drizzle.query.text":t.text,"drizzle.query.params":JSON.stringify(i)}),this.queryWithCache(t.text,i,async()=>await a.query(t,i))));let l=await M("drizzle.driver.execute",e=>(e?.setAttributes({"drizzle.query.name":o.name,"drizzle.query.text":o.text,"drizzle.query.params":JSON.stringify(i)}),this.queryWithCache(o.text,i,async()=>await a.query(o,i))));return M("drizzle.mapResponse",()=>s?s(l.rows):l.rows.map(e=>(function(e,i,n){let t={},a=e.reduce((e,{path:a,field:o},u)=>{let s;s=r(o,c)?o:r(o,W)?o.decoder:r(o,k)?o._.sql.decoder:o.sql.decoder;let l=e;for(let[e,h]of a.entries())if(e<a.length-1)h in l||(l[h]={}),l=l[h];else{let e=i[u],d=l[h]=null===e?null:s.mapFromDriverValue(e);if(n&&r(o,c)&&2===a.length){let e=a[0];e in t?"string"==typeof t[e]&&t[e]!==o.table[p]&&(t[e]=!1):t[e]=null===d&&o.table[p]}}return e},{});if(n&&Object.keys(t).length>0)for(let[e,i]of Object.entries(t))"string"!=typeof i||n[i]||(a[e]=null);return a})(n,e,u)))})}all(e={}){return M("drizzle.execute",()=>{let i=eu(this.params,e);return this.logger.logQuery(this.rawQueryConfig.text,i),M("drizzle.driver.execute",e=>(e?.setAttributes({"drizzle.query.name":this.rawQueryConfig.name,"drizzle.query.text":this.rawQueryConfig.text,"drizzle.query.params":JSON.stringify(i)}),this.queryWithCache(this.rawQueryConfig.text,i,async()=>this.client.query(this.rawQueryConfig,i)).then(e=>e.rows)))})}isResponseInArrayMode(){return this._isResponseInArrayMode}}class i8 extends i1{constructor(e,i,n,t={}){super(i),this.client=e,this.schema=n,this.options=t,this.logger=t.logger??new d,this.cache=t.cache??new iq}static [s]="NodePgSession";logger;cache;prepareQuery(e,i,n,t,a,o,u){return new i6(this.client,e.sql,e.params,this.logger,this.cache,o,u,i,n,t,a)}async transaction(e,i){let n=this.client instanceof i2||Object.getPrototypeOf(this.client).constructor.name.includes("Pool"),t=n?new i8(await this.client.connect(),this.dialect,this.schema,this.options):this,a=new i5(this.dialect,t,this.schema);await a.execute(en`begin${i?en` ${a.getTransactionConfigSQL(i)}`:void 0}`);try{let i=await e(a);return await a.execute(en`commit`),i}catch(e){throw await a.execute(en`rollback`),e}finally{n&&t.client.release()}}async count(e){return Number((await this.execute(e)).rows[0].count)}}class i5 extends i3{static [s]="NodePgTransaction";async transaction(e){let i=`sp${this.nestedIndex+1}`,n=new i5(this.dialect,this.session,this.schema,this.nestedIndex+1);await n.execute(en.raw(`savepoint ${i}`));try{let t=await e(n);return await n.execute(en.raw(`release savepoint ${i}`)),t}catch(e){throw await n.execute(en.raw(`rollback to savepoint ${i}`)),e}}}class i7{constructor(e,i,n={}){this.client=e,this.dialect=i,this.options=n}static [s]="NodePgDriver";createSession(e){return new i8(this.client,this.dialect,e,{logger:this.options.logger,cache:this.options.cache})}}class i9 extends iz{static [s]="NodePgDatabase"}function ne(e,i={}){let n,t,a=new iT({casing:i.casing});if(!0===i.logger?n=new h:!1!==i.logger&&(n=i.logger),i.schema){let e=function(e,i){1===Object.keys(e).length&&"default"in e&&!r(e.default,G)&&(e=e.default);let n={},t={},a={};for(let[o,u]of Object.entries(e))if(r(u,G)){let e=K(u),i=t[e];for(let t of(n[e]=o,a[o]={tsName:o,dbName:u[G.Symbol.Name],schema:u[G.Symbol.Schema],columns:u[G.Symbol.Columns],relations:i?.relations??{},primaryKey:i?.primaryKey??[]},Object.values(u[G.Symbol.Columns])))t.primary&&a[o].primaryKey.push(t);let s=u[G.Symbol.ExtraConfigBuilder]?.(u[G.Symbol.ExtraConfigColumns]);if(s)for(let e of Object.values(s))r(e,eU)&&a[o].primaryKey.push(...e.columns)}else if(r(u,ig)){let e,o=K(u.table),s=n[o];for(let[n,r]of Object.entries(u.config(i(u.table))))if(s){let i=a[s];i.relations[n]=r,e&&i.primaryKey.push(...e)}else o in t||(t[o]={relations:{},primaryKey:e}),t[o].relations[n]=r}return{tables:a,tableNamesMap:n}}(i.schema,iy);t={fullSchema:i.schema,schema:e.tables,tableNamesMap:e.tableNamesMap}}let o=new i7(e,a,{logger:n,cache:i.cache}).createSession(t),u=new i9(a,o,t);return u.$client=e,u.$cache=i.cache,u.$cache&&(u.$cache.invalidate=i.cache?.onMutate),u}function ni(...e){if("string"==typeof e[0])return ne(new u.Pool({connectionString:e[0]}),e[1]);if(function(e){if("object"!=typeof e||null===e||"Object"!==e.constructor.name)return!1;if("logger"in e){let i=typeof e.logger;return"boolean"===i||"object"===i&&"function"==typeof e.logger.logQuery||"undefined"===i}if("schema"in e){let i=typeof e.schema;return"object"===i||"undefined"===i}if("casing"in e){let i=typeof e.casing;return"string"===i||"undefined"===i}if("mode"in e)return"default"===e.mode&&"planetscale"===e.mode&&void 0===e.mode;if("connection"in e){let i=typeof e.connection;return"string"===i||"object"===i||"undefined"===i}if("client"in e){let i=typeof e.client;return"object"===i||"function"===i||"undefined"===i}return 0===Object.keys(e).length}(e[0])){let{connection:i,client:n,...t}=e[0];return n?ne(n,t):ne(new u.Pool("string"==typeof i?{connectionString:i}:i),t)}return ne(e[0],e[1])}(ni||(ni={})).mock=function(e){return ne({},e)}},"./node_modules/tslib/tslib.es6.mjs"(e,i,n){"use strict";n.d(i,{Ju:()=>o,YH:()=>a,sH:()=>t});function t(e,i,n,t){return new(n||(n=Promise))(function(a,o){function u(e){try{r(t.next(e))}catch(e){o(e)}}function s(e){try{r(t.throw(e))}catch(e){o(e)}}function r(e){var i;e.done?a(e.value):((i=e.value)instanceof n?i:new n(function(e){e(i)})).then(u,s)}r((t=t.apply(e,i||[])).next())})}function a(e,i){var n,t,a,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},u=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return u.next=s(0),u.throw=s(1),u.return=s(2),"function"==typeof Symbol&&(u[Symbol.iterator]=function(){return this}),u;function s(s){return function(r){var l=[s,r];if(n)throw TypeError("Generator is already executing.");for(;u&&(u=0,l[0]&&(o=0)),o;)try{if(n=1,t&&(a=2&l[0]?t.return:l[0]?t.throw||((a=t.return)&&a.call(t),0):t.next)&&!(a=a.call(t,l[1])).done)return a;switch(t=0,a&&(l=[2&l[0],a.value]),l[0]){case 0:case 1:a=l;break;case 4:return o.label++,{value:l[1],done:!1};case 5:o.label++,t=l[1],l=[0];continue;case 7:l=o.ops.pop(),o.trys.pop();continue;default:if(!(a=(a=o.trys).length>0&&a[a.length-1])&&(6===l[0]||2===l[0])){o=0;continue}if(3===l[0]&&(!a||l[1]>a[0]&&l[1]<a[3])){o.label=l[1];break}if(6===l[0]&&o.label<a[1]){o.label=a[1],a=l;break}if(a&&o.label<a[2]){o.label=a[2],o.ops.push(l);break}a[2]&&o.ops.pop(),o.trys.pop();continue}l=i.call(e,o)}catch(e){l=[6,e],t=0}finally{n=a=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}}}function o(e){var i="function"==typeof Symbol&&Symbol.iterator,n=i&&e[i],t=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&t>=e.length&&(e=void 0),{value:e&&e[t++],done:!e}}};throw TypeError(i?"Object is not iterable.":"Symbol.iterator is not defined.")}},"./node_modules/dotenv/package.json"(e){"use strict";e.exports=JSON.parse('{"name":"dotenv","version":"17.2.3","description":"Loads environment variables from .env file","main":"lib/main.js","types":"lib/main.d.ts","exports":{".":{"types":"./lib/main.d.ts","require":"./lib/main.js","default":"./lib/main.js"},"./config":"./config.js","./config.js":"./config.js","./lib/env-options":"./lib/env-options.js","./lib/env-options.js":"./lib/env-options.js","./lib/cli-options":"./lib/cli-options.js","./lib/cli-options.js":"./lib/cli-options.js","./package.json":"./package.json"},"scripts":{"dts-check":"tsc --project tests/types/tsconfig.json","lint":"standard","pretest":"npm run lint && npm run dts-check","test":"tap run tests/**/*.js --allow-empty-coverage --disable-coverage --timeout=60000","test:coverage":"tap run tests/**/*.js --show-full-coverage --timeout=60000 --coverage-report=text --coverage-report=lcov","prerelease":"npm test","release":"standard-version"},"repository":{"type":"git","url":"git://github.com/motdotla/dotenv.git"},"homepage":"https://github.com/motdotla/dotenv#readme","funding":"https://dotenvx.com","keywords":["dotenv","env",".env","environment","variables","config","settings"],"readmeFilename":"README.md","license":"BSD-2-Clause","devDependencies":{"@types/node":"^18.11.3","decache":"^4.6.2","sinon":"^14.0.1","standard":"^17.0.0","standard-version":"^9.5.0","tap":"^19.2.0","typescript":"^4.8.4"},"engines":{"node":">=12"},"browser":{"fs":false}}')}},__webpack_module_cache__={};function __webpack_require__(e){var i=__webpack_module_cache__[e];if(void 0!==i)return i.exports;var n=__webpack_module_cache__[e]={exports:{}};return __webpack_modules__[e](n,n.exports,__webpack_require__),n.exports}__webpack_require__.m=__webpack_modules__,__webpack_require__.n=e=>{var i=e&&e.__esModule?()=>e.default:()=>e;return __webpack_require__.d(i,{a:i}),i},__webpack_require__.d=(e,i)=>{for(var n in i)__webpack_require__.o(i,n)&&!__webpack_require__.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:i[n]})},__webpack_require__.f={},__webpack_require__.e=e=>Promise.all(Object.keys(__webpack_require__.f).reduce((i,n)=>(__webpack_require__.f[n](e,i),i),[])),__webpack_require__.u=e=>"0~"+e+".js",__webpack_require__.o=(e,i)=>Object.prototype.hasOwnProperty.call(e,i),__webpack_require__.r=e=>{"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e={410:1};__webpack_require__.f.require=(i,n)=>{e[i]||(i=>{var n=i.modules,t=i.ids,a=i.runtime;for(var o in n)__webpack_require__.o(n,o)&&(__webpack_require__.m[o]=n[o]);a&&a(__webpack_require__);for(var u=0;u<t.length;u++)e[t[u]]=1})(require("./"+__webpack_require__.u(i)))}})();var __webpack_exports__={};for(var __rspack_i in(()=>{"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{getDb:()=>A.Lf,PromptTokensDetails:()=>eK.PromptTokensDetails,EmbeddingData:()=>eK.EmbeddingData,validateImageSizeOrDefault:()=>g.rD,CozeConfig:()=>t.CozeConfig,LLMClient:()=>D,DataSourceType:()=>v,EmbeddingInputVideoURL:()=>eK.EmbeddingInputVideoURL,generateModels:()=>A.generateModels,upgrade:()=>A.upgrade,APIError:()=>r,TTSClient:()=>S,ASRClient:()=>b,validateImageSize:()=>g.Ru,HeaderUtils:()=>c.p,buildImageGenerationApiRequest:()=>g.Li,closePool:()=>A.Tj,convertFromApiFormat:()=>m.b,KnowledgeClient:()=>Z,ConfigurationError:()=>s,EmbeddingRequest:()=>eK.EmbeddingRequest,SearchClient:()=>f,convertToApiFormat:()=>m.a,MultiEmbeddingConfig:()=>eK.MultiEmbeddingConfig,S3Storage:()=>eG,getDbUrl:()=>A.M4,VideoEditClient:()=>_,LLMResponse:()=>Y.LLMResponse,ContentPart:()=>Y.ContentPart,Config:()=>a,ForwardHeaderKey:()=>c.ForwardHeaderKey,LLMDefaults:()=>Y.c,VideoGenerationClient:()=>w,FILE_NAME_ALLOWED_RE:()=>ej.a,buildASRApiRequest:()=>y.uF,ValidationError:()=>h,FORWARD_HEADER_KEYS:()=>c.n,SparseEmbeddingItem:()=>eK.SparseEmbeddingItem,LLMConfig:()=>Y.LLMConfig,NetworkError:()=>l,getPool:()=>A.d_,getClient:()=>A.KU,EmbeddingUsage:()=>eK.EmbeddingUsage,ImageGenerationClient:()=>p,loadEnv:()=>A.y,FrameExtractorClient:()=>T,VideoEditConfig:()=>x.M,ImageGenerationResponseHelper:()=>g.td,TTSConfig:()=>y.UX,VideoConfig:()=>C.K,EmbeddingResponse:()=>eK.EmbeddingResponse,EmbeddingConfig:()=>eK.EmbeddingConfig,S3Config:()=>ej.B,Message:()=>Y.Message,ImageConfig:()=>g.K8,SparseEmbeddingConfig:()=>eK.SparseEmbeddingConfig,BaseClient:()=>d,DEFAULT_EMBEDDING_CONFIG:()=>eK.F,EmbeddingInputItem:()=>eK.EmbeddingInputItem,EmbeddingClient:()=>e$,buildTTSApiRequest:()=>y.Xd,EmbedOptions:()=>eK.EmbedOptions,EmbeddingInputImageURL:()=>eK.EmbeddingInputImageURL,DatabaseConfig:()=>A.qd,VERSION:()=>"0.3.0"});var e,i,n,t={};__webpack_require__.r(t),__webpack_require__.d(t,{T:()=>a});class a{apiKey;baseUrl;modelBaseUrl;retryTimes;retryDelay;timeout;constructor(e){this.apiKey=e?.apiKey||process.env.COZE_WORKLOAD_IDENTITY_API_KEY||"",this.baseUrl=e?.baseUrl||process.env.COZE_INTEGRATION_BASE_URL||"",this.modelBaseUrl=e?.modelBaseUrl||process.env.COZE_INTEGRATION_MODEL_BASE_URL||"",this.retryTimes=e?.retryTimes??3,this.retryDelay=e?.retryDelay??1,this.timeout=e?.timeout??9e5}validate(){if(!this.apiKey)throw Error("API key is required. Set COZE_WORKLOAD_IDENTITY_API_KEY or provide apiKey in config.")}getHeaders(){if(!this.apiKey)throw Error("API key is required. Set COZE_WORKLOAD_IDENTITY_API_KEY or provide apiKey in config.");return{Authorization:`Bearer ${this.apiKey}`,"Content-Type":"application/json"}}}var o=__webpack_require__("axios"),u=__webpack_require__.n(o);class s extends Error{constructor(e){super(e),this.name="ConfigurationError"}}class r extends Error{statusCode;response;constructor(e,i,n){super(e),this.name="APIError",this.statusCode=i,this.response=n}}class l extends Error{originalError;constructor(e,i){super(e),this.originalError=i,this.name="NetworkError"}}class h extends Error{constructor(e){super(e),this.name="ValidationError"}}class d{config;axiosInstance;verbose;constructor(e,i,n=!1){this.config=e||new a,this.verbose=n,this.axiosInstance=u().create({timeout:this.config.timeout,headers:{Authorization:`Bearer ${this.config.apiKey}`,"Content-Type":"application/json","X-Client-Sdk":"coze-coding-dev-sdk-typescript/0.3.0",...i}})}async request(e,i,n,t){let a=null;for(let o=0;o<=this.config.retryTimes;o++)try{0===o&&this.verbose&&this.logRequest(e,i,n,t);let a=await this.axiosInstance.request({method:e,url:i,data:n,...t});return 0===o&&this.verbose&&this.logResponse(a),a.data}catch(e){if(a=e,e.response){let i=e.response.status;if(i>=400&&i<500&&429!==i)throw new r(e.response.data?.message||e.message,i,e.response.data)}o<this.config.retryTimes&&await this.sleep(1e3*this.config.retryDelay*(o+1))}if(a)if(u().isAxiosError(a)&&a.response)throw new r(a.response.data?.message||a.message,a.response.status,a.response.data);else throw new l(a.message);throw new l("Request failed after retries")}async requestWithResponse(e,i,n,t){let a=null;for(let o=0;o<=this.config.retryTimes;o++)try{0===o&&this.verbose&&this.logRequest(e,i,n,t);let a=await this.axiosInstance.request({method:e,url:i,data:n,...t});return 0===o&&this.verbose&&this.logResponse(a),a}catch(e){if(a=e,e.response){let i=e.response.status;if(i>=400&&i<500&&429!==i)throw new r(e.response.data?.message||e.message,i,e.response.data)}o<this.config.retryTimes&&await this.sleep(1e3*this.config.retryDelay*(o+1))}if(a)if(u().isAxiosError(a)&&a.response)throw new r(a.response.data?.message||a.message,a.response.status,a.response.data);else throw new l(a.message);throw new l("Request failed after retries")}sanitizeHeaders(e){let i=["authorization","auth","api-key","apikey","api_key","x-api-key","x-auth-token","token","secret","password","passwd","pwd"],n={};for(let[t,a]of Object.entries(e)){let e=t.toLowerCase();i.some(i=>e.includes(i))?n[t]="***":n[t]=a}return n}logRequest(e,i,n,t){console.log("\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"),console.log("\uD83D\uDCE4 HTTP Request"),console.log("━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"),console.log(`Method: ${e}`),console.log(`URL: ${i}`);let a={},o=this.axiosInstance.defaults.headers.common||{},u=this.axiosInstance.defaults.headers[e.toLowerCase()]||{};Object.assign(a,o,u,t?.headers||{});let s=this.sanitizeHeaders(a);for(let[e,i]of(console.log("\nHeaders:"),Object.entries(s)))console.log(` ${e}: ${i}`);n&&(console.log("\nBody:"),console.log(JSON.stringify(n,null,2))),console.log("━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n")}logResponse(e){if(console.log("\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"),console.log("\uD83D\uDCE5 HTTP Response"),console.log("━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"),console.log(`Status: ${e.status} ${e.statusText}`),e.headers)for(let[i,n]of(console.log("\nHeaders:"),Object.entries(e.headers)))console.log(` ${i}: ${n}`);if(e.data){console.log("\nBody:");let i="string"==typeof e.data?e.data:JSON.stringify(e.data,null,2);console.log(i.length>1e3?i.substring(0,1e3)+"\n... (truncated)":i)}console.log("━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n")}sleep(e){return new Promise(i=>setTimeout(i,e))}}var c=__webpack_require__("./src/core/headers.ts"),g=__webpack_require__("./src/image/models.ts");class p extends d{model;constructor(e,i,n=!1){super(e,i,n),this.model=g.K8.DEFAULT_MODEL}async generate(e){let i=(0,g.Li)(e,this.model),n=await this.request("POST",`${this.config.baseUrl}/api/v3/images/generations`,i);if(n.error)throw new r(`API returned error: ${n.error.message||"Unknown error"}`,n.error.code?parseInt(n.error.code):500,n.error);for(let e of n.data)if(e.error)throw new r(`Image generation failed: ${e.error.message||"Unknown error"}`,e.error.code?parseInt(e.error.code):500,e.error);return n}async batchGenerate(e){return Promise.all(e.map(e=>this.generate(e)))}getResponseHelper(e){return new g.td(e)}}var m=__webpack_require__("./src/search/models.ts");class f extends d{constructor(e,i,n=!1){super(e,i,n)}async search(e){let i,n=(0,m.a)(e),t=await this.request("POST",`${this.config.baseUrl}/api/search_api/web_search`,n),a=t.ResponseMetadata||{};if(a.Error)throw new r(`Search failed: ${a.Error}`,500,a.Error);let o=t.Result||{},u=[];if(o.WebResults)for(let e of o.WebResults)u.push((0,m.b)(e));let s=[];if(o.ImageResults)for(let e of o.ImageResults)s.push((0,m.b)(e));return o.Choices&&o.Choices.length>0&&(i=o.Choices[0].Message?.Content),{web_items:u,image_items:s,summary:i}}async webSearch(e,i=10,n=!0){return this.search({query:e,search_type:"web",count:i,need_summary:n})}async webSearchWithSummary(e,i=10){return this.search({query:e,search_type:"web_summary",count:i,need_summary:!0})}async imageSearch(e,i=10){return this.search({query:e,search_type:"image",count:i,need_summary:!1})}async advancedSearch(e,i={}){let n={need_content:i.needContent,need_url:i.needUrl,sites:i.sites,block_hosts:i.blockHosts};return this.search({query:e,search_type:i.searchType||"web",count:i.count||10,filter:n,need_summary:void 0===i.needSummary||i.needSummary,time_range:i.timeRange})}}var y=__webpack_require__("./src/voice/models.ts");class S extends d{constructor(e,i,n=!1){super(e,i,n)}async synthesize(e){if(!e.text&&!e.ssml)throw new h("必须提供 text 或 ssml 其中之一");let i=(0,y.Xd)(e),n={...this.config.getHeaders(),Connection:"keep-alive"};try{let e=await u().post(`${this.config.baseUrl}/api/v3/tts/unidirectional`,i,{headers:n,responseType:"stream",timeout:this.config.timeout});return await this.processStreamResponse(e)}catch(e){if(e.response)throw new r(`TTS 请求失败: ${e.message}`,e.response.status,e.response.data);throw new r(`TTS 请求异常: ${e.message}`,500)}}async processStreamResponse(e){return new Promise((i,n)=>{let t="",a=0,o="";e.data.on("data",e=>{let u=(o+=e.toString("utf-8")).split("\n");for(let e of(o=u.pop()||"",u))if(e.trim()&&e.startsWith("data:"))try{let o=e.replace("data:","").trim();if(!o)continue;let u=JSON.parse(o);if(0===u.code&&u.data){let e=Buffer.from(u.data,"base64");a+=e.length}else if(2e7===u.code){u.url&&(t=u.url),i({audioUri:t,audioSize:a});return}else if(u.code>0)return void n(new r(`合成音频失败: ${u.message||""}`,u.code))}catch(e){n(new r(`响应解析失败: ${e.message}`,500));return}}),e.data.on("end",()=>{t||0!==a?i({audioUri:t,audioSize:a}):n(new r("未收到完整的音频数据",500))}),e.data.on("error",e=>{n(new r(`流处理错误: ${e.message}`,500))})})}}class b extends d{constructor(e,i,n=!1){super(e,i,n)}async recognize(e){if(!e.url&&!e.base64Data)throw new h("必须提供 url 或 base64Data 其中之一");let i=(0,y.uF)(e);try{let e=await this.requestWithResponse("POST",`${this.config.baseUrl}/api/v3/auc/bigmodel/recognize/flash`,i),n=e.headers["x-api-status-code"]||"0",t=e.headers["x-api-message"]||"";if("20000000"!==n)throw new r(`ASR 识别失败,状态码: ${n}, 错误信息: ${t}`,e.status,{code:n,message:t});let a=e.data.result||{};return{text:a.text||"",duration:a.duration,utterances:a.utterances,rawData:e.data}}catch(e){if(e instanceof r)throw e;throw new r(`ASR 请求异常: ${e.message}`,500)}}}var C=__webpack_require__("./src/video/models.ts");class w extends d{baseUrl;constructor(e,i,n=!1){super(e,i,n),this.baseUrl=this.config.baseUrl}async videoGeneration(e,i){let n=(i?.maxWaitTime??900)*1e3,t={model:i?.model||C.K.DEFAULT_MODEL,content:e};i?.callbackUrl&&(t.callback_url=i.callbackUrl),i?.returnLastFrame&&(t.return_last_frame=i.returnLastFrame),t.resolution=i?.resolution??C.K.DEFAULT_RESOLUTION,t.ratio=i?.ratio??C.K.DEFAULT_RATIO,t.duration=i?.duration??C.K.DEFAULT_DURATION,t.watermark=i?.watermark??C.K.DEFAULT_WATERMARK,i?.seed!==void 0&&(t.seed=i.seed),t.camerafixed=i?.camerafixed??C.K.DEFAULT_CAMERA_FIXED,t.generate_audio=i?.generateAudio??C.K.DEFAULT_GENERATE_AUDIO;let a=null,o=0;for(;o<3;)try{if(!(a=(await this.request("POST",`${this.baseUrl}/api/v3/contents/generations/tasks`,t)).id))throw new r("创建视频生成任务失败:响应中缺少任务ID",500);this.verbose&&console.log(`视频生成任务创建成功,任务ID: ${a}`);break}catch(i){o++;let e=i instanceof Error?i.message:String(i);if(this.verbose&&console.error(`创建视频生成任务失败(尝试 ${o}/3): ${e}`),o>=3)throw new r(`创建视频生成任务失败,已重试3次: ${e}`,500);if(e.toLowerCase().includes("rate limit")||e.includes("429")){let e=Math.min(2**o*1e3,1e4);this.verbose&&console.warn(`遇到速率限制,等待 ${e/1e3} 秒后重试...`),await this.sleep(e)}else if(e.toLowerCase().includes("timeout"))this.verbose&&console.warn("请求超时,等待 2 秒后重试..."),await this.sleep(2e3);else throw i}let u=Date.now(),s=0;for(;Date.now()-u<n;){s++;try{let e=await this.request("GET",`${this.baseUrl}/api/v3/contents/generations/tasks/${a}`),i=e.status;if(this.verbose&&console.log(`任务 ${a} 状态检查 #${s}: ${i}`),"succeeded"===i){let i=e.content?.video_url||null,n=e.content?.last_frame_url||"";if(!i)throw new r(`视频生成成功但响应中缺少视频URL,任务ID: ${a}`,500);return this.verbose&&console.log(`视频生成成功,任务ID: ${a}, 视频URL: ${i}`),{videoUrl:i,response:e,lastFrameUrl:n}}if("failed"===i){let i=e.error_message||"未知错误";throw this.verbose&&console.error(`视频生成失败,任务ID: ${a}, 错误: ${i}`),new r(`视频生成失败: ${i}`,500)}if("cancelled"===i)return this.verbose&&console.warn(`视频生成任务被取消,任务ID: ${a}`),{videoUrl:null,response:e,lastFrameUrl:""};else if("queued"===i||"running"===i){await this.sleep(5e3);continue}else{this.verbose&&console.warn(`未知的任务状态: ${i},任务ID: ${a}`),await this.sleep(5e3);continue}}catch(i){let e=i instanceof Error?i.message:String(i);if(this.verbose&&console.error(`查询任务状态失败,任务ID: ${a}, 错误: ${e}`),e.toLowerCase().includes("not found")||e.includes("404"))throw new r(`任务不存在或已过期,任务ID: ${a}`,404);if(Date.now()-u>=n)throw i;await this.sleep(5e3);continue}}let l=Math.floor((Date.now()-u)/1e3);throw this.verbose&&console.error(`视频生成超时,任务ID: ${a}, 已等待: ${l}秒`),new r(`视频生成超时,已等待 ${l} 秒,任务ID: ${a}`,408)}async videoGenerationAsync(e,i){return this.videoGeneration(e,i)}}var x=__webpack_require__("./src/video_edit/models.ts");class T extends d{baseUrl;constructor(e,i,n=!1){super(e,i,n),this.baseUrl=this.config.baseUrl}async extractByKeyFrame(e){let i=await this.request("POST",`${this.baseUrl}/api/v1/integration/video_editing_utils?tool_name=frame_extractor_by_key_frame`,{url:e});if(0!==i.code)throw new r(`Key frame extraction failed: ${i.msg||"Unknown error"}`,i.code);return i}async extractByInterval(e,i){let n=await this.request("POST",`${this.baseUrl}/api/v1/integration/video_editing_utils?tool_name=frame_extractor_by_interval`,{url:e,interval_ms:i});if(0!==n.code)throw new r(`Interval frame extraction failed: ${n.msg||"Unknown error"}`,n.code);return n}async extractByCount(e,i){let n=await this.request("POST",`${this.baseUrl}/api/v1/integration/video_editing_utils?tool_name=frame_extractor_by_count`,{url:e,count:i});if(0!==n.code)throw new r(`Count-based frame extraction failed: ${n.msg||"Unknown error"}`,n.code);return n}}class _ extends d{baseUrl;constructor(e,i,n=!1){super(e,i,n),this.baseUrl=this.config.baseUrl}validateUrlExpire(e,i=x.M.MIN_URL_EXPIRE){if(void 0===e)return x.M.DEFAULT_URL_EXPIRE;if(e<i||e>x.M.MAX_URL_EXPIRE)throw new r(`url_expire must be between ${i} and ${x.M.MAX_URL_EXPIRE} seconds`,400);return e}async addSubtitles(e,i,n){let t=this.validateUrlExpire(n?.urlExpire),a={video:e,subtitle_config:{background_border_width:i.background_border_width??x.M.DEFAULT_BACKGROUND_BORDER_WIDTH,font_type:i.font_type??x.M.DEFAULT_FONT_TYPE,font_pos_config:{height:i.font_pos_config.height??x.M.DEFAULT_FONT_POS_HEIGHT,pos_x:i.font_pos_config.pos_x??x.M.DEFAULT_FONT_POS_X,pos_y:i.font_pos_config.pos_y??x.M.DEFAULT_FONT_POS_Y,width:i.font_pos_config.width??x.M.DEFAULT_FONT_POS_WIDTH}},url_expire:t};void 0!==i.border_width&&(a.subtitle_config.border_width=i.border_width),void 0!==i.font_color&&(a.subtitle_config.font_color=i.font_color),void 0!==i.font_size&&(a.subtitle_config.font_size=i.font_size),void 0!==i.background_color&&(a.subtitle_config.background_color=i.background_color),void 0!==i.border_color&&(a.subtitle_config.border_color=i.border_color),n?.subtitleUrl&&(a.subtitle_url=n.subtitleUrl),n?.textList&&n.textList.length>0&&(a.text_list=n.textList.map(e=>({end_time:e.end_time,start_time:e.start_time,text:e.text})));let o=await this.requestWithResponse("POST",`${this.baseUrl}/api/v1/integration/video_editing_utils?tool_name=add_subtitles`,a),u=o.headers["x-api-status-code"]||"0",s=o.headers["x-api-message"]||"";if("0"!==u)throw new r(`Add subtitles failed, status code: ${u}, error: ${s}`,parseInt(u)||500);if(!o.data.url)throw new r("Add subtitles failed: returned URL is empty",500);return o.data}async concatVideos(e,i){if(!e||0===e.length)throw new r("videos list cannot be empty",400);let n={videos:e,url_expire:this.validateUrlExpire(i?.urlExpire)};i?.transitions&&i.transitions.length>0&&(n.transitions=i.transitions);let t=await this.requestWithResponse("POST",`${this.baseUrl}/api/v1/integration/video_editing_utils?tool_name=concat_videos`,n),a=t.headers["x-api-status-code"]||"0",o=t.headers["x-api-message"]||"";if("0"!==a)throw new r(`Concat videos failed, status code: ${a}, error: ${o}`,parseInt(a)||500);if(!t.data.url)throw new r("Concat videos failed: returned URL is empty",500);return t.data}async compileVideoAudio(e,i,n){let t={video:e,audio:i,url_expire:this.validateUrlExpire(n?.urlExpire)};n?.isVideoAudioSync!==void 0&&(t.is_video_audio_sync=n.isVideoAudioSync),n?.outputSync&&(t.output_sync={sync_method:n.outputSync.sync_method??x.M.DEFAULT_SYNC_METHOD,sync_mode:n.outputSync.sync_mode??x.M.DEFAULT_SYNC_MODE}),n?.isAudioReserve!==void 0&&(t.is_audio_reserve=n.isAudioReserve);let a=await this.requestWithResponse("POST",`${this.baseUrl}/api/v1/integration/video_editing_utils?tool_name=compile_video_audio`,t),o=a.headers["x-api-status-code"]||"0",u=a.headers["x-api-message"]||"";if("0"!==o)throw new r(`Compile video audio failed, status code: ${o}, error: ${u}`,parseInt(o)||500);if(!a.data.url)throw new r("Compile video audio failed: returned URL is empty",500);return a.data}async audioToSubtitle(e,i){let n={source:e,url_expire:this.validateUrlExpire(i?.urlExpire)};i?.subtitleType&&(n.subtitle_type=i.subtitleType);let t=await this.requestWithResponse("POST",`${this.baseUrl}/api/v1/integration/video_editing_utils?tool_name=audio_to_subtitle`,n),a=t.headers["x-api-status-code"]||"0",o=t.headers["x-api-message"]||"";if("0"!==a)throw new r(`Audio to subtitle failed, status code: ${a}, error: ${o}`,parseInt(a)||500);if(!t.data.url)throw new r("Audio to subtitle failed: returned URL is empty",500);return t.data}async extractAudio(e,i){let n={video:e,url_expire:this.validateUrlExpire(i?.urlExpire,x.M.MIN_AUDIO_URL_EXPIRE)};i?.format&&(n.format=i.format);let t=await this.requestWithResponse("POST",`${this.baseUrl}/api/v1/integration/video_editing_utils?tool_name=audio_extract`,n),a=t.headers["x-api-status-code"]||"0",o=t.headers["x-api-message"]||"";if("0"!==a)throw new r(`Extract audio failed, status code: ${a}, error: ${o}`,parseInt(a)||500);if(!t.data.url)throw new r("Extract audio failed: returned URL is empty",500);return t.data}async videoTrim(e,i){let n=this.validateUrlExpire(i?.urlExpire);if(i?.startTime!==void 0&&i.startTime<0)throw new r("start_time must be greater than or equal to 0",400);if(i?.endTime!==void 0&&i.endTime<0)throw new r("end_time must be greater than or equal to 0",400);let t={video:e,url_expire:n};i?.startTime!==void 0&&(t.start_time=i.startTime),i?.endTime!==void 0&&(t.end_time=i.endTime);let a=await this.requestWithResponse("POST",`${this.baseUrl}/api/v1/integration/video_editing_utils?tool_name=video_trim`,t),o=a.headers["x-api-status-code"]||"0",u=a.headers["x-api-message"]||"";if("0"!==o)throw new r(`Video trim failed, status code: ${o}, error: ${u}`,parseInt(o)||500);if(!a.data.url)throw new r("Video trim failed: returned URL is empty",500);return a.data}}let L=require("@langchain/openai"),E=require("@langchain/core/messages");var Y=__webpack_require__("./src/llm/models.ts");class D{config;constructor(e){this.config=e}createLLM(e,i,n){let t={};t.thinking={type:e.thinking??Y.c.THINKING},e.caching&&"disabled"!==e.caching&&(t.caching={type:e.caching});let a={Authorization:`Bearer ${this.config.apiKey}`,"X-Client-Sdk":"coze-coding-dev-sdk-typescript/0.3.0",...n};return i&&(a["X-Previous-Response-Id"]=i),new L.ChatOpenAI({model:e.model||Y.c.MODEL,apiKey:this.config.apiKey,configuration:{baseURL:this.config.modelBaseUrl,defaultHeaders:a},streaming:void 0!==e.streaming?e.streaming:Y.c.STREAMING,temperature:void 0!==e.temperature?e.temperature:Y.c.TEMPERATURE,modelKwargs:Object.keys(t).length>0?t:void 0})}convertMessages(e){return e.map(e=>{let i=this.convertContent(e.content);switch(e.role){case"system":return new E.SystemMessage(i);case"user":return new E.HumanMessage(i);case"assistant":return new E.AIMessage(i);default:throw Error(`Unknown message role: ${e.role}`)}})}convertContent(e){return"string"==typeof e?e:e.map(e=>{if("text"===e.type)return{type:"text",text:e.text};if("image_url"===e.type){let i={url:e.image_url.url};return e.image_url.detail&&(i.detail=e.image_url.detail),{type:"image_url",image_url:i}}if("video_url"===e.type){let i={url:e.video_url.url};return void 0!==e.video_url.fps&&(i.fps=e.video_url.fps),{type:"video_url",video_url:i}}return e})}async *stream(e,i={},n,t){let a=this.createLLM(i,n,t),o=this.convertMessages(e);for await(let e of(await a.stream(o)))yield e}async invoke(e,i={},n,t){let a="";for await(let o of this.stream(e,i,n,t))o.content&&(a+=o.content.toString());return{content:a}}}var v=((e={})[e.TEXT=0]="TEXT",e[e.URL=1]="URL",e[e.URI=2]="URI",e);class Z extends d{baseUrl;constructor(e,i,n=!1){super(e,i,n),this.baseUrl=this.config.baseUrl}async search(e,i,n=5,t=0,a){let o={query:e,top_k:n,min_score:t};i&&(o.dataset=i);let u=`${this.baseUrl}/v1/knowledge_base/recall`,s={...a};this.config.apiKey&&(s["x-coze-token"]=`Bearer ${this.config.apiKey}`);let r=await this.request("POST",u,o,{headers:s});return{chunks:(r.data||[]).map(e=>({content:e.slice||"",score:e.score||0,chunk_id:e.chunk_id,doc_id:e.doc_id})),code:r.code||0,msg:r.msg||""}}async addDocuments(e,i,n,t){let a={dataset:i,data:e};n&&(a.chunk_config=Object.fromEntries(Object.entries(n).filter(([e,i])=>void 0!==i)));let o=`${this.baseUrl}/v1/knowledge_base/batch_import`,u={...t};this.config.apiKey&&(u["x-coze-token"]=`Bearer ${this.config.apiKey}`);let s=await this.request("POST",o,a,{headers:u}),r=s.msg||"";return 0===s.code&&(r="成功!文档正在异步导入中,请稍候。您可以查看数据库中的 'knowledge' schema 来验证导入状态。"),{doc_ids:s.doc_ids,code:s.code||0,msg:r}}}var A=__webpack_require__("./src/database/index.ts"),N=__webpack_require__("./node_modules/@aws-sdk/client-s3/dist-es/S3Client.js"),J=__webpack_require__("./node_modules/@aws-sdk/client-s3/dist-es/commands/PutObjectCommand.js"),k=__webpack_require__("./node_modules/@aws-sdk/client-s3/dist-es/commands/GetObjectCommand.js"),P=__webpack_require__("./node_modules/@aws-sdk/client-s3/dist-es/commands/DeleteObjectCommand.js"),M=__webpack_require__("./node_modules/@aws-sdk/client-s3/dist-es/commands/HeadObjectCommand.js"),R=__webpack_require__("./node_modules/@aws-sdk/client-s3/dist-es/commands/ListObjectsV2Command.js");let B="CRC32";var H=__webpack_require__("./node_modules/@aws-sdk/middleware-sdk-s3/dist-es/throw-200-exceptions.js"),X=__webpack_require__("./node_modules/@aws-sdk/middleware-ssec/dist-es/index.js"),F=__webpack_require__("./node_modules/@smithy/middleware-endpoint/dist-es/getEndpointPlugin.js"),I=__webpack_require__("./node_modules/@smithy/smithy-client/dist-es/command.js"),Q=__webpack_require__("./node_modules/@aws-sdk/client-s3/dist-es/endpoint/EndpointParameters.js"),j=__webpack_require__("./node_modules/@aws-sdk/client-s3/dist-es/schemas/schemas_0.js");class O extends I.u.classBuilder().ep({...Q.S,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function(e,i,n,t){return[(0,F.r)(n,e.getEndpointParameterInstructions()),(0,H.Cg)(n),(0,X.M6)(n)]}).s("AmazonS3","CreateMultipartUpload",{}).n("S3Client","CreateMultipartUploadCommand").sc(j.uP1).build(){}class G extends I.u.classBuilder().ep({...Q.S,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function(e,i,n,t){return[(0,F.r)(n,e.getEndpointParameterInstructions()),(0,H.Cg)(n)]}).s("AmazonS3","AbortMultipartUpload",{}).n("S3Client","AbortMultipartUploadCommand").sc(j.QU_).build(){}var K=__webpack_require__("./node_modules/@aws-sdk/middleware-flexible-checksums/dist-es/getFlexibleChecksumsPlugin.js");class $ extends I.u.classBuilder().ep({...Q.S,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function(e,i,n,t){return[(0,F.r)(n,e.getEndpointParameterInstructions()),(0,K.R)(n,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!1}),(0,H.Cg)(n),(0,X.M6)(n)]}).s("AmazonS3","UploadPart",{}).n("S3Client","UploadPartCommand").sc(j.nCU).build(){}class U extends I.u.classBuilder().ep({...Q.S,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function(e,i,n,t){return[(0,F.r)(n,e.getEndpointParameterInstructions()),(0,H.Cg)(n),(0,X.M6)(n)]}).s("AmazonS3","CompleteMultipartUpload",{}).n("S3Client","CompleteMultipartUploadCommand").sc(j.p4g).build(){}class z extends I.u.classBuilder().ep({...Q.S,Bucket:{type:"contextParams",name:"Bucket"}}).m(function(e,i,n,t){return[(0,F.r)(n,e.getEndpointParameterInstructions()),(0,K.R)(n,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0}),(0,H.Cg)(n)]}).s("AmazonS3","PutObjectTagging",{}).n("S3Client","PutObjectTaggingCommand").sc(j.C2v).build(){}class W{onabort=null;_aborted=!1;constructor(){Object.defineProperty(this,"_aborted",{value:!1,writable:!0})}get aborted(){return this._aborted}abort(){this._aborted=!0,this.onabort&&(this.onabort(this),this.onabort=null)}}class q{signal=new W;abort(){this.signal.abort()}}var V=__webpack_require__("./node_modules/@smithy/middleware-endpoint/dist-es/adaptors/toEndpointV1.js"),ee=__webpack_require__("./node_modules/@smithy/middleware-endpoint/dist-es/adaptors/getEndpointFromInstructions.js"),ei=__webpack_require__("./node_modules/@smithy/core/dist-es/submodules/protocols/extended-encode-uri-component.js");let en=require("events");var et=__webpack_require__("buffer"),ea=__webpack_require__("fs");let eo={...{lstatSync:()=>{},isFileReadStream:e=>!1},runtime:"node",lstatSync:ea.lstatSync,isFileReadStream:e=>e instanceof ea.ReadStream},eu=e=>{if(null==e)return 0;if("string"==typeof e)return et.Buffer.byteLength(e);if("number"==typeof e.byteLength)return e.byteLength;if("number"==typeof e.length)return e.length;if("number"==typeof e.size)return e.size;if("number"==typeof e.start&&"number"==typeof e.end)return e.end+1-e.start;if(eo.isFileReadStream(e))try{return eo.lstatSync(e.path).size}catch(e){}};(i=n||(n={})).EMPTY_INPUT="a null or undefined Body",i.CONTENT_LENGTH="the ContentLength property of the params set by the caller",i.STRING_LENGTH="the encoded byte length of the Body string",i.TYPED_ARRAY="the byteLength of a typed byte array such as Uint8Array",i.LENGTH="the value of Body.length",i.SIZE="the value of Body.size",i.START_END_DIFF="the numeric difference between Body.start and Body.end",i.LSTAT="the size of the file given by Body.path on disk as reported by lstatSync";var es=__webpack_require__("stream");async function*er(e,i,n){let t=1,a={chunks:[],length:0};for await(let o of n(e))for(a.chunks.push(o),a.length+=o.byteLength;a.length>i;){let e=a.chunks.length>1?et.Buffer.concat(a.chunks):a.chunks[0];yield{partNumber:t,data:e.subarray(0,i)},a.chunks=[e.subarray(i)],a.length=a.chunks[0].byteLength,t+=1}yield{partNumber:t,data:1!==a.chunks.length?et.Buffer.concat(a.chunks):a.chunks[0],lastPart:!0}}async function*el(e,i){let n=1,t=0,a=i;for(;a<e.byteLength;)yield{partNumber:n,data:e.subarray(t,a)},n+=1,a=(t=a)+i;yield{partNumber:n,data:e.subarray(t),lastPart:!0}}async function*eh(e){for await(let i of e)et.Buffer.isBuffer(i)||i instanceof Uint8Array?yield i:yield et.Buffer.from(i)}async function*ed(e){let i=e.getReader();try{for(;;){let{done:e,value:n}=await i.read();if(e)return;et.Buffer.isBuffer(n)||n instanceof Uint8Array?yield n:yield et.Buffer.from(n)}}catch(e){throw e}finally{i.releaseLock()}}class ec extends en.EventEmitter{static MIN_PART_SIZE=5242880;MAX_PARTS=1e4;queueSize=4;partSize;leavePartsOnError=!1;tags=[];client;params;totalBytes;totalBytesSource;bytesUploadedSoFar;abortController;concurrentUploaders=[];createMultiPartPromise;abortMultipartUploadCommand=null;uploadedParts=[];uploadEnqueuedPartsCount=0;expectedPartsCount;uploadId;uploadEvent;isMultiPart=!0;singleUploadResult;sent=!1;constructor(e){if(super(),this.queueSize=e.queueSize||this.queueSize,this.leavePartsOnError=e.leavePartsOnError||this.leavePartsOnError,this.tags=e.tags||this.tags,this.client=e.client,this.params=e.params,!this.params)throw Error("InputError: Upload requires params to be passed to upload.");this.totalBytes=this.params.ContentLength??eu(this.params.Body),this.totalBytesSource=((e,i)=>{if(null!=i)return n.CONTENT_LENGTH;if(null==e)return n.EMPTY_INPUT;if("string"==typeof e)return n.STRING_LENGTH;if("number"==typeof e.byteLength)return n.TYPED_ARRAY;if("number"==typeof e.length)return n.LENGTH;if("number"==typeof e.size)return n.SIZE;if("number"==typeof e.start&&"number"==typeof e.end)return n.START_END_DIFF;if(eo.isFileReadStream(e))try{return eo.lstatSync(e.path).size,n.LSTAT}catch(e){}})(this.params.Body,this.params.ContentLength),this.bytesUploadedSoFar=0,this.abortController=e.abortController??new q,this.partSize=e.partSize||Math.max(ec.MIN_PART_SIZE,Math.floor((this.totalBytes||0)/this.MAX_PARTS)),void 0!==this.totalBytes&&(this.expectedPartsCount=Math.ceil(this.totalBytes/this.partSize)),this.__validateInput()}async abort(){this.abortController.abort()}async done(){if(this.sent)throw Error("@aws-sdk/lib-storage: this instance of Upload has already executed .done(). Create a new instance.");return this.sent=!0,await Promise.race([this.__doMultipartUpload(),this.__abortTimeout(this.abortController.signal)])}on(e,i){return this.uploadEvent=e,super.on(e,i)}async __uploadUsingPut(e){let i,n,t;this.isMultiPart=!1;let a={...this.params,Body:e.data},o=this.client.config,u=o.requestHandler,s=u instanceof en.EventEmitter?u:null,r=i=>{this.bytesUploadedSoFar=i.loaded,this.totalBytes=i.total,this.__notifyProgress({loaded:this.bytesUploadedSoFar,total:this.totalBytes,part:e.partNumber,Key:this.params.Key,Bucket:this.params.Bucket})};null!==s&&s.on("xhr.upload.progress",r);let l=await Promise.all([this.client.send(new J.w(a)),o?.endpoint?.()]),h=l[0],d=l[1];if(d||(d=(0,V.a)(await (0,ee.r)(a,J.w,{...o}))),!d)throw Error('Could not resolve endpoint from S3 "client.config.endpoint()" nor EndpointsV2.');null!==s&&s.off("xhr.upload.progress",r);let c=this.params.Key.split("/").map(e=>(0,ei.$)(e)).join("/"),g=(0,ei.$)(this.params.Bucket),p=(i=d.hostname.startsWith(`${g}.`),n=this.client.config.forcePathStyle,t=d.port?`:${d.port}`:"",n?`${d.protocol}//${d.hostname}${t}/${g}/${c}`:i?`${d.protocol}//${d.hostname}${t}/${c}`:`${d.protocol}//${g}.${d.hostname}${t}/${c}`);this.singleUploadResult={...h,Bucket:this.params.Bucket,Key:this.params.Key,Location:p};let m=eu(e.data);this.__notifyProgress({loaded:m,total:m,part:1,Key:this.params.Key,Bucket:this.params.Bucket})}async __createMultipartUpload(){let e=await this.client.config.requestChecksumCalculation();if(!this.createMultiPartPromise){let i={...this.params,Body:void 0};"WHEN_SUPPORTED"===e&&(i.ChecksumAlgorithm=this.params.ChecksumAlgorithm||B),this.createMultiPartPromise=this.client.send(new O(i)).then(e=>(this.abortMultipartUploadCommand=new G({Bucket:this.params.Bucket,Key:this.params.Key,UploadId:e.UploadId}),e))}return this.createMultiPartPromise}async __doConcurrentUpload(e){for await(let i of e){if(this.uploadEnqueuedPartsCount>this.MAX_PARTS)throw Error(`Exceeded ${this.MAX_PARTS} parts in multipart upload to Bucket: ${this.params.Bucket} Key: ${this.params.Key}.`);if(this.abortController.signal.aborted)return;if(1===i.partNumber&&i.lastPart)return await this.__uploadUsingPut(i);if(!this.uploadId){let{UploadId:e}=await this.__createMultipartUpload();if(this.uploadId=e,this.abortController.signal.aborted)return}let e=eu(i.data)||0,n=this.client.config.requestHandler,t=n instanceof en.EventEmitter?n:null,a=0,o=(n,t)=>{(Number(t.query.partNumber)||-1)===i.partNumber&&(n.total&&e&&(this.bytesUploadedSoFar+=n.loaded-a,a=n.loaded),this.__notifyProgress({loaded:this.bytesUploadedSoFar,total:this.totalBytes,part:i.partNumber,Key:this.params.Key,Bucket:this.params.Bucket}))};null!==t&&t.on("xhr.upload.progress",o),this.uploadEnqueuedPartsCount+=1,this.__validateUploadPart(i);let u=await this.client.send(new $({...this.params,ContentLength:void 0,UploadId:this.uploadId,Body:i.data,PartNumber:i.partNumber}));if(null!==t&&t.off("xhr.upload.progress",o),this.abortController.signal.aborted)return;if(!u.ETag)throw Error(`Part ${i.partNumber} is missing ETag in UploadPart response. Missing Bucket CORS configuration for ETag header?`);this.uploadedParts.push({PartNumber:i.partNumber,ETag:u.ETag,...u.ChecksumCRC32&&{ChecksumCRC32:u.ChecksumCRC32},...u.ChecksumCRC32C&&{ChecksumCRC32C:u.ChecksumCRC32C},...u.ChecksumSHA1&&{ChecksumSHA1:u.ChecksumSHA1},...u.ChecksumSHA256&&{ChecksumSHA256:u.ChecksumSHA256}}),null===t&&(this.bytesUploadedSoFar+=e),this.__notifyProgress({loaded:this.bytesUploadedSoFar,total:this.totalBytes,part:i.partNumber,Key:this.params.Key,Bucket:this.params.Bucket})}}async __doMultipartUpload(){let e,i=((e,i)=>{if(e instanceof Uint8Array)return el(e,i);if(e instanceof es.Readable)return er(e,i,eh);if(e instanceof String||"string"==typeof e)return el(et.Buffer.from(e),i);if("function"==typeof e.stream)return er(e.stream(),i,ed);if(e instanceof ReadableStream)return er(e,i,ed);throw Error("Body Data is unsupported format, expected data to be one of: string | Uint8Array | Buffer | Readable | ReadableStream | Blob;.")})(this.params.Body,this.partSize),n=[];for(let e=0;e<this.queueSize;e++){let e=this.__doConcurrentUpload(i).catch(e=>{n.push(e)});this.concurrentUploaders.push(e)}if(await Promise.all(this.concurrentUploaders),n.length>=1)throw await this.markUploadAsAborted(),n[0];if(this.abortController.signal.aborted)throw await this.markUploadAsAborted(),Object.assign(Error("Upload aborted."),{name:"AbortError"});if(this.isMultiPart){let{expectedPartsCount:i,uploadedParts:n,totalBytes:t,totalBytesSource:a}=this;if(void 0!==t&&void 0!==i&&n.length!==i)throw Error(`Expected ${i} part(s) but uploaded ${n.length} part(s).
|
|
74
74
|
The expected part count is based on the byte-count of the input.params.Body,
|
|
75
75
|
which was read from ${a} and is ${t}.
|
|
76
76
|
If this is not correct, provide an override value by setting a number
|