@gram-ai/elements 1.2.6 → 1.4.0
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/dist/elements.cjs +11 -11
- package/dist/elements.css +1 -1
- package/dist/elements.js +1089 -1051
- package/dist/{models-DBbuJvSc.js → models-cel0aeUV.js} +13 -13
- package/dist/server.cjs +33 -33
- package/dist/server.js +9676 -9661
- package/dist/types/index.d.ts +17 -4
- package/package.json +1 -1
package/dist/server.cjs
CHANGED
|
@@ -1,33 +1,10 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("./models-BuM4eiir.cjs");var Ps=typeof globalThis=="object"?globalThis:typeof self=="object"?self:typeof window=="object"?window:typeof global=="object"?global:{},xe="1.9.0",tn=/^(\d+)\.(\d+)\.(\d+)(-(.+))?$/;function ks(e){var t=new Set([e]),r=new Set,n=e.match(tn);if(!n)return function(){return!1};var s={major:+n[1],minor:+n[2],patch:+n[3],prerelease:n[4]};if(s.prerelease!=null)return function(c){return c===e};function o(i){return r.add(i),!1}function l(i){return t.add(i),!0}return function(c){if(t.has(c))return!0;if(r.has(c))return!1;var u=c.match(tn);if(!u)return o(c);var d={major:+u[1],minor:+u[2],patch:+u[3],prerelease:u[4]};return d.prerelease!=null||s.major!==d.major?o(c):s.major===0?s.minor===d.minor&&s.patch<=d.patch?l(c):o(c):s.minor<=d.minor?l(c):o(c)}}var Os=ks(xe),Ms=xe.split(".")[0],We=Symbol.for("opentelemetry.js.api."+Ms),Ye=Ps;function Er(e,t,r,n){var s;n===void 0&&(n=!1);var o=Ye[We]=(s=Ye[We])!==null&&s!==void 0?s:{version:xe};if(!n&&o[e]){var l=new Error("@opentelemetry/api: Attempted duplicate registration of API: "+e);return r.error(l.stack||l.message),!1}if(o.version!==xe){var l=new Error("@opentelemetry/api: Registration of version v"+o.version+" for "+e+" does not match previously registered API v"+xe);return r.error(l.stack||l.message),!1}return o[e]=t,r.debug("@opentelemetry/api: Registered a global for "+e+" v"+xe+"."),!0}function Xe(e){var t,r,n=(t=Ye[We])===null||t===void 0?void 0:t.version;if(!(!n||!Os(n)))return(r=Ye[We])===null||r===void 0?void 0:r[e]}function Sr(e,t){t.debug("@opentelemetry/api: Unregistering a global for "+e+" v"+xe+".");var r=Ye[We];r&&delete r[e]}var Ns=function(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var n=r.call(e),s,o=[],l;try{for(;(t===void 0||t-- >0)&&!(s=n.next()).done;)o.push(s.value)}catch(i){l={error:i}}finally{try{s&&!s.done&&(r=n.return)&&r.call(n)}finally{if(l)throw l.error}}return o},$s=function(e,t,r){if(r||arguments.length===2)for(var n=0,s=t.length,o;n<s;n++)(o||!(n in t))&&(o||(o=Array.prototype.slice.call(t,0,n)),o[n]=t[n]);return e.concat(o||Array.prototype.slice.call(t))},js=(function(){function e(t){this._namespace=t.namespace||"DiagComponentLogger"}return e.prototype.debug=function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return He("debug",this._namespace,t)},e.prototype.error=function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return He("error",this._namespace,t)},e.prototype.info=function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return He("info",this._namespace,t)},e.prototype.warn=function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return He("warn",this._namespace,t)},e.prototype.verbose=function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return He("verbose",this._namespace,t)},e})();function He(e,t,r){var n=Xe("diag");if(n)return r.unshift(t),n[e].apply(n,$s([],Ns(r),!1))}var Q;(function(e){e[e.NONE=0]="NONE",e[e.ERROR=30]="ERROR",e[e.WARN=50]="WARN",e[e.INFO=60]="INFO",e[e.DEBUG=70]="DEBUG",e[e.VERBOSE=80]="VERBOSE",e[e.ALL=9999]="ALL"})(Q||(Q={}));function Ds(e,t){e<Q.NONE?e=Q.NONE:e>Q.ALL&&(e=Q.ALL),t=t||{};function r(n,s){var o=t[n];return typeof o=="function"&&e>=s?o.bind(t):function(){}}return{error:r("error",Q.ERROR),warn:r("warn",Q.WARN),info:r("info",Q.INFO),debug:r("debug",Q.DEBUG),verbose:r("verbose",Q.VERBOSE)}}var Us=function(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var n=r.call(e),s,o=[],l;try{for(;(t===void 0||t-- >0)&&!(s=n.next()).done;)o.push(s.value)}catch(i){l={error:i}}finally{try{s&&!s.done&&(r=n.return)&&r.call(n)}finally{if(l)throw l.error}}return o},qs=function(e,t,r){if(r||arguments.length===2)for(var n=0,s=t.length,o;n<s;n++)(o||!(n in t))&&(o||(o=Array.prototype.slice.call(t,0,n)),o[n]=t[n]);return e.concat(o||Array.prototype.slice.call(t))},Fs="diag",vt=(function(){function e(){function t(s){return function(){for(var o=[],l=0;l<arguments.length;l++)o[l]=arguments[l];var i=Xe("diag");if(i)return i[s].apply(i,qs([],Us(o),!1))}}var r=this,n=function(s,o){var l,i,c;if(o===void 0&&(o={logLevel:Q.INFO}),s===r){var u=new Error("Cannot use diag as the logger for itself. Please use a DiagLogger implementation like ConsoleDiagLogger or a custom implementation");return r.error((l=u.stack)!==null&&l!==void 0?l:u.message),!1}typeof o=="number"&&(o={logLevel:o});var d=Xe("diag"),p=Ds((i=o.logLevel)!==null&&i!==void 0?i:Q.INFO,s);if(d&&!o.suppressOverrideMessage){var h=(c=new Error().stack)!==null&&c!==void 0?c:"<failed to generate stacktrace>";d.warn("Current logger will be overwritten from "+h),p.warn("Current logger will overwrite one already registered from "+h)}return Er("diag",p,r,!0)};r.setLogger=n,r.disable=function(){Sr(Fs,r)},r.createComponentLogger=function(s){return new js(s)},r.verbose=t("verbose"),r.debug=t("debug"),r.info=t("info"),r.warn=t("warn"),r.error=t("error")}return e.instance=function(){return this._instance||(this._instance=new e),this._instance},e})();function Ls(e){return Symbol.for(e)}var Vs=(function(){function e(t){var r=this;r._currentContext=t?new Map(t):new Map,r.getValue=function(n){return r._currentContext.get(n)},r.setValue=function(n,s){var o=new e(r._currentContext);return o._currentContext.set(n,s),o},r.deleteValue=function(n){var s=new e(r._currentContext);return s._currentContext.delete(n),s}}return e})(),Bs=new Vs,Hs=function(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var n=r.call(e),s,o=[],l;try{for(;(t===void 0||t-- >0)&&!(s=n.next()).done;)o.push(s.value)}catch(i){l={error:i}}finally{try{s&&!s.done&&(r=n.return)&&r.call(n)}finally{if(l)throw l.error}}return o},Zs=function(e,t,r){if(r||arguments.length===2)for(var n=0,s=t.length,o;n<s;n++)(o||!(n in t))&&(o||(o=Array.prototype.slice.call(t,0,n)),o[n]=t[n]);return e.concat(o||Array.prototype.slice.call(t))},Ks=(function(){function e(){}return e.prototype.active=function(){return Bs},e.prototype.with=function(t,r,n){for(var s=[],o=3;o<arguments.length;o++)s[o-3]=arguments[o];return r.call.apply(r,Zs([n],Hs(s),!1))},e.prototype.bind=function(t,r){return r},e.prototype.enable=function(){return this},e.prototype.disable=function(){return this},e})(),Js=function(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var n=r.call(e),s,o=[],l;try{for(;(t===void 0||t-- >0)&&!(s=n.next()).done;)o.push(s.value)}catch(i){l={error:i}}finally{try{s&&!s.done&&(r=n.return)&&r.call(n)}finally{if(l)throw l.error}}return o},Gs=function(e,t,r){if(r||arguments.length===2)for(var n=0,s=t.length,o;n<s;n++)(o||!(n in t))&&(o||(o=Array.prototype.slice.call(t,0,n)),o[n]=t[n]);return e.concat(o||Array.prototype.slice.call(t))},Jt="context",zs=new Ks,ta=(function(){function e(){}return e.getInstance=function(){return this._instance||(this._instance=new e),this._instance},e.prototype.setGlobalContextManager=function(t){return Er(Jt,t,vt.instance())},e.prototype.active=function(){return this._getContextManager().active()},e.prototype.with=function(t,r,n){for(var s,o=[],l=3;l<arguments.length;l++)o[l-3]=arguments[l];return(s=this._getContextManager()).with.apply(s,Gs([t,r,n],Js(o),!1))},e.prototype.bind=function(t,r){return this._getContextManager().bind(t,r)},e.prototype._getContextManager=function(){return Xe(Jt)||zs},e.prototype.disable=function(){this._getContextManager().disable(),Sr(Jt,vt.instance())},e})(),ur;(function(e){e[e.NONE=0]="NONE",e[e.SAMPLED=1]="SAMPLED"})(ur||(ur={}));var ra="0000000000000000",na="00000000000000000000000000000000",Ws={traceId:na,spanId:ra,traceFlags:ur.NONE},Ge=(function(){function e(t){t===void 0&&(t=Ws),this._spanContext=t}return e.prototype.spanContext=function(){return this._spanContext},e.prototype.setAttribute=function(t,r){return this},e.prototype.setAttributes=function(t){return this},e.prototype.addEvent=function(t,r){return this},e.prototype.addLink=function(t){return this},e.prototype.addLinks=function(t){return this},e.prototype.setStatus=function(t){return this},e.prototype.updateName=function(t){return this},e.prototype.end=function(t){},e.prototype.isRecording=function(){return!1},e.prototype.recordException=function(t,r){},e})(),xr=Ls("OpenTelemetry Context Key SPAN");function Rr(e){return e.getValue(xr)||void 0}function Ys(){return Rr(ta.getInstance().active())}function Cr(e,t){return e.setValue(xr,t)}function Xs(e){return e.deleteValue(xr)}function Qs(e,t){return Cr(e,new Ge(t))}function aa(e){var t;return(t=Rr(e))===null||t===void 0?void 0:t.spanContext()}var ei=/^([0-9a-f]{32})$/i,ti=/^[0-9a-f]{16}$/i;function ri(e){return ei.test(e)&&e!==na}function ni(e){return ti.test(e)&&e!==ra}function oa(e){return ri(e.traceId)&&ni(e.spanId)}function ai(e){return new Ge(e)}var Gt=ta.getInstance(),sa=(function(){function e(){}return e.prototype.startSpan=function(t,r,n){n===void 0&&(n=Gt.active());var s=!!r?.root;if(s)return new Ge;var o=n&&aa(n);return oi(o)&&oa(o)?new Ge(o):new Ge},e.prototype.startActiveSpan=function(t,r,n,s){var o,l,i;if(!(arguments.length<2)){arguments.length===2?i=r:arguments.length===3?(o=r,i=n):(o=r,l=n,i=s);var c=l??Gt.active(),u=this.startSpan(t,o,c),d=Cr(c,u);return Gt.with(d,i,void 0,u)}},e})();function oi(e){return typeof e=="object"&&typeof e.spanId=="string"&&typeof e.traceId=="string"&&typeof e.traceFlags=="number"}var si=new sa,ii=(function(){function e(t,r,n,s){this._provider=t,this.name=r,this.version=n,this.options=s}return e.prototype.startSpan=function(t,r,n){return this._getTracer().startSpan(t,r,n)},e.prototype.startActiveSpan=function(t,r,n,s){var o=this._getTracer();return Reflect.apply(o.startActiveSpan,o,arguments)},e.prototype._getTracer=function(){if(this._delegate)return this._delegate;var t=this._provider.getDelegateTracer(this.name,this.version,this.options);return t?(this._delegate=t,this._delegate):si},e})(),li=(function(){function e(){}return e.prototype.getTracer=function(t,r,n){return new sa},e})(),ui=new li,rn=(function(){function e(){}return e.prototype.getTracer=function(t,r,n){var s;return(s=this.getDelegateTracer(t,r,n))!==null&&s!==void 0?s:new ii(this,t,r,n)},e.prototype.getDelegate=function(){var t;return(t=this._delegate)!==null&&t!==void 0?t:ui},e.prototype.setDelegate=function(t){this._delegate=t},e.prototype.getDelegateTracer=function(t,r,n){var s;return(s=this._delegate)===null||s===void 0?void 0:s.getTracer(t,r,n)},e})(),yt;(function(e){e[e.UNSET=0]="UNSET",e[e.OK=1]="OK",e[e.ERROR=2]="ERROR"})(yt||(yt={}));var zt="trace",ci=(function(){function e(){this._proxyTracerProvider=new rn,this.wrapSpanContext=ai,this.isSpanContextValid=oa,this.deleteSpan=Xs,this.getSpan=Rr,this.getActiveSpan=Ys,this.getSpanContext=aa,this.setSpan=Cr,this.setSpanContext=Qs}return e.getInstance=function(){return this._instance||(this._instance=new e),this._instance},e.prototype.setGlobalTracerProvider=function(t){var r=Er(zt,this._proxyTracerProvider,vt.instance());return r&&this._proxyTracerProvider.setDelegate(t),r},e.prototype.getTracerProvider=function(){return Xe(zt)||this._proxyTracerProvider},e.prototype.getTracer=function(t,r){return this.getTracerProvider().getTracer(t,r)},e.prototype.disable=function(){Sr(zt,vt.instance()),this._proxyTracerProvider=new rn},e})(),di=ci.getInstance();function cr(...e){return e.reduce((t,r)=>({...t,...r??{}}),{})}async function pi(e,t){if(e==null)return Promise.resolve();const r=t?.abortSignal;return new Promise((n,s)=>{if(r?.aborted){s(nn());return}const o=setTimeout(()=>{l(),n()},e),l=()=>{clearTimeout(o),r?.removeEventListener("abort",i)},i=()=>{l(),s(nn())};r?.addEventListener("abort",i)})}function nn(){return new DOMException("Delay was aborted","AbortError")}function st(e){return Object.fromEntries([...e.headers])}var it=({prefix:e,size:t=16,alphabet:r="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",separator:n="-"}={})=>{const s=()=>{const o=r.length,l=new Array(t);for(let i=0;i<t;i++)l[i]=r[Math.random()*o|0];return l.join("")};if(e==null)return s;if(r.includes(n))throw new a.InvalidArgumentError({argument:"separator",message:`The separator "${n}" must not be part of the alphabet "${r}".`});return()=>`${e}${n}${s()}`},fi=it();function ia(e){return e==null?"unknown error":typeof e=="string"?e:e instanceof Error?e.message:JSON.stringify(e)}function Re(e){return(e instanceof Error||e instanceof DOMException)&&(e.name==="AbortError"||e.name==="ResponseAborted"||e.name==="TimeoutError")}var mi=["fetch failed","failed to fetch"];function la({error:e,url:t,requestBodyValues:r}){if(Re(e))return e;if(e instanceof TypeError&&mi.includes(e.message.toLowerCase())){const n=e.cause;if(n!=null)return new a.APICallError({message:`Cannot connect to API: ${n.message}`,cause:n,url:t,requestBodyValues:r,isRetryable:!0})}return e}function Ar(e=globalThis){var t,r,n;return e.window?"runtime/browser":(t=e.navigator)!=null&&t.userAgent?`runtime/${e.navigator.userAgent.toLowerCase()}`:(n=(r=e.process)==null?void 0:r.versions)!=null&&n.node?`runtime/node.js/${e.process.version.substring(0)}`:e.EdgeRuntime?"runtime/vercel-edge":"runtime/unknown"}function hi(e){if(e==null)return{};const t={};if(e instanceof Headers)e.forEach((r,n)=>{t[n.toLowerCase()]=r});else{Array.isArray(e)||(e=Object.entries(e));for(const[r,n]of e)n!=null&&(t[r.toLowerCase()]=n)}return t}function kt(e,...t){const r=new Headers(hi(e)),n=r.get("user-agent")||"";return r.set("user-agent",[n,...t].filter(Boolean).join(" ")),Object.fromEntries(r.entries())}var ua="3.0.16",gi=()=>globalThis.fetch,an=async({url:e,headers:t={},successfulResponseHandler:r,failedResponseHandler:n,abortSignal:s,fetch:o=gi()})=>{try{const l=await o(e,{method:"GET",headers:kt(t,`ai-sdk/provider-utils/${ua}`,Ar()),signal:s}),i=st(l);if(!l.ok){let c;try{c=await n({response:l,url:e,requestBodyValues:{}})}catch(u){throw Re(u)||a.APICallError.isInstance(u)?u:new a.APICallError({message:"Failed to process error response",cause:u,statusCode:l.status,url:e,responseHeaders:i,requestBodyValues:{}})}throw c.value}try{return await r({response:l,url:e,requestBodyValues:{}})}catch(c){throw c instanceof Error&&(Re(c)||a.APICallError.isInstance(c))?c:new a.APICallError({message:"Failed to process successful response",cause:c,statusCode:l.status,url:e,responseHeaders:i,requestBodyValues:{}})}}catch(l){throw la({error:l,url:e,requestBodyValues:{}})}};function vi({mediaType:e,url:t,supportedUrls:r}){return t=t.toLowerCase(),e=e.toLowerCase(),Object.entries(r).map(([n,s])=>{const o=n.toLowerCase();return o==="*"||o==="*/*"?{mediaTypePrefix:"",regexes:s}:{mediaTypePrefix:o.replace(/\*/,""),regexes:s}}).filter(({mediaTypePrefix:n})=>e.startsWith(n)).flatMap(({regexes:n})=>n).some(n=>n.test(t))}function ht({settingValue:e,environmentVariableName:t}){if(typeof e=="string")return e;if(!(e!=null||typeof process>"u")&&(e=process.env[t],!(e==null||typeof e!="string")))return e}var yi=/"__proto__"\s*:/,_i=/"constructor"\s*:/;function bi(e){const t=JSON.parse(e);return t===null||typeof t!="object"||yi.test(e)===!1&&_i.test(e)===!1?t:wi(t)}function wi(e){let t=[e];for(;t.length;){const r=t;t=[];for(const n of r){if(Object.prototype.hasOwnProperty.call(n,"__proto__"))throw new SyntaxError("Object contains forbidden prototype property");if(Object.prototype.hasOwnProperty.call(n,"constructor")&&Object.prototype.hasOwnProperty.call(n.constructor,"prototype"))throw new SyntaxError("Object contains forbidden prototype property");for(const s in n){const o=n[s];o&&typeof o=="object"&&t.push(o)}}}return e}function ca(e){const{stackTraceLimit:t}=Error;Error.stackTraceLimit=0;try{return bi(e)}finally{Error.stackTraceLimit=t}}var _t=Symbol.for("vercel.ai.validator");function Ti(e){return{[_t]:!0,validate:e}}function Ii(e){return typeof e=="object"&&e!==null&&_t in e&&e[_t]===!0&&"validate"in e}function De(e){let t;return()=>(t==null&&(t=e()),t)}function Ei(e){return Ii(e)?e:typeof e=="function"?e():Si(e)}function Si(e){return Ti(async t=>{const r=await e["~standard"].validate(t);return r.issues==null?{success:!0,value:r.value}:{success:!1,error:new a.TypeValidationError({value:t,cause:r.issues})}})}async function dr({value:e,schema:t}){const r=await Se({value:e,schema:t});if(!r.success)throw a.TypeValidationError.wrap({value:e,cause:r.error});return r.value}async function Se({value:e,schema:t}){const r=Ei(t);try{if(r.validate==null)return{success:!0,value:e,rawValue:e};const n=await r.validate(e);return n.success?{success:!0,value:n.value,rawValue:e}:{success:!1,error:a.TypeValidationError.wrap({value:e,cause:n.error}),rawValue:e}}catch(n){return{success:!1,error:a.TypeValidationError.wrap({value:e,cause:n}),rawValue:e}}}async function xi({text:e,schema:t}){try{const r=ca(e);return t==null?r:dr({value:r,schema:t})}catch(r){throw a.JSONParseError.isInstance(r)||a.TypeValidationError.isInstance(r)?r:new a.JSONParseError({text:e,cause:r})}}async function Ce({text:e,schema:t}){try{const r=ca(e);return t==null?{success:!0,value:r,rawValue:r}:await Se({value:r,schema:t})}catch(r){return{success:!1,error:a.JSONParseError.isInstance(r)?r:new a.JSONParseError({text:e,cause:r}),rawValue:void 0}}}function Ri({stream:e,schema:t}){return e.pipeThrough(new TextDecoderStream).pipeThrough(new a.EventSourceParserStream).pipeThrough(new TransformStream({async transform({data:r},n){r!=="[DONE]"&&n.enqueue(await Ce({text:r,schema:t}))}}))}var Ci=()=>globalThis.fetch,pr=async({url:e,headers:t,body:r,failedResponseHandler:n,successfulResponseHandler:s,abortSignal:o,fetch:l})=>Ai({url:e,headers:{"Content-Type":"application/json",...t},body:{content:JSON.stringify(r),values:r},failedResponseHandler:n,successfulResponseHandler:s,abortSignal:o,fetch:l}),Ai=async({url:e,headers:t={},body:r,successfulResponseHandler:n,failedResponseHandler:s,abortSignal:o,fetch:l=Ci()})=>{try{const i=await l(e,{method:"POST",headers:kt(t,`ai-sdk/provider-utils/${ua}`,Ar()),body:r.content,signal:o}),c=st(i);if(!i.ok){let u;try{u=await s({response:i,url:e,requestBodyValues:r.values})}catch(d){throw Re(d)||a.APICallError.isInstance(d)?d:new a.APICallError({message:"Failed to process error response",cause:d,statusCode:i.status,url:e,responseHeaders:c,requestBodyValues:r.values})}throw u.value}try{return await n({response:i,url:e,requestBodyValues:r.values})}catch(u){throw u instanceof Error&&(Re(u)||a.APICallError.isInstance(u))?u:new a.APICallError({message:"Failed to process successful response",cause:u,statusCode:i.status,url:e,responseHeaders:c,requestBodyValues:r.values})}}catch(i){throw la({error:i,url:e,requestBodyValues:r.values})}};async function Ee(e){return typeof e=="function"&&(e=e()),Promise.resolve(e)}var Qe=({errorSchema:e,errorToMessage:t,isRetryable:r})=>async({response:n,url:s,requestBodyValues:o})=>{const l=await n.text(),i=st(n);if(l.trim()==="")return{responseHeaders:i,value:new a.APICallError({message:n.statusText,url:s,requestBodyValues:o,statusCode:n.status,responseHeaders:i,responseBody:l,isRetryable:r?.(n)})};try{const c=await xi({text:l,schema:e});return{responseHeaders:i,value:new a.APICallError({message:t(c),url:s,requestBodyValues:o,statusCode:n.status,responseHeaders:i,responseBody:l,data:c,isRetryable:r?.(n,c)})}}catch{return{responseHeaders:i,value:new a.APICallError({message:n.statusText,url:s,requestBodyValues:o,statusCode:n.status,responseHeaders:i,responseBody:l,isRetryable:r?.(n)})}}},Pi=e=>async({response:t})=>{const r=st(t);if(t.body==null)throw new a.EmptyResponseBodyError({});return{responseHeaders:r,value:Ri({stream:t.body,schema:e})}},bt=e=>async({response:t,url:r,requestBodyValues:n})=>{const s=await t.text(),o=await Ce({text:s,schema:e}),l=st(t);if(!o.success)throw new a.APICallError({message:"Invalid JSON response",cause:o.error,statusCode:t.status,responseHeaders:l,responseBody:s,url:r,requestBodyValues:n});return{responseHeaders:l,value:o.value,rawValue:o.rawValue}},ki=(e,t)=>{let r=0;for(;r<e.length&&r<t.length&&e[r]===t[r];r++);return[(e.length-r).toString(),...t.slice(r)].join("/")},Oi=Symbol("Let zodToJsonSchema decide on which parser to use"),on={name:void 0,$refStrategy:"root",basePath:["#"],effectStrategy:"input",pipeStrategy:"all",dateStrategy:"format:date-time",mapStrategy:"entries",removeAdditionalStrategy:"passthrough",allowedAdditionalProperties:!0,rejectedAdditionalProperties:!1,definitionPath:"definitions",strictUnions:!1,definitions:{},errorMessages:!1,patternStrategy:"escape",applyRegexFlags:!1,emailStrategy:"format:email",base64Strategy:"contentEncoding:base64",nameStrategy:"ref"},Mi=e=>typeof e=="string"?{...on,name:e}:{...on,...e};function ee(){return{}}function Ni(e,t){var r,n,s;const o={type:"array"};return(r=e.type)!=null&&r._def&&((s=(n=e.type)==null?void 0:n._def)==null?void 0:s.typeName)!==a.ZodFirstPartyTypeKind$1.ZodAny&&(o.items=U(e.type._def,{...t,currentPath:[...t.currentPath,"items"]})),e.minLength&&(o.minItems=e.minLength.value),e.maxLength&&(o.maxItems=e.maxLength.value),e.exactLength&&(o.minItems=e.exactLength.value,o.maxItems=e.exactLength.value),o}function $i(e){const t={type:"integer",format:"int64"};if(!e.checks)return t;for(const r of e.checks)switch(r.kind){case"min":r.inclusive?t.minimum=r.value:t.exclusiveMinimum=r.value;break;case"max":r.inclusive?t.maximum=r.value:t.exclusiveMaximum=r.value;break;case"multipleOf":t.multipleOf=r.value;break}return t}function ji(){return{type:"boolean"}}function da(e,t){return U(e.type._def,t)}var Di=(e,t)=>U(e.innerType._def,t);function pa(e,t,r){const n=r??t.dateStrategy;if(Array.isArray(n))return{anyOf:n.map((s,o)=>pa(e,t,s))};switch(n){case"string":case"format:date-time":return{type:"string",format:"date-time"};case"format:date":return{type:"string",format:"date"};case"integer":return Ui(e)}}var Ui=e=>{const t={type:"integer",format:"unix-time"};for(const r of e.checks)switch(r.kind){case"min":t.minimum=r.value;break;case"max":t.maximum=r.value;break}return t};function qi(e,t){return{...U(e.innerType._def,t),default:e.defaultValue()}}function Fi(e,t){return t.effectStrategy==="input"?U(e.schema._def,t):ee()}function Li(e){return{type:"string",enum:Array.from(e.values)}}var Vi=e=>"type"in e&&e.type==="string"?!1:"allOf"in e;function Bi(e,t){const r=[U(e.left._def,{...t,currentPath:[...t.currentPath,"allOf","0"]}),U(e.right._def,{...t,currentPath:[...t.currentPath,"allOf","1"]})].filter(s=>!!s),n=[];return r.forEach(s=>{if(Vi(s))n.push(...s.allOf);else{let o=s;if("additionalProperties"in s&&s.additionalProperties===!1){const{additionalProperties:l,...i}=s;o=i}n.push(o)}}),n.length?{allOf:n}:void 0}function Hi(e){const t=typeof e.value;return t!=="bigint"&&t!=="number"&&t!=="boolean"&&t!=="string"?{type:Array.isArray(e.value)?"array":"object"}:{type:t==="bigint"?"integer":t,const:e.value}}var Wt=void 0,ie={cuid:/^[cC][^\s-]{8,}$/,cuid2:/^[0-9a-z]+$/,ulid:/^[0-9A-HJKMNP-TV-Z]{26}$/,email:/^(?!\.)(?!.*\.\.)([a-zA-Z0-9_'+\-\.]*)[a-zA-Z0-9_+-]@([a-zA-Z0-9][a-zA-Z0-9\-]*\.)+[a-zA-Z]{2,}$/,emoji:()=>(Wt===void 0&&(Wt=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),Wt),uuid:/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/,ipv4:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,ipv4Cidr:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,ipv6:/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,ipv6Cidr:/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,base64:/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,base64url:/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,nanoid:/^[a-zA-Z0-9_-]{21}$/,jwt:/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/};function fa(e,t){const r={type:"string"};if(e.checks)for(const n of e.checks)switch(n.kind){case"min":r.minLength=typeof r.minLength=="number"?Math.max(r.minLength,n.value):n.value;break;case"max":r.maxLength=typeof r.maxLength=="number"?Math.min(r.maxLength,n.value):n.value;break;case"email":switch(t.emailStrategy){case"format:email":le(r,"email",n.message,t);break;case"format:idn-email":le(r,"idn-email",n.message,t);break;case"pattern:zod":Y(r,ie.email,n.message,t);break}break;case"url":le(r,"uri",n.message,t);break;case"uuid":le(r,"uuid",n.message,t);break;case"regex":Y(r,n.regex,n.message,t);break;case"cuid":Y(r,ie.cuid,n.message,t);break;case"cuid2":Y(r,ie.cuid2,n.message,t);break;case"startsWith":Y(r,RegExp(`^${Yt(n.value,t)}`),n.message,t);break;case"endsWith":Y(r,RegExp(`${Yt(n.value,t)}$`),n.message,t);break;case"datetime":le(r,"date-time",n.message,t);break;case"date":le(r,"date",n.message,t);break;case"time":le(r,"time",n.message,t);break;case"duration":le(r,"duration",n.message,t);break;case"length":r.minLength=typeof r.minLength=="number"?Math.max(r.minLength,n.value):n.value,r.maxLength=typeof r.maxLength=="number"?Math.min(r.maxLength,n.value):n.value;break;case"includes":{Y(r,RegExp(Yt(n.value,t)),n.message,t);break}case"ip":{n.version!=="v6"&&le(r,"ipv4",n.message,t),n.version!=="v4"&&le(r,"ipv6",n.message,t);break}case"base64url":Y(r,ie.base64url,n.message,t);break;case"jwt":Y(r,ie.jwt,n.message,t);break;case"cidr":{n.version!=="v6"&&Y(r,ie.ipv4Cidr,n.message,t),n.version!=="v4"&&Y(r,ie.ipv6Cidr,n.message,t);break}case"emoji":Y(r,ie.emoji(),n.message,t);break;case"ulid":{Y(r,ie.ulid,n.message,t);break}case"base64":{switch(t.base64Strategy){case"format:binary":{le(r,"binary",n.message,t);break}case"contentEncoding:base64":{r.contentEncoding="base64";break}case"pattern:zod":{Y(r,ie.base64,n.message,t);break}}break}case"nanoid":Y(r,ie.nanoid,n.message,t)}return r}function Yt(e,t){return t.patternStrategy==="escape"?Ki(e):e}var Zi=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function Ki(e){let t="";for(let r=0;r<e.length;r++)Zi.has(e[r])||(t+="\\"),t+=e[r];return t}function le(e,t,r,n){var s;e.format||(s=e.anyOf)!=null&&s.some(o=>o.format)?(e.anyOf||(e.anyOf=[]),e.format&&(e.anyOf.push({format:e.format}),delete e.format),e.anyOf.push({format:t,...r&&n.errorMessages&&{errorMessage:{format:r}}})):e.format=t}function Y(e,t,r,n){var s;e.pattern||(s=e.allOf)!=null&&s.some(o=>o.pattern)?(e.allOf||(e.allOf=[]),e.pattern&&(e.allOf.push({pattern:e.pattern}),delete e.pattern),e.allOf.push({pattern:sn(t,n),...r&&n.errorMessages&&{errorMessage:{pattern:r}}})):e.pattern=sn(t,n)}function sn(e,t){var r;if(!t.applyRegexFlags||!e.flags)return e.source;const n={i:e.flags.includes("i"),m:e.flags.includes("m"),s:e.flags.includes("s")},s=n.i?e.source.toLowerCase():e.source;let o="",l=!1,i=!1,c=!1;for(let u=0;u<s.length;u++){if(l){o+=s[u],l=!1;continue}if(n.i){if(i){if(s[u].match(/[a-z]/)){c?(o+=s[u],o+=`${s[u-2]}-${s[u]}`.toUpperCase(),c=!1):s[u+1]==="-"&&((r=s[u+2])!=null&&r.match(/[a-z]/))?(o+=s[u],c=!0):o+=`${s[u]}${s[u].toUpperCase()}`;continue}}else if(s[u].match(/[a-z]/)){o+=`[${s[u]}${s[u].toUpperCase()}]`;continue}}if(n.m){if(s[u]==="^"){o+=`(^|(?<=[\r
|
|
2
|
-
]))
|
|
3
|
-
]))
|
|
4
|
-
|
|
5
|
-
]`;continue}o+=s[u],s[u]==="\\"?l=!0:i&&s[u]==="]"?i=!1:!i&&s[u]==="["&&(i=!0)}try{new RegExp(o)}catch{return console.warn(`Could not convert regex pattern at ${t.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),e.source}return o}function ma(e,t){var r,n,s,o,l,i;const c={type:"object",additionalProperties:(r=U(e.valueType._def,{...t,currentPath:[...t.currentPath,"additionalProperties"]}))!=null?r:t.allowedAdditionalProperties};if(((n=e.keyType)==null?void 0:n._def.typeName)===a.ZodFirstPartyTypeKind$1.ZodString&&((s=e.keyType._def.checks)!=null&&s.length)){const{type:u,...d}=fa(e.keyType._def,t);return{...c,propertyNames:d}}else{if(((o=e.keyType)==null?void 0:o._def.typeName)===a.ZodFirstPartyTypeKind$1.ZodEnum)return{...c,propertyNames:{enum:e.keyType._def.values}};if(((l=e.keyType)==null?void 0:l._def.typeName)===a.ZodFirstPartyTypeKind$1.ZodBranded&&e.keyType._def.type._def.typeName===a.ZodFirstPartyTypeKind$1.ZodString&&((i=e.keyType._def.type._def.checks)!=null&&i.length)){const{type:u,...d}=da(e.keyType._def,t);return{...c,propertyNames:d}}}return c}function Ji(e,t){if(t.mapStrategy==="record")return ma(e,t);const r=U(e.keyType._def,{...t,currentPath:[...t.currentPath,"items","items","0"]})||ee(),n=U(e.valueType._def,{...t,currentPath:[...t.currentPath,"items","items","1"]})||ee();return{type:"array",maxItems:125,items:{type:"array",items:[r,n],minItems:2,maxItems:2}}}function Gi(e){const t=e.values,n=Object.keys(e.values).filter(o=>typeof t[t[o]]!="number").map(o=>t[o]),s=Array.from(new Set(n.map(o=>typeof o)));return{type:s.length===1?s[0]==="string"?"string":"number":["string","number"],enum:n}}function zi(){return{not:ee()}}function Wi(){return{type:"null"}}var fr={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function Yi(e,t){const r=e.options instanceof Map?Array.from(e.options.values()):e.options;if(r.every(n=>n._def.typeName in fr&&(!n._def.checks||!n._def.checks.length))){const n=r.reduce((s,o)=>{const l=fr[o._def.typeName];return l&&!s.includes(l)?[...s,l]:s},[]);return{type:n.length>1?n:n[0]}}else if(r.every(n=>n._def.typeName==="ZodLiteral"&&!n.description)){const n=r.reduce((s,o)=>{const l=typeof o._def.value;switch(l){case"string":case"number":case"boolean":return[...s,l];case"bigint":return[...s,"integer"];case"object":if(o._def.value===null)return[...s,"null"];case"symbol":case"undefined":case"function":default:return s}},[]);if(n.length===r.length){const s=n.filter((o,l,i)=>i.indexOf(o)===l);return{type:s.length>1?s:s[0],enum:r.reduce((o,l)=>o.includes(l._def.value)?o:[...o,l._def.value],[])}}}else if(r.every(n=>n._def.typeName==="ZodEnum"))return{type:"string",enum:r.reduce((n,s)=>[...n,...s._def.values.filter(o=>!n.includes(o))],[])};return Xi(e,t)}var Xi=(e,t)=>{const r=(e.options instanceof Map?Array.from(e.options.values()):e.options).map((n,s)=>U(n._def,{...t,currentPath:[...t.currentPath,"anyOf",`${s}`]})).filter(n=>!!n&&(!t.strictUnions||typeof n=="object"&&Object.keys(n).length>0));return r.length?{anyOf:r}:void 0};function Qi(e,t){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(e.innerType._def.typeName)&&(!e.innerType._def.checks||!e.innerType._def.checks.length))return{type:[fr[e.innerType._def.typeName],"null"]};const r=U(e.innerType._def,{...t,currentPath:[...t.currentPath,"anyOf","0"]});return r&&{anyOf:[r,{type:"null"}]}}function el(e){const t={type:"number"};if(!e.checks)return t;for(const r of e.checks)switch(r.kind){case"int":t.type="integer";break;case"min":r.inclusive?t.minimum=r.value:t.exclusiveMinimum=r.value;break;case"max":r.inclusive?t.maximum=r.value:t.exclusiveMaximum=r.value;break;case"multipleOf":t.multipleOf=r.value;break}return t}function tl(e,t){const r={type:"object",properties:{}},n=[],s=e.shape();for(const l in s){let i=s[l];if(i===void 0||i._def===void 0)continue;const c=nl(i),u=U(i._def,{...t,currentPath:[...t.currentPath,"properties",l],propertyPath:[...t.currentPath,"properties",l]});u!==void 0&&(r.properties[l]=u,c||n.push(l))}n.length&&(r.required=n);const o=rl(e,t);return o!==void 0&&(r.additionalProperties=o),r}function rl(e,t){if(e.catchall._def.typeName!=="ZodNever")return U(e.catchall._def,{...t,currentPath:[...t.currentPath,"additionalProperties"]});switch(e.unknownKeys){case"passthrough":return t.allowedAdditionalProperties;case"strict":return t.rejectedAdditionalProperties;case"strip":return t.removeAdditionalStrategy==="strict"?t.allowedAdditionalProperties:t.rejectedAdditionalProperties}}function nl(e){try{return e.isOptional()}catch{return!0}}var al=(e,t)=>{var r;if(t.currentPath.toString()===((r=t.propertyPath)==null?void 0:r.toString()))return U(e.innerType._def,t);const n=U(e.innerType._def,{...t,currentPath:[...t.currentPath,"anyOf","1"]});return n?{anyOf:[{not:ee()},n]}:ee()},ol=(e,t)=>{if(t.pipeStrategy==="input")return U(e.in._def,t);if(t.pipeStrategy==="output")return U(e.out._def,t);const r=U(e.in._def,{...t,currentPath:[...t.currentPath,"allOf","0"]}),n=U(e.out._def,{...t,currentPath:[...t.currentPath,"allOf",r?"1":"0"]});return{allOf:[r,n].filter(s=>s!==void 0)}};function sl(e,t){return U(e.type._def,t)}function il(e,t){const n={type:"array",uniqueItems:!0,items:U(e.valueType._def,{...t,currentPath:[...t.currentPath,"items"]})};return e.minSize&&(n.minItems=e.minSize.value),e.maxSize&&(n.maxItems=e.maxSize.value),n}function ll(e,t){return e.rest?{type:"array",minItems:e.items.length,items:e.items.map((r,n)=>U(r._def,{...t,currentPath:[...t.currentPath,"items",`${n}`]})).reduce((r,n)=>n===void 0?r:[...r,n],[]),additionalItems:U(e.rest._def,{...t,currentPath:[...t.currentPath,"additionalItems"]})}:{type:"array",minItems:e.items.length,maxItems:e.items.length,items:e.items.map((r,n)=>U(r._def,{...t,currentPath:[...t.currentPath,"items",`${n}`]})).reduce((r,n)=>n===void 0?r:[...r,n],[])}}function ul(){return{not:ee()}}function cl(){return ee()}var dl=(e,t)=>U(e.innerType._def,t),pl=(e,t,r)=>{switch(t){case a.ZodFirstPartyTypeKind$1.ZodString:return fa(e,r);case a.ZodFirstPartyTypeKind$1.ZodNumber:return el(e);case a.ZodFirstPartyTypeKind$1.ZodObject:return tl(e,r);case a.ZodFirstPartyTypeKind$1.ZodBigInt:return $i(e);case a.ZodFirstPartyTypeKind$1.ZodBoolean:return ji();case a.ZodFirstPartyTypeKind$1.ZodDate:return pa(e,r);case a.ZodFirstPartyTypeKind$1.ZodUndefined:return ul();case a.ZodFirstPartyTypeKind$1.ZodNull:return Wi();case a.ZodFirstPartyTypeKind$1.ZodArray:return Ni(e,r);case a.ZodFirstPartyTypeKind$1.ZodUnion:case a.ZodFirstPartyTypeKind$1.ZodDiscriminatedUnion:return Yi(e,r);case a.ZodFirstPartyTypeKind$1.ZodIntersection:return Bi(e,r);case a.ZodFirstPartyTypeKind$1.ZodTuple:return ll(e,r);case a.ZodFirstPartyTypeKind$1.ZodRecord:return ma(e,r);case a.ZodFirstPartyTypeKind$1.ZodLiteral:return Hi(e);case a.ZodFirstPartyTypeKind$1.ZodEnum:return Li(e);case a.ZodFirstPartyTypeKind$1.ZodNativeEnum:return Gi(e);case a.ZodFirstPartyTypeKind$1.ZodNullable:return Qi(e,r);case a.ZodFirstPartyTypeKind$1.ZodOptional:return al(e,r);case a.ZodFirstPartyTypeKind$1.ZodMap:return Ji(e,r);case a.ZodFirstPartyTypeKind$1.ZodSet:return il(e,r);case a.ZodFirstPartyTypeKind$1.ZodLazy:return()=>e.getter()._def;case a.ZodFirstPartyTypeKind$1.ZodPromise:return sl(e,r);case a.ZodFirstPartyTypeKind$1.ZodNaN:case a.ZodFirstPartyTypeKind$1.ZodNever:return zi();case a.ZodFirstPartyTypeKind$1.ZodEffects:return Fi(e,r);case a.ZodFirstPartyTypeKind$1.ZodAny:return ee();case a.ZodFirstPartyTypeKind$1.ZodUnknown:return cl();case a.ZodFirstPartyTypeKind$1.ZodDefault:return qi(e,r);case a.ZodFirstPartyTypeKind$1.ZodBranded:return da(e,r);case a.ZodFirstPartyTypeKind$1.ZodReadonly:return dl(e,r);case a.ZodFirstPartyTypeKind$1.ZodCatch:return Di(e,r);case a.ZodFirstPartyTypeKind$1.ZodPipeline:return ol(e,r);case a.ZodFirstPartyTypeKind$1.ZodFunction:case a.ZodFirstPartyTypeKind$1.ZodVoid:case a.ZodFirstPartyTypeKind$1.ZodSymbol:return;default:return(n=>{})()}};function U(e,t,r=!1){var n;const s=t.seen.get(e);if(t.override){const c=(n=t.override)==null?void 0:n.call(t,e,t,s,r);if(c!==Oi)return c}if(s&&!r){const c=fl(s,t);if(c!==void 0)return c}const o={def:e,path:t.currentPath,jsonSchema:void 0};t.seen.set(e,o);const l=pl(e,e.typeName,t),i=typeof l=="function"?U(l(),t):l;if(i&&ml(e,t,i),t.postProcess){const c=t.postProcess(i,e,t);return o.jsonSchema=i,c}return o.jsonSchema=i,i}var fl=(e,t)=>{switch(t.$refStrategy){case"root":return{$ref:e.path.join("/")};case"relative":return{$ref:ki(t.currentPath,e.path)};case"none":case"seen":return e.path.length<t.currentPath.length&&e.path.every((r,n)=>t.currentPath[n]===r)?(console.warn(`Recursive reference detected at ${t.currentPath.join("/")}! Defaulting to any`),ee()):t.$refStrategy==="seen"?ee():void 0}},ml=(e,t,r)=>(e.description&&(r.description=e.description),r),hl=e=>{const t=Mi(e),r=t.name!==void 0?[...t.basePath,t.definitionPath,t.name]:t.basePath;return{...t,currentPath:r,propertyPath:void 0,seen:new Map(Object.entries(t.definitions).map(([n,s])=>[s._def,{def:s._def,path:[...t.basePath,t.definitionPath,n],jsonSchema:void 0}]))}},gl=(e,t)=>{var r;const n=hl(t);let s=typeof t=="object"&&t.definitions?Object.entries(t.definitions).reduce((u,[d,p])=>{var h;return{...u,[d]:(h=U(p._def,{...n,currentPath:[...n.basePath,n.definitionPath,d]},!0))!=null?h:ee()}},{}):void 0;const o=typeof t=="string"?t:t?.nameStrategy==="title"?void 0:t?.name,l=(r=U(e._def,o===void 0?n:{...n,currentPath:[...n.basePath,n.definitionPath,o]},!1))!=null?r:ee(),i=typeof t=="object"&&t.name!==void 0&&t.nameStrategy==="title"?t.name:void 0;i!==void 0&&(l.title=i);const c=o===void 0?s?{...l,[n.definitionPath]:s}:l:{$ref:[...n.$refStrategy==="relative"?[]:n.basePath,n.definitionPath,o].join("/"),[n.definitionPath]:{...s,[o]:l}};return c.$schema="http://json-schema.org/draft-07/schema#",c},vl=gl;function yl(e,t){var r;const n=(r=void 0)!=null?r:!1;return Pr(()=>vl(e,{$refStrategy:n?"root":"none"}),{validate:async s=>{const o=await e.safeParseAsync(s);return o.success?{success:!0,value:o.data}:{success:!1,error:o.error}}})}function _l(e,t){var r;const n=(r=void 0)!=null?r:!1;return Pr(()=>a.toJSONSchema(e,{target:"draft-7",io:"output",reused:n?"ref":"inline"}),{validate:async s=>{const o=await a.safeParseAsync$1(e,s);return o.success?{success:!0,value:o.data}:{success:!1,error:o.error}}})}function bl(e){return"_zod"in e}function Pe(e,t){return bl(e)?_l(e):yl(e)}var mr=Symbol.for("vercel.ai.schema");function Pr(e,{validate:t}={}){return{[mr]:!0,_type:void 0,[_t]:!0,get jsonSchema(){return typeof e=="function"&&(e=e()),e},validate:t}}function wl(e){return typeof e=="object"&&e!==null&&mr in e&&e[mr]===!0&&"jsonSchema"in e&&"validate"in e}function Ot(e){return e==null?Pr({properties:{},additionalProperties:!1}):wl(e)?e:typeof e=="function"?e():Pe(e)}var{btoa:Tl,atob:Il}=globalThis;function kr(e){const t=e.replace(/-/g,"+").replace(/_/g,"/"),r=Il(t);return Uint8Array.from(r,n=>n.codePointAt(0))}function hr(e){let t="";for(let r=0;r<e.length;r++)t+=String.fromCodePoint(e[r]);return Tl(t)}function El(e){return e?.replace(/\/$/,"")}function Sl(e){return e!=null&&typeof e[Symbol.asyncIterator]=="function"}async function*xl({execute:e,input:t,options:r}){const n=e(t,r);if(Sl(n)){let s;for await(const o of n)s=o,yield{type:"preliminary",output:o};yield{type:"final",output:s}}else yield{type:"final",output:await n}}var Xt,ln;function Rl(){if(ln)return Xt;ln=1;var e=Object.defineProperty,t=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,n=Object.prototype.hasOwnProperty,s=(d,p)=>{for(var h in p)e(d,h,{get:p[h],enumerable:!0})},o=(d,p,h,f)=>{if(p&&typeof p=="object"||typeof p=="function")for(let m of r(p))!n.call(d,m)&&m!==h&&e(d,m,{get:()=>p[m],enumerable:!(f=t(p,m))||f.enumerable});return d},l=d=>o(e({},"__esModule",{value:!0}),d),i={};s(i,{SYMBOL_FOR_REQ_CONTEXT:()=>c,getContext:()=>u}),Xt=l(i);const c=Symbol.for("@vercel/request-context");function u(){return globalThis[c]?.get?.()??{}}return Xt}var Qt,un;function Cl(){if(un)return Qt;un=1;var e=Object.defineProperty,t=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,n=Object.prototype.hasOwnProperty,s=(p,h)=>{for(var f in h)e(p,f,{get:h[f],enumerable:!0})},o=(p,h,f,m)=>{if(h&&typeof h=="object"||typeof h=="function")for(let v of r(h))!n.call(p,v)&&v!==f&&e(p,v,{get:()=>h[v],enumerable:!(m=t(h,v))||m.enumerable});return p},l=p=>o(e({},"__esModule",{value:!0}),p),i={};s(i,{getContext:()=>c.getContext,getVercelOidcToken:()=>u,getVercelOidcTokenSync:()=>d}),Qt=l(i);var c=Rl();async function u(){return""}function d(){return""}return Qt}var ha=Cl(),Al="vercel.ai.gateway.error",er=Symbol.for(Al),cn,dn,te=class ga extends(dn=Error,cn=er,dn){constructor({message:t,statusCode:r=500,cause:n}){super(t),this[cn]=!0,this.statusCode=r,this.cause=n}static isInstance(t){return ga.hasMarker(t)}static hasMarker(t){return typeof t=="object"&&t!==null&&er in t&&t[er]===!0}},va="GatewayAuthenticationError",Pl=`vercel.ai.gateway.error.${va}`,pn=Symbol.for(Pl),fn,mn,Or=class ya extends(mn=te,fn=pn,mn){constructor({message:t="Authentication failed",statusCode:r=401,cause:n}={}){super({message:t,statusCode:r,cause:n}),this[fn]=!0,this.name=va,this.type="authentication_error"}static isInstance(t){return te.hasMarker(t)&&pn in t}static createContextualError({apiKeyProvided:t,oidcTokenProvided:r,message:n="Authentication failed",statusCode:s=401,cause:o}){let l;return t?l=`AI Gateway authentication failed: Invalid API key.
|
|
6
|
-
|
|
7
|
-
Create a new API key: https://vercel.com/d?to=%2F%5Bteam%5D%2F%7E%2Fai%2Fapi-keys
|
|
8
|
-
|
|
9
|
-
Provide via 'apiKey' option or 'AI_GATEWAY_API_KEY' environment variable.`:r?l=`AI Gateway authentication failed: Invalid OIDC token.
|
|
10
|
-
|
|
11
|
-
Run 'npx vercel link' to link your project, then 'vc env pull' to fetch the token.
|
|
12
|
-
|
|
13
|
-
Alternatively, use an API key: https://vercel.com/d?to=%2F%5Bteam%5D%2F%7E%2Fai%2Fapi-keys`:l=`AI Gateway authentication failed: No authentication provided.
|
|
14
|
-
|
|
15
|
-
Option 1 - API key:
|
|
16
|
-
Create an API key: https://vercel.com/d?to=%2F%5Bteam%5D%2F%7E%2Fai%2Fapi-keys
|
|
17
|
-
Provide via 'apiKey' option or 'AI_GATEWAY_API_KEY' environment variable.
|
|
18
|
-
|
|
19
|
-
Option 2 - OIDC token:
|
|
20
|
-
Run 'npx vercel link' to link your project, then 'vc env pull' to fetch the token.`,new ya({message:l,statusCode:s,cause:o})}},_a="GatewayInvalidRequestError",kl=`vercel.ai.gateway.error.${_a}`,hn=Symbol.for(kl),gn,vn,Ol=class extends(vn=te,gn=hn,vn){constructor({message:e="Invalid request",statusCode:t=400,cause:r}={}){super({message:e,statusCode:t,cause:r}),this[gn]=!0,this.name=_a,this.type="invalid_request_error"}static isInstance(e){return te.hasMarker(e)&&hn in e}},ba="GatewayRateLimitError",Ml=`vercel.ai.gateway.error.${ba}`,yn=Symbol.for(Ml),_n,bn,Nl=class extends(bn=te,_n=yn,bn){constructor({message:e="Rate limit exceeded",statusCode:t=429,cause:r}={}){super({message:e,statusCode:t,cause:r}),this[_n]=!0,this.name=ba,this.type="rate_limit_exceeded"}static isInstance(e){return te.hasMarker(e)&&yn in e}},wa="GatewayModelNotFoundError",$l=`vercel.ai.gateway.error.${wa}`,wn=Symbol.for($l),jl=De(()=>Pe(a.object({modelId:a.string()}))),Tn,In,Ta=class extends(In=te,Tn=wn,In){constructor({message:e="Model not found",statusCode:t=404,modelId:r,cause:n}={}){super({message:e,statusCode:t,cause:n}),this[Tn]=!0,this.name=wa,this.type="model_not_found",this.modelId=r}static isInstance(e){return te.hasMarker(e)&&wn in e}},Ia="GatewayInternalServerError",Dl=`vercel.ai.gateway.error.${Ia}`,En=Symbol.for(Dl),Sn,xn,Rn=class extends(xn=te,Sn=En,xn){constructor({message:e="Internal server error",statusCode:t=500,cause:r}={}){super({message:e,statusCode:t,cause:r}),this[Sn]=!0,this.name=Ia,this.type="internal_server_error"}static isInstance(e){return te.hasMarker(e)&&En in e}},Ea="GatewayResponseError",Ul=`vercel.ai.gateway.error.${Ea}`,Cn=Symbol.for(Ul),An,Pn,ql=class extends(Pn=te,An=Cn,Pn){constructor({message:e="Invalid response from Gateway",statusCode:t=502,response:r,validationError:n,cause:s}={}){super({message:e,statusCode:t,cause:s}),this[An]=!0,this.name=Ea,this.type="response_error",this.response=r,this.validationError=n}static isInstance(e){return te.hasMarker(e)&&Cn in e}};async function kn({response:e,statusCode:t,defaultMessage:r="Gateway request failed",cause:n,authMethod:s}){const o=await Se({value:e,schema:Fl});if(!o.success)return new ql({message:`Invalid error response format: ${r}`,statusCode:t,response:e,validationError:o.error,cause:n});const l=o.value,i=l.error.type,c=l.error.message;switch(i){case"authentication_error":return Or.createContextualError({apiKeyProvided:s==="api-key",oidcTokenProvided:s==="oidc",statusCode:t,cause:n});case"invalid_request_error":return new Ol({message:c,statusCode:t,cause:n});case"rate_limit_exceeded":return new Nl({message:c,statusCode:t,cause:n});case"model_not_found":{const u=await Se({value:l.error.param,schema:jl});return new Ta({message:c,statusCode:t,modelId:u.success?u.value.modelId:void 0,cause:n})}case"internal_server_error":return new Rn({message:c,statusCode:t,cause:n});default:return new Rn({message:c,statusCode:t,cause:n})}}var Fl=De(()=>Pe(a.object({error:a.object({message:a.string(),type:a.string().nullish(),param:a.unknown().nullish(),code:a.union([a.string(),a.number()]).nullish()})})));function Ae(e,t){var r;return te.isInstance(e)?e:a.APICallError.isInstance(e)?kn({response:Ll(e),statusCode:(r=e.statusCode)!=null?r:500,defaultMessage:"Gateway request failed",cause:e,authMethod:t}):kn({response:{},statusCode:500,defaultMessage:e instanceof Error?`Gateway request failed: ${e.message}`:"Unknown Gateway error",cause:e,authMethod:t})}function Ll(e){if(e.data!==void 0)return e.data;if(e.responseBody!=null)try{return JSON.parse(e.responseBody)}catch{return e.responseBody}return{}}var Sa="ai-gateway-auth-method";async function et(e){const t=await Se({value:e[Sa],schema:Vl});return t.success?t.value:void 0}var Vl=De(()=>Pe(a.union([a.literal("api-key"),a.literal("oidc")]))),On=class{constructor(e){this.config=e}async getAvailableModels(){try{const{value:e}=await an({url:`${this.config.baseURL}/config`,headers:await Ee(this.config.headers()),successfulResponseHandler:bt(Bl),failedResponseHandler:Qe({errorSchema:a.any(),errorToMessage:t=>t}),fetch:this.config.fetch});return e}catch(e){throw await Ae(e)}}async getCredits(){try{const e=new URL(this.config.baseURL),{value:t}=await an({url:`${e.origin}/v1/credits`,headers:await Ee(this.config.headers()),successfulResponseHandler:bt(Hl),failedResponseHandler:Qe({errorSchema:a.any(),errorToMessage:r=>r}),fetch:this.config.fetch});return t}catch(e){throw await Ae(e)}}},Bl=De(()=>Pe(a.object({models:a.array(a.object({id:a.string(),name:a.string(),description:a.string().nullish(),pricing:a.object({input:a.string(),output:a.string(),input_cache_read:a.string().nullish(),input_cache_write:a.string().nullish()}).transform(({input:e,output:t,input_cache_read:r,input_cache_write:n})=>({input:e,output:t,...r?{cachedInputTokens:r}:{},...n?{cacheCreationInputTokens:n}:{}})).nullish(),specification:a.object({specificationVersion:a.literal("v2"),provider:a.string(),modelId:a.string()}),modelType:a._enum$1(["language","embedding","image"]).nullish()}))}))),Hl=De(()=>Pe(a.object({balance:a.string(),total_used:a.string()}).transform(({balance:e,total_used:t})=>({balance:e,totalUsed:t})))),Zl=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v2",this.supportedUrls={"*/*":[/.*/]}}get provider(){return this.config.provider}async getArgs(e){const{abortSignal:t,...r}=e;return{args:this.maybeEncodeFileParts(r),warnings:[]}}async doGenerate(e){const{args:t,warnings:r}=await this.getArgs(e),{abortSignal:n}=e,s=await Ee(this.config.headers());try{const{responseHeaders:o,value:l,rawValue:i}=await pr({url:this.getUrl(),headers:cr(s,e.headers,this.getModelConfigHeaders(this.modelId,!1),await Ee(this.config.o11yHeaders)),body:t,successfulResponseHandler:bt(a.any()),failedResponseHandler:Qe({errorSchema:a.any(),errorToMessage:c=>c}),...n&&{abortSignal:n},fetch:this.config.fetch});return{...l,request:{body:t},response:{headers:o,body:i},warnings:r}}catch(o){throw await Ae(o,await et(s))}}async doStream(e){const{args:t,warnings:r}=await this.getArgs(e),{abortSignal:n}=e,s=await Ee(this.config.headers());try{const{value:o,responseHeaders:l}=await pr({url:this.getUrl(),headers:cr(s,e.headers,this.getModelConfigHeaders(this.modelId,!0),await Ee(this.config.o11yHeaders)),body:t,successfulResponseHandler:Pi(a.any()),failedResponseHandler:Qe({errorSchema:a.any(),errorToMessage:i=>i}),...n&&{abortSignal:n},fetch:this.config.fetch});return{stream:o.pipeThrough(new TransformStream({start(i){r.length>0&&i.enqueue({type:"stream-start",warnings:r})},transform(i,c){if(i.success){const u=i.value;if(u.type==="raw"&&!e.includeRawChunks)return;u.type==="response-metadata"&&u.timestamp&&typeof u.timestamp=="string"&&(u.timestamp=new Date(u.timestamp)),c.enqueue(u)}else c.error(i.error)}})),request:{body:t},response:{headers:l}}}catch(o){throw await Ae(o,await et(s))}}isFilePart(e){return e&&typeof e=="object"&&"type"in e&&e.type==="file"}maybeEncodeFileParts(e){for(const t of e.prompt)for(const r of t.content)if(this.isFilePart(r)){const n=r;if(n.data instanceof Uint8Array){const s=Uint8Array.from(n.data),o=Buffer.from(s).toString("base64");n.data=new URL(`data:${n.mediaType||"application/octet-stream"};base64,${o}`)}}return e}getUrl(){return`${this.config.baseURL}/language-model`}getModelConfigHeaders(e,t){return{"ai-language-model-specification-version":"2","ai-language-model-id":e,"ai-language-model-streaming":String(t)}}},Kl=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v2",this.maxEmbeddingsPerCall=2048,this.supportsParallelCalls=!0}get provider(){return this.config.provider}async doEmbed({values:e,headers:t,abortSignal:r,providerOptions:n}){var s;const o=await Ee(this.config.headers());try{const{responseHeaders:l,value:i,rawValue:c}=await pr({url:this.getUrl(),headers:cr(o,t??{},this.getModelConfigHeaders(),await Ee(this.config.o11yHeaders)),body:{input:e.length===1?e[0]:e,...n?{providerOptions:n}:{}},successfulResponseHandler:bt(Jl),failedResponseHandler:Qe({errorSchema:a.any(),errorToMessage:u=>u}),...r&&{abortSignal:r},fetch:this.config.fetch});return{embeddings:i.embeddings,usage:(s=i.usage)!=null?s:void 0,providerMetadata:i.providerMetadata,response:{headers:l,body:c}}}catch(l){throw await Ae(l,await et(o))}}getUrl(){return`${this.config.baseURL}/embedding-model`}getModelConfigHeaders(){return{"ai-embedding-model-specification-version":"2","ai-model-id":this.modelId}}},Jl=De(()=>Pe(a.object({embeddings:a.array(a.array(a.number())),usage:a.object({tokens:a.number()}).nullish(),providerMetadata:a.record(a.string(),a.record(a.string(),a.unknown())).optional()})));async function Gl(){var e;return(e=ha.getContext().headers)==null?void 0:e["x-vercel-id"]}var zl="2.0.7",Wl="0.0.1";function Yl(e={}){var t,r;let n=null,s=null;const o=(t=e.metadataCacheRefreshMillis)!=null?t:1e3*60*5;let l=0;const i=(r=El(e.baseURL))!=null?r:"https://ai-gateway.vercel.sh/v1/ai",c=async()=>{const m=await Ql(e);if(m)return kt({Authorization:`Bearer ${m.token}`,"ai-gateway-protocol-version":Wl,[Sa]:m.authMethod,...e.headers},`ai-sdk/gateway/${zl}`);throw Or.createContextualError({apiKeyProvided:!1,oidcTokenProvided:!1,statusCode:401})},u=()=>{const m=ht({settingValue:void 0,environmentVariableName:"VERCEL_DEPLOYMENT_ID"}),v=ht({settingValue:void 0,environmentVariableName:"VERCEL_ENV"}),_=ht({settingValue:void 0,environmentVariableName:"VERCEL_REGION"});return async()=>{const y=await Gl();return{...m&&{"ai-o11y-deployment-id":m},...v&&{"ai-o11y-environment":v},..._&&{"ai-o11y-region":_},...y&&{"ai-o11y-request-id":y}}}},d=m=>new Zl(m,{provider:"gateway",baseURL:i,headers:c,fetch:e.fetch,o11yHeaders:u()}),p=async()=>{var m,v,_;const y=(_=(v=(m=e._internal)==null?void 0:m.currentDate)==null?void 0:v.call(m).getTime())!=null?_:Date.now();return(!n||y-l>o)&&(l=y,n=new On({baseURL:i,headers:c,fetch:e.fetch}).getAvailableModels().then(w=>(s=w,w)).catch(async w=>{throw await Ae(w,await et(await c()))})),s?Promise.resolve(s):n},h=async()=>new On({baseURL:i,headers:c,fetch:e.fetch}).getCredits().catch(async m=>{throw await Ae(m,await et(await c()))}),f=function(m){if(new.target)throw new Error("The Gateway Provider model function cannot be called with the new keyword.");return d(m)};return f.getAvailableModels=p,f.getCredits=h,f.imageModel=m=>{throw new a.NoSuchModelError({modelId:m,modelType:"imageModel"})},f.languageModel=d,f.textEmbeddingModel=m=>new Kl(m,{provider:"gateway",baseURL:i,headers:c,fetch:e.fetch,o11yHeaders:u()}),f}var Xl=Yl();async function Ql(e){const t=ht({settingValue:e.apiKey,environmentVariableName:"AI_GATEWAY_API_KEY"});if(t)return{token:t,authMethod:"api-key"};try{return{token:await ha.getVercelOidcToken(),authMethod:"oidc"}}catch{return null}}var eu=Object.defineProperty,tu=(e,t)=>{for(var r in t)eu(e,r,{get:t[r],enumerable:!0})},xa="AI_NoOutputSpecifiedError",Ra=`vercel.ai.error.${xa}`,ru=Symbol.for(Ra),Ca,nu=class extends a.AISDKError{constructor({message:e="No output specified."}={}){super({name:xa,message:e}),this[Ca]=!0}static isInstance(e){return a.AISDKError.hasMarker(e,Ra)}};Ca=ru;function au(e){const t="AI SDK Warning:";switch(e.type){case"unsupported-setting":{let r=`${t} The "${e.setting}" setting is not supported by this model`;return e.details&&(r+=` - ${e.details}`),r}case"unsupported-tool":{const r="name"in e.tool?e.tool.name:"unknown tool";let n=`${t} The tool "${r}" is not supported by this model`;return e.details&&(n+=` - ${e.details}`),n}case"other":return`${t} ${e.message}`;default:return`${t} ${JSON.stringify(e,null,2)}`}}var ou="AI SDK Warning System: To turn off warning logging, set the AI_SDK_LOG_WARNINGS global to false.",Mn=!1,su=e=>{if(e.length===0)return;const t=globalThis.AI_SDK_LOG_WARNINGS;if(t!==!1){if(typeof t=="function"){t(e);return}Mn||(Mn=!0,console.info(ou));for(const r of e)console.warn(au(r))}},Aa="AI_InvalidArgumentError",Pa=`vercel.ai.error.${Aa}`,iu=Symbol.for(Pa),ka,ge=class extends a.AISDKError{constructor({parameter:t,value:r,message:n}){super({name:Aa,message:`Invalid argument for parameter ${t}: ${n}`}),this[ka]=!0,this.parameter=t,this.value=r}static isInstance(t){return a.AISDKError.hasMarker(t,Pa)}};ka=iu;var Oa="AI_InvalidToolInputError",Ma=`vercel.ai.error.${Oa}`,lu=Symbol.for(Ma),Na,$a=class extends a.AISDKError{constructor({toolInput:e,toolName:t,cause:r,message:n=`Invalid input for tool ${t}: ${a.getErrorMessage(r)}`}){super({name:Oa,message:n,cause:r}),this[Na]=!0,this.toolInput=e,this.toolName=t}static isInstance(e){return a.AISDKError.hasMarker(e,Ma)}};Na=lu;var ja="AI_NoObjectGeneratedError",Da=`vercel.ai.error.${ja}`,uu=Symbol.for(Da),Ua,Nn=class extends a.AISDKError{constructor({message:e="No object generated.",cause:t,text:r,response:n,usage:s,finishReason:o}){super({name:ja,message:e,cause:t}),this[Ua]=!0,this.text=r,this.response=n,this.usage=s,this.finishReason=o}static isInstance(e){return a.AISDKError.hasMarker(e,Da)}};Ua=uu;var qa="AI_NoOutputGeneratedError",Fa=`vercel.ai.error.${qa}`,cu=Symbol.for(Fa),La,du=class extends a.AISDKError{constructor({message:e="No output generated.",cause:t}={}){super({name:qa,message:e,cause:t}),this[La]=!0}static isInstance(e){return a.AISDKError.hasMarker(e,Fa)}};La=cu;var Va="AI_NoSuchToolError",Ba=`vercel.ai.error.${Va}`,pu=Symbol.for(Ba),Ha,gr=class extends a.AISDKError{constructor({toolName:e,availableTools:t=void 0,message:r=`Model tried to call unavailable tool '${e}'. ${t===void 0?"No tools are available.":`Available tools: ${t.join(", ")}.`}`}){super({name:Va,message:r}),this[Ha]=!0,this.toolName=e,this.availableTools=t}static isInstance(e){return a.AISDKError.hasMarker(e,Ba)}};Ha=pu;var Za="AI_ToolCallRepairError",Ka=`vercel.ai.error.${Za}`,fu=Symbol.for(Ka),Ja,mu=class extends a.AISDKError{constructor({cause:e,originalError:t,message:r=`Error repairing tool call: ${a.getErrorMessage(e)}`}){super({name:Za,message:r,cause:e}),this[Ja]=!0,this.originalError=t}static isInstance(e){return a.AISDKError.hasMarker(e,Ka)}};Ja=fu;var hu=class extends a.AISDKError{constructor(e){super({name:"AI_UnsupportedModelVersionError",message:`Unsupported model version ${e.version} for provider "${e.provider}" and model "${e.modelId}". AI SDK 5 only supports models that implement specification version "v2".`}),this.version=e.version,this.provider=e.provider,this.modelId=e.modelId}},Ga="AI_InvalidMessageRoleError",za=`vercel.ai.error.${Ga}`,gu=Symbol.for(za),Wa,vu=class extends a.AISDKError{constructor({role:e,message:t=`Invalid message role: '${e}'. Must be one of: "system", "user", "assistant", "tool".`}){super({name:Ga,message:t}),this[Wa]=!0,this.role=e}static isInstance(e){return a.AISDKError.hasMarker(e,za)}};Wa=gu;var Ya="AI_MessageConversionError",Xa=`vercel.ai.error.${Ya}`,yu=Symbol.for(Xa),Qa,_u=class extends a.AISDKError{constructor({originalMessage:e,message:t}){super({name:Ya,message:t}),this[Qa]=!0,this.originalMessage=e}static isInstance(e){return a.AISDKError.hasMarker(e,Xa)}};Qa=yu;var eo="AI_DownloadError",to=`vercel.ai.error.${eo}`,bu=Symbol.for(to),ro,tr=class extends a.AISDKError{constructor({url:e,statusCode:t,statusText:r,cause:n,message:s=n==null?`Failed to download ${e}: ${t} ${r}`:`Failed to download ${e}: ${n}`}){super({name:eo,message:s,cause:n}),this[ro]=!0,this.url=e,this.statusCode=t,this.statusText=r}static isInstance(e){return a.AISDKError.hasMarker(e,to)}};ro=bu;var no="AI_RetryError",ao=`vercel.ai.error.${no}`,wu=Symbol.for(ao),oo,$n=class extends a.AISDKError{constructor({message:e,reason:t,errors:r}){super({name:no,message:e}),this[oo]=!0,this.reason=t,this.errors=r,this.lastError=r[r.length-1]}static isInstance(e){return a.AISDKError.hasMarker(e,ao)}};oo=wu;function so(e){if(typeof e!="string"){if(e.specificationVersion!=="v2")throw new hu({version:e.specificationVersion,provider:e.provider,modelId:e.modelId});return e}return Tu().languageModel(e)}function Tu(){var e;return(e=globalThis.AI_SDK_DEFAULT_PROVIDER)!=null?e:Xl}var Iu=[{mediaType:"image/gif",bytesPrefix:[71,73,70]},{mediaType:"image/png",bytesPrefix:[137,80,78,71]},{mediaType:"image/jpeg",bytesPrefix:[255,216]},{mediaType:"image/webp",bytesPrefix:[82,73,70,70,null,null,null,null,87,69,66,80]},{mediaType:"image/bmp",bytesPrefix:[66,77]},{mediaType:"image/tiff",bytesPrefix:[73,73,42,0]},{mediaType:"image/tiff",bytesPrefix:[77,77,0,42]},{mediaType:"image/avif",bytesPrefix:[0,0,0,32,102,116,121,112,97,118,105,102]},{mediaType:"image/heic",bytesPrefix:[0,0,0,32,102,116,121,112,104,101,105,99]}],Eu=e=>{const t=typeof e=="string"?kr(e):e,r=(t[6]&127)<<21|(t[7]&127)<<14|(t[8]&127)<<7|t[9]&127;return t.slice(r+10)};function Su(e){return typeof e=="string"&&e.startsWith("SUQz")||typeof e!="string"&&e.length>10&&e[0]===73&&e[1]===68&&e[2]===51?Eu(e):e}function xu({data:e,signatures:t}){const r=Su(e),n=typeof r=="string"?kr(r.substring(0,Math.min(r.length,24))):r;for(const s of t)if(n.length>=s.bytesPrefix.length&&s.bytesPrefix.every((o,l)=>o===null||n[l]===o))return s.mediaType}var Ru="5.0.90",Cu=async({url:e})=>{var t;const r=e.toString();try{const n=await fetch(r,{headers:kt({},`ai-sdk/${Ru}`,Ar())});if(!n.ok)throw new tr({url:r,statusCode:n.status,statusText:n.statusText});return{data:new Uint8Array(await n.arrayBuffer()),mediaType:(t=n.headers.get("content-type"))!=null?t:void 0}}catch(n){throw tr.isInstance(n)?n:new tr({url:r,cause:n})}},Au=(e=Cu)=>t=>Promise.all(t.map(async r=>r.isUrlSupportedByModel?null:e(r)));function Pu(e){try{const[t,r]=e.split(",");return{mediaType:t.split(";")[0].split(":")[1],base64Content:r}}catch{return{mediaType:void 0,base64Content:void 0}}}var io=a.union([a.string(),a._instanceof(Uint8Array),a._instanceof(ArrayBuffer),a.custom(e=>{var t,r;return(r=(t=globalThis.Buffer)==null?void 0:t.isBuffer(e))!=null?r:!1},{message:"Must be a Buffer"})]);function lo(e){if(e instanceof Uint8Array)return{data:e,mediaType:void 0};if(e instanceof ArrayBuffer)return{data:new Uint8Array(e),mediaType:void 0};if(typeof e=="string")try{e=new URL(e)}catch{}if(e instanceof URL&&e.protocol==="data:"){const{mediaType:t,base64Content:r}=Pu(e.toString());if(t==null||r==null)throw new a.AISDKError({name:"InvalidDataContentError",message:`Invalid data URL format in content ${e.toString()}`});return{data:r,mediaType:t}}return{data:e,mediaType:void 0}}function ku(e){return typeof e=="string"?e:e instanceof ArrayBuffer?hr(new Uint8Array(e)):hr(e)}async function Ou({prompt:e,supportedUrls:t,download:r=Au()}){const n=await Nu(e.messages,r,t);return[...e.system!=null?[{role:"system",content:e.system}]:[],...e.messages.map(s=>Mu({message:s,downloadedAssets:n}))]}function Mu({message:e,downloadedAssets:t}){const r=e.role;switch(r){case"system":return{role:"system",content:e.content,providerOptions:e.providerOptions};case"user":return typeof e.content=="string"?{role:"user",content:[{type:"text",text:e.content}],providerOptions:e.providerOptions}:{role:"user",content:e.content.map(n=>$u(n,t)).filter(n=>n.type!=="text"||n.text!==""),providerOptions:e.providerOptions};case"assistant":return typeof e.content=="string"?{role:"assistant",content:[{type:"text",text:e.content}],providerOptions:e.providerOptions}:{role:"assistant",content:e.content.filter(n=>n.type!=="text"||n.text!==""||n.providerOptions!=null).map(n=>{const s=n.providerOptions;switch(n.type){case"file":{const{data:o,mediaType:l}=lo(n.data);return{type:"file",data:o,filename:n.filename,mediaType:l??n.mediaType,providerOptions:s}}case"reasoning":return{type:"reasoning",text:n.text,providerOptions:s};case"text":return{type:"text",text:n.text,providerOptions:s};case"tool-call":return{type:"tool-call",toolCallId:n.toolCallId,toolName:n.toolName,input:n.input,providerExecuted:n.providerExecuted,providerOptions:s};case"tool-result":return{type:"tool-result",toolCallId:n.toolCallId,toolName:n.toolName,output:n.output,providerOptions:s}}}),providerOptions:e.providerOptions};case"tool":return{role:"tool",content:e.content.map(n=>({type:"tool-result",toolCallId:n.toolCallId,toolName:n.toolName,output:n.output,providerOptions:n.providerOptions})),providerOptions:e.providerOptions};default:{const n=r;throw new vu({role:n})}}}async function Nu(e,t,r){const n=e.filter(o=>o.role==="user").map(o=>o.content).filter(o=>Array.isArray(o)).flat().filter(o=>o.type==="image"||o.type==="file").map(o=>{var l;const i=(l=o.mediaType)!=null?l:o.type==="image"?"image/*":void 0;let c=o.type==="image"?o.image:o.data;if(typeof c=="string")try{c=new URL(c)}catch{}return{mediaType:i,data:c}}).filter(o=>o.data instanceof URL).map(o=>({url:o.data,isUrlSupportedByModel:o.mediaType!=null&&vi({url:o.data.toString(),mediaType:o.mediaType,supportedUrls:r})})),s=await t(n);return Object.fromEntries(s.map((o,l)=>o==null?null:[n[l].url.toString(),{data:o.data,mediaType:o.mediaType}]).filter(o=>o!=null))}function $u(e,t){var r;if(e.type==="text")return{type:"text",text:e.text,providerOptions:e.providerOptions};let n;const s=e.type;switch(s){case"image":n=e.image;break;case"file":n=e.data;break;default:throw new Error(`Unsupported part type: ${s}`)}const{data:o,mediaType:l}=lo(n);let i=l??e.mediaType,c=o;if(c instanceof URL){const u=t[c.toString()];u&&(c=u.data,i??(i=u.mediaType))}switch(s){case"image":return(c instanceof Uint8Array||typeof c=="string")&&(i=(r=xu({data:c,signatures:Iu}))!=null?r:i),{type:"file",mediaType:i??"image/*",filename:void 0,data:c,providerOptions:e.providerOptions};case"file":{if(i==null)throw new Error("Media type is missing for file part");return{type:"file",mediaType:i,filename:e.filename,data:c,providerOptions:e.providerOptions}}}}function ju({maxOutputTokens:e,temperature:t,topP:r,topK:n,presencePenalty:s,frequencyPenalty:o,seed:l,stopSequences:i}){if(e!=null){if(!Number.isInteger(e))throw new ge({parameter:"maxOutputTokens",value:e,message:"maxOutputTokens must be an integer"});if(e<1)throw new ge({parameter:"maxOutputTokens",value:e,message:"maxOutputTokens must be >= 1"})}if(t!=null&&typeof t!="number")throw new ge({parameter:"temperature",value:t,message:"temperature must be a number"});if(r!=null&&typeof r!="number")throw new ge({parameter:"topP",value:r,message:"topP must be a number"});if(n!=null&&typeof n!="number")throw new ge({parameter:"topK",value:n,message:"topK must be a number"});if(s!=null&&typeof s!="number")throw new ge({parameter:"presencePenalty",value:s,message:"presencePenalty must be a number"});if(o!=null&&typeof o!="number")throw new ge({parameter:"frequencyPenalty",value:o,message:"frequencyPenalty must be a number"});if(l!=null&&!Number.isInteger(l))throw new ge({parameter:"seed",value:l,message:"seed must be an integer"});return{maxOutputTokens:e,temperature:t,topP:r,topK:n,presencePenalty:s,frequencyPenalty:o,stopSequences:i,seed:l}}function Du(e){return e!=null&&Object.keys(e).length>0}function Uu({tools:e,toolChoice:t,activeTools:r}){return Du(e)?{tools:(r!=null?Object.entries(e).filter(([s])=>r.includes(s)):Object.entries(e)).map(([s,o])=>{const l=o.type;switch(l){case void 0:case"dynamic":case"function":return{type:"function",name:s,description:o.description,inputSchema:Ot(o.inputSchema).jsonSchema,providerOptions:o.providerOptions};case"provider-defined":return{type:"provider-defined",name:s,id:o.id,args:o.args};default:{const i=l;throw new Error(`Unsupported tool type: ${i}`)}}}),toolChoice:t==null?{type:"auto"}:typeof t=="string"?{type:t}:{type:"tool",toolName:t.toolName}}:{tools:void 0,toolChoice:void 0}}var tt=a.lazy(()=>a.union([a._null$1(),a.string(),a.number(),a.boolean(),a.record(a.string(),tt),a.array(tt)])),ve=a.record(a.string(),a.record(a.string(),tt)),uo=a.object({type:a.literal("text"),text:a.string(),providerOptions:ve.optional()}),qu=a.object({type:a.literal("image"),image:a.union([io,a._instanceof(URL)]),mediaType:a.string().optional(),providerOptions:ve.optional()}),co=a.object({type:a.literal("file"),data:a.union([io,a._instanceof(URL)]),filename:a.string().optional(),mediaType:a.string(),providerOptions:ve.optional()}),Fu=a.object({type:a.literal("reasoning"),text:a.string(),providerOptions:ve.optional()}),Lu=a.object({type:a.literal("tool-call"),toolCallId:a.string(),toolName:a.string(),input:a.unknown(),providerOptions:ve.optional(),providerExecuted:a.boolean().optional()}),Vu=a.discriminatedUnion("type",[a.object({type:a.literal("text"),value:a.string()}),a.object({type:a.literal("json"),value:tt}),a.object({type:a.literal("error-text"),value:a.string()}),a.object({type:a.literal("error-json"),value:tt}),a.object({type:a.literal("content"),value:a.array(a.union([a.object({type:a.literal("text"),text:a.string()}),a.object({type:a.literal("media"),data:a.string(),mediaType:a.string()})]))})]),po=a.object({type:a.literal("tool-result"),toolCallId:a.string(),toolName:a.string(),output:Vu,providerOptions:ve.optional()}),Bu=a.object({role:a.literal("system"),content:a.string(),providerOptions:ve.optional()}),Hu=a.object({role:a.literal("user"),content:a.union([a.string(),a.array(a.union([uo,qu,co]))]),providerOptions:ve.optional()}),Zu=a.object({role:a.literal("assistant"),content:a.union([a.string(),a.array(a.union([uo,co,Fu,Lu,po]))]),providerOptions:ve.optional()}),Ku=a.object({role:a.literal("tool"),content:a.array(po),providerOptions:ve.optional()}),Ju=a.union([Bu,Hu,Zu,Ku]);async function Gu(e){if(e.prompt==null&&e.messages==null)throw new a.InvalidPromptError({prompt:e,message:"prompt or messages must be defined"});if(e.prompt!=null&&e.messages!=null)throw new a.InvalidPromptError({prompt:e,message:"prompt and messages cannot be defined at the same time"});if(e.system!=null&&typeof e.system!="string")throw new a.InvalidPromptError({prompt:e,message:"system must be a string"});let t;if(e.prompt!=null&&typeof e.prompt=="string")t=[{role:"user",content:e.prompt}];else if(e.prompt!=null&&Array.isArray(e.prompt))t=e.prompt;else if(e.messages!=null)t=e.messages;else throw new a.InvalidPromptError({prompt:e,message:"prompt or messages must be defined"});if(t.length===0)throw new a.InvalidPromptError({prompt:e,message:"messages must not be empty"});const r=await Se({value:t,schema:a.array(Ju)});if(!r.success)throw new a.InvalidPromptError({prompt:e,message:"The messages must be a ModelMessage[]. If you have passed a UIMessage[], you can use convertToModelMessages to convert them.",cause:r.error});return{messages:t,system:e.system}}function zu(e){return Or.isInstance(e)||Ta.isInstance(e)?new a.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:e}):e}function vr({operationId:e,telemetry:t}){return{"operation.name":`${e}${t?.functionId!=null?` ${t.functionId}`:""}`,"resource.name":t?.functionId,"ai.operationId":e,"ai.telemetry.functionId":t?.functionId}}function Wu({model:e,settings:t,telemetry:r,headers:n}){var s;return{"ai.model.provider":e.provider,"ai.model.id":e.modelId,...Object.entries(t).reduce((o,[l,i])=>(o[`ai.settings.${l}`]=i,o),{}),...Object.entries((s=r?.metadata)!=null?s:{}).reduce((o,[l,i])=>(o[`ai.telemetry.metadata.${l}`]=i,o),{}),...Object.entries(n??{}).reduce((o,[l,i])=>(i!==void 0&&(o[`ai.request.headers.${l}`]=i),o),{})}}var Yu={startSpan(){return dt},startActiveSpan(e,t,r,n){if(typeof t=="function")return t(dt);if(typeof r=="function")return r(dt);if(typeof n=="function")return n(dt)}},dt={spanContext(){return Xu},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}},Xu={traceId:"",spanId:"",traceFlags:0};function Qu({isEnabled:e=!1,tracer:t}={}){return e?t||di.getTracer("ai"):Yu}function yr({name:e,tracer:t,attributes:r,fn:n,endWhenDone:s=!0}){return t.startActiveSpan(e,{attributes:r},async o=>{try{const l=await n(o);return s&&o.end(),l}catch(l){try{fo(o,l)}finally{o.end()}throw l}})}function fo(e,t){t instanceof Error?(e.recordException({name:t.name,message:t.message,stack:t.stack}),e.setStatus({code:yt.ERROR,message:t.message})):e.setStatus({code:yt.ERROR})}function Ne({telemetry:e,attributes:t}){return e?.isEnabled!==!0?{}:Object.entries(t).reduce((r,[n,s])=>{if(s==null)return r;if(typeof s=="object"&&"input"in s&&typeof s.input=="function"){if(e?.recordInputs===!1)return r;const o=s.input();return o==null?r:{...r,[n]:o}}if(typeof s=="object"&&"output"in s&&typeof s.output=="function"){if(e?.recordOutputs===!1)return r;const o=s.output();return o==null?r:{...r,[n]:o}}return{...r,[n]:s}},{})}function ec(e){return JSON.stringify(e.map(t=>({...t,content:typeof t.content=="string"?t.content:t.content.map(r=>r.type==="file"?{...r,data:r.data instanceof Uint8Array?ku(r.data):r.data}:r)})))}function tc(e,t){return{inputTokens:Ze(e.inputTokens,t.inputTokens),outputTokens:Ze(e.outputTokens,t.outputTokens),totalTokens:Ze(e.totalTokens,t.totalTokens),reasoningTokens:Ze(e.reasoningTokens,t.reasoningTokens),cachedInputTokens:Ze(e.cachedInputTokens,t.cachedInputTokens)}}function Ze(e,t){return e==null&&t==null?void 0:(e??0)+(t??0)}function jn(e){return e===void 0?[]:Array.isArray(e)?e:[e]}function rc({error:e,exponentialBackoffDelay:t}){const r=e.responseHeaders;if(!r)return t;let n;const s=r["retry-after-ms"];if(s){const l=parseFloat(s);Number.isNaN(l)||(n=l)}const o=r["retry-after"];if(o&&n===void 0){const l=parseFloat(o);Number.isNaN(l)?n=Date.parse(o)-Date.now():n=l*1e3}return n!=null&&!Number.isNaN(n)&&0<=n&&(n<60*1e3||n<t)?n:t}var nc=({maxRetries:e=2,initialDelayInMs:t=2e3,backoffFactor:r=2,abortSignal:n}={})=>async s=>mo(s,{maxRetries:e,delayInMs:t,backoffFactor:r,abortSignal:n});async function mo(e,{maxRetries:t,delayInMs:r,backoffFactor:n,abortSignal:s},o=[]){try{return await e()}catch(l){if(Re(l)||t===0)throw l;const i=ia(l),c=[...o,l],u=c.length;if(u>t)throw new $n({message:`Failed after ${u} attempts. Last error: ${i}`,reason:"maxRetriesExceeded",errors:c});if(l instanceof Error&&a.APICallError.isInstance(l)&&l.isRetryable===!0&&u<=t)return await pi(rc({error:l,exponentialBackoffDelay:r}),{abortSignal:s}),mo(e,{maxRetries:t,delayInMs:n*r,backoffFactor:n,abortSignal:s},c);throw u===1?l:new $n({message:`Failed after ${u} attempts with non-retryable error: '${i}'`,reason:"errorNotRetryable",errors:c})}}function ac({maxRetries:e,abortSignal:t}){if(e!=null){if(!Number.isInteger(e))throw new ge({parameter:"maxRetries",value:e,message:"maxRetries must be an integer"});if(e<0)throw new ge({parameter:"maxRetries",value:e,message:"maxRetries must be >= 0"})}const r=e??2;return{maxRetries:r,retry:nc({maxRetries:r,abortSignal:t})}}var oc=class{constructor({data:e,mediaType:t}){const r=e instanceof Uint8Array;this.base64Data=r?void 0:e,this.uint8ArrayData=r?e:void 0,this.mediaType=t}get base64(){return this.base64Data==null&&(this.base64Data=hr(this.uint8ArrayData)),this.base64Data}get uint8Array(){return this.uint8ArrayData==null&&(this.uint8ArrayData=kr(this.base64Data)),this.uint8ArrayData}},sc=class extends oc{constructor(e){super(e),this.type="file"}};async function ic({toolCall:e,tools:t,repairToolCall:r,system:n,messages:s}){try{if(t==null)throw new gr({toolName:e.toolName});try{return await Dn({toolCall:e,tools:t})}catch(o){if(r==null||!(gr.isInstance(o)||$a.isInstance(o)))throw o;let l=null;try{l=await r({toolCall:e,tools:t,inputSchema:({toolName:i})=>{const{inputSchema:c}=t[i];return Ot(c).jsonSchema},system:n,messages:s,error:o})}catch(i){throw new mu({cause:i,originalError:o})}if(l==null)throw o;return await Dn({toolCall:l,tools:t})}}catch(o){const l=await Ce({text:e.input}),i=l.success?l.value:e.input;return{type:"tool-call",toolCallId:e.toolCallId,toolName:e.toolName,input:i,dynamic:!0,invalid:!0,error:o}}}async function Dn({toolCall:e,tools:t}){const r=e.toolName,n=t[r];if(n==null)throw new gr({toolName:e.toolName,availableTools:Object.keys(t)});const s=Ot(n.inputSchema),o=e.input.trim()===""?await Se({value:{},schema:s}):await Ce({text:e.input,schema:s});if(o.success===!1)throw new $a({toolName:r,toolInput:e.input,cause:o.error});return n.type==="dynamic"?{type:"tool-call",toolCallId:e.toolCallId,toolName:e.toolName,input:o.value,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,dynamic:!0}:{type:"tool-call",toolCallId:e.toolCallId,toolName:r,input:o.value,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata}}var lc=class{constructor({content:e,finishReason:t,usage:r,warnings:n,request:s,response:o,providerMetadata:l}){this.content=e,this.finishReason=t,this.usage=r,this.warnings=n,this.request=s,this.response=o,this.providerMetadata=l}get text(){return this.content.filter(e=>e.type==="text").map(e=>e.text).join("")}get reasoning(){return this.content.filter(e=>e.type==="reasoning")}get reasoningText(){return this.reasoning.length===0?void 0:this.reasoning.map(e=>e.text).join("")}get files(){return this.content.filter(e=>e.type==="file").map(e=>e.file)}get sources(){return this.content.filter(e=>e.type==="source")}get toolCalls(){return this.content.filter(e=>e.type==="tool-call")}get staticToolCalls(){return this.toolCalls.filter(e=>e.dynamic!==!0)}get dynamicToolCalls(){return this.toolCalls.filter(e=>e.dynamic===!0)}get toolResults(){return this.content.filter(e=>e.type==="tool-result")}get staticToolResults(){return this.toolResults.filter(e=>e.dynamic!==!0)}get dynamicToolResults(){return this.toolResults.filter(e=>e.dynamic===!0)}};function uc(e){return({steps:t})=>t.length===e}async function cc({stopConditions:e,steps:t}){return(await Promise.all(e.map(r=>r({steps:t})))).some(r=>r)}function ze({output:e,tool:t,errorMode:r}){return r==="text"?{type:"error-text",value:a.getErrorMessage(e)}:r==="json"?{type:"error-json",value:Un(e)}:t?.toModelOutput?t.toModelOutput(e):typeof e=="string"?{type:"text",value:e}:{type:"json",value:Un(e)}}function Un(e){return e===void 0?null:e}function qn({content:e,tools:t}){const r=[],n=e.filter(o=>o.type!=="source").filter(o=>(o.type!=="tool-result"||o.providerExecuted)&&(o.type!=="tool-error"||o.providerExecuted)).filter(o=>o.type!=="text"||o.text.length>0).map(o=>{switch(o.type){case"text":return{type:"text",text:o.text,providerOptions:o.providerMetadata};case"reasoning":return{type:"reasoning",text:o.text,providerOptions:o.providerMetadata};case"file":return{type:"file",data:o.file.base64,mediaType:o.file.mediaType,providerOptions:o.providerMetadata};case"tool-call":return{type:"tool-call",toolCallId:o.toolCallId,toolName:o.toolName,input:o.input,providerExecuted:o.providerExecuted,providerOptions:o.providerMetadata};case"tool-result":return{type:"tool-result",toolCallId:o.toolCallId,toolName:o.toolName,output:ze({tool:t?.[o.toolName],output:o.output,errorMode:"none"}),providerExecuted:!0,providerOptions:o.providerMetadata};case"tool-error":return{type:"tool-result",toolCallId:o.toolCallId,toolName:o.toolName,output:ze({tool:t?.[o.toolName],output:o.error,errorMode:"json"}),providerOptions:o.providerMetadata}}});n.length>0&&r.push({role:"assistant",content:n});const s=e.filter(o=>o.type==="tool-result"||o.type==="tool-error").filter(o=>!o.providerExecuted).map(o=>({type:"tool-result",toolCallId:o.toolCallId,toolName:o.toolName,output:ze({tool:t?.[o.toolName],output:o.type==="tool-result"?o.output:o.error,errorMode:o.type==="tool-error"?"text":"none"})}));return s.length>0&&r.push({role:"tool",content:s}),r}it({prefix:"aitxt",size:24});function Mt(e,t){const r=new Headers(e??{});for(const[n,s]of Object.entries(t))r.has(n)||r.set(n,s);return r}function dc({status:e,statusText:t,headers:r,textStream:n}){return new Response(n.pipeThrough(new TextEncoderStream),{status:e??200,statusText:t,headers:Mt(r,{"content-type":"text/plain; charset=utf-8"})})}function ho({response:e,status:t,statusText:r,headers:n,stream:s}){e.writeHead(t??200,r,n);const o=s.getReader();(async()=>{try{for(;;){const{done:i,value:c}=await o.read();if(i)break;e.write(c)||await new Promise(d=>{e.once("drain",d)})}}catch(i){throw i}finally{e.end()}})()}function pc({response:e,status:t,statusText:r,headers:n,textStream:s}){ho({response:e,status:t,statusText:r,headers:Object.fromEntries(Mt(n,{"content-type":"text/plain; charset=utf-8"}).entries()),stream:s.pipeThrough(new TextEncoderStream)})}var go=class extends TransformStream{constructor(){super({transform(e,t){t.enqueue(`data: ${JSON.stringify(e)}
|
|
21
|
-
|
|
22
|
-
`)},flush(e){e.enqueue(`data: [DONE]
|
|
23
|
-
|
|
24
|
-
`)}})}},vo={"content-type":"text/event-stream","cache-control":"no-cache",connection:"keep-alive","x-vercel-ai-ui-message-stream":"v1","x-accel-buffering":"no"};function fc({status:e,statusText:t,headers:r,stream:n,consumeSseStream:s}){let o=n.pipeThrough(new go);if(s){const[l,i]=o.tee();o=l,s({stream:i})}return new Response(o.pipeThrough(new TextEncoderStream),{status:e,statusText:t,headers:Mt(r,vo)})}function mc({originalMessages:e,responseMessageId:t}){if(e==null)return;const r=e[e.length-1];return r?.role==="assistant"?r.id:typeof t=="function"?t():t}function hc(e){return e.type.startsWith("data-")}function yo(e,t){if(e===void 0&&t===void 0)return;if(e===void 0)return t;if(t===void 0)return e;const r={...e};for(const n in t)if(Object.prototype.hasOwnProperty.call(t,n)){const s=t[n];if(s===void 0)continue;const o=n in e?e[n]:void 0,l=s!==null&&typeof s=="object"&&!Array.isArray(s)&&!(s instanceof Date)&&!(s instanceof RegExp),i=o!=null&&typeof o=="object"&&!Array.isArray(o)&&!(o instanceof Date)&&!(o instanceof RegExp);l&&i?r[n]=yo(o,s):r[n]=s}return r}function gc(e){const t=["ROOT"];let r=-1,n=null;function s(c,u,d){switch(c){case'"':{r=u,t.pop(),t.push(d),t.push("INSIDE_STRING");break}case"f":case"t":case"n":{r=u,n=u,t.pop(),t.push(d),t.push("INSIDE_LITERAL");break}case"-":{t.pop(),t.push(d),t.push("INSIDE_NUMBER");break}case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":{r=u,t.pop(),t.push(d),t.push("INSIDE_NUMBER");break}case"{":{r=u,t.pop(),t.push(d),t.push("INSIDE_OBJECT_START");break}case"[":{r=u,t.pop(),t.push(d),t.push("INSIDE_ARRAY_START");break}}}function o(c,u){switch(c){case",":{t.pop(),t.push("INSIDE_OBJECT_AFTER_COMMA");break}case"}":{r=u,t.pop();break}}}function l(c,u){switch(c){case",":{t.pop(),t.push("INSIDE_ARRAY_AFTER_COMMA");break}case"]":{r=u,t.pop();break}}}for(let c=0;c<e.length;c++){const u=e[c];switch(t[t.length-1]){case"ROOT":s(u,c,"FINISH");break;case"INSIDE_OBJECT_START":{switch(u){case'"':{t.pop(),t.push("INSIDE_OBJECT_KEY");break}case"}":{r=c,t.pop();break}}break}case"INSIDE_OBJECT_AFTER_COMMA":{switch(u){case'"':{t.pop(),t.push("INSIDE_OBJECT_KEY");break}}break}case"INSIDE_OBJECT_KEY":{switch(u){case'"':{t.pop(),t.push("INSIDE_OBJECT_AFTER_KEY");break}}break}case"INSIDE_OBJECT_AFTER_KEY":{switch(u){case":":{t.pop(),t.push("INSIDE_OBJECT_BEFORE_VALUE");break}}break}case"INSIDE_OBJECT_BEFORE_VALUE":{s(u,c,"INSIDE_OBJECT_AFTER_VALUE");break}case"INSIDE_OBJECT_AFTER_VALUE":{o(u,c);break}case"INSIDE_STRING":{switch(u){case'"':{t.pop(),r=c;break}case"\\":{t.push("INSIDE_STRING_ESCAPE");break}default:r=c}break}case"INSIDE_ARRAY_START":{switch(u){case"]":{r=c,t.pop();break}default:{r=c,s(u,c,"INSIDE_ARRAY_AFTER_VALUE");break}}break}case"INSIDE_ARRAY_AFTER_VALUE":{switch(u){case",":{t.pop(),t.push("INSIDE_ARRAY_AFTER_COMMA");break}case"]":{r=c,t.pop();break}default:{r=c;break}}break}case"INSIDE_ARRAY_AFTER_COMMA":{s(u,c,"INSIDE_ARRAY_AFTER_VALUE");break}case"INSIDE_STRING_ESCAPE":{t.pop(),r=c;break}case"INSIDE_NUMBER":{switch(u){case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":{r=c;break}case"e":case"E":case"-":case".":break;case",":{t.pop(),t[t.length-1]==="INSIDE_ARRAY_AFTER_VALUE"&&l(u,c),t[t.length-1]==="INSIDE_OBJECT_AFTER_VALUE"&&o(u,c);break}case"}":{t.pop(),t[t.length-1]==="INSIDE_OBJECT_AFTER_VALUE"&&o(u,c);break}case"]":{t.pop(),t[t.length-1]==="INSIDE_ARRAY_AFTER_VALUE"&&l(u,c);break}default:{t.pop();break}}break}case"INSIDE_LITERAL":{const p=e.substring(n,c+1);!"false".startsWith(p)&&!"true".startsWith(p)&&!"null".startsWith(p)?(t.pop(),t[t.length-1]==="INSIDE_OBJECT_AFTER_VALUE"?o(u,c):t[t.length-1]==="INSIDE_ARRAY_AFTER_VALUE"&&l(u,c)):r=c;break}}}let i=e.slice(0,r+1);for(let c=t.length-1;c>=0;c--)switch(t[c]){case"INSIDE_STRING":{i+='"';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":{i+="}";break}case"INSIDE_ARRAY_START":case"INSIDE_ARRAY_AFTER_COMMA":case"INSIDE_ARRAY_AFTER_VALUE":{i+="]";break}case"INSIDE_LITERAL":{const d=e.substring(n,e.length);"true".startsWith(d)?i+="true".slice(d.length):"false".startsWith(d)?i+="false".slice(d.length):"null".startsWith(d)&&(i+="null".slice(d.length))}}return i}async function _o(e){if(e===void 0)return{value:void 0,state:"undefined-input"};let t=await Ce({text:e});return t.success?{value:t.value,state:"successful-parse"}:(t=await Ce({text:gc(e)}),t.success?{value:t.value,state:"repaired-parse"}:{value:void 0,state:"failed-parse"})}function rr(e){return e.type.startsWith("data-")}function nr(e){return e.type==="text"}function ar(e){return e.type==="file"}function Fn(e){return e.type==="reasoning"}function $e(e){return e.type.startsWith("tool-")}function Mr(e){return e.type==="dynamic-tool"}function Ln(e){return $e(e)||Mr(e)}function wt(e){return e.type.split("-").slice(1).join("-")}function vc(e){return Mr(e)?e.toolName:wt(e)}function yc({lastMessage:e,messageId:t}){return{message:e?.role==="assistant"?e:{id:t,metadata:void 0,role:"assistant",parts:[]},activeTextParts:{},activeReasoningParts:{},partialToolCalls:{}}}function _c({stream:e,messageMetadataSchema:t,dataPartSchemas:r,runUpdateMessageJob:n,onError:s,onToolCall:o,onData:l}){return e.pipeThrough(new TransformStream({async transform(i,c){await n(async({state:u,write:d})=>{var p,h,f,m;function v(g){const S=u.message.parts.filter($e).find(I=>I.toolCallId===g);if(S==null)throw new Error("tool-output-error must be preceded by a tool-input-available");return S}function _(g){const S=u.message.parts.filter(I=>I.type==="dynamic-tool").find(I=>I.toolCallId===g);if(S==null)throw new Error("tool-output-error must be preceded by a tool-input-available");return S}function y(g){var E;const S=u.message.parts.find(P=>$e(P)&&P.toolCallId===g.toolCallId),I=g,x=S;S!=null?(S.state=g.state,x.input=I.input,x.output=I.output,x.errorText=I.errorText,x.rawInput=I.rawInput,x.preliminary=I.preliminary,x.providerExecuted=(E=I.providerExecuted)!=null?E:S.providerExecuted,I.providerMetadata!=null&&S.state==="input-available"&&(S.callProviderMetadata=I.providerMetadata)):u.message.parts.push({type:`tool-${g.toolName}`,toolCallId:g.toolCallId,state:g.state,input:I.input,output:I.output,rawInput:I.rawInput,errorText:I.errorText,providerExecuted:I.providerExecuted,preliminary:I.preliminary,...I.providerMetadata!=null?{callProviderMetadata:I.providerMetadata}:{}})}function w(g){var E,S;const I=u.message.parts.find(F=>F.type==="dynamic-tool"&&F.toolCallId===g.toolCallId),x=g,P=I;I!=null?(I.state=g.state,P.toolName=g.toolName,P.input=x.input,P.output=x.output,P.errorText=x.errorText,P.rawInput=(E=x.rawInput)!=null?E:P.rawInput,P.preliminary=x.preliminary,P.providerExecuted=(S=x.providerExecuted)!=null?S:I.providerExecuted,x.providerMetadata!=null&&I.state==="input-available"&&(I.callProviderMetadata=x.providerMetadata)):u.message.parts.push({type:"dynamic-tool",toolName:g.toolName,toolCallId:g.toolCallId,state:g.state,input:x.input,output:x.output,errorText:x.errorText,preliminary:x.preliminary,providerExecuted:x.providerExecuted,...x.providerMetadata!=null?{callProviderMetadata:x.providerMetadata}:{}})}async function b(g){if(g!=null){const E=u.message.metadata!=null?yo(u.message.metadata,g):g;t!=null&&await dr({value:E,schema:t}),u.message.metadata=E}}switch(i.type){case"text-start":{const g={type:"text",text:"",providerMetadata:i.providerMetadata,state:"streaming"};u.activeTextParts[i.id]=g,u.message.parts.push(g),d();break}case"text-delta":{const g=u.activeTextParts[i.id];g.text+=i.delta,g.providerMetadata=(p=i.providerMetadata)!=null?p:g.providerMetadata,d();break}case"text-end":{const g=u.activeTextParts[i.id];g.state="done",g.providerMetadata=(h=i.providerMetadata)!=null?h:g.providerMetadata,delete u.activeTextParts[i.id],d();break}case"reasoning-start":{const g={type:"reasoning",text:"",providerMetadata:i.providerMetadata,state:"streaming"};u.activeReasoningParts[i.id]=g,u.message.parts.push(g),d();break}case"reasoning-delta":{const g=u.activeReasoningParts[i.id];g.text+=i.delta,g.providerMetadata=(f=i.providerMetadata)!=null?f:g.providerMetadata,d();break}case"reasoning-end":{const g=u.activeReasoningParts[i.id];g.providerMetadata=(m=i.providerMetadata)!=null?m:g.providerMetadata,g.state="done",delete u.activeReasoningParts[i.id],d();break}case"file":{u.message.parts.push({type:"file",mediaType:i.mediaType,url:i.url}),d();break}case"source-url":{u.message.parts.push({type:"source-url",sourceId:i.sourceId,url:i.url,title:i.title,providerMetadata:i.providerMetadata}),d();break}case"source-document":{u.message.parts.push({type:"source-document",sourceId:i.sourceId,mediaType:i.mediaType,title:i.title,filename:i.filename,providerMetadata:i.providerMetadata}),d();break}case"tool-input-start":{const g=u.message.parts.filter($e);u.partialToolCalls[i.toolCallId]={text:"",toolName:i.toolName,index:g.length,dynamic:i.dynamic},i.dynamic?w({toolCallId:i.toolCallId,toolName:i.toolName,state:"input-streaming",input:void 0,providerExecuted:i.providerExecuted}):y({toolCallId:i.toolCallId,toolName:i.toolName,state:"input-streaming",input:void 0,providerExecuted:i.providerExecuted}),d();break}case"tool-input-delta":{const g=u.partialToolCalls[i.toolCallId];g.text+=i.inputTextDelta;const{value:E}=await _o(g.text);g.dynamic?w({toolCallId:i.toolCallId,toolName:g.toolName,state:"input-streaming",input:E}):y({toolCallId:i.toolCallId,toolName:g.toolName,state:"input-streaming",input:E}),d();break}case"tool-input-available":{i.dynamic?w({toolCallId:i.toolCallId,toolName:i.toolName,state:"input-available",input:i.input,providerExecuted:i.providerExecuted,providerMetadata:i.providerMetadata}):y({toolCallId:i.toolCallId,toolName:i.toolName,state:"input-available",input:i.input,providerExecuted:i.providerExecuted,providerMetadata:i.providerMetadata}),d(),o&&!i.providerExecuted&&await o({toolCall:i});break}case"tool-input-error":{i.dynamic?w({toolCallId:i.toolCallId,toolName:i.toolName,state:"output-error",input:i.input,errorText:i.errorText,providerExecuted:i.providerExecuted,providerMetadata:i.providerMetadata}):y({toolCallId:i.toolCallId,toolName:i.toolName,state:"output-error",input:void 0,rawInput:i.input,errorText:i.errorText,providerExecuted:i.providerExecuted,providerMetadata:i.providerMetadata}),d();break}case"tool-output-available":{if(i.dynamic){const g=_(i.toolCallId);w({toolCallId:i.toolCallId,toolName:g.toolName,state:"output-available",input:g.input,output:i.output,preliminary:i.preliminary})}else{const g=v(i.toolCallId);y({toolCallId:i.toolCallId,toolName:wt(g),state:"output-available",input:g.input,output:i.output,providerExecuted:i.providerExecuted,preliminary:i.preliminary})}d();break}case"tool-output-error":{if(i.dynamic){const g=_(i.toolCallId);w({toolCallId:i.toolCallId,toolName:g.toolName,state:"output-error",input:g.input,errorText:i.errorText,providerExecuted:i.providerExecuted})}else{const g=v(i.toolCallId);y({toolCallId:i.toolCallId,toolName:wt(g),state:"output-error",input:g.input,rawInput:g.rawInput,errorText:i.errorText,providerExecuted:i.providerExecuted})}d();break}case"start-step":{u.message.parts.push({type:"step-start"});break}case"finish-step":{u.activeTextParts={},u.activeReasoningParts={};break}case"start":{i.messageId!=null&&(u.message.id=i.messageId),await b(i.messageMetadata),(i.messageId!=null||i.messageMetadata!=null)&&d();break}case"finish":{await b(i.messageMetadata),i.messageMetadata!=null&&d();break}case"message-metadata":{await b(i.messageMetadata),i.messageMetadata!=null&&d();break}case"error":{s?.(new Error(i.errorText));break}default:if(hc(i)){r?.[i.type]!=null&&await dr({value:i.data,schema:r[i.type]});const g=i;if(g.transient){l?.(g);break}const E=g.id!=null?u.message.parts.find(S=>g.type===S.type&&g.id===S.id):void 0;E!=null?E.data=g.data:u.message.parts.push(g),l?.(g),d()}}c.enqueue(i)})}}))}function bc({messageId:e,originalMessages:t=[],onFinish:r,onError:n,stream:s}){let o=t?.[t.length-1];o?.role!=="assistant"?o=void 0:e=o.id;let l=!1;const i=s.pipeThrough(new TransformStream({transform(h,f){if(h.type==="start"){const m=h;m.messageId==null&&e!=null&&(m.messageId=e)}h.type==="abort"&&(l=!0),f.enqueue(h)}}));if(r==null)return i;const c=yc({lastMessage:o?structuredClone(o):void 0,messageId:e??""}),u=async h=>{await h({state:c,write:()=>{}})};let d=!1;const p=async()=>{if(d||!r)return;d=!0;const h=c.message.id===o?.id;await r({isAborted:l,isContinuation:h,responseMessage:c.message,messages:[...h?t.slice(0,-1):t,c.message]})};return _c({stream:i,runUpdateMessageJob:u,onError:n}).pipeThrough(new TransformStream({transform(h,f){f.enqueue(h)},async cancel(){await p()},async flush(){await p()}}))}function wc({response:e,status:t,statusText:r,headers:n,stream:s,consumeSseStream:o}){let l=s.pipeThrough(new go);if(o){const[i,c]=l.tee();l=i,o({stream:c})}ho({response:e,status:t,statusText:r,headers:Object.fromEntries(Mt(n,vo).entries()),stream:l.pipeThrough(new TextEncoderStream)})}function pt(e){const t=e.pipeThrough(new TransformStream);return t[Symbol.asyncIterator]=function(){const r=this.getReader();let n=!1;async function s(o){var l;n=!0;try{o&&await((l=r.cancel)==null?void 0:l.call(r))}finally{try{r.releaseLock()}catch{}}}return{async next(){if(n)return{done:!0,value:void 0};const{done:o,value:l}=await r.read();return o?(await s(!0),{done:!0,value:void 0}):{done:!1,value:l}},async return(){return await s(!0),{done:!0,value:void 0}},async throw(o){throw await s(!0),o}}},t}async function Tc({stream:e,onError:t}){const r=e.getReader();try{for(;;){const{done:n}=await r.read();if(n)break}}catch(n){t?.(n)}finally{r.releaseLock()}}function Vn(){let e,t;return{promise:new Promise((n,s)=>{e=n,t=s}),resolve:e,reject:t}}function Ic(){let e=[],t=null,r=!1,n=Vn();const s=()=>{r=!0,n.resolve(),e.forEach(l=>l.cancel()),e=[],t?.close()},o=async()=>{if(r&&e.length===0){t?.close();return}if(e.length===0)return n=Vn(),await n.promise,o();try{const{value:l,done:i}=await e[0].read();i?(e.shift(),e.length>0?await o():r&&t?.close()):t?.enqueue(l)}catch(l){t?.error(l),e.shift(),s()}};return{stream:new ReadableStream({start(l){t=l},pull:o,async cancel(){for(const l of e)await l.cancel();e=[],r=!0}}),addStream:l=>{if(r)throw new Error("Cannot add inner stream: outer stream is closed");e.push(l.getReader()),n.resolve()},close:()=>{r=!0,n.resolve(),e.length===0&&t?.close()},terminate:s}}var ft=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,t)=>{this.status.type==="resolved"?e(this.status.value):this.status.type==="rejected"&&t(this.status.error),this._resolve=e,this._reject=t}),this._promise)}resolve(e){var t;this.status={type:"resolved",value:e},this._promise&&((t=this._resolve)==null||t.call(this,e))}reject(e){var t;this.status={type:"rejected",error:e},this._promise&&((t=this._reject)==null||t.call(this,e))}};function Ec(){var e,t;return(t=(e=globalThis?.performance)==null?void 0:e.now())!=null?t:Date.now()}function Sc({tools:e,generatorStream:t,tracer:r,telemetry:n,system:s,messages:o,abortSignal:l,repairToolCall:i,experimental_context:c}){let u=null;const d=new ReadableStream({start(y){u=y}}),p=new Set,h=new Map;let f=!1,m;function v(){f&&p.size===0&&(m!=null&&u.enqueue(m),u.close())}const _=new TransformStream({async transform(y,w){const b=y.type;switch(b){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":{w.enqueue(y);break}case"file":{w.enqueue({type:"file",file:new sc({data:y.data,mediaType:y.mediaType})});break}case"finish":{m={type:"finish",finishReason:y.finishReason,usage:y.usage,providerMetadata:y.providerMetadata};break}case"tool-call":{try{const g=await ic({toolCall:y,tools:e,repairToolCall:i,system:s,messages:o});if(w.enqueue(g),g.invalid){u.enqueue({type:"tool-error",toolCallId:g.toolCallId,toolName:g.toolName,input:g.input,error:ia(g.error),dynamic:!0});break}const E=e[g.toolName];if(h.set(g.toolCallId,g.input),E.onInputAvailable!=null&&await E.onInputAvailable({input:g.input,toolCallId:g.toolCallId,messages:o,abortSignal:l,experimental_context:c}),E.execute!=null&&g.providerExecuted!==!0){const S=fi();p.add(S),yr({name:"ai.toolCall",attributes:Ne({telemetry:n,attributes:{...vr({operationId:"ai.toolCall",telemetry:n}),"ai.toolCall.name":g.toolName,"ai.toolCall.id":g.toolCallId,"ai.toolCall.args":{output:()=>JSON.stringify(g.input)}}}),tracer:r,fn:async I=>{let x;try{const P=xl({execute:E.execute.bind(E),input:g.input,options:{toolCallId:g.toolCallId,messages:o,abortSignal:l,experimental_context:c}});for await(const F of P)u.enqueue({...g,type:"tool-result",output:F.output,...F.type==="preliminary"&&{preliminary:!0}}),F.type==="final"&&(x=F.output)}catch(P){fo(I,P),u.enqueue({...g,type:"tool-error",error:P}),p.delete(S),v();return}p.delete(S),v();try{I.setAttributes(Ne({telemetry:n,attributes:{"ai.toolCall.result":{output:()=>JSON.stringify(x)}}}))}catch{}}})}}catch(g){u.enqueue({type:"error",error:g})}break}case"tool-result":{const g=y.toolName;y.isError?u.enqueue({type:"tool-error",toolCallId:y.toolCallId,toolName:g,input:h.get(y.toolCallId),providerExecuted:y.providerExecuted,error:y.result}):w.enqueue({type:"tool-result",toolCallId:y.toolCallId,toolName:g,input:h.get(y.toolCallId),output:y.result,providerExecuted:y.providerExecuted});break}default:{const g=b;throw new Error(`Unhandled chunk type: ${g}`)}}},flush(){f=!0,v()}});return new ReadableStream({async start(y){return Promise.all([t.pipeThrough(_).pipeTo(new WritableStream({write(w){y.enqueue(w)},close(){}})),d.pipeTo(new WritableStream({write(w){y.enqueue(w)},close(){y.close()}}))])}})}var xc=it({prefix:"aitxt",size:24});function Rc({model:e,tools:t,toolChoice:r,system:n,prompt:s,messages:o,maxRetries:l,abortSignal:i,headers:c,stopWhen:u=uc(1),experimental_output:d,experimental_telemetry:p,prepareStep:h,providerOptions:f,experimental_activeTools:m,activeTools:v=m,experimental_repairToolCall:_,experimental_transform:y,experimental_download:w,includeRawChunks:b=!1,onChunk:g,onError:E=({error:M})=>{console.error(M)},onFinish:S,onAbort:I,onStepFinish:x,experimental_context:P,_internal:{now:F=Ec,generateId:K=xc,currentDate:de=()=>new Date}={},...q}){return new Ac({model:so(e),telemetry:p,headers:c,settings:q,maxRetries:l,abortSignal:i,system:n,prompt:s,messages:o,tools:t,toolChoice:r,transforms:jn(y),activeTools:v,repairToolCall:_,stopConditions:jn(u),output:d,providerOptions:f,prepareStep:h,includeRawChunks:b,onChunk:g,onError:E,onFinish:S,onAbort:I,onStepFinish:x,now:F,currentDate:de,generateId:K,experimental_context:P,download:w})}function Cc(e){if(!e)return new TransformStream({transform(l,i){i.enqueue({part:l,partialOutput:void 0})}});let t,r="",n="",s="";function o({controller:l,partialOutput:i=void 0}){l.enqueue({part:{type:"text-delta",id:t,text:n},partialOutput:i}),n=""}return new TransformStream({async transform(l,i){if(l.type==="finish-step"&&n.length>0&&o({controller:i}),l.type!=="text-delta"&&l.type!=="text-start"&&l.type!=="text-end"){i.enqueue({part:l,partialOutput:void 0});return}if(t==null)t=l.id;else if(l.id!==t){i.enqueue({part:l,partialOutput:void 0});return}if(l.type==="text-start"){i.enqueue({part:l,partialOutput:void 0});return}if(l.type==="text-end"){n.length>0&&o({controller:i}),i.enqueue({part:l,partialOutput:void 0});return}r+=l.text,n+=l.text;const c=await e.parsePartial({text:r});if(c!=null){const u=JSON.stringify(c.partial);u!==s&&(o({controller:i,partialOutput:c.partial}),s=u)}}})}var Ac=class{constructor({model:e,telemetry:t,headers:r,settings:n,maxRetries:s,abortSignal:o,system:l,prompt:i,messages:c,tools:u,toolChoice:d,transforms:p,activeTools:h,repairToolCall:f,stopConditions:m,output:v,providerOptions:_,prepareStep:y,includeRawChunks:w,now:b,currentDate:g,generateId:E,onChunk:S,onError:I,onFinish:x,onAbort:P,onStepFinish:F,experimental_context:K,download:de}){this._totalUsage=new ft,this._finishReason=new ft,this._steps=new ft,this.output=v,this.includeRawChunks=w,this.tools=u;let q,M=[];const pe=[];let fe,we,re={},O=[];const R=[];let Z,ae={},A={};const k=new TransformStream({async transform(V,B){var J,N,oe,qe;B.enqueue(V);const{part:T}=V;if((T.type==="text-delta"||T.type==="reasoning-delta"||T.type==="source"||T.type==="tool-call"||T.type==="tool-result"||T.type==="tool-input-start"||T.type==="tool-input-delta"||T.type==="raw")&&await S?.({chunk:T}),T.type==="error"&&await I({error:zu(T.error)}),T.type==="text-start"&&(ae[T.id]={type:"text",text:"",providerMetadata:T.providerMetadata},M.push(ae[T.id])),T.type==="text-delta"){const L=ae[T.id];if(L==null){B.enqueue({part:{type:"error",error:`text part ${T.id} not found`},partialOutput:void 0});return}L.text+=T.text,L.providerMetadata=(J=T.providerMetadata)!=null?J:L.providerMetadata}if(T.type==="text-end"){const L=ae[T.id];if(L==null){B.enqueue({part:{type:"error",error:`text part ${T.id} not found`},partialOutput:void 0});return}L.providerMetadata=(N=T.providerMetadata)!=null?N:L.providerMetadata,delete ae[T.id]}if(T.type==="reasoning-start"&&(A[T.id]={type:"reasoning",text:"",providerMetadata:T.providerMetadata},M.push(A[T.id])),T.type==="reasoning-delta"){const L=A[T.id];if(L==null){B.enqueue({part:{type:"error",error:`reasoning part ${T.id} not found`},partialOutput:void 0});return}L.text+=T.text,L.providerMetadata=(oe=T.providerMetadata)!=null?oe:L.providerMetadata}if(T.type==="reasoning-end"){const L=A[T.id];if(L==null){B.enqueue({part:{type:"error",error:`reasoning part ${T.id} not found`},partialOutput:void 0});return}L.providerMetadata=(qe=T.providerMetadata)!=null?qe:L.providerMetadata,delete A[T.id]}if(T.type==="file"&&M.push({type:"file",file:T.file}),T.type==="source"&&M.push(T),T.type==="tool-call"&&M.push(T),T.type==="tool-result"&&!T.preliminary&&M.push(T),T.type==="tool-error"&&M.push(T),T.type==="start-step"&&(re=T.request,O=T.warnings),T.type==="finish-step"){const L=qn({content:M,tools:u}),Fe=new lc({content:M,finishReason:T.finishReason,usage:T.usage,warnings:O,request:re,response:{...T.response,messages:[...pe,...L]},providerMetadata:T.providerMetadata});await F?.(Fe),su(O),R.push(Fe),M=[],A={},ae={},pe.push(...L),q.resolve()}T.type==="finish"&&(we=T.totalUsage,fe=T.finishReason)},async flush(V){try{if(R.length===0){const oe=new du({message:"No output generated. Check the stream for errors."});ne._finishReason.reject(oe),ne._totalUsage.reject(oe),ne._steps.reject(oe);return}const B=fe??"unknown",J=we??{inputTokens:void 0,outputTokens:void 0,totalTokens:void 0};ne._finishReason.resolve(B),ne._totalUsage.resolve(J),ne._steps.resolve(R);const N=R[R.length-1];await x?.({finishReason:B,totalUsage:J,usage:N.usage,content:N.content,text:N.text,reasoningText:N.reasoningText,reasoning:N.reasoning,files:N.files,sources:N.sources,toolCalls:N.toolCalls,staticToolCalls:N.staticToolCalls,dynamicToolCalls:N.dynamicToolCalls,toolResults:N.toolResults,staticToolResults:N.staticToolResults,dynamicToolResults:N.dynamicToolResults,request:N.request,response:N.response,warnings:N.warnings,providerMetadata:N.providerMetadata,steps:R}),Z.setAttributes(Ne({telemetry:t,attributes:{"ai.response.finishReason":B,"ai.response.text":{output:()=>N.text},"ai.response.toolCalls":{output:()=>{var oe;return(oe=N.toolCalls)!=null&&oe.length?JSON.stringify(N.toolCalls):void 0}},"ai.response.providerMetadata":JSON.stringify(N.providerMetadata),"ai.usage.inputTokens":J.inputTokens,"ai.usage.outputTokens":J.outputTokens,"ai.usage.totalTokens":J.totalTokens,"ai.usage.reasoningTokens":J.reasoningTokens,"ai.usage.cachedInputTokens":J.cachedInputTokens}}))}catch(B){V.error(B)}finally{Z.end()}}}),$=Ic();this.addStream=$.addStream,this.closeStream=$.close;const z=$.stream.getReader();let Ut=new ReadableStream({async start(V){V.enqueue({type:"start"})},async pull(V){function B(){P?.({steps:R}),V.enqueue({type:"abort"}),V.close()}try{const{done:J,value:N}=await z.read();if(J){V.close();return}if(o?.aborted){B();return}V.enqueue(N)}catch(J){Re(J)&&o?.aborted?B():V.error(J)}},cancel(V){return $.stream.cancel(V)}});for(const V of p)Ut=Ut.pipeThrough(V({tools:u,stopStream(){$.terminate()}}));this.baseStream=Ut.pipeThrough(Cc(v)).pipeThrough(k);const{maxRetries:Ss,retry:xs}=ac({maxRetries:s,abortSignal:o}),qt=Qu(t),ye=ju(n),Hr=Wu({model:e,telemetry:t,headers:r,settings:{...ye,maxRetries:Ss}}),ne=this;yr({name:"ai.streamText",attributes:Ne({telemetry:t,attributes:{...vr({operationId:"ai.streamText",telemetry:t}),...Hr,"ai.prompt":{input:()=>JSON.stringify({system:l,prompt:i,messages:c})}}}),tracer:qt,endWhenDone:!1,fn:async V=>{Z=V;async function B({currentStep:J,responseMessages:N,usage:oe}){var qe,T,L,Fe,Zr;const Kr=ne.includeRawChunks;q=new ft;const Jr=await Gu({system:l,prompt:i,messages:c}),Le=[...Jr.messages,...N],me=await y?.({model:e,steps:R,stepNumber:R.length,messages:Le}),ke=so((qe=me?.model)!=null?qe:e),Gr=await Ou({prompt:{system:(T=me?.system)!=null?T:Jr.system,messages:(L=me?.messages)!=null?L:Le},supportedUrls:await ke.supportedUrls,download:de}),{toolChoice:Ft,tools:Lt}=Uu({tools:u,toolChoice:(Fe=me?.toolChoice)!=null?Fe:d,activeTools:(Zr=me?.activeTools)!=null?Zr:h}),{result:{stream:Rs,response:zr,request:Wr},doStreamSpan:Oe,startTimestampMs:Yr}=await xs(()=>yr({name:"ai.streamText.doStream",attributes:Ne({telemetry:t,attributes:{...vr({operationId:"ai.streamText.doStream",telemetry:t}),...Hr,"ai.model.provider":ke.provider,"ai.model.id":ke.modelId,"ai.prompt.messages":{input:()=>ec(Gr)},"ai.prompt.tools":{input:()=>Lt?.map(C=>JSON.stringify(C))},"ai.prompt.toolChoice":{input:()=>Ft!=null?JSON.stringify(Ft):void 0},"gen_ai.system":ke.provider,"gen_ai.request.model":ke.modelId,"gen_ai.request.frequency_penalty":ye.frequencyPenalty,"gen_ai.request.max_tokens":ye.maxOutputTokens,"gen_ai.request.presence_penalty":ye.presencePenalty,"gen_ai.request.stop_sequences":ye.stopSequences,"gen_ai.request.temperature":ye.temperature,"gen_ai.request.top_k":ye.topK,"gen_ai.request.top_p":ye.topP}}),tracer:qt,endWhenDone:!1,fn:async C=>({startTimestampMs:b(),doStreamSpan:C,result:await ke.doStream({...ye,tools:Lt,toolChoice:Ft,responseFormat:v?.responseFormat,prompt:Gr,providerOptions:_,abortSignal:o,headers:r,includeRawChunks:Kr})})})),Cs=Sc({tools:u,generatorStream:Rs,tracer:qt,telemetry:t,system:l,messages:Le,repairToolCall:f,abortSignal:o,experimental_context:K}),As=Wr??{},ut=[],Vt=[];let Bt;const Ht={};let Me="unknown",se={inputTokens:void 0,outputTokens:void 0,totalTokens:void 0},Zt,Xr=!0,he={id:E(),timestamp:g(),modelId:e.modelId},Qr="";ne.addStream(Cs.pipeThrough(new TransformStream({async transform(C,G){var Ve,Be,ct,_e;if(C.type==="stream-start"){Bt=C.warnings;return}if(Xr){const W=b()-Yr;Xr=!1,Oe.addEvent("ai.stream.firstChunk",{"ai.response.msToFirstChunk":W}),Oe.setAttributes({"ai.response.msToFirstChunk":W}),G.enqueue({type:"start-step",request:As,warnings:Bt??[]})}const en=C.type;switch(en){case"text-start":case"text-end":{G.enqueue(C);break}case"text-delta":{C.delta.length>0&&(G.enqueue({type:"text-delta",id:C.id,text:C.delta,providerMetadata:C.providerMetadata}),Qr+=C.delta);break}case"reasoning-start":case"reasoning-end":{G.enqueue(C);break}case"reasoning-delta":{G.enqueue({type:"reasoning-delta",id:C.id,text:C.delta,providerMetadata:C.providerMetadata});break}case"tool-call":{G.enqueue(C),ut.push(C);break}case"tool-result":{G.enqueue(C),C.preliminary||Vt.push(C);break}case"tool-error":{G.enqueue(C),Vt.push(C);break}case"response-metadata":{he={id:(Ve=C.id)!=null?Ve:he.id,timestamp:(Be=C.timestamp)!=null?Be:he.timestamp,modelId:(ct=C.modelId)!=null?ct:he.modelId};break}case"finish":{se=C.usage,Me=C.finishReason,Zt=C.providerMetadata;const W=b()-Yr;Oe.addEvent("ai.stream.finish"),Oe.setAttributes({"ai.response.msToFinish":W,"ai.response.avgOutputTokensPerSecond":1e3*((_e=se.outputTokens)!=null?_e:0)/W});break}case"file":{G.enqueue(C);break}case"source":{G.enqueue(C);break}case"tool-input-start":{Ht[C.id]=C.toolName;const W=u?.[C.toolName];W?.onInputStart!=null&&await W.onInputStart({toolCallId:C.id,messages:Le,abortSignal:o,experimental_context:K}),G.enqueue({...C,dynamic:W?.type==="dynamic"});break}case"tool-input-end":{delete Ht[C.id],G.enqueue(C);break}case"tool-input-delta":{const W=Ht[C.id],Kt=u?.[W];Kt?.onInputDelta!=null&&await Kt.onInputDelta({inputTextDelta:C.delta,toolCallId:C.id,messages:Le,abortSignal:o,experimental_context:K}),G.enqueue(C);break}case"error":{G.enqueue(C),Me="error";break}case"raw":{Kr&&G.enqueue(C);break}default:{const W=en;throw new Error(`Unknown chunk type: ${W}`)}}},async flush(C){const G=ut.length>0?JSON.stringify(ut):void 0;try{Oe.setAttributes(Ne({telemetry:t,attributes:{"ai.response.finishReason":Me,"ai.response.text":{output:()=>Qr},"ai.response.toolCalls":{output:()=>G},"ai.response.id":he.id,"ai.response.model":he.modelId,"ai.response.timestamp":he.timestamp.toISOString(),"ai.response.providerMetadata":JSON.stringify(Zt),"ai.usage.inputTokens":se.inputTokens,"ai.usage.outputTokens":se.outputTokens,"ai.usage.totalTokens":se.totalTokens,"ai.usage.reasoningTokens":se.reasoningTokens,"ai.usage.cachedInputTokens":se.cachedInputTokens,"gen_ai.response.finish_reasons":[Me],"gen_ai.response.id":he.id,"gen_ai.response.model":he.modelId,"gen_ai.usage.input_tokens":se.inputTokens,"gen_ai.usage.output_tokens":se.outputTokens}}))}catch{}finally{Oe.end()}C.enqueue({type:"finish-step",finishReason:Me,usage:se,providerMetadata:Zt,response:{...he,headers:zr?.headers}});const Ve=tc(oe,se);await q.promise;const Be=ut.filter(_e=>_e.providerExecuted!==!0),ct=Vt.filter(_e=>_e.providerExecuted!==!0);if(Be.length>0&&ct.length===Be.length&&!await cc({stopConditions:m,steps:R})){N.push(...qn({content:R[R.length-1].content,tools:u}));try{await B({currentStep:J+1,responseMessages:N,usage:Ve})}catch(_e){C.enqueue({type:"error",error:_e}),ne.closeStream()}}else C.enqueue({type:"finish",finishReason:Me,totalUsage:Ve}),ne.closeStream()}})))}await B({currentStep:0,responseMessages:[],usage:{inputTokens:void 0,outputTokens:void 0,totalTokens:void 0}})}}).catch(V=>{ne.addStream(new ReadableStream({start(B){B.enqueue({type:"error",error:V}),B.close()}})),ne.closeStream()})}get steps(){return this.consumeStream(),this._steps.promise}get finalStep(){return this.steps.then(e=>e[e.length-1])}get content(){return this.finalStep.then(e=>e.content)}get warnings(){return this.finalStep.then(e=>e.warnings)}get providerMetadata(){return this.finalStep.then(e=>e.providerMetadata)}get text(){return this.finalStep.then(e=>e.text)}get reasoningText(){return this.finalStep.then(e=>e.reasoningText)}get reasoning(){return this.finalStep.then(e=>e.reasoning)}get sources(){return this.finalStep.then(e=>e.sources)}get files(){return this.finalStep.then(e=>e.files)}get toolCalls(){return this.finalStep.then(e=>e.toolCalls)}get staticToolCalls(){return this.finalStep.then(e=>e.staticToolCalls)}get dynamicToolCalls(){return this.finalStep.then(e=>e.dynamicToolCalls)}get toolResults(){return this.finalStep.then(e=>e.toolResults)}get staticToolResults(){return this.finalStep.then(e=>e.staticToolResults)}get dynamicToolResults(){return this.finalStep.then(e=>e.dynamicToolResults)}get usage(){return this.finalStep.then(e=>e.usage)}get request(){return this.finalStep.then(e=>e.request)}get response(){return this.finalStep.then(e=>e.response)}get totalUsage(){return this.consumeStream(),this._totalUsage.promise}get finishReason(){return this.consumeStream(),this._finishReason.promise}teeStream(){const[e,t]=this.baseStream.tee();return this.baseStream=t,e}get textStream(){return pt(this.teeStream().pipeThrough(new TransformStream({transform({part:e},t){e.type==="text-delta"&&t.enqueue(e.text)}})))}get fullStream(){return pt(this.teeStream().pipeThrough(new TransformStream({transform({part:e},t){t.enqueue(e)}})))}async consumeStream(e){var t;try{await Tc({stream:this.fullStream,onError:e?.onError})}catch(r){(t=e?.onError)==null||t.call(e,r)}}get experimental_partialOutputStream(){if(this.output==null)throw new nu;return pt(this.teeStream().pipeThrough(new TransformStream({transform({partialOutput:e},t){e!=null&&t.enqueue(e)}})))}toUIMessageStream({originalMessages:e,generateMessageId:t,onFinish:r,messageMetadata:n,sendReasoning:s=!0,sendSources:o=!1,sendStart:l=!0,sendFinish:i=!0,onError:c=a.getErrorMessage}={}){const u=t!=null?mc({originalMessages:e,responseMessageId:t}):void 0,d={},p=f=>{var m,v;const _=d[f];return((v=(m=this.tools)==null?void 0:m[_])==null?void 0:v.type)==="dynamic"?!0:void 0},h=this.fullStream.pipeThrough(new TransformStream({transform:async(f,m)=>{const v=n?.({part:f}),_=f.type;switch(_){case"text-start":{m.enqueue({type:"text-start",id:f.id,...f.providerMetadata!=null?{providerMetadata:f.providerMetadata}:{}});break}case"text-delta":{m.enqueue({type:"text-delta",id:f.id,delta:f.text,...f.providerMetadata!=null?{providerMetadata:f.providerMetadata}:{}});break}case"text-end":{m.enqueue({type:"text-end",id:f.id,...f.providerMetadata!=null?{providerMetadata:f.providerMetadata}:{}});break}case"reasoning-start":{m.enqueue({type:"reasoning-start",id:f.id,...f.providerMetadata!=null?{providerMetadata:f.providerMetadata}:{}});break}case"reasoning-delta":{s&&m.enqueue({type:"reasoning-delta",id:f.id,delta:f.text,...f.providerMetadata!=null?{providerMetadata:f.providerMetadata}:{}});break}case"reasoning-end":{m.enqueue({type:"reasoning-end",id:f.id,...f.providerMetadata!=null?{providerMetadata:f.providerMetadata}:{}});break}case"file":{m.enqueue({type:"file",mediaType:f.file.mediaType,url:`data:${f.file.mediaType};base64,${f.file.base64}`});break}case"source":{o&&f.sourceType==="url"&&m.enqueue({type:"source-url",sourceId:f.id,url:f.url,title:f.title,...f.providerMetadata!=null?{providerMetadata:f.providerMetadata}:{}}),o&&f.sourceType==="document"&&m.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":{d[f.id]=f.toolName;const y=p(f.id);m.enqueue({type:"tool-input-start",toolCallId:f.id,toolName:f.toolName,...f.providerExecuted!=null?{providerExecuted:f.providerExecuted}:{},...y!=null?{dynamic:y}:{}});break}case"tool-input-delta":{m.enqueue({type:"tool-input-delta",toolCallId:f.id,inputTextDelta:f.delta});break}case"tool-call":{d[f.toolCallId]=f.toolName;const y=p(f.toolCallId);f.invalid?m.enqueue({type:"tool-input-error",toolCallId:f.toolCallId,toolName:f.toolName,input:f.input,...f.providerExecuted!=null?{providerExecuted:f.providerExecuted}:{},...f.providerMetadata!=null?{providerMetadata:f.providerMetadata}:{},...y!=null?{dynamic:y}:{},errorText:c(f.error)}):m.enqueue({type:"tool-input-available",toolCallId:f.toolCallId,toolName:f.toolName,input:f.input,...f.providerExecuted!=null?{providerExecuted:f.providerExecuted}:{},...f.providerMetadata!=null?{providerMetadata:f.providerMetadata}:{},...y!=null?{dynamic:y}:{}});break}case"tool-result":{const y=p(f.toolCallId);m.enqueue({type:"tool-output-available",toolCallId:f.toolCallId,output:f.output,...f.providerExecuted!=null?{providerExecuted:f.providerExecuted}:{},...f.preliminary!=null?{preliminary:f.preliminary}:{},...y!=null?{dynamic:y}:{}});break}case"tool-error":{const y=p(f.toolCallId);m.enqueue({type:"tool-output-error",toolCallId:f.toolCallId,errorText:c(f.error),...f.providerExecuted!=null?{providerExecuted:f.providerExecuted}:{},...y!=null?{dynamic:y}:{}});break}case"error":{m.enqueue({type:"error",errorText:c(f.error)});break}case"start-step":{m.enqueue({type:"start-step"});break}case"finish-step":{m.enqueue({type:"finish-step"});break}case"start":{l&&m.enqueue({type:"start",...v!=null?{messageMetadata:v}:{},...u!=null?{messageId:u}:{}});break}case"finish":{i&&m.enqueue({type:"finish",...v!=null?{messageMetadata:v}:{}});break}case"abort":{m.enqueue(f);break}case"tool-input-end":break;case"raw":break;default:{const y=_;throw new Error(`Unknown chunk type: ${y}`)}}v!=null&&_!=="start"&&_!=="finish"&&m.enqueue({type:"message-metadata",messageMetadata:v})}}));return pt(bc({stream:h,messageId:u??t?.(),originalMessages:e,onFinish:r,onError:c}))}pipeUIMessageStreamToResponse(e,{originalMessages:t,generateMessageId:r,onFinish:n,messageMetadata:s,sendReasoning:o,sendSources:l,sendFinish:i,sendStart:c,onError:u,...d}={}){wc({response:e,stream:this.toUIMessageStream({originalMessages:t,generateMessageId:r,onFinish:n,messageMetadata:s,sendReasoning:o,sendSources:l,sendFinish:i,sendStart:c,onError:u}),...d})}pipeTextStreamToResponse(e,t){pc({response:e,textStream:this.textStream,...t})}toUIMessageStreamResponse({originalMessages:e,generateMessageId:t,onFinish:r,messageMetadata:n,sendReasoning:s,sendSources:o,sendFinish:l,sendStart:i,onError:c,...u}={}){return fc({stream:this.toUIMessageStream({originalMessages:e,generateMessageId:t,onFinish:r,messageMetadata:n,sendReasoning:s,sendSources:o,sendFinish:l,sendStart:i,onError:c}),...u})}toTextStreamResponse(e){return dc({textStream:this.textStream,...e})}};function Pc(e,t){const r=[];t?.ignoreIncompleteToolCalls&&(e=e.map(n=>({...n,parts:n.parts.filter(s=>!Ln(s)||s.state!=="input-streaming"&&s.state!=="input-available")})));for(const n of e)switch(n.role){case"system":{const s=n.parts.filter(l=>l.type==="text"),o=s.reduce((l,i)=>i.providerMetadata!=null?{...l,...i.providerMetadata}:l,{});r.push({role:"system",content:s.map(l=>l.text).join(""),...Object.keys(o).length>0?{providerOptions:o}:{}});break}case"user":{r.push({role:"user",content:n.parts.map(s=>{var o;if(nr(s))return{type:"text",text:s.text,...s.providerMetadata!=null?{providerOptions:s.providerMetadata}:{}};if(ar(s))return{type:"file",mediaType:s.mediaType,filename:s.filename,data:s.url,...s.providerMetadata!=null?{providerOptions:s.providerMetadata}:{}};if(rr(s))return(o=t?.convertDataPart)==null?void 0:o.call(t,s)}).filter(s=>s!=null)});break}case"assistant":{if(n.parts!=null){let s=function(){var l,i,c;if(o.length===0)return;const u=[];for(const p of o)if(nr(p))u.push({type:"text",text:p.text,...p.providerMetadata!=null?{providerOptions:p.providerMetadata}:{}});else if(ar(p))u.push({type:"file",mediaType:p.mediaType,filename:p.filename,data:p.url});else if(Fn(p))u.push({type:"reasoning",text:p.text,providerOptions:p.providerMetadata});else if(Mr(p)){const h=p.toolName;p.state!=="input-streaming"&&u.push({type:"tool-call",toolCallId:p.toolCallId,toolName:h,input:p.input,...p.callProviderMetadata!=null?{providerOptions:p.callProviderMetadata}:{}})}else if($e(p)){const h=wt(p);p.state!=="input-streaming"&&(u.push({type:"tool-call",toolCallId:p.toolCallId,toolName:h,input:p.state==="output-error"?(l=p.input)!=null?l:p.rawInput:p.input,providerExecuted:p.providerExecuted,...p.callProviderMetadata!=null?{providerOptions:p.callProviderMetadata}:{}}),p.providerExecuted===!0&&(p.state==="output-available"||p.state==="output-error")&&u.push({type:"tool-result",toolCallId:p.toolCallId,toolName:h,output:ze({output:p.state==="output-error"?p.errorText:p.output,tool:(i=t?.tools)==null?void 0:i[h],errorMode:p.state==="output-error"?"json":"none"})}))}else if(rr(p)){const h=(c=t?.convertDataPart)==null?void 0:c.call(t,p);h!=null&&u.push(h)}else{const h=p;throw new Error(`Unsupported part: ${h}`)}r.push({role:"assistant",content:u});const d=o.filter(p=>$e(p)&&p.providerExecuted!==!0||p.type==="dynamic-tool");d.length>0&&r.push({role:"tool",content:d.map(p=>{var h;switch(p.state){case"output-error":case"output-available":{const f=vc(p);return{type:"tool-result",toolCallId:p.toolCallId,toolName:f,output:ze({output:p.state==="output-error"?p.errorText:p.output,tool:(h=t?.tools)==null?void 0:h[f],errorMode:p.state==="output-error"?"text":"none"})}}default:return null}}).filter(p=>p!=null)}),o=[]},o=[];for(const l of n.parts)nr(l)||Fn(l)||ar(l)||Ln(l)||rr(l)?o.push(l):l.type==="step-start"&&s();s();break}break}default:{const s=n.role;throw new _u({originalMessage:n,message:`Unsupported role: ${s}`})}}return r}it({prefix:"aiobj",size:24});it({prefix:"aiobj",size:24});var kc={};tu(kc,{object:()=>Mc,text:()=>Oc});var Oc=()=>({type:"text",responseFormat:{type:"text"},async parsePartial({text:e}){return{partial:e}},async parseOutput({text:e}){return e}}),Mc=({schema:e})=>{const t=Ot(e);return{type:"object",responseFormat:{type:"json",schema:t.jsonSchema},async parsePartial({text:r}){const n=await _o(r);switch(n.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":return{partial:n.value};default:{const s=n.state;throw new Error(`Unsupported parse state: ${s}`)}}},async parseOutput({text:r},n){const s=await Ce({text:r});if(!s.success)throw new Nn({message:"No object generated: could not parse the response.",cause:s.error,text:r,response:n.response,usage:n.usage,finishReason:n.finishReason});const o=await Se({value:s.value,schema:t});if(!o.success)throw new Nn({message:"No object generated: response did not match schema.",cause:o.error,text:r,response:n.response,usage:n.usage,finishReason:n.finishReason});return o.value}}},Nc=Object.defineProperty,$c=Object.defineProperties,jc=Object.getOwnPropertyDescriptors,Bn=Object.getOwnPropertySymbols,Dc=Object.prototype.hasOwnProperty,Uc=Object.prototype.propertyIsEnumerable,Hn=(e,t,r)=>t in e?Nc(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,j=(e,t)=>{for(var r in t||(t={}))Dc.call(t,r)&&Hn(e,r,t[r]);if(Bn)for(var r of Bn(t))Uc.call(t,r)&&Hn(e,r,t[r]);return e},Tt=(e,t)=>$c(e,jc(t)),bo="vercel.ai.error",qc=Symbol.for(bo),wo,Fc=class To extends Error{constructor({name:t,message:r,cause:n}){super(r),this[wo]=!0,this.name=t,this.cause=n}static isInstance(t){return To.hasMarker(t,bo)}static hasMarker(t,r){const n=Symbol.for(r);return t!=null&&typeof t=="object"&&n in t&&typeof t[n]=="boolean"&&t[n]===!0}};wo=qc;var H=Fc,Io="AI_APICallError",Eo=`vercel.ai.error.${Io}`,Lc=Symbol.for(Eo),So,ce=class extends H{constructor({message:e,url:t,requestBodyValues:r,statusCode:n,responseHeaders:s,responseBody:o,cause:l,isRetryable:i=n!=null&&(n===408||n===409||n===429||n>=500),data:c}){super({name:Io,message:e,cause:l}),this[So]=!0,this.url=t,this.requestBodyValues=r,this.statusCode=n,this.responseHeaders=s,this.responseBody=o,this.isRetryable=i,this.data=c}static isInstance(e){return H.hasMarker(e,Eo)}};So=Lc;var xo="AI_EmptyResponseBodyError",Ro=`vercel.ai.error.${xo}`,Vc=Symbol.for(Ro),Co,Bc=class extends H{constructor({message:e="Empty response body"}={}){super({name:xo,message:e}),this[Co]=!0}static isInstance(e){return H.hasMarker(e,Ro)}};Co=Vc;function Ao(e){return e==null?"unknown error":typeof e=="string"?e:e instanceof Error?e.message:JSON.stringify(e)}var Po="AI_InvalidArgumentError",ko=`vercel.ai.error.${Po}`,Hc=Symbol.for(ko),Oo,Mo=class extends H{constructor({message:e,cause:t,argument:r}){super({name:Po,message:e,cause:t}),this[Oo]=!0,this.argument=r}static isInstance(e){return H.hasMarker(e,ko)}};Oo=Hc;var No="AI_InvalidPromptError",$o=`vercel.ai.error.${No}`,Zc=Symbol.for($o),jo,Kc=class extends H{constructor({prompt:e,message:t,cause:r}){super({name:No,message:`Invalid prompt: ${t}`,cause:r}),this[jo]=!0,this.prompt=e}static isInstance(e){return H.hasMarker(e,$o)}};jo=Zc;var Do="AI_InvalidResponseDataError",Uo=`vercel.ai.error.${Do}`,Jc=Symbol.for(Uo),qo,Ke=class extends H{constructor({data:e,message:t=`Invalid response data: ${JSON.stringify(e)}.`}){super({name:Do,message:t}),this[qo]=!0,this.data=e}static isInstance(e){return H.hasMarker(e,Uo)}};qo=Jc;var Fo="AI_JSONParseError",Lo=`vercel.ai.error.${Fo}`,Gc=Symbol.for(Lo),Vo,It=class extends H{constructor({text:e,cause:t}){super({name:Fo,message:`JSON parsing failed: Text: ${e}.
|
|
25
|
-
Error message: ${Ao(t)}`,cause:t}),this[Vo]=!0,this.text=e}static isInstance(e){return H.hasMarker(e,Lo)}};Vo=Gc;var Bo="AI_LoadAPIKeyError",Ho=`vercel.ai.error.${Bo}`,zc=Symbol.for(Ho),Zo,mt=class extends H{constructor({message:e}){super({name:Bo,message:e}),this[Zo]=!0}static isInstance(e){return H.hasMarker(e,Ho)}};Zo=zc;var Ko="AI_NoContentGeneratedError",Jo=`vercel.ai.error.${Ko}`,Wc=Symbol.for(Jo),Go,zo=class extends H{constructor({message:e="No content generated."}={}){super({name:Ko,message:e}),this[Go]=!0}static isInstance(e){return H.hasMarker(e,Jo)}};Go=Wc;var Wo="AI_TypeValidationError",Yo=`vercel.ai.error.${Wo}`,Yc=Symbol.for(Yo),Xo,Xc=class _r extends H{constructor({value:t,cause:r}){super({name:Wo,message:`Type validation failed: Value: ${JSON.stringify(t)}.
|
|
26
|
-
Error message: ${Ao(r)}`,cause:r}),this[Xo]=!0,this.value=t}static isInstance(t){return H.hasMarker(t,Yo)}static wrap({value:t,cause:r}){return _r.isInstance(r)&&r.value===t?r:new _r({value:t,cause:r})}};Xo=Yc;var rt=Xc,Qo="AI_UnsupportedFunctionalityError",es=`vercel.ai.error.${Qo}`,Qc=Symbol.for(es),ts,Ie=class extends H{constructor({functionality:e,message:t=`'${e}' functionality not supported.`}){super({name:Qo,message:t}),this[ts]=!0,this.functionality=e}static isInstance(e){return H.hasMarker(e,es)}};ts=Qc;var Zn=class extends Error{constructor(e,t){super(e),this.name="ParseError",this.type=t.type,this.field=t.field,this.value=t.value,this.line=t.line}};function or(e){}function ed(e){if(typeof e=="function")throw new TypeError("`callbacks` must be an object, got a function instead. Did you mean `{onEvent: fn}`?");const{onEvent:t=or,onError:r=or,onRetry:n=or,onComment:s}=e;let o="",l=!0,i,c="",u="";function d(v){const _=l?v.replace(/^\xEF\xBB\xBF/,""):v,[y,w]=td(`${o}${_}`);for(const b of y)p(b);o=w,l=!1}function p(v){if(v===""){f();return}if(v.startsWith(":")){s&&s(v.slice(v.startsWith(": ")?2:1));return}const _=v.indexOf(":");if(_!==-1){const y=v.slice(0,_),w=v[_+1]===" "?2:1,b=v.slice(_+w);h(y,b,v);return}h(v,"",v)}function h(v,_,y){switch(v){case"event":u=_;break;case"data":c=`${c}${_}
|
|
27
|
-
`;break;case"id":i=_.includes("\0")?void 0:_;break;case"retry":/^\d+$/.test(_)?n(parseInt(_,10)):r(new Zn(`Invalid \`retry\` value: "${_}"`,{type:"invalid-retry",value:_,line:y}));break;default:r(new Zn(`Unknown field "${v.length>20?`${v.slice(0,20)}…`:v}"`,{type:"unknown-field",field:v,value:_,line:y}));break}}function f(){c.length>0&&t({id:i,event:u||void 0,data:c.endsWith(`
|
|
28
|
-
`)?c.slice(0,-1):c}),i=void 0,c="",u=""}function m(v={}){o&&v.consume&&p(o),l=!0,i=void 0,c="",u="",o=""}return{feed:d,reset:m}}function td(e){const t=[];let r="",n=0;for(;n<e.length;){const s=e.indexOf("\r",n),o=e.indexOf(`
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("./models-BuM4eiir.cjs");var Os=typeof globalThis=="object"?globalThis:typeof self=="object"?self:typeof window=="object"?window:typeof global=="object"?global:{},xe="1.9.0",tn=/^(\d+)\.(\d+)\.(\d+)(-(.+))?$/;function Ms(e){var t=new Set([e]),r=new Set,n=e.match(tn);if(!n)return function(){return!1};var s={major:+n[1],minor:+n[2],patch:+n[3],prerelease:n[4]};if(s.prerelease!=null)return function(c){return c===e};function o(i){return r.add(i),!1}function l(i){return t.add(i),!0}return function(c){if(t.has(c))return!0;if(r.has(c))return!1;var u=c.match(tn);if(!u)return o(c);var d={major:+u[1],minor:+u[2],patch:+u[3],prerelease:u[4]};return d.prerelease!=null||s.major!==d.major?o(c):s.major===0?s.minor===d.minor&&s.patch<=d.patch?l(c):o(c):s.minor<=d.minor?l(c):o(c)}}var Ns=Ms(xe),$s=xe.split(".")[0],We=Symbol.for("opentelemetry.js.api."+$s),Ye=Os;function Er(e,t,r,n){var s;n===void 0&&(n=!1);var o=Ye[We]=(s=Ye[We])!==null&&s!==void 0?s:{version:xe};if(!n&&o[e]){var l=new Error("@opentelemetry/api: Attempted duplicate registration of API: "+e);return r.error(l.stack||l.message),!1}if(o.version!==xe){var l=new Error("@opentelemetry/api: Registration of version v"+o.version+" for "+e+" does not match previously registered API v"+xe);return r.error(l.stack||l.message),!1}return o[e]=t,r.debug("@opentelemetry/api: Registered a global for "+e+" v"+xe+"."),!0}function Xe(e){var t,r,n=(t=Ye[We])===null||t===void 0?void 0:t.version;if(!(!n||!Ns(n)))return(r=Ye[We])===null||r===void 0?void 0:r[e]}function Sr(e,t){t.debug("@opentelemetry/api: Unregistering a global for "+e+" v"+xe+".");var r=Ye[We];r&&delete r[e]}var js=function(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var n=r.call(e),s,o=[],l;try{for(;(t===void 0||t-- >0)&&!(s=n.next()).done;)o.push(s.value)}catch(i){l={error:i}}finally{try{s&&!s.done&&(r=n.return)&&r.call(n)}finally{if(l)throw l.error}}return o},Ds=function(e,t,r){if(r||arguments.length===2)for(var n=0,s=t.length,o;n<s;n++)(o||!(n in t))&&(o||(o=Array.prototype.slice.call(t,0,n)),o[n]=t[n]);return e.concat(o||Array.prototype.slice.call(t))},Us=(function(){function e(t){this._namespace=t.namespace||"DiagComponentLogger"}return e.prototype.debug=function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return Be("debug",this._namespace,t)},e.prototype.error=function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return Be("error",this._namespace,t)},e.prototype.info=function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return Be("info",this._namespace,t)},e.prototype.warn=function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return Be("warn",this._namespace,t)},e.prototype.verbose=function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return Be("verbose",this._namespace,t)},e})();function Be(e,t,r){var n=Xe("diag");if(n)return r.unshift(t),n[e].apply(n,Ds([],js(r),!1))}var Q;(function(e){e[e.NONE=0]="NONE",e[e.ERROR=30]="ERROR",e[e.WARN=50]="WARN",e[e.INFO=60]="INFO",e[e.DEBUG=70]="DEBUG",e[e.VERBOSE=80]="VERBOSE",e[e.ALL=9999]="ALL"})(Q||(Q={}));function qs(e,t){e<Q.NONE?e=Q.NONE:e>Q.ALL&&(e=Q.ALL),t=t||{};function r(n,s){var o=t[n];return typeof o=="function"&&e>=s?o.bind(t):function(){}}return{error:r("error",Q.ERROR),warn:r("warn",Q.WARN),info:r("info",Q.INFO),debug:r("debug",Q.DEBUG),verbose:r("verbose",Q.VERBOSE)}}var Fs=function(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var n=r.call(e),s,o=[],l;try{for(;(t===void 0||t-- >0)&&!(s=n.next()).done;)o.push(s.value)}catch(i){l={error:i}}finally{try{s&&!s.done&&(r=n.return)&&r.call(n)}finally{if(l)throw l.error}}return o},Ls=function(e,t,r){if(r||arguments.length===2)for(var n=0,s=t.length,o;n<s;n++)(o||!(n in t))&&(o||(o=Array.prototype.slice.call(t,0,n)),o[n]=t[n]);return e.concat(o||Array.prototype.slice.call(t))},Vs="diag",vt=(function(){function e(){function t(s){return function(){for(var o=[],l=0;l<arguments.length;l++)o[l]=arguments[l];var i=Xe("diag");if(i)return i[s].apply(i,Ls([],Fs(o),!1))}}var r=this,n=function(s,o){var l,i,c;if(o===void 0&&(o={logLevel:Q.INFO}),s===r){var u=new Error("Cannot use diag as the logger for itself. Please use a DiagLogger implementation like ConsoleDiagLogger or a custom implementation");return r.error((l=u.stack)!==null&&l!==void 0?l:u.message),!1}typeof o=="number"&&(o={logLevel:o});var d=Xe("diag"),p=qs((i=o.logLevel)!==null&&i!==void 0?i:Q.INFO,s);if(d&&!o.suppressOverrideMessage){var h=(c=new Error().stack)!==null&&c!==void 0?c:"<failed to generate stacktrace>";d.warn("Current logger will be overwritten from "+h),p.warn("Current logger will overwrite one already registered from "+h)}return Er("diag",p,r,!0)};r.setLogger=n,r.disable=function(){Sr(Vs,r)},r.createComponentLogger=function(s){return new Us(s)},r.verbose=t("verbose"),r.debug=t("debug"),r.info=t("info"),r.warn=t("warn"),r.error=t("error")}return e.instance=function(){return this._instance||(this._instance=new e),this._instance},e})();function Hs(e){return Symbol.for(e)}var Bs=(function(){function e(t){var r=this;r._currentContext=t?new Map(t):new Map,r.getValue=function(n){return r._currentContext.get(n)},r.setValue=function(n,s){var o=new e(r._currentContext);return o._currentContext.set(n,s),o},r.deleteValue=function(n){var s=new e(r._currentContext);return s._currentContext.delete(n),s}}return e})(),Zs=new Bs,Ks=function(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var n=r.call(e),s,o=[],l;try{for(;(t===void 0||t-- >0)&&!(s=n.next()).done;)o.push(s.value)}catch(i){l={error:i}}finally{try{s&&!s.done&&(r=n.return)&&r.call(n)}finally{if(l)throw l.error}}return o},Gs=function(e,t,r){if(r||arguments.length===2)for(var n=0,s=t.length,o;n<s;n++)(o||!(n in t))&&(o||(o=Array.prototype.slice.call(t,0,n)),o[n]=t[n]);return e.concat(o||Array.prototype.slice.call(t))},Js=(function(){function e(){}return e.prototype.active=function(){return Zs},e.prototype.with=function(t,r,n){for(var s=[],o=3;o<arguments.length;o++)s[o-3]=arguments[o];return r.call.apply(r,Gs([n],Ks(s),!1))},e.prototype.bind=function(t,r){return r},e.prototype.enable=function(){return this},e.prototype.disable=function(){return this},e})(),zs=function(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var n=r.call(e),s,o=[],l;try{for(;(t===void 0||t-- >0)&&!(s=n.next()).done;)o.push(s.value)}catch(i){l={error:i}}finally{try{s&&!s.done&&(r=n.return)&&r.call(n)}finally{if(l)throw l.error}}return o},Ws=function(e,t,r){if(r||arguments.length===2)for(var n=0,s=t.length,o;n<s;n++)(o||!(n in t))&&(o||(o=Array.prototype.slice.call(t,0,n)),o[n]=t[n]);return e.concat(o||Array.prototype.slice.call(t))},Gt="context",Ys=new Js,ra=(function(){function e(){}return e.getInstance=function(){return this._instance||(this._instance=new e),this._instance},e.prototype.setGlobalContextManager=function(t){return Er(Gt,t,vt.instance())},e.prototype.active=function(){return this._getContextManager().active()},e.prototype.with=function(t,r,n){for(var s,o=[],l=3;l<arguments.length;l++)o[l-3]=arguments[l];return(s=this._getContextManager()).with.apply(s,Ws([t,r,n],zs(o),!1))},e.prototype.bind=function(t,r){return this._getContextManager().bind(t,r)},e.prototype._getContextManager=function(){return Xe(Gt)||Ys},e.prototype.disable=function(){this._getContextManager().disable(),Sr(Gt,vt.instance())},e})(),ur;(function(e){e[e.NONE=0]="NONE",e[e.SAMPLED=1]="SAMPLED"})(ur||(ur={}));var na="0000000000000000",aa="00000000000000000000000000000000",Xs={traceId:aa,spanId:na,traceFlags:ur.NONE},Je=(function(){function e(t){t===void 0&&(t=Xs),this._spanContext=t}return e.prototype.spanContext=function(){return this._spanContext},e.prototype.setAttribute=function(t,r){return this},e.prototype.setAttributes=function(t){return this},e.prototype.addEvent=function(t,r){return this},e.prototype.addLink=function(t){return this},e.prototype.addLinks=function(t){return this},e.prototype.setStatus=function(t){return this},e.prototype.updateName=function(t){return this},e.prototype.end=function(t){},e.prototype.isRecording=function(){return!1},e.prototype.recordException=function(t,r){},e})(),xr=Hs("OpenTelemetry Context Key SPAN");function Rr(e){return e.getValue(xr)||void 0}function Qs(){return Rr(ra.getInstance().active())}function Ar(e,t){return e.setValue(xr,t)}function ei(e){return e.deleteValue(xr)}function ti(e,t){return Ar(e,new Je(t))}function oa(e){var t;return(t=Rr(e))===null||t===void 0?void 0:t.spanContext()}var ri=/^([0-9a-f]{32})$/i,ni=/^[0-9a-f]{16}$/i;function ai(e){return ri.test(e)&&e!==aa}function oi(e){return ni.test(e)&&e!==na}function sa(e){return ai(e.traceId)&&oi(e.spanId)}function si(e){return new Je(e)}var Jt=ra.getInstance(),ia=(function(){function e(){}return e.prototype.startSpan=function(t,r,n){n===void 0&&(n=Jt.active());var s=!!r?.root;if(s)return new Je;var o=n&&oa(n);return ii(o)&&sa(o)?new Je(o):new Je},e.prototype.startActiveSpan=function(t,r,n,s){var o,l,i;if(!(arguments.length<2)){arguments.length===2?i=r:arguments.length===3?(o=r,i=n):(o=r,l=n,i=s);var c=l??Jt.active(),u=this.startSpan(t,o,c),d=Ar(c,u);return Jt.with(d,i,void 0,u)}},e})();function ii(e){return typeof e=="object"&&typeof e.spanId=="string"&&typeof e.traceId=="string"&&typeof e.traceFlags=="number"}var li=new ia,ui=(function(){function e(t,r,n,s){this._provider=t,this.name=r,this.version=n,this.options=s}return e.prototype.startSpan=function(t,r,n){return this._getTracer().startSpan(t,r,n)},e.prototype.startActiveSpan=function(t,r,n,s){var o=this._getTracer();return Reflect.apply(o.startActiveSpan,o,arguments)},e.prototype._getTracer=function(){if(this._delegate)return this._delegate;var t=this._provider.getDelegateTracer(this.name,this.version,this.options);return t?(this._delegate=t,this._delegate):li},e})(),ci=(function(){function e(){}return e.prototype.getTracer=function(t,r,n){return new ia},e})(),di=new ci,rn=(function(){function e(){}return e.prototype.getTracer=function(t,r,n){var s;return(s=this.getDelegateTracer(t,r,n))!==null&&s!==void 0?s:new ui(this,t,r,n)},e.prototype.getDelegate=function(){var t;return(t=this._delegate)!==null&&t!==void 0?t:di},e.prototype.setDelegate=function(t){this._delegate=t},e.prototype.getDelegateTracer=function(t,r,n){var s;return(s=this._delegate)===null||s===void 0?void 0:s.getTracer(t,r,n)},e})(),yt;(function(e){e[e.UNSET=0]="UNSET",e[e.OK=1]="OK",e[e.ERROR=2]="ERROR"})(yt||(yt={}));var zt="trace",pi=(function(){function e(){this._proxyTracerProvider=new rn,this.wrapSpanContext=si,this.isSpanContextValid=sa,this.deleteSpan=ei,this.getSpan=Rr,this.getActiveSpan=Qs,this.getSpanContext=oa,this.setSpan=Ar,this.setSpanContext=ti}return e.getInstance=function(){return this._instance||(this._instance=new e),this._instance},e.prototype.setGlobalTracerProvider=function(t){var r=Er(zt,this._proxyTracerProvider,vt.instance());return r&&this._proxyTracerProvider.setDelegate(t),r},e.prototype.getTracerProvider=function(){return Xe(zt)||this._proxyTracerProvider},e.prototype.getTracer=function(t,r){return this.getTracerProvider().getTracer(t,r)},e.prototype.disable=function(){Sr(zt,vt.instance()),this._proxyTracerProvider=new rn},e})(),fi=pi.getInstance();let Cr;Cr=globalThis.crypto;async function mi(e){return(await Cr).getRandomValues(new Uint8Array(e))}async function hi(e){const t="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-._~",r=Math.pow(2,8)-Math.pow(2,8)%t.length;let n="";for(;n.length<e;){const s=await mi(e-n.length);for(const o of s)o<r&&(n+=t[o%t.length])}return n}async function gi(e){return await hi(e)}async function vi(e){const t=await(await Cr).subtle.digest("SHA-256",new TextEncoder().encode(e));return btoa(String.fromCharCode(...new Uint8Array(t))).replace(/\//g,"_").replace(/\+/g,"-").replace(/=/g,"")}async function yi(e){if(e||(e=43),e<43||e>128)throw`Expected a length between 43 and 128. Received ${e}.`;const t=await gi(e),r=await vi(t);return{code_verifier:t,code_challenge:r}}var _i="AI_MCPClientError",la=`vercel.ai.error.${_i}`,bi=Symbol.for(la),nn,an,j=class extends(an=a.AISDKError,nn=bi,an){constructor({name:e="MCPClientError",message:t,cause:r,data:n,code:s}){super({name:e,message:t,cause:r}),this[nn]=!0,this.data=n,this.code=s}static isInstance(e){return a.AISDKError.hasMarker(e,la)}},De="2025-06-18",wi=[De,"2025-03-26","2024-11-05"],Ti=a.looseObject({name:a.string(),version:a.string()}),kt=a.looseObject({_meta:a.optional(a.object({}).loose())}),be=kt,ua=a.object({method:a.string(),params:a.optional(kt)}),ca=a.object({applyDefaults:a.optional(a.boolean())}).loose(),Ii=a.looseObject({experimental:a.optional(a.object({}).loose()),logging:a.optional(a.object({}).loose()),prompts:a.optional(a.looseObject({listChanged:a.optional(a.boolean())})),resources:a.optional(a.looseObject({subscribe:a.optional(a.boolean()),listChanged:a.optional(a.boolean())})),tools:a.optional(a.looseObject({listChanged:a.optional(a.boolean())})),elicitation:a.optional(ca)});a.object({elicitation:a.optional(ca)}).loose();var Ei=be.extend({protocolVersion:a.string(),capabilities:Ii,serverInfo:Ti,instructions:a.optional(a.string())}),Pr=be.extend({nextCursor:a.optional(a.string())}),Si=a.object({name:a.string(),description:a.optional(a.string()),inputSchema:a.object({type:a.literal("object"),properties:a.optional(a.object({}).loose())}).loose()}).loose(),xi=Pr.extend({tools:a.array(Si)}),da=a.object({type:a.literal("text"),text:a.string()}).loose(),pa=a.object({type:a.literal("image"),data:a.base64(),mimeType:a.string()}).loose(),Ri=a.object({uri:a.string(),name:a.string(),title:a.optional(a.string()),description:a.optional(a.string()),mimeType:a.optional(a.string()),size:a.optional(a.number())}).loose(),Ai=Pr.extend({resources:a.array(Ri)}),fa=a.object({uri:a.string(),name:a.optional(a.string()),title:a.optional(a.string()),mimeType:a.optional(a.string())}).loose(),ma=fa.extend({text:a.string()}),ha=fa.extend({blob:a.base64()}),ga=a.object({type:a.literal("resource"),resource:a.union([ma,ha])}).loose(),Ci=be.extend({content:a.array(a.union([da,pa,ga])),isError:a.boolean().default(!1).optional()}).or(be.extend({toolResult:a.unknown()})),Pi=a.object({uriTemplate:a.string(),name:a.string(),title:a.optional(a.string()),description:a.optional(a.string()),mimeType:a.optional(a.string())}).loose(),ki=be.extend({resourceTemplates:a.array(Pi)}),Oi=be.extend({contents:a.array(a.union([ma,ha]))}),Mi=a.object({name:a.string(),description:a.optional(a.string()),required:a.optional(a.boolean())}).loose(),Ni=a.object({name:a.string(),title:a.optional(a.string()),description:a.optional(a.string()),arguments:a.optional(a.array(Mi))}).loose(),$i=Pr.extend({prompts:a.array(Ni)}),ji=a.object({role:a.union([a.literal("user"),a.literal("assistant")]),content:a.union([da,pa,ga])}).loose(),Di=be.extend({description:a.optional(a.string()),messages:a.array(ji)}),Ui=kt.extend({message:a.string(),requestedSchema:a.unknown()}),on=ua.extend({method:a.literal("elicitation/create"),params:Ui}),qi=be.extend({action:a.union([a.literal("accept"),a.literal("decline"),a.literal("cancel")]),content:a.optional(a.record(a.string(),a.unknown()))}),Ot="2.0",Fi=a.object({jsonrpc:a.literal(Ot),id:a.union([a.string(),a.number().int()])}).merge(ua).strict(),Li=a.object({jsonrpc:a.literal(Ot),id:a.union([a.string(),a.number().int()]),result:be}).strict(),Vi=a.object({jsonrpc:a.literal(Ot),id:a.union([a.string(),a.number().int()]),error:a.object({code:a.number().int(),message:a.string(),data:a.optional(a.unknown())})}).strict(),Hi=a.object({jsonrpc:a.literal(Ot)}).merge(a.object({method:a.string(),params:a.optional(kt)})).strict(),Ge=a.union([Fi,Hi,Li,Vi]),va=typeof __PACKAGE_VERSION__<"u"?__PACKAGE_VERSION__:"0.0.0-test",ya=a.object({access_token:a.string(),id_token:a.string().optional(),token_type:a.string(),expires_in:a.number().optional(),scope:a.string().optional(),refresh_token:a.string().optional()}).strip(),X=a.string().url().superRefine((e,t)=>{if(!URL.canParse(e))return t.addIssue({code:a.ZodIssueCode.custom,message:"URL must be parseable",fatal:!0}),a.NEVER}).refine(e=>{const t=new URL(e);return t.protocol!=="javascript:"&&t.protocol!=="data:"&&t.protocol!=="vbscript:"},{message:"URL cannot use javascript:, data:, or vbscript: scheme"}),Bi=a.object({resource:a.string().url(),authorization_servers:a.array(X).optional(),jwks_uri:a.string().url().optional(),scopes_supported:a.array(a.string()).optional(),bearer_methods_supported:a.array(a.string()).optional(),resource_signing_alg_values_supported:a.array(a.string()).optional(),resource_name:a.string().optional(),resource_documentation:a.string().optional(),resource_policy_uri:a.string().url().optional(),resource_tos_uri:a.string().url().optional(),tls_client_certificate_bound_access_tokens:a.boolean().optional(),authorization_details_types_supported:a.array(a.string()).optional(),dpop_signing_alg_values_supported:a.array(a.string()).optional(),dpop_bound_access_tokens_required:a.boolean().optional()}).passthrough(),_a=a.object({issuer:a.string(),authorization_endpoint:X,token_endpoint:X,registration_endpoint:X.optional(),scopes_supported:a.array(a.string()).optional(),response_types_supported:a.array(a.string()),grant_types_supported:a.array(a.string()).optional(),code_challenge_methods_supported:a.array(a.string()),token_endpoint_auth_methods_supported:a.array(a.string()).optional(),token_endpoint_auth_signing_alg_values_supported:a.array(a.string()).optional()}).passthrough(),Zi=a.object({issuer:a.string(),authorization_endpoint:X,token_endpoint:X,userinfo_endpoint:X.optional(),jwks_uri:X,registration_endpoint:X.optional(),scopes_supported:a.array(a.string()).optional(),response_types_supported:a.array(a.string()),grant_types_supported:a.array(a.string()).optional(),subject_types_supported:a.array(a.string()),id_token_signing_alg_values_supported:a.array(a.string()),claims_supported:a.array(a.string()).optional(),token_endpoint_auth_methods_supported:a.array(a.string()).optional()}).passthrough(),Ki=Zi.merge(_a.pick({code_challenge_methods_supported:!0})),Gi=a.object({client_id:a.string(),client_secret:a.string().optional(),client_id_issued_at:a.number().optional(),client_secret_expires_at:a.number().optional()}).strip(),Ji=a.object({redirect_uris:a.array(X),token_endpoint_auth_method:a.string().optional(),grant_types:a.array(a.string()).optional(),response_types:a.array(a.string()).optional(),client_name:a.string().optional(),client_uri:X.optional(),logo_uri:X.optional(),scope:a.string().optional(),contacts:a.array(a.string()).optional(),tos_uri:X.optional(),policy_uri:a.string().optional(),jwks_uri:X.optional(),jwks:a.any().optional(),software_id:a.string().optional(),software_version:a.string().optional(),software_statement:a.string().optional()}).strip(),zi=a.object({error:a.string(),error_description:a.string().optional(),error_uri:a.string().optional()}),Wi=Ji.merge(Gi),Yi="AI_MCPClientOAuthError",ba=`vercel.ai.error.${Yi}`,Xi=Symbol.for(ba),sn,ln,st=class extends(ln=a.AISDKError,sn=Xi,ln){constructor({name:e="MCPClientOAuthError",message:t,cause:r}){super({name:e,message:t,cause:r}),this[sn]=!0}static isInstance(e){return a.AISDKError.hasMarker(e,ba)}},je=class extends st{};je.errorCode="server_error";var _t=class extends st{};_t.errorCode="invalid_client";var bt=class extends st{};bt.errorCode="invalid_grant";var wt=class extends st{};wt.errorCode="unauthorized_client";var Qi={[je.errorCode]:je,[_t.errorCode]:_t,[bt.errorCode]:bt,[wt.errorCode]:wt};function el(e){const t=typeof e=="string"?new URL(e):new URL(e.href);return t.hash="",t}function tl({requestedResource:e,configuredResource:t}){const r=typeof e=="string"?new URL(e):new URL(e.href),n=typeof t=="string"?new URL(t):new URL(t.href);if(r.origin!==n.origin||r.pathname.length<n.pathname.length)return!1;const s=r.pathname.endsWith("/")?r.pathname:r.pathname+"/",o=n.pathname.endsWith("/")?n.pathname:n.pathname+"/";return s.startsWith(o)}var Tt=class extends Error{constructor(e="Unauthorized"){super(e),this.name="UnauthorizedError"}};function It(e){var t;const r=(t=e.headers.get("www-authenticate"))!=null?t:e.headers.get("WWW-Authenticate");if(!r)return;const[n,s]=r.split(" ");if(n.toLowerCase()!=="bearer"||!s)return;const o=/resource_metadata="([^"]*)"/,l=r.match(o);if(l)try{return new URL(l[1])}catch{return}}function rl(e,t="",r={}){return t.endsWith("/")&&(t=t.slice(0,-1)),r.prependPathname?`${t}/.well-known/${e}`:`/.well-known/${e}${t}`}async function kr(e,t,r=fetch){try{return await r(e,{headers:t})}catch(n){if(n instanceof TypeError)return t?kr(e,void 0,r):void 0;throw n}}async function un(e,t,r=fetch){return await kr(e,{"MCP-Protocol-Version":t},r)}function nl(e,t){return!e||e.status>=400&&e.status<500&&t!=="/"}async function al(e,t,r,n){var s,o;const l=new URL(e),i=(s=n?.protocolVersion)!=null?s:De;let c;if(n?.metadataUrl)c=new URL(n.metadataUrl);else{const d=rl(t,l.pathname);c=new URL(d,(o=n?.metadataServerUrl)!=null?o:l),c.search=l.search}let u=await un(c,i,r);if(!n?.metadataUrl&&nl(u,l.pathname)){const d=new URL(`/.well-known/${t}`,l);u=await un(d,i,r)}return u}async function ol(e,t,r=fetch){const n=await al(e,"oauth-protected-resource",r,{protocolVersion:t?.protocolVersion,metadataUrl:t?.resourceMetadataUrl});if(!n||n.status===404)throw new Error("Resource server does not implement OAuth 2.0 Protected Resource Metadata.");if(!n.ok)throw new Error(`HTTP ${n.status} trying to load well-known OAuth protected resource metadata.`);return Bi.parse(await n.json())}function sl(e){const t=typeof e=="string"?new URL(e):e,r=t.pathname!=="/",n=[];if(!r)return n.push({url:new URL("/.well-known/oauth-authorization-server",t.origin),type:"oauth"}),n.push({url:new URL("/.well-known/openid-configuration",t.origin),type:"oidc"}),n;let s=t.pathname;return s.endsWith("/")&&(s=s.slice(0,-1)),n.push({url:new URL(`/.well-known/oauth-authorization-server${s}`,t.origin),type:"oauth"}),n.push({url:new URL("/.well-known/oauth-authorization-server",t.origin),type:"oauth"}),n.push({url:new URL(`/.well-known/openid-configuration${s}`,t.origin),type:"oidc"}),n.push({url:new URL(`${s}/.well-known/openid-configuration`,t.origin),type:"oidc"}),n}async function il(e,{fetchFn:t=fetch,protocolVersion:r=De}={}){var n;const s={"MCP-Protocol-Version":r},o=sl(e);for(const{url:l,type:i}of o){const c=await kr(l,s,t);if(c){if(!c.ok){if(c.status>=400&&c.status<500)continue;throw new Error(`HTTP ${c.status} trying to load ${i==="oauth"?"OAuth":"OpenID provider"} metadata from ${l}`)}if(i==="oauth")return _a.parse(await c.json());{const u=Ki.parse(await c.json());if(!((n=u.code_challenge_methods_supported)!=null&&n.includes("S256")))throw new Error(`Incompatible OIDC provider at ${l}: does not support S256 code challenge method required by MCP specification`);return u}}}}async function ll(e,{metadata:t,clientInformation:r,redirectUrl:n,scope:s,state:o,resource:l}){const i="code",c="S256";let u;if(t){if(u=new URL(t.authorization_endpoint),!t.response_types_supported.includes(i))throw new Error(`Incompatible auth server: does not support response type ${i}`);if(!t.code_challenge_methods_supported||!t.code_challenge_methods_supported.includes(c))throw new Error(`Incompatible auth server: does not support code challenge method ${c}`)}else u=new URL("/authorize",e);const d=await yi(),p=d.code_verifier,h=d.code_challenge;return u.searchParams.set("response_type",i),u.searchParams.set("client_id",r.client_id),u.searchParams.set("code_challenge",h),u.searchParams.set("code_challenge_method",c),u.searchParams.set("redirect_uri",String(n)),o&&u.searchParams.set("state",o),s&&u.searchParams.set("scope",s),s?.includes("offline_access")&&u.searchParams.append("prompt","consent"),l&&u.searchParams.set("resource",l.href),{authorizationUrl:u,codeVerifier:p}}function wa(e,t){const r=e.client_secret!==void 0;return t.length===0?r?"client_secret_post":"none":r&&t.includes("client_secret_basic")?"client_secret_basic":r&&t.includes("client_secret_post")?"client_secret_post":t.includes("none")?"none":r?"client_secret_post":"none"}function Ta(e,t,r,n){const{client_id:s,client_secret:o}=t;switch(e){case"client_secret_basic":ul(s,o,r);return;case"client_secret_post":cl(s,o,n);return;case"none":dl(s,n);return;default:throw new Error(`Unsupported client authentication method: ${e}`)}}function ul(e,t,r){if(!t)throw new Error("client_secret_basic authentication requires a client_secret");const n=btoa(`${e}:${t}`);r.set("Authorization",`Basic ${n}`)}function cl(e,t,r){r.set("client_id",e),t&&r.set("client_secret",t)}function dl(e,t){t.set("client_id",e)}async function Or(e){const t=e instanceof Response?e.status:void 0,r=e instanceof Response?await e.text():e;try{const n=zi.parse(JSON.parse(r)),{error:s,error_description:o,error_uri:l}=n,i=Qi[s]||je;return new i({message:o||"",cause:l})}catch(n){const s=`${t?`HTTP ${t}: `:""}Invalid OAuth error response: ${n}. Raw body: ${r}`;return new je({message:s})}}async function pl(e,{metadata:t,clientInformation:r,authorizationCode:n,codeVerifier:s,redirectUri:o,resource:l,addClientAuthentication:i,fetchFn:c}){var u;const d="authorization_code",p=t?.token_endpoint?new URL(t.token_endpoint):new URL("/token",e);if(t?.grant_types_supported&&!t.grant_types_supported.includes(d))throw new Error(`Incompatible auth server: does not support grant type ${d}`);const h=new Headers({"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"}),f=new URLSearchParams({grant_type:d,code:n,code_verifier:s,redirect_uri:String(o)});if(i)i(h,f,e,t);else{const v=(u=t?.token_endpoint_auth_methods_supported)!=null?u:[],_=wa(r,v);Ta(_,r,h,f)}l&&f.set("resource",l.href);const m=await(c??fetch)(p,{method:"POST",headers:h,body:f});if(!m.ok)throw await Or(m);return ya.parse(await m.json())}async function fl(e,{metadata:t,clientInformation:r,refreshToken:n,resource:s,addClientAuthentication:o,fetchFn:l}){var i;const c="refresh_token";let u;if(t){if(u=new URL(t.token_endpoint),t.grant_types_supported&&!t.grant_types_supported.includes(c))throw new Error(`Incompatible auth server: does not support grant type ${c}`)}else u=new URL("/token",e);const d=new Headers({"Content-Type":"application/x-www-form-urlencoded"}),p=new URLSearchParams({grant_type:c,refresh_token:n});if(o)o(d,p,e,t);else{const f=(i=t?.token_endpoint_auth_methods_supported)!=null?i:[],m=wa(r,f);Ta(m,r,d,p)}s&&p.set("resource",s.href);const h=await(l??fetch)(u,{method:"POST",headers:d,body:p});if(!h.ok)throw await Or(h);return ya.parse({refresh_token:n,...await h.json()})}async function ml(e,{metadata:t,clientMetadata:r,fetchFn:n}){let s;if(t){if(!t.registration_endpoint)throw new Error("Incompatible auth server: does not support dynamic client registration");s=new URL(t.registration_endpoint)}else s=new URL("/register",e);const o=await(n??fetch)(s,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(r)});if(!o.ok)throw await Or(o);return Wi.parse(await o.json())}async function Et(e,t){var r,n;try{return await Wt(e,t)}catch(s){if(s instanceof _t||s instanceof wt)return await((r=e.invalidateCredentials)==null?void 0:r.call(e,"all")),await Wt(e,t);if(s instanceof bt)return await((n=e.invalidateCredentials)==null?void 0:n.call(e,"tokens")),await Wt(e,t);throw s}}async function hl(e,t,r){const n=el(e);if(t.validateResourceURL)return await t.validateResourceURL(n,r?.resource);if(r){if(!tl({requestedResource:n,configuredResource:r.resource}))throw new Error(`Protected resource ${r.resource} does not match expected ${n} (or origin)`);return new URL(r.resource)}}async function Wt(e,{serverUrl:t,authorizationCode:r,scope:n,resourceMetadataUrl:s,fetchFn:o}){let l,i;try{l=await ol(t,{resourceMetadataUrl:s},o),l.authorization_servers&&l.authorization_servers.length>0&&(i=l.authorization_servers[0])}catch{}i||(i=t);const c=await hl(t,e,l),u=await il(i,{fetchFn:o});let d=await Promise.resolve(e.clientInformation());if(!d){if(r!==void 0)throw new Error("Existing OAuth client information is required when exchanging an authorization code");if(!e.saveClientInformation)throw new Error("OAuth client information must be saveable for dynamic registration");const v=await ml(i,{metadata:u,clientMetadata:e.clientMetadata,fetchFn:o});await e.saveClientInformation(v),d=v}if(r!==void 0){const v=await e.codeVerifier(),_=await pl(i,{metadata:u,clientInformation:d,authorizationCode:r,codeVerifier:v,redirectUri:e.redirectUrl,resource:c,addClientAuthentication:e.addClientAuthentication,fetchFn:o});return await e.saveTokens(_),"AUTHORIZED"}const p=await e.tokens();if(p?.refresh_token)try{const v=await fl(i,{metadata:u,clientInformation:d,refreshToken:p.refresh_token,resource:c,addClientAuthentication:e.addClientAuthentication,fetchFn:o});return await e.saveTokens(v),"AUTHORIZED"}catch(v){if(!(!(v instanceof st)||v instanceof je))throw v}const h=e.state?await e.state():void 0,{authorizationUrl:f,codeVerifier:m}=await ll(i,{metadata:u,clientInformation:d,state:h,redirectUrl:e.redirectUrl,scope:n||e.clientMetadata.scope,resource:c});return await e.saveCodeVerifier(m),await e.redirectToAuthorization(f),"REDIRECT"}var gl=class{constructor({url:e,headers:t,authProvider:r}){this.connected=!1,this.url=new URL(e),this.headers=t,this.authProvider=r}async commonHeaders(e){const t={...this.headers,...e,"mcp-protocol-version":De};if(this.authProvider){const r=await this.authProvider.tokens();r?.access_token&&(t.Authorization=`Bearer ${r.access_token}`)}return a.withUserAgentSuffix(t,`ai-sdk/${va}`,a.getRuntimeEnvironmentUserAgent())}async start(){return new Promise((e,t)=>{if(this.connected)return e();this.abortController=new AbortController;const r=async(n=!1)=>{var s,o,l,i,c;try{const u=await this.commonHeaders({Accept:"text/event-stream"}),d=await fetch(this.url.href,{headers:u,signal:(s=this.abortController)==null?void 0:s.signal});if(d.status===401&&this.authProvider&&!n){this.resourceMetadataUrl=It(d);try{if(await Et(this.authProvider,{serverUrl:this.url,resourceMetadataUrl:this.resourceMetadataUrl})!=="AUTHORIZED"){const v=new Tt;return(o=this.onerror)==null||o.call(this,v),t(v)}}catch(m){return(l=this.onerror)==null||l.call(this,m),t(m)}return r(!0)}if(!d.ok||!d.body){let m=`MCP SSE Transport Error: ${d.status} ${d.statusText}`;d.status===405&&(m+=". This server does not support SSE transport. Try using `http` transport instead");const v=new j({message:m});return(i=this.onerror)==null||i.call(this,v),t(v)}const h=d.body.pipeThrough(new TextDecoderStream).pipeThrough(new a.EventSourceParserStream).getReader(),f=async()=>{var m,v,_;try{for(;;){const{done:y,value:w}=await h.read();if(y){if(this.connected)throw this.connected=!1,new j({message:"MCP SSE Transport Error: Connection closed unexpectedly"});return}const{event:b,data:g}=w;if(b==="endpoint"){if(this.endpoint=new URL(g,this.url),this.endpoint.origin!==this.url.origin)throw new j({message:`MCP SSE Transport Error: Endpoint origin does not match connection origin: ${this.endpoint.origin}`});this.connected=!0,e()}else if(b==="message")try{const E=Ge.parse(JSON.parse(g));(m=this.onmessage)==null||m.call(this,E)}catch(E){const S=new j({message:"MCP SSE Transport Error: Failed to parse message",cause:E});(v=this.onerror)==null||v.call(this,S)}}}catch(y){if(y instanceof Error&&y.name==="AbortError")return;(_=this.onerror)==null||_.call(this,y),t(y)}};this.sseConnection={close:()=>h.cancel()},f()}catch(u){if(u instanceof Error&&u.name==="AbortError")return;(c=this.onerror)==null||c.call(this,u),t(u)}};r()})}async close(){var e,t,r;this.connected=!1,(e=this.sseConnection)==null||e.close(),(t=this.abortController)==null||t.abort(),(r=this.onclose)==null||r.call(this)}async send(e){if(!this.endpoint||!this.connected)throw new j({message:"MCP SSE Transport Error: Not connected"});const t=this.endpoint,r=async(n=!1)=>{var s,o,l,i,c;try{const d={method:"POST",headers:await this.commonHeaders({"Content-Type":"application/json"}),body:JSON.stringify(e),signal:(s=this.abortController)==null?void 0:s.signal},p=await fetch(t,d);if(p.status===401&&this.authProvider&&!n){this.resourceMetadataUrl=It(p);try{if(await Et(this.authProvider,{serverUrl:this.url,resourceMetadataUrl:this.resourceMetadataUrl})!=="AUTHORIZED"){const f=new Tt;(o=this.onerror)==null||o.call(this,f);return}}catch(h){(l=this.onerror)==null||l.call(this,h);return}return r(!0)}if(!p.ok){const h=await p.text().catch(()=>null),f=new j({message:`MCP SSE Transport Error: POSTing to endpoint (HTTP ${p.status}): ${h}`});(i=this.onerror)==null||i.call(this,f);return}}catch(u){(c=this.onerror)==null||c.call(this,u);return}};await r()}},vl=class{constructor({url:e,headers:t,authProvider:r}){this.inboundReconnectAttempts=0,this.reconnectionOptions={initialReconnectionDelay:1e3,maxReconnectionDelay:3e4,reconnectionDelayGrowFactor:1.5,maxRetries:2},this.url=new URL(e),this.headers=t,this.authProvider=r}async commonHeaders(e){const t={...this.headers,...e,"mcp-protocol-version":De};if(this.sessionId&&(t["mcp-session-id"]=this.sessionId),this.authProvider){const r=await this.authProvider.tokens();r?.access_token&&(t.Authorization=`Bearer ${r.access_token}`)}return a.withUserAgentSuffix(t,`ai-sdk/${va}`,a.getRuntimeEnvironmentUserAgent())}async start(){if(this.abortController)throw new j({message:"MCP HTTP Transport Error: Transport already started. Note: client.connect() calls start() automatically."});this.abortController=new AbortController,this.openInboundSse()}async close(){var e,t,r;(e=this.inboundSseConnection)==null||e.close();try{if(this.sessionId&&this.abortController&&!this.abortController.signal.aborted){const n=await this.commonHeaders({});await fetch(this.url,{method:"DELETE",headers:n,signal:this.abortController.signal}).catch(()=>{})}}catch{}(t=this.abortController)==null||t.abort(),(r=this.onclose)==null||r.call(this)}async send(e){const t=async(r=!1)=>{var n,s,o,l,i,c,u;try{const p={method:"POST",headers:await this.commonHeaders({"Content-Type":"application/json",Accept:"application/json, text/event-stream"}),body:JSON.stringify(e),signal:(n=this.abortController)==null?void 0:n.signal},h=await fetch(this.url,p),f=h.headers.get("mcp-session-id");if(f&&(this.sessionId=f),h.status===401&&this.authProvider&&!r){this.resourceMetadataUrl=It(h);try{if(await Et(this.authProvider,{serverUrl:this.url,resourceMetadataUrl:this.resourceMetadataUrl})!=="AUTHORIZED")throw new Tt}catch(_){throw(s=this.onerror)==null||s.call(this,_),_}return t(!0)}if(h.status===202){this.inboundSseConnection||this.openInboundSse();return}if(!h.ok){const _=await h.text().catch(()=>null);let y=`MCP HTTP Transport Error: POSTing to endpoint (HTTP ${h.status}): ${_}`;h.status===404&&(y+=". This server does not support HTTP transport. Try using `sse` transport instead");const w=new j({message:y});throw(o=this.onerror)==null||o.call(this,w),w}const m=h.headers.get("content-type")||"";if(m.includes("application/json")){const _=await h.json(),y=Array.isArray(_)?_.map(w=>Ge.parse(w)):[Ge.parse(_)];for(const w of y)(l=this.onmessage)==null||l.call(this,w);return}if(m.includes("text/event-stream")){if(!h.body){const b=new j({message:"MCP HTTP Transport Error: text/event-stream response without body"});throw(i=this.onerror)==null||i.call(this,b),b}const y=h.body.pipeThrough(new TextDecoderStream).pipeThrough(new a.EventSourceParserStream).getReader();(async()=>{var b,g,E;try{for(;;){const{done:S,value:I}=await y.read();if(S)return;const{event:x,data:P}=I;if(x==="message")try{const F=Ge.parse(JSON.parse(P));(b=this.onmessage)==null||b.call(this,F)}catch(F){const K=new j({message:"MCP HTTP Transport Error: Failed to parse message",cause:F});(g=this.onerror)==null||g.call(this,K)}}}catch(S){if(S instanceof Error&&S.name==="AbortError")return;(E=this.onerror)==null||E.call(this,S)}})();return}const v=new j({message:`MCP HTTP Transport Error: Unexpected content type: ${m}`});throw(c=this.onerror)==null||c.call(this,v),v}catch(d){throw(u=this.onerror)==null||u.call(this,d),d}};await t()}getNextReconnectionDelay(e){const{initialReconnectionDelay:t,reconnectionDelayGrowFactor:r,maxReconnectionDelay:n}=this.reconnectionOptions;return Math.min(t*Math.pow(r,e),n)}scheduleInboundSseReconnection(){var e;const{maxRetries:t}=this.reconnectionOptions;if(t>0&&this.inboundReconnectAttempts>=t){(e=this.onerror)==null||e.call(this,new j({message:`MCP HTTP Transport Error: Maximum reconnection attempts (${t}) exceeded.`}));return}const r=this.getNextReconnectionDelay(this.inboundReconnectAttempts);this.inboundReconnectAttempts+=1,setTimeout(async()=>{var n;(n=this.abortController)!=null&&n.signal.aborted||await this.openInboundSse(!1,this.lastInboundEventId)},r)}async openInboundSse(e=!1,t){var r,n,s,o,l,i;try{const c=await this.commonHeaders({Accept:"text/event-stream"});t&&(c["last-event-id"]=t);const u=await fetch(this.url.href,{method:"GET",headers:c,signal:(r=this.abortController)==null?void 0:r.signal}),d=u.headers.get("mcp-session-id");if(d&&(this.sessionId=d),u.status===401&&this.authProvider&&!e){this.resourceMetadataUrl=It(u);try{if(await Et(this.authProvider,{serverUrl:this.url,resourceMetadataUrl:this.resourceMetadataUrl})!=="AUTHORIZED"){const v=new Tt;(n=this.onerror)==null||n.call(this,v);return}}catch(m){(s=this.onerror)==null||s.call(this,m);return}return this.openInboundSse(!0,t)}if(u.status===405)return;if(!u.ok||!u.body){const m=new j({message:`MCP HTTP Transport Error: GET SSE failed: ${u.status} ${u.statusText}`});(o=this.onerror)==null||o.call(this,m);return}const h=u.body.pipeThrough(new TextDecoderStream).pipeThrough(new a.EventSourceParserStream).getReader(),f=async()=>{var m,v,_,y;try{for(;;){const{done:w,value:b}=await h.read();if(w)return;const{event:g,data:E,id:S}=b;if(S&&(this.lastInboundEventId=S),g==="message")try{const I=Ge.parse(JSON.parse(E));(m=this.onmessage)==null||m.call(this,I)}catch(I){const x=new j({message:"MCP HTTP Transport Error: Failed to parse message",cause:I});(v=this.onerror)==null||v.call(this,x)}}}catch(w){if(w instanceof Error&&w.name==="AbortError")return;(_=this.onerror)==null||_.call(this,w),(y=this.abortController)!=null&&y.signal.aborted||this.scheduleInboundSseReconnection()}};this.inboundSseConnection={close:()=>h.cancel()},this.inboundReconnectAttempts=0,f()}catch(c){if(c instanceof Error&&c.name==="AbortError")return;(l=this.onerror)==null||l.call(this,c),(i=this.abortController)!=null&&i.signal.aborted||this.scheduleInboundSseReconnection()}}};function yl(e){switch(e.type){case"sse":return new gl(e);case"http":return new vl(e);default:throw new j({message:"Unsupported or invalid transport configuration. If you are using a custom transport, make sure it implements the MCPTransport interface."})}}function _l(e){return"start"in e&&typeof e.start=="function"&&"send"in e&&typeof e.send=="function"&&"close"in e&&typeof e.close=="function"}var bl="1.0.0";async function wl(e){const t=new Tl(e);return await t.init(),t}var Tl=class{constructor({transport:e,name:t="ai-sdk-mcp-client",version:r=bl,onUncaughtError:n,capabilities:s}){this.requestMessageId=0,this.responseHandlers=new Map,this.serverCapabilities={},this.isClosed=!0,this.onUncaughtError=n,this.clientCapabilities=s??{},_l(e)?this.transport=e:this.transport=yl(e),this.transport.onclose=()=>this.onClose(),this.transport.onerror=o=>this.onError(o),this.transport.onmessage=o=>{if("method"in o){"id"in o?this.onRequestMessage(o):this.onError(new j({message:"Unsupported message type"}));return}this.onResponse(o)},this.clientInfo={name:t,version:r}}async init(){try{await this.transport.start(),this.isClosed=!1;const e=await this.request({request:{method:"initialize",params:{protocolVersion:De,capabilities:this.clientCapabilities,clientInfo:this.clientInfo}},resultSchema:Ei});if(e===void 0)throw new j({message:"Server sent invalid initialize result"});if(!wi.includes(e.protocolVersion))throw new j({message:`Server's protocol version is not supported: ${e.protocolVersion}`});return this.serverCapabilities=e.capabilities,await this.notification({method:"notifications/initialized"}),this}catch(e){throw await this.close(),e}}async close(){var e;this.isClosed||(await((e=this.transport)==null?void 0:e.close()),this.onClose())}assertCapability(e){switch(e){case"initialize":break;case"tools/list":case"tools/call":if(!this.serverCapabilities.tools)throw new j({message:"Server does not support tools"});break;case"resources/list":case"resources/read":case"resources/templates/list":if(!this.serverCapabilities.resources)throw new j({message:"Server does not support resources"});break;case"prompts/list":case"prompts/get":if(!this.serverCapabilities.prompts)throw new j({message:"Server does not support prompts"});break;default:throw new j({message:`Unsupported method: ${e}`})}}async request({request:e,resultSchema:t,options:r}){return new Promise((n,s)=>{if(this.isClosed)return s(new j({message:"Attempted to send a request from a closed client"}));this.assertCapability(e.method);const o=r?.signal;o?.throwIfAborted();const l=this.requestMessageId++,i={...e,jsonrpc:"2.0",id:l},c=()=>{this.responseHandlers.delete(l)};this.responseHandlers.set(l,u=>{if(o?.aborted)return s(new j({message:"Request was aborted",cause:o.reason}));if(u instanceof Error)return s(u);try{const d=t.parse(u.result);n(d)}catch(d){const p=new j({message:"Failed to parse server response",cause:d});s(p)}}),this.transport.send(i).catch(u=>{c(),s(u)})})}async listTools({params:e,options:t}={}){try{return this.request({request:{method:"tools/list",params:e},resultSchema:xi,options:t})}catch(r){throw r}}async callTool({name:e,args:t,options:r}){try{return this.request({request:{method:"tools/call",params:{name:e,arguments:t}},resultSchema:Ci,options:{signal:r?.abortSignal}})}catch(n){throw n}}async listResourcesInternal({params:e,options:t}={}){try{return this.request({request:{method:"resources/list",params:e},resultSchema:Ai,options:t})}catch(r){throw r}}async readResourceInternal({uri:e,options:t}){try{return this.request({request:{method:"resources/read",params:{uri:e}},resultSchema:Oi,options:t})}catch(r){throw r}}async listResourceTemplatesInternal({options:e}={}){try{return this.request({request:{method:"resources/templates/list"},resultSchema:ki,options:e})}catch(t){throw t}}async listPromptsInternal({params:e,options:t}={}){try{return this.request({request:{method:"prompts/list",params:e},resultSchema:$i,options:t})}catch(r){throw r}}async getPromptInternal({name:e,args:t,options:r}){try{return this.request({request:{method:"prompts/get",params:{name:e,arguments:t}},resultSchema:Di,options:r})}catch(n){throw n}}async notification(e){const t={...e,jsonrpc:"2.0"};await this.transport.send(t)}async tools({schemas:e="automatic"}={}){var t;const r={};try{const n=await this.listTools();for(const{name:s,description:o,inputSchema:l}of n.tools){if(e!=="automatic"&&!(s in e))continue;const i=this,c=async(d,p)=>{var h;return(h=p?.abortSignal)==null||h.throwIfAborted(),i.callTool({name:s,args:d,options:p})},u=e==="automatic"?a.dynamicTool({description:o,inputSchema:a.jsonSchema({...l,properties:(t=l.properties)!=null?t:{},additionalProperties:!1}),execute:c}):a.tool({description:o,inputSchema:e[s].inputSchema,execute:c});r[s]=u}return r}catch(n){throw n}}listResources({params:e,options:t}={}){return this.listResourcesInternal({params:e,options:t})}readResource({uri:e,options:t}){return this.readResourceInternal({uri:e,options:t})}listResourceTemplates({options:e}={}){return this.listResourceTemplatesInternal({options:e})}listPrompts({params:e,options:t}={}){return this.listPromptsInternal({params:e,options:t})}getPrompt({name:e,arguments:t,options:r}){return this.getPromptInternal({name:e,args:t,options:r})}onElicitationRequest(e,t){if(e!==on)throw new j({message:"Unsupported request schema. Only ElicitationRequestSchema is supported."});this.elicitationRequestHandler=t}async onRequestMessage(e){try{if(e.method!=="elicitation/create"){await this.transport.send({jsonrpc:"2.0",id:e.id,error:{code:-32601,message:`Unsupported request method: ${e.method}`}});return}if(!this.elicitationRequestHandler){await this.transport.send({jsonrpc:"2.0",id:e.id,error:{code:-32601,message:"No elicitation handler registered on client"}});return}const t=on.safeParse({method:e.method,params:e.params});if(!t.success){await this.transport.send({jsonrpc:"2.0",id:e.id,error:{code:-32602,message:`Invalid elicitation request: ${t.error.message}`,data:t.error.issues}});return}try{const r=await this.elicitationRequestHandler(t.data),n=qi.parse(r);await this.transport.send({jsonrpc:"2.0",id:e.id,result:n})}catch(r){await this.transport.send({jsonrpc:"2.0",id:e.id,error:{code:-32603,message:r instanceof Error?r.message:"Failed to handle elicitation request"}}),this.onError(r)}}catch(t){this.onError(t)}}onClose(){if(this.isClosed)return;this.isClosed=!0;const e=new j({message:"Connection closed"});for(const t of this.responseHandlers.values())t(e);this.responseHandlers.clear()}onError(e){this.onUncaughtError&&this.onUncaughtError(e)}onResponse(e){const t=Number(e.id),r=this.responseHandlers.get(t);if(r===void 0)throw new j({message:`Protocol error: Received a response for an unknown message ID: ${JSON.stringify(e)}`});this.responseHandlers.delete(t),r("result"in e?e:new j({message:e.error.message,code:e.error.code,data:e.error.data,cause:e.error}))}},Il=Object.defineProperty,El=Object.defineProperties,Sl=Object.getOwnPropertyDescriptors,cn=Object.getOwnPropertySymbols,xl=Object.prototype.hasOwnProperty,Rl=Object.prototype.propertyIsEnumerable,dn=(e,t,r)=>t in e?Il(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,D=(e,t)=>{for(var r in t||(t={}))xl.call(t,r)&&dn(e,r,t[r]);if(cn)for(var r of cn(t))Rl.call(t,r)&&dn(e,r,t[r]);return e},St=(e,t)=>El(e,Sl(t)),Ia="vercel.ai.error",Al=Symbol.for(Ia),Ea,Cl=class Sa extends Error{constructor({name:t,message:r,cause:n}){super(r),this[Ea]=!0,this.name=t,this.cause=n}static isInstance(t){return Sa.hasMarker(t,Ia)}static hasMarker(t,r){const n=Symbol.for(r);return t!=null&&typeof t=="object"&&n in t&&typeof t[n]=="boolean"&&t[n]===!0}};Ea=Al;var B=Cl,xa="AI_APICallError",Ra=`vercel.ai.error.${xa}`,Pl=Symbol.for(Ra),Aa,ce=class extends B{constructor({message:e,url:t,requestBodyValues:r,statusCode:n,responseHeaders:s,responseBody:o,cause:l,isRetryable:i=n!=null&&(n===408||n===409||n===429||n>=500),data:c}){super({name:xa,message:e,cause:l}),this[Aa]=!0,this.url=t,this.requestBodyValues=r,this.statusCode=n,this.responseHeaders=s,this.responseBody=o,this.isRetryable=i,this.data=c}static isInstance(e){return B.hasMarker(e,Ra)}};Aa=Pl;var Ca="AI_EmptyResponseBodyError",Pa=`vercel.ai.error.${Ca}`,kl=Symbol.for(Pa),ka,Ol=class extends B{constructor({message:e="Empty response body"}={}){super({name:Ca,message:e}),this[ka]=!0}static isInstance(e){return B.hasMarker(e,Pa)}};ka=kl;function Oa(e){return e==null?"unknown error":typeof e=="string"?e:e instanceof Error?e.message:JSON.stringify(e)}var Ma="AI_InvalidArgumentError",Na=`vercel.ai.error.${Ma}`,Ml=Symbol.for(Na),$a,ja=class extends B{constructor({message:t,cause:r,argument:n}){super({name:Ma,message:t,cause:r}),this[$a]=!0,this.argument=n}static isInstance(t){return B.hasMarker(t,Na)}};$a=Ml;var Da="AI_InvalidPromptError",Ua=`vercel.ai.error.${Da}`,Nl=Symbol.for(Ua),qa,$l=class extends B{constructor({prompt:e,message:t,cause:r}){super({name:Da,message:`Invalid prompt: ${t}`,cause:r}),this[qa]=!0,this.prompt=e}static isInstance(e){return B.hasMarker(e,Ua)}};qa=Nl;var Fa="AI_InvalidResponseDataError",La=`vercel.ai.error.${Fa}`,jl=Symbol.for(La),Va,Ze=class extends B{constructor({data:e,message:t=`Invalid response data: ${JSON.stringify(e)}.`}){super({name:Fa,message:t}),this[Va]=!0,this.data=e}static isInstance(e){return B.hasMarker(e,La)}};Va=jl;var Ha="AI_JSONParseError",Ba=`vercel.ai.error.${Ha}`,Dl=Symbol.for(Ba),Za,xt=class extends B{constructor({text:e,cause:t}){super({name:Ha,message:`JSON parsing failed: Text: ${e}.
|
|
2
|
+
Error message: ${Oa(t)}`,cause:t}),this[Za]=!0,this.text=e}static isInstance(e){return B.hasMarker(e,Ba)}};Za=Dl;var Ka="AI_LoadAPIKeyError",Ga=`vercel.ai.error.${Ka}`,Ul=Symbol.for(Ga),Ja,dt=class extends B{constructor({message:e}){super({name:Ka,message:e}),this[Ja]=!0}static isInstance(e){return B.hasMarker(e,Ga)}};Ja=Ul;var za="AI_NoContentGeneratedError",Wa=`vercel.ai.error.${za}`,ql=Symbol.for(Wa),Ya,Xa=class extends B{constructor({message:e="No content generated."}={}){super({name:za,message:e}),this[Ya]=!0}static isInstance(e){return B.hasMarker(e,Wa)}};Ya=ql;var Qa="AI_TypeValidationError",eo=`vercel.ai.error.${Qa}`,Fl=Symbol.for(eo),to,Ll=class cr extends B{constructor({value:t,cause:r}){super({name:Qa,message:`Type validation failed: Value: ${JSON.stringify(t)}.
|
|
3
|
+
Error message: ${Oa(r)}`,cause:r}),this[to]=!0,this.value=t}static isInstance(t){return B.hasMarker(t,eo)}static wrap({value:t,cause:r}){return cr.isInstance(r)&&r.value===t?r:new cr({value:t,cause:r})}};to=Fl;var Qe=Ll,ro="AI_UnsupportedFunctionalityError",no=`vercel.ai.error.${ro}`,Vl=Symbol.for(no),ao,Ie=class extends B{constructor({functionality:e,message:t=`'${e}' functionality not supported.`}){super({name:ro,message:t}),this[ao]=!0,this.functionality=e}static isInstance(e){return B.hasMarker(e,no)}};ao=Vl;var pn=class extends Error{constructor(e,t){super(e),this.name="ParseError",this.type=t.type,this.field=t.field,this.value=t.value,this.line=t.line}};function Yt(e){}function Hl(e){if(typeof e=="function")throw new TypeError("`callbacks` must be an object, got a function instead. Did you mean `{onEvent: fn}`?");const{onEvent:t=Yt,onError:r=Yt,onRetry:n=Yt,onComment:s}=e;let o="",l=!0,i,c="",u="";function d(v){const _=l?v.replace(/^\xEF\xBB\xBF/,""):v,[y,w]=Bl(`${o}${_}`);for(const b of y)p(b);o=w,l=!1}function p(v){if(v===""){f();return}if(v.startsWith(":")){s&&s(v.slice(v.startsWith(": ")?2:1));return}const _=v.indexOf(":");if(_!==-1){const y=v.slice(0,_),w=v[_+1]===" "?2:1,b=v.slice(_+w);h(y,b,v);return}h(v,"",v)}function h(v,_,y){switch(v){case"event":u=_;break;case"data":c=`${c}${_}
|
|
4
|
+
`;break;case"id":i=_.includes("\0")?void 0:_;break;case"retry":/^\d+$/.test(_)?n(parseInt(_,10)):r(new pn(`Invalid \`retry\` value: "${_}"`,{type:"invalid-retry",value:_,line:y}));break;default:r(new pn(`Unknown field "${v.length>20?`${v.slice(0,20)}…`:v}"`,{type:"unknown-field",field:v,value:_,line:y}));break}}function f(){c.length>0&&t({id:i,event:u||void 0,data:c.endsWith(`
|
|
5
|
+
`)?c.slice(0,-1):c}),i=void 0,c="",u=""}function m(v={}){o&&v.consume&&p(o),l=!0,i=void 0,c="",u="",o=""}return{feed:d,reset:m}}function Bl(e){const t=[];let r="",n=0;for(;n<e.length;){const s=e.indexOf("\r",n),o=e.indexOf(`
|
|
29
6
|
`,n);let l=-1;if(s!==-1&&o!==-1?l=Math.min(s,o):s!==-1?l=s:o!==-1&&(l=o),l===-1){r=e.slice(n);break}else{const i=e.slice(n,l);t.push(i),n=l+1,e[n-1]==="\r"&&e[n]===`
|
|
30
|
-
`&&n++}}return[t,r]}var
|
|
7
|
+
`&&n++}}return[t,r]}var Zl=class extends TransformStream{constructor({onError:e,onRetry:t,onComment:r}={}){let n;super({start(s){n=Hl({onEvent:o=>{s.enqueue(o)},onError(o){e==="terminate"?s.error(o):typeof e=="function"&&e(o)},onRetry:t,onComment:r})},transform(s){n.feed(s)}})}};new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function et(...e){return e.reduce((t,r)=>D(D({},t),r??{}),{})}function Mt(e){return Object.fromEntries([...e.headers])}var Kl=({prefix:e,size:t=16,alphabet:r="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",separator:n="-"}={})=>{const s=()=>{const o=r.length,l=new Array(t);for(let i=0;i<t;i++)l[i]=r[Math.random()*o|0];return l.join("")};if(e==null)return s;if(r.includes(n))throw new ja({argument:"separator",message:`The separator "${n}" must not be part of the alphabet "${r}".`});return()=>`${e}${n}${s()}`},ue=Kl();function dr(e){return(e instanceof Error||e instanceof DOMException)&&(e.name==="AbortError"||e.name==="ResponseAborted"||e.name==="TimeoutError")}var Gl=["fetch failed","failed to fetch"];function Jl({error:e,url:t,requestBodyValues:r}){if(dr(e))return e;if(e instanceof TypeError&&Gl.includes(e.message.toLowerCase())){const n=e.cause;if(n!=null)return new ce({message:`Cannot connect to API: ${n.message}`,cause:n,url:t,requestBodyValues:r,isRetryable:!0})}return e}function zl(e){return Object.fromEntries(Object.entries(e).filter(([t,r])=>r!=null))}function Wl({apiKey:e,environmentVariableName:t,apiKeyParameterName:r="apiKey",description:n}){if(typeof e=="string")return e;if(e!=null)throw new dt({message:`${n} API key must be a string.`});if(typeof process>"u")throw new dt({message:`${n} API key is missing. Pass it using the '${r}' parameter. Environment variables is not supported in this environment.`});if(e=process.env[t],e==null)throw new dt({message:`${n} API key is missing. Pass it using the '${r}' parameter or the ${t} environment variable.`});if(typeof e!="string")throw new dt({message:`${n} API key must be a string. The value of the ${t} environment variable is not a string.`});return e}var Yl=/"__proto__"\s*:/,Xl=/"constructor"\s*:/;function Ql(e){const t=JSON.parse(e);return t===null||typeof t!="object"||Yl.test(e)===!1&&Xl.test(e)===!1?t:eu(t)}function eu(e){let t=[e];for(;t.length;){const r=t;t=[];for(const n of r){if(Object.prototype.hasOwnProperty.call(n,"__proto__"))throw new SyntaxError("Object contains forbidden prototype property");if(Object.prototype.hasOwnProperty.call(n,"constructor")&&Object.prototype.hasOwnProperty.call(n.constructor,"prototype"))throw new SyntaxError("Object contains forbidden prototype property");for(const s in n){const o=n[s];o&&typeof o=="object"&&t.push(o)}}}return e}function Mr(e){const{stackTraceLimit:t}=Error;Error.stackTraceLimit=0;try{return Ql(e)}finally{Error.stackTraceLimit=t}}var pr=Symbol.for("vercel.ai.validator");function tu(e){return{[pr]:!0,validate:e}}function ru(e){return typeof e=="object"&&e!==null&&pr in e&&e[pr]===!0&&"validate"in e}function nu(e){return ru(e)?e:au(e)}function au(e){return tu(async t=>{const r=await e["~standard"].validate(t);return r.issues==null?{success:!0,value:r.value}:{success:!1,error:new Qe({value:t,cause:r.issues})}})}async function ou({value:e,schema:t}){const r=await oo({value:e,schema:t});if(!r.success)throw Qe.wrap({value:e,cause:r.error});return r.value}async function oo({value:e,schema:t}){const r=nu(t);try{if(r.validate==null)return{success:!0,value:e,rawValue:e};const n=await r.validate(e);return n.success?{success:!0,value:n.value,rawValue:e}:{success:!1,error:Qe.wrap({value:e,cause:n.error}),rawValue:e}}catch(n){return{success:!1,error:Qe.wrap({value:e,cause:n}),rawValue:e}}}async function su({text:e,schema:t}){try{const r=Mr(e);return t==null?r:ou({value:r,schema:t})}catch(r){throw xt.isInstance(r)||Qe.isInstance(r)?r:new xt({text:e,cause:r})}}async function so({text:e,schema:t}){try{const r=Mr(e);return t==null?{success:!0,value:r,rawValue:r}:await oo({value:r,schema:t})}catch(r){return{success:!1,error:xt.isInstance(r)?r:new xt({text:e,cause:r}),rawValue:void 0}}}function Xt(e){try{return Mr(e),!0}catch{return!1}}function iu({stream:e,schema:t}){return e.pipeThrough(new TextDecoderStream).pipeThrough(new Zl).pipeThrough(new TransformStream({async transform({data:r},n){r!=="[DONE]"&&n.enqueue(await so({text:r,schema:t}))}}))}var lu=()=>globalThis.fetch,tt=async({url:e,headers:t,body:r,failedResponseHandler:n,successfulResponseHandler:s,abortSignal:o,fetch:l})=>uu({url:e,headers:D({"Content-Type":"application/json"},t),body:{content:JSON.stringify(r),values:r},failedResponseHandler:n,successfulResponseHandler:s,abortSignal:o,fetch:l}),uu=async({url:e,headers:t={},body:r,successfulResponseHandler:n,failedResponseHandler:s,abortSignal:o,fetch:l=lu()})=>{try{const i=await l(e,{method:"POST",headers:zl(t),body:r.content,signal:o}),c=Mt(i);if(!i.ok){let u;try{u=await s({response:i,url:e,requestBodyValues:r.values})}catch(d){throw dr(d)||ce.isInstance(d)?d:new ce({message:"Failed to process error response",cause:d,statusCode:i.status,url:e,responseHeaders:c,requestBodyValues:r.values})}throw u.value}try{return await n({response:i,url:e,requestBodyValues:r.values})}catch(u){throw u instanceof Error&&(dr(u)||ce.isInstance(u))?u:new ce({message:"Failed to process successful response",cause:u,statusCode:i.status,url:e,responseHeaders:c,requestBodyValues:r.values})}}catch(i){throw Jl({error:i,url:e,requestBodyValues:r.values})}},cu=({errorSchema:e,errorToMessage:t,isRetryable:r})=>async({response:n,url:s,requestBodyValues:o})=>{const l=await n.text(),i=Mt(n);if(l.trim()==="")return{responseHeaders:i,value:new ce({message:n.statusText,url:s,requestBodyValues:o,statusCode:n.status,responseHeaders:i,responseBody:l,isRetryable:r?.(n)})};try{const c=await su({text:l,schema:e});return{responseHeaders:i,value:new ce({message:t(c),url:s,requestBodyValues:o,statusCode:n.status,responseHeaders:i,responseBody:l,data:c,isRetryable:r?.(n,c)})}}catch{return{responseHeaders:i,value:new ce({message:n.statusText,url:s,requestBodyValues:o,statusCode:n.status,responseHeaders:i,responseBody:l,isRetryable:r?.(n)})}}},io=e=>async({response:t})=>{const r=Mt(t);if(t.body==null)throw new Ol({});return{responseHeaders:r,value:iu({stream:t.body,schema:e})}},Nr=e=>async({response:t,url:r,requestBodyValues:n})=>{const s=await t.text(),o=await so({text:s,schema:e}),l=Mt(t);if(!o.success)throw new ce({message:"Invalid JSON response",cause:o.error,statusCode:t.status,responseHeaders:l,responseBody:s,url:r,requestBodyValues:n});return{responseHeaders:l,value:o.value,rawValue:o.rawValue}},{btoa:du}=globalThis;function pu(e){let t="";for(let r=0;r<e.length;r++)t+=String.fromCodePoint(e[r]);return du(t)}function fu(e){return e?.replace(/\/$/,"")}function Qt(e){return e!=null}var lo=(e=>(e.Unknown="unknown",e.OpenAIResponsesV1="openai-responses-v1",e.XAIResponsesV1="xai-responses-v1",e.AnthropicClaudeV1="anthropic-claude-v1",e.GoogleGeminiV1="google-gemini-v1",e))(lo||{}),$r=a.object({id:a.string().nullish(),format:a._enum$1(lo).nullish(),index:a.number().optional()}).loose(),mu=a.object({type:a.literal("reasoning.summary"),summary:a.string()}).extend($r.shape),hu=a.object({type:a.literal("reasoning.encrypted"),data:a.string()}).extend($r.shape),gu=a.object({type:a.literal("reasoning.text"),text:a.string().nullish(),signature:a.string().nullish()}).extend($r.shape),jr=a.union([mu,hu,gu]),ht=a.union([jr,a.unknown().transform(()=>null)]),Dr=a.array(ht).transform(e=>e.filter(t=>!!t));a.union([a.object({delta:a.object({reasoning_details:a.array(ht)})}).transform(e=>e.delta.reasoning_details.filter(Qt)),a.object({message:a.object({reasoning_details:a.array(ht)})}).transform(e=>e.message.reasoning_details.filter(Qt)),a.object({text:a.string(),reasoning_details:a.array(ht)}).transform(e=>e.reasoning_details.filter(Qt))]);var Nt=a.object({error:a.object({code:a.union([a.string(),a.number()]).nullable().optional().default(null),message:a.string(),type:a.string().nullable().optional().default(null),param:a.any().nullable().optional().default(null)}).passthrough()}).passthrough(),rt=cu({errorSchema:Nt,errorToMessage:e=>e.error.message}),uo=a.object({type:a.literal("file"),file:a.object({hash:a.string(),name:a.string(),content:a.array(a.object({type:a.string(),text:a.string().optional()}).passthrough()).optional()}).passthrough()}),vu=a.object({provider:a.string(),reasoning_details:a.array(jr).optional(),annotations:a.array(uo).optional(),usage:a.object({promptTokens:a.number(),promptTokensDetails:a.object({cachedTokens:a.number()}).passthrough().optional(),completionTokens:a.number(),completionTokensDetails:a.object({reasoningTokens:a.number()}).passthrough().optional(),totalTokens:a.number(),cost:a.number().optional(),costDetails:a.object({upstreamInferenceCost:a.number()}).passthrough().optional()}).passthrough()}).passthrough(),fn=a.object({openrouter:a.object({reasoning_details:a.array(jr).optional(),annotations:a.array(uo).optional()}).optional()}).optional();function Rt(e){switch(e){case"stop":return"stop";case"length":return"length";case"content_filter":return"content-filter";case"function_call":case"tool_calls":return"tool-calls";default:return"unknown"}}function Ur({url:e,protocols:t}){try{const r=new URL(e);return t.has(r.protocol)}catch{return!1}}function fr({part:e,defaultMediaType:t}){var r,n;if(e.data instanceof Uint8Array){const o=pu(e.data);return`data:${(r=e.mediaType)!=null?r:t};base64,${o}`}const s=e.data.toString();return Ur({url:s,protocols:new Set(["http:","https:"])})||s.startsWith("data:")?s:`data:${(n=e.mediaType)!=null?n:t};base64,${s}`}function mn(e,t){var r;const n=e.match(/^data:([^;]+)/);return n&&(r=n[1])!=null?r:t}function mr(e){const t=e.match(/^data:[^;]*;base64,(.+)$/);return t?t[1]:e}function yu(e){const t=fr({part:e,defaultMediaType:"audio/mpeg"});if(Ur({url:t,protocols:new Set(["http:","https:"])}))throw new Error(`Audio files cannot be provided as URLs.
|
|
31
8
|
|
|
32
9
|
OpenRouter requires audio to be base64-encoded. Please:
|
|
33
10
|
1. Download the audio file locally
|
|
@@ -36,19 +13,42 @@ OpenRouter requires audio to be base64-encoded. Please:
|
|
|
36
13
|
|
|
37
14
|
The AI SDK will automatically handle base64 encoding.
|
|
38
15
|
|
|
39
|
-
Learn more: https://openrouter.ai/docs/features/multimodal/audio`);const r=
|
|
16
|
+
Learn more: https://openrouter.ai/docs/features/multimodal/audio`);const r=mr(t),n=e.mediaType||"audio/mpeg";let s=n.replace("audio/","");if(s==="mpeg"||s==="mp3"?s="mp3":(s==="x-wav"||s==="wave"||s==="wav")&&(s="wav"),s!=="mp3"&&s!=="wav")throw new Error(`Unsupported audio format: "${n}"
|
|
40
17
|
|
|
41
18
|
OpenRouter only supports MP3 and WAV audio formats.
|
|
42
19
|
• For MP3: use "audio/mpeg" or "audio/mp3"
|
|
43
20
|
• For WAV: use "audio/wav" or "audio/x-wav"
|
|
44
21
|
|
|
45
|
-
Learn more: https://openrouter.ai/docs/features/multimodal/audio`);return{data:r,format:s}}function Te(e){var t,r,n;const s=e?.anthropic,o=e?.openrouter;return(n=(r=(t=o?.cacheControl)!=null?t:o?.cache_control)!=null?r:s?.cacheControl)!=null?n:s?.cache_control}function Pd(e){var t,r,n,s,o,l,i,c,u,d;const p=[];for(const{role:h,content:f,providerOptions:m}of e)switch(h){case"system":{p.push({role:"system",content:f,cache_control:Te(m)});break}case"user":{if(f.length===1&&((t=f[0])==null?void 0:t.type)==="text"){const y=(r=Te(m))!=null?r:Te(f[0].providerOptions),w=y?[{type:"text",text:f[0].text,cache_control:y}]:f[0].text;p.push({role:"user",content:w});break}const v=Te(m),_=f.map(y=>{var w,b,g,E,S,I,x;const P=(w=Te(y.providerOptions))!=null?w:v;switch(y.type){case"text":return{type:"text",text:y.text,cache_control:P};case"file":{if((b=y.mediaType)!=null&&b.startsWith("image/"))return{type:"image_url",image_url:{url:Tr({part:y,defaultMediaType:"image/jpeg"})},cache_control:P};if((g=y.mediaType)!=null&&g.startsWith("audio/"))return{type:"input_audio",input_audio:Ad(y),cache_control:P};const F=String((x=(I=(S=(E=y.providerOptions)==null?void 0:E.openrouter)==null?void 0:S.filename)!=null?I:y.filename)!=null?x:""),K=Tr({part:y,defaultMediaType:"application/pdf"});return qr({url:K,protocols:new Set(["http:","https:"])})?{type:"file",file:{filename:F,file_data:K}}:{type:"file",file:{filename:F,file_data:K},cache_control:P}}default:return{type:"text",text:"",cache_control:P}}});p.push({role:"user",content:_});break}case"assistant":{let v="",_="";const y=[],w=[];for(const I of f)switch(I.type){case"text":{v+=I.text;break}case"tool-call":{const x=(n=I.providerOptions)==null?void 0:n.openrouter;x?.reasoning_details&&Array.isArray(x.reasoning_details)&&w.push(...x.reasoning_details),y.push({id:I.toolCallId,type:"function",function:{name:I.toolName,arguments:JSON.stringify(I.input)}});break}case"reasoning":{_+=I.text;const x=Kn.safeParse(I.providerOptions);x.success&&((o=(s=x.data)==null?void 0:s.openrouter)!=null&&o.reasoning_details)&&w.push(...x.data.openrouter.reasoning_details);break}}const b=Kn.safeParse(m),g=b.success?(i=(l=b.data)==null?void 0:l.openrouter)==null?void 0:i.reasoning_details:void 0,E=b.success?(u=(c=b.data)==null?void 0:c.openrouter)==null?void 0:u.annotations:void 0,S=g&&Array.isArray(g)&&g.length>0?g:w.length>0?w:void 0;p.push({role:"assistant",content:v,tool_calls:y.length>0?y:void 0,reasoning:_||void 0,reasoning_details:S,annotations:E,cache_control:Te(m)});break}case"tool":{for(const v of f){const _=kd(v);p.push({role:"tool",tool_call_id:v.toolCallId,content:_,cache_control:(d=Te(m))!=null?d:Te(v.providerOptions)})}break}}return p}function kd(e){return e.output.type==="text"?e.output.value:JSON.stringify(e.output.value)}a.union([a.literal("auto"),a.literal("none"),a.literal("required"),a.object({type:a.literal("function"),function:a.object({name:a.string()})})]);function Od(e){switch(e.type){case"auto":case"none":case"required":return e.type;case"tool":return{type:"function",function:{name:e.toolName}};default:throw new Mo({argument:"toolChoice",message:`Invalid tool choice type: ${JSON.stringify(e)}`})}}var Md=a.object({type:a.literal("image_url"),image_url:a.object({url:a.string()}).passthrough()}).passthrough(),Nd=a.union([Md,a.unknown().transform(()=>null)]),is=a.array(Nd).transform(e=>e.filter(t=>!!t)),ls=a.object({id:a.string().optional(),model:a.string().optional(),provider:a.string().optional(),usage:a.object({prompt_tokens:a.number(),prompt_tokens_details:a.object({cached_tokens:a.number()}).passthrough().nullish(),completion_tokens:a.number(),completion_tokens_details:a.object({reasoning_tokens:a.number()}).passthrough().nullish(),total_tokens:a.number(),cost:a.number().optional(),cost_details:a.object({upstream_inference_cost:a.number().nullish()}).passthrough().nullish()}).passthrough().nullish()}).passthrough(),$d=a.union([ls.extend({choices:a.array(a.object({message:a.object({role:a.literal("assistant"),content:a.string().nullable().optional(),reasoning:a.string().nullable().optional(),reasoning_details:Ur.nullish(),images:is.nullish(),tool_calls:a.array(a.object({id:a.string().optional().nullable(),type:a.literal("function"),function:a.object({name:a.string(),arguments:a.string()}).passthrough()}).passthrough()).optional(),annotations:a.array(a.union([a.object({type:a.literal("url_citation"),url_citation:a.object({end_index:a.number(),start_index:a.number(),title:a.string(),url:a.string(),content:a.string().optional()}).passthrough()}).passthrough(),a.object({type:a.literal("file_annotation"),file_annotation:a.object({file_id:a.string(),quote:a.string().optional()}).passthrough()}).passthrough(),a.object({type:a.literal("file"),file:a.object({hash:a.string(),name:a.string(),content:a.array(a.object({type:a.string(),text:a.string().optional()}).passthrough()).optional()}).passthrough()}).passthrough()])).nullish()}).passthrough(),index:a.number().nullish(),logprobs:a.object({content:a.array(a.object({token:a.string(),logprob:a.number(),top_logprobs:a.array(a.object({token:a.string(),logprob:a.number()}).passthrough())}).passthrough()).nullable()}).passthrough().nullable().optional(),finish_reason:a.string().optional().nullable()}).passthrough())}),$t.extend({user_id:a.string().optional()})]),jd=a.union([ls.extend({choices:a.array(a.object({delta:a.object({role:a._enum$1(["assistant"]).optional(),content:a.string().nullish(),reasoning:a.string().nullish().optional(),reasoning_details:Ur.nullish(),images:is.nullish(),tool_calls:a.array(a.object({index:a.number().nullish(),id:a.string().nullish(),type:a.literal("function").optional(),function:a.object({name:a.string().nullish(),arguments:a.string().nullish()}).passthrough()}).passthrough()).nullish(),annotations:a.array(a.union([a.object({type:a.literal("url_citation"),url_citation:a.object({end_index:a.number(),start_index:a.number(),title:a.string(),url:a.string(),content:a.string().optional()}).passthrough()}).passthrough(),a.object({type:a.literal("file_annotation"),file_annotation:a.object({file_id:a.string(),quote:a.string().optional()}).passthrough()}).passthrough(),a.object({type:a.literal("file"),file:a.object({hash:a.string(),name:a.string(),content:a.array(a.object({type:a.string(),text:a.string().optional()}).passthrough()).optional()}).passthrough()}).passthrough()])).nullish()}).passthrough().nullish(),logprobs:a.object({content:a.array(a.object({token:a.string(),logprob:a.number(),top_logprobs:a.array(a.object({token:a.string(),logprob:a.number()}).passthrough())}).passthrough()).nullable()}).passthrough().nullish(),finish_reason:a.string().nullable().optional(),index:a.number().nullish()}).passthrough())}),$t]),Dd=class{constructor(e,t,r){this.specificationVersion="v2",this.provider="openrouter",this.defaultObjectGenerationMode="tool",this.supportsImageUrls=!0,this.supportedUrls={"image/*":[/^data:image\/[a-zA-Z]+;base64,/,/^https?:\/\/.+\.(jpg|jpeg|png|gif|webp)$/i],"application/*":[/^data:application\//,/^https?:\/\/.+$/]},this.modelId=e,this.settings=t,this.config=r}getArgs({prompt:e,maxOutputTokens:t,temperature:r,topP:n,frequencyPenalty:s,presencePenalty:o,seed:l,stopSequences:i,responseFormat:c,topK:u,tools:d,toolChoice:p}){var h;const f=j(j({model:this.modelId,models:this.settings.models,logit_bias:this.settings.logitBias,logprobs:this.settings.logprobs===!0||typeof this.settings.logprobs=="number"?!0:void 0,top_logprobs:typeof this.settings.logprobs=="number"?this.settings.logprobs:typeof this.settings.logprobs=="boolean"&&this.settings.logprobs?0:void 0,user:this.settings.user,parallel_tool_calls:this.settings.parallelToolCalls,max_tokens:t,temperature:r,top_p:n,frequency_penalty:s,presence_penalty:o,seed:l,stop:i,response_format:c?.type==="json"?c.schema!=null?{type:"json_schema",json_schema:j({schema:c.schema,strict:!0,name:(h=c.name)!=null?h:"response"},c.description&&{description:c.description})}:{type:"json_object"}:void 0,top_k:u,messages:Pd(e),include_reasoning:this.settings.includeReasoning,reasoning:this.settings.reasoning,usage:this.settings.usage,plugins:this.settings.plugins,web_search_options:this.settings.web_search_options,provider:this.settings.provider,debug:this.settings.debug},this.config.extraBody),this.settings.extraBody);if(d&&d.length>0){const m=d.filter(v=>v.type==="function").map(v=>({type:"function",function:{name:v.name,description:v.description,parameters:v.inputSchema}}));return Tt(j({},f),{tools:m,tool_choice:p?Od(p):void 0})}return f}async doGenerate(e){var t,r,n,s,o,l,i,c,u,d,p,h,f,m,v,_,y,w,b,g,E,S,I;const P=(e.providerOptions||{}).openrouter||{},F=j(j({},this.getArgs(e)),P),{value:K,responseHeaders:de}=await at({url:this.config.url({path:"/chat/completions",modelId:this.modelId}),headers:nt(this.config.headers(),e.headers),body:F,failedResponseHandler:ot,successfulResponseHandler:$r($d),abortSignal:e.abortSignal,fetch:this.config.fetch});if("error"in K){const R=K.error;throw new ce({message:R.message,url:this.config.url({path:"/chat/completions",modelId:this.modelId}),requestBodyValues:F,statusCode:200,responseHeaders:de,data:R})}const q=K,M=q.choices[0];if(!M)throw new zo({message:"No choice in response"});const pe=q.usage?{inputTokens:(t=q.usage.prompt_tokens)!=null?t:0,outputTokens:(r=q.usage.completion_tokens)!=null?r:0,totalTokens:((n=q.usage.prompt_tokens)!=null?n:0)+((s=q.usage.completion_tokens)!=null?s:0),reasoningTokens:(l=(o=q.usage.completion_tokens_details)==null?void 0:o.reasoning_tokens)!=null?l:0,cachedInputTokens:(c=(i=q.usage.prompt_tokens_details)==null?void 0:i.cached_tokens)!=null?c:0}:{inputTokens:0,outputTokens:0,totalTokens:0,reasoningTokens:0,cachedInputTokens:0},fe=(u=M.message.reasoning_details)!=null?u:[],we=fe.length>0?fe.map(R=>{switch(R.type){case"reasoning.text":{if(R.text)return{type:"reasoning",text:R.text,providerMetadata:{openrouter:{reasoning_details:[R]}}};break}case"reasoning.summary":{if(R.summary)return{type:"reasoning",text:R.summary,providerMetadata:{openrouter:{reasoning_details:[R]}}};break}case"reasoning.encrypted":{if(R.data)return{type:"reasoning",text:"[REDACTED]",providerMetadata:{openrouter:{reasoning_details:[R]}}};break}}return null}).filter(R=>R!==null):M.message.reasoning?[{type:"reasoning",text:M.message.reasoning}]:[],re=[];if(re.push(...we),M.message.content&&re.push({type:"text",text:M.message.content}),M.message.tool_calls)for(const R of M.message.tool_calls)re.push({type:"tool-call",toolCallId:(d=R.id)!=null?d:ue(),toolName:R.function.name,input:R.function.arguments,providerMetadata:{openrouter:{reasoning_details:fe}}});if(M.message.images)for(const R of M.message.images)re.push({type:"file",mediaType:Jn(R.image_url.url,"image/jpeg"),data:Ir(R.image_url.url)});if(M.message.annotations)for(const R of M.message.annotations)R.type==="url_citation"&&re.push({type:"source",sourceType:"url",id:R.url_citation.url,url:R.url_citation.url,title:R.url_citation.title,providerMetadata:{openrouter:{content:R.url_citation.content||""}}});const O=(p=M.message.annotations)==null?void 0:p.filter(R=>R.type==="file");return{content:re,finishReason:Et(M.finish_reason),usage:pe,warnings:[],providerMetadata:{openrouter:Cd.parse({provider:(h=q.provider)!=null?h:"",reasoning_details:(f=M.message.reasoning_details)!=null?f:[],annotations:O&&O.length>0?O:void 0,usage:j(j(j({promptTokens:(m=pe.inputTokens)!=null?m:0,completionTokens:(v=pe.outputTokens)!=null?v:0,totalTokens:(_=pe.totalTokens)!=null?_:0,cost:(y=q.usage)==null?void 0:y.cost},((b=(w=q.usage)==null?void 0:w.prompt_tokens_details)==null?void 0:b.cached_tokens)!=null?{promptTokensDetails:{cachedTokens:q.usage.prompt_tokens_details.cached_tokens}}:{}),((E=(g=q.usage)==null?void 0:g.completion_tokens_details)==null?void 0:E.reasoning_tokens)!=null?{completionTokensDetails:{reasoningTokens:q.usage.completion_tokens_details.reasoning_tokens}}:{}),((I=(S=q.usage)==null?void 0:S.cost_details)==null?void 0:I.upstream_inference_cost)!=null?{costDetails:{upstreamInferenceCost:q.usage.cost_details.upstream_inference_cost}}:{})})},request:{body:F},response:{id:q.id,modelId:q.model,headers:de}}}async doStream(e){var t;const n=(e.providerOptions||{}).openrouter||{},s=j(j({},this.getArgs(e)),n),{value:o,responseHeaders:l}=await at({url:this.config.url({path:"/chat/completions",modelId:this.modelId}),headers:nt(this.config.headers(),e.headers),body:Tt(j({},s),{stream:!0,stream_options:this.config.compatibility==="strict"?j({include_usage:!0},(t=this.settings.usage)!=null&&t.include?{include_usage:!0}:{}):void 0}),failedResponseHandler:ot,successfulResponseHandler:as(jd),abortSignal:e.abortSignal,fetch:this.config.fetch}),i=[];let c="other";const u={inputTokens:Number.NaN,outputTokens:Number.NaN,totalTokens:Number.NaN,reasoningTokens:Number.NaN,cachedInputTokens:Number.NaN},d={},p=[];let h=!1,f=!1,m,v,_,y;return{stream:o.pipeThrough(new TransformStream({transform(w,b){var g,E,S,I,x,P,F,K,de,q,M,pe,fe,we,re;if(!w.success){c="error",b.enqueue({type:"error",error:w.error});return}const O=w.value;if("error"in O){c="error",b.enqueue({type:"error",error:O.error});return}if(O.provider&&(y=O.provider),O.id&&(_=O.id,b.enqueue({type:"response-metadata",id:O.id})),O.model&&b.enqueue({type:"response-metadata",modelId:O.model}),O.usage!=null){if(u.inputTokens=O.usage.prompt_tokens,u.outputTokens=O.usage.completion_tokens,u.totalTokens=O.usage.prompt_tokens+O.usage.completion_tokens,d.promptTokens=O.usage.prompt_tokens,O.usage.prompt_tokens_details){const k=(g=O.usage.prompt_tokens_details.cached_tokens)!=null?g:0;u.cachedInputTokens=k,d.promptTokensDetails={cachedTokens:k}}if(d.completionTokens=O.usage.completion_tokens,O.usage.completion_tokens_details){const k=(E=O.usage.completion_tokens_details.reasoning_tokens)!=null?E:0;u.reasoningTokens=k,d.completionTokensDetails={reasoningTokens:k}}d.cost=O.usage.cost,d.totalTokens=O.usage.total_tokens;const A=(S=O.usage.cost_details)==null?void 0:S.upstream_inference_cost;A!=null&&(d.costDetails={upstreamInferenceCost:A})}const R=O.choices[0];if(R?.finish_reason!=null&&(c=Et(R.finish_reason)),R?.delta==null)return;const Z=R.delta,ae=(A,k)=>{f||(v=_||ue(),b.enqueue({providerMetadata:k,type:"reasoning-start",id:v}),f=!0),b.enqueue({providerMetadata:k,type:"reasoning-delta",delta:A,id:v||ue()})};if(Z.reasoning_details&&Z.reasoning_details.length>0){for(const k of Z.reasoning_details)if(k.type==="reasoning.text"){const $=p[p.length-1];$?.type==="reasoning.text"?($.text=($.text||"")+(k.text||""),$.signature=$.signature||k.signature,$.format=$.format||k.format):p.push(j({},k))}else p.push(k);const A={openrouter:{reasoning_details:Z.reasoning_details}};for(const k of Z.reasoning_details)switch(k.type){case"reasoning.text":{k.text&&ae(k.text,A);break}case"reasoning.encrypted":{k.data&&ae("[REDACTED]",A);break}case"reasoning.summary":{k.summary&&ae(k.summary,A);break}}}else Z.reasoning&&ae(Z.reasoning);if(Z.content&&(f&&!h&&(b.enqueue({type:"reasoning-end",id:v||ue()}),f=!1),h||(m=_||ue(),b.enqueue({type:"text-start",id:m}),h=!0),b.enqueue({type:"text-delta",delta:Z.content,id:m||ue()})),Z.annotations)for(const A of Z.annotations)A.type==="url_citation"&&b.enqueue({type:"source",sourceType:"url",id:A.url_citation.url,url:A.url_citation.url,title:A.url_citation.title,providerMetadata:{openrouter:{content:A.url_citation.content||""}}});if(Z.tool_calls!=null)for(const A of Z.tool_calls){const k=(I=A.index)!=null?I:i.length-1;if(i[k]==null){if(A.type!=="function")throw new Ke({data:A,message:"Expected 'function' type."});if(A.id==null)throw new Ke({data:A,message:"Expected 'id' to be a string."});if(((x=A.function)==null?void 0:x.name)==null)throw new Ke({data:A,message:"Expected 'function.name' to be a string."});i[k]={id:A.id,type:"function",function:{name:A.function.name,arguments:(P=A.function.arguments)!=null?P:""},inputStarted:!1,sent:!1};const z=i[k];if(z==null)throw new Ke({data:{index:k,toolCallsLength:i.length},message:`Tool call at index ${k} is missing after creation.`});((F=z.function)==null?void 0:F.name)!=null&&((K=z.function)==null?void 0:K.arguments)!=null&&sr(z.function.arguments)&&(z.inputStarted=!0,b.enqueue({type:"tool-input-start",id:z.id,toolName:z.function.name}),b.enqueue({type:"tool-input-delta",id:z.id,delta:z.function.arguments}),b.enqueue({type:"tool-input-end",id:z.id}),b.enqueue({type:"tool-call",toolCallId:z.id,toolName:z.function.name,input:z.function.arguments,providerMetadata:{openrouter:{reasoning_details:p}}}),z.sent=!0);continue}const $=i[k];if($==null)throw new Ke({data:{index:k,toolCallsLength:i.length,toolCallDelta:A},message:`Tool call at index ${k} is missing during merge.`});$.inputStarted||($.inputStarted=!0,b.enqueue({type:"tool-input-start",id:$.id,toolName:$.function.name})),((de=A.function)==null?void 0:de.arguments)!=null&&($.function.arguments+=(M=(q=A.function)==null?void 0:q.arguments)!=null?M:""),b.enqueue({type:"tool-input-delta",id:$.id,delta:(pe=A.function.arguments)!=null?pe:""}),((fe=$.function)==null?void 0:fe.name)!=null&&((we=$.function)==null?void 0:we.arguments)!=null&&sr($.function.arguments)&&(b.enqueue({type:"tool-call",toolCallId:(re=$.id)!=null?re:ue(),toolName:$.function.name,input:$.function.arguments,providerMetadata:{openrouter:{reasoning_details:p}}}),$.sent=!0)}if(Z.images!=null)for(const A of Z.images)b.enqueue({type:"file",mediaType:Jn(A.image_url.url,"image/jpeg"),data:Ir(A.image_url.url)})},flush(w){var b;if(c==="tool-calls")for(const E of i)E&&!E.sent&&(w.enqueue({type:"tool-call",toolCallId:(b=E.id)!=null?b:ue(),toolName:E.function.name,input:sr(E.function.arguments)?E.function.arguments:"{}",providerMetadata:{openrouter:{reasoning_details:p}}}),E.sent=!0);f&&w.enqueue({type:"reasoning-end",id:v||ue()}),h&&w.enqueue({type:"text-end",id:m||ue()});const g={usage:d};y!==void 0&&(g.provider=y),p.length>0&&(g.reasoning_details=p),w.enqueue({type:"finish",finishReason:c,usage:u,providerMetadata:{openrouter:g}})}})),warnings:[],request:{body:s},response:{headers:l}}}};function Ud({prompt:e,inputFormat:t,user:r="user",assistant:n="assistant"}){if(e.length===1&&e[0]&&e[0].role==="user"&&e[0].content.length===1&&e[0].content[0]&&e[0].content[0].type==="text")return{prompt:e[0].content[0].text};let s="";e[0]&&e[0].role==="system"&&(s+=`${e[0].content}
|
|
22
|
+
Learn more: https://openrouter.ai/docs/features/multimodal/audio`);return{data:r,format:s}}function Te(e){var t,r,n;const s=e?.anthropic,o=e?.openrouter;return(n=(r=(t=o?.cacheControl)!=null?t:o?.cache_control)!=null?r:s?.cacheControl)!=null?n:s?.cache_control}function _u(e){var t,r,n,s,o,l,i,c,u,d;const p=[];for(const{role:h,content:f,providerOptions:m}of e)switch(h){case"system":{p.push({role:"system",content:f,cache_control:Te(m)});break}case"user":{if(f.length===1&&((t=f[0])==null?void 0:t.type)==="text"){const y=(r=Te(m))!=null?r:Te(f[0].providerOptions),w=y?[{type:"text",text:f[0].text,cache_control:y}]:f[0].text;p.push({role:"user",content:w});break}const v=Te(m),_=f.map(y=>{var w,b,g,E,S,I,x;const P=(w=Te(y.providerOptions))!=null?w:v;switch(y.type){case"text":return{type:"text",text:y.text,cache_control:P};case"file":{if((b=y.mediaType)!=null&&b.startsWith("image/"))return{type:"image_url",image_url:{url:fr({part:y,defaultMediaType:"image/jpeg"})},cache_control:P};if((g=y.mediaType)!=null&&g.startsWith("audio/"))return{type:"input_audio",input_audio:yu(y),cache_control:P};const F=String((x=(I=(S=(E=y.providerOptions)==null?void 0:E.openrouter)==null?void 0:S.filename)!=null?I:y.filename)!=null?x:""),K=fr({part:y,defaultMediaType:"application/pdf"});return Ur({url:K,protocols:new Set(["http:","https:"])})?{type:"file",file:{filename:F,file_data:K}}:{type:"file",file:{filename:F,file_data:K},cache_control:P}}default:return{type:"text",text:"",cache_control:P}}});p.push({role:"user",content:_});break}case"assistant":{let v="",_="";const y=[],w=[];for(const I of f)switch(I.type){case"text":{v+=I.text;break}case"tool-call":{const x=(n=I.providerOptions)==null?void 0:n.openrouter;x?.reasoning_details&&Array.isArray(x.reasoning_details)&&w.push(...x.reasoning_details),y.push({id:I.toolCallId,type:"function",function:{name:I.toolName,arguments:JSON.stringify(I.input)}});break}case"reasoning":{_+=I.text;const x=fn.safeParse(I.providerOptions);x.success&&((o=(s=x.data)==null?void 0:s.openrouter)!=null&&o.reasoning_details)&&w.push(...x.data.openrouter.reasoning_details);break}}const b=fn.safeParse(m),g=b.success?(i=(l=b.data)==null?void 0:l.openrouter)==null?void 0:i.reasoning_details:void 0,E=b.success?(u=(c=b.data)==null?void 0:c.openrouter)==null?void 0:u.annotations:void 0,S=g&&Array.isArray(g)&&g.length>0?g:w.length>0?w:void 0;p.push({role:"assistant",content:v,tool_calls:y.length>0?y:void 0,reasoning:_||void 0,reasoning_details:S,annotations:E,cache_control:Te(m)});break}case"tool":{for(const v of f){const _=bu(v);p.push({role:"tool",tool_call_id:v.toolCallId,content:_,cache_control:(d=Te(m))!=null?d:Te(v.providerOptions)})}break}}return p}function bu(e){return e.output.type==="text"?e.output.value:JSON.stringify(e.output.value)}a.union([a.literal("auto"),a.literal("none"),a.literal("required"),a.object({type:a.literal("function"),function:a.object({name:a.string()})})]);function wu(e){switch(e.type){case"auto":case"none":case"required":return e.type;case"tool":return{type:"function",function:{name:e.toolName}};default:throw new ja({argument:"toolChoice",message:`Invalid tool choice type: ${JSON.stringify(e)}`})}}var Tu=a.object({type:a.literal("image_url"),image_url:a.object({url:a.string()}).passthrough()}).passthrough(),Iu=a.union([Tu,a.unknown().transform(()=>null)]),co=a.array(Iu).transform(e=>e.filter(t=>!!t)),po=a.object({id:a.string().optional(),model:a.string().optional(),provider:a.string().optional(),usage:a.object({prompt_tokens:a.number(),prompt_tokens_details:a.object({cached_tokens:a.number()}).passthrough().nullish(),completion_tokens:a.number(),completion_tokens_details:a.object({reasoning_tokens:a.number()}).passthrough().nullish(),total_tokens:a.number(),cost:a.number().optional(),cost_details:a.object({upstream_inference_cost:a.number().nullish()}).passthrough().nullish()}).passthrough().nullish()}).passthrough(),Eu=a.union([po.extend({choices:a.array(a.object({message:a.object({role:a.literal("assistant"),content:a.string().nullable().optional(),reasoning:a.string().nullable().optional(),reasoning_details:Dr.nullish(),images:co.nullish(),tool_calls:a.array(a.object({id:a.string().optional().nullable(),type:a.literal("function"),function:a.object({name:a.string(),arguments:a.string()}).passthrough()}).passthrough()).optional(),annotations:a.array(a.union([a.object({type:a.literal("url_citation"),url_citation:a.object({end_index:a.number(),start_index:a.number(),title:a.string(),url:a.string(),content:a.string().optional()}).passthrough()}).passthrough(),a.object({type:a.literal("file_annotation"),file_annotation:a.object({file_id:a.string(),quote:a.string().optional()}).passthrough()}).passthrough(),a.object({type:a.literal("file"),file:a.object({hash:a.string(),name:a.string(),content:a.array(a.object({type:a.string(),text:a.string().optional()}).passthrough()).optional()}).passthrough()}).passthrough()])).nullish()}).passthrough(),index:a.number().nullish(),logprobs:a.object({content:a.array(a.object({token:a.string(),logprob:a.number(),top_logprobs:a.array(a.object({token:a.string(),logprob:a.number()}).passthrough())}).passthrough()).nullable()}).passthrough().nullable().optional(),finish_reason:a.string().optional().nullable()}).passthrough())}),Nt.extend({user_id:a.string().optional()})]),Su=a.union([po.extend({choices:a.array(a.object({delta:a.object({role:a._enum$1(["assistant"]).optional(),content:a.string().nullish(),reasoning:a.string().nullish().optional(),reasoning_details:Dr.nullish(),images:co.nullish(),tool_calls:a.array(a.object({index:a.number().nullish(),id:a.string().nullish(),type:a.literal("function").optional(),function:a.object({name:a.string().nullish(),arguments:a.string().nullish()}).passthrough()}).passthrough()).nullish(),annotations:a.array(a.union([a.object({type:a.literal("url_citation"),url_citation:a.object({end_index:a.number(),start_index:a.number(),title:a.string(),url:a.string(),content:a.string().optional()}).passthrough()}).passthrough(),a.object({type:a.literal("file_annotation"),file_annotation:a.object({file_id:a.string(),quote:a.string().optional()}).passthrough()}).passthrough(),a.object({type:a.literal("file"),file:a.object({hash:a.string(),name:a.string(),content:a.array(a.object({type:a.string(),text:a.string().optional()}).passthrough()).optional()}).passthrough()}).passthrough()])).nullish()}).passthrough().nullish(),logprobs:a.object({content:a.array(a.object({token:a.string(),logprob:a.number(),top_logprobs:a.array(a.object({token:a.string(),logprob:a.number()}).passthrough())}).passthrough()).nullable()}).passthrough().nullish(),finish_reason:a.string().nullable().optional(),index:a.number().nullish()}).passthrough())}),Nt]),xu=class{constructor(e,t,r){this.specificationVersion="v2",this.provider="openrouter",this.defaultObjectGenerationMode="tool",this.supportsImageUrls=!0,this.supportedUrls={"image/*":[/^data:image\/[a-zA-Z]+;base64,/,/^https?:\/\/.+\.(jpg|jpeg|png|gif|webp)$/i],"application/*":[/^data:application\//,/^https?:\/\/.+$/]},this.modelId=e,this.settings=t,this.config=r}getArgs({prompt:e,maxOutputTokens:t,temperature:r,topP:n,frequencyPenalty:s,presencePenalty:o,seed:l,stopSequences:i,responseFormat:c,topK:u,tools:d,toolChoice:p}){var h;const f=D(D({model:this.modelId,models:this.settings.models,logit_bias:this.settings.logitBias,logprobs:this.settings.logprobs===!0||typeof this.settings.logprobs=="number"?!0:void 0,top_logprobs:typeof this.settings.logprobs=="number"?this.settings.logprobs:typeof this.settings.logprobs=="boolean"&&this.settings.logprobs?0:void 0,user:this.settings.user,parallel_tool_calls:this.settings.parallelToolCalls,max_tokens:t,temperature:r,top_p:n,frequency_penalty:s,presence_penalty:o,seed:l,stop:i,response_format:c?.type==="json"?c.schema!=null?{type:"json_schema",json_schema:D({schema:c.schema,strict:!0,name:(h=c.name)!=null?h:"response"},c.description&&{description:c.description})}:{type:"json_object"}:void 0,top_k:u,messages:_u(e),include_reasoning:this.settings.includeReasoning,reasoning:this.settings.reasoning,usage:this.settings.usage,plugins:this.settings.plugins,web_search_options:this.settings.web_search_options,provider:this.settings.provider,debug:this.settings.debug},this.config.extraBody),this.settings.extraBody);if(d&&d.length>0){const m=d.filter(v=>v.type==="function").map(v=>({type:"function",function:{name:v.name,description:v.description,parameters:v.inputSchema}}));return St(D({},f),{tools:m,tool_choice:p?wu(p):void 0})}return f}async doGenerate(e){var t,r,n,s,o,l,i,c,u,d,p,h,f,m,v,_,y,w,b,g,E,S,I;const P=(e.providerOptions||{}).openrouter||{},F=D(D({},this.getArgs(e)),P),{value:K,responseHeaders:de}=await tt({url:this.config.url({path:"/chat/completions",modelId:this.modelId}),headers:et(this.config.headers(),e.headers),body:F,failedResponseHandler:rt,successfulResponseHandler:Nr(Eu),abortSignal:e.abortSignal,fetch:this.config.fetch});if("error"in K){const R=K.error;throw new ce({message:R.message,url:this.config.url({path:"/chat/completions",modelId:this.modelId}),requestBodyValues:F,statusCode:200,responseHeaders:de,data:R})}const q=K,M=q.choices[0];if(!M)throw new Xa({message:"No choice in response"});const pe=q.usage?{inputTokens:(t=q.usage.prompt_tokens)!=null?t:0,outputTokens:(r=q.usage.completion_tokens)!=null?r:0,totalTokens:((n=q.usage.prompt_tokens)!=null?n:0)+((s=q.usage.completion_tokens)!=null?s:0),reasoningTokens:(l=(o=q.usage.completion_tokens_details)==null?void 0:o.reasoning_tokens)!=null?l:0,cachedInputTokens:(c=(i=q.usage.prompt_tokens_details)==null?void 0:i.cached_tokens)!=null?c:0}:{inputTokens:0,outputTokens:0,totalTokens:0,reasoningTokens:0,cachedInputTokens:0},fe=(u=M.message.reasoning_details)!=null?u:[],we=fe.length>0?fe.map(R=>{switch(R.type){case"reasoning.text":{if(R.text)return{type:"reasoning",text:R.text,providerMetadata:{openrouter:{reasoning_details:[R]}}};break}case"reasoning.summary":{if(R.summary)return{type:"reasoning",text:R.summary,providerMetadata:{openrouter:{reasoning_details:[R]}}};break}case"reasoning.encrypted":{if(R.data)return{type:"reasoning",text:"[REDACTED]",providerMetadata:{openrouter:{reasoning_details:[R]}}};break}}return null}).filter(R=>R!==null):M.message.reasoning?[{type:"reasoning",text:M.message.reasoning}]:[],re=[];if(re.push(...we),M.message.content&&re.push({type:"text",text:M.message.content}),M.message.tool_calls)for(const R of M.message.tool_calls)re.push({type:"tool-call",toolCallId:(d=R.id)!=null?d:ue(),toolName:R.function.name,input:R.function.arguments,providerMetadata:{openrouter:{reasoning_details:fe}}});if(M.message.images)for(const R of M.message.images)re.push({type:"file",mediaType:mn(R.image_url.url,"image/jpeg"),data:mr(R.image_url.url)});if(M.message.annotations)for(const R of M.message.annotations)R.type==="url_citation"&&re.push({type:"source",sourceType:"url",id:R.url_citation.url,url:R.url_citation.url,title:R.url_citation.title,providerMetadata:{openrouter:{content:R.url_citation.content||""}}});const O=(p=M.message.annotations)==null?void 0:p.filter(R=>R.type==="file");return{content:re,finishReason:Rt(M.finish_reason),usage:pe,warnings:[],providerMetadata:{openrouter:vu.parse({provider:(h=q.provider)!=null?h:"",reasoning_details:(f=M.message.reasoning_details)!=null?f:[],annotations:O&&O.length>0?O:void 0,usage:D(D(D({promptTokens:(m=pe.inputTokens)!=null?m:0,completionTokens:(v=pe.outputTokens)!=null?v:0,totalTokens:(_=pe.totalTokens)!=null?_:0,cost:(y=q.usage)==null?void 0:y.cost},((b=(w=q.usage)==null?void 0:w.prompt_tokens_details)==null?void 0:b.cached_tokens)!=null?{promptTokensDetails:{cachedTokens:q.usage.prompt_tokens_details.cached_tokens}}:{}),((E=(g=q.usage)==null?void 0:g.completion_tokens_details)==null?void 0:E.reasoning_tokens)!=null?{completionTokensDetails:{reasoningTokens:q.usage.completion_tokens_details.reasoning_tokens}}:{}),((I=(S=q.usage)==null?void 0:S.cost_details)==null?void 0:I.upstream_inference_cost)!=null?{costDetails:{upstreamInferenceCost:q.usage.cost_details.upstream_inference_cost}}:{})})},request:{body:F},response:{id:q.id,modelId:q.model,headers:de}}}async doStream(e){var t;const n=(e.providerOptions||{}).openrouter||{},s=D(D({},this.getArgs(e)),n),{value:o,responseHeaders:l}=await tt({url:this.config.url({path:"/chat/completions",modelId:this.modelId}),headers:et(this.config.headers(),e.headers),body:St(D({},s),{stream:!0,stream_options:this.config.compatibility==="strict"?D({include_usage:!0},(t=this.settings.usage)!=null&&t.include?{include_usage:!0}:{}):void 0}),failedResponseHandler:rt,successfulResponseHandler:io(Su),abortSignal:e.abortSignal,fetch:this.config.fetch}),i=[];let c="other";const u={inputTokens:Number.NaN,outputTokens:Number.NaN,totalTokens:Number.NaN,reasoningTokens:Number.NaN,cachedInputTokens:Number.NaN},d={},p=[];let h=!1,f=!1,m,v,_,y;return{stream:o.pipeThrough(new TransformStream({transform(w,b){var g,E,S,I,x,P,F,K,de,q,M,pe,fe,we,re;if(!w.success){c="error",b.enqueue({type:"error",error:w.error});return}const O=w.value;if("error"in O){c="error",b.enqueue({type:"error",error:O.error});return}if(O.provider&&(y=O.provider),O.id&&(_=O.id,b.enqueue({type:"response-metadata",id:O.id})),O.model&&b.enqueue({type:"response-metadata",modelId:O.model}),O.usage!=null){if(u.inputTokens=O.usage.prompt_tokens,u.outputTokens=O.usage.completion_tokens,u.totalTokens=O.usage.prompt_tokens+O.usage.completion_tokens,d.promptTokens=O.usage.prompt_tokens,O.usage.prompt_tokens_details){const k=(g=O.usage.prompt_tokens_details.cached_tokens)!=null?g:0;u.cachedInputTokens=k,d.promptTokensDetails={cachedTokens:k}}if(d.completionTokens=O.usage.completion_tokens,O.usage.completion_tokens_details){const k=(E=O.usage.completion_tokens_details.reasoning_tokens)!=null?E:0;u.reasoningTokens=k,d.completionTokensDetails={reasoningTokens:k}}d.cost=O.usage.cost,d.totalTokens=O.usage.total_tokens;const C=(S=O.usage.cost_details)==null?void 0:S.upstream_inference_cost;C!=null&&(d.costDetails={upstreamInferenceCost:C})}const R=O.choices[0];if(R?.finish_reason!=null&&(c=Rt(R.finish_reason)),R?.delta==null)return;const Z=R.delta,ae=(C,k)=>{f||(v=_||ue(),b.enqueue({providerMetadata:k,type:"reasoning-start",id:v}),f=!0),b.enqueue({providerMetadata:k,type:"reasoning-delta",delta:C,id:v||ue()})};if(Z.reasoning_details&&Z.reasoning_details.length>0){for(const k of Z.reasoning_details)if(k.type==="reasoning.text"){const $=p[p.length-1];$?.type==="reasoning.text"?($.text=($.text||"")+(k.text||""),$.signature=$.signature||k.signature,$.format=$.format||k.format):p.push(D({},k))}else p.push(k);const C={openrouter:{reasoning_details:Z.reasoning_details}};for(const k of Z.reasoning_details)switch(k.type){case"reasoning.text":{k.text&&ae(k.text,C);break}case"reasoning.encrypted":{k.data&&ae("[REDACTED]",C);break}case"reasoning.summary":{k.summary&&ae(k.summary,C);break}}}else Z.reasoning&&ae(Z.reasoning);if(Z.content&&(f&&!h&&(b.enqueue({type:"reasoning-end",id:v||ue()}),f=!1),h||(m=_||ue(),b.enqueue({type:"text-start",id:m}),h=!0),b.enqueue({type:"text-delta",delta:Z.content,id:m||ue()})),Z.annotations)for(const C of Z.annotations)C.type==="url_citation"&&b.enqueue({type:"source",sourceType:"url",id:C.url_citation.url,url:C.url_citation.url,title:C.url_citation.title,providerMetadata:{openrouter:{content:C.url_citation.content||""}}});if(Z.tool_calls!=null)for(const C of Z.tool_calls){const k=(I=C.index)!=null?I:i.length-1;if(i[k]==null){if(C.type!=="function")throw new Ze({data:C,message:"Expected 'function' type."});if(C.id==null)throw new Ze({data:C,message:"Expected 'id' to be a string."});if(((x=C.function)==null?void 0:x.name)==null)throw new Ze({data:C,message:"Expected 'function.name' to be a string."});i[k]={id:C.id,type:"function",function:{name:C.function.name,arguments:(P=C.function.arguments)!=null?P:""},inputStarted:!1,sent:!1};const z=i[k];if(z==null)throw new Ze({data:{index:k,toolCallsLength:i.length},message:`Tool call at index ${k} is missing after creation.`});((F=z.function)==null?void 0:F.name)!=null&&((K=z.function)==null?void 0:K.arguments)!=null&&Xt(z.function.arguments)&&(z.inputStarted=!0,b.enqueue({type:"tool-input-start",id:z.id,toolName:z.function.name}),b.enqueue({type:"tool-input-delta",id:z.id,delta:z.function.arguments}),b.enqueue({type:"tool-input-end",id:z.id}),b.enqueue({type:"tool-call",toolCallId:z.id,toolName:z.function.name,input:z.function.arguments,providerMetadata:{openrouter:{reasoning_details:p}}}),z.sent=!0);continue}const $=i[k];if($==null)throw new Ze({data:{index:k,toolCallsLength:i.length,toolCallDelta:C},message:`Tool call at index ${k} is missing during merge.`});$.inputStarted||($.inputStarted=!0,b.enqueue({type:"tool-input-start",id:$.id,toolName:$.function.name})),((de=C.function)==null?void 0:de.arguments)!=null&&($.function.arguments+=(M=(q=C.function)==null?void 0:q.arguments)!=null?M:""),b.enqueue({type:"tool-input-delta",id:$.id,delta:(pe=C.function.arguments)!=null?pe:""}),((fe=$.function)==null?void 0:fe.name)!=null&&((we=$.function)==null?void 0:we.arguments)!=null&&Xt($.function.arguments)&&(b.enqueue({type:"tool-call",toolCallId:(re=$.id)!=null?re:ue(),toolName:$.function.name,input:$.function.arguments,providerMetadata:{openrouter:{reasoning_details:p}}}),$.sent=!0)}if(Z.images!=null)for(const C of Z.images)b.enqueue({type:"file",mediaType:mn(C.image_url.url,"image/jpeg"),data:mr(C.image_url.url)})},flush(w){var b;if(c==="tool-calls")for(const E of i)E&&!E.sent&&(w.enqueue({type:"tool-call",toolCallId:(b=E.id)!=null?b:ue(),toolName:E.function.name,input:Xt(E.function.arguments)?E.function.arguments:"{}",providerMetadata:{openrouter:{reasoning_details:p}}}),E.sent=!0);f&&w.enqueue({type:"reasoning-end",id:v||ue()}),h&&w.enqueue({type:"text-end",id:m||ue()});const g={usage:d};y!==void 0&&(g.provider=y),p.length>0&&(g.reasoning_details=p),w.enqueue({type:"finish",finishReason:c,usage:u,providerMetadata:{openrouter:g}})}})),warnings:[],request:{body:s},response:{headers:l}}}};function Ru({prompt:e,inputFormat:t,user:r="user",assistant:n="assistant"}){if(e.length===1&&e[0]&&e[0].role==="user"&&e[0].content.length===1&&e[0].content[0]&&e[0].content[0].type==="text")return{prompt:e[0].content[0].text};let s="";e[0]&&e[0].role==="system"&&(s+=`${e[0].content}
|
|
46
23
|
|
|
47
|
-
`,e=e.slice(1));for(const{role:o,content:l}of e)switch(o){case"system":throw new
|
|
24
|
+
`,e=e.slice(1));for(const{role:o,content:l}of e)switch(o){case"system":throw new $l({message:`Unexpected system message in prompt: ${l}`,prompt:e});case"user":{const i=l.map(c=>{switch(c.type){case"text":return c.text;case"file":throw new Ie({functionality:"file attachments"});default:return""}}).join("");s+=`${r}:
|
|
48
25
|
${i}
|
|
49
26
|
|
|
50
27
|
`;break}case"assistant":{const i=l.map(c=>{switch(c.type){case"text":return c.text;case"tool-call":throw new Ie({functionality:"tool-call messages"});case"tool-result":throw new Ie({functionality:"tool-result messages"});case"reasoning":throw new Ie({functionality:"reasoning messages"});case"file":throw new Ie({functionality:"file attachments"});default:return""}}).join("");s+=`${n}:
|
|
51
28
|
${i}
|
|
52
29
|
|
|
53
30
|
`;break}case"tool":throw new Ie({functionality:"tool messages"})}return s+=`${n}:
|
|
54
|
-
`,{prompt:s}}var Gn=a.union([a.object({id:a.string().optional(),model:a.string().optional(),choices:a.array(a.object({text:a.string(),reasoning:a.string().nullish().optional(),reasoning_details:Ur.nullish(),finish_reason:a.string().nullish(),index:a.number().nullish(),logprobs:a.object({tokens:a.array(a.string()),token_logprobs:a.array(a.number()),top_logprobs:a.array(a.record(a.string(),a.number())).nullable()}).passthrough().nullable().optional()}).passthrough()),usage:a.object({prompt_tokens:a.number(),prompt_tokens_details:a.object({cached_tokens:a.number()}).passthrough().nullish(),completion_tokens:a.number(),completion_tokens_details:a.object({reasoning_tokens:a.number()}).passthrough().nullish(),total_tokens:a.number(),cost:a.number().optional(),cost_details:a.object({upstream_inference_cost:a.number().nullish()}).passthrough().nullish()}).passthrough().nullish()}).passthrough(),$t]),qd=class{constructor(e,t,r){this.specificationVersion="v2",this.provider="openrouter",this.supportsImageUrls=!0,this.supportedUrls={"image/*":[/^data:image\/[a-zA-Z]+;base64,/,/^https?:\/\/.+\.(jpg|jpeg|png|gif|webp)$/i],"text/*":[/^data:text\//,/^https?:\/\/.+$/],"application/*":[/^data:application\//,/^https?:\/\/.+$/]},this.defaultObjectGenerationMode=void 0,this.modelId=e,this.settings=t,this.config=r}getArgs({prompt:e,maxOutputTokens:t,temperature:r,topP:n,frequencyPenalty:s,presencePenalty:o,seed:l,responseFormat:i,topK:c,stopSequences:u,tools:d,toolChoice:p}){const{prompt:h}=Ud({prompt:e,inputFormat:"prompt"});if(d?.length)throw new Ie({functionality:"tools"});if(p)throw new Ie({functionality:"toolChoice"});return j(j({model:this.modelId,models:this.settings.models,logit_bias:this.settings.logitBias,logprobs:typeof this.settings.logprobs=="number"?this.settings.logprobs:typeof this.settings.logprobs=="boolean"&&this.settings.logprobs?0:void 0,suffix:this.settings.suffix,user:this.settings.user,max_tokens:t,temperature:r,top_p:n,frequency_penalty:s,presence_penalty:o,seed:l,stop:u,response_format:i,top_k:c,prompt:h,include_reasoning:this.settings.includeReasoning,reasoning:this.settings.reasoning},this.config.extraBody),this.settings.extraBody)}async doGenerate(e){var t,r,n,s,o,l,i,c,u,d,p,h,f,m,v;const y=(e.providerOptions||{}).openrouter||{},w=j(j({},this.getArgs(e)),y),{value:b,responseHeaders:g}=await at({url:this.config.url({path:"/completions",modelId:this.modelId}),headers:nt(this.config.headers(),e.headers),body:w,failedResponseHandler:ot,successfulResponseHandler:$r(Gn),abortSignal:e.abortSignal,fetch:this.config.fetch});if("error"in b){const S=b.error;throw new ce({message:S.message,url:this.config.url({path:"/completions",modelId:this.modelId}),requestBodyValues:w,statusCode:200,responseHeaders:g,data:S})}const E=b.choices[0];if(!E)throw new zo({message:"No choice in OpenRouter completion response"});return{content:[{type:"text",text:(t=E.text)!=null?t:""}],finishReason:Et(E.finish_reason),usage:{inputTokens:(n=(r=b.usage)==null?void 0:r.prompt_tokens)!=null?n:0,outputTokens:(o=(s=b.usage)==null?void 0:s.completion_tokens)!=null?o:0,totalTokens:((i=(l=b.usage)==null?void 0:l.prompt_tokens)!=null?i:0)+((u=(c=b.usage)==null?void 0:c.completion_tokens)!=null?u:0),reasoningTokens:(h=(p=(d=b.usage)==null?void 0:d.completion_tokens_details)==null?void 0:p.reasoning_tokens)!=null?h:0,cachedInputTokens:(v=(m=(f=b.usage)==null?void 0:f.prompt_tokens_details)==null?void 0:m.cached_tokens)!=null?v:0},warnings:[],response:{headers:g}}}async doStream(e){const r=(e.providerOptions||{}).openrouter||{},n=j(j({},this.getArgs(e)),r),{value:s,responseHeaders:o}=await at({url:this.config.url({path:"/completions",modelId:this.modelId}),headers:nt(this.config.headers(),e.headers),body:Tt(j({},n),{stream:!0,stream_options:this.config.compatibility==="strict"?{include_usage:!0}:void 0}),failedResponseHandler:ot,successfulResponseHandler:as(Gn),abortSignal:e.abortSignal,fetch:this.config.fetch});let l="other";const i={inputTokens:Number.NaN,outputTokens:Number.NaN,totalTokens:Number.NaN,reasoningTokens:Number.NaN,cachedInputTokens:Number.NaN},c={};return{stream:s.pipeThrough(new TransformStream({transform(u,d){var p,h,f;if(!u.success){l="error",d.enqueue({type:"error",error:u.error});return}const m=u.value;if("error"in m){l="error",d.enqueue({type:"error",error:m.error});return}if(m.usage!=null){if(i.inputTokens=m.usage.prompt_tokens,i.outputTokens=m.usage.completion_tokens,i.totalTokens=m.usage.prompt_tokens+m.usage.completion_tokens,c.promptTokens=m.usage.prompt_tokens,m.usage.prompt_tokens_details){const y=(p=m.usage.prompt_tokens_details.cached_tokens)!=null?p:0;i.cachedInputTokens=y,c.promptTokensDetails={cachedTokens:y}}if(c.completionTokens=m.usage.completion_tokens,m.usage.completion_tokens_details){const y=(h=m.usage.completion_tokens_details.reasoning_tokens)!=null?h:0;i.reasoningTokens=y,c.completionTokensDetails={reasoningTokens:y}}c.cost=m.usage.cost,c.totalTokens=m.usage.total_tokens;const _=(f=m.usage.cost_details)==null?void 0:f.upstream_inference_cost;_!=null&&(c.costDetails={upstreamInferenceCost:_})}const v=m.choices[0];v?.finish_reason!=null&&(l=Et(v.finish_reason)),v?.text!=null&&d.enqueue({type:"text-delta",delta:v.text,id:ue()})},flush(u){u.enqueue({type:"finish",finishReason:l,usage:i,providerMetadata:{openrouter:{usage:c}}})}})),response:{headers:o}}}},Fd=a.object({prompt_tokens:a.number(),total_tokens:a.number(),cost:a.number().optional()}),Ld=a.object({object:a.literal("embedding"),embedding:a.array(a.number()),index:a.number().optional()}),Vd=a.object({id:a.string().optional(),object:a.literal("list"),data:a.array(Ld),model:a.string(),usage:Fd.optional()}),Bd=class{constructor(e,t,r){this.specificationVersion="v2",this.provider="openrouter",this.maxEmbeddingsPerCall=void 0,this.supportsParallelCalls=!0,this.modelId=e,this.settings=t,this.config=r}async doEmbed(e){var t;const{values:r,abortSignal:n,headers:s}=e,o=j(j({model:this.modelId,input:r,user:this.settings.user,provider:this.settings.provider},this.config.extraBody),this.settings.extraBody),{value:l,responseHeaders:i}=await at({url:this.config.url({path:"/embeddings",modelId:this.modelId}),headers:nt(this.config.headers(),s),body:o,failedResponseHandler:ot,successfulResponseHandler:$r(Vd),abortSignal:n,fetch:this.config.fetch});return{embeddings:l.data.map(c=>c.embedding),usage:l.usage?{tokens:l.usage.prompt_tokens}:void 0,providerMetadata:(t=l.usage)!=null&&t.cost?{openrouter:{usage:{cost:l.usage.cost}}}:void 0,response:{headers:i,body:l}}}};function Hd(e){return Object.fromEntries(Object.entries(e).filter(([,t])=>t!==null))}function Zd(e,...t){const r=Hd(e??{}),s=[r["user-agent"]||"",...t].filter(Boolean).join(" ");return Tt(j({},r),{"user-agent":s})}var Kd="1.4.1";function us(e={}){var t,r,n;const s=(r=Ed((t=e.baseURL)!=null?t:e.baseUrl))!=null?r:"https://openrouter.ai/api/v1",o=(n=e.compatibility)!=null?n:"compatible",l=()=>Zd(j(j({Authorization:`Bearer ${id({apiKey:e.apiKey,environmentVariableName:"OPENROUTER_API_KEY",description:"OpenRouter"})}`},e.headers),e.api_keys&&Object.keys(e.api_keys).length>0&&{"X-Provider-API-Keys":JSON.stringify(e.api_keys)}),`ai-sdk/openrouter/${Kd}`),i=(h,f={})=>new Dd(h,f,{provider:"openrouter.chat",url:({path:m})=>`${s}${m}`,headers:l,compatibility:o,fetch:e.fetch,extraBody:e.extraBody}),c=(h,f={})=>new qd(h,f,{provider:"openrouter.completion",url:({path:m})=>`${s}${m}`,headers:l,compatibility:o,fetch:e.fetch,extraBody:e.extraBody}),u=(h,f={})=>new Bd(h,f,{provider:"openrouter.embedding",url:({path:m})=>`${s}${m}`,headers:l,fetch:e.fetch,extraBody:e.extraBody}),d=(h,f)=>{if(new.target)throw new Error("The OpenRouter model function cannot be called with the new keyword.");return h==="openai/gpt-3.5-turbo-instruct"?c(h,f):i(h,f)},p=(h,f)=>d(h,f);return p.languageModel=d,p.chat=i,p.completion=c,p.textEmbeddingModel=u,p.embedding=u,p}us({compatibility:"strict"});let Fr;Fr=globalThis.crypto;async function Jd(e){return(await Fr).getRandomValues(new Uint8Array(e))}async function Gd(e){const t="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-._~",r=Math.pow(2,8)-Math.pow(2,8)%t.length;let n="";for(;n.length<e;){const s=await Jd(e-n.length);for(const o of s)o<r&&(n+=t[o%t.length])}return n}async function zd(e){return await Gd(e)}async function Wd(e){const t=await(await Fr).subtle.digest("SHA-256",new TextEncoder().encode(e));return btoa(String.fromCharCode(...new Uint8Array(t))).replace(/\//g,"_").replace(/\+/g,"-").replace(/=/g,"")}async function Yd(e){if(e||(e=43),e<43||e>128)throw`Expected a length between 43 and 128. Received ${e}.`;const t=await zd(e),r=await Wd(t);return{code_verifier:t,code_challenge:r}}var Xd="AI_MCPClientError",cs=`vercel.ai.error.${Xd}`,Qd=Symbol.for(cs),zn,Wn,D=class extends(Wn=a.AISDKError,zn=Qd,Wn){constructor({name:e="MCPClientError",message:t,cause:r,data:n,code:s}){super({name:e,message:t,cause:r}),this[zn]=!0,this.data=n,this.code=s}static isInstance(e){return a.AISDKError.hasMarker(e,cs)}},Ue="2025-06-18",ep=[Ue,"2025-03-26","2024-11-05"],tp=a.looseObject({name:a.string(),version:a.string()}),jt=a.looseObject({_meta:a.optional(a.object({}).loose())}),be=jt,ds=a.object({method:a.string(),params:a.optional(jt)}),ps=a.object({applyDefaults:a.optional(a.boolean())}).loose(),rp=a.looseObject({experimental:a.optional(a.object({}).loose()),logging:a.optional(a.object({}).loose()),prompts:a.optional(a.looseObject({listChanged:a.optional(a.boolean())})),resources:a.optional(a.looseObject({subscribe:a.optional(a.boolean()),listChanged:a.optional(a.boolean())})),tools:a.optional(a.looseObject({listChanged:a.optional(a.boolean())})),elicitation:a.optional(ps)});a.object({elicitation:a.optional(ps)}).loose();var np=be.extend({protocolVersion:a.string(),capabilities:rp,serverInfo:tp,instructions:a.optional(a.string())}),Lr=be.extend({nextCursor:a.optional(a.string())}),ap=a.object({name:a.string(),description:a.optional(a.string()),inputSchema:a.object({type:a.literal("object"),properties:a.optional(a.object({}).loose())}).loose()}).loose(),op=Lr.extend({tools:a.array(ap)}),fs=a.object({type:a.literal("text"),text:a.string()}).loose(),ms=a.object({type:a.literal("image"),data:a.base64(),mimeType:a.string()}).loose(),sp=a.object({uri:a.string(),name:a.string(),title:a.optional(a.string()),description:a.optional(a.string()),mimeType:a.optional(a.string()),size:a.optional(a.number())}).loose(),ip=Lr.extend({resources:a.array(sp)}),hs=a.object({uri:a.string(),name:a.optional(a.string()),title:a.optional(a.string()),mimeType:a.optional(a.string())}).loose(),gs=hs.extend({text:a.string()}),vs=hs.extend({blob:a.base64()}),ys=a.object({type:a.literal("resource"),resource:a.union([gs,vs])}).loose(),lp=be.extend({content:a.array(a.union([fs,ms,ys])),isError:a.boolean().default(!1).optional()}).or(be.extend({toolResult:a.unknown()})),up=a.object({uriTemplate:a.string(),name:a.string(),title:a.optional(a.string()),description:a.optional(a.string()),mimeType:a.optional(a.string())}).loose(),cp=be.extend({resourceTemplates:a.array(up)}),dp=be.extend({contents:a.array(a.union([gs,vs]))}),pp=a.object({name:a.string(),description:a.optional(a.string()),required:a.optional(a.boolean())}).loose(),fp=a.object({name:a.string(),title:a.optional(a.string()),description:a.optional(a.string()),arguments:a.optional(a.array(pp))}).loose(),mp=Lr.extend({prompts:a.array(fp)}),hp=a.object({role:a.union([a.literal("user"),a.literal("assistant")]),content:a.union([fs,ms,ys])}).loose(),gp=be.extend({description:a.optional(a.string()),messages:a.array(hp)}),vp=jt.extend({message:a.string(),requestedSchema:a.unknown()}),Yn=ds.extend({method:a.literal("elicitation/create"),params:vp}),yp=be.extend({action:a.union([a.literal("accept"),a.literal("decline"),a.literal("cancel")]),content:a.optional(a.record(a.string(),a.unknown()))}),Dt="2.0",_p=a.object({jsonrpc:a.literal(Dt),id:a.union([a.string(),a.number().int()])}).merge(ds).strict(),bp=a.object({jsonrpc:a.literal(Dt),id:a.union([a.string(),a.number().int()]),result:be}).strict(),wp=a.object({jsonrpc:a.literal(Dt),id:a.union([a.string(),a.number().int()]),error:a.object({code:a.number().int(),message:a.string(),data:a.optional(a.unknown())})}).strict(),Tp=a.object({jsonrpc:a.literal(Dt)}).merge(a.object({method:a.string(),params:a.optional(jt)})).strict(),Je=a.union([_p,Tp,bp,wp]),_s=typeof __PACKAGE_VERSION__<"u"?__PACKAGE_VERSION__:"0.0.0-test",bs=a.object({access_token:a.string(),id_token:a.string().optional(),token_type:a.string(),expires_in:a.number().optional(),scope:a.string().optional(),refresh_token:a.string().optional()}).strip(),X=a.string().url().superRefine((e,t)=>{if(!URL.canParse(e))return t.addIssue({code:a.ZodIssueCode.custom,message:"URL must be parseable",fatal:!0}),a.NEVER}).refine(e=>{const t=new URL(e);return t.protocol!=="javascript:"&&t.protocol!=="data:"&&t.protocol!=="vbscript:"},{message:"URL cannot use javascript:, data:, or vbscript: scheme"}),Ip=a.object({resource:a.string().url(),authorization_servers:a.array(X).optional(),jwks_uri:a.string().url().optional(),scopes_supported:a.array(a.string()).optional(),bearer_methods_supported:a.array(a.string()).optional(),resource_signing_alg_values_supported:a.array(a.string()).optional(),resource_name:a.string().optional(),resource_documentation:a.string().optional(),resource_policy_uri:a.string().url().optional(),resource_tos_uri:a.string().url().optional(),tls_client_certificate_bound_access_tokens:a.boolean().optional(),authorization_details_types_supported:a.array(a.string()).optional(),dpop_signing_alg_values_supported:a.array(a.string()).optional(),dpop_bound_access_tokens_required:a.boolean().optional()}).passthrough(),ws=a.object({issuer:a.string(),authorization_endpoint:X,token_endpoint:X,registration_endpoint:X.optional(),scopes_supported:a.array(a.string()).optional(),response_types_supported:a.array(a.string()),grant_types_supported:a.array(a.string()).optional(),code_challenge_methods_supported:a.array(a.string()),token_endpoint_auth_methods_supported:a.array(a.string()).optional(),token_endpoint_auth_signing_alg_values_supported:a.array(a.string()).optional()}).passthrough(),Ep=a.object({issuer:a.string(),authorization_endpoint:X,token_endpoint:X,userinfo_endpoint:X.optional(),jwks_uri:X,registration_endpoint:X.optional(),scopes_supported:a.array(a.string()).optional(),response_types_supported:a.array(a.string()),grant_types_supported:a.array(a.string()).optional(),subject_types_supported:a.array(a.string()),id_token_signing_alg_values_supported:a.array(a.string()),claims_supported:a.array(a.string()).optional(),token_endpoint_auth_methods_supported:a.array(a.string()).optional()}).passthrough(),Sp=Ep.merge(ws.pick({code_challenge_methods_supported:!0})),xp=a.object({client_id:a.string(),client_secret:a.string().optional(),client_id_issued_at:a.number().optional(),client_secret_expires_at:a.number().optional()}).strip(),Rp=a.object({redirect_uris:a.array(X),token_endpoint_auth_method:a.string().optional(),grant_types:a.array(a.string()).optional(),response_types:a.array(a.string()).optional(),client_name:a.string().optional(),client_uri:X.optional(),logo_uri:X.optional(),scope:a.string().optional(),contacts:a.array(a.string()).optional(),tos_uri:X.optional(),policy_uri:a.string().optional(),jwks_uri:X.optional(),jwks:a.any().optional(),software_id:a.string().optional(),software_version:a.string().optional(),software_statement:a.string().optional()}).strip(),Cp=a.object({error:a.string(),error_description:a.string().optional(),error_uri:a.string().optional()}),Ap=Rp.merge(xp),Pp="AI_MCPClientOAuthError",Ts=`vercel.ai.error.${Pp}`,kp=Symbol.for(Ts),Xn,Qn,lt=class extends(Qn=a.AISDKError,Xn=kp,Qn){constructor({name:e="MCPClientOAuthError",message:t,cause:r}){super({name:e,message:t,cause:r}),this[Xn]=!0}static isInstance(e){return a.AISDKError.hasMarker(e,Ts)}},je=class extends lt{};je.errorCode="server_error";var St=class extends lt{};St.errorCode="invalid_client";var xt=class extends lt{};xt.errorCode="invalid_grant";var Rt=class extends lt{};Rt.errorCode="unauthorized_client";var Op={[je.errorCode]:je,[St.errorCode]:St,[xt.errorCode]:xt,[Rt.errorCode]:Rt};function Mp(e){const t=typeof e=="string"?new URL(e):new URL(e.href);return t.hash="",t}function Np({requestedResource:e,configuredResource:t}){const r=typeof e=="string"?new URL(e):new URL(e.href),n=typeof t=="string"?new URL(t):new URL(t.href);if(r.origin!==n.origin||r.pathname.length<n.pathname.length)return!1;const s=r.pathname.endsWith("/")?r.pathname:r.pathname+"/",o=n.pathname.endsWith("/")?n.pathname:n.pathname+"/";return s.startsWith(o)}var Ct=class extends Error{constructor(e="Unauthorized"){super(e),this.name="UnauthorizedError"}};function At(e){var t;const r=(t=e.headers.get("www-authenticate"))!=null?t:e.headers.get("WWW-Authenticate");if(!r)return;const[n,s]=r.split(" ");if(n.toLowerCase()!=="bearer"||!s)return;const o=/resource_metadata="([^"]*)"/,l=r.match(o);if(l)try{return new URL(l[1])}catch{return}}function $p(e,t="",r={}){return t.endsWith("/")&&(t=t.slice(0,-1)),r.prependPathname?`${t}/.well-known/${e}`:`/.well-known/${e}${t}`}async function Vr(e,t,r=fetch){try{return await r(e,{headers:t})}catch(n){if(n instanceof TypeError)return t?Vr(e,void 0,r):void 0;throw n}}async function ea(e,t,r=fetch){return await Vr(e,{"MCP-Protocol-Version":t},r)}function jp(e,t){return!e||e.status>=400&&e.status<500&&t!=="/"}async function Dp(e,t,r,n){var s,o;const l=new URL(e),i=(s=n?.protocolVersion)!=null?s:Ue;let c;if(n?.metadataUrl)c=new URL(n.metadataUrl);else{const d=$p(t,l.pathname);c=new URL(d,(o=n?.metadataServerUrl)!=null?o:l),c.search=l.search}let u=await ea(c,i,r);if(!n?.metadataUrl&&jp(u,l.pathname)){const d=new URL(`/.well-known/${t}`,l);u=await ea(d,i,r)}return u}async function Up(e,t,r=fetch){const n=await Dp(e,"oauth-protected-resource",r,{protocolVersion:t?.protocolVersion,metadataUrl:t?.resourceMetadataUrl});if(!n||n.status===404)throw new Error("Resource server does not implement OAuth 2.0 Protected Resource Metadata.");if(!n.ok)throw new Error(`HTTP ${n.status} trying to load well-known OAuth protected resource metadata.`);return Ip.parse(await n.json())}function qp(e){const t=typeof e=="string"?new URL(e):e,r=t.pathname!=="/",n=[];if(!r)return n.push({url:new URL("/.well-known/oauth-authorization-server",t.origin),type:"oauth"}),n.push({url:new URL("/.well-known/openid-configuration",t.origin),type:"oidc"}),n;let s=t.pathname;return s.endsWith("/")&&(s=s.slice(0,-1)),n.push({url:new URL(`/.well-known/oauth-authorization-server${s}`,t.origin),type:"oauth"}),n.push({url:new URL("/.well-known/oauth-authorization-server",t.origin),type:"oauth"}),n.push({url:new URL(`/.well-known/openid-configuration${s}`,t.origin),type:"oidc"}),n.push({url:new URL(`${s}/.well-known/openid-configuration`,t.origin),type:"oidc"}),n}async function Fp(e,{fetchFn:t=fetch,protocolVersion:r=Ue}={}){var n;const s={"MCP-Protocol-Version":r},o=qp(e);for(const{url:l,type:i}of o){const c=await Vr(l,s,t);if(c){if(!c.ok){if(c.status>=400&&c.status<500)continue;throw new Error(`HTTP ${c.status} trying to load ${i==="oauth"?"OAuth":"OpenID provider"} metadata from ${l}`)}if(i==="oauth")return ws.parse(await c.json());{const u=Sp.parse(await c.json());if(!((n=u.code_challenge_methods_supported)!=null&&n.includes("S256")))throw new Error(`Incompatible OIDC provider at ${l}: does not support S256 code challenge method required by MCP specification`);return u}}}}async function Lp(e,{metadata:t,clientInformation:r,redirectUrl:n,scope:s,state:o,resource:l}){const i="code",c="S256";let u;if(t){if(u=new URL(t.authorization_endpoint),!t.response_types_supported.includes(i))throw new Error(`Incompatible auth server: does not support response type ${i}`);if(!t.code_challenge_methods_supported||!t.code_challenge_methods_supported.includes(c))throw new Error(`Incompatible auth server: does not support code challenge method ${c}`)}else u=new URL("/authorize",e);const d=await Yd(),p=d.code_verifier,h=d.code_challenge;return u.searchParams.set("response_type",i),u.searchParams.set("client_id",r.client_id),u.searchParams.set("code_challenge",h),u.searchParams.set("code_challenge_method",c),u.searchParams.set("redirect_uri",String(n)),o&&u.searchParams.set("state",o),s&&u.searchParams.set("scope",s),s?.includes("offline_access")&&u.searchParams.append("prompt","consent"),l&&u.searchParams.set("resource",l.href),{authorizationUrl:u,codeVerifier:p}}function Is(e,t){const r=e.client_secret!==void 0;return t.length===0?r?"client_secret_post":"none":r&&t.includes("client_secret_basic")?"client_secret_basic":r&&t.includes("client_secret_post")?"client_secret_post":t.includes("none")?"none":r?"client_secret_post":"none"}function Es(e,t,r,n){const{client_id:s,client_secret:o}=t;switch(e){case"client_secret_basic":Vp(s,o,r);return;case"client_secret_post":Bp(s,o,n);return;case"none":Hp(s,n);return;default:throw new Error(`Unsupported client authentication method: ${e}`)}}function Vp(e,t,r){if(!t)throw new Error("client_secret_basic authentication requires a client_secret");const n=btoa(`${e}:${t}`);r.set("Authorization",`Basic ${n}`)}function Bp(e,t,r){r.set("client_id",e),t&&r.set("client_secret",t)}function Hp(e,t){t.set("client_id",e)}async function Br(e){const t=e instanceof Response?e.status:void 0,r=e instanceof Response?await e.text():e;try{const n=Cp.parse(JSON.parse(r)),{error:s,error_description:o,error_uri:l}=n,i=Op[s]||je;return new i({message:o||"",cause:l})}catch(n){const s=`${t?`HTTP ${t}: `:""}Invalid OAuth error response: ${n}. Raw body: ${r}`;return new je({message:s})}}async function Zp(e,{metadata:t,clientInformation:r,authorizationCode:n,codeVerifier:s,redirectUri:o,resource:l,addClientAuthentication:i,fetchFn:c}){var u;const d="authorization_code",p=t?.token_endpoint?new URL(t.token_endpoint):new URL("/token",e);if(t?.grant_types_supported&&!t.grant_types_supported.includes(d))throw new Error(`Incompatible auth server: does not support grant type ${d}`);const h=new Headers({"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"}),f=new URLSearchParams({grant_type:d,code:n,code_verifier:s,redirect_uri:String(o)});if(i)i(h,f,e,t);else{const v=(u=t?.token_endpoint_auth_methods_supported)!=null?u:[],_=Is(r,v);Es(_,r,h,f)}l&&f.set("resource",l.href);const m=await(c??fetch)(p,{method:"POST",headers:h,body:f});if(!m.ok)throw await Br(m);return bs.parse(await m.json())}async function Kp(e,{metadata:t,clientInformation:r,refreshToken:n,resource:s,addClientAuthentication:o,fetchFn:l}){var i;const c="refresh_token";let u;if(t){if(u=new URL(t.token_endpoint),t.grant_types_supported&&!t.grant_types_supported.includes(c))throw new Error(`Incompatible auth server: does not support grant type ${c}`)}else u=new URL("/token",e);const d=new Headers({"Content-Type":"application/x-www-form-urlencoded"}),p=new URLSearchParams({grant_type:c,refresh_token:n});if(o)o(d,p,e,t);else{const f=(i=t?.token_endpoint_auth_methods_supported)!=null?i:[],m=Is(r,f);Es(m,r,d,p)}s&&p.set("resource",s.href);const h=await(l??fetch)(u,{method:"POST",headers:d,body:p});if(!h.ok)throw await Br(h);return bs.parse({refresh_token:n,...await h.json()})}async function Jp(e,{metadata:t,clientMetadata:r,fetchFn:n}){let s;if(t){if(!t.registration_endpoint)throw new Error("Incompatible auth server: does not support dynamic client registration");s=new URL(t.registration_endpoint)}else s=new URL("/register",e);const o=await(n??fetch)(s,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(r)});if(!o.ok)throw await Br(o);return Ap.parse(await o.json())}async function Pt(e,t){var r,n;try{return await lr(e,t)}catch(s){if(s instanceof St||s instanceof Rt)return await((r=e.invalidateCredentials)==null?void 0:r.call(e,"all")),await lr(e,t);if(s instanceof xt)return await((n=e.invalidateCredentials)==null?void 0:n.call(e,"tokens")),await lr(e,t);throw s}}async function Gp(e,t,r){const n=Mp(e);if(t.validateResourceURL)return await t.validateResourceURL(n,r?.resource);if(r){if(!Np({requestedResource:n,configuredResource:r.resource}))throw new Error(`Protected resource ${r.resource} does not match expected ${n} (or origin)`);return new URL(r.resource)}}async function lr(e,{serverUrl:t,authorizationCode:r,scope:n,resourceMetadataUrl:s,fetchFn:o}){let l,i;try{l=await Up(t,{resourceMetadataUrl:s},o),l.authorization_servers&&l.authorization_servers.length>0&&(i=l.authorization_servers[0])}catch{}i||(i=t);const c=await Gp(t,e,l),u=await Fp(i,{fetchFn:o});let d=await Promise.resolve(e.clientInformation());if(!d){if(r!==void 0)throw new Error("Existing OAuth client information is required when exchanging an authorization code");if(!e.saveClientInformation)throw new Error("OAuth client information must be saveable for dynamic registration");const v=await Jp(i,{metadata:u,clientMetadata:e.clientMetadata,fetchFn:o});await e.saveClientInformation(v),d=v}if(r!==void 0){const v=await e.codeVerifier(),_=await Zp(i,{metadata:u,clientInformation:d,authorizationCode:r,codeVerifier:v,redirectUri:e.redirectUrl,resource:c,addClientAuthentication:e.addClientAuthentication,fetchFn:o});return await e.saveTokens(_),"AUTHORIZED"}const p=await e.tokens();if(p?.refresh_token)try{const v=await Kp(i,{metadata:u,clientInformation:d,refreshToken:p.refresh_token,resource:c,addClientAuthentication:e.addClientAuthentication,fetchFn:o});return await e.saveTokens(v),"AUTHORIZED"}catch(v){if(!(!(v instanceof lt)||v instanceof je))throw v}const h=e.state?await e.state():void 0,{authorizationUrl:f,codeVerifier:m}=await Lp(i,{metadata:u,clientInformation:d,state:h,redirectUrl:e.redirectUrl,scope:n||e.clientMetadata.scope,resource:c});return await e.saveCodeVerifier(m),await e.redirectToAuthorization(f),"REDIRECT"}var zp=class{constructor({url:e,headers:t,authProvider:r}){this.connected=!1,this.url=new URL(e),this.headers=t,this.authProvider=r}async commonHeaders(e){const t={...this.headers,...e,"mcp-protocol-version":Ue};if(this.authProvider){const r=await this.authProvider.tokens();r?.access_token&&(t.Authorization=`Bearer ${r.access_token}`)}return a.withUserAgentSuffix(t,`ai-sdk/${_s}`,a.getRuntimeEnvironmentUserAgent())}async start(){return new Promise((e,t)=>{if(this.connected)return e();this.abortController=new AbortController;const r=async(n=!1)=>{var s,o,l,i,c;try{const u=await this.commonHeaders({Accept:"text/event-stream"}),d=await fetch(this.url.href,{headers:u,signal:(s=this.abortController)==null?void 0:s.signal});if(d.status===401&&this.authProvider&&!n){this.resourceMetadataUrl=At(d);try{if(await Pt(this.authProvider,{serverUrl:this.url,resourceMetadataUrl:this.resourceMetadataUrl})!=="AUTHORIZED"){const v=new Ct;return(o=this.onerror)==null||o.call(this,v),t(v)}}catch(m){return(l=this.onerror)==null||l.call(this,m),t(m)}return r(!0)}if(!d.ok||!d.body){let m=`MCP SSE Transport Error: ${d.status} ${d.statusText}`;d.status===405&&(m+=". This server does not support SSE transport. Try using `http` transport instead");const v=new D({message:m});return(i=this.onerror)==null||i.call(this,v),t(v)}const h=d.body.pipeThrough(new TextDecoderStream).pipeThrough(new a.EventSourceParserStream).getReader(),f=async()=>{var m,v,_;try{for(;;){const{done:y,value:w}=await h.read();if(y){if(this.connected)throw this.connected=!1,new D({message:"MCP SSE Transport Error: Connection closed unexpectedly"});return}const{event:b,data:g}=w;if(b==="endpoint"){if(this.endpoint=new URL(g,this.url),this.endpoint.origin!==this.url.origin)throw new D({message:`MCP SSE Transport Error: Endpoint origin does not match connection origin: ${this.endpoint.origin}`});this.connected=!0,e()}else if(b==="message")try{const E=Je.parse(JSON.parse(g));(m=this.onmessage)==null||m.call(this,E)}catch(E){const S=new D({message:"MCP SSE Transport Error: Failed to parse message",cause:E});(v=this.onerror)==null||v.call(this,S)}}}catch(y){if(y instanceof Error&&y.name==="AbortError")return;(_=this.onerror)==null||_.call(this,y),t(y)}};this.sseConnection={close:()=>h.cancel()},f()}catch(u){if(u instanceof Error&&u.name==="AbortError")return;(c=this.onerror)==null||c.call(this,u),t(u)}};r()})}async close(){var e,t,r;this.connected=!1,(e=this.sseConnection)==null||e.close(),(t=this.abortController)==null||t.abort(),(r=this.onclose)==null||r.call(this)}async send(e){if(!this.endpoint||!this.connected)throw new D({message:"MCP SSE Transport Error: Not connected"});const t=this.endpoint,r=async(n=!1)=>{var s,o,l,i,c;try{const d={method:"POST",headers:await this.commonHeaders({"Content-Type":"application/json"}),body:JSON.stringify(e),signal:(s=this.abortController)==null?void 0:s.signal},p=await fetch(t,d);if(p.status===401&&this.authProvider&&!n){this.resourceMetadataUrl=At(p);try{if(await Pt(this.authProvider,{serverUrl:this.url,resourceMetadataUrl:this.resourceMetadataUrl})!=="AUTHORIZED"){const f=new Ct;(o=this.onerror)==null||o.call(this,f);return}}catch(h){(l=this.onerror)==null||l.call(this,h);return}return r(!0)}if(!p.ok){const h=await p.text().catch(()=>null),f=new D({message:`MCP SSE Transport Error: POSTing to endpoint (HTTP ${p.status}): ${h}`});(i=this.onerror)==null||i.call(this,f);return}}catch(u){(c=this.onerror)==null||c.call(this,u);return}};await r()}},Wp=class{constructor({url:e,headers:t,authProvider:r}){this.inboundReconnectAttempts=0,this.reconnectionOptions={initialReconnectionDelay:1e3,maxReconnectionDelay:3e4,reconnectionDelayGrowFactor:1.5,maxRetries:2},this.url=new URL(e),this.headers=t,this.authProvider=r}async commonHeaders(e){const t={...this.headers,...e,"mcp-protocol-version":Ue};if(this.sessionId&&(t["mcp-session-id"]=this.sessionId),this.authProvider){const r=await this.authProvider.tokens();r?.access_token&&(t.Authorization=`Bearer ${r.access_token}`)}return a.withUserAgentSuffix(t,`ai-sdk/${_s}`,a.getRuntimeEnvironmentUserAgent())}async start(){if(this.abortController)throw new D({message:"MCP HTTP Transport Error: Transport already started. Note: client.connect() calls start() automatically."});this.abortController=new AbortController,this.openInboundSse()}async close(){var e,t,r;(e=this.inboundSseConnection)==null||e.close();try{if(this.sessionId&&this.abortController&&!this.abortController.signal.aborted){const n=await this.commonHeaders({});await fetch(this.url,{method:"DELETE",headers:n,signal:this.abortController.signal}).catch(()=>{})}}catch{}(t=this.abortController)==null||t.abort(),(r=this.onclose)==null||r.call(this)}async send(e){const t=async(r=!1)=>{var n,s,o,l,i,c,u;try{const p={method:"POST",headers:await this.commonHeaders({"Content-Type":"application/json",Accept:"application/json, text/event-stream"}),body:JSON.stringify(e),signal:(n=this.abortController)==null?void 0:n.signal},h=await fetch(this.url,p),f=h.headers.get("mcp-session-id");if(f&&(this.sessionId=f),h.status===401&&this.authProvider&&!r){this.resourceMetadataUrl=At(h);try{if(await Pt(this.authProvider,{serverUrl:this.url,resourceMetadataUrl:this.resourceMetadataUrl})!=="AUTHORIZED")throw new Ct}catch(_){throw(s=this.onerror)==null||s.call(this,_),_}return t(!0)}if(h.status===202){this.inboundSseConnection||this.openInboundSse();return}if(!h.ok){const _=await h.text().catch(()=>null);let y=`MCP HTTP Transport Error: POSTing to endpoint (HTTP ${h.status}): ${_}`;h.status===404&&(y+=". This server does not support HTTP transport. Try using `sse` transport instead");const w=new D({message:y});throw(o=this.onerror)==null||o.call(this,w),w}const m=h.headers.get("content-type")||"";if(m.includes("application/json")){const _=await h.json(),y=Array.isArray(_)?_.map(w=>Je.parse(w)):[Je.parse(_)];for(const w of y)(l=this.onmessage)==null||l.call(this,w);return}if(m.includes("text/event-stream")){if(!h.body){const b=new D({message:"MCP HTTP Transport Error: text/event-stream response without body"});throw(i=this.onerror)==null||i.call(this,b),b}const y=h.body.pipeThrough(new TextDecoderStream).pipeThrough(new a.EventSourceParserStream).getReader();(async()=>{var b,g,E;try{for(;;){const{done:S,value:I}=await y.read();if(S)return;const{event:x,data:P}=I;if(x==="message")try{const F=Je.parse(JSON.parse(P));(b=this.onmessage)==null||b.call(this,F)}catch(F){const K=new D({message:"MCP HTTP Transport Error: Failed to parse message",cause:F});(g=this.onerror)==null||g.call(this,K)}}}catch(S){if(S instanceof Error&&S.name==="AbortError")return;(E=this.onerror)==null||E.call(this,S)}})();return}const v=new D({message:`MCP HTTP Transport Error: Unexpected content type: ${m}`});throw(c=this.onerror)==null||c.call(this,v),v}catch(d){throw(u=this.onerror)==null||u.call(this,d),d}};await t()}getNextReconnectionDelay(e){const{initialReconnectionDelay:t,reconnectionDelayGrowFactor:r,maxReconnectionDelay:n}=this.reconnectionOptions;return Math.min(t*Math.pow(r,e),n)}scheduleInboundSseReconnection(){var e;const{maxRetries:t}=this.reconnectionOptions;if(t>0&&this.inboundReconnectAttempts>=t){(e=this.onerror)==null||e.call(this,new D({message:`MCP HTTP Transport Error: Maximum reconnection attempts (${t}) exceeded.`}));return}const r=this.getNextReconnectionDelay(this.inboundReconnectAttempts);this.inboundReconnectAttempts+=1,setTimeout(async()=>{var n;(n=this.abortController)!=null&&n.signal.aborted||await this.openInboundSse(!1,this.lastInboundEventId)},r)}async openInboundSse(e=!1,t){var r,n,s,o,l,i;try{const c=await this.commonHeaders({Accept:"text/event-stream"});t&&(c["last-event-id"]=t);const u=await fetch(this.url.href,{method:"GET",headers:c,signal:(r=this.abortController)==null?void 0:r.signal}),d=u.headers.get("mcp-session-id");if(d&&(this.sessionId=d),u.status===401&&this.authProvider&&!e){this.resourceMetadataUrl=At(u);try{if(await Pt(this.authProvider,{serverUrl:this.url,resourceMetadataUrl:this.resourceMetadataUrl})!=="AUTHORIZED"){const v=new Ct;(n=this.onerror)==null||n.call(this,v);return}}catch(m){(s=this.onerror)==null||s.call(this,m);return}return this.openInboundSse(!0,t)}if(u.status===405)return;if(!u.ok||!u.body){const m=new D({message:`MCP HTTP Transport Error: GET SSE failed: ${u.status} ${u.statusText}`});(o=this.onerror)==null||o.call(this,m);return}const h=u.body.pipeThrough(new TextDecoderStream).pipeThrough(new a.EventSourceParserStream).getReader(),f=async()=>{var m,v,_,y;try{for(;;){const{done:w,value:b}=await h.read();if(w)return;const{event:g,data:E,id:S}=b;if(S&&(this.lastInboundEventId=S),g==="message")try{const I=Je.parse(JSON.parse(E));(m=this.onmessage)==null||m.call(this,I)}catch(I){const x=new D({message:"MCP HTTP Transport Error: Failed to parse message",cause:I});(v=this.onerror)==null||v.call(this,x)}}}catch(w){if(w instanceof Error&&w.name==="AbortError")return;(_=this.onerror)==null||_.call(this,w),(y=this.abortController)!=null&&y.signal.aborted||this.scheduleInboundSseReconnection()}};this.inboundSseConnection={close:()=>h.cancel()},this.inboundReconnectAttempts=0,f()}catch(c){if(c instanceof Error&&c.name==="AbortError")return;(l=this.onerror)==null||l.call(this,c),(i=this.abortController)!=null&&i.signal.aborted||this.scheduleInboundSseReconnection()}}};function Yp(e){switch(e.type){case"sse":return new zp(e);case"http":return new Wp(e);default:throw new D({message:"Unsupported or invalid transport configuration. If you are using a custom transport, make sure it implements the MCPTransport interface."})}}function Xp(e){return"start"in e&&typeof e.start=="function"&&"send"in e&&typeof e.send=="function"&&"close"in e&&typeof e.close=="function"}var Qp="1.0.0";async function ef(e){const t=new tf(e);return await t.init(),t}var tf=class{constructor({transport:e,name:t="ai-sdk-mcp-client",version:r=Qp,onUncaughtError:n,capabilities:s}){this.requestMessageId=0,this.responseHandlers=new Map,this.serverCapabilities={},this.isClosed=!0,this.onUncaughtError=n,this.clientCapabilities=s??{},Xp(e)?this.transport=e:this.transport=Yp(e),this.transport.onclose=()=>this.onClose(),this.transport.onerror=o=>this.onError(o),this.transport.onmessage=o=>{if("method"in o){"id"in o?this.onRequestMessage(o):this.onError(new D({message:"Unsupported message type"}));return}this.onResponse(o)},this.clientInfo={name:t,version:r}}async init(){try{await this.transport.start(),this.isClosed=!1;const e=await this.request({request:{method:"initialize",params:{protocolVersion:Ue,capabilities:this.clientCapabilities,clientInfo:this.clientInfo}},resultSchema:np});if(e===void 0)throw new D({message:"Server sent invalid initialize result"});if(!ep.includes(e.protocolVersion))throw new D({message:`Server's protocol version is not supported: ${e.protocolVersion}`});return this.serverCapabilities=e.capabilities,await this.notification({method:"notifications/initialized"}),this}catch(e){throw await this.close(),e}}async close(){var e;this.isClosed||(await((e=this.transport)==null?void 0:e.close()),this.onClose())}assertCapability(e){switch(e){case"initialize":break;case"tools/list":case"tools/call":if(!this.serverCapabilities.tools)throw new D({message:"Server does not support tools"});break;case"resources/list":case"resources/read":case"resources/templates/list":if(!this.serverCapabilities.resources)throw new D({message:"Server does not support resources"});break;case"prompts/list":case"prompts/get":if(!this.serverCapabilities.prompts)throw new D({message:"Server does not support prompts"});break;default:throw new D({message:`Unsupported method: ${e}`})}}async request({request:e,resultSchema:t,options:r}){return new Promise((n,s)=>{if(this.isClosed)return s(new D({message:"Attempted to send a request from a closed client"}));this.assertCapability(e.method);const o=r?.signal;o?.throwIfAborted();const l=this.requestMessageId++,i={...e,jsonrpc:"2.0",id:l},c=()=>{this.responseHandlers.delete(l)};this.responseHandlers.set(l,u=>{if(o?.aborted)return s(new D({message:"Request was aborted",cause:o.reason}));if(u instanceof Error)return s(u);try{const d=t.parse(u.result);n(d)}catch(d){const p=new D({message:"Failed to parse server response",cause:d});s(p)}}),this.transport.send(i).catch(u=>{c(),s(u)})})}async listTools({params:e,options:t}={}){try{return this.request({request:{method:"tools/list",params:e},resultSchema:op,options:t})}catch(r){throw r}}async callTool({name:e,args:t,options:r}){try{return this.request({request:{method:"tools/call",params:{name:e,arguments:t}},resultSchema:lp,options:{signal:r?.abortSignal}})}catch(n){throw n}}async listResourcesInternal({params:e,options:t}={}){try{return this.request({request:{method:"resources/list",params:e},resultSchema:ip,options:t})}catch(r){throw r}}async readResourceInternal({uri:e,options:t}){try{return this.request({request:{method:"resources/read",params:{uri:e}},resultSchema:dp,options:t})}catch(r){throw r}}async listResourceTemplatesInternal({options:e}={}){try{return this.request({request:{method:"resources/templates/list"},resultSchema:cp,options:e})}catch(t){throw t}}async listPromptsInternal({params:e,options:t}={}){try{return this.request({request:{method:"prompts/list",params:e},resultSchema:mp,options:t})}catch(r){throw r}}async getPromptInternal({name:e,args:t,options:r}){try{return this.request({request:{method:"prompts/get",params:{name:e,arguments:t}},resultSchema:gp,options:r})}catch(n){throw n}}async notification(e){const t={...e,jsonrpc:"2.0"};await this.transport.send(t)}async tools({schemas:e="automatic"}={}){var t;const r={};try{const n=await this.listTools();for(const{name:s,description:o,inputSchema:l}of n.tools){if(e!=="automatic"&&!(s in e))continue;const i=this,c=async(d,p)=>{var h;return(h=p?.abortSignal)==null||h.throwIfAborted(),i.callTool({name:s,args:d,options:p})},u=e==="automatic"?a.dynamicTool({description:o,inputSchema:a.jsonSchema({...l,properties:(t=l.properties)!=null?t:{},additionalProperties:!1}),execute:c}):a.tool({description:o,inputSchema:e[s].inputSchema,execute:c});r[s]=u}return r}catch(n){throw n}}listResources({params:e,options:t}={}){return this.listResourcesInternal({params:e,options:t})}readResource({uri:e,options:t}){return this.readResourceInternal({uri:e,options:t})}listResourceTemplates({options:e}={}){return this.listResourceTemplatesInternal({options:e})}listPrompts({params:e,options:t}={}){return this.listPromptsInternal({params:e,options:t})}getPrompt({name:e,arguments:t,options:r}){return this.getPromptInternal({name:e,args:t,options:r})}onElicitationRequest(e,t){if(e!==Yn)throw new D({message:"Unsupported request schema. Only ElicitationRequestSchema is supported."});this.elicitationRequestHandler=t}async onRequestMessage(e){try{if(e.method!=="elicitation/create"){await this.transport.send({jsonrpc:"2.0",id:e.id,error:{code:-32601,message:`Unsupported request method: ${e.method}`}});return}if(!this.elicitationRequestHandler){await this.transport.send({jsonrpc:"2.0",id:e.id,error:{code:-32601,message:"No elicitation handler registered on client"}});return}const t=Yn.safeParse({method:e.method,params:e.params});if(!t.success){await this.transport.send({jsonrpc:"2.0",id:e.id,error:{code:-32602,message:`Invalid elicitation request: ${t.error.message}`,data:t.error.issues}});return}try{const r=await this.elicitationRequestHandler(t.data),n=yp.parse(r);await this.transport.send({jsonrpc:"2.0",id:e.id,result:n})}catch(r){await this.transport.send({jsonrpc:"2.0",id:e.id,error:{code:-32603,message:r instanceof Error?r.message:"Failed to handle elicitation request"}}),this.onError(r)}}catch(t){this.onError(t)}}onClose(){if(this.isClosed)return;this.isClosed=!0;const e=new D({message:"Connection closed"});for(const t of this.responseHandlers.values())t(e);this.responseHandlers.clear()}onError(e){this.onUncaughtError&&this.onUncaughtError(e)}onResponse(e){const t=Number(e.id),r=this.responseHandlers.get(t);if(r===void 0)throw new D({message:`Protocol error: Received a response for an unknown message ID: ${JSON.stringify(e)}`});this.responseHandlers.delete(t),r("result"in e?e:new D({message:e.error.message,code:e.error.code,data:e.error.data,cause:e.error}))}};const rf="https://app.getgram.ai",nf=()=>({chat:of}),af=a.object({mcp:a.union([a.string()]),environment:a.record(a.string(),a.unknown()).optional(),projectSlug:a.string(),model:a._enum$1(a.MODELS)}),of=async(e,t)=>{if(e.method==="POST")try{const r=[];for await(const p of e)r.push(p);const n=Buffer.concat(r).toString(),{messages:s,config:o}=JSON.parse(n),l=af.parse(o),c=await(await ef({transport:{type:"http",url:l.mcp}})).tools(),u=us({baseURL:rf,apiKey:"must be set",headers:{"Gram-Project":l.projectSlug,"Gram-Key":process.env.GRAM_API_KEY??""}}),d=Rc({model:u.chat(l.model),messages:Pc(s),tools:c});t.setHeader("Content-Type","text/event-stream"),t.setHeader("Cache-Control","no-cache"),t.setHeader("Connection","keep-alive"),t.setHeader("Transfer-Encoding","chunked"),t.statusCode=200,d.pipeUIMessageStreamToResponse(t,{sendReasoning:!0,sendSources:!0})}catch(r){t.statusCode=500,t.end(JSON.stringify({error:r instanceof Error?r.message:"Unknown error"}))}};exports.createElementsServerHandlers=nf;
|
|
31
|
+
`,{prompt:s}}var hn=a.union([a.object({id:a.string().optional(),model:a.string().optional(),choices:a.array(a.object({text:a.string(),reasoning:a.string().nullish().optional(),reasoning_details:Dr.nullish(),finish_reason:a.string().nullish(),index:a.number().nullish(),logprobs:a.object({tokens:a.array(a.string()),token_logprobs:a.array(a.number()),top_logprobs:a.array(a.record(a.string(),a.number())).nullable()}).passthrough().nullable().optional()}).passthrough()),usage:a.object({prompt_tokens:a.number(),prompt_tokens_details:a.object({cached_tokens:a.number()}).passthrough().nullish(),completion_tokens:a.number(),completion_tokens_details:a.object({reasoning_tokens:a.number()}).passthrough().nullish(),total_tokens:a.number(),cost:a.number().optional(),cost_details:a.object({upstream_inference_cost:a.number().nullish()}).passthrough().nullish()}).passthrough().nullish()}).passthrough(),Nt]),Au=class{constructor(e,t,r){this.specificationVersion="v2",this.provider="openrouter",this.supportsImageUrls=!0,this.supportedUrls={"image/*":[/^data:image\/[a-zA-Z]+;base64,/,/^https?:\/\/.+\.(jpg|jpeg|png|gif|webp)$/i],"text/*":[/^data:text\//,/^https?:\/\/.+$/],"application/*":[/^data:application\//,/^https?:\/\/.+$/]},this.defaultObjectGenerationMode=void 0,this.modelId=e,this.settings=t,this.config=r}getArgs({prompt:e,maxOutputTokens:t,temperature:r,topP:n,frequencyPenalty:s,presencePenalty:o,seed:l,responseFormat:i,topK:c,stopSequences:u,tools:d,toolChoice:p}){const{prompt:h}=Ru({prompt:e,inputFormat:"prompt"});if(d?.length)throw new Ie({functionality:"tools"});if(p)throw new Ie({functionality:"toolChoice"});return D(D({model:this.modelId,models:this.settings.models,logit_bias:this.settings.logitBias,logprobs:typeof this.settings.logprobs=="number"?this.settings.logprobs:typeof this.settings.logprobs=="boolean"&&this.settings.logprobs?0:void 0,suffix:this.settings.suffix,user:this.settings.user,max_tokens:t,temperature:r,top_p:n,frequency_penalty:s,presence_penalty:o,seed:l,stop:u,response_format:i,top_k:c,prompt:h,include_reasoning:this.settings.includeReasoning,reasoning:this.settings.reasoning},this.config.extraBody),this.settings.extraBody)}async doGenerate(e){var t,r,n,s,o,l,i,c,u,d,p,h,f,m,v;const y=(e.providerOptions||{}).openrouter||{},w=D(D({},this.getArgs(e)),y),{value:b,responseHeaders:g}=await tt({url:this.config.url({path:"/completions",modelId:this.modelId}),headers:et(this.config.headers(),e.headers),body:w,failedResponseHandler:rt,successfulResponseHandler:Nr(hn),abortSignal:e.abortSignal,fetch:this.config.fetch});if("error"in b){const S=b.error;throw new ce({message:S.message,url:this.config.url({path:"/completions",modelId:this.modelId}),requestBodyValues:w,statusCode:200,responseHeaders:g,data:S})}const E=b.choices[0];if(!E)throw new Xa({message:"No choice in OpenRouter completion response"});return{content:[{type:"text",text:(t=E.text)!=null?t:""}],finishReason:Rt(E.finish_reason),usage:{inputTokens:(n=(r=b.usage)==null?void 0:r.prompt_tokens)!=null?n:0,outputTokens:(o=(s=b.usage)==null?void 0:s.completion_tokens)!=null?o:0,totalTokens:((i=(l=b.usage)==null?void 0:l.prompt_tokens)!=null?i:0)+((u=(c=b.usage)==null?void 0:c.completion_tokens)!=null?u:0),reasoningTokens:(h=(p=(d=b.usage)==null?void 0:d.completion_tokens_details)==null?void 0:p.reasoning_tokens)!=null?h:0,cachedInputTokens:(v=(m=(f=b.usage)==null?void 0:f.prompt_tokens_details)==null?void 0:m.cached_tokens)!=null?v:0},warnings:[],response:{headers:g}}}async doStream(e){const r=(e.providerOptions||{}).openrouter||{},n=D(D({},this.getArgs(e)),r),{value:s,responseHeaders:o}=await tt({url:this.config.url({path:"/completions",modelId:this.modelId}),headers:et(this.config.headers(),e.headers),body:St(D({},n),{stream:!0,stream_options:this.config.compatibility==="strict"?{include_usage:!0}:void 0}),failedResponseHandler:rt,successfulResponseHandler:io(hn),abortSignal:e.abortSignal,fetch:this.config.fetch});let l="other";const i={inputTokens:Number.NaN,outputTokens:Number.NaN,totalTokens:Number.NaN,reasoningTokens:Number.NaN,cachedInputTokens:Number.NaN},c={};return{stream:s.pipeThrough(new TransformStream({transform(u,d){var p,h,f;if(!u.success){l="error",d.enqueue({type:"error",error:u.error});return}const m=u.value;if("error"in m){l="error",d.enqueue({type:"error",error:m.error});return}if(m.usage!=null){if(i.inputTokens=m.usage.prompt_tokens,i.outputTokens=m.usage.completion_tokens,i.totalTokens=m.usage.prompt_tokens+m.usage.completion_tokens,c.promptTokens=m.usage.prompt_tokens,m.usage.prompt_tokens_details){const y=(p=m.usage.prompt_tokens_details.cached_tokens)!=null?p:0;i.cachedInputTokens=y,c.promptTokensDetails={cachedTokens:y}}if(c.completionTokens=m.usage.completion_tokens,m.usage.completion_tokens_details){const y=(h=m.usage.completion_tokens_details.reasoning_tokens)!=null?h:0;i.reasoningTokens=y,c.completionTokensDetails={reasoningTokens:y}}c.cost=m.usage.cost,c.totalTokens=m.usage.total_tokens;const _=(f=m.usage.cost_details)==null?void 0:f.upstream_inference_cost;_!=null&&(c.costDetails={upstreamInferenceCost:_})}const v=m.choices[0];v?.finish_reason!=null&&(l=Rt(v.finish_reason)),v?.text!=null&&d.enqueue({type:"text-delta",delta:v.text,id:ue()})},flush(u){u.enqueue({type:"finish",finishReason:l,usage:i,providerMetadata:{openrouter:{usage:c}}})}})),response:{headers:o}}}},Cu=a.object({prompt_tokens:a.number(),total_tokens:a.number(),cost:a.number().optional()}),Pu=a.object({object:a.literal("embedding"),embedding:a.array(a.number()),index:a.number().optional()}),ku=a.object({id:a.string().optional(),object:a.literal("list"),data:a.array(Pu),model:a.string(),usage:Cu.optional()}),Ou=class{constructor(e,t,r){this.specificationVersion="v2",this.provider="openrouter",this.maxEmbeddingsPerCall=void 0,this.supportsParallelCalls=!0,this.modelId=e,this.settings=t,this.config=r}async doEmbed(e){var t;const{values:r,abortSignal:n,headers:s}=e,o=D(D({model:this.modelId,input:r,user:this.settings.user,provider:this.settings.provider},this.config.extraBody),this.settings.extraBody),{value:l,responseHeaders:i}=await tt({url:this.config.url({path:"/embeddings",modelId:this.modelId}),headers:et(this.config.headers(),s),body:o,failedResponseHandler:rt,successfulResponseHandler:Nr(ku),abortSignal:n,fetch:this.config.fetch});return{embeddings:l.data.map(c=>c.embedding),usage:l.usage?{tokens:l.usage.prompt_tokens}:void 0,providerMetadata:(t=l.usage)!=null&&t.cost?{openrouter:{usage:{cost:l.usage.cost}}}:void 0,response:{headers:i,body:l}}}};function Mu(e){return Object.fromEntries(Object.entries(e).filter(([,t])=>t!==null))}function Nu(e,...t){const r=Mu(e??{}),s=[r["user-agent"]||"",...t].filter(Boolean).join(" ");return St(D({},r),{"user-agent":s})}var $u="1.4.1";function fo(e={}){var t,r,n;const s=(r=fu((t=e.baseURL)!=null?t:e.baseUrl))!=null?r:"https://openrouter.ai/api/v1",o=(n=e.compatibility)!=null?n:"compatible",l=()=>Nu(D(D({Authorization:`Bearer ${Wl({apiKey:e.apiKey,environmentVariableName:"OPENROUTER_API_KEY",description:"OpenRouter"})}`},e.headers),e.api_keys&&Object.keys(e.api_keys).length>0&&{"X-Provider-API-Keys":JSON.stringify(e.api_keys)}),`ai-sdk/openrouter/${$u}`),i=(h,f={})=>new xu(h,f,{provider:"openrouter.chat",url:({path:m})=>`${s}${m}`,headers:l,compatibility:o,fetch:e.fetch,extraBody:e.extraBody}),c=(h,f={})=>new Au(h,f,{provider:"openrouter.completion",url:({path:m})=>`${s}${m}`,headers:l,compatibility:o,fetch:e.fetch,extraBody:e.extraBody}),u=(h,f={})=>new Ou(h,f,{provider:"openrouter.embedding",url:({path:m})=>`${s}${m}`,headers:l,fetch:e.fetch,extraBody:e.extraBody}),d=(h,f)=>{if(new.target)throw new Error("The OpenRouter model function cannot be called with the new keyword.");return h==="openai/gpt-3.5-turbo-instruct"?c(h,f):i(h,f)},p=(h,f)=>d(h,f);return p.languageModel=d,p.chat=i,p.completion=c,p.textEmbeddingModel=u,p.embedding=u,p}fo({compatibility:"strict"});function hr(...e){return e.reduce((t,r)=>({...t,...r??{}}),{})}async function ju(e,t){if(e==null)return Promise.resolve();const r=t?.abortSignal;return new Promise((n,s)=>{if(r?.aborted){s(gn());return}const o=setTimeout(()=>{l(),n()},e),l=()=>{clearTimeout(o),r?.removeEventListener("abort",i)},i=()=>{l(),s(gn())};r?.addEventListener("abort",i)})}function gn(){return new DOMException("Delay was aborted","AbortError")}function it(e){return Object.fromEntries([...e.headers])}var lt=({prefix:e,size:t=16,alphabet:r="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",separator:n="-"}={})=>{const s=()=>{const o=r.length,l=new Array(t);for(let i=0;i<t;i++)l[i]=r[Math.random()*o|0];return l.join("")};if(e==null)return s;if(r.includes(n))throw new a.InvalidArgumentError({argument:"separator",message:`The separator "${n}" must not be part of the alphabet "${r}".`});return()=>`${e}${n}${s()}`},Du=lt();function mo(e){return e==null?"unknown error":typeof e=="string"?e:e instanceof Error?e.message:JSON.stringify(e)}function Re(e){return(e instanceof Error||e instanceof DOMException)&&(e.name==="AbortError"||e.name==="ResponseAborted"||e.name==="TimeoutError")}var Uu=["fetch failed","failed to fetch"];function ho({error:e,url:t,requestBodyValues:r}){if(Re(e))return e;if(e instanceof TypeError&&Uu.includes(e.message.toLowerCase())){const n=e.cause;if(n!=null)return new a.APICallError({message:`Cannot connect to API: ${n.message}`,cause:n,url:t,requestBodyValues:r,isRetryable:!0})}return e}function qr(e=globalThis){var t,r,n;return e.window?"runtime/browser":(t=e.navigator)!=null&&t.userAgent?`runtime/${e.navigator.userAgent.toLowerCase()}`:(n=(r=e.process)==null?void 0:r.versions)!=null&&n.node?`runtime/node.js/${e.process.version.substring(0)}`:e.EdgeRuntime?"runtime/vercel-edge":"runtime/unknown"}function qu(e){if(e==null)return{};const t={};if(e instanceof Headers)e.forEach((r,n)=>{t[n.toLowerCase()]=r});else{Array.isArray(e)||(e=Object.entries(e));for(const[r,n]of e)n!=null&&(t[r.toLowerCase()]=n)}return t}function $t(e,...t){const r=new Headers(qu(e)),n=r.get("user-agent")||"";return r.set("user-agent",[n,...t].filter(Boolean).join(" ")),Object.fromEntries(r.entries())}var go="3.0.16",Fu=()=>globalThis.fetch,vn=async({url:e,headers:t={},successfulResponseHandler:r,failedResponseHandler:n,abortSignal:s,fetch:o=Fu()})=>{try{const l=await o(e,{method:"GET",headers:$t(t,`ai-sdk/provider-utils/${go}`,qr()),signal:s}),i=it(l);if(!l.ok){let c;try{c=await n({response:l,url:e,requestBodyValues:{}})}catch(u){throw Re(u)||a.APICallError.isInstance(u)?u:new a.APICallError({message:"Failed to process error response",cause:u,statusCode:l.status,url:e,responseHeaders:i,requestBodyValues:{}})}throw c.value}try{return await r({response:l,url:e,requestBodyValues:{}})}catch(c){throw c instanceof Error&&(Re(c)||a.APICallError.isInstance(c))?c:new a.APICallError({message:"Failed to process successful response",cause:c,statusCode:l.status,url:e,responseHeaders:i,requestBodyValues:{}})}}catch(l){throw ho({error:l,url:e,requestBodyValues:{}})}};function Lu({mediaType:e,url:t,supportedUrls:r}){return t=t.toLowerCase(),e=e.toLowerCase(),Object.entries(r).map(([n,s])=>{const o=n.toLowerCase();return o==="*"||o==="*/*"?{mediaTypePrefix:"",regexes:s}:{mediaTypePrefix:o.replace(/\*/,""),regexes:s}}).filter(({mediaTypePrefix:n})=>e.startsWith(n)).flatMap(({regexes:n})=>n).some(n=>n.test(t))}function gt({settingValue:e,environmentVariableName:t}){if(typeof e=="string")return e;if(!(e!=null||typeof process>"u")&&(e=process.env[t],!(e==null||typeof e!="string")))return e}var Vu=/"__proto__"\s*:/,Hu=/"constructor"\s*:/;function Bu(e){const t=JSON.parse(e);return t===null||typeof t!="object"||Vu.test(e)===!1&&Hu.test(e)===!1?t:Zu(t)}function Zu(e){let t=[e];for(;t.length;){const r=t;t=[];for(const n of r){if(Object.prototype.hasOwnProperty.call(n,"__proto__"))throw new SyntaxError("Object contains forbidden prototype property");if(Object.prototype.hasOwnProperty.call(n,"constructor")&&Object.prototype.hasOwnProperty.call(n.constructor,"prototype"))throw new SyntaxError("Object contains forbidden prototype property");for(const s in n){const o=n[s];o&&typeof o=="object"&&t.push(o)}}}return e}function vo(e){const{stackTraceLimit:t}=Error;Error.stackTraceLimit=0;try{return Bu(e)}finally{Error.stackTraceLimit=t}}var At=Symbol.for("vercel.ai.validator");function Ku(e){return{[At]:!0,validate:e}}function Gu(e){return typeof e=="object"&&e!==null&&At in e&&e[At]===!0&&"validate"in e}function Ue(e){let t;return()=>(t==null&&(t=e()),t)}function Ju(e){return Gu(e)?e:typeof e=="function"?e():zu(e)}function zu(e){return Ku(async t=>{const r=await e["~standard"].validate(t);return r.issues==null?{success:!0,value:r.value}:{success:!1,error:new a.TypeValidationError({value:t,cause:r.issues})}})}async function gr({value:e,schema:t}){const r=await Se({value:e,schema:t});if(!r.success)throw a.TypeValidationError.wrap({value:e,cause:r.error});return r.value}async function Se({value:e,schema:t}){const r=Ju(t);try{if(r.validate==null)return{success:!0,value:e,rawValue:e};const n=await r.validate(e);return n.success?{success:!0,value:n.value,rawValue:e}:{success:!1,error:a.TypeValidationError.wrap({value:e,cause:n.error}),rawValue:e}}catch(n){return{success:!1,error:a.TypeValidationError.wrap({value:e,cause:n}),rawValue:e}}}async function Wu({text:e,schema:t}){try{const r=vo(e);return t==null?r:gr({value:r,schema:t})}catch(r){throw a.JSONParseError.isInstance(r)||a.TypeValidationError.isInstance(r)?r:new a.JSONParseError({text:e,cause:r})}}async function Ae({text:e,schema:t}){try{const r=vo(e);return t==null?{success:!0,value:r,rawValue:r}:await Se({value:r,schema:t})}catch(r){return{success:!1,error:a.JSONParseError.isInstance(r)?r:new a.JSONParseError({text:e,cause:r}),rawValue:void 0}}}function Yu({stream:e,schema:t}){return e.pipeThrough(new TextDecoderStream).pipeThrough(new a.EventSourceParserStream).pipeThrough(new TransformStream({async transform({data:r},n){r!=="[DONE]"&&n.enqueue(await Ae({text:r,schema:t}))}}))}var Xu=()=>globalThis.fetch,vr=async({url:e,headers:t,body:r,failedResponseHandler:n,successfulResponseHandler:s,abortSignal:o,fetch:l})=>Qu({url:e,headers:{"Content-Type":"application/json",...t},body:{content:JSON.stringify(r),values:r},failedResponseHandler:n,successfulResponseHandler:s,abortSignal:o,fetch:l}),Qu=async({url:e,headers:t={},body:r,successfulResponseHandler:n,failedResponseHandler:s,abortSignal:o,fetch:l=Xu()})=>{try{const i=await l(e,{method:"POST",headers:$t(t,`ai-sdk/provider-utils/${go}`,qr()),body:r.content,signal:o}),c=it(i);if(!i.ok){let u;try{u=await s({response:i,url:e,requestBodyValues:r.values})}catch(d){throw Re(d)||a.APICallError.isInstance(d)?d:new a.APICallError({message:"Failed to process error response",cause:d,statusCode:i.status,url:e,responseHeaders:c,requestBodyValues:r.values})}throw u.value}try{return await n({response:i,url:e,requestBodyValues:r.values})}catch(u){throw u instanceof Error&&(Re(u)||a.APICallError.isInstance(u))?u:new a.APICallError({message:"Failed to process successful response",cause:u,statusCode:i.status,url:e,responseHeaders:c,requestBodyValues:r.values})}}catch(i){throw ho({error:i,url:e,requestBodyValues:r.values})}};async function Ee(e){return typeof e=="function"&&(e=e()),Promise.resolve(e)}var nt=({errorSchema:e,errorToMessage:t,isRetryable:r})=>async({response:n,url:s,requestBodyValues:o})=>{const l=await n.text(),i=it(n);if(l.trim()==="")return{responseHeaders:i,value:new a.APICallError({message:n.statusText,url:s,requestBodyValues:o,statusCode:n.status,responseHeaders:i,responseBody:l,isRetryable:r?.(n)})};try{const c=await Wu({text:l,schema:e});return{responseHeaders:i,value:new a.APICallError({message:t(c),url:s,requestBodyValues:o,statusCode:n.status,responseHeaders:i,responseBody:l,data:c,isRetryable:r?.(n,c)})}}catch{return{responseHeaders:i,value:new a.APICallError({message:n.statusText,url:s,requestBodyValues:o,statusCode:n.status,responseHeaders:i,responseBody:l,isRetryable:r?.(n)})}}},ec=e=>async({response:t})=>{const r=it(t);if(t.body==null)throw new a.EmptyResponseBodyError({});return{responseHeaders:r,value:Yu({stream:t.body,schema:e})}},Ct=e=>async({response:t,url:r,requestBodyValues:n})=>{const s=await t.text(),o=await Ae({text:s,schema:e}),l=it(t);if(!o.success)throw new a.APICallError({message:"Invalid JSON response",cause:o.error,statusCode:t.status,responseHeaders:l,responseBody:s,url:r,requestBodyValues:n});return{responseHeaders:l,value:o.value,rawValue:o.rawValue}},tc=(e,t)=>{let r=0;for(;r<e.length&&r<t.length&&e[r]===t[r];r++);return[(e.length-r).toString(),...t.slice(r)].join("/")},rc=Symbol("Let zodToJsonSchema decide on which parser to use"),yn={name:void 0,$refStrategy:"root",basePath:["#"],effectStrategy:"input",pipeStrategy:"all",dateStrategy:"format:date-time",mapStrategy:"entries",removeAdditionalStrategy:"passthrough",allowedAdditionalProperties:!0,rejectedAdditionalProperties:!1,definitionPath:"definitions",strictUnions:!1,definitions:{},errorMessages:!1,patternStrategy:"escape",applyRegexFlags:!1,emailStrategy:"format:email",base64Strategy:"contentEncoding:base64",nameStrategy:"ref"},nc=e=>typeof e=="string"?{...yn,name:e}:{...yn,...e};function ee(){return{}}function ac(e,t){var r,n,s;const o={type:"array"};return(r=e.type)!=null&&r._def&&((s=(n=e.type)==null?void 0:n._def)==null?void 0:s.typeName)!==a.ZodFirstPartyTypeKind$1.ZodAny&&(o.items=U(e.type._def,{...t,currentPath:[...t.currentPath,"items"]})),e.minLength&&(o.minItems=e.minLength.value),e.maxLength&&(o.maxItems=e.maxLength.value),e.exactLength&&(o.minItems=e.exactLength.value,o.maxItems=e.exactLength.value),o}function oc(e){const t={type:"integer",format:"int64"};if(!e.checks)return t;for(const r of e.checks)switch(r.kind){case"min":r.inclusive?t.minimum=r.value:t.exclusiveMinimum=r.value;break;case"max":r.inclusive?t.maximum=r.value:t.exclusiveMaximum=r.value;break;case"multipleOf":t.multipleOf=r.value;break}return t}function sc(){return{type:"boolean"}}function yo(e,t){return U(e.type._def,t)}var ic=(e,t)=>U(e.innerType._def,t);function _o(e,t,r){const n=r??t.dateStrategy;if(Array.isArray(n))return{anyOf:n.map((s,o)=>_o(e,t,s))};switch(n){case"string":case"format:date-time":return{type:"string",format:"date-time"};case"format:date":return{type:"string",format:"date"};case"integer":return lc(e)}}var lc=e=>{const t={type:"integer",format:"unix-time"};for(const r of e.checks)switch(r.kind){case"min":t.minimum=r.value;break;case"max":t.maximum=r.value;break}return t};function uc(e,t){return{...U(e.innerType._def,t),default:e.defaultValue()}}function cc(e,t){return t.effectStrategy==="input"?U(e.schema._def,t):ee()}function dc(e){return{type:"string",enum:Array.from(e.values)}}var pc=e=>"type"in e&&e.type==="string"?!1:"allOf"in e;function fc(e,t){const r=[U(e.left._def,{...t,currentPath:[...t.currentPath,"allOf","0"]}),U(e.right._def,{...t,currentPath:[...t.currentPath,"allOf","1"]})].filter(s=>!!s),n=[];return r.forEach(s=>{if(pc(s))n.push(...s.allOf);else{let o=s;if("additionalProperties"in s&&s.additionalProperties===!1){const{additionalProperties:l,...i}=s;o=i}n.push(o)}}),n.length?{allOf:n}:void 0}function mc(e){const t=typeof e.value;return t!=="bigint"&&t!=="number"&&t!=="boolean"&&t!=="string"?{type:Array.isArray(e.value)?"array":"object"}:{type:t==="bigint"?"integer":t,const:e.value}}var er=void 0,ie={cuid:/^[cC][^\s-]{8,}$/,cuid2:/^[0-9a-z]+$/,ulid:/^[0-9A-HJKMNP-TV-Z]{26}$/,email:/^(?!\.)(?!.*\.\.)([a-zA-Z0-9_'+\-\.]*)[a-zA-Z0-9_+-]@([a-zA-Z0-9][a-zA-Z0-9\-]*\.)+[a-zA-Z]{2,}$/,emoji:()=>(er===void 0&&(er=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),er),uuid:/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/,ipv4:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,ipv4Cidr:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,ipv6:/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,ipv6Cidr:/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,base64:/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,base64url:/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,nanoid:/^[a-zA-Z0-9_-]{21}$/,jwt:/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/};function bo(e,t){const r={type:"string"};if(e.checks)for(const n of e.checks)switch(n.kind){case"min":r.minLength=typeof r.minLength=="number"?Math.max(r.minLength,n.value):n.value;break;case"max":r.maxLength=typeof r.maxLength=="number"?Math.min(r.maxLength,n.value):n.value;break;case"email":switch(t.emailStrategy){case"format:email":le(r,"email",n.message,t);break;case"format:idn-email":le(r,"idn-email",n.message,t);break;case"pattern:zod":Y(r,ie.email,n.message,t);break}break;case"url":le(r,"uri",n.message,t);break;case"uuid":le(r,"uuid",n.message,t);break;case"regex":Y(r,n.regex,n.message,t);break;case"cuid":Y(r,ie.cuid,n.message,t);break;case"cuid2":Y(r,ie.cuid2,n.message,t);break;case"startsWith":Y(r,RegExp(`^${tr(n.value,t)}`),n.message,t);break;case"endsWith":Y(r,RegExp(`${tr(n.value,t)}$`),n.message,t);break;case"datetime":le(r,"date-time",n.message,t);break;case"date":le(r,"date",n.message,t);break;case"time":le(r,"time",n.message,t);break;case"duration":le(r,"duration",n.message,t);break;case"length":r.minLength=typeof r.minLength=="number"?Math.max(r.minLength,n.value):n.value,r.maxLength=typeof r.maxLength=="number"?Math.min(r.maxLength,n.value):n.value;break;case"includes":{Y(r,RegExp(tr(n.value,t)),n.message,t);break}case"ip":{n.version!=="v6"&&le(r,"ipv4",n.message,t),n.version!=="v4"&&le(r,"ipv6",n.message,t);break}case"base64url":Y(r,ie.base64url,n.message,t);break;case"jwt":Y(r,ie.jwt,n.message,t);break;case"cidr":{n.version!=="v6"&&Y(r,ie.ipv4Cidr,n.message,t),n.version!=="v4"&&Y(r,ie.ipv6Cidr,n.message,t);break}case"emoji":Y(r,ie.emoji(),n.message,t);break;case"ulid":{Y(r,ie.ulid,n.message,t);break}case"base64":{switch(t.base64Strategy){case"format:binary":{le(r,"binary",n.message,t);break}case"contentEncoding:base64":{r.contentEncoding="base64";break}case"pattern:zod":{Y(r,ie.base64,n.message,t);break}}break}case"nanoid":Y(r,ie.nanoid,n.message,t)}return r}function tr(e,t){return t.patternStrategy==="escape"?gc(e):e}var hc=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function gc(e){let t="";for(let r=0;r<e.length;r++)hc.has(e[r])||(t+="\\"),t+=e[r];return t}function le(e,t,r,n){var s;e.format||(s=e.anyOf)!=null&&s.some(o=>o.format)?(e.anyOf||(e.anyOf=[]),e.format&&(e.anyOf.push({format:e.format}),delete e.format),e.anyOf.push({format:t,...r&&n.errorMessages&&{errorMessage:{format:r}}})):e.format=t}function Y(e,t,r,n){var s;e.pattern||(s=e.allOf)!=null&&s.some(o=>o.pattern)?(e.allOf||(e.allOf=[]),e.pattern&&(e.allOf.push({pattern:e.pattern}),delete e.pattern),e.allOf.push({pattern:_n(t,n),...r&&n.errorMessages&&{errorMessage:{pattern:r}}})):e.pattern=_n(t,n)}function _n(e,t){var r;if(!t.applyRegexFlags||!e.flags)return e.source;const n={i:e.flags.includes("i"),m:e.flags.includes("m"),s:e.flags.includes("s")},s=n.i?e.source.toLowerCase():e.source;let o="",l=!1,i=!1,c=!1;for(let u=0;u<s.length;u++){if(l){o+=s[u],l=!1;continue}if(n.i){if(i){if(s[u].match(/[a-z]/)){c?(o+=s[u],o+=`${s[u-2]}-${s[u]}`.toUpperCase(),c=!1):s[u+1]==="-"&&((r=s[u+2])!=null&&r.match(/[a-z]/))?(o+=s[u],c=!0):o+=`${s[u]}${s[u].toUpperCase()}`;continue}}else if(s[u].match(/[a-z]/)){o+=`[${s[u]}${s[u].toUpperCase()}]`;continue}}if(n.m){if(s[u]==="^"){o+=`(^|(?<=[\r
|
|
32
|
+
]))`;continue}else if(s[u]==="$"){o+=`($|(?=[\r
|
|
33
|
+
]))`;continue}}if(n.s&&s[u]==="."){o+=i?`${s[u]}\r
|
|
34
|
+
`:`[${s[u]}\r
|
|
35
|
+
]`;continue}o+=s[u],s[u]==="\\"?l=!0:i&&s[u]==="]"?i=!1:!i&&s[u]==="["&&(i=!0)}try{new RegExp(o)}catch{return console.warn(`Could not convert regex pattern at ${t.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),e.source}return o}function wo(e,t){var r,n,s,o,l,i;const c={type:"object",additionalProperties:(r=U(e.valueType._def,{...t,currentPath:[...t.currentPath,"additionalProperties"]}))!=null?r:t.allowedAdditionalProperties};if(((n=e.keyType)==null?void 0:n._def.typeName)===a.ZodFirstPartyTypeKind$1.ZodString&&((s=e.keyType._def.checks)!=null&&s.length)){const{type:u,...d}=bo(e.keyType._def,t);return{...c,propertyNames:d}}else{if(((o=e.keyType)==null?void 0:o._def.typeName)===a.ZodFirstPartyTypeKind$1.ZodEnum)return{...c,propertyNames:{enum:e.keyType._def.values}};if(((l=e.keyType)==null?void 0:l._def.typeName)===a.ZodFirstPartyTypeKind$1.ZodBranded&&e.keyType._def.type._def.typeName===a.ZodFirstPartyTypeKind$1.ZodString&&((i=e.keyType._def.type._def.checks)!=null&&i.length)){const{type:u,...d}=yo(e.keyType._def,t);return{...c,propertyNames:d}}}return c}function vc(e,t){if(t.mapStrategy==="record")return wo(e,t);const r=U(e.keyType._def,{...t,currentPath:[...t.currentPath,"items","items","0"]})||ee(),n=U(e.valueType._def,{...t,currentPath:[...t.currentPath,"items","items","1"]})||ee();return{type:"array",maxItems:125,items:{type:"array",items:[r,n],minItems:2,maxItems:2}}}function yc(e){const t=e.values,n=Object.keys(e.values).filter(o=>typeof t[t[o]]!="number").map(o=>t[o]),s=Array.from(new Set(n.map(o=>typeof o)));return{type:s.length===1?s[0]==="string"?"string":"number":["string","number"],enum:n}}function _c(){return{not:ee()}}function bc(){return{type:"null"}}var yr={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function wc(e,t){const r=e.options instanceof Map?Array.from(e.options.values()):e.options;if(r.every(n=>n._def.typeName in yr&&(!n._def.checks||!n._def.checks.length))){const n=r.reduce((s,o)=>{const l=yr[o._def.typeName];return l&&!s.includes(l)?[...s,l]:s},[]);return{type:n.length>1?n:n[0]}}else if(r.every(n=>n._def.typeName==="ZodLiteral"&&!n.description)){const n=r.reduce((s,o)=>{const l=typeof o._def.value;switch(l){case"string":case"number":case"boolean":return[...s,l];case"bigint":return[...s,"integer"];case"object":if(o._def.value===null)return[...s,"null"];case"symbol":case"undefined":case"function":default:return s}},[]);if(n.length===r.length){const s=n.filter((o,l,i)=>i.indexOf(o)===l);return{type:s.length>1?s:s[0],enum:r.reduce((o,l)=>o.includes(l._def.value)?o:[...o,l._def.value],[])}}}else if(r.every(n=>n._def.typeName==="ZodEnum"))return{type:"string",enum:r.reduce((n,s)=>[...n,...s._def.values.filter(o=>!n.includes(o))],[])};return Tc(e,t)}var Tc=(e,t)=>{const r=(e.options instanceof Map?Array.from(e.options.values()):e.options).map((n,s)=>U(n._def,{...t,currentPath:[...t.currentPath,"anyOf",`${s}`]})).filter(n=>!!n&&(!t.strictUnions||typeof n=="object"&&Object.keys(n).length>0));return r.length?{anyOf:r}:void 0};function Ic(e,t){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(e.innerType._def.typeName)&&(!e.innerType._def.checks||!e.innerType._def.checks.length))return{type:[yr[e.innerType._def.typeName],"null"]};const r=U(e.innerType._def,{...t,currentPath:[...t.currentPath,"anyOf","0"]});return r&&{anyOf:[r,{type:"null"}]}}function Ec(e){const t={type:"number"};if(!e.checks)return t;for(const r of e.checks)switch(r.kind){case"int":t.type="integer";break;case"min":r.inclusive?t.minimum=r.value:t.exclusiveMinimum=r.value;break;case"max":r.inclusive?t.maximum=r.value:t.exclusiveMaximum=r.value;break;case"multipleOf":t.multipleOf=r.value;break}return t}function Sc(e,t){const r={type:"object",properties:{}},n=[],s=e.shape();for(const l in s){let i=s[l];if(i===void 0||i._def===void 0)continue;const c=Rc(i),u=U(i._def,{...t,currentPath:[...t.currentPath,"properties",l],propertyPath:[...t.currentPath,"properties",l]});u!==void 0&&(r.properties[l]=u,c||n.push(l))}n.length&&(r.required=n);const o=xc(e,t);return o!==void 0&&(r.additionalProperties=o),r}function xc(e,t){if(e.catchall._def.typeName!=="ZodNever")return U(e.catchall._def,{...t,currentPath:[...t.currentPath,"additionalProperties"]});switch(e.unknownKeys){case"passthrough":return t.allowedAdditionalProperties;case"strict":return t.rejectedAdditionalProperties;case"strip":return t.removeAdditionalStrategy==="strict"?t.allowedAdditionalProperties:t.rejectedAdditionalProperties}}function Rc(e){try{return e.isOptional()}catch{return!0}}var Ac=(e,t)=>{var r;if(t.currentPath.toString()===((r=t.propertyPath)==null?void 0:r.toString()))return U(e.innerType._def,t);const n=U(e.innerType._def,{...t,currentPath:[...t.currentPath,"anyOf","1"]});return n?{anyOf:[{not:ee()},n]}:ee()},Cc=(e,t)=>{if(t.pipeStrategy==="input")return U(e.in._def,t);if(t.pipeStrategy==="output")return U(e.out._def,t);const r=U(e.in._def,{...t,currentPath:[...t.currentPath,"allOf","0"]}),n=U(e.out._def,{...t,currentPath:[...t.currentPath,"allOf",r?"1":"0"]});return{allOf:[r,n].filter(s=>s!==void 0)}};function Pc(e,t){return U(e.type._def,t)}function kc(e,t){const n={type:"array",uniqueItems:!0,items:U(e.valueType._def,{...t,currentPath:[...t.currentPath,"items"]})};return e.minSize&&(n.minItems=e.minSize.value),e.maxSize&&(n.maxItems=e.maxSize.value),n}function Oc(e,t){return e.rest?{type:"array",minItems:e.items.length,items:e.items.map((r,n)=>U(r._def,{...t,currentPath:[...t.currentPath,"items",`${n}`]})).reduce((r,n)=>n===void 0?r:[...r,n],[]),additionalItems:U(e.rest._def,{...t,currentPath:[...t.currentPath,"additionalItems"]})}:{type:"array",minItems:e.items.length,maxItems:e.items.length,items:e.items.map((r,n)=>U(r._def,{...t,currentPath:[...t.currentPath,"items",`${n}`]})).reduce((r,n)=>n===void 0?r:[...r,n],[])}}function Mc(){return{not:ee()}}function Nc(){return ee()}var $c=(e,t)=>U(e.innerType._def,t),jc=(e,t,r)=>{switch(t){case a.ZodFirstPartyTypeKind$1.ZodString:return bo(e,r);case a.ZodFirstPartyTypeKind$1.ZodNumber:return Ec(e);case a.ZodFirstPartyTypeKind$1.ZodObject:return Sc(e,r);case a.ZodFirstPartyTypeKind$1.ZodBigInt:return oc(e);case a.ZodFirstPartyTypeKind$1.ZodBoolean:return sc();case a.ZodFirstPartyTypeKind$1.ZodDate:return _o(e,r);case a.ZodFirstPartyTypeKind$1.ZodUndefined:return Mc();case a.ZodFirstPartyTypeKind$1.ZodNull:return bc();case a.ZodFirstPartyTypeKind$1.ZodArray:return ac(e,r);case a.ZodFirstPartyTypeKind$1.ZodUnion:case a.ZodFirstPartyTypeKind$1.ZodDiscriminatedUnion:return wc(e,r);case a.ZodFirstPartyTypeKind$1.ZodIntersection:return fc(e,r);case a.ZodFirstPartyTypeKind$1.ZodTuple:return Oc(e,r);case a.ZodFirstPartyTypeKind$1.ZodRecord:return wo(e,r);case a.ZodFirstPartyTypeKind$1.ZodLiteral:return mc(e);case a.ZodFirstPartyTypeKind$1.ZodEnum:return dc(e);case a.ZodFirstPartyTypeKind$1.ZodNativeEnum:return yc(e);case a.ZodFirstPartyTypeKind$1.ZodNullable:return Ic(e,r);case a.ZodFirstPartyTypeKind$1.ZodOptional:return Ac(e,r);case a.ZodFirstPartyTypeKind$1.ZodMap:return vc(e,r);case a.ZodFirstPartyTypeKind$1.ZodSet:return kc(e,r);case a.ZodFirstPartyTypeKind$1.ZodLazy:return()=>e.getter()._def;case a.ZodFirstPartyTypeKind$1.ZodPromise:return Pc(e,r);case a.ZodFirstPartyTypeKind$1.ZodNaN:case a.ZodFirstPartyTypeKind$1.ZodNever:return _c();case a.ZodFirstPartyTypeKind$1.ZodEffects:return cc(e,r);case a.ZodFirstPartyTypeKind$1.ZodAny:return ee();case a.ZodFirstPartyTypeKind$1.ZodUnknown:return Nc();case a.ZodFirstPartyTypeKind$1.ZodDefault:return uc(e,r);case a.ZodFirstPartyTypeKind$1.ZodBranded:return yo(e,r);case a.ZodFirstPartyTypeKind$1.ZodReadonly:return $c(e,r);case a.ZodFirstPartyTypeKind$1.ZodCatch:return ic(e,r);case a.ZodFirstPartyTypeKind$1.ZodPipeline:return Cc(e,r);case a.ZodFirstPartyTypeKind$1.ZodFunction:case a.ZodFirstPartyTypeKind$1.ZodVoid:case a.ZodFirstPartyTypeKind$1.ZodSymbol:return;default:return(n=>{})()}};function U(e,t,r=!1){var n;const s=t.seen.get(e);if(t.override){const c=(n=t.override)==null?void 0:n.call(t,e,t,s,r);if(c!==rc)return c}if(s&&!r){const c=Dc(s,t);if(c!==void 0)return c}const o={def:e,path:t.currentPath,jsonSchema:void 0};t.seen.set(e,o);const l=jc(e,e.typeName,t),i=typeof l=="function"?U(l(),t):l;if(i&&Uc(e,t,i),t.postProcess){const c=t.postProcess(i,e,t);return o.jsonSchema=i,c}return o.jsonSchema=i,i}var Dc=(e,t)=>{switch(t.$refStrategy){case"root":return{$ref:e.path.join("/")};case"relative":return{$ref:tc(t.currentPath,e.path)};case"none":case"seen":return e.path.length<t.currentPath.length&&e.path.every((r,n)=>t.currentPath[n]===r)?(console.warn(`Recursive reference detected at ${t.currentPath.join("/")}! Defaulting to any`),ee()):t.$refStrategy==="seen"?ee():void 0}},Uc=(e,t,r)=>(e.description&&(r.description=e.description),r),qc=e=>{const t=nc(e),r=t.name!==void 0?[...t.basePath,t.definitionPath,t.name]:t.basePath;return{...t,currentPath:r,propertyPath:void 0,seen:new Map(Object.entries(t.definitions).map(([n,s])=>[s._def,{def:s._def,path:[...t.basePath,t.definitionPath,n],jsonSchema:void 0}]))}},Fc=(e,t)=>{var r;const n=qc(t);let s=typeof t=="object"&&t.definitions?Object.entries(t.definitions).reduce((u,[d,p])=>{var h;return{...u,[d]:(h=U(p._def,{...n,currentPath:[...n.basePath,n.definitionPath,d]},!0))!=null?h:ee()}},{}):void 0;const o=typeof t=="string"?t:t?.nameStrategy==="title"?void 0:t?.name,l=(r=U(e._def,o===void 0?n:{...n,currentPath:[...n.basePath,n.definitionPath,o]},!1))!=null?r:ee(),i=typeof t=="object"&&t.name!==void 0&&t.nameStrategy==="title"?t.name:void 0;i!==void 0&&(l.title=i);const c=o===void 0?s?{...l,[n.definitionPath]:s}:l:{$ref:[...n.$refStrategy==="relative"?[]:n.basePath,n.definitionPath,o].join("/"),[n.definitionPath]:{...s,[o]:l}};return c.$schema="http://json-schema.org/draft-07/schema#",c},Lc=Fc;function Vc(e,t){var r;const n=(r=void 0)!=null?r:!1;return Fr(()=>Lc(e,{$refStrategy:n?"root":"none"}),{validate:async s=>{const o=await e.safeParseAsync(s);return o.success?{success:!0,value:o.data}:{success:!1,error:o.error}}})}function Hc(e,t){var r;const n=(r=void 0)!=null?r:!1;return Fr(()=>a.toJSONSchema(e,{target:"draft-7",io:"output",reused:n?"ref":"inline"}),{validate:async s=>{const o=await a.safeParseAsync$1(e,s);return o.success?{success:!0,value:o.data}:{success:!1,error:o.error}}})}function Bc(e){return"_zod"in e}function Pe(e,t){return Bc(e)?Hc(e):Vc(e)}var _r=Symbol.for("vercel.ai.schema");function Fr(e,{validate:t}={}){return{[_r]:!0,_type:void 0,[At]:!0,get jsonSchema(){return typeof e=="function"&&(e=e()),e},validate:t}}function Zc(e){return typeof e=="object"&&e!==null&&_r in e&&e[_r]===!0&&"jsonSchema"in e&&"validate"in e}function jt(e){return e==null?Fr({properties:{},additionalProperties:!1}):Zc(e)?e:typeof e=="function"?e():Pe(e)}var{btoa:Kc,atob:Gc}=globalThis;function Lr(e){const t=e.replace(/-/g,"+").replace(/_/g,"/"),r=Gc(t);return Uint8Array.from(r,n=>n.codePointAt(0))}function br(e){let t="";for(let r=0;r<e.length;r++)t+=String.fromCodePoint(e[r]);return Kc(t)}function Jc(e){return e?.replace(/\/$/,"")}function zc(e){return e!=null&&typeof e[Symbol.asyncIterator]=="function"}async function*Wc({execute:e,input:t,options:r}){const n=e(t,r);if(zc(n)){let s;for await(const o of n)s=o,yield{type:"preliminary",output:o};yield{type:"final",output:s}}else yield{type:"final",output:await n}}var rr,bn;function Yc(){if(bn)return rr;bn=1;var e=Object.defineProperty,t=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,n=Object.prototype.hasOwnProperty,s=(d,p)=>{for(var h in p)e(d,h,{get:p[h],enumerable:!0})},o=(d,p,h,f)=>{if(p&&typeof p=="object"||typeof p=="function")for(let m of r(p))!n.call(d,m)&&m!==h&&e(d,m,{get:()=>p[m],enumerable:!(f=t(p,m))||f.enumerable});return d},l=d=>o(e({},"__esModule",{value:!0}),d),i={};s(i,{SYMBOL_FOR_REQ_CONTEXT:()=>c,getContext:()=>u}),rr=l(i);const c=Symbol.for("@vercel/request-context");function u(){return globalThis[c]?.get?.()??{}}return rr}var nr,wn;function Xc(){if(wn)return nr;wn=1;var e=Object.defineProperty,t=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,n=Object.prototype.hasOwnProperty,s=(p,h)=>{for(var f in h)e(p,f,{get:h[f],enumerable:!0})},o=(p,h,f,m)=>{if(h&&typeof h=="object"||typeof h=="function")for(let v of r(h))!n.call(p,v)&&v!==f&&e(p,v,{get:()=>h[v],enumerable:!(m=t(h,v))||m.enumerable});return p},l=p=>o(e({},"__esModule",{value:!0}),p),i={};s(i,{getContext:()=>c.getContext,getVercelOidcToken:()=>u,getVercelOidcTokenSync:()=>d}),nr=l(i);var c=Yc();async function u(){return""}function d(){return""}return nr}var To=Xc(),Qc="vercel.ai.gateway.error",ar=Symbol.for(Qc),Tn,In,te=class Io extends(In=Error,Tn=ar,In){constructor({message:t,statusCode:r=500,cause:n}){super(t),this[Tn]=!0,this.statusCode=r,this.cause=n}static isInstance(t){return Io.hasMarker(t)}static hasMarker(t){return typeof t=="object"&&t!==null&&ar in t&&t[ar]===!0}},Eo="GatewayAuthenticationError",ed=`vercel.ai.gateway.error.${Eo}`,En=Symbol.for(ed),Sn,xn,Vr=class So extends(xn=te,Sn=En,xn){constructor({message:t="Authentication failed",statusCode:r=401,cause:n}={}){super({message:t,statusCode:r,cause:n}),this[Sn]=!0,this.name=Eo,this.type="authentication_error"}static isInstance(t){return te.hasMarker(t)&&En in t}static createContextualError({apiKeyProvided:t,oidcTokenProvided:r,message:n="Authentication failed",statusCode:s=401,cause:o}){let l;return t?l=`AI Gateway authentication failed: Invalid API key.
|
|
36
|
+
|
|
37
|
+
Create a new API key: https://vercel.com/d?to=%2F%5Bteam%5D%2F%7E%2Fai%2Fapi-keys
|
|
38
|
+
|
|
39
|
+
Provide via 'apiKey' option or 'AI_GATEWAY_API_KEY' environment variable.`:r?l=`AI Gateway authentication failed: Invalid OIDC token.
|
|
40
|
+
|
|
41
|
+
Run 'npx vercel link' to link your project, then 'vc env pull' to fetch the token.
|
|
42
|
+
|
|
43
|
+
Alternatively, use an API key: https://vercel.com/d?to=%2F%5Bteam%5D%2F%7E%2Fai%2Fapi-keys`:l=`AI Gateway authentication failed: No authentication provided.
|
|
44
|
+
|
|
45
|
+
Option 1 - API key:
|
|
46
|
+
Create an API key: https://vercel.com/d?to=%2F%5Bteam%5D%2F%7E%2Fai%2Fapi-keys
|
|
47
|
+
Provide via 'apiKey' option or 'AI_GATEWAY_API_KEY' environment variable.
|
|
48
|
+
|
|
49
|
+
Option 2 - OIDC token:
|
|
50
|
+
Run 'npx vercel link' to link your project, then 'vc env pull' to fetch the token.`,new So({message:l,statusCode:s,cause:o})}},xo="GatewayInvalidRequestError",td=`vercel.ai.gateway.error.${xo}`,Rn=Symbol.for(td),An,Cn,rd=class extends(Cn=te,An=Rn,Cn){constructor({message:e="Invalid request",statusCode:t=400,cause:r}={}){super({message:e,statusCode:t,cause:r}),this[An]=!0,this.name=xo,this.type="invalid_request_error"}static isInstance(e){return te.hasMarker(e)&&Rn in e}},Ro="GatewayRateLimitError",nd=`vercel.ai.gateway.error.${Ro}`,Pn=Symbol.for(nd),kn,On,ad=class extends(On=te,kn=Pn,On){constructor({message:e="Rate limit exceeded",statusCode:t=429,cause:r}={}){super({message:e,statusCode:t,cause:r}),this[kn]=!0,this.name=Ro,this.type="rate_limit_exceeded"}static isInstance(e){return te.hasMarker(e)&&Pn in e}},Ao="GatewayModelNotFoundError",od=`vercel.ai.gateway.error.${Ao}`,Mn=Symbol.for(od),sd=Ue(()=>Pe(a.object({modelId:a.string()}))),Nn,$n,Co=class extends($n=te,Nn=Mn,$n){constructor({message:e="Model not found",statusCode:t=404,modelId:r,cause:n}={}){super({message:e,statusCode:t,cause:n}),this[Nn]=!0,this.name=Ao,this.type="model_not_found",this.modelId=r}static isInstance(e){return te.hasMarker(e)&&Mn in e}},Po="GatewayInternalServerError",id=`vercel.ai.gateway.error.${Po}`,jn=Symbol.for(id),Dn,Un,qn=class extends(Un=te,Dn=jn,Un){constructor({message:e="Internal server error",statusCode:t=500,cause:r}={}){super({message:e,statusCode:t,cause:r}),this[Dn]=!0,this.name=Po,this.type="internal_server_error"}static isInstance(e){return te.hasMarker(e)&&jn in e}},ko="GatewayResponseError",ld=`vercel.ai.gateway.error.${ko}`,Fn=Symbol.for(ld),Ln,Vn,ud=class extends(Vn=te,Ln=Fn,Vn){constructor({message:e="Invalid response from Gateway",statusCode:t=502,response:r,validationError:n,cause:s}={}){super({message:e,statusCode:t,cause:s}),this[Ln]=!0,this.name=ko,this.type="response_error",this.response=r,this.validationError=n}static isInstance(e){return te.hasMarker(e)&&Fn in e}};async function Hn({response:e,statusCode:t,defaultMessage:r="Gateway request failed",cause:n,authMethod:s}){const o=await Se({value:e,schema:cd});if(!o.success)return new ud({message:`Invalid error response format: ${r}`,statusCode:t,response:e,validationError:o.error,cause:n});const l=o.value,i=l.error.type,c=l.error.message;switch(i){case"authentication_error":return Vr.createContextualError({apiKeyProvided:s==="api-key",oidcTokenProvided:s==="oidc",statusCode:t,cause:n});case"invalid_request_error":return new rd({message:c,statusCode:t,cause:n});case"rate_limit_exceeded":return new ad({message:c,statusCode:t,cause:n});case"model_not_found":{const u=await Se({value:l.error.param,schema:sd});return new Co({message:c,statusCode:t,modelId:u.success?u.value.modelId:void 0,cause:n})}case"internal_server_error":return new qn({message:c,statusCode:t,cause:n});default:return new qn({message:c,statusCode:t,cause:n})}}var cd=Ue(()=>Pe(a.object({error:a.object({message:a.string(),type:a.string().nullish(),param:a.unknown().nullish(),code:a.union([a.string(),a.number()]).nullish()})})));function Ce(e,t){var r;return te.isInstance(e)?e:a.APICallError.isInstance(e)?Hn({response:dd(e),statusCode:(r=e.statusCode)!=null?r:500,defaultMessage:"Gateway request failed",cause:e,authMethod:t}):Hn({response:{},statusCode:500,defaultMessage:e instanceof Error?`Gateway request failed: ${e.message}`:"Unknown Gateway error",cause:e,authMethod:t})}function dd(e){if(e.data!==void 0)return e.data;if(e.responseBody!=null)try{return JSON.parse(e.responseBody)}catch{return e.responseBody}return{}}var Oo="ai-gateway-auth-method";async function at(e){const t=await Se({value:e[Oo],schema:pd});return t.success?t.value:void 0}var pd=Ue(()=>Pe(a.union([a.literal("api-key"),a.literal("oidc")]))),Bn=class{constructor(e){this.config=e}async getAvailableModels(){try{const{value:e}=await vn({url:`${this.config.baseURL}/config`,headers:await Ee(this.config.headers()),successfulResponseHandler:Ct(fd),failedResponseHandler:nt({errorSchema:a.any(),errorToMessage:t=>t}),fetch:this.config.fetch});return e}catch(e){throw await Ce(e)}}async getCredits(){try{const e=new URL(this.config.baseURL),{value:t}=await vn({url:`${e.origin}/v1/credits`,headers:await Ee(this.config.headers()),successfulResponseHandler:Ct(md),failedResponseHandler:nt({errorSchema:a.any(),errorToMessage:r=>r}),fetch:this.config.fetch});return t}catch(e){throw await Ce(e)}}},fd=Ue(()=>Pe(a.object({models:a.array(a.object({id:a.string(),name:a.string(),description:a.string().nullish(),pricing:a.object({input:a.string(),output:a.string(),input_cache_read:a.string().nullish(),input_cache_write:a.string().nullish()}).transform(({input:e,output:t,input_cache_read:r,input_cache_write:n})=>({input:e,output:t,...r?{cachedInputTokens:r}:{},...n?{cacheCreationInputTokens:n}:{}})).nullish(),specification:a.object({specificationVersion:a.literal("v2"),provider:a.string(),modelId:a.string()}),modelType:a._enum$1(["language","embedding","image"]).nullish()}))}))),md=Ue(()=>Pe(a.object({balance:a.string(),total_used:a.string()}).transform(({balance:e,total_used:t})=>({balance:e,totalUsed:t})))),hd=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v2",this.supportedUrls={"*/*":[/.*/]}}get provider(){return this.config.provider}async getArgs(e){const{abortSignal:t,...r}=e;return{args:this.maybeEncodeFileParts(r),warnings:[]}}async doGenerate(e){const{args:t,warnings:r}=await this.getArgs(e),{abortSignal:n}=e,s=await Ee(this.config.headers());try{const{responseHeaders:o,value:l,rawValue:i}=await vr({url:this.getUrl(),headers:hr(s,e.headers,this.getModelConfigHeaders(this.modelId,!1),await Ee(this.config.o11yHeaders)),body:t,successfulResponseHandler:Ct(a.any()),failedResponseHandler:nt({errorSchema:a.any(),errorToMessage:c=>c}),...n&&{abortSignal:n},fetch:this.config.fetch});return{...l,request:{body:t},response:{headers:o,body:i},warnings:r}}catch(o){throw await Ce(o,await at(s))}}async doStream(e){const{args:t,warnings:r}=await this.getArgs(e),{abortSignal:n}=e,s=await Ee(this.config.headers());try{const{value:o,responseHeaders:l}=await vr({url:this.getUrl(),headers:hr(s,e.headers,this.getModelConfigHeaders(this.modelId,!0),await Ee(this.config.o11yHeaders)),body:t,successfulResponseHandler:ec(a.any()),failedResponseHandler:nt({errorSchema:a.any(),errorToMessage:i=>i}),...n&&{abortSignal:n},fetch:this.config.fetch});return{stream:o.pipeThrough(new TransformStream({start(i){r.length>0&&i.enqueue({type:"stream-start",warnings:r})},transform(i,c){if(i.success){const u=i.value;if(u.type==="raw"&&!e.includeRawChunks)return;u.type==="response-metadata"&&u.timestamp&&typeof u.timestamp=="string"&&(u.timestamp=new Date(u.timestamp)),c.enqueue(u)}else c.error(i.error)}})),request:{body:t},response:{headers:l}}}catch(o){throw await Ce(o,await at(s))}}isFilePart(e){return e&&typeof e=="object"&&"type"in e&&e.type==="file"}maybeEncodeFileParts(e){for(const t of e.prompt)for(const r of t.content)if(this.isFilePart(r)){const n=r;if(n.data instanceof Uint8Array){const s=Uint8Array.from(n.data),o=Buffer.from(s).toString("base64");n.data=new URL(`data:${n.mediaType||"application/octet-stream"};base64,${o}`)}}return e}getUrl(){return`${this.config.baseURL}/language-model`}getModelConfigHeaders(e,t){return{"ai-language-model-specification-version":"2","ai-language-model-id":e,"ai-language-model-streaming":String(t)}}},gd=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v2",this.maxEmbeddingsPerCall=2048,this.supportsParallelCalls=!0}get provider(){return this.config.provider}async doEmbed({values:e,headers:t,abortSignal:r,providerOptions:n}){var s;const o=await Ee(this.config.headers());try{const{responseHeaders:l,value:i,rawValue:c}=await vr({url:this.getUrl(),headers:hr(o,t??{},this.getModelConfigHeaders(),await Ee(this.config.o11yHeaders)),body:{input:e.length===1?e[0]:e,...n?{providerOptions:n}:{}},successfulResponseHandler:Ct(vd),failedResponseHandler:nt({errorSchema:a.any(),errorToMessage:u=>u}),...r&&{abortSignal:r},fetch:this.config.fetch});return{embeddings:i.embeddings,usage:(s=i.usage)!=null?s:void 0,providerMetadata:i.providerMetadata,response:{headers:l,body:c}}}catch(l){throw await Ce(l,await at(o))}}getUrl(){return`${this.config.baseURL}/embedding-model`}getModelConfigHeaders(){return{"ai-embedding-model-specification-version":"2","ai-model-id":this.modelId}}},vd=Ue(()=>Pe(a.object({embeddings:a.array(a.array(a.number())),usage:a.object({tokens:a.number()}).nullish(),providerMetadata:a.record(a.string(),a.record(a.string(),a.unknown())).optional()})));async function yd(){var e;return(e=To.getContext().headers)==null?void 0:e["x-vercel-id"]}var _d="2.0.7",bd="0.0.1";function wd(e={}){var t,r;let n=null,s=null;const o=(t=e.metadataCacheRefreshMillis)!=null?t:1e3*60*5;let l=0;const i=(r=Jc(e.baseURL))!=null?r:"https://ai-gateway.vercel.sh/v1/ai",c=async()=>{const m=await Id(e);if(m)return $t({Authorization:`Bearer ${m.token}`,"ai-gateway-protocol-version":bd,[Oo]:m.authMethod,...e.headers},`ai-sdk/gateway/${_d}`);throw Vr.createContextualError({apiKeyProvided:!1,oidcTokenProvided:!1,statusCode:401})},u=()=>{const m=gt({settingValue:void 0,environmentVariableName:"VERCEL_DEPLOYMENT_ID"}),v=gt({settingValue:void 0,environmentVariableName:"VERCEL_ENV"}),_=gt({settingValue:void 0,environmentVariableName:"VERCEL_REGION"});return async()=>{const y=await yd();return{...m&&{"ai-o11y-deployment-id":m},...v&&{"ai-o11y-environment":v},..._&&{"ai-o11y-region":_},...y&&{"ai-o11y-request-id":y}}}},d=m=>new hd(m,{provider:"gateway",baseURL:i,headers:c,fetch:e.fetch,o11yHeaders:u()}),p=async()=>{var m,v,_;const y=(_=(v=(m=e._internal)==null?void 0:m.currentDate)==null?void 0:v.call(m).getTime())!=null?_:Date.now();return(!n||y-l>o)&&(l=y,n=new Bn({baseURL:i,headers:c,fetch:e.fetch}).getAvailableModels().then(w=>(s=w,w)).catch(async w=>{throw await Ce(w,await at(await c()))})),s?Promise.resolve(s):n},h=async()=>new Bn({baseURL:i,headers:c,fetch:e.fetch}).getCredits().catch(async m=>{throw await Ce(m,await at(await c()))}),f=function(m){if(new.target)throw new Error("The Gateway Provider model function cannot be called with the new keyword.");return d(m)};return f.getAvailableModels=p,f.getCredits=h,f.imageModel=m=>{throw new a.NoSuchModelError({modelId:m,modelType:"imageModel"})},f.languageModel=d,f.textEmbeddingModel=m=>new gd(m,{provider:"gateway",baseURL:i,headers:c,fetch:e.fetch,o11yHeaders:u()}),f}var Td=wd();async function Id(e){const t=gt({settingValue:e.apiKey,environmentVariableName:"AI_GATEWAY_API_KEY"});if(t)return{token:t,authMethod:"api-key"};try{return{token:await To.getVercelOidcToken(),authMethod:"oidc"}}catch{return null}}var Ed=Object.defineProperty,Sd=(e,t)=>{for(var r in t)Ed(e,r,{get:t[r],enumerable:!0})},Mo="AI_NoOutputSpecifiedError",No=`vercel.ai.error.${Mo}`,xd=Symbol.for(No),$o,Rd=class extends a.AISDKError{constructor({message:e="No output specified."}={}){super({name:Mo,message:e}),this[$o]=!0}static isInstance(e){return a.AISDKError.hasMarker(e,No)}};$o=xd;function Ad(e){const t="AI SDK Warning:";switch(e.type){case"unsupported-setting":{let r=`${t} The "${e.setting}" setting is not supported by this model`;return e.details&&(r+=` - ${e.details}`),r}case"unsupported-tool":{const r="name"in e.tool?e.tool.name:"unknown tool";let n=`${t} The tool "${r}" is not supported by this model`;return e.details&&(n+=` - ${e.details}`),n}case"other":return`${t} ${e.message}`;default:return`${t} ${JSON.stringify(e,null,2)}`}}var Cd="AI SDK Warning System: To turn off warning logging, set the AI_SDK_LOG_WARNINGS global to false.",Zn=!1,Pd=e=>{if(e.length===0)return;const t=globalThis.AI_SDK_LOG_WARNINGS;if(t!==!1){if(typeof t=="function"){t(e);return}Zn||(Zn=!0,console.info(Cd));for(const r of e)console.warn(Ad(r))}},jo="AI_InvalidArgumentError",Do=`vercel.ai.error.${jo}`,kd=Symbol.for(Do),Uo,ge=class extends a.AISDKError{constructor({parameter:e,value:t,message:r}){super({name:jo,message:`Invalid argument for parameter ${e}: ${r}`}),this[Uo]=!0,this.parameter=e,this.value=t}static isInstance(e){return a.AISDKError.hasMarker(e,Do)}};Uo=kd;var qo="AI_InvalidToolInputError",Fo=`vercel.ai.error.${qo}`,Od=Symbol.for(Fo),Lo,Vo=class extends a.AISDKError{constructor({toolInput:e,toolName:t,cause:r,message:n=`Invalid input for tool ${t}: ${a.getErrorMessage(r)}`}){super({name:qo,message:n,cause:r}),this[Lo]=!0,this.toolInput=e,this.toolName=t}static isInstance(e){return a.AISDKError.hasMarker(e,Fo)}};Lo=Od;var Ho="AI_NoObjectGeneratedError",Bo=`vercel.ai.error.${Ho}`,Md=Symbol.for(Bo),Zo,Kn=class extends a.AISDKError{constructor({message:e="No object generated.",cause:t,text:r,response:n,usage:s,finishReason:o}){super({name:Ho,message:e,cause:t}),this[Zo]=!0,this.text=r,this.response=n,this.usage=s,this.finishReason=o}static isInstance(e){return a.AISDKError.hasMarker(e,Bo)}};Zo=Md;var Ko="AI_NoOutputGeneratedError",Go=`vercel.ai.error.${Ko}`,Nd=Symbol.for(Go),Jo,$d=class extends a.AISDKError{constructor({message:e="No output generated.",cause:t}={}){super({name:Ko,message:e,cause:t}),this[Jo]=!0}static isInstance(e){return a.AISDKError.hasMarker(e,Go)}};Jo=Nd;var zo="AI_NoSuchToolError",Wo=`vercel.ai.error.${zo}`,jd=Symbol.for(Wo),Yo,wr=class extends a.AISDKError{constructor({toolName:e,availableTools:t=void 0,message:r=`Model tried to call unavailable tool '${e}'. ${t===void 0?"No tools are available.":`Available tools: ${t.join(", ")}.`}`}){super({name:zo,message:r}),this[Yo]=!0,this.toolName=e,this.availableTools=t}static isInstance(e){return a.AISDKError.hasMarker(e,Wo)}};Yo=jd;var Xo="AI_ToolCallRepairError",Qo=`vercel.ai.error.${Xo}`,Dd=Symbol.for(Qo),es,Ud=class extends a.AISDKError{constructor({cause:e,originalError:t,message:r=`Error repairing tool call: ${a.getErrorMessage(e)}`}){super({name:Xo,message:r,cause:e}),this[es]=!0,this.originalError=t}static isInstance(e){return a.AISDKError.hasMarker(e,Qo)}};es=Dd;var qd=class extends a.AISDKError{constructor(e){super({name:"AI_UnsupportedModelVersionError",message:`Unsupported model version ${e.version} for provider "${e.provider}" and model "${e.modelId}". AI SDK 5 only supports models that implement specification version "v2".`}),this.version=e.version,this.provider=e.provider,this.modelId=e.modelId}},ts="AI_InvalidMessageRoleError",rs=`vercel.ai.error.${ts}`,Fd=Symbol.for(rs),ns,Ld=class extends a.AISDKError{constructor({role:e,message:t=`Invalid message role: '${e}'. Must be one of: "system", "user", "assistant", "tool".`}){super({name:ts,message:t}),this[ns]=!0,this.role=e}static isInstance(e){return a.AISDKError.hasMarker(e,rs)}};ns=Fd;var as="AI_MessageConversionError",os=`vercel.ai.error.${as}`,Vd=Symbol.for(os),ss,Hd=class extends a.AISDKError{constructor({originalMessage:e,message:t}){super({name:as,message:t}),this[ss]=!0,this.originalMessage=e}static isInstance(e){return a.AISDKError.hasMarker(e,os)}};ss=Vd;var is="AI_DownloadError",ls=`vercel.ai.error.${is}`,Bd=Symbol.for(ls),us,or=class extends a.AISDKError{constructor({url:e,statusCode:t,statusText:r,cause:n,message:s=n==null?`Failed to download ${e}: ${t} ${r}`:`Failed to download ${e}: ${n}`}){super({name:is,message:s,cause:n}),this[us]=!0,this.url=e,this.statusCode=t,this.statusText=r}static isInstance(e){return a.AISDKError.hasMarker(e,ls)}};us=Bd;var cs="AI_RetryError",ds=`vercel.ai.error.${cs}`,Zd=Symbol.for(ds),ps,Gn=class extends a.AISDKError{constructor({message:e,reason:t,errors:r}){super({name:cs,message:e}),this[ps]=!0,this.reason=t,this.errors=r,this.lastError=r[r.length-1]}static isInstance(e){return a.AISDKError.hasMarker(e,ds)}};ps=Zd;function fs(e){if(typeof e!="string"){if(e.specificationVersion!=="v2")throw new qd({version:e.specificationVersion,provider:e.provider,modelId:e.modelId});return e}return Kd().languageModel(e)}function Kd(){var e;return(e=globalThis.AI_SDK_DEFAULT_PROVIDER)!=null?e:Td}var Gd=[{mediaType:"image/gif",bytesPrefix:[71,73,70]},{mediaType:"image/png",bytesPrefix:[137,80,78,71]},{mediaType:"image/jpeg",bytesPrefix:[255,216]},{mediaType:"image/webp",bytesPrefix:[82,73,70,70,null,null,null,null,87,69,66,80]},{mediaType:"image/bmp",bytesPrefix:[66,77]},{mediaType:"image/tiff",bytesPrefix:[73,73,42,0]},{mediaType:"image/tiff",bytesPrefix:[77,77,0,42]},{mediaType:"image/avif",bytesPrefix:[0,0,0,32,102,116,121,112,97,118,105,102]},{mediaType:"image/heic",bytesPrefix:[0,0,0,32,102,116,121,112,104,101,105,99]}],Jd=e=>{const t=typeof e=="string"?Lr(e):e,r=(t[6]&127)<<21|(t[7]&127)<<14|(t[8]&127)<<7|t[9]&127;return t.slice(r+10)};function zd(e){return typeof e=="string"&&e.startsWith("SUQz")||typeof e!="string"&&e.length>10&&e[0]===73&&e[1]===68&&e[2]===51?Jd(e):e}function Wd({data:e,signatures:t}){const r=zd(e),n=typeof r=="string"?Lr(r.substring(0,Math.min(r.length,24))):r;for(const s of t)if(n.length>=s.bytesPrefix.length&&s.bytesPrefix.every((o,l)=>o===null||n[l]===o))return s.mediaType}var Yd="5.0.90",Xd=async({url:e})=>{var t;const r=e.toString();try{const n=await fetch(r,{headers:$t({},`ai-sdk/${Yd}`,qr())});if(!n.ok)throw new or({url:r,statusCode:n.status,statusText:n.statusText});return{data:new Uint8Array(await n.arrayBuffer()),mediaType:(t=n.headers.get("content-type"))!=null?t:void 0}}catch(n){throw or.isInstance(n)?n:new or({url:r,cause:n})}},Qd=(e=Xd)=>t=>Promise.all(t.map(async r=>r.isUrlSupportedByModel?null:e(r)));function ep(e){try{const[t,r]=e.split(",");return{mediaType:t.split(";")[0].split(":")[1],base64Content:r}}catch{return{mediaType:void 0,base64Content:void 0}}}var ms=a.union([a.string(),a._instanceof(Uint8Array),a._instanceof(ArrayBuffer),a.custom(e=>{var t,r;return(r=(t=globalThis.Buffer)==null?void 0:t.isBuffer(e))!=null?r:!1},{message:"Must be a Buffer"})]);function hs(e){if(e instanceof Uint8Array)return{data:e,mediaType:void 0};if(e instanceof ArrayBuffer)return{data:new Uint8Array(e),mediaType:void 0};if(typeof e=="string")try{e=new URL(e)}catch{}if(e instanceof URL&&e.protocol==="data:"){const{mediaType:t,base64Content:r}=ep(e.toString());if(t==null||r==null)throw new a.AISDKError({name:"InvalidDataContentError",message:`Invalid data URL format in content ${e.toString()}`});return{data:r,mediaType:t}}return{data:e,mediaType:void 0}}function tp(e){return typeof e=="string"?e:e instanceof ArrayBuffer?br(new Uint8Array(e)):br(e)}async function rp({prompt:e,supportedUrls:t,download:r=Qd()}){const n=await ap(e.messages,r,t);return[...e.system!=null?[{role:"system",content:e.system}]:[],...e.messages.map(s=>np({message:s,downloadedAssets:n}))]}function np({message:e,downloadedAssets:t}){const r=e.role;switch(r){case"system":return{role:"system",content:e.content,providerOptions:e.providerOptions};case"user":return typeof e.content=="string"?{role:"user",content:[{type:"text",text:e.content}],providerOptions:e.providerOptions}:{role:"user",content:e.content.map(n=>op(n,t)).filter(n=>n.type!=="text"||n.text!==""),providerOptions:e.providerOptions};case"assistant":return typeof e.content=="string"?{role:"assistant",content:[{type:"text",text:e.content}],providerOptions:e.providerOptions}:{role:"assistant",content:e.content.filter(n=>n.type!=="text"||n.text!==""||n.providerOptions!=null).map(n=>{const s=n.providerOptions;switch(n.type){case"file":{const{data:o,mediaType:l}=hs(n.data);return{type:"file",data:o,filename:n.filename,mediaType:l??n.mediaType,providerOptions:s}}case"reasoning":return{type:"reasoning",text:n.text,providerOptions:s};case"text":return{type:"text",text:n.text,providerOptions:s};case"tool-call":return{type:"tool-call",toolCallId:n.toolCallId,toolName:n.toolName,input:n.input,providerExecuted:n.providerExecuted,providerOptions:s};case"tool-result":return{type:"tool-result",toolCallId:n.toolCallId,toolName:n.toolName,output:n.output,providerOptions:s}}}),providerOptions:e.providerOptions};case"tool":return{role:"tool",content:e.content.map(n=>({type:"tool-result",toolCallId:n.toolCallId,toolName:n.toolName,output:n.output,providerOptions:n.providerOptions})),providerOptions:e.providerOptions};default:{const n=r;throw new Ld({role:n})}}}async function ap(e,t,r){const n=e.filter(o=>o.role==="user").map(o=>o.content).filter(o=>Array.isArray(o)).flat().filter(o=>o.type==="image"||o.type==="file").map(o=>{var l;const i=(l=o.mediaType)!=null?l:o.type==="image"?"image/*":void 0;let c=o.type==="image"?o.image:o.data;if(typeof c=="string")try{c=new URL(c)}catch{}return{mediaType:i,data:c}}).filter(o=>o.data instanceof URL).map(o=>({url:o.data,isUrlSupportedByModel:o.mediaType!=null&&Lu({url:o.data.toString(),mediaType:o.mediaType,supportedUrls:r})})),s=await t(n);return Object.fromEntries(s.map((o,l)=>o==null?null:[n[l].url.toString(),{data:o.data,mediaType:o.mediaType}]).filter(o=>o!=null))}function op(e,t){var r;if(e.type==="text")return{type:"text",text:e.text,providerOptions:e.providerOptions};let n;const s=e.type;switch(s){case"image":n=e.image;break;case"file":n=e.data;break;default:throw new Error(`Unsupported part type: ${s}`)}const{data:o,mediaType:l}=hs(n);let i=l??e.mediaType,c=o;if(c instanceof URL){const u=t[c.toString()];u&&(c=u.data,i??(i=u.mediaType))}switch(s){case"image":return(c instanceof Uint8Array||typeof c=="string")&&(i=(r=Wd({data:c,signatures:Gd}))!=null?r:i),{type:"file",mediaType:i??"image/*",filename:void 0,data:c,providerOptions:e.providerOptions};case"file":{if(i==null)throw new Error("Media type is missing for file part");return{type:"file",mediaType:i,filename:e.filename,data:c,providerOptions:e.providerOptions}}}}function sp({maxOutputTokens:e,temperature:t,topP:r,topK:n,presencePenalty:s,frequencyPenalty:o,seed:l,stopSequences:i}){if(e!=null){if(!Number.isInteger(e))throw new ge({parameter:"maxOutputTokens",value:e,message:"maxOutputTokens must be an integer"});if(e<1)throw new ge({parameter:"maxOutputTokens",value:e,message:"maxOutputTokens must be >= 1"})}if(t!=null&&typeof t!="number")throw new ge({parameter:"temperature",value:t,message:"temperature must be a number"});if(r!=null&&typeof r!="number")throw new ge({parameter:"topP",value:r,message:"topP must be a number"});if(n!=null&&typeof n!="number")throw new ge({parameter:"topK",value:n,message:"topK must be a number"});if(s!=null&&typeof s!="number")throw new ge({parameter:"presencePenalty",value:s,message:"presencePenalty must be a number"});if(o!=null&&typeof o!="number")throw new ge({parameter:"frequencyPenalty",value:o,message:"frequencyPenalty must be a number"});if(l!=null&&!Number.isInteger(l))throw new ge({parameter:"seed",value:l,message:"seed must be an integer"});return{maxOutputTokens:e,temperature:t,topP:r,topK:n,presencePenalty:s,frequencyPenalty:o,stopSequences:i,seed:l}}function ip(e){return e!=null&&Object.keys(e).length>0}function lp({tools:e,toolChoice:t,activeTools:r}){return ip(e)?{tools:(r!=null?Object.entries(e).filter(([s])=>r.includes(s)):Object.entries(e)).map(([s,o])=>{const l=o.type;switch(l){case void 0:case"dynamic":case"function":return{type:"function",name:s,description:o.description,inputSchema:jt(o.inputSchema).jsonSchema,providerOptions:o.providerOptions};case"provider-defined":return{type:"provider-defined",name:s,id:o.id,args:o.args};default:{const i=l;throw new Error(`Unsupported tool type: ${i}`)}}}),toolChoice:t==null?{type:"auto"}:typeof t=="string"?{type:t}:{type:"tool",toolName:t.toolName}}:{tools:void 0,toolChoice:void 0}}var ot=a.lazy(()=>a.union([a._null$1(),a.string(),a.number(),a.boolean(),a.record(a.string(),ot),a.array(ot)])),ve=a.record(a.string(),a.record(a.string(),ot)),gs=a.object({type:a.literal("text"),text:a.string(),providerOptions:ve.optional()}),up=a.object({type:a.literal("image"),image:a.union([ms,a._instanceof(URL)]),mediaType:a.string().optional(),providerOptions:ve.optional()}),vs=a.object({type:a.literal("file"),data:a.union([ms,a._instanceof(URL)]),filename:a.string().optional(),mediaType:a.string(),providerOptions:ve.optional()}),cp=a.object({type:a.literal("reasoning"),text:a.string(),providerOptions:ve.optional()}),dp=a.object({type:a.literal("tool-call"),toolCallId:a.string(),toolName:a.string(),input:a.unknown(),providerOptions:ve.optional(),providerExecuted:a.boolean().optional()}),pp=a.discriminatedUnion("type",[a.object({type:a.literal("text"),value:a.string()}),a.object({type:a.literal("json"),value:ot}),a.object({type:a.literal("error-text"),value:a.string()}),a.object({type:a.literal("error-json"),value:ot}),a.object({type:a.literal("content"),value:a.array(a.union([a.object({type:a.literal("text"),text:a.string()}),a.object({type:a.literal("media"),data:a.string(),mediaType:a.string()})]))})]),ys=a.object({type:a.literal("tool-result"),toolCallId:a.string(),toolName:a.string(),output:pp,providerOptions:ve.optional()}),fp=a.object({role:a.literal("system"),content:a.string(),providerOptions:ve.optional()}),mp=a.object({role:a.literal("user"),content:a.union([a.string(),a.array(a.union([gs,up,vs]))]),providerOptions:ve.optional()}),hp=a.object({role:a.literal("assistant"),content:a.union([a.string(),a.array(a.union([gs,vs,cp,dp,ys]))]),providerOptions:ve.optional()}),gp=a.object({role:a.literal("tool"),content:a.array(ys),providerOptions:ve.optional()}),vp=a.union([fp,mp,hp,gp]);async function yp(e){if(e.prompt==null&&e.messages==null)throw new a.InvalidPromptError({prompt:e,message:"prompt or messages must be defined"});if(e.prompt!=null&&e.messages!=null)throw new a.InvalidPromptError({prompt:e,message:"prompt and messages cannot be defined at the same time"});if(e.system!=null&&typeof e.system!="string")throw new a.InvalidPromptError({prompt:e,message:"system must be a string"});let t;if(e.prompt!=null&&typeof e.prompt=="string")t=[{role:"user",content:e.prompt}];else if(e.prompt!=null&&Array.isArray(e.prompt))t=e.prompt;else if(e.messages!=null)t=e.messages;else throw new a.InvalidPromptError({prompt:e,message:"prompt or messages must be defined"});if(t.length===0)throw new a.InvalidPromptError({prompt:e,message:"messages must not be empty"});const r=await Se({value:t,schema:a.array(vp)});if(!r.success)throw new a.InvalidPromptError({prompt:e,message:"The messages must be a ModelMessage[]. If you have passed a UIMessage[], you can use convertToModelMessages to convert them.",cause:r.error});return{messages:t,system:e.system}}function _p(e){return Vr.isInstance(e)||Co.isInstance(e)?new a.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:e}):e}function Tr({operationId:e,telemetry:t}){return{"operation.name":`${e}${t?.functionId!=null?` ${t.functionId}`:""}`,"resource.name":t?.functionId,"ai.operationId":e,"ai.telemetry.functionId":t?.functionId}}function bp({model:e,settings:t,telemetry:r,headers:n}){var s;return{"ai.model.provider":e.provider,"ai.model.id":e.modelId,...Object.entries(t).reduce((o,[l,i])=>(o[`ai.settings.${l}`]=i,o),{}),...Object.entries((s=r?.metadata)!=null?s:{}).reduce((o,[l,i])=>(o[`ai.telemetry.metadata.${l}`]=i,o),{}),...Object.entries(n??{}).reduce((o,[l,i])=>(i!==void 0&&(o[`ai.request.headers.${l}`]=i),o),{})}}var wp={startSpan(){return pt},startActiveSpan(e,t,r,n){if(typeof t=="function")return t(pt);if(typeof r=="function")return r(pt);if(typeof n=="function")return n(pt)}},pt={spanContext(){return Tp},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}},Tp={traceId:"",spanId:"",traceFlags:0};function Ip({isEnabled:e=!1,tracer:t}={}){return e?t||fi.getTracer("ai"):wp}function Ir({name:e,tracer:t,attributes:r,fn:n,endWhenDone:s=!0}){return t.startActiveSpan(e,{attributes:r},async o=>{try{const l=await n(o);return s&&o.end(),l}catch(l){try{_s(o,l)}finally{o.end()}throw l}})}function _s(e,t){t instanceof Error?(e.recordException({name:t.name,message:t.message,stack:t.stack}),e.setStatus({code:yt.ERROR,message:t.message})):e.setStatus({code:yt.ERROR})}function Ne({telemetry:e,attributes:t}){return e?.isEnabled!==!0?{}:Object.entries(t).reduce((r,[n,s])=>{if(s==null)return r;if(typeof s=="object"&&"input"in s&&typeof s.input=="function"){if(e?.recordInputs===!1)return r;const o=s.input();return o==null?r:{...r,[n]:o}}if(typeof s=="object"&&"output"in s&&typeof s.output=="function"){if(e?.recordOutputs===!1)return r;const o=s.output();return o==null?r:{...r,[n]:o}}return{...r,[n]:s}},{})}function Ep(e){return JSON.stringify(e.map(t=>({...t,content:typeof t.content=="string"?t.content:t.content.map(r=>r.type==="file"?{...r,data:r.data instanceof Uint8Array?tp(r.data):r.data}:r)})))}function Sp(e,t){return{inputTokens:Ke(e.inputTokens,t.inputTokens),outputTokens:Ke(e.outputTokens,t.outputTokens),totalTokens:Ke(e.totalTokens,t.totalTokens),reasoningTokens:Ke(e.reasoningTokens,t.reasoningTokens),cachedInputTokens:Ke(e.cachedInputTokens,t.cachedInputTokens)}}function Ke(e,t){return e==null&&t==null?void 0:(e??0)+(t??0)}function Jn(e){return e===void 0?[]:Array.isArray(e)?e:[e]}function xp({error:e,exponentialBackoffDelay:t}){const r=e.responseHeaders;if(!r)return t;let n;const s=r["retry-after-ms"];if(s){const l=parseFloat(s);Number.isNaN(l)||(n=l)}const o=r["retry-after"];if(o&&n===void 0){const l=parseFloat(o);Number.isNaN(l)?n=Date.parse(o)-Date.now():n=l*1e3}return n!=null&&!Number.isNaN(n)&&0<=n&&(n<60*1e3||n<t)?n:t}var Rp=({maxRetries:e=2,initialDelayInMs:t=2e3,backoffFactor:r=2,abortSignal:n}={})=>async s=>bs(s,{maxRetries:e,delayInMs:t,backoffFactor:r,abortSignal:n});async function bs(e,{maxRetries:t,delayInMs:r,backoffFactor:n,abortSignal:s},o=[]){try{return await e()}catch(l){if(Re(l)||t===0)throw l;const i=mo(l),c=[...o,l],u=c.length;if(u>t)throw new Gn({message:`Failed after ${u} attempts. Last error: ${i}`,reason:"maxRetriesExceeded",errors:c});if(l instanceof Error&&a.APICallError.isInstance(l)&&l.isRetryable===!0&&u<=t)return await ju(xp({error:l,exponentialBackoffDelay:r}),{abortSignal:s}),bs(e,{maxRetries:t,delayInMs:n*r,backoffFactor:n,abortSignal:s},c);throw u===1?l:new Gn({message:`Failed after ${u} attempts with non-retryable error: '${i}'`,reason:"errorNotRetryable",errors:c})}}function Ap({maxRetries:e,abortSignal:t}){if(e!=null){if(!Number.isInteger(e))throw new ge({parameter:"maxRetries",value:e,message:"maxRetries must be an integer"});if(e<0)throw new ge({parameter:"maxRetries",value:e,message:"maxRetries must be >= 0"})}const r=e??2;return{maxRetries:r,retry:Rp({maxRetries:r,abortSignal:t})}}var Cp=class{constructor({data:e,mediaType:t}){const r=e instanceof Uint8Array;this.base64Data=r?void 0:e,this.uint8ArrayData=r?e:void 0,this.mediaType=t}get base64(){return this.base64Data==null&&(this.base64Data=br(this.uint8ArrayData)),this.base64Data}get uint8Array(){return this.uint8ArrayData==null&&(this.uint8ArrayData=Lr(this.base64Data)),this.uint8ArrayData}},Pp=class extends Cp{constructor(e){super(e),this.type="file"}};async function kp({toolCall:e,tools:t,repairToolCall:r,system:n,messages:s}){try{if(t==null)throw new wr({toolName:e.toolName});try{return await zn({toolCall:e,tools:t})}catch(o){if(r==null||!(wr.isInstance(o)||Vo.isInstance(o)))throw o;let l=null;try{l=await r({toolCall:e,tools:t,inputSchema:({toolName:i})=>{const{inputSchema:c}=t[i];return jt(c).jsonSchema},system:n,messages:s,error:o})}catch(i){throw new Ud({cause:i,originalError:o})}if(l==null)throw o;return await zn({toolCall:l,tools:t})}}catch(o){const l=await Ae({text:e.input}),i=l.success?l.value:e.input;return{type:"tool-call",toolCallId:e.toolCallId,toolName:e.toolName,input:i,dynamic:!0,invalid:!0,error:o}}}async function zn({toolCall:e,tools:t}){const r=e.toolName,n=t[r];if(n==null)throw new wr({toolName:e.toolName,availableTools:Object.keys(t)});const s=jt(n.inputSchema),o=e.input.trim()===""?await Se({value:{},schema:s}):await Ae({text:e.input,schema:s});if(o.success===!1)throw new Vo({toolName:r,toolInput:e.input,cause:o.error});return n.type==="dynamic"?{type:"tool-call",toolCallId:e.toolCallId,toolName:e.toolName,input:o.value,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,dynamic:!0}:{type:"tool-call",toolCallId:e.toolCallId,toolName:r,input:o.value,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata}}var Op=class{constructor({content:e,finishReason:t,usage:r,warnings:n,request:s,response:o,providerMetadata:l}){this.content=e,this.finishReason=t,this.usage=r,this.warnings=n,this.request=s,this.response=o,this.providerMetadata=l}get text(){return this.content.filter(e=>e.type==="text").map(e=>e.text).join("")}get reasoning(){return this.content.filter(e=>e.type==="reasoning")}get reasoningText(){return this.reasoning.length===0?void 0:this.reasoning.map(e=>e.text).join("")}get files(){return this.content.filter(e=>e.type==="file").map(e=>e.file)}get sources(){return this.content.filter(e=>e.type==="source")}get toolCalls(){return this.content.filter(e=>e.type==="tool-call")}get staticToolCalls(){return this.toolCalls.filter(e=>e.dynamic!==!0)}get dynamicToolCalls(){return this.toolCalls.filter(e=>e.dynamic===!0)}get toolResults(){return this.content.filter(e=>e.type==="tool-result")}get staticToolResults(){return this.toolResults.filter(e=>e.dynamic!==!0)}get dynamicToolResults(){return this.toolResults.filter(e=>e.dynamic===!0)}};function ws(e){return({steps:t})=>t.length===e}async function Mp({stopConditions:e,steps:t}){return(await Promise.all(e.map(r=>r({steps:t})))).some(r=>r)}function ze({output:e,tool:t,errorMode:r}){return r==="text"?{type:"error-text",value:a.getErrorMessage(e)}:r==="json"?{type:"error-json",value:Wn(e)}:t?.toModelOutput?t.toModelOutput(e):typeof e=="string"?{type:"text",value:e}:{type:"json",value:Wn(e)}}function Wn(e){return e===void 0?null:e}function Yn({content:e,tools:t}){const r=[],n=e.filter(o=>o.type!=="source").filter(o=>(o.type!=="tool-result"||o.providerExecuted)&&(o.type!=="tool-error"||o.providerExecuted)).filter(o=>o.type!=="text"||o.text.length>0).map(o=>{switch(o.type){case"text":return{type:"text",text:o.text,providerOptions:o.providerMetadata};case"reasoning":return{type:"reasoning",text:o.text,providerOptions:o.providerMetadata};case"file":return{type:"file",data:o.file.base64,mediaType:o.file.mediaType,providerOptions:o.providerMetadata};case"tool-call":return{type:"tool-call",toolCallId:o.toolCallId,toolName:o.toolName,input:o.input,providerExecuted:o.providerExecuted,providerOptions:o.providerMetadata};case"tool-result":return{type:"tool-result",toolCallId:o.toolCallId,toolName:o.toolName,output:ze({tool:t?.[o.toolName],output:o.output,errorMode:"none"}),providerExecuted:!0,providerOptions:o.providerMetadata};case"tool-error":return{type:"tool-result",toolCallId:o.toolCallId,toolName:o.toolName,output:ze({tool:t?.[o.toolName],output:o.error,errorMode:"json"}),providerOptions:o.providerMetadata}}});n.length>0&&r.push({role:"assistant",content:n});const s=e.filter(o=>o.type==="tool-result"||o.type==="tool-error").filter(o=>!o.providerExecuted).map(o=>({type:"tool-result",toolCallId:o.toolCallId,toolName:o.toolName,output:ze({tool:t?.[o.toolName],output:o.type==="tool-result"?o.output:o.error,errorMode:o.type==="tool-error"?"text":"none"})}));return s.length>0&&r.push({role:"tool",content:s}),r}lt({prefix:"aitxt",size:24});function Dt(e,t){const r=new Headers(e??{});for(const[n,s]of Object.entries(t))r.has(n)||r.set(n,s);return r}function Np({status:e,statusText:t,headers:r,textStream:n}){return new Response(n.pipeThrough(new TextEncoderStream),{status:e??200,statusText:t,headers:Dt(r,{"content-type":"text/plain; charset=utf-8"})})}function Ts({response:e,status:t,statusText:r,headers:n,stream:s}){e.writeHead(t??200,r,n);const o=s.getReader();(async()=>{try{for(;;){const{done:i,value:c}=await o.read();if(i)break;e.write(c)||await new Promise(d=>{e.once("drain",d)})}}catch(i){throw i}finally{e.end()}})()}function $p({response:e,status:t,statusText:r,headers:n,textStream:s}){Ts({response:e,status:t,statusText:r,headers:Object.fromEntries(Dt(n,{"content-type":"text/plain; charset=utf-8"}).entries()),stream:s.pipeThrough(new TextEncoderStream)})}var Is=class extends TransformStream{constructor(){super({transform(e,t){t.enqueue(`data: ${JSON.stringify(e)}
|
|
51
|
+
|
|
52
|
+
`)},flush(e){e.enqueue(`data: [DONE]
|
|
53
|
+
|
|
54
|
+
`)}})}},Es={"content-type":"text/event-stream","cache-control":"no-cache",connection:"keep-alive","x-vercel-ai-ui-message-stream":"v1","x-accel-buffering":"no"};function jp({status:e,statusText:t,headers:r,stream:n,consumeSseStream:s}){let o=n.pipeThrough(new Is);if(s){const[l,i]=o.tee();o=l,s({stream:i})}return new Response(o.pipeThrough(new TextEncoderStream),{status:e,statusText:t,headers:Dt(r,Es)})}function Dp({originalMessages:e,responseMessageId:t}){if(e==null)return;const r=e[e.length-1];return r?.role==="assistant"?r.id:typeof t=="function"?t():t}function Up(e){return e.type.startsWith("data-")}function Ss(e,t){if(e===void 0&&t===void 0)return;if(e===void 0)return t;if(t===void 0)return e;const r={...e};for(const n in t)if(Object.prototype.hasOwnProperty.call(t,n)){const s=t[n];if(s===void 0)continue;const o=n in e?e[n]:void 0,l=s!==null&&typeof s=="object"&&!Array.isArray(s)&&!(s instanceof Date)&&!(s instanceof RegExp),i=o!=null&&typeof o=="object"&&!Array.isArray(o)&&!(o instanceof Date)&&!(o instanceof RegExp);l&&i?r[n]=Ss(o,s):r[n]=s}return r}function qp(e){const t=["ROOT"];let r=-1,n=null;function s(c,u,d){switch(c){case'"':{r=u,t.pop(),t.push(d),t.push("INSIDE_STRING");break}case"f":case"t":case"n":{r=u,n=u,t.pop(),t.push(d),t.push("INSIDE_LITERAL");break}case"-":{t.pop(),t.push(d),t.push("INSIDE_NUMBER");break}case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":{r=u,t.pop(),t.push(d),t.push("INSIDE_NUMBER");break}case"{":{r=u,t.pop(),t.push(d),t.push("INSIDE_OBJECT_START");break}case"[":{r=u,t.pop(),t.push(d),t.push("INSIDE_ARRAY_START");break}}}function o(c,u){switch(c){case",":{t.pop(),t.push("INSIDE_OBJECT_AFTER_COMMA");break}case"}":{r=u,t.pop();break}}}function l(c,u){switch(c){case",":{t.pop(),t.push("INSIDE_ARRAY_AFTER_COMMA");break}case"]":{r=u,t.pop();break}}}for(let c=0;c<e.length;c++){const u=e[c];switch(t[t.length-1]){case"ROOT":s(u,c,"FINISH");break;case"INSIDE_OBJECT_START":{switch(u){case'"':{t.pop(),t.push("INSIDE_OBJECT_KEY");break}case"}":{r=c,t.pop();break}}break}case"INSIDE_OBJECT_AFTER_COMMA":{switch(u){case'"':{t.pop(),t.push("INSIDE_OBJECT_KEY");break}}break}case"INSIDE_OBJECT_KEY":{switch(u){case'"':{t.pop(),t.push("INSIDE_OBJECT_AFTER_KEY");break}}break}case"INSIDE_OBJECT_AFTER_KEY":{switch(u){case":":{t.pop(),t.push("INSIDE_OBJECT_BEFORE_VALUE");break}}break}case"INSIDE_OBJECT_BEFORE_VALUE":{s(u,c,"INSIDE_OBJECT_AFTER_VALUE");break}case"INSIDE_OBJECT_AFTER_VALUE":{o(u,c);break}case"INSIDE_STRING":{switch(u){case'"':{t.pop(),r=c;break}case"\\":{t.push("INSIDE_STRING_ESCAPE");break}default:r=c}break}case"INSIDE_ARRAY_START":{switch(u){case"]":{r=c,t.pop();break}default:{r=c,s(u,c,"INSIDE_ARRAY_AFTER_VALUE");break}}break}case"INSIDE_ARRAY_AFTER_VALUE":{switch(u){case",":{t.pop(),t.push("INSIDE_ARRAY_AFTER_COMMA");break}case"]":{r=c,t.pop();break}default:{r=c;break}}break}case"INSIDE_ARRAY_AFTER_COMMA":{s(u,c,"INSIDE_ARRAY_AFTER_VALUE");break}case"INSIDE_STRING_ESCAPE":{t.pop(),r=c;break}case"INSIDE_NUMBER":{switch(u){case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":{r=c;break}case"e":case"E":case"-":case".":break;case",":{t.pop(),t[t.length-1]==="INSIDE_ARRAY_AFTER_VALUE"&&l(u,c),t[t.length-1]==="INSIDE_OBJECT_AFTER_VALUE"&&o(u,c);break}case"}":{t.pop(),t[t.length-1]==="INSIDE_OBJECT_AFTER_VALUE"&&o(u,c);break}case"]":{t.pop(),t[t.length-1]==="INSIDE_ARRAY_AFTER_VALUE"&&l(u,c);break}default:{t.pop();break}}break}case"INSIDE_LITERAL":{const p=e.substring(n,c+1);!"false".startsWith(p)&&!"true".startsWith(p)&&!"null".startsWith(p)?(t.pop(),t[t.length-1]==="INSIDE_OBJECT_AFTER_VALUE"?o(u,c):t[t.length-1]==="INSIDE_ARRAY_AFTER_VALUE"&&l(u,c)):r=c;break}}}let i=e.slice(0,r+1);for(let c=t.length-1;c>=0;c--)switch(t[c]){case"INSIDE_STRING":{i+='"';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":{i+="}";break}case"INSIDE_ARRAY_START":case"INSIDE_ARRAY_AFTER_COMMA":case"INSIDE_ARRAY_AFTER_VALUE":{i+="]";break}case"INSIDE_LITERAL":{const d=e.substring(n,e.length);"true".startsWith(d)?i+="true".slice(d.length):"false".startsWith(d)?i+="false".slice(d.length):"null".startsWith(d)&&(i+="null".slice(d.length))}}return i}async function xs(e){if(e===void 0)return{value:void 0,state:"undefined-input"};let t=await Ae({text:e});return t.success?{value:t.value,state:"successful-parse"}:(t=await Ae({text:qp(e)}),t.success?{value:t.value,state:"repaired-parse"}:{value:void 0,state:"failed-parse"})}function sr(e){return e.type.startsWith("data-")}function ir(e){return e.type==="text"}function lr(e){return e.type==="file"}function Xn(e){return e.type==="reasoning"}function $e(e){return e.type.startsWith("tool-")}function Hr(e){return e.type==="dynamic-tool"}function Qn(e){return $e(e)||Hr(e)}function Pt(e){return e.type.split("-").slice(1).join("-")}function Fp(e){return Hr(e)?e.toolName:Pt(e)}function Lp({lastMessage:e,messageId:t}){return{message:e?.role==="assistant"?e:{id:t,metadata:void 0,role:"assistant",parts:[]},activeTextParts:{},activeReasoningParts:{},partialToolCalls:{}}}function Vp({stream:e,messageMetadataSchema:t,dataPartSchemas:r,runUpdateMessageJob:n,onError:s,onToolCall:o,onData:l}){return e.pipeThrough(new TransformStream({async transform(i,c){await n(async({state:u,write:d})=>{var p,h,f,m;function v(g){const S=u.message.parts.filter($e).find(I=>I.toolCallId===g);if(S==null)throw new Error("tool-output-error must be preceded by a tool-input-available");return S}function _(g){const S=u.message.parts.filter(I=>I.type==="dynamic-tool").find(I=>I.toolCallId===g);if(S==null)throw new Error("tool-output-error must be preceded by a tool-input-available");return S}function y(g){var E;const S=u.message.parts.find(P=>$e(P)&&P.toolCallId===g.toolCallId),I=g,x=S;S!=null?(S.state=g.state,x.input=I.input,x.output=I.output,x.errorText=I.errorText,x.rawInput=I.rawInput,x.preliminary=I.preliminary,x.providerExecuted=(E=I.providerExecuted)!=null?E:S.providerExecuted,I.providerMetadata!=null&&S.state==="input-available"&&(S.callProviderMetadata=I.providerMetadata)):u.message.parts.push({type:`tool-${g.toolName}`,toolCallId:g.toolCallId,state:g.state,input:I.input,output:I.output,rawInput:I.rawInput,errorText:I.errorText,providerExecuted:I.providerExecuted,preliminary:I.preliminary,...I.providerMetadata!=null?{callProviderMetadata:I.providerMetadata}:{}})}function w(g){var E,S;const I=u.message.parts.find(F=>F.type==="dynamic-tool"&&F.toolCallId===g.toolCallId),x=g,P=I;I!=null?(I.state=g.state,P.toolName=g.toolName,P.input=x.input,P.output=x.output,P.errorText=x.errorText,P.rawInput=(E=x.rawInput)!=null?E:P.rawInput,P.preliminary=x.preliminary,P.providerExecuted=(S=x.providerExecuted)!=null?S:I.providerExecuted,x.providerMetadata!=null&&I.state==="input-available"&&(I.callProviderMetadata=x.providerMetadata)):u.message.parts.push({type:"dynamic-tool",toolName:g.toolName,toolCallId:g.toolCallId,state:g.state,input:x.input,output:x.output,errorText:x.errorText,preliminary:x.preliminary,providerExecuted:x.providerExecuted,...x.providerMetadata!=null?{callProviderMetadata:x.providerMetadata}:{}})}async function b(g){if(g!=null){const E=u.message.metadata!=null?Ss(u.message.metadata,g):g;t!=null&&await gr({value:E,schema:t}),u.message.metadata=E}}switch(i.type){case"text-start":{const g={type:"text",text:"",providerMetadata:i.providerMetadata,state:"streaming"};u.activeTextParts[i.id]=g,u.message.parts.push(g),d();break}case"text-delta":{const g=u.activeTextParts[i.id];g.text+=i.delta,g.providerMetadata=(p=i.providerMetadata)!=null?p:g.providerMetadata,d();break}case"text-end":{const g=u.activeTextParts[i.id];g.state="done",g.providerMetadata=(h=i.providerMetadata)!=null?h:g.providerMetadata,delete u.activeTextParts[i.id],d();break}case"reasoning-start":{const g={type:"reasoning",text:"",providerMetadata:i.providerMetadata,state:"streaming"};u.activeReasoningParts[i.id]=g,u.message.parts.push(g),d();break}case"reasoning-delta":{const g=u.activeReasoningParts[i.id];g.text+=i.delta,g.providerMetadata=(f=i.providerMetadata)!=null?f:g.providerMetadata,d();break}case"reasoning-end":{const g=u.activeReasoningParts[i.id];g.providerMetadata=(m=i.providerMetadata)!=null?m:g.providerMetadata,g.state="done",delete u.activeReasoningParts[i.id],d();break}case"file":{u.message.parts.push({type:"file",mediaType:i.mediaType,url:i.url}),d();break}case"source-url":{u.message.parts.push({type:"source-url",sourceId:i.sourceId,url:i.url,title:i.title,providerMetadata:i.providerMetadata}),d();break}case"source-document":{u.message.parts.push({type:"source-document",sourceId:i.sourceId,mediaType:i.mediaType,title:i.title,filename:i.filename,providerMetadata:i.providerMetadata}),d();break}case"tool-input-start":{const g=u.message.parts.filter($e);u.partialToolCalls[i.toolCallId]={text:"",toolName:i.toolName,index:g.length,dynamic:i.dynamic},i.dynamic?w({toolCallId:i.toolCallId,toolName:i.toolName,state:"input-streaming",input:void 0,providerExecuted:i.providerExecuted}):y({toolCallId:i.toolCallId,toolName:i.toolName,state:"input-streaming",input:void 0,providerExecuted:i.providerExecuted}),d();break}case"tool-input-delta":{const g=u.partialToolCalls[i.toolCallId];g.text+=i.inputTextDelta;const{value:E}=await xs(g.text);g.dynamic?w({toolCallId:i.toolCallId,toolName:g.toolName,state:"input-streaming",input:E}):y({toolCallId:i.toolCallId,toolName:g.toolName,state:"input-streaming",input:E}),d();break}case"tool-input-available":{i.dynamic?w({toolCallId:i.toolCallId,toolName:i.toolName,state:"input-available",input:i.input,providerExecuted:i.providerExecuted,providerMetadata:i.providerMetadata}):y({toolCallId:i.toolCallId,toolName:i.toolName,state:"input-available",input:i.input,providerExecuted:i.providerExecuted,providerMetadata:i.providerMetadata}),d(),o&&!i.providerExecuted&&await o({toolCall:i});break}case"tool-input-error":{i.dynamic?w({toolCallId:i.toolCallId,toolName:i.toolName,state:"output-error",input:i.input,errorText:i.errorText,providerExecuted:i.providerExecuted,providerMetadata:i.providerMetadata}):y({toolCallId:i.toolCallId,toolName:i.toolName,state:"output-error",input:void 0,rawInput:i.input,errorText:i.errorText,providerExecuted:i.providerExecuted,providerMetadata:i.providerMetadata}),d();break}case"tool-output-available":{if(i.dynamic){const g=_(i.toolCallId);w({toolCallId:i.toolCallId,toolName:g.toolName,state:"output-available",input:g.input,output:i.output,preliminary:i.preliminary})}else{const g=v(i.toolCallId);y({toolCallId:i.toolCallId,toolName:Pt(g),state:"output-available",input:g.input,output:i.output,providerExecuted:i.providerExecuted,preliminary:i.preliminary})}d();break}case"tool-output-error":{if(i.dynamic){const g=_(i.toolCallId);w({toolCallId:i.toolCallId,toolName:g.toolName,state:"output-error",input:g.input,errorText:i.errorText,providerExecuted:i.providerExecuted})}else{const g=v(i.toolCallId);y({toolCallId:i.toolCallId,toolName:Pt(g),state:"output-error",input:g.input,rawInput:g.rawInput,errorText:i.errorText,providerExecuted:i.providerExecuted})}d();break}case"start-step":{u.message.parts.push({type:"step-start"});break}case"finish-step":{u.activeTextParts={},u.activeReasoningParts={};break}case"start":{i.messageId!=null&&(u.message.id=i.messageId),await b(i.messageMetadata),(i.messageId!=null||i.messageMetadata!=null)&&d();break}case"finish":{await b(i.messageMetadata),i.messageMetadata!=null&&d();break}case"message-metadata":{await b(i.messageMetadata),i.messageMetadata!=null&&d();break}case"error":{s?.(new Error(i.errorText));break}default:if(Up(i)){r?.[i.type]!=null&&await gr({value:i.data,schema:r[i.type]});const g=i;if(g.transient){l?.(g);break}const E=g.id!=null?u.message.parts.find(S=>g.type===S.type&&g.id===S.id):void 0;E!=null?E.data=g.data:u.message.parts.push(g),l?.(g),d()}}c.enqueue(i)})}}))}function Hp({messageId:e,originalMessages:t=[],onFinish:r,onError:n,stream:s}){let o=t?.[t.length-1];o?.role!=="assistant"?o=void 0:e=o.id;let l=!1;const i=s.pipeThrough(new TransformStream({transform(h,f){if(h.type==="start"){const m=h;m.messageId==null&&e!=null&&(m.messageId=e)}h.type==="abort"&&(l=!0),f.enqueue(h)}}));if(r==null)return i;const c=Lp({lastMessage:o?structuredClone(o):void 0,messageId:e??""}),u=async h=>{await h({state:c,write:()=>{}})};let d=!1;const p=async()=>{if(d||!r)return;d=!0;const h=c.message.id===o?.id;await r({isAborted:l,isContinuation:h,responseMessage:c.message,messages:[...h?t.slice(0,-1):t,c.message]})};return Vp({stream:i,runUpdateMessageJob:u,onError:n}).pipeThrough(new TransformStream({transform(h,f){f.enqueue(h)},async cancel(){await p()},async flush(){await p()}}))}function Bp({response:e,status:t,statusText:r,headers:n,stream:s,consumeSseStream:o}){let l=s.pipeThrough(new Is);if(o){const[i,c]=l.tee();l=i,o({stream:c})}Ts({response:e,status:t,statusText:r,headers:Object.fromEntries(Dt(n,Es).entries()),stream:l.pipeThrough(new TextEncoderStream)})}function ft(e){const t=e.pipeThrough(new TransformStream);return t[Symbol.asyncIterator]=function(){const r=this.getReader();let n=!1;async function s(o){var l;n=!0;try{o&&await((l=r.cancel)==null?void 0:l.call(r))}finally{try{r.releaseLock()}catch{}}}return{async next(){if(n)return{done:!0,value:void 0};const{done:o,value:l}=await r.read();return o?(await s(!0),{done:!0,value:void 0}):{done:!1,value:l}},async return(){return await s(!0),{done:!0,value:void 0}},async throw(o){throw await s(!0),o}}},t}async function Zp({stream:e,onError:t}){const r=e.getReader();try{for(;;){const{done:n}=await r.read();if(n)break}}catch(n){t?.(n)}finally{r.releaseLock()}}function ea(){let e,t;return{promise:new Promise((n,s)=>{e=n,t=s}),resolve:e,reject:t}}function Kp(){let e=[],t=null,r=!1,n=ea();const s=()=>{r=!0,n.resolve(),e.forEach(l=>l.cancel()),e=[],t?.close()},o=async()=>{if(r&&e.length===0){t?.close();return}if(e.length===0)return n=ea(),await n.promise,o();try{const{value:l,done:i}=await e[0].read();i?(e.shift(),e.length>0?await o():r&&t?.close()):t?.enqueue(l)}catch(l){t?.error(l),e.shift(),s()}};return{stream:new ReadableStream({start(l){t=l},pull:o,async cancel(){for(const l of e)await l.cancel();e=[],r=!0}}),addStream:l=>{if(r)throw new Error("Cannot add inner stream: outer stream is closed");e.push(l.getReader()),n.resolve()},close:()=>{r=!0,n.resolve(),e.length===0&&t?.close()},terminate:s}}var mt=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,t)=>{this.status.type==="resolved"?e(this.status.value):this.status.type==="rejected"&&t(this.status.error),this._resolve=e,this._reject=t}),this._promise)}resolve(e){var t;this.status={type:"resolved",value:e},this._promise&&((t=this._resolve)==null||t.call(this,e))}reject(e){var t;this.status={type:"rejected",error:e},this._promise&&((t=this._reject)==null||t.call(this,e))}};function Gp(){var e,t;return(t=(e=globalThis?.performance)==null?void 0:e.now())!=null?t:Date.now()}function Jp({tools:e,generatorStream:t,tracer:r,telemetry:n,system:s,messages:o,abortSignal:l,repairToolCall:i,experimental_context:c}){let u=null;const d=new ReadableStream({start(y){u=y}}),p=new Set,h=new Map;let f=!1,m;function v(){f&&p.size===0&&(m!=null&&u.enqueue(m),u.close())}const _=new TransformStream({async transform(y,w){const b=y.type;switch(b){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":{w.enqueue(y);break}case"file":{w.enqueue({type:"file",file:new Pp({data:y.data,mediaType:y.mediaType})});break}case"finish":{m={type:"finish",finishReason:y.finishReason,usage:y.usage,providerMetadata:y.providerMetadata};break}case"tool-call":{try{const g=await kp({toolCall:y,tools:e,repairToolCall:i,system:s,messages:o});if(w.enqueue(g),g.invalid){u.enqueue({type:"tool-error",toolCallId:g.toolCallId,toolName:g.toolName,input:g.input,error:mo(g.error),dynamic:!0});break}const E=e[g.toolName];if(h.set(g.toolCallId,g.input),E.onInputAvailable!=null&&await E.onInputAvailable({input:g.input,toolCallId:g.toolCallId,messages:o,abortSignal:l,experimental_context:c}),E.execute!=null&&g.providerExecuted!==!0){const S=Du();p.add(S),Ir({name:"ai.toolCall",attributes:Ne({telemetry:n,attributes:{...Tr({operationId:"ai.toolCall",telemetry:n}),"ai.toolCall.name":g.toolName,"ai.toolCall.id":g.toolCallId,"ai.toolCall.args":{output:()=>JSON.stringify(g.input)}}}),tracer:r,fn:async I=>{let x;try{const P=Wc({execute:E.execute.bind(E),input:g.input,options:{toolCallId:g.toolCallId,messages:o,abortSignal:l,experimental_context:c}});for await(const F of P)u.enqueue({...g,type:"tool-result",output:F.output,...F.type==="preliminary"&&{preliminary:!0}}),F.type==="final"&&(x=F.output)}catch(P){_s(I,P),u.enqueue({...g,type:"tool-error",error:P}),p.delete(S),v();return}p.delete(S),v();try{I.setAttributes(Ne({telemetry:n,attributes:{"ai.toolCall.result":{output:()=>JSON.stringify(x)}}}))}catch{}}})}}catch(g){u.enqueue({type:"error",error:g})}break}case"tool-result":{const g=y.toolName;y.isError?u.enqueue({type:"tool-error",toolCallId:y.toolCallId,toolName:g,input:h.get(y.toolCallId),providerExecuted:y.providerExecuted,error:y.result}):w.enqueue({type:"tool-result",toolCallId:y.toolCallId,toolName:g,input:h.get(y.toolCallId),output:y.result,providerExecuted:y.providerExecuted});break}default:{const g=b;throw new Error(`Unhandled chunk type: ${g}`)}}},flush(){f=!0,v()}});return new ReadableStream({async start(y){return Promise.all([t.pipeThrough(_).pipeTo(new WritableStream({write(w){y.enqueue(w)},close(){}})),d.pipeTo(new WritableStream({write(w){y.enqueue(w)},close(){y.close()}}))])}})}var zp=lt({prefix:"aitxt",size:24});function Wp({model:e,tools:t,toolChoice:r,system:n,prompt:s,messages:o,maxRetries:l,abortSignal:i,headers:c,stopWhen:u=ws(1),experimental_output:d,experimental_telemetry:p,prepareStep:h,providerOptions:f,experimental_activeTools:m,activeTools:v=m,experimental_repairToolCall:_,experimental_transform:y,experimental_download:w,includeRawChunks:b=!1,onChunk:g,onError:E=({error:M})=>{console.error(M)},onFinish:S,onAbort:I,onStepFinish:x,experimental_context:P,_internal:{now:F=Gp,generateId:K=zp,currentDate:de=()=>new Date}={},...q}){return new Xp({model:fs(e),telemetry:p,headers:c,settings:q,maxRetries:l,abortSignal:i,system:n,prompt:s,messages:o,tools:t,toolChoice:r,transforms:Jn(y),activeTools:v,repairToolCall:_,stopConditions:Jn(u),output:d,providerOptions:f,prepareStep:h,includeRawChunks:b,onChunk:g,onError:E,onFinish:S,onAbort:I,onStepFinish:x,now:F,currentDate:de,generateId:K,experimental_context:P,download:w})}function Yp(e){if(!e)return new TransformStream({transform(l,i){i.enqueue({part:l,partialOutput:void 0})}});let t,r="",n="",s="";function o({controller:l,partialOutput:i=void 0}){l.enqueue({part:{type:"text-delta",id:t,text:n},partialOutput:i}),n=""}return new TransformStream({async transform(l,i){if(l.type==="finish-step"&&n.length>0&&o({controller:i}),l.type!=="text-delta"&&l.type!=="text-start"&&l.type!=="text-end"){i.enqueue({part:l,partialOutput:void 0});return}if(t==null)t=l.id;else if(l.id!==t){i.enqueue({part:l,partialOutput:void 0});return}if(l.type==="text-start"){i.enqueue({part:l,partialOutput:void 0});return}if(l.type==="text-end"){n.length>0&&o({controller:i}),i.enqueue({part:l,partialOutput:void 0});return}r+=l.text,n+=l.text;const c=await e.parsePartial({text:r});if(c!=null){const u=JSON.stringify(c.partial);u!==s&&(o({controller:i,partialOutput:c.partial}),s=u)}}})}var Xp=class{constructor({model:e,telemetry:t,headers:r,settings:n,maxRetries:s,abortSignal:o,system:l,prompt:i,messages:c,tools:u,toolChoice:d,transforms:p,activeTools:h,repairToolCall:f,stopConditions:m,output:v,providerOptions:_,prepareStep:y,includeRawChunks:w,now:b,currentDate:g,generateId:E,onChunk:S,onError:I,onFinish:x,onAbort:P,onStepFinish:F,experimental_context:K,download:de}){this._totalUsage=new mt,this._finishReason=new mt,this._steps=new mt,this.output=v,this.includeRawChunks=w,this.tools=u;let q,M=[];const pe=[];let fe,we,re={},O=[];const R=[];let Z,ae={},C={};const k=new TransformStream({async transform(V,H){var G,N,oe,qe;H.enqueue(V);const{part:T}=V;if((T.type==="text-delta"||T.type==="reasoning-delta"||T.type==="source"||T.type==="tool-call"||T.type==="tool-result"||T.type==="tool-input-start"||T.type==="tool-input-delta"||T.type==="raw")&&await S?.({chunk:T}),T.type==="error"&&await I({error:_p(T.error)}),T.type==="text-start"&&(ae[T.id]={type:"text",text:"",providerMetadata:T.providerMetadata},M.push(ae[T.id])),T.type==="text-delta"){const L=ae[T.id];if(L==null){H.enqueue({part:{type:"error",error:`text part ${T.id} not found`},partialOutput:void 0});return}L.text+=T.text,L.providerMetadata=(G=T.providerMetadata)!=null?G:L.providerMetadata}if(T.type==="text-end"){const L=ae[T.id];if(L==null){H.enqueue({part:{type:"error",error:`text part ${T.id} not found`},partialOutput:void 0});return}L.providerMetadata=(N=T.providerMetadata)!=null?N:L.providerMetadata,delete ae[T.id]}if(T.type==="reasoning-start"&&(C[T.id]={type:"reasoning",text:"",providerMetadata:T.providerMetadata},M.push(C[T.id])),T.type==="reasoning-delta"){const L=C[T.id];if(L==null){H.enqueue({part:{type:"error",error:`reasoning part ${T.id} not found`},partialOutput:void 0});return}L.text+=T.text,L.providerMetadata=(oe=T.providerMetadata)!=null?oe:L.providerMetadata}if(T.type==="reasoning-end"){const L=C[T.id];if(L==null){H.enqueue({part:{type:"error",error:`reasoning part ${T.id} not found`},partialOutput:void 0});return}L.providerMetadata=(qe=T.providerMetadata)!=null?qe:L.providerMetadata,delete C[T.id]}if(T.type==="file"&&M.push({type:"file",file:T.file}),T.type==="source"&&M.push(T),T.type==="tool-call"&&M.push(T),T.type==="tool-result"&&!T.preliminary&&M.push(T),T.type==="tool-error"&&M.push(T),T.type==="start-step"&&(re=T.request,O=T.warnings),T.type==="finish-step"){const L=Yn({content:M,tools:u}),Fe=new Op({content:M,finishReason:T.finishReason,usage:T.usage,warnings:O,request:re,response:{...T.response,messages:[...pe,...L]},providerMetadata:T.providerMetadata});await F?.(Fe),Pd(O),R.push(Fe),M=[],C={},ae={},pe.push(...L),q.resolve()}T.type==="finish"&&(we=T.totalUsage,fe=T.finishReason)},async flush(V){try{if(R.length===0){const oe=new $d({message:"No output generated. Check the stream for errors."});ne._finishReason.reject(oe),ne._totalUsage.reject(oe),ne._steps.reject(oe);return}const H=fe??"unknown",G=we??{inputTokens:void 0,outputTokens:void 0,totalTokens:void 0};ne._finishReason.resolve(H),ne._totalUsage.resolve(G),ne._steps.resolve(R);const N=R[R.length-1];await x?.({finishReason:H,totalUsage:G,usage:N.usage,content:N.content,text:N.text,reasoningText:N.reasoningText,reasoning:N.reasoning,files:N.files,sources:N.sources,toolCalls:N.toolCalls,staticToolCalls:N.staticToolCalls,dynamicToolCalls:N.dynamicToolCalls,toolResults:N.toolResults,staticToolResults:N.staticToolResults,dynamicToolResults:N.dynamicToolResults,request:N.request,response:N.response,warnings:N.warnings,providerMetadata:N.providerMetadata,steps:R}),Z.setAttributes(Ne({telemetry:t,attributes:{"ai.response.finishReason":H,"ai.response.text":{output:()=>N.text},"ai.response.toolCalls":{output:()=>{var oe;return(oe=N.toolCalls)!=null&&oe.length?JSON.stringify(N.toolCalls):void 0}},"ai.response.providerMetadata":JSON.stringify(N.providerMetadata),"ai.usage.inputTokens":G.inputTokens,"ai.usage.outputTokens":G.outputTokens,"ai.usage.totalTokens":G.totalTokens,"ai.usage.reasoningTokens":G.reasoningTokens,"ai.usage.cachedInputTokens":G.cachedInputTokens}}))}catch(H){V.error(H)}finally{Z.end()}}}),$=Kp();this.addStream=$.addStream,this.closeStream=$.close;const z=$.stream.getReader();let Ut=new ReadableStream({async start(V){V.enqueue({type:"start"})},async pull(V){function H(){P?.({steps:R}),V.enqueue({type:"abort"}),V.close()}try{const{done:G,value:N}=await z.read();if(G){V.close();return}if(o?.aborted){H();return}V.enqueue(N)}catch(G){Re(G)&&o?.aborted?H():V.error(G)}},cancel(V){return $.stream.cancel(V)}});for(const V of p)Ut=Ut.pipeThrough(V({tools:u,stopStream(){$.terminate()}}));this.baseStream=Ut.pipeThrough(Yp(v)).pipeThrough(k);const{maxRetries:Rs,retry:As}=Ap({maxRetries:s,abortSignal:o}),qt=Ip(t),ye=sp(n),Br=bp({model:e,telemetry:t,headers:r,settings:{...ye,maxRetries:Rs}}),ne=this;Ir({name:"ai.streamText",attributes:Ne({telemetry:t,attributes:{...Tr({operationId:"ai.streamText",telemetry:t}),...Br,"ai.prompt":{input:()=>JSON.stringify({system:l,prompt:i,messages:c})}}}),tracer:qt,endWhenDone:!1,fn:async V=>{Z=V;async function H({currentStep:G,responseMessages:N,usage:oe}){var qe,T,L,Fe,Zr;const Kr=ne.includeRawChunks;q=new mt;const Gr=await yp({system:l,prompt:i,messages:c}),Le=[...Gr.messages,...N],me=await y?.({model:e,steps:R,stepNumber:R.length,messages:Le}),ke=fs((qe=me?.model)!=null?qe:e),Jr=await rp({prompt:{system:(T=me?.system)!=null?T:Gr.system,messages:(L=me?.messages)!=null?L:Le},supportedUrls:await ke.supportedUrls,download:de}),{toolChoice:Ft,tools:Lt}=lp({tools:u,toolChoice:(Fe=me?.toolChoice)!=null?Fe:d,activeTools:(Zr=me?.activeTools)!=null?Zr:h}),{result:{stream:Cs,response:zr,request:Wr},doStreamSpan:Oe,startTimestampMs:Yr}=await As(()=>Ir({name:"ai.streamText.doStream",attributes:Ne({telemetry:t,attributes:{...Tr({operationId:"ai.streamText.doStream",telemetry:t}),...Br,"ai.model.provider":ke.provider,"ai.model.id":ke.modelId,"ai.prompt.messages":{input:()=>Ep(Jr)},"ai.prompt.tools":{input:()=>Lt?.map(A=>JSON.stringify(A))},"ai.prompt.toolChoice":{input:()=>Ft!=null?JSON.stringify(Ft):void 0},"gen_ai.system":ke.provider,"gen_ai.request.model":ke.modelId,"gen_ai.request.frequency_penalty":ye.frequencyPenalty,"gen_ai.request.max_tokens":ye.maxOutputTokens,"gen_ai.request.presence_penalty":ye.presencePenalty,"gen_ai.request.stop_sequences":ye.stopSequences,"gen_ai.request.temperature":ye.temperature,"gen_ai.request.top_k":ye.topK,"gen_ai.request.top_p":ye.topP}}),tracer:qt,endWhenDone:!1,fn:async A=>({startTimestampMs:b(),doStreamSpan:A,result:await ke.doStream({...ye,tools:Lt,toolChoice:Ft,responseFormat:v?.responseFormat,prompt:Jr,providerOptions:_,abortSignal:o,headers:r,includeRawChunks:Kr})})})),Ps=Jp({tools:u,generatorStream:Cs,tracer:qt,telemetry:t,system:l,messages:Le,repairToolCall:f,abortSignal:o,experimental_context:K}),ks=Wr??{},ut=[],Vt=[];let Ht;const Bt={};let Me="unknown",se={inputTokens:void 0,outputTokens:void 0,totalTokens:void 0},Zt,Xr=!0,he={id:E(),timestamp:g(),modelId:e.modelId},Qr="";ne.addStream(Ps.pipeThrough(new TransformStream({async transform(A,J){var Ve,He,ct,_e;if(A.type==="stream-start"){Ht=A.warnings;return}if(Xr){const W=b()-Yr;Xr=!1,Oe.addEvent("ai.stream.firstChunk",{"ai.response.msToFirstChunk":W}),Oe.setAttributes({"ai.response.msToFirstChunk":W}),J.enqueue({type:"start-step",request:ks,warnings:Ht??[]})}const en=A.type;switch(en){case"text-start":case"text-end":{J.enqueue(A);break}case"text-delta":{A.delta.length>0&&(J.enqueue({type:"text-delta",id:A.id,text:A.delta,providerMetadata:A.providerMetadata}),Qr+=A.delta);break}case"reasoning-start":case"reasoning-end":{J.enqueue(A);break}case"reasoning-delta":{J.enqueue({type:"reasoning-delta",id:A.id,text:A.delta,providerMetadata:A.providerMetadata});break}case"tool-call":{J.enqueue(A),ut.push(A);break}case"tool-result":{J.enqueue(A),A.preliminary||Vt.push(A);break}case"tool-error":{J.enqueue(A),Vt.push(A);break}case"response-metadata":{he={id:(Ve=A.id)!=null?Ve:he.id,timestamp:(He=A.timestamp)!=null?He:he.timestamp,modelId:(ct=A.modelId)!=null?ct:he.modelId};break}case"finish":{se=A.usage,Me=A.finishReason,Zt=A.providerMetadata;const W=b()-Yr;Oe.addEvent("ai.stream.finish"),Oe.setAttributes({"ai.response.msToFinish":W,"ai.response.avgOutputTokensPerSecond":1e3*((_e=se.outputTokens)!=null?_e:0)/W});break}case"file":{J.enqueue(A);break}case"source":{J.enqueue(A);break}case"tool-input-start":{Bt[A.id]=A.toolName;const W=u?.[A.toolName];W?.onInputStart!=null&&await W.onInputStart({toolCallId:A.id,messages:Le,abortSignal:o,experimental_context:K}),J.enqueue({...A,dynamic:W?.type==="dynamic"});break}case"tool-input-end":{delete Bt[A.id],J.enqueue(A);break}case"tool-input-delta":{const W=Bt[A.id],Kt=u?.[W];Kt?.onInputDelta!=null&&await Kt.onInputDelta({inputTextDelta:A.delta,toolCallId:A.id,messages:Le,abortSignal:o,experimental_context:K}),J.enqueue(A);break}case"error":{J.enqueue(A),Me="error";break}case"raw":{Kr&&J.enqueue(A);break}default:{const W=en;throw new Error(`Unknown chunk type: ${W}`)}}},async flush(A){const J=ut.length>0?JSON.stringify(ut):void 0;try{Oe.setAttributes(Ne({telemetry:t,attributes:{"ai.response.finishReason":Me,"ai.response.text":{output:()=>Qr},"ai.response.toolCalls":{output:()=>J},"ai.response.id":he.id,"ai.response.model":he.modelId,"ai.response.timestamp":he.timestamp.toISOString(),"ai.response.providerMetadata":JSON.stringify(Zt),"ai.usage.inputTokens":se.inputTokens,"ai.usage.outputTokens":se.outputTokens,"ai.usage.totalTokens":se.totalTokens,"ai.usage.reasoningTokens":se.reasoningTokens,"ai.usage.cachedInputTokens":se.cachedInputTokens,"gen_ai.response.finish_reasons":[Me],"gen_ai.response.id":he.id,"gen_ai.response.model":he.modelId,"gen_ai.usage.input_tokens":se.inputTokens,"gen_ai.usage.output_tokens":se.outputTokens}}))}catch{}finally{Oe.end()}A.enqueue({type:"finish-step",finishReason:Me,usage:se,providerMetadata:Zt,response:{...he,headers:zr?.headers}});const Ve=Sp(oe,se);await q.promise;const He=ut.filter(_e=>_e.providerExecuted!==!0),ct=Vt.filter(_e=>_e.providerExecuted!==!0);if(He.length>0&&ct.length===He.length&&!await Mp({stopConditions:m,steps:R})){N.push(...Yn({content:R[R.length-1].content,tools:u}));try{await H({currentStep:G+1,responseMessages:N,usage:Ve})}catch(_e){A.enqueue({type:"error",error:_e}),ne.closeStream()}}else A.enqueue({type:"finish",finishReason:Me,totalUsage:Ve}),ne.closeStream()}})))}await H({currentStep:0,responseMessages:[],usage:{inputTokens:void 0,outputTokens:void 0,totalTokens:void 0}})}}).catch(V=>{ne.addStream(new ReadableStream({start(H){H.enqueue({type:"error",error:V}),H.close()}})),ne.closeStream()})}get steps(){return this.consumeStream(),this._steps.promise}get finalStep(){return this.steps.then(e=>e[e.length-1])}get content(){return this.finalStep.then(e=>e.content)}get warnings(){return this.finalStep.then(e=>e.warnings)}get providerMetadata(){return this.finalStep.then(e=>e.providerMetadata)}get text(){return this.finalStep.then(e=>e.text)}get reasoningText(){return this.finalStep.then(e=>e.reasoningText)}get reasoning(){return this.finalStep.then(e=>e.reasoning)}get sources(){return this.finalStep.then(e=>e.sources)}get files(){return this.finalStep.then(e=>e.files)}get toolCalls(){return this.finalStep.then(e=>e.toolCalls)}get staticToolCalls(){return this.finalStep.then(e=>e.staticToolCalls)}get dynamicToolCalls(){return this.finalStep.then(e=>e.dynamicToolCalls)}get toolResults(){return this.finalStep.then(e=>e.toolResults)}get staticToolResults(){return this.finalStep.then(e=>e.staticToolResults)}get dynamicToolResults(){return this.finalStep.then(e=>e.dynamicToolResults)}get usage(){return this.finalStep.then(e=>e.usage)}get request(){return this.finalStep.then(e=>e.request)}get response(){return this.finalStep.then(e=>e.response)}get totalUsage(){return this.consumeStream(),this._totalUsage.promise}get finishReason(){return this.consumeStream(),this._finishReason.promise}teeStream(){const[e,t]=this.baseStream.tee();return this.baseStream=t,e}get textStream(){return ft(this.teeStream().pipeThrough(new TransformStream({transform({part:e},t){e.type==="text-delta"&&t.enqueue(e.text)}})))}get fullStream(){return ft(this.teeStream().pipeThrough(new TransformStream({transform({part:e},t){t.enqueue(e)}})))}async consumeStream(e){var t;try{await Zp({stream:this.fullStream,onError:e?.onError})}catch(r){(t=e?.onError)==null||t.call(e,r)}}get experimental_partialOutputStream(){if(this.output==null)throw new Rd;return ft(this.teeStream().pipeThrough(new TransformStream({transform({partialOutput:e},t){e!=null&&t.enqueue(e)}})))}toUIMessageStream({originalMessages:e,generateMessageId:t,onFinish:r,messageMetadata:n,sendReasoning:s=!0,sendSources:o=!1,sendStart:l=!0,sendFinish:i=!0,onError:c=a.getErrorMessage}={}){const u=t!=null?Dp({originalMessages:e,responseMessageId:t}):void 0,d={},p=f=>{var m,v;const _=d[f];return((v=(m=this.tools)==null?void 0:m[_])==null?void 0:v.type)==="dynamic"?!0:void 0},h=this.fullStream.pipeThrough(new TransformStream({transform:async(f,m)=>{const v=n?.({part:f}),_=f.type;switch(_){case"text-start":{m.enqueue({type:"text-start",id:f.id,...f.providerMetadata!=null?{providerMetadata:f.providerMetadata}:{}});break}case"text-delta":{m.enqueue({type:"text-delta",id:f.id,delta:f.text,...f.providerMetadata!=null?{providerMetadata:f.providerMetadata}:{}});break}case"text-end":{m.enqueue({type:"text-end",id:f.id,...f.providerMetadata!=null?{providerMetadata:f.providerMetadata}:{}});break}case"reasoning-start":{m.enqueue({type:"reasoning-start",id:f.id,...f.providerMetadata!=null?{providerMetadata:f.providerMetadata}:{}});break}case"reasoning-delta":{s&&m.enqueue({type:"reasoning-delta",id:f.id,delta:f.text,...f.providerMetadata!=null?{providerMetadata:f.providerMetadata}:{}});break}case"reasoning-end":{m.enqueue({type:"reasoning-end",id:f.id,...f.providerMetadata!=null?{providerMetadata:f.providerMetadata}:{}});break}case"file":{m.enqueue({type:"file",mediaType:f.file.mediaType,url:`data:${f.file.mediaType};base64,${f.file.base64}`});break}case"source":{o&&f.sourceType==="url"&&m.enqueue({type:"source-url",sourceId:f.id,url:f.url,title:f.title,...f.providerMetadata!=null?{providerMetadata:f.providerMetadata}:{}}),o&&f.sourceType==="document"&&m.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":{d[f.id]=f.toolName;const y=p(f.id);m.enqueue({type:"tool-input-start",toolCallId:f.id,toolName:f.toolName,...f.providerExecuted!=null?{providerExecuted:f.providerExecuted}:{},...y!=null?{dynamic:y}:{}});break}case"tool-input-delta":{m.enqueue({type:"tool-input-delta",toolCallId:f.id,inputTextDelta:f.delta});break}case"tool-call":{d[f.toolCallId]=f.toolName;const y=p(f.toolCallId);f.invalid?m.enqueue({type:"tool-input-error",toolCallId:f.toolCallId,toolName:f.toolName,input:f.input,...f.providerExecuted!=null?{providerExecuted:f.providerExecuted}:{},...f.providerMetadata!=null?{providerMetadata:f.providerMetadata}:{},...y!=null?{dynamic:y}:{},errorText:c(f.error)}):m.enqueue({type:"tool-input-available",toolCallId:f.toolCallId,toolName:f.toolName,input:f.input,...f.providerExecuted!=null?{providerExecuted:f.providerExecuted}:{},...f.providerMetadata!=null?{providerMetadata:f.providerMetadata}:{},...y!=null?{dynamic:y}:{}});break}case"tool-result":{const y=p(f.toolCallId);m.enqueue({type:"tool-output-available",toolCallId:f.toolCallId,output:f.output,...f.providerExecuted!=null?{providerExecuted:f.providerExecuted}:{},...f.preliminary!=null?{preliminary:f.preliminary}:{},...y!=null?{dynamic:y}:{}});break}case"tool-error":{const y=p(f.toolCallId);m.enqueue({type:"tool-output-error",toolCallId:f.toolCallId,errorText:c(f.error),...f.providerExecuted!=null?{providerExecuted:f.providerExecuted}:{},...y!=null?{dynamic:y}:{}});break}case"error":{m.enqueue({type:"error",errorText:c(f.error)});break}case"start-step":{m.enqueue({type:"start-step"});break}case"finish-step":{m.enqueue({type:"finish-step"});break}case"start":{l&&m.enqueue({type:"start",...v!=null?{messageMetadata:v}:{},...u!=null?{messageId:u}:{}});break}case"finish":{i&&m.enqueue({type:"finish",...v!=null?{messageMetadata:v}:{}});break}case"abort":{m.enqueue(f);break}case"tool-input-end":break;case"raw":break;default:{const y=_;throw new Error(`Unknown chunk type: ${y}`)}}v!=null&&_!=="start"&&_!=="finish"&&m.enqueue({type:"message-metadata",messageMetadata:v})}}));return ft(Hp({stream:h,messageId:u??t?.(),originalMessages:e,onFinish:r,onError:c}))}pipeUIMessageStreamToResponse(e,{originalMessages:t,generateMessageId:r,onFinish:n,messageMetadata:s,sendReasoning:o,sendSources:l,sendFinish:i,sendStart:c,onError:u,...d}={}){Bp({response:e,stream:this.toUIMessageStream({originalMessages:t,generateMessageId:r,onFinish:n,messageMetadata:s,sendReasoning:o,sendSources:l,sendFinish:i,sendStart:c,onError:u}),...d})}pipeTextStreamToResponse(e,t){$p({response:e,textStream:this.textStream,...t})}toUIMessageStreamResponse({originalMessages:e,generateMessageId:t,onFinish:r,messageMetadata:n,sendReasoning:s,sendSources:o,sendFinish:l,sendStart:i,onError:c,...u}={}){return jp({stream:this.toUIMessageStream({originalMessages:e,generateMessageId:t,onFinish:r,messageMetadata:n,sendReasoning:s,sendSources:o,sendFinish:l,sendStart:i,onError:c}),...u})}toTextStreamResponse(e){return Np({textStream:this.textStream,...e})}};function Qp(e,t){const r=[];t?.ignoreIncompleteToolCalls&&(e=e.map(n=>({...n,parts:n.parts.filter(s=>!Qn(s)||s.state!=="input-streaming"&&s.state!=="input-available")})));for(const n of e)switch(n.role){case"system":{const s=n.parts.filter(l=>l.type==="text"),o=s.reduce((l,i)=>i.providerMetadata!=null?{...l,...i.providerMetadata}:l,{});r.push({role:"system",content:s.map(l=>l.text).join(""),...Object.keys(o).length>0?{providerOptions:o}:{}});break}case"user":{r.push({role:"user",content:n.parts.map(s=>{var o;if(ir(s))return{type:"text",text:s.text,...s.providerMetadata!=null?{providerOptions:s.providerMetadata}:{}};if(lr(s))return{type:"file",mediaType:s.mediaType,filename:s.filename,data:s.url,...s.providerMetadata!=null?{providerOptions:s.providerMetadata}:{}};if(sr(s))return(o=t?.convertDataPart)==null?void 0:o.call(t,s)}).filter(s=>s!=null)});break}case"assistant":{if(n.parts!=null){let s=function(){var l,i,c;if(o.length===0)return;const u=[];for(const p of o)if(ir(p))u.push({type:"text",text:p.text,...p.providerMetadata!=null?{providerOptions:p.providerMetadata}:{}});else if(lr(p))u.push({type:"file",mediaType:p.mediaType,filename:p.filename,data:p.url});else if(Xn(p))u.push({type:"reasoning",text:p.text,providerOptions:p.providerMetadata});else if(Hr(p)){const h=p.toolName;p.state!=="input-streaming"&&u.push({type:"tool-call",toolCallId:p.toolCallId,toolName:h,input:p.input,...p.callProviderMetadata!=null?{providerOptions:p.callProviderMetadata}:{}})}else if($e(p)){const h=Pt(p);p.state!=="input-streaming"&&(u.push({type:"tool-call",toolCallId:p.toolCallId,toolName:h,input:p.state==="output-error"?(l=p.input)!=null?l:p.rawInput:p.input,providerExecuted:p.providerExecuted,...p.callProviderMetadata!=null?{providerOptions:p.callProviderMetadata}:{}}),p.providerExecuted===!0&&(p.state==="output-available"||p.state==="output-error")&&u.push({type:"tool-result",toolCallId:p.toolCallId,toolName:h,output:ze({output:p.state==="output-error"?p.errorText:p.output,tool:(i=t?.tools)==null?void 0:i[h],errorMode:p.state==="output-error"?"json":"none"})}))}else if(sr(p)){const h=(c=t?.convertDataPart)==null?void 0:c.call(t,p);h!=null&&u.push(h)}else{const h=p;throw new Error(`Unsupported part: ${h}`)}r.push({role:"assistant",content:u});const d=o.filter(p=>$e(p)&&p.providerExecuted!==!0||p.type==="dynamic-tool");d.length>0&&r.push({role:"tool",content:d.map(p=>{var h;switch(p.state){case"output-error":case"output-available":{const f=Fp(p);return{type:"tool-result",toolCallId:p.toolCallId,toolName:f,output:ze({output:p.state==="output-error"?p.errorText:p.output,tool:(h=t?.tools)==null?void 0:h[f],errorMode:p.state==="output-error"?"text":"none"})}}default:return null}}).filter(p=>p!=null)}),o=[]},o=[];for(const l of n.parts)ir(l)||Xn(l)||lr(l)||Qn(l)||sr(l)?o.push(l):l.type==="step-start"&&s();s();break}break}default:{const s=n.role;throw new Hd({originalMessage:n,message:`Unsupported role: ${s}`})}}return r}lt({prefix:"aiobj",size:24});lt({prefix:"aiobj",size:24});var ef={};Sd(ef,{object:()=>rf,text:()=>tf});var tf=()=>({type:"text",responseFormat:{type:"text"},async parsePartial({text:e}){return{partial:e}},async parseOutput({text:e}){return e}}),rf=({schema:e})=>{const t=jt(e);return{type:"object",responseFormat:{type:"json",schema:t.jsonSchema},async parsePartial({text:r}){const n=await xs(r);switch(n.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":return{partial:n.value};default:{const s=n.state;throw new Error(`Unsupported parse state: ${s}`)}}},async parseOutput({text:r},n){const s=await Ae({text:r});if(!s.success)throw new Kn({message:"No object generated: could not parse the response.",cause:s.error,text:r,response:n.response,usage:n.usage,finishReason:n.finishReason});const o=await Se({value:s.value,schema:t});if(!o.success)throw new Kn({message:"No object generated: response did not match schema.",cause:o.error,text:r,response:n.response,usage:n.usage,finishReason:n.finishReason});return o.value}}};const nf="https://app.getgram.ai",af=()=>({chat:sf}),of=a.object({mcp:a.union([a.string()]),environment:a.record(a.string(),a.unknown()).optional(),projectSlug:a.string(),model:a._enum$1(a.MODELS)}),sf=async(e,t)=>{if(e.method==="POST")try{const r=[];for await(const p of e)r.push(p);const n=Buffer.concat(r).toString(),{messages:s,config:o}=JSON.parse(n),l=of.parse(o),c=await(await wl({transport:{type:"http",url:l.mcp,headers:{...lf(l.environment??{}),Authorization:`Bearer ${process.env.GRAM_API_KEY??""}`}}})).tools(),u=fo({baseURL:nf,apiKey:"must be set",headers:{"Gram-Project":l.projectSlug,"Gram-Key":process.env.GRAM_API_KEY??""}}),d=Wp({model:u.chat(l.model),messages:Qp(s),tools:c,stopWhen:ws(10)});t.setHeader("Content-Type","text/event-stream"),t.setHeader("Cache-Control","no-cache"),t.setHeader("Connection","keep-alive"),t.setHeader("Transfer-Encoding","chunked"),t.statusCode=200,d.pipeUIMessageStreamToResponse(t,{sendReasoning:!0,sendSources:!0})}catch(r){t.statusCode=500,t.end(JSON.stringify({error:r instanceof Error?r.message:"Unknown error"}))}},ta="MCP-";function lf(e){return typeof e!="object"||e===null?{}:Object.entries(e).reduce((t,[r,n])=>{const s=r.replace(/_/g,"-"),o=s.startsWith(ta)?s:`${ta}${s}`;return t[o]=n,t},{})}exports.createElementsServerHandlers=af;
|