@galaxyproject/jupyterlite 0.0.17 → 0.0.19
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/package.json +4 -3
- package/static/dist/_output/build/schemas/all_federated.json +1 -1
- package/static/dist/_output/extensions/@jupyterlite/ai/install.json +5 -0
- package/static/dist/_output/extensions/@jupyterlite/ai/package.json +252 -0
- package/static/dist/_output/extensions/@jupyterlite/ai/schemas/@jupyterlite/ai/settings-model.json +194 -0
- package/static/dist/_output/extensions/@jupyterlite/ai/static/116.010504c67cccbe983101.js +1 -0
- package/static/dist/_output/extensions/@jupyterlite/ai/static/155.33f38a7e48ddbeb5bb6e.js +1 -0
- package/static/dist/_output/extensions/@jupyterlite/ai/static/180.96635ff74c0413e0c580.js +1 -0
- package/static/dist/_output/extensions/@jupyterlite/ai/static/19.a1bb726875fe6561330e.js +1 -0
- package/static/dist/_output/extensions/@jupyterlite/ai/static/306.17ff80cd7d3702012f98.js +1 -0
- package/static/dist/_output/extensions/@jupyterlite/ai/static/313.e439dd0f4960f6e7585f.js +1 -0
- package/static/dist/_output/extensions/@jupyterlite/ai/static/324.77487b82034275866b8c.js +1 -0
- package/static/dist/_output/extensions/@jupyterlite/ai/static/340.e42ea25ea5b1b374a682.js +1 -0
- package/static/dist/_output/extensions/@jupyterlite/ai/static/374.d7b4dcf29eb3d2ebfd70.js +1 -0
- package/static/dist/_output/extensions/@jupyterlite/ai/static/472.05d097796e83ea9a22b4.js +1 -0
- package/static/dist/_output/extensions/@jupyterlite/ai/static/529.600d1aebb2de2d73fecb.js +2 -0
- package/static/dist/_output/extensions/@jupyterlite/ai/static/529.600d1aebb2de2d73fecb.js.LICENSE.txt +8 -0
- package/static/dist/_output/extensions/@jupyterlite/ai/static/537.eb8d9ccd76231e36d75f.js +1 -0
- package/static/dist/_output/extensions/@jupyterlite/ai/static/593.284fd5d2b50defc573f3.js +1 -0
- package/static/dist/_output/extensions/@jupyterlite/ai/static/665.564d208c226b2753e13b.js +1 -0
- package/static/dist/_output/extensions/@jupyterlite/ai/static/669.0094374ba6e3143702f7.js +1 -0
- package/static/dist/_output/extensions/@jupyterlite/ai/static/692.911f4d7dca73b3737833.js +1 -0
- package/static/dist/_output/extensions/@jupyterlite/ai/static/694.e439dd0f4960f6e7585f.js +1 -0
- package/static/dist/_output/extensions/@jupyterlite/ai/static/709.7578153f9eed366ee430.js +2 -0
- package/static/dist/_output/extensions/@jupyterlite/ai/static/709.7578153f9eed366ee430.js.LICENSE.txt +19 -0
- package/static/dist/_output/extensions/@jupyterlite/ai/static/728.d7c2cb9a2f7fdd846b35.js +1 -0
- package/static/dist/_output/extensions/@jupyterlite/ai/static/764.312b4b53ed50be5bf3f8.js +1 -0
- package/static/dist/_output/extensions/@jupyterlite/ai/static/798.dca29a3fc3b23c555f6b.js +1 -0
- package/static/dist/_output/extensions/@jupyterlite/ai/static/88.898492ebc5b41a4607c6.js +2 -0
- package/static/dist/_output/extensions/@jupyterlite/ai/static/88.898492ebc5b41a4607c6.js.LICENSE.txt +1 -0
- package/static/dist/_output/extensions/@jupyterlite/ai/static/885.1670a5138e0a13def795.js +1 -0
- package/static/dist/_output/extensions/@jupyterlite/ai/static/918.e91fcd78edba173284a4.js +1 -0
- package/static/dist/_output/extensions/@jupyterlite/ai/static/92.55c2fe71a33184c2e66d.js +1 -0
- package/static/dist/_output/extensions/@jupyterlite/ai/static/952.003f03c751075980ac7f.js +183 -0
- package/static/dist/_output/extensions/@jupyterlite/ai/static/remoteEntry.2f103c13fd640ab93eb9.js +1 -0
- package/static/dist/_output/extensions/@jupyterlite/ai/static/style.js +4 -0
- package/static/dist/_output/extensions/@jupyterlite/ai/static/third-party-licenses.json +352 -0
- package/static/dist/_output/extensions/jl-galaxy/extension.js +1 -1
- package/static/dist/_output/extensions/jupyter-secrets-manager/install.json +5 -0
- package/static/dist/_output/extensions/jupyter-secrets-manager/package.json +207 -0
- package/static/dist/_output/extensions/jupyter-secrets-manager/schemas/jupyter-secrets-manager/manager.json +14 -0
- package/static/dist/_output/extensions/jupyter-secrets-manager/static/728.69cdb8043c4eb7a36084.js +1 -0
- package/static/dist/_output/extensions/jupyter-secrets-manager/static/810.7ac328ef761c19894484.js +1 -0
- package/static/dist/_output/extensions/jupyter-secrets-manager/static/remoteEntry.6610dc2c9e0921c7f94a.js +1 -0
- package/static/dist/_output/extensions/jupyter-secrets-manager/static/style.js +4 -0
- package/static/dist/_output/extensions/jupyter-secrets-manager/static/third-party-licenses.json +16 -0
- package/static/dist/_output/extensions/jupyterlab-cell-input-footer-extension/install.json +5 -0
- package/static/dist/_output/extensions/jupyterlab-cell-input-footer-extension/package.json +90 -0
- package/static/dist/_output/extensions/jupyterlab-cell-input-footer-extension/static/374.f7ab05aeba5c1aa173c9.js +1 -0
- package/static/dist/_output/extensions/jupyterlab-cell-input-footer-extension/static/432.7cb3263d05824765a0d2.js +1 -0
- package/static/dist/_output/extensions/jupyterlab-cell-input-footer-extension/static/509.9384daafd8fb72a4ff3a.js +1 -0
- package/static/dist/_output/extensions/jupyterlab-cell-input-footer-extension/static/993.f7ab05aeba5c1aa173c9.js +1 -0
- package/static/dist/_output/extensions/jupyterlab-cell-input-footer-extension/static/remoteEntry.f80ac7a8e97b08d2a2fd.js +1 -0
- package/static/dist/_output/extensions/jupyterlab-cell-input-footer-extension/static/style.js +4 -0
- package/static/dist/_output/extensions/jupyterlab-cell-input-footer-extension/static/third-party-licenses.json +22 -0
- package/static/dist/_output/extensions/jupyterlab-diff/install.json +5 -0
- package/static/dist/_output/extensions/jupyterlab-diff/package.json +224 -0
- package/static/dist/_output/extensions/jupyterlab-diff/static/299.07069b808cb23f84a242.js +1 -0
- package/static/dist/_output/extensions/jupyterlab-diff/static/379.2e2a6add1111d74422d2.js +1 -0
- package/static/dist/_output/extensions/jupyterlab-diff/static/383.dbd292b18614d410ed4b.js +1 -0
- package/static/dist/_output/extensions/jupyterlab-diff/static/499.e9c141febe62f251e965.js +1 -0
- package/static/dist/_output/extensions/jupyterlab-diff/static/680.07069b808cb23f84a242.js +1 -0
- package/static/dist/_output/extensions/jupyterlab-diff/static/728.559a28b17e14994cba46.js +1 -0
- package/static/dist/_output/extensions/jupyterlab-diff/static/747.e3256716cc1134700a59.js +1 -0
- package/static/dist/_output/extensions/jupyterlab-diff/static/879.749253139a5186f32109.js +1 -0
- package/static/dist/_output/extensions/jupyterlab-diff/static/remoteEntry.4830528fbe7c3ca55989.js +1 -0
- package/static/dist/_output/extensions/jupyterlab-diff/static/style.js +4 -0
- package/static/dist/_output/extensions/jupyterlab-diff/static/third-party-licenses.json +94 -0
- package/static/dist/_output/extensions/jupyterlab-eventlistener-extension/install.json +5 -0
- package/static/dist/_output/extensions/jupyterlab-eventlistener-extension/package.json +90 -0
- package/static/dist/_output/extensions/jupyterlab-eventlistener-extension/static/432.57100b29bc9fea211a0e.js +1 -0
- package/static/dist/_output/extensions/jupyterlab-eventlistener-extension/static/509.d1cc43983763b6a85f45.js +1 -0
- package/static/dist/_output/extensions/jupyterlab-eventlistener-extension/static/666.84cadfe40c86b502f11d.js +1 -0
- package/static/dist/_output/extensions/jupyterlab-eventlistener-extension/static/remoteEntry.5577376b289c1f9e2dc2.js +1 -0
- package/static/dist/_output/extensions/jupyterlab-eventlistener-extension/static/style.js +4 -0
- package/static/dist/_output/extensions/jupyterlab-eventlistener-extension/static/third-party-licenses.json +22 -0
- package/static/dist/_output/jupyter-lite.json +43 -20
- package/static/dist/_output/pypi/attrs-25.4.0-py3-none-any.whl +0 -0
- package/static/dist/_output/pypi/gxy-0.0.0-py3-none-any.whl +0 -0
- package/static/dist/_output/pypi/jupyter_core-5.9.1-py3-none-any.whl +0 -0
- package/static/dist/_output/pypi/narwhals-2.13.0-py3-none-any.whl +0 -0
- package/static/dist/_output/pypi/{platformdirs-4.4.0-py3-none-any.whl → platformdirs-4.5.1-py3-none-any.whl} +0 -0
- package/static/dist/_output/pypi/referencing-0.37.0-py3-none-any.whl +0 -0
- package/static/dist/index.js +2 -2
- package/static/dist/_output/pypi/attrs-25.3.0-py3-none-any.whl +0 -0
- package/static/dist/_output/pypi/jupyter_core-5.8.1-py3-none-any.whl +0 -0
- package/static/dist/_output/pypi/narwhals-2.6.0-py3-none-any.whl +0 -0
- package/static/dist/_output/pypi/referencing-0.36.2-py3-none-any.whl +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_jupyterlite_ai=self.webpackChunk_jupyterlite_ai||[]).push([[180],{2e3:(e,t,r)=>{var a,s=Object.defineProperty,o=Object.getOwnPropertyDescriptor,n=Object.getOwnPropertyNames,i=Object.prototype.hasOwnProperty,l={};((e,t)=>{for(var r in t)s(e,r,{get:t[r],enumerable:!0})})(l,{getContext:()=>u.getContext,getVercelOidcToken:()=>d,getVercelOidcTokenSync:()=>p}),e.exports=(a=l,((e,t,r,a)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let r of n(t))i.call(e,r)||undefined===r||s(e,r,{get:()=>t[r],enumerable:!(a=o(t,r))||a.enumerable});return e})(s({},"__esModule",{value:!0}),a));var u=r(2623);async function d(){return""}function p(){return""}},2623:e=>{var t,r=Object.defineProperty,a=Object.getOwnPropertyDescriptor,s=Object.getOwnPropertyNames,o=Object.prototype.hasOwnProperty,n={};((e,t)=>{for(var a in t)r(e,a,{get:t[a],enumerable:!0})})(n,{SYMBOL_FOR_REQ_CONTEXT:()=>i,getContext:()=>l}),e.exports=(t=n,((e,t,n,i)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let n of s(t))o.call(e,n)||undefined===n||r(e,n,{get:()=>t[n],enumerable:!(i=a(t,n))||i.enumerable});return e})(r({},"__esModule",{value:!0}),t));const i=Symbol.for("@vercel/request-context");function l(){const e=globalThis;return e[i]?.get?.()??{}}},7799:(e,t,r)=>{r.r(t),r.d(t,{AISDKError:()=>y.bD,APICallError:()=>y.hL,AbstractChat:()=>sn,DefaultChatTransport:()=>an,DownloadError:()=>Mr,EmptyResponseBodyError:()=>y.Tt,Experimental_Agent:()=>Ts,HttpChatTransport:()=>rn,InvalidArgumentError:()=>vt,InvalidDataContentError:()=>dr,InvalidMessageRoleError:()=>gr,InvalidPromptError:()=>y.M3,InvalidResponseDataError:()=>y.xn,InvalidStreamPartError:()=>St,InvalidToolInputError:()=>Ct,JSONParseError:()=>y.u6,JsonToSseTransformStream:()=>Za,LoadAPIKeyError:()=>y.Kq,MCPClientError:()=>Ot,MessageConversionError:()=>br,NoContentGeneratedError:()=>y.Ym,NoImageGeneratedError:()=>Dt,NoObjectGeneratedError:()=>Lt,NoOutputGeneratedError:()=>Kt,NoOutputSpecifiedError:()=>dt,NoSpeechGeneratedError:()=>zt,NoSuchModelError:()=>y.eM,NoSuchProviderError:()=>wo,NoSuchToolError:()=>Xt,Output:()=>eo,RetryError:()=>_r,SerialJobExecutor:()=>Bs,TextStreamChatTransport:()=>nn,TooManyEmbeddingValuesForCallError:()=>y.Ch,ToolCallRepairError:()=>sr,TypeValidationError:()=>y.iM,UI_MESSAGE_STREAM_HEADERS:()=>Qa,UnsupportedFunctionalityError:()=>y.b8,UnsupportedModelVersionError:()=>nr,asSchema:()=>v.asSchema,assistantModelMessageSchema:()=>oa,callCompletionApi:()=>en,consumeStream:()=>hs,convertFileListToFileUIParts:()=>tn,convertToCoreMessages:()=>Ss,convertToModelMessages:()=>xs,coreAssistantMessageSchema:()=>na,coreMessageSchema:()=>da,coreSystemMessageSchema:()=>ra,coreToolMessageSchema:()=>la,coreUserMessageSchema:()=>sa,cosineSimilarity:()=>Js,createGateway:()=>ce,createIdGenerator:()=>v.createIdGenerator,createProviderRegistry:()=>bo,createTextStreamResponse:()=>Ha,createUIMessageStream:()=>bn,createUIMessageStreamResponse:()=>Xa,customProvider:()=>mo,defaultSettingsMiddleware:()=>oo,dynamicTool:()=>v.dynamicTool,embed:()=>Ms,embedMany:()=>Cs,experimental_createMCPClient:()=>Ho,experimental_createProviderRegistry:()=>Io,experimental_customProvider:()=>go,experimental_generateImage:()=>_s,experimental_generateSpeech:()=>Qs,experimental_transcribe:()=>Zo,extractReasoningMiddleware:()=>io,gateway:()=>me,generateId:()=>v.generateId,generateObject:()=>Fs,generateText:()=>La,getTextFromDataUrl:()=>Vs,getToolName:()=>is,getToolOrDynamicToolName:()=>ls,hasToolCall:()=>Pa,isDeepEqualData:()=>Gs,isToolOrDynamicToolUIPart:()=>ns,isToolUIPart:()=>ss,jsonSchema:()=>v.jsonSchema,lastAssistantMessageIsCompleteWithToolCalls:()=>on,modelMessageSchema:()=>ua,parseJsonEventStream:()=>v.parseJsonEventStream,parsePartialJson:()=>as,pipeTextStreamToResponse:()=>Wa,pipeUIMessageStreamToResponse:()=>cs,readUIMessageStream:()=>In,safeValidateUIMessages:()=>vn,simulateReadableStream:()=>Ks,simulateStreamingMiddleware:()=>lo,smoothStream:()=>so,stepCountIs:()=>qa,streamObject:()=>zs,streamText:()=>bs,systemModelMessageSchema:()=>ta,tool:()=>v.tool,toolModelMessageSchema:()=>ia,uiMessageChunkSchema:()=>es,userModelMessageSchema:()=>aa,validateUIMessages:()=>wn,wrapLanguageModel:()=>uo,wrapProvider:()=>co,zodSchema:()=>v.zodSchema});var a,s,o,n,i,l,u,d,p,c,m,h,g,f,y=r(2100),v=r(116),w=r(6097),b=r(2e3),I=Symbol.for("vercel.ai.gateway.error"),x=class e extends(s=Error,a=I,s){constructor({message:e,statusCode:t=500,cause:r}){super(e),this[a]=!0,this.statusCode=t,this.cause=r}static isInstance(t){return e.hasMarker(t)}static hasMarker(e){return"object"==typeof e&&null!==e&&I in e&&!0===e[I]}},S="GatewayAuthenticationError",T=`vercel.ai.gateway.error.${S}`,M=Symbol.for(T),E=class e extends(n=x,o=M,n){constructor({message:e="Authentication failed",statusCode:t=401,cause:r}={}){super({message:e,statusCode:t,cause:r}),this[o]=!0,this.name=S,this.type="authentication_error"}static isInstance(e){return x.hasMarker(e)&&M in e}static createContextualError({apiKeyProvided:t,oidcTokenProvided:r,message:a="Authentication failed",statusCode:s=401,cause:o}){let n;return n=t?"AI Gateway authentication failed: Invalid API key provided.\n\nThe token is expected to be provided via the 'apiKey' option or 'AI_GATEWAY_API_KEY' environment variable.":r?"AI Gateway authentication failed: Invalid OIDC token provided.\n\nThe token is expected to be provided via the 'VERCEL_OIDC_TOKEN' environment variable. It expires every 12 hours.\n- make sure your Vercel project settings have OIDC enabled\n- if running locally with 'vercel dev', the token is automatically obtained and refreshed\n- if running locally with your own dev server, run 'vercel env pull' to fetch the token\n- in production/preview, the token is automatically obtained and refreshed\n\nAlternative: Provide an API key via 'apiKey' option or 'AI_GATEWAY_API_KEY' environment variable.":"AI Gateway authentication failed: No authentication provided.\n\nProvide either an API key or OIDC token.\n\nAPI key instructions:\n\nThe token is expected to be provided via the 'apiKey' option or 'AI_GATEWAY_API_KEY' environment variable.\n\nOIDC token instructions:\n\nThe token is expected to be provided via the 'VERCEL_OIDC_TOKEN' environment variable. It expires every 12 hours.\n- make sure your Vercel project settings have OIDC enabled\n- if running locally with 'vercel dev', the token is automatically obtained and refreshed\n- if running locally with your own dev server, run 'vercel env pull' to fetch the token\n- in production/preview, the token is automatically obtained and refreshed",new e({message:n,statusCode:s,cause:o})}},k="GatewayInvalidRequestError",C=`vercel.ai.gateway.error.${k}`,R=Symbol.for(C),_=class extends(l=x,i=R,l){constructor({message:e="Invalid request",statusCode:t=400,cause:r}={}){super({message:e,statusCode:t,cause:r}),this[i]=!0,this.name=k,this.type="invalid_request_error"}static isInstance(e){return x.hasMarker(e)&&R in e}},N="GatewayRateLimitError",O=`vercel.ai.gateway.error.${N}`,A=Symbol.for(O),j=class extends(d=x,u=A,d){constructor({message:e="Rate limit exceeded",statusCode:t=429,cause:r}={}){super({message:e,statusCode:t,cause:r}),this[u]=!0,this.name=N,this.type="rate_limit_exceeded"}static isInstance(e){return x.hasMarker(e)&&A in e}},q="GatewayModelNotFoundError",P=`vercel.ai.gateway.error.${q}`,D=Symbol.for(P),U=w.Ik({modelId:w.Yj()}),Y=class extends(c=x,p=D,c){constructor({message:e="Model not found",statusCode:t=404,modelId:r,cause:a}={}){super({message:e,statusCode:t,cause:a}),this[p]=!0,this.name=q,this.type="model_not_found",this.modelId=r}static isInstance(e){return x.hasMarker(e)&&D in e}},$="GatewayInternalServerError",F=`vercel.ai.gateway.error.${$}`,L=Symbol.for(F),J=class extends(h=x,m=L,h){constructor({message:e="Internal server error",statusCode:t=500,cause:r}={}){super({message:e,statusCode:t,cause:r}),this[m]=!0,this.name=$,this.type="internal_server_error"}static isInstance(e){return x.hasMarker(e)&&L in e}},V="GatewayResponseError",G=`vercel.ai.gateway.error.${V}`,B=Symbol.for(G),K=class extends(f=x,g=B,f){constructor({message:e="Invalid response from Gateway",statusCode:t=502,response:r,validationError:a,cause:s}={}){super({message:e,statusCode:t,cause:s}),this[g]=!0,this.name=V,this.type="response_error",this.response=r,this.validationError=a}static isInstance(e){return x.hasMarker(e)&&B in e}};function H({response:e,statusCode:t,defaultMessage:r="Gateway request failed",cause:a,authMethod:s}){const o=z.safeParse(e);if(!o.success)return new K({message:`Invalid error response format: ${r}`,statusCode:t,response:e,validationError:o.error,cause:a});const n=o.data,i=n.error.type,l=n.error.message;switch(i){case"authentication_error":return E.createContextualError({apiKeyProvided:"api-key"===s,oidcTokenProvided:"oidc"===s,statusCode:t,cause:a});case"invalid_request_error":return new _({message:l,statusCode:t,cause:a});case"rate_limit_exceeded":return new j({message:l,statusCode:t,cause:a});case"model_not_found":{const e=U.safeParse(n.error.param);return new Y({message:l,statusCode:t,modelId:e.success?e.data.modelId:void 0,cause:a})}default:return new J({message:l,statusCode:t,cause:a})}}var z=w.Ik({error:w.Ik({message:w.Yj(),type:w.Yj().nullish(),param:w.L5().nullish(),code:w.KC([w.Yj(),w.ai()]).nullish()})});function W(e,t){var r;return x.isInstance(e)?e:y.hL.isInstance(e)?H({response:Z(e),statusCode:null!=(r=e.statusCode)?r:500,defaultMessage:"Gateway request failed",cause:e,authMethod:t}):H({response:{},statusCode:500,defaultMessage:e instanceof Error?`Gateway request failed: ${e.message}`:"Unknown Gateway error",cause:e,authMethod:t})}function Z(e){if(void 0!==e.data)return e.data;if(null!=e.responseBody)try{return JSON.parse(e.responseBody)}catch(t){return e.responseBody}return{}}var Q="ai-gateway-auth-method";function X(e){const t=ee.safeParse(e[Q]);return t.success?t.data:void 0}var ee=w.KC([w.eu("api-key"),w.eu("oidc")]),te=class{constructor(e){this.config=e}async getAvailableModels(){try{const{value:e}=await(0,v.getFromApi)({url:`${this.config.baseURL}/config`,headers:await(0,v.resolve)(this.config.headers()),successfulResponseHandler:(0,v.createJsonResponseHandler)(oe),failedResponseHandler:(0,v.createJsonErrorResponseHandler)({errorSchema:w.bz(),errorToMessage:e=>e}),fetch:this.config.fetch});return e}catch(e){throw W(e)}}async getCredits(){try{const e=new URL(this.config.baseURL),{value:t}=await(0,v.getFromApi)({url:`${e.origin}/v1/credits`,headers:await(0,v.resolve)(this.config.headers()),successfulResponseHandler:(0,v.createJsonResponseHandler)(ne),failedResponseHandler:(0,v.createJsonErrorResponseHandler)({errorSchema:w.bz(),errorToMessage:e=>e}),fetch:this.config.fetch});return t}catch(e){throw W(e)}}},re=w.Ik({specificationVersion:w.eu("v2"),provider:w.Yj(),modelId:w.Yj()}),ae=w.Ik({input:w.Yj(),output:w.Yj(),input_cache_read:w.Yj().nullish(),input_cache_write:w.Yj().nullish()}).transform(({input:e,output:t,input_cache_read:r,input_cache_write:a})=>({input:e,output:t,...r?{cachedInputTokens:r}:{},...a?{cacheCreationInputTokens:a}:{}})),se=w.Ik({id:w.Yj(),name:w.Yj(),description:w.Yj().nullish(),pricing:ae.nullish(),specification:re,modelType:w.k5(["language","embedding","image"]).nullish()}),oe=w.Ik({models:w.YO(se)}),ne=w.Ik({balance:w.Yj(),total_used:w.Yj()}).transform(({balance:e,total_used:t})=>({balance:e,totalUsed:t})),ie=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:a}=e,s=await(0,v.resolve)(this.config.headers());try{const{responseHeaders:o,value:n,rawValue:i}=await(0,v.postJsonToApi)({url:this.getUrl(),headers:(0,v.combineHeaders)(s,e.headers,this.getModelConfigHeaders(this.modelId,!1),await(0,v.resolve)(this.config.o11yHeaders)),body:t,successfulResponseHandler:(0,v.createJsonResponseHandler)(w.bz()),failedResponseHandler:(0,v.createJsonErrorResponseHandler)({errorSchema:w.bz(),errorToMessage:e=>e}),...a&&{abortSignal:a},fetch:this.config.fetch});return{...n,request:{body:t},response:{headers:o,body:i},warnings:r}}catch(e){throw W(e,X(s))}}async doStream(e){const{args:t,warnings:r}=await this.getArgs(e),{abortSignal:a}=e,s=await(0,v.resolve)(this.config.headers());try{const{value:o,responseHeaders:n}=await(0,v.postJsonToApi)({url:this.getUrl(),headers:(0,v.combineHeaders)(s,e.headers,this.getModelConfigHeaders(this.modelId,!0),await(0,v.resolve)(this.config.o11yHeaders)),body:t,successfulResponseHandler:(0,v.createEventSourceResponseHandler)(w.bz()),failedResponseHandler:(0,v.createJsonErrorResponseHandler)({errorSchema:w.bz(),errorToMessage:e=>e}),...a&&{abortSignal:a},fetch:this.config.fetch});return{stream:o.pipeThrough(new TransformStream({start(e){r.length>0&&e.enqueue({type:"stream-start",warnings:r})},transform(t,r){if(t.success){const a=t.value;if("raw"===a.type&&!e.includeRawChunks)return;"response-metadata"===a.type&&a.timestamp&&"string"==typeof a.timestamp&&(a.timestamp=new Date(a.timestamp)),r.enqueue(a)}else r.error(t.error)}})),request:{body:t},response:{headers:n}}}catch(e){throw W(e,X(s))}}isFilePart(e){return e&&"object"==typeof e&&"type"in e&&"file"===e.type}maybeEncodeFileParts(e){for(const t of e.prompt)for(const e of t.content)if(this.isFilePart(e)){const t=e;if(t.data instanceof Uint8Array){const e=Uint8Array.from(t.data),r=Buffer.from(e).toString("base64");t.data=new URL(`data:${t.mediaType||"application/octet-stream"};base64,${r}`)}}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)}}},le=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:a}){var s;const o=await(0,v.resolve)(this.config.headers());try{const{responseHeaders:n,value:i,rawValue:l}=await(0,v.postJsonToApi)({url:this.getUrl(),headers:(0,v.combineHeaders)(o,null!=t?t:{},this.getModelConfigHeaders(),await(0,v.resolve)(this.config.o11yHeaders)),body:{input:1===e.length?e[0]:e,...a?{providerOptions:a}:{}},successfulResponseHandler:(0,v.createJsonResponseHandler)(ue),failedResponseHandler:(0,v.createJsonErrorResponseHandler)({errorSchema:w.bz(),errorToMessage:e=>e}),...r&&{abortSignal:r},fetch:this.config.fetch});return{embeddings:i.embeddings,usage:null!=(s=i.usage)?s:void 0,providerMetadata:i.providerMetadata,response:{headers:n,body:l}}}catch(e){throw W(e,X(o))}}getUrl(){return`${this.config.baseURL}/embedding-model`}getModelConfigHeaders(){return{"ai-embedding-model-specification-version":"2","ai-model-id":this.modelId}}},ue=w.Ik({embeddings:w.YO(w.YO(w.ai())),usage:w.Ik({tokens:w.ai()}).nullish(),providerMetadata:w.g1(w.Yj(),w.g1(w.Yj(),w.L5())).optional()}),de="1.0.33",pe="0.0.1";function ce(e={}){var t,r;let a=null,s=null;const o=null!=(t=e.metadataCacheRefreshMillis)?t:3e5;let n=0;const i=null!=(r=(0,v.withoutTrailingSlash)(e.baseURL))?r:"https://ai-gateway.vercel.sh/v1/ai",l=async()=>{const t=await async function(e){const t=(0,v.loadOptionalSetting)({settingValue:e.apiKey,environmentVariableName:"AI_GATEWAY_API_KEY"});if(t)return{token:t,authMethod:"api-key"};try{return{token:await(0,b.getVercelOidcToken)(),authMethod:"oidc"}}catch(e){return null}}(e);if(t)return(0,v.withUserAgentSuffix)({Authorization:`Bearer ${t.token}`,"ai-gateway-protocol-version":pe,[Q]:t.authMethod,...e.headers},`ai-sdk/gateway/${de}`);throw E.createContextualError({apiKeyProvided:!1,oidcTokenProvided:!1,statusCode:401})},u=()=>{const e=(0,v.loadOptionalSetting)({settingValue:void 0,environmentVariableName:"VERCEL_DEPLOYMENT_ID"}),t=(0,v.loadOptionalSetting)({settingValue:void 0,environmentVariableName:"VERCEL_ENV"}),r=(0,v.loadOptionalSetting)({settingValue:void 0,environmentVariableName:"VERCEL_REGION"});return async()=>{const a=await async function(){var e;return null==(e=(0,b.getContext)().headers)?void 0:e["x-vercel-id"]}();return{...e&&{"ai-o11y-deployment-id":e},...t&&{"ai-o11y-environment":t},...r&&{"ai-o11y-region":r},...a&&{"ai-o11y-request-id":a}}}},d=t=>new ie(t,{provider:"gateway",baseURL:i,headers:l,fetch:e.fetch,o11yHeaders:u()}),p=function(e){if(new.target)throw new Error("The Gateway Provider model function cannot be called with the new keyword.");return d(e)};return p.getAvailableModels=async()=>{var t,r,u;const d=null!=(u=null==(r=null==(t=e._internal)?void 0:t.currentDate)?void 0:r.call(t).getTime())?u:Date.now();return(!a||d-n>o)&&(n=d,a=new te({baseURL:i,headers:l,fetch:e.fetch}).getAvailableModels().then(e=>(s=e,e)).catch(async e=>{throw W(e,X(await l()))})),s?Promise.resolve(s):a},p.getCredits=async()=>new te({baseURL:i,headers:l,fetch:e.fetch}).getCredits().catch(async e=>{throw W(e,X(await l()))}),p.imageModel=e=>{throw new y.eM({modelId:e,modelType:"imageModel"})},p.languageModel=d,p.textEmbeddingModel=t=>new le(t,{provider:"gateway",baseURL:i,headers:l,fetch:e.fetch,o11yHeaders:u()}),p}var me=ce(),he="object"==typeof globalThis?globalThis:"object"==typeof self?self:"object"==typeof window?window:"object"==typeof r.g?r.g:{},ge="1.9.0",fe=/^(\d+)\.(\d+)\.(\d+)(-(.+))?$/,ye=function(e){var t=new Set([e]),r=new Set,a=e.match(fe);if(!a)return function(){return!1};var s=+a[1],o=+a[2],n=+a[3];if(null!=a[4])return function(t){return t===e};function i(e){return r.add(e),!1}function l(e){return t.add(e),!0}return function(e){if(t.has(e))return!0;if(r.has(e))return!1;var a=e.match(fe);if(!a)return i(e);var u=+a[1],d=+a[2],p=+a[3];return null!=a[4]||s!==u?i(e):0===s?o===d&&n<=p?l(e):i(e):o<=d?l(e):i(e)}}(ge),ve=ge.split(".")[0],we=Symbol.for("opentelemetry.js.api."+ve),be=he;function Ie(e,t,r,a){var s;void 0===a&&(a=!1);var o=be[we]=null!==(s=be[we])&&void 0!==s?s:{version:ge};if(!a&&o[e]){var n=new Error("@opentelemetry/api: Attempted duplicate registration of API: "+e);return r.error(n.stack||n.message),!1}return o.version!==ge?(n=new Error("@opentelemetry/api: Registration of version v"+o.version+" for "+e+" does not match previously registered API v"+ge),r.error(n.stack||n.message),!1):(o[e]=t,r.debug("@opentelemetry/api: Registered a global for "+e+" v"+ge+"."),!0)}function xe(e){var t,r,a=null===(t=be[we])||void 0===t?void 0:t.version;if(a&&ye(a))return null===(r=be[we])||void 0===r?void 0:r[e]}function Se(e,t){t.debug("@opentelemetry/api: Unregistering a global for "+e+" v"+ge+".");var r=be[we];r&&delete r[e]}var Te,Me=new function e(t){var r=this;r._currentContext=t?new Map(t):new Map,r.getValue=function(e){return r._currentContext.get(e)},r.setValue=function(t,a){var s=new e(r._currentContext);return s._currentContext.set(t,a),s},r.deleteValue=function(t){var a=new e(r._currentContext);return a._currentContext.delete(t),a}},Ee=function(){function e(){}return e.prototype.active=function(){return Me},e.prototype.with=function(e,t,r){for(var a=[],s=3;s<arguments.length;s++)a[s-3]=arguments[s];return t.call.apply(t,function(e,t,r){if(r||2===arguments.length)for(var a,s=0,o=t.length;s<o;s++)!a&&s in t||(a||(a=Array.prototype.slice.call(t,0,s)),a[s]=t[s]);return e.concat(a||Array.prototype.slice.call(t))}([r],function(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var a,s,o=r.call(e),n=[];try{for(;(void 0===t||t-- >0)&&!(a=o.next()).done;)n.push(a.value)}catch(e){s={error:e}}finally{try{a&&!a.done&&(r=o.return)&&r.call(o)}finally{if(s)throw s.error}}return n}(a),!1))},e.prototype.bind=function(e,t){return t},e.prototype.enable=function(){return this},e.prototype.disable=function(){return this},e}(),ke=function(){function e(e){this._namespace=e.namespace||"DiagComponentLogger"}return e.prototype.debug=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return Ce("debug",this._namespace,e)},e.prototype.error=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return Ce("error",this._namespace,e)},e.prototype.info=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return Ce("info",this._namespace,e)},e.prototype.warn=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return Ce("warn",this._namespace,e)},e.prototype.verbose=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return Ce("verbose",this._namespace,e)},e}();function Ce(e,t,r){var a=xe("diag");if(a)return r.unshift(t),a[e].apply(a,function(e,t,r){if(r||2===arguments.length)for(var a,s=0,o=t.length;s<o;s++)!a&&s in t||(a||(a=Array.prototype.slice.call(t,0,s)),a[s]=t[s]);return e.concat(a||Array.prototype.slice.call(t))}([],function(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var a,s,o=r.call(e),n=[];try{for(;(void 0===t||t-- >0)&&!(a=o.next()).done;)n.push(a.value)}catch(e){s={error:e}}finally{try{a&&!a.done&&(r=o.return)&&r.call(o)}finally{if(s)throw s.error}}return n}(r),!1))}!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"}(Te||(Te={}));var Re,_e=function(){function e(){function e(e){return function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];var a=xe("diag");if(a)return a[e].apply(a,function(e,t,r){if(r||2===arguments.length)for(var a,s=0,o=t.length;s<o;s++)!a&&s in t||(a||(a=Array.prototype.slice.call(t,0,s)),a[s]=t[s]);return e.concat(a||Array.prototype.slice.call(t))}([],function(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var a,s,o=r.call(e),n=[];try{for(;(void 0===t||t-- >0)&&!(a=o.next()).done;)n.push(a.value)}catch(e){s={error:e}}finally{try{a&&!a.done&&(r=o.return)&&r.call(o)}finally{if(s)throw s.error}}return n}(t),!1))}}var t=this;t.setLogger=function(e,r){var a,s,o;if(void 0===r&&(r={logLevel:Te.INFO}),e===t){var n=new Error("Cannot use diag as the logger for itself. Please use a DiagLogger implementation like ConsoleDiagLogger or a custom implementation");return t.error(null!==(a=n.stack)&&void 0!==a?a:n.message),!1}"number"==typeof r&&(r={logLevel:r});var i=xe("diag"),l=function(e,t){function r(r,a){var s=t[r];return"function"==typeof s&&e>=a?s.bind(t):function(){}}return e<Te.NONE?e=Te.NONE:e>Te.ALL&&(e=Te.ALL),t=t||{},{error:r("error",Te.ERROR),warn:r("warn",Te.WARN),info:r("info",Te.INFO),debug:r("debug",Te.DEBUG),verbose:r("verbose",Te.VERBOSE)}}(null!==(s=r.logLevel)&&void 0!==s?s:Te.INFO,e);if(i&&!r.suppressOverrideMessage){var u=null!==(o=(new Error).stack)&&void 0!==o?o:"<failed to generate stacktrace>";i.warn("Current logger will be overwritten from "+u),l.warn("Current logger will overwrite one already registered from "+u)}return Ie("diag",l,t,!0)},t.disable=function(){Se("diag",t)},t.createComponentLogger=function(e){return new ke(e)},t.verbose=e("verbose"),t.debug=e("debug"),t.info=e("info"),t.warn=e("warn"),t.error=e("error")}return e.instance=function(){return this._instance||(this._instance=new e),this._instance},e}(),Ne="context",Oe=new Ee,Ae=function(){function e(){}return e.getInstance=function(){return this._instance||(this._instance=new e),this._instance},e.prototype.setGlobalContextManager=function(e){return Ie(Ne,e,_e.instance())},e.prototype.active=function(){return this._getContextManager().active()},e.prototype.with=function(e,t,r){for(var a,s=[],o=3;o<arguments.length;o++)s[o-3]=arguments[o];return(a=this._getContextManager()).with.apply(a,function(e,t,r){if(r||2===arguments.length)for(var a,s=0,o=t.length;s<o;s++)!a&&s in t||(a||(a=Array.prototype.slice.call(t,0,s)),a[s]=t[s]);return e.concat(a||Array.prototype.slice.call(t))}([e,t,r],function(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var a,s,o=r.call(e),n=[];try{for(;(void 0===t||t-- >0)&&!(a=o.next()).done;)n.push(a.value)}catch(e){s={error:e}}finally{try{a&&!a.done&&(r=o.return)&&r.call(o)}finally{if(s)throw s.error}}return n}(s),!1))},e.prototype.bind=function(e,t){return this._getContextManager().bind(e,t)},e.prototype._getContextManager=function(){return xe(Ne)||Oe},e.prototype.disable=function(){this._getContextManager().disable(),Se(Ne,_e.instance())},e}();!function(e){e[e.NONE=0]="NONE",e[e.SAMPLED=1]="SAMPLED"}(Re||(Re={}));var je="0000000000000000",qe="00000000000000000000000000000000",Pe={traceId:qe,spanId:je,traceFlags:Re.NONE},De=function(){function e(e){void 0===e&&(e=Pe),this._spanContext=e}return e.prototype.spanContext=function(){return this._spanContext},e.prototype.setAttribute=function(e,t){return this},e.prototype.setAttributes=function(e){return this},e.prototype.addEvent=function(e,t){return this},e.prototype.addLink=function(e){return this},e.prototype.addLinks=function(e){return this},e.prototype.setStatus=function(e){return this},e.prototype.updateName=function(e){return this},e.prototype.end=function(e){},e.prototype.isRecording=function(){return!1},e.prototype.recordException=function(e,t){},e}(),Ue=Symbol.for("OpenTelemetry Context Key SPAN");function Ye(e){return e.getValue(Ue)||void 0}function $e(){return Ye(Ae.getInstance().active())}function Fe(e,t){return e.setValue(Ue,t)}function Le(e){return e.deleteValue(Ue)}function Je(e,t){return Fe(e,new De(t))}function Ve(e){var t;return null===(t=Ye(e))||void 0===t?void 0:t.spanContext()}var Ge=/^([0-9a-f]{32})$/i,Be=/^[0-9a-f]{16}$/i;function Ke(e){return r=e.traceId,Ge.test(r)&&r!==qe&&(t=e.spanId,Be.test(t)&&t!==je);var t,r}function He(e){return new De(e)}var ze,We=Ae.getInstance(),Ze=function(){function e(){}return e.prototype.startSpan=function(e,t,r){if(void 0===r&&(r=We.active()),Boolean(null==t?void 0:t.root))return new De;var a,s=r&&Ve(r);return"object"==typeof(a=s)&&"string"==typeof a.spanId&&"string"==typeof a.traceId&&"number"==typeof a.traceFlags&&Ke(s)?new De(s):new De},e.prototype.startActiveSpan=function(e,t,r,a){var s,o,n;if(!(arguments.length<2)){2===arguments.length?n=t:3===arguments.length?(s=t,n=r):(s=t,o=r,n=a);var i=null!=o?o:We.active(),l=this.startSpan(e,s,i),u=Fe(i,l);return We.with(u,n,void 0,l)}},e}(),Qe=new Ze,Xe=function(){function e(e,t,r,a){this._provider=e,this.name=t,this.version=r,this.options=a}return e.prototype.startSpan=function(e,t,r){return this._getTracer().startSpan(e,t,r)},e.prototype.startActiveSpan=function(e,t,r,a){var s=this._getTracer();return Reflect.apply(s.startActiveSpan,s,arguments)},e.prototype._getTracer=function(){if(this._delegate)return this._delegate;var e=this._provider.getDelegateTracer(this.name,this.version,this.options);return e?(this._delegate=e,this._delegate):Qe},e}(),et=new(function(){function e(){}return e.prototype.getTracer=function(e,t,r){return new Ze},e}()),tt=function(){function e(){}return e.prototype.getTracer=function(e,t,r){var a;return null!==(a=this.getDelegateTracer(e,t,r))&&void 0!==a?a:new Xe(this,e,t,r)},e.prototype.getDelegate=function(){var e;return null!==(e=this._delegate)&&void 0!==e?e:et},e.prototype.setDelegate=function(e){this._delegate=e},e.prototype.getDelegateTracer=function(e,t,r){var a;return null===(a=this._delegate)||void 0===a?void 0:a.getTracer(e,t,r)},e}(),rt="trace",at=function(){function e(){this._proxyTracerProvider=new tt,this.wrapSpanContext=He,this.isSpanContextValid=Ke,this.deleteSpan=Le,this.getSpan=Ye,this.getActiveSpan=$e,this.getSpanContext=Ve,this.setSpan=Fe,this.setSpanContext=Je}return e.getInstance=function(){return this._instance||(this._instance=new e),this._instance},e.prototype.setGlobalTracerProvider=function(e){var t=Ie(rt,this._proxyTracerProvider,_e.instance());return t&&this._proxyTracerProvider.setDelegate(e),t},e.prototype.getTracerProvider=function(){return xe(rt)||this._proxyTracerProvider},e.prototype.getTracer=function(e,t){return this.getTracerProvider().getTracer(e,t)},e.prototype.disable=function(){Se(rt,_e.instance()),this._proxyTracerProvider=new tt},e}().getInstance();!function(e){e[e.UNSET=0]="UNSET",e[e.OK=1]="OK",e[e.ERROR=2]="ERROR"}(ze||(ze={}));var st,ot=r(1408),nt=Object.defineProperty,it="AI_NoOutputSpecifiedError",lt=`vercel.ai.error.${it}`,ut=Symbol.for(lt),dt=class extends y.bD{constructor({message:e="No output specified."}={}){super({name:it,message:e}),this[st]=!0}static isInstance(e){return y.bD.hasMarker(e,lt)}};function pt(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":{let r=`${t} The tool "${"name"in e.tool?e.tool.name:"unknown tool"}" is not supported by this model`;return e.details&&(r+=` - ${e.details}`),r}case"other":return`${t} ${e.message}`;default:return`${t} ${JSON.stringify(e,null,2)}`}}st=ut;var ct,mt=!1,ht=e=>{if(0===e.length)return;const t=globalThis.AI_SDK_LOG_WARNINGS;if(!1!==t)if("function"!=typeof t){mt||(mt=!0,console.info("AI SDK Warning System: To turn off warning logging, set the AI_SDK_LOG_WARNINGS global to false."));for(const t of e)console.warn(pt(t))}else t(e)},gt="AI_InvalidArgumentError",ft=`vercel.ai.error.${gt}`,yt=Symbol.for(ft),vt=class extends y.bD{constructor({parameter:e,value:t,message:r}){super({name:gt,message:`Invalid argument for parameter ${e}: ${r}`}),this[ct]=!0,this.parameter=e,this.value=t}static isInstance(e){return y.bD.hasMarker(e,ft)}};ct=yt;var wt,bt="AI_InvalidStreamPartError",It=`vercel.ai.error.${bt}`,xt=Symbol.for(It),St=class extends y.bD{constructor({chunk:e,message:t}){super({name:bt,message:t}),this[wt]=!0,this.chunk=e}static isInstance(e){return y.bD.hasMarker(e,It)}};wt=xt;var Tt,Mt="AI_InvalidToolInputError",Et=`vercel.ai.error.${Mt}`,kt=Symbol.for(Et),Ct=class extends y.bD{constructor({toolInput:e,toolName:t,cause:r,message:a=`Invalid input for tool ${t}: ${(0,y.u1)(r)}`}){super({name:Mt,message:a,cause:r}),this[Tt]=!0,this.toolInput=e,this.toolName=t}static isInstance(e){return y.bD.hasMarker(e,Et)}};Tt=kt;var Rt,_t="vercel.ai.error.AI_MCPClientError",Nt=Symbol.for(_t),Ot=class extends y.bD{constructor({name:e="MCPClientError",message:t,cause:r}){super({name:e,message:t,cause:r}),this[Rt]=!0}static isInstance(e){return y.bD.hasMarker(e,_t)}};Rt=Nt;var At,jt="AI_NoImageGeneratedError",qt=`vercel.ai.error.${jt}`,Pt=Symbol.for(qt),Dt=class extends y.bD{constructor({message:e="No image generated.",cause:t,responses:r}){super({name:jt,message:e,cause:t}),this[At]=!0,this.responses=r}static isInstance(e){return y.bD.hasMarker(e,qt)}};At=Pt;var Ut,Yt="AI_NoObjectGeneratedError",$t=`vercel.ai.error.${Yt}`,Ft=Symbol.for($t),Lt=class extends y.bD{constructor({message:e="No object generated.",cause:t,text:r,response:a,usage:s,finishReason:o}){super({name:Yt,message:e,cause:t}),this[Ut]=!0,this.text=r,this.response=a,this.usage=s,this.finishReason=o}static isInstance(e){return y.bD.hasMarker(e,$t)}};Ut=Ft;var Jt,Vt="AI_NoOutputGeneratedError",Gt=`vercel.ai.error.${Vt}`,Bt=Symbol.for(Gt),Kt=class extends y.bD{constructor({message:e="No output generated.",cause:t}={}){super({name:Vt,message:e,cause:t}),this[Jt]=!0}static isInstance(e){return y.bD.hasMarker(e,Gt)}};Jt=Bt;var Ht,zt=class extends y.bD{constructor(e){super({name:"AI_NoSpeechGeneratedError",message:"No speech audio generated."}),this.responses=e.responses}},Wt="AI_NoSuchToolError",Zt=`vercel.ai.error.${Wt}`,Qt=Symbol.for(Zt),Xt=class extends y.bD{constructor({toolName:e,availableTools:t,message:r=`Model tried to call unavailable tool '${e}'. ${void 0===t?"No tools are available.":`Available tools: ${t.join(", ")}.`}`}){super({name:Wt,message:r}),this[Ht]=!0,this.toolName=e,this.availableTools=t}static isInstance(e){return y.bD.hasMarker(e,Zt)}};Ht=Qt;var er,tr="AI_ToolCallRepairError",rr=`vercel.ai.error.${tr}`,ar=Symbol.for(rr),sr=class extends y.bD{constructor({cause:e,originalError:t,message:r=`Error repairing tool call: ${(0,y.u1)(e)}`}){super({name:tr,message:r,cause:e}),this[er]=!0,this.originalError=t}static isInstance(e){return y.bD.hasMarker(e,rr)}};er=ar;var or,nr=class extends y.bD{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}},ir="AI_InvalidDataContentError",lr=`vercel.ai.error.${ir}`,ur=Symbol.for(lr),dr=class extends y.bD{constructor({content:e,cause:t,message:r=`Invalid data content. Expected a base64 string, Uint8Array, ArrayBuffer, or Buffer, but got ${typeof e}.`}){super({name:ir,message:r,cause:t}),this[or]=!0,this.content=e}static isInstance(e){return y.bD.hasMarker(e,lr)}};or=ur;var pr,cr="AI_InvalidMessageRoleError",mr=`vercel.ai.error.${cr}`,hr=Symbol.for(mr),gr=class extends y.bD{constructor({role:e,message:t=`Invalid message role: '${e}'. Must be one of: "system", "user", "assistant", "tool".`}){super({name:cr,message:t}),this[pr]=!0,this.role=e}static isInstance(e){return y.bD.hasMarker(e,mr)}};pr=hr;var fr,yr="AI_MessageConversionError",vr=`vercel.ai.error.${yr}`,wr=Symbol.for(vr),br=class extends y.bD{constructor({originalMessage:e,message:t}){super({name:yr,message:t}),this[fr]=!0,this.originalMessage=e}static isInstance(e){return y.bD.hasMarker(e,vr)}};fr=wr;var Ir,xr="AI_DownloadError",Sr=`vercel.ai.error.${xr}`,Tr=Symbol.for(Sr),Mr=class extends y.bD{constructor({url:e,statusCode:t,statusText:r,cause:a,message:s=(null==a?`Failed to download ${e}: ${t} ${r}`:`Failed to download ${e}: ${a}`)}){super({name:xr,message:s,cause:a}),this[Ir]=!0,this.url=e,this.statusCode=t,this.statusText=r}static isInstance(e){return y.bD.hasMarker(e,Sr)}};Ir=Tr;var Er,kr="AI_RetryError",Cr=`vercel.ai.error.${kr}`,Rr=Symbol.for(Cr),_r=class extends y.bD{constructor({message:e,reason:t,errors:r}){super({name:kr,message:e}),this[Er]=!0,this.reason=t,this.errors=r,this.lastError=r[r.length-1]}static isInstance(e){return y.bD.hasMarker(e,Cr)}};function Nr(e){if("string"!=typeof e){if("v2"!==e.specificationVersion)throw new nr({version:e.specificationVersion,provider:e.provider,modelId:e.modelId});return e}return Ar().languageModel(e)}function Or(e){if("string"!=typeof e){if("v2"!==e.specificationVersion)throw new nr({version:e.specificationVersion,provider:e.provider,modelId:e.modelId});return e}return Ar().textEmbeddingModel(e)}function Ar(){var e;return null!=(e=globalThis.AI_SDK_DEFAULT_PROVIDER)?e:me}Er=Rr;var jr=[{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]}],qr=[{mediaType:"audio/mpeg",bytesPrefix:[255,251]},{mediaType:"audio/mpeg",bytesPrefix:[255,250]},{mediaType:"audio/mpeg",bytesPrefix:[255,243]},{mediaType:"audio/mpeg",bytesPrefix:[255,242]},{mediaType:"audio/mpeg",bytesPrefix:[255,227]},{mediaType:"audio/mpeg",bytesPrefix:[255,226]},{mediaType:"audio/wav",bytesPrefix:[82,73,70,70,null,null,null,null,87,65,86,69]},{mediaType:"audio/ogg",bytesPrefix:[79,103,103,83]},{mediaType:"audio/flac",bytesPrefix:[102,76,97,67]},{mediaType:"audio/aac",bytesPrefix:[64,21,0,0]},{mediaType:"audio/mp4",bytesPrefix:[102,116,121,112]},{mediaType:"audio/webm",bytesPrefix:[26,69,223,163]}],Pr=e=>{const t="string"==typeof e?(0,v.convertBase64ToUint8Array)(e):e,r=(127&t[6])<<21|(127&t[7])<<14|(127&t[8])<<7|127&t[9];return t.slice(r+10)};function Dr({data:e,signatures:t}){const r=function(e){return"string"==typeof e&&e.startsWith("SUQz")||"string"!=typeof e&&e.length>10&&73===e[0]&&68===e[1]&&51===e[2]?Pr(e):e}(e),a="string"==typeof r?(0,v.convertBase64ToUint8Array)(r.substring(0,Math.min(r.length,24))):r;for(const e of t)if(a.length>=e.bytesPrefix.length&&e.bytesPrefix.every((e,t)=>null===e||a[t]===e))return e.mediaType}var Ur="5.0.60",Yr=async({url:e})=>{var t;const r=e.toString();try{const e=await fetch(r,{headers:(0,v.withUserAgentSuffix)({},`ai-sdk/${Ur}`,(0,v.getRuntimeEnvironmentUserAgent)())});if(!e.ok)throw new Mr({url:r,statusCode:e.status,statusText:e.statusText});return{data:new Uint8Array(await e.arrayBuffer()),mediaType:null!=(t=e.headers.get("content-type"))?t:void 0}}catch(e){if(Mr.isInstance(e))throw e;throw new Mr({url:r,cause:e})}},$r=(e=Yr)=>t=>Promise.all(t.map(async t=>t.isUrlSupportedByModel?null:e(t))),Fr=w.KC([w.Yj(),w.Nl(Uint8Array),w.Nl(ArrayBuffer),w.Ie(e=>{var t,r;return null!=(r=null==(t=globalThis.Buffer)?void 0:t.isBuffer(e))&&r},{message:"Must be a Buffer"})]);function Lr(e){if(e instanceof Uint8Array)return{data:e,mediaType:void 0};if(e instanceof ArrayBuffer)return{data:new Uint8Array(e),mediaType:void 0};if("string"==typeof e)try{e=new URL(e)}catch(e){}if(e instanceof URL&&"data:"===e.protocol){const{mediaType:t,base64Content:r}=function(e){try{const[t,r]=e.split(",");return{mediaType:t.split(";")[0].split(":")[1],base64Content:r}}catch(e){return{mediaType:void 0,base64Content:void 0}}}(e.toString());if(null==t||null==r)throw new y.bD({name:"InvalidDataContentError",message:`Invalid data URL format in content ${e.toString()}`});return{data:r,mediaType:t}}return{data:e,mediaType:void 0}}async function Jr({prompt:e,supportedUrls:t,download:r=$r()}){const a=await async function(e,t,r){const a=e.filter(e=>"user"===e.role).map(e=>e.content).filter(e=>Array.isArray(e)).flat().filter(e=>"image"===e.type||"file"===e.type).map(e=>{var t;const r=null!=(t=e.mediaType)?t:"image"===e.type?"image/*":void 0;let a="image"===e.type?e.image:e.data;if("string"==typeof a)try{a=new URL(a)}catch(e){}return{mediaType:r,data:a}}).filter(e=>e.data instanceof URL).map(e=>({url:e.data,isUrlSupportedByModel:null!=e.mediaType&&(0,v.isUrlSupported)({url:e.data.toString(),mediaType:e.mediaType,supportedUrls:r})})),s=await t(a);return Object.fromEntries(s.map((e,t)=>null==e?null:[a[t].url.toString(),{data:e.data,mediaType:e.mediaType}]).filter(e=>null!=e))}(e.messages,r,t);return[...null!=e.system?[{role:"system",content:e.system}]:[],...e.messages.map(e=>function({message:e,downloadedAssets:t}){const r=e.role;switch(r){case"system":return{role:"system",content:e.content,providerOptions:e.providerOptions};case"user":return"string"==typeof e.content?{role:"user",content:[{type:"text",text:e.content}],providerOptions:e.providerOptions}:{role:"user",content:e.content.map(e=>function(e,t){var r;if("text"===e.type)return{type:"text",text:e.text,providerOptions:e.providerOptions};let a;const s=e.type;switch(s){case"image":a=e.image;break;case"file":a=e.data;break;default:throw new Error(`Unsupported part type: ${s}`)}const{data:o,mediaType:n}=Lr(a);let i=null!=n?n:e.mediaType,l=o;if(l instanceof URL){const e=t[l.toString()];e&&(l=e.data,null!=i||(i=e.mediaType))}switch(s){case"image":return(l instanceof Uint8Array||"string"==typeof l)&&(i=null!=(r=Dr({data:l,signatures:jr}))?r:i),{type:"file",mediaType:null!=i?i:"image/*",filename:void 0,data:l,providerOptions:e.providerOptions};case"file":if(null==i)throw new Error("Media type is missing for file part");return{type:"file",mediaType:i,filename:e.filename,data:l,providerOptions:e.providerOptions}}}(e,t)).filter(e=>"text"!==e.type||""!==e.text),providerOptions:e.providerOptions};case"assistant":return"string"==typeof e.content?{role:"assistant",content:[{type:"text",text:e.content}],providerOptions:e.providerOptions}:{role:"assistant",content:e.content.filter(e=>"text"!==e.type||""!==e.text||null!=e.providerOptions).map(e=>{const t=e.providerOptions;switch(e.type){case"file":{const{data:r,mediaType:a}=Lr(e.data);return{type:"file",data:r,filename:e.filename,mediaType:null!=a?a:e.mediaType,providerOptions:t}}case"reasoning":return{type:"reasoning",text:e.text,providerOptions:t};case"text":return{type:"text",text:e.text,providerOptions:t};case"tool-call":return{type:"tool-call",toolCallId:e.toolCallId,toolName:e.toolName,input:e.input,providerExecuted:e.providerExecuted,providerOptions:t};case"tool-result":return{type:"tool-result",toolCallId:e.toolCallId,toolName:e.toolName,output:e.output,providerOptions:t}}}),providerOptions:e.providerOptions};case"tool":return{role:"tool",content:e.content.map(e=>({type:"tool-result",toolCallId:e.toolCallId,toolName:e.toolName,output:e.output,providerOptions:e.providerOptions})),providerOptions:e.providerOptions};default:throw new gr({role:r})}}({message:e,downloadedAssets:a}))]}function Vr({maxOutputTokens:e,temperature:t,topP:r,topK:a,presencePenalty:s,frequencyPenalty:o,seed:n,stopSequences:i}){if(null!=e){if(!Number.isInteger(e))throw new vt({parameter:"maxOutputTokens",value:e,message:"maxOutputTokens must be an integer"});if(e<1)throw new vt({parameter:"maxOutputTokens",value:e,message:"maxOutputTokens must be >= 1"})}if(null!=t&&"number"!=typeof t)throw new vt({parameter:"temperature",value:t,message:"temperature must be a number"});if(null!=r&&"number"!=typeof r)throw new vt({parameter:"topP",value:r,message:"topP must be a number"});if(null!=a&&"number"!=typeof a)throw new vt({parameter:"topK",value:a,message:"topK must be a number"});if(null!=s&&"number"!=typeof s)throw new vt({parameter:"presencePenalty",value:s,message:"presencePenalty must be a number"});if(null!=o&&"number"!=typeof o)throw new vt({parameter:"frequencyPenalty",value:o,message:"frequencyPenalty must be a number"});if(null!=n&&!Number.isInteger(n))throw new vt({parameter:"seed",value:n,message:"seed must be an integer"});return{maxOutputTokens:e,temperature:t,topP:r,topK:a,presencePenalty:s,frequencyPenalty:o,stopSequences:i,seed:n}}function Gr({tools:e,toolChoice:t,activeTools:r}){return null!=(a=e)&&Object.keys(a).length>0?{tools:(null!=r?Object.entries(e).filter(([e])=>r.includes(e)):Object.entries(e)).map(([e,t])=>{const r=t.type;switch(r){case void 0:case"dynamic":case"function":return{type:"function",name:e,description:t.description,inputSchema:(0,v.asSchema)(t.inputSchema).jsonSchema,providerOptions:t.providerOptions};case"provider-defined":return{type:"provider-defined",name:e,id:t.id,args:t.args};default:throw new Error(`Unsupported tool type: ${r}`)}}),toolChoice:null==t?{type:"auto"}:"string"==typeof t?{type:t}:{type:"tool",toolName:t.toolName}}:{tools:void 0,toolChoice:void 0};var a}var Br=w.RZ(()=>w.KC([w.ch(),w.Yj(),w.ai(),w.zM(),w.g1(w.Yj(),Br),w.YO(Br)])),Kr=w.g1(w.Yj(),w.g1(w.Yj(),Br)),Hr=w.Ik({type:w.eu("text"),text:w.Yj(),providerOptions:Kr.optional()}),zr=w.Ik({type:w.eu("image"),image:w.KC([Fr,w.Nl(URL)]),mediaType:w.Yj().optional(),providerOptions:Kr.optional()}),Wr=w.Ik({type:w.eu("file"),data:w.KC([Fr,w.Nl(URL)]),filename:w.Yj().optional(),mediaType:w.Yj(),providerOptions:Kr.optional()}),Zr=w.Ik({type:w.eu("reasoning"),text:w.Yj(),providerOptions:Kr.optional()}),Qr=w.Ik({type:w.eu("tool-call"),toolCallId:w.Yj(),toolName:w.Yj(),input:w.L5(),providerOptions:Kr.optional(),providerExecuted:w.zM().optional()}),Xr=w.gM("type",[w.Ik({type:w.eu("text"),value:w.Yj()}),w.Ik({type:w.eu("json"),value:Br}),w.Ik({type:w.eu("error-text"),value:w.Yj()}),w.Ik({type:w.eu("error-json"),value:Br}),w.Ik({type:w.eu("content"),value:w.YO(w.KC([w.Ik({type:w.eu("text"),text:w.Yj()}),w.Ik({type:w.eu("media"),data:w.Yj(),mediaType:w.Yj()})]))})]),ea=w.Ik({type:w.eu("tool-result"),toolCallId:w.Yj(),toolName:w.Yj(),output:Xr,providerOptions:Kr.optional()}),ta=w.Ik({role:w.eu("system"),content:w.Yj(),providerOptions:Kr.optional()}),ra=ta,aa=w.Ik({role:w.eu("user"),content:w.KC([w.Yj(),w.YO(w.KC([Hr,zr,Wr]))]),providerOptions:Kr.optional()}),sa=aa,oa=w.Ik({role:w.eu("assistant"),content:w.KC([w.Yj(),w.YO(w.KC([Hr,Wr,Zr,Qr,ea]))]),providerOptions:Kr.optional()}),na=oa,ia=w.Ik({role:w.eu("tool"),content:w.YO(ea),providerOptions:Kr.optional()}),la=ia,ua=w.KC([ta,aa,oa,ia]),da=ua;async function pa(e){if(null==e.prompt&&null==e.messages)throw new y.M3({prompt:e,message:"prompt or messages must be defined"});if(null!=e.prompt&&null!=e.messages)throw new y.M3({prompt:e,message:"prompt and messages cannot be defined at the same time"});if(null!=e.system&&"string"!=typeof e.system)throw new y.M3({prompt:e,message:"system must be a string"});let t;if(null!=e.prompt&&"string"==typeof e.prompt)t=[{role:"user",content:e.prompt}];else if(null!=e.prompt&&Array.isArray(e.prompt))t=e.prompt;else{if(null==e.messages)throw new y.M3({prompt:e,message:"prompt or messages must be defined"});t=e.messages}if(0===t.length)throw new y.M3({prompt:e,message:"messages must not be empty"});const r=await(0,v.safeValidateTypes)({value:t,schema:w.YO(ua)});if(!r.success)throw new y.M3({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 ca(e){return E.isInstance(e)||Y.isInstance(e)?new y.bD({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 ma({operationId:e,telemetry:t}){return{"operation.name":`${e}${null!=(null==t?void 0:t.functionId)?` ${t.functionId}`:""}`,"resource.name":null==t?void 0:t.functionId,"ai.operationId":e,"ai.telemetry.functionId":null==t?void 0:t.functionId}}function ha({model:e,settings:t,telemetry:r,headers:a}){var s;return{"ai.model.provider":e.provider,"ai.model.id":e.modelId,...Object.entries(t).reduce((e,[t,r])=>(e[`ai.settings.${t}`]=r,e),{}),...Object.entries(null!=(s=null==r?void 0:r.metadata)?s:{}).reduce((e,[t,r])=>(e[`ai.telemetry.metadata.${t}`]=r,e),{}),...Object.entries(null!=a?a:{}).reduce((e,[t,r])=>(void 0!==r&&(e[`ai.request.headers.${t}`]=r),e),{})}}var ga={startSpan:()=>fa,startActiveSpan:(e,t,r,a)=>"function"==typeof t?t(fa):"function"==typeof r?r(fa):"function"==typeof a?a(fa):void 0},fa={spanContext:()=>ya,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:()=>!1,recordException(){return this}},ya={traceId:"",spanId:"",traceFlags:0};function va({isEnabled:e=!1,tracer:t}={}){return e?t||at.getTracer("ai"):ga}function wa({name:e,tracer:t,attributes:r,fn:a,endWhenDone:s=!0}){return t.startActiveSpan(e,{attributes:r},async e=>{try{const t=await a(e);return s&&e.end(),t}catch(t){try{ba(e,t)}finally{e.end()}throw t}})}function ba(e,t){t instanceof Error?(e.recordException({name:t.name,message:t.message,stack:t.stack}),e.setStatus({code:ze.ERROR,message:t.message})):e.setStatus({code:ze.ERROR})}function Ia({telemetry:e,attributes:t}){return!0!==(null==e?void 0:e.isEnabled)?{}:Object.entries(t).reduce((t,[r,a])=>{if(null==a)return t;if("object"==typeof a&&"input"in a&&"function"==typeof a.input){if(!1===(null==e?void 0:e.recordInputs))return t;const s=a.input();return null==s?t:{...t,[r]:s}}if("object"==typeof a&&"output"in a&&"function"==typeof a.output){if(!1===(null==e?void 0:e.recordOutputs))return t;const s=a.output();return null==s?t:{...t,[r]:s}}return{...t,[r]:a}},{})}function xa(e){return JSON.stringify(e.map(e=>({...e,content:"string"==typeof e.content?e.content:e.content.map(e=>{return"file"===e.type?{...e,data:e.data instanceof Uint8Array?(t=e.data,"string"==typeof t?t:t instanceof ArrayBuffer?(0,v.convertUint8ArrayToBase64)(new Uint8Array(t)):(0,v.convertUint8ArrayToBase64)(t)):e.data}:e;var t})})))}function Sa(e,t){return{inputTokens:Ta(e.inputTokens,t.inputTokens),outputTokens:Ta(e.outputTokens,t.outputTokens),totalTokens:Ta(e.totalTokens,t.totalTokens),reasoningTokens:Ta(e.reasoningTokens,t.reasoningTokens),cachedInputTokens:Ta(e.cachedInputTokens,t.cachedInputTokens)}}function Ta(e,t){return null==e&&null==t?void 0:(null!=e?e:0)+(null!=t?t:0)}function Ma(e){return void 0===e?[]:Array.isArray(e)?e:[e]}var Ea=({maxRetries:e=2,initialDelayInMs:t=2e3,backoffFactor:r=2,abortSignal:a}={})=>async s=>ka(s,{maxRetries:e,delayInMs:t,backoffFactor:r,abortSignal:a});async function ka(e,{maxRetries:t,delayInMs:r,backoffFactor:a,abortSignal:s},o=[]){try{return await e()}catch(n){if((0,v.isAbortError)(n))throw n;if(0===t)throw n;const i=(0,v.getErrorMessage)(n),l=[...o,n],u=l.length;if(u>t)throw new _r({message:`Failed after ${u} attempts. Last error: ${i}`,reason:"maxRetriesExceeded",errors:l});if(n instanceof Error&&y.hL.isInstance(n)&&!0===n.isRetryable&&u<=t)return await(0,v.delay)(function({error:e,exponentialBackoffDelay:t}){const r=e.responseHeaders;if(!r)return t;let a;const s=r["retry-after-ms"];if(s){const e=parseFloat(s);Number.isNaN(e)||(a=e)}const o=r["retry-after"];if(o&&void 0===a){const e=parseFloat(o);a=Number.isNaN(e)?Date.parse(o)-Date.now():1e3*e}return null!=a&&!Number.isNaN(a)&&0<=a&&(a<6e4||a<t)?a:t}({error:n,exponentialBackoffDelay:r}),{abortSignal:s}),ka(e,{maxRetries:t,delayInMs:a*r,backoffFactor:a,abortSignal:s},l);if(1===u)throw n;throw new _r({message:`Failed after ${u} attempts with non-retryable error: '${i}'`,reason:"errorNotRetryable",errors:l})}}function Ca({maxRetries:e,abortSignal:t}){if(null!=e){if(!Number.isInteger(e))throw new vt({parameter:"maxRetries",value:e,message:"maxRetries must be an integer"});if(e<0)throw new vt({parameter:"maxRetries",value:e,message:"maxRetries must be >= 0"})}const r=null!=e?e:2;return{maxRetries:r,retry:Ea({maxRetries:r,abortSignal:t})}}function Ra(e){const t=e.filter(e=>"text"===e.type);if(0!==t.length)return t.map(e=>e.text).join("")}var _a=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 null==this.base64Data&&(this.base64Data=(0,v.convertUint8ArrayToBase64)(this.uint8ArrayData)),this.base64Data}get uint8Array(){return null==this.uint8ArrayData&&(this.uint8ArrayData=(0,v.convertBase64ToUint8Array)(this.base64Data)),this.uint8ArrayData}},Na=class extends _a{constructor(e){super(e),this.type="file"}};async function Oa({toolCall:e,tools:t,repairToolCall:r,system:a,messages:s}){try{if(null==t)throw new Xt({toolName:e.toolName});try{return await Aa({toolCall:e,tools:t})}catch(o){if(null==r||!Xt.isInstance(o)&&!Ct.isInstance(o))throw o;let n=null;try{n=await r({toolCall:e,tools:t,inputSchema:({toolName:e})=>{const{inputSchema:r}=t[e];return(0,v.asSchema)(r).jsonSchema},system:a,messages:s,error:o})}catch(e){throw new sr({cause:e,originalError:o})}if(null==n)throw o;return await Aa({toolCall:n,tools:t})}}catch(t){const r=await(0,v.safeParseJSON)({text:e.input}),a=r.success?r.value:e.input;return{type:"tool-call",toolCallId:e.toolCallId,toolName:e.toolName,input:a,dynamic:!0,invalid:!0,error:t}}}async function Aa({toolCall:e,tools:t}){const r=e.toolName,a=t[r];if(null==a)throw new Xt({toolName:e.toolName,availableTools:Object.keys(t)});const s=(0,v.asSchema)(a.inputSchema),o=""===e.input.trim()?await(0,v.safeValidateTypes)({value:{},schema:s}):await(0,v.safeParseJSON)({text:e.input,schema:s});if(!1===o.success)throw new Ct({toolName:r,toolInput:e.input,cause:o.error});return"dynamic"===a.type?{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 ja=class{constructor({content:e,finishReason:t,usage:r,warnings:a,request:s,response:o,providerMetadata:n}){this.content=e,this.finishReason=t,this.usage=r,this.warnings=a,this.request=s,this.response=o,this.providerMetadata=n}get text(){return this.content.filter(e=>"text"===e.type).map(e=>e.text).join("")}get reasoning(){return this.content.filter(e=>"reasoning"===e.type)}get reasoningText(){return 0===this.reasoning.length?void 0:this.reasoning.map(e=>e.text).join("")}get files(){return this.content.filter(e=>"file"===e.type).map(e=>e.file)}get sources(){return this.content.filter(e=>"source"===e.type)}get toolCalls(){return this.content.filter(e=>"tool-call"===e.type)}get staticToolCalls(){return this.toolCalls.filter(e=>!0!==e.dynamic)}get dynamicToolCalls(){return this.toolCalls.filter(e=>!0===e.dynamic)}get toolResults(){return this.content.filter(e=>"tool-result"===e.type)}get staticToolResults(){return this.toolResults.filter(e=>!0!==e.dynamic)}get dynamicToolResults(){return this.toolResults.filter(e=>!0===e.dynamic)}};function qa(e){return({steps:t})=>t.length===e}function Pa(e){return({steps:t})=>{var r,a,s;return null!=(s=null==(a=null==(r=t[t.length-1])?void 0:r.toolCalls)?void 0:a.some(t=>t.toolName===e))&&s}}async function Da({stopConditions:e,steps:t}){return(await Promise.all(e.map(e=>e({steps:t})))).some(e=>e)}function Ua({output:e,tool:t,errorMode:r}){return"text"===r?{type:"error-text",value:(0,y.u1)(e)}:"json"===r?{type:"error-json",value:Ya(e)}:(null==t?void 0:t.toModelOutput)?t.toModelOutput(e):"string"==typeof e?{type:"text",value:e}:{type:"json",value:Ya(e)}}function Ya(e){return void 0===e?null:e}function $a({content:e,tools:t}){const r=[],a=e.filter(e=>"source"!==e.type).filter(e=>("tool-result"!==e.type||e.providerExecuted)&&("tool-error"!==e.type||e.providerExecuted)).filter(e=>"text"!==e.type||e.text.length>0).map(e=>{switch(e.type){case"text":return{type:"text",text:e.text,providerOptions:e.providerMetadata};case"reasoning":return{type:"reasoning",text:e.text,providerOptions:e.providerMetadata};case"file":return{type:"file",data:e.file.base64,mediaType:e.file.mediaType,providerOptions:e.providerMetadata};case"tool-call":return{type:"tool-call",toolCallId:e.toolCallId,toolName:e.toolName,input:e.input,providerExecuted:e.providerExecuted,providerOptions:e.providerMetadata};case"tool-result":return{type:"tool-result",toolCallId:e.toolCallId,toolName:e.toolName,output:Ua({tool:null==t?void 0:t[e.toolName],output:e.output,errorMode:"none"}),providerExecuted:!0,providerOptions:e.providerMetadata};case"tool-error":return{type:"tool-result",toolCallId:e.toolCallId,toolName:e.toolName,output:Ua({tool:null==t?void 0:t[e.toolName],output:e.error,errorMode:"json"}),providerOptions:e.providerMetadata}}});a.length>0&&r.push({role:"assistant",content:a});const s=e.filter(e=>"tool-result"===e.type||"tool-error"===e.type).filter(e=>!e.providerExecuted).map(e=>({type:"tool-result",toolCallId:e.toolCallId,toolName:e.toolName,output:Ua({tool:null==t?void 0:t[e.toolName],output:"tool-result"===e.type?e.output:e.error,errorMode:"tool-error"===e.type?"text":"none"})}));return s.length>0&&r.push({role:"tool",content:s}),r}var Fa=(0,v.createIdGenerator)({prefix:"aitxt",size:24});async function La({model:e,tools:t,toolChoice:r,system:a,prompt:s,messages:o,maxRetries:n,abortSignal:i,headers:l,stopWhen:u=qa(1),experimental_output:d,experimental_telemetry:p,providerOptions:c,experimental_activeTools:m,activeTools:h=m,experimental_prepareStep:g,prepareStep:f=g,experimental_repairToolCall:y,experimental_download:w,experimental_context:b,_internal:{generateId:I=Fa,currentDate:x=()=>new Date}={},onStepFinish:S,...T}){const M=Nr(e),E=Ma(u),{maxRetries:k,retry:C}=Ca({maxRetries:n,abortSignal:i}),R=Vr(T),_=(0,v.withUserAgentSuffix)(null!=l?l:{},`ai/${Ur}`),N=ha({model:M,telemetry:p,headers:_,settings:{...R,maxRetries:k}}),O=await pa({system:a,prompt:s,messages:o}),A=va(p);try{return await wa({name:"ai.generateText",attributes:Ia({telemetry:p,attributes:{...ma({operationId:"ai.generateText",telemetry:p}),...N,"ai.model.provider":M.provider,"ai.model.id":M.modelId,"ai.prompt":{input:()=>JSON.stringify({system:a,prompt:s,messages:o})}}}),tracer:A,fn:async e=>{var s,o,n,l,u,m,g;const k=Vr(T);let R,j=[],q=[];const P=[],D=[];do{const e=[...O.messages,...P],E=await(null==f?void 0:f({model:M,steps:D,stepNumber:D.length,messages:e})),U=await Jr({prompt:{system:null!=(s=null==E?void 0:E.system)?s:O.system,messages:null!=(o=null==E?void 0:E.messages)?o:e},supportedUrls:await M.supportedUrls,download:w}),Y=Nr(null!=(n=null==E?void 0:E.model)?n:M),{toolChoice:$,tools:F}=Gr({tools:t,toolChoice:null!=(l=null==E?void 0:E.toolChoice)?l:r,activeTools:null!=(u=null==E?void 0:E.activeTools)?u:h});R=await C(()=>{var e;return wa({name:"ai.generateText.doGenerate",attributes:Ia({telemetry:p,attributes:{...ma({operationId:"ai.generateText.doGenerate",telemetry:p}),...N,"ai.model.provider":Y.provider,"ai.model.id":Y.modelId,"ai.prompt.messages":{input:()=>xa(U)},"ai.prompt.tools":{input:()=>null==F?void 0:F.map(e=>JSON.stringify(e))},"ai.prompt.toolChoice":{input:()=>null!=$?JSON.stringify($):void 0},"gen_ai.system":Y.provider,"gen_ai.request.model":Y.modelId,"gen_ai.request.frequency_penalty":T.frequencyPenalty,"gen_ai.request.max_tokens":T.maxOutputTokens,"gen_ai.request.presence_penalty":T.presencePenalty,"gen_ai.request.stop_sequences":T.stopSequences,"gen_ai.request.temperature":null!=(e=T.temperature)?e:void 0,"gen_ai.request.top_k":T.topK,"gen_ai.request.top_p":T.topP}}),tracer:A,fn:async e=>{var t,r,a,s,o,n,l,u;const m=await Y.doGenerate({...k,tools:F,toolChoice:$,responseFormat:null==d?void 0:d.responseFormat,prompt:U,providerOptions:c,abortSignal:i,headers:_}),h={id:null!=(r=null==(t=m.response)?void 0:t.id)?r:I(),timestamp:null!=(s=null==(a=m.response)?void 0:a.timestamp)?s:x(),modelId:null!=(n=null==(o=m.response)?void 0:o.modelId)?n:Y.modelId,headers:null==(l=m.response)?void 0:l.headers,body:null==(u=m.response)?void 0:u.body};return e.setAttributes(Ia({telemetry:p,attributes:{"ai.response.finishReason":m.finishReason,"ai.response.text":{output:()=>Ra(m.content)},"ai.response.toolCalls":{output:()=>{const e=Ga(m.content);return null==e?void 0:JSON.stringify(e)}},"ai.response.id":h.id,"ai.response.model":h.modelId,"ai.response.timestamp":h.timestamp.toISOString(),"ai.response.providerMetadata":JSON.stringify(m.providerMetadata),"ai.usage.promptTokens":m.usage.inputTokens,"ai.usage.completionTokens":m.usage.outputTokens,"gen_ai.response.finish_reasons":[m.finishReason],"gen_ai.response.id":h.id,"gen_ai.response.model":h.modelId,"gen_ai.usage.input_tokens":m.usage.inputTokens,"gen_ai.usage.output_tokens":m.usage.outputTokens}})),{...m,response:h}}})});const L=await Promise.all(R.content.filter(e=>"tool-call"===e.type).map(r=>Oa({toolCall:r,tools:t,repairToolCall:y,system:a,messages:e})));for(const r of L){if(r.invalid)continue;const a=t[r.toolName];null!=(null==a?void 0:a.onInputAvailable)&&await a.onInputAvailable({input:r.input,toolCallId:r.toolCallId,messages:e,abortSignal:i,experimental_context:b})}const J=L.filter(e=>e.invalid&&e.dynamic);q=[];for(const e of J)q.push({type:"tool-error",toolCallId:e.toolCallId,toolName:e.toolName,input:e.input,error:(0,v.getErrorMessage)(e.error),dynamic:!0});j=L.filter(e=>!e.providerExecuted),null!=t&&q.push(...await Ja({toolCalls:j.filter(e=>!e.invalid),tools:t,tracer:A,telemetry:p,messages:e,abortSignal:i,experimental_context:b}));const V=Ba({content:R.content,toolCalls:L,toolOutputs:q});P.push(...$a({content:V,tools:t}));const G=new ja({content:V,finishReason:R.finishReason,usage:R.usage,warnings:R.warnings,providerMetadata:R.providerMetadata,request:null!=(m=R.request)?m:{},response:{...R.response,messages:structuredClone(P)}});ht(null!=(g=R.warnings)?g:[]),D.push(G),await(null==S?void 0:S(G))}while(j.length>0&&q.length===j.length&&!await Da({stopConditions:E,steps:D}));e.setAttributes(Ia({telemetry:p,attributes:{"ai.response.finishReason":R.finishReason,"ai.response.text":{output:()=>Ra(R.content)},"ai.response.toolCalls":{output:()=>{const e=Ga(R.content);return null==e?void 0:JSON.stringify(e)}},"ai.response.providerMetadata":JSON.stringify(R.providerMetadata),"ai.usage.promptTokens":R.usage.inputTokens,"ai.usage.completionTokens":R.usage.outputTokens}}));const U=D[D.length-1];return new Va({steps:D,resolvedOutput:await(null==d?void 0:d.parseOutput({text:U.text},{response:U.response,usage:U.usage,finishReason:U.finishReason}))})}})}catch(e){throw ca(e)}}async function Ja({toolCalls:e,tools:t,tracer:r,telemetry:a,messages:s,abortSignal:o,experimental_context:n}){return(await Promise.all(e.map(async({toolCallId:e,toolName:i,input:l})=>{const u=t[i];if(null!=(null==u?void 0:u.execute))return wa({name:"ai.toolCall",attributes:Ia({telemetry:a,attributes:{...ma({operationId:"ai.toolCall",telemetry:a}),"ai.toolCall.name":i,"ai.toolCall.id":e,"ai.toolCall.args":{output:()=>JSON.stringify(l)}}}),tracer:r,fn:async t=>{try{const r=(0,v.executeTool)({execute:u.execute.bind(u),input:l,options:{toolCallId:e,messages:s,abortSignal:o,experimental_context:n}});let d;for await(const e of r)"final"===e.type&&(d=e.output);try{t.setAttributes(Ia({telemetry:a,attributes:{"ai.toolCall.result":{output:()=>JSON.stringify(d)}}}))}catch(e){}return{type:"tool-result",toolCallId:e,toolName:i,input:l,output:d,dynamic:"dynamic"===u.type}}catch(r){return ba(t,r),{type:"tool-error",toolCallId:e,toolName:i,input:l,error:r,dynamic:"dynamic"===u.type}}}})}))).filter(e=>null!=e)}var Va=class{constructor(e){this.steps=e.steps,this.resolvedOutput=e.resolvedOutput}get finalStep(){return this.steps[this.steps.length-1]}get content(){return this.finalStep.content}get text(){return this.finalStep.text}get files(){return this.finalStep.files}get reasoningText(){return this.finalStep.reasoningText}get reasoning(){return this.finalStep.reasoning}get toolCalls(){return this.finalStep.toolCalls}get staticToolCalls(){return this.finalStep.staticToolCalls}get dynamicToolCalls(){return this.finalStep.dynamicToolCalls}get toolResults(){return this.finalStep.toolResults}get staticToolResults(){return this.finalStep.staticToolResults}get dynamicToolResults(){return this.finalStep.dynamicToolResults}get sources(){return this.finalStep.sources}get finishReason(){return this.finalStep.finishReason}get warnings(){return this.finalStep.warnings}get providerMetadata(){return this.finalStep.providerMetadata}get response(){return this.finalStep.response}get request(){return this.finalStep.request}get usage(){return this.finalStep.usage}get totalUsage(){return this.steps.reduce((e,t)=>Sa(e,t.usage),{inputTokens:void 0,outputTokens:void 0,totalTokens:void 0,reasoningTokens:void 0,cachedInputTokens:void 0})}get experimental_output(){if(null==this.resolvedOutput)throw new dt;return this.resolvedOutput}};function Ga(e){const t=e.filter(e=>"tool-call"===e.type);if(0!==t.length)return t.map(e=>({toolCallId:e.toolCallId,toolName:e.toolName,input:e.input}))}function Ba({content:e,toolCalls:t,toolOutputs:r}){return[...e.map(e=>{switch(e.type){case"text":case"reasoning":case"source":return e;case"file":return{type:"file",file:new _a(e)};case"tool-call":return t.find(t=>t.toolCallId===e.toolCallId);case"tool-result":{const r=t.find(t=>t.toolCallId===e.toolCallId);if(null==r)throw new Error(`Tool call ${e.toolCallId} not found.`);return e.isError?{type:"tool-error",toolCallId:e.toolCallId,toolName:e.toolName,input:r.input,error:e.result,providerExecuted:!0,dynamic:r.dynamic}:{type:"tool-result",toolCallId:e.toolCallId,toolName:e.toolName,input:r.input,output:e.result,providerExecuted:!0,dynamic:r.dynamic}}}}),...r]}function Ka(e,t){const r=new Headers(null!=e?e:{});for(const[e,a]of Object.entries(t))r.has(e)||r.set(e,a);return r}function Ha({status:e,statusText:t,headers:r,textStream:a}){return new Response(a.pipeThrough(new TextEncoderStream),{status:null!=e?e:200,statusText:t,headers:Ka(r,{"content-type":"text/plain; charset=utf-8"})})}function za({response:e,status:t,statusText:r,headers:a,stream:s}){e.writeHead(null!=t?t:200,r,a);const o=s.getReader();(async()=>{try{for(;;){const{done:t,value:r}=await o.read();if(t)break;e.write(r)}}catch(e){throw e}finally{e.end()}})()}function Wa({response:e,status:t,statusText:r,headers:a,textStream:s}){za({response:e,status:t,statusText:r,headers:Object.fromEntries(Ka(a,{"content-type":"text/plain; charset=utf-8"}).entries()),stream:s.pipeThrough(new TextEncoderStream)})}var Za=class extends TransformStream{constructor(){super({transform(e,t){t.enqueue(`data: ${JSON.stringify(e)}\n\n`)},flush(e){e.enqueue("data: [DONE]\n\n")}})}},Qa={"content-type":"text/event-stream","cache-control":"no-cache",connection:"keep-alive","x-vercel-ai-ui-message-stream":"v1","x-accel-buffering":"no"};function Xa({status:e,statusText:t,headers:r,stream:a,consumeSseStream:s}){let o=a.pipeThrough(new Za);if(s){const[e,t]=o.tee();o=e,s({stream:t})}return new Response(o.pipeThrough(new TextEncoderStream),{status:e,statusText:t,headers:Ka(r,Qa)})}var es=w.KC([w.re({type:w.eu("text-start"),id:w.Yj(),providerMetadata:Kr.optional()}),w.re({type:w.eu("text-delta"),id:w.Yj(),delta:w.Yj(),providerMetadata:Kr.optional()}),w.re({type:w.eu("text-end"),id:w.Yj(),providerMetadata:Kr.optional()}),w.re({type:w.eu("error"),errorText:w.Yj()}),w.re({type:w.eu("tool-input-start"),toolCallId:w.Yj(),toolName:w.Yj(),providerExecuted:w.zM().optional(),dynamic:w.zM().optional()}),w.re({type:w.eu("tool-input-delta"),toolCallId:w.Yj(),inputTextDelta:w.Yj()}),w.re({type:w.eu("tool-input-available"),toolCallId:w.Yj(),toolName:w.Yj(),input:w.L5(),providerExecuted:w.zM().optional(),providerMetadata:Kr.optional(),dynamic:w.zM().optional()}),w.re({type:w.eu("tool-input-error"),toolCallId:w.Yj(),toolName:w.Yj(),input:w.L5(),providerExecuted:w.zM().optional(),providerMetadata:Kr.optional(),dynamic:w.zM().optional(),errorText:w.Yj()}),w.re({type:w.eu("tool-output-available"),toolCallId:w.Yj(),output:w.L5(),providerExecuted:w.zM().optional(),dynamic:w.zM().optional(),preliminary:w.zM().optional()}),w.re({type:w.eu("tool-output-error"),toolCallId:w.Yj(),errorText:w.Yj(),providerExecuted:w.zM().optional(),dynamic:w.zM().optional()}),w.re({type:w.eu("reasoning-start"),id:w.Yj(),providerMetadata:Kr.optional()}),w.re({type:w.eu("reasoning-delta"),id:w.Yj(),delta:w.Yj(),providerMetadata:Kr.optional()}),w.re({type:w.eu("reasoning-end"),id:w.Yj(),providerMetadata:Kr.optional()}),w.re({type:w.eu("source-url"),sourceId:w.Yj(),url:w.Yj(),title:w.Yj().optional(),providerMetadata:Kr.optional()}),w.re({type:w.eu("source-document"),sourceId:w.Yj(),mediaType:w.Yj(),title:w.Yj(),filename:w.Yj().optional(),providerMetadata:Kr.optional()}),w.re({type:w.eu("file"),url:w.Yj(),mediaType:w.Yj(),providerMetadata:Kr.optional()}),w.re({type:w.Ie(e=>"string"==typeof e&&e.startsWith("data-"),{message:'Type must start with "data-"'}),id:w.Yj().optional(),data:w.L5(),transient:w.zM().optional()}),w.re({type:w.eu("start-step")}),w.re({type:w.eu("finish-step")}),w.re({type:w.eu("start"),messageId:w.Yj().optional(),messageMetadata:w.L5().optional()}),w.re({type:w.eu("finish"),messageMetadata:w.L5().optional()}),w.re({type:w.eu("abort")}),w.re({type:w.eu("message-metadata"),messageMetadata:w.L5()})]);function ts(e,t){if(void 0===e&&void 0===t)return;if(void 0===e)return t;if(void 0===t)return e;const r={...e};for(const a in t)if(Object.prototype.hasOwnProperty.call(t,a)){const s=t[a];if(void 0===s)continue;const o=a in e?e[a]:void 0,n=!(null===s||"object"!=typeof s||Array.isArray(s)||s instanceof Date||s instanceof RegExp),i=!(null==o||"object"!=typeof o||Array.isArray(o)||o instanceof Date||o instanceof RegExp);r[a]=n&&i?ts(o,s):s}return r}function rs(e){const t=["ROOT"];let r=-1,a=null;function s(e,s,o){switch(e){case'"':r=s,t.pop(),t.push(o),t.push("INSIDE_STRING");break;case"f":case"t":case"n":r=s,a=s,t.pop(),t.push(o),t.push("INSIDE_LITERAL");break;case"-":t.pop(),t.push(o),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=s,t.pop(),t.push(o),t.push("INSIDE_NUMBER");break;case"{":r=s,t.pop(),t.push(o),t.push("INSIDE_OBJECT_START");break;case"[":r=s,t.pop(),t.push(o),t.push("INSIDE_ARRAY_START")}}function o(e,a){switch(e){case",":t.pop(),t.push("INSIDE_OBJECT_AFTER_COMMA");break;case"}":r=a,t.pop()}}function n(e,a){switch(e){case",":t.pop(),t.push("INSIDE_ARRAY_AFTER_COMMA");break;case"]":r=a,t.pop()}}for(let i=0;i<e.length;i++){const l=e[i];switch(t[t.length-1]){case"ROOT":s(l,i,"FINISH");break;case"INSIDE_OBJECT_START":switch(l){case'"':t.pop(),t.push("INSIDE_OBJECT_KEY");break;case"}":r=i,t.pop()}break;case"INSIDE_OBJECT_AFTER_COMMA":'"'===l&&(t.pop(),t.push("INSIDE_OBJECT_KEY"));break;case"INSIDE_OBJECT_KEY":'"'===l&&(t.pop(),t.push("INSIDE_OBJECT_AFTER_KEY"));break;case"INSIDE_OBJECT_AFTER_KEY":":"===l&&(t.pop(),t.push("INSIDE_OBJECT_BEFORE_VALUE"));break;case"INSIDE_OBJECT_BEFORE_VALUE":s(l,i,"INSIDE_OBJECT_AFTER_VALUE");break;case"INSIDE_OBJECT_AFTER_VALUE":o(l,i);break;case"INSIDE_STRING":switch(l){case'"':t.pop(),r=i;break;case"\\":t.push("INSIDE_STRING_ESCAPE");break;default:r=i}break;case"INSIDE_ARRAY_START":"]"===l?(r=i,t.pop()):(r=i,s(l,i,"INSIDE_ARRAY_AFTER_VALUE"));break;case"INSIDE_ARRAY_AFTER_VALUE":switch(l){case",":t.pop(),t.push("INSIDE_ARRAY_AFTER_COMMA");break;case"]":r=i,t.pop();break;default:r=i}break;case"INSIDE_ARRAY_AFTER_COMMA":s(l,i,"INSIDE_ARRAY_AFTER_VALUE");break;case"INSIDE_STRING_ESCAPE":t.pop(),r=i;break;case"INSIDE_NUMBER":switch(l){case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":r=i;break;case"e":case"E":case"-":case".":break;case",":t.pop(),"INSIDE_ARRAY_AFTER_VALUE"===t[t.length-1]&&n(l,i),"INSIDE_OBJECT_AFTER_VALUE"===t[t.length-1]&&o(l,i);break;case"}":t.pop(),"INSIDE_OBJECT_AFTER_VALUE"===t[t.length-1]&&o(l,i);break;case"]":t.pop(),"INSIDE_ARRAY_AFTER_VALUE"===t[t.length-1]&&n(l,i);break;default:t.pop()}break;case"INSIDE_LITERAL":{const s=e.substring(a,i+1);"false".startsWith(s)||"true".startsWith(s)||"null".startsWith(s)?r=i:(t.pop(),"INSIDE_OBJECT_AFTER_VALUE"===t[t.length-1]?o(l,i):"INSIDE_ARRAY_AFTER_VALUE"===t[t.length-1]&&n(l,i));break}}}let i=e.slice(0,r+1);for(let r=t.length-1;r>=0;r--)switch(t[r]){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 t=e.substring(a,e.length);"true".startsWith(t)?i+="true".slice(t.length):"false".startsWith(t)?i+="false".slice(t.length):"null".startsWith(t)&&(i+="null".slice(t.length))}}return i}async function as(e){if(void 0===e)return{value:void 0,state:"undefined-input"};let t=await(0,v.safeParseJSON)({text:e});return t.success?{value:t.value,state:"successful-parse"}:(t=await(0,v.safeParseJSON)({text:rs(e)}),t.success?{value:t.value,state:"repaired-parse"}:{value:void 0,state:"failed-parse"})}function ss(e){return e.type.startsWith("tool-")}function os(e){return"dynamic-tool"===e.type}function ns(e){return ss(e)||os(e)}function is(e){return e.type.split("-").slice(1).join("-")}function ls(e){return os(e)?e.toolName:is(e)}function us({lastMessage:e,messageId:t}){return{message:"assistant"===(null==e?void 0:e.role)?e:{id:t,metadata:void 0,role:"assistant",parts:[]},activeTextParts:{},activeReasoningParts:{},partialToolCalls:{}}}function ds({stream:e,messageMetadataSchema:t,dataPartSchemas:r,runUpdateMessageJob:a,onError:s,onToolCall:o,onData:n}){return e.pipeThrough(new TransformStream({async transform(e,i){await a(async({state:a,write:l})=>{var u,d,p,c;function m(e){const t=a.message.parts.filter(ss).find(t=>t.toolCallId===e);if(null==t)throw new Error("tool-output-error must be preceded by a tool-input-available");return t}function h(e){const t=a.message.parts.filter(e=>"dynamic-tool"===e.type).find(t=>t.toolCallId===e);if(null==t)throw new Error("tool-output-error must be preceded by a tool-input-available");return t}function g(e){var t;const r=a.message.parts.find(t=>ss(t)&&t.toolCallId===e.toolCallId),s=e,o=r;null!=r?(r.state=e.state,o.input=s.input,o.output=s.output,o.errorText=s.errorText,o.rawInput=s.rawInput,o.preliminary=s.preliminary,o.providerExecuted=null!=(t=s.providerExecuted)?t:r.providerExecuted,null!=s.providerMetadata&&"input-available"===r.state&&(r.callProviderMetadata=s.providerMetadata)):a.message.parts.push({type:`tool-${e.toolName}`,toolCallId:e.toolCallId,state:e.state,input:s.input,output:s.output,rawInput:s.rawInput,errorText:s.errorText,providerExecuted:s.providerExecuted,preliminary:s.preliminary,...null!=s.providerMetadata?{callProviderMetadata:s.providerMetadata}:{}})}function f(e){var t;const r=a.message.parts.find(t=>"dynamic-tool"===t.type&&t.toolCallId===e.toolCallId),s=e,o=r;null!=r?(r.state=e.state,o.toolName=e.toolName,o.input=s.input,o.output=s.output,o.errorText=s.errorText,o.rawInput=null!=(t=s.rawInput)?t:o.rawInput,o.preliminary=s.preliminary,null!=s.providerMetadata&&"input-available"===r.state&&(r.callProviderMetadata=s.providerMetadata)):a.message.parts.push({type:"dynamic-tool",toolName:e.toolName,toolCallId:e.toolCallId,state:e.state,input:s.input,output:s.output,errorText:s.errorText,preliminary:s.preliminary,...null!=s.providerMetadata?{callProviderMetadata:s.providerMetadata}:{}})}async function y(e){if(null!=e){const r=null!=a.message.metadata?ts(a.message.metadata,e):e;null!=t&&await(0,v.validateTypes)({value:r,schema:t}),a.message.metadata=r}}switch(e.type){case"text-start":{const t={type:"text",text:"",providerMetadata:e.providerMetadata,state:"streaming"};a.activeTextParts[e.id]=t,a.message.parts.push(t),l();break}case"text-delta":{const t=a.activeTextParts[e.id];t.text+=e.delta,t.providerMetadata=null!=(u=e.providerMetadata)?u:t.providerMetadata,l();break}case"text-end":{const t=a.activeTextParts[e.id];t.state="done",t.providerMetadata=null!=(d=e.providerMetadata)?d:t.providerMetadata,delete a.activeTextParts[e.id],l();break}case"reasoning-start":{const t={type:"reasoning",text:"",providerMetadata:e.providerMetadata,state:"streaming"};a.activeReasoningParts[e.id]=t,a.message.parts.push(t),l();break}case"reasoning-delta":{const t=a.activeReasoningParts[e.id];t.text+=e.delta,t.providerMetadata=null!=(p=e.providerMetadata)?p:t.providerMetadata,l();break}case"reasoning-end":{const t=a.activeReasoningParts[e.id];t.providerMetadata=null!=(c=e.providerMetadata)?c:t.providerMetadata,t.state="done",delete a.activeReasoningParts[e.id],l();break}case"file":a.message.parts.push({type:"file",mediaType:e.mediaType,url:e.url}),l();break;case"source-url":a.message.parts.push({type:"source-url",sourceId:e.sourceId,url:e.url,title:e.title,providerMetadata:e.providerMetadata}),l();break;case"source-document":a.message.parts.push({type:"source-document",sourceId:e.sourceId,mediaType:e.mediaType,title:e.title,filename:e.filename,providerMetadata:e.providerMetadata}),l();break;case"tool-input-start":{const t=a.message.parts.filter(ss);a.partialToolCalls[e.toolCallId]={text:"",toolName:e.toolName,index:t.length,dynamic:e.dynamic},e.dynamic?f({toolCallId:e.toolCallId,toolName:e.toolName,state:"input-streaming",input:void 0}):g({toolCallId:e.toolCallId,toolName:e.toolName,state:"input-streaming",input:void 0,providerExecuted:e.providerExecuted}),l();break}case"tool-input-delta":{const t=a.partialToolCalls[e.toolCallId];t.text+=e.inputTextDelta;const{value:r}=await as(t.text);t.dynamic?f({toolCallId:e.toolCallId,toolName:t.toolName,state:"input-streaming",input:r}):g({toolCallId:e.toolCallId,toolName:t.toolName,state:"input-streaming",input:r}),l();break}case"tool-input-available":e.dynamic?f({toolCallId:e.toolCallId,toolName:e.toolName,state:"input-available",input:e.input,providerMetadata:e.providerMetadata}):g({toolCallId:e.toolCallId,toolName:e.toolName,state:"input-available",input:e.input,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata}),l(),o&&!e.providerExecuted&&await o({toolCall:e});break;case"tool-input-error":e.dynamic?f({toolCallId:e.toolCallId,toolName:e.toolName,state:"output-error",input:e.input,errorText:e.errorText,providerMetadata:e.providerMetadata}):g({toolCallId:e.toolCallId,toolName:e.toolName,state:"output-error",input:void 0,rawInput:e.input,errorText:e.errorText,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata}),l();break;case"tool-output-available":if(e.dynamic){const t=h(e.toolCallId);f({toolCallId:e.toolCallId,toolName:t.toolName,state:"output-available",input:t.input,output:e.output,preliminary:e.preliminary})}else{const t=m(e.toolCallId);g({toolCallId:e.toolCallId,toolName:is(t),state:"output-available",input:t.input,output:e.output,providerExecuted:e.providerExecuted,preliminary:e.preliminary})}l();break;case"tool-output-error":if(e.dynamic){const t=h(e.toolCallId);f({toolCallId:e.toolCallId,toolName:t.toolName,state:"output-error",input:t.input,errorText:e.errorText})}else{const t=m(e.toolCallId);g({toolCallId:e.toolCallId,toolName:is(t),state:"output-error",input:t.input,rawInput:t.rawInput,errorText:e.errorText})}l();break;case"start-step":a.message.parts.push({type:"step-start"});break;case"finish-step":a.activeTextParts={},a.activeReasoningParts={};break;case"start":null!=e.messageId&&(a.message.id=e.messageId),await y(e.messageMetadata),null==e.messageId&&null==e.messageMetadata||l();break;case"finish":case"message-metadata":await y(e.messageMetadata),null!=e.messageMetadata&&l();break;case"error":null==s||s(new Error(e.errorText));break;default:if(function(e){return e.type.startsWith("data-")}(e)){null!=(null==r?void 0:r[e.type])&&await(0,v.validateTypes)({value:e.data,schema:r[e.type]});const t=e;if(t.transient){null==n||n(t);break}const s=null!=t.id?a.message.parts.find(e=>t.type===e.type&&t.id===e.id):void 0;null!=s?s.data=t.data:a.message.parts.push(t),null==n||n(t),l()}}i.enqueue(e)})}}))}function ps({messageId:e,originalMessages:t=[],onFinish:r,onError:a,stream:s}){let o=null==t?void 0:t[t.length-1];"assistant"!==(null==o?void 0:o.role)?o=void 0:e=o.id;let n=!1;const i=s.pipeThrough(new TransformStream({transform(t,r){if("start"===t.type){const r=t;null==r.messageId&&null!=e&&(r.messageId=e)}"abort"===t.type&&(n=!0),r.enqueue(t)}}));if(null==r)return i;const l=us({lastMessage:o?structuredClone(o):void 0,messageId:null!=e?e:""});let u=!1;const d=async()=>{if(u||!r)return;u=!0;const e=l.message.id===(null==o?void 0:o.id);await r({isAborted:n,isContinuation:e,responseMessage:l.message,messages:[...e?t.slice(0,-1):t,l.message]})};return ds({stream:i,runUpdateMessageJob:async e=>{await e({state:l,write:()=>{}})},onError:a}).pipeThrough(new TransformStream({transform(e,t){t.enqueue(e)},async cancel(){await d()},async flush(){await d()}}))}function cs({response:e,status:t,statusText:r,headers:a,stream:s,consumeSseStream:o}){let n=s.pipeThrough(new Za);if(o){const[e,t]=n.tee();n=e,o({stream:t})}za({response:e,status:t,statusText:r,headers:Object.fromEntries(Ka(a,Qa).entries()),stream:n.pipeThrough(new TextEncoderStream)})}function ms(e){const t=e.pipeThrough(new TransformStream);return t[Symbol.asyncIterator]=function(){const e=this.getReader();let t=!1;async function r(r){var a;t=!0;try{r&&await(null==(a=e.cancel)?void 0:a.call(e))}finally{try{e.releaseLock()}catch(e){}}}return{async next(){if(t)return{done:!0,value:void 0};const{done:a,value:s}=await e.read();return a?(await r(!0),{done:!0,value:void 0}):{done:!1,value:s}},return:async()=>(await r(!0),{done:!0,value:void 0}),async throw(e){throw await r(!0),e}}},t}async function hs({stream:e,onError:t}){const r=e.getReader();try{for(;;){const{done:e}=await r.read();if(e)break}}catch(e){null==t||t(e)}finally{r.releaseLock()}}function gs(){let e,t;return{promise:new Promise((r,a)=>{e=r,t=a}),resolve:e,reject:t}}function fs(){let e=[],t=null,r=!1,a=gs();const s=()=>{r=!0,a.resolve(),e.forEach(e=>e.cancel()),e=[],null==t||t.close()},o=async()=>{if(r&&0===e.length)null==t||t.close();else{if(0===e.length)return a=gs(),await a.promise,o();try{const{value:a,done:s}=await e[0].read();s?(e.shift(),e.length>0?await o():r&&(null==t||t.close())):null==t||t.enqueue(a)}catch(r){null==t||t.error(r),e.shift(),s()}}};return{stream:new ReadableStream({start(e){t=e},pull:o,async cancel(){for(const t of e)await t.cancel();e=[],r=!0}}),addStream:t=>{if(r)throw new Error("Cannot add inner stream: outer stream is closed");e.push(t.getReader()),a.resolve()},close:()=>{r=!0,a.resolve(),0===e.length&&(null==t||t.close())},terminate:s}}var ys=class{constructor(){this.status={type:"pending"},this._resolve=void 0,this._reject=void 0}get promise(){return this._promise||(this._promise=new Promise((e,t)=>{"resolved"===this.status.type?e(this.status.value):"rejected"===this.status.type&&t(this.status.error),this._resolve=e,this._reject=t})),this._promise}resolve(e){var t;this.status={type:"resolved",value:e},this._promise&&(null==(t=this._resolve)||t.call(this,e))}reject(e){var t;this.status={type:"rejected",error:e},this._promise&&(null==(t=this._reject)||t.call(this,e))}};function vs(){var e,t;return null!=(t=null==(e=null==globalThis?void 0:globalThis.performance)?void 0:e.now())?t:Date.now()}var ws=(0,v.createIdGenerator)({prefix:"aitxt",size:24});function bs({model:e,tools:t,toolChoice:r,system:a,prompt:s,messages:o,maxRetries:n,abortSignal:i,headers:l,stopWhen:u=qa(1),experimental_output:d,experimental_telemetry:p,prepareStep:c,providerOptions:m,experimental_activeTools:h,activeTools:g=h,experimental_repairToolCall:f,experimental_transform:y,experimental_download:v,includeRawChunks:w=!1,onChunk:b,onError:I=({error:e})=>{console.error(e)},onFinish:x,onAbort:S,onStepFinish:T,experimental_context:M,_internal:{now:E=vs,generateId:k=ws,currentDate:C=()=>new Date}={},...R}){return new Is({model:Nr(e),telemetry:p,headers:l,settings:R,maxRetries:n,abortSignal:i,system:a,prompt:s,messages:o,tools:t,toolChoice:r,transforms:Ma(y),activeTools:g,repairToolCall:f,stopConditions:Ma(u),output:d,providerOptions:m,prepareStep:c,includeRawChunks:w,onChunk:b,onError:I,onFinish:x,onAbort:S,onStepFinish:T,now:E,currentDate:C,generateId:k,experimental_context:M,download:v})}var Is=class{constructor({model:e,telemetry:t,headers:r,settings:a,maxRetries:s,abortSignal:o,system:n,prompt:i,messages:l,tools:u,toolChoice:d,transforms:p,activeTools:c,repairToolCall:m,stopConditions:h,output:g,providerOptions:f,prepareStep:y,includeRawChunks:w,now:b,currentDate:I,generateId:x,onChunk:S,onError:T,onFinish:M,onAbort:E,onStepFinish:k,experimental_context:C,download:R}){let _;this._totalUsage=new ys,this._finishReason=new ys,this._steps=new ys,this.output=g,this.includeRawChunks=w,this.tools=u;let N=[];const O=[];let A,j,q={},P=[];const D=[];let U,Y={},$={};const F=new TransformStream({async transform(e,t){var r,a,s,o;t.enqueue(e);const{part:n}=e;if("text-delta"!==n.type&&"reasoning-delta"!==n.type&&"source"!==n.type&&"tool-call"!==n.type&&"tool-result"!==n.type&&"tool-input-start"!==n.type&&"tool-input-delta"!==n.type&&"raw"!==n.type||await(null==S?void 0:S({chunk:n})),"error"===n.type&&await T({error:ca(n.error)}),"text-start"===n.type&&(Y[n.id]={type:"text",text:"",providerMetadata:n.providerMetadata},N.push(Y[n.id])),"text-delta"===n.type){const e=Y[n.id];if(null==e)return void t.enqueue({part:{type:"error",error:`text part ${n.id} not found`},partialOutput:void 0});e.text+=n.text,e.providerMetadata=null!=(r=n.providerMetadata)?r:e.providerMetadata}if("text-end"===n.type){const e=Y[n.id];if(null==e)return void t.enqueue({part:{type:"error",error:`text part ${n.id} not found`},partialOutput:void 0});e.providerMetadata=null!=(a=n.providerMetadata)?a:e.providerMetadata,delete Y[n.id]}if("reasoning-start"===n.type&&($[n.id]={type:"reasoning",text:"",providerMetadata:n.providerMetadata},N.push($[n.id])),"reasoning-delta"===n.type){const e=$[n.id];if(null==e)return void t.enqueue({part:{type:"error",error:`reasoning part ${n.id} not found`},partialOutput:void 0});e.text+=n.text,e.providerMetadata=null!=(s=n.providerMetadata)?s:e.providerMetadata}if("reasoning-end"===n.type){const e=$[n.id];if(null==e)return void t.enqueue({part:{type:"error",error:`reasoning part ${n.id} not found`},partialOutput:void 0});e.providerMetadata=null!=(o=n.providerMetadata)?o:e.providerMetadata,delete $[n.id]}if("file"===n.type&&N.push({type:"file",file:n.file}),"source"===n.type&&N.push(n),"tool-call"===n.type&&N.push(n),"tool-result"!==n.type||n.preliminary||N.push(n),"tool-error"===n.type&&N.push(n),"start-step"===n.type&&(q=n.request,P=n.warnings),"finish-step"===n.type){const e=$a({content:N,tools:u}),t=new ja({content:N,finishReason:n.finishReason,usage:n.usage,warnings:P,request:q,response:{...n.response,messages:[...O,...e]},providerMetadata:n.providerMetadata});await(null==k?void 0:k(t)),ht(P),D.push(t),N=[],$={},Y={},O.push(...e),_.resolve()}"finish"===n.type&&(j=n.totalUsage,A=n.finishReason)},async flush(e){try{if(0===D.length){const e=new Kt({message:"No output generated. Check the stream for errors."});return W._finishReason.reject(e),W._totalUsage.reject(e),void W._steps.reject(e)}const e=null!=A?A:"unknown",r=null!=j?j:{inputTokens:void 0,outputTokens:void 0,totalTokens:void 0};W._finishReason.resolve(e),W._totalUsage.resolve(r),W._steps.resolve(D);const a=D[D.length-1];await(null==M?void 0:M({finishReason:e,totalUsage:r,usage:a.usage,content:a.content,text:a.text,reasoningText:a.reasoningText,reasoning:a.reasoning,files:a.files,sources:a.sources,toolCalls:a.toolCalls,staticToolCalls:a.staticToolCalls,dynamicToolCalls:a.dynamicToolCalls,toolResults:a.toolResults,staticToolResults:a.staticToolResults,dynamicToolResults:a.dynamicToolResults,request:a.request,response:a.response,warnings:a.warnings,providerMetadata:a.providerMetadata,steps:D})),U.setAttributes(Ia({telemetry:t,attributes:{"ai.response.finishReason":e,"ai.response.text":{output:()=>a.text},"ai.response.toolCalls":{output:()=>{var e;return(null==(e=a.toolCalls)?void 0:e.length)?JSON.stringify(a.toolCalls):void 0}},"ai.response.providerMetadata":JSON.stringify(a.providerMetadata),"ai.usage.inputTokens":r.inputTokens,"ai.usage.outputTokens":r.outputTokens,"ai.usage.totalTokens":r.totalTokens,"ai.usage.reasoningTokens":r.reasoningTokens,"ai.usage.cachedInputTokens":r.cachedInputTokens}}))}catch(t){e.error(t)}finally{U.end()}}}),L=fs();this.addStream=L.addStream,this.closeStream=L.close;const J=L.stream.getReader();let V=new ReadableStream({async start(e){e.enqueue({type:"start"})},async pull(e){function t(){null==E||E({steps:D}),e.enqueue({type:"abort"}),e.close()}try{const{done:r,value:a}=await J.read();if(r)return void e.close();if(null==o?void 0:o.aborted)return void t();e.enqueue(a)}catch(r){(0,v.isAbortError)(r)&&(null==o?void 0:o.aborted)?t():e.error(r)}},cancel:e=>L.stream.cancel(e)});for(const e of p)V=V.pipeThrough(e({tools:u,stopStream(){L.terminate()}}));this.baseStream=V.pipeThrough(function(e){if(!e)return new TransformStream({transform(e,t){t.enqueue({part:e,partialOutput:void 0})}});let t,r="",a="",s="";function o({controller:e,partialOutput:r}){e.enqueue({part:{type:"text-delta",id:t,text:a},partialOutput:r}),a=""}return new TransformStream({async transform(n,i){if("finish-step"===n.type&&a.length>0&&o({controller:i}),"text-delta"!==n.type&&"text-start"!==n.type&&"text-end"!==n.type)return void i.enqueue({part:n,partialOutput:void 0});if(null==t)t=n.id;else if(n.id!==t)return void i.enqueue({part:n,partialOutput:void 0});if("text-start"===n.type)return void i.enqueue({part:n,partialOutput:void 0});if("text-end"===n.type)return a.length>0&&o({controller:i}),void i.enqueue({part:n,partialOutput:void 0});r+=n.text,a+=n.text;const l=await e.parsePartial({text:r});if(null!=l){const e=JSON.stringify(l.partial);e!==s&&(o({controller:i,partialOutput:l.partial}),s=e)}}})}(g)).pipeThrough(F);const{maxRetries:G,retry:B}=Ca({maxRetries:s,abortSignal:o}),K=va(t),H=Vr(a),z=ha({model:e,telemetry:t,headers:r,settings:{...H,maxRetries:G}}),W=this;wa({name:"ai.streamText",attributes:Ia({telemetry:t,attributes:{...ma({operationId:"ai.streamText",telemetry:t}),...z,"ai.prompt":{input:()=>JSON.stringify({system:n,prompt:i,messages:l})}}}),tracer:K,endWhenDone:!1,fn:async a=>{U=a,await async function a({currentStep:s,responseMessages:p,usage:w}){var S,T,M,E,k;const N=W.includeRawChunks;_=new ys;const O=await pa({system:n,prompt:i,messages:l}),A=[...O.messages,...p],j=await(null==y?void 0:y({model:e,steps:D,stepNumber:D.length,messages:A})),q=await Jr({prompt:{system:null!=(S=null==j?void 0:j.system)?S:O.system,messages:null!=(T=null==j?void 0:j.messages)?T:A},supportedUrls:await e.supportedUrls,download:R}),P=Nr(null!=(M=null==j?void 0:j.model)?M:e),{toolChoice:U,tools:Y}=Gr({tools:u,toolChoice:null!=(E=null==j?void 0:j.toolChoice)?E:d,activeTools:null!=(k=null==j?void 0:j.activeTools)?k:c}),{result:{stream:$,response:F,request:L},doStreamSpan:J,startTimestampMs:V}=await B(()=>wa({name:"ai.streamText.doStream",attributes:Ia({telemetry:t,attributes:{...ma({operationId:"ai.streamText.doStream",telemetry:t}),...z,"ai.model.provider":P.provider,"ai.model.id":P.modelId,"ai.prompt.messages":{input:()=>xa(q)},"ai.prompt.tools":{input:()=>null==Y?void 0:Y.map(e=>JSON.stringify(e))},"ai.prompt.toolChoice":{input:()=>null!=U?JSON.stringify(U):void 0},"gen_ai.system":P.provider,"gen_ai.request.model":P.modelId,"gen_ai.request.frequency_penalty":H.frequencyPenalty,"gen_ai.request.max_tokens":H.maxOutputTokens,"gen_ai.request.presence_penalty":H.presencePenalty,"gen_ai.request.stop_sequences":H.stopSequences,"gen_ai.request.temperature":H.temperature,"gen_ai.request.top_k":H.topK,"gen_ai.request.top_p":H.topP}}),tracer:K,endWhenDone:!1,fn:async e=>({startTimestampMs:b(),doStreamSpan:e,result:await P.doStream({...H,tools:Y,toolChoice:U,responseFormat:null==g?void 0:g.responseFormat,prompt:q,providerOptions:f,abortSignal:o,headers:r,includeRawChunks:N})})})),G=function({tools:e,generatorStream:t,tracer:r,telemetry:a,system:s,messages:o,abortSignal:n,repairToolCall:i,experimental_context:l}){let u=null;const d=new ReadableStream({start(e){u=e}}),p=new Set,c=new Map;let m,h=!1;function g(){h&&0===p.size&&(null!=m&&u.enqueue(m),u.close())}const f=new TransformStream({async transform(t,d){const h=t.type;switch(h){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":d.enqueue(t);break;case"file":d.enqueue({type:"file",file:new Na({data:t.data,mediaType:t.mediaType})});break;case"finish":m={type:"finish",finishReason:t.finishReason,usage:t.usage,providerMetadata:t.providerMetadata};break;case"tool-call":try{const m=await Oa({toolCall:t,tools:e,repairToolCall:i,system:s,messages:o});if(d.enqueue(m),m.invalid){u.enqueue({type:"tool-error",toolCallId:m.toolCallId,toolName:m.toolName,input:m.input,error:(0,v.getErrorMessage)(m.error),dynamic:!0});break}const h=e[m.toolName];if(c.set(m.toolCallId,m.input),null!=h.onInputAvailable&&await h.onInputAvailable({input:m.input,toolCallId:m.toolCallId,messages:o,abortSignal:n,experimental_context:l}),null!=h.execute&&!0!==m.providerExecuted){const e=(0,v.generateId)();p.add(e),wa({name:"ai.toolCall",attributes:Ia({telemetry:a,attributes:{...ma({operationId:"ai.toolCall",telemetry:a}),"ai.toolCall.name":m.toolName,"ai.toolCall.id":m.toolCallId,"ai.toolCall.args":{output:()=>JSON.stringify(m.input)}}}),tracer:r,fn:async t=>{let r;try{const e=(0,v.executeTool)({execute:h.execute.bind(h),input:m.input,options:{toolCallId:m.toolCallId,messages:o,abortSignal:n,experimental_context:l}});for await(const t of e)u.enqueue({...m,type:"tool-result",output:t.output,..."preliminary"===t.type&&{preliminary:!0}}),"final"===t.type&&(r=t.output)}catch(r){return ba(t,r),u.enqueue({...m,type:"tool-error",error:r}),p.delete(e),void g()}p.delete(e),g();try{t.setAttributes(Ia({telemetry:a,attributes:{"ai.toolCall.result":{output:()=>JSON.stringify(r)}}}))}catch(e){}}})}}catch(e){u.enqueue({type:"error",error:e})}break;case"tool-result":{const e=t.toolName;t.isError?u.enqueue({type:"tool-error",toolCallId:t.toolCallId,toolName:e,input:c.get(t.toolCallId),providerExecuted:t.providerExecuted,error:t.result}):d.enqueue({type:"tool-result",toolCallId:t.toolCallId,toolName:e,input:c.get(t.toolCallId),output:t.result,providerExecuted:t.providerExecuted});break}default:throw new Error(`Unhandled chunk type: ${h}`)}},flush(){h=!0,g()}});return new ReadableStream({start:async e=>Promise.all([t.pipeThrough(f).pipeTo(new WritableStream({write(t){e.enqueue(t)},close(){}})),d.pipeTo(new WritableStream({write(t){e.enqueue(t)},close(){e.close()}}))])})}({tools:u,generatorStream:$,tracer:K,telemetry:t,system:n,messages:A,repairToolCall:m,abortSignal:o,experimental_context:C}),Z=null!=L?L:{},Q=[],X=[];let ee;const te={};let re,ae="unknown",se={inputTokens:void 0,outputTokens:void 0,totalTokens:void 0},oe=!0,ne={id:x(),timestamp:I(),modelId:e.modelId},ie="";W.addStream(G.pipeThrough(new TransformStream({async transform(e,t){var r,a,s,n;if("stream-start"===e.type)return void(ee=e.warnings);if(oe){const e=b()-V;oe=!1,J.addEvent("ai.stream.firstChunk",{"ai.response.msToFirstChunk":e}),J.setAttributes({"ai.response.msToFirstChunk":e}),t.enqueue({type:"start-step",request:Z,warnings:null!=ee?ee:[]})}const i=e.type;switch(i){case"text-start":case"text-end":case"reasoning-start":case"reasoning-end":case"file":case"source":t.enqueue(e);break;case"text-delta":e.delta.length>0&&(t.enqueue({type:"text-delta",id:e.id,text:e.delta,providerMetadata:e.providerMetadata}),ie+=e.delta);break;case"reasoning-delta":t.enqueue({type:"reasoning-delta",id:e.id,text:e.delta,providerMetadata:e.providerMetadata});break;case"tool-call":t.enqueue(e),Q.push(e);break;case"tool-result":t.enqueue(e),e.preliminary||X.push(e);break;case"tool-error":t.enqueue(e),X.push(e);break;case"response-metadata":ne={id:null!=(r=e.id)?r:ne.id,timestamp:null!=(a=e.timestamp)?a:ne.timestamp,modelId:null!=(s=e.modelId)?s:ne.modelId};break;case"finish":{se=e.usage,ae=e.finishReason,re=e.providerMetadata;const t=b()-V;J.addEvent("ai.stream.finish"),J.setAttributes({"ai.response.msToFinish":t,"ai.response.avgOutputTokensPerSecond":1e3*(null!=(n=se.outputTokens)?n:0)/t});break}case"tool-input-start":{te[e.id]=e.toolName;const r=null==u?void 0:u[e.toolName];null!=(null==r?void 0:r.onInputStart)&&await r.onInputStart({toolCallId:e.id,messages:A,abortSignal:o,experimental_context:C}),t.enqueue({...e,dynamic:"dynamic"===(null==r?void 0:r.type)});break}case"tool-input-end":delete te[e.id],t.enqueue(e);break;case"tool-input-delta":{const r=te[e.id],a=null==u?void 0:u[r];null!=(null==a?void 0:a.onInputDelta)&&await a.onInputDelta({inputTextDelta:e.delta,toolCallId:e.id,messages:A,abortSignal:o,experimental_context:C}),t.enqueue(e);break}case"error":t.enqueue(e),ae="error";break;case"raw":N&&t.enqueue(e);break;default:throw new Error(`Unknown chunk type: ${i}`)}},async flush(e){const r=Q.length>0?JSON.stringify(Q):void 0;try{J.setAttributes(Ia({telemetry:t,attributes:{"ai.response.finishReason":ae,"ai.response.text":{output:()=>ie},"ai.response.toolCalls":{output:()=>r},"ai.response.id":ne.id,"ai.response.model":ne.modelId,"ai.response.timestamp":ne.timestamp.toISOString(),"ai.response.providerMetadata":JSON.stringify(re),"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":[ae],"gen_ai.response.id":ne.id,"gen_ai.response.model":ne.modelId,"gen_ai.usage.input_tokens":se.inputTokens,"gen_ai.usage.output_tokens":se.outputTokens}}))}catch(e){}finally{J.end()}e.enqueue({type:"finish-step",finishReason:ae,usage:se,providerMetadata:re,response:{...ne,headers:null==F?void 0:F.headers}});const o=Sa(w,se);await _.promise;const n=Q.filter(e=>!0!==e.providerExecuted),i=X.filter(e=>!0!==e.providerExecuted);if(n.length>0&&i.length===n.length&&!await Da({stopConditions:h,steps:D})){p.push(...$a({content:D[D.length-1].content,tools:u}));try{await a({currentStep:s+1,responseMessages:p,usage:o})}catch(t){e.enqueue({type:"error",error:t}),W.closeStream()}}else e.enqueue({type:"finish",finishReason:ae,totalUsage:o}),W.closeStream()}})))}({currentStep:0,responseMessages:[],usage:{inputTokens:void 0,outputTokens:void 0,totalTokens:void 0}})}}).catch(e=>{W.addStream(new ReadableStream({start(t){t.enqueue({type:"error",error:e}),t.close()}})),W.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 ms(this.teeStream().pipeThrough(new TransformStream({transform({part:e},t){"text-delta"===e.type&&t.enqueue(e.text)}})))}get fullStream(){return ms(this.teeStream().pipeThrough(new TransformStream({transform({part:e},t){t.enqueue(e)}})))}async consumeStream(e){var t;try{await hs({stream:this.fullStream,onError:null==e?void 0:e.onError})}catch(r){null==(t=null==e?void 0:e.onError)||t.call(e,r)}}get experimental_partialOutputStream(){if(null==this.output)throw new dt;return ms(this.teeStream().pipeThrough(new TransformStream({transform({partialOutput:e},t){null!=e&&t.enqueue(e)}})))}toUIMessageStream({originalMessages:e,generateMessageId:t,onFinish:r,messageMetadata:a,sendReasoning:s=!0,sendSources:o=!1,sendStart:n=!0,sendFinish:i=!0,onError:l=y.u1}={}){const u=null!=t?function({originalMessages:e,responseMessageId:t}){if(null==e)return;const r=e[e.length-1];return"assistant"===(null==r?void 0:r.role)?r.id:"function"==typeof t?t():t}({originalMessages:e,responseMessageId:t}):void 0,d={},p=e=>{var t,r;const a=d[e];return!("dynamic"!==(null==(r=null==(t=this.tools)?void 0:t[a])?void 0:r.type))||void 0};return ms(ps({stream:this.fullStream.pipeThrough(new TransformStream({transform:async(e,t)=>{const r=null==a?void 0:a({part:e}),c=e.type;switch(c){case"text-start":t.enqueue({type:"text-start",id:e.id,...null!=e.providerMetadata?{providerMetadata:e.providerMetadata}:{}});break;case"text-delta":t.enqueue({type:"text-delta",id:e.id,delta:e.text,...null!=e.providerMetadata?{providerMetadata:e.providerMetadata}:{}});break;case"text-end":t.enqueue({type:"text-end",id:e.id,...null!=e.providerMetadata?{providerMetadata:e.providerMetadata}:{}});break;case"reasoning-start":t.enqueue({type:"reasoning-start",id:e.id,...null!=e.providerMetadata?{providerMetadata:e.providerMetadata}:{}});break;case"reasoning-delta":s&&t.enqueue({type:"reasoning-delta",id:e.id,delta:e.text,...null!=e.providerMetadata?{providerMetadata:e.providerMetadata}:{}});break;case"reasoning-end":t.enqueue({type:"reasoning-end",id:e.id,...null!=e.providerMetadata?{providerMetadata:e.providerMetadata}:{}});break;case"file":t.enqueue({type:"file",mediaType:e.file.mediaType,url:`data:${e.file.mediaType};base64,${e.file.base64}`});break;case"source":o&&"url"===e.sourceType&&t.enqueue({type:"source-url",sourceId:e.id,url:e.url,title:e.title,...null!=e.providerMetadata?{providerMetadata:e.providerMetadata}:{}}),o&&"document"===e.sourceType&&t.enqueue({type:"source-document",sourceId:e.id,mediaType:e.mediaType,title:e.title,filename:e.filename,...null!=e.providerMetadata?{providerMetadata:e.providerMetadata}:{}});break;case"tool-input-start":{d[e.id]=e.toolName;const r=p(e.id);t.enqueue({type:"tool-input-start",toolCallId:e.id,toolName:e.toolName,...null!=e.providerExecuted?{providerExecuted:e.providerExecuted}:{},...null!=r?{dynamic:r}:{}});break}case"tool-input-delta":t.enqueue({type:"tool-input-delta",toolCallId:e.id,inputTextDelta:e.delta});break;case"tool-call":{d[e.toolCallId]=e.toolName;const r=p(e.toolCallId);e.invalid?t.enqueue({type:"tool-input-error",toolCallId:e.toolCallId,toolName:e.toolName,input:e.input,...null!=e.providerExecuted?{providerExecuted:e.providerExecuted}:{},...null!=e.providerMetadata?{providerMetadata:e.providerMetadata}:{},...null!=r?{dynamic:r}:{},errorText:l(e.error)}):t.enqueue({type:"tool-input-available",toolCallId:e.toolCallId,toolName:e.toolName,input:e.input,...null!=e.providerExecuted?{providerExecuted:e.providerExecuted}:{},...null!=e.providerMetadata?{providerMetadata:e.providerMetadata}:{},...null!=r?{dynamic:r}:{}});break}case"tool-result":{const r=p(e.toolCallId);t.enqueue({type:"tool-output-available",toolCallId:e.toolCallId,output:e.output,...null!=e.providerExecuted?{providerExecuted:e.providerExecuted}:{},...null!=e.preliminary?{preliminary:e.preliminary}:{},...null!=r?{dynamic:r}:{}});break}case"tool-error":{const r=p(e.toolCallId);t.enqueue({type:"tool-output-error",toolCallId:e.toolCallId,errorText:l(e.error),...null!=e.providerExecuted?{providerExecuted:e.providerExecuted}:{},...null!=r?{dynamic:r}:{}});break}case"error":t.enqueue({type:"error",errorText:l(e.error)});break;case"start-step":t.enqueue({type:"start-step"});break;case"finish-step":t.enqueue({type:"finish-step"});break;case"start":n&&t.enqueue({type:"start",...null!=r?{messageMetadata:r}:{},...null!=u?{messageId:u}:{}});break;case"finish":i&&t.enqueue({type:"finish",...null!=r?{messageMetadata:r}:{}});break;case"abort":t.enqueue(e);break;case"tool-input-end":case"raw":break;default:throw new Error(`Unknown chunk type: ${c}`)}null!=r&&"start"!==c&&"finish"!==c&&t.enqueue({type:"message-metadata",messageMetadata:r})}})),messageId:null!=u?u:null==t?void 0:t(),originalMessages:e,onFinish:r,onError:l}))}pipeUIMessageStreamToResponse(e,{originalMessages:t,generateMessageId:r,onFinish:a,messageMetadata:s,sendReasoning:o,sendSources:n,sendFinish:i,sendStart:l,onError:u,...d}={}){cs({response:e,stream:this.toUIMessageStream({originalMessages:t,generateMessageId:r,onFinish:a,messageMetadata:s,sendReasoning:o,sendSources:n,sendFinish:i,sendStart:l,onError:u}),...d})}pipeTextStreamToResponse(e,t){Wa({response:e,textStream:this.textStream,...t})}toUIMessageStreamResponse({originalMessages:e,generateMessageId:t,onFinish:r,messageMetadata:a,sendReasoning:s,sendSources:o,sendFinish:n,sendStart:i,onError:l,...u}={}){return Xa({stream:this.toUIMessageStream({originalMessages:e,generateMessageId:t,onFinish:r,messageMetadata:a,sendReasoning:s,sendSources:o,sendFinish:n,sendStart:i,onError:l}),...u})}toTextStreamResponse(e){return Ha({textStream:this.textStream,...e})}};function xs(e,t){const r=[];(null==t?void 0:t.ignoreIncompleteToolCalls)&&(e=e.map(e=>({...e,parts:e.parts.filter(e=>!ns(e)||"input-streaming"!==e.state&&"input-available"!==e.state)})));for(const a of e)switch(a.role){case"system":{const e=a.parts.filter(e=>"text"===e.type),t=e.reduce((e,t)=>null!=t.providerMetadata?{...e,...t.providerMetadata}:e,{});r.push({role:"system",content:e.map(e=>e.text).join(""),...Object.keys(t).length>0?{providerOptions:t}:{}});break}case"user":r.push({role:"user",content:a.parts.filter(e=>"text"===e.type||"file"===e.type).map(e=>{switch(e.type){case"text":return{type:"text",text:e.text,...null!=e.providerMetadata?{providerOptions:e.providerMetadata}:{}};case"file":return{type:"file",mediaType:e.mediaType,filename:e.filename,data:e.url,...null!=e.providerMetadata?{providerOptions:e.providerMetadata}:{}};default:return e}})});break;case"assistant":if(null!=a.parts){let e=function(){var e,a;if(0===s.length)return;const o=[];for(const r of s)if("text"===r.type)o.push({type:"text",text:r.text,...null!=r.providerMetadata?{providerOptions:r.providerMetadata}:{}});else if("file"===r.type)o.push({type:"file",mediaType:r.mediaType,filename:r.filename,data:r.url});else if("reasoning"===r.type)o.push({type:"reasoning",text:r.text,providerOptions:r.providerMetadata});else if("dynamic-tool"===r.type){const e=r.toolName;"input-streaming"!==r.state&&o.push({type:"tool-call",toolCallId:r.toolCallId,toolName:e,input:r.input,...null!=r.callProviderMetadata?{providerOptions:r.callProviderMetadata}:{}})}else{if(!ss(r))throw new Error(`Unsupported part: ${r}`);{const s=is(r);"input-streaming"!==r.state&&(o.push({type:"tool-call",toolCallId:r.toolCallId,toolName:s,input:"output-error"===r.state?null!=(e=r.input)?e:r.rawInput:r.input,providerExecuted:r.providerExecuted,...null!=r.callProviderMetadata?{providerOptions:r.callProviderMetadata}:{}}),!0!==r.providerExecuted||"output-available"!==r.state&&"output-error"!==r.state||o.push({type:"tool-result",toolCallId:r.toolCallId,toolName:s,output:Ua({output:"output-error"===r.state?r.errorText:r.output,tool:null==(a=null==t?void 0:t.tools)?void 0:a[s],errorMode:"output-error"===r.state?"json":"none"})}))}}r.push({role:"assistant",content:o});const n=s.filter(e=>ss(e)&&!0!==e.providerExecuted||"dynamic-tool"===e.type);n.length>0&&r.push({role:"tool",content:n.map(e=>{var r;switch(e.state){case"output-error":case"output-available":{const a="dynamic-tool"===e.type?e.toolName:is(e);return{type:"tool-result",toolCallId:e.toolCallId,toolName:a,output:Ua({output:"output-error"===e.state?e.errorText:e.output,tool:null==(r=null==t?void 0:t.tools)?void 0:r[a],errorMode:"output-error"===e.state?"text":"none"})}}default:return null}}).filter(e=>null!=e)}),s=[]},s=[];for(const t of a.parts)"text"===t.type||"reasoning"===t.type||"file"===t.type||"dynamic-tool"===t.type||ss(t)?s.push(t):"step-start"===t.type&&e();e();break}break;default:{const e=a.role;throw new br({originalMessage:a,message:`Unsupported role: ${e}`})}}return r}var Ss=xs,Ts=class{constructor(e){this.settings=e}get tools(){return this.settings.tools}async generate(e){return La({...this.settings,...e})}stream(e){return bs({...this.settings,...e})}respond(e){return this.stream({prompt:xs(e.messages)}).toUIMessageStreamResponse()}};async function Ms({model:e,value:t,providerOptions:r,maxRetries:a,abortSignal:s,headers:o,experimental_telemetry:n}){const i=Or(e),{maxRetries:l,retry:u}=Ca({maxRetries:a,abortSignal:s}),d=(0,v.withUserAgentSuffix)(null!=o?o:{},`ai/${Ur}`),p=ha({model:i,telemetry:n,headers:d,settings:{maxRetries:l}}),c=va(n);return wa({name:"ai.embed",attributes:Ia({telemetry:n,attributes:{...ma({operationId:"ai.embed",telemetry:n}),...p,"ai.value":{input:()=>JSON.stringify(t)}}}),tracer:c,fn:async e=>{const{embedding:a,usage:o,response:l,providerMetadata:m}=await u(()=>wa({name:"ai.embed.doEmbed",attributes:Ia({telemetry:n,attributes:{...ma({operationId:"ai.embed.doEmbed",telemetry:n}),...p,"ai.values":{input:()=>[JSON.stringify(t)]}}}),tracer:c,fn:async e=>{var a;const o=await i.doEmbed({values:[t],abortSignal:s,headers:d,providerOptions:r}),l=o.embeddings[0],u=null!=(a=o.usage)?a:{tokens:NaN};return e.setAttributes(Ia({telemetry:n,attributes:{"ai.embeddings":{output:()=>o.embeddings.map(e=>JSON.stringify(e))},"ai.usage.tokens":u.tokens}})),{embedding:l,usage:u,providerMetadata:o.providerMetadata,response:o.response}}}));return e.setAttributes(Ia({telemetry:n,attributes:{"ai.embedding":{output:()=>JSON.stringify(a)},"ai.usage.tokens":o.tokens}})),new Es({value:t,embedding:a,usage:o,providerMetadata:m,response:l})}})}var Es=class{constructor(e){this.value=e.value,this.embedding=e.embedding,this.usage=e.usage,this.providerMetadata=e.providerMetadata,this.response=e.response}};function ks(e,t){if(t<=0)throw new Error("chunkSize must be greater than 0");const r=[];for(let a=0;a<e.length;a+=t)r.push(e.slice(a,a+t));return r}async function Cs({model:e,values:t,maxParallelCalls:r=1/0,maxRetries:a,abortSignal:s,headers:o,providerOptions:n,experimental_telemetry:i}){const l=Or(e),{maxRetries:u,retry:d}=Ca({maxRetries:a,abortSignal:s}),p=(0,v.withUserAgentSuffix)(null!=o?o:{},`ai/${Ur}`),c=ha({model:l,telemetry:i,headers:p,settings:{maxRetries:u}}),m=va(i);return wa({name:"ai.embedMany",attributes:Ia({telemetry:i,attributes:{...ma({operationId:"ai.embedMany",telemetry:i}),...c,"ai.values":{input:()=>t.map(e=>JSON.stringify(e))}}}),tracer:m,fn:async e=>{var a;const[o,u]=await Promise.all([l.maxEmbeddingsPerCall,l.supportsParallelCalls]);if(null==o||o===1/0){const{embeddings:r,usage:a,response:o,providerMetadata:u}=await d(()=>wa({name:"ai.embedMany.doEmbed",attributes:Ia({telemetry:i,attributes:{...ma({operationId:"ai.embedMany.doEmbed",telemetry:i}),...c,"ai.values":{input:()=>t.map(e=>JSON.stringify(e))}}}),tracer:m,fn:async e=>{var r;const a=await l.doEmbed({values:t,abortSignal:s,headers:p,providerOptions:n}),o=a.embeddings,u=null!=(r=a.usage)?r:{tokens:NaN};return e.setAttributes(Ia({telemetry:i,attributes:{"ai.embeddings":{output:()=>o.map(e=>JSON.stringify(e))},"ai.usage.tokens":u.tokens}})),{embeddings:o,usage:u,providerMetadata:a.providerMetadata,response:a.response}}}));return e.setAttributes(Ia({telemetry:i,attributes:{"ai.embeddings":{output:()=>r.map(e=>JSON.stringify(e))},"ai.usage.tokens":a.tokens}})),new Rs({values:t,embeddings:r,usage:a,providerMetadata:u,responses:[o]})}const h=ks(t,o),g=[],f=[];let y,v=0;const w=ks(h,u?r:1);for(const e of w){const t=await Promise.all(e.map(e=>d(()=>wa({name:"ai.embedMany.doEmbed",attributes:Ia({telemetry:i,attributes:{...ma({operationId:"ai.embedMany.doEmbed",telemetry:i}),...c,"ai.values":{input:()=>e.map(e=>JSON.stringify(e))}}}),tracer:m,fn:async t=>{var r;const a=await l.doEmbed({values:e,abortSignal:s,headers:p,providerOptions:n}),o=a.embeddings,u=null!=(r=a.usage)?r:{tokens:NaN};return t.setAttributes(Ia({telemetry:i,attributes:{"ai.embeddings":{output:()=>o.map(e=>JSON.stringify(e))},"ai.usage.tokens":u.tokens}})),{embeddings:o,usage:u,providerMetadata:a.providerMetadata,response:a.response}}}))));for(const e of t)if(g.push(...e.embeddings),f.push(e.response),v+=e.usage.tokens,e.providerMetadata)if(y)for(const[t,r]of Object.entries(e.providerMetadata))y[t]={...null!=(a=y[t])?a:{},...r};else y={...e.providerMetadata}}return e.setAttributes(Ia({telemetry:i,attributes:{"ai.embeddings":{output:()=>g.map(e=>JSON.stringify(e))},"ai.usage.tokens":v}})),new Rs({values:t,embeddings:g,usage:{tokens:v},providerMetadata:y,responses:f})}})}var Rs=class{constructor(e){this.values=e.values,this.embeddings=e.embeddings,this.usage=e.usage,this.providerMetadata=e.providerMetadata,this.responses=e.responses}};async function _s({model:e,prompt:t,n:r=1,maxImagesPerCall:a,size:s,aspectRatio:o,seed:n,providerOptions:i,maxRetries:l,abortSignal:u,headers:d}){var p;if("v2"!==e.specificationVersion)throw new nr({version:e.specificationVersion,provider:e.provider,modelId:e.modelId});const c=(0,v.withUserAgentSuffix)(null!=d?d:{},`ai/${Ur}`),{retry:m}=Ca({maxRetries:l,abortSignal:u}),h=null!=(p=null!=a?a:await async function(e){return e.maxImagesPerCall instanceof Function?e.maxImagesPerCall({modelId:e.modelId}):e.maxImagesPerCall}(e))?p:1,g=Math.ceil(r/h),f=Array.from({length:g},(e,t)=>{if(t<g-1)return h;const a=r%h;return 0===a?h:a}),y=await Promise.all(f.map(async r=>m(()=>e.doGenerate({prompt:t,n:r,abortSignal:u,headers:c,size:s,aspectRatio:o,seed:n,providerOptions:null!=i?i:{}})))),w=[],b=[],I=[],x={};for(const e of y){if(w.push(...e.images.map(e=>{var t;return new _a({data:e,mediaType:null!=(t=Dr({data:e,signatures:jr}))?t:"image/png"})})),b.push(...e.warnings),e.providerMetadata)for(const[t,r]of Object.entries(e.providerMetadata))null!=x[t]||(x[t]={images:[]}),x[t].images.push(...e.providerMetadata[t].images);I.push(e.response)}if(ht(b),!w.length)throw new Dt({responses:I});return new Ns({images:w,warnings:b,responses:I,providerMetadata:x})}var Ns=class{constructor(e){this.images=e.images,this.warnings=e.warnings,this.responses=e.responses,this.providerMetadata=e.providerMetadata}get image(){return this.images[0]}},Os={type:"no-schema",jsonSchema:void 0,validatePartialResult:async({value:e,textDelta:t})=>({success:!0,value:{partial:e,textDelta:t}}),validateFinalResult:async(e,t)=>void 0===e?{success:!1,error:new Lt({message:"No object generated: response did not match schema.",text:t.text,response:t.response,usage:t.usage,finishReason:t.finishReason})}:{success:!0,value:e},createElementStream(){throw new y.b8({functionality:"element streams in no-schema mode"})}},As=e=>({type:"object",jsonSchema:e.jsonSchema,validatePartialResult:async({value:e,textDelta:t})=>({success:!0,value:{partial:e,textDelta:t}}),validateFinalResult:async t=>(0,v.safeValidateTypes)({value:t,schema:e}),createElementStream(){throw new y.b8({functionality:"element streams in object mode"})}}),js=e=>{const{$schema:t,...r}=e.jsonSchema;return{type:"enum",jsonSchema:{$schema:"http://json-schema.org/draft-07/schema#",type:"object",properties:{elements:{type:"array",items:r}},required:["elements"],additionalProperties:!1},async validatePartialResult({value:t,latestObject:r,isFirstDelta:a,isFinalDelta:s}){var o;if(!(0,y.k9)(t)||!(0,y.cj)(t.elements))return{success:!1,error:new y.iM({value:t,cause:"value must be an object that contains an array of elements"})};const n=t.elements,i=[];for(let t=0;t<n.length;t++){const r=n[t],a=await(0,v.safeValidateTypes)({value:r,schema:e});if(t!==n.length-1||s){if(!a.success)return a;i.push(a.value)}}const l=null!=(o=null==r?void 0:r.length)?o:0;let u="";return a&&(u+="["),l>0&&(u+=","),u+=i.slice(l).map(e=>JSON.stringify(e)).join(","),s&&(u+="]"),{success:!0,value:{partial:i,textDelta:u}}},async validateFinalResult(t){if(!(0,y.k9)(t)||!(0,y.cj)(t.elements))return{success:!1,error:new y.iM({value:t,cause:"value must be an object that contains an array of elements"})};const r=t.elements;for(const t of r){const r=await(0,v.safeValidateTypes)({value:t,schema:e});if(!r.success)return r}return{success:!0,value:r}},createElementStream(e){let t=0;return ms(e.pipeThrough(new TransformStream({transform(e,r){switch(e.type){case"object":{const a=e.object;for(;t<a.length;t++)r.enqueue(a[t]);break}case"text-delta":case"finish":case"error":break;default:throw new Error(`Unsupported chunk type: ${e}`)}}})))}}},qs=e=>({type:"enum",jsonSchema:{$schema:"http://json-schema.org/draft-07/schema#",type:"object",properties:{result:{type:"string",enum:e}},required:["result"],additionalProperties:!1},async validateFinalResult(t){if(!(0,y.k9)(t)||"string"!=typeof t.result)return{success:!1,error:new y.iM({value:t,cause:'value must be an object that contains a string in the "result" property.'})};const r=t.result;return e.includes(r)?{success:!0,value:r}:{success:!1,error:new y.iM({value:t,cause:"value must be a string in the enum"})}},async validatePartialResult({value:t,textDelta:r}){if(!(0,y.k9)(t)||"string"!=typeof t.result)return{success:!1,error:new y.iM({value:t,cause:'value must be an object that contains a string in the "result" property.'})};const a=t.result,s=e.filter(e=>e.startsWith(a));return 0===t.result.length||0===s.length?{success:!1,error:new y.iM({value:t,cause:"value must be a string in the enum"})}:{success:!0,value:{partial:s.length>1?a:s[0],textDelta:r}}},createElementStream(){throw new y.b8({functionality:"element streams in enum mode"})}});function Ps({output:e,schema:t,enumValues:r}){switch(e){case"object":return As((0,v.asSchema)(t));case"array":return js((0,v.asSchema)(t));case"enum":return qs(r);case"no-schema":return Os;default:throw new Error(`Unsupported output: ${e}`)}}async function Ds(e,t,r){const a=await(0,v.safeParseJSON)({text:e});if(!a.success)throw new Lt({message:"No object generated: could not parse the response.",cause:a.error,text:e,response:r.response,usage:r.usage,finishReason:r.finishReason});const s=await t.validateFinalResult(a.value,{text:e,response:r.response,usage:r.usage});if(!s.success)throw new Lt({message:"No object generated: response did not match schema.",cause:s.error,text:e,response:r.response,usage:r.usage,finishReason:r.finishReason});return s.value}async function Us(e,t,r,a){try{return await Ds(e,t,a)}catch(s){if(null!=r&&Lt.isInstance(s)&&(y.u6.isInstance(s.cause)||y.iM.isInstance(s.cause))){const o=await r({text:e,error:s.cause});if(null===o)throw s;return await Ds(o,t,a)}throw s}}function Ys({output:e,schema:t,schemaName:r,schemaDescription:a,enumValues:s}){if(null!=e&&"object"!==e&&"array"!==e&&"enum"!==e&&"no-schema"!==e)throw new vt({parameter:"output",value:e,message:"Invalid output type."});if("no-schema"===e){if(null!=t)throw new vt({parameter:"schema",value:t,message:"Schema is not supported for no-schema output."});if(null!=a)throw new vt({parameter:"schemaDescription",value:a,message:"Schema description is not supported for no-schema output."});if(null!=r)throw new vt({parameter:"schemaName",value:r,message:"Schema name is not supported for no-schema output."});if(null!=s)throw new vt({parameter:"enumValues",value:s,message:"Enum values are not supported for no-schema output."})}if("object"===e){if(null==t)throw new vt({parameter:"schema",value:t,message:"Schema is required for object output."});if(null!=s)throw new vt({parameter:"enumValues",value:s,message:"Enum values are not supported for object output."})}if("array"===e){if(null==t)throw new vt({parameter:"schema",value:t,message:"Element schema is required for array output."});if(null!=s)throw new vt({parameter:"enumValues",value:s,message:"Enum values are not supported for array output."})}if("enum"===e){if(null!=t)throw new vt({parameter:"schema",value:t,message:"Schema is not supported for enum output."});if(null!=a)throw new vt({parameter:"schemaDescription",value:a,message:"Schema description is not supported for enum output."});if(null!=r)throw new vt({parameter:"schemaName",value:r,message:"Schema name is not supported for enum output."});if(null==s)throw new vt({parameter:"enumValues",value:s,message:"Enum values are required for enum output."});for(const e of s)if("string"!=typeof e)throw new vt({parameter:"enumValues",value:e,message:"Enum values must be strings."})}}var $s=(0,v.createIdGenerator)({prefix:"aiobj",size:24});async function Fs(e){const{model:t,output:r="object",system:a,prompt:s,messages:o,maxRetries:n,abortSignal:i,headers:l,experimental_repairText:u,experimental_telemetry:d,experimental_download:p,providerOptions:c,_internal:{generateId:m=$s,currentDate:h=()=>new Date}={},...g}=e,f=Nr(t),y="enum"in e?e.enum:void 0,{schema:w,schemaDescription:b,schemaName:I}="schema"in e?e:{};Ys({output:r,schema:w,schemaName:I,schemaDescription:b,enumValues:y});const{maxRetries:x,retry:S}=Ca({maxRetries:n,abortSignal:i}),T=Ps({output:r,schema:w,enumValues:y}),M=Vr(g),E=(0,v.withUserAgentSuffix)(null!=l?l:{},`ai/${Ur}`),k=ha({model:f,telemetry:d,headers:E,settings:{...M,maxRetries:x}}),C=va(d);try{return await wa({name:"ai.generateObject",attributes:Ia({telemetry:d,attributes:{...ma({operationId:"ai.generateObject",telemetry:d}),...k,"ai.prompt":{input:()=>JSON.stringify({system:a,prompt:s,messages:o})},"ai.schema":null!=T.jsonSchema?{input:()=>JSON.stringify(T.jsonSchema)}:void 0,"ai.schema.name":I,"ai.schema.description":b,"ai.settings.output":T.type}}),tracer:C,fn:async e=>{var t;let r,n,l,y,v,w,x,R;const _=await pa({system:a,prompt:s,messages:o}),N=await Jr({prompt:_,supportedUrls:await f.supportedUrls,download:p}),O=await S(()=>wa({name:"ai.generateObject.doGenerate",attributes:Ia({telemetry:d,attributes:{...ma({operationId:"ai.generateObject.doGenerate",telemetry:d}),...k,"ai.prompt.messages":{input:()=>xa(N)},"gen_ai.system":f.provider,"gen_ai.request.model":f.modelId,"gen_ai.request.frequency_penalty":M.frequencyPenalty,"gen_ai.request.max_tokens":M.maxOutputTokens,"gen_ai.request.presence_penalty":M.presencePenalty,"gen_ai.request.temperature":M.temperature,"gen_ai.request.top_k":M.topK,"gen_ai.request.top_p":M.topP}}),tracer:C,fn:async e=>{var t,r,a,s,o,n,l,u;const p=await f.doGenerate({responseFormat:{type:"json",schema:T.jsonSchema,name:I,description:b},...Vr(g),prompt:N,providerOptions:c,abortSignal:i,headers:E}),y={id:null!=(r=null==(t=p.response)?void 0:t.id)?r:m(),timestamp:null!=(s=null==(a=p.response)?void 0:a.timestamp)?s:h(),modelId:null!=(n=null==(o=p.response)?void 0:o.modelId)?n:f.modelId,headers:null==(l=p.response)?void 0:l.headers,body:null==(u=p.response)?void 0:u.body},v=Ra(p.content),w=function(e){const t=e.filter(e=>"reasoning"===e.type);return 0===t.length?void 0:t.map(e=>e.text).join("\n")}(p.content);if(void 0===v)throw new Lt({message:"No object generated: the model did not return a response.",response:y,usage:p.usage,finishReason:p.finishReason});return e.setAttributes(Ia({telemetry:d,attributes:{"ai.response.finishReason":p.finishReason,"ai.response.object":{output:()=>v},"ai.response.id":y.id,"ai.response.model":y.modelId,"ai.response.timestamp":y.timestamp.toISOString(),"ai.response.providerMetadata":JSON.stringify(p.providerMetadata),"ai.usage.promptTokens":p.usage.inputTokens,"ai.usage.completionTokens":p.usage.outputTokens,"gen_ai.response.finish_reasons":[p.finishReason],"gen_ai.response.id":y.id,"gen_ai.response.model":y.modelId,"gen_ai.usage.input_tokens":p.usage.inputTokens,"gen_ai.usage.output_tokens":p.usage.outputTokens}})),{...p,objectText:v,reasoning:w,responseData:y}}}));r=O.objectText,n=O.finishReason,l=O.usage,y=O.warnings,x=O.providerMetadata,w=null!=(t=O.request)?t:{},v=O.responseData,R=O.reasoning,ht(y);const A=await Us(r,T,u,{response:v,usage:l,finishReason:n});return e.setAttributes(Ia({telemetry:d,attributes:{"ai.response.finishReason":n,"ai.response.object":{output:()=>JSON.stringify(A)},"ai.response.providerMetadata":JSON.stringify(x),"ai.usage.promptTokens":l.inputTokens,"ai.usage.completionTokens":l.outputTokens}})),new Ls({object:A,reasoning:R,finishReason:n,usage:l,warnings:y,request:w,response:v,providerMetadata:x})}})}catch(e){throw ca(e)}}var Ls=class{constructor(e){this.object=e.object,this.finishReason=e.finishReason,this.usage=e.usage,this.warnings=e.warnings,this.providerMetadata=e.providerMetadata,this.response=e.response,this.request=e.request,this.reasoning=e.reasoning}toJsonResponse(e){var t;return new Response(JSON.stringify(this.object),{status:null!=(t=null==e?void 0:e.status)?t:200,headers:Ka(null==e?void 0:e.headers,{"content-type":"application/json; charset=utf-8"})})}};function Js(e,t){if(e.length!==t.length)throw new vt({parameter:"vector1,vector2",value:{vector1Length:e.length,vector2Length:t.length},message:"Vectors must have the same length"});const r=e.length;if(0===r)return 0;let a=0,s=0,o=0;for(let n=0;n<r;n++){const r=e[n],i=t[n];a+=r*r,s+=i*i,o+=r*i}return 0===a||0===s?0:o/(Math.sqrt(a)*Math.sqrt(s))}function Vs(e){const[t,r]=e.split(",");if(null==t.split(";")[0].split(":")[1]||null==r)throw new Error("Invalid data URL format");try{return window.atob(r)}catch(e){throw new Error("Error decoding data URL")}}function Gs(e,t){if(e===t)return!0;if(null==e||null==t)return!1;if("object"!=typeof e&&"object"!=typeof t)return e===t;if(e.constructor!==t.constructor)return!1;if(e instanceof Date&&t instanceof Date)return e.getTime()===t.getTime();if(Array.isArray(e)){if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(!Gs(e[r],t[r]))return!1;return!0}const r=Object.keys(e),a=Object.keys(t);if(r.length!==a.length)return!1;for(const s of r){if(!a.includes(s))return!1;if(!Gs(e[s],t[s]))return!1}return!0}var Bs=class{constructor(){this.queue=[],this.isProcessing=!1}async processQueue(){if(!this.isProcessing){for(this.isProcessing=!0;this.queue.length>0;)await this.queue[0](),this.queue.shift();this.isProcessing=!1}}async run(e){return new Promise((t,r)=>{this.queue.push(async()=>{try{await e(),t()}catch(e){r(e)}}),this.processQueue()})}};function Ks({chunks:e,initialDelayInMs:t=0,chunkDelayInMs:r=0,_internal:a}){var s;const o=null!=(s=null==a?void 0:a.delay)?s:v.delay;let n=0;return new ReadableStream({async pull(a){n<e.length?(await o(0===n?t:r),a.enqueue(e[n++])):a.close()}})}var Hs=(0,v.createIdGenerator)({prefix:"aiobj",size:24});function zs(e){const{model:t,output:r="object",system:a,prompt:s,messages:o,maxRetries:n,abortSignal:i,headers:l,experimental_repairText:u,experimental_telemetry:d,experimental_download:p,providerOptions:c,onError:m=({error:e})=>{console.error(e)},onFinish:h,_internal:{generateId:g=Hs,currentDate:f=()=>new Date,now:y=vs}={},...v}=e,w="enum"in e&&e.enum?e.enum:void 0,{schema:b,schemaDescription:I,schemaName:x}="schema"in e?e:{};Ys({output:r,schema:b,schemaName:x,schemaDescription:I,enumValues:w});const S=Ps({output:r,schema:b,enumValues:w});return new Ws({model:t,telemetry:d,headers:l,settings:v,maxRetries:n,abortSignal:i,outputStrategy:S,system:a,prompt:s,messages:o,schemaName:x,schemaDescription:I,providerOptions:c,repairText:u,onError:m,onFinish:h,download:p,generateId:g,currentDate:f,now:y})}var Ws=class{constructor({model:e,headers:t,telemetry:r,settings:a,maxRetries:s,abortSignal:o,outputStrategy:n,system:i,prompt:l,messages:u,schemaName:d,schemaDescription:p,providerOptions:c,repairText:m,onError:h,onFinish:g,download:f,generateId:y,currentDate:v,now:w}){this._object=new ys,this._usage=new ys,this._providerMetadata=new ys,this._warnings=new ys,this._request=new ys,this._response=new ys,this._finishReason=new ys;const b=Nr(e),{maxRetries:I,retry:x}=Ca({maxRetries:s,abortSignal:o}),S=Vr(a),T=ha({model:b,telemetry:r,headers:t,settings:{...S,maxRetries:I}}),M=va(r),E=this,k=fs(),C=new TransformStream({transform(e,t){t.enqueue(e),"error"===e.type&&h({error:ca(e.error)})}});this.baseStream=k.stream.pipeThrough(C),wa({name:"ai.streamObject",attributes:Ia({telemetry:r,attributes:{...ma({operationId:"ai.streamObject",telemetry:r}),...T,"ai.prompt":{input:()=>JSON.stringify({system:i,prompt:l,messages:u})},"ai.schema":null!=n.jsonSchema?{input:()=>JSON.stringify(n.jsonSchema)}:void 0,"ai.schema.name":d,"ai.schema.description":p,"ai.settings.output":n.type}}),tracer:M,endWhenDone:!1,fn:async e=>{const s=await pa({system:i,prompt:l,messages:u}),h={responseFormat:{type:"json",schema:n.jsonSchema,name:d,description:p},...Vr(a),prompt:await Jr({prompt:s,supportedUrls:await b.supportedUrls,download:f}),providerOptions:c,abortSignal:o,headers:t,includeRawChunks:!1},{result:{stream:I,response:C,request:R},doStreamSpan:_,startTimestampMs:N}=await x(()=>wa({name:"ai.streamObject.doStream",attributes:Ia({telemetry:r,attributes:{...ma({operationId:"ai.streamObject.doStream",telemetry:r}),...T,"ai.prompt.messages":{input:()=>xa(h.prompt)},"gen_ai.system":b.provider,"gen_ai.request.model":b.modelId,"gen_ai.request.frequency_penalty":S.frequencyPenalty,"gen_ai.request.max_tokens":S.maxOutputTokens,"gen_ai.request.presence_penalty":S.presencePenalty,"gen_ai.request.temperature":S.temperature,"gen_ai.request.top_k":S.topK,"gen_ai.request.top_p":S.topP}}),tracer:M,endWhenDone:!1,fn:async e=>({startTimestampMs:w(),doStreamSpan:e,result:await b.doStream(h)})}));let O;E._request.resolve(null!=R?R:{});let A,j,q,P,D,U,Y={inputTokens:void 0,outputTokens:void 0,totalTokens:void 0},$="",F="",L={id:y(),timestamp:v(),modelId:b.modelId},J=!0,V=!0;const G=I.pipeThrough(new TransformStream({transform:(e,t)=>{switch(e.type){case"text-delta":t.enqueue(e.delta);break;case"response-metadata":case"finish":case"error":case"stream-start":t.enqueue(e)}}})).pipeThrough(new TransformStream({async transform(e,t){var r,a,s;if("object"!=typeof e||"stream-start"!==e.type){if(J){const e=w()-N;J=!1,_.addEvent("ai.stream.firstChunk",{"ai.stream.msToFirstChunk":e}),_.setAttributes({"ai.stream.msToFirstChunk":e})}if("string"==typeof e){$+=e,F+=e;const{value:r,state:a}=await as($);if(void 0!==r&&!Gs(D,r)){const e=await n.validatePartialResult({value:r,textDelta:F,latestObject:U,isFirstDelta:V,isFinalDelta:"successful-parse"===a});e.success&&!Gs(U,e.value.partial)&&(D=r,U=e.value.partial,t.enqueue({type:"object",object:U}),t.enqueue({type:"text-delta",textDelta:e.value.textDelta}),F="",V=!1)}return}switch(e.type){case"response-metadata":L={id:null!=(r=e.id)?r:L.id,timestamp:null!=(a=e.timestamp)?a:L.timestamp,modelId:null!=(s=e.modelId)?s:L.modelId};break;case"finish":""!==F&&t.enqueue({type:"text-delta",textDelta:F}),A=e.finishReason,Y=e.usage,j=e.providerMetadata,t.enqueue({...e,usage:Y,response:L}),ht(null!=O?O:[]),E._usage.resolve(Y),E._providerMetadata.resolve(j),E._warnings.resolve(O),E._response.resolve({...L,headers:null==C?void 0:C.headers}),E._finishReason.resolve(null!=A?A:"unknown");try{q=await Us($,n,m,{response:L,usage:Y,finishReason:A}),E._object.resolve(q)}catch(e){P=e,E._object.reject(e)}break;default:t.enqueue(e)}}else O=e.warnings},async flush(t){try{const t=null!=Y?Y:{promptTokens:NaN,completionTokens:NaN,totalTokens:NaN};_.setAttributes(Ia({telemetry:r,attributes:{"ai.response.finishReason":A,"ai.response.object":{output:()=>JSON.stringify(q)},"ai.response.id":L.id,"ai.response.model":L.modelId,"ai.response.timestamp":L.timestamp.toISOString(),"ai.response.providerMetadata":JSON.stringify(j),"ai.usage.inputTokens":t.inputTokens,"ai.usage.outputTokens":t.outputTokens,"ai.usage.totalTokens":t.totalTokens,"ai.usage.reasoningTokens":t.reasoningTokens,"ai.usage.cachedInputTokens":t.cachedInputTokens,"gen_ai.response.finish_reasons":[A],"gen_ai.response.id":L.id,"gen_ai.response.model":L.modelId,"gen_ai.usage.input_tokens":t.inputTokens,"gen_ai.usage.output_tokens":t.outputTokens}})),_.end(),e.setAttributes(Ia({telemetry:r,attributes:{"ai.usage.inputTokens":t.inputTokens,"ai.usage.outputTokens":t.outputTokens,"ai.usage.totalTokens":t.totalTokens,"ai.usage.reasoningTokens":t.reasoningTokens,"ai.usage.cachedInputTokens":t.cachedInputTokens,"ai.response.object":{output:()=>JSON.stringify(q)},"ai.response.providerMetadata":JSON.stringify(j)}})),await(null==g?void 0:g({usage:t,object:q,error:P,response:{...L,headers:null==C?void 0:C.headers},warnings:O,providerMetadata:j}))}catch(e){t.enqueue({type:"error",error:e})}finally{e.end()}}}));k.addStream(G)}}).catch(e=>{k.addStream(new ReadableStream({start(t){t.enqueue({type:"error",error:e}),t.close()}}))}).finally(()=>{k.close()}),this.outputStrategy=n}get object(){return this._object.promise}get usage(){return this._usage.promise}get providerMetadata(){return this._providerMetadata.promise}get warnings(){return this._warnings.promise}get request(){return this._request.promise}get response(){return this._response.promise}get finishReason(){return this._finishReason.promise}get partialObjectStream(){return ms(this.baseStream.pipeThrough(new TransformStream({transform(e,t){switch(e.type){case"object":t.enqueue(e.object);break;case"text-delta":case"finish":case"error":break;default:throw new Error(`Unsupported chunk type: ${e}`)}}})))}get elementStream(){return this.outputStrategy.createElementStream(this.baseStream)}get textStream(){return ms(this.baseStream.pipeThrough(new TransformStream({transform(e,t){switch(e.type){case"text-delta":t.enqueue(e.textDelta);break;case"object":case"finish":case"error":break;default:throw new Error(`Unsupported chunk type: ${e}`)}}})))}get fullStream(){return ms(this.baseStream)}pipeTextStreamToResponse(e,t){Wa({response:e,textStream:this.textStream,...t})}toTextStreamResponse(e){return Ha({textStream:this.textStream,...e})}},Zs=class extends _a{constructor({data:e,mediaType:t}){super({data:e,mediaType:t});let r="mp3";if(t){const e=t.split("/");2===e.length&&"audio/mpeg"!==t&&(r=e[1])}if(!r)throw new Error("Audio format must be provided or determinable from media type");this.format=r}};async function Qs({model:e,text:t,voice:r,outputFormat:a,instructions:s,speed:o,language:n,providerOptions:i={},maxRetries:l,abortSignal:u,headers:d}){var p;if("v2"!==e.specificationVersion)throw new nr({version:e.specificationVersion,provider:e.provider,modelId:e.modelId});const c=(0,v.withUserAgentSuffix)(null!=d?d:{},`ai/${Ur}`),{retry:m}=Ca({maxRetries:l,abortSignal:u}),h=await m(()=>e.doGenerate({text:t,voice:r,outputFormat:a,instructions:s,speed:o,language:n,abortSignal:u,headers:c,providerOptions:i}));if(!h.audio||0===h.audio.length)throw new zt({responses:[h.response]});return ht(h.warnings),new Xs({audio:new Zs({data:h.audio,mediaType:null!=(p=Dr({data:h.audio,signatures:qr}))?p:"audio/mp3"}),warnings:h.warnings,responses:[h.response],providerMetadata:h.providerMetadata})}var Xs=class{constructor(e){var t;this.audio=e.audio,this.warnings=e.warnings,this.responses=e.responses,this.providerMetadata=null!=(t=e.providerMetadata)?t:{}}},eo={};((e,t)=>{for(var r in t)nt(e,r,{get:t[r],enumerable:!0})})(eo,{object:()=>ro,text:()=>to});var to=()=>({type:"text",responseFormat:{type:"text"},parsePartial:async({text:e})=>({partial:e}),parseOutput:async({text:e})=>e}),ro=({schema:e})=>{const t=(0,v.asSchema)(e);return{type:"object",responseFormat:{type:"json",schema:t.jsonSchema},async parsePartial({text:e}){const t=await as(e);switch(t.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":return{partial:t.value};default:{const e=t.state;throw new Error(`Unsupported parse state: ${e}`)}}},async parseOutput({text:e},r){const a=await(0,v.safeParseJSON)({text:e});if(!a.success)throw new Lt({message:"No object generated: could not parse the response.",cause:a.error,text:e,response:r.response,usage:r.usage,finishReason:r.finishReason});const s=await(0,v.safeValidateTypes)({value:a.value,schema:t});if(!s.success)throw new Lt({message:"No object generated: response did not match schema.",cause:s.error,text:e,response:r.response,usage:r.usage,finishReason:r.finishReason});return s.value}}},ao={word:/\S+\s+/m,line:/\n+/m};function so({delayInMs:e=10,chunking:t="word",_internal:{delay:r=v.delay}={}}={}){let a;if("function"==typeof t)a=e=>{const r=t(e);if(null==r)return null;if(!r.length)throw new Error("Chunking function must return a non-empty string.");if(!e.startsWith(r))throw new Error(`Chunking function must return a match that is a prefix of the buffer. Received: "${r}" expected to start with "${e}"`);return r};else{const e="string"==typeof t?ao[t]:t;if(null==e)throw new y.Di({argument:"chunking",message:`Chunking must be "word" or "line" or a RegExp. Received: ${t}`});a=t=>{const r=e.exec(t);return r?t.slice(0,r.index)+(null==r?void 0:r[0]):null}}return()=>{let t="",s="";return new TransformStream({async transform(o,n){if("text-delta"!==o.type)return t.length>0&&(n.enqueue({type:"text-delta",text:t,id:s}),t=""),void n.enqueue(o);let i;for(o.id!==s&&t.length>0&&(n.enqueue({type:"text-delta",text:t,id:s}),t=""),t+=o.text,s=o.id;null!=(i=a(t));)n.enqueue({type:"text-delta",text:i,id:s}),t=t.slice(i.length),await r(e)}})}}function oo({settings:e}){return{middlewareVersion:"v2",transformParams:async({params:t})=>ts(e,t)}}function no(e,t){if(0===t.length)return null;const r=e.indexOf(t);if(-1!==r)return r;for(let r=e.length-1;r>=0;r--){const a=e.substring(r);if(t.startsWith(a))return r}return null}function io({tagName:e,separator:t="\n",startWithReasoning:r=!1}){const a=`<${e}>`,s=`</${e}>`;return{middlewareVersion:"v2",wrapGenerate:async({doGenerate:e})=>{const{content:o,...n}=await e(),i=[];for(const e of o){if("text"!==e.type){i.push(e);continue}const o=r?a+e.text:e.text,n=new RegExp(`${a}(.*?)${s}`,"gs"),l=Array.from(o.matchAll(n));if(!l.length){i.push(e);continue}const u=l.map(e=>e[1]).join(t);let d=o;for(let e=l.length-1;e>=0;e--){const r=l[e],a=d.slice(0,r.index),s=d.slice(r.index+r[0].length);d=a+(a.length>0&&s.length>0?t:"")+s}i.push({type:"reasoning",text:u}),i.push({type:"text",text:d})}return{content:i,...n}},wrapStream:async({doStream:e})=>{const{stream:o,...n}=await e(),i={};let l;return{stream:o.pipeThrough(new TransformStream({transform:(e,o)=>{if("text-start"===e.type)return void(l=e);if("text-end"===e.type&&l&&(o.enqueue(l),l=void 0),"text-delta"!==e.type)return void o.enqueue(e);null==i[e.id]&&(i[e.id]={isFirstReasoning:!0,isFirstText:!0,afterSwitch:!1,isReasoning:r,buffer:"",idCounter:0,textId:e.id});const n=i[e.id];function u(e){if(e.length>0){const r=!n.afterSwitch||(n.isReasoning?n.isFirstReasoning:n.isFirstText)?"":t;n.isReasoning&&(n.afterSwitch||n.isFirstReasoning)&&o.enqueue({type:"reasoning-start",id:`reasoning-${n.idCounter}`}),n.isReasoning?o.enqueue({type:"reasoning-delta",delta:r+e,id:`reasoning-${n.idCounter}`}):(l&&(o.enqueue(l),l=void 0),o.enqueue({type:"text-delta",delta:r+e,id:n.textId})),n.afterSwitch=!1,n.isReasoning?n.isFirstReasoning=!1:n.isFirstText=!1}}for(n.buffer+=e.delta;;){const e=n.isReasoning?s:a,t=no(n.buffer,e);if(null==t){u(n.buffer),n.buffer="";break}if(u(n.buffer.slice(0,t)),!(t+e.length<=n.buffer.length)){n.buffer=n.buffer.slice(t);break}n.buffer=n.buffer.slice(t+e.length),n.isReasoning&&o.enqueue({type:"reasoning-end",id:"reasoning-"+n.idCounter++}),n.isReasoning=!n.isReasoning,n.afterSwitch=!0}}})),...n}}}}function lo(){return{middlewareVersion:"v2",wrapStream:async({doGenerate:e})=>{const t=await e();let r=0;return{stream:new ReadableStream({start(e){e.enqueue({type:"stream-start",warnings:t.warnings}),e.enqueue({type:"response-metadata",...t.response});for(const a of t.content)switch(a.type){case"text":a.text.length>0&&(e.enqueue({type:"text-start",id:String(r)}),e.enqueue({type:"text-delta",id:String(r),delta:a.text}),e.enqueue({type:"text-end",id:String(r)}),r++);break;case"reasoning":e.enqueue({type:"reasoning-start",id:String(r),providerMetadata:a.providerMetadata}),e.enqueue({type:"reasoning-delta",id:String(r),delta:a.text}),e.enqueue({type:"reasoning-end",id:String(r)}),r++;break;default:e.enqueue(a)}e.enqueue({type:"finish",finishReason:t.finishReason,usage:t.usage,providerMetadata:t.providerMetadata}),e.close()}}),request:t.request,response:t.response}}}}var uo=({model:e,middleware:t,modelId:r,providerId:a})=>Ma(t).reverse().reduce((e,t)=>po({model:e,middleware:t,modelId:r,providerId:a}),e),po=({model:e,middleware:{transformParams:t,wrapGenerate:r,wrapStream:a,overrideProvider:s,overrideModelId:o,overrideSupportedUrls:n},modelId:i,providerId:l})=>{var u,d,p;async function c({params:r,type:a}){return t?await t({params:r,type:a,model:e}):r}return{specificationVersion:"v2",provider:null!=(u=null!=l?l:null==s?void 0:s({model:e}))?u:e.provider,modelId:null!=(d=null!=i?i:null==o?void 0:o({model:e}))?d:e.modelId,supportedUrls:null!=(p=null==n?void 0:n({model:e}))?p:e.supportedUrls,async doGenerate(t){const a=await c({params:t,type:"generate"}),s=async()=>e.doGenerate(a);return r?r({doGenerate:s,doStream:async()=>e.doStream(a),params:a,model:e}):s()},async doStream(t){const r=await c({params:t,type:"stream"}),s=async()=>e.doStream(r);return a?a({doGenerate:async()=>e.doGenerate(r),doStream:s,params:r,model:e}):s()}}};function co({provider:e,languageModelMiddleware:t}){return{languageModel(r){let a=e.languageModel(r);return a=uo({model:a,middleware:t}),a},textEmbeddingModel:e.textEmbeddingModel,imageModel:e.imageModel,transcriptionModel:e.transcriptionModel,speechModel:e.speechModel}}function mo({languageModels:e,textEmbeddingModels:t,imageModels:r,transcriptionModels:a,speechModels:s,fallbackProvider:o}){return{languageModel(t){if(null!=e&&t in e)return e[t];if(o)return o.languageModel(t);throw new y.eM({modelId:t,modelType:"languageModel"})},textEmbeddingModel(e){if(null!=t&&e in t)return t[e];if(o)return o.textEmbeddingModel(e);throw new y.eM({modelId:e,modelType:"textEmbeddingModel"})},imageModel(e){if(null!=r&&e in r)return r[e];if(null==o?void 0:o.imageModel)return o.imageModel(e);throw new y.eM({modelId:e,modelType:"imageModel"})},transcriptionModel(e){if(null!=a&&e in a)return a[e];if(null==o?void 0:o.transcriptionModel)return o.transcriptionModel(e);throw new y.eM({modelId:e,modelType:"transcriptionModel"})},speechModel(e){if(null!=s&&e in s)return s[e];if(null==o?void 0:o.speechModel)return o.speechModel(e);throw new y.eM({modelId:e,modelType:"speechModel"})}}}var ho,go=mo,fo="AI_NoSuchProviderError",yo=`vercel.ai.error.${fo}`,vo=Symbol.for(yo),wo=class extends y.eM{constructor({modelId:e,modelType:t,providerId:r,availableProviders:a,message:s=`No such provider: ${r} (available providers: ${a.join()})`}){super({errorName:fo,modelId:e,modelType:t,message:s}),this[ho]=!0,this.providerId=r,this.availableProviders=a}static isInstance(e){return y.bD.hasMarker(e,yo)}};function bo(e,{separator:t=":",languageModelMiddleware:r}={}){const a=new xo({separator:t,languageModelMiddleware:r});for(const[t,r]of Object.entries(e))a.registerProvider({id:t,provider:r});return a}ho=vo;var Io=bo,xo=class{constructor({separator:e,languageModelMiddleware:t}){this.providers={},this.separator=e,this.languageModelMiddleware=t}registerProvider({id:e,provider:t}){this.providers[e]=t}getProvider(e,t){const r=this.providers[e];if(null==r)throw new wo({modelId:e,modelType:t,providerId:e,availableProviders:Object.keys(this.providers)});return r}splitId(e,t){const r=e.indexOf(this.separator);if(-1===r)throw new y.eM({modelId:e,modelType:t,message:`Invalid ${t} id for registry: ${e} (must be in the format "providerId${this.separator}modelId")`});return[e.slice(0,r),e.slice(r+this.separator.length)]}languageModel(e){var t,r;const[a,s]=this.splitId(e,"languageModel");let o=null==(r=(t=this.getProvider(a,"languageModel")).languageModel)?void 0:r.call(t,s);if(null==o)throw new y.eM({modelId:e,modelType:"languageModel"});return null!=this.languageModelMiddleware&&(o=uo({model:o,middleware:this.languageModelMiddleware})),o}textEmbeddingModel(e){var t;const[r,a]=this.splitId(e,"textEmbeddingModel"),s=this.getProvider(r,"textEmbeddingModel"),o=null==(t=s.textEmbeddingModel)?void 0:t.call(s,a);if(null==o)throw new y.eM({modelId:e,modelType:"textEmbeddingModel"});return o}imageModel(e){var t;const[r,a]=this.splitId(e,"imageModel"),s=this.getProvider(r,"imageModel"),o=null==(t=s.imageModel)?void 0:t.call(s,a);if(null==o)throw new y.eM({modelId:e,modelType:"imageModel"});return o}transcriptionModel(e){var t;const[r,a]=this.splitId(e,"transcriptionModel"),s=this.getProvider(r,"transcriptionModel"),o=null==(t=s.transcriptionModel)?void 0:t.call(s,a);if(null==o)throw new y.eM({modelId:e,modelType:"transcriptionModel"});return o}speechModel(e){var t;const[r,a]=this.splitId(e,"speechModel"),s=this.getProvider(r,"speechModel"),o=null==(t=s.speechModel)?void 0:t.call(s,a);if(null==o)throw new y.eM({modelId:e,modelType:"speechModel"});return o}},So="2025-06-18",To=[So,"2025-03-26","2024-11-05"],Mo=w._H({name:w.Yj(),version:w.Yj()}),Eo=w._H({_meta:w.lq(w.Ik({}).loose())}),ko=Eo,Co=w.Ik({method:w.Yj(),params:w.lq(Eo)}),Ro=w._H({experimental:w.lq(w.Ik({}).loose()),logging:w.lq(w.Ik({}).loose()),prompts:w.lq(w._H({listChanged:w.lq(w.zM())})),resources:w.lq(w._H({subscribe:w.lq(w.zM()),listChanged:w.lq(w.zM())})),tools:w.lq(w._H({listChanged:w.lq(w.zM())}))}),_o=ko.extend({protocolVersion:w.Yj(),capabilities:Ro,serverInfo:Mo,instructions:w.lq(w.Yj())}),No=ko.extend({nextCursor:w.lq(w.Yj())}),Oo=w.Ik({name:w.Yj(),description:w.lq(w.Yj()),inputSchema:w.Ik({type:w.eu("object"),properties:w.lq(w.Ik({}).loose())}).loose()}).loose(),Ao=No.extend({tools:w.YO(Oo)}),jo=w.Ik({type:w.eu("text"),text:w.Yj()}).loose(),qo=w.Ik({type:w.eu("image"),data:w.K3(),mimeType:w.Yj()}).loose(),Po=w.Ik({uri:w.Yj(),mimeType:w.lq(w.Yj())}).loose(),Do=Po.extend({text:w.Yj()}),Uo=Po.extend({blob:w.K3()}),Yo=w.Ik({type:w.eu("resource"),resource:w.KC([Do,Uo])}).loose(),$o=ko.extend({content:w.YO(w.KC([jo,qo,Yo])),isError:w.zM().default(!1).optional()}).or(ko.extend({toolResult:w.L5()})),Fo="2.0",Lo=w.Ik({jsonrpc:w.eu(Fo),id:w.KC([w.Yj(),w.ai().int()])}).merge(Co).strict(),Jo=w.Ik({jsonrpc:w.eu(Fo),id:w.KC([w.Yj(),w.ai().int()]),result:ko}).strict(),Vo=w.Ik({jsonrpc:w.eu(Fo),id:w.KC([w.Yj(),w.ai().int()]),error:w.Ik({code:w.ai().int(),message:w.Yj(),data:w.lq(w.L5())})}).strict(),Go=w.Ik({jsonrpc:w.eu(Fo)}).merge(w.Ik({method:w.Yj(),params:w.lq(Eo)})).strict(),Bo=w.KC([Lo,Go,Jo,Vo]),Ko=class{constructor({url:e,headers:t}){this.connected=!1,this.url=new URL(e),this.headers=t}async start(){return new Promise((e,t)=>{if(this.connected)return e();this.abortController=new AbortController,(async()=>{var r,a,s;try{const s=(0,v.withUserAgentSuffix)({...this.headers,Accept:"text/event-stream"},`ai-sdk/${Ur}`,(0,v.getRuntimeEnvironmentUserAgent)()),o=await fetch(this.url.href,{headers:s,signal:null==(r=this.abortController)?void 0:r.signal});if(!o.ok||!o.body){const e=new Ot({message:`MCP SSE Transport Error: ${o.status} ${o.statusText}`});return null==(a=this.onerror)||a.call(this,e),t(e)}const n=o.body.pipeThrough(new TextDecoderStream).pipeThrough(new ot.Z).getReader(),i=async()=>{var r,a,s;try{for(;;){const{done:t,value:s}=await n.read();if(t){if(this.connected)throw this.connected=!1,new Ot({message:"MCP SSE Transport Error: Connection closed unexpectedly"});return}const{event:o,data:i}=s;if("endpoint"===o){if(this.endpoint=new URL(i,this.url),this.endpoint.origin!==this.url.origin)throw new Ot({message:`MCP SSE Transport Error: Endpoint origin does not match connection origin: ${this.endpoint.origin}`});this.connected=!0,e()}else if("message"===o)try{const e=Bo.parse(JSON.parse(i));null==(r=this.onmessage)||r.call(this,e)}catch(e){const t=new Ot({message:"MCP SSE Transport Error: Failed to parse message",cause:e});null==(a=this.onerror)||a.call(this,t)}}}catch(e){if(e instanceof Error&&"AbortError"===e.name)return;null==(s=this.onerror)||s.call(this,e),t(e)}};this.sseConnection={close:()=>n.cancel()},i()}catch(e){if(e instanceof Error&&"AbortError"===e.name)return;null==(s=this.onerror)||s.call(this,e),t(e)}})()})}async close(){var e,t,r;this.connected=!1,null==(e=this.sseConnection)||e.close(),null==(t=this.abortController)||t.abort(),null==(r=this.onclose)||r.call(this)}async send(e){var t,r,a;if(!this.endpoint||!this.connected)throw new Ot({message:"MCP SSE Transport Error: Not connected"});try{const a={method:"POST",headers:(0,v.withUserAgentSuffix)({...this.headers,"Content-Type":"application/json"},`ai-sdk/${Ur}`,(0,v.getRuntimeEnvironmentUserAgent)()),body:JSON.stringify(e),signal:null==(t=this.abortController)?void 0:t.signal},s=await fetch(this.endpoint,a);if(!s.ok){const e=await s.text().catch(()=>null),t=new Ot({message:`MCP SSE Transport Error: POSTing to endpoint (HTTP ${s.status}): ${e}`});return void(null==(r=this.onerror)||r.call(this,t))}}catch(e){return void(null==(a=this.onerror)||a.call(this,e))}}};async function Ho(e){const t=new zo(e);return await t.init(),t}var zo=class{constructor({transport:e,name:t="ai-sdk-mcp-client",onUncaughtError:r}){var a;this.requestMessageId=0,this.responseHandlers=new Map,this.serverCapabilities={},this.isClosed=!0,this.onUncaughtError=r,"start"in(a=e)&&"function"==typeof a.start&&"send"in a&&"function"==typeof a.send&&"close"in a&&"function"==typeof a.close?this.transport=e:this.transport=function(e){if("sse"!==e.type)throw new Ot({message:"Unsupported or invalid transport configuration. If you are using a custom transport, make sure it implements the MCPTransport interface."});return new Ko(e)}(e),this.transport.onclose=()=>this.onClose(),this.transport.onerror=e=>this.onError(e),this.transport.onmessage=e=>{"method"in e?this.onError(new Ot({message:"Unsupported message type"})):this.onResponse(e)},this.clientInfo={name:t,version:"1.0.0"}}async init(){try{await this.transport.start(),this.isClosed=!1;const e=await this.request({request:{method:"initialize",params:{protocolVersion:So,capabilities:{},clientInfo:this.clientInfo}},resultSchema:_o});if(void 0===e)throw new Ot({message:"Server sent invalid initialize result"});if(!To.includes(e.protocolVersion))throw new Ot({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(null==(e=this.transport)?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 Ot({message:"Server does not support tools"});break;default:throw new Ot({message:`Unsupported method: ${e}`})}}async request({request:e,resultSchema:t,options:r}){return new Promise((a,s)=>{if(this.isClosed)return s(new Ot({message:"Attempted to send a request from a closed client"}));this.assertCapability(e.method);const o=null==r?void 0:r.signal;null==o||o.throwIfAborted();const n=this.requestMessageId++,i={...e,jsonrpc:"2.0",id:n},l=()=>{this.responseHandlers.delete(n)};this.responseHandlers.set(n,e=>{if(null==o?void 0:o.aborted)return s(new Ot({message:"Request was aborted",cause:o.reason}));if(e instanceof Error)return s(e);try{const r=t.parse(e.result);a(r)}catch(e){const t=new Ot({message:"Failed to parse server response",cause:e});s(t)}}),this.transport.send(i).catch(e=>{l(),s(e)})})}async listTools({params:e,options:t}={}){try{return this.request({request:{method:"tools/list",params:e},resultSchema:Ao,options:t})}catch(e){throw e}}async callTool({name:e,args:t,options:r}){try{return this.request({request:{method:"tools/call",params:{name:e,arguments:t}},resultSchema:$o,options:{signal:null==r?void 0:r.abortSignal}})}catch(e){throw e}}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 a=await this.listTools();for(const{name:s,description:o,inputSchema:n}of a.tools){if("automatic"!==e&&!(s in e))continue;const a=this,i=async(e,t)=>{var r;return null==(r=null==t?void 0:t.abortSignal)||r.throwIfAborted(),a.callTool({name:s,args:e,options:t})},l="automatic"===e?(0,v.dynamicTool)({description:o,inputSchema:(0,v.jsonSchema)({...n,properties:null!=(t=n.properties)?t:{},additionalProperties:!1}),execute:i}):(0,v.tool)({description:o,inputSchema:e[s].inputSchema,execute:i});r[s]=l}return r}catch(e){throw e}}onClose(){if(this.isClosed)return;this.isClosed=!0;const e=new Ot({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(void 0===r)throw new Ot({message:`Protocol error: Received a response for an unknown message ID: ${JSON.stringify(e)}`});this.responseHandlers.delete(t),r("result"in e?e:new Ot({message:e.error.message,cause:e.error}))}},Wo=class extends y.bD{constructor(e){super({name:"AI_NoTranscriptGeneratedError",message:"No transcript generated."}),this.responses=e.responses}};async function Zo({model:e,audio:t,providerOptions:r={},maxRetries:a,abortSignal:s,headers:o}){if("v2"!==e.specificationVersion)throw new nr({version:e.specificationVersion,provider:e.provider,modelId:e.modelId});const{retry:n}=Ca({maxRetries:a,abortSignal:s}),i=(0,v.withUserAgentSuffix)(null!=o?o:{},`ai/${Ur}`),l=t instanceof URL?(await Yr({url:t})).data:function(e){if(e instanceof Uint8Array)return e;if("string"==typeof e)try{return(0,v.convertBase64ToUint8Array)(e)}catch(t){throw new dr({message:"Invalid data content. Content string is not a base64-encoded media.",content:e,cause:t})}if(e instanceof ArrayBuffer)return new Uint8Array(e);throw new dr({content:e})}(t),u=await n(()=>{var t;return e.doGenerate({audio:l,abortSignal:s,headers:i,providerOptions:r,mediaType:null!=(t=Dr({data:l,signatures:qr}))?t:"audio/wav"})});if(ht(u.warnings),!u.text)throw new Wo({responses:[u.response]});return new Qo({text:u.text,segments:u.segments,language:u.language,durationInSeconds:u.durationInSeconds,warnings:u.warnings,responses:[u.response],providerMetadata:u.providerMetadata})}var Qo=class{constructor(e){var t;this.text=e.text,this.segments=e.segments,this.language=e.language,this.durationInSeconds=e.durationInSeconds,this.warnings=e.warnings,this.responses=e.responses,this.providerMetadata=null!=(t=e.providerMetadata)?t:{}}},Xo=()=>fetch;async function en({api:e,prompt:t,credentials:r,headers:a,body:s,streamProtocol:o="data",setCompletion:n,setLoading:i,setError:l,setAbortController:u,onFinish:d,onError:p,fetch:c=Xo()}){var m;try{i(!0),l(void 0);const p=new AbortController;u(p),n("");const h=await c(e,{method:"POST",body:JSON.stringify({prompt:t,...s}),credentials:r,headers:(0,v.withUserAgentSuffix)({"Content-Type":"application/json",...a},`ai-sdk/${Ur}`,(0,v.getRuntimeEnvironmentUserAgent)()),signal:p.signal}).catch(e=>{throw e});if(!h.ok)throw new Error(null!=(m=await h.text())?m:"Failed to fetch the chat response.");if(!h.body)throw new Error("The response body is empty.");let g="";switch(o){case"text":await async function({stream:e,onTextPart:t}){const r=e.pipeThrough(new TextDecoderStream).getReader();for(;;){const{done:e,value:a}=await r.read();if(e)break;await t(a)}}({stream:h.body,onTextPart:e=>{g+=e,n(g)}});break;case"data":await hs({stream:(0,v.parseJsonEventStream)({stream:h.body,schema:es}).pipeThrough(new TransformStream({async transform(e){if(!e.success)throw e.error;const t=e.value;if("text-delta"===t.type)g+=t.delta,n(g);else if("error"===t.type)throw new Error(t.errorText)}})),onError:e=>{throw e}});break;default:throw new Error(`Unknown stream protocol: ${o}`)}return d&&d(t,g),u(null),g}catch(e){if("AbortError"===e.name)return u(null),null;e instanceof Error&&p&&p(e),l(e)}finally{i(!1)}}async function tn(e){if(null==e)return[];if(!(globalThis.FileList&&e instanceof globalThis.FileList))throw new Error("FileList is not supported in the current environment");return Promise.all(Array.from(e).map(async e=>{const{name:t,type:r}=e;return{type:"file",mediaType:r,filename:t,url:await new Promise((t,r)=>{const a=new FileReader;a.onload=e=>{var r;t(null==(r=e.target)?void 0:r.result)},a.onerror=e=>r(e),a.readAsDataURL(e)})}}))}var rn=class{constructor({api:e="/api/chat",credentials:t,headers:r,body:a,fetch:s,prepareSendMessagesRequest:o,prepareReconnectToStreamRequest:n}){this.api=e,this.credentials=t,this.headers=r,this.body=a,this.fetch=s,this.prepareSendMessagesRequest=o,this.prepareReconnectToStreamRequest=n}async sendMessages({abortSignal:e,...t}){var r,a,s,o,n;const i=await(0,v.resolve)(this.body),l=await(0,v.resolve)(this.headers),u=await(0,v.resolve)(this.credentials),d=await(null==(r=this.prepareSendMessagesRequest)?void 0:r.call(this,{api:this.api,id:t.chatId,messages:t.messages,body:{...i,...t.body},headers:{...l,...t.headers},credentials:u,requestMetadata:t.metadata,trigger:t.trigger,messageId:t.messageId})),p=null!=(a=null==d?void 0:d.api)?a:this.api,c=void 0!==(null==d?void 0:d.headers)?d.headers:{...l,...t.headers},m=void 0!==(null==d?void 0:d.body)?d.body:{...i,...t.body,id:t.chatId,messages:t.messages,trigger:t.trigger,messageId:t.messageId},h=null!=(s=null==d?void 0:d.credentials)?s:u,g=null!=(o=this.fetch)?o:globalThis.fetch,f=await g(p,{method:"POST",headers:(0,v.withUserAgentSuffix)({"Content-Type":"application/json",...c},`ai-sdk/${Ur}`,(0,v.getRuntimeEnvironmentUserAgent)()),body:JSON.stringify(m),credentials:h,signal:e});if(!f.ok)throw new Error(null!=(n=await f.text())?n:"Failed to fetch the chat response.");if(!f.body)throw new Error("The response body is empty.");return this.processResponseStream(f.body)}async reconnectToStream(e){var t,r,a,s,o;const n=await(0,v.resolve)(this.body),i=await(0,v.resolve)(this.headers),l=await(0,v.resolve)(this.credentials),u=await(null==(t=this.prepareReconnectToStreamRequest)?void 0:t.call(this,{api:this.api,id:e.chatId,body:{...n,...e.body},headers:{...i,...e.headers},credentials:l,requestMetadata:e.metadata})),d=null!=(r=null==u?void 0:u.api)?r:`${this.api}/${e.chatId}/stream`,p=void 0!==(null==u?void 0:u.headers)?u.headers:{...i,...e.headers},c=null!=(a=null==u?void 0:u.credentials)?a:l,m=null!=(s=this.fetch)?s:globalThis.fetch,h=await m(d,{method:"GET",headers:(0,v.withUserAgentSuffix)(p,`ai-sdk/${Ur}`,(0,v.getRuntimeEnvironmentUserAgent)()),credentials:c});if(204===h.status)return null;if(!h.ok)throw new Error(null!=(o=await h.text())?o:"Failed to fetch the chat response.");if(!h.body)throw new Error("The response body is empty.");return this.processResponseStream(h.body)}},an=class extends rn{constructor(e={}){super(e)}processResponseStream(e){return(0,v.parseJsonEventStream)({stream:e,schema:es}).pipeThrough(new TransformStream({async transform(e,t){if(!e.success)throw e.error;t.enqueue(e.value)}}))}},sn=class{constructor({generateId:e=v.generateId,id:t=e(),transport:r=new an,messageMetadataSchema:a,dataPartSchemas:s,state:o,onError:n,onToolCall:i,onFinish:l,onData:u,sendAutomaticallyWhen:d}){this.activeResponse=void 0,this.jobExecutor=new Bs,this.sendMessage=async(e,t)=>{var r,a,s,o;if(null==e)return void await this.makeRequest({trigger:"submit-message",messageId:null==(r=this.lastMessage)?void 0:r.id,...t});let n;if(n="text"in e||"files"in e?{parts:[...Array.isArray(e.files)?e.files:await tn(e.files),..."text"in e&&null!=e.text?[{type:"text",text:e.text}]:[]]}:e,null!=e.messageId){const t=this.state.messages.findIndex(t=>t.id===e.messageId);if(-1===t)throw new Error(`message with id ${e.messageId} not found`);if("user"!==this.state.messages[t].role)throw new Error(`message with id ${e.messageId} is not a user message`);this.state.messages=this.state.messages.slice(0,t+1),this.state.replaceMessage(t,{...n,id:e.messageId,role:null!=(a=n.role)?a:"user",metadata:e.metadata})}else this.state.pushMessage({...n,id:null!=(s=n.id)?s:this.generateId(),role:null!=(o=n.role)?o:"user",metadata:e.metadata});await this.makeRequest({trigger:"submit-message",messageId:e.messageId,...t})},this.regenerate=async({messageId:e,...t}={})=>{const r=null==e?this.state.messages.length-1:this.state.messages.findIndex(t=>t.id===e);if(-1===r)throw new Error(`message ${e} not found`);this.state.messages=this.state.messages.slice(0,"assistant"===this.messages[r].role?r:r+1),await this.makeRequest({trigger:"regenerate-message",messageId:e,...t})},this.resumeStream=async(e={})=>{await this.makeRequest({trigger:"resume-stream",...e})},this.clearError=()=>{"error"===this.status&&(this.state.error=void 0,this.setStatus({status:"ready"}))},this.addToolResult=async({state:e="output-available",tool:t,toolCallId:r,output:a,errorText:s})=>this.jobExecutor.run(async()=>{var t,o;const n=this.state.messages,i=n[n.length-1];this.state.replaceMessage(n.length-1,{...i,parts:i.parts.map(t=>ns(t)&&t.toolCallId===r?{...t,state:e,output:a,errorText:s}:t)}),this.activeResponse&&(this.activeResponse.state.message.parts=this.activeResponse.state.message.parts.map(t=>ns(t)&&t.toolCallId===r?{...t,state:e,output:a,errorText:s}:t)),"streaming"!==this.status&&"submitted"!==this.status&&(null==(t=this.sendAutomaticallyWhen)?void 0:t.call(this,{messages:this.state.messages}))&&this.makeRequest({trigger:"submit-message",messageId:null==(o=this.lastMessage)?void 0:o.id})}),this.stop=async()=>{var e;"streaming"!==this.status&&"submitted"!==this.status||(null==(e=this.activeResponse)?void 0:e.abortController)&&this.activeResponse.abortController.abort()},this.id=t,this.transport=r,this.generateId=e,this.messageMetadataSchema=a,this.dataPartSchemas=s,this.state=o,this.onError=n,this.onToolCall=i,this.onFinish=l,this.onData=u,this.sendAutomaticallyWhen=d}get status(){return this.state.status}setStatus({status:e,error:t}){this.status!==e&&(this.state.status=e,this.state.error=t)}get error(){return this.state.error}get messages(){return this.state.messages}get lastMessage(){return this.state.messages[this.state.messages.length-1]}set messages(e){this.state.messages=e}async makeRequest({trigger:e,metadata:t,headers:r,body:a,messageId:s}){var o,n,i;this.setStatus({status:"submitted",error:void 0});const l=this.lastMessage;let u=!1,d=!1,p=!1;try{const o={state:us({lastMessage:this.state.snapshot(l),messageId:this.generateId()}),abortController:new AbortController};let n;if(o.abortController.signal.addEventListener("abort",()=>{u=!0}),this.activeResponse=o,"resume-stream"===e){const e=await this.transport.reconnectToStream({chatId:this.id,metadata:t,headers:r,body:a});if(null==e)return void this.setStatus({status:"ready"});n=e}else n=await this.transport.sendMessages({chatId:this.id,messages:this.state.messages,abortSignal:o.abortController.signal,metadata:t,headers:r,body:a,trigger:e,messageId:s});const i=e=>this.jobExecutor.run(()=>e({state:o.state,write:()=>{var e;this.setStatus({status:"streaming"}),o.state.message.id===(null==(e=this.lastMessage)?void 0:e.id)?this.state.replaceMessage(this.state.messages.length-1,o.state.message):this.state.pushMessage(o.state.message)}}));await hs({stream:ds({stream:n,onToolCall:this.onToolCall,onData:this.onData,messageMetadataSchema:this.messageMetadataSchema,dataPartSchemas:this.dataPartSchemas,runUpdateMessageJob:i,onError:e=>{throw e}}),onError:e=>{throw e}}),this.setStatus({status:"ready"})}catch(e){if(u||"AbortError"===e.name)return u=!0,this.setStatus({status:"ready"}),null;p=!0,e instanceof TypeError&&(e.message.toLowerCase().includes("fetch")||e.message.toLowerCase().includes("network"))&&(d=!0),this.onError&&e instanceof Error&&this.onError(e),this.setStatus({status:"error",error:e})}finally{try{null==(o=this.onFinish)||o.call(this,{message:this.activeResponse.state.message,messages:this.state.messages,isAbort:u,isDisconnect:d,isError:p})}catch(e){console.error(e)}this.activeResponse=void 0}(null==(n=this.sendAutomaticallyWhen)?void 0:n.call(this,{messages:this.state.messages}))&&await this.makeRequest({trigger:"submit-message",messageId:null==(i=this.lastMessage)?void 0:i.id,metadata:t,headers:r,body:a})}};function on({messages:e}){const t=e[e.length-1];if(!t)return!1;if("assistant"!==t.role)return!1;const r=t.parts.reduce((e,t,r)=>"step-start"===t.type?r:e,-1),a=t.parts.slice(r+1).filter(ns);return a.length>0&&a.every(e=>"output-available"===e.state||"output-error"===e.state)}var nn=class extends rn{constructor(e={}){super(e)}processResponseStream(e){return function({stream:e}){return e.pipeThrough(new TransformStream({start(e){e.enqueue({type:"start"}),e.enqueue({type:"start-step"}),e.enqueue({type:"text-start",id:"text-1"})},async transform(e,t){t.enqueue({type:"text-delta",id:"text-1",delta:e})},async flush(e){e.enqueue({type:"text-end",id:"text-1"}),e.enqueue({type:"finish-step"}),e.enqueue({type:"finish"})}}))}({stream:e.pipeThrough(new TextDecoderStream)})}},ln=w.Ik({type:w.eu("text"),text:w.Yj(),state:w.k5(["streaming","done"]).optional(),providerMetadata:Kr.optional()}),un=w.Ik({type:w.eu("reasoning"),text:w.Yj(),state:w.k5(["streaming","done"]).optional(),providerMetadata:Kr.optional()}),dn=w.Ik({type:w.eu("source-url"),sourceId:w.Yj(),url:w.Yj(),title:w.Yj().optional(),providerMetadata:Kr.optional()}),pn=w.Ik({type:w.eu("source-document"),sourceId:w.Yj(),mediaType:w.Yj(),title:w.Yj(),filename:w.Yj().optional(),providerMetadata:Kr.optional()}),cn=w.Ik({type:w.eu("file"),mediaType:w.Yj(),filename:w.Yj().optional(),url:w.Yj(),providerMetadata:Kr.optional()}),mn=w.Ik({type:w.eu("step-start")}),hn=w.Ik({type:w.Yj().startsWith("data-"),id:w.Yj().optional(),data:w.L5()}),gn=[w.Ik({type:w.eu("dynamic-tool"),toolName:w.Yj(),toolCallId:w.Yj(),state:w.eu("input-streaming"),input:w.L5().optional(),output:w.Zm().optional(),errorText:w.Zm().optional()}),w.Ik({type:w.eu("dynamic-tool"),toolName:w.Yj(),toolCallId:w.Yj(),state:w.eu("input-available"),input:w.L5(),output:w.Zm().optional(),errorText:w.Zm().optional(),callProviderMetadata:Kr.optional()}),w.Ik({type:w.eu("dynamic-tool"),toolName:w.Yj(),toolCallId:w.Yj(),state:w.eu("output-available"),input:w.L5(),output:w.L5(),errorText:w.Zm().optional(),callProviderMetadata:Kr.optional(),preliminary:w.zM().optional()}),w.Ik({type:w.eu("dynamic-tool"),toolName:w.Yj(),toolCallId:w.Yj(),state:w.eu("output-error"),input:w.L5(),output:w.Zm().optional(),errorText:w.Yj(),callProviderMetadata:Kr.optional()})],fn=[w.Ik({type:w.Yj().startsWith("tool-"),toolCallId:w.Yj(),state:w.eu("input-streaming"),providerExecuted:w.zM().optional(),input:w.L5().optional(),output:w.Zm().optional(),errorText:w.Zm().optional()}),w.Ik({type:w.Yj().startsWith("tool-"),toolCallId:w.Yj(),state:w.eu("input-available"),providerExecuted:w.zM().optional(),input:w.L5(),output:w.Zm().optional(),errorText:w.Zm().optional(),callProviderMetadata:Kr.optional()}),w.Ik({type:w.Yj().startsWith("tool-"),toolCallId:w.Yj(),state:w.eu("output-available"),providerExecuted:w.zM().optional(),input:w.L5(),output:w.L5(),errorText:w.Zm().optional(),callProviderMetadata:Kr.optional(),preliminary:w.zM().optional()}),w.Ik({type:w.Yj().startsWith("tool-"),toolCallId:w.Yj(),state:w.eu("output-error"),providerExecuted:w.zM().optional(),input:w.L5(),output:w.Zm().optional(),errorText:w.Yj(),callProviderMetadata:Kr.optional()})],yn=w.Ik({id:w.Yj(),role:w.k5(["system","user","assistant"]),metadata:w.L5().optional(),parts:w.YO(w.KC([ln,un,dn,pn,cn,mn,hn,...gn,...fn]))});async function vn({messages:e,metadataSchema:t,dataSchemas:r,tools:a}){try{if(null==e)return{success:!1,error:new vt({parameter:"messages",value:e,message:"messages parameter must be provided"})};const s=await(0,v.validateTypes)({value:e,schema:w.YO(yn)});if(t)for(const e of s)await(0,v.validateTypes)({value:e.metadata,schema:t});if(r)for(const e of s){const t=e.parts.filter(e=>e.type.startsWith("data-"));for(const e of t){const t=e.type.slice(5),a=r[t];if(!a)return{success:!1,error:new y.iM({value:e.data,cause:`No data schema found for data part ${t}`})};await(0,v.validateTypes)({value:e.data,schema:a})}}if(a)for(const e of s){const t=e.parts.filter(e=>e.type.startsWith("tool-"));for(const e of t){const t=e.type.slice(5),r=a[t];if(!r)return{success:!1,error:new y.iM({value:e.input,cause:`No tool schema found for tool part ${t}`})};"input-available"!==e.state&&"output-available"!==e.state&&"output-error"!==e.state||await(0,v.validateTypes)({value:e.input,schema:r.inputSchema}),"output-available"===e.state&&r.outputSchema&&await(0,v.validateTypes)({value:e.output,schema:r.outputSchema})}}return{success:!0,data:s}}catch(e){return{success:!1,error:e}}}async function wn({messages:e,metadataSchema:t,dataSchemas:r,tools:a}){const s=await vn({messages:e,metadataSchema:t,dataSchemas:r,tools:a});if(!s.success)throw s.error;return s.data}function bn({execute:e,onError:t=v.getErrorMessage,originalMessages:r,onFinish:a,generateId:s=v.generateId}){let o;const n=[],i=new ReadableStream({start(e){o=e}});function l(e){try{o.enqueue(e)}catch(e){}}try{const r=e({writer:{write(e){l(e)},merge(e){n.push((async()=>{const t=e.getReader();for(;;){const{done:e,value:r}=await t.read();if(e)break;l(r)}})().catch(e=>{l({type:"error",errorText:t(e)})}))},onError:t}});r&&n.push(r.catch(e=>{l({type:"error",errorText:t(e)})}))}catch(e){l({type:"error",errorText:t(e)})}return new Promise(async e=>{for(;n.length>0;)await n.shift();e()}).finally(()=>{try{o.close()}catch(e){}}),ps({stream:i,messageId:s(),originalMessages:r,onFinish:a,onError:t})}function In({message:e,stream:t,onError:r,terminateOnError:a=!1}){var s;let o,n=!1;const i=new ReadableStream({start(e){o=e}}),l=us({messageId:null!=(s=null==e?void 0:e.id)?s:"",lastMessage:e}),u=e=>{null==r||r(e),!n&&a&&(n=!0,null==o||o.error(e))};return hs({stream:ds({stream:t,runUpdateMessageJob:e=>e({state:l,write:()=>{null==o||o.enqueue(structuredClone(l.message))}}),onError:u}),onError:u}).finally(()=>{n||null==o||o.close()}),ms(i)}}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_jupyterlite_ai=self.webpackChunk_jupyterlite_ai||[]).push([[19],{6019:(e,t,r)=>{r.d(t,{b:()=>i});var s=r(7418),n=r(9413);class a{constructor(e){this.counter=0,this.metadataRegistry=e?.metadata??s.fd,this.target=e?.target??"draft-2020-12",this.unrepresentable=e?.unrepresentable??"throw",this.override=e?.override??(()=>{}),this.io=e?.io??"output",this.seen=new Map}process(e,t={path:[],schemaPath:[]}){var r;const s=e._zod.def,a={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},i=this.seen.get(e);if(i)return i.count++,t.schemaPath.includes(e)&&(i.cycle=t.path),i.schema;const c={schema:{},count:1,cycle:void 0,path:t.path};this.seen.set(e,c);const p=e._zod.toJSONSchema?.();if(p)c.schema=p;else{const r={...t,schemaPath:[...t.schemaPath,e],path:t.path},i=e._zod.parent;if(i)c.ref=i,this.process(i,r),this.seen.get(i).isParent=!0;else{const t=c.schema;switch(s.type){case"string":{const r=t;r.type="string";const{minimum:s,maximum:n,format:i,patterns:o,contentEncoding:p}=e._zod.bag;if("number"==typeof s&&(r.minLength=s),"number"==typeof n&&(r.maxLength=n),i&&(r.format=a[i]??i,""===r.format&&delete r.format),p&&(r.contentEncoding=p),o&&o.size>0){const e=[...o];1===e.length?r.pattern=e[0].source:e.length>1&&(c.schema.allOf=[...e.map(e=>({..."draft-7"===this.target?{type:"string"}:{},pattern:e.source}))])}break}case"number":{const r=t,{minimum:s,maximum:n,format:a,multipleOf:i,exclusiveMaximum:o,exclusiveMinimum:c}=e._zod.bag;"string"==typeof a&&a.includes("int")?r.type="integer":r.type="number","number"==typeof c&&(r.exclusiveMinimum=c),"number"==typeof s&&(r.minimum=s,"number"==typeof c&&(c>=s?delete r.minimum:delete r.exclusiveMinimum)),"number"==typeof o&&(r.exclusiveMaximum=o),"number"==typeof n&&(r.maximum=n,"number"==typeof o&&(o<=n?delete r.maximum:delete r.exclusiveMaximum)),"number"==typeof i&&(r.multipleOf=i);break}case"boolean":case"success":t.type="boolean";break;case"bigint":if("throw"===this.unrepresentable)throw new Error("BigInt cannot be represented in JSON Schema");break;case"symbol":if("throw"===this.unrepresentable)throw new Error("Symbols cannot be represented in JSON Schema");break;case"null":t.type="null";break;case"any":case"unknown":break;case"undefined":if("throw"===this.unrepresentable)throw new Error("Undefined cannot be represented in JSON Schema");break;case"void":if("throw"===this.unrepresentable)throw new Error("Void cannot be represented in JSON Schema");break;case"never":t.not={};break;case"date":if("throw"===this.unrepresentable)throw new Error("Date cannot be represented in JSON Schema");break;case"array":{const n=t,{minimum:a,maximum:i}=e._zod.bag;"number"==typeof a&&(n.minItems=a),"number"==typeof i&&(n.maxItems=i),n.type="array",n.items=this.process(s.element,{...r,path:[...r.path,"items"]});break}case"object":{const e=t;e.type="object",e.properties={};const n=s.shape;for(const t in n)e.properties[t]=this.process(n[t],{...r,path:[...r.path,"properties",t]});const a=new Set(Object.keys(n)),i=new Set([...a].filter(e=>{const t=s.shape[e]._zod;return"input"===this.io?void 0===t.optin:void 0===t.optout}));i.size>0&&(e.required=Array.from(i)),"never"===s.catchall?._zod.def.type?e.additionalProperties=!1:s.catchall?s.catchall&&(e.additionalProperties=this.process(s.catchall,{...r,path:[...r.path,"additionalProperties"]})):"output"===this.io&&(e.additionalProperties=!1);break}case"union":t.anyOf=s.options.map((e,t)=>this.process(e,{...r,path:[...r.path,"anyOf",t]}));break;case"intersection":{const e=t,n=this.process(s.left,{...r,path:[...r.path,"allOf",0]}),a=this.process(s.right,{...r,path:[...r.path,"allOf",1]}),i=e=>"allOf"in e&&1===Object.keys(e).length,o=[...i(n)?n.allOf:[n],...i(a)?a.allOf:[a]];e.allOf=o;break}case"tuple":{const n=t;n.type="array";const a=s.items.map((e,t)=>this.process(e,{...r,path:[...r.path,"prefixItems",t]}));if("draft-2020-12"===this.target?n.prefixItems=a:n.items=a,s.rest){const e=this.process(s.rest,{...r,path:[...r.path,"items"]});"draft-2020-12"===this.target?n.items=e:n.additionalItems=e}s.rest&&(n.items=this.process(s.rest,{...r,path:[...r.path,"items"]}));const{minimum:i,maximum:o}=e._zod.bag;"number"==typeof i&&(n.minItems=i),"number"==typeof o&&(n.maxItems=o);break}case"record":{const e=t;e.type="object",e.propertyNames=this.process(s.keyType,{...r,path:[...r.path,"propertyNames"]}),e.additionalProperties=this.process(s.valueType,{...r,path:[...r.path,"additionalProperties"]});break}case"map":if("throw"===this.unrepresentable)throw new Error("Map cannot be represented in JSON Schema");break;case"set":if("throw"===this.unrepresentable)throw new Error("Set cannot be represented in JSON Schema");break;case"enum":{const e=t,r=(0,n.w5)(s.entries);r.every(e=>"number"==typeof e)&&(e.type="number"),r.every(e=>"string"==typeof e)&&(e.type="string"),e.enum=r;break}case"literal":{const e=t,r=[];for(const e of s.values)if(void 0===e){if("throw"===this.unrepresentable)throw new Error("Literal `undefined` cannot be represented in JSON Schema")}else if("bigint"==typeof e){if("throw"===this.unrepresentable)throw new Error("BigInt literals cannot be represented in JSON Schema");r.push(Number(e))}else r.push(e);if(0===r.length);else if(1===r.length){const t=r[0];e.type=null===t?"null":typeof t,e.const=t}else r.every(e=>"number"==typeof e)&&(e.type="number"),r.every(e=>"string"==typeof e)&&(e.type="string"),r.every(e=>"boolean"==typeof e)&&(e.type="string"),r.every(e=>null===e)&&(e.type="null"),e.enum=r;break}case"file":{const r=t,s={type:"string",format:"binary",contentEncoding:"binary"},{minimum:n,maximum:a,mime:i}=e._zod.bag;void 0!==n&&(s.minLength=n),void 0!==a&&(s.maxLength=a),i?1===i.length?(s.contentMediaType=i[0],Object.assign(r,s)):r.anyOf=i.map(e=>({...s,contentMediaType:e})):Object.assign(r,s);break}case"transform":if("throw"===this.unrepresentable)throw new Error("Transforms cannot be represented in JSON Schema");break;case"nullable":{const e=this.process(s.innerType,r);t.anyOf=[e,{type:"null"}];break}case"nonoptional":case"promise":case"optional":this.process(s.innerType,r),c.ref=s.innerType;break;case"default":this.process(s.innerType,r),c.ref=s.innerType,t.default=JSON.parse(JSON.stringify(s.defaultValue));break;case"prefault":this.process(s.innerType,r),c.ref=s.innerType,"input"===this.io&&(t._prefault=JSON.parse(JSON.stringify(s.defaultValue)));break;case"catch":{let e;this.process(s.innerType,r),c.ref=s.innerType;try{e=s.catchValue(void 0)}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}t.default=e;break}case"nan":if("throw"===this.unrepresentable)throw new Error("NaN cannot be represented in JSON Schema");break;case"template_literal":{const r=t,s=e._zod.pattern;if(!s)throw new Error("Pattern not found in template literal");r.type="string",r.pattern=s.source;break}case"pipe":{const e="input"===this.io?"transform"===s.in._zod.def.type?s.out:s.in:s.out;this.process(e,r),c.ref=e;break}case"readonly":this.process(s.innerType,r),c.ref=s.innerType,t.readOnly=!0;break;case"lazy":{const t=e._zod.innerType;this.process(t,r),c.ref=t;break}case"custom":if("throw"===this.unrepresentable)throw new Error("Custom types cannot be represented in JSON Schema")}}}const h=this.metadataRegistry.get(e);return h&&Object.assign(c.schema,h),"input"===this.io&&o(e)&&(delete c.schema.examples,delete c.schema.default),"input"===this.io&&c.schema._prefault&&((r=c.schema).default??(r.default=c.schema._prefault)),delete c.schema._prefault,this.seen.get(e).schema}emit(e,t){const r={cycles:t?.cycles??"ref",reused:t?.reused??"inline",external:t?.external??void 0},s=this.seen.get(e);if(!s)throw new Error("Unprocessed schema. This is a bug in Zod.");const n=e=>{const t="draft-2020-12"===this.target?"$defs":"definitions";if(r.external){const s=r.external.registry.get(e[0])?.id,n=r.external.uri??(e=>e);if(s)return{ref:n(s)};const a=e[1].defId??e[1].schema.id??"schema"+this.counter++;return e[1].defId=a,{defId:a,ref:`${n("__shared")}#/${t}/${a}`}}if(e[1]===s)return{ref:"#"};const n=`#/${t}/`,a=e[1].schema.id??"__schema"+this.counter++;return{defId:a,ref:n+a}},a=e=>{if(e[1].schema.$ref)return;const t=e[1],{ref:r,defId:s}=n(e);t.def={...t.schema},s&&(t.defId=s);const a=t.schema;for(const e in a)delete a[e];a.$ref=r};if("throw"===r.cycles)for(const e of this.seen.entries()){const t=e[1];if(t.cycle)throw new Error(`Cycle detected: #/${t.cycle?.join("/")}/<root>\n\nSet the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(const t of this.seen.entries()){const s=t[1];if(e===t[0]){a(t);continue}if(r.external){const s=r.external.registry.get(t[0])?.id;if(e!==t[0]&&s){a(t);continue}}const n=this.metadataRegistry.get(t[0])?.id;(n||s.cycle||s.count>1&&"ref"===r.reused)&&a(t)}const i=(e,t)=>{const r=this.seen.get(e),s=r.def??r.schema,n={...s};if(null===r.ref)return;const a=r.ref;if(r.ref=null,a){i(a,t);const e=this.seen.get(a).schema;e.$ref&&"draft-7"===t.target?(s.allOf=s.allOf??[],s.allOf.push(e)):(Object.assign(s,e),Object.assign(s,n))}r.isParent||this.override({zodSchema:e,jsonSchema:s,path:r.path??[]})};for(const e of[...this.seen.entries()].reverse())i(e[0],{target:this.target});const o={};if("draft-2020-12"===this.target?o.$schema="https://json-schema.org/draft/2020-12/schema":"draft-7"===this.target?o.$schema="http://json-schema.org/draft-07/schema#":console.warn(`Invalid target: ${this.target}`),r.external?.uri){const t=r.external.registry.get(e)?.id;if(!t)throw new Error("Schema is missing an `id` property");o.$id=r.external.uri(t)}Object.assign(o,s.def);const c=r.external?.defs??{};for(const e of this.seen.entries()){const t=e[1];t.def&&t.defId&&(c[t.defId]=t.def)}r.external||Object.keys(c).length>0&&("draft-2020-12"===this.target?o.$defs=c:o.definitions=c);try{return JSON.parse(JSON.stringify(o))}catch(e){throw new Error("Error converting schema to JSON.")}}}function i(e,t){if(e instanceof s.rs){const r=new a(t),s={};for(const t of e._idmap.entries()){const[e,s]=t;r.process(s)}const n={},i={registry:e,uri:t?.uri,defs:s};for(const s of e._idmap.entries()){const[e,a]=s;n[e]=r.emit(a,{...t,external:i})}if(Object.keys(s).length>0){const e="draft-2020-12"===r.target?"$defs":"definitions";n.__shared={[e]:s}}return{schemas:n}}const r=new a(t);return r.process(e),r.emit(e,t)}function o(e,t){const r=t??{seen:new Set};if(r.seen.has(e))return!1;r.seen.add(e);const s=e._zod.def;switch(s.type){case"string":case"number":case"bigint":case"boolean":case"date":case"symbol":case"undefined":case"null":case"any":case"unknown":case"never":case"void":case"literal":case"enum":case"nan":case"file":case"template_literal":case"custom":case"success":case"catch":return!1;case"array":return o(s.element,r);case"object":for(const e in s.shape)if(o(s.shape[e],r))return!0;return!1;case"union":for(const e of s.options)if(o(e,r))return!0;return!1;case"intersection":return o(s.left,r)||o(s.right,r);case"tuple":for(const e of s.items)if(o(e,r))return!0;return!(!s.rest||!o(s.rest,r));case"record":case"map":return o(s.keyType,r)||o(s.valueType,r);case"set":return o(s.valueType,r);case"promise":case"optional":case"nonoptional":case"nullable":case"readonly":case"default":case"prefault":return o(s.innerType,r);case"lazy":return o(s.getter(),r);case"transform":return!0;case"pipe":return o(s.in,r)||o(s.out,r)}throw new Error(`Unknown schema type: ${s.type}`)}}}]);
|