murmur-rag 0.1.2 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +23 -19
- package/dist/cdn/anthropic-dc7h9prc.js +2 -0
- package/dist/cdn/chunk-hpx6rpea.js +1 -0
- package/dist/cdn/{embed-hn0r8fmg.js → embed-6gef7ym5.js} +2 -2
- package/dist/cdn/{embed-59r4jck6.js → embed-acjpjh6t.js} +3 -3
- package/dist/cdn/embed-fd96s8qk.js +44 -0
- package/dist/cdn/embed-jdraznwg.js +83 -0
- package/dist/cdn/{embed-q6y6vgv1.js → embed-krrjjyf5.js} +4 -4
- package/dist/cdn/{embed-we24qtes.js → embed-ssqsb38w.js} +2 -2
- package/dist/cdn/embed-z32y952f.js +9 -0
- package/dist/cdn/google-yywkqdph.js +14 -0
- package/dist/cdn/index-bq0x71h1.js +1 -0
- package/dist/cdn/index-gyd02jvt.js +9 -0
- package/dist/cdn/index-jt6n0d28.js +1 -0
- package/dist/cdn/index-nesgnf2n.js +1 -0
- package/dist/cdn/index-wgzgvzaf.js +1 -0
- package/dist/cdn/mistral-0mg4kk7s.js +3 -0
- package/dist/cdn/murmur-j1ky5vmr.js +5 -0
- package/dist/cdn/murmur.js +24 -5
- package/dist/cdn/openai-compatible-zhaj1r43.js +11 -0
- package/dist/cdn/openai-g1685z9v.js +18 -0
- package/dist/cdn/retriever-dqxzjaqk.js +1 -0
- package/dist/cdn/transformers.web-3kmbvcbt.js +46 -0
- package/dist/cli.js +10 -5
- package/dist/lib/chunks/{index-fs6gmhz9.js → index-8h9c8ekq.js} +4 -2
- package/dist/lib/chunks/{index-0x7gav29.js → index-92w507gk.js} +304 -27
- package/dist/lib/chunks/{index-6re28wc1.js → index-b77xqap3.js} +13 -1
- package/dist/lib/chunks/{index-z8pn9sdj.js → index-p86sy3y4.js} +17 -4
- package/dist/lib/chunks/{murmur-wq1d15n7.js → murmur-t36hd4vt.js} +2 -2
- package/dist/lib/chunks/{retriever-1rw4z2n6.js → retriever-wxshtnm0.js} +1 -1
- package/dist/lib/embed.js +4 -2
- package/dist/lib/index.js +5 -3
- package/dist/lib/indexer/index.js +10 -5
- package/dist/lib/local/index.js +163 -0
- package/dist/lib/rag/index.js +13 -11
- package/dist/lib/widget/index.js +2 -2
- package/dist/types/local/index.d.ts +56 -0
- package/dist/types/rag/ground.d.ts +7 -0
- package/dist/types/rag/index.d.ts +1 -1
- package/dist/types/widget/element.d.ts +3 -0
- package/dist/types/widget/i18n.d.ts +14 -0
- package/dist/types/widget/session.d.ts +20 -1
- package/dist/types/widget/styles.d.ts +1 -1
- package/package.json +18 -3
- package/dist/cdn/anthropic-w7nkjk5e.js +0 -2
- package/dist/cdn/chunk-e0j28zmb.js +0 -1
- package/dist/cdn/embed-2xm309sb.js +0 -7
- package/dist/cdn/embed-n7jskdxd.js +0 -44
- package/dist/cdn/embed-sgjh2kg2.js +0 -83
- package/dist/cdn/google-qha5xyx4.js +0 -14
- package/dist/cdn/index-11c9cspb.js +0 -1
- package/dist/cdn/index-e5entetm.js +0 -1
- package/dist/cdn/index-kk9hgxdc.js +0 -1
- package/dist/cdn/index-zrmby2xc.js +0 -9
- package/dist/cdn/mistral-16bekg8b.js +0 -3
- package/dist/cdn/murmur-5vkc01ns.js +0 -5
- package/dist/cdn/openai-compatible-za7hc1fv.js +0 -11
- package/dist/cdn/openai-dhy4fp4c.js +0 -18
- package/dist/cdn/retriever-k9mmdcz5.js +0 -1
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import{fn,Tt}from"./embed-2xm309sb.js";import{m,v,R,b,ye,u,e,r,c,Ve,ae,w,Re,o,t,B,l,f,y,a,n,je,Gt,Wt,F,S,I,qe,d,ue,fe,ie,q,X,ot,Ne,Se,W,Le,L,Ie,K,st,U,Ot,At,bt,Ae,Z,P,vt,Xt,We,pe,ge,Q,i,De,s,x,N,J,ct,h,g,k,_,tn,E,D,p,_e,M,on,sn,an,ln,cn,un,dn,Y,$t,pn,wt}from"./embed-sgjh2kg2.js";var ls=Tt(function(Wf,is){var{defineProperty:en,getOwnPropertyDescriptor:vc,getOwnPropertyNames:wc}=Object,bc=Object.prototype.hasOwnProperty,Sc=(T,C)=>{for(var O in C)en(T,O,{get:C[O],enumerable:!0})},Ic=(T,C,O,G)=>{if(C&&typeof C==="object"||typeof C==="function"){for(let V of wc(C))if(!bc.call(T,V)&&V!==O)en(T,V,{get:()=>C[V],enumerable:!(G=vc(C,V))||G.enumerable})}return T},Tc=(T)=>Ic(en({},"__esModule",{value:!0}),T),ns={};Sc(ns,{SYMBOL_FOR_REQ_CONTEXT:()=>ss,getContext:()=>xc});is.exports=Tc(ns);var ss=Symbol.for("@vercel/request-context");function xc(){return globalThis[ss]?.get?.()??{}}});var ms=Tt(function(Hf,ps){var{defineProperty:rn,getOwnPropertyDescriptor:Ec,getOwnPropertyNames:Mc}=Object,Cc=Object.prototype.hasOwnProperty,Rc=(T,C)=>{for(var O in C)rn(T,O,{get:C[O],enumerable:!0})},_c=(T,C,O,G)=>{if(C&&typeof C==="object"||typeof C==="function"){for(let V of Mc(C))if(!Cc.call(T,V)&&V!==O)rn(T,V,{get:()=>C[V],enumerable:!(G=Ec(C,V))||G.enumerable})}return T},Ac=(T)=>_c(rn({},"__esModule",{value:!0}),T),cs={};Rc(cs,{AccessTokenMissingError:()=>ds,RefreshAccessTokenFailedError:()=>us});ps.exports=Ac(cs);class ds extends Error{constructor(){super("No authentication found. Please log in with the Vercel CLI (vercel login).");this.name="AccessTokenMissingError"}}class us extends Error{constructor(T){super("Failed to refresh authentication token.",{cause:T});this.name="RefreshAccessTokenFailedError"}}});var ys=Tt(function(zf,gs){var{defineProperty:nn,getOwnPropertyDescriptor:kc,getOwnPropertyNames:Pc}=Object,Oc=Object.prototype.hasOwnProperty,jc=(T,C)=>{for(var O in C)nn(T,O,{get:C[O],enumerable:!0})},Nc=(T,C,O,G)=>{if(C&&typeof C==="object"||typeof C==="function"){for(let V of Pc(C))if(!Oc.call(T,V)&&V!==O)nn(T,V,{get:()=>C[V],enumerable:!(G=kc(C,V))||G.enumerable})}return T},Dc=(T)=>Nc(nn({},"__esModule",{value:!0}),T),hs={};jc(hs,{AccessTokenMissingError:()=>fs.AccessTokenMissingError,RefreshAccessTokenFailedError:()=>fs.RefreshAccessTokenFailedError,getContext:()=>qc.getContext,getVercelOidcToken:()=>$c,getVercelOidcTokenSync:()=>Uc,getVercelToken:()=>Lc});gs.exports=Dc(hs);var qc=ls(),fs=ms();async function $c(){return""}function Uc(){return""}async function Lc(){throw Error("getVercelToken is not supported in browser environments")}});var _o=fn(ys(),1),Fc="ai-gateway-realtime.v1",Bs="ai-gateway-transcription.v1",Ws="ai-gateway-speech.v1",Gc="ai-gateway-auth.",Vc="ai-gateway-team.";function Bc(T,C){return bn(Fc,T,C)}function Wc(T,C){return bn(Bs,T,C)}function Hc(T,C){return bn(Ws,T,C)}function bn(T,C,O){let G=[T,`${Gc}${C}`];if(O?.teamIdOrSlug)G.push(`${Vc}${zc(O.teamIdOrSlug)}`);return G}function zc(T){let C=new TextEncoder().encode(T),O="";for(let G of C)O+=String.fromCharCode(G);return btoa(O).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/u,"")}var A={any:ae,array:o,boolean:c,discriminatedUnion:f,enum:a,literal:n,json:F,number:r,object:t,record:y,string:e,union:l,unknown:w},mn=Symbol.for("vercel.ai.gateway.error"),ft=class T extends Error{constructor({message:C,statusCode:O=500,cause:G,generationId:V,isRetryable:ee=O!=null&&(O===408||O===409||O===429||O>=500)}){super(V?`${C} [${V}]`:C);this[mn]=!0,this.statusCode=O,this.cause=G,this.generationId=V,this.isRetryable=ee}static isInstance(C){return T.hasMarker(C)}static hasMarker(C){return typeof C==="object"&&C!==null&&mn in C&&C[mn]===!0}},Hs="GatewayAuthenticationError",Kc=`vercel.ai.gateway.error.${Hs}`,vs=Symbol.for(Kc),Za=class T extends ft{constructor({message:C="Authentication failed",statusCode:O=401,cause:G,generationId:V}={}){super({message:C,statusCode:O,cause:G,generationId:V});this[vs]=!0,this.name=Hs,this.type="authentication_error"}static isInstance(C){return ft.hasMarker(C)&&vs in C}static createContextualError({apiKeyProvided:C,oidcTokenProvided:O,statusCode:G=401,cause:V,generationId:ee}){let H;if(C)H=`AI Gateway authentication failed: Invalid API key or token.
|
|
2
|
-
|
|
3
|
-
Create a new API key: https://vercel.com/d?to=%2F%5Bteam%5D%2F%7E%2Fai%2Fapi-keys
|
|
4
|
-
|
|
5
|
-
Provide an API key or Vercel access token via 'apiKey' option or 'AI_GATEWAY_API_KEY' environment variable.`;else if(O)H=`AI Gateway authentication failed: Invalid OIDC token.
|
|
6
|
-
|
|
7
|
-
Run 'npx vercel link' to link your project, then 'vc env pull' to fetch the token.
|
|
8
|
-
|
|
9
|
-
Alternatively, use an API key: https://vercel.com/d?to=%2F%5Bteam%5D%2F%7E%2Fai%2Fapi-keys
|
|
10
|
-
or pass a Vercel access token via the 'apiKey' option.`;else H=`AI Gateway authentication failed: No authentication provided.
|
|
11
|
-
|
|
12
|
-
Option 1 - API key:
|
|
13
|
-
Create an API key: https://vercel.com/d?to=%2F%5Bteam%5D%2F%7E%2Fai%2Fapi-keys
|
|
14
|
-
Provide via 'apiKey' option or 'AI_GATEWAY_API_KEY' environment variable.
|
|
15
|
-
|
|
16
|
-
Option 2 - Vercel access token:
|
|
17
|
-
Pass a Vercel personal access token or Vercel app access token via the 'apiKey' option.
|
|
18
|
-
|
|
19
|
-
Option 3 - OIDC token:
|
|
20
|
-
Run 'npx vercel link' to link your project, then 'vc env pull' to fetch the token.`;return new T({message:H,statusCode:G,cause:V,generationId:ee})}},zs="GatewayInvalidRequestError",Jc=`vercel.ai.gateway.error.${zs}`,ws=Symbol.for(Jc),Yc=class extends ft{constructor({message:T="Invalid request",statusCode:C=400,cause:O,generationId:G}={}){super({message:T,statusCode:C,cause:O,generationId:G});this[ws]=!0,this.name=zs,this.type="invalid_request_error"}static isInstance(T){return ft.hasMarker(T)&&ws in T}},Ks="GatewayRateLimitError",Qc=`vercel.ai.gateway.error.${Ks}`,bs=Symbol.for(Qc),Xc=class extends ft{constructor({message:T="Rate limit exceeded",statusCode:C=429,cause:O,generationId:G}={}){super({message:T,statusCode:C,cause:O,generationId:G});this[bs]=!0,this.name=Ks,this.type="rate_limit_exceeded"}static isInstance(T){return ft.hasMarker(T)&&bs in T}},Js="GatewayModelNotFoundError",Zc=`vercel.ai.gateway.error.${Js}`,Ss=Symbol.for(Zc),ed=i(()=>s(A.object({modelId:A.string()}))),td=class extends ft{constructor({message:T="Model not found",statusCode:C=404,modelId:O,cause:G,generationId:V}={}){super({message:T,statusCode:C,cause:G,generationId:V});this[Ss]=!0,this.name=Js,this.type="model_not_found",this.modelId=O}static isInstance(T){return ft.hasMarker(T)&&Ss in T}},Ys="GatewayNotFoundError",rd=`vercel.ai.gateway.error.${Ys}`,Is=Symbol.for(rd),ad=class extends ft{constructor({message:T="Resource not found",statusCode:C=404,cause:O,generationId:G}={}){super({message:T,statusCode:C,cause:O,generationId:G});this[Is]=!0,this.name=Ys,this.type="not_found"}static isInstance(T){return ft.hasMarker(T)&&Is in T}},Qs="GatewayInternalServerError",od=`vercel.ai.gateway.error.${Qs}`,Ts=Symbol.for(od),xs=class extends ft{constructor({message:T="Internal server error",statusCode:C=500,cause:O,generationId:G}={}){super({message:T,statusCode:C,cause:O,generationId:G});this[Ts]=!0,this.name=Qs,this.type="internal_server_error"}static isInstance(T){return ft.hasMarker(T)&&Ts in T}},Xs="GatewayFailedDependencyError",nd=`vercel.ai.gateway.error.${Xs}`,Es=Symbol.for(nd),sd=class extends ft{constructor({message:T="Failed dependency",statusCode:C=424,cause:O,generationId:G}={}){super({message:T,statusCode:C,cause:O,generationId:G});this[Es]=!0,this.name=Xs,this.type="failed_dependency"}static isInstance(T){return ft.hasMarker(T)&&Es in T}},Zs="GatewayForbiddenError",id=`vercel.ai.gateway.error.${Zs}`,Ms=Symbol.for(id),ld=i(()=>s(A.object({ruleId:A.string()}))),cd=class extends ft{constructor({message:T="Forbidden",statusCode:C=403,cause:O,generationId:G,ruleId:V}={}){super({message:T,statusCode:C,cause:O,generationId:G});this[Ms]=!0,this.name=Zs,this.type="forbidden",this.ruleId=V}static isInstance(T){return ft.hasMarker(T)&&Ms in T}},ei="GatewayResponseError",dd=`vercel.ai.gateway.error.${ei}`,Cs=Symbol.for(dd),ud=class extends ft{constructor({message:T="Invalid response from Gateway",statusCode:C=502,response:O,validationError:G,cause:V,generationId:ee,isRetryable:H}={}){super({message:T,statusCode:C,cause:V,generationId:ee,isRetryable:H});this[Cs]=!0,this.name=ei,this.type="response_error",this.response=O,this.validationError=G}static isInstance(T){return ft.hasMarker(T)&&Cs in T}};async function gn({response:T,statusCode:C,defaultMessage:O="Gateway request failed",cause:G,authMethod:V,isRetryable:ee}){let H=await N({value:T,schema:pd});if(!H.success){let oe=typeof T==="object"&&T!==null&&"generationId"in T?T.generationId:void 0;return new ud({message:`Invalid error response format: ${O}`,statusCode:C,response:T,validationError:H.error,cause:G,generationId:oe,isRetryable:ee})}let te=H.value,re=te.error.type,ne=te.error.message,z=te.generationId??void 0;switch(re){case"authentication_error":return Za.createContextualError({apiKeyProvided:V==="api-key",oidcTokenProvided:V==="oidc",statusCode:C,cause:G,generationId:z});case"invalid_request_error":return new Yc({message:ne,statusCode:C,cause:G,generationId:z});case"rate_limit_exceeded":return new Xc({message:ne,statusCode:C,cause:G,generationId:z});case"model_not_found":{let oe=await N({value:te.error.param,schema:ed});return new td({message:ne,statusCode:C,modelId:oe.success?oe.value.modelId:void 0,cause:G,generationId:z})}case"not_found":return new ad({message:ne,statusCode:C,cause:G,generationId:z});case"internal_server_error":return new xs({message:ne,statusCode:C,cause:G,generationId:z});case"failed_dependency":return new sd({message:ne,statusCode:C,cause:G,generationId:z});case"forbidden":{let oe=await N({value:te.error.param,schema:ld});return new cd({message:ne,statusCode:C,cause:G,generationId:z,ruleId:oe.success?oe.value.ruleId:void 0})}default:return new xs({message:ne,statusCode:C,cause:G,generationId:z})}}var pd=i(()=>s(A.object({error:A.object({message:A.string(),type:A.string().nullish(),param:A.unknown().nullish(),code:A.union([A.string(),A.number()]).nullish()}),generationId:A.string().nullish()})));function md(T){if(T.data!==void 0)return T.data;if(T.responseBody!=null)try{return Q(T.responseBody)}catch{return T.responseBody}return{}}var ti="GatewayTimeoutError",fd=`vercel.ai.gateway.error.${ti}`,Rs=Symbol.for(fd),_s=class T extends ft{constructor({message:C="Request timed out",statusCode:O=408,cause:G,generationId:V}={}){super({message:C,statusCode:O,cause:G,generationId:V});this[Rs]=!0,this.name=ti,this.type="timeout_error"}static isInstance(C){return ft.hasMarker(C)&&Rs in C}static createTimeoutError({originalMessage:C,statusCode:O=408,cause:G,generationId:V}){let ee=`Gateway request timed out: ${C}
|
|
21
|
-
|
|
22
|
-
This is a client-side timeout. To resolve this, increase your timeout configuration: https://vercel.com/docs/ai-gateway/capabilities/video-generation#extending-timeouts-for-node.js`;return new T({message:ee,statusCode:O,cause:G,generationId:V})}};function As(T){if(!(T instanceof Error))return!1;let C=T.code;if(typeof C==="string")return["UND_ERR_HEADERS_TIMEOUT","UND_ERR_BODY_TIMEOUT","UND_ERR_CONNECT_TIMEOUT"].includes(C);return!1}async function pt(T,C){if(ft.isInstance(T))return T;if(As(T))return _s.createTimeoutError({originalMessage:T instanceof Error?T.message:"Unknown error",cause:T});if(v.isInstance(T)){if(T.cause&&As(T.cause))return _s.createTimeoutError({originalMessage:T.message,cause:T});return await gn({response:md(T),statusCode:T.statusCode??500,defaultMessage:"Gateway request failed",cause:T,authMethod:C,isRetryable:T.isRetryable&&(T.statusCode==null||T.statusCode<400)?!0:void 0})}return await gn({response:{},statusCode:500,defaultMessage:T instanceof Error?`Gateway request failed: ${T.message}`:"Unknown Gateway error",cause:T,authMethod:C})}var ri="ai-gateway-auth-method",ai="x-vercel-ai-gateway-team";async function yt(T){let C=await N({value:T[ri],schema:hd});return C.success?C.value:void 0}var hd=i(()=>s(A.union([A.literal("api-key"),A.literal("oidc")]))),gd=["embedding","decision","evaluation","image","language","realtime","reranking","speech","transcription","video"],ks=class{constructor(T){this.config=T}async getAvailableModels(){try{let{value:T}=await P({url:`${this.config.baseURL}/config`,validateUrl:!1,headers:this.config.headers?await _(this.config.headers):void 0,successfulResponseHandler:p(vd),failedResponseHandler:E({errorSchema:A.any(),errorToMessage:(C)=>R(C)??"unknown error"}),fetch:this.config.fetch});return T}catch(T){throw await pt(T)}}async getCredits(){try{let T=new URL(this.config.baseURL),C=this.config.headers?await _(this.config.headers):void 0,O=new URL("/v1/credits",T.origin),G=yd(C);if(G)O.searchParams.set(G.startsWith("team_")?"teamId":"slug",G);let{value:V}=await P({url:O.toString(),validateUrl:!1,headers:C,successfulResponseHandler:p(wd),failedResponseHandler:E({errorSchema:A.any(),errorToMessage:(ee)=>R(ee)??"unknown error"}),fetch:this.config.fetch});return V}catch(T){throw await pt(T)}}};function yd(T){if(!T)return;for(let[C,O]of Object.entries(T))if(C.toLowerCase()==="x-vercel-ai-gateway-team")return O?.trim()||void 0}var vd=i(()=>s(A.object({models:A.array(A.object({id:A.string(),name:A.string(),description:A.string().nullish(),pricing:A.object({input:A.string(),output:A.string(),input_cache_read:A.string().nullish(),input_cache_write:A.string().nullish()}).transform(({input:T,output:C,input_cache_read:O,input_cache_write:G})=>({input:T,output:C,...O?{cachedInputTokens:O}:{},...G?{cacheCreationInputTokens:G}:{}})).nullish(),specification:A.object({specificationVersion:A.literal("v4"),provider:A.string(),modelId:A.string()}),modelType:A.string().nullish()})).transform((T)=>T.filter((C)=>C.modelType==null||gd.includes(C.modelType)))}))),wd=i(()=>s(A.object({balance:A.string(),total_used:A.string()}).transform(({balance:T,total_used:C})=>({balance:T,totalUsed:C})))),bd=class{constructor(T){this.config=T}async getSpendReport(T){try{let C=new URL(this.config.baseURL),O=new URLSearchParams;if(O.set("start_date",T.startDate),O.set("end_date",T.endDate),T.groupBy)O.set("group_by",T.groupBy);if(T.datePart)O.set("date_part",T.datePart);if(T.userId)O.set("user_id",T.userId);if(T.model)O.set("model",T.model);if(T.provider)O.set("provider",T.provider);if(T.credentialType)O.set("credential_type",T.credentialType);if(T.tags&&T.tags.length>0)O.set("tags",T.tags.join(","));let{value:G}=await P({url:`${C.origin}/v1/report?${O.toString()}`,validateUrl:!1,headers:this.config.headers?await _(this.config.headers):void 0,successfulResponseHandler:p(Sd),failedResponseHandler:E({errorSchema:A.any(),errorToMessage:(V)=>R(V)??"unknown error"}),fetch:this.config.fetch});return G}catch(C){throw await pt(C)}}},Sd=i(()=>s(A.object({results:A.array(A.object({day:A.string().optional(),hour:A.string().optional(),user:A.string().optional(),model:A.string().optional(),tag:A.string().optional(),provider:A.string().optional(),credential_type:A.enum(["byok","system"]).optional(),total_cost:A.number(),market_cost:A.number().optional(),input_tokens:A.number().optional(),output_tokens:A.number().optional(),cached_input_tokens:A.number().optional(),cache_creation_input_tokens:A.number().optional(),reasoning_tokens:A.number().optional(),request_count:A.number().optional()}).transform(({credential_type:T,total_cost:C,market_cost:O,input_tokens:G,output_tokens:V,cached_input_tokens:ee,cache_creation_input_tokens:H,reasoning_tokens:te,request_count:re,...ne})=>({...ne,...T!==void 0?{credentialType:T}:{},totalCost:C,...O!==void 0?{marketCost:O}:{},...G!==void 0?{inputTokens:G}:{},...V!==void 0?{outputTokens:V}:{},...ee!==void 0?{cachedInputTokens:ee}:{},...H!==void 0?{cacheCreationInputTokens:H}:{},...te!==void 0?{reasoningTokens:te}:{},...re!==void 0?{requestCount:re}:{}})))}))),Id=class{constructor(T){this.config=T}async getGenerationInfo(T){try{let C=new URL(this.config.baseURL),{value:O}=await P({url:`${C.origin}/v1/generation?id=${encodeURIComponent(T.id)}`,validateUrl:!1,headers:this.config.headers?await _(this.config.headers):void 0,successfulResponseHandler:p(Td),failedResponseHandler:E({errorSchema:A.any(),errorToMessage:(G)=>R(G)??"unknown error"}),fetch:this.config.fetch});return O}catch(C){throw await pt(C)}}},Td=i(()=>s(A.object({data:A.object({id:A.string(),total_cost:A.number(),upstream_inference_cost:A.number(),usage:A.number(),created_at:A.string(),model:A.string(),is_byok:A.boolean(),provider_name:A.string(),streamed:A.boolean(),finish_reason:A.string(),latency:A.number(),generation_time:A.number(),native_tokens_prompt:A.number(),native_tokens_completion:A.number(),native_tokens_reasoning:A.number(),native_tokens_cached:A.number(),native_tokens_cache_creation:A.number(),billable_web_search_calls:A.number()}).transform(({total_cost:T,upstream_inference_cost:C,created_at:O,is_byok:G,provider_name:V,finish_reason:ee,generation_time:H,native_tokens_prompt:te,native_tokens_completion:re,native_tokens_reasoning:ne,native_tokens_cached:z,native_tokens_cache_creation:oe,billable_web_search_calls:se,...de})=>({...de,totalCost:T,upstreamInferenceCost:C,createdAt:O,isByok:G,providerName:V,finishReason:ee,generationTime:H,promptTokens:te,completionTokens:re,reasoningTokens:ne,cachedTokens:z,cacheCreationTokens:oe,billableWebSearchCalls:se}))}).transform(({data:T})=>T))),xd=class{constructor(T){this.config=T,this.specificationVersion="v4",this.supportedUrls={"*/*":[/.*/]},this.provider=`${T.provider}.batch`}async doStartBatch({requests:T,providerOptions:C,headers:O,abortSignal:G,webhookUrl:V}){Cd(T);let ee=Md(T),H=this.config.headers?await _(this.config.headers):void 0,te=Rd(C),re=_d(C);try{let{value:ne}=await g({url:this.getBatchUrl("start"),headers:d(H,O,{"ai-model-id":ee},await _(this.config.o11yHeaders),te!=null?{"idempotency-key":te}:void 0),body:{...V!=null&&{callbackUrl:V},requests:T.map((z)=>({id:z.id,type:z.type,modelId:z.modelId,options:Ed(z.options)})),...re!=null&&{providerOptions:re}},successfulResponseHandler:p(Nd),failedResponseHandler:E({errorSchema:A.any(),errorToMessage:(z)=>R(z)??"unknown error"}),...G&&{abortSignal:G},fetch:this.config.fetch});return{batchId:ne.batchId,...Os(ne),warnings:ne.warnings??[]}}catch(ne){if(Co(ne))throw ne;throw await pt(ne,await yt(H??{}))}}async doGetBatchStatus({batchId:T,headers:C,abortSignal:O}){let G=this.config.headers?await _(this.config.headers):void 0;try{let{value:V}=await g({url:this.getBatchUrl("status"),headers:d(G,C,await _(this.config.o11yHeaders)),body:{batchId:T},successfulResponseHandler:p(js),failedResponseHandler:E({errorSchema:A.any(),errorToMessage:(ee)=>R(ee)??"unknown error"}),...O&&{abortSignal:O},fetch:this.config.fetch});return Os(V)}catch(V){if(Co(V))throw V;throw await pt(V,await yt(G??{}))}}async doGetBatchResults({batchId:T,headers:C,abortSignal:O}){let G=this.config.headers?await _(this.config.headers):void 0;try{let{value:V}=await g({url:this.getBatchUrl("results"),headers:d(G,C,await _(this.config.o11yHeaders)),body:{batchId:T},successfulResponseHandler:_e(kd,{maxLineBytes:this.config.maxLineBytes}),failedResponseHandler:E({errorSchema:A.any(),errorToMessage:(ee)=>R(ee)??"unknown error"}),...O&&{abortSignal:O},fetch:this.config.fetch});return ie(Ad(V))}catch(V){if(Co(V))throw V;throw await pt(V,await yt(G??{}))}}async doCancelBatch({batchId:T,headers:C,abortSignal:O}){let G=this.config.headers?await _(this.config.headers):void 0;try{let{value:V}=await g({url:this.getBatchUrl("cancel"),headers:d(G,C,await _(this.config.o11yHeaders)),body:{batchId:T},successfulResponseHandler:p(js),failedResponseHandler:E({errorSchema:A.any(),errorToMessage:(ee)=>R(ee)??"unknown error"}),...O&&{abortSignal:O},fetch:this.config.fetch});return{...V.providerMetadata!=null&&{providerMetadata:V.providerMetadata}}}catch(V){if(Co(V))throw V;throw await pt(V,await yt(G??{}))}}getBatchUrl(T){return`${this.config.baseURL}/batch/${T}`}};function Ed(T){for(let C of T.prompt){if(!Array.isArray(C.content))continue;for(let O of C.content)if(O.type==="file"||O.type==="reasoning-file")O.data=Ps(O.data);else if(O.type==="tool-result"&&O.output.type==="content"){for(let G of O.output.value)if(G.type==="file")G.data=Ps(G.data)}}return T}function Ps(T){if(T.type==="data"){let C=T.data;if(C instanceof Uint8Array)return{...T,data:Buffer.from(C).toString("base64")}}return T}function Md(T){let C=T[0]?.modelId;if(C==null)throw new b({argument:"requests",message:"The AI Gateway Batch API requires at least one request."});for(let O of T)if(O.modelId!==C)throw new b({argument:"requests",message:`The AI Gateway Batch API requires all requests in a batch to use the same model. Found "${C}" and "${O.modelId}".`});return C}function Cd(T){for(let C of T){let O=C.type;if(O!=="text")throw new u({functionality:`batch request type: ${O}`,message:`The AI Gateway Batch API does not support batch requests with type "${O}".`})}}function Rd(T){let C=T?.gateway;if(C==null||typeof C!=="object"||Array.isArray(C))return;let O=C.idempotencyKey;return typeof O==="string"&&O.length>0?O:void 0}function _d(T){let C=T?.gateway;if(C==null||typeof C!=="object"||Array.isArray(C)||!("idempotencyKey"in C))return T;let{idempotencyKey:O,...G}=C,V={...T};if(Object.keys(G).length===0)delete V.gateway;else V.gateway=G;if(Object.keys(V).length===0)return;return V}function Co(T){if(!(T instanceof Error||T instanceof DOMException))return!1;return T.name==="AbortError"||T.name==="TimeoutError"}function Os(T){let C=ge({total:T.requestCounts?.total,pending:T.requestCounts?.pending,completed:T.requestCounts?.completed,failed:T.requestCounts?.failed});return{status:T.status,...T.rawStatus!=null&&{rawStatus:T.rawStatus},...C!=null&&{requestCounts:C},...T.error!=null&&{error:{message:T.error.message,...T.error.type!=null&&{type:T.error.type},...T.error.code!=null&&{code:T.error.code},...T.error.statusCode!=null&&{statusCode:T.error.statusCode}}},...T.createdAt!=null&&{createdAt:T.createdAt},...T.expiresAt!=null&&{expiresAt:T.expiresAt},...T.providerMetadata!=null&&{providerMetadata:T.providerMetadata}}}async function*Ad(T){for await(let C of T){let O=C;if(O.status==="succeeded"){let G=O.result?.response;if(G!==void 0&&typeof G.timestamp==="string")G.timestamp=new Date(G.timestamp)}yield O}}var kd=i(()=>s(A.object({type:A.literal("text"),id:A.string(),status:A.enum(["cancelled","expired","failed","succeeded"])}).catchall(A.unknown()))),Pd=()=>A.object({message:A.string(),type:A.string().nullish(),code:A.string().nullish(),statusCode:A.number().nullish()}),Od=()=>A.object({total:A.number().nullish(),pending:A.number().nullish(),completed:A.number().nullish(),failed:A.number().nullish()}),jd=()=>A.record(A.string(),A.record(A.string(),A.unknown())),oi=()=>A.object({status:A.enum(["completed","failed","pending"]),rawStatus:A.string().nullish(),requestCounts:Od().nullish(),error:Pd().nullish(),createdAt:A.string().nullish(),expiresAt:A.string().nullish(),providerMetadata:jd().nullish()}),Nd=i(()=>s(oi().extend({batchId:A.string(),warnings:A.array(A.object({requestId:A.string().nullish(),warning:A.unknown()}).catchall(A.unknown())).nullish()}))),js=i(()=>s(oi())),Dd=class T{static[S](C){return M({modelId:C.modelId,config:C.config})}static[I](C){return new T(C.modelId,C.config)}constructor(C,O){this.modelId=C,this.config=O,this.specificationVersion="v4",this.supportedUrls={"*/*":[/.*/]}}get provider(){return this.config.provider}async getArgs(C){let{abortSignal:O,...G}=C;return{args:this.maybeEncodeFileParts(G),warnings:[]}}async doGenerate(C){let{args:O,warnings:G}=await this.getArgs(C),{abortSignal:V}=C,ee=this.config.headers?await _(this.config.headers):void 0;try{let{responseHeaders:H,value:te,rawValue:re}=await g({url:this.getUrl(),headers:d(ee,C.headers,this.getModelConfigHeaders(this.modelId,!1),await _(this.config.o11yHeaders)),body:O,successfulResponseHandler:p(A.any()),failedResponseHandler:E({errorSchema:A.any(),errorToMessage:(ne)=>R(ne)??"unknown error"}),...V&&{abortSignal:V},fetch:this.config.fetch});return{...te,request:{body:O},response:{headers:H,body:re},warnings:[...te.warnings??[],...G]}}catch(H){throw await pt(H,await yt(ee??{}))}}async doStream(C){let{args:O,warnings:G}=await this.getArgs(C),{abortSignal:V}=C,ee=this.config.headers?await _(this.config.headers):void 0;try{let{value:H,responseHeaders:te}=await g({url:this.getUrl(),headers:d(ee,C.headers,this.getModelConfigHeaders(this.modelId,!0),await _(this.config.o11yHeaders)),body:O,successfulResponseHandler:D(A.any()),failedResponseHandler:E({errorSchema:A.any(),errorToMessage:(re)=>R(re)??"unknown error"}),...V&&{abortSignal:V},fetch:this.config.fetch});return{stream:H.pipeThrough(new TransformStream({start(re){if(G.length>0)re.enqueue({type:"stream-start",warnings:G})},transform(re,ne){if(re.success){let z=re.value;if(z.type==="raw"&&!C.includeRawChunks)return;if(z.type==="response-metadata"&&z.timestamp&&typeof z.timestamp==="string")z.timestamp=new Date(z.timestamp);ne.enqueue(z)}else ne.error(re.error)}})),request:{body:O},response:{headers:te}}}catch(H){throw await pt(H,await yt(ee??{}))}}maybeEncodeFileParts(C){for(let O of C.prompt){if(!Array.isArray(O.content))continue;for(let G of O.content)if(G.type==="file"||G.type==="reasoning-file")G.data=Ns(G.data);else if(G.type==="tool-result"&&G.output.type==="content"){for(let V of G.output.value)if(V.type==="file")V.data=Ns(V.data)}}return C}getUrl(){return`${this.config.baseURL}/language-model`}getModelConfigHeaders(C,O){return{"ai-language-model-specification-version":"4","ai-language-model-id":C,"ai-language-model-streaming":String(O)}}};function Ns(T){if(T.type==="data"){let C=T.data;if(C instanceof Uint8Array)return{...T,data:Buffer.from(C).toString("base64")}}return T}var qd=class T{static[S](C){return M({modelId:C.modelId,config:C.config})}static[I](C){return new T(C.modelId,C.config)}constructor(C,O){this.modelId=C,this.config=O,this.specificationVersion="v4",this.maxEmbeddingsPerCall=2048,this.supportsParallelCalls=!0}get provider(){return this.config.provider}async doEmbed({values:C,dimensions:O,headers:G,abortSignal:V,providerOptions:ee}){let H=this.config.headers?await _(this.config.headers):void 0;try{let{responseHeaders:te,value:re,rawValue:ne}=await g({url:this.getUrl(),headers:d(H,G??{},this.getModelConfigHeaders(),await _(this.config.o11yHeaders)),body:{values:C,dimensions:O,...ee?{providerOptions:ee}:{}},successfulResponseHandler:p(Ud),failedResponseHandler:E({errorSchema:A.any(),errorToMessage:(z)=>R(z)??"unknown error"}),...V&&{abortSignal:V},fetch:this.config.fetch});return{embeddings:re.embeddings,usage:re.usage??void 0,providerMetadata:re.providerMetadata,response:{headers:te,body:ne},warnings:re.warnings??[]}}catch(te){throw await pt(te,await yt(H??{}))}}getUrl(){return`${this.config.baseURL}/embedding-model`}getModelConfigHeaders(){return{"ai-embedding-model-specification-version":"4","ai-model-id":this.modelId}}},$d=()=>A.discriminatedUnion("type",[A.object({type:A.literal("unsupported"),feature:A.string(),details:A.string().optional()}),A.object({type:A.literal("compatibility"),feature:A.string(),details:A.string().optional()}),A.object({type:A.literal("deprecated"),setting:A.string(),message:A.string()}),A.object({type:A.literal("other"),message:A.string()})]),Ud=i(()=>s(A.object({embeddings:A.array(A.array(A.number())),usage:A.object({tokens:A.number()}).nullish(),warnings:A.array($d()).optional(),providerMetadata:A.record(A.string(),A.record(A.string(),A.unknown())).optional()}))),Ld=class T{static[S](C){return M({modelId:C.modelId,config:C.config})}static[I](C){return new T(C.modelId,C.config)}constructor(C,O){this.modelId=C,this.config=O,this.specificationVersion="v4",this.maxImagesPerCall=Number.MAX_SAFE_INTEGER}get provider(){return this.config.provider}async doGenerate({prompt:C,n:O,size:G,aspectRatio:V,seed:ee,files:H,mask:te,providerOptions:re,headers:ne,abortSignal:z}){let oe=this.config.headers?await _(this.config.headers):void 0;try{let{responseHeaders:se,value:de}=await g({url:this.getUrl(),headers:d(oe,ne??{},this.getModelConfigHeaders(),await _(this.config.o11yHeaders)),body:{prompt:C,n:O,...G&&{size:G},...V&&{aspectRatio:V},...ee&&{seed:ee},...re&&{providerOptions:re},...H&&{files:H.map((me)=>Ds(me))},...te&&{mask:Ds(te)}},successfulResponseHandler:p(Bd),failedResponseHandler:E({errorSchema:A.any(),errorToMessage:(me)=>R(me)??"unknown error"}),...z&&{abortSignal:z},fetch:this.config.fetch});return{images:de.images,...de.isRetryable!=null&&{isRetryable:de.isRetryable},warnings:de.warnings??[],providerMetadata:de.providerMetadata,response:{timestamp:new Date,modelId:this.modelId,headers:se},...de.usage!=null&&{usage:{inputTokens:de.usage.inputTokens??void 0,outputTokens:de.usage.outputTokens??void 0,totalTokens:de.usage.totalTokens??void 0}}}}catch(se){throw await pt(se,await yt(oe??{}))}}getUrl(){return`${this.config.baseURL}/image-model`}getModelConfigHeaders(){return{"ai-image-model-specification-version":"4","ai-model-id":this.modelId}}};function Ds(T){if(T.type==="file"&&T.data instanceof Uint8Array)return{...T,data:X(T.data)};return T}var Fd=()=>A.object({images:A.array(A.unknown()).optional()}).catchall(A.unknown()),Gd=()=>A.discriminatedUnion("type",[A.object({type:A.literal("unsupported"),feature:A.string(),details:A.string().optional()}),A.object({type:A.literal("compatibility"),feature:A.string(),details:A.string().optional()}),A.object({type:A.literal("deprecated"),setting:A.string(),message:A.string()}),A.object({type:A.literal("other"),message:A.string()})]),Vd=()=>A.object({inputTokens:A.number().nullish(),outputTokens:A.number().nullish(),totalTokens:A.number().nullish()}),Bd=i(()=>s(A.object({images:A.array(A.string()),isRetryable:A.boolean().optional(),warnings:A.array(Gd()).optional(),providerMetadata:A.record(A.string(),Fd()).optional(),usage:Vd().optional()}))),Wd=class{constructor(T,C){this.modelId=T,this.config=C,this.specificationVersion="v4",this.maxVideosPerCall=Number.MAX_SAFE_INTEGER}get provider(){return this.config.provider}async doGenerate(T){let{headers:C,abortSignal:O}=T,G=this.config.headers?await _(this.config.headers):void 0;try{let{responseHeaders:V,value:ee}=await g({url:this.getUrl(),headers:d(G,C??{},this.getModelConfigHeaders(),await _(this.config.o11yHeaders),{accept:"text/event-stream"}),body:this.buildRequestBody(T),successfulResponseHandler:async({response:H,url:te,requestBodyValues:re})=>{if(H.body==null)throw new v({message:"SSE response body is empty",url:te,requestBodyValues:re,statusCode:H.status});let ne=ct({stream:H.body,schema:Hd}).getReader(),{done:z,value:oe}=await ne.read();if(ne.releaseLock(),z||!oe)throw new v({message:"SSE stream ended without a data event",url:te,requestBodyValues:re,statusCode:H.status});if(!oe.success)throw new v({message:"Failed to parse video SSE event",cause:oe.error,url:te,requestBodyValues:re,statusCode:H.status});let se=oe.value;if(se.type==="error")throw new v({message:se.message,statusCode:se.statusCode,url:te,requestBodyValues:re,responseHeaders:Object.fromEntries([...H.headers]),responseBody:JSON.stringify(se),data:{error:{message:se.message,type:se.errorType,param:se.param}}});return{value:{videos:se.videos,warnings:se.warnings,providerMetadata:se.providerMetadata},responseHeaders:Object.fromEntries([...H.headers])}},failedResponseHandler:E({errorSchema:A.any(),errorToMessage:(H)=>R(H)??"unknown error"}),...O&&{abortSignal:O},fetch:this.config.fetch});return{videos:ee.videos,warnings:ee.warnings??[],providerMetadata:ee.providerMetadata??void 0,response:{timestamp:new Date,modelId:this.modelId,headers:V}}}catch(V){throw await pt(V,await yt(G??{}))}}async handleWebhookOption({webhook:T}){let{url:C,received:O}=await T();return{webhookUrl:C,received:O}}async doStart(T){let{headers:C,abortSignal:O,webhookUrl:G}=T,V=this.config.headers?await _(this.config.headers):void 0;try{let{responseHeaders:ee,value:H}=await g({url:this.getStartUrl(),headers:d(V,C??{},this.getModelConfigHeaders(),await _(this.config.o11yHeaders)),body:{...this.buildRequestBody(T),...G&&{callbackUrl:G}},successfulResponseHandler:p(zd),failedResponseHandler:E({errorSchema:A.any(),errorToMessage:(te)=>R(te)??"unknown error"}),...O&&{abortSignal:O},fetch:this.config.fetch});return{operation:H.operation,warnings:H.warnings??[],providerMetadata:H.providerMetadata??void 0,response:{timestamp:new Date,modelId:this.modelId,headers:ee}}}catch(ee){throw await pt(ee,await yt(V??{}))}}async doStatus({operation:T,abortSignal:C,headers:O}){let G=this.config.headers?await _(this.config.headers):void 0;try{let{responseHeaders:V,value:ee}=await g({url:this.getStatusUrl(),headers:d(G,O??{},this.getModelConfigHeaders(),await _(this.config.o11yHeaders)),body:{operation:T},successfulResponseHandler:p(Kd),failedResponseHandler:E({errorSchema:A.any(),errorToMessage:(te)=>R(te)??"unknown error"}),...C&&{abortSignal:C},fetch:this.config.fetch}),H={timestamp:new Date,modelId:this.modelId,headers:V};if(ee.status==="completed")return{status:"completed",videos:ee.videos,warnings:ee.warnings??[],providerMetadata:ee.providerMetadata??void 0,response:H};if(ee.status==="error")return{status:"error",error:ee.error,providerMetadata:ee.providerMetadata??void 0,response:H};if(ee.status==="cancelled")return{status:"error",error:"Video generation was cancelled.",providerMetadata:ee.providerMetadata??void 0,response:H};return{status:"pending",warnings:ee.warnings??[],providerMetadata:ee.providerMetadata??void 0,response:H}}catch(V){throw await pt(V,await yt(G??{}))}}buildRequestBody({prompt:T,n:C,aspectRatio:O,resolution:G,duration:V,fps:ee,seed:H,generateAudio:te,image:re,frameImages:ne,inputReferences:z,providerOptions:oe}){return{prompt:T,n:C,...O&&{aspectRatio:O},...G&&{resolution:G},...V&&{duration:V},...ee&&{fps:ee},...H&&{seed:H},...te!==void 0&&{generateAudio:te},...oe&&{providerOptions:oe},...re&&{image:hn(re)},...ne&&{frameImages:ne.map((se)=>({...se,image:hn(se.image)}))},...z&&{inputReferences:z.map((se)=>hn(se))}}}getUrl(){return`${this.config.baseURL}/video-model`}getStartUrl(){return`${this.config.baseURL}/video-model/start`}getStatusUrl(){return`${this.config.baseURL}/video-model/status`}getModelConfigHeaders(){return{"ai-video-model-specification-version":"4","ai-model-id":this.modelId}}};function hn(T){if(T.type==="file"&&T.data instanceof Uint8Array)return{...T,data:X(T.data)};return T}var _a=()=>A.object({videos:A.array(A.unknown()).optional()}).catchall(A.unknown()),ni=()=>A.union([A.object({type:A.literal("url"),url:A.string(),mediaType:A.string()}),A.object({type:A.literal("base64"),data:A.string(),mediaType:A.string()})]),Ro=()=>A.discriminatedUnion("type",[A.object({type:A.literal("unsupported"),feature:A.string(),details:A.string().optional()}),A.object({type:A.literal("compatibility"),feature:A.string(),details:A.string().optional()}),A.object({type:A.literal("deprecated"),setting:A.string(),message:A.string()}),A.object({type:A.literal("other"),message:A.string()})]),Hd=i(()=>s(A.discriminatedUnion("type",[A.object({type:A.literal("result"),videos:A.array(ni()),warnings:A.array(Ro()).optional(),providerMetadata:A.record(A.string(),_a()).optional()}),A.object({type:A.literal("error"),message:A.string(),errorType:A.string(),statusCode:A.number(),param:A.unknown().nullable()})]))),zd=i(()=>s(A.object({operation:A.unknown(),warnings:A.array(Ro()).nullish(),providerMetadata:A.record(A.string(),_a()).nullish()}))),Kd=i(()=>s(A.discriminatedUnion("status",[A.object({status:A.literal("pending"),warnings:A.array(Ro()).nullish(),providerMetadata:A.record(A.string(),_a()).nullish()}),A.object({status:A.literal("completed"),videos:A.array(ni()),warnings:A.array(Ro()).nullish(),providerMetadata:A.record(A.string(),_a()).nullish()}),A.object({status:A.literal("error"),error:A.string(),providerMetadata:A.record(A.string(),_a()).nullish()}),A.object({status:A.literal("cancelled"),providerMetadata:A.record(A.string(),_a()).nullish()})]))),Jd=i(()=>s(A.object({models:Xd().optional()}).catchall(A.unknown()))),qs=()=>A.number().finite().min(0).max(1),$s=()=>A.string().min(1).max(256),Us=()=>A.union([A.object({question:$s().optional(),confidenceBelow:qs()}).strict(),A.object({question:$s().optional(),probabilityBetween:A.array(qs()).length(2).refine(([T,C])=>T<=C,{message:"probabilityBetween minimum must be less than or equal to maximum"})}).strict()]),Yd=()=>A.union([A.object({any:A.unknown()}),A.object({all:A.unknown()}),A.object({atLeast:A.unknown()})]).superRefine((T,C)=>{C.addIssue({code:"custom",message:"conditions can be nested at most 5 levels deep"})}),Qd=()=>A.object({model:A.string().min(1),when:si(1)}).strict(),Xd=()=>A.array(A.union([A.string(),Qd()])).superRefine((T,C)=>{let O=T.flatMap((G,V)=>typeof G==="string"?[]:[V]);if(O.length>1)C.addIssue({code:"custom",message:"models supports at most one conditional decision fallback"});if(O[0]!==void 0&&O[0]!==0)C.addIssue({code:"custom",message:"a conditional decision fallback must be the first models entry",path:[O[0]]})});function si(T){if(T===5)return A.union([Us(),Yd()]);let C=si(T+1),O=A.array(C).min(1).max(20);return A.union([Us(),A.object({any:O}).strict(),A.object({all:O}).strict(),A.object({atLeast:A.object({count:A.number().int().min(1),conditions:O}).strict().refine(({count:G,conditions:V})=>G<=V.length,{message:"atLeast count cannot exceed the number of conditions",path:["count"]})}).strict()])}var Zd=class{constructor(T,C){this.modelId=T,this.config=C,this.specificationVersion="v4",this.supportedQuestionTypes=["choice","score","boolean"]}get provider(){return this.config.provider}doEvaluate(T){return this.doDecide(T)}async doDecide({state:T,questions:C,maxOutputTokens:O,reasoning:G,headers:V,abortSignal:ee,providerOptions:H}){let te=au(T),re=await h({provider:"gateway",providerOptions:H,schema:Jd}),ne=re==null?H:{...H,gateway:re},z=this.config.headers?await _(this.config.headers):void 0;try{let{responseHeaders:oe,value:se,rawValue:de}=await g({url:this.getUrl(),headers:d(z,V??{},this.getModelConfigHeaders(),await _(this.config.o11yHeaders)),body:{stateParts:te,questions:C,maxOutputTokens:O,reasoning:G,...ne?{providerOptions:ne}:{}},successfulResponseHandler:p(ru),failedResponseHandler:E({errorSchema:A.any(),errorToMessage:(me)=>R(me)??"unknown error"}),...ee&&{abortSignal:ee},fetch:this.config.fetch});return{answers:se.answers,...se.rounding?{rounding:se.rounding}:{},...se.usage?{usage:se.usage}:{},warnings:se.warnings??[],providerMetadata:se.providerMetadata,response:{modelId:se.model??this.modelId,headers:oe,body:de}}}catch(oe){throw await pt(oe,await yt(z??{}))}}getUrl(){return`${this.config.baseURL}/decision-model`}getModelConfigHeaders(){return{"ai-decision-model-specification-version":"4","ai-model-id":this.modelId}}},eu=()=>A.discriminatedUnion("type",[A.object({type:A.literal("choice"),choice:A.string(),probabilities:A.record(A.string(),A.number()).optional()}),A.object({type:A.literal("score"),score:A.number(),probabilities:A.record(A.string(),A.number()).optional()}),A.object({type:A.literal("boolean"),probability:A.number()}),A.object({type:A.literal("refusal")})]),tu=()=>A.discriminatedUnion("type",[A.object({type:A.literal("unsupported"),feature:A.string(),details:A.string().optional()}),A.object({type:A.literal("compatibility"),feature:A.string(),details:A.string().optional()}),A.object({type:A.literal("deprecated"),setting:A.string(),message:A.string()}),A.object({type:A.literal("other"),message:A.string()})]),ru=i(()=>s(A.object({answers:A.record(A.string(),eu()),model:A.string().optional(),rounding:A.object({probabilityDecimals:A.number().optional(),scoreDecimals:A.number().optional()}).optional(),usage:A.object({inputTokens:A.number().optional(),outputTokens:A.number().optional()}).optional(),warnings:A.array(tu()).optional(),providerMetadata:A.record(A.string(),A.record(A.string(),A.unknown())).optional()})));function au(T){return T.map((C)=>{if(C.type!=="file")return C;if(C.data.type!=="data")throw new u({functionality:`Gateway decision file input: ${C.data.type} data`});let{data:O}=C.data;return{...C,data:{type:"data",data:typeof O==="string"?O:X(O)}}})}var ou=class{constructor(T,C){this.modelId=T,this.config=C,this.specificationVersion="v4"}get provider(){return this.config.provider}async doRerank({documents:T,query:C,topN:O,headers:G,abortSignal:V,providerOptions:ee}){let H=this.config.headers?await _(this.config.headers):void 0;try{let{responseHeaders:te,value:re,rawValue:ne}=await g({url:this.getUrl(),headers:d(H,G??{},this.getModelConfigHeaders(),await _(this.config.o11yHeaders)),body:{documents:T,query:C,...O!=null?{topN:O}:{},...ee?{providerOptions:ee}:{}},successfulResponseHandler:p(su),failedResponseHandler:E({errorSchema:A.any(),errorToMessage:(z)=>R(z)??"unknown error"}),...V&&{abortSignal:V},fetch:this.config.fetch});return{ranking:re.ranking,providerMetadata:re.providerMetadata,response:{headers:te,body:ne},warnings:re.warnings??[]}}catch(te){throw await pt(te,await yt(H??{}))}}getUrl(){return`${this.config.baseURL}/reranking-model`}getModelConfigHeaders(){return{"ai-reranking-model-specification-version":"4","ai-model-id":this.modelId}}},nu=()=>A.discriminatedUnion("type",[A.object({type:A.literal("unsupported"),feature:A.string(),details:A.string().optional()}),A.object({type:A.literal("compatibility"),feature:A.string(),details:A.string().optional()}),A.object({type:A.literal("deprecated"),setting:A.string(),message:A.string()}),A.object({type:A.literal("other"),message:A.string()})]),su=i(()=>s(A.object({ranking:A.array(A.object({index:A.number(),relevanceScore:A.number()})),warnings:A.array(nu()).optional(),providerMetadata:A.record(A.string(),A.record(A.string(),A.unknown())).optional()})));async function ii(T,C,O){T.error(await pt(C,O))}function iu(T){if(T!=null&&typeof T==="object"&&"message"in T&&typeof T.message==="string")return T.message;return R(T)}var Ls={authentication_error:401,failed_dependency:424,forbidden:403,internal_server_error:500,invalid_request_error:400,model_not_found:404,rate_limit_exceeded:429};async function yn(T,C,O="transcription"){if(typeof T==="object"&&T!=null&&"message"in T&&typeof T.message==="string"&&"type"in T&&typeof T.type==="string"&&T.type in Ls)return gn({response:{error:{message:T.message,type:T.type}},statusCode:Ls[T.type],authMethod:C});return Error(`AI Gateway ${O} stream failed: ${iu(T)}`)}var lu=class{constructor(T,C){this.modelId=T,this.config=C,this.specificationVersion="v4"}get provider(){return this.config.provider}async doGenerate({audio:T,mediaType:C,providerOptions:O,headers:G,abortSignal:V}){let ee=this.config.headers?await _(this.config.headers):void 0;try{let{responseHeaders:H,value:te,rawValue:re}=await g({url:this.getUrl(),headers:d(ee,G??{},this.getModelConfigHeaders(),await _(this.config.o11yHeaders)),body:{audio:T instanceof Uint8Array?X(T):T,mediaType:C,...O&&{providerOptions:O}},successfulResponseHandler:p(fu),failedResponseHandler:E({errorSchema:A.any(),errorToMessage:(z)=>R(z)??"unknown error"}),...V&&{abortSignal:V},fetch:this.config.fetch}),ne=[...te.warnings??[]];if(cu(this.modelId)&&du(O)&&!wn(re))ne.push({type:"unsupported",feature:"providerOptions.xai.diarize",details:"AI Gateway does not currently expose xAI speaker diarization metadata."});return{text:te.text,segments:te.segments??[],language:te.language??void 0,durationInSeconds:te.durationInSeconds??void 0,warnings:ne,...te.usage!=null&&{usage:te.usage},providerMetadata:te.providerMetadata,response:{timestamp:new Date,modelId:this.modelId,headers:H,body:re}}}catch(H){throw await pt(H,await yt(ee??{}))}}async doStream(T){let C=this.config._internal?.currentDate?.()??new Date,O=d(await _(this.config.headers??{}),T.headers??{},this.getModelConfigHeaders(),await _(this.config.o11yHeaders)),G=await yt(O),V={type:cn,inputAudioFormat:T.inputAudioFormat,...T.providerOptions!=null&&{providerOptions:T.providerOptions},...T.includeRawChunks!=null&&{includeRawChunks:T.includeRawChunks}};return{stream:uu({webSocket:this.config.webSocket,url:li(this.config.baseURL,this.modelId),protocols:ci(O),headers:O,startFrame:V,audio:T.audio,abortSignal:T.abortSignal,authMethod:G}),request:{body:V},response:{timestamp:C,modelId:this.modelId}}}getUrl(){return`${this.config.baseURL}/transcription-model`}getModelConfigHeaders(){return{"ai-transcription-model-specification-version":"4","ai-model-id":this.modelId}}};function cu(T){return T.startsWith("spacexai/")||T.startsWith("xai/")}function du(T){return T?.xai?.diarize===!0||T?.spacexai?.diarize===!0}function wn(T){if(Array.isArray(T))return T.some(wn);if(T==null||typeof T!=="object")return!1;return Object.entries(T).some(([C,O])=>C==="speaker"&&O!=null||wn(O))}function li(T,C){let O=new URL(`${T.replace(/^http/,"ws")}/transcription-model`);return O.searchParams.set("ai-model-id",C),O.toString()}function ci(T,{marker:C=Bs,getProtocols:O=Wc}={}){let G=Le(T),V=G.authorization,ee=V?.startsWith("Bearer ")?V.slice(7):void 0;return ee==null?[C]:O(ee,{teamIdOrSlug:G[ai]})}var Fs=65536;function uu({webSocket:T,url:C,protocols:O,headers:G,startFrame:V,audio:ee,abortSignal:H,authMethod:te}){let re=!1,ne=()=>{};return new ReadableStream({start:(z)=>{let oe,se=!1,de,me=!1,Fe;ne=(Ee)=>{if(oe!=null)oe.cancel().catch(()=>{});else ee.cancel().catch(()=>{});Fe?.close(Ee)};let Be=()=>{if(me=!0,oe!=null)oe.cancel().catch(()=>{}),oe=void 0;else ee.cancel().catch(()=>{})},be=(Ee)=>{if(re)return;re=!0,ne(),ii(z,Ee,te)},$e=async(Ee)=>{let we=ee.getReader();oe=we;try{while(!0){let{done:le,value:ve}=await we.read();if(le||re)break;let Te=typeof ve==="string"?q(ve):ve;for(let ce=0;ce<Te.length;ce+=Fs){if(re)break;Ee.send(Te.subarray(ce,ce+Fs)),await ue(Ee)}}}finally{if(we.releaseLock(),oe===we)oe=void 0}if(!re&&!me)Ee.send(JSON.stringify({type:un}))};Fe=fe({url:C,protocols:O,headers:G,webSocket:T,abortSignal:H,onAbort:(Ee)=>{if(re)return;re=!0,ne(),z.error(Ee)},onProcessingError:be,onOpen:(Ee)=>{Ee.send(JSON.stringify(V)),$e(Ee).catch(be)},onMessageText:(Ee)=>{if(re)return;let we=dn(Ee);if(we==null)return;if(we.type==="finish"){re=!0,z.enqueue(we),z.close(),ne(1000);return}if(we.type==="error")se=!0,de=we.error,Be();z.enqueue(we)},onSocketError:()=>{be(Error("Connection error on AI Gateway transcription stream"))},onClose:()=>{if(se){if(re)return;yn(de,te).then(be);return}be(Error("AI Gateway transcription stream closed before a finish part was received"))}})},cancel:()=>{if(re)return;re=!0,ne()}})}var pu=()=>A.object({}).catchall(A.unknown()),mu=()=>A.discriminatedUnion("type",[A.object({type:A.literal("unsupported"),feature:A.string(),details:A.string().optional()}),A.object({type:A.literal("compatibility"),feature:A.string(),details:A.string().optional()}),A.object({type:A.literal("deprecated"),setting:A.string(),message:A.string()}),A.object({type:A.literal("other"),message:A.string()})]),fu=i(()=>s(A.object({text:A.string(),segments:A.array(A.object({text:A.string(),startSecond:A.number(),endSecond:A.number()})).optional(),language:A.string().nullish(),durationInSeconds:A.number().nullish(),warnings:A.array(mu()).optional(),usage:A.record(A.string(),A.json()).optional(),providerMetadata:A.record(A.string(),pu()).optional()}))),hu=class{constructor(T,C){this.modelId=T,this.config=C,this.specificationVersion="v4"}get provider(){return this.config.provider}async doGenerate({text:T,voice:C,outputFormat:O,instructions:G,speed:V,language:ee,providerOptions:H,headers:te,abortSignal:re}){let ne=this.config.headers?await _(this.config.headers):void 0;try{let{responseHeaders:z,value:oe,rawValue:se}=await g({url:this.getUrl(),headers:d(ne,te??{},this.getModelConfigHeaders(),await _(this.config.o11yHeaders)),body:{text:T,...C&&{voice:C},...O&&{outputFormat:O},...G&&{instructions:G},...V!=null&&{speed:V},...ee&&{language:ee},...H&&{providerOptions:H}},successfulResponseHandler:p(Su),failedResponseHandler:E({errorSchema:A.any(),errorToMessage:(de)=>R(de)??"unknown error"}),...re&&{abortSignal:re},fetch:this.config.fetch});return{audio:oe.audio,warnings:oe.warnings??[],...oe.usage!=null&&{usage:oe.usage},providerMetadata:oe.providerMetadata,response:{timestamp:new Date,modelId:this.modelId,headers:z,body:se}}}catch(z){throw await pt(z,await yt(ne??{}))}}async doStream(T){let C=this.config._internal?.currentDate?.()??new Date,O=d(await _(this.config.headers??{}),T.headers??{},this.getModelConfigHeaders(),await _(this.config.o11yHeaders)),G=await yt(O),V={type:on,...T.voice!=null&&{voice:T.voice},...T.outputFormat!=null&&{outputFormat:T.outputFormat},...T.instructions!=null&&{instructions:T.instructions},...T.speed!=null&&{speed:T.speed},...T.language!=null&&{language:T.language},...T.providerOptions!=null&&{providerOptions:T.providerOptions},...T.includeRawChunks!=null&&{includeRawChunks:T.includeRawChunks}};return{stream:vu({webSocket:this.config.webSocket,url:di(this.config.baseURL,this.modelId),protocols:ci(O,{marker:Ws,getProtocols:Hc}),headers:O,startFrame:V,text:T.text,abortSignal:T.abortSignal,authMethod:G}),request:{body:V},response:{timestamp:C,modelId:this.modelId}}}getUrl(){return`${this.config.baseURL}/speech-model`}getModelConfigHeaders(){return{"ai-speech-model-specification-version":"4","ai-model-id":this.modelId}}};function di(T,C){let O=new URL(`${T.replace(/^http/,"ws")}/speech-model`);return O.searchParams.set("ai-model-id",C),O.toString()}var gu=8192;function yu(T){let C=[],O=0;while(O<T.length){let G=Math.min(O+gu,T.length),V=T.charCodeAt(G-1);if(G<T.length&&V>=55296&&V<=56319)G--;C.push(T.slice(O,G)),O=G}return C}function vu({webSocket:T,url:C,protocols:O,headers:G,startFrame:V,text:ee,abortSignal:H,authMethod:te}){let re=!1,ne=()=>{};return new ReadableStream({start:(z)=>{let oe,se=!1,de,me=!1,Fe,Be=()=>{if(oe!=null)oe.cancel().catch(()=>{}),oe=void 0;else ee.cancel().catch(()=>{})};ne=(Ee)=>{Be(),Fe?.close(Ee)};let be=(Ee)=>{if(re)return;re=!0,ne(),ii(z,Ee,te)},$e=async(Ee)=>{let we=ee.getReader();oe=we;try{while(!0){let{done:le,value:ve}=await we.read();if(le||re||me)break;let Te=!0,ce=yu(ve.text);if(ce.length===0&&(ve.voice!=null||ve.providerOptions!=null))ce.push("");for(let xe of ce){if(re||me)break;let Ke={type:sn,delta:xe,...ve.voice!=null&&{voice:ve.voice},...Te&&ve.providerOptions!=null&&{providerOptions:ve.providerOptions}};Te=!1,Ee.send(JSON.stringify(Ke)),await ue(Ee)}}}finally{if(we.releaseLock(),oe===we)oe=void 0}if(!re&&!me)Ee.send(JSON.stringify({type:an}))};Fe=fe({url:C,protocols:O,headers:G,webSocket:T,abortSignal:H,onAbort:(Ee)=>{if(re)return;re=!0,ne(),z.error(Ee)},onProcessingError:be,onOpen:(Ee)=>{Ee.send(JSON.stringify(V)),$e(Ee).catch(be)},onMessageText:async(Ee)=>{if(re)return;let we=ln(Ee);if(we==null)return;if(we.type==="finish"){re=!0,z.enqueue(we),z.close(),ne(1000);return}if(we.type==="error"){if(se=!0,de=we.error,me=!0,Be(),we.error=await yn(we.error,te,"speech"),re)return}z.enqueue(we)},onSocketError:()=>{be(Error("Connection error on AI Gateway speech stream"))},onClose:({code:Ee,reason:we})=>{if(se){if(re)return;yn(de,te,"speech").then(be);return}be(Error("AI Gateway speech stream closed before a finish part was received"+(Ee!=null?` (code ${Ee}${we?`: ${we}`:""})`:"")+"."))}})},cancel:()=>{if(re)return;re=!0,ne()}})}var wu=()=>A.object({}).catchall(A.unknown()),bu=()=>A.discriminatedUnion("type",[A.object({type:A.literal("unsupported"),feature:A.string(),details:A.string().optional()}),A.object({type:A.literal("compatibility"),feature:A.string(),details:A.string().optional()}),A.object({type:A.literal("deprecated"),setting:A.string(),message:A.string()}),A.object({type:A.literal("other"),message:A.string()})]),Su=i(()=>s(A.object({audio:A.string(),warnings:A.array(bu()).optional(),usage:A.record(A.string(),A.json()).optional(),providerMetadata:A.record(A.string(),wu()).optional()}))),Iu=class{constructor(T,C){this.specificationVersion="v4",this.modelId=T,this.provider=C.provider,this.config=C}async doCreateClientSecret(T){let C=await this.config.createClientSecret({modelId:this.modelId,...T?.expiresAfterSeconds!=null&&{expiresAfterSeconds:T.expiresAfterSeconds}});return{token:C.token,url:Tu(this.config.baseURL,this.modelId),...C.expiresAt!=null&&{expiresAt:C.expiresAt}}}getWebSocketConfig(T){return{url:T.url,protocols:Bc(T.token,{teamIdOrSlug:this.config.teamIdOrSlug})}}parseServerEvent(T){return T}serializeClientEvent(T){return T}buildSessionConfig(T){return T}};function Tu(T,C){let O=new URL(`${T.replace(/^http/,"ws")}/realtime-model`);return O.searchParams.set("ai-model-id",C),O.toString()}var ui=()=>A.record(A.string(),A.unknown()),xu=i(()=>s(A.object({url:A.string().url().describe("URL of the page to fetch."),allow_redirects:A.boolean().optional().describe("Whether to follow HTTP redirects (default: false)."),allow_insecure_ssl:A.boolean().optional().describe("Whether to bypass TLS certificate verification (default: false). Only use for trusted hosts."),proxies:A.boolean().optional().describe("Whether to route the request through Browserbase proxies (default: false)."),format:A.enum(["raw","json","markdown"]).optional().describe("Output format. raw returns the response body unchanged, markdown returns page content as Markdown, and json returns structured content using schema."),schema:ui().optional().describe("JSON Schema for structured extraction. Only use with format set to json.")}))),Eu=i(()=>s(A.union([A.object({id:A.string(),content:A.union([A.string(),ui()]),contentType:A.string(),encoding:A.string(),headers:A.record(A.string(),A.string()),statusCode:A.number()}),A.object({error:A.enum(["api_error","configuration_error","execution_error","invalid_input","rate_limit","timeout","unknown"]),statusCode:A.number().optional(),message:A.string()})]))),Mu=k({id:"gateway.browserbase_fetch",inputSchema:xu,outputSchema:Eu}),Cu=(T={})=>Mu(T),Ru=i(()=>s(A.object({query:A.string().min(1).max(200).describe("Web search query. Must be between 1 and 200 characters."),num_results:A.number().int().min(1).max(25).optional().describe("Maximum number of results to return (1-25, default: 10).")}))),_u=i(()=>s(A.union([A.object({query:A.string(),requestId:A.string(),results:A.array(A.object({id:A.string(),title:A.string(),url:A.string(),author:A.string().optional(),favicon:A.string().optional(),image:A.string().optional(),publishedDate:A.string().optional()}))}),A.object({error:A.enum(["api_error","configuration_error","execution_error","invalid_input","rate_limit","timeout","unknown"]),statusCode:A.number().optional(),message:A.string()})]))),Au=k({id:"gateway.browserbase_search",inputSchema:Ru,outputSchema:_u}),ku=(T={})=>Au(T),Pu=i(()=>s(A.object({query:A.string().describe("Natural-language web search query. This is required."),type:A.enum(["auto","fast","instant"]).optional().describe("Search method. Use auto for the default balance of speed and quality."),num_results:A.number().optional().describe("Maximum number of results to return (1-100, default: 10)."),category:A.enum(["company","people","research paper","news","personal site","financial report"]).optional().describe("Optional content category to focus results."),user_location:A.string().optional().describe("Two-letter ISO country code such as 'US'."),include_domains:A.array(A.string()).optional().describe("Only return results from these domains."),exclude_domains:A.array(A.string()).optional().describe("Exclude results from these domains."),start_published_date:A.string().optional().describe("Only return links published after this ISO 8601 date."),end_published_date:A.string().optional().describe("Only return links published before this ISO 8601 date."),contents:A.object({text:A.union([A.boolean(),A.object({max_characters:A.number().optional(),include_html_tags:A.boolean().optional(),verbosity:A.enum(["compact","standard","full"]).optional(),include_sections:A.array(A.enum(["header","navigation","banner","body","sidebar","footer","metadata"])).optional(),exclude_sections:A.array(A.enum(["header","navigation","banner","body","sidebar","footer","metadata"])).optional()})]).optional(),highlights:A.union([A.boolean(),A.object({query:A.string().optional(),max_characters:A.number().optional()})]).optional(),max_age_hours:A.number().optional(),livecrawl_timeout:A.number().optional(),subpages:A.number().optional(),subpage_target:A.union([A.string(),A.array(A.string())]).optional(),extras:A.object({links:A.number().optional(),image_links:A.number().optional()}).optional()}).optional().describe("Controls extracted page content and freshness.")}))),Ou=i(()=>s(A.union([A.object({requestId:A.string(),searchType:A.string().optional(),resolvedSearchType:A.string().optional(),results:A.array(A.object({title:A.string(),url:A.string(),id:A.string(),publishedDate:A.string().nullable().optional(),author:A.string().nullable().optional(),image:A.string().nullable().optional(),favicon:A.string().nullable().optional(),text:A.string().optional(),highlights:A.array(A.string()).optional(),highlightScores:A.array(A.number()).optional(),summary:A.string().optional(),subpages:A.array(A.any()).optional(),extras:A.object({links:A.array(A.string()).optional(),imageLinks:A.array(A.string()).optional()}).optional()})),costDollars:A.object({total:A.number().optional(),search:A.record(A.string(),A.number()).optional()}).optional()}),A.object({error:A.enum(["api_error","rate_limit","timeout","invalid_input","configuration_error","execution_error","unknown"]),statusCode:A.number().optional(),message:A.string()})]))),ju=k({id:"gateway.exa_search",inputSchema:Pu,outputSchema:Ou}),Nu=(T={})=>ju(T),Du=["turbo","fast","basic","advanced","one-shot","agentic"],qu=i(()=>s(A.object({objective:A.string().describe("Natural-language description of the web research goal, including source or freshness guidance and broader context from the task. Maximum 5000 characters."),search_queries:A.array(A.string()).optional().describe("Provide 2-3 concise keyword queries, 3-6 words each (max 5, 200 chars each). Strongly recommended; the search runs on these queries."),mode:A.enum(Du).optional().describe('Search mode: "turbo" and "fast" return quickly with shorter excerpts, "basic" is balanced (default), "advanced" is the most thorough. "turbo" supports English and Japanese only. "one-shot" and "agentic" are deprecated aliases of "basic" and "advanced".'),max_results:A.number().optional().describe("Maximum number of results to return (1-20). Defaults to 10 if not specified."),source_policy:A.object({include_domains:A.array(A.string()).optional().describe("Domains or domain/path prefixes to restrict results to, without scheme or port. Example: ['wikipedia.org', 'docs.python.org/3']."),exclude_domains:A.array(A.string()).optional().describe("Domains or domain/path prefixes to exclude, without scheme or port. Example: ['reddit.com']."),after_date:A.string().optional().describe("Only include results published on or after this date. Use an ISO 8601 calendar date formatted YYYY-MM-DD (e.g. 2025-01-01); do not include a time.")}).optional().describe("Source policy for controlling which domains to include/exclude and freshness."),excerpts:A.object({max_chars_per_result:A.number().optional().describe("Maximum characters per result."),max_chars_total:A.number().optional().describe("Deprecated: use the top-level max_chars_total.")}).optional().describe("Excerpt configuration for controlling result length."),max_chars_total:A.number().optional().describe("Maximum total characters across all result excerpts."),fetch_policy:A.object({max_age_seconds:A.number().optional().describe("Maximum age of cached content in seconds before a live fetch, minimum 600."),timeout_seconds:A.number().optional().describe("Timeout in seconds for a live fetch when content is not cached. Capped by the gateway tool timeout."),disable_cache_fallback:A.boolean().optional().describe("Return an error instead of older cached content when a live fetch fails.")}).optional().describe("Fetch policy for controlling content freshness."),location:A.string().optional().describe('ISO 3166-1 alpha-2 country code to localize results, e.g. "us".')}))),$u=i(()=>s(A.union([A.object({search_id:A.string(),results:A.array(A.object({url:A.string(),title:A.string().nullable().optional(),publish_date:A.string().nullable().optional(),excerpts:A.array(A.string())})),warnings:A.array(A.object({type:A.string(),message:A.string(),detail:A.record(A.string(),A.unknown()).nullable().optional()})).nullable().optional(),usage:A.array(A.object({name:A.string(),count:A.number().optional()})).nullable().optional(),session_id:A.string().optional()}),A.object({error:A.enum(["api_error","configuration_error","execution_error","gateway_rate_limit","invalid_input","rate_limit","timeout","unknown","unknown_tool"]),statusCode:A.number().optional(),message:A.string()})]))),Uu=k({id:"gateway.parallel_search",inputSchema:qu,outputSchema:$u}),Lu=(T={})=>Uu(T),Fu=i(()=>s(A.object({query:A.union([A.string(),A.array(A.string())]).describe("Search query (string) or multiple queries (array of up to 5 strings). Multi-query searches return combined results from all queries."),max_results:A.number().optional().describe("Maximum number of search results to return (1-20, default: 10)"),max_tokens_per_page:A.number().optional().describe("Maximum number of tokens to extract per search result page (256-2048, default: 2048)"),max_tokens:A.number().optional().describe("Maximum total tokens across all search results (default: 25000, max: 1000000)"),country:A.string().optional().describe("Two-letter ISO 3166-1 alpha-2 country code for regional search results (e.g., 'US', 'GB', 'FR')"),search_domain_filter:A.array(A.string()).optional().describe("List of domains to include or exclude from search results (max 20). To include: ['nature.com', 'science.org']. To exclude: ['-example.com', '-spam.net']"),search_language_filter:A.array(A.string()).optional().describe("List of ISO 639-1 language codes to filter results (max 10, lowercase). Examples: ['en', 'fr', 'de']"),search_after_date:A.string().optional().describe("Include only results published after this date. Format: 'MM/DD/YYYY' (e.g., '3/1/2025'). Cannot be used with search_recency_filter."),search_before_date:A.string().optional().describe("Include only results published before this date. Format: 'MM/DD/YYYY' (e.g., '3/15/2025'). Cannot be used with search_recency_filter."),last_updated_after_filter:A.string().optional().describe("Include only results last updated after this date. Format: 'MM/DD/YYYY' (e.g., '3/1/2025'). Cannot be used with search_recency_filter."),last_updated_before_filter:A.string().optional().describe("Include only results last updated before this date. Format: 'MM/DD/YYYY' (e.g., '3/15/2025'). Cannot be used with search_recency_filter."),search_recency_filter:A.enum(["day","week","month","year"]).optional().describe("Filter results by relative time period. Cannot be used with search_after_date or search_before_date.")}))),Gu=i(()=>s(A.union([A.object({results:A.array(A.object({title:A.string(),url:A.string(),snippet:A.string(),date:A.string().optional(),lastUpdated:A.string().optional()})),id:A.string()}),A.object({error:A.enum(["api_error","rate_limit","timeout","invalid_input","unknown"]),statusCode:A.number().optional(),message:A.string()})]))),Vu=k({id:"gateway.perplexity_search",inputSchema:Fu,outputSchema:Gu}),Bu=(T={})=>Vu(T),Wu=()=>A.object({count:A.number().optional().describe("Maximum number of data results to return (1-20). When include_contents is true, each additional result adds its own data surcharge."),include_contents:A.boolean().optional().describe("Inline rows for each data result. This adds a data surcharge based on row count and dataset source. To estimate cost, search with include_contents disabled and inspect cards.content.export_pricing. This applies to every returned card; limit sources.data.count and sources.data.max_rows to control cost."),mode:A.enum(["inline","url"]).optional().describe("Requested data delivery mode. Search card data is always inline."),content_format:A.enum(["card_json","csv","json_compact","json_records"]).optional().describe("Serialization for inlined card data."),max_rows:A.number().optional().describe("Maximum rows to inline per result. Omit to use the allowance in cards.content.export_pricing. A data surcharge applies per 1,000 exported rows; lower values reduce cost."),node_ids:A.array(A.string()).optional().describe("Data Graph node IDs to prioritize. Maximum 20."),strict:A.boolean().optional().describe("Only return cards matching node_ids. Requires a non-empty node_ids.")}),Hu=()=>A.object({count:A.number().optional().describe("Maximum number of web results to return (1-20)."),include_contents:A.boolean().optional().describe("Inline extracted web page text. This can add a data charge."),category:A.enum(["finance","news","sports"]).optional().describe("Optional web-result category filter."),include_domains:A.array(A.string()).optional().describe("Only return results from these bare domains."),exclude_domains:A.array(A.string()).optional().describe("Exclude results from these bare domains."),snippet_max_chars:A.number().optional().describe("Maximum characters in each web-result snippet."),highlights:A.boolean().optional().describe("Include highlighted passages in web results. Defaults to true in AI Gateway."),article_content_max_chars:A.number().optional().describe("Maximum extracted characters per web page when including contents."),published_after:A.string().optional().describe("Keep results published on or after this ISO date (YYYY-MM-DD)."),published_before:A.string().optional().describe("Keep results published on or before this ISO date (YYYY-MM-DD).")}),zu=i(()=>s(A.object({query:A.string().describe('Natural-language search query. Include the entity, metric, and time period. Quote a phrase to force it to one entity, for example "Tesla":PRODUCT price.'),effort:A.enum(["deep","fast","instant"]).optional().describe("Search effort. fast is the balanced default, instant favors cached results and low latency, and deep broadens retrieval with reranking at higher cost and latency."),sources:A.object({data:Wu().optional(),web:Hu().optional()}).optional().describe("Sources to search. Omit to search both curated data and the web. When provided, only keys present are searched."),location:A.object({latitude:A.number().describe("Latitude between -90 and 90."),longitude:A.number().describe("Longitude between -180 and 180.")}).optional().describe("End-user coordinates for localized results."),country_code:A.string().optional().describe("Two-letter ISO 3166-1 country code, such as 'US'."),locale:A.string().optional().describe("BCP-47 locale, such as 'en-US'."),timezone:A.string().optional().describe("IANA timezone, such as 'America/New_York'."),output_settings:A.object({image_dark_mode:A.boolean().optional().describe("Render card preview images in dark mode."),force_refresh:A.boolean().optional().describe("Instant-effort only. Request a refreshed instant result.")}).optional().describe("Controls card rendering in the search response."),include_related:A.number().optional().describe("Maximum related search suggestions to include (1-20).")}))),Gs=()=>A.union([A.boolean(),A.number(),A.string()]).nullable(),pi=()=>A.object({content_format:A.enum(["card_json","csv","json_compact","json_records"]).nullish(),cost:A.number().optional(),data:A.string().nullish(),records:A.array(A.record(A.string(),Gs())).nullish(),dataset:A.object({columns:A.array(A.object({name:A.string(),type:A.enum(["boolean","date","datetime","number","string"]),unit:A.string().nullish()})),rows:A.array(A.array(Gs())),total_rows:A.number(),truncated:A.boolean(),ref:A.string(),sources:A.array(A.object({name:A.string(),index:A.enum(["data","web"]).optional()})),provenance:A.enum(["query","web_extraction"]).optional()}).nullish(),card_data:A.object({}).passthrough().nullish(),card_data_schema:A.object({}).passthrough().nullish(),url:A.string().nullish(),expires_at:A.string().nullish(),total_rows:A.number().nullish(),truncated:A.boolean().optional(),export_pricing:A.object({baseline_usd:A.number(),free_rows:A.number(),max_rows_ceiling:A.number(),row_cpm_usd:A.number()}).nullish(),manifest:A.array(A.object({dtype:A.enum(["boolean","date","datetime","number","string"]).nullish(),entity:A.string().nullish(),metric:A.string().nullish(),name:A.string().nullish(),unit:A.string().nullish()})).nullish()}).passthrough(),Ku=()=>A.object({card_id:A.string().nullish(),title:A.string().nullish(),description:A.string().nullish(),semantic_description:A.string().nullish(),webpage_url:A.string().nullish(),image_url:A.string().nullish(),embed_url:A.string().nullish(),sources:A.array(A.object({source_name:A.string().nullish(),source_description:A.string().nullish(),source_index:A.enum(["data","web"]),source_text:A.string().nullish(),url:A.string().nullish()})).nullish(),methodologies:A.array(A.object({methodology_name:A.string().nullable(),methodology_description:A.string().nullable()})).nullish(),source_indexes:A.array(A.enum(["data","web"])).nullish(),card_type:A.string().nullish(),relevance:A.enum(["High","Low","Medium"]).nullish(),content:pi().nullish(),exportable:A.boolean().optional(),nodes:A.array(A.object({id:A.string(),type:A.enum(["entity","metric"]),name:A.string(),description:A.string().nullish()})).nullish(),metric_definitions:A.array(A.object({name:A.string(),definition:A.string()})).nullish(),data_freshness:A.object({coverage_end:A.string().nullish(),data_as_of:A.string().nullish(),last_updated:A.string().nullish()}).nullish()}).passthrough(),Ju=()=>A.object({title:A.string(),url:A.string(),snippet:A.string().nullish(),source_name:A.string().nullish(),publish_date:A.string().nullish(),content:pi().nullish()}).passthrough(),Yu=i(()=>s(A.union([A.object({request_id:A.string(),cards:A.array(Ku()).optional(),web_results:A.array(Ju()).optional(),usage:A.object({total_cost_usd:A.number(),compute:A.object({cost_usd:A.number()}).nullish(),data:A.object({cost_usd:A.number(),datasets:A.number()}).nullish()}).nullish(),related:A.array(A.object({}).passthrough()).nullish()}).passthrough(),A.object({error:A.enum(["api_error","configuration_error","execution_error","invalid_input","rate_limit","timeout","unknown_tool"]),statusCode:A.number().optional(),message:A.string()})]))),Qu=k({id:"gateway.tako_search",inputSchema:zu,outputSchema:Yu}),Xu=(T={})=>Qu(T),Zu={browserbaseFetch:Cu,browserbaseSearch:ku,exaSearch:Nu,parallelSearch:Lu,perplexitySearch:Bu,takoSearch:Xu};async function ep(){return _o.getContext().headers?.["x-vercel-id"]}var tp="4.0.128",rp="0.0.1",ap=i(()=>s(A.object({token:A.string(),expiresAt:A.number().nullish()})));function mi(T={}){let C=null,O=null,G=T.metadataCacheRefreshMillis??300000,V=0,ee=Y(T.baseURL)??"https://ai-gateway.vercel.sh/v4/ai",H=(ce)=>L({Authorization:`Bearer ${ce.token}`,"ai-gateway-protocol-version":rp,[ri]:ce.authMethod,...T.teamIdOrSlug!=null?{[ai]:T.teamIdOrSlug}:{},...T.headers},`ai-sdk-gateway/${tp}`),te=async()=>{try{return H(await Vs(T))}catch(ce){throw Za.createContextualError({apiKeyProvided:!1,oidcTokenProvided:!1,statusCode:401,cause:ce})}},re=async()=>{try{return await Vs(T)}catch(ce){throw Za.createContextualError({apiKeyProvided:!1,oidcTokenProvided:!1,statusCode:401,cause:ce})}},ne=async(ce)=>{op();let xe=await re(),Ke=H(xe),tt=new URL("/v1/realtime/client-secrets",ee).toString();try{let{value:he}=await g({url:tt,headers:Ke,body:{model:ce.modelId,...ce.routeKind!=null&&{routeKind:ce.routeKind},...ce.expiresAfterSeconds!=null&&{expiresIn:ce.expiresAfterSeconds}},successfulResponseHandler:p(ap),failedResponseHandler:E({errorSchema:A.any(),errorToMessage:(Je)=>R(Je)??"unknown error"}),fetch:T.fetch});return{token:he.token,...he.expiresAt!=null&&{expiresAt:he.expiresAt}}}catch(he){throw await pt(he,await yt(Ke))}},z=()=>{let ce=pe({settingValue:void 0,environmentVariableName:"VERCEL_DEPLOYMENT_ID"}),xe=pe({settingValue:void 0,environmentVariableName:"VERCEL_ENV"}),Ke=pe({settingValue:void 0,environmentVariableName:"VERCEL_REGION"}),tt=pe({settingValue:void 0,environmentVariableName:"VERCEL_PROJECT_ID"});return async()=>{let he=await ep();return{...ce&&{"ai-o11y-deployment-id":ce},...xe&&{"ai-o11y-environment":xe},...Ke&&{"ai-o11y-region":Ke},...he&&{"ai-o11y-request-id":he},...tt&&{"ai-o11y-project-id":tt}}}},oe=(ce)=>new Dd(ce,{provider:"gateway",baseURL:ee,headers:te,fetch:T.fetch,o11yHeaders:z()}),se=()=>new xd({provider:"gateway",maxLineBytes:T.batchResultDownloads?.maxLineBytes,baseURL:ee,headers:te,fetch:T.fetch,o11yHeaders:z()}),de=async()=>{let ce=T._internal?.currentDate?.().getTime()??Date.now();if(!C||ce-V>G)V=ce,C=new ks({baseURL:ee,headers:te,fetch:T.fetch}).getAvailableModels().then((xe)=>(O=xe,xe)).catch(async(xe)=>{throw await pt(xe,await yt(await te()))});return O?Promise.resolve(O):C},me=async()=>new ks({baseURL:ee,headers:te,fetch:T.fetch}).getCredits().catch(async(ce)=>{throw await pt(ce,await yt(await te()))}),Fe=async(ce)=>new bd({baseURL:ee,headers:te,fetch:T.fetch}).getSpendReport(ce).catch(async(xe)=>{throw await pt(xe,await yt(await te()))}),Be=async(ce)=>new Id({baseURL:ee,headers:te,fetch:T.fetch}).getGenerationInfo(ce).catch(async(xe)=>{throw await pt(xe,await yt(await te()))}),be=function(ce){if(new.target)throw Error("The Gateway Provider model function cannot be called with the new keyword.");return oe(ce)};be.specificationVersion="v4",be.getAvailableModels=de,be.getCredits=me,be.getSpendReport=Fe,be.getGenerationInfo=Be,be.imageModel=(ce)=>new Ld(ce,{provider:"gateway",baseURL:ee,headers:te,fetch:T.fetch,o11yHeaders:z()}),be.languageModel=oe,be.experimental_batch=se;let $e=(ce)=>new qd(ce,{provider:"gateway",baseURL:ee,headers:te,fetch:T.fetch,o11yHeaders:z()});be.embeddingModel=$e,be.textEmbeddingModel=$e,be.videoModel=(ce)=>new Wd(ce,{provider:"gateway",baseURL:ee,headers:te,fetch:T.fetch,o11yHeaders:z()});let Ee=(ce)=>new ou(ce,{provider:"gateway",baseURL:ee,headers:te,fetch:T.fetch,o11yHeaders:z()});be.rerankingModel=Ee,be.reranking=Ee;let we=(ce)=>new Zd(ce,{provider:"gateway",baseURL:ee,headers:te,fetch:T.fetch,o11yHeaders:z()});be.decisionModel=we,be.decision=we,be.evaluationModel=we,be.evaluation=we;let le=(ce)=>new hu(ce,{provider:"gateway",baseURL:ee,headers:te,fetch:T.fetch,o11yHeaders:z(),webSocket:T.webSocket});be.speechModel=le,be.speech=le,be.experimental_speech=Object.assign((ce)=>le(ce),{getToken:async(ce)=>{let xe=await ne({modelId:ce.model,routeKind:"speech",...ce.expiresAfterSeconds!=null&&{expiresAfterSeconds:ce.expiresAfterSeconds}});return{token:xe.token,url:di(ee,ce.model),...xe.expiresAt!=null&&{expiresAt:xe.expiresAt}}}});let ve=(ce)=>new lu(ce,{provider:"gateway",baseURL:ee,headers:te,fetch:T.fetch,o11yHeaders:z(),webSocket:T.webSocket});be.transcriptionModel=ve,be.transcription=ve,be.experimental_transcription=Object.assign((ce)=>ve(ce),{getToken:async(ce)=>{let xe=await ne({modelId:ce.model,routeKind:"transcription",...ce.expiresAfterSeconds!=null&&{expiresAfterSeconds:ce.expiresAfterSeconds}});return{token:xe.token,url:li(ee,ce.model),...xe.expiresAt!=null&&{expiresAt:xe.expiresAt}}}});let Te=(ce)=>new Iu(ce,{provider:"gateway.realtime",baseURL:ee,teamIdOrSlug:T.teamIdOrSlug,createClientSecret:ne});return be.experimental_realtime=Object.assign((ce)=>Te(ce),{getToken:async(ce)=>{let{model:xe,...Ke}=ce,tt=await Te(xe).doCreateClientSecret(Ke);return{token:tt.token,url:tt.url,...tt.expiresAt!=null&&{expiresAt:tt.expiresAt}}}}),be.chat=be.languageModel,be.embedding=be.embeddingModel,be.image=be.imageModel,be.video=be.videoModel,be.tools=Zu,be}var Sn=mi();async function Vs(T){let C=pe({settingValue:T.apiKey,environmentVariableName:"AI_GATEWAY_API_KEY"});if(C)return{token:C,authMethod:"api-key"};return{token:await _o.getVercelOidcToken(),authMethod:"oidc"}}function op(){if(typeof globalThis.window<"u")throw Error("AI Gateway client secrets must be minted server-side: minting needs your Gateway credential, which must never reach the browser. Call gateway.experimental_realtime.getToken(), gateway.experimental_transcription.getToken(), or gateway.experimental_speech.getToken() from your server and pass the returned token to the client.")}var qi="AI_InvalidArgumentError",$i=`vercel.ai.error.${qi}`,hp=Symbol.for($i),wr=class extends m{constructor({parameter:T,value:C,message:O}){super({name:qi,message:`Invalid argument for parameter ${T}: ${O}`});this[hp]=!0,this.parameter=T,this.value=C}static isInstance(T){return m.hasMarker(T,$i)}},gp="AI_InvalidStreamPartError",Dh=`vercel.ai.error.${gp}`;var Ui="AI_InvalidToolApprovalError",Li=`vercel.ai.error.${Ui}`,yp=Symbol.for(Li),vp=class extends m{constructor({approvalId:T}){super({name:Ui,message:`Tool approval response references unknown approvalId: "${T}". No matching tool-approval-request found in message history.`});this[yp]=!0,this.approvalId=T}static isInstance(T){return m.hasMarker(T,Li)}},Fi="AI_InvalidToolApprovalSignatureError",Gi=`vercel.ai.error.${Fi}`,wp=Symbol.for(Gi),fi=class extends m{constructor({approvalId:T,toolCallId:C,reason:O}){super({name:Fi,message:`Tool approval signature verification failed for approval "${T}" (tool call "${C}"): ${O}`});this[wp]=!0,this.approvalId=T,this.toolCallId=C}static isInstance(T){return m.hasMarker(T,Gi)}},Vi="AI_InvalidToolInputError",Bi=`vercel.ai.error.${Vi}`,bp=Symbol.for(Bi),Vo=class extends m{constructor({toolInput:T,toolName:C,cause:O,message:G=`Invalid input for tool ${C}: ${R(O)}`}){super({name:Vi,message:G,cause:O});this[bp]=!0,this.toolInput=T,this.toolName=C}static isInstance(T){return m.hasMarker(T,Bi)}},Wi="AI_ToolCallNotFoundForApprovalError",Hi=`vercel.ai.error.${Wi}`,Sp=Symbol.for(Hi),$n=class extends m{constructor({toolCallId:T,approvalId:C}){super({name:Wi,message:`Tool call "${T}" not found for approval request "${C}".`});this[Sp]=!0,this.toolCallId=T,this.approvalId=C}static isInstance(T){return m.hasMarker(T,Hi)}},zi="AI_MissingToolResultsError",Ki=`vercel.ai.error.${zi}`,Ip=Symbol.for(Ki),hi=class extends m{constructor({toolCallIds:T}){super({name:zi,message:`Tool result${T.length>1?"s are":" is"} missing for tool call${T.length>1?"s":""} ${T.join(", ")}.`});this[Ip]=!0,this.toolCallIds=T}static isInstance(T){return m.hasMarker(T,Ki)}},Tp="AI_NoImageGeneratedError",qh=`vercel.ai.error.${Tp}`;var xp="AI_NoObjectGeneratedError",$h=`vercel.ai.error.${xp}`;var Ji="AI_NoOutputGeneratedError",Yi=`vercel.ai.error.${Ji}`,Ep=Symbol.for(Yi),jo=class extends m{constructor({message:T="No output generated.",cause:C}={}){super({name:Ji,message:T,cause:C});this[Ep]=!0}static isInstance(T){return m.hasMarker(T,Yi)}},Mp="AI_NoSpeechGeneratedError",Uh=`vercel.ai.error.${Mp}`;var Cp="AI_NoTranscriptGeneratedError",Lh=`vercel.ai.error.${Cp}`;var Rp="AI_NoTranslationGeneratedError",Fh=`vercel.ai.error.${Rp}`;var _p="AI_NoVideoGeneratedError",Gh=`vercel.ai.error.${_p}`;var Qi="AI_NoSuchToolError",Xi=`vercel.ai.error.${Qi}`,Ap=Symbol.for(Xi),Cn=class extends m{constructor({toolName:T,availableTools:C=void 0,message:O=`Model tried to call unavailable tool '${T}'. ${C===void 0?"No tools are available.":`Available tools: ${C.join(", ")}.`}`}){super({name:Qi,message:O});this[Ap]=!0,this.toolName=T,this.availableTools=C}static isInstance(T){return m.hasMarker(T,Xi)}},Zi="AI_StreamProviderError",el=`vercel.ai.error.${Zi}`,kp=Symbol.for(el),gi=class extends m{constructor({message:T,type:C,code:O,statusCode:G,isRetryable:V=Pp(G),data:ee,cause:H}){super({name:Zi,message:T,cause:H});this[kp]=!0,this.type=C,this.code=O,this.statusCode=G,this.isRetryable=V,this.data=ee}static isInstance(T){return m.hasMarker(T,el)}};function Pp(T){return T!=null&&(T===408||T===409||T===429||T>=500)}var tl="AI_ToolCallRepairError",rl=`vercel.ai.error.${tl}`,Op=Symbol.for(rl),jp=class extends m{constructor({cause:T,originalError:C,message:O=`Error repairing tool call: ${R(T)}`}){super({name:tl,message:O,cause:T});this[Op]=!0,this.originalError=C}static isInstance(T){return m.hasMarker(T,rl)}},al="AI_ToolChoiceViolationError",ol=`vercel.ai.error.${al}`,Np=Symbol.for(ol),Un=class extends m{constructor({toolChoice:T,finishReason:C,provider:O,modelId:G,content:V,message:ee=T.type==="none"?"Model response contained a tool call even though tool choice was none.":T.type==="required"?"Model response did not contain a tool call even though tool choice was required.":`Model response did not contain a call to the required tool '${T.toolName}'.`}){super({name:al,message:ee});this[Np]=!0,this.toolChoice=T,this.finishReason=C,this.provider=O,this.modelId=G,this.content=V}static isInstance(T){return m.hasMarker(T,ol)}},Dp=class extends m{constructor(T){super({name:"AI_UnsupportedModelVersionError",message:`Unsupported model version ${T.version} for provider "${T.provider}" and model "${T.modelId}". AI SDK 5 only supports models that implement specification version "v2".`});this.version=T.version,this.provider=T.provider,this.modelId=T.modelId}},nl="AI_UIMessageStreamError",sl=`vercel.ai.error.${nl}`,qp=Symbol.for(sl),na=class extends m{constructor({chunkType:T,chunkId:C,message:O}){super({name:nl,message:O});this[qp]=!0,this.chunkType=T,this.chunkId=C}static isInstance(T){return m.hasMarker(T,sl)}},il="AI_InvalidDataContentError",ll=`vercel.ai.error.${il}`,$p=Symbol.for(ll),cl=class extends m{constructor({content:T,cause:C,message:O=`Invalid data content. Expected a base64 string, Uint8Array, ArrayBuffer, or Buffer, but got ${typeof T}.`}){super({name:il,message:O,cause:C});this[$p]=!0,this.content=T}static isInstance(T){return m.hasMarker(T,ll)}},dl="AI_InvalidMessageRoleError",ul=`vercel.ai.error.${dl}`,Up=Symbol.for(ul),Lp=class extends m{constructor({role:T,message:C=`Invalid message role: '${T}'. Must be one of: "system", "user", "assistant", "tool".`}){super({name:dl,message:C});this[Up]=!0,this.role=T}static isInstance(T){return m.hasMarker(T,ul)}},Fp="AI_MessageConversionError",Vh=`vercel.ai.error.${Fp}`;var pl="AI_RetryError",ml=`vercel.ai.error.${pl}`,Gp=Symbol.for(ml),Vp=class extends m{constructor({message:T,reason:C,errors:O}){super({name:pl,message:T});this[Gp]=!0,this.reason=C,this.errors=O,this.lastError=O[O.length-1]}static isInstance(T){return m.hasMarker(T,ml)}};var Bp=new Map([["generateObject","AISDK_DEP_GENERATE_OBJECT"],["streamObject","AISDK_DEP_STREAM_OBJECT"],["experimental_generateSpeech","AISDK_DEP_EXPERIMENTAL_GENERATE_SPEECH"],["experimental_transcribe","AISDK_DEP_EXPERIMENTAL_TRANSCRIBE"],['"image" content part',"AISDK_DEP_IMAGE_CONTENT_PART"],['"tool-result" content of type "file-data"',"AISDK_DEP_TOOL_RESULT_FILE_DATA"],['"tool-result" content of type "file-url"',"AISDK_DEP_TOOL_RESULT_FILE_URL"],['"tool-result" content of type "file-id"',"AISDK_DEP_TOOL_RESULT_FILE_ID"],['"tool-result" content of type "file-reference"',"AISDK_DEP_TOOL_RESULT_FILE_REFERENCE"],['"tool-result" content of type "image-data"',"AISDK_DEP_TOOL_RESULT_IMAGE_DATA"],['"tool-result" content of type "image-url"',"AISDK_DEP_TOOL_RESULT_IMAGE_URL"],['"tool-result" content of type "image-file-id"',"AISDK_DEP_TOOL_RESULT_IMAGE_FILE_ID"],['"tool-result" content of type "image-file-reference"',"AISDK_DEP_TOOL_RESULT_IMAGE_FILE_REFERENCE"],["rawInput in output-error UI message parts","AISDK_DEP_UI_MESSAGE_RAW_INPUT"]]);function In(T){return T.replace(/[^a-zA-Z0-9]/g,(C)=>`_${C.charCodeAt(0).toString(16).toUpperCase().padStart(4,"0")}`)}function Wp({setting:T,provider:C}){if(C==null)return Bp.get(T)??`AISDK_DEP_SETTING_${In(T)}`;return`AISDK_DEP_PROVIDER_${In(C)}__${In(T)}`}function Hp({warning:T,provider:C,model:O}){let G=`AI SDK Warning${C!=null&&O!=null?` (${C} / ${O})`:""}:`;switch(T.type){case"unsupported":{let V=`${G} The feature "${T.feature}" is not supported.`;if(T.details)V+=` ${T.details}`;return V}case"compatibility":{let V=`${G} The feature "${T.feature}" is used in a compatibility mode.`;if(T.details)V+=` ${T.details}`;return V}case"deprecated":return`${G} Deprecated: "${T.setting}". ${T.message}`;case"other":return`${G} ${T.message}`;default:return`${G} ${JSON.stringify(T,null,2)}`}}var zp="AI SDK Warning System: To turn off warning logging, set the AI_SDK_LOG_WARNINGS global to false.",yi=!1,vi=new Set;function wi({message:T,type:C,code:O}){if(typeof process<"u"&&typeof process.emitWarning==="function")process.emitWarning(T,O==null?{type:C}:{type:C,code:O});else console.warn(O==null?T:`[${O}] ${T}`)}var sa=(T)=>{if(T.warnings.length===0)return;let C=globalThis.AI_SDK_LOG_WARNINGS;if(C===!1)return;if(typeof C==="function"){C(T);return}if(!yi)yi=!0,wi({message:zp,type:"Warning"});for(let O of T.warnings){let G=O.type==="deprecated"?Wp({setting:O.setting,provider:T.provider}):void 0;if(G!=null){if(vi.has(G))continue;vi.add(G)}wi({message:Hp({warning:O,provider:T.provider,model:T.model}),type:O.type==="deprecated"?"DeprecationWarning":"Warning",code:G})}};function po({provider:T,modelId:C}){sa({warnings:[{type:"compatibility",feature:"specificationVersion",details:"Using v2 specification compatibility mode. Some features may not be available."}],provider:T,model:C})}function fl(T){if(T.specificationVersion==="v3")return T;return po({provider:T.provider,modelId:T.modelId}),new Proxy(T,{get(C,O){if(O==="specificationVersion")return"v3";return C[O]}})}function Kp(T){if(T.specificationVersion==="v4")return T;let C=T.specificationVersion==="v2"?fl(T):T;return new Proxy(C,{get(O,G){if(G==="specificationVersion")return"v4";return O[G]}})}function hl(T){if(T.specificationVersion==="v3")return T;return po({provider:T.provider,modelId:T.modelId}),new Proxy(T,{get(C,O){if(O==="specificationVersion")return"v3";return C[O]}})}function Jp(T){if(T.specificationVersion==="v4")return T;let C=T.specificationVersion==="v2"?hl(T):T;return new Proxy(C,{get(O,G){if(G==="specificationVersion")return"v4";return O[G]}})}function gl(T){if(T.specificationVersion==="v3")return T;return po({provider:T.provider,modelId:T.modelId}),new Proxy(T,{get(C,O){switch(O){case"specificationVersion":return"v3";case"doGenerate":return async(...G)=>{let V=await C.doGenerate(...G);return{...V,finishReason:yl(V.finishReason),usage:vl(V.usage)}};case"doStream":return async(...G)=>{let V=await C.doStream(...G);return{...V,stream:Yp(V.stream)}};default:return C[O]}}})}function Yp(T){return T.pipeThrough(new TransformStream({transform(C,O){switch(C.type){case"finish":O.enqueue({...C,finishReason:yl(C.finishReason),usage:vl(C.usage)});break;default:O.enqueue(C)}}}))}function yl(T){return{unified:T==="unknown"?"other":T,raw:void 0}}function vl(T){return{inputTokens:{total:T.inputTokens,noCache:void 0,cacheRead:T.cachedInputTokens,cacheWrite:void 0},outputTokens:{total:T.outputTokens,text:void 0,reasoning:T.reasoningTokens},raw:T.totalTokens==null?void 0:{totalTokens:T.totalTokens}}}function wl(T){if(T.specificationVersion==="v4")return T;let C=T.specificationVersion==="v2"?gl(T):T;return new Proxy(C,{get(O,G){switch(G){case"specificationVersion":return"v4";case"doGenerate":return async(V)=>{let ee=await O.doGenerate({...V,prompt:bi(V.prompt)});return{...ee,content:ee.content.map(Zp)}};case"doStream":return async(V)=>{let ee=await O.doStream({...V,prompt:bi(V.prompt)});return{...ee,stream:em(ee.stream)}};default:return O[G]}}})}function bi(T){return T.map((C)=>{if(C.role==="system")return C;return{...C,content:C.content.map((O)=>{switch(O.type){case"file":return{...O,data:Qp(O.data)};case"tool-result":return{...O,output:Xp(O.output)};default:return O}})}})}function Qp(T){switch(T.type){case"data":return T.data;case"url":return T.url;case"reference":case"text":return T}}function Xp(T){if(T.type!=="content")return T;return{...T,value:T.value.map((C)=>{if(C.type!=="file")return C;switch(C.data.type){case"data":return{type:"file-data",data:typeof C.data.data==="string"?C.data.data:X(C.data.data),mediaType:C.mediaType,filename:C.filename,providerOptions:C.providerOptions};case"url":return{type:"file-url",url:C.data.url.toString(),providerOptions:C.providerOptions};case"reference":return{type:"file-id",fileId:C.data.reference,providerOptions:C.providerOptions};case"text":return C}})}}function Zp(T){return T.type==="file"?{...T,data:{type:"data",data:T.data}}:T}function em(T){return T.pipeThrough(new TransformStream({transform(C,O){O.enqueue(C.type==="file"?{...C,data:{type:"data",data:C.data}}:C)}}))}function tm(T){if(T.specificationVersion==="v4")return T;return new Proxy(T,{get(C,O){if(O==="specificationVersion")return"v4";return C[O]}})}function bl(T){if(T.specificationVersion==="v3")return T;return po({provider:T.provider,modelId:T.modelId}),new Proxy(T,{get(C,O){if(O==="specificationVersion")return"v3";return C[O]}})}function rm(T){if(T.specificationVersion==="v4")return T;let C=T.specificationVersion==="v2"?bl(T):T;return new Proxy(C,{get(O,G){if(G==="specificationVersion")return"v4";return O[G]}})}function Sl(T){if(T.specificationVersion==="v3")return T;return po({provider:T.provider,modelId:T.modelId}),new Proxy(T,{get(C,O){if(O==="specificationVersion")return"v3";return C[O]}})}function am(T){if(T.specificationVersion==="v4")return T;let C=T.specificationVersion==="v2"?Sl(T):T;return new Proxy(C,{get(O,G){if(G==="specificationVersion")return"v4";return O[G]}})}function om(T){if("specificationVersion"in T&&T.specificationVersion==="v3")return T;let C=T;return{specificationVersion:"v3",languageModel:(O)=>gl(C.languageModel(O)),embeddingModel:(O)=>fl(C.textEmbeddingModel(O)),imageModel:(O)=>hl(C.imageModel(O)),transcriptionModel:C.transcriptionModel?(O)=>Sl(C.transcriptionModel(O)):void 0,speechModel:C.speechModel?(O)=>bl(C.speechModel(O)):void 0,rerankingModel:void 0}}function nm(T){if("specificationVersion"in T&&T.specificationVersion==="v4")return T;let C=!("specificationVersion"in T)||T.specificationVersion!=="v3"?om(T):T;return{specificationVersion:"v4",languageModel:(O)=>wl(C.languageModel(O)),embeddingModel:(O)=>Kp(C.embeddingModel(O)),imageModel:(O)=>Jp(C.imageModel(O)),transcriptionModel:C.transcriptionModel?(O)=>am(C.transcriptionModel(O)):void 0,speechModel:C.speechModel?(O)=>rm(C.speechModel(O)):void 0,rerankingModel:C.rerankingModel?(O)=>tm(C.rerankingModel(O)):void 0}}function io(T){if(typeof T==="string")return sm().languageModel(T);if(!["v4","v3","v2"].includes(T.specificationVersion)){let C=T;throw new Dp({version:C.specificationVersion,provider:C.provider,modelId:C.modelId})}return wl(T)}function sm(){return nm(globalThis.AI_SDK_DEFAULT_PROVIDER??Sn)}function no(T){return T.map((C)=>Rn(C))}function Rn(T){if(T instanceof URL)return new URL(T.href);if(Array.isArray(T))return T.map((C)=>Rn(C));if(T instanceof Uint8Array)return new Uint8Array(T);if(T instanceof ArrayBuffer)return T.slice(0);if(T instanceof Date)return new Date(T);if(T!=null&&typeof T==="object")return Object.fromEntries(Object.entries(T).map(([C,O])=>[C,Rn(O)]));return T}var Ln="7.0.155",Fn=async({url:T,maxBytes:C,abortSignal:O})=>{let G=T.toString();try{let V=L({},`ai-sdk/${Ln}`,Se()),ee=await Ot({url:G,headers:V,abortSignal:O});if(!ee.ok)throw await st(ee),new U({url:G,statusCode:ee.status,statusText:ee.statusText});return{data:await bt({response:ee,url:G,maxBytes:C??At}),mediaType:ee.headers.get("content-type")??void 0}}catch(V){if(U.isInstance(V))throw V;throw new U({url:G,cause:V})}},im=(T=Fn,C)=>(O)=>Promise.all(O.map(async(G)=>G.isUrlSupportedByModel?null:await T({...G,abortSignal:C})));function Pa(T,C){if(T===void 0&&C===void 0)return;if(T===void 0)return C;if(C===void 0)return T;let O={...T};for(let G in C){if(G==="__proto__"||G==="constructor"||G==="prototype")continue;if(Object.prototype.hasOwnProperty.call(C,G)){let V=C[G];if(V===void 0)continue;let ee=G in T?T[G]:void 0,H=V!==null&&typeof V==="object"&&!Array.isArray(V)&&!(V instanceof Date)&&!(V instanceof RegExp),te=ee!==null&&ee!==void 0&&typeof ee==="object"&&!Array.isArray(ee)&&!(ee instanceof Date)&&!(ee instanceof RegExp);if(H&&te)O[G]=Pa(ee,V);else O[G]=V}}return O}function lm(T){try{let[C,O]=T.split(",");return{mediaType:C.split(";")[0].split(":")[1],base64Content:O}}catch{return{mediaType:void 0,base64Content:void 0}}}function cm(T){if(typeof T!=="object"||T===null)return!1;let C=T.type;return C==="data"||C==="url"||C==="reference"||C==="text"}function _n(T,C){if(T.protocol==="data:"){let{mediaType:O,base64Content:G}=lm(T.toString());if(O==null||G==null)throw new cl({content:T,message:`Invalid data URL format in content ${T.toString()}`});return{data:{type:"data",data:G},mediaType:O}}return{data:{type:"url",url:T,...C!=null?{originalUrl:C}:{}},mediaType:void 0}}function dm(T){let C=_n(new URL(T));if(C.data.type==="url"&&C.data.url.toString()!==T)C.data.originalUrl=T;return C}function Tn(T){if(T instanceof Uint8Array)return{data:{type:"data",data:T},mediaType:void 0};if(T instanceof ArrayBuffer)return{data:{type:"data",data:new Uint8Array(T)},mediaType:void 0};if(vt(T))return{data:{type:"data",data:new Uint8Array(T)},mediaType:void 0};return{data:{type:"data",data:T},mediaType:void 0}}function $o(T){if(cm(T))switch(T.type){case"data":if(typeof T.data==="string"&&T.data.startsWith("data:"))throw new cl({content:T.data,message:'Data URLs are not valid inline data. Pass them as { type: "url", url } instead.'});return Tn(T.data);case"url":return _n(T.url,T.originalUrl);case"reference":return{data:{type:"reference",reference:T.reference},mediaType:void 0};case"text":return{data:{type:"text",text:T.text},mediaType:void 0}}if(T instanceof URL)return _n(T);if(typeof T==="string")try{return dm(T)}catch{return Tn(T)}if(Xt(T))return{data:{type:"reference",reference:T},mediaType:void 0};return Tn(T)}async function Il({prompt:T,supportedUrls:C,download:O,abortSignal:G,provider:V}){let ee=await pm(T.messages,O??im(void 0,G),C),H=[...T.instructions!=null?typeof T.instructions==="string"?[{role:"system",content:T.instructions}]:qe(T.instructions).map((ne)=>({role:"system",content:ne.content,providerOptions:ne.providerOptions})):[],...T.messages.map((ne)=>um({message:ne,downloadedAssets:ee,provider:V}))],te=[];for(let ne of H){if(ne.role!=="tool"){te.push(ne);continue}let z=te.at(-1);if(z?.role==="tool"){let oe=z.content.at(-1);if(oe!=null&&z.providerOptions!=null)oe.providerOptions=Pa(z.providerOptions,oe.providerOptions);z.content.push(...ne.content),z.providerOptions=oe==null?Pa(z.providerOptions,ne.providerOptions):ne.providerOptions}else te.push(ne)}let re=new Set;for(let ne of te)switch(ne.role){case"assistant":for(let z of ne.content)if(z.type==="tool-call"&&!z.providerExecuted)re.add(z.toolCallId);break;case"tool":for(let z of ne.content)if(z.type==="tool-result")re.delete(z.toolCallId);break;case"user":case"system":if(re.size>0)throw new hi({toolCallIds:Array.from(re)})}if(re.size>0)throw new hi({toolCallIds:Array.from(re)});return te.filter((ne)=>ne.role!=="tool"||ne.content.length>0)}function um({message:T,downloadedAssets:C,provider:O}){let G=[],V=T.role;switch(V){case"system":return{role:"system",content:T.content,providerOptions:T.providerOptions};case"user":{if(typeof T.content==="string")return{role:"user",content:[{type:"text",text:T.content}],providerOptions:T.providerOptions};let ee={role:"user",content:T.content.map((H)=>{if(H.type==="image")G.push({type:"deprecated",setting:'"image" content part',message:`The "image" content part type is deprecated. Use a "file" part with mediaType: 'image' (or a more specific image/* subtype) instead.`});return Tl(H)}).map((H)=>xl(H,C)).filter((H)=>H.type!=="text"||H.text!==""),providerOptions:T.providerOptions};if(G.length>0)sa({warnings:G});return ee}case"assistant":{if(typeof T.content==="string")return{role:"assistant",content:[{type:"text",text:T.content}],providerOptions:T.providerOptions};let ee={role:"assistant",content:T.content.filter((H)=>H.type!=="text"||H.text!==""||H.providerOptions!=null).filter((H)=>H.type!=="tool-approval-request").map((H)=>{let te=H.providerOptions;switch(H.type){case"custom":return{type:"custom",kind:H.kind,providerOptions:te};case"file":{let{data:re,mediaType:ne}=$o(H.data);return{type:"file",data:re,filename:H.filename,mediaType:ne??H.mediaType,providerOptions:te}}case"reasoning":return{type:"reasoning",text:H.text,providerOptions:te};case"reasoning-file":{let{data:re,mediaType:ne}=$o(H.data);if(re.type!=="data"&&re.type!=="url")throw Error(`Unsupported reasoning-file data type: ${re.type}`);return{type:"reasoning-file",data:re,mediaType:ne??H.mediaType,providerOptions:te}}case"text":return{type:"text",text:H.text,providerOptions:te};case"tool-call":return{type:"tool-call",toolCallId:H.toolCallId,toolName:H.toolName,input:H.input,providerExecuted:H.providerExecuted,providerOptions:te};case"tool-result":return{type:"tool-result",toolCallId:H.toolCallId,toolName:H.toolName,output:Si({output:H.output,provider:O,warnings:G,downloadedAssets:C}),providerOptions:te}}}),providerOptions:T.providerOptions};if(G.length>0)sa({warnings:G});return ee}case"tool":{let ee={role:"tool",content:T.content.filter((H)=>H.type!=="tool-approval-response"||H.providerExecuted).map((H)=>{switch(H.type){case"tool-result":return{type:"tool-result",toolCallId:H.toolCallId,toolName:H.toolName,output:Si({output:H.output,provider:O,warnings:G,downloadedAssets:C}),providerOptions:H.providerOptions};case"tool-approval-response":return{type:"tool-approval-response",approvalId:H.approvalId,approved:H.approved,reason:H.reason}}}),providerOptions:T.providerOptions};if(G.length>0)sa({warnings:G});return ee}default:throw new Lp({role:V})}}function Tl(T){if(T.type!=="image")return T;return{type:"file",data:T.image,mediaType:T.mediaType??"image",providerOptions:T.providerOptions}}async function pm(T,C,O){let G=[];for(let H of T){if(H.role==="user"&&Array.isArray(H.content))for(let te of H.content){let re=Tl(te);if(re.type==="file")G.push(re)}if(H.role==="tool")for(let te of H.content){if(te.type!=="tool-result")continue;if(te.output.type!=="content")continue;for(let re of te.output.value)if(re.type==="file")G.push(re)}if(H.role==="assistant"&&Array.isArray(H.content))for(let te of H.content){if(te.type!=="tool-result")continue;if(te.output.type!=="content")continue;for(let re of te.output.value)if(re.type==="file")G.push(re)}}let V=G.map((H)=>{let te=H.mediaType,{data:re}=$o(H.data);return{mediaType:te,data:re}}).filter((H)=>H.data.type==="url").map((H)=>({url:H.data.url,isUrlSupportedByModel:H.mediaType!=null&&We({url:H.data.url.toString(),mediaType:H.mediaType,supportedUrls:O})})),ee=await C(V);return Object.fromEntries(ee.map((H,te)=>H==null?null:[V[te].url.toString(),{data:H.data,mediaType:H.mediaType}]).filter((H)=>H!=null))}function xl(T,C){if(T.type==="text")return{type:"text",text:T.text,providerOptions:T.providerOptions};let{data:O,mediaType:G}=$o(T.data),V=G??T.mediaType,ee=O;if(ee.type==="url"){let H=C[ee.url.toString()];if(H){if(ee={type:"data",data:H.data},H.mediaType!=null&&(V==null||!K(V)))V=H.mediaType}}if(ee.type==="data"&&(ee.data instanceof Uint8Array||typeof ee.data==="string")){let H=Ie({data:ee.data,topLevelType:"image"});if(H!=null)V=H}if(V==null)throw Error("Media type is missing for file part");return{type:"file",mediaType:V,filename:T.filename,data:ee,providerOptions:T.providerOptions}}function Si({output:T,provider:C,warnings:O=[],downloadedAssets:G}){if(T.type!=="content")return T;return{type:"content",value:T.value.map((V)=>{switch(V.type){case"file":{let ee=xl(V,G);if(ee.type!=="file")throw Error("Expected tool result file content to convert to file.");return ee}case"file-data":return O.push({type:"deprecated",setting:'"tool-result" content of type "file-data"',message:`The "file-data" type for tool result content is deprecated. Use the "file" type with mediaType and { type: 'data', data } instead.`}),{type:"file",data:{type:"data",data:V.data},filename:V.filename,mediaType:V.mediaType,providerOptions:V.providerOptions};case"file-url":{let ee=V.mediaType??mm(V.url),H=new URL(V.url),te=`The "file-url" type for tool result content is deprecated. Use the "file" type with mediaType and { type: 'url', url } instead.`;if(!V.mediaType){let re=ee==="application/octet-stream"?"Unable to infer media type from URL. Defaulting to 'application/octet-stream'.":`Inferred media type '${ee}' from URL.`;te=`The "file-url" tool result content part with URL "${V.url}" is missing a "mediaType". ${re} ${te}`}return O.push({type:"deprecated",setting:'"tool-result" content of type "file-url"',message:te}),{type:"file",data:{type:"url",url:H,...H.toString()!==V.url?{originalUrl:V.url}:{}},mediaType:ee,providerOptions:V.providerOptions}}case"file-id":return O.push({type:"deprecated",setting:'"tool-result" content of type "file-id"',message:`The "file-id" type for tool result content is deprecated. Use the "file" type with mediaType and { type: 'reference', reference } instead.`}),{type:"file",data:{type:"reference",reference:Ii({fileId:V.fileId,provider:C})},mediaType:"application",providerOptions:V.providerOptions};case"file-reference":return O.push({type:"deprecated",setting:'"tool-result" content of type "file-reference"',message:`The "file-reference" type for tool result content is deprecated. Use the "file" type with mediaType and { type: 'reference', reference } instead.`}),{type:"file",data:{type:"reference",reference:V.providerReference},mediaType:"application",providerOptions:V.providerOptions};case"image-data":return O.push({type:"deprecated",setting:'"tool-result" content of type "image-data"',message:`The "image-data" type for tool result content is deprecated. Use the "file" type with mediaType and { type: 'data', data } instead.`}),{type:"file",data:{type:"data",data:V.data},mediaType:V.mediaType,providerOptions:V.providerOptions};case"image-url":{let ee=new URL(V.url);return O.push({type:"deprecated",setting:'"tool-result" content of type "image-url"',message:`The "image-url" type for tool result content is deprecated. Use the "file" type with mediaType 'image' (or a specific image/* subtype) and { type: 'url', url } instead.`}),{type:"file",data:{type:"url",url:ee,...ee.toString()!==V.url?{originalUrl:V.url}:{}},mediaType:"image",providerOptions:V.providerOptions}}case"image-file-id":return O.push({type:"deprecated",setting:'"tool-result" content of type "image-file-id"',message:`The "image-file-id" type for tool result content is deprecated. Use the "file" type with mediaType and { type: 'reference', reference } instead.`}),{type:"file",data:{type:"reference",reference:Ii({fileId:V.fileId,provider:C})},mediaType:"image",providerOptions:V.providerOptions};case"image-file-reference":return O.push({type:"deprecated",setting:'"tool-result" content of type "image-file-reference"',message:`The "image-file-reference" type for tool result content is deprecated. Use the "file" type with mediaType and { type: 'reference', reference } instead.`}),{type:"file",data:{type:"reference",reference:V.providerReference},mediaType:"image",providerOptions:V.providerOptions};default:return V}})}}function Ii({fileId:T,provider:C}){if(typeof T==="object")return T;if(C==null)throw Error("Cannot convert string fileId to provider reference without a provider ID. Use a Record<string, string> fileId or switch to the file-reference type.");return{[C]:T}}var Ti={jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",gif:"image/gif",webp:"image/webp",svg:"image/svg+xml",avif:"image/avif",heic:"image/heic",bmp:"image/bmp",tiff:"image/tiff",tif:"image/tiff",pdf:"application/pdf",mp4:"video/mp4",webm:"video/webm",mp3:"audio/mpeg",wav:"audio/wav",ogg:"audio/ogg"};function mm(T,C="application/octet-stream"){try{let O=new URL(T).pathname.split(".").pop()?.toLowerCase();if(O&&Object.hasOwn(Ti,O))return Ti[O]}catch{}return C}async function ia({toolCallId:T,input:C,output:O,tool:G,errorMode:V}){if(V==="text")return{type:"error-text",value:R(O)};else if(V==="json")return{type:"error-json",value:xi(O)};if(G?.toModelOutput)return await G.toModelOutput({toolCallId:T,input:C,output:O});return typeof O==="string"?{type:"text",value:O}:{type:"json",value:xi(O)}}function xi(T){if(T===void 0)return null;let C=JSON.stringify(T);return C===void 0?null:JSON.parse(C)}function Uo({maxOutputTokens:T,temperature:C,topP:O,topK:G,presencePenalty:V,frequencyPenalty:ee,seed:H,stopSequences:te,reasoning:re}){if(T!=null){if(!Number.isInteger(T))throw new wr({parameter:"maxOutputTokens",value:T,message:"maxOutputTokens must be an integer"});if(T<1)throw new wr({parameter:"maxOutputTokens",value:T,message:"maxOutputTokens must be >= 1"})}if(H!=null){if(!Number.isInteger(H))throw new wr({parameter:"seed",value:H,message:"seed must be an integer"})}return{maxOutputTokens:T,temperature:C,topP:O,topK:G,presencePenalty:V,frequencyPenalty:ee,stopSequences:te,seed:H,reasoning:re}}function Gn({toolChoice:T}){return T==null?{type:"auto"}:typeof T==="string"?{type:T}:{type:"tool",toolName:T.toolName}}function fm(T){return T!=null&&Object.keys(T).length>0}async function Vn({tools:T,toolOrder:C,toolsContext:O={},experimental_sandbox:G}){if(!fm(T))return;let V=[];for(let[ee,H]of hm({tools:T,toolOrder:C})){let te=H.type;switch(te){case void 0:case"dynamic":case"function":{let re=El({tool:H,toolName:ee,toolsContext:O,experimental_sandbox:G}),{providerOptions:ne,inputExamples:z,strict:oe}=H;V.push({type:"function",name:ee,inputSchema:await De(H.inputSchema).jsonSchema,...re!=null?{description:re}:{},...z!=null?{inputExamples:z}:{},...ne!=null?{providerOptions:ne}:{},...oe!=null?{strict:oe}:{}});break}case"provider":V.push({type:"provider",name:ee,id:H.id,args:H.args});break;default:throw Error(`Unsupported tool type: ${te}`)}}return V}function hm({tools:T,toolOrder:C}){if(C==null)return Object.entries(T);let O=Object.entries(T),G=O.filter(([ee])=>C.includes(ee)).sort(([ee],[H])=>C.indexOf(ee)-C.indexOf(H)),V=O.filter(([ee])=>!C.includes(ee)).sort(([ee],[H])=>ee<H?-1:ee>H?1:0);return[...G,...V]}function El({tool:T,toolName:C,toolsContext:O,experimental_sandbox:G}){return T.description===void 0?void 0:typeof T.description==="string"?T.description:T.description({context:O[C],experimental_sandbox:G})}function Ml(T){if(T==null)return;if(typeof T==="number")return T;return T.totalMs}function Cl(T){if(T==null||typeof T==="number")return;return T.stepMs}function Rl(T){if(T==null||typeof T==="number")return;return T.firstChunkMs}function _l(T){if(T==null||typeof T==="number")return;return T.chunkMs}function gm(T,C){if(T==null||typeof T==="number")return;return T.tools?.[`${C}Ms`]??T.toolMs}async function Bn({allowSystemInMessages:T=!1,system:C,instructions:O=C,prompt:G,messages:V}){if(V=G==null?V:typeof G==="string"?[{role:"user",content:G}]:G,V.length===0)throw new ye({prompt:G,message:"messages must not be empty"});if(!T&&V.some((ee)=>ee.role==="system"))throw new ye({prompt:G,message:"System messages are not allowed in the prompt or messages fields. Use the instructions option instead."});return{messages:V,instructions:O}}function ao(T){if(!Za.isInstance(T))return T;let C=process?.env.NODE_ENV==="production",O="https://ai-sdk.dev/unauthenticated-ai-gateway";if(C)return new m({name:"GatewayError",message:`Unauthenticated. Configure AI_GATEWAY_API_KEY or use a provider module. Learn more: ${O}`});return Object.assign(Error(`\x1B[1m\x1B[31mUnauthenticated request to AI Gateway.\x1B[0m
|
|
23
|
-
|
|
24
|
-
To authenticate, set the \x1B[33mAI_GATEWAY_API_KEY\x1B[0m environment variable with your API key.
|
|
25
|
-
|
|
26
|
-
Alternatively, you can use a provider module instead of the AI Gateway.
|
|
27
|
-
|
|
28
|
-
Learn more: \x1B[34m${O}\x1B[0m
|
|
29
|
-
|
|
30
|
-
`),{name:"GatewayAuthenticationError"})}function Al(T){return{inputTokens:T.inputTokens.total,inputTokenDetails:{noCacheTokens:T.inputTokens.noCache,cacheReadTokens:T.inputTokens.cacheRead,cacheWriteTokens:T.inputTokens.cacheWrite},outputTokens:T.outputTokens.total,outputTokenDetails:{textTokens:T.outputTokens.text,reasoningTokens:T.outputTokens.reasoning},totalTokens:_r(T.inputTokens.total,T.outputTokens.total),raw:T.raw}}function Ao(){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 kl(T,C){let O=Ei(T)?C.raw:Ei(C)?T.raw:void 0;return{inputTokens:_r(T.inputTokens,C.inputTokens),inputTokenDetails:{noCacheTokens:_r(T.inputTokenDetails?.noCacheTokens,C.inputTokenDetails?.noCacheTokens),cacheReadTokens:_r(T.inputTokenDetails?.cacheReadTokens,C.inputTokenDetails?.cacheReadTokens),cacheWriteTokens:_r(T.inputTokenDetails?.cacheWriteTokens,C.inputTokenDetails?.cacheWriteTokens)},outputTokens:_r(T.outputTokens,C.outputTokens),outputTokenDetails:{textTokens:_r(T.outputTokenDetails?.textTokens,C.outputTokenDetails?.textTokens),reasoningTokens:_r(T.outputTokenDetails?.reasoningTokens,C.outputTokenDetails?.reasoningTokens)},totalTokens:_r(T.totalTokens,C.totalTokens),...O==null?{}:{raw:O}}}function Ei(T){return T.inputTokens==null&&T.inputTokenDetails?.noCacheTokens==null&&T.inputTokenDetails?.cacheReadTokens==null&&T.inputTokenDetails?.cacheWriteTokens==null&&T.outputTokens==null&&T.outputTokenDetails?.textTokens==null&&T.outputTokenDetails?.reasoningTokens==null&&T.totalTokens==null&&T.raw==null}function _r(T,C){return T==null&&C==null?void 0:(T??0)+(C??0)}function et(T,C){return T!=null&&Object.hasOwn(T,C)?T[C]:void 0}function Wn(...T){let C=Ae(...T).map((O)=>typeof O==="number"?AbortSignal.timeout(O):O);return C.length===0?void 0:C.length===1?C[0]:AbortSignal.any(C)}function lo(){return globalThis?.performance?.now()??Date.now()}async function lt(T){await Promise.all(qe(T.callbacks).map(async(C)=>{try{await C?.(T.event)}catch{}}))}function ym({error:T,exponentialBackoffDelay:C}){let O=v.isInstance(T)?T.responseHeaders:v.isInstance(T.cause)?T.cause.responseHeaders:void 0;if(!O)return C;let G,V=O["retry-after-ms"];if(V){let H=parseFloat(V);if(!Number.isNaN(H))G=H}let ee=O["retry-after"];if(ee&&G===void 0){let H=parseFloat(ee);if(!Number.isNaN(H))G=H*1000;else G=Date.parse(ee)-Date.now()}if(G!=null&&!Number.isNaN(G)&&0<=G&&(G<60000||G<C))return G;return C}var vm=({maxRetries:T=2,initialDelayInMs:C=2000,backoffFactor:O=2,abortSignal:G,additionalRetryableError:V}={})=>tn({maxRetries:T,initialDelayInMs:C,backoffFactor:O,abortSignal:G,shouldRetry:async(ee)=>ee instanceof Error&&(v.isInstance(ee)&&ee.isRetryable===!0||ft.isInstance(ee)&&ee.isRetryable===!0)||V!=null&&await V(ee),getDelayInMs:({error:ee,exponentialBackoffDelay:H})=>ym({error:ee,exponentialBackoffDelay:H}),createRetryError:({message:ee,reason:H,errors:te})=>new Vp({message:ee,reason:H,errors:te})});function No({maxRetries:T,abortSignal:C,additionalRetryableError:O,parameter:G="maxRetries",defaultMaxRetries:V=2}){if(T!=null){if(!Number.isInteger(T))throw new wr({parameter:G,value:T,message:`${G} must be an integer`});if(T<0)throw new wr({parameter:G,value:T,message:`${G} must be >= 0`})}let ee=T??V;return{maxRetries:ee,retry:vm({maxRetries:ee,abortSignal:C,additionalRetryableError:O})}}function Do({abortController:T,label:C,timeoutMs:O}){if(T==null||O==null)return;return setTimeout(()=>T.abort(new DOMException(`${C} timeout of ${O}ms exceeded`,"TimeoutError")),O)}function Br({tokens:T,durationMs:C}){let O=1000*(T??0)/(C??0);return Number.isFinite(O)?O:0}function Pl({messages:T}){let C=T.at(-1);if(C?.role!="tool")return{approvedToolApprovals:[],deniedToolApprovals:[]};let O=Object.create(null),G=Object.create(null),V=0;for(let oe of T)if(oe.role==="assistant"&&typeof oe.content!=="string"){let se=oe.content;for(let de of se)if(de.type==="tool-call")O[de.toolCallId]=de,G[de.toolCallId]=V++}let ee=Object.create(null);for(let oe of T)if(oe.role==="assistant"&&typeof oe.content!=="string"){let se=oe.content;for(let de of se)if(de.type==="tool-approval-request")ee[de.approvalId]=de}let H=Object.create(null);for(let oe of C.content)if(oe.type==="tool-result")H[oe.toolCallId]=oe;let te=[],re=[],ne=new Set,z=C.content.filter((oe)=>oe.type==="tool-approval-response");for(let oe of z){let se=ee[oe.approvalId];if(se==null)throw new vp({approvalId:oe.approvalId});let de=H[se.toolCallId];if(de!=null&&(oe.approved||de.output.type!=="execution-denied"))continue;let me=O[se.toolCallId];if(me==null)throw new $n({toolCallId:se.toolCallId,approvalId:se.approvalId});if(ne.has(me.toolCallId))continue;ne.add(me.toolCallId);let Fe={approvalRequest:se,approvalResponse:oe,toolCall:me,...de!=null?{existingToolResult:de}:{}};if(oe.approved)te.push(Fe);else re.push(Fe)}return te.sort((oe,se)=>G[oe.toolCall.toolCallId]-G[se.toolCall.toolCallId]),{approvedToolApprovals:te,deniedToolApprovals:re}}var Hn=class{constructor({data:T,mediaType:C,providerMetadata:O}){let G=T instanceof Uint8Array;this.base64Data=G?void 0:T,this.uint8ArrayData=G?T:void 0,this.mediaType=C,this.providerMetadata=O}get base64(){if(this.base64Data==null)this.base64Data=X(this.uint8ArrayData);return this.base64Data}get uint8Array(){if(this.uint8ArrayData==null)this.uint8ArrayData=q(this.base64Data);return this.uint8ArrayData}},wm=class extends Hn{constructor(...T){super(...T);this.type="file"}};async function Ol({data:T,abortSignal:C,cache:O}){if(T.type==="data")return T.data;let G=O?.get(T);if(G!=null)return G;let V=(await Fn({url:T.url,abortSignal:C})).data;return O?.set(T,V),V}async function Mi({content:T,toolCalls:C,toolOutputs:O,toolApprovalRequests:G,toolApprovalResponses:V,tools:ee,abortSignal:H,generatedFileDataCache:te}){let re=[],ne=[],z=[],oe=new Set(V.map((se)=>se.toolCall.toolCallId));for(let se of T)switch(se.type){case"text":case"reasoning":case"custom":case"source":re.push(se);break;case"file":case"reasoning-file":re.push({type:se.type,file:new Hn({data:await Ol({data:se.data,abortSignal:H,cache:te}),mediaType:se.mediaType}),...se.providerMetadata!=null?{providerMetadata:se.providerMetadata}:{}});break;case"tool-call":{let de=C.find((me)=>me.toolCallId===se.toolCallId);if(de==null)throw Error(`Tool call ${se.toolCallId} not found.`);re.push(de);break}case"tool-result":{let de=C.find((me)=>me.toolCallId===se.toolCallId);if(de==null){let me=et(ee,se.toolName);if(!(me?.type==="provider"&&me.supportsDeferredResults))throw Error(`Tool call ${se.toolCallId} not found.`);if(se.isError)re.push({type:"tool-error",toolCallId:se.toolCallId,toolName:se.toolName,input:void 0,error:se.result,providerExecuted:!0,dynamic:se.dynamic,...se.providerMetadata!=null?{providerMetadata:se.providerMetadata}:{},...me?.metadata!=null?{toolMetadata:me.metadata}:{}});else re.push({type:"tool-result",toolCallId:se.toolCallId,toolName:se.toolName,input:void 0,output:se.result,providerExecuted:!0,dynamic:se.dynamic,...se.providerMetadata!=null?{providerMetadata:se.providerMetadata}:{},...me?.metadata!=null?{toolMetadata:me.metadata}:{}});break}if(se.isError)re.push({type:"tool-error",toolCallId:se.toolCallId,toolName:se.toolName,input:de.input,error:se.result,providerExecuted:!0,dynamic:de.dynamic,...se.providerMetadata!=null?{providerMetadata:se.providerMetadata}:{},...de.toolMetadata!=null?{toolMetadata:de.toolMetadata}:{}});else re.push({type:"tool-result",toolCallId:se.toolCallId,toolName:se.toolName,input:de.input,output:se.result,providerExecuted:!0,dynamic:de.dynamic,...se.providerMetadata!=null?{providerMetadata:se.providerMetadata}:{},...de.toolMetadata!=null?{toolMetadata:de.toolMetadata}:{}});break}case"tool-approval-request":{let de=C.find((me)=>me.toolCallId===se.toolCallId);if(de==null)throw new $n({toolCallId:se.toolCallId,approvalId:se.approvalId});re.push({type:"tool-approval-request",approvalId:se.approvalId,toolCall:de});break}}for(let se of O)if(oe.has(se.toolCallId))ne.push(se);else z.push(se);return[...re,...z,...G,...V,...ne]}function jl({tools:T,toolCallers:C}){if(T==null||C==null)return;let O={};for(let[G,V]of Object.entries(C)){if(!Object.prototype.hasOwnProperty.call(T,G))throw new wr({parameter:"experimental_toolCallers",value:C,message:`unknown tool "${G}".`});if(V!=null)O[G]=V}return O}function Nl({tools:T,toolCallers:C}){if(T==null||C==null)return{executionTools:T,modelTools:T,toolCallerMessages:[]};let O={...T},G={...T},V=new Map,ee=[];for(let[H,te]of Object.entries(C)){let re=O[H];if(re==null)continue;let ne=!1,z=!1,oe=re;for(let se of te){if(se==="AI_SDK_DIRECT_TOOL_CALL"){ne=!0;continue}let de=wt(O[se]);if(de==null)continue;if(de.type==="provider")z=!0,oe={...oe,providerOptions:de.prepareProviderOptions(oe.providerOptions)};else{let me=V.get(se)??{};me[H]=oe,V.set(se,me)}}if(O[H]=oe,ne||z)G[H]=oe;else delete G[H]}for(let[H,te]of Object.entries(O)){let re=wt(te);if(re?.type!=="local")continue;let ne=V.get(H)??{},z=re.bind(ne);if(O[H]=z,Object.prototype.hasOwnProperty.call(G,H))if(re.prepareModelMessage==null)G[H]=z;else{let oe=re.prepareModelMessage(ne);if(oe!=null)ee.push({role:"user",content:oe})}}return{executionTools:O,modelTools:G,toolCallerMessages:ee}}function Dl({messages:T,toolCallerMessages:C}){if(C.length===0)return T;let O=T.findLast((ee)=>ee.role==="user"&&typeof ee.content==="string")?.content,G=new Set(O==null?[]:[O]),V=C.filter((ee)=>{if(typeof ee.content!=="string"||G.has(ee.content))return!1;return G.add(ee.content),!0});return V.length===0?T:[...T,...V]}var bm=Symbol.for("vercel.ai.toolSearch"),Sm=Symbol.for("vercel.ai.toolSearch.search"),Im=Symbol.for("vercel.ai.toolSearch.maxResults");function Tm(T){return T[Im]??5}function xm(T){return T[Sm]}function ko(T){return T[bm]===!0}function ql({tools:T,toolCallers:C}){let O=Object.entries(T??{}).filter(([,ee])=>ee.deferLoading||ko(ee));if(O.length===0)return(ee)=>ee;let G=new Set,V=(ee)=>et(C,ee)??["AI_SDK_DIRECT_TOOL_CALL"];for(let[ee,H]of O)if(V(ee).some((te)=>{if(te==="AI_SDK_DIRECT_TOOL_CALL")return!1;let re=wt(T?.[te]);return re?.type!=="local"||re.prepareModelMessage==null})||ko(H)&&H.deferLoading)throw new wr({parameter:"tools",value:ee,message:`tool "${ee}" must be callable directly or through code mode with toolDiscovery: 'conversation'. The search tool itself must not defer loading.`});return(ee,{toolsContext:H={},experimental_sandbox:te}={})=>{if(ee==null)return;let re=Object.entries(ee);return Object.fromEntries(re.filter(([ne,z])=>!z.deferLoading||G.has(ne)).map(([ne,z])=>{if(!ko(z))return[ne,z];let oe=V(ne).filter((de)=>de==="AI_SDK_DIRECT_TOOL_CALL"||Object.hasOwn(ee,de)),se=re.filter(([de,me])=>me.deferLoading&&!ko(me)&&oe.some((Fe)=>V(de).includes(Fe)));return[ne,{...z,execute:async({query:de})=>{let me=se.map(([we,le])=>{let ve=El({tool:le,toolName:we,toolsContext:H,experimental_sandbox:te});return{name:we,...ve==null?{}:{description:ve}}}),Fe=new Map(me.map((we)=>[we.name,we])),Be=xm(z),be=[...new Set(xn(de))],$e=Be?await Be({query:de,tools:me.map((we)=>({...we}))}):me.map(({name:we,description:le})=>{let ve=xn(we),Te=xn(le??"");return{name:we,score:be.reduce((ce,xe)=>ce+(ve.includes(xe)?2:0)+(Te.includes(xe)?1:0),0)}}).filter((we)=>we.score>0).sort((we,le)=>le.score-we.score).map((we)=>we.name),Ee=[...new Set($e)].flatMap((we)=>{let le=Fe.get(we);return le==null?[]:[le]}).slice(0,Tm(z));for(let{name:we}of Ee)G.add(we);return{tools:Ee}}}]}))}}function xn(T){return T.replace(/([a-z\d])([A-Z])/g,"$1 $2").toLowerCase().match(/[\p{L}\p{N}]+/gu)??[]}async function co({toolName:T,context:C,contextSchema:O}){if(O==null)return C;return await x({value:C,schema:O,context:{field:"tool context",entityName:T}})}async function zn({toolCall:T,tools:C,toolsContext:O,callId:G,messages:V,abortSignal:ee,timeout:H,experimental_sandbox:te,onPreliminaryToolResult:re,onToolExecutionStart:ne,onToolExecutionEnd:z,executeToolInTelemetryContext:oe=async({execute:de})=>await de(),runInTracingChannelSpan:se=async({execute:de})=>await de()}){let{toolName:de,toolCallId:me,input:Fe}=T,Be=et(C,de);if(!$t(Be))return;let be=await co({toolName:de,context:et(O,de),contextSchema:Be.contextSchema}),$e={toolCall:T,messages:V,toolContext:be},Ee={callId:G,...$e};return await se({type:"executeTool",event:Ee,execute:async()=>{let we;await lt({event:Ee,callbacks:ne});let le=Wn(ee,gm(H,de)),ve=0;try{await oe({callId:G,toolCallId:me,...$e,execute:async()=>{let ce=lo();try{let xe=pn({tool:Be,input:Fe,options:{toolCallId:me,messages:V,abortSignal:le,context:be,experimental_sandbox:te}});for await(let Ke of xe)if(Ke.type==="preliminary")re?.({...T,type:"tool-result",output:Ke.output,preliminary:!0});else we=Ke.output}finally{ve=lo()-ce}}})}catch(ce){let xe={type:"tool-error",toolCallId:me,toolName:de,input:Fe,error:ce,dynamic:Be.type==="dynamic",...T.providerMetadata!=null?{providerMetadata:T.providerMetadata}:{},...T.toolMetadata!=null?{toolMetadata:T.toolMetadata}:{}};return await lt({event:{...Ee,toolOutput:xe,toolExecutionMs:ve},callbacks:z}),{output:xe,toolExecutionMs:ve}}let Te={type:"tool-result",toolCallId:me,toolName:de,input:Fe,output:we,dynamic:Be.type==="dynamic",...T.providerMetadata!=null?{providerMetadata:T.providerMetadata}:{},...T.toolMetadata!=null?{toolMetadata:T.toolMetadata}:{}};return await lt({event:{...Ee,toolOutput:Te,toolExecutionMs:ve},callbacks:z}),{output:Te,toolExecutionMs:ve}}})}function $l({tools:T,activeTools:C}){if(T==null||C==null)return T;return Object.fromEntries(Object.entries(T).filter(([O])=>C.includes(O)))}function Em(T){if(typeof T==="object"&&T!==null&&"type"in T)return T.type==="data"?T.data:T.url;return T}function Mm(T){return T.map((C)=>{if(C.type==="reasoning")return{type:"reasoning",text:C.text,...C.providerMetadata!=null?{providerOptions:C.providerMetadata}:{}};return{type:"reasoning-file",data:C.file.base64,mediaType:C.file.mediaType,...C.providerMetadata!=null?{providerOptions:C.providerMetadata}:{}}})}function Ul(T){return T.map((C)=>{if(C.type==="reasoning")return{type:"reasoning",text:C.text,...C.providerOptions!=null?{providerMetadata:C.providerOptions}:{}};let O=Em(C.data);return{type:"reasoning-file",file:new Hn({data:O instanceof ArrayBuffer?new Uint8Array(O):O instanceof URL?O.toString():O,mediaType:C.mediaType}),...C.providerOptions!=null?{providerMetadata:C.providerOptions}:{}}})}var Cm=class{constructor(T){this.initialResponseMessages=T.initialResponseMessages,this.steps=T.steps,this._output=T.output,this.totalUsage=T.totalUsage}get finalStep(){return this.steps.at(-1)}get content(){return this.steps.flatMap((T)=>T.content)}get text(){return this.finalStep.text}get files(){return this.steps.flatMap((T)=>T.files)}get reasoningText(){return this.finalStep.reasoningText}get reasoning(){return Ul(this.finalStep.reasoning)}get toolCalls(){return this.steps.flatMap((T)=>T.toolCalls)}get staticToolCalls(){return this.steps.flatMap((T)=>T.staticToolCalls)}get dynamicToolCalls(){return this.steps.flatMap((T)=>T.dynamicToolCalls)}get toolResults(){return this.steps.flatMap((T)=>T.toolResults)}get staticToolResults(){return this.steps.flatMap((T)=>T.staticToolResults)}get dynamicToolResults(){return this.steps.flatMap((T)=>T.dynamicToolResults)}get sources(){return this.steps.flatMap((T)=>T.sources)}get finishReason(){return this.finalStep.finishReason}get rawFinishReason(){return this.finalStep.rawFinishReason}get warnings(){return this.steps.flatMap((T)=>T.warnings??[])}get providerMetadata(){return this.finalStep.providerMetadata}get response(){return this.finalStep.response}get responseMessages(){return[...this.initialResponseMessages,...this.steps.flatMap((T)=>T.response.messages)]}get request(){return this.finalStep.request}get usage(){return this.totalUsage}get output(){if(this._output==null)throw new jo;return this._output}};function Ll(T){return T==="stop"||T==="tool-calls"}function Rm(T){let C=["ROOT"],O=-1,G=null,V=0;function ee(z){return z>="0"&&z<="9"||z>="A"&&z<="F"||z>="a"&&z<="f"}function H(z,oe,se){switch(z){case'"':O=oe,C.pop(),C.push(se),C.push("INSIDE_STRING");break;case"f":case"t":case"n":O=oe,G=oe,C.pop(),C.push(se),C.push("INSIDE_LITERAL");break;case"-":C.pop(),C.push(se),C.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=oe,C.pop(),C.push(se),C.push("INSIDE_NUMBER");break;case"{":O=oe,C.pop(),C.push(se),C.push("INSIDE_OBJECT_START");break;case"[":O=oe,C.pop(),C.push(se),C.push("INSIDE_ARRAY_START")}}function te(z,oe){switch(z){case",":C.pop(),C.push("INSIDE_OBJECT_AFTER_COMMA");break;case"}":O=oe,C.pop()}}function re(z,oe){switch(z){case",":C.pop(),C.push("INSIDE_ARRAY_AFTER_COMMA");break;case"]":O=oe,C.pop()}}for(let z=0;z<T.length;z++){let oe=T[z];switch(C[C.length-1]){case"ROOT":H(oe,z,"FINISH");break;case"INSIDE_OBJECT_START":switch(oe){case'"':C.pop(),C.push("INSIDE_OBJECT_KEY");break;case"}":O=z,C.pop()}break;case"INSIDE_OBJECT_AFTER_COMMA":switch(oe){case'"':C.pop(),C.push("INSIDE_OBJECT_KEY")}break;case"INSIDE_OBJECT_KEY":switch(oe){case'"':C.pop(),C.push("INSIDE_OBJECT_AFTER_KEY")}break;case"INSIDE_OBJECT_AFTER_KEY":switch(oe){case":":C.pop(),C.push("INSIDE_OBJECT_BEFORE_VALUE")}break;case"INSIDE_OBJECT_BEFORE_VALUE":H(oe,z,"INSIDE_OBJECT_AFTER_VALUE");break;case"INSIDE_OBJECT_AFTER_VALUE":te(oe,z);break;case"INSIDE_STRING":switch(oe){case'"':C.pop(),O=z;break;case"\\":C.push("INSIDE_STRING_ESCAPE");break;default:O=z}break;case"INSIDE_ARRAY_START":switch(oe){case"]":O=z,C.pop();break;default:O=z,H(oe,z,"INSIDE_ARRAY_AFTER_VALUE")}break;case"INSIDE_ARRAY_AFTER_VALUE":switch(oe){case",":C.pop(),C.push("INSIDE_ARRAY_AFTER_COMMA");break;case"]":O=z,C.pop();break;default:O=z}break;case"INSIDE_ARRAY_AFTER_COMMA":H(oe,z,"INSIDE_ARRAY_AFTER_VALUE");break;case"INSIDE_STRING_ESCAPE":if(C.pop(),oe==="u")V=0,C.push("INSIDE_STRING_UNICODE_ESCAPE");else O=z;break;case"INSIDE_STRING_UNICODE_ESCAPE":if(ee(oe)){if(V++,V===4)C.pop(),O=z}break;case"INSIDE_NUMBER":switch(oe){case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":O=z;break;case"e":case"E":case"-":case".":break;case",":if(C.pop(),C[C.length-1]==="INSIDE_ARRAY_AFTER_VALUE")re(oe,z);if(C[C.length-1]==="INSIDE_OBJECT_AFTER_VALUE")te(oe,z);break;case"}":if(C.pop(),C[C.length-1]==="INSIDE_OBJECT_AFTER_VALUE")te(oe,z);break;case"]":if(C.pop(),C[C.length-1]==="INSIDE_ARRAY_AFTER_VALUE")re(oe,z);break;default:C.pop()}break;case"INSIDE_LITERAL":{let se=T.substring(G,z+1);if(!"false".startsWith(se)&&!"true".startsWith(se)&&!"null".startsWith(se)){if(C.pop(),C[C.length-1]==="INSIDE_OBJECT_AFTER_VALUE")te(oe,z);else if(C[C.length-1]==="INSIDE_ARRAY_AFTER_VALUE")re(oe,z)}else O=z;break}}}let ne=T.slice(0,O+1);for(let z=C.length-1;z>=0;z--)switch(C[z]){case"INSIDE_STRING":ne+='"';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":ne+="}";break;case"INSIDE_ARRAY_START":case"INSIDE_ARRAY_AFTER_COMMA":case"INSIDE_ARRAY_AFTER_VALUE":ne+="]";break;case"INSIDE_LITERAL":{let oe=T.substring(G,T.length);if("true".startsWith(oe))ne+="true".slice(oe.length);else if("false".startsWith(oe))ne+="false".slice(oe.length);else if("null".startsWith(oe))ne+="null".slice(oe.length)}}return ne}async function _m(T){if(T===void 0)return{value:void 0,state:"undefined-input"};let C=await J({text:T});if(C.success)return{value:C.value,state:"successful-parse"};if(C=await J({text:Rm(T)}),C.success)return{value:C.value,state:"repaired-parse"};return{value:void 0,state:"failed-parse"}}var An=()=>({name:"text",responseFormat:Promise.resolve({type:"text"}),async parseCompleteOutput({text:T}){return T},async parsePartialOutput({text:T}){return{partial:T}},createElementStreamTransform(){}});var kn=Symbol("ai-sdk-tool-call-input-schema-input");function Fl(T,C){return Object.defineProperty(T,kn,{value:C}),T}function Kn(T){return kn in T?{value:T[kn]}:void 0}async function Gl({toolCall:T,tools:C,repairToolCall:O,refineToolInput:G,messages:V,instructions:ee,abortSignal:H}){try{if(C==null){if(T.providerExecuted&&T.dynamic)return await qo({toolCall:await Vl(T),refineToolInput:G});throw new Cn({toolName:T.toolName})}try{return await qo({toolCall:await Ci({toolCall:T,tools:C}),refineToolInput:G})}catch(te){if(O==null||!(Cn.isInstance(te)||Vo.isInstance(te)))throw te;let re=null;try{H?.throwIfAborted(),re=await Am({promise:O({toolCall:T,tools:C,inputSchema:async({toolName:z})=>{let oe=et(C,z)?.inputSchema;return await De(oe).jsonSchema},instructions:ee,system:ee,messages:V,error:te,abortSignal:H}),abortSignal:H})}catch(z){throw H?.throwIfAborted(),new jp({cause:z,originalError:te})}if(re==null)throw te;let ne=await qo({toolCall:await Ci({toolCall:re,tools:C}),refineToolInput:G});return H?.throwIfAborted(),ne}}catch(te){H?.throwIfAborted();let re=await J({text:T.input}),ne=re.success?re.value:T.input,z=et(C,T.toolName);return{type:"tool-call",toolCallId:T.toolCallId,toolName:T.toolName,input:ne,dynamic:!0,invalid:!0,error:te,title:z?.title,providerExecuted:T.providerExecuted,providerMetadata:T.providerMetadata,...z?.metadata!=null?{toolMetadata:z.metadata}:{}}}}async function Am({promise:T,abortSignal:C}){if(C==null)return await T;return await new Promise((O,G)=>{let V=()=>{C.removeEventListener("abort",ee)},ee=()=>{V(),G(C.reason)};if(Promise.resolve(T).then((H)=>{V(),O(H)}).catch((H)=>{V(),G(H)}),C.addEventListener("abort",ee,{once:!0}),C.aborted)ee()})}async function qo({toolCall:T,refineToolInput:C}){let O=et(C,T.toolName);if(O==null)return T;let G={...T,input:await O(T.input)},V=Kn(T);return V==null?G:Fl(G,V.value)}async function Vl(T){let C=T.input.trim()===""?{success:!0,value:{}}:await J({text:T.input});if(C.success===!1)throw new Vo({toolName:T.toolName,toolInput:T.input,cause:C.error});return{type:"tool-call",toolCallId:T.toolCallId,toolName:T.toolName,input:C.value,providerExecuted:!0,dynamic:!0,providerMetadata:T.providerMetadata}}async function Ci({toolCall:T,tools:C}){let O=T.toolName,G=et(C,O);if(G==null){if(T.providerExecuted&&T.dynamic)return await Vl(T);throw new Cn({toolName:T.toolName,availableTools:Object.keys(C)})}let V=De(G.inputSchema),ee=T.input.trim()===""?await N({value:{},schema:V}):await J({text:T.input,schema:V});if(ee.success===!1)throw new Vo({toolName:O,toolInput:T.input,cause:ee.error});return Fl(G.type==="dynamic"?{type:"tool-call",toolCallId:T.toolCallId,toolName:T.toolName,input:ee.value,providerExecuted:T.providerExecuted,providerMetadata:T.providerMetadata,...G.metadata!=null?{toolMetadata:G.metadata}:{},dynamic:!0,title:G.title}:{type:"tool-call",toolCallId:T.toolCallId,toolName:O,input:ee.value,providerExecuted:T.providerExecuted,providerMetadata:T.providerMetadata,...G.metadata!=null?{toolMetadata:G.metadata}:{},title:G.title},ee.rawValue)}function Bl({callSettings:T,stepSettings:C}){return Uo({maxOutputTokens:C?.maxOutputTokens??T.maxOutputTokens,temperature:C?.temperature??T.temperature,topP:C?.topP??T.topP,topK:C?.topK??T.topK,presencePenalty:C?.presencePenalty??T.presencePenalty,frequencyPenalty:C?.frequencyPenalty??T.frequencyPenalty,stopSequences:C?.stopSequences??T.stopSequences,seed:C?.seed??T.seed,reasoning:C?.reasoning??T.reasoning})}async function Jn({tools:T,toolCall:C,toolApproval:O,messages:G,toolsContext:V,runtimeContext:ee}){if(O!=null&&typeof O==="function")return Ri(await O({toolCall:C,tools:T,toolsContext:V,messages:G,runtimeContext:ee}));let H=C.toolName,te=et(T,H),re=C.input,ne=et(O,H);if(ne!=null)return Ri(typeof ne==="function"?await ne(re,{toolCallId:C.toolCallId,messages:G,toolContext:await co({toolName:H,context:et(V,H),contextSchema:te?.contextSchema}),runtimeContext:ee}):ne);if(te?.needsApproval==null)return{type:"not-applicable"};return(typeof te.needsApproval==="function"?await te.needsApproval(re,{toolCallId:C.toolCallId,messages:G,context:await co({toolName:H,context:et(V,H),contextSchema:te?.contextSchema})}):te.needsApproval)?{type:"user-approval"}:{type:"not-applicable"}}function Ri(T){return T===void 0?{type:"not-applicable"}:typeof T==="string"?{type:T}:T}function ka({context:T,includeContext:C}){if(T==null)return{};return Object.fromEntries(Object.entries(T).filter(([O])=>C?.[O]===!0))}function so({toolsContext:T,includeToolsContext:C}){if(C==null)return{};return Object.fromEntries(Object.entries(T).map(([O,G])=>[O,Lo({toolName:O,toolContext:G,includeToolsContext:C})]))}function Lo({toolName:T,toolContext:C,includeToolsContext:O}){let G=O?.[T];return ka({context:C,includeContext:G})}function _i(...T){return async(C)=>{await Promise.allSettled(T.map(async(O)=>{await O?.(C)}))}}var Wl="ai:telemetry";function Hl(){return typeof process<"u"&&process.release?.name==="node"}var En;async function km(){if(!Hl())return;if(En==null)En=Promise.resolve(Pn("node:diagnostics_channel"));return En}function Pn(T){let C=globalThis.process;try{return C?.getBuiltinModule?.(T)}catch{return}}async function Ai(T,C){let O=(await km())?.tracingChannel?.(Wl);if(O==null||O.hasSubscribers===!1)return await C();let G,V,ee,H=!1,te=!1,re=()=>{try{G=Promise.resolve(C())}catch(ne){G=Promise.reject(ne)}return G=G.then((ne)=>(V=ne,H=!0,ne),(ne)=>{throw ee=ne,te=!0,ne}),G};try{return await O.tracePromise(re,T)}catch{if(te)throw ee;if(H)return V;if(G!=null)return await G;return await C()}}function Pm({message:T,completion:C}){if(!Hl()){Promise.resolve(C).catch(()=>{});return}let O=Pn("node:diagnostics_channel"),G=Pn("node:async_hooks"),V=O?.tracingChannel?.(Wl);if(V==null||V.hasSubscribers===!1||G==null){Promise.resolve(C).catch(()=>{});return}let ee=T,H,te=!1,re=(z)=>{try{z()}catch{}},ne=({result:z,error:oe})=>{if(te)return;if(te=!0,oe!==void 0)ee.error=oe,re(()=>V.error.publish(ee));if(z!==void 0)ee.result=z;re(()=>V.asyncEnd.publish(ee))};return re(()=>{V.start.runStores(ee,()=>{H=new G.AsyncResource("ai.telemetry")})}),re(()=>V.end.publish(ee)),Promise.resolve(C).then((z)=>ne({result:z}),(z)=>ne({error:z})),{run:(z)=>H==null?z():H.runInAsyncScope(z)}}function Om(){return globalThis.AI_SDK_TELEMETRY_INTEGRATIONS??[]}function eo(T,C,O=!1){let G=Object.assign(Object.create(Object.getPrototypeOf(T)),T,{recordInputs:C.recordInputs,recordOutputs:C.recordOutputs,functionId:C.functionId,aiVersion:Ln});if(O&&T!=null&&typeof T==="object"&&"runtimeContext"in T)G.runtimeContext=ka({context:T.runtimeContext,includeContext:C.includeRuntimeContext});if(O&&T!=null&&typeof T==="object"){if("toolsContext"in T)G.toolsContext=so({toolsContext:T.toolsContext,includeToolsContext:C.includeToolsContext});else if("toolContext"in T&&T.toolContext!=null&&"toolCall"in T&&T.toolCall!=null&&typeof T.toolCall==="object"&&"toolName"in T.toolCall)G.toolContext=Lo({toolName:T.toolCall.toolName,toolContext:T.toolContext,includeToolsContext:C.includeToolsContext})}return G}function jm({telemetry:T}){if(T?.isEnabled===!1)return{};let C=T?.integrations,O=C!=null?qe(C):Om(),G={recordInputs:T?.recordInputs,recordOutputs:T?.recordOutputs,functionId:T?.functionId,includeRuntimeContext:T?.includeRuntimeContext,includeToolsContext:T?.includeToolsContext},V=(ne,z)=>{let oe=O.map((de)=>{let me=de[ne]??(z==null?void 0:de[z]);return typeof me==="function"?me.bind(de):void 0}).filter(Boolean).map((de)=>(me)=>de(eo(me,G)));if(oe.length===0)return;let se=_i(...oe);return async(de)=>{await se(de)}},ee=V("onStepEnd"),H=V("onStepFinish"),te=O.map((ne)=>ne.executeLanguageModelCall?.bind(ne)).filter(Boolean),re=O.map((ne)=>ne.executeTool?.bind(ne)).filter(Boolean);return{runInTracingChannelSpan:async({type:ne,event:z,execute:oe})=>await Ai({type:ne,event:eo(z,G,!0)},oe),startTracingChannelContext:({type:ne,event:z,completion:oe})=>Pm({message:{type:ne,event:eo(z,G,!0)},completion:oe}),onStart:V("onStart"),onStepStart:V("onStepStart"),onLanguageModelCallStart:V("onLanguageModelCallStart"),onLanguageModelCallEnd:V("onLanguageModelCallEnd"),onToolExecutionStart:V("onToolExecutionStart"),onToolExecutionEnd:V("onToolExecutionEnd"),onStepEnd:ee==null&&H==null?void 0:_i(ee,H),onStepError:V("onStepError"),onObjectStepStart:V("onObjectStepStart"),onObjectStepEnd:V("onObjectStepEnd"),onEmbedStart:V("onEmbedStart"),onEmbedEnd:V("onEmbedEnd"),onRerankStart:V("onRerankStart"),onRerankEnd:V("onRerankEnd"),experimental_onDecideStart:V("experimental_onDecideStart","experimental_onEvaluateStart"),experimental_onDecisionModelCallStart:V("experimental_onDecisionModelCallStart","experimental_onEvaluationModelCallStart"),experimental_onDecisionModelCallEnd:V("experimental_onDecisionModelCallEnd","experimental_onEvaluationModelCallEnd"),experimental_onDecideEnd:V("experimental_onDecideEnd","experimental_onEvaluateEnd"),experimental_onStreamTranscriptionStart:V("experimental_onStreamTranscriptionStart"),experimental_onStreamTranscriptionEnd:V("experimental_onStreamTranscriptionEnd"),onEnd:V("onEnd"),onAbort:V("onAbort"),onError:V("onError"),executeLanguageModelCall:async({execute:ne,...z})=>{let oe=eo(z,G),se=ne;for(let de of te){let me=se;se=()=>de({...oe,execute:me})}return await Ai({type:"languageModelCall",event:oe},se)},executeTool:async({execute:ne,...z})=>{let oe=eo(z,G),se=ne;for(let de of re){let me=se;se=()=>de({...oe,execute:me})}return await se()}}}function Nm(T){let C=T.map((O)=>("text"in O)?O.text:"").join("");return C.length>0?C:void 0}var Yn=class{constructor({callId:T,stepNumber:C,provider:O,modelId:G,runtimeContext:V,toolsContext:ee,content:H,finishReason:te,rawFinishReason:re,usage:ne,performance:z,warnings:oe,request:se,response:de,providerMetadata:me,steeringMessages:Fe}){if(this.callId=T,this.stepNumber=C,this.model={provider:O,modelId:G},this.runtimeContext=V,this.toolsContext=ee,this.content=H,this.finishReason=te,this.rawFinishReason=re,this.usage=ne,this.performance=z,this.warnings=oe,this.request=se,this.response=de,this.providerMetadata=me,Fe!=null&&Fe.length>0)this.experimental_steeringMessages=Fe}get text(){return this.content.filter((T)=>T.type==="text").map((T)=>T.text).join("")}get reasoning(){return Mm(this.content.filter((T)=>T.type==="reasoning"||T.type==="reasoning-file"))}get reasoningText(){return Nm(this.reasoning)}get files(){return this.content.filter((T)=>T.type==="file").map((T)=>T.file)}get sources(){return this.content.filter((T)=>T.type==="source")}get toolCalls(){return this.content.filter((T)=>T.type==="tool-call")}get staticToolCalls(){return this.toolCalls.filter((T)=>T.dynamic!==!0)}get dynamicToolCalls(){return this.toolCalls.filter((T)=>T.dynamic===!0)}get toolResults(){return this.content.filter((T)=>T.type==="tool-result")}get staticToolResults(){return this.toolResults.filter((T)=>T.dynamic!==!0)}get dynamicToolResults(){return this.toolResults.filter((T)=>T.dynamic===!0)}};function to({step:T,includeRuntimeContext:C,includeToolsContext:O}){return new Yn({callId:T.callId,stepNumber:T.stepNumber,provider:T.model.provider,modelId:T.model.modelId,runtimeContext:ka({context:T.runtimeContext,includeContext:C}),toolsContext:so({toolsContext:T.toolsContext,includeToolsContext:O}),content:T.content,finishReason:T.finishReason,rawFinishReason:T.rawFinishReason,usage:T.usage,performance:T.performance,warnings:T.warnings,request:T.request,response:T.response,providerMetadata:T.providerMetadata,steeringMessages:T.experimental_steeringMessages})}function zl({telemetry:T,includeRuntimeContext:C,includeToolsContext:O}){let G=jm({telemetry:T}),V=(ee)=>({...ee,runtimeContext:ka({context:ee.runtimeContext,includeContext:C}),steps:ee.steps.map((H)=>to({step:H,includeRuntimeContext:C,includeToolsContext:O})),toolsContext:so({toolsContext:ee.toolsContext,includeToolsContext:O})});return{...G,onStart:(ee)=>G.onStart?.({...ee,runtimeContext:ka({context:ee.runtimeContext,includeContext:C}),toolsContext:so({toolsContext:ee.toolsContext,includeToolsContext:O})}),onStepStart:(ee)=>G.onStepStart?.(V(ee)),onStepEnd:(ee)=>G.onStepEnd?.(to({step:ee,includeRuntimeContext:C,includeToolsContext:O})),onStepFinish:(ee)=>G.onStepEnd?.(to({step:ee,includeRuntimeContext:C,includeToolsContext:O})),onStepError:(ee)=>G.onStepError?.(V(ee)),onEnd:(ee)=>G.onEnd?.(((H)=>({...ee,runtimeContext:ka({context:ee.runtimeContext,includeContext:C}),steps:H,finalStep:H.at(-1),toolsContext:so({toolsContext:ee.toolsContext,includeToolsContext:O})}))(ee.steps.map((H)=>to({step:H,includeRuntimeContext:C,includeToolsContext:O})))),onAbort:(ee)=>G.onAbort?.({...ee,steps:ee.steps.map((H)=>to({step:H,includeRuntimeContext:C,includeToolsContext:O}))}),onToolExecutionStart:(ee)=>G.onToolExecutionStart?.({...ee,toolContext:Lo({toolName:ee.toolCall.toolName,toolContext:ee.toolContext,includeToolsContext:O})}),onToolExecutionEnd:(ee)=>G.onToolExecutionEnd?.({...ee,toolContext:Lo({toolName:ee.toolCall.toolName,toolContext:ee.toolContext,includeToolsContext:O})})}}var Bh=Z({prefix:"steer",size:24}),Dm=Symbol.for("vercel.ai.steering.start");function Kl(T){if(T==null)return;let C=T[Dm];if(typeof C!=="function")throw new wr({parameter:"experimental_steering",value:T,message:"The steering object must be created with experimental_createSteering()."});return C.call(T)}function Jl(T){return({steps:C})=>C.length===T}async function Yl({stopConditions:T,steps:C}){return(await Promise.all(T.map((O)=>O({steps:C})))).some((O)=>O)}function On(T,C){return T==null&&C==null?void 0:(T??0)+(C??0)}function uo(T,C){if(T===C)return!0;if(T==null||C==null)return!1;if(typeof T!=="object"&&typeof C!=="object")return T===C;if(T.constructor!==C.constructor)return!1;if(T instanceof Date&&C instanceof Date)return T.getTime()===C.getTime();if(Array.isArray(T)){if(T.length!==C.length)return!1;for(let V=0;V<T.length;V++)if(!uo(T[V],C[V]))return!1;return!0}let O=Object.keys(T),G=Object.keys(C);if(O.length!==G.length)return!1;for(let V of O){if(!G.includes(V))return!1;if(!uo(T[V],C[V]))return!1}return!0}async function Ql({content:T,tools:C}){let O=[],G=new Map,V=[];for(let H of T){if(H.type==="source")continue;if((H.type==="tool-result"||H.type==="tool-error")&&!H.providerExecuted)continue;if(H.type==="text"&&H.text.length===0)continue;switch(H.type){case"text":V.push({type:"text",text:H.text,providerOptions:H.providerMetadata});break;case"custom":V.push({type:"custom",kind:H.kind,providerOptions:H.providerMetadata});break;case"reasoning":V.push({type:"reasoning",text:H.text,providerOptions:H.providerMetadata});break;case"file":V.push({type:"file",data:H.file.base64,mediaType:H.file.mediaType,providerOptions:H.providerMetadata});break;case"reasoning-file":V.push({type:"reasoning-file",data:H.file.base64,mediaType:H.file.mediaType,providerOptions:H.providerMetadata});break;case"tool-call":if(!G.has(H.toolCallId))G.set(H.toolCallId,G.size);V.push({type:"tool-call",toolCallId:H.toolCallId,toolName:H.toolName,input:H.invalid&&typeof H.input!=="object"?{}:H.input,providerExecuted:H.providerExecuted,providerOptions:H.providerMetadata});break;case"tool-result":{let re=await ia({toolCallId:H.toolCallId,input:H.input,tool:et(C,H.toolName),output:H.output,errorMode:"none"});V.push({type:"tool-result",toolCallId:H.toolCallId,toolName:H.toolName,output:re,providerOptions:H.providerMetadata});break}case"tool-error":{let re=await ia({toolCallId:H.toolCallId,input:H.input,tool:et(C,H.toolName),output:H.error,errorMode:"json"});V.push({type:"tool-result",toolCallId:H.toolCallId,toolName:H.toolName,output:re,providerOptions:H.providerMetadata});break}case"tool-approval-request":let te=Kn(H.toolCall);V.push({type:"tool-approval-request",approvalId:H.approvalId,toolCallId:H.toolCall.toolCallId,...H.reason!=null?{reason:H.reason}:{},isAutomatic:H.isAutomatic,...H.signature!=null?{signature:H.signature}:{},...te!=null&&!uo(te.value,H.toolCall.input)?{inputSchemaInput:te.value}:{}})}}if(V.length>0)O.push({role:"assistant",content:V});let ee=[];for(let H of T){if(H.type!=="tool-approval-response"&&H.type!=="tool-result"&&H.type!=="tool-error")continue;if(H.type==="tool-approval-response"){if(ee.push({type:"tool-approval-response",approvalId:H.approvalId,approved:H.approved,reason:H.reason,providerExecuted:H.providerExecuted}),H.approved===!1)ee.push({type:"tool-result",toolCallId:H.toolCall.toolCallId,toolName:H.toolCall.toolName,output:{type:"execution-denied",reason:H.reason}});continue}if(H.providerExecuted)continue;let te=await ia({toolCallId:H.toolCallId,input:H.input,tool:et(C,H.toolName),output:H.type==="tool-result"?H.output:H.error,errorMode:H.type==="tool-error"?"text":"none"});ee.push({type:"tool-result",toolCallId:H.toolCallId,toolName:H.toolName,output:te,...H.providerMetadata!=null?{providerOptions:H.providerMetadata}:{}})}if(ee.length>0)O.push({role:"tool",content:qm({toolResultContent:ee,toolCallOrder:G})});return O}function qm({toolResultContent:T,toolCallOrder:C}){let O=T.filter((V)=>V.type==="tool-result").map((V,ee)=>({part:V,index:ee})).sort((V,ee)=>{let H=C.get(V.part.toolCallId),te=C.get(ee.part.toolCallId);if(H==null&&te==null)return V.index-ee.index;if(H==null)return 1;if(te==null)return-1;return H-te||V.index-ee.index}).map(({part:V})=>V),G=0;return T.map((V)=>V.type==="tool-result"?O[G++]:V)}var $m=new TextEncoder;function jn(T){if(T===null||T===void 0)return JSON.stringify(T);if(typeof T!=="object")return JSON.stringify(T);if(Array.isArray(T))return`[${T.map((C)=>C===void 0?"null":jn(C)).join(",")}]`;return`{${Object.keys(T).sort().map((C)=>`${JSON.stringify(C)}:${jn(T[C])}`).join(",")}}`}function Xl(T){return X(T).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/g,"")}async function Zl(T){let C=await crypto.subtle.digest("SHA-256",$m.encode(jn(T)));return Xl(new Uint8Array(C))}var Qn=new TextEncoder;function Um(T){return q(T)}async function ec(T){let C=typeof T==="string"?Qn.encode(T):T;return crypto.subtle.importKey("raw",C,{name:"HMAC",hash:"SHA-256"},!1,["sign","verify"])}function tc(T,C,O,G){return Qn.encode(JSON.stringify(["ai-sdk-tool-approval-v1",T,C,O,G]))}function Lm(T,C,O,G){return Qn.encode(`${T}
|
|
31
|
-
${C}
|
|
32
|
-
${O}
|
|
33
|
-
${G}`)}async function Fm({secret:T,approvalId:C,toolCallId:O,toolName:G,input:V}){let ee=await ec(T),H=tc(C,O,G,await Zl(V)),te=await crypto.subtle.sign("HMAC",ee,H);return Xl(new Uint8Array(te))}async function Gm({secret:T,signature:C,approvalId:O,toolCallId:G,toolName:V,input:ee}){let H=await ec(T),te=await Zl(ee),re=Um(C),ne=tc(O,G,V,te);if(await crypto.subtle.verify("HMAC",H,re,ne))return!0;if(!O.includes(`
|
|
34
|
-
`)&&!G.includes(`
|
|
35
|
-
`)&&!V.includes(`
|
|
36
|
-
`)){let z=Lm(O,G,V,te);return crypto.subtle.verify("HMAC",H,re,z)}return!1}async function rc({secret:T,approvalId:C,toolCallId:O,toolName:G,input:V}){if(T==null)return;return Fm({secret:T,approvalId:C,toolCallId:O,toolName:G,input:V})}async function ac({approvedToolApprovals:T,tools:C,toolApproval:O,messages:G,toolsContext:V,runtimeContext:ee,toolApprovalSecret:H,refineToolInput:te}){let re=[],ne=[],z=[];for(let oe of T){let{approvalRequest:se,toolCall:de}=oe,me=et(C,de.toolName);if(H!=null){if(se.signature==null)throw new fi({approvalId:se.approvalId,toolCallId:de.toolCallId,reason:"missing signature"});if(!await Gm({secret:H,signature:se.signature,approvalId:se.approvalId,toolCallId:de.toolCallId,toolName:de.toolName,input:de.input}))throw new fi({approvalId:se.approvalId,toolCallId:de.toolCallId,reason:"invalid signature"})}if($t(me)&&me.inputSchema!=null){let Be=Object.prototype.hasOwnProperty.call(se,"inputSchemaInput"),be=await N({value:Be?se.inputSchemaInput:de.input,schema:De(me.inputSchema)}),$e;if(!be.success)$e=be.error;else try{let Ee=await qo({toolCall:{...de,input:be.value},refineToolInput:te});if(!uo(structuredClone(Ee.input),structuredClone(de.input)))$e=Error("Approved tool input does not match the validated schema output.")}catch(Ee){$e=Ee}if($e!=null){z.push({...oe,error:new Vo({toolName:de.toolName,toolInput:JSON.stringify(de.input),cause:$e})});continue}}let Fe=await Jn({tools:C,toolApproval:O,toolCall:de,messages:G,toolsContext:V,runtimeContext:ee});if(Fe.type==="denied")ne.push({...oe,approvalResponse:{...oe.approvalResponse,approved:!1,reason:Fe.reason??oe.approvalResponse.reason}});else re.push(oe)}return{approvedToolApprovals:re,deniedToolApprovals:ne,invalidToolApprovals:z}}function oc(T){if(T==null)return;if(!Number.isInteger(T))throw new wr({parameter:"toolCallConcurrency",value:T,message:"toolCallConcurrency must be an integer"});if(T<1)throw new wr({parameter:"toolCallConcurrency",value:T,message:"toolCallConcurrency must be >= 1"});return T}async function Xn({items:T,concurrency:C,abortSignal:O,execute:G}){if(C==null||C>=T.length)return Promise.all(T.map(G));let V=Array(T.length),ee=0,H=!1,te=async()=>{while(!H){O?.throwIfAborted();let re=ee++;if(re>=T.length)return;try{V[re]=await G(T[re],re)}catch(ne){throw H=!0,ne}}};return await Promise.all(Array.from({length:Math.min(C,T.length)},te)),V}var Vm=Z({prefix:"aitxt",size:24}),Bm=Z({prefix:"call",size:24});async function vn(T){let C=Kl(T.experimental_steering);try{return await Wm(T,C)}catch(O){throw C?.end(T.abortSignal?.aborted?"aborted":"error"),O}}async function Wm({model:T,tools:C,toolChoice:O,instructions:G,system:V,prompt:ee,messages:H,allowSystemInMessages:te,maxRetries:re,abortSignal:ne,timeout:z,headers:oe,stopWhen:se=Jl(1),experimental_sandbox:de,output:me,toolApproval:Fe,experimental_toolCallers:Be,experimental_toolApprovalSecret:be,experimental_telemetry:$e,telemetry:Ee=$e,providerOptions:we,activeTools:le,toolOrder:ve,toolCallConcurrency:Te,prepareStep:ce,experimental_repairToolCall:xe,repairToolCall:Ke=xe,experimental_refineToolInput:tt,experimental_download:he,runtimeContext:Je={},toolsContext:Pe={},experimental_include:at,include:xt=at,_internal:{generateId:Nt=Vm,generateCallId:er=Bm,now:or=lo}={},onStart:br,experimental_onStart:Sr,onStepStart:Wr,experimental_onStepStart:Ir,onLanguageModelCallStart:ca,experimental_onLanguageModelCallStart:da,onLanguageModelCallEnd:ua,experimental_onLanguageModelCallEnd:pa,onToolExecutionStart:Oa,onToolExecutionEnd:ja,experimental_onToolCallStart:Na,experimental_onToolCallFinish:Da,onStepEnd:qa,onStepError:$a,onStepFinish:Ua,onFinish:ma,onEnd:fa=ma,...tr},St){xt={requestBody:xt?.requestBody??!1,requestMessages:xt?.requestMessages??!1,responseBody:xt?.responseBody??!1};let Ar=oc(Te),zt=io(T),Hr=jl({tools:C,toolCallers:Be}),La=ql({tools:C,toolCallers:Hr}),nt=qe(se),kr=br??Sr,Kt=Wr??Ir,ha=ca??da,ga=ua??pa,Pr=Oa??Na,Tr=ja??Da,xr=qa??Ua,nr=[];if(Rl(z)!=null)nr.push({type:"unsupported",feature:"timeout.firstChunkMs",details:"The firstChunkMs timeout is only supported by streaming functions."});if(_l(z)!=null)nr.push({type:"unsupported",feature:"timeout.chunkMs",details:"The chunkMs timeout is only supported by streaming functions."});if(nr.length>0)sa({warnings:nr,provider:zt.provider,model:zt.modelId});let Qe=Ml(z),lr=Cl(z),Or=lr!=null?new AbortController:void 0,Rt=Wn(ne,Qe,Or?.signal),{maxRetries:ya,retry:va}=No({maxRetries:re,abortSignal:Rt}),Dt=Uo(tr),zr=L(oe??{},`ai/${Ln}`),Er=await Bn({instructions:G,system:V,prompt:ee,messages:H,allowSystemInMessages:te}),Jt=er(),ht=zl({telemetry:Ee,includeRuntimeContext:Ee?.includeRuntimeContext,includeToolsContext:Ee?.includeToolsContext}),rr=ht.runInTracingChannelSpan??(async({execute:fr})=>await fr()),cr={callId:Jt,operationId:"ai.generateText",provider:zt.provider,modelId:zt.modelId,instructions:Er.instructions,messages:Er.messages,tools:C,toolChoice:O,activeTools:le,toolOrder:ve,maxOutputTokens:Dt.maxOutputTokens,temperature:Dt.temperature,topP:Dt.topP,topK:Dt.topK,presencePenalty:Dt.presencePenalty,frequencyPenalty:Dt.frequencyPenalty,stopSequences:Dt.stopSequences,seed:Dt.seed,reasoning:Dt.reasoning,maxRetries:ya,timeout:z,headers:zr,providerOptions:we,output:me,runtimeContext:Je,toolsContext:Pe};return await rr({type:"generateText",event:cr,execute:async()=>{await lt({event:cr,callbacks:[kr,ht.onStart]});let fr;try{let qt=Er.messages,sr=[],{approvedToolApprovals:Wo,deniedToolApprovals:wa}=Pl({messages:qt}),{approvedToolApprovals:ba,deniedToolApprovals:Fa,invalidToolApprovals:Jr}=await ac({approvedToolApprovals:Wo.filter((He)=>!He.toolCall.providerExecuted),tools:C,toolApproval:Fe,messages:qt,toolsContext:Pe,runtimeContext:Je,toolApprovalSecret:be,refineToolInput:tt}),jr=[...wa,...Fa].filter((He)=>He.existingToolResult==null);if(jr.length>0||ba.length>0||Jr.length>0){let He=await ki({toolCalls:ba.map((ze)=>ze.toolCall),tools:C,callId:Jt,messages:qt,abortSignal:Rt,timeout:z,experimental_sandbox:de,toolsContext:Pe,onToolExecutionStart:(ze)=>lt({event:ze,callbacks:[Pr,ht.onToolExecutionStart]}),onToolExecutionEnd:(ze)=>lt({event:ze,callbacks:[Tr,ht.onToolExecutionEnd]}),executeToolInTelemetryContext:ht.executeTool,runInTracingChannelSpan:rr,toolCallConcurrency:Ar}),Ye=[];for(let ze of He){let Bt=ze.output,ir=await ia({toolCallId:Bt.toolCallId,input:Bt.input,tool:et(C,Bt.toolName),output:Bt.type==="tool-result"?Bt.output:Bt.error,errorMode:Bt.type==="tool-error"?"text":"none"});Ye.push({type:"tool-result",toolCallId:Bt.toolCallId,toolName:Bt.toolName,output:ir})}for(let ze of Jr)Ye.push({type:"tool-result",toolCallId:ze.toolCall.toolCallId,toolName:ze.toolCall.toolName,output:await ia({toolCallId:ze.toolCall.toolCallId,input:ze.toolCall.input,tool:et(C,ze.toolCall.toolName),output:ze.error,errorMode:"text"})});for(let ze of jr)Ye.push({type:"tool-result",toolCallId:ze.toolCall.toolCallId,toolName:ze.toolCall.toolName,output:{type:"execution-denied",reason:ze.approvalResponse.reason,...ze.toolCall.providerExecuted&&{providerOptions:{openai:{approvalId:ze.approvalResponse.approvalId}}}}});sr.push({role:"tool",content:Ye})}let fo=Uo(tr),rt,Yr=[],Ft=[],gt=[],Vt=[],Ue=[],Ze=Er.instructions,Me=[...qt,...sr],It=new Map,Ge="finished",Yt=async()=>{if(Ue[Ue.length-1].finishReason==="interrupted")return!1;if(Ft.length+Vt.length!==Yr.length)return Ge="waiting-for-tool-results",!1;if(Yr.length===0&&It.size===0){if(!St?.hasPendingMessages())return!1;if(Ue[Ue.length-1].finishReason==="error")return Ge="error",!1}if(await Yl({stopConditions:nt,steps:Ue}))return Ge="stop-condition",!1;return!0};do{if(Ue.length>0)Rt?.throwIfAborted();let He=Do({abortController:Or,label:"Step",timeoutMs:lr}),Ye=Ue.length,ze=St?.takeMessages()??[];if(ze.length>0)Me=[...Me,...ze];try{await rr({type:"step",event:{callId:Jt,stepNumber:Ye},execute:async()=>{let Bt=[...sr,...Ue.flatMap((Oe)=>Oe.response.messages)],ir=Me,kt=await ce?.({model:zt,steps:Ue,stepNumber:Ue.length,instructions:Ze,initialInstructions:Er.instructions,messages:ir,initialMessages:qt,responseMessages:Bt,...ze.length>0?{experimental_steeringMessages:ze}:{},runtimeContext:Je,toolsContext:Pe,experimental_sandbox:de}),Ia=kt?.experimental_sandbox??de,Ut=io(kt?.model??zt),Zr=kt?.instructions??kt?.system??Ze;Je=kt?.runtimeContext??Je,Pe=kt?.toolsContext??Pe;let Ga=$l({tools:C,activeTools:kt?.activeTools??le}),{executionTools:ho,modelTools:Mt,toolCallerMessages:Ta}=Nl({tools:La(Ga,{toolsContext:Pe,experimental_sandbox:Ia}),toolCallers:Hr}),ea=kt?.toolOrder??ve,Va=await Vn({tools:Mt,toolOrder:ea,toolsContext:Pe,experimental_sandbox:Ia}),Cr=Gn({toolChoice:kt?.toolChoice??O}),qr=Cr.type==="none"?void 0:ho,ar=Dl({messages:kt?.messages??ir,toolCallerMessages:Ta}),Ba=St?.resolveTakenMessages({stepNumber:Ye,sentMessages:ar})??[],go=await Il({prompt:{instructions:Zr,messages:ar},supportedUrls:await Ut.supportedUrls,download:he,abortSignal:Rt,provider:Ut.provider.split(".")[0]}),Wa=Pa(we,kt?.providerOptions),xa=Bl({callSettings:fo,stepSettings:kt}),gr={callId:Jt,provider:Ut.provider,modelId:Ut.modelId,stepNumber:Ye,instructions:Zr,messages:ar,tools:C,toolChoice:kt?.toolChoice??O,activeTools:kt?.activeTools??le,toolOrder:ea,steps:[...Ue],providerOptions:Wa,output:me,runtimeContext:Je,promptMessages:go,stepTools:Va,stepToolChoice:Cr,toolsContext:Pe};await lt({event:gr,callbacks:[Kt,ht.onStepStart]}),fr=gr;let Ha={provider:Ut.provider,modelId:Ut.modelId,instructions:Zr,messages:ar,tools:Va,...xa},za={callId:Jt,...Ha},yo=or();await lt({event:za,callbacks:[ha,ht.onLanguageModelCallStart]});let Ho=ht.executeLanguageModelCall??(async({execute:Oe})=>await Oe());rt=await va(async()=>{let Oe=await Ho({...za,execute:async()=>await Ut.doGenerate({...xa,tools:Va,toolChoice:Cr,responseFormat:await me?.responseFormat,prompt:go,providerOptions:Wa,abortSignal:Rt,headers:zr})}),it={id:Oe.response?.id??Nt(),timestamp:Oe.response?.timestamp??new Date,modelId:Oe.response?.modelId??Ut.modelId,headers:Oe.response?.headers,body:Oe.response?.body};return{...Oe,response:it}});let $r=or()-yo,ur=Al(rt.usage),pr=await Promise.all(rt.content.filter((Oe)=>Oe.type==="tool-call").map((Oe)=>Gl({toolCall:Oe,tools:Mt,repairToolCall:Cr.type==="none"?void 0:Ke,refineToolInput:Cr.type==="none"?void 0:tt,instructions:Zr,messages:ar,abortSignal:Rt}))),Ur={},ta={},Ea=new Set,ra=new WeakMap,vo=await Mi({content:rt.content,toolCalls:pr,toolOutputs:[],toolApprovalRequests:[],toolApprovalResponses:[],tools:C,abortSignal:Rt,generatedFileDataCache:ra});await lt({event:{callId:Jt,provider:Ut.provider,modelId:rt.response.modelId,finishReason:rt.finishReason.unified,usage:ur,content:vo,responseId:rt.response.id,...rt.providerMetadata!=null?{providerMetadata:rt.providerMetadata}:{},performance:{responseTimeMs:$r,effectiveOutputTokensPerSecond:Br({tokens:ur.outputTokens,durationMs:$r}),outputTokensPerSecond:void 0,inputTokensPerSecond:void 0,effectiveTotalTokensPerSecond:Br({tokens:On(ur.inputTokens,ur.outputTokens),durationMs:$r}),timeToFirstOutputMs:void 0}},callbacks:[ga,ht.onLanguageModelCallEnd]});let Lr=Cr.type==="auto"?void 0:Cr;if(Lr!=null&&(Lr.type==="none"?pr.length>0:rt.finishReason.unified!=="interrupted"&&!pr.some((Oe)=>Lr.type==="required"||Oe.toolName===Lr.toolName)))throw new Un({toolChoice:Lr,finishReason:rt.finishReason.unified,provider:Ut.provider,modelId:Ut.modelId,content:rt.content});for(let Oe of pr){if(Oe.invalid)continue;let it=et(qr,Oe.toolName);if(it==null)continue;if(it.onInputStart!=null||it.onInputAvailable!=null){let yr=await co({toolName:Oe.toolName,context:et(Pe,Oe.toolName),contextSchema:it.contextSchema});if(it.onInputStart!=null)await it.onInputStart({toolCallId:Oe.toolCallId,messages:ar,abortSignal:Rt,context:yr});if(it.onInputAvailable!=null)await it.onInputAvailable({input:Oe.input,toolCallId:Oe.toolCallId,messages:ar,abortSignal:Rt,context:yr})}let Ht=await Jn({tools:qr,toolApproval:Fe,toolCall:Oe,messages:ar,toolsContext:Pe,runtimeContext:Je});if(Ht.type==="not-applicable")continue;let Rr=Nt(),mr=await rc({secret:be,approvalId:Rr,toolCallId:Oe.toolCallId,toolName:Oe.toolName,input:Oe.input});switch(Ht.type){case"user-approval":Ur[Oe.toolCallId]={type:"tool-approval-request",approvalId:Rr,toolCall:Oe,...Ht.reason!=null?{reason:Ht.reason}:{},...mr!=null?{signature:mr}:{}},Ea.add(Oe.toolCallId);break;case"approved":Ur[Oe.toolCallId]={type:"tool-approval-request",approvalId:Rr,toolCall:Oe,isAutomatic:!0,...mr!=null?{signature:mr}:{}},ta[Oe.toolCallId]={type:"tool-approval-response",approvalId:Rr,toolCall:Oe,approved:!0,reason:Ht.reason,providerExecuted:Oe.providerExecuted};break;case"denied":Ur[Oe.toolCallId]={type:"tool-approval-request",approvalId:Rr,toolCall:Oe,isAutomatic:!0,...mr!=null?{signature:mr}:{}},ta[Oe.toolCallId]={type:"tool-approval-response",approvalId:Rr,toolCall:Oe,approved:!1,reason:Ht.reason,providerExecuted:Oe.providerExecuted},Ea.add(Oe.toolCallId)}}let aa=pr.filter((Oe)=>Oe.invalid&&Oe.dynamic&&!Oe.providerExecuted);Ft=[];for(let Oe of aa)Ft.push({type:"tool-error",toolCallId:Oe.toolCallId,toolName:Oe.toolName,input:Oe.input,error:R(Oe.error),dynamic:!0});Yr=pr.filter((Oe)=>!Oe.providerExecuted),gt=Object.values(ta),Vt=gt.filter((Oe)=>Oe.approved===!1);let oa={};if(qr!=null&&Ll(rt.finishReason.unified)){let Oe=await ki({toolCalls:Yr.filter((it)=>!it.invalid&&!Ea.has(it.toolCallId)),tools:qr,callId:Jt,messages:ar,abortSignal:Rt,timeout:z,experimental_sandbox:Ia,toolsContext:Pe,onToolExecutionStart:(it)=>lt({event:it,callbacks:[Pr,ht.onToolExecutionStart]}),onToolExecutionEnd:(it)=>lt({event:it,callbacks:[Tr,ht.onToolExecutionEnd]}),executeToolInTelemetryContext:ht.executeTool,runInTracingChannelSpan:rr,toolCallConcurrency:Ar});for(let it of Oe)oa[it.output.toolCallId]=it.toolExecutionMs,Ft.push(it.output)}let Ma=or()-yo,Ka={effectiveOutputTokensPerSecond:Br({tokens:ur.outputTokens,durationMs:$r}),outputTokensPerSecond:void 0,inputTokensPerSecond:void 0,effectiveTotalTokensPerSecond:Br({tokens:On(ur.inputTokens,ur.outputTokens),durationMs:$r}),stepTimeMs:Ma,responseTimeMs:$r,toolExecutionMs:oa,timeToFirstOutputMs:void 0};for(let Oe of pr){if(!Oe.providerExecuted)continue;let it=et(qr,Oe.toolName);if(it?.type==="provider"&&it.supportsDeferredResults){if(!rt.content.some((Ht)=>Ht.type==="tool-result"&&Ht.toolCallId===Oe.toolCallId))It.set(Oe.toolCallId,{toolName:Oe.toolName})}}for(let Oe of rt.content)if(Oe.type==="tool-result")It.delete(Oe.toolCallId);let wo=await Mi({content:rt.content,toolCalls:pr,toolOutputs:Ft,toolApprovalRequests:Object.values(Ur),toolApprovalResponses:gt,tools:C,abortSignal:Rt,generatedFileDataCache:ra}),bo=await Ql({content:wo,tools:C}),zo={...rt.request,body:xt.requestBody?rt.request?.body:void 0,messages:xt.requestMessages?no(ar):void 0},Ko={...rt.response,messages:no(bo),body:xt.responseBody?rt.response?.body:void 0},Ja=new Yn({callId:Jt,stepNumber:Ye,provider:Ut.provider,modelId:Ut.modelId,runtimeContext:Je,content:wo,finishReason:rt.finishReason.unified,rawFinishReason:rt.finishReason.raw,usage:ur,performance:Ka,warnings:rt.warnings,providerMetadata:rt.providerMetadata,request:zo,response:Ko,toolsContext:Pe,steeringMessages:Ba});return sa({warnings:rt.warnings??[],provider:Ut.provider,model:Ut.modelId}),Ue.push(Ja),Ze=Zr,Me=[...ar,...bo],fr=void 0,await lt({event:Ja,callbacks:[xr,ht.onStepEnd]}),Ja}})}finally{if(He!=null)clearTimeout(He)}}while(await Yt());St?.end(Ge);let dt=Ue[Ue.length-1],Nr=Ue.reduce((He,Ye)=>kl(He,Ye.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}),Qr=Ue.flatMap((He)=>He.files),Sa=Ue.flatMap((He)=>He.sources),Qt=Ue.flatMap((He)=>He.toolCalls),Xr=Ue.flatMap((He)=>He.staticToolCalls),hr=Ue.flatMap((He)=>He.dynamicToolCalls),dr=Ue.flatMap((He)=>He.toolResults),Mr=Ue.flatMap((He)=>He.staticToolResults),Dr=Ue.flatMap((He)=>He.dynamicToolResults),_t=Ue.flatMap((He)=>He.warnings??[]);await lt({event:{callId:Jt,stepNumber:dt.stepNumber,model:dt.model,runtimeContext:dt.runtimeContext,finishReason:dt.finishReason,rawFinishReason:dt.rawFinishReason,usage:Nr,totalUsage:Nr,content:Ue.flatMap((He)=>He.content),text:dt.text,reasoning:dt.reasoning,reasoningText:dt.reasoningText,files:Qr,sources:Sa,toolCalls:Qt,staticToolCalls:Xr,dynamicToolCalls:hr,toolResults:dr,staticToolResults:Mr,dynamicToolResults:Dr,responseMessages:[...sr,...Ue.flatMap((He)=>He.response.messages)],warnings:_t,request:dt.request,response:dt.response,providerMetadata:dt.providerMetadata,steps:Ue,finalStep:dt,toolsContext:Pe},callbacks:[fa,ht.onEnd]});let Xe;if(dt.finishReason==="stop"||dt.finishReason!=="tool-calls"&&dt.text.length>0){let He=me??An(),Ye=(await He.responseFormat)?.type==="json"?rt.structuredOutputText??dt.text:dt.text;Xe=await He.parseCompleteOutput({text:Ye},{response:dt.response,usage:dt.usage,finishReason:dt.finishReason})}return new Cm({initialResponseMessages:sr,steps:Ue,totalUsage:Nr,output:Xe})}catch(qt){let sr=ao(qt);if(St?.end(Rt?.aborted?"aborted":"error"),fr!=null)await lt({event:{...fr,error:sr},callbacks:[$a,ht.onStepError]});throw await ht.onError?.({callId:Jt,error:qt}),sr}}})}async function ki({toolCalls:T,tools:C,callId:O,messages:G,abortSignal:V,timeout:ee,experimental_sandbox:H,toolsContext:te,onToolExecutionStart:re,onToolExecutionEnd:ne,executeToolInTelemetryContext:z,runInTracingChannelSpan:oe,toolCallConcurrency:se}){return(await Xn({items:T,concurrency:se,abortSignal:V,execute:async(de)=>await zn({toolCall:de,tools:C,callId:O,messages:G,abortSignal:V,timeout:ee,experimental_sandbox:H,toolsContext:te,onToolExecutionStart:re,onToolExecutionEnd:ne,executeToolInTelemetryContext:z,runInTracingChannelSpan:oe})})).filter((de)=>de!=null)}function Bo(T,C){let O=new Headers(T??{});for(let[G,V]of Object.entries(C))if(!O.has(G))O.set(G,V);return O}function Hm({status:T,statusText:C,headers:O,stream:G}){return new Response(G.pipeThrough(new TextEncoderStream),{status:T??200,statusText:C,headers:Bo(O,{"content-type":"text/plain; charset=utf-8"})})}function nc({response:T,status:C,statusText:O,headers:G,stream:V}){let ee=C??200;if(G!=null)T.setHeaders(G);if(O!==void 0)T.writeHead(ee,O);else T.writeHead(ee);let H=V.getReader(),te=!1,re,ne=()=>{if(T.writableFinished)return;te=!0,re?.(),H.cancel(Error("Client disconnected.")).catch(()=>{})};if(T.once("close",ne),T.destroyed)ne();return(async()=>{try{while(!0){let{done:oe,value:se}=await H.read();if(oe||te||T.destroyed)break;let de=T.write(se),me=T.flush;if(typeof me==="function")me.call(T);if(!de)await new Promise((Fe)=>{re=Fe,T.once("drain",Fe)}),re=void 0}}finally{if(T.off("close",ne),te||T.destroyed)H.cancel().catch(()=>{});else T.end()}})()}function zm({response:T,status:C,statusText:O,headers:G,stream:V}){return nc({response:T,status:C,statusText:O,headers:Bo(G,{"content-type":"text/plain; charset=utf-8"}),stream:V.pipeThrough(new TextEncoderStream)})}function Km({stream:T}){return T.pipeThrough(new TransformStream({transform(C,O){if(C.type==="text-delta")O.enqueue(C.text)}}))}var Jm=`: stream-open
|
|
37
|
-
|
|
38
|
-
`,Ym=`: keep-alive
|
|
39
|
-
|
|
40
|
-
`;function sc({stream:T,keepAliveMs:C}){if(C==null)return T;if(!Number.isFinite(C)||C<=0||C>2147483647)throw Error("keepAliveMs must be a positive finite timer duration no greater than 2147483647");let O=T.getReader(),G,V=!1,ee=()=>{clearTimeout(G),G=void 0},H=(te)=>{ee(),G=setTimeout(()=>{if(V)return;if(te.desiredSize!=null&&te.desiredSize>0)te.enqueue(Ym);H(te)},C)};return new ReadableStream({start(te){te.enqueue(Jm),H(te)},pull(te){return O.read().then((re)=>{if(ee(),V)return;if(re.done)te.close();else te.enqueue(re.value),H(te)},(re)=>{if(ee(),!V)throw re})},async cancel(te){V=!0,ee(),await O.cancel(te)}})}var ic=class extends TransformStream{constructor(){super({transform(T,C){C.enqueue(`data: ${JSON.stringify(T)}
|
|
41
|
-
|
|
42
|
-
`)},flush(T){T.enqueue(`data: [DONE]
|
|
43
|
-
|
|
44
|
-
`)}})}},lc={"content-type":"text/event-stream","cache-control":"no-cache",connection:"keep-alive","x-vercel-ai-ui-message-stream":"v1","x-accel-buffering":"no"};function Qm({status:T,statusText:C,headers:O,stream:G,keepAliveMs:V,consumeSseStream:ee}){let H=sc({stream:G.pipeThrough(new ic),keepAliveMs:V});if(ee){let[te,re]=H.tee();H=te,ee({stream:re})}return new Response(H.pipeThrough(new TextEncoderStream),{status:T,statusText:C,headers:Bo(O,lc)})}function Xm({response:T,status:C,statusText:O,headers:G,stream:V,keepAliveMs:ee,consumeSseStream:H}){let te=sc({stream:V.pipeThrough(new ic),keepAliveMs:ee});if(H){let[re,ne]=te.tee();te=re,H({stream:ne})}return nc({response:T,status:C,statusText:O,headers:Bo(G,lc),stream:te.pipeThrough(new TextEncoderStream)})}function Zm({originalMessages:T,responseMessageId:C}){if(T==null)return;let O=T[T.length-1];return O?.role==="assistant"?O.id:typeof C==="function"?C():C}var j={array:o,boolean:c,custom:Gt,discriminatedUnion:f,enum:a,instanceof:Wt,lazy:je,literal:n,looseObject:B,never:Re,null:Ve,number:r,object:t,record:y,string:e,union:l,unknown:w},la=j.lazy(()=>j.union([j.null(),j.string(),j.number(),j.boolean(),j.record(j.string(),la.optional()),j.array(la)])),ke=j.record(j.string(),j.record(j.string(),la.optional())),cc=j.object({source:j.discriminatedUnion("sourceType",[j.object({type:j.literal("source"),sourceType:j.literal("url"),id:j.string(),url:j.string(),title:j.string().optional(),providerMetadata:ke.optional()}),j.object({type:j.literal("source"),sourceType:j.literal("document"),id:j.string(),mediaType:j.string(),title:j.string(),filename:j.string().optional(),providerMetadata:ke.optional()})]),startIndex:j.number().int().nonnegative().optional(),endIndex:j.number().int().nonnegative().optional(),citedText:j.string().optional()}),ro=j.record(j.string(),la.optional()),Wh=i(()=>s(j.union([j.looseObject({type:j.literal("text-start"),id:j.string(),providerMetadata:ke.optional()}),j.looseObject({type:j.literal("text-delta"),id:j.string(),delta:j.string(),providerMetadata:ke.optional()}),j.looseObject({type:j.literal("text-end"),id:j.string(),citations:j.array(cc).optional(),providerMetadata:ke.optional()}),j.looseObject({type:j.literal("error"),errorText:j.string()}),j.looseObject({type:j.literal("tool-input-start"),toolCallId:j.string(),toolName:j.string(),inputEncoding:j.enum(["json","text"]).optional(),providerExecuted:j.boolean().optional(),providerMetadata:ke.optional(),toolMetadata:ro.optional(),dynamic:j.boolean().optional(),title:j.string().optional()}),j.looseObject({type:j.literal("tool-input-delta"),toolCallId:j.string(),inputTextDelta:j.string()}),j.looseObject({type:j.literal("tool-input-available"),toolCallId:j.string(),toolName:j.string(),input:j.unknown(),providerExecuted:j.boolean().optional(),providerMetadata:ke.optional(),toolMetadata:ro.optional(),dynamic:j.boolean().optional(),title:j.string().optional()}),j.looseObject({type:j.literal("tool-input-error"),toolCallId:j.string(),toolName:j.string(),input:j.unknown(),providerExecuted:j.boolean().optional(),providerMetadata:ke.optional(),toolMetadata:ro.optional(),dynamic:j.boolean().optional(),errorText:j.string(),title:j.string().optional()}),j.looseObject({type:j.literal("tool-approval-request"),approvalId:j.string(),toolCallId:j.string(),approvalDescriptor:j.unknown().optional(),inputSchemaInput:j.unknown().optional(),reason:j.string().optional(),isAutomatic:j.boolean().optional(),signature:j.string().optional()}),j.looseObject({type:j.literal("tool-approval-response"),approvalId:j.string(),approved:j.boolean(),reason:j.string().optional(),providerExecuted:j.boolean().optional(),providerMetadata:ke.optional()}),j.looseObject({type:j.literal("tool-output-available"),toolCallId:j.string(),output:j.unknown(),providerExecuted:j.boolean().optional(),providerMetadata:ke.optional(),toolMetadata:ro.optional(),dynamic:j.boolean().optional(),preliminary:j.boolean().optional()}),j.looseObject({type:j.literal("tool-output-error"),toolCallId:j.string(),errorText:j.string(),providerExecuted:j.boolean().optional(),providerMetadata:ke.optional(),toolMetadata:ro.optional(),dynamic:j.boolean().optional()}),j.looseObject({type:j.literal("tool-output-denied"),toolCallId:j.string()}),j.looseObject({type:j.literal("reasoning-start"),id:j.string(),providerMetadata:ke.optional()}),j.looseObject({type:j.literal("reasoning-delta"),id:j.string(),delta:j.string(),providerMetadata:ke.optional()}),j.looseObject({type:j.literal("reasoning-end"),id:j.string(),providerMetadata:ke.optional()}),j.looseObject({type:j.literal("custom"),kind:j.string().transform((T)=>T),providerMetadata:ke.optional()}),j.looseObject({type:j.literal("source-url"),sourceId:j.string(),url:j.string(),title:j.string().optional(),providerMetadata:ke.optional()}),j.looseObject({type:j.literal("source-document"),sourceId:j.string(),mediaType:j.string(),title:j.string(),filename:j.string().optional(),providerMetadata:ke.optional()}),j.looseObject({type:j.literal("file"),url:j.string(),mediaType:j.string(),providerMetadata:ke.optional()}),j.looseObject({type:j.literal("reasoning-file"),url:j.string(),mediaType:j.string(),providerMetadata:ke.optional()}),j.looseObject({type:j.custom((T)=>typeof T==="string"&&T.startsWith("data-"),{message:'Type must start with "data-"'}),id:j.string().optional(),data:j.unknown(),transient:j.boolean().optional()}),j.looseObject({type:j.literal("start-step")}),j.looseObject({type:j.literal("finish-step")}),j.looseObject({type:j.literal("reset-step")}),j.looseObject({type:j.literal("start"),messageId:j.string().optional(),messageMetadata:j.unknown().optional()}),j.looseObject({type:j.literal("finish"),finishReason:j.enum(["stop","length","content-filter","tool-calls","error","interrupted","other"]).optional(),messageMetadata:j.unknown().optional()}),j.looseObject({type:j.literal("abort"),reason:j.string().optional()}),j.looseObject({type:j.literal("message-metadata"),messageMetadata:j.unknown()})])));function ef(T){return T.type.startsWith("data-")}function Lt(){return Object.create(null)}function Fo(T){return T.type.startsWith("tool-")}function tf(T){return T.type==="dynamic-tool"}function oo(T){return Fo(T)||tf(T)}function Nn(T){return T.type.split("-").slice(1).join("-")}function dc({lastMessage:T,messageId:C}){let O=T?.role==="assistant"?T:{id:C,metadata:void 0,role:"assistant",parts:[]},G=Lt(),V=O.parts.findLastIndex((H)=>H.type==="step-start"),ee=0;for(let H of O.parts.slice(V+1)){if(!oo(H))continue;let te=ee;if(Fo(H))ee++;if(H.state!=="input-streaming")continue;G[H.toolCallId]={text:H.rawInput??"",inputEncoding:H.inputEncoding,index:te,toolName:H.type==="dynamic-tool"?H.toolName:Nn(H),dynamic:H.type==="dynamic-tool",title:H.title,toolMetadata:H.toolMetadata}}return{message:O,activeTextParts:Lt(),activeReasoningParts:Lt(),partialToolCalls:G}}function rf({stream:T,messageMetadataSchema:C,dataPartSchemas:O,runUpdateMessageJob:G,onError:V,onToolCall:ee,onData:H,resetStateOnMessageIdChange:te=!1,resetStateOnFirstMessageStart:re=!1}){let ne=!0;return T.pipeThrough(new TransformStream({async transform(z,oe){await G(async({state:se,write:de})=>{function me(){let le=se.message.parts,ve=le.length-1;while(ve>=0&&le[ve].type!=="step-start")ve--;return le.slice(ve+1)}function Fe(){return me().filter(oo)}function Be(le){let ve=Fe().find((Te)=>Te.toolCallId===le);if(ve==null){let Te=se.message.parts;for(let ce=Te.length-1;ce>=0;ce--){let xe=Te[ce];if(oo(xe)&&xe.toolCallId===le){ve=xe;break}}}if(ve==null)throw new na({chunkType:"tool-invocation",chunkId:le,message:`No tool invocation found for tool call ID "${le}".`});return ve}function be(le){let ve=se.message.parts.filter(oo).find((Te)=>Te.approval?.id===le);if(ve==null)throw new na({chunkType:"tool-approval-response",chunkId:le,message:`No tool invocation found for approval ID "${le}".`});return ve}function $e(le,ve){let Te=ve??me().find((Ke)=>Fo(Ke)&&Ke.toolCallId===le.toolCallId),ce=le,xe=Te;if(Te!=null){if(Te.state=le.state,xe.type=`tool-${le.toolName}`,xe.input=ce.input,xe.output=ce.output,xe.errorText=ce.errorText,xe.rawInput=ce.rawInput,ce.inputEncoding!=null)xe.inputEncoding=ce.inputEncoding;else delete xe.inputEncoding;if(xe.preliminary=ce.preliminary,le.title!==void 0)xe.title=le.title;if(le.toolMetadata!==void 0)xe.toolMetadata=le.toolMetadata;xe.providerExecuted=ce.providerExecuted??Te.providerExecuted;let Ke=ce.providerMetadata;if(Ke!=null)if(le.state==="output-available"||le.state==="output-error"){let tt=Te;tt.resultProviderMetadata=Ke}else Te.callProviderMetadata=Ke}else se.message.parts.push({type:`tool-${le.toolName}`,toolCallId:le.toolCallId,state:le.state,title:le.title,...le.toolMetadata!==void 0?{toolMetadata:le.toolMetadata}:{},input:ce.input,...ce.inputEncoding!=null?{inputEncoding:ce.inputEncoding}:{},output:ce.output,rawInput:ce.rawInput,errorText:ce.errorText,providerExecuted:ce.providerExecuted,preliminary:ce.preliminary,...ce.providerMetadata!=null&&(le.state==="output-available"||le.state==="output-error")?{resultProviderMetadata:ce.providerMetadata}:{},...ce.providerMetadata!=null&&!(le.state==="output-available"||le.state==="output-error")?{callProviderMetadata:ce.providerMetadata}:{}})}function Ee(le,ve){let Te=ve??me().find((Ke)=>Ke.type==="dynamic-tool"&&Ke.toolCallId===le.toolCallId),ce=le,xe=Te;if(Te!=null){if(Te.state=le.state,xe.toolName=le.toolName,xe.input=ce.input,xe.output=ce.output,xe.errorText=ce.errorText,xe.rawInput=ce.rawInput,ce.inputEncoding!=null)xe.inputEncoding=ce.inputEncoding;else delete xe.inputEncoding;if(xe.preliminary=ce.preliminary,le.title!==void 0)xe.title=le.title;if(le.toolMetadata!==void 0)xe.toolMetadata=le.toolMetadata;xe.providerExecuted=ce.providerExecuted??Te.providerExecuted;let Ke=ce.providerMetadata;if(Ke!=null)if(le.state==="output-available"||le.state==="output-error"){let tt=Te;tt.resultProviderMetadata=Ke}else Te.callProviderMetadata=Ke}else se.message.parts.push({type:"dynamic-tool",toolName:le.toolName,toolCallId:le.toolCallId,state:le.state,input:ce.input,...ce.inputEncoding!=null?{inputEncoding:ce.inputEncoding}:{},output:ce.output,errorText:ce.errorText,preliminary:ce.preliminary,providerExecuted:ce.providerExecuted,title:le.title,...le.toolMetadata!==void 0?{toolMetadata:le.toolMetadata}:{},...ce.providerMetadata!=null&&(le.state==="output-available"||le.state==="output-error")?{resultProviderMetadata:ce.providerMetadata}:{},...ce.providerMetadata!=null&&!(le.state==="output-available"||le.state==="output-error")?{callProviderMetadata:ce.providerMetadata}:{}})}async function we(le){if(le!=null){let ve=se.message.metadata!=null?Pa(se.message.metadata,le):le;if(C!=null)await x({value:ve,schema:C,context:{field:"message.metadata",entityId:se.message.id}});se.message.metadata=ve}}switch(z.type){case"text-start":{let le={type:"text",text:"",providerMetadata:z.providerMetadata,state:"streaming"};se.activeTextParts[z.id]=le,se.message.parts.push(le),de();break}case"text-delta":{let le=se.activeTextParts[z.id];if(le==null)throw new na({chunkType:"text-delta",chunkId:z.id,message:`Received text-delta for missing text part with ID "${z.id}". Ensure a "text-start" chunk is sent before any "text-delta" chunks.`});le.text+=z.delta,le.providerMetadata=z.providerMetadata??le.providerMetadata,de();break}case"text-end":{let le=se.activeTextParts[z.id];if(le==null)throw new na({chunkType:"text-end",chunkId:z.id,message:`Received text-end for missing text part with ID "${z.id}". Ensure a "text-start" chunk is sent before any "text-end" chunks.`});if(le.state="done",z.citations!=null)le.citations=z.citations;le.providerMetadata=z.providerMetadata??le.providerMetadata,delete se.activeTextParts[z.id],de();break}case"custom":{let le={type:"custom",kind:z.kind,providerMetadata:z.providerMetadata};se.message.parts.push(le),de();break}case"reasoning-start":{let le={type:"reasoning",id:z.id,text:"",providerMetadata:z.providerMetadata,state:"streaming"};se.activeReasoningParts[z.id]=le,se.message.parts.push(le),de();break}case"reasoning-delta":{let le=se.activeReasoningParts[z.id];if(le==null)throw new na({chunkType:"reasoning-delta",chunkId:z.id,message:`Received reasoning-delta for missing reasoning part with ID "${z.id}". Ensure a "reasoning-start" chunk is sent before any "reasoning-delta" chunks.`});le.text+=z.delta,le.providerMetadata=z.providerMetadata??le.providerMetadata,de();break}case"reasoning-end":{let le=se.activeReasoningParts[z.id];if(le==null)throw new na({chunkType:"reasoning-end",chunkId:z.id,message:`Received reasoning-end for missing reasoning part with ID "${z.id}". Ensure a "reasoning-start" chunk is sent before any "reasoning-end" chunks.`});le.providerMetadata=z.providerMetadata??le.providerMetadata,le.state="done",delete se.activeReasoningParts[z.id],de();break}case"file":case"reasoning-file":se.message.parts.push({type:z.type,mediaType:z.mediaType,url:z.url,...z.providerMetadata!=null?{providerMetadata:z.providerMetadata}:{}}),de();break;case"source-url":se.message.parts.push({type:"source-url",sourceId:z.sourceId,url:z.url,title:z.title,providerMetadata:z.providerMetadata}),de();break;case"source-document":se.message.parts.push({type:"source-document",sourceId:z.sourceId,mediaType:z.mediaType,title:z.title,filename:z.filename,providerMetadata:z.providerMetadata}),de();break;case"tool-input-start":{let le=me().filter(Fo);if(se.partialToolCalls[z.toolCallId]={text:"",inputEncoding:z.inputEncoding,toolName:z.toolName,index:le.length,dynamic:z.dynamic,title:z.title,toolMetadata:z.toolMetadata},z.dynamic)Ee({toolCallId:z.toolCallId,toolName:z.toolName,state:"input-streaming",inputEncoding:z.inputEncoding,input:void 0,providerExecuted:z.providerExecuted,title:z.title,toolMetadata:z.toolMetadata,providerMetadata:z.providerMetadata});else $e({toolCallId:z.toolCallId,toolName:z.toolName,state:"input-streaming",inputEncoding:z.inputEncoding,input:void 0,providerExecuted:z.providerExecuted,title:z.title,toolMetadata:z.toolMetadata,providerMetadata:z.providerMetadata});de();break}case"tool-input-delta":{let le=se.partialToolCalls[z.toolCallId];if(le==null)throw new na({chunkType:"tool-input-delta",chunkId:z.toolCallId,message:`Received tool-input-delta for missing tool call with ID "${z.toolCallId}". Ensure a "tool-input-start" chunk is sent before any "tool-input-delta" chunks.`});le.text+=z.inputTextDelta;let ve=le.inputEncoding==="text"?le.text:(await _m(le.text)).value;if(le.dynamic)Ee({toolCallId:z.toolCallId,toolName:le.toolName,state:"input-streaming",inputEncoding:le.inputEncoding,input:ve,rawInput:le.text,title:le.title,toolMetadata:le.toolMetadata});else $e({toolCallId:z.toolCallId,toolName:le.toolName,state:"input-streaming",inputEncoding:le.inputEncoding,input:ve,rawInput:le.text,title:le.title,toolMetadata:le.toolMetadata});de();break}case"tool-input-available":if(z.dynamic)Ee({toolCallId:z.toolCallId,toolName:z.toolName,state:"input-available",input:z.input,providerExecuted:z.providerExecuted,providerMetadata:z.providerMetadata,title:z.title,toolMetadata:z.toolMetadata});else $e({toolCallId:z.toolCallId,toolName:z.toolName,state:"input-available",input:z.input,providerExecuted:z.providerExecuted,providerMetadata:z.providerMetadata,title:z.title,toolMetadata:z.toolMetadata});if(de(),ee&&!z.providerExecuted)await ee({toolCall:z});break;case"tool-input-error":{let le=me().filter(oo).find((ve)=>ve.toolCallId===z.toolCallId);if(le!=null?le.type==="dynamic-tool":!!z.dynamic)Ee({toolCallId:z.toolCallId,toolName:z.toolName,state:"output-error",input:z.input,errorText:z.errorText,providerExecuted:z.providerExecuted,providerMetadata:z.providerMetadata,toolMetadata:z.toolMetadata});else $e({toolCallId:z.toolCallId,toolName:z.toolName,state:"output-error",input:z.input,errorText:z.errorText,providerExecuted:z.providerExecuted,providerMetadata:z.providerMetadata,toolMetadata:z.toolMetadata});de();break}case"tool-approval-request":{let le=Be(z.toolCallId);le.state="approval-requested",le.approval={id:z.approvalId,...z.approvalDescriptor!=null?{descriptor:z.approvalDescriptor}:{},...Object.prototype.hasOwnProperty.call(z,"inputSchemaInput")?{inputSchemaInput:z.inputSchemaInput}:{},...z.reason!=null?{requestReason:z.reason}:{},...z.isAutomatic===!0?{isAutomatic:!0}:{},...z.signature!=null?{signature:z.signature}:{}},de();break}case"tool-approval-response":{let le=be(z.approvalId),ve=le.approval==null?{id:z.approvalId}:le.approval;if(le.state="approval-responded",le.approval={...ve,id:z.approvalId,approved:z.approved,...z.reason!=null?{reason:z.reason}:{}},z.providerExecuted!=null)le.providerExecuted=z.providerExecuted;if(z.providerMetadata!=null)le.callProviderMetadata=z.providerMetadata;de();break}case"tool-output-denied":{let le=Be(z.toolCallId);le.state="output-denied",de();break}case"tool-output-available":{let le=Be(z.toolCallId);if(le.type==="dynamic-tool")Ee({toolCallId:z.toolCallId,toolName:le.toolName,state:"output-available",input:le.input,output:z.output,preliminary:z.preliminary,providerExecuted:z.providerExecuted,providerMetadata:z.providerMetadata,title:le.title,toolMetadata:z.toolMetadata??le.toolMetadata},le);else $e({toolCallId:z.toolCallId,toolName:Nn(le),state:"output-available",input:le.input,output:z.output,providerExecuted:z.providerExecuted,preliminary:z.preliminary,providerMetadata:z.providerMetadata,title:le.title,toolMetadata:z.toolMetadata??le.toolMetadata},le);de();break}case"tool-output-error":{let le=Be(z.toolCallId);if(le.type==="dynamic-tool")Ee({toolCallId:z.toolCallId,toolName:le.toolName,state:"output-error",input:le.input,errorText:z.errorText,providerExecuted:z.providerExecuted,providerMetadata:z.providerMetadata,title:le.title,toolMetadata:z.toolMetadata??le.toolMetadata},le);else $e({toolCallId:z.toolCallId,toolName:Nn(le),state:"output-error",input:le.input,rawInput:le.rawInput,errorText:z.errorText,providerExecuted:z.providerExecuted,providerMetadata:z.providerMetadata,title:le.title,toolMetadata:z.toolMetadata??le.toolMetadata},le);de();break}case"start-step":se.message.parts.push({type:"step-start"});break;case"finish-step":break;case"reset-step":{let le=me();if(se.activeTextParts=Lt(),se.activeReasoningParts=Lt(),se.partialToolCalls=Lt(),le.length>0)se.message.parts.splice(se.message.parts.length-le.length,le.length),de();break}case"start":{let le=re&&ne||te&&z.messageId!=null&&z.messageId!==se.message.id;if(ne=!1,le)Object.assign(se,dc({lastMessage:void 0,messageId:z.messageId??se.message.id}),{finishReason:void 0});if(z.messageId!=null)se.message.id=z.messageId;if(await we(z.messageMetadata),le||z.messageId!=null||z.messageMetadata!=null)de({updateStatus:!1});break}case"finish":if(z.finishReason!=null)se.finishReason=z.finishReason;if(await we(z.messageMetadata),z.messageMetadata!=null)de();break;case"message-metadata":if(await we(z.messageMetadata),z.messageMetadata!=null)de();break;case"error":V?.(Error(z.errorText));break;default:if(ef(z)){if(O?.[z.type]!=null){let Te=se.message.parts.findIndex((xe)=>("id"in xe)&&("data"in xe)&&xe.id===z.id&&xe.type===z.type),ce=Te>=0?Te:se.message.parts.length;await x({value:z.data,schema:O[z.type],context:{field:`message.parts[${ce}].data`,entityName:z.type,entityId:z.id}})}let le=z;if(le.transient){H?.(le);break}let ve=le.id!=null?se.message.parts.find((Te)=>le.type===Te.type&&le.id===Te.id):void 0;if(ve!=null)ve.data=le.data;else se.message.parts.push(le);H?.(le),de()}}oe.enqueue(z)})}}))}function af({messageId:T,originalMessages:C=[],onStepEnd:O,onStepFinish:G,onEnd:V,onFinish:ee,onError:H,stream:te,getOutcome:re}){let ne=C?.[C.length-1];if(ne?.role!=="assistant")ne=void 0;else T=ne.id;let z=!1,oe=!1,se,de=(ve)=>{oe=!0,se=ve},me=te.pipeThrough(new TransformStream({transform(ve,Te){try{let ce=ve;if(ve.type==="start"){let xe=ve;if(xe.messageId==null&&T!=null)ce={...xe,messageId:T}}if(ve.type==="abort")z=!0;Te.enqueue(ce)}catch(ce){throw de(ce),ce}}})),Fe=O??G,Be=V??ee;if(Be==null&&Fe==null)return me;let be=dc({lastMessage:ne?structuredClone(ne):void 0,messageId:T??""}),$e=async(ve)=>{try{await ve({state:be,write:()=>{}})}catch(Te){throw de(Te),Te}},Ee=!1,we=async({isCancelled:ve})=>{if(Ee||!Be)return;Ee=!0;let Te=be.message.id===ne?.id,ce=re?.()??{status:"unknown"},xe=oe?{status:"failed",error:se}:ce.status==="unknown"&&z?{status:"aborted"}:ce,Ke=ve&&xe.status==="unknown";await Be({isAborted:z||xe.status==="aborted",...Ke?{isCancelled:!0}:{},isContinuation:Te,outcome:xe,responseMessage:be.message,messages:[...Te?C.slice(0,-1):C,be.message],finishReason:be.finishReason})},le=async()=>{if(!Fe)return;let ve=be.message.id===ne?.id;try{await Fe({isContinuation:ve,responseMessage:structuredClone(be.message),messages:[...ve?C.slice(0,-1):C,structuredClone(be.message)]})}catch(Te){H(Te)}};return rf({stream:me,runUpdateMessageJob:$e,onError:H}).pipeThrough(new TransformStream({async transform(ve,Te){if(ve.type==="finish-step")await le();Te.enqueue(ve)},async cancel(){await we({isCancelled:!0})},async flush(){await we({isCancelled:!1})}}))}function of(T,{tools:C,sendReasoning:O=!0,sendSources:G=!1,sendStart:V=!0,sendFinish:ee=!0,onError:H=()=>"An error occurred.",messageMetadata:te,responseMessageId:re}={}){let ne=(oe)=>{let se=C?.[oe.toolName];if(se==null)return oe.dynamic;return se?.type==="dynamic"?!0:void 0},z=T.type;switch(z){case"text-start":return{type:"text-start",id:T.id,...T.providerMetadata!=null?{providerMetadata:T.providerMetadata}:{}};case"text-delta":return{type:"text-delta",id:T.id,delta:T.text,...T.providerMetadata!=null?{providerMetadata:T.providerMetadata}:{}};case"text-end":return{type:"text-end",id:T.id,...T.citations!=null?{citations:T.citations}:{},...T.providerMetadata!=null?{providerMetadata:T.providerMetadata}:{}};case"reasoning-start":case"reasoning-end":if(!O)return;return{type:z,id:T.id,...T.providerMetadata!=null?{providerMetadata:T.providerMetadata}:{}};case"reasoning-delta":if(!O)return;return{type:"reasoning-delta",id:T.id,delta:T.text,...T.providerMetadata!=null?{providerMetadata:T.providerMetadata}:{}};case"file":case"reasoning-file":if(z==="reasoning-file"&&!O)return;return{type:T.type,mediaType:T.file.mediaType,url:`data:${T.file.mediaType};base64,${T.file.base64}`,...T.providerMetadata!=null?{providerMetadata:T.providerMetadata}:{}};case"source":if(!G)return;if(T.sourceType==="url")return{type:"source-url",sourceId:T.id,url:T.url,title:T.title,...T.providerMetadata!=null?{providerMetadata:T.providerMetadata}:{}};if(T.sourceType==="document")return{type:"source-document",sourceId:T.id,mediaType:T.mediaType,title:T.title,filename:T.filename,...T.providerMetadata!=null?{providerMetadata:T.providerMetadata}:{}};return;case"custom":return{type:"custom",kind:T.kind,...T.providerMetadata!=null?{providerMetadata:T.providerMetadata}:{}};case"tool-input-start":{let oe=ne(T);return{type:"tool-input-start",toolCallId:T.id,toolName:T.toolName,...T.inputEncoding!=null?{inputEncoding:T.inputEncoding}:{},...T.providerExecuted!=null?{providerExecuted:T.providerExecuted}:{},...T.providerMetadata!=null?{providerMetadata:T.providerMetadata}:{},...T.toolMetadata!=null?{toolMetadata:T.toolMetadata}:{},...oe!=null?{dynamic:oe}:{},...T.title!=null?{title:T.title}:{}}}case"tool-input-delta":return{type:"tool-input-delta",toolCallId:T.id,inputTextDelta:T.delta};case"tool-call":{let oe=ne(T);if(T.invalid)return{type:"tool-input-error",toolCallId:T.toolCallId,toolName:T.toolName,input:T.input,...T.providerExecuted!=null?{providerExecuted:T.providerExecuted}:{},...T.providerMetadata!=null?{providerMetadata:T.providerMetadata}:{},...T.toolMetadata!=null?{toolMetadata:T.toolMetadata}:{},...oe!=null?{dynamic:oe}:{},errorText:H(T.error),...T.title!=null?{title:T.title}:{}};return{type:"tool-input-available",toolCallId:T.toolCallId,toolName:T.toolName,input:T.input,...T.providerExecuted!=null?{providerExecuted:T.providerExecuted}:{},...T.providerMetadata!=null?{providerMetadata:T.providerMetadata}:{},...T.toolMetadata!=null?{toolMetadata:T.toolMetadata}:{},...oe!=null?{dynamic:oe}:{},...T.title!=null?{title:T.title}:{}}}case"tool-approval-request":{let oe=Kn(T.toolCall);return{type:"tool-approval-request",approvalId:T.approvalId,toolCallId:T.toolCall.toolCallId,...oe!=null&&!uo(oe.value,T.toolCall.input)?{inputSchemaInput:oe.value}:{},...T.reason!=null?{reason:T.reason}:{},...T.isAutomatic!=null?{isAutomatic:T.isAutomatic}:{},...T.signature!=null?{signature:T.signature}:{}}}case"tool-approval-response":return{type:"tool-approval-response",approvalId:T.approvalId,approved:T.approved,...T.reason!=null?{reason:T.reason}:{},...T.providerExecuted!=null?{providerExecuted:T.providerExecuted}:{}};case"tool-result":{let oe=ne(T);return{type:"tool-output-available",toolCallId:T.toolCallId,output:T.output===void 0?null:T.output,...T.providerExecuted!=null?{providerExecuted:T.providerExecuted}:{},...T.providerMetadata!=null?{providerMetadata:T.providerMetadata}:{},...T.toolMetadata!=null?{toolMetadata:T.toolMetadata}:{},...T.preliminary!=null?{preliminary:T.preliminary}:{},...oe!=null?{dynamic:oe}:{}}}case"tool-error":{let oe=ne(T);return{type:"tool-output-error",toolCallId:T.toolCallId,errorText:T.providerExecuted?typeof T.error==="string"?T.error:JSON.stringify(T.error):H(T.error),...T.providerExecuted!=null?{providerExecuted:T.providerExecuted}:{},...T.providerMetadata!=null?{providerMetadata:T.providerMetadata}:{},...T.toolMetadata!=null?{toolMetadata:T.toolMetadata}:{},...oe!=null?{dynamic:oe}:{}}}case"tool-output-denied":return{type:"tool-output-denied",toolCallId:T.toolCallId};case"error":return{type:"error",errorText:H(T.error)};case"start-step":return{type:"start-step"};case"finish-step":return{type:"finish-step"};case"start":if(!V)return;return{type:"start",...te!=null?{messageMetadata:te}:{},...re!=null?{messageId:re}:{}};case"finish":if(!ee)return;return{type:"finish",finishReason:T.finishReason,...te!=null?{messageMetadata:te}:{}};case"abort":return T;case"tool-input-end":case"raw":return;default:throw Error(`Unknown chunk type: ${z}`)}}function nf({stream:T,tools:C,sendReasoning:O=!0,sendSources:G=!1,sendStart:V=!0,sendFinish:ee=!0,onError:H=()=>"An error occurred.",messageMetadata:te,originalMessages:re,generateMessageId:ne,onStepEnd:z,onStepFinish:oe,onEnd:se,onFinish:de}){let me={status:"unknown"},Fe=!1,Be=(Te)=>{if(!Fe&&me.status!=="completed"&&me.status!=="aborted"&&Te.status!=="unknown"&&(me.status==="unknown"||Te.status!=="failed"))me=Te},be=(Te)=>{Fe=!0,me={status:"failed",error:Te}},$e=ne!=null?Zm({originalMessages:re,responseMessageId:ne}):void 0,Ee=T.getReader(),we=!1,le=!1,ve=()=>{if(!we)Ee.releaseLock(),we=!0};return af({stream:new ReadableStream({async pull(Te){try{let{done:ce,value:xe}=await Ee.read();if(ce){if(ve(),!le)Te.close()}else Te.enqueue(xe)}catch(ce){if(ve(),!le)be(ce),Te.error(ce)}},async cancel(Te){if(le=!0,we)return;try{await Ee.cancel(Te)}finally{ve()}}}).pipeThrough(new TransformStream({transform:async(Te,ce)=>{try{let xe=te?.({part:Te}),Ke=of(Te,{tools:C,sendReasoning:O,sendSources:G,sendStart:V,sendFinish:ee,onError:H,messageMetadata:xe,responseMessageId:$e});if(Ke!=null&&Te.type!=="finish-step")ce.enqueue(Ke);if(xe!=null&&Te.type!=="start"&&Te.type!=="finish")ce.enqueue({type:"message-metadata",messageMetadata:xe});if(Ke!=null&&Te.type==="finish-step")ce.enqueue(Ke);if(Te.type==="finish")Be({status:"completed"});else if(Te.type==="abort")Be({status:"aborted"});else if(Te.type==="error")Be({status:"failed",error:Te.error})}catch(xe){throw be(xe),xe}}})),messageId:$e??ne?.(),originalMessages:re,onStepEnd:z??oe,onEnd:se??de,onError:H,getOutcome:()=>me})}function Dn(T){return uc(T.pipeThrough(new TransformStream))}function uc(T){return T[Symbol.asyncIterator]=function(){let C=this.getReader(),O=!1;async function G(V){if(O)return;O=!0;try{if(V)await C.cancel?.()}finally{try{C.releaseLock()}catch{}}}return{async next(){if(O)return{done:!0,value:void 0};let V;try{V=await C.read()}catch(te){throw await G(!1),te}let{done:ee,value:H}=V;if(ee)return await G(!0),{done:!0,value:void 0};return{done:!1,value:H}},async return(){return await G(!0),{done:!0,value:void 0}},async throw(V){throw await G(!0),V}}},T}async function sf({stream:T,onError:C,abortSignal:O}){let G=T.getReader(),V=()=>{G.cancel().catch(()=>{})};if(O?.aborted)V();else O?.addEventListener("abort",V,{once:!0});try{while(!0){let{done:ee}=await G.read();if(ee)break}}catch(ee){C?.(ee)}finally{O?.removeEventListener("abort",V),G.releaseLock()}}function Pi(){let T,C;return{promise:new Promise((O,G)=>{T=O,C=G}),resolve:T,reject:C}}function lf(){let T=[],C=null,O=!1,G=!1,V=Pi(),ee=()=>{if(G)return;O=!0,V.resolve(),T.forEach(({reader:te,onCancel:re})=>{re?.(),te.cancel()}),T=[],C?.close()},H=async()=>{if(G)return;if(O&&T.length===0){C?.close();return}if(T.length===0)return V=Pi(),await V.promise,await H();let te=T[0];try{let{value:re,done:ne}=await te.reader.read();if(G)return;if(ne)if(T.shift(),T.length===0&&O)C?.close();else await H();else C?.enqueue(re)}catch(re){if(G)return;te.onError?.(re),C?.error(re),T.shift(),ee()}};return{stream:new ReadableStream({start(te){C=te},pull:H,async cancel(){G=!0,O=!0,V.resolve();for(let{reader:te,onCancel:re}of T)re?.(),await te.cancel();T=[]}}),addStream:(te,re)=>{if(G){re?.onCancel?.(),te.cancel().catch(()=>{});return}if(O)throw Error("Cannot add inner stream: outer stream is closed");T.push({reader:te.getReader(),...re}),V.resolve()},close:()=>{if(G)return;if(O=!0,V.resolve(),T.length===0)C?.close()},terminate:ee}}var pc=Symbol("streamRetryAttemptBoundary");function cf({warnings:T}){return{[pc]:!0,warnings:T}}function Zn(T){return typeof T==="object"&&T!=null&&pc in T}function df({stream:T,tools:C,callId:O,messages:G,abortSignal:V,timeout:ee,experimental_sandbox:H,toolsContext:te,toolApproval:re,runtimeContext:ne,toolApprovalSecret:z,generateId:oe,onToolExecutionStart:se,onToolExecutionEnd:de,executeToolInTelemetryContext:me,runInTracingChannelSpan:Fe,toolCallConcurrency:Be}){let be=[];return T.pipeThrough(new TransformStream({async transform($e,Ee){if(Ee.enqueue($e),Zn($e)){be.length=0;return}switch($e.type){case"tool-call":{if($e.invalid)return;let we=et(C,$e.toolName);if(we==null)return;let le=await Jn({tools:C,toolCall:$e,toolApproval:re,messages:G,toolsContext:te,runtimeContext:ne});if(le.type==="not-applicable"){if(we.execute!=null&&$e.providerExecuted!==!0)be.push($e);return}let ve=oe(),Te=await rc({secret:z,approvalId:ve,toolCallId:$e.toolCallId,toolName:$e.toolName,input:$e.input});switch(le.type){case"user-approval":Ee.enqueue({type:"tool-approval-request",approvalId:ve,toolCall:$e,...le.reason!=null?{reason:le.reason}:{},...Te!=null?{signature:Te}:{}});return;case"denied":Ee.enqueue({type:"tool-approval-request",approvalId:ve,toolCall:$e,isAutomatic:!0,...Te!=null?{signature:Te}:{}}),Ee.enqueue({type:"tool-approval-response",approvalId:ve,approved:!1,toolCall:$e,reason:le.reason,providerExecuted:$e.providerExecuted}),Ee.enqueue({type:"tool-output-denied",toolCallId:$e.toolCallId,toolName:$e.toolName});return;case"approved":Ee.enqueue({type:"tool-approval-request",approvalId:ve,toolCall:$e,isAutomatic:!0,...Te!=null?{signature:Te}:{}}),Ee.enqueue({type:"tool-approval-response",approvalId:ve,approved:!0,toolCall:$e,reason:le.reason,providerExecuted:$e.providerExecuted})}if(we.execute!=null&&$e.providerExecuted!==!0)be.push($e);return}case"model-call-end":if(!Ll($e.finishReason))return;await Xn({items:be,concurrency:Be,abortSignal:V,execute:async(we)=>{try{let le=await zn({toolCall:we,tools:C,callId:O,messages:G,abortSignal:V,timeout:ee,experimental_sandbox:H,toolsContext:te,onToolExecutionStart:se,onToolExecutionEnd:de,executeToolInTelemetryContext:me,runInTracingChannelSpan:Fe,onPreliminaryToolResult:(ve)=>{Ee.enqueue(ve)}});if(le!=null)Ee.enqueue({type:"tool-execution-end",toolCallId:le.output.toolCallId,toolExecutionMs:le.toolExecutionMs}),Ee.enqueue(le.output)}catch(le){Ee.enqueue({type:"error",error:le})}}})}}}))}var uf={file:!0,custom:!1,source:!1,"text-start":!1,"text-end":!1,"text-delta":!0,"reasoning-start":!1,"reasoning-end":!1,"reasoning-delta":!0,"reasoning-file":!0,"tool-input-start":!1,"tool-input-end":!1,"tool-input-delta":!0,"tool-approval-request":!1,"tool-approval-response":!1,"tool-call":!0,"tool-result":!1,"tool-error":!1,"tool-output-denied":!1,"tool-execution-end":!1,"model-call-start":!1,"model-call-response-metadata":!1,"model-call-end":!1,error:!1,raw:!1};function Oi(T){if(!uf[T.type])return!1;switch(T.type){case"text-delta":case"reasoning-delta":return T.text.length>0;case"tool-input-delta":return T.delta.length>0;case"file":case"reasoning-file":case"tool-call":return!0;default:return!1}}function pf({stream:T,tools:C,stepInputMessages:O,abortSignal:G,toolsContext:V}){if(C==null)return T;let ee=Lt(),H=({toolCallId:te,toolName:re})=>{let ne=ee[te],z=ne?.validatedContexts[re];if(z!=null)return z;let oe=et(C,re),se=co({toolName:re,context:et(V,re),contextSchema:oe?.contextSchema});if(ne!=null)ne.validatedContexts[re]=se;return se};return T.pipeThrough(new TransformStream({async transform(te,re){if(re.enqueue(te),Zn(te)){ee=Lt();return}switch(te.type){case"tool-input-start":{ee[te.id]={toolName:te.toolName,validatedContexts:Lt()};let ne=et(C,te.toolName);if(ne?.onInputStart!=null)await ne.onInputStart({toolCallId:te.id,messages:O,abortSignal:G,context:await H({toolCallId:te.id,toolName:te.toolName})});break}case"tool-input-delta":{let ne=ee[te.id]?.toolName,z=et(C,ne);if(z?.onInputDelta!=null)await z.onInputDelta({inputTextDelta:te.delta,toolCallId:te.id,messages:O,abortSignal:G,context:await H({toolCallId:te.id,toolName:ne})});break}case"tool-call":{let ne=te.toolName,z=et(C,ne);if(!te.invalid&&z?.onInputAvailable!=null){let oe=H({toolCallId:te.toolCallId,toolName:ne});delete ee[te.toolCallId],await z.onInputAvailable({input:te.input,toolCallId:te.toolCallId,messages:O,abortSignal:G,context:await oe})}else delete ee[te.toolCallId]}}}}))}function mf(T){if(gf(T)||m.isInstance(T)||gi.isInstance(T))return T;let C=Po(T);if(C==null)return T;let O=ot(T),G=O?C:Po(Po(C.response)?.error)??Po(C.error)??C;if(typeof G.message!=="string")return T;let V=ji(G.type)??ji(C.type),ee=Ni(G.code)??Ni(C.code),H=Vr(G.statusCode)??Vr(C.statusCode)??Vr(G.status_code)??Vr(C.status_code)??Vr(G.status)??Vr(C.status)??Vr(G.code)??Vr(C.code),te=ff(G.message),re=H??te?.statusCode,ne=Oo(G.isRetryable)??Oo(C.isRetryable)??Oo(G.is_retryable)??Oo(C.is_retryable);return new gi({message:G.message,type:V,code:ee,statusCode:re,isRetryable:ne??te?.isRetryable??hf(re),data:O?T.data:T})}function ff(T){switch(T.trim().toLowerCase()){case"overloaded":case"overloaded error":case"model overloaded":return{statusCode:503,isRetryable:!0};case"internal server error":return{statusCode:500,isRetryable:!0};case"service unavailable":return{statusCode:503,isRetryable:!0};default:return}}function hf(T){return T!=null&&(T===408||T===409||T===429||T>=500)}function Po(T){return typeof T==="object"&&T!=null?T:void 0}function gf(T){return T instanceof Error||Object.prototype.toString.call(T)==="[object Error]"}function ji(T){return typeof T==="string"?T:void 0}function Ni(T){return typeof T==="string"||typeof T==="number"?T:void 0}function Oo(T){return typeof T==="boolean"?T:void 0}function Vr(T){let C=typeof T==="string"&&/^\d{3}$/.test(T)?Number(T):T;return typeof C==="number"&&Number.isInteger(C)&&C>=400&&C<=599?C:void 0}var yf=Z({prefix:"aitxt",size:24}),vf=Z({prefix:"call",size:24});async function wf({model:T,tools:C,toolOrder:O,output:G,toolChoice:V,prompt:ee,system:H,instructions:te,messages:re,allowSystemInMessages:ne,download:z,abortSignal:oe,headers:se,includeRawChunks:de,providerOptions:me,repairToolCall:Fe,refineToolInput:Be,executeLanguageModelCallInTelemetryContext:be=async({execute:Je})=>await Je(),callId:$e,toolsContext:Ee,experimental_sandbox:we,_internal:{generateId:le=yf,generateCallId:ve=vf,now:Te=lo,collectContent:ce=!0}={},onStart:xe,onLanguageModelCallStart:Ke,onLanguageModelCallEnd:tt,...he}){let Je=io(T),Pe=$e??ve(),at=await Bn({instructions:te,system:H,prompt:ee,messages:re,allowSystemInMessages:ne}),xt=await Il({prompt:{instructions:at.instructions,messages:at.messages},supportedUrls:await Je.supportedUrls,download:z,abortSignal:oe,provider:Je.provider.split(".")[0]}),Nt=await Vn({tools:C,toolOrder:O,toolsContext:Ee,experimental_sandbox:we}),er=Gn({toolChoice:V});await lt({event:{promptMessages:xt},callbacks:xe});let or={callId:Pe,provider:Je.provider,modelId:Je.modelId,instructions:at.instructions,messages:at.messages,tools:Nt,...he};await lt({event:or,callbacks:Ke});let br=Te(),{stream:Sr,response:Wr,request:Ir}=await be({...or,execute:async()=>await Je.doStream({...he,tools:Nt,toolChoice:er,responseFormat:await G?.responseFormat,prompt:xt,providerOptions:me,abortSignal:oe,headers:se,includeRawChunks:de})});return{stream:Dn(Sr.pipeThrough(bf({tools:C,instructions:at.instructions,messages:at.messages,repairToolCall:Fe,refineToolInput:Be,abortSignal:oe,callId:Pe,provider:Je.provider,modelId:Je.modelId,toolChoice:er,generateId:le,now:Te,callStartTimestampMs:br,onLanguageModelCallEnd:tt,collectContent:ce}))),response:Wr,request:Ir}}function bf({tools:T,instructions:C,messages:O,repairToolCall:G,refineToolInput:V,abortSignal:ee,callId:H,provider:te,modelId:re,toolChoice:ne,generateId:z,now:oe,callStartTimestampMs:se,onLanguageModelCallEnd:de,collectContent:me}){let Fe=new Map,Be=[],be=[],$e=new Map,Ee=new Map,we=new Map,le=new Map,ve=z(),Te=re,ce,xe,Ke=[],tt=ne.type==="none";return new TransformStream({async transform(he,Je){if(Sf(he)){let Pe=oe();if(ce==null)ce=Pe-se;else if(xe!=null)Ke.push(Pe-xe);xe=Pe}if(tt&&(he.type==="tool-input-start"||he.type==="tool-input-delta"||he.type==="tool-input-end"))return;switch(he.type){case"error":Je.enqueue({type:"error",error:mf(he.error)});break;case"text-start":Aa({enabled:me,content:Be,rawContent:be,partIndexes:$e,rawPartIndexes:we,id:he.id,type:"text",providerMetadata:he.providerMetadata}),Je.enqueue(he);break;case"text-delta":Aa({enabled:me,content:Be,rawContent:be,partIndexes:$e,rawPartIndexes:we,id:he.id,type:"text",textDelta:he.delta,providerMetadata:he.providerMetadata}),Je.enqueue({type:"text-delta",id:he.id,text:he.delta,providerMetadata:he.providerMetadata});break;case"text-end":Aa({enabled:me,content:Be,rawContent:be,partIndexes:$e,rawPartIndexes:we,id:he.id,type:"text",providerMetadata:he.providerMetadata}),$e.delete(he.id),we.delete(he.id),Je.enqueue(he);break;case"reasoning-start":Aa({enabled:me,content:Be,rawContent:be,partIndexes:Ee,rawPartIndexes:le,id:he.id,type:"reasoning",providerMetadata:he.providerMetadata}),Je.enqueue(he);break;case"reasoning-delta":Aa({enabled:me,content:Be,rawContent:be,partIndexes:Ee,rawPartIndexes:le,id:he.id,type:"reasoning",textDelta:he.delta,providerMetadata:he.providerMetadata}),Je.enqueue({type:"reasoning-delta",id:he.id,text:he.delta,providerMetadata:he.providerMetadata});break;case"reasoning-end":Aa({enabled:me,content:Be,rawContent:be,partIndexes:Ee,rawPartIndexes:le,id:he.id,type:"reasoning",providerMetadata:he.providerMetadata}),Ee.delete(he.id),le.delete(he.id),Je.enqueue(he);break;case"file":case"reasoning-file":{let Pe=new wm({data:await Ol({data:he.data,abortSignal:ee}),mediaType:he.mediaType});if(me)Be.push({type:he.type,file:Pe,...he.providerMetadata!=null?{providerMetadata:he.providerMetadata}:{}});if(me)be.push(he);Je.enqueue({type:he.type,file:Pe,providerMetadata:he.providerMetadata});break}case"finish":{let Pe=Al(he.usage),at=oe()-se,xt={responseTimeMs:at,effectiveOutputTokensPerSecond:Br({tokens:Pe.outputTokens,durationMs:at}),outputTokensPerSecond:ce==null?void 0:Br({tokens:Pe.outputTokens,durationMs:at-ce}),inputTokensPerSecond:ce==null?void 0:Br({tokens:Pe.inputTokens,durationMs:ce}),effectiveTotalTokensPerSecond:Br({tokens:On(Pe.inputTokens,Pe.outputTokens),durationMs:at}),timeToFirstOutputMs:ce,timeBetweenOutputChunksMs:Ke.length>0?If(Ke):void 0};await lt({event:{callId:H,provider:te,modelId:Te,finishReason:he.finishReason.unified,usage:Pe,content:Be,responseId:ve,...he.providerMetadata!=null?{providerMetadata:he.providerMetadata}:{},performance:xt},callbacks:de});let Nt=ne.type==="auto"?void 0:ne,er=Nt!=null&&(Nt.type==="none"?Fe.size>0:he.finishReason.unified!=="interrupted"&&![...Fe.values()].some((or)=>Nt.type==="required"||or.toolName===Nt.toolName))?new Un({toolChoice:Nt,finishReason:he.finishReason.unified,provider:te,modelId:re,content:be}):void 0;if(Je.enqueue({type:"model-call-end",finishReason:er==null?he.finishReason.unified:"error",rawFinishReason:he.finishReason.raw,usage:Pe,providerMetadata:he.providerMetadata,performance:xt}),er!=null){Je.enqueue({type:"error",error:er});break}break}case"tool-call":if(me)be.push(he);try{let Pe=await Gl({toolCall:he,tools:T,repairToolCall:tt?void 0:G,refineToolInput:tt?void 0:V,instructions:C,messages:O,abortSignal:ee});if(Fe.set(Pe.toolCallId,Pe),me)Be.push(Pe);if(tt)break;if(Je.enqueue(Pe),Pe.invalid){if(!Pe.providerExecuted)Je.enqueue({type:"tool-error",toolCallId:Pe.toolCallId,toolName:Pe.toolName,input:Pe.input,error:R(Pe.error),dynamic:!0,title:Pe.title,...Pe.toolMetadata!=null?{toolMetadata:Pe.toolMetadata}:{}});break}}catch(Pe){Je.enqueue({type:"error",error:Pe})}break;case"tool-approval-request":{if(me)be.push(he);if(tt)break;let Pe=Fe.get(he.toolCallId);if(Pe==null){Je.enqueue({type:"error",error:new $n({toolCallId:he.toolCallId,approvalId:he.approvalId})});break}let at={type:"tool-approval-request",approvalId:he.approvalId,toolCall:Pe};if(Je.enqueue(at),me)Be.push(at);break}case"tool-result":{if(me)be.push(he);let Pe=he.toolName,at=Fe.get(he.toolCallId),xt=he.isError?{type:"tool-error",toolCallId:he.toolCallId,toolName:Pe,input:at?.input,providerExecuted:!0,error:he.result,dynamic:he.dynamic,...he.providerMetadata!=null?{providerMetadata:he.providerMetadata}:{},...at?.toolMetadata!=null?{toolMetadata:at.toolMetadata}:{}}:{type:"tool-result",toolCallId:he.toolCallId,toolName:Pe,input:at?.input,output:he.result,providerExecuted:!0,dynamic:he.dynamic,...he.providerMetadata!=null?{providerMetadata:he.providerMetadata}:{},...at?.toolMetadata!=null?{toolMetadata:at.toolMetadata}:{}};if(!tt)Je.enqueue(xt);if(me)Be.push(xt);break}case"tool-input-start":{let Pe=et(T,he.toolName);Je.enqueue({...he,dynamic:he.dynamic??Pe?.type==="dynamic",title:Pe?.title,...Pe?.metadata!=null?{toolMetadata:Pe.metadata}:{}});break}case"stream-start":Je.enqueue({type:"model-call-start",warnings:he.warnings});break;case"response-metadata":ve=he.id??ve,Te=he.modelId??Te,Je.enqueue({type:"model-call-response-metadata",id:he.id,timestamp:he.timestamp,modelId:he.modelId});break;default:if(he.type==="custom"||he.type==="source"){if(me)Be.push(he);if(me)be.push(he)}Je.enqueue(he)}}})}function Sf(T){return T.type==="text-delta"&&T.delta.length>0||T.type==="reasoning-delta"&&T.delta.length>0||T.type==="tool-input-delta"&&T.delta.length>0||T.type==="file"||T.type==="reasoning-file"||T.type==="tool-call"}function If(T){let C=[...T].sort((G,V)=>G-V),O=T.reduce((G,V)=>G+V,0);return{min:C[0],p10:Mn(C,0.1),median:Mn(C,0.5),avg:O/T.length,p90:Mn(C,0.9),max:C[C.length-1]}}function Mn(T,C){return T[Math.ceil(C*T.length)-1]}function Aa({enabled:T,content:C,rawContent:O,partIndexes:G,rawPartIndexes:V,id:ee,type:H,textDelta:te,providerMetadata:re}){if(!T)return;let ne=G.get(ee);if(ne==null)ne=C.push({type:H,text:"",...re!=null?{providerMetadata:re}:{}})-1,G.set(ee,ne);let z=V.get(ee);if(z==null)z=O.push({type:H,text:"",...re!=null?{providerMetadata:re}:{}})-1,V.set(ee,z);let oe=C[ne],se=O[z];if(te!=null)oe.text+=te,se.text+=te;if(re!=null)oe.providerMetadata=re,se.providerMetadata=re}var Tf=Z({prefix:"aitxt",size:24}),xf=Z({prefix:"call",size:24});function Ct(T){return Ef(T)}function Ef(T){let C=Kl(T.experimental_steering);try{return Mf(T,C)}catch(O){throw C?.end("error"),O}}function Mf({model:T,tools:C,toolChoice:O,instructions:G,system:V,prompt:ee,messages:H,allowSystemInMessages:te,maxRetries:re,streamRetries:ne,abortSignal:z,timeout:oe,headers:se,stopWhen:de=Jl(1),experimental_sandbox:me,output:Fe,toolApproval:Be,experimental_toolCallers:be,experimental_toolApprovalSecret:$e,experimental_telemetry:Ee,telemetry:we=Ee,prepareStep:le,providerOptions:ve,activeTools:Te,toolOrder:ce,toolCallConcurrency:xe,experimental_repairToolCall:Ke,repairToolCall:tt=Ke,experimental_refineToolInput:he,experimental_transform:Je,experimental_download:Pe,includeRawChunks:at,onChunk:xt,onError:Nt,onFinish:er,onEnd:or=er,onAbort:br,onStepEnd:Sr,onStepError:Wr,onStepFinish:Ir,onStart:ca,experimental_onStart:da,onStepStart:ua,experimental_onStepStart:pa,onLanguageModelCallStart:Oa,experimental_onLanguageModelCallStart:ja,onLanguageModelCallEnd:Na,experimental_onLanguageModelCallEnd:Da,onToolExecutionStart:qa,onToolExecutionEnd:$a,experimental_onToolCallStart:Ua,experimental_onToolCallFinish:ma,runtimeContext:fa={},toolsContext:tr={},experimental_include:St,include:Ar=St,_internal:{now:zt=lo,generateId:Hr=Tf,generateCallId:La=xf,retention:nt={replay:!0,collectContent:!0}}={},...kr},Kt){let ha=oc(xe),ga=Ml(oe),Pr=Cl(oe),Tr=Rl(oe),xr=_l(oe),nr=Pr!=null?new AbortController:void 0,Qe=Tr!=null?new AbortController:void 0,lr=xr!=null?new AbortController:void 0,Or=Nt??(({error:ht})=>{console.error(ht)}),Rt=ca??da,ya=ua??pa,va=Oa??ja,Dt=Na??Da,zr=qa??Ua,Er=$a??ma,Jt=Sr??Ir;return new _f({retention:nt,model:io(T),telemetry:we,headers:se,settings:kr,maxRetries:re,streamRetries:ne,abortSignal:Wn(z,ga,nr?.signal,Qe?.signal,lr?.signal),stepTimeoutMs:Pr,stepAbortController:nr,firstChunkTimeoutMs:Tr,firstChunkAbortController:Qe,chunkTimeoutMs:xr,chunkAbortController:lr,instructions:G,system:V,prompt:ee,messages:H,allowSystemInMessages:te,experimental_sandbox:me,steeringRun:Kt,tools:C,toolsContext:tr,runtimeContext:fa,toolChoice:O,transforms:qe(Je),activeTools:Te,toolOrder:ce,toolCallConcurrency:ha,repairToolCall:tt,refineToolInput:he,stopConditions:qe(de),output:Fe,toolApproval:Be,experimental_toolCallers:be,experimental_toolApprovalSecret:$e,providerOptions:ve,prepareStep:le,timeout:oe,onChunk:xt,onError:Or,canRetryStreamViaOnError:ne!==void 0&&Nt!=null,onEnd:or,onAbort:br,onStepFinish:Jt,onStepError:Wr,onStart:Rt,onStepStart:ya,onLanguageModelCallStart:va,onLanguageModelCallEnd:Dt,onToolExecutionStart:zr,onToolExecutionEnd:Er,now:zt,generateId:Hr,generateCallId:La,download:Pe,include:{requestBody:Ar?.requestBody??!1,requestMessages:Ar?.requestMessages??!1,rawChunks:Ar?.rawChunks??at??!1}})}var qn=Symbol("streamRetryBoundary");function Go(T){return qn in T}async function Di(T){try{await T}catch{}}function Cf(T,C=!0){let O=void 0,G="",V="",ee=void 0,H=void 0,te=!1;function re(){O=void 0,G="",V="",ee=void 0,H=void 0,te=!1}function ne({controller:oe,chunk:se}){oe.enqueue(se)}function z({controller:oe,partialOutput:se=void 0}){ne({controller:oe,chunk:{part:{type:"text-delta",id:O,text:V,providerMetadata:ee},partialOutput:se}}),V=""}return new TransformStream({async transform(oe,se){if(!C){se.enqueue(Go(oe)?oe:{part:oe,partialOutput:void 0});return}if(Go(oe)){re(),se.enqueue(oe);return}if(oe.type==="start-step")re();if(oe.type==="finish-step"&&V.length>0)z({controller:se});if(oe.type!=="text-delta"&&oe.type!=="text-start"&&oe.type!=="text-end"){ne({controller:se,chunk:{part:oe,partialOutput:void 0}});return}if(O==null)O=oe.id;else if(oe.id!==O){ne({controller:se,chunk:{part:oe,partialOutput:void 0}});return}if(oe.type==="text-start"){ne({controller:se,chunk:{part:oe,partialOutput:void 0}});return}if(oe.type==="text-end"){if(V.length>0)z({controller:se});ne({controller:se,chunk:{part:oe,partialOutput:void 0}});return}if(G+=oe.text,V+=oe.text,ee=oe.providerMetadata??ee,oe.text.length===0&&oe.providerMetadata!=null){ne({controller:se,chunk:{part:oe,partialOutput:void 0}});return}let de=await T.parsePartialOutput({text:G});if(de!==void 0){let me=typeof de.partial==="string"?de.partial:JSON.stringify(de.partial);if(!te||me!==H)z({controller:se,partialOutput:de.partial}),H=me,te=!0}}})}function Rf({stream:T,transforms:C,tools:O,stopStream:G}){let V=T.getReader(),ee=!1,H,te,re=()=>{let ne=new ReadableStream({async pull(z){let{done:oe,value:se}=await V.read();if(oe){ee=!0,z.close();return}if(Go(se)){H=se,z.close();return}z.enqueue(se)},cancel(z){return V.cancel(z)}},{highWaterMark:0});for(let z of C)ne=ne.pipeThrough(z({tools:O,stopStream:G}));return ne.getReader()};return new ReadableStream({async pull(ne){te??=re();let{done:z,value:oe}=await te.read();if(!z){ne.enqueue(oe);return}if(te=void 0,H!=null){ne.enqueue(H),H=void 0;return}if(ee)ne.close()},async cancel(ne){await te?.cancel(ne),await V.cancel(ne)}})}var _f=class{constructor({retention:T,model:C,telemetry:O,headers:G,settings:V,maxRetries:ee,streamRetries:H,abortSignal:te,stepTimeoutMs:re,stepAbortController:ne,firstChunkTimeoutMs:z,firstChunkAbortController:oe,chunkTimeoutMs:se,chunkAbortController:de,instructions:me,system:Fe,prompt:Be,messages:be,allowSystemInMessages:$e,experimental_sandbox:Ee,steeringRun:we,tools:le,toolChoice:ve,transforms:Te,activeTools:ce,toolOrder:xe,toolCallConcurrency:Ke,repairToolCall:tt,refineToolInput:he,stopConditions:Je,output:Pe,toolApproval:at,experimental_toolCallers:xt,experimental_toolApprovalSecret:Nt,providerOptions:er,prepareStep:or,now:br,generateId:Sr,generateCallId:Wr,timeout:Ir,onChunk:ca,onError:da,canRetryStreamViaOnError:ua,onEnd:pa,onAbort:Oa,onStepFinish:ja,onStepError:Na,onStart:Da,onStepStart:qa,onLanguageModelCallStart:$a,onLanguageModelCallEnd:Ua,onToolExecutionStart:ma,onToolExecutionEnd:fa,runtimeContext:tr,toolsContext:St,download:Ar,include:zt}){this._totalUsage=new Ne,this._finishReason=new Ne,this._rawFinishReason=new Ne,this._steps=new Ne,this._initialResponseMessages=new Ne,this.streamClaimed=!1,this.retention=T,this.outputSpecification=Pe,this.tools=le;let Hr=jl({tools:le,toolCallers:xt}),La=ql({tools:le,toolCallers:Hr}),nt=zl({telemetry:O,includeRuntimeContext:O?.includeRuntimeContext,includeToolsContext:O?.includeToolsContext}),kr,Kt=[],ha=void 0,ga=void 0,Pr=void 0,Tr={},xr=[],nr=[],Qe=[],lr=[],Or,Rt=[],ya=[],va=!1,Dt=C,zr=()=>{let Ue=new Set;return(Ze)=>{if(!Ue.has(Ze))return Ue.add(Ze),Ze;let Me=Sr(),It=Me,Ge=0;while(Ue.has(It))It=`${Me}-${++Ge}`;return Ue.add(It),It}},Er=zr(),Jt=zr(),ht=new Map,rr=Lt(),cr=Lt(),Kr,fr=new Set,qt,sr=async(Ue)=>{if(qt==null||te?.aborted)return;let{event:Ze}=qt;qt=void 0,await lt({event:{...Ze,error:Ue},callbacks:[Na,nt.onStepError]})},Wo=new TransformStream({async transform(Ue,Ze){if(Go(Ue)){let Ge=Ue[qn];Kt=[],cr=Lt(),rr=Lt(),Tr=Ge.request,xr=Ge.request.messages??[],nr=Ge.warnings;return}let{part:Me}=Ue;Ze.enqueue(Ue);let It=Me.type==="error"&&fr.has(Me.error);if(!It)await lt({event:{chunk:Me},callbacks:ca});if(Me.type==="error"){let Ge=ao(Me.error);if(jo.isInstance(Ge))Kr=Ge;if(It)fr.delete(Me.error);else{if(qt!=null)qt.error=Ge;await lt({event:{error:Ge},callbacks:async(Yt)=>{await da(Yt)}})}}if(Me.type==="custom"||Me.type==="source"||Me.type==="tool-call"||Me.type==="tool-approval-request"||Me.type==="tool-approval-response"||Me.type==="tool-error"){if(T.collectContent)Kt.push(Me)}if(Me.type==="text-start"){if(rr[Me.id]={type:"text",text:"",providerMetadata:Me.providerMetadata},T.collectContent)Kt.push(rr[Me.id])}if(Me.type==="text-delta"){let Ge=rr[Me.id];if(Ge==null){Ze.enqueue({part:{type:"error",error:`text part ${Me.id} not found`},partialOutput:void 0});return}if(T.collectContent)Ge.text+=Me.text;Ge.providerMetadata=Me.providerMetadata??Ge.providerMetadata}if(Me.type==="text-end"){let Ge=rr[Me.id];if(Ge==null){Ze.enqueue({part:{type:"error",error:`text part ${Me.id} not found`},partialOutput:void 0});return}if(Ge.providerMetadata=Me.providerMetadata??Ge.providerMetadata,Me.citations!=null)Ge.citations=Me.citations;delete rr[Me.id]}if(Me.type==="reasoning-start"){if(cr[Me.id]={type:"reasoning",text:"",providerMetadata:Me.providerMetadata},T.collectContent)Kt.push(cr[Me.id])}if(Me.type==="reasoning-delta"){let Ge=cr[Me.id];if(Ge==null){Ze.enqueue({part:{type:"error",error:`reasoning part ${Me.id} not found`},partialOutput:void 0});return}if(T.collectContent)Ge.text+=Me.text;Ge.providerMetadata=Me.providerMetadata??Ge.providerMetadata}if(Me.type==="reasoning-end"){let Ge=cr[Me.id];if(Ge==null){Ze.enqueue({part:{type:"error",error:`reasoning part ${Me.id} not found`},partialOutput:void 0});return}Ge.providerMetadata=Me.providerMetadata??Ge.providerMetadata,delete cr[Me.id]}if(Me.type==="file"||Me.type==="reasoning-file"){if(T.collectContent)Kt.push({type:Me.type,file:Me.file,...Me.providerMetadata!=null?{providerMetadata:Me.providerMetadata}:{}})}if(Me.type==="tool-result"&&!Me.preliminary){if(T.collectContent)Kt.push(Me)}if(Me.type==="start-step")Kt=[],cr=Lt(),rr=Lt(),Tr=Me.request,nr=Me.warnings;if(Me.type==="finish-step"){let Ge=await Ql({content:Kt,tools:le}),Yt=new Yn({callId:Vt,stepNumber:Qe.length,provider:Dt.provider,modelId:Dt.modelId,runtimeContext:tr,toolsContext:St,content:Kt,finishReason:Me.finishReason,rawFinishReason:Me.rawFinishReason,usage:Me.usage,performance:Me.performance,warnings:nr,request:{...Tr,messages:zt.requestMessages?no(xr):void 0},response:{...Me.response,messages:no(Ge)},providerMetadata:Me.providerMetadata,steeringMessages:ya});qt=void 0,await lt({event:Yt,callbacks:[ja,nt.onStepEnd]}),sa({warnings:nr,provider:Dt.provider,model:Dt.modelId}),Qe.push(Yt),Or=[...Rt,...Ge],kr.resolve()}if(Me.type==="finish")Pr=Me.totalUsage,ha=Me.finishReason,ga=Me.rawFinishReason},async flush(Ue){we?.end(Qe.length===0||Kr!=null?"error":"finished");try{let Ze=new jo({message:"No output generated. Check the stream for errors."});if(await sr(qt?.error??Ze),Qe.length===0||Kr!=null){let Xe=te?.aborted?te.reason:Kr??Ze;if(Kr!=null&&!te?.aborted)await nt.onError?.({callId:Vt,error:Kr});gt.rejectResultPromises(Xe);return}let Me=ha??"other",It=Pr??Ao();if(gt._finishReason.resolve(Me),gt._rawFinishReason.resolve(ga),gt._totalUsage.resolve(It),gt._steps.resolve(T.replay?Qe:[]),va)return;let Ge=Qe[Qe.length-1],Yt=Qe.flatMap((Xe)=>Xe.content),dt=Qe.flatMap((Xe)=>Xe.files),Nr=Qe.flatMap((Xe)=>Xe.sources),Qr=Qe.flatMap((Xe)=>Xe.toolCalls),Sa=Qe.flatMap((Xe)=>Xe.staticToolCalls),Qt=Qe.flatMap((Xe)=>Xe.dynamicToolCalls),Xr=Qe.flatMap((Xe)=>Xe.toolResults),hr=Qe.flatMap((Xe)=>Xe.staticToolResults),dr=Qe.flatMap((Xe)=>Xe.dynamicToolResults),Mr=Qe.flatMap((Xe)=>Xe.warnings??[]),Dr=pa==null?void 0:async(Xe)=>{let He=Pe==null?void 0:await(T.replay?gt.getOutputPromise():gt.parseOutput(Ge)).catch(()=>{return});await pa({...Xe,...Pe!=null?{output:He}:{}})},_t={callId:Vt,toolsContext:Ge.toolsContext,stepNumber:Ge.stepNumber,model:Ge.model,runtimeContext:Ge.runtimeContext,finishReason:Ge.finishReason,rawFinishReason:Ge.rawFinishReason,usage:It,totalUsage:It,content:Yt,text:Ge.text,reasoning:Ge.reasoning,reasoningText:Ge.reasoningText,files:dt,sources:Nr,toolCalls:Qr,staticToolCalls:Sa,dynamicToolCalls:Qt,toolResults:Xr,staticToolResults:hr,dynamicToolResults:dr,responseMessages:[...lr,...Qe.flatMap((Xe)=>Xe.response.messages)],warnings:Mr,request:Ge.request,response:Ge.response,providerMetadata:Ge.providerMetadata,steps:Qe,finalStep:Ge};await Promise.all([lt({event:_t,callbacks:Dr}),lt({event:_t,callbacks:nt.onEnd})])}catch(Ze){Ue.error(Ze)}finally{if(!T.replay)Qe=[],Kt=[],xr=[],Rt=[],Or=void 0,rr=Lt(),cr=Lt()}}}),wa=lf();this.addStream=wa.addStream,this.closeStream=wa.close;let ba=wa.stream.getReader(),Fa=()=>{this.rejectResultPromises(te?.reason),ba.cancel(te?.reason).catch(()=>{})},Jr=()=>te?.removeEventListener("abort",Fa),jr=new ReadableStream({async start(Ue){if(Ue.enqueue({type:"start"}),te?.addEventListener("abort",Fa,{once:!0}),te?.aborted)Fa()},async pull(Ue){async function Ze(){va=!0,Jr(),we?.end("aborted"),await lt({event:{callId:Vt,steps:Qe,...te?.reason!==void 0?{reason:te.reason}:{}},callbacks:[Oa,nt.onAbort]}),Ue.enqueue({type:"abort",...te?.reason!==void 0?{reason:R(te.reason)}:{}}),Ue.close()}try{let{done:Me,value:It}=await ba.read();if(te?.aborted){await Ze();return}if(Me){Jr(),Ue.close();return}Ue.enqueue(It)}catch(Me){if(Jr(),W(Me)&&te?.aborted)await Ze();else we?.end("error"),await sr(ao(Me)),await nt.onError?.({callId:Vt,error:Me}),Ue.error(Me)}},cancel(Ue){return Jr(),we?.end("aborted"),ba.cancel(Ue)}}),fo=!0;jr=jr.pipeThrough(new TransformStream({async transform(Ue,Ze){if(fo)Ze.enqueue(Ue)}})),jr=Rf({stream:jr,transforms:Te,tools:le,stopStream(){wa.terminate(),fo=!1}}),this.baseStream=jr.pipeThrough(Cf(Pe??An(),T.replay||Pe!=null)).pipeThrough(Wo);let{maxRetries:rt}=No({maxRetries:ee,abortSignal:te}),{maxRetries:Yr}=No({maxRetries:H,abortSignal:te,parameter:"streamRetries",defaultMaxRetries:0}),Ft=Uo(V),gt=this,Vt=Wr();(async()=>{let Ue=await Bn({instructions:me,system:Fe,prompt:Be,messages:be,allowSystemInMessages:$e}),Ze={callId:Vt,operationId:"ai.streamText",provider:C.provider,modelId:C.modelId,instructions:Ue.instructions,messages:Ue.messages,tools:le,toolChoice:ve,activeTools:ce,toolOrder:xe,maxOutputTokens:Ft.maxOutputTokens,temperature:Ft.temperature,topP:Ft.topP,topK:Ft.topK,presencePenalty:Ft.presencePenalty,frequencyPenalty:Ft.frequencyPenalty,stopSequences:Ft.stopSequences,seed:Ft.seed,reasoning:Ft.reasoning,maxRetries:rt,timeout:Ir,headers:G,providerOptions:er,output:Pe,runtimeContext:tr,toolsContext:St},Me=nt.startTracingChannelContext?.({type:"streamText",event:Ze,completion:gt._totalUsage.promise.then(()=>{return})}),It=(Qt)=>Me?.run(Qt)??Qt(),Ge=nt.runInTracingChannelSpan==null?void 0:(Qt)=>It(()=>nt.runInTracingChannelSpan(Qt));await lt({event:Ze,callbacks:[Da,nt.onStart]});let{messages:Yt,instructions:dt}=Ue,{approvedToolApprovals:Nr,deniedToolApprovals:Qr}=Pl({messages:Yt});if(Qr.length>0||Nr.length>0){let{approvedToolApprovals:Qt,deniedToolApprovals:Xr,invalidToolApprovals:hr}=await ac({approvedToolApprovals:Nr.filter((He)=>!He.toolCall.providerExecuted),tools:le,toolApproval:at,messages:Yt,toolsContext:St,runtimeContext:tr,toolApprovalSecret:Nt,refineToolInput:he}),dr=[...Qr.filter((He)=>!He.toolCall.providerExecuted),...Xr],Mr=dr.filter((He)=>He.existingToolResult==null),Dr=Qr.filter((He)=>He.toolCall.providerExecuted),_t,Xe=new ReadableStream({start(He){_t=He}});gt.addStream(Xe);try{for(let Ye of[...dr,...Dr])_t?.enqueue({type:"tool-output-denied",toolCallId:Ye.toolCall.toolCallId,toolName:Ye.toolCall.toolName});for(let Ye of hr)_t?.enqueue({type:"tool-error",toolCallId:Ye.toolCall.toolCallId,toolName:Ye.toolCall.toolName,input:Ye.toolCall.input,error:R(Ye.error),title:Ye.toolCall.title,...Ye.toolCall.dynamic===!0?{dynamic:!0}:{},...Ye.toolCall.toolMetadata!=null?{toolMetadata:Ye.toolCall.toolMetadata}:{}});let He=[];if(await Xn({items:Qt,concurrency:Ke,abortSignal:te,execute:async(Ye)=>{let ze=await zn({toolCall:Ye.toolCall,tools:le,callId:Vt,messages:Yt,abortSignal:te,timeout:Ir,experimental_sandbox:Ee,toolsContext:St,onToolExecutionStart:Ae(ma,nt.onToolExecutionStart),onToolExecutionEnd:Ae(fa,nt.onToolExecutionEnd),executeToolInTelemetryContext:nt.executeTool,runInTracingChannelSpan:Ge,onPreliminaryToolResult:(Bt)=>{_t?.enqueue(Bt)}});if(ze!=null)_t?.enqueue(ze.output),He.push(ze.output)}}),He.length>0||Mr.length>0||hr.length>0){let Ye=[];for(let ze of He)Ye.push({type:"tool-result",toolCallId:ze.toolCallId,toolName:ze.toolName,output:await ia({toolCallId:ze.toolCallId,input:ze.input,tool:et(le,ze.toolName),output:ze.type==="tool-result"?ze.output:ze.error,errorMode:ze.type==="tool-error"?"text":"none"})});for(let ze of hr)Ye.push({type:"tool-result",toolCallId:ze.toolCall.toolCallId,toolName:ze.toolCall.toolName,output:await ia({toolCallId:ze.toolCall.toolCallId,input:ze.toolCall.input,tool:et(le,ze.toolCall.toolName),output:ze.error,errorMode:"text"})});for(let ze of Mr)Ye.push({type:"tool-result",toolCallId:ze.toolCall.toolCallId,toolName:ze.toolCall.toolName,output:{type:"execution-denied",reason:ze.approvalResponse.reason}});lr.push({role:"tool",content:Ye})}}finally{_t?.close()}}gt._initialResponseMessages.resolve(lr);async function Sa({currentStep:Qt,usage:Xr}){let hr=Do({abortController:ne,label:"Step",timeoutMs:re}),dr=void 0;function Mr(){if(te?.aborted)return;dr=Do({abortController:oe,label:"First chunk",timeoutMs:z})}function Dr(){if(dr!=null)clearTimeout(dr),dr=void 0}let _t=void 0;function Xe(){if(_t!=null)clearTimeout(_t);if(te?.aborted)return;_t=Do({abortController:de,label:"Chunk",timeoutMs:se})}function He(){if(_t!=null)clearTimeout(_t),_t=void 0}function Ye(){Dr(),He()}function ze(){if(hr!=null)clearTimeout(hr)}function Bt(){ze(),Ye()}function ir(){te?.removeEventListener("abort",ir),Bt()}te?.addEventListener("abort",ir,{once:!0});try{kr=new Ne;let kt=nt.startTracingChannelContext?.({type:"step",event:{callId:Vt,stepNumber:Qt},completion:kr.promise}),Ia=(Ce)=>kt?.run(Ce)??Ce(),Ut=Qe.flatMap((Ce)=>Ce.response.messages),Zr=[...lr,...Ut],Ga=we?.takeMessages()??[],ho=[...Or??[...Yt,...lr],...Ga],Mt=await or?.({model:C,steps:Qe,stepNumber:Qe.length,instructions:dt,initialInstructions:Ue.instructions,messages:ho,initialMessages:Yt,responseMessages:Zr,...Ga.length>0?{experimental_steeringMessages:Ga}:{},toolsContext:St,runtimeContext:tr,experimental_sandbox:Ee}),Ta=Mt?.experimental_sandbox??Ee;tr=Mt?.runtimeContext??tr,St=Mt?.toolsContext??St;let ea=io(Mt?.model??C);Dt=ea;let Va=$l({tools:le,activeTools:Mt?.activeTools??ce}),{executionTools:Cr,modelTools:qr,toolCallerMessages:ar}=Nl({tools:La(Va,{toolsContext:St,experimental_sandbox:Ta}),toolCallers:Hr}),Ba=Mt?.toolOrder??xe,go=await Vn({tools:qr,toolOrder:Ba,toolsContext:St,experimental_sandbox:Ta}),Wa=Gn({toolChoice:Mt?.toolChoice??ve}),xa=Wa.type==="none"?void 0:Cr,gr=Dl({messages:Mt?.messages??ho,toolCallerMessages:ar});Rt=gr,ya=we?.resolveTakenMessages({stepNumber:Qt,sentMessages:gr})??[];let Ha=Mt?.instructions??Mt?.system??dt;dt=Ha;let za=Pa(er,Mt?.providerOptions),yo=Bl({callSettings:Ft,stepSettings:Mt}),Ho=br(),{retry:$r}=No({maxRetries:rt,abortSignal:te}),ur=!1,pr=()=>Ia(()=>$r(async()=>wf({model:Mt?.model??C,tools:qr,toolOrder:Ba,toolChoice:Mt?.toolChoice??ve,instructions:Ha,messages:gr,allowSystemInMessages:$e,repairToolCall:tt,refineToolInput:he,abortSignal:te,headers:G,includeRawChunks:zt.rawChunks,providerOptions:za,download:Ar,output:Pe,callId:Vt,executeLanguageModelCallInTelemetryContext:nt.executeLanguageModelCall,toolsContext:St,experimental_sandbox:Ta,onLanguageModelCallStart:Ae($a,nt.onLanguageModelCallStart),onLanguageModelCallEnd:Ae(Ua,nt.onLanguageModelCallEnd),onStart:async({promptMessages:Ce})=>{if(ur)return;ur=!0;let ut={callId:Vt,provider:ea.provider,modelId:ea.modelId,stepNumber:Qe.length,instructions:Ha,messages:gr,tools:le,toolChoice:Mt?.toolChoice??ve,activeTools:Mt?.activeTools??ce,toolOrder:Ba,steps:[...Qe],providerOptions:za,runtimeContext:tr,toolsContext:St,output:Pe,promptMessages:Ce,stepTools:go,stepToolChoice:Wa};await lt({event:ut,callbacks:[qa,nt.onStepStart]}),qt={event:ut}},_internal:{now:br,collectContent:T.collectContent},...yo}))),Ur=await pr(),{request:ta,response:Ea}=Ur,ra=Ur.stream.getReader(),vo=0,Lr=0,aa=[],oa=new Set,Ma=new Set,Ka=!1,wo=Yr>0||ua,bo=new ReadableStream({async pull(Ce){let ut=(jt)=>{switch(jt.type){case"text-start":oa.add(jt.id);break;case"text-end":oa.delete(jt.id);break;case"reasoning-start":Ma.add(jt.id);break;case"reasoning-end":Ma.delete(jt.id)}Ce.enqueue(jt)},Fr=()=>{for(let jt of aa)ut(jt);aa=[]},vr=()=>{for(let jt of oa)Ce.enqueue({type:"text-end",id:jt});oa.clear();for(let jt of Ma)Ce.enqueue({type:"reasoning-end",id:jt});Ma.clear()};while(!0){let jt;try{jt=await ra.read()}catch(Zo){throw Ye(),Zo}let{done:xo,value:mt}=jt;if(Ka)Ce.enqueue(cf({warnings:!xo&&mt.type==="model-call-start"?mt.warnings:[]})),Ka=!1;if(xo){Ye(),Fr(),Ce.close();return}let Ra=mt.type==="tool-input-start"||mt.type==="tool-input-delta"||mt.type==="tool-input-end"||mt.type==="tool-call"||mt.type==="tool-approval-request"||mt.type==="tool-approval-response"||mt.type==="tool-result"||mt.type==="tool-error";if(mt.type==="model-call-end"){Ye(),Fr(),ut(mt);return}if(Oi(mt))Dr(),Xe();if(wo&&mt.type!=="error"&&(Ra||aa.length>0)){aa.push(mt);continue}if(mt.type!=="error"){ut(mt);return}Ye(),await lt({event:{chunk:mt},callbacks:ca});let Eo=ao(mt.error),Et=Un.isInstance(Eo),Gr;try{Gr=await da({error:Eo})}catch{}let Xa=ua&&typeof Gr==="object"&&Gr!=null&&"retry"in Gr&&Gr.retry===!0,Xo=!Et&&vo<Yr;if(!Xo&&!(!Et&&!Xo&&Xa&&Lr<1)){Fr(),fr.add(mt.error),Ce.enqueue(mt);return}if(Xo)vo++;else Lr++;await ra.cancel(Eo),aa=[],vr();let Mo;try{Mo=await pr()}catch(Zo){Ce.enqueue({type:"error",error:Zo}),Ce.close();return}ta=Mo.request,Ea=Mo.response,ra=Mo.stream.getReader(),Mr(),Ka=!0}},cancel(Ce){return Ye(),ra.cancel(Ce)}});Mr();let zo=pf({stream:bo,tools:xa,stepInputMessages:gr,abortSignal:te,toolsContext:St}),Ko=nt.runInTracingChannelSpan==null?void 0:(Ce)=>Ia(()=>nt.runInTracingChannelSpan(Ce)),Ja=df({stream:zo,tools:xa,callId:Vt,messages:gr,abortSignal:te,timeout:Ir,experimental_sandbox:Ta,toolsContext:St,toolApproval:at,runtimeContext:tr,toolApprovalSecret:Nt,generateId:Sr,onToolExecutionStart:Ae(ma,nt.onToolExecutionStart),onToolExecutionEnd:Ae(fa,nt.onToolExecutionEnd),executeToolInTelemetryContext:nt.executeTool,runInTracingChannelSpan:Ko,toolCallConcurrency:Ke}),Oe=()=>({...ta,body:zt.requestBody?ta?.body:void 0,messages:zt.requestMessages?no(gr):void 0});xr=Oe().messages??[];let it=[],Ht=[],Rr=[],mr,yr="other",So=void 0,Io=!1,Jo=!1,To=Ao(),Yo,ts=!0,rs=()=>({responseTimeMs:0,effectiveOutputTokensPerSecond:0,outputTokensPerSecond:void 0,inputTokensPerSecond:void 0,effectiveTotalTokensPerSecond:0,timeToFirstOutputMs:void 0,timeBetweenOutputChunksMs:void 0}),Qo=rs(),as={},os=()=>({id:Sr(),timestamp:new Date,modelId:ea.modelId}),Ca=os(),Ya=new Map,Qa=new Map,Pt=(Ce,ut)=>{Ce.enqueue(ut)};gt.addStream(Ja.pipeThrough(new TransformStream({async transform(Ce,ut){if(Zn(Ce)){mr=Ce.warnings,yr="other",So=void 0,Io=!1,Jo=!1,To=Ao(),Yo=void 0,Qo=rs(),Ca=os(),Ya.clear(),Qa.clear(),ut.enqueue({[qn]:{request:Oe(),warnings:mr}});return}if(Ce.type==="model-call-start"){mr=Ce.warnings;return}if(ts)ts=!1,Pt(ut,{type:"start-step",request:Oe(),warnings:mr??[]});let Fr=Ce.type;if(Oi(Ce))Jo=!0;switch(Fr){case"file":case"custom":case"source":case"reasoning-file":case"tool-input-start":case"tool-input-end":case"tool-input-delta":case"tool-approval-request":case"tool-output-denied":Pt(ut,Ce);break;case"text-start":{let vr=Er(Ce.id);Ya.set(Ce.id,vr),Pt(ut,{...Ce,id:vr});break}case"text-delta":if(Ce.text.length>0||Ce.providerMetadata!=null)Pt(ut,{...Ce,id:Ya.get(Ce.id)??Ce.id});break;case"text-end":Pt(ut,{...Ce,id:Ya.get(Ce.id)??Ce.id}),Ya.delete(Ce.id);break;case"reasoning-start":{let vr=Jt(Ce.id);Qa.set(Ce.id,vr),Pt(ut,{...Ce,id:vr});break}case"reasoning-delta":Pt(ut,{...Ce,id:Qa.get(Ce.id)??Ce.id});break;case"reasoning-end":Pt(ut,{...Ce,id:Qa.get(Ce.id)??Ce.id}),Qa.delete(Ce.id);break;case"tool-call":Pt(ut,Ce),it.push(Ce);break;case"tool-approval-response":Pt(ut,Ce),Rr.push(Ce);break;case"tool-result":if(Pt(ut,Ce),!Ce.preliminary)Ht.push(Ce);break;case"tool-error":Pt(ut,Ce),Ht.push(Ce);break;case"tool-execution-end":as[Ce.toolCallId]=Ce.toolExecutionMs;break;case"model-call-response-metadata":Ca={id:Ce.id??Ca.id,timestamp:Ce.timestamp??Ca.timestamp,modelId:Ce.modelId??Ca.modelId};break;case"model-call-end":Io=!0,To=Ce.usage,yr=Ce.finishReason,So=Ce.rawFinishReason,Yo=Ce.providerMetadata,Qo=Ce.performance;break;case"error":Io=!0,Pt(ut,Ce),yr="error";break;case"raw":if(zt.rawChunks)Pt(ut,Ce);break;default:throw Error(`Unknown chunk type: ${Fr}`)}},async flush(Ce){if(!Io&&!Jo){Pt(Ce,{type:"error",error:new jo({message:"No output generated. The model stream ended without a finish chunk."})}),ir(),gt.closeStream();return}let ut=br()-Ho,Fr={type:"finish-step",finishReason:yr,rawFinishReason:So,usage:To,performance:{stepTimeMs:ut,toolExecutionMs:as,...Qo},providerMetadata:Yo,response:{...Ca,headers:Ea?.headers}};Pt(Ce,Fr);let vr=kl(Xr,To);await kr.promise;let jt=it.filter((Et)=>Et.providerExecuted!==!0),xo=Ht.filter((Et)=>Et.providerExecuted!==!0),mt=Rr.filter((Et)=>Et.approved===!1);for(let Et of it){if(Et.providerExecuted!==!0)continue;let Gr=et(xa,Et.toolName);if(Gr?.type==="provider"&&Gr.supportsDeferredResults){if(!Ht.some((Xa)=>(Xa.type==="tool-result"||Xa.type==="tool-error")&&Xa.toolCallId===Et.toolCallId))ht.set(Et.toolCallId,{toolName:Et.toolName})}}for(let Et of Ht)if(Et.type==="tool-result"||Et.type==="tool-error")ht.delete(Et.toolCallId);ir();let Ra="finished";if(await(async()=>{if(yr==="interrupted")return!1;if(jt.length!==xo.length+mt.length)return Ra="waiting-for-tool-results",!1;if(jt.length===0&&ht.size===0){if(!we?.hasPendingMessages())return!1;if(yr==="error")return Ra="error",!1}if(await Yl({stopConditions:Je,steps:Qe}))return Ra="stop-condition",!1;return!0})())try{await It(()=>Sa({currentStep:Qt+1,usage:vr}))}catch(Et){we?.end("error"),Pt(Ce,{type:"error",error:Et}),gt.closeStream()}else we?.end(Ra),Pt(Ce,{type:"finish",finishReason:yr,rawFinishReason:So,totalUsage:vr}),gt.closeStream()}})),{onError:ir,onCancel:ir})}catch(kt){throw ir(),kt}}await It(()=>Sa({currentStep:0,usage:Ao()}))})().catch(async(Ue)=>{we?.end(te?.aborted?"aborted":"error"),await sr(ao(Ue)),await nt.onError?.({callId:Vt,error:Ue}),gt._initialResponseMessages.reject(Ue),Di(gt._initialResponseMessages.promise),gt.addStream(new ReadableStream({start(Ze){Ze.enqueue({type:"error",error:Ue}),Ze.close()}})),gt.closeStream()})}get steps(){if(this.retention.replay)this.consumeStream();return this._steps.promise}get finalStep(){return this.steps.then((T)=>T.at(-1))}get content(){return this.steps.then((T)=>T.flatMap((C)=>C.content))}get warnings(){return this.steps.then((T)=>T.flatMap((C)=>C.warnings??[]))}get providerMetadata(){return this.finalStep.then((T)=>T.providerMetadata)}get text(){return this.finalStep.then((T)=>T.text)}get reasoningText(){return this.finalStep.then((T)=>T.reasoningText)}get reasoning(){return this.finalStep.then((T)=>Ul(T.reasoning))}get sources(){return this.steps.then((T)=>T.flatMap((C)=>C.sources))}get files(){return this.steps.then((T)=>T.flatMap((C)=>C.files))}get toolCalls(){return this.steps.then((T)=>T.flatMap((C)=>C.toolCalls))}get staticToolCalls(){return this.steps.then((T)=>T.flatMap((C)=>C.staticToolCalls))}get dynamicToolCalls(){return this.steps.then((T)=>T.flatMap((C)=>C.dynamicToolCalls))}get toolResults(){return this.steps.then((T)=>T.flatMap((C)=>C.toolResults))}get staticToolResults(){return this.steps.then((T)=>T.flatMap((C)=>C.staticToolResults))}get dynamicToolResults(){return this.steps.then((T)=>T.flatMap((C)=>C.dynamicToolResults))}get usage(){return this.totalUsage}get request(){return this.finalStep.then((T)=>T.request)}get response(){return this.finalStep.then((T)=>T.response)}get responseMessages(){return Promise.all([this._initialResponseMessages.promise,this.steps]).then(([T,C])=>[...T,...C.flatMap((O)=>O.response.messages)])}get totalUsage(){if(this.retention.replay)this.consumeStream();return this._totalUsage.promise}get finishReason(){if(this.retention.replay)this.consumeStream();return this._finishReason.promise}get rawFinishReason(){if(this.retention.replay)this.consumeStream();return this._rawFinishReason.promise}teeStream(){if(!this.retention.replay){if(this.streamClaimed)throw new m({name:"AI_StreamAlreadyConsumedError",message:"This result supports one stream consumer. Choose one stream projection or response helper."});this.streamClaimed=!0;let O=this.baseStream.getReader(),G=(V)=>this.rejectResultPromises(V);return new ReadableStream({async pull(V){try{let{done:ee,value:H}=await O.read();if(ee)O.releaseLock(),V.close();else V.enqueue(H)}catch(ee){G(ee),O.releaseLock(),V.error(ee)}},async cancel(V){G(V??new DOMException("The stream was cancelled.","AbortError"));try{await O.cancel(V)}finally{O.releaseLock()}}},{highWaterMark:0})}let[T,C]=this.baseStream.tee();return this.baseStream=C,T}get textStream(){return this.asIterableStream(Km({stream:this.stream}))}asIterableStream(T){return this.retention.replay?Dn(T):uc(T)}get stream(){return this.asIterableStream(this.teeStream().pipeThrough(new TransformStream({transform({part:T},C){C.enqueue(T)}})))}get fullStream(){return this.stream}rejectResultPromises(T){this.rejectResultPromise({delayedPromise:this._finishReason,error:T}),this.rejectResultPromise({delayedPromise:this._rawFinishReason,error:T}),this.rejectResultPromise({delayedPromise:this._totalUsage,error:T}),this.rejectResultPromise({delayedPromise:this._steps,error:T}),this.rejectResultPromise({delayedPromise:this._initialResponseMessages,error:T})}rejectResultPromise({delayedPromise:T,error:C}){if(T.isPending())T.reject(C),Di(T.promise)}async consumeStream(T){let C=this.stream;try{await sf({stream:C,onError:(O)=>{this.rejectResultPromises(O),T?.onError?.(O)}})}catch(O){this.rejectResultPromises(O),T?.onError?.(O)}}get experimental_partialOutputStream(){return this.partialOutputStream}get partialOutputStream(){if(!this.retention.replay&&this.outputSpecification==null)throw new u({functionality:"partialOutputStream without an explicit output specification with experimental_streamTextLowMemory"});return this.asIterableStream(this.teeStream().pipeThrough(new TransformStream({transform({partialOutput:T},C){if(T!==void 0)C.enqueue(T)}})))}get elementStream(){let T=this.outputSpecification?.createElementStreamTransform();if(T==null)throw new u({functionality:`element streams in ${this.outputSpecification?.name??"text"} mode`});return this.asIterableStream(this.teeStream().pipeThrough(T))}getOutputPromise(){if(this.outputPromise==null)this.outputPromise=this.finalStep.then((T)=>this.parseOutput(T));return this.outputPromise}parseOutput(T){return(this.outputSpecification??An()).parseCompleteOutput({text:T.text},{response:T.response,usage:T.usage,finishReason:T.finishReason})}get output(){return this.getOutputPromise()}toUIMessageStream({originalMessages:T,generateMessageId:C,onStepEnd:O,onStepFinish:G,onEnd:V,onFinish:ee,messageMetadata:H,sendReasoning:te,sendSources:re,sendStart:ne,sendFinish:z,onError:oe}={}){return Dn(nf({stream:this.stream,tools:this.tools,originalMessages:T,generateMessageId:C,onStepEnd:O??G,onEnd:V??ee,messageMetadata:H,sendReasoning:te,sendSources:re,sendStart:ne,sendFinish:z,onError:oe}))}pipeUIMessageStreamToResponse(T,{originalMessages:C,generateMessageId:O,onStepEnd:G,onStepFinish:V,onEnd:ee,onFinish:H,messageMetadata:te,sendReasoning:re,sendSources:ne,sendFinish:z,sendStart:oe,onError:se,...de}={}){return Xm({response:T,stream:this.toUIMessageStream({originalMessages:C,generateMessageId:O,onStepEnd:G??V,onEnd:ee??H,messageMetadata:te,sendReasoning:re,sendSources:ne,sendFinish:z,sendStart:oe,onError:se}),...de})}pipeTextStreamToResponse(T,C){return zm({response:T,stream:this.textStream,...C})}toUIMessageStreamResponse({originalMessages:T,generateMessageId:C,onStepEnd:O,onStepFinish:G,onEnd:V,onFinish:ee,messageMetadata:H,sendReasoning:te,sendSources:re,sendFinish:ne,sendStart:z,onError:oe,...se}={}){return Qm({stream:this.toUIMessageStream({originalMessages:T,generateMessageId:C,onStepEnd:O??G,onEnd:V??ee,messageMetadata:H,sendReasoning:te,sendSources:re,sendFinish:ne,sendStart:z,onError:oe}),...se})}toTextStreamResponse(T){return Hm({stream:this.textStream,...T})}};var Zt=j.record(j.string(),la.optional()),Af=j.record(j.string(),j.string());var Hh=i(()=>{let T=j.object({id:j.string(),approved:j.never().optional(),descriptor:j.unknown().optional(),requestReason:j.string().optional(),reason:j.never().optional(),isAutomatic:j.boolean().optional(),signature:j.string().optional(),inputSchemaInput:j.unknown().optional()}),C=T.extend({approved:j.boolean(),reason:j.string().optional()}),O=C.extend({approved:j.literal(!0)}),G=C.extend({approved:j.literal(!1)});return s(j.array(j.object({id:j.string(),role:j.enum(["system","user","assistant"]),metadata:j.unknown().optional(),parts:j.array(j.union([j.object({type:j.literal("text"),text:j.string(),citations:j.array(cc).optional(),state:j.enum(["streaming","done"]).optional(),providerMetadata:ke.optional()}),j.object({type:j.literal("reasoning"),id:j.string().optional(),text:j.string(),state:j.enum(["streaming","done"]).optional(),providerMetadata:ke.optional()}),j.object({type:j.literal("custom"),kind:j.string(),providerMetadata:ke.optional()}),j.object({type:j.literal("source-url"),sourceId:j.string(),url:j.string(),title:j.string().optional(),providerMetadata:ke.optional()}),j.object({type:j.literal("source-document"),sourceId:j.string(),mediaType:j.string(),title:j.string(),filename:j.string().optional(),providerMetadata:ke.optional()}),j.object({type:j.literal("file"),mediaType:j.string(),filename:j.string().optional(),url:j.string(),providerReference:Af.optional(),providerMetadata:ke.optional()}),j.object({type:j.literal("reasoning-file"),mediaType:j.string(),url:j.string(),providerMetadata:ke.optional()}),j.object({type:j.literal("step-start")}),j.object({type:j.string().startsWith("data-"),id:j.string().optional(),data:j.unknown()}),j.object({type:j.literal("dynamic-tool"),dynamic:j.literal(!1).optional(),toolName:j.string(),toolCallId:j.string(),title:j.string().optional(),toolMetadata:Zt.optional(),state:j.literal("input-streaming"),input:j.unknown().optional(),rawInput:j.string().optional(),inputEncoding:j.enum(["json","text"]).optional(),providerExecuted:j.boolean().optional(),callProviderMetadata:ke.optional(),output:j.never().optional(),errorText:j.never().optional(),approval:j.never().optional()}),j.object({type:j.literal("dynamic-tool"),dynamic:j.literal(!1).optional(),toolName:j.string(),toolCallId:j.string(),title:j.string().optional(),toolMetadata:Zt.optional(),state:j.literal("input-available"),input:j.unknown(),providerExecuted:j.boolean().optional(),output:j.never().optional(),errorText:j.never().optional(),callProviderMetadata:ke.optional(),approval:j.never().optional()}),j.object({type:j.literal("dynamic-tool"),dynamic:j.literal(!1).optional(),toolName:j.string(),toolCallId:j.string(),title:j.string().optional(),toolMetadata:Zt.optional(),state:j.literal("approval-requested"),input:j.unknown(),providerExecuted:j.boolean().optional(),output:j.never().optional(),errorText:j.never().optional(),callProviderMetadata:ke.optional(),approval:T}),j.object({type:j.literal("dynamic-tool"),dynamic:j.literal(!1).optional(),toolName:j.string(),toolCallId:j.string(),title:j.string().optional(),toolMetadata:Zt.optional(),state:j.literal("approval-responded"),input:j.unknown(),providerExecuted:j.boolean().optional(),output:j.never().optional(),errorText:j.never().optional(),callProviderMetadata:ke.optional(),approval:C}),j.object({type:j.literal("dynamic-tool"),dynamic:j.literal(!1).optional(),toolName:j.string(),toolCallId:j.string(),title:j.string().optional(),toolMetadata:Zt.optional(),state:j.literal("output-available"),input:j.unknown(),providerExecuted:j.boolean().optional(),output:j.unknown(),errorText:j.never().optional(),callProviderMetadata:ke.optional(),resultProviderMetadata:ke.optional(),preliminary:j.boolean().optional(),approval:O.optional()}),j.object({type:j.literal("dynamic-tool"),dynamic:j.literal(!1).optional(),toolName:j.string(),toolCallId:j.string(),title:j.string().optional(),toolMetadata:Zt.optional(),state:j.literal("output-error"),input:j.unknown().optional(),rawInput:j.unknown().optional(),providerExecuted:j.boolean().optional(),output:j.never().optional(),errorText:j.string(),callProviderMetadata:ke.optional(),resultProviderMetadata:ke.optional(),approval:O.optional()}),j.object({type:j.literal("dynamic-tool"),dynamic:j.literal(!1).optional(),toolName:j.string(),toolCallId:j.string(),title:j.string().optional(),toolMetadata:Zt.optional(),state:j.literal("output-denied"),input:j.unknown(),providerExecuted:j.boolean().optional(),output:j.never().optional(),errorText:j.never().optional(),callProviderMetadata:ke.optional(),approval:G}),j.object({type:j.string().startsWith("tool-"),toolCallId:j.string(),title:j.string().optional(),toolMetadata:Zt.optional(),state:j.literal("input-streaming"),providerExecuted:j.boolean().optional(),callProviderMetadata:ke.optional(),input:j.unknown().optional(),rawInput:j.string().optional(),inputEncoding:j.enum(["json","text"]).optional(),output:j.never().optional(),errorText:j.never().optional(),approval:j.never().optional()}),j.object({type:j.string().startsWith("tool-"),toolCallId:j.string(),title:j.string().optional(),toolMetadata:Zt.optional(),state:j.literal("input-available"),providerExecuted:j.boolean().optional(),input:j.unknown(),output:j.never().optional(),errorText:j.never().optional(),callProviderMetadata:ke.optional(),approval:j.never().optional()}),j.object({type:j.string().startsWith("tool-"),toolCallId:j.string(),title:j.string().optional(),toolMetadata:Zt.optional(),state:j.literal("approval-requested"),input:j.unknown(),providerExecuted:j.boolean().optional(),output:j.never().optional(),errorText:j.never().optional(),callProviderMetadata:ke.optional(),approval:T}),j.object({type:j.string().startsWith("tool-"),toolCallId:j.string(),title:j.string().optional(),toolMetadata:Zt.optional(),state:j.literal("approval-responded"),input:j.unknown(),providerExecuted:j.boolean().optional(),output:j.never().optional(),errorText:j.never().optional(),callProviderMetadata:ke.optional(),approval:C}),j.object({type:j.string().startsWith("tool-"),toolCallId:j.string(),title:j.string().optional(),toolMetadata:Zt.optional(),state:j.literal("output-available"),providerExecuted:j.boolean().optional(),input:j.unknown(),output:j.unknown(),errorText:j.never().optional(),callProviderMetadata:ke.optional(),resultProviderMetadata:ke.optional(),preliminary:j.boolean().optional(),approval:O.optional()}),j.object({type:j.string().startsWith("tool-"),toolCallId:j.string(),title:j.string().optional(),toolMetadata:Zt.optional(),state:j.literal("output-error"),providerExecuted:j.boolean().optional(),input:j.unknown().optional(),rawInput:j.unknown().optional(),output:j.never().optional(),errorText:j.string(),callProviderMetadata:ke.optional(),resultProviderMetadata:ke.optional(),approval:O.optional()}),j.object({type:j.string().startsWith("tool-"),toolCallId:j.string(),title:j.string().optional(),toolMetadata:Zt.optional(),state:j.literal("output-denied"),providerExecuted:j.boolean().optional(),input:j.unknown(),output:j.never().optional(),errorText:j.never().optional(),callProviderMetadata:ke.optional(),approval:G})]))}).superRefine((V,ee)=>{if(V.role!=="assistant"&&V.parts.length===0)ee.addIssue({origin:"array",code:"too_small",minimum:1,inclusive:!0,input:V.parts,path:["parts"],message:"Message must contain at least one part"})})).nonempty("Messages array must not be empty"))});var zh=Z({prefix:"call",size:24});var Kh=Z({prefix:"call",size:24});var Jh=Z({prefix:"call",size:24});var Yh=Z({prefix:"aiobj",size:24});function mc(T){return({url:C,abortSignal:O})=>Fn({url:C,maxBytes:T?.maxBytes,abortSignal:O})}var{atob:Qh}=globalThis;var Xh=Z({prefix:"aiobj",size:24});var Zh=Z({prefix:"call",size:24});var eg=mc();var mo=j.union([j.string(),j.instanceof(Uint8Array),j.instanceof(ArrayBuffer),j.custom(vt,{message:"Must be a Buffer"})]),es=j.record(j.string(),j.string()),fc=j.object({type:j.literal("text"),text:j.string(),providerOptions:ke.optional()}),kf=j.object({type:j.literal("image"),image:j.union([mo,j.instanceof(URL),es]),mediaType:j.string().optional(),providerOptions:ke.optional()}),hc=j.discriminatedUnion("type",[j.object({type:j.literal("data"),data:mo}),j.object({type:j.literal("url"),url:j.instanceof(URL)}),j.object({type:j.literal("reference"),reference:es}),j.object({type:j.literal("text"),text:j.string()})]),Pf=j.discriminatedUnion("type",[j.object({type:j.literal("data"),data:mo}),j.object({type:j.literal("url"),url:j.instanceof(URL)})]),gc=j.object({type:j.literal("file"),data:j.union([hc,mo,j.instanceof(URL),es]),filename:j.string().optional(),mediaType:j.string(),providerOptions:ke.optional()}),Of=j.object({type:j.literal("reasoning"),text:j.string(),providerOptions:ke.optional()}),jf=j.object({type:j.literal("custom"),kind:j.string().transform((T)=>T),providerOptions:ke.optional()}),Nf=j.object({type:j.literal("reasoning-file"),data:j.union([Pf,mo,j.instanceof(URL)]),mediaType:j.string(),providerOptions:ke.optional()}),Df=j.object({type:j.literal("tool-call"),toolCallId:j.string(),toolName:j.string(),input:j.unknown(),providerOptions:ke.optional(),providerExecuted:j.boolean().optional()}),qf=j.discriminatedUnion("type",[j.object({type:j.literal("text"),value:j.string(),providerOptions:ke.optional()}),j.object({type:j.literal("json"),value:la,providerOptions:ke.optional()}),j.object({type:j.literal("execution-denied"),reason:j.string().optional(),providerOptions:ke.optional()}),j.object({type:j.literal("error-text"),value:j.string(),providerOptions:ke.optional()}),j.object({type:j.literal("error-json"),value:la,providerOptions:ke.optional()}),j.object({type:j.literal("content"),value:j.array(j.union([j.object({type:j.literal("text"),text:j.string(),providerOptions:ke.optional()}),j.object({type:j.literal("file"),data:hc,mediaType:j.string(),filename:j.string().optional(),providerOptions:ke.optional()}),j.object({type:j.literal("file-data"),data:j.string(),mediaType:j.string(),filename:j.string().optional(),providerOptions:ke.optional()}),j.object({type:j.literal("file-url"),url:j.string(),mediaType:j.string().optional(),providerOptions:ke.optional()}),j.object({type:j.literal("file-id"),fileId:j.union([j.string(),j.record(j.string(),j.string())]),providerOptions:ke.optional()}),j.object({type:j.literal("file-reference"),providerReference:j.record(j.string(),j.string()),providerOptions:ke.optional()}),j.object({type:j.literal("image-data"),data:j.string(),mediaType:j.string(),providerOptions:ke.optional()}),j.object({type:j.literal("image-url"),url:j.string(),providerOptions:ke.optional()}),j.object({type:j.literal("image-file-id"),fileId:j.union([j.string(),j.record(j.string(),j.string())]),providerOptions:ke.optional()}),j.object({type:j.literal("image-file-reference"),providerReference:j.record(j.string(),j.string()),providerOptions:ke.optional()}),j.object({type:j.literal("custom"),providerOptions:ke.optional()})]))})]),yc=j.object({type:j.literal("tool-result"),toolCallId:j.string(),toolName:j.string(),output:qf,providerOptions:ke.optional()}),$f=j.object({type:j.literal("tool-approval-request"),approvalId:j.string(),toolCallId:j.string(),reason:j.string().optional(),isAutomatic:j.boolean().optional(),signature:j.string().optional(),inputSchemaInput:j.unknown().optional()}),Uf=j.object({type:j.literal("tool-approval-response"),approvalId:j.string(),approved:j.boolean(),reason:j.string().optional()}),Lf=j.object({role:j.literal("system"),content:j.string(),providerOptions:ke.optional()}),Ff=j.object({role:j.literal("user"),content:j.union([j.string(),j.array(j.union([fc,kf,gc]))]),providerOptions:ke.optional()}),Gf=j.object({role:j.literal("assistant"),content:j.union([j.string(),j.array(j.union([fc,jf,gc,Of,Nf,Df,yc,$f]))]),providerOptions:ke.optional()}),Vf=j.object({role:j.literal("tool"),content:j.array(j.union([yc,Uf])),providerOptions:ke.optional()}),tg=j.union([Lf,Ff,Gf,Vf]);var rg=j.object({token:j.string().refine((T)=>T.trim().length>0),url:j.string().refine((T)=>{try{let C=new URL(T);return(C.protocol==="ws:"||C.protocol==="wss:")&&C.hostname!==""}catch{return!1}}),expiresAt:j.number().positive().max(Number.MAX_SAFE_INTEGER).optional(),tools:j.array(j.object({type:j.literal("function"),name:j.string().min(1),description:j.string().optional(),parameters:j.record(j.string(),j.unknown())})).optional()});var Bf="AI_NoSuchProviderError",ag=`vercel.ai.error.${Bf}`;var og=Z({prefix:"call",size:24});var ng=Z({prefix:"call",size:24}),sg=mc();var ig=Z({prefix:"call",size:24});export{vn,Ct};
|