ai 5.0.0-beta.20 → 5.0.0-beta.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +10 -0
- package/dist/bin/ai.js +208 -186
- package/dist/bin/ai.js.map +1 -1
- package/dist/bin/ai.min.js +35 -48
- package/dist/index.d.mts +19 -4
- package/dist/index.d.ts +19 -4
- package/dist/index.js +63 -35
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +63 -35
- package/dist/index.mjs.map +1 -1
- package/dist/internal/index.js.map +1 -1
- package/dist/internal/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/bin/ai.min.js
CHANGED
@@ -1,49 +1,33 @@
|
|
1
1
|
#!/usr/bin/env node
|
2
|
-
"use strict";var st=Object.defineProperty;var
|
2
|
+
"use strict";var st=Object.defineProperty;var ba=Object.getOwnPropertyDescriptor;var Ua=Object.getOwnPropertyNames;var Ra=Object.prototype.hasOwnProperty;var Pa=(t,e)=>{for(var r in e)st(t,r,{get:e[r],enumerable:!0})},wa=(t,e,r,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of Ua(e))!Ra.call(t,s)&&s!==r&&st(t,s,{get:()=>e[s],enumerable:!(o=ba(e,s))||o.enumerable});return t};var Ca=t=>wa(st({},"__esModule",{value:!0}),t);var uo={};Pa(uo,{formatAttachedFiles:()=>Ia,getMediaType:()=>ca,isStdinAvailable:()=>ma,main:()=>xa,parseArgs:()=>ga,readFileContent:()=>fa,resolveModel:()=>ya,showHelp:()=>Ta,showVersion:()=>Sa});module.exports=Ca(uo);var ia=require("@ai-sdk/provider"),la=require("@ai-sdk/provider-utils");var it=require("@ai-sdk/provider"),Gt="AI_NoOutputSpecifiedError",$t=`vercel.ai.error.${Gt}`,_a=Symbol.for($t),La,Ve=class extends it.AISDKError{constructor({message:r="No output specified."}={}){super({name:Gt,message:r});this[La]=!0}static isInstance(r){return it.AISDKError.hasMarker(r,$t)}};La=_a;function z(t,e){let r=new Headers(t!=null?t:{});for(let[o,s]of Object.entries(e))r.has(o)||r.set(o,s);return r}function Bt({status:t,statusText:e,headers:r,textStream:o}){return new Response(o.pipeThrough(new TextEncoderStream),{status:t!=null?t:200,statusText:e,headers:z(r,{"content-type":"text/plain; charset=utf-8"})})}function Fe({response:t,status:e,statusText:r,headers:o,stream:s}){t.writeHead(e!=null?e:200,r,o);let a=s.getReader();(async()=>{try{for(;;){let{done:n,value:p}=await a.read();if(n)break;t.write(p)}}catch(n){throw n}finally{t.end()}})()}function Jt({response:t,status:e,statusText:r,headers:o,textStream:s}){Fe({response:t,status:e,statusText:r,headers:Object.fromEntries(z(o,{"content-type":"text/plain; charset=utf-8"}).entries()),stream:s.pipeThrough(new TextEncoderStream)})}var ne=class extends TransformStream{constructor(){super({transform(e,r){r.enqueue(`data: ${JSON.stringify(e)}
|
3
3
|
|
4
4
|
`)},flush(e){e.enqueue(`data: [DONE]
|
5
5
|
|
6
|
-
`)}})}};var je={"content-type":"text/event-stream","cache-control":"no-cache",connection:"keep-alive","x-vercel-ai-ui-message-stream":"v1","x-accel-buffering":"no"};function Yt({status:t,statusText:e,headers:r,stream:o,consumeSseStream:s}){let a=o.pipeThrough(new oe);if(s){let[i,n]=a.tee();a=i,s({stream:n})}return new Response(a.pipeThrough(new TextEncoderStream),{status:t,statusText:e,headers:J(r,je)})}function Wt({originalMessages:t,responseMessageId:e}){if(t==null)return;let r=t[t.length-1];return(r==null?void 0:r.role)==="assistant"?r.id:typeof e=="function"?e():e}var Qt=require("@ai-sdk/provider-utils");var d=require("zod/v4"),Uo=d.z.union([d.z.strictObject({type:d.z.literal("text-start"),id:d.z.string()}),d.z.strictObject({type:d.z.literal("text-delta"),id:d.z.string(),delta:d.z.string()}),d.z.strictObject({type:d.z.literal("text-end"),id:d.z.string()}),d.z.strictObject({type:d.z.literal("error"),errorText:d.z.string()}),d.z.strictObject({type:d.z.literal("tool-input-start"),toolCallId:d.z.string(),toolName:d.z.string(),providerExecuted:d.z.boolean().optional()}),d.z.strictObject({type:d.z.literal("tool-input-delta"),toolCallId:d.z.string(),inputTextDelta:d.z.string()}),d.z.strictObject({type:d.z.literal("tool-input-available"),toolCallId:d.z.string(),toolName:d.z.string(),input:d.z.unknown(),providerExecuted:d.z.boolean().optional()}),d.z.strictObject({type:d.z.literal("tool-output-available"),toolCallId:d.z.string(),output:d.z.unknown(),providerExecuted:d.z.boolean().optional()}),d.z.strictObject({type:d.z.literal("tool-output-error"),toolCallId:d.z.string(),errorText:d.z.string(),providerExecuted:d.z.boolean().optional()}),d.z.strictObject({type:d.z.literal("reasoning"),text:d.z.string(),providerMetadata:d.z.record(d.z.string(),d.z.any()).optional()}),d.z.strictObject({type:d.z.literal("reasoning-start"),id:d.z.string(),providerMetadata:d.z.record(d.z.string(),d.z.any()).optional()}),d.z.strictObject({type:d.z.literal("reasoning-delta"),id:d.z.string(),delta:d.z.string(),providerMetadata:d.z.record(d.z.string(),d.z.any()).optional()}),d.z.strictObject({type:d.z.literal("reasoning-end"),id:d.z.string(),providerMetadata:d.z.record(d.z.string(),d.z.any()).optional()}),d.z.strictObject({type:d.z.literal("reasoning-part-finish")}),d.z.strictObject({type:d.z.literal("source-url"),sourceId:d.z.string(),url:d.z.string(),title:d.z.string().optional(),providerMetadata:d.z.any().optional()}),d.z.strictObject({type:d.z.literal("source-document"),sourceId:d.z.string(),mediaType:d.z.string(),title:d.z.string(),filename:d.z.string().optional(),providerMetadata:d.z.any().optional()}),d.z.strictObject({type:d.z.literal("file"),url:d.z.string(),mediaType:d.z.string()}),d.z.strictObject({type:d.z.string().startsWith("data-"),id:d.z.string().optional(),data:d.z.unknown(),transient:d.z.boolean().optional()}),d.z.strictObject({type:d.z.literal("start-step")}),d.z.strictObject({type:d.z.literal("finish-step")}),d.z.strictObject({type:d.z.literal("start"),messageId:d.z.string().optional(),messageMetadata:d.z.unknown().optional()}),d.z.strictObject({type:d.z.literal("finish"),messageMetadata:d.z.unknown().optional()}),d.z.strictObject({type:d.z.literal("message-metadata"),messageMetadata:d.z.unknown()})]);function zt(t){return t.type.startsWith("data-")}function qe(t,e){if(t===void 0&&e===void 0)return;if(t===void 0)return e;if(e===void 0)return t;let r={...t};for(let o in e)if(Object.prototype.hasOwnProperty.call(e,o)){let s=e[o];if(s===void 0)continue;let a=o in t?t[o]:void 0,i=s!==null&&typeof s=="object"&&!Array.isArray(s)&&!(s instanceof Date)&&!(s instanceof RegExp),n=a!=null&&typeof a=="object"&&!Array.isArray(a)&&!(a instanceof Date)&&!(a instanceof RegExp);i&&n?r[o]=qe(a,s):r[o]=s}return r}var lt=require("@ai-sdk/provider-utils");function Kt(t){let e=["ROOT"],r=-1,o=null;function s(p,l,c){switch(p){case'"':{r=l,e.pop(),e.push(c),e.push("INSIDE_STRING");break}case"f":case"t":case"n":{r=l,o=l,e.pop(),e.push(c),e.push("INSIDE_LITERAL");break}case"-":{e.pop(),e.push(c),e.push("INSIDE_NUMBER");break}case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":{r=l,e.pop(),e.push(c),e.push("INSIDE_NUMBER");break}case"{":{r=l,e.pop(),e.push(c),e.push("INSIDE_OBJECT_START");break}case"[":{r=l,e.pop(),e.push(c),e.push("INSIDE_ARRAY_START");break}}}function a(p,l){switch(p){case",":{e.pop(),e.push("INSIDE_OBJECT_AFTER_COMMA");break}case"}":{r=l,e.pop();break}}}function i(p,l){switch(p){case",":{e.pop(),e.push("INSIDE_ARRAY_AFTER_COMMA");break}case"]":{r=l,e.pop();break}}}for(let p=0;p<t.length;p++){let l=t[p];switch(e[e.length-1]){case"ROOT":s(l,p,"FINISH");break;case"INSIDE_OBJECT_START":{switch(l){case'"':{e.pop(),e.push("INSIDE_OBJECT_KEY");break}case"}":{r=p,e.pop();break}}break}case"INSIDE_OBJECT_AFTER_COMMA":{switch(l){case'"':{e.pop(),e.push("INSIDE_OBJECT_KEY");break}}break}case"INSIDE_OBJECT_KEY":{switch(l){case'"':{e.pop(),e.push("INSIDE_OBJECT_AFTER_KEY");break}}break}case"INSIDE_OBJECT_AFTER_KEY":{switch(l){case":":{e.pop(),e.push("INSIDE_OBJECT_BEFORE_VALUE");break}}break}case"INSIDE_OBJECT_BEFORE_VALUE":{s(l,p,"INSIDE_OBJECT_AFTER_VALUE");break}case"INSIDE_OBJECT_AFTER_VALUE":{a(l,p);break}case"INSIDE_STRING":{switch(l){case'"':{e.pop(),r=p;break}case"\\":{e.push("INSIDE_STRING_ESCAPE");break}default:r=p}break}case"INSIDE_ARRAY_START":{switch(l){case"]":{r=p,e.pop();break}default:{r=p,s(l,p,"INSIDE_ARRAY_AFTER_VALUE");break}}break}case"INSIDE_ARRAY_AFTER_VALUE":{switch(l){case",":{e.pop(),e.push("INSIDE_ARRAY_AFTER_COMMA");break}case"]":{r=p,e.pop();break}default:{r=p;break}}break}case"INSIDE_ARRAY_AFTER_COMMA":{s(l,p,"INSIDE_ARRAY_AFTER_VALUE");break}case"INSIDE_STRING_ESCAPE":{e.pop(),r=p;break}case"INSIDE_NUMBER":{switch(l){case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":{r=p;break}case"e":case"E":case"-":case".":break;case",":{e.pop(),e[e.length-1]==="INSIDE_ARRAY_AFTER_VALUE"&&i(l,p),e[e.length-1]==="INSIDE_OBJECT_AFTER_VALUE"&&a(l,p);break}case"}":{e.pop(),e[e.length-1]==="INSIDE_OBJECT_AFTER_VALUE"&&a(l,p);break}case"]":{e.pop(),e[e.length-1]==="INSIDE_ARRAY_AFTER_VALUE"&&i(l,p);break}default:{e.pop();break}}break}case"INSIDE_LITERAL":{let h=t.substring(o,p+1);!"false".startsWith(h)&&!"true".startsWith(h)&&!"null".startsWith(h)?(e.pop(),e[e.length-1]==="INSIDE_OBJECT_AFTER_VALUE"?a(l,p):e[e.length-1]==="INSIDE_ARRAY_AFTER_VALUE"&&i(l,p)):r=p;break}}}let n=t.slice(0,r+1);for(let p=e.length-1;p>=0;p--)switch(e[p]){case"INSIDE_STRING":{n+='"';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":{n+="}";break}case"INSIDE_ARRAY_START":case"INSIDE_ARRAY_AFTER_COMMA":case"INSIDE_ARRAY_AFTER_VALUE":{n+="]";break}case"INSIDE_LITERAL":{let c=t.substring(o,t.length);"true".startsWith(c)?n+="true".slice(c.length):"false".startsWith(c)?n+="false".slice(c.length):"null".startsWith(c)&&(n+="null".slice(c.length))}}return n}async function Ht(t){if(t===void 0)return{value:void 0,state:"undefined-input"};let e=await(0,lt.safeParseJSON)({text:t});return e.success?{value:e.value,state:"successful-parse"}:(e=await(0,lt.safeParseJSON)({text:Kt(t)}),e.success?{value:e.value,state:"repaired-parse"}:{value:void 0,state:"failed-parse"})}function Ie(t){return t.type.startsWith("tool-")}function dt(t){return t.type.split("-")[1]}function Xt({lastMessage:t,messageId:e}){return{message:(t==null?void 0:t.role)==="assistant"?t:{id:e,metadata:void 0,role:"assistant",parts:[]},activeTextParts:{},activeReasoningParts:{},partialToolCalls:{}}}function er({stream:t,onToolCall:e,messageMetadataSchema:r,dataPartSchemas:o,runUpdateMessageJob:s,onError:a,onData:i}){return t.pipeThrough(new TransformStream({async transform(n,p){await s(async({state:l,write:c})=>{var y,U;function h(u){var x;let f=l.message.parts.find(C=>Ie(C)&&C.toolCallId===u.toolCallId),I=u,v=f;f!=null?(f.state=u.state,v.input=I.input,v.output=I.output,v.errorText=I.errorText,v.providerExecuted=(x=I.providerExecuted)!=null?x:f.providerExecuted):l.message.parts.push({type:`tool-${u.toolName}`,toolCallId:u.toolCallId,state:u.state,input:I.input,output:I.output,errorText:I.errorText,providerExecuted:I.providerExecuted})}async function g(u){if(u!=null){let f=l.message.metadata!=null?qe(l.message.metadata,u):u;r!=null&&await(0,Qt.validateTypes)({value:f,schema:r}),l.message.metadata=f}}switch(n.type){case"text-start":{let u={type:"text",text:"",state:"streaming"};l.activeTextParts[n.id]=u,l.message.parts.push(u),c();break}case"text-delta":{l.activeTextParts[n.id].text+=n.delta,c();break}case"text-end":{let u=l.activeTextParts[n.id];u.state="done",delete l.activeTextParts[n.id],c();break}case"reasoning-start":{let u={type:"reasoning",text:"",providerMetadata:n.providerMetadata,state:"streaming"};l.activeReasoningParts[n.id]=u,l.message.parts.push(u),c();break}case"reasoning-delta":{let u=l.activeReasoningParts[n.id];u.text+=n.delta,u.providerMetadata=(y=n.providerMetadata)!=null?y:u.providerMetadata,c();break}case"reasoning-end":{let u=l.activeReasoningParts[n.id];u.providerMetadata=(U=n.providerMetadata)!=null?U:u.providerMetadata,u.state="done",delete l.activeReasoningParts[n.id],c();break}case"file":{l.message.parts.push({type:"file",mediaType:n.mediaType,url:n.url}),c();break}case"source-url":{l.message.parts.push({type:"source-url",sourceId:n.sourceId,url:n.url,title:n.title,providerMetadata:n.providerMetadata}),c();break}case"source-document":{l.message.parts.push({type:"source-document",sourceId:n.sourceId,mediaType:n.mediaType,title:n.title,filename:n.filename,providerMetadata:n.providerMetadata}),c();break}case"tool-input-start":{let u=l.message.parts.filter(Ie);l.partialToolCalls[n.toolCallId]={text:"",toolName:n.toolName,index:u.length},h({toolCallId:n.toolCallId,toolName:n.toolName,state:"input-streaming",input:void 0,providerExecuted:n.providerExecuted}),c();break}case"tool-input-delta":{let u=l.partialToolCalls[n.toolCallId];u.text+=n.inputTextDelta;let{value:f}=await Ht(u.text);h({toolCallId:n.toolCallId,toolName:u.toolName,state:"input-streaming",input:f}),c();break}case"tool-input-available":{if(h({toolCallId:n.toolCallId,toolName:n.toolName,state:"input-available",input:n.input,providerExecuted:n.providerExecuted}),c(),e&&!n.providerExecuted){let u=await e({toolCall:n});u!=null&&(h({toolCallId:n.toolCallId,toolName:n.toolName,state:"output-available",input:n.input,output:u}),c())}break}case"tool-output-available":{let u=l.message.parts.filter(Ie);if(u==null)throw new Error("tool_result must be preceded by a tool_call");let f=u.findIndex(v=>v.toolCallId===n.toolCallId);if(f===-1)throw new Error("tool_result must be preceded by a tool_call with the same toolCallId");let I=dt(u[f]);h({toolCallId:n.toolCallId,toolName:I,state:"output-available",input:u[f].input,output:n.output,providerExecuted:n.providerExecuted}),c();break}case"tool-output-error":{let u=l.message.parts.filter(Ie);if(u==null)throw new Error("tool_result must be preceded by a tool_call");let f=u.findIndex(v=>v.toolCallId===n.toolCallId);if(f===-1)throw new Error("tool_result must be preceded by a tool_call with the same toolCallId");let I=dt(u[f]);h({toolCallId:n.toolCallId,toolName:I,state:"output-error",input:u[f].input,errorText:n.errorText,providerExecuted:n.providerExecuted}),c();break}case"start-step":{l.message.parts.push({type:"step-start"});break}case"finish-step":{l.activeTextParts={},l.activeReasoningParts={};break}case"start":{n.messageId!=null&&(l.message.id=n.messageId),await g(n.messageMetadata),(n.messageId!=null||n.messageMetadata!=null)&&c();break}case"finish":{await g(n.messageMetadata),n.messageMetadata!=null&&c();break}case"message-metadata":{await g(n.messageMetadata),n.messageMetadata!=null&&c();break}case"error":{a==null||a(new Error(n.errorText));break}default:if(zt(n)){let u=n;if(u.transient){i==null||i(u);break}let f=u.id!=null?l.message.parts.find(I=>u.type===I.type&&u.id===I.id):void 0;f!=null?f.data=Zt(f.data)&&Zt(u.data)?qe(f.data,u.data):u.data:l.message.parts.push(u),i==null||i(u),c()}}p.enqueue(n)})}}))}function Zt(t){return typeof t=="object"&&t!==null}function tr({messageId:t,originalMessages:e=[],onFinish:r,onError:o,stream:s}){let a=e==null?void 0:e[e.length-1];(a==null?void 0:a.role)!=="assistant"?a=void 0:t=a.id;let i=s.pipeThrough(new TransformStream({transform(l,c){if(l.type==="start"){let h=l;h.messageId==null&&t!=null&&(h.messageId=t)}c.enqueue(l)}}));if(r==null)return i;let n=Xt({lastMessage:a?structuredClone(a):void 0,messageId:t!=null?t:""});return er({stream:i,runUpdateMessageJob:async l=>{await l({state:n,write:()=>{}})},onError:o}).pipeThrough(new TransformStream({transform(l,c){c.enqueue(l)},flush(){let l=n.message.id===(a==null?void 0:a.id);r({isContinuation:l,responseMessage:n.message,messages:[...l?e.slice(0,-1):e,n.message]})}}))}function rr({response:t,status:e,statusText:r,headers:o,stream:s,consumeSseStream:a}){let i=s.pipeThrough(new oe);if(a){let[n,p]=i.tee();i=n,a({stream:p})}Fe({response:t,status:e,statusText:r,headers:Object.fromEntries(J(o,je).entries()),stream:i.pipeThrough(new TextEncoderStream)})}function pt(t){return t===void 0?[]:Array.isArray(t)?t:[t]}function Ge(t){let e=t.pipeThrough(new TransformStream);return e[Symbol.asyncIterator]=()=>{let r=e.getReader();return{async next(){let{done:o,value:s}=await r.read();return o?{done:!0,value:void 0}:{done:!1,value:s}}}},e}async function ar({stream:t,onError:e}){let r=t.getReader();try{for(;;){let{done:o}=await r.read();if(o)break}}catch(o){e==null||e(o)}finally{r.releaseLock()}}function ut(){let t,e;return{promise:new Promise((o,s)=>{t=o,e=s}),resolve:t,reject:e}}function or(){let t=[],e=null,r=!1,o=ut(),s=async()=>{if(r&&t.length===0){e==null||e.close();return}if(t.length===0)return o=ut(),await o.promise,s();try{let{value:a,done:i}=await t[0].read();i?(t.shift(),t.length>0?await s():r&&(e==null||e.close())):e==null||e.enqueue(a)}catch(a){e==null||e.error(a),t.shift(),r&&t.length===0&&(e==null||e.close())}};return{stream:new ReadableStream({start(a){e=a},pull:s,async cancel(){for(let a of t)await a.cancel();t=[],r=!0}}),addStream:a=>{if(r)throw new Error("Cannot add inner stream: outer stream is closed");t.push(a.getReader()),o.resolve()},close:()=>{r=!0,o.resolve(),t.length===0&&(e==null||e.close())},terminate:()=>{r=!0,o.resolve(),t.forEach(a=>a.cancel()),t=[],e==null||e.close()}}}var Z=class{constructor(){this.status={type:"pending"};this._resolve=void 0;this._reject=void 0}get promise(){return this._promise?this._promise:(this._promise=new Promise((e,r)=>{this.status.type==="resolved"?e(this.status.value):this.status.type==="rejected"&&r(this.status.error),this._resolve=e,this._reject=r}),this._promise)}resolve(e){var r;this.status={type:"resolved",value:e},this._promise&&((r=this._resolve)==null||r.call(this,e))}reject(e){var r;this.status={type:"rejected",error:e},this._promise&&((r=this._reject)==null||r.call(this,e))}};function nr(){var t,e;return(e=(t=globalThis==null?void 0:globalThis.performance)==null?void 0:t.now())!=null?e:Date.now()}var mt=require("@ai-sdk/provider"),sr="AI_InvalidArgumentError",ir=`vercel.ai.error.${sr}`,La=Symbol.for(ir),ka,w=class extends mt.AISDKError{constructor({parameter:r,value:o,message:s}){super({name:sr,message:`Invalid argument for parameter ${r}: ${s}`});this[ka]=!0;this.parameter=r,this.value=o}static isInstance(r){return mt.AISDKError.hasMarker(r,ir)}};ka=La;var pr=require("@ai-sdk/provider"),ne=require("@ai-sdk/provider-utils");var ct=require("@ai-sdk/provider"),lr="AI_RetryError",dr=`vercel.ai.error.${lr}`,Na=Symbol.for(dr),Da,xe=class extends ct.AISDKError{constructor({message:r,reason:o,errors:s}){super({name:lr,message:r});this[Da]=!0;this.reason=o,this.errors=s,this.lastError=s[s.length-1]}static isInstance(r){return ct.AISDKError.hasMarker(r,dr)}};Da=Na;function Va(t,e){let r=t.responseHeaders;if(!r)return e;let o,s=r["retry-after-ms"];if(s){let i=parseFloat(s);Number.isNaN(i)||(o=i)}let a=r["retry-after"];if(a&&o===void 0){let i=parseFloat(a);Number.isNaN(i)?o=Date.parse(a)-Date.now():o=i*1e3}return o!==void 0&&0<=o&&o<60*1e3?o:e}var ur=({maxRetries:t=2,initialDelayInMs:e=2e3,backoffFactor:r=2}={})=>async o=>mr(o,{maxRetries:t,delayInMs:e,backoffFactor:r});async function mr(t,{maxRetries:e,delayInMs:r,backoffFactor:o},s=[]){try{return await t()}catch(a){if((0,ne.isAbortError)(a)||e===0)throw a;let i=(0,ne.getErrorMessage)(a),n=[...s,a],p=n.length;if(p>e)throw new xe({message:`Failed after ${p} attempts. Last error: ${i}`,reason:"maxRetriesExceeded",errors:n});if(a instanceof Error&&pr.APICallError.isInstance(a)&&a.isRetryable===!0&&p<=e){let l=Va(a,r);return await(0,ne.delay)(l),mr(t,{maxRetries:e,delayInMs:o*r,backoffFactor:o},n)}throw p===1?a:new xe({message:`Failed after ${p} attempts with non-retryable error: '${i}'`,reason:"errorNotRetryable",errors:n})}}function cr({maxRetries:t}){if(t!=null){if(!Number.isInteger(t))throw new w({parameter:"maxRetries",value:t,message:"maxRetries must be an integer"});if(t<0)throw new w({parameter:"maxRetries",value:t,message:"maxRetries must be >= 0"})}let e=t!=null?t:2;return{maxRetries:e,retry:ur({maxRetries:e})}}var vr=require("@ai-sdk/provider-utils");var fr=require("@ai-sdk/provider-utils"),gr=[{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"}];var Fa=t=>{let e=typeof t=="string"?(0,fr.convertBase64ToUint8Array)(t):t,r=(e[6]&127)<<21|(e[7]&127)<<14|(e[8]&127)<<7|e[9]&127;return e.slice(r+10)};function ja(t){return typeof t=="string"&&t.startsWith("SUQz")||typeof t!="string"&&t.length>10&&t[0]===73&&t[1]===68&&t[2]===51?Fa(t):t}function Tr({data:t,signatures:e}){let r=ja(t);for(let o of e)if(typeof r=="string"?r.startsWith(o.base64Prefix):r.length>=o.bytesPrefix.length&&o.bytesPrefix.every((s,a)=>r[a]===s))return o.mediaType}var ft=require("@ai-sdk/provider"),Sr="AI_DownloadError",yr=`vercel.ai.error.${Sr}`,qa=Symbol.for(yr),Ga,se=class extends ft.AISDKError{constructor({url:r,statusCode:o,statusText:s,cause:a,message:i=a==null?`Failed to download ${r}: ${o} ${s}`:`Failed to download ${r}: ${a}`}){super({name:Sr,message:i,cause:a});this[Ga]=!0;this.url=r,this.statusCode=o,this.statusText=s}static isInstance(r){return ft.AISDKError.hasMarker(r,yr)}};Ga=qa;async function Ir({url:t}){var r;let e=t.toString();try{let o=await fetch(e);if(!o.ok)throw new se({url:e,statusCode:o.status,statusText:o.statusText});return{data:new Uint8Array(await o.arrayBuffer()),mediaType:(r=o.headers.get("content-type"))!=null?r:void 0}}catch(o){throw se.isInstance(o)?o:new se({url:e,cause:o})}}var hr=require("@ai-sdk/provider"),$e=require("@ai-sdk/provider-utils"),ie=require("zod/v4");function xr(t){try{let[e,r]=t.split(",");return{mediaType:e.split(";")[0].split(":")[1],base64Content:r}}catch(e){return{mediaType:void 0,base64Content:void 0}}}var gt=ie.z.union([ie.z.string(),ie.z.instanceof(Uint8Array),ie.z.instanceof(ArrayBuffer),ie.z.custom(t=>{var e,r;return(r=(e=globalThis.Buffer)==null?void 0:e.isBuffer(t))!=null?r:!1},{message:"Must be a Buffer"})]);function Tt(t){if(t instanceof Uint8Array)return{data:t,mediaType:void 0};if(t instanceof ArrayBuffer)return{data:new Uint8Array(t),mediaType:void 0};if(typeof t=="string")try{t=new URL(t)}catch(e){}if(t instanceof URL&&t.protocol==="data:"){let{mediaType:e,base64Content:r}=xr(t.toString());if(e==null||r==null)throw new hr.AISDKError({name:"InvalidDataContentError",message:`Invalid data URL format in content ${t.toString()}`});return{data:r,mediaType:e}}return{data:t,mediaType:void 0}}function Or(t){return typeof t=="string"?t:t instanceof ArrayBuffer?(0,$e.convertUint8ArrayToBase64)(new Uint8Array(t)):(0,$e.convertUint8ArrayToBase64)(t)}var St=require("@ai-sdk/provider"),Mr="AI_InvalidMessageRoleError",Er=`vercel.ai.error.${Mr}`,$a=Symbol.for(Er),Ba,Be=class extends St.AISDKError{constructor({role:r,message:o=`Invalid message role: '${r}'. Must be one of: "system", "user", "assistant", "tool".`}){super({name:Mr,message:o});this[Ba]=!0;this.role=r}static isInstance(r){return St.AISDKError.hasMarker(r,Er)}};Ba=$a;async function Ar({prompt:t,supportedUrls:e,downloadImplementation:r=Ir}){let o=await Ya(t.messages,r,e);return[...t.system!=null?[{role:"system",content:t.system}]:[],...t.messages.map(s=>Ja({message:s,downloadedAssets:o}))]}function Ja({message:t,downloadedAssets:e}){let r=t.role;switch(r){case"system":return{role:"system",content:t.content,providerOptions:t.providerOptions};case"user":return typeof t.content=="string"?{role:"user",content:[{type:"text",text:t.content}],providerOptions:t.providerOptions}:{role:"user",content:t.content.map(o=>Wa(o,e)).filter(o=>o.type!=="text"||o.text!==""),providerOptions:t.providerOptions};case"assistant":return typeof t.content=="string"?{role:"assistant",content:[{type:"text",text:t.content}],providerOptions:t.providerOptions}:{role:"assistant",content:t.content.filter(o=>o.type!=="text"||o.text!=="").map(o=>{let s=o.providerOptions;switch(o.type){case"file":{let{data:a,mediaType:i}=Tt(o.data);return{type:"file",data:a,filename:o.filename,mediaType:i!=null?i:o.mediaType,providerOptions:s}}case"reasoning":return{type:"reasoning",text:o.text,providerOptions:s};case"text":return{type:"text",text:o.text,providerOptions:s};case"tool-call":return{type:"tool-call",toolCallId:o.toolCallId,toolName:o.toolName,input:o.input,providerExecuted:o.providerExecuted,providerOptions:s};case"tool-result":return{type:"tool-result",toolCallId:o.toolCallId,toolName:o.toolName,output:o.output,providerOptions:s}}}),providerOptions:t.providerOptions};case"tool":return{role:"tool",content:t.content.map(o=>({type:"tool-result",toolCallId:o.toolCallId,toolName:o.toolName,output:o.output,providerOptions:o.providerOptions})),providerOptions:t.providerOptions};default:{let o=r;throw new Be({role:o})}}}async function Ya(t,e,r){let o=t.filter(a=>a.role==="user").map(a=>a.content).filter(a=>Array.isArray(a)).flat().filter(a=>a.type==="image"||a.type==="file").map(a=>{var p;let i=(p=a.mediaType)!=null?p:a.type==="image"?"image/*":void 0,n=a.type==="image"?a.image:a.data;if(typeof n=="string")try{n=new URL(n)}catch(l){}return{mediaType:i,data:n}}).filter(a=>a.data instanceof URL&&a.mediaType!=null&&!(0,vr.isUrlSupported)({url:a.data.toString(),mediaType:a.mediaType,supportedUrls:r})).map(a=>a.data),s=await Promise.all(o.map(async a=>({url:a,data:await e({url:a})})));return Object.fromEntries(s.map(({url:a,data:i})=>[a.toString(),i]))}function Wa(t,e){var p;if(t.type==="text")return{type:"text",text:t.text,providerOptions:t.providerOptions};let r,o=t.type;switch(o){case"image":r=t.image;break;case"file":r=t.data;break;default:throw new Error(`Unsupported part type: ${o}`)}let{data:s,mediaType:a}=Tt(r),i=a!=null?a:t.mediaType,n=s;if(n instanceof URL){let l=e[n.toString()];l&&(n=l.data,i!=null||(i=l.mediaType))}switch(o){case"image":return(n instanceof Uint8Array||typeof n=="string")&&(i=(p=Tr({data:n,signatures:gr}))!=null?p:i),{type:"file",mediaType:i!=null?i:"image/*",filename:void 0,data:n,providerOptions:t.providerOptions};case"file":{if(i==null)throw new Error("Media type is missing for file part");return{type:"file",mediaType:i,filename:t.filename,data:n,providerOptions:t.providerOptions}}}}function br({maxOutputTokens:t,temperature:e,topP:r,topK:o,presencePenalty:s,frequencyPenalty:a,seed:i,stopSequences:n}){if(t!=null){if(!Number.isInteger(t))throw new w({parameter:"maxOutputTokens",value:t,message:"maxOutputTokens must be an integer"});if(t<1)throw new w({parameter:"maxOutputTokens",value:t,message:"maxOutputTokens must be >= 1"})}if(e!=null&&typeof e!="number")throw new w({parameter:"temperature",value:e,message:"temperature must be a number"});if(r!=null&&typeof r!="number")throw new w({parameter:"topP",value:r,message:"topP must be a number"});if(o!=null&&typeof o!="number")throw new w({parameter:"topK",value:o,message:"topK must be a number"});if(s!=null&&typeof s!="number")throw new w({parameter:"presencePenalty",value:s,message:"presencePenalty must be a number"});if(a!=null&&typeof a!="number")throw new w({parameter:"frequencyPenalty",value:a,message:"frequencyPenalty must be a number"});if(i!=null&&!Number.isInteger(i))throw new w({parameter:"seed",value:i,message:"seed must be an integer"});return{maxOutputTokens:t,temperature:e,topP:r,topK:o,presencePenalty:s,frequencyPenalty:a,stopSequences:n,seed:i}}var Rr=require("@ai-sdk/provider-utils");function Ur(t){return t!=null&&Object.keys(t).length>0}function Pr({tools:t,toolChoice:e,activeTools:r}){return Ur(t)?{tools:(r!=null?Object.entries(t).filter(([s])=>r.includes(s)):Object.entries(t)).map(([s,a])=>{let i=a.type;switch(i){case void 0:case"function":return{type:"function",name:s,description:a.description,inputSchema:(0,Rr.asSchema)(a.inputSchema).jsonSchema};case"provider-defined":return{type:"provider-defined",name:s,id:a.id,args:a.args};default:{let n=i;throw new Error(`Unsupported tool type: ${n}`)}}}),toolChoice:e==null?{type:"auto"}:typeof e=="string"?{type:e}:{type:"tool",toolName:e.toolName}}:{tools:void 0,toolChoice:void 0}}var Vr=require("@ai-sdk/gateway");var D=require("@ai-sdk/provider");var he=require("@ai-sdk/provider"),wr="AI_InvalidToolInputError",Cr=`vercel.ai.error.${wr}`,za=Symbol.for(Cr),Ka,Oe=class extends he.AISDKError{constructor({toolInput:r,toolName:o,cause:s,message:a=`Invalid input for tool ${o}: ${(0,he.getErrorMessage)(s)}`}){super({name:wr,message:a,cause:s});this[Ka]=!0;this.toolInput=r,this.toolName=o}static isInstance(r){return he.AISDKError.hasMarker(r,Cr)}};Ka=za;var yt=require("@ai-sdk/provider"),_r="AI_NoSuchToolError",Lr=`vercel.ai.error.${_r}`,Ha=Symbol.for(Lr),Za,le=class extends yt.AISDKError{constructor({toolName:r,availableTools:o=void 0,message:s=`Model tried to call unavailable tool '${r}'. ${o===void 0?"No tools are available.":`Available tools: ${o.join(", ")}.`}`}){super({name:_r,message:s});this[Za]=!0;this.toolName=r,this.availableTools=o}static isInstance(r){return yt.AISDKError.hasMarker(r,Lr)}};Za=Ha;var Me=require("@ai-sdk/provider"),kr="AI_ToolCallRepairError",Nr=`vercel.ai.error.${kr}`,Qa=Symbol.for(Nr),Xa,Je=class extends Me.AISDKError{constructor({cause:r,originalError:o,message:s=`Error repairing tool call: ${(0,Me.getErrorMessage)(r)}`}){super({name:kr,message:s,cause:r});this[Xa]=!0;this.originalError=o}static isInstance(r){return Me.AISDKError.hasMarker(r,Nr)}};Xa=Qa;var Dr=require("@ai-sdk/provider"),Ee=class extends Dr.AISDKError{constructor(r){super({name:"AI_UnsupportedModelVersionError",message:`Unsupported model version ${r.version} for provider "${r.provider}" and model "${r.modelId}". AI SDK 5 only supports models that implement specification version "v2".`});this.version=r.version,this.provider=r.provider,this.modelId=r.modelId}};function It(t){if(typeof t!="string"){if(t.specificationVersion!=="v2")throw new Ee({version:t.specificationVersion,provider:t.provider,modelId:t.modelId});return t}let e=globalThis.AI_SDK_DEFAULT_PROVIDER;return(e!=null?e:Vr.gateway).languageModel(t)}var X=require("@ai-sdk/provider"),$r=require("@ai-sdk/provider-utils"),Br=require("zod/v4");var M=require("zod/v4");var ve=require("zod/v4");var j=require("zod/v4"),Q=j.z.lazy(()=>j.z.union([j.z.null(),j.z.string(),j.z.number(),j.z.boolean(),j.z.record(j.z.string(),Q),j.z.array(Q)]));var L=ve.z.record(ve.z.string(),ve.z.record(ve.z.string(),Q));var T=require("zod/v4");var xt=T.z.object({type:T.z.literal("text"),text:T.z.string(),providerOptions:L.optional()}),Fr=T.z.object({type:T.z.literal("image"),image:T.z.union([gt,T.z.instanceof(URL)]),mediaType:T.z.string().optional(),providerOptions:L.optional()}),ht=T.z.object({type:T.z.literal("file"),data:T.z.union([gt,T.z.instanceof(URL)]),filename:T.z.string().optional(),mediaType:T.z.string(),providerOptions:L.optional()}),jr=T.z.object({type:T.z.literal("reasoning"),text:T.z.string(),providerOptions:L.optional()}),qr=T.z.object({type:T.z.literal("tool-call"),toolCallId:T.z.string(),toolName:T.z.string(),input:T.z.unknown(),providerOptions:L.optional(),providerExecuted:T.z.boolean().optional()}),eo=T.z.discriminatedUnion("type",[T.z.object({type:T.z.literal("text"),value:T.z.string()}),T.z.object({type:T.z.literal("json"),value:Q}),T.z.object({type:T.z.literal("error-text"),value:T.z.string()}),T.z.object({type:T.z.literal("error-json"),value:Q}),T.z.object({type:T.z.literal("content"),value:T.z.array(T.z.union([T.z.object({type:T.z.literal("text"),text:T.z.string()}),T.z.object({type:T.z.literal("media"),data:T.z.string(),mediaType:T.z.string()})]))})]),Ot=T.z.object({type:T.z.literal("tool-result"),toolCallId:T.z.string(),toolName:T.z.string(),output:eo,providerOptions:L.optional()});var to=M.z.object({role:M.z.literal("system"),content:M.z.string(),providerOptions:L.optional()});var ro=M.z.object({role:M.z.literal("user"),content:M.z.union([M.z.string(),M.z.array(M.z.union([xt,Fr,ht]))]),providerOptions:L.optional()});var ao=M.z.object({role:M.z.literal("assistant"),content:M.z.union([M.z.string(),M.z.array(M.z.union([xt,ht,jr,qr,Ot]))]),providerOptions:L.optional()});var oo=M.z.object({role:M.z.literal("tool"),content:M.z.array(Ot),providerOptions:L.optional()});var Gr=M.z.union([to,ro,ao,oo]);async function Jr(t){if(t.prompt==null&&t.messages==null)throw new X.InvalidPromptError({prompt:t,message:"prompt or messages must be defined"});if(t.prompt!=null&&t.messages!=null)throw new X.InvalidPromptError({prompt:t,message:"prompt and messages cannot be defined at the same time"});if(t.system!=null&&typeof t.system!="string")throw new X.InvalidPromptError({prompt:t,message:"system must be a string"});let e;if(t.prompt!=null&&typeof t.prompt=="string")e=[{role:"user",content:t.prompt}];else if(t.prompt!=null&&Array.isArray(t.prompt))e=t.prompt;else if(t.messages!=null)e=t.messages;else throw new X.InvalidPromptError({prompt:t,message:"prompt or messages must be defined"});if(e.length===0)throw new X.InvalidPromptError({prompt:t,message:"messages must not be empty"});let r=await(0,$r.safeValidateTypes)({value:e,schema:Br.z.array(Gr)});if(!r.success)throw new X.InvalidPromptError({prompt:t,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:e,system:t.system}}var Ye=require("@ai-sdk/gateway"),Yr=require("@ai-sdk/provider");function Wr(t){return Ye.GatewayAuthenticationError.isInstance(t)||Ye.GatewayModelNotFoundError.isInstance(t)?new Yr.AISDKError({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:t}):t}function Ae({operationId:t,telemetry:e}){return{"operation.name":`${t}${(e==null?void 0:e.functionId)!=null?` ${e.functionId}`:""}`,"resource.name":e==null?void 0:e.functionId,"ai.operationId":t,"ai.telemetry.functionId":e==null?void 0:e.functionId}}function zr({model:t,settings:e,telemetry:r,headers:o}){var s;return{"ai.model.provider":t.provider,"ai.model.id":t.modelId,...Object.entries(e).reduce((a,[i,n])=>(a[`ai.settings.${i}`]=n,a),{}),...Object.entries((s=r==null?void 0:r.metadata)!=null?s:{}).reduce((a,[i,n])=>(a[`ai.telemetry.metadata.${i}`]=n,a),{}),...Object.entries(o!=null?o:{}).reduce((a,[i,n])=>(n!==void 0&&(a[`ai.request.headers.${i}`]=n),a),{})}}var Hr=require("@opentelemetry/api");var Kr={startSpan(){return We},startActiveSpan(t,e,r,o){if(typeof e=="function")return e(We);if(typeof r=="function")return r(We);if(typeof o=="function")return o(We)}},We={spanContext(){return no},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}},no={traceId:"",spanId:"",traceFlags:0};function Zr({isEnabled:t=!1,tracer:e}={}){return t?e||Hr.trace.getTracer("ai"):Kr}var Mt=require("@opentelemetry/api");function be({name:t,tracer:e,attributes:r,fn:o,endWhenDone:s=!0}){return e.startActiveSpan(t,{attributes:r},async a=>{try{let i=await o(a);return s&&a.end(),i}catch(i){try{Et(a,i)}finally{a.end()}throw i}})}function Et(t,e){e instanceof Error?(t.recordException({name:e.name,message:e.message,stack:e.stack}),t.setStatus({code:Mt.SpanStatusCode.ERROR,message:e.message})):t.setStatus({code:Mt.SpanStatusCode.ERROR})}function Y({telemetry:t,attributes:e}){return(t==null?void 0:t.isEnabled)!==!0?{}:Object.entries(e).reduce((r,[o,s])=>{if(s==null)return r;if(typeof s=="object"&&"input"in s&&typeof s.input=="function"){if((t==null?void 0:t.recordInputs)===!1)return r;let a=s.input();return a==null?r:{...r,[o]:a}}if(typeof s=="object"&&"output"in s&&typeof s.output=="function"){if((t==null?void 0:t.recordOutputs)===!1)return r;let a=s.output();return a==null?r:{...r,[o]:a}}return{...r,[o]:s}},{})}function Qr(t){return JSON.stringify(t.map(e=>({...e,content:typeof e.content=="string"?e.content:e.content.map(r=>r.type==="file"?{...r,data:r.data instanceof Uint8Array?Or(r.data):r.data}:r)})))}function Xr(t,e){return{inputTokens:Ue(t.inputTokens,e.inputTokens),outputTokens:Ue(t.outputTokens,e.outputTokens),totalTokens:Ue(t.totalTokens,e.totalTokens),reasoningTokens:Ue(t.reasoningTokens,e.reasoningTokens),cachedInputTokens:Ue(t.cachedInputTokens,e.cachedInputTokens)}}function Ue(t,e){return t==null&&e==null?void 0:(t!=null?t:0)+(e!=null?e:0)}var ra=require("@ai-sdk/provider-utils");var Ke=require("@ai-sdk/provider-utils"),vt=class{constructor({data:e,mediaType:r}){let o=e instanceof Uint8Array;this.base64Data=o?void 0:e,this.uint8ArrayData=o?e:void 0,this.mediaType=r}get base64(){return this.base64Data==null&&(this.base64Data=(0,Ke.convertUint8ArrayToBase64)(this.uint8ArrayData)),this.base64Data}get uint8Array(){return this.uint8ArrayData==null&&(this.uint8ArrayData=(0,Ke.convertBase64ToUint8Array)(this.base64Data)),this.uint8ArrayData}},ze=class extends vt{constructor(r){super(r);this.type="file"}};var ee=require("@ai-sdk/provider-utils");async function ta({toolCall:t,tools:e,repairToolCall:r,system:o,messages:s}){if(e==null)throw new le({toolName:t.toolName});try{return await ea({toolCall:t,tools:e})}catch(a){if(r==null||!(le.isInstance(a)||Oe.isInstance(a)))throw a;let i=null;try{i=await r({toolCall:t,tools:e,inputSchema:({toolName:n})=>{let{inputSchema:p}=e[n];return(0,ee.asSchema)(p).jsonSchema},system:o,messages:s,error:a})}catch(n){throw new Je({cause:n,originalError:a})}if(i==null)throw a;return await ea({toolCall:i,tools:e})}}async function ea({toolCall:t,tools:e}){let r=t.toolName,o=e[r];if(o==null)throw new le({toolName:t.toolName,availableTools:Object.keys(e)});let s=(0,ee.asSchema)(o.inputSchema),a=t.input.trim()===""?await(0,ee.safeValidateTypes)({value:{},schema:s}):await(0,ee.safeParseJSON)({text:t.input,schema:s});if(a.success===!1)throw new Oe({toolName:r,toolInput:t.input,cause:a.error});return{type:"tool-call",toolCallId:t.toolCallId,toolName:r,input:a.value,providerExecuted:t.providerExecuted,providerMetadata:t.providerMetadata}}function aa({tools:t,generatorStream:e,tracer:r,telemetry:o,system:s,messages:a,abortSignal:i,repairToolCall:n}){let p=null,l=new ReadableStream({start(f){p=f}}),c=new Set,h=new Map,g=!1,y;function U(){g&&c.size===0&&(y!=null&&p.enqueue(y),p.close())}let u=new TransformStream({async transform(f,I){let v=f.type;switch(v){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":{I.enqueue(f);break}case"file":{I.enqueue({type:"file",file:new ze({data:f.data,mediaType:f.mediaType})});break}case"finish":{y={type:"finish",finishReason:f.finishReason,usage:f.usage,providerMetadata:f.providerMetadata};break}case"tool-call":{try{let x=await ta({toolCall:f,tools:t,repairToolCall:n,system:s,messages:a});I.enqueue(x);let C=t[x.toolName];if(h.set(x.toolCallId,x.input),C.onInputAvailable!=null&&await C.onInputAvailable({input:x.input,toolCallId:x.toolCallId,messages:a,abortSignal:i}),C.execute!=null&&x.providerExecuted!==!0){let W=(0,ra.generateId)();c.add(W),be({name:"ai.toolCall",attributes:Y({telemetry:o,attributes:{...Ae({operationId:"ai.toolCall",telemetry:o}),"ai.toolCall.name":x.toolName,"ai.toolCall.id":x.toolCallId,"ai.toolCall.input":{output:()=>JSON.stringify(x.input)}}}),tracer:r,fn:async z=>{let q;try{q=await C.execute(x.input,{toolCallId:x.toolCallId,messages:a,abortSignal:i})}catch(K){Et(z,K),p.enqueue({...x,type:"tool-error",error:K}),c.delete(W),U();return}p.enqueue({...x,type:"tool-result",output:q}),c.delete(W),U();try{z.setAttributes(Y({telemetry:o,attributes:{"ai.toolCall.output":{output:()=>JSON.stringify(q)}}}))}catch(K){}}})}}catch(x){p.enqueue({type:"error",error:x})}break}case"tool-result":{let x=f.toolName;f.isError?p.enqueue({type:"tool-error",toolCallId:f.toolCallId,toolName:x,input:h.get(f.toolCallId),providerExecuted:f.providerExecuted,error:f.result}):I.enqueue({type:"tool-result",toolCallId:f.toolCallId,toolName:x,input:h.get(f.toolCallId),output:f.result,providerExecuted:f.providerExecuted});break}default:{let x=v;throw new Error(`Unhandled chunk type: ${x}`)}}},flush(){g=!0,U()}});return new ReadableStream({async start(f){return Promise.all([e.pipeThrough(u).pipeTo(new WritableStream({write(I){f.enqueue(I)},close(){}})),l.pipeTo(new WritableStream({write(I){f.enqueue(I)},close(){f.close()}}))])}})}var He=class{constructor({content:e,finishReason:r,usage:o,warnings:s,request:a,response:i,providerMetadata:n}){this.content=e,this.finishReason=r,this.usage=o,this.warnings=s,this.request=a,this.response=i,this.providerMetadata=n}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 toolResults(){return this.content.filter(e=>e.type==="tool-result")}};function oa(t){return({steps:e})=>e.length===t}async function na({stopConditions:t,steps:e}){return(await Promise.all(t.map(r=>r({steps:e})))).some(r=>r)}var sa=require("@ai-sdk/provider");function Ze({output:t,tool:e,errorMode:r}){return r==="text"?{type:"error-text",value:(0,sa.getErrorMessage)(t)}:r==="json"?{type:"error-json",value:t}:e!=null&&e.toModelOutput?e.toModelOutput(t):typeof t=="string"?{type:"text",value:t}:{type:"json",value:t}}function At({content:t,tools:e}){let r=[],o=t.filter(a=>a.type!=="source").filter(a=>(a.type!=="tool-result"||a.providerExecuted)&&(a.type!=="tool-error"||a.providerExecuted)).filter(a=>a.type!=="text"||a.text.length>0).map(a=>{switch(a.type){case"text":return a;case"reasoning":return{type:"reasoning",text:a.text,providerOptions:a.providerMetadata};case"file":return{type:"file",data:a.file.base64,mediaType:a.file.mediaType,providerOptions:a.providerMetadata};case"tool-call":return{type:"tool-call",toolCallId:a.toolCallId,toolName:a.toolName,input:a.input,providerExecuted:a.providerExecuted,providerOptions:a.providerMetadata};case"tool-result":return{type:"tool-result",toolCallId:a.toolCallId,toolName:a.toolName,output:Ze({tool:e==null?void 0:e[a.toolName],output:a.output,errorMode:"none"}),providerExecuted:!0,providerOptions:a.providerMetadata};case"tool-error":return{type:"tool-result",toolCallId:a.toolCallId,toolName:a.toolName,output:Ze({tool:e==null?void 0:e[a.toolName],output:a.error,errorMode:"json"}),providerOptions:a.providerMetadata}}});o.length>0&&r.push({role:"assistant",content:o});let s=t.filter(a=>a.type==="tool-result"||a.type==="tool-error").filter(a=>!a.providerExecuted).map(a=>({type:"tool-result",toolCallId:a.toolCallId,toolName:a.toolName,output:Ze({tool:e==null?void 0:e[a.toolName],output:a.type==="tool-result"?a.output:a.error,errorMode:a.type==="tool-error"?"text":"none"})}));return s.length>0&&r.push({role:"tool",content:s}),r}var so=(0,la.createIdGenerator)({prefix:"aitxt",size:24});function da({model:t,tools:e,toolChoice:r,system:o,prompt:s,messages:a,maxRetries:i,abortSignal:n,headers:p,stopWhen:l=oa(1),experimental_output:c,experimental_telemetry:h,prepareStep:g,providerOptions:y,experimental_activeTools:U,activeTools:u=U,experimental_repairToolCall:f,experimental_transform:I,includeRawChunks:v=!1,onChunk:x,onError:C=({error:ue})=>{console.error(ue)},onFinish:W,onStepFinish:z,_internal:{now:q=nr,generateId:K=so,currentDate:de=()=>new Date}={},...pe}){return new bt({model:It(t),telemetry:h,headers:p,settings:pe,maxRetries:i,abortSignal:n,system:o,prompt:s,messages:a,tools:e,toolChoice:r,transforms:pt(I),activeTools:u,repairToolCall:f,stopConditions:pt(l),output:c,providerOptions:y,prepareStep:g,includeRawChunks:v,onChunk:x,onError:C,onFinish:W,onStepFinish:z,now:q,currentDate:de,generateId:K})}function io(t){if(!t)return new TransformStream({transform(i,n){n.enqueue({part:i,partialOutput:void 0})}});let e,r="",o="",s="";function a({controller:i,partialOutput:n=void 0}){i.enqueue({part:{type:"text",id:e,text:o},partialOutput:n}),o=""}return new TransformStream({async transform(i,n){if(i.type==="finish-step"&&o.length>0&&a({controller:n}),i.type!=="text"&&i.type!=="text-start"&&i.type!=="text-end"){n.enqueue({part:i,partialOutput:void 0});return}if(e==null)e=i.id;else if(i.id!==e){n.enqueue({part:i,partialOutput:void 0});return}if(i.type==="text-start"){n.enqueue({part:i,partialOutput:void 0});return}if(i.type==="text-end"){o.length>0&&a({controller:n}),n.enqueue({part:i,partialOutput:void 0});return}r+=i.text,o+=i.text;let p=await t.parsePartial({text:r});if(p!=null){let l=JSON.stringify(p.partial);l!==s&&(a({controller:n,partialOutput:p.partial}),s=l)}}})}var bt=class{constructor({model:e,telemetry:r,headers:o,settings:s,maxRetries:a,abortSignal:i,system:n,prompt:p,messages:l,tools:c,toolChoice:h,transforms:g,activeTools:y,repairToolCall:U,stopConditions:u,output:f,providerOptions:I,prepareStep:v,includeRawChunks:x,now:C,currentDate:W,generateId:z,onChunk:q,onError:K,onFinish:de,onStepFinish:pe}){this._totalUsage=new Z;this._finishReason=new Z;this._steps=new Z;this.output=f,this.includeRawChunks=x,this.generateId=z;let ue,V=[],Ut=[],Pe,we,Rt={},Pt=[],k=[],Qe,me={},te={},xa=new TransformStream({async transform(_,b){var O,H;b.enqueue(_);let{part:m}=_;if((m.type==="text"||m.type==="reasoning"||m.type==="source"||m.type==="tool-call"||m.type==="tool-result"||m.type==="tool-input-start"||m.type==="tool-input-delta"||m.type==="raw")&&await(q==null?void 0:q({chunk:m})),m.type==="error"&&await K({error:Wr(m.error)}),m.type==="text-start"&&(me[m.id]={type:"text",text:"",providerMetadata:m.providerMetadata},V.push(me[m.id])),m.type==="text"){let E=me[m.id];if(E==null){b.enqueue({part:{type:"error",error:`text part ${m.id} not found`},partialOutput:void 0});return}E.text+=m.text,E.providerMetadata=m.providerMetadata}if(m.type==="text-end"&&delete me[m.id],m.type==="reasoning-start"&&(te[m.id]={type:"reasoning",text:"",providerMetadata:m.providerMetadata},V.push(te[m.id])),m.type==="reasoning"){let E=te[m.id];if(E==null){b.enqueue({part:{type:"error",error:`reasoning part ${m.id} not found`},partialOutput:void 0});return}E.text+=m.text,E.providerMetadata=(O=m.providerMetadata)!=null?O:E.providerMetadata}if(m.type==="reasoning-end"){let E=te[m.id];if(E==null){b.enqueue({part:{type:"error",error:`reasoning part ${m.id} not found`},partialOutput:void 0});return}E.providerMetadata=(H=m.providerMetadata)!=null?H:E.providerMetadata,delete te[m.id]}if(m.type==="file"&&V.push({type:"file",file:m.file}),m.type==="source"&&V.push(m),m.type==="tool-call"&&V.push(m),m.type==="tool-result"&&V.push(m),m.type==="tool-error"&&V.push(m),m.type==="start-step"&&(Rt=m.request,Pt=m.warnings),m.type==="finish-step"){let E=At({content:V,tools:c}),fe=new He({content:V,finishReason:m.finishReason,usage:m.usage,warnings:Pt,request:Rt,response:{...m.response,messages:[...Ut,...E]},providerMetadata:m.providerMetadata});await(pe==null?void 0:pe(fe)),k.push(fe),V=[],te={},me={},Ut.push(...E),ue.resolve()}m.type==="finish"&&(we=m.totalUsage,Pe=m.finishReason)},async flush(_){try{if(k.length===0)return;let b=Pe!=null?Pe:"unknown",m=we!=null?we:{inputTokens:void 0,outputTokens:void 0,totalTokens:void 0};$._finishReason.resolve(b),$._totalUsage.resolve(m),$._steps.resolve(k);let O=k[k.length-1];await(de==null?void 0:de({finishReason:b,totalUsage:m,usage:O.usage,content:O.content,text:O.text,reasoningText:O.reasoningText,reasoning:O.reasoning,files:O.files,sources:O.sources,toolCalls:O.toolCalls,toolResults:O.toolResults,request:O.request,response:O.response,warnings:O.warnings,providerMetadata:O.providerMetadata,steps:k})),Qe.setAttributes(Y({telemetry:r,attributes:{"ai.response.finishReason":b,"ai.response.text":{output:()=>O.text},"ai.response.toolCalls":{output:()=>{var H;return(H=O.toolCalls)!=null&&H.length?JSON.stringify(O.toolCalls):void 0}},"ai.response.providerMetadata":JSON.stringify(O.providerMetadata),"ai.usage.inputTokens":m.inputTokens,"ai.usage.outputTokens":m.outputTokens,"ai.usage.totalTokens":m.totalTokens,"ai.usage.reasoningTokens":m.reasoningTokens,"ai.usage.cachedInputTokens":m.cachedInputTokens}}))}catch(b){_.error(b)}finally{Qe.end()}}}),Ce=or();this.addStream=Ce.addStream,this.closeStream=Ce.close;let ce=Ce.stream;ce=ce.pipeThrough(new TransformStream({start(_){_.enqueue({type:"start"})}}));for(let _ of g)ce=ce.pipeThrough(_({tools:c,stopStream(){Ce.terminate()}}));this.baseStream=ce.pipeThrough(io(f)).pipeThrough(xa);let{maxRetries:ha,retry:Oa}=cr({maxRetries:a}),Xe=Zr(r),G=br(s),wt=zr({model:e,telemetry:r,headers:o,settings:{...G,maxRetries:ha}}),$=this;be({name:"ai.streamText",attributes:Y({telemetry:r,attributes:{...Ae({operationId:"ai.streamText",telemetry:r}),...wt,"ai.prompt":{input:()=>JSON.stringify({system:n,prompt:p,messages:l})}}}),tracer:Xe,endWhenDone:!1,fn:async _=>{Qe=_;async function b({currentStep:m,responseMessages:O,usage:H}){var Nt,Dt,Vt,Ft,jt;let E=$.includeRawChunks;ue=new Z;let fe=await Jr({system:n,prompt:p,messages:l}),ge=[...fe.messages,...O],R=await(v==null?void 0:v({model:e,steps:k,stepNumber:k.length,messages:ge})),Ct=await Ar({prompt:{system:(Nt=R==null?void 0:R.system)!=null?Nt:fe.system,messages:(Dt=R==null?void 0:R.messages)!=null?Dt:ge},supportedUrls:await e.supportedUrls}),Te=It((Vt=R==null?void 0:R.model)!=null?Vt:e),{toolChoice:et,tools:_e}=Pr({tools:c,toolChoice:(Ft=R==null?void 0:R.toolChoice)!=null?Ft:h,activeTools:(jt=R==null?void 0:R.activeTools)!=null?jt:y}),{result:{stream:Ma,response:tt,request:rt},doStreamSpan:re,startTimestampMs:_t}=await Oa(()=>be({name:"ai.streamText.doStream",attributes:Y({telemetry:r,attributes:{...Ae({operationId:"ai.streamText.doStream",telemetry:r}),...wt,"ai.model.provider":Te.provider,"ai.model.id":Te.modelId,"ai.prompt.messages":{input:()=>Qr(Ct)},"ai.prompt.tools":{input:()=>_e==null?void 0:_e.map(S=>JSON.stringify(S))},"ai.prompt.toolChoice":{input:()=>et!=null?JSON.stringify(et):void 0},"gen_ai.system":Te.provider,"gen_ai.request.model":Te.modelId,"gen_ai.request.frequency_penalty":G.frequencyPenalty,"gen_ai.request.max_tokens":G.maxOutputTokens,"gen_ai.request.presence_penalty":G.presencePenalty,"gen_ai.request.stop_sequences":G.stopSequences,"gen_ai.request.temperature":G.temperature,"gen_ai.request.top_k":G.topK,"gen_ai.request.top_p":G.topP}}),tracer:Xe,endWhenDone:!1,fn:async S=>({startTimestampMs:C(),doStreamSpan:S,result:await Te.doStream({...G,tools:_e,toolChoice:et,responseFormat:f==null?void 0:f.responseFormat,prompt:Ct,providerOptions:I,abortSignal:i,headers:o,includeRawChunks:E})})})),Ea=aa({tools:c,generatorStream:Ma,tracer:Xe,telemetry:r,system:n,messages:ge,repairToolCall:U,abortSignal:i}),va=rt!=null?rt:{},Le=[],at=[],ke,ot={},ae="unknown",N={inputTokens:void 0,outputTokens:void 0,totalTokens:void 0},nt,Lt=!0,F={id:z(),timestamp:W(),modelId:e.modelId},kt="";$.addStream(Ea.pipeThrough(new TransformStream({async transform(S,A){var ye,Ne,B,qt;if(S.type==="stream-start"){ke=S.warnings;return}if(Lt){let P=C()-_t;Lt=!1,re.addEvent("ai.stream.firstChunk",{"ai.response.msToFirstChunk":P}),re.setAttributes({"ai.response.msToFirstChunk":P}),A.enqueue({type:"start-step",request:va,warnings:ke!=null?ke:[]})}let Se=S.type;switch(Se){case"text-start":case"text-end":{A.enqueue(S);break}case"text-delta":{S.delta.length>0&&(A.enqueue({type:"text",id:S.id,text:S.delta,providerMetadata:S.providerMetadata}),kt+=S.delta);break}case"reasoning-start":case"reasoning-end":{A.enqueue(S);break}case"reasoning-delta":{A.enqueue({type:"reasoning",id:S.id,text:S.delta,providerMetadata:S.providerMetadata});break}case"tool-call":{A.enqueue(S),Le.push(S);break}case"tool-result":{A.enqueue(S),at.push(S);break}case"tool-error":{A.enqueue(S),at.push(S);break}case"response-metadata":{F={id:(ye=S.id)!=null?ye:F.id,timestamp:(Ne=S.timestamp)!=null?Ne:F.timestamp,modelId:(B=S.modelId)!=null?B:F.modelId};break}case"finish":{N=S.usage,ae=S.finishReason,nt=S.providerMetadata;let P=C()-_t;re.addEvent("ai.stream.finish"),re.setAttributes({"ai.response.msToFinish":P,"ai.response.avgOutputTokensPerSecond":1e3*((qt=N.outputTokens)!=null?qt:0)/P});break}case"file":{A.enqueue(S);break}case"source":{A.enqueue(S);break}case"tool-input-start":{ot[S.id]=S.toolName;let P=c==null?void 0:c[S.toolName];(P==null?void 0:P.onInputStart)!=null&&await P.onInputStart({toolCallId:S.id,messages:ge,abortSignal:i}),A.enqueue(S);break}case"tool-input-end":{delete ot[S.id],A.enqueue(S);break}case"tool-input-delta":{let P=ot[S.id],De=c==null?void 0:c[P];(De==null?void 0:De.onInputDelta)!=null&&await De.onInputDelta({inputTextDelta:S.delta,toolCallId:S.id,messages:ge,abortSignal:i}),A.enqueue(S);break}case"error":{A.enqueue(S),ae="error";break}case"raw":{E&&A.enqueue(S);break}default:{let P=Se;throw new Error(`Unknown chunk type: ${P}`)}}},async flush(S){let A=Le.length>0?JSON.stringify(Le):void 0;try{re.setAttributes(Y({telemetry:r,attributes:{"ai.response.finishReason":ae,"ai.response.text":{output:()=>kt},"ai.response.toolCalls":{output:()=>A},"ai.response.id":F.id,"ai.response.model":F.modelId,"ai.response.timestamp":F.timestamp.toISOString(),"ai.response.providerMetadata":JSON.stringify(nt),"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,"gen_ai.response.finish_reasons":[ae],"gen_ai.response.id":F.id,"gen_ai.response.model":F.modelId,"gen_ai.usage.input_tokens":N.inputTokens,"gen_ai.usage.output_tokens":N.outputTokens}}))}catch(B){}finally{re.end()}S.enqueue({type:"finish-step",finishReason:ae,usage:N,providerMetadata:nt,response:{...F,headers:tt==null?void 0:tt.headers}});let Se=Xr(H,N);await ue.promise;let ye=Le.filter(B=>B.providerExecuted!==!0),Ne=at.filter(B=>B.providerExecuted!==!0);if(ye.length>0&&Ne.length===ye.length&&!await na({stopConditions:u,steps:k})){O.push(...At({content:k[k.length-1].content,tools:c}));try{await b({currentStep:m+1,responseMessages:O,usage:Se})}catch(B){S.enqueue({type:"error",error:B}),$.closeStream()}}else S.enqueue({type:"finish",finishReason:ae,totalUsage:Se}),$.closeStream()}})))}await b({currentStep:0,responseMessages:[],usage:{inputTokens:void 0,outputTokens:void 0,totalTokens:void 0}})}}).catch(_=>{$.addStream(new ReadableStream({start(b){b.enqueue({type:"error",error:_}),b.close()}})),$.closeStream()})}get steps(){return 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 toolResults(){return this.finalStep.then(e=>e.toolResults)}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._totalUsage.promise}get finishReason(){return this._finishReason.promise}teeStream(){let[e,r]=this.baseStream.tee();return this.baseStream=r,e}get textStream(){return Ge(this.teeStream().pipeThrough(new TransformStream({transform({part:e},r){e.type==="text"&&r.enqueue(e.text)}})))}get fullStream(){return Ge(this.teeStream().pipeThrough(new TransformStream({transform({part:e},r){r.enqueue(e)}})))}async consumeStream(e){var r;try{await ar({stream:this.fullStream,onError:e==null?void 0:e.onError})}catch(o){(r=e==null?void 0:e.onError)==null||r.call(e,o)}}get experimental_partialOutputStream(){if(this.output==null)throw new Ve;return Ge(this.teeStream().pipeThrough(new TransformStream({transform({partialOutput:e},r){e!=null&&r.enqueue(e)}})))}toUIMessageStream({originalMessages:e,generateMessageId:r,onFinish:o,messageMetadata:s,sendReasoning:a=!0,sendSources:i=!1,sendStart:n=!0,sendFinish:p=!0,onError:l=ia.getErrorMessage}={}){let c=Wt({originalMessages:e,responseMessageId:this.generateId}),h=this.fullStream.pipeThrough(new TransformStream({transform:async(g,y)=>{let U=s==null?void 0:s({part:g}),u=g.type;switch(u){case"text-start":{y.enqueue({type:"text-start",id:g.id});break}case"text":{y.enqueue({type:"text-delta",id:g.id,delta:g.text});break}case"text-end":{y.enqueue({type:"text-end",id:g.id});break}case"reasoning-start":{y.enqueue({type:"reasoning-start",id:g.id,providerMetadata:g.providerMetadata});break}case"reasoning":{a&&y.enqueue({type:"reasoning-delta",id:g.id,delta:g.text,providerMetadata:g.providerMetadata});break}case"reasoning-end":{y.enqueue({type:"reasoning-end",id:g.id,providerMetadata:g.providerMetadata});break}case"file":{y.enqueue({type:"file",mediaType:g.file.mediaType,url:`data:${g.file.mediaType};base64,${g.file.base64}`});break}case"source":{i&&g.sourceType==="url"&&y.enqueue({type:"source-url",sourceId:g.id,url:g.url,title:g.title,providerMetadata:g.providerMetadata}),i&&g.sourceType==="document"&&y.enqueue({type:"source-document",sourceId:g.id,mediaType:g.mediaType,title:g.title,filename:g.filename,providerMetadata:g.providerMetadata});break}case"tool-input-start":{y.enqueue({type:"tool-input-start",toolCallId:g.id,toolName:g.toolName,providerExecuted:g.providerExecuted});break}case"tool-input-delta":{y.enqueue({type:"tool-input-delta",toolCallId:g.id,inputTextDelta:g.delta});break}case"tool-call":{y.enqueue({type:"tool-input-available",toolCallId:g.toolCallId,toolName:g.toolName,input:g.input,providerExecuted:g.providerExecuted});break}case"tool-result":{y.enqueue({type:"tool-output-available",toolCallId:g.toolCallId,output:g.output,providerExecuted:g.providerExecuted});break}case"tool-error":{y.enqueue({type:"tool-output-error",toolCallId:g.toolCallId,errorText:l(g.error),providerExecuted:g.providerExecuted});break}case"error":{y.enqueue({type:"error",errorText:l(g.error)});break}case"start-step":{y.enqueue({type:"start-step"});break}case"finish-step":{y.enqueue({type:"finish-step"});break}case"start":{n&&y.enqueue({type:"start",messageId:c,messageMetadata:U});break}case"finish":{p&&y.enqueue({type:"finish",messageMetadata:U});break}case"tool-input-end":break;case"raw":break;default:{let f=u;throw new Error(`Unknown chunk type: ${f}`)}}U!=null&&u!=="start"&&u!=="finish"&&y.enqueue({type:"message-metadata",messageMetadata:U})}}));return tr({stream:h,messageId:c!=null?c:r==null?void 0:r(),originalMessages:e,onFinish:o,onError:l})}pipeUIMessageStreamToResponse(e,{originalMessages:r,generateMessageId:o,onFinish:s,messageMetadata:a,sendReasoning:i,sendSources:n,sendFinish:p,sendStart:l,onError:c,...h}={}){rr({response:e,stream:this.toUIMessageStream({originalMessages:r,generateMessageId:o,onFinish:s,messageMetadata:a,sendReasoning:i,sendSources:n,sendFinish:p,sendStart:l,onError:c}),...h})}pipeTextStreamToResponse(e,r){Jt({response:e,textStream:this.textStream,...r})}toUIMessageStreamResponse({originalMessages:e,generateMessageId:r,onFinish:o,messageMetadata:s,sendReasoning:a,sendSources:i,sendFinish:n,sendStart:p,onError:l,...c}={}){return Yt({stream:this.toUIMessageStream({originalMessages:e,generateMessageId:r,onFinish:o,messageMetadata:s,sendReasoning:a,sendSources:i,sendFinish:n,sendStart:p,onError:l}),...c})}toTextStreamResponse(e){return Bt({textStream:this.textStream,...e})}};var Re=require("fs"),pa=require("path"),ua=require("@ai-sdk/gateway");function ma(){return!process.stdin.isTTY}async function lo(){return new Promise(t=>{let e="";process.stdin.setEncoding("utf8"),process.stdin.on("data",r=>{e+=r}),process.stdin.on("end",()=>{t(e.trim())})})}function ca(t){var o;let e=(o=t.split(".").pop())==null?void 0:o.toLowerCase();return{js:"application/javascript",ts:"application/typescript",jsx:"text/jsx",tsx:"text/tsx",json:"application/json",md:"text/markdown",txt:"text/plain",py:"text/x-python",html:"text/html",css:"text/css",xml:"application/xml",yaml:"application/yaml",yml:"application/yaml",jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",gif:"image/gif",webp:"image/webp",svg:"image/svg+xml",bmp:"image/bmp",tiff:"image/tiff",tif:"image/tiff"}[e||""]||"text/plain"}function fa(t){let e=(0,pa.resolve)(t);if(!(0,Re.existsSync)(e))throw new Error(`File not found: ${t}`);let r=ca(t),o=r.startsWith("image/"),s;if(o){let a=(0,Re.readFileSync)(e);s=`data:${r};base64,${a.toString("base64")}`}else s=(0,Re.readFileSync)(e,"utf8");return{name:t,content:s,mediaType:r}}function ga(){let t=process.argv.slice(2),e={model:process.env.AI_MODEL||"openai/gpt-4",files:[],help:!1,version:!1,verbose:process.env.AI_VERBOSE==="true",system:process.env.AI_SYSTEM},r=[],o=0;for(;o<t.length;){let s=t[o];switch(s){case"-h":case"--help":e.help=!0;break;case"-V":case"--version":e.version=!0;break;case"-v":case"--verbose":e.verbose=!0;break;case"-m":case"--model":if(o+1<t.length)e.model=t[o+1],o++;else throw new Error("Model option requires a value");break;case"-f":case"--file":if(o+1<t.length)e.files.push(t[o+1]),o++;else throw new Error("File option requires a value");break;case"-s":case"--system":if(o+1<t.length)e.system=t[o+1],o++;else throw new Error("System option requires a value");break;default:if(s.startsWith("-"))throw new Error(`Unknown option: ${s}`);r.push(s)}o++}return r.length>0&&(e.prompt=r.join(" ")),e}function Ta(){console.log(`Usage: ai [options] [prompt]
|
6
|
+
`)}})}};var qe={"content-type":"text/event-stream","cache-control":"no-cache",connection:"keep-alive","x-vercel-ai-ui-message-stream":"v1","x-accel-buffering":"no"};function Yt({status:t,statusText:e,headers:r,stream:o,consumeSseStream:s}){let a=o.pipeThrough(new ne);if(s){let[i,n]=a.tee();a=i,s({stream:n})}return new Response(a.pipeThrough(new TextEncoderStream),{status:t,statusText:e,headers:z(r,qe)})}function Wt({originalMessages:t,responseMessageId:e}){if(t==null)return;let r=t[t.length-1];return(r==null?void 0:r.role)==="assistant"?r.id:typeof e=="function"?e():e}var Qt=require("@ai-sdk/provider-utils");var d=require("zod/v4");var Ie=require("zod/v4");var G=require("zod/v4"),Q=G.z.lazy(()=>G.z.union([G.z.null(),G.z.string(),G.z.number(),G.z.boolean(),G.z.record(G.z.string(),Q),G.z.array(Q)]));var v=Ie.z.record(Ie.z.string(),Ie.z.record(Ie.z.string(),Q));var _o=d.z.union([d.z.strictObject({type:d.z.literal("text-start"),id:d.z.string(),providerMetadata:v.optional()}),d.z.strictObject({type:d.z.literal("text-delta"),id:d.z.string(),delta:d.z.string(),providerMetadata:v.optional()}),d.z.strictObject({type:d.z.literal("text-end"),id:d.z.string(),providerMetadata:v.optional()}),d.z.strictObject({type:d.z.literal("error"),errorText:d.z.string()}),d.z.strictObject({type:d.z.literal("tool-input-start"),toolCallId:d.z.string(),toolName:d.z.string(),providerExecuted:d.z.boolean().optional()}),d.z.strictObject({type:d.z.literal("tool-input-delta"),toolCallId:d.z.string(),inputTextDelta:d.z.string()}),d.z.strictObject({type:d.z.literal("tool-input-available"),toolCallId:d.z.string(),toolName:d.z.string(),input:d.z.unknown(),providerExecuted:d.z.boolean().optional(),providerMetadata:v.optional()}),d.z.strictObject({type:d.z.literal("tool-output-available"),toolCallId:d.z.string(),output:d.z.unknown(),providerExecuted:d.z.boolean().optional()}),d.z.strictObject({type:d.z.literal("tool-output-error"),toolCallId:d.z.string(),errorText:d.z.string(),providerExecuted:d.z.boolean().optional()}),d.z.strictObject({type:d.z.literal("reasoning"),text:d.z.string(),providerMetadata:v.optional()}),d.z.strictObject({type:d.z.literal("reasoning-start"),id:d.z.string(),providerMetadata:v.optional()}),d.z.strictObject({type:d.z.literal("reasoning-delta"),id:d.z.string(),delta:d.z.string(),providerMetadata:v.optional()}),d.z.strictObject({type:d.z.literal("reasoning-end"),id:d.z.string(),providerMetadata:v.optional()}),d.z.strictObject({type:d.z.literal("reasoning-part-finish")}),d.z.strictObject({type:d.z.literal("source-url"),sourceId:d.z.string(),url:d.z.string(),title:d.z.string().optional(),providerMetadata:v.optional()}),d.z.strictObject({type:d.z.literal("source-document"),sourceId:d.z.string(),mediaType:d.z.string(),title:d.z.string(),filename:d.z.string().optional(),providerMetadata:v.optional()}),d.z.strictObject({type:d.z.literal("file"),url:d.z.string(),mediaType:d.z.string(),providerMetadata:v.optional()}),d.z.strictObject({type:d.z.string().startsWith("data-"),id:d.z.string().optional(),data:d.z.unknown(),transient:d.z.boolean().optional()}),d.z.strictObject({type:d.z.literal("start-step")}),d.z.strictObject({type:d.z.literal("finish-step")}),d.z.strictObject({type:d.z.literal("start"),messageId:d.z.string().optional(),messageMetadata:d.z.unknown().optional()}),d.z.strictObject({type:d.z.literal("finish"),messageMetadata:d.z.unknown().optional()}),d.z.strictObject({type:d.z.literal("message-metadata"),messageMetadata:d.z.unknown()})]);function zt(t){return t.type.startsWith("data-")}function je(t,e){if(t===void 0&&e===void 0)return;if(t===void 0)return e;if(e===void 0)return t;let r={...t};for(let o in e)if(Object.prototype.hasOwnProperty.call(e,o)){let s=e[o];if(s===void 0)continue;let a=o in t?t[o]:void 0,i=s!==null&&typeof s=="object"&&!Array.isArray(s)&&!(s instanceof Date)&&!(s instanceof RegExp),n=a!=null&&typeof a=="object"&&!Array.isArray(a)&&!(a instanceof Date)&&!(a instanceof RegExp);i&&n?r[o]=je(a,s):r[o]=s}return r}var lt=require("@ai-sdk/provider-utils");function Kt(t){let e=["ROOT"],r=-1,o=null;function s(p,l,u){switch(p){case'"':{r=l,e.pop(),e.push(u),e.push("INSIDE_STRING");break}case"f":case"t":case"n":{r=l,o=l,e.pop(),e.push(u),e.push("INSIDE_LITERAL");break}case"-":{e.pop(),e.push(u),e.push("INSIDE_NUMBER");break}case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":{r=l,e.pop(),e.push(u),e.push("INSIDE_NUMBER");break}case"{":{r=l,e.pop(),e.push(u),e.push("INSIDE_OBJECT_START");break}case"[":{r=l,e.pop(),e.push(u),e.push("INSIDE_ARRAY_START");break}}}function a(p,l){switch(p){case",":{e.pop(),e.push("INSIDE_OBJECT_AFTER_COMMA");break}case"}":{r=l,e.pop();break}}}function i(p,l){switch(p){case",":{e.pop(),e.push("INSIDE_ARRAY_AFTER_COMMA");break}case"]":{r=l,e.pop();break}}}for(let p=0;p<t.length;p++){let l=t[p];switch(e[e.length-1]){case"ROOT":s(l,p,"FINISH");break;case"INSIDE_OBJECT_START":{switch(l){case'"':{e.pop(),e.push("INSIDE_OBJECT_KEY");break}case"}":{r=p,e.pop();break}}break}case"INSIDE_OBJECT_AFTER_COMMA":{switch(l){case'"':{e.pop(),e.push("INSIDE_OBJECT_KEY");break}}break}case"INSIDE_OBJECT_KEY":{switch(l){case'"':{e.pop(),e.push("INSIDE_OBJECT_AFTER_KEY");break}}break}case"INSIDE_OBJECT_AFTER_KEY":{switch(l){case":":{e.pop(),e.push("INSIDE_OBJECT_BEFORE_VALUE");break}}break}case"INSIDE_OBJECT_BEFORE_VALUE":{s(l,p,"INSIDE_OBJECT_AFTER_VALUE");break}case"INSIDE_OBJECT_AFTER_VALUE":{a(l,p);break}case"INSIDE_STRING":{switch(l){case'"':{e.pop(),r=p;break}case"\\":{e.push("INSIDE_STRING_ESCAPE");break}default:r=p}break}case"INSIDE_ARRAY_START":{switch(l){case"]":{r=p,e.pop();break}default:{r=p,s(l,p,"INSIDE_ARRAY_AFTER_VALUE");break}}break}case"INSIDE_ARRAY_AFTER_VALUE":{switch(l){case",":{e.pop(),e.push("INSIDE_ARRAY_AFTER_COMMA");break}case"]":{r=p,e.pop();break}default:{r=p;break}}break}case"INSIDE_ARRAY_AFTER_COMMA":{s(l,p,"INSIDE_ARRAY_AFTER_VALUE");break}case"INSIDE_STRING_ESCAPE":{e.pop(),r=p;break}case"INSIDE_NUMBER":{switch(l){case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":{r=p;break}case"e":case"E":case"-":case".":break;case",":{e.pop(),e[e.length-1]==="INSIDE_ARRAY_AFTER_VALUE"&&i(l,p),e[e.length-1]==="INSIDE_OBJECT_AFTER_VALUE"&&a(l,p);break}case"}":{e.pop(),e[e.length-1]==="INSIDE_OBJECT_AFTER_VALUE"&&a(l,p);break}case"]":{e.pop(),e[e.length-1]==="INSIDE_ARRAY_AFTER_VALUE"&&i(l,p);break}default:{e.pop();break}}break}case"INSIDE_LITERAL":{let h=t.substring(o,p+1);!"false".startsWith(h)&&!"true".startsWith(h)&&!"null".startsWith(h)?(e.pop(),e[e.length-1]==="INSIDE_OBJECT_AFTER_VALUE"?a(l,p):e[e.length-1]==="INSIDE_ARRAY_AFTER_VALUE"&&i(l,p)):r=p;break}}}let n=t.slice(0,r+1);for(let p=e.length-1;p>=0;p--)switch(e[p]){case"INSIDE_STRING":{n+='"';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":{n+="}";break}case"INSIDE_ARRAY_START":case"INSIDE_ARRAY_AFTER_COMMA":case"INSIDE_ARRAY_AFTER_VALUE":{n+="]";break}case"INSIDE_LITERAL":{let u=t.substring(o,t.length);"true".startsWith(u)?n+="true".slice(u.length):"false".startsWith(u)?n+="false".slice(u.length):"null".startsWith(u)&&(n+="null".slice(u.length))}}return n}async function Ht(t){if(t===void 0)return{value:void 0,state:"undefined-input"};let e=await(0,lt.safeParseJSON)({text:t});return e.success?{value:e.value,state:"successful-parse"}:(e=await(0,lt.safeParseJSON)({text:Kt(t)}),e.success?{value:e.value,state:"repaired-parse"}:{value:void 0,state:"failed-parse"})}function xe(t){return t.type.startsWith("tool-")}function dt(t){return t.type.split("-")[1]}function Xt({lastMessage:t,messageId:e}){return{message:(t==null?void 0:t.role)==="assistant"?t:{id:e,metadata:void 0,role:"assistant",parts:[]},activeTextParts:{},activeReasoningParts:{},partialToolCalls:{}}}function er({stream:t,onToolCall:e,messageMetadataSchema:r,dataPartSchemas:o,runUpdateMessageJob:s,onError:a,onData:i}){return t.pipeThrough(new TransformStream({async transform(n,p){await s(async({state:l,write:u})=>{var x,R,_,y;function h(m){var V;let I=l.message.parts.find(F=>xe(F)&&F.toolCallId===m.toolCallId),S=m,E=I;I!=null?(I.state=m.state,E.input=S.input,E.output=S.output,E.errorText=S.errorText,E.providerExecuted=(V=S.providerExecuted)!=null?V:I.providerExecuted,S.providerMetadata!=null&&I.state==="input-available"&&(I.callProviderMetadata=S.providerMetadata)):l.message.parts.push({type:`tool-${m.toolName}`,toolCallId:m.toolCallId,state:m.state,input:S.input,output:S.output,errorText:S.errorText,providerExecuted:S.providerExecuted,...S.providerMetadata!=null?{callProviderMetadata:S.providerMetadata}:{}})}async function f(m){if(m!=null){let I=l.message.metadata!=null?je(l.message.metadata,m):m;r!=null&&await(0,Qt.validateTypes)({value:I,schema:r}),l.message.metadata=I}}switch(n.type){case"text-start":{let m={type:"text",text:"",providerMetadata:n.providerMetadata,state:"streaming"};l.activeTextParts[n.id]=m,l.message.parts.push(m),u();break}case"text-delta":{let m=l.activeTextParts[n.id];m.text+=n.delta,m.providerMetadata=(x=n.providerMetadata)!=null?x:m.providerMetadata,u();break}case"text-end":{let m=l.activeTextParts[n.id];m.state="done",m.providerMetadata=(R=n.providerMetadata)!=null?R:m.providerMetadata,delete l.activeTextParts[n.id],u();break}case"reasoning-start":{let m={type:"reasoning",text:"",providerMetadata:n.providerMetadata,state:"streaming"};l.activeReasoningParts[n.id]=m,l.message.parts.push(m),u();break}case"reasoning-delta":{let m=l.activeReasoningParts[n.id];m.text+=n.delta,m.providerMetadata=(_=n.providerMetadata)!=null?_:m.providerMetadata,u();break}case"reasoning-end":{let m=l.activeReasoningParts[n.id];m.providerMetadata=(y=n.providerMetadata)!=null?y:m.providerMetadata,m.state="done",delete l.activeReasoningParts[n.id],u();break}case"file":{l.message.parts.push({type:"file",mediaType:n.mediaType,url:n.url}),u();break}case"source-url":{l.message.parts.push({type:"source-url",sourceId:n.sourceId,url:n.url,title:n.title,providerMetadata:n.providerMetadata}),u();break}case"source-document":{l.message.parts.push({type:"source-document",sourceId:n.sourceId,mediaType:n.mediaType,title:n.title,filename:n.filename,providerMetadata:n.providerMetadata}),u();break}case"tool-input-start":{let m=l.message.parts.filter(xe);l.partialToolCalls[n.toolCallId]={text:"",toolName:n.toolName,index:m.length},h({toolCallId:n.toolCallId,toolName:n.toolName,state:"input-streaming",input:void 0,providerExecuted:n.providerExecuted}),u();break}case"tool-input-delta":{let m=l.partialToolCalls[n.toolCallId];m.text+=n.inputTextDelta;let{value:I}=await Ht(m.text);h({toolCallId:n.toolCallId,toolName:m.toolName,state:"input-streaming",input:I}),u();break}case"tool-input-available":{if(h({toolCallId:n.toolCallId,toolName:n.toolName,state:"input-available",input:n.input,providerExecuted:n.providerExecuted,providerMetadata:n.providerMetadata}),u(),e&&!n.providerExecuted){let m=await e({toolCall:n});m!=null&&(h({toolCallId:n.toolCallId,toolName:n.toolName,state:"output-available",input:n.input,output:m}),u())}break}case"tool-output-available":{let m=l.message.parts.filter(xe);if(m==null)throw new Error("tool_result must be preceded by a tool_call");let I=m.findIndex(E=>E.toolCallId===n.toolCallId);if(I===-1)throw new Error("tool_result must be preceded by a tool_call with the same toolCallId");let S=dt(m[I]);h({toolCallId:n.toolCallId,toolName:S,state:"output-available",input:m[I].input,output:n.output,providerExecuted:n.providerExecuted}),u();break}case"tool-output-error":{let m=l.message.parts.filter(xe);if(m==null)throw new Error("tool_result must be preceded by a tool_call");let I=m.findIndex(E=>E.toolCallId===n.toolCallId);if(I===-1)throw new Error("tool_result must be preceded by a tool_call with the same toolCallId");let S=dt(m[I]);h({toolCallId:n.toolCallId,toolName:S,state:"output-error",input:m[I].input,errorText:n.errorText,providerExecuted:n.providerExecuted}),u();break}case"start-step":{l.message.parts.push({type:"step-start"});break}case"finish-step":{l.activeTextParts={},l.activeReasoningParts={};break}case"start":{n.messageId!=null&&(l.message.id=n.messageId),await f(n.messageMetadata),(n.messageId!=null||n.messageMetadata!=null)&&u();break}case"finish":{await f(n.messageMetadata),n.messageMetadata!=null&&u();break}case"message-metadata":{await f(n.messageMetadata),n.messageMetadata!=null&&u();break}case"error":{a==null||a(new Error(n.errorText));break}default:if(zt(n)){let m=n;if(m.transient){i==null||i(m);break}let I=m.id!=null?l.message.parts.find(S=>m.type===S.type&&m.id===S.id):void 0;I!=null?I.data=Zt(I.data)&&Zt(m.data)?je(I.data,m.data):m.data:l.message.parts.push(m),i==null||i(m),u()}}p.enqueue(n)})}}))}function Zt(t){return typeof t=="object"&&t!==null}function tr({messageId:t,originalMessages:e=[],onFinish:r,onError:o,stream:s}){let a=e==null?void 0:e[e.length-1];(a==null?void 0:a.role)!=="assistant"?a=void 0:t=a.id;let i=s.pipeThrough(new TransformStream({transform(l,u){if(l.type==="start"){let h=l;h.messageId==null&&t!=null&&(h.messageId=t)}u.enqueue(l)}}));if(r==null)return i;let n=Xt({lastMessage:a?structuredClone(a):void 0,messageId:t!=null?t:""});return er({stream:i,runUpdateMessageJob:async l=>{await l({state:n,write:()=>{}})},onError:o}).pipeThrough(new TransformStream({transform(l,u){u.enqueue(l)},flush(){let l=n.message.id===(a==null?void 0:a.id);r({isContinuation:l,responseMessage:n.message,messages:[...l?e.slice(0,-1):e,n.message]})}}))}function rr({response:t,status:e,statusText:r,headers:o,stream:s,consumeSseStream:a}){let i=s.pipeThrough(new ne);if(a){let[n,p]=i.tee();i=n,a({stream:p})}Fe({response:t,status:e,statusText:r,headers:Object.fromEntries(z(o,qe).entries()),stream:i.pipeThrough(new TextEncoderStream)})}function pt(t){return t===void 0?[]:Array.isArray(t)?t:[t]}function Ge(t){let e=t.pipeThrough(new TransformStream);return e[Symbol.asyncIterator]=()=>{let r=e.getReader();return{async next(){let{done:o,value:s}=await r.read();return o?{done:!0,value:void 0}:{done:!1,value:s}}}},e}async function ar({stream:t,onError:e}){let r=t.getReader();try{for(;;){let{done:o}=await r.read();if(o)break}}catch(o){e==null||e(o)}finally{r.releaseLock()}}function ut(){let t,e;return{promise:new Promise((o,s)=>{t=o,e=s}),resolve:t,reject:e}}function or(){let t=[],e=null,r=!1,o=ut(),s=async()=>{if(r&&t.length===0){e==null||e.close();return}if(t.length===0)return o=ut(),await o.promise,s();try{let{value:a,done:i}=await t[0].read();i?(t.shift(),t.length>0?await s():r&&(e==null||e.close())):e==null||e.enqueue(a)}catch(a){e==null||e.error(a),t.shift(),r&&t.length===0&&(e==null||e.close())}};return{stream:new ReadableStream({start(a){e=a},pull:s,async cancel(){for(let a of t)await a.cancel();t=[],r=!0}}),addStream:a=>{if(r)throw new Error("Cannot add inner stream: outer stream is closed");t.push(a.getReader()),o.resolve()},close:()=>{r=!0,o.resolve(),t.length===0&&(e==null||e.close())},terminate:()=>{r=!0,o.resolve(),t.forEach(a=>a.cancel()),t=[],e==null||e.close()}}}var X=class{constructor(){this.status={type:"pending"};this._resolve=void 0;this._reject=void 0}get promise(){return this._promise?this._promise:(this._promise=new Promise((e,r)=>{this.status.type==="resolved"?e(this.status.value):this.status.type==="rejected"&&r(this.status.error),this._resolve=e,this._reject=r}),this._promise)}resolve(e){var r;this.status={type:"resolved",value:e},this._promise&&((r=this._resolve)==null||r.call(this,e))}reject(e){var r;this.status={type:"rejected",error:e},this._promise&&((r=this._reject)==null||r.call(this,e))}};function nr(){var t,e;return(e=(t=globalThis==null?void 0:globalThis.performance)==null?void 0:t.now())!=null?e:Date.now()}var mt=require("@ai-sdk/provider"),sr="AI_InvalidArgumentError",ir=`vercel.ai.error.${sr}`,ka=Symbol.for(ir),Na,C=class extends mt.AISDKError{constructor({parameter:r,value:o,message:s}){super({name:sr,message:`Invalid argument for parameter ${r}: ${s}`});this[Na]=!0;this.parameter=r,this.value=o}static isInstance(r){return mt.AISDKError.hasMarker(r,ir)}};Na=ka;var pr=require("@ai-sdk/provider"),se=require("@ai-sdk/provider-utils");var ct=require("@ai-sdk/provider"),lr="AI_RetryError",dr=`vercel.ai.error.${lr}`,Da=Symbol.for(dr),Va,he=class extends ct.AISDKError{constructor({message:r,reason:o,errors:s}){super({name:lr,message:r});this[Va]=!0;this.reason=o,this.errors=s,this.lastError=s[s.length-1]}static isInstance(r){return ct.AISDKError.hasMarker(r,dr)}};Va=Da;function Fa(t,e){let r=t.responseHeaders;if(!r)return e;let o,s=r["retry-after-ms"];if(s){let i=parseFloat(s);Number.isNaN(i)||(o=i)}let a=r["retry-after"];if(a&&o===void 0){let i=parseFloat(a);Number.isNaN(i)?o=Date.parse(a)-Date.now():o=i*1e3}return o!==void 0&&0<=o&&o<60*1e3?o:e}var ur=({maxRetries:t=2,initialDelayInMs:e=2e3,backoffFactor:r=2}={})=>async o=>mr(o,{maxRetries:t,delayInMs:e,backoffFactor:r});async function mr(t,{maxRetries:e,delayInMs:r,backoffFactor:o},s=[]){try{return await t()}catch(a){if((0,se.isAbortError)(a)||e===0)throw a;let i=(0,se.getErrorMessage)(a),n=[...s,a],p=n.length;if(p>e)throw new he({message:`Failed after ${p} attempts. Last error: ${i}`,reason:"maxRetriesExceeded",errors:n});if(a instanceof Error&&pr.APICallError.isInstance(a)&&a.isRetryable===!0&&p<=e){let l=Fa(a,r);return await(0,se.delay)(l),mr(t,{maxRetries:e,delayInMs:o*r,backoffFactor:o},n)}throw p===1?a:new he({message:`Failed after ${p} attempts with non-retryable error: '${i}'`,reason:"errorNotRetryable",errors:n})}}function cr({maxRetries:t}){if(t!=null){if(!Number.isInteger(t))throw new C({parameter:"maxRetries",value:t,message:"maxRetries must be an integer"});if(t<0)throw new C({parameter:"maxRetries",value:t,message:"maxRetries must be >= 0"})}let e=t!=null?t:2;return{maxRetries:e,retry:ur({maxRetries:e})}}var Er=require("@ai-sdk/provider-utils");var fr=require("@ai-sdk/provider-utils"),gr=[{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"}];var qa=t=>{let e=typeof t=="string"?(0,fr.convertBase64ToUint8Array)(t):t,r=(e[6]&127)<<21|(e[7]&127)<<14|(e[8]&127)<<7|e[9]&127;return e.slice(r+10)};function ja(t){return typeof t=="string"&&t.startsWith("SUQz")||typeof t!="string"&&t.length>10&&t[0]===73&&t[1]===68&&t[2]===51?qa(t):t}function Tr({data:t,signatures:e}){let r=ja(t);for(let o of e)if(typeof r=="string"?r.startsWith(o.base64Prefix):r.length>=o.bytesPrefix.length&&o.bytesPrefix.every((s,a)=>r[a]===s))return o.mediaType}var ft=require("@ai-sdk/provider"),Sr="AI_DownloadError",yr=`vercel.ai.error.${Sr}`,Ga=Symbol.for(yr),$a,ie=class extends ft.AISDKError{constructor({url:r,statusCode:o,statusText:s,cause:a,message:i=a==null?`Failed to download ${r}: ${o} ${s}`:`Failed to download ${r}: ${a}`}){super({name:Sr,message:i,cause:a});this[$a]=!0;this.url=r,this.statusCode=o,this.statusText=s}static isInstance(r){return ft.AISDKError.hasMarker(r,yr)}};$a=Ga;async function Ir({url:t}){var r;let e=t.toString();try{let o=await fetch(e);if(!o.ok)throw new ie({url:e,statusCode:o.status,statusText:o.statusText});return{data:new Uint8Array(await o.arrayBuffer()),mediaType:(r=o.headers.get("content-type"))!=null?r:void 0}}catch(o){throw ie.isInstance(o)?o:new ie({url:e,cause:o})}}var hr=require("@ai-sdk/provider"),$e=require("@ai-sdk/provider-utils"),le=require("zod/v4");function xr(t){try{let[e,r]=t.split(",");return{mediaType:e.split(";")[0].split(":")[1],base64Content:r}}catch(e){return{mediaType:void 0,base64Content:void 0}}}var gt=le.z.union([le.z.string(),le.z.instanceof(Uint8Array),le.z.instanceof(ArrayBuffer),le.z.custom(t=>{var e,r;return(r=(e=globalThis.Buffer)==null?void 0:e.isBuffer(t))!=null?r:!1},{message:"Must be a Buffer"})]);function Tt(t){if(t instanceof Uint8Array)return{data:t,mediaType:void 0};if(t instanceof ArrayBuffer)return{data:new Uint8Array(t),mediaType:void 0};if(typeof t=="string")try{t=new URL(t)}catch(e){}if(t instanceof URL&&t.protocol==="data:"){let{mediaType:e,base64Content:r}=xr(t.toString());if(e==null||r==null)throw new hr.AISDKError({name:"InvalidDataContentError",message:`Invalid data URL format in content ${t.toString()}`});return{data:r,mediaType:e}}return{data:t,mediaType:void 0}}function Mr(t){return typeof t=="string"?t:t instanceof ArrayBuffer?(0,$e.convertUint8ArrayToBase64)(new Uint8Array(t)):(0,$e.convertUint8ArrayToBase64)(t)}var St=require("@ai-sdk/provider"),vr="AI_InvalidMessageRoleError",Or=`vercel.ai.error.${vr}`,Ba=Symbol.for(Or),Ja,Be=class extends St.AISDKError{constructor({role:r,message:o=`Invalid message role: '${r}'. Must be one of: "system", "user", "assistant", "tool".`}){super({name:vr,message:o});this[Ja]=!0;this.role=r}static isInstance(r){return St.AISDKError.hasMarker(r,Or)}};Ja=Ba;async function Ar({prompt:t,supportedUrls:e,downloadImplementation:r=Ir}){let o=await Wa(t.messages,r,e);return[...t.system!=null?[{role:"system",content:t.system}]:[],...t.messages.map(s=>Ya({message:s,downloadedAssets:o}))]}function Ya({message:t,downloadedAssets:e}){let r=t.role;switch(r){case"system":return{role:"system",content:t.content,providerOptions:t.providerOptions};case"user":return typeof t.content=="string"?{role:"user",content:[{type:"text",text:t.content}],providerOptions:t.providerOptions}:{role:"user",content:t.content.map(o=>za(o,e)).filter(o=>o.type!=="text"||o.text!==""),providerOptions:t.providerOptions};case"assistant":return typeof t.content=="string"?{role:"assistant",content:[{type:"text",text:t.content}],providerOptions:t.providerOptions}:{role:"assistant",content:t.content.filter(o=>o.type!=="text"||o.text!=="").map(o=>{let s=o.providerOptions;switch(o.type){case"file":{let{data:a,mediaType:i}=Tt(o.data);return{type:"file",data:a,filename:o.filename,mediaType:i!=null?i:o.mediaType,providerOptions:s}}case"reasoning":return{type:"reasoning",text:o.text,providerOptions:s};case"text":return{type:"text",text:o.text,providerOptions:s};case"tool-call":return{type:"tool-call",toolCallId:o.toolCallId,toolName:o.toolName,input:o.input,providerExecuted:o.providerExecuted,providerOptions:s};case"tool-result":return{type:"tool-result",toolCallId:o.toolCallId,toolName:o.toolName,output:o.output,providerOptions:s}}}),providerOptions:t.providerOptions};case"tool":return{role:"tool",content:t.content.map(o=>({type:"tool-result",toolCallId:o.toolCallId,toolName:o.toolName,output:o.output,providerOptions:o.providerOptions})),providerOptions:t.providerOptions};default:{let o=r;throw new Be({role:o})}}}async function Wa(t,e,r){let o=t.filter(a=>a.role==="user").map(a=>a.content).filter(a=>Array.isArray(a)).flat().filter(a=>a.type==="image"||a.type==="file").map(a=>{var p;let i=(p=a.mediaType)!=null?p:a.type==="image"?"image/*":void 0,n=a.type==="image"?a.image:a.data;if(typeof n=="string")try{n=new URL(n)}catch(l){}return{mediaType:i,data:n}}).filter(a=>a.data instanceof URL&&a.mediaType!=null&&!(0,Er.isUrlSupported)({url:a.data.toString(),mediaType:a.mediaType,supportedUrls:r})).map(a=>a.data),s=await Promise.all(o.map(async a=>({url:a,data:await e({url:a})})));return Object.fromEntries(s.map(({url:a,data:i})=>[a.toString(),i]))}function za(t,e){var p;if(t.type==="text")return{type:"text",text:t.text,providerOptions:t.providerOptions};let r,o=t.type;switch(o){case"image":r=t.image;break;case"file":r=t.data;break;default:throw new Error(`Unsupported part type: ${o}`)}let{data:s,mediaType:a}=Tt(r),i=a!=null?a:t.mediaType,n=s;if(n instanceof URL){let l=e[n.toString()];l&&(n=l.data,i!=null||(i=l.mediaType))}switch(o){case"image":return(n instanceof Uint8Array||typeof n=="string")&&(i=(p=Tr({data:n,signatures:gr}))!=null?p:i),{type:"file",mediaType:i!=null?i:"image/*",filename:void 0,data:n,providerOptions:t.providerOptions};case"file":{if(i==null)throw new Error("Media type is missing for file part");return{type:"file",mediaType:i,filename:t.filename,data:n,providerOptions:t.providerOptions}}}}function br({maxOutputTokens:t,temperature:e,topP:r,topK:o,presencePenalty:s,frequencyPenalty:a,seed:i,stopSequences:n}){if(t!=null){if(!Number.isInteger(t))throw new C({parameter:"maxOutputTokens",value:t,message:"maxOutputTokens must be an integer"});if(t<1)throw new C({parameter:"maxOutputTokens",value:t,message:"maxOutputTokens must be >= 1"})}if(e!=null&&typeof e!="number")throw new C({parameter:"temperature",value:e,message:"temperature must be a number"});if(r!=null&&typeof r!="number")throw new C({parameter:"topP",value:r,message:"topP must be a number"});if(o!=null&&typeof o!="number")throw new C({parameter:"topK",value:o,message:"topK must be a number"});if(s!=null&&typeof s!="number")throw new C({parameter:"presencePenalty",value:s,message:"presencePenalty must be a number"});if(a!=null&&typeof a!="number")throw new C({parameter:"frequencyPenalty",value:a,message:"frequencyPenalty must be a number"});if(i!=null&&!Number.isInteger(i))throw new C({parameter:"seed",value:i,message:"seed must be an integer"});return{maxOutputTokens:t,temperature:e,topP:r,topK:o,presencePenalty:s,frequencyPenalty:a,stopSequences:n,seed:i}}var Rr=require("@ai-sdk/provider-utils");function Ur(t){return t!=null&&Object.keys(t).length>0}function Pr({tools:t,toolChoice:e,activeTools:r}){return Ur(t)?{tools:(r!=null?Object.entries(t).filter(([s])=>r.includes(s)):Object.entries(t)).map(([s,a])=>{let i=a.type;switch(i){case void 0:case"function":return{type:"function",name:s,description:a.description,inputSchema:(0,Rr.asSchema)(a.inputSchema).jsonSchema};case"provider-defined":return{type:"provider-defined",name:s,id:a.id,args:a.args};default:{let n=i;throw new Error(`Unsupported tool type: ${n}`)}}}),toolChoice:e==null?{type:"auto"}:typeof e=="string"?{type:e}:{type:"tool",toolName:e.toolName}}:{tools:void 0,toolChoice:void 0}}var Vr=require("@ai-sdk/gateway");var D=require("@ai-sdk/provider");var Me=require("@ai-sdk/provider"),wr="AI_InvalidToolInputError",Cr=`vercel.ai.error.${wr}`,Ka=Symbol.for(Cr),Ha,ve=class extends Me.AISDKError{constructor({toolInput:r,toolName:o,cause:s,message:a=`Invalid input for tool ${o}: ${(0,Me.getErrorMessage)(s)}`}){super({name:wr,message:a,cause:s});this[Ha]=!0;this.toolInput=r,this.toolName=o}static isInstance(r){return Me.AISDKError.hasMarker(r,Cr)}};Ha=Ka;var yt=require("@ai-sdk/provider"),_r="AI_NoSuchToolError",Lr=`vercel.ai.error.${_r}`,Za=Symbol.for(Lr),Qa,de=class extends yt.AISDKError{constructor({toolName:r,availableTools:o=void 0,message:s=`Model tried to call unavailable tool '${r}'. ${o===void 0?"No tools are available.":`Available tools: ${o.join(", ")}.`}`}){super({name:_r,message:s});this[Qa]=!0;this.toolName=r,this.availableTools=o}static isInstance(r){return yt.AISDKError.hasMarker(r,Lr)}};Qa=Za;var Oe=require("@ai-sdk/provider"),kr="AI_ToolCallRepairError",Nr=`vercel.ai.error.${kr}`,Xa=Symbol.for(Nr),eo,Je=class extends Oe.AISDKError{constructor({cause:r,originalError:o,message:s=`Error repairing tool call: ${(0,Oe.getErrorMessage)(r)}`}){super({name:kr,message:s,cause:r});this[eo]=!0;this.originalError=o}static isInstance(r){return Oe.AISDKError.hasMarker(r,Nr)}};eo=Xa;var Dr=require("@ai-sdk/provider"),Ee=class extends Dr.AISDKError{constructor(r){super({name:"AI_UnsupportedModelVersionError",message:`Unsupported model version ${r.version} for provider "${r.provider}" and model "${r.modelId}". AI SDK 5 only supports models that implement specification version "v2".`});this.version=r.version,this.provider=r.provider,this.modelId=r.modelId}};function It(t){if(typeof t!="string"){if(t.specificationVersion!=="v2")throw new Ee({version:t.specificationVersion,provider:t.provider,modelId:t.modelId});return t}let e=globalThis.AI_SDK_DEFAULT_PROVIDER;return(e!=null?e:Vr.gateway).languageModel(t)}var ee=require("@ai-sdk/provider"),$r=require("@ai-sdk/provider-utils"),Br=require("zod/v4");var O=require("zod/v4");var g=require("zod/v4");var xt=g.z.object({type:g.z.literal("text"),text:g.z.string(),providerOptions:v.optional()}),Fr=g.z.object({type:g.z.literal("image"),image:g.z.union([gt,g.z.instanceof(URL)]),mediaType:g.z.string().optional(),providerOptions:v.optional()}),ht=g.z.object({type:g.z.literal("file"),data:g.z.union([gt,g.z.instanceof(URL)]),filename:g.z.string().optional(),mediaType:g.z.string(),providerOptions:v.optional()}),qr=g.z.object({type:g.z.literal("reasoning"),text:g.z.string(),providerOptions:v.optional()}),jr=g.z.object({type:g.z.literal("tool-call"),toolCallId:g.z.string(),toolName:g.z.string(),input:g.z.unknown(),providerOptions:v.optional(),providerExecuted:g.z.boolean().optional()}),to=g.z.discriminatedUnion("type",[g.z.object({type:g.z.literal("text"),value:g.z.string()}),g.z.object({type:g.z.literal("json"),value:Q}),g.z.object({type:g.z.literal("error-text"),value:g.z.string()}),g.z.object({type:g.z.literal("error-json"),value:Q}),g.z.object({type:g.z.literal("content"),value:g.z.array(g.z.union([g.z.object({type:g.z.literal("text"),text:g.z.string()}),g.z.object({type:g.z.literal("media"),data:g.z.string(),mediaType:g.z.string()})]))})]),Mt=g.z.object({type:g.z.literal("tool-result"),toolCallId:g.z.string(),toolName:g.z.string(),output:to,providerOptions:v.optional()});var ro=O.z.object({role:O.z.literal("system"),content:O.z.string(),providerOptions:v.optional()});var ao=O.z.object({role:O.z.literal("user"),content:O.z.union([O.z.string(),O.z.array(O.z.union([xt,Fr,ht]))]),providerOptions:v.optional()});var oo=O.z.object({role:O.z.literal("assistant"),content:O.z.union([O.z.string(),O.z.array(O.z.union([xt,ht,qr,jr,Mt]))]),providerOptions:v.optional()});var no=O.z.object({role:O.z.literal("tool"),content:O.z.array(Mt),providerOptions:v.optional()});var Gr=O.z.union([ro,ao,oo,no]);async function Jr(t){if(t.prompt==null&&t.messages==null)throw new ee.InvalidPromptError({prompt:t,message:"prompt or messages must be defined"});if(t.prompt!=null&&t.messages!=null)throw new ee.InvalidPromptError({prompt:t,message:"prompt and messages cannot be defined at the same time"});if(t.system!=null&&typeof t.system!="string")throw new ee.InvalidPromptError({prompt:t,message:"system must be a string"});let e;if(t.prompt!=null&&typeof t.prompt=="string")e=[{role:"user",content:t.prompt}];else if(t.prompt!=null&&Array.isArray(t.prompt))e=t.prompt;else if(t.messages!=null)e=t.messages;else throw new ee.InvalidPromptError({prompt:t,message:"prompt or messages must be defined"});if(e.length===0)throw new ee.InvalidPromptError({prompt:t,message:"messages must not be empty"});let r=await(0,$r.safeValidateTypes)({value:e,schema:Br.z.array(Gr)});if(!r.success)throw new ee.InvalidPromptError({prompt:t,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:e,system:t.system}}var Ye=require("@ai-sdk/gateway"),Yr=require("@ai-sdk/provider");function Wr(t){return Ye.GatewayAuthenticationError.isInstance(t)||Ye.GatewayModelNotFoundError.isInstance(t)?new Yr.AISDKError({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:t}):t}function Ae({operationId:t,telemetry:e}){return{"operation.name":`${t}${(e==null?void 0:e.functionId)!=null?` ${e.functionId}`:""}`,"resource.name":e==null?void 0:e.functionId,"ai.operationId":t,"ai.telemetry.functionId":e==null?void 0:e.functionId}}function zr({model:t,settings:e,telemetry:r,headers:o}){var s;return{"ai.model.provider":t.provider,"ai.model.id":t.modelId,...Object.entries(e).reduce((a,[i,n])=>(a[`ai.settings.${i}`]=n,a),{}),...Object.entries((s=r==null?void 0:r.metadata)!=null?s:{}).reduce((a,[i,n])=>(a[`ai.telemetry.metadata.${i}`]=n,a),{}),...Object.entries(o!=null?o:{}).reduce((a,[i,n])=>(n!==void 0&&(a[`ai.request.headers.${i}`]=n),a),{})}}var Hr=require("@opentelemetry/api");var Kr={startSpan(){return We},startActiveSpan(t,e,r,o){if(typeof e=="function")return e(We);if(typeof r=="function")return r(We);if(typeof o=="function")return o(We)}},We={spanContext(){return so},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}},so={traceId:"",spanId:"",traceFlags:0};function Zr({isEnabled:t=!1,tracer:e}={}){return t?e||Hr.trace.getTracer("ai"):Kr}var vt=require("@opentelemetry/api");function be({name:t,tracer:e,attributes:r,fn:o,endWhenDone:s=!0}){return e.startActiveSpan(t,{attributes:r},async a=>{try{let i=await o(a);return s&&a.end(),i}catch(i){try{Ot(a,i)}finally{a.end()}throw i}})}function Ot(t,e){e instanceof Error?(t.recordException({name:e.name,message:e.message,stack:e.stack}),t.setStatus({code:vt.SpanStatusCode.ERROR,message:e.message})):t.setStatus({code:vt.SpanStatusCode.ERROR})}function K({telemetry:t,attributes:e}){return(t==null?void 0:t.isEnabled)!==!0?{}:Object.entries(e).reduce((r,[o,s])=>{if(s==null)return r;if(typeof s=="object"&&"input"in s&&typeof s.input=="function"){if((t==null?void 0:t.recordInputs)===!1)return r;let a=s.input();return a==null?r:{...r,[o]:a}}if(typeof s=="object"&&"output"in s&&typeof s.output=="function"){if((t==null?void 0:t.recordOutputs)===!1)return r;let a=s.output();return a==null?r:{...r,[o]:a}}return{...r,[o]:s}},{})}function Qr(t){return JSON.stringify(t.map(e=>({...e,content:typeof e.content=="string"?e.content:e.content.map(r=>r.type==="file"?{...r,data:r.data instanceof Uint8Array?Mr(r.data):r.data}:r)})))}function Xr(t,e){return{inputTokens:Ue(t.inputTokens,e.inputTokens),outputTokens:Ue(t.outputTokens,e.outputTokens),totalTokens:Ue(t.totalTokens,e.totalTokens),reasoningTokens:Ue(t.reasoningTokens,e.reasoningTokens),cachedInputTokens:Ue(t.cachedInputTokens,e.cachedInputTokens)}}function Ue(t,e){return t==null&&e==null?void 0:(t!=null?t:0)+(e!=null?e:0)}var ra=require("@ai-sdk/provider-utils");var Ke=require("@ai-sdk/provider-utils"),Et=class{constructor({data:e,mediaType:r}){let o=e instanceof Uint8Array;this.base64Data=o?void 0:e,this.uint8ArrayData=o?e:void 0,this.mediaType=r}get base64(){return this.base64Data==null&&(this.base64Data=(0,Ke.convertUint8ArrayToBase64)(this.uint8ArrayData)),this.base64Data}get uint8Array(){return this.uint8ArrayData==null&&(this.uint8ArrayData=(0,Ke.convertBase64ToUint8Array)(this.base64Data)),this.uint8ArrayData}},ze=class extends Et{constructor(r){super(r);this.type="file"}};var te=require("@ai-sdk/provider-utils");async function ta({toolCall:t,tools:e,repairToolCall:r,system:o,messages:s}){if(e==null)throw new de({toolName:t.toolName});try{return await ea({toolCall:t,tools:e})}catch(a){if(r==null||!(de.isInstance(a)||ve.isInstance(a)))throw a;let i=null;try{i=await r({toolCall:t,tools:e,inputSchema:({toolName:n})=>{let{inputSchema:p}=e[n];return(0,te.asSchema)(p).jsonSchema},system:o,messages:s,error:a})}catch(n){throw new Je({cause:n,originalError:a})}if(i==null)throw a;return await ea({toolCall:i,tools:e})}}async function ea({toolCall:t,tools:e}){let r=t.toolName,o=e[r];if(o==null)throw new de({toolName:t.toolName,availableTools:Object.keys(e)});let s=(0,te.asSchema)(o.inputSchema),a=t.input.trim()===""?await(0,te.safeValidateTypes)({value:{},schema:s}):await(0,te.safeParseJSON)({text:t.input,schema:s});if(a.success===!1)throw new ve({toolName:r,toolInput:t.input,cause:a.error});return{type:"tool-call",toolCallId:t.toolCallId,toolName:r,input:a.value,providerExecuted:t.providerExecuted,providerMetadata:t.providerMetadata}}function aa({tools:t,generatorStream:e,tracer:r,telemetry:o,system:s,messages:a,abortSignal:i,repairToolCall:n}){let p=null,l=new ReadableStream({start(y){p=y}}),u=new Set,h=new Map,f=!1,x;function R(){f&&u.size===0&&(x!=null&&p.enqueue(x),p.close())}let _=new TransformStream({async transform(y,m){let I=y.type;switch(I){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":{m.enqueue(y);break}case"file":{m.enqueue({type:"file",file:new ze({data:y.data,mediaType:y.mediaType})});break}case"finish":{x={type:"finish",finishReason:y.finishReason,usage:y.usage,providerMetadata:y.providerMetadata};break}case"tool-call":{try{let S=await ta({toolCall:y,tools:t,repairToolCall:n,system:s,messages:a});m.enqueue(S);let E=t[S.toolName];if(h.set(S.toolCallId,S.input),E.onInputAvailable!=null&&await E.onInputAvailable({input:S.input,toolCallId:S.toolCallId,messages:a,abortSignal:i}),E.execute!=null&&S.providerExecuted!==!0){let V=(0,ra.generateId)();u.add(V),be({name:"ai.toolCall",attributes:K({telemetry:o,attributes:{...Ae({operationId:"ai.toolCall",telemetry:o}),"ai.toolCall.name":S.toolName,"ai.toolCall.id":S.toolCallId,"ai.toolCall.input":{output:()=>JSON.stringify(S.input)}}}),tracer:r,fn:async F=>{let $;try{$=await E.execute(S.input,{toolCallId:S.toolCallId,messages:a,abortSignal:i})}catch(H){Ot(F,H),p.enqueue({...S,type:"tool-error",error:H}),u.delete(V),R();return}p.enqueue({...S,type:"tool-result",output:$}),u.delete(V),R();try{F.setAttributes(K({telemetry:o,attributes:{"ai.toolCall.output":{output:()=>JSON.stringify($)}}}))}catch(H){}}})}}catch(S){p.enqueue({type:"error",error:S})}break}case"tool-result":{let S=y.toolName;y.isError?p.enqueue({type:"tool-error",toolCallId:y.toolCallId,toolName:S,input:h.get(y.toolCallId),providerExecuted:y.providerExecuted,error:y.result}):m.enqueue({type:"tool-result",toolCallId:y.toolCallId,toolName:S,input:h.get(y.toolCallId),output:y.result,providerExecuted:y.providerExecuted});break}default:{let S=I;throw new Error(`Unhandled chunk type: ${S}`)}}},flush(){f=!0,R()}});return new ReadableStream({async start(y){return Promise.all([e.pipeThrough(_).pipeTo(new WritableStream({write(m){y.enqueue(m)},close(){}})),l.pipeTo(new WritableStream({write(m){y.enqueue(m)},close(){y.close()}}))])}})}var He=class{constructor({content:e,finishReason:r,usage:o,warnings:s,request:a,response:i,providerMetadata:n}){this.content=e,this.finishReason=r,this.usage=o,this.warnings=s,this.request=a,this.response=i,this.providerMetadata=n}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 toolResults(){return this.content.filter(e=>e.type==="tool-result")}};function oa(t){return({steps:e})=>e.length===t}async function na({stopConditions:t,steps:e}){return(await Promise.all(t.map(r=>r({steps:e})))).some(r=>r)}var sa=require("@ai-sdk/provider");function Ze({output:t,tool:e,errorMode:r}){return r==="text"?{type:"error-text",value:(0,sa.getErrorMessage)(t)}:r==="json"?{type:"error-json",value:t}:e!=null&&e.toModelOutput?e.toModelOutput(t):typeof t=="string"?{type:"text",value:t}:{type:"json",value:t}}function At({content:t,tools:e}){let r=[],o=t.filter(a=>a.type!=="source").filter(a=>(a.type!=="tool-result"||a.providerExecuted)&&(a.type!=="tool-error"||a.providerExecuted)).filter(a=>a.type!=="text"||a.text.length>0).map(a=>{switch(a.type){case"text":return{type:"text",text:a.text,providerOptions:a.providerMetadata};case"reasoning":return{type:"reasoning",text:a.text,providerOptions:a.providerMetadata};case"file":return{type:"file",data:a.file.base64,mediaType:a.file.mediaType,providerOptions:a.providerMetadata};case"tool-call":return{type:"tool-call",toolCallId:a.toolCallId,toolName:a.toolName,input:a.input,providerExecuted:a.providerExecuted,providerOptions:a.providerMetadata};case"tool-result":return{type:"tool-result",toolCallId:a.toolCallId,toolName:a.toolName,output:Ze({tool:e==null?void 0:e[a.toolName],output:a.output,errorMode:"none"}),providerExecuted:!0,providerOptions:a.providerMetadata};case"tool-error":return{type:"tool-result",toolCallId:a.toolCallId,toolName:a.toolName,output:Ze({tool:e==null?void 0:e[a.toolName],output:a.error,errorMode:"json"}),providerOptions:a.providerMetadata}}});o.length>0&&r.push({role:"assistant",content:o});let s=t.filter(a=>a.type==="tool-result"||a.type==="tool-error").filter(a=>!a.providerExecuted).map(a=>({type:"tool-result",toolCallId:a.toolCallId,toolName:a.toolName,output:Ze({tool:e==null?void 0:e[a.toolName],output:a.type==="tool-result"?a.output:a.error,errorMode:a.type==="tool-error"?"text":"none"})}));return s.length>0&&r.push({role:"tool",content:s}),r}var io=(0,la.createIdGenerator)({prefix:"aitxt",size:24});function da({model:t,tools:e,toolChoice:r,system:o,prompt:s,messages:a,maxRetries:i,abortSignal:n,headers:p,stopWhen:l=oa(1),experimental_output:u,experimental_telemetry:h,prepareStep:f,providerOptions:x,experimental_activeTools:R,activeTools:_=R,experimental_repairToolCall:y,experimental_transform:m,includeRawChunks:I=!1,onChunk:S,onError:E=({error:me})=>{console.error(me)},onFinish:V,onStepFinish:F,_internal:{now:$=nr,generateId:H=io,currentDate:pe=()=>new Date}={},...ue}){return new bt({model:It(t),telemetry:h,headers:p,settings:ue,maxRetries:i,abortSignal:n,system:o,prompt:s,messages:a,tools:e,toolChoice:r,transforms:pt(m),activeTools:_,repairToolCall:y,stopConditions:pt(l),output:u,providerOptions:x,prepareStep:f,includeRawChunks:I,onChunk:S,onError:E,onFinish:V,onStepFinish:F,now:$,currentDate:pe,generateId:H})}function lo(t){if(!t)return new TransformStream({transform(i,n){n.enqueue({part:i,partialOutput:void 0})}});let e,r="",o="",s="";function a({controller:i,partialOutput:n=void 0}){i.enqueue({part:{type:"text",id:e,text:o},partialOutput:n}),o=""}return new TransformStream({async transform(i,n){if(i.type==="finish-step"&&o.length>0&&a({controller:n}),i.type!=="text"&&i.type!=="text-start"&&i.type!=="text-end"){n.enqueue({part:i,partialOutput:void 0});return}if(e==null)e=i.id;else if(i.id!==e){n.enqueue({part:i,partialOutput:void 0});return}if(i.type==="text-start"){n.enqueue({part:i,partialOutput:void 0});return}if(i.type==="text-end"){o.length>0&&a({controller:n}),n.enqueue({part:i,partialOutput:void 0});return}r+=i.text,o+=i.text;let p=await t.parsePartial({text:r});if(p!=null){let l=JSON.stringify(p.partial);l!==s&&(a({controller:n,partialOutput:p.partial}),s=l)}}})}var bt=class{constructor({model:e,telemetry:r,headers:o,settings:s,maxRetries:a,abortSignal:i,system:n,prompt:p,messages:l,tools:u,toolChoice:h,transforms:f,activeTools:x,repairToolCall:R,stopConditions:_,output:y,providerOptions:m,prepareStep:I,includeRawChunks:S,now:E,currentDate:V,generateId:F,onChunk:$,onError:H,onFinish:pe,onStepFinish:ue}){this._totalUsage=new X;this._finishReason=new X;this._steps=new X;this.output=y,this.includeRawChunks=S,this.generateId=F;let me,q=[],Ut=[],Pe,we,Rt={},Pt=[],k=[],Qe,ce={},re={},ha=new TransformStream({async transform(L,U){var M,Z,ge;U.enqueue(L);let{part:c}=L;if((c.type==="text"||c.type==="reasoning"||c.type==="source"||c.type==="tool-call"||c.type==="tool-result"||c.type==="tool-input-start"||c.type==="tool-input-delta"||c.type==="raw")&&await($==null?void 0:$({chunk:c})),c.type==="error"&&await H({error:Wr(c.error)}),c.type==="text-start"&&(ce[c.id]={type:"text",text:"",providerMetadata:c.providerMetadata},q.push(ce[c.id])),c.type==="text"){let A=ce[c.id];if(A==null){U.enqueue({part:{type:"error",error:`text part ${c.id} not found`},partialOutput:void 0});return}A.text+=c.text,A.providerMetadata=(M=c.providerMetadata)!=null?M:A.providerMetadata}if(c.type==="text-end"&&delete ce[c.id],c.type==="reasoning-start"&&(re[c.id]={type:"reasoning",text:"",providerMetadata:c.providerMetadata},q.push(re[c.id])),c.type==="reasoning"){let A=re[c.id];if(A==null){U.enqueue({part:{type:"error",error:`reasoning part ${c.id} not found`},partialOutput:void 0});return}A.text+=c.text,A.providerMetadata=(Z=c.providerMetadata)!=null?Z:A.providerMetadata}if(c.type==="reasoning-end"){let A=re[c.id];if(A==null){U.enqueue({part:{type:"error",error:`reasoning part ${c.id} not found`},partialOutput:void 0});return}A.providerMetadata=(ge=c.providerMetadata)!=null?ge:A.providerMetadata,delete re[c.id]}if(c.type==="file"&&q.push({type:"file",file:c.file}),c.type==="source"&&q.push(c),c.type==="tool-call"&&q.push(c),c.type==="tool-result"&&q.push(c),c.type==="tool-error"&&q.push(c),c.type==="start-step"&&(Rt=c.request,Pt=c.warnings),c.type==="finish-step"){let A=At({content:q,tools:u}),W=new He({content:q,finishReason:c.finishReason,usage:c.usage,warnings:Pt,request:Rt,response:{...c.response,messages:[...Ut,...A]},providerMetadata:c.providerMetadata});await(ue==null?void 0:ue(W)),k.push(W),q=[],re={},ce={},Ut.push(...A),me.resolve()}c.type==="finish"&&(we=c.totalUsage,Pe=c.finishReason)},async flush(L){try{if(k.length===0)return;let U=Pe!=null?Pe:"unknown",c=we!=null?we:{inputTokens:void 0,outputTokens:void 0,totalTokens:void 0};J._finishReason.resolve(U),J._totalUsage.resolve(c),J._steps.resolve(k);let M=k[k.length-1];await(pe==null?void 0:pe({finishReason:U,totalUsage:c,usage:M.usage,content:M.content,text:M.text,reasoningText:M.reasoningText,reasoning:M.reasoning,files:M.files,sources:M.sources,toolCalls:M.toolCalls,toolResults:M.toolResults,request:M.request,response:M.response,warnings:M.warnings,providerMetadata:M.providerMetadata,steps:k})),Qe.setAttributes(K({telemetry:r,attributes:{"ai.response.finishReason":U,"ai.response.text":{output:()=>M.text},"ai.response.toolCalls":{output:()=>{var Z;return(Z=M.toolCalls)!=null&&Z.length?JSON.stringify(M.toolCalls):void 0}},"ai.response.providerMetadata":JSON.stringify(M.providerMetadata),"ai.usage.inputTokens":c.inputTokens,"ai.usage.outputTokens":c.outputTokens,"ai.usage.totalTokens":c.totalTokens,"ai.usage.reasoningTokens":c.reasoningTokens,"ai.usage.cachedInputTokens":c.cachedInputTokens}}))}catch(U){L.error(U)}finally{Qe.end()}}}),Ce=or();this.addStream=Ce.addStream,this.closeStream=Ce.close;let fe=Ce.stream;fe=fe.pipeThrough(new TransformStream({start(L){L.enqueue({type:"start"})}}));for(let L of f)fe=fe.pipeThrough(L({tools:u,stopStream(){Ce.terminate()}}));this.baseStream=fe.pipeThrough(lo(y)).pipeThrough(ha);let{maxRetries:Ma,retry:va}=cr({maxRetries:a}),Xe=Zr(r),B=br(s),wt=zr({model:e,telemetry:r,headers:o,settings:{...B,maxRetries:Ma}}),J=this;be({name:"ai.streamText",attributes:K({telemetry:r,attributes:{...Ae({operationId:"ai.streamText",telemetry:r}),...wt,"ai.prompt":{input:()=>JSON.stringify({system:n,prompt:p,messages:l})}}}),tracer:Xe,endWhenDone:!1,fn:async L=>{Qe=L;async function U({currentStep:c,responseMessages:M,usage:Z}){var Nt,Dt,Vt,Ft,qt;let ge=J.includeRawChunks;me=new X;let A=await Jr({system:n,prompt:p,messages:l}),W=[...A.messages,...M],P=await(I==null?void 0:I({model:e,steps:k,stepNumber:k.length,messages:W})),Ct=await Ar({prompt:{system:(Nt=P==null?void 0:P.system)!=null?Nt:A.system,messages:(Dt=P==null?void 0:P.messages)!=null?Dt:W},supportedUrls:await e.supportedUrls}),Te=It((Vt=P==null?void 0:P.model)!=null?Vt:e),{toolChoice:et,tools:_e}=Pr({tools:u,toolChoice:(Ft=P==null?void 0:P.toolChoice)!=null?Ft:h,activeTools:(qt=P==null?void 0:P.activeTools)!=null?qt:x}),{result:{stream:Oa,response:tt,request:rt},doStreamSpan:ae,startTimestampMs:_t}=await va(()=>be({name:"ai.streamText.doStream",attributes:K({telemetry:r,attributes:{...Ae({operationId:"ai.streamText.doStream",telemetry:r}),...wt,"ai.model.provider":Te.provider,"ai.model.id":Te.modelId,"ai.prompt.messages":{input:()=>Qr(Ct)},"ai.prompt.tools":{input:()=>_e==null?void 0:_e.map(T=>JSON.stringify(T))},"ai.prompt.toolChoice":{input:()=>et!=null?JSON.stringify(et):void 0},"gen_ai.system":Te.provider,"gen_ai.request.model":Te.modelId,"gen_ai.request.frequency_penalty":B.frequencyPenalty,"gen_ai.request.max_tokens":B.maxOutputTokens,"gen_ai.request.presence_penalty":B.presencePenalty,"gen_ai.request.stop_sequences":B.stopSequences,"gen_ai.request.temperature":B.temperature,"gen_ai.request.top_k":B.topK,"gen_ai.request.top_p":B.topP}}),tracer:Xe,endWhenDone:!1,fn:async T=>({startTimestampMs:E(),doStreamSpan:T,result:await Te.doStream({...B,tools:_e,toolChoice:et,responseFormat:y==null?void 0:y.responseFormat,prompt:Ct,providerOptions:m,abortSignal:i,headers:o,includeRawChunks:ge})})})),Ea=aa({tools:u,generatorStream:Oa,tracer:Xe,telemetry:r,system:n,messages:W,repairToolCall:R,abortSignal:i}),Aa=rt!=null?rt:{},Le=[],at=[],ke,ot={},oe="unknown",N={inputTokens:void 0,outputTokens:void 0,totalTokens:void 0},nt,Lt=!0,j={id:F(),timestamp:V(),modelId:e.modelId},kt="";J.addStream(Ea.pipeThrough(new TransformStream({async transform(T,b){var ye,Ne,Y,jt;if(T.type==="stream-start"){ke=T.warnings;return}if(Lt){let w=E()-_t;Lt=!1,ae.addEvent("ai.stream.firstChunk",{"ai.response.msToFirstChunk":w}),ae.setAttributes({"ai.response.msToFirstChunk":w}),b.enqueue({type:"start-step",request:Aa,warnings:ke!=null?ke:[]})}let Se=T.type;switch(Se){case"text-start":case"text-end":{b.enqueue(T);break}case"text-delta":{T.delta.length>0&&(b.enqueue({type:"text",id:T.id,text:T.delta,providerMetadata:T.providerMetadata}),kt+=T.delta);break}case"reasoning-start":case"reasoning-end":{b.enqueue(T);break}case"reasoning-delta":{b.enqueue({type:"reasoning",id:T.id,text:T.delta,providerMetadata:T.providerMetadata});break}case"tool-call":{b.enqueue(T),Le.push(T);break}case"tool-result":{b.enqueue(T),at.push(T);break}case"tool-error":{b.enqueue(T),at.push(T);break}case"response-metadata":{j={id:(ye=T.id)!=null?ye:j.id,timestamp:(Ne=T.timestamp)!=null?Ne:j.timestamp,modelId:(Y=T.modelId)!=null?Y:j.modelId};break}case"finish":{N=T.usage,oe=T.finishReason,nt=T.providerMetadata;let w=E()-_t;ae.addEvent("ai.stream.finish"),ae.setAttributes({"ai.response.msToFinish":w,"ai.response.avgOutputTokensPerSecond":1e3*((jt=N.outputTokens)!=null?jt:0)/w});break}case"file":{b.enqueue(T);break}case"source":{b.enqueue(T);break}case"tool-input-start":{ot[T.id]=T.toolName;let w=u==null?void 0:u[T.toolName];(w==null?void 0:w.onInputStart)!=null&&await w.onInputStart({toolCallId:T.id,messages:W,abortSignal:i}),b.enqueue(T);break}case"tool-input-end":{delete ot[T.id],b.enqueue(T);break}case"tool-input-delta":{let w=ot[T.id],De=u==null?void 0:u[w];(De==null?void 0:De.onInputDelta)!=null&&await De.onInputDelta({inputTextDelta:T.delta,toolCallId:T.id,messages:W,abortSignal:i}),b.enqueue(T);break}case"error":{b.enqueue(T),oe="error";break}case"raw":{ge&&b.enqueue(T);break}default:{let w=Se;throw new Error(`Unknown chunk type: ${w}`)}}},async flush(T){let b=Le.length>0?JSON.stringify(Le):void 0;try{ae.setAttributes(K({telemetry:r,attributes:{"ai.response.finishReason":oe,"ai.response.text":{output:()=>kt},"ai.response.toolCalls":{output:()=>b},"ai.response.id":j.id,"ai.response.model":j.modelId,"ai.response.timestamp":j.timestamp.toISOString(),"ai.response.providerMetadata":JSON.stringify(nt),"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,"gen_ai.response.finish_reasons":[oe],"gen_ai.response.id":j.id,"gen_ai.response.model":j.modelId,"gen_ai.usage.input_tokens":N.inputTokens,"gen_ai.usage.output_tokens":N.outputTokens}}))}catch(Y){}finally{ae.end()}T.enqueue({type:"finish-step",finishReason:oe,usage:N,providerMetadata:nt,response:{...j,headers:tt==null?void 0:tt.headers}});let Se=Xr(Z,N);await me.promise;let ye=Le.filter(Y=>Y.providerExecuted!==!0),Ne=at.filter(Y=>Y.providerExecuted!==!0);if(ye.length>0&&Ne.length===ye.length&&!await na({stopConditions:_,steps:k})){M.push(...At({content:k[k.length-1].content,tools:u}));try{await U({currentStep:c+1,responseMessages:M,usage:Se})}catch(Y){T.enqueue({type:"error",error:Y}),J.closeStream()}}else T.enqueue({type:"finish",finishReason:oe,totalUsage:Se}),J.closeStream()}})))}await U({currentStep:0,responseMessages:[],usage:{inputTokens:void 0,outputTokens:void 0,totalTokens:void 0}})}}).catch(L=>{J.addStream(new ReadableStream({start(U){U.enqueue({type:"error",error:L}),U.close()}})),J.closeStream()})}get steps(){return 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 toolResults(){return this.finalStep.then(e=>e.toolResults)}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._totalUsage.promise}get finishReason(){return this._finishReason.promise}teeStream(){let[e,r]=this.baseStream.tee();return this.baseStream=r,e}get textStream(){return Ge(this.teeStream().pipeThrough(new TransformStream({transform({part:e},r){e.type==="text"&&r.enqueue(e.text)}})))}get fullStream(){return Ge(this.teeStream().pipeThrough(new TransformStream({transform({part:e},r){r.enqueue(e)}})))}async consumeStream(e){var r;try{await ar({stream:this.fullStream,onError:e==null?void 0:e.onError})}catch(o){(r=e==null?void 0:e.onError)==null||r.call(e,o)}}get experimental_partialOutputStream(){if(this.output==null)throw new Ve;return Ge(this.teeStream().pipeThrough(new TransformStream({transform({partialOutput:e},r){e!=null&&r.enqueue(e)}})))}toUIMessageStream({originalMessages:e,generateMessageId:r,onFinish:o,messageMetadata:s,sendReasoning:a=!0,sendSources:i=!1,sendStart:n=!0,sendFinish:p=!0,onError:l=ia.getErrorMessage}={}){let u=Wt({originalMessages:e,responseMessageId:this.generateId}),h=this.fullStream.pipeThrough(new TransformStream({transform:async(f,x)=>{let R=s==null?void 0:s({part:f}),_=f.type;switch(_){case"text-start":{x.enqueue({type:"text-start",id:f.id,...f.providerMetadata!=null?{providerMetadata:f.providerMetadata}:{}});break}case"text":{x.enqueue({type:"text-delta",id:f.id,delta:f.text,...f.providerMetadata!=null?{providerMetadata:f.providerMetadata}:{}});break}case"text-end":{x.enqueue({type:"text-end",id:f.id,...f.providerMetadata!=null?{providerMetadata:f.providerMetadata}:{}});break}case"reasoning-start":{x.enqueue({type:"reasoning-start",id:f.id,...f.providerMetadata!=null?{providerMetadata:f.providerMetadata}:{}});break}case"reasoning":{a&&x.enqueue({type:"reasoning-delta",id:f.id,delta:f.text,...f.providerMetadata!=null?{providerMetadata:f.providerMetadata}:{}});break}case"reasoning-end":{x.enqueue({type:"reasoning-end",id:f.id,...f.providerMetadata!=null?{providerMetadata:f.providerMetadata}:{}});break}case"file":{x.enqueue({type:"file",mediaType:f.file.mediaType,url:`data:${f.file.mediaType};base64,${f.file.base64}`});break}case"source":{i&&f.sourceType==="url"&&x.enqueue({type:"source-url",sourceId:f.id,url:f.url,title:f.title,...f.providerMetadata!=null?{providerMetadata:f.providerMetadata}:{}}),i&&f.sourceType==="document"&&x.enqueue({type:"source-document",sourceId:f.id,mediaType:f.mediaType,title:f.title,filename:f.filename,...f.providerMetadata!=null?{providerMetadata:f.providerMetadata}:{}});break}case"tool-input-start":{x.enqueue({type:"tool-input-start",toolCallId:f.id,toolName:f.toolName,providerExecuted:f.providerExecuted});break}case"tool-input-delta":{x.enqueue({type:"tool-input-delta",toolCallId:f.id,inputTextDelta:f.delta});break}case"tool-call":{x.enqueue({type:"tool-input-available",toolCallId:f.toolCallId,toolName:f.toolName,input:f.input,providerExecuted:f.providerExecuted,providerMetadata:f.providerMetadata});break}case"tool-result":{x.enqueue({type:"tool-output-available",toolCallId:f.toolCallId,output:f.output,providerExecuted:f.providerExecuted});break}case"tool-error":{x.enqueue({type:"tool-output-error",toolCallId:f.toolCallId,errorText:l(f.error),providerExecuted:f.providerExecuted});break}case"error":{x.enqueue({type:"error",errorText:l(f.error)});break}case"start-step":{x.enqueue({type:"start-step"});break}case"finish-step":{x.enqueue({type:"finish-step"});break}case"start":{n&&x.enqueue({type:"start",messageId:u,messageMetadata:R});break}case"finish":{p&&x.enqueue({type:"finish",messageMetadata:R});break}case"tool-input-end":break;case"raw":break;default:{let y=_;throw new Error(`Unknown chunk type: ${y}`)}}R!=null&&_!=="start"&&_!=="finish"&&x.enqueue({type:"message-metadata",messageMetadata:R})}}));return tr({stream:h,messageId:u!=null?u:r==null?void 0:r(),originalMessages:e,onFinish:o,onError:l})}pipeUIMessageStreamToResponse(e,{originalMessages:r,generateMessageId:o,onFinish:s,messageMetadata:a,sendReasoning:i,sendSources:n,sendFinish:p,sendStart:l,onError:u,...h}={}){rr({response:e,stream:this.toUIMessageStream({originalMessages:r,generateMessageId:o,onFinish:s,messageMetadata:a,sendReasoning:i,sendSources:n,sendFinish:p,sendStart:l,onError:u}),...h})}pipeTextStreamToResponse(e,r){Jt({response:e,textStream:this.textStream,...r})}toUIMessageStreamResponse({originalMessages:e,generateMessageId:r,onFinish:o,messageMetadata:s,sendReasoning:a,sendSources:i,sendFinish:n,sendStart:p,onError:l,...u}={}){return Yt({stream:this.toUIMessageStream({originalMessages:e,generateMessageId:r,onFinish:o,messageMetadata:s,sendReasoning:a,sendSources:i,sendFinish:n,sendStart:p,onError:l}),...u})}toTextStreamResponse(e){return Bt({textStream:this.textStream,...e})}};var Re=require("fs"),pa=require("path"),ua=require("@ai-sdk/gateway");function ma(){return!process.stdin.isTTY}async function po(){return new Promise(t=>{let e="";process.stdin.setEncoding("utf8"),process.stdin.on("data",r=>{e+=r}),process.stdin.on("end",()=>{t(e.trim())})})}function ca(t){var o;let e=(o=t.split(".").pop())==null?void 0:o.toLowerCase();return{js:"application/javascript",ts:"application/typescript",jsx:"text/jsx",tsx:"text/tsx",json:"application/json",md:"text/markdown",txt:"text/plain",py:"text/x-python",html:"text/html",css:"text/css",xml:"application/xml",yaml:"application/yaml",yml:"application/yaml",jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",gif:"image/gif",webp:"image/webp",svg:"image/svg+xml",bmp:"image/bmp",tiff:"image/tiff",tif:"image/tiff"}[e||""]||"text/plain"}function fa(t){let e=(0,pa.resolve)(t);if(!(0,Re.existsSync)(e))throw new Error(`File not found: ${t}`);let r=ca(t),o=r.startsWith("image/"),s;if(o){let a=(0,Re.readFileSync)(e);s=`data:${r};base64,${a.toString("base64")}`}else s=(0,Re.readFileSync)(e,"utf8");return{name:t,content:s,mediaType:r}}function ga(){let t=process.argv.slice(2),e={model:process.env.AI_MODEL||"openai/gpt-4",files:[],help:!1,version:!1,verbose:process.env.AI_VERBOSE==="true",system:process.env.AI_SYSTEM},r=[],o=0;for(;o<t.length;){let s=t[o];switch(s){case"-h":case"--help":e.help=!0;break;case"-V":case"--version":e.version=!0;break;case"-v":case"--verbose":e.verbose=!0;break;case"-m":case"--model":if(o+1<t.length)e.model=t[o+1],o++;else throw new Error("Model option requires a value");break;case"-f":case"--file":if(o+1<t.length)e.files.push(t[o+1]),o++;else throw new Error("File option requires a value");break;case"-s":case"--system":if(o+1<t.length)e.system=t[o+1],o++;else throw new Error("System option requires a value");break;default:if(s.startsWith("-"))throw new Error(`Unknown option: ${s}`);r.push(s)}o++}return r.length>0&&(e.prompt=r.join(" ")),e}function Ta(){console.log(`Usage: ai [options] [prompt]
|
7
7
|
|
8
8
|
AI CLI - Stream text generation from various AI models
|
9
9
|
|
10
|
-
Arguments:
|
11
|
-
prompt The prompt to send to the AI model (optional if using stdin)
|
12
|
-
|
13
10
|
Options:
|
14
|
-
-m, --model <model> Model to use
|
15
|
-
|
16
|
-
|
17
|
-
-
|
18
|
-
-
|
19
|
-
-
|
20
|
-
-
|
21
|
-
|
11
|
+
-m, --model <model> Model to use (default: "openai/gpt-4")
|
12
|
+
Format: provider/model (e.g., anthropic/claude-3-5-sonnet)
|
13
|
+
-f, --file <file> Attach file(s) to prompt
|
14
|
+
-s, --system <message> System message
|
15
|
+
-v, --verbose Show detailed output
|
16
|
+
-h, --help Show help
|
17
|
+
-V, --version Show version
|
18
|
+
|
19
|
+
Authentication (required):
|
20
|
+
export AI_GATEWAY_API_KEY="your-key" # Get from Vercel Dashboard (AI tab)
|
21
|
+
export VERCEL_OIDC_TOKEN="your-token" # For Vercel projects (or run: vercel env pull)
|
22
22
|
|
23
23
|
Environment Variables:
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
Authentication (choose one):
|
29
|
-
- VERCEL_OIDC_TOKEN: Vercel OIDC token (for Vercel projects)
|
30
|
-
- AI_GATEWAY_API_KEY: AI Gateway API key
|
31
|
-
|
32
|
-
Setting Environment Variables:
|
33
|
-
# Option 1: Export in current session
|
34
|
-
export AI_GATEWAY_API_KEY="your-key-here"
|
35
|
-
export AI_MODEL="anthropic/claude-3-5-sonnet-20241022"
|
36
|
-
|
37
|
-
# Option 2: Inline for single command
|
38
|
-
AI_GATEWAY_API_KEY="your-key" ai "Hello world"
|
39
|
-
|
40
|
-
# Option 3: Add to shell profile (~/.bashrc, ~/.zshrc)
|
41
|
-
echo 'export AI_GATEWAY_API_KEY="your-key"' >> ~/.bashrc
|
24
|
+
AI_MODEL: Default model to use
|
25
|
+
AI_SYSTEM: Default system message
|
26
|
+
AI_VERBOSE: Set to 'true' for detailed output
|
42
27
|
|
43
28
|
Examples:
|
44
29
|
npx ai "Hello, world!"
|
45
|
-
npx ai "Write a poem" -m anthropic/claude-3-5-sonnet
|
46
|
-
npx ai "Explain quantum physics" -m groq/llama-3.1-8b-instant
|
30
|
+
npx ai "Write a poem" -m anthropic/claude-3-5-sonnet
|
47
31
|
npx ai "Explain this code" -f script.js -f README.md
|
48
32
|
echo "What is life?" | npx ai
|
49
33
|
cat file.txt | npx ai "Summarize this content"
|
@@ -53,17 +37,6 @@ Unix-style piping:
|
|
53
37
|
echo "Hello world" | npx ai "Translate to French"
|
54
38
|
cat README.md | npx ai "Summarize this"
|
55
39
|
curl -s https://api.github.com/repos/vercel/ai | npx ai "What is this repository about?"
|
56
|
-
|
57
|
-
Authentication Setup:
|
58
|
-
This CLI uses the Vercel AI Gateway. You need ONE of these for authentication:
|
59
|
-
|
60
|
-
OIDC Token (for Vercel projects):
|
61
|
-
- Automatically available in Vercel deployments
|
62
|
-
- For local development: run 'vercel env pull' or use 'vercel dev'
|
63
|
-
|
64
|
-
API Key (for any environment):
|
65
|
-
- Get your key from the AI Gateway dashboard
|
66
|
-
- Set: export AI_GATEWAY_API_KEY="your-key-here"
|
67
40
|
|
68
41
|
The gateway supports OpenAI, Anthropic, Google, Groq, and more providers.`)}function Sa(){console.log("1.0.0")}function ya(t){return ua.gateway.languageModel(t)}function Ia(t){if(t.length===0)return"";let e=t.filter(o=>{var s;return!((s=o.mediaType)!=null&&s.startsWith("image/"))});if(e.length===0)return"";let r=`
|
69
42
|
|
@@ -71,8 +44,22 @@ Attached files:
|
|
71
44
|
`;for(let o of e)r+=`
|
72
45
|
--- ${o.name} ---
|
73
46
|
`,r+=o.content,r+=`
|
74
|
-
`;return r}async function
|
47
|
+
`;return r}async function xa(){try{let t=ga();if(t.help){Ta();return}if(t.version){Sa();return}let e=t.prompt||"";if(ma()){let l=await po();l&&(e=e?`${l}
|
48
|
+
|
49
|
+
${e}`:l)}e.trim()||(console.error("Error: No prompt provided. Use --help for usage information."),process.exit(1));let r=[];for(let l of t.files)try{let u=fa(l);r.push(u)}catch(u){console.error(`Error reading file ${l}: ${u instanceof Error?u.message:"Unknown error"}`),process.exit(1)}let o=e+Ia(r),s=r.filter(l=>{var u;return(u=l.mediaType)==null?void 0:u.startsWith("image/")});s.length>0&&t.model==="openai/gpt-4"&&(t.model="openai/gpt-4o"),t.verbose&&(console.error(`Using model: ${t.model}`),r.length>0&&console.error(`Attached files: ${r.map(l=>l.name).join(", ")}`),console.error("")),process.env.AI_GATEWAY_API_KEY||process.env.VERCEL_OIDC_TOKEN||(console.error(`Error: Authentication required.
|
75
50
|
|
76
|
-
|
77
|
-
|
78
|
-
|
51
|
+
Set up authentication with one of these options:
|
52
|
+
|
53
|
+
# Option 1: Export in current session
|
54
|
+
export AI_GATEWAY_API_KEY="your-key-here"
|
55
|
+
export VERCEL_OIDC_TOKEN="your-oidc-token"
|
56
|
+
export AI_MODEL="anthropic/claude-3-5-sonnet"
|
57
|
+
|
58
|
+
# Option 2: Add to shell profile (~/.bashrc, ~/.zshrc)
|
59
|
+
echo 'export AI_GATEWAY_API_KEY="your-key"' >> ~/.bashrc
|
60
|
+
# Or run: vercel env pull
|
61
|
+
|
62
|
+
Get your API key from the Vercel Dashboard (AI tab > API keys).
|
63
|
+
Use --help for more details and examples.`),process.exit(1));let i=ya(t.model),n;if(s.length>0){let l=[{type:"text",text:o}];for(let u of s)l.push({type:"image",image:u.content});n=[{role:"user",content:l}]}let p=await da(n?{model:i,messages:n,system:t.system}:{model:i,prompt:o,system:t.system});for await(let l of p.textStream)process.stdout.write(l);if(process.stdout.write(`
|
64
|
+
`),t.verbose){let l=await p.usage;l&&console.error(`
|
65
|
+
Usage: ${l.inputTokens} prompt + ${l.outputTokens} completion = ${l.totalTokens} total tokens`)}}catch(t){console.error(`Error: ${t instanceof Error?t.message:"Unknown error"}`),process.exit(1)}}process.on("SIGINT",()=>{process.exit(0)});process.on("SIGTERM",()=>{process.exit(0)});xa().catch(t=>{console.error(`Fatal error: ${t instanceof Error?t.message:"Unknown error"}`),process.exit(1)});0&&(module.exports={formatAttachedFiles,getMediaType,isStdinAvailable,main,parseArgs,readFileContent,resolveModel,showHelp,showVersion});
|
package/dist/index.d.mts
CHANGED
@@ -1253,6 +1253,10 @@ type TextUIPart = {
|
|
1253
1253
|
* The state of the text part.
|
1254
1254
|
*/
|
1255
1255
|
state?: 'streaming' | 'done';
|
1256
|
+
/**
|
1257
|
+
* The provider metadata.
|
1258
|
+
*/
|
1259
|
+
providerMetadata?: ProviderMetadata;
|
1256
1260
|
};
|
1257
1261
|
/**
|
1258
1262
|
* A reasoning part of a message.
|
@@ -1270,7 +1274,7 @@ type ReasoningUIPart = {
|
|
1270
1274
|
/**
|
1271
1275
|
* The provider metadata.
|
1272
1276
|
*/
|
1273
|
-
providerMetadata?:
|
1277
|
+
providerMetadata?: ProviderMetadata;
|
1274
1278
|
};
|
1275
1279
|
/**
|
1276
1280
|
* A source part of a message.
|
@@ -1280,7 +1284,7 @@ type SourceUrlUIPart = {
|
|
1280
1284
|
sourceId: string;
|
1281
1285
|
url: string;
|
1282
1286
|
title?: string;
|
1283
|
-
providerMetadata?:
|
1287
|
+
providerMetadata?: ProviderMetadata;
|
1284
1288
|
};
|
1285
1289
|
/**
|
1286
1290
|
* A document source part of a message.
|
@@ -1291,7 +1295,7 @@ type SourceDocumentUIPart = {
|
|
1291
1295
|
mediaType: string;
|
1292
1296
|
title: string;
|
1293
1297
|
filename?: string;
|
1294
|
-
providerMetadata?:
|
1298
|
+
providerMetadata?: ProviderMetadata;
|
1295
1299
|
};
|
1296
1300
|
/**
|
1297
1301
|
* A file part of a message.
|
@@ -1313,6 +1317,10 @@ type FileUIPart = {
|
|
1313
1317
|
* It can either be a URL to a hosted file or a [Data URL](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URLs).
|
1314
1318
|
*/
|
1315
1319
|
url: string;
|
1320
|
+
/**
|
1321
|
+
* The provider metadata.
|
1322
|
+
*/
|
1323
|
+
providerMetadata?: ProviderMetadata;
|
1316
1324
|
};
|
1317
1325
|
/**
|
1318
1326
|
* A step boundary part of a message.
|
@@ -1343,18 +1351,21 @@ type ToolUIPart<TOOLS extends UITools = UITools> = ValueOf<{
|
|
1343
1351
|
providerExecuted?: boolean;
|
1344
1352
|
output?: never;
|
1345
1353
|
errorText?: never;
|
1354
|
+
callProviderMetadata?: ProviderMetadata;
|
1346
1355
|
} | {
|
1347
1356
|
state: 'output-available';
|
1348
1357
|
input: TOOLS[NAME]['input'];
|
1349
1358
|
output: TOOLS[NAME]['output'];
|
1350
1359
|
errorText?: never;
|
1351
1360
|
providerExecuted?: boolean;
|
1361
|
+
callProviderMetadata?: ProviderMetadata;
|
1352
1362
|
} | {
|
1353
1363
|
state: 'output-error';
|
1354
1364
|
input: TOOLS[NAME]['input'];
|
1355
1365
|
output?: never;
|
1356
1366
|
errorText: string;
|
1357
1367
|
providerExecuted?: boolean;
|
1368
|
+
callProviderMetadata?: ProviderMetadata;
|
1358
1369
|
});
|
1359
1370
|
}>;
|
1360
1371
|
declare function isToolUIPart<TOOLS extends UITools>(part: UIMessagePart<UIDataTypes, TOOLS>): part is ToolUIPart<TOOLS>;
|
@@ -1373,13 +1384,16 @@ type DataUIMessageChunk<DATA_TYPES extends UIDataTypes> = ValueOf<{
|
|
1373
1384
|
type UIMessageChunk<METADATA = unknown, DATA_TYPES extends UIDataTypes = UIDataTypes> = {
|
1374
1385
|
type: 'text-start';
|
1375
1386
|
id: string;
|
1387
|
+
providerMetadata?: ProviderMetadata;
|
1376
1388
|
} | {
|
1377
1389
|
type: 'text-delta';
|
1378
1390
|
delta: string;
|
1379
1391
|
id: string;
|
1392
|
+
providerMetadata?: ProviderMetadata;
|
1380
1393
|
} | {
|
1381
1394
|
type: 'text-end';
|
1382
1395
|
id: string;
|
1396
|
+
providerMetadata?: ProviderMetadata;
|
1383
1397
|
} | {
|
1384
1398
|
type: 'reasoning-start';
|
1385
1399
|
id: string;
|
@@ -1402,6 +1416,7 @@ type UIMessageChunk<METADATA = unknown, DATA_TYPES extends UIDataTypes = UIDataT
|
|
1402
1416
|
toolName: string;
|
1403
1417
|
input: unknown;
|
1404
1418
|
providerExecuted?: boolean;
|
1419
|
+
providerMetadata?: ProviderMetadata;
|
1405
1420
|
} | {
|
1406
1421
|
type: 'tool-output-available';
|
1407
1422
|
toolCallId: string;
|
@@ -3992,4 +4007,4 @@ declare global {
|
|
3992
4007
|
var AI_SDK_DEFAULT_PROVIDER: ProviderV2 | undefined;
|
3993
4008
|
}
|
3994
4009
|
|
3995
|
-
export { AbstractChat, CallSettings, CallWarning, ChatInit, ChatOnDataCallback, ChatOnErrorCallback, ChatOnFinishCallback, ChatOnToolCallCallback, ChatRequestOptions, ChatState, ChatStatus, ChatTransport, ChunkDetector, CompletionRequestOptions, CoreAssistantMessage, CoreMessage, CoreSystemMessage, CoreToolMessage, CoreUserMessage, CreateUIMessage, DataUIPart, DeepPartial, DefaultChatTransport, DownloadError, EmbedManyResult, EmbedResult, Embedding, EmbeddingModel, EmbeddingModelUsage, ErrorHandler, Agent as Experimental_Agent, AgentSettings as Experimental_AgentSettings, GenerateImageResult as Experimental_GenerateImageResult, GeneratedFile as Experimental_GeneratedImage, SpeechResult as Experimental_SpeechResult, TranscriptionResult as Experimental_TranscriptionResult, FileUIPart, FinishReason, GenerateObjectResult, GenerateTextOnStepFinishCallback, GenerateTextResult, GeneratedAudioFile, GeneratedFile, HttpChatTransport, HttpChatTransportInitOptions, ImageModel, ImageGenerationWarning as ImageModelCallWarning, ImageModelProviderMetadata, ImageModelResponseMetadata, InferUIDataParts, InferUITool, InferUITools, InvalidArgumentError, InvalidDataContentError, InvalidMessageRoleError, InvalidStreamPartError, InvalidToolInputError, JSONRPCError, JSONRPCMessage, JSONRPCNotification, JSONRPCRequest, JSONRPCResponse, JSONValue, JsonToSseTransformStream, LanguageModel, LanguageModelRequestMetadata, LanguageModelResponseMetadata, LanguageModelUsage, MCPClientError, MCPTransport, MessageConversionError, NoImageGeneratedError, NoObjectGeneratedError, NoOutputSpecifiedError, NoSuchProviderError, NoSuchToolError, ObjectStreamPart, output as Output, PrepareReconnectToStreamRequest, PrepareSendMessagesRequest, PrepareStepFunction, PrepareStepResult, Prompt, Provider, ProviderMetadata, ProviderRegistryProvider, ReasoningUIPart, RepairTextFunction, RetryError, SerialJobExecutor, SourceDocumentUIPart, SourceUrlUIPart, SpeechModel, SpeechModelResponseMetadata, SpeechWarning, StepResult, StepStartUIPart, StopCondition, StreamObjectOnFinishCallback, StreamObjectResult, StreamTextOnChunkCallback, StreamTextOnErrorCallback, StreamTextOnFinishCallback, StreamTextOnStepFinishCallback, StreamTextResult, StreamTextTransform, TelemetrySettings, TextStreamChatTransport, TextStreamPart, TextUIPart, ToolCallRepairError, ToolCallRepairFunction, ToolCallUnion, ToolChoice, ToolErrorUnion, ToolResultUnion, ToolSet, ToolUIPart, TranscriptionModel, TranscriptionModelResponseMetadata, TranscriptionWarning, UIDataPartSchemas, UIDataTypes, UIMessage, UIMessageChunk, UIMessagePart, UIMessageStreamOptions, UIMessageStreamWriter, UITool, UITools, UI_MESSAGE_STREAM_HEADERS, UnsupportedModelVersionError, UseCompletionOptions, assistantModelMessageSchema, callCompletionApi, convertFileListToFileUIParts, convertToCoreMessages, convertToModelMessages, coreAssistantMessageSchema, coreMessageSchema, coreSystemMessageSchema, coreToolMessageSchema, coreUserMessageSchema, cosineSimilarity, createProviderRegistry, createTextStreamResponse, createUIMessageStream, createUIMessageStreamResponse, customProvider, defaultSettingsMiddleware, embed, embedMany, createMCPClient as experimental_createMCPClient, experimental_createProviderRegistry, experimental_customProvider, generateImage as experimental_generateImage, generateSpeech as experimental_generateSpeech, transcribe as experimental_transcribe, extractReasoningMiddleware, generateObject, generateText, getTextFromDataUrl, getToolName, hasToolCall, isDeepEqualData, isToolUIPart, modelMessageSchema, parsePartialJson, pipeTextStreamToResponse, pipeUIMessageStreamToResponse, readUIMessageStream, simulateReadableStream, simulateStreamingMiddleware, smoothStream, stepCountIs, streamObject, streamText, systemModelMessageSchema, toolModelMessageSchema, userModelMessageSchema, wrapLanguageModel };
|
4010
|
+
export { AbstractChat, CallSettings, CallWarning, ChatInit, ChatOnDataCallback, ChatOnErrorCallback, ChatOnFinishCallback, ChatOnToolCallCallback, ChatRequestOptions, ChatState, ChatStatus, ChatTransport, ChunkDetector, CompletionRequestOptions, CoreAssistantMessage, CoreMessage, CoreSystemMessage, CoreToolMessage, CoreUserMessage, CreateUIMessage, DataUIPart, DeepPartial, DefaultChatTransport, DownloadError, EmbedManyResult, EmbedResult, Embedding, EmbeddingModel, EmbeddingModelUsage, ErrorHandler, Agent as Experimental_Agent, AgentSettings as Experimental_AgentSettings, GenerateImageResult as Experimental_GenerateImageResult, GeneratedFile as Experimental_GeneratedImage, SpeechResult as Experimental_SpeechResult, TranscriptionResult as Experimental_TranscriptionResult, FileUIPart, FinishReason, GenerateObjectResult, GenerateTextOnStepFinishCallback, GenerateTextResult, GeneratedAudioFile, GeneratedFile, HttpChatTransport, HttpChatTransportInitOptions, ImageModel, ImageGenerationWarning as ImageModelCallWarning, ImageModelProviderMetadata, ImageModelResponseMetadata, InferUIDataParts, InferUIMessageChunk, InferUITool, InferUITools, InvalidArgumentError, InvalidDataContentError, InvalidMessageRoleError, InvalidStreamPartError, InvalidToolInputError, JSONRPCError, JSONRPCMessage, JSONRPCNotification, JSONRPCRequest, JSONRPCResponse, JSONValue, JsonToSseTransformStream, LanguageModel, LanguageModelRequestMetadata, LanguageModelResponseMetadata, LanguageModelUsage, MCPClientError, MCPTransport, MessageConversionError, NoImageGeneratedError, NoObjectGeneratedError, NoOutputSpecifiedError, NoSuchProviderError, NoSuchToolError, ObjectStreamPart, output as Output, PrepareReconnectToStreamRequest, PrepareSendMessagesRequest, PrepareStepFunction, PrepareStepResult, Prompt, Provider, ProviderMetadata, ProviderRegistryProvider, ReasoningUIPart, RepairTextFunction, RetryError, SerialJobExecutor, SourceDocumentUIPart, SourceUrlUIPart, SpeechModel, SpeechModelResponseMetadata, SpeechWarning, StepResult, StepStartUIPart, StopCondition, StreamObjectOnFinishCallback, StreamObjectResult, StreamTextOnChunkCallback, StreamTextOnErrorCallback, StreamTextOnFinishCallback, StreamTextOnStepFinishCallback, StreamTextResult, StreamTextTransform, TelemetrySettings, TextStreamChatTransport, TextStreamPart, TextUIPart, ToolCallRepairError, ToolCallRepairFunction, ToolCallUnion, ToolChoice, ToolErrorUnion, ToolResultUnion, ToolSet, ToolUIPart, TranscriptionModel, TranscriptionModelResponseMetadata, TranscriptionWarning, UIDataPartSchemas, UIDataTypes, UIMessage, UIMessageChunk, UIMessagePart, UIMessageStreamOptions, UIMessageStreamWriter, UITool, UITools, UI_MESSAGE_STREAM_HEADERS, UnsupportedModelVersionError, UseCompletionOptions, assistantModelMessageSchema, callCompletionApi, convertFileListToFileUIParts, convertToCoreMessages, convertToModelMessages, coreAssistantMessageSchema, coreMessageSchema, coreSystemMessageSchema, coreToolMessageSchema, coreUserMessageSchema, cosineSimilarity, createProviderRegistry, createTextStreamResponse, createUIMessageStream, createUIMessageStreamResponse, customProvider, defaultSettingsMiddleware, embed, embedMany, createMCPClient as experimental_createMCPClient, experimental_createProviderRegistry, experimental_customProvider, generateImage as experimental_generateImage, generateSpeech as experimental_generateSpeech, transcribe as experimental_transcribe, extractReasoningMiddleware, generateObject, generateText, getTextFromDataUrl, getToolName, hasToolCall, isDeepEqualData, isToolUIPart, modelMessageSchema, parsePartialJson, pipeTextStreamToResponse, pipeUIMessageStreamToResponse, readUIMessageStream, simulateReadableStream, simulateStreamingMiddleware, smoothStream, stepCountIs, streamObject, streamText, systemModelMessageSchema, toolModelMessageSchema, userModelMessageSchema, wrapLanguageModel };
|