"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1864],{17072:(e,t,a)=>{a.d(t,{E:()=>V,E_:()=>K,ey:()=>J,hG:()=>B,o$:()=>W,qG:()=>er,rL:()=>et,vl:()=>ea});var r,o,s=a(45226),i=a(14287),l=a(65565);a(29143);var n=Object.defineProperty,p=Symbol.for("vercel.ai.error.AI_InvalidArgumentError");i.bD;Symbol.for("vercel.ai.error.AI_InvalidStreamPartError");i.bD;Symbol.for("vercel.ai.error.AI_InvalidToolApprovalError");i.bD;Symbol.for("vercel.ai.error.AI_InvalidToolInputError");i.bD;Symbol.for("vercel.ai.error.AI_ToolCallNotFoundForApprovalError");i.bD;Symbol.for("vercel.ai.error.AI_MissingToolResultsError");i.bD;Symbol.for("vercel.ai.error.AI_NoImageGeneratedError");i.bD;var u="AI_NoObjectGeneratedError",d=`vercel.ai.error.${u}`,c=Symbol.for(d),m=class extends i.bD{constructor({message:e="No object generated.",cause:t,text:a,response:o,usage:s,finishReason:i}){super({name:u,message:e,cause:t}),this[r]=!0,this.text=a,this.response=o,this.usage=s,this.finishReason=i}static isInstance(e){return i.bD.hasMarker(e,d)}};r=c;Symbol.for("vercel.ai.error.AI_NoOutputGeneratedError");i.bD;Symbol.for("vercel.ai.error.AI_NoSpeechGeneratedError");i.bD;Symbol.for("vercel.ai.error.AI_NoTranscriptGeneratedError");i.bD;Symbol.for("vercel.ai.error.AI_NoVideoGeneratedError");i.bD;Symbol.for("vercel.ai.error.AI_NoSuchToolError");i.bD;Symbol.for("vercel.ai.error.AI_ToolCallRepairError");i.bD,i.bD;var h="AI_UIMessageStreamError",v=`vercel.ai.error.${h}`,I=Symbol.for(v),g=class extends i.bD{constructor({chunkType:e,chunkId:t,message:a}){super({name:h,message:a}),this[o]=!0,this.chunkType=e,this.chunkId=t}static isInstance(e){return i.bD.hasMarker(e,v)}};o=I;Symbol.for("vercel.ai.error.AI_InvalidDataContentError");i.bD;Symbol.for("vercel.ai.error.AI_InvalidMessageRoleError");i.bD;Symbol.for("vercel.ai.error.AI_MessageConversionError");i.bD;Symbol.for("vercel.ai.error.AI_RetryError");i.bD;var y="6.0.84",f=async({url:e,maxBytes:t,abortSignal:a})=>{var r;let o=e.toString();try{let e=await fetch(o,{headers:(0,s.WZ)({},`ai-sdk/${y}`,(0,s.G1)()),signal:a});if(!e.ok)throw new s.nV({url:o,statusCode:e.status,statusText:e.statusText});return{data:await (0,s.cS)({response:e,url:o,maxBytes:null!=t?t:s.W}),mediaType:null!=(r=e.headers.get("content-type"))?r:void 0}}catch(e){if(s.nV.isInstance(e))throw e;throw new s.nV({url:o,cause:e})}},E=l.KC([l.Yj(),l.Nl(Uint8Array),l.Nl(ArrayBuffer),l.Ie(e=>{var t,a;return null!=(a=null==(t=globalThis.Buffer)?void 0:t.isBuffer(e))&&a},{message:"Must be a Buffer"})]),b=l.RZ(()=>l.KC([l.ch(),l.Yj(),l.ai(),l.zM(),l.g1(l.Yj(),b.optional()),l.YO(b)])),x=l.g1(l.Yj(),l.g1(l.Yj(),b.optional())),j=l.Ik({type:l.eu("text"),text:l.Yj(),providerOptions:x.optional()}),T=l.Ik({type:l.eu("image"),image:l.KC([E,l.Nl(URL)]),mediaType:l.Yj().optional(),providerOptions:x.optional()}),M=l.Ik({type:l.eu("file"),data:l.KC([E,l.Nl(URL)]),filename:l.Yj().optional(),mediaType:l.Yj(),providerOptions:x.optional()}),Y=l.Ik({type:l.eu("reasoning"),text:l.Yj(),providerOptions:x.optional()}),k=l.Ik({type:l.eu("tool-call"),toolCallId:l.Yj(),toolName:l.Yj(),input:l.L5(),providerOptions:x.optional(),providerExecuted:l.zM().optional()}),R=l.gM("type",[l.Ik({type:l.eu("text"),value:l.Yj(),providerOptions:x.optional()}),l.Ik({type:l.eu("json"),value:b,providerOptions:x.optional()}),l.Ik({type:l.eu("execution-denied"),reason:l.Yj().optional(),providerOptions:x.optional()}),l.Ik({type:l.eu("error-text"),value:l.Yj(),providerOptions:x.optional()}),l.Ik({type:l.eu("error-json"),value:b,providerOptions:x.optional()}),l.Ik({type:l.eu("content"),value:l.YO(l.KC([l.Ik({type:l.eu("text"),text:l.Yj(),providerOptions:x.optional()}),l.Ik({type:l.eu("media"),data:l.Yj(),mediaType:l.Yj()}),l.Ik({type:l.eu("file-data"),data:l.Yj(),mediaType:l.Yj(),filename:l.Yj().optional(),providerOptions:x.optional()}),l.Ik({type:l.eu("file-url"),url:l.Yj(),providerOptions:x.optional()}),l.Ik({type:l.eu("file-id"),fileId:l.KC([l.Yj(),l.g1(l.Yj(),l.Yj())]),providerOptions:x.optional()}),l.Ik({type:l.eu("image-data"),data:l.Yj(),mediaType:l.Yj(),providerOptions:x.optional()}),l.Ik({type:l.eu("image-url"),url:l.Yj(),providerOptions:x.optional()}),l.Ik({type:l.eu("image-file-id"),fileId:l.KC([l.Yj(),l.g1(l.Yj(),l.Yj())]),providerOptions:x.optional()}),l.Ik({type:l.eu("custom"),providerOptions:x.optional()})]))})]),w=l.Ik({type:l.eu("tool-result"),toolCallId:l.Yj(),toolName:l.Yj(),output:R,providerOptions:x.optional()}),C=l.Ik({type:l.eu("tool-approval-request"),approvalId:l.Yj(),toolCallId:l.Yj()}),_=l.Ik({type:l.eu("tool-approval-response"),approvalId:l.Yj(),approved:l.zM(),reason:l.Yj().optional()}),A=l.Ik({role:l.eu("system"),content:l.Yj(),providerOptions:x.optional()}),N=l.Ik({role:l.eu("user"),content:l.KC([l.Yj(),l.YO(l.KC([j,T,M]))]),providerOptions:x.optional()}),S=l.Ik({role:l.eu("assistant"),content:l.KC([l.Yj(),l.YO(l.KC([j,M,Y,k,w,C]))]),providerOptions:x.optional()}),D=l.Ik({role:l.eu("tool"),content:l.YO(l.KC([w,_])),providerOptions:x.optional()});async function O(e){if(void 0===e)return{value:void 0,state:"undefined-input"};let t=await (0,s.N8)({text:e});return t.success?{value:t.value,state:"successful-parse"}:(t=await (0,s.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 i(e,r){switch(e){case",":t.pop(),t.push("INSIDE_ARRAY_AFTER_COMMA");break;case"]":a=r,t.pop()}}for(let l=0;l=0;a--)switch(t[a]){case"INSIDE_STRING":l+='"';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":l+="}";break;case"INSIDE_ARRAY_START":case"INSIDE_ARRAY_AFTER_COMMA":case"INSIDE_ARRAY_AFTER_VALUE":l+="]";break;case"INSIDE_LITERAL":{let t=e.substring(r,e.length);"true".startsWith(t)?l+="true".slice(t.length):"false".startsWith(t)?l+="false".slice(t.length):"null".startsWith(t)&&(l+="null".slice(t.length))}}return l}(e)})).success?{value:t.value,state:"repaired-parse"}:{value:void 0,state:"failed-parse"}}l.KC([A,N,S,D]),((e,t)=>{for(var a in t)n(e,a,{get:t[a],enumerable:!0})})({},{array:()=>Z,choice:()=>F,json:()=>q,object:()=>P,text:()=>L});var L=()=>({name:"text",responseFormat:Promise.resolve({type:"text"}),parseCompleteOutput:async({text:e})=>e,parsePartialOutput:async({text:e})=>({partial:e}),createElementStreamTransform(){}}),P=({schema:e,name:t,description:a})=>{let r=(0,s.mD)(e);return{name:"object",responseFormat:(0,s.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,s.N8)({text:e});if(!a.success)throw new m({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,s.ZZ)({value:a.value,schema:r});if(!o.success)throw new m({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.value},async parsePartialOutput({text:e}){let t=await O(e);switch(t.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":return{partial:t.value}}},createElementStreamTransform(){}}},Z=({element:e,name:t,description:a})=>{let r=(0,s.mD)(e);return{name:"array",responseFormat:(0,s.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,s.N8)({text:e});if(!a.success)throw new m({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 m({message:"No object generated: response did not match schema.",cause:new i.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,s.ZZ)({value:a,schema:r});if(!o.success)throw new m({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 O(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,s.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({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,s.N8)({text:t});if(!r.success)throw new m({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 m({message:"No object generated: response did not match schema.",cause:new i.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 O(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(){}}),q=({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,s.N8)({text:e});if(!a.success)throw new m({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 O(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(){}});(0,s.hK)({prefix:"aitxt",size:24}),TransformStream;var z=(0,s.ID)(()=>(0,s.jN)(l.KC([l.re({type:l.eu("text-start"),id:l.Yj(),providerMetadata:x.optional()}),l.re({type:l.eu("text-delta"),id:l.Yj(),delta:l.Yj(),providerMetadata:x.optional()}),l.re({type:l.eu("text-end"),id:l.Yj(),providerMetadata:x.optional()}),l.re({type:l.eu("error"),errorText:l.Yj()}),l.re({type:l.eu("tool-input-start"),toolCallId:l.Yj(),toolName:l.Yj(),providerExecuted:l.zM().optional(),providerMetadata:x.optional(),dynamic:l.zM().optional(),title:l.Yj().optional()}),l.re({type:l.eu("tool-input-delta"),toolCallId:l.Yj(),inputTextDelta:l.Yj()}),l.re({type:l.eu("tool-input-available"),toolCallId:l.Yj(),toolName:l.Yj(),input:l.L5(),providerExecuted:l.zM().optional(),providerMetadata:x.optional(),dynamic:l.zM().optional(),title:l.Yj().optional()}),l.re({type:l.eu("tool-input-error"),toolCallId:l.Yj(),toolName:l.Yj(),input:l.L5(),providerExecuted:l.zM().optional(),providerMetadata:x.optional(),dynamic:l.zM().optional(),errorText:l.Yj(),title:l.Yj().optional()}),l.re({type:l.eu("tool-approval-request"),approvalId:l.Yj(),toolCallId:l.Yj()}),l.re({type:l.eu("tool-output-available"),toolCallId:l.Yj(),output:l.L5(),providerExecuted:l.zM().optional(),dynamic:l.zM().optional(),preliminary:l.zM().optional()}),l.re({type:l.eu("tool-output-error"),toolCallId:l.Yj(),errorText:l.Yj(),providerExecuted:l.zM().optional(),dynamic:l.zM().optional()}),l.re({type:l.eu("tool-output-denied"),toolCallId:l.Yj()}),l.re({type:l.eu("reasoning-start"),id:l.Yj(),providerMetadata:x.optional()}),l.re({type:l.eu("reasoning-delta"),id:l.Yj(),delta:l.Yj(),providerMetadata:x.optional()}),l.re({type:l.eu("reasoning-end"),id:l.Yj(),providerMetadata:x.optional()}),l.re({type:l.eu("source-url"),sourceId:l.Yj(),url:l.Yj(),title:l.Yj().optional(),providerMetadata:x.optional()}),l.re({type:l.eu("source-document"),sourceId:l.Yj(),mediaType:l.Yj(),title:l.Yj(),filename:l.Yj().optional(),providerMetadata:x.optional()}),l.re({type:l.eu("file"),url:l.Yj(),mediaType:l.Yj(),providerMetadata:x.optional()}),l.re({type:l.Ie(e=>"string"==typeof e&&e.startsWith("data-"),{message:'Type must start with "data-"'}),id:l.Yj().optional(),data:l.L5(),transient:l.zM().optional()}),l.re({type:l.eu("start-step")}),l.re({type:l.eu("finish-step")}),l.re({type:l.eu("start"),messageId:l.Yj().optional(),messageMetadata:l.L5().optional()}),l.re({type:l.eu("finish"),finishReason:l.k5(["stop","length","content-filter","tool-calls","error","other"]).optional(),messageMetadata:l.L5().optional()}),l.re({type:l.eu("abort"),reason:l.Yj().optional()}),l.re({type:l.eu("message-metadata"),messageMetadata:l.L5()})])));function B(e){return"text"===e.type}function W(e){return"file"===e.type}function K(e){return e.type.startsWith("tool-")}function U(e){return"dynamic-tool"===e.type}function J(e){return K(e)||U(e)}function $(e){return e.type.split("-").slice(1).join("-")}function V(e){return U(e)?e.toolName:$(e)}async function G({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 Q(e){return({url:t,abortSignal:a})=>f({url:t,maxBytes:null==e?void 0:e.maxBytes,abortSignal:a})}(0,s.hK)({prefix:"aitxt",size:24}),(0,s.ID)(()=>(0,s.jN)(l.YO(l.Ik({id:l.Yj(),role:l.k5(["system","user","assistant"]),metadata:l.L5().optional(),parts:l.YO(l.KC([l.Ik({type:l.eu("text"),text:l.Yj(),state:l.k5(["streaming","done"]).optional(),providerMetadata:x.optional()}),l.Ik({type:l.eu("reasoning"),text:l.Yj(),state:l.k5(["streaming","done"]).optional(),providerMetadata:x.optional()}),l.Ik({type:l.eu("source-url"),sourceId:l.Yj(),url:l.Yj(),title:l.Yj().optional(),providerMetadata:x.optional()}),l.Ik({type:l.eu("source-document"),sourceId:l.Yj(),mediaType:l.Yj(),title:l.Yj(),filename:l.Yj().optional(),providerMetadata:x.optional()}),l.Ik({type:l.eu("file"),mediaType:l.Yj(),filename:l.Yj().optional(),url:l.Yj(),providerMetadata:x.optional()}),l.Ik({type:l.eu("step-start")}),l.Ik({type:l.Yj().startsWith("data-"),id:l.Yj().optional(),data:l.L5()}),l.Ik({type:l.eu("dynamic-tool"),toolName:l.Yj(),toolCallId:l.Yj(),state:l.eu("input-streaming"),input:l.L5().optional(),providerExecuted:l.zM().optional(),callProviderMetadata:x.optional(),output:l.Zm().optional(),errorText:l.Zm().optional(),approval:l.Zm().optional()}),l.Ik({type:l.eu("dynamic-tool"),toolName:l.Yj(),toolCallId:l.Yj(),state:l.eu("input-available"),input:l.L5(),providerExecuted:l.zM().optional(),output:l.Zm().optional(),errorText:l.Zm().optional(),callProviderMetadata:x.optional(),approval:l.Zm().optional()}),l.Ik({type:l.eu("dynamic-tool"),toolName:l.Yj(),toolCallId:l.Yj(),state:l.eu("approval-requested"),input:l.L5(),providerExecuted:l.zM().optional(),output:l.Zm().optional(),errorText:l.Zm().optional(),callProviderMetadata:x.optional(),approval:l.Ik({id:l.Yj(),approved:l.Zm().optional(),reason:l.Zm().optional()})}),l.Ik({type:l.eu("dynamic-tool"),toolName:l.Yj(),toolCallId:l.Yj(),state:l.eu("approval-responded"),input:l.L5(),providerExecuted:l.zM().optional(),output:l.Zm().optional(),errorText:l.Zm().optional(),callProviderMetadata:x.optional(),approval:l.Ik({id:l.Yj(),approved:l.zM(),reason:l.Yj().optional()})}),l.Ik({type:l.eu("dynamic-tool"),toolName:l.Yj(),toolCallId:l.Yj(),state:l.eu("output-available"),input:l.L5(),providerExecuted:l.zM().optional(),output:l.L5(),errorText:l.Zm().optional(),callProviderMetadata:x.optional(),preliminary:l.zM().optional(),approval:l.Ik({id:l.Yj(),approved:l.eu(!0),reason:l.Yj().optional()}).optional()}),l.Ik({type:l.eu("dynamic-tool"),toolName:l.Yj(),toolCallId:l.Yj(),state:l.eu("output-error"),input:l.L5(),rawInput:l.L5().optional(),providerExecuted:l.zM().optional(),output:l.Zm().optional(),errorText:l.Yj(),callProviderMetadata:x.optional(),approval:l.Ik({id:l.Yj(),approved:l.eu(!0),reason:l.Yj().optional()}).optional()}),l.Ik({type:l.eu("dynamic-tool"),toolName:l.Yj(),toolCallId:l.Yj(),state:l.eu("output-denied"),input:l.L5(),providerExecuted:l.zM().optional(),output:l.Zm().optional(),errorText:l.Zm().optional(),callProviderMetadata:x.optional(),approval:l.Ik({id:l.Yj(),approved:l.eu(!1),reason:l.Yj().optional()})}),l.Ik({type:l.Yj().startsWith("tool-"),toolCallId:l.Yj(),state:l.eu("input-streaming"),providerExecuted:l.zM().optional(),callProviderMetadata:x.optional(),input:l.L5().optional(),output:l.Zm().optional(),errorText:l.Zm().optional(),approval:l.Zm().optional()}),l.Ik({type:l.Yj().startsWith("tool-"),toolCallId:l.Yj(),state:l.eu("input-available"),providerExecuted:l.zM().optional(),input:l.L5(),output:l.Zm().optional(),errorText:l.Zm().optional(),callProviderMetadata:x.optional(),approval:l.Zm().optional()}),l.Ik({type:l.Yj().startsWith("tool-"),toolCallId:l.Yj(),state:l.eu("approval-requested"),input:l.L5(),providerExecuted:l.zM().optional(),output:l.Zm().optional(),errorText:l.Zm().optional(),callProviderMetadata:x.optional(),approval:l.Ik({id:l.Yj(),approved:l.Zm().optional(),reason:l.Zm().optional()})}),l.Ik({type:l.Yj().startsWith("tool-"),toolCallId:l.Yj(),state:l.eu("approval-responded"),input:l.L5(),providerExecuted:l.zM().optional(),output:l.Zm().optional(),errorText:l.Zm().optional(),callProviderMetadata:x.optional(),approval:l.Ik({id:l.Yj(),approved:l.zM(),reason:l.Yj().optional()})}),l.Ik({type:l.Yj().startsWith("tool-"),toolCallId:l.Yj(),state:l.eu("output-available"),providerExecuted:l.zM().optional(),input:l.L5(),output:l.L5(),errorText:l.Zm().optional(),callProviderMetadata:x.optional(),preliminary:l.zM().optional(),approval:l.Ik({id:l.Yj(),approved:l.eu(!0),reason:l.Yj().optional()}).optional()}),l.Ik({type:l.Yj().startsWith("tool-"),toolCallId:l.Yj(),state:l.eu("output-error"),providerExecuted:l.zM().optional(),input:l.L5(),rawInput:l.L5().optional(),output:l.Zm().optional(),errorText:l.Yj(),callProviderMetadata:x.optional(),approval:l.Ik({id:l.Yj(),approved:l.eu(!0),reason:l.Yj().optional()}).optional()}),l.Ik({type:l.Yj().startsWith("tool-"),toolCallId:l.Yj(),state:l.eu("output-denied"),providerExecuted:l.zM().optional(),input:l.L5(),output:l.Zm().optional(),errorText:l.Zm().optional(),callProviderMetadata:x.optional(),approval:l.Ik({id:l.Yj(),approved:l.eu(!1),reason:l.Yj().optional()})})])).nonempty("Message must contain at least one part")})).nonempty("Messages array must not be empty"))),(0,s.hK)({prefix:"aiobj",size:24});var H=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,s.hK)({prefix:"aiobj",size:24}),Q();Symbol.for("vercel.ai.error.AI_NoSuchProviderError");async function X(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)})}}))}i.eM,Q();var ee=class{constructor({api:e="/api/chat",credentials:t,headers:a,body:r,fetch:o,prepareSendMessagesRequest:s,prepareReconnectToStreamRequest:i}){this.api=e,this.credentials=t,this.headers=a,this.body=r,this.fetch=o,this.prepareSendMessagesRequest=s,this.prepareReconnectToStreamRequest=i}async sendMessages({abortSignal:e,...t}){var a,r,o,i,l;let n=await (0,s.hd)(this.body),p=await (0,s.hd)(this.headers),u=await (0,s.hd)(this.credentials),d={...(0,s.qx)(p),...(0,s.qx)(t.headers)},c=await (null==(a=this.prepareSendMessagesRequest)?void 0:a.call(this,{api:this.api,id:t.chatId,messages:t.messages,body:{...n,...t.body},headers:d,credentials:u,requestMetadata:t.metadata,trigger:t.trigger,messageId:t.messageId})),m=null!=(r=null==c?void 0:c.api)?r:this.api,h=(null==c?void 0:c.headers)!==void 0?(0,s.qx)(c.headers):d,v=(null==c?void 0:c.body)!==void 0?c.body:{...n,...t.body,id:t.chatId,messages:t.messages,trigger:t.trigger,messageId:t.messageId},I=null!=(o=null==c?void 0:c.credentials)?o:u,g=null!=(i=this.fetch)?i:globalThis.fetch,f=await g(m,{method:"POST",headers:(0,s.WZ)({"Content-Type":"application/json",...h},`ai-sdk/${y}`,(0,s.G1)()),body:JSON.stringify(v),credentials:I,signal:e});if(!f.ok)throw Error(null!=(l=await f.text())?l:"Failed to fetch the chat response.");if(!f.body)throw Error("The response body is empty.");return this.processResponseStream(f.body)}async reconnectToStream(e){var t,a,r,o,i;let l=await (0,s.hd)(this.body),n=await (0,s.hd)(this.headers),p=await (0,s.hd)(this.credentials),u={...(0,s.qx)(n),...(0,s.qx)(e.headers)},d=await (null==(t=this.prepareReconnectToStreamRequest)?void 0:t.call(this,{api:this.api,id:e.chatId,body:{...l,...e.body},headers:u,credentials:p,requestMetadata:e.metadata})),c=null!=(a=null==d?void 0:d.api)?a:`${this.api}/${e.chatId}/stream`,m=(null==d?void 0:d.headers)!==void 0?(0,s.qx)(d.headers):u,h=null!=(r=null==d?void 0:d.credentials)?r:p,v=null!=(o=this.fetch)?o:globalThis.fetch,I=await v(c,{method:"GET",headers:(0,s.WZ)(m,`ai-sdk/${y}`,(0,s.G1)()),credentials:h});if(204===I.status)return null;if(!I.ok)throw Error(null!=(i=await I.text())?i:"Failed to fetch the chat response.");if(!I.body)throw Error("The response body is empty.");return this.processResponseStream(I.body)}},et=class extends ee{constructor(e={}){super(e)}processResponseStream(e){return(0,s._Z)({stream:e,schema:z}).pipeThrough(new TransformStream({async transform(e,t){if(!e.success)throw e.error;t.enqueue(e.value)}}))}},ea=class{constructor({generateId:e=s.$C,id:t=e(),transport:a=new et,messageMetadataSchema:r,dataPartSchemas:o,state:i,onError:l,onToolCall:n,onFinish:p,onData:u,sendAutomaticallyWhen:d}){this.activeResponse=void 0,this.jobExecutor=new H,this.sendMessage=async(e,t)=>{var a,r,o,s;let i;if(null==e)return void await this.makeRequest({trigger:"submit-message",messageId:null==(a=this.lastMessage)?void 0:a.id,...t});if(i="text"in e||"files"in e?{parts:[...Array.isArray(e.files)?e.files:await X(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,{...i,id:e.messageId,role:null!=(r=i.role)?r:"user",metadata:e.metadata})}else this.state.pushMessage({...i,id:null!=(o=i.id)?o:this.generateId(),role:null!=(s=i.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=>J(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],i=t=>J(t)&&t.toolCallId===a?{...t,state:e,output:r,errorText:o}:t;this.state.replaceMessage(t.length-1,{...s,parts:s.parts.map(i)}),this.activeResponse&&(this.activeResponse.state.message.parts=this.activeResponse.state.message.parts.map(i)),"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=i,this.onError=l,this.onToolCall=n,this.onFinish=p,this.onData=u,this.sendAutomaticallyWhen=d}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 i,l,n;this.setStatus({status:"submitted",error:void 0});let p=this.lastMessage,u=!1,d=!1,c=!1;try{let i,l={state:function({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:{}}}({lastMessage:this.state.snapshot(p),messageId:this.generateId()}),abortController:new AbortController};if(l.abortController.signal.addEventListener("abort",()=>{u=!0}),this.activeResponse=l,"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"});i=e}else i=await this.transport.sendMessages({chatId:this.id,messages:this.state.messages,abortSignal:l.abortController.signal,metadata:t,headers:a,body:r,trigger:e,messageId:o});let n=e=>this.jobExecutor.run(()=>e({state:l.state,write:()=>{var e;this.setStatus({status:"streaming"}),l.state.message.id===(null==(e=this.lastMessage)?void 0:e.id)?this.state.replaceMessage(this.state.messages.length-1,l.state.message):this.state.pushMessage(l.state.message)}}));await G({stream:function({stream:e,messageMetadataSchema:t,dataPartSchemas:a,runUpdateMessageJob:r,onError:o,onToolCall:i,onData:l}){return e.pipeThrough(new TransformStream({async transform(e,n){await r(async({state:r,write:p})=>{var u,d,c,m;function h(e){let t=r.message.parts.filter(J).find(t=>t.toolCallId===e);if(null==t)throw new g({chunkType:"tool-invocation",chunkId:e,message:`No tool invocation found for tool call ID "${e}".`});return t}function v(e){var t;let a=r.message.parts.find(t=>K(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 I(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 y(e){if(null!=e){let a=null!=r.message.metadata?function e(t,a){if(void 0===t&&void 0===a)return;if(void 0===t)return a;if(void 0===a)return t;let r={...t};for(let o in a)if(Object.prototype.hasOwnProperty.call(a,o)){let s=a[o];if(void 0===s)continue;let i=o in t?t[o]:void 0,l=null!==s&&"object"==typeof s&&!Array.isArray(s)&&!(s instanceof Date)&&!(s instanceof RegExp),n=null!=i&&"object"==typeof i&&!Array.isArray(i)&&!(i instanceof Date)&&!(i instanceof RegExp);l&&n?r[o]=e(i,s):r[o]=s}return r}(r.message.metadata,e):e;null!=t&&await (0,s.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),p();break}case"text-delta":{let t=r.activeTextParts[e.id];if(null==t)throw new g({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,p();break}case"text-end":{let t=r.activeTextParts[e.id];if(null==t)throw new g({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!=(d=e.providerMetadata)?d:t.providerMetadata,delete r.activeTextParts[e.id],p();break}case"reasoning-start":{let t={type:"reasoning",text:"",providerMetadata:e.providerMetadata,state:"streaming"};r.activeReasoningParts[e.id]=t,r.message.parts.push(t),p();break}case"reasoning-delta":{let t=r.activeReasoningParts[e.id];if(null==t)throw new g({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!=(c=e.providerMetadata)?c:t.providerMetadata,p();break}case"reasoning-end":{let t=r.activeReasoningParts[e.id];if(null==t)throw new g({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!=(m=e.providerMetadata)?m:t.providerMetadata,t.state="done",delete r.activeReasoningParts[e.id],p();break}case"file":r.message.parts.push({type:"file",mediaType:e.mediaType,url:e.url}),p();break;case"source-url":r.message.parts.push({type:"source-url",sourceId:e.sourceId,url:e.url,title:e.title,providerMetadata:e.providerMetadata}),p();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}),p();break;case"tool-input-start":{let t=r.message.parts.filter(K);r.partialToolCalls[e.toolCallId]={text:"",toolName:e.toolName,index:t.length,dynamic:e.dynamic,title:e.title},e.dynamic?I({toolCallId:e.toolCallId,toolName:e.toolName,state:"input-streaming",input:void 0,providerExecuted:e.providerExecuted,title:e.title,providerMetadata:e.providerMetadata}):v({toolCallId:e.toolCallId,toolName:e.toolName,state:"input-streaming",input:void 0,providerExecuted:e.providerExecuted,title:e.title,providerMetadata:e.providerMetadata}),p();break}case"tool-input-delta":{let t=r.partialToolCalls[e.toolCallId];if(null==t)throw new g({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 O(t.text);t.dynamic?I({toolCallId:e.toolCallId,toolName:t.toolName,state:"input-streaming",input:a,title:t.title}):v({toolCallId:e.toolCallId,toolName:t.toolName,state:"input-streaming",input:a,title:t.title}),p();break}case"tool-input-available":e.dynamic?I({toolCallId:e.toolCallId,toolName:e.toolName,state:"input-available",input:e.input,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,title:e.title}):v({toolCallId:e.toolCallId,toolName:e.toolName,state:"input-available",input:e.input,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,title:e.title}),p(),i&&!e.providerExecuted&&await i({toolCall:e});break;case"tool-input-error":e.dynamic?I({toolCallId:e.toolCallId,toolName:e.toolName,state:"output-error",input:e.input,errorText:e.errorText,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata}):v({toolCallId:e.toolCallId,toolName:e.toolName,state:"output-error",input:void 0,rawInput:e.input,errorText:e.errorText,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata}),p();break;case"tool-approval-request":{let t=h(e.toolCallId);t.state="approval-requested",t.approval={id:e.approvalId},p();break}case"tool-output-denied":h(e.toolCallId).state="output-denied",p();break;case"tool-output-available":{let t=h(e.toolCallId);"dynamic-tool"===t.type?I({toolCallId:e.toolCallId,toolName:t.toolName,state:"output-available",input:t.input,output:e.output,preliminary:e.preliminary,providerExecuted:e.providerExecuted,title:t.title}):v({toolCallId:e.toolCallId,toolName:$(t),state:"output-available",input:t.input,output:e.output,providerExecuted:e.providerExecuted,preliminary:e.preliminary,title:t.title}),p();break}case"tool-output-error":{let t=h(e.toolCallId);"dynamic-tool"===t.type?I({toolCallId:e.toolCallId,toolName:t.toolName,state:"output-error",input:t.input,errorText:e.errorText,providerExecuted:e.providerExecuted,title:t.title}):v({toolCallId:e.toolCallId,toolName:$(t),state:"output-error",input:t.input,rawInput:t.rawInput,errorText:e.errorText,providerExecuted:e.providerExecuted,title:t.title}),p();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 y(e.messageMetadata),(null!=e.messageId||null!=e.messageMetadata)&&p();break;case"finish":null!=e.finishReason&&(r.finishReason=e.finishReason),await y(e.messageMetadata),null!=e.messageMetadata&&p();break;case"message-metadata":await y(e.messageMetadata),null!=e.messageMetadata&&p();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,s.k5)({value:e.data,schema:a[e.type],context:{field:`message.parts[${o}].data`,entityName:e.type,entityId:e.id}})}if(e.transient){null==l||l(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==l||l(e),p()}}n.enqueue(e)})}}))}({stream:i,onToolCall:this.onToolCall,onData:this.onData,messageMetadataSchema:this.messageMetadataSchema,dataPartSchemas:this.dataPartSchemas,runUpdateMessageJob:n,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;c=!0,e instanceof TypeError&&(e.message.toLowerCase().includes("fetch")||e.message.toLowerCase().includes("network"))&&(d=!0),this.onError&&e instanceof Error&&this.onError(e),this.setStatus({status:"error",error:e})}finally{try{null==(l=this.onFinish)||l.call(this,{message:this.activeResponse.state.message,messages:this.state.messages,isAbort:u,isDisconnect:d,isError:c,finishReason:null==(i=this.activeResponse)?void 0:i.state.finishReason})}catch(e){console.error(e)}this.activeResponse=void 0}!c&&await this.shouldSendAutomatically()&&await this.makeRequest({trigger:"submit-message",messageId:null==(n=this.lastMessage)?void 0:n.id,metadata:t,headers:a,body:r})}};function er({messages:e}){let t=e[e.length-1];if(!t||"assistant"!==t.role)return!1;let a=t.parts.reduce((e,t,a)=>"step-start"===t.type?a:e,-1),r=t.parts.slice(a+1).filter(J).filter(e=>!e.providerExecuted);return r.length>0&&r.every(e=>"output-available"===e.state||"output-error"===e.state)}}}]); //# sourceMappingURL=632abcf6-28697a869bbe937f.js.map