@decocms/mesh 1.9.0 → 1.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client/assets/{AlertCircle-BrGqb-qb.js → AlertCircle-DIUuKH85.js} +1 -1
- package/dist/client/assets/{ArrowLeft-B6h573ak.js → ArrowLeft-CkUzXRaI.js} +1 -1
- package/dist/client/assets/{ChevronDown-BuogCeI0.js → ChevronDown-BvW0ckZD.js} +1 -1
- package/dist/client/assets/ChevronRight-CZtzKGIu.js +1 -0
- package/dist/client/assets/{Copy01-_s71W2Ph.js → Copy01-CuJ0g2xO.js} +1 -1
- package/dist/client/assets/DotsHorizontal-DYEmF2Ja.js +1 -0
- package/dist/client/assets/{DotsVertical-BQk5hPxb.js → DotsVertical-BeEwh9bI.js} +1 -1
- package/dist/client/assets/{File06-CpSSTggW.js → File06-CRLpAcG8.js} +1 -1
- package/dist/client/assets/FilterLines-Dunahtdb.js +1 -0
- package/dist/client/assets/{FlipBackward-C0O2fx27.js → FlipBackward-BNVbTeUf.js} +1 -1
- package/dist/client/assets/{GitBranch01-DjmPf135.js → GitBranch01-C6HWIzG8.js} +1 -1
- package/dist/client/assets/{Grid01-CmB5R6oU.js → Grid01-abxNmH9m.js} +1 -1
- package/dist/client/assets/{Inbox01-Ct-8Lwpv.js → Inbox01-BgT9AcaM.js} +1 -1
- package/dist/client/assets/{InfoCircle-D6JXYJn_.js → InfoCircle-BsiOwq0l.js} +1 -1
- package/dist/client/assets/{Key01-ZVAVplBN.js → Key01-B5WpAxl2.js} +1 -1
- package/dist/client/assets/{LinkExternal01-DfHTXuZ9.js → LinkExternal01-CZ9G6wJu.js} +1 -1
- package/dist/client/assets/{Loading01-0wYmSKV6.js → Loading01-moxMTYJZ.js} +1 -1
- package/dist/client/assets/{Lock01-D5nrmOSx.js → Lock01-DK8m996z.js} +1 -1
- package/dist/client/assets/Play-ZrtDSXtF.js +1 -0
- package/dist/client/assets/{Plus-DofiSAMU.js → Plus-CmJGP3Pi.js} +1 -1
- package/dist/client/assets/{Terminal-CStBCUAd.js → Terminal-D78hWJeY.js} +1 -1
- package/dist/client/assets/{Trash01-DnTS63e5.js → Trash01-D5RX1AvX.js} +1 -1
- package/dist/client/assets/{X-DeVUfdHG.js → X-DYwfZFnc.js} +1 -1
- package/dist/client/assets/XClose-Blj-z_Lg.js +1 -0
- package/dist/client/assets/{alert-dialog-BU8uTWb8.js → alert-dialog-2_Xl_cUo.js} +3 -3
- package/dist/client/assets/auth-CPKE7Qi_.js +1 -0
- package/dist/client/assets/{auth-catchall-2WBu6I6H.js → auth-catchall-asPM_Gpt.js} +1 -1
- package/dist/client/assets/{avatar-KDpJ2jsd.js → avatar-NJ2X4Ohl.js} +1 -1
- package/dist/client/assets/{badge-CStgouQf.js → badge-CSFb4yoL.js} +1 -1
- package/dist/client/assets/button-B6d9pLjw.js +1 -0
- package/dist/client/assets/{card-BnWpolEI.js → card-D98cnfOH.js} +1 -1
- package/dist/client/assets/checkbox-B3KsIzSA.js +1 -0
- package/dist/client/assets/{collection-detail-DnxFiEu9.js → collection-detail-7jpdrsjG.js} +41 -41
- package/dist/client/assets/collection-display-button-B_3aOLS4.js +1 -0
- package/dist/client/assets/{collection-header-DBUE7n6H.js → collection-header-Dofk8u1h.js} +1 -1
- package/dist/client/assets/{collection-page-BHk1uJKe.js → collection-page-B1QnvJAf.js} +1 -1
- package/dist/client/assets/collection-search-DT3IVSbs.js +1 -0
- package/dist/client/assets/collection-tab-2aj2IyYN.js +1 -0
- package/dist/client/assets/{collection-table-wrapper-BRI7T6RJ.js → collection-table-wrapper-DzYv1LYJ.js} +1 -1
- package/dist/client/assets/{connection-card-DMv3uM_n.js → connection-card-DoZG4KYv.js} +1 -1
- package/dist/client/assets/connection-detail-CG5F7eYm.js +1 -0
- package/dist/client/assets/connections-DBqko-au.js +1 -0
- package/dist/client/assets/constants-CRMW04Tq.js +1 -0
- package/dist/client/assets/{create-organization-dialog-DbNHSUuq.js → create-organization-dialog-chOw1gL3.js} +1 -1
- package/dist/client/assets/{dialog-CJsBFVDy.js → dialog-CaCpZWVz.js} +1 -1
- package/dist/client/assets/dropdown-menu-DKq7y9Ab.js +1 -0
- package/dist/client/assets/{empty-state-Bg-FRZa4.js → empty-state-xLD9BV9Z.js} +1 -1
- package/dist/client/assets/env-vars-editor-BIyKC4Rz.js +1 -0
- package/dist/client/assets/{error-boundary-CsEoagci.js → error-boundary-ZHp5NunN.js} +1 -1
- package/dist/client/assets/extract-connection-data-DaYEiIhd.js +1 -0
- package/dist/client/assets/{form-BjarY-Jq.js → form-C_Mz-Re1.js} +1 -1
- package/dist/client/assets/{formatDistanceToNow-fhdySMxO.js → formatDistanceToNow-CxfQwfjE.js} +1 -1
- package/dist/client/assets/gateway-detail-BH34ou9a.js +1 -0
- package/dist/client/assets/gateway-selector-DgKTRIKP.js +1 -0
- package/dist/client/assets/gateways-D_z8EWpe.js +1 -0
- package/dist/client/assets/github-icon-BrF3LMLL.js +1 -0
- package/dist/client/assets/{home-BXCs6vTQ.js → home-DwiZZ6Lk.js} +1 -1
- package/dist/client/assets/index-BjKus4OW.css +1 -0
- package/dist/client/assets/{index-CRGUNI2v.js → index-CjDpnJWb.js} +5 -5
- package/dist/client/assets/index-CytkXEgd.js +155 -0
- package/dist/client/assets/index-DFBaadWa.js +1 -0
- package/dist/client/assets/{input-BxywPo2X.js → input-hiMZ1V63.js} +1 -1
- package/dist/client/assets/{layout-Dfp1nH3g.js → layout-DEsRSKAp.js} +1 -1
- package/dist/client/assets/{lazy-highlighter-DYlTa9LA.js → lazy-highlighter-CgR5ZMfY.js} +1 -1
- package/dist/client/assets/{localstorage-keys-Bj9V9Nbd.js → localstorage-keys-CpCKetOn.js} +1 -1
- package/dist/client/assets/{login-BfaeBzql.js → login-9yN2SgKi.js} +1 -1
- package/dist/client/assets/{mcp-oauth-Vd_yzV5S.js → mcp-oauth-D_E4Op0m.js} +1 -1
- package/dist/client/assets/mcp-server-detail-DPNY9vgF.js +1 -0
- package/dist/client/assets/members-VwgW_g24.js +3 -0
- package/dist/client/assets/{monaco-editor-mQfzbJMr.js → monaco-editor-DAqCldiN.js} +4 -4
- package/dist/client/assets/monitoring-BdaWFgQZ.js +49 -0
- package/dist/client/assets/{oauth-callback-Cwog6Jzh.js → oauth-callback-C_lwUhYa.js} +1 -1
- package/dist/client/assets/page-BH17Xeeo.js +35 -0
- package/dist/client/assets/page-CRqZQKSl.js +1 -0
- package/dist/client/assets/pin-to-sidebar-button-Dmct01St.js +1 -0
- package/dist/client/assets/popover-Clubonj7.js +1 -0
- package/dist/client/assets/project-context-provider-DtvnTwVB.js +1 -0
- package/dist/client/assets/resizable-BPaAYZlg.js +1 -0
- package/dist/client/assets/{resource-tabs-s0IiCCzU.js → resource-tabs-D70FgHGt.js} +1 -1
- package/dist/client/assets/select-DSYJVHKu.js +1 -0
- package/dist/client/assets/settings-D8ofqvqO.js +1 -0
- package/dist/client/assets/shell-layout-GW5ptB5d.js +19 -0
- package/dist/client/assets/{spinner-D7ZAVJCR.js → spinner-wRRUlECI.js} +1 -1
- package/dist/client/assets/switch-DBKcBjJ4.js +1 -0
- package/dist/client/assets/{textarea-DNeEC-Sl.js → textarea-YnyjDZNX.js} +1 -1
- package/dist/client/assets/{thread-history-popover-CykPOF9f.js → thread-history-popover-MOKjUScw.js} +37 -37
- package/dist/client/assets/tools-list-CurlBMu7.js +1 -0
- package/dist/client/assets/{use-binding-C5e_Y70M.js → use-binding-DQAwqqzW.js} +8 -8
- package/dist/client/assets/use-connection-CD_z3y8h.js +2 -0
- package/dist/client/assets/{use-connection-resources-CjjFKWSM.js → use-connection-resources-vGIbHphJ.js} +1 -1
- package/dist/client/assets/use-gateway-DTR5dTeA.js +1 -0
- package/dist/client/assets/{use-list-state-B13SO1z3.js → use-list-state-Da9AxEO9.js} +1 -1
- package/dist/client/assets/{use-mcp-CPBDJGOj.js → use-mcp-BX-QiIqs.js} +1 -1
- package/dist/client/assets/use-members-CCurAGbi.js +1 -0
- package/dist/client/assets/{use-mobile-VYFif8jU.js → use-mobile-h7BkfBcD.js} +1 -1
- package/dist/client/assets/{use-organization-settings-i4aS_Egu.js → use-organization-settings-B9z0BdMT.js} +1 -1
- package/dist/client/assets/{use-tool-call-BdbJ3oy8.js → use-tool-call-NuFBLRMj.js} +1 -1
- package/dist/client/assets/useQuery-DUm3_rZs.js +1 -0
- package/dist/client/assets/value-BH4rnske.js +1 -0
- package/dist/client/assets/{view-mode-toggle-BXo-WMnB.js → view-mode-toggle-DZJhL4Oe.js} +1 -1
- package/dist/client/assets/{well-known-mcp-VNRT0JrW.js → well-known-mcp-D13f-8h2.js} +1 -1
- package/dist/client/assets/workflow-Btak9-NU.js +1 -0
- package/dist/client/index.html +2 -2
- package/dist/server/cli.js +2 -2
- package/dist/server/server.js +2 -2
- package/package.json +2 -3
- package/dist/client/assets/Clock-LzAlJ-1R.js +0 -1
- package/dist/client/assets/Code01-Wll8WS4F.js +0 -1
- package/dist/client/assets/CpuChip02-BwTl0fBj.js +0 -1
- package/dist/client/assets/Play-BedrzKsi.js +0 -1
- package/dist/client/assets/SearchMd-D70t5LVP.js +0 -1
- package/dist/client/assets/XClose-5A0s2w1d.js +0 -1
- package/dist/client/assets/auth-DpA5_jth.js +0 -1
- package/dist/client/assets/button-IijH0wdI.js +0 -1
- package/dist/client/assets/checkbox-BYeNlYdH.js +0 -1
- package/dist/client/assets/collection-display-button-2ZQ5sQTW.js +0 -1
- package/dist/client/assets/collection-search-CM9rltH6.js +0 -1
- package/dist/client/assets/collection-tab-ClOnLgHC.js +0 -1
- package/dist/client/assets/connection-detail-Cs5NpuH7.js +0 -1
- package/dist/client/assets/connections-DSbytdP0.js +0 -1
- package/dist/client/assets/constants-TKUQnnwA.js +0 -1
- package/dist/client/assets/dropdown-menu-BvLCKekW.js +0 -1
- package/dist/client/assets/env-vars-editor-Z7SwcUr8.js +0 -1
- package/dist/client/assets/extract-connection-data-BgA1QcA6.js +0 -1
- package/dist/client/assets/gateway-detail-DeFxNps5.js +0 -1
- package/dist/client/assets/gateways-CXlSFkKr.js +0 -1
- package/dist/client/assets/index-9pHY4m3c.css +0 -1
- package/dist/client/assets/index-BGEzzv-W.js +0 -1
- package/dist/client/assets/index-BLgTJ8o3.js +0 -155
- package/dist/client/assets/index-B_OB0BCO.js +0 -1
- package/dist/client/assets/members-fIe1QSNh.js +0 -3
- package/dist/client/assets/monitoring-I1RqzeAN.js +0 -4
- package/dist/client/assets/page-BVptnX4j.js +0 -21
- package/dist/client/assets/pin-to-sidebar-button-C8t5xznu.js +0 -1
- package/dist/client/assets/popover-CwHNob2q.js +0 -1
- package/dist/client/assets/registry-utils-ulDDT0d8.js +0 -1
- package/dist/client/assets/resizable-DybyPt6-.js +0 -1
- package/dist/client/assets/responsive-select-INSf3elv.js +0 -1
- package/dist/client/assets/select-C0rvNlZx.js +0 -1
- package/dist/client/assets/settings-3Or8ShnF.js +0 -1
- package/dist/client/assets/shell-layout-4x0MHQQc.js +0 -19
- package/dist/client/assets/store-Bl_0XUq8.js +0 -1
- package/dist/client/assets/store-app-detail--3qLKygc.js +0 -1
- package/dist/client/assets/switch-D37mVt_9.js +0 -1
- package/dist/client/assets/tools-list-CFmwpEf4.js +0 -1
- package/dist/client/assets/tooltip-CSuczTFq.js +0 -1
- package/dist/client/assets/types-CJK7iTsI.js +0 -46
- package/dist/client/assets/use-connection-CsPrFY0x.js +0 -2
- package/dist/client/assets/use-gateway-Bz_y7oh7.js +0 -1
- package/dist/client/assets/use-members-b3tDRslY.js +0 -1
- package/dist/client/assets/useQuery-DXchCtgN.js +0 -1
- package/dist/client/assets/useSuspenseInfiniteQuery-BLpBJxLd.js +0 -1
- package/dist/client/assets/workflow-wGJTSVc-.js +0 -1
package/dist/server/server.js
CHANGED
|
@@ -1062,7 +1062,7 @@ Create an API key: https://vercel.com/d?to=%2F%5Bteam%5D%2F%7E%2Fai%2Fapi-keys
|
|
|
1062
1062
|
Provide via 'apiKey' option or 'AI_GATEWAY_API_KEY' environment variable.
|
|
1063
1063
|
|
|
1064
1064
|
Option 2 - OIDC token:
|
|
1065
|
-
Run 'npx vercel link' to link your project, then 'vc env pull' to fetch the token.`;return new Q({message:Z,statusCode:G,cause:W})}},EG1="GatewayInvalidRequestError",P_6=`vercel.ai.gateway.error.${EG1}`,WG1=Symbol.for(P_6),ZG1,$G1,T_6=class extends($G1=yY,ZG1=WG1,$G1){constructor({message:Q="Invalid request",statusCode:X=400,cause:Y}={}){super({message:Q,statusCode:X,cause:Y});this[ZG1]=!0,this.name=EG1,this.type="invalid_request_error"}static isInstance(Q){return yY.hasMarker(Q)&&WG1 in Q}},jG1="GatewayRateLimitError",A_6=`vercel.ai.gateway.error.${jG1}`,KG1=Symbol.for(A_6),HG1,FG1,E_6=class extends(FG1=yY,HG1=KG1,FG1){constructor({message:Q="Rate limit exceeded",statusCode:X=429,cause:Y}={}){super({message:Q,statusCode:X,cause:Y});this[HG1]=!0,this.name=jG1,this.type="rate_limit_exceeded"}static isInstance(Q){return yY.hasMarker(Q)&&KG1 in Q}},CG1="GatewayModelNotFoundError",j_6=`vercel.ai.gateway.error.${CG1}`,VG1=Symbol.for(j_6),C_6=OX(()=>z9(N.object({modelId:N.string()}))),qG1,zG1,I_6=class extends(zG1=yY,qG1=VG1,zG1){constructor({message:Q="Model not found",statusCode:X=404,modelId:Y,cause:J}={}){super({message:Q,statusCode:X,cause:J});this[qG1]=!0,this.name=CG1,this.type="model_not_found",this.modelId=Y}static isInstance(Q){return yY.hasMarker(Q)&&VG1 in Q}},IG1="GatewayInternalServerError",R_6=`vercel.ai.gateway.error.${IG1}`,UG1=Symbol.for(R_6),BG1,DG1,NG1=class extends(DG1=yY,BG1=UG1,DG1){constructor({message:Q="Internal server error",statusCode:X=500,cause:Y}={}){super({message:Q,statusCode:X,cause:Y});this[BG1]=!0,this.name=IG1,this.type="internal_server_error"}static isInstance(Q){return yY.hasMarker(Q)&&UG1 in Q}},RG1="GatewayResponseError",S_6=`vercel.ai.gateway.error.${RG1}`,OG1=Symbol.for(S_6),LG1,wG1,k_6=class extends(wG1=yY,LG1=OG1,wG1){constructor({message:Q="Invalid response from Gateway",statusCode:X=502,response:Y,validationError:J,cause:G}={}){super({message:Q,statusCode:X,cause:G});this[LG1]=!0,this.name=RG1,this.type="response_error",this.response=Y,this.validationError=J}static isInstance(Q){return yY.hasMarker(Q)&&OG1 in Q}};async function MG1({response:Q,statusCode:X,defaultMessage:Y="Gateway request failed",cause:J,authMethod:G}){let W=await LX({value:Q,schema:v_6});if(!W.success)return new k_6({message:`Invalid error response format: ${Y}`,statusCode:X,response:Q,validationError:W.error,cause:J});let Z=W.value,$=Z.error.type,K=Z.error.message;switch($){case"authentication_error":return fy.createContextualError({apiKeyProvided:G==="api-key",oidcTokenProvided:G==="oidc",statusCode:X,cause:J});case"invalid_request_error":return new T_6({message:K,statusCode:X,cause:J});case"rate_limit_exceeded":return new E_6({message:K,statusCode:X,cause:J});case"model_not_found":{let H=await LX({value:Z.error.param,schema:C_6});return new I_6({message:K,statusCode:X,modelId:H.success?H.value.modelId:void 0,cause:J})}case"internal_server_error":return new NG1({message:K,statusCode:X,cause:J});default:return new NG1({message:K,statusCode:X,cause:J})}}var v_6=OX(()=>z9(N.object({error:N.object({message:N.string(),type:N.string().nullish(),param:N.unknown().nullish(),code:N.union([N.string(),N.number()]).nullish()})})));function o$(Q,X){var Y;if(yY.isInstance(Q))return Q;if(r8.isInstance(Q))return MG1({response:__6(Q),statusCode:(Y=Q.statusCode)!=null?Y:500,defaultMessage:"Gateway request failed",cause:Q,authMethod:X});return MG1({response:{},statusCode:500,defaultMessage:Q instanceof Error?`Gateway request failed: ${Q.message}`:"Unknown Gateway error",cause:Q,authMethod:X})}function __6(Q){if(Q.data!==void 0)return Q.data;if(Q.responseBody!=null)try{return JSON.parse(Q.responseBody)}catch(X){return Q.responseBody}return{}}var SG1="ai-gateway-auth-method";async function yU(Q){let X=await LX({value:Q[SG1],schema:y_6});return X.success?X.value:void 0}var y_6=OX(()=>z9(N.union([N.literal("api-key"),N.literal("oidc")]))),PG1=class{constructor(Q){this.config=Q}async getAvailableModels(){try{let{value:Q}=await D80({url:`${this.config.baseURL}/config`,headers:await U9(this.config.headers()),successfulResponseHandler:f7(b_6),failedResponseHandler:JW({errorSchema:N.any(),errorToMessage:(X)=>X}),fetch:this.config.fetch});return Q}catch(Q){throw await o$(Q)}}async getCredits(){try{let Q=new URL(this.config.baseURL),{value:X}=await D80({url:`${Q.origin}/v1/credits`,headers:await U9(this.config.headers()),successfulResponseHandler:f7(f_6),failedResponseHandler:JW({errorSchema:N.any(),errorToMessage:(Y)=>Y}),fetch:this.config.fetch});return X}catch(Q){throw await o$(Q)}}},b_6=OX(()=>z9(N.object({models:N.array(N.object({id:N.string(),name:N.string(),description:N.string().nullish(),pricing:N.object({input:N.string(),output:N.string(),input_cache_read:N.string().nullish(),input_cache_write:N.string().nullish()}).transform(({input:Q,output:X,input_cache_read:Y,input_cache_write:J})=>({input:Q,output:X,...Y?{cachedInputTokens:Y}:{},...J?{cacheCreationInputTokens:J}:{}})).nullish(),specification:N.object({specificationVersion:N.literal("v3"),provider:N.string(),modelId:N.string()}),modelType:N.enum(["language","embedding","image"]).nullish()}))}))),f_6=OX(()=>z9(N.object({balance:N.string(),total_used:N.string()}).transform(({balance:Q,total_used:X})=>({balance:Q,totalUsed:X})))),h_6=class{constructor(Q,X){this.modelId=Q,this.config=X,this.specificationVersion="v3",this.supportedUrls={"*/*":[/.*/]}}get provider(){return this.config.provider}async getArgs(Q){let{abortSignal:X,...Y}=Q;return{args:this.maybeEncodeFileParts(Y),warnings:[]}}async doGenerate(Q){let{args:X,warnings:Y}=await this.getArgs(Q),{abortSignal:J}=Q,G=await U9(this.config.headers());try{let{responseHeaders:W,value:Z,rawValue:$}=await YF({url:this.getUrl(),headers:e3(G,Q.headers,this.getModelConfigHeaders(this.modelId,!1),await U9(this.config.o11yHeaders)),body:X,successfulResponseHandler:f7(N.any()),failedResponseHandler:JW({errorSchema:N.any(),errorToMessage:(K)=>K}),...J&&{abortSignal:J},fetch:this.config.fetch});return{...Z,request:{body:X},response:{headers:W,body:$},warnings:Y}}catch(W){throw await o$(W,await yU(G))}}async doStream(Q){let{args:X,warnings:Y}=await this.getArgs(Q),{abortSignal:J}=Q,G=await U9(this.config.headers());try{let{value:W,responseHeaders:Z}=await YF({url:this.getUrl(),headers:e3(G,Q.headers,this.getModelConfigHeaders(this.modelId,!0),await U9(this.config.o11yHeaders)),body:X,successfulResponseHandler:D51(N.any()),failedResponseHandler:JW({errorSchema:N.any(),errorToMessage:($)=>$}),...J&&{abortSignal:J},fetch:this.config.fetch});return{stream:W.pipeThrough(new TransformStream({start($){if(Y.length>0)$.enqueue({type:"stream-start",warnings:Y})},transform($,K){if($.success){let H=$.value;if(H.type==="raw"&&!Q.includeRawChunks)return;if(H.type==="response-metadata"&&H.timestamp&&typeof H.timestamp==="string")H.timestamp=new Date(H.timestamp);K.enqueue(H)}else K.error($.error)}})),request:{body:X},response:{headers:Z}}}catch(W){throw await o$(W,await yU(G))}}isFilePart(Q){return Q&&typeof Q==="object"&&"type"in Q&&Q.type==="file"}maybeEncodeFileParts(Q){for(let X of Q.prompt)for(let Y of X.content)if(this.isFilePart(Y)){let J=Y;if(J.data instanceof Uint8Array){let G=Uint8Array.from(J.data),W=Buffer.from(G).toString("base64");J.data=new URL(`data:${J.mediaType||"application/octet-stream"};base64,${W}`)}}return Q}getUrl(){return`${this.config.baseURL}/language-model`}getModelConfigHeaders(Q,X){return{"ai-language-model-specification-version":"3","ai-language-model-id":Q,"ai-language-model-streaming":String(X)}}},x_6=class{constructor(Q,X){this.modelId=Q,this.config=X,this.specificationVersion="v3",this.maxEmbeddingsPerCall=2048,this.supportsParallelCalls=!0}get provider(){return this.config.provider}async doEmbed({values:Q,headers:X,abortSignal:Y,providerOptions:J}){var G;let W=await U9(this.config.headers());try{let{responseHeaders:Z,value:$,rawValue:K}=await YF({url:this.getUrl(),headers:e3(W,X!=null?X:{},this.getModelConfigHeaders(),await U9(this.config.o11yHeaders)),body:{values:Q,...J?{providerOptions:J}:{}},successfulResponseHandler:f7(g_6),failedResponseHandler:JW({errorSchema:N.any(),errorToMessage:(H)=>H}),...Y&&{abortSignal:Y},fetch:this.config.fetch});return{embeddings:$.embeddings,usage:(G=$.usage)!=null?G:void 0,providerMetadata:$.providerMetadata,response:{headers:Z,body:K},warnings:[]}}catch(Z){throw await o$(Z,await yU(W))}}getUrl(){return`${this.config.baseURL}/embedding-model`}getModelConfigHeaders(){return{"ai-embedding-model-specification-version":"3","ai-model-id":this.modelId}}},g_6=OX(()=>z9(N.object({embeddings:N.array(N.array(N.number())),usage:N.object({tokens:N.number()}).nullish(),providerMetadata:N.record(N.string(),N.record(N.string(),N.unknown())).optional()}))),u_6=class{constructor(Q,X){this.modelId=Q,this.config=X,this.specificationVersion="v3",this.maxImagesPerCall=Number.MAX_SAFE_INTEGER}get provider(){return this.config.provider}async doGenerate({prompt:Q,n:X,size:Y,aspectRatio:J,seed:G,files:W,mask:Z,providerOptions:$,headers:K,abortSignal:H}){var F;let V=await U9(this.config.headers());try{let{responseHeaders:q,value:U,rawValue:D}=await YF({url:this.getUrl(),headers:e3(V,K!=null?K:{},this.getModelConfigHeaders(),await U9(this.config.o11yHeaders)),body:{prompt:Q,n:X,...Y&&{size:Y},...J&&{aspectRatio:J},...G&&{seed:G},...$&&{providerOptions:$},...W&&{files:W.map((B)=>TG1(B))},...Z&&{mask:TG1(Z)}},successfulResponseHandler:f7(l_6),failedResponseHandler:JW({errorSchema:N.any(),errorToMessage:(B)=>B}),...H&&{abortSignal:H},fetch:this.config.fetch});return{images:U.images,warnings:(F=U.warnings)!=null?F:[],providerMetadata:U.providerMetadata,response:{timestamp:new Date,modelId:this.modelId,headers:q}}}catch(q){throw o$(q,await yU(V))}}getUrl(){return`${this.config.baseURL}/image-model`}getModelConfigHeaders(){return{"ai-image-model-specification-version":"3","ai-model-id":this.modelId}}};function TG1(Q){if(Q.type==="file"&&Q.data instanceof Uint8Array)return{...Q,data:XF(Q.data)};return Q}var m_6=N.object({images:N.array(N.unknown()).optional()}).catchall(N.unknown()),l_6=N.object({images:N.array(N.string()),warnings:N.array(N.object({type:N.literal("other"),message:N.string()})).optional(),providerMetadata:N.record(N.string(),m_6).optional()});async function d_6(){var Q;return(Q=kG1.getContext().headers)==null?void 0:Q["x-vercel-id"]}var p_6="3.0.10",c_6="0.0.1";function n_6(Q={}){var X,Y;let J=null,G=null,W=(X=Q.metadataCacheRefreshMillis)!=null?X:300000,Z=0,$=(Y=N51(Q.baseURL))!=null?Y:"https://ai-gateway.vercel.sh/v3/ai",K=async()=>{try{let B=await i_6(Q);return a$({Authorization:`Bearer ${B.token}`,"ai-gateway-protocol-version":c_6,[SG1]:B.authMethod,...Q.headers},`ai-sdk/gateway/${p_6}`)}catch(B){throw fy.createContextualError({apiKeyProvided:!1,oidcTokenProvided:!1,statusCode:401,cause:B})}},H=()=>{let B=qP({settingValue:void 0,environmentVariableName:"VERCEL_DEPLOYMENT_ID"}),L=qP({settingValue:void 0,environmentVariableName:"VERCEL_ENV"}),M=qP({settingValue:void 0,environmentVariableName:"VERCEL_REGION"});return async()=>{let C=await d_6();return{...B&&{"ai-o11y-deployment-id":B},...L&&{"ai-o11y-environment":L},...M&&{"ai-o11y-region":M},...C&&{"ai-o11y-request-id":C}}}},F=(B)=>{return new h_6(B,{provider:"gateway",baseURL:$,headers:K,fetch:Q.fetch,o11yHeaders:H()})},V=async()=>{var B,L,M;let C=(M=(L=(B=Q._internal)==null?void 0:B.currentDate)==null?void 0:L.call(B).getTime())!=null?M:Date.now();if(!J||C-Z>W)Z=C,J=new PG1({baseURL:$,headers:K,fetch:Q.fetch}).getAvailableModels().then((E)=>{return G=E,E}).catch(async(E)=>{throw await o$(E,await yU(await K()))});return G?Promise.resolve(G):J},q=async()=>{return new PG1({baseURL:$,headers:K,fetch:Q.fetch}).getCredits().catch(async(B)=>{throw await o$(B,await yU(await K()))})},U=function(B){if(new.target)throw Error("The Gateway Provider model function cannot be called with the new keyword.");return F(B)};U.specificationVersion="v3",U.getAvailableModels=V,U.getCredits=q,U.imageModel=(B)=>{return new u_6(B,{provider:"gateway",baseURL:$,headers:K,fetch:Q.fetch,o11yHeaders:H()})},U.languageModel=F;let D=(B)=>{return new x_6(B,{provider:"gateway",baseURL:$,headers:K,fetch:Q.fetch,o11yHeaders:H()})};return U.embeddingModel=D,U.textEmbeddingModel=D,U}var _G1=n_6();async function i_6(Q){let X=qP({settingValue:Q.apiKey,environmentVariableName:"AI_GATEWAY_API_KEY"});if(X)return{token:X,authMethod:"api-key"};return{token:await vG1.getVercelOidcToken(),authMethod:"oidc"}}r6();r6();r6();r6();r6();r6();var vW1=m6($1(),1),m80=m6($1(),1);r6();r6();var a_6=Object.defineProperty,r_6=(Q,X)=>{for(var Y in X)a_6(Q,Y,{get:X[Y],enumerable:!0})},lG1="AI_InvalidArgumentError",dG1=`vercel.ai.error.${lG1}`,o_6=Symbol.for(dG1),pG1,GW=class extends P1{constructor({parameter:Q,value:X,message:Y}){super({name:lG1,message:`Invalid argument for parameter ${Q}: ${Y}`});this[pG1]=!0,this.parameter=Q,this.value=X}static isInstance(Q){return P1.hasMarker(Q,dG1)}};pG1=o_6;var s_6="AI_InvalidStreamPartError",t_6=`vercel.ai.error.${s_6}`,e_6=Symbol.for(t_6),Qy6;Qy6=e_6;var cG1="AI_InvalidToolApprovalError",nG1=`vercel.ai.error.${cG1}`,Xy6=Symbol.for(nG1),iG1,Yy6=class extends P1{constructor({approvalId:Q}){super({name:cG1,message:`Tool approval response references unknown approvalId: "${Q}". No matching tool-approval-request found in message history.`});this[iG1]=!0,this.approvalId=Q}static isInstance(Q){return P1.hasMarker(Q,nG1)}};iG1=Xy6;var aG1="AI_InvalidToolInputError",rG1=`vercel.ai.error.${aG1}`,Jy6=Symbol.for(rG1),oG1,n80=class extends P1{constructor({toolInput:Q,toolName:X,cause:Y,message:J=`Invalid input for tool ${X}: ${R5(Y)}`}){super({name:aG1,message:J,cause:Y});this[oG1]=!0,this.toolInput=Q,this.toolName=X}static isInstance(Q){return P1.hasMarker(Q,rG1)}};oG1=Jy6;var sG1="AI_ToolCallNotFoundForApprovalError",tG1=`vercel.ai.error.${sG1}`,Gy6=Symbol.for(tG1),eG1,QW1=class extends P1{constructor({toolCallId:Q,approvalId:X}){super({name:sG1,message:`Tool call "${Q}" not found for approval request "${X}".`});this[eG1]=!0,this.toolCallId=Q,this.approvalId=X}static isInstance(Q){return P1.hasMarker(Q,tG1)}};eG1=Gy6;var Wy6="AI_NoImageGeneratedError",Zy6=`vercel.ai.error.${Wy6}`,$y6=Symbol.for(Zy6),Ky6;Ky6=$y6;var XW1="AI_NoObjectGeneratedError",YW1=`vercel.ai.error.${XW1}`,Hy6=Symbol.for(YW1),JW1,s$=class extends P1{constructor({message:Q="No object generated.",cause:X,text:Y,response:J,usage:G,finishReason:W}){super({name:XW1,message:Q,cause:X});this[JW1]=!0,this.text=Y,this.response=J,this.usage=G,this.finishReason=W}static isInstance(Q){return P1.hasMarker(Q,YW1)}};JW1=Hy6;var GW1="AI_NoOutputGeneratedError",WW1=`vercel.ai.error.${GW1}`,Fy6=Symbol.for(WW1),ZW1,Vy6=class extends P1{constructor({message:Q="No output generated.",cause:X}={}){super({name:GW1,message:Q,cause:X});this[ZW1]=!0}static isInstance(Q){return P1.hasMarker(Q,WW1)}};ZW1=Fy6;var $W1="AI_NoSuchToolError",KW1=`vercel.ai.error.${$W1}`,qy6=Symbol.for(KW1),HW1,g80=class extends P1{constructor({toolName:Q,availableTools:X=void 0,message:Y=`Model tried to call unavailable tool '${Q}'. ${X===void 0?"No tools are available.":`Available tools: ${X.join(", ")}.`}`}){super({name:$W1,message:Y});this[HW1]=!0,this.toolName=Q,this.availableTools=X}static isInstance(Q){return P1.hasMarker(Q,KW1)}};HW1=qy6;var FW1="AI_ToolCallRepairError",VW1=`vercel.ai.error.${FW1}`,zy6=Symbol.for(VW1),qW1,Uy6=class extends P1{constructor({cause:Q,originalError:X,message:Y=`Error repairing tool call: ${R5(Q)}`}){super({name:FW1,message:Y,cause:Q});this[qW1]=!0,this.originalError=X}static isInstance(Q){return P1.hasMarker(Q,VW1)}};qW1=zy6;var By6=class extends P1{constructor(Q){super({name:"AI_UnsupportedModelVersionError",message:`Unsupported model version ${Q.version} for provider "${Q.provider}" and model "${Q.modelId}". AI SDK 5 only supports models that implement specification version "v2".`});this.version=Q.version,this.provider=Q.provider,this.modelId=Q.modelId}},Dy6="AI_InvalidDataContentError",Ny6=`vercel.ai.error.${Dy6}`,Oy6=Symbol.for(Ny6),Ly6;Ly6=Oy6;var zW1="AI_InvalidMessageRoleError",UW1=`vercel.ai.error.${zW1}`,wy6=Symbol.for(UW1),BW1,My6=class extends P1{constructor({role:Q,message:X=`Invalid message role: '${Q}'. Must be one of: "system", "user", "assistant", "tool".`}){super({name:zW1,message:X});this[BW1]=!0,this.role=Q}static isInstance(Q){return P1.hasMarker(Q,UW1)}};BW1=wy6;var DW1="AI_MessageConversionError",NW1=`vercel.ai.error.${DW1}`,Py6=Symbol.for(NW1),OW1,Ty6=class extends P1{constructor({originalMessage:Q,message:X}){super({name:DW1,message:X});this[OW1]=!0,this.originalMessage=Q}static isInstance(Q){return P1.hasMarker(Q,NW1)}};OW1=Py6;var LW1="AI_RetryError",wW1=`vercel.ai.error.${LW1}`,Ay6=Symbol.for(wW1),MW1,yG1=class extends P1{constructor({message:Q,reason:X,errors:Y}){super({name:LW1,message:Q});this[MW1]=!0,this.reason=X,this.errors=Y,this.lastError=Y[Y.length-1]}static isInstance(Q){return P1.hasMarker(Q,wW1)}};MW1=Ay6;function Ey6({warning:Q,provider:X,model:Y}){let J=`AI SDK Warning (${X} / ${Y}):`;switch(Q.type){case"unsupported":{let G=`${J} The feature "${Q.feature}" is not supported.`;if(Q.details)G+=` ${Q.details}`;return G}case"compatibility":{let G=`${J} The feature "${Q.feature}" is used in a compatibility mode.`;if(Q.details)G+=` ${Q.details}`;return G}case"other":return`${J} ${Q.message}`;default:return`${J} ${JSON.stringify(Q,null,2)}`}}var jy6="AI SDK Warning System: To turn off warning logging, set the AI_SDK_LOG_WARNINGS global to false.",bG1=!1,PW1=(Q)=>{if(Q.warnings.length===0)return;let X=globalThis.AI_SDK_LOG_WARNINGS;if(X===!1)return;if(typeof X==="function"){X(Q);return}if(!bG1)bG1=!0,console.info(jy6);for(let Y of Q.warnings)console.warn(Ey6({warning:Y,provider:Q.provider,model:Q.model}))};function Cy6({provider:Q,modelId:X}){PW1({warnings:[{type:"compatibility",feature:"specificationVersion",details:"Using v2 specification compatibility mode. Some features may not be available."}],provider:Q,model:X})}function Iy6(Q){if(Q.specificationVersion==="v3")return Q;return Cy6({provider:Q.provider,modelId:Q.modelId}),new Proxy(Q,{get(X,Y){switch(Y){case"specificationVersion":return"v3";case"doGenerate":return async(...J)=>{let G=await X.doGenerate(...J);return{...G,finishReason:TW1(G.finishReason),usage:AW1(G.usage)}};case"doStream":return async(...J)=>{let G=await X.doStream(...J);return{...G,stream:Ry6(G.stream)}};default:return X[Y]}}})}function Ry6(Q){return Q.pipeThrough(new TransformStream({transform(X,Y){switch(X.type){case"finish":Y.enqueue({...X,finishReason:TW1(X.finishReason),usage:AW1(X.usage)});break;default:Y.enqueue(X);break}}}))}function TW1(Q){return{unified:Q==="unknown"?"other":Q,raw:void 0}}function AW1(Q){return{inputTokens:{total:Q.inputTokens,noCache:void 0,cacheRead:Q.cachedInputTokens,cacheWrite:void 0},outputTokens:{total:Q.outputTokens,text:void 0,reasoning:Q.reasoningTokens}}}function EW1(Q){if(typeof Q!=="string"){if(Q.specificationVersion!=="v3"&&Q.specificationVersion!=="v2"){let X=Q;throw new By6({version:X.specificationVersion,provider:X.provider,modelId:X.modelId})}return Iy6(Q)}return Sy6().languageModel(Q)}function Sy6(){var Q;return(Q=globalThis.AI_SDK_DEFAULT_PROVIDER)!=null?Q:_G1}function jW1(Q){if(Q==null)return;if(typeof Q==="number")return Q;return Q.totalMs}var ky6=[{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]}];var vy6=(Q)=>{let X=typeof Q==="string"?kU(Q):Q,Y=(X[6]&127)<<21|(X[7]&127)<<14|(X[8]&127)<<7|X[9]&127;return X.slice(Y+10)};function _y6(Q){return typeof Q==="string"&&Q.startsWith("SUQz")||typeof Q!=="string"&&Q.length>10&&Q[0]===73&&Q[1]===68&&Q[2]===51?vy6(Q):Q}function yy6({data:Q,signatures:X}){let Y=_y6(Q),J=typeof Y==="string"?kU(Y.substring(0,Math.min(Y.length,24))):Y;for(let G of X)if(J.length>=G.bytesPrefix.length&&G.bytesPrefix.every((W,Z)=>W===null||J[Z]===W))return G.mediaType;return}var by6="6.0.19",fy6=async({url:Q})=>{var X;let Y=Q.toString();try{let J=await fetch(Y,{headers:a$({},`ai-sdk/${by6}`,Sy())});if(!J.ok)throw new Ry({url:Y,statusCode:J.status,statusText:J.statusText});return{data:new Uint8Array(await J.arrayBuffer()),mediaType:(X=J.headers.get("content-type"))!=null?X:void 0}}catch(J){if(Ry.isInstance(J))throw J;throw new Ry({url:Y,cause:J})}},hy6=(Q=fy6)=>(X)=>Promise.all(X.map(async(Y)=>Y.isUrlSupportedByModel?null:Q(Y)));function xy6(Q){try{let[X,Y]=Q.split(",");return{mediaType:X.split(";")[0].split(":")[1],base64Content:Y}}catch(X){return{mediaType:void 0,base64Content:void 0}}}var CW1=N.union([N.string(),N.instanceof(Uint8Array),N.instanceof(ArrayBuffer),N.custom((Q)=>{var X,Y;return(Y=(X=globalThis.Buffer)==null?void 0:X.isBuffer(Q))!=null?Y:!1},{message:"Must be a Buffer"})]);function IW1(Q){if(Q instanceof Uint8Array)return{data:Q,mediaType:void 0};if(Q instanceof ArrayBuffer)return{data:new Uint8Array(Q),mediaType:void 0};if(typeof Q==="string")try{Q=new URL(Q)}catch(X){}if(Q instanceof URL&&Q.protocol==="data:"){let{mediaType:X,base64Content:Y}=xy6(Q.toString());if(X==null||Y==null)throw new P1({name:"InvalidDataContentError",message:`Invalid data URL format in content ${Q.toString()}`});return{data:Y,mediaType:X}}return{data:Q,mediaType:void 0}}function gy6(Q){if(typeof Q==="string")return Q;if(Q instanceof ArrayBuffer)return XF(new Uint8Array(Q));return XF(Q)}function gy(Q){return Q===void 0?[]:Array.isArray(Q)?Q:[Q]}async function uy6({prompt:Q,supportedUrls:X,download:Y=hy6()}){let J=await ly6(Q.messages,Y,X),G=[...Q.system!=null?typeof Q.system==="string"?[{role:"system",content:Q.system}]:gy(Q.system).map((Z)=>({role:"system",content:Z.content,providerOptions:Z.providerOptions})):[],...Q.messages.map((Z)=>my6({message:Z,downloadedAssets:J}))],W=[];for(let Z of G){if(Z.role!=="tool"){W.push(Z);continue}let $=W.at(-1);if(($==null?void 0:$.role)==="tool")$.content.push(...Z.content);else W.push(Z)}return W}function my6({message:Q,downloadedAssets:X}){let Y=Q.role;switch(Y){case"system":return{role:"system",content:Q.content,providerOptions:Q.providerOptions};case"user":{if(typeof Q.content==="string")return{role:"user",content:[{type:"text",text:Q.content}],providerOptions:Q.providerOptions};return{role:"user",content:Q.content.map((J)=>dy6(J,X)).filter((J)=>J.type!=="text"||J.text!==""),providerOptions:Q.providerOptions}}case"assistant":{if(typeof Q.content==="string")return{role:"assistant",content:[{type:"text",text:Q.content}],providerOptions:Q.providerOptions};return{role:"assistant",content:Q.content.filter((J)=>J.type!=="text"||J.text!==""||J.providerOptions!=null).filter((J)=>J.type!=="tool-approval-request").map((J)=>{let G=J.providerOptions;switch(J.type){case"file":{let{data:W,mediaType:Z}=IW1(J.data);return{type:"file",data:W,filename:J.filename,mediaType:Z!=null?Z:J.mediaType,providerOptions:G}}case"reasoning":return{type:"reasoning",text:J.text,providerOptions:G};case"text":return{type:"text",text:J.text,providerOptions:G};case"tool-call":return{type:"tool-call",toolCallId:J.toolCallId,toolName:J.toolName,input:J.input,providerExecuted:J.providerExecuted,providerOptions:G};case"tool-result":return{type:"tool-result",toolCallId:J.toolCallId,toolName:J.toolName,output:fG1(J.output),providerOptions:G}}}),providerOptions:Q.providerOptions}}case"tool":return{role:"tool",content:Q.content.filter((J)=>J.type!=="tool-approval-response"||J.providerExecuted).map((J)=>{switch(J.type){case"tool-result":return{type:"tool-result",toolCallId:J.toolCallId,toolName:J.toolName,output:fG1(J.output),providerOptions:J.providerOptions};case"tool-approval-response":return{type:"tool-approval-response",approvalId:J.approvalId,approved:J.approved,reason:J.reason}}}),providerOptions:Q.providerOptions};default:throw new My6({role:Y})}}async function ly6(Q,X,Y){let J=Q.filter((W)=>W.role==="user").map((W)=>W.content).filter((W)=>Array.isArray(W)).flat().filter((W)=>W.type==="image"||W.type==="file").map((W)=>{var Z;let $=(Z=W.mediaType)!=null?Z:W.type==="image"?"image/*":void 0,K=W.type==="image"?W.image:W.data;if(typeof K==="string")try{K=new URL(K)}catch(H){}return{mediaType:$,data:K}}).filter((W)=>W.data instanceof URL).map((W)=>({url:W.data,isUrlSupportedByModel:W.mediaType!=null&&K51({url:W.data.toString(),mediaType:W.mediaType,supportedUrls:Y})})),G=await X(J);return Object.fromEntries(G.map((W,Z)=>W==null?null:[J[Z].url.toString(),{data:W.data,mediaType:W.mediaType}]).filter((W)=>W!=null))}function dy6(Q,X){var Y;if(Q.type==="text")return{type:"text",text:Q.text,providerOptions:Q.providerOptions};let J,G=Q.type;switch(G){case"image":J=Q.image;break;case"file":J=Q.data;break;default:throw Error(`Unsupported part type: ${G}`)}let{data:W,mediaType:Z}=IW1(J),$=Z!=null?Z:Q.mediaType,K=W;if(K instanceof URL){let H=X[K.toString()];if(H)K=H.data,$!=null||($=H.mediaType)}switch(G){case"image":{if(K instanceof Uint8Array||typeof K==="string")$=(Y=yy6({data:K,signatures:ky6}))!=null?Y:$;return{type:"file",mediaType:$!=null?$:"image/*",filename:void 0,data:K,providerOptions:Q.providerOptions}}case"file":{if($==null)throw Error("Media type is missing for file part");return{type:"file",mediaType:$,filename:Q.filename,data:K,providerOptions:Q.providerOptions}}}}function fG1(Q){if(Q.type!=="content")return Q;return{type:"content",value:Q.value.map((X)=>{if(X.type!=="media")return X;if(X.mediaType.startsWith("image/"))return{type:"image-data",data:X.data,mediaType:X.mediaType};return{type:"file-data",data:X.data,mediaType:X.mediaType}})}}async function fU({toolCallId:Q,input:X,output:Y,tool:J,errorMode:G}){if(G==="text")return{type:"error-text",value:R5(Y)};else if(G==="json")return{type:"error-json",value:hG1(Y)};if(J==null?void 0:J.toModelOutput)return await J.toModelOutput({toolCallId:Q,input:X,output:Y});return typeof Y==="string"?{type:"text",value:Y}:{type:"json",value:hG1(Y)}}function hG1(Q){return Q===void 0?null:Q}function py6({maxOutputTokens:Q,temperature:X,topP:Y,topK:J,presencePenalty:G,frequencyPenalty:W,seed:Z,stopSequences:$}){if(Q!=null){if(!Number.isInteger(Q))throw new GW({parameter:"maxOutputTokens",value:Q,message:"maxOutputTokens must be an integer"});if(Q<1)throw new GW({parameter:"maxOutputTokens",value:Q,message:"maxOutputTokens must be >= 1"})}if(X!=null){if(typeof X!=="number")throw new GW({parameter:"temperature",value:X,message:"temperature must be a number"})}if(Y!=null){if(typeof Y!=="number")throw new GW({parameter:"topP",value:Y,message:"topP must be a number"})}if(J!=null){if(typeof J!=="number")throw new GW({parameter:"topK",value:J,message:"topK must be a number"})}if(G!=null){if(typeof G!=="number")throw new GW({parameter:"presencePenalty",value:G,message:"presencePenalty must be a number"})}if(W!=null){if(typeof W!=="number")throw new GW({parameter:"frequencyPenalty",value:W,message:"frequencyPenalty must be a number"})}if(Z!=null){if(!Number.isInteger(Z))throw new GW({parameter:"seed",value:Z,message:"seed must be an integer"})}return{maxOutputTokens:Q,temperature:X,topP:Y,topK:J,presencePenalty:G,frequencyPenalty:W,stopSequences:$,seed:Z}}function cy6(Q){return Q!=null&&Object.keys(Q).length>0}async function ny6({tools:Q,toolChoice:X,activeTools:Y}){if(!cy6(Q))return{tools:void 0,toolChoice:void 0};let J=Y!=null?Object.entries(Q).filter(([W])=>Y.includes(W)):Object.entries(Q),G=[];for(let[W,Z]of J){let $=Z.type;switch($){case void 0:case"dynamic":case"function":G.push({type:"function",name:W,description:Z.description,inputSchema:await YW(Z.inputSchema).jsonSchema,...Z.inputExamples!=null?{inputExamples:Z.inputExamples}:{},providerOptions:Z.providerOptions,...Z.strict!=null?{strict:Z.strict}:{}});break;case"provider":G.push({type:"provider",name:W,id:Z.id,args:Z.args});break;default:throw Error(`Unsupported tool type: ${$}`)}}return{tools:G,toolChoice:X==null?{type:"auto"}:typeof X==="string"?{type:X}:{type:"tool",toolName:X.toolName}}}var LP=N.lazy(()=>N.union([N.null(),N.string(),N.number(),N.boolean(),N.record(N.string(),LP.optional()),N.array(LP)])),i1=N.record(N.string(),N.record(N.string(),LP.optional())),RW1=N.object({type:N.literal("text"),text:N.string(),providerOptions:i1.optional()}),iy6=N.object({type:N.literal("image"),image:N.union([CW1,N.instanceof(URL)]),mediaType:N.string().optional(),providerOptions:i1.optional()}),SW1=N.object({type:N.literal("file"),data:N.union([CW1,N.instanceof(URL)]),filename:N.string().optional(),mediaType:N.string(),providerOptions:i1.optional()}),ay6=N.object({type:N.literal("reasoning"),text:N.string(),providerOptions:i1.optional()}),ry6=N.object({type:N.literal("tool-call"),toolCallId:N.string(),toolName:N.string(),input:N.unknown(),providerOptions:i1.optional(),providerExecuted:N.boolean().optional()}),oy6=N.discriminatedUnion("type",[N.object({type:N.literal("text"),value:N.string(),providerOptions:i1.optional()}),N.object({type:N.literal("json"),value:LP,providerOptions:i1.optional()}),N.object({type:N.literal("execution-denied"),reason:N.string().optional(),providerOptions:i1.optional()}),N.object({type:N.literal("error-text"),value:N.string(),providerOptions:i1.optional()}),N.object({type:N.literal("error-json"),value:LP,providerOptions:i1.optional()}),N.object({type:N.literal("content"),value:N.array(N.union([N.object({type:N.literal("text"),text:N.string(),providerOptions:i1.optional()}),N.object({type:N.literal("media"),data:N.string(),mediaType:N.string()}),N.object({type:N.literal("file-data"),data:N.string(),mediaType:N.string(),filename:N.string().optional(),providerOptions:i1.optional()}),N.object({type:N.literal("file-url"),url:N.string(),providerOptions:i1.optional()}),N.object({type:N.literal("file-id"),fileId:N.union([N.string(),N.record(N.string(),N.string())]),providerOptions:i1.optional()}),N.object({type:N.literal("image-data"),data:N.string(),mediaType:N.string(),providerOptions:i1.optional()}),N.object({type:N.literal("image-url"),url:N.string(),providerOptions:i1.optional()}),N.object({type:N.literal("image-file-id"),fileId:N.union([N.string(),N.record(N.string(),N.string())]),providerOptions:i1.optional()}),N.object({type:N.literal("custom"),providerOptions:i1.optional()})]))})]),kW1=N.object({type:N.literal("tool-result"),toolCallId:N.string(),toolName:N.string(),output:oy6,providerOptions:i1.optional()}),sy6=N.object({type:N.literal("tool-approval-request"),approvalId:N.string(),toolCallId:N.string()}),ty6=N.object({type:N.literal("tool-approval-response"),approvalId:N.string(),approved:N.boolean(),reason:N.string().optional()}),ey6=N.object({role:N.literal("system"),content:N.string(),providerOptions:i1.optional()}),Qb6=N.object({role:N.literal("user"),content:N.union([N.string(),N.array(N.union([RW1,iy6,SW1]))]),providerOptions:i1.optional()}),Xb6=N.object({role:N.literal("assistant"),content:N.union([N.string(),N.array(N.union([RW1,SW1,ay6,ry6,kW1,sy6]))]),providerOptions:i1.optional()}),Yb6=N.object({role:N.literal("tool"),content:N.array(N.union([kW1,ty6])),providerOptions:i1.optional()}),Jb6=N.union([ey6,Qb6,Xb6,Yb6]);async function Gb6(Q){if(Q.prompt==null&&Q.messages==null)throw new s3({prompt:Q,message:"prompt or messages must be defined"});if(Q.prompt!=null&&Q.messages!=null)throw new s3({prompt:Q,message:"prompt and messages cannot be defined at the same time"});if(Q.system!=null&&typeof Q.system!=="string"&&!gy(Q.system).every((J)=>typeof J==="object"&&J!==null&&("role"in J)&&J.role==="system"))throw new s3({prompt:Q,message:"system must be a string, SystemModelMessage, or array of SystemModelMessage"});let X;if(Q.prompt!=null&&typeof Q.prompt==="string")X=[{role:"user",content:Q.prompt}];else if(Q.prompt!=null&&Array.isArray(Q.prompt))X=Q.prompt;else if(Q.messages!=null)X=Q.messages;else throw new s3({prompt:Q,message:"prompt or messages must be defined"});if(X.length===0)throw new s3({prompt:Q,message:"messages must not be empty"});let Y=await LX({value:X,schema:N.array(Jb6)});if(!Y.success)throw new s3({prompt:Q,message:"The messages do not match the ModelMessage[] schema.",cause:Y.error});return{messages:X,system:Q.system}}function Wb6(Q){if(!fy.isInstance(Q))return Q;let X=(process==null?void 0:"production")==="production",Y="https://ai-sdk.dev/unauthenticated-ai-gateway";if(X)return new P1({name:"GatewayError",message:`Unauthenticated. Configure AI_GATEWAY_API_KEY or use a provider module. Learn more: ${Y}`});return Object.assign(Error(`\x1B[1m\x1B[31mUnauthenticated request to AI Gateway.\x1B[0m
|
|
1065
|
+
Run 'npx vercel link' to link your project, then 'vc env pull' to fetch the token.`;return new Q({message:Z,statusCode:G,cause:W})}},EG1="GatewayInvalidRequestError",P_6=`vercel.ai.gateway.error.${EG1}`,WG1=Symbol.for(P_6),ZG1,$G1,T_6=class extends($G1=yY,ZG1=WG1,$G1){constructor({message:Q="Invalid request",statusCode:X=400,cause:Y}={}){super({message:Q,statusCode:X,cause:Y});this[ZG1]=!0,this.name=EG1,this.type="invalid_request_error"}static isInstance(Q){return yY.hasMarker(Q)&&WG1 in Q}},jG1="GatewayRateLimitError",A_6=`vercel.ai.gateway.error.${jG1}`,KG1=Symbol.for(A_6),HG1,FG1,E_6=class extends(FG1=yY,HG1=KG1,FG1){constructor({message:Q="Rate limit exceeded",statusCode:X=429,cause:Y}={}){super({message:Q,statusCode:X,cause:Y});this[HG1]=!0,this.name=jG1,this.type="rate_limit_exceeded"}static isInstance(Q){return yY.hasMarker(Q)&&KG1 in Q}},CG1="GatewayModelNotFoundError",j_6=`vercel.ai.gateway.error.${CG1}`,VG1=Symbol.for(j_6),C_6=OX(()=>z9(N.object({modelId:N.string()}))),qG1,zG1,I_6=class extends(zG1=yY,qG1=VG1,zG1){constructor({message:Q="Model not found",statusCode:X=404,modelId:Y,cause:J}={}){super({message:Q,statusCode:X,cause:J});this[qG1]=!0,this.name=CG1,this.type="model_not_found",this.modelId=Y}static isInstance(Q){return yY.hasMarker(Q)&&VG1 in Q}},IG1="GatewayInternalServerError",R_6=`vercel.ai.gateway.error.${IG1}`,UG1=Symbol.for(R_6),BG1,DG1,NG1=class extends(DG1=yY,BG1=UG1,DG1){constructor({message:Q="Internal server error",statusCode:X=500,cause:Y}={}){super({message:Q,statusCode:X,cause:Y});this[BG1]=!0,this.name=IG1,this.type="internal_server_error"}static isInstance(Q){return yY.hasMarker(Q)&&UG1 in Q}},RG1="GatewayResponseError",S_6=`vercel.ai.gateway.error.${RG1}`,OG1=Symbol.for(S_6),LG1,wG1,k_6=class extends(wG1=yY,LG1=OG1,wG1){constructor({message:Q="Invalid response from Gateway",statusCode:X=502,response:Y,validationError:J,cause:G}={}){super({message:Q,statusCode:X,cause:G});this[LG1]=!0,this.name=RG1,this.type="response_error",this.response=Y,this.validationError=J}static isInstance(Q){return yY.hasMarker(Q)&&OG1 in Q}};async function MG1({response:Q,statusCode:X,defaultMessage:Y="Gateway request failed",cause:J,authMethod:G}){let W=await LX({value:Q,schema:v_6});if(!W.success)return new k_6({message:`Invalid error response format: ${Y}`,statusCode:X,response:Q,validationError:W.error,cause:J});let Z=W.value,$=Z.error.type,K=Z.error.message;switch($){case"authentication_error":return fy.createContextualError({apiKeyProvided:G==="api-key",oidcTokenProvided:G==="oidc",statusCode:X,cause:J});case"invalid_request_error":return new T_6({message:K,statusCode:X,cause:J});case"rate_limit_exceeded":return new E_6({message:K,statusCode:X,cause:J});case"model_not_found":{let H=await LX({value:Z.error.param,schema:C_6});return new I_6({message:K,statusCode:X,modelId:H.success?H.value.modelId:void 0,cause:J})}case"internal_server_error":return new NG1({message:K,statusCode:X,cause:J});default:return new NG1({message:K,statusCode:X,cause:J})}}var v_6=OX(()=>z9(N.object({error:N.object({message:N.string(),type:N.string().nullish(),param:N.unknown().nullish(),code:N.union([N.string(),N.number()]).nullish()})})));function o$(Q,X){var Y;if(yY.isInstance(Q))return Q;if(r8.isInstance(Q))return MG1({response:__6(Q),statusCode:(Y=Q.statusCode)!=null?Y:500,defaultMessage:"Gateway request failed",cause:Q,authMethod:X});return MG1({response:{},statusCode:500,defaultMessage:Q instanceof Error?`Gateway request failed: ${Q.message}`:"Unknown Gateway error",cause:Q,authMethod:X})}function __6(Q){if(Q.data!==void 0)return Q.data;if(Q.responseBody!=null)try{return JSON.parse(Q.responseBody)}catch(X){return Q.responseBody}return{}}var SG1="ai-gateway-auth-method";async function yU(Q){let X=await LX({value:Q[SG1],schema:y_6});return X.success?X.value:void 0}var y_6=OX(()=>z9(N.union([N.literal("api-key"),N.literal("oidc")]))),PG1=class{constructor(Q){this.config=Q}async getAvailableModels(){try{let{value:Q}=await D80({url:`${this.config.baseURL}/config`,headers:await U9(this.config.headers()),successfulResponseHandler:f7(b_6),failedResponseHandler:JW({errorSchema:N.any(),errorToMessage:(X)=>X}),fetch:this.config.fetch});return Q}catch(Q){throw await o$(Q)}}async getCredits(){try{let Q=new URL(this.config.baseURL),{value:X}=await D80({url:`${Q.origin}/v1/credits`,headers:await U9(this.config.headers()),successfulResponseHandler:f7(f_6),failedResponseHandler:JW({errorSchema:N.any(),errorToMessage:(Y)=>Y}),fetch:this.config.fetch});return X}catch(Q){throw await o$(Q)}}},b_6=OX(()=>z9(N.object({models:N.array(N.object({id:N.string(),name:N.string(),description:N.string().nullish(),pricing:N.object({input:N.string(),output:N.string(),input_cache_read:N.string().nullish(),input_cache_write:N.string().nullish()}).transform(({input:Q,output:X,input_cache_read:Y,input_cache_write:J})=>({input:Q,output:X,...Y?{cachedInputTokens:Y}:{},...J?{cacheCreationInputTokens:J}:{}})).nullish(),specification:N.object({specificationVersion:N.literal("v3"),provider:N.string(),modelId:N.string()}),modelType:N.enum(["language","embedding","image"]).nullish()}))}))),f_6=OX(()=>z9(N.object({balance:N.string(),total_used:N.string()}).transform(({balance:Q,total_used:X})=>({balance:Q,totalUsed:X})))),h_6=class{constructor(Q,X){this.modelId=Q,this.config=X,this.specificationVersion="v3",this.supportedUrls={"*/*":[/.*/]}}get provider(){return this.config.provider}async getArgs(Q){let{abortSignal:X,...Y}=Q;return{args:this.maybeEncodeFileParts(Y),warnings:[]}}async doGenerate(Q){let{args:X,warnings:Y}=await this.getArgs(Q),{abortSignal:J}=Q,G=await U9(this.config.headers());try{let{responseHeaders:W,value:Z,rawValue:$}=await YF({url:this.getUrl(),headers:e3(G,Q.headers,this.getModelConfigHeaders(this.modelId,!1),await U9(this.config.o11yHeaders)),body:X,successfulResponseHandler:f7(N.any()),failedResponseHandler:JW({errorSchema:N.any(),errorToMessage:(K)=>K}),...J&&{abortSignal:J},fetch:this.config.fetch});return{...Z,request:{body:X},response:{headers:W,body:$},warnings:Y}}catch(W){throw await o$(W,await yU(G))}}async doStream(Q){let{args:X,warnings:Y}=await this.getArgs(Q),{abortSignal:J}=Q,G=await U9(this.config.headers());try{let{value:W,responseHeaders:Z}=await YF({url:this.getUrl(),headers:e3(G,Q.headers,this.getModelConfigHeaders(this.modelId,!0),await U9(this.config.o11yHeaders)),body:X,successfulResponseHandler:D51(N.any()),failedResponseHandler:JW({errorSchema:N.any(),errorToMessage:($)=>$}),...J&&{abortSignal:J},fetch:this.config.fetch});return{stream:W.pipeThrough(new TransformStream({start($){if(Y.length>0)$.enqueue({type:"stream-start",warnings:Y})},transform($,K){if($.success){let H=$.value;if(H.type==="raw"&&!Q.includeRawChunks)return;if(H.type==="response-metadata"&&H.timestamp&&typeof H.timestamp==="string")H.timestamp=new Date(H.timestamp);K.enqueue(H)}else K.error($.error)}})),request:{body:X},response:{headers:Z}}}catch(W){throw await o$(W,await yU(G))}}isFilePart(Q){return Q&&typeof Q==="object"&&"type"in Q&&Q.type==="file"}maybeEncodeFileParts(Q){for(let X of Q.prompt)for(let Y of X.content)if(this.isFilePart(Y)){let J=Y;if(J.data instanceof Uint8Array){let G=Uint8Array.from(J.data),W=Buffer.from(G).toString("base64");J.data=new URL(`data:${J.mediaType||"application/octet-stream"};base64,${W}`)}}return Q}getUrl(){return`${this.config.baseURL}/language-model`}getModelConfigHeaders(Q,X){return{"ai-language-model-specification-version":"3","ai-language-model-id":Q,"ai-language-model-streaming":String(X)}}},x_6=class{constructor(Q,X){this.modelId=Q,this.config=X,this.specificationVersion="v3",this.maxEmbeddingsPerCall=2048,this.supportsParallelCalls=!0}get provider(){return this.config.provider}async doEmbed({values:Q,headers:X,abortSignal:Y,providerOptions:J}){var G;let W=await U9(this.config.headers());try{let{responseHeaders:Z,value:$,rawValue:K}=await YF({url:this.getUrl(),headers:e3(W,X!=null?X:{},this.getModelConfigHeaders(),await U9(this.config.o11yHeaders)),body:{values:Q,...J?{providerOptions:J}:{}},successfulResponseHandler:f7(g_6),failedResponseHandler:JW({errorSchema:N.any(),errorToMessage:(H)=>H}),...Y&&{abortSignal:Y},fetch:this.config.fetch});return{embeddings:$.embeddings,usage:(G=$.usage)!=null?G:void 0,providerMetadata:$.providerMetadata,response:{headers:Z,body:K},warnings:[]}}catch(Z){throw await o$(Z,await yU(W))}}getUrl(){return`${this.config.baseURL}/embedding-model`}getModelConfigHeaders(){return{"ai-embedding-model-specification-version":"3","ai-model-id":this.modelId}}},g_6=OX(()=>z9(N.object({embeddings:N.array(N.array(N.number())),usage:N.object({tokens:N.number()}).nullish(),providerMetadata:N.record(N.string(),N.record(N.string(),N.unknown())).optional()}))),u_6=class{constructor(Q,X){this.modelId=Q,this.config=X,this.specificationVersion="v3",this.maxImagesPerCall=Number.MAX_SAFE_INTEGER}get provider(){return this.config.provider}async doGenerate({prompt:Q,n:X,size:Y,aspectRatio:J,seed:G,files:W,mask:Z,providerOptions:$,headers:K,abortSignal:H}){var F;let V=await U9(this.config.headers());try{let{responseHeaders:q,value:U,rawValue:D}=await YF({url:this.getUrl(),headers:e3(V,K!=null?K:{},this.getModelConfigHeaders(),await U9(this.config.o11yHeaders)),body:{prompt:Q,n:X,...Y&&{size:Y},...J&&{aspectRatio:J},...G&&{seed:G},...$&&{providerOptions:$},...W&&{files:W.map((B)=>TG1(B))},...Z&&{mask:TG1(Z)}},successfulResponseHandler:f7(l_6),failedResponseHandler:JW({errorSchema:N.any(),errorToMessage:(B)=>B}),...H&&{abortSignal:H},fetch:this.config.fetch});return{images:U.images,warnings:(F=U.warnings)!=null?F:[],providerMetadata:U.providerMetadata,response:{timestamp:new Date,modelId:this.modelId,headers:q}}}catch(q){throw o$(q,await yU(V))}}getUrl(){return`${this.config.baseURL}/image-model`}getModelConfigHeaders(){return{"ai-image-model-specification-version":"3","ai-model-id":this.modelId}}};function TG1(Q){if(Q.type==="file"&&Q.data instanceof Uint8Array)return{...Q,data:XF(Q.data)};return Q}var m_6=N.object({images:N.array(N.unknown()).optional()}).catchall(N.unknown()),l_6=N.object({images:N.array(N.string()),warnings:N.array(N.object({type:N.literal("other"),message:N.string()})).optional(),providerMetadata:N.record(N.string(),m_6).optional()});async function d_6(){var Q;return(Q=kG1.getContext().headers)==null?void 0:Q["x-vercel-id"]}var p_6="3.0.10",c_6="0.0.1";function n_6(Q={}){var X,Y;let J=null,G=null,W=(X=Q.metadataCacheRefreshMillis)!=null?X:300000,Z=0,$=(Y=N51(Q.baseURL))!=null?Y:"https://ai-gateway.vercel.sh/v3/ai",K=async()=>{try{let B=await i_6(Q);return a$({Authorization:`Bearer ${B.token}`,"ai-gateway-protocol-version":c_6,[SG1]:B.authMethod,...Q.headers},`ai-sdk/gateway/${p_6}`)}catch(B){throw fy.createContextualError({apiKeyProvided:!1,oidcTokenProvided:!1,statusCode:401,cause:B})}},H=()=>{let B=qP({settingValue:void 0,environmentVariableName:"VERCEL_DEPLOYMENT_ID"}),L=qP({settingValue:void 0,environmentVariableName:"VERCEL_ENV"}),M=qP({settingValue:void 0,environmentVariableName:"VERCEL_REGION"});return async()=>{let C=await d_6();return{...B&&{"ai-o11y-deployment-id":B},...L&&{"ai-o11y-environment":L},...M&&{"ai-o11y-region":M},...C&&{"ai-o11y-request-id":C}}}},F=(B)=>{return new h_6(B,{provider:"gateway",baseURL:$,headers:K,fetch:Q.fetch,o11yHeaders:H()})},V=async()=>{var B,L,M;let C=(M=(L=(B=Q._internal)==null?void 0:B.currentDate)==null?void 0:L.call(B).getTime())!=null?M:Date.now();if(!J||C-Z>W)Z=C,J=new PG1({baseURL:$,headers:K,fetch:Q.fetch}).getAvailableModels().then((E)=>{return G=E,E}).catch(async(E)=>{throw await o$(E,await yU(await K()))});return G?Promise.resolve(G):J},q=async()=>{return new PG1({baseURL:$,headers:K,fetch:Q.fetch}).getCredits().catch(async(B)=>{throw await o$(B,await yU(await K()))})},U=function(B){if(new.target)throw Error("The Gateway Provider model function cannot be called with the new keyword.");return F(B)};U.specificationVersion="v3",U.getAvailableModels=V,U.getCredits=q,U.imageModel=(B)=>{return new u_6(B,{provider:"gateway",baseURL:$,headers:K,fetch:Q.fetch,o11yHeaders:H()})},U.languageModel=F;let D=(B)=>{return new x_6(B,{provider:"gateway",baseURL:$,headers:K,fetch:Q.fetch,o11yHeaders:H()})};return U.embeddingModel=D,U.textEmbeddingModel=D,U}var _G1=n_6();async function i_6(Q){let X=qP({settingValue:Q.apiKey,environmentVariableName:"AI_GATEWAY_API_KEY"});if(X)return{token:X,authMethod:"api-key"};return{token:await vG1.getVercelOidcToken(),authMethod:"oidc"}}r6();r6();r6();r6();r6();r6();var vW1=m6($1(),1),m80=m6($1(),1);r6();r6();var a_6=Object.defineProperty,r_6=(Q,X)=>{for(var Y in X)a_6(Q,Y,{get:X[Y],enumerable:!0})},lG1="AI_InvalidArgumentError",dG1=`vercel.ai.error.${lG1}`,o_6=Symbol.for(dG1),pG1,GW=class extends P1{constructor({parameter:Q,value:X,message:Y}){super({name:lG1,message:`Invalid argument for parameter ${Q}: ${Y}`});this[pG1]=!0,this.parameter=Q,this.value=X}static isInstance(Q){return P1.hasMarker(Q,dG1)}};pG1=o_6;var s_6="AI_InvalidStreamPartError",t_6=`vercel.ai.error.${s_6}`,e_6=Symbol.for(t_6),Qy6;Qy6=e_6;var cG1="AI_InvalidToolApprovalError",nG1=`vercel.ai.error.${cG1}`,Xy6=Symbol.for(nG1),iG1,Yy6=class extends P1{constructor({approvalId:Q}){super({name:cG1,message:`Tool approval response references unknown approvalId: "${Q}". No matching tool-approval-request found in message history.`});this[iG1]=!0,this.approvalId=Q}static isInstance(Q){return P1.hasMarker(Q,nG1)}};iG1=Xy6;var aG1="AI_InvalidToolInputError",rG1=`vercel.ai.error.${aG1}`,Jy6=Symbol.for(rG1),oG1,n80=class extends P1{constructor({toolInput:Q,toolName:X,cause:Y,message:J=`Invalid input for tool ${X}: ${R5(Y)}`}){super({name:aG1,message:J,cause:Y});this[oG1]=!0,this.toolInput=Q,this.toolName=X}static isInstance(Q){return P1.hasMarker(Q,rG1)}};oG1=Jy6;var sG1="AI_ToolCallNotFoundForApprovalError",tG1=`vercel.ai.error.${sG1}`,Gy6=Symbol.for(tG1),eG1,QW1=class extends P1{constructor({toolCallId:Q,approvalId:X}){super({name:sG1,message:`Tool call "${Q}" not found for approval request "${X}".`});this[eG1]=!0,this.toolCallId=Q,this.approvalId=X}static isInstance(Q){return P1.hasMarker(Q,tG1)}};eG1=Gy6;var Wy6="AI_NoImageGeneratedError",Zy6=`vercel.ai.error.${Wy6}`,$y6=Symbol.for(Zy6),Ky6;Ky6=$y6;var XW1="AI_NoObjectGeneratedError",YW1=`vercel.ai.error.${XW1}`,Hy6=Symbol.for(YW1),JW1,s$=class extends P1{constructor({message:Q="No object generated.",cause:X,text:Y,response:J,usage:G,finishReason:W}){super({name:XW1,message:Q,cause:X});this[JW1]=!0,this.text=Y,this.response=J,this.usage=G,this.finishReason=W}static isInstance(Q){return P1.hasMarker(Q,YW1)}};JW1=Hy6;var GW1="AI_NoOutputGeneratedError",WW1=`vercel.ai.error.${GW1}`,Fy6=Symbol.for(WW1),ZW1,Vy6=class extends P1{constructor({message:Q="No output generated.",cause:X}={}){super({name:GW1,message:Q,cause:X});this[ZW1]=!0}static isInstance(Q){return P1.hasMarker(Q,WW1)}};ZW1=Fy6;var $W1="AI_NoSuchToolError",KW1=`vercel.ai.error.${$W1}`,qy6=Symbol.for(KW1),HW1,g80=class extends P1{constructor({toolName:Q,availableTools:X=void 0,message:Y=`Model tried to call unavailable tool '${Q}'. ${X===void 0?"No tools are available.":`Available tools: ${X.join(", ")}.`}`}){super({name:$W1,message:Y});this[HW1]=!0,this.toolName=Q,this.availableTools=X}static isInstance(Q){return P1.hasMarker(Q,KW1)}};HW1=qy6;var FW1="AI_ToolCallRepairError",VW1=`vercel.ai.error.${FW1}`,zy6=Symbol.for(VW1),qW1,Uy6=class extends P1{constructor({cause:Q,originalError:X,message:Y=`Error repairing tool call: ${R5(Q)}`}){super({name:FW1,message:Y,cause:Q});this[qW1]=!0,this.originalError=X}static isInstance(Q){return P1.hasMarker(Q,VW1)}};qW1=zy6;var By6=class extends P1{constructor(Q){super({name:"AI_UnsupportedModelVersionError",message:`Unsupported model version ${Q.version} for provider "${Q.provider}" and model "${Q.modelId}". AI SDK 5 only supports models that implement specification version "v2".`});this.version=Q.version,this.provider=Q.provider,this.modelId=Q.modelId}},Dy6="AI_InvalidDataContentError",Ny6=`vercel.ai.error.${Dy6}`,Oy6=Symbol.for(Ny6),Ly6;Ly6=Oy6;var zW1="AI_InvalidMessageRoleError",UW1=`vercel.ai.error.${zW1}`,wy6=Symbol.for(UW1),BW1,My6=class extends P1{constructor({role:Q,message:X=`Invalid message role: '${Q}'. Must be one of: "system", "user", "assistant", "tool".`}){super({name:zW1,message:X});this[BW1]=!0,this.role=Q}static isInstance(Q){return P1.hasMarker(Q,UW1)}};BW1=wy6;var DW1="AI_MessageConversionError",NW1=`vercel.ai.error.${DW1}`,Py6=Symbol.for(NW1),OW1,Ty6=class extends P1{constructor({originalMessage:Q,message:X}){super({name:DW1,message:X});this[OW1]=!0,this.originalMessage=Q}static isInstance(Q){return P1.hasMarker(Q,NW1)}};OW1=Py6;var LW1="AI_RetryError",wW1=`vercel.ai.error.${LW1}`,Ay6=Symbol.for(wW1),MW1,yG1=class extends P1{constructor({message:Q,reason:X,errors:Y}){super({name:LW1,message:Q});this[MW1]=!0,this.reason=X,this.errors=Y,this.lastError=Y[Y.length-1]}static isInstance(Q){return P1.hasMarker(Q,wW1)}};MW1=Ay6;function Ey6({warning:Q,provider:X,model:Y}){let J=`AI SDK Warning (${X} / ${Y}):`;switch(Q.type){case"unsupported":{let G=`${J} The feature "${Q.feature}" is not supported.`;if(Q.details)G+=` ${Q.details}`;return G}case"compatibility":{let G=`${J} The feature "${Q.feature}" is used in a compatibility mode.`;if(Q.details)G+=` ${Q.details}`;return G}case"other":return`${J} ${Q.message}`;default:return`${J} ${JSON.stringify(Q,null,2)}`}}var jy6="AI SDK Warning System: To turn off warning logging, set the AI_SDK_LOG_WARNINGS global to false.",bG1=!1,PW1=(Q)=>{if(Q.warnings.length===0)return;let X=globalThis.AI_SDK_LOG_WARNINGS;if(X===!1)return;if(typeof X==="function"){X(Q);return}if(!bG1)bG1=!0,console.info(jy6);for(let Y of Q.warnings)console.warn(Ey6({warning:Y,provider:Q.provider,model:Q.model}))};function Cy6({provider:Q,modelId:X}){PW1({warnings:[{type:"compatibility",feature:"specificationVersion",details:"Using v2 specification compatibility mode. Some features may not be available."}],provider:Q,model:X})}function Iy6(Q){if(Q.specificationVersion==="v3")return Q;return Cy6({provider:Q.provider,modelId:Q.modelId}),new Proxy(Q,{get(X,Y){switch(Y){case"specificationVersion":return"v3";case"doGenerate":return async(...J)=>{let G=await X.doGenerate(...J);return{...G,finishReason:TW1(G.finishReason),usage:AW1(G.usage)}};case"doStream":return async(...J)=>{let G=await X.doStream(...J);return{...G,stream:Ry6(G.stream)}};default:return X[Y]}}})}function Ry6(Q){return Q.pipeThrough(new TransformStream({transform(X,Y){switch(X.type){case"finish":Y.enqueue({...X,finishReason:TW1(X.finishReason),usage:AW1(X.usage)});break;default:Y.enqueue(X);break}}}))}function TW1(Q){return{unified:Q==="unknown"?"other":Q,raw:void 0}}function AW1(Q){return{inputTokens:{total:Q.inputTokens,noCache:void 0,cacheRead:Q.cachedInputTokens,cacheWrite:void 0},outputTokens:{total:Q.outputTokens,text:void 0,reasoning:Q.reasoningTokens}}}function EW1(Q){if(typeof Q!=="string"){if(Q.specificationVersion!=="v3"&&Q.specificationVersion!=="v2"){let X=Q;throw new By6({version:X.specificationVersion,provider:X.provider,modelId:X.modelId})}return Iy6(Q)}return Sy6().languageModel(Q)}function Sy6(){var Q;return(Q=globalThis.AI_SDK_DEFAULT_PROVIDER)!=null?Q:_G1}function jW1(Q){if(Q==null)return;if(typeof Q==="number")return Q;return Q.totalMs}var ky6=[{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]}];var vy6=(Q)=>{let X=typeof Q==="string"?kU(Q):Q,Y=(X[6]&127)<<21|(X[7]&127)<<14|(X[8]&127)<<7|X[9]&127;return X.slice(Y+10)};function _y6(Q){return typeof Q==="string"&&Q.startsWith("SUQz")||typeof Q!=="string"&&Q.length>10&&Q[0]===73&&Q[1]===68&&Q[2]===51?vy6(Q):Q}function yy6({data:Q,signatures:X}){let Y=_y6(Q),J=typeof Y==="string"?kU(Y.substring(0,Math.min(Y.length,24))):Y;for(let G of X)if(J.length>=G.bytesPrefix.length&&G.bytesPrefix.every((W,Z)=>W===null||J[Z]===W))return G.mediaType;return}var by6="6.0.21",fy6=async({url:Q})=>{var X;let Y=Q.toString();try{let J=await fetch(Y,{headers:a$({},`ai-sdk/${by6}`,Sy())});if(!J.ok)throw new Ry({url:Y,statusCode:J.status,statusText:J.statusText});return{data:new Uint8Array(await J.arrayBuffer()),mediaType:(X=J.headers.get("content-type"))!=null?X:void 0}}catch(J){if(Ry.isInstance(J))throw J;throw new Ry({url:Y,cause:J})}},hy6=(Q=fy6)=>(X)=>Promise.all(X.map(async(Y)=>Y.isUrlSupportedByModel?null:Q(Y)));function xy6(Q){try{let[X,Y]=Q.split(",");return{mediaType:X.split(";")[0].split(":")[1],base64Content:Y}}catch(X){return{mediaType:void 0,base64Content:void 0}}}var CW1=N.union([N.string(),N.instanceof(Uint8Array),N.instanceof(ArrayBuffer),N.custom((Q)=>{var X,Y;return(Y=(X=globalThis.Buffer)==null?void 0:X.isBuffer(Q))!=null?Y:!1},{message:"Must be a Buffer"})]);function IW1(Q){if(Q instanceof Uint8Array)return{data:Q,mediaType:void 0};if(Q instanceof ArrayBuffer)return{data:new Uint8Array(Q),mediaType:void 0};if(typeof Q==="string")try{Q=new URL(Q)}catch(X){}if(Q instanceof URL&&Q.protocol==="data:"){let{mediaType:X,base64Content:Y}=xy6(Q.toString());if(X==null||Y==null)throw new P1({name:"InvalidDataContentError",message:`Invalid data URL format in content ${Q.toString()}`});return{data:Y,mediaType:X}}return{data:Q,mediaType:void 0}}function gy6(Q){if(typeof Q==="string")return Q;if(Q instanceof ArrayBuffer)return XF(new Uint8Array(Q));return XF(Q)}function gy(Q){return Q===void 0?[]:Array.isArray(Q)?Q:[Q]}async function uy6({prompt:Q,supportedUrls:X,download:Y=hy6()}){let J=await ly6(Q.messages,Y,X),G=[...Q.system!=null?typeof Q.system==="string"?[{role:"system",content:Q.system}]:gy(Q.system).map((Z)=>({role:"system",content:Z.content,providerOptions:Z.providerOptions})):[],...Q.messages.map((Z)=>my6({message:Z,downloadedAssets:J}))],W=[];for(let Z of G){if(Z.role!=="tool"){W.push(Z);continue}let $=W.at(-1);if(($==null?void 0:$.role)==="tool")$.content.push(...Z.content);else W.push(Z)}return W}function my6({message:Q,downloadedAssets:X}){let Y=Q.role;switch(Y){case"system":return{role:"system",content:Q.content,providerOptions:Q.providerOptions};case"user":{if(typeof Q.content==="string")return{role:"user",content:[{type:"text",text:Q.content}],providerOptions:Q.providerOptions};return{role:"user",content:Q.content.map((J)=>dy6(J,X)).filter((J)=>J.type!=="text"||J.text!==""),providerOptions:Q.providerOptions}}case"assistant":{if(typeof Q.content==="string")return{role:"assistant",content:[{type:"text",text:Q.content}],providerOptions:Q.providerOptions};return{role:"assistant",content:Q.content.filter((J)=>J.type!=="text"||J.text!==""||J.providerOptions!=null).filter((J)=>J.type!=="tool-approval-request").map((J)=>{let G=J.providerOptions;switch(J.type){case"file":{let{data:W,mediaType:Z}=IW1(J.data);return{type:"file",data:W,filename:J.filename,mediaType:Z!=null?Z:J.mediaType,providerOptions:G}}case"reasoning":return{type:"reasoning",text:J.text,providerOptions:G};case"text":return{type:"text",text:J.text,providerOptions:G};case"tool-call":return{type:"tool-call",toolCallId:J.toolCallId,toolName:J.toolName,input:J.input,providerExecuted:J.providerExecuted,providerOptions:G};case"tool-result":return{type:"tool-result",toolCallId:J.toolCallId,toolName:J.toolName,output:fG1(J.output),providerOptions:G}}}),providerOptions:Q.providerOptions}}case"tool":return{role:"tool",content:Q.content.filter((J)=>J.type!=="tool-approval-response"||J.providerExecuted).map((J)=>{switch(J.type){case"tool-result":return{type:"tool-result",toolCallId:J.toolCallId,toolName:J.toolName,output:fG1(J.output),providerOptions:J.providerOptions};case"tool-approval-response":return{type:"tool-approval-response",approvalId:J.approvalId,approved:J.approved,reason:J.reason}}}),providerOptions:Q.providerOptions};default:throw new My6({role:Y})}}async function ly6(Q,X,Y){let J=Q.filter((W)=>W.role==="user").map((W)=>W.content).filter((W)=>Array.isArray(W)).flat().filter((W)=>W.type==="image"||W.type==="file").map((W)=>{var Z;let $=(Z=W.mediaType)!=null?Z:W.type==="image"?"image/*":void 0,K=W.type==="image"?W.image:W.data;if(typeof K==="string")try{K=new URL(K)}catch(H){}return{mediaType:$,data:K}}).filter((W)=>W.data instanceof URL).map((W)=>({url:W.data,isUrlSupportedByModel:W.mediaType!=null&&K51({url:W.data.toString(),mediaType:W.mediaType,supportedUrls:Y})})),G=await X(J);return Object.fromEntries(G.map((W,Z)=>W==null?null:[J[Z].url.toString(),{data:W.data,mediaType:W.mediaType}]).filter((W)=>W!=null))}function dy6(Q,X){var Y;if(Q.type==="text")return{type:"text",text:Q.text,providerOptions:Q.providerOptions};let J,G=Q.type;switch(G){case"image":J=Q.image;break;case"file":J=Q.data;break;default:throw Error(`Unsupported part type: ${G}`)}let{data:W,mediaType:Z}=IW1(J),$=Z!=null?Z:Q.mediaType,K=W;if(K instanceof URL){let H=X[K.toString()];if(H)K=H.data,$!=null||($=H.mediaType)}switch(G){case"image":{if(K instanceof Uint8Array||typeof K==="string")$=(Y=yy6({data:K,signatures:ky6}))!=null?Y:$;return{type:"file",mediaType:$!=null?$:"image/*",filename:void 0,data:K,providerOptions:Q.providerOptions}}case"file":{if($==null)throw Error("Media type is missing for file part");return{type:"file",mediaType:$,filename:Q.filename,data:K,providerOptions:Q.providerOptions}}}}function fG1(Q){if(Q.type!=="content")return Q;return{type:"content",value:Q.value.map((X)=>{if(X.type!=="media")return X;if(X.mediaType.startsWith("image/"))return{type:"image-data",data:X.data,mediaType:X.mediaType};return{type:"file-data",data:X.data,mediaType:X.mediaType}})}}async function fU({toolCallId:Q,input:X,output:Y,tool:J,errorMode:G}){if(G==="text")return{type:"error-text",value:R5(Y)};else if(G==="json")return{type:"error-json",value:hG1(Y)};if(J==null?void 0:J.toModelOutput)return await J.toModelOutput({toolCallId:Q,input:X,output:Y});return typeof Y==="string"?{type:"text",value:Y}:{type:"json",value:hG1(Y)}}function hG1(Q){return Q===void 0?null:Q}function py6({maxOutputTokens:Q,temperature:X,topP:Y,topK:J,presencePenalty:G,frequencyPenalty:W,seed:Z,stopSequences:$}){if(Q!=null){if(!Number.isInteger(Q))throw new GW({parameter:"maxOutputTokens",value:Q,message:"maxOutputTokens must be an integer"});if(Q<1)throw new GW({parameter:"maxOutputTokens",value:Q,message:"maxOutputTokens must be >= 1"})}if(X!=null){if(typeof X!=="number")throw new GW({parameter:"temperature",value:X,message:"temperature must be a number"})}if(Y!=null){if(typeof Y!=="number")throw new GW({parameter:"topP",value:Y,message:"topP must be a number"})}if(J!=null){if(typeof J!=="number")throw new GW({parameter:"topK",value:J,message:"topK must be a number"})}if(G!=null){if(typeof G!=="number")throw new GW({parameter:"presencePenalty",value:G,message:"presencePenalty must be a number"})}if(W!=null){if(typeof W!=="number")throw new GW({parameter:"frequencyPenalty",value:W,message:"frequencyPenalty must be a number"})}if(Z!=null){if(!Number.isInteger(Z))throw new GW({parameter:"seed",value:Z,message:"seed must be an integer"})}return{maxOutputTokens:Q,temperature:X,topP:Y,topK:J,presencePenalty:G,frequencyPenalty:W,stopSequences:$,seed:Z}}function cy6(Q){return Q!=null&&Object.keys(Q).length>0}async function ny6({tools:Q,toolChoice:X,activeTools:Y}){if(!cy6(Q))return{tools:void 0,toolChoice:void 0};let J=Y!=null?Object.entries(Q).filter(([W])=>Y.includes(W)):Object.entries(Q),G=[];for(let[W,Z]of J){let $=Z.type;switch($){case void 0:case"dynamic":case"function":G.push({type:"function",name:W,description:Z.description,inputSchema:await YW(Z.inputSchema).jsonSchema,...Z.inputExamples!=null?{inputExamples:Z.inputExamples}:{},providerOptions:Z.providerOptions,...Z.strict!=null?{strict:Z.strict}:{}});break;case"provider":G.push({type:"provider",name:W,id:Z.id,args:Z.args});break;default:throw Error(`Unsupported tool type: ${$}`)}}return{tools:G,toolChoice:X==null?{type:"auto"}:typeof X==="string"?{type:X}:{type:"tool",toolName:X.toolName}}}var LP=N.lazy(()=>N.union([N.null(),N.string(),N.number(),N.boolean(),N.record(N.string(),LP.optional()),N.array(LP)])),i1=N.record(N.string(),N.record(N.string(),LP.optional())),RW1=N.object({type:N.literal("text"),text:N.string(),providerOptions:i1.optional()}),iy6=N.object({type:N.literal("image"),image:N.union([CW1,N.instanceof(URL)]),mediaType:N.string().optional(),providerOptions:i1.optional()}),SW1=N.object({type:N.literal("file"),data:N.union([CW1,N.instanceof(URL)]),filename:N.string().optional(),mediaType:N.string(),providerOptions:i1.optional()}),ay6=N.object({type:N.literal("reasoning"),text:N.string(),providerOptions:i1.optional()}),ry6=N.object({type:N.literal("tool-call"),toolCallId:N.string(),toolName:N.string(),input:N.unknown(),providerOptions:i1.optional(),providerExecuted:N.boolean().optional()}),oy6=N.discriminatedUnion("type",[N.object({type:N.literal("text"),value:N.string(),providerOptions:i1.optional()}),N.object({type:N.literal("json"),value:LP,providerOptions:i1.optional()}),N.object({type:N.literal("execution-denied"),reason:N.string().optional(),providerOptions:i1.optional()}),N.object({type:N.literal("error-text"),value:N.string(),providerOptions:i1.optional()}),N.object({type:N.literal("error-json"),value:LP,providerOptions:i1.optional()}),N.object({type:N.literal("content"),value:N.array(N.union([N.object({type:N.literal("text"),text:N.string(),providerOptions:i1.optional()}),N.object({type:N.literal("media"),data:N.string(),mediaType:N.string()}),N.object({type:N.literal("file-data"),data:N.string(),mediaType:N.string(),filename:N.string().optional(),providerOptions:i1.optional()}),N.object({type:N.literal("file-url"),url:N.string(),providerOptions:i1.optional()}),N.object({type:N.literal("file-id"),fileId:N.union([N.string(),N.record(N.string(),N.string())]),providerOptions:i1.optional()}),N.object({type:N.literal("image-data"),data:N.string(),mediaType:N.string(),providerOptions:i1.optional()}),N.object({type:N.literal("image-url"),url:N.string(),providerOptions:i1.optional()}),N.object({type:N.literal("image-file-id"),fileId:N.union([N.string(),N.record(N.string(),N.string())]),providerOptions:i1.optional()}),N.object({type:N.literal("custom"),providerOptions:i1.optional()})]))})]),kW1=N.object({type:N.literal("tool-result"),toolCallId:N.string(),toolName:N.string(),output:oy6,providerOptions:i1.optional()}),sy6=N.object({type:N.literal("tool-approval-request"),approvalId:N.string(),toolCallId:N.string()}),ty6=N.object({type:N.literal("tool-approval-response"),approvalId:N.string(),approved:N.boolean(),reason:N.string().optional()}),ey6=N.object({role:N.literal("system"),content:N.string(),providerOptions:i1.optional()}),Qb6=N.object({role:N.literal("user"),content:N.union([N.string(),N.array(N.union([RW1,iy6,SW1]))]),providerOptions:i1.optional()}),Xb6=N.object({role:N.literal("assistant"),content:N.union([N.string(),N.array(N.union([RW1,SW1,ay6,ry6,kW1,sy6]))]),providerOptions:i1.optional()}),Yb6=N.object({role:N.literal("tool"),content:N.array(N.union([kW1,ty6])),providerOptions:i1.optional()}),Jb6=N.union([ey6,Qb6,Xb6,Yb6]);async function Gb6(Q){if(Q.prompt==null&&Q.messages==null)throw new s3({prompt:Q,message:"prompt or messages must be defined"});if(Q.prompt!=null&&Q.messages!=null)throw new s3({prompt:Q,message:"prompt and messages cannot be defined at the same time"});if(Q.system!=null&&typeof Q.system!=="string"&&!gy(Q.system).every((J)=>typeof J==="object"&&J!==null&&("role"in J)&&J.role==="system"))throw new s3({prompt:Q,message:"system must be a string, SystemModelMessage, or array of SystemModelMessage"});let X;if(Q.prompt!=null&&typeof Q.prompt==="string")X=[{role:"user",content:Q.prompt}];else if(Q.prompt!=null&&Array.isArray(Q.prompt))X=Q.prompt;else if(Q.messages!=null)X=Q.messages;else throw new s3({prompt:Q,message:"prompt or messages must be defined"});if(X.length===0)throw new s3({prompt:Q,message:"messages must not be empty"});let Y=await LX({value:X,schema:N.array(Jb6)});if(!Y.success)throw new s3({prompt:Q,message:"The messages do not match the ModelMessage[] schema.",cause:Y.error});return{messages:X,system:Q.system}}function Wb6(Q){if(!fy.isInstance(Q))return Q;let X=(process==null?void 0:"production")==="production",Y="https://ai-sdk.dev/unauthenticated-ai-gateway";if(X)return new P1({name:"GatewayError",message:`Unauthenticated. Configure AI_GATEWAY_API_KEY or use a provider module. Learn more: ${Y}`});return Object.assign(Error(`\x1B[1m\x1B[31mUnauthenticated request to AI Gateway.\x1B[0m
|
|
1066
1066
|
|
|
1067
1067
|
To authenticate, set the \x1B[33mAI_GATEWAY_API_KEY\x1B[0m environment variable with your API key.
|
|
1068
1068
|
|
|
@@ -1074,7 +1074,7 @@ Learn more: \x1B[34m${Y}\x1B[0m
|
|
|
1074
1074
|
|
|
1075
1075
|
`)},flush(Q){Q.enqueue(`data: [DONE]
|
|
1076
1076
|
|
|
1077
|
-
`)}})}},gW1={"content-type":"text/event-stream","cache-control":"no-cache",connection:"keep-alive","x-vercel-ai-ui-message-stream":"v1","x-accel-buffering":"no"};function vb6({status:Q,statusText:X,headers:Y,stream:J,consumeSseStream:G}){let W=J.pipeThrough(new xW1);if(G){let[Z,$]=W.tee();W=Z,G({stream:$})}return new Response(W.pipeThrough(new TextEncoderStream),{status:Q,statusText:X,headers:uy(Y,gW1)})}function _b6({originalMessages:Q,responseMessageId:X}){if(Q==null)return;let Y=Q[Q.length-1];return(Y==null?void 0:Y.role)==="assistant"?Y.id:typeof X==="function"?X():X}var Nl4=OX(()=>z9(N.union([N.strictObject({type:N.literal("text-start"),id:N.string(),providerMetadata:i1.optional()}),N.strictObject({type:N.literal("text-delta"),id:N.string(),delta:N.string(),providerMetadata:i1.optional()}),N.strictObject({type:N.literal("text-end"),id:N.string(),providerMetadata:i1.optional()}),N.strictObject({type:N.literal("error"),errorText:N.string()}),N.strictObject({type:N.literal("tool-input-start"),toolCallId:N.string(),toolName:N.string(),providerExecuted:N.boolean().optional(),dynamic:N.boolean().optional(),title:N.string().optional()}),N.strictObject({type:N.literal("tool-input-delta"),toolCallId:N.string(),inputTextDelta:N.string()}),N.strictObject({type:N.literal("tool-input-available"),toolCallId:N.string(),toolName:N.string(),input:N.unknown(),providerExecuted:N.boolean().optional(),providerMetadata:i1.optional(),dynamic:N.boolean().optional(),title:N.string().optional()}),N.strictObject({type:N.literal("tool-input-error"),toolCallId:N.string(),toolName:N.string(),input:N.unknown(),providerExecuted:N.boolean().optional(),providerMetadata:i1.optional(),dynamic:N.boolean().optional(),errorText:N.string(),title:N.string().optional()}),N.strictObject({type:N.literal("tool-approval-request"),approvalId:N.string(),toolCallId:N.string()}),N.strictObject({type:N.literal("tool-output-available"),toolCallId:N.string(),output:N.unknown(),providerExecuted:N.boolean().optional(),dynamic:N.boolean().optional(),preliminary:N.boolean().optional()}),N.strictObject({type:N.literal("tool-output-error"),toolCallId:N.string(),errorText:N.string(),providerExecuted:N.boolean().optional(),dynamic:N.boolean().optional()}),N.strictObject({type:N.literal("tool-output-denied"),toolCallId:N.string()}),N.strictObject({type:N.literal("reasoning-start"),id:N.string(),providerMetadata:i1.optional()}),N.strictObject({type:N.literal("reasoning-delta"),id:N.string(),delta:N.string(),providerMetadata:i1.optional()}),N.strictObject({type:N.literal("reasoning-end"),id:N.string(),providerMetadata:i1.optional()}),N.strictObject({type:N.literal("source-url"),sourceId:N.string(),url:N.string(),title:N.string().optional(),providerMetadata:i1.optional()}),N.strictObject({type:N.literal("source-document"),sourceId:N.string(),mediaType:N.string(),title:N.string(),filename:N.string().optional(),providerMetadata:i1.optional()}),N.strictObject({type:N.literal("file"),url:N.string(),mediaType:N.string(),providerMetadata:i1.optional()}),N.strictObject({type:N.custom((Q)=>typeof Q==="string"&&Q.startsWith("data-"),{message:'Type must start with "data-"'}),id:N.string().optional(),data:N.unknown(),transient:N.boolean().optional()}),N.strictObject({type:N.literal("start-step")}),N.strictObject({type:N.literal("finish-step")}),N.strictObject({type:N.literal("start"),messageId:N.string().optional(),messageMetadata:N.unknown().optional()}),N.strictObject({type:N.literal("finish"),finishReason:N.enum(["stop","length","content-filter","tool-calls","error","other"]).optional(),messageMetadata:N.unknown().optional()}),N.strictObject({type:N.literal("abort"),reason:N.string().optional()}),N.strictObject({type:N.literal("message-metadata"),messageMetadata:N.unknown()})])));function yb6(Q){return Q.type.startsWith("data-")}function b80(Q){return Q.type.startsWith("data-")}function f80(Q){return Q.type==="text"}function h80(Q){return Q.type==="file"}function uG1(Q){return Q.type==="reasoning"}function p80(Q){return Q.type.startsWith("tool-")}function uW1(Q){return Q.type==="dynamic-tool"}function OP(Q){return p80(Q)||uW1(Q)}function c80(Q){return Q.type.split("-").slice(1).join("-")}function x80(Q){return uW1(Q)?Q.toolName:c80(Q)}function bb6({lastMessage:Q,messageId:X}){return{message:(Q==null?void 0:Q.role)==="assistant"?Q:{id:X,metadata:void 0,role:"assistant",parts:[]},activeTextParts:{},activeReasoningParts:{},partialToolCalls:{}}}function fb6({stream:Q,messageMetadataSchema:X,dataPartSchemas:Y,runUpdateMessageJob:J,onError:G,onToolCall:W,onData:Z}){return Q.pipeThrough(new TransformStream({async transform($,K){await J(async({state:H,write:F})=>{var V,q,U,D;function B(E){let T=H.message.parts.filter(OP).find((j)=>j.toolCallId===E);if(T==null)throw Error(`no tool invocation found for tool call ${E}`);return T}function L(E){var A;let T=H.message.parts.find((k)=>p80(k)&&k.toolCallId===E.toolCallId),j=E,R=T;if(T!=null){if(T.state=E.state,R.input=j.input,R.output=j.output,R.errorText=j.errorText,R.rawInput=j.rawInput,R.preliminary=j.preliminary,E.title!==void 0)R.title=E.title;if(R.providerExecuted=(A=j.providerExecuted)!=null?A:T.providerExecuted,j.providerMetadata!=null&&T.state==="input-available")T.callProviderMetadata=j.providerMetadata}else H.message.parts.push({type:`tool-${E.toolName}`,toolCallId:E.toolCallId,state:E.state,title:E.title,input:j.input,output:j.output,rawInput:j.rawInput,errorText:j.errorText,providerExecuted:j.providerExecuted,preliminary:j.preliminary,...j.providerMetadata!=null?{callProviderMetadata:j.providerMetadata}:{}})}function M(E){var A,T;let j=H.message.parts.find((y)=>y.type==="dynamic-tool"&&y.toolCallId===E.toolCallId),R=E,k=j;if(j!=null){if(j.state=E.state,k.toolName=E.toolName,k.input=R.input,k.output=R.output,k.errorText=R.errorText,k.rawInput=(A=R.rawInput)!=null?A:k.rawInput,k.preliminary=R.preliminary,E.title!==void 0)k.title=E.title;if(k.providerExecuted=(T=R.providerExecuted)!=null?T:j.providerExecuted,R.providerMetadata!=null&&j.state==="input-available")j.callProviderMetadata=R.providerMetadata}else H.message.parts.push({type:"dynamic-tool",toolName:E.toolName,toolCallId:E.toolCallId,state:E.state,input:R.input,output:R.output,errorText:R.errorText,preliminary:R.preliminary,providerExecuted:R.providerExecuted,title:E.title,...R.providerMetadata!=null?{callProviderMetadata:R.providerMetadata}:{}})}async function C(E){if(E!=null){let A=H.message.metadata!=null?i80(H.message.metadata,E):E;if(X!=null)await zP({value:A,schema:X});H.message.metadata=A}}switch($.type){case"text-start":{let E={type:"text",text:"",providerMetadata:$.providerMetadata,state:"streaming"};H.activeTextParts[$.id]=E,H.message.parts.push(E),F();break}case"text-delta":{let E=H.activeTextParts[$.id];E.text+=$.delta,E.providerMetadata=(V=$.providerMetadata)!=null?V:E.providerMetadata,F();break}case"text-end":{let E=H.activeTextParts[$.id];E.state="done",E.providerMetadata=(q=$.providerMetadata)!=null?q:E.providerMetadata,delete H.activeTextParts[$.id],F();break}case"reasoning-start":{let E={type:"reasoning",text:"",providerMetadata:$.providerMetadata,state:"streaming"};H.activeReasoningParts[$.id]=E,H.message.parts.push(E),F();break}case"reasoning-delta":{let E=H.activeReasoningParts[$.id];E.text+=$.delta,E.providerMetadata=(U=$.providerMetadata)!=null?U:E.providerMetadata,F();break}case"reasoning-end":{let E=H.activeReasoningParts[$.id];E.providerMetadata=(D=$.providerMetadata)!=null?D:E.providerMetadata,E.state="done",delete H.activeReasoningParts[$.id],F();break}case"file":{H.message.parts.push({type:"file",mediaType:$.mediaType,url:$.url}),F();break}case"source-url":{H.message.parts.push({type:"source-url",sourceId:$.sourceId,url:$.url,title:$.title,providerMetadata:$.providerMetadata}),F();break}case"source-document":{H.message.parts.push({type:"source-document",sourceId:$.sourceId,mediaType:$.mediaType,title:$.title,filename:$.filename,providerMetadata:$.providerMetadata}),F();break}case"tool-input-start":{let E=H.message.parts.filter(p80);if(H.partialToolCalls[$.toolCallId]={text:"",toolName:$.toolName,index:E.length,dynamic:$.dynamic,title:$.title},$.dynamic)M({toolCallId:$.toolCallId,toolName:$.toolName,state:"input-streaming",input:void 0,providerExecuted:$.providerExecuted,title:$.title});else L({toolCallId:$.toolCallId,toolName:$.toolName,state:"input-streaming",input:void 0,providerExecuted:$.providerExecuted,title:$.title});F();break}case"tool-input-delta":{let E=H.partialToolCalls[$.toolCallId];E.text+=$.inputTextDelta;let{value:A}=await wP(E.text);if(E.dynamic)M({toolCallId:$.toolCallId,toolName:E.toolName,state:"input-streaming",input:A,title:E.title});else L({toolCallId:$.toolCallId,toolName:E.toolName,state:"input-streaming",input:A,title:E.title});F();break}case"tool-input-available":{if($.dynamic)M({toolCallId:$.toolCallId,toolName:$.toolName,state:"input-available",input:$.input,providerExecuted:$.providerExecuted,providerMetadata:$.providerMetadata,title:$.title});else L({toolCallId:$.toolCallId,toolName:$.toolName,state:"input-available",input:$.input,providerExecuted:$.providerExecuted,providerMetadata:$.providerMetadata,title:$.title});if(F(),W&&!$.providerExecuted)await W({toolCall:$});break}case"tool-input-error":{if($.dynamic)M({toolCallId:$.toolCallId,toolName:$.toolName,state:"output-error",input:$.input,errorText:$.errorText,providerExecuted:$.providerExecuted,providerMetadata:$.providerMetadata});else L({toolCallId:$.toolCallId,toolName:$.toolName,state:"output-error",input:void 0,rawInput:$.input,errorText:$.errorText,providerExecuted:$.providerExecuted,providerMetadata:$.providerMetadata});F();break}case"tool-approval-request":{let E=B($.toolCallId);E.state="approval-requested",E.approval={id:$.approvalId},F();break}case"tool-output-denied":{let E=B($.toolCallId);E.state="output-denied",F();break}case"tool-output-available":{let E=B($.toolCallId);if(E.type==="dynamic-tool")M({toolCallId:$.toolCallId,toolName:E.toolName,state:"output-available",input:E.input,output:$.output,preliminary:$.preliminary,providerExecuted:$.providerExecuted,title:E.title});else L({toolCallId:$.toolCallId,toolName:c80(E),state:"output-available",input:E.input,output:$.output,providerExecuted:$.providerExecuted,preliminary:$.preliminary,title:E.title});F();break}case"tool-output-error":{let E=B($.toolCallId);if(E.type==="dynamic-tool")M({toolCallId:$.toolCallId,toolName:E.toolName,state:"output-error",input:E.input,errorText:$.errorText,providerExecuted:$.providerExecuted,title:E.title});else L({toolCallId:$.toolCallId,toolName:c80(E),state:"output-error",input:E.input,rawInput:E.rawInput,errorText:$.errorText,providerExecuted:$.providerExecuted,title:E.title});F();break}case"start-step":{H.message.parts.push({type:"step-start"});break}case"finish-step":{H.activeTextParts={},H.activeReasoningParts={};break}case"start":{if($.messageId!=null)H.message.id=$.messageId;if(await C($.messageMetadata),$.messageId!=null||$.messageMetadata!=null)F();break}case"finish":{if($.finishReason!=null)H.finishReason=$.finishReason;if(await C($.messageMetadata),$.messageMetadata!=null)F();break}case"message-metadata":{if(await C($.messageMetadata),$.messageMetadata!=null)F();break}case"error":{G==null||G(Error($.errorText));break}default:if(yb6($)){if((Y==null?void 0:Y[$.type])!=null)await zP({value:$.data,schema:Y[$.type]});let E=$;if(E.transient){Z==null||Z(E);break}let A=E.id!=null?H.message.parts.find((T)=>E.type===T.type&&E.id===T.id):void 0;if(A!=null)A.data=E.data;else H.message.parts.push(E);Z==null||Z(E),F()}}K.enqueue($)})}}))}function hb6({messageId:Q,originalMessages:X=[],onFinish:Y,onError:J,stream:G}){let W=X==null?void 0:X[X.length-1];if((W==null?void 0:W.role)!=="assistant")W=void 0;else Q=W.id;let Z=!1,$=G.pipeThrough(new TransformStream({transform(q,U){if(q.type==="start"){let D=q;if(D.messageId==null&&Q!=null)D.messageId=Q}if(q.type==="abort")Z=!0;U.enqueue(q)}}));if(Y==null)return $;let K=bb6({lastMessage:W?structuredClone(W):void 0,messageId:Q!=null?Q:""}),H=async(q)=>{await q({state:K,write:()=>{}})},F=!1,V=async()=>{if(F||!Y)return;F=!0;let q=K.message.id===(W==null?void 0:W.id);await Y({isAborted:Z,isContinuation:q,responseMessage:K.message,messages:[...q?X.slice(0,-1):X,K.message],finishReason:K.finishReason})};return fb6({stream:$,runUpdateMessageJob:H,onError:J}).pipeThrough(new TransformStream({transform(q,U){U.enqueue(q)},async cancel(){await V()},async flush(){await V()}}))}function xb6({response:Q,status:X,statusText:Y,headers:J,stream:G,consumeSseStream:W}){let Z=G.pipeThrough(new xW1);if(W){let[$,K]=Z.tee();Z=$,W({stream:K})}hW1({response:Q,status:X,statusText:Y,headers:Object.fromEntries(uy(J,gW1).entries()),stream:Z.pipeThrough(new TextEncoderStream)})}function xy(Q){let X=Q.pipeThrough(new TransformStream);return X[Symbol.asyncIterator]=function(){let Y=this.getReader(),J=!1;async function G(W){var Z;J=!0;try{if(W)await((Z=Y.cancel)==null?void 0:Z.call(Y))}finally{try{Y.releaseLock()}catch($){}}}return{async next(){if(J)return{done:!0,value:void 0};let{done:W,value:Z}=await Y.read();if(W)return await G(!0),{done:!0,value:void 0};return{done:!1,value:Z}},async return(){return await G(!0),{done:!0,value:void 0}},async throw(W){throw await G(!0),W}}},X}async function gb6({stream:Q,onError:X}){let Y=Q.getReader();try{while(!0){let{done:J}=await Y.read();if(J)break}}catch(J){X==null||X(J)}finally{Y.releaseLock()}}function mG1(){let Q,X;return{promise:new Promise((J,G)=>{Q=J,X=G}),resolve:Q,reject:X}}function ub6(){let Q=[],X=null,Y=!1,J=mG1(),G=()=>{Y=!0,J.resolve(),Q.forEach((Z)=>Z.cancel()),Q=[],X==null||X.close()},W=async()=>{if(Y&&Q.length===0){X==null||X.close();return}if(Q.length===0)return J=mG1(),await J.promise,W();try{let{value:Z,done:$}=await Q[0].read();if($)if(Q.shift(),Q.length===0&&Y)X==null||X.close();else await W();else X==null||X.enqueue(Z)}catch(Z){X==null||X.error(Z),Q.shift(),G()}};return{stream:new ReadableStream({start(Z){X=Z},pull:W,async cancel(){for(let Z of Q)await Z.cancel();Q=[],Y=!0}}),addStream:(Z)=>{if(Y)throw Error("Cannot add inner stream: outer stream is closed");Q.push(Z.getReader()),J.resolve()},close:()=>{if(Y=!0,J.resolve(),Q.length===0)X==null||X.close()},terminate:G}}function mb6(){var Q,X;return(X=(Q=globalThis==null?void 0:globalThis.performance)==null?void 0:Q.now())!=null?X:Date.now()}function lb6({tools:Q,generatorStream:X,tracer:Y,telemetry:J,system:G,messages:W,abortSignal:Z,repairToolCall:$,experimental_context:K,generateId:H}){let F=null,V=new ReadableStream({start(E){F=E}}),q=new Set,U=new Map,D=new Map,B=!1,L=void 0;function M(){if(B&&q.size===0){if(L!=null)F.enqueue(L);F.close()}}let C=new TransformStream({async transform(E,A){let T=E.type;switch(T){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":{A.enqueue(E);break}case"file":{A.enqueue({type:"file",file:new Ob6({data:E.data,mediaType:E.mediaType})});break}case"finish":{L={type:"finish",finishReason:E.finishReason.unified,rawFinishReason:E.finishReason.raw,usage:Vb6(E.usage),providerMetadata:E.providerMetadata};break}case"tool-approval-request":{let j=D.get(E.toolCallId);if(j==null){F.enqueue({type:"error",error:new QW1({toolCallId:E.toolCallId,approvalId:E.approvalId})});break}A.enqueue({type:"tool-approval-request",approvalId:E.approvalId,toolCall:j});break}case"tool-call":{try{let j=await jb6({toolCall:E,tools:Q,repairToolCall:$,system:G,messages:W});if(D.set(j.toolCallId,j),A.enqueue(j),j.invalid){F.enqueue({type:"tool-error",toolCallId:j.toolCallId,toolName:j.toolName,input:j.input,error:VP(j.error),dynamic:!0,title:j.title});break}let R=Q==null?void 0:Q[j.toolName];if(R==null)break;if(R.onInputAvailable!=null)await R.onInputAvailable({input:j.input,toolCallId:j.toolCallId,messages:W,abortSignal:Z,experimental_context:K});if(await Lb6({tool:R,toolCall:j,messages:W,experimental_context:K})){F.enqueue({type:"tool-approval-request",approvalId:H(),toolCall:j});break}if(U.set(j.toolCallId,j.input),R.execute!=null&&j.providerExecuted!==!0){let k=H();q.add(k),bW1({toolCall:j,tools:Q,tracer:Y,telemetry:J,messages:W,abortSignal:Z,experimental_context:K,onPreliminaryToolResult:(y)=>{F.enqueue(y)}}).then((y)=>{F.enqueue(y)}).catch((y)=>{F.enqueue({type:"error",error:y})}).finally(()=>{q.delete(k),M()})}}catch(j){F.enqueue({type:"error",error:j})}break}case"tool-result":{let j=E.toolName;if(E.isError)F.enqueue({type:"tool-error",toolCallId:E.toolCallId,toolName:j,input:U.get(E.toolCallId),providerExecuted:!0,error:E.result,dynamic:E.dynamic});else A.enqueue({type:"tool-result",toolCallId:E.toolCallId,toolName:j,input:U.get(E.toolCallId),output:E.result,providerExecuted:!0,dynamic:E.dynamic});break}default:throw Error(`Unhandled chunk type: ${T}`)}},flush(){B=!0,M()}});return new ReadableStream({async start(E){return Promise.all([X.pipeThrough(C).pipeTo(new WritableStream({write(A){E.enqueue(A)},close(){}})),V.pipeTo(new WritableStream({write(A){E.enqueue(A)},close(){E.close()}}))])}})}var db6=XW({prefix:"aitxt",size:24});function mW1({model:Q,tools:X,toolChoice:Y,system:J,prompt:G,messages:W,maxRetries:Z,abortSignal:$,timeout:K,headers:H,stopWhen:F=a80(1),experimental_output:V,output:q=V,experimental_telemetry:U,prepareStep:D,providerOptions:B,experimental_activeTools:L,activeTools:M=L,experimental_repairToolCall:C,experimental_transform:E,experimental_download:A,includeRawChunks:T=!1,onChunk:j,onError:R=({error:Q0})=>{console.error(Q0)},onFinish:k,onAbort:y,onStepFinish:b,experimental_context:h,_internal:{now:a=mb6,generateId:f=db6,currentDate:S=()=>new Date}={},...m}){let Q0=jW1(K);return new cb6({model:EW1(Q),telemetry:U,headers:H,settings:m,maxRetries:Z,abortSignal:Rb6($,Q0!=null?AbortSignal.timeout(Q0):void 0),system:J,prompt:G,messages:W,tools:X,toolChoice:Y,transforms:gy(E),activeTools:M,repairToolCall:C,stopConditions:gy(F),output:q,providerOptions:B,prepareStep:D,includeRawChunks:T,onChunk:j,onError:R,onFinish:k,onAbort:y,onStepFinish:b,now:a,currentDate:S,generateId:f,experimental_context:h,download:A})}function pb6(Q){let X=void 0,Y="",J="",G=void 0,W="";function Z({controller:$,partialOutput:K=void 0}){$.enqueue({part:{type:"text-delta",id:X,text:J,providerMetadata:G},partialOutput:K}),J=""}return new TransformStream({async transform($,K){var H;if($.type==="finish-step"&&J.length>0)Z({controller:K});if($.type!=="text-delta"&&$.type!=="text-start"&&$.type!=="text-end"){K.enqueue({part:$,partialOutput:void 0});return}if(X==null)X=$.id;else if($.id!==X){K.enqueue({part:$,partialOutput:void 0});return}if($.type==="text-start"){K.enqueue({part:$,partialOutput:void 0});return}if($.type==="text-end"){if(J.length>0)Z({controller:K});K.enqueue({part:$,partialOutput:void 0});return}Y+=$.text,J+=$.text,G=(H=$.providerMetadata)!=null?H:G;let F=await Q.parsePartialOutput({text:Y});if(F!==void 0){let V=JSON.stringify(F.partial);if(V!==W)Z({controller:K,partialOutput:F.partial}),W=V}}})}var cb6=class{constructor({model:Q,telemetry:X,headers:Y,settings:J,maxRetries:G,abortSignal:W,system:Z,prompt:$,messages:K,tools:H,toolChoice:F,transforms:V,activeTools:q,repairToolCall:U,stopConditions:D,output:B,providerOptions:L,prepareStep:M,includeRawChunks:C,now:E,currentDate:A,generateId:T,onChunk:j,onError:R,onFinish:k,onAbort:y,onStepFinish:b,experimental_context:h,download:a}){this._totalUsage=new QF,this._finishReason=new QF,this._rawFinishReason=new QF,this._steps=new QF,this.outputSpecification=B,this.includeRawChunks=C,this.tools=H;let f,S=[],m=[],Q0=void 0,r=void 0,J0=void 0,z0={},Z0=[],V0=[],T0=new Map,_0,K1={},N0={},G0=new TransformStream({async transform(u0,A0){var S0,B1,p1,T6;A0.enqueue(u0);let{part:l0}=u0;if(l0.type==="text-delta"||l0.type==="reasoning-delta"||l0.type==="source"||l0.type==="tool-call"||l0.type==="tool-result"||l0.type==="tool-input-start"||l0.type==="tool-input-delta"||l0.type==="raw")await(j==null?void 0:j({chunk:l0}));if(l0.type==="error")await R({error:Wb6(l0.error)});if(l0.type==="text-start")K1[l0.id]={type:"text",text:"",providerMetadata:l0.providerMetadata},S.push(K1[l0.id]);if(l0.type==="text-delta"){let d0=K1[l0.id];if(d0==null){A0.enqueue({part:{type:"error",error:`text part ${l0.id} not found`},partialOutput:void 0});return}d0.text+=l0.text,d0.providerMetadata=(S0=l0.providerMetadata)!=null?S0:d0.providerMetadata}if(l0.type==="text-end"){let d0=K1[l0.id];if(d0==null){A0.enqueue({part:{type:"error",error:`text part ${l0.id} not found`},partialOutput:void 0});return}d0.providerMetadata=(B1=l0.providerMetadata)!=null?B1:d0.providerMetadata,delete K1[l0.id]}if(l0.type==="reasoning-start")N0[l0.id]={type:"reasoning",text:"",providerMetadata:l0.providerMetadata},S.push(N0[l0.id]);if(l0.type==="reasoning-delta"){let d0=N0[l0.id];if(d0==null){A0.enqueue({part:{type:"error",error:`reasoning part ${l0.id} not found`},partialOutput:void 0});return}d0.text+=l0.text,d0.providerMetadata=(p1=l0.providerMetadata)!=null?p1:d0.providerMetadata}if(l0.type==="reasoning-end"){let d0=N0[l0.id];if(d0==null){A0.enqueue({part:{type:"error",error:`reasoning part ${l0.id} not found`},partialOutput:void 0});return}d0.providerMetadata=(T6=l0.providerMetadata)!=null?T6:d0.providerMetadata,delete N0[l0.id]}if(l0.type==="file")S.push({type:"file",file:l0.file});if(l0.type==="source")S.push(l0);if(l0.type==="tool-call")S.push(l0);if(l0.type==="tool-result"&&!l0.preliminary)S.push(l0);if(l0.type==="tool-approval-request")S.push(l0);if(l0.type==="tool-error")S.push(l0);if(l0.type==="start-step")S=[],N0={},K1={},z0=l0.request,Z0=l0.warnings;if(l0.type==="finish-step"){let d0=await gG1({content:S,tools:H}),C0=new Cb6({content:S,finishReason:l0.finishReason,rawFinishReason:l0.rawFinishReason,usage:l0.usage,warnings:Z0,request:z0,response:{...l0.response,messages:[...m,...d0]},providerMetadata:l0.providerMetadata});await(b==null?void 0:b(C0)),PW1({warnings:Z0,provider:Q.provider,model:Q.modelId}),V0.push(C0),m.push(...d0),f.resolve()}if(l0.type==="finish")J0=l0.totalUsage,Q0=l0.finishReason,r=l0.rawFinishReason},async flush(u0){try{if(V0.length===0){let p1=(W==null?void 0:W.aborted)?W.reason:new Vy6({message:"No output generated. Check the stream for errors."});U0._finishReason.reject(p1),U0._rawFinishReason.reject(p1),U0._totalUsage.reject(p1),U0._steps.reject(p1);return}let A0=Q0!=null?Q0:"other",S0=J0!=null?J0:y80();U0._finishReason.resolve(A0),U0._rawFinishReason.resolve(r),U0._totalUsage.resolve(S0),U0._steps.resolve(V0);let B1=V0[V0.length-1];await(k==null?void 0:k({finishReason:B1.finishReason,rawFinishReason:B1.rawFinishReason,totalUsage:S0,usage:B1.usage,content:B1.content,text:B1.text,reasoningText:B1.reasoningText,reasoning:B1.reasoning,files:B1.files,sources:B1.sources,toolCalls:B1.toolCalls,staticToolCalls:B1.staticToolCalls,dynamicToolCalls:B1.dynamicToolCalls,toolResults:B1.toolResults,staticToolResults:B1.staticToolResults,dynamicToolResults:B1.dynamicToolResults,request:B1.request,response:B1.response,warnings:B1.warnings,providerMetadata:B1.providerMetadata,steps:V0,experimental_context:h})),_0.setAttributes(await bU({telemetry:X,attributes:{"ai.response.finishReason":A0,"ai.response.text":{output:()=>B1.text},"ai.response.toolCalls":{output:()=>{var p1;return((p1=B1.toolCalls)==null?void 0:p1.length)?JSON.stringify(B1.toolCalls):void 0}},"ai.response.providerMetadata":JSON.stringify(B1.providerMetadata),"ai.usage.inputTokens":S0.inputTokens,"ai.usage.outputTokens":S0.outputTokens,"ai.usage.totalTokens":S0.totalTokens,"ai.usage.reasoningTokens":S0.reasoningTokens,"ai.usage.cachedInputTokens":S0.cachedInputTokens}}))}catch(A0){u0.error(A0)}finally{_0.end()}}}),R0=ub6();this.addStream=R0.addStream,this.closeStream=R0.close;let l1=R0.stream.getReader(),b1=new ReadableStream({async start(u0){u0.enqueue({type:"start"})},async pull(u0){function A0(){y==null||y({steps:V0}),u0.enqueue({type:"abort",...(W==null?void 0:W.reason)!==void 0?{reason:R5(W.reason)}:{}}),u0.close()}try{let{done:S0,value:B1}=await l1.read();if(S0){u0.close();return}if(W==null?void 0:W.aborted){A0();return}u0.enqueue(B1)}catch(S0){if(b7(S0)&&(W==null?void 0:W.aborted))A0();else u0.error(S0)}},cancel(u0){return R0.stream.cancel(u0)}});for(let u0 of V)b1=b1.pipeThrough(u0({tools:H,stopStream(){R0.terminate()}}));this.baseStream=b1.pipeThrough(pb6(B!=null?B:d80())).pipeThrough(G0);let{maxRetries:b0,retry:L0}=Bb6({maxRetries:G,abortSignal:W}),$0=Hb6(X),P0=py6(J),H0=Zb6({model:Q,telemetry:X,headers:Y,settings:{...P0,maxRetries:b0}}),U0=this;l80({name:"ai.streamText",attributes:bU({telemetry:X,attributes:{...u80({operationId:"ai.streamText",telemetry:X}),...H0,"ai.prompt":{input:()=>JSON.stringify({system:Z,prompt:$,messages:K})}}}),tracer:$0,endWhenDone:!1,fn:async(u0)=>{_0=u0;let A0=await Gb6({system:Z,prompt:$,messages:K}),S0=A0.messages,B1=[],{approvedToolApprovals:p1,deniedToolApprovals:T6}=Db6({messages:S0});if(T6.length>0||p1.length>0){let d0=[...p1,...T6].filter((A1)=>A1.toolCall.providerExecuted),C0=p1.filter((A1)=>!A1.toolCall.providerExecuted),Y1=T6.filter((A1)=>!A1.toolCall.providerExecuted),I4=T6.filter((A1)=>A1.toolCall.providerExecuted),u6,o8=new ReadableStream({start(A1){u6=A1}});U0.addStream(o8);try{for(let I0 of[...Y1,...I4])u6==null||u6.enqueue({type:"tool-output-denied",toolCallId:I0.toolCall.toolCallId,toolName:I0.toolCall.toolName});let A1=[];if(await Promise.all(C0.map(async(I0)=>{let R4=await bW1({toolCall:I0.toolCall,tools:H,tracer:$0,telemetry:X,messages:S0,abortSignal:W,experimental_context:h,onPreliminaryToolResult:(O)=>{u6==null||u6.enqueue(O)}});if(R4!=null)u6==null||u6.enqueue(R4),A1.push(R4)})),d0.length>0)B1.push({role:"tool",content:d0.map((I0)=>({type:"tool-approval-response",approvalId:I0.approvalResponse.approvalId,approved:I0.approvalResponse.approved,reason:I0.approvalResponse.reason,providerExecuted:!0}))});if(A1.length>0||Y1.length>0){let I0=[];for(let R4 of A1)I0.push({type:"tool-result",toolCallId:R4.toolCallId,toolName:R4.toolName,output:await fU({toolCallId:R4.toolCallId,input:R4.input,tool:H==null?void 0:H[R4.toolName],output:R4.type==="tool-result"?R4.output:R4.error,errorMode:R4.type==="tool-error"?"json":"none"})});for(let R4 of Y1)I0.push({type:"tool-result",toolCallId:R4.toolCall.toolCallId,toolName:R4.toolCall.toolName,output:{type:"execution-denied",reason:R4.approvalResponse.reason}});B1.push({role:"tool",content:I0})}}finally{u6==null||u6.close()}}m.push(...B1);async function l0({currentStep:d0,responseMessages:C0,usage:Y1}){var I4,u6,o8,A1,I0,R4;let O=U0.includeRawChunks;f=new QF;let _=[...S0,...C0],e=await(M==null?void 0:M({model:Q,steps:V0,stepNumber:V0.length,messages:_,experimental_context:h})),Y0=EW1((I4=e==null?void 0:e.model)!=null?I4:Q),z=await uy6({prompt:{system:(u6=e==null?void 0:e.system)!=null?u6:A0.system,messages:(o8=e==null?void 0:e.messages)!=null?o8:_},supportedUrls:await Y0.supportedUrls,download:a}),{toolChoice:w,tools:v}=await ny6({tools:H,toolChoice:(A1=e==null?void 0:e.toolChoice)!=null?A1:F,activeTools:(I0=e==null?void 0:e.activeTools)!=null?I0:q});h=(R4=e==null?void 0:e.experimental_context)!=null?R4:h;let c=i80(L,e==null?void 0:e.providerOptions),{result:{stream:s,response:u,request:M0},doStreamSpan:t0,startTimestampMs:T1}=await L0(()=>l80({name:"ai.streamText.doStream",attributes:bU({telemetry:X,attributes:{...u80({operationId:"ai.streamText.doStream",telemetry:X}),...H0,"ai.model.provider":Y0.provider,"ai.model.id":Y0.modelId,"ai.prompt.messages":{input:()=>Fb6(z)},"ai.prompt.tools":{input:()=>v==null?void 0:v.map((J1)=>JSON.stringify(J1))},"ai.prompt.toolChoice":{input:()=>w!=null?JSON.stringify(w):void 0},"gen_ai.system":Y0.provider,"gen_ai.request.model":Y0.modelId,"gen_ai.request.frequency_penalty":P0.frequencyPenalty,"gen_ai.request.max_tokens":P0.maxOutputTokens,"gen_ai.request.presence_penalty":P0.presencePenalty,"gen_ai.request.stop_sequences":P0.stopSequences,"gen_ai.request.temperature":P0.temperature,"gen_ai.request.top_k":P0.topK,"gen_ai.request.top_p":P0.topP}}),tracer:$0,endWhenDone:!1,fn:async(J1)=>({startTimestampMs:E(),doStreamSpan:J1,result:await Y0.doStream({...P0,tools:v,toolChoice:w,responseFormat:await(B==null?void 0:B.responseFormat),prompt:z,providerOptions:c,abortSignal:W,headers:Y,includeRawChunks:O})})})),v0=lb6({tools:H,generatorStream:s,tracer:$0,telemetry:X,system:Z,messages:_,repairToolCall:U,abortSignal:W,experimental_context:h,generateId:T}),L1=M0!=null?M0:{},R6=[],C8=[],_6,wX={},y5="other",h7=void 0,p0=y80(),U6,GQ=!0,y8={id:T(),timestamp:A(),modelId:Q.modelId},X1="";U0.addStream(v0.pipeThrough(new TransformStream({async transform(J1,H4){var MX,t$,MP,DQ,WF;if(J1.type==="stream-start"){_6=J1.warnings;return}if(GQ){let WQ=E()-T1;GQ=!1,t0.addEvent("ai.stream.firstChunk",{"ai.response.msToFirstChunk":WQ}),t0.setAttributes({"ai.response.msToFirstChunk":WQ}),H4.enqueue({type:"start-step",request:L1,warnings:_6!=null?_6:[]})}let dy=J1.type;switch(dy){case"tool-approval-request":case"text-start":case"text-end":{H4.enqueue(J1);break}case"text-delta":{if(J1.delta.length>0)H4.enqueue({type:"text-delta",id:J1.id,text:J1.delta,providerMetadata:J1.providerMetadata}),X1+=J1.delta;break}case"reasoning-start":case"reasoning-end":{H4.enqueue(J1);break}case"reasoning-delta":{H4.enqueue({type:"reasoning-delta",id:J1.id,text:J1.delta,providerMetadata:J1.providerMetadata});break}case"tool-call":{H4.enqueue(J1),R6.push(J1);break}case"tool-result":{if(H4.enqueue(J1),!J1.preliminary)C8.push(J1);break}case"tool-error":{H4.enqueue(J1),C8.push(J1);break}case"response-metadata":{y8={id:(MX=J1.id)!=null?MX:y8.id,timestamp:(t$=J1.timestamp)!=null?t$:y8.timestamp,modelId:(MP=J1.modelId)!=null?MP:y8.modelId};break}case"finish":{p0=J1.usage,y5=J1.finishReason,h7=J1.rawFinishReason,U6=J1.providerMetadata;let WQ=E()-T1;t0.addEvent("ai.stream.finish"),t0.setAttributes({"ai.response.msToFinish":WQ,"ai.response.avgOutputTokensPerSecond":1000*((DQ=p0.outputTokens)!=null?DQ:0)/WQ});break}case"file":{H4.enqueue(J1);break}case"source":{H4.enqueue(J1);break}case"tool-input-start":{wX[J1.id]=J1.toolName;let WQ=H==null?void 0:H[J1.toolName];if((WQ==null?void 0:WQ.onInputStart)!=null)await WQ.onInputStart({toolCallId:J1.id,messages:_,abortSignal:W,experimental_context:h});H4.enqueue({...J1,dynamic:(WF=J1.dynamic)!=null?WF:(WQ==null?void 0:WQ.type)==="dynamic",title:WQ==null?void 0:WQ.title});break}case"tool-input-end":{delete wX[J1.id],H4.enqueue(J1);break}case"tool-input-delta":{let WQ=wX[J1.id],py=H==null?void 0:H[WQ];if((py==null?void 0:py.onInputDelta)!=null)await py.onInputDelta({inputTextDelta:J1.delta,toolCallId:J1.id,messages:_,abortSignal:W,experimental_context:h});H4.enqueue(J1);break}case"error":{H4.enqueue(J1),y5="error";break}case"raw":{if(O)H4.enqueue(J1);break}default:throw Error(`Unknown chunk type: ${dy}`)}},async flush(J1){let H4=R6.length>0?JSON.stringify(R6):void 0;try{t0.setAttributes(await bU({telemetry:X,attributes:{"ai.response.finishReason":y5,"ai.response.text":{output:()=>X1},"ai.response.toolCalls":{output:()=>H4},"ai.response.id":y8.id,"ai.response.model":y8.modelId,"ai.response.timestamp":y8.timestamp.toISOString(),"ai.response.providerMetadata":JSON.stringify(U6),"ai.usage.inputTokens":p0.inputTokens,"ai.usage.outputTokens":p0.outputTokens,"ai.usage.totalTokens":p0.totalTokens,"ai.usage.reasoningTokens":p0.reasoningTokens,"ai.usage.cachedInputTokens":p0.cachedInputTokens,"gen_ai.response.finish_reasons":[y5],"gen_ai.response.id":y8.id,"gen_ai.response.model":y8.modelId,"gen_ai.usage.input_tokens":p0.inputTokens,"gen_ai.usage.output_tokens":p0.outputTokens}}))}catch(DQ){}finally{t0.end()}J1.enqueue({type:"finish-step",finishReason:y5,rawFinishReason:h7,usage:p0,providerMetadata:U6,response:{...y8,headers:u==null?void 0:u.headers}});let MX=qb6(Y1,p0);await f.promise;let t$=R6.filter((DQ)=>DQ.providerExecuted!==!0),MP=C8.filter((DQ)=>DQ.providerExecuted!==!0);for(let DQ of R6){if(DQ.providerExecuted!==!0)continue;let WF=H==null?void 0:H[DQ.toolName];if((WF==null?void 0:WF.type)==="provider"&&WF.supportsDeferredResults){if(!C8.some((WQ)=>WQ.type==="tool-result"&&WQ.toolCallId===DQ.toolCallId))T0.set(DQ.toolCallId,{toolName:DQ.toolName})}}for(let DQ of C8)if(DQ.type==="tool-result")T0.delete(DQ.toolCallId);if((t$.length>0&&MP.length===t$.length||T0.size>0)&&!await Ib6({stopConditions:D,steps:V0})){C0.push(...await gG1({content:V0[V0.length-1].content,tools:H}));try{await l0({currentStep:d0+1,responseMessages:C0,usage:MX})}catch(DQ){J1.enqueue({type:"error",error:DQ}),U0.closeStream()}}else J1.enqueue({type:"finish",finishReason:y5,rawFinishReason:h7,totalUsage:MX}),U0.closeStream()}})))}await l0({currentStep:0,responseMessages:B1,usage:y80()})}}).catch((u0)=>{U0.addStream(new ReadableStream({start(A0){A0.enqueue({type:"error",error:u0}),A0.close()}})),U0.closeStream()})}get steps(){return this.consumeStream(),this._steps.promise}get finalStep(){return this.steps.then((Q)=>Q[Q.length-1])}get content(){return this.finalStep.then((Q)=>Q.content)}get warnings(){return this.finalStep.then((Q)=>Q.warnings)}get providerMetadata(){return this.finalStep.then((Q)=>Q.providerMetadata)}get text(){return this.finalStep.then((Q)=>Q.text)}get reasoningText(){return this.finalStep.then((Q)=>Q.reasoningText)}get reasoning(){return this.finalStep.then((Q)=>Q.reasoning)}get sources(){return this.finalStep.then((Q)=>Q.sources)}get files(){return this.finalStep.then((Q)=>Q.files)}get toolCalls(){return this.finalStep.then((Q)=>Q.toolCalls)}get staticToolCalls(){return this.finalStep.then((Q)=>Q.staticToolCalls)}get dynamicToolCalls(){return this.finalStep.then((Q)=>Q.dynamicToolCalls)}get toolResults(){return this.finalStep.then((Q)=>Q.toolResults)}get staticToolResults(){return this.finalStep.then((Q)=>Q.staticToolResults)}get dynamicToolResults(){return this.finalStep.then((Q)=>Q.dynamicToolResults)}get usage(){return this.finalStep.then((Q)=>Q.usage)}get request(){return this.finalStep.then((Q)=>Q.request)}get response(){return this.finalStep.then((Q)=>Q.response)}get totalUsage(){return this.consumeStream(),this._totalUsage.promise}get finishReason(){return this.consumeStream(),this._finishReason.promise}get rawFinishReason(){return this.consumeStream(),this._rawFinishReason.promise}teeStream(){let[Q,X]=this.baseStream.tee();return this.baseStream=X,Q}get textStream(){return xy(this.teeStream().pipeThrough(new TransformStream({transform({part:Q},X){if(Q.type==="text-delta")X.enqueue(Q.text)}})))}get fullStream(){return xy(this.teeStream().pipeThrough(new TransformStream({transform({part:Q},X){X.enqueue(Q)}})))}async consumeStream(Q){var X;try{await gb6({stream:this.fullStream,onError:Q==null?void 0:Q.onError})}catch(Y){(X=Q==null?void 0:Q.onError)==null||X.call(Q,Y)}}get experimental_partialOutputStream(){return this.partialOutputStream}get partialOutputStream(){return xy(this.teeStream().pipeThrough(new TransformStream({transform({partialOutput:Q},X){if(Q!=null)X.enqueue(Q)}})))}get output(){return this.finalStep.then((Q)=>{var X;return((X=this.outputSpecification)!=null?X:d80()).parseCompleteOutput({text:Q.text},{response:Q.response,usage:Q.usage,finishReason:Q.finishReason})})}toUIMessageStream({originalMessages:Q,generateMessageId:X,onFinish:Y,messageMetadata:J,sendReasoning:G=!0,sendSources:W=!1,sendStart:Z=!0,sendFinish:$=!0,onError:K=R5}={}){let H=X!=null?_b6({originalMessages:Q,responseMessageId:X}):void 0,F=(q)=>{var U;let D=(U=this.tools)==null?void 0:U[q.toolName];if(D==null)return q.dynamic;return(D==null?void 0:D.type)==="dynamic"?!0:void 0},V=this.fullStream.pipeThrough(new TransformStream({transform:async(q,U)=>{let D=J==null?void 0:J({part:q}),B=q.type;switch(B){case"text-start":{U.enqueue({type:"text-start",id:q.id,...q.providerMetadata!=null?{providerMetadata:q.providerMetadata}:{}});break}case"text-delta":{U.enqueue({type:"text-delta",id:q.id,delta:q.text,...q.providerMetadata!=null?{providerMetadata:q.providerMetadata}:{}});break}case"text-end":{U.enqueue({type:"text-end",id:q.id,...q.providerMetadata!=null?{providerMetadata:q.providerMetadata}:{}});break}case"reasoning-start":{U.enqueue({type:"reasoning-start",id:q.id,...q.providerMetadata!=null?{providerMetadata:q.providerMetadata}:{}});break}case"reasoning-delta":{if(G)U.enqueue({type:"reasoning-delta",id:q.id,delta:q.text,...q.providerMetadata!=null?{providerMetadata:q.providerMetadata}:{}});break}case"reasoning-end":{U.enqueue({type:"reasoning-end",id:q.id,...q.providerMetadata!=null?{providerMetadata:q.providerMetadata}:{}});break}case"file":{U.enqueue({type:"file",mediaType:q.file.mediaType,url:`data:${q.file.mediaType};base64,${q.file.base64}`});break}case"source":{if(W&&q.sourceType==="url")U.enqueue({type:"source-url",sourceId:q.id,url:q.url,title:q.title,...q.providerMetadata!=null?{providerMetadata:q.providerMetadata}:{}});if(W&&q.sourceType==="document")U.enqueue({type:"source-document",sourceId:q.id,mediaType:q.mediaType,title:q.title,filename:q.filename,...q.providerMetadata!=null?{providerMetadata:q.providerMetadata}:{}});break}case"tool-input-start":{let L=F(q);U.enqueue({type:"tool-input-start",toolCallId:q.id,toolName:q.toolName,...q.providerExecuted!=null?{providerExecuted:q.providerExecuted}:{},...L!=null?{dynamic:L}:{},...q.title!=null?{title:q.title}:{}});break}case"tool-input-delta":{U.enqueue({type:"tool-input-delta",toolCallId:q.id,inputTextDelta:q.delta});break}case"tool-call":{let L=F(q);if(q.invalid)U.enqueue({type:"tool-input-error",toolCallId:q.toolCallId,toolName:q.toolName,input:q.input,...q.providerExecuted!=null?{providerExecuted:q.providerExecuted}:{},...q.providerMetadata!=null?{providerMetadata:q.providerMetadata}:{},...L!=null?{dynamic:L}:{},errorText:K(q.error),...q.title!=null?{title:q.title}:{}});else U.enqueue({type:"tool-input-available",toolCallId:q.toolCallId,toolName:q.toolName,input:q.input,...q.providerExecuted!=null?{providerExecuted:q.providerExecuted}:{},...q.providerMetadata!=null?{providerMetadata:q.providerMetadata}:{},...L!=null?{dynamic:L}:{},...q.title!=null?{title:q.title}:{}});break}case"tool-approval-request":{U.enqueue({type:"tool-approval-request",approvalId:q.approvalId,toolCallId:q.toolCall.toolCallId});break}case"tool-result":{let L=F(q);U.enqueue({type:"tool-output-available",toolCallId:q.toolCallId,output:q.output,...q.providerExecuted!=null?{providerExecuted:q.providerExecuted}:{},...q.preliminary!=null?{preliminary:q.preliminary}:{},...L!=null?{dynamic:L}:{}});break}case"tool-error":{let L=F(q);U.enqueue({type:"tool-output-error",toolCallId:q.toolCallId,errorText:K(q.error),...q.providerExecuted!=null?{providerExecuted:q.providerExecuted}:{},...L!=null?{dynamic:L}:{}});break}case"tool-output-denied":{U.enqueue({type:"tool-output-denied",toolCallId:q.toolCallId});break}case"error":{U.enqueue({type:"error",errorText:K(q.error)});break}case"start-step":{U.enqueue({type:"start-step"});break}case"finish-step":{U.enqueue({type:"finish-step"});break}case"start":{if(Z)U.enqueue({type:"start",...D!=null?{messageMetadata:D}:{},...H!=null?{messageId:H}:{}});break}case"finish":{if($)U.enqueue({type:"finish",finishReason:q.finishReason,...D!=null?{messageMetadata:D}:{}});break}case"abort":{U.enqueue(q);break}case"tool-input-end":break;case"raw":break;default:throw Error(`Unknown chunk type: ${B}`)}if(D!=null&&B!=="start"&&B!=="finish")U.enqueue({type:"message-metadata",messageMetadata:D})}}));return xy(hb6({stream:V,messageId:H!=null?H:X==null?void 0:X(),originalMessages:Q,onFinish:Y,onError:K}))}pipeUIMessageStreamToResponse(Q,{originalMessages:X,generateMessageId:Y,onFinish:J,messageMetadata:G,sendReasoning:W,sendSources:Z,sendFinish:$,sendStart:K,onError:H,...F}={}){xb6({response:Q,stream:this.toUIMessageStream({originalMessages:X,generateMessageId:Y,onFinish:J,messageMetadata:G,sendReasoning:W,sendSources:Z,sendFinish:$,sendStart:K,onError:H}),...F})}pipeTextStreamToResponse(Q,X){kb6({response:Q,textStream:this.textStream,...X})}toUIMessageStreamResponse({originalMessages:Q,generateMessageId:X,onFinish:Y,messageMetadata:J,sendReasoning:G,sendSources:W,sendFinish:Z,sendStart:$,onError:K,...H}={}){return vb6({stream:this.toUIMessageStream({originalMessages:Q,generateMessageId:X,onFinish:Y,messageMetadata:J,sendReasoning:G,sendSources:W,sendFinish:Z,sendStart:$,onError:K}),...H})}toTextStreamResponse(Q){return Sb6({textStream:this.textStream,...Q})}};async function lW1(Q,X){let Y=[];if(X==null?void 0:X.ignoreIncompleteToolCalls)Q=Q.map((J)=>({...J,parts:J.parts.filter((G)=>!OP(G)||G.state!=="input-streaming"&&G.state!=="input-available")}));for(let J of Q)switch(J.role){case"system":{let G=J.parts.filter((Z)=>Z.type==="text"),W=G.reduce((Z,$)=>{if($.providerMetadata!=null)return{...Z,...$.providerMetadata};return Z},{});Y.push({role:"system",content:G.map((Z)=>Z.text).join(""),...Object.keys(W).length>0?{providerOptions:W}:{}});break}case"user":{Y.push({role:"user",content:J.parts.map((G)=>{var W;if(f80(G))return{type:"text",text:G.text,...G.providerMetadata!=null?{providerOptions:G.providerMetadata}:{}};if(h80(G))return{type:"file",mediaType:G.mediaType,filename:G.filename,data:G.url,...G.providerMetadata!=null?{providerOptions:G.providerMetadata}:{}};if(b80(G))return(W=X==null?void 0:X.convertDataPart)==null?void 0:W.call(X,G)}).filter($51)});break}case"assistant":{if(J.parts!=null){let G=[];async function W(){var Z,$,K,H,F,V;if(G.length===0)return;let q=[];for(let D of G)if(f80(D))q.push({type:"text",text:D.text,...D.providerMetadata!=null?{providerOptions:D.providerMetadata}:{}});else if(h80(D))q.push({type:"file",mediaType:D.mediaType,filename:D.filename,data:D.url});else if(uG1(D))q.push({type:"reasoning",text:D.text,providerOptions:D.providerMetadata});else if(OP(D)){let B=x80(D);if(D.state!=="input-streaming"){if(q.push({type:"tool-call",toolCallId:D.toolCallId,toolName:B,input:D.state==="output-error"?(Z=D.input)!=null?Z:("rawInput"in D)?D.rawInput:void 0:D.input,providerExecuted:D.providerExecuted,...D.callProviderMetadata!=null?{providerOptions:D.callProviderMetadata}:{}}),D.approval!=null)q.push({type:"tool-approval-request",approvalId:D.approval.id,toolCallId:D.toolCallId});if(D.providerExecuted===!0&&D.state!=="approval-responded"&&(D.state==="output-available"||D.state==="output-error"))q.push({type:"tool-result",toolCallId:D.toolCallId,toolName:B,output:await fU({toolCallId:D.toolCallId,input:D.input,output:D.state==="output-error"?D.errorText:D.output,tool:($=X==null?void 0:X.tools)==null?void 0:$[B],errorMode:D.state==="output-error"?"json":"none"}),...D.callProviderMetadata!=null?{providerOptions:D.callProviderMetadata}:{}})}}else if(b80(D)){let B=(K=X==null?void 0:X.convertDataPart)==null?void 0:K.call(X,D);if(B!=null)q.push(B)}else throw Error(`Unsupported part: ${D}`);Y.push({role:"assistant",content:q});let U=G.filter((D)=>{var B;return OP(D)&&(D.providerExecuted!==!0||((B=D.approval)==null?void 0:B.approved)!=null)});if(U.length>0){let D=[];for(let B of U){if(((H=B.approval)==null?void 0:H.approved)!=null)D.push({type:"tool-approval-response",approvalId:B.approval.id,approved:B.approval.approved,reason:B.approval.reason,providerExecuted:B.providerExecuted});if(B.providerExecuted===!0)continue;switch(B.state){case"output-denied":{D.push({type:"tool-result",toolCallId:B.toolCallId,toolName:x80(B),output:{type:"error-text",value:(F=B.approval.reason)!=null?F:"Tool execution denied."},...B.callProviderMetadata!=null?{providerOptions:B.callProviderMetadata}:{}});break}case"output-error":case"output-available":{let L=x80(B);D.push({type:"tool-result",toolCallId:B.toolCallId,toolName:L,output:await fU({toolCallId:B.toolCallId,input:B.input,output:B.state==="output-error"?B.errorText:B.output,tool:(V=X==null?void 0:X.tools)==null?void 0:V[L],errorMode:B.state==="output-error"?"text":"none"}),...B.callProviderMetadata!=null?{providerOptions:B.callProviderMetadata}:{}});break}}}if(D.length>0)Y.push({role:"tool",content:D})}G=[]}for(let Z of J.parts)if(f80(Z)||uG1(Z)||h80(Z)||OP(Z)||b80(Z))G.push(Z);else if(Z.type==="step-start")await W();await W();break}break}default:{let G=J.role;throw new Ty6({originalMessage:J,message:`Unsupported role: ${G}`})}}return Y}var Pl4=OX(()=>z9(N.array(N.object({id:N.string(),role:N.enum(["system","user","assistant"]),metadata:N.unknown().optional(),parts:N.array(N.union([N.object({type:N.literal("text"),text:N.string(),state:N.enum(["streaming","done"]).optional(),providerMetadata:i1.optional()}),N.object({type:N.literal("reasoning"),text:N.string(),state:N.enum(["streaming","done"]).optional(),providerMetadata:i1.optional()}),N.object({type:N.literal("source-url"),sourceId:N.string(),url:N.string(),title:N.string().optional(),providerMetadata:i1.optional()}),N.object({type:N.literal("source-document"),sourceId:N.string(),mediaType:N.string(),title:N.string(),filename:N.string().optional(),providerMetadata:i1.optional()}),N.object({type:N.literal("file"),mediaType:N.string(),filename:N.string().optional(),url:N.string(),providerMetadata:i1.optional()}),N.object({type:N.literal("step-start")}),N.object({type:N.string().startsWith("data-"),id:N.string().optional(),data:N.unknown()}),N.object({type:N.literal("dynamic-tool"),toolName:N.string(),toolCallId:N.string(),state:N.literal("input-streaming"),input:N.unknown().optional(),providerExecuted:N.boolean().optional(),output:N.never().optional(),errorText:N.never().optional(),approval:N.never().optional()}),N.object({type:N.literal("dynamic-tool"),toolName:N.string(),toolCallId:N.string(),state:N.literal("input-available"),input:N.unknown(),providerExecuted:N.boolean().optional(),output:N.never().optional(),errorText:N.never().optional(),callProviderMetadata:i1.optional(),approval:N.never().optional()}),N.object({type:N.literal("dynamic-tool"),toolName:N.string(),toolCallId:N.string(),state:N.literal("approval-requested"),input:N.unknown(),providerExecuted:N.boolean().optional(),output:N.never().optional(),errorText:N.never().optional(),callProviderMetadata:i1.optional(),approval:N.object({id:N.string(),approved:N.never().optional(),reason:N.never().optional()})}),N.object({type:N.literal("dynamic-tool"),toolName:N.string(),toolCallId:N.string(),state:N.literal("approval-responded"),input:N.unknown(),providerExecuted:N.boolean().optional(),output:N.never().optional(),errorText:N.never().optional(),callProviderMetadata:i1.optional(),approval:N.object({id:N.string(),approved:N.boolean(),reason:N.string().optional()})}),N.object({type:N.literal("dynamic-tool"),toolName:N.string(),toolCallId:N.string(),state:N.literal("output-available"),input:N.unknown(),providerExecuted:N.boolean().optional(),output:N.unknown(),errorText:N.never().optional(),callProviderMetadata:i1.optional(),preliminary:N.boolean().optional(),approval:N.object({id:N.string(),approved:N.literal(!0),reason:N.string().optional()}).optional()}),N.object({type:N.literal("dynamic-tool"),toolName:N.string(),toolCallId:N.string(),state:N.literal("output-error"),input:N.unknown(),providerExecuted:N.boolean().optional(),output:N.never().optional(),errorText:N.string(),callProviderMetadata:i1.optional(),approval:N.object({id:N.string(),approved:N.literal(!0),reason:N.string().optional()}).optional()}),N.object({type:N.literal("dynamic-tool"),toolName:N.string(),toolCallId:N.string(),state:N.literal("output-denied"),input:N.unknown(),providerExecuted:N.boolean().optional(),output:N.never().optional(),errorText:N.never().optional(),callProviderMetadata:i1.optional(),approval:N.object({id:N.string(),approved:N.literal(!1),reason:N.string().optional()})}),N.object({type:N.string().startsWith("tool-"),toolCallId:N.string(),state:N.literal("input-streaming"),providerExecuted:N.boolean().optional(),input:N.unknown().optional(),output:N.never().optional(),errorText:N.never().optional(),approval:N.never().optional()}),N.object({type:N.string().startsWith("tool-"),toolCallId:N.string(),state:N.literal("input-available"),providerExecuted:N.boolean().optional(),input:N.unknown(),output:N.never().optional(),errorText:N.never().optional(),callProviderMetadata:i1.optional(),approval:N.never().optional()}),N.object({type:N.string().startsWith("tool-"),toolCallId:N.string(),state:N.literal("approval-requested"),input:N.unknown(),providerExecuted:N.boolean().optional(),output:N.never().optional(),errorText:N.never().optional(),callProviderMetadata:i1.optional(),approval:N.object({id:N.string(),approved:N.never().optional(),reason:N.never().optional()})}),N.object({type:N.string().startsWith("tool-"),toolCallId:N.string(),state:N.literal("approval-responded"),input:N.unknown(),providerExecuted:N.boolean().optional(),output:N.never().optional(),errorText:N.never().optional(),callProviderMetadata:i1.optional(),approval:N.object({id:N.string(),approved:N.boolean(),reason:N.string().optional()})}),N.object({type:N.string().startsWith("tool-"),toolCallId:N.string(),state:N.literal("output-available"),providerExecuted:N.boolean().optional(),input:N.unknown(),output:N.unknown(),errorText:N.never().optional(),callProviderMetadata:i1.optional(),preliminary:N.boolean().optional(),approval:N.object({id:N.string(),approved:N.literal(!0),reason:N.string().optional()}).optional()}),N.object({type:N.string().startsWith("tool-"),toolCallId:N.string(),state:N.literal("output-error"),providerExecuted:N.boolean().optional(),input:N.unknown(),output:N.never().optional(),errorText:N.string(),callProviderMetadata:i1.optional(),approval:N.object({id:N.string(),approved:N.literal(!0),reason:N.string().optional()}).optional()}),N.object({type:N.string().startsWith("tool-"),toolCallId:N.string(),state:N.literal("output-denied"),providerExecuted:N.boolean().optional(),input:N.unknown(),output:N.never().optional(),errorText:N.never().optional(),callProviderMetadata:i1.optional(),approval:N.object({id:N.string(),approved:N.literal(!1),reason:N.string().optional()})})])).nonempty("Message must contain at least one part")})).nonempty("Messages array must not be empty")));var Al4=XW({prefix:"aiobj",size:24});var jl4=XW({prefix:"aiobj",size:24});function dW1({messages:Q,reasoning:X="none",toolCalls:Y=[],emptyMessages:J="remove"}){if(X==="all"||X==="before-last-message")Q=Q.map((G,W)=>{if(G.role!=="assistant"||typeof G.content==="string"||X==="before-last-message"&&W===Q.length-1)return G;return{...G,content:G.content.filter((Z)=>Z.type!=="reasoning")}});if(Y==="none")Y=[];else if(Y==="all")Y=[{type:"all"}];else if(Y==="before-last-message")Y=[{type:"before-last-message"}];else if(typeof Y==="string")Y=[{type:Y}];for(let G of Y){let W=G.type==="all"?void 0:G.type==="before-last-message"?1:Number(G.type.slice(12).slice(0,-9)),Z=new Set,$=new Set;if(W!=null){for(let K of Q.slice(-W))if((K.role==="assistant"||K.role==="tool")&&typeof K.content!=="string"){for(let H of K.content)if(H.type==="tool-call"||H.type==="tool-result")Z.add(H.toolCallId);else if(H.type==="tool-approval-request"||H.type==="tool-approval-response")$.add(H.approvalId)}}Q=Q.map((K,H)=>{if(K.role!=="assistant"&&K.role!=="tool"||typeof K.content==="string"||W&&H>=Q.length-W)return K;let F={},V={};return{...K,content:K.content.filter((q)=>{if(q.type!=="tool-call"&&q.type!=="tool-result"&&q.type!=="tool-approval-request"&&q.type!=="tool-approval-response")return!0;if(q.type==="tool-call")F[q.toolCallId]=q.toolName;else if(q.type==="tool-approval-request")V[q.approvalId]=F[q.toolCallId];if((q.type==="tool-call"||q.type==="tool-result")&&Z.has(q.toolCallId)||(q.type==="tool-approval-request"||q.type==="tool-approval-response")&&$.has(q.approvalId))return!0;return G.tools!=null&&!G.tools.includes(q.type==="tool-call"||q.type==="tool-result"?q.toolName:V[q.approvalId])})}})}if(J==="remove")Q=Q.filter((G)=>G.content.length>0);return Q}var nb6="AI_NoSuchProviderError",ib6=`vercel.ai.error.${nb6}`,ab6=Symbol.for(ib6),rb6;rb6=ab6;W1();function pW1(Q){let X=Q.trim();if(!X)return null;if(X.startsWith("event:"))return null;if(X.startsWith("id:"))return null;if(X.startsWith("retry:"))return null;let Y=X;if(Y.startsWith("data:")){if(Y=Y.slice(5).trim(),!Y)return null;if(Y==="[DONE]")return null}try{return JSON.parse(Y)}catch(J){return console.warn("[llm-provider] Failed to parse stream line as JSON. Skipping line.",{line:Y.slice(0,200)},J),null}}function ob6(Q){if(!Q.body)throw Error("Response body is null");let X="";return Q.body.pipeThrough(new TextDecoderStream).pipeThrough(new TransformStream({transform(Y,J){X+=Y;let G=X.split(`
|
|
1077
|
+
`)}})}},gW1={"content-type":"text/event-stream","cache-control":"no-cache",connection:"keep-alive","x-vercel-ai-ui-message-stream":"v1","x-accel-buffering":"no"};function vb6({status:Q,statusText:X,headers:Y,stream:J,consumeSseStream:G}){let W=J.pipeThrough(new xW1);if(G){let[Z,$]=W.tee();W=Z,G({stream:$})}return new Response(W.pipeThrough(new TextEncoderStream),{status:Q,statusText:X,headers:uy(Y,gW1)})}function _b6({originalMessages:Q,responseMessageId:X}){if(Q==null)return;let Y=Q[Q.length-1];return(Y==null?void 0:Y.role)==="assistant"?Y.id:typeof X==="function"?X():X}var Nl4=OX(()=>z9(N.union([N.strictObject({type:N.literal("text-start"),id:N.string(),providerMetadata:i1.optional()}),N.strictObject({type:N.literal("text-delta"),id:N.string(),delta:N.string(),providerMetadata:i1.optional()}),N.strictObject({type:N.literal("text-end"),id:N.string(),providerMetadata:i1.optional()}),N.strictObject({type:N.literal("error"),errorText:N.string()}),N.strictObject({type:N.literal("tool-input-start"),toolCallId:N.string(),toolName:N.string(),providerExecuted:N.boolean().optional(),dynamic:N.boolean().optional(),title:N.string().optional()}),N.strictObject({type:N.literal("tool-input-delta"),toolCallId:N.string(),inputTextDelta:N.string()}),N.strictObject({type:N.literal("tool-input-available"),toolCallId:N.string(),toolName:N.string(),input:N.unknown(),providerExecuted:N.boolean().optional(),providerMetadata:i1.optional(),dynamic:N.boolean().optional(),title:N.string().optional()}),N.strictObject({type:N.literal("tool-input-error"),toolCallId:N.string(),toolName:N.string(),input:N.unknown(),providerExecuted:N.boolean().optional(),providerMetadata:i1.optional(),dynamic:N.boolean().optional(),errorText:N.string(),title:N.string().optional()}),N.strictObject({type:N.literal("tool-approval-request"),approvalId:N.string(),toolCallId:N.string()}),N.strictObject({type:N.literal("tool-output-available"),toolCallId:N.string(),output:N.unknown(),providerExecuted:N.boolean().optional(),dynamic:N.boolean().optional(),preliminary:N.boolean().optional()}),N.strictObject({type:N.literal("tool-output-error"),toolCallId:N.string(),errorText:N.string(),providerExecuted:N.boolean().optional(),dynamic:N.boolean().optional()}),N.strictObject({type:N.literal("tool-output-denied"),toolCallId:N.string()}),N.strictObject({type:N.literal("reasoning-start"),id:N.string(),providerMetadata:i1.optional()}),N.strictObject({type:N.literal("reasoning-delta"),id:N.string(),delta:N.string(),providerMetadata:i1.optional()}),N.strictObject({type:N.literal("reasoning-end"),id:N.string(),providerMetadata:i1.optional()}),N.strictObject({type:N.literal("source-url"),sourceId:N.string(),url:N.string(),title:N.string().optional(),providerMetadata:i1.optional()}),N.strictObject({type:N.literal("source-document"),sourceId:N.string(),mediaType:N.string(),title:N.string(),filename:N.string().optional(),providerMetadata:i1.optional()}),N.strictObject({type:N.literal("file"),url:N.string(),mediaType:N.string(),providerMetadata:i1.optional()}),N.strictObject({type:N.custom((Q)=>typeof Q==="string"&&Q.startsWith("data-"),{message:'Type must start with "data-"'}),id:N.string().optional(),data:N.unknown(),transient:N.boolean().optional()}),N.strictObject({type:N.literal("start-step")}),N.strictObject({type:N.literal("finish-step")}),N.strictObject({type:N.literal("start"),messageId:N.string().optional(),messageMetadata:N.unknown().optional()}),N.strictObject({type:N.literal("finish"),finishReason:N.enum(["stop","length","content-filter","tool-calls","error","other"]).optional(),messageMetadata:N.unknown().optional()}),N.strictObject({type:N.literal("abort"),reason:N.string().optional()}),N.strictObject({type:N.literal("message-metadata"),messageMetadata:N.unknown()})])));function yb6(Q){return Q.type.startsWith("data-")}function b80(Q){return Q.type.startsWith("data-")}function f80(Q){return Q.type==="text"}function h80(Q){return Q.type==="file"}function uG1(Q){return Q.type==="reasoning"}function p80(Q){return Q.type.startsWith("tool-")}function uW1(Q){return Q.type==="dynamic-tool"}function OP(Q){return p80(Q)||uW1(Q)}function c80(Q){return Q.type.split("-").slice(1).join("-")}function x80(Q){return uW1(Q)?Q.toolName:c80(Q)}function bb6({lastMessage:Q,messageId:X}){return{message:(Q==null?void 0:Q.role)==="assistant"?Q:{id:X,metadata:void 0,role:"assistant",parts:[]},activeTextParts:{},activeReasoningParts:{},partialToolCalls:{}}}function fb6({stream:Q,messageMetadataSchema:X,dataPartSchemas:Y,runUpdateMessageJob:J,onError:G,onToolCall:W,onData:Z}){return Q.pipeThrough(new TransformStream({async transform($,K){await J(async({state:H,write:F})=>{var V,q,U,D;function B(E){let T=H.message.parts.filter(OP).find((j)=>j.toolCallId===E);if(T==null)throw Error(`no tool invocation found for tool call ${E}`);return T}function L(E){var A;let T=H.message.parts.find((k)=>p80(k)&&k.toolCallId===E.toolCallId),j=E,R=T;if(T!=null){if(T.state=E.state,R.input=j.input,R.output=j.output,R.errorText=j.errorText,R.rawInput=j.rawInput,R.preliminary=j.preliminary,E.title!==void 0)R.title=E.title;if(R.providerExecuted=(A=j.providerExecuted)!=null?A:T.providerExecuted,j.providerMetadata!=null&&T.state==="input-available")T.callProviderMetadata=j.providerMetadata}else H.message.parts.push({type:`tool-${E.toolName}`,toolCallId:E.toolCallId,state:E.state,title:E.title,input:j.input,output:j.output,rawInput:j.rawInput,errorText:j.errorText,providerExecuted:j.providerExecuted,preliminary:j.preliminary,...j.providerMetadata!=null?{callProviderMetadata:j.providerMetadata}:{}})}function M(E){var A,T;let j=H.message.parts.find((y)=>y.type==="dynamic-tool"&&y.toolCallId===E.toolCallId),R=E,k=j;if(j!=null){if(j.state=E.state,k.toolName=E.toolName,k.input=R.input,k.output=R.output,k.errorText=R.errorText,k.rawInput=(A=R.rawInput)!=null?A:k.rawInput,k.preliminary=R.preliminary,E.title!==void 0)k.title=E.title;if(k.providerExecuted=(T=R.providerExecuted)!=null?T:j.providerExecuted,R.providerMetadata!=null&&j.state==="input-available")j.callProviderMetadata=R.providerMetadata}else H.message.parts.push({type:"dynamic-tool",toolName:E.toolName,toolCallId:E.toolCallId,state:E.state,input:R.input,output:R.output,errorText:R.errorText,preliminary:R.preliminary,providerExecuted:R.providerExecuted,title:E.title,...R.providerMetadata!=null?{callProviderMetadata:R.providerMetadata}:{}})}async function C(E){if(E!=null){let A=H.message.metadata!=null?i80(H.message.metadata,E):E;if(X!=null)await zP({value:A,schema:X});H.message.metadata=A}}switch($.type){case"text-start":{let E={type:"text",text:"",providerMetadata:$.providerMetadata,state:"streaming"};H.activeTextParts[$.id]=E,H.message.parts.push(E),F();break}case"text-delta":{let E=H.activeTextParts[$.id];E.text+=$.delta,E.providerMetadata=(V=$.providerMetadata)!=null?V:E.providerMetadata,F();break}case"text-end":{let E=H.activeTextParts[$.id];E.state="done",E.providerMetadata=(q=$.providerMetadata)!=null?q:E.providerMetadata,delete H.activeTextParts[$.id],F();break}case"reasoning-start":{let E={type:"reasoning",text:"",providerMetadata:$.providerMetadata,state:"streaming"};H.activeReasoningParts[$.id]=E,H.message.parts.push(E),F();break}case"reasoning-delta":{let E=H.activeReasoningParts[$.id];E.text+=$.delta,E.providerMetadata=(U=$.providerMetadata)!=null?U:E.providerMetadata,F();break}case"reasoning-end":{let E=H.activeReasoningParts[$.id];E.providerMetadata=(D=$.providerMetadata)!=null?D:E.providerMetadata,E.state="done",delete H.activeReasoningParts[$.id],F();break}case"file":{H.message.parts.push({type:"file",mediaType:$.mediaType,url:$.url}),F();break}case"source-url":{H.message.parts.push({type:"source-url",sourceId:$.sourceId,url:$.url,title:$.title,providerMetadata:$.providerMetadata}),F();break}case"source-document":{H.message.parts.push({type:"source-document",sourceId:$.sourceId,mediaType:$.mediaType,title:$.title,filename:$.filename,providerMetadata:$.providerMetadata}),F();break}case"tool-input-start":{let E=H.message.parts.filter(p80);if(H.partialToolCalls[$.toolCallId]={text:"",toolName:$.toolName,index:E.length,dynamic:$.dynamic,title:$.title},$.dynamic)M({toolCallId:$.toolCallId,toolName:$.toolName,state:"input-streaming",input:void 0,providerExecuted:$.providerExecuted,title:$.title});else L({toolCallId:$.toolCallId,toolName:$.toolName,state:"input-streaming",input:void 0,providerExecuted:$.providerExecuted,title:$.title});F();break}case"tool-input-delta":{let E=H.partialToolCalls[$.toolCallId];E.text+=$.inputTextDelta;let{value:A}=await wP(E.text);if(E.dynamic)M({toolCallId:$.toolCallId,toolName:E.toolName,state:"input-streaming",input:A,title:E.title});else L({toolCallId:$.toolCallId,toolName:E.toolName,state:"input-streaming",input:A,title:E.title});F();break}case"tool-input-available":{if($.dynamic)M({toolCallId:$.toolCallId,toolName:$.toolName,state:"input-available",input:$.input,providerExecuted:$.providerExecuted,providerMetadata:$.providerMetadata,title:$.title});else L({toolCallId:$.toolCallId,toolName:$.toolName,state:"input-available",input:$.input,providerExecuted:$.providerExecuted,providerMetadata:$.providerMetadata,title:$.title});if(F(),W&&!$.providerExecuted)await W({toolCall:$});break}case"tool-input-error":{if($.dynamic)M({toolCallId:$.toolCallId,toolName:$.toolName,state:"output-error",input:$.input,errorText:$.errorText,providerExecuted:$.providerExecuted,providerMetadata:$.providerMetadata});else L({toolCallId:$.toolCallId,toolName:$.toolName,state:"output-error",input:void 0,rawInput:$.input,errorText:$.errorText,providerExecuted:$.providerExecuted,providerMetadata:$.providerMetadata});F();break}case"tool-approval-request":{let E=B($.toolCallId);E.state="approval-requested",E.approval={id:$.approvalId},F();break}case"tool-output-denied":{let E=B($.toolCallId);E.state="output-denied",F();break}case"tool-output-available":{let E=B($.toolCallId);if(E.type==="dynamic-tool")M({toolCallId:$.toolCallId,toolName:E.toolName,state:"output-available",input:E.input,output:$.output,preliminary:$.preliminary,providerExecuted:$.providerExecuted,title:E.title});else L({toolCallId:$.toolCallId,toolName:c80(E),state:"output-available",input:E.input,output:$.output,providerExecuted:$.providerExecuted,preliminary:$.preliminary,title:E.title});F();break}case"tool-output-error":{let E=B($.toolCallId);if(E.type==="dynamic-tool")M({toolCallId:$.toolCallId,toolName:E.toolName,state:"output-error",input:E.input,errorText:$.errorText,providerExecuted:$.providerExecuted,title:E.title});else L({toolCallId:$.toolCallId,toolName:c80(E),state:"output-error",input:E.input,rawInput:E.rawInput,errorText:$.errorText,providerExecuted:$.providerExecuted,title:E.title});F();break}case"start-step":{H.message.parts.push({type:"step-start"});break}case"finish-step":{H.activeTextParts={},H.activeReasoningParts={};break}case"start":{if($.messageId!=null)H.message.id=$.messageId;if(await C($.messageMetadata),$.messageId!=null||$.messageMetadata!=null)F();break}case"finish":{if($.finishReason!=null)H.finishReason=$.finishReason;if(await C($.messageMetadata),$.messageMetadata!=null)F();break}case"message-metadata":{if(await C($.messageMetadata),$.messageMetadata!=null)F();break}case"error":{G==null||G(Error($.errorText));break}default:if(yb6($)){if((Y==null?void 0:Y[$.type])!=null)await zP({value:$.data,schema:Y[$.type]});let E=$;if(E.transient){Z==null||Z(E);break}let A=E.id!=null?H.message.parts.find((T)=>E.type===T.type&&E.id===T.id):void 0;if(A!=null)A.data=E.data;else H.message.parts.push(E);Z==null||Z(E),F()}}K.enqueue($)})}}))}function hb6({messageId:Q,originalMessages:X=[],onFinish:Y,onError:J,stream:G}){let W=X==null?void 0:X[X.length-1];if((W==null?void 0:W.role)!=="assistant")W=void 0;else Q=W.id;let Z=!1,$=G.pipeThrough(new TransformStream({transform(q,U){if(q.type==="start"){let D=q;if(D.messageId==null&&Q!=null)D.messageId=Q}if(q.type==="abort")Z=!0;U.enqueue(q)}}));if(Y==null)return $;let K=bb6({lastMessage:W?structuredClone(W):void 0,messageId:Q!=null?Q:""}),H=async(q)=>{await q({state:K,write:()=>{}})},F=!1,V=async()=>{if(F||!Y)return;F=!0;let q=K.message.id===(W==null?void 0:W.id);await Y({isAborted:Z,isContinuation:q,responseMessage:K.message,messages:[...q?X.slice(0,-1):X,K.message],finishReason:K.finishReason})};return fb6({stream:$,runUpdateMessageJob:H,onError:J}).pipeThrough(new TransformStream({transform(q,U){U.enqueue(q)},async cancel(){await V()},async flush(){await V()}}))}function xb6({response:Q,status:X,statusText:Y,headers:J,stream:G,consumeSseStream:W}){let Z=G.pipeThrough(new xW1);if(W){let[$,K]=Z.tee();Z=$,W({stream:K})}hW1({response:Q,status:X,statusText:Y,headers:Object.fromEntries(uy(J,gW1).entries()),stream:Z.pipeThrough(new TextEncoderStream)})}function xy(Q){let X=Q.pipeThrough(new TransformStream);return X[Symbol.asyncIterator]=function(){let Y=this.getReader(),J=!1;async function G(W){var Z;J=!0;try{if(W)await((Z=Y.cancel)==null?void 0:Z.call(Y))}finally{try{Y.releaseLock()}catch($){}}}return{async next(){if(J)return{done:!0,value:void 0};let{done:W,value:Z}=await Y.read();if(W)return await G(!0),{done:!0,value:void 0};return{done:!1,value:Z}},async return(){return await G(!0),{done:!0,value:void 0}},async throw(W){throw await G(!0),W}}},X}async function gb6({stream:Q,onError:X}){let Y=Q.getReader();try{while(!0){let{done:J}=await Y.read();if(J)break}}catch(J){X==null||X(J)}finally{Y.releaseLock()}}function mG1(){let Q,X;return{promise:new Promise((J,G)=>{Q=J,X=G}),resolve:Q,reject:X}}function ub6(){let Q=[],X=null,Y=!1,J=mG1(),G=()=>{Y=!0,J.resolve(),Q.forEach((Z)=>Z.cancel()),Q=[],X==null||X.close()},W=async()=>{if(Y&&Q.length===0){X==null||X.close();return}if(Q.length===0)return J=mG1(),await J.promise,W();try{let{value:Z,done:$}=await Q[0].read();if($)if(Q.shift(),Q.length===0&&Y)X==null||X.close();else await W();else X==null||X.enqueue(Z)}catch(Z){X==null||X.error(Z),Q.shift(),G()}};return{stream:new ReadableStream({start(Z){X=Z},pull:W,async cancel(){for(let Z of Q)await Z.cancel();Q=[],Y=!0}}),addStream:(Z)=>{if(Y)throw Error("Cannot add inner stream: outer stream is closed");Q.push(Z.getReader()),J.resolve()},close:()=>{if(Y=!0,J.resolve(),Q.length===0)X==null||X.close()},terminate:G}}function mb6(){var Q,X;return(X=(Q=globalThis==null?void 0:globalThis.performance)==null?void 0:Q.now())!=null?X:Date.now()}function lb6({tools:Q,generatorStream:X,tracer:Y,telemetry:J,system:G,messages:W,abortSignal:Z,repairToolCall:$,experimental_context:K,generateId:H}){let F=null,V=new ReadableStream({start(E){F=E}}),q=new Set,U=new Map,D=new Map,B=!1,L=void 0;function M(){if(B&&q.size===0){if(L!=null)F.enqueue(L);F.close()}}let C=new TransformStream({async transform(E,A){let T=E.type;switch(T){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":{A.enqueue(E);break}case"file":{A.enqueue({type:"file",file:new Ob6({data:E.data,mediaType:E.mediaType})});break}case"finish":{L={type:"finish",finishReason:E.finishReason.unified,rawFinishReason:E.finishReason.raw,usage:Vb6(E.usage),providerMetadata:E.providerMetadata};break}case"tool-approval-request":{let j=D.get(E.toolCallId);if(j==null){F.enqueue({type:"error",error:new QW1({toolCallId:E.toolCallId,approvalId:E.approvalId})});break}A.enqueue({type:"tool-approval-request",approvalId:E.approvalId,toolCall:j});break}case"tool-call":{try{let j=await jb6({toolCall:E,tools:Q,repairToolCall:$,system:G,messages:W});if(D.set(j.toolCallId,j),A.enqueue(j),j.invalid){F.enqueue({type:"tool-error",toolCallId:j.toolCallId,toolName:j.toolName,input:j.input,error:VP(j.error),dynamic:!0,title:j.title});break}let R=Q==null?void 0:Q[j.toolName];if(R==null)break;if(R.onInputAvailable!=null)await R.onInputAvailable({input:j.input,toolCallId:j.toolCallId,messages:W,abortSignal:Z,experimental_context:K});if(await Lb6({tool:R,toolCall:j,messages:W,experimental_context:K})){F.enqueue({type:"tool-approval-request",approvalId:H(),toolCall:j});break}if(U.set(j.toolCallId,j.input),R.execute!=null&&j.providerExecuted!==!0){let k=H();q.add(k),bW1({toolCall:j,tools:Q,tracer:Y,telemetry:J,messages:W,abortSignal:Z,experimental_context:K,onPreliminaryToolResult:(y)=>{F.enqueue(y)}}).then((y)=>{F.enqueue(y)}).catch((y)=>{F.enqueue({type:"error",error:y})}).finally(()=>{q.delete(k),M()})}}catch(j){F.enqueue({type:"error",error:j})}break}case"tool-result":{let j=E.toolName;if(E.isError)F.enqueue({type:"tool-error",toolCallId:E.toolCallId,toolName:j,input:U.get(E.toolCallId),providerExecuted:!0,error:E.result,dynamic:E.dynamic});else A.enqueue({type:"tool-result",toolCallId:E.toolCallId,toolName:j,input:U.get(E.toolCallId),output:E.result,providerExecuted:!0,dynamic:E.dynamic});break}default:throw Error(`Unhandled chunk type: ${T}`)}},flush(){B=!0,M()}});return new ReadableStream({async start(E){return Promise.all([X.pipeThrough(C).pipeTo(new WritableStream({write(A){E.enqueue(A)},close(){}})),V.pipeTo(new WritableStream({write(A){E.enqueue(A)},close(){E.close()}}))])}})}var db6=XW({prefix:"aitxt",size:24});function mW1({model:Q,tools:X,toolChoice:Y,system:J,prompt:G,messages:W,maxRetries:Z,abortSignal:$,timeout:K,headers:H,stopWhen:F=a80(1),experimental_output:V,output:q=V,experimental_telemetry:U,prepareStep:D,providerOptions:B,experimental_activeTools:L,activeTools:M=L,experimental_repairToolCall:C,experimental_transform:E,experimental_download:A,includeRawChunks:T=!1,onChunk:j,onError:R=({error:Q0})=>{console.error(Q0)},onFinish:k,onAbort:y,onStepFinish:b,experimental_context:h,_internal:{now:a=mb6,generateId:f=db6,currentDate:S=()=>new Date}={},...m}){let Q0=jW1(K);return new cb6({model:EW1(Q),telemetry:U,headers:H,settings:m,maxRetries:Z,abortSignal:Rb6($,Q0!=null?AbortSignal.timeout(Q0):void 0),system:J,prompt:G,messages:W,tools:X,toolChoice:Y,transforms:gy(E),activeTools:M,repairToolCall:C,stopConditions:gy(F),output:q,providerOptions:B,prepareStep:D,includeRawChunks:T,onChunk:j,onError:R,onFinish:k,onAbort:y,onStepFinish:b,now:a,currentDate:S,generateId:f,experimental_context:h,download:A})}function pb6(Q){let X=void 0,Y="",J="",G=void 0,W="";function Z({controller:$,partialOutput:K=void 0}){$.enqueue({part:{type:"text-delta",id:X,text:J,providerMetadata:G},partialOutput:K}),J=""}return new TransformStream({async transform($,K){var H;if($.type==="finish-step"&&J.length>0)Z({controller:K});if($.type!=="text-delta"&&$.type!=="text-start"&&$.type!=="text-end"){K.enqueue({part:$,partialOutput:void 0});return}if(X==null)X=$.id;else if($.id!==X){K.enqueue({part:$,partialOutput:void 0});return}if($.type==="text-start"){K.enqueue({part:$,partialOutput:void 0});return}if($.type==="text-end"){if(J.length>0)Z({controller:K});K.enqueue({part:$,partialOutput:void 0});return}Y+=$.text,J+=$.text,G=(H=$.providerMetadata)!=null?H:G;let F=await Q.parsePartialOutput({text:Y});if(F!==void 0){let V=JSON.stringify(F.partial);if(V!==W)Z({controller:K,partialOutput:F.partial}),W=V}}})}var cb6=class{constructor({model:Q,telemetry:X,headers:Y,settings:J,maxRetries:G,abortSignal:W,system:Z,prompt:$,messages:K,tools:H,toolChoice:F,transforms:V,activeTools:q,repairToolCall:U,stopConditions:D,output:B,providerOptions:L,prepareStep:M,includeRawChunks:C,now:E,currentDate:A,generateId:T,onChunk:j,onError:R,onFinish:k,onAbort:y,onStepFinish:b,experimental_context:h,download:a}){this._totalUsage=new QF,this._finishReason=new QF,this._rawFinishReason=new QF,this._steps=new QF,this.outputSpecification=B,this.includeRawChunks=C,this.tools=H;let f,S=[],m=[],Q0=void 0,r=void 0,J0=void 0,z0={},Z0=[],V0=[],T0=new Map,_0,K1={},N0={},G0=new TransformStream({async transform(u0,A0){var S0,B1,p1,T6;A0.enqueue(u0);let{part:l0}=u0;if(l0.type==="text-delta"||l0.type==="reasoning-delta"||l0.type==="source"||l0.type==="tool-call"||l0.type==="tool-result"||l0.type==="tool-input-start"||l0.type==="tool-input-delta"||l0.type==="raw")await(j==null?void 0:j({chunk:l0}));if(l0.type==="error")await R({error:Wb6(l0.error)});if(l0.type==="text-start")K1[l0.id]={type:"text",text:"",providerMetadata:l0.providerMetadata},S.push(K1[l0.id]);if(l0.type==="text-delta"){let d0=K1[l0.id];if(d0==null){A0.enqueue({part:{type:"error",error:`text part ${l0.id} not found`},partialOutput:void 0});return}d0.text+=l0.text,d0.providerMetadata=(S0=l0.providerMetadata)!=null?S0:d0.providerMetadata}if(l0.type==="text-end"){let d0=K1[l0.id];if(d0==null){A0.enqueue({part:{type:"error",error:`text part ${l0.id} not found`},partialOutput:void 0});return}d0.providerMetadata=(B1=l0.providerMetadata)!=null?B1:d0.providerMetadata,delete K1[l0.id]}if(l0.type==="reasoning-start")N0[l0.id]={type:"reasoning",text:"",providerMetadata:l0.providerMetadata},S.push(N0[l0.id]);if(l0.type==="reasoning-delta"){let d0=N0[l0.id];if(d0==null){A0.enqueue({part:{type:"error",error:`reasoning part ${l0.id} not found`},partialOutput:void 0});return}d0.text+=l0.text,d0.providerMetadata=(p1=l0.providerMetadata)!=null?p1:d0.providerMetadata}if(l0.type==="reasoning-end"){let d0=N0[l0.id];if(d0==null){A0.enqueue({part:{type:"error",error:`reasoning part ${l0.id} not found`},partialOutput:void 0});return}d0.providerMetadata=(T6=l0.providerMetadata)!=null?T6:d0.providerMetadata,delete N0[l0.id]}if(l0.type==="file")S.push({type:"file",file:l0.file});if(l0.type==="source")S.push(l0);if(l0.type==="tool-call")S.push(l0);if(l0.type==="tool-result"&&!l0.preliminary)S.push(l0);if(l0.type==="tool-approval-request")S.push(l0);if(l0.type==="tool-error")S.push(l0);if(l0.type==="start-step")S=[],N0={},K1={},z0=l0.request,Z0=l0.warnings;if(l0.type==="finish-step"){let d0=await gG1({content:S,tools:H}),C0=new Cb6({content:S,finishReason:l0.finishReason,rawFinishReason:l0.rawFinishReason,usage:l0.usage,warnings:Z0,request:z0,response:{...l0.response,messages:[...m,...d0]},providerMetadata:l0.providerMetadata});await(b==null?void 0:b(C0)),PW1({warnings:Z0,provider:Q.provider,model:Q.modelId}),V0.push(C0),m.push(...d0),f.resolve()}if(l0.type==="finish")J0=l0.totalUsage,Q0=l0.finishReason,r=l0.rawFinishReason},async flush(u0){try{if(V0.length===0){let p1=(W==null?void 0:W.aborted)?W.reason:new Vy6({message:"No output generated. Check the stream for errors."});U0._finishReason.reject(p1),U0._rawFinishReason.reject(p1),U0._totalUsage.reject(p1),U0._steps.reject(p1);return}let A0=Q0!=null?Q0:"other",S0=J0!=null?J0:y80();U0._finishReason.resolve(A0),U0._rawFinishReason.resolve(r),U0._totalUsage.resolve(S0),U0._steps.resolve(V0);let B1=V0[V0.length-1];await(k==null?void 0:k({finishReason:B1.finishReason,rawFinishReason:B1.rawFinishReason,totalUsage:S0,usage:B1.usage,content:B1.content,text:B1.text,reasoningText:B1.reasoningText,reasoning:B1.reasoning,files:B1.files,sources:B1.sources,toolCalls:B1.toolCalls,staticToolCalls:B1.staticToolCalls,dynamicToolCalls:B1.dynamicToolCalls,toolResults:B1.toolResults,staticToolResults:B1.staticToolResults,dynamicToolResults:B1.dynamicToolResults,request:B1.request,response:B1.response,warnings:B1.warnings,providerMetadata:B1.providerMetadata,steps:V0,experimental_context:h})),_0.setAttributes(await bU({telemetry:X,attributes:{"ai.response.finishReason":A0,"ai.response.text":{output:()=>B1.text},"ai.response.toolCalls":{output:()=>{var p1;return((p1=B1.toolCalls)==null?void 0:p1.length)?JSON.stringify(B1.toolCalls):void 0}},"ai.response.providerMetadata":JSON.stringify(B1.providerMetadata),"ai.usage.inputTokens":S0.inputTokens,"ai.usage.outputTokens":S0.outputTokens,"ai.usage.totalTokens":S0.totalTokens,"ai.usage.reasoningTokens":S0.reasoningTokens,"ai.usage.cachedInputTokens":S0.cachedInputTokens}}))}catch(A0){u0.error(A0)}finally{_0.end()}}}),R0=ub6();this.addStream=R0.addStream,this.closeStream=R0.close;let l1=R0.stream.getReader(),b1=new ReadableStream({async start(u0){u0.enqueue({type:"start"})},async pull(u0){function A0(){y==null||y({steps:V0}),u0.enqueue({type:"abort",...(W==null?void 0:W.reason)!==void 0?{reason:R5(W.reason)}:{}}),u0.close()}try{let{done:S0,value:B1}=await l1.read();if(S0){u0.close();return}if(W==null?void 0:W.aborted){A0();return}u0.enqueue(B1)}catch(S0){if(b7(S0)&&(W==null?void 0:W.aborted))A0();else u0.error(S0)}},cancel(u0){return R0.stream.cancel(u0)}});for(let u0 of V)b1=b1.pipeThrough(u0({tools:H,stopStream(){R0.terminate()}}));this.baseStream=b1.pipeThrough(pb6(B!=null?B:d80())).pipeThrough(G0);let{maxRetries:b0,retry:L0}=Bb6({maxRetries:G,abortSignal:W}),$0=Hb6(X),P0=py6(J),H0=Zb6({model:Q,telemetry:X,headers:Y,settings:{...P0,maxRetries:b0}}),U0=this;l80({name:"ai.streamText",attributes:bU({telemetry:X,attributes:{...u80({operationId:"ai.streamText",telemetry:X}),...H0,"ai.prompt":{input:()=>JSON.stringify({system:Z,prompt:$,messages:K})}}}),tracer:$0,endWhenDone:!1,fn:async(u0)=>{_0=u0;let A0=await Gb6({system:Z,prompt:$,messages:K}),S0=A0.messages,B1=[],{approvedToolApprovals:p1,deniedToolApprovals:T6}=Db6({messages:S0});if(T6.length>0||p1.length>0){let d0=[...p1,...T6].filter((A1)=>A1.toolCall.providerExecuted),C0=p1.filter((A1)=>!A1.toolCall.providerExecuted),Y1=T6.filter((A1)=>!A1.toolCall.providerExecuted),I4=T6.filter((A1)=>A1.toolCall.providerExecuted),u6,o8=new ReadableStream({start(A1){u6=A1}});U0.addStream(o8);try{for(let I0 of[...Y1,...I4])u6==null||u6.enqueue({type:"tool-output-denied",toolCallId:I0.toolCall.toolCallId,toolName:I0.toolCall.toolName});let A1=[];if(await Promise.all(C0.map(async(I0)=>{let R4=await bW1({toolCall:I0.toolCall,tools:H,tracer:$0,telemetry:X,messages:S0,abortSignal:W,experimental_context:h,onPreliminaryToolResult:(O)=>{u6==null||u6.enqueue(O)}});if(R4!=null)u6==null||u6.enqueue(R4),A1.push(R4)})),d0.length>0)B1.push({role:"tool",content:d0.map((I0)=>({type:"tool-approval-response",approvalId:I0.approvalResponse.approvalId,approved:I0.approvalResponse.approved,reason:I0.approvalResponse.reason,providerExecuted:!0}))});if(A1.length>0||Y1.length>0){let I0=[];for(let R4 of A1)I0.push({type:"tool-result",toolCallId:R4.toolCallId,toolName:R4.toolName,output:await fU({toolCallId:R4.toolCallId,input:R4.input,tool:H==null?void 0:H[R4.toolName],output:R4.type==="tool-result"?R4.output:R4.error,errorMode:R4.type==="tool-error"?"json":"none"})});for(let R4 of Y1)I0.push({type:"tool-result",toolCallId:R4.toolCall.toolCallId,toolName:R4.toolCall.toolName,output:{type:"execution-denied",reason:R4.approvalResponse.reason}});B1.push({role:"tool",content:I0})}}finally{u6==null||u6.close()}}m.push(...B1);async function l0({currentStep:d0,responseMessages:C0,usage:Y1}){var I4,u6,o8,A1,I0,R4;let O=U0.includeRawChunks;f=new QF;let _=[...S0,...C0],e=await(M==null?void 0:M({model:Q,steps:V0,stepNumber:V0.length,messages:_,experimental_context:h})),Y0=EW1((I4=e==null?void 0:e.model)!=null?I4:Q),z=await uy6({prompt:{system:(u6=e==null?void 0:e.system)!=null?u6:A0.system,messages:(o8=e==null?void 0:e.messages)!=null?o8:_},supportedUrls:await Y0.supportedUrls,download:a}),{toolChoice:w,tools:v}=await ny6({tools:H,toolChoice:(A1=e==null?void 0:e.toolChoice)!=null?A1:F,activeTools:(I0=e==null?void 0:e.activeTools)!=null?I0:q});h=(R4=e==null?void 0:e.experimental_context)!=null?R4:h;let c=i80(L,e==null?void 0:e.providerOptions),{result:{stream:s,response:u,request:M0},doStreamSpan:t0,startTimestampMs:T1}=await L0(()=>l80({name:"ai.streamText.doStream",attributes:bU({telemetry:X,attributes:{...u80({operationId:"ai.streamText.doStream",telemetry:X}),...H0,"ai.model.provider":Y0.provider,"ai.model.id":Y0.modelId,"ai.prompt.messages":{input:()=>Fb6(z)},"ai.prompt.tools":{input:()=>v==null?void 0:v.map((J1)=>JSON.stringify(J1))},"ai.prompt.toolChoice":{input:()=>w!=null?JSON.stringify(w):void 0},"gen_ai.system":Y0.provider,"gen_ai.request.model":Y0.modelId,"gen_ai.request.frequency_penalty":P0.frequencyPenalty,"gen_ai.request.max_tokens":P0.maxOutputTokens,"gen_ai.request.presence_penalty":P0.presencePenalty,"gen_ai.request.stop_sequences":P0.stopSequences,"gen_ai.request.temperature":P0.temperature,"gen_ai.request.top_k":P0.topK,"gen_ai.request.top_p":P0.topP}}),tracer:$0,endWhenDone:!1,fn:async(J1)=>({startTimestampMs:E(),doStreamSpan:J1,result:await Y0.doStream({...P0,tools:v,toolChoice:w,responseFormat:await(B==null?void 0:B.responseFormat),prompt:z,providerOptions:c,abortSignal:W,headers:Y,includeRawChunks:O})})})),v0=lb6({tools:H,generatorStream:s,tracer:$0,telemetry:X,system:Z,messages:_,repairToolCall:U,abortSignal:W,experimental_context:h,generateId:T}),L1=M0!=null?M0:{},R6=[],C8=[],_6,wX={},y5="other",h7=void 0,p0=y80(),U6,GQ=!0,y8={id:T(),timestamp:A(),modelId:Q.modelId},X1="";U0.addStream(v0.pipeThrough(new TransformStream({async transform(J1,H4){var MX,t$,MP,DQ,WF;if(J1.type==="stream-start"){_6=J1.warnings;return}if(GQ){let WQ=E()-T1;GQ=!1,t0.addEvent("ai.stream.firstChunk",{"ai.response.msToFirstChunk":WQ}),t0.setAttributes({"ai.response.msToFirstChunk":WQ}),H4.enqueue({type:"start-step",request:L1,warnings:_6!=null?_6:[]})}let dy=J1.type;switch(dy){case"tool-approval-request":case"text-start":case"text-end":{H4.enqueue(J1);break}case"text-delta":{if(J1.delta.length>0)H4.enqueue({type:"text-delta",id:J1.id,text:J1.delta,providerMetadata:J1.providerMetadata}),X1+=J1.delta;break}case"reasoning-start":case"reasoning-end":{H4.enqueue(J1);break}case"reasoning-delta":{H4.enqueue({type:"reasoning-delta",id:J1.id,text:J1.delta,providerMetadata:J1.providerMetadata});break}case"tool-call":{H4.enqueue(J1),R6.push(J1);break}case"tool-result":{if(H4.enqueue(J1),!J1.preliminary)C8.push(J1);break}case"tool-error":{H4.enqueue(J1),C8.push(J1);break}case"response-metadata":{y8={id:(MX=J1.id)!=null?MX:y8.id,timestamp:(t$=J1.timestamp)!=null?t$:y8.timestamp,modelId:(MP=J1.modelId)!=null?MP:y8.modelId};break}case"finish":{p0=J1.usage,y5=J1.finishReason,h7=J1.rawFinishReason,U6=J1.providerMetadata;let WQ=E()-T1;t0.addEvent("ai.stream.finish"),t0.setAttributes({"ai.response.msToFinish":WQ,"ai.response.avgOutputTokensPerSecond":1000*((DQ=p0.outputTokens)!=null?DQ:0)/WQ});break}case"file":{H4.enqueue(J1);break}case"source":{H4.enqueue(J1);break}case"tool-input-start":{wX[J1.id]=J1.toolName;let WQ=H==null?void 0:H[J1.toolName];if((WQ==null?void 0:WQ.onInputStart)!=null)await WQ.onInputStart({toolCallId:J1.id,messages:_,abortSignal:W,experimental_context:h});H4.enqueue({...J1,dynamic:(WF=J1.dynamic)!=null?WF:(WQ==null?void 0:WQ.type)==="dynamic",title:WQ==null?void 0:WQ.title});break}case"tool-input-end":{delete wX[J1.id],H4.enqueue(J1);break}case"tool-input-delta":{let WQ=wX[J1.id],py=H==null?void 0:H[WQ];if((py==null?void 0:py.onInputDelta)!=null)await py.onInputDelta({inputTextDelta:J1.delta,toolCallId:J1.id,messages:_,abortSignal:W,experimental_context:h});H4.enqueue(J1);break}case"error":{H4.enqueue(J1),y5="error";break}case"raw":{if(O)H4.enqueue(J1);break}default:throw Error(`Unknown chunk type: ${dy}`)}},async flush(J1){let H4=R6.length>0?JSON.stringify(R6):void 0;try{t0.setAttributes(await bU({telemetry:X,attributes:{"ai.response.finishReason":y5,"ai.response.text":{output:()=>X1},"ai.response.toolCalls":{output:()=>H4},"ai.response.id":y8.id,"ai.response.model":y8.modelId,"ai.response.timestamp":y8.timestamp.toISOString(),"ai.response.providerMetadata":JSON.stringify(U6),"ai.usage.inputTokens":p0.inputTokens,"ai.usage.outputTokens":p0.outputTokens,"ai.usage.totalTokens":p0.totalTokens,"ai.usage.reasoningTokens":p0.reasoningTokens,"ai.usage.cachedInputTokens":p0.cachedInputTokens,"gen_ai.response.finish_reasons":[y5],"gen_ai.response.id":y8.id,"gen_ai.response.model":y8.modelId,"gen_ai.usage.input_tokens":p0.inputTokens,"gen_ai.usage.output_tokens":p0.outputTokens}}))}catch(DQ){}finally{t0.end()}J1.enqueue({type:"finish-step",finishReason:y5,rawFinishReason:h7,usage:p0,providerMetadata:U6,response:{...y8,headers:u==null?void 0:u.headers}});let MX=qb6(Y1,p0);await f.promise;let t$=R6.filter((DQ)=>DQ.providerExecuted!==!0),MP=C8.filter((DQ)=>DQ.providerExecuted!==!0);for(let DQ of R6){if(DQ.providerExecuted!==!0)continue;let WF=H==null?void 0:H[DQ.toolName];if((WF==null?void 0:WF.type)==="provider"&&WF.supportsDeferredResults){if(!C8.some((WQ)=>WQ.type==="tool-result"&&WQ.toolCallId===DQ.toolCallId))T0.set(DQ.toolCallId,{toolName:DQ.toolName})}}for(let DQ of C8)if(DQ.type==="tool-result")T0.delete(DQ.toolCallId);if((t$.length>0&&MP.length===t$.length||T0.size>0)&&!await Ib6({stopConditions:D,steps:V0})){C0.push(...await gG1({content:V0[V0.length-1].content,tools:H}));try{await l0({currentStep:d0+1,responseMessages:C0,usage:MX})}catch(DQ){J1.enqueue({type:"error",error:DQ}),U0.closeStream()}}else J1.enqueue({type:"finish",finishReason:y5,rawFinishReason:h7,totalUsage:MX}),U0.closeStream()}})))}await l0({currentStep:0,responseMessages:B1,usage:y80()})}}).catch((u0)=>{U0.addStream(new ReadableStream({start(A0){A0.enqueue({type:"error",error:u0}),A0.close()}})),U0.closeStream()})}get steps(){return this.consumeStream(),this._steps.promise}get finalStep(){return this.steps.then((Q)=>Q[Q.length-1])}get content(){return this.finalStep.then((Q)=>Q.content)}get warnings(){return this.finalStep.then((Q)=>Q.warnings)}get providerMetadata(){return this.finalStep.then((Q)=>Q.providerMetadata)}get text(){return this.finalStep.then((Q)=>Q.text)}get reasoningText(){return this.finalStep.then((Q)=>Q.reasoningText)}get reasoning(){return this.finalStep.then((Q)=>Q.reasoning)}get sources(){return this.finalStep.then((Q)=>Q.sources)}get files(){return this.finalStep.then((Q)=>Q.files)}get toolCalls(){return this.finalStep.then((Q)=>Q.toolCalls)}get staticToolCalls(){return this.finalStep.then((Q)=>Q.staticToolCalls)}get dynamicToolCalls(){return this.finalStep.then((Q)=>Q.dynamicToolCalls)}get toolResults(){return this.finalStep.then((Q)=>Q.toolResults)}get staticToolResults(){return this.finalStep.then((Q)=>Q.staticToolResults)}get dynamicToolResults(){return this.finalStep.then((Q)=>Q.dynamicToolResults)}get usage(){return this.finalStep.then((Q)=>Q.usage)}get request(){return this.finalStep.then((Q)=>Q.request)}get response(){return this.finalStep.then((Q)=>Q.response)}get totalUsage(){return this.consumeStream(),this._totalUsage.promise}get finishReason(){return this.consumeStream(),this._finishReason.promise}get rawFinishReason(){return this.consumeStream(),this._rawFinishReason.promise}teeStream(){let[Q,X]=this.baseStream.tee();return this.baseStream=X,Q}get textStream(){return xy(this.teeStream().pipeThrough(new TransformStream({transform({part:Q},X){if(Q.type==="text-delta")X.enqueue(Q.text)}})))}get fullStream(){return xy(this.teeStream().pipeThrough(new TransformStream({transform({part:Q},X){X.enqueue(Q)}})))}async consumeStream(Q){var X;try{await gb6({stream:this.fullStream,onError:Q==null?void 0:Q.onError})}catch(Y){(X=Q==null?void 0:Q.onError)==null||X.call(Q,Y)}}get experimental_partialOutputStream(){return this.partialOutputStream}get partialOutputStream(){return xy(this.teeStream().pipeThrough(new TransformStream({transform({partialOutput:Q},X){if(Q!=null)X.enqueue(Q)}})))}get output(){return this.finalStep.then((Q)=>{var X;return((X=this.outputSpecification)!=null?X:d80()).parseCompleteOutput({text:Q.text},{response:Q.response,usage:Q.usage,finishReason:Q.finishReason})})}toUIMessageStream({originalMessages:Q,generateMessageId:X,onFinish:Y,messageMetadata:J,sendReasoning:G=!0,sendSources:W=!1,sendStart:Z=!0,sendFinish:$=!0,onError:K=R5}={}){let H=X!=null?_b6({originalMessages:Q,responseMessageId:X}):void 0,F=(q)=>{var U;let D=(U=this.tools)==null?void 0:U[q.toolName];if(D==null)return q.dynamic;return(D==null?void 0:D.type)==="dynamic"?!0:void 0},V=this.fullStream.pipeThrough(new TransformStream({transform:async(q,U)=>{let D=J==null?void 0:J({part:q}),B=q.type;switch(B){case"text-start":{U.enqueue({type:"text-start",id:q.id,...q.providerMetadata!=null?{providerMetadata:q.providerMetadata}:{}});break}case"text-delta":{U.enqueue({type:"text-delta",id:q.id,delta:q.text,...q.providerMetadata!=null?{providerMetadata:q.providerMetadata}:{}});break}case"text-end":{U.enqueue({type:"text-end",id:q.id,...q.providerMetadata!=null?{providerMetadata:q.providerMetadata}:{}});break}case"reasoning-start":{U.enqueue({type:"reasoning-start",id:q.id,...q.providerMetadata!=null?{providerMetadata:q.providerMetadata}:{}});break}case"reasoning-delta":{if(G)U.enqueue({type:"reasoning-delta",id:q.id,delta:q.text,...q.providerMetadata!=null?{providerMetadata:q.providerMetadata}:{}});break}case"reasoning-end":{U.enqueue({type:"reasoning-end",id:q.id,...q.providerMetadata!=null?{providerMetadata:q.providerMetadata}:{}});break}case"file":{U.enqueue({type:"file",mediaType:q.file.mediaType,url:`data:${q.file.mediaType};base64,${q.file.base64}`});break}case"source":{if(W&&q.sourceType==="url")U.enqueue({type:"source-url",sourceId:q.id,url:q.url,title:q.title,...q.providerMetadata!=null?{providerMetadata:q.providerMetadata}:{}});if(W&&q.sourceType==="document")U.enqueue({type:"source-document",sourceId:q.id,mediaType:q.mediaType,title:q.title,filename:q.filename,...q.providerMetadata!=null?{providerMetadata:q.providerMetadata}:{}});break}case"tool-input-start":{let L=F(q);U.enqueue({type:"tool-input-start",toolCallId:q.id,toolName:q.toolName,...q.providerExecuted!=null?{providerExecuted:q.providerExecuted}:{},...L!=null?{dynamic:L}:{},...q.title!=null?{title:q.title}:{}});break}case"tool-input-delta":{U.enqueue({type:"tool-input-delta",toolCallId:q.id,inputTextDelta:q.delta});break}case"tool-call":{let L=F(q);if(q.invalid)U.enqueue({type:"tool-input-error",toolCallId:q.toolCallId,toolName:q.toolName,input:q.input,...q.providerExecuted!=null?{providerExecuted:q.providerExecuted}:{},...q.providerMetadata!=null?{providerMetadata:q.providerMetadata}:{},...L!=null?{dynamic:L}:{},errorText:K(q.error),...q.title!=null?{title:q.title}:{}});else U.enqueue({type:"tool-input-available",toolCallId:q.toolCallId,toolName:q.toolName,input:q.input,...q.providerExecuted!=null?{providerExecuted:q.providerExecuted}:{},...q.providerMetadata!=null?{providerMetadata:q.providerMetadata}:{},...L!=null?{dynamic:L}:{},...q.title!=null?{title:q.title}:{}});break}case"tool-approval-request":{U.enqueue({type:"tool-approval-request",approvalId:q.approvalId,toolCallId:q.toolCall.toolCallId});break}case"tool-result":{let L=F(q);U.enqueue({type:"tool-output-available",toolCallId:q.toolCallId,output:q.output,...q.providerExecuted!=null?{providerExecuted:q.providerExecuted}:{},...q.preliminary!=null?{preliminary:q.preliminary}:{},...L!=null?{dynamic:L}:{}});break}case"tool-error":{let L=F(q);U.enqueue({type:"tool-output-error",toolCallId:q.toolCallId,errorText:K(q.error),...q.providerExecuted!=null?{providerExecuted:q.providerExecuted}:{},...L!=null?{dynamic:L}:{}});break}case"tool-output-denied":{U.enqueue({type:"tool-output-denied",toolCallId:q.toolCallId});break}case"error":{U.enqueue({type:"error",errorText:K(q.error)});break}case"start-step":{U.enqueue({type:"start-step"});break}case"finish-step":{U.enqueue({type:"finish-step"});break}case"start":{if(Z)U.enqueue({type:"start",...D!=null?{messageMetadata:D}:{},...H!=null?{messageId:H}:{}});break}case"finish":{if($)U.enqueue({type:"finish",finishReason:q.finishReason,...D!=null?{messageMetadata:D}:{}});break}case"abort":{U.enqueue(q);break}case"tool-input-end":break;case"raw":break;default:throw Error(`Unknown chunk type: ${B}`)}if(D!=null&&B!=="start"&&B!=="finish")U.enqueue({type:"message-metadata",messageMetadata:D})}}));return xy(hb6({stream:V,messageId:H!=null?H:X==null?void 0:X(),originalMessages:Q,onFinish:Y,onError:K}))}pipeUIMessageStreamToResponse(Q,{originalMessages:X,generateMessageId:Y,onFinish:J,messageMetadata:G,sendReasoning:W,sendSources:Z,sendFinish:$,sendStart:K,onError:H,...F}={}){xb6({response:Q,stream:this.toUIMessageStream({originalMessages:X,generateMessageId:Y,onFinish:J,messageMetadata:G,sendReasoning:W,sendSources:Z,sendFinish:$,sendStart:K,onError:H}),...F})}pipeTextStreamToResponse(Q,X){kb6({response:Q,textStream:this.textStream,...X})}toUIMessageStreamResponse({originalMessages:Q,generateMessageId:X,onFinish:Y,messageMetadata:J,sendReasoning:G,sendSources:W,sendFinish:Z,sendStart:$,onError:K,...H}={}){return vb6({stream:this.toUIMessageStream({originalMessages:Q,generateMessageId:X,onFinish:Y,messageMetadata:J,sendReasoning:G,sendSources:W,sendFinish:Z,sendStart:$,onError:K}),...H})}toTextStreamResponse(Q){return Sb6({textStream:this.textStream,...Q})}};async function lW1(Q,X){let Y=[];if(X==null?void 0:X.ignoreIncompleteToolCalls)Q=Q.map((J)=>({...J,parts:J.parts.filter((G)=>!OP(G)||G.state!=="input-streaming"&&G.state!=="input-available")}));for(let J of Q)switch(J.role){case"system":{let G=J.parts.filter((Z)=>Z.type==="text"),W=G.reduce((Z,$)=>{if($.providerMetadata!=null)return{...Z,...$.providerMetadata};return Z},{});Y.push({role:"system",content:G.map((Z)=>Z.text).join(""),...Object.keys(W).length>0?{providerOptions:W}:{}});break}case"user":{Y.push({role:"user",content:J.parts.map((G)=>{var W;if(f80(G))return{type:"text",text:G.text,...G.providerMetadata!=null?{providerOptions:G.providerMetadata}:{}};if(h80(G))return{type:"file",mediaType:G.mediaType,filename:G.filename,data:G.url,...G.providerMetadata!=null?{providerOptions:G.providerMetadata}:{}};if(b80(G))return(W=X==null?void 0:X.convertDataPart)==null?void 0:W.call(X,G)}).filter($51)});break}case"assistant":{if(J.parts!=null){let G=[];async function W(){var Z,$,K,H,F,V;if(G.length===0)return;let q=[];for(let D of G)if(f80(D))q.push({type:"text",text:D.text,...D.providerMetadata!=null?{providerOptions:D.providerMetadata}:{}});else if(h80(D))q.push({type:"file",mediaType:D.mediaType,filename:D.filename,data:D.url});else if(uG1(D))q.push({type:"reasoning",text:D.text,providerOptions:D.providerMetadata});else if(OP(D)){let B=x80(D);if(D.state!=="input-streaming"){if(q.push({type:"tool-call",toolCallId:D.toolCallId,toolName:B,input:D.state==="output-error"?(Z=D.input)!=null?Z:("rawInput"in D)?D.rawInput:void 0:D.input,providerExecuted:D.providerExecuted,...D.callProviderMetadata!=null?{providerOptions:D.callProviderMetadata}:{}}),D.approval!=null)q.push({type:"tool-approval-request",approvalId:D.approval.id,toolCallId:D.toolCallId});if(D.providerExecuted===!0&&D.state!=="approval-responded"&&(D.state==="output-available"||D.state==="output-error"))q.push({type:"tool-result",toolCallId:D.toolCallId,toolName:B,output:await fU({toolCallId:D.toolCallId,input:D.input,output:D.state==="output-error"?D.errorText:D.output,tool:($=X==null?void 0:X.tools)==null?void 0:$[B],errorMode:D.state==="output-error"?"json":"none"}),...D.callProviderMetadata!=null?{providerOptions:D.callProviderMetadata}:{}})}}else if(b80(D)){let B=(K=X==null?void 0:X.convertDataPart)==null?void 0:K.call(X,D);if(B!=null)q.push(B)}else throw Error(`Unsupported part: ${D}`);Y.push({role:"assistant",content:q});let U=G.filter((D)=>{var B;return OP(D)&&(D.providerExecuted!==!0||((B=D.approval)==null?void 0:B.approved)!=null)});if(U.length>0){let D=[];for(let B of U){if(((H=B.approval)==null?void 0:H.approved)!=null)D.push({type:"tool-approval-response",approvalId:B.approval.id,approved:B.approval.approved,reason:B.approval.reason,providerExecuted:B.providerExecuted});if(B.providerExecuted===!0)continue;switch(B.state){case"output-denied":{D.push({type:"tool-result",toolCallId:B.toolCallId,toolName:x80(B),output:{type:"error-text",value:(F=B.approval.reason)!=null?F:"Tool execution denied."},...B.callProviderMetadata!=null?{providerOptions:B.callProviderMetadata}:{}});break}case"output-error":case"output-available":{let L=x80(B);D.push({type:"tool-result",toolCallId:B.toolCallId,toolName:L,output:await fU({toolCallId:B.toolCallId,input:B.input,output:B.state==="output-error"?B.errorText:B.output,tool:(V=X==null?void 0:X.tools)==null?void 0:V[L],errorMode:B.state==="output-error"?"text":"none"}),...B.callProviderMetadata!=null?{providerOptions:B.callProviderMetadata}:{}});break}}}if(D.length>0)Y.push({role:"tool",content:D})}G=[]}for(let Z of J.parts)if(f80(Z)||uG1(Z)||h80(Z)||OP(Z)||b80(Z))G.push(Z);else if(Z.type==="step-start")await W();await W();break}break}default:{let G=J.role;throw new Ty6({originalMessage:J,message:`Unsupported role: ${G}`})}}return Y}var Pl4=OX(()=>z9(N.array(N.object({id:N.string(),role:N.enum(["system","user","assistant"]),metadata:N.unknown().optional(),parts:N.array(N.union([N.object({type:N.literal("text"),text:N.string(),state:N.enum(["streaming","done"]).optional(),providerMetadata:i1.optional()}),N.object({type:N.literal("reasoning"),text:N.string(),state:N.enum(["streaming","done"]).optional(),providerMetadata:i1.optional()}),N.object({type:N.literal("source-url"),sourceId:N.string(),url:N.string(),title:N.string().optional(),providerMetadata:i1.optional()}),N.object({type:N.literal("source-document"),sourceId:N.string(),mediaType:N.string(),title:N.string(),filename:N.string().optional(),providerMetadata:i1.optional()}),N.object({type:N.literal("file"),mediaType:N.string(),filename:N.string().optional(),url:N.string(),providerMetadata:i1.optional()}),N.object({type:N.literal("step-start")}),N.object({type:N.string().startsWith("data-"),id:N.string().optional(),data:N.unknown()}),N.object({type:N.literal("dynamic-tool"),toolName:N.string(),toolCallId:N.string(),state:N.literal("input-streaming"),input:N.unknown().optional(),providerExecuted:N.boolean().optional(),output:N.never().optional(),errorText:N.never().optional(),approval:N.never().optional()}),N.object({type:N.literal("dynamic-tool"),toolName:N.string(),toolCallId:N.string(),state:N.literal("input-available"),input:N.unknown(),providerExecuted:N.boolean().optional(),output:N.never().optional(),errorText:N.never().optional(),callProviderMetadata:i1.optional(),approval:N.never().optional()}),N.object({type:N.literal("dynamic-tool"),toolName:N.string(),toolCallId:N.string(),state:N.literal("approval-requested"),input:N.unknown(),providerExecuted:N.boolean().optional(),output:N.never().optional(),errorText:N.never().optional(),callProviderMetadata:i1.optional(),approval:N.object({id:N.string(),approved:N.never().optional(),reason:N.never().optional()})}),N.object({type:N.literal("dynamic-tool"),toolName:N.string(),toolCallId:N.string(),state:N.literal("approval-responded"),input:N.unknown(),providerExecuted:N.boolean().optional(),output:N.never().optional(),errorText:N.never().optional(),callProviderMetadata:i1.optional(),approval:N.object({id:N.string(),approved:N.boolean(),reason:N.string().optional()})}),N.object({type:N.literal("dynamic-tool"),toolName:N.string(),toolCallId:N.string(),state:N.literal("output-available"),input:N.unknown(),providerExecuted:N.boolean().optional(),output:N.unknown(),errorText:N.never().optional(),callProviderMetadata:i1.optional(),preliminary:N.boolean().optional(),approval:N.object({id:N.string(),approved:N.literal(!0),reason:N.string().optional()}).optional()}),N.object({type:N.literal("dynamic-tool"),toolName:N.string(),toolCallId:N.string(),state:N.literal("output-error"),input:N.unknown(),rawInput:N.unknown().optional(),providerExecuted:N.boolean().optional(),output:N.never().optional(),errorText:N.string(),callProviderMetadata:i1.optional(),approval:N.object({id:N.string(),approved:N.literal(!0),reason:N.string().optional()}).optional()}),N.object({type:N.literal("dynamic-tool"),toolName:N.string(),toolCallId:N.string(),state:N.literal("output-denied"),input:N.unknown(),providerExecuted:N.boolean().optional(),output:N.never().optional(),errorText:N.never().optional(),callProviderMetadata:i1.optional(),approval:N.object({id:N.string(),approved:N.literal(!1),reason:N.string().optional()})}),N.object({type:N.string().startsWith("tool-"),toolCallId:N.string(),state:N.literal("input-streaming"),providerExecuted:N.boolean().optional(),input:N.unknown().optional(),output:N.never().optional(),errorText:N.never().optional(),approval:N.never().optional()}),N.object({type:N.string().startsWith("tool-"),toolCallId:N.string(),state:N.literal("input-available"),providerExecuted:N.boolean().optional(),input:N.unknown(),output:N.never().optional(),errorText:N.never().optional(),callProviderMetadata:i1.optional(),approval:N.never().optional()}),N.object({type:N.string().startsWith("tool-"),toolCallId:N.string(),state:N.literal("approval-requested"),input:N.unknown(),providerExecuted:N.boolean().optional(),output:N.never().optional(),errorText:N.never().optional(),callProviderMetadata:i1.optional(),approval:N.object({id:N.string(),approved:N.never().optional(),reason:N.never().optional()})}),N.object({type:N.string().startsWith("tool-"),toolCallId:N.string(),state:N.literal("approval-responded"),input:N.unknown(),providerExecuted:N.boolean().optional(),output:N.never().optional(),errorText:N.never().optional(),callProviderMetadata:i1.optional(),approval:N.object({id:N.string(),approved:N.boolean(),reason:N.string().optional()})}),N.object({type:N.string().startsWith("tool-"),toolCallId:N.string(),state:N.literal("output-available"),providerExecuted:N.boolean().optional(),input:N.unknown(),output:N.unknown(),errorText:N.never().optional(),callProviderMetadata:i1.optional(),preliminary:N.boolean().optional(),approval:N.object({id:N.string(),approved:N.literal(!0),reason:N.string().optional()}).optional()}),N.object({type:N.string().startsWith("tool-"),toolCallId:N.string(),state:N.literal("output-error"),providerExecuted:N.boolean().optional(),input:N.unknown(),rawInput:N.unknown().optional(),output:N.never().optional(),errorText:N.string(),callProviderMetadata:i1.optional(),approval:N.object({id:N.string(),approved:N.literal(!0),reason:N.string().optional()}).optional()}),N.object({type:N.string().startsWith("tool-"),toolCallId:N.string(),state:N.literal("output-denied"),providerExecuted:N.boolean().optional(),input:N.unknown(),output:N.never().optional(),errorText:N.never().optional(),callProviderMetadata:i1.optional(),approval:N.object({id:N.string(),approved:N.literal(!1),reason:N.string().optional()})})])).nonempty("Message must contain at least one part")})).nonempty("Messages array must not be empty")));var Al4=XW({prefix:"aiobj",size:24});var jl4=XW({prefix:"aiobj",size:24});function dW1({messages:Q,reasoning:X="none",toolCalls:Y=[],emptyMessages:J="remove"}){if(X==="all"||X==="before-last-message")Q=Q.map((G,W)=>{if(G.role!=="assistant"||typeof G.content==="string"||X==="before-last-message"&&W===Q.length-1)return G;return{...G,content:G.content.filter((Z)=>Z.type!=="reasoning")}});if(Y==="none")Y=[];else if(Y==="all")Y=[{type:"all"}];else if(Y==="before-last-message")Y=[{type:"before-last-message"}];else if(typeof Y==="string")Y=[{type:Y}];for(let G of Y){let W=G.type==="all"?void 0:G.type==="before-last-message"?1:Number(G.type.slice(12).slice(0,-9)),Z=new Set,$=new Set;if(W!=null){for(let K of Q.slice(-W))if((K.role==="assistant"||K.role==="tool")&&typeof K.content!=="string"){for(let H of K.content)if(H.type==="tool-call"||H.type==="tool-result")Z.add(H.toolCallId);else if(H.type==="tool-approval-request"||H.type==="tool-approval-response")$.add(H.approvalId)}}Q=Q.map((K,H)=>{if(K.role!=="assistant"&&K.role!=="tool"||typeof K.content==="string"||W&&H>=Q.length-W)return K;let F={},V={};return{...K,content:K.content.filter((q)=>{if(q.type!=="tool-call"&&q.type!=="tool-result"&&q.type!=="tool-approval-request"&&q.type!=="tool-approval-response")return!0;if(q.type==="tool-call")F[q.toolCallId]=q.toolName;else if(q.type==="tool-approval-request")V[q.approvalId]=F[q.toolCallId];if((q.type==="tool-call"||q.type==="tool-result")&&Z.has(q.toolCallId)||(q.type==="tool-approval-request"||q.type==="tool-approval-response")&&$.has(q.approvalId))return!0;return G.tools!=null&&!G.tools.includes(q.type==="tool-call"||q.type==="tool-result"?q.toolName:V[q.approvalId])})}})}if(J==="remove")Q=Q.filter((G)=>G.content.length>0);return Q}var nb6="AI_NoSuchProviderError",ib6=`vercel.ai.error.${nb6}`,ab6=Symbol.for(ib6),rb6;rb6=ab6;W1();function pW1(Q){let X=Q.trim();if(!X)return null;if(X.startsWith("event:"))return null;if(X.startsWith("id:"))return null;if(X.startsWith("retry:"))return null;let Y=X;if(Y.startsWith("data:")){if(Y=Y.slice(5).trim(),!Y)return null;if(Y==="[DONE]")return null}try{return JSON.parse(Y)}catch(J){return console.warn("[llm-provider] Failed to parse stream line as JSON. Skipping line.",{line:Y.slice(0,200)},J),null}}function ob6(Q){if(!Q.body)throw Error("Response body is null");let X="";return Q.body.pipeThrough(new TextDecoderStream).pipeThrough(new TransformStream({transform(Y,J){X+=Y;let G=X.split(`
|
|
1078
1078
|
`);X=G.pop()??"";for(let W of G)if(W.trim()){let Z=pW1(W);if(Z)J.enqueue(Z)}},flush(Y){if(X.trim()){let J=pW1(X);if(J)Y.enqueue(J)}}}))}var sb6=(Q)=>{return Object.fromEntries(Object.entries(Q).map(([X,Y])=>[X,Y.map((J)=>new RegExp(J))]))},cW1=(Q)=>{return{imageModel:()=>{throw Error("Image models are not supported by this provider")},textEmbeddingModel:()=>{throw Error("Text embedding models are not supported by this provider")},listModels:async()=>{return await Q.COLLECTION_LLM_LIST({})},languageModel:(X)=>{let Y=QW(()=>Q.LLM_METADATA({modelId:X}).then((J)=>sb6(J.supportedUrls)));return{specificationVersion:"v2",provider:"llm-binding",modelId:X,supportedUrls:Y,doGenerate:async(J)=>{let G=await Q.LLM_DO_GENERATE({callOptions:J,modelId:X}),W=G.response?.timestamp?new Date(G.response.timestamp):void 0;return{...G,response:{...G.response,timestamp:W},usage:{inputTokens:G.usage.inputTokens??void 0,outputTokens:G.usage.outputTokens??void 0,totalTokens:G.usage.totalTokens??void 0,reasoningTokens:G.usage.reasoningTokens??void 0}}},doStream:async(J)=>{let G=await Q.LLM_DO_STREAM({callOptions:J,modelId:X});if(!G.ok)throw Error(`Streaming failed for model ${X} with the status code: ${G.status}
|
|
1079
1079
|
${await G.text()}`);return{stream:ob6(G),response:{headers:Object.fromEntries(G.headers?.entries()??[])}}}}}}};var tb6=32768,eb6=50,Qf6=N.object({messages:N.any(),model:N.object({id:N.string(),connectionId:N.string(),provider:N.enum(["openai","anthropic","google","xai","deepseek","openrouter","openai-compatible"]).optional().nullable(),limits:N.object({contextWindow:N.number().optional(),maxOutputTokens:N.number().optional()}).optional()}).loose(),gateway:N.object({id:N.string()}).loose(),stream:N.boolean().optional(),temperature:N.number().optional(),maxWindowSize:N.number().optional(),thread_id:N.string().optional()}),nW1=new d9;function Xf6(Q,X){if(!Q.organization)throw Error("Organization context is required");if(Q.organization.slug!==X)throw Error("Organization slug mismatch");return Q.organization}async function Yf6(Q,X,Y){let J=await Q.storage.connections.findById(Y);if(!J)return null;if(J.organization_id!==X)throw Error("Connection does not belong to organization");if(J.status!=="active")throw Error(`Connection is ${J.status.toUpperCase()}, not active`);return J}var Jf6=async(Q,X)=>{let J=(await Q.listTools()).tools.map((G)=>{let{name:W,title:Z,description:$,inputSchema:K,outputSchema:H}=G;return[W,N80({title:Z??W,description:$,inputSchema:r$(K),outputSchema:H?r$(H):void 0,execute:(F,V)=>{let q=X&&Object.keys(X).length>0?{...F,_meta:{properties:X}}:F;return Q.callTool({name:G.name,arguments:q},aG,{signal:V.abortSignal})},toModelOutput:({output:F})=>{if(F.isError)return{type:"error-text",value:F.content.map((q)=>q.type==="text"?q.text:null).filter(Boolean).join(`
|
|
1080
1080
|
`)||"Unknown error"};if("structuredContent"in F)return{type:"json",value:F.structuredContent};return{type:"content",value:F.content}}})]});return Object.fromEntries(J)};function Gf6(Q,X){let Y=Ny(new URL(Q.url)),J=`${Y.protocol}//${Y.host}`,G=new Headers,W=["cookie","authorization"];for(let Z of W)if(Q.headers.has(Z))G.set(Z,Q.headers.get(Z));return new I7(new URL(`/mcp/gateway/${X}`,J),{requestInit:{headers:G}})}nW1.post("/:org/models/stream",async(Q)=>{let X=Q.get("meshContext"),Y=Q.req.param("org"),J=null;try{let G=Xf6(X,Y),W=await Q.req.json(),Z=Qf6.safeParse(W);if(!Z.success)return Q.json({error:"Invalid request body",details:Z.error.issues},400);let $=Z.data,{model:K,gateway:H,messages:F,temperature:V,maxWindowSize:q=eb6,thread_id:U}=$,D=K.limits?.maxOutputTokens??tb6,B=Gf6(Q.req.raw,H.id),L=new _J({name:"mcp-mesh-proxy",version:"1.0.0"}),[M,C]=await Promise.all([lW1(F,{ignoreIncompleteToolCalls:!0}),Yf6(X,G.id,K.connectionId),L.connect(B)]);if(!C)return Q.json({error:`Model connection not found: ${K.connectionId}`},404);J=L;let E=M.find((f)=>f.role==="system"),A=E?.role==="system"?E.content:void 0,T=M.filter((f)=>f.role!=="system"),j=dW1({messages:T,reasoning:"before-last-message",emptyMessages:"remove",toolCalls:"none"}).slice(-q),R=U?{thread_id:U}:void 0,[k,y]=await Promise.all([X.createMCPProxy(C),Jf6(L,R)]),b=B91.forClient(k),h=cW1(b).languageModel(K.id);return mW1({model:h,system:A,messages:j,tools:y,temperature:V,maxOutputTokens:D,abortSignal:Q.req.raw.signal,stopWhen:a80(30),onError:async(f)=>{console.error("[models:stream] Error",f),await L.close().catch(console.error)},onFinish:async()=>{await L.close().catch(console.error)}}).toUIMessageStreamResponse({messageMetadata:({part:f})=>{if(f.type==="start")return{gateway:H,model:K,created_at:new Date,thread_id:U};if(f.type==="finish-step")return{usage:{...f.usage,providerMetadata:f.providerMetadata}};return{}}})}catch(G){let W=G;if(await J?.close().catch(console.error),W.name==="AbortError")return console.warn("[models:stream] Aborted",JSON.stringify({org:Y})),Q.json({error:"Request aborted"},400);return console.error("[models:stream] Failed",JSON.stringify({org:Y,error:W.message,stack:W.stack})),Q.json({error:W.message},500)}});var iW1=nW1;R3();var my=null;async function Wf6(Q,X){let J=(await Q.storage.connections.list(X)).find((G)=>G.connection_url?.startsWith(ps0));if(!J?.configuration_state)return null;return J.configuration_state.project_locator}function Zf6(Q){let X=new URLSearchParams;if(Q){let[Y,J]=Q.split("/");if(Y)X.set("workspace_hint",Y);if(J)X.set("project_hint",J)}else X.set("auto_personal","true");return X}var $f6=new aW1.PrometheusSerializer,Kf6=()=>ht(v7),Hf6=()=>ft(v7);function rW1(Q={}){let X=Q.database??Kv();if(my&&my.isRunning())console.log("[EventBus] Stopping previous worker (HMR cleanup)"),Promise.resolve(my.stop()).catch((Z)=>{console.error("[EventBus] Error stopping previous worker:",Z)});let Y;if(Q.eventBus)Y=Q.eventBus;else Y=QY1(X);my=Y;let J=new d9;J.use("/*",vv0({origin:(Z)=>{if(Z.includes("localhost")||Z.includes("127.0.0.1"))return Z;return Z},credentials:!0,allowMethods:["GET","POST","PUT","DELETE","OPTIONS"],allowHeaders:["Content-Type","Authorization","mcp-protocol-version"]})),J.use("*",kv0()),J.use("*",async(Z,$)=>{if(await $(),Z.res.status>=500){let H=await Z.res.clone().text();console.error(`[5xx Response] ${Z.req.method} ${Z.req.path} - ${Z.res.status}:`,H)}}),J.get(YP.HEALTH,(Z)=>{return Z.json({status:"ok",timestamp:new Date().toISOString(),version:"1.0.0"})}),J.get(YP.METRICS,async(Z)=>{try{let $=await Xl.collect(),K=$f6.serialize($.resourceMetrics);return Z.text(K,200,{"Content-Type":"text/plain; version=0.0.4; charset=utf-8"})}catch($){return console.error("Failed to collect metrics:",$),Z.text("# Error collecting metrics",500)}}),J.route("/api/auth/custom",JY1),J.all("/api/auth/*",async(Z)=>{return await v7.handler(Z.req.raw)}),J.route("/",kX1),J.all("/oauth-proxy/:connectionId/*",async(Z)=>{let $=Z.req.param("connectionId"),K=Z.req.path.split("/").filter(Boolean),H=K[K.length-1],F=Z.get("meshContext");if(!F)F=await n$.create(Z.req.raw),Z.set("meshContext",F);let V=await F.storage.connections.findById($);if(!V?.connection_url)return Z.json({error:"Connection not found"},404);let q=await Dy(V.connection_url),U,D=new URL(V.connection_url);if(q.ok)U=(await q.json()).authorization_servers?.[0];if(!U)U=D.origin;let B=await m40(U);if(!B.ok)return Z.json({error:"Failed to get auth server metadata"},502);let L=await B.json(),M;if(H==="authorize")M=L.authorization_endpoint;else if(H==="token")M=L.token_endpoint;else if(H==="register")M=L.registration_endpoint;if(!M)return Z.json({error:`Unknown OAuth endpoint: ${H}`},404);let C=new URL(M),E=new URL(Z.req.url);if(C.search=E.search,H==="authorize"){if(C.searchParams.has("resource"))C.searchParams.set("resource",V.connection_url);if(cs0(V.connection_url))try{let h=await Wf6(F,V.organization_id),a=Zf6(h);for(let[f,S]of a)C.searchParams.set(f,S)}catch(h){console.warn("[oauth-proxy] Failed to get smart OAuth params, proceeding without:",h)}return Z.redirect(C.toString(),302)}let A={Accept:Z.req.header("Accept")||"application/json"},T=Z.req.header("Content-Type");if(T)A["Content-Type"]=T;let j=Z.req.header("Authorization");if(j)A.Authorization=j;let R;if(Z.req.method!=="GET"&&Z.req.method!=="HEAD")if(H==="token"&&T?.includes("application/x-www-form-urlencoded")){let h=await Z.req.formData();if(h.has("resource"))h.set("resource",V.connection_url);let a=new URLSearchParams;for(let[f,S]of h.entries())a.append(f,S.toString());R=a.toString()}else R=Z.req.raw.body??void 0;let k=await fetch(C.toString(),{method:Z.req.method,headers:A,body:R,duplex:"half",redirect:"manual"}),y=new Headers,b=["connection","keep-alive","transfer-encoding","content-encoding","content-length"];for(let[h,a]of k.headers.entries())if(!b.includes(h.toLowerCase()))y.set(h,a);return new Response(k.body,{status:k.status,statusText:k.statusText,headers:y})}),J.get("/mcp/:gateway?/:connectionId/.well-known/oauth-protected-resource/*",async(Z)=>{let K=await Kf6()(Z.req.raw),H=await K.json();return Response.json(H,K)});let G=async(Z)=>{let K=await Hf6()(Z.req.raw),H=await K.json();return Response.json(H,K)};J.get("/.well-known/oauth-authorization-server/*/:gateway?/:connectionId?",G),n$.set(mX1({db:X.db,databaseType:X.type,auth:v7,encryption:{key:process.env.ENCRYPTION_KEY||""},observability:{tracer:CD,meter:Yv0},eventBus:Y})),Promise.resolve(Y.start()).then(()=>{console.log("[EventBus] Worker started")}),J.use("*",async(Z,$)=>{if(pX1(Z.req.path))return $();let K=await n$.create(Z.req.raw);return Z.set("meshContext",K),$()}),J.get("/api/tools/management",(Z)=>{return Z.json({tools:ql,grouped:_D()})});let W=async(Z,$)=>{let K=Z.var.meshContext;if(!K.auth.user?.id&&!K.auth.apiKey?.id){let H=new URL(Z.req.url);return Z.res=new Response(null,{status:401,headers:{"WWW-Authenticate":`Bearer realm="mcp",resource_metadata="${H.origin}${H.pathname}/.well-known/oauth-protected-resource"`}})}return await $()};return J.use("/mcp/:connectionId?",W),J.use("/mcp/gateway/:gatewayId?",W),J.route("/mcp",pY1),J.route("/mcp",nY1),J.route("/mcp",gX1),J.route("/api",iW1),J.post("/org/:organizationId/events/:type",async(Z)=>{let $=Z.req.param("organizationId");return await Z.var.meshContext.eventBus.publish($,yz.SELF($),{data:await Z.req.json(),type:`public:${Z.req.param("type")}`,subject:Z.req.query("subject"),deliverAt:Z.req.query("deliverAt"),cron:Z.req.query("cron")}),Z.json({success:!0})}),J.notFound((Z)=>{return Z.json({error:"Not Found",path:Z.req.path},404)}),J.onError((Z,$)=>{console.error("Server error :",Z);let K=Z instanceof Error?Z.message:"Unknown error";return $.json({error:"Internal Server Error",message:K},500)}),J}var oW1=parseInt(process.env.PORT||"3000",10),ly="\x1B[0m",Ff6="\x1B[1m",Vf6="\x1B[2m",qf6="\x1B[32m",zf6="\x1B[36m",Uf6="\x1B[4m",Bf6=`http://localhost:${oW1}`,Df6=$v0({clientDir:Zv0(import.meta.url,"../client"),isServerPath:dX1}),Nf6=rW1();console.log("");console.log(`${qf6}\u2713${ly} ${Ff6}Ready${ly}`);console.log("");console.log(` ${Vf6}Open in browser:${ly} ${zf6}${Uf6}${Bf6}${ly}`);console.log("");Bun.serve({idleTimeout:0,port:oW1,hostname:"0.0.0.0",fetch:async(Q)=>{return await Df6(Q)??Nf6.fetch(Q)},development:!1});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@decocms/mesh",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.11.0",
|
|
4
4
|
"description": "MCP Mesh - Self-hostable MCP Gateway for managing AI connections and tools",
|
|
5
5
|
"author": "Deco team",
|
|
6
6
|
"license": "MIT",
|
|
@@ -35,8 +35,8 @@
|
|
|
35
35
|
"prepublishOnly": "bun run build:client && bun run build:server"
|
|
36
36
|
},
|
|
37
37
|
"dependencies": {
|
|
38
|
-
"@untitledui/icons": "^0.0.19",
|
|
39
38
|
"@jitl/quickjs-wasmfile-release-sync": "^0.31.0",
|
|
39
|
+
"@untitledui/icons": "^0.0.19",
|
|
40
40
|
"@xyflow/react": "^12.10.0",
|
|
41
41
|
"kysely": "^0.28.8",
|
|
42
42
|
"kysely-bun-worker": "^0.6.0",
|
|
@@ -88,7 +88,6 @@
|
|
|
88
88
|
"@types/react-dom": "^19.2.2",
|
|
89
89
|
"@vercel/nft": "^1.1.1",
|
|
90
90
|
"@vitejs/plugin-react": "^5.1.0",
|
|
91
|
-
"@xyflow/react": "^12.10.0",
|
|
92
91
|
"ai": "^6.0.1",
|
|
93
92
|
"babel-plugin-react-compiler": "^1.0.0",
|
|
94
93
|
"better-auth": "1.4.5",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r}from"./index-BLgTJ8o3.js";const i=({size:e=24,color:t="currentColor",...o})=>r.createElement("svg",{viewBox:"0 0 24 24",width:e,height:e,stroke:t,strokeWidth:"2",fill:"none",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...o},r.createElement("path",{d:"M12 6v6l4 2m6-2c0 5.523-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2s10 4.477 10 10Z"}));i.displayName="Clock";export{i as s};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r}from"./index-BLgTJ8o3.js";const i=({size:e=24,color:t="currentColor",...o})=>r.createElement("svg",{viewBox:"0 0 24 24",width:e,height:e,stroke:t,strokeWidth:"2",fill:"none",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...o},r.createElement("path",{d:"M21 10H3m13-8v4M8 2v4m-.2 16h8.4c1.68 0 2.52 0 3.162-.327a3 3 0 0 0 1.311-1.311C21 19.72 21 18.88 21 17.2V8.8c0-1.68 0-2.52-.327-3.162a3 3 0 0 0-1.311-1.311C18.72 4 17.88 4 16.2 4H7.8c-1.68 0-2.52 0-3.162.327a3 3 0 0 0-1.311 1.311C3 6.28 3 7.12 3 8.8v8.4c0 1.68 0 2.52.327 3.162a3 3 0 0 0 1.311 1.311C5.28 22 6.12 22 7.8 22Z"}));i.displayName="Calendar";const n=({size:e=24,color:t="currentColor",...o})=>r.createElement("svg",{viewBox:"0 0 24 24",width:e,height:e,stroke:t,strokeWidth:"2",fill:"none",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...o},r.createElement("path",{d:"m16 18 6-6-6-6M8 6l-6 6 6 6"}));n.displayName="Code01";export{n as i,i as n};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r}from"./index-BLgTJ8o3.js";const i=({size:e=24,color:t="currentColor",...o})=>r.createElement("svg",{viewBox:"0 0 24 24",width:e,height:e,stroke:t,strokeWidth:"2",fill:"none",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...o},r.createElement("path",{d:"M9 2v3m6-3v3M9 19v3m6-3v3m4-13h3m-3 5h3M2 9h3m-3 5h3m4.8 5h4.4c1.68 0 2.52 0 3.162-.327a3 3 0 0 0 1.311-1.311C19 16.72 19 15.88 19 14.2V9.8c0-1.68 0-2.52-.327-3.162a3 3 0 0 0-1.311-1.311C16.72 5 15.88 5 14.2 5H9.8c-1.68 0-2.52 0-3.162.327a3 3 0 0 0-1.311 1.311C5 7.28 5 8.12 5 9.8v4.4c0 1.68 0 2.52.327 3.162a3 3 0 0 0 1.311 1.311C7.28 19 8.12 19 9.8 19Z"}));i.displayName="CpuChip02";export{i};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r}from"./index-BLgTJ8o3.js";const a=({size:e=24,color:t="currentColor",...o})=>r.createElement("svg",{viewBox:"0 0 24 24",width:e,height:e,stroke:t,strokeWidth:"2",fill:"none",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...o},r.createElement("path",{d:"M5 4.99c0-.972 0-1.457.202-1.725a1 1 0 0 1 .738-.395c.335-.02.74.25 1.548.788l10.515 7.01c.668.446 1.002.668 1.118.949a1 1 0 0 1 0 .766c-.116.28-.45.503-1.118.948l-10.515 7.01c-.809.54-1.213.809-1.548.789a1 1 0 0 1-.738-.395C5 20.467 5 19.98 5 19.01V4.99Z"}));a.displayName="Play";export{a as i};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{c as E,j as t,r as v}from"./index-BLgTJ8o3.js";import{c as N}from"./button-IijH0wdI.js";function y(){const s=E.c(1);let e;return s[0]===Symbol.for("react.memo_cache_sentinel")?(e=t.jsx("img",{src:"/empty-state-cards.png",alt:"",width:336,height:320,"aria-hidden":"true"}),s[0]=e):e=s[0],e}function S(s){const e=E.c(24),{image:i,title:p,description:h,actions:x,className:u,descriptionClassName:j,actionsClassName:g}=s;let l;e[0]!==u?(l=N("flex flex-1 flex-col items-center justify-center gap-8 p-4",u),e[0]=u,e[1]=l):l=e[1];let r;e[2]!==i?(r=i!==null&&t.jsx("div",{className:"flex items-center justify-center",children:i??t.jsx(y,{})}),e[2]=i,e[3]=r):r=e[3];let a;e[4]!==p?(a=t.jsx("h3",{className:"text-lg font-medium text-foreground",children:p}),e[4]=p,e[5]=a):a=e[5];let c;e[6]!==j?(c=N("text-sm text-muted-foreground text-center max-w-[300px]",j),e[6]=j,e[7]=c):c=e[7];let n;e[8]!==h||e[9]!==c?(n=t.jsx("div",{className:c,children:h}),e[8]=h,e[9]=c,e[10]=n):n=e[10];let o;e[11]!==a||e[12]!==n?(o=t.jsxs("div",{className:"flex flex-col items-center gap-2",children:[a,n]}),e[11]=a,e[12]=n,e[13]=o):o=e[13];let m;e[14]!==x||e[15]!==g?(m=x&&t.jsx("div",{className:N("flex items-center gap-2",g),children:x}),e[14]=x,e[15]=g,e[16]=m):m=e[16];let d;e[17]!==o||e[18]!==m?(d=t.jsxs("div",{className:"flex flex-col items-center gap-4",children:[o,m]}),e[17]=o,e[18]=m,e[19]=d):d=e[19];let f;return e[20]!==l||e[21]!==r||e[22]!==d?(f=t.jsxs("div",{className:l,children:[r,d]}),e[20]=l,e[21]=r,e[22]=d,e[23]=f):f=e[23],f}const k=({size:s=24,color:e="currentColor",...i})=>v.createElement("svg",{viewBox:"0 0 24 24",width:s,height:s,stroke:e,strokeWidth:"2",fill:"none",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...i},v.createElement("path",{d:"m21 21-4.35-4.35M19 11a8 8 0 1 1-16 0 8 8 0 0 1 16 0Z"}));k.displayName="SearchMd";export{S as E,k as i};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as t}from"./index-BLgTJ8o3.js";const i=({size:e=24,color:r="currentColor",...o})=>t.createElement("svg",{viewBox:"0 0 24 24",width:e,height:e,stroke:r,strokeWidth:"2",fill:"none",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...o},t.createElement("path",{d:"M12 13a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm7 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2ZM5 13a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z"}));i.displayName="DotsHorizontal";const n=({size:e=24,color:r="currentColor",...o})=>t.createElement("svg",{viewBox:"0 0 24 24",width:e,height:e,stroke:r,strokeWidth:"2",fill:"none",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...o},t.createElement("path",{d:"M18 6 6 18M6 6l12 12"}));n.displayName="XClose";export{i,n as s};
|