@redocly/replay 0.27.0-next.6 → 0.27.0-next.7

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.
Files changed (42) hide show
  1. package/dist/{replay-AiChatProvider-D7E0a83D.js → replay-AiChatProvider-Dub7iVgM.js} +6 -6
  2. package/dist/{replay-AiChatProvider-p9SioFWy.js → replay-AiChatProvider-e4PWUCRp.js} +1 -1
  3. package/dist/{replay-AiChatSqliteDBStorage-DgGB1XKW.js → replay-AiChatSqliteDBStorage-CpjwxLnF.js} +1 -1
  4. package/dist/{replay-AiChatSqliteDBStorage-CKQJ5VZi.js → replay-AiChatSqliteDBStorage-DbxNU-ot.js} +1 -1
  5. package/dist/replay-AiPanel-B_zDmo55.js +868 -0
  6. package/dist/{replay-AiPanel-DvOGYsWl.js → replay-AiPanel-DuRA2zAt.js} +1178 -1111
  7. package/dist/{replay-SqliteDBStorage-CNJbZXTw.js → replay-SqliteDBStorage-BrNleq7S.js} +1 -1
  8. package/dist/{replay-SqliteDBStorage-D_31Bd3Z.js → replay-SqliteDBStorage-CafBNNLB.js} +1 -1
  9. package/dist/{replay-agent-loop-DklepPbJ.js → replay-agent-loop-CV0s4022.js} +3 -3
  10. package/dist/{replay-agent-loop-fKCHgyOD.js → replay-agent-loop-CzV79Gr1.js} +1 -1
  11. package/dist/{replay-ai-chat-mappers-IWtvE0Nl.js → replay-ai-chat-mappers-BNsR30dS.js} +1 -1
  12. package/dist/{replay-ai-chat-mappers-D-vUBq2s.js → replay-ai-chat-mappers-BWeZN6p_.js} +1 -1
  13. package/dist/{replay-create-model-CfrWgdF7.js → replay-create-model-CEDEaJC8.js} +2 -2
  14. package/dist/{replay-create-model-xGRAIhcu.js → replay-create-model-CmRk68RD.js} +2 -2
  15. package/dist/{replay-db-XlueEDU-.js → replay-db-BfSnfWcb.js} +3 -3
  16. package/dist/{replay-db-BtdwaWh3.js → replay-db-CM8OLcFK.js} +7 -7
  17. package/dist/{replay-external-resolver-D6VSVDwt.js → replay-external-resolver-G86hjAvS.js} +2 -2
  18. package/dist/{replay-external-resolver-Skh0OGde.js → replay-external-resolver-bdSEZsNk.js} +1 -1
  19. package/dist/{replay-index-S_wAPmTA.js → replay-index-BmotNqNI.js} +1153 -1131
  20. package/dist/{replay-index-BOB__Jm6.js → replay-index-Bsag-eKM.js} +1 -1
  21. package/dist/{replay-index-fVC8e5y9.js → replay-index-C_eJVbPZ.js} +1 -1
  22. package/dist/{replay-index-DXnDNeqk.js → replay-index-Cd9LaUVx.js} +22877 -22392
  23. package/dist/{replay-index-CCvitTKt.js → replay-index-D58Mg6_y.js} +1 -1
  24. package/dist/{replay-index-BEzVYZeb.js → replay-index-DYtNY0OY.js} +5 -5
  25. package/dist/{replay-lint-BCVeL_wb.js → replay-lint-CxwKILeF.js} +3 -3
  26. package/dist/{replay-lint-DjMIgYfF.js → replay-lint-YfaLafO6.js} +3 -3
  27. package/dist/{replay-lint-graphql-Bltv-T6_.js → replay-lint-graphql-BRrk1UK5.js} +1 -1
  28. package/dist/{replay-lint-graphql-bkrdHRy7.js → replay-lint-graphql-GtbZklco.js} +1 -1
  29. package/dist/{replay-resolve-CQL6WBG1.js → replay-resolve-Bza6lozO.js} +1 -1
  30. package/dist/{replay-resolve-BhcSceq-.js → replay-resolve-Rb3XjiUd.js} +1 -1
  31. package/dist/{replay-respect-run-CecN1j9r.js → replay-respect-run-BB0VXCz-.js} +3 -3
  32. package/dist/{replay-respect-run-rJm4W93K.js → replay-respect-run-Pkoy4Q3P.js} +1 -1
  33. package/dist/{replay-tauri-path--BfusnkB.js → replay-tauri-path-B8tT4cGY.js} +2 -2
  34. package/dist/{replay-tauri-path--8KtMkGg.js → replay-tauri-path-yOFqWleH.js} +1 -1
  35. package/dist/{replay-useAiChatQueries-B1-NwsZz.js → replay-useAiChatQueries-1fqZwVTj.js} +4 -2
  36. package/dist/{replay-useAiChatQueries-Btd-PmIH.js → replay-useAiChatQueries-B7ZcWDmG.js} +155 -153
  37. package/dist/{replay-validate-key-Bk0SFd3-.js → replay-validate-key-C8-nF61w.js} +1 -1
  38. package/dist/{replay-validate-key-CYsfegSv.js → replay-validate-key-qJOuAQJK.js} +2 -2
  39. package/dist/replay.cjs +1 -1
  40. package/dist/replay.js +1 -1
  41. package/package.json +1 -1
  42. package/dist/replay-AiPanel-BLkqnlmb.js +0 -849
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const ie=require("./replay-index-S_wAPmTA.js"),Te=require("./replay-history.schema-miM3Etuf.js"),Qe=require("./replay-step-context.schema-BuuXkAck.js"),C=require("./replay-ai-message-parts.schema-BBdjwldJ.js"),t=require("./replay-indexes-Dqjl8m6C.js");class Ce{static[t.entityKind]="ConsoleLogWriter";write(e){console.log(e)}}class ve{static[t.entityKind]="DefaultLogger";writer;constructor(e){this.writer=e?.writer??new Ce}logQuery(e,s){const i=s.map(n=>{try{return JSON.stringify(n)}catch{return String(n)}}),r=i.length?` -- params: [${i.join(", ")}]`:"";this.writer.write(`Query: ${e}${r}`)}}class Le{static[t.entityKind]="NoopLogger";logQuery(){}}const re=Symbol.for("drizzle:PgInlineForeignKeys"),ne=Symbol.for("drizzle:EnableRLS");class $e extends t.Table{static[t.entityKind]="PgTable";static Symbol=Object.assign({},t.Table.Symbol,{InlineForeignKeys:re,EnableRLS:ne});[re]=[];[ne]=!1;[t.Table.Symbol.ExtraConfigBuilder]=void 0;[t.Table.Symbol.ExtraConfigColumns]={}}class Ne{static[t.entityKind]="PgPrimaryKeyBuilder";columns;name;constructor(e,s){this.columns=e,this.name=s}build(e){return new xe(e,this.columns,this.name)}}class xe{constructor(e,s,i){this.table=e,this.columns=s,this.name=i}static[t.entityKind]="PgPrimaryKey";columns;name;getName(){return this.name??`${this.table[$e.Symbol.Name]}_${this.columns.map(e=>e.name).join("_")}_pk`}}class de{constructor(e,s,i){this.sourceTable=e,this.referencedTable=s,this.relationName=i,this.referencedTableName=s[t.Table.Symbol.Name]}static[t.entityKind]="Relation";referencedTableName;fieldName}class fe{constructor(e,s){this.table=e,this.config=s}static[t.entityKind]="Relations"}class A extends de{constructor(e,s,i,r){super(e,s,i?.relationName),this.config=i,this.isNullable=r}static[t.entityKind]="One";withFieldName(e){const s=new A(this.sourceTable,this.referencedTable,this.config,this.isNullable);return s.fieldName=e,s}}class J extends de{constructor(e,s,i){super(e,s,i?.relationName),this.config=i}static[t.entityKind]="Many";withFieldName(e){const s=new J(this.sourceTable,this.referencedTable,this.config);return s.fieldName=e,s}}function Re(){return{and:t.and,between:t.between,eq:t.eq,exists:t.exists,gt:t.gt,gte:t.gte,ilike:t.ilike,inArray:t.inArray,isNull:t.isNull,isNotNull:t.isNotNull,like:t.like,lt:t.lt,lte:t.lte,ne:t.ne,not:t.not,notBetween:t.notBetween,notExists:t.notExists,notLike:t.notLike,notIlike:t.notIlike,notInArray:t.notInArray,or:t.or,sql:t.sql}}function Be(){return{sql:t.sql,asc:t.asc,desc:t.desc}}function _e(o,e){Object.keys(o).length===1&&"default"in o&&!t.is(o.default,t.Table)&&(o=o.default);const s={},i={},r={};for(const[n,a]of Object.entries(o))if(t.is(a,t.Table)){const l=t.getTableUniqueName(a),c=i[l];s[l]=n,r[n]={tsName:n,dbName:a[t.Table.Symbol.Name],schema:a[t.Table.Symbol.Schema],columns:a[t.Table.Symbol.Columns],relations:c?.relations??{},primaryKey:c?.primaryKey??[]};for(const h of Object.values(a[t.Table.Symbol.Columns]))h.primary&&r[n].primaryKey.push(h);const u=a[t.Table.Symbol.ExtraConfigBuilder]?.(a[t.Table.Symbol.ExtraConfigColumns]);if(u)for(const h of Object.values(u))t.is(h,Ne)&&r[n].primaryKey.push(...h.columns)}else if(t.is(a,fe)){const l=t.getTableUniqueName(a.table),c=s[l],u=a.config(e(a.table));let h;for(const[f,w]of Object.entries(u))if(c){const q=r[c];q.relations[f]=w}else l in i||(i[l]={relations:{},primaryKey:h}),i[l].relations[f]=w}return{tables:r,tableNamesMap:s}}function Z(o,e){return new fe(o,s=>Object.fromEntries(Object.entries(e(s)).map(([i,r])=>[i,r.withFieldName(i)])))}function Oe(o){return function(s,i){return new A(o,s,i,i?.fields.reduce((r,n)=>r&&n.notNull,!0)??!1)}}function Me(o){return function(s,i){return new J(o,s,i)}}function Ae(o,e,s){if(t.is(s,A)&&s.config)return{fields:s.config.fields,references:s.config.references};const i=e[t.getTableUniqueName(s.referencedTable)];if(!i)throw new Error(`Table "${s.referencedTable[t.Table.Symbol.Name]}" not found in schema`);const r=o[i];if(!r)throw new Error(`Table "${i}" not found in schema`);const n=s.sourceTable,a=e[t.getTableUniqueName(n)];if(!a)throw new Error(`Table "${n[t.Table.Symbol.Name]}" not found in schema`);const l=[];for(const c of Object.values(r.relations))(s.relationName&&s!==c&&c.relationName===s.relationName||!s.relationName&&c.referencedTable===s.sourceTable)&&l.push(c);if(l.length>1)throw s.relationName?new Error(`There are multiple relations with name "${s.relationName}" in table "${i}"`):new Error(`There are multiple relations between "${i}" and "${s.sourceTable[t.Table.Symbol.Name]}". Please specify relation name`);if(l[0]&&t.is(l[0],A)&&l[0].config)return{fields:l[0].config.references,references:l[0].config.fields};throw new Error(`There is not enough information to infer relation "${a}.${s.fieldName}"`)}function Ke(o){return{one:Oe(o),many:Me(o)}}function Y(o,e,s,i,r=n=>n){const n={};for(const[a,l]of i.entries())if(l.isJson){const c=e.relations[l.tsKey],u=s[a],h=typeof u=="string"?JSON.parse(u):u;n[l.tsKey]=t.is(c,A)?h&&Y(o,o[l.relationTableTsKey],h,l.selection,r):h.map(f=>Y(o,o[l.relationTableTsKey],f,l.selection,r))}else{const c=r(s[a]),u=l.field;let h;t.is(u,t.Column)?h=u:t.is(u,t.SQL)?h=u.decoder:h=u.sql.decoder,n[l.tsKey]=c===null?null:h.mapFromDriverValue(c)}return n}class I{constructor(e){this.table=e}static[t.entityKind]="ColumnAliasProxyHandler";get(e,s){return s==="table"?this.table:e[s]}}class X{constructor(e,s){this.alias=e,this.replaceOriginalName=s}static[t.entityKind]="TableAliasProxyHandler";get(e,s){if(s===t.Table.Symbol.IsAlias)return!0;if(s===t.Table.Symbol.Name)return this.alias;if(this.replaceOriginalName&&s===t.Table.Symbol.OriginalName)return this.alias;if(s===t.ViewBaseConfig)return{...e[t.ViewBaseConfig],name:this.alias,isAlias:!0};if(s===t.Table.Symbol.Columns){const r=e[t.Table.Symbol.Columns];if(!r)return r;const n={};return Object.keys(r).map(a=>{n[a]=new Proxy(r[a],new I(new Proxy(e,this)))}),n}const i=e[s];return t.is(i,t.Column)?new Proxy(i,new I(new Proxy(e,this))):i}}function H(o,e){return new Proxy(o,new X(e,!1))}function B(o,e){return new Proxy(o,new I(new Proxy(o.table,new X(e,!1))))}function me(o,e){return new t.SQL.Aliased(k(o.sql,e),o.fieldAlias)}function k(o,e){return t.sql.join(o.queryChunks.map(s=>t.is(s,t.Column)?B(s,e):t.is(s,t.SQL)?k(s,e):t.is(s,t.SQL.Aliased)?me(s,e):s))}class Q{static[t.entityKind]="SelectionProxyHandler";config;constructor(e){this.config={...e}}get(e,s){if(s==="_")return{...e._,selectedFields:new Proxy(e._.selectedFields,this)};if(s===t.ViewBaseConfig)return{...e[t.ViewBaseConfig],selectedFields:new Proxy(e[t.ViewBaseConfig].selectedFields,this)};if(typeof s=="symbol")return e[s];const r=(t.is(e,t.Subquery)?e._.selectedFields:t.is(e,t.View)?e[t.ViewBaseConfig].selectedFields:e)[s];if(t.is(r,t.SQL.Aliased)){if(this.config.sqlAliasedBehavior==="sql"&&!r.isSelectionField)return r.sql;const n=r.clone();return n.isSelectionField=!0,n}if(t.is(r,t.SQL)){if(this.config.sqlBehavior==="sql")return r;throw new Error(`You tried to reference "${s}" 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 t.is(r,t.Column)?this.config.alias?new Proxy(r,new I(new Proxy(r.table,new X(this.config.alias,this.config.replaceOriginalName??!1)))):r:typeof r!="object"||r===null?r:new Proxy(r,new Q(this.config))}}class K{static[t.entityKind]="QueryPromise";[Symbol.toStringTag]="QueryPromise";catch(e){return this.then(void 0,e)}finally(e){return this.then(s=>(e?.(),s),s=>{throw e?.(),s})}then(e,s){return this.execute().then(e,s)}}function M(o){return t.is(o,t.SQLiteTable)?[`${o[t.Table.Symbol.BaseName]}`]:t.is(o,t.Subquery)?o._.usedTables??[]:t.is(o,t.SQL)?o.usedTables??[]:[]}class ae extends K{constructor(e,s,i,r){super(),this.table=e,this.session=s,this.dialect=i,this.config={table:e,withList:r}}static[t.entityKind]="SQLiteDelete";config;where(e){return this.config.where=e,this}orderBy(...e){if(typeof e[0]=="function"){const s=e[0](new Proxy(this.config.table[t.Table.Symbol.Columns],new Q({sqlAliasedBehavior:"alias",sqlBehavior:"sql"}))),i=Array.isArray(s)?s:[s];this.config.orderBy=i}else{const s=e;this.config.orderBy=s}return this}limit(e){return this.config.limit=e,this}returning(e=this.table[t.SQLiteTable.Symbol.Columns]){return this.config.returning=t.orderSelectedFields(e),this}getSQL(){return this.dialect.buildDeleteQuery(this.config)}toSQL(){const{typings:e,...s}=this.dialect.sqlToQuery(this.getSQL());return s}_prepare(e=!0){return this.session[e?"prepareOneTimeQuery":"prepareQuery"](this.dialect.sqlToQuery(this.getSQL()),this.config.returning,this.config.returning?"all":"run",!0,void 0,{type:"delete",tables:M(this.config.table)})}prepare(){return this._prepare(!1)}run=e=>this._prepare().run(e);all=e=>this._prepare().all(e);get=e=>this._prepare().get(e);values=e=>this._prepare().values(e);async execute(e){return this._prepare().execute(e)}$dynamic(){return this}}function Pe(o){return(o.replace(/['\u2019]/g,"").match(/[\da-z]+|[A-Z]+(?![a-z])|[A-Z][\da-z]+/g)??[]).map(s=>s.toLowerCase()).join("_")}function je(o){return(o.replace(/['\u2019]/g,"").match(/[\da-z]+|[A-Z]+(?![a-z])|[A-Z][\da-z]+/g)??[]).reduce((s,i,r)=>{const n=r===0?i.toLowerCase():`${i[0].toUpperCase()}${i.slice(1)}`;return s+n},"")}function Ee(o){return o}class Fe{static[t.entityKind]="CasingCache";cache={};cachedTables={};convert;constructor(e){this.convert=e==="snake_case"?Pe:e==="camelCase"?je:Ee}getColumnCasing(e){if(!e.keyAsName)return e.name;const s=e.table[t.Table.Symbol.Schema]??"public",i=e.table[t.Table.Symbol.OriginalName],r=`${s}.${i}.${e.name}`;return this.cache[r]||this.cacheTable(e.table),this.cache[r]}cacheTable(e){const s=e[t.Table.Symbol.Schema]??"public",i=e[t.Table.Symbol.OriginalName],r=`${s}.${i}`;if(!this.cachedTables[r]){for(const n of Object.values(e[t.Table.Symbol.Columns])){const a=`${r}.${n.name}`;this.cache[a]=this.convert(n.name)}this.cachedTables[r]=!0}}clearCache(){this.cache={},this.cachedTables={}}}class ee extends Error{static[t.entityKind]="DrizzleError";constructor({message:e,cause:s}){super(e),this.name="DrizzleError",this.cause=s}}class _ extends Error{constructor(e,s,i){super(`Failed query: ${e}
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const ie=require("./replay-index-BmotNqNI.js"),Te=require("./replay-history.schema-miM3Etuf.js"),Qe=require("./replay-step-context.schema-BuuXkAck.js"),C=require("./replay-ai-message-parts.schema-BBdjwldJ.js"),t=require("./replay-indexes-Dqjl8m6C.js");class Ce{static[t.entityKind]="ConsoleLogWriter";write(e){console.log(e)}}class ve{static[t.entityKind]="DefaultLogger";writer;constructor(e){this.writer=e?.writer??new Ce}logQuery(e,s){const i=s.map(n=>{try{return JSON.stringify(n)}catch{return String(n)}}),r=i.length?` -- params: [${i.join(", ")}]`:"";this.writer.write(`Query: ${e}${r}`)}}class Le{static[t.entityKind]="NoopLogger";logQuery(){}}const re=Symbol.for("drizzle:PgInlineForeignKeys"),ne=Symbol.for("drizzle:EnableRLS");class $e extends t.Table{static[t.entityKind]="PgTable";static Symbol=Object.assign({},t.Table.Symbol,{InlineForeignKeys:re,EnableRLS:ne});[re]=[];[ne]=!1;[t.Table.Symbol.ExtraConfigBuilder]=void 0;[t.Table.Symbol.ExtraConfigColumns]={}}class Ne{static[t.entityKind]="PgPrimaryKeyBuilder";columns;name;constructor(e,s){this.columns=e,this.name=s}build(e){return new xe(e,this.columns,this.name)}}class xe{constructor(e,s,i){this.table=e,this.columns=s,this.name=i}static[t.entityKind]="PgPrimaryKey";columns;name;getName(){return this.name??`${this.table[$e.Symbol.Name]}_${this.columns.map(e=>e.name).join("_")}_pk`}}class de{constructor(e,s,i){this.sourceTable=e,this.referencedTable=s,this.relationName=i,this.referencedTableName=s[t.Table.Symbol.Name]}static[t.entityKind]="Relation";referencedTableName;fieldName}class fe{constructor(e,s){this.table=e,this.config=s}static[t.entityKind]="Relations"}class A extends de{constructor(e,s,i,r){super(e,s,i?.relationName),this.config=i,this.isNullable=r}static[t.entityKind]="One";withFieldName(e){const s=new A(this.sourceTable,this.referencedTable,this.config,this.isNullable);return s.fieldName=e,s}}class J extends de{constructor(e,s,i){super(e,s,i?.relationName),this.config=i}static[t.entityKind]="Many";withFieldName(e){const s=new J(this.sourceTable,this.referencedTable,this.config);return s.fieldName=e,s}}function Re(){return{and:t.and,between:t.between,eq:t.eq,exists:t.exists,gt:t.gt,gte:t.gte,ilike:t.ilike,inArray:t.inArray,isNull:t.isNull,isNotNull:t.isNotNull,like:t.like,lt:t.lt,lte:t.lte,ne:t.ne,not:t.not,notBetween:t.notBetween,notExists:t.notExists,notLike:t.notLike,notIlike:t.notIlike,notInArray:t.notInArray,or:t.or,sql:t.sql}}function Be(){return{sql:t.sql,asc:t.asc,desc:t.desc}}function _e(o,e){Object.keys(o).length===1&&"default"in o&&!t.is(o.default,t.Table)&&(o=o.default);const s={},i={},r={};for(const[n,a]of Object.entries(o))if(t.is(a,t.Table)){const l=t.getTableUniqueName(a),c=i[l];s[l]=n,r[n]={tsName:n,dbName:a[t.Table.Symbol.Name],schema:a[t.Table.Symbol.Schema],columns:a[t.Table.Symbol.Columns],relations:c?.relations??{},primaryKey:c?.primaryKey??[]};for(const h of Object.values(a[t.Table.Symbol.Columns]))h.primary&&r[n].primaryKey.push(h);const u=a[t.Table.Symbol.ExtraConfigBuilder]?.(a[t.Table.Symbol.ExtraConfigColumns]);if(u)for(const h of Object.values(u))t.is(h,Ne)&&r[n].primaryKey.push(...h.columns)}else if(t.is(a,fe)){const l=t.getTableUniqueName(a.table),c=s[l],u=a.config(e(a.table));let h;for(const[f,w]of Object.entries(u))if(c){const q=r[c];q.relations[f]=w}else l in i||(i[l]={relations:{},primaryKey:h}),i[l].relations[f]=w}return{tables:r,tableNamesMap:s}}function Z(o,e){return new fe(o,s=>Object.fromEntries(Object.entries(e(s)).map(([i,r])=>[i,r.withFieldName(i)])))}function Oe(o){return function(s,i){return new A(o,s,i,i?.fields.reduce((r,n)=>r&&n.notNull,!0)??!1)}}function Me(o){return function(s,i){return new J(o,s,i)}}function Ae(o,e,s){if(t.is(s,A)&&s.config)return{fields:s.config.fields,references:s.config.references};const i=e[t.getTableUniqueName(s.referencedTable)];if(!i)throw new Error(`Table "${s.referencedTable[t.Table.Symbol.Name]}" not found in schema`);const r=o[i];if(!r)throw new Error(`Table "${i}" not found in schema`);const n=s.sourceTable,a=e[t.getTableUniqueName(n)];if(!a)throw new Error(`Table "${n[t.Table.Symbol.Name]}" not found in schema`);const l=[];for(const c of Object.values(r.relations))(s.relationName&&s!==c&&c.relationName===s.relationName||!s.relationName&&c.referencedTable===s.sourceTable)&&l.push(c);if(l.length>1)throw s.relationName?new Error(`There are multiple relations with name "${s.relationName}" in table "${i}"`):new Error(`There are multiple relations between "${i}" and "${s.sourceTable[t.Table.Symbol.Name]}". Please specify relation name`);if(l[0]&&t.is(l[0],A)&&l[0].config)return{fields:l[0].config.references,references:l[0].config.fields};throw new Error(`There is not enough information to infer relation "${a}.${s.fieldName}"`)}function Ke(o){return{one:Oe(o),many:Me(o)}}function Y(o,e,s,i,r=n=>n){const n={};for(const[a,l]of i.entries())if(l.isJson){const c=e.relations[l.tsKey],u=s[a],h=typeof u=="string"?JSON.parse(u):u;n[l.tsKey]=t.is(c,A)?h&&Y(o,o[l.relationTableTsKey],h,l.selection,r):h.map(f=>Y(o,o[l.relationTableTsKey],f,l.selection,r))}else{const c=r(s[a]),u=l.field;let h;t.is(u,t.Column)?h=u:t.is(u,t.SQL)?h=u.decoder:h=u.sql.decoder,n[l.tsKey]=c===null?null:h.mapFromDriverValue(c)}return n}class I{constructor(e){this.table=e}static[t.entityKind]="ColumnAliasProxyHandler";get(e,s){return s==="table"?this.table:e[s]}}class X{constructor(e,s){this.alias=e,this.replaceOriginalName=s}static[t.entityKind]="TableAliasProxyHandler";get(e,s){if(s===t.Table.Symbol.IsAlias)return!0;if(s===t.Table.Symbol.Name)return this.alias;if(this.replaceOriginalName&&s===t.Table.Symbol.OriginalName)return this.alias;if(s===t.ViewBaseConfig)return{...e[t.ViewBaseConfig],name:this.alias,isAlias:!0};if(s===t.Table.Symbol.Columns){const r=e[t.Table.Symbol.Columns];if(!r)return r;const n={};return Object.keys(r).map(a=>{n[a]=new Proxy(r[a],new I(new Proxy(e,this)))}),n}const i=e[s];return t.is(i,t.Column)?new Proxy(i,new I(new Proxy(e,this))):i}}function H(o,e){return new Proxy(o,new X(e,!1))}function B(o,e){return new Proxy(o,new I(new Proxy(o.table,new X(e,!1))))}function me(o,e){return new t.SQL.Aliased(k(o.sql,e),o.fieldAlias)}function k(o,e){return t.sql.join(o.queryChunks.map(s=>t.is(s,t.Column)?B(s,e):t.is(s,t.SQL)?k(s,e):t.is(s,t.SQL.Aliased)?me(s,e):s))}class Q{static[t.entityKind]="SelectionProxyHandler";config;constructor(e){this.config={...e}}get(e,s){if(s==="_")return{...e._,selectedFields:new Proxy(e._.selectedFields,this)};if(s===t.ViewBaseConfig)return{...e[t.ViewBaseConfig],selectedFields:new Proxy(e[t.ViewBaseConfig].selectedFields,this)};if(typeof s=="symbol")return e[s];const r=(t.is(e,t.Subquery)?e._.selectedFields:t.is(e,t.View)?e[t.ViewBaseConfig].selectedFields:e)[s];if(t.is(r,t.SQL.Aliased)){if(this.config.sqlAliasedBehavior==="sql"&&!r.isSelectionField)return r.sql;const n=r.clone();return n.isSelectionField=!0,n}if(t.is(r,t.SQL)){if(this.config.sqlBehavior==="sql")return r;throw new Error(`You tried to reference "${s}" 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 t.is(r,t.Column)?this.config.alias?new Proxy(r,new I(new Proxy(r.table,new X(this.config.alias,this.config.replaceOriginalName??!1)))):r:typeof r!="object"||r===null?r:new Proxy(r,new Q(this.config))}}class K{static[t.entityKind]="QueryPromise";[Symbol.toStringTag]="QueryPromise";catch(e){return this.then(void 0,e)}finally(e){return this.then(s=>(e?.(),s),s=>{throw e?.(),s})}then(e,s){return this.execute().then(e,s)}}function M(o){return t.is(o,t.SQLiteTable)?[`${o[t.Table.Symbol.BaseName]}`]:t.is(o,t.Subquery)?o._.usedTables??[]:t.is(o,t.SQL)?o.usedTables??[]:[]}class ae extends K{constructor(e,s,i,r){super(),this.table=e,this.session=s,this.dialect=i,this.config={table:e,withList:r}}static[t.entityKind]="SQLiteDelete";config;where(e){return this.config.where=e,this}orderBy(...e){if(typeof e[0]=="function"){const s=e[0](new Proxy(this.config.table[t.Table.Symbol.Columns],new Q({sqlAliasedBehavior:"alias",sqlBehavior:"sql"}))),i=Array.isArray(s)?s:[s];this.config.orderBy=i}else{const s=e;this.config.orderBy=s}return this}limit(e){return this.config.limit=e,this}returning(e=this.table[t.SQLiteTable.Symbol.Columns]){return this.config.returning=t.orderSelectedFields(e),this}getSQL(){return this.dialect.buildDeleteQuery(this.config)}toSQL(){const{typings:e,...s}=this.dialect.sqlToQuery(this.getSQL());return s}_prepare(e=!0){return this.session[e?"prepareOneTimeQuery":"prepareQuery"](this.dialect.sqlToQuery(this.getSQL()),this.config.returning,this.config.returning?"all":"run",!0,void 0,{type:"delete",tables:M(this.config.table)})}prepare(){return this._prepare(!1)}run=e=>this._prepare().run(e);all=e=>this._prepare().all(e);get=e=>this._prepare().get(e);values=e=>this._prepare().values(e);async execute(e){return this._prepare().execute(e)}$dynamic(){return this}}function Pe(o){return(o.replace(/['\u2019]/g,"").match(/[\da-z]+|[A-Z]+(?![a-z])|[A-Z][\da-z]+/g)??[]).map(s=>s.toLowerCase()).join("_")}function je(o){return(o.replace(/['\u2019]/g,"").match(/[\da-z]+|[A-Z]+(?![a-z])|[A-Z][\da-z]+/g)??[]).reduce((s,i,r)=>{const n=r===0?i.toLowerCase():`${i[0].toUpperCase()}${i.slice(1)}`;return s+n},"")}function Ee(o){return o}class Fe{static[t.entityKind]="CasingCache";cache={};cachedTables={};convert;constructor(e){this.convert=e==="snake_case"?Pe:e==="camelCase"?je:Ee}getColumnCasing(e){if(!e.keyAsName)return e.name;const s=e.table[t.Table.Symbol.Schema]??"public",i=e.table[t.Table.Symbol.OriginalName],r=`${s}.${i}.${e.name}`;return this.cache[r]||this.cacheTable(e.table),this.cache[r]}cacheTable(e){const s=e[t.Table.Symbol.Schema]??"public",i=e[t.Table.Symbol.OriginalName],r=`${s}.${i}`;if(!this.cachedTables[r]){for(const n of Object.values(e[t.Table.Symbol.Columns])){const a=`${r}.${n.name}`;this.cache[a]=this.convert(n.name)}this.cachedTables[r]=!0}}clearCache(){this.cache={},this.cachedTables={}}}class ee extends Error{static[t.entityKind]="DrizzleError";constructor({message:e,cause:s}){super(e),this.name="DrizzleError",this.cause=s}}class _ extends Error{constructor(e,s,i){super(`Failed query: ${e}
2
2
  params: ${s}`),this.query=e,this.params=s,this.cause=i,Error.captureStackTrace(this,_),i&&(this.cause=i)}}class Ie extends ee{static[t.entityKind]="TransactionRollbackError";constructor(){super({message:"Rollback"})}}class te extends t.View{static[t.entityKind]="SQLiteViewBase"}class D{static[t.entityKind]="SQLiteDialect";casing;constructor(e){this.casing=new Fe(e?.casing)}escapeName(e){return`"${e.replace(/"/g,'""')}"`}escapeParam(e){return"?"}escapeString(e){return`'${e.replace(/'/g,"''")}'`}buildWithCTE(e){if(!e?.length)return;const s=[t.sql`with `];for(const[i,r]of e.entries())s.push(t.sql`${t.sql.identifier(r._.alias)} as (${r._.sql})`),i<e.length-1&&s.push(t.sql`, `);return s.push(t.sql` `),t.sql.join(s)}buildDeleteQuery({table:e,where:s,returning:i,withList:r,limit:n,orderBy:a}){const l=this.buildWithCTE(r),c=i?t.sql` returning ${this.buildSelection(i,{isSingleTable:!0})}`:void 0,u=s?t.sql` where ${s}`:void 0,h=this.buildOrderBy(a),f=this.buildLimit(n);return t.sql`${l}delete from ${e}${u}${c}${h}${f}`}buildUpdateSet(e,s){const i=e[t.Table.Symbol.Columns],r=Object.keys(i).filter(a=>s[a]!==void 0||i[a]?.onUpdateFn!==void 0),n=r.length;return t.sql.join(r.flatMap((a,l)=>{const c=i[a],u=c.onUpdateFn?.(),h=s[a]??(t.is(u,t.SQL)?u:t.sql.param(u,c)),f=t.sql`${t.sql.identifier(this.casing.getColumnCasing(c))} = ${h}`;return l<n-1?[f,t.sql.raw(", ")]:[f]}))}buildUpdateQuery({table:e,set:s,where:i,returning:r,withList:n,joins:a,from:l,limit:c,orderBy:u}){const h=this.buildWithCTE(n),f=this.buildUpdateSet(e,s),w=l&&t.sql.join([t.sql.raw(" from "),this.buildFromTable(l)]),q=this.buildJoins(a),S=r?t.sql` returning ${this.buildSelection(r,{isSingleTable:!0})}`:void 0,g=i?t.sql` where ${i}`:void 0,p=this.buildOrderBy(u),b=this.buildLimit(c);return t.sql`${h}update ${e} set ${f}${w}${q}${g}${S}${p}${b}`}buildSelection(e,{isSingleTable:s=!1}={}){const i=e.length,r=e.flatMap(({field:n},a)=>{const l=[];if(t.is(n,t.SQL.Aliased)&&n.isSelectionField)l.push(t.sql.identifier(n.fieldAlias));else if(t.is(n,t.SQL.Aliased)||t.is(n,t.SQL)){const c=t.is(n,t.SQL.Aliased)?n.sql:n;s?l.push(new t.SQL(c.queryChunks.map(u=>t.is(u,t.Column)?t.sql.identifier(this.casing.getColumnCasing(u)):u))):l.push(c),t.is(n,t.SQL.Aliased)&&l.push(t.sql` as ${t.sql.identifier(n.fieldAlias)}`)}else if(t.is(n,t.Column)){const c=n.table[t.Table.Symbol.Name];n.columnType==="SQLiteNumericBigInt"?s?l.push(t.sql`cast(${t.sql.identifier(this.casing.getColumnCasing(n))} as text)`):l.push(t.sql`cast(${t.sql.identifier(c)}.${t.sql.identifier(this.casing.getColumnCasing(n))} as text)`):s?l.push(t.sql.identifier(this.casing.getColumnCasing(n))):l.push(t.sql`${t.sql.identifier(c)}.${t.sql.identifier(this.casing.getColumnCasing(n))}`)}else if(t.is(n,t.Subquery)){const c=Object.entries(n._.selectedFields);if(c.length===1){const u=c[0][1],h=t.is(u,t.SQL)?u.decoder:t.is(u,t.Column)?{mapFromDriverValue:f=>u.mapFromDriverValue(f)}:u.sql.decoder;h&&(n._.sql.decoder=h)}l.push(n)}return a<i-1&&l.push(t.sql`, `),l});return t.sql.join(r)}buildJoins(e){if(!e||e.length===0)return;const s=[];if(e)for(const[i,r]of e.entries()){i===0&&s.push(t.sql` `);const n=r.table,a=r.on?t.sql` on ${r.on}`:void 0;if(t.is(n,t.SQLiteTable)){const l=n[t.SQLiteTable.Symbol.Name],c=n[t.SQLiteTable.Symbol.Schema],u=n[t.SQLiteTable.Symbol.OriginalName],h=l===u?void 0:r.alias;s.push(t.sql`${t.sql.raw(r.joinType)} join ${c?t.sql`${t.sql.identifier(c)}.`:void 0}${t.sql.identifier(u)}${h&&t.sql` ${t.sql.identifier(h)}`}${a}`)}else s.push(t.sql`${t.sql.raw(r.joinType)} join ${n}${a}`);i<e.length-1&&s.push(t.sql` `)}return t.sql.join(s)}buildLimit(e){return typeof e=="object"||typeof e=="number"&&e>=0?t.sql` limit ${e}`:void 0}buildOrderBy(e){const s=[];if(e)for(const[i,r]of e.entries())s.push(r),i<e.length-1&&s.push(t.sql`, `);return s.length>0?t.sql` order by ${t.sql.join(s)}`:void 0}buildFromTable(e){return t.is(e,t.Table)&&e[t.Table.Symbol.IsAlias]?t.sql`${t.sql`${t.sql.identifier(e[t.Table.Symbol.Schema]??"")}.`.if(e[t.Table.Symbol.Schema])}${t.sql.identifier(e[t.Table.Symbol.OriginalName])} ${t.sql.identifier(e[t.Table.Symbol.Name])}`:e}buildSelectQuery({withList:e,fields:s,fieldsFlat:i,where:r,having:n,table:a,joins:l,orderBy:c,groupBy:u,limit:h,offset:f,distinct:w,setOperators:q}){const S=i??t.orderSelectedFields(s);for(const $ of S)if(t.is($.field,t.Column)&&t.getTableName($.field.table)!==(t.is(a,t.Subquery)?a._.alias:t.is(a,te)?a[t.ViewBaseConfig].name:t.is(a,t.SQL)?void 0:t.getTableName(a))&&!(N=>l?.some(({alias:E})=>E===(N[t.Table.Symbol.IsAlias]?t.getTableName(N):N[t.Table.Symbol.BaseName])))($.field.table)){const N=t.getTableName($.field.table);throw new Error(`Your "${$.path.join("->")}" field references a column "${N}"."${$.field.name}", but the table "${N}" is not part of the query! Did you forget to join it?`)}const g=!l||l.length===0,p=this.buildWithCTE(e),b=w?t.sql` distinct`:void 0,v=this.buildSelection(S,{isSingleTable:g}),T=this.buildFromTable(a),m=this.buildJoins(l),x=r?t.sql` where ${r}`:void 0,L=n?t.sql` having ${n}`:void 0,d=[];if(u)for(const[$,N]of u.entries())d.push(N),$<u.length-1&&d.push(t.sql`, `);const y=d.length>0?t.sql` group by ${t.sql.join(d)}`:void 0,R=this.buildOrderBy(c),j=this.buildLimit(h),W=f?t.sql` offset ${f}`:void 0,P=t.sql`${p}select${b} ${v} from ${T}${m}${x}${y}${L}${R}${j}${W}`;return q.length>0?this.buildSetOperations(P,q):P}buildSetOperations(e,s){const[i,...r]=s;if(!i)throw new Error("Cannot pass undefined values to any set operator");return r.length===0?this.buildSetOperationQuery({leftSelect:e,setOperator:i}):this.buildSetOperations(this.buildSetOperationQuery({leftSelect:e,setOperator:i}),r)}buildSetOperationQuery({leftSelect:e,setOperator:{type:s,isAll:i,rightSelect:r,limit:n,orderBy:a,offset:l}}){const c=t.sql`${e.getSQL()} `,u=t.sql`${r.getSQL()}`;let h;if(a&&a.length>0){const S=[];for(const g of a)if(t.is(g,t.SQLiteColumn))S.push(t.sql.identifier(g.name));else if(t.is(g,t.SQL)){for(let p=0;p<g.queryChunks.length;p++){const b=g.queryChunks[p];t.is(b,t.SQLiteColumn)&&(g.queryChunks[p]=t.sql.identifier(this.casing.getColumnCasing(b)))}S.push(t.sql`${g}`)}else S.push(t.sql`${g}`);h=t.sql` order by ${t.sql.join(S,t.sql`, `)}`}const f=typeof n=="object"||typeof n=="number"&&n>=0?t.sql` limit ${n}`:void 0,w=t.sql.raw(`${s} ${i?"all ":""}`),q=l?t.sql` offset ${l}`:void 0;return t.sql`${c}${w}${u}${h}${f}${q}`}buildInsertQuery({table:e,values:s,onConflict:i,returning:r,withList:n,select:a}){const l=[],c=e[t.Table.Symbol.Columns],u=Object.entries(c).filter(([g,p])=>!p.shouldDisableInsert()),h=u.map(([,g])=>t.sql.identifier(this.casing.getColumnCasing(g)));if(a){const g=s;t.is(g,t.SQL)?l.push(g):l.push(g.getSQL())}else{const g=s;l.push(t.sql.raw("values "));for(const[p,b]of g.entries()){const v=[];for(const[T,m]of u){const x=b[T];if(x===void 0||t.is(x,t.Param)&&x.value===void 0){let L;if(m.default!==null&&m.default!==void 0)L=t.is(m.default,t.SQL)?m.default:t.sql.param(m.default,m);else if(m.defaultFn!==void 0){const d=m.defaultFn();L=t.is(d,t.SQL)?d:t.sql.param(d,m)}else if(!m.default&&m.onUpdateFn!==void 0){const d=m.onUpdateFn();L=t.is(d,t.SQL)?d:t.sql.param(d,m)}else L=t.sql`null`;v.push(L)}else v.push(x)}l.push(v),p<g.length-1&&l.push(t.sql`, `)}}const f=this.buildWithCTE(n),w=t.sql.join(l),q=r?t.sql` returning ${this.buildSelection(r,{isSingleTable:!0})}`:void 0,S=i?.length?t.sql.join(i):void 0;return t.sql`${f}insert into ${e} ${h} ${w}${S}${q}`}sqlToQuery(e,s){return e.toQuery({casing:this.casing,escapeName:this.escapeName,escapeParam:this.escapeParam,escapeString:this.escapeString,invokeSource:s})}buildRelationalQuery({fullSchema:e,schema:s,tableNamesMap:i,table:r,tableConfig:n,queryConfig:a,tableAlias:l,nestedQueryRelation:c,joinOn:u}){let h=[],f,w,q=[],S;const g=[];if(a===!0)h=Object.entries(n.columns).map(([v,T])=>({dbKey:T.name,tsKey:v,field:B(T,l),relationTableTsKey:void 0,isJson:!1,selection:[]}));else{const b=Object.fromEntries(Object.entries(n.columns).map(([d,y])=>[d,B(y,l)]));if(a.where){const d=typeof a.where=="function"?a.where(b,Re()):a.where;S=d&&k(d,l)}const v=[];let T=[];if(a.columns){let d=!1;for(const[y,R]of Object.entries(a.columns))R!==void 0&&y in n.columns&&(!d&&R===!0&&(d=!0),T.push(y));T.length>0&&(T=d?T.filter(y=>a.columns?.[y]===!0):Object.keys(n.columns).filter(y=>!T.includes(y)))}else T=Object.keys(n.columns);for(const d of T){const y=n.columns[d];v.push({tsKey:d,value:y})}let m=[];a.with&&(m=Object.entries(a.with).filter(d=>!!d[1]).map(([d,y])=>({tsKey:d,queryConfig:y,relation:n.relations[d]})));let x;if(a.extras){x=typeof a.extras=="function"?a.extras(b,{sql:t.sql}):a.extras;for(const[d,y]of Object.entries(x))v.push({tsKey:d,value:me(y,l)})}for(const{tsKey:d,value:y}of v)h.push({dbKey:t.is(y,t.SQL.Aliased)?y.fieldAlias:n.columns[d].name,tsKey:d,field:t.is(y,t.Column)?B(y,l):y,relationTableTsKey:void 0,isJson:!1,selection:[]});let L=typeof a.orderBy=="function"?a.orderBy(b,Be()):a.orderBy??[];Array.isArray(L)||(L=[L]),q=L.map(d=>t.is(d,t.Column)?B(d,l):k(d,l)),f=a.limit,w=a.offset;for(const{tsKey:d,queryConfig:y,relation:R}of m){const j=Ae(s,i,R),W=t.getTableUniqueName(R.referencedTable),P=i[W],$=`${l}_${d}`,N=t.and(...j.fields.map((we,qe)=>t.eq(B(j.references[qe],$),B(we,l)))),E=this.buildRelationalQuery({fullSchema:e,schema:s,tableNamesMap:i,table:e[P],tableConfig:s[P],queryConfig:t.is(R,A)?y===!0?{limit:1}:{...y,limit:1}:y,tableAlias:$,joinOn:N,nestedQueryRelation:R}),Se=t.sql`(${E.sql})`.as(d);h.push({dbKey:d,tsKey:d,field:Se,relationTableTsKey:P,isJson:!0,selection:E.selection})}}if(h.length===0)throw new ee({message:`No fields selected for table "${n.tsName}" ("${l}"). You need to have at least one item in "columns", "with" or "extras". If you need to select all columns, omit the "columns" key or set it to undefined.`});let p;if(S=t.and(u,S),c){let b=t.sql`json_array(${t.sql.join(h.map(({field:m})=>t.is(m,t.SQLiteColumn)?t.sql.identifier(this.casing.getColumnCasing(m)):t.is(m,t.SQL.Aliased)?m.sql:m),t.sql`, `)})`;t.is(c,J)&&(b=t.sql`coalesce(json_group_array(${b}), json_array())`);const v=[{dbKey:"data",tsKey:"data",field:b.as("data"),isJson:!0,relationTableTsKey:n.tsName,selection:h}];f!==void 0||w!==void 0||q.length>0?(p=this.buildSelectQuery({table:H(r,l),fields:{},fieldsFlat:[{path:[],field:t.sql.raw("*")}],where:S,limit:f,offset:w,orderBy:q,setOperators:[]}),S=void 0,f=void 0,w=void 0,q=void 0):p=H(r,l),p=this.buildSelectQuery({table:t.is(p,t.SQLiteTable)?p:new t.Subquery(p,{},l),fields:{},fieldsFlat:v.map(({field:m})=>({path:[],field:t.is(m,t.Column)?B(m,l):m})),joins:g,where:S,limit:f,offset:w,orderBy:q,setOperators:[]})}else p=this.buildSelectQuery({table:H(r,l),fields:{},fieldsFlat:h.map(({field:b})=>({path:[],field:t.is(b,t.Column)?B(b,l):b})),joins:g,where:S,limit:f,offset:w,orderBy:q,setOperators:[]});return{tableTsKey:n.tsName,sql:p,selection:h}}}class ke extends D{static[t.entityKind]="SQLiteSyncDialect";migrate(e,s,i){const r=i===void 0||typeof i=="string"?"__drizzle_migrations":i.migrationsTable??"__drizzle_migrations",n=t.sql`
3
3
  CREATE TABLE IF NOT EXISTS ${t.sql.identifier(r)} (
4
4
  id SERIAL PRIMARY KEY,
@@ -1,4 +1,4 @@
1
- import { F as Qe } from "./replay-index-DXnDNeqk.js";
1
+ import { F as Qe } from "./replay-index-Cd9LaUVx.js";
2
2
  import { h as Ve } from "./replay-history.schema-5ce6X0R1.js";
3
3
  import { s as We } from "./replay-step-context.schema-DBk4jufr.js";
4
4
  import { b as J, c as X, a as ee } from "./replay-ai-message-parts.schema-E9u9-nqr.js";
@@ -1,6 +1,6 @@
1
- import { a as O, p as w, T as L, i as J, c as D, s as $ } from "./replay-create-model-CfrWgdF7.js";
2
- import { t as g, q as _, S, x as M, y as z, z as I, D as W, B as K } from "./replay-index-DXnDNeqk.js";
3
- import { g as U } from "./replay-db-BtdwaWh3.js";
1
+ import { a as O, p as w, T as L, i as J, c as D, s as $ } from "./replay-create-model-CEDEaJC8.js";
2
+ import { t as g, q as _, S, x as M, y as z, z as I, D as W, B as K } from "./replay-index-Cd9LaUVx.js";
3
+ import { g as U } from "./replay-db-CM8OLcFK.js";
4
4
  import { L as G, C as B } from "./replay-defaults-CzR6jw9a.js";
5
5
  function y(t) {
6
6
  const e = t.toLowerCase(), n = [
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const y=require("./replay-create-model-xGRAIhcu.js"),l=require("./replay-index-S_wAPmTA.js"),j=require("./replay-db-XlueEDU-.js"),T=require("./replay-defaults-DVvOnvnR.js");function S(t){const e=t.toLowerCase(),n=[["google.vertex","gcp.vertex_ai"],["google.generative-ai","gcp.gemini"],["google-vertex","gcp.vertex_ai"],["amazon-bedrock","aws.bedrock"],["azure-openai","azure.ai.openai"],["anthropic","anthropic"],["openai","openai"],["azure","azure.ai.inference"],["google","gcp.gemini"],["mistral","mistral_ai"],["cohere","cohere"],["bedrock","aws.bedrock"],["groq","groq"],["deepseek","deepseek"],["perplexity","perplexity"],["xai","x_ai"]];for(const[o,r]of n)if(e===o||e.startsWith(o+".")||e.startsWith(o+"-"))return r;return t}function A(t){var e;return(e={"ai.generateText":"invoke_agent","ai.streamText":"invoke_agent","ai.generateObject":"invoke_agent","ai.streamObject":"invoke_agent","ai.embed":"embeddings","ai.embedMany":"embeddings","ai.rerank":"rerank"}[t])!=null?e:t}function O(t){return typeof t=="string"?[{type:"text",content:t}]:Array.isArray(t)?t.map(e=>({type:"text",content:e.content})):[{type:"text",content:t.content}]}function P(t){var e,n,o,r,a;switch(t.type){case"text":return{type:"text",content:t.text};case"reasoning":return{type:"reasoning",content:t.text};case"tool-call":return{type:"tool_call",id:(e=t.toolCallId)!=null?e:null,name:t.toolName,arguments:t.input};case"tool-result":{const i=t.output;let s;return i&&(i.type==="text"||i.type==="error-text"||i.type==="json"||i.type==="error-json"?s=i.value:i.type==="execution-denied"?s={denied:!0,reason:i.reason}:s=i),{type:"tool_call_response",id:(n=t.toolCallId)!=null?n:null,response:s}}case"file":{const i=t.data,s=(()=>{if(typeof i=="object"&&i!==null&&!(i instanceof URL)&&!(i instanceof Uint8Array)&&!(i instanceof ArrayBuffer)&&"type"in i)switch(i.type){case"data":return i.data;case"url":return i.url;case"text":return i.text;default:return""}return i})();let p;if(s instanceof Uint8Array)p=y.convertDataContentToBase64String(s);else if(typeof s=="string"){if(s.startsWith("http://")||s.startsWith("https://"))return{type:"uri",modality:_(t.mediaType),mime_type:(o=t.mediaType)!=null?o:null,uri:s};p=s}else{if(s instanceof URL)return{type:"uri",modality:_(t.mediaType),mime_type:(r=t.mediaType)!=null?r:null,uri:s.toString()};p=String(s)}return{type:"blob",modality:_(t.mediaType),mime_type:(a=t.mediaType)!=null?a:null,content:p}}case"tool-approval-response":return{type:"tool_approval_response",approval_id:t.approvalId,approved:t.approved,reason:t.reason};case"custom":return{type:"custom",kind:t.kind};case"reasoning-file":return{type:String(t.type)};default:return{type:String(t.type)}}}function _(t){return!t||t.startsWith("image/")?"image":t.startsWith("video/")?"video":t.startsWith("audio/")?"audio":"image"}function v(t){return t.filter(e=>e.role!=="system").map(e=>{if(e.role==="system")return{role:"system",parts:[{type:"text",content:e.content}]};const n=e.content.map(P);return{role:e.role,parts:n}})}function k({prompt:t,messages:e}){const n=[];if(typeof t=="string")n.push({role:"user",parts:[{type:"text",content:t}]});else if(Array.isArray(t))for(const o of t){const r=M(o);r&&n.push(r)}if(e)for(const o of e){const r=M(o);r&&n.push(r)}return n}function M(t){if(t.role!=="system"){if(t.role==="user")return typeof t.content=="string"?{role:"user",parts:[{type:"text",content:t.content}]}:{role:"user",parts:t.content.map(n=>{var o,r,a,i,s,p,c,g;switch(n.type){case"text":return{type:"text",content:n.text};case"image":{const u=n.image;return u instanceof URL?{type:"uri",modality:"image",mime_type:(o=n.mediaType)!=null?o:null,uri:u.toString()}:typeof u=="string"?u.startsWith("http://")||u.startsWith("https://")?{type:"uri",modality:"image",mime_type:(r=n.mediaType)!=null?r:null,uri:u}:{type:"blob",modality:"image",mime_type:(a=n.mediaType)!=null?a:null,content:u}:{type:"blob",modality:"image",mime_type:(i=n.mediaType)!=null?i:null,content:y.convertDataContentToBase64String(u)}}case"file":{const u=n.data,f=(()=>{if(typeof u=="object"&&u!==null&&!(u instanceof URL)&&!(u instanceof Uint8Array)&&!(u instanceof ArrayBuffer)&&"type"in u)switch(u.type){case"data":return u.data;case"url":return u.url;case"text":return u.text;default:return""}return u})();return f instanceof URL?{type:"uri",modality:_(n.mediaType),mime_type:(s=n.mediaType)!=null?s:null,uri:f.toString()}:typeof f=="string"?f.startsWith("http://")||f.startsWith("https://")?{type:"uri",modality:_(n.mediaType),mime_type:(p=n.mediaType)!=null?p:null,uri:f}:{type:"blob",modality:_(n.mediaType),mime_type:(c=n.mediaType)!=null?c:null,content:f}:{type:"blob",modality:_(n.mediaType),mime_type:(g=n.mediaType)!=null?g:null,content:y.convertDataContentToBase64String(f)}}default:return{type:String(n.type)}}})};if(t.role==="assistant")return typeof t.content=="string"?{role:"assistant",parts:[{type:"text",content:t.content}]}:{role:"assistant",parts:t.content.map(n=>{var o,r;switch(n.type){case"text":return{type:"text",content:n.text};case"reasoning":return{type:"reasoning",content:n.text};case"tool-call":return{type:"tool_call",id:(o=n.toolCallId)!=null?o:null,name:n.toolName,arguments:n.input};case"tool-result":{const a=n.output;let i;return a&&(a.type==="text"||a.type==="error-text"||a.type==="json"||a.type==="error-json"?i=a.value:a.type==="execution-denied"?i={denied:!0,reason:a.reason}:i=a),{type:"tool_call_response",id:(r=n.toolCallId)!=null?r:null,response:i}}default:return{type:String(n.type)}}})};if(t.role==="tool")return{role:"tool",parts:t.content.map(n=>{var o;if(n.type==="tool-result"){const r=n.output;let a;return r&&(r.type==="text"||r.type==="error-text"||r.type==="json"||r.type==="error-json"?a=r.value:r.type==="execution-denied"?a={denied:!0,reason:r.reason}:a=r),{type:"tool_call_response",id:(o=n.toolCallId)!=null?o:null,response:a}}return{type:String(n.type)}})}}}function N({text:t,reasoning:e,toolCalls:n,files:o,finishReason:r}){const a=[];if(e)for(const i of e)"text"in i&&i.text&&a.push({type:"reasoning",content:i.text});if(t!=null&&t.length>0&&a.push({type:"text",content:t}),n)for(const i of n)a.push({type:"tool_call",id:i.toolCallId,name:i.toolName,arguments:i.input});if(o)for(const i of o)a.push({type:"blob",modality:_(i.mediaType),mime_type:i.mediaType,content:i.base64});return[{role:"assistant",parts:a,finish_reason:q(r)}]}function E({objectText:t,finishReason:e}){return[{role:"assistant",parts:[{type:"text",content:t}],finish_reason:q(e)}]}function q(t){var e;return(e={stop:"stop",length:"length","content-filter":"content_filter","tool-calls":"tool_call",error:"error",other:"stop",unknown:"stop"}[t])!=null?e:t}function h(t,e){e instanceof Error?(t.recordException({name:e.name,message:e.message,stack:e.stack}),t.setStatus({code:l.SpanStatusCode.ERROR,message:e.message})):t.setStatus({code:l.SpanStatusCode.ERROR})}function w(t){return typeof t=="string"||typeof t=="number"||typeof t=="boolean"}function I(t){if(!Array.isArray(t))return t;const e=new Set(t.filter(w).map(o=>typeof o));if(e.size!==1)return;const[n]=e;return n==="string"?t.filter(o=>typeof o=="string"):n==="number"?t.filter(o=>typeof o=="number"):t.filter(o=>typeof o=="boolean")}function L(t){const e={};for(const[n,o]of Object.entries(t??{})){if(o==null)continue;const r=I(o);r!=null&&(e[n]=r)}return e}function J(t){return t?.isEnabled!==!1}function d(t,e){if(!J(t))return{};const n={};for(const[o,r]of Object.entries(e)){if(r==null)continue;if(typeof r=="object"&&"input"in r&&typeof r.input=="function"){if(t?.recordInputs===!1)continue;const i=r.input();if(i!=null){const s=I(i);s!=null&&(n[o]=s)}continue}if(typeof r=="object"&&"output"in r&&typeof r.output=="function"){if(t?.recordOutputs===!1)continue;const i=r.output();if(i!=null){const s=I(i);s!=null&&(n[o]=s)}continue}const a=I(r);a!=null&&(n[o]=a)}return n}var D={usage:!1,providerMetadata:!1,embedding:!1,reranking:!1,runtimeContext:!1,headers:!1,toolChoice:!1,schema:!1};function K(t){var e,n,o,r,a,i,s,p;return{...D,usage:(e=t.usage)!=null?e:!1,providerMetadata:(n=t.providerMetadata)!=null?n:!1,embedding:(o=t.embedding)!=null?o:!1,reranking:(r=t.reranking)!=null?r:!1,runtimeContext:(a=t.runtimeContext)!=null?a:!1,headers:(i=t.headers)!=null?i:!1,toolChoice:(s=t.toolChoice)!=null?s:!1,schema:(p=t.schema)!=null?p:!1}}function $(t){const e={};for(const[n,o]of Object.entries(t??{}))R(e,`ai.settings.context.${n}`,o);return e}function R(t,e,n){if(n!=null){if(Array.isArray(n)||typeof n!="object"){t[e]=n;return}for(const[o,r]of Object.entries(n))R(t,`${e}.${o}`,r)}}function x(t){return Object.fromEntries(Object.entries(t??{}).filter(([,e])=>e!=null).map(([e,n])=>[`ai.request.headers.${e}`,n]))}function b(t){var e,n,o;return{"ai.usage.inputTokenDetails.noCacheTokens":(e=t.inputTokenDetails)==null?void 0:e.noCacheTokens,"ai.usage.outputTokenDetails.textTokens":(n=t.outputTokenDetails)==null?void 0:n.textTokens,"ai.usage.outputTokenDetails.reasoningTokens":(o=t.outputTokenDetails)==null?void 0:o.reasoningTokens}}function m(t,e,n){const o={};for(const[r,a]of Object.entries(n))!e[r]||a==null||Object.assign(o,d(t,a));return o}function C(t){return t==null?void 0:t/1e3}function W(t){var e;return{"gen_ai.client.operation.duration":C(t.responseTimeMs),"gen_ai.client.operation.time_to_first_chunk":C(t.timeToFirstOutputMs),"gen_ai.client.operation.time_per_output_chunk":C((e=t.timeBetweenOutputChunksMs)==null?void 0:e.avg)}}var z=class{constructor(t={}){this.callStates=new Map;var e;this.tracer=(e=t.tracer)!=null?e:l.trace.getTracer("gen_ai"),this.supplementalAttributes=K(t),this.enrichSpan=t.enrichSpan}getCallState(t){return this.callStates.get(t)}cleanupCallState(t){this.callStates.delete(t)}getSpanAttributes({attributes:t,spanType:e,operationId:n,callId:o,runtimeContext:r}){var a;let i;try{i=(a=this.enrichSpan)==null?void 0:a.call(this,{spanType:e,operationId:n,callId:o,runtimeContext:r})}catch{i=void 0}return{...L(i),...t}}executeTool({callId:t,toolCallId:e,execute:n}){var o;const r=(o=this.getCallState(t))==null?void 0:o.toolSpans.get(e);return r==null?n():l.context.with(r.context,n)}executeLanguageModelCall({callId:t,execute:e}){var n;const o=this.getCallState(t),r=(n=o?.inferenceContext)!=null?n:o?.stepContext;return r==null?e():l.context.with(r,e)}onStart(t){if(t.operationId==="ai.embed"||t.operationId==="ai.embedMany"){this.onEmbedOperationStart(t);return}if(t.operationId==="ai.rerank"){this.onRerankOperationStart(t);return}if(t.operationId==="ai.generateObject"||t.operationId==="ai.streamObject"){this.onObjectOperationStart(t);return}this.onGenerateStart(t)}onGenerateStart(t){var e;const n={recordInputs:t.recordInputs,recordOutputs:t.recordOutputs,functionId:t.functionId},o={maxOutputTokens:t.maxOutputTokens,temperature:t.temperature,topP:t.topP,topK:t.topK,presencePenalty:t.presencePenalty,frequencyPenalty:t.frequencyPenalty,stopSequences:t.stopSequences,seed:t.seed,maxRetries:t.maxRetries},r=S(t.provider),a=A(t.operationId),i=t.runtimeContext,s=m(n,this.supplementalAttributes,{runtimeContext:$(i),headers:x(t.headers)}),p=d(n,{"gen_ai.operation.name":a,"gen_ai.provider.name":r,"gen_ai.request.model":t.modelId,"gen_ai.agent.name":n.functionId,"gen_ai.request.frequency_penalty":t.frequencyPenalty,"gen_ai.request.max_tokens":t.maxOutputTokens,"gen_ai.request.presence_penalty":t.presencePenalty,"gen_ai.request.temperature":(e=t.temperature)!=null?e:void 0,"gen_ai.request.top_k":t.topK,"gen_ai.request.top_p":t.topP,"gen_ai.request.stop_sequences":t.stopSequences,"gen_ai.request.seed":t.seed,"gen_ai.system_instructions":t.instructions?{input:()=>JSON.stringify(O(t.instructions))}:void 0,"gen_ai.input.messages":{input:()=>JSON.stringify(k({prompt:void 0,messages:t.messages}))},...s}),c=`${a} ${t.modelId}`,g=this.tracer.startSpan(c,{attributes:this.getSpanAttributes({attributes:p,spanType:"operation",operationId:t.operationId,callId:t.callId,runtimeContext:i}),kind:l.SpanKind.INTERNAL}),u=l.trace.setSpan(l.context.active(),g);this.callStates.set(t.callId,{operationId:t.operationId,telemetry:n,rootSpan:g,rootContext:u,stepSpan:void 0,stepContext:void 0,inferenceSpan:void 0,inferenceContext:void 0,embedSpans:new Map,rerankSpan:void 0,toolSpans:new Map,settings:o,provider:t.provider,modelId:t.modelId,runtimeContext:i,baseSupplementalAttributes:s})}onObjectOperationStart(t){var e;const n={recordInputs:t.recordInputs,recordOutputs:t.recordOutputs,functionId:t.functionId},o={maxOutputTokens:t.maxOutputTokens,temperature:t.temperature,topP:t.topP,topK:t.topK,presencePenalty:t.presencePenalty,frequencyPenalty:t.frequencyPenalty,seed:t.seed,maxRetries:t.maxRetries},r=S(t.provider),a=A(t.operationId),i=m(n,this.supplementalAttributes,{headers:x(t.headers)}),s=d(n,{"gen_ai.operation.name":a,"gen_ai.provider.name":r,"gen_ai.request.model":t.modelId,"gen_ai.agent.name":n.functionId,"gen_ai.output.type":"json","gen_ai.request.frequency_penalty":t.frequencyPenalty,"gen_ai.request.max_tokens":t.maxOutputTokens,"gen_ai.request.presence_penalty":t.presencePenalty,"gen_ai.request.temperature":(e=t.temperature)!=null?e:void 0,"gen_ai.request.top_k":t.topK,"gen_ai.request.top_p":t.topP,"gen_ai.request.seed":t.seed,"gen_ai.system_instructions":t.system?{input:()=>JSON.stringify(O(t.system))}:void 0,"gen_ai.input.messages":{input:()=>JSON.stringify(k({prompt:t.prompt,messages:t.messages}))},...i,...m(n,this.supplementalAttributes,{schema:{"ai.schema":t.schema?{input:()=>JSON.stringify(t.schema)}:void 0,"ai.schema.name":t.schemaName,"ai.schema.description":t.schemaDescription,"ai.settings.output":t.output}})}),p=`${a} ${t.modelId}`,c=this.tracer.startSpan(p,{attributes:this.getSpanAttributes({attributes:s,spanType:"operation",operationId:t.operationId,callId:t.callId,runtimeContext:void 0}),kind:l.SpanKind.INTERNAL}),g=l.trace.setSpan(l.context.active(),c);this.callStates.set(t.callId,{operationId:t.operationId,telemetry:n,rootSpan:c,rootContext:g,stepSpan:void 0,stepContext:void 0,inferenceSpan:void 0,inferenceContext:void 0,embedSpans:new Map,rerankSpan:void 0,toolSpans:new Map,settings:o,provider:t.provider,modelId:t.modelId,runtimeContext:void 0,baseSupplementalAttributes:i})}onObjectStepStart(t){var e;const n=this.getCallState(t.callId);if(!n?.rootSpan||!n.rootContext)return;const{telemetry:o}=n,r=S(t.provider),a=d(o,{"gen_ai.operation.name":"chat","gen_ai.provider.name":r,"gen_ai.request.model":t.modelId,"gen_ai.output.type":"json","gen_ai.request.frequency_penalty":n.settings.frequencyPenalty,"gen_ai.request.max_tokens":n.settings.maxOutputTokens,"gen_ai.request.presence_penalty":n.settings.presencePenalty,"gen_ai.request.temperature":(e=n.settings.temperature)!=null?e:void 0,"gen_ai.request.top_k":n.settings.topK,"gen_ai.request.top_p":n.settings.topP,"gen_ai.input.messages":{input:()=>t.promptMessages?JSON.stringify(v(t.promptMessages)):void 0},...n.baseSupplementalAttributes}),i=`chat ${t.modelId}`;n.inferenceSpan=this.tracer.startSpan(i,{attributes:this.getSpanAttributes({attributes:a,spanType:"languageModel",operationId:n.operationId,callId:t.callId,runtimeContext:n.runtimeContext}),kind:l.SpanKind.CLIENT},n.rootContext),n.inferenceContext=l.trace.setSpan(n.rootContext,n.inferenceSpan)}onObjectStepEnd(t){var e;const n=this.getCallState(t.callId);if(!n?.inferenceSpan)return;const{telemetry:o}=n;n.inferenceSpan.setAttributes(d(o,{"gen_ai.response.finish_reasons":[t.finishReason],"gen_ai.response.id":t.response.id,"gen_ai.response.model":t.response.modelId,"gen_ai.usage.input_tokens":t.usage.inputTokens,"gen_ai.usage.output_tokens":t.usage.outputTokens,"gen_ai.usage.cache_read.input_tokens":(e=t.usage.inputTokenDetails)==null?void 0:e.cacheReadTokens,"gen_ai.output.messages":{output:()=>{try{return JSON.stringify(E({objectText:t.objectText,finishReason:t.finishReason}))}catch{return t.objectText}}},...m(o,this.supplementalAttributes,{providerMetadata:{"ai.response.providerMetadata":t.providerMetadata?JSON.stringify(t.providerMetadata):void 0},usage:b(t.usage)})})),n.inferenceSpan.end(),n.inferenceSpan=void 0,n.inferenceContext=void 0}onEmbedOperationStart(t){const e={recordInputs:t.recordInputs,recordOutputs:t.recordOutputs,functionId:t.functionId},n=S(t.provider),o=m(e,this.supplementalAttributes,{headers:x(t.headers)}),r=t.value,a=t.operationId==="ai.embedMany",i=d(e,{"gen_ai.operation.name":"embeddings","gen_ai.provider.name":n,"gen_ai.request.model":t.modelId,...o,...m(e,this.supplementalAttributes,{embedding:a?{"ai.values":{input:()=>r.map(g=>JSON.stringify(g))}}:{"ai.value":{input:()=>JSON.stringify(r)}}})}),s=`embeddings ${t.modelId}`,p=this.tracer.startSpan(s,{attributes:this.getSpanAttributes({attributes:i,spanType:"operation",operationId:t.operationId,callId:t.callId,runtimeContext:void 0}),kind:l.SpanKind.CLIENT}),c=l.trace.setSpan(l.context.active(),p);this.callStates.set(t.callId,{operationId:t.operationId,telemetry:e,rootSpan:p,rootContext:c,stepSpan:void 0,stepContext:void 0,inferenceSpan:void 0,inferenceContext:void 0,embedSpans:new Map,rerankSpan:void 0,toolSpans:new Map,settings:{maxRetries:t.maxRetries},provider:t.provider,modelId:t.modelId,runtimeContext:void 0,baseSupplementalAttributes:o})}onStepStart(t){const e=this.getCallState(t.callId);if(!e?.rootSpan||!e.rootContext)return;const{telemetry:n}=e;e.runtimeContext=t.runtimeContext;const o=d(n,{"gen_ai.operation.name":"agent_step",...e.baseSupplementalAttributes,...m(n,this.supplementalAttributes,{toolChoice:{"ai.prompt.toolChoice":{input:()=>t.stepToolChoice!=null?JSON.stringify(t.stepToolChoice):void 0}}})});e.stepSpan=this.tracer.startSpan(`step ${t.steps.length+1}`,{attributes:this.getSpanAttributes({attributes:o,spanType:"step",operationId:e.operationId,callId:t.callId,runtimeContext:e.runtimeContext}),kind:l.SpanKind.INTERNAL},e.rootContext),e.stepContext=l.trace.setSpan(e.rootContext,e.stepSpan)}onLanguageModelCallStart(t){var e;const n=this.getCallState(t.callId);if(!n?.stepContext)return;const{telemetry:o}=n,r=S(t.provider),a=d(o,{"gen_ai.operation.name":"chat","gen_ai.provider.name":r,"gen_ai.request.model":t.modelId,"gen_ai.request.frequency_penalty":n.settings.frequencyPenalty,"gen_ai.request.max_tokens":n.settings.maxOutputTokens,"gen_ai.request.presence_penalty":n.settings.presencePenalty,"gen_ai.request.stop_sequences":n.settings.stopSequences,"gen_ai.request.temperature":(e=n.settings.temperature)!=null?e:void 0,"gen_ai.request.top_k":n.settings.topK,"gen_ai.request.top_p":n.settings.topP,"gen_ai.input.messages":{input:()=>{const i=k({prompt:void 0,messages:t.messages});return i.length>0?JSON.stringify(i):void 0}},"gen_ai.tool.definitions":{input:()=>t.tools?JSON.stringify(t.tools):void 0}});n.inferenceSpan=this.tracer.startSpan(`chat ${t.modelId}`,{attributes:this.getSpanAttributes({attributes:a,spanType:"languageModel",operationId:n.operationId,callId:t.callId,runtimeContext:n.runtimeContext}),kind:l.SpanKind.CLIENT},n.stepContext),n.inferenceContext=l.trace.setSpan(n.stepContext,n.inferenceSpan)}onLanguageModelCallEnd(t){var e,n;const o=this.getCallState(t.callId);if(!o?.inferenceSpan)return;const{telemetry:r}=o;o.inferenceSpan.setAttributes(d(r,{...W(t.performance),"gen_ai.response.finish_reasons":[t.finishReason],"gen_ai.response.id":t.responseId,"gen_ai.usage.input_tokens":t.usage.inputTokens,"gen_ai.usage.output_tokens":t.usage.outputTokens,"gen_ai.usage.cache_read.input_tokens":(e=t.usage.inputTokenDetails)==null?void 0:e.cacheReadTokens,"gen_ai.usage.cache_creation.input_tokens":(n=t.usage.inputTokenDetails)==null?void 0:n.cacheWriteTokens,"gen_ai.output.messages":{output:()=>JSON.stringify(N({text:t.content.filter(a=>a.type==="text").map(a=>a.text).join("")||void 0,reasoning:t.content.filter(a=>a.type==="reasoning"),toolCalls:t.content.filter(a=>a.type==="tool-call"),files:t.content.filter(a=>a.type==="file").map(a=>a.file),finishReason:t.finishReason}))},...m(r,this.supplementalAttributes,{usage:b(t.usage)})})),o.inferenceSpan.end(),o.inferenceSpan=void 0,o.inferenceContext=void 0}onToolExecutionStart(t){const e=this.getCallState(t.callId);if(!e?.stepContext)return;const{telemetry:n}=e,{toolCall:o}=t,r=d(n,{"gen_ai.operation.name":"execute_tool","gen_ai.tool.name":o.toolName,"gen_ai.tool.call.id":o.toolCallId,"gen_ai.tool.type":"function","gen_ai.tool.call.arguments":{input:()=>JSON.stringify(o.input)}}),a=`execute_tool ${o.toolName}`,i=this.tracer.startSpan(a,{attributes:this.getSpanAttributes({attributes:r,spanType:"tool",operationId:e.operationId,callId:t.callId,runtimeContext:e.runtimeContext}),kind:l.SpanKind.INTERNAL},e.stepContext),s=l.trace.setSpan(e.stepContext,i);e.toolSpans.set(o.toolCallId,{span:i,context:s})}onToolExecutionEnd(t){const e=this.getCallState(t.callId);if(!e)return;const n=e.toolSpans.get(t.toolCall.toolCallId);if(!n)return;const{span:o}=n,{telemetry:r}=e,{toolOutput:a}=t;if(o.setAttributes(d(r,{"gen_ai.execute_tool.duration":C(t.toolExecutionMs)})),a.type==="tool-result")try{o.setAttributes(d(r,{"gen_ai.tool.call.result":{output:()=>JSON.stringify(a.output)}}))}catch{}else h(o,a.error);o.end(),e.toolSpans.delete(t.toolCall.toolCallId)}onStepEnd(t){const e=this.getCallState(t.callId);if(!e?.stepSpan)return;const{telemetry:n}=e;e.stepSpan.setAttributes(m(n,this.supplementalAttributes,{providerMetadata:{"ai.response.providerMetadata":t.providerMetadata?JSON.stringify(t.providerMetadata):void 0},usage:b(t.usage)})),e.stepSpan.end(),e.stepSpan=void 0,e.stepContext=void 0}onStepFinish(t){this.onStepEnd(t)}onEnd(t){const e=this.getCallState(t.callId);if(e?.rootSpan){if(e.operationId==="ai.embed"||e.operationId==="ai.embedMany"){this.onEmbedOperationEnd(t);return}if(e.operationId==="ai.rerank"){this.onRerankOperationEnd(t);return}if(e.operationId==="ai.generateObject"||e.operationId==="ai.streamObject"){this.onObjectOperationEnd(t);return}this.onGenerateEnd(t)}}onGenerateEnd(t){var e,n;const o=this.getCallState(t.callId);if(!o?.rootSpan)return;const{telemetry:r}=o;o.rootSpan.setAttributes(d(r,{"gen_ai.response.finish_reasons":[t.finishReason],"gen_ai.usage.input_tokens":t.usage.inputTokens,"gen_ai.usage.output_tokens":t.usage.outputTokens,"gen_ai.usage.cache_read.input_tokens":(e=t.usage.inputTokenDetails)==null?void 0:e.cacheReadTokens,"gen_ai.usage.cache_creation.input_tokens":(n=t.usage.inputTokenDetails)==null?void 0:n.cacheWriteTokens,"gen_ai.output.messages":{output:()=>{var a;return JSON.stringify(N({text:(a=t.text)!=null?a:void 0,reasoning:t.finalStep.reasoning,toolCalls:t.toolCalls,files:t.files,finishReason:t.finishReason}))}},...m(r,this.supplementalAttributes,{providerMetadata:{"ai.response.providerMetadata":t.finalStep.providerMetadata?JSON.stringify(t.finalStep.providerMetadata):void 0},usage:b(t.usage)})})),o.rootSpan.end(),this.cleanupCallState(t.callId)}onObjectOperationEnd(t){var e;const n=this.getCallState(t.callId);if(!n?.rootSpan)return;const{telemetry:o}=n;n.rootSpan.setAttributes(d(o,{"gen_ai.response.finish_reasons":[t.finishReason],"gen_ai.usage.input_tokens":t.usage.inputTokens,"gen_ai.usage.output_tokens":t.usage.outputTokens,"gen_ai.usage.cache_read.input_tokens":(e=t.usage.inputTokenDetails)==null?void 0:e.cacheReadTokens,"gen_ai.output.messages":{output:()=>t.object!=null?JSON.stringify(E({objectText:JSON.stringify(t.object),finishReason:t.finishReason})):void 0},...m(o,this.supplementalAttributes,{providerMetadata:{"ai.response.providerMetadata":t.providerMetadata?JSON.stringify(t.providerMetadata):void 0},usage:b(t.usage)})})),n.rootSpan.end(),this.cleanupCallState(t.callId)}onEmbedOperationEnd(t){const e=this.getCallState(t.callId);if(!e?.rootSpan)return;const{telemetry:n}=e,o=e.operationId==="ai.embedMany";e.rootSpan.setAttributes(d(n,{"gen_ai.usage.input_tokens":t.usage.tokens,...m(n,this.supplementalAttributes,{embedding:o?{"ai.embeddings":{output:()=>t.embedding.map(r=>JSON.stringify(r))}}:{"ai.embedding":{output:()=>JSON.stringify(t.embedding)}}})})),e.rootSpan.end(),this.cleanupCallState(t.callId)}onEmbedStart(t){const e=this.getCallState(t.callId);if(!e?.rootSpan||!e.rootContext)return;const{telemetry:n}=e,o=S(e.provider),r=d(n,{"gen_ai.operation.name":"embeddings","gen_ai.provider.name":o,"gen_ai.request.model":e.modelId,...e.baseSupplementalAttributes,...m(n,this.supplementalAttributes,{embedding:{"ai.values":{input:()=>t.values.map(p=>JSON.stringify(p))}}})}),a=`embeddings ${e.modelId}`,i=this.tracer.startSpan(a,{attributes:this.getSpanAttributes({attributes:r,spanType:"embedding",operationId:e.operationId,callId:t.callId,runtimeContext:e.runtimeContext}),kind:l.SpanKind.CLIENT},e.rootContext),s=l.trace.setSpan(e.rootContext,i);e.embedSpans.set(t.embedCallId,{span:i,context:s})}onEmbedEnd(t){const e=this.getCallState(t.callId);if(!e)return;const n=e.embedSpans.get(t.embedCallId);if(!n)return;const{span:o}=n,{telemetry:r}=e;o.setAttributes(d(r,{"gen_ai.usage.input_tokens":t.usage.tokens,...m(r,this.supplementalAttributes,{embedding:{"ai.embeddings":{output:()=>t.embeddings.map(a=>JSON.stringify(a))}}})})),o.end(),e.embedSpans.delete(t.embedCallId)}onRerankOperationStart(t){const e={recordInputs:t.recordInputs,recordOutputs:t.recordOutputs,functionId:t.functionId},n=S(t.provider),o=m(e,this.supplementalAttributes,{headers:x(t.headers)}),r=d(e,{"gen_ai.operation.name":"rerank","gen_ai.provider.name":n,"gen_ai.request.model":t.modelId,...o,...m(e,this.supplementalAttributes,{reranking:{"ai.documents":{input:()=>t.documents.map(p=>JSON.stringify(p))}}})}),a=`rerank ${t.modelId}`,i=this.tracer.startSpan(a,{attributes:this.getSpanAttributes({attributes:r,spanType:"operation",operationId:t.operationId,callId:t.callId,runtimeContext:void 0}),kind:l.SpanKind.CLIENT}),s=l.trace.setSpan(l.context.active(),i);this.callStates.set(t.callId,{operationId:t.operationId,telemetry:e,rootSpan:i,rootContext:s,stepSpan:void 0,stepContext:void 0,inferenceSpan:void 0,inferenceContext:void 0,embedSpans:new Map,rerankSpan:void 0,toolSpans:new Map,settings:{maxRetries:t.maxRetries},provider:t.provider,modelId:t.modelId,runtimeContext:void 0,baseSupplementalAttributes:o})}onRerankOperationEnd(t){const e=this.getCallState(t.callId);e?.rootSpan&&(e.rootSpan.end(),this.cleanupCallState(t.callId))}onRerankStart(t){const e=this.getCallState(t.callId);if(!e?.rootSpan||!e.rootContext)return;const{telemetry:n}=e,o=S(e.provider),r=d(n,{"gen_ai.operation.name":"rerank","gen_ai.provider.name":o,"gen_ai.request.model":e.modelId,...e.baseSupplementalAttributes,...m(n,this.supplementalAttributes,{reranking:{"ai.documents":{input:()=>t.documents.map(p=>JSON.stringify(p))}}})}),a=`rerank ${e.modelId}`,i=this.tracer.startSpan(a,{attributes:this.getSpanAttributes({attributes:r,spanType:"reranking",operationId:e.operationId,callId:t.callId,runtimeContext:e.runtimeContext}),kind:l.SpanKind.CLIENT},e.rootContext),s=l.trace.setSpan(e.rootContext,i);e.rerankSpan={span:i,context:s}}onRerankEnd(t){const e=this.getCallState(t.callId);if(!e?.rerankSpan)return;const{span:n}=e.rerankSpan,{telemetry:o}=e;n.setAttributes(m(o,this.supplementalAttributes,{reranking:{"ai.ranking.type":t.documentsType,"ai.ranking":{output:()=>t.ranking.map(r=>JSON.stringify(r))}}})),n.end(),e.rerankSpan=void 0}onAbort(t){const e=this.getCallState(t.callId);if(e?.rootSpan){for(const{span:n}of e.toolSpans.values())n.end();e.toolSpans.clear(),e.inferenceSpan&&(e.inferenceSpan.end(),e.inferenceSpan=void 0,e.inferenceContext=void 0),e.stepSpan&&(e.stepSpan.end(),e.stepSpan=void 0,e.stepContext=void 0);for(const{span:n}of e.embedSpans.values())n.end();e.embedSpans.clear(),e.rerankSpan&&(e.rerankSpan.span.end(),e.rerankSpan=void 0),e.rootSpan.end(),this.cleanupCallState(t.callId)}}onError(t){var e;const n=t;if(!n?.callId)return;const o=this.getCallState(n.callId);if(!o?.rootSpan)return;const r=(e=n.error)!=null?e:t;for(const{span:a}of o.toolSpans.values())h(a,r),a.end();o.toolSpans.clear(),o.inferenceSpan&&(h(o.inferenceSpan,r),o.inferenceSpan.end(),o.inferenceSpan=void 0,o.inferenceContext=void 0),o.stepSpan&&(h(o.stepSpan,r),o.stepSpan.end(),o.stepSpan=void 0,o.stepContext=void 0);for(const{span:a}of o.embedSpans.values())h(a,r),a.end();o.embedSpans.clear(),o.rerankSpan&&(h(o.rerankSpan.span,r),o.rerankSpan.span.end(),o.rerankSpan=void 0),h(o.rootSpan,r),o.rootSpan.end(),this.cleanupCallState(n.callId)}};function U(t){return y.pruneMessages({messages:t,emptyMessages:"remove",reasoning:"none",toolCalls:`before-last-${l.TOOL_CALL_MESSAGES_TO_KEEP}-messages`})}function B(t){return typeof t=="object"&&t!==null&&"role"in t&&"content"in t}function G(t){return Array.isArray(t)&&t.every(B)}function F(t,{conversationId:e,getModel:n}){let o=0;const r=()=>{const a=n?.();return a?{model_provider:a.provider,model_id:a.modelId}:{}};return{onStepStart:()=>{o+=1},onToolExecutionStart:a=>{t("com.redocly.aiChat.toolCallStarted",[{conversation_id:e,...l.createResource("toolCall",a.toolCall.toolCallId,"ai"),tool_name:a.toolCall.toolName,input:a.toolCall.input,step_number:o,...r()}])},onToolExecutionEnd:a=>{const i=a.toolOutput.type==="tool-error";t("com.redocly.aiChat.toolCallFinished",[{conversation_id:e,...l.createResource("toolCall",a.toolCall.toolCallId,"ai"),tool_name:a.toolCall.toolName,input:a.toolCall.input,step_number:o,success:!i,duration_ms:a.toolExecutionMs,...r(),...i&&{error:a.toolOutput.error instanceof Error?a.toolOutput.error.message:String(a.toolOutput.error)}}])},onStart:a=>{o=0,t("com.redocly.aiChat.conversationStarted",[{...l.createResource("conversation",e,"ai"),model_provider:"provider"in a?a.provider:"unknown",model_id:"modelId"in a?a.modelId:"unknown"}])},onEnd:a=>{if(!("steps"in a))return;const i=a.usage;t("com.redocly.aiChat.conversationFinished",[{...l.createResource("conversation",e,"ai"),model_provider:a.model.provider,model_id:a.model.modelId,success:!0,step_count:a.steps.length,finish_reason:a.finishReason,input_tokens:i.inputTokens,output_tokens:i.outputTokens,total_tokens:i.totalTokens}])}}}function V(t,e){const n=()=>l.trace.getSpan(l.context.active())?l.context.active():e;return{startSpan:(o,r,a)=>t.startSpan(o,r,a??e),startActiveSpan:((o,r,a,i)=>{if(typeof r=="function")return t.startActiveSpan(o,{},n(),r);if(typeof a=="function")return t.startActiveSpan(o,r,n(),a);if(i)return t.startActiveSpan(o,r,a,i);throw new Error("withParentContext: invalid startActiveSpan invocation")})}}class H{model;tools;toolLoopAgent;maxSteps;context=[];systemInstructions=j.getSystemInstructions();getActiveStateMessage;constructor(e){const{activeConversationId:n,onFinish:o,onStepFinish:r,tools:a}=e;this.maxSteps=e.maxSteps??l.DEFAULT_MAX_STEPS,this.getActiveStateMessage=e.getActiveStateMessage,this.model=this.createModel(e.model);const i=({stepNumber:c,messages:g})=>{const u=[],f=this.buildActiveStateMessage();return f&&u.push({role:"user",content:f}),c===this.maxSteps-1&&u.push({role:"user",content:T.LAST_STEP_PROMPT}),u.length===0?void 0:{messages:[...g,...u]}},s=c=>{const g=c.messages?this.prepareMessages(c.messages):void 0,u=c.prompt?this.preparePrompt(c.prompt):void 0;return{...c,model:this.model,messages:g,prompt:u,instructions:[...this.systemInstructions,...this.context],tools:this.tools??c.tools}},p=new z({...e.parentCtx&&{tracer:V(l.trace.getTracer("ai"),e.parentCtx)}});this.toolLoopAgent=new y.ToolLoopAgent({model:this.model,tools:a,stopWhen:y.isStepCount(this.maxSteps),onStepFinish:r,onFinish:o,maxOutputTokens:e.maxOutputTokens,maxRetries:e.maxRetries??l.DEFAULT_MAX_RETRIES,prepareStep:i,prepareCall:s,telemetry:{isEnabled:!0,recordInputs:!0,recordOutputs:!0,functionId:"replay-ai-chat",integrations:[p,F(e.sendEvent,{conversationId:n,getModel:()=>({provider:this.model.provider,modelId:this.model.modelId})})]}})}createModel(e){return y.createModel(e)}setModel(e){this.model=this.createModel(e)}getAgent(){return this.toolLoopAgent}addContext(e){this.context.push(...e)}registerTools(e){this.tools=e}async generateTitle(e,n){return y.streamText({model:this.model,system:T.CONVERSATION_TITLE_PROMPT,prompt:e,temperature:0,abortSignal:n}).text}buildActiveStateMessage(){if(!this.getActiveStateMessage)return null;try{return this.getActiveStateMessage()||null}catch(e){return console.error(e),null}}prepareMessages(e){return U(e)}preparePrompt(e){return G(e)?this.prepareMessages(e):e}}exports.AgentLoop=H;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const y=require("./replay-create-model-CmRk68RD.js"),l=require("./replay-index-BmotNqNI.js"),j=require("./replay-db-BfSnfWcb.js"),T=require("./replay-defaults-DVvOnvnR.js");function S(t){const e=t.toLowerCase(),n=[["google.vertex","gcp.vertex_ai"],["google.generative-ai","gcp.gemini"],["google-vertex","gcp.vertex_ai"],["amazon-bedrock","aws.bedrock"],["azure-openai","azure.ai.openai"],["anthropic","anthropic"],["openai","openai"],["azure","azure.ai.inference"],["google","gcp.gemini"],["mistral","mistral_ai"],["cohere","cohere"],["bedrock","aws.bedrock"],["groq","groq"],["deepseek","deepseek"],["perplexity","perplexity"],["xai","x_ai"]];for(const[o,r]of n)if(e===o||e.startsWith(o+".")||e.startsWith(o+"-"))return r;return t}function A(t){var e;return(e={"ai.generateText":"invoke_agent","ai.streamText":"invoke_agent","ai.generateObject":"invoke_agent","ai.streamObject":"invoke_agent","ai.embed":"embeddings","ai.embedMany":"embeddings","ai.rerank":"rerank"}[t])!=null?e:t}function O(t){return typeof t=="string"?[{type:"text",content:t}]:Array.isArray(t)?t.map(e=>({type:"text",content:e.content})):[{type:"text",content:t.content}]}function P(t){var e,n,o,r,a;switch(t.type){case"text":return{type:"text",content:t.text};case"reasoning":return{type:"reasoning",content:t.text};case"tool-call":return{type:"tool_call",id:(e=t.toolCallId)!=null?e:null,name:t.toolName,arguments:t.input};case"tool-result":{const i=t.output;let s;return i&&(i.type==="text"||i.type==="error-text"||i.type==="json"||i.type==="error-json"?s=i.value:i.type==="execution-denied"?s={denied:!0,reason:i.reason}:s=i),{type:"tool_call_response",id:(n=t.toolCallId)!=null?n:null,response:s}}case"file":{const i=t.data,s=(()=>{if(typeof i=="object"&&i!==null&&!(i instanceof URL)&&!(i instanceof Uint8Array)&&!(i instanceof ArrayBuffer)&&"type"in i)switch(i.type){case"data":return i.data;case"url":return i.url;case"text":return i.text;default:return""}return i})();let p;if(s instanceof Uint8Array)p=y.convertDataContentToBase64String(s);else if(typeof s=="string"){if(s.startsWith("http://")||s.startsWith("https://"))return{type:"uri",modality:_(t.mediaType),mime_type:(o=t.mediaType)!=null?o:null,uri:s};p=s}else{if(s instanceof URL)return{type:"uri",modality:_(t.mediaType),mime_type:(r=t.mediaType)!=null?r:null,uri:s.toString()};p=String(s)}return{type:"blob",modality:_(t.mediaType),mime_type:(a=t.mediaType)!=null?a:null,content:p}}case"tool-approval-response":return{type:"tool_approval_response",approval_id:t.approvalId,approved:t.approved,reason:t.reason};case"custom":return{type:"custom",kind:t.kind};case"reasoning-file":return{type:String(t.type)};default:return{type:String(t.type)}}}function _(t){return!t||t.startsWith("image/")?"image":t.startsWith("video/")?"video":t.startsWith("audio/")?"audio":"image"}function v(t){return t.filter(e=>e.role!=="system").map(e=>{if(e.role==="system")return{role:"system",parts:[{type:"text",content:e.content}]};const n=e.content.map(P);return{role:e.role,parts:n}})}function k({prompt:t,messages:e}){const n=[];if(typeof t=="string")n.push({role:"user",parts:[{type:"text",content:t}]});else if(Array.isArray(t))for(const o of t){const r=M(o);r&&n.push(r)}if(e)for(const o of e){const r=M(o);r&&n.push(r)}return n}function M(t){if(t.role!=="system"){if(t.role==="user")return typeof t.content=="string"?{role:"user",parts:[{type:"text",content:t.content}]}:{role:"user",parts:t.content.map(n=>{var o,r,a,i,s,p,c,g;switch(n.type){case"text":return{type:"text",content:n.text};case"image":{const u=n.image;return u instanceof URL?{type:"uri",modality:"image",mime_type:(o=n.mediaType)!=null?o:null,uri:u.toString()}:typeof u=="string"?u.startsWith("http://")||u.startsWith("https://")?{type:"uri",modality:"image",mime_type:(r=n.mediaType)!=null?r:null,uri:u}:{type:"blob",modality:"image",mime_type:(a=n.mediaType)!=null?a:null,content:u}:{type:"blob",modality:"image",mime_type:(i=n.mediaType)!=null?i:null,content:y.convertDataContentToBase64String(u)}}case"file":{const u=n.data,f=(()=>{if(typeof u=="object"&&u!==null&&!(u instanceof URL)&&!(u instanceof Uint8Array)&&!(u instanceof ArrayBuffer)&&"type"in u)switch(u.type){case"data":return u.data;case"url":return u.url;case"text":return u.text;default:return""}return u})();return f instanceof URL?{type:"uri",modality:_(n.mediaType),mime_type:(s=n.mediaType)!=null?s:null,uri:f.toString()}:typeof f=="string"?f.startsWith("http://")||f.startsWith("https://")?{type:"uri",modality:_(n.mediaType),mime_type:(p=n.mediaType)!=null?p:null,uri:f}:{type:"blob",modality:_(n.mediaType),mime_type:(c=n.mediaType)!=null?c:null,content:f}:{type:"blob",modality:_(n.mediaType),mime_type:(g=n.mediaType)!=null?g:null,content:y.convertDataContentToBase64String(f)}}default:return{type:String(n.type)}}})};if(t.role==="assistant")return typeof t.content=="string"?{role:"assistant",parts:[{type:"text",content:t.content}]}:{role:"assistant",parts:t.content.map(n=>{var o,r;switch(n.type){case"text":return{type:"text",content:n.text};case"reasoning":return{type:"reasoning",content:n.text};case"tool-call":return{type:"tool_call",id:(o=n.toolCallId)!=null?o:null,name:n.toolName,arguments:n.input};case"tool-result":{const a=n.output;let i;return a&&(a.type==="text"||a.type==="error-text"||a.type==="json"||a.type==="error-json"?i=a.value:a.type==="execution-denied"?i={denied:!0,reason:a.reason}:i=a),{type:"tool_call_response",id:(r=n.toolCallId)!=null?r:null,response:i}}default:return{type:String(n.type)}}})};if(t.role==="tool")return{role:"tool",parts:t.content.map(n=>{var o;if(n.type==="tool-result"){const r=n.output;let a;return r&&(r.type==="text"||r.type==="error-text"||r.type==="json"||r.type==="error-json"?a=r.value:r.type==="execution-denied"?a={denied:!0,reason:r.reason}:a=r),{type:"tool_call_response",id:(o=n.toolCallId)!=null?o:null,response:a}}return{type:String(n.type)}})}}}function N({text:t,reasoning:e,toolCalls:n,files:o,finishReason:r}){const a=[];if(e)for(const i of e)"text"in i&&i.text&&a.push({type:"reasoning",content:i.text});if(t!=null&&t.length>0&&a.push({type:"text",content:t}),n)for(const i of n)a.push({type:"tool_call",id:i.toolCallId,name:i.toolName,arguments:i.input});if(o)for(const i of o)a.push({type:"blob",modality:_(i.mediaType),mime_type:i.mediaType,content:i.base64});return[{role:"assistant",parts:a,finish_reason:q(r)}]}function E({objectText:t,finishReason:e}){return[{role:"assistant",parts:[{type:"text",content:t}],finish_reason:q(e)}]}function q(t){var e;return(e={stop:"stop",length:"length","content-filter":"content_filter","tool-calls":"tool_call",error:"error",other:"stop",unknown:"stop"}[t])!=null?e:t}function h(t,e){e instanceof Error?(t.recordException({name:e.name,message:e.message,stack:e.stack}),t.setStatus({code:l.SpanStatusCode.ERROR,message:e.message})):t.setStatus({code:l.SpanStatusCode.ERROR})}function w(t){return typeof t=="string"||typeof t=="number"||typeof t=="boolean"}function I(t){if(!Array.isArray(t))return t;const e=new Set(t.filter(w).map(o=>typeof o));if(e.size!==1)return;const[n]=e;return n==="string"?t.filter(o=>typeof o=="string"):n==="number"?t.filter(o=>typeof o=="number"):t.filter(o=>typeof o=="boolean")}function L(t){const e={};for(const[n,o]of Object.entries(t??{})){if(o==null)continue;const r=I(o);r!=null&&(e[n]=r)}return e}function J(t){return t?.isEnabled!==!1}function d(t,e){if(!J(t))return{};const n={};for(const[o,r]of Object.entries(e)){if(r==null)continue;if(typeof r=="object"&&"input"in r&&typeof r.input=="function"){if(t?.recordInputs===!1)continue;const i=r.input();if(i!=null){const s=I(i);s!=null&&(n[o]=s)}continue}if(typeof r=="object"&&"output"in r&&typeof r.output=="function"){if(t?.recordOutputs===!1)continue;const i=r.output();if(i!=null){const s=I(i);s!=null&&(n[o]=s)}continue}const a=I(r);a!=null&&(n[o]=a)}return n}var D={usage:!1,providerMetadata:!1,embedding:!1,reranking:!1,runtimeContext:!1,headers:!1,toolChoice:!1,schema:!1};function K(t){var e,n,o,r,a,i,s,p;return{...D,usage:(e=t.usage)!=null?e:!1,providerMetadata:(n=t.providerMetadata)!=null?n:!1,embedding:(o=t.embedding)!=null?o:!1,reranking:(r=t.reranking)!=null?r:!1,runtimeContext:(a=t.runtimeContext)!=null?a:!1,headers:(i=t.headers)!=null?i:!1,toolChoice:(s=t.toolChoice)!=null?s:!1,schema:(p=t.schema)!=null?p:!1}}function $(t){const e={};for(const[n,o]of Object.entries(t??{}))R(e,`ai.settings.context.${n}`,o);return e}function R(t,e,n){if(n!=null){if(Array.isArray(n)||typeof n!="object"){t[e]=n;return}for(const[o,r]of Object.entries(n))R(t,`${e}.${o}`,r)}}function x(t){return Object.fromEntries(Object.entries(t??{}).filter(([,e])=>e!=null).map(([e,n])=>[`ai.request.headers.${e}`,n]))}function b(t){var e,n,o;return{"ai.usage.inputTokenDetails.noCacheTokens":(e=t.inputTokenDetails)==null?void 0:e.noCacheTokens,"ai.usage.outputTokenDetails.textTokens":(n=t.outputTokenDetails)==null?void 0:n.textTokens,"ai.usage.outputTokenDetails.reasoningTokens":(o=t.outputTokenDetails)==null?void 0:o.reasoningTokens}}function m(t,e,n){const o={};for(const[r,a]of Object.entries(n))!e[r]||a==null||Object.assign(o,d(t,a));return o}function C(t){return t==null?void 0:t/1e3}function W(t){var e;return{"gen_ai.client.operation.duration":C(t.responseTimeMs),"gen_ai.client.operation.time_to_first_chunk":C(t.timeToFirstOutputMs),"gen_ai.client.operation.time_per_output_chunk":C((e=t.timeBetweenOutputChunksMs)==null?void 0:e.avg)}}var z=class{constructor(t={}){this.callStates=new Map;var e;this.tracer=(e=t.tracer)!=null?e:l.trace.getTracer("gen_ai"),this.supplementalAttributes=K(t),this.enrichSpan=t.enrichSpan}getCallState(t){return this.callStates.get(t)}cleanupCallState(t){this.callStates.delete(t)}getSpanAttributes({attributes:t,spanType:e,operationId:n,callId:o,runtimeContext:r}){var a;let i;try{i=(a=this.enrichSpan)==null?void 0:a.call(this,{spanType:e,operationId:n,callId:o,runtimeContext:r})}catch{i=void 0}return{...L(i),...t}}executeTool({callId:t,toolCallId:e,execute:n}){var o;const r=(o=this.getCallState(t))==null?void 0:o.toolSpans.get(e);return r==null?n():l.context.with(r.context,n)}executeLanguageModelCall({callId:t,execute:e}){var n;const o=this.getCallState(t),r=(n=o?.inferenceContext)!=null?n:o?.stepContext;return r==null?e():l.context.with(r,e)}onStart(t){if(t.operationId==="ai.embed"||t.operationId==="ai.embedMany"){this.onEmbedOperationStart(t);return}if(t.operationId==="ai.rerank"){this.onRerankOperationStart(t);return}if(t.operationId==="ai.generateObject"||t.operationId==="ai.streamObject"){this.onObjectOperationStart(t);return}this.onGenerateStart(t)}onGenerateStart(t){var e;const n={recordInputs:t.recordInputs,recordOutputs:t.recordOutputs,functionId:t.functionId},o={maxOutputTokens:t.maxOutputTokens,temperature:t.temperature,topP:t.topP,topK:t.topK,presencePenalty:t.presencePenalty,frequencyPenalty:t.frequencyPenalty,stopSequences:t.stopSequences,seed:t.seed,maxRetries:t.maxRetries},r=S(t.provider),a=A(t.operationId),i=t.runtimeContext,s=m(n,this.supplementalAttributes,{runtimeContext:$(i),headers:x(t.headers)}),p=d(n,{"gen_ai.operation.name":a,"gen_ai.provider.name":r,"gen_ai.request.model":t.modelId,"gen_ai.agent.name":n.functionId,"gen_ai.request.frequency_penalty":t.frequencyPenalty,"gen_ai.request.max_tokens":t.maxOutputTokens,"gen_ai.request.presence_penalty":t.presencePenalty,"gen_ai.request.temperature":(e=t.temperature)!=null?e:void 0,"gen_ai.request.top_k":t.topK,"gen_ai.request.top_p":t.topP,"gen_ai.request.stop_sequences":t.stopSequences,"gen_ai.request.seed":t.seed,"gen_ai.system_instructions":t.instructions?{input:()=>JSON.stringify(O(t.instructions))}:void 0,"gen_ai.input.messages":{input:()=>JSON.stringify(k({prompt:void 0,messages:t.messages}))},...s}),c=`${a} ${t.modelId}`,g=this.tracer.startSpan(c,{attributes:this.getSpanAttributes({attributes:p,spanType:"operation",operationId:t.operationId,callId:t.callId,runtimeContext:i}),kind:l.SpanKind.INTERNAL}),u=l.trace.setSpan(l.context.active(),g);this.callStates.set(t.callId,{operationId:t.operationId,telemetry:n,rootSpan:g,rootContext:u,stepSpan:void 0,stepContext:void 0,inferenceSpan:void 0,inferenceContext:void 0,embedSpans:new Map,rerankSpan:void 0,toolSpans:new Map,settings:o,provider:t.provider,modelId:t.modelId,runtimeContext:i,baseSupplementalAttributes:s})}onObjectOperationStart(t){var e;const n={recordInputs:t.recordInputs,recordOutputs:t.recordOutputs,functionId:t.functionId},o={maxOutputTokens:t.maxOutputTokens,temperature:t.temperature,topP:t.topP,topK:t.topK,presencePenalty:t.presencePenalty,frequencyPenalty:t.frequencyPenalty,seed:t.seed,maxRetries:t.maxRetries},r=S(t.provider),a=A(t.operationId),i=m(n,this.supplementalAttributes,{headers:x(t.headers)}),s=d(n,{"gen_ai.operation.name":a,"gen_ai.provider.name":r,"gen_ai.request.model":t.modelId,"gen_ai.agent.name":n.functionId,"gen_ai.output.type":"json","gen_ai.request.frequency_penalty":t.frequencyPenalty,"gen_ai.request.max_tokens":t.maxOutputTokens,"gen_ai.request.presence_penalty":t.presencePenalty,"gen_ai.request.temperature":(e=t.temperature)!=null?e:void 0,"gen_ai.request.top_k":t.topK,"gen_ai.request.top_p":t.topP,"gen_ai.request.seed":t.seed,"gen_ai.system_instructions":t.system?{input:()=>JSON.stringify(O(t.system))}:void 0,"gen_ai.input.messages":{input:()=>JSON.stringify(k({prompt:t.prompt,messages:t.messages}))},...i,...m(n,this.supplementalAttributes,{schema:{"ai.schema":t.schema?{input:()=>JSON.stringify(t.schema)}:void 0,"ai.schema.name":t.schemaName,"ai.schema.description":t.schemaDescription,"ai.settings.output":t.output}})}),p=`${a} ${t.modelId}`,c=this.tracer.startSpan(p,{attributes:this.getSpanAttributes({attributes:s,spanType:"operation",operationId:t.operationId,callId:t.callId,runtimeContext:void 0}),kind:l.SpanKind.INTERNAL}),g=l.trace.setSpan(l.context.active(),c);this.callStates.set(t.callId,{operationId:t.operationId,telemetry:n,rootSpan:c,rootContext:g,stepSpan:void 0,stepContext:void 0,inferenceSpan:void 0,inferenceContext:void 0,embedSpans:new Map,rerankSpan:void 0,toolSpans:new Map,settings:o,provider:t.provider,modelId:t.modelId,runtimeContext:void 0,baseSupplementalAttributes:i})}onObjectStepStart(t){var e;const n=this.getCallState(t.callId);if(!n?.rootSpan||!n.rootContext)return;const{telemetry:o}=n,r=S(t.provider),a=d(o,{"gen_ai.operation.name":"chat","gen_ai.provider.name":r,"gen_ai.request.model":t.modelId,"gen_ai.output.type":"json","gen_ai.request.frequency_penalty":n.settings.frequencyPenalty,"gen_ai.request.max_tokens":n.settings.maxOutputTokens,"gen_ai.request.presence_penalty":n.settings.presencePenalty,"gen_ai.request.temperature":(e=n.settings.temperature)!=null?e:void 0,"gen_ai.request.top_k":n.settings.topK,"gen_ai.request.top_p":n.settings.topP,"gen_ai.input.messages":{input:()=>t.promptMessages?JSON.stringify(v(t.promptMessages)):void 0},...n.baseSupplementalAttributes}),i=`chat ${t.modelId}`;n.inferenceSpan=this.tracer.startSpan(i,{attributes:this.getSpanAttributes({attributes:a,spanType:"languageModel",operationId:n.operationId,callId:t.callId,runtimeContext:n.runtimeContext}),kind:l.SpanKind.CLIENT},n.rootContext),n.inferenceContext=l.trace.setSpan(n.rootContext,n.inferenceSpan)}onObjectStepEnd(t){var e;const n=this.getCallState(t.callId);if(!n?.inferenceSpan)return;const{telemetry:o}=n;n.inferenceSpan.setAttributes(d(o,{"gen_ai.response.finish_reasons":[t.finishReason],"gen_ai.response.id":t.response.id,"gen_ai.response.model":t.response.modelId,"gen_ai.usage.input_tokens":t.usage.inputTokens,"gen_ai.usage.output_tokens":t.usage.outputTokens,"gen_ai.usage.cache_read.input_tokens":(e=t.usage.inputTokenDetails)==null?void 0:e.cacheReadTokens,"gen_ai.output.messages":{output:()=>{try{return JSON.stringify(E({objectText:t.objectText,finishReason:t.finishReason}))}catch{return t.objectText}}},...m(o,this.supplementalAttributes,{providerMetadata:{"ai.response.providerMetadata":t.providerMetadata?JSON.stringify(t.providerMetadata):void 0},usage:b(t.usage)})})),n.inferenceSpan.end(),n.inferenceSpan=void 0,n.inferenceContext=void 0}onEmbedOperationStart(t){const e={recordInputs:t.recordInputs,recordOutputs:t.recordOutputs,functionId:t.functionId},n=S(t.provider),o=m(e,this.supplementalAttributes,{headers:x(t.headers)}),r=t.value,a=t.operationId==="ai.embedMany",i=d(e,{"gen_ai.operation.name":"embeddings","gen_ai.provider.name":n,"gen_ai.request.model":t.modelId,...o,...m(e,this.supplementalAttributes,{embedding:a?{"ai.values":{input:()=>r.map(g=>JSON.stringify(g))}}:{"ai.value":{input:()=>JSON.stringify(r)}}})}),s=`embeddings ${t.modelId}`,p=this.tracer.startSpan(s,{attributes:this.getSpanAttributes({attributes:i,spanType:"operation",operationId:t.operationId,callId:t.callId,runtimeContext:void 0}),kind:l.SpanKind.CLIENT}),c=l.trace.setSpan(l.context.active(),p);this.callStates.set(t.callId,{operationId:t.operationId,telemetry:e,rootSpan:p,rootContext:c,stepSpan:void 0,stepContext:void 0,inferenceSpan:void 0,inferenceContext:void 0,embedSpans:new Map,rerankSpan:void 0,toolSpans:new Map,settings:{maxRetries:t.maxRetries},provider:t.provider,modelId:t.modelId,runtimeContext:void 0,baseSupplementalAttributes:o})}onStepStart(t){const e=this.getCallState(t.callId);if(!e?.rootSpan||!e.rootContext)return;const{telemetry:n}=e;e.runtimeContext=t.runtimeContext;const o=d(n,{"gen_ai.operation.name":"agent_step",...e.baseSupplementalAttributes,...m(n,this.supplementalAttributes,{toolChoice:{"ai.prompt.toolChoice":{input:()=>t.stepToolChoice!=null?JSON.stringify(t.stepToolChoice):void 0}}})});e.stepSpan=this.tracer.startSpan(`step ${t.steps.length+1}`,{attributes:this.getSpanAttributes({attributes:o,spanType:"step",operationId:e.operationId,callId:t.callId,runtimeContext:e.runtimeContext}),kind:l.SpanKind.INTERNAL},e.rootContext),e.stepContext=l.trace.setSpan(e.rootContext,e.stepSpan)}onLanguageModelCallStart(t){var e;const n=this.getCallState(t.callId);if(!n?.stepContext)return;const{telemetry:o}=n,r=S(t.provider),a=d(o,{"gen_ai.operation.name":"chat","gen_ai.provider.name":r,"gen_ai.request.model":t.modelId,"gen_ai.request.frequency_penalty":n.settings.frequencyPenalty,"gen_ai.request.max_tokens":n.settings.maxOutputTokens,"gen_ai.request.presence_penalty":n.settings.presencePenalty,"gen_ai.request.stop_sequences":n.settings.stopSequences,"gen_ai.request.temperature":(e=n.settings.temperature)!=null?e:void 0,"gen_ai.request.top_k":n.settings.topK,"gen_ai.request.top_p":n.settings.topP,"gen_ai.input.messages":{input:()=>{const i=k({prompt:void 0,messages:t.messages});return i.length>0?JSON.stringify(i):void 0}},"gen_ai.tool.definitions":{input:()=>t.tools?JSON.stringify(t.tools):void 0}});n.inferenceSpan=this.tracer.startSpan(`chat ${t.modelId}`,{attributes:this.getSpanAttributes({attributes:a,spanType:"languageModel",operationId:n.operationId,callId:t.callId,runtimeContext:n.runtimeContext}),kind:l.SpanKind.CLIENT},n.stepContext),n.inferenceContext=l.trace.setSpan(n.stepContext,n.inferenceSpan)}onLanguageModelCallEnd(t){var e,n;const o=this.getCallState(t.callId);if(!o?.inferenceSpan)return;const{telemetry:r}=o;o.inferenceSpan.setAttributes(d(r,{...W(t.performance),"gen_ai.response.finish_reasons":[t.finishReason],"gen_ai.response.id":t.responseId,"gen_ai.usage.input_tokens":t.usage.inputTokens,"gen_ai.usage.output_tokens":t.usage.outputTokens,"gen_ai.usage.cache_read.input_tokens":(e=t.usage.inputTokenDetails)==null?void 0:e.cacheReadTokens,"gen_ai.usage.cache_creation.input_tokens":(n=t.usage.inputTokenDetails)==null?void 0:n.cacheWriteTokens,"gen_ai.output.messages":{output:()=>JSON.stringify(N({text:t.content.filter(a=>a.type==="text").map(a=>a.text).join("")||void 0,reasoning:t.content.filter(a=>a.type==="reasoning"),toolCalls:t.content.filter(a=>a.type==="tool-call"),files:t.content.filter(a=>a.type==="file").map(a=>a.file),finishReason:t.finishReason}))},...m(r,this.supplementalAttributes,{usage:b(t.usage)})})),o.inferenceSpan.end(),o.inferenceSpan=void 0,o.inferenceContext=void 0}onToolExecutionStart(t){const e=this.getCallState(t.callId);if(!e?.stepContext)return;const{telemetry:n}=e,{toolCall:o}=t,r=d(n,{"gen_ai.operation.name":"execute_tool","gen_ai.tool.name":o.toolName,"gen_ai.tool.call.id":o.toolCallId,"gen_ai.tool.type":"function","gen_ai.tool.call.arguments":{input:()=>JSON.stringify(o.input)}}),a=`execute_tool ${o.toolName}`,i=this.tracer.startSpan(a,{attributes:this.getSpanAttributes({attributes:r,spanType:"tool",operationId:e.operationId,callId:t.callId,runtimeContext:e.runtimeContext}),kind:l.SpanKind.INTERNAL},e.stepContext),s=l.trace.setSpan(e.stepContext,i);e.toolSpans.set(o.toolCallId,{span:i,context:s})}onToolExecutionEnd(t){const e=this.getCallState(t.callId);if(!e)return;const n=e.toolSpans.get(t.toolCall.toolCallId);if(!n)return;const{span:o}=n,{telemetry:r}=e,{toolOutput:a}=t;if(o.setAttributes(d(r,{"gen_ai.execute_tool.duration":C(t.toolExecutionMs)})),a.type==="tool-result")try{o.setAttributes(d(r,{"gen_ai.tool.call.result":{output:()=>JSON.stringify(a.output)}}))}catch{}else h(o,a.error);o.end(),e.toolSpans.delete(t.toolCall.toolCallId)}onStepEnd(t){const e=this.getCallState(t.callId);if(!e?.stepSpan)return;const{telemetry:n}=e;e.stepSpan.setAttributes(m(n,this.supplementalAttributes,{providerMetadata:{"ai.response.providerMetadata":t.providerMetadata?JSON.stringify(t.providerMetadata):void 0},usage:b(t.usage)})),e.stepSpan.end(),e.stepSpan=void 0,e.stepContext=void 0}onStepFinish(t){this.onStepEnd(t)}onEnd(t){const e=this.getCallState(t.callId);if(e?.rootSpan){if(e.operationId==="ai.embed"||e.operationId==="ai.embedMany"){this.onEmbedOperationEnd(t);return}if(e.operationId==="ai.rerank"){this.onRerankOperationEnd(t);return}if(e.operationId==="ai.generateObject"||e.operationId==="ai.streamObject"){this.onObjectOperationEnd(t);return}this.onGenerateEnd(t)}}onGenerateEnd(t){var e,n;const o=this.getCallState(t.callId);if(!o?.rootSpan)return;const{telemetry:r}=o;o.rootSpan.setAttributes(d(r,{"gen_ai.response.finish_reasons":[t.finishReason],"gen_ai.usage.input_tokens":t.usage.inputTokens,"gen_ai.usage.output_tokens":t.usage.outputTokens,"gen_ai.usage.cache_read.input_tokens":(e=t.usage.inputTokenDetails)==null?void 0:e.cacheReadTokens,"gen_ai.usage.cache_creation.input_tokens":(n=t.usage.inputTokenDetails)==null?void 0:n.cacheWriteTokens,"gen_ai.output.messages":{output:()=>{var a;return JSON.stringify(N({text:(a=t.text)!=null?a:void 0,reasoning:t.finalStep.reasoning,toolCalls:t.toolCalls,files:t.files,finishReason:t.finishReason}))}},...m(r,this.supplementalAttributes,{providerMetadata:{"ai.response.providerMetadata":t.finalStep.providerMetadata?JSON.stringify(t.finalStep.providerMetadata):void 0},usage:b(t.usage)})})),o.rootSpan.end(),this.cleanupCallState(t.callId)}onObjectOperationEnd(t){var e;const n=this.getCallState(t.callId);if(!n?.rootSpan)return;const{telemetry:o}=n;n.rootSpan.setAttributes(d(o,{"gen_ai.response.finish_reasons":[t.finishReason],"gen_ai.usage.input_tokens":t.usage.inputTokens,"gen_ai.usage.output_tokens":t.usage.outputTokens,"gen_ai.usage.cache_read.input_tokens":(e=t.usage.inputTokenDetails)==null?void 0:e.cacheReadTokens,"gen_ai.output.messages":{output:()=>t.object!=null?JSON.stringify(E({objectText:JSON.stringify(t.object),finishReason:t.finishReason})):void 0},...m(o,this.supplementalAttributes,{providerMetadata:{"ai.response.providerMetadata":t.providerMetadata?JSON.stringify(t.providerMetadata):void 0},usage:b(t.usage)})})),n.rootSpan.end(),this.cleanupCallState(t.callId)}onEmbedOperationEnd(t){const e=this.getCallState(t.callId);if(!e?.rootSpan)return;const{telemetry:n}=e,o=e.operationId==="ai.embedMany";e.rootSpan.setAttributes(d(n,{"gen_ai.usage.input_tokens":t.usage.tokens,...m(n,this.supplementalAttributes,{embedding:o?{"ai.embeddings":{output:()=>t.embedding.map(r=>JSON.stringify(r))}}:{"ai.embedding":{output:()=>JSON.stringify(t.embedding)}}})})),e.rootSpan.end(),this.cleanupCallState(t.callId)}onEmbedStart(t){const e=this.getCallState(t.callId);if(!e?.rootSpan||!e.rootContext)return;const{telemetry:n}=e,o=S(e.provider),r=d(n,{"gen_ai.operation.name":"embeddings","gen_ai.provider.name":o,"gen_ai.request.model":e.modelId,...e.baseSupplementalAttributes,...m(n,this.supplementalAttributes,{embedding:{"ai.values":{input:()=>t.values.map(p=>JSON.stringify(p))}}})}),a=`embeddings ${e.modelId}`,i=this.tracer.startSpan(a,{attributes:this.getSpanAttributes({attributes:r,spanType:"embedding",operationId:e.operationId,callId:t.callId,runtimeContext:e.runtimeContext}),kind:l.SpanKind.CLIENT},e.rootContext),s=l.trace.setSpan(e.rootContext,i);e.embedSpans.set(t.embedCallId,{span:i,context:s})}onEmbedEnd(t){const e=this.getCallState(t.callId);if(!e)return;const n=e.embedSpans.get(t.embedCallId);if(!n)return;const{span:o}=n,{telemetry:r}=e;o.setAttributes(d(r,{"gen_ai.usage.input_tokens":t.usage.tokens,...m(r,this.supplementalAttributes,{embedding:{"ai.embeddings":{output:()=>t.embeddings.map(a=>JSON.stringify(a))}}})})),o.end(),e.embedSpans.delete(t.embedCallId)}onRerankOperationStart(t){const e={recordInputs:t.recordInputs,recordOutputs:t.recordOutputs,functionId:t.functionId},n=S(t.provider),o=m(e,this.supplementalAttributes,{headers:x(t.headers)}),r=d(e,{"gen_ai.operation.name":"rerank","gen_ai.provider.name":n,"gen_ai.request.model":t.modelId,...o,...m(e,this.supplementalAttributes,{reranking:{"ai.documents":{input:()=>t.documents.map(p=>JSON.stringify(p))}}})}),a=`rerank ${t.modelId}`,i=this.tracer.startSpan(a,{attributes:this.getSpanAttributes({attributes:r,spanType:"operation",operationId:t.operationId,callId:t.callId,runtimeContext:void 0}),kind:l.SpanKind.CLIENT}),s=l.trace.setSpan(l.context.active(),i);this.callStates.set(t.callId,{operationId:t.operationId,telemetry:e,rootSpan:i,rootContext:s,stepSpan:void 0,stepContext:void 0,inferenceSpan:void 0,inferenceContext:void 0,embedSpans:new Map,rerankSpan:void 0,toolSpans:new Map,settings:{maxRetries:t.maxRetries},provider:t.provider,modelId:t.modelId,runtimeContext:void 0,baseSupplementalAttributes:o})}onRerankOperationEnd(t){const e=this.getCallState(t.callId);e?.rootSpan&&(e.rootSpan.end(),this.cleanupCallState(t.callId))}onRerankStart(t){const e=this.getCallState(t.callId);if(!e?.rootSpan||!e.rootContext)return;const{telemetry:n}=e,o=S(e.provider),r=d(n,{"gen_ai.operation.name":"rerank","gen_ai.provider.name":o,"gen_ai.request.model":e.modelId,...e.baseSupplementalAttributes,...m(n,this.supplementalAttributes,{reranking:{"ai.documents":{input:()=>t.documents.map(p=>JSON.stringify(p))}}})}),a=`rerank ${e.modelId}`,i=this.tracer.startSpan(a,{attributes:this.getSpanAttributes({attributes:r,spanType:"reranking",operationId:e.operationId,callId:t.callId,runtimeContext:e.runtimeContext}),kind:l.SpanKind.CLIENT},e.rootContext),s=l.trace.setSpan(e.rootContext,i);e.rerankSpan={span:i,context:s}}onRerankEnd(t){const e=this.getCallState(t.callId);if(!e?.rerankSpan)return;const{span:n}=e.rerankSpan,{telemetry:o}=e;n.setAttributes(m(o,this.supplementalAttributes,{reranking:{"ai.ranking.type":t.documentsType,"ai.ranking":{output:()=>t.ranking.map(r=>JSON.stringify(r))}}})),n.end(),e.rerankSpan=void 0}onAbort(t){const e=this.getCallState(t.callId);if(e?.rootSpan){for(const{span:n}of e.toolSpans.values())n.end();e.toolSpans.clear(),e.inferenceSpan&&(e.inferenceSpan.end(),e.inferenceSpan=void 0,e.inferenceContext=void 0),e.stepSpan&&(e.stepSpan.end(),e.stepSpan=void 0,e.stepContext=void 0);for(const{span:n}of e.embedSpans.values())n.end();e.embedSpans.clear(),e.rerankSpan&&(e.rerankSpan.span.end(),e.rerankSpan=void 0),e.rootSpan.end(),this.cleanupCallState(t.callId)}}onError(t){var e;const n=t;if(!n?.callId)return;const o=this.getCallState(n.callId);if(!o?.rootSpan)return;const r=(e=n.error)!=null?e:t;for(const{span:a}of o.toolSpans.values())h(a,r),a.end();o.toolSpans.clear(),o.inferenceSpan&&(h(o.inferenceSpan,r),o.inferenceSpan.end(),o.inferenceSpan=void 0,o.inferenceContext=void 0),o.stepSpan&&(h(o.stepSpan,r),o.stepSpan.end(),o.stepSpan=void 0,o.stepContext=void 0);for(const{span:a}of o.embedSpans.values())h(a,r),a.end();o.embedSpans.clear(),o.rerankSpan&&(h(o.rerankSpan.span,r),o.rerankSpan.span.end(),o.rerankSpan=void 0),h(o.rootSpan,r),o.rootSpan.end(),this.cleanupCallState(n.callId)}};function U(t){return y.pruneMessages({messages:t,emptyMessages:"remove",reasoning:"none",toolCalls:`before-last-${l.TOOL_CALL_MESSAGES_TO_KEEP}-messages`})}function B(t){return typeof t=="object"&&t!==null&&"role"in t&&"content"in t}function G(t){return Array.isArray(t)&&t.every(B)}function F(t,{conversationId:e,getModel:n}){let o=0;const r=()=>{const a=n?.();return a?{model_provider:a.provider,model_id:a.modelId}:{}};return{onStepStart:()=>{o+=1},onToolExecutionStart:a=>{t("com.redocly.aiChat.toolCallStarted",[{conversation_id:e,...l.createResource("toolCall",a.toolCall.toolCallId,"ai"),tool_name:a.toolCall.toolName,input:a.toolCall.input,step_number:o,...r()}])},onToolExecutionEnd:a=>{const i=a.toolOutput.type==="tool-error";t("com.redocly.aiChat.toolCallFinished",[{conversation_id:e,...l.createResource("toolCall",a.toolCall.toolCallId,"ai"),tool_name:a.toolCall.toolName,input:a.toolCall.input,step_number:o,success:!i,duration_ms:a.toolExecutionMs,...r(),...i&&{error:a.toolOutput.error instanceof Error?a.toolOutput.error.message:String(a.toolOutput.error)}}])},onStart:a=>{o=0,t("com.redocly.aiChat.conversationStarted",[{...l.createResource("conversation",e,"ai"),model_provider:"provider"in a?a.provider:"unknown",model_id:"modelId"in a?a.modelId:"unknown"}])},onEnd:a=>{if(!("steps"in a))return;const i=a.usage;t("com.redocly.aiChat.conversationFinished",[{...l.createResource("conversation",e,"ai"),model_provider:a.model.provider,model_id:a.model.modelId,success:!0,step_count:a.steps.length,finish_reason:a.finishReason,input_tokens:i.inputTokens,output_tokens:i.outputTokens,total_tokens:i.totalTokens}])}}}function V(t,e){const n=()=>l.trace.getSpan(l.context.active())?l.context.active():e;return{startSpan:(o,r,a)=>t.startSpan(o,r,a??e),startActiveSpan:((o,r,a,i)=>{if(typeof r=="function")return t.startActiveSpan(o,{},n(),r);if(typeof a=="function")return t.startActiveSpan(o,r,n(),a);if(i)return t.startActiveSpan(o,r,a,i);throw new Error("withParentContext: invalid startActiveSpan invocation")})}}class H{model;tools;toolLoopAgent;maxSteps;context=[];systemInstructions=j.getSystemInstructions();getActiveStateMessage;constructor(e){const{activeConversationId:n,onFinish:o,onStepFinish:r,tools:a}=e;this.maxSteps=e.maxSteps??l.DEFAULT_MAX_STEPS,this.getActiveStateMessage=e.getActiveStateMessage,this.model=this.createModel(e.model);const i=({stepNumber:c,messages:g})=>{const u=[],f=this.buildActiveStateMessage();return f&&u.push({role:"user",content:f}),c===this.maxSteps-1&&u.push({role:"user",content:T.LAST_STEP_PROMPT}),u.length===0?void 0:{messages:[...g,...u]}},s=c=>{const g=c.messages?this.prepareMessages(c.messages):void 0,u=c.prompt?this.preparePrompt(c.prompt):void 0;return{...c,model:this.model,messages:g,prompt:u,instructions:[...this.systemInstructions,...this.context],tools:this.tools??c.tools}},p=new z({...e.parentCtx&&{tracer:V(l.trace.getTracer("ai"),e.parentCtx)}});this.toolLoopAgent=new y.ToolLoopAgent({model:this.model,tools:a,stopWhen:y.isStepCount(this.maxSteps),onStepFinish:r,onFinish:o,maxOutputTokens:e.maxOutputTokens,maxRetries:e.maxRetries??l.DEFAULT_MAX_RETRIES,prepareStep:i,prepareCall:s,telemetry:{isEnabled:!0,recordInputs:!0,recordOutputs:!0,functionId:"replay-ai-chat",integrations:[p,F(e.sendEvent,{conversationId:n,getModel:()=>({provider:this.model.provider,modelId:this.model.modelId})})]}})}createModel(e){return y.createModel(e)}setModel(e){this.model=this.createModel(e)}getAgent(){return this.toolLoopAgent}addContext(e){this.context.push(...e)}registerTools(e){this.tools=e}async generateTitle(e,n){return y.streamText({model:this.model,system:T.CONVERSATION_TITLE_PROMPT,prompt:e,temperature:0,abortSignal:n}).text}buildActiveStateMessage(){if(!this.getActiveStateMessage)return null;try{return this.getActiveStateMessage()||null}catch(e){return console.error(e),null}}prepareMessages(e){return U(e)}preparePrompt(e){return G(e)?this.prepareMessages(e):e}}exports.AgentLoop=H;
@@ -1,4 +1,4 @@
1
- import { C as n, R as d, E as i } from "./replay-index-DXnDNeqk.js";
1
+ import { C as n, R as d, E as i } from "./replay-index-Cd9LaUVx.js";
2
2
  function A() {
3
3
  return `aichat_${n()}`;
4
4
  }
@@ -1 +1 @@
1
- "use strict";const i=require("./replay-index-S_wAPmTA.js");function d(){return`aichat_${i.ulid()}`}function u(){return`aimsg_${i.ulid()}`}function c(){return`aimpt_${i.ulid()}`}function l(e){return{id:e.id,title:e.title??void 0,modelConfig:e.modelConfig,messages:e.messages.map(g),createdAt:new Date(e.createdAt),updatedAt:new Date(e.updatedAt)}}function g(e){return{id:e.uiId,role:e.role,metadata:e.metadata,parts:e.parts.map(C)}}function C(e){return e.self}function f(e){const a=e.id;return{id:a,title:e.title,modelConfig:e.modelConfig,messages:e.messages.map((t,r)=>n(a,r,t))}}function n(e,a,t,r=u()){return{id:r,uiId:t.id,role:t.role,metadata:t.metadata,aiChatId:e,indexWithinInsertBatch:a,parts:t.parts.map((s,o)=>I(r,o,s))}}function I(e,a,t){return{id:c(),text:t.type==="text"?t.text:null,index:a,self:t,aiMessageId:e}}function A(e){return{id:e.id,title:e.title,modelConfig:h(e.model),messages:e.messages.map(p)}}function h(e){switch(e.provider){case i.AI_PROVIDERS.OPENAI:case i.AI_PROVIDERS.ANTHROPIC:case i.AI_PROVIDERS.GEMINI:return{provider:e.provider,modelId:e.modelId};case i.REUNITE_AI_PROVIDER:return{provider:e.provider,baseUrl:e.baseUrl};default:throw new Error("Cannot create model config")}}function p(e){return{...e,parts:e.parts.filter(a=>a.type!=="file")}}exports.buildPersistableUiChat=A;exports.convertAiChatRowToUiChat=l;exports.convertUiChatToAiChatRow=f;exports.convertUiMessageToAiChatMessage=n;exports.generateAiChatId=d;
1
+ "use strict";const i=require("./replay-index-BmotNqNI.js");function d(){return`aichat_${i.ulid()}`}function u(){return`aimsg_${i.ulid()}`}function c(){return`aimpt_${i.ulid()}`}function l(e){return{id:e.id,title:e.title??void 0,modelConfig:e.modelConfig,messages:e.messages.map(g),createdAt:new Date(e.createdAt),updatedAt:new Date(e.updatedAt)}}function g(e){return{id:e.uiId,role:e.role,metadata:e.metadata,parts:e.parts.map(C)}}function C(e){return e.self}function f(e){const a=e.id;return{id:a,title:e.title,modelConfig:e.modelConfig,messages:e.messages.map((t,r)=>n(a,r,t))}}function n(e,a,t,r=u()){return{id:r,uiId:t.id,role:t.role,metadata:t.metadata,aiChatId:e,indexWithinInsertBatch:a,parts:t.parts.map((s,o)=>I(r,o,s))}}function I(e,a,t){return{id:c(),text:t.type==="text"?t.text:null,index:a,self:t,aiMessageId:e}}function A(e){return{id:e.id,title:e.title,modelConfig:h(e.model),messages:e.messages.map(p)}}function h(e){switch(e.provider){case i.AI_PROVIDERS.OPENAI:case i.AI_PROVIDERS.ANTHROPIC:case i.AI_PROVIDERS.GEMINI:return{provider:e.provider,modelId:e.modelId};case i.REUNITE_AI_PROVIDER:return{provider:e.provider,baseUrl:e.baseUrl};default:throw new Error("Cannot create model config")}}function p(e){return{...e,parts:e.parts.filter(a=>a.type!=="file")}}exports.buildPersistableUiChat=A;exports.convertAiChatRowToUiChat=l;exports.convertUiChatToAiChatRow=f;exports.convertUiMessageToAiChatMessage=n;exports.generateAiChatId=d;
@@ -1,4 +1,4 @@
1
- import { R as nd, aD as zh, E as Kr } from "./replay-index-DXnDNeqk.js";
1
+ import { R as nd, aD as zh, E as Kr } from "./replay-index-Cd9LaUVx.js";
2
2
  var ad = "vercel.ai.error", Fh = Symbol.for(ad), Js, Ks, ve = class rd extends (Ks = Error, Js = Fh, Ks) {
3
3
  /**
4
4
  * Creates an AI SDK Error.
@@ -13622,7 +13622,7 @@ async function KT() {
13622
13622
  if (hf())
13623
13623
  return fi == null && (fi = import(
13624
13624
  /* webpackIgnore: true */
13625
- "./replay-index-DXnDNeqk.js"
13625
+ "./replay-index-Cd9LaUVx.js"
13626
13626
  ).then((e) => e.bb).catch(() => {
13627
13627
  })), fi;
13628
13628
  }
@@ -1,4 +1,4 @@
1
- "use strict";const ta=require("./replay-index-S_wAPmTA.js");var nd="vercel.ai.error",Fh=Symbol.for(nd),Js,Ks,ve=class ad extends(Ks=Error,Js=Fh,Ks){constructor({name:t,message:o,cause:n}){super(o),this[Js]=!0,this.name=t,this.cause=n}static isInstance(t){return ad.hasMarker(t,nd)}static hasMarker(t,o){const n=Symbol.for(o);return t!=null&&typeof t=="object"&&n in t&&typeof t[n]=="boolean"&&t[n]===!0}},rd="AI_APICallError",id=`vercel.ai.error.${rd}`,Zh=Symbol.for(id),Ys,Xs,et=class extends(Xs=ve,Ys=Zh,Xs){constructor({message:e,url:t,requestBodyValues:o,statusCode:n,responseHeaders:a,responseBody:r,cause:s,isRetryable:l=n!=null&&(n===408||n===409||n===429||n>=500),data:c}){super({name:rd,message:e,cause:s}),this[Ys]=!0,this.url=t,this.requestBodyValues=o,this.statusCode=n,this.responseHeaders=a,this.responseBody=r,this.isRetryable=l,this.data=c}static isInstance(e){return ve.hasMarker(e,id)}},sd="AI_EmptyResponseBodyError",ld=`vercel.ai.error.${sd}`,Vh=Symbol.for(ld),Qs,el,Gh=class extends(el=ve,Qs=Vh,el){constructor({message:e="Empty response body"}={}){super({name:sd,message:e}),this[Qs]=!0}static isInstance(e){return ve.hasMarker(e,ld)}};function Yo(e){return e==null?"unknown error":typeof e=="string"?e:e instanceof Error?e.toString():JSON.stringify(e)}var ud="AI_InvalidArgumentError",cd=`vercel.ai.error.${ud}`,Bh=Symbol.for(cd),tl,ol,ss=class extends(ol=ve,tl=Bh,ol){constructor({message:t,cause:o,argument:n}){super({name:ud,message:t,cause:o}),this[tl]=!0,this.argument=n}static isInstance(t){return ve.hasMarker(t,cd)}},dd="AI_InvalidPromptError",pd=`vercel.ai.error.${dd}`,Hh=Symbol.for(pd),nl,al,rn=class extends(al=ve,nl=Hh,al){constructor({prompt:e,message:t,cause:o}){super({name:dd,message:`Invalid prompt: ${t}`,cause:o}),this[nl]=!0,this.prompt=e}static isInstance(e){return ve.hasMarker(e,pd)}},md="AI_InvalidResponseDataError",fd=`vercel.ai.error.${md}`,Wh=Symbol.for(fd),rl,il,or=class extends(il=ve,rl=Wh,il){constructor({data:e,message:t=`Invalid response data: ${JSON.stringify(e)}.`}){super({name:md,message:t}),this[rl]=!0,this.data=e}static isInstance(e){return ve.hasMarker(e,fd)}},hd="AI_JSONParseError",gd=`vercel.ai.error.${hd}`,Jh=Symbol.for(gd),sl,ll,fr=class extends(ll=ve,sl=Jh,ll){constructor({text:e,cause:t}){super({name:hd,message:`JSON parsing failed: Text: ${e}.
1
+ "use strict";const ta=require("./replay-index-BmotNqNI.js");var nd="vercel.ai.error",Fh=Symbol.for(nd),Js,Ks,ve=class ad extends(Ks=Error,Js=Fh,Ks){constructor({name:t,message:o,cause:n}){super(o),this[Js]=!0,this.name=t,this.cause=n}static isInstance(t){return ad.hasMarker(t,nd)}static hasMarker(t,o){const n=Symbol.for(o);return t!=null&&typeof t=="object"&&n in t&&typeof t[n]=="boolean"&&t[n]===!0}},rd="AI_APICallError",id=`vercel.ai.error.${rd}`,Zh=Symbol.for(id),Ys,Xs,et=class extends(Xs=ve,Ys=Zh,Xs){constructor({message:e,url:t,requestBodyValues:o,statusCode:n,responseHeaders:a,responseBody:r,cause:s,isRetryable:l=n!=null&&(n===408||n===409||n===429||n>=500),data:c}){super({name:rd,message:e,cause:s}),this[Ys]=!0,this.url=t,this.requestBodyValues=o,this.statusCode=n,this.responseHeaders=a,this.responseBody=r,this.isRetryable=l,this.data=c}static isInstance(e){return ve.hasMarker(e,id)}},sd="AI_EmptyResponseBodyError",ld=`vercel.ai.error.${sd}`,Vh=Symbol.for(ld),Qs,el,Gh=class extends(el=ve,Qs=Vh,el){constructor({message:e="Empty response body"}={}){super({name:sd,message:e}),this[Qs]=!0}static isInstance(e){return ve.hasMarker(e,ld)}};function Yo(e){return e==null?"unknown error":typeof e=="string"?e:e instanceof Error?e.toString():JSON.stringify(e)}var ud="AI_InvalidArgumentError",cd=`vercel.ai.error.${ud}`,Bh=Symbol.for(cd),tl,ol,ss=class extends(ol=ve,tl=Bh,ol){constructor({message:t,cause:o,argument:n}){super({name:ud,message:t,cause:o}),this[tl]=!0,this.argument=n}static isInstance(t){return ve.hasMarker(t,cd)}},dd="AI_InvalidPromptError",pd=`vercel.ai.error.${dd}`,Hh=Symbol.for(pd),nl,al,rn=class extends(al=ve,nl=Hh,al){constructor({prompt:e,message:t,cause:o}){super({name:dd,message:`Invalid prompt: ${t}`,cause:o}),this[nl]=!0,this.prompt=e}static isInstance(e){return ve.hasMarker(e,pd)}},md="AI_InvalidResponseDataError",fd=`vercel.ai.error.${md}`,Wh=Symbol.for(fd),rl,il,or=class extends(il=ve,rl=Wh,il){constructor({data:e,message:t=`Invalid response data: ${JSON.stringify(e)}.`}){super({name:md,message:t}),this[rl]=!0,this.data=e}static isInstance(e){return ve.hasMarker(e,fd)}},hd="AI_JSONParseError",gd=`vercel.ai.error.${hd}`,Jh=Symbol.for(gd),sl,ll,fr=class extends(ll=ve,sl=Jh,ll){constructor({text:e,cause:t}){super({name:hd,message:`JSON parsing failed: Text: ${e}.
2
2
  Error message: ${Yo(t)}`,cause:t}),this[sl]=!0,this.text=e}static isInstance(e){return ve.hasMarker(e,gd)}},vd="AI_LoadAPIKeyError",yd=`vercel.ai.error.${vd}`,Kh=Symbol.for(yd),ul,cl,nr=class extends(cl=ve,ul=Kh,cl){constructor({message:e}){super({name:vd,message:e}),this[ul]=!0}static isInstance(e){return ve.hasMarker(e,yd)}},_d="AI_NoSuchModelError",bd=`vercel.ai.error.${_d}`,Yh=Symbol.for(bd),dl,pl,ml=class extends(pl=ve,dl=Yh,pl){constructor({errorName:e=_d,modelId:t,modelType:o,message:n=`No such ${o}: ${t}`}){super({name:e,message:n}),this[dl]=!0,this.modelId=t,this.modelType=o}static isInstance(e){return ve.hasMarker(e,bd)}},wd="AI_NoSuchProviderReferenceError",xd=`vercel.ai.error.${wd}`,Xh=Symbol.for(xd),fl,hl,Qh=class extends(hl=ve,fl=Xh,hl){constructor({provider:e,reference:t,message:o=`No provider reference found for provider '${e}'. Available providers: ${Object.keys(t).join(", ")}`}){super({name:wd,message:o}),this[fl]=!0,this.provider=e,this.reference=t}static isInstance(e){return ve.hasMarker(e,xd)}},Td="AI_TooManyEmbeddingValuesForCallError",Id=`vercel.ai.error.${Td}`,eg=Symbol.for(Id),gl,vl,kd=class extends(vl=ve,gl=eg,vl){constructor(e){super({name:Td,message:`Too many values for a single embedding call. The ${e.provider} model "${e.modelId}" can only embed up to ${e.maxEmbeddingsPerCall} values per call, but ${e.values.length} values were provided.`}),this[gl]=!0,this.provider=e.provider,this.modelId=e.modelId,this.maxEmbeddingsPerCall=e.maxEmbeddingsPerCall,this.values=e.values}static isInstance(e){return ve.hasMarker(e,Id)}},Sd="AI_TypeValidationError",Cd=`vercel.ai.error.${Sd}`,tg=Symbol.for(Cd),yl,_l,Bo=class Ii extends(_l=ve,yl=tg,_l){constructor({value:t,cause:o,context:n}){let a="Type validation failed";if(n?.field&&(a+=` for ${n.field}`),n?.entityName||n?.entityId){a+=" (";const r=[];n.entityName&&r.push(n.entityName),n.entityId&&r.push(`id: "${n.entityId}"`),a+=r.join(", "),a+=")"}super({name:Sd,message:`${a}: Value: ${JSON.stringify(t)}.
3
3
  Error message: ${Yo(o)}`,cause:o}),this[yl]=!0,this.value=t,this.context=n}static isInstance(t){return ve.hasMarker(t,Cd)}static wrap({value:t,cause:o,context:n}){var a,r,s;return Ii.isInstance(o)&&o.value===t&&((a=o.context)==null?void 0:a.field)===n?.field&&((r=o.context)==null?void 0:r.entityName)===n?.entityName&&((s=o.context)==null?void 0:s.entityId)===n?.entityId?o:new Ii({value:t,cause:o,context:n})}},Ed="AI_UnsupportedFunctionalityError",Md=`vercel.ai.error.${Ed}`,og=Symbol.for(Md),bl,wl,pt=class extends(wl=ve,bl=og,wl){constructor({functionality:e,message:t=`'${e}' functionality not supported.`}){super({name:Ed,message:t}),this[bl]=!0,this.functionality=e}static isInstance(e){return ve.hasMarker(e,Md)}};function ki(e){return e===null||typeof e=="string"||typeof e=="number"||typeof e=="boolean"?!0:Array.isArray(e)?e.every(ki):typeof e=="object"?Object.entries(e).every(([t,o])=>typeof t=="string"&&(o===void 0||ki(o))):!1}function Ia(e){return e!=null&&typeof e=="object"&&Object.entries(e).every(([t,o])=>typeof t=="string"&&(o===void 0||ki(o)))}function Q(e,t,o){function n(l,c){var p;Object.defineProperty(l,"_zod",{value:l._zod??{},enumerable:!1}),(p=l._zod).traits??(p.traits=new Set),l._zod.traits.add(e),t(l,c);for(const d in s.prototype)d in l||Object.defineProperty(l,d,{value:s.prototype[d].bind(l)});l._zod.constr=s,l._zod.def=c}const a=o?.Parent??Object;class r extends a{}Object.defineProperty(r,"name",{value:e});function s(l){var c;const p=o?.Parent?new r:this;n(p,l),(c=p._zod).deferred??(c.deferred=[]);for(const d of p._zod.deferred)d();return p}return Object.defineProperty(s,"init",{value:n}),Object.defineProperty(s,Symbol.hasInstance,{value:l=>o?.Parent&&l instanceof o.Parent?!0:l?._zod?.traits?.has(e)}),Object.defineProperty(s,"name",{value:e}),s}class Ea extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}const Rd={};function pn(e){return Rd}function Od(e){const t=Object.values(e).filter(n=>typeof n=="number");return Object.entries(e).filter(([n,a])=>t.indexOf(+n)===-1).map(([n,a])=>a)}function ng(e,t){return typeof t=="bigint"?t.toString():t}function ls(e){return{get value(){{const t=e();return Object.defineProperty(this,"value",{value:t}),t}}}}function us(e){return e==null}function cs(e){const t=e.startsWith("^")?1:0,o=e.endsWith("$")?e.length-1:e.length;return e.slice(t,o)}function ag(e,t){const o=(e.toString().split(".")[1]||"").length,n=(t.toString().split(".")[1]||"").length,a=o>n?o:n,r=Number.parseInt(e.toFixed(a).replace(".","")),s=Number.parseInt(t.toFixed(a).replace(".",""));return r%s/10**a}function We(e,t,o){Object.defineProperty(e,t,{get(){{const n=o();return e[t]=n,n}},set(n){Object.defineProperty(e,t,{value:n})},configurable:!0})}function Da(e,t,o){Object.defineProperty(e,t,{value:o,writable:!0,enumerable:!0,configurable:!0})}function ga(e){return JSON.stringify(e)}const Ad=Error.captureStackTrace?Error.captureStackTrace:(...e)=>{};function hr(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}const rg=ls(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{const e=Function;return new e(""),!0}catch{return!1}});function gr(e){if(hr(e)===!1)return!1;const t=e.constructor;if(t===void 0)return!0;const o=t.prototype;return!(hr(o)===!1||Object.prototype.hasOwnProperty.call(o,"isPrototypeOf")===!1)}const ig=new Set(["string","number","symbol"]);function qa(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Dn(e,t,o){const n=new e._zod.constr(t??e._zod.def);return(!t||o?.parent)&&(n._zod.parent=e),n}function we(e){const t=e;if(!t)return{};if(typeof t=="string")return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error=="string"?{...t,error:()=>t.error}:t}function sg(e){return Object.keys(e).filter(t=>e[t]._zod.optin==="optional"&&e[t]._zod.optout==="optional")}const lg={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]};function ug(e,t){const o={},n=e._zod.def;for(const a in t){if(!(a in n.shape))throw new Error(`Unrecognized key: "${a}"`);t[a]&&(o[a]=n.shape[a])}return Dn(e,{...e._zod.def,shape:o,checks:[]})}function cg(e,t){const o={...e._zod.def.shape},n=e._zod.def;for(const a in t){if(!(a in n.shape))throw new Error(`Unrecognized key: "${a}"`);t[a]&&delete o[a]}return Dn(e,{...e._zod.def,shape:o,checks:[]})}function dg(e,t){if(!gr(t))throw new Error("Invalid input to extend: expected a plain object");const o={...e._zod.def,get shape(){const n={...e._zod.def.shape,...t};return Da(this,"shape",n),n},checks:[]};return Dn(e,o)}function pg(e,t){return Dn(e,{...e._zod.def,get shape(){const o={...e._zod.def.shape,...t._zod.def.shape};return Da(this,"shape",o),o},catchall:t._zod.def.catchall,checks:[]})}function mg(e,t,o){const n=t._zod.def.shape,a={...n};if(o)for(const r in o){if(!(r in n))throw new Error(`Unrecognized key: "${r}"`);o[r]&&(a[r]=e?new e({type:"optional",innerType:n[r]}):n[r])}else for(const r in n)a[r]=e?new e({type:"optional",innerType:n[r]}):n[r];return Dn(t,{...t._zod.def,shape:a,checks:[]})}function fg(e,t,o){const n=t._zod.def.shape,a={...n};if(o)for(const r in o){if(!(r in a))throw new Error(`Unrecognized key: "${r}"`);o[r]&&(a[r]=new e({type:"nonoptional",innerType:n[r]}))}else for(const r in n)a[r]=new e({type:"nonoptional",innerType:n[r]});return Dn(t,{...t._zod.def,shape:a,checks:[]})}function ka(e,t=0){for(let o=t;o<e.issues.length;o++)if(e.issues[o]?.continue!==!0)return!0;return!1}function ln(e,t){return t.map(o=>{var n;return(n=o).path??(n.path=[]),o.path.unshift(e),o})}function ar(e){return typeof e=="string"?e:e?.message}function mn(e,t,o){const n={...e,path:e.path??[]};if(!e.message){const a=ar(e.inst?._zod.def?.error?.(e))??ar(t?.error?.(e))??ar(o.customError?.(e))??ar(o.localeError?.(e))??"Invalid input";n.message=a}return delete n.inst,delete n.continue,t?.reportInput||delete n.input,n}function ds(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function Ma(...e){const[t,o,n]=e;return typeof t=="string"?{message:t,code:"custom",input:o,inst:n}:{...t}}const Nd=(e,t)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:t,enumerable:!1}),Object.defineProperty(e,"message",{get(){return JSON.stringify(t,ng,2)},enumerable:!0}),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},$d=Q("$ZodError",Nd),Pd=Q("$ZodError",Nd,{Parent:Error});function hg(e,t=o=>o.message){const o={},n=[];for(const a of e.issues)a.path.length>0?(o[a.path[0]]=o[a.path[0]]||[],o[a.path[0]].push(t(a))):n.push(t(a));return{formErrors:n,fieldErrors:o}}function gg(e,t){const o=t||function(r){return r.message},n={_errors:[]},a=r=>{for(const s of r.issues)if(s.code==="invalid_union"&&s.errors.length)s.errors.map(l=>a({issues:l}));else if(s.code==="invalid_key")a({issues:s.issues});else if(s.code==="invalid_element")a({issues:s.issues});else if(s.path.length===0)n._errors.push(o(s));else{let l=n,c=0;for(;c<s.path.length;){const p=s.path[c];c===s.path.length-1?(l[p]=l[p]||{_errors:[]},l[p]._errors.push(o(s))):l[p]=l[p]||{_errors:[]},l=l[p],c++}}};return a(e),n}const vg=e=>(t,o,n,a)=>{const r=n?Object.assign(n,{async:!1}):{async:!1},s=t._zod.run({value:o,issues:[]},r);if(s instanceof Promise)throw new Ea;if(s.issues.length){const l=new(a?.Err??e)(s.issues.map(c=>mn(c,r,pn())));throw Ad(l,a?.callee),l}return s.value},yg=e=>async(t,o,n,a)=>{const r=n?Object.assign(n,{async:!0}):{async:!0};let s=t._zod.run({value:o,issues:[]},r);if(s instanceof Promise&&(s=await s),s.issues.length){const l=new(a?.Err??e)(s.issues.map(c=>mn(c,r,pn())));throw Ad(l,a?.callee),l}return s.value},Dd=e=>(t,o,n)=>{const a=n?{...n,async:!1}:{async:!1},r=t._zod.run({value:o,issues:[]},a);if(r instanceof Promise)throw new Ea;return r.issues.length?{success:!1,error:new(e??$d)(r.issues.map(s=>mn(s,a,pn())))}:{success:!0,data:r.value}},_g=Dd(Pd),qd=e=>async(t,o,n)=>{const a=n?Object.assign(n,{async:!0}):{async:!0};let r=t._zod.run({value:o,issues:[]},a);return r instanceof Promise&&(r=await r),r.issues.length?{success:!1,error:new e(r.issues.map(s=>mn(s,a,pn())))}:{success:!0,data:r.value}},bg=qd(Pd),wg=/^[cC][^\s-]{8,}$/,xg=/^[0-9a-z]+$/,Tg=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,Ig=/^[0-9a-vA-V]{20}$/,kg=/^[A-Za-z0-9]{27}$/,Sg=/^[a-zA-Z0-9_-]{21}$/,Cg=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,Eg=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,xl=e=>e?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$/,Mg=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,Rg="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function Og(){return new RegExp(Rg,"u")}const Ag=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,Ng=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})$/,$g=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,Pg=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,Dg=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,jd=/^[A-Za-z0-9_-]*$/,qg=/^([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+$/,jg=/^\+(?:[0-9]){6,14}[0-9]$/,Ud="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",Ug=new RegExp(`^${Ud}$`);function Ld(e){const t="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof e.precision=="number"?e.precision===-1?`${t}`:e.precision===0?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}function Lg(e){return new RegExp(`^${Ld(e)}$`)}function zg(e){const t=Ld({precision:e.precision}),o=["Z"];e.local&&o.push(""),e.offset&&o.push("([+-]\\d{2}:\\d{2})");const n=`${t}(?:${o.join("|")})`;return new RegExp(`^${Ud}T(?:${n})$`)}const Fg=e=>{const t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)},Zg=/^\d+$/,Vg=/^-?\d+(?:\.\d+)?/i,Gg=/true|false/i,Bg=/null/i,Hg=/^[^A-Z]*$/,Wg=/^[^a-z]*$/,eo=Q("$ZodCheck",(e,t)=>{var o;e._zod??(e._zod={}),e._zod.def=t,(o=e._zod).onattach??(o.onattach=[])}),zd={number:"number",bigint:"bigint",object:"date"},Fd=Q("$ZodCheckLessThan",(e,t)=>{eo.init(e,t);const o=zd[typeof t.value];e._zod.onattach.push(n=>{const a=n._zod.bag,r=(t.inclusive?a.maximum:a.exclusiveMaximum)??Number.POSITIVE_INFINITY;t.value<r&&(t.inclusive?a.maximum=t.value:a.exclusiveMaximum=t.value)}),e._zod.check=n=>{(t.inclusive?n.value<=t.value:n.value<t.value)||n.issues.push({origin:o,code:"too_big",maximum:t.value,input:n.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Zd=Q("$ZodCheckGreaterThan",(e,t)=>{eo.init(e,t);const o=zd[typeof t.value];e._zod.onattach.push(n=>{const a=n._zod.bag,r=(t.inclusive?a.minimum:a.exclusiveMinimum)??Number.NEGATIVE_INFINITY;t.value>r&&(t.inclusive?a.minimum=t.value:a.exclusiveMinimum=t.value)}),e._zod.check=n=>{(t.inclusive?n.value>=t.value:n.value>t.value)||n.issues.push({origin:o,code:"too_small",minimum:t.value,input:n.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Jg=Q("$ZodCheckMultipleOf",(e,t)=>{eo.init(e,t),e._zod.onattach.push(o=>{var n;(n=o._zod.bag).multipleOf??(n.multipleOf=t.value)}),e._zod.check=o=>{if(typeof o.value!=typeof t.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof o.value=="bigint"?o.value%t.value===BigInt(0):ag(o.value,t.value)===0)||o.issues.push({origin:typeof o.value,code:"not_multiple_of",divisor:t.value,input:o.value,inst:e,continue:!t.abort})}}),Kg=Q("$ZodCheckNumberFormat",(e,t)=>{eo.init(e,t),t.format=t.format||"float64";const o=t.format?.includes("int"),n=o?"int":"number",[a,r]=lg[t.format];e._zod.onattach.push(s=>{const l=s._zod.bag;l.format=t.format,l.minimum=a,l.maximum=r,o&&(l.pattern=Zg)}),e._zod.check=s=>{const l=s.value;if(o){if(!Number.isInteger(l)){s.issues.push({expected:n,format:t.format,code:"invalid_type",input:l,inst:e});return}if(!Number.isSafeInteger(l)){l>0?s.issues.push({input:l,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:n,continue:!t.abort}):s.issues.push({input:l,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:n,continue:!t.abort});return}}l<a&&s.issues.push({origin:"number",input:l,code:"too_small",minimum:a,inclusive:!0,inst:e,continue:!t.abort}),l>r&&s.issues.push({origin:"number",input:l,code:"too_big",maximum:r,inst:e})}}),Yg=Q("$ZodCheckMaxLength",(e,t)=>{var o;eo.init(e,t),(o=e._zod.def).when??(o.when=n=>{const a=n.value;return!us(a)&&a.length!==void 0}),e._zod.onattach.push(n=>{const a=n._zod.bag.maximum??Number.POSITIVE_INFINITY;t.maximum<a&&(n._zod.bag.maximum=t.maximum)}),e._zod.check=n=>{const a=n.value;if(a.length<=t.maximum)return;const s=ds(a);n.issues.push({origin:s,code:"too_big",maximum:t.maximum,inclusive:!0,input:a,inst:e,continue:!t.abort})}}),Xg=Q("$ZodCheckMinLength",(e,t)=>{var o;eo.init(e,t),(o=e._zod.def).when??(o.when=n=>{const a=n.value;return!us(a)&&a.length!==void 0}),e._zod.onattach.push(n=>{const a=n._zod.bag.minimum??Number.NEGATIVE_INFINITY;t.minimum>a&&(n._zod.bag.minimum=t.minimum)}),e._zod.check=n=>{const a=n.value;if(a.length>=t.minimum)return;const s=ds(a);n.issues.push({origin:s,code:"too_small",minimum:t.minimum,inclusive:!0,input:a,inst:e,continue:!t.abort})}}),Qg=Q("$ZodCheckLengthEquals",(e,t)=>{var o;eo.init(e,t),(o=e._zod.def).when??(o.when=n=>{const a=n.value;return!us(a)&&a.length!==void 0}),e._zod.onattach.push(n=>{const a=n._zod.bag;a.minimum=t.length,a.maximum=t.length,a.length=t.length}),e._zod.check=n=>{const a=n.value,r=a.length;if(r===t.length)return;const s=ds(a),l=r>t.length;n.issues.push({origin:s,...l?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:n.value,inst:e,continue:!t.abort})}}),Pr=Q("$ZodCheckStringFormat",(e,t)=>{var o,n;eo.init(e,t),e._zod.onattach.push(a=>{const r=a._zod.bag;r.format=t.format,t.pattern&&(r.patterns??(r.patterns=new Set),r.patterns.add(t.pattern))}),t.pattern?(o=e._zod).check??(o.check=a=>{t.pattern.lastIndex=0,!t.pattern.test(a.value)&&a.issues.push({origin:"string",code:"invalid_format",format:t.format,input:a.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(n=e._zod).check??(n.check=()=>{})}),ev=Q("$ZodCheckRegex",(e,t)=>{Pr.init(e,t),e._zod.check=o=>{t.pattern.lastIndex=0,!t.pattern.test(o.value)&&o.issues.push({origin:"string",code:"invalid_format",format:"regex",input:o.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),tv=Q("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=Hg),Pr.init(e,t)}),ov=Q("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=Wg),Pr.init(e,t)}),nv=Q("$ZodCheckIncludes",(e,t)=>{eo.init(e,t);const o=qa(t.includes),n=new RegExp(typeof t.position=="number"?`^.{${t.position}}${o}`:o);t.pattern=n,e._zod.onattach.push(a=>{const r=a._zod.bag;r.patterns??(r.patterns=new Set),r.patterns.add(n)}),e._zod.check=a=>{a.value.includes(t.includes,t.position)||a.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:t.includes,input:a.value,inst:e,continue:!t.abort})}}),av=Q("$ZodCheckStartsWith",(e,t)=>{eo.init(e,t);const o=new RegExp(`^${qa(t.prefix)}.*`);t.pattern??(t.pattern=o),e._zod.onattach.push(n=>{const a=n._zod.bag;a.patterns??(a.patterns=new Set),a.patterns.add(o)}),e._zod.check=n=>{n.value.startsWith(t.prefix)||n.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:t.prefix,input:n.value,inst:e,continue:!t.abort})}}),rv=Q("$ZodCheckEndsWith",(e,t)=>{eo.init(e,t);const o=new RegExp(`.*${qa(t.suffix)}$`);t.pattern??(t.pattern=o),e._zod.onattach.push(n=>{const a=n._zod.bag;a.patterns??(a.patterns=new Set),a.patterns.add(o)}),e._zod.check=n=>{n.value.endsWith(t.suffix)||n.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:t.suffix,input:n.value,inst:e,continue:!t.abort})}}),iv=Q("$ZodCheckOverwrite",(e,t)=>{eo.init(e,t),e._zod.check=o=>{o.value=t.tx(o.value)}});class sv{constructor(t=[]){this.content=[],this.indent=0,this&&(this.args=t)}indented(t){this.indent+=1,t(this),this.indent-=1}write(t){if(typeof t=="function"){t(this,{execution:"sync"}),t(this,{execution:"async"});return}const n=t.split(`
4
4
  `).filter(s=>s),a=Math.min(...n.map(s=>s.length-s.trimStart().length)),r=n.map(s=>s.slice(a)).map(s=>" ".repeat(this.indent*2)+s);for(const s of r)this.content.push(s)}compile(){const t=Function,o=this?.args,a=[...(this?.content??[""]).map(r=>` ${r}`)];return new t(...o,a.join(`
@@ -69,7 +69,7 @@ Alternatively, you can use a provider module instead of the AI Gateway.
69
69
 
70
70
  Learn more: \x1B[34m${o}\x1B[0m
71
71
 
72
- `),{name:"GatewayAuthenticationError"})}function af(e){return{inputTokens:e.inputTokens.total,inputTokenDetails:{noCacheTokens:e.inputTokens.noCache,cacheReadTokens:e.inputTokens.cacheRead,cacheWriteTokens:e.inputTokens.cacheWrite},outputTokens:e.outputTokens.total,outputTokenDetails:{textTokens:e.outputTokens.text,reasoningTokens:e.outputTokens.reasoning},totalTokens:zo(e.inputTokens.total,e.outputTokens.total),raw:e.raw}}function mi(){return{inputTokens:void 0,inputTokenDetails:{noCacheTokens:void 0,cacheReadTokens:void 0,cacheWriteTokens:void 0},outputTokens:void 0,outputTokenDetails:{textTokens:void 0,reasoningTokens:void 0},totalTokens:void 0,raw:void 0}}function rf(e,t){var o,n,a,r,s,l,c,p,d,m;return{inputTokens:zo(e.inputTokens,t.inputTokens),inputTokenDetails:{noCacheTokens:zo((o=e.inputTokenDetails)==null?void 0:o.noCacheTokens,(n=t.inputTokenDetails)==null?void 0:n.noCacheTokens),cacheReadTokens:zo((a=e.inputTokenDetails)==null?void 0:a.cacheReadTokens,(r=t.inputTokenDetails)==null?void 0:r.cacheReadTokens),cacheWriteTokens:zo((s=e.inputTokenDetails)==null?void 0:s.cacheWriteTokens,(l=t.inputTokenDetails)==null?void 0:l.cacheWriteTokens)},outputTokens:zo(e.outputTokens,t.outputTokens),outputTokenDetails:{textTokens:zo((c=e.outputTokenDetails)==null?void 0:c.textTokens,(p=t.outputTokenDetails)==null?void 0:p.textTokens),reasoningTokens:zo((d=e.outputTokenDetails)==null?void 0:d.reasoningTokens,(m=t.outputTokenDetails)==null?void 0:m.reasoningTokens)},totalTokens:zo(e.totalTokens,t.totalTokens)}}function zo(e,t){return e==null&&t==null?void 0:(e??0)+(t??0)}function Os(...e){const t=Tn(...e).map(o=>o instanceof AbortSignal?o:AbortSignal.timeout(o));return t.length===0?void 0:t.length===1?t[0]:AbortSignal.any(t)}function Vr(e,t){if(e===void 0&&t===void 0)return;if(e===void 0)return t;if(t===void 0)return e;const o={...e};for(const n in t)if(!(n==="__proto__"||n==="constructor"||n==="prototype")&&Object.prototype.hasOwnProperty.call(t,n)){const a=t[n];if(a===void 0)continue;const r=n in e?e[n]:void 0,s=a!==null&&typeof a=="object"&&!Array.isArray(a)&&!(a instanceof Date)&&!(a instanceof RegExp),l=r!=null&&typeof r=="object"&&!Array.isArray(r)&&!(r instanceof Date)&&!(r instanceof RegExp);s&&l?o[n]=Vr(r,a):o[n]=a}return o}function Na(){var e,t;return(t=(e=globalThis?.performance)==null?void 0:e.now())!=null?t:Date.now()}async function yt(e){await Promise.all($n(e.callbacks).map(async t=>{try{await t?.(e.event)}catch{}}))}function BT({error:e,exponentialBackoffDelay:t}){const o=et.isInstance(e)?e.responseHeaders:et.isInstance(e.cause)?e.cause.responseHeaders:void 0;if(!o)return t;let n;const a=o["retry-after-ms"];if(a){const s=parseFloat(a);Number.isNaN(s)||(n=s)}const r=o["retry-after"];if(r&&n===void 0){const s=parseFloat(r);Number.isNaN(s)?n=Date.parse(r)-Date.now():n=s*1e3}return n!=null&&!Number.isNaN(n)&&0<=n&&(n<60*1e3||n<t)?n:t}var HT=({maxRetries:e=2,initialDelayInMs:t=2e3,backoffFactor:o=2,abortSignal:n}={})=>async a=>sf(a,{maxRetries:e,delayInMs:t,backoffFactor:o,abortSignal:n});async function sf(e,{maxRetries:t,delayInMs:o,backoffFactor:n,abortSignal:a},r=[]){try{return await e()}catch(s){if(Ao(s)||t===0)throw s;const l=Yo(s),c=[...r,s],p=c.length;if(p>t)throw new Ju({message:`Failed after ${p} attempts. Last error: ${l}`,reason:"maxRetriesExceeded",errors:c});if(s instanceof Error&&(et.isInstance(s)&&s.isRetryable===!0||It.isInstance(s)&&s.isRetryable===!0)&&p<=t)return await Sn(BT({error:s,exponentialBackoffDelay:o}),{abortSignal:a}),sf(e,{maxRetries:t,delayInMs:n*o,backoffFactor:n,abortSignal:a},c);throw p===1?s:new Ju({message:`Failed after ${p} attempts with non-retryable error: '${l}'`,reason:"errorNotRetryable",errors:c})}}function zi({maxRetries:e,abortSignal:t}){if(e!=null){if(!Number.isInteger(e))throw new To({parameter:"maxRetries",value:e,message:"maxRetries must be an integer"});if(e<0)throw new To({parameter:"maxRetries",value:e,message:"maxRetries must be >= 0"})}const o=e??2;return{maxRetries:o,retry:HT({maxRetries:o,abortSignal:t})}}function Fi({abortController:e,label:t,timeoutMs:o}){if(!(e==null||o==null))return setTimeout(()=>e.abort(new DOMException(`${t} timeout of ${o}ms exceeded`,"TimeoutError")),o)}function un({tokens:e,durationMs:t}){const o=1e3*(e??0)/(t??0);return Number.isFinite(o)?o:0}function lf({messages:e}){const t=e.at(-1);if(t?.role!="tool")return{approvedToolApprovals:[],deniedToolApprovals:[]};const o={};for(const c of e)if(c.role==="assistant"&&typeof c.content!="string"){const p=c.content;for(const d of p)d.type==="tool-call"&&(o[d.toolCallId]=d)}const n={};for(const c of e)if(c.role==="assistant"&&typeof c.content!="string"){const p=c.content;for(const d of p)d.type==="tool-approval-request"&&(n[d.approvalId]=d)}const a={};for(const c of t.content)c.type==="tool-result"&&(a[c.toolCallId]=c);const r=[],s=[],l=t.content.filter(c=>c.type==="tool-approval-response");for(const c of l){const p=n[c.approvalId];if(p==null)throw new Gx({approvalId:c.approvalId});if(a[p.toolCallId]!=null)continue;const d=o[p.toolCallId];if(d==null)throw new Ss({toolCallId:p.toolCallId,approvalId:p.approvalId});const m={approvalRequest:p,approvalResponse:c,toolCall:d};c.approved?r.push(m):s.push(m)}return{approvedToolApprovals:r,deniedToolApprovals:s}}async function Zi({toolName:e,context:t,contextSchema:o}){return o==null?t:await $e({value:t,schema:o,context:{field:"tool context",entityName:e}})}async function As({toolCall:e,tools:t,toolsContext:o,callId:n,messages:a,abortSignal:r,timeout:s,experimental_sandbox:l,onPreliminaryToolResult:c,onToolExecutionStart:p,onToolExecutionEnd:d,executeToolInTelemetryContext:m=async({execute:y})=>await y(),runInTracingChannelSpan:v=async({execute:y})=>await y()}){const{toolName:y,toolCallId:g,input:b}=e,x=t?.[y];if(!Mp(x))return;const w=await Zi({toolName:y,context:o?.[y],contextSchema:x.contextSchema}),_={toolCall:e,messages:a,toolContext:w},k={callId:n,..._};return await v({type:"executeTool",event:k,execute:async()=>{let h;await yt({event:k,callbacks:p});const S=OT(s,y),E=Os(r,S);let O=0;try{await m({callId:n,toolCallId:g,..._,execute:async()=>{const C=Na();try{const P=dw({tool:x,input:b,options:{toolCallId:g,messages:a,abortSignal:E,context:w,experimental_sandbox:l}});for await(const H of P)H.type==="preliminary"?c?.({...e,type:"tool-result",output:H.output,preliminary:!0}):h=H.output}finally{O=Na()-C}}})}catch(C){const P={type:"tool-error",toolCallId:g,toolName:y,input:b,error:C,dynamic:x.type==="dynamic",...e.providerMetadata!=null?{providerMetadata:e.providerMetadata}:{},...e.toolMetadata!=null?{toolMetadata:e.toolMetadata}:{}};return await yt({event:{...k,toolOutput:P,toolExecutionMs:O},callbacks:d}),{output:P,toolExecutionMs:O}}const R={type:"tool-result",toolCallId:g,toolName:y,input:b,output:h,dynamic:x.type==="dynamic",...e.providerMetadata!=null?{providerMetadata:e.providerMetadata}:{},...e.toolMetadata!=null?{toolMetadata:e.toolMetadata}:{}};return await yt({event:{...k,toolOutput:R,toolExecutionMs:O},callbacks:d}),{output:R,toolExecutionMs:O}}})}function uf({tools:e,activeTools:t}){return e==null||t==null?e:Object.fromEntries(Object.entries(e).filter(([o])=>t.includes(o)))}var Ns=class{constructor({data:e,mediaType:t}){const o=e instanceof Uint8Array;this.base64Data=o?void 0:e,this.uint8ArrayData=o?e:void 0,this.mediaType=t}get base64(){return this.base64Data==null&&(this.base64Data=Wo(this.uint8ArrayData)),this.base64Data}get uint8Array(){return this.uint8ArrayData==null&&(this.uint8ArrayData=No(this.base64Data)),this.uint8ArrayData}},WT=class extends Ns{constructor(e){super(e),this.type="file"}},JT={};Fx(JT,{array:()=>XT,choice:()=>QT,json:()=>eI,object:()=>YT,text:()=>Nr});function KT(e){const t=["ROOT"];let o=-1,n=null,a=0;function r(d){return d>="0"&&d<="9"||d>="A"&&d<="F"||d>="a"&&d<="f"}function s(d,m,v){switch(d){case'"':{o=m,t.pop(),t.push(v),t.push("INSIDE_STRING");break}case"f":case"t":case"n":{o=m,n=m,t.pop(),t.push(v),t.push("INSIDE_LITERAL");break}case"-":{t.pop(),t.push(v),t.push("INSIDE_NUMBER");break}case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":{o=m,t.pop(),t.push(v),t.push("INSIDE_NUMBER");break}case"{":{o=m,t.pop(),t.push(v),t.push("INSIDE_OBJECT_START");break}case"[":{o=m,t.pop(),t.push(v),t.push("INSIDE_ARRAY_START");break}}}function l(d,m){switch(d){case",":{t.pop(),t.push("INSIDE_OBJECT_AFTER_COMMA");break}case"}":{o=m,t.pop();break}}}function c(d,m){switch(d){case",":{t.pop(),t.push("INSIDE_ARRAY_AFTER_COMMA");break}case"]":{o=m,t.pop();break}}}for(let d=0;d<e.length;d++){const m=e[d];switch(t[t.length-1]){case"ROOT":s(m,d,"FINISH");break;case"INSIDE_OBJECT_START":{switch(m){case'"':{t.pop(),t.push("INSIDE_OBJECT_KEY");break}case"}":{o=d,t.pop();break}}break}case"INSIDE_OBJECT_AFTER_COMMA":{m==='"'&&(t.pop(),t.push("INSIDE_OBJECT_KEY"));break}case"INSIDE_OBJECT_KEY":{m==='"'&&(t.pop(),t.push("INSIDE_OBJECT_AFTER_KEY"));break}case"INSIDE_OBJECT_AFTER_KEY":{m===":"&&(t.pop(),t.push("INSIDE_OBJECT_BEFORE_VALUE"));break}case"INSIDE_OBJECT_BEFORE_VALUE":{s(m,d,"INSIDE_OBJECT_AFTER_VALUE");break}case"INSIDE_OBJECT_AFTER_VALUE":{l(m,d);break}case"INSIDE_STRING":{switch(m){case'"':{t.pop(),o=d;break}case"\\":{t.push("INSIDE_STRING_ESCAPE");break}default:o=d}break}case"INSIDE_ARRAY_START":{m==="]"?(o=d,t.pop()):(o=d,s(m,d,"INSIDE_ARRAY_AFTER_VALUE"));break}case"INSIDE_ARRAY_AFTER_VALUE":{switch(m){case",":{t.pop(),t.push("INSIDE_ARRAY_AFTER_COMMA");break}case"]":{o=d,t.pop();break}default:{o=d;break}}break}case"INSIDE_ARRAY_AFTER_COMMA":{s(m,d,"INSIDE_ARRAY_AFTER_VALUE");break}case"INSIDE_STRING_ESCAPE":{t.pop(),m==="u"?(a=0,t.push("INSIDE_STRING_UNICODE_ESCAPE")):o=d;break}case"INSIDE_STRING_UNICODE_ESCAPE":{r(m)&&(a++,a===4&&(t.pop(),o=d));break}case"INSIDE_NUMBER":{switch(m){case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":{o=d;break}case"e":case"E":case"-":case".":break;case",":{t.pop(),t[t.length-1]==="INSIDE_ARRAY_AFTER_VALUE"&&c(m,d),t[t.length-1]==="INSIDE_OBJECT_AFTER_VALUE"&&l(m,d);break}case"}":{t.pop(),t[t.length-1]==="INSIDE_OBJECT_AFTER_VALUE"&&l(m,d);break}case"]":{t.pop(),t[t.length-1]==="INSIDE_ARRAY_AFTER_VALUE"&&c(m,d);break}default:{t.pop();break}}break}case"INSIDE_LITERAL":{const y=e.substring(n,d+1);!"false".startsWith(y)&&!"true".startsWith(y)&&!"null".startsWith(y)?(t.pop(),t[t.length-1]==="INSIDE_OBJECT_AFTER_VALUE"?l(m,d):t[t.length-1]==="INSIDE_ARRAY_AFTER_VALUE"&&c(m,d)):o=d;break}}}let p=e.slice(0,o+1);for(let d=t.length-1;d>=0;d--)switch(t[d]){case"INSIDE_STRING":{p+='"';break}case"INSIDE_OBJECT_KEY":case"INSIDE_OBJECT_AFTER_KEY":case"INSIDE_OBJECT_AFTER_COMMA":case"INSIDE_OBJECT_START":case"INSIDE_OBJECT_BEFORE_VALUE":case"INSIDE_OBJECT_AFTER_VALUE":{p+="}";break}case"INSIDE_ARRAY_START":case"INSIDE_ARRAY_AFTER_COMMA":case"INSIDE_ARRAY_AFTER_VALUE":{p+="]";break}case"INSIDE_LITERAL":{const v=e.substring(n,e.length);"true".startsWith(v)?p+="true".slice(v.length):"false".startsWith(v)?p+="false".slice(v.length):"null".startsWith(v)&&(p+="null".slice(v.length))}}return p}async function Za(e){if(e===void 0)return{value:void 0,state:"undefined-input"};let t=await mo({text:e});return t.success?{value:t.value,state:"successful-parse"}:(t=await mo({text:KT(e)}),t.success?{value:t.value,state:"repaired-parse"}:{value:void 0,state:"failed-parse"})}var Nr=()=>({name:"text",responseFormat:Promise.resolve({type:"text"}),async parseCompleteOutput({text:e}){return e},async parsePartialOutput({text:e}){return{partial:e}},createElementStreamTransform(){}}),YT=({schema:e,name:t,description:o})=>{const n=qn(e);return{name:"object",responseFormat:De(n.jsonSchema).then(a=>({type:"json",schema:a,...t!=null&&{name:t},...o!=null&&{description:o}})),async parseCompleteOutput({text:a},r){const s=await mo({text:a});if(!s.success)throw new dn({message:"No object generated: could not parse the response.",cause:s.error,text:a,response:r.response,usage:r.usage,finishReason:r.finishReason});const l=await po({value:s.value,schema:n});if(!l.success)throw new dn({message:"No object generated: response did not match schema.",cause:l.error,text:a,response:r.response,usage:r.usage,finishReason:r.finishReason});return l.value},async parsePartialOutput({text:a}){const r=await Za(a);switch(r.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":return{partial:r.value}}},createElementStreamTransform(){}}},XT=({element:e,name:t,description:o})=>{const n=qn(e);return{name:"array",responseFormat:De(n.jsonSchema).then(a=>{const{$schema:r,...s}=a;return{type:"json",schema:{$schema:"http://json-schema.org/draft-07/schema#",type:"object",properties:{elements:{type:"array",items:s}},required:["elements"],additionalProperties:!1},...t!=null&&{name:t},...o!=null&&{description:o}}}),async parseCompleteOutput({text:a},r){const s=await mo({text:a});if(!s.success)throw new dn({message:"No object generated: could not parse the response.",cause:s.error,text:a,response:r.response,usage:r.usage,finishReason:r.finishReason});const l=s.value;if(l==null||typeof l!="object"||!("elements"in l)||!Array.isArray(l.elements))throw new dn({message:"No object generated: response did not match schema.",cause:new Bo({value:l,cause:"response must be an object with an elements array"}),text:a,response:r.response,usage:r.usage,finishReason:r.finishReason});const c=[];for(const p of l.elements){const d=await po({value:p,schema:n});if(!d.success)throw new dn({message:"No object generated: response did not match schema.",cause:d.error,text:a,response:r.response,usage:r.usage,finishReason:r.finishReason});c.push(d.value)}return c},async parsePartialOutput({text:a}){const r=await Za(a);switch(r.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":{const s=r.value;if(s==null||typeof s!="object"||!("elements"in s)||!Array.isArray(s.elements))return;const l=r.state==="repaired-parse"&&s.elements.length>0?s.elements.slice(0,-1):s.elements,c=[];for(const p of l){const d=await po({value:p,schema:n});d.success&&c.push(d.value)}return{partial:c}}}},createElementStreamTransform(){let a=0;return new TransformStream({transform({partialOutput:r},s){if(r!=null)for(;a<r.length;a++)s.enqueue(r[a])}})}}},QT=({options:e,name:t,description:o})=>({name:"choice",responseFormat:Promise.resolve({type:"json",schema:{$schema:"http://json-schema.org/draft-07/schema#",type:"object",properties:{result:{type:"string",enum:e}},required:["result"],additionalProperties:!1},...t!=null&&{name:t},...o!=null&&{description:o}}),async parseCompleteOutput({text:n},a){const r=await mo({text:n});if(!r.success)throw new dn({message:"No object generated: could not parse the response.",cause:r.error,text:n,response:a.response,usage:a.usage,finishReason:a.finishReason});const s=r.value;if(s==null||typeof s!="object"||!("result"in s)||typeof s.result!="string"||!e.includes(s.result))throw new dn({message:"No object generated: response did not match schema.",cause:new Bo({value:s,cause:"response must be an object that contains a choice value."}),text:n,response:a.response,usage:a.usage,finishReason:a.finishReason});return s.result},async parsePartialOutput({text:n}){const a=await Za(n);switch(a.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":{const r=a.value;if(r==null||typeof r!="object"||!("result"in r)||typeof r.result!="string")return;const s=e.filter(l=>l.startsWith(r.result));return a.state==="successful-parse"?s.includes(r.result)?{partial:r.result}:void 0:s.length===1?{partial:s[0]}:void 0}}},createElementStreamTransform(){}}),eI=({name:e,description:t}={})=>({name:"json",responseFormat:Promise.resolve({type:"json",...e!=null&&{name:e},...t!=null&&{description:t}}),async parseCompleteOutput({text:o},n){const a=await mo({text:o});if(!a.success)throw new dn({message:"No object generated: could not parse the response.",cause:a.error,text:o,response:n.response,usage:n.usage,finishReason:n.finishReason});return a.value},async parsePartialOutput({text:o}){const n=await Za(o);switch(n.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":return n.value===void 0?void 0:{partial:n.value}}},createElementStreamTransform(){}});async function cf({toolCall:e,tools:t,repairToolCall:o,refineToolInput:n,messages:a,instructions:r}){try{if(t==null){if(e.providerExecuted&&e.dynamic)return await fi({toolCall:await df(e),refineToolInput:n});throw new ji({toolName:e.toolName})}try{return await fi({toolCall:await tc({toolCall:e,tools:t}),refineToolInput:n})}catch(s){if(o==null||!(ji.isInstance(s)||Zr.isInstance(s)))throw s;let l=null;try{l=await o({toolCall:e,tools:t,inputSchema:async({toolName:c})=>{const{inputSchema:p}=t[c];return await qn(p).jsonSchema},instructions:r,system:r,messages:a,error:s})}catch(c){throw new eT({cause:c,originalError:s})}if(l==null)throw s;return await fi({toolCall:await tc({toolCall:l,tools:t}),refineToolInput:n})}}catch(s){const l=await mo({text:e.input}),c=l.success?l.value:e.input,p=t?.[e.toolName];return{type:"tool-call",toolCallId:e.toolCallId,toolName:e.toolName,input:c,dynamic:!0,invalid:!0,error:s,title:p?.title,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,...p?.metadata!=null?{toolMetadata:p.metadata}:{}}}}async function fi({toolCall:e,refineToolInput:t}){const o=t?.[e.toolName];return o==null?e:{...e,input:await o(e.input)}}async function df(e){const t=e.input.trim()===""?{success:!0,value:{}}:await mo({text:e.input});if(t.success===!1)throw new Zr({toolName:e.toolName,toolInput:e.input,cause:t.error});return{type:"tool-call",toolCallId:e.toolCallId,toolName:e.toolName,input:t.value,providerExecuted:!0,dynamic:!0,providerMetadata:e.providerMetadata}}async function tc({toolCall:e,tools:t}){const o=e.toolName,n=t[o];if(n==null){if(e.providerExecuted&&e.dynamic)return await df(e);throw new ji({toolName:e.toolName,availableTools:Object.keys(t)})}const a=qn(n.inputSchema),r=e.input.trim()===""?await po({value:{},schema:a}):await mo({text:e.input,schema:a});if(r.success===!1)throw new Zr({toolName:o,toolInput:e.input,cause:r.error});return n.type==="dynamic"?{type:"tool-call",toolCallId:e.toolCallId,toolName:e.toolName,input:r.value,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,...n.metadata!=null?{toolMetadata:n.metadata}:{},dynamic:!0,title:n.title}:{type:"tool-call",toolCallId:e.toolCallId,toolName:o,input:r.value,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,...n.metadata!=null?{toolMetadata:n.metadata}:{},title:n.title}}function tI(e){return typeof e=="object"&&e!==null&&"type"in e?e.type==="data"?e.data:e.url:e}function oI(e){return e.map(t=>t.type==="reasoning"?{type:"reasoning",text:t.text,...t.providerMetadata!=null?{providerOptions:t.providerMetadata}:{}}:{type:"reasoning-file",data:t.file.base64,mediaType:t.file.mediaType,...t.providerMetadata!=null?{providerOptions:t.providerMetadata}:{}})}function pf(e){return e.map(t=>{if(t.type==="reasoning")return{type:"reasoning",text:t.text,...t.providerOptions!=null?{providerMetadata:t.providerOptions}:{}};const o=tI(t.data),n=o instanceof ArrayBuffer?new Uint8Array(o):o instanceof URL?o.toString():o;return{type:"reasoning-file",file:new Ns({data:n,mediaType:t.mediaType}),...t.providerOptions!=null?{providerMetadata:t.providerOptions}:{}}})}async function $s({tools:e,toolCall:t,toolApproval:o,messages:n,toolsContext:a,runtimeContext:r}){if(o!=null&&typeof o=="function")return oc(await o({toolCall:t,tools:e,toolsContext:a,messages:n,runtimeContext:r}));const s=t.toolName,l=e?.[s],c=t.input,p=o?.[s];if(p!=null){const m=typeof p=="function"?await p(c,{toolCallId:t.toolCallId,messages:n,toolContext:await Zi({toolName:s,context:a?.[s],contextSchema:l?.contextSchema}),runtimeContext:r}):p;return oc(m)}return l?.needsApproval==null?{type:"not-applicable"}:(typeof l.needsApproval=="function"?await l.needsApproval(c,{toolCallId:t.toolCallId,messages:n,context:await Zi({toolName:s,context:a?.[s],contextSchema:l?.contextSchema})}):l.needsApproval)?{type:"user-approval"}:{type:"not-applicable"}}function oc(e){return e===void 0?{type:"not-applicable"}:typeof e=="string"?{type:e}:e}function Xt(...e){return async t=>{await Promise.allSettled(e.map(async o=>{await o?.(t)}))}}var mf="ai:telemetry";function ff(){var e;return typeof process<"u"&&((e=process.release)==null?void 0:e.name)==="node"}var hi;async function nI(){if(ff())return hi==null&&(hi=Promise.resolve().then(()=>require("./replay-index-S_wAPmTA.js")).then(e=>e.tty).catch(()=>{})),hi}function nc(e){var t;const o=globalThis.process;try{return(t=o?.getBuiltinModule)==null?void 0:t.call(o,e)}catch{return}}async function ac(e,t){var o;const n=await nI(),a=(o=n?.tracingChannel)==null?void 0:o.call(n,mf);if(a==null||a.hasSubscribers===!1)return await t();let r,s,l,c=!1,p=!1;const d=()=>{try{r=Promise.resolve(t())}catch(m){r=Promise.reject(m)}return r=r.then(m=>(s=m,c=!0,m),m=>{throw l=m,p=!0,m}),r};try{return await a.tracePromise(d,e)}catch{if(p)throw l;return c?s:r!=null?await r:await t()}}function aI({message:e,completion:t}){var o;if(!ff())return;const n=nc("node:diagnostics_channel"),a=nc("node:async_hooks"),r=(o=n?.tracingChannel)==null?void 0:o.call(n,mf);if(r==null||r.hasSubscribers===!1||a==null){Promise.resolve(t).catch(()=>{});return}const s=e;let l,c=!1;const p=m=>{try{m()}catch{}},d=({result:m,error:v})=>{c||(c=!0,v!==void 0&&(s.error=v,p(()=>r.error.publish(s))),m!==void 0&&(s.result=m),p(()=>r.asyncEnd.publish(s)))};return p(()=>{r.start.runStores(s,()=>{l=new a.AsyncResource("ai.telemetry")})}),p(()=>r.end.publish(s)),Promise.resolve(t).then(m=>d({result:m}),m=>d({error:m})),{run:m=>l==null?m():l.runInAsyncScope(m)}}function rI(){var e;return(e=globalThis.AI_SDK_TELEMETRY_INTEGRATIONS)!=null?e:[]}function va(e,t){return Object.assign(Object.create(Object.getPrototypeOf(e)),e,t)}function iI({telemetry:e}){if(e?.isEnabled===!1)return{};const t=e?.integrations,o=t!=null?$n(t):rI(),n={recordInputs:e?.recordInputs,recordOutputs:e?.recordOutputs,functionId:e?.functionId},a=l=>{const c=o.map(d=>{var m;return(m=d[l])==null?void 0:m.bind(d)}).filter(Boolean).map(d=>m=>d(va(m,n))),p=Xt(...c);return async d=>{await p(d)}},r=o.map(l=>{var c;return(c=l.executeLanguageModelCall)==null?void 0:c.bind(l)}).filter(Boolean),s=o.map(l=>{var c;return(c=l.executeTool)==null?void 0:c.bind(l)}).filter(Boolean);return{runInTracingChannelSpan:async({type:l,event:c,execute:p})=>await ac({type:l,event:va(c,n)},p),startTracingChannelContext:({type:l,event:c,completion:p})=>aI({message:{type:l,event:va(c,n)},completion:p}),onStart:a("onStart"),onStepStart:a("onStepStart"),onLanguageModelCallStart:a("onLanguageModelCallStart"),onLanguageModelCallEnd:a("onLanguageModelCallEnd"),onToolExecutionStart:a("onToolExecutionStart"),onToolExecutionEnd:a("onToolExecutionEnd"),onStepEnd:Xt(a("onStepEnd"),a("onStepFinish")),onObjectStepStart:a("onObjectStepStart"),onObjectStepEnd:a("onObjectStepEnd"),onEmbedStart:a("onEmbedStart"),onEmbedEnd:a("onEmbedEnd"),onRerankStart:a("onRerankStart"),onRerankEnd:a("onRerankEnd"),onEnd:a("onEnd"),onAbort:a("onAbort"),onError:a("onError"),executeLanguageModelCall:async({execute:l,...c})=>{const p=va(c,n);let d=l;for(const m of r){const v=d;d=()=>m({...p,execute:v})}return await ac({type:"languageModelCall",event:p},d)},executeTool:async({execute:l,...c})=>{const p=va(c,n);let d=l;for(const m of s){const v=d;d=()=>m({...p,execute:v})}return await d()}}}function sI(e){const t=e.map(o=>"text"in o?o.text:"").join("");return t.length>0?t:void 0}var Ps=class{constructor({callId:e,stepNumber:t,provider:o,modelId:n,runtimeContext:a,toolsContext:r,content:s,finishReason:l,rawFinishReason:c,usage:p,performance:d,warnings:m,request:v,response:y,providerMetadata:g}){this.callId=e,this.stepNumber=t,this.model={provider:o,modelId:n},this.runtimeContext=a,this.toolsContext=r,this.content=s,this.finishReason=l,this.rawFinishReason=c,this.usage=p,this.performance=d,this.warnings=m,this.request=v,this.response=y,this.providerMetadata=g}get text(){return this.content.filter(e=>e.type==="text").map(e=>e.text).join("")}get reasoning(){return oI(this.content.filter(e=>e.type==="reasoning"||e.type==="reasoning-file"))}get reasoningText(){return sI(this.reasoning)}get files(){return this.content.filter(e=>e.type==="file").map(e=>e.file)}get sources(){return this.content.filter(e=>e.type==="source")}get toolCalls(){return this.content.filter(e=>e.type==="tool-call")}get staticToolCalls(){return this.toolCalls.filter(e=>e.dynamic!==!0)}get dynamicToolCalls(){return this.toolCalls.filter(e=>e.dynamic===!0)}get toolResults(){return this.content.filter(e=>e.type==="tool-result")}get staticToolResults(){return this.toolResults.filter(e=>e.dynamic!==!0)}get dynamicToolResults(){return this.toolResults.filter(e=>e.dynamic===!0)}};function Ca({context:e,includeContext:t}){return e==null?{}:Object.fromEntries(Object.entries(e).filter(([o])=>t?.[o]===!0))}function ya({step:e,includeRuntimeContext:t,includeToolsContext:o}){return new Ps({callId:e.callId,stepNumber:e.stepNumber,provider:e.model.provider,modelId:e.model.modelId,runtimeContext:Ca({context:e.runtimeContext,includeContext:t}),toolsContext:mr({toolsContext:e.toolsContext,includeToolsContext:o}),content:e.content,finishReason:e.finishReason,rawFinishReason:e.rawFinishReason,usage:e.usage,performance:e.performance,warnings:e.warnings,request:e.request,response:e.response,providerMetadata:e.providerMetadata})}function mr({toolsContext:e,includeToolsContext:t}){return t==null?{}:Object.fromEntries(Object.entries(e).map(([o,n])=>[o,Vi({toolName:o,toolContext:n,includeToolsContext:t})]))}function Vi({toolName:e,toolContext:t,includeToolsContext:o}){const n=o?.[e];return Ca({context:t,includeContext:n})}function hf({telemetry:e,includeRuntimeContext:t,includeToolsContext:o}){const n=iI({telemetry:e});return{...n,onStart:a=>{var r;return(r=n.onStart)==null?void 0:r.call(n,{...a,runtimeContext:Ca({context:a.runtimeContext,includeContext:t}),toolsContext:mr({toolsContext:a.toolsContext,includeToolsContext:o})})},onStepStart:a=>{var r;return(r=n.onStepStart)==null?void 0:r.call(n,{...a,runtimeContext:Ca({context:a.runtimeContext,includeContext:t}),steps:a.steps.map(s=>ya({step:s,includeRuntimeContext:t,includeToolsContext:o})),toolsContext:mr({toolsContext:a.toolsContext,includeToolsContext:o})})},onStepEnd:a=>{var r;return(r=n.onStepEnd)==null?void 0:r.call(n,ya({step:a,includeRuntimeContext:t,includeToolsContext:o}))},onStepFinish:a=>{var r;return(r=n.onStepEnd)==null?void 0:r.call(n,ya({step:a,includeRuntimeContext:t,includeToolsContext:o}))},onEnd:a=>{var r;return(r=n.onEnd)==null?void 0:r.call(n,(s=>({...a,runtimeContext:Ca({context:a.runtimeContext,includeContext:t}),steps:s,finalStep:s.at(-1),toolsContext:mr({toolsContext:a.toolsContext,includeToolsContext:o})}))(a.steps.map(s=>ya({step:s,includeRuntimeContext:t,includeToolsContext:o}))))},onAbort:a=>{var r;return(r=n.onAbort)==null?void 0:r.call(n,{...a,steps:a.steps.map(s=>ya({step:s,includeRuntimeContext:t,includeToolsContext:o}))})},onToolExecutionStart:a=>{var r;return(r=n.onToolExecutionStart)==null?void 0:r.call(n,{...a,toolContext:Vi({toolName:a.toolCall.toolName,toolContext:a.toolContext,includeToolsContext:o})})},onToolExecutionEnd:a=>{var r;return(r=n.onToolExecutionEnd)==null?void 0:r.call(n,{...a,toolContext:Vi({toolName:a.toolCall.toolName,toolContext:a.toolContext,includeToolsContext:o})})}}}function Gr(e){return({steps:t})=>t.length===e}function lI(...e){return({steps:t})=>{var o,n,a;return(a=(n=(o=t[t.length-1])==null?void 0:o.toolCalls)==null?void 0:n.some(r=>e.includes(r.toolName)))!=null?a:!1}}async function gf({stopConditions:e,steps:t}){return(await Promise.all(e.map(o=>o({steps:t})))).some(o=>o)}function Gi(e,t){return e==null&&t==null?void 0:(e??0)+(t??0)}async function vf({content:e,tools:t}){const o=[],n=[];for(const r of e)if(r.type!=="source"&&!((r.type==="tool-result"||r.type==="tool-error")&&!r.providerExecuted)&&!(r.type==="text"&&r.text.length===0))switch(r.type){case"text":n.push({type:"text",text:r.text,providerOptions:r.providerMetadata});break;case"custom":n.push({type:"custom",kind:r.kind,providerOptions:r.providerMetadata});break;case"reasoning":n.push({type:"reasoning",text:r.text,providerOptions:r.providerMetadata});break;case"file":n.push({type:"file",data:r.file.base64,mediaType:r.file.mediaType,providerOptions:r.providerMetadata});break;case"reasoning-file":n.push({type:"reasoning-file",data:r.file.base64,mediaType:r.file.mediaType,providerOptions:r.providerMetadata});break;case"tool-call":n.push({type:"tool-call",toolCallId:r.toolCallId,toolName:r.toolName,input:r.invalid&&typeof r.input!="object"?{}:r.input,providerExecuted:r.providerExecuted,providerOptions:r.providerMetadata});break;case"tool-result":{const s=await Cn({toolCallId:r.toolCallId,input:r.input,tool:t?.[r.toolName],output:r.output,errorMode:"none"});n.push({type:"tool-result",toolCallId:r.toolCallId,toolName:r.toolName,output:s,providerOptions:r.providerMetadata});break}case"tool-error":{const s=await Cn({toolCallId:r.toolCallId,input:r.input,tool:t?.[r.toolName],output:r.error,errorMode:"json"});n.push({type:"tool-result",toolCallId:r.toolCallId,toolName:r.toolName,output:s,providerOptions:r.providerMetadata});break}case"tool-approval-request":n.push({type:"tool-approval-request",approvalId:r.approvalId,toolCallId:r.toolCall.toolCallId,isAutomatic:r.isAutomatic,...r.signature!=null?{signature:r.signature}:{}});break}n.length>0&&o.push({role:"assistant",content:n});const a=[];for(const r of e){if(r.type!=="tool-approval-response"&&r.type!=="tool-result"&&r.type!=="tool-error")continue;if(r.type==="tool-approval-response"){a.push({type:"tool-approval-response",approvalId:r.approvalId,approved:r.approved,reason:r.reason,providerExecuted:r.providerExecuted}),r.approved===!1&&a.push({type:"tool-result",toolCallId:r.toolCall.toolCallId,toolName:r.toolCall.toolName,output:{type:"execution-denied",reason:r.reason}});continue}if(r.providerExecuted)continue;const s=await Cn({toolCallId:r.toolCallId,input:r.input,tool:t?.[r.toolName],output:r.type==="tool-result"?r.output:r.error,errorMode:r.type==="tool-error"?"text":"none"});a.push({type:"tool-result",toolCallId:r.toolCallId,toolName:r.toolName,output:s,...r.providerMetadata!=null?{providerOptions:r.providerMetadata}:{}})}return a.length>0&&o.push({role:"tool",content:a}),o}var Ds=new TextEncoder;function Bi(e){return e==null||typeof e!="object"?JSON.stringify(e):Array.isArray(e)?`[${e.map(Bi).join(",")}]`:`{${Object.keys(e).sort().map(n=>`${JSON.stringify(n)}:${Bi(e[n])}`).join(",")}}`}function yf(e){return Wo(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/g,"")}function uI(e){return No(e)}async function _f(e){const t=typeof e=="string"?Ds.encode(e):e;return crypto.subtle.importKey("raw",t,{name:"HMAC",hash:"SHA-256"},!1,["sign","verify"])}async function bf(e){const t=Bi(e),o=await crypto.subtle.digest("SHA-256",Ds.encode(t));return yf(new Uint8Array(o))}function wf(e,t,o,n){return Ds.encode(`${e}
72
+ `),{name:"GatewayAuthenticationError"})}function af(e){return{inputTokens:e.inputTokens.total,inputTokenDetails:{noCacheTokens:e.inputTokens.noCache,cacheReadTokens:e.inputTokens.cacheRead,cacheWriteTokens:e.inputTokens.cacheWrite},outputTokens:e.outputTokens.total,outputTokenDetails:{textTokens:e.outputTokens.text,reasoningTokens:e.outputTokens.reasoning},totalTokens:zo(e.inputTokens.total,e.outputTokens.total),raw:e.raw}}function mi(){return{inputTokens:void 0,inputTokenDetails:{noCacheTokens:void 0,cacheReadTokens:void 0,cacheWriteTokens:void 0},outputTokens:void 0,outputTokenDetails:{textTokens:void 0,reasoningTokens:void 0},totalTokens:void 0,raw:void 0}}function rf(e,t){var o,n,a,r,s,l,c,p,d,m;return{inputTokens:zo(e.inputTokens,t.inputTokens),inputTokenDetails:{noCacheTokens:zo((o=e.inputTokenDetails)==null?void 0:o.noCacheTokens,(n=t.inputTokenDetails)==null?void 0:n.noCacheTokens),cacheReadTokens:zo((a=e.inputTokenDetails)==null?void 0:a.cacheReadTokens,(r=t.inputTokenDetails)==null?void 0:r.cacheReadTokens),cacheWriteTokens:zo((s=e.inputTokenDetails)==null?void 0:s.cacheWriteTokens,(l=t.inputTokenDetails)==null?void 0:l.cacheWriteTokens)},outputTokens:zo(e.outputTokens,t.outputTokens),outputTokenDetails:{textTokens:zo((c=e.outputTokenDetails)==null?void 0:c.textTokens,(p=t.outputTokenDetails)==null?void 0:p.textTokens),reasoningTokens:zo((d=e.outputTokenDetails)==null?void 0:d.reasoningTokens,(m=t.outputTokenDetails)==null?void 0:m.reasoningTokens)},totalTokens:zo(e.totalTokens,t.totalTokens)}}function zo(e,t){return e==null&&t==null?void 0:(e??0)+(t??0)}function Os(...e){const t=Tn(...e).map(o=>o instanceof AbortSignal?o:AbortSignal.timeout(o));return t.length===0?void 0:t.length===1?t[0]:AbortSignal.any(t)}function Vr(e,t){if(e===void 0&&t===void 0)return;if(e===void 0)return t;if(t===void 0)return e;const o={...e};for(const n in t)if(!(n==="__proto__"||n==="constructor"||n==="prototype")&&Object.prototype.hasOwnProperty.call(t,n)){const a=t[n];if(a===void 0)continue;const r=n in e?e[n]:void 0,s=a!==null&&typeof a=="object"&&!Array.isArray(a)&&!(a instanceof Date)&&!(a instanceof RegExp),l=r!=null&&typeof r=="object"&&!Array.isArray(r)&&!(r instanceof Date)&&!(r instanceof RegExp);s&&l?o[n]=Vr(r,a):o[n]=a}return o}function Na(){var e,t;return(t=(e=globalThis?.performance)==null?void 0:e.now())!=null?t:Date.now()}async function yt(e){await Promise.all($n(e.callbacks).map(async t=>{try{await t?.(e.event)}catch{}}))}function BT({error:e,exponentialBackoffDelay:t}){const o=et.isInstance(e)?e.responseHeaders:et.isInstance(e.cause)?e.cause.responseHeaders:void 0;if(!o)return t;let n;const a=o["retry-after-ms"];if(a){const s=parseFloat(a);Number.isNaN(s)||(n=s)}const r=o["retry-after"];if(r&&n===void 0){const s=parseFloat(r);Number.isNaN(s)?n=Date.parse(r)-Date.now():n=s*1e3}return n!=null&&!Number.isNaN(n)&&0<=n&&(n<60*1e3||n<t)?n:t}var HT=({maxRetries:e=2,initialDelayInMs:t=2e3,backoffFactor:o=2,abortSignal:n}={})=>async a=>sf(a,{maxRetries:e,delayInMs:t,backoffFactor:o,abortSignal:n});async function sf(e,{maxRetries:t,delayInMs:o,backoffFactor:n,abortSignal:a},r=[]){try{return await e()}catch(s){if(Ao(s)||t===0)throw s;const l=Yo(s),c=[...r,s],p=c.length;if(p>t)throw new Ju({message:`Failed after ${p} attempts. Last error: ${l}`,reason:"maxRetriesExceeded",errors:c});if(s instanceof Error&&(et.isInstance(s)&&s.isRetryable===!0||It.isInstance(s)&&s.isRetryable===!0)&&p<=t)return await Sn(BT({error:s,exponentialBackoffDelay:o}),{abortSignal:a}),sf(e,{maxRetries:t,delayInMs:n*o,backoffFactor:n,abortSignal:a},c);throw p===1?s:new Ju({message:`Failed after ${p} attempts with non-retryable error: '${l}'`,reason:"errorNotRetryable",errors:c})}}function zi({maxRetries:e,abortSignal:t}){if(e!=null){if(!Number.isInteger(e))throw new To({parameter:"maxRetries",value:e,message:"maxRetries must be an integer"});if(e<0)throw new To({parameter:"maxRetries",value:e,message:"maxRetries must be >= 0"})}const o=e??2;return{maxRetries:o,retry:HT({maxRetries:o,abortSignal:t})}}function Fi({abortController:e,label:t,timeoutMs:o}){if(!(e==null||o==null))return setTimeout(()=>e.abort(new DOMException(`${t} timeout of ${o}ms exceeded`,"TimeoutError")),o)}function un({tokens:e,durationMs:t}){const o=1e3*(e??0)/(t??0);return Number.isFinite(o)?o:0}function lf({messages:e}){const t=e.at(-1);if(t?.role!="tool")return{approvedToolApprovals:[],deniedToolApprovals:[]};const o={};for(const c of e)if(c.role==="assistant"&&typeof c.content!="string"){const p=c.content;for(const d of p)d.type==="tool-call"&&(o[d.toolCallId]=d)}const n={};for(const c of e)if(c.role==="assistant"&&typeof c.content!="string"){const p=c.content;for(const d of p)d.type==="tool-approval-request"&&(n[d.approvalId]=d)}const a={};for(const c of t.content)c.type==="tool-result"&&(a[c.toolCallId]=c);const r=[],s=[],l=t.content.filter(c=>c.type==="tool-approval-response");for(const c of l){const p=n[c.approvalId];if(p==null)throw new Gx({approvalId:c.approvalId});if(a[p.toolCallId]!=null)continue;const d=o[p.toolCallId];if(d==null)throw new Ss({toolCallId:p.toolCallId,approvalId:p.approvalId});const m={approvalRequest:p,approvalResponse:c,toolCall:d};c.approved?r.push(m):s.push(m)}return{approvedToolApprovals:r,deniedToolApprovals:s}}async function Zi({toolName:e,context:t,contextSchema:o}){return o==null?t:await $e({value:t,schema:o,context:{field:"tool context",entityName:e}})}async function As({toolCall:e,tools:t,toolsContext:o,callId:n,messages:a,abortSignal:r,timeout:s,experimental_sandbox:l,onPreliminaryToolResult:c,onToolExecutionStart:p,onToolExecutionEnd:d,executeToolInTelemetryContext:m=async({execute:y})=>await y(),runInTracingChannelSpan:v=async({execute:y})=>await y()}){const{toolName:y,toolCallId:g,input:b}=e,x=t?.[y];if(!Mp(x))return;const w=await Zi({toolName:y,context:o?.[y],contextSchema:x.contextSchema}),_={toolCall:e,messages:a,toolContext:w},k={callId:n,..._};return await v({type:"executeTool",event:k,execute:async()=>{let h;await yt({event:k,callbacks:p});const S=OT(s,y),E=Os(r,S);let O=0;try{await m({callId:n,toolCallId:g,..._,execute:async()=>{const C=Na();try{const P=dw({tool:x,input:b,options:{toolCallId:g,messages:a,abortSignal:E,context:w,experimental_sandbox:l}});for await(const H of P)H.type==="preliminary"?c?.({...e,type:"tool-result",output:H.output,preliminary:!0}):h=H.output}finally{O=Na()-C}}})}catch(C){const P={type:"tool-error",toolCallId:g,toolName:y,input:b,error:C,dynamic:x.type==="dynamic",...e.providerMetadata!=null?{providerMetadata:e.providerMetadata}:{},...e.toolMetadata!=null?{toolMetadata:e.toolMetadata}:{}};return await yt({event:{...k,toolOutput:P,toolExecutionMs:O},callbacks:d}),{output:P,toolExecutionMs:O}}const R={type:"tool-result",toolCallId:g,toolName:y,input:b,output:h,dynamic:x.type==="dynamic",...e.providerMetadata!=null?{providerMetadata:e.providerMetadata}:{},...e.toolMetadata!=null?{toolMetadata:e.toolMetadata}:{}};return await yt({event:{...k,toolOutput:R,toolExecutionMs:O},callbacks:d}),{output:R,toolExecutionMs:O}}})}function uf({tools:e,activeTools:t}){return e==null||t==null?e:Object.fromEntries(Object.entries(e).filter(([o])=>t.includes(o)))}var Ns=class{constructor({data:e,mediaType:t}){const o=e instanceof Uint8Array;this.base64Data=o?void 0:e,this.uint8ArrayData=o?e:void 0,this.mediaType=t}get base64(){return this.base64Data==null&&(this.base64Data=Wo(this.uint8ArrayData)),this.base64Data}get uint8Array(){return this.uint8ArrayData==null&&(this.uint8ArrayData=No(this.base64Data)),this.uint8ArrayData}},WT=class extends Ns{constructor(e){super(e),this.type="file"}},JT={};Fx(JT,{array:()=>XT,choice:()=>QT,json:()=>eI,object:()=>YT,text:()=>Nr});function KT(e){const t=["ROOT"];let o=-1,n=null,a=0;function r(d){return d>="0"&&d<="9"||d>="A"&&d<="F"||d>="a"&&d<="f"}function s(d,m,v){switch(d){case'"':{o=m,t.pop(),t.push(v),t.push("INSIDE_STRING");break}case"f":case"t":case"n":{o=m,n=m,t.pop(),t.push(v),t.push("INSIDE_LITERAL");break}case"-":{t.pop(),t.push(v),t.push("INSIDE_NUMBER");break}case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":{o=m,t.pop(),t.push(v),t.push("INSIDE_NUMBER");break}case"{":{o=m,t.pop(),t.push(v),t.push("INSIDE_OBJECT_START");break}case"[":{o=m,t.pop(),t.push(v),t.push("INSIDE_ARRAY_START");break}}}function l(d,m){switch(d){case",":{t.pop(),t.push("INSIDE_OBJECT_AFTER_COMMA");break}case"}":{o=m,t.pop();break}}}function c(d,m){switch(d){case",":{t.pop(),t.push("INSIDE_ARRAY_AFTER_COMMA");break}case"]":{o=m,t.pop();break}}}for(let d=0;d<e.length;d++){const m=e[d];switch(t[t.length-1]){case"ROOT":s(m,d,"FINISH");break;case"INSIDE_OBJECT_START":{switch(m){case'"':{t.pop(),t.push("INSIDE_OBJECT_KEY");break}case"}":{o=d,t.pop();break}}break}case"INSIDE_OBJECT_AFTER_COMMA":{m==='"'&&(t.pop(),t.push("INSIDE_OBJECT_KEY"));break}case"INSIDE_OBJECT_KEY":{m==='"'&&(t.pop(),t.push("INSIDE_OBJECT_AFTER_KEY"));break}case"INSIDE_OBJECT_AFTER_KEY":{m===":"&&(t.pop(),t.push("INSIDE_OBJECT_BEFORE_VALUE"));break}case"INSIDE_OBJECT_BEFORE_VALUE":{s(m,d,"INSIDE_OBJECT_AFTER_VALUE");break}case"INSIDE_OBJECT_AFTER_VALUE":{l(m,d);break}case"INSIDE_STRING":{switch(m){case'"':{t.pop(),o=d;break}case"\\":{t.push("INSIDE_STRING_ESCAPE");break}default:o=d}break}case"INSIDE_ARRAY_START":{m==="]"?(o=d,t.pop()):(o=d,s(m,d,"INSIDE_ARRAY_AFTER_VALUE"));break}case"INSIDE_ARRAY_AFTER_VALUE":{switch(m){case",":{t.pop(),t.push("INSIDE_ARRAY_AFTER_COMMA");break}case"]":{o=d,t.pop();break}default:{o=d;break}}break}case"INSIDE_ARRAY_AFTER_COMMA":{s(m,d,"INSIDE_ARRAY_AFTER_VALUE");break}case"INSIDE_STRING_ESCAPE":{t.pop(),m==="u"?(a=0,t.push("INSIDE_STRING_UNICODE_ESCAPE")):o=d;break}case"INSIDE_STRING_UNICODE_ESCAPE":{r(m)&&(a++,a===4&&(t.pop(),o=d));break}case"INSIDE_NUMBER":{switch(m){case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":{o=d;break}case"e":case"E":case"-":case".":break;case",":{t.pop(),t[t.length-1]==="INSIDE_ARRAY_AFTER_VALUE"&&c(m,d),t[t.length-1]==="INSIDE_OBJECT_AFTER_VALUE"&&l(m,d);break}case"}":{t.pop(),t[t.length-1]==="INSIDE_OBJECT_AFTER_VALUE"&&l(m,d);break}case"]":{t.pop(),t[t.length-1]==="INSIDE_ARRAY_AFTER_VALUE"&&c(m,d);break}default:{t.pop();break}}break}case"INSIDE_LITERAL":{const y=e.substring(n,d+1);!"false".startsWith(y)&&!"true".startsWith(y)&&!"null".startsWith(y)?(t.pop(),t[t.length-1]==="INSIDE_OBJECT_AFTER_VALUE"?l(m,d):t[t.length-1]==="INSIDE_ARRAY_AFTER_VALUE"&&c(m,d)):o=d;break}}}let p=e.slice(0,o+1);for(let d=t.length-1;d>=0;d--)switch(t[d]){case"INSIDE_STRING":{p+='"';break}case"INSIDE_OBJECT_KEY":case"INSIDE_OBJECT_AFTER_KEY":case"INSIDE_OBJECT_AFTER_COMMA":case"INSIDE_OBJECT_START":case"INSIDE_OBJECT_BEFORE_VALUE":case"INSIDE_OBJECT_AFTER_VALUE":{p+="}";break}case"INSIDE_ARRAY_START":case"INSIDE_ARRAY_AFTER_COMMA":case"INSIDE_ARRAY_AFTER_VALUE":{p+="]";break}case"INSIDE_LITERAL":{const v=e.substring(n,e.length);"true".startsWith(v)?p+="true".slice(v.length):"false".startsWith(v)?p+="false".slice(v.length):"null".startsWith(v)&&(p+="null".slice(v.length))}}return p}async function Za(e){if(e===void 0)return{value:void 0,state:"undefined-input"};let t=await mo({text:e});return t.success?{value:t.value,state:"successful-parse"}:(t=await mo({text:KT(e)}),t.success?{value:t.value,state:"repaired-parse"}:{value:void 0,state:"failed-parse"})}var Nr=()=>({name:"text",responseFormat:Promise.resolve({type:"text"}),async parseCompleteOutput({text:e}){return e},async parsePartialOutput({text:e}){return{partial:e}},createElementStreamTransform(){}}),YT=({schema:e,name:t,description:o})=>{const n=qn(e);return{name:"object",responseFormat:De(n.jsonSchema).then(a=>({type:"json",schema:a,...t!=null&&{name:t},...o!=null&&{description:o}})),async parseCompleteOutput({text:a},r){const s=await mo({text:a});if(!s.success)throw new dn({message:"No object generated: could not parse the response.",cause:s.error,text:a,response:r.response,usage:r.usage,finishReason:r.finishReason});const l=await po({value:s.value,schema:n});if(!l.success)throw new dn({message:"No object generated: response did not match schema.",cause:l.error,text:a,response:r.response,usage:r.usage,finishReason:r.finishReason});return l.value},async parsePartialOutput({text:a}){const r=await Za(a);switch(r.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":return{partial:r.value}}},createElementStreamTransform(){}}},XT=({element:e,name:t,description:o})=>{const n=qn(e);return{name:"array",responseFormat:De(n.jsonSchema).then(a=>{const{$schema:r,...s}=a;return{type:"json",schema:{$schema:"http://json-schema.org/draft-07/schema#",type:"object",properties:{elements:{type:"array",items:s}},required:["elements"],additionalProperties:!1},...t!=null&&{name:t},...o!=null&&{description:o}}}),async parseCompleteOutput({text:a},r){const s=await mo({text:a});if(!s.success)throw new dn({message:"No object generated: could not parse the response.",cause:s.error,text:a,response:r.response,usage:r.usage,finishReason:r.finishReason});const l=s.value;if(l==null||typeof l!="object"||!("elements"in l)||!Array.isArray(l.elements))throw new dn({message:"No object generated: response did not match schema.",cause:new Bo({value:l,cause:"response must be an object with an elements array"}),text:a,response:r.response,usage:r.usage,finishReason:r.finishReason});const c=[];for(const p of l.elements){const d=await po({value:p,schema:n});if(!d.success)throw new dn({message:"No object generated: response did not match schema.",cause:d.error,text:a,response:r.response,usage:r.usage,finishReason:r.finishReason});c.push(d.value)}return c},async parsePartialOutput({text:a}){const r=await Za(a);switch(r.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":{const s=r.value;if(s==null||typeof s!="object"||!("elements"in s)||!Array.isArray(s.elements))return;const l=r.state==="repaired-parse"&&s.elements.length>0?s.elements.slice(0,-1):s.elements,c=[];for(const p of l){const d=await po({value:p,schema:n});d.success&&c.push(d.value)}return{partial:c}}}},createElementStreamTransform(){let a=0;return new TransformStream({transform({partialOutput:r},s){if(r!=null)for(;a<r.length;a++)s.enqueue(r[a])}})}}},QT=({options:e,name:t,description:o})=>({name:"choice",responseFormat:Promise.resolve({type:"json",schema:{$schema:"http://json-schema.org/draft-07/schema#",type:"object",properties:{result:{type:"string",enum:e}},required:["result"],additionalProperties:!1},...t!=null&&{name:t},...o!=null&&{description:o}}),async parseCompleteOutput({text:n},a){const r=await mo({text:n});if(!r.success)throw new dn({message:"No object generated: could not parse the response.",cause:r.error,text:n,response:a.response,usage:a.usage,finishReason:a.finishReason});const s=r.value;if(s==null||typeof s!="object"||!("result"in s)||typeof s.result!="string"||!e.includes(s.result))throw new dn({message:"No object generated: response did not match schema.",cause:new Bo({value:s,cause:"response must be an object that contains a choice value."}),text:n,response:a.response,usage:a.usage,finishReason:a.finishReason});return s.result},async parsePartialOutput({text:n}){const a=await Za(n);switch(a.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":{const r=a.value;if(r==null||typeof r!="object"||!("result"in r)||typeof r.result!="string")return;const s=e.filter(l=>l.startsWith(r.result));return a.state==="successful-parse"?s.includes(r.result)?{partial:r.result}:void 0:s.length===1?{partial:s[0]}:void 0}}},createElementStreamTransform(){}}),eI=({name:e,description:t}={})=>({name:"json",responseFormat:Promise.resolve({type:"json",...e!=null&&{name:e},...t!=null&&{description:t}}),async parseCompleteOutput({text:o},n){const a=await mo({text:o});if(!a.success)throw new dn({message:"No object generated: could not parse the response.",cause:a.error,text:o,response:n.response,usage:n.usage,finishReason:n.finishReason});return a.value},async parsePartialOutput({text:o}){const n=await Za(o);switch(n.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":return n.value===void 0?void 0:{partial:n.value}}},createElementStreamTransform(){}});async function cf({toolCall:e,tools:t,repairToolCall:o,refineToolInput:n,messages:a,instructions:r}){try{if(t==null){if(e.providerExecuted&&e.dynamic)return await fi({toolCall:await df(e),refineToolInput:n});throw new ji({toolName:e.toolName})}try{return await fi({toolCall:await tc({toolCall:e,tools:t}),refineToolInput:n})}catch(s){if(o==null||!(ji.isInstance(s)||Zr.isInstance(s)))throw s;let l=null;try{l=await o({toolCall:e,tools:t,inputSchema:async({toolName:c})=>{const{inputSchema:p}=t[c];return await qn(p).jsonSchema},instructions:r,system:r,messages:a,error:s})}catch(c){throw new eT({cause:c,originalError:s})}if(l==null)throw s;return await fi({toolCall:await tc({toolCall:l,tools:t}),refineToolInput:n})}}catch(s){const l=await mo({text:e.input}),c=l.success?l.value:e.input,p=t?.[e.toolName];return{type:"tool-call",toolCallId:e.toolCallId,toolName:e.toolName,input:c,dynamic:!0,invalid:!0,error:s,title:p?.title,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,...p?.metadata!=null?{toolMetadata:p.metadata}:{}}}}async function fi({toolCall:e,refineToolInput:t}){const o=t?.[e.toolName];return o==null?e:{...e,input:await o(e.input)}}async function df(e){const t=e.input.trim()===""?{success:!0,value:{}}:await mo({text:e.input});if(t.success===!1)throw new Zr({toolName:e.toolName,toolInput:e.input,cause:t.error});return{type:"tool-call",toolCallId:e.toolCallId,toolName:e.toolName,input:t.value,providerExecuted:!0,dynamic:!0,providerMetadata:e.providerMetadata}}async function tc({toolCall:e,tools:t}){const o=e.toolName,n=t[o];if(n==null){if(e.providerExecuted&&e.dynamic)return await df(e);throw new ji({toolName:e.toolName,availableTools:Object.keys(t)})}const a=qn(n.inputSchema),r=e.input.trim()===""?await po({value:{},schema:a}):await mo({text:e.input,schema:a});if(r.success===!1)throw new Zr({toolName:o,toolInput:e.input,cause:r.error});return n.type==="dynamic"?{type:"tool-call",toolCallId:e.toolCallId,toolName:e.toolName,input:r.value,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,...n.metadata!=null?{toolMetadata:n.metadata}:{},dynamic:!0,title:n.title}:{type:"tool-call",toolCallId:e.toolCallId,toolName:o,input:r.value,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,...n.metadata!=null?{toolMetadata:n.metadata}:{},title:n.title}}function tI(e){return typeof e=="object"&&e!==null&&"type"in e?e.type==="data"?e.data:e.url:e}function oI(e){return e.map(t=>t.type==="reasoning"?{type:"reasoning",text:t.text,...t.providerMetadata!=null?{providerOptions:t.providerMetadata}:{}}:{type:"reasoning-file",data:t.file.base64,mediaType:t.file.mediaType,...t.providerMetadata!=null?{providerOptions:t.providerMetadata}:{}})}function pf(e){return e.map(t=>{if(t.type==="reasoning")return{type:"reasoning",text:t.text,...t.providerOptions!=null?{providerMetadata:t.providerOptions}:{}};const o=tI(t.data),n=o instanceof ArrayBuffer?new Uint8Array(o):o instanceof URL?o.toString():o;return{type:"reasoning-file",file:new Ns({data:n,mediaType:t.mediaType}),...t.providerOptions!=null?{providerMetadata:t.providerOptions}:{}}})}async function $s({tools:e,toolCall:t,toolApproval:o,messages:n,toolsContext:a,runtimeContext:r}){if(o!=null&&typeof o=="function")return oc(await o({toolCall:t,tools:e,toolsContext:a,messages:n,runtimeContext:r}));const s=t.toolName,l=e?.[s],c=t.input,p=o?.[s];if(p!=null){const m=typeof p=="function"?await p(c,{toolCallId:t.toolCallId,messages:n,toolContext:await Zi({toolName:s,context:a?.[s],contextSchema:l?.contextSchema}),runtimeContext:r}):p;return oc(m)}return l?.needsApproval==null?{type:"not-applicable"}:(typeof l.needsApproval=="function"?await l.needsApproval(c,{toolCallId:t.toolCallId,messages:n,context:await Zi({toolName:s,context:a?.[s],contextSchema:l?.contextSchema})}):l.needsApproval)?{type:"user-approval"}:{type:"not-applicable"}}function oc(e){return e===void 0?{type:"not-applicable"}:typeof e=="string"?{type:e}:e}function Xt(...e){return async t=>{await Promise.allSettled(e.map(async o=>{await o?.(t)}))}}var mf="ai:telemetry";function ff(){var e;return typeof process<"u"&&((e=process.release)==null?void 0:e.name)==="node"}var hi;async function nI(){if(ff())return hi==null&&(hi=Promise.resolve().then(()=>require("./replay-index-BmotNqNI.js")).then(e=>e.tty).catch(()=>{})),hi}function nc(e){var t;const o=globalThis.process;try{return(t=o?.getBuiltinModule)==null?void 0:t.call(o,e)}catch{return}}async function ac(e,t){var o;const n=await nI(),a=(o=n?.tracingChannel)==null?void 0:o.call(n,mf);if(a==null||a.hasSubscribers===!1)return await t();let r,s,l,c=!1,p=!1;const d=()=>{try{r=Promise.resolve(t())}catch(m){r=Promise.reject(m)}return r=r.then(m=>(s=m,c=!0,m),m=>{throw l=m,p=!0,m}),r};try{return await a.tracePromise(d,e)}catch{if(p)throw l;return c?s:r!=null?await r:await t()}}function aI({message:e,completion:t}){var o;if(!ff())return;const n=nc("node:diagnostics_channel"),a=nc("node:async_hooks"),r=(o=n?.tracingChannel)==null?void 0:o.call(n,mf);if(r==null||r.hasSubscribers===!1||a==null){Promise.resolve(t).catch(()=>{});return}const s=e;let l,c=!1;const p=m=>{try{m()}catch{}},d=({result:m,error:v})=>{c||(c=!0,v!==void 0&&(s.error=v,p(()=>r.error.publish(s))),m!==void 0&&(s.result=m),p(()=>r.asyncEnd.publish(s)))};return p(()=>{r.start.runStores(s,()=>{l=new a.AsyncResource("ai.telemetry")})}),p(()=>r.end.publish(s)),Promise.resolve(t).then(m=>d({result:m}),m=>d({error:m})),{run:m=>l==null?m():l.runInAsyncScope(m)}}function rI(){var e;return(e=globalThis.AI_SDK_TELEMETRY_INTEGRATIONS)!=null?e:[]}function va(e,t){return Object.assign(Object.create(Object.getPrototypeOf(e)),e,t)}function iI({telemetry:e}){if(e?.isEnabled===!1)return{};const t=e?.integrations,o=t!=null?$n(t):rI(),n={recordInputs:e?.recordInputs,recordOutputs:e?.recordOutputs,functionId:e?.functionId},a=l=>{const c=o.map(d=>{var m;return(m=d[l])==null?void 0:m.bind(d)}).filter(Boolean).map(d=>m=>d(va(m,n))),p=Xt(...c);return async d=>{await p(d)}},r=o.map(l=>{var c;return(c=l.executeLanguageModelCall)==null?void 0:c.bind(l)}).filter(Boolean),s=o.map(l=>{var c;return(c=l.executeTool)==null?void 0:c.bind(l)}).filter(Boolean);return{runInTracingChannelSpan:async({type:l,event:c,execute:p})=>await ac({type:l,event:va(c,n)},p),startTracingChannelContext:({type:l,event:c,completion:p})=>aI({message:{type:l,event:va(c,n)},completion:p}),onStart:a("onStart"),onStepStart:a("onStepStart"),onLanguageModelCallStart:a("onLanguageModelCallStart"),onLanguageModelCallEnd:a("onLanguageModelCallEnd"),onToolExecutionStart:a("onToolExecutionStart"),onToolExecutionEnd:a("onToolExecutionEnd"),onStepEnd:Xt(a("onStepEnd"),a("onStepFinish")),onObjectStepStart:a("onObjectStepStart"),onObjectStepEnd:a("onObjectStepEnd"),onEmbedStart:a("onEmbedStart"),onEmbedEnd:a("onEmbedEnd"),onRerankStart:a("onRerankStart"),onRerankEnd:a("onRerankEnd"),onEnd:a("onEnd"),onAbort:a("onAbort"),onError:a("onError"),executeLanguageModelCall:async({execute:l,...c})=>{const p=va(c,n);let d=l;for(const m of r){const v=d;d=()=>m({...p,execute:v})}return await ac({type:"languageModelCall",event:p},d)},executeTool:async({execute:l,...c})=>{const p=va(c,n);let d=l;for(const m of s){const v=d;d=()=>m({...p,execute:v})}return await d()}}}function sI(e){const t=e.map(o=>"text"in o?o.text:"").join("");return t.length>0?t:void 0}var Ps=class{constructor({callId:e,stepNumber:t,provider:o,modelId:n,runtimeContext:a,toolsContext:r,content:s,finishReason:l,rawFinishReason:c,usage:p,performance:d,warnings:m,request:v,response:y,providerMetadata:g}){this.callId=e,this.stepNumber=t,this.model={provider:o,modelId:n},this.runtimeContext=a,this.toolsContext=r,this.content=s,this.finishReason=l,this.rawFinishReason=c,this.usage=p,this.performance=d,this.warnings=m,this.request=v,this.response=y,this.providerMetadata=g}get text(){return this.content.filter(e=>e.type==="text").map(e=>e.text).join("")}get reasoning(){return oI(this.content.filter(e=>e.type==="reasoning"||e.type==="reasoning-file"))}get reasoningText(){return sI(this.reasoning)}get files(){return this.content.filter(e=>e.type==="file").map(e=>e.file)}get sources(){return this.content.filter(e=>e.type==="source")}get toolCalls(){return this.content.filter(e=>e.type==="tool-call")}get staticToolCalls(){return this.toolCalls.filter(e=>e.dynamic!==!0)}get dynamicToolCalls(){return this.toolCalls.filter(e=>e.dynamic===!0)}get toolResults(){return this.content.filter(e=>e.type==="tool-result")}get staticToolResults(){return this.toolResults.filter(e=>e.dynamic!==!0)}get dynamicToolResults(){return this.toolResults.filter(e=>e.dynamic===!0)}};function Ca({context:e,includeContext:t}){return e==null?{}:Object.fromEntries(Object.entries(e).filter(([o])=>t?.[o]===!0))}function ya({step:e,includeRuntimeContext:t,includeToolsContext:o}){return new Ps({callId:e.callId,stepNumber:e.stepNumber,provider:e.model.provider,modelId:e.model.modelId,runtimeContext:Ca({context:e.runtimeContext,includeContext:t}),toolsContext:mr({toolsContext:e.toolsContext,includeToolsContext:o}),content:e.content,finishReason:e.finishReason,rawFinishReason:e.rawFinishReason,usage:e.usage,performance:e.performance,warnings:e.warnings,request:e.request,response:e.response,providerMetadata:e.providerMetadata})}function mr({toolsContext:e,includeToolsContext:t}){return t==null?{}:Object.fromEntries(Object.entries(e).map(([o,n])=>[o,Vi({toolName:o,toolContext:n,includeToolsContext:t})]))}function Vi({toolName:e,toolContext:t,includeToolsContext:o}){const n=o?.[e];return Ca({context:t,includeContext:n})}function hf({telemetry:e,includeRuntimeContext:t,includeToolsContext:o}){const n=iI({telemetry:e});return{...n,onStart:a=>{var r;return(r=n.onStart)==null?void 0:r.call(n,{...a,runtimeContext:Ca({context:a.runtimeContext,includeContext:t}),toolsContext:mr({toolsContext:a.toolsContext,includeToolsContext:o})})},onStepStart:a=>{var r;return(r=n.onStepStart)==null?void 0:r.call(n,{...a,runtimeContext:Ca({context:a.runtimeContext,includeContext:t}),steps:a.steps.map(s=>ya({step:s,includeRuntimeContext:t,includeToolsContext:o})),toolsContext:mr({toolsContext:a.toolsContext,includeToolsContext:o})})},onStepEnd:a=>{var r;return(r=n.onStepEnd)==null?void 0:r.call(n,ya({step:a,includeRuntimeContext:t,includeToolsContext:o}))},onStepFinish:a=>{var r;return(r=n.onStepEnd)==null?void 0:r.call(n,ya({step:a,includeRuntimeContext:t,includeToolsContext:o}))},onEnd:a=>{var r;return(r=n.onEnd)==null?void 0:r.call(n,(s=>({...a,runtimeContext:Ca({context:a.runtimeContext,includeContext:t}),steps:s,finalStep:s.at(-1),toolsContext:mr({toolsContext:a.toolsContext,includeToolsContext:o})}))(a.steps.map(s=>ya({step:s,includeRuntimeContext:t,includeToolsContext:o}))))},onAbort:a=>{var r;return(r=n.onAbort)==null?void 0:r.call(n,{...a,steps:a.steps.map(s=>ya({step:s,includeRuntimeContext:t,includeToolsContext:o}))})},onToolExecutionStart:a=>{var r;return(r=n.onToolExecutionStart)==null?void 0:r.call(n,{...a,toolContext:Vi({toolName:a.toolCall.toolName,toolContext:a.toolContext,includeToolsContext:o})})},onToolExecutionEnd:a=>{var r;return(r=n.onToolExecutionEnd)==null?void 0:r.call(n,{...a,toolContext:Vi({toolName:a.toolCall.toolName,toolContext:a.toolContext,includeToolsContext:o})})}}}function Gr(e){return({steps:t})=>t.length===e}function lI(...e){return({steps:t})=>{var o,n,a;return(a=(n=(o=t[t.length-1])==null?void 0:o.toolCalls)==null?void 0:n.some(r=>e.includes(r.toolName)))!=null?a:!1}}async function gf({stopConditions:e,steps:t}){return(await Promise.all(e.map(o=>o({steps:t})))).some(o=>o)}function Gi(e,t){return e==null&&t==null?void 0:(e??0)+(t??0)}async function vf({content:e,tools:t}){const o=[],n=[];for(const r of e)if(r.type!=="source"&&!((r.type==="tool-result"||r.type==="tool-error")&&!r.providerExecuted)&&!(r.type==="text"&&r.text.length===0))switch(r.type){case"text":n.push({type:"text",text:r.text,providerOptions:r.providerMetadata});break;case"custom":n.push({type:"custom",kind:r.kind,providerOptions:r.providerMetadata});break;case"reasoning":n.push({type:"reasoning",text:r.text,providerOptions:r.providerMetadata});break;case"file":n.push({type:"file",data:r.file.base64,mediaType:r.file.mediaType,providerOptions:r.providerMetadata});break;case"reasoning-file":n.push({type:"reasoning-file",data:r.file.base64,mediaType:r.file.mediaType,providerOptions:r.providerMetadata});break;case"tool-call":n.push({type:"tool-call",toolCallId:r.toolCallId,toolName:r.toolName,input:r.invalid&&typeof r.input!="object"?{}:r.input,providerExecuted:r.providerExecuted,providerOptions:r.providerMetadata});break;case"tool-result":{const s=await Cn({toolCallId:r.toolCallId,input:r.input,tool:t?.[r.toolName],output:r.output,errorMode:"none"});n.push({type:"tool-result",toolCallId:r.toolCallId,toolName:r.toolName,output:s,providerOptions:r.providerMetadata});break}case"tool-error":{const s=await Cn({toolCallId:r.toolCallId,input:r.input,tool:t?.[r.toolName],output:r.error,errorMode:"json"});n.push({type:"tool-result",toolCallId:r.toolCallId,toolName:r.toolName,output:s,providerOptions:r.providerMetadata});break}case"tool-approval-request":n.push({type:"tool-approval-request",approvalId:r.approvalId,toolCallId:r.toolCall.toolCallId,isAutomatic:r.isAutomatic,...r.signature!=null?{signature:r.signature}:{}});break}n.length>0&&o.push({role:"assistant",content:n});const a=[];for(const r of e){if(r.type!=="tool-approval-response"&&r.type!=="tool-result"&&r.type!=="tool-error")continue;if(r.type==="tool-approval-response"){a.push({type:"tool-approval-response",approvalId:r.approvalId,approved:r.approved,reason:r.reason,providerExecuted:r.providerExecuted}),r.approved===!1&&a.push({type:"tool-result",toolCallId:r.toolCall.toolCallId,toolName:r.toolCall.toolName,output:{type:"execution-denied",reason:r.reason}});continue}if(r.providerExecuted)continue;const s=await Cn({toolCallId:r.toolCallId,input:r.input,tool:t?.[r.toolName],output:r.type==="tool-result"?r.output:r.error,errorMode:r.type==="tool-error"?"text":"none"});a.push({type:"tool-result",toolCallId:r.toolCallId,toolName:r.toolName,output:s,...r.providerMetadata!=null?{providerOptions:r.providerMetadata}:{}})}return a.length>0&&o.push({role:"tool",content:a}),o}var Ds=new TextEncoder;function Bi(e){return e==null||typeof e!="object"?JSON.stringify(e):Array.isArray(e)?`[${e.map(Bi).join(",")}]`:`{${Object.keys(e).sort().map(n=>`${JSON.stringify(n)}:${Bi(e[n])}`).join(",")}}`}function yf(e){return Wo(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/g,"")}function uI(e){return No(e)}async function _f(e){const t=typeof e=="string"?Ds.encode(e):e;return crypto.subtle.importKey("raw",t,{name:"HMAC",hash:"SHA-256"},!1,["sign","verify"])}async function bf(e){const t=Bi(e),o=await crypto.subtle.digest("SHA-256",Ds.encode(t));return yf(new Uint8Array(o))}function wf(e,t,o,n){return Ds.encode(`${e}
73
73
  ${t}
74
74
  ${o}
75
75
  ${n}`)}async function cI({secret:e,approvalId:t,toolCallId:o,toolName:n,input:a}){const r=await _f(e),s=await bf(a),l=wf(t,o,n,s),c=await crypto.subtle.sign("HMAC",r,l);return yf(new Uint8Array(c))}async function dI({secret:e,signature:t,approvalId:o,toolCallId:n,toolName:a,input:r}){const s=await _f(e),l=await bf(r),c=wf(o,n,a,l),p=uI(t);return crypto.subtle.verify("HMAC",s,p,c)}async function xf({secret:e,approvalId:t,toolCallId:o,toolName:n,input:a}){if(e!=null)return cI({secret:e,approvalId:t,toolCallId:o,toolName:n,input:a})}async function Tf({approvedToolApprovals:e,tools:t,toolApproval:o,messages:n,toolsContext:a,runtimeContext:r,toolApprovalSecret:s}){var l;const c=[],p=[];for(const d of e){const{toolCall:m,approvalRequest:v}=d,y=t?.[m.toolName];if(s!=null){if(v.signature==null)throw new Hu({approvalId:v.approvalId,toolCallId:m.toolCallId,reason:"missing signature"});if(!await dI({secret:s,signature:v.signature,approvalId:v.approvalId,toolCallId:m.toolCallId,toolName:m.toolName,input:m.input}))throw new Hu({approvalId:v.approvalId,toolCallId:m.toolCallId,reason:"invalid signature"})}if(Mp(y)&&y.inputSchema!=null){const b=await po({value:m.input,schema:qn(y.inputSchema)});if(!b.success)throw new Zr({toolName:m.toolName,toolInput:JSON.stringify(m.input),cause:b.error})}const g=await $s({tools:t,toolApproval:o,toolCall:m,messages:n,toolsContext:a,runtimeContext:r});g.type==="denied"?p.push({...d,approvalResponse:{...d.approvalResponse,approved:!1,reason:(l=g.reason)!=null?l:d.approvalResponse.reason}}):c.push(d)}return{approvedToolApprovals:c,deniedToolApprovals:p}}var pI=ho({prefix:"aitxt",size:24}),mI=ho({prefix:"call",size:24});async function If({model:e,tools:t,toolChoice:o,instructions:n,system:a,prompt:r,messages:s,allowSystemInMessages:l,maxRetries:c,abortSignal:p,timeout:d,headers:m,stopWhen:v=Gr(1),experimental_sandbox:y,output:g,toolApproval:b,experimental_toolApprovalSecret:x,experimental_telemetry:w,telemetry:_=w,providerOptions:k,activeTools:h,toolOrder:S,prepareStep:E,experimental_repairToolCall:O,experimental_refineToolInput:R,experimental_download:C,runtimeContext:P={},toolsContext:H={},experimental_include:Y,include:z=Y,_internal:{generateId:D=pI,generateCallId:re=mI,now:F=Na}={},onStart:J,experimental_onStart:G,onStepStart:$,experimental_onStepStart:V,onLanguageModelCallStart:L,experimental_onLanguageModelCallStart:oe,onLanguageModelCallEnd:ne,experimental_onLanguageModelCallEnd:pe,onToolExecutionStart:ye,onToolExecutionEnd:le,experimental_onToolCallStart:B,experimental_onToolCallFinish:Z,onStepEnd:te,onStepFinish:j,onFinish:ue,onEnd:q=ue,...I}){var N,U,ie,Pe;z={requestBody:(N=z?.requestBody)!=null?N:!1,requestMessages:(U=z?.requestMessages)!=null?U:!1,responseBody:(ie=z?.responseBody)!=null?ie:!1};const ct=Aa(e),Ze=$n(v),Ue=J??G,Oe=$??V,_t=L??oe,Jt=ne??pe,to=ye??B,Kt=le??Z,Mt=te??j,be=Ym(d),Vt=Xm(d),So=Vt!=null?new AbortController:void 0,Pt=Os(p,be,So?.signal),{maxRetries:Xo,retry:ro}=zi({maxRetries:c,abortSignal:Pt}),Rt=Li(I),Co=$o(m??{},`ai/${Hm}`),M=await Rs({instructions:n,system:a,prompt:r,messages:s,allowSystemInMessages:l}),X=re(),Se=hf({telemetry:_,includeRuntimeContext:_?.includeRuntimeContext,includeToolsContext:_?.includeToolsContext}),Me=(Pe=Se.runInTracingChannelSpan)!=null?Pe:async({execute:at})=>await at(),Ke={callId:X,operationId:"ai.generateText",provider:ct.provider,modelId:ct.modelId,instructions:M.instructions,messages:M.messages,tools:t,toolChoice:o,activeTools:h,toolOrder:S,maxOutputTokens:Rt.maxOutputTokens,temperature:Rt.temperature,topP:Rt.topP,topK:Rt.topK,presencePenalty:Rt.presencePenalty,frequencyPenalty:Rt.frequencyPenalty,stopSequences:Rt.stopSequences,seed:Rt.seed,reasoning:Rt.reasoning,maxRetries:Xo,timeout:d,headers:Co,providerOptions:k,output:g,runtimeContext:P,toolsContext:H};return await Me({type:"generateText",event:Ke,execute:async()=>{var at;await yt({event:Ke,callbacks:[Ue,Se.onStart]});try{const Dt=M.messages,qt=[],{approvedToolApprovals:ge,deniedToolApprovals:Be}=lf({messages:Dt}),{approvedToolApprovals:go,deniedToolApprovals:jn}=await Tf({approvedToolApprovals:ge.filter(xe=>!xe.toolCall.providerExecuted),tools:t,toolApproval:b,messages:Dt,toolsContext:H,runtimeContext:P,toolApprovalSecret:x}),io=[...Be,...jn];if(io.length>0||go.length>0){const xe=await rc({toolCalls:go.map(kt=>kt.toolCall),tools:t,callId:X,messages:Dt,abortSignal:Pt,timeout:d,experimental_sandbox:y,toolsContext:H,onToolExecutionStart:kt=>yt({event:kt,callbacks:[to,Se.onToolExecutionStart]}),onToolExecutionEnd:kt=>yt({event:kt,callbacks:[Kt,Se.onToolExecutionEnd]}),executeToolInTelemetryContext:Se.executeTool,runInTracingChannelSpan:Me}),jt=[];for(const kt of xe){const Gt=kt.output,en=await Cn({toolCallId:Gt.toolCallId,input:Gt.input,tool:t?.[Gt.toolName],output:Gt.type==="tool-result"?Gt.output:Gt.error,errorMode:Gt.type==="tool-error"?"text":"none"});jt.push({type:"tool-result",toolCallId:Gt.toolCallId,toolName:Gt.toolName,output:en})}for(const kt of io)jt.push({type:"tool-result",toolCallId:kt.toolCall.toolCallId,toolName:kt.toolCall.toolName,output:{type:"execution-denied",reason:kt.approvalResponse.reason,...kt.toolCall.providerExecuted&&{providerOptions:{openai:{approvalId:kt.approvalResponse.approvalId}}}}});qt.push({role:"tool",content:jt})}const vo=Li(I);let ot,yo=[],Ne=[],_o=[],Ot=[];const Le=[];let st=M.instructions,gn=[...Dt,...qt];const Un=new Map;do{const xe=Fi({abortController:So,label:"Step",timeoutMs:Vt}),jt=Le.length;try{await Me({type:"step",event:{callId:X,stepNumber:jt},execute:async()=>{var kt,Gt,en,Ha,Wa,Po,Vn,ua,Ja,Ka,Ya,Gn,ca,Xa,Qa,er,da;const pa=[...qt,...Le.flatMap(ke=>ke.response.messages)],Do=gn,He=await E?.({model:ct,steps:Le,stepNumber:Le.length,instructions:st,initialInstructions:M.instructions,messages:Do,initialMessages:Dt,responseMessages:pa,runtimeContext:P,toolsContext:H,experimental_sandbox:y}),Bn=(kt=He?.experimental_sandbox)!=null?kt:y,St=Aa((Gt=He?.model)!=null?Gt:ct),qo=(Ha=(en=He?.instructions)!=null?en:He?.system)!=null?Ha:st,Hn=await Wm({prompt:{instructions:qo,messages:(Wa=He?.messages)!=null?Wa:Do},supportedUrls:await St.supportedUrls,download:C,provider:St.provider.split(".")[0]});P=(Po=He?.runtimeContext)!=null?Po:P,H=(Vn=He?.toolsContext)!=null?Vn:H;const tr=uf({tools:t,activeTools:(ua=He?.activeTools)!=null?ua:h}),Wn=(Ja=He?.toolOrder)!=null?Ja:S,Jn=await Es({tools:tr,toolOrder:Wn,toolsContext:H,experimental_sandbox:Bn}),ma=Cs({toolChoice:(Ka=He?.toolChoice)!=null?Ka:o}),bo=(Ya=He?.messages)!=null?Ya:Do,fa=Vr(k,He?.providerOptions);await yt({event:{callId:X,provider:St.provider,modelId:St.modelId,stepNumber:jt,instructions:qo,messages:bo,tools:t,toolChoice:(Gn=He?.toolChoice)!=null?Gn:o,activeTools:(ca=He?.activeTools)!=null?ca:h,toolOrder:Wn,steps:[...Le],providerOptions:fa,output:g,runtimeContext:P,promptMessages:Hn,stepTools:Jn,stepToolChoice:ma,toolsContext:H},callbacks:[Oe,Se.onStepStart]});const vn={provider:St.provider,modelId:St.modelId,instructions:qo,messages:bo,tools:Jn,...vo},Ae={callId:X,...vn},wt=F();await yt({event:Ae,callbacks:[_t,Se.onLanguageModelCallStart]});const tn=(Xa=Se.executeLanguageModelCall)!=null?Xa:async({execute:ke})=>await ke();ot=await ro(async()=>{var ke,ft,nn,lo,jo,Bs,Hs,Ws;const Kn=await tn({...Ae,execute:async()=>await St.doGenerate({...vo,tools:Jn,toolChoice:ma,responseFormat:await g?.responseFormat,prompt:Hn,providerOptions:fa,abortSignal:Pt,headers:Co})}),zh={id:(ft=(ke=Kn.response)==null?void 0:ke.id)!=null?ft:D(),timestamp:(lo=(nn=Kn.response)==null?void 0:nn.timestamp)!=null?lo:new Date,modelId:(Bs=(jo=Kn.response)==null?void 0:jo.modelId)!=null?Bs:St.modelId,headers:(Hs=Kn.response)==null?void 0:Hs.headers,body:(Ws=Kn.response)==null?void 0:Ws.body};return{...Kn,response:zh}});const Bt=F()-wt,At=af(ot.usage),so=await Promise.all(ot.content.filter(ke=>ke.type==="tool-call").map(ke=>cf({toolCall:ke,tools:t,repairToolCall:O,refineToolInput:R,instructions:qo,messages:bo}))),on={},gt={},yn=new Set,Fs=ic({content:ot.content,toolCalls:so,toolOutputs:[],toolApprovalRequests:[],toolApprovalResponses:[],tools:t});await yt({event:{callId:X,provider:St.provider,modelId:St.modelId,finishReason:ot.finishReason.unified,usage:At,content:Fs,responseId:ot.response.id,performance:{responseTimeMs:Bt,effectiveOutputTokensPerSecond:un({tokens:At.outputTokens,durationMs:Bt}),outputTokensPerSecond:void 0,inputTokensPerSecond:void 0,effectiveTotalTokensPerSecond:un({tokens:Gi(At.inputTokens,At.outputTokens),durationMs:Bt}),timeToFirstOutputMs:void 0}},callbacks:[Jt,Se.onLanguageModelCallEnd]});for(const ke of so){if(ke.invalid)continue;const ft=t?.[ke.toolName];if(ft==null)continue;ft?.onInputAvailable!=null&&await ft.onInputAvailable({input:ke.input,toolCallId:ke.toolCallId,messages:bo,abortSignal:Pt,context:P});const nn=await $s({tools:t,toolApproval:b,toolCall:ke,messages:bo,toolsContext:H,runtimeContext:P});if(nn.type==="not-applicable")continue;const lo=D(),jo=await xf({secret:x,approvalId:lo,toolCallId:ke.toolCallId,toolName:ke.toolName,input:ke.input});switch(nn.type){case"user-approval":{on[ke.toolCallId]={type:"tool-approval-request",approvalId:lo,toolCall:ke,...jo!=null?{signature:jo}:{}},yn.add(ke.toolCallId);break}case"approved":{on[ke.toolCallId]={type:"tool-approval-request",approvalId:lo,toolCall:ke,isAutomatic:!0,...jo!=null?{signature:jo}:{}},gt[ke.toolCallId]={type:"tool-approval-response",approvalId:lo,toolCall:ke,approved:!0,reason:nn.reason,providerExecuted:ke.providerExecuted};break}case"denied":{on[ke.toolCallId]={type:"tool-approval-request",approvalId:lo,toolCall:ke,isAutomatic:!0,...jo!=null?{signature:jo}:{}},gt[ke.toolCallId]={type:"tool-approval-response",approvalId:lo,toolCall:ke,approved:!1,reason:nn.reason,providerExecuted:ke.providerExecuted},yn.add(ke.toolCallId);break}}}const ha=so.filter(ke=>ke.invalid&&ke.dynamic);Ne=[];for(const ke of ha)Ne.push({type:"tool-error",toolCallId:ke.toolCallId,toolName:ke.toolName,input:ke.input,error:Yo(ke.error),dynamic:!0});yo=so.filter(ke=>!ke.providerExecuted),_o=Object.values(gt),Ot=_o.filter(ke=>ke.approved===!1);const Zs={};if(t!=null){const ke=await rc({toolCalls:yo.filter(ft=>!ft.invalid&&!yn.has(ft.toolCallId)),tools:t,callId:X,messages:bo,abortSignal:Pt,timeout:d,experimental_sandbox:Bn,toolsContext:H,onToolExecutionStart:ft=>yt({event:ft,callbacks:[to,Se.onToolExecutionStart]}),onToolExecutionEnd:ft=>yt({event:ft,callbacks:[Kt,Se.onToolExecutionEnd]}),executeToolInTelemetryContext:Se.executeTool,runInTracingChannelSpan:Me});for(const ft of ke)Zs[ft.output.toolCallId]=ft.toolExecutionMs,Ne.push(ft.output)}const qh=F()-wt,jh={effectiveOutputTokensPerSecond:un({tokens:At.outputTokens,durationMs:Bt}),outputTokensPerSecond:void 0,inputTokensPerSecond:void 0,effectiveTotalTokensPerSecond:un({tokens:Gi(At.inputTokens,At.outputTokens),durationMs:Bt}),stepTimeMs:qh,responseTimeMs:Bt,toolExecutionMs:Zs,timeToFirstOutputMs:void 0};for(const ke of so){if(!ke.providerExecuted)continue;const ft=t?.[ke.toolName];ft?.type==="provider"&&ft.supportsDeferredResults&&(ot.content.some(lo=>lo.type==="tool-result"&&lo.toolCallId===ke.toolCallId)||Un.set(ke.toolCallId,{toolName:ke.toolName}))}for(const ke of ot.content)ke.type==="tool-result"&&Un.delete(ke.toolCallId);const Vs=ic({content:ot.content,toolCalls:so,toolOutputs:Ne,toolApprovalRequests:Object.values(on),toolApprovalResponses:_o,tools:t}),Gs=await vf({content:Vs,tools:t}),Uh={...ot.request,body:z.requestBody?(Qa=ot.request)==null?void 0:Qa.body:void 0,messages:z.requestMessages?Sa(bo):void 0},Lh={...ot.response,messages:Sa(Gs),body:z.responseBody?(er=ot.response)==null?void 0:er.body:void 0},Xr=new Ps({callId:X,stepNumber:jt,provider:St.provider,modelId:St.modelId,runtimeContext:P,content:Vs,finishReason:ot.finishReason.unified,rawFinishReason:ot.finishReason.raw,usage:At,performance:jh,warnings:ot.warnings,providerMetadata:ot.providerMetadata,request:Uh,response:Lh,toolsContext:H});return na({warnings:(da=ot.warnings)!=null?da:[],provider:St.provider,model:St.modelId}),Le.push(Xr),st=qo,gn=[...bo,...Gs],await yt({event:Xr,callbacks:[Mt,Se.onStepEnd]}),Xr}})}finally{xe!=null&&clearTimeout(xe)}}while((yo.length>0&&Ne.length+Ot.length===yo.length||Un.size>0)&&!await gf({stopConditions:Ze,steps:Le}));const bt=Le[Le.length-1],Ln=Le.reduce((xe,jt)=>rf(xe,jt.usage),{inputTokens:void 0,inputTokenDetails:{noCacheTokens:void 0,cacheReadTokens:void 0,cacheWriteTokens:void 0},outputTokens:void 0,outputTokenDetails:{textTokens:void 0,reasoningTokens:void 0},totalTokens:void 0}),Va=Le.flatMap(xe=>xe.files),Ga=Le.flatMap(xe=>xe.sources),Qo=Le.flatMap(xe=>xe.toolCalls),Jr=Le.flatMap(xe=>xe.staticToolCalls),zn=Le.flatMap(xe=>xe.dynamicToolCalls),Fn=Le.flatMap(xe=>xe.toolResults),Zn=Le.flatMap(xe=>xe.staticToolResults),Ba=Le.flatMap(xe=>xe.dynamicToolResults),Kr=Le.flatMap(xe=>{var jt;return(jt=xe.warnings)!=null?jt:[]}),Yr={callId:X,stepNumber:bt.stepNumber,model:bt.model,runtimeContext:bt.runtimeContext,finishReason:bt.finishReason,rawFinishReason:bt.rawFinishReason,usage:Ln,totalUsage:Ln,content:Le.flatMap(xe=>xe.content),text:bt.text,reasoning:bt.reasoning,reasoningText:bt.reasoningText,files:Va,sources:Ga,toolCalls:Qo,staticToolCalls:Jr,dynamicToolCalls:zn,toolResults:Fn,staticToolResults:Zn,dynamicToolResults:Ba,responseMessages:[...qt,...Le.flatMap(xe=>xe.response.messages)],warnings:Kr,request:bt.request,response:bt.response,providerMetadata:bt.providerMetadata,steps:Le,finalStep:bt,toolsContext:H};await yt({event:Yr,callbacks:[q,Se.onEnd]});let la;return bt.finishReason==="stop"&&(la=await(g??Nr()).parseCompleteOutput({text:bt.text},{response:bt.response,usage:bt.usage,finishReason:bt.finishReason})),new fI({initialResponseMessages:qt,steps:Le,totalUsage:Ln,output:la})}catch(Dt){throw await((at=Se.onError)==null?void 0:at.call(Se,{callId:X,error:Dt})),nf(Dt)}}})}async function rc({toolCalls:e,tools:t,callId:o,messages:n,abortSignal:a,timeout:r,experimental_sandbox:s,toolsContext:l,onToolExecutionStart:c,onToolExecutionEnd:p,executeToolInTelemetryContext:d,runInTracingChannelSpan:m}){return(await Promise.all(e.map(async y=>await As({toolCall:y,tools:t,callId:o,messages:n,abortSignal:a,timeout:r,experimental_sandbox:s,toolsContext:l,onToolExecutionStart:c,onToolExecutionEnd:p,executeToolInTelemetryContext:d,runInTracingChannelSpan:m})))).filter(y=>y!=null)}var fI=class{constructor(e){this.initialResponseMessages=e.initialResponseMessages,this.steps=e.steps,this._output=e.output,this.totalUsage=e.totalUsage}get finalStep(){return this.steps.at(-1)}get content(){return this.steps.flatMap(e=>e.content)}get text(){return this.finalStep.text}get files(){return this.steps.flatMap(e=>e.files)}get reasoningText(){return this.finalStep.reasoningText}get reasoning(){return pf(this.finalStep.reasoning)}get toolCalls(){return this.steps.flatMap(e=>e.toolCalls)}get staticToolCalls(){return this.steps.flatMap(e=>e.staticToolCalls)}get dynamicToolCalls(){return this.steps.flatMap(e=>e.dynamicToolCalls)}get toolResults(){return this.steps.flatMap(e=>e.toolResults)}get staticToolResults(){return this.steps.flatMap(e=>e.staticToolResults)}get dynamicToolResults(){return this.steps.flatMap(e=>e.dynamicToolResults)}get sources(){return this.steps.flatMap(e=>e.sources)}get finishReason(){return this.finalStep.finishReason}get rawFinishReason(){return this.finalStep.rawFinishReason}get warnings(){return this.steps.flatMap(e=>{var t;return(t=e.warnings)!=null?t:[]})}get providerMetadata(){return this.finalStep.providerMetadata}get response(){return this.finalStep.response}get responseMessages(){return[...this.initialResponseMessages,...this.steps.flatMap(e=>e.response.messages)]}get request(){return this.finalStep.request}get usage(){return this.totalUsage}get output(){if(this._output==null)throw new pr;return this._output}};function ic({content:e,toolCalls:t,toolOutputs:o,toolApprovalRequests:n,toolApprovalResponses:a,tools:r}){const s=[],l=[],c=[],p=new Set(a.map(d=>d.toolCall.toolCallId));for(const d of e)switch(d.type){case"text":case"reasoning":case"custom":case"source":s.push(d);break;case"file":case"reasoning-file":{s.push({type:d.type,file:new Ns({data:d.data.type==="data"?d.data.data:d.data.url.toString(),mediaType:d.mediaType}),...d.providerMetadata!=null?{providerMetadata:d.providerMetadata}:{}});break}case"tool-call":{s.push(t.find(m=>m.toolCallId===d.toolCallId));break}case"tool-result":{const m=t.find(v=>v.toolCallId===d.toolCallId);if(m==null){const v=r?.[d.toolName];if(!(v?.type==="provider"&&v.supportsDeferredResults))throw new Error(`Tool call ${d.toolCallId} not found.`);d.isError?s.push({type:"tool-error",toolCallId:d.toolCallId,toolName:d.toolName,input:void 0,error:d.result,providerExecuted:!0,dynamic:d.dynamic,...d.providerMetadata!=null?{providerMetadata:d.providerMetadata}:{},...v?.metadata!=null?{toolMetadata:v.metadata}:{}}):s.push({type:"tool-result",toolCallId:d.toolCallId,toolName:d.toolName,input:void 0,output:d.result,providerExecuted:!0,dynamic:d.dynamic,...d.providerMetadata!=null?{providerMetadata:d.providerMetadata}:{},...v?.metadata!=null?{toolMetadata:v.metadata}:{}});break}d.isError?s.push({type:"tool-error",toolCallId:d.toolCallId,toolName:d.toolName,input:m.input,error:d.result,providerExecuted:!0,dynamic:m.dynamic,...d.providerMetadata!=null?{providerMetadata:d.providerMetadata}:{},...m.toolMetadata!=null?{toolMetadata:m.toolMetadata}:{}}):s.push({type:"tool-result",toolCallId:d.toolCallId,toolName:d.toolName,input:m.input,output:d.result,providerExecuted:!0,dynamic:m.dynamic,...d.providerMetadata!=null?{providerMetadata:d.providerMetadata}:{},...m.toolMetadata!=null?{toolMetadata:m.toolMetadata}:{}});break}case"tool-approval-request":{const m=t.find(v=>v.toolCallId===d.toolCallId);if(m==null)throw new Ss({toolCallId:d.toolCallId,approvalId:d.approvalId});s.push({type:"tool-approval-request",approvalId:d.approvalId,toolCall:m});break}}for(const d of o)p.has(d.toolCallId)?l.push(d):c.push(d);return[...s,...c,...n,...a,...l]}function Br(e,t){const o=new Headers(e??{});for(const[n,a]of Object.entries(t))o.has(n)||o.set(n,a);return o}function hI({status:e,statusText:t,headers:o,stream:n}){return new Response(n.pipeThrough(new TextEncoderStream),{status:e??200,statusText:t,headers:Br(o,{"content-type":"text/plain; charset=utf-8"})})}function kf({response:e,status:t,statusText:o,headers:n,stream:a}){const r=t??200;o!==void 0?e.writeHead(r,o,n):e.writeHead(r,n);const s=a.getReader();(async()=>{try{for(;;){const{done:c,value:p}=await s.read();if(c)break;e.write(p)||await new Promise(m=>{e.once("drain",m)})}}catch(c){throw c}finally{e.end()}})()}function gI({response:e,status:t,statusText:o,headers:n,stream:a}){kf({response:e,status:t,statusText:o,headers:Object.fromEntries(Br(n,{"content-type":"text/plain; charset=utf-8"}).entries()),stream:a.pipeThrough(new TextEncoderStream)})}function vI({stream:e}){return e.pipeThrough(new TransformStream({transform(t,o){t.type==="text-delta"&&o.enqueue(t.text)}}))}var Sf=class extends TransformStream{constructor(){super({transform(e,t){t.enqueue(`data: ${JSON.stringify(e)}