blink 0.1.58 → 0.1.59

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,53 +0,0 @@
1
- import*as e from"zod/v4";import t,{z as n}from"zod/v4";import{ZodFirstPartyTypeKind as r}from"zod/v3";var i=`vercel.ai.error`,a=Symbol.for(i),o,s=class e extends Error{constructor({name:e,message:t,cause:n}){super(t),this[o]=!0,this.name=e,this.cause=n}static isInstance(t){return e.hasMarker(t,i)}static hasMarker(e,t){let n=Symbol.for(t);return typeof e==`object`&&!!e&&n in e&&typeof e[n]==`boolean`&&e[n]===!0}};o=a;var c=s,l=`AI_APICallError`,u=`vercel.ai.error.${l}`,d=Symbol.for(u),f,p=class extends c{constructor({message:e,url:t,requestBodyValues:n,statusCode:r,responseHeaders:i,responseBody:a,cause:o,isRetryable:s=r!=null&&(r===408||r===409||r===429||r>=500),data:c}){super({name:l,message:e,cause:o}),this[f]=!0,this.url=t,this.requestBodyValues=n,this.statusCode=r,this.responseHeaders=i,this.responseBody=a,this.isRetryable=s,this.data=c}static isInstance(e){return c.hasMarker(e,u)}};f=d;var m=`AI_EmptyResponseBodyError`,h=`vercel.ai.error.${m}`,g=Symbol.for(h),_,v=class extends c{constructor({message:e=`Empty response body`}={}){super({name:m,message:e}),this[_]=!0}static isInstance(e){return c.hasMarker(e,h)}};_=g;function y(e){return e==null?`unknown error`:typeof e==`string`?e:e instanceof Error?e.message:JSON.stringify(e)}var b=`AI_InvalidArgumentError`,x=`vercel.ai.error.${b}`,S=Symbol.for(x),C,w=class extends c{constructor({message:e,cause:t,argument:n}){super({name:b,message:e,cause:t}),this[C]=!0,this.argument=n}static isInstance(e){return c.hasMarker(e,x)}};C=S;var T=`AI_InvalidPromptError`,E=`vercel.ai.error.${T}`,D=Symbol.for(E),O,k=class extends c{constructor({prompt:e,message:t,cause:n}){super({name:T,message:`Invalid prompt: ${t}`,cause:n}),this[O]=!0,this.prompt=e}static isInstance(e){return c.hasMarker(e,E)}};O=D;var A=`AI_InvalidResponseDataError`,ee=`vercel.ai.error.${A}`,te=Symbol.for(ee),j,M=class extends c{constructor({data:e,message:t=`Invalid response data: ${JSON.stringify(e)}.`}){super({name:A,message:t}),this[j]=!0,this.data=e}static isInstance(e){return c.hasMarker(e,ee)}};j=te;var N=`AI_JSONParseError`,P=`vercel.ai.error.${N}`,ne=Symbol.for(P),re,F=class extends c{constructor({text:e,cause:t}){super({name:N,message:`JSON parsing failed: Text: ${e}.
2
- Error message: ${y(t)}`,cause:t}),this[re]=!0,this.text=e}static isInstance(e){return c.hasMarker(e,P)}};re=ne;var ie=`AI_LoadAPIKeyError`,ae=`vercel.ai.error.${ie}`,oe=Symbol.for(ae),se,ce=class extends c{constructor({message:e}){super({name:ie,message:e}),this[se]=!0}static isInstance(e){return c.hasMarker(e,ae)}};se=oe;var le=`AI_LoadSettingError`,ue=`vercel.ai.error.${le}`,de=Symbol.for(ue),fe;fe=de;var I=`AI_NoContentGeneratedError`,pe=`vercel.ai.error.${I}`,me=Symbol.for(pe),he;he=me;var ge=`AI_NoSuchModelError`,_e=`vercel.ai.error.${ge}`,ve=Symbol.for(_e),L,ye=class extends c{constructor({errorName:e=ge,modelId:t,modelType:n,message:r=`No such ${n}: ${t}`}){super({name:e,message:r}),this[L]=!0,this.modelId=t,this.modelType=n}static isInstance(e){return c.hasMarker(e,_e)}};L=ve;var be=`AI_TooManyEmbeddingValuesForCallError`,R=`vercel.ai.error.${be}`,xe=Symbol.for(R),Se,Ce=class extends c{constructor(e){super({name:be,message:`Too many values for a single embedding call. The ${e.provider} model "${e.modelId}" can only embed up to ${e.maxEmbeddingsPerCall} values per call, but ${e.values.length} values were provided.`}),this[Se]=!0,this.provider=e.provider,this.modelId=e.modelId,this.maxEmbeddingsPerCall=e.maxEmbeddingsPerCall,this.values=e.values}static isInstance(e){return c.hasMarker(e,R)}};Se=xe;var we=`AI_TypeValidationError`,Te=`vercel.ai.error.${we}`,Ee=Symbol.for(Te),De,Oe=class e extends c{constructor({value:e,cause:t}){super({name:we,message:`Type validation failed: Value: ${JSON.stringify(e)}.
3
- Error message: ${y(t)}`,cause:t}),this[De]=!0,this.value=e}static isInstance(e){return c.hasMarker(e,Te)}static wrap({value:t,cause:n}){return e.isInstance(n)&&n.value===t?n:new e({value:t,cause:n})}};De=Ee;var ke=Oe,Ae=`AI_UnsupportedFunctionalityError`,je=`vercel.ai.error.${Ae}`,Me=Symbol.for(je),Ne,z=class extends c{constructor({functionality:e,message:t=`'${e}' functionality not supported.`}){super({name:Ae,message:t}),this[Ne]=!0,this.functionality=e}static isInstance(e){return c.hasMarker(e,je)}};Ne=Me;var Pe=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 Fe(e){}function Ie(e){if(typeof e==`function`)throw TypeError("`callbacks` must be an object, got a function instead. Did you mean `{onEvent: fn}`?");let{onEvent:t=Fe,onError:n=Fe,onRetry:r=Fe,onComment:i}=e,a=``,o=!0,s,c=``,l=``;function u(e){let t=o?e.replace(/^\xEF\xBB\xBF/,``):e,[n,r]=Le(`${a}${t}`);for(let e of n)d(e);a=r,o=!1}function d(e){if(e===``){p();return}if(e.startsWith(`:`)){i&&i(e.slice(e.startsWith(`: `)?2:1));return}let t=e.indexOf(`:`);if(t!==-1){let n=e.slice(0,t),r=e[t+1]===` `?2:1,i=e.slice(t+r);f(n,i,e);return}f(e,``,e)}function f(e,t,i){switch(e){case`event`:l=t;break;case`data`:c=`${c}${t}
4
- `;break;case`id`:s=t.includes(`\0`)?void 0:t;break;case`retry`:/^\d+$/.test(t)?r(parseInt(t,10)):n(new Pe(`Invalid \`retry\` value: "${t}"`,{type:`invalid-retry`,value:t,line:i}));break;default:n(new Pe(`Unknown field "${e.length>20?`${e.slice(0,20)}\u2026`:e}"`,{type:`unknown-field`,field:e,value:t,line:i}));break}}function p(){c.length>0&&t({id:s,event:l||void 0,data:c.endsWith(`
5
- `)?c.slice(0,-1):c}),s=void 0,c=``,l=``}function m(e={}){a&&e.consume&&d(a),o=!0,s=void 0,c=``,l=``,a=``}return{feed:u,reset:m}}function Le(e){let t=[],n=``,r=0;for(;r<e.length;){let i=e.indexOf(`\r`,r),a=e.indexOf(`
6
- `,r),o=-1;if(i!==-1&&a!==-1?o=Math.min(i,a):i===-1?a!==-1&&(o=a):o=i===e.length-1?-1:i,o===-1){n=e.slice(r);break}else{let n=e.slice(r,o);t.push(n),r=o+1,e[r-1]===`\r`&&e[r]===`
7
- `&&r++}}return[t,n]}var Re=class extends TransformStream{constructor({onError:e,onRetry:t,onComment:n}={}){let r;super({start(i){r=Ie({onEvent:e=>{i.enqueue(e)},onError(t){e===`terminate`?i.error(t):typeof e==`function`&&e(t)},onRetry:t,onComment:n})},transform(e){r.feed(e)}})}};function ze(e){let t=e.pipeThrough(new TransformStream);return t[Symbol.asyncIterator]=function(){let e=this.getReader(),t=!1;async function n(n){t=!0;try{n&&await e.cancel?.()}finally{try{e.releaseLock()}catch{}}}return{async next(){if(t)return{done:!0,value:void 0};let{done:r,value:i}=await e.read();return r?(await n(!0),{done:!0,value:void 0}):{done:!1,value:i}},async return(){return await n(!0),{done:!0,value:void 0}},async throw(e){throw await n(!0),e}}},t}function B(...e){return e.reduce((e,t)=>({...e,...t??{}}),{})}async function Be(e,t){if(e==null)return Promise.resolve();let n=t?.abortSignal;return new Promise((t,r)=>{if(n?.aborted){r(Ve());return}let i=setTimeout(()=>{a(),t()},e),a=()=>{clearTimeout(i),n?.removeEventListener(`abort`,o)},o=()=>{a(),r(Ve())};n?.addEventListener(`abort`,o)})}function Ve(){return new DOMException(`Delay was aborted`,`AbortError`)}function He(e){return Object.fromEntries([...e.headers])}var Ue=({prefix:e,size:t=16,alphabet:n=`0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz`,separator:r=`-`}={})=>{let i=()=>{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 i;if(n.includes(r))throw new w({argument:`separator`,message:`The separator "${r}" must not be part of the alphabet "${n}".`});return()=>`${e}${r}${i()}`},V=Ue();function We(e){return e==null?`unknown error`:typeof e==`string`?e:e instanceof Error?e.message:JSON.stringify(e)}function Ge(e){return(e instanceof Error||e instanceof DOMException)&&(e.name===`AbortError`||e.name===`ResponseAborted`||e.name===`TimeoutError`)}var Ke=[`fetch failed`,`failed to fetch`];function qe({error:e,url:t,requestBodyValues:n}){if(Ge(e))return e;if(e instanceof TypeError&&Ke.includes(e.message.toLowerCase())){let r=e.cause;if(r!=null)return new p({message:`Cannot connect to API: ${r.message}`,cause:r,url:t,requestBodyValues:n,isRetryable:!0})}return e}function Je(e){return Object.fromEntries(Object.entries(e).filter(([e,t])=>t!=null))}var Ye=()=>globalThis.fetch,Xe=async({url:e,headers:t={},successfulResponseHandler:n,failedResponseHandler:r,abortSignal:i,fetch:a=Ye()})=>{try{let o=await a(e,{method:`GET`,headers:Je(t),signal:i}),s=He(o);if(!o.ok){let t;try{t=await r({response:o,url:e,requestBodyValues:{}})}catch(t){throw Ge(t)||p.isInstance(t)?t:new p({message:`Failed to process error response`,cause:t,statusCode:o.status,url:e,responseHeaders:s,requestBodyValues:{}})}throw t.value}try{return await n({response:o,url:e,requestBodyValues:{}})}catch(t){throw t instanceof Error&&(Ge(t)||p.isInstance(t))?t:new p({message:`Failed to process successful response`,cause:t,statusCode:o.status,url:e,responseHeaders:s,requestBodyValues:{}})}}catch(t){throw qe({error:t,url:e,requestBodyValues:{}})}};function Ze({mediaType:e,url:t,supportedUrls:n}){return t=t.toLowerCase(),e=e.toLowerCase(),Object.entries(n).map(([e,t])=>{let n=e.toLowerCase();return n===`*`||n===`*/*`?{mediaTypePrefix:``,regexes:t}:{mediaTypePrefix:n.replace(/\*/,``),regexes:t}}).filter(({mediaTypePrefix:t})=>e.startsWith(t)).flatMap(({regexes:e})=>e).some(e=>e.test(t))}function Qe({apiKey:e,environmentVariableName:t,apiKeyParameterName:n=`apiKey`,description:r}){if(typeof e==`string`)return e;if(e!=null)throw new ce({message:`${r} API key must be a string.`});if(typeof process>`u`)throw new ce({message:`${r} API key is missing. Pass it using the '${n}' parameter. Environment variables is not supported in this environment.`});if(e=process.env[t],e==null)throw new ce({message:`${r} API key is missing. Pass it using the '${n}' parameter or the ${t} environment variable.`});if(typeof e!=`string`)throw new ce({message:`${r} API key must be a string. The value of the ${t} environment variable is not a string.`});return e}function $e({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 et(e){var t;let[n,r=``]=e.toLowerCase().split(`/`);return(t={mpeg:`mp3`,"x-wav":`wav`,opus:`ogg`,mp4:`m4a`,"x-m4a":`m4a`}[r])??r}var tt=/"__proto__"\s*:/,nt=/"constructor"\s*:/;function rt(e){let t=JSON.parse(e);return typeof t!=`object`||!t||tt.test(e)===!1&&nt.test(e)===!1?t:it(t)}function it(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`)&&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 at(e){let{stackTraceLimit:t}=Error;Error.stackTraceLimit=0;try{return rt(e)}finally{Error.stackTraceLimit=t}}var ot=Symbol.for(`vercel.ai.validator`);function st(e){return{[ot]:!0,validate:e}}function ct(e){return typeof e==`object`&&!!e&&ot in e&&e[ot]===!0&&`validate`in e}function lt(e){return ct(e)?e:ut(e)}function ut(e){return st(async t=>{let n=await e[`~standard`].validate(t);return n.issues==null?{success:!0,value:n.value}:{success:!1,error:new ke({value:t,cause:n.issues})}})}async function dt({value:e,schema:t}){let n=await ft({value:e,schema:t});if(!n.success)throw ke.wrap({value:e,cause:n.error});return n.value}async function ft({value:e,schema:t}){let n=lt(t);try{if(n.validate==null)return{success:!0,value:e,rawValue:e};let t=await n.validate(e);return t.success?{success:!0,value:t.value,rawValue:e}:{success:!1,error:ke.wrap({value:e,cause:t.error}),rawValue:e}}catch(t){return{success:!1,error:ke.wrap({value:e,cause:t}),rawValue:e}}}async function pt({text:e,schema:t}){try{let n=at(e);return t==null?n:dt({value:n,schema:t})}catch(t){throw F.isInstance(t)||ke.isInstance(t)?t:new F({text:e,cause:t})}}async function mt({text:e,schema:t}){try{let n=at(e);return t==null?{success:!0,value:n,rawValue:n}:await ft({value:n,schema:t})}catch(t){return{success:!1,error:F.isInstance(t)?t:new F({text:e,cause:t}),rawValue:void 0}}}function ht(e){try{return at(e),!0}catch{return!1}}function gt({stream:e,schema:t}){return e.pipeThrough(new TextDecoderStream).pipeThrough(new Re).pipeThrough(new TransformStream({async transform({data:e},n){e!==`[DONE]`&&n.enqueue(await mt({text:e,schema:t}))}}))}async function H({provider:e,providerOptions:t,schema:n}){if(t?.[e]==null)return;let r=await ft({value:t[e],schema:n});if(!r.success)throw new w({argument:`providerOptions`,message:`invalid ${e} provider options`,cause:r.error});return r.value}var _t=()=>globalThis.fetch,U=async({url:e,headers:t,body:n,failedResponseHandler:r,successfulResponseHandler:i,abortSignal:a,fetch:o})=>yt({url:e,headers:{"Content-Type":`application/json`,...t},body:{content:JSON.stringify(n),values:n},failedResponseHandler:r,successfulResponseHandler:i,abortSignal:a,fetch:o}),vt=async({url:e,headers:t,formData:n,failedResponseHandler:r,successfulResponseHandler:i,abortSignal:a,fetch:o})=>yt({url:e,headers:t,body:{content:n,values:Object.fromEntries(n.entries())},failedResponseHandler:r,successfulResponseHandler:i,abortSignal:a,fetch:o}),yt=async({url:e,headers:t={},body:n,successfulResponseHandler:r,failedResponseHandler:i,abortSignal:a,fetch:o=_t()})=>{try{let s=await o(e,{method:`POST`,headers:Je(t),body:n.content,signal:a}),c=He(s);if(!s.ok){let t;try{t=await i({response:s,url:e,requestBodyValues:n.values})}catch(t){throw Ge(t)||p.isInstance(t)?t:new p({message:`Failed to process error response`,cause:t,statusCode:s.status,url:e,responseHeaders:c,requestBodyValues:n.values})}throw t.value}try{return await r({response:s,url:e,requestBodyValues:n.values})}catch(t){throw t instanceof Error&&(Ge(t)||p.isInstance(t))?t:new p({message:`Failed to process successful response`,cause:t,statusCode:s.status,url:e,responseHeaders:c,requestBodyValues:n.values})}}catch(t){throw qe({error:t,url:e,requestBodyValues:n.values})}};function bt(e){return e}function W({id:e,name:t,inputSchema:n}){return({execute:r,outputSchema:i,toModelOutput:a,onInputStart:o,onInputDelta:s,onInputAvailable:c,...l})=>bt({type:`provider-defined`,id:e,name:t,args:l,inputSchema:n,outputSchema:i,execute:r,toModelOutput:a,onInputStart:o,onInputDelta:s,onInputAvailable:c})}function xt({id:e,name:t,inputSchema:n,outputSchema:r}){return({execute:i,toModelOutput:a,onInputStart:o,onInputDelta:s,onInputAvailable:c,...l})=>bt({type:`provider-defined`,id:e,name:t,args:l,inputSchema:n,outputSchema:r,execute:i,toModelOutput:a,onInputStart:o,onInputDelta:s,onInputAvailable:c})}async function G(e){return typeof e==`function`&&(e=e()),Promise.resolve(e)}var St=({errorSchema:e,errorToMessage:t,isRetryable:n})=>async({response:r,url:i,requestBodyValues:a})=>{let o=await r.text(),s=He(r);if(o.trim()===``)return{responseHeaders:s,value:new p({message:r.statusText,url:i,requestBodyValues:a,statusCode:r.status,responseHeaders:s,responseBody:o,isRetryable:n?.(r)})};try{let c=await pt({text:o,schema:e});return{responseHeaders:s,value:new p({message:t(c),url:i,requestBodyValues:a,statusCode:r.status,responseHeaders:s,responseBody:o,data:c,isRetryable:n?.(r,c)})}}catch{return{responseHeaders:s,value:new p({message:r.statusText,url:i,requestBodyValues:a,statusCode:r.status,responseHeaders:s,responseBody:o,isRetryable:n?.(r)})}}},Ct=e=>async({response:t})=>{let n=He(t);if(t.body==null)throw new v({});return{responseHeaders:n,value:gt({stream:t.body,schema:e})}},K=e=>async({response:t,url:n,requestBodyValues:r})=>{let i=await t.text(),a=await mt({text:i,schema:e}),o=He(t);if(!a.success)throw new p({message:`Invalid JSON response`,cause:a.error,statusCode:t.status,responseHeaders:o,responseBody:i,url:n,requestBodyValues:r});return{responseHeaders:o,value:a.value,rawValue:a.rawValue}},wt=()=>async({response:e,url:t,requestBodyValues:n})=>{let r=He(e);if(!e.body)throw new p({message:`Response body is empty`,url:t,requestBodyValues:n,statusCode:e.status,responseHeaders:r,responseBody:void 0});try{let t=await e.arrayBuffer();return{responseHeaders:r,value:new Uint8Array(t)}}catch(i){throw new p({message:`Failed to read response as array buffer`,url:t,requestBodyValues:n,statusCode:e.status,responseHeaders:r,responseBody:void 0,cause:i})}},Tt=(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(`/`)},Et=Symbol(`Let zodToJsonSchema decide on which parser to use`),Dt={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`},Ot=e=>typeof e==`string`?{...Dt,name:e}:{...Dt,...e};function q(){return{}}function kt(e,t){var n,i,a;let o={type:`array`};return(n=e.type)?._def&&(a=(i=e.type)?._def)?.typeName!==r.ZodAny&&(o.items=X(e.type._def,{...t,currentPath:[...t.currentPath,`items`]})),e.minLength&&(o.minItems=e.minLength.value),e.maxLength&&(o.maxItems=e.maxLength.value),e.exactLength&&(o.minItems=e.exactLength.value,o.maxItems=e.exactLength.value),o}function At(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;break}return t}function jt(){return{type:`boolean`}}function Mt(e,t){return X(e.type._def,t)}var Nt=(e,t)=>X(e.innerType._def,t);function Pt(e,t,n){let r=n??t.dateStrategy;if(Array.isArray(r))return{anyOf:r.map((n,r)=>Pt(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 Ft(e)}}var Ft=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;break}return t};function It(e,t){return{...X(e.innerType._def,t),default:e.defaultValue()}}function Lt(e,t){return t.effectStrategy===`input`?X(e.schema._def,t):q()}function Rt(e){return{type:`string`,enum:Array.from(e.values)}}var zt=e=>`type`in e&&e.type===`string`?!1:`allOf`in e;function Bt(e,t){let n=[X(e.left._def,{...t,currentPath:[...t.currentPath,`allOf`,`0`]}),X(e.right._def,{...t,currentPath:[...t.currentPath,`allOf`,`1`]})].filter(e=>!!e),r=[];return n.forEach(e=>{if(zt(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 Vt(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 Ht=void 0,J={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:()=>(Ht===void 0&&(Ht=RegExp(`^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$`,`u`)),Ht),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 Ut(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`:qt(n,`email`,r.message,t);break;case`format:idn-email`:qt(n,`idn-email`,r.message,t);break;case`pattern:zod`:Y(n,J.email,r.message,t);break}break;case`url`:qt(n,`uri`,r.message,t);break;case`uuid`:qt(n,`uuid`,r.message,t);break;case`regex`:Y(n,r.regex,r.message,t);break;case`cuid`:Y(n,J.cuid,r.message,t);break;case`cuid2`:Y(n,J.cuid2,r.message,t);break;case`startsWith`:Y(n,RegExp(`^${Wt(r.value,t)}`),r.message,t);break;case`endsWith`:Y(n,RegExp(`${Wt(r.value,t)}$`),r.message,t);break;case`datetime`:qt(n,`date-time`,r.message,t);break;case`date`:qt(n,`date`,r.message,t);break;case`time`:qt(n,`time`,r.message,t);break;case`duration`:qt(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`:Y(n,RegExp(Wt(r.value,t)),r.message,t);break;case`ip`:r.version!==`v6`&&qt(n,`ipv4`,r.message,t),r.version!==`v4`&&qt(n,`ipv6`,r.message,t);break;case`base64url`:Y(n,J.base64url,r.message,t);break;case`jwt`:Y(n,J.jwt,r.message,t);break;case`cidr`:r.version!==`v6`&&Y(n,J.ipv4Cidr,r.message,t),r.version!==`v4`&&Y(n,J.ipv6Cidr,r.message,t);break;case`emoji`:Y(n,J.emoji(),r.message,t);break;case`ulid`:Y(n,J.ulid,r.message,t);break;case`base64`:switch(t.base64Strategy){case`format:binary`:qt(n,`binary`,r.message,t);break;case`contentEncoding:base64`:n.contentEncoding=`base64`;break;case`pattern:zod`:Y(n,J.base64,r.message,t);break}break;case`nanoid`:Y(n,J.nanoid,r.message,t);case`toLowerCase`:case`toUpperCase`:case`trim`:break;default:}return n}function Wt(e,t){return t.patternStrategy===`escape`?Kt(e):e}var Gt=new Set(`ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789`);function Kt(e){let t=``;for(let n=0;n<e.length;n++)Gt.has(e[n])||(t+=`\\`),t+=e[n];return t}function qt(e,t,n,r){var i;e.format||(i=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 Y(e,t,n,r){var i;e.pattern||(i=e.allOf)?.some(e=>e.pattern)?(e.allOf||=[],e.pattern&&(e.allOf.push({pattern:e.pattern}),delete e.pattern),e.allOf.push({pattern:Jt(t,r),...n&&r.errorMessages&&{errorMessage:{pattern:n}}})):e.pattern=Jt(t,r)}function Jt(e,t){var n;if(!t.applyRegexFlags||!e.flags)return e.source;let r={i:e.flags.includes(`i`),m:e.flags.includes(`m`),s:e.flags.includes(`s`)},i=r.i?e.source.toLowerCase():e.source,a=``,o=!1,s=!1,c=!1;for(let e=0;e<i.length;e++){if(o){a+=i[e],o=!1;continue}if(r.i){if(s){if(i[e].match(/[a-z]/)){c?(a+=i[e],a+=`${i[e-2]}-${i[e]}`.toUpperCase(),c=!1):i[e+1]===`-`&&(n=i[e+2])?.match(/[a-z]/)?(a+=i[e],c=!0):a+=`${i[e]}${i[e].toUpperCase()}`;continue}}else if(i[e].match(/[a-z]/)){a+=`[${i[e]}${i[e].toUpperCase()}]`;continue}}if(r.m){if(i[e]===`^`){a+=`(^|(?<=[\r
8
- ]))`;continue}else if(i[e]===`$`){a+=`($|(?=[\r
9
- ]))`;continue}}if(r.s&&i[e]===`.`){a+=s?`${i[e]}\r
10
- `:`[${i[e]}\r
11
- ]`;continue}a+=i[e],i[e]===`\\`?o=!0:s&&i[e]===`]`?s=!1:!s&&i[e]===`[`&&(s=!0)}try{new RegExp(a)}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 a}function Yt(e,t){var n,i,a,o,s,c;let l={type:`object`,additionalProperties:(n=X(e.valueType._def,{...t,currentPath:[...t.currentPath,`additionalProperties`]}))??t.allowedAdditionalProperties};if((i=e.keyType)?._def.typeName===r.ZodString&&(a=e.keyType._def.checks)?.length){let{type:n,...r}=Ut(e.keyType._def,t);return{...l,propertyNames:r}}else if((o=e.keyType)?._def.typeName===r.ZodEnum)return{...l,propertyNames:{enum:e.keyType._def.values}};else if((s=e.keyType)?._def.typeName===r.ZodBranded&&e.keyType._def.type._def.typeName===r.ZodString&&(c=e.keyType._def.type._def.checks)?.length){let{type:n,...r}=Mt(e.keyType._def,t);return{...l,propertyNames:r}}return l}function Xt(e,t){if(t.mapStrategy===`record`)return Yt(e,t);let n=X(e.keyType._def,{...t,currentPath:[...t.currentPath,`items`,`items`,`0`]})||q(),r=X(e.valueType._def,{...t,currentPath:[...t.currentPath,`items`,`items`,`1`]})||q();return{type:`array`,maxItems:125,items:{type:`array`,items:[n,r],minItems:2,maxItems:2}}}function Zt(e){let t=e.values,n=Object.keys(e.values).filter(e=>typeof t[t[e]]!=`number`),r=n.map(e=>t[e]),i=Array.from(new Set(r.map(e=>typeof e)));return{type:i.length===1?i[0]===`string`?`string`:`number`:[`string`,`number`],enum:r}}function Qt(){return{not:q()}}function $t(){return{type:`null`}}var en={ZodString:`string`,ZodNumber:`number`,ZodBigInt:`integer`,ZodBoolean:`boolean`,ZodNull:`null`};function tn(e,t){let n=e.options instanceof Map?Array.from(e.options.values()):e.options;if(n.every(e=>e._def.typeName in en&&(!e._def.checks||!e._def.checks.length))){let e=n.reduce((e,t)=>{let n=en[t._def.typeName];return n&&!e.includes(n)?[...e,n]:e},[]);return{type:e.length>1?e:e[0]}}else 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`];case`symbol`:case`undefined`:case`function`: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 nn(e,t)}var nn=(e,t)=>{let n=(e.options instanceof Map?Array.from(e.options.values()):e.options).map((e,n)=>X(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 rn(e,t){if([`ZodString`,`ZodNumber`,`ZodBigInt`,`ZodBoolean`,`ZodNull`].includes(e.innerType._def.typeName)&&(!e.innerType._def.checks||!e.innerType._def.checks.length))return{type:[en[e.innerType._def.typeName],`null`]};let n=X(e.innerType._def,{...t,currentPath:[...t.currentPath,`anyOf`,`0`]});return n&&{anyOf:[n,{type:`null`}]}}function an(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;break}return t}function on(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=cn(a),s=X(a._def,{...t,currentPath:[...t.currentPath,`properties`,e],propertyPath:[...t.currentPath,`properties`,e]});if(s===void 0)continue;n.properties[e]=s,o||r.push(e)}r.length&&(n.required=r);let a=sn(e,t);return a!==void 0&&(n.additionalProperties=a),n}function sn(e,t){if(e.catchall._def.typeName!==`ZodNever`)return X(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 cn(e){try{return e.isOptional()}catch{return!0}}var ln=(e,t)=>{var n;if(t.currentPath.toString()===(n=t.propertyPath)?.toString())return X(e.innerType._def,t);let r=X(e.innerType._def,{...t,currentPath:[...t.currentPath,`anyOf`,`1`]});return r?{anyOf:[{not:q()},r]}:q()},un=(e,t)=>{if(t.pipeStrategy===`input`)return X(e.in._def,t);if(t.pipeStrategy===`output`)return X(e.out._def,t);let n=X(e.in._def,{...t,currentPath:[...t.currentPath,`allOf`,`0`]}),r=X(e.out._def,{...t,currentPath:[...t.currentPath,`allOf`,n?`1`:`0`]});return{allOf:[n,r].filter(e=>e!==void 0)}};function dn(e,t){return X(e.type._def,t)}function fn(e,t){let n=X(e.valueType._def,{...t,currentPath:[...t.currentPath,`items`]}),r={type:`array`,uniqueItems:!0,items:n};return e.minSize&&(r.minItems=e.minSize.value),e.maxSize&&(r.maxItems=e.maxSize.value),r}function pn(e,t){return e.rest?{type:`array`,minItems:e.items.length,items:e.items.map((e,n)=>X(e._def,{...t,currentPath:[...t.currentPath,`items`,`${n}`]})).reduce((e,t)=>t===void 0?e:[...e,t],[]),additionalItems:X(e.rest._def,{...t,currentPath:[...t.currentPath,`additionalItems`]})}:{type:`array`,minItems:e.items.length,maxItems:e.items.length,items:e.items.map((e,n)=>X(e._def,{...t,currentPath:[...t.currentPath,`items`,`${n}`]})).reduce((e,t)=>t===void 0?e:[...e,t],[])}}function mn(){return{not:q()}}function hn(){return q()}var gn=(e,t)=>X(e.innerType._def,t),_n=(e,t,n)=>{switch(t){case r.ZodString:return Ut(e,n);case r.ZodNumber:return an(e);case r.ZodObject:return on(e,n);case r.ZodBigInt:return At(e);case r.ZodBoolean:return jt();case r.ZodDate:return Pt(e,n);case r.ZodUndefined:return mn();case r.ZodNull:return $t();case r.ZodArray:return kt(e,n);case r.ZodUnion:case r.ZodDiscriminatedUnion:return tn(e,n);case r.ZodIntersection:return Bt(e,n);case r.ZodTuple:return pn(e,n);case r.ZodRecord:return Yt(e,n);case r.ZodLiteral:return Vt(e);case r.ZodEnum:return Rt(e);case r.ZodNativeEnum:return Zt(e);case r.ZodNullable:return rn(e,n);case r.ZodOptional:return ln(e,n);case r.ZodMap:return Xt(e,n);case r.ZodSet:return fn(e,n);case r.ZodLazy:return()=>e.getter()._def;case r.ZodPromise:return dn(e,n);case r.ZodNaN:case r.ZodNever:return Qt();case r.ZodEffects:return Lt(e,n);case r.ZodAny:return q();case r.ZodUnknown:return hn();case r.ZodDefault:return It(e,n);case r.ZodBranded:return Mt(e,n);case r.ZodReadonly:return gn(e,n);case r.ZodCatch:return Nt(e,n);case r.ZodPipeline:return un(e,n);case r.ZodFunction:case r.ZodVoid:case r.ZodSymbol:return;default:return(e=>void 0)(t)}};function X(e,t,n=!1){var r;let i=t.seen.get(e);if(t.override){let a=(r=t.override)?.call(t,e,t,i,n);if(a!==Et)return a}if(i&&!n){let e=vn(i,t);if(e!==void 0)return e}let a={def:e,path:t.currentPath,jsonSchema:void 0};t.seen.set(e,a);let o=_n(e,e.typeName,t),s=typeof o==`function`?X(o(),t):o;if(s&&yn(e,t,s),t.postProcess){let n=t.postProcess(s,e,t);return a.jsonSchema=s,n}return a.jsonSchema=s,s}var vn=(e,t)=>{switch(t.$refStrategy){case`root`:return{$ref:e.path.join(`/`)};case`relative`:return{$ref:Tt(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`),q()):t.$refStrategy===`seen`?q():void 0}},yn=(e,t,n)=>(e.description&&(n.description=e.description),n),bn=e=>{let t=Ot(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}]))}},xn=(e,t)=>{var n;let r=bn(t),i=typeof t==`object`&&t.definitions?Object.entries(t.definitions).reduce((e,[t,n])=>{var i;return{...e,[t]:(i=X(n._def,{...r,currentPath:[...r.basePath,r.definitionPath,t]},!0))??q()}},{}):void 0,a=typeof t==`string`?t:t?.nameStrategy===`title`?void 0:t?.name,o=(n=X(e._def,a===void 0?r:{...r,currentPath:[...r.basePath,r.definitionPath,a]},!1))??q(),s=typeof t==`object`&&t.name!==void 0&&t.nameStrategy===`title`?t.name:void 0;s!==void 0&&(o.title=s);let c=a===void 0?i?{...o,[r.definitionPath]:i}:o:{$ref:[...r.$refStrategy===`relative`?[]:r.basePath,r.definitionPath,a].join(`/`),[r.definitionPath]:{...i,[a]:o}};return c.$schema=`http://json-schema.org/draft-07/schema#`,c},Sn=xn;function Cn(e,t){var n;let r=(n=t?.useReferences)??!1;return On(Sn(e,{$refStrategy:r?`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 wn(t,n){var r;let i=(r=n?.useReferences)??!1,a=e.toJSONSchema(t,{target:`draft-7`,io:`output`,reused:i?`ref`:`inline`});return On(a,{validate:async n=>{let r=await e.safeParseAsync(t,n);return r.success?{success:!0,value:r.data}:{success:!1,error:r.error}}})}function Tn(e){return`_zod`in e}function En(e,t){return Tn(e)?wn(e,t):Cn(e,t)}var Dn=Symbol.for(`vercel.ai.schema`);function On(e,{validate:t}={}){return{[Dn]:!0,_type:void 0,[ot]:!0,jsonSchema:e,validate:t}}function kn(e){return typeof e==`object`&&!!e&&Dn in e&&e[Dn]===!0&&`jsonSchema`in e&&`validate`in e}function An(e){return e==null?On({properties:{},additionalProperties:!1}):kn(e)?e:En(e)}var{btoa:jn,atob:Mn}=globalThis;function Nn(e){let t=e.replace(/-/g,`+`).replace(/_/g,`/`),n=Mn(t);return Uint8Array.from(n,e=>e.codePointAt(0))}function Pn(e){let t=``;for(let n=0;n<e.length;n++)t+=String.fromCodePoint(e[n]);return jn(t)}function Fn(e){return e instanceof Uint8Array?Pn(e):e}function In(e){return e?.replace(/\/$/,``)}function Ln(e){return e!=null&&typeof e[Symbol.asyncIterator]==`function`}async function*Rn({execute:e,input:t,options:n}){let r=e(t,n);if(Ln(r)){let e;for await(let t of r)e=t,yield{type:`preliminary`,output:t};yield{type:`final`,output:e}}else yield{type:`final`,output:await r}}var zn=n.object({type:n.literal(`error`),error:n.object({type:n.string(),message:n.string()})}),Bn=St({errorSchema:zn,errorToMessage:e=>e.error.message}),Vn=n.object({citations:n.object({enabled:n.boolean()}).optional(),title:n.string().optional(),context:n.string().optional()}),Hn=n.object({sendReasoning:n.boolean().optional(),thinking:n.object({type:n.union([n.literal(`enabled`),n.literal(`disabled`)]),budgetTokens:n.number().optional()}).optional(),disableParallelToolUse:n.boolean().optional()});function Un(e){var t;let n=e?.anthropic,r=(t=n?.cacheControl)??n?.cache_control;return r}var Wn=n.object({maxUses:n.number().optional(),allowedDomains:n.array(n.string()).optional(),blockedDomains:n.array(n.string()).optional(),userLocation:n.object({type:n.literal(`approximate`),city:n.string().optional(),region:n.string().optional(),country:n.string().optional(),timezone:n.string().optional()}).optional()}),Gn=n.array(n.object({url:n.string(),title:n.string(),pageAge:n.string().nullable(),encryptedContent:n.string(),type:n.string()})),Kn=xt({id:`anthropic.web_search_20250305`,name:`web_search`,inputSchema:n.object({query:n.string()}),outputSchema:Gn}),qn=(e={})=>Kn(e);function Jn(e){return typeof e==`object`&&!!e&&`type`in e&&e.type===`web_search_20250305`}function Yn({tools:e,toolChoice:t,disableParallelToolUse:n}){e=e?.length?e:void 0;let r=[],i=new Set;if(e==null)return{tools:void 0,toolChoice:void 0,toolWarnings:r,betas:i};let a=[];for(let t of e){if(Jn(t)){a.push(t);continue}switch(t.type){case`function`:let e=Un(t.providerOptions);a.push({name:t.name,description:t.description,input_schema:t.inputSchema,cache_control:e});break;case`provider-defined`:switch(t.id){case`anthropic.computer_20250124`:i.add(`computer-use-2025-01-24`),a.push({name:`computer`,type:`computer_20250124`,display_width_px:t.args.displayWidthPx,display_height_px:t.args.displayHeightPx,display_number:t.args.displayNumber});break;case`anthropic.computer_20241022`:i.add(`computer-use-2024-10-22`),a.push({name:`computer`,type:`computer_20241022`,display_width_px:t.args.displayWidthPx,display_height_px:t.args.displayHeightPx,display_number:t.args.displayNumber});break;case`anthropic.text_editor_20250124`:i.add(`computer-use-2025-01-24`),a.push({name:`str_replace_editor`,type:`text_editor_20250124`});break;case`anthropic.text_editor_20241022`:i.add(`computer-use-2024-10-22`),a.push({name:`str_replace_editor`,type:`text_editor_20241022`});break;case`anthropic.text_editor_20250429`:i.add(`computer-use-2025-01-24`),a.push({name:`str_replace_based_edit_tool`,type:`text_editor_20250429`});break;case`anthropic.bash_20250124`:i.add(`computer-use-2025-01-24`),a.push({name:`bash`,type:`bash_20250124`});break;case`anthropic.bash_20241022`:i.add(`computer-use-2024-10-22`),a.push({name:`bash`,type:`bash_20241022`});break;case`anthropic.web_search_20250305`:{let e=Wn.parse(t.args);a.push({type:`web_search_20250305`,name:`web_search`,max_uses:e.maxUses,allowed_domains:e.allowedDomains,blocked_domains:e.blockedDomains,user_location:e.userLocation});break}case`anthropic.code_execution_20250522`:i.add(`code-execution-2025-05-22`),a.push({type:`code_execution_20250522`,name:`code_execution`});break;default:r.push({type:`unsupported-tool`,tool:t});break}break;default:r.push({type:`unsupported-tool`,tool:t});break}}if(t==null)return{tools:a,toolChoice:n?{type:`auto`,disable_parallel_tool_use:n}:void 0,toolWarnings:r,betas:i};let o=t.type;switch(o){case`auto`:return{tools:a,toolChoice:{type:`auto`,disable_parallel_tool_use:n},toolWarnings:r,betas:i};case`required`:return{tools:a,toolChoice:{type:`any`,disable_parallel_tool_use:n},toolWarnings:r,betas:i};case`none`:return{tools:void 0,toolChoice:void 0,toolWarnings:r,betas:i};case`tool`:return{tools:a,toolChoice:{type:`tool`,name:t.toolName,disable_parallel_tool_use:n},toolWarnings:r,betas:i};default:{let e=o;throw new z({functionality:`tool choice type: ${e}`})}}}var Xn=n.object({type:n.literal(`code_execution_result`),stdout:n.string(),stderr:n.string(),return_code:n.number()}),Zn=xt({id:`anthropic.code_execution_20250522`,name:`code_execution`,inputSchema:n.object({code:n.string()}),outputSchema:Xn}),Qn=(e={})=>Zn(e);function $n(e){if(typeof e==`string`)return Buffer.from(e,`base64`).toString(`utf-8`);if(e instanceof Uint8Array)return new TextDecoder().decode(e);throw e instanceof URL?new z({functionality:`URL-based text documents are not supported for citations`}):new z({functionality:`unsupported data type for text documents: ${typeof e}`})}async function er({prompt:e,sendReasoning:t,warnings:n}){var r,i,a,o,s;let c=new Set,l=tr(e),u,d=[];async function f(e){var t,n;let r=await H({provider:`anthropic`,providerOptions:e,schema:Vn});return(n=(t=r?.citations)?.enabled)??!1}async function p(e){let t=await H({provider:`anthropic`,providerOptions:e,schema:Vn});return{title:t?.title,context:t?.context}}for(let e=0;e<l.length;e++){let m=l[e],h=e===l.length-1,g=m.type;switch(g){case`system`:if(u!=null)throw new z({functionality:`Multiple system messages that are separated by user/assistant messages`});u=m.messages.map(({content:e,providerOptions:t})=>({type:`text`,text:e,cache_control:Un(t)}));break;case`user`:{let e=[];for(let t of m.messages){let{role:n,content:s}=t;switch(n){case`user`:for(let n=0;n<s.length;n++){let o=s[n],l=n===s.length-1,u=(r=Un(o.providerOptions))??(l?Un(t.providerOptions):void 0);switch(o.type){case`text`:e.push({type:`text`,text:o.text,cache_control:u});break;case`file`:if(o.mediaType.startsWith(`image/`))e.push({type:`image`,source:o.data instanceof URL?{type:`url`,url:o.data.toString()}:{type:`base64`,media_type:o.mediaType===`image/*`?`image/jpeg`:o.mediaType,data:Fn(o.data)},cache_control:u});else if(o.mediaType===`application/pdf`){c.add(`pdfs-2024-09-25`);let t=await f(o.providerOptions),n=await p(o.providerOptions);e.push({type:`document`,source:o.data instanceof URL?{type:`url`,url:o.data.toString()}:{type:`base64`,media_type:`application/pdf`,data:Fn(o.data)},title:(i=n.title)??o.filename,...n.context&&{context:n.context},...t&&{citations:{enabled:!0}},cache_control:u})}else if(o.mediaType===`text/plain`){let t=await f(o.providerOptions),n=await p(o.providerOptions);e.push({type:`document`,source:o.data instanceof URL?{type:`url`,url:o.data.toString()}:{type:`text`,media_type:`text/plain`,data:$n(o.data)},title:(a=n.title)??o.filename,...n.context&&{context:n.context},...t&&{citations:{enabled:!0}},cache_control:u})}else throw new z({functionality:`media type: ${o.mediaType}`});break}}break;case`tool`:for(let n=0;n<s.length;n++){let r=s[n],i=n===s.length-1,a=(o=Un(r.providerOptions))??(i?Un(t.providerOptions):void 0),c=r.output,l;switch(c.type){case`content`:l=c.value.map(e=>{switch(e.type){case`text`:return{type:`text`,text:e.text,cache_control:void 0};case`media`:if(e.mediaType.startsWith(`image/`))return{type:`image`,source:{type:`base64`,media_type:e.mediaType,data:e.data},cache_control:void 0};throw new z({functionality:`media type: ${e.mediaType}`})}});break;case`text`:case`error-text`:l=c.value;break;case`json`:case`error-json`:default:l=JSON.stringify(c.value);break}e.push({type:`tool_result`,tool_use_id:r.toolCallId,content:l,is_error:c.type===`error-text`||c.type===`error-json`?!0:void 0,cache_control:a})}break;default:{let e=n;throw Error(`Unsupported role: ${e}`)}}}d.push({role:`user`,content:e});break}case`assistant`:{let e=[];for(let r=0;r<m.messages.length;r++){let i=m.messages[r],a=r===m.messages.length-1,{content:o}=i;for(let r=0;r<o.length;r++){let c=o[r],l=r===o.length-1,u=(s=Un(c.providerOptions))??(l?Un(i.providerOptions):void 0);switch(c.type){case`text`:e.push({type:`text`,text:h&&a&&l?c.text.trim():c.text,cache_control:u});break;case`reasoning`:if(t){let t=await H({provider:`anthropic`,providerOptions:c.providerOptions,schema:ur});t==null?n.push({type:`other`,message:`unsupported reasoning metadata`}):t.signature==null?t.redactedData==null?n.push({type:`other`,message:`unsupported reasoning metadata`}):e.push({type:`redacted_thinking`,data:t.redactedData,cache_control:u}):e.push({type:`thinking`,thinking:c.text,signature:t.signature,cache_control:u})}else n.push({type:`other`,message:`sending reasoning content is disabled for this model`});break;case`tool-call`:if(c.providerExecuted){if(c.toolName===`web_search`){e.push({type:`server_tool_use`,id:c.toolCallId,name:`web_search`,input:c.input,cache_control:u});break}if(c.toolName===`code_execution`){e.push({type:`server_tool_use`,id:c.toolCallId,name:`code_execution`,input:c.input,cache_control:u});break}n.push({type:`other`,message:`provider executed tool call for tool ${c.toolName} is not supported`});break}e.push({type:`tool_use`,id:c.toolCallId,name:c.toolName,input:c.input,cache_control:u});break;case`tool-result`:if(c.toolName===`web_search`){let t=c.output;if(t.type!==`json`){n.push({type:`other`,message:`provider executed tool result output type ${t.type} for tool ${c.toolName} is not supported`});break}let r=Gn.parse(t.value);e.push({type:`web_search_tool_result`,tool_use_id:c.toolCallId,content:r.map(e=>({url:e.url,title:e.title,page_age:e.pageAge,encrypted_content:e.encryptedContent,type:e.type})),cache_control:u});break}if(c.toolName===`code_execution`){let t=c.output;if(t.type!==`json`){n.push({type:`other`,message:`provider executed tool result output type ${t.type} for tool ${c.toolName} is not supported`});break}let r=Xn.parse(t.value);e.push({type:`code_execution_tool_result`,tool_use_id:c.toolCallId,content:{type:r.type,stdout:r.stdout,stderr:r.stderr,return_code:r.return_code},cache_control:u});break}n.push({type:`other`,message:`provider executed tool result for tool ${c.toolName} is not supported`});break}}}d.push({role:`assistant`,content:e});break}default:{let e=g;throw Error(`content type: ${e}`)}}}return{prompt:{system:u,messages:d},betas:c}}function tr(e){let t=[],n;for(let r of e){let{role:e}=r;switch(e){case`system`:n?.type!==`system`&&(n={type:`system`,messages:[]},t.push(n)),n.messages.push(r);break;case`assistant`:n?.type!==`assistant`&&(n={type:`assistant`,messages:[]},t.push(n)),n.messages.push(r);break;case`user`:n?.type!==`user`&&(n={type:`user`,messages:[]},t.push(n)),n.messages.push(r);break;case`tool`:n?.type!==`user`&&(n={type:`user`,messages:[]},t.push(n)),n.messages.push(r);break;default:{let t=e;throw Error(`Unsupported role: ${t}`)}}}return t}function nr({finishReason:e,isJsonResponseFromTool:t}){switch(e){case`pause_turn`:case`end_turn`:case`stop_sequence`:return`stop`;case`refusal`:return`content-filter`;case`tool_use`:return t?`stop`:`tool-calls`;case`max_tokens`:return`length`;default:return`unknown`}}var rr={webSearchResult:n.object({type:n.literal(`web_search_result_location`),cited_text:n.string(),url:n.string(),title:n.string(),encrypted_index:n.string()}),pageLocation:n.object({type:n.literal(`page_location`),cited_text:n.string(),document_index:n.number(),document_title:n.string().nullable(),start_page_number:n.number(),end_page_number:n.number()}),charLocation:n.object({type:n.literal(`char_location`),cited_text:n.string(),document_index:n.number(),document_title:n.string().nullable(),start_char_index:n.number(),end_char_index:n.number()})},ir=n.discriminatedUnion(`type`,[rr.webSearchResult,rr.pageLocation,rr.charLocation]);n.discriminatedUnion(`type`,[rr.pageLocation,rr.charLocation]);function ar(e,t,n,r){if(e.type===`page_location`||e.type===`char_location`){let i=or(e,t,n);i&&r(i)}}function or(e,t,n){var r;let i=t[e.document_index];if(!i)return null;let a=e.type===`page_location`?{citedText:e.cited_text,startPageNumber:e.start_page_number,endPageNumber:e.end_page_number}:{citedText:e.cited_text,startCharIndex:e.start_char_index,endCharIndex:e.end_char_index};return{type:`source`,sourceType:`document`,id:n(),mediaType:i.mediaType,title:(r=e.document_title)??i.title,filename:i.filename,providerMetadata:{anthropic:a}}}var sr=class{constructor(e,t){this.specificationVersion=`v2`;var n;this.modelId=e,this.config=t,this.generateId=(n=t.generateId)??V}supportsUrl(e){return e.protocol===`https:`}get provider(){return this.config.provider}get supportedUrls(){var e,t,n;return(n=(t=(e=this.config).supportedUrls)?.call(e))??{}}async getArgs({prompt:e,maxOutputTokens:t=4096,temperature:n,topP:r,topK:i,frequencyPenalty:a,presencePenalty:o,stopSequences:s,responseFormat:c,seed:l,tools:u,toolChoice:d,providerOptions:f}){var p,m,h;let g=[];a!=null&&g.push({type:`unsupported-setting`,setting:`frequencyPenalty`}),o!=null&&g.push({type:`unsupported-setting`,setting:`presencePenalty`}),l!=null&&g.push({type:`unsupported-setting`,setting:`seed`}),c?.type===`json`&&(c.schema==null?g.push({type:`unsupported-setting`,setting:`responseFormat`,details:`JSON response format requires a schema. The response format is ignored.`}):u!=null&&g.push({type:`unsupported-setting`,setting:`tools`,details:`JSON response format does not support tools. The provided tools are ignored.`}));let _=c?.type===`json`&&c.schema!=null?{type:`function`,name:`json`,description:`Respond with a JSON object.`,inputSchema:c.schema}:void 0,v=await H({provider:`anthropic`,providerOptions:f,schema:Hn}),{prompt:y,betas:b}=await er({prompt:e,sendReasoning:(p=v?.sendReasoning)??!0,warnings:g}),x=(m=v?.thinking)?.type===`enabled`,S=(h=v?.thinking)?.budgetTokens,C={model:this.modelId,max_tokens:t,temperature:n,top_k:i,top_p:r,stop_sequences:s,...x&&{thinking:{type:`enabled`,budget_tokens:S}},system:y.system,messages:y.messages};if(x){if(S==null)throw new z({functionality:`thinking requires a budget`});C.temperature!=null&&(C.temperature=void 0,g.push({type:`unsupported-setting`,setting:`temperature`,details:`temperature is not supported when thinking is enabled`})),i!=null&&(C.top_k=void 0,g.push({type:`unsupported-setting`,setting:`topK`,details:`topK is not supported when thinking is enabled`})),r!=null&&(C.top_p=void 0,g.push({type:`unsupported-setting`,setting:`topP`,details:`topP is not supported when thinking is enabled`})),C.max_tokens=t+S}let{tools:w,toolChoice:T,toolWarnings:E,betas:D}=Yn(_==null?{tools:u??[],toolChoice:d,disableParallelToolUse:v?.disableParallelToolUse}:{tools:[_],toolChoice:{type:`tool`,toolName:_.name},disableParallelToolUse:!0});return{args:{...C,tools:w,tool_choice:T},warnings:[...g,...E],betas:new Set([...b,...D]),usesJsonResponseTool:_!=null}}async getHeaders({betas:e,headers:t}){return B(await G(this.config.headers),e.size>0?{"anthropic-beta":Array.from(e).join(`,`)}:{},t)}buildRequestUrl(e){var t,n,r;return(r=(n=(t=this.config).buildRequestUrl)?.call(t,this.config.baseURL,e))??`${this.config.baseURL}/messages`}transformRequestBody(e){var t,n,r;return(r=(n=(t=this.config).transformRequestBody)?.call(t,e))??e}extractCitationDocuments(e){let t=e=>{var t,n;if(e.type!==`file`||e.mediaType!==`application/pdf`&&e.mediaType!==`text/plain`)return!1;let r=(t=e.providerOptions)?.anthropic,i=r?.citations;return(n=i?.enabled)??!1};return e.filter(e=>e.role===`user`).flatMap(e=>e.content).filter(t).map(e=>{var t;let n=e;return{title:(t=n.filename)??`Untitled Document`,filename:n.filename,mediaType:n.mediaType}})}async doGenerate(e){var t,n,r,i,a;let{args:o,warnings:s,betas:c,usesJsonResponseTool:l}=await this.getArgs(e),u=this.extractCitationDocuments(e.prompt),{responseHeaders:d,value:f,rawValue:p}=await U({url:this.buildRequestUrl(!1),headers:await this.getHeaders({betas:c,headers:e.headers}),body:this.transformRequestBody(o),failedResponseHandler:Bn,successfulResponseHandler:K(cr),abortSignal:e.abortSignal,fetch:this.config.fetch}),m=[];for(let e of f.content)switch(e.type){case`text`:if(!l&&(m.push({type:`text`,text:e.text}),e.citations))for(let t of e.citations)ar(t,u,this.generateId,e=>m.push(e));break;case`thinking`:m.push({type:`reasoning`,text:e.thinking,providerMetadata:{anthropic:{signature:e.signature}}});break;case`redacted_thinking`:m.push({type:`reasoning`,text:``,providerMetadata:{anthropic:{redactedData:e.data}}});break;case`tool_use`:m.push(l?{type:`text`,text:JSON.stringify(e.input)}:{type:`tool-call`,toolCallId:e.id,toolName:e.name,input:JSON.stringify(e.input)});break;case`server_tool_use`:(e.name===`web_search`||e.name===`code_execution`)&&m.push({type:`tool-call`,toolCallId:e.id,toolName:e.name,input:JSON.stringify(e.input),providerExecuted:!0});break;case`web_search_tool_result`:if(Array.isArray(e.content)){m.push({type:`tool-result`,toolCallId:e.tool_use_id,toolName:`web_search`,result:e.content.map(e=>{var t;return{url:e.url,title:e.title,pageAge:(t=e.page_age)??null,encryptedContent:e.encrypted_content,type:e.type}}),providerExecuted:!0});for(let n of e.content)m.push({type:`source`,sourceType:`url`,id:this.generateId(),url:n.url,title:n.title,providerMetadata:{anthropic:{pageAge:(t=n.page_age)??null}}})}else m.push({type:`tool-result`,toolCallId:e.tool_use_id,toolName:`web_search`,isError:!0,result:{type:`web_search_tool_result_error`,errorCode:e.content.error_code},providerExecuted:!0});break;case`code_execution_tool_result`:e.content.type===`code_execution_result`?m.push({type:`tool-result`,toolCallId:e.tool_use_id,toolName:`code_execution`,result:{type:e.content.type,stdout:e.content.stdout,stderr:e.content.stderr,return_code:e.content.return_code},providerExecuted:!0}):e.content.type===`code_execution_tool_result_error`&&m.push({type:`tool-result`,toolCallId:e.tool_use_id,toolName:`code_execution`,isError:!0,result:{type:`code_execution_tool_result_error`,errorCode:e.content.error_code},providerExecuted:!0});break}return{content:m,finishReason:nr({finishReason:f.stop_reason,isJsonResponseFromTool:l}),usage:{inputTokens:f.usage.input_tokens,outputTokens:f.usage.output_tokens,totalTokens:f.usage.input_tokens+f.usage.output_tokens,cachedInputTokens:(n=f.usage.cache_read_input_tokens)??void 0},request:{body:o},response:{id:(r=f.id)??void 0,modelId:(i=f.model)??void 0,headers:d,body:p},warnings:s,providerMetadata:{anthropic:{usage:f.usage,cacheCreationInputTokens:(a=f.usage.cache_creation_input_tokens)??null}}}}async doStream(e){let{args:t,warnings:n,betas:r,usesJsonResponseTool:i}=await this.getArgs(e),a=this.extractCitationDocuments(e.prompt),o={...t,stream:!0},{responseHeaders:s,value:c}=await U({url:this.buildRequestUrl(!0),headers:await this.getHeaders({betas:r,headers:e.headers}),body:this.transformRequestBody(o),failedResponseHandler:Bn,successfulResponseHandler:Ct(lr),abortSignal:e.abortSignal,fetch:this.config.fetch}),l=`unknown`,u={inputTokens:void 0,outputTokens:void 0,totalTokens:void 0},d={},f,p,m=this.generateId;return{stream:c.pipeThrough(new TransformStream({start(e){e.enqueue({type:`stream-start`,warnings:n})},transform(t,n){var r,o,s,c,h,g,_;if(e.includeRawChunks&&n.enqueue({type:`raw`,rawValue:t.rawValue}),!t.success){n.enqueue({type:`error`,error:t.error});return}let v=t.value;switch(v.type){case`ping`:return;case`content_block_start`:{let e=v.content_block.type;switch(p=e,e){case`text`:d[v.index]={type:`text`},n.enqueue({type:`text-start`,id:String(v.index)});return;case`thinking`:d[v.index]={type:`reasoning`},n.enqueue({type:`reasoning-start`,id:String(v.index)});return;case`redacted_thinking`:d[v.index]={type:`reasoning`},n.enqueue({type:`reasoning-start`,id:String(v.index),providerMetadata:{anthropic:{redactedData:v.content_block.data}}});return;case`tool_use`:d[v.index]=i?{type:`text`}:{type:`tool-call`,toolCallId:v.content_block.id,toolName:v.content_block.name,input:``},n.enqueue(i?{type:`text-start`,id:String(v.index)}:{type:`tool-input-start`,id:v.content_block.id,toolName:v.content_block.name});return;case`server_tool_use`:(v.content_block.name===`web_search`||v.content_block.name===`code_execution`)&&(d[v.index]={type:`tool-call`,toolCallId:v.content_block.id,toolName:v.content_block.name,input:``,providerExecuted:!0},n.enqueue({type:`tool-input-start`,id:v.content_block.id,toolName:v.content_block.name,providerExecuted:!0}));return;case`web_search_tool_result`:{let e=v.content_block;if(Array.isArray(e.content)){n.enqueue({type:`tool-result`,toolCallId:e.tool_use_id,toolName:`web_search`,result:e.content.map(e=>{var t;return{url:e.url,title:e.title,pageAge:(t=e.page_age)??null,encryptedContent:e.encrypted_content,type:e.type}}),providerExecuted:!0});for(let t of e.content)n.enqueue({type:`source`,sourceType:`url`,id:m(),url:t.url,title:t.title,providerMetadata:{anthropic:{pageAge:(r=t.page_age)??null}}})}else n.enqueue({type:`tool-result`,toolCallId:e.tool_use_id,toolName:`web_search`,isError:!0,result:{type:`web_search_tool_result_error`,errorCode:e.content.error_code},providerExecuted:!0});return}case`code_execution_tool_result`:{let e=v.content_block;e.content.type===`code_execution_result`?n.enqueue({type:`tool-result`,toolCallId:e.tool_use_id,toolName:`code_execution`,result:{type:e.content.type,stdout:e.content.stdout,stderr:e.content.stderr,return_code:e.content.return_code},providerExecuted:!0}):e.content.type===`code_execution_tool_result_error`&&n.enqueue({type:`tool-result`,toolCallId:e.tool_use_id,toolName:`code_execution`,isError:!0,result:{type:`code_execution_tool_result_error`,errorCode:e.content.error_code},providerExecuted:!0});return}default:{let t=e;throw Error(`Unsupported content block type: ${t}`)}}}case`content_block_stop`:if(d[v.index]!=null){let e=d[v.index];switch(e.type){case`text`:n.enqueue({type:`text-end`,id:String(v.index)});break;case`reasoning`:n.enqueue({type:`reasoning-end`,id:String(v.index)});break;case`tool-call`:i||(n.enqueue({type:`tool-input-end`,id:e.toolCallId}),n.enqueue(e));break}delete d[v.index]}p=void 0;return;case`content_block_delta`:{let e=v.delta.type;switch(e){case`text_delta`:if(i)return;n.enqueue({type:`text-delta`,id:String(v.index),delta:v.delta.text});return;case`thinking_delta`:n.enqueue({type:`reasoning-delta`,id:String(v.index),delta:v.delta.thinking});return;case`signature_delta`:p===`thinking`&&n.enqueue({type:`reasoning-delta`,id:String(v.index),delta:``,providerMetadata:{anthropic:{signature:v.delta.signature}}});return;case`input_json_delta`:{let e=d[v.index],t=v.delta.partial_json;if(i){if(e?.type!==`text`)return;n.enqueue({type:`text-delta`,id:String(v.index),delta:t})}else{if(e?.type!==`tool-call`)return;n.enqueue({type:`tool-input-delta`,id:e.toolCallId,delta:t}),e.input+=t}return}case`citations_delta`:{let e=v.delta.citation;ar(e,a,m,e=>n.enqueue(e));return}default:{let t=e;throw Error(`Unsupported delta type: ${t}`)}}}case`message_start`:u.inputTokens=v.message.usage.input_tokens,u.cachedInputTokens=(o=v.message.usage.cache_read_input_tokens)??void 0,f={anthropic:{usage:v.message.usage,cacheCreationInputTokens:(s=v.message.usage.cache_creation_input_tokens)??null}},n.enqueue({type:`response-metadata`,id:(c=v.message.id)??void 0,modelId:(h=v.message.model)??void 0});return;case`message_delta`:u.outputTokens=v.usage.output_tokens,u.totalTokens=((g=u.inputTokens)??0)+((_=v.usage.output_tokens)??0),l=nr({finishReason:v.delta.stop_reason,isJsonResponseFromTool:i});return;case`message_stop`:n.enqueue({type:`finish`,finishReason:l,usage:u,providerMetadata:f});return;case`error`:n.enqueue({type:`error`,error:v.error});return;default:{let e=v;throw Error(`Unsupported chunk type: ${e}`)}}}})),request:{body:o},response:{headers:s}}}},cr=n.object({type:n.literal(`message`),id:n.string().nullish(),model:n.string().nullish(),content:n.array(n.discriminatedUnion(`type`,[n.object({type:n.literal(`text`),text:n.string(),citations:n.array(ir).optional()}),n.object({type:n.literal(`thinking`),thinking:n.string(),signature:n.string()}),n.object({type:n.literal(`redacted_thinking`),data:n.string()}),n.object({type:n.literal(`tool_use`),id:n.string(),name:n.string(),input:n.unknown()}),n.object({type:n.literal(`server_tool_use`),id:n.string(),name:n.string(),input:n.record(n.string(),n.unknown()).nullish()}),n.object({type:n.literal(`web_search_tool_result`),tool_use_id:n.string(),content:n.union([n.array(n.object({type:n.literal(`web_search_result`),url:n.string(),title:n.string(),encrypted_content:n.string(),page_age:n.string().nullish()})),n.object({type:n.literal(`web_search_tool_result_error`),error_code:n.string()})])}),n.object({type:n.literal(`code_execution_tool_result`),tool_use_id:n.string(),content:n.union([n.object({type:n.literal(`code_execution_result`),stdout:n.string(),stderr:n.string(),return_code:n.number()}),n.object({type:n.literal(`code_execution_tool_result_error`),error_code:n.string()})])})])),stop_reason:n.string().nullish(),usage:n.looseObject({input_tokens:n.number(),output_tokens:n.number(),cache_creation_input_tokens:n.number().nullish(),cache_read_input_tokens:n.number().nullish()})}),lr=n.discriminatedUnion(`type`,[n.object({type:n.literal(`message_start`),message:n.object({id:n.string().nullish(),model:n.string().nullish(),usage:n.looseObject({input_tokens:n.number(),output_tokens:n.number(),cache_creation_input_tokens:n.number().nullish(),cache_read_input_tokens:n.number().nullish()})})}),n.object({type:n.literal(`content_block_start`),index:n.number(),content_block:n.discriminatedUnion(`type`,[n.object({type:n.literal(`text`),text:n.string()}),n.object({type:n.literal(`thinking`),thinking:n.string()}),n.object({type:n.literal(`tool_use`),id:n.string(),name:n.string()}),n.object({type:n.literal(`redacted_thinking`),data:n.string()}),n.object({type:n.literal(`server_tool_use`),id:n.string(),name:n.string(),input:n.record(n.string(),n.unknown()).nullish()}),n.object({type:n.literal(`web_search_tool_result`),tool_use_id:n.string(),content:n.union([n.array(n.object({type:n.literal(`web_search_result`),url:n.string(),title:n.string(),encrypted_content:n.string(),page_age:n.string().nullish()})),n.object({type:n.literal(`web_search_tool_result_error`),error_code:n.string()})])}),n.object({type:n.literal(`code_execution_tool_result`),tool_use_id:n.string(),content:n.union([n.object({type:n.literal(`code_execution_result`),stdout:n.string(),stderr:n.string(),return_code:n.number()}),n.object({type:n.literal(`code_execution_tool_result_error`),error_code:n.string()})])})])}),n.object({type:n.literal(`content_block_delta`),index:n.number(),delta:n.discriminatedUnion(`type`,[n.object({type:n.literal(`input_json_delta`),partial_json:n.string()}),n.object({type:n.literal(`text_delta`),text:n.string()}),n.object({type:n.literal(`thinking_delta`),thinking:n.string()}),n.object({type:n.literal(`signature_delta`),signature:n.string()}),n.object({type:n.literal(`citations_delta`),citation:ir})])}),n.object({type:n.literal(`content_block_stop`),index:n.number()}),n.object({type:n.literal(`error`),error:n.object({type:n.string(),message:n.string()})}),n.object({type:n.literal(`message_delta`),delta:n.object({stop_reason:n.string().nullish()}),usage:n.object({output_tokens:n.number()})}),n.object({type:n.literal(`message_stop`)}),n.object({type:n.literal(`ping`)})]),ur=n.object({signature:n.string().optional(),redactedData:n.string().optional()}),dr=W({id:`anthropic.bash_20241022`,name:`bash`,inputSchema:t.object({command:t.string(),restart:t.boolean().optional()})}),fr=W({id:`anthropic.bash_20250124`,name:`bash`,inputSchema:t.object({command:t.string(),restart:t.boolean().optional()})}),pr=W({id:`anthropic.computer_20241022`,name:`computer`,inputSchema:n.object({action:n.enum([`key`,`type`,`mouse_move`,`left_click`,`left_click_drag`,`right_click`,`middle_click`,`double_click`,`screenshot`,`cursor_position`]),coordinate:n.array(n.number().int()).optional(),text:n.string().optional()})}),mr=W({id:`anthropic.computer_20250124`,name:`computer`,inputSchema:n.object({action:n.enum([`key`,`hold_key`,`type`,`cursor_position`,`mouse_move`,`left_mouse_down`,`left_mouse_up`,`left_click`,`left_click_drag`,`right_click`,`middle_click`,`double_click`,`triple_click`,`scroll`,`wait`,`screenshot`]),coordinate:n.tuple([n.number().int(),n.number().int()]).optional(),duration:n.number().optional(),scroll_amount:n.number().optional(),scroll_direction:n.enum([`up`,`down`,`left`,`right`]).optional(),start_coordinate:n.tuple([n.number().int(),n.number().int()]).optional(),text:n.string().optional()})}),hr=W({id:`anthropic.text_editor_20241022`,name:`str_replace_editor`,inputSchema:n.object({command:n.enum([`view`,`create`,`str_replace`,`insert`,`undo_edit`]),path:n.string(),file_text:n.string().optional(),insert_line:n.number().int().optional(),new_str:n.string().optional(),old_str:n.string().optional(),view_range:n.array(n.number().int()).optional()})}),gr=W({id:`anthropic.text_editor_20250124`,name:`str_replace_editor`,inputSchema:n.object({command:n.enum([`view`,`create`,`str_replace`,`insert`,`undo_edit`]),path:n.string(),file_text:n.string().optional(),insert_line:n.number().int().optional(),new_str:n.string().optional(),old_str:n.string().optional(),view_range:n.array(n.number().int()).optional()})}),_r=W({id:`anthropic.text_editor_20250429`,name:`str_replace_based_edit_tool`,inputSchema:n.object({command:n.enum([`view`,`create`,`str_replace`,`insert`]),path:n.string(),file_text:n.string().optional(),insert_line:n.number().int().optional(),new_str:n.string().optional(),old_str:n.string().optional(),view_range:n.array(n.number().int()).optional()})}),vr={bash_20241022:dr,bash_20250124:fr,codeExecution_20250522:Qn,computer_20241022:pr,computer_20250124:mr,textEditor_20241022:hr,textEditor_20250124:gr,textEditor_20250429:_r,webSearch_20250305:qn};function yr(e={}){var t;let n=(t=In(e.baseURL))??`https://api.anthropic.com/v1`,r=()=>({"anthropic-version":`2023-06-01`,"x-api-key":Qe({apiKey:e.apiKey,environmentVariableName:`ANTHROPIC_API_KEY`,description:`Anthropic`}),...e.headers}),i=t=>{var i;return new sr(t,{provider:`anthropic.messages`,baseURL:n,headers:r,fetch:e.fetch,generateId:(i=e.generateId)??V,supportedUrls:()=>({"image/*":[/^https?:\/\/.*$/]})})},a=function(e){if(new.target)throw Error(`The Anthropic model function cannot be called with the new keyword.`);return i(e)};return a.languageModel=i,a.chat=i,a.messages=i,a.textEmbeddingModel=e=>{throw new ye({modelId:e,modelType:`textEmbeddingModel`})},a.imageModel=e=>{throw new ye({modelId:e,modelType:`imageModel`})},a.tools=vr,a}yr();var br=n.object({error:n.object({code:n.number().nullable(),message:n.string(),status:n.string()})}),xr=St({errorSchema:br,errorToMessage:e=>e.error.message}),Sr=n.object({outputDimensionality:n.number().optional(),taskType:n.enum([`SEMANTIC_SIMILARITY`,`CLASSIFICATION`,`CLUSTERING`,`RETRIEVAL_DOCUMENT`,`RETRIEVAL_QUERY`,`QUESTION_ANSWERING`,`FACT_VERIFICATION`,`CODE_RETRIEVAL_QUERY`]).optional()}),Cr=class{constructor(e,t){this.specificationVersion=`v2`,this.maxEmbeddingsPerCall=2048,this.supportsParallelCalls=!0,this.modelId=e,this.config=t}get provider(){return this.config.provider}async doEmbed({values:e,headers:t,abortSignal:n,providerOptions:r}){let i=await H({provider:`google`,providerOptions:r,schema:Sr});if(e.length>this.maxEmbeddingsPerCall)throw new Ce({provider:this.provider,modelId:this.modelId,maxEmbeddingsPerCall:this.maxEmbeddingsPerCall,values:e});let a=B(await G(this.config.headers),t);if(e.length===1){let{responseHeaders:t,value:r,rawValue:o}=await U({url:`${this.config.baseURL}/models/${this.modelId}:embedContent`,headers:a,body:{model:`models/${this.modelId}`,content:{parts:[{text:e[0]}]},outputDimensionality:i?.outputDimensionality,taskType:i?.taskType},failedResponseHandler:xr,successfulResponseHandler:K(Tr),abortSignal:n,fetch:this.config.fetch});return{embeddings:[r.embedding.values],usage:void 0,response:{headers:t,body:o}}}let{responseHeaders:o,value:s,rawValue:c}=await U({url:`${this.config.baseURL}/models/${this.modelId}:batchEmbedContents`,headers:a,body:{requests:e.map(e=>({model:`models/${this.modelId}`,content:{role:`user`,parts:[{text:e}]},outputDimensionality:i?.outputDimensionality,taskType:i?.taskType}))},failedResponseHandler:xr,successfulResponseHandler:K(wr),abortSignal:n,fetch:this.config.fetch});return{embeddings:s.embeddings.map(e=>e.values),usage:void 0,response:{headers:o,body:c}}}},wr=n.object({embeddings:n.array(n.object({values:n.array(n.number())}))}),Tr=n.object({embedding:n.object({values:n.array(n.number())})});function Er(e){if(e==null||Dr(e))return;if(typeof e==`boolean`)return{type:`boolean`,properties:{}};let{type:t,description:n,required:r,properties:i,items:a,allOf:o,anyOf:s,oneOf:c,format:l,const:u,minLength:d,enum:f}=e,p={};if(n&&(p.description=n),r&&(p.required=r),l&&(p.format=l),u!==void 0&&(p.enum=[u]),t&&(Array.isArray(t)?t.includes(`null`)?(p.type=t.filter(e=>e!==`null`)[0],p.nullable=!0):p.type=t:t===`null`?p.type=`null`:p.type=t),f!==void 0&&(p.enum=f),i!=null&&(p.properties=Object.entries(i).reduce((e,[t,n])=>(e[t]=Er(n),e),{})),a&&(p.items=Array.isArray(a)?a.map(Er):Er(a)),o&&(p.allOf=o.map(Er)),s)if(s.some(e=>typeof e==`object`&&e?.type===`null`)){let e=s.filter(e=>!(typeof e==`object`&&e?.type===`null`));if(e.length===1){let t=Er(e[0]);typeof t==`object`&&(p.nullable=!0,Object.assign(p,t))}else p.anyOf=e.map(Er),p.nullable=!0}else p.anyOf=s.map(Er);return c&&(p.oneOf=c.map(Er)),d!==void 0&&(p.minLength=d),p}function Dr(e){return typeof e==`object`&&!!e&&e.type===`object`&&(e.properties==null||Object.keys(e.properties).length===0)&&!e.additionalProperties}function Or(e,t){var n;let r=[],i=[],a=!0,o=(n=t?.isGemmaModel)??!1;for(let{role:t,content:n}of e)switch(t){case`system`:if(!a)throw new z({functionality:`system messages are only supported at the beginning of the conversation`});r.push({text:n});break;case`user`:{a=!1;let e=[];for(let t of n)switch(t.type){case`text`:e.push({text:t.text});break;case`file`:{let n=t.mediaType===`image/*`?`image/jpeg`:t.mediaType;e.push(t.data instanceof URL?{fileData:{mimeType:n,fileUri:t.data.toString()}}:{inlineData:{mimeType:n,data:Fn(t.data)}});break}}i.push({role:`user`,parts:e});break}case`assistant`:a=!1,i.push({role:`model`,parts:n.map(e=>{var t,n,r,i,a,o;switch(e.type){case`text`:return e.text.length===0?void 0:{text:e.text,thoughtSignature:(n=(t=e.providerOptions)?.google)?.thoughtSignature};case`reasoning`:return e.text.length===0?void 0:{text:e.text,thought:!0,thoughtSignature:(i=(r=e.providerOptions)?.google)?.thoughtSignature};case`file`:if(e.mediaType!==`image/png`)throw new z({functionality:`Only PNG images are supported in assistant messages`});if(e.data instanceof URL)throw new z({functionality:`File data URLs in assistant messages are not supported`});return{inlineData:{mimeType:e.mediaType,data:Fn(e.data)}};case`tool-call`:return{functionCall:{name:e.toolName,args:e.input},thoughtSignature:(o=(a=e.providerOptions)?.google)?.thoughtSignature}}}).filter(e=>e!==void 0)});break;case`tool`:{a=!1;let e=[];for(let t of n){let n=t.output;if(n.type===`content`)for(let r of n.value)switch(r.type){case`text`:e.push({functionResponse:{name:t.toolName,response:{name:t.toolName,content:r.text}}});break;case`media`:e.push({inlineData:{mimeType:r.mediaType,data:r.data}},{text:`Tool executed successfully and returned this image as a response`});break;default:e.push({text:JSON.stringify(r)});break}else e.push({functionResponse:{name:t.toolName,response:{name:t.toolName,content:n.value}}})}i.push({role:`user`,parts:e});break}}if(o&&r.length>0&&i.length>0&&i[0].role===`user`){let e=r.map(e=>e.text).join(`
12
-
13
- `);i[0].parts.unshift({text:e+`
14
-
15
- `})}return{systemInstruction:r.length>0&&!o?{parts:r}:void 0,contents:i}}function kr(e){return e.includes(`/`)?e:`models/${e}`}var Ar=n.object({responseModalities:n.array(n.enum([`TEXT`,`IMAGE`])).optional(),thinkingConfig:n.object({thinkingBudget:n.number().optional(),includeThoughts:n.boolean().optional()}).optional(),cachedContent:n.string().optional(),structuredOutputs:n.boolean().optional(),safetySettings:n.array(n.object({category:n.enum([`HARM_CATEGORY_UNSPECIFIED`,`HARM_CATEGORY_HATE_SPEECH`,`HARM_CATEGORY_DANGEROUS_CONTENT`,`HARM_CATEGORY_HARASSMENT`,`HARM_CATEGORY_SEXUALLY_EXPLICIT`,`HARM_CATEGORY_CIVIC_INTEGRITY`]),threshold:n.enum([`HARM_BLOCK_THRESHOLD_UNSPECIFIED`,`BLOCK_LOW_AND_ABOVE`,`BLOCK_MEDIUM_AND_ABOVE`,`BLOCK_ONLY_HIGH`,`BLOCK_NONE`,`OFF`])})).optional(),threshold:n.enum([`HARM_BLOCK_THRESHOLD_UNSPECIFIED`,`BLOCK_LOW_AND_ABOVE`,`BLOCK_MEDIUM_AND_ABOVE`,`BLOCK_ONLY_HIGH`,`BLOCK_NONE`,`OFF`]).optional(),audioTimestamp:n.boolean().optional(),labels:n.record(n.string(),n.string()).optional()});function jr({tools:e,toolChoice:t,modelId:n}){var r;e=e?.length?e:void 0;let i=[],a=n.includes(`gemini-2`),o=n.includes(`gemini-1.5-flash`)&&!n.includes(`-8b`);if(e==null)return{tools:void 0,toolConfig:void 0,toolWarnings:i};let s=e.some(e=>e.type===`function`),c=e.some(e=>e.type===`provider-defined`);if(s&&c&&i.push({type:`unsupported-tool`,tool:e.find(e=>e.type===`function`),details:`Cannot mix function tools with provider-defined tools in the same request. Please use either function tools or provider-defined tools, but not both.`}),c){let t={},n=e.filter(e=>e.type===`provider-defined`);return n.forEach(e=>{switch(e.id){case`google.google_search`:a?t.googleSearch={}:o?t.googleSearchRetrieval={dynamicRetrievalConfig:{mode:e.args.mode,dynamicThreshold:e.args.dynamicThreshold}}:t.googleSearchRetrieval={};break;case`google.url_context`:a?t.urlContext={}:i.push({type:`unsupported-tool`,tool:e,details:`The URL context tool is not supported with other Gemini models than Gemini 2.`});break;case`google.code_execution`:a?t.codeExecution={}:i.push({type:`unsupported-tool`,tool:e,details:`The code execution tools is not supported with other Gemini models than Gemini 2.`});break;default:i.push({type:`unsupported-tool`,tool:e});break}}),{tools:Object.keys(t).length>0?t:void 0,toolConfig:void 0,toolWarnings:i}}let l=[];for(let t of e)switch(t.type){case`function`:l.push({name:t.name,description:(r=t.description)??``,parameters:Er(t.inputSchema)});break;default:i.push({type:`unsupported-tool`,tool:t});break}if(t==null)return{tools:{functionDeclarations:l},toolConfig:void 0,toolWarnings:i};let u=t.type;switch(u){case`auto`:return{tools:{functionDeclarations:l},toolConfig:{functionCallingConfig:{mode:`AUTO`}},toolWarnings:i};case`none`:return{tools:{functionDeclarations:l},toolConfig:{functionCallingConfig:{mode:`NONE`}},toolWarnings:i};case`required`:return{tools:{functionDeclarations:l},toolConfig:{functionCallingConfig:{mode:`ANY`}},toolWarnings:i};case`tool`:return{tools:{functionDeclarations:l},toolConfig:{functionCallingConfig:{mode:`ANY`,allowedFunctionNames:[t.toolName]}},toolWarnings:i};default:{let e=u;throw new z({functionality:`tool choice type: ${e}`})}}}function Mr({finishReason:e,hasToolCalls:t}){switch(e){case`STOP`:return t?`tool-calls`:`stop`;case`MAX_TOKENS`:return`length`;case`IMAGE_SAFETY`:case`RECITATION`:case`SAFETY`:case`BLOCKLIST`:case`PROHIBITED_CONTENT`:case`SPII`:return`content-filter`;case`FINISH_REASON_UNSPECIFIED`:case`OTHER`:return`other`;case`MALFORMED_FUNCTION_CALL`:return`error`;default:return`unknown`}}var Nr=n.object({web:n.object({uri:n.string(),title:n.string()}).nullish(),retrievedContext:n.object({uri:n.string(),title:n.string()}).nullish()}),Pr=n.object({webSearchQueries:n.array(n.string()).nullish(),retrievalQueries:n.array(n.string()).nullish(),searchEntryPoint:n.object({renderedContent:n.string()}).nullish(),groundingChunks:n.array(Nr).nullish(),groundingSupports:n.array(n.object({segment:n.object({startIndex:n.number().nullish(),endIndex:n.number().nullish(),text:n.string().nullish()}),segment_text:n.string().nullish(),groundingChunkIndices:n.array(n.number()).nullish(),supportChunkIndices:n.array(n.number()).nullish(),confidenceScores:n.array(n.number()).nullish(),confidenceScore:n.array(n.number()).nullish()})).nullish(),retrievalMetadata:n.union([n.object({webDynamicRetrievalScore:n.number()}),n.object({})]).nullish()}),Fr=W({id:`google.google_search`,name:`google_search`,inputSchema:n.object({mode:n.enum([`MODE_DYNAMIC`,`MODE_UNSPECIFIED`]).default(`MODE_UNSPECIFIED`),dynamicThreshold:n.number().default(1)})}),Ir=n.object({retrievedUrl:n.string(),urlRetrievalStatus:n.string()}),Lr=n.object({urlMetadata:n.array(Ir)}),Rr=W({id:`google.url_context`,name:`url_context`,inputSchema:n.object({})}),zr=class{constructor(e,t){this.specificationVersion=`v2`;var n;this.modelId=e,this.config=t,this.generateId=(n=t.generateId)??V}get provider(){return this.config.provider}get supportedUrls(){var e,t,n;return(n=(t=(e=this.config).supportedUrls)?.call(e))??{}}async getArgs({prompt:e,maxOutputTokens:t,temperature:n,topP:r,topK:i,frequencyPenalty:a,presencePenalty:o,stopSequences:s,responseFormat:c,seed:l,tools:u,toolChoice:d,providerOptions:f}){var p,m;let h=[],g=await H({provider:`google`,providerOptions:f,schema:Ar});(p=g?.thinkingConfig)?.includeThoughts===!0&&!this.config.provider.startsWith(`google.vertex.`)&&h.push({type:`other`,message:`The 'includeThoughts' option is only supported with the Google Vertex provider and might not be supported or could behave unexpectedly with the current Google provider (${this.config.provider}).`});let _=this.modelId.toLowerCase().startsWith(`gemma-`),{contents:v,systemInstruction:y}=Or(e,{isGemmaModel:_}),{tools:b,toolConfig:x,toolWarnings:S}=jr({tools:u,toolChoice:d,modelId:this.modelId});return{args:{generationConfig:{maxOutputTokens:t,temperature:n,topK:i,topP:r,frequencyPenalty:a,presencePenalty:o,stopSequences:s,seed:l,responseMimeType:c?.type===`json`?`application/json`:void 0,responseSchema:c?.type===`json`&&c.schema!=null&&((m=g?.structuredOutputs)??!0)?Er(c.schema):void 0,...g?.audioTimestamp&&{audioTimestamp:g.audioTimestamp},responseModalities:g?.responseModalities,thinkingConfig:g?.thinkingConfig},contents:v,systemInstruction:_?void 0:y,safetySettings:g?.safetySettings,tools:b,toolConfig:x,cachedContent:g?.cachedContent,labels:g?.labels},warnings:[...h,...S]}}async doGenerate(e){var t,n,r,i,a,o,s,c,l,u,d,f;let{args:p,warnings:m}=await this.getArgs(e),h=JSON.stringify(p),g=B(await G(this.config.headers),e.headers),{responseHeaders:_,value:v,rawValue:y}=await U({url:`${this.config.baseURL}/${kr(this.modelId)}:generateContent`,headers:g,body:p,failedResponseHandler:xr,successfulResponseHandler:K(Kr),abortSignal:e.abortSignal,fetch:this.config.fetch}),b=v.candidates[0],x=[],S=(n=(t=b.content)?.parts)??[],C=v.usageMetadata,w;for(let e of S)if(`executableCode`in e&&(r=e.executableCode)?.code){let t=this.config.generateId();w=t,x.push({type:`tool-call`,toolCallId:t,toolName:`code_execution`,input:JSON.stringify(e.executableCode),providerExecuted:!0})}else `codeExecutionResult`in e&&e.codeExecutionResult?(x.push({type:`tool-result`,toolCallId:w,toolName:`code_execution`,result:{outcome:e.codeExecutionResult.outcome,output:e.codeExecutionResult.output},providerExecuted:!0}),w=void 0):`text`in e&&e.text!=null&&e.text.length>0?x.push({type:e.thought===!0?`reasoning`:`text`,text:e.text,providerMetadata:e.thoughtSignature?{google:{thoughtSignature:e.thoughtSignature}}:void 0}):`functionCall`in e?x.push({type:`tool-call`,toolCallId:this.config.generateId(),toolName:e.functionCall.name,input:JSON.stringify(e.functionCall.args),providerMetadata:e.thoughtSignature?{google:{thoughtSignature:e.thoughtSignature}}:void 0}):`inlineData`in e&&x.push({type:`file`,data:e.inlineData.data,mediaType:e.inlineData.mimeType});let T=(i=Hr({groundingMetadata:b.groundingMetadata,generateId:this.config.generateId}))??[];for(let e of T)x.push(e);return{content:x,finishReason:Mr({finishReason:b.finishReason,hasToolCalls:x.some(e=>e.type===`tool-call`)}),usage:{inputTokens:(a=C?.promptTokenCount)??void 0,outputTokens:(o=C?.candidatesTokenCount)??void 0,totalTokens:(s=C?.totalTokenCount)??void 0,reasoningTokens:(c=C?.thoughtsTokenCount)??void 0,cachedInputTokens:(l=C?.cachedContentTokenCount)??void 0},warnings:m,providerMetadata:{google:{groundingMetadata:(u=b.groundingMetadata)??null,urlContextMetadata:(d=b.urlContextMetadata)??null,safetyRatings:(f=b.safetyRatings)??null,usageMetadata:C??null}},request:{body:h},response:{headers:_,body:y}}}async doStream(e){let{args:t,warnings:n}=await this.getArgs(e),r=JSON.stringify(t),i=B(await G(this.config.headers),e.headers),{responseHeaders:a,value:o}=await U({url:`${this.config.baseURL}/${kr(this.modelId)}:streamGenerateContent?alt=sse`,headers:i,body:t,failedResponseHandler:xr,successfulResponseHandler:Ct(qr),abortSignal:e.abortSignal,fetch:this.config.fetch}),s=`unknown`,c={inputTokens:void 0,outputTokens:void 0,totalTokens:void 0},l,u=this.config.generateId,d=!1,f=null,p=null,m=0,h=new Set,g;return{stream:o.pipeThrough(new TransformStream({start(e){e.enqueue({type:`stream-start`,warnings:n})},transform(t,n){var r,i,a,o,_,v,y,b,x,S,C;if(e.includeRawChunks&&n.enqueue({type:`raw`,rawValue:t.rawValue}),!t.success){n.enqueue({type:`error`,error:t.error});return}let w=t.value,T=w.usageMetadata;T!=null&&(c.inputTokens=(r=T.promptTokenCount)??void 0,c.outputTokens=(i=T.candidatesTokenCount)??void 0,c.totalTokens=(a=T.totalTokenCount)??void 0,c.reasoningTokens=(o=T.thoughtsTokenCount)??void 0,c.cachedInputTokens=(_=T.cachedContentTokenCount)??void 0);let E=(v=w.candidates)?.[0];if(E==null)return;let D=E.content,O=Hr({groundingMetadata:E.groundingMetadata,generateId:u});if(O!=null)for(let e of O)e.sourceType===`url`&&!h.has(e.url)&&(h.add(e.url),n.enqueue(e));if(D!=null){let e=(y=D.parts)??[];for(let t of e)if(`executableCode`in t&&(b=t.executableCode)?.code){let e=u();g=e,n.enqueue({type:`tool-call`,toolCallId:e,toolName:`code_execution`,input:JSON.stringify(t.executableCode),providerExecuted:!0}),d=!0}else if(`codeExecutionResult`in t&&t.codeExecutionResult){let e=g;e&&(n.enqueue({type:`tool-result`,toolCallId:e,toolName:`code_execution`,result:{outcome:t.codeExecutionResult.outcome,output:t.codeExecutionResult.output},providerExecuted:!0}),g=void 0)}else `text`in t&&t.text!=null&&t.text.length>0&&(t.thought===!0?(f!==null&&(n.enqueue({type:`text-end`,id:f}),f=null),p===null&&(p=String(m++),n.enqueue({type:`reasoning-start`,id:p,providerMetadata:t.thoughtSignature?{google:{thoughtSignature:t.thoughtSignature}}:void 0})),n.enqueue({type:`reasoning-delta`,id:p,delta:t.text,providerMetadata:t.thoughtSignature?{google:{thoughtSignature:t.thoughtSignature}}:void 0})):(p!==null&&(n.enqueue({type:`reasoning-end`,id:p}),p=null),f===null&&(f=String(m++),n.enqueue({type:`text-start`,id:f,providerMetadata:t.thoughtSignature?{google:{thoughtSignature:t.thoughtSignature}}:void 0})),n.enqueue({type:`text-delta`,id:f,delta:t.text,providerMetadata:t.thoughtSignature?{google:{thoughtSignature:t.thoughtSignature}}:void 0})));let t=Vr(D.parts);if(t!=null)for(let e of t)n.enqueue({type:`file`,mediaType:e.inlineData.mimeType,data:e.inlineData.data});let r=Br({parts:D.parts,generateId:u});if(r!=null)for(let e of r)n.enqueue({type:`tool-input-start`,id:e.toolCallId,toolName:e.toolName,providerMetadata:e.providerMetadata}),n.enqueue({type:`tool-input-delta`,id:e.toolCallId,delta:e.args,providerMetadata:e.providerMetadata}),n.enqueue({type:`tool-input-end`,id:e.toolCallId,providerMetadata:e.providerMetadata}),n.enqueue({type:`tool-call`,toolCallId:e.toolCallId,toolName:e.toolName,input:e.args,providerMetadata:e.providerMetadata}),d=!0}E.finishReason!=null&&(s=Mr({finishReason:E.finishReason,hasToolCalls:d}),l={google:{groundingMetadata:(x=E.groundingMetadata)??null,urlContextMetadata:(S=E.urlContextMetadata)??null,safetyRatings:(C=E.safetyRatings)??null}},T!=null&&(l.google.usageMetadata=T))},flush(e){f!==null&&e.enqueue({type:`text-end`,id:f}),p!==null&&e.enqueue({type:`reasoning-end`,id:p}),e.enqueue({type:`finish`,finishReason:s,usage:c,providerMetadata:l})}})),response:{headers:a},request:{body:r}}}};function Br({parts:e,generateId:t}){let n=e?.filter(e=>`functionCall`in e);return n==null||n.length===0?void 0:n.map(e=>({type:`tool-call`,toolCallId:t(),toolName:e.functionCall.name,args:JSON.stringify(e.functionCall.args),providerMetadata:e.thoughtSignature?{google:{thoughtSignature:e.thoughtSignature}}:void 0}))}function Vr(e){return e?.filter(e=>`inlineData`in e)}function Hr({groundingMetadata:e,generateId:t}){var n;return(n=e?.groundingChunks)?.filter(e=>e.web!=null).map(e=>({type:`source`,sourceType:`url`,id:t(),url:e.web.uri,title:e.web.title}))}var Ur=n.object({parts:n.array(n.union([n.object({functionCall:n.object({name:n.string(),args:n.unknown()}),thoughtSignature:n.string().nullish()}),n.object({inlineData:n.object({mimeType:n.string(),data:n.string()})}),n.object({executableCode:n.object({language:n.string(),code:n.string()}).nullish(),codeExecutionResult:n.object({outcome:n.string(),output:n.string()}).nullish(),text:n.string().nullish(),thought:n.boolean().nullish(),thoughtSignature:n.string().nullish()})])).nullish()}),Wr=n.object({category:n.string().nullish(),probability:n.string().nullish(),probabilityScore:n.number().nullish(),severity:n.string().nullish(),severityScore:n.number().nullish(),blocked:n.boolean().nullish()}),Gr=n.object({cachedContentTokenCount:n.number().nullish(),thoughtsTokenCount:n.number().nullish(),promptTokenCount:n.number().nullish(),candidatesTokenCount:n.number().nullish(),totalTokenCount:n.number().nullish()}),Kr=n.object({candidates:n.array(n.object({content:Ur.nullish().or(n.object({}).strict()),finishReason:n.string().nullish(),safetyRatings:n.array(Wr).nullish(),groundingMetadata:Pr.nullish(),urlContextMetadata:Lr.nullish()})),usageMetadata:Gr.nullish()}),qr=n.object({candidates:n.array(n.object({content:Ur.nullish(),finishReason:n.string().nullish(),safetyRatings:n.array(Wr).nullish(),groundingMetadata:Pr.nullish(),urlContextMetadata:Lr.nullish()})).nullish(),usageMetadata:Gr.nullish()}),Jr=xt({id:`google.code_execution`,name:`code_execution`,inputSchema:n.object({language:n.string().describe(`The programming language of the code.`),code:n.string().describe(`The code to be executed.`)}),outputSchema:n.object({outcome:n.string().describe(`The outcome of the execution (e.g., "OUTCOME_OK").`),output:n.string().describe(`The output from the code execution.`)})}),Yr={googleSearch:Fr,urlContext:Rr,codeExecution:Jr},Xr=class{constructor(e,t,n){this.modelId=e,this.settings=t,this.config=n,this.specificationVersion=`v2`}get maxImagesPerCall(){var e;return(e=this.settings.maxImagesPerCall)??4}get provider(){return this.config.provider}async doGenerate(e){var t,n,r;let{prompt:i,n:a=1,size:o=`1024x1024`,aspectRatio:s=`1:1`,seed:c,providerOptions:l,headers:u,abortSignal:d}=e,f=[];o!=null&&f.push({type:`unsupported-setting`,setting:`size`,details:"This model does not support the `size` option. Use `aspectRatio` instead."}),c!=null&&f.push({type:`unsupported-setting`,setting:`seed`,details:"This model does not support the `seed` option through this provider."});let p=await H({provider:`google`,providerOptions:l,schema:Qr}),m=(r=(n=(t=this.config._internal)?.currentDate)?.call(t))??new Date,h={sampleCount:a};s!=null&&(h.aspectRatio=s),p&&Object.assign(h,p);let g={instances:[{prompt:i}],parameters:h},{responseHeaders:_,value:v}=await U({url:`${this.config.baseURL}/models/${this.modelId}:predict`,headers:B(await G(this.config.headers),u),body:g,failedResponseHandler:xr,successfulResponseHandler:K(Zr),abortSignal:d,fetch:this.config.fetch});return{images:v.predictions.map(e=>e.bytesBase64Encoded),warnings:f??[],providerMetadata:{google:{images:v.predictions.map(e=>({}))}},response:{timestamp:m,modelId:this.modelId,headers:_}}}},Zr=n.object({predictions:n.array(n.object({bytesBase64Encoded:n.string()})).default([])}),Qr=n.object({personGeneration:n.enum([`dont_allow`,`allow_adult`,`allow_all`]).nullish(),aspectRatio:n.enum([`1:1`,`3:4`,`4:3`,`9:16`,`16:9`]).nullish()});function $r(e={}){var t;let n=(t=In(e.baseURL))??`https://generativelanguage.googleapis.com/v1beta`,r=()=>({"x-goog-api-key":Qe({apiKey:e.apiKey,environmentVariableName:`GOOGLE_GENERATIVE_AI_API_KEY`,description:`Google Generative AI`}),...e.headers}),i=t=>{var i;return new zr(t,{provider:`google.generative-ai`,baseURL:n,headers:r,generateId:(i=e.generateId)??V,supportedUrls:()=>({"*":[RegExp(`^${n}/files/.*$`),RegExp(`^https://(?:www\\.)?youtube\\.com/watch\\?v=[\\w-]+(?:&[\\w=&.-]*)?$`),RegExp(`^https://youtu\\.be/[\\w-]+(?:\\?[\\w=&.-]*)?$`)]}),fetch:e.fetch})},a=t=>new Cr(t,{provider:`google.generative-ai`,baseURL:n,headers:r,fetch:e.fetch}),o=(t,i={})=>new Xr(t,i,{provider:`google.generative-ai`,baseURL:n,headers:r,fetch:e.fetch}),s=function(e){if(new.target)throw Error(`The Google Generative AI model function cannot be called with the new keyword.`);return i(e)};return s.languageModel=i,s.chat=i,s.generativeAI=i,s.embedding=a,s.textEmbedding=a,s.textEmbeddingModel=a,s.image=o,s.imageModel=o,s.tools=Yr,s}$r();var ei=n.object({error:n.object({message:n.string(),type:n.string().nullish(),param:n.any().nullish(),code:n.union([n.string(),n.number()]).nullish()})}),ti=St({errorSchema:ei,errorToMessage:e=>e.error.message});function ni({prompt:e,systemMessageMode:t=`system`}){let n=[],r=[];for(let{role:i,content:a}of e)switch(i){case`system`:switch(t){case`system`:n.push({role:`system`,content:a});break;case`developer`:n.push({role:`developer`,content:a});break;case`remove`:r.push({type:`other`,message:`system messages are removed for this model`});break;default:{let e=t;throw Error(`Unsupported system message mode: ${e}`)}}break;case`user`:if(a.length===1&&a[0].type===`text`){n.push({role:`user`,content:a[0].text});break}n.push({role:`user`,content:a.map((e,t)=>{var n,r,i;switch(e.type){case`text`:return{type:`text`,text:e.text};case`file`:if(e.mediaType.startsWith(`image/`)){let t=e.mediaType===`image/*`?`image/jpeg`:e.mediaType;return{type:`image_url`,image_url:{url:e.data instanceof URL?e.data.toString():`data:${t};base64,${Fn(e.data)}`,detail:(r=(n=e.providerOptions)?.openai)?.imageDetail}}}else if(e.mediaType.startsWith(`audio/`)){if(e.data instanceof URL)throw new z({functionality:`audio file parts with URLs`});switch(e.mediaType){case`audio/wav`:return{type:`input_audio`,input_audio:{data:Fn(e.data),format:`wav`}};case`audio/mp3`:case`audio/mpeg`:return{type:`input_audio`,input_audio:{data:Fn(e.data),format:`mp3`}};default:throw new z({functionality:`audio content parts with media type ${e.mediaType}`})}}else if(e.mediaType===`application/pdf`){if(e.data instanceof URL)throw new z({functionality:`PDF file parts with URLs`});return{type:`file`,file:typeof e.data==`string`&&e.data.startsWith(`file-`)?{file_id:e.data}:{filename:(i=e.filename)??`part-${t}.pdf`,file_data:`data:application/pdf;base64,${Fn(e.data)}`}}}else throw new z({functionality:`file part media type ${e.mediaType}`})}})});break;case`assistant`:{let e=``,t=[];for(let n of a)switch(n.type){case`text`:e+=n.text;break;case`tool-call`:t.push({id:n.toolCallId,type:`function`,function:{name:n.toolName,arguments:JSON.stringify(n.input)}});break}n.push({role:`assistant`,content:e,tool_calls:t.length>0?t:void 0});break}case`tool`:for(let e of a){let t=e.output,r;switch(t.type){case`text`:case`error-text`:r=t.value;break;case`content`:case`json`:case`error-json`:r=JSON.stringify(t.value);break}n.push({role:`tool`,tool_call_id:e.toolCallId,content:r})}break;default:{let e=i;throw Error(`Unsupported role: ${e}`)}}return{messages:n,warnings:r}}function ri({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 ii(e){switch(e){case`stop`:return`stop`;case`length`:return`length`;case`content_filter`:return`content-filter`;case`function_call`:case`tool_calls`:return`tool-calls`;default:return`unknown`}}var ai=n.object({logitBias:n.record(n.coerce.number(),n.number()).optional(),logprobs:n.union([n.boolean(),n.number()]).optional(),parallelToolCalls:n.boolean().optional(),user:n.string().optional(),reasoningEffort:n.enum([`minimal`,`low`,`medium`,`high`]).optional(),maxCompletionTokens:n.number().optional(),store:n.boolean().optional(),metadata:n.record(n.string().max(64),n.string().max(512)).optional(),prediction:n.record(n.string(),n.any()).optional(),structuredOutputs:n.boolean().optional(),serviceTier:n.enum([`auto`,`flex`,`priority`]).optional(),strictJsonSchema:n.boolean().optional(),textVerbosity:n.enum([`low`,`medium`,`high`]).optional(),promptCacheKey:n.string().optional(),safetyIdentifier:n.string().optional()}),oi=n.object({key:n.string(),type:n.enum([`eq`,`ne`,`gt`,`gte`,`lt`,`lte`]),value:n.union([n.string(),n.number(),n.boolean()])}),si=n.object({type:n.enum([`and`,`or`]),filters:n.array(n.union([oi,n.lazy(()=>si)]))}),ci=n.union([oi,si]),li=n.object({vectorStoreIds:n.array(n.string()).optional(),maxNumResults:n.number().optional(),ranking:n.object({ranker:n.enum([`auto`,`default-2024-08-21`]).optional()}).optional(),filters:ci.optional()}),ui=W({id:`openai.file_search`,name:`file_search`,inputSchema:n.object({query:n.string()})}),di=n.object({searchContextSize:n.enum([`low`,`medium`,`high`]).optional(),userLocation:n.object({type:n.literal(`approximate`),country:n.string().optional(),city:n.string().optional(),region:n.string().optional(),timezone:n.string().optional()}).optional()}),fi=W({id:`openai.web_search_preview`,name:`web_search_preview`,inputSchema:n.object({action:n.discriminatedUnion(`type`,[n.object({type:n.literal(`search`),query:n.string().nullish()}),n.object({type:n.literal(`open_page`),url:n.string()}),n.object({type:n.literal(`find`),url:n.string(),pattern:n.string()})]).nullish()})});function pi({tools:e,toolChoice:t,structuredOutputs:n,strictJsonSchema:r}){e=e?.length?e:void 0;let i=[];if(e==null)return{tools:void 0,toolChoice:void 0,toolWarnings:i};let a=[];for(let t of e)switch(t.type){case`function`:a.push({type:`function`,function:{name:t.name,description:t.description,parameters:t.inputSchema,strict:n?r:void 0}});break;case`provider-defined`:switch(t.id){case`openai.file_search`:{let e=li.parse(t.args);a.push({type:`file_search`,vector_store_ids:e.vectorStoreIds,max_num_results:e.maxNumResults,ranking_options:e.ranking?{ranker:e.ranking.ranker}:void 0,filters:e.filters});break}case`openai.web_search_preview`:{let e=di.parse(t.args);a.push({type:`web_search_preview`,search_context_size:e.searchContextSize,user_location:e.userLocation});break}default:i.push({type:`unsupported-tool`,tool:t});break}break;default:i.push({type:`unsupported-tool`,tool:t});break}if(t==null)return{tools:a,toolChoice:void 0,toolWarnings:i};let o=t.type;switch(o){case`auto`:case`none`:case`required`:return{tools:a,toolChoice:o,toolWarnings:i};case`tool`:return{tools:a,toolChoice:{type:`function`,function:{name:t.toolName}},toolWarnings:i};default:{let e=o;throw new z({functionality:`tool choice type: ${e}`})}}}var mi=class{constructor(e,t){this.specificationVersion=`v2`,this.supportedUrls={"image/*":[/^https?:\/\/.*$/]},this.modelId=e,this.config=t}get provider(){return this.config.provider}async getArgs({prompt:e,maxOutputTokens:t,temperature:n,topP:r,topK:i,frequencyPenalty:a,presencePenalty:o,stopSequences:s,responseFormat:c,seed:l,tools:u,toolChoice:d,providerOptions:f}){var p,m,h,g;let _=[],v=(p=await H({provider:`openai`,providerOptions:f,schema:ai}))??{},y=(m=v.structuredOutputs)??!0;i!=null&&_.push({type:`unsupported-setting`,setting:`topK`}),c?.type===`json`&&c.schema!=null&&!y&&_.push({type:`unsupported-setting`,setting:`responseFormat`,details:`JSON response format schema is only supported with structuredOutputs`});let{messages:b,warnings:x}=ni({prompt:e,systemMessageMode:xi(this.modelId)});_.push(...x);let S=(h=v.strictJsonSchema)??!1,C={model:this.modelId,logit_bias:v.logitBias,logprobs:v.logprobs===!0||typeof v.logprobs==`number`?!0:void 0,top_logprobs:typeof v.logprobs==`number`?v.logprobs:typeof v.logprobs==`boolean`&&v.logprobs?0:void 0,user:v.user,parallel_tool_calls:v.parallelToolCalls,max_tokens:t,temperature:n,top_p:r,frequency_penalty:a,presence_penalty:o,response_format:c?.type===`json`?y&&c.schema!=null?{type:`json_schema`,json_schema:{schema:c.schema,strict:S,name:(g=c.name)??`response`,description:c.description}}:{type:`json_object`}:void 0,stop:s,seed:l,verbosity:v.textVerbosity,max_completion_tokens:v.maxCompletionTokens,store:v.store,metadata:v.metadata,prediction:v.prediction,reasoning_effort:v.reasoningEffort,service_tier:v.serviceTier,prompt_cache_key:v.promptCacheKey,safety_identifier:v.safetyIdentifier,messages:b};vi(this.modelId)?(C.temperature!=null&&(C.temperature=void 0,_.push({type:`unsupported-setting`,setting:`temperature`,details:`temperature is not supported for reasoning models`})),C.top_p!=null&&(C.top_p=void 0,_.push({type:`unsupported-setting`,setting:`topP`,details:`topP is not supported for reasoning models`})),C.frequency_penalty!=null&&(C.frequency_penalty=void 0,_.push({type:`unsupported-setting`,setting:`frequencyPenalty`,details:`frequencyPenalty is not supported for reasoning models`})),C.presence_penalty!=null&&(C.presence_penalty=void 0,_.push({type:`unsupported-setting`,setting:`presencePenalty`,details:`presencePenalty is not supported for reasoning models`})),C.logit_bias!=null&&(C.logit_bias=void 0,_.push({type:`other`,message:`logitBias is not supported for reasoning models`})),C.logprobs!=null&&(C.logprobs=void 0,_.push({type:`other`,message:`logprobs is not supported for reasoning models`})),C.top_logprobs!=null&&(C.top_logprobs=void 0,_.push({type:`other`,message:`topLogprobs is not supported for reasoning models`})),C.max_tokens!=null&&(C.max_completion_tokens??=C.max_tokens,C.max_tokens=void 0)):(this.modelId.startsWith(`gpt-4o-search-preview`)||this.modelId.startsWith(`gpt-4o-mini-search-preview`))&&C.temperature!=null&&(C.temperature=void 0,_.push({type:`unsupported-setting`,setting:`temperature`,details:`temperature is not supported for the search preview models and has been removed.`})),v.serviceTier===`flex`&&!yi(this.modelId)&&(_.push({type:`unsupported-setting`,setting:`serviceTier`,details:`flex processing is only available for o3, o4-mini, and gpt-5 models`}),C.service_tier=void 0),v.serviceTier===`priority`&&!bi(this.modelId)&&(_.push({type:`unsupported-setting`,setting:`serviceTier`,details:`priority processing is only available for supported models (gpt-4, gpt-5, gpt-5-mini, o3, o4-mini) and requires Enterprise access. gpt-5-nano is not supported`}),C.service_tier=void 0);let{tools:w,toolChoice:T,toolWarnings:E}=pi({tools:u,toolChoice:d,structuredOutputs:y,strictJsonSchema:S});return{args:{...C,tools:w,tool_choice:T},warnings:[..._,...E]}}async doGenerate(e){var t,n,r,i,a,o,s,c,l,u,d,f,p,m;let{args:h,warnings:g}=await this.getArgs(e),{responseHeaders:_,value:v,rawValue:y}=await U({url:this.config.url({path:`/chat/completions`,modelId:this.modelId}),headers:B(this.config.headers(),e.headers),body:h,failedResponseHandler:ti,successfulResponseHandler:K(gi),abortSignal:e.abortSignal,fetch:this.config.fetch}),b=v.choices[0],x=[],S=b.message.content;S!=null&&S.length>0&&x.push({type:`text`,text:S});for(let e of(t=b.message.tool_calls)??[])x.push({type:`tool-call`,toolCallId:(n=e.id)??V(),toolName:e.function.name,input:e.function.arguments});for(let e of(r=b.message.annotations)??[])x.push({type:`source`,sourceType:`url`,id:V(),url:e.url,title:e.title});let C=(i=v.usage)?.completion_tokens_details,w=(a=v.usage)?.prompt_tokens_details,T={openai:{}};return C?.accepted_prediction_tokens!=null&&(T.openai.acceptedPredictionTokens=C?.accepted_prediction_tokens),C?.rejected_prediction_tokens!=null&&(T.openai.rejectedPredictionTokens=C?.rejected_prediction_tokens),(o=b.logprobs)?.content!=null&&(T.openai.logprobs=b.logprobs.content),{content:x,finishReason:ii(b.finish_reason),usage:{inputTokens:(c=(s=v.usage)?.prompt_tokens)??void 0,outputTokens:(u=(l=v.usage)?.completion_tokens)??void 0,totalTokens:(f=(d=v.usage)?.total_tokens)??void 0,reasoningTokens:(p=C?.reasoning_tokens)??void 0,cachedInputTokens:(m=w?.cached_tokens)??void 0},request:{body:h},response:{...ri(v),headers:_,body:y},warnings:g,providerMetadata:T}}async doStream(e){let{args:t,warnings:n}=await this.getArgs(e),r={...t,stream:!0,stream_options:{include_usage:!0}},{responseHeaders:i,value:a}=await U({url:this.config.url({path:`/chat/completions`,modelId:this.modelId}),headers:B(this.config.headers(),e.headers),body:r,failedResponseHandler:ti,successfulResponseHandler:Ct(_i),abortSignal:e.abortSignal,fetch:this.config.fetch}),o=[],s=`unknown`,c={inputTokens:void 0,outputTokens:void 0,totalTokens:void 0},l=!0,u=!1,d={openai:{}};return{stream:a.pipeThrough(new TransformStream({start(e){e.enqueue({type:`stream-start`,warnings:n})},transform(t,n){var r,i,a,f,p,m,h,g,_,v,y,b,x,S,C,w,T,E,D,O,k,A,ee,te;if(e.includeRawChunks&&n.enqueue({type:`raw`,rawValue:t.rawValue}),!t.success){s=`error`,n.enqueue({type:`error`,error:t.error});return}let j=t.value;if(`error`in j){s=`error`,n.enqueue({type:`error`,error:j.error});return}l&&(l=!1,n.enqueue({type:`response-metadata`,...ri(j)})),j.usage!=null&&(c.inputTokens=(r=j.usage.prompt_tokens)??void 0,c.outputTokens=(i=j.usage.completion_tokens)??void 0,c.totalTokens=(a=j.usage.total_tokens)??void 0,c.reasoningTokens=(p=(f=j.usage.completion_tokens_details)?.reasoning_tokens)??void 0,c.cachedInputTokens=(h=(m=j.usage.prompt_tokens_details)?.cached_tokens)??void 0,(g=j.usage.completion_tokens_details)?.accepted_prediction_tokens!=null&&(d.openai.acceptedPredictionTokens=(_=j.usage.completion_tokens_details)?.accepted_prediction_tokens),(v=j.usage.completion_tokens_details)?.rejected_prediction_tokens!=null&&(d.openai.rejectedPredictionTokens=(y=j.usage.completion_tokens_details)?.rejected_prediction_tokens));let N=j.choices[0];if(N?.finish_reason!=null&&(s=ii(N.finish_reason)),(b=N?.logprobs)?.content!=null&&(d.openai.logprobs=N.logprobs.content),N?.delta==null)return;let P=N.delta;if(P.content!=null&&(u||=(n.enqueue({type:`text-start`,id:`0`}),!0),n.enqueue({type:`text-delta`,id:`0`,delta:P.content})),P.tool_calls!=null)for(let e of P.tool_calls){let t=e.index;if(o[t]==null){if(e.type!==`function`)throw new M({data:e,message:`Expected 'function' type.`});if(e.id==null)throw new M({data:e,message:`Expected 'id' to be a string.`});if((x=e.function)?.name==null)throw new M({data:e,message:`Expected 'function.name' to be a string.`});n.enqueue({type:`tool-input-start`,id:e.id,toolName:e.function.name}),o[t]={id:e.id,type:`function`,function:{name:e.function.name,arguments:(S=e.function.arguments)??``},hasFinished:!1};let r=o[t];(C=r.function)?.name!=null&&(w=r.function)?.arguments!=null&&(r.function.arguments.length>0&&n.enqueue({type:`tool-input-delta`,id:r.id,delta:r.function.arguments}),ht(r.function.arguments)&&(n.enqueue({type:`tool-input-end`,id:r.id}),n.enqueue({type:`tool-call`,toolCallId:(T=r.id)??V(),toolName:r.function.name,input:r.function.arguments}),r.hasFinished=!0));continue}let r=o[t];if(r.hasFinished)continue;(E=e.function)?.arguments!=null&&(r.function.arguments+=(O=(D=e.function)?.arguments)??``),n.enqueue({type:`tool-input-delta`,id:r.id,delta:(k=e.function.arguments)??``}),(A=r.function)?.name!=null&&(ee=r.function)?.arguments!=null&&ht(r.function.arguments)&&(n.enqueue({type:`tool-input-end`,id:r.id}),n.enqueue({type:`tool-call`,toolCallId:(te=r.id)??V(),toolName:r.function.name,input:r.function.arguments}),r.hasFinished=!0)}if(P.annotations!=null)for(let e of P.annotations)n.enqueue({type:`source`,sourceType:`url`,id:V(),url:e.url,title:e.title})},flush(e){u&&e.enqueue({type:`text-end`,id:`0`}),e.enqueue({type:`finish`,finishReason:s,usage:c,...d==null?{}:{providerMetadata:d}})}})),request:{body:r},response:{headers:i}}}},hi=n.object({prompt_tokens:n.number().nullish(),completion_tokens:n.number().nullish(),total_tokens:n.number().nullish(),prompt_tokens_details:n.object({cached_tokens:n.number().nullish()}).nullish(),completion_tokens_details:n.object({reasoning_tokens:n.number().nullish(),accepted_prediction_tokens:n.number().nullish(),rejected_prediction_tokens:n.number().nullish()}).nullish()}).nullish(),gi=n.object({id:n.string().nullish(),created:n.number().nullish(),model:n.string().nullish(),choices:n.array(n.object({message:n.object({role:n.literal(`assistant`).nullish(),content:n.string().nullish(),tool_calls:n.array(n.object({id:n.string().nullish(),type:n.literal(`function`),function:n.object({name:n.string(),arguments:n.string()})})).nullish(),annotations:n.array(n.object({type:n.literal(`url_citation`),start_index:n.number(),end_index:n.number(),url:n.string(),title:n.string()})).nullish()}),index:n.number(),logprobs:n.object({content:n.array(n.object({token:n.string(),logprob:n.number(),top_logprobs:n.array(n.object({token:n.string(),logprob:n.number()}))})).nullish()}).nullish(),finish_reason:n.string().nullish()})),usage:hi}),_i=n.union([n.object({id:n.string().nullish(),created:n.number().nullish(),model:n.string().nullish(),choices:n.array(n.object({delta:n.object({role:n.enum([`assistant`]).nullish(),content:n.string().nullish(),tool_calls:n.array(n.object({index:n.number(),id:n.string().nullish(),type:n.literal(`function`).nullish(),function:n.object({name:n.string().nullish(),arguments:n.string().nullish()})})).nullish(),annotations:n.array(n.object({type:n.literal(`url_citation`),start_index:n.number(),end_index:n.number(),url:n.string(),title:n.string()})).nullish()}).nullish(),logprobs:n.object({content:n.array(n.object({token:n.string(),logprob:n.number(),top_logprobs:n.array(n.object({token:n.string(),logprob:n.number()}))})).nullish()}).nullish(),finish_reason:n.string().nullish(),index:n.number()})),usage:hi}),ei]);function vi(e){return(e.startsWith(`o`)||e.startsWith(`gpt-5`))&&!e.startsWith(`gpt-5-chat`)}function yi(e){return e.startsWith(`o3`)||e.startsWith(`o4-mini`)||e.startsWith(`gpt-5`)&&!e.startsWith(`gpt-5-chat`)}function bi(e){return e.startsWith(`gpt-4`)||e.startsWith(`gpt-5-mini`)||e.startsWith(`gpt-5`)&&!e.startsWith(`gpt-5-nano`)&&!e.startsWith(`gpt-5-chat`)||e.startsWith(`o3`)||e.startsWith(`o4-mini`)}function xi(e){var t,n;return vi(e)?(n=(t=Si[e])?.systemMessageMode)??`developer`:`system`}var Si={"o1-mini":{systemMessageMode:`remove`},"o1-mini-2024-09-12":{systemMessageMode:`remove`},"o1-preview":{systemMessageMode:`remove`},"o1-preview-2024-09-12":{systemMessageMode:`remove`},o3:{systemMessageMode:`developer`},"o3-2025-04-16":{systemMessageMode:`developer`},"o3-mini":{systemMessageMode:`developer`},"o3-mini-2025-01-31":{systemMessageMode:`developer`},"o4-mini":{systemMessageMode:`developer`},"o4-mini-2025-04-16":{systemMessageMode:`developer`}};function Ci({prompt:e,user:t=`user`,assistant:n=`assistant`}){let r=``;e[0].role===`system`&&(r+=`${e[0].content}
16
-
17
- `,e=e.slice(1));for(let{role:i,content:a}of e)switch(i){case`system`:throw new k({message:"Unexpected system message in prompt: ${content}",prompt:e});case`user`:{let e=a.map(e=>{switch(e.type){case`text`:return e.text}}).filter(Boolean).join(``);r+=`${t}:
18
- ${e}
19
-
20
- `;break}case`assistant`:{let e=a.map(e=>{switch(e.type){case`text`:return e.text;case`tool-call`:throw new z({functionality:`tool-call messages`})}}).join(``);r+=`${n}:
21
- ${e}
22
-
23
- `;break}case`tool`:throw new z({functionality:`tool messages`});default:{let e=i;throw Error(`Unsupported role: ${e}`)}}return r+=`${n}:
24
- `,{prompt:r,stopSequences:[`
25
- ${t}:`]}}function wi({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 Ti(e){switch(e){case`stop`:return`stop`;case`length`:return`length`;case`content_filter`:return`content-filter`;case`function_call`:case`tool_calls`:return`tool-calls`;default:return`unknown`}}var Ei=n.object({echo:n.boolean().optional(),logitBias:n.record(n.string(),n.number()).optional(),suffix:n.string().optional(),user:n.string().optional(),logprobs:n.union([n.boolean(),n.number()]).optional()}),Di=class{constructor(e,t){this.specificationVersion=`v2`,this.supportedUrls={},this.modelId=e,this.config=t}get providerOptionsName(){return this.config.provider.split(`.`)[0].trim()}get provider(){return this.config.provider}async getArgs({prompt:e,maxOutputTokens:t,temperature:n,topP:r,topK:i,frequencyPenalty:a,presencePenalty:o,stopSequences:s,responseFormat:c,tools:l,toolChoice:u,seed:d,providerOptions:f}){let p=[],m={...await H({provider:`openai`,providerOptions:f,schema:Ei}),...await H({provider:this.providerOptionsName,providerOptions:f,schema:Ei})};i!=null&&p.push({type:`unsupported-setting`,setting:`topK`}),l?.length&&p.push({type:`unsupported-setting`,setting:`tools`}),u!=null&&p.push({type:`unsupported-setting`,setting:`toolChoice`}),c!=null&&c.type!==`text`&&p.push({type:`unsupported-setting`,setting:`responseFormat`,details:`JSON response format is not supported.`});let{prompt:h,stopSequences:g}=Ci({prompt:e}),_=[...g??[],...s??[]];return{args:{model:this.modelId,echo:m.echo,logit_bias:m.logitBias,logprobs:m?.logprobs===!0?0:m?.logprobs===!1?void 0:m?.logprobs,suffix:m.suffix,user:m.user,max_tokens:t,temperature:n,top_p:r,frequency_penalty:a,presence_penalty:o,seed:d,prompt:h,stop:_.length>0?_:void 0},warnings:p}}async doGenerate(e){var t,n,r;let{args:i,warnings:a}=await this.getArgs(e),{responseHeaders:o,value:s,rawValue:c}=await U({url:this.config.url({path:`/completions`,modelId:this.modelId}),headers:B(this.config.headers(),e.headers),body:i,failedResponseHandler:ti,successfulResponseHandler:K(ki),abortSignal:e.abortSignal,fetch:this.config.fetch}),l=s.choices[0],u={openai:{}};return l.logprobs!=null&&(u.openai.logprobs=l.logprobs),{content:[{type:`text`,text:l.text}],usage:{inputTokens:(t=s.usage)?.prompt_tokens,outputTokens:(n=s.usage)?.completion_tokens,totalTokens:(r=s.usage)?.total_tokens},finishReason:Ti(l.finish_reason),request:{body:i},response:{...wi(s),headers:o,body:c},providerMetadata:u,warnings:a}}async doStream(e){let{args:t,warnings:n}=await this.getArgs(e),r={...t,stream:!0,stream_options:{include_usage:!0}},{responseHeaders:i,value:a}=await U({url:this.config.url({path:`/completions`,modelId:this.modelId}),headers:B(this.config.headers(),e.headers),body:r,failedResponseHandler:ti,successfulResponseHandler:Ct(Ai),abortSignal:e.abortSignal,fetch:this.config.fetch}),o=`unknown`,s={openai:{}},c={inputTokens:void 0,outputTokens:void 0,totalTokens:void 0},l=!0;return{stream:a.pipeThrough(new TransformStream({start(e){e.enqueue({type:`stream-start`,warnings:n})},transform(t,n){if(e.includeRawChunks&&n.enqueue({type:`raw`,rawValue:t.rawValue}),!t.success){o=`error`,n.enqueue({type:`error`,error:t.error});return}let r=t.value;if(`error`in r){o=`error`,n.enqueue({type:`error`,error:r.error});return}l&&(l=!1,n.enqueue({type:`response-metadata`,...wi(r)}),n.enqueue({type:`text-start`,id:`0`})),r.usage!=null&&(c.inputTokens=r.usage.prompt_tokens,c.outputTokens=r.usage.completion_tokens,c.totalTokens=r.usage.total_tokens);let i=r.choices[0];i?.finish_reason!=null&&(o=Ti(i.finish_reason)),i?.logprobs!=null&&(s.openai.logprobs=i.logprobs),i?.text!=null&&i.text.length>0&&n.enqueue({type:`text-delta`,id:`0`,delta:i.text})},flush(e){l||e.enqueue({type:`text-end`,id:`0`}),e.enqueue({type:`finish`,finishReason:o,providerMetadata:s,usage:c})}})),request:{body:r},response:{headers:i}}}},Oi=n.object({prompt_tokens:n.number(),completion_tokens:n.number(),total_tokens:n.number()}),ki=n.object({id:n.string().nullish(),created:n.number().nullish(),model:n.string().nullish(),choices:n.array(n.object({text:n.string(),finish_reason:n.string(),logprobs:n.object({tokens:n.array(n.string()),token_logprobs:n.array(n.number()),top_logprobs:n.array(n.record(n.string(),n.number())).nullish()}).nullish()})),usage:Oi.nullish()}),Ai=n.union([n.object({id:n.string().nullish(),created:n.number().nullish(),model:n.string().nullish(),choices:n.array(n.object({text:n.string(),finish_reason:n.string().nullish(),index:n.number(),logprobs:n.object({tokens:n.array(n.string()),token_logprobs:n.array(n.number()),top_logprobs:n.array(n.record(n.string(),n.number())).nullish()}).nullish()})),usage:Oi.nullish()}),ei]),ji=n.object({dimensions:n.number().optional(),user:n.string().optional()}),Mi=class{constructor(e,t){this.specificationVersion=`v2`,this.maxEmbeddingsPerCall=2048,this.supportsParallelCalls=!0,this.modelId=e,this.config=t}get provider(){return this.config.provider}async doEmbed({values:e,headers:t,abortSignal:n,providerOptions:r}){var i;if(e.length>this.maxEmbeddingsPerCall)throw new Ce({provider:this.provider,modelId:this.modelId,maxEmbeddingsPerCall:this.maxEmbeddingsPerCall,values:e});let a=(i=await H({provider:`openai`,providerOptions:r,schema:ji}))??{},{responseHeaders:o,value:s,rawValue:c}=await U({url:this.config.url({path:`/embeddings`,modelId:this.modelId}),headers:B(this.config.headers(),t),body:{model:this.modelId,input:e,encoding_format:`float`,dimensions:a.dimensions,user:a.user},failedResponseHandler:ti,successfulResponseHandler:K(Ni),abortSignal:n,fetch:this.config.fetch});return{embeddings:s.data.map(e=>e.embedding),usage:s.usage?{tokens:s.usage.prompt_tokens}:void 0,response:{headers:o,body:c}}}},Ni=n.object({data:n.array(n.object({embedding:n.array(n.number())})),usage:n.object({prompt_tokens:n.number()}).nullish()}),Pi={"dall-e-3":1,"dall-e-2":10,"gpt-image-1":10},Fi=new Set([`gpt-image-1`]),Ii=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion=`v2`}get maxImagesPerCall(){var e;return(e=Pi[this.modelId])??1}get provider(){return this.config.provider}async doGenerate({prompt:e,n:t,size:n,aspectRatio:r,seed:i,providerOptions:a,headers:o,abortSignal:s}){var c,l,u,d;let f=[];r!=null&&f.push({type:`unsupported-setting`,setting:`aspectRatio`,details:"This model does not support aspect ratio. Use `size` instead."}),i!=null&&f.push({type:`unsupported-setting`,setting:`seed`});let p=(u=(l=(c=this.config._internal)?.currentDate)?.call(c))??new Date,{value:m,responseHeaders:h}=await U({url:this.config.url({path:`/images/generations`,modelId:this.modelId}),headers:B(this.config.headers(),o),body:{model:this.modelId,prompt:e,n:t,size:n,...(d=a.openai)??{},...Fi.has(this.modelId)?{}:{response_format:`b64_json`}},failedResponseHandler:ti,successfulResponseHandler:K(Li),abortSignal:s,fetch:this.config.fetch});return{images:m.data.map(e=>e.b64_json),warnings:f,response:{timestamp:p,modelId:this.modelId,headers:h},providerMetadata:{openai:{images:m.data.map(e=>e.revised_prompt?{revisedPrompt:e.revised_prompt}:null)}}}}},Li=n.object({data:n.array(n.object({b64_json:n.string(),revised_prompt:n.string().optional()}))}),Ri=n.object({container:n.union([n.string(),n.object({fileIds:n.array(n.string()).optional()})]).optional()}),zi=W({id:`openai.code_interpreter`,name:`code_interpreter`,inputSchema:n.object({})}),Bi=(e={})=>zi(e),Vi=n.object({filters:n.object({allowedDomains:n.array(n.string()).optional()}).optional(),searchContextSize:n.enum([`low`,`medium`,`high`]).optional(),userLocation:n.object({type:n.literal(`approximate`),country:n.string().optional(),city:n.string().optional(),region:n.string().optional(),timezone:n.string().optional()}).optional()}),Hi=W({id:`openai.web_search`,name:`web_search`,inputSchema:n.object({action:n.discriminatedUnion(`type`,[n.object({type:n.literal(`search`),query:n.string().nullish()}),n.object({type:n.literal(`open_page`),url:n.string()}),n.object({type:n.literal(`find`),url:n.string(),pattern:n.string()})]).nullish()})}),Ui=(e={})=>Hi(e),Wi={codeInterpreter:Bi,fileSearch:ui,webSearchPreview:fi,webSearch:Ui};function Gi(e,t){return t?t.some(t=>e.startsWith(t)):!1}async function Ki({prompt:e,systemMessageMode:t,fileIdPrefixes:n}){var r,i,a,o,s,c;let l=[],u=[];for(let{role:d,content:f}of e)switch(d){case`system`:switch(t){case`system`:l.push({role:`system`,content:f});break;case`developer`:l.push({role:`developer`,content:f});break;case`remove`:u.push({type:`other`,message:`system messages are removed for this model`});break;default:{let e=t;throw Error(`Unsupported system message mode: ${e}`)}}break;case`user`:l.push({role:`user`,content:f.map((e,t)=>{var r,i,a;switch(e.type){case`text`:return{type:`input_text`,text:e.text};case`file`:if(e.mediaType.startsWith(`image/`)){let t=e.mediaType===`image/*`?`image/jpeg`:e.mediaType;return{type:`input_image`,...e.data instanceof URL?{image_url:e.data.toString()}:typeof e.data==`string`&&Gi(e.data,n)?{file_id:e.data}:{image_url:`data:${t};base64,${Fn(e.data)}`},detail:(i=(r=e.providerOptions)?.openai)?.imageDetail}}else if(e.mediaType===`application/pdf`)return e.data instanceof URL?{type:`input_file`,file_url:e.data.toString()}:{type:`input_file`,...typeof e.data==`string`&&Gi(e.data,n)?{file_id:e.data}:{filename:(a=e.filename)??`part-${t}.pdf`,file_data:`data:application/pdf;base64,${Fn(e.data)}`}};else throw new z({functionality:`file part media type ${e.mediaType}`})}})});break;case`assistant`:{let e={};for(let t of f)switch(t.type){case`text`:l.push({role:`assistant`,content:[{type:`output_text`,text:t.text}],id:(a=(i=(r=t.providerOptions)?.openai)?.itemId)??void 0});break;case`tool-call`:if(t.providerExecuted)break;l.push({type:`function_call`,call_id:t.toolCallId,name:t.toolName,arguments:JSON.stringify(t.input),id:(c=(s=(o=t.providerOptions)?.openai)?.itemId)??void 0});break;case`tool-result`:u.push({type:`other`,message:`tool result parts in assistant messages are not supported for OpenAI responses`});break;case`reasoning`:{let n=await H({provider:`openai`,providerOptions:t.providerOptions,schema:qi}),r=n?.itemId;if(r!=null){let i=e[r],a=[];t.text.length>0?a.push({type:`summary_text`,text:t.text}):i!==void 0&&u.push({type:`other`,message:`Cannot append empty reasoning part to existing reasoning sequence. Skipping reasoning part: ${JSON.stringify(t)}.`}),i===void 0?(e[r]={type:`reasoning`,id:r,encrypted_content:n?.reasoningEncryptedContent,summary:a},l.push(e[r])):i.summary.push(...a)}else u.push({type:`other`,message:`Non-OpenAI reasoning parts are not supported. Skipping reasoning part: ${JSON.stringify(t)}.`});break}}break}case`tool`:for(let e of f){let t=e.output,n;switch(t.type){case`text`:case`error-text`:n=t.value;break;case`content`:case`json`:case`error-json`:n=JSON.stringify(t.value);break}l.push({type:`function_call_output`,call_id:e.toolCallId,output:n})}break;default:{let e=d;throw Error(`Unsupported role: ${e}`)}}return{messages:l,warnings:u}}var qi=n.object({itemId:n.string().nullish(),reasoningEncryptedContent:n.string().nullish()});function Ji({finishReason:e,hasFunctionCall:t}){switch(e){case void 0:case null:return t?`tool-calls`:`stop`;case`max_output_tokens`:return`length`;case`content_filter`:return`content-filter`;default:return t?`tool-calls`:`unknown`}}function Yi({tools:e,toolChoice:t,strictJsonSchema:n}){e=e?.length?e:void 0;let r=[];if(e==null)return{tools:void 0,toolChoice:void 0,toolWarnings:r};let i=[];for(let t of e)switch(t.type){case`function`:i.push({type:`function`,name:t.name,description:t.description,parameters:t.inputSchema,strict:n});break;case`provider-defined`:switch(t.id){case`openai.file_search`:{let e=li.parse(t.args);i.push({type:`file_search`,vector_store_ids:e.vectorStoreIds,max_num_results:e.maxNumResults,ranking_options:e.ranking?{ranker:e.ranking.ranker}:void 0,filters:e.filters});break}case`openai.web_search_preview`:{let e=di.parse(t.args);i.push({type:`web_search_preview`,search_context_size:e.searchContextSize,user_location:e.userLocation});break}case`openai.web_search`:{let e=Vi.parse(t.args);i.push({type:`web_search`,filters:e.filters==null?void 0:{allowed_domains:e.filters.allowedDomains},search_context_size:e.searchContextSize,user_location:e.userLocation});break}case`openai.code_interpreter`:{let e=Ri.parse(t.args);i.push({type:`code_interpreter`,container:e.container==null?{type:`auto`,file_ids:void 0}:typeof e.container==`string`?e.container:{type:`auto`,file_ids:e.container.fileIds}});break}default:r.push({type:`unsupported-tool`,tool:t});break}break;default:r.push({type:`unsupported-tool`,tool:t});break}if(t==null)return{tools:i,toolChoice:void 0,toolWarnings:r};let a=t.type;switch(a){case`auto`:case`none`:case`required`:return{tools:i,toolChoice:a,toolWarnings:r};case`tool`:return{tools:i,toolChoice:t.toolName===`code_interpreter`||t.toolName===`file_search`||t.toolName===`web_search_preview`||t.toolName===`web_search`?{type:t.toolName}:{type:`function`,name:t.toolName},toolWarnings:r};default:{let e=a;throw new z({functionality:`tool choice type: ${e}`})}}}var Xi=n.object({type:n.literal(`web_search_call`),id:n.string(),status:n.string(),action:n.discriminatedUnion(`type`,[n.object({type:n.literal(`search`),query:n.string().nullish()}),n.object({type:n.literal(`open_page`),url:n.string()}),n.object({type:n.literal(`find`),url:n.string(),pattern:n.string()})]).nullish()}),Zi=20,Qi=n.array(n.object({token:n.string(),logprob:n.number(),top_logprobs:n.array(n.object({token:n.string(),logprob:n.number()}))})),$i=class{constructor(e,t){this.specificationVersion=`v2`,this.supportedUrls={"image/*":[/^https?:\/\/.*$/],"application/pdf":[/^https?:\/\/.*$/]},this.modelId=e,this.config=t}get provider(){return this.config.provider}async getArgs({maxOutputTokens:e,temperature:t,stopSequences:n,topP:r,topK:i,presencePenalty:a,frequencyPenalty:o,seed:s,prompt:c,providerOptions:l,tools:u,toolChoice:d,responseFormat:f}){var p,m,h;let g=[],_=wa(this.modelId);i!=null&&g.push({type:`unsupported-setting`,setting:`topK`}),s!=null&&g.push({type:`unsupported-setting`,setting:`seed`}),a!=null&&g.push({type:`unsupported-setting`,setting:`presencePenalty`}),o!=null&&g.push({type:`unsupported-setting`,setting:`frequencyPenalty`}),n!=null&&g.push({type:`unsupported-setting`,setting:`stopSequences`});let{messages:v,warnings:y}=await Ki({prompt:c,systemMessageMode:_.systemMessageMode,fileIdPrefixes:this.config.fileIdPrefixes});g.push(...y);let b=await H({provider:`openai`,providerOptions:l,schema:Ta}),x=(p=b?.strictJsonSchema)??!1,S=b?.include,C=typeof b?.logprobs==`number`?b?.logprobs:b?.logprobs===!0?Zi:void 0;S=C?Array.isArray(S)?[...S,`message.output_text.logprobs`]:[`message.output_text.logprobs`]:S;let w=(m=u?.find(e=>e.type===`provider-defined`&&(e.id===`openai.web_search`||e.id===`openai.web_search_preview`)))?.name;S=w?Array.isArray(S)?[...S,`web_search_call.action.sources`]:[`web_search_call.action.sources`]:S;let T={model:this.modelId,input:v,temperature:t,top_p:r,max_output_tokens:e,...(f?.type===`json`||b?.textVerbosity)&&{text:{...f?.type===`json`&&{format:f.schema==null?{type:`json_object`}:{type:`json_schema`,strict:x,name:(h=f.name)??`response`,description:f.description,schema:f.schema}},...b?.textVerbosity&&{verbosity:b.textVerbosity}}},metadata:b?.metadata,parallel_tool_calls:b?.parallelToolCalls,previous_response_id:b?.previousResponseId,store:b?.store,user:b?.user,instructions:b?.instructions,service_tier:b?.serviceTier,include:S,prompt_cache_key:b?.promptCacheKey,safety_identifier:b?.safetyIdentifier,top_logprobs:C,..._.isReasoningModel&&(b?.reasoningEffort!=null||b?.reasoningSummary!=null)&&{reasoning:{...b?.reasoningEffort!=null&&{effort:b.reasoningEffort},...b?.reasoningSummary!=null&&{summary:b.reasoningSummary}}},..._.requiredAutoTruncation&&{truncation:`auto`}};_.isReasoningModel?(T.temperature!=null&&(T.temperature=void 0,g.push({type:`unsupported-setting`,setting:`temperature`,details:`temperature is not supported for reasoning models`})),T.top_p!=null&&(T.top_p=void 0,g.push({type:`unsupported-setting`,setting:`topP`,details:`topP is not supported for reasoning models`}))):(b?.reasoningEffort!=null&&g.push({type:`unsupported-setting`,setting:`reasoningEffort`,details:`reasoningEffort is not supported for non-reasoning models`}),b?.reasoningSummary!=null&&g.push({type:`unsupported-setting`,setting:`reasoningSummary`,details:`reasoningSummary is not supported for non-reasoning models`})),b?.serviceTier===`flex`&&!_.supportsFlexProcessing&&(g.push({type:`unsupported-setting`,setting:`serviceTier`,details:`flex processing is only available for o3, o4-mini, and gpt-5 models`}),delete T.service_tier),b?.serviceTier===`priority`&&!_.supportsPriorityProcessing&&(g.push({type:`unsupported-setting`,setting:`serviceTier`,details:`priority processing is only available for supported models (gpt-4, gpt-5, gpt-5-mini, o3, o4-mini) and requires Enterprise access. gpt-5-nano is not supported`}),delete T.service_tier);let{tools:E,toolChoice:D,toolWarnings:O}=Yi({tools:u,toolChoice:d,strictJsonSchema:x});return{webSearchToolName:w,args:{...T,tools:E,tool_choice:D},warnings:[...g,...O]}}async doGenerate(e){var t,r,i,a,o,s,c,l,u,d,f,m,h,g,_,v,y;let{args:b,warnings:x,webSearchToolName:S}=await this.getArgs(e),C=this.config.url({path:`/responses`,modelId:this.modelId}),{responseHeaders:w,value:T,rawValue:E}=await U({url:C,headers:B(this.config.headers(),e.headers),body:b,failedResponseHandler:ti,successfulResponseHandler:K(n.object({id:n.string(),created_at:n.number(),error:n.object({code:n.string(),message:n.string()}).nullish(),model:n.string(),output:n.array(n.discriminatedUnion(`type`,[n.object({type:n.literal(`message`),role:n.literal(`assistant`),id:n.string(),content:n.array(n.object({type:n.literal(`output_text`),text:n.string(),logprobs:Qi.nullish(),annotations:n.array(n.discriminatedUnion(`type`,[n.object({type:n.literal(`url_citation`),start_index:n.number(),end_index:n.number(),url:n.string(),title:n.string()}),n.object({type:n.literal(`file_citation`),file_id:n.string(),filename:n.string().nullish(),index:n.number().nullish(),start_index:n.number().nullish(),end_index:n.number().nullish(),quote:n.string().nullish()}),n.object({type:n.literal(`container_file_citation`)})]))}))}),n.object({type:n.literal(`code_interpreter_call`)}),n.object({type:n.literal(`function_call`),call_id:n.string(),name:n.string(),arguments:n.string(),id:n.string()}),Xi,n.object({type:n.literal(`computer_call`),id:n.string(),status:n.string().optional()}),n.object({type:n.literal(`file_search_call`),id:n.string(),status:n.string().optional(),queries:n.array(n.string()).nullish(),results:n.array(n.object({attributes:n.object({file_id:n.string(),filename:n.string(),score:n.number(),text:n.string()})})).nullish()}),n.object({type:n.literal(`reasoning`),id:n.string(),encrypted_content:n.string().nullish(),summary:n.array(n.object({type:n.literal(`summary_text`),text:n.string()}))})])),service_tier:n.string().nullish(),incomplete_details:n.object({reason:n.string()}).nullable(),usage:ea})),abortSignal:e.abortSignal,fetch:this.config.fetch});if(T.error)throw new p({message:T.error.message,url:C,requestBodyValues:b,statusCode:400,responseHeaders:w,responseBody:E,isRetryable:!1});let D=[],O=[],k=!1;for(let n of T.output)switch(n.type){case`reasoning`:n.summary.length===0&&n.summary.push({type:`summary_text`,text:``});for(let e of n.summary)D.push({type:`reasoning`,text:e.text,providerMetadata:{openai:{itemId:n.id,reasoningEncryptedContent:(t=n.encrypted_content)??null}}});break;case`message`:for(let t of n.content){(i=(r=e.providerOptions)?.openai)?.logprobs&&t.logprobs&&O.push(t.logprobs),D.push({type:`text`,text:t.text,providerMetadata:{openai:{itemId:n.id}}});for(let e of t.annotations)e.type===`url_citation`?D.push({type:`source`,sourceType:`url`,id:(s=(o=(a=this.config).generateId)?.call(a))??V(),url:e.url,title:e.title}):e.type===`file_citation`&&D.push({type:`source`,sourceType:`document`,id:(u=(l=(c=this.config).generateId)?.call(c))??V(),mediaType:`text/plain`,title:(f=(d=e.quote)??e.filename)??`Document`,filename:(m=e.filename)??e.file_id})}break;case`function_call`:k=!0,D.push({type:`tool-call`,toolCallId:n.call_id,toolName:n.name,input:n.arguments,providerMetadata:{openai:{itemId:n.id}}});break;case`web_search_call`:D.push({type:`tool-call`,toolCallId:n.id,toolName:S??`web_search`,input:JSON.stringify({action:n.action}),providerExecuted:!0}),D.push({type:`tool-result`,toolCallId:n.id,toolName:S??`web_search`,result:{status:n.status},providerExecuted:!0});break;case`computer_call`:D.push({type:`tool-call`,toolCallId:n.id,toolName:`computer_use`,input:``,providerExecuted:!0}),D.push({type:`tool-result`,toolCallId:n.id,toolName:`computer_use`,result:{type:`computer_use_tool_result`,status:n.status||`completed`},providerExecuted:!0});break;case`file_search_call`:D.push({type:`tool-call`,toolCallId:n.id,toolName:`file_search`,input:``,providerExecuted:!0}),D.push({type:`tool-result`,toolCallId:n.id,toolName:`file_search`,result:{type:`file_search_tool_result`,status:n.status||`completed`,...n.queries&&{queries:n.queries},...n.results&&{results:n.results}},providerExecuted:!0});break}let A={openai:{responseId:T.id}};return O.length>0&&(A.openai.logprobs=O),typeof T.service_tier==`string`&&(A.openai.serviceTier=T.service_tier),{content:D,finishReason:Ji({finishReason:(h=T.incomplete_details)?.reason,hasFunctionCall:k}),usage:{inputTokens:T.usage.input_tokens,outputTokens:T.usage.output_tokens,totalTokens:T.usage.input_tokens+T.usage.output_tokens,reasoningTokens:(_=(g=T.usage.output_tokens_details)?.reasoning_tokens)??void 0,cachedInputTokens:(y=(v=T.usage.input_tokens_details)?.cached_tokens)??void 0},request:{body:b},response:{id:T.id,timestamp:new Date(T.created_at*1e3),modelId:T.model,headers:w,body:E},providerMetadata:A,warnings:x}}async doStream(e){let{args:t,warnings:n,webSearchToolName:r}=await this.getArgs(e),{responseHeaders:i,value:a}=await U({url:this.config.url({path:`/responses`,modelId:this.modelId}),headers:B(this.config.headers(),e.headers),body:{...t,stream:!0},failedResponseHandler:ti,successfulResponseHandler:Ct(da),abortSignal:e.abortSignal,fetch:this.config.fetch}),o=this,s=`unknown`,c={inputTokens:void 0,outputTokens:void 0,totalTokens:void 0},l=[],u=null,d={},f=!1,p={},m;return{stream:a.pipeThrough(new TransformStream({start(e){e.enqueue({type:`stream-start`,warnings:n})},transform(t,n){var i,a,h,g,_,v,y,b,x,S,C,w,T,E,D,O,k,A,ee,te,j;if(e.includeRawChunks&&n.enqueue({type:`raw`,rawValue:t.rawValue}),!t.success){s=`error`,n.enqueue({type:`error`,error:t.error});return}let M=t.value;if(va(M))M.item.type===`function_call`?(d[M.output_index]={toolName:M.item.name,toolCallId:M.item.call_id},n.enqueue({type:`tool-input-start`,id:M.item.call_id,toolName:M.item.name})):M.item.type===`web_search_call`?(d[M.output_index]={toolName:r??`web_search`,toolCallId:M.item.id},n.enqueue({type:`tool-input-start`,id:M.item.id,toolName:r??`web_search`})):M.item.type===`computer_call`?(d[M.output_index]={toolName:`computer_use`,toolCallId:M.item.id},n.enqueue({type:`tool-input-start`,id:M.item.id,toolName:`computer_use`})):M.item.type===`file_search_call`?(d[M.output_index]={toolName:`file_search`,toolCallId:M.item.id},n.enqueue({type:`tool-input-start`,id:M.item.id,toolName:`file_search`})):M.item.type===`message`?n.enqueue({type:`text-start`,id:M.item.id,providerMetadata:{openai:{itemId:M.item.id}}}):ya(M)&&(p[M.item.id]={encryptedContent:M.item.encrypted_content,summaryParts:[0]},n.enqueue({type:`reasoning-start`,id:`${M.item.id}:0`,providerMetadata:{openai:{itemId:M.item.id,reasoningEncryptedContent:(i=M.item.encrypted_content)??null}}}));else if(pa(M)){if(M.item.type===`function_call`)d[M.output_index]=void 0,f=!0,n.enqueue({type:`tool-input-end`,id:M.item.call_id}),n.enqueue({type:`tool-call`,toolCallId:M.item.call_id,toolName:M.item.name,input:M.item.arguments,providerMetadata:{openai:{itemId:M.item.id}}});else if(M.item.type===`web_search_call`)d[M.output_index]=void 0,n.enqueue({type:`tool-input-end`,id:M.item.id}),n.enqueue({type:`tool-call`,toolCallId:M.item.id,toolName:`web_search`,input:JSON.stringify({action:M.item.action}),providerExecuted:!0}),n.enqueue({type:`tool-result`,toolCallId:M.item.id,toolName:`web_search`,result:{status:M.item.status},providerExecuted:!0});else if(M.item.type===`computer_call`)d[M.output_index]=void 0,n.enqueue({type:`tool-input-end`,id:M.item.id}),n.enqueue({type:`tool-call`,toolCallId:M.item.id,toolName:`computer_use`,input:``,providerExecuted:!0}),n.enqueue({type:`tool-result`,toolCallId:M.item.id,toolName:`computer_use`,result:{type:`computer_use_tool_result`,status:M.item.status||`completed`},providerExecuted:!0});else if(M.item.type===`file_search_call`)d[M.output_index]=void 0,n.enqueue({type:`tool-input-end`,id:M.item.id}),n.enqueue({type:`tool-call`,toolCallId:M.item.id,toolName:`file_search`,input:``,providerExecuted:!0}),n.enqueue({type:`tool-result`,toolCallId:M.item.id,toolName:`file_search`,result:{type:`file_search_tool_result`,status:M.item.status||`completed`,...M.item.queries&&{queries:M.item.queries},...M.item.results&&{results:M.item.results}},providerExecuted:!0});else if(M.item.type===`message`)n.enqueue({type:`text-end`,id:M.item.id});else if(ma(M)){let e=p[M.item.id];for(let t of e.summaryParts)n.enqueue({type:`reasoning-end`,id:`${M.item.id}:${t}`,providerMetadata:{openai:{itemId:M.item.id,reasoningEncryptedContent:(a=M.item.encrypted_content)??null}}});delete p[M.item.id]}}else if(_a(M)){let e=d[M.output_index];e!=null&&n.enqueue({type:`tool-input-delta`,id:e.toolCallId,delta:M.delta})}else ga(M)?(u=M.response.id,n.enqueue({type:`response-metadata`,id:M.response.id,timestamp:new Date(M.response.created_at*1e3),modelId:M.response.model})):fa(M)?(n.enqueue({type:`text-delta`,id:M.item_id,delta:M.delta}),(g=(h=e.providerOptions)?.openai)?.logprobs&&M.logprobs&&l.push(M.logprobs)):xa(M)?M.summary_index>0&&((_=p[M.item_id])==null||_.summaryParts.push(M.summary_index),n.enqueue({type:`reasoning-start`,id:`${M.item_id}:${M.summary_index}`,providerMetadata:{openai:{itemId:M.item_id,reasoningEncryptedContent:(y=(v=p[M.item_id])?.encryptedContent)??null}}})):Sa(M)?n.enqueue({type:`reasoning-delta`,id:`${M.item_id}:${M.summary_index}`,delta:M.delta,providerMetadata:{openai:{itemId:M.item_id}}}):ha(M)?(s=Ji({finishReason:(b=M.response.incomplete_details)?.reason,hasFunctionCall:f}),c.inputTokens=M.response.usage.input_tokens,c.outputTokens=M.response.usage.output_tokens,c.totalTokens=M.response.usage.input_tokens+M.response.usage.output_tokens,c.reasoningTokens=(S=(x=M.response.usage.output_tokens_details)?.reasoning_tokens)??void 0,c.cachedInputTokens=(w=(C=M.response.usage.input_tokens_details)?.cached_tokens)??void 0,typeof M.response.service_tier==`string`&&(m=M.response.service_tier)):ba(M)?M.annotation.type===`url_citation`?n.enqueue({type:`source`,sourceType:`url`,id:(D=(E=(T=o.config).generateId)?.call(T))??V(),url:M.annotation.url,title:M.annotation.title}):M.annotation.type===`file_citation`&&n.enqueue({type:`source`,sourceType:`document`,id:(A=(k=(O=o.config).generateId)?.call(O))??V(),mediaType:`text/plain`,title:(te=(ee=M.annotation.quote)??M.annotation.filename)??`Document`,filename:(j=M.annotation.filename)??M.annotation.file_id}):Ca(M)&&n.enqueue({type:`error`,error:M})},flush(e){let t={openai:{responseId:u}};l.length>0&&(t.openai.logprobs=l),m!==void 0&&(t.openai.serviceTier=m),e.enqueue({type:`finish`,finishReason:s,usage:c,providerMetadata:t})}})),request:{body:t},response:{headers:i}}}},ea=n.object({input_tokens:n.number(),input_tokens_details:n.object({cached_tokens:n.number().nullish()}).nullish(),output_tokens:n.number(),output_tokens_details:n.object({reasoning_tokens:n.number().nullish()}).nullish()}),ta=n.object({type:n.literal(`response.output_text.delta`),item_id:n.string(),delta:n.string(),logprobs:Qi.nullish()}),na=n.object({type:n.literal(`error`),code:n.string(),message:n.string(),param:n.string().nullish(),sequence_number:n.number()}),ra=n.object({type:n.enum([`response.completed`,`response.incomplete`]),response:n.object({incomplete_details:n.object({reason:n.string()}).nullish(),usage:ea,service_tier:n.string().nullish()})}),ia=n.object({type:n.literal(`response.created`),response:n.object({id:n.string(),created_at:n.number(),model:n.string(),service_tier:n.string().nullish()})}),aa=n.object({type:n.literal(`response.output_item.added`),output_index:n.number(),item:n.discriminatedUnion(`type`,[n.object({type:n.literal(`message`),id:n.string()}),n.object({type:n.literal(`reasoning`),id:n.string(),encrypted_content:n.string().nullish()}),n.object({type:n.literal(`function_call`),id:n.string(),call_id:n.string(),name:n.string(),arguments:n.string()}),n.object({type:n.literal(`web_search_call`),id:n.string(),status:n.string(),action:n.object({type:n.literal(`search`),query:n.string().optional()}).nullish()}),n.object({type:n.literal(`computer_call`),id:n.string(),status:n.string()}),n.object({type:n.literal(`file_search_call`),id:n.string(),status:n.string(),queries:n.array(n.string()).nullish(),results:n.array(n.object({attributes:n.object({file_id:n.string(),filename:n.string(),score:n.number(),text:n.string()})})).optional()})])}),oa=n.object({type:n.literal(`response.output_item.done`),output_index:n.number(),item:n.discriminatedUnion(`type`,[n.object({type:n.literal(`message`),id:n.string()}),n.object({type:n.literal(`reasoning`),id:n.string(),encrypted_content:n.string().nullish()}),n.object({type:n.literal(`function_call`),id:n.string(),call_id:n.string(),name:n.string(),arguments:n.string(),status:n.literal(`completed`)}),Xi,n.object({type:n.literal(`computer_call`),id:n.string(),status:n.literal(`completed`)}),n.object({type:n.literal(`file_search_call`),id:n.string(),status:n.literal(`completed`),queries:n.array(n.string()).nullish(),results:n.array(n.object({attributes:n.object({file_id:n.string(),filename:n.string(),score:n.number(),text:n.string()})})).nullish()})])}),sa=n.object({type:n.literal(`response.function_call_arguments.delta`),item_id:n.string(),output_index:n.number(),delta:n.string()}),ca=n.object({type:n.literal(`response.output_text.annotation.added`),annotation:n.discriminatedUnion(`type`,[n.object({type:n.literal(`url_citation`),url:n.string(),title:n.string()}),n.object({type:n.literal(`file_citation`),file_id:n.string(),filename:n.string().nullish(),index:n.number().nullish(),start_index:n.number().nullish(),end_index:n.number().nullish(),quote:n.string().nullish()})])}),la=n.object({type:n.literal(`response.reasoning_summary_part.added`),item_id:n.string(),summary_index:n.number()}),ua=n.object({type:n.literal(`response.reasoning_summary_text.delta`),item_id:n.string(),summary_index:n.number(),delta:n.string()}),da=n.union([ta,ra,ia,aa,oa,sa,ca,la,ua,na,n.object({type:n.string()}).loose()]);function fa(e){return e.type===`response.output_text.delta`}function pa(e){return e.type===`response.output_item.done`}function ma(e){return pa(e)&&e.item.type===`reasoning`}function ha(e){return e.type===`response.completed`||e.type===`response.incomplete`}function ga(e){return e.type===`response.created`}function _a(e){return e.type===`response.function_call_arguments.delta`}function va(e){return e.type===`response.output_item.added`}function ya(e){return va(e)&&e.item.type===`reasoning`}function ba(e){return e.type===`response.output_text.annotation.added`}function xa(e){return e.type===`response.reasoning_summary_part.added`}function Sa(e){return e.type===`response.reasoning_summary_text.delta`}function Ca(e){return e.type===`error`}function wa(e){let t=e.startsWith(`o3`)||e.startsWith(`o4-mini`)||e.startsWith(`gpt-5`)&&!e.startsWith(`gpt-5-chat`),n=e.startsWith(`gpt-4`)||e.startsWith(`gpt-5-mini`)||e.startsWith(`gpt-5`)&&!e.startsWith(`gpt-5-nano`)&&!e.startsWith(`gpt-5-chat`)||e.startsWith(`o3`)||e.startsWith(`o4-mini`),r={requiredAutoTruncation:!1,systemMessageMode:`system`,supportsFlexProcessing:t,supportsPriorityProcessing:n};return e.startsWith(`gpt-5-chat`)?{...r,isReasoningModel:!1}:e.startsWith(`o`)||e.startsWith(`gpt-5`)||e.startsWith(`codex-`)||e.startsWith(`computer-use`)?e.startsWith(`o1-mini`)||e.startsWith(`o1-preview`)?{...r,isReasoningModel:!0,systemMessageMode:`remove`}:{...r,isReasoningModel:!0,systemMessageMode:`developer`}:{...r,isReasoningModel:!1}}var Ta=n.object({metadata:n.any().nullish(),parallelToolCalls:n.boolean().nullish(),previousResponseId:n.string().nullish(),store:n.boolean().nullish(),user:n.string().nullish(),reasoningEffort:n.string().nullish(),strictJsonSchema:n.boolean().nullish(),instructions:n.string().nullish(),reasoningSummary:n.string().nullish(),serviceTier:n.enum([`auto`,`flex`,`priority`]).nullish(),include:n.array(n.enum([`reasoning.encrypted_content`,`file_search_call.results`,`message.output_text.logprobs`])).nullish(),textVerbosity:n.enum([`low`,`medium`,`high`]).nullish(),promptCacheKey:n.string().nullish(),safetyIdentifier:n.string().nullish(),logprobs:n.union([n.boolean(),n.number().min(1).max(Zi)]).optional()}),Ea=n.object({instructions:n.string().nullish(),speed:n.number().min(.25).max(4).default(1).nullish()}),Da=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion=`v2`}get provider(){return this.config.provider}async getArgs({text:e,voice:t=`alloy`,outputFormat:n=`mp3`,speed:r,instructions:i,language:a,providerOptions:o}){let s=[],c=await H({provider:`openai`,providerOptions:o,schema:Ea}),l={model:this.modelId,input:e,voice:t,response_format:`mp3`,speed:r,instructions:i};if(n&&([`mp3`,`opus`,`aac`,`flac`,`wav`,`pcm`].includes(n)?l.response_format=n:s.push({type:`unsupported-setting`,setting:`outputFormat`,details:`Unsupported output format: ${n}. Using mp3 instead.`})),c){let e={};for(let t in e){let n=e[t];n!==void 0&&(l[t]=n)}}return a&&s.push({type:`unsupported-setting`,setting:`language`,details:`OpenAI speech models do not support language selection. Language parameter "${a}" was ignored.`}),{requestBody:l,warnings:s}}async doGenerate(e){var t,n,r;let i=(r=(n=(t=this.config._internal)?.currentDate)?.call(t))??new Date,{requestBody:a,warnings:o}=await this.getArgs(e),{value:s,responseHeaders:c,rawValue:l}=await U({url:this.config.url({path:`/audio/speech`,modelId:this.modelId}),headers:B(this.config.headers(),e.headers),body:a,failedResponseHandler:ti,successfulResponseHandler:wt(),abortSignal:e.abortSignal,fetch:this.config.fetch});return{audio:s,warnings:o,request:{body:JSON.stringify(a)},response:{timestamp:i,modelId:this.modelId,headers:c,body:l}}}},Oa=n.object({include:n.array(n.string()).optional(),language:n.string().optional(),prompt:n.string().optional(),temperature:n.number().min(0).max(1).default(0).optional(),timestampGranularities:n.array(n.enum([`word`,`segment`])).default([`segment`]).optional()}),ka={afrikaans:`af`,arabic:`ar`,armenian:`hy`,azerbaijani:`az`,belarusian:`be`,bosnian:`bs`,bulgarian:`bg`,catalan:`ca`,chinese:`zh`,croatian:`hr`,czech:`cs`,danish:`da`,dutch:`nl`,english:`en`,estonian:`et`,finnish:`fi`,french:`fr`,galician:`gl`,german:`de`,greek:`el`,hebrew:`he`,hindi:`hi`,hungarian:`hu`,icelandic:`is`,indonesian:`id`,italian:`it`,japanese:`ja`,kannada:`kn`,kazakh:`kk`,korean:`ko`,latvian:`lv`,lithuanian:`lt`,macedonian:`mk`,malay:`ms`,marathi:`mr`,maori:`mi`,nepali:`ne`,norwegian:`no`,persian:`fa`,polish:`pl`,portuguese:`pt`,romanian:`ro`,russian:`ru`,serbian:`sr`,slovak:`sk`,slovenian:`sl`,spanish:`es`,swahili:`sw`,swedish:`sv`,tagalog:`tl`,tamil:`ta`,thai:`th`,turkish:`tr`,ukrainian:`uk`,urdu:`ur`,vietnamese:`vi`,welsh:`cy`},Aa=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion=`v2`}get provider(){return this.config.provider}async getArgs({audio:e,mediaType:t,providerOptions:n}){let r=[],i=await H({provider:`openai`,providerOptions:n,schema:Oa}),a=new FormData,o=e instanceof Uint8Array?new Blob([e]):new Blob([Nn(e)]);a.append(`model`,this.modelId);let s=et(t);if(a.append(`file`,new File([o],`audio`,{type:t}),`audio.${s}`),i){let e={include:i.include,language:i.language,prompt:i.prompt,response_format:[`gpt-4o-transcribe`,`gpt-4o-mini-transcribe`].includes(this.modelId)?`json`:`verbose_json`,temperature:i.temperature,timestamp_granularities:i.timestampGranularities};for(let[t,n]of Object.entries(e))if(n!=null)if(Array.isArray(n))for(let e of n)a.append(`${t}[]`,String(e));else a.append(t,String(n))}return{formData:a,warnings:r}}async doGenerate(e){var t,n,r,i,a,o,s,c;let l=(r=(n=(t=this.config._internal)?.currentDate)?.call(t))??new Date,{formData:u,warnings:d}=await this.getArgs(e),{value:f,responseHeaders:p,rawValue:m}=await vt({url:this.config.url({path:`/audio/transcriptions`,modelId:this.modelId}),headers:B(this.config.headers(),e.headers),formData:u,failedResponseHandler:ti,successfulResponseHandler:K(ja),abortSignal:e.abortSignal,fetch:this.config.fetch}),h=f.language!=null&&f.language in ka?ka[f.language]:void 0;return{text:f.text,segments:(s=(o=(i=f.segments)?.map(e=>({text:e.text,startSecond:e.start,endSecond:e.end})))??(a=f.words)?.map(e=>({text:e.word,startSecond:e.start,endSecond:e.end})))??[],language:h,durationInSeconds:(c=f.duration)??void 0,warnings:d,response:{timestamp:l,modelId:this.modelId,headers:p,body:m}}}},ja=n.object({text:n.string(),language:n.string().nullish(),duration:n.number().nullish(),words:n.array(n.object({word:n.string(),start:n.number(),end:n.number()})).nullish(),segments:n.array(n.object({id:n.number(),seek:n.number(),start:n.number(),end:n.number(),text:n.string(),tokens:n.array(n.number()),temperature:n.number(),avg_logprob:n.number(),compression_ratio:n.number(),no_speech_prob:n.number()})).nullish()});function Ma(e={}){var t,n;let r=(t=In(e.baseURL))??`https://api.openai.com/v1`,i=(n=e.name)??`openai`,a=()=>({Authorization:`Bearer ${Qe({apiKey:e.apiKey,environmentVariableName:`OPENAI_API_KEY`,description:`OpenAI`})}`,"OpenAI-Organization":e.organization,"OpenAI-Project":e.project,...e.headers}),o=t=>new mi(t,{provider:`${i}.chat`,url:({path:e})=>`${r}${e}`,headers:a,fetch:e.fetch}),s=t=>new Di(t,{provider:`${i}.completion`,url:({path:e})=>`${r}${e}`,headers:a,fetch:e.fetch}),c=t=>new Mi(t,{provider:`${i}.embedding`,url:({path:e})=>`${r}${e}`,headers:a,fetch:e.fetch}),l=t=>new Ii(t,{provider:`${i}.image`,url:({path:e})=>`${r}${e}`,headers:a,fetch:e.fetch}),u=t=>new Aa(t,{provider:`${i}.transcription`,url:({path:e})=>`${r}${e}`,headers:a,fetch:e.fetch}),d=t=>new Da(t,{provider:`${i}.speech`,url:({path:e})=>`${r}${e}`,headers:a,fetch:e.fetch}),f=e=>{if(new.target)throw Error(`The OpenAI model function cannot be called with the new keyword.`);return p(e)},p=t=>new $i(t,{provider:`${i}.responses`,url:({path:e})=>`${r}${e}`,headers:a,fetch:e.fetch,fileIdPrefixes:[`file-`]}),m=function(e){return f(e)};return m.languageModel=f,m.chat=o,m.completion=s,m.responses=p,m.embedding=c,m.textEmbedding=c,m.textEmbeddingModel=c,m.image=l,m.imageModel=l,m.transcription=u,m.transcriptionModel=u,m.speech=d,m.speechModel=d,m.tools=Wi,m}Ma(),n.object({user:n.string().optional(),reasoningEffort:n.string().optional()});var Na=n.object({error:n.object({message:n.string(),type:n.string().nullish(),param:n.any().nullish(),code:n.union([n.string(),n.number()]).nullish()})}),Pa={errorSchema:Na,errorToMessage:e=>e.error.message},Fa=n.object({prompt_tokens:n.number().nullish(),completion_tokens:n.number().nullish(),total_tokens:n.number().nullish(),prompt_tokens_details:n.object({cached_tokens:n.number().nullish()}).nullish(),completion_tokens_details:n.object({reasoning_tokens:n.number().nullish(),accepted_prediction_tokens:n.number().nullish(),rejected_prediction_tokens:n.number().nullish()}).nullish()}).nullish();n.object({id:n.string().nullish(),created:n.number().nullish(),model:n.string().nullish(),choices:n.array(n.object({message:n.object({role:n.literal(`assistant`).nullish(),content:n.string().nullish(),reasoning_content:n.string().nullish(),reasoning:n.string().nullish(),tool_calls:n.array(n.object({id:n.string().nullish(),function:n.object({name:n.string(),arguments:n.string()})})).nullish()}),finish_reason:n.string().nullish()})),usage:Fa}),n.object({echo:n.boolean().optional(),logitBias:n.record(n.string(),n.number()).optional(),suffix:n.string().optional(),user:n.string().optional()});var Ia=n.object({prompt_tokens:n.number(),completion_tokens:n.number(),total_tokens:n.number()});n.object({id:n.string().nullish(),created:n.number().nullish(),model:n.string().nullish(),choices:n.array(n.object({text:n.string(),finish_reason:n.string()})),usage:Ia.nullish()}),n.object({dimensions:n.number().optional(),user:n.string().optional()}),n.object({data:n.array(n.object({embedding:n.array(n.number())})),usage:n.object({prompt_tokens:n.number()}).nullish(),providerMetadata:n.record(n.string(),n.record(n.string(),n.any())).optional()});var La=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion=`v2`,this.maxImagesPerCall=10}get provider(){return this.config.provider}async doGenerate({prompt:e,n:t,size:n,aspectRatio:r,seed:i,providerOptions:a,headers:o,abortSignal:s}){var c,l,u,d,f;let p=[];r!=null&&p.push({type:`unsupported-setting`,setting:`aspectRatio`,details:"This model does not support aspect ratio. Use `size` instead."}),i!=null&&p.push({type:`unsupported-setting`,setting:`seed`});let m=(u=(l=(c=this.config._internal)?.currentDate)?.call(c))??new Date,{value:h,responseHeaders:g}=await U({url:this.config.url({path:`/images/generations`,modelId:this.modelId}),headers:B(this.config.headers(),o),body:{model:this.modelId,prompt:e,n:t,size:n,...(d=a.openai)??{},response_format:`b64_json`},failedResponseHandler:St((f=this.config.errorStructure)??Pa),successfulResponseHandler:K(Ra),abortSignal:s,fetch:this.config.fetch});return{images:h.data.map(e=>e.b64_json),warnings:p,response:{timestamp:m,modelId:this.modelId,headers:g}}}},Ra=n.object({data:n.array(n.object({b64_json:n.string()}))});function za(e){let t=[],n=[];for(let{role:n,content:r}of e)switch(n){case`system`:t.push({role:`system`,content:r});break;case`user`:if(r.length===1&&r[0].type===`text`){t.push({role:`user`,content:r[0].text});break}t.push({role:`user`,content:r.map(e=>{switch(e.type){case`text`:return{type:`text`,text:e.text};case`file`:if(e.mediaType.startsWith(`image/`)){let t=e.mediaType===`image/*`?`image/jpeg`:e.mediaType;return{type:`image_url`,image_url:{url:e.data instanceof URL?e.data.toString():`data:${t};base64,${Fn(e.data)}`}}}else throw new z({functionality:`file part media type ${e.mediaType}`})}})});break;case`assistant`:{let e=``,n=[];for(let t of r)switch(t.type){case`text`:e+=t.text;break;case`tool-call`:n.push({id:t.toolCallId,type:`function`,function:{name:t.toolName,arguments:JSON.stringify(t.input)}});break}t.push({role:`assistant`,content:e,tool_calls:n.length>0?n:void 0});break}case`tool`:for(let e of r){let n=e.output,r;switch(n.type){case`text`:case`error-text`:r=n.value;break;case`content`:case`json`:case`error-json`:r=JSON.stringify(n.value);break}t.push({role:`tool`,tool_call_id:e.toolCallId,content:r})}break;default:{let e=n;throw Error(`Unsupported role: ${e}`)}}return{messages:t,warnings:n}}function Ba({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 Va(e){switch(e){case`stop`:return`stop`;case`length`:return`length`;case`tool_calls`:case`function_call`:return`tool-calls`;case`content_filter`:return`content-filter`;default:return`unknown`}}var Ha=n.object({type:n.literal(`web`),country:n.string().length(2).optional(),excludedWebsites:n.array(n.string()).max(5).optional(),allowedWebsites:n.array(n.string()).max(5).optional(),safeSearch:n.boolean().optional()}),Ua=n.object({type:n.literal(`x`),xHandles:n.array(n.string()).optional()}),Wa=n.object({type:n.literal(`news`),country:n.string().length(2).optional(),excludedWebsites:n.array(n.string()).max(5).optional(),safeSearch:n.boolean().optional()}),Ga=n.object({type:n.literal(`rss`),links:n.array(n.string().url()).max(1)}),Ka=n.discriminatedUnion(`type`,[Ha,Ua,Wa,Ga]),qa=n.object({reasoningEffort:n.enum([`low`,`high`]).optional(),searchParameters:n.object({mode:n.enum([`off`,`auto`,`on`]),returnCitations:n.boolean().optional(),fromDate:n.string().optional(),toDate:n.string().optional(),maxSearchResults:n.number().min(1).max(50).optional(),sources:n.array(Ka).optional()}).optional()}),Ja=n.object({error:n.object({message:n.string(),type:n.string().nullish(),param:n.any().nullish(),code:n.union([n.string(),n.number()]).nullish()})}),Ya=St({errorSchema:Ja,errorToMessage:e=>e.error.message});function Xa({tools:e,toolChoice:t}){e=e?.length?e:void 0;let n=[];if(e==null)return{tools:void 0,toolChoice:void 0,toolWarnings:n};let r=[];for(let t of e)t.type===`provider-defined`?n.push({type:`unsupported-tool`,tool:t}):r.push({type:`function`,function:{name:t.name,description:t.description,parameters:t.inputSchema}});if(t==null)return{tools:r,toolChoice:void 0,toolWarnings:n};let i=t.type;switch(i){case`auto`:case`none`:return{tools:r,toolChoice:i,toolWarnings:n};case`required`:return{tools:r,toolChoice:`required`,toolWarnings:n};case`tool`:return{tools:r,toolChoice:{type:`function`,function:{name:t.toolName}},toolWarnings:n};default:{let e=i;throw new z({functionality:`tool choice type: ${e}`})}}}var Za=class{constructor(e,t){this.specificationVersion=`v2`,this.supportedUrls={"image/*":[/^https?:\/\/.*$/]},this.modelId=e,this.config=t}get provider(){return this.config.provider}async getArgs({prompt:e,maxOutputTokens:t,temperature:n,topP:r,topK:i,frequencyPenalty:a,presencePenalty:o,stopSequences:s,seed:c,responseFormat:l,providerOptions:u,tools:d,toolChoice:f}){var p,m,h;let g=[],_=(p=await H({provider:`xai`,providerOptions:u,schema:qa}))??{};i!=null&&g.push({type:`unsupported-setting`,setting:`topK`}),a!=null&&g.push({type:`unsupported-setting`,setting:`frequencyPenalty`}),o!=null&&g.push({type:`unsupported-setting`,setting:`presencePenalty`}),s!=null&&g.push({type:`unsupported-setting`,setting:`stopSequences`}),l!=null&&l.type===`json`&&l.schema!=null&&g.push({type:`unsupported-setting`,setting:`responseFormat`,details:`JSON response format schema is not supported`});let{messages:v,warnings:y}=za(e);g.push(...y);let{tools:b,toolChoice:x,toolWarnings:S}=Xa({tools:d,toolChoice:f});g.push(...S);let C={model:this.modelId,max_tokens:t,temperature:n,top_p:r,seed:c,reasoning_effort:_.reasoningEffort,response_format:l?.type===`json`?l.schema==null?{type:`json_object`}:{type:`json_schema`,json_schema:{name:(m=l.name)??`response`,schema:l.schema,strict:!0}}:void 0,search_parameters:_.searchParameters?{mode:_.searchParameters.mode,return_citations:_.searchParameters.returnCitations,from_date:_.searchParameters.fromDate,to_date:_.searchParameters.toDate,max_search_results:_.searchParameters.maxSearchResults,sources:(h=_.searchParameters.sources)?.map(e=>({type:e.type,...e.type===`web`&&{country:e.country,excluded_websites:e.excludedWebsites,allowed_websites:e.allowedWebsites,safe_search:e.safeSearch},...e.type===`x`&&{x_handles:e.xHandles},...e.type===`news`&&{country:e.country,excluded_websites:e.excludedWebsites,safe_search:e.safeSearch},...e.type===`rss`&&{links:e.links}}))}:void 0,messages:v,tools:b,tool_choice:x};return{args:C,warnings:g}}async doGenerate(e){var t,n,r;let{args:i,warnings:a}=await this.getArgs(e),{responseHeaders:o,value:s,rawValue:c}=await U({url:`${(t=this.config.baseURL)??`https://api.x.ai/v1`}/chat/completions`,headers:B(this.config.headers(),e.headers),body:i,failedResponseHandler:Ya,successfulResponseHandler:K($a),abortSignal:e.abortSignal,fetch:this.config.fetch}),l=s.choices[0],u=[];if(l.message.content!=null&&l.message.content.length>0){let e=l.message.content,t=i.messages[i.messages.length-1];t?.role===`assistant`&&e===t.content&&(e=``),e.length>0&&u.push({type:`text`,text:e})}if(l.message.reasoning_content!=null&&l.message.reasoning_content.length>0&&u.push({type:`reasoning`,text:l.message.reasoning_content}),l.message.tool_calls!=null)for(let e of l.message.tool_calls)u.push({type:`tool-call`,toolCallId:e.id,toolName:e.function.name,input:e.function.arguments});if(s.citations!=null)for(let e of s.citations)u.push({type:`source`,sourceType:`url`,id:this.config.generateId(),url:e});return{content:u,finishReason:Va(l.finish_reason),usage:{inputTokens:s.usage.prompt_tokens,outputTokens:s.usage.completion_tokens,totalTokens:s.usage.total_tokens,reasoningTokens:(r=(n=s.usage.completion_tokens_details)?.reasoning_tokens)??void 0},request:{body:i},response:{...Ba(s),headers:o,body:c},warnings:a}}async doStream(e){var t;let{args:n,warnings:r}=await this.getArgs(e),i={...n,stream:!0,stream_options:{include_usage:!0}},{responseHeaders:a,value:o}=await U({url:`${(t=this.config.baseURL)??`https://api.x.ai/v1`}/chat/completions`,headers:B(this.config.headers(),e.headers),body:i,failedResponseHandler:Ya,successfulResponseHandler:Ct(eo),abortSignal:e.abortSignal,fetch:this.config.fetch}),s=`unknown`,c={inputTokens:void 0,outputTokens:void 0,totalTokens:void 0},l={},u={},d=this;return{stream:o.pipeThrough(new TransformStream({start(e){e.enqueue({type:`stream-start`,warnings:r})},transform(t,n){var r,a;if(e.includeRawChunks&&n.enqueue({type:`raw`,rawValue:t.rawValue}),!t.success){n.enqueue({type:`error`,error:t.error});return}let o=t.value;if(n.enqueue({type:`response-metadata`,...Ba(o)}),o.citations!=null)for(let e of o.citations)n.enqueue({type:`source`,sourceType:`url`,id:d.config.generateId(),url:e});o.usage!=null&&(c.inputTokens=o.usage.prompt_tokens,c.outputTokens=o.usage.completion_tokens,c.totalTokens=o.usage.total_tokens,c.reasoningTokens=(a=(r=o.usage.completion_tokens_details)?.reasoning_tokens)??void 0);let f=o.choices[0];if(f?.finish_reason!=null&&(s=Va(f.finish_reason)),f?.delta==null)return;let p=f.delta,m=f.index;if(p.content!=null&&p.content.length>0){let e=p.content,t=i.messages[i.messages.length-1];if(t?.role===`assistant`&&e===t.content)return;let r=`text-${o.id||m}`;l[r]??(l[r]={type:`text`},n.enqueue({type:`text-start`,id:r})),n.enqueue({type:`text-delta`,id:r,delta:e})}if(p.reasoning_content!=null&&p.reasoning_content.length>0){let e=`reasoning-${o.id||m}`;if(u[e]===p.reasoning_content)return;u[e]=p.reasoning_content,l[e]??(l[e]={type:`reasoning`},n.enqueue({type:`reasoning-start`,id:e})),n.enqueue({type:`reasoning-delta`,id:e,delta:p.reasoning_content})}if(p.tool_calls!=null)for(let e of p.tool_calls){let t=e.id;n.enqueue({type:`tool-input-start`,id:t,toolName:e.function.name}),n.enqueue({type:`tool-input-delta`,id:t,delta:e.function.arguments}),n.enqueue({type:`tool-input-end`,id:t}),n.enqueue({type:`tool-call`,toolCallId:t,toolName:e.function.name,input:e.function.arguments})}},flush(e){for(let[t,n]of Object.entries(l))e.enqueue({type:n.type===`text`?`text-end`:`reasoning-end`,id:t});e.enqueue({type:`finish`,finishReason:s,usage:c})}})),request:{body:i},response:{headers:a}}}},Qa=n.object({prompt_tokens:n.number(),completion_tokens:n.number(),total_tokens:n.number(),completion_tokens_details:n.object({reasoning_tokens:n.number().nullish()}).nullish()}),$a=n.object({id:n.string().nullish(),created:n.number().nullish(),model:n.string().nullish(),choices:n.array(n.object({message:n.object({role:n.literal(`assistant`),content:n.string().nullish(),reasoning_content:n.string().nullish(),tool_calls:n.array(n.object({id:n.string(),type:n.literal(`function`),function:n.object({name:n.string(),arguments:n.string()})})).nullish()}),index:n.number(),finish_reason:n.string().nullish()})),object:n.literal(`chat.completion`),usage:Qa,citations:n.array(n.string().url()).nullish()}),eo=n.object({id:n.string().nullish(),created:n.number().nullish(),model:n.string().nullish(),choices:n.array(n.object({delta:n.object({role:n.enum([`assistant`]).optional(),content:n.string().nullish(),reasoning_content:n.string().nullish(),tool_calls:n.array(n.object({id:n.string(),type:n.literal(`function`),function:n.object({name:n.string(),arguments:n.string()})})).nullish()}),finish_reason:n.string().nullish(),index:n.number()})),usage:Qa.nullish(),citations:n.array(n.string().url()).nullish()}),to={errorSchema:Ja,errorToMessage:e=>e.error.message};function no(e={}){var t;let n=In((t=e.baseURL)??`https://api.x.ai/v1`),r=()=>({Authorization:`Bearer ${Qe({apiKey:e.apiKey,environmentVariableName:`XAI_API_KEY`,description:`xAI API key`})}`,...e.headers}),i=t=>new Za(t,{provider:`xai.chat`,baseURL:n,headers:r,generateId:V,fetch:e.fetch}),a=t=>new La(t,{provider:`xai.image`,url:({path:e})=>`${n}${e}`,headers:r,fetch:e.fetch,errorStructure:to}),o=e=>i(e);return o.languageModel=i,o.chat=i,o.textEmbeddingModel=e=>{throw new ye({modelId:e,modelType:`textEmbeddingModel`})},o.imageModel=a,o.image=a,o}no();var ro=`vercel.ai.gateway.error`,io=Symbol.for(ro),ao,oo,Z=class e extends (oo=Error,ao=io,oo){constructor({message:e,statusCode:t=500,cause:n}){super(e),this[ao]=!0,this.statusCode=t,this.cause=n}static isInstance(t){return e.hasMarker(t)}static hasMarker(e){return typeof e==`object`&&!!e&&io in e&&e[io]===!0}},so=`GatewayAuthenticationError`,co=`vercel.ai.gateway.error.${so}`,lo=Symbol.for(co),uo,fo,po=class e extends (fo=Z,uo=lo,fo){constructor({message:e=`Authentication failed`,statusCode:t=401,cause:n}={}){super({message:e,statusCode:t,cause:n}),this[uo]=!0,this.name=so,this.type=`authentication_error`}static isInstance(e){return Z.hasMarker(e)&&lo in e}static createContextualError({apiKeyProvided:t,oidcTokenProvided:n,message:r=`Authentication failed`,statusCode:i=401,cause:a}){let o;return o=t?`AI Gateway authentication failed: Invalid API key provided.
26
-
27
- The token is expected to be provided via the 'apiKey' option or 'AI_GATEWAY_API_KEY' environment variable.`:n?`AI Gateway authentication failed: Invalid OIDC token provided.
28
-
29
- The token is expected to be provided via the 'VERCEL_OIDC_TOKEN' environment variable. It expires every 12 hours.
30
- - make sure your Vercel project settings have OIDC enabled
31
- - if running locally with 'vercel dev', the token is automatically obtained and refreshed
32
- - if running locally with your own dev server, run 'vercel env pull' to fetch the token
33
- - in production/preview, the token is automatically obtained and refreshed
34
-
35
- Alternative: Provide an API key via 'apiKey' option or 'AI_GATEWAY_API_KEY' environment variable.`:`AI Gateway authentication failed: No authentication provided.
36
-
37
- Provide either an API key or OIDC token.
38
-
39
- API key instructions:
40
-
41
- The token is expected to be provided via the 'apiKey' option or 'AI_GATEWAY_API_KEY' environment variable.
42
-
43
- OIDC token instructions:
44
-
45
- The token is expected to be provided via the 'VERCEL_OIDC_TOKEN' environment variable. It expires every 12 hours.
46
- - make sure your Vercel project settings have OIDC enabled
47
- - if running locally with 'vercel dev', the token is automatically obtained and refreshed
48
- - if running locally with your own dev server, run 'vercel env pull' to fetch the token
49
- - in production/preview, the token is automatically obtained and refreshed`,new e({message:o,statusCode:i,cause:a})}},mo=`GatewayInvalidRequestError`,ho=`vercel.ai.gateway.error.${mo}`,go=Symbol.for(ho),_o,vo,yo=class extends (vo=Z,_o=go,vo){constructor({message:e=`Invalid request`,statusCode:t=400,cause:n}={}){super({message:e,statusCode:t,cause:n}),this[_o]=!0,this.name=mo,this.type=`invalid_request_error`}static isInstance(e){return Z.hasMarker(e)&&go in e}},bo=`GatewayRateLimitError`,xo=`vercel.ai.gateway.error.${bo}`,So=Symbol.for(xo),Co,wo,To=class extends (wo=Z,Co=So,wo){constructor({message:e=`Rate limit exceeded`,statusCode:t=429,cause:n}={}){super({message:e,statusCode:t,cause:n}),this[Co]=!0,this.name=bo,this.type=`rate_limit_exceeded`}static isInstance(e){return Z.hasMarker(e)&&So in e}},Eo=`GatewayModelNotFoundError`,Do=`vercel.ai.gateway.error.${Eo}`,Oo=Symbol.for(Do),ko=n.object({modelId:n.string()}),Ao,jo,Mo=class extends (jo=Z,Ao=Oo,jo){constructor({message:e=`Model not found`,statusCode:t=404,modelId:n,cause:r}={}){super({message:e,statusCode:t,cause:r}),this[Ao]=!0,this.name=Eo,this.type=`model_not_found`,this.modelId=n}static isInstance(e){return Z.hasMarker(e)&&Oo in e}},No=`GatewayInternalServerError`,Po=`vercel.ai.gateway.error.${No}`,Fo=Symbol.for(Po),Io,Lo,Ro=class extends (Lo=Z,Io=Fo,Lo){constructor({message:e=`Internal server error`,statusCode:t=500,cause:n}={}){super({message:e,statusCode:t,cause:n}),this[Io]=!0,this.name=No,this.type=`internal_server_error`}static isInstance(e){return Z.hasMarker(e)&&Fo in e}},zo=`GatewayResponseError`,Bo=`vercel.ai.gateway.error.${zo}`,Vo=Symbol.for(Bo),Ho,Uo,Wo=class extends (Uo=Z,Ho=Vo,Uo){constructor({message:e=`Invalid response from Gateway`,statusCode:t=502,response:n,validationError:r,cause:i}={}){super({message:e,statusCode:t,cause:i}),this[Ho]=!0,this.name=zo,this.type=`response_error`,this.response=n,this.validationError=r}static isInstance(e){return Z.hasMarker(e)&&Vo in e}};function Go({response:e,statusCode:t,defaultMessage:n=`Gateway request failed`,cause:r,authMethod:i}){let a=Ko.safeParse(e);if(!a.success)return new Wo({message:`Invalid error response format: ${n}`,statusCode:t,response:e,validationError:a.error,cause:r});let o=a.data,s=o.error.type,c=o.error.message;switch(s){case`authentication_error`:return po.createContextualError({apiKeyProvided:i===`api-key`,oidcTokenProvided:i===`oidc`,statusCode:t,cause:r});case`invalid_request_error`:return new yo({message:c,statusCode:t,cause:r});case`rate_limit_exceeded`:return new To({message:c,statusCode:t,cause:r});case`model_not_found`:{let e=ko.safeParse(o.error.param);return new Mo({message:c,statusCode:t,modelId:e.success?e.data.modelId:void 0,cause:r})}case`internal_server_error`:return new Ro({message:c,statusCode:t,cause:r});default:return new Ro({message:c,statusCode:t,cause:r})}}var Ko=n.object({error:n.object({message:n.string(),type:n.string().nullish(),param:n.unknown().nullish(),code:n.union([n.string(),n.number()]).nullish()})});function qo(e,t){var n;return Z.isInstance(e)?e:p.isInstance(e)?Go({response:Jo(e),statusCode:(n=e.statusCode)??500,defaultMessage:`Gateway request failed`,cause:e,authMethod:t}):Go({response:{},statusCode:500,defaultMessage:e instanceof Error?`Gateway request failed: ${e.message}`:`Unknown Gateway error`,cause:e,authMethod:t})}function Jo(e){if(e.data!==void 0)return e.data;if(e.responseBody!=null)try{return JSON.parse(e.responseBody)}catch{return e.responseBody}return{}}var Yo=`ai-gateway-auth-method`;function Xo(e){let t=Zo.safeParse(e[Yo]);return t.success?t.data:void 0}var Zo=n.union([n.literal(`api-key`),n.literal(`oidc`)]),Qo=class{constructor(e){this.config=e}async getAvailableModels(){try{let{value:e}=await Xe({url:`${this.config.baseURL}/config`,headers:await G(this.config.headers()),successfulResponseHandler:K(ns),failedResponseHandler:St({errorSchema:n.any(),errorToMessage:e=>e}),fetch:this.config.fetch});return e}catch(e){throw qo(e)}}},$o=n.object({specificationVersion:n.literal(`v2`),provider:n.string(),modelId:n.string()}),es=n.object({input:n.string(),output:n.string(),input_cache_read:n.string().nullish(),input_cache_write:n.string().nullish()}).transform(({input:e,output:t,input_cache_read:n,input_cache_write:r})=>({input:e,output:t,...n?{cachedInputTokens:n}:{},...r?{cacheCreationInputTokens:r}:{}})),ts=n.object({id:n.string(),name:n.string(),description:n.string().nullish(),pricing:es.nullish(),specification:$o,modelType:n.enum([`language`,`embedding`,`image`]).nullish()}),ns=n.object({models:n.array(ts)}),rs=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion=`v2`,this.supportedUrls={"*/*":[/.*/]}}get provider(){return this.config.provider}async getArgs(e){let{abortSignal:t,...n}=e;return{args:this.maybeEncodeFileParts(n),warnings:[]}}async doGenerate(e){let{args:t,warnings:r}=await this.getArgs(e),{abortSignal:i}=e,a=await G(this.config.headers());try{let{responseHeaders:o,value:s,rawValue:c}=await U({url:this.getUrl(),headers:B(a,e.headers,this.getModelConfigHeaders(this.modelId,!1),await G(this.config.o11yHeaders)),body:t,successfulResponseHandler:K(n.any()),failedResponseHandler:St({errorSchema:n.any(),errorToMessage:e=>e}),...i&&{abortSignal:i},fetch:this.config.fetch});return{...s,request:{body:t},response:{headers:o,body:c},warnings:r}}catch(e){throw qo(e,Xo(a))}}async doStream(e){let{args:t,warnings:r}=await this.getArgs(e),{abortSignal:i}=e,a=await G(this.config.headers());try{let{value:o,responseHeaders:s}=await U({url:this.getUrl(),headers:B(a,e.headers,this.getModelConfigHeaders(this.modelId,!0),await G(this.config.o11yHeaders)),body:t,successfulResponseHandler:Ct(n.any()),failedResponseHandler:St({errorSchema:n.any(),errorToMessage:e=>e}),...i&&{abortSignal:i},fetch:this.config.fetch});return{stream:o.pipeThrough(new TransformStream({start(e){r.length>0&&e.enqueue({type:`stream-start`,warnings:r})},transform(t,n){if(t.success){let r=t.value;if(r.type===`raw`&&!e.includeRawChunks)return;r.type===`response-metadata`&&r.timestamp&&typeof r.timestamp==`string`&&(r.timestamp=new Date(r.timestamp)),n.enqueue(r)}else n.error(t.error)}})),request:{body:t},response:{headers:s}}}catch(e){throw qo(e,Xo(a))}}isFilePart(e){return e&&typeof e==`object`&&`type`in e&&e.type===`file`}maybeEncodeFileParts(e){for(let t of e.prompt)for(let e of t.content)if(this.isFilePart(e)){let t=e;if(t.data instanceof Uint8Array){let e=Uint8Array.from(t.data),n=Buffer.from(e).toString(`base64`);t.data=new URL(`data:${t.mediaType||`application/octet-stream`};base64,${n}`)}}return e}getUrl(){return`${this.config.baseURL}/language-model`}getModelConfigHeaders(e,t){return{"ai-language-model-specification-version":`2`,"ai-language-model-id":e,"ai-language-model-streaming":String(t)}}},os=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion=`v2`,this.maxEmbeddingsPerCall=2048,this.supportsParallelCalls=!0}get provider(){return this.config.provider}async doEmbed({values:e,headers:t,abortSignal:r,providerOptions:i}){var a;let o=await G(this.config.headers());try{let{responseHeaders:s,value:c,rawValue:l}=await U({url:this.getUrl(),headers:B(o,t??{},this.getModelConfigHeaders(),await G(this.config.o11yHeaders)),body:{input:e.length===1?e[0]:e,...i?{providerOptions:i}:{}},successfulResponseHandler:K(ss),failedResponseHandler:St({errorSchema:n.any(),errorToMessage:e=>e}),...r&&{abortSignal:r},fetch:this.config.fetch});return{embeddings:c.embeddings,usage:(a=c.usage)??void 0,providerMetadata:c.providerMetadata,response:{headers:s,body:l}}}catch(e){throw qo(e,Xo(o))}}getUrl(){return`${this.config.baseURL}/embedding-model`}getModelConfigHeaders(){return{"ai-embedding-model-specification-version":`2`,"ai-model-id":this.modelId}}},ss=n.object({embeddings:n.array(n.array(n.number())),usage:n.object({tokens:n.number()}).nullish(),providerMetadata:n.record(n.string(),n.record(n.string(),n.unknown())).optional()});async function cs(){var e,t;let n=(t=(e=ds().headers)?.[`x-vercel-oidc-token`])??process.env.VERCEL_OIDC_TOKEN;if(!n)throw new po({message:`OIDC token not available`,statusCode:401});return n}async function ls(){var e;return(e=ds().headers)?.[`x-vercel-id`]}var us=Symbol.for(`@vercel/request-context`);function ds(){var e,t,n;let r=globalThis;return(n=(t=(e=r[us])?.get)?.call(e))??{}}var fs=`0.0.1`;function ps(e={}){var t,n;let r=null,i=null,a=(t=e.metadataCacheRefreshMillis)??1e3*60*5,o=0,s=(n=In(e.baseURL))??`https://ai-gateway.vercel.sh/v1/ai`,c=async()=>{let t=await hs(e);if(t)return{Authorization:`Bearer ${t.token}`,"ai-gateway-protocol-version":fs,[Yo]:t.authMethod,...e.headers};throw po.createContextualError({apiKeyProvided:!1,oidcTokenProvided:!1,statusCode:401})},l=()=>{let e=$e({settingValue:void 0,environmentVariableName:`VERCEL_DEPLOYMENT_ID`}),t=$e({settingValue:void 0,environmentVariableName:`VERCEL_ENV`}),n=$e({settingValue:void 0,environmentVariableName:`VERCEL_REGION`});return async()=>{let r=await ls();return{...e&&{"ai-o11y-deployment-id":e},...t&&{"ai-o11y-environment":t},...n&&{"ai-o11y-region":n},...r&&{"ai-o11y-request-id":r}}}},u=t=>new rs(t,{provider:`gateway`,baseURL:s,headers:c,fetch:e.fetch,o11yHeaders:l()}),d=async()=>{var t,n,l;let u=(l=(n=(t=e._internal)?.currentDate)?.call(t).getTime())??Date.now();return(!r||u-o>a)&&(o=u,r=new Qo({baseURL:s,headers:c,fetch:e.fetch}).getAvailableModels().then(e=>(i=e,e)).catch(async e=>{throw qo(e,Xo(await c()))})),i?Promise.resolve(i):r},f=function(e){if(new.target)throw Error(`The Gateway Provider model function cannot be called with the new keyword.`);return u(e)};return f.getAvailableModels=d,f.imageModel=e=>{throw new ye({modelId:e,modelType:`imageModel`})},f.languageModel=u,f.textEmbeddingModel=t=>new os(t,{provider:`gateway`,baseURL:s,headers:c,fetch:e.fetch,o11yHeaders:l()}),f}var ms=ps();async function hs(e){let t=$e({settingValue:e.apiKey,environmentVariableName:`AI_GATEWAY_API_KEY`});if(t)return{token:t,authMethod:`api-key`};try{let e=await cs();return{token:e,authMethod:`oidc`}}catch{return null}}var gs=typeof globalThis==`object`?globalThis:global,_s=`1.9.0`,vs=/^(\d+)\.(\d+)\.(\d+)(-(.+))?$/;function ys(e){var t=new Set([e]),n=new Set,r=e.match(vs);if(!r)return function(){return!1};var i={major:+r[1],minor:+r[2],patch:+r[3],prerelease:r[4]};if(i.prerelease!=null)return function(t){return t===e};function a(e){return n.add(e),!1}function o(e){return t.add(e),!0}return function(e){if(t.has(e))return!0;if(n.has(e))return!1;var r=e.match(vs);if(!r)return a(e);var s={major:+r[1],minor:+r[2],patch:+r[3],prerelease:r[4]};return s.prerelease!=null||i.major!==s.major?a(e):i.major===0?i.minor===s.minor&&i.patch<=s.patch?o(e):a(e):i.minor<=s.minor?o(e):a(e)}}var bs=ys(_s),xs=_s.split(`.`)[0],Ss=Symbol.for(`opentelemetry.js.api.`+xs),Cs=gs;function ws(e,t,n,r){var i;r===void 0&&(r=!1);var a=Cs[Ss]=(i=Cs[Ss])??{version:_s};if(!r&&a[e]){var o=Error(`@opentelemetry/api: Attempted duplicate registration of API: `+e);return n.error(o.stack||o.message),!1}if(a.version!==_s){var o=Error(`@opentelemetry/api: Registration of version v`+a.version+` for `+e+` does not match previously registered API v`+_s);return n.error(o.stack||o.message),!1}return a[e]=t,n.debug(`@opentelemetry/api: Registered a global for `+e+` v`+_s+`.`),!0}function Ts(e){var t,n,r=(t=Cs[Ss])?.version;if(!(!r||!bs(r)))return(n=Cs[Ss])?.[e]}function Es(e,t){t.debug(`@opentelemetry/api: Unregistering a global for `+e+` v`+_s+`.`);var n=Cs[Ss];n&&delete n[e]}var Ds=function(e,t){var n=typeof Symbol==`function`&&e[Symbol.iterator];if(!n)return e;var r=n.call(e),i,a=[],o;try{for(;(t===void 0||t-- >0)&&!(i=r.next()).done;)a.push(i.value)}catch(e){o={error:e}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(o)throw o.error}}return a},Os=function(e,t,n){if(n||arguments.length===2)for(var r=0,i=t.length,a;r<i;r++)(a||!(r in t))&&(a||=Array.prototype.slice.call(t,0,r),a[r]=t[r]);return e.concat(a||Array.prototype.slice.call(t))},ks=function(){function e(e){this._namespace=e.namespace||`DiagComponentLogger`}return e.prototype.debug=function(){var e=[...arguments];return As(`debug`,this._namespace,e)},e.prototype.error=function(){var e=[...arguments];return As(`error`,this._namespace,e)},e.prototype.info=function(){var e=[...arguments];return As(`info`,this._namespace,e)},e.prototype.warn=function(){var e=[...arguments];return As(`warn`,this._namespace,e)},e.prototype.verbose=function(){var e=[...arguments];return As(`verbose`,this._namespace,e)},e}();function As(e,t,n){var r=Ts(`diag`);if(r)return n.unshift(t),r[e].apply(r,Os([],Ds(n),!1))}var Q;(function(e){e[e.NONE=0]=`NONE`,e[e.ERROR=30]=`ERROR`,e[e.WARN=50]=`WARN`,e[e.INFO=60]=`INFO`,e[e.DEBUG=70]=`DEBUG`,e[e.VERBOSE=80]=`VERBOSE`,e[e.ALL=9999]=`ALL`})(Q||={});function js(e,t){e<Q.NONE?e=Q.NONE:e>Q.ALL&&(e=Q.ALL),t||={};function n(n,r){var i=t[n];return typeof i==`function`&&e>=r?i.bind(t):function(){}}return{error:n(`error`,Q.ERROR),warn:n(`warn`,Q.WARN),info:n(`info`,Q.INFO),debug:n(`debug`,Q.DEBUG),verbose:n(`verbose`,Q.VERBOSE)}}var Ms=function(e,t){var n=typeof Symbol==`function`&&e[Symbol.iterator];if(!n)return e;var r=n.call(e),i,a=[],o;try{for(;(t===void 0||t-- >0)&&!(i=r.next()).done;)a.push(i.value)}catch(e){o={error:e}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(o)throw o.error}}return a},Ns=function(e,t,n){if(n||arguments.length===2)for(var r=0,i=t.length,a;r<i;r++)(a||!(r in t))&&(a||=Array.prototype.slice.call(t,0,r),a[r]=t[r]);return e.concat(a||Array.prototype.slice.call(t))},Ps=`diag`,Fs=function(){function e(){function e(e){return function(){var t=[...arguments],n=Ts(`diag`);if(n)return n[e].apply(n,Ns([],Ms(t),!1))}}var t=this,n=function(e,n){var r,i,a;if(n===void 0&&(n={logLevel:Q.INFO}),e===t){var o=Error(`Cannot use diag as the logger for itself. Please use a DiagLogger implementation like ConsoleDiagLogger or a custom implementation`);return t.error((r=o.stack)??o.message),!1}typeof n==`number`&&(n={logLevel:n});var s=Ts(`diag`),c=js((i=n.logLevel)??Q.INFO,e);if(s&&!n.suppressOverrideMessage){var l=(a=Error().stack)??`<failed to generate stacktrace>`;s.warn(`Current logger will be overwritten from `+l),c.warn(`Current logger will overwrite one already registered from `+l)}return ws(`diag`,c,t,!0)};t.setLogger=n,t.disable=function(){Es(Ps,t)},t.createComponentLogger=function(e){return new ks(e)},t.verbose=e(`verbose`),t.debug=e(`debug`),t.info=e(`info`),t.warn=e(`warn`),t.error=e(`error`)}return e.instance=function(){return this._instance||=new e,this._instance},e}();function Is(e){return Symbol.for(e)}var Ls=function(){function e(t){var n=this;n._currentContext=t?new Map(t):new Map,n.getValue=function(e){return n._currentContext.get(e)},n.setValue=function(t,r){var i=new e(n._currentContext);return i._currentContext.set(t,r),i},n.deleteValue=function(t){var r=new e(n._currentContext);return r._currentContext.delete(t),r}}return e}(),Rs=new Ls,zs=function(e,t){var n=typeof Symbol==`function`&&e[Symbol.iterator];if(!n)return e;var r=n.call(e),i,a=[],o;try{for(;(t===void 0||t-- >0)&&!(i=r.next()).done;)a.push(i.value)}catch(e){o={error:e}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(o)throw o.error}}return a},Bs=function(e,t,n){if(n||arguments.length===2)for(var r=0,i=t.length,a;r<i;r++)(a||!(r in t))&&(a||=Array.prototype.slice.call(t,0,r),a[r]=t[r]);return e.concat(a||Array.prototype.slice.call(t))},Vs=function(){function e(){}return e.prototype.active=function(){return Rs},e.prototype.with=function(e,t,n){var r=[...arguments].slice(3);return t.call.apply(t,Bs([n],zs(r),!1))},e.prototype.bind=function(e,t){return t},e.prototype.enable=function(){return this},e.prototype.disable=function(){return this},e}(),Hs=function(e,t){var n=typeof Symbol==`function`&&e[Symbol.iterator];if(!n)return e;var r=n.call(e),i,a=[],o;try{for(;(t===void 0||t-- >0)&&!(i=r.next()).done;)a.push(i.value)}catch(e){o={error:e}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(o)throw o.error}}return a},Us=function(e,t,n){if(n||arguments.length===2)for(var r=0,i=t.length,a;r<i;r++)(a||!(r in t))&&(a||=Array.prototype.slice.call(t,0,r),a[r]=t[r]);return e.concat(a||Array.prototype.slice.call(t))},Ws=`context`,Gs=new Vs,Ks=function(){function e(){}return e.getInstance=function(){return this._instance||=new e,this._instance},e.prototype.setGlobalContextManager=function(e){return ws(Ws,e,Fs.instance())},e.prototype.active=function(){return this._getContextManager().active()},e.prototype.with=function(e,t,n){for(var r,i=[],a=3;a<arguments.length;a++)i[a-3]=arguments[a];return(r=this._getContextManager()).with.apply(r,Us([e,t,n],Hs(i),!1))},e.prototype.bind=function(e,t){return this._getContextManager().bind(e,t)},e.prototype._getContextManager=function(){return Ts(Ws)||Gs},e.prototype.disable=function(){this._getContextManager().disable(),Es(Ws,Fs.instance())},e}(),qs;(function(e){e[e.NONE=0]=`NONE`,e[e.SAMPLED=1]=`SAMPLED`})(qs||={});var Js=`0000000000000000`,Ys=`00000000000000000000000000000000`,Xs={traceId:Ys,spanId:Js,traceFlags:qs.NONE},Zs=function(){function e(e){e===void 0&&(e=Xs),this._spanContext=e}return e.prototype.spanContext=function(){return this._spanContext},e.prototype.setAttribute=function(e,t){return this},e.prototype.setAttributes=function(e){return this},e.prototype.addEvent=function(e,t){return this},e.prototype.addLink=function(e){return this},e.prototype.addLinks=function(e){return this},e.prototype.setStatus=function(e){return this},e.prototype.updateName=function(e){return this},e.prototype.end=function(e){},e.prototype.isRecording=function(){return!1},e.prototype.recordException=function(e,t){},e}(),Qs=Is(`OpenTelemetry Context Key SPAN`);function $s(e){return e.getValue(Qs)||void 0}function ec(){return $s(Ks.getInstance().active())}function tc(e,t){return e.setValue(Qs,t)}function nc(e){return e.deleteValue(Qs)}function rc(e,t){return tc(e,new Zs(t))}function ic(e){var t;return(t=$s(e))?.spanContext()}var ac=/^([0-9a-f]{32})$/i,oc=/^[0-9a-f]{16}$/i;function sc(e){return ac.test(e)&&e!==Ys}function cc(e){return oc.test(e)&&e!==Js}function lc(e){return sc(e.traceId)&&cc(e.spanId)}function uc(e){return new Zs(e)}var dc=Ks.getInstance(),fc=function(){function e(){}return e.prototype.startSpan=function(e,t,n){n===void 0&&(n=dc.active());var r=!!t?.root;if(r)return new Zs;var i=n&&ic(n);return pc(i)&&lc(i)?new Zs(i):new Zs},e.prototype.startActiveSpan=function(e,t,n,r){var i,a,o;if(!(arguments.length<2)){arguments.length===2?o=t:arguments.length===3?(i=t,o=n):(i=t,a=n,o=r);var s=a??dc.active(),c=this.startSpan(e,i,s),l=tc(s,c);return dc.with(l,o,void 0,c)}},e}();function pc(e){return typeof e==`object`&&typeof e.spanId==`string`&&typeof e.traceId==`string`&&typeof e.traceFlags==`number`}var mc=new fc,hc=function(){function e(e,t,n,r){this._provider=e,this.name=t,this.version=n,this.options=r}return e.prototype.startSpan=function(e,t,n){return this._getTracer().startSpan(e,t,n)},e.prototype.startActiveSpan=function(e,t,n,r){var i=this._getTracer();return Reflect.apply(i.startActiveSpan,i,arguments)},e.prototype._getTracer=function(){if(this._delegate)return this._delegate;var e=this._provider.getDelegateTracer(this.name,this.version,this.options);return e?(this._delegate=e,this._delegate):mc},e}(),gc=function(){function e(){}return e.prototype.getTracer=function(e,t,n){return new fc},e}(),_c=new gc,vc=function(){function e(){}return e.prototype.getTracer=function(e,t,n){var r;return(r=this.getDelegateTracer(e,t,n))??new hc(this,e,t,n)},e.prototype.getDelegate=function(){var e;return(e=this._delegate)??_c},e.prototype.setDelegate=function(e){this._delegate=e},e.prototype.getDelegateTracer=function(e,t,n){var r;return(r=this._delegate)?.getTracer(e,t,n)},e}(),yc;(function(e){e[e.UNSET=0]=`UNSET`,e[e.OK=1]=`OK`,e[e.ERROR=2]=`ERROR`})(yc||={});var bc=`trace`,xc=function(){function e(){this._proxyTracerProvider=new vc,this.wrapSpanContext=uc,this.isSpanContextValid=lc,this.deleteSpan=nc,this.getSpan=$s,this.getActiveSpan=ec,this.getSpanContext=ic,this.setSpan=tc,this.setSpanContext=rc}return e.getInstance=function(){return this._instance||=new e,this._instance},e.prototype.setGlobalTracerProvider=function(e){var t=ws(bc,this._proxyTracerProvider,Fs.instance());return t&&this._proxyTracerProvider.setDelegate(e),t},e.prototype.getTracerProvider=function(){return Ts(bc)||this._proxyTracerProvider},e.prototype.getTracer=function(e,t){return this.getTracerProvider().getTracer(e,t)},e.prototype.disable=function(){Es(bc,Fs.instance()),this._proxyTracerProvider=new vc},e}(),Sc=xc.getInstance(),Cc=Object.defineProperty,wc=(e,t)=>{for(var n in t)Cc(e,n,{get:t[n],enumerable:!0})},Tc=`AI_NoOutputSpecifiedError`,Ec=`vercel.ai.error.${Tc}`,Dc=Symbol.for(Ec),Oc,kc=class extends c{constructor({message:e=`No output specified.`}={}){super({name:Tc,message:e}),this[Oc]=!0}static isInstance(e){return c.hasMarker(e,Ec)}};Oc=Dc;function Ac(e){let t=`AI SDK Warning:`;switch(e.type){case`unsupported-setting`:{let n=`${t} The "${e.setting}" setting is not supported by this model`;return e.details&&(n+=` - ${e.details}`),n}case`unsupported-tool`:{let n=`name`in e.tool?e.tool.name:`unknown tool`,r=`${t} The tool "${n}" is not supported by this model`;return e.details&&(r+=` - ${e.details}`),r}case`other`:return`${t} ${e.message}`;default:return`${t} ${JSON.stringify(e,null,2)}`}}var jc=`AI SDK Warning System: To turn off warning logging, set the AI_SDK_LOG_WARNINGS global to false.`,Mc=!1,Nc=e=>{if(e.length===0)return;let t=globalThis.AI_SDK_LOG_WARNINGS;if(t!==!1){if(typeof t==`function`){t(e);return}Mc||(Mc=!0,console.info(jc));for(let t of e)console.warn(Ac(t))}},Pc=`AI_InvalidArgumentError`,Fc=`vercel.ai.error.${Pc}`,Ic=Symbol.for(Fc),Lc,Rc=class extends c{constructor({parameter:e,value:t,message:n}){super({name:Pc,message:`Invalid argument for parameter ${e}: ${n}`}),this[Lc]=!0,this.parameter=e,this.value=t}static isInstance(e){return c.hasMarker(e,Fc)}};Lc=Ic;var zc=`AI_InvalidStreamPartError`,Bc=`vercel.ai.error.${zc}`,Vc=Symbol.for(Bc),Hc;Hc=Vc;var Uc=`AI_InvalidToolInputError`,Wc=`vercel.ai.error.${Uc}`,Gc=Symbol.for(Wc),Kc,qc=class extends c{constructor({toolInput:e,toolName:t,cause:n,message:r=`Invalid input for tool ${t}: ${y(n)}`}){super({name:Uc,message:r,cause:n}),this[Kc]=!0,this.toolInput=e,this.toolName=t}static isInstance(e){return c.hasMarker(e,Wc)}};Kc=Gc;var Jc=`AI_MCPClientError`,Yc=`vercel.ai.error.${Jc}`,Xc=Symbol.for(Yc),Zc;Zc=Xc;var Qc=`AI_NoImageGeneratedError`,$c=`vercel.ai.error.${Qc}`,el=Symbol.for($c),tl;tl=el;var nl=`AI_NoObjectGeneratedError`,rl=`vercel.ai.error.${nl}`,il=Symbol.for(rl),al,ol=class extends c{constructor({message:e=`No object generated.`,cause:t,text:n,response:r,usage:i,finishReason:a}){super({name:nl,message:e,cause:t}),this[al]=!0,this.text=n,this.response=r,this.usage=i,this.finishReason=a}static isInstance(e){return c.hasMarker(e,rl)}};al=il;var sl=`AI_NoOutputGeneratedError`,cl=`vercel.ai.error.${sl}`,ll=Symbol.for(cl),ul,dl=class extends c{constructor({message:e=`No output generated.`,cause:t}={}){super({name:sl,message:e,cause:t}),this[ul]=!0}static isInstance(e){return c.hasMarker(e,cl)}};ul=ll;var fl=`AI_NoSuchToolError`,pl=`vercel.ai.error.${fl}`,ml=Symbol.for(pl),hl,gl=class extends c{constructor({toolName:e,availableTools:t=void 0,message:n=`Model tried to call unavailable tool '${e}'. ${t===void 0?`No tools are available.`:`Available tools: ${t.join(`, `)}.`}`}){super({name:fl,message:n}),this[hl]=!0,this.toolName=e,this.availableTools=t}static isInstance(e){return c.hasMarker(e,pl)}};hl=ml;var _l=`AI_ToolCallRepairError`,vl=`vercel.ai.error.${_l}`,yl=Symbol.for(vl),bl,xl=class extends c{constructor({cause:e,originalError:t,message:n=`Error repairing tool call: ${y(e)}`}){super({name:_l,message:n,cause:e}),this[bl]=!0,this.originalError=t}static isInstance(e){return c.hasMarker(e,vl)}};bl=yl;var Sl=class extends c{constructor(e){super({name:`AI_UnsupportedModelVersionError`,message:`Unsupported model version ${e.version} for provider "${e.provider}" and model "${e.modelId}". AI SDK 5 only supports models that implement specification version "v2".`}),this.version=e.version,this.provider=e.provider,this.modelId=e.modelId}},Cl=`AI_InvalidDataContentError`,wl=`vercel.ai.error.${Cl}`,Tl=Symbol.for(wl),El;El=Tl;var Dl=`AI_InvalidMessageRoleError`,Ol=`vercel.ai.error.${Dl}`,kl=Symbol.for(Ol),Al,jl=class extends c{constructor({role:e,message:t=`Invalid message role: '${e}'. Must be one of: "system", "user", "assistant", "tool".`}){super({name:Dl,message:t}),this[Al]=!0,this.role=e}static isInstance(e){return c.hasMarker(e,Ol)}};Al=kl;var Ml=`AI_MessageConversionError`,Nl=`vercel.ai.error.${Ml}`,Pl=Symbol.for(Nl),Fl,Il=class extends c{constructor({originalMessage:e,message:t}){super({name:Ml,message:t}),this[Fl]=!0,this.originalMessage=e}static isInstance(e){return c.hasMarker(e,Nl)}};Fl=Pl;var Ll=`AI_DownloadError`,Rl=`vercel.ai.error.${Ll}`,zl=Symbol.for(Rl),Bl,Vl=class extends c{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:Ll,message:i,cause:r}),this[Bl]=!0,this.url=e,this.statusCode=t,this.statusText=n}static isInstance(e){return c.hasMarker(e,Rl)}};Bl=zl;var Hl=`AI_RetryError`,Ul=`vercel.ai.error.${Hl}`,Wl=Symbol.for(Ul),Gl,Kl=class extends c{constructor({message:e,reason:t,errors:n}){super({name:Hl,message:e}),this[Gl]=!0,this.reason=t,this.errors=n,this.lastError=n[n.length-1]}static isInstance(e){return c.hasMarker(e,Ul)}};Gl=Wl;function ql(e){if(typeof e!=`string`){if(e.specificationVersion!==`v2`)throw new Sl({version:e.specificationVersion,provider:e.provider,modelId:e.modelId});return e}return Jl().languageModel(e)}function Jl(){var e;return(e=globalThis.AI_SDK_DEFAULT_PROVIDER)??ms}var Yl=[{mediaType:`image/gif`,bytesPrefix:[71,73,70],base64Prefix:`R0lG`},{mediaType:`image/png`,bytesPrefix:[137,80,78,71],base64Prefix:`iVBORw`},{mediaType:`image/jpeg`,bytesPrefix:[255,216],base64Prefix:`/9j/`},{mediaType:`image/webp`,bytesPrefix:[82,73,70,70],base64Prefix:`UklGRg`},{mediaType:`image/bmp`,bytesPrefix:[66,77],base64Prefix:`Qk`},{mediaType:`image/tiff`,bytesPrefix:[73,73,42,0],base64Prefix:`SUkqAA`},{mediaType:`image/tiff`,bytesPrefix:[77,77,0,42],base64Prefix:`TU0AKg`},{mediaType:`image/avif`,bytesPrefix:[0,0,0,32,102,116,121,112,97,118,105,102],base64Prefix:`AAAAIGZ0eXBhdmlm`},{mediaType:`image/heic`,bytesPrefix:[0,0,0,32,102,116,121,112,104,101,105,99],base64Prefix:`AAAAIGZ0eXBoZWlj`}],Xl=e=>{let t=typeof e==`string`?Nn(e):e,n=(t[6]&127)<<21|(t[7]&127)<<14|(t[8]&127)<<7|t[9]&127;return t.slice(n+10)};function Zl(e){let t=typeof e==`string`&&e.startsWith(`SUQz`)||typeof e!=`string`&&e.length>10&&e[0]===73&&e[1]===68&&e[2]===51;return t?Xl(e):e}function Ql({data:e,signatures:t}){let n=Zl(e);for(let e of t)if(typeof n==`string`?n.startsWith(e.base64Prefix):n.length>=e.bytesPrefix.length&&e.bytesPrefix.every((e,t)=>n[t]===e))return e.mediaType}var $l=async({url:e})=>{var t;let n=e.toString();try{let e=await fetch(n);if(!e.ok)throw new Vl({url:n,statusCode:e.status,statusText:e.statusText});return{data:new Uint8Array(await e.arrayBuffer()),mediaType:(t=e.headers.get(`content-type`))??void 0}}catch(e){throw Vl.isInstance(e)?e:new Vl({url:n,cause:e})}},eu=(e=$l)=>t=>Promise.all(t.map(async t=>t.isUrlSupportedByModel?null:e(t)));function tu(e){try{let[t,n]=e.split(`,`);return{mediaType:t.split(`;`)[0].split(`:`)[1],base64Content:n}}catch{return{mediaType:void 0,base64Content:void 0}}}var nu=n.union([n.string(),n.instanceof(Uint8Array),n.instanceof(ArrayBuffer),n.custom(e=>{var t,n;return(n=(t=globalThis.Buffer)?.isBuffer(e))??!1},{message:`Must be a Buffer`})]);function ru(e){if(e instanceof Uint8Array)return{data:e,mediaType:void 0};if(e instanceof ArrayBuffer)return{data:new Uint8Array(e),mediaType:void 0};if(typeof e==`string`)try{e=new URL(e)}catch{}if(e instanceof URL&&e.protocol===`data:`){let{mediaType:t,base64Content:n}=tu(e.toString());if(t==null||n==null)throw new c({name:`InvalidDataContentError`,message:`Invalid data URL format in content ${e.toString()}`});return{data:n,mediaType:t}}return{data:e,mediaType:void 0}}function iu(e){return typeof e==`string`?e:e instanceof ArrayBuffer?Pn(new Uint8Array(e)):Pn(e)}async function au({prompt:e,supportedUrls:t,download:n=eu()}){let r=await su(e.messages,n,t);return[...e.system==null?[]:[{role:`system`,content:e.system}],...e.messages.map(e=>ou({message:e,downloadedAssets:r}))]}function ou({message:e,downloadedAssets:t}){let n=e.role;switch(n){case`system`:return{role:`system`,content:e.content,providerOptions:e.providerOptions};case`user`:return typeof e.content==`string`?{role:`user`,content:[{type:`text`,text:e.content}],providerOptions:e.providerOptions}:{role:`user`,content:e.content.map(e=>cu(e,t)).filter(e=>e.type!==`text`||e.text!==``),providerOptions:e.providerOptions};case`assistant`:return typeof e.content==`string`?{role:`assistant`,content:[{type:`text`,text:e.content}],providerOptions:e.providerOptions}:{role:`assistant`,content:e.content.filter(e=>e.type!==`text`||e.text!==``).map(e=>{let t=e.providerOptions;switch(e.type){case`file`:{let{data:n,mediaType:r}=ru(e.data);return{type:`file`,data:n,filename:e.filename,mediaType:r??e.mediaType,providerOptions:t}}case`reasoning`:return{type:`reasoning`,text:e.text,providerOptions:t};case`text`:return{type:`text`,text:e.text,providerOptions:t};case`tool-call`:return{type:`tool-call`,toolCallId:e.toolCallId,toolName:e.toolName,input:e.input,providerExecuted:e.providerExecuted,providerOptions:t};case`tool-result`:return{type:`tool-result`,toolCallId:e.toolCallId,toolName:e.toolName,output:e.output,providerOptions:t}}}),providerOptions:e.providerOptions};case`tool`:return{role:`tool`,content:e.content.map(e=>({type:`tool-result`,toolCallId:e.toolCallId,toolName:e.toolName,output:e.output,providerOptions:e.providerOptions})),providerOptions:e.providerOptions};default:{let e=n;throw new jl({role:e})}}}async function su(e,t,n){let r=e.filter(e=>e.role===`user`).map(e=>e.content).filter(e=>Array.isArray(e)).flat().filter(e=>e.type===`image`||e.type===`file`).map(e=>{var t;let n=(t=e.mediaType)??(e.type===`image`?`image/*`:void 0),r=e.type===`image`?e.image:e.data;if(typeof r==`string`)try{r=new URL(r)}catch{}return{mediaType:n,data:r}}).filter(e=>e.data instanceof URL).map(e=>({url:e.data,isUrlSupportedByModel:e.mediaType!=null&&Ze({url:e.data.toString(),mediaType:e.mediaType,supportedUrls:n})})),i=await t(r);return Object.fromEntries(i.filter(e=>e?.data!=null).map(({data:e,mediaType:t},n)=>[r[n].url.toString(),{data:e,mediaType:t}]))}function cu(e,t){var n;if(e.type===`text`)return{type:`text`,text:e.text,providerOptions:e.providerOptions};let r,i=e.type;switch(i){case`image`:r=e.image;break;case`file`:r=e.data;break;default:throw Error(`Unsupported part type: ${i}`)}let{data:a,mediaType:o}=ru(r),s=o??e.mediaType,c=a;if(c instanceof URL){let e=t[c.toString()];e&&(c=e.data,s??=e.mediaType)}switch(i){case`image`:return(c instanceof Uint8Array||typeof c==`string`)&&(s=(n=Ql({data:c,signatures:Yl}))??s),{type:`file`,mediaType:s??`image/*`,filename:void 0,data:c,providerOptions:e.providerOptions};case`file`:if(s==null)throw Error(`Media type is missing for file part`);return{type:`file`,mediaType:s,filename:e.filename,data:c,providerOptions:e.providerOptions}}}function lu({maxOutputTokens:e,temperature:t,topP:n,topK:r,presencePenalty:i,frequencyPenalty:a,seed:o,stopSequences:s}){if(e!=null){if(!Number.isInteger(e))throw new Rc({parameter:`maxOutputTokens`,value:e,message:`maxOutputTokens must be an integer`});if(e<1)throw new Rc({parameter:`maxOutputTokens`,value:e,message:`maxOutputTokens must be >= 1`})}if(t!=null&&typeof t!=`number`)throw new Rc({parameter:`temperature`,value:t,message:`temperature must be a number`});if(n!=null&&typeof n!=`number`)throw new Rc({parameter:`topP`,value:n,message:`topP must be a number`});if(r!=null&&typeof r!=`number`)throw new Rc({parameter:`topK`,value:r,message:`topK must be a number`});if(i!=null&&typeof i!=`number`)throw new Rc({parameter:`presencePenalty`,value:i,message:`presencePenalty must be a number`});if(a!=null&&typeof a!=`number`)throw new Rc({parameter:`frequencyPenalty`,value:a,message:`frequencyPenalty must be a number`});if(o!=null&&!Number.isInteger(o))throw new Rc({parameter:`seed`,value:o,message:`seed must be an integer`});return{maxOutputTokens:e,temperature:t,topP:n,topK:r,presencePenalty:i,frequencyPenalty:a,stopSequences:s,seed:o}}function uu(e){return e!=null&&Object.keys(e).length>0}function du({tools:e,toolChoice:t,activeTools:n}){if(!uu(e))return{tools:void 0,toolChoice:void 0};let r=n==null?Object.entries(e):Object.entries(e).filter(([e])=>n.includes(e));return{tools:r.map(([e,t])=>{let n=t.type;switch(n){case void 0:case`dynamic`:case`function`:return{type:`function`,name:e,description:t.description,inputSchema:An(t.inputSchema).jsonSchema,providerOptions:t.providerOptions};case`provider-defined`:return{type:`provider-defined`,name:e,id:t.id,args:t.args};default:{let e=n;throw Error(`Unsupported tool type: ${e}`)}}}),toolChoice:t==null?{type:`auto`}:typeof t==`string`?{type:t}:{type:`tool`,toolName:t.toolName}}}var fu=n.lazy(()=>n.union([n.null(),n.string(),n.number(),n.boolean(),n.record(n.string(),fu),n.array(fu)])),$=n.record(n.string(),n.record(n.string(),fu)),pu=n.object({type:n.literal(`text`),text:n.string(),providerOptions:$.optional()}),mu=n.object({type:n.literal(`image`),image:n.union([nu,n.instanceof(URL)]),mediaType:n.string().optional(),providerOptions:$.optional()}),hu=n.object({type:n.literal(`file`),data:n.union([nu,n.instanceof(URL)]),filename:n.string().optional(),mediaType:n.string(),providerOptions:$.optional()}),gu=n.object({type:n.literal(`reasoning`),text:n.string(),providerOptions:$.optional()}),_u=n.object({type:n.literal(`tool-call`),toolCallId:n.string(),toolName:n.string(),input:n.unknown(),providerOptions:$.optional(),providerExecuted:n.boolean().optional()}),vu=n.discriminatedUnion(`type`,[n.object({type:n.literal(`text`),value:n.string()}),n.object({type:n.literal(`json`),value:fu}),n.object({type:n.literal(`error-text`),value:n.string()}),n.object({type:n.literal(`error-json`),value:fu}),n.object({type:n.literal(`content`),value:n.array(n.union([n.object({type:n.literal(`text`),text:n.string()}),n.object({type:n.literal(`media`),data:n.string(),mediaType:n.string()})]))})]),yu=n.object({type:n.literal(`tool-result`),toolCallId:n.string(),toolName:n.string(),output:vu,providerOptions:$.optional()}),bu=n.object({role:n.literal(`system`),content:n.string(),providerOptions:$.optional()}),xu=n.object({role:n.literal(`user`),content:n.union([n.string(),n.array(n.union([pu,mu,hu]))]),providerOptions:$.optional()}),Su=n.object({role:n.literal(`assistant`),content:n.union([n.string(),n.array(n.union([pu,hu,gu,_u,yu]))]),providerOptions:$.optional()}),Cu=n.object({role:n.literal(`tool`),content:n.array(yu),providerOptions:$.optional()}),wu=n.union([bu,xu,Su,Cu]);async function Tu(e){if(e.prompt==null&&e.messages==null)throw new k({prompt:e,message:`prompt or messages must be defined`});if(e.prompt!=null&&e.messages!=null)throw new k({prompt:e,message:`prompt and messages cannot be defined at the same time`});if(e.system!=null&&typeof e.system!=`string`)throw new k({prompt:e,message:`system must be a string`});let t;if(e.prompt!=null&&typeof e.prompt==`string`)t=[{role:`user`,content:e.prompt}];else if(e.prompt!=null&&Array.isArray(e.prompt))t=e.prompt;else if(e.messages!=null)t=e.messages;else throw new k({prompt:e,message:`prompt or messages must be defined`});if(t.length===0)throw new k({prompt:e,message:`messages must not be empty`});let r=await ft({value:t,schema:n.array(wu)});if(!r.success)throw new k({prompt:e,message:`The messages must be a ModelMessage[]. If you have passed a UIMessage[], you can use convertToModelMessages to convert them.`,cause:r.error});return{messages:t,system:e.system}}function Eu(e){return po.isInstance(e)||Mo.isInstance(e)?new c({name:`GatewayError`,message:`Vercel AI Gateway access failed. If you want to use AI SDK providers directly, use the providers, e.g. @ai-sdk/openai, or register a different global default provider.`,cause:e}):e}function Du({operationId:e,telemetry:t}){return{"operation.name":`${e}${t?.functionId==null?``:` ${t.functionId}`}`,"resource.name":t?.functionId,"ai.operationId":e,"ai.telemetry.functionId":t?.functionId}}function Ou({model:e,settings:t,telemetry:n,headers:r}){var i;return{"ai.model.provider":e.provider,"ai.model.id":e.modelId,...Object.entries(t).reduce((e,[t,n])=>(e[`ai.settings.${t}`]=n,e),{}),...Object.entries((i=n?.metadata)??{}).reduce((e,[t,n])=>(e[`ai.telemetry.metadata.${t}`]=n,e),{}),...Object.entries(r??{}).reduce((e,[t,n])=>(n!==void 0&&(e[`ai.request.headers.${t}`]=n),e),{})}}var ku={startSpan(){return Au},startActiveSpan(e,t,n,r){if(typeof t==`function`)return t(Au);if(typeof n==`function`)return n(Au);if(typeof r==`function`)return r(Au)}},Au={spanContext(){return ju},setAttribute(){return this},setAttributes(){return this},addEvent(){return this},addLink(){return this},addLinks(){return this},setStatus(){return this},updateName(){return this},end(){return this},isRecording(){return!1},recordException(){return this}},ju={traceId:``,spanId:``,traceFlags:0};function Mu({isEnabled:e=!1,tracer:t}={}){return e?t||Sc.getTracer(`ai`):ku}function Nu({name:e,tracer:t,attributes:n,fn:r,endWhenDone:i=!0}){return t.startActiveSpan(e,{attributes:n},async e=>{try{let t=await r(e);return i&&e.end(),t}catch(t){try{Pu(e,t)}finally{e.end()}throw t}})}function Pu(e,t){t instanceof Error?(e.recordException({name:t.name,message:t.message,stack:t.stack}),e.setStatus({code:yc.ERROR,message:t.message})):e.setStatus({code:yc.ERROR})}function Fu({telemetry:e,attributes:t}){return e?.isEnabled===!0?Object.entries(t).reduce((t,[n,r])=>{if(r==null)return t;if(typeof r==`object`&&`input`in r&&typeof r.input==`function`){if(e?.recordInputs===!1)return t;let i=r.input();return i==null?t:{...t,[n]:i}}if(typeof r==`object`&&`output`in r&&typeof r.output==`function`){if(e?.recordOutputs===!1)return t;let i=r.output();return i==null?t:{...t,[n]:i}}return{...t,[n]:r}},{}):{}}function Iu(e){return JSON.stringify(e.map(e=>({...e,content:typeof e.content==`string`?e.content:e.content.map(e=>e.type===`file`?{...e,data:e.data instanceof Uint8Array?iu(e.data):e.data}:e)})))}function Lu(e,t){return{inputTokens:Ru(e.inputTokens,t.inputTokens),outputTokens:Ru(e.outputTokens,t.outputTokens),totalTokens:Ru(e.totalTokens,t.totalTokens),reasoningTokens:Ru(e.reasoningTokens,t.reasoningTokens),cachedInputTokens:Ru(e.cachedInputTokens,t.cachedInputTokens)}}function Ru(e,t){return e==null&&t==null?void 0:(e??0)+(t??0)}function zu(e){return e===void 0?[]:Array.isArray(e)?e:[e]}function Bu({error:e,exponentialBackoffDelay:t}){let n=e.responseHeaders;if(!n)return t;let r,i=n[`retry-after-ms`];if(i){let e=parseFloat(i);Number.isNaN(e)||(r=e)}let a=n[`retry-after`];if(a&&r===void 0){let e=parseFloat(a);r=Number.isNaN(e)?Date.parse(a)-Date.now():e*1e3}return r!=null&&!Number.isNaN(r)&&0<=r&&(r<60*1e3||r<t)?r:t}var Vu=({maxRetries:e=2,initialDelayInMs:t=2e3,backoffFactor:n=2,abortSignal:r}={})=>async i=>Hu(i,{maxRetries:e,delayInMs:t,backoffFactor:n,abortSignal:r});async function Hu(e,{maxRetries:t,delayInMs:n,backoffFactor:r,abortSignal:i},a=[]){try{return await e()}catch(o){if(Ge(o)||t===0)throw o;let s=We(o),c=[...a,o],l=c.length;if(l>t)throw new Kl({message:`Failed after ${l} attempts. Last error: ${s}`,reason:`maxRetriesExceeded`,errors:c});if(o instanceof Error&&p.isInstance(o)&&o.isRetryable===!0&&l<=t)return await Be(Bu({error:o,exponentialBackoffDelay:n}),{abortSignal:i}),Hu(e,{maxRetries:t,delayInMs:r*n,backoffFactor:r,abortSignal:i},c);throw l===1?o:new Kl({message:`Failed after ${l} attempts with non-retryable error: '${s}'`,reason:`errorNotRetryable`,errors:c})}}function Uu({maxRetries:e,abortSignal:t}){if(e!=null){if(!Number.isInteger(e))throw new Rc({parameter:`maxRetries`,value:e,message:`maxRetries must be an integer`});if(e<0)throw new Rc({parameter:`maxRetries`,value:e,message:`maxRetries must be >= 0`})}let n=e??2;return{maxRetries:n,retry:Vu({maxRetries:n,abortSignal:t})}}var Wu=class{constructor({data:e,mediaType:t}){let n=e instanceof Uint8Array;this.base64Data=n?void 0:e,this.uint8ArrayData=n?e:void 0,this.mediaType=t}get base64(){return this.base64Data??=Pn(this.uint8ArrayData),this.base64Data}get uint8Array(){return this.uint8ArrayData??=Nn(this.base64Data),this.uint8ArrayData}},Gu=class extends Wu{constructor(e){super(e),this.type=`file`}};async function Ku({toolCall:e,tools:t,repairToolCall:n,system:r,messages:i}){try{if(t==null)throw new gl({toolName:e.toolName});try{return await qu({toolCall:e,tools:t})}catch(a){if(n==null||!(gl.isInstance(a)||qc.isInstance(a)))throw a;let o=null;try{o=await n({toolCall:e,tools:t,inputSchema:({toolName:e})=>{let{inputSchema:n}=t[e];return An(n).jsonSchema},system:r,messages:i,error:a})}catch(e){throw new xl({cause:e,originalError:a})}if(o==null)throw a;return await qu({toolCall:o,tools:t})}}catch(t){let n=await mt({text:e.input}),r=n.success?n.value:e.input;return{type:`tool-call`,toolCallId:e.toolCallId,toolName:e.toolName,input:r,dynamic:!0,invalid:!0,error:t}}}async function qu({toolCall:e,tools:t}){let n=e.toolName,r=t[n];if(r==null)throw new gl({toolName:e.toolName,availableTools:Object.keys(t)});let i=An(r.inputSchema),a=e.input.trim()===``?await ft({value:{},schema:i}):await mt({text:e.input,schema:i});if(a.success===!1)throw new qc({toolName:n,toolInput:e.input,cause:a.error});return r.type===`dynamic`?{type:`tool-call`,toolCallId:e.toolCallId,toolName:e.toolName,input:a.value,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,dynamic:!0}:{type:`tool-call`,toolCallId:e.toolCallId,toolName:n,input:a.value,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata}}var Ju=class{constructor({content:e,finishReason:t,usage:n,warnings:r,request:i,response:a,providerMetadata:o}){this.content=e,this.finishReason=t,this.usage=n,this.warnings=r,this.request=i,this.response=a,this.providerMetadata=o}get text(){return this.content.filter(e=>e.type===`text`).map(e=>e.text).join(``)}get reasoning(){return this.content.filter(e=>e.type===`reasoning`)}get reasoningText(){return this.reasoning.length===0?void 0:this.reasoning.map(e=>e.text).join(``)}get files(){return this.content.filter(e=>e.type===`file`).map(e=>e.file)}get sources(){return this.content.filter(e=>e.type===`source`)}get toolCalls(){return this.content.filter(e=>e.type===`tool-call`)}get staticToolCalls(){return this.toolCalls.filter(e=>e.dynamic===!1)}get dynamicToolCalls(){return this.toolCalls.filter(e=>e.dynamic===!0)}get toolResults(){return this.content.filter(e=>e.type===`tool-result`)}get staticToolResults(){return this.toolResults.filter(e=>e.dynamic===!1)}get dynamicToolResults(){return this.toolResults.filter(e=>e.dynamic===!0)}};function Yu(e){return({steps:t})=>t.length===e}async function Xu({stopConditions:e,steps:t}){return(await Promise.all(e.map(e=>e({steps:t})))).some(e=>e)}function Zu({output:e,tool:t,errorMode:n}){return n===`text`?{type:`error-text`,value:y(e)}:n===`json`?{type:`error-json`,value:Qu(e)}:t?.toModelOutput?t.toModelOutput(e):typeof e==`string`?{type:`text`,value:e}:{type:`json`,value:Qu(e)}}function Qu(e){return e===void 0?null:e}function $u({content:e,tools:t}){let n=[],r=e.filter(e=>e.type!==`source`).filter(e=>(e.type!==`tool-result`||e.providerExecuted)&&(e.type!==`tool-error`||e.providerExecuted)).filter(e=>e.type!==`text`||e.text.length>0).map(e=>{switch(e.type){case`text`:return{type:`text`,text:e.text,providerOptions:e.providerMetadata};case`reasoning`:return{type:`reasoning`,text:e.text,providerOptions:e.providerMetadata};case`file`:return{type:`file`,data:e.file.base64,mediaType:e.file.mediaType,providerOptions:e.providerMetadata};case`tool-call`:return{type:`tool-call`,toolCallId:e.toolCallId,toolName:e.toolName,input:e.input,providerExecuted:e.providerExecuted,providerOptions:e.providerMetadata};case`tool-result`:return{type:`tool-result`,toolCallId:e.toolCallId,toolName:e.toolName,output:Zu({tool:t?.[e.toolName],output:e.output,errorMode:`none`}),providerExecuted:!0,providerOptions:e.providerMetadata};case`tool-error`:return{type:`tool-result`,toolCallId:e.toolCallId,toolName:e.toolName,output:Zu({tool:t?.[e.toolName],output:e.error,errorMode:`json`}),providerOptions:e.providerMetadata}}});r.length>0&&n.push({role:`assistant`,content:r});let i=e.filter(e=>e.type===`tool-result`||e.type===`tool-error`).filter(e=>!e.providerExecuted).map(e=>({type:`tool-result`,toolCallId:e.toolCallId,toolName:e.toolName,output:Zu({tool:t?.[e.toolName],output:e.type===`tool-result`?e.output:e.error,errorMode:e.type===`tool-error`?`text`:`none`})}));return i.length>0&&n.push({role:`tool`,content:i}),n}Ue({prefix:`aitxt`,size:24});function ed(e,t){let n=new Headers(e??{});for(let[e,r]of Object.entries(t))n.has(e)||n.set(e,r);return n}function td({status:e,statusText:t,headers:n,textStream:r}){return new Response(r.pipeThrough(new TextEncoderStream),{status:e??200,statusText:t,headers:ed(n,{"content-type":`text/plain; charset=utf-8`})})}function nd({response:e,status:t,statusText:n,headers:r,stream:i}){e.writeHead(t??200,n,r);let a=i.getReader(),o=async()=>{try{for(;;){let{done:t,value:n}=await a.read();if(t)break;e.write(n)}}catch(e){throw e}finally{e.end()}};o()}function rd({response:e,status:t,statusText:n,headers:r,textStream:i}){nd({response:e,status:t,statusText:n,headers:Object.fromEntries(ed(r,{"content-type":`text/plain; charset=utf-8`}).entries()),stream:i.pipeThrough(new TextEncoderStream)})}var id=class extends TransformStream{constructor(){super({transform(e,t){t.enqueue(`data: ${JSON.stringify(e)}
50
-
51
- `)},flush(e){e.enqueue(`data: [DONE]
52
-
53
- `)}})}},ad={"content-type":`text/event-stream`,"cache-control":`no-cache`,connection:`keep-alive`,"x-vercel-ai-ui-message-stream":`v1`,"x-accel-buffering":`no`};function od({status:e,statusText:t,headers:n,stream:r,consumeSseStream:i}){let a=r.pipeThrough(new id);if(i){let[e,t]=a.tee();a=e,i({stream:t})}return new Response(a.pipeThrough(new TextEncoderStream),{status:e,statusText:t,headers:ed(n,ad)})}function sd({originalMessages:e,responseMessageId:t}){if(e==null)return;let n=e[e.length-1];return n?.role===`assistant`?n.id:typeof t==`function`?t():t}n.union([n.strictObject({type:n.literal(`text-start`),id:n.string(),providerMetadata:$.optional()}),n.strictObject({type:n.literal(`text-delta`),id:n.string(),delta:n.string(),providerMetadata:$.optional()}),n.strictObject({type:n.literal(`text-end`),id:n.string(),providerMetadata:$.optional()}),n.strictObject({type:n.literal(`error`),errorText:n.string()}),n.strictObject({type:n.literal(`tool-input-start`),toolCallId:n.string(),toolName:n.string(),providerExecuted:n.boolean().optional(),dynamic:n.boolean().optional()}),n.strictObject({type:n.literal(`tool-input-delta`),toolCallId:n.string(),inputTextDelta:n.string()}),n.strictObject({type:n.literal(`tool-input-available`),toolCallId:n.string(),toolName:n.string(),input:n.unknown(),providerExecuted:n.boolean().optional(),providerMetadata:$.optional(),dynamic:n.boolean().optional()}),n.strictObject({type:n.literal(`tool-input-error`),toolCallId:n.string(),toolName:n.string(),input:n.unknown(),providerExecuted:n.boolean().optional(),providerMetadata:$.optional(),dynamic:n.boolean().optional(),errorText:n.string()}),n.strictObject({type:n.literal(`tool-output-available`),toolCallId:n.string(),output:n.unknown(),providerExecuted:n.boolean().optional(),dynamic:n.boolean().optional(),preliminary:n.boolean().optional()}),n.strictObject({type:n.literal(`tool-output-error`),toolCallId:n.string(),errorText:n.string(),providerExecuted:n.boolean().optional(),dynamic:n.boolean().optional()}),n.strictObject({type:n.literal(`reasoning`),text:n.string(),providerMetadata:$.optional()}),n.strictObject({type:n.literal(`reasoning-start`),id:n.string(),providerMetadata:$.optional()}),n.strictObject({type:n.literal(`reasoning-delta`),id:n.string(),delta:n.string(),providerMetadata:$.optional()}),n.strictObject({type:n.literal(`reasoning-end`),id:n.string(),providerMetadata:$.optional()}),n.strictObject({type:n.literal(`reasoning-part-finish`)}),n.strictObject({type:n.literal(`source-url`),sourceId:n.string(),url:n.string(),title:n.string().optional(),providerMetadata:$.optional()}),n.strictObject({type:n.literal(`source-document`),sourceId:n.string(),mediaType:n.string(),title:n.string(),filename:n.string().optional(),providerMetadata:$.optional()}),n.strictObject({type:n.literal(`file`),url:n.string(),mediaType:n.string(),providerMetadata:$.optional()}),n.strictObject({type:n.string().startsWith(`data-`),id:n.string().optional(),data:n.unknown(),transient:n.boolean().optional()}),n.strictObject({type:n.literal(`start-step`)}),n.strictObject({type:n.literal(`finish-step`)}),n.strictObject({type:n.literal(`start`),messageId:n.string().optional(),messageMetadata:n.unknown().optional()}),n.strictObject({type:n.literal(`finish`),messageMetadata:n.unknown().optional()}),n.strictObject({type:n.literal(`abort`)}),n.strictObject({type:n.literal(`message-metadata`),messageMetadata:n.unknown()})]);function cd(e){return e.type.startsWith(`data-`)}function ld(e,t){if(e===void 0&&t===void 0)return;if(e===void 0)return t;if(t===void 0)return e;let n={...e};for(let r in t)if(Object.prototype.hasOwnProperty.call(t,r)){let i=t[r];if(i===void 0)continue;let a=r in e?e[r]:void 0,o=typeof i==`object`&&!!i&&!Array.isArray(i)&&!(i instanceof Date)&&!(i instanceof RegExp),s=typeof a==`object`&&!!a&&!Array.isArray(a)&&!(a instanceof Date)&&!(a instanceof RegExp);o&&s?n[r]=ld(a,i):n[r]=i}return n}function ud(e){let t=[`ROOT`],n=-1,r=null;function i(e,i,a){switch(e){case`"`:n=i,t.pop(),t.push(a),t.push(`INSIDE_STRING`);break;case`f`:case`t`:case`n`:n=i,r=i,t.pop(),t.push(a),t.push(`INSIDE_LITERAL`);break;case`-`:t.pop(),t.push(a),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`:n=i,t.pop(),t.push(a),t.push(`INSIDE_NUMBER`);break;case`{`:n=i,t.pop(),t.push(a),t.push(`INSIDE_OBJECT_START`);break;case`[`:n=i,t.pop(),t.push(a),t.push(`INSIDE_ARRAY_START`);break}}function a(e,r){switch(e){case`,`:t.pop(),t.push(`INSIDE_OBJECT_AFTER_COMMA`);break;case`}`:n=r,t.pop();break}}function o(e,r){switch(e){case`,`:t.pop(),t.push(`INSIDE_ARRAY_AFTER_COMMA`);break;case`]`:n=r,t.pop();break}}for(let s=0;s<e.length;s++){let c=e[s],l=t[t.length-1];switch(l){case`ROOT`:i(c,s,`FINISH`);break;case`INSIDE_OBJECT_START`:switch(c){case`"`:t.pop(),t.push(`INSIDE_OBJECT_KEY`);break;case`}`:n=s,t.pop();break}break;case`INSIDE_OBJECT_AFTER_COMMA`:switch(c){case`"`:t.pop(),t.push(`INSIDE_OBJECT_KEY`);break}break;case`INSIDE_OBJECT_KEY`:switch(c){case`"`:t.pop(),t.push(`INSIDE_OBJECT_AFTER_KEY`);break}break;case`INSIDE_OBJECT_AFTER_KEY`:switch(c){case`:`:t.pop(),t.push(`INSIDE_OBJECT_BEFORE_VALUE`);break}break;case`INSIDE_OBJECT_BEFORE_VALUE`:i(c,s,`INSIDE_OBJECT_AFTER_VALUE`);break;case`INSIDE_OBJECT_AFTER_VALUE`:a(c,s);break;case`INSIDE_STRING`:switch(c){case`"`:t.pop(),n=s;break;case`\\`:t.push(`INSIDE_STRING_ESCAPE`);break;default:n=s}break;case`INSIDE_ARRAY_START`:switch(c){case`]`:n=s,t.pop();break;default:n=s,i(c,s,`INSIDE_ARRAY_AFTER_VALUE`);break}break;case`INSIDE_ARRAY_AFTER_VALUE`:switch(c){case`,`:t.pop(),t.push(`INSIDE_ARRAY_AFTER_COMMA`);break;case`]`:n=s,t.pop();break;default:n=s;break}break;case`INSIDE_ARRAY_AFTER_COMMA`:i(c,s,`INSIDE_ARRAY_AFTER_VALUE`);break;case`INSIDE_STRING_ESCAPE`:t.pop(),n=s;break;case`INSIDE_NUMBER`:switch(c){case`0`:case`1`:case`2`:case`3`:case`4`:case`5`:case`6`:case`7`:case`8`:case`9`:n=s;break;case`e`:case`E`:case`-`:case`.`:break;case`,`:t.pop(),t[t.length-1]===`INSIDE_ARRAY_AFTER_VALUE`&&o(c,s),t[t.length-1]===`INSIDE_OBJECT_AFTER_VALUE`&&a(c,s);break;case`}`:t.pop(),t[t.length-1]===`INSIDE_OBJECT_AFTER_VALUE`&&a(c,s);break;case`]`:t.pop(),t[t.length-1]===`INSIDE_ARRAY_AFTER_VALUE`&&o(c,s);break;default:t.pop();break}break;case`INSIDE_LITERAL`:{let i=e.substring(r,s+1);!`false`.startsWith(i)&&!`true`.startsWith(i)&&!`null`.startsWith(i)?(t.pop(),t[t.length-1]===`INSIDE_OBJECT_AFTER_VALUE`?a(c,s):t[t.length-1]===`INSIDE_ARRAY_AFTER_VALUE`&&o(c,s)):n=s;break}}}let s=e.slice(0,n+1);for(let n=t.length-1;n>=0;n--){let i=t[n];switch(i){case`INSIDE_STRING`:s+=`"`;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`:s+=`}`;break;case`INSIDE_ARRAY_START`:case`INSIDE_ARRAY_AFTER_COMMA`:case`INSIDE_ARRAY_AFTER_VALUE`:s+=`]`;break;case`INSIDE_LITERAL`:{let t=e.substring(r,e.length);`true`.startsWith(t)?s+=`true`.slice(t.length):`false`.startsWith(t)?s+=`false`.slice(t.length):`null`.startsWith(t)&&(s+=`null`.slice(t.length))}}}return s}async function dd(e){if(e===void 0)return{value:void 0,state:`undefined-input`};let t=await mt({text:e});return t.success?{value:t.value,state:`successful-parse`}:(t=await mt({text:ud(e)}),t.success?{value:t.value,state:`repaired-parse`}:{value:void 0,state:`failed-parse`})}function fd(e){return e.type.startsWith(`tool-`)}function pd(e){return e.type===`dynamic-tool`}function md(e){return fd(e)||pd(e)}function hd(e){return e.type.split(`-`).slice(1).join(`-`)}function gd({lastMessage:e,messageId:t}){return{message:e?.role===`assistant`?e:{id:t,metadata:void 0,role:`assistant`,parts:[]},activeTextParts:{},activeReasoningParts:{},partialToolCalls:{}}}function _d({stream:e,messageMetadataSchema:t,dataPartSchemas:n,runUpdateMessageJob:r,onError:i,onToolCall:a,onData:o}){return e.pipeThrough(new TransformStream({async transform(e,s){await r(async({state:r,write:c})=>{var l,u,d,f;function p(e){let t=r.message.parts.filter(fd),n=t.find(t=>t.toolCallId===e);if(n==null)throw Error(`tool-output-error must be preceded by a tool-input-available`);return n}function m(e){let t=r.message.parts.filter(e=>e.type===`dynamic-tool`),n=t.find(t=>t.toolCallId===e);if(n==null)throw Error(`tool-output-error must be preceded by a tool-input-available`);return n}function h(e){var t;let n=r.message.parts.find(t=>fd(t)&&t.toolCallId===e.toolCallId),i=e,a=n;n==null?r.message.parts.push({type:`tool-${e.toolName}`,toolCallId:e.toolCallId,state:e.state,input:i.input,output:i.output,rawInput:i.rawInput,errorText:i.errorText,providerExecuted:i.providerExecuted,preliminary:i.preliminary,...i.providerMetadata==null?{}:{callProviderMetadata:i.providerMetadata}}):(n.state=e.state,a.input=i.input,a.output=i.output,a.errorText=i.errorText,a.rawInput=i.rawInput,a.preliminary=i.preliminary,a.providerExecuted=(t=i.providerExecuted)??n.providerExecuted,i.providerMetadata!=null&&n.state===`input-available`&&(n.callProviderMetadata=i.providerMetadata))}function g(e){var t;let n=r.message.parts.find(t=>t.type===`dynamic-tool`&&t.toolCallId===e.toolCallId),i=e,a=n;n==null?r.message.parts.push({type:`dynamic-tool`,toolName:e.toolName,toolCallId:e.toolCallId,state:e.state,input:i.input,output:i.output,errorText:i.errorText,preliminary:i.preliminary,...i.providerMetadata==null?{}:{callProviderMetadata:i.providerMetadata}}):(n.state=e.state,a.toolName=e.toolName,a.input=i.input,a.output=i.output,a.errorText=i.errorText,a.rawInput=(t=i.rawInput)??a.rawInput,a.preliminary=i.preliminary,i.providerMetadata!=null&&n.state===`input-available`&&(n.callProviderMetadata=i.providerMetadata))}async function _(e){if(e!=null){let n=r.message.metadata==null?e:ld(r.message.metadata,e);t!=null&&await dt({value:n,schema:t}),r.message.metadata=n}}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),c();break}case`text-delta`:{let t=r.activeTextParts[e.id];t.text+=e.delta,t.providerMetadata=(l=e.providerMetadata)??t.providerMetadata,c();break}case`text-end`:{let t=r.activeTextParts[e.id];t.state=`done`,t.providerMetadata=(u=e.providerMetadata)??t.providerMetadata,delete r.activeTextParts[e.id],c();break}case`reasoning-start`:{let t={type:`reasoning`,text:``,providerMetadata:e.providerMetadata,state:`streaming`};r.activeReasoningParts[e.id]=t,r.message.parts.push(t),c();break}case`reasoning-delta`:{let t=r.activeReasoningParts[e.id];t.text+=e.delta,t.providerMetadata=(d=e.providerMetadata)??t.providerMetadata,c();break}case`reasoning-end`:{let t=r.activeReasoningParts[e.id];t.providerMetadata=(f=e.providerMetadata)??t.providerMetadata,t.state=`done`,delete r.activeReasoningParts[e.id],c();break}case`file`:r.message.parts.push({type:`file`,mediaType:e.mediaType,url:e.url}),c();break;case`source-url`:r.message.parts.push({type:`source-url`,sourceId:e.sourceId,url:e.url,title:e.title,providerMetadata:e.providerMetadata}),c();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}),c();break;case`tool-input-start`:{let t=r.message.parts.filter(fd);r.partialToolCalls[e.toolCallId]={text:``,toolName:e.toolName,index:t.length,dynamic:e.dynamic},e.dynamic?g({toolCallId:e.toolCallId,toolName:e.toolName,state:`input-streaming`,input:void 0}):h({toolCallId:e.toolCallId,toolName:e.toolName,state:`input-streaming`,input:void 0,providerExecuted:e.providerExecuted}),c();break}case`tool-input-delta`:{let t=r.partialToolCalls[e.toolCallId];t.text+=e.inputTextDelta;let{value:n}=await dd(t.text);t.dynamic?g({toolCallId:e.toolCallId,toolName:t.toolName,state:`input-streaming`,input:n}):h({toolCallId:e.toolCallId,toolName:t.toolName,state:`input-streaming`,input:n}),c();break}case`tool-input-available`:e.dynamic?g({toolCallId:e.toolCallId,toolName:e.toolName,state:`input-available`,input:e.input,providerMetadata:e.providerMetadata}):h({toolCallId:e.toolCallId,toolName:e.toolName,state:`input-available`,input:e.input,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata}),c(),a&&!e.providerExecuted&&await a({toolCall:e});break;case`tool-input-error`:e.dynamic?g({toolCallId:e.toolCallId,toolName:e.toolName,state:`output-error`,input:e.input,errorText:e.errorText,providerMetadata:e.providerMetadata}):h({toolCallId:e.toolCallId,toolName:e.toolName,state:`output-error`,input:void 0,rawInput:e.input,errorText:e.errorText,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata}),c();break;case`tool-output-available`:if(e.dynamic){let t=m(e.toolCallId);g({toolCallId:e.toolCallId,toolName:t.toolName,state:`output-available`,input:t.input,output:e.output,preliminary:e.preliminary})}else{let t=p(e.toolCallId);h({toolCallId:e.toolCallId,toolName:hd(t),state:`output-available`,input:t.input,output:e.output,providerExecuted:e.providerExecuted,preliminary:e.preliminary})}c();break;case`tool-output-error`:if(e.dynamic){let t=m(e.toolCallId);g({toolCallId:e.toolCallId,toolName:t.toolName,state:`output-error`,input:t.input,errorText:e.errorText})}else{let t=p(e.toolCallId);h({toolCallId:e.toolCallId,toolName:hd(t),state:`output-error`,input:t.input,rawInput:t.rawInput,errorText:e.errorText})}c();break;case`start-step`:r.message.parts.push({type:`step-start`});break;case`finish-step`:r.activeTextParts={},r.activeReasoningParts={};break;case`start`:e.messageId!=null&&(r.message.id=e.messageId),await _(e.messageMetadata),(e.messageId!=null||e.messageMetadata!=null)&&c();break;case`finish`:await _(e.messageMetadata),e.messageMetadata!=null&&c();break;case`message-metadata`:await _(e.messageMetadata),e.messageMetadata!=null&&c();break;case`error`:i?.(Error(e.errorText));break;default:if(cd(e)){n?.[e.type]!=null&&await dt({value:e.data,schema:n[e.type]});let t=e;if(t.transient){o?.(t);break}let i=t.id==null?void 0:r.message.parts.find(e=>t.type===e.type&&t.id===e.id);i==null?r.message.parts.push(t):i.data=t.data,o?.(t),c()}}s.enqueue(e)})}}))}function vd({messageId:e,originalMessages:t=[],onFinish:n,onError:r,stream:i}){let a=t?.[t.length-1];a?.role===`assistant`?e=a.id:a=void 0;let o=!1,s=i.pipeThrough(new TransformStream({transform(t,n){if(t.type===`start`){let n=t;n.messageId==null&&e!=null&&(n.messageId=e)}t.type===`abort`&&(o=!0),n.enqueue(t)}}));if(n==null)return s;let c=gd({lastMessage:a?structuredClone(a):void 0,messageId:e??``}),l=async e=>{await e({state:c,write:()=>{}})},u=!1,d=async()=>{if(u||!n)return;u=!0;let e=c.message.id===a?.id;await n({isAborted:o,isContinuation:e,responseMessage:c.message,messages:[...e?t.slice(0,-1):t,c.message]})};return _d({stream:s,runUpdateMessageJob:l,onError:r}).pipeThrough(new TransformStream({transform(e,t){t.enqueue(e)},async cancel(){await d()},async flush(){await d()}}))}function yd({response:e,status:t,statusText:n,headers:r,stream:i,consumeSseStream:a}){let o=i.pipeThrough(new id);if(a){let[e,t]=o.tee();o=e,a({stream:t})}nd({response:e,status:t,statusText:n,headers:Object.fromEntries(ed(r,ad).entries()),stream:o.pipeThrough(new TextEncoderStream)})}function bd(e){let t=e.pipeThrough(new TransformStream);return t[Symbol.asyncIterator]=function(){let e=this.getReader(),t=!1;async function n(n){var r;t=!0;try{n&&await(r=e.cancel)?.call(e)}finally{try{e.releaseLock()}catch{}}}return{async next(){if(t)return{done:!0,value:void 0};let{done:r,value:i}=await e.read();return r?(await n(!0),{done:!0,value:void 0}):{done:!1,value:i}},async return(){return await n(!0),{done:!0,value:void 0}},async throw(e){throw await n(!0),e}}},t}async function xd({stream:e,onError:t}){let n=e.getReader();try{for(;;){let{done:e}=await n.read();if(e)break}}catch(e){t?.(e)}finally{n.releaseLock()}}function Sd(){let e,t,n=new Promise((n,r)=>{e=n,t=r});return{promise:n,resolve:e,reject:t}}function Cd(){let e=[],t=null,n=!1,r=Sd(),i=()=>{n=!0,r.resolve(),e.forEach(e=>e.cancel()),e=[],t?.close()},a=async()=>{if(n&&e.length===0){t?.close();return}if(e.length===0)return r=Sd(),await r.promise,a();try{let{value:r,done:i}=await e[0].read();i?(e.shift(),e.length>0?await a():n&&t?.close()):t?.enqueue(r)}catch(n){t?.error(n),e.shift(),i()}};return{stream:new ReadableStream({start(e){t=e},pull:a,async cancel(){for(let t of e)await t.cancel();e=[],n=!0}}),addStream:t=>{if(n)throw Error(`Cannot add inner stream: outer stream is closed`);e.push(t.getReader()),r.resolve()},close:()=>{n=!0,r.resolve(),e.length===0&&t?.close()},terminate:i}}var wd=class{constructor(){this.status={type:`pending`},this._resolve=void 0,this._reject=void 0}get promise(){return this._promise||=new Promise((e,t)=>{this.status.type===`resolved`?e(this.status.value):this.status.type===`rejected`&&t(this.status.error),this._resolve=e,this._reject=t}),this._promise}resolve(e){var t;this.status={type:`resolved`,value:e},this._promise&&((t=this._resolve)==null||t.call(this,e))}reject(e){var t;this.status={type:`rejected`,error:e},this._promise&&((t=this._reject)==null||t.call(this,e))}};function Td(){var e,t;return(t=(e=globalThis==null?void 0:globalThis.performance)?.now())??Date.now()}function Ed({tools:e,generatorStream:t,tracer:n,telemetry:r,system:i,messages:a,abortSignal:o,repairToolCall:s,experimental_context:c}){let l=null,u=new ReadableStream({start(e){l=e}}),d=new Set,f=new Map,p=!1,m;function h(){p&&d.size===0&&(m!=null&&l.enqueue(m),l.close())}let g=new TransformStream({async transform(t,u){let p=t.type;switch(p){case`stream-start`:case`text-start`:case`text-delta`:case`text-end`:case`reasoning-start`:case`reasoning-delta`:case`reasoning-end`:case`tool-input-start`:case`tool-input-delta`:case`tool-input-end`:case`source`:case`response-metadata`:case`error`:case`raw`:u.enqueue(t);break;case`file`:u.enqueue({type:`file`,file:new Gu({data:t.data,mediaType:t.mediaType})});break;case`finish`:m={type:`finish`,finishReason:t.finishReason,usage:t.usage,providerMetadata:t.providerMetadata};break;case`tool-call`:try{let p=await Ku({toolCall:t,tools:e,repairToolCall:s,system:i,messages:a});if(u.enqueue(p),p.invalid){l.enqueue({type:`tool-error`,toolCallId:p.toolCallId,toolName:p.toolName,input:p.input,error:We(p.error),dynamic:!0});break}let m=e[p.toolName];if(f.set(p.toolCallId,p.input),m.onInputAvailable!=null&&await m.onInputAvailable({input:p.input,toolCallId:p.toolCallId,messages:a,abortSignal:o,experimental_context:c}),m.execute!=null&&p.providerExecuted!==!0){let e=V();d.add(e),Nu({name:`ai.toolCall`,attributes:Fu({telemetry:r,attributes:{...Du({operationId:`ai.toolCall`,telemetry:r}),"ai.toolCall.name":p.toolName,"ai.toolCall.id":p.toolCallId,"ai.toolCall.args":{output:()=>JSON.stringify(p.input)}}}),tracer:n,fn:async t=>{let n;try{let e=Rn({execute:m.execute.bind(m),input:p.input,options:{toolCallId:p.toolCallId,messages:a,abortSignal:o,experimental_context:c}});for await(let t of e)l.enqueue({...p,type:`tool-result`,output:t.output,...t.type===`preliminary`&&{preliminary:!0}}),t.type===`final`&&(n=t.output)}catch(n){Pu(t,n),l.enqueue({...p,type:`tool-error`,error:n}),d.delete(e),h();return}d.delete(e),h();try{t.setAttributes(Fu({telemetry:r,attributes:{"ai.toolCall.result":{output:()=>JSON.stringify(n)}}}))}catch{}}})}}catch(e){l.enqueue({type:`error`,error:e})}break;case`tool-result`:{let e=t.toolName;t.isError?l.enqueue({type:`tool-error`,toolCallId:t.toolCallId,toolName:e,input:f.get(t.toolCallId),providerExecuted:t.providerExecuted,error:t.result}):u.enqueue({type:`tool-result`,toolCallId:t.toolCallId,toolName:e,input:f.get(t.toolCallId),output:t.result,providerExecuted:t.providerExecuted});break}default:{let e=p;throw Error(`Unhandled chunk type: ${e}`)}}},flush(){p=!0,h()}});return new ReadableStream({async start(e){return Promise.all([t.pipeThrough(g).pipeTo(new WritableStream({write(t){e.enqueue(t)},close(){}})),u.pipeTo(new WritableStream({write(t){e.enqueue(t)},close(){e.close()}}))])}})}var Dd=Ue({prefix:`aitxt`,size:24});function Od({model:e,tools:t,toolChoice:n,system:r,prompt:i,messages:a,maxRetries:o,abortSignal:s,headers:c,stopWhen:l=Yu(1),experimental_output:u,experimental_telemetry:d,prepareStep:f,providerOptions:p,experimental_activeTools:m,activeTools:h=m,experimental_repairToolCall:g,experimental_transform:_,experimental_download:v,includeRawChunks:y=!1,onChunk:b,onError:x=({error:e})=>{console.error(e)},onFinish:S,onAbort:C,onStepFinish:w,experimental_context:T,_internal:{now:E=Td,generateId:D=Dd,currentDate:O=()=>new Date}={},...k}){return new Ad({model:ql(e),telemetry:d,headers:c,settings:k,maxRetries:o,abortSignal:s,system:r,prompt:i,messages:a,tools:t,toolChoice:n,transforms:zu(_),activeTools:h,repairToolCall:g,stopConditions:zu(l),output:u,providerOptions:p,prepareStep:f,includeRawChunks:y,onChunk:b,onError:x,onFinish:S,onAbort:C,onStepFinish:w,now:E,currentDate:O,generateId:D,experimental_context:T,download:v})}function kd(e){if(!e)return new TransformStream({transform(e,t){t.enqueue({part:e,partialOutput:void 0})}});let t,n=``,r=``,i=``;function a({controller:e,partialOutput:n=void 0}){e.enqueue({part:{type:`text-delta`,id:t,text:r},partialOutput:n}),r=``}return new TransformStream({async transform(o,s){if(o.type===`finish-step`&&r.length>0&&a({controller:s}),o.type!==`text-delta`&&o.type!==`text-start`&&o.type!==`text-end`){s.enqueue({part:o,partialOutput:void 0});return}if(t==null)t=o.id;else if(o.id!==t){s.enqueue({part:o,partialOutput:void 0});return}if(o.type===`text-start`){s.enqueue({part:o,partialOutput:void 0});return}if(o.type===`text-end`){r.length>0&&a({controller:s}),s.enqueue({part:o,partialOutput:void 0});return}n+=o.text,r+=o.text;let c=await e.parsePartial({text:n});if(c!=null){let e=JSON.stringify(c.partial);e!==i&&(a({controller:s,partialOutput:c.partial}),i=e)}}})}var Ad=class{constructor({model:e,telemetry:t,headers:n,settings:r,maxRetries:i,abortSignal:a,system:o,prompt:s,messages:c,tools:l,toolChoice:u,transforms:d,activeTools:f,repairToolCall:p,stopConditions:m,output:h,providerOptions:g,prepareStep:_,includeRawChunks:v,now:y,currentDate:b,generateId:x,onChunk:S,onError:C,onFinish:w,onAbort:T,onStepFinish:E,experimental_context:D,download:O}){this._totalUsage=new wd,this._finishReason=new wd,this._steps=new wd,this.output=h,this.includeRawChunks=v,this.tools=l;let k,A=[],ee=[],te,j,M={},N=[],P=[],ne,re={},F={},ie=new TransformStream({async transform(e,t){var n,r,i;t.enqueue(e);let{part:a}=e;if((a.type===`text-delta`||a.type===`reasoning-delta`||a.type===`source`||a.type===`tool-call`||a.type===`tool-result`||a.type===`tool-input-start`||a.type===`tool-input-delta`||a.type===`raw`)&&await S?.({chunk:a}),a.type===`error`&&await C({error:Eu(a.error)}),a.type===`text-start`&&(re[a.id]={type:`text`,text:``,providerMetadata:a.providerMetadata},A.push(re[a.id])),a.type===`text-delta`){let e=re[a.id];if(e==null){t.enqueue({part:{type:`error`,error:`text part ${a.id} not found`},partialOutput:void 0});return}e.text+=a.text,e.providerMetadata=(n=a.providerMetadata)??e.providerMetadata}if(a.type===`text-end`&&delete re[a.id],a.type===`reasoning-start`&&(F[a.id]={type:`reasoning`,text:``,providerMetadata:a.providerMetadata},A.push(F[a.id])),a.type===`reasoning-delta`){let e=F[a.id];if(e==null){t.enqueue({part:{type:`error`,error:`reasoning part ${a.id} not found`},partialOutput:void 0});return}e.text+=a.text,e.providerMetadata=(r=a.providerMetadata)??e.providerMetadata}if(a.type===`reasoning-end`){let e=F[a.id];if(e==null){t.enqueue({part:{type:`error`,error:`reasoning part ${a.id} not found`},partialOutput:void 0});return}e.providerMetadata=(i=a.providerMetadata)??e.providerMetadata,delete F[a.id]}if(a.type===`file`&&A.push({type:`file`,file:a.file}),a.type===`source`&&A.push(a),a.type===`tool-call`&&A.push(a),a.type===`tool-result`&&!a.preliminary&&A.push(a),a.type===`tool-error`&&A.push(a),a.type===`start-step`&&(M=a.request,N=a.warnings),a.type===`finish-step`){let e=$u({content:A,tools:l}),t=new Ju({content:A,finishReason:a.finishReason,usage:a.usage,warnings:N,request:M,response:{...a.response,messages:[...ee,...e]},providerMetadata:a.providerMetadata});await E?.(t),Nc(N),P.push(t),A=[],F={},re={},ee.push(...e),k.resolve()}a.type===`finish`&&(j=a.totalUsage,te=a.finishReason)},async flush(e){try{if(P.length===0){let e=new dl({message:`No output generated. Check the stream for errors.`});I._finishReason.reject(e),I._totalUsage.reject(e),I._steps.reject(e);return}let e=te??`unknown`,n=j??{inputTokens:void 0,outputTokens:void 0,totalTokens:void 0};I._finishReason.resolve(e),I._totalUsage.resolve(n),I._steps.resolve(P);let r=P[P.length-1];await w?.({finishReason:e,totalUsage:n,usage:r.usage,content:r.content,text:r.text,reasoningText:r.reasoningText,reasoning:r.reasoning,files:r.files,sources:r.sources,toolCalls:r.toolCalls,staticToolCalls:r.staticToolCalls,dynamicToolCalls:r.dynamicToolCalls,toolResults:r.toolResults,staticToolResults:r.staticToolResults,dynamicToolResults:r.dynamicToolResults,request:r.request,response:r.response,warnings:r.warnings,providerMetadata:r.providerMetadata,steps:P}),ne.setAttributes(Fu({telemetry:t,attributes:{"ai.response.finishReason":e,"ai.response.text":{output:()=>r.text},"ai.response.toolCalls":{output:()=>{var e;return(e=r.toolCalls)?.length?JSON.stringify(r.toolCalls):void 0}},"ai.response.providerMetadata":JSON.stringify(r.providerMetadata),"ai.usage.inputTokens":n.inputTokens,"ai.usage.outputTokens":n.outputTokens,"ai.usage.totalTokens":n.totalTokens,"ai.usage.reasoningTokens":n.reasoningTokens,"ai.usage.cachedInputTokens":n.cachedInputTokens}}))}catch(t){e.error(t)}finally{ne.end()}}}),ae=Cd();this.addStream=ae.addStream,this.closeStream=ae.close;let oe=ae.stream.getReader(),se=new ReadableStream({async start(e){e.enqueue({type:`start`})},async pull(e){function t(){T?.({steps:P}),e.enqueue({type:`abort`}),e.close()}try{let{done:n,value:r}=await oe.read();if(n){e.close();return}if(a?.aborted){t();return}e.enqueue(r)}catch(n){Ge(n)&&a?.aborted?t():e.error(n)}},cancel(e){return ae.stream.cancel(e)}});for(let e of d)se=se.pipeThrough(e({tools:l,stopStream(){ae.terminate()}}));this.baseStream=se.pipeThrough(kd(h)).pipeThrough(ie);let{maxRetries:ce,retry:le}=Uu({maxRetries:i,abortSignal:a}),ue=Mu(t),de=lu(r),fe=Ou({model:e,telemetry:t,headers:n,settings:{...de,maxRetries:ce}}),I=this;Nu({name:`ai.streamText`,attributes:Fu({telemetry:t,attributes:{...Du({operationId:`ai.streamText`,telemetry:t}),...fe,"ai.prompt":{input:()=>JSON.stringify({system:o,prompt:s,messages:c})}}}),tracer:ue,endWhenDone:!1,fn:async r=>{ne=r;async function i({currentStep:r,responseMessages:d,usage:v}){var S,C,w,T,E;let A=I.includeRawChunks;k=new wd;let ee=await Tu({system:o,prompt:s,messages:c}),te=[...ee.messages,...d],j=await _?.({model:e,steps:P,stepNumber:P.length,messages:te}),M=await au({prompt:{system:(S=j?.system)??ee.system,messages:(C=j?.messages)??te},supportedUrls:await e.supportedUrls,download:O}),N=ql((w=j?.model)??e),{toolChoice:ne,tools:re}=du({tools:l,toolChoice:(T=j?.toolChoice)??u,activeTools:(E=j?.activeTools)??f}),{result:{stream:F,response:ie,request:ae},doStreamSpan:oe,startTimestampMs:se}=await le(()=>Nu({name:`ai.streamText.doStream`,attributes:Fu({telemetry:t,attributes:{...Du({operationId:`ai.streamText.doStream`,telemetry:t}),...fe,"ai.model.provider":N.provider,"ai.model.id":N.modelId,"ai.prompt.messages":{input:()=>Iu(M)},"ai.prompt.tools":{input:()=>re?.map(e=>JSON.stringify(e))},"ai.prompt.toolChoice":{input:()=>ne==null?void 0:JSON.stringify(ne)},"gen_ai.system":N.provider,"gen_ai.request.model":N.modelId,"gen_ai.request.frequency_penalty":de.frequencyPenalty,"gen_ai.request.max_tokens":de.maxOutputTokens,"gen_ai.request.presence_penalty":de.presencePenalty,"gen_ai.request.stop_sequences":de.stopSequences,"gen_ai.request.temperature":de.temperature,"gen_ai.request.top_k":de.topK,"gen_ai.request.top_p":de.topP}}),tracer:ue,endWhenDone:!1,fn:async e=>({startTimestampMs:y(),doStreamSpan:e,result:await N.doStream({...de,tools:re,toolChoice:ne,responseFormat:h?.responseFormat,prompt:M,providerOptions:g,abortSignal:a,headers:n,includeRawChunks:A})})})),ce=Ed({tools:l,generatorStream:F,tracer:ue,telemetry:t,system:o,messages:te,repairToolCall:p,abortSignal:a,experimental_context:D}),pe=ae??{},me=[],he=[],ge,_e={},ve=`unknown`,L={inputTokens:void 0,outputTokens:void 0,totalTokens:void 0},ye,be=!0,R={id:x(),timestamp:b(),modelId:e.modelId},xe=``;I.addStream(ce.pipeThrough(new TransformStream({async transform(e,t){var n,r,i,o;if(e.type===`stream-start`){ge=e.warnings;return}if(be){let e=y()-se;be=!1,oe.addEvent(`ai.stream.firstChunk`,{"ai.response.msToFirstChunk":e}),oe.setAttributes({"ai.response.msToFirstChunk":e}),t.enqueue({type:`start-step`,request:pe,warnings:ge??[]})}let s=e.type;switch(s){case`text-start`:case`text-end`:t.enqueue(e);break;case`text-delta`:e.delta.length>0&&(t.enqueue({type:`text-delta`,id:e.id,text:e.delta,providerMetadata:e.providerMetadata}),xe+=e.delta);break;case`reasoning-start`:case`reasoning-end`:t.enqueue(e);break;case`reasoning-delta`:t.enqueue({type:`reasoning-delta`,id:e.id,text:e.delta,providerMetadata:e.providerMetadata});break;case`tool-call`:t.enqueue(e),me.push(e);break;case`tool-result`:t.enqueue(e),e.preliminary||he.push(e);break;case`tool-error`:t.enqueue(e),he.push(e);break;case`response-metadata`:R={id:(n=e.id)??R.id,timestamp:(r=e.timestamp)??R.timestamp,modelId:(i=e.modelId)??R.modelId};break;case`finish`:{L=e.usage,ve=e.finishReason,ye=e.providerMetadata;let t=y()-se;oe.addEvent(`ai.stream.finish`),oe.setAttributes({"ai.response.msToFinish":t,"ai.response.avgOutputTokensPerSecond":1e3*((o=L.outputTokens)??0)/t});break}case`file`:t.enqueue(e);break;case`source`:t.enqueue(e);break;case`tool-input-start`:{_e[e.id]=e.toolName;let n=l?.[e.toolName];n?.onInputStart!=null&&await n.onInputStart({toolCallId:e.id,messages:te,abortSignal:a,experimental_context:D}),t.enqueue({...e,dynamic:n?.type===`dynamic`});break}case`tool-input-end`:delete _e[e.id],t.enqueue(e);break;case`tool-input-delta`:{let n=_e[e.id],r=l?.[n];r?.onInputDelta!=null&&await r.onInputDelta({inputTextDelta:e.delta,toolCallId:e.id,messages:te,abortSignal:a,experimental_context:D}),t.enqueue(e);break}case`error`:t.enqueue(e),ve=`error`;break;case`raw`:A&&t.enqueue(e);break;default:{let e=s;throw Error(`Unknown chunk type: ${e}`)}}},async flush(e){let n=me.length>0?JSON.stringify(me):void 0;try{oe.setAttributes(Fu({telemetry:t,attributes:{"ai.response.finishReason":ve,"ai.response.text":{output:()=>xe},"ai.response.toolCalls":{output:()=>n},"ai.response.id":R.id,"ai.response.model":R.modelId,"ai.response.timestamp":R.timestamp.toISOString(),"ai.response.providerMetadata":JSON.stringify(ye),"ai.usage.inputTokens":L.inputTokens,"ai.usage.outputTokens":L.outputTokens,"ai.usage.totalTokens":L.totalTokens,"ai.usage.reasoningTokens":L.reasoningTokens,"ai.usage.cachedInputTokens":L.cachedInputTokens,"gen_ai.response.finish_reasons":[ve],"gen_ai.response.id":R.id,"gen_ai.response.model":R.modelId,"gen_ai.usage.input_tokens":L.inputTokens,"gen_ai.usage.output_tokens":L.outputTokens}}))}catch{}finally{oe.end()}e.enqueue({type:`finish-step`,finishReason:ve,usage:L,providerMetadata:ye,response:{...R,headers:ie?.headers}});let a=Lu(v,L);await k.promise;let o=me.filter(e=>e.providerExecuted!==!0),s=he.filter(e=>e.providerExecuted!==!0);if(o.length>0&&s.length===o.length&&!await Xu({stopConditions:m,steps:P})){d.push(...$u({content:P[P.length-1].content,tools:l}));try{await i({currentStep:r+1,responseMessages:d,usage:a})}catch(t){e.enqueue({type:`error`,error:t}),I.closeStream()}}else e.enqueue({type:`finish`,finishReason:ve,totalUsage:a}),I.closeStream()}})))}await i({currentStep:0,responseMessages:[],usage:{inputTokens:void 0,outputTokens:void 0,totalTokens:void 0}})}}).catch(e=>{I.addStream(new ReadableStream({start(t){t.enqueue({type:`error`,error:e}),t.close()}})),I.closeStream()})}get steps(){return this.consumeStream(),this._steps.promise}get finalStep(){return this.steps.then(e=>e[e.length-1])}get content(){return this.finalStep.then(e=>e.content)}get warnings(){return this.finalStep.then(e=>e.warnings)}get providerMetadata(){return this.finalStep.then(e=>e.providerMetadata)}get text(){return this.finalStep.then(e=>e.text)}get reasoningText(){return this.finalStep.then(e=>e.reasoningText)}get reasoning(){return this.finalStep.then(e=>e.reasoning)}get sources(){return this.finalStep.then(e=>e.sources)}get files(){return this.finalStep.then(e=>e.files)}get toolCalls(){return this.finalStep.then(e=>e.toolCalls)}get staticToolCalls(){return this.finalStep.then(e=>e.staticToolCalls)}get dynamicToolCalls(){return this.finalStep.then(e=>e.dynamicToolCalls)}get toolResults(){return this.finalStep.then(e=>e.toolResults)}get staticToolResults(){return this.finalStep.then(e=>e.staticToolResults)}get dynamicToolResults(){return this.finalStep.then(e=>e.dynamicToolResults)}get usage(){return this.finalStep.then(e=>e.usage)}get request(){return this.finalStep.then(e=>e.request)}get response(){return this.finalStep.then(e=>e.response)}get totalUsage(){return this.consumeStream(),this._totalUsage.promise}get finishReason(){return this.consumeStream(),this._finishReason.promise}teeStream(){let[e,t]=this.baseStream.tee();return this.baseStream=t,e}get textStream(){return bd(this.teeStream().pipeThrough(new TransformStream({transform({part:e},t){e.type===`text-delta`&&t.enqueue(e.text)}})))}get fullStream(){return bd(this.teeStream().pipeThrough(new TransformStream({transform({part:e},t){t.enqueue(e)}})))}async consumeStream(e){var t;try{await xd({stream:this.fullStream,onError:e?.onError})}catch(n){(t=e?.onError)==null||t.call(e,n)}}get experimental_partialOutputStream(){if(this.output==null)throw new kc;return bd(this.teeStream().pipeThrough(new TransformStream({transform({partialOutput:e},t){e!=null&&t.enqueue(e)}})))}toUIMessageStream({originalMessages:e,generateMessageId:t,onFinish:n,messageMetadata:r,sendReasoning:i=!0,sendSources:a=!1,sendStart:o=!0,sendFinish:s=!0,onError:c=y}={}){let l=t==null?void 0:sd({originalMessages:e,responseMessageId:t}),u={},d=e=>{var t,n;let r=u[e],i=(n=(t=this.tools)?.[r])?.type===`dynamic`;return i?!0:void 0},f=this.fullStream.pipeThrough(new TransformStream({transform:async(e,t)=>{let n=r?.({part:e}),f=e.type;switch(f){case`text-start`:t.enqueue({type:`text-start`,id:e.id,...e.providerMetadata==null?{}:{providerMetadata:e.providerMetadata}});break;case`text-delta`:t.enqueue({type:`text-delta`,id:e.id,delta:e.text,...e.providerMetadata==null?{}:{providerMetadata:e.providerMetadata}});break;case`text-end`:t.enqueue({type:`text-end`,id:e.id,...e.providerMetadata==null?{}:{providerMetadata:e.providerMetadata}});break;case`reasoning-start`:t.enqueue({type:`reasoning-start`,id:e.id,...e.providerMetadata==null?{}:{providerMetadata:e.providerMetadata}});break;case`reasoning-delta`:i&&t.enqueue({type:`reasoning-delta`,id:e.id,delta:e.text,...e.providerMetadata==null?{}:{providerMetadata:e.providerMetadata}});break;case`reasoning-end`:t.enqueue({type:`reasoning-end`,id:e.id,...e.providerMetadata==null?{}:{providerMetadata:e.providerMetadata}});break;case`file`:t.enqueue({type:`file`,mediaType:e.file.mediaType,url:`data:${e.file.mediaType};base64,${e.file.base64}`});break;case`source`:a&&e.sourceType===`url`&&t.enqueue({type:`source-url`,sourceId:e.id,url:e.url,title:e.title,...e.providerMetadata==null?{}:{providerMetadata:e.providerMetadata}}),a&&e.sourceType===`document`&&t.enqueue({type:`source-document`,sourceId:e.id,mediaType:e.mediaType,title:e.title,filename:e.filename,...e.providerMetadata==null?{}:{providerMetadata:e.providerMetadata}});break;case`tool-input-start`:{u[e.id]=e.toolName;let n=d(e.id);t.enqueue({type:`tool-input-start`,toolCallId:e.id,toolName:e.toolName,...e.providerExecuted==null?{}:{providerExecuted:e.providerExecuted},...n==null?{}:{dynamic:n}});break}case`tool-input-delta`:t.enqueue({type:`tool-input-delta`,toolCallId:e.id,inputTextDelta:e.delta});break;case`tool-call`:{u[e.toolCallId]=e.toolName;let n=d(e.toolCallId);e.invalid?t.enqueue({type:`tool-input-error`,toolCallId:e.toolCallId,toolName:e.toolName,input:e.input,...e.providerExecuted==null?{}:{providerExecuted:e.providerExecuted},...e.providerMetadata==null?{}:{providerMetadata:e.providerMetadata},...n==null?{}:{dynamic:n},errorText:c(e.error)}):t.enqueue({type:`tool-input-available`,toolCallId:e.toolCallId,toolName:e.toolName,input:e.input,...e.providerExecuted==null?{}:{providerExecuted:e.providerExecuted},...e.providerMetadata==null?{}:{providerMetadata:e.providerMetadata},...n==null?{}:{dynamic:n}});break}case`tool-result`:{let n=d(e.toolCallId);t.enqueue({type:`tool-output-available`,toolCallId:e.toolCallId,output:e.output,...e.providerExecuted==null?{}:{providerExecuted:e.providerExecuted},...e.preliminary==null?{}:{preliminary:e.preliminary},...n==null?{}:{dynamic:n}});break}case`tool-error`:{let n=d(e.toolCallId);t.enqueue({type:`tool-output-error`,toolCallId:e.toolCallId,errorText:c(e.error),...e.providerExecuted==null?{}:{providerExecuted:e.providerExecuted},...n==null?{}:{dynamic:n}});break}case`error`:t.enqueue({type:`error`,errorText:c(e.error)});break;case`start-step`:t.enqueue({type:`start-step`});break;case`finish-step`:t.enqueue({type:`finish-step`});break;case`start`:o&&t.enqueue({type:`start`,...n==null?{}:{messageMetadata:n},...l==null?{}:{messageId:l}});break;case`finish`:s&&t.enqueue({type:`finish`,...n==null?{}:{messageMetadata:n}});break;case`abort`:t.enqueue(e);break;case`tool-input-end`:break;case`raw`:break;default:{let e=f;throw Error(`Unknown chunk type: ${e}`)}}n!=null&&f!==`start`&&f!==`finish`&&t.enqueue({type:`message-metadata`,messageMetadata:n})}}));return bd(vd({stream:f,messageId:l??t?.(),originalMessages:e,onFinish:n,onError:c}))}pipeUIMessageStreamToResponse(e,{originalMessages:t,generateMessageId:n,onFinish:r,messageMetadata:i,sendReasoning:a,sendSources:o,sendFinish:s,sendStart:c,onError:l,...u}={}){yd({response:e,stream:this.toUIMessageStream({originalMessages:t,generateMessageId:n,onFinish:r,messageMetadata:i,sendReasoning:a,sendSources:o,sendFinish:s,sendStart:c,onError:l}),...u})}pipeTextStreamToResponse(e,t){rd({response:e,textStream:this.textStream,...t})}toUIMessageStreamResponse({originalMessages:e,generateMessageId:t,onFinish:n,messageMetadata:r,sendReasoning:i,sendSources:a,sendFinish:o,sendStart:s,onError:c,...l}={}){return od({stream:this.toUIMessageStream({originalMessages:e,generateMessageId:t,onFinish:n,messageMetadata:r,sendReasoning:i,sendSources:a,sendFinish:o,sendStart:s,onError:c}),...l})}toTextStreamResponse(e){return td({textStream:this.textStream,...e})}};Ue({prefix:`aiobj`,size:24}),Ue({prefix:`aiobj`,size:24});var jd={};wc(jd,{object:()=>Nd,text:()=>Md});var Md=()=>({type:`text`,responseFormat:{type:`text`},async parsePartial({text:e}){return{partial:e}},async parseOutput({text:e}){return e}}),Nd=({schema:e})=>{let t=An(e);return{type:`object`,responseFormat:{type:`json`,schema:t.jsonSchema},async parsePartial({text:e}){let t=await dd(e);switch(t.state){case`failed-parse`:case`undefined-input`:return;case`repaired-parse`:case`successful-parse`:return{partial:t.value};default:{let e=t.state;throw Error(`Unsupported parse state: ${e}`)}}},async parseOutput({text:e},n){let r=await mt({text:e});if(!r.success)throw new ol({message:`No object generated: could not parse the response.`,cause:r.error,text:e,response:n.response,usage:n.usage,finishReason:n.finishReason});let i=await ft({value:r.value,schema:t});if(!i.success)throw new ol({message:`No object generated: response did not match schema.`,cause:i.error,text:e,response:n.response,usage:n.usage,finishReason:n.finishReason});return i.value}}},Pd=`AI_NoSuchProviderError`,Fd=`vercel.ai.error.${Pd}`,Id=Symbol.for(Fd),Ld;Ld=Id;var Rd=n.looseObject({name:n.string(),version:n.string()}),zd=n.looseObject({_meta:n.optional(n.object({}).loose())}),Bd=zd,Vd=n.object({method:n.string(),params:n.optional(zd)}),Hd=n.looseObject({experimental:n.optional(n.object({}).loose()),logging:n.optional(n.object({}).loose()),prompts:n.optional(n.looseObject({listChanged:n.optional(n.boolean())})),resources:n.optional(n.looseObject({subscribe:n.optional(n.boolean()),listChanged:n.optional(n.boolean())})),tools:n.optional(n.looseObject({listChanged:n.optional(n.boolean())}))});Bd.extend({protocolVersion:n.string(),capabilities:Hd,serverInfo:Rd,instructions:n.optional(n.string())});var Ud=Bd.extend({nextCursor:n.optional(n.string())}),Wd=n.object({name:n.string(),description:n.optional(n.string()),inputSchema:n.object({type:n.literal(`object`),properties:n.optional(n.object({}).loose())}).loose()}).loose();Ud.extend({tools:n.array(Wd)});var Gd=n.object({type:n.literal(`text`),text:n.string()}).loose(),Kd=n.object({type:n.literal(`image`),data:n.base64(),mimeType:n.string()}).loose(),qd=n.object({uri:n.string(),mimeType:n.optional(n.string())}).loose(),Jd=qd.extend({text:n.string()}),Yd=qd.extend({blob:n.base64()}),Xd=n.object({type:n.literal(`resource`),resource:n.union([Jd,Yd])}).loose();Bd.extend({content:n.array(n.union([Gd,Kd,Xd])),isError:n.boolean().default(!1).optional()}).or(Bd.extend({toolResult:n.unknown()}));var Zd=`2.0`,Qd=n.object({jsonrpc:n.literal(Zd),id:n.union([n.string(),n.number().int()])}).merge(Vd).strict(),$d=n.object({jsonrpc:n.literal(Zd),id:n.union([n.string(),n.number().int()]),result:Bd}).strict(),ef=n.object({jsonrpc:n.literal(Zd),id:n.union([n.string(),n.number().int()]),error:n.object({code:n.number().int(),message:n.string(),data:n.optional(n.unknown())})}).strict(),tf=n.object({jsonrpc:n.literal(Zd)}).merge(n.object({method:n.string(),params:n.optional(zd)})).strict();n.union([Qd,tf,$d,ef]);function nf(e,t){let n=[];t?.ignoreIncompleteToolCalls&&(e=e.map(e=>({...e,parts:e.parts.filter(e=>!md(e)||e.state!==`input-streaming`&&e.state!==`input-available`)})));for(let r of e)switch(r.role){case`system`:{let e=r.parts.filter(e=>e.type===`text`),t=e.reduce((e,t)=>t.providerMetadata==null?e:{...e,...t.providerMetadata},{});n.push({role:`system`,content:e.map(e=>e.text).join(``),...Object.keys(t).length>0?{providerOptions:t}:{}});break}case`user`:n.push({role:`user`,content:r.parts.filter(e=>e.type===`text`||e.type===`file`).map(e=>{switch(e.type){case`text`:return{type:`text`,text:e.text,...e.providerMetadata==null?{}:{providerOptions:e.providerMetadata}};case`file`:return{type:`file`,mediaType:e.mediaType,filename:e.filename,data:e.url,...e.providerMetadata==null?{}:{providerOptions:e.providerMetadata}};default:return e}})});break;case`assistant`:if(r.parts!=null){let e=function(){var e,r;if(i.length===0)return;let a=[];for(let n of i)if(n.type===`text`)a.push({type:`text`,text:n.text,...n.providerMetadata==null?{}:{providerOptions:n.providerMetadata}});else if(n.type===`file`)a.push({type:`file`,mediaType:n.mediaType,filename:n.filename,data:n.url});else if(n.type===`reasoning`)a.push({type:`reasoning`,text:n.text,providerOptions:n.providerMetadata});else if(n.type===`dynamic-tool`){let e=n.toolName;n.state!==`input-streaming`&&a.push({type:`tool-call`,toolCallId:n.toolCallId,toolName:e,input:n.input,...n.callProviderMetadata==null?{}:{providerOptions:n.callProviderMetadata}})}else if(fd(n)){let i=hd(n);n.state!==`input-streaming`&&(a.push({type:`tool-call`,toolCallId:n.toolCallId,toolName:i,input:n.state===`output-error`?(e=n.input)??n.rawInput:n.input,providerExecuted:n.providerExecuted,...n.callProviderMetadata==null?{}:{providerOptions:n.callProviderMetadata}}),n.providerExecuted===!0&&(n.state===`output-available`||n.state===`output-error`)&&a.push({type:`tool-result`,toolCallId:n.toolCallId,toolName:i,output:Zu({output:n.state===`output-error`?n.errorText:n.output,tool:(r=t?.tools)?.[i],errorMode:n.state===`output-error`?`json`:`none`})}))}else{let e=n;throw Error(`Unsupported part: ${e}`)}n.push({role:`assistant`,content:a});let o=i.filter(e=>fd(e)&&e.providerExecuted!==!0||e.type===`dynamic-tool`);o.length>0&&n.push({role:`tool`,content:o.map(e=>{var n;switch(e.state){case`output-error`:case`output-available`:{let r=e.type===`dynamic-tool`?e.toolName:hd(e);return{type:`tool-result`,toolCallId:e.toolCallId,toolName:r,output:Zu({output:e.state===`output-error`?e.errorText:e.output,tool:(n=t?.tools)?.[r],errorMode:e.state===`output-error`?`text`:`none`})}}default:return null}}).filter(e=>e!=null)}),i=[]},i=[];for(let t of r.parts)t.type===`text`||t.type===`reasoning`||t.type===`file`||t.type===`dynamic-tool`||fd(t)?i.push(t):t.type===`step-start`&&e();e();break}break;default:{let e=r.role;throw new Il({originalMessage:r,message:`Unsupported role: ${e}`})}}return n}var rf=n.object({type:n.literal(`text`),text:n.string(),state:n.enum([`streaming`,`done`]).optional(),providerMetadata:$.optional()}),af=n.object({type:n.literal(`reasoning`),text:n.string(),state:n.enum([`streaming`,`done`]).optional(),providerMetadata:$.optional()}),sf=n.object({type:n.literal(`source-url`),sourceId:n.string(),url:n.string(),title:n.string().optional(),providerMetadata:$.optional()}),cf=n.object({type:n.literal(`source-document`),sourceId:n.string(),mediaType:n.string(),title:n.string(),filename:n.string().optional(),providerMetadata:$.optional()}),lf=n.object({type:n.literal(`file`),mediaType:n.string(),filename:n.string().optional(),url:n.string(),providerMetadata:$.optional()}),uf=n.object({type:n.literal(`step-start`)}),df=n.object({type:n.string().startsWith(`data-`),id:n.string().optional(),data:n.unknown()}),ff=[n.object({type:n.literal(`dynamic-tool`),toolName:n.string(),toolCallId:n.string(),state:n.literal(`input-streaming`),input:n.unknown().optional(),output:n.never().optional(),errorText:n.never().optional()}),n.object({type:n.literal(`dynamic-tool`),toolName:n.string(),toolCallId:n.string(),state:n.literal(`input-available`),input:n.unknown(),output:n.never().optional(),errorText:n.never().optional(),callProviderMetadata:$.optional()}),n.object({type:n.literal(`dynamic-tool`),toolName:n.string(),toolCallId:n.string(),state:n.literal(`output-available`),input:n.unknown(),output:n.unknown(),errorText:n.never().optional(),callProviderMetadata:$.optional(),preliminary:n.boolean().optional()}),n.object({type:n.literal(`dynamic-tool`),toolName:n.string(),toolCallId:n.string(),state:n.literal(`output-error`),input:n.unknown(),output:n.never().optional(),errorText:n.string(),callProviderMetadata:$.optional()})],pf=[n.object({type:n.string().startsWith(`tool-`),toolCallId:n.string(),state:n.literal(`input-streaming`),input:n.unknown().optional(),output:n.never().optional(),errorText:n.never().optional()}),n.object({type:n.string().startsWith(`tool-`),toolCallId:n.string(),state:n.literal(`input-available`),input:n.unknown(),output:n.never().optional(),errorText:n.never().optional(),callProviderMetadata:$.optional()}),n.object({type:n.string().startsWith(`tool-`),toolCallId:n.string(),state:n.literal(`output-available`),input:n.unknown(),output:n.unknown(),errorText:n.never().optional(),callProviderMetadata:$.optional(),preliminary:n.boolean().optional()}),n.object({type:n.string().startsWith(`tool-`),toolCallId:n.string(),state:n.literal(`output-error`),input:n.unknown(),output:n.never().optional(),errorText:n.string(),callProviderMetadata:$.optional()})];n.object({id:n.string(),role:n.enum([`system`,`user`,`assistant`]),metadata:n.unknown().optional(),parts:n.array(n.union([rf,af,sf,cf,lf,uf,df,...ff,...pf]))});function mf({execute:e,onError:t=We,originalMessages:n,onFinish:r,generateId:i=V}){let a,o=[],s=new ReadableStream({start(e){a=e}});function c(e){try{a.enqueue(e)}catch{}}try{let n=e({writer:{write(e){c(e)},merge(e){o.push((async()=>{let t=e.getReader();for(;;){let{done:e,value:n}=await t.read();if(e)break;c(n)}})().catch(e=>{c({type:`error`,errorText:t(e)})}))},onError:t}});n&&o.push(n.catch(e=>{c({type:`error`,errorText:t(e)})}))}catch(e){c({type:`error`,errorText:t(e)})}let l=new Promise(async e=>{for(;o.length>0;)await o.shift();e()});return l.finally(()=>{try{a.close()}catch{}}),vd({stream:s,messageId:i(),originalMessages:n,onFinish:r,onError:t})}function hf(e){if(!e.body)throw Error(`Response body is required`);let t=e.headers.get(jf);if(!t||t===`ui-message`)return e.body.pipeThrough(new TextDecoderStream).pipeThrough(new Re).pipeThrough(new TransformStream({async transform(e,t){if(e.data===`[DONE]`)return;let n=await mt({text:e.data});n.success?t.enqueue(n.value):t.error(n.error)}}));let n=e=>Od({model:e,prompt:[{role:`user`,content:[{type:`text`,text:`Hello, world!`}]}]}).toUIMessageStream();switch(t){case`openai-chat`:return n(Ma({apiKey:`ignored`,fetch:(t,n)=>e}).chat(`fake-model`));case`openai-response`:return n(Ma({apiKey:`ignored`,fetch:(t,n)=>e}).responses(`fake-model`));case`anthropic`:return n(yr({apiKey:`ignored`,fetch:(t,n)=>e}).chat(`fake-model`));case`google`:return n($r({apiKey:`ignored`,fetch:(t,n)=>e}).chat(`fake-model`));case`xai`:return n(no({apiKey:`ignored`,fetch:(t,n)=>e}).chat(`fake-model`));default:throw Error(`Unsupported response format: ${t}`)}}var gf=(e,t,n={})=>{let r=`${e}=${t}`;if(e.startsWith(`__Secure-`)&&!n.secure)throw Error(`__Secure- Cookie must have Secure attributes`);if(e.startsWith(`__Host-`)){if(!n.secure)throw Error(`__Host- Cookie must have Secure attributes`);if(n.path!==`/`)throw Error(`__Host- Cookie must have Path attributes with "/"`);if(n.domain)throw Error(`__Host- Cookie must not have Domain attributes`)}if(n&&typeof n.maxAge==`number`&&n.maxAge>=0){if(n.maxAge>3456e4)throw Error(`Cookies Max-Age SHOULD NOT be greater than 400 days (34560000 seconds) in duration.`);r+=`; Max-Age=${n.maxAge|0}`}if(n.domain&&n.prefix!==`host`&&(r+=`; Domain=${n.domain}`),n.path&&(r+=`; Path=${n.path}`),n.expires){if(n.expires.getTime()-Date.now()>3456e7)throw Error(`Cookies Expires SHOULD NOT be greater than 400 days (34560000 seconds) in the future.`);r+=`; Expires=${n.expires.toUTCString()}`}if(n.httpOnly&&(r+=`; HttpOnly`),n.secure&&(r+=`; Secure`),n.sameSite&&(r+=`; SameSite=${n.sameSite.charAt(0).toUpperCase()+n.sameSite.slice(1)}`),n.priority&&(r+=`; Priority=${n.priority.charAt(0).toUpperCase()+n.priority.slice(1)}`),n.partitioned){if(!n.secure)throw Error(`Partitioned Cookie must have Secure attributes`);r+=`; Partitioned`}return r},_f=(e,t,n)=>(t=encodeURIComponent(t),gf(e,t,n)),vf=(e,t)=>(e=e.replace(/\/+$/,``),e+=`/`,t=t.replace(/^\/+/,``),e+t),yf=(e,t)=>{for(let[n,r]of Object.entries(t)){let t=RegExp(`/:`+n+`(?:{[^/]+})?\\??`);e=e.replace(t,r?`/${r}`:``)}return e},bf=e=>{let t=new URLSearchParams;for(let[n,r]of Object.entries(e)){if(r===void 0)continue;if(Array.isArray(r))for(let e of r)t.append(n,e);else t.set(n,r)}return t},xf=(e,t)=>{switch(t){case`ws`:return e.replace(/^http/,`ws`);case`http`:return e.replace(/^ws/,`http`)}},Sf=e=>/^https?:\/\/[^\/]+?\/index(?=\?|$)/.test(e)?e.replace(/\/index(?=\?|$)/,`/`):e.replace(/\/index(?=\?|$)/,``);function Cf(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function wf(e,t){if(!Cf(e)&&!Cf(t))return t;let n={...e};for(let e in t){let r=t[e];Cf(n[e])&&Cf(r)?n[e]=wf(n[e],r):n[e]=r}return n}var Tf=(e,t)=>{let n=new Proxy(()=>{},{get(n,r){if(!(typeof r!=`string`||r===`then`))return Tf(e,[...t,r])},apply(n,r,i){return e({path:t,args:i})}});return n},Ef=class{url;method;queryParams=void 0;pathParams={};rBody;cType=void 0;constructor(e,t){this.url=e,this.method=t}fetch=async(e,t)=>{if(e){if(e.query&&(this.queryParams=bf(e.query)),e.form){let t=new FormData;for(let[n,r]of Object.entries(e.form))if(Array.isArray(r))for(let e of r)t.append(n,e);else t.append(n,r);this.rBody=t}e.json&&(this.rBody=JSON.stringify(e.json),this.cType=`application/json`),e.param&&(this.pathParams=e.param)}let n=this.method.toUpperCase(),r={...e?.header,...typeof t?.headers==`function`?await t.headers():t?.headers};if(e?.cookie){let t=[];for(let[n,r]of Object.entries(e.cookie))t.push(_f(n,r,{path:`/`}));r.Cookie=t.join(`,`)}this.cType&&(r[`Content-Type`]=this.cType);let i=new Headers(r??void 0),a=this.url;a=Sf(a),a=yf(a,this.pathParams),this.queryParams&&(a=a+`?`+this.queryParams.toString()),n=this.method.toUpperCase();let o=!(n===`GET`||n===`HEAD`);return(t?.fetch||fetch)(a,{body:o?this.rBody:void 0,method:n,headers:i,...t?.init})}},Df=(e,t)=>Tf(function n(r){let i=[...r.path],a=i.slice(-3).reverse();if(a[0]===`toString`)return a[1]===`name`?a[2]||``:n.toString();if(a[0]===`valueOf`)return a[1]===`name`?a[2]||``:n;let o=``;if(/^\$/.test(a[0])){let e=i.pop();e&&(o=e.replace(/^\$/,``))}let s=i.join(`/`),c=vf(e,s);if(o===`url`){let e=c;return r.args[0]&&(r.args[0].param&&(e=yf(c,r.args[0].param)),r.args[0].query&&(e=e+`?`+bf(r.args[0].query).toString())),e=Sf(e),new URL(e)}if(o===`ws`){let e=xf(r.args[0]&&r.args[0].param?yf(c,r.args[0].param):c,`ws`),n=new URL(e),i=r.args[0]?.query;i&&Object.entries(i).forEach(([e,t])=>{Array.isArray(t)?t.forEach(t=>n.searchParams.append(e,t)):n.searchParams.set(e,t)});let a=(...e)=>t?.webSocket!==void 0&&typeof t.webSocket==`function`?t.webSocket(...e):new WebSocket(...e);return a(n.toString())}let l=new Ef(c,o);if(o){t??={};let e=wf(t,{...r.args[1]});return l.fetch(r.args[0],e)}return l},[]);const Of=`BLINK_API_SERVER_URL`,kf=process.env[Of],Af=Df(kf??``,{fetch:kf?void 0:async()=>{throw console.warn(`Your code is attempting to use the Blink API server, but no API server is configured for this Blink agent.`),Error(`No API server is configured for this Blink agent. External APIs are not available.`)}}),jf=`x-blink-stream-response-format`;var Mf=class{options;constructor(e){this.options=e}get baseUrl(){return this.options.baseUrl}async sendMessages(e,t){let n=await fetch(`${this.options.baseUrl}/_agent/send-messages`,{method:`POST`,body:JSON.stringify(e),headers:this.options.headers,signal:t?.signal});return n.ok||await this.handleError(n),ze(hf(n))}async experimental_provideCompletions(e){let t=await fetch(`${this.options.baseUrl}/_agent/completions`,{method:`POST`,body:JSON.stringify(e),headers:this.options.headers});if(t.ok||await this.handleError(t),t.headers.get(`content-type`)?.includes(`application/json`)){let e=await t.json();return ze(new ReadableStream({start(t){t.enqueue(e),t.close()}}))}if(!t.body)throw Error(`Failed to provide completions (${t.status}): ${t.statusText}`);return Nf(t)}async capabilities(){let e=await fetch(`${this.options.baseUrl}/_agent/capabilities`,{headers:this.options.headers});e.ok||await this.handleError(e);let t=await e.json();return t}async health(){let e=await fetch(`${this.options.baseUrl}/_agent/health`,{headers:this.options.headers});e.ok||await this.handleError(e)}async handleError(e){let t;try{t=await e.text()}catch{}if(t){let n;try{n=JSON.parse(t)}catch{}throw n?Error(n.error):Error(`Failed to send messages (${e.status}): ${t}`)}throw Error(`Failed to send messages (${e.status}): ${e.statusText}`)}};const Nf=e=>{let t=new Re;if(!e.body)throw Error(`The stream endpoint did not return a body!`);return e.body.pipeThrough(new TextDecoderStream).pipeTo(t.writable).catch(e=>{}),Pf(t.readable)},Pf=e=>{let t=e.pipeThrough(new TransformStream({async transform(e,t){let n=await mt({text:e.data});if(!n.success){t.error(n.error);return}t.enqueue(n.value)}}));return ze(t)};export{p as APICallError,Of as APIServerURLEnvironmentVariable,Mf as Client,v as EmptyResponseBodyError,Re as EventSourceParserStream,w as InvalidArgumentError,k as InvalidPromptError,M as InvalidResponseDataError,F as JSONParseError,jf as StreamResponseFormatHeader,Ce as TooManyEmbeddingValuesForCallError,ke as TypeValidationError,z as UnsupportedFunctionalityError,Af as client,nf as convertToModelMessages,ze as createAsyncIterableStream,mf as createUIMessageStream,hd as getToolName,fd as isToolUIPart,Nf as streamSSE};