ai 5.0.0-beta.21 → 5.0.0-beta.23
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 +20 -0
- package/dist/bin/ai.js +104 -102
- package/dist/bin/ai.js.map +1 -1
- package/dist/bin/ai.min.js +12 -13
- package/dist/index.d.mts +39 -14
- package/dist/index.d.ts +39 -14
- package/dist/index.js +138 -99
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +136 -98
- package/dist/index.mjs.map +1 -1
- package/dist/test/index.d.mts +17 -2
- package/dist/test/index.d.ts +17 -2
- package/dist/test/index.js +51 -0
- package/dist/test/index.js.map +1 -1
- package/dist/test/index.mjs +52 -0
- package/dist/test/index.mjs.map +1 -1
- package/package.json +7 -7
package/dist/bin/ai.min.js
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
#!/usr/bin/env node
|
2
|
-
"use strict";var
|
2
|
+
"use strict";var nt=Object.defineProperty;var Aa=Object.getOwnPropertyDescriptor;var ba=Object.getOwnPropertyNames;var Ua=Object.prototype.hasOwnProperty;var Ra=(t,e)=>{for(var r in e)nt(t,r,{get:e[r],enumerable:!0})},Pa=(t,e,r,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of ba(e))!Ua.call(t,s)&&s!==r&&nt(t,s,{get:()=>e[s],enumerable:!(o=Aa(e,s))||o.enumerable});return t};var wa=t=>Pa(nt({},"__esModule",{value:!0}),t);var po={};Ra(po,{formatAttachedFiles:()=>ya,getMediaType:()=>ma,isStdinAvailable:()=>ua,main:()=>Ia,parseArgs:()=>fa,readFileContent:()=>ca,resolveModel:()=>Sa,showHelp:()=>ga,showVersion:()=>Ta});module.exports=wa(po);var sa=require("@ai-sdk/provider"),ia=require("@ai-sdk/provider-utils");var st=require("@ai-sdk/provider"),$t="AI_NoOutputSpecifiedError",Bt=`vercel.ai.error.${$t}`,Ca=Symbol.for(Bt),_a,Fe=class extends st.AISDKError{constructor({message:r="No output specified."}={}){super({name:$t,message:r});this[_a]=!0}static isInstance(r){return st.AISDKError.hasMarker(r,Bt)}};_a=Ca;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 Jt({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 qe({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 Yt({response:t,status:e,statusText:r,headers:o,textStream:s}){qe({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 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]
|
6
|
+
`)}})}};var Ve={"content-type":"text/event-stream","cache-control":"no-cache",connection:"keep-alive","x-vercel-ai-ui-message-stream":"v1","x-accel-buffering":"no"};function Wt({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,Ve)})}function zt({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 pt=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 O=Ie.z.record(Ie.z.string(),Ie.z.record(Ie.z.string(),Q));var Co=d.z.union([d.z.strictObject({type:d.z.literal("text-start"),id:d.z.string(),providerMetadata:O.optional()}),d.z.strictObject({type:d.z.literal("text-delta"),id:d.z.string(),delta:d.z.string(),providerMetadata:O.optional()}),d.z.strictObject({type:d.z.literal("text-end"),id:d.z.string(),providerMetadata:O.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:O.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:O.optional()}),d.z.strictObject({type:d.z.literal("reasoning-start"),id:d.z.string(),providerMetadata:O.optional()}),d.z.strictObject({type:d.z.literal("reasoning-delta"),id:d.z.string(),delta:d.z.string(),providerMetadata:O.optional()}),d.z.strictObject({type:d.z.literal("reasoning-end"),id:d.z.string(),providerMetadata:O.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:O.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:O.optional()}),d.z.strictObject({type:d.z.literal("file"),url:d.z.string(),mediaType:d.z.string(),providerMetadata:O.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 Kt(t){return t.type.startsWith("data-")}function it(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]=it(a,s):r[o]=s}return r}var lt=require("@ai-sdk/provider-utils");function Ht(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 M=t.substring(o,p+1);!"false".startsWith(M)&&!"true".startsWith(M)&&!"null".startsWith(M)?(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 Zt(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:Ht(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("-").slice(1).join("-")}function Qt({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 Xt({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 I,b,_,y;function M(m){var F;let x=l.message.parts.find(q=>xe(q)&&q.toolCallId===m.toolCallId),S=m,E=x;x!=null?(x.state=m.state,E.input=S.input,E.output=S.output,E.errorText=S.errorText,E.providerExecuted=(F=S.providerExecuted)!=null?F:x.providerExecuted,S.providerMetadata!=null&&x.state==="input-available"&&(x.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 x=l.message.metadata!=null?it(l.message.metadata,m):m;r!=null&&await(0,pt.validateTypes)({value:x,schema:r}),l.message.metadata=x}}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=(I=n.providerMetadata)!=null?I:m.providerMetadata,u();break}case"text-end":{let m=l.activeTextParts[n.id];m.state="done",m.providerMetadata=(b=n.providerMetadata)!=null?b: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},M({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:x}=await Zt(m.text);M({toolCallId:n.toolCallId,toolName:m.toolName,state:"input-streaming",input:x}),u();break}case"tool-input-available":{if(M({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&&(M({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 x=m.findIndex(E=>E.toolCallId===n.toolCallId);if(x===-1)throw new Error("tool_result must be preceded by a tool_call with the same toolCallId");let S=dt(m[x]);M({toolCallId:n.toolCallId,toolName:S,state:"output-available",input:m[x].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 x=m.findIndex(E=>E.toolCallId===n.toolCallId);if(x===-1)throw new Error("tool_result must be preceded by a tool_call with the same toolCallId");let S=dt(m[x]);M({toolCallId:n.toolCallId,toolName:S,state:"output-error",input:m[x].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(Kt(n)){(o==null?void 0:o[n.type])!=null&&await(0,pt.validateTypes)({value:n.data,schema:o[n.type]});let m=n;if(m.transient){i==null||i(m);break}let x=m.id!=null?l.message.parts.find(S=>m.type===S.type&&m.id===S.id):void 0;x!=null?x.data=m.data:l.message.parts.push(m),i==null||i(m),u()}}p.enqueue(n)})}}))}function er({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 M=l;M.messageId==null&&t!=null&&(M.messageId=t)}u.enqueue(l)}}));if(r==null)return i;let n=Qt({lastMessage:a?structuredClone(a):void 0,messageId:t!=null?t:""});return Xt({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 tr({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})}qe({response:t,status:e,statusText:r,headers:Object.fromEntries(z(o,Ve).entries()),stream:i.pipeThrough(new TextEncoderStream)})}function ut(t){return t===void 0?[]:Array.isArray(t)?t:[t]}function je(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 rr({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 mt(){let t,e;return{promise:new Promise((o,s)=>{t=o,e=s}),resolve:t,reject:e}}function ar(){let t=[],e=null,r=!1,o=mt(),s=async()=>{if(r&&t.length===0){e==null||e.close();return}if(t.length===0)return o=mt(),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 or(){var t,e;return(e=(t=globalThis==null?void 0:globalThis.performance)==null?void 0:t.now())!=null?e:Date.now()}var ct=require("@ai-sdk/provider"),nr="AI_InvalidArgumentError",sr=`vercel.ai.error.${nr}`,La=Symbol.for(sr),ka,C=class extends ct.AISDKError{constructor({parameter:r,value:o,message:s}){super({name:nr,message:`Invalid argument for parameter ${r}: ${s}`});this[ka]=!0;this.parameter=r,this.value=o}static isInstance(r){return ct.AISDKError.hasMarker(r,sr)}};ka=La;var dr=require("@ai-sdk/provider"),se=require("@ai-sdk/provider-utils");var ft=require("@ai-sdk/provider"),ir="AI_RetryError",lr=`vercel.ai.error.${ir}`,Na=Symbol.for(lr),Da,Me=class extends ft.AISDKError{constructor({message:r,reason:o,errors:s}){super({name:ir,message:r});this[Da]=!0;this.reason=o,this.errors=s,this.lastError=s[s.length-1]}static isInstance(r){return ft.AISDKError.hasMarker(r,lr)}};Da=Na;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 pr=({maxRetries:t=2,initialDelayInMs:e=2e3,backoffFactor:r=2}={})=>async o=>ur(o,{maxRetries:t,delayInMs:e,backoffFactor:r});async function ur(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 Me({message:`Failed after ${p} attempts. Last error: ${i}`,reason:"maxRetriesExceeded",errors:n});if(a instanceof Error&&dr.APICallError.isInstance(a)&&a.isRetryable===!0&&p<=e){let l=Fa(a,r);return await(0,se.delay)(l),ur(t,{maxRetries:e,delayInMs:o*r,backoffFactor:o},n)}throw p===1?a:new Me({message:`Failed after ${p} attempts with non-retryable error: '${i}'`,reason:"errorNotRetryable",errors:n})}}function mr({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:pr({maxRetries:e})}}var hr=require("@ai-sdk/provider-utils");var cr=require("@ai-sdk/provider-utils"),fr=[{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,cr.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 Va(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 gr({data:t,signatures:e}){let r=Va(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 gt=require("@ai-sdk/provider"),Tr="AI_DownloadError",Sr=`vercel.ai.error.${Tr}`,ja=Symbol.for(Sr),Ga,ie=class extends gt.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:Tr,message:i,cause:a});this[Ga]=!0;this.url=r,this.statusCode=o,this.statusText=s}static isInstance(r){return gt.AISDKError.hasMarker(r,Sr)}};Ga=ja;async function yr({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 xr=require("@ai-sdk/provider"),Ge=require("@ai-sdk/provider-utils"),le=require("zod/v4");function Ir(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 Tt=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 St(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}=Ir(t.toString());if(e==null||r==null)throw new xr.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,Ge.convertUint8ArrayToBase64)(new Uint8Array(t)):(0,Ge.convertUint8ArrayToBase64)(t)}var yt=require("@ai-sdk/provider"),vr="AI_InvalidMessageRoleError",Or=`vercel.ai.error.${vr}`,$a=Symbol.for(Or),Ba,$e=class extends yt.AISDKError{constructor({role:r,message:o=`Invalid message role: '${r}'. Must be one of: "system", "user", "assistant", "tool".`}){super({name:vr,message:o});this[Ba]=!0;this.role=r}static isInstance(r){return yt.AISDKError.hasMarker(r,Or)}};Ba=$a;async function Er({prompt:t,supportedUrls:e,downloadImplementation:r=yr}){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}=St(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 $e({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,hr.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}=St(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=gr({data:n,signatures:fr}))!=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 Ar({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 Ur=require("@ai-sdk/provider-utils");function br(t){return t!=null&&Object.keys(t).length>0}function Rr({tools:t,toolChoice:e,activeTools:r}){return br(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,Ur.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 Dr=require("@ai-sdk/gateway");var D=require("@ai-sdk/provider");var ve=require("@ai-sdk/provider"),Pr="AI_InvalidToolInputError",wr=`vercel.ai.error.${Pr}`,za=Symbol.for(wr),Ka,Oe=class extends ve.AISDKError{constructor({toolInput:r,toolName:o,cause:s,message:a=`Invalid input for tool ${o}: ${(0,ve.getErrorMessage)(s)}`}){super({name:Pr,message:a,cause:s});this[Ka]=!0;this.toolInput=r,this.toolName=o}static isInstance(r){return ve.AISDKError.hasMarker(r,wr)}};Ka=za;var It=require("@ai-sdk/provider"),Cr="AI_NoSuchToolError",_r=`vercel.ai.error.${Cr}`,Ha=Symbol.for(_r),Za,de=class extends It.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:Cr,message:s});this[Za]=!0;this.toolName=r,this.availableTools=o}static isInstance(r){return It.AISDKError.hasMarker(r,_r)}};Za=Ha;var he=require("@ai-sdk/provider"),Lr="AI_ToolCallRepairError",kr=`vercel.ai.error.${Lr}`,Qa=Symbol.for(kr),Xa,Be=class extends he.AISDKError{constructor({cause:r,originalError:o,message:s=`Error repairing tool call: ${(0,he.getErrorMessage)(r)}`}){super({name:Lr,message:s,cause:r});this[Xa]=!0;this.originalError=o}static isInstance(r){return he.AISDKError.hasMarker(r,kr)}};Xa=Qa;var Nr=require("@ai-sdk/provider"),Ee=class extends Nr.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 xt(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:Dr.gateway).languageModel(t)}var ee=require("@ai-sdk/provider"),Gr=require("@ai-sdk/provider-utils"),$r=require("zod/v4");var h=require("zod/v4");var g=require("zod/v4");var Mt=g.z.object({type:g.z.literal("text"),text:g.z.string(),providerOptions:O.optional()}),Fr=g.z.object({type:g.z.literal("image"),image:g.z.union([Tt,g.z.instanceof(URL)]),mediaType:g.z.string().optional(),providerOptions:O.optional()}),vt=g.z.object({type:g.z.literal("file"),data:g.z.union([Tt,g.z.instanceof(URL)]),filename:g.z.string().optional(),mediaType:g.z.string(),providerOptions:O.optional()}),qr=g.z.object({type:g.z.literal("reasoning"),text:g.z.string(),providerOptions:O.optional()}),Vr=g.z.object({type:g.z.literal("tool-call"),toolCallId:g.z.string(),toolName:g.z.string(),input:g.z.unknown(),providerOptions:O.optional(),providerExecuted:g.z.boolean().optional()}),eo=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()})]))})]),Ot=g.z.object({type:g.z.literal("tool-result"),toolCallId:g.z.string(),toolName:g.z.string(),output:eo,providerOptions:O.optional()});var to=h.z.object({role:h.z.literal("system"),content:h.z.string(),providerOptions:O.optional()});var ro=h.z.object({role:h.z.literal("user"),content:h.z.union([h.z.string(),h.z.array(h.z.union([Mt,Fr,vt]))]),providerOptions:O.optional()});var ao=h.z.object({role:h.z.literal("assistant"),content:h.z.union([h.z.string(),h.z.array(h.z.union([Mt,vt,qr,Vr,Ot]))]),providerOptions:O.optional()});var oo=h.z.object({role:h.z.literal("tool"),content:h.z.array(Ot),providerOptions:O.optional()});var jr=h.z.union([to,ro,ao,oo]);async function Br(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,Gr.safeValidateTypes)({value:e,schema:$r.z.array(jr)});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 Je=require("@ai-sdk/gateway"),Jr=require("@ai-sdk/provider");function Yr(t){return Je.GatewayAuthenticationError.isInstance(t)||Je.GatewayModelNotFoundError.isInstance(t)?new Jr.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 Wr({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 Kr=require("@opentelemetry/api");var zr={startSpan(){return Ye},startActiveSpan(t,e,r,o){if(typeof e=="function")return e(Ye);if(typeof r=="function")return r(Ye);if(typeof o=="function")return o(Ye)}},Ye={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 Hr({isEnabled:t=!1,tracer:e}={}){return t?e||Kr.trace.getTracer("ai"):zr}var ht=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:ht.SpanStatusCode.ERROR,message:e.message})):t.setStatus({code:ht.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 Zr(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 Qr(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 ta=require("@ai-sdk/provider-utils");var ze=require("@ai-sdk/provider-utils"),At=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,ze.convertUint8ArrayToBase64)(this.uint8ArrayData)),this.base64Data}get uint8Array(){return this.uint8ArrayData==null&&(this.uint8ArrayData=(0,ze.convertBase64ToUint8Array)(this.base64Data)),this.uint8ArrayData}},We=class extends At{constructor(r){super(r);this.type="file"}};var te=require("@ai-sdk/provider-utils");async function ea({toolCall:t,tools:e,repairToolCall:r,system:o,messages:s}){if(e==null)throw new de({toolName:t.toolName});try{return await Xr({toolCall:t,tools:e})}catch(a){if(r==null||!(de.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,te.asSchema)(p).jsonSchema},system:o,messages:s,error:a})}catch(n){throw new Be({cause:n,originalError:a})}if(i==null)throw a;return await Xr({toolCall:i,tools:e})}}async function Xr({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 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 ra({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,M=new Map,f=!1,I;function b(){f&&u.size===0&&(I!=null&&p.enqueue(I),p.close())}let _=new TransformStream({async transform(y,m){let x=y.type;switch(x){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 We({data:y.data,mediaType:y.mediaType})});break}case"finish":{I={type:"finish",finishReason:y.finishReason,usage:y.usage,providerMetadata:y.providerMetadata};break}case"tool-call":{try{let S=await ea({toolCall:y,tools:t,repairToolCall:n,system:s,messages:a});m.enqueue(S);let E=t[S.toolName];if(M.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 F=(0,ta.generateId)();u.add(F),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 q=>{let $;try{$=await E.execute(S.input,{toolCallId:S.toolCallId,messages:a,abortSignal:i})}catch(H){Et(q,H),p.enqueue({...S,type:"tool-error",error:H}),u.delete(F),b();return}p.enqueue({...S,type:"tool-result",output:$}),u.delete(F),b();try{q.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:M.get(y.toolCallId),providerExecuted:y.providerExecuted,error:y.result}):m.enqueue({type:"tool-result",toolCallId:y.toolCallId,toolName:S,input:M.get(y.toolCallId),output:y.result,providerExecuted:y.providerExecuted});break}default:{let S=x;throw new Error(`Unhandled chunk type: ${S}`)}}},flush(){f=!0,b()}});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 Ke=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 aa(t){return({steps:e})=>e.length===t}async function oa({stopConditions:t,steps:e}){return(await Promise.all(t.map(r=>r({steps:e})))).some(r=>r)}var na=require("@ai-sdk/provider");function He({output:t,tool:e,errorMode:r}){return r==="text"?{type:"error-text",value:(0,na.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 bt({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:He({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:He({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:He({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,ia.createIdGenerator)({prefix:"aitxt",size:24});function la({model:t,tools:e,toolChoice:r,system:o,prompt:s,messages:a,maxRetries:i,abortSignal:n,headers:p,stopWhen:l=aa(1),experimental_output:u,experimental_telemetry:M,prepareStep:f,providerOptions:I,experimental_activeTools:b,activeTools:_=b,experimental_repairToolCall:y,experimental_transform:m,includeRawChunks:x=!1,onChunk:S,onError:E=({error:me})=>{console.error(me)},onFinish:F,onStepFinish:q,_internal:{now:$=or,generateId:H=so,currentDate:pe=()=>new Date}={},...ue}){return new Ut({model:xt(t),telemetry:M,headers:p,settings:ue,maxRetries:i,abortSignal:n,system:o,prompt:s,messages:a,tools:e,toolChoice:r,transforms:ut(m),activeTools:_,repairToolCall:y,stopConditions:ut(l),output:u,providerOptions:I,prepareStep:f,includeRawChunks:x,onChunk:S,onError:E,onFinish:F,onStepFinish:q,now:$,currentDate:pe,generateId:H})}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 Ut=class{constructor({model:e,telemetry:r,headers:o,settings:s,maxRetries:a,abortSignal:i,system:n,prompt:p,messages:l,tools:u,toolChoice:M,transforms:f,activeTools:I,repairToolCall:b,stopConditions:_,output:y,providerOptions:m,prepareStep:x,includeRawChunks:S,now:E,currentDate:F,generateId:q,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=q;let me,V=[],Rt=[],Pe,we,Pt={},wt=[],k=[],Ze,ce={},re={},xa=new TransformStream({async transform(L,R){var v,Z,ge;R.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:Yr(c.error)}),c.type==="text-start"&&(ce[c.id]={type:"text",text:"",providerMetadata:c.providerMetadata},V.push(ce[c.id])),c.type==="text"){let A=ce[c.id];if(A==null){R.enqueue({part:{type:"error",error:`text part ${c.id} not found`},partialOutput:void 0});return}A.text+=c.text,A.providerMetadata=(v=c.providerMetadata)!=null?v:A.providerMetadata}if(c.type==="text-end"&&delete ce[c.id],c.type==="reasoning-start"&&(re[c.id]={type:"reasoning",text:"",providerMetadata:c.providerMetadata},V.push(re[c.id])),c.type==="reasoning"){let A=re[c.id];if(A==null){R.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){R.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"&&V.push({type:"file",file:c.file}),c.type==="source"&&V.push(c),c.type==="tool-call"&&V.push(c),c.type==="tool-result"&&V.push(c),c.type==="tool-error"&&V.push(c),c.type==="start-step"&&(Pt=c.request,wt=c.warnings),c.type==="finish-step"){let A=bt({content:V,tools:u}),W=new Ke({content:V,finishReason:c.finishReason,usage:c.usage,warnings:wt,request:Pt,response:{...c.response,messages:[...Rt,...A]},providerMetadata:c.providerMetadata});await(ue==null?void 0:ue(W)),k.push(W),V=[],re={},ce={},Rt.push(...A),me.resolve()}c.type==="finish"&&(we=c.totalUsage,Pe=c.finishReason)},async flush(L){try{if(k.length===0)return;let R=Pe!=null?Pe:"unknown",c=we!=null?we:{inputTokens:void 0,outputTokens:void 0,totalTokens:void 0};J._finishReason.resolve(R),J._totalUsage.resolve(c),J._steps.resolve(k);let v=k[k.length-1];await(pe==null?void 0:pe({finishReason:R,totalUsage:c,usage:v.usage,content:v.content,text:v.text,reasoningText:v.reasoningText,reasoning:v.reasoning,files:v.files,sources:v.sources,toolCalls:v.toolCalls,toolResults:v.toolResults,request:v.request,response:v.response,warnings:v.warnings,providerMetadata:v.providerMetadata,steps:k})),Ze.setAttributes(K({telemetry:r,attributes:{"ai.response.finishReason":R,"ai.response.text":{output:()=>v.text},"ai.response.toolCalls":{output:()=>{var Z;return(Z=v.toolCalls)!=null&&Z.length?JSON.stringify(v.toolCalls):void 0}},"ai.response.providerMetadata":JSON.stringify(v.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(R){L.error(R)}finally{Ze.end()}}}),Ce=ar();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(io(y)).pipeThrough(xa);let{maxRetries:Ma,retry:va}=mr({maxRetries:a}),Qe=Hr(r),B=Ar(s),Ct=Wr({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}),...Ct,"ai.prompt":{input:()=>JSON.stringify({system:n,prompt:p,messages:l})}}}),tracer:Qe,endWhenDone:!1,fn:async L=>{Ze=L;async function R({currentStep:c,responseMessages:v,usage:Z}){var Dt,Ft,qt,Vt,jt;let ge=J.includeRawChunks;me=new X;let A=await Br({system:n,prompt:p,messages:l}),W=[...A.messages,...v],P=await(x==null?void 0:x({model:e,steps:k,stepNumber:k.length,messages:W})),_t=await Er({prompt:{system:(Dt=P==null?void 0:P.system)!=null?Dt:A.system,messages:(Ft=P==null?void 0:P.messages)!=null?Ft:W},supportedUrls:await e.supportedUrls}),Te=xt((qt=P==null?void 0:P.model)!=null?qt:e),{toolChoice:Xe,tools:_e}=Rr({tools:u,toolChoice:(Vt=P==null?void 0:P.toolChoice)!=null?Vt:M,activeTools:(jt=P==null?void 0:P.activeTools)!=null?jt:I}),{result:{stream:Oa,response:et,request:tt},doStreamSpan:ae,startTimestampMs:Lt}=await va(()=>be({name:"ai.streamText.doStream",attributes:K({telemetry:r,attributes:{...Ae({operationId:"ai.streamText.doStream",telemetry:r}),...Ct,"ai.model.provider":Te.provider,"ai.model.id":Te.modelId,"ai.prompt.messages":{input:()=>Zr(_t)},"ai.prompt.tools":{input:()=>_e==null?void 0:_e.map(T=>JSON.stringify(T))},"ai.prompt.toolChoice":{input:()=>Xe!=null?JSON.stringify(Xe):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:Qe,endWhenDone:!1,fn:async T=>({startTimestampMs:E(),doStreamSpan:T,result:await Te.doStream({...B,tools:_e,toolChoice:Xe,responseFormat:y==null?void 0:y.responseFormat,prompt:_t,providerOptions:m,abortSignal:i,headers:o,includeRawChunks:ge})})})),ha=ra({tools:u,generatorStream:Oa,tracer:Qe,telemetry:r,system:n,messages:W,repairToolCall:b,abortSignal:i}),Ea=tt!=null?tt:{},Le=[],rt=[],ke,at={},oe="unknown",N={inputTokens:void 0,outputTokens:void 0,totalTokens:void 0},ot,kt=!0,j={id:q(),timestamp:F(),modelId:e.modelId},Nt="";J.addStream(ha.pipeThrough(new TransformStream({async transform(T,U){var ye,Ne,Y,Gt;if(T.type==="stream-start"){ke=T.warnings;return}if(kt){let w=E()-Lt;kt=!1,ae.addEvent("ai.stream.firstChunk",{"ai.response.msToFirstChunk":w}),ae.setAttributes({"ai.response.msToFirstChunk":w}),U.enqueue({type:"start-step",request:Ea,warnings:ke!=null?ke:[]})}let Se=T.type;switch(Se){case"text-start":case"text-end":{U.enqueue(T);break}case"text-delta":{T.delta.length>0&&(U.enqueue({type:"text",id:T.id,text:T.delta,providerMetadata:T.providerMetadata}),Nt+=T.delta);break}case"reasoning-start":case"reasoning-end":{U.enqueue(T);break}case"reasoning-delta":{U.enqueue({type:"reasoning",id:T.id,text:T.delta,providerMetadata:T.providerMetadata});break}case"tool-call":{U.enqueue(T),Le.push(T);break}case"tool-result":{U.enqueue(T),rt.push(T);break}case"tool-error":{U.enqueue(T),rt.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,ot=T.providerMetadata;let w=E()-Lt;ae.addEvent("ai.stream.finish"),ae.setAttributes({"ai.response.msToFinish":w,"ai.response.avgOutputTokensPerSecond":1e3*((Gt=N.outputTokens)!=null?Gt:0)/w});break}case"file":{U.enqueue(T);break}case"source":{U.enqueue(T);break}case"tool-input-start":{at[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}),U.enqueue(T);break}case"tool-input-end":{delete at[T.id],U.enqueue(T);break}case"tool-input-delta":{let w=at[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}),U.enqueue(T);break}case"error":{U.enqueue(T),oe="error";break}case"raw":{ge&&U.enqueue(T);break}default:{let w=Se;throw new Error(`Unknown chunk type: ${w}`)}}},async flush(T){let U=Le.length>0?JSON.stringify(Le):void 0;try{ae.setAttributes(K({telemetry:r,attributes:{"ai.response.finishReason":oe,"ai.response.text":{output:()=>Nt},"ai.response.toolCalls":{output:()=>U},"ai.response.id":j.id,"ai.response.model":j.modelId,"ai.response.timestamp":j.timestamp.toISOString(),"ai.response.providerMetadata":JSON.stringify(ot),"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:ot,response:{...j,headers:et==null?void 0:et.headers}});let Se=Qr(Z,N);await me.promise;let ye=Le.filter(Y=>Y.providerExecuted!==!0),Ne=rt.filter(Y=>Y.providerExecuted!==!0);if(ye.length>0&&Ne.length===ye.length&&!await oa({stopConditions:_,steps:k})){v.push(...bt({content:k[k.length-1].content,tools:u}));try{await R({currentStep:c+1,responseMessages:v,usage:Se})}catch(Y){T.enqueue({type:"error",error:Y}),J.closeStream()}}else T.enqueue({type:"finish",finishReason:oe,totalUsage:Se}),J.closeStream()}})))}await R({currentStep:0,responseMessages:[],usage:{inputTokens:void 0,outputTokens:void 0,totalTokens:void 0}})}}).catch(L=>{J.addStream(new ReadableStream({start(R){R.enqueue({type:"error",error:L}),R.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 je(this.teeStream().pipeThrough(new TransformStream({transform({part:e},r){e.type==="text"&&r.enqueue(e.text)}})))}get fullStream(){return je(this.teeStream().pipeThrough(new TransformStream({transform({part:e},r){r.enqueue(e)}})))}async consumeStream(e){var r;try{await rr({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 Fe;return je(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=sa.getErrorMessage}={}){let u=r!=null?zt({originalMessages:e,responseMessageId:r}):void 0,M=this.fullStream.pipeThrough(new TransformStream({transform:async(f,I)=>{let b=s==null?void 0:s({part:f}),_=f.type;switch(_){case"text-start":{I.enqueue({type:"text-start",id:f.id,...f.providerMetadata!=null?{providerMetadata:f.providerMetadata}:{}});break}case"text":{I.enqueue({type:"text-delta",id:f.id,delta:f.text,...f.providerMetadata!=null?{providerMetadata:f.providerMetadata}:{}});break}case"text-end":{I.enqueue({type:"text-end",id:f.id,...f.providerMetadata!=null?{providerMetadata:f.providerMetadata}:{}});break}case"reasoning-start":{I.enqueue({type:"reasoning-start",id:f.id,...f.providerMetadata!=null?{providerMetadata:f.providerMetadata}:{}});break}case"reasoning":{a&&I.enqueue({type:"reasoning-delta",id:f.id,delta:f.text,...f.providerMetadata!=null?{providerMetadata:f.providerMetadata}:{}});break}case"reasoning-end":{I.enqueue({type:"reasoning-end",id:f.id,...f.providerMetadata!=null?{providerMetadata:f.providerMetadata}:{}});break}case"file":{I.enqueue({type:"file",mediaType:f.file.mediaType,url:`data:${f.file.mediaType};base64,${f.file.base64}`});break}case"source":{i&&f.sourceType==="url"&&I.enqueue({type:"source-url",sourceId:f.id,url:f.url,title:f.title,...f.providerMetadata!=null?{providerMetadata:f.providerMetadata}:{}}),i&&f.sourceType==="document"&&I.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":{I.enqueue({type:"tool-input-start",toolCallId:f.id,toolName:f.toolName,providerExecuted:f.providerExecuted});break}case"tool-input-delta":{I.enqueue({type:"tool-input-delta",toolCallId:f.id,inputTextDelta:f.delta});break}case"tool-call":{I.enqueue({type:"tool-input-available",toolCallId:f.toolCallId,toolName:f.toolName,input:f.input,providerExecuted:f.providerExecuted,providerMetadata:f.providerMetadata});break}case"tool-result":{I.enqueue({type:"tool-output-available",toolCallId:f.toolCallId,output:f.output,providerExecuted:f.providerExecuted});break}case"tool-error":{I.enqueue({type:"tool-output-error",toolCallId:f.toolCallId,errorText:l(f.error),providerExecuted:f.providerExecuted});break}case"error":{I.enqueue({type:"error",errorText:l(f.error)});break}case"start-step":{I.enqueue({type:"start-step"});break}case"finish-step":{I.enqueue({type:"finish-step"});break}case"start":{n&&I.enqueue({type:"start",...b!=null?{messageMetadata:b}:{},...u!=null?{messageId:u}:{}});break}case"finish":{p&&I.enqueue({type:"finish",...b!=null?{messageMetadata:b}:{}});break}case"tool-input-end":break;case"raw":break;default:{let y=_;throw new Error(`Unknown chunk type: ${y}`)}}b!=null&&_!=="start"&&_!=="finish"&&I.enqueue({type:"message-metadata",messageMetadata:b})}}));return er({stream:M,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,...M}={}){tr({response:e,stream:this.toUIMessageStream({originalMessages:r,generateMessageId:o,onFinish:s,messageMetadata:a,sendReasoning:i,sendSources:n,sendFinish:p,sendStart:l,onError:u}),...M})}pipeTextStreamToResponse(e,r){Yt({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 Wt({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 Jt({textStream:this.textStream,...e})}};var Re=require("fs"),da=require("path"),pa=require("@ai-sdk/gateway");function ua(){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 ma(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 ca(t){let e=(0,da.resolve)(t);if(!(0,Re.existsSync)(e))throw new Error(`File not found: ${t}`);let r=ma(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 fa(){let t=process.argv.slice(2),e={model:process.env.AI_DEFAULT_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 ga(){console.log(`Usage: ai [options] [prompt]
|
7
7
|
|
8
8
|
AI CLI - Stream text generation from various AI models
|
9
9
|
|
@@ -18,10 +18,9 @@ Options:
|
|
18
18
|
|
19
19
|
Authentication (required):
|
20
20
|
export AI_GATEWAY_API_KEY="your-key" # Get from Vercel Dashboard (AI tab)
|
21
|
-
|
22
|
-
|
21
|
+
|
23
22
|
Environment Variables:
|
24
|
-
|
23
|
+
AI_DEFAULT_MODEL: Default model to use
|
25
24
|
AI_SYSTEM: Default system message
|
26
25
|
AI_VERBOSE: Set to 'true' for detailed output
|
27
26
|
|
@@ -38,28 +37,28 @@ Unix-style piping:
|
|
38
37
|
cat README.md | npx ai "Summarize this"
|
39
38
|
curl -s https://api.github.com/repos/vercel/ai | npx ai "What is this repository about?"
|
40
39
|
|
41
|
-
The gateway supports OpenAI, Anthropic, Google, Groq, and more providers
|
40
|
+
The gateway supports OpenAI, Anthropic, Google, Groq, and more providers.
|
41
|
+
|
42
|
+
For detailed setup instructions, visit: https://ai-sdk.dev/docs/cli/authentication`)}function Ta(){console.log("1.0.0")}function Sa(t){return pa.gateway.languageModel(t)}function ya(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=`
|
42
43
|
|
43
44
|
Attached files:
|
44
45
|
`;for(let o of e)r+=`
|
45
46
|
--- ${o.name} ---
|
46
47
|
`,r+=o.content,r+=`
|
47
|
-
`;return r}async function
|
48
|
+
`;return r}async function Ia(){try{let t=fa();if(t.help){ga();return}if(t.version){Ta();return}let e=t.prompt||"";if(ua()){let l=await lo();l&&(e=e?`${l}
|
48
49
|
|
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=
|
50
|
+
${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=ca(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+ya(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||(console.error(`Error: Authentication required.
|
50
51
|
|
51
52
|
Set up authentication with one of these options:
|
52
53
|
|
53
54
|
# Option 1: Export in current session
|
54
55
|
export AI_GATEWAY_API_KEY="your-key-here"
|
55
|
-
export
|
56
|
-
export AI_MODEL="anthropic/claude-3-5-sonnet"
|
56
|
+
export AI_DEFAULT_MODEL="anthropic/claude-3-5-sonnet"
|
57
57
|
|
58
58
|
# Option 2: Add to shell profile (~/.bashrc, ~/.zshrc)
|
59
59
|
echo 'export AI_GATEWAY_API_KEY="your-key"' >> ~/.bashrc
|
60
|
-
# Or run: vercel env pull
|
61
60
|
|
62
61
|
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=
|
62
|
+
Use --help for more details and examples.`),process.exit(1));let i=Sa(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 la(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
63
|
`),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)});
|
64
|
+
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)});Ia().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
@@ -4,9 +4,8 @@ import { AttributeValue, Tracer } from '@opentelemetry/api';
|
|
4
4
|
import { EmbeddingModelV2, EmbeddingModelV2Embedding, ImageModelV2, ImageModelV2CallWarning, ImageModelV2ProviderMetadata, JSONValue as JSONValue$1, LanguageModelV2, LanguageModelV2FinishReason, LanguageModelV2CallWarning, LanguageModelV2Source, SharedV2ProviderMetadata, SpeechModelV2, SpeechModelV2CallWarning, TranscriptionModelV2, TranscriptionModelV2CallWarning, LanguageModelV2Usage, LanguageModelV2CallOptions, AISDKError, LanguageModelV2ToolCall, JSONSchema7, JSONParseError, TypeValidationError, LanguageModelV2Middleware, ProviderV2, NoSuchModelError, JSONObject } from '@ai-sdk/provider';
|
5
5
|
export { AISDKError, APICallError, EmptyResponseBodyError, InvalidPromptError, InvalidResponseDataError, JSONParseError, JSONSchema7, LoadAPIKeyError, NoContentGeneratedError, NoSuchModelError, TypeValidationError, UnsupportedFunctionalityError } from '@ai-sdk/provider';
|
6
6
|
import * as z3 from 'zod/v3';
|
7
|
-
import * as z4
|
7
|
+
import * as z4 from 'zod/v4';
|
8
8
|
import { z } from 'zod/v4';
|
9
|
-
import * as z4 from 'zod/v4/core';
|
10
9
|
import { ServerResponse } from 'node:http';
|
11
10
|
import { ServerResponse as ServerResponse$1 } from 'http';
|
12
11
|
|
@@ -669,7 +668,7 @@ It always recurses into arrays.
|
|
669
668
|
|
670
669
|
Adopted from [type-fest](https://github.com/sindresorhus/type-fest/tree/main) PartialDeep.
|
671
670
|
*/
|
672
|
-
type DeepPartial<T> = T extends z3.ZodTypeAny ? DeepPartialInternal<z3.infer<T>> : T extends z4.$ZodType ? DeepPartialInternal<z4.infer<T>> : DeepPartialInternal<T>;
|
671
|
+
type DeepPartial<T> = T extends z3.ZodTypeAny ? DeepPartialInternal<z3.infer<T>> : T extends z4.core.$ZodType ? DeepPartialInternal<z4.infer<T>> : DeepPartialInternal<T>;
|
673
672
|
type DeepPartialInternal<T> = T extends null | undefined | string | number | boolean | symbol | bigint | void | Date | RegExp | ((...arguments_: any[]) => unknown) | (new (...arguments_: any[]) => unknown) ? T : T extends Map<infer KeyType, infer ValueType> ? PartialMap<KeyType, ValueType> : T extends Set<infer ItemType> ? PartialSet<ItemType> : T extends ReadonlyMap<infer KeyType, infer ValueType> ? PartialReadonlyMap<KeyType, ValueType> : T extends ReadonlySet<infer ItemType> ? PartialReadonlySet<ItemType> : T extends object ? T extends ReadonlyArray<infer ItemType> ? ItemType[] extends T ? readonly ItemType[] extends T ? ReadonlyArray<DeepPartialInternal<ItemType | undefined>> : Array<DeepPartialInternal<ItemType | undefined>> : PartialObject<T> : PartialObject<T> : unknown;
|
674
673
|
type PartialMap<KeyType, ValueType> = {} & Map<DeepPartialInternal<KeyType>, DeepPartialInternal<ValueType>>;
|
675
674
|
type PartialSet<T> = {} & Set<DeepPartialInternal<T>>;
|
@@ -697,7 +696,7 @@ interface Output<OUTPUT, PARTIAL> {
|
|
697
696
|
}
|
698
697
|
declare const text: () => Output<string, string>;
|
699
698
|
declare const object: <OUTPUT>({ schema: inputSchema, }: {
|
700
|
-
schema: z4
|
699
|
+
schema: z4.core.$ZodType<OUTPUT, any> | z3.Schema<OUTPUT, z3.ZodTypeDef, any> | Schema<OUTPUT>;
|
701
700
|
}) => Output<OUTPUT, DeepPartial<OUTPUT>>;
|
702
701
|
|
703
702
|
type output_Output<OUTPUT, PARTIAL> = Output<OUTPUT, PARTIAL>;
|
@@ -777,7 +776,7 @@ declare const systemModelMessageSchema: z.ZodType<SystemModelMessage>;
|
|
777
776
|
/**
|
778
777
|
@deprecated Use `systemModelMessageSchema` instead.
|
779
778
|
*/
|
780
|
-
declare const coreSystemMessageSchema: z.ZodType<SystemModelMessage, unknown
|
779
|
+
declare const coreSystemMessageSchema: z.ZodType<SystemModelMessage, unknown, z.core.$ZodTypeInternals<SystemModelMessage, unknown>>;
|
781
780
|
/**
|
782
781
|
@deprecated Use `UserModelMessage` instead.
|
783
782
|
*/
|
@@ -786,7 +785,7 @@ declare const userModelMessageSchema: z.ZodType<UserModelMessage>;
|
|
786
785
|
/**
|
787
786
|
@deprecated Use `userModelMessageSchema` instead.
|
788
787
|
*/
|
789
|
-
declare const coreUserMessageSchema: z.ZodType<UserModelMessage, unknown
|
788
|
+
declare const coreUserMessageSchema: z.ZodType<UserModelMessage, unknown, z.core.$ZodTypeInternals<UserModelMessage, unknown>>;
|
790
789
|
/**
|
791
790
|
@deprecated Use `AssistantModelMessage` instead.
|
792
791
|
*/
|
@@ -795,7 +794,7 @@ declare const assistantModelMessageSchema: z.ZodType<AssistantModelMessage>;
|
|
795
794
|
/**
|
796
795
|
@deprecated Use `assistantModelMessageSchema` instead.
|
797
796
|
*/
|
798
|
-
declare const coreAssistantMessageSchema: z.ZodType<AssistantModelMessage, unknown
|
797
|
+
declare const coreAssistantMessageSchema: z.ZodType<AssistantModelMessage, unknown, z.core.$ZodTypeInternals<AssistantModelMessage, unknown>>;
|
799
798
|
/**
|
800
799
|
@deprecated Use `ToolModelMessage` instead.
|
801
800
|
*/
|
@@ -804,7 +803,7 @@ declare const toolModelMessageSchema: z.ZodType<ToolModelMessage>;
|
|
804
803
|
/**
|
805
804
|
@deprecated Use `toolModelMessageSchema` instead.
|
806
805
|
*/
|
807
|
-
declare const coreToolMessageSchema: z.ZodType<ToolModelMessage, unknown
|
806
|
+
declare const coreToolMessageSchema: z.ZodType<ToolModelMessage, unknown, z.core.$ZodTypeInternals<ToolModelMessage, unknown>>;
|
808
807
|
/**
|
809
808
|
@deprecated Use `ModelMessage` instead.
|
810
809
|
*/
|
@@ -2571,7 +2570,7 @@ functionality that can be fully encapsulated in the provider.
|
|
2571
2570
|
@returns
|
2572
2571
|
A result object that contains the generated object, the finish reason, the token usage, and additional information.
|
2573
2572
|
*/
|
2574
|
-
declare function generateObject<SCHEMA extends z3.Schema | z4
|
2573
|
+
declare function generateObject<SCHEMA extends z3.Schema | z4.core.$ZodType | Schema = z4.core.$ZodType<JSONValue$1>, OUTPUT extends 'object' | 'array' | 'enum' | 'no-schema' = InferSchema<SCHEMA> extends string ? 'enum' : 'object', RESULT = OUTPUT extends 'array' ? Array<InferSchema<SCHEMA>> : InferSchema<SCHEMA>>(options: Omit<CallSettings, 'stopSequences'> & Prompt & (OUTPUT extends 'enum' ? {
|
2575
2574
|
/**
|
2576
2575
|
The enum values that the model should use.
|
2577
2576
|
*/
|
@@ -2888,7 +2887,7 @@ functionality that can be fully encapsulated in the provider.
|
|
2888
2887
|
@returns
|
2889
2888
|
A result object for accessing the partial object stream and additional information.
|
2890
2889
|
*/
|
2891
|
-
declare function streamObject<SCHEMA extends z3.Schema | z4
|
2890
|
+
declare function streamObject<SCHEMA extends z3.Schema | z4.core.$ZodType | Schema = z4.core.$ZodType<JSONValue$1>, OUTPUT extends 'object' | 'array' | 'enum' | 'no-schema' = InferSchema<SCHEMA> extends string ? 'enum' : 'object', RESULT = OUTPUT extends 'array' ? Array<InferSchema<SCHEMA>> : InferSchema<SCHEMA>>(options: Omit<CallSettings, 'stopSequences'> & Prompt & (OUTPUT extends 'enum' ? {
|
2892
2891
|
/**
|
2893
2892
|
The enum values that the model should use.
|
2894
2893
|
*/
|
@@ -3121,7 +3120,7 @@ declare function simulateStreamingMiddleware(): LanguageModelV2Middleware;
|
|
3121
3120
|
* @param options.model - The original LanguageModelV2 instance to be wrapped.
|
3122
3121
|
* @param options.middleware - The middleware to be applied to the language model. When multiple middlewares are provided, the first middleware will transform the input first, and the last middleware will be wrapped directly around the model.
|
3123
3122
|
* @param options.modelId - Optional custom model ID to override the original model's ID.
|
3124
|
-
* @param options.providerId - Optional custom provider ID to override the original model's provider.
|
3123
|
+
* @param options.providerId - Optional custom provider ID to override the original model's provider ID.
|
3125
3124
|
* @returns A new LanguageModelV2 instance with middleware applied.
|
3126
3125
|
*/
|
3127
3126
|
declare const wrapLanguageModel: ({ model, middleware: middlewareArg, modelId, providerId, }: {
|
@@ -3131,6 +3130,22 @@ declare const wrapLanguageModel: ({ model, middleware: middlewareArg, modelId, p
|
|
3131
3130
|
providerId?: string;
|
3132
3131
|
}) => LanguageModelV2;
|
3133
3132
|
|
3133
|
+
/**
|
3134
|
+
* Wraps a ProviderV2 instance with middleware functionality.
|
3135
|
+
* This function allows you to apply middleware to all language models
|
3136
|
+
* from the provider, enabling you to transform parameters, wrap generate
|
3137
|
+
* operations, and wrap stream operations for every language model.
|
3138
|
+
*
|
3139
|
+
* @param options - Configuration options for wrapping the provider.
|
3140
|
+
* @param options.provider - The original ProviderV2 instance to be wrapped.
|
3141
|
+
* @param options.languageModelMiddleware - The middleware to be applied to all language models from the provider. When multiple middlewares are provided, the first middleware will transform the input first, and the last middleware will be wrapped directly around the model.
|
3142
|
+
* @returns A new ProviderV2 instance with middleware applied to all language models.
|
3143
|
+
*/
|
3144
|
+
declare function wrapProvider({ provider, languageModelMiddleware, }: {
|
3145
|
+
provider: ProviderV2;
|
3146
|
+
languageModelMiddleware: LanguageModelV2Middleware | LanguageModelV2Middleware[];
|
3147
|
+
}): ProviderV2;
|
3148
|
+
|
3134
3149
|
/**
|
3135
3150
|
* Creates a custom provider with specified language models, text embedding models, image models, transcription models, speech models, and an optional fallback provider.
|
3136
3151
|
*
|
@@ -3194,10 +3209,20 @@ interface ProviderRegistryProvider<PROVIDERS extends Record<string, ProviderV2>
|
|
3194
3209
|
speechModel<KEY extends keyof PROVIDERS>(id: KEY extends string ? `${KEY & string}${SEPARATOR}${string}` : never): SpeechModelV2;
|
3195
3210
|
}
|
3196
3211
|
/**
|
3197
|
-
* Creates a registry for the given providers.
|
3212
|
+
* Creates a registry for the given providers with optional middleware functionality.
|
3213
|
+
* This function allows you to register multiple providers and optionally apply middleware
|
3214
|
+
* to all language models from the registry, enabling you to transform parameters, wrap generate
|
3215
|
+
* operations, and wrap stream operations for every language model accessed through the registry.
|
3216
|
+
*
|
3217
|
+
* @param providers - A record of provider instances to be registered in the registry.
|
3218
|
+
* @param options - Configuration options for the provider registry.
|
3219
|
+
* @param options.separator - The separator used between provider ID and model ID in the combined identifier. Defaults to ':'.
|
3220
|
+
* @param options.languageModelMiddleware - Optional middleware to be applied to all language models from the registry. When multiple middlewares are provided, the first middleware will transform the input first, and the last middleware will be wrapped directly around the model.
|
3221
|
+
* @returns A new ProviderRegistryProvider instance that provides access to all registered providers with optional middleware applied to language models.
|
3198
3222
|
*/
|
3199
|
-
declare function createProviderRegistry<PROVIDERS extends Record<string, ProviderV2>, SEPARATOR extends string = ':'>(providers: PROVIDERS, { separator, }?: {
|
3223
|
+
declare function createProviderRegistry<PROVIDERS extends Record<string, ProviderV2>, SEPARATOR extends string = ':'>(providers: PROVIDERS, { separator, languageModelMiddleware, }?: {
|
3200
3224
|
separator?: SEPARATOR;
|
3225
|
+
languageModelMiddleware?: LanguageModelV2Middleware | LanguageModelV2Middleware[];
|
3201
3226
|
}): ProviderRegistryProvider<PROVIDERS, SEPARATOR>;
|
3202
3227
|
/**
|
3203
3228
|
* @deprecated Use `createProviderRegistry` instead.
|
@@ -4007,4 +4032,4 @@ declare global {
|
|
4007
4032
|
var AI_SDK_DEFAULT_PROVIDER: ProviderV2 | undefined;
|
4008
4033
|
}
|
4009
4034
|
|
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 };
|
4035
|
+
export { AbstractChat, AsyncIterableStream, 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, wrapProvider };
|