@decocms/mesh 2.5.0 → 2.7.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 (123) hide show
  1. package/dist/client/assets/{AlertCircle-DAyHhLS6.js → AlertCircle-CaSWziXY.js} +1 -1
  2. package/dist/client/assets/{ArrowLeft-Bpp_SsGd.js → ArrowLeft-C60SDpN2.js} +1 -1
  3. package/dist/client/assets/{ChevronDown-CsOv8W2I.js → ChevronDown-DYrAWIje.js} +1 -1
  4. package/dist/client/assets/Clock-9AM4S8g5.js +1 -0
  5. package/dist/client/assets/{Copy01-BrkhNqAw.js → Copy01-BOtwmMJy.js} +1 -1
  6. package/dist/client/assets/{DotsHorizontal-Bv4IcguS.js → DotsHorizontal-7SjfN6lZ.js} +1 -1
  7. package/dist/client/assets/{DotsVertical-cXTBD68H.js → DotsVertical-BP_-eK2T.js} +1 -1
  8. package/dist/client/assets/{File06-l4-3IHqa.js → File06-B3qh7Ea8.js} +1 -1
  9. package/dist/client/assets/{FilterLines-D2prJuZ_.js → FilterLines-Bt7sP2Ln.js} +1 -1
  10. package/dist/client/assets/{FlipBackward-Cuwh5H4e.js → FlipBackward-D4n1zrEs.js} +1 -1
  11. package/dist/client/assets/{GitBranch01-DDKUuZMu.js → GitBranch01-LrMvLleM.js} +1 -1
  12. package/dist/client/assets/Grid01-Bt5T8Kvn.js +1 -0
  13. package/dist/client/assets/{Inbox01-CEyXxA8m.js → Inbox01-B9Rg6DmE.js} +1 -1
  14. package/dist/client/assets/{InfoCircle-C2iaXmlJ.js → InfoCircle-ByoMVITX.js} +1 -1
  15. package/dist/client/assets/{Key01-CcMWzP51.js → Key01-VE6cE4ge.js} +1 -1
  16. package/dist/client/assets/{LinkExternal01-31BeOzKc.js → LinkExternal01-DQ7LiU13.js} +1 -1
  17. package/dist/client/assets/{Loading01-BqUL1Os2.js → Loading01-DU_er3oJ.js} +1 -1
  18. package/dist/client/assets/{Lock01-BfDepLwB.js → Lock01-w8OXtDqR.js} +1 -1
  19. package/dist/client/assets/{Play-DqaoplmY.js → Play-6JV_6CG8.js} +1 -1
  20. package/dist/client/assets/{Plus-CJASgavw.js → Plus-BZfgyBux.js} +1 -1
  21. package/dist/client/assets/{Terminal-e-eRty6Q.js → Terminal-DMx2ygGG.js} +1 -1
  22. package/dist/client/assets/{Trash01-C3O36hTP.js → Trash01-Dvb7krv8.js} +1 -1
  23. package/dist/client/assets/{X-D4fwyn55.js → X-DoVCUrhK.js} +1 -1
  24. package/dist/client/assets/{XClose-Bfbqr-bg.js → XClose-C1ZaoDkv.js} +1 -1
  25. package/dist/client/assets/{alert-dialog-F5nkQKBj.js → alert-dialog-CLLIrm4F.js} +2 -2
  26. package/dist/client/assets/{auth-m66JRmI1.js → auth-CgxcLwue.js} +1 -1
  27. package/dist/client/assets/{auth-catchall-BAZuaH8l.js → auth-catchall-BkCa4_aN.js} +1 -1
  28. package/dist/client/assets/{avatar-MdaY7dDq.js → avatar-CzWl5S-m.js} +1 -1
  29. package/dist/client/assets/{badge-BRpJ4D36.js → badge-Bbeqjlvl.js} +1 -1
  30. package/dist/client/assets/{card-DPsjHi5_.js → card-DDRZjhLd.js} +1 -1
  31. package/dist/client/assets/{checkbox-dB50xYpN.js → checkbox-CdriYHbe.js} +1 -1
  32. package/dist/client/assets/{collection-detail-glRN62L4.js → collection-detail-BizUvdqx.js} +27 -27
  33. package/dist/client/assets/{collection-display-button-BEkWecO6.js → collection-display-button-GYzwE1Yk.js} +1 -1
  34. package/dist/client/assets/{collection-header-DS84Dz-Z.js → collection-header-Dgpak6RG.js} +1 -1
  35. package/dist/client/assets/{collection-page-Dw7iXEq1.js → collection-page-DsXQH-Im.js} +1 -1
  36. package/dist/client/assets/{collection-search-Dwhflp6J.js → collection-search-BLCr2u4s.js} +1 -1
  37. package/dist/client/assets/{collection-tab-CQ_V1h26.js → collection-tab-B94jr-UP.js} +1 -1
  38. package/dist/client/assets/{collection-table-wrapper-Tc6aoQU4.js → collection-table-wrapper-lPNgMir7.js} +1 -1
  39. package/dist/client/assets/{connection-card-BOHNc6OM.js → connection-card-ChEaWCU7.js} +1 -1
  40. package/dist/client/assets/connection-detail-BdAq7uXe.js +1 -0
  41. package/dist/client/assets/connections-eTByBVoM.js +1 -0
  42. package/dist/client/assets/constants-DUH_OOTp.js +1 -0
  43. package/dist/client/assets/{create-organization-dialog-BW64m1n3.js → create-organization-dialog-BkLQZAga.js} +1 -1
  44. package/dist/client/assets/{dialog-dVO4tnyX.js → dialog-CjOzZCyT.js} +1 -1
  45. package/dist/client/assets/dropdown-menu-FKTXuLg3.js +1 -0
  46. package/dist/client/assets/{empty-state-Ctkb5o27.js → empty-state-Dg_1FyPv.js} +1 -1
  47. package/dist/client/assets/{env-vars-editor-BH1jNoL-.js → env-vars-editor-DILQqQln.js} +1 -1
  48. package/dist/client/assets/{error-boundary-NRHN5Y9-.js → error-boundary-DF-uZuEV.js} +1 -1
  49. package/dist/client/assets/{extract-connection-data-BaLXzQ_k.js → extract-connection-data-BorCHusn.js} +1 -1
  50. package/dist/client/assets/{form-BYRg0fLZ.js → form-B-vcq0Ib.js} +1 -1
  51. package/dist/client/assets/{gateway-detail-BfXnCLYA.js → gateway-detail-Dd3TUg5f.js} +1 -1
  52. package/dist/client/assets/gateways-CQnn2_8x.js +1 -0
  53. package/dist/client/assets/{home-4Azy8yCf.js → home-DqPSvVQ4.js} +1 -1
  54. package/dist/client/assets/{index-CiFNe-N2.js → index-CKWTMWxC.js} +1 -1
  55. package/dist/client/assets/{index-DsWTyaMI.js → index-DwHtQhMK.js} +2 -2
  56. package/dist/client/assets/index-PdYB8SsR.js +88 -0
  57. package/dist/client/assets/index-dJdCvohv.js +25 -0
  58. package/dist/client/assets/{input-Bjw47IqN.js → input-BL_6s-Bq.js} +1 -1
  59. package/dist/client/assets/{layout-CSrwjVH6.js → layout-D5OcxKMp.js} +1 -1
  60. package/dist/client/assets/{lazy-highlighter-3jMk7DX6.js → lazy-highlighter-DW141_mY.js} +1 -1
  61. package/dist/client/assets/{localstorage-keys-mgwVhAgB.js → localstorage-keys-DAcoYlkD.js} +1 -1
  62. package/dist/client/assets/{login-B4k1yizo.js → login-BPLTUQ2o.js} +1 -1
  63. package/dist/client/assets/{mcp-oauth-CYe4lbkF.js → mcp-oauth-C_b3SC0X.js} +1 -1
  64. package/dist/client/assets/mcp-server-detail-BFJ_9U28.js +1 -0
  65. package/dist/client/assets/members-nhvM4_hF.js +3 -0
  66. package/dist/client/assets/{monaco-editor-CiWfYNhn.js → monaco-editor-Fv58AQ_j.js} +4 -4
  67. package/dist/client/assets/{monitoring-C2NQS-B1.js → monitoring-0mZRbE8v.js} +4 -4
  68. package/dist/client/assets/{oauth-callback-CVfImHX4.js → oauth-callback-DOKfTw2N.js} +1 -1
  69. package/dist/client/assets/page-CWgyoE-b.js +1 -0
  70. package/dist/client/assets/page-bm876z4u.js +35 -0
  71. package/dist/client/assets/{pin-to-sidebar-button-B_8L8Vb0.js → pin-to-sidebar-button-CaUox-8X.js} +1 -1
  72. package/dist/client/assets/{popover-BAqz8iCu.js → popover-D6Sus4Ok.js} +1 -1
  73. package/dist/client/assets/{project-context-provider-4_jnbmhf.js → project-context-provider-cpEbmTch.js} +1 -1
  74. package/dist/client/assets/{resizable-BQxIvKty.js → resizable-CbIgPFul.js} +1 -1
  75. package/dist/client/assets/{resource-tabs-N7R8QmbK.js → resource-tabs-DsuwPs-x.js} +1 -1
  76. package/dist/client/assets/{select-D0sx2072.js → select-JyLqSDVb.js} +1 -1
  77. package/dist/client/assets/settings-Dod8lcbL.js +1 -0
  78. package/dist/client/assets/shell-layout-Boits0hC.js +1 -0
  79. package/dist/client/assets/{spinner-DZG16LrV.js → spinner-CzUKFN-O.js} +1 -1
  80. package/dist/client/assets/{switch-BRK3ymGn.js → switch-Bpj46bRm.js} +1 -1
  81. package/dist/client/assets/{textarea-Ct5hMebK.js → textarea-S1Ffk72a.js} +1 -1
  82. package/dist/client/assets/thread-history-popover-Do-vVWjf.js +48 -0
  83. package/dist/client/assets/{tools-list-B6Grd2aY.js → tools-list-BSUlyyag.js} +1 -1
  84. package/dist/client/assets/{use-binding-CocjKJdo.js → use-binding-DV8L0ZvU.js} +1 -1
  85. package/dist/client/assets/{use-connection-BRzCmTOd.js → use-connection-Sf8hW5yA.js} +2 -2
  86. package/dist/client/assets/{use-connection-resources-AWPWi-RH.js → use-connection-resources-DYe3vNOl.js} +1 -1
  87. package/dist/client/assets/use-gateway-BRb-QnWG.js +1 -0
  88. package/dist/client/assets/{use-gateway-system-prompt-DscZjM_A.js → use-gateway-system-prompt-BCFIzB-i.js} +1 -1
  89. package/dist/client/assets/{use-list-state-C9bMHTQK.js → use-list-state-CNeFnW0c.js} +1 -1
  90. package/dist/client/assets/{use-mcp-Xq1C6Xb8.js → use-mcp-Ck8Xxjhl.js} +1 -1
  91. package/dist/client/assets/{use-members-DwaDlN2k.js → use-members-C6E9q5SL.js} +1 -1
  92. package/dist/client/assets/{use-mobile-b2I183jd.js → use-mobile-DmpRnaSP.js} +1 -1
  93. package/dist/client/assets/{use-organization-settings-D21MRe-D.js → use-organization-settings-CUeUwHGc.js} +1 -1
  94. package/dist/client/assets/{use-tool-call-DWmlWS7M.js → use-tool-call-CFZ9HTpW.js} +1 -1
  95. package/dist/client/assets/{useQueries-BLLM0cVq.js → useQueries-KKCw7uoR.js} +1 -1
  96. package/dist/client/assets/useQuery-f5EeixK5.js +1 -0
  97. package/dist/client/assets/{value-D6kCdY90.js → value-Fk3OaX_V.js} +1 -1
  98. package/dist/client/assets/{view-mode-toggle-DlhHZSZ6.js → view-mode-toggle-B5QpL180.js} +1 -1
  99. package/dist/client/assets/workflow-DWBbOhIt.js +1 -0
  100. package/dist/client/index.html +1 -1
  101. package/dist/server/cli.js +1 -1
  102. package/dist/server/server.js +1 -1
  103. package/package.json +1 -1
  104. package/dist/client/assets/ChevronRight-Boh94iyZ.js +0 -1
  105. package/dist/client/assets/Grid01-COCXYn3t.js +0 -1
  106. package/dist/client/assets/Stop-CRrts02X.js +0 -1
  107. package/dist/client/assets/connection-detail-yed7lEwn.js +0 -1
  108. package/dist/client/assets/connections-Cyw4vKCR.js +0 -1
  109. package/dist/client/assets/constants-DgMd8oVj.js +0 -1
  110. package/dist/client/assets/dropdown-menu-Dl6PURsy.js +0 -1
  111. package/dist/client/assets/gateway-selector-DAEirbF5.js +0 -1
  112. package/dist/client/assets/gateways-BJBU4jqZ.js +0 -1
  113. package/dist/client/assets/index-DJlsJ8uo.js +0 -25
  114. package/dist/client/assets/mcp-server-detail-BncapnIe.js +0 -1
  115. package/dist/client/assets/members-CvcRBE7N.js +0 -3
  116. package/dist/client/assets/page-4Om70maF.js +0 -1
  117. package/dist/client/assets/page-DWpNpeBI.js +0 -35
  118. package/dist/client/assets/settings-DBVtWxtX.js +0 -1
  119. package/dist/client/assets/shell-layout-yGeudWHM.js +0 -1
  120. package/dist/client/assets/thread-history-popover-CUQ7xqpL.js +0 -135
  121. package/dist/client/assets/use-gateway-LBTVY8TW.js +0 -1
  122. package/dist/client/assets/useQuery-BXYZ1U8o.js +0 -1
  123. package/dist/client/assets/workflow-DufdLkFQ.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.7.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{r}from"./index-DsWTyaMI.js";const i=({size:e=24,color:t="currentColor",...o})=>r.createElement("svg",{viewBox:"0 0 24 24",width:e,height:e,stroke:t,strokeWidth:"2",fill:"none",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...o},r.createElement("path",{d:"m9 18 6-6-6-6"}));i.displayName="ChevronRight";export{i};
