@decocms/mesh 2.5.0 → 2.6.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 (106) hide show
  1. package/dist/client/assets/{AlertCircle-DAyHhLS6.js → AlertCircle-CXsTZwiP.js} +1 -1
  2. package/dist/client/assets/{ArrowLeft-Bpp_SsGd.js → ArrowLeft-BmBBsefj.js} +1 -1
  3. package/dist/client/assets/{ChevronDown-CsOv8W2I.js → ChevronDown-tYtAxReT.js} +1 -1
  4. package/dist/client/assets/{ChevronRight-Boh94iyZ.js → ChevronRight-DZ1E60r-.js} +1 -1
  5. package/dist/client/assets/{Copy01-BrkhNqAw.js → Copy01-BHQAd7RF.js} +1 -1
  6. package/dist/client/assets/{DotsHorizontal-Bv4IcguS.js → DotsHorizontal-DyKPe0qe.js} +1 -1
  7. package/dist/client/assets/{DotsVertical-cXTBD68H.js → DotsVertical-q9J-rMUP.js} +1 -1
  8. package/dist/client/assets/{File06-l4-3IHqa.js → File06-CSUxYQym.js} +1 -1
  9. package/dist/client/assets/{FilterLines-D2prJuZ_.js → FilterLines-BsEUu_NB.js} +1 -1
  10. package/dist/client/assets/{FlipBackward-Cuwh5H4e.js → FlipBackward-B4bGVjWR.js} +1 -1
  11. package/dist/client/assets/{GitBranch01-DDKUuZMu.js → GitBranch01-DOCTQPzE.js} +1 -1
  12. package/dist/client/assets/{Grid01-COCXYn3t.js → Grid01-BIeDvs8H.js} +1 -1
  13. package/dist/client/assets/{Inbox01-CEyXxA8m.js → Inbox01-zPL0yp-b.js} +1 -1
  14. package/dist/client/assets/{InfoCircle-C2iaXmlJ.js → InfoCircle-DBh50Bbh.js} +1 -1
  15. package/dist/client/assets/{Key01-CcMWzP51.js → Key01-_p45gbgC.js} +1 -1
  16. package/dist/client/assets/{LinkExternal01-31BeOzKc.js → LinkExternal01-DvpAhY7K.js} +1 -1
  17. package/dist/client/assets/{Loading01-BqUL1Os2.js → Loading01-ChbDJOpQ.js} +1 -1
  18. package/dist/client/assets/{Lock01-BfDepLwB.js → Lock01-C077-V96.js} +1 -1
  19. package/dist/client/assets/{Play-DqaoplmY.js → Play-DHCaNqs2.js} +1 -1
  20. package/dist/client/assets/{Plus-CJASgavw.js → Plus-DgPe97FS.js} +1 -1
  21. package/dist/client/assets/{Stop-CRrts02X.js → Stop-CxUyXnB-.js} +1 -1
  22. package/dist/client/assets/{Terminal-e-eRty6Q.js → Terminal-Dzbc3oNm.js} +1 -1
  23. package/dist/client/assets/{Trash01-C3O36hTP.js → Trash01-BsOU28L-.js} +1 -1
  24. package/dist/client/assets/{X-D4fwyn55.js → X-BxXDNcDc.js} +1 -1
  25. package/dist/client/assets/{XClose-Bfbqr-bg.js → XClose-BsRJF6Io.js} +1 -1
  26. package/dist/client/assets/{alert-dialog-F5nkQKBj.js → alert-dialog-DDJD71iQ.js} +2 -2
  27. package/dist/client/assets/{auth-catchall-BAZuaH8l.js → auth-catchall-B9UAEJsW.js} +1 -1
  28. package/dist/client/assets/{auth-m66JRmI1.js → auth-fTEJ6vFj.js} +1 -1
  29. package/dist/client/assets/{avatar-MdaY7dDq.js → avatar-C6rYXXix.js} +1 -1
  30. package/dist/client/assets/{badge-BRpJ4D36.js → badge-C2vhgvXh.js} +1 -1
  31. package/dist/client/assets/{card-DPsjHi5_.js → card-0RpD_Okc.js} +1 -1
  32. package/dist/client/assets/{checkbox-dB50xYpN.js → checkbox-2fBavz_U.js} +1 -1
  33. package/dist/client/assets/{collection-detail-glRN62L4.js → collection-detail-MkF0Wjgc.js} +1 -1
  34. package/dist/client/assets/{collection-display-button-BEkWecO6.js → collection-display-button-GjhICAns.js} +1 -1
  35. package/dist/client/assets/{collection-header-DS84Dz-Z.js → collection-header-BzjCpMQC.js} +1 -1
  36. package/dist/client/assets/{collection-page-Dw7iXEq1.js → collection-page-HqVvQRKi.js} +1 -1
  37. package/dist/client/assets/{collection-search-Dwhflp6J.js → collection-search-C2kJMWfQ.js} +1 -1
  38. package/dist/client/assets/{collection-tab-CQ_V1h26.js → collection-tab-DnBLM994.js} +1 -1
  39. package/dist/client/assets/{collection-table-wrapper-Tc6aoQU4.js → collection-table-wrapper-CykovSsg.js} +1 -1
  40. package/dist/client/assets/{connection-card-BOHNc6OM.js → connection-card-DmGJapbt.js} +1 -1
  41. package/dist/client/assets/{connection-detail-yed7lEwn.js → connection-detail-DJXRJ0Px.js} +1 -1
  42. package/dist/client/assets/{connections-Cyw4vKCR.js → connections-BZgjRmLf.js} +1 -1
  43. package/dist/client/assets/constants-Dw3a-a8A.js +1 -0
  44. package/dist/client/assets/{create-organization-dialog-BW64m1n3.js → create-organization-dialog-CVAxECEK.js} +1 -1
  45. package/dist/client/assets/{dialog-dVO4tnyX.js → dialog-8gG8aMb3.js} +1 -1
  46. package/dist/client/assets/{dropdown-menu-Dl6PURsy.js → dropdown-menu-n8tQdKzU.js} +1 -1
  47. package/dist/client/assets/{empty-state-Ctkb5o27.js → empty-state-DdEM1kMk.js} +1 -1
  48. package/dist/client/assets/{env-vars-editor-BH1jNoL-.js → env-vars-editor-CR7CFtuk.js} +1 -1
  49. package/dist/client/assets/{error-boundary-NRHN5Y9-.js → error-boundary-2bkg7oJb.js} +1 -1
  50. package/dist/client/assets/{extract-connection-data-BaLXzQ_k.js → extract-connection-data-DcdEdlG3.js} +1 -1
  51. package/dist/client/assets/{form-BYRg0fLZ.js → form-CAXk3THG.js} +1 -1
  52. package/dist/client/assets/{gateway-detail-BfXnCLYA.js → gateway-detail-B7oXOW6N.js} +1 -1
  53. package/dist/client/assets/{gateway-selector-DAEirbF5.js → gateway-selector-D2Q7ggZn.js} +1 -1
  54. package/dist/client/assets/{gateways-BJBU4jqZ.js → gateways-B1p-rpmc.js} +1 -1
  55. package/dist/client/assets/{home-4Azy8yCf.js → home-BT9Yer9r.js} +1 -1
  56. package/dist/client/assets/{index-DJlsJ8uo.js → index-B2j3pdx9.js} +1 -1
  57. package/dist/client/assets/{index-DsWTyaMI.js → index-B4rW0iYi.js} +2 -2
  58. package/dist/client/assets/{index-CiFNe-N2.js → index-DcV0PEbL.js} +1 -1
  59. package/dist/client/assets/{input-Bjw47IqN.js → input-DfK443KW.js} +1 -1
  60. package/dist/client/assets/{layout-CSrwjVH6.js → layout-DneSdvVj.js} +1 -1
  61. package/dist/client/assets/{lazy-highlighter-3jMk7DX6.js → lazy-highlighter-B1dmfn0D.js} +1 -1
  62. package/dist/client/assets/{localstorage-keys-mgwVhAgB.js → localstorage-keys-D3c6_oq-.js} +1 -1
  63. package/dist/client/assets/{login-B4k1yizo.js → login-CIh3q3Qi.js} +1 -1
  64. package/dist/client/assets/{mcp-oauth-CYe4lbkF.js → mcp-oauth-BiZi9tG5.js} +1 -1
  65. package/dist/client/assets/{mcp-server-detail-BncapnIe.js → mcp-server-detail-uiewE7MH.js} +1 -1
  66. package/dist/client/assets/{members-CvcRBE7N.js → members-CZq6DI6T.js} +1 -1
  67. package/dist/client/assets/{monaco-editor-CiWfYNhn.js → monaco-editor-ClxAY9cN.js} +1 -1
  68. package/dist/client/assets/{monitoring-C2NQS-B1.js → monitoring-CBkplcL-.js} +1 -1
  69. package/dist/client/assets/{oauth-callback-CVfImHX4.js → oauth-callback-BwbErSpk.js} +1 -1
  70. package/dist/client/assets/{page-4Om70maF.js → page-Chxco7s8.js} +1 -1
  71. package/dist/client/assets/{page-DWpNpeBI.js → page-DbtoHw3k.js} +1 -1
  72. package/dist/client/assets/{pin-to-sidebar-button-B_8L8Vb0.js → pin-to-sidebar-button-BdEzNcMG.js} +1 -1
  73. package/dist/client/assets/{popover-BAqz8iCu.js → popover-BDc2B462.js} +1 -1
  74. package/dist/client/assets/{project-context-provider-4_jnbmhf.js → project-context-provider-Z3z3h9Wb.js} +1 -1
  75. package/dist/client/assets/{resizable-BQxIvKty.js → resizable-D6W3lWjn.js} +1 -1
  76. package/dist/client/assets/{resource-tabs-N7R8QmbK.js → resource-tabs-D4NOaHFH.js} +1 -1
  77. package/dist/client/assets/{select-D0sx2072.js → select-aQfyI-v6.js} +1 -1
  78. package/dist/client/assets/{settings-DBVtWxtX.js → settings-DGTs_MVT.js} +1 -1
  79. package/dist/client/assets/{shell-layout-yGeudWHM.js → shell-layout-KDYKQ6_S.js} +1 -1
  80. package/dist/client/assets/{spinner-DZG16LrV.js → spinner-3egZdVng.js} +1 -1
  81. package/dist/client/assets/{switch-BRK3ymGn.js → switch-IdHc-4Dv.js} +1 -1
  82. package/dist/client/assets/{textarea-Ct5hMebK.js → textarea-D7Q2gtdZ.js} +1 -1
  83. package/dist/client/assets/{thread-history-popover-CUQ7xqpL.js → thread-history-popover-CcwAgK4h.js} +3 -3
  84. package/dist/client/assets/{tools-list-B6Grd2aY.js → tools-list-wntiDa35.js} +1 -1
  85. package/dist/client/assets/{use-binding-CocjKJdo.js → use-binding-BG4Wb2oy.js} +1 -1
  86. package/dist/client/assets/{use-connection-BRzCmTOd.js → use-connection-C4g0JZpy.js} +1 -1
  87. package/dist/client/assets/{use-connection-resources-AWPWi-RH.js → use-connection-resources-DTid1adO.js} +1 -1
  88. package/dist/client/assets/{use-gateway-LBTVY8TW.js → use-gateway-N8OmFc4c.js} +1 -1
  89. package/dist/client/assets/{use-gateway-system-prompt-DscZjM_A.js → use-gateway-system-prompt-3nRPmY3F.js} +1 -1
  90. package/dist/client/assets/{use-list-state-C9bMHTQK.js → use-list-state-C2VVt6rs.js} +1 -1
  91. package/dist/client/assets/{use-mcp-Xq1C6Xb8.js → use-mcp-DWXfumXh.js} +1 -1
  92. package/dist/client/assets/{use-members-DwaDlN2k.js → use-members-DDNp2ze4.js} +1 -1
  93. package/dist/client/assets/{use-mobile-b2I183jd.js → use-mobile-BP-8Yh1J.js} +1 -1
  94. package/dist/client/assets/{use-organization-settings-D21MRe-D.js → use-organization-settings-BStp6uwa.js} +1 -1
  95. package/dist/client/assets/{use-tool-call-DWmlWS7M.js → use-tool-call-CShGwNg3.js} +1 -1
  96. package/dist/client/assets/{useQueries-BLLM0cVq.js → useQueries-Bm0QksC9.js} +1 -1
  97. package/dist/client/assets/useQuery-BWev1ERp.js +1 -0
  98. package/dist/client/assets/{value-D6kCdY90.js → value-DDEsq_9i.js} +1 -1
  99. package/dist/client/assets/{view-mode-toggle-DlhHZSZ6.js → view-mode-toggle-BPzNKTt-.js} +1 -1
  100. package/dist/client/assets/{workflow-DufdLkFQ.js → workflow-CJT-nj74.js} +1 -1
  101. package/dist/client/index.html +1 -1
  102. package/dist/server/cli.js +1 -1
  103. package/dist/server/server.js +1 -1
  104. package/package.json +1 -1
  105. package/dist/client/assets/constants-DgMd8oVj.js +0 -1
  106. package/dist/client/assets/useQuery-BXYZ1U8o.js +0 -1
