@decocms/mesh 1.9.0 → 1.10.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.
Files changed (111) hide show
  1. package/dist/client/assets/{AlertCircle-BrGqb-qb.js → AlertCircle-DxJIdkjA.js} +1 -1
  2. package/dist/client/assets/{ArrowLeft-B6h573ak.js → ArrowLeft-CrgZDDUZ.js} +1 -1
  3. package/dist/client/assets/{ChevronDown-BuogCeI0.js → ChevronDown-B2VaHCqC.js} +1 -1
  4. package/dist/client/assets/{Clock-LzAlJ-1R.js → Clock-CafJ8d76.js} +1 -1
  5. package/dist/client/assets/{Code01-Wll8WS4F.js → Code01-BHMAmoGH.js} +1 -1
  6. package/dist/client/assets/{Copy01-_s71W2Ph.js → Copy01-DfnjsOeR.js} +1 -1
  7. package/dist/client/assets/{CpuChip02-BwTl0fBj.js → CpuChip02-qVpLCR0_.js} +1 -1
  8. package/dist/client/assets/{DotsVertical-BQk5hPxb.js → DotsVertical-DIWcHGKr.js} +1 -1
  9. package/dist/client/assets/{File06-CpSSTggW.js → File06-DSeIH9xM.js} +1 -1
  10. package/dist/client/assets/{FlipBackward-C0O2fx27.js → FlipBackward-s0RSv_vj.js} +1 -1
  11. package/dist/client/assets/{GitBranch01-DjmPf135.js → GitBranch01-CeFBxnqq.js} +1 -1
  12. package/dist/client/assets/{Grid01-CmB5R6oU.js → Grid01-Ch9rI6P9.js} +1 -1
  13. package/dist/client/assets/{Inbox01-Ct-8Lwpv.js → Inbox01-7z9hTUsw.js} +1 -1
  14. package/dist/client/assets/{InfoCircle-D6JXYJn_.js → InfoCircle-DQaxWpv9.js} +1 -1
  15. package/dist/client/assets/{Key01-ZVAVplBN.js → Key01-CH9qCC00.js} +1 -1
  16. package/dist/client/assets/{LinkExternal01-DfHTXuZ9.js → LinkExternal01-DZDUBWQO.js} +1 -1
  17. package/dist/client/assets/{Loading01-0wYmSKV6.js → Loading01-B0dLQInZ.js} +1 -1
  18. package/dist/client/assets/{Lock01-D5nrmOSx.js → Lock01-wpG8qO-9.js} +1 -1
  19. package/dist/client/assets/{Play-BedrzKsi.js → Play-DSXQEflq.js} +1 -1
  20. package/dist/client/assets/{Plus-DofiSAMU.js → Plus-D_XbrIfI.js} +1 -1
  21. package/dist/client/assets/{SearchMd-D70t5LVP.js → SearchMd-BJbLhbUT.js} +1 -1
  22. package/dist/client/assets/{Terminal-CStBCUAd.js → Terminal-BSL9-A7C.js} +1 -1
  23. package/dist/client/assets/{Trash01-DnTS63e5.js → Trash01-aTCf1hVv.js} +1 -1
  24. package/dist/client/assets/{X-DeVUfdHG.js → X-BgwVwwIy.js} +1 -1
  25. package/dist/client/assets/{XClose-5A0s2w1d.js → XClose-sskkBH5X.js} +1 -1
  26. package/dist/client/assets/{alert-dialog-BU8uTWb8.js → alert-dialog-DIexFXOj.js} +1 -1
  27. package/dist/client/assets/{auth-DpA5_jth.js → auth-BnF0Tfz9.js} +1 -1
  28. package/dist/client/assets/{auth-catchall-2WBu6I6H.js → auth-catchall-Cp5vKmTi.js} +1 -1
  29. package/dist/client/assets/{avatar-KDpJ2jsd.js → avatar-Bf0qQU4w.js} +1 -1
  30. package/dist/client/assets/{badge-CStgouQf.js → badge-CgEtLuTw.js} +1 -1
  31. package/dist/client/assets/{button-IijH0wdI.js → button-O0CudEuW.js} +1 -1
  32. package/dist/client/assets/{card-BnWpolEI.js → card-ciO_SNWh.js} +1 -1
  33. package/dist/client/assets/{checkbox-BYeNlYdH.js → checkbox-DUc30Qpz.js} +1 -1
  34. package/dist/client/assets/{collection-detail-DnxFiEu9.js → collection-detail-msiVYwQa.js} +41 -41
  35. package/dist/client/assets/{collection-display-button-2ZQ5sQTW.js → collection-display-button-BVgPIpv0.js} +1 -1
  36. package/dist/client/assets/{collection-header-DBUE7n6H.js → collection-header-BkZGWAxm.js} +1 -1
  37. package/dist/client/assets/{collection-page-BHk1uJKe.js → collection-page-CREYFoHa.js} +1 -1
  38. package/dist/client/assets/{collection-search-CM9rltH6.js → collection-search-s9G5Psps.js} +1 -1
  39. package/dist/client/assets/{collection-tab-ClOnLgHC.js → collection-tab-T_hhyR7G.js} +1 -1
  40. package/dist/client/assets/{collection-table-wrapper-BRI7T6RJ.js → collection-table-wrapper-Dnmr37nE.js} +1 -1
  41. package/dist/client/assets/{connection-card-DMv3uM_n.js → connection-card-Dcrw1pJ1.js} +1 -1
  42. package/dist/client/assets/{connection-detail-Cs5NpuH7.js → connection-detail-ByP6chqW.js} +1 -1
  43. package/dist/client/assets/{connections-DSbytdP0.js → connections-DYOzkJYx.js} +1 -1
  44. package/dist/client/assets/constants-BG4081pg.js +1 -0
  45. package/dist/client/assets/{create-organization-dialog-DbNHSUuq.js → create-organization-dialog-CYQoklT3.js} +1 -1
  46. package/dist/client/assets/{dialog-CJsBFVDy.js → dialog-D4dy2US8.js} +1 -1
  47. package/dist/client/assets/{dropdown-menu-BvLCKekW.js → dropdown-menu-DjELCVXr.js} +1 -1
  48. package/dist/client/assets/{empty-state-Bg-FRZa4.js → empty-state-CA7indKP.js} +1 -1
  49. package/dist/client/assets/{env-vars-editor-Z7SwcUr8.js → env-vars-editor-CFmirc3J.js} +1 -1
  50. package/dist/client/assets/{error-boundary-CsEoagci.js → error-boundary-Ba_T3BIS.js} +1 -1
  51. package/dist/client/assets/{extract-connection-data-BgA1QcA6.js → extract-connection-data-Bm1qZWCV.js} +1 -1
  52. package/dist/client/assets/{form-BjarY-Jq.js → form-rbCVC2Lc.js} +1 -1
  53. package/dist/client/assets/{formatDistanceToNow-fhdySMxO.js → formatDistanceToNow-Bsssu-td.js} +1 -1
  54. package/dist/client/assets/{gateway-detail-DeFxNps5.js → gateway-detail-JYrV5S3_.js} +1 -1
  55. package/dist/client/assets/{gateways-CXlSFkKr.js → gateways--haP9jLk.js} +1 -1
  56. package/dist/client/assets/{home-BXCs6vTQ.js → home-0xYKq0nN.js} +1 -1
  57. package/dist/client/assets/index-B9fZ40p9.js +155 -0
  58. package/dist/client/assets/{index-CRGUNI2v.js → index-BGmLHZvN.js} +1 -1
  59. package/dist/client/assets/{index-B_OB0BCO.js → index-BNguAQBW.js} +1 -1
  60. package/dist/client/assets/{index-BGEzzv-W.js → index-C9WZdaPe.js} +1 -1
  61. package/dist/client/assets/index-CmUsR6rx.css +1 -0
  62. package/dist/client/assets/{input-BxywPo2X.js → input-C3lfdgit.js} +1 -1
  63. package/dist/client/assets/{layout-Dfp1nH3g.js → layout-BgUF9JkX.js} +1 -1
  64. package/dist/client/assets/{lazy-highlighter-DYlTa9LA.js → lazy-highlighter-Buv6v3mS.js} +1 -1
  65. package/dist/client/assets/{localstorage-keys-Bj9V9Nbd.js → localstorage-keys-BGRuWcRT.js} +1 -1
  66. package/dist/client/assets/{login-BfaeBzql.js → login-fFNSXfGP.js} +1 -1
  67. package/dist/client/assets/{mcp-oauth-Vd_yzV5S.js → mcp-oauth-DacADfyW.js} +1 -1
  68. package/dist/client/assets/{members-fIe1QSNh.js → members-CAufZALX.js} +1 -1
  69. package/dist/client/assets/{monaco-editor-mQfzbJMr.js → monaco-editor-uZe9l_bJ.js} +1 -1
  70. package/dist/client/assets/{monitoring-I1RqzeAN.js → monitoring-DTJtueom.js} +1 -1
  71. package/dist/client/assets/{oauth-callback-Cwog6Jzh.js → oauth-callback-zUOuo71p.js} +1 -1
  72. package/dist/client/assets/{page-BVptnX4j.js → page-BP6lcPxY.js} +1 -1
  73. package/dist/client/assets/{pin-to-sidebar-button-C8t5xznu.js → pin-to-sidebar-button-DcWM6FTO.js} +1 -1
  74. package/dist/client/assets/{popover-CwHNob2q.js → popover-BRnyFKtN.js} +1 -1
  75. package/dist/client/assets/{resizable-DybyPt6-.js → resizable-Bcc9SJfZ.js} +1 -1
  76. package/dist/client/assets/{resource-tabs-s0IiCCzU.js → resource-tabs-ltvgVmlK.js} +1 -1
  77. package/dist/client/assets/{responsive-select-INSf3elv.js → responsive-select-BbaQnOfE.js} +1 -1
  78. package/dist/client/assets/{select-C0rvNlZx.js → select-Dsuiuagq.js} +1 -1
  79. package/dist/client/assets/{settings-3Or8ShnF.js → settings-Br4mx_yy.js} +1 -1
  80. package/dist/client/assets/{shell-layout-4x0MHQQc.js → shell-layout-CM_S8ji4.js} +1 -1
  81. package/dist/client/assets/{spinner-D7ZAVJCR.js → spinner-CDnZnQfr.js} +1 -1
  82. package/dist/client/assets/{store-Bl_0XUq8.js → store-CJqU95FV.js} +1 -1
  83. package/dist/client/assets/{store-app-detail--3qLKygc.js → store-app-detail-Bb4mx26e.js} +1 -1
  84. package/dist/client/assets/{switch-D37mVt_9.js → switch-DhyQ2_hE.js} +1 -1
  85. package/dist/client/assets/{textarea-DNeEC-Sl.js → textarea-CvmD-TCl.js} +1 -1
  86. package/dist/client/assets/{thread-history-popover-CykPOF9f.js → thread-history-popover-BQKKEP-v.js} +4 -4
  87. package/dist/client/assets/{tools-list-CFmwpEf4.js → tools-list-zpc-T8zT.js} +1 -1
  88. package/dist/client/assets/{tooltip-CSuczTFq.js → tooltip-DaImUyOX.js} +1 -1
  89. package/dist/client/assets/{types-CJK7iTsI.js → types-BDHiECry.js} +1 -1
  90. package/dist/client/assets/{use-binding-C5e_Y70M.js → use-binding-BWHEOuVA.js} +8 -8
  91. package/dist/client/assets/{use-connection-CsPrFY0x.js → use-connection-9XNP6qUi.js} +1 -1
  92. package/dist/client/assets/{use-connection-resources-CjjFKWSM.js → use-connection-resources-DbXXhKLF.js} +1 -1
  93. package/dist/client/assets/{use-gateway-Bz_y7oh7.js → use-gateway-BU92tNo7.js} +1 -1
  94. package/dist/client/assets/{use-list-state-B13SO1z3.js → use-list-state-vrSW0egR.js} +1 -1
  95. package/dist/client/assets/{use-mcp-CPBDJGOj.js → use-mcp-BXJqKT0W.js} +1 -1
  96. package/dist/client/assets/{use-members-b3tDRslY.js → use-members-eTAFi1HF.js} +1 -1
  97. package/dist/client/assets/{use-mobile-VYFif8jU.js → use-mobile-CG0P5-tt.js} +1 -1
  98. package/dist/client/assets/{use-organization-settings-i4aS_Egu.js → use-organization-settings-jxyxG3Do.js} +1 -1
  99. package/dist/client/assets/{use-tool-call-BdbJ3oy8.js → use-tool-call-vWU--CYB.js} +1 -1
  100. package/dist/client/assets/useQuery-nlt5lRkW.js +1 -0
  101. package/dist/client/assets/{useSuspenseInfiniteQuery-BLpBJxLd.js → useSuspenseInfiniteQuery-o35GYPjZ.js} +1 -1
  102. package/dist/client/assets/{view-mode-toggle-BXo-WMnB.js → view-mode-toggle-CTKggGXJ.js} +1 -1
  103. package/dist/client/assets/{workflow-wGJTSVc-.js → workflow-DTYA39cO.js} +1 -1
  104. package/dist/client/index.html +2 -2
  105. package/dist/server/cli.js +2 -2
  106. package/dist/server/server.js +2 -2
  107. package/package.json +1 -1
  108. package/dist/client/assets/constants-TKUQnnwA.js +0 -1
  109. package/dist/client/assets/index-9pHY4m3c.css +0 -1
  110. package/dist/client/assets/index-BLgTJ8o3.js +0 -155
  111. package/dist/client/assets/useQuery-DXchCtgN.js +0 -1
@@ -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.9.0",
3
+ "version": "1.10.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",
@@ -1 +0,0 @@
1
- import{B as o}from"./use-binding-C5e_Y70M.js";import{aM as a}from"./index-BLgTJ8o3.js";const e="mcp.mesh",m="mcp.mesh/publisher-provided",c=a(o,{target:"draft-07"});export{c as B,m as M,e as a};