@@ -1 +0,0 @@
1
- import{r}from"./index-DsWTyaMI.js";const o=({size:e=24,color:a="currentColor",...t})=>r.createElement("svg",{viewBox:"0 0 24 24",width:e,height:e,stroke:a,strokeWidth:"2",fill:"none",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...t},r.createElement("path",{d:"M12 19V5m0 0-7 7m7-7 7 7"}));o.displayName="ArrowUp";const c=({size:e=24,color:a="currentColor",...t})=>r.createElement("svg",{viewBox:"0 0 24 24",width:e,height:e,stroke:a,strokeWidth:"2",fill:"none",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...t},r.createElement("path",{d:"M8.4 3H4.6c-.56 0-.84 0-1.054.109a1 1 0 0 0-.437.437C3 3.76 3 4.04 3 4.6v3.8c0 .56 0 .84.109 1.054a1 1 0 0 0 .437.437C3.76 10 4.04 10 4.6 10h3.8c.56 0 .84 0 1.054-.109a1 1 0 0 0 .437-.437C10 9.24 10 8.96 10 8.4V4.6c0-.56 0-.84-.109-1.054a1 1 0 0 0-.437-.437C9.24 3 8.96 3 8.4 3Zm11 0h-3.8c-.56 0-.84 0-1.054.109a1 1 0 0 0-.437.437C14 3.76 14 4.04 14 4.6v3.8c0 .56 0 .84.109 1.054a1 1 0 0 0 .437.437C14.76 10 15.04 10 15.6 10h3.8c.56 0 .84 0 1.054-.109a1 1 0 0 0 .437-.437C21 9.24 21 8.96 21 8.4V4.6c0-.56 0-.84-.109-1.054a1 1 0 0 0-.437-.437C20.24 3 19.96 3 19.4 3Zm0 11h-3.8c-.56 0-.84 0-1.054.109a1 1 0 0 0-.437.437C14 14.76 14 15.04 14 15.6v3.8c0 .56 0 .84.109 1.054a1 1 0 0 0 .437.437C14.76 21 15.04 21 15.6 21h3.8c.56 0 .84 0 1.054-.109a1 1 0 0 0 .437-.437C21 20.24 21 19.96 21 19.4v-3.8c0-.56 0-.84-.109-1.054a1 1 0 0 0-.437-.437C20.24 14 19.96 14 19.4 14Zm-11 0H4.6c-.56 0-.84 0-1.054.109a1 1 0 0 0-.437.437C3 14.76 3 15.04 3 15.6v3.8c0 .56 0 .84.109 1.054a1 1 0 0 0 .437.437C3.76 21 4.04 21 4.6 21h3.8c.56 0 .84 0 1.054-.109a1 1 0 0 0 .437-.437C10 20.24 10 19.96 10 19.4v-3.8c0-.56 0-.84-.109-1.054a1 1 0 0 0-.437-.437C9.24 14 8.96 14 8.4 14Z"}));c.displayName="Grid01";export{c,o as i};
@@ -1 +0,0 @@
1
- import{r}from"./index-DsWTyaMI.js";const a=({size:e=24,color:t="currentColor",...o})=>r.createElement("svg",{viewBox:"0 0 24 24",width:e,height:e,stroke:t,strokeWidth:"2",fill:"none",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...o},r.createElement("path",{d:"M3 7.8c0-1.68 0-2.52.327-3.162a3 3 0 0 1 1.311-1.311C5.28 3 6.12 3 7.8 3h8.4c1.68 0 2.52 0 3.162.327a3 3 0 0 1 1.311 1.311C21 5.28 21 6.12 21 7.8v8.4c0 1.68 0 2.52-.327 3.162a3 3 0 0 1-1.311 1.311C18.72 21 17.88 21 16.2 21H7.8c-1.68 0-2.52 0-3.162-.327a3 3 0 0 1-1.311-1.311C3 18.72 3 17.88 3 16.2V7.8Z"}));a.displayName="Stop";export{a as i};
@@ -1 +0,0 @@
1
- import{c as q,j as o,h as W,i as J,r as z,d as ce,b as le,aG as ae}from"./index-DsWTyaMI.js";import{d as G,E as F,I as Q,b as me}from"./use-connection-BRzCmTOd.js";import{E as X}from"./error-boundary-NRHN5Y9-.js";import{b as de}from"./use-binding-CocjKJdo.js";import{u as ue,S as pe}from"./index-DJlsJ8uo.js";import{u as fe,a as he}from"./use-connection-resources-AWPWi-RH.js";import{B as xe}from"./input-Bjw47IqN.js";import{i as Y}from"./Loading01-BqUL1Os2.js";import{R as ge}from"./resource-tabs-N7R8QmbK.js";import{V as Z,a as be,b as je}from"./layout-CSrwjVH6.js";import{C as ye}from"./collection-tab-CQ_V1h26.js";import{C as ee}from"./collection-display-button-BEkWecO6.js";import{C as te}from"./collection-search-Dwhflp6J.js";import{C as oe}from"./collection-table-wrapper-Tc6aoQU4.js";import{P as se}from"./pin-to-sidebar-button-B_8L8Vb0.js";import{C as ne}from"./card-DPsjHi5_.js";import{R as Se,T as Ce}from"./tools-list-B6Grd2aY.js";import"./project-context-provider-4_jnbmhf.js";import"./auth-m66JRmI1.js";import"./mcp-oauth-CYe4lbkF.js";import"./env-vars-editor-BH1jNoL-.js";import"./Plus-CJASgavw.js";import"./Trash01-C3O36hTP.js";import"./use-tool-call-DWmlWS7M.js";import"./useQuery-BXYZ1U8o.js";import"./File06-l4-3IHqa.js";import"./Key01-CcMWzP51.js";import"./form-BYRg0fLZ.js";import"./select-D0sx2072.js";import"./ChevronDown-CsOv8W2I.js";import"./Terminal-e-eRty6Q.js";import"./use-gateway-LBTVY8TW.js";import"./ChevronRight-Boh94iyZ.js";import"./useQueries-BLLM0cVq.js";import"./constants-DgMd8oVj.js";import"./registry-utils-B7t_ZBUi.js";import"./extract-connection-data-BaLXzQ_k.js";import"./github-icon-Dp3wHhYE.js";import"./generate-id-Dyweu44Y.js";import"./index-CiFNe-N2.js";import"./gateway-selector-DAEirbF5.js";import"./use-mobile-b2I183jd.js";import"./badge-BRpJ4D36.js";import"./ArrowLeft-Bpp_SsGd.js";import"./dropdown-menu-Dl6PURsy.js";import"./Copy01-BrkhNqAw.js";import"./DotsVertical-cXTBD68H.js";import"./use-list-state-C9bMHTQK.js";import"./empty-state-Ctkb5o27.js";import"./Inbox01-CEyXxA8m.js";import"./avatar-MdaY7dDq.js";import"./alert-dialog-F5nkQKBj.js";import"./Grid01-COCXYn3t.js";import"./view-mode-toggle-DlhHZSZ6.js";import"./use-organization-settings-D21MRe-D.js";function ve(t){const e=q.c(42),{prompts:r,connectionId:n,org:s,connectionTitle:l,connectionIcon:f,onPromptClick:j,showToolbar:g,emptyMessage:N}=t,V=g===void 0?!0:g,L=N===void 0?"This connection doesn't have any prompts yet.":N,u=W(),y=J().location.href,[p,i]=z.useState(""),[w,a]=z.useState("table"),[h,_]=z.useState("name"),[d,k]=z.useState("asc");let b;e[0]!==d||e[1]!==h?(b=x=>{h===x?(k(Ie),d==="desc"&&_(void 0)):(_(x),k("asc"))},e[0]=d,e[1]=h,e[2]=b):b=e[2];const T=b;let P;e[3]!==n||e[4]!==u||e[5]!==j||e[6]!==s?(P=x=>{j?j(x):n&&s&&u({to:"/$org/mcps/$connectionId/$collectionName/$itemId",params:{org:s,connectionId:n,collectionName:"prompts",itemId:encodeURIComponent(x.name)}})},e[3]=n,e[4]=u,e[5]=j,e[6]=s,e[7]=P):P=e[7];const A=P;let B;if(e[8]!==r||e[9]!==p||e[10]!==d||e[11]!==h){const x=!r||r.length===0?[]:p.trim()?(()=>{const S=p.toLowerCase();return r.filter(U=>U.name.toLowerCase().includes(S)||U.description&&U.description.toLowerCase().includes(S))})():r;B=!h||!d?x:[...x].sort((S,U)=>{const re=S[h]||"",ie=U[h]||"",H=String(re).localeCompare(String(ie));return d==="asc"?H:-H}),e[8]=r,e[9]=p,e[10]=d,e[11]=h,e[12]=B}else B=e[12];const m=B;let O;e[13]===Symbol.for("react.memo_cache_sentinel")?(O=[{id:"name",header:"Name",render:$e,sortable:!0},{id:"description",header:"Description",render:Te,cellClassName:"flex-1",sortable:!0}],e[13]=O):O=e[13];const E=O;let M;e[14]===Symbol.for("react.memo_cache_sentinel")?(M=E.filter(we).map(Ne),e[14]=M):M=e[14];const D=M;let $;e[15]!==f||e[16]!==l||e[17]!==T||e[18]!==V||e[19]!==d||e[20]!==h||e[21]!==y||e[22]!==w?($=V&&o.jsxs(Z,{children:[o.jsx(ee,{viewMode:w,onViewModeChange:a,sortKey:h,sortDirection:d,onSort:T,sortOptions:D}),o.jsx(se,{title:l?`${l}: Prompts`:"Prompts",url:y,icon:f??"description"})]}),e[15]=f,e[16]=l,e[17]=T,e[18]=V,e[19]=d,e[20]=h,e[21]=y,e[22]=w,e[23]=$):$=e[23];let I;e[24]===Symbol.for("react.memo_cache_sentinel")?(I=x=>{x.key==="Escape"&&(i(""),x.target.blur())},e[24]=I):I=e[24];let R;e[25]!==p?(R=o.jsx(te,{value:p,onChange:i,placeholder:"Search prompts...",onKeyDown:I}),e[25]=p,e[26]=R):R=e[26];let c;e[27]!==L||e[28]!==A||e[29]!==T||e[30]!==p||e[31]!==d||e[32]!==h||e[33]!==m||e[34]!==w?(c=w==="cards"?o.jsx("div",{className:"flex-1 overflow-auto p-5",children:m.length===0?o.jsx(F,{image:null,title:p?"No prompts found":"No prompts available",description:p?"Try adjusting your search terms":L}):o.jsx("div",{className:"grid grid-cols-1 md:grid-cols-3 lg:grid-cols-4 gap-4",children:m.map(x=>o.jsx(ne,{className:"cursor-pointer transition-colors",onClick:()=>A(x),children:o.jsxs("div",{className:"flex flex-col gap-4 p-6",children:[o.jsx(Q,{icon:null,name:x.name,size:"md",className:"shrink-0 shadow-sm"}),o.jsxs("div",{className:"flex flex-col gap-0",children:[o.jsx("h3",{className:"text-base font-medium text-foreground truncate",children:x.name}),o.jsx("p",{className:"text-base text-muted-foreground line-clamp-2",children:x.description||"No description"})]})]})},x.name))})}):o.jsx(oe,{columns:E,data:m,isLoading:!1,sortKey:h,sortDirection:d,onSort:T,onRowClick:x=>A(x),emptyState:o.jsx(F,{image:null,title:p?"No prompts found":"No prompts available",description:p?"Try adjusting your search terms":L})}),e[27]=L,e[28]=A,e[29]=T,e[30]=p,e[31]=d,e[32]=h,e[33]=m,e[34]=w,e[35]=c):c=e[35];let C;e[36]!==R||e[37]!==c?(C=o.jsxs("div",{className:"flex flex-col h-full overflow-hidden",children:[R,c]}),e[36]=R,e[37]=c,e[38]=C):C=e[38];let v;return e[39]!==C||e[40]!==$?(v=o.jsxs(o.Fragment,{children:[$,C]}),e[39]=C,e[40]=$,e[41]=v):v=e[41],v}function Ne(t){return{id:t.id,label:typeof t.header=="string"?t.header:t.id}}function we(t){return t.sortable}function Te(t){return o.jsx("span",{className:"text-sm text-foreground",children:t.description||"—"})}function $e(t){return o.jsx("span",{className:"text-sm font-medium font-mono text-foreground",children:t.name})}function Ie(t){return t==="asc"?"desc":t==="desc"?null:"asc"}function Re(t){const e=q.c(6),{prompts:r,connectionId:n,org:s}=t,l=G(n),f=l?.title,j=l?.icon;let g;return e[0]!==n||e[1]!==s||e[2]!==r||e[3]!==f||e[4]!==j?(g=o.jsx(ve,{prompts:r,connectionId:n,org:s,connectionTitle:f,connectionIcon:j}),e[0]=n,e[1]=s,e[2]=r,e[3]=f,e[4]=j,e[5]=g):g=e[5],g}function _e(t){const e=q.c(2),{repository:r}=t;let n;return e[0]!==r?(n=o.jsx("div",{className:"flex-1 overflow-y-auto bg-background",children:o.jsx(Se,{repository:r})}),e[0]=r,e[1]=n):n=e[1],n}function ke(t){const e=q.c(39),{resources:r,connectionTitle:n,connectionIcon:s,onResourceClick:l,showToolbar:f,emptyMessage:j}=t,g=f===void 0?!0:f,N=j===void 0?"This connection doesn't have any resources yet.":j,L=J().location.href,[u,K]=z.useState(""),[y,p]=z.useState("table"),[i,w]=z.useState("name"),[a,h]=z.useState("asc");let _;e[0]!==a||e[1]!==i?(_=c=>{i===c?(h(De),a==="desc"&&w(void 0)):(w(c),h("asc"))},e[0]=a,e[1]=i,e[2]=_):_=e[2];const d=_;let k;e[3]!==l?(k=c=>{l&&l(c)},e[3]=l,e[4]=k):k=e[4];const b=k;let T;if(e[5]!==r||e[6]!==u||e[7]!==a||e[8]!==i){const c=!r||r.length===0?[]:u.trim()?(()=>{const C=u.toLowerCase();return r.filter(v=>v.uri.toLowerCase().includes(C)||v.name&&v.name.toLowerCase().includes(C)||v.description&&v.description.toLowerCase().includes(C))})():r;T=!i||!a?c:[...c].sort((C,v)=>{const x=C[i]||"",S=v[i]||"",U=String(x).localeCompare(String(S));return a==="asc"?U:-U}),e[5]=r,e[6]=u,e[7]=a,e[8]=i,e[9]=T}else T=e[9];const P=T;let A;e[10]===Symbol.for("react.memo_cache_sentinel")?(A=[{id:"name",header:"Name",render:Ae,sortable:!0},{id:"uri",header:"URI",render:Me,sortable:!0},{id:"description",header:"Description",render:Ee,cellClassName:"flex-1",sortable:!0},{id:"mimeType",header:"Type",render:Le,sortable:!0}],e[10]=A):A=e[10];const B=A;let m;e[11]===Symbol.for("react.memo_cache_sentinel")?(m=B.filter(Ve).map(Pe),e[11]=m):m=e[11];const O=m;let E;e[12]!==s||e[13]!==n||e[14]!==d||e[15]!==g||e[16]!==a||e[17]!==i||e[18]!==L||e[19]!==y?(E=g&&o.jsxs(Z,{children:[o.jsx(ee,{viewMode:y,onViewModeChange:p,sortKey:i,sortDirection:a,onSort:d,sortOptions:O}),o.jsx(se,{title:n?`${n}: Resources`:"Resources",url:L,icon:s??"folder"})]}),e[12]=s,e[13]=n,e[14]=d,e[15]=g,e[16]=a,e[17]=i,e[18]=L,e[19]=y,e[20]=E):E=e[20];let M;e[21]===Symbol.for("react.memo_cache_sentinel")?(M=c=>{c.key==="Escape"&&(K(""),c.target.blur())},e[21]=M):M=e[21];let D;e[22]!==u?(D=o.jsx(te,{value:u,onChange:K,placeholder:"Search resources...",onKeyDown:M}),e[22]=u,e[23]=D):D=e[23];let $;e[24]!==N||e[25]!==b||e[26]!==d||e[27]!==u||e[28]!==a||e[29]!==i||e[30]!==P||e[31]!==y?($=y==="cards"?o.jsx("div",{className:"flex-1 overflow-auto p-5",children:P.length===0?o.jsx(F,{image:null,title:u?"No resources found":"No resources available",description:u?"Try adjusting your search terms":N}):o.jsx("div",{className:"grid grid-cols-1 md:grid-cols-3 lg:grid-cols-4 gap-4",children:P.map(c=>o.jsx(ne,{className:"cursor-pointer transition-colors",onClick:()=>b(c),children:o.jsxs("div",{className:"flex flex-col gap-4 p-6",children:[o.jsx(Q,{icon:null,name:c.name||c.uri,size:"md",className:"shrink-0 shadow-sm"}),o.jsxs("div",{className:"flex flex-col gap-1",children:[o.jsx("h3",{className:"text-base font-medium text-foreground truncate",children:c.name||c.uri}),o.jsx("p",{className:"text-xs font-mono text-muted-foreground truncate",children:c.uri}),c.description&&o.jsx("p",{className:"text-sm text-muted-foreground line-clamp-2 mt-1",children:c.description})]})]})},c.uri))})}):o.jsx(oe,{columns:B,data:P,isLoading:!1,sortKey:i,sortDirection:a,onSort:d,onRowClick:c=>b(c),emptyState:o.jsx(F,{image:null,title:u?"No resources found":"No resources available",description:u?"Try adjusting your search terms":N})}),e[24]=N,e[25]=b,e[26]=d,e[27]=u,e[28]=a,e[29]=i,e[30]=P,e[31]=y,e[32]=$):$=e[32];let I;e[33]!==D||e[34]!==$?(I=o.jsxs("div",{className:"flex flex-col h-full overflow-hidden",children:[D,$]}),e[33]=D,e[34]=$,e[35]=I):I=e[35];let R;return e[36]!==I||e[37]!==E?(R=o.jsxs(o.Fragment,{children:[E,I]}),e[36]=I,e[37]=E,e[38]=R):R=e[38],R}function Pe(t){return{id:t.id,label:typeof t.header=="string"?t.header:t.id}}function Ve(t){return t.sortable}function Le(t){return o.jsx("span",{className:"text-sm text-muted-foreground",children:t.mimeType||"—"})}function Ee(t){return o.jsx("span",{className:"text-sm text-foreground",children:t.description||"—"})}function Me(t){return o.jsx("span",{className:"text-sm font-mono text-muted-foreground",children:t.uri})}function Ae(t){return o.jsx("span",{className:"text-sm font-medium text-foreground",children:t.name||t.uri})}function De(t){return t==="asc"?"desc":t==="desc"?null:"asc"}function Be(t){const e=q.c(6),{resources:r,connectionId:n,org:s}=t,l=G(n),f=l?.title,j=l?.icon;let g;return e[0]!==n||e[1]!==s||e[2]!==r||e[3]!==f||e[4]!==j?(g=o.jsx(ke,{resources:r,connectionId:n,org:s,connectionTitle:f,connectionIcon:j}),e[0]=n,e[1]=s,e[2]=r,e[3]=f,e[4]=j,e[5]=g):g=e[5],g}function Ue(t){const e=q.c(4),{tools:r,connectionId:n,org:s}=t;let l;return e[0]!==n||e[1]!==s||e[2]!==r?(l=o.jsx(Ce,{tools:r,connectionId:n,org:s}),e[0]=n,e[1]=s,e[2]=r,e[3]=l):l=e[3],l}function Ke(t){const e=q.c(61),{connection:r,connectionId:n,org:s,requestedTabId:l,collections:f,onUpdate:j,isUpdating:g,prompts:N,resources:V}=t,L=ae();let u;e[0]===Symbol.for("react.memo_cache_sentinel")?(u={from:"/$org/mcps/$connectionId"},e[0]=u):u=e[0];const K=W(u);let y;e[1]!==n?(y={connectionId:n},e[1]=n,e[2]=y):y=e[2];const p=ue(y),i=p.isAuthenticated,w=r?.metadata?.repository,a=!!w?.url,h=r?.tools?.length??0,_=N.length,d=V.length;let k;e[3]===Symbol.for("react.memo_cache_sentinel")?(k={id:"settings",label:"Settings"},e[3]=k):k=e[3];let b;e[4]!==i||e[5]!==h?(b=i&&h>0?[{id:"tools",label:"Tools",count:h}]:[],e[4]=i,e[5]=h,e[6]=b):b=e[6];let T;e[7]!==i||e[8]!==_?(T=i&&_>0?[{id:"prompts",label:"Prompts",count:_}]:[],e[7]=i,e[8]=_,e[9]=T):T=e[9];let P;e[10]!==i||e[11]!==d?(P=i&&d>0?[{id:"resources",label:"Resources",count:d}]:[],e[10]=i,e[11]=d,e[12]=P):P=e[12];let A;if(e[13]!==f||e[14]!==a||e[15]!==i||e[16]!==b||e[17]!==T||e[18]!==P){let S;e[20]!==a?(S=a?[{id:"readme",label:"README"}]:[],e[20]=a,e[21]=S):S=e[21],A=[k,...b,...T,...P,...i?(f||[]).map(Oe):[],...S],e[13]=f,e[14]=a,e[15]=i,e[16]=b,e[17]=T,e[18]=P,e[19]=A}else A=e[19];const B=A,m=B.some(S=>S.id===l)?l:"settings";let O;e[22]!==K?(O=S=>{K({search:U=>({...U,tab:S}),replace:!0})},e[22]=K,e[23]=O):O=e[23];const E=O;let M;e[24]!==f?(M=f||[],e[24]=f,e[25]=M):M=e[25];let D;if(e[26]!==m||e[27]!==M){let S;e[29]!==m?(S=U=>U.name===m,e[29]=m,e[30]=S):S=e[30],D=M.find(S),e[26]=m,e[27]=M,e[28]=D}else D=e[28];const $=D;let I;e[31]!==L.history?(I=()=>L.history.back(),e[31]=L.history,e[32]=I):I=e[32];let R;e[33]!==m||e[34]!==E||e[35]!==B?(R=o.jsx(be,{children:o.jsx(ge,{tabs:B,activeTab:m,onTabChange:E})}),e[33]=m,e[34]=E,e[35]=B,e[36]=R):R=e[36];let c;e[37]===Symbol.for("react.memo_cache_sentinel")?(c=o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Y,{size:32,className:"animate-spin text-muted-foreground"})}),e[37]=c):c=e[37];let C;e[38]!==$||e[39]!==m||e[40]!==p.isServerError||e[41]!==p.supportsOAuth||e[42]!==r||e[43]!==n||e[44]!==E||e[45]!==a||e[46]!==i||e[47]!==g||e[48]!==j||e[49]!==s||e[50]!==N||e[51]!==w||e[52]!==V?(C=o.jsx(z.Suspense,{fallback:c,children:m==="tools"?o.jsx(Ue,{tools:r.tools??void 0,connectionId:n,org:s}):m==="prompts"?o.jsx(Re,{prompts:N,connectionId:n,org:s}):m==="resources"?o.jsx(Be,{resources:V,connectionId:n,org:s}):m==="settings"?o.jsx(pe,{connection:r,onUpdate:j,isUpdating:g,isMCPAuthenticated:i,supportsOAuth:p.supportsOAuth,isServerError:p.isServerError,onViewReadme:a?()=>E("readme"):void 0}):m==="readme"&&a?o.jsx(_e,{repository:w}):$&&i?o.jsx(ye,{connectionId:n,org:s,activeCollection:$},m):o.jsx(F,{title:"Collection not found",description:"This collection may have been deleted or you may not have access."})}),e[38]=$,e[39]=m,e[40]=p.isServerError,e[41]=p.supportsOAuth,e[42]=r,e[43]=n,e[44]=E,e[45]=a,e[46]=i,e[47]=g,e[48]=j,e[49]=s,e[50]=N,e[51]=w,e[52]=V,e[53]=C):C=e[53];let v;e[54]!==m||e[55]!==C?(v=o.jsx("div",{className:"flex h-full w-full bg-background overflow-hidden",children:o.jsx("div",{className:"flex-1 flex flex-col min-w-0 bg-background overflow-auto",children:o.jsx(X,{children:C},m)})}),e[54]=m,e[55]=C,e[56]=v):v=e[56];let x;return e[57]!==I||e[58]!==R||e[59]!==v?(x=o.jsxs(je,{onBack:I,children:[R,v]}),e[57]=I,e[58]=R,e[59]=v,e[60]=x):x=e[60],x}function Oe(t){return{id:t.name,label:t.displayName}}function ze(){const t=q.c(29);let e;t[0]===Symbol.for("react.memo_cache_sentinel")?(e={from:"/$org/mcps/$connectionId"},t[0]=e):e=t[0];const r=W(e);let n;t[1]===Symbol.for("react.memo_cache_sentinel")?(n={from:"/shell/$org/mcps/$connectionId"},t[1]=n):n=t[1];const{connectionId:s,org:l}=ce(n);let f;t[2]===Symbol.for("react.memo_cache_sentinel")?(f={from:"/shell/$org/mcps/$connectionId"},t[2]=f):f=t[2];const g=le(f).tab||"settings",N=G(s),V=me(),L=de(N??void 0);let u;t[3]!==s?(u=[s],t[3]=s,t[4]=u):u=t[4];const{promptsMap:K}=fe(u);let y;t[5]!==s?(y=[s],t[5]=s,t[6]=y):y=t[6];const{resourcesMap:p}=he(y);let i;t[7]!==s||t[8]!==K?(i=K.get(s)??[],t[7]=s,t[8]=K,t[9]=i):i=t[9];const w=i;let a;t[10]!==s||t[11]!==p?(a=p.get(s)??[],t[10]=s,t[11]=p,t[12]=a):a=t[12];const h=a;let _;t[13]!==V.update||t[14]!==s?(_=async b=>{await V.update.mutateAsync({id:s,data:b})},t[13]=V.update,t[14]=s,t[15]=_):_=t[15];const d=_;if(!N){let b;return t[16]!==r||t[17]!==l?(b=o.jsx("div",{className:"flex h-full w-full bg-background",children:o.jsx(F,{title:"Connection not found",description:"This connection may have been deleted or you may not have access.",actions:o.jsx(xe,{variant:"outline",onClick:()=>r({to:"/$org/mcps",params:{org:l}}),children:"Back to connections"})})}),t[16]=r,t[17]=l,t[18]=b):b=t[18],b}let k;return t[19]!==V.update.isPending||t[20]!==L||t[21]!==N||t[22]!==s||t[23]!==d||t[24]!==l||t[25]!==w||t[26]!==g||t[27]!==h?(k=o.jsx(Ke,{org:l,connection:N,connectionId:s,requestedTabId:g,collections:L,onUpdate:d,isUpdating:V.update.isPending,prompts:w,resources:h}),t[19]=V.update.isPending,t[20]=L,t[21]=N,t[22]=s,t[23]=d,t[24]=l,t[25]=w,t[26]=g,t[27]=h,t[28]=k):k=t[28],k}function qe(){const t=q.c(1);let e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=o.jsx(X,{children:o.jsx(z.Suspense,{fallback:o.jsx("div",{className:"flex h-full items-center justify-center bg-background",children:o.jsx(Y,{size:32,className:"animate-spin text-muted-foreground"})}),children:o.jsx(ze,{})})}),t[0]=e):e=t[0],e}function Wt(){const t=q.c(1);let e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=o.jsx(qe,{}),t[0]=e):e=t[0],e}export{Wt as default};
@@ -1 +0,0 @@
1
- import{c as ge,j as e,r as M,h as xe,b as je,a as fe,u as ye,x as ve,w as _e,s as oe,W as Ce,v as y,a0 as ke}from"./index-DsWTyaMI.js";import{C as Ne}from"./collection-header-DS84Dz-Z.js";import{C as Se}from"./collection-page-Dw7iXEq1.js";import{C as we}from"./collection-search-Dwhflp6J.js";import{C as Te}from"./collection-table-wrapper-Tc6aoQU4.js";import{C as be}from"./connection-card-BOHNc6OM.js";import{b as De,u as Pe,n as O,E as B,c as Ie,I as Ve}from"./use-connection-BRzCmTOd.js";import{E as $e}from"./error-boundary-NRHN5Y9-.js";import{a as Ee}from"./use-binding-CocjKJdo.js";import{u as Ae,s as Q}from"./use-list-state-C9bMHTQK.js";import{u as Fe}from"./project-context-provider-4_jnbmhf.js";import{f as He,a as Oe,b as Be,c as ze,d as Me,e as Re,A as Ue,g as Xe}from"./alert-dialog-F5nkQKBj.js";import{B as We}from"./badge-BRpJ4D36.js";import{I as k,B as _}from"./input-Bjw47IqN.js";import{d as Le,c as Ke,D as Ge,a as qe,b as Ye,f as Qe}from"./dialog-dVO4tnyX.js";import{b as J,D as Z,a as ee,c as $}from"./dropdown-menu-Dl6PURsy.js";import{a as Je,F as h,b as g,c as x,d as j,f}from"./form-BYRg0fLZ.js";import{i as te}from"./DotsVertical-cXTBD68H.js";import{i as Ze,r as et,s as z,E as tt,e as re}from"./env-vars-editor-BH1jNoL-.js";import{i as nt}from"./Loading01-BqUL1Os2.js";import{i as st}from"./Terminal-e-eRty6Q.js";import{s as ne}from"./Trash01-C3O36hTP.js";import{S as ot,a as rt,b as it,c as at,d as P}from"./select-D0sx2072.js";import{T as ct}from"./textarea-Ct5hMebK.js";import{g as lt}from"./generate-id-Dyweu44Y.js";import{a as dt}from"./use-tool-call-DWmlWS7M.js";import{f as ut,e as mt}from"./registry-utils-B7t_ZBUi.js";import"./collection-display-button-BEkWecO6.js";import"./Grid01-COCXYn3t.js";import"./view-mode-toggle-DlhHZSZ6.js";import"./card-DPsjHi5_.js";import"./auth-m66JRmI1.js";import"./use-mobile-b2I183jd.js";import"./X-D4fwyn55.js";import"./ChevronRight-Boh94iyZ.js";import"./Plus-CJASgavw.js";import"./ChevronDown-CsOv8W2I.js";import"./useQuery-BXYZ1U8o.js";const pt=oe({key:y(),value:y()}),ht=oe({title:y().min(1,"Name is required"),description:y().nullable().optional(),ui_type:ke(["HTTP","SSE","Websocket","NPX","STDIO"]),connection_url:y().optional(),connection_token:y().nullable().optional(),npx_package:y().optional(),stdio_command:y().optional(),stdio_args:y().optional(),stdio_cwd:y().optional(),env_vars:Ce(pt).optional()}).refine(n=>n.ui_type==="NPX"?!!n.npx_package?.trim():!0,{message:"NPM package is required",path:["npx_package"]}).refine(n=>n.ui_type==="STDIO"?!!n.stdio_command?.trim():!0,{message:"Command is required",path:["stdio_command"]}).refine(n=>n.ui_type==="HTTP"||n.ui_type==="SSE"||n.ui_type==="Websocket"?!!n.connection_url?.trim():!0,{message:"URL is required",path:["connection_url"]});function A(n){const o=n.trim();if(!o)return"";try{const i=new URL(o),d=i.pathname.length>1?i.pathname.replace(/\/+$/,""):i.pathname;return`${i.origin}${d}`}catch{return o.replace(/\/+$/,"")}}function gt(n){const o=n.trim().split(/\s+/).filter(Boolean);if(o.length<2)return null;const i=o[0]?.toLowerCase();if(i!=="npx"&&i!=="bunx")return null;const m=o.slice(1).find(a=>!a.startsWith("-"));return m?{packageName:m}:null}function E(n){const{uiType:o}=n,i=A(n.connectionUrl??"");if((o==="HTTP"||o==="SSE"||o==="Websocket")&&i===A("https://api.githubcopilot.com/mcp/"))return{id:"github",title:"GitHub",description:"GitHub Copilot MCP",token:{label:"GitHub PAT",placeholder:"github_pat_…",helperText:"Paste a GitHub Personal Access Token (PAT)"}};const d=(n.npxPackage??"").trim();return o==="NPX"&&d==="@perplexity-ai/mcp-server"?{id:"perplexity",title:"Perplexity",description:"Perplexity MCP Server",envVarKeys:["PERPLEXITY_API_KEY"]}:null}function se(n){if(n.registryItems.length===0||n.uiType!=="HTTP"&&n.uiType!=="SSE"&&n.uiType!=="Websocket")return null;const o=A(n.connectionUrl??"");if(!o)return null;const i=n.registryItems.find(a=>(a.server?.remotes??[]).some(N=>A(N.url??"")===o));if(!i)return null;const d=i.title||i.name||i.server?.title||i.server?.name||"",m=i.server?.description||i.description||i.summary||null;return d?{id:"registry",title:d,description:m}:null}function xt(n,o){const i={command:"npx",args:["-y",n]},d=re(o);return Object.keys(d).length>0&&(i.envVars=d),i}function jt(n,o,i,d){const m={command:n};o.trim()&&(m.args=o.trim().split(/\s+/)),i?.trim()&&(m.cwd=i.trim());const a=re(d);return Object.keys(a).length>0&&(m.envVars=a),m}function ft(n){return n.command==="npx"}function yt(n){return n.args?.find(o=>!o.startsWith("-"))??""}function vt(n){return{command:n.command,args:n.args?.join(" ")??"",cwd:n.cwd??""}}function _t(n,o){switch(o.type){case"edit":return{mode:"editing",connection:o.connection};case"delete":return{mode:"deleting",connection:o.connection};case"close":return{mode:"idle"}}}function Ct(){const{org:n}=Fe(),o=xe(),i=je({strict:!1}),{data:d}=fe.useSession(),{stdioEnabled:m}=ye(),a=Ae({namespace:n.slug,resource:"connections"}),I=De(),N=Pe(a),[v,S]=M.useReducer(_t,{mode:"idle"}),R=Ee(N)[0],F=R?.id??"",U=ut(R?.tools),ie=Ie(F||void 0),{data:ae}=dt({toolCaller:ie,toolName:U,toolInputParams:{limit:200},scope:F,enabled:!!(F&&U),staleTime:3600*1e3}),X=mt(ae??[]),W=i.action==="create",ce=()=>{o({to:"/$org/mcps",params:{org:n.slug},search:{action:"create"}})},L=()=>{o({to:"/$org/mcps",params:{org:n.slug},search:{}})},r=ve({resolver:_e(ht),defaultValues:{title:"",description:null,ui_type:"HTTP",connection_url:"",connection_token:null,npx_package:"",stdio_command:"",stdio_args:"",stdio_cwd:"",env_vars:[]}}),u=r.watch("ui_type"),K=r.watch("connection_url"),le=r.watch("npx_package"),b=E({uiType:u,connectionUrl:K??"",npxPackage:le??""})??se({uiType:u,connectionUrl:K??"",registryItems:X}),l=v.mode==="editing"?v.connection:null;M.useEffect(()=>{if(l){const t=Ze(l.connection_headers)?l.connection_headers:null;if(t&&l.connection_type==="STDIO"){const s=et(t.envVars);if(ft(t)){const c=yt(t);r.reset({title:l.title,description:l.description,ui_type:"NPX",connection_url:"",connection_token:null,npx_package:c,stdio_command:"",stdio_args:"",stdio_cwd:"",env_vars:s})}else{const c=vt(t);r.reset({title:l.title,description:l.description,ui_type:"STDIO",connection_url:"",connection_token:null,npx_package:"",stdio_command:c.command,stdio_args:c.args,stdio_cwd:c.cwd,env_vars:s})}}else r.reset({title:l.title,description:l.description,ui_type:l.connection_type,connection_url:l.connection_url??"",connection_token:null,npx_package:"",stdio_command:"",stdio_args:"",stdio_cwd:"",env_vars:[]})}else r.reset({title:"",description:null,ui_type:"HTTP",connection_url:"",connection_token:null,npx_package:"",stdio_command:"",stdio_args:"",stdio_cwd:"",env_vars:[]})},[l,r]);const de=async()=>{if(v.mode!=="deleting")return;const t=v.connection.id;S({type:"close"});try{await I.delete.mutateAsync(t)}catch{}},ue=async t=>{let s,c=null,w=null,C=null;if(t.ui_type==="NPX"?(s="STDIO",c="",C=xt(t.npx_package||"",t.env_vars||[])):t.ui_type==="STDIO"?(s="STDIO",c="",C=jt(t.stdio_command||"",t.stdio_args||"",t.stdio_cwd,t.env_vars||[])):(s=t.ui_type,c=t.connection_url||"",w=t.connection_token||null),l){await I.update.mutateAsync({id:l.id,data:{title:t.title,description:t.description||null,connection_type:s,connection_url:c,...w&&{connection_token:w},...C&&{connection_headers:C}}}),S({type:"close"}),r.reset();return}const T=lt("conn");await I.create.mutateAsync({id:T,title:t.title,description:t.description||null,connection_type:s,connection_url:c,connection_token:w,created_at:new Date().toISOString(),updated_at:new Date().toISOString(),created_by:d?.user?.id||"system",organization_id:n.id,icon:null,app_name:null,app_id:null,connection_headers:C,oauth_config:null,configuration_state:null,metadata:null,tools:null,bindings:null,status:"inactive"}),L(),r.reset(),o({to:"/$org/mcps/$connectionId",params:{org:n.slug,connectionId:T}})},G=t=>{t||(W?L():S({type:"close"}),r.reset())},V=t=>{const s=t.trim();if(!s)return;const c=!!r.formState.dirtyFields.title,w=!!r.formState.dirtyFields.description,C=!!r.formState.dirtyFields.env_vars,T=p=>{if(p&&(!c&&!r.getValues("title").trim()&&p.title&&r.setValue("title",p.title,{shouldDirty:!1}),!w&&!(r.getValues("description")??"").trim()&&p.description&&r.setValue("description",p.description,{shouldDirty:!1}),!C&&p.envVarKeys?.length)){const q=r.getValues("env_vars")??[],he=new Set(q.map(D=>D.key)),Y=p.envVarKeys.filter(D=>!he.has(D));Y.length>0&&r.setValue("env_vars",[...q,...Y.map(D=>({key:D,value:""}))],{shouldDirty:!0})}},H=gt(s);if(H&&m){r.setValue("ui_type","NPX",{shouldDirty:!0}),r.setValue("npx_package",H.packageName,{shouldDirty:!0}),r.setValue("connection_url","",{shouldDirty:!0}),r.setValue("connection_token",null,{shouldDirty:!0}),T(E({uiType:"NPX",npxPackage:H.packageName}));return}if(s.startsWith("http://")||s.startsWith("https://")){const p=u==="HTTP"||u==="SSE"||u==="Websocket"?u:"HTTP";r.setValue("ui_type",p,{shouldDirty:!0}),r.setValue("connection_url",s,{shouldDirty:!0}),T(E({uiType:p,connectionUrl:s})??se({uiType:p,connectionUrl:s,registryItems:X}));return}u==="NPX"&&T(E({uiType:"NPX",npxPackage:s}))},me=[{id:"icon",header:"",render:t=>e.jsx(Ve,{icon:t.icon,name:t.title,size:"sm",className:"shrink-0 shadow-sm",fallbackIcon:e.jsx(O,{})}),cellClassName:"w-16 shrink-0",wrap:!0},{id:"title",header:"Name",render:t=>e.jsx("span",{className:"text-sm font-medium text-foreground truncate block",title:t.title,children:t.title}),cellClassName:"w-48 max-w-48 min-w-0 shrink-0",sortable:!0},{id:"description",header:"Description",render:t=>e.jsx("span",{className:"text-sm text-foreground line-clamp-2",children:t.description||"—"}),cellClassName:"flex-1 min-w-0",wrap:!0,sortable:!0},{id:"connection_type",header:"Type",accessor:t=>e.jsx("span",{className:"text-sm font-medium",children:t.connection_type}),cellClassName:"w-24 shrink-0",sortable:!0},{id:"connection_url",header:"URL",render:t=>{const s=t.connection_url??"",c=s.length>40?`${s.slice(0,40)}...`:s;return e.jsx("span",{className:"text-sm text-muted-foreground",children:c})},cellClassName:"w-48 min-w-0 shrink-0"},{id:"status",header:"Status",render:t=>e.jsx(We,{variant:t.status==="active"?"success":"outline",children:t.status}),cellClassName:"w-24 shrink-0",sortable:!0},{id:"actions",header:"",render:t=>e.jsxs(J,{children:[e.jsx(Z,{asChild:!0,children:e.jsx(_,{variant:"ghost",size:"sm",className:"h-8 w-8 p-0",onClick:s=>s.stopPropagation(),children:e.jsx(te,{size:20})})}),e.jsxs(ee,{align:"end",onClick:s=>s.stopPropagation(),children:[e.jsxs($,{onClick:s=>{s.stopPropagation(),o({to:"/$org/mcps/$connectionId",params:{org:n.slug,connectionId:t.id}})},children:[e.jsx(Q,{size:16}),"Inspect"]}),e.jsxs($,{variant:"destructive",onClick:s=>{s.stopPropagation(),S({type:"delete",connection:t})},children:[e.jsx(ne,{size:16}),"Delete"]})]})]}),cellClassName:"w-12 shrink-0"}],pe=e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(_,{variant:"outline",onClick:()=>o({to:"/$org/store",params:{org:n.slug}}),size:"sm",className:"h-7 px-3 rounded-lg text-sm font-medium",children:"Browse Store"}),e.jsx(_,{onClick:ce,size:"sm",className:"h-7 px-3 rounded-lg text-sm font-medium",children:"Custom Connection"})]});return e.jsxs(Se,{children:[e.jsx(Le,{open:W||v.mode==="editing",onOpenChange:G,children:e.jsxs(Ke,{className:"sm:max-w-[525px]",children:[e.jsxs(Ge,{children:[e.jsx(qe,{children:l?"Edit Connection":"Create Connection"}),e.jsx(Ye,{children:l?"Update the connection details below.":"Create a custom connection in your organization. Fill in the details below."})]}),e.jsx(Je,{...r,children:e.jsxs("form",{onSubmit:r.handleSubmit(ue),children:[e.jsxs("div",{className:"grid gap-4 py-4",children:[e.jsx(h,{control:r.control,name:"ui_type",render:({field:t})=>e.jsxs(g,{children:[e.jsx(x,{children:"Type *"}),e.jsxs(ot,{value:t.value,onValueChange:t.onChange,children:[e.jsx(j,{children:e.jsx(rt,{children:e.jsx(it,{})})}),e.jsxs(at,{children:[e.jsx(P,{value:"HTTP",children:e.jsxs("span",{className:"flex items-center gap-2",children:[e.jsx(z,{className:"w-4 h-4"}),"HTTP"]})}),e.jsx(P,{value:"SSE",children:e.jsxs("span",{className:"flex items-center gap-2",children:[e.jsx(z,{className:"w-4 h-4"}),"SSE"]})}),e.jsx(P,{value:"Websocket",children:e.jsxs("span",{className:"flex items-center gap-2",children:[e.jsx(z,{className:"w-4 h-4"}),"Websocket"]})}),m&&e.jsxs(e.Fragment,{children:[e.jsx(P,{value:"NPX",children:e.jsxs("span",{className:"flex items-center gap-2",children:[e.jsx(O,{className:"w-4 h-4"}),"NPX Package"]})}),e.jsx(P,{value:"STDIO",children:e.jsxs("span",{className:"flex items-center gap-2",children:[e.jsx(st,{className:"w-4 h-4"}),"Custom Command"]})})]})]})]}),e.jsx(f,{})]})}),u==="NPX"&&e.jsx(e.Fragment,{children:e.jsx(h,{control:r.control,name:"npx_package",render:({field:t})=>e.jsxs(g,{children:[e.jsx(x,{children:"NPM Package *"}),e.jsx(j,{children:e.jsx(k,{placeholder:"@perplexity-ai/mcp-server",...t,value:t.value??"",onPaste:s=>{const c=s.clipboardData.getData("text");c&&(s.preventDefault(),r.setValue("npx_package",c.trim(),{shouldDirty:!0}),V(c))},onBlur:s=>{V(s.target.value),t.onBlur()}})}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"The npm package to run with npx"}),e.jsx(f,{})]})})}),u==="STDIO"&&e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"grid grid-cols-2 gap-4 items-start",children:[e.jsx(h,{control:r.control,name:"stdio_command",render:({field:t})=>e.jsxs(g,{children:[e.jsx(x,{children:"Command *"}),e.jsx(j,{children:e.jsx(k,{placeholder:"node, bun, python...",...t,value:t.value??""})}),e.jsx(f,{})]})}),e.jsx(h,{control:r.control,name:"stdio_args",render:({field:t})=>e.jsxs(g,{children:[e.jsx(x,{children:"Arguments"}),e.jsx(j,{children:e.jsx(k,{placeholder:"arg1 arg2 --flag value",...t,value:t.value??""})}),e.jsx(f,{})]})})]}),e.jsx(h,{control:r.control,name:"stdio_cwd",render:({field:t})=>e.jsxs(g,{children:[e.jsx(x,{children:"Working Directory"}),e.jsx(j,{children:e.jsx(k,{placeholder:"/path/to/project (optional)",...t,value:t.value??""})}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"Directory where the command will be executed"}),e.jsx(f,{})]})})]}),(u==="NPX"||u==="STDIO")&&e.jsx(h,{control:r.control,name:"env_vars",render:({field:t})=>e.jsxs(g,{children:[e.jsx(x,{children:"Environment Variables"}),e.jsx(j,{children:e.jsx(tt,{value:t.value??[],onChange:t.onChange})}),e.jsx(f,{})]})}),u!=="NPX"&&u!=="STDIO"&&e.jsxs(e.Fragment,{children:[e.jsx(h,{control:r.control,name:"connection_url",render:({field:t})=>e.jsxs(g,{children:[e.jsx(x,{children:"URL *"}),e.jsx(j,{children:e.jsx(k,{placeholder:"https://example.com/mcp",...t,value:t.value??"",onPaste:s=>{const c=s.clipboardData.getData("text");c&&(s.preventDefault(),r.setValue("connection_url",c.trim(),{shouldDirty:!0}),V(c))},onBlur:s=>{V(s.target.value),t.onBlur()}})}),e.jsx(f,{})]})}),e.jsx(h,{control:r.control,name:"connection_token",render:({field:t})=>e.jsxs(g,{children:[e.jsx(x,{children:b?.token?.label??"Token (optional)"}),e.jsx(j,{children:e.jsx(k,{type:"password",placeholder:b?.token?.placeholder??"Bearer token or API key",...t,value:t.value??""})}),b?.token?.helperText&&e.jsxs("p",{className:"text-xs text-muted-foreground",children:[b.token.helperText,b.id==="github"&&e.jsxs(e.Fragment,{children:[" ","·"," ",e.jsx("a",{className:"text-foreground underline underline-offset-4 hover:text-foreground/80",href:"https://github.com/settings/personal-access-tokens",target:"_blank",rel:"noreferrer",children:"Open GitHub PAT settings"})]})]}),e.jsx(f,{})]})})]}),e.jsx(h,{control:r.control,name:"title",render:({field:t})=>e.jsxs(g,{children:[e.jsx(x,{children:"Name *"}),e.jsx(j,{children:e.jsx(k,{placeholder:"My Connection",...t})}),e.jsx(f,{})]})}),e.jsx(h,{control:r.control,name:"description",render:({field:t})=>e.jsxs(g,{children:[e.jsx(x,{children:"Description"}),e.jsx(j,{children:e.jsx(ct,{placeholder:"A brief description of this connection",rows:3,...t,value:t.value??""})}),e.jsx(f,{})]})})]}),e.jsxs(Qe,{children:[e.jsx(_,{type:"button",variant:"outline",onClick:()=>G(!1),children:"Cancel"}),e.jsx(_,{type:"submit",disabled:r.formState.isSubmitting,className:"min-w-40",children:r.formState.isSubmitting?"Saving...":l?"Update Connection":"Create Connection"})]})]})})]})}),e.jsx(He,{open:v.mode==="deleting",onOpenChange:t=>!t&&S({type:"close"}),children:e.jsxs(Oe,{children:[e.jsxs(Be,{children:[e.jsx(ze,{children:"Delete Connection?"}),e.jsxs(Me,{children:["This action cannot be undone. This will permanently delete"," ",e.jsx("span",{className:"font-medium text-foreground",children:v.mode==="deleting"&&v.connection.title}),"."]})]}),e.jsxs(Re,{children:[e.jsx(Ue,{children:"Cancel"}),e.jsx(Xe,{onClick:de,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:"Delete"})]})]})}),e.jsx(Ne,{title:"Connections",viewMode:a.viewMode,onViewModeChange:a.setViewMode,sortKey:a.sortKey,sortDirection:a.sortDirection,onSort:a.handleSort,sortOptions:[{id:"title",label:"Name"},{id:"description",label:"Description"},{id:"connection_type",label:"Type"},{id:"status",label:"Status"}],ctaButton:pe}),e.jsx(we,{value:a.search,onChange:a.setSearch,placeholder:"Search for a Connection...",onKeyDown:t=>{t.key==="Escape"&&(a.setSearch(""),t.target.blur())}}),a.viewMode==="cards"?e.jsx("div",{className:"flex-1 overflow-auto p-5",children:N.length===0?e.jsx(B,{image:e.jsx("img",{src:"/emptystate-mcp.svg",alt:"",width:336,height:320,"aria-hidden":"true"}),title:(a.search,"No Connections found"),description:a.search?`No Connections match "${a.search}"`:"Create a connection to get started.",actions:!a.search&&e.jsx(_,{variant:"outline",onClick:()=>o({to:"/$org/store",params:{org:n.slug}}),children:"Browse Store"})}):e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-3 lg:grid-cols-4 gap-4",children:N.map(t=>e.jsx(be,{connection:t,fallbackIcon:e.jsx(O,{}),onClick:()=>o({to:"/$org/mcps/$connectionId",params:{org:n.slug,connectionId:t.id}}),headerActions:e.jsxs(J,{children:[e.jsx(Z,{asChild:!0,children:e.jsx(_,{variant:"ghost",size:"sm",className:"h-8 w-8 p-0",onClick:s=>s.stopPropagation(),children:e.jsx(te,{size:20})})}),e.jsxs(ee,{align:"end",onClick:s=>s.stopPropagation(),children:[e.jsxs($,{onClick:s=>{s.stopPropagation(),o({to:"/$org/mcps/$connectionId",params:{org:n.slug,connectionId:t.id}})},children:[e.jsx(Q,{size:16}),"Inspect"]}),e.jsxs($,{variant:"destructive",onClick:s=>{s.stopPropagation(),S({type:"delete",connection:t})},children:[e.jsx(ne,{size:16}),"Delete"]})]})]})},t.id))})}):e.jsx(Te,{columns:me,data:N,isLoading:!1,sortKey:a.sortKey,sortDirection:a.sortDirection,onSort:a.handleSort,onRowClick:t=>o({to:"/$org/mcps/$connectionId",params:{org:n.slug,connectionId:t.id}}),emptyState:a.search?e.jsx(B,{image:e.jsx("img",{src:"/emptystate-mcp.svg",alt:"",width:400,height:178,"aria-hidden":"true"}),title:"No Connections found",description:`No Connections match "${a.search}"`}):e.jsx(B,{image:e.jsx("img",{src:"/emptystate-mcp.svg",alt:"",width:400,height:178,"aria-hidden":"true"}),title:"No Connections found",description:"Create a connection to get started.",actions:e.jsx(_,{variant:"outline",onClick:()=>o({to:"/$org/store",params:{org:n.slug}}),children:"Browse Store"})})})]})}function cn(){const n=ge.c(1);let o;return n[0]===Symbol.for("react.memo_cache_sentinel")?(o=e.jsx($e,{children:e.jsx(M.Suspense,{fallback:e.jsx("div",{className:"flex h-full items-center justify-center",children:e.jsx(nt,{size:32,className:"animate-spin text-muted-foreground"})}),children:e.jsx(Ct,{})})}),n[0]=o):o=n[0],o}export{cn as default};
@@ -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{c,j as i,bz as p,bA as f,bB as m,bC as g,bD as b,bE as x,bF as v,bG as w,bH as h}from"./index-DsWTyaMI.js";import{i as j}from"./ChevronRight-Boh94iyZ.js";import{c as u}from"./input-Bjw47IqN.js";function S(s){const e=c.c(4);let t;e[0]!==s?({...t}=s,e[0]=s,e[1]=t):t=e[1];let o;return e[2]!==t?(o=i.jsx(p,{"data-slot":"dropdown-menu",...t}),e[2]=t,e[3]=o):o=e[3],o}function M(s){const e=c.c(4);let t;e[0]!==s?({...t}=s,e[0]=s,e[1]=t):t=e[1];let o;return e[2]!==t?(o=i.jsx(f,{"data-slot":"dropdown-menu-trigger",...t}),e[2]=t,e[3]=o):o=e[3],o}function $(s){const e=c.c(10);let t,o,a;e[0]!==s?({className:t,sideOffset:a,...o}=s,e[0]=s,e[1]=t,e[2]=o,e[3]=a):(t=e[1],o=e[2],a=e[3]);const n=a===void 0?4:a;let r;e[4]!==t?(r=u("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-lg border p-1 shadow-md",t),e[4]=t,e[5]=r):r=e[5];let d;return e[6]!==o||e[7]!==n||e[8]!==r?(d=i.jsx(m,{children:i.jsx(g,{"data-slot":"dropdown-menu-content",sideOffset:n,className:r,...o})}),e[6]=o,e[7]=n,e[8]=r,e[9]=d):d=e[9],d}function y(s){const e=c.c(12);let t,o,a,n;e[0]!==s?({className:t,inset:o,variant:n,...a}=s,e[0]=s,e[1]=t,e[2]=o,e[3]=a,e[4]=n):(t=e[1],o=e[2],a=e[3],n=e[4]);const r=n===void 0?"default":n;let d;e[5]!==t?(d=u("focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-pointer items-center gap-2 rounded-lg px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",t),e[5]=t,e[6]=d):d=e[6];let l;return e[7]!==o||e[8]!==a||e[9]!==d||e[10]!==r?(l=i.jsx(b,{"data-slot":"dropdown-menu-item","data-inset":o,"data-variant":r,className:d,...a}),e[7]=o,e[8]=a,e[9]=d,e[10]=r,e[11]=l):l=e[11],l}function _(s){const e=c.c(8);let t,o;e[0]!==s?({className:t,...o}=s,e[0]=s,e[1]=t,e[2]=o):(t=e[1],o=e[2]);let a;e[3]!==t?(a=u("bg-border -mx-1 my-1 h-px",t),e[3]=t,e[4]=a):a=e[4];let n;return e[5]!==o||e[6]!==a?(n=i.jsx(h,{"data-slot":"dropdown-menu-separator",className:a,...o}),e[5]=o,e[6]=a,e[7]=n):n=e[7],n}function C(s){const e=c.c(4);let t;e[0]!==s?({...t}=s,e[0]=s,e[1]=t):t=e[1];let o;return e[2]!==t?(o=i.jsx(x,{"data-slot":"dropdown-menu-sub",...t}),e[2]=t,e[3]=o):o=e[3],o}function T(s){const e=c.c(13);let t,o,a,n;e[0]!==s?({className:o,inset:a,children:t,...n}=s,e[0]=s,e[1]=t,e[2]=o,e[3]=a,e[4]=n):(t=e[1],o=e[2],a=e[3],n=e[4]);let r;e[5]!==o?(r=u("focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground flex cursor-default items-center rounded-lg px-2 py-1.5 text-sm outline-hidden select-none data-[inset]:pl-8",o),e[5]=o,e[6]=r):r=e[6];let d;e[7]===Symbol.for("react.memo_cache_sentinel")?(d=i.jsx(j,{className:"ml-auto size-4"}),e[7]=d):d=e[7];let l;return e[8]!==t||e[9]!==a||e[10]!==n||e[11]!==r?(l=i.jsxs(v,{"data-slot":"dropdown-menu-sub-trigger","data-inset":a,className:r,...n,children:[t,d]}),e[8]=t,e[9]=a,e[10]=n,e[11]=r,e[12]=l):l=e[12],l}function E(s){const e=c.c(8);let t,o;e[0]!==s?({className:t,...o}=s,e[0]=s,e[1]=t,e[2]=o):(t=e[1],o=e[2]);let a;e[3]!==t?(a=u("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden rounded-md border p-1 shadow-lg",t),e[3]=t,e[4]=a):a=e[4];let n;return e[5]!==o||e[6]!==a?(n=i.jsx(w,{"data-slot":"dropdown-menu-sub-content",className:a,...o}),e[5]=o,e[6]=a,e[7]=n):n=e[7],n}export{M as D,$ as a,S as b,y as c,_ as d,C as e,T as f,E as g};
@@ -1 +0,0 @@
1
- import{ai as Q,r as y,c as w,j as r,aW as M}from"./index-DsWTyaMI.js";import{i as Z}from"./project-context-provider-4_jnbmhf.js";import{u as ee,i as q}from"./use-gateway-LBTVY8TW.js";import{I as X,i as te}from"./use-connection-BRzCmTOd.js";import{b as se,a as le,c as ae,S as ne}from"./select-D0sx2072.js";import{c as $,B as re,I as oe}from"./input-Bjw47IqN.js";import{u as ie}from"./use-mobile-b2I183jd.js";function K({prop:l,defaultProp:e,onChange:t=()=>{}}){const[s,a]=ce({defaultProp:e,onChange:t}),n=l!==void 0,o=n?l:s,i=Q(t),c=y.useCallback(d=>{if(n){const f=typeof d=="function"?d(l):d;f!==l&&i(f)}else a(d)},[n,l,a,i]);return[o,c]}function ce({defaultProp:l,onChange:e}){const t=y.useState(l),[s]=t,a=y.useRef(s),n=Q(e);return y.useEffect(()=>{a.current!==s&&(n(s),a.current=s)},[s,a,n]),t}function de(l){const e=w.c(4);let t;e[0]!==l?({...t}=l,e[0]=l,e[1]=t):t=e[1];let s;return e[2]!==t?(s=r.jsx(M.Root,{"data-slot":"drawer",...t}),e[2]=t,e[3]=s):s=e[3],s}function fe(l){const e=w.c(4);let t;e[0]!==l?({...t}=l,e[0]=l,e[1]=t):t=e[1];let s;return e[2]!==t?(s=r.jsx(M.Trigger,{"data-slot":"drawer-trigger",...t}),e[2]=t,e[3]=s):s=e[3],s}function ue(l){const e=w.c(4);let t;e[0]!==l?({...t}=l,e[0]=l,e[1]=t):t=e[1];let s;return e[2]!==t?(s=r.jsx(M.Portal,{"data-slot":"drawer-portal",...t}),e[2]=t,e[3]=s):s=e[3],s}function me(l){const e=w.c(8);let t,s;e[0]!==l?({className:t,...s}=l,e[0]=l,e[1]=t,e[2]=s):(t=e[1],s=e[2]);let a;e[3]!==t?(a=$("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",t),e[3]=t,e[4]=a):a=e[4];let n;return e[5]!==s||e[6]!==a?(n=r.jsx(M.Overlay,{"data-slot":"drawer-overlay",className:a,...s}),e[5]=s,e[6]=a,e[7]=n):n=e[7],n}function pe(l){const e=w.c(12);let t,s,a;e[0]!==l?({className:s,children:t,...a}=l,e[0]=l,e[1]=t,e[2]=s,e[3]=a):(t=e[1],s=e[2],a=e[3]);let n;e[4]===Symbol.for("react.memo_cache_sentinel")?(n=r.jsx(me,{}),e[4]=n):n=e[4];let o;e[5]!==s?(o=$("group/drawer-content bg-background fixed z-50 flex h-auto flex-col","data-[vaul-drawer-direction=top]:inset-x-0 data-[vaul-drawer-direction=top]:top-0 data-[vaul-drawer-direction=top]:mb-24 data-[vaul-drawer-direction=top]:max-h-[80vh] data-[vaul-drawer-direction=top]:rounded-b-lg data-[vaul-drawer-direction=top]:border-b","data-[vaul-drawer-direction=bottom]:inset-x-0 data-[vaul-drawer-direction=bottom]:bottom-0 data-[vaul-drawer-direction=bottom]:mt-24 data-[vaul-drawer-direction=bottom]:max-h-[80vh] data-[vaul-drawer-direction=bottom]:rounded-t-lg data-[vaul-drawer-direction=bottom]:border-t","data-[vaul-drawer-direction=right]:inset-y-0 data-[vaul-drawer-direction=right]:right-0 data-[vaul-drawer-direction=right]:w-3/4 data-[vaul-drawer-direction=right]:border-l data-[vaul-drawer-direction=right]:sm:max-w-sm","data-[vaul-drawer-direction=left]:inset-y-0 data-[vaul-drawer-direction=left]:left-0 data-[vaul-drawer-direction=left]:w-3/4 data-[vaul-drawer-direction=left]:border-r data-[vaul-drawer-direction=left]:sm:max-w-sm",s),e[5]=s,e[6]=o):o=e[6];let i;e[7]===Symbol.for("react.memo_cache_sentinel")?(i=r.jsx("div",{className:"bg-muted mx-auto mt-4 hidden h-2 w-[100px] shrink-0 rounded-full group-data-[vaul-drawer-direction=bottom]/drawer-content:block"}),e[7]=i):i=e[7];let c;return e[8]!==t||e[9]!==a||e[10]!==o?(c=r.jsxs(ue,{"data-slot":"drawer-portal",children:[n,r.jsxs(M.Content,{"data-slot":"drawer-content",className:o,...a,children:[i,t]})]}),e[8]=t,e[9]=a,e[10]=o,e[11]=c):c=e[11],c}function xe(l){const e=w.c(8);let t,s;e[0]!==l?({className:t,...s}=l,e[0]=l,e[1]=t,e[2]=s):(t=e[1],s=e[2]);let a;e[3]!==t?(a=$("flex flex-col gap-1.5 px-4 py-2",t),e[3]=t,e[4]=a):a=e[4];let n;return e[5]!==s||e[6]!==a?(n=r.jsx("div",{"data-slot":"drawer-header",className:a,...s}),e[5]=s,e[6]=a,e[7]=n):n=e[7],n}function he(l){const e=w.c(8);let t,s;e[0]!==l?({className:t,...s}=l,e[0]=l,e[1]=t,e[2]=s):(t=e[1],s=e[2]);let a;e[3]!==t?(a=$("text-foreground font-semibold",t),e[3]=t,e[4]=a):a=e[4];let n;return e[5]!==s||e[6]!==a?(n=r.jsx(M.Title,{"data-slot":"drawer-title",className:a,...s}),e[5]=s,e[6]=a,e[7]=n):n=e[7],n}const Y=y.createContext({isMobile:!1,setValue:()=>{}}),F=()=>y.useContext(Y),we=l=>{const e=w.c(37);let t,s,a,n,o,i,c,d;e[0]!==l?({children:t,defaultOpen:s,open:i,onOpenChange:n,defaultValue:a,value:d,onValueChange:o,...c}=l,e[0]=l,e[1]=t,e[2]=s,e[3]=a,e[4]=n,e[5]=o,e[6]=i,e[7]=c,e[8]=d):(t=e[1],s=e[2],a=e[3],n=e[4],o=e[5],i=e[6],c=e[7],d=e[8]);const p=ie(),f=s??!1;let m;e[9]!==n||e[10]!==i||e[11]!==f?(m={prop:i,defaultProp:f,onChange:n},e[9]=n,e[10]=i,e[11]=f,e[12]=m):m=e[12];const[x,h]=K(m);let N;e[13]!==a||e[14]!==o||e[15]!==d?(N={prop:d,defaultProp:a,onChange:o},e[13]=a,e[14]=o,e[15]=d,e[16]=N):N=e[16];const[S,k]=K(N);let I;e[17]!==k?(I=E=>{E&&k(E)},e[17]=k,e[18]=I):I=e[18];const j=I;let v;e[19]!==p||e[20]!==j?(v={isMobile:p,setValue:j},e[19]=p,e[20]=j,e[21]=v):v=e[21];let b;e[22]!==t||e[23]!==x||e[24]!==c||e[25]!==h?(b=r.jsx(de,{open:x,onOpenChange:h,...c,children:t}),e[22]=t,e[23]=x,e[24]=c,e[25]=h,e[26]=b):b=e[26];let g;e[27]!==x||e[28]!==c||e[29]!==h||e[30]!==j||e[31]!==b||e[32]!==S?(g=r.jsx(ne,{open:x,onOpenChange:h,value:S,onValueChange:j,...c,children:b}),e[27]=x,e[28]=c,e[29]=h,e[30]=j,e[31]=b,e[32]=S,e[33]=g):g=e[33];let C;return e[34]!==v||e[35]!==g?(C=r.jsx(Y.Provider,{value:v,children:g}),e[34]=v,e[35]=g,e[36]=C):C=e[36],C},ge=l=>{const{children:e,title:t,headerActions:s,...a}=l,{isMobile:n}=F(),{className:o,...i}=a;return n?r.jsxs(pe,{...i,children:[r.jsxs(xe,{className:$(s?"flex flex-row items-center justify-between":"hidden"),children:[r.jsx(he,{children:t}),s]}),r.jsx("div",{className:$("flex flex-col gap-2 p-2 py-4",o),children:e})]}):r.jsx(ae,{...a,children:e})},ve=l=>{const e=w.c(7);let t,s;e[0]!==l?({children:t,...s}=l,e[0]=l,e[1]=t,e[2]=s):(t=e[1],s=e[2]);const{isMobile:a}=F();let n;return e[3]!==t||e[4]!==a||e[5]!==s?(n=a?r.jsx(fe,{asChild:!0,children:r.jsx(re,{variant:"outline",...s,children:t})}):r.jsx(le,{...s,children:t}),e[3]=t,e[4]=a,e[5]=s,e[6]=n):n=e[6],n},be=l=>{const e=w.c(7);let t,s;e[0]!==l?({children:t,...s}=l,e[0]=l,e[1]=t,e[2]=s):(t=e[1],s=e[2]);const{isMobile:a}=F();let n;return e[3]!==t||e[4]!==a||e[5]!==s?(n=a?r.jsx("span",{...s,children:t}):r.jsx(se,{...s,children:t}),e[3]=t,e[4]=a,e[5]=s,e[6]=n):n=e[6],n};function je(){const l=w.c(4),e=ee();let t;l[0]!==e?(t=e??[],l[0]=e,l[1]=t):t=l[1];let s;return l[2]!==t?(s=t.map(ye),l[2]=t,l[3]=s):s=l[3],s}function ye(l){return{id:l.id,title:l.title,description:l.description??null,icon:l.icon??null,fallbackIcon:r.jsx(q,{})}}function Ne(l){const e=w.c(24),{gateway:t,isSelected:s}=l,a=s&&"bg-accent";let n;e[0]!==a?(n=$("flex items-start gap-3 py-3 px-3 hover:bg-accent cursor-pointer rounded-lg",a),e[0]=a,e[1]=n):n=e[1];let o;e[2]!==t.fallbackIcon?(o=t.fallbackIcon??r.jsx(q,{}),e[2]=t.fallbackIcon,e[3]=o):o=e[3];let i;e[4]!==t.icon||e[5]!==t.title||e[6]!==o?(i=r.jsx(X,{icon:t.icon,name:t.title,size:"sm",fallbackIcon:o,className:"size-10"}),e[4]=t.icon,e[5]=t.title,e[6]=o,e[7]=i):i=e[7];let c;e[8]!==t.title?(c=r.jsx("span",{className:"text-sm font-medium text-foreground truncate",children:t.title}),e[8]=t.title,e[9]=c):c=e[9];let d;e[10]!==s?(d=s&&r.jsx(Z,{size:16,className:"text-foreground shrink-0"}),e[10]=s,e[11]=d):d=e[11];let p;e[12]!==c||e[13]!==d?(p=r.jsxs("div",{className:"flex items-center justify-between",children:[c,d]}),e[12]=c,e[13]=d,e[14]=p):p=e[14];let f;e[15]!==t.description?(f=t.description&&r.jsx("p",{className:"text-xs text-muted-foreground line-clamp-1 leading-relaxed",children:t.description}),e[15]=t.description,e[16]=f):f=e[16];let m;e[17]!==p||e[18]!==f?(m=r.jsxs("div",{className:"flex flex-col flex-1 min-w-0 gap-0.5",children:[p,f]}),e[17]=p,e[18]=f,e[19]=m):m=e[19];let x;return e[20]!==n||e[21]!==i||e[22]!==m?(x=r.jsxs("div",{className:n,children:[i,m]}),e[20]=n,e[21]=i,e[22]=m,e[23]=x):x=e[23],x}function Ce(l){const e=w.c(12),{gateway:t}=l;if(!t){let i;return e[0]===Symbol.for("react.memo_cache_sentinel")?(i=r.jsx("span",{className:"text-sm text-muted-foreground",children:"Select agent"}),e[0]=i):i=e[0],i}let s;e[1]!==t.fallbackIcon?(s=t.fallbackIcon??r.jsx(q,{}),e[1]=t.fallbackIcon,e[2]=s):s=e[2];let a;e[3]!==t.icon||e[4]!==t.title||e[5]!==s?(a=r.jsx(X,{icon:t.icon,name:t.title,size:"xs",fallbackIcon:s,className:"w-5! h-5! min-w-5! shrink-0 rounded-sm"}),e[3]=t.icon,e[4]=t.title,e[5]=s,e[6]=a):a=e[6];let n;e[7]!==t.title?(n=r.jsx("span",{className:"text-sm text-muted-foreground group-hover:text-foreground transition-colors truncate min-w-0 max-w-[200px] hidden sm:inline-block",children:t.title}),e[7]=t.title,e[8]=n):n=e[8];let o;return e[9]!==a||e[10]!==n?(o=r.jsxs("div",{className:"flex items-center gap-2 min-w-0 max-w-full",children:[a,n]}),e[9]=a,e[10]=n,e[11]=o):o=e[11],o}function _e(l){const e=w.c(47),{selectedGatewayId:t,onGatewayChange:s,variant:a,className:n,placeholder:o}=l,i=a===void 0?"bordered":a,c=o===void 0?"Select Agent":o,[d,p]=y.useState(!1),[f,m]=y.useState(""),x=y.useRef(null),h=je();let N,S;e[0]!==d?(N=()=>{d&&setTimeout(()=>{x.current?.focus()},0)},S=[d],e[0]=d,e[1]=N,e[2]=S):(N=e[1],S=e[2]),y.useEffect(N,S);let k;if(e[3]!==h||e[4]!==t){let u;e[6]!==t?(u=U=>U.id===t,e[6]=t,e[7]=u):u=e[7],k=h.find(u),e[3]=h,e[4]=t,e[5]=k}else k=e[5];const I=k;let j;e:{if(!f.trim()){j=h;break e}let u;if(e[8]!==h||e[9]!==f){const U=f.toLowerCase();u=h.filter(J=>J.title.toLowerCase().includes(U)||J.description?.toLowerCase().includes(U)),e[8]=h,e[9]=f,e[10]=u}else u=e[10];j=u}const v=j;let b;e[11]!==s?(b=u=>{s(u),m(""),p(!1)},e[11]=s,e[12]=b):b=e[12];const g=b;let C;e[13]===Symbol.for("react.memo_cache_sentinel")?(C=u=>{p(u),u||m("")},e[13]=C):C=e[13];const E=C,H=t||"",W=i==="borderless"&&"border-0 md:border-none";let R;e[14]!==n||e[15]!==W?(R=$("text-sm hover:bg-accent rounded-lg py-0.5 px-1 gap-1 shadow-none cursor-pointer group focus-visible:ring-0 focus-visible:ring-offset-0 min-w-0 max-w-full",W,n),e[14]=n,e[15]=W,e[16]=R):R=e[16];let D;e[17]!==I?(D=r.jsx(Ce,{gateway:I}),e[17]=I,e[18]=D):D=e[18];let G;e[19]!==c||e[20]!==D?(G=r.jsx(be,{placeholder:c,className:"min-w-0 max-w-full",children:D}),e[19]=c,e[20]=D,e[21]=G):G=e[21];let _;e[22]!==R||e[23]!==G?(_=r.jsx(ve,{size:"sm",className:R,children:G}),e[22]=R,e[23]=G,e[24]=_):_=e[24];let L;e[25]===Symbol.for("react.memo_cache_sentinel")?(L=r.jsx(te,{size:16,className:"absolute left-3 top-1/2 -translate-y-1/2 text-muted-foreground pointer-events-none"}),e[25]=L):L=e[25];let A;e[26]===Symbol.for("react.memo_cache_sentinel")?(A=u=>m(u.target.value),e[26]=A):A=e[26];let P;e[27]!==f?(P=r.jsx("div",{className:"border-b px-4 py-3 bg-background/95 backdrop-blur sticky top-0 z-10",children:r.jsxs("div",{className:"relative",children:[L,r.jsx(oe,{ref:x,type:"text",placeholder:"Search for an agent...",value:f,onChange:A,className:"pl-9 h-9 text-sm border-0 focus-visible:ring-0 focus-visible:ring-offset-0 shadow-none"})]})}),e[27]=f,e[28]=P):P=e[28];let z;e[29]!==v||e[30]!==g||e[31]!==t?(z=v.length>0?v.map(u=>r.jsx("div",{onClick:()=>g(u.id),className:"outline-none",children:r.jsx(Ne,{gateway:u,isSelected:u.id===t})},u.id)):r.jsx("div",{className:"flex items-center justify-center py-8 text-sm text-muted-foreground",children:"No agents found"}),e[29]=v,e[30]=g,e[31]=t,e[32]=z):z=e[32];let O;e[33]!==z?(O=r.jsx("div",{className:"overflow-y-auto p-2 flex flex-col gap-1",children:z}),e[33]=z,e[34]=O):O=e[34];let T;e[35]!==P||e[36]!==O?(T=r.jsxs("div",{className:"flex flex-col max-h-[300px]",children:[P,O]}),e[35]=P,e[36]=O,e[37]=T):T=e[37];let V;e[38]!==c||e[39]!==T?(V=r.jsx(ge,{title:c,className:"w-full md:w-[400px] p-0",side:"bottom",children:T}),e[38]=c,e[39]=T,e[40]=V):V=e[40];let B;return e[41]!==g||e[42]!==d||e[43]!==_||e[44]!==V||e[45]!==H?(B=r.jsxs(we,{open:d,onOpenChange:E,value:H,onValueChange:g,children:[_,V]}),e[41]=g,e[42]=d,e[43]=_,e[44]=V,e[45]=H,e[46]=B):B=e[46],B}export{fe as D,_e as G,be as R,pe as a,xe as b,he as c,de as d,je as e,ve as f,ge as g,we as h,K as u};
@@ -1 +0,0 @@
1
- import{c as te,j as t,r as se,h as ne,t as re}from"./index-DsWTyaMI.js";import{C as ie}from"./collection-header-DS84Dz-Z.js";import{C as ae}from"./collection-page-Dw7iXEq1.js";import{C as le}from"./collection-search-Dwhflp6J.js";import{C as ce}from"./collection-table-wrapper-Tc6aoQU4.js";import{C as de}from"./connection-card-BOHNc6OM.js";import{u as me,E as q,I as ue}from"./use-connection-BRzCmTOd.js";import{E as ge}from"./error-boundary-NRHN5Y9-.js";import{a as pe,u as he,i as j}from"./use-gateway-LBTVY8TW.js";import{u as fe,s as Q}from"./use-list-state-C9bMHTQK.js";import{u as xe}from"./project-context-provider-4_jnbmhf.js";import{c as je,b as ye,d as we,A as Ce,e as Ne,g as De,a as Se,f as ve}from"./alert-dialog-F5nkQKBj.js";import{B as oe}from"./badge-BRpJ4D36.js";import{B as J}from"./input-Bjw47IqN.js";import{b as U,D as X,a as Y,c as G}from"./dropdown-menu-Dl6PURsy.js";import{i as Z}from"./DotsVertical-cXTBD68H.js";import{i as be}from"./Loading01-BqUL1Os2.js";import{s as ee}from"./Trash01-C3O36hTP.js";import"./collection-display-button-BEkWecO6.js";import"./Grid01-COCXYn3t.js";import"./view-mode-toggle-DlhHZSZ6.js";import"./card-DPsjHi5_.js";import"./use-mobile-b2I183jd.js";import"./ChevronRight-Boh94iyZ.js";function ke(e,n){switch(n.type){case"delete":return{mode:"deleting",gateway:n.gateway};case"close":return{mode:"idle"}}}function _e(){const e=te.c(68),{org:n}=xe(),r=ne();let y;e[0]!==n.slug?(y={namespace:n.slug,resource:"gateways"},e[0]=n.slug,e[1]=y):y=e[1];const s=fe(y),i=pe(),x=he(s);let w;e[2]===Symbol.for("react.memo_cache_sentinel")?(w={},e[2]=w):w=e[2];const R=me(w);let C;e[3]===Symbol.for("react.memo_cache_sentinel")?(C={mode:"idle"},e[3]=C):C=e[3];const[a,N]=se.useReducer(ke,C);let D;e[4]!==i.create||e[5]!==R.length||e[6]!==r||e[7]!==n.slug?(D=async()=>{if(R.length===0){re.error("Create at least one Connection first");return}const o=await i.create.mutateAsync({title:"New Agent",description:"Agents let you securely expose integrated tools to the outside world.",status:"active",tool_selection_strategy:"passthrough",tool_selection_mode:"inclusion",connections:[]});r({to:"/$org/gateways/$gatewayId",params:{org:n.slug,gatewayId:o.id}})},e[4]=i.create,e[5]=R.length,e[6]=r,e[7]=n.slug,e[8]=D):D=e[8];const T=D;let S;e[9]!==i.delete||e[10]!==a.gateway||e[11]!==a.mode?(S=async()=>{if(a.mode!=="deleting")return;const o=a.gateway.id;N({type:"close"});try{await i.delete.mutateAsync(o)}catch{}},e[9]=i.delete,e[10]=a.gateway,e[11]=a.mode,e[12]=S):S=e[12];const O=S;let v,b,k,_,I,A;e[13]===Symbol.for("react.memo_cache_sentinel")?(b={id:"icon",header:"",render:Ge,cellClassName:"w-16 shrink-0",wrap:!0},k={id:"title",header:"Name",render:Be,cellClassName:"w-48 min-w-0 shrink-0",sortable:!0},_={id:"description",header:"Description",render:Ke,cellClassName:"flex-1 min-w-0",wrap:!0,sortable:!0},I={id:"mode",header:"Mode",accessor:Ee,cellClassName:"w-[100px]"},A={id:"connections",header:"Connections",render:Pe,cellClassName:"w-24 shrink-0"},v={id:"status",header:"Status",render:ze,cellClassName:"w-24 shrink-0",sortable:!0},e[13]=v,e[14]=b,e[15]=k,e[16]=_,e[17]=I,e[18]=A):(v=e[13],b=e[14],k=e[15],_=e[16],I=e[17],A=e[18]);let $;e[19]!==r||e[20]!==n.slug?($=[b,k,_,I,A,v,{id:"actions",header:"",render:o=>t.jsxs(U,{children:[t.jsx(X,{asChild:!0,children:t.jsx(J,{variant:"ghost",size:"sm",className:"h-8 w-8 p-0",onClick:Me,children:t.jsx(Z,{size:20})})}),t.jsxs(Y,{align:"end",onClick:$e,children:[t.jsxs(G,{onClick:l=>{l.stopPropagation(),r({to:"/$org/gateways/$gatewayId",params:{org:n.slug,gatewayId:o.id}})},children:[t.jsx(Q,{size:16}),"Inspect"]}),t.jsxs(G,{variant:"destructive",onClick:l=>{l.stopPropagation(),N({type:"delete",gateway:o})},children:[t.jsx(ee,{size:16}),"Delete"]})]})]}),cellClassName:"w-12 shrink-0"}],e[19]=r,e[20]=n.slug,e[21]=$):$=e[21];const V=$,H=i.create.isPending?"Creating...":"Create Agent";let M;e[22]!==i.create.isPending||e[23]!==T||e[24]!==H?(M=t.jsx(J,{onClick:T,size:"sm",className:"h-7 px-3 rounded-lg text-sm font-medium",disabled:i.create.isPending,children:H}),e[22]=i.create.isPending,e[23]=T,e[24]=H,e[25]=M):M=e[25];const L=M,F=a.mode==="deleting";let z;e[26]===Symbol.for("react.memo_cache_sentinel")?(z=o=>!o&&N({type:"close"}),e[26]=z):z=e[26];let P;e[27]===Symbol.for("react.memo_cache_sentinel")?(P=t.jsx(je,{children:"Delete Agent?"}),e[27]=P):P=e[27];const W=a.mode==="deleting"&&a.gateway.title;let c;e[28]!==W?(c=t.jsxs(ye,{children:[P,t.jsxs(we,{children:["This action cannot be undone. This will permanently delete"," ",t.jsx("span",{className:"font-medium text-foreground",children:W}),"."]})]}),e[28]=W,e[29]=c):c=e[29];let E;e[30]===Symbol.for("react.memo_cache_sentinel")?(E=t.jsx(Ce,{children:"Cancel"}),e[30]=E):E=e[30];let d;e[31]!==O?(d=t.jsxs(Ne,{children:[E,t.jsx(De,{onClick:O,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:"Delete"})]}),e[31]=O,e[32]=d):d=e[32];let m;e[33]!==c||e[34]!==d?(m=t.jsxs(Se,{children:[c,d]}),e[33]=c,e[34]=d,e[35]=m):m=e[35];let u;e[36]!==F||e[37]!==m?(u=t.jsx(ve,{open:F,onOpenChange:z,children:m}),e[36]=F,e[37]=m,e[38]=u):u=e[38];let K;e[39]===Symbol.for("react.memo_cache_sentinel")?(K=[{id:"title",label:"Name"},{id:"description",label:"Description"},{id:"status",label:"Status"}],e[39]=K):K=e[39];let g;e[40]!==L||e[41]!==s.handleSort||e[42]!==s.setViewMode||e[43]!==s.sortDirection||e[44]!==s.sortKey||e[45]!==s.viewMode?(g=t.jsx(ie,{title:"Agents",viewMode:s.viewMode,onViewModeChange:s.setViewMode,sortKey:s.sortKey,sortDirection:s.sortDirection,onSort:s.handleSort,sortOptions:K,ctaButton:L}),e[40]=L,e[41]=s.handleSort,e[42]=s.setViewMode,e[43]=s.sortDirection,e[44]=s.sortKey,e[45]=s.viewMode,e[46]=g):g=e[46];let p;e[47]!==s?(p=o=>{o.key==="Escape"&&(s.setSearch(""),o.target.blur())},e[47]=s,e[48]=p):p=e[48];let h;e[49]!==s.search||e[50]!==s.setSearch||e[51]!==p?(h=t.jsx(le,{value:s.search,onChange:s.setSearch,placeholder:"Search for an agent...",onKeyDown:p}),e[49]=s.search,e[50]=s.setSearch,e[51]=p,e[52]=h):h=e[52];let f;e[53]!==V||e[54]!==x||e[55]!==s.handleSort||e[56]!==s.search||e[57]!==s.sortDirection||e[58]!==s.sortKey||e[59]!==s.viewMode||e[60]!==r||e[61]!==n.slug?(f=s.viewMode==="cards"?t.jsx("div",{className:"flex-1 overflow-auto p-5",children:x.length===0?t.jsx(q,{image:t.jsx(j,{size:36,className:"text-muted-foreground"}),title:s.search?"No agents found":"No agents yet",description:s.search?`No agents match "${s.search}"`:"Create an agent to aggregate tools from multiple Connections."}):t.jsx("div",{className:"grid grid-cols-1 md:grid-cols-3 lg:grid-cols-4 gap-4",children:x.map(o=>t.jsx(de,{connection:{id:o.id,title:o.title,description:o.description,icon:o.icon,status:o.status},fallbackIcon:t.jsx(j,{}),onClick:()=>r({to:"/$org/gateways/$gatewayId",params:{org:n.slug,gatewayId:o.id}}),footer:t.jsxs("div",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:[t.jsxs("span",{children:[o.connections.length," connection",o.connections.length!==1?"s":""]}),t.jsx("span",{children:"•"}),t.jsx("span",{children:o.tool_selection_mode==="exclusion"?"Exclude":"Include"})]}),headerActions:t.jsxs(U,{children:[t.jsx(X,{asChild:!0,children:t.jsx(J,{variant:"ghost",size:"sm",className:"h-8 w-8 p-0",onClick:Ae,children:t.jsx(Z,{size:20})})}),t.jsxs(Y,{align:"end",onClick:Ie,children:[t.jsxs(G,{onClick:l=>{l.stopPropagation(),r({to:"/$org/gateways/$gatewayId",params:{org:n.slug,gatewayId:o.id}})},children:[t.jsx(Q,{size:16}),"Inspect"]}),t.jsxs(G,{variant:"destructive",onClick:l=>{l.stopPropagation(),N({type:"delete",gateway:o})},children:[t.jsx(ee,{size:16}),"Delete"]})]})]})},o.id))})}):t.jsx(ce,{columns:V,data:x,isLoading:!1,sortKey:s.sortKey,sortDirection:s.sortDirection,onSort:s.handleSort,onRowClick:o=>r({to:"/$org/gateways/$gatewayId",params:{org:n.slug,gatewayId:o.id}}),emptyState:s.search?t.jsx(q,{image:t.jsx(j,{size:36,className:"text-muted-foreground"}),title:"No agents found",description:`No agents match "${s.search}"`}):t.jsx(q,{image:t.jsx(j,{size:36,className:"text-muted-foreground"}),title:"No agents yet",description:"Create an agent to aggregate tools from multiple Connections."})}),e[53]=V,e[54]=x,e[55]=s.handleSort,e[56]=s.search,e[57]=s.sortDirection,e[58]=s.sortKey,e[59]=s.viewMode,e[60]=r,e[61]=n.slug,e[62]=f):f=e[62];let B;return e[63]!==u||e[64]!==g||e[65]!==h||e[66]!==f?(B=t.jsxs(ae,{children:[u,g,h,f]}),e[63]=u,e[64]=g,e[65]=h,e[66]=f,e[67]=B):B=e[67],B}function Ie(e){return e.stopPropagation()}function Ae(e){return e.stopPropagation()}function $e(e){return e.stopPropagation()}function Me(e){return e.stopPropagation()}function ze(e){return t.jsx(oe,{variant:e.status==="active"?"default":"outline",children:e.status})}function Pe(e){return t.jsx("span",{className:"text-sm text-muted-foreground",children:e.connections.length})}function Ee(e){return t.jsx(oe,{variant:"outline",className:"text-xs",children:e.tool_selection_mode==="exclusion"?"Exclude":"Include"})}function Ke(e){return t.jsx("span",{className:"text-sm text-foreground line-clamp-2",children:e.description||"—"})}function Be(e){return t.jsx("span",{className:"text-sm font-medium text-foreground truncate",children:e.title})}function Ge(e){return t.jsx(ue,{icon:e.icon,name:e.title,size:"sm",className:"shrink-0 shadow-sm",fallbackIcon:t.jsx(j,{size:16})})}function ct(){const e=te.c(1);let n;return e[0]===Symbol.for("react.memo_cache_sentinel")?(n=t.jsx(ge,{children:t.jsx(se.Suspense,{fallback:t.jsx("div",{className:"flex h-full items-center justify-center",children:t.jsx(be,{size:32,className:"animate-spin text-muted-foreground"})}),children:t.jsx(_e,{})})}),e[0]=n):n=e[0],n}export{ct as default};