eve
Version:
Filesystem-first framework for durable backend AI agents that run anywhere.
25 lines • 57.2 kB
JavaScript
import{AISDKError as e,APICallError as t,EmptyResponseBodyError as n,InvalidArgumentError as r,InvalidResponseDataError as i,JSONParseError as a,LoadAPIKeyError as o,NoSuchProviderReferenceError as s,TypeValidationError as c,UnsupportedFunctionalityError as l,getErrorMessage as u}from"../../@ai-sdk/provider/index.js";import{N as d,j as f}from"./schemas-4CmFgxN_.js";var p=class extends Error{constructor(e,t){super(e),this.name=`ParseError`,this.type=t.type,this.field=t.field,this.value=t.value,this.line=t.line}};function m(e){}function h(e){if(typeof e==`function`)throw TypeError("`config` must be an object, got a function instead. Did you mean `createParser({onEvent: fn})`?");let{onEvent:t=m,onError:n=m,onRetry:r=m,onComment:i,maxBufferSize:a}=e,o=[],s=0,c=!0,l,u=``,d=0,f,h=!1;function g(e){if(h)throw Error("Cannot feed parser: it was terminated after exceeding the configured max buffer size. Call `reset()` to resume parsing.");if(c&&(c=!1,e.charCodeAt(0)===239&&e.charCodeAt(1)===187&&e.charCodeAt(2)===191&&(e=e.slice(3))),o.length===0){let t=v(e);t!==``&&(o.push(t),s=t.length),_();return}if(e.indexOf(`
`)===-1&&e.indexOf(`\r`)===-1){o.push(e),s+=e.length,_();return}o.push(e);let t=o.join(``);o.length=0,s=0;let n=v(t);n!==``&&(o.push(n),s=n.length),_()}function _(){a!==void 0&&(s+u.length<=a||(h=!0,o.length=0,s=0,l=void 0,u=``,d=0,f=void 0,n(new p(`Buffered data exceeded max buffer size of ${a} characters`,{type:`max-buffer-size-exceeded`}))))}function v(e){let n=0;if(e.indexOf(`\r`)===-1){let r=e.indexOf(`
`,n);for(;r!==-1;){if(n===r){d>0&&t({id:l,event:f,data:u}),l=void 0,u=``,d=0,f=void 0,n=r+1,r=e.indexOf(`
`,n);continue}let i=e.charCodeAt(n);if(ee(e,n,i)){let i=e.charCodeAt(n+5)===32?n+6:n+5,a=e.slice(i,r);if(d===0&&e.charCodeAt(r+1)===10){t({id:l,event:f,data:a}),l=void 0,u=``,f=void 0,n=r+2,r=e.indexOf(`
`,n);continue}u=d===0?a:`${u}
${a}`,d++}else te(e,n,i)?f=e.slice(e.charCodeAt(n+6)===32?n+7:n+6,r)||void 0:y(e,n,r);n=r+1,r=e.indexOf(`
`,n)}return e.slice(n)}for(;n<e.length;){let t=e.indexOf(`\r`,n),r=e.indexOf(`
`,n),i=-1;if(t!==-1&&r!==-1?i=t<r?t:r:t===-1?r!==-1&&(i=r):i=t===e.length-1?-1:t,i===-1)break;y(e,n,i),n=i+1,e.charCodeAt(n-1)===13&&e.charCodeAt(n)===10&&n++}return e.slice(n)}function y(e,t,n){if(t===n){ne();return}let r=e.charCodeAt(t);if(ee(e,t,r)){let r=e.charCodeAt(t+5)===32?t+6:t+5,i=e.slice(r,n);u=d===0?i:`${u}
${i}`,d++;return}if(te(e,t,r)){f=e.slice(e.charCodeAt(t+6)===32?t+7:t+6,n)||void 0;return}if(r===105&&e.charCodeAt(t+1)===100&&e.charCodeAt(t+2)===58){let r=e.slice(e.charCodeAt(t+3)===32?t+4:t+3,n);l=r.includes(`\0`)?void 0:r;return}if(r===58){if(i){let r=e.slice(t,n);i(r.slice(e.charCodeAt(t+1)===32?2:1))}return}let a=e.slice(t,n),o=a.indexOf(`:`);if(o===-1){b(a,``,a);return}let s=a.slice(0,o),c=a.charCodeAt(o+1)===32?2:1;b(s,a.slice(o+c),a)}function b(e,t,i){switch(e){case`event`:f=t||void 0;break;case`data`:u=d===0?t:`${u}
${t}`,d++;break;case`id`:l=t.includes(`\0`)?void 0:t;break;case`retry`:/^\d+$/.test(t)?r(parseInt(t,10)):n(new p(`Invalid \`retry\` value: "${t}"`,{type:`invalid-retry`,value:t,line:i}));break;default:n(new p(`Unknown field "${e.length>20?`${e.slice(0,20)}\u2026`:e}"`,{type:`unknown-field`,field:e,value:t,line:i}))}}function ne(){d>0&&t({id:l,event:f,data:u}),l=void 0,u=``,d=0,f=void 0}function re(e={}){if(e.consume&&o.length>0){let e=o.join(``);y(e,0,e.length)}c=!0,l=void 0,u=``,d=0,f=void 0,o.length=0,s=0,h=!1}return{feed:g,reset:re}}function ee(e,t,n){return n===100&&e.charCodeAt(t+1)===97&&e.charCodeAt(t+2)===116&&e.charCodeAt(t+3)===97&&e.charCodeAt(t+4)===58}function te(e,t,n){return n===101&&e.charCodeAt(t+1)===118&&e.charCodeAt(t+2)===101&&e.charCodeAt(t+3)===110&&e.charCodeAt(t+4)===116&&e.charCodeAt(t+5)===58}var g=class extends TransformStream{constructor({onError:e,onRetry:t,onComment:n,maxBufferSize:r}={}){let i;super({start(a){i=h({onEvent:e=>{a.enqueue(e)},onError(t){typeof e==`function`&&e(t),(e===`terminate`||t.type===`max-buffer-size-exceeded`)&&a.error(t)},onRetry:t,onComment:n,maxBufferSize:r})},transform(e){i.feed(e)}})}};function _(...e){return e.reduce((e,t)=>({...e,...t??{}}),{})}function v(e){return Object.fromEntries(Object.entries(e).filter(([e,t])=>t!=null))}async function y(e,t){if(e==null)return Promise.resolve();let n=t?.abortSignal;return new Promise((t,r)=>{if(n?.aborted){r(b());return}let i=setTimeout(()=>{a(),t()},e),a=()=>{clearTimeout(i),n?.removeEventListener(`abort`,o)},o=()=>{a(),r(b())};n?.addEventListener(`abort`,o)})}function b(){return new DOMException(`Delay was aborted`,`AbortError`)}function ne(e){let t=e??globalThis.WebSocket;if(t==null)throw Error(`No WebSocket implementation available.`);return t}function re(e){let t=new URL(e);return t.protocol===`http:`?t.protocol=`ws:`:t.protocol===`https:`&&(t.protocol=`wss:`),t}var ie=new TextDecoder;async function ae(e){return typeof e==`string`?e:e instanceof ArrayBuffer||ArrayBuffer.isView(e)?ie.decode(e):typeof Blob<`u`&&e instanceof Blob?e.text():String(e)}var oe=1;async function se(e,{highWaterMark:t=1048576,pollIntervalMs:n=20,abortSignal:r}={}){for(;e.readyState===oe&&(e.bufferedAmount??0)>t;){if(r?.aborted===!0)return;await y(n)}}function ce({url:e,protocols:t,headers:n,webSocket:r,abortSignal:i,onOpen:a,onMessageText:o,onProcessingError:s,onSocketError:c,onClose:l,onAbort:u}){let d,f,p=e=>{f!=null&&(i?.removeEventListener(`abort`,f),f=void 0);try{d?.close(e)}catch{}};if(i?.aborted)return u?.(i.reason??Error(`Aborted`)),{socket:void 0,close:p};try{d=new(ne(r))(e,t,{headers:v(n??{})})}catch(e){return s(e),{socket:void 0,close:p}}i!=null&&u!=null&&(f=()=>u(i.reason??Error(`Aborted`)),i.addEventListener(`abort`,f,{once:!0}));let m=d;d.onopen=()=>{try{a?.(m)}catch(e){s(e)}};let h=Promise.resolve();return d.onmessage=e=>{h=h.then(()=>ae(e.data)).then(e=>o(e)).catch(s)},d.onerror=()=>{h=h.then(()=>c?.()).catch(s)},d.onclose=e=>{let t=e,n=typeof t?.code==`number`?t.code:void 0,r=typeof t?.reason==`string`?t.reason:void 0;h=h.then(()=>l?.({code:n,reason:r})).catch(s)},{socket:d,close:p}}function le(e){let t=!1;return new ReadableStream({async pull(n){if(!t)try{let{value:t,done:r}=await e.next();r?n.close():n.enqueue(t)}catch(e){n.error(e)}},async cancel(n){if(t=!0,e.return)try{await e.return(n)}catch{}}})}var{btoa:ue,atob:de}=globalThis;function fe(e){let t=de(e.replace(/-/g,`+`).replace(/_/g,`/`));return Uint8Array.from(t,e=>e.codePointAt(0))}function pe(e){let t=[],n=4096;for(let r=0;r<e.length;r+=n)t.push(String.fromCodePoint(...e.subarray(r,r+n)));return ue(t.join(``))}function me(e){return e instanceof Uint8Array?pe(e):e}function he(e){if(e.type===`stream`){let t=new l({functionality:`streaming file upload`});throw e.stream.cancel(t).catch(()=>{}),t}return e.type===`text`?new TextEncoder().encode(e.text):e.data instanceof Uint8Array?e.data:e.data instanceof ArrayBuffer?new Uint8Array(e.data):fe(e.data)}function ge(e,t={}){let{useArrayBrackets:n=!0}=t,r=new FormData;for(let[t,i]of Object.entries(e))if(i!=null){if(Array.isArray(i)){if(i.length===1){r.append(t,i[0]);continue}let e=n?`${t}[]`:t;for(let t of i)r.append(e,t);continue}r.append(t,i)}return r}function _e({id:e,model:t,created:n}){return{id:e??void 0,modelId:t??void 0,timestamp:n==null?void 0:new Date(n*1e3)}}function ve(){return{inputTokens:{total:void 0,noCache:void 0,cacheRead:void 0,cacheWrite:void 0},outputTokens:{total:void 0,text:void 0,reasoning:void 0},raw:void 0}}function ye({tools:e=[],providerToolNames:t}){let n={},r={};for(let i of e)if(i.type===`provider`&&i.id in t){let e=t[i.id];n[i.name]=e,r[e]=i.name}return{toProviderToolName:e=>n[e]??e,toCustomToolName:e=>r[e]??e}}var be=Symbol.for(`vercel.ai.providerStreamError`);function xe({message:e,type:t,code:n,statusCode:r,isRetryable:i,data:a}){let o={message:e,type:t,code:n,statusCode:r,isRetryable:i,data:a};return Object.defineProperty(o,be,{value:!0}),o}function Se(e){return typeof e==`object`&&!!e&&e[be]===!0}function x(e){return Object.fromEntries([...e.headers])}function S(e=globalThis){return e.window?`runtime/browser`:e.navigator?.userAgent?`runtime/${e.navigator.userAgent.toLowerCase()}`:e.process?.versions?.node?`runtime/node.js/${e.process.version.substring(0)}`:e.EdgeRuntime?`runtime/vercel-edge`:`runtime/unknown`}function C(e){return(e instanceof Error||typeof DOMException==`function`&&e instanceof DOMException)&&(e.name===`AbortError`||e.name===`ResponseAborted`||e.name===`TimeoutError`)}var Ce=[`fetch failed`,`failed to fetch`],we=new Set([`ConnectionRefused`,`ConnectionClosed`,`FailedToOpenSocket`,`ECONNRESET`,`ECONNREFUSED`,`ETIMEDOUT`,`EPIPE`,`UND_ERR_SOCKET`,`UND_ERR_HEADERS_TIMEOUT`,`UND_ERR_BODY_TIMEOUT`,`UND_ERR_CONNECT_TIMEOUT`]);function Te(e){let t=new Set,n=e;for(;n instanceof Error&&!t.has(n);){t.add(n);let e=n;if(typeof e.code==`string`&&we.has(e.code))return e;n=n.cause}}function w({error:e,url:n,requestBodyValues:r}){if(C(e))return e;if(e instanceof TypeError&&Ce.includes(e.message.toLowerCase())){let i=e.cause;if(i!=null)return new t({message:`Cannot connect to API: ${i.message}`,cause:i,url:n,requestBodyValues:r,isRetryable:!0})}let i=Te(e);return i==null?e:t.isInstance(e)?new t({message:e.message,cause:e.cause,url:e.url,requestBodyValues:e.requestBodyValues,statusCode:e.statusCode,responseHeaders:e.responseHeaders,responseBody:e.responseBody,data:e.data,isRetryable:!0}):new t({message:`Cannot connect to API: ${e instanceof Error?e.message:i.message}`,cause:e,url:n,requestBodyValues:r,isRetryable:!0})}var T=`5.0.43`;function Ee(e){if(e==null)return{};let t={};if(e instanceof Headers)e.forEach((e,n)=>{t[n.toLowerCase()]=e});else{Array.isArray(e)||(e=Object.entries(e));for(let[n,r]of e)r!=null&&(t[n.toLowerCase()]=r)}return t}function E(e,...t){let n=new Headers(Ee(e)),r=n.get(`user-agent`)||``;return n.set(`user-agent`,[r,...t].filter(Boolean).join(` `)),Object.fromEntries(n.entries())}var De=()=>globalThis.fetch,Oe=async({url:e,headers:n={},failedResponseHandler:r,successfulResponseHandler:i,abortSignal:a,fetch:o=De()})=>{try{let s=await o(e,{method:`DELETE`,headers:E(n,`ai-sdk/provider-utils/${T}`,S()),signal:a}),c=x(s);if(!s.ok){let n;try{n=await r({response:s,url:e,requestBodyValues:{}})}catch(n){throw C(n)||t.isInstance(n)?n:new t({message:`Failed to process error response`,cause:n,statusCode:s.status,url:e,responseHeaders:c,requestBodyValues:{}})}throw n.value}try{return await i({response:s,url:e,requestBodyValues:{}})}catch(n){throw n instanceof Error&&(C(n)||t.isInstance(n))?n:new t({message:`Failed to process successful response`,cause:n,statusCode:s.status,url:e,responseHeaders:c,requestBodyValues:{}})}}catch(t){throw w({error:t,url:e,requestBodyValues:{}})}},ke=[{mediaType:`image/gif`,bytesPrefix:[71,73,70,56,55,97]},{mediaType:`image/gif`,bytesPrefix:[71,73,70,56,57,97]},{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,null,null,null,null,0,0,0,0]},{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]}],Ae=[{mediaType:`application/pdf`,bytesPrefix:[37,80,68,70]}],je=[{mediaType:`audio/mpeg`,bytesPrefix:[255,251]},{mediaType:`audio/mpeg`,bytesPrefix:[255,250]},{mediaType:`audio/mpeg`,bytesPrefix:[255,243]},{mediaType:`audio/mpeg`,bytesPrefix:[255,242]},{mediaType:`audio/mpeg`,bytesPrefix:[255,227]},{mediaType:`audio/mpeg`,bytesPrefix:[255,226]},{mediaType:`audio/wav`,bytesPrefix:[82,73,70,70,null,null,null,null,87,65,86,69]},{mediaType:`audio/ogg`,bytesPrefix:[79,103,103,83]},{mediaType:`audio/flac`,bytesPrefix:[102,76,97,67]},{mediaType:`audio/aac`,bytesPrefix:[64,21,0,0]},{mediaType:`audio/webm`,bytesPrefix:[26,69,223,163]}],Me=[...je,{mediaType:`audio/mp4`,bytesPrefix:[0,0,0,null,102,116,121,112]}],Ne=[{mediaType:`video/mp4`,bytesPrefix:[0,0,0,null,102,116,121,112]},{mediaType:`video/webm`,bytesPrefix:[26,69,223,163]},{mediaType:`video/quicktime`,bytesPrefix:[0,0,0,20,102,116,121,112,113,116]},{mediaType:`video/x-msvideo`,bytesPrefix:[82,73,70,70]}],Pe=18,Fe=131084;function Ie(e,t){if(typeof e!=`string`)return e.length>t?e.subarray(0,t):e;let n=Math.ceil(t/3)*4,r=fe(e.substring(0,Math.min(e.length,n)));return r.length>t?r.subarray(0,t):r}function Le(e){return e.length>10&&e[0]===73&&e[1]===68&&e[2]===51}var Re=e=>{let t=(e[6]&127)<<21|(e[7]&127)<<14|(e[8]&127)<<7|e[9]&127;return e.subarray(t+10)};function ze({data:e,signatures:t}){let n=Ie(e,Pe);Le(n)&&(n=Re(Ie(e,Fe)));for(let e of t)if(n.length>=e.bytesPrefix.length&&e.bytesPrefix.every((e,t)=>e===null||n[t]===e))return e.mediaType}var Be={image:ke,audio:Me,video:Ne,application:Ae};function Ve({data:e,topLevelType:t}){if(t===void 0)return ze({data:e,signatures:[...ke,...Ae,...je,...Ne]});let n=Be[t];if(n!==void 0)return ze({data:e,signatures:n})}function He(e){let t=e.indexOf(`/`);return t===-1?e:e.substring(0,t)}function Ue(e){let t=e.indexOf(`/`);if(t===-1)return!1;let n=e.substring(t+1);return n.length>0&&n!==`*`}async function D(e){try{await e.body?.cancel()}catch{}}var We=`AI_DownloadError`,Ge=`vercel.ai.error.${We}`,Ke=Symbol.for(Ge),qe,Je,O=class extends (Je=e,qe=Ke,Je){constructor({url:e,statusCode:t,statusText:n,cause:r,message:i=r==null?`Failed to download ${e}: ${t} ${n}`:`Failed to download ${e}: ${r}`}){super({name:We,message:i,cause:r}),this[qe]=!0,this.url=e,this.statusCode=t,this.statusText=n}static isInstance(t){return e.hasMarker(t,Ge)}};function Ye(e=globalThis){return e.window!=null}function k(e,t){try{return new URL(e).origin===new URL(t).origin}catch{return!1}}function A(e){let t;try{t=new URL(e)}catch{throw new O({url:e,message:`Invalid URL: ${e}`})}if(t.protocol===`data:`)return;if(t.protocol!==`http:`&&t.protocol!==`https:`)throw new O({url:e,message:`URL scheme must be http, https, or data, got ${t.protocol}`});let n=t.hostname.toLowerCase().replace(/\.+$/,``);if(!n)throw new O({url:e,message:`URL must have a hostname`});if(n===`localhost`||n.endsWith(`.local`)||n.endsWith(`.localhost`))throw new O({url:e,message:`URL with hostname ${n} is not allowed`});if(n.startsWith(`[`)&&n.endsWith(`]`)){if(Qe(n.slice(1,-1)))throw new O({url:e,message:`URL with IPv6 address ${n} is not allowed`});return}if(j(n)){if(M(n))throw new O({url:e,message:`URL with IP address ${n} is not allowed`});return}}function Xe({address:e,family:t,hostname:n}){if(t===4?!j(e)||M(e):t!==6||Qe(e))throw new O({url:n,message:`Hostname ${n} resolved to disallowed IP address ${e}`})}function j(e){let t=e.split(`.`);return t.length===4&&t.every(e=>{let t=Number(e);return Number.isInteger(t)&&t>=0&&t<=255&&String(t)===e})}function M(e){let[t,n,r]=e.split(`.`).map(Number);return t===0||t===10||t===100&&n>=64&&n<=127||t===127||t===169&&n===254||t===172&&n>=16&&n<=31||t===192&&n===0&&r===0||t===192&&n===0&&r===2||t===192&&n===168||t===198&&(n===18||n===19)||t===198&&n===51&&r===100||t===203&&n===0&&r===113||t>=224}function Ze(e){let t=e.toLowerCase(),n=t.indexOf(`%`);n!==-1&&(t=t.slice(0,n));let r=t.split(`::`);if(r.length>2)return null;let i=e=>{if(e===``)return[];let t=[],n=e.split(`:`);for(let e=0;e<n.length;e++){let r=n[e];if(r.includes(`.`)){if(e!==n.length-1||!j(r))return null;let[i,a,o,s]=r.split(`.`).map(Number);t.push(i<<8|a,o<<8|s);continue}if(!/^[0-9a-f]{1,4}$/.test(r))return null;t.push(parseInt(r,16))}return t},a=i(r[0]);if(a===null)return null;if(r.length===2){let e=i(r[1]);if(e===null)return null;let t=8-a.length-e.length;return t<0?null:[...a,...Array(t).fill(0),...e]}return a.length===8?a:null}function Qe(e){let t=Ze(e);if(t===null)return!0;let n=e=>t.slice(0,e).every(e=>e===0);return n(7)&&(t[7]===0||t[7]===1)||(t[0]&65024)==64512||(t[0]&65472)==65152||(t[0]&65472)==65216||(t[0]&65280)==65280||t[0]===8193&&t[1]===3512||t[0]===16383&&!(t[1]&61440)?!0:n(6)||n(5)&&t[5]===65535||n(4)&&t[4]===65535&&t[5]===0||t[0]===100&&t[1]===65435&&t[2]===0&&t[3]===0&&t[4]===0&&t[5]===0||t[0]===100&&t[1]===65435&&t[2]===1?M(`${t[6]>>8&255}.${t[6]&255}.${t[7]>>8&255}.${t[7]&255}`):!1}function $e(e){return((t,n,r)=>{e(t,{...n,all:!0},(e,i)=>{if(e){r(e);return}try{let[e]=i;if(e==null)throw Error(`Hostname ${t} did not resolve to an address`);for(let{address:e,family:n}of i)Xe({address:e,family:n,hostname:t});n.all===!0?r(null,i):r(null,e.address,e.family)}catch(e){r(e instanceof Error?e:Error(String(e)))}})})}var et;function tt(){let e=globalThis.process;return e?.release?.name===`node`&&e.versions?.bun==null&&e.versions?.deno==null&&e.title!==`workerd`&&globalThis.EdgeRuntime==null}async function nt(){return tt()?et??=Promise.resolve().then(rt):globalThis.fetch}function rt(){let{createRequire:e}=it(`node:module`),{lookup:t}=it(`node:dns`),{Agent:n,fetch:r}=e(at())(`undici`),i=new n({connect:{lookup:$e(t)}});return((e,t)=>r(e,{...t,dispatcher:i}))}function it(e){let t=globalThis.process,n=(t?.getBuiltinModule)?.call(t,e);if(n==null)throw Error(`Node.js built-in module ${e} is unavailable`);return n}function at(){let e=Error.prepareStackTrace;try{Error.prepareStackTrace=(e,t)=>t;let e=Error(`Capture current module path`);Error.captureStackTrace(e,at);let[t]=e.stack,n=t?.getFileName();if(n==null)throw Error(`Unable to determine the current module path`);return n}finally{Error.prepareStackTrace=e}}var ot=[`connection`,`keep-alive`,`te`,`trailer`,`transfer-encoding`,`upgrade`,`host`,`forwarded`,`proxy-authorization`,`via`,`x-forwarded-for`,`x-forwarded-host`,`x-forwarded-proto`,`x-real-ip`,`metadata`,`metadata-flavor`,`x-aws-ec2-metadata-token`,`x-metadata-token`,`cookie`,`set-cookie`];function st(e){let t=new Headers(e);for(let e of ot)t.delete(e);return t}var ct=10,lt=new Set([301,302,303,307,308]);async function ut(e){return e==null||e===globalThis.fetch?await nt():e}async function dt({url:e,init:t,fetch:n,trustedOrigin:r,redirect:i=`error`}){let a=e.toString(),o=r!==void 0&&k(a,r);return o||A(a),await(o&&n!=null?n:o?globalThis.fetch:await ut(n))(e,{...t,redirect:i})}async function N({url:e,headers:t,abortSignal:n,maxRedirects:r=ct,fetch:i,trustedOrigin:a}){let o=t===void 0?void 0:st(t),s=e=>{let t={signal:n,redirect:e};return o!==void 0&&(t.headers=new Headers(o)),t},c=e;for(let t=0;t<=r;t++){let t=a!==void 0&&k(c,a);t||A(c);let n=t&&i!=null?i:t?globalThis.fetch:await ut(i),r=await n(c,s(`manual`));if(r.type===`opaqueredirect`){if(!Ye())throw new O({url:e,message:`Redirect from ${c} could not be validated and was blocked`});return await n(c,s(`follow`))}let l=r.headers?.get(`location`);if(lt.has(r.status)&&l){await D(r);let e=new URL(l,c).toString();if(o!==void 0&&!k(e,c)){let e=o.get(`user-agent`);o=new Headers(e==null?void 0:{"user-agent":e})}c=e;continue}return r}throw new O({url:e,message:`Too many redirects (max ${r})`})}var ft=2147483648;async function pt({response:e,url:t,maxBytes:n=ft}){let r=e.headers.get(`content-length`);if(r!=null){let i=parseInt(r,10);if(!isNaN(i)&&i>n)throw await D(e),new O({url:t,message:`Download of ${t} exceeded maximum size of ${n} bytes (Content-Length: ${i}).`})}let i=e.body;if(i==null)return new Uint8Array;let a=i.getReader(),o=[],s=0;try{for(;;){let{done:e,value:r}=await a.read();if(e)break;if(s+=r.length,s>n)throw new O({url:t,message:`Download of ${t} exceeded maximum size of ${n} bytes.`});o.push(r)}}finally{try{await a.cancel()}catch{}finally{a.releaseLock()}}let c=new Uint8Array(s),l=0;for(let e of o)c.set(e,l),l+=e.length;return c}async function mt(e,t){try{let n=await N({url:e,abortSignal:t?.abortSignal});if(!n.ok)throw await D(n),new O({url:e,statusCode:n.status,statusText:n.statusText});let r=await pt({response:n,url:e,maxBytes:t?.maxBytes??ft}),i=n.headers.get(`content-type`)??void 0;return new Blob([r],i?{type:i}:void 0)}catch(t){throw O.isInstance(t)?t:new O({url:e,cause:t})}}var ht=Symbol.for(`vercel.ai.embeddingModel.maxInputBytesPerCall`),P=(({prefix:e,size:t=16,alphabet:n=`0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz`,separator:i=`-`}={})=>{let a=()=>{let e=n.length,r=Array(t);for(let i=0;i<t;i++)r[i]=n[Math.random()*e|0];return r.join(``)};if(e==null)return a;if(n.includes(i))throw new r({argument:`separator`,message:`The separator "${i}" must not be part of the alphabet "${n}".`});return()=>`${e}${i}${a()}`})(),gt=()=>globalThis.fetch,_t=async({url:e,headers:n={},successfulResponseHandler:r,failedResponseHandler:i,abortSignal:a,fetch:o,validateUrl:s,credentialedOrigin:c,trustedOrigin:l})=>{try{let u=o??gt(),d=E(c!==void 0&&!k(e,c)?{}:n,`ai-sdk/provider-utils/${T}`,S()),f=s?await N({url:e,headers:d,abortSignal:a,fetch:o,trustedOrigin:l}):await u(e,{method:`GET`,headers:d,signal:a}),p=x(f);if(!f.ok){let n;try{n=await i({response:f,url:e,requestBodyValues:{}})}catch(n){throw C(n)||t.isInstance(n)?n:new t({message:`Failed to process error response`,cause:n,statusCode:f.status,url:e,responseHeaders:p,requestBodyValues:{}})}throw n.value}try{return await r({response:f,url:e,requestBodyValues:{}})}catch(n){throw n instanceof Error&&(C(n)||t.isInstance(n))?n:new t({message:`Failed to process successful response`,cause:n,statusCode:f.status,url:e,responseHeaders:p,requestBodyValues:{}})}}catch(t){throw w({error:t,url:e,requestBodyValues:{}})}};function vt(e){return e!=null}function yt(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function bt({apiKey:e,environmentVariableName:t,apiKeyParameterName:n=`apiKey`,description:r}){if(typeof e==`string`)return e;if(e!=null)throw new o({message:`${r} API key must be a string.`});if(typeof process>`u`)throw new o({message:`${r} API key is missing. Pass it using the '${n}' parameter. Environment variables are not supported in this environment.`});if(e=process.env[t],e==null)throw new o({message:`${r} API key is missing. Pass it using the '${n}' parameter or the ${t} environment variable.`});if(typeof e!=`string`)throw new o({message:`${r} API key must be a string. The value of the ${t} environment variable is not a string.`});return e}function xt({settingValue:e,environmentVariableName:t}){if(typeof e==`string`||!(e!=null||typeof process>`u`)&&(e=process.env[t],e!=null&&typeof e==`string`))return e}function St(e){return e!==void 0&&e!==`provider-default`}function Ct({reasoning:e,effortMap:t,warnings:n}){let r=t[e];if(r==null){n.push({type:`unsupported`,feature:`reasoning`,details:`reasoning "${e}" is not supported by this model.`});return}return r!==e&&n.push({type:`compatibility`,feature:`reasoning`,details:`reasoning "${e}" is not directly supported by this model. mapped to effort "${r}".`}),r}var wt={minimal:.02,low:.1,medium:.3,high:.6,xhigh:.9};function Tt({reasoning:e,maxOutputTokens:t,maxReasoningBudget:n,minReasoningBudget:r=1024,budgetPercentages:i=wt,warnings:a}){let o=i[e];if(o==null){a.push({type:`unsupported`,feature:`reasoning`,details:`reasoning "${e}" is not supported by this model.`});return}return Math.min(n,Math.max(r,Math.round(t*o)))}function Et(e){let[t,n=``]=e.toLowerCase().split(`/`);return{mpeg:`mp3`,"x-wav":`wav`,opus:`ogg`,mp4:`m4a`,"x-m4a":`m4a`}[n]??n}function Dt({total:e,pending:t,completed:n,failed:r}){if(F(e)&&F(t)&&F(n)&&F(r)&&t+n+r===e)return{total:e,pending:t,completed:n,failed:r}}function F(e){return e!=null&&Number.isSafeInteger(e)&&e>=0}var Ot=/"(?:_|\\u005[Ff])(?:_|\\u005[Ff])(?:p|\\u0070)(?:r|\\u0072)(?:o|\\u006[Ff])(?:t|\\u0074)(?:o|\\u006[Ff])(?:_|\\u005[Ff])(?:_|\\u005[Ff])"\s*:/,kt=/"(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)"\s*:/;function At(e){let t=JSON.parse(e);return typeof t!=`object`||!t||Ot.test(e)===!1&&kt.test(e)===!1?t:jt(t)}function jt(e){let t=[e];for(;t.length;){let e=t;t=[];for(let n of e){if(Object.prototype.hasOwnProperty.call(n,`__proto__`)||Object.prototype.hasOwnProperty.call(n,`constructor`)&&n.constructor!==null&&typeof n.constructor==`object`&&Object.prototype.hasOwnProperty.call(n.constructor,`prototype`))throw SyntaxError(`Object contains forbidden prototype property`);for(let e in n){let r=n[e];r&&typeof r==`object`&&t.push(r)}}}return e}function I(e){let{stackTraceLimit:t}=Error;try{Error.stackTraceLimit=0}catch{return At(e)}try{return At(e)}finally{Error.stackTraceLimit=t}}function L(e){if(e.type===`object`||Array.isArray(e.type)&&e.type.includes(`object`)){let{additionalProperties:t}=e;e.additionalProperties=t!=null&&typeof t!=`boolean`&&R(t);let{properties:n}=e;if(n!=null)for(let e of Object.keys(n))n[e]=R(n[e])}e.items!=null&&(e.items=Array.isArray(e.items)?e.items.map(R):R(e.items)),e.anyOf!=null&&(e.anyOf=e.anyOf.map(R)),e.allOf!=null&&(e.allOf=e.allOf.map(R)),e.oneOf!=null&&(e.oneOf=e.oneOf.map(R));let{definitions:t}=e;if(t!=null)for(let e of Object.keys(t))t[e]=R(t[e]);return e}function R(e){return typeof e==`boolean`?e:L(e)}var Mt=Symbol(`Let zodToJsonSchema decide on which parser to use`),Nt={name:void 0,$refStrategy:`root`,basePath:[`#`],effectStrategy:`input`,pipeStrategy:`all`,dateStrategy:`format:date-time`,mapStrategy:`entries`,removeAdditionalStrategy:`passthrough`,allowedAdditionalProperties:!0,rejectedAdditionalProperties:!1,definitionPath:`definitions`,strictUnions:!1,definitions:{},errorMessages:!1,patternStrategy:`escape`,applyRegexFlags:!1,emailStrategy:`format:email`,base64Strategy:`contentEncoding:base64`,nameStrategy:`ref`},Pt=e=>typeof e==`string`?{...Nt,name:e}:{...Nt,...e};function z(){return{}}function Ft(e,t){let n={type:`array`};return e.type?._def&&e.type?._def?.typeName!==`ZodAny`&&(n.items=K(e.type._def,{...t,currentPath:[...t.currentPath,`items`]})),e.minLength&&(n.minItems=e.minLength.value),e.maxLength&&(n.maxItems=e.maxLength.value),e.exactLength&&(n.minItems=e.exactLength.value,n.maxItems=e.exactLength.value),n}function It(e){let t={type:`integer`,format:`int64`};if(!e.checks)return t;for(let n of e.checks)switch(n.kind){case`min`:n.inclusive?t.minimum=n.value:t.exclusiveMinimum=n.value;break;case`max`:n.inclusive?t.maximum=n.value:t.exclusiveMaximum=n.value;break;case`multipleOf`:t.multipleOf=n.value}return t}function Lt(){return{type:`boolean`}}function Rt(e,t){return K(e.type._def,t)}var zt=(e,t)=>K(e.innerType._def,t);function Bt(e,t,n){let r=n??t.dateStrategy;if(Array.isArray(r))return{anyOf:r.map(n=>Bt(e,t,n))};switch(r){case`string`:case`format:date-time`:return{type:`string`,format:`date-time`};case`format:date`:return{type:`string`,format:`date`};case`integer`:return Vt(e)}}var Vt=e=>{let t={type:`integer`,format:`unix-time`};for(let n of e.checks)switch(n.kind){case`min`:t.minimum=n.value;break;case`max`:t.maximum=n.value}return t};function Ht(e,t){return{...K(e.innerType._def,t),default:e.defaultValue()}}function Ut(e,t){return t.effectStrategy===`input`?K(e.schema._def,t):z()}function Wt(e){return{type:`string`,enum:Array.from(e.values)}}var Gt=e=>`type`in e&&e.type===`string`?!1:`allOf`in e;function Kt(e,t){let n=[K(e.left._def,{...t,currentPath:[...t.currentPath,`allOf`,`0`]}),K(e.right._def,{...t,currentPath:[...t.currentPath,`allOf`,`1`]})].filter(e=>!!e),r=[];return n.forEach(e=>{if(Gt(e))r.push(...e.allOf);else{let t=e;if(`additionalProperties`in e&&e.additionalProperties===!1){let{additionalProperties:n,...r}=e;t=r}r.push(t)}}),r.length?{allOf:r}:void 0}function qt(e){let t=typeof e.value;return t!==`bigint`&&t!==`number`&&t!==`boolean`&&t!==`string`?{type:Array.isArray(e.value)?`array`:`object`}:{type:t===`bigint`?`integer`:t,const:e.value}}var B=void 0,V={cuid:/^[cC][^\s-]{8,}$/,cuid2:/^[0-9a-z]+$/,ulid:/^[0-9A-HJKMNP-TV-Z]{26}$/,email:/^(?!\.)(?!.*\.\.)([a-zA-Z0-9_'+\-\.]*)[a-zA-Z0-9_+-]@([a-zA-Z0-9][a-zA-Z0-9\-]*\.)+[a-zA-Z]{2,}$/,emoji:()=>(B===void 0&&(B=RegExp(`^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$`,`u`)),B),uuid:/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/,ipv4:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,ipv4Cidr:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,ipv6:/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,ipv6Cidr:/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,base64:/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,base64url:/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,nanoid:/^[a-zA-Z0-9_-]{21}$/,jwt:/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/};function Jt(e,t){let n={type:`string`};if(e.checks)for(let r of e.checks)switch(r.kind){case`min`:n.minLength=typeof n.minLength==`number`?Math.max(n.minLength,r.value):r.value;break;case`max`:n.maxLength=typeof n.maxLength==`number`?Math.min(n.maxLength,r.value):r.value;break;case`email`:switch(t.emailStrategy){case`format:email`:U(n,`email`,r.message,t);break;case`format:idn-email`:U(n,`idn-email`,r.message,t);break;case`pattern:zod`:W(n,V.email,r.message,t)}break;case`url`:U(n,`uri`,r.message,t);break;case`uuid`:U(n,`uuid`,r.message,t);break;case`regex`:W(n,r.regex,r.message,t);break;case`cuid`:W(n,V.cuid,r.message,t);break;case`cuid2`:W(n,V.cuid2,r.message,t);break;case`startsWith`:W(n,RegExp(`^${H(r.value,t)}`),r.message,t);break;case`endsWith`:W(n,RegExp(`${H(r.value,t)}$`),r.message,t);break;case`datetime`:U(n,`date-time`,r.message,t);break;case`date`:U(n,`date`,r.message,t);break;case`time`:U(n,`time`,r.message,t);break;case`duration`:U(n,`duration`,r.message,t);break;case`length`:n.minLength=typeof n.minLength==`number`?Math.max(n.minLength,r.value):r.value,n.maxLength=typeof n.maxLength==`number`?Math.min(n.maxLength,r.value):r.value;break;case`includes`:W(n,RegExp(H(r.value,t)),r.message,t);break;case`ip`:r.version!==`v6`&&U(n,`ipv4`,r.message,t),r.version!==`v4`&&U(n,`ipv6`,r.message,t);break;case`base64url`:W(n,V.base64url,r.message,t);break;case`jwt`:W(n,V.jwt,r.message,t);break;case`cidr`:r.version!==`v6`&&W(n,V.ipv4Cidr,r.message,t),r.version!==`v4`&&W(n,V.ipv6Cidr,r.message,t);break;case`emoji`:W(n,V.emoji(),r.message,t);break;case`ulid`:W(n,V.ulid,r.message,t);break;case`base64`:switch(t.base64Strategy){case`format:binary`:U(n,`binary`,r.message,t);break;case`contentEncoding:base64`:n.contentEncoding=`base64`;break;case`pattern:zod`:W(n,V.base64,r.message,t)}break;case`nanoid`:W(n,V.nanoid,r.message,t)}return n}function H(e,t){return t.patternStrategy===`escape`?Xt(e):e}var Yt=new Set(`ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789`);function Xt(e){let t=``;for(let n=0;n<e.length;n++)Yt.has(e[n])||(t+=`\\`),t+=e[n];return t}function U(e,t,n,r){e.format||e.anyOf?.some(e=>e.format)?(e.anyOf||=[],e.format&&(e.anyOf.push({format:e.format}),delete e.format),e.anyOf.push({format:t,...n&&r.errorMessages&&{errorMessage:{format:n}}})):e.format=t}function W(e,t,n,r){e.pattern||e.allOf?.some(e=>e.pattern)?(e.allOf||=[],e.pattern&&(e.allOf.push({pattern:e.pattern}),delete e.pattern),e.allOf.push({pattern:Zt(t,r),...n&&r.errorMessages&&{errorMessage:{pattern:n}}})):e.pattern=Zt(t,r)}function Zt(e,t){if(!t.applyRegexFlags||!e.flags)return e.source;let n={i:e.flags.includes(`i`),m:e.flags.includes(`m`),s:e.flags.includes(`s`)},r=n.i?e.source.toLowerCase():e.source,i=``,a=!1,o=!1,s=!1;for(let e=0;e<r.length;e++){if(a){i+=r[e],a=!1;continue}if(n.i){if(o){if(r[e].match(/[a-z]/)){s?(i+=r[e],i+=`${r[e-2]}-${r[e]}`.toUpperCase(),s=!1):r[e+1]===`-`&&r[e+2]?.match(/[a-z]/)?(i+=r[e],s=!0):i+=`${r[e]}${r[e].toUpperCase()}`;continue}}else if(r[e].match(/[a-z]/)){i+=`[${r[e]}${r[e].toUpperCase()}]`;continue}}if(n.m){if(r[e]===`^`){i+=`(^|(?<=[\r
]))`;continue}if(r[e]===`$`){i+=`($|(?=[\r
]))`;continue}}if(n.s&&r[e]===`.`){i+=o?`${r[e]}\r
`:`[${r[e]}\r
]`;continue}i+=r[e],r[e]===`\\`?a=!0:o&&r[e]===`]`?o=!1:!o&&r[e]===`[`&&(o=!0)}try{new RegExp(i)}catch{return console.warn(`Could not convert regex pattern at ${t.currentPath.join(`/`)} to a flag-independent form! Falling back to the flag-ignorant source`),e.source}return i}function Qt(e,t){let n={type:`object`,additionalProperties:K(e.valueType._def,{...t,currentPath:[...t.currentPath,`additionalProperties`]})??t.allowedAdditionalProperties};if(e.keyType?._def.typeName===`ZodString`&&e.keyType._def.checks?.length){let{type:r,...i}=Jt(e.keyType._def,t);return{...n,propertyNames:i}}if(e.keyType?._def.typeName===`ZodEnum`)return{...n,propertyNames:{enum:e.keyType._def.values}};if(e.keyType?._def.typeName===`ZodBranded`&&e.keyType._def.type._def.typeName===`ZodString`&&e.keyType._def.type._def.checks?.length){let{type:r,...i}=Rt(e.keyType._def,t);return{...n,propertyNames:i}}return n}function $t(e,t){return t.mapStrategy===`record`?Qt(e,t):{type:`array`,maxItems:125,items:{type:`array`,items:[K(e.keyType._def,{...t,currentPath:[...t.currentPath,`items`,`items`,`0`]})||z(),K(e.valueType._def,{...t,currentPath:[...t.currentPath,`items`,`items`,`1`]})||z()],minItems:2,maxItems:2}}}function en(e){let t=e.values,n=Object.keys(e.values).filter(e=>typeof t[t[e]]!=`number`).map(e=>t[e]),r=Array.from(new Set(n.map(e=>typeof e)));return{type:r.length===1?r[0]===`string`?`string`:`number`:[`string`,`number`],enum:n}}function tn(){return{not:z()}}function nn(){return{type:`null`}}var G={ZodString:`string`,ZodNumber:`number`,ZodBigInt:`integer`,ZodBoolean:`boolean`,ZodNull:`null`};function rn(e,t){let n=e.options instanceof Map?Array.from(e.options.values()):e.options;if(n.every(e=>e._def.typeName in G&&(!e._def.checks||!e._def.checks.length))){let e=n.reduce((e,t)=>{let n=G[t._def.typeName];return n&&!e.includes(n)?[...e,n]:e},[]);return{type:e.length>1?e:e[0]}}if(n.every(e=>e._def.typeName===`ZodLiteral`&&!e.description)){let e=n.reduce((e,t)=>{let n=typeof t._def.value;switch(n){case`string`:case`number`:case`boolean`:return[...e,n];case`bigint`:return[...e,`integer`];case`object`:if(t._def.value===null)return[...e,`null`];default:return e}},[]);if(e.length===n.length){let t=e.filter((e,t,n)=>n.indexOf(e)===t);return{type:t.length>1?t:t[0],enum:n.reduce((e,t)=>e.includes(t._def.value)?e:[...e,t._def.value],[])}}}else if(n.every(e=>e._def.typeName===`ZodEnum`))return{type:`string`,enum:n.reduce((e,t)=>[...e,...t._def.values.filter(t=>!e.includes(t))],[])};return an(e,t)}var an=(e,t)=>{let n=(e.options instanceof Map?Array.from(e.options.values()):e.options).map((e,n)=>K(e._def,{...t,currentPath:[...t.currentPath,`anyOf`,`${n}`]})).filter(e=>!!e&&(!t.strictUnions||typeof e==`object`&&Object.keys(e).length>0));return n.length?{anyOf:n}:void 0};function on(e,t){if([`ZodString`,`ZodNumber`,`ZodBigInt`,`ZodBoolean`,`ZodNull`].includes(e.innerType._def.typeName)&&(!e.innerType._def.checks||!e.innerType._def.checks.length))return{type:[G[e.innerType._def.typeName],`null`]};let n=K(e.innerType._def,{...t,currentPath:[...t.currentPath,`anyOf`,`0`]});return n&&{anyOf:[n,{type:`null`}]}}function sn(e){let t={type:`number`};if(!e.checks)return t;for(let n of e.checks)switch(n.kind){case`int`:t.type=`integer`;break;case`min`:n.inclusive?t.minimum=n.value:t.exclusiveMinimum=n.value;break;case`max`:n.inclusive?t.maximum=n.value:t.exclusiveMaximum=n.value;break;case`multipleOf`:t.multipleOf=n.value}return t}function cn(e,t){let n={type:`object`,properties:{}},r=[],i=e.shape();for(let e in i){let a=i[e];if(a===void 0||a._def===void 0)continue;let o=un(a),s=K(a._def,{...t,currentPath:[...t.currentPath,`properties`,e],propertyPath:[...t.currentPath,`properties`,e]});s!==void 0&&(n.properties[e]=s,o||r.push(e))}r.length&&(n.required=r);let a=ln(e,t);return a!==void 0&&(n.additionalProperties=a),n}function ln(e,t){if(e.catchall._def.typeName!==`ZodNever`)return K(e.catchall._def,{...t,currentPath:[...t.currentPath,`additionalProperties`]});switch(e.unknownKeys){case`passthrough`:return t.allowedAdditionalProperties;case`strict`:return t.rejectedAdditionalProperties;case`strip`:return t.removeAdditionalStrategy===`strict`?t.allowedAdditionalProperties:t.rejectedAdditionalProperties}}function un(e){try{return e.isOptional()}catch{return!0}}var dn=(e,t)=>{if(t.currentPath.toString()===t.propertyPath?.toString())return K(e.innerType._def,t);let n=K(e.innerType._def,{...t,currentPath:[...t.currentPath,`anyOf`,`1`]});return n?{anyOf:[{not:z()},n]}:z()},fn=(e,t)=>{if(t.pipeStrategy===`input`)return K(e.in._def,t);if(t.pipeStrategy===`output`)return K(e.out._def,t);let n=K(e.in._def,{...t,currentPath:[...t.currentPath,`allOf`,`0`]});return{allOf:[n,K(e.out._def,{...t,currentPath:[...t.currentPath,`allOf`,n?`1`:`0`]})].filter(e=>e!==void 0)}};function pn(e,t){return K(e.type._def,t)}function mn(e,t){let n={type:`array`,uniqueItems:!0,items:K(e.valueType._def,{...t,currentPath:[...t.currentPath,`items`]})};return e.minSize&&(n.minItems=e.minSize.value),e.maxSize&&(n.maxItems=e.maxSize.value),n}function hn(e,t){return e.rest?{type:`array`,minItems:e.items.length,items:e.items.map((e,n)=>K(e._def,{...t,currentPath:[...t.currentPath,`items`,`${n}`]})).reduce((e,t)=>t===void 0?e:[...e,t],[]),additionalItems:K(e.rest._def,{...t,currentPath:[...t.currentPath,`additionalItems`]})}:{type:`array`,minItems:e.items.length,maxItems:e.items.length,items:e.items.map((e,n)=>K(e._def,{...t,currentPath:[...t.currentPath,`items`,`${n}`]})).reduce((e,t)=>t===void 0?e:[...e,t],[])}}function gn(){return{not:z()}}function _n(){return z()}var vn=(e,t)=>K(e.innerType._def,t),yn=(e,t,n)=>{switch(t){case`ZodString`:return Jt(e,n);case`ZodNumber`:return sn(e);case`ZodObject`:return cn(e,n);case`ZodBigInt`:return It(e);case`ZodBoolean`:return Lt();case`ZodDate`:return Bt(e,n);case`ZodUndefined`:return gn();case`ZodNull`:return nn();case`ZodArray`:return Ft(e,n);case`ZodUnion`:case`ZodDiscriminatedUnion`:return rn(e,n);case`ZodIntersection`:return Kt(e,n);case`ZodTuple`:return hn(e,n);case`ZodRecord`:return Qt(e,n);case`ZodLiteral`:return qt(e);case`ZodEnum`:return Wt(e);case`ZodNativeEnum`:return en(e);case`ZodNullable`:return on(e,n);case`ZodOptional`:return dn(e,n);case`ZodMap`:return $t(e,n);case`ZodSet`:return mn(e,n);case`ZodLazy`:return()=>e.getter()._def;case`ZodPromise`:return pn(e,n);case`ZodNaN`:case`ZodNever`:return tn();case`ZodEffects`:return Ut(e,n);case`ZodAny`:return z();case`ZodUnknown`:return _n();case`ZodDefault`:return Ht(e,n);case`ZodBranded`:return Rt(e,n);case`ZodReadonly`:return vn(e,n);case`ZodCatch`:return zt(e,n);case`ZodPipeline`:return fn(e,n);case`ZodFunction`:case`ZodVoid`:case`ZodSymbol`:return;default:return(e=>void 0)(t)}},bn=(e,t)=>{let n=0;for(;n<e.length&&n<t.length&&e[n]===t[n];n++);return[(e.length-n).toString(),...t.slice(n)].join(`/`)};function K(e,t,n=!1){let r=t.seen.get(e);if(t.override){let i=t.override?.call(t,e,t,r,n);if(i!==Mt)return i}if(r&&!n){let e=xn(r,t);if(e!==void 0)return e}let i={def:e,path:t.currentPath,jsonSchema:void 0};t.seen.set(e,i);let a=yn(e,e.typeName,t),o=typeof a==`function`?K(a(),t):a;if(o&&Sn(e,t,o),t.postProcess){let n=t.postProcess(o,e,t);return i.jsonSchema=o,n}return i.jsonSchema=o,o}var xn=(e,t)=>{switch(t.$refStrategy){case`root`:return{$ref:e.path.join(`/`)};case`relative`:return{$ref:bn(t.currentPath,e.path)};case`none`:case`seen`:return e.path.length<t.currentPath.length&&e.path.every((e,n)=>t.currentPath[n]===e)?(console.warn(`Recursive reference detected at ${t.currentPath.join(`/`)}! Defaulting to any`),z()):t.$refStrategy===`seen`?z():void 0}},Sn=(e,t,n)=>(e.description&&(n.description=e.description),n),Cn=e=>{let t=Pt(e),n=t.name===void 0?t.basePath:[...t.basePath,t.definitionPath,t.name];return{...t,currentPath:n,propertyPath:void 0,seen:new Map(Object.entries(t.definitions).map(([e,n])=>[n._def,{def:n._def,path:[...t.basePath,t.definitionPath,e],jsonSchema:void 0}]))}},wn=(e,t)=>{let n=Cn(t),r=typeof t==`object`&&t.definitions?Object.entries(t.definitions).reduce((e,[t,r])=>({...e,[t]:K(r._def,{...n,currentPath:[...n.basePath,n.definitionPath,t]},!0)??z()}),{}):void 0,i=typeof t==`string`?t:t?.nameStrategy===`title`?void 0:t?.name,a=K(e._def,i===void 0?n:{...n,currentPath:[...n.basePath,n.definitionPath,i]},!1)??z(),o=typeof t==`object`&&t.name!==void 0&&t.nameStrategy===`title`?t.name:void 0;o!==void 0&&(a.title=o);let s=i===void 0?r?{...a,[n.definitionPath]:r}:a:{$ref:[...n.$refStrategy===`relative`?[]:n.basePath,n.definitionPath,i].join(`/`),[n.definitionPath]:{...r,[i]:a}};return s.$schema=`http://json-schema.org/draft-07/schema#`,s},Tn=Symbol.for(`vercel.ai.schema`);function En(e){let t;return()=>(t??=e(),t)}function q(e,{validate:t}={}){return{[Tn]:!0,_type:void 0,get jsonSchema(){return typeof e==`function`&&(e=e()),e},validate:t}}function Dn(e){return typeof e==`object`&&!!e&&Tn in e&&e[Tn]===!0&&`jsonSchema`in e&&`validate`in e}function On(e){return e==null?q({type:`object`,properties:{},additionalProperties:!1}):Dn(e)?e:`~standard`in e?e[`~standard`].vendor===`zod`?Pn(e):kn(e):e()}function kn(e){return q(()=>{if(!An(e))throw Error(`Standard schema vendor '${e[`~standard`].vendor}' does not support JSON Schema conversion.`);return L(e[`~standard`].jsonSchema.input({target:`draft-07`}))},{validate:async t=>{let n=await e[`~standard`].validate(t);return`value`in n?{success:!0,value:n.value}:{success:!1,error:new c({value:t,cause:n.issues})}}})}function An(e){return e[`~standard`].jsonSchema!=null}function jn(e,t){let n=t?.useReferences??!1;return q(()=>wn(e,{$refStrategy:n?`root`:`none`}),{validate:async t=>{let n=await e.safeParseAsync(t);return n.success?{success:!0,value:n.data}:{success:!1,error:n.error}}})}function Mn(e,t){let n=t?.useReferences??!1;return q(()=>L(d(e,{target:`draft-7`,io:`input`,reused:n?`ref`:`inline`})),{validate:async t=>{let n=await f(e,t);return n.success?{success:!0,value:n.data}:{success:!1,error:n.error}}})}function Nn(e){return`_zod`in e}function Pn(e,t){return Nn(e)?Mn(e,t):jn(e,t)}async function Fn({value:e,schema:t,context:n}){let r=await J({value:e,schema:t,context:n});if(!r.success)throw c.wrap({value:e,cause:r.error,context:n});return r.value}async function J({value:e,schema:t,context:n}){let r=On(t);try{if(r.validate==null)return{success:!0,value:e,rawValue:e};let t=await r.validate(e);return t.success?{success:!0,value:t.value,rawValue:e}:{success:!1,error:c.wrap({value:e,cause:t.error,context:n}),rawValue:e}}catch(t){return{success:!1,error:c.wrap({value:e,cause:t,context:n}),rawValue:e}}}async function Y({text:e,schema:t}){try{let n=I(e);return t==null?n:await Fn({value:n,schema:t})}catch(t){throw a.isInstance(t)||c.isInstance(t)?t:new a({text:e,cause:t})}}async function X({text:e,schema:t}){try{let n=I(e);return t==null?{success:!0,value:n,rawValue:n}:await J({value:n,schema:t})}catch(t){return{success:!1,error:a.isInstance(t)?t:new a({text:e,cause:t}),rawValue:void 0}}}function In({stream:e,schema:t}){return e.pipeThrough(new TextDecoderStream).pipeThrough(new g).pipeThrough(new TransformStream({async transform({data:e},n){e!==`[DONE]`&&n.enqueue(await X({text:e,schema:t}))}}))}async function Ln({provider:e,providerOptions:t,schema:n}){if(t?.[e]==null)return;let i=await J({value:t[e],schema:n});if(!i.success)throw new r({argument:`providerOptions`,message:`invalid ${e} provider options`,cause:i.error});return i.value}var Rn=()=>globalThis.fetch;function zn(e){return e.replace(/[\r\n]/g,``).replace(/\\/g,`\\\\`).replace(/"/g,`\\"`)}function Bn(e,t){let n=new TextEncoder,r=!1,i,a=new Set;async function*o(){for(let o of e){if(r)return;let e=`--${t}\r
Content-Disposition: form-data; name="${zn(o.name)}"`;if(o.type===`field`){yield n.encode(`${e}\r
\r
${o.value}\r
`);continue}let s=`; filename="${zn(o.filename??`blob`)}"`,c=(o.mediaType??`application/octet-stream`).replace(/[\r\n]/g,``);if(yield n.encode(`${e}${s}\r
Content-Type: ${c}\r
\r
`),o.content instanceof Uint8Array)yield o.content;else{let e=o.content.getReader();i=e,a.add(o.content);let t=!1;try{for(;;){let{done:n,value:i}=await e.read();if(n||r){t=n;break}yield i}}finally{i=void 0,t||await e.cancel().catch(()=>{}),e.releaseLock()}if(r)return}yield n.encode(`\r
`)}yield n.encode(`--${t}--\r
`)}return{stream:le(o()),async dispose(t){if(r)return;r=!0;let n=i;n!=null&&await n.cancel(t).catch(()=>{});for(let n of e)n.type===`file`&&!(n.content instanceof Uint8Array)&&!a.has(n.content)&&await n.content.cancel(t).catch(()=>{})}}}var Vn=async({url:e,headers:n={},parts:r,failedResponseHandler:i,successfulResponseHandler:a,abortSignal:o,fetch:s=Rn()})=>{let c=`ai-sdk-multipart-${P()}`,l=Object.fromEntries(r.map(e=>[e.name,e.type===`field`?e.value:`<file:${e.filename??e.name}>`])),u=Bn(r,c);try{let r=await s(e,{method:`POST`,headers:E({...n,"Content-Type":`multipart/form-data; boundary=${c}`},`ai-sdk/provider-utils/${T}`,S()),body:u.stream,duplex:`half`,signal:o}),d=x(r);if(!r.ok){let n;try{n=await i({response:r,url:e,requestBodyValues:l})}catch(n){throw C(n)||t.isInstance(n)?n:new t({message:`Failed to process error response`,cause:n,statusCode:r.status,url:e,responseHeaders:d,requestBodyValues:l})}throw n.value}try{return await a({response:r,url:e,requestBodyValues:l})}catch(n){throw n instanceof Error&&(C(n)||t.isInstance(n))?n:new t({message:`Failed to process successful response`,cause:n,statusCode:r.status,url:e,responseHeaders:d,requestBodyValues:l})}}catch(t){throw await u.dispose(t),w({error:t,url:e,requestBodyValues:l})}},Hn=()=>globalThis.fetch,Un=async({url:e,headers:t,body:n,failedResponseHandler:r,successfulResponseHandler:i,abortSignal:a,fetch:o})=>await Z({url:e,headers:{"Content-Type":`application/json`,...t},body:{content:JSON.stringify(n),values:n},failedResponseHandler:r,successfulResponseHandler:i,abortSignal:a,fetch:o}),Wn=async({url:e,headers:t,formData:n,failedResponseHandler:r,successfulResponseHandler:i,abortSignal:a,fetch:o})=>await Z({url:e,headers:t,body:{content:n,values:Object.fromEntries(n.entries())},failedResponseHandler:r,successfulResponseHandler:i,abortSignal:a,fetch:o}),Z=async({url:e,headers:n={},body:r,successfulResponseHandler:i,failedResponseHandler:a,abortSignal:o,fetch:s=Hn()})=>{try{let c=await s(e,{method:`POST`,headers:E(n,`ai-sdk/provider-utils/${T}`,S()),body:r.content,signal:o}),l=x(c);if(!c.ok){let n;try{n=await a({response:c,url:e,requestBodyValues:r.values})}catch(n){throw C(n)||t.isInstance(n)?n:new t({message:`Failed to process error response`,cause:n,statusCode:c.status,url:e,responseHeaders:l,requestBodyValues:r.values})}throw n.value}try{return await i({response:c,url:e,requestBodyValues:r.values})}catch(n){throw n instanceof Error&&(C(n)||t.isInstance(n))?n:new t({message:`Failed to process successful response`,cause:n,statusCode:c.status,url:e,responseHeaders:l,requestBodyValues:r.values})}}catch(t){throw w({error:t,url:e,requestBodyValues:r.values})}};function Q(e){return e}function Gn(e){return{...e,type:`dynamic`}}function Kn({id:e,inputSchema:t}){return({execute:n,outputSchema:r,needsApproval:i,toModelOutput:a,onInputStart:o,onInputDelta:s,onInputAvailable:c,...l})=>Q({type:`provider`,isProviderExecuted:!1,id:e,args:l,inputSchema:t,outputSchema:r,execute:n,needsApproval:i,toModelOutput:a,onInputStart:o,onInputDelta:s,onInputAvailable:c})}function qn({id:e,inputSchema:t,outputSchema:n}){return({execute:r,needsApproval:i,toModelOutput:a,onInputStart:o,onInputDelta:s,onInputAvailable:c,...l})=>Q({type:`provider`,isProviderExecuted:!1,id:e,args:l,inputSchema:t,outputSchema:n,execute:r,needsApproval:i,toModelOutput:a,onInputStart:o,onInputDelta:s,onInputAvailable:c})}function Jn({id:e,inputSchema:t,outputSchema:n,supportsDeferredResults:r}){return({onInputStart:i,onInputDelta:a,onInputAvailable:o,...s})=>Q({type:`provider`,isProviderExecuted:!0,id:e,args:s,inputSchema:t,outputSchema:n,onInputStart:i,onInputDelta:a,onInputAvailable:o,supportsDeferredResults:r})}async function Yn(e){return typeof e==`function`&&(e=e()),Promise.resolve(e)}function Xn({part:e}){if(Ue(e.mediaType))return e.mediaType;if(e.data.type===`data`){let t=Ve({data:e.data.data,topLevelType:He(e.mediaType)});if(t)return t;throw new l({functionality:`file of media type "${e.mediaType}" must specify subtype since it could not be auto-detected`})}throw new l({functionality:`file of media type "${e.mediaType}" must specify subtype since it is not passed as inline bytes`})}function Zn({reference:e,provider:t}){let n=e[t];if(n!=null)return n;throw new s({provider:t,reference:e})}var Qn=({maxRetries:e=2,initialDelayInMs:t=2e3,backoffFactor:n=2,abortSignal:r,shouldRetry:i,getDelayInMs:a=({exponentialBackoffDelay:e})=>e,createRetryError:o=({message:e})=>Error(e)})=>async s=>$n(s,{maxRetries:e,delayInMs:t,backoffFactor:n,abortSignal:r,shouldRetry:i,getDelayInMs:a,createRetryError:o});async function $n(e,{maxRetries:t,delayInMs:n,backoffFactor:r,abortSignal:i,shouldRetry:a,getDelayInMs:o,createRetryError:s},c=[]){try{return await e()}catch(l){if(C(l)||t===0)throw l;let d=u(l),f=[...c,l],p=f.length;if(p>t)throw s({message:`Failed after ${p} attempts. Last error: ${d}`,reason:`maxRetriesExceeded`,errors:f});if(await a(l)&&p<=t)return await y(o({error:l,exponentialBackoffDelay:n}),{abortSignal:i}),$n(e,{maxRetries:t,delayInMs:r*n,backoffFactor:r,abortSignal:i,shouldRetry:a,getDelayInMs:o,createRetryError:s},f);throw p===1?l:s({message:`Failed after ${p} attempts with non-retryable error: '${d}'`,reason:`errorNotRetryable`,errors:f})}}var er=new TextDecoder;function tr({stream:e,url:n,requestBodyValues:r,statusCode:i,responseHeaders:a}){let o=e.getReader(),s=!1,c=()=>{s||=(o.releaseLock(),!0)};return new ReadableStream({async pull(e){try{let{done:t,value:n}=await o.read();t?(c(),e.close()):e.enqueue(n)}catch(o){if(c(),C(o)){e.error(o);return}e.error(w({error:new t({message:`Failed to process successful response`,cause:o,statusCode:i,url:n,responseHeaders:a,requestBodyValues:r}),url:n,requestBodyValues:r}))}},async cancel(e){try{await o.cancel(e)}finally{c()}}})}async function nr({response:e,url:t}){return er.decode(await pt({response:e,url:t}))}var rr=({errorSchema:e,errorToMessage:n,isRetryable:r})=>async({response:i,url:a,requestBodyValues:o})=>{let s=await nr({response:i,url:a}),c=x(i);if(s.trim()===``)return{responseHeaders:c,value:new t({message:i.statusText,url:a,requestBodyValues:o,statusCode:i.status,responseHeaders:c,responseBody:s,isRetryable:r?.(i)})};try{let l=await Y({text:s,schema:e});return{responseHeaders:c,value:new t({message:n(l),url:a,requestBodyValues:o,statusCode:i.status,responseHeaders:c,responseBody:s,data:l,isRetryable:r?.(i,l)})}}catch{return{responseHeaders:c,value:new t({message:i.statusText,url:a,requestBodyValues:o,statusCode:i.status,responseHeaders:c,responseBody:s,isRetryable:r?.(i)})}}},ir=e=>async({response:t,url:r,requestBodyValues:i})=>{let a=x(t);if(t.body==null)throw new n({});return{responseHeaders:a,value:In({stream:tr({stream:t.body,url:r,requestBodyValues:i,statusCode:t.status,responseHeaders:a}),schema:e})}},ar=e=>async({response:n,url:r,requestBodyValues:i})=>{let a=await nr({response:n,url:r}),o=await X({text:a,schema:e}),s=x(n);if(!o.success)throw new t({message:`Invalid JSON response`,cause:o.error,statusCode:n.status,responseHeaders:s,responseBody:a,url:r,requestBodyValues:i});return{responseHeaders:s,value:o.value,rawValue:o.rawValue}},or=e=>async({response:t})=>{let r=x(t);if(t.body==null)throw new n({});return{responseHeaders:r,value:sr({stream:t.body,schema:e})}};async function*sr({stream:e,schema:t}){let n=e.getReader(),r=new TextDecoder,i=``,a=!1;try{for(;;){let{done:e,value:o}=await n.read();if(e){a=!0,i+=r.decode();break}i+=r.decode(o,{stream:!0});let s=i.indexOf(`
`);for(;s!==-1;){let e=i.slice(0,s).replace(/\r$/,``);i=i.slice(s+1),e.trim().length>0&&(yield await Y({text:e,schema:t})),s=i.indexOf(`
`)}}let e=i.replace(/\r$/,``);e.trim().length>0&&(yield await Y({text:e,schema:t}))}finally{a||await n.cancel().catch(()=>{}),n.releaseLock()}}var cr=()=>async({response:e,url:n,requestBodyValues:r})=>{let i=x(e);if(!e.body)throw new t({message:`Response body is empty`,url:n,requestBodyValues:r,statusCode:e.status,responseHeaders:i,responseBody:void 0});try{let t=await e.arrayBuffer();return{responseHeaders:i,value:new Uint8Array(t)}}catch(a){throw new t({message:`Failed to read response as array buffer`,url:n,requestBodyValues:r,statusCode:e.status,responseHeaders:i,responseBody:void 0,cause:a})}},lr=()=>async({response:e,url:t,requestBodyValues:r})=>{let i=x(e);if(e.body==null)throw new n({});return{responseHeaders:i,value:tr({stream:e.body,url:t,requestBodyValues:r,statusCode:e.status,responseHeaders:i})}};function $(e){if(e==null)return!0;let t=typeof e;return t===`string`||t===`number`||t===`boolean`?!0:t===`function`||t===`symbol`||t===`bigint`?!1:Array.isArray(e)?e.every($):Object.getPrototypeOf(e)===Object.prototype&&Object.values(e).every($)}var ur=`AI_SerializationError`,dr=`vercel.ai.error.${ur}`,fr=Symbol.for(dr),pr,mr,hr=class extends (mr=e,pr=fr,mr){constructor({message:e=`Failed to serialize value.`,cause:t}={}){super({name:ur,message:e,cause:t}),this[pr]=!0}static isInstance(t){return e.hasMarker(t,dr)}};function gr(e){let t={};for(let[n,r]of Object.entries(e.config))if(n===`headers`){let e=_r(r);$(e)&&(t[n]=e)}else $(r)&&(t[n]=r);return{modelId:e.modelId,config:t}}function _r(e){let t=e;if(typeof e==`function`&&(t=e()),t instanceof Promise)throw new hr({message:`Cannot serialize asynchronous model options.`});return t}var vr=class{constructor(e,t={}){this.toolCalls=new Set,this.toolCallsById=new Map,this.toolCallsByIndex=new Map,this.controller=e,this._generateId=t.generateId??P,this.typeValidation=t.typeValidation??`none`,this.extractMetadata=t.extractMetadata,this.buildToolCallProviderMetadata=t.buildToolCallProviderMetadata}processDelta(e){let{id:t,index:n}=e,r=t!=null&&t.length>0?this.toolCallsById.get(t):n==null?this.latestToolCall:this.toolCallsByIndex.get(n);r==null?r=this.processNewToolCall(e):this.processExistingToolCall(r,e),n!=null&&this.toolCallsByIndex.set(n,r),this.latestToolCall=r}flush(){for(let e of this.toolCalls)e.hasFinished||this.finishToolCall(e)}processNewToolCall(e){if(this.typeValidation===`required`){if(e.type!==`function`)throw new i({data:e,message:`Expected 'function' type.`})}else if(this.typeValidation===`if-present`&&e.type!=null&&e.type!==`function`)throw new i({data:e,message:`Expected 'function' type.`});if(e.id==null)throw new i({data:e,message:`Expected 'id' to be a string.`});if(e.function?.name==null)throw new i({data:e,message:`Expected 'function.name' to be a string.`});this.controller.enqueue({type:`tool-input-start`,id:e.id,toolName:e.function.name});let t=this.extractMetadata?.call(this,e),n={id:e.id,type:`function`,function:{name:e.function.name,arguments:e.function.arguments??``},hasFinished:!1,metadata:t};return this.toolCalls.add(n),n.id.length>0&&this.toolCallsById.set(n.id,n),n.function.arguments.length>0&&this.controller.enqueue({type:`tool-input-delta`,id:n.id,delta:n.function.arguments}),n}processExistingToolCall(e,t){e.hasFinished||t.function?.arguments!=null&&(e.function.arguments+=t.function.arguments,this.controller.enqueue({type:`tool-input-delta`,id:e.id,delta:t.function.arguments}))}finishToolCall(e){this.controller.enqueue({type:`tool-input-end`,id:e.id});let t=this.buildToolCallProviderMetadata?.call(this,e.metadata);this.controller.enqueue({type:`tool-call`,toolCallId:e.id??this._generateId(),toolName:e.function.name,input:e.function.arguments,...t?{providerMetadata:t}:{}}),e.hasFinished=!0}};function yr(e){if(e?.trim()===``)throw new r({argument:`baseURL`,message:`baseURL must be a non-empty string.`});return e}function br(e){return e?.replace(/\/$/,``)}function xr(e,t){return Object.defineProperty({...e},"experimental_toolCaller",{value:t})}export{Ln as $,dt as A,Se as B,xe as C,Ve as D,Oe as E,He as F,bt as G,k as H,C as I,Ct as J,xt as K,St as L,P as M,_t as N,mt as O,S as P,Y as Q,Ue as R,Jn as S,g as St,y as T,q as U,yt as V,En as W,Dt as X,Et as Y,Ee as Z,ar as _,Fn as _t,ce as a,Xn as at,Kn as b,br as bt,he as c,X as ct,pe as d,gr as dt,Wn as et,cr as f,re as ft,or as g,A as gt,rr as h,yr as ht,_ as i,Yn as it,N as j,Gn as k,me as l,J as lt,ir as m,xr as mt,vr as n,Vn as nt,le as o,Zn as ot,lr as p,Q as pt,Tt as q,On as r,Z as rt,fe as s,Qn as st,ht as t,Un as tt,ge as u,I as ut,_e as v,se as vt,ye as w,qn as x,Pn as xt,ve as y,E as yt,vt as z};