@gram-ai/elements 1.3.0 → 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 +9637 -9636
- package/dist/types/index.d.ts +16 -2
- 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 ks=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 Os(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 Ms=Os(xe),Ns=xe.split(".")[0],We=Symbol.for("opentelemetry.js.api."+Ns),Ye=ks;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||!Ms(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 $s=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},js=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))},Ds=(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,js([],$s(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 Us(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 qs=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},Fs=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))},Ls="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,Fs([],qs(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=Us((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(Ls,r)},r.createComponentLogger=function(s){return new Ds(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 Vs(e){return Symbol.for(e)}var Hs=(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 Hs,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},Ks=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))},Gs=(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,Ks([n],Zs(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},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))},Gt="context",Ws=new Gs,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,zs([t,r,n],Js(o),!1))},e.prototype.bind=function(t,r){return this._getContextManager().bind(t,r)},e.prototype._getContextManager=function(){return Xe(Gt)||Ws},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",Ys={traceId:aa,spanId:na,traceFlags:ur.NONE},Je=(function(){function e(t){t===void 0&&(t=Ys),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=Vs("OpenTelemetry Context Key SPAN");function Rr(e){return e.getValue(xr)||void 0}function Xs(){return Rr(ra.getInstance().active())}function Ar(e,t){return e.setValue(xr,t)}function Qs(e){return e.deleteValue(xr)}function ei(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 ti=/^([0-9a-f]{32})$/i,ri=/^[0-9a-f]{16}$/i;function ni(e){return ti.test(e)&&e!==aa}function ai(e){return ri.test(e)&&e!==na}function sa(e){return ni(e.traceId)&&ai(e.spanId)}function oi(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 si(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 si(e){return typeof e=="object"&&typeof e.spanId=="string"&&typeof e.traceId=="string"&&typeof e.traceFlags=="number"}var ii=new ia,li=(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):ii},e})(),ui=(function(){function e(){}return e.prototype.getTracer=function(t,r,n){return new ia},e})(),ci=new ui,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 li(this,t,r,n)},e.prototype.getDelegate=function(){var t;return(t=this._delegate)!==null&&t!==void 0?t:ci},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",di=(function(){function e(){this._proxyTracerProvider=new rn,this.wrapSpanContext=oi,this.isSpanContextValid=sa,this.deleteSpan=Qs,this.getSpan=Rr,this.getActiveSpan=Xs,this.getSpanContext=oa,this.setSpan=Ar,this.setSpanContext=ei}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})(),pi=di.getInstance();function cr(...e){return e.reduce((t,r)=>({...t,...r??{}}),{})}async function fi(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()}`},mi=it();function la(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 hi=["fetch failed","failed to fetch"];function ua({error:e,url:t,requestBodyValues:r}){if(Re(e))return e;if(e instanceof TypeError&&hi.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 Cr(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 gi(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(gi(e)),n=r.get("user-agent")||"";return r.set("user-agent",[n,...t].filter(Boolean).join(" ")),Object.fromEntries(r.entries())}var ca="3.0.16",vi=()=>globalThis.fetch,an=async({url:e,headers:t={},successfulResponseHandler:r,failedResponseHandler:n,abortSignal:s,fetch:o=vi()})=>{try{const l=await o(e,{method:"GET",headers:kt(t,`ai-sdk/provider-utils/${ca}`,Cr()),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 ua({error:l,url:e,requestBodyValues:{}})}};function yi({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 _i=/"__proto__"\s*:/,bi=/"constructor"\s*:/;function wi(e){const t=JSON.parse(e);return t===null||typeof t!="object"||_i.test(e)===!1&&bi.test(e)===!1?t:Ti(t)}function Ti(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 da(e){const{stackTraceLimit:t}=Error;Error.stackTraceLimit=0;try{return wi(e)}finally{Error.stackTraceLimit=t}}var _t=Symbol.for("vercel.ai.validator");function Ii(e){return{[_t]:!0,validate:e}}function Ei(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 Si(e){return Ei(e)?e:typeof e=="function"?e():xi(e)}function xi(e){return Ii(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=Si(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 Ri({text:e,schema:t}){try{const r=da(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 Ae({text:e,schema:t}){try{const r=da(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 Ai({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 Ci=()=>globalThis.fetch,pr=async({url:e,headers:t,body:r,failedResponseHandler:n,successfulResponseHandler:s,abortSignal:o,fetch:l})=>Pi({url:e,headers:{"Content-Type":"application/json",...t},body:{content:JSON.stringify(r),values:r},failedResponseHandler:n,successfulResponseHandler:s,abortSignal:o,fetch:l}),Pi=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/${ca}`,Cr()),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 ua({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 Ri({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)})}}},ki=e=>async({response:t})=>{const r=st(t);if(t.body==null)throw new a.EmptyResponseBodyError({});return{responseHeaders:r,value:Ai({stream:t.body,schema:e})}},bt=e=>async({response:t,url:r,requestBodyValues:n})=>{const s=await t.text(),o=await Ae({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}},Oi=(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("/")},Mi=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"},Ni=e=>typeof e=="string"?{...on,name:e}:{...on,...e};function ee(){return{}}function $i(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 ji(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 Di(){return{type:"boolean"}}function pa(e,t){return U(e.type._def,t)}var Ui=(e,t)=>U(e.innerType._def,t);function fa(e,t,r){const n=r??t.dateStrategy;if(Array.isArray(n))return{anyOf:n.map((s,o)=>fa(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 qi(e)}}var qi=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 Fi(e,t){return{...U(e.innerType._def,t),default:e.defaultValue()}}function Li(e,t){return t.effectStrategy==="input"?U(e.schema._def,t):ee()}function Vi(e){return{type:"string",enum:Array.from(e.values)}}var Hi=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(Hi(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 Zi(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 ma(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"?Gi(e):e}var Ki=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function Gi(e){let t="";for(let r=0;r<e.length;r++)Ki.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 ha(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}=ma(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}=pa(e.keyType._def,t);return{...c,propertyNames:d}}}return c}function Ji(e,t){if(t.mapStrategy==="record")return ha(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 zi(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 Wi(){return{not:ee()}}function Yi(){return{type:"null"}}var fr={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function Xi(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 Qi(e,t)}var Qi=(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 el(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 tl(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 rl(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=al(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=nl(e,t);return o!==void 0&&(r.additionalProperties=o),r}function nl(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 al(e){try{return e.isOptional()}catch{return!0}}var ol=(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()},sl=(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 il(e,t){return U(e.type._def,t)}function ll(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 ul(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 cl(){return{not:ee()}}function dl(){return ee()}var pl=(e,t)=>U(e.innerType._def,t),fl=(e,t,r)=>{switch(t){case a.ZodFirstPartyTypeKind$1.ZodString:return ma(e,r);case a.ZodFirstPartyTypeKind$1.ZodNumber:return tl(e);case a.ZodFirstPartyTypeKind$1.ZodObject:return rl(e,r);case a.ZodFirstPartyTypeKind$1.ZodBigInt:return ji(e);case a.ZodFirstPartyTypeKind$1.ZodBoolean:return Di();case a.ZodFirstPartyTypeKind$1.ZodDate:return fa(e,r);case a.ZodFirstPartyTypeKind$1.ZodUndefined:return cl();case a.ZodFirstPartyTypeKind$1.ZodNull:return Yi();case a.ZodFirstPartyTypeKind$1.ZodArray:return $i(e,r);case a.ZodFirstPartyTypeKind$1.ZodUnion:case a.ZodFirstPartyTypeKind$1.ZodDiscriminatedUnion:return Xi(e,r);case a.ZodFirstPartyTypeKind$1.ZodIntersection:return Bi(e,r);case a.ZodFirstPartyTypeKind$1.ZodTuple:return ul(e,r);case a.ZodFirstPartyTypeKind$1.ZodRecord:return ha(e,r);case a.ZodFirstPartyTypeKind$1.ZodLiteral:return Zi(e);case a.ZodFirstPartyTypeKind$1.ZodEnum:return Vi(e);case a.ZodFirstPartyTypeKind$1.ZodNativeEnum:return zi(e);case a.ZodFirstPartyTypeKind$1.ZodNullable:return el(e,r);case a.ZodFirstPartyTypeKind$1.ZodOptional:return ol(e,r);case a.ZodFirstPartyTypeKind$1.ZodMap:return Ji(e,r);case a.ZodFirstPartyTypeKind$1.ZodSet:return ll(e,r);case a.ZodFirstPartyTypeKind$1.ZodLazy:return()=>e.getter()._def;case a.ZodFirstPartyTypeKind$1.ZodPromise:return il(e,r);case a.ZodFirstPartyTypeKind$1.ZodNaN:case a.ZodFirstPartyTypeKind$1.ZodNever:return Wi();case a.ZodFirstPartyTypeKind$1.ZodEffects:return Li(e,r);case a.ZodFirstPartyTypeKind$1.ZodAny:return ee();case a.ZodFirstPartyTypeKind$1.ZodUnknown:return dl();case a.ZodFirstPartyTypeKind$1.ZodDefault:return Fi(e,r);case a.ZodFirstPartyTypeKind$1.ZodBranded:return pa(e,r);case a.ZodFirstPartyTypeKind$1.ZodReadonly:return pl(e,r);case a.ZodFirstPartyTypeKind$1.ZodCatch:return Ui(e,r);case a.ZodFirstPartyTypeKind$1.ZodPipeline:return sl(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!==Mi)return c}if(s&&!r){const c=ml(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=fl(e,e.typeName,t),i=typeof l=="function"?U(l(),t):l;if(i&&hl(e,t,i),t.postProcess){const c=t.postProcess(i,e,t);return o.jsonSchema=i,c}return o.jsonSchema=i,i}var ml=(e,t)=>{switch(t.$refStrategy){case"root":return{$ref:e.path.join("/")};case"relative":return{$ref:Oi(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}},hl=(e,t,r)=>(e.description&&(r.description=e.description),r),gl=e=>{const t=Ni(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}]))}},vl=(e,t)=>{var r;const n=gl(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},yl=vl;function _l(e,t){var r;const n=(r=void 0)!=null?r:!1;return Pr(()=>yl(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 bl(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 wl(e){return"_zod"in e}function Pe(e,t){return wl(e)?bl(e):_l(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 Tl(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}):Tl(e)?e:typeof e=="function"?e():Pe(e)}var{btoa:Il,atob:El}=globalThis;function kr(e){const t=e.replace(/-/g,"+").replace(/_/g,"/"),r=El(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 Il(t)}function Sl(e){return e?.replace(/\/$/,"")}function xl(e){return e!=null&&typeof e[Symbol.asyncIterator]=="function"}async function*Rl({execute:e,input:t,options:r}){const n=e(t,r);if(xl(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 Al(){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=Al();async function u(){return""}function d(){return""}return Qt}var ga=Cl(),Pl="vercel.ai.gateway.error",er=Symbol.for(Pl),cn,dn,te=class va 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 va.hasMarker(t)}static hasMarker(t){return typeof t=="object"&&t!==null&&er in t&&t[er]===!0}},ya="GatewayAuthenticationError",kl=`vercel.ai.gateway.error.${ya}`,pn=Symbol.for(kl),fn,mn,Or=class _a 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=ya,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 _a({message:l,statusCode:s,cause:o})}},ba="GatewayInvalidRequestError",Ol=`vercel.ai.gateway.error.${ba}`,hn=Symbol.for(Ol),gn,vn,Ml=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=ba,this.type="invalid_request_error"}static isInstance(e){return te.hasMarker(e)&&hn in e}},wa="GatewayRateLimitError",Nl=`vercel.ai.gateway.error.${wa}`,yn=Symbol.for(Nl),_n,bn,$l=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=wa,this.type="rate_limit_exceeded"}static isInstance(e){return te.hasMarker(e)&&yn in e}},Ta="GatewayModelNotFoundError",jl=`vercel.ai.gateway.error.${Ta}`,wn=Symbol.for(jl),Dl=De(()=>Pe(a.object({modelId:a.string()}))),Tn,In,Ia=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=Ta,this.type="model_not_found",this.modelId=r}static isInstance(e){return te.hasMarker(e)&&wn in e}},Ea="GatewayInternalServerError",Ul=`vercel.ai.gateway.error.${Ea}`,En=Symbol.for(Ul),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=Ea,this.type="internal_server_error"}static isInstance(e){return te.hasMarker(e)&&En in e}},Sa="GatewayResponseError",ql=`vercel.ai.gateway.error.${Sa}`,An=Symbol.for(ql),Cn,Pn,Fl=class extends(Pn=te,Cn=An,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[Cn]=!0,this.name=Sa,this.type="response_error",this.response=r,this.validationError=n}static isInstance(e){return te.hasMarker(e)&&An 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:Ll});if(!o.success)return new Fl({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 Ml({message:c,statusCode:t,cause:n});case"rate_limit_exceeded":return new $l({message:c,statusCode:t,cause:n});case"model_not_found":{const u=await Se({value:l.error.param,schema:Dl});return new Ia({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 Ll=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 Ce(e,t){var r;return te.isInstance(e)?e:a.APICallError.isInstance(e)?kn({response:Vl(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 Vl(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 xa="ai-gateway-auth-method";async function et(e){const t=await Se({value:e[xa],schema:Hl});return t.success?t.value:void 0}var Hl=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 Ce(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(Zl),failedResponseHandler:Qe({errorSchema:a.any(),errorToMessage:r=>r}),fetch:this.config.fetch});return t}catch(e){throw await Ce(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()}))}))),Zl=De(()=>Pe(a.object({balance:a.string(),total_used:a.string()}).transform(({balance:e,total_used:t})=>({balance:e,totalUsed:t})))),Kl=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 Ce(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:ki(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 Ce(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)}}},Gl=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 Ce(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 zl(){var e;return(e=ga.getContext().headers)==null?void 0:e["x-vercel-id"]}var Wl="2.0.7",Yl="0.0.1";function Xl(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=Sl(e.baseURL))!=null?r:"https://ai-gateway.vercel.sh/v1/ai",c=async()=>{const m=await eu(e);if(m)return kt({Authorization:`Bearer ${m.token}`,"ai-gateway-protocol-version":Yl,[xa]:m.authMethod,...e.headers},`ai-sdk/gateway/${Wl}`);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 zl();return{...m&&{"ai-o11y-deployment-id":m},...v&&{"ai-o11y-environment":v},..._&&{"ai-o11y-region":_},...y&&{"ai-o11y-request-id":y}}}},d=m=>new Kl(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 Ce(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 Ce(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 Gl(m,{provider:"gateway",baseURL:i,headers:c,fetch:e.fetch,o11yHeaders:u()}),f}var Ql=Xl();async function eu(e){const t=ht({settingValue:e.apiKey,environmentVariableName:"AI_GATEWAY_API_KEY"});if(t)return{token:t,authMethod:"api-key"};try{return{token:await ga.getVercelOidcToken(),authMethod:"oidc"}}catch{return null}}var tu=Object.defineProperty,ru=(e,t)=>{for(var r in t)tu(e,r,{get:t[r],enumerable:!0})},Ra="AI_NoOutputSpecifiedError",Aa=`vercel.ai.error.${Ra}`,nu=Symbol.for(Aa),Ca,au=class extends a.AISDKError{constructor({message:e="No output specified."}={}){super({name:Ra,message:e}),this[Ca]=!0}static isInstance(e){return a.AISDKError.hasMarker(e,Aa)}};Ca=nu;function ou(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 su="AI SDK Warning System: To turn off warning logging, set the AI_SDK_LOG_WARNINGS global to false.",Mn=!1,iu=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(su));for(const r of e)console.warn(ou(r))}},Pa="AI_InvalidArgumentError",ka=`vercel.ai.error.${Pa}`,lu=Symbol.for(ka),Oa,ge=class extends a.AISDKError{constructor({parameter:t,value:r,message:n}){super({name:Pa,message:`Invalid argument for parameter ${t}: ${n}`}),this[Oa]=!0,this.parameter=t,this.value=r}static isInstance(t){return a.AISDKError.hasMarker(t,ka)}};Oa=lu;var Ma="AI_InvalidToolInputError",Na=`vercel.ai.error.${Ma}`,uu=Symbol.for(Na),$a,ja=class extends a.AISDKError{constructor({toolInput:e,toolName:t,cause:r,message:n=`Invalid input for tool ${t}: ${a.getErrorMessage(r)}`}){super({name:Ma,message:n,cause:r}),this[$a]=!0,this.toolInput=e,this.toolName=t}static isInstance(e){return a.AISDKError.hasMarker(e,Na)}};$a=uu;var Da="AI_NoObjectGeneratedError",Ua=`vercel.ai.error.${Da}`,cu=Symbol.for(Ua),qa,Nn=class extends a.AISDKError{constructor({message:e="No object generated.",cause:t,text:r,response:n,usage:s,finishReason:o}){super({name:Da,message:e,cause:t}),this[qa]=!0,this.text=r,this.response=n,this.usage=s,this.finishReason=o}static isInstance(e){return a.AISDKError.hasMarker(e,Ua)}};qa=cu;var Fa="AI_NoOutputGeneratedError",La=`vercel.ai.error.${Fa}`,du=Symbol.for(La),Va,pu=class extends a.AISDKError{constructor({message:e="No output generated.",cause:t}={}){super({name:Fa,message:e,cause:t}),this[Va]=!0}static isInstance(e){return a.AISDKError.hasMarker(e,La)}};Va=du;var Ha="AI_NoSuchToolError",Ba=`vercel.ai.error.${Ha}`,fu=Symbol.for(Ba),Za,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:Ha,message:r}),this[Za]=!0,this.toolName=e,this.availableTools=t}static isInstance(e){return a.AISDKError.hasMarker(e,Ba)}};Za=fu;var Ka="AI_ToolCallRepairError",Ga=`vercel.ai.error.${Ka}`,mu=Symbol.for(Ga),Ja,hu=class extends a.AISDKError{constructor({cause:e,originalError:t,message:r=`Error repairing tool call: ${a.getErrorMessage(e)}`}){super({name:Ka,message:r,cause:e}),this[Ja]=!0,this.originalError=t}static isInstance(e){return a.AISDKError.hasMarker(e,Ga)}};Ja=mu;var gu=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}},za="AI_InvalidMessageRoleError",Wa=`vercel.ai.error.${za}`,vu=Symbol.for(Wa),Ya,yu=class extends a.AISDKError{constructor({role:e,message:t=`Invalid message role: '${e}'. Must be one of: "system", "user", "assistant", "tool".`}){super({name:za,message:t}),this[Ya]=!0,this.role=e}static isInstance(e){return a.AISDKError.hasMarker(e,Wa)}};Ya=vu;var Xa="AI_MessageConversionError",Qa=`vercel.ai.error.${Xa}`,_u=Symbol.for(Qa),eo,bu=class extends a.AISDKError{constructor({originalMessage:e,message:t}){super({name:Xa,message:t}),this[eo]=!0,this.originalMessage=e}static isInstance(e){return a.AISDKError.hasMarker(e,Qa)}};eo=_u;var to="AI_DownloadError",ro=`vercel.ai.error.${to}`,wu=Symbol.for(ro),no,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:to,message:s,cause:n}),this[no]=!0,this.url=e,this.statusCode=t,this.statusText=r}static isInstance(e){return a.AISDKError.hasMarker(e,ro)}};no=wu;var ao="AI_RetryError",oo=`vercel.ai.error.${ao}`,Tu=Symbol.for(oo),so,$n=class extends a.AISDKError{constructor({message:e,reason:t,errors:r}){super({name:ao,message:e}),this[so]=!0,this.reason=t,this.errors=r,this.lastError=r[r.length-1]}static isInstance(e){return a.AISDKError.hasMarker(e,oo)}};so=Tu;function io(e){if(typeof e!="string"){if(e.specificationVersion!=="v2")throw new gu({version:e.specificationVersion,provider:e.provider,modelId:e.modelId});return e}return Iu().languageModel(e)}function Iu(){var e;return(e=globalThis.AI_SDK_DEFAULT_PROVIDER)!=null?e:Ql}var Eu=[{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]}],Su=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 xu(e){return typeof e=="string"&&e.startsWith("SUQz")||typeof e!="string"&&e.length>10&&e[0]===73&&e[1]===68&&e[2]===51?Su(e):e}function Ru({data:e,signatures:t}){const r=xu(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 Au="5.0.90",Cu=async({url:e})=>{var t;const r=e.toString();try{const n=await fetch(r,{headers:kt({},`ai-sdk/${Au}`,Cr())});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})}},Pu=(e=Cu)=>t=>Promise.all(t.map(async r=>r.isUrlSupportedByModel?null:e(r)));function ku(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 lo=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 uo(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}=ku(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 Ou(e){return typeof e=="string"?e:e instanceof ArrayBuffer?hr(new Uint8Array(e)):hr(e)}async function Mu({prompt:e,supportedUrls:t,download:r=Pu()}){const n=await $u(e.messages,r,t);return[...e.system!=null?[{role:"system",content:e.system}]:[],...e.messages.map(s=>Nu({message:s,downloadedAssets:n}))]}function Nu({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=>ju(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}=uo(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 yu({role:n})}}}async function $u(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&&yi({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 ju(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}=uo(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=Ru({data:c,signatures:Eu}))!=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 Du({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 Uu(e){return e!=null&&Object.keys(e).length>0}function qu({tools:e,toolChoice:t,activeTools:r}){return Uu(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)),co=a.object({type:a.literal("text"),text:a.string(),providerOptions:ve.optional()}),Fu=a.object({type:a.literal("image"),image:a.union([lo,a._instanceof(URL)]),mediaType:a.string().optional(),providerOptions:ve.optional()}),po=a.object({type:a.literal("file"),data:a.union([lo,a._instanceof(URL)]),filename:a.string().optional(),mediaType:a.string(),providerOptions:ve.optional()}),Lu=a.object({type:a.literal("reasoning"),text:a.string(),providerOptions:ve.optional()}),Vu=a.object({type:a.literal("tool-call"),toolCallId:a.string(),toolName:a.string(),input:a.unknown(),providerOptions:ve.optional(),providerExecuted:a.boolean().optional()}),Hu=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()})]))})]),fo=a.object({type:a.literal("tool-result"),toolCallId:a.string(),toolName:a.string(),output:Hu,providerOptions:ve.optional()}),Bu=a.object({role:a.literal("system"),content:a.string(),providerOptions:ve.optional()}),Zu=a.object({role:a.literal("user"),content:a.union([a.string(),a.array(a.union([co,Fu,po]))]),providerOptions:ve.optional()}),Ku=a.object({role:a.literal("assistant"),content:a.union([a.string(),a.array(a.union([co,po,Lu,Vu,fo]))]),providerOptions:ve.optional()}),Gu=a.object({role:a.literal("tool"),content:a.array(fo),providerOptions:ve.optional()}),Ju=a.union([Bu,Zu,Ku,Gu]);async function zu(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 Wu(e){return Or.isInstance(e)||Ia.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 Yu({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 Xu={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 Qu},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}},Qu={traceId:"",spanId:"",traceFlags:0};function ec({isEnabled:e=!1,tracer:t}={}){return e?t||pi.getTracer("ai"):Xu}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{mo(o,l)}finally{o.end()}throw l}})}function mo(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 tc(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?Ou(r.data):r.data}:r)})))}function rc(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 nc({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 ac=({maxRetries:e=2,initialDelayInMs:t=2e3,backoffFactor:r=2,abortSignal:n}={})=>async s=>ho(s,{maxRetries:e,delayInMs:t,backoffFactor:r,abortSignal:n});async function ho(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=la(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 fi(nc({error:l,exponentialBackoffDelay:r}),{abortSignal:s}),ho(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 oc({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:ac({maxRetries:r,abortSignal:t})}}var sc=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}},ic=class extends sc{constructor(e){super(e),this.type="file"}};async function lc({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)||ja.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 hu({cause:i,originalError:o})}if(l==null)throw o;return await Dn({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 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 Ae({text:e.input,schema:s});if(o.success===!1)throw new ja({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 uc=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 cc(e){return({steps:t})=>t.length===e}async function dc({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 pc({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 go({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 fc({response:e,status:t,statusText:r,headers:n,textStream:s}){go({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 vo=class extends TransformStream{constructor(){super({transform(e,t){t.enqueue(`data: ${JSON.stringify(e)}
|
|
21
|
-
|
|
22
|
-
`)},flush(e){e.enqueue(`data: [DONE]
|
|
23
|
-
|
|
24
|
-
`)}})}},yo={"content-type":"text/event-stream","cache-control":"no-cache",connection:"keep-alive","x-vercel-ai-ui-message-stream":"v1","x-accel-buffering":"no"};function mc({status:e,statusText:t,headers:r,stream:n,consumeSseStream:s}){let o=n.pipeThrough(new vo);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,yo)})}function hc({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 gc(e){return e.type.startsWith("data-")}function _o(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]=_o(o,s):r[n]=s}return r}function vc(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 bo(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:vc(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 yc(e){return Mr(e)?e.toolName:wt(e)}function _c({lastMessage:e,messageId:t}){return{message:e?.role==="assistant"?e:{id:t,metadata:void 0,role:"assistant",parts:[]},activeTextParts:{},activeReasoningParts:{},partialToolCalls:{}}}function bc({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?_o(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 bo(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(gc(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 wc({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=_c({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 bc({stream:i,runUpdateMessageJob:u,onError:n}).pipeThrough(new TransformStream({transform(h,f){f.enqueue(h)},async cancel(){await p()},async flush(){await p()}}))}function Tc({response:e,status:t,statusText:r,headers:n,stream:s,consumeSseStream:o}){let l=s.pipeThrough(new vo);if(o){const[i,c]=l.tee();l=i,o({stream:c})}go({response:e,status:t,statusText:r,headers:Object.fromEntries(Mt(n,yo).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 Ic({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 Ec(){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 Sc(){var e,t;return(t=(e=globalThis?.performance)==null?void 0:e.now())!=null?t:Date.now()}function xc({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 ic({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 lc({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:la(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=mi();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=Rl({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){mo(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 Rc=it({prefix:"aitxt",size:24});function Ac({model:e,tools:t,toolChoice:r,system:n,prompt:s,messages:o,maxRetries:l,abortSignal:i,headers:c,stopWhen:u=cc(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=Sc,generateId:K=Rc,currentDate:de=()=>new Date}={},...q}){return new Pc({model:io(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 Pc=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={},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:Wu(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=qn({content:M,tools:u}),Fe=new uc({content:M,finishReason:T.finishReason,usage:T.usage,warnings:O,request:re,response:{...T.response,messages:[...pe,...L]},providerMetadata:T.providerMetadata});await F?.(Fe),iu(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 pu({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()}}}),$=Ec();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(Cc(v)).pipeThrough(k);const{maxRetries:xs,retry:Rs}=oc({maxRetries:s,abortSignal:o}),qt=ec(t),ye=Du(n),Br=Yu({model:e,telemetry:t,headers:r,settings:{...ye,maxRetries:xs}}),ne=this;yr({name:"ai.streamText",attributes:Ne({telemetry:t,attributes:{...vr({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 ft;const Gr=await zu({system:l,prompt:i,messages:c}),Le=[...Gr.messages,...N],me=await y?.({model:e,steps:R,stepNumber:R.length,messages:Le}),ke=io((qe=me?.model)!=null?qe:e),Jr=await Mu({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}=qu({tools:u,toolChoice:(Fe=me?.toolChoice)!=null?Fe:d,activeTools:(Zr=me?.activeTools)!=null?Zr:h}),{result:{stream:As,response:zr,request:Wr},doStreamSpan:Oe,startTimestampMs:Yr}=await Rs(()=>yr({name:"ai.streamText.doStream",attributes:Ne({telemetry:t,attributes:{...vr({operationId:"ai.streamText.doStream",telemetry:t}),...Br,"ai.model.provider":ke.provider,"ai.model.id":ke.modelId,"ai.prompt.messages":{input:()=>tc(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})})})),Cs=xc({tools:u,generatorStream:As,tracer:qt,telemetry:t,system:l,messages:Le,repairToolCall:f,abortSignal:o,experimental_context:K}),Ps=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(Cs.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:Ps,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=rc(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 dc({stopConditions:m,steps:R})){N.push(...qn({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 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 Ic({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 au;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?hc({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(wc({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}={}){Tc({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){fc({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 mc({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 pc({textStream:this.textStream,...e})}};function kc(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=yc(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 bu({originalMessage:n,message:`Unsupported role: ${s}`})}}return r}it({prefix:"aiobj",size:24});it({prefix:"aiobj",size:24});var Oc={};ru(Oc,{object:()=>Nc,text:()=>Mc});var Mc=()=>({type:"text",responseFormat:{type:"text"},async parsePartial({text:e}){return{partial:e}},async parseOutput({text:e}){return e}}),Nc=({schema:e})=>{const t=Ot(e);return{type:"object",responseFormat:{type:"json",schema:t.jsonSchema},async parsePartial({text:r}){const n=await bo(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 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}}},$c=Object.defineProperty,jc=Object.defineProperties,Dc=Object.getOwnPropertyDescriptors,Hn=Object.getOwnPropertySymbols,Uc=Object.prototype.hasOwnProperty,qc=Object.prototype.propertyIsEnumerable,Bn=(e,t,r)=>t in e?$c(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,j=(e,t)=>{for(var r in t||(t={}))Uc.call(t,r)&&Bn(e,r,t[r]);if(Hn)for(var r of Hn(t))qc.call(t,r)&&Bn(e,r,t[r]);return e},Tt=(e,t)=>jc(e,Dc(t)),wo="vercel.ai.error",Fc=Symbol.for(wo),To,Lc=class Io extends Error{constructor({name:t,message:r,cause:n}){super(r),this[To]=!0,this.name=t,this.cause=n}static isInstance(t){return Io.hasMarker(t,wo)}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}};To=Fc;var B=Lc,Eo="AI_APICallError",So=`vercel.ai.error.${Eo}`,Vc=Symbol.for(So),xo,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:Eo,message:e,cause:l}),this[xo]=!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,So)}};xo=Vc;var Ro="AI_EmptyResponseBodyError",Ao=`vercel.ai.error.${Ro}`,Hc=Symbol.for(Ao),Co,Bc=class extends B{constructor({message:e="Empty response body"}={}){super({name:Ro,message:e}),this[Co]=!0}static isInstance(e){return B.hasMarker(e,Ao)}};Co=Hc;function Po(e){return e==null?"unknown error":typeof e=="string"?e:e instanceof Error?e.message:JSON.stringify(e)}var ko="AI_InvalidArgumentError",Oo=`vercel.ai.error.${ko}`,Zc=Symbol.for(Oo),Mo,No=class extends B{constructor({message:e,cause:t,argument:r}){super({name:ko,message:e,cause:t}),this[Mo]=!0,this.argument=r}static isInstance(e){return B.hasMarker(e,Oo)}};Mo=Zc;var $o="AI_InvalidPromptError",jo=`vercel.ai.error.${$o}`,Kc=Symbol.for(jo),Do,Gc=class extends B{constructor({prompt:e,message:t,cause:r}){super({name:$o,message:`Invalid prompt: ${t}`,cause:r}),this[Do]=!0,this.prompt=e}static isInstance(e){return B.hasMarker(e,jo)}};Do=Kc;var Uo="AI_InvalidResponseDataError",qo=`vercel.ai.error.${Uo}`,Jc=Symbol.for(qo),Fo,Ke=class extends B{constructor({data:e,message:t=`Invalid response data: ${JSON.stringify(e)}.`}){super({name:Uo,message:t}),this[Fo]=!0,this.data=e}static isInstance(e){return B.hasMarker(e,qo)}};Fo=Jc;var Lo="AI_JSONParseError",Vo=`vercel.ai.error.${Lo}`,zc=Symbol.for(Vo),Ho,It=class extends B{constructor({text:e,cause:t}){super({name:Lo,message:`JSON parsing failed: Text: ${e}.
|
|
25
|
-
Error message: ${Po(t)}`,cause:t}),this[Ho]=!0,this.text=e}static isInstance(e){return B.hasMarker(e,Vo)}};Ho=zc;var Bo="AI_LoadAPIKeyError",Zo=`vercel.ai.error.${Bo}`,Wc=Symbol.for(Zo),Ko,mt=class extends B{constructor({message:e}){super({name:Bo,message:e}),this[Ko]=!0}static isInstance(e){return B.hasMarker(e,Zo)}};Ko=Wc;var Go="AI_NoContentGeneratedError",Jo=`vercel.ai.error.${Go}`,Yc=Symbol.for(Jo),zo,Wo=class extends B{constructor({message:e="No content generated."}={}){super({name:Go,message:e}),this[zo]=!0}static isInstance(e){return B.hasMarker(e,Jo)}};zo=Yc;var Yo="AI_TypeValidationError",Xo=`vercel.ai.error.${Yo}`,Xc=Symbol.for(Xo),Qo,Qc=class _r extends B{constructor({value:t,cause:r}){super({name:Yo,message:`Type validation failed: Value: ${JSON.stringify(t)}.
|
|
26
|
-
Error message: ${Po(r)}`,cause:r}),this[Qo]=!0,this.value=t}static isInstance(t){return B.hasMarker(t,Xo)}static wrap({value:t,cause:r}){return _r.isInstance(r)&&r.value===t?r:new _r({value:t,cause:r})}};Qo=Xc;var rt=Qc,es="AI_UnsupportedFunctionalityError",ts=`vercel.ai.error.${es}`,ed=Symbol.for(ts),rs,Ie=class extends B{constructor({functionality:e,message:t=`'${e}' functionality not supported.`}){super({name:es,message:t}),this[rs]=!0,this.functionality=e}static isInstance(e){return B.hasMarker(e,ts)}};rs=ed;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 td(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]=rd(`${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 rd(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 kd(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:Pd(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 _=Od(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 Od(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 Md(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 No({argument:"toolChoice",message:`Invalid tool choice type: ${JSON.stringify(e)}`})}}var Nd=a.object({type:a.literal("image_url"),image_url:a.object({url:a.string()}).passthrough()}).passthrough(),$d=a.union([Nd,a.unknown().transform(()=>null)]),ls=a.array($d).transform(e=>e.filter(t=>!!t)),us=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(),jd=a.union([us.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:ls.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()})]),Dd=a.union([us.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:ls.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]),Ud=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:kd(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?Md(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(jd),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 Wo({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:Gn(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:os(Dd),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=Et(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(j({},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 Ke({data:C,message:"Expected 'function' type."});if(C.id==null)throw new Ke({data:C,message:"Expected 'id' to be a string."});if(((x=C.function)==null?void 0:x.name)==null)throw new Ke({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 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: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&&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 C of Z.images)b.enqueue({type:"file",mediaType:Gn(C.image_url.url,"image/jpeg"),data:Ir(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: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 qd({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 Jn=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]),Fd=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}=qd({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(Jn),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 Wo({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:os(Jn),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}}}},Ld=a.object({prompt_tokens:a.number(),total_tokens:a.number(),cost:a.number().optional()}),Vd=a.object({object:a.literal("embedding"),embedding:a.array(a.number()),index:a.number().optional()}),Hd=a.object({id:a.string().optional(),object:a.literal("list"),data:a.array(Vd),model:a.string(),usage:Ld.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(Hd),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 Zd(e){return Object.fromEntries(Object.entries(e).filter(([,t])=>t!==null))}function Kd(e,...t){const r=Zd(e??{}),s=[r["user-agent"]||"",...t].filter(Boolean).join(" ");return Tt(j({},r),{"user-agent":s})}var Gd="1.4.1";function cs(e={}){var t,r,n;const s=(r=Sd((t=e.baseURL)!=null?t:e.baseUrl))!=null?r:"https://openrouter.ai/api/v1",o=(n=e.compatibility)!=null?n:"compatible",l=()=>Kd(j(j({Authorization:`Bearer ${ld({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/${Gd}`),i=(h,f={})=>new Ud(h,f,{provider:"openrouter.chat",url:({path:m})=>`${s}${m}`,headers:l,compatibility:o,fetch:e.fetch,extraBody:e.extraBody}),c=(h,f={})=>new Fd(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}cs({compatibility:"strict"});let Fr;Fr=globalThis.crypto;async function Jd(e){return(await Fr).getRandomValues(new Uint8Array(e))}async function zd(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 Wd(e){return await zd(e)}async function Yd(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 Xd(e){if(e||(e=43),e<43||e>128)throw`Expected a length between 43 and 128. Received ${e}.`;const t=await Wd(e),r=await Yd(t);return{code_verifier:t,code_challenge:r}}var Qd="AI_MCPClientError",ds=`vercel.ai.error.${Qd}`,ep=Symbol.for(ds),zn,Wn,D=class extends(Wn=a.AISDKError,zn=ep,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,ds)}},Ue="2025-06-18",tp=[Ue,"2025-03-26","2024-11-05"],rp=a.looseObject({name:a.string(),version:a.string()}),jt=a.looseObject({_meta:a.optional(a.object({}).loose())}),be=jt,ps=a.object({method:a.string(),params:a.optional(jt)}),fs=a.object({applyDefaults:a.optional(a.boolean())}).loose(),np=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(fs)});a.object({elicitation:a.optional(fs)}).loose();var ap=be.extend({protocolVersion:a.string(),capabilities:np,serverInfo:rp,instructions:a.optional(a.string())}),Lr=be.extend({nextCursor:a.optional(a.string())}),op=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(),sp=Lr.extend({tools:a.array(op)}),ms=a.object({type:a.literal("text"),text:a.string()}).loose(),hs=a.object({type:a.literal("image"),data:a.base64(),mimeType:a.string()}).loose(),ip=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(),lp=Lr.extend({resources:a.array(ip)}),gs=a.object({uri:a.string(),name:a.optional(a.string()),title:a.optional(a.string()),mimeType:a.optional(a.string())}).loose(),vs=gs.extend({text:a.string()}),ys=gs.extend({blob:a.base64()}),_s=a.object({type:a.literal("resource"),resource:a.union([vs,ys])}).loose(),up=be.extend({content:a.array(a.union([ms,hs,_s])),isError:a.boolean().default(!1).optional()}).or(be.extend({toolResult:a.unknown()})),cp=a.object({uriTemplate:a.string(),name:a.string(),title:a.optional(a.string()),description:a.optional(a.string()),mimeType:a.optional(a.string())}).loose(),dp=be.extend({resourceTemplates:a.array(cp)}),pp=be.extend({contents:a.array(a.union([vs,ys]))}),fp=a.object({name:a.string(),description:a.optional(a.string()),required:a.optional(a.boolean())}).loose(),mp=a.object({name:a.string(),title:a.optional(a.string()),description:a.optional(a.string()),arguments:a.optional(a.array(fp))}).loose(),hp=Lr.extend({prompts:a.array(mp)}),gp=a.object({role:a.union([a.literal("user"),a.literal("assistant")]),content:a.union([ms,hs,_s])}).loose(),vp=be.extend({description:a.optional(a.string()),messages:a.array(gp)}),yp=jt.extend({message:a.string(),requestedSchema:a.unknown()}),Yn=ps.extend({method:a.literal("elicitation/create"),params:yp}),_p=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",bp=a.object({jsonrpc:a.literal(Dt),id:a.union([a.string(),a.number().int()])}).merge(ps).strict(),wp=a.object({jsonrpc:a.literal(Dt),id:a.union([a.string(),a.number().int()]),result:be}).strict(),Tp=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(),Ip=a.object({jsonrpc:a.literal(Dt)}).merge(a.object({method:a.string(),params:a.optional(jt)})).strict(),Ge=a.union([bp,Ip,wp,Tp]),bs=typeof __PACKAGE_VERSION__<"u"?__PACKAGE_VERSION__:"0.0.0-test",ws=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"}),Ep=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(),Ts=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(),Sp=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(),xp=Sp.merge(Ts.pick({code_challenge_methods_supported:!0})),Rp=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(),Ap=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()}),Pp=Ap.merge(Rp),kp="AI_MCPClientOAuthError",Is=`vercel.ai.error.${kp}`,Op=Symbol.for(Is),Xn,Qn,lt=class extends(Qn=a.AISDKError,Xn=Op,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,Is)}},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 Mp={[je.errorCode]:je,[St.errorCode]:St,[xt.errorCode]:xt,[Rt.errorCode]:Rt};function Np(e){const t=typeof e=="string"?new URL(e):new URL(e.href);return t.hash="",t}function $p({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 At=class extends Error{constructor(e="Unauthorized"){super(e),this.name="UnauthorizedError"}};function Ct(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 jp(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 Dp(e,t){return!e||e.status>=400&&e.status<500&&t!=="/"}async function Up(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=jp(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&&Dp(u,l.pathname)){const d=new URL(`/.well-known/${t}`,l);u=await ea(d,i,r)}return u}async function qp(e,t,r=fetch){const n=await Up(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 Ep.parse(await n.json())}function Fp(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 Lp(e,{fetchFn:t=fetch,protocolVersion:r=Ue}={}){var n;const s={"MCP-Protocol-Version":r},o=Fp(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 Ts.parse(await c.json());{const u=xp.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 Vp(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 Xd(),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 Es(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 Ss(e,t,r,n){const{client_id:s,client_secret:o}=t;switch(e){case"client_secret_basic":Hp(s,o,r);return;case"client_secret_post":Bp(s,o,n);return;case"none":Zp(s,n);return;default:throw new Error(`Unsupported client authentication method: ${e}`)}}function Hp(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 Zp(e,t){t.set("client_id",e)}async function Hr(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=Mp[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 Kp(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:[],_=Es(r,v);Ss(_,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 Hr(m);return ws.parse(await m.json())}async function Gp(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=Es(r,f);Ss(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 Hr(h);return ws.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 Hr(o);return Pp.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 zp(e,t,r){const n=Np(e);if(t.validateResourceURL)return await t.validateResourceURL(n,r?.resource);if(r){if(!$p({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 qp(t,{resourceMetadataUrl:s},o),l.authorization_servers&&l.authorization_servers.length>0&&(i=l.authorization_servers[0])}catch{}i||(i=t);const c=await zp(t,e,l),u=await Lp(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 Kp(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 Gp(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 Vp(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 Wp=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/${bs}`,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=Ct(d);try{if(await Pt(this.authProvider,{serverUrl:this.url,resourceMetadataUrl:this.resourceMetadataUrl})!=="AUTHORIZED"){const v=new At;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=Ge.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=Ct(p);try{if(await Pt(this.authProvider,{serverUrl:this.url,resourceMetadataUrl:this.resourceMetadataUrl})!=="AUTHORIZED"){const f=new At;(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()}},Yp=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/${bs}`,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=Ct(h);try{if(await Pt(this.authProvider,{serverUrl:this.url,resourceMetadataUrl:this.resourceMetadataUrl})!=="AUTHORIZED")throw new At}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=>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 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=Ge.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=Ct(u);try{if(await Pt(this.authProvider,{serverUrl:this.url,resourceMetadataUrl:this.resourceMetadataUrl})!=="AUTHORIZED"){const v=new At;(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=Ge.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 Xp(e){switch(e.type){case"sse":return new Wp(e);case"http":return new Yp(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 Qp(e){return"start"in e&&typeof e.start=="function"&&"send"in e&&typeof e.send=="function"&&"close"in e&&typeof e.close=="function"}var ef="1.0.0";async function tf(e){const t=new rf(e);return await t.init(),t}var rf=class{constructor({transport:e,name:t="ai-sdk-mcp-client",version:r=ef,onUncaughtError:n,capabilities:s}){this.requestMessageId=0,this.responseHandlers=new Map,this.serverCapabilities={},this.isClosed=!0,this.onUncaughtError=n,this.clientCapabilities=s??{},Qp(e)?this.transport=e:this.transport=Xp(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:ap});if(e===void 0)throw new D({message:"Server sent invalid initialize result"});if(!tp.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:sp,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:up,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:lp,options:t})}catch(r){throw r}}async readResourceInternal({uri:e,options:t}){try{return this.request({request:{method:"resources/read",params:{uri:e}},resultSchema:pp,options:t})}catch(r){throw r}}async listResourceTemplatesInternal({options:e}={}){try{return this.request({request:{method:"resources/templates/list"},resultSchema:dp,options:e})}catch(t){throw t}}async listPromptsInternal({params:e,options:t}={}){try{return this.request({request:{method:"prompts/list",params:e},resultSchema:hp,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:vp,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=_p.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 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 tf({transport:{type:"http",url:l.mcp,headers:{...lf(l.environment??{}),Authorization:`Bearer ${process.env.GRAM_API_KEY??""}`}}})).tools(),u=cs({baseURL:nf,apiKey:"must be set",headers:{"Gram-Project":l.projectSlug,"Gram-Key":process.env.GRAM_API_KEY??""}}),d=Ac({model:u.chat(l.model),messages:kc(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"}))}},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;
|
|
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;
|