1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5562],{4366:(e,t,a)=>{a.d(t,{rL:()=>aV,vl:()=>aJ});var r,o,s,n,i,l,u,p,d,c,m,h,v,f,y,g,b,I,z,w=a(1623),T=a(7623),x=a(3258),E=a(9080),k=Object.defineProperty,S="AI_InvalidArgumentError",C=`vercel.ai.error.${S}`,R=Symbol.for(C),M=class extends T.bD{constructor({parameter:e,value:t,message:a}){super({name:S,message:`Invalid argument for parameter ${e}: ${a}`}),this[r]=!0,this.parameter=e,this.value=t}static isInstance(e){return T.bD.hasMarker(e,C)}};r=R;var N=Symbol.for("vercel.ai.error.AI_InvalidStreamPartError");T.bD;var A="AI_InvalidToolApprovalError",O=`vercel.ai.error.${A}`,j=Symbol.for(O),_=class extends T.bD{constructor({approvalId:e}){super({name:A,message:`Tool approval response references unknown approvalId: "${e}". No matching tool-approval-request found in message history.`}),this[o]=!0,this.approvalId=e}static isInstance(e){return T.bD.hasMarker(e,O)}};o=j;var D="AI_InvalidToolInputError",P=`vercel.ai.error.${D}`,$=Symbol.for(P),U=class extends T.bD{constructor({toolInput:e,toolName:t,cause:a,message:r=`Invalid input for tool ${t}: ${(0,T.u1)(a)}`}){super({name:D,message:r,cause:a}),this[s]=!0,this.toolInput=e,this.toolName=t}static isInstance(e){return T.bD.hasMarker(e,P)}};s=$;var q="AI_ToolCallNotFoundForApprovalError",F=`vercel.ai.error.${q}`,L=Symbol.for(F),B=class extends T.bD{constructor({toolCallId:e,approvalId:t}){super({name:q,message:`Tool call "${e}" not found for approval request "${t}".`}),this[n]=!0,this.toolCallId=e,this.approvalId=t}static isInstance(e){return T.bD.hasMarker(e,F)}};n=L;var W="AI_MissingToolResultsError",V=`vercel.ai.error.${W}`,J=Symbol.for(V),G=class extends T.bD{constructor({toolCallIds:e}){super({name:W,message:`Tool result${e.length>1?"s are":" is"} missing for tool call${e.length>1?"s":""} ${e.join(", ")}.`}),this[i]=!0,this.toolCallIds=e}static isInstance(e){return T.bD.hasMarker(e,V)}};i=J;var Y="AI_NoImageGeneratedError",K=`vercel.ai.error.${Y}`,Z=Symbol.for(K);T.bD,l=Z;var H="AI_NoObjectGeneratedError",Q=`vercel.ai.error.${H}`,X=Symbol.for(Q),ee=class extends T.bD{constructor({message:e="No object generated.",cause:t,text:a,response:r,usage:o,finishReason:s}){super({name:H,message:e,cause:t}),this[u]=!0,this.text=a,this.response=r,this.usage=o,this.finishReason=s}static isInstance(e){return T.bD.hasMarker(e,Q)}};u=X;var et="AI_NoOutputGeneratedError",ea=`vercel.ai.error.${et}`,er=Symbol.for(ea),eo=class extends T.bD{constructor({message:e="No output generated.",cause:t}={}){super({name:et,message:e,cause:t}),this[p]=!0}static isInstance(e){return T.bD.hasMarker(e,ea)}};p=er;var es="AI_NoSpeechGeneratedError",en=`vercel.ai.error.${es}`,ei=Symbol.for(en);T.bD,d=ei;var el="AI_NoTranscriptGeneratedError",eu=`vercel.ai.error.${el}`,ep=Symbol.for(eu);T.bD,c=ep;var ed="AI_NoVideoGeneratedError",ec=`vercel.ai.error.${ed}`,em=Symbol.for(ec);T.bD,m=em;var eh="AI_NoSuchToolError",ev=`vercel.ai.error.${eh}`,ef=Symbol.for(ev),ey=class extends T.bD{constructor({toolName:e,availableTools:t,message:a=`Model tried to call unavailable tool '${e}'. ${void 0===t?"No tools are available.":`Available tools: ${t.join(", ")}.`}`}){super({name:eh,message:a}),this[h]=!0,this.toolName=e,this.availableTools=t}static isInstance(e){return T.bD.hasMarker(e,ev)}};h=ef;var eg="AI_ToolCallRepairError",eb=`vercel.ai.error.${eg}`,eI=Symbol.for(eb),ez=class extends T.bD{constructor({cause:e,originalError:t,message:a=`Error repairing tool call: ${(0,T.u1)(e)}`}){super({name:eg,message:a,cause:e}),this[v]=!0,this.originalError=t}static isInstance(e){return T.bD.hasMarker(e,eb)}};v=eI;var ew=class extends T.bD{constructor(e){super({name:"AI_UnsupportedModelVersionError",message:`Unsupported model version ${e.version} for provider "${e.provider}" and model "${e.modelId}". AI SDK 5 only supports models that implement specification version "v2".`}),this.version=e.version,this.provider=e.provider,this.modelId=e.modelId}},eT="AI_UIMessageStreamError",ex=`vercel.ai.error.${eT}`,eE=Symbol.for(ex),ek=class extends T.bD{constructor({chunkType:e,chunkId:t,message:a}){super({name:eT,message:a}),this[f]=!0,this.chunkType=e,this.chunkId=t}static isInstance(e){return T.bD.hasMarker(e,ex)}};f=eE;var eS="AI_InvalidDataContentError",eC=`vercel.ai.error.${eS}`,eR=Symbol.for(eC),eM=class extends T.bD{constructor({content:e,cause:t,message:a=`Invalid data content. Expected a base64 string, Uint8Array, ArrayBuffer, or Buffer, but got ${typeof e}.`}){super({name:eS,message:a,cause:t}),this[y]=!0,this.content=e}static isInstance(e){return T.bD.hasMarker(e,eC)}};y=eR;var eN="AI_InvalidMessageRoleError",eA=`vercel.ai.error.${eN}`,eO=Symbol.for(eA),ej=class extends T.bD{constructor({role:e,message:t=`Invalid message role: '${e}'. Must be one of: "system", "user", "assistant", "tool".`}){super({name:eN,message:t}),this[g]=!0,this.role=e}static isInstance(e){return T.bD.hasMarker(e,eA)}};g=eO;var e_="AI_MessageConversionError",eD=`vercel.ai.error.${e_}`,eP=Symbol.for(eD),e$=class extends T.bD{constructor({originalMessage:e,message:t}){super({name:e_,message:t}),this[b]=!0,this.originalMessage=e}static isInstance(e){return T.bD.hasMarker(e,eD)}};b=eP;var eU="AI_RetryError",eq=`vercel.ai.error.${eU}`,eF=Symbol.for(eq),eL=class extends T.bD{constructor({message:e,reason:t,errors:a}){super({name:eU,message:e}),this[I]=!0,this.reason=t,this.errors=a,this.lastError=a[a.length-1]}static isInstance(e){return T.bD.hasMarker(e,eq)}};I=eF;var eB=!1,eW=e=>{if(0===e.warnings.length)return;let t=globalThis.AI_SDK_LOG_WARNINGS;if(!1!==t){if("function"==typeof t)return void t(e);for(let t of(eB||(eB=!0,console.info("AI SDK Warning System: To turn off warning logging, set the AI_SDK_LOG_WARNINGS global to false.")),e.warnings)
1)console.warn(function({warning:e,provider:t,model:a}){let r=`AI SDK Warning (${t} / ${a}):`;switch(e.type){case"unsupported":{let t=`${r} The feature "${e.feature}" is not supported.`;return e.details&&(t+=` ${e.details}`),t}case"compatibility":{let t=`${r} The feature "${e.feature}" is used in a compatibility mode.`;return e.details&&(t+=` ${e.details}`),t}case"other":return`${r} ${e.message}`;default:return`${r} ${JSON.stringify(e,null,2)}`}}({warning:t,provider:e.provider,model:e.model}))}};function eV({provider:e,modelId:t}){eW({warnings:[{type:"compatibility",feature:"specificationVersion",details:"Using v2 specification compatibility mode. Some features may not be available."}],provider:e,model:t})}function eJ(e){return"v3"===e.specificationVersion?e:(eV({provider:e.provider,modelId:e.modelId}),new Proxy(e,{get:(e,t)=>"specificationVersion"===t?"v3":e[t]}))}function eG(e){return"v3"===e.specificationVersion?e:(eV({provider:e.provider,modelId:e.modelId}),new Proxy(e,{get(e,t){switch(t){case"specificationVersion":return"v3";case"doGenerate":return async(...t)=>{let a=await e.doGenerate(...t);return{...a,finishReason:eY(a.finishReason),usage:eK(a.usage)}};case"doStream":return async(...t)=>{let a=await e.doStream(...t);return{...a,stream:a.stream.pipeThrough(new TransformStream({transform(e,t){"finish"===e.type?t.enqueue({...e,finishReason:eY(e.finishReason),usage:eK(e.usage)}):t.enqueue(e)}}))}};default:return e[t]}}}))}function eY(e){return{unified:"unknown"===e?"other":e,raw:void 0}}function eK(e){return{inputTokens:{total:e.inputTokens,noCache:void 0,cacheRead:e.cachedInputTokens,cacheWrite:void 0},outputTokens:{total:e.outputTokens,text:void 0,reasoning:e.reasoningTokens}}}function eZ(e){if("string"!=typeof e){if("v3"!==e.specificationVersion&&"v2"!==e.specificationVersion)throw new ew({version:e.specificationVersion,provider:e.provider,modelId:e.modelId});return eG(e)}return eH().languageModel(e)}function eH(){var e;return null!=(e=globalThis.AI_SDK_DEFAULT_PROVIDER)?e:gateway}function eQ(e){if(null!=e)return"number"==typeof e?e:e.totalMs}var eX=[{mediaType:"image/gif",bytesPrefix:[71,73,70]},{mediaType:"image/png",bytesPrefix:[137,80,78,71]},{mediaType:"image/jpeg",bytesPrefix:[255,216]},{mediaType:"image/webp",bytesPrefix:[82,73,70,70,null,null,null,null,87,69,66,80]},{mediaType:"image/bmp",bytesPrefix:[66,77]},{mediaType:"image/tiff",bytesPrefix:[73,73,42,0]},{mediaType:"image/tiff",bytesPrefix:[77,77,0,42]},{mediaType:"image/avif",bytesPrefix:[0,0,0,32,102,116,121,112,97,118,105,102]},{mediaType:"image/heic",bytesPrefix:[0,0,0,32,102,116,121,112,104,101,105,99]}],e0=e=>{let t="string"==typeof e?convertBase64ToUint8Array(e):e,a=(127&t[6])<<21|(127&t[7])<<14|(127&t[8])<<7|127&t[9];return t.slice(a+10)};function e1({data:e,signatures:t}){let a="string"==typeof e&&e.startsWith("SUQz")||"string"!=typeof e&&e.length>10&&73===e[0]&&68===e[1]&&51===e[2]?e0(e):e,r="string"==typeof a?convertBase64ToUint8Array(a.substring(0,Math.min(a.length,24))):a;for(let e of t)if(r.length>=e.bytesPrefix.length&&e.bytesPrefix.every((e,t)=>null===e||r[t]===e))return e.mediaType}var e2="6.0.79",e8=async({url:e})=>{var t;let a=e.toString();try{let e=await fetch(a,{headers:withUserAgentSuffix({},`ai-sdk/${e2}`,getRuntimeEnvironmentUserAgent())});if(!e.ok)throw new DownloadError2({url:a,statusCode:e.status,statusText:e.statusText});return{data:new Uint8Array(await e.arrayBuffer()),mediaType:null!=(t=e.headers.get("content-type"))?t:void 0}}catch(e){if(DownloadError2.isInstance(e))throw e;throw new DownloadError2({url:a,cause:e})}},e3=(e=e8)=>t=>Promise.all(t.map(async t=>t.isUrlSupportedByModel?null:e(t)));function e4(e){try{let[t,a]=e.split(",");return{mediaType:t.split(";")[0].split(":")[1],base64Content:a}}catch(e){return{mediaType:void 0,base64Content:void 0}}}var e7=x.z.union([x.z.string(),x.z.instanceof(Uint8Array),x.z.instanceof(ArrayBuffer),x.z.custom(e=>{var t,a;return null!=(a=null==(t=globalThis.Buffer)?void 0:t.isBuffer(e))&&a},{message:"Must be a Buffer"})]);function e6(e){if(e instanceof Uint8Array)return{data:e,mediaType:void 0};if(e instanceof ArrayBuffer)return{data:new Uint8Array(e),mediaType:void 0};if("string"==typeof e)try{e=new URL(e)}catch(e){}if(e instanceof URL&&"data:"===e.protocol){let{mediaType:t,base64Content:a}=e4(e.toString());if(null==t||null==a)throw new AISDKError22({name:"InvalidDataContentError",message:`Invalid data URL format in content ${e.toString()}`});return{data:a,mediaType:t}}return{data:e,mediaType:void 0}}function e5(e){return void 0===e?[]:Array.isArray(e)?e:[e]}async function e9({prompt:e,supportedUrls:t,download:a=e3()}){let r=await te(e.messages,a,t),o=new Map;for(let t of e.messages)if("assistant"===t.role&&Array.isArray(t.content))for(let e of t.content)"tool-approval-request"===e.type&&"approvalId"in e&&"toolCallId"in e&&o.set(e.approvalId,e.toolCallId);let s=new Set;for(let t of e.messages)if("tool"===t.role){for(let e of t.content)if("tool-approval-response"===e.type){let t=o.get(e.approvalId);t&&s.add(t)}}let n=[...null!=e.system?"string"==typeof e.system?[{role:"system",content:e.system}]:e5(e.system).map(e=>({role:"system",content:e.content,providerOptions:e.providerOptions})):[],...e.messages.map(e=>(function({message:e,downloadedAssets:t}){let a=e.role;switch(a){case"system":return{role:"system",content:e.content,providerOptions:e.providerOptions};case"user":if("string"==typeof e.content)return{role:"user",content:[{type:"text",text:e.content}],providerOptions:e.providerOptions};return{role:"user",content:e.content.map(e=>(function(e,t){var a;let r;if("text"===e.type)return{type:"text",text:e.text,providerOptions:e.providerOptions};let o=e.type;switch(o){case"image":r=e.image;break;case"file":r=e.data;break;default:throw Error(`Unsupported part type: ${o}`)}let{data:s,mediaType:n}=e6(r),i=null!=n?n:e.mediaType,l=s;if(l instanceof URL){let e=t[l.toString()];e&&(l=e.data,null!=i||(i=e.mediaType))}switch(o){case"image":return(l instanceof Uint8Array||"string"==typeof l)&&(i=null!=(a=e1({data:l,signatures:eX}))?a:i),{type:"file",mediaType:null!=i?i:"image/*",filename:void 0,data:l,providerOptions:e.providerOptions};case"file":if(null==i)throw Error("Media type is missing for file part");return{type:"file",mediaType:i,filename:e.filename,data:l,providerOptions:e.providerOptions}}})(e,t)).filter(e=>"text"!==e.type||""!==e.text),providerOptions:e.providerOptions};case"assistant":if("string"==typeof e.content)return{role:"assistant",content:[{type:"text",text:e.content}],providerOptions:e.providerOptions};return{role:"assistant",content:e.content.filter(e=>"text"!==e.type||""!==e.text||null!=e.providerOptions).filter(e=>"tool-approval-request"!==e.type).map(e=>{let t=e.providerOptions;switch(e.type){case"file":{let{data:a,mediaType:r}=e6(e.data);return{type:"file",data:a,filename:e.filename,mediaType:null!=r?r:e.mediaType,providerOptions:t}}case"reasoning":return{type:"reasoning",text:e.text,providerOptions:t};case"text":return{type:"text",text:e.text,providerOptions:t};case"tool-call":return{type:"tool-call",toolCallId:e.toolCallId,toolName:e.toolName,input:e.input,providerExecuted:e.providerExecuted,providerOptions:t};case"tool-result":return{type:"tool-result",toolCallId:e.toolCallId,toolName:e.toolName,output:tt(e.output),providerOptions:t}}}),providerOptions:e.providerOptions};case"tool":return{role:"tool",content:e.content.filter(e=>"tool-approval-response"!==e.type||e.providerExecuted).map(e=>{switch(e.type){case"tool-result":return{type:"tool-result",toolCallId:e.toolCallId,toolName:e.toolName,output:tt(e.output),providerOptions:e.providerOptions};case"tool-approval-response":return{type:"tool-approval-response",approvalId:e.approvalId,approved:e.approved,reason:e.reason}}}),providerOptions:e.providerOptions};default:throw new ej({role:a})}})({message:e,downloadedAssets:r}))],i=[];for(let e of n){if("tool"!==e.role){i.push(e);continue}let t=i.at(-1);(null==t?void 0:t.role)==="tool"?t.content.push(...e.content):i.push(e)}let l=new Set;for(let e of i)switch(e.role){case"assistant":for(let t of e.content)"tool-call"!==t.type||t.providerExecuted||l.add(t.toolCallId);break;case"tool":for(let t of e.content)"tool-result"===t.type&&l.delete(t.toolCallId);break;case"user":case"system":for(let e of s)l.delete(e);
1if(l.size>0)throw new G({toolCallIds:Array.from(l)})}for(let e of s)l.delete(e);if(l.size>0)throw new G({toolCallIds:Array.from(l)});return i.filter(e=>"tool"!==e.role||e.content.length>0)}async function te(e,t,a){let r=e.filter(e=>"user"===e.role).map(e=>e.content).filter(e=>Array.isArray(e)).flat().filter(e=>"image"===e.type||"file"===e.type).map(e=>{var t;let a=null!=(t=e.mediaType)?t:"image"===e.type?"image/*":void 0,r="image"===e.type?e.image:e.data;if("string"==typeof r)try{r=new URL(r)}catch(e){}return{mediaType:a,data:r}}).filter(e=>e.data instanceof URL).map(e=>({url:e.data,isUrlSupportedByModel:null!=e.mediaType&&isUrlSupported({url:e.data.toString(),mediaType:e.mediaType,supportedUrls:a})}));return Object.fromEntries((await t(r)).map((e,t)=>null==e?null:[r[t].url.toString(),{data:e.data,mediaType:e.mediaType}]).filter(e=>null!=e))}function tt(e){return"content"!==e.type?e:{type:"content",value:e.value.map(e=>"media"!==e.type?e:e.mediaType.startsWith("image/")?{type:"image-data",data:e.data,mediaType:e.mediaType}:{type:"file-data",data:e.data,mediaType:e.mediaType})}}async function ta({toolCallId:e,input:t,output:a,tool:r,errorMode:o}){return"text"===o?{type:"error-text",value:getErrorMessage3(a)}:"json"===o?{type:"error-json",value:tr(a)}:(null==r?void 0:r.toModelOutput)?await r.toModelOutput({toolCallId:e,input:t,output:a}):"string"==typeof a?{type:"text",value:a}:{type:"json",value:tr(a)}}function tr(e){return void 0===e?null:e}function to({maxOutputTokens:e,temperature:t,topP:a,topK:r,presencePenalty:o,frequencyPenalty:s,seed:n,stopSequences:i}){if(null!=e){if(!Number.isInteger(e))throw new M({parameter:"maxOutputTokens",value:e,message:"maxOutputTokens must be an integer"});if(e<1)throw new M({parameter:"maxOutputTokens",value:e,message:"maxOutputTokens must be >= 1"})}if(null!=t&&"number"!=typeof t)throw new M({parameter:"temperature",value:t,message:"temperature must be a number"});if(null!=a&&"number"!=typeof a)throw new M({parameter:"topP",value:a,message:"topP must be a number"});if(null!=r&&"number"!=typeof r)throw new M({parameter:"topK",value:r,message:"topK must be a number"});if(null!=o&&"number"!=typeof o)throw new M({parameter:"presencePenalty",value:o,message:"presencePenalty must be a number"});if(null!=s&&"number"!=typeof s)throw new M({parameter:"frequencyPenalty",value:s,message:"frequencyPenalty must be a number"});if(null!=n&&!Number.isInteger(n))throw new M({parameter:"seed",value:n,message:"seed must be an integer"});return{maxOutputTokens:e,temperature:t,topP:a,topK:r,presencePenalty:o,frequencyPenalty:s,stopSequences:i,seed:n}}async function ts({tools:e,toolChoice:t,activeTools:a}){if(!(null!=e&&Object.keys(e).length>0))return{tools:void 0,toolChoice:void 0};let r=null!=a?Object.entries(e).filter(([e])=>a.includes(e)):Object.entries(e),o=[];for(let[e,t]of r){let a=t.type;switch(a){case void 0:case"dynamic":case"function":o.push({type:"function",name:e,description:t.description,inputSchema:await asSchema(t.inputSchema).jsonSchema,...null!=t.inputExamples?{inputExamples:t.inputExamples}:{},providerOptions:t.providerOptions,...null!=t.strict?{strict:t.strict}:{}});break;case"provider":o.push({type:"provider",name:e,id:t.id,args:t.args});break;default:throw Error(`Unsupported tool type: ${a}`)}}return{tools:o,toolChoice:null==t?{type:"auto"}:"string"==typeof t?{type:t}:{type:"tool",toolName:t.toolName}}}var tn=x.z.lazy(()=>x.z.union([x.z.null(),x.z.string(),x.z.number(),x.z.boolean(),x.z.record(x.z.string(),tn.optional()),x.z.array(tn)])),ti=x.z.record(x.z.string(),x.z.record(x.z.string(),tn.optional())),tl=x.z.object({type:x.z.literal("text"),text:x.z.string(),providerOptions:ti.optional()}),tu=x.z.object({type:x.z.literal("image"),image:x.z.union([e7,x.z.instanceof(URL)]),mediaType:x.z.string().optional(),providerOptions:ti.optional()}),tp=x.z.object({type:x.z.literal("file"),data:x.z.union([e7,x.z.instanceof(URL)]),filename:x.z.string().optional(),mediaType:x.z.string(),providerOptions:ti.optional()}),td=x.z.object({type:x.z.literal("reasoning"),text:x.z.string(),providerOptions:ti.optional()}),tc=x.z.object({type:x.z.literal("tool-call"),toolCallId:x.z.string(),toolName:x.z.string(),input
1:x.z.unknown(),providerOptions:ti.optional(),providerExecuted:x.z.boolean().optional()}),tm=x.z.discriminatedUnion("type",[x.z.object({type:x.z.literal("text"),value:x.z.string(),providerOptions:ti.optional()}),x.z.object({type:x.z.literal("json"),value:tn,providerOptions:ti.optional()}),x.z.object({type:x.z.literal("execution-denied"),reason:x.z.string().optional(),providerOptions:ti.optional()}),x.z.object({type:x.z.literal("error-text"),value:x.z.string(),providerOptions:ti.optional()}),x.z.object({type:x.z.literal("error-json"),value:tn,providerOptions:ti.optional()}),x.z.object({type:x.z.literal("content"),value:x.z.array(x.z.union([x.z.object({type:x.z.literal("text"),text:x.z.string(),providerOptions:ti.optional()}),x.z.object({type:x.z.literal("media"),data:x.z.string(),mediaType:x.z.string()}),x.z.object({type:x.z.literal("file-data"),data:x.z.string(),mediaType:x.z.string(),filename:x.z.string().optional(),providerOptions:ti.optional()}),x.z.object({type:x.z.literal("file-url"),url:x.z.string(),providerOptions:ti.optional()}),x.z.object({type:x.z.literal("file-id"),fileId:x.z.union([x.z.string(),x.z.record(x.z.string(),x.z.string())]),providerOptions:ti.optional()}),x.z.object({type:x.z.literal("image-data"),data:x.z.string(),mediaType:x.z.string(),providerOptions:ti.optional()}),x.z.object({type:x.z.literal("image-url"),url:x.z.string(),providerOptions:ti.optional()}),x.z.object({type:x.z.literal("image-file-id"),fileId:x.z.union([x.z.string(),x.z.record(x.z.string(),x.z.string())]),providerOptions:ti.optional()}),x.z.object({type:x.z.literal("custom"),providerOptions:ti.optional()})]))})]),th=x.z.object({type:x.z.literal("tool-result"),toolCallId:x.z.string(),toolName:x.z.string(),output:tm,providerOptions:ti.optional()}),tv=x.z.object({type:x.z.literal("tool-approval-request"),approvalId:x.z.string(),toolCallId:x.z.string()}),tf=x.z.object({type:x.z.literal("tool-approval-response"),approvalId:x.z.string(),approved:x.z.boolean(),reason:x.z.string().optional()}),ty=x.z.object({role:x.z.literal("system"),content:x.z.string(),providerOptions:ti.optional()}),tg=x.z.object({role:x.z.literal("user"),content:x.z.union([x.z.string(),x.z.array(x.z.union([tl,tu,tp]))]),providerOptions:ti.optional()}),tb=x.z.object({role:x.z.literal("assistant"),content:x.z.union([x.z.string(),x.z.array(x.z.union([tl,tp,td,tc,th,tv]))]),providerOptions:ti.optional()}),tI=x.z.object({role:x.z.literal("tool"),content:x.z.array(x.z.union([th,tf])),providerOptions:ti.optional()}),tz=x.z.union([ty,tg,tb,tI]);async function tw(e){let t;if(null==e.prompt&&null==e.messages)throw new InvalidPromptError2({prompt:e,message:"prompt or messages must be defined"});if(null!=e.prompt&&null!=e.messages)throw new InvalidPromptError2({prompt:e,message:"prompt and messages cannot be defined at the same time"});if(null!=e.system&&"string"!=typeof e.system&&!e5(e.system).every(e=>"object"==typeof e&&null!==e&&"role"in e&&"system"===e.role))throw new InvalidPromptError2({prompt:e,message:"system must be a string, SystemModelMessage, or array of SystemModelMessage"});if(null!=e.prompt&&"string"==typeof e.prompt)t=[{role:"user",content:e.prompt}];else if(null!=e.prompt&&Array.isArray(e.prompt))t=e.prompt;else if(null!=e.messages)t=e.messages;else throw new InvalidPromptError2({prompt:e,message:"prompt or messages must be defined"});if(0===t.length)throw new InvalidPromptError2({prompt:e,message:"messages must not be empty"});let a=await safeValidateTypes({value:t,schema:z6.array(tz)});if(!a.success)throw new InvalidPromptError2({prompt:e,message:"The messages do not match the ModelMessage[] schema.",cause:a.error});return{messages:t,system:e.system}}function tT(e){if(!GatewayAuthenticationError.isInstance(e))return e;let t="https://ai-sdk.dev/unauthenticated-ai-gateway";return(null==E?void 0:"production")==="production"?new AISDKError23({name:"GatewayError",message:`Unauthenticated. Configure AI_GATEWAY_API_KEY or use a provider module. Learn more: ${t}`}):Object.assign(Error(`\x1b[1m\x1b[31mUnauthenticated request to AI Gateway.\x1b[0m 2 3To authenticate, set the \x1b[33mAI_GATEWAY_API_KEY\x1b[0m environment variable with your API key. 4 5Alternatively, you can use a provider module instead of the AI Gateway. 6 7Learn more: \x1b[34m${t}\x1b[0m 8 9`),{name:"GatewayAuthenticationError"})}function tx({operationId:e,telemetry:t}){return{"operation.name":`${e}${(null==t?void 0:t.functionId)!=null?` ${t.functionId}`:""}`,"resource.name":null==t?void 0:t.functionId,"ai.operationId":e,"ai.telemetry.functionId":null==t?void 0:t.functionId}}function tE({model:e,settings:t,telemetry:a,headers:r}){var o;return{"ai.model.provider":e.provider,"ai.model.id":e.modelId,...Object.entries(t).reduce((e,[t,a
9])=>{if("timeout"===t){let r=eQ(a);null!=r&&(e[`ai.settings.${t}`]=r)}else e[`ai.settings.${t}`]=a;return e},{}),...Object.entries(null!=(o=null==a?void 0:a.metadata)?o:{}).reduce((e,[t,a])=>(e[`ai.telemetry.metadata.${t}`]=a,e),{}),...Object.entries(null!=r?r:{}).reduce((e,[t,a])=>(void 0!==a&&(e[`ai.request.headers.${t}`]=a),e),{})}}var tk={startSpan:()=>tS,startActiveSpan:(e,t,a,r)=>"function"==typeof t?t(tS):"function"==typeof a?a(tS):"function"==typeof r?r(tS):void 0},tS={spanContext:()=>tC,setAttribute(){return this},setAttributes(){return this},addEvent(){return this},addLink(){return this},addLinks(){return this},setStatus(){return this},updateName(){return this},end(){return this},isRecording:()=>!1,recordException(){return this}},tC={traceId:"",spanId:"",traceFlags:0};function tR({isEnabled:e=!1,tracer:t}={}){return e?t||trace.getTracer("ai"):tk}async function tM({name:e,tracer:t,attributes:a,fn:r,endWhenDone:o=!0}){return t.startActiveSpan(e,{attributes:await a},async e=>{let t=context.active();try{let a=await context.with(t,()=>r(e));return o&&e.end(),a}catch(t){try{tN(e,t)}finally{e.end()}throw t}})}function tN(e,t){t instanceof Error?(e.recordException({name:t.name,message:t.message,stack:t.stack}),e.setStatus({code:SpanStatusCode.ERROR,message:t.message})):e.setStatus({code:SpanStatusCode.ERROR})}async function tA({telemetry:e,attributes:t}){if((null==e?void 0:e.isEnabled)!==!0)return{};let a={};for(let[r,o]of Object.entries(t))if(null!=o){if("object"==typeof o&&"input"in o&&"function"==typeof o.input){if((null==e?void 0:e.recordInputs)===!1)continue;let t=await o.input();null!=t&&(a[r]=t);continue}if("object"==typeof o&&"output"in o&&"function"==typeof o.output){if((null==e?void 0:e.recordOutputs)===!1)continue;let t=await o.output();null!=t&&(a[r]=t);continue}a[r]=o}return a}function tO(e){return JSON.stringify(e.map(e=>({...e,content:"string"==typeof e.content?e.content:e.content.map(e=>{var t;return"file"===e.type?{...e,data:e.data instanceof Uint8Array?"string"==typeof(t=e.data)?t:t instanceof ArrayBuffer?convertUint8ArrayToBase64(new Uint8Array(t)):convertUint8ArrayToBase64(t):e.data}:e})})))}function tj(e){return{inputTokens:e.inputTokens.total,inputTokenDetails:{noCacheTokens:e.inputTokens.noCache,cacheReadTokens:e.inputTokens.cacheRead,cacheWriteTokens:e.inputTokens.cacheWrite},outputTokens:e.outputTokens.total,outputTokenDetails:{textTokens:e.outputTokens.text,reasoningTokens:e.outputTokens.reasoning},totalTokens:tP(e.inputTokens.total,e.outputTokens.total),raw:e.raw,reasoningTokens:e.outputTokens.reasoning,cachedInputTokens:e.inputTokens.cacheRead}}function t_(){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 tD(e,t){var a,r,o,s,n,i,l,u,p,d;return{inputTokens:tP(e.inputTokens,t.inputTokens),inputTokenDetails:{noCacheTokens:tP(null==(a=e.inputTokenDetails)?void 0:a.noCacheTokens,null==(r=t.inputTokenDetails)?void 0:r.noCacheTokens),cacheReadTokens:tP(null==(o=e.inputTokenDetails)?void 0:o.cacheReadTokens,null==(s=t.inputTokenDetails)?void 0:s.cacheReadTokens),cacheWriteTokens:tP(null==(n=e.inputTokenDetails)?void 0:n.cacheWriteTokens,null==(i=t.inputTokenDetails)?void 0:i.cacheWriteTokens)},outputTokens:tP(e.outputTokens,t.outputTokens),outputTokenDetails:{textTokens:tP(null==(l=e.outputTokenDetails)?void 0:l.textTokens,null==(u=t.outputTokenDetails)?void 0:u.textTokens),reasoningTokens:tP(null==(p=e.outputTokenDetails)?void 0:p.reasoningTokens,null==(d=t.outputTokenDetails)?void 0:d.reasoningTokens)},totalTokens:tP(e.totalTokens,t.totalTokens),reasoningTokens:tP(e.reasoningTokens,t.reasoningTokens),cachedInputTokens:tP(e.cachedInputTokens,t.cachedInputTokens)}}function tP(e,t){return null==e&&null==t?void 0:(null!=e?e:0)+(null!=t?t:0)}function t$(e,t){if(void 0===e&&void 0===t)return;if(void 0===e)return t;if(void 0===t)return e;let a={...e};for(let r in t)if(Object.prototype.hasOwnProperty.call(t,r)){let o=t[r];if(void 0===o)continue;let s=r in e?e[r]:void 0,n=null!==o&&"object"==typeof o&&!Array.isArray(o)&&!(o instanceof Date)&&!(o instanceof RegExp),i=null!=s&&"object"==typeof s&&!Array.isArray(s)&&!(s instanceof Date)&&!(s instanceof RegExp);n&&i?a[r]=t$(s,o):a[r]=o}return a}var tU=({maxRetries:e=2,initialDelayInMs:t=2e3,backoffFactor:a=2,abortSignal:r}={})=>async o=>tq(o,{maxRetries:e,delayInMs:t,backoffFactor:a,abortSignal:r});async function tq(e,{maxRetries:t,delayInMs:a,backoffFactor:r,abortSignal:o},s=[]){try{return await e()}catch(u){if(isAbortError(u)||0===t)throw u;let n=getErrorMessage4(u),i=[...s,u],l=i.length;if(l>t)throw new eL({message:`Failed after ${l} attempts. Last error: ${n}`,reason:"maxRetriesExceeded",errors:i});if(u instanceof Error&&APICallError2.isInstance(u)&&!0===u.isRetryable&&l<=t)return await delay(function({error:e,exponentialBackoffDelay:t}){let a,r=e.responseHeaders;if(!r)return t;let o=r["retry-after-ms"];
9if(o){let e=parseFloat(o);Number.isNaN(e)||(a=e)}let s=r["retry-after"];if(s&&void 0===a){let e=parseFloat(s);a=Number.isNaN(e)?Date.parse(s)-Date.now():1e3*e}return null!=a&&!Number.isNaN(a)&&0<=a&&(a<6e4||a<t)?a:t}({error:u,exponentialBackoffDelay:a}),{abortSignal:o}),tq(e,{maxRetries:t,delayInMs:r*a,backoffFactor:r,abortSignal:o},i);if(1===l)throw u;throw new eL({message:`Failed after ${l} attempts with non-retryable error: '${n}'`,reason:"errorNotRetryable",errors:i})}}function tF({maxRetries:e,abortSignal:t}){if(null!=e){if(!Number.isInteger(e))throw new M({parameter:"maxRetries",value:e,message:"maxRetries must be an integer"});if(e<0)throw new M({parameter:"maxRetries",value:e,message:"maxRetries must be >= 0"})}let a=null!=e?e:2;return{maxRetries:a,retry:tU({maxRetries:a,abortSignal:t})}}function tL({messages:e}){let t=e.at(-1);if((null==t?void 0:t.role)!="tool")return{approvedToolApprovals:[],deniedToolApprovals:[]};let a={};for(let t of e)if("assistant"===t.role&&"string"!=typeof t.content)for(let e of t.content)"tool-call"===e.type&&(a[e.toolCallId]=e);let r={};for(let t of e)if("assistant"===t.role&&"string"!=typeof t.content)for(let e of t.content)"tool-approval-request"===e.type&&(r[e.approvalId]=e);let o={};for(let e of t.content)"tool-result"===e.type&&(o[e.toolCallId]=e);let s=[],n=[];for(let e of t.content.filter(e=>"tool-approval-response"===e.type)){let t=r[e.approvalId];if(null==t)throw new _({approvalId:e.approvalId});if(null!=o[t.toolCallId])continue;let i=a[t.toolCallId];if(null==i)throw new B({toolCallId:t.toolCallId,approvalId:t.approvalId});let l={approvalRequest:t,approvalResponse:e,toolCall:i};e.approved?s.push(l):n.push(l)}return{approvedToolApprovals:s,deniedToolApprovals:n}}async function tB({toolCall:e,tools:t,tracer:a,telemetry:r,messages:o,abortSignal:s,experimental_context:n,onPreliminaryToolResult:i}){let{toolName:l,toolCallId:u,input:p}=e,d=null==t?void 0:t[l];if((null==d?void 0:d.execute)!=null)return tM({name:"ai.toolCall",attributes:tA({telemetry:r,attributes:{...tx({operationId:"ai.toolCall",telemetry:r}),"ai.toolCall.name":l,"ai.toolCall.id":u,"ai.toolCall.args":{output:()=>JSON.stringify(p)}}}),tracer:a,fn:async t=>{let a;try{for await(let t of executeTool({execute:d.execute.bind(d),input:p,options:{toolCallId:u,messages:o,abortSignal:s,experimental_context:n}}))"preliminary"===t.type?null==i||i({...e,type:"tool-result",output:t.output,preliminary:!0}):a=t.output}catch(a){return tN(t,a),{type:"tool-error",toolCallId:u,toolName:l,input:p,error:a,dynamic:"dynamic"===d.type,...null!=e.providerMetadata?{providerMetadata:e.providerMetadata}:{}}}try{t.setAttributes(await tA({telemetry:r,attributes:{"ai.toolCall.result":{output:()=>JSON.stringify(a)}}}))}catch(e){}return{type:"tool-result",toolCallId:u,toolName:l,input:p,output:a,dynamic:"dynamic"===d.type,...null!=e.providerMetadata?{providerMetadata:e.providerMetadata}:{}}}})}function tW(e){let t=e.filter(e=>"reasoning"===e.type);return 0===t.length?void 0:t.map(e=>e.text).join("\n")}function tV(e){let t=e.filter(e=>"text"===e.type);if(0!==t.length)return t.map(e=>e.text).join("")}var tJ=class{constructor({data:e,mediaType:t}){let a=e instanceof Uint8Array;this.base64Data=a?void 0:e,this.uint8ArrayData=a?e:void 0,this.mediaType=t}get base64(){return null==this.base64Data&&(this.base64Data=(0,w.n_)(this.uint8ArrayData)),this.base64Data}get uint8Array(){return null==this.uint8ArrayData&&(this.uint8ArrayData=(0,w.Z9)(this.base64Data)),this.uint8ArrayData}},tG=class extends tJ{constructor(e){super(e),this.type="file"}};async function tY({tool:e,toolCall:t,messages:a,experimental_context:r}){return null!=e.needsApproval&&("boolean"==typeof e.needsApproval?e.needsApproval:await e.needsApproval(t.input,{toolCallId:t.toolCallId,messages:a,experimental_context:r}))}async function tK(e){if(void 0===e)return{value:void 0,state:"undefined-input"};let t=await (0,w.N8)({text:e});return t.success?{value:t.value,state:"successful-parse"}:(t=await (0,w.N8)({text:function(e){let t=["ROOT"],a=-1,r=null;function o(e,o,s){switch(e){case'"':a=o,t.pop(),t.push(s),t.push("INSIDE_STRING");break;case"f":case"t":case"n":a=o,r=o,t.pop(),t.push(s),t.push("INSIDE_LITERAL");break;case"-":t.pop(),t.push(s),t.push("INSIDE_NUMBER");break;case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":a=o,t.pop(),t.push(s),t.push("INSIDE_NUMBER");break;case"{":a=o,t.pop(),t.push(s),t.push("INSIDE_OBJECT_START");break;case"[":a=o,t.pop(),t.push(s),t.push("INSIDE_ARRAY_START")}}function s(e,r){switch(e){case",":t.pop(),t.push("INSIDE_OBJECT_AFTER_COMMA");break;case"}":a=r,t.pop()}}function n(e,r){switch(e){case",":t.pop(),t.push("INSIDE_ARRAY_AFTER_COMMA");break;case"]":a=r,t.pop()}}for(let i=0;i<e.length;i++){let l=e[i];switch(t[t.length-1]){case"ROOT":o(l,i,"FINISH");break;case"INSIDE_OBJECT_START":switch(l){case'"':t.pop(),t.push("INSIDE_OBJECT_KEY");break;case"}":a=i,t.pop()}break;case"INSIDE_OBJECT_AFTER_COMMA":'"'===l&&(t.pop(),t.push("INSIDE_OBJECT_KEY"));break;case"INSIDE_OBJECT_KEY":'"'===l&&(t.pop(),t.push("INSIDE_OBJECT_AFTER_KEY"));break;case"INSIDE_OBJECT_AFTER_KEY":":"===l&&(t.pop(),t.push("INSIDE_OBJECT_BEFORE_VALUE"));break;case"INSIDE_OBJECT_BEFORE_VALUE":o(l,i,"INSIDE_OBJECT_AFTER_VALUE");break;case"INSIDE_OBJECT_AFTER_VALUE":s(l,i);break;case"INSIDE_STRING":switch(l){case'"':t.pop(),a=i;break;case"\\":t.push("INSIDE_STRING_ESCAPE");break;default:a=i}break;case"INSIDE_ARRAY_START":"]"===l?(a=i,t.pop()):(a=i,o(l,i,"INSIDE_ARRAY_AFTER_VALUE"));break;case"INSIDE_ARRAY_AFTER_VALUE":switch(l){case",":t.pop(),t.push("INSIDE_ARRAY_AFTER_COMMA");break;case"]":a=i,t.pop();break;default:a=i}break;case"INSIDE_ARRAY_AFTER_COMMA":o(l,i,"INSIDE_ARRAY_AFTER_VALUE");break;case"INSIDE_STRING_ESCAPE":t.pop(),a=i;break;case"INSIDE_NUMBER":switch(l){case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":a=i;break;case"e":case"E":case"-":case".":break;case",":t.pop(),"INSIDE_ARRAY_AFTER_VALUE"===t[t.length-1]&&n(l,i),"INSIDE_OBJECT_AFTER_VALUE"===t[t.length-1]&&s(l,i);break;case"}":t.pop(),"INSIDE_OBJECT_AFTER_VALUE"===t[t.length-1]&&s(l,i);break;case"]":t.pop(),"INSIDE_ARRAY_AFTER_VALUE"===t[t.length-1]&&n(l,i);break;default:t.pop()}break;case"INSIDE_LITERAL":{let o=e.substring(r,i+1);"false".startsWith(o)||"true".startsWith(o)||"null".startsWith(o)?a=i:(t.pop(),"INSIDE_OBJECT_AFTER_VALUE"===t[t.length-1]?s(l,i):"INSIDE_ARRAY_AFTER_VALUE"===t[t.length-1]&&n(l,i))}}}let i=e.slice(0,a+1);for(let a=t.length-1;a>=0;a--)switch(t[a]){case"INSIDE_STRING":i+='"';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":i+="}";break;case"INSIDE_ARRAY_START":case"INSIDE_ARRAY_AFTER_COMMA":case"INSIDE_ARRAY_AFTER_VALUE":i+="]";break;case"INSIDE_LITERAL":{let t=e.substring(r,e.length);"true".startsWith(t)?i+="true".slice(t.length):"false".startsWith(t)?i+="false".slice(t.length):"null".startsWith(t)&&(i+="null".slice(t.length))}}return i}(e)})).success?{value:t.value,state:"repaired-parse"}:{value:void 0,state:"failed-parse"}}((e,t)=>{for(var a in t)k(e,a,{get:t[a],enumerable:!0})})({},{array:()=>tQ,choice:()=>tX,json:()=>t0,object:()=>tH,text:()=>tZ});var tZ=()=>({name:"text",responseFormat:Promise.resolve({type:"text"}),parseCompleteOutput:async({text:e})=>e,parsePartialOutput:async({text:e})=>({partial:e}),createElementStreamTransform(){}}),tH=({schema:e,name:t,description:a})=>{let r=(0,w.mD)(e);return{name:"object",responseFormat:(0,w.hd)(r.jsonSchema).then(e=>({type:"json",schema:e,...null!=t&&{name:t},...null!=a&&{description:a}})),async parseCompleteOutput({text:e},t){let a=await (0,w.N8)({text:e});if(!a.success)throw new ee({message:"No object generated: could not parse the response.",cause:a.error,text:e,response:t.response,usage:t.usage,finishReason:t.finishReason});let o=await (0,w.ZZ)({value:a.value,schema:r});if(!o.success)throw new ee({message:"No object generated: response did not match sc
9hema.",cause:o.error,text:e,response:t.response,usage:t.usage,finishReason:t.finishReason});return o.value},async parsePartialOutput({text:e}){let t=await tK(e);switch(t.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":return{partial:t.value}}},createElementStreamTransform(){}}},tQ=({element:e,name:t,description:a})=>{let r=(0,w.mD)(e);return{name:"array",responseFormat:(0,w.hd)(r.jsonSchema).then(e=>{let{$schema:r,...o}=e;return{type:"json",schema:{$schema:"http://json-schema.org/draft-07/schema#",type:"object",properties:{elements:{type:"array",items:o}},required:["elements"],additionalProperties:!1},...null!=t&&{name:t},...null!=a&&{description:a}}}),async parseCompleteOutput({text:e},t){let a=await (0,w.N8)({text:e});if(!a.success)throw new ee({message:"No object generated: could not parse the response.",cause:a.error,text:e,response:t.response,usage:t.usage,finishReason:t.finishReason});let o=a.value;if(null==o||"object"!=typeof o||!("elements"in o)||!Array.isArray(o.elements))throw new ee({message:"No object generated: response did not match schema.",cause:new T.iM({value:o,cause:"response must be an object with an elements array"}),text:e,response:t.response,usage:t.usage,finishReason:t.finishReason});for(let a of o.elements){let o=await (0,w.ZZ)({value:a,schema:r});if(!o.success)throw new ee({message:"No object generated: response did not match schema.",cause:o.error,text:e,response:t.response,usage:t.usage,finishReason:t.finishReason})}return o.elements},async parsePartialOutput({text:e}){let t=await tK(e);switch(t.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":{let e=t.value;if(null==e||"object"!=typeof e||!("elements"in e)||!Array.isArray(e.elements))return;let a="repaired-parse"===t.state&&e.elements.length>0?e.elements.slice(0,-1):e.elements,o=[];for(let e of a){let t=await (0,w.ZZ)({value:e,schema:r});t.success&&o.push(t.value)}return{partial:o}}}},createElementStreamTransform(){let e=0;return new TransformStream({transform({partialOutput:t},a){if(null!=t)for(;e<t.length;e++)a.enqueue(t[e])}})}}},tX=({options:e,name:t,description:a})=>({name:"choice",responseFormat:Promise.resolve({type:"json",schema:{$schema:"http://json-schema.org/draft-07/schema#",type:"object",properties:{result:{type:"string",enum:e}},required:["result"],additionalProperties:!1},...null!=t&&{name:t},...null!=a&&{description:a}}),async parseCompleteOutput({text:t},a){let r=await (0,w.N8)({text:t});if(!r.success)throw new ee({message:"No object generated: could not parse the response.",cause:r.error,text:t,response:a.response,usage:a.usage,finishReason:a.finishReason});let o=r.value;if(null==o||"object"!=typeof o||!("result"in o)||"string"!=typeof o.result||!e.includes(o.result))throw new ee({message:"No object generated: response did not match schema.",cause:new T.iM({value:o,cause:"response must be an object that contains a choice value."}),text:t,response:a.response,usage:a.usage,finishReason:a.finishReason});return o.result},async parsePartialOutput({text:t}){let a=await tK(t);switch(a.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":{let t=a.value;if(null==t||"object"!=typeof t||!("result"in t)||"string"!=typeof t.result)return;let r=e.filter(e=>e.startsWith(t.result));if("successful-parse"===a.state)return r.includes(t.result)?{partial:t.result}:void 0;return 1===r.length?{partial:r[0]}:void 0}}},createElementStreamTransform(){}}),t0=({name:e,description:t}={})=>({name:"json",responseFormat:Promise.resolve({type:"json",...null!=e&&{name:e},...null!=t&&{description:t}}),async parseCompleteOutput({text:e},t){let a=await (0,w.N8)({text:e});if(!a.success)throw new ee({message:"No object generated: could not parse the response.",cause:a.error,text:e,response:t.response,usage:t.usage,finishReason:t.finishReason});return a.value},async parsePartialOutput({text:e}){let t=await tK(e);switch(t.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":return void 0===t.value?void 0:{partial:t.value}}},createElementStreamTransform(){}});async function t1({toolCall:e,tools:t,repairToolCall:a,system:r,messages:o}){var s;try{if(null==t){if(e.providerExecuted&&e.dynamic)return await t2(e);throw new ey({toolName:e.toolName})}try{return await t8({toolCall:e,tools:t})}catch(n){if(null==a||!(ey.isInstance(n)||U.isInstance(n)))throw n;let s=null;try{s=await a({toolCall:e,tools:t,inputSchema:async({toolName:e})=>{let{inputSchema:a}=t[e];return await asSchema3(a).jsonSchema},system:r,messages:o,error:n})}catch(e){throw new ez({cause:e,originalError:n})}if(null==s)throw n;return await t8({toolCall:s,tools:t})}}catch(o){let a=await safeParseJSON3({text:e.input}),r=a.success?a.value:e.input;return{type:"tool-call",toolCallId:e.toolCallId,toolName:e.toolName,input:r,dynamic:!0,invalid:!0,error:o,title:null==(s=null==t?void 0:t[e.toolName])?void 0:s.title,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata}}}async function t2(e){let t=""===e.input.trim()?{success:!0,value:{}}:await safeParseJSON3({text:e.input});if(!1===t.success)throw new U({toolName:e.toolName,toolInput:e.input,cause:t.error});return{type:"tool-call",toolCallId:e.toolCallId,toolName:e.toolName,input:t.value,providerExecuted:!0,dynamic:!0,providerMetadata:e.providerMetadata}}async function t8({toolCall:e,tools:t}){let a=e.toolName,r=t[a];if(null==r){if(e.providerExecuted&&e.dynamic)return await t2(e);throw new ey({toolName:e.toolName,availableTools:Object.keys(t)})}let o=asSchema3(r.inputSchema),s=""===e.input.trim()?await safeValidateTypes3({value:{},schema:o}):await safeParseJSON3({text:e.input,schema:o});if(!1===s.success)throw new U({toolName:a,toolInput:e.input,cause:s.error});return"dynamic"===r.type?{type:"tool-call",toolCallId:e.toolCallId,toolName:e.toolName,input:s.value,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,dynamic:!0,title:r.title}
9:{type:"tool-call",toolCallId:e.toolCallId,toolName:a,input:s.value,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,title:r.title}}var t3=class{constructor({content:e,finishReason:t,rawFinishReason:a,usage:r,warnings:o,request:s,response:n,providerMetadata:i}){this.content=e,this.finishReason=t,this.rawFinishReason=a,this.usage=r,this.warnings=o,this.request=s,this.response=n,this.providerMetadata=i}get text(){return this.content.filter(e=>"text"===e.type).map(e=>e.text).join("")}get reasoning(){return this.content.filter(e=>"reasoning"===e.type)}get reasoningText(){return 0===this.reasoning.length?void 0:this.reasoning.map(e=>e.text).join("")}get files(){return this.content.filter(e=>"file"===e.type).map(e=>e.file)}get sources(){return this.content.filter(e=>"source"===e.type)}get toolCalls(){return this.content.filter(e=>"tool-call"===e.type)}get staticToolCalls(){return this.toolCalls.filter(e=>!0!==e.dynamic)}get dynamicToolCalls(){return this.toolCalls.filter(e=>!0===e.dynamic)}get toolResults(){return this.content.filter(e=>"tool-result"===e.type)}get staticToolResults(){return this.toolResults.filter(e=>!0!==e.dynamic)}get dynamicToolResults(){return this.toolResults.filter(e=>!0===e.dynamic)}};async function t4({stopConditions:e,steps:t}){return(await Promise.all(e.map(e=>e({steps:t})))).some(e=>e)}async function t7({content:e,tools:t}){let a=[],r=[];for(let a of e)if("source"!==a.type&&("tool-result"!==a.type&&"tool-error"!==a.type||a.providerExecuted)&&("text"!==a.type||0!==a.text.length))switch(a.type){case"text":r.push({type:"text",text:a.text,providerOptions:a.providerMetadata});break;case"reasoning":r.push({type:"reasoning",text:a.text,providerOptions:a.providerMetadata});break;case"file":r.push({type:"file",data:a.file.base64,mediaType:a.file.mediaType,providerOptions:a.providerMetadata});break;case"tool-call":r.push({type:"tool-call",toolCallId:a.toolCallId,toolName:a.toolName,input:a.input,providerExecuted:a.providerExecuted,providerOptions:a.providerMetadata});break;case"tool-result":{let e=await ta({toolCallId:a.toolCallId,input:a.input,tool:null==t?void 0:t[a.toolName],output:a.output,errorMode:"none"});
9r.push({type:"tool-result",toolCallId:a.toolCallId,toolName:a.toolName,output:e,providerOptions:a.providerMetadata});break}case"tool-error":{let e=await ta({toolCallId:a.toolCallId,input:a.input,tool:null==t?void 0:t[a.toolName],output:a.error,errorMode:"json"});r.push({type:"tool-result",toolCallId:a.toolCallId,toolName:a.toolName,output:e,providerOptions:a.providerMetadata});break}case"tool-approval-request":r.push({type:"tool-approval-request",approvalId:a.approvalId,toolCallId:a.toolCall.toolCallId})}r.length>0&&a.push({role:"assistant",content:r});let o=[];for(let a of e){if("tool-result"!==a.type&&"tool-error"!==a.type||a.providerExecuted)continue;let e=await ta({toolCallId:a.toolCallId,input:a.input,tool:null==t?void 0:t[a.toolName],output:"tool-result"===a.type?a.output:a.error,errorMode:"tool-error"===a.type?"text":"none"});o.push({type:"tool-result",toolCallId:a.toolCallId,toolName:a.toolName,output:e,...null!=a.providerMetadata?{providerOptions:a.providerMetadata}:{}})}return o.length>0&&a.push({role:"tool",content:o}),a}var t6=(0,w.hK)({prefix:"aitxt",size:24});async function t5({toolCalls:e,tools:t,tracer:a,telemetry:r,messages:o,abortSignal:s,experimental_context:n}){return(await Promise.all(e.map(async e=>tB({toolCall:e,tools:t,tracer:a,telemetry:r,messages:o,abortSignal:s,experimental_context:n})))).filter(e=>null!=e)}var t9=class{constructor(e){this.steps=e.steps,this._output=e.output,this.totalUsage=e.totalUsage}get finalStep(){return this.steps[this.steps.length-1]}get content(){return this.finalStep.content}get text(){return this.finalStep.text}get files(){return this.finalStep.files}get reasoningText(){return this.finalStep.reasoningText}get reasoning(){return this.finalStep.reasoning}get toolCalls(){return this.finalStep.toolCalls}get staticToolCalls(){return this.finalStep.staticToolCalls}get dynamicToolCalls(){return this.finalStep.dynamicToolCalls}get toolResults(){return this.finalStep.toolResults}get staticToolResults(){return this.finalStep.staticToolResults}get dynamicToolResults(){return this.finalStep.dynamicToolResults}get sources(){return this.finalStep.sources}get finishReason(){return this.finalStep.finishReason}get rawFinishReason(){return this.finalStep.rawFinishReason}get warnings(){return this.finalStep.warnings}get providerMetadata(){return this.finalStep.providerMetadata}get response(){return this.finalStep.response}get request(){return this.finalStep.request}get usage(){return this.finalStep.usage}get experimental_output(){return this.output}get output(){if(null==this._output)throw new eo;return this._output}};function ae(e){let t=e.filter(e=>"tool-call"===e.type);if(0!==t.length)return t.map(e=>({toolCallId:e.toolCallId,toolName:e.toolName,input:e.input}))}function at(e,t){let a=new Headers(null!=e?e:{});for(let[e,r]of Object.entries(t))a.has(e)||a.set(e,r);return a}function aa({status:e,statusText:t,headers:a,textStream:r}){return new Response(r.pipeThrough(new TextEncoderStream),{status:null!=e?e:200,statusText:t,headers:at(a,{"content-type":"text/plain; charset=utf-8"})})}function ar({response:e,status:t,statusText:a,headers:r,stream:o}){let s=null!=t?t:200;void 0!==a?e.writeHead(s,a,r):e.writeHead(s,r);let n=o.getReader();(async()=>{try{for(;;){let{done:t,value:a}=await n.read();if(t)break;e.write(a)||await new Promise(t=>{e.once("drain",t)})}}catch(e){throw e}finally{e.end()}})()}function ao({response:e,status:t,statusText:a,headers:r,textStream:o}){ar({response:e,status:t,statusText:a,headers:Object.fromEntries(at(r,{"content-type":"text/plain; charset=utf-8"}).entries()),stream:o.pipeThrough(new TextEncoderStream)})}var as=class extends TransformStream{constructor(){super({transform(e,t){t.enqueue(`data: ${JSON.stringify(e)} 10 11`)},flush(e){e.enqueue("data: [DONE]\n\n")}})}},an={"content-type":"text/event-stream","cache-control":"no-cache",connection:"keep-alive","x-vercel-ai-ui-message-stream":"v1","x-accel-buffering":"no"},ai=(0,w.ID)(()=>(0,w.jN)(x.z.union([x.z.strictObject({type:x.z.literal("text-start"),id:x.z.string(),providerMetadata:ti.optional()}),x.z.strictObject({type:x.z.literal("text-delta"),id:x.z.string(),delta:x.z.string(),providerMetadata:ti.optional()}),x.z.strictObject({type:x.z.literal("text-end"),id:x.z.string(),providerMetadata:ti.optional()}),x.z.strictObject({type:x.z.literal("error"),errorText:x.z.string()}),x.z.strictObject({type:x.z.literal("tool-input-start"),toolCallId:x.z.string(),toolName:x.z.string(),providerExecuted:x.z.boolean().optional(),providerMetadata:ti.optional(),dynamic:x.z.boolean().optional(),title:x.z.string().optional()}),x.z.strictObject({type:x.z.literal("tool-input-delta"),toolCallId:x.z.string(),inputTextDelta:x.z.string()}),x.z.strictObject({type:x.z.literal("tool-input-available"),toolCallId:x.z.string(),toolName:x.z.string(),input
11:x.z.unknown(),providerExecuted:x.z.boolean().optional(),providerMetadata:ti.optional(),dynamic:x.z.boolean().optional(),title:x.z.string().optional()}),x.z.strictObject({type:x.z.literal("tool-input-error"),toolCallId:x.z.string(),toolName:x.z.string(),input:x.z.unknown(),providerExecuted:x.z.boolean().optional(),providerMetadata:ti.optional(),dynamic:x.z.boolean().optional(),errorText:x.z.string(),title:x.z.string().optional()}),x.z.strictObject({type:x.z.literal("tool-approval-request"),approvalId:x.z.string(),toolCallId:x.z.string()}),x.z.strictObject({type:x.z.literal("tool-output-available"),toolCallId:x.z.string(),output:x.z.unknown(),providerExecuted:x.z.boolean().optional(),dynamic:x.z.boolean().optional(),preliminary:x.z.boolean().optional()}),x.z.strictObject({type:x.z.literal("tool-output-error"),toolCallId:x.z.string(),errorText:x.z.string(),providerExecuted:x.z.boolean().optional(),dynamic:x.z.boolean().optional()}),x.z.strictObject({type:x.z.literal("tool-output-denied"),toolCallId:x.z.string()}),x.z.strictObject({type:x.z.literal("reasoning-start"),id:x.z.string(),providerMetadata:ti.optional()}),x.z.strictObject({type:x.z.literal("reasoning-delta"),id:x.z.string(),delta:x.z.string(),providerMetadata:ti.optional()}),x.z.strictObject({type:x.z.literal("reasoning-end"),id:x.z.string(),providerMetadata:ti.optional()}),x.z.strictObject({type:x.z.literal("source-url"),sourceId:x.z.string(),url:x.z.string(),title:x.z.string().optional(),providerMetadata:ti.optional()}),x.z.strictObject({type:x.z.literal("source-document"),sourceId:x.z.string(),mediaType:x.z.string(),title:x.z.string(),filename:x.z.string().optional(),providerMetadata:ti.optional()}),x.z.strictObject({type:x.z.literal("file"),url:x.z.string(),mediaType:x.z.string(),providerMetadata:ti.optional()}),x.z.strictObject({type:x.z.custom(e=>"string"==typeof e&&e.startsWith("data-"),{message:'Type must start with "data-"'}),id:x.z.string().optional(),data:x.z.unknown(),transient:x.z.boolean().optional()}),x.z.strictObject({type:x.z.literal("start-step")}),x.z.strictObject({type:x.z.literal("finish-step")}),x.z.strictObject({type:x.z.literal("start"),messageId:x.z.string().optional(),messageMetadata:x.z.unknown().optional()}),x.z.strictObject({type:x.z.literal("finish"),finishReason:x.z.enum(["stop","length","content-filter","tool-calls","error","other"]).optional(),messageMetadata:x.z.unknown().optional()}),x.z.strictObject({type:x.z.literal("abort"),reason:x.z.string().optional()}),x.z.strictObject({type:x.z.literal("message-metadata"),messageMetadata:x.z.unknown()})])));function al(e){return e.type.startsWith("data-")}function au(e){return"text"===e.type}function ap(e){return"file"===e.type}function ad(e){return"reasoning"===e.type}function ac(e){return e.type.startsWith("tool-")}function am(e){return"dynamic-tool"===e.type}function ah(e){return ac(e)||am(e)}function av(e){return e.type.split("-").slice(1).join("-")}function af(e){return am(e)?e.toolName:av(e)}function ay({lastMessage:e,messageId:t}){return{message:(null==e?void 0:e.role)==="assistant"?e:{id:t,metadata:void 0,role:"assistant",parts:[]},activeTextParts:{},activeReasoningParts:{},partialToolCalls:{}}}function ag({stream:e,messageMetadataSchema:t,dataPartSchemas:a,runUpdateMessageJob:r,onError:o,onToolCall:s,onData:n}){return e.pipeThrough(new TransformStream({async transform(e,i){await r(async({state:r,write:l})=>{var u,p,d,c;function m(e){let t=r.message.parts.filter(ah).find(t=>t.toolCallId===e);if(null==t)throw new ek({chunkType:"tool-invocation",chunkId:e,message:`No tool invocation found for tool call ID "${e}".`});return t}function h(e){var t;let a=r.message.parts.find(t=>ac(t)&&t.toolCallId===e.toolCallId);null!=a?(a.state=e.state,a.input=e.input,a.output=e.output,a.errorText=e.errorText,a.rawInput=e.rawInput,a.preliminary=e.preliminary,void 0!==e.title&&(a.title=e.title),a.providerExecuted=null!=(t=e.providerExecuted)?t:a.providerExecuted,null!=e.providerMetadata&&(a.callProviderMetadata=e.providerMetadata)):r.message.parts.push({type:`tool-${e.toolName}`,toolCallId:e.toolCallId,state:e.state,title:e.title,input:e.input,output:e.output,rawInput:e.rawInput,errorText:e.errorText,providerExecuted:e.providerExecuted,preliminary:e.preliminary,...null!=e.providerMetadata?{callProviderMetadata:e.providerMetadata}:{}})}function v(e){var t,a;let o=r.message.parts.find(t=>"dynamic-tool"===t.type&&t.toolCallId===e.toolCallId);null!=o?(o.state=e.state,o.toolName=e.toolName,o.input=e.input,o.output=e.output,o.errorText=e.errorText,o.rawInput=null!=(t=e.rawInput)?t:o.rawInput,o.preliminary=e.preliminary,void 0!==e.title&&(o.title=e.title),o.providerExecuted=null!=(a=e.providerExecuted)?a:o.providerExecuted,null!=e.providerMetadata&&(o.callProviderMetadata=e.providerMetadata)):r.message.parts.push({type:"dynamic-tool",toolName:e.toolName,toolCallId:e.toolCallId,state:e.state,input:e.input,output:e.output,errorText:e.errorText,preliminary:e.preliminary,providerExecuted:e.providerExecuted,title:e.title,...null!=e.providerMetadata?{callProviderMetadata:e.providerMetadata}:{}})}async function f(e){if(null!=e){let a=null!=r.message.metadata?t$(r.message.metadata,e):e;null!=t&&await (0,w.k5)({value:a,schema:t,context:{field:"message.metadata",entityId:r.message.id}}),r.message.metadata=a}}switch(e.type){case"text-start":{let t={type:"text",text:"",providerMetadata:e.providerMetadata,state:"streaming"};r.activeTextParts[e.id]=t,r.message.parts.push(t),l();break}case"text-delta":{let t=r.activeTextParts[e.id];if(null==t)throw new ek({chunkType:"text-delta",chunkId:e.id,message:`Received text-delta for missing text part with ID "${e.id}". Ensure a "text-start" chunk is sent before any "text-delta" chunks.`});t.text+=e.delta,t.providerMetadata=null!=(u=e.providerMetadata)?u:t.providerMetadata,l();break}case"text-end":{let t=r.activeTextParts[e.id];if(null==t)throw new ek({chunkType:"text-end",chunkId:e.id,message:`Received text-end for missing text part with ID "${e.id}". Ensure a "text-start" chunk is sent before any "text-end" chunks.`});t.state="done",t.providerMetadata=null!=(p=e.providerMetadata)?p:t.providerMetadata,delete r.activeTextParts[e.id],l();break}case"reasoning-start":{let t={type:"reasoning",text:"",providerMetadata:e.providerMetadata,state:"streaming"};r.activeReasoningParts[e.id]=t,r.message.parts.push(t),l();break}case"reasoning-delta":{let t=r.activeReasoningParts[e.id];if(null==t)throw new ek({chunkType:"reasoning-delta",chunkId:e.id,message:`Received reasoning-delta for missing reasoning part with ID "${e.id}". Ensure a "reasoning-start" chunk is sent before any "reasoning-delta" chunks.`});t.text+=e.delta,t.providerMetadata=null!=(d=e.providerMetadata)?d:t.providerMetadata,l();break}case"reasoning-end":{let t=r.activeReasoningParts[e.id];if(null==t)throw new ek({chunkType:"reasoning-end",chunkId:e.id,message:`Received reasoning-end for missing reasoning part with ID "${e.id}". Ensure a "reasoning-start" chunk is sent before any "reasoning-end" chunks.`});t.providerMetadata=null!=(c=e.providerMetadata)?c:t.providerMetadata,t.state="done",delete r.activeReasoningParts[e.id],l();break}case"file":r.message.parts.push({type:"file",mediaType:e.mediaType,url:e.url}),l();break;case"source-url":r.message.parts.push({type:"source-url",sourceId:e.sourceId,url:e.url,title:e.title,providerMetadata:e.providerMetadata}),l();break;case"source-document":r.message.parts.push({type:"source-document",sourceId:e.sourceId,mediaType:e.mediaType,title:e.title,filename:e.filename,providerMetadata:e.providerMetadata}),l();break;case"tool-input-start":{let t=r.message.parts.filter(ac);r.partialToolCalls[e.toolCallId]={text:"",toolName:e.toolName,index:t.length,dynamic:e.dynamic,title:e.title},e.dynamic?v({toolCallId:e.toolCallId,toolName:e.toolName,state:"input-streaming",input:void 0,providerExecuted:e.providerExecuted,title:e.title,providerMetadata:e.providerMetadata}):h({toolCallId:e.toolCallId,toolName:e.toolName,state:"input-streaming",input:void 0,providerExecuted:e.providerExecuted,title:e.title,providerMetadata:e.providerMetadata}),l();break}case"tool-input-delta":{let t=r.partialToolCalls[e.toolCallId];if(null==t)throw new ek({chunkType:"tool-input-delta",chunkId:e.toolCallId,message:`Received tool-input-delta for missing tool call with ID "${e.toolCallId}". Ensure a "tool-input-start" chunk is sent before any "tool-input-delta" chunks.`});t.text+=e.inputTextDelta;let{value:a}=await tK(t.text);t.dynamic?v({toolCallId:e.toolCallId,toolName:t.toolName,state:"input-streaming",input:a,title:t.title}):h({toolCallId:e.toolCallId,toolName:t.toolName,state:"input-streaming",input:a,title:t.title}),l();break}case"tool-input-available":e.dynamic?v({toolCallId:e.toolCallId,toolName:e.toolName,state:"input-available",input:e.input,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,title:e.title}):h({toolCallId:e.toolCallId,toolName:e.toolName,state:"input-available",input:e.input,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,title:e.title}),l(),s&&!e.providerExecuted&&await s({toolCall:e});break;case"tool-input-error":e.dynamic?v({toolCallId:e.toolCallId,toolName:e.toolName,state:"output-error",input:e.input,errorText:e.errorText,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata}):h({toolCallId:e.toolCallId,toolName:e.toolName,state:"output-error",input:void 0,rawInput:e.input,errorText:e.errorText,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata}),l();break;case"tool-approval-request":{let t=m(e.toolCallId);t.state="approval-requested",t.approval={id:e.approvalId},l();break}case"tool-output-denied":m(e.toolCallId).state="output-denied",l();break;case"tool-output-available":{let t=m(e.toolCallId);"dynamic-tool"===t.type?v({toolCallId:e.toolCallId,toolName:t.toolName,state:"output-available",input:t.input,output:e.output,preliminary:e.preliminary,providerExecuted:e.providerExecuted,title:t.title}):h({toolCallId:e.toolCallId,toolName:av(t),state:"output-available",input:t.input,output:e.output,providerExecuted:e.providerExecuted,preliminary:e.preliminary,title:t.title}),l();break}case"tool-output-error":{let t=m(e.toolCallId);"dynamic-tool"===t.type?v({toolCallId:e.toolCallId,toolName:t.toolName,state:"output-error",input:t.input,errorText:e.errorText,providerExecuted:e.providerExecuted,title:t.title}):h({toolCallId:e.toolCallId,toolName:av(t),state:"output-error",input:t.input,rawInput:t.rawInput,errorText:e.errorText,providerExecuted:e.providerExecuted,title:t.title}),l();break}case"start-step":r.message.parts.push({type:"step-start"});break;case"finish-step":r.activeTextParts={},r.activeReasoningParts={};break;case"start":null!=e.messageId&&(r.message.id=e.messageId),await f(e.messageMetadata),(null!=e.messageId||null!=e.messageMetadata)&&l();break;
11case"finish":null!=e.finishReason&&(r.finishReason=e.finishReason),await f(e.messageMetadata),null!=e.messageMetadata&&l();break;case"message-metadata":await f(e.messageMetadata),null!=e.messageMetadata&&l();break;case"error":null==o||o(Error(e.errorText));break;default:if(e.type.startsWith("data-")){if((null==a?void 0:a[e.type])!=null){let t=r.message.parts.findIndex(t=>"id"in t&&"data"in t&&t.id===e.id&&t.type===e.type),o=t>=0?t:r.message.parts.length;await (0,w.k5)({value:e.data,schema:a[e.type],context:{field:`message.parts[${o}].data`,entityName:e.type,entityId:e.id}})}if(e.transient){null==n||n(e);break}let t=null!=e.id?r.message.parts.find(t=>e.type===t.type&&e.id===t.id):void 0;null!=t?t.data=e.data:r.message.parts.push(e),null==n||n(e),l()}}i.enqueue(e)})}}))}function ab(e){let t=e.pipeThrough(new TransformStream);return t[Symbol.asyncIterator]=function(){let e=this.getReader(),t=!1;async function a(a){var r;if(!t){t=!0;try{a&&await (null==(r=e.cancel)?void 0:r.call(e))}finally{try{e.releaseLock()}catch(e){}}}}return{async next(){if(t)return{done:!0,value:void 0};let{done:r,value:o}=await e.read();return r?(await a(!0),{done:!0,value:void 0}):{done:!1,value:o}},return:async()=>(await a(!0),{done:!0,value:void 0}),async throw(e){throw await a(!0),e}}},t}async function aI({stream:e,onError:t}){let a=e.getReader();try{for(;;){let{done:e}=await a.read();if(e)break}}catch(e){null==t||t(e)}finally{a.releaseLock()}}function az(){let e,t;return{promise:new Promise((a,r)=>{e=a,t=r}),resolve:e,reject:t}}function aw(){let e=[],t=null,a=!1,r=az(),o=()=>{a=!0,r.resolve(),e.forEach(e=>e.cancel()),e=[],null==t||t.close()},s=async()=>{if(a&&0===e.length){null==t||t.close();return}if(0===e.length)return r=az(),await r.promise,s();try{let{value:r,done:o}=await e[0].read();o?(e.shift(),0===e.length&&a?null==t||t.close():await s()):null==t||t.enqueue(r)}catch(a){null==t||t.error(a),e.shift(),o()}};return{stream:new ReadableStream({start(e){t=e},pull:s,async cancel(){for(let t of e)await t.cancel();e=[],a=!0}}),addStream:t=>{if(a)throw Error("Cannot add inner stream: outer stream is closed");e.push(t.getReader()),r.resolve()},close:()=>{a=!0,r.resolve(),0===e.length&&(null==t||t.close())},terminate:o}}async function aT(e,t){let a=[];for(let o of((null==t?void 0:t.ignoreIncompleteToolCalls)&&(e=e.map(e=>({...e,parts:e.parts.filter(e=>!ah(e)||"input-streaming"!==e.state&&"input-available"!==e.state)}))),e))switch(o.role){case"system":{let e=o.parts.filter(e=>"text"===e.type),t=e.reduce((e,t)=>null!=t.providerMetadata?{...e,...t.providerMetadata}:e,{});a.push({role:"system",content:e.map(e=>e.text).join(""),...Object.keys(t).length>0?{providerOptions:t}:{}});break}case"user":a.push({role:"user",content:o.parts.map(e=>{var a;return au(e)?{type:"text",text:e.text,...null!=e.providerMetadata?{providerOptions:e.providerMetadata}:{}}:ap(e)?{type:"file",mediaType:e.mediaType,filename:e.filename,data:e.url,...null!=e.providerMetadata?{providerOptions:e.providerMetadata}:{}}:al(e)?null==(a=null==t?void 0:t.convertDataPart)?void 0:a.call(t,e):void 0}).filter(isNonNullable)});break;case"assistant":if(null!=o.parts){let e=[];async function r(){var r,o,s,n,i,l;if(0===e.length)return;let u=[];for(let a of e)if(au(a))u.push({type:"text",text:a.text,...null!=a.providerMetadata?{providerOptions:a.providerMetadata}:{}});else if(ap(a))u.push({type:"file",mediaType:a.mediaType,filename:a.filename,data:a.url});else if(ad(a))u.push({type:"reasoning",text:a.text,providerOptions:a.providerMetadata});else if(ah(a)){let e=af(a);"input-streaming"!==a.state&&(u.push({type:"tool-call",toolCallId:a.toolCallId,toolName:e,input:"output-error"===a.state?null!=(r=a.input)?r:"rawInput"in a?a.rawInput:void 0:a.input,providerExecuted:a.providerExecuted,...null!=a.callProviderMetadata?{providerOptions:a.callProviderMetadata}:{}}),null!=a.approval&&u.push({type:"tool-approval-request",approvalId:a.approval.id,toolCallId:a.toolCallId}),!0===a.providerExecuted&&"approval-responded"!==a.state&&("output-available"===a.state||"output-error"===a.state)&&u.push({type:"tool-result",toolCallId:a.toolCallId,toolName:e,output:await ta({toolCallId:a.toolCallId,input:a.input,output:"output-error"===a.state?a.errorText:a.output,tool:null==(o=null==t?void 0:t.tools)?void 0:o[e],errorMode:"output-error"===a.state?"json":"none"}),...null!=a.callProviderMetadata?{providerOptions:a.callProviderMetadata}:{}}))}else if(al(a)){let e=null==(s=null==t?void 0:t.convertDataPart)?void 0:s.call(t,a);null!=e&&u.push(e)}else throw Error(`Unsupported part: ${a}`);a.push({role:"assistant",content:u});let p=e.filter(e=>{var t;return ah(e)&&(!0!==e.providerExecuted||(null==(t=e.approval)?void 0:t.approved)!=null)});if(p.length>0){let e=[];for(let a of p)if((null==(n=a.approval)?void 0:n.approved)!=null&&e.push({type:"tool-approval-response",approvalId:a.approval.id,approved:a.approval.approved,reason:a.approval.reason,providerExecuted:a.providerExecuted}),!0!==a.providerExecuted)switch(a.state){case"output-denied":e.push({type:"tool-result",toolCallId:a.toolCallId,toolName:af(a),output:{type:"error-text",value:null!=(i=a.approval.reason)?i:"Tool execution denied."},...null!=a.callProviderMetadata?{providerOptions:a.callProviderMetadata}:{}});break;
11case"output-error":case"output-available":{let r=af(a);e.push({type:"tool-result",toolCallId:a.toolCallId,toolName:r,output:await ta({toolCallId:a.toolCallId,input:a.input,output:"output-error"===a.state?a.errorText:a.output,tool:null==(l=null==t?void 0:t.tools)?void 0:l[r],errorMode:"output-error"===a.state?"text":"none"}),...null!=a.callProviderMetadata?{providerOptions:a.callProviderMetadata}:{}})}}e.length>0&&a.push({role:"tool",content:e})}e=[]}for(let t of o.parts)au(t)||ad(t)||ap(t)||ah(t)||al(t)?e.push(t):"step-start"===t.type&&await r();await r()}break;default:{let e=o.role;throw new e$({originalMessage:o,message:`Unsupported role: ${e}`})}}return a}(0,w.hK)({prefix:"aitxt",size:24});var ax=(0,w.ID)(()=>(0,w.jN)(x.z.array(x.z.object({id:x.z.string(),role:x.z.enum(["system","user","assistant"]),metadata:x.z.unknown().optional(),parts:x.z.array(x.z.union([x.z.object({type:x.z.literal("text"),text:x.z.string(),state:x.z.enum(["streaming","done"]).optional(),providerMetadata:ti.optional()}),x.z.object({type:x.z.literal("reasoning"),text:x.z.string(),state:x.z.enum(["streaming","done"]).optional(),providerMetadata:ti.optional()}),x.z.object({type:x.z.literal("source-url"),sourceId:x.z.string(),url:x.z.string(),title:x.z.string().optional(),providerMetadata:ti.optional()}),x.z.object({type:x.z.literal("source-document"),sourceId:x.z.string(),mediaType:x.z.string(),title:x.z.string(),filename:x.z.string().optional(),providerMetadata:ti.optional()}),x.z.object({type:x.z.literal("file"),mediaType:x.z.string(),filename:x.z.string().optional(),url:x.z.string(),providerMetadata:ti.optional()}),x.z.object({type:x.z.literal("step-start")}),x.z.object({type:x.z.string().startsWith("data-"),id:x.z.string().optional(),data:x.z.unknown()}),x.z.object({type:x.z.literal("dynamic-tool"),toolName:x.z.string(),toolCallId:x.z.string(),state:x.z.literal("input-streaming"),input:x.z.unknown().optional(),providerExecuted:x.z.boolean().optional(),callProviderMetadata:ti.optional(),output:x.z.never().optional(),errorText:x.z.never().optional(),approval:x.z.never().optional()}),x.z.object({type:x.z.literal("dynamic-tool"),toolName:x.z.string(),toolCallId:x.z.string(),state:x.z.literal("input-available"),input:x.z.unknown(),providerExecuted:x.z.boolean().optional(),output:x.z.never().optional(),errorText:x.z.never().optional(),callProviderMetadata:ti.optional(),approval:x.z.never().optional()}),x.z.object({type:x.z.literal("dynamic-tool"),toolName:x.z.string(),toolCallId:x.z.string(),state:x.z.literal("approval-requested"),input:x.z.unknown(),providerExecuted:x.z.boolean().optional(),output:x.z.never().optional(),errorText:x.z.never().optional(),callProviderMetadata:ti.optional(),approval:x.z.object({id:x.z.string(),approved:x.z.never().optional(),reason:x.z.never().optional()})}),x.z.object({type:x.z.literal("dynamic-tool"),toolName:x.z.string(),toolCallId:x.z.string(),state:x.z.literal("approval-responded"),input:x.z.unknown(),providerExecuted:x.z.boolean().optional(),output:x.z.never().optional(),errorText:x.z.never().optional(),callProviderMetadata:ti.optional(),approval:x.z.object({id:x.z.string(),approved:x.z.boolean(),reason:x.z.string().optional()})}),x.z.object({type:x.z.literal("dynamic-tool"),toolName:x.z.string(),toolCallId:x.z.string(),state:x.z.literal("output-available"),input:x.z.unknown(),providerExecuted:x.z.boolean().optional(),output:x.z.unknown(),errorText:x.z.never().optional(),callProviderMetadata:ti.optional(),preliminary:x.z.boolean().optional(),approval:x.z.object({id:x.z.string(),approved:x.z.literal(!0),reason:x.z.string().optional()}).optional()}),x.z.object({type:x.z.literal("dynamic-tool"),toolName:x.z.string(),toolCallId:x.z.string(),state:x.z.literal("output-error"),input:x.z.unknown(),rawInput:x.z.unknown().optional(),providerExecuted:x.z.boolean().optional(),output:x.z.never().optional(),errorText:x.z.string(),callProviderMetadata:ti.optional(),approval:x.z.object({id:x.z.string(),approved:x.z.literal(!0),reason:x.z.string().optional()}).optional()}),x.z.object({type:x.z.literal("dynamic-tool"),toolName:x.z.string(),toolCallId:x.z.string(),state:x.z.literal("output-denied"),input:x.z.unknown(),providerExecuted:x.z.boolean().optional(),output:x.z.never().optional(),errorText:x.z.never().optional(),callProviderMetadata:ti.optional(),approval:x.z.object({id:x.z.string(),approved:x.z.literal(!1),reason:x.z.string().optional()})}),x.z.object({type:x.z.string().startsWith("tool-"),toolCallId:x.z.string(),state:x.z.literal("input-streaming"),providerExecuted:x.z.boolean().optional(),callProviderMetadata:ti.optional(),input
11:x.z.unknown().optional(),output:x.z.never().optional(),errorText:x.z.never().optional(),approval:x.z.never().optional()}),x.z.object({type:x.z.string().startsWith("tool-"),toolCallId:x.z.string(),state:x.z.literal("input-available"),providerExecuted:x.z.boolean().optional(),input:x.z.unknown(),output:x.z.never().optional(),errorText:x.z.never().optional(),callProviderMetadata:ti.optional(),approval:x.z.never().optional()}),x.z.object({type:x.z.string().startsWith("tool-"),toolCallId:x.z.string(),state:x.z.literal("approval-requested"),input:x.z.unknown(),providerExecuted:x.z.boolean().optional(),output:x.z.never().optional(),errorText:x.z.never().optional(),callProviderMetadata:ti.optional(),approval:x.z.object({id:x.z.string(),approved:x.z.never().optional(),reason:x.z.never().optional()})}),x.z.object({type:x.z.string().startsWith("tool-"),toolCallId:x.z.string(),state:x.z.literal("approval-responded"),input:x.z.unknown(),providerExecuted:x.z.boolean().optional(),output:x.z.never().optional(),errorText:x.z.never().optional(),callProviderMetadata:ti.optional(),approval:x.z.object({id:x.z.string(),approved:x.z.boolean(),reason:x.z.string().optional()})}),x.z.object({type:x.z.string().startsWith("tool-"),toolCallId:x.z.string(),state:x.z.literal("output-available"),providerExecuted:x.z.boolean().optional(),input:x.z.unknown(),output:x.z.unknown(),errorText:x.z.never().optional(),callProviderMetadata:ti.optional(),preliminary:x.z.boolean().optional(),approval:x.z.object({id:x.z.string(),approved:x.z.literal(!0),reason:x.z.string().optional()}).optional()}),x.z.object({type:x.z.string().startsWith("tool-"),toolCallId:x.z.string(),state:x.z.literal("output-error"),providerExecuted:x.z.boolean().optional(),input:x.z.unknown(),rawInput:x.z.unknown().optional(),output:x.z.never().optional(),errorText:x.z.string(),callProviderMetadata:ti.optional(),approval:x.z.object({id:x.z.string(),approved:x.z.literal(!0),reason:x.z.string().optional()}).optional()}),x.z.object({type:x.z.string().startsWith("tool-"),toolCallId:x.z.string(),state:x.z.literal("output-denied"),providerExecuted:x.z.boolean().optional(),input:x.z.unknown(),output:x.z.never().optional(),errorText:x.z.never().optional(),callProviderMetadata:ti.optional(),approval:x.z.object({id:x.z.string(),approved:x.z.literal(!1),reason:x.z.string().optional()})})])).nonempty("Message must contain at least one part")})).nonempty("Messages array must not be empty")));async function aE({messages:e,metadataSchema:t,dataSchemas:a,tools:r}){try{if(null==e)return{success:!1,error:new M({parameter:"messages",value:e,message:"messages parameter must be provided"})};let o=await validateTypes2({value:e,schema:ax});if(t)for(let[e,a]of o.entries())await validateTypes2({value:a.metadata,schema:t,context:{field:`messages[${e}].metadata`,entityId:a.id}});if(a||r)for(let[e,t]of o.entries())for(let[o,s]of t.parts.entries()){if(a&&s.type.startsWith("data-")){let t=s.type.slice(5),r=a[t];if(!r)return{success:!1,error:new TypeValidationError3({value:s.data,cause:`No data schema found for data part ${t}`,context:{field:`messages[${e}].parts[${o}].data`,entityName:t,entityId:s.id}})};await validateTypes2({value:s.data,schema:r,context:{field:`messages[${e}].parts[${o}].data`,entityName:t,entityId:s.id}})}if(r&&s.type.startsWith("tool-")){let t=s.type.slice(5),a=r[t];if(!a)return{success:!1,error:new TypeValidationError3({value:s.input,cause:`No tool schema found for tool part ${t}`,context:{field:`messages[${e}].parts[${o}].input`,entityName:t,entityId:s.toolCallId}})};("input-available"===s.state||"output-available"===s.state||"output-error"===s.state&&void 0!==s.input)&&await validateTypes2({value:s.input,schema:a.inputSchema,context:{field:`messages[${e}].parts[${o}].input`,entityName:t,entityId:s.toolCallId}}),"output-available"===s.state&&a.outputSchema&&await validateTypes2({value:s.output,schema:a.outputSc
11hema,context:{field:`messages[${e}].parts[${o}].output`,entityName:t,entityId:s.toolCallId}})}}return{success:!0,data:o}}catch(e){return{success:!1,error:e}}}async function ak({messages:e,metadataSchema:t,dataSchemas:a,tools:r}){let o=await aE({messages:e,metadataSchema:t,dataSchemas:a,tools:r});if(!o.success)throw o.error;return o.data}var aS={type:"no-schema",jsonSchema:async()=>void 0,validatePartialResult:async({value:e,textDelta:t})=>({success:!0,value:{partial:e,textDelta:t}}),validateFinalResult:async(e,t)=>void 0===e?{success:!1,error:new ee({message:"No object generated: response did not match schema.",text:t.text,response:t.response,usage:t.usage,finishReason:t.finishReason})}:{success:!0,value:e},createElementStream(){throw new T.b8({functionality:"element streams in no-schema mode"})}},aC=e=>({type:"object",jsonSchema:async()=>await e.jsonSchema,validatePartialResult:async({value:e,textDelta:t})=>({success:!0,value:{partial:e,textDelta:t}}),validateFinalResult:async t=>safeValidateTypes4({value:t,schema:e}),createElementStream(){throw new UnsupportedFunctionalityError3({functionality:"element streams in object mode"})}}),aR=e=>({type:"array",jsonSchema:async()=>{let{$schema:t,...a}=await e.jsonSchema;return{$schema:"http://json-schema.org/draft-07/schema#",type:"object",properties:{elements:{type:"array",items:a}},required:["elements"],additionalProperties:!1}},async validatePartialResult({value:t,latestObject:a,isFirstDelta:r,isFinalDelta:o}){var s;if(!isJSONObject(t)||!isJSONArray(t.elements))return{success:!1,error:new TypeValidationError4({value:t,cause:"value must be an object that contains an array of elements"})};let n=t.elements,i=[];for(let t=0;t<n.length;t++){let a=n[t],r=await safeValidateTypes4({value:a,schema:e});if(t!==n.length-1||o){if(!r.success)return r;i.push(r.value)}}let l=null!=(s=null==a?void 0:a.length)?s:0,u="";return r&&(u+="["),l>0&&(u+=","),u+=i.slice(l).map(e=>JSON.stringify(e)).join(","),o&&(u+="]"),{success:!0,value:{partial:i,textDelta:u}}},async validateFinalResult(t){if(!isJSONObject(t)||!isJSONArray(t.elements))return{success:!1,error:new TypeValidationError4({value:t,cause:"value must be an object that contains an array of elements"})};let a=t.elements;for(let t of a){let a=await safeValidateTypes4({value:t,schema:e});if(!a.success)return a}return{success:!0,value:a}},createElementStream(e){let t=0;return ab(e.pipeThrough(new TransformStream({transform(e,a){switch(e.type){case"object":{let r=e.object;for(;t<r.length;t++)a.enqueue(r[t]);break}case"text-delta":case"finish":case"error":break;default:throw Error(`Unsupported chunk type: ${e}`)}}})))}}),aM=e=>({type:"enum",jsonSchema:async()=>({$schema:"http://json-schema.org/draft-07/schema#",type:"object",properties:{result:{type:"string",enum:e}},required:["result"],additionalProperties:!1}),async validateFinalResult(t){if(!isJSONObject(t)||"string"!=typeof t.result)return{success:!1,error:new TypeValidationError4({value:t,cause:'value must be an object that contains a string in the "result" property.'})};let a=t.result;return e.includes(a)?{success:!0,value:a}:{success:!1,error:new TypeValidationError4({value:t,cause:"value must be a string in the enum"})}},async validatePartialResult({value:t,textDelta:a}){if(!isJSONObject(t)||"string"!=typeof t.result)return{success:!1,error:new TypeValidationError4({value:t,cause:'value must be an object that contains a string in the "result" property.'})};let r=t.result,o=e.filter(e=>e.startsWith(r));return 0===t.result.length||0===o.length?{success:!1,error:new TypeValidationError4({value:t,cause:"value must be a string in the enum"})}:{success:!0,value:{partial:o.length>1?r:o[0],textDelta:a}}},createElementStream(){throw new UnsupportedFunctionalityError3({functionality:"element streams in enum mode"})}});async function aN(e,t,a){let r=await safeParseJSON4({text:e});if(!r.success)throw new ee({message:"No object generated: could not parse the response.",cause:r.error,text:e,response:a.response,usage:a.usage,finishReason:a.finishReason});let o=await t.validateFinalResult(r.value,{text:e,response:a.response,usage:a.usage});if(!o.success)throw new ee({message:"No object generated: response did not match sc
11hema.",cause:o.error,text:e,response:a.response,usage:a.usage,finishReason:a.finishReason});return o.value}async function aA(e,t,a,r){try{return await aN(e,t,r)}catch(o){if(null!=a&&ee.isInstance(o)&&(JSONParseError2.isInstance(o.cause)||TypeValidationError5.isInstance(o.cause))){let s=await a({text:e,error:o.cause});if(null===s)throw o;return await aN(s,t,r)}throw o}}function aO(e,t){if(e===t)return!0;if(null==e||null==t)return!1;if("object"!=typeof e&&"object"!=typeof t)return e===t;if(e.constructor!==t.constructor)return!1;if(e instanceof Date&&t instanceof Date)return e.getTime()===t.getTime();if(Array.isArray(e)){if(e.length!==t.length)return!1;for(let a=0;a<e.length;a++)if(!aO(e[a],t[a]))return!1;return!0}let a=Object.keys(e),r=Object.keys(t);if(a.length!==r.length)return!1;for(let o of a)if(!r.includes(o)||!aO(e[o],t[o]))return!1;return!0}(0,w.hK)({prefix:"aiobj",size:24});var aj=class{constructor(){this.queue=[],this.isProcessing=!1}async processQueue(){if(!this.isProcessing){for(this.isProcessing=!0;this.queue.length>0;)await this.queue[0](),this.queue.shift();this.isProcessing=!1}}async run(e){return new Promise((t,a)=>{this.queue.push(async()=>{try{await e(),t()}catch(e){a(e)}}),this.processQueue()})}};(0,w.hK)({prefix:"aiobj",size:24});var a_=({model:e,middleware:t,modelId:a,providerId:r})=>[...e5(t)].reverse().reduce((e,t)=>aD({model:e,middleware:t,modelId:a,providerId:r}),e),aD=({model:e,middleware:{transformParams:t,wrapGenerate:a,wrapStream:r,overrideProvider:o,overrideModelId:s,overrideSupportedUrls:n},modelId:i,providerId:l})=>{var u,p,d;async function c({params:a,type:r}){return t?await t({params:a,type:r,model:e}):a}return{specificationVersion:"v3",provider:null!=(u=null!=l?l:null==o?void 0:o({model:e}))?u:e.provider,modelId:null!=(p=null!=i?i:null==s?void 0:s({model:e}))?p:e.modelId,supportedUrls:null!=(d=null==n?void 0:n({model:e}))?d:e.supportedUrls,async doGenerate(t){let r=await c({params:t,type:"generate"}),o=async()=>e.doGenerate(r),s=async()=>e.doStream(r);return a?a({doGenerate:o,doStream:s,params:r,model:e}):o()},async doStream(t){let a=await c({params:t,type:"stream"}),o=async()=>e.doGenerate(a),s=async()=>e.doStream(a);return r?r({doGenerate:o,doStream:s,params:a,model:e}):s()}}},aP=({model:e,middleware:t,modelId:a,providerId:r})=>[...e5(t)].reverse().reduce((e,t)=>a$({model:e,middleware:t,modelId:a,providerId:r}),e),a$=({model:e,middleware:{transformParams:t,wrapGenerate:a,overrideProvider:r,overrideModelId:o,overrideMaxImagesPerCall:s},modelId:n,providerId:i})=>{var l,u,p;async function d({params:a}){return t?await t({params:a,model:e}):a}let c=null!=(l=null==s?void 0:s({model:e}))?l:e.maxImagesPerCall,m=c instanceof Function?c.bind(e):c;return{specificationVersion:"v3",provider:null!=(u=null!=i?i:null==r?void 0:r({model:e}))?u:e.provider,modelId:null!=(p=null!=n?n:null==o?void 0:o({model:e}))?p:e.modelId,maxImagesPerCall:m,async doGenerate(t){let r=await d({params:t}),o=async()=>e.doGenerate(r);return a?a({doGenerate:o,params:r,model:e}):o()}}},aU="AI_NoSuchProviderError",aq=`vercel.ai.error.${aU}`,aF=Symbol.for(aq),aL=class extends T.eM{constructor({modelId:e,modelType:t,providerId:a,availableProviders:r,message:o=`No such provider: ${a} (available providers: ${r.join()})`}){super({errorName:aU,modelId:e,modelType:t,message:o}),this[z]=!0,this.providerId=a,this.availableProviders=r}static isInstance(e){return T.bD.hasMarker(e,aq)}};z=aF;async function aB(e){if(null==e)return[];if(!globalThis.FileList||!(e instanceof globalThis.FileList))throw Error("FileList is not supported in the current environment");return Promise.all(Array.from(e).map(async e=>{let{name:t,type:a}=e;return{type:"file",mediaType:a,filename:t,url:await new Promise((t,a)=>{let r=new FileReader;r.onload=e=>{var a;t(null==(a=e.target)?void 0:a.result)},r.onerror=e=>a(e),r.readAsDataURL(e)})}}))}var aW=class{constructor({api:e="/api/chat",credentials:t,headers:a,body:r,fetch:o,prepareSendMessagesRequest:s,prepareReconnectToStreamRequest:n}){this.api=e,this.credentials=t,this.headers=a,this.body=r,this.fetch=o,this.prepareSendMessagesRequest=s,this.prepareReconnectToStreamRequest=n}async sendMessages({abortSignal:e,...t}){var a,r,o,s,n;let i=await (0,w.hd)(this.body),l=await (0,w.hd)(this.headers),u=await (0,w.hd)(this.credentials),p={...(0,w.qx)(l),...(0,w.qx)(t.headers)},d=await (null==(a=this.prepareSendMessagesRequest)?void 0:a.call(this,{api:this.api,id:t.chatId,messages:t.messages,body:{...i,...t.body},headers:p,credentials:u,requestMetadata:t.metadata,trigger:t.trigger,messageId:t.messageId})),c=null!=(r=null==d?void 0:d.api)?r:this.api,m=(null==d?void 0:d.headers)!==void 0?(0,w.qx)(d.headers):p,h=(null==d?void 0:d.body)!==void 0?d.body:{...i,...t.body,id:t.chatId,messages:t.messages,trigger:t.trigger,messageId:t.messageId},v=null!=(o=null==d?void 0:d.credentials)?o:u,f=null!=(s=this.fetch)?s:globalThis.fetch,y=await f(c,{method:"POST",headers:(0,w.WZ)({"Content-Type":"application/json",...m},`ai-sdk/${e2}`,(0,w.G1)()),body:JSON.stringify(h),credentials:v,signal:e});if(!y.ok)throw Error(null!=(n=await y.text())?n:"Failed to fetch the chat response.");if(!y.body)throw Error("The response body is empty.");return this.processResponseStream(y.body)}async reconnectToStream(e){var t,a,r,o,s;let n=await (0,w.hd)(this.body),i=await (0,w.hd)(this.headers),l=await (0,w.hd)(this.credentials),u={...(0,w.qx)(i),...(0,w.qx)(e.headers)},p=await (null==(t=this.prepareReconnectToStreamRequest)?void 0:t.call(this,{api:this.api,id:e.chatId,body:{...n,...e.body},headers:u,credentials:l,requestMetadata:e.metadata})),d=null!=(a=null==p?void 0:p.api)?a:`${this.api}/${e.chatId}/stream`,c=(null==p?void 0:p.headers)!==void 0?(0,w.qx)(p.headers):u,m=null!=(r=null==p?void 0:p.credentials)?r:l,h=null!=(o=this.fetch)?o:globalThis.fetch,v=await h(d,{method:"GET",headers:(0,w.WZ)(c,`ai-sdk/${e2}`,(0,w.G1)()),credentials:m});if(204===v.status)return null;if(!v.ok)throw Error(null!=(s=await v.text())?s:"Failed to fetch the chat response.");if(!v.body)throw Error("The response body is empty.");return this.processResponseStream(v.body)}},aV=class extends aW{constructor(e={}){super(e)}processResponseStream(e){return(0,w._Z)({stream:e,schema:ai}).pipeThrough(new TransformStream({async transform(e,t){if(!e.success)throw e.error;t.enqueue(e.value)}}))}},aJ=class{constructor({generateId:e=w.$C,id:t=e(),transport:a=new aV,messageMetadataSchema:r,dataPartSchemas:o,state:s,onError:n,onToolCall:i,onFinish:l,onData:u,sendAutomaticallyWhen:p}){this.activeResponse=void 0,this.jobExecutor=new aj,this.sendMessage=async(e,t)=>{var a,r,o,s;let n;
11if(null==e)return void await this.makeRequest({trigger:"submit-message",messageId:null==(a=this.lastMessage)?void 0:a.id,...t});if(n="text"in e||"files"in e?{parts:[...Array.isArray(e.files)?e.files:await aB(e.files),..."text"in e&&null!=e.text?[{type:"text",text:e.text}]:[]]}:e,null!=e.messageId){let t=this.state.messages.findIndex(t=>t.id===e.messageId);if(-1===t)throw Error(`message with id ${e.messageId} not found`);if("user"!==this.state.messages[t].role)throw Error(`message with id ${e.messageId} is not a user message`);this.state.messages=this.state.messages.slice(0,t+1),this.state.replaceMessage(t,{...n,id:e.messageId,role:null!=(r=n.role)?r:"user",metadata:e.metadata})}else this.state.pushMessage({...n,id:null!=(o=n.id)?o:this.generateId(),role:null!=(s=n.role)?s:"user",metadata:e.metadata});await this.makeRequest({trigger:"submit-message",messageId:e.messageId,...t})},this.regenerate=async({messageId:e,...t}={})=>{let a=null==e?this.state.messages.length-1:this.state.messages.findIndex(t=>t.id===e);if(-1===a)throw Error(`message ${e} not found`);this.state.messages=this.state.messages.slice(0,"assistant"===this.messages[a].role?a:a+1),await this.makeRequest({trigger:"regenerate-message",messageId:e,...t})},this.resumeStream=async(e={})=>{await this.makeRequest({trigger:"resume-stream",...e})},this.clearError=()=>{"error"===this.status&&(this.state.error=void 0,this.setStatus({status:"ready"}))},this.addToolApprovalResponse=async({id:e,approved:t,reason:a})=>this.jobExecutor.run(async()=>{let r=this.state.messages,o=r[r.length-1],s=r=>ah(r)&&"approval-requested"===r.state&&r.approval.id===e?{...r,state:"approval-responded",approval:{id:e,approved:t,reason:a}}:r;this.state.replaceMessage(r.length-1,{...o,parts:o.parts.map(s)}),this.activeResponse&&(this.activeResponse.state.message.parts=this.activeResponse.state.message.parts.map(s)),"streaming"!==this.status&&"submitted"!==this.status&&this.sendAutomaticallyWhen&&this.shouldSendAutomatically().then(e=>{var t;e&&this.makeRequest({trigger:"submit-message",messageId:null==(t=this.lastMessage)?void 0:t.id})})}),this.addToolOutput=async({state:e="output-available",tool:t,toolCallId:a,output:r,errorText:o})=>this.jobExecutor.run(async()=>{let t=this.state.messages,s=t[t.length-1],n=t=>ah(t)&&t.toolCallId===a?{...t,state:e,output:r,errorText:o}:t;this.state.replaceMessage(t.length-1,{...s,parts:s.parts.map(n)}),this.activeResponse&&(this.activeResponse.state.message.parts=this.activeResponse.state.message.parts.map(n)),"streaming"!==this.status&&"submitted"!==this.status&&this.sendAutomaticallyWhen&&this.shouldSendAutomatically().then(e=>{var t;e&&this.makeRequest({trigger:"submit-message",messageId:null==(t=this.lastMessage)?void 0:t.id})})}),this.addToolResult=this.addToolOutput,this.stop=async()=>{var e;("streaming"===this.status||"submitted"===this.status)&&(null==(e=this.activeResponse)?void 0:e.abortController)&&this.activeResponse.abortController.abort()},this.id=t,this.transport=a,this.generateId=e,this.messageMetadataSchema=r,this.dataPartSchemas=o,this.state=s,this.onError=n,this.onToolCall=i,this.onFinish=l,this.onData=u,this.sendAutomaticallyWhen=p}get status(){return this.state.status}setStatus({status:e,error:t}){this.status!==e&&(this.state.status=e,this.state.error=t)}get error(){return this.state.error}get messages(){return this.state.messages}get lastMessage(){return this.state.messages[this.state.messages.length-1]}set messages(e){this.state.messages=e}async shouldSendAutomatically(){if(!this.sendAutomaticallyWhen)return!1;let e=this.sendAutomaticallyWhen({messages:this.state.messages});return e&&"object"==typeof e&&"then"in e?await e:e}async makeRequest({trigger:e,metadata:t,headers:a,body:r,messageId:o}){var s,n,i;this.setStatus({status:"submitted",error:void 0});let l=this.lastMessage,u=!1,p=!1,d=!1;try{let s,n={state:ay({lastMessage:this.state.snapshot(l),messageId:this.generateId()}),abortController:new AbortController};if(n.abortController.signal.addEventListener("abort",()=>{u=!0}),this.activeResponse=n,"resume-stream"===e){let e=await this.transport.reconnectToStream({chatId:this.id,metadata:t,headers:a,body:r});if(null==e)return void this.setStatus({status:"ready"});s=e}else s=await this.transport.sendMessages({chatId:this.id,messages:this.state.messages,abortSignal:n.abortController.signal,metadata:t,headers:a,body:r,trigger:e,messageId:o});
11await aI({stream:ag({stream:s,onToolCall:this.onToolCall,onData:this.onData,messageMetadataSchema:this.messageMetadataSchema,dataPartSchemas:this.dataPartSchemas,runUpdateMessageJob:e=>this.jobExecutor.run(()=>e({state:n.state,write:()=>{var e;this.setStatus({status:"streaming"}),n.state.message.id===(null==(e=this.lastMessage)?void 0:e.id)?this.state.replaceMessage(this.state.messages.length-1,n.state.message):this.state.pushMessage(n.state.message)}})),onError:e=>{throw e}}),onError:e=>{throw e}}),this.setStatus({status:"ready"})}catch(e){if(u||"AbortError"===e.name)return u=!0,this.setStatus({status:"ready"}),null;d=!0,e instanceof TypeError&&(e.message.toLowerCase().includes("fetch")||e.message.toLowerCase().includes("network"))&&(p=!0),this.onError&&e instanceof Error&&this.onError(e),this.setStatus({status:"error",error:e})}finally{try{null==(n=this.onFinish)||n.call(this,{message:this.activeResponse.state.message,messages:this.state.messages,isAbort:u,isDisconnect:p,isError:d,finishReason:null==(s=this.activeResponse)?void 0:s.state.finishReason})}catch(e){console.error(e)}this.activeResponse=void 0}!d&&await this.shouldSendAutomatically()&&await this.makeRequest({trigger:"submit-message",messageId:null==(i=this.lastMessage)?void 0:i.id,metadata:t,headers:a,body:r})}}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.