@@ -1099,7 +1099,7 @@ Learn more: \x1B[34m${Y}\x1B[0m
1099
1099
 
1100
1100
  `)}})}},Q36={"content-type":"text/event-stream","cache-control":"no-cache",connection:"keep-alive","x-vercel-ai-ui-message-stream":"v1","x-accel-buffering":"no"};ir4=J9(()=>qQ(N.union([N.strictObject({type:N.literal("text-start"),id:N.string(),providerMetadata:i6.optional()}),N.strictObject({type:N.literal("text-delta"),id:N.string(),delta:N.string(),providerMetadata:i6.optional()}),N.strictObject({type:N.literal("text-end"),id:N.string(),providerMetadata:i6.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:i6.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:i6.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:i6.optional()}),N.strictObject({type:N.literal("reasoning-delta"),id:N.string(),delta:N.string(),providerMetadata:i6.optional()}),N.strictObject({type:N.literal("reasoning-end"),id:N.string(),providerMetadata:i6.optional()}),N.strictObject({type:N.literal("source-url"),sourceId:N.string(),url:N.string(),title:N.string().optional(),providerMetadata:i6.optional()}),N.strictObject({type:N.literal("source-document"),sourceId:N.string(),mediaType:N.string(),title:N.string(),filename:N.string().optional(),providerMetadata:i6.optional()}),N.strictObject({type:N.literal("file"),url:N.string(),mediaType:N.string(),providerMetadata:i6.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()})])));$l1=SW({prefix:"aitxt",size:24});tr4=J9(()=>qQ(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:i6.optional()}),N.object({type:N.literal("reasoning"),text:N.string(),state:N.enum(["streaming","done"]).optional(),providerMetadata:i6.optional()}),N.object({type:N.literal("source-url"),sourceId:N.string(),url:N.string(),title:N.string().optional(),providerMetadata:i6.optional()}),N.object({type:N.literal("source-document"),sourceId:N.string(),mediaType:N.string(),title:N.string(),filename:N.string().optional(),providerMetadata:i6.optional()}),N.object({type:N.literal("file"),mediaType:N.string(),filename:N.string().optional(),url:N.string(),providerMetadata:i6.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:i6.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:i6.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:i6.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:i6.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:i6.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:i6.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:i6.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:i6.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:i6.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:i6.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:i6.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:i6.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"))),Qo4=SW({prefix:"aiobj",size:24}),Yo4=SW({prefix:"aiobj",size:24});Vl1=`vercel.ai.error.${Fl1}`,ql1=Symbol.for(Vl1);zl1=ql1});function Z36(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 Ul1(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(`
1101
1101
  `);X=G.pop()??"";for(let W of G)if(W.trim()){let Z=Z36(W);if(Z)J.enqueue(Z)}},flush(Y){if(X.trim()){let J=Z36(X);if(J)Y.enqueue(J)}}}))}var Bl1=(Q)=>{return Object.fromEntries(Object.entries(Q).map(([X,Y])=>[X,Y.map((J)=>new RegExp(J))]))},$36=(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=RW(()=>Q.LLM_METADATA({modelId:X}).then((J)=>Bl1(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}
1102
- ${await G.text()}`);return{stream:Ul1(G),response:{headers:Object.fromEntries(G.headers?.entries()??[])}}}}}}};var K36=()=>{};function Ll1(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 wl1(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}function Pl1(Q,X){let Y=yb(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 g7(new URL(`/mcp/gateway/${X}`,J),{requestInit:{headers:G}})}var Dl1=32768,Nl1=50,Ol1,H36,Ml1=async(Q,X)=>{let J=(await Q.listTools()).tools.map((G)=>{let{name:W,title:Z,description:$,inputSchema:K,outputSchema:H}=G;return[W,tb({title:Z??W,description:$,inputSchema:CK(K),outputSchema:H?CK(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},XW,{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(`
1102
+ ${await G.text()}`);return{stream:Ul1(G),response:{headers:Object.fromEntries(G.headers?.entries()??[])}}}}}}};var K36=()=>{};function Ll1(Q,X){if(!Q.organization)throw Error("Organization context is required");if((Q.organization.slug??Q.organization.id)!==X)throw Error("Organization mismatch");return Q.organization}async function wl1(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}function Pl1(Q,X){let Y=yb(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 g7(new URL(`/mcp/gateway/${X}`,J),{requestInit:{headers:G}})}var Dl1=32768,Nl1=50,Ol1,H36,Ml1=async(Q,X)=>{let J=(await Q.listTools()).tools.map((G)=>{let{name:W,title:Z,description:$,inputSchema:K,outputSchema:H}=G;return[W,tb({title:Z??W,description:$,inputSchema:CK(K),outputSchema:H?CK(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},XW,{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(`
1103
1103
  `)||"Unknown error"};if("structuredContent"in F)return{type:"json",value:F.structuredContent};return{type:"content",value:F.content}}})]});return Object.fromEntries(J)},F36;var V36=y(()=>{ft();bz();gw();t9();W36();IW();G6();K36();bb();Ol1=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()}),H36=new EQ;H36.post("/:org/models/stream",async(Q)=>{let X=Q.get("meshContext"),Y=Q.req.param("org"),J=null;try{let G=Ll1(X,Y),W=await Q.req.json(),Z=Ol1.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=Nl1,thread_id:z}=$,B=K.limits?.maxOutputTokens??Dl1,D=Pl1(Q.req.raw,H.id),L=new FY({name:"mcp-mesh-proxy",version:"1.0.0"}),[M,C]=await Promise.all([J36(F,{ignoreIncompleteToolCalls:!0}),wl1(X,G.id,K.connectionId),L.connect(D)]);if(!C)return Q.json({error:`Model connection not found: ${K.connectionId}`},404);J=L;let A=M.find((h)=>h.role==="system"),E=A?.role==="system"?A.content:void 0,T=M.filter((h)=>h.role!=="system"),j=G36({messages:T,reasoning:"before-last-message",emptyMessages:"remove",toolCalls:"none"}).slice(-q),R=z?{thread_id:z}:void 0,[v,b]=await Promise.all([X.createMCPProxy(C),Ml1(L,R)]),f=fR0.forClient(v),x=$36(f).languageModel(K.id);return Y36({model:x,system:E,messages:j,tools:b,temperature:V,maxOutputTokens:B,abortSignal:Q.req.raw.signal,stopWhen:wX0(30),onError:async(h)=>{console.error("[models:stream] Error",h),await L.close().catch(console.error)},onFinish:async()=>{await L.close().catch(console.error)}}).toUIMessageStreamResponse({messageMetadata:({part:h})=>{if(h.type==="start")return{gateway:H,model:K,created_at:new Date,thread_id:z};if(h.type==="finish-step")return{usage:{...h.usage,providerMetadata:h.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)}});F36=H36});var q36,z36;var U36=y(()=>{IW();iR();q36=new EQ;q36.get("/",(Q)=>{let X={theme:bD0()};return Q.json({success:!0,config:X})});z36=q36});var B36=()=>{};async function Tl1(Q,X){let J=(await Q.storage.connections.list(X)).find((G)=>G.connection_url?.startsWith(DL0));if(!J?.configuration_state)return null;return J.configuration_state.project_locator}function Al1(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}function N36(Q={}){let X=Q.database??F3();if(Kf&&Kf.isRunning())console.log("[EventBus] Stopping previous worker (HMR cleanup)"),Promise.resolve(Kf.stop()).catch((Z)=>{console.error("[EventBus] Error stopping previous worker:",Z)});let Y;if(Q.eventBus)Y=Q.eventBus;else Y=iW6(X);Kf=Y;let J=new EQ;J.use("/*",QW6({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("*",tG6()),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(GT.HEALTH,(Z)=>{return Z.json({status:"ok",timestamp:new Date().toISOString(),version:"1.0.0"})}),J.get(GT.METRICS,async(Z)=>{try{let $=await gQ0.collect(),K=El1.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/config",z36),J.route("/api/auth/custom",tW6),J.all("/api/auth/*",async(Z)=>{return await b5.handler(Z.req.raw)}),J.route("/",wW6),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 AK.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 _b(V.connection_url),z,B=new URL(V.connection_url);if(q.ok)z=(await q.json()).authorization_servers?.[0];if(!z)z=B.origin;let D=await H90(z);if(!D.ok)return Z.json({error:"Failed to get auth server metadata"},502);let L=await D.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),A=new URL(Z.req.url);if(C.search=A.search,H==="authorize"){if(C.searchParams.has("resource"))C.searchParams.set("resource",V.connection_url);if(NL0(V.connection_url))try{let x=await Tl1(F,V.organization_id),r=Al1(x);for(let[h,S]of r)C.searchParams.set(h,S)}catch(x){console.warn("[oauth-proxy] Failed to get smart OAuth params, proceeding without:",x)}return Z.redirect(C.toString(),302)}let E={Accept:Z.req.header("Accept")||"application/json"},T=Z.req.header("Content-Type");if(T)E["Content-Type"]=T;let j=Z.req.header("Authorization");if(j)E.Authorization=j;let R;if(Z.req.method!=="GET"&&Z.req.method!=="HEAD")if(H==="token"&&T?.includes("application/x-www-form-urlencoded")){let x=await Z.req.formData();if(x.has("resource"))x.set("resource",V.connection_url);let r=new URLSearchParams;for(let[h,S]of x.entries())r.append(h,S.toString());R=r.toString()}else R=Z.req.raw.body??void 0;let v=await fetch(C.toString(),{method:Z.req.method,headers:E,body:R,duplex:"half",redirect:"manual"}),b=new Headers,f=["connection","keep-alive","transfer-encoding","content-encoding","content-length"];for(let[x,r]of v.headers.entries())if(!f.includes(x.toLowerCase()))b.set(x,r);return new Response(v.body,{status:v.status,statusText:v.statusText,headers:b})}),J.get("/mcp/:gateway?/:connectionId/.well-known/oauth-protected-resource/*",async(Z)=>{let K=await jl1()(Z.req.raw),H=await K.json();return Response.json(H,K)});let G=async(Z)=>{let K=await Cl1()(Z.req.raw),H=await K.json();return Response.json(H,K)};J.get("/.well-known/oauth-authorization-server/*/:gateway?/:connectionId?",G),AK.set(SW6({db:X.db,databaseType:X.type,auth:b5,encryption:{key:process.env.ENCRYPTION_KEY||""},observability:{tracer:oP,meter:JG6},eventBus:Y})),Promise.resolve(Y.start()).then(()=>{console.log("[EventBus] Worker started")}),J.use("*",async(Z,$)=>{if(_W6(Z.req.path))return $();let K=await AK.create(Z.req.raw);return Z.set("meshContext",K),$()}),J.get("/api/tools/management",(Z)=>{return Z.json({tools:Ol,grouped:kN()})});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",QZ6),J.route("/mcp",JZ6),J.route("/mcp",IW6),J.route("/api",F36),J.post("/org/:organizationId/events/:type",async(Z)=>{let $=Z.req.param("organizationId");return await Z.var.meshContext.eventBus.publish($,Fz.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.route("/api",Q76),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 D36,Kf=null,El1,jl1=()=>Ii(b5),Cl1=()=>Ci(b5);var O36=y(()=>{IW();eG6();XW6();ZU();fb();SL();F90();aW6();Mb();eW6();X76();XZ6();GZ6();V36();bb();hb();U36();V3();vi();Ll();B36();D36=k1(xQ0(),1);El1=new D36.PrometheusSerializer});var fl1={};var L36,Hf="\x1B[0m",Il1="\x1B[1m",Rl1="\x1B[2m",Sl1="\x1B[32m",vl1="\x1B[36m",kl1="\x1B[4m",_l1,yl1,bl1;var w36=y(()=>{Mb();VG6();O36();F90();L36=parseInt(process.env.PORT||"3000",10),_l1=`http://localhost:${L36}`,yl1=FG6({clientDir:HG6(import.meta.url,"../client"),isServerPath:kW6}),bl1=N36();console.log("");console.log(`${Sl1}\u2713${Hf} ${Il1}Ready${Hf}`);console.log("");console.log(` ${Rl1}Open in browser:${Hf} ${vl1}${kl1}${_l1}${Hf}`);console.log("");Bun.serve({idleTimeout:0,port:L36,hostname:"0.0.0.0",fetch:async(Q)=>{return await yl1(Q)??bl1.fetch(Q)},development:!1})});import{parseArgs as hl1}from"util";var{values:Ff}=hl1({args:process.argv.slice(2),options:{port:{type:"string",short:"p",default:process.env.PORT||"3000"},help:{type:"boolean",short:"h",default:!1},version:{type:"boolean",short:"v",default:!1},"skip-migrations":{type:"boolean",default:!1}},allowPositionals:!0});if(Ff.help)console.log(`
1104
1104
  MCP Mesh - Self-hostable MCP Gateway
1105
1105
 
@@ -1076,5 +1076,5 @@ Learn more: \x1B[34m${Y}\x1B[0m
1076
1076
 
1077
1077
  `)}})}},W71={"content-type":"text/event-stream","cache-control":"no-cache",connection:"keep-alive","x-vercel-ai-ui-message-stream":"v1","x-accel-buffering":"no"};function Hf6({status:Q,statusText:X,headers:Y,stream:J,consumeSseStream:G}){let W=J.pipeThrough(new G71);if(G){let[Z,$]=W.tee();W=Z,G({stream:$})}return new Response(W.pipeThrough(new TextEncoderStream),{status:Q,statusText:X,headers:ty(Y,W71)})}function Ff6({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 Zd4=dQ(()=>JQ(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 Vf6(Q){return Q.type.startsWith("data-")}function n80(Q){return Q.type.startsWith("data-")}function i80(Q){return Q.type==="text"}function a80(Q){return Q.type==="file"}function ZW1(Q){return Q.type==="reasoning"}function XQ0(Q){return Q.type.startsWith("tool-")}function Z71(Q){return Q.type==="dynamic-tool"}function IP(Q){return XQ0(Q)||Z71(Q)}function YQ0(Q){return Q.type.split("-").slice(1).join("-")}function r80(Q){return Z71(Q)?Q.toolName:YQ0(Q)}function qf6({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 zf6({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,z,B;function D(A){let T=H.message.parts.filter(IP).find((j)=>j.toolCallId===A);if(T==null)throw Error(`no tool invocation found for tool call ${A}`);return T}function L(A){var E;let T=H.message.parts.find((v)=>XQ0(v)&&v.toolCallId===A.toolCallId),j=A,R=T;if(T!=null){if(T.state=A.state,R.input=j.input,R.output=j.output,R.errorText=j.errorText,R.rawInput=j.rawInput,R.preliminary=j.preliminary,A.title!==void 0)R.title=A.title;if(R.providerExecuted=(E=j.providerExecuted)!=null?E:T.providerExecuted,j.providerMetadata!=null&&T.state==="input-available")T.callProviderMetadata=j.providerMetadata}else H.message.parts.push({type:`tool-${A.toolName}`,toolCallId:A.toolCallId,state:A.state,title:A.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(A){var E,T;let j=H.message.parts.find((y)=>y.type==="dynamic-tool"&&y.toolCallId===A.toolCallId),R=A,v=j;if(j!=null){if(j.state=A.state,v.toolName=A.toolName,v.input=R.input,v.output=R.output,v.errorText=R.errorText,v.rawInput=(E=R.rawInput)!=null?E:v.rawInput,v.preliminary=R.preliminary,A.title!==void 0)v.title=A.title;if(v.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:A.toolName,toolCallId:A.toolCallId,state:A.state,input:R.input,output:R.output,errorText:R.errorText,preliminary:R.preliminary,providerExecuted:R.providerExecuted,title:A.title,...R.providerMetadata!=null?{callProviderMetadata:R.providerMetadata}:{}})}async function C(A){if(A!=null){let E=H.message.metadata!=null?GQ0(H.message.metadata,A):A;if(X!=null)await PP({value:E,schema:X});H.message.metadata=E}}switch($.type){case"text-start":{let A={type:"text",text:"",providerMetadata:$.providerMetadata,state:"streaming"};H.activeTextParts[$.id]=A,H.message.parts.push(A),F();break}case"text-delta":{let A=H.activeTextParts[$.id];A.text+=$.delta,A.providerMetadata=(V=$.providerMetadata)!=null?V:A.providerMetadata,F();break}case"text-end":{let A=H.activeTextParts[$.id];A.state="done",A.providerMetadata=(q=$.providerMetadata)!=null?q:A.providerMetadata,delete H.activeTextParts[$.id],F();break}case"reasoning-start":{let A={type:"reasoning",text:"",providerMetadata:$.providerMetadata,state:"streaming"};H.activeReasoningParts[$.id]=A,H.message.parts.push(A),F();break}case"reasoning-delta":{let A=H.activeReasoningParts[$.id];A.text+=$.delta,A.providerMetadata=(z=$.providerMetadata)!=null?z:A.providerMetadata,F();break}case"reasoning-end":{let A=H.activeReasoningParts[$.id];A.providerMetadata=(B=$.providerMetadata)!=null?B:A.providerMetadata,A.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 A=H.message.parts.filter(XQ0);if(H.partialToolCalls[$.toolCallId]={text:"",toolName:$.toolName,index:A.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 A=H.partialToolCalls[$.toolCallId];A.text+=$.inputTextDelta;let{value:E}=await SP(A.text);if(A.dynamic)M({toolCallId:$.toolCallId,toolName:A.toolName,state:"input-streaming",input:E,title:A.title});else L({toolCallId:$.toolCallId,toolName:A.toolName,state:"input-streaming",input:E,title:A.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 A=D($.toolCallId);A.state="approval-requested",A.approval={id:$.approvalId},F();break}case"tool-output-denied":{let A=D($.toolCallId);A.state="output-denied",F();break}case"tool-output-available":{let A=D($.toolCallId);if(A.type==="dynamic-tool")M({toolCallId:$.toolCallId,toolName:A.toolName,state:"output-available",input:A.input,output:$.output,preliminary:$.preliminary,providerExecuted:$.providerExecuted,title:A.title});else L({toolCallId:$.toolCallId,toolName:YQ0(A),state:"output-available",input:A.input,output:$.output,providerExecuted:$.providerExecuted,preliminary:$.preliminary,title:A.title});F();break}case"tool-output-error":{let A=D($.toolCallId);if(A.type==="dynamic-tool")M({toolCallId:$.toolCallId,toolName:A.toolName,state:"output-error",input:A.input,errorText:$.errorText,providerExecuted:$.providerExecuted,title:A.title});else L({toolCallId:$.toolCallId,toolName:YQ0(A),state:"output-error",input:A.input,rawInput:A.rawInput,errorText:$.errorText,providerExecuted:$.providerExecuted,title:A.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(Vf6($)){if((Y==null?void 0:Y[$.type])!=null)await PP({value:$.data,schema:Y[$.type]});let A=$;if(A.transient){Z==null||Z(A);break}let E=A.id!=null?H.message.parts.find((T)=>A.type===T.type&&A.id===T.id):void 0;if(E!=null)E.data=A.data;else H.message.parts.push(A);Z==null||Z(A),F()}}K.enqueue($)})}}))}function Uf6({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,z){if(q.type==="start"){let B=q;if(B.messageId==null&&Q!=null)B.messageId=Q}if(q.type==="abort")Z=!0;z.enqueue(q)}}));if(Y==null)return $;let K=qf6({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 zf6({stream:$,runUpdateMessageJob:H,onError:J}).pipeThrough(new TransformStream({transform(q,z){z.enqueue(q)},async cancel(){await V()},async flush(){await V()}}))}function Bf6({response:Q,status:X,statusText:Y,headers:J,stream:G,consumeSseStream:W}){let Z=G.pipeThrough(new G71);if(W){let[$,K]=Z.tee();Z=$,W({stream:K})}J71({response:Q,status:X,statusText:Y,headers:Object.fromEntries(ty(J,W71).entries()),stream:Z.pipeThrough(new TextEncoderStream)})}function CP(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 Df6({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 $W1(){let Q,X;return{promise:new Promise((J,G)=>{Q=J,X=G}),resolve:Q,reject:X}}function Nf6(){let Q=[],X=null,Y=!1,J=$W1(),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=$W1(),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 Of6(){var Q,X;return(X=(Q=globalThis==null?void 0:globalThis.performance)==null?void 0:Q.now())!=null?X:Date.now()}function Lf6({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(A){F=A}}),q=new Set,z=new Map,B=new Map,D=!1,L=void 0;function M(){if(D&&q.size===0){if(L!=null)F.enqueue(L);F.close()}}let C=new TransformStream({async transform(A,E){let T=A.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":{E.enqueue(A);break}case"file":{E.enqueue({type:"file",file:new rb6({data:A.data,mediaType:A.mediaType})});break}case"finish":{L={type:"finish",finishReason:A.finishReason.unified,rawFinishReason:A.finishReason.raw,usage:lb6(A.usage),providerMetadata:A.providerMetadata};break}case"tool-approval-request":{let j=B.get(A.toolCallId);if(j==null){F.enqueue({type:"error",error:new wW1({toolCallId:A.toolCallId,approvalId:A.approvalId})});break}E.enqueue({type:"tool-approval-request",approvalId:A.approvalId,toolCall:j});break}case"tool-call":{try{let j=await Jf6({toolCall:A,tools:Q,repairToolCall:$,system:G,messages:W});if(B.set(j.toolCallId,j),E.enqueue(j),j.invalid){F.enqueue({type:"tool-error",toolCallId:j.toolCallId,toolName:j.toolName,input:j.input,error:wP(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 ob6({tool:R,toolCall:j,messages:W,experimental_context:K})){F.enqueue({type:"tool-approval-request",approvalId:H(),toolCall:j});break}if(z.set(j.toolCallId,j.input),R.execute!=null&&j.providerExecuted!==!0){let v=H();q.add(v),X71({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(v),M()})}}catch(j){F.enqueue({type:"error",error:j})}break}case"tool-result":{let j=A.toolName;if(A.isError)F.enqueue({type:"tool-error",toolCallId:A.toolCallId,toolName:j,input:z.get(A.toolCallId),providerExecuted:!0,error:A.result,dynamic:A.dynamic});else E.enqueue({type:"tool-result",toolCallId:A.toolCallId,toolName:j,input:z.get(A.toolCallId),output:A.result,providerExecuted:!0,dynamic:A.dynamic});break}default:throw Error(`Unhandled chunk type: ${T}`)}},flush(){D=!0,M()}});return new ReadableStream({async start(A){return Promise.all([X.pipeThrough(C).pipeTo(new WritableStream({write(E){A.enqueue(E)},close(){}})),V.pipeTo(new WritableStream({write(E){A.enqueue(E)},close(){A.close()}}))])}})}var wf6=WW({prefix:"aitxt",size:24});function $71({model:Q,tools:X,toolChoice:Y,system:J,prompt:G,messages:W,maxRetries:Z,abortSignal:$,timeout:K,headers:H,stopWhen:F=WQ0(1),experimental_output:V,output:q=V,experimental_telemetry:z,prepareStep:B,providerOptions:D,experimental_activeTools:L,activeTools:M=L,experimental_repairToolCall:C,experimental_transform:A,experimental_download:E,includeRawChunks:T=!1,onChunk:j,onError:R=({error:m})=>{console.error(m)},onFinish:v,onAbort:y,onStepFinish:b,experimental_context:h,_internal:{now:a=Of6,generateId:f=wf6}={},...S}){let m=nW1(K),Q0=Zb6(K),r=$b6(K),Y0=Q0!=null?new AbortController:void 0,F0=r!=null?new AbortController:void 0;return new Pf6({model:cW1(Q),telemetry:z,headers:H,settings:S,maxRetries:Z,abortSignal:Zf6($,m!=null?AbortSignal.timeout(m):void 0,Y0==null?void 0:Y0.signal,F0==null?void 0:F0.signal),stepTimeoutMs:Q0,stepAbortController:Y0,chunkTimeoutMs:r,chunkAbortController:F0,system:J,prompt:G,messages:W,tools:X,toolChoice:Y,transforms:sy(A),activeTools:M,repairToolCall:C,stopConditions:sy(F),output:q,providerOptions:D,prepareStep:B,includeRawChunks:T,onChunk:j,onError:R,onFinish:v,onAbort:y,onStepFinish:b,now:a,generateId:f,experimental_context:h,download:E})}function Mf6(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 Pf6=class{constructor({model:Q,telemetry:X,headers:Y,settings:J,maxRetries:G,abortSignal:W,stepTimeoutMs:Z,stepAbortController:$,chunkTimeoutMs:K,chunkAbortController:H,system:F,prompt:V,messages:q,tools:z,toolChoice:B,transforms:D,activeTools:L,repairToolCall:M,stopConditions:C,output:A,providerOptions:E,prepareStep:T,includeRawChunks:j,now:R,generateId:v,onChunk:y,onError:b,onFinish:h,onAbort:a,onStepFinish:f,experimental_context:S,download:m}){this._totalUsage=new WF,this._finishReason=new WF,this._rawFinishReason=new WF,this._steps=new WF,this.outputSpecification=A,this.includeRawChunks=j,this.tools=z;let Q0,r=[],Y0=[],F0=void 0,Z0=void 0,B0=void 0,T0={},b0=[],Y1=[],D0=new Map,G0,R0={},_1={},h1=new TransformStream({async transform(I1,b1){var s1,E1,X1,C0;b1.enqueue(I1);let{part:P0}=I1;if(P0.type==="text-delta"||P0.type==="reasoning-delta"||P0.type==="source"||P0.type==="tool-call"||P0.type==="tool-result"||P0.type==="tool-input-start"||P0.type==="tool-input-delta"||P0.type==="raw")await(y==null?void 0:y({chunk:P0}));if(P0.type==="error")await b({error:fb6(P0.error)});if(P0.type==="text-start")R0[P0.id]={type:"text",text:"",providerMetadata:P0.providerMetadata},r.push(R0[P0.id]);if(P0.type==="text-delta"){let a1=R0[P0.id];if(a1==null){b1.enqueue({part:{type:"error",error:`text part ${P0.id} not found`},partialOutput:void 0});return}a1.text+=P0.text,a1.providerMetadata=(s1=P0.providerMetadata)!=null?s1:a1.providerMetadata}if(P0.type==="text-end"){let a1=R0[P0.id];if(a1==null){b1.enqueue({part:{type:"error",error:`text part ${P0.id} not found`},partialOutput:void 0});return}a1.providerMetadata=(E1=P0.providerMetadata)!=null?E1:a1.providerMetadata,delete R0[P0.id]}if(P0.type==="reasoning-start")_1[P0.id]={type:"reasoning",text:"",providerMetadata:P0.providerMetadata},r.push(_1[P0.id]);if(P0.type==="reasoning-delta"){let a1=_1[P0.id];if(a1==null){b1.enqueue({part:{type:"error",error:`reasoning part ${P0.id} not found`},partialOutput:void 0});return}a1.text+=P0.text,a1.providerMetadata=(X1=P0.providerMetadata)!=null?X1:a1.providerMetadata}if(P0.type==="reasoning-end"){let a1=_1[P0.id];if(a1==null){b1.enqueue({part:{type:"error",error:`reasoning part ${P0.id} not found`},partialOutput:void 0});return}a1.providerMetadata=(C0=P0.providerMetadata)!=null?C0:a1.providerMetadata,delete _1[P0.id]}if(P0.type==="file")r.push({type:"file",file:P0.file});if(P0.type==="source")r.push(P0);if(P0.type==="tool-call")r.push(P0);if(P0.type==="tool-result"&&!P0.preliminary)r.push(P0);if(P0.type==="tool-approval-request")r.push(P0);if(P0.type==="tool-error")r.push(P0);if(P0.type==="start-step")r=[],_1={},R0={},T0=P0.request,b0=P0.warnings;if(P0.type==="finish-step"){let a1=await WW1({content:r,tools:z}),M4=new Gf6({content:r,finishReason:P0.finishReason,rawFinishReason:P0.rawFinishReason,usage:P0.usage,warnings:b0,request:T0,response:{...P0.response,messages:[...Y0,...a1]},providerMetadata:P0.providerMetadata});await(f==null?void 0:f(M4)),lW1({warnings:b0,provider:Q.provider,model:Q.modelId}),Y1.push(M4),Y0.push(...a1),Q0.resolve()}if(P0.type==="finish")B0=P0.totalUsage,F0=P0.finishReason,Z0=P0.rawFinishReason},async flush(I1){try{if(Y1.length===0){let X1=(W==null?void 0:W.aborted)?W.reason:new uy6({message:"No output generated. Check the stream for errors."});v0._finishReason.reject(X1),v0._rawFinishReason.reject(X1),v0._totalUsage.reject(X1),v0._steps.reject(X1);return}let b1=F0!=null?F0:"other",s1=B0!=null?B0:c80();v0._finishReason.resolve(b1),v0._rawFinishReason.resolve(Z0),v0._totalUsage.resolve(s1),v0._steps.resolve(Y1);let E1=Y1[Y1.length-1];await(h==null?void 0:h({finishReason:E1.finishReason,rawFinishReason:E1.rawFinishReason,totalUsage:s1,usage:E1.usage,content:E1.content,text:E1.text,reasoningText:E1.reasoningText,reasoning:E1.reasoning,files:E1.files,sources:E1.sources,toolCalls:E1.toolCalls,staticToolCalls:E1.staticToolCalls,dynamicToolCalls:E1.dynamicToolCalls,toolResults:E1.toolResults,staticToolResults:E1.staticToolResults,dynamicToolResults:E1.dynamicToolResults,request:E1.request,response:E1.response,warnings:E1.warnings,providerMetadata:E1.providerMetadata,steps:Y1,experimental_context:S})),G0.setAttributes(await mU({telemetry:X,attributes:{"ai.response.finishReason":b1,"ai.response.text":{output:()=>E1.text},"ai.response.toolCalls":{output:()=>{var X1;return((X1=E1.toolCalls)==null?void 0:X1.length)?JSON.stringify(E1.toolCalls):void 0}},"ai.response.providerMetadata":JSON.stringify(E1.providerMetadata),"ai.usage.inputTokens":s1.inputTokens,"ai.usage.outputTokens":s1.outputTokens,"ai.usage.totalTokens":s1.totalTokens,"ai.usage.reasoningTokens":s1.reasoningTokens,"ai.usage.cachedInputTokens":s1.cachedInputTokens}}))}catch(b1){I1.error(b1)}finally{G0.end()}}}),y0=Nf6();this.addStream=y0.addStream,this.closeStream=y0.close;let w0=y0.stream.getReader(),$0=new ReadableStream({async start(I1){I1.enqueue({type:"start"})},async pull(I1){function b1(){a==null||a({steps:Y1}),I1.enqueue({type:"abort",...(W==null?void 0:W.reason)!==void 0?{reason:_5(W.reason)}:{}}),I1.close()}try{let{done:s1,value:E1}=await w0.read();if(s1){I1.close();return}if(W==null?void 0:W.aborted){b1();return}I1.enqueue(E1)}catch(s1){if(u7(s1)&&(W==null?void 0:W.aborted))b1();else I1.error(s1)}},cancel(I1){return y0.stream.cancel(I1)}});for(let I1 of D)$0=$0.pipeThrough(I1({tools:z,stopStream(){y0.terminate()}}));this.baseStream=$0.pipeThrough(Mf6(A!=null?A:QQ0())).pipeThrough(h1);let{maxRetries:j0,retry:H0}=nb6({maxRetries:G,abortSignal:W}),O0=ub6(X),t0=Mb6(J),k0=hb6({model:Q,telemetry:X,headers:Y,settings:{...t0,maxRetries:j0}}),v0=this;e80({name:"ai.streamText",attributes:mU({telemetry:X,attributes:{...s80({operationId:"ai.streamText",telemetry:X}),...k0,"ai.prompt":{input:()=>JSON.stringify({system:F,prompt:V,messages:q})}}}),tracer:O0,endWhenDone:!1,fn:async(I1)=>{G0=I1;let b1=await bb6({system:F,prompt:V,messages:q}),s1=b1.messages,E1=[],{approvedToolApprovals:X1,deniedToolApprovals:C0}=ib6({messages:s1});if(C0.length>0||X1.length>0){let a1=[...X1,...C0].filter((O)=>O.toolCall.providerExecuted),M4=X1.filter((O)=>!O.toolCall.providerExecuted),_8=C0.filter((O)=>!O.toolCall.providerExecuted),g1=C0.filter((O)=>O.toolCall.providerExecuted),I0,GY=new ReadableStream({start(O){I0=O}});v0.addStream(GY);try{for(let _ of[..._8,...g1])I0==null||I0.enqueue({type:"tool-output-denied",toolCallId:_.toolCall.toolCallId,toolName:_.toolCall.toolName});let O=[];if(await Promise.all(M4.map(async(_)=>{let s=await X71({toolCall:_.toolCall,tools:z,tracer:O0,telemetry:X,messages:s1,abortSignal:W,experimental_context:S,onPreliminaryToolResult:(J0)=>{I0==null||I0.enqueue(J0)}});if(s!=null)I0==null||I0.enqueue(s),O.push(s)})),a1.length>0)E1.push({role:"tool",content:a1.map((_)=>({type:"tool-approval-response",approvalId:_.approvalResponse.approvalId,approved:_.approvalResponse.approved,reason:_.approvalResponse.reason,providerExecuted:!0}))});if(O.length>0||_8.length>0){let _=[];for(let s of O)_.push({type:"tool-result",toolCallId:s.toolCallId,toolName:s.toolName,output:await lU({toolCallId:s.toolCallId,input:s.input,tool:z==null?void 0:z[s.toolName],output:s.type==="tool-result"?s.output:s.error,errorMode:s.type==="tool-error"?"json":"none"})});for(let s of _8)_.push({type:"tool-result",toolCallId:s.toolCall.toolCallId,toolName:s.toolCall.toolName,output:{type:"execution-denied",reason:s.approvalResponse.reason}});E1.push({role:"tool",content:_})}}finally{I0==null||I0.close()}}Y0.push(...E1);async function P0({currentStep:a1,responseMessages:M4,usage:_8}){var g1,I0,GY,O,_,s;let J0=v0.includeRawChunks,U=Z!=null?setTimeout(()=>$.abort(),Z):void 0,w=void 0;function k(){if(K!=null){if(w!=null)clearTimeout(w);w=setTimeout(()=>H.abort(),K)}}function c(){if(w!=null)clearTimeout(w),w=void 0}function t(){if(U!=null)clearTimeout(U)}Q0=new WF;let u=[...s1,...M4],N0=await(T==null?void 0:T({model:Q,steps:Y1,stepNumber:Y1.length,messages:u,experimental_context:S})),r0=cW1((g1=N0==null?void 0:N0.model)!=null?g1:Q),w1=await Nb6({prompt:{system:(I0=N0==null?void 0:N0.system)!=null?I0:b1.system,messages:(GY=N0==null?void 0:N0.messages)!=null?GY:u},supportedUrls:await r0.supportedUrls,download:m}),{toolChoice:_0,tools:z1}=await Tb6({tools:z,toolChoice:(O=N0==null?void 0:N0.toolChoice)!=null?O:B,activeTools:(_=N0==null?void 0:N0.activeTools)!=null?_:L});S=(s=N0==null?void 0:N0.experimental_context)!=null?s:S;let H4=GQ0(E,N0==null?void 0:N0.providerOptions),{result:{stream:DQ,response:u6,request:WY},doStreamSpan:x5,startTimestampMs:YK}=await H0(()=>e80({name:"ai.streamText.doStream",attributes:mU({telemetry:X,attributes:{...s80({operationId:"ai.streamText.doStream",telemetry:X}),...k0,"ai.model.provider":r0.provider,"ai.model.id":r0.modelId,"ai.prompt.messages":{input:()=>mb6(w1)},"ai.prompt.tools":{input:()=>z1==null?void 0:z1.map((p1)=>JSON.stringify(p1))},"ai.prompt.toolChoice":{input:()=>_0!=null?JSON.stringify(_0):void 0},"gen_ai.system":r0.provider,"gen_ai.request.model":r0.modelId,"gen_ai.request.frequency_penalty":t0.frequencyPenalty,"gen_ai.request.max_tokens":t0.maxOutputTokens,"gen_ai.request.presence_penalty":t0.presencePenalty,"gen_ai.request.stop_sequences":t0.stopSequences,"gen_ai.request.temperature":t0.temperature,"gen_ai.request.top_k":t0.topK,"gen_ai.request.top_p":t0.topP}}),tracer:O0,endWhenDone:!1,fn:async(p1)=>({startTimestampMs:R(),doStreamSpan:p1,result:await r0.doStream({...t0,tools:z1,toolChoice:_0,responseFormat:await(A==null?void 0:A.responseFormat),prompt:w1,providerOptions:H4,abortSignal:W,headers:Y,includeRawChunks:J0})})})),Q1=Lf6({tools:z,generatorStream:DQ,tracer:O0,telemetry:X,system:F,messages:u,repairToolCall:M,abortSignal:W,experimental_context:S,generateId:v}),M6=WY!=null?WY:{},j8=[],O9=[],e0,P6={},y8="other",xY=void 0,ZY=c80(),Xb,ZQ0=!0,g5={id:v(),timestamp:new Date,modelId:Q.modelId},$Q0="";v0.addStream(Q1.pipeThrough(new TransformStream({async transform(p1,pQ){var dU,pU,vP,NQ,FF;if(k(),p1.type==="stream-start"){e0=p1.warnings;return}if(ZQ0){let GQ=R()-YK;ZQ0=!1,x5.addEvent("ai.stream.firstChunk",{"ai.response.msToFirstChunk":GQ}),x5.setAttributes({"ai.response.msToFirstChunk":GQ}),pQ.enqueue({type:"start-step",request:M6,warnings:e0!=null?e0:[]})}let Yb=p1.type;switch(Yb){case"tool-approval-request":case"text-start":case"text-end":{pQ.enqueue(p1);break}case"text-delta":{if(p1.delta.length>0)pQ.enqueue({type:"text-delta",id:p1.id,text:p1.delta,providerMetadata:p1.providerMetadata}),$Q0+=p1.delta;break}case"reasoning-start":case"reasoning-end":{pQ.enqueue(p1);break}case"reasoning-delta":{pQ.enqueue({type:"reasoning-delta",id:p1.id,text:p1.delta,providerMetadata:p1.providerMetadata});break}case"tool-call":{pQ.enqueue(p1),j8.push(p1);break}case"tool-result":{if(pQ.enqueue(p1),!p1.preliminary)O9.push(p1);break}case"tool-error":{pQ.enqueue(p1),O9.push(p1);break}case"response-metadata":{g5={id:(dU=p1.id)!=null?dU:g5.id,timestamp:(pU=p1.timestamp)!=null?pU:g5.timestamp,modelId:(vP=p1.modelId)!=null?vP:g5.modelId};break}case"finish":{ZY=p1.usage,y8=p1.finishReason,xY=p1.rawFinishReason,Xb=p1.providerMetadata;let GQ=R()-YK;x5.addEvent("ai.stream.finish"),x5.setAttributes({"ai.response.msToFinish":GQ,"ai.response.avgOutputTokensPerSecond":1000*((NQ=ZY.outputTokens)!=null?NQ:0)/GQ});break}case"file":{pQ.enqueue(p1);break}case"source":{pQ.enqueue(p1);break}case"tool-input-start":{P6[p1.id]=p1.toolName;let GQ=z==null?void 0:z[p1.toolName];if((GQ==null?void 0:GQ.onInputStart)!=null)await GQ.onInputStart({toolCallId:p1.id,messages:u,abortSignal:W,experimental_context:S});pQ.enqueue({...p1,dynamic:(FF=p1.dynamic)!=null?FF:(GQ==null?void 0:GQ.type)==="dynamic",title:GQ==null?void 0:GQ.title});break}case"tool-input-end":{delete P6[p1.id],pQ.enqueue(p1);break}case"tool-input-delta":{let GQ=P6[p1.id],Jb=z==null?void 0:z[GQ];if((Jb==null?void 0:Jb.onInputDelta)!=null)await Jb.onInputDelta({inputTextDelta:p1.delta,toolCallId:p1.id,messages:u,abortSignal:W,experimental_context:S});pQ.enqueue(p1);break}case"error":{pQ.enqueue(p1),y8="error";break}case"raw":{if(J0)pQ.enqueue(p1);break}default:throw Error(`Unknown chunk type: ${Yb}`)}},async flush(p1){let pQ=j8.length>0?JSON.stringify(j8):void 0;try{x5.setAttributes(await mU({telemetry:X,attributes:{"ai.response.finishReason":y8,"ai.response.text":{output:()=>$Q0},"ai.response.toolCalls":{output:()=>pQ},"ai.response.id":g5.id,"ai.response.model":g5.modelId,"ai.response.timestamp":g5.timestamp.toISOString(),"ai.response.providerMetadata":JSON.stringify(Xb),"ai.usage.inputTokens":ZY.inputTokens,"ai.usage.outputTokens":ZY.outputTokens,"ai.usage.totalTokens":ZY.totalTokens,"ai.usage.reasoningTokens":ZY.reasoningTokens,"ai.usage.cachedInputTokens":ZY.cachedInputTokens,"gen_ai.response.finish_reasons":[y8],"gen_ai.response.id":g5.id,"gen_ai.response.model":g5.modelId,"gen_ai.usage.input_tokens":ZY.inputTokens,"gen_ai.usage.output_tokens":ZY.outputTokens}}))}catch(NQ){}finally{x5.end()}p1.enqueue({type:"finish-step",finishReason:y8,rawFinishReason:xY,usage:ZY,providerMetadata:Xb,response:{...g5,headers:u6==null?void 0:u6.headers}});let dU=db6(_8,ZY);await Q0.promise;let pU=j8.filter((NQ)=>NQ.providerExecuted!==!0),vP=O9.filter((NQ)=>NQ.providerExecuted!==!0);for(let NQ of j8){if(NQ.providerExecuted!==!0)continue;let FF=z==null?void 0:z[NQ.toolName];if((FF==null?void 0:FF.type)==="provider"&&FF.supportsDeferredResults){if(!O9.some((GQ)=>GQ.type==="tool-result"&&GQ.toolCallId===NQ.toolCallId))D0.set(NQ.toolCallId,{toolName:NQ.toolName})}}for(let NQ of O9)if(NQ.type==="tool-result")D0.delete(NQ.toolCallId);if(t(),c(),(pU.length>0&&vP.length===pU.length||D0.size>0)&&!await Wf6({stopConditions:C,steps:Y1})){M4.push(...await WW1({content:Y1[Y1.length-1].content,tools:z}));try{await P0({currentStep:a1+1,responseMessages:M4,usage:dU})}catch(NQ){p1.enqueue({type:"error",error:NQ}),v0.closeStream()}}else p1.enqueue({type:"finish",finishReason:y8,rawFinishReason:xY,totalUsage:dU}),v0.closeStream()}})))}await P0({currentStep:0,responseMessages:E1,usage:c80()})}}).catch((I1)=>{v0.addStream(new ReadableStream({start(b1){b1.enqueue({type:"error",error:I1}),b1.close()}})),v0.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 CP(this.teeStream().pipeThrough(new TransformStream({transform({part:Q},X){if(Q.type==="text-delta")X.enqueue(Q.text)}})))}get fullStream(){return CP(this.teeStream().pipeThrough(new TransformStream({transform({part:Q},X){X.enqueue(Q)}})))}async consumeStream(Q){var X;try{await Df6({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 CP(this.teeStream().pipeThrough(new TransformStream({transform({partialOutput:Q},X){if(Q!=null)X.enqueue(Q)}})))}get elementStream(){var Q,X,Y;let J=(Q=this.outputSpecification)==null?void 0:Q.createElementStreamTransform();if(J==null)throw new U51({functionality:`element streams in ${(Y=(X=this.outputSpecification)==null?void 0:X.name)!=null?Y:"text"} mode`});return CP(this.teeStream().pipeThrough(J))}get output(){return this.finalStep.then((Q)=>{var X;return((X=this.outputSpecification)!=null?X:QQ0()).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=_5}={}){let H=X!=null?Ff6({originalMessages:Q,responseMessageId:X}):void 0,F=(q)=>{var z;let B=(z=this.tools)==null?void 0:z[q.toolName];if(B==null)return q.dynamic;return(B==null?void 0:B.type)==="dynamic"?!0:void 0},V=this.fullStream.pipeThrough(new TransformStream({transform:async(q,z)=>{let B=J==null?void 0:J({part:q}),D=q.type;switch(D){case"text-start":{z.enqueue({type:"text-start",id:q.id,...q.providerMetadata!=null?{providerMetadata:q.providerMetadata}:{}});break}case"text-delta":{z.enqueue({type:"text-delta",id:q.id,delta:q.text,...q.providerMetadata!=null?{providerMetadata:q.providerMetadata}:{}});break}case"text-end":{z.enqueue({type:"text-end",id:q.id,...q.providerMetadata!=null?{providerMetadata:q.providerMetadata}:{}});break}case"reasoning-start":{z.enqueue({type:"reasoning-start",id:q.id,...q.providerMetadata!=null?{providerMetadata:q.providerMetadata}:{}});break}case"reasoning-delta":{if(G)z.enqueue({type:"reasoning-delta",id:q.id,delta:q.text,...q.providerMetadata!=null?{providerMetadata:q.providerMetadata}:{}});break}case"reasoning-end":{z.enqueue({type:"reasoning-end",id:q.id,...q.providerMetadata!=null?{providerMetadata:q.providerMetadata}:{}});break}case"file":{z.enqueue({type:"file",mediaType:q.file.mediaType,url:`data:${q.file.mediaType};base64,${q.file.base64}`});break}case"source":{if(W&&q.sourceType==="url")z.enqueue({type:"source-url",sourceId:q.id,url:q.url,title:q.title,...q.providerMetadata!=null?{providerMetadata:q.providerMetadata}:{}});if(W&&q.sourceType==="document")z.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);z.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":{z.enqueue({type:"tool-input-delta",toolCallId:q.id,inputTextDelta:q.delta});break}case"tool-call":{let L=F(q);if(q.invalid)z.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 z.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":{z.enqueue({type:"tool-approval-request",approvalId:q.approvalId,toolCallId:q.toolCall.toolCallId});break}case"tool-result":{let L=F(q);z.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);z.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":{z.enqueue({type:"tool-output-denied",toolCallId:q.toolCallId});break}case"error":{z.enqueue({type:"error",errorText:K(q.error)});break}case"start-step":{z.enqueue({type:"start-step"});break}case"finish-step":{z.enqueue({type:"finish-step"});break}case"start":{if(Z)z.enqueue({type:"start",...B!=null?{messageMetadata:B}:{},...H!=null?{messageId:H}:{}});break}case"finish":{if($)z.enqueue({type:"finish",finishReason:q.finishReason,...B!=null?{messageMetadata:B}:{}});break}case"abort":{z.enqueue(q);break}case"tool-input-end":break;case"raw":break;default:throw Error(`Unknown chunk type: ${D}`)}if(B!=null&&D!=="start"&&D!=="finish")z.enqueue({type:"message-metadata",messageMetadata:B})}}));return CP(Uf6({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}={}){Bf6({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){Kf6({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 Hf6({stream:this.toUIMessageStream({originalMessages:Q,generateMessageId:X,onFinish:Y,messageMetadata:J,sendReasoning:G,sendSources:W,sendFinish:Z,sendStart:$,onError:K}),...H})}toTextStreamResponse(Q){return $f6({textStream:this.textStream,...Q})}};async function K71(Q,X){let Y=[];if(X==null?void 0:X.ignoreIncompleteToolCalls)Q=Q.map((J)=>({...J,parts:J.parts.filter((G)=>!IP(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(i80(G))return{type:"text",text:G.text,...G.providerMetadata!=null?{providerOptions:G.providerMetadata}:{}};if(a80(G))return{type:"file",mediaType:G.mediaType,filename:G.filename,data:G.url,...G.providerMetadata!=null?{providerOptions:G.providerMetadata}:{}};if(n80(G))return(W=X==null?void 0:X.convertDataPart)==null?void 0:W.call(X,G)}).filter(j51)});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 B of G)if(i80(B))q.push({type:"text",text:B.text,...B.providerMetadata!=null?{providerOptions:B.providerMetadata}:{}});else if(a80(B))q.push({type:"file",mediaType:B.mediaType,filename:B.filename,data:B.url});else if(ZW1(B))q.push({type:"reasoning",text:B.text,providerOptions:B.providerMetadata});else if(IP(B)){let D=r80(B);if(B.state!=="input-streaming"){if(q.push({type:"tool-call",toolCallId:B.toolCallId,toolName:D,input:B.state==="output-error"?(Z=B.input)!=null?Z:("rawInput"in B)?B.rawInput:void 0:B.input,providerExecuted:B.providerExecuted,...B.callProviderMetadata!=null?{providerOptions:B.callProviderMetadata}:{}}),B.approval!=null)q.push({type:"tool-approval-request",approvalId:B.approval.id,toolCallId:B.toolCallId});if(B.providerExecuted===!0&&B.state!=="approval-responded"&&(B.state==="output-available"||B.state==="output-error"))q.push({type:"tool-result",toolCallId:B.toolCallId,toolName:D,output:await lU({toolCallId:B.toolCallId,input:B.input,output:B.state==="output-error"?B.errorText:B.output,tool:($=X==null?void 0:X.tools)==null?void 0:$[D],errorMode:B.state==="output-error"?"json":"none"}),...B.callProviderMetadata!=null?{providerOptions:B.callProviderMetadata}:{}})}}else if(n80(B)){let D=(K=X==null?void 0:X.convertDataPart)==null?void 0:K.call(X,B);if(D!=null)q.push(D)}else throw Error(`Unsupported part: ${B}`);Y.push({role:"assistant",content:q});let z=G.filter((B)=>{var D;return IP(B)&&(B.providerExecuted!==!0||((D=B.approval)==null?void 0:D.approved)!=null)});if(z.length>0){let B=[];for(let D of z){if(((H=D.approval)==null?void 0:H.approved)!=null)B.push({type:"tool-approval-response",approvalId:D.approval.id,approved:D.approval.approved,reason:D.approval.reason,providerExecuted:D.providerExecuted});if(D.providerExecuted===!0)continue;switch(D.state){case"output-denied":{B.push({type:"tool-result",toolCallId:D.toolCallId,toolName:r80(D),output:{type:"error-text",value:(F=D.approval.reason)!=null?F:"Tool execution denied."},...D.callProviderMetadata!=null?{providerOptions:D.callProviderMetadata}:{}});break}case"output-error":case"output-available":{let L=r80(D);B.push({type:"tool-result",toolCallId:D.toolCallId,toolName:L,output:await lU({toolCallId:D.toolCallId,input:D.input,output:D.state==="output-error"?D.errorText:D.output,tool:(V=X==null?void 0:X.tools)==null?void 0:V[L],errorMode:D.state==="output-error"?"text":"none"}),...D.callProviderMetadata!=null?{providerOptions:D.callProviderMetadata}:{}});break}}}if(B.length>0)Y.push({role:"tool",content:B})}G=[]}for(let Z of J.parts)if(i80(Z)||ZW1(Z)||a80(Z)||IP(Z)||n80(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 Vd4=dQ(()=>JQ(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 zd4=WW({prefix:"aiobj",size:24});var Bd4=WW({prefix:"aiobj",size:24});function H71({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 Tf6="AI_NoSuchProviderError",Af6=`vercel.ai.error.${Tf6}`,Ef6=Symbol.for(Af6),jf6;jf6=Ef6;G1();function F71(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 Cf6(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=F71(W);if(Z)J.enqueue(Z)}},flush(Y){if(X.trim()){let J=F71(X);if(J)Y.enqueue(J)}}}))}var If6=(Q)=>{return Object.fromEntries(Object.entries(Q).map(([X,Y])=>[X,Y.map((J)=>new RegExp(J))]))},V71=(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=GW(()=>Q.LLM_METADATA({modelId:X}).then((J)=>If6(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
- ${await G.text()}`);return{stream:Cf6(G),response:{headers:Object.fromEntries(G.headers?.entries()??[])}}}}}}};var Rf6=32768,Sf6=50,vf6=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()}),q71=new ZQ;function kf6(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 _f6(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 yf6=async(Q,X)=>{let J=(await Q.listTools()).tools.map((G)=>{let{name:W,title:Z,description:$,inputSchema:K,outputSchema:H}=G;return[W,dy({title:Z??W,description:$,inputSchema:e$(K),outputSchema:H?e$(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},tG,{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(`
1079
+ ${await G.text()}`);return{stream:Cf6(G),response:{headers:Object.fromEntries(G.headers?.entries()??[])}}}}}}};var Rf6=32768,Sf6=50,vf6=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()}),q71=new ZQ;function kf6(Q,X){if(!Q.organization)throw Error("Organization context is required");if((Q.organization.slug??Q.organization.id)!==X)throw Error("Organization mismatch");return Q.organization}async function _f6(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 yf6=async(Q,X)=>{let J=(await Q.listTools()).tools.map((G)=>{let{name:W,title:Z,description:$,inputSchema:K,outputSchema:H}=G;return[W,dy({title:Z??W,description:$,inputSchema:e$(K),outputSchema:H?e$(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},tG,{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 bf6(Q,X){let Y=Iy(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 _7(new URL(`/mcp/gateway/${X}`,J),{requestInit:{headers:G}})}q71.post("/:org/models/stream",async(Q)=>{let X=Q.get("meshContext"),Y=Q.req.param("org"),J=null;try{let G=kf6(X,Y),W=await Q.req.json(),Z=vf6.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=Sf6,thread_id:z}=$,B=K.limits?.maxOutputTokens??Rf6,D=bf6(Q.req.raw,H.id),L=new QY({name:"mcp-mesh-proxy",version:"1.0.0"}),[M,C]=await Promise.all([K71(F,{ignoreIncompleteToolCalls:!0}),_f6(X,G.id,K.connectionId),L.connect(D)]);if(!C)return Q.json({error:`Model connection not found: ${K.connectionId}`},404);J=L;let A=M.find((f)=>f.role==="system"),E=A?.role==="system"?A.content:void 0,T=M.filter((f)=>f.role!=="system"),j=H71({messages:T,reasoning:"before-last-message",emptyMessages:"remove",toolCalls:"none"}).slice(-q),R=z?{thread_id:z}:void 0,[v,y]=await Promise.all([X.createMCPProxy(C),yf6(L,R)]),b=S91.forClient(v),h=V71(b).languageModel(K.id);return $71({model:h,system:E,messages:j,tools:y,temperature:V,maxOutputTokens:B,abortSignal:Q.req.raw.signal,stopWhen:WQ0(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:z};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 z71=q71;var U71=new ZQ;U71.get("/",(Q)=>{let X={theme:Ir0()};return Q.json({success:!0,config:X})});var B71=U71;_3();var ey=null;async function ff6(Q,X){let J=(await Q.storage.connections.list(X)).find((G)=>G.connection_url?.startsWith(Wt0));if(!J?.configuration_state)return null;return J.configuration_state.project_locator}function hf6(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 xf6=new D71.PrometheusSerializer,gf6=()=>ot(h7),uf6=()=>rt(h7);function N71(Q={}){let X=Q.database??Nk();if(ey&&ey.isRunning())console.log("[EventBus] Stopping previous worker (HMR cleanup)"),Promise.resolve(ey.stop()).catch((Z)=>{console.error("[EventBus] Error stopping previous worker:",Z)});let Y;if(Q.eventBus)Y=Q.eventBus;else Y=NY1(X);ey=Y;let J=new ZQ;J.use("/*",ck0({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("*",pk0()),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(qP.HEALTH,(Z)=>{return Z.json({status:"ok",timestamp:new Date().toISOString(),version:"1.0.0"})}),J.get(qP.METRICS,async(Z)=>{try{let $=await Ul.collect(),K=xf6.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/config",B71),J.route("/api/auth/custom",wY1),J.all("/api/auth/*",async(Z)=>{return await h7.handler(Z.req.raw)}),J.route("/",aX1),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 o$.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 Cy(V.connection_url),z,B=new URL(V.connection_url);if(q.ok)z=(await q.json()).authorization_servers?.[0];if(!z)z=B.origin;let D=await e40(z);if(!D.ok)return Z.json({error:"Failed to get auth server metadata"},502);let L=await D.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),A=new URL(Z.req.url);if(C.search=A.search,H==="authorize"){if(C.searchParams.has("resource"))C.searchParams.set("resource",V.connection_url);if(Zt0(V.connection_url))try{let h=await ff6(F,V.organization_id),a=hf6(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 E={Accept:Z.req.header("Accept")||"application/json"},T=Z.req.header("Content-Type");if(T)E["Content-Type"]=T;let j=Z.req.header("Authorization");if(j)E.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 v=await fetch(C.toString(),{method:Z.req.method,headers:E,body:R,duplex:"half",redirect:"manual"}),y=new Headers,b=["connection","keep-alive","transfer-encoding","content-encoding","content-length"];for(let[h,a]of v.headers.entries())if(!b.includes(h.toLowerCase()))y.set(h,a);return new Response(v.body,{status:v.status,statusText:v.statusText,headers:y})}),J.get("/mcp/:gateway?/:connectionId/.well-known/oauth-protected-resource/*",async(Z)=>{let K=await gf6()(Z.req.raw),H=await K.json();return Response.json(H,K)});let G=async(Z)=>{let K=await uf6()(Z.req.raw),H=await K.json();return Response.json(H,K)};J.get("/.well-known/oauth-authorization-server/*/:gateway?/:connectionId?",G),o$.set(GY1({db:X.db,databaseType:X.type,auth:h7,encryption:{key:process.env.ENCRYPTION_KEY||""},observability:{tracer:bD,meter:Bk0},eventBus:Y})),Promise.resolve(Y.start()).then(()=>{console.log("[EventBus] Worker started")}),J.use("*",async(Z,$)=>{if($Y1(Z.req.path))return $();let K=await o$.create(Z.req.raw);return Z.set("meshContext",K),$()}),J.get("/api/tools/management",(Z)=>{return Z.json({tools:El,grouped:mD()})});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",KJ1),J.route("/mcp",FJ1),J.route("/mcp",YY1),J.route("/api",z71),J.post("/org/:organizationId/events/:type",async(Z)=>{let $=Z.req.param("organizationId");return await Z.var.meshContext.eventBus.publish($,gz.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.route("/api",MY1),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 O71=parseInt(process.env.PORT||"3000",10),Qb="\x1B[0m",mf6="\x1B[1m",lf6="\x1B[2m",df6="\x1B[32m",pf6="\x1B[36m",cf6="\x1B[4m",nf6=`http://localhost:${O71}`,if6=wk0({clientDir:Lk0(import.meta.url,"../client"),isServerPath:ZY1}),af6=N71();console.log("");console.log(`${df6}\u2713${Qb} ${mf6}Ready${Qb}`);console.log("");console.log(` ${lf6}Open in browser:${Qb} ${pf6}${cf6}${nf6}${Qb}`);console.log("");Bun.serve({idleTimeout:0,port:O71,hostname:"0.0.0.0",fetch:async(Q)=>{return await if6(Q)??af6.fetch(Q)},development:!1});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@decocms/mesh",
3
- "version": "2.5.0",
3
+ "version": "2.6.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-CocjKJdo.js";import{F as t}from"./index-DsWTyaMI.js";const s="mcp.mesh",m=t(o,{target:"draft-7"});export{m as B,s as M};
@@ -1 +0,0 @@
1
- import{a3 as u,ap as s}from"./index-DsWTyaMI.js";function o(e,r){return u(e,s,r)}export{o as u};