decocms 4.358.4 → 4.358.5

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 (257) hide show
  1. package/dist/client/assets/{AlertCircle-CMRaxRH0.js → AlertCircle-DnecbAPh.js} +1 -1
  2. package/dist/client/assets/{AreaChart-B89wUvDZ.js → AreaChart-CieUdvmg.js} +1 -1
  3. package/dist/client/assets/{ArrowLeft-CDsXpmYk.js → ArrowLeft-DKxrZoHN.js} +1 -1
  4. package/dist/client/assets/{ArrowRight-D4gFWG4E.js → ArrowRight-D5xmwFpZ.js} +1 -1
  5. package/dist/client/assets/{ArrowUp-RL1EvMiw.js → ArrowUp-Di6V-t98.js} +1 -1
  6. package/dist/client/assets/{Check-CH-Vw96P.js → Check-Cz1yJ2Ku.js} +1 -1
  7. package/dist/client/assets/{CheckCircle-BfII6xai.js → CheckCircle-CUMJTel7.js} +1 -1
  8. package/dist/client/assets/{ChevronRight-BIBNVIgv.js → ChevronRight-DBtAhTcB.js} +1 -1
  9. package/dist/client/assets/{ChevronSelectorVertical-C3yeiRoP.js → ChevronSelectorVertical-BWywRn6y.js} +1 -1
  10. package/dist/client/assets/{ChevronUp-LZw5ldfA.js → ChevronUp-CzD3Q5Ez.js} +1 -1
  11. package/dist/client/assets/{Copy01-7ESKNzsF.js → Copy01-8PINeOv9.js} +1 -1
  12. package/dist/client/assets/{CreditCard01-X3NUCMht.js → CreditCard01-DrPWgPgY.js} +1 -1
  13. package/dist/client/assets/{DotsVertical-BuCGsnKC.js → DotsVertical-pXN36xDf.js} +1 -1
  14. package/dist/client/assets/{Download01-CWqYv5nm.js → Download01-ChKDQL-2.js} +1 -1
  15. package/dist/client/assets/{ErrorBarContext-C3bPbFQR.js → ErrorBarContext-a7ePfei0.js} +1 -1
  16. package/dist/client/assets/{Eye-Crli8POp.js → Eye-uv0JopIC.js} +1 -1
  17. package/dist/client/assets/{GitBranch01-72jxttZ6.js → GitBranch01-hVNlV4_5.js} +1 -1
  18. package/dist/client/assets/{Globe01-Cy4h9cCT.js → Globe01-cNyR-aGb.js} +1 -1
  19. package/dist/client/assets/{HardDrive-BNFNRWa2.js → HardDrive-0QEGAcdt.js} +1 -1
  20. package/dist/client/assets/{Image01-BmPB3CGi.js → Image01-D8DJyxgN.js} +1 -1
  21. package/dist/client/assets/{Key01-CZRkxFSD.js → Key01-B4wEzwfA.js} +1 -1
  22. package/dist/client/assets/{Link01-CGkSXfCb.js → Link01-Dg3Wgdll.js} +1 -1
  23. package/dist/client/assets/{LinkExternal01-BclTSoLr.js → LinkExternal01-DcDWG6E7.js} +1 -1
  24. package/dist/client/assets/{Monitor01-YRHjA6R9.js → Monitor01-DKUPqvEt.js} +1 -1
  25. package/dist/client/assets/{Package-BzzU4u_u.js → Package-C2z5N4Ha.js} +1 -1
  26. package/dist/client/assets/{Palette-X8Db8_UN.js → Palette-B-kHXH8u.js} +1 -1
  27. package/dist/client/assets/{Play-BoNmTNnP.js → Play-DO5I4TQw.js} +1 -1
  28. package/dist/client/assets/{Plus-n8T8nTev.js → Plus-CvXXAkh5.js} +1 -1
  29. package/dist/client/assets/{SearchLg-f_L2Kvyk.js → SearchLg-ClCNH8OL.js} +1 -1
  30. package/dist/client/assets/{SearchMd-lyyfFftC.js → SearchMd-BDM79zjM.js} +1 -1
  31. package/dist/client/assets/{Sector-I2OmGIkF.js → Sector-CY5FlDSF.js} +1 -1
  32. package/dist/client/assets/{Settings02-Bx0NVz3k.js → Settings02-Bniu9Kuf.js} +1 -1
  33. package/dist/client/assets/{Share07-C1p_MWl6.js → Share07-Cs5GE4ka.js} +1 -1
  34. package/dist/client/assets/{Shield01-BokaKYbc.js → Shield01-Y_WnaKFU.js} +1 -1
  35. package/dist/client/assets/{Stars01-iTZ7rNwl.js → Stars01-6JGB8G_o.js} +1 -1
  36. package/dist/client/assets/{Sun-BDdnw2qk.js → Sun-B5-Zgu6g.js} +1 -1
  37. package/dist/client/assets/{Tool01-g5vYDM8K.js → Tool01-hRYJ57AS.js} +1 -1
  38. package/dist/client/assets/{Tool02-CGD2nPmr.js → Tool02-VahAgw3l.js} +1 -1
  39. package/dist/client/assets/{Trash01-t2ffl_GD.js → Trash01-Cbibxhdy.js} +1 -1
  40. package/dist/client/assets/{TrendUp01-VmRDw6yp.js → TrendUp01-BrA1T2pc.js} +1 -1
  41. package/dist/client/assets/{Upload01-DyGMn8P9.js → Upload01-DCSoEoPT.js} +1 -1
  42. package/dist/client/assets/{User01-DRqlxFU-.js → User01-CMN81VOd.js} +1 -1
  43. package/dist/client/assets/{UserSquare-BXtYIsBP.js → UserSquare-B9-4LA44.js} +1 -1
  44. package/dist/client/assets/{Users01-_fKkic4W.js → Users01-G5gtvFkg.js} +1 -1
  45. package/dist/client/assets/{Users03-BYYeaXKm.js → Users03-BP5hN4tN.js} +1 -1
  46. package/dist/client/assets/{XCircle-CZEWi75q.js → XCircle-CAT1mlY1.js} +1 -1
  47. package/dist/client/assets/{XClose-Cwrkqthu.js → XClose-C39TipQ9.js} +1 -1
  48. package/dist/client/assets/{Zap-C3LXNIn_.js → Zap-C6djsNj_.js} +1 -1
  49. package/dist/client/assets/{ZoomOut-C3xqzTBu.js → ZoomOut-BDx7bzVD.js} +1 -1
  50. package/dist/client/assets/{access-gate-Bg-T7c43.js → access-gate-CDgve0Y7.js} +1 -1
  51. package/dist/client/assets/{agent-icon-CudHlm3I.js → agent-icon-BFmhGO5e.js} +1 -1
  52. package/dist/client/assets/{agents-list-DO612N2L.js → agents-list-XVY-mC6j.js} +1 -1
  53. package/dist/client/assets/{ai-providers-DJvT4cwl.js → ai-providers-C_YD1-eC.js} +1 -1
  54. package/dist/client/assets/{alert-BMrk3Rg6.js → alert-Ti219vTC.js} +1 -1
  55. package/dist/client/assets/{alert-dialog-CLnCQjTe.js → alert-dialog-CZ1KENHH.js} +1 -1
  56. package/dist/client/assets/{analytics-tab-ag2K00gF.js → analytics-tab-D3oXCyJU.js} +1 -1
  57. package/dist/client/assets/api-keys-C7l5OjNV.js +1 -0
  58. package/dist/client/assets/{api-keys-DvNir-Oo.js → api-keys-Dro4J7Ul.js} +1 -1
  59. package/dist/client/assets/{app-editor-phhr7a8L.js → app-editor-B6L5rrlt.js} +1 -1
  60. package/dist/client/assets/{auth-ByP-tT2X.js → auth-B5sZ5Nku.js} +1 -1
  61. package/dist/client/assets/{auth-catchall-B6PZuIzZ.js → auth-catchall-CP2aNR9v.js} +1 -1
  62. package/dist/client/assets/{auth-entry-B_bcFChh.js → auth-entry-B-IGkSZs.js} +1 -1
  63. package/dist/client/assets/{auth-split-layout-Bgm67rw4.js → auth-split-layout-BdcfozHo.js} +1 -1
  64. package/dist/client/assets/{authenticate-and-persist-oauth-DquyOiBU.js → authenticate-and-persist-oauth-N0Onqilv.js} +1 -1
  65. package/dist/client/assets/{automation-list-row-B7n4iPcb.js → automation-list-row-Brfwt3an.js} +1 -1
  66. package/dist/client/assets/{automation-runs-B-YiqY-J.js → automation-runs-CyDBE23L.js} +1 -1
  67. package/dist/client/assets/{automations-Cwy0iBlf.js → automations-CuGzlXt9.js} +1 -1
  68. package/dist/client/assets/{autosend-Clc37UTr.js → autosend-Do97LQ4X.js} +1 -1
  69. package/dist/client/assets/{avatar-Bd9Rksmp.js → avatar-DgTZ1wzS.js} +1 -1
  70. package/dist/client/assets/{badge-BBxP7UMd.js → badge-BXckqUEw.js} +1 -1
  71. package/dist/client/assets/{block-document-CFhSOKUo.js → block-document-Cs7DZImF.js} +1 -1
  72. package/dist/client/assets/{breadcrumb-D2uDconw.js → breadcrumb-BZZe5syI.js} +1 -1
  73. package/dist/client/assets/{buckets-CxOZSmSd.js → buckets-DXoXeOAg.js} +1 -1
  74. package/dist/client/assets/{bulk-category-panel-DO9_WMxg.js → bulk-category-panel-7dM2R4js.js} +1 -1
  75. package/dist/client/assets/{capability-load-error-CagSnWYA.js → capability-load-error-BR7ZE3ck.js} +1 -1
  76. package/dist/client/assets/{cards-Cl_HUtMX.js → cards-C3DkSzrs.js} +1 -1
  77. package/dist/client/assets/{category-editor-4FTBFtyr.js → category-editor-BNGX39x1.js} +1 -1
  78. package/dist/client/assets/{cdn-tab-BrvdbwL-.js → cdn-tab-Dof5_kNi.js} +1 -1
  79. package/dist/client/assets/{chart-D4ng9omo.js → chart-BKBIXKZl.js} +1 -1
  80. package/dist/client/assets/{chat-context-C4fGEODB.js → chat-context-DxdDV2c_.js} +1 -1
  81. package/dist/client/assets/{checkbox-Cpoz71yR.js → checkbox-BuDYKoG3.js} +1 -1
  82. package/dist/client/assets/{choose-editor-DkGMyByx.js → choose-editor-DeG6fWFI.js} +1 -1
  83. package/dist/client/assets/{cli-auth-success-C1HkzZiJ.js → cli-auth-success-CJysUPLz.js} +1 -1
  84. package/dist/client/assets/{client-icons-CzSglPFh.js → client-icons-Bzy3f2K0.js} +1 -1
  85. package/dist/client/assets/{collection-detail-DXZuWuWE.js → collection-detail-DMEXkOgX.js} +1 -1
  86. package/dist/client/assets/{collection-display-button-C75LHouu.js → collection-display-button-YaQc-_Zz.js} +1 -1
  87. package/dist/client/assets/{collection-search-Cq_wBTZg.js → collection-search-BPZ632Qb.js} +1 -1
  88. package/dist/client/assets/{collection-table-wrapper-BCHHwz-Q.js → collection-table-wrapper-B9XCvDX2.js} +1 -1
  89. package/dist/client/assets/{collection-tabs-DB42vY5i.js → collection-tabs-CkULqP96.js} +1 -1
  90. package/dist/client/assets/{command-ByPccqvA.js → command-CrfbvrPh.js} +1 -1
  91. package/dist/client/assets/{commerce-onboarding-sfXf40L7.js → commerce-onboarding-CEkt5zT2.js} +1 -1
  92. package/dist/client/assets/{connect-CBlIRry-.js → connect-BavLBpMM.js} +1 -1
  93. package/dist/client/assets/{connect-layout-DW13WTys.js → connect-layout-Ckz-l1qi.js} +1 -1
  94. package/dist/client/assets/{connection-CYzFF4q0.js → connection-BihzkxkU.js} +1 -1
  95. package/dist/client/assets/{connection-card-zjj4H0I2.js → connection-card-CZIy77L1.js} +1 -1
  96. package/dist/client/assets/{connection-detail-pzQoKTV9.js → connection-detail-BaG-ZPOw.js} +1 -1
  97. package/dist/client/assets/{connection-form-helpers-I9skVz45.js → connection-form-helpers-BiWza_n6.js} +1 -1
  98. package/dist/client/assets/{connections-CsbO_XfC.js → connections-DaciiVFw.js} +1 -1
  99. package/dist/client/assets/{create-organization-dialog-BgvTrrjx.js → create-organization-dialog-CKS2WDIe.js} +1 -1
  100. package/dist/client/assets/{decopilot-sse-pool-DX0QeH6Y.js → decopilot-sse-pool-B6oDJj48.js} +1 -1
  101. package/dist/client/assets/{dialog-vW1U_9BE.js → dialog-XHYSv2FF.js} +1 -1
  102. package/dist/client/assets/{domain-settings-Dc7Qc2A-.js → domain-settings-CZPIiIuC.js} +1 -1
  103. package/dist/client/assets/{drawer-C-MNillf.js → drawer-Baxk3ITM.js} +1 -1
  104. package/dist/client/assets/{dropdown-menu-BFWT10oB.js → dropdown-menu-DXwTXKHW.js} +1 -1
  105. package/dist/client/assets/{e2e-tab-ETEOzG9Q.js → e2e-tab-RZJty-BJ.js} +1 -1
  106. package/dist/client/assets/{editor-DkXjZ3Qc.js → editor-DL4--PcF.js} +1 -1
  107. package/dist/client/assets/{empty-state-DoVWR5lf.js → empty-state--1O_g2Vb.js} +1 -1
  108. package/dist/client/assets/{empty-state-n8xkQXzO.js → empty-state-DUWesh0y.js} +1 -1
  109. package/dist/client/assets/{extract-connection-data-DcM36N9w.js → extract-connection-data-j3oiKoXE.js} +1 -1
  110. package/dist/client/assets/{file-explorer-geXr-_YT.js → file-explorer-C_0SxNcE.js} +1 -1
  111. package/dist/client/assets/{file-type-icon-Dw-Vh4Ee.js → file-type-icon-CZuZ3Yie.js} +1 -1
  112. package/dist/client/assets/{folder-icon-DE8-CrRK.js → folder-icon-D_6Qxdwn.js} +1 -1
  113. package/dist/client/assets/{form-COufQX0n.js → form-9R94AgDH.js} +1 -1
  114. package/dist/client/assets/{general-BTS-hR_J.js → general-BHBaigtz.js} +1 -1
  115. package/dist/client/assets/{github-icon-DnD32Rlf.js → github-icon-CPF2UG7w.js} +1 -1
  116. package/dist/client/assets/{hooks-aYH-Zsjx.js → hooks-DPkoA9nj.js} +1 -1
  117. package/dist/client/assets/{index-B6RXs6Gk.js → index-BFzI2jlp.js} +1 -1
  118. package/dist/client/assets/{index-CO3xqZ9k.js → index-BX98OVpd.js} +1 -1
  119. package/dist/client/assets/{index-JABw5nMj.js → index-Boo4Ho4L.js} +1 -1
  120. package/dist/client/assets/{index-ZNPgar3I.js → index-BrNAJ0cO.js} +1 -1
  121. package/dist/client/assets/{index-eaXEhlJQ.js → index-CVUfhy6G.js} +1 -1
  122. package/dist/client/assets/{index-CPdVUPWU.js → index-Ccrw7Y8L.js} +1 -1
  123. package/dist/client/assets/{index-CsUNCFTt.js → index-ClceuAyk.js} +2 -2
  124. package/dist/client/assets/{index-B5aa7ZmM.js → index-Co_9Xm5o.js} +1 -1
  125. package/dist/client/assets/{index-Cb9Dicnx.js → index-Cxsast4S.js} +1 -1
  126. package/dist/client/assets/{index-CkeetxbR.js → index-DLXkJsHm.js} +1 -1
  127. package/dist/client/assets/{index-BcnbwxTX.js → index-DUmDOTgv.js} +1 -1
  128. package/dist/client/assets/{index-CnzJtn66.js → index-ardO8QQc.js} +58 -58
  129. package/dist/client/assets/{index-redirect-BU-x-Jlu.js → index-redirect-B-O2heAm.js} +1 -1
  130. package/dist/client/assets/{infiniteQueryObserver-Mp4zNKL8.js → infiniteQueryObserver-Dl9Qp9QK.js} +1 -1
  131. package/dist/client/assets/{infra-billing-BL9hdnl-.js → infra-billing-CAgokXzp.js} +1 -1
  132. package/dist/client/assets/{input-CCjvC2WC.js → input-BnaH3Pwu.js} +1 -1
  133. package/dist/client/assets/{integration-icon-ByFS2bKz.js → integration-icon-dzOlSD8N.js} +1 -1
  134. package/dist/client/assets/{invite-member-dialog-LYRPulJz.js → invite-member-dialog-QDw_M-ud.js} +1 -1
  135. package/dist/client/assets/{label-lVk0cwye.js → label-BXG-IHer.js} +1 -1
  136. package/dist/client/assets/{layout-Bc8dpGj2.js → layout-C2_aen3L.js} +1 -1
  137. package/dist/client/assets/{login-vr_cvPTk.js → login-D4cqzRQb.js} +1 -1
  138. package/dist/client/assets/{markdown-Ck89HZfW.js → markdown-CaFF2juq.js} +1 -1
  139. package/dist/client/assets/{mcp-app-renderer-0U5lG_oC.js → mcp-app-renderer-QFINxU6q.js} +1 -1
  140. package/dist/client/assets/{mcp-oauth-B62HA2YM.js → mcp-oauth-DPzuG3zD.js} +1 -1
  141. package/dist/client/assets/{members-Gb2aA5Df.js → members-Cqjgou5V.js} +1 -1
  142. package/dist/client/assets/{monaco-editor-CgHgPYpH.js → monaco-editor-B0P4X5oN.js} +1 -1
  143. package/dist/client/assets/{monitoring-stats-row-BSrSLLOG.js → monitoring-stats-row-CSFd13g3.js} +1 -1
  144. package/dist/client/assets/{multi-select-DY0VqhgN.js → multi-select-BAV4AxGB.js} +1 -1
  145. package/dist/client/assets/{oauth-callback-CGUo92N6.js → oauth-callback-CFuqbwtT.js} +1 -1
  146. package/dist/client/assets/{oauth-callback-ai-provider-BAHVHY9a.js → oauth-callback-ai-provider-DbQQLyJP.js} +1 -1
  147. package/dist/client/assets/{onboarding-C8N1dqa6.js → onboarding-CYD-4U_W.js} +1 -1
  148. package/dist/client/assets/{org-layout-LYCBQjs_.js → org-layout-JsgfJ6Y1.js} +1 -1
  149. package/dist/client/assets/{organization-choice-ssvPgUh6.js → organization-choice-Cxa29sqL.js} +1 -1
  150. package/dist/client/assets/{orgs-PXtodFG4.js → orgs-itRRL6Ty.js} +1 -1
  151. package/dist/client/assets/{page-seo-form-CxIuP8Jj.js → page-seo-form-CqcF641q.js} +1 -1
  152. package/dist/client/assets/{popover-D2X4LilX.js → popover-B0ciwF2d.js} +1 -1
  153. package/dist/client/assets/{post-calendar-Ljdr9UOJ.js → post-calendar-Bzotl2oT.js} +1 -1
  154. package/dist/client/assets/{post-editor-BbHVQLZy.js → post-editor-CcAde5RR.js} +1 -1
  155. package/dist/client/assets/{primitives-D-Oc6UeY.js → primitives-C7FP5JK1.js} +1 -1
  156. package/dist/client/assets/{profile-JN-4PP-v.js → profile-BxtFcTt6.js} +1 -1
  157. package/dist/client/assets/{project-app-view-D1tnNJ1j.js → project-app-view-MBcJtUk2.js} +1 -1
  158. package/dist/client/assets/{project-icon-B6leAseu.js → project-icon-CfK-Oy7W.js} +1 -1
  159. package/dist/client/assets/{prompts-D9FCeLmE.js → prompts-CIeRrkCk.js} +1 -1
  160. package/dist/client/assets/record-editor-BoFP0xFL.js +1 -0
  161. package/dist/client/assets/redirect-editor-DZTM6E3l.js +1 -0
  162. package/dist/client/assets/registry-B3MK34Kk.js +2 -0
  163. package/dist/client/assets/{registry-layout-zGpULVoe.js → registry-layout-BlNehP-G.js} +1 -1
  164. package/dist/client/assets/{reports-BIXVUoz6.js → reports-D8XEiFZi.js} +1 -1
  165. package/dist/client/assets/{repositories-h_r0jLGb.js → repositories-CNKYYrmM.js} +1 -1
  166. package/dist/client/assets/{repository-import-picker-CDuZQeMP.js → repository-import-picker-891LXjlh.js} +1 -1
  167. package/dist/client/assets/{repository-picker-CX_uCy46.js → repository-picker-CJvOUjvr.js} +1 -1
  168. package/dist/client/assets/{require-capability-D5sGM312.js → require-capability-B5XPZW1m.js} +1 -1
  169. package/dist/client/assets/{required-auth-layout-BXxzIMVl.js → required-auth-layout-Dar1s87n.js} +1 -1
  170. package/dist/client/assets/{reset-password-CNc0wHcQ.js → reset-password-BTB-L-Uv.js} +1 -1
  171. package/dist/client/assets/{review-settings-BpIIMVAn.js → review-settings-C7Lip4oM.js} +1 -1
  172. package/dist/client/assets/{roles-BgyFR3-e.js → roles-DzNrXEZs.js} +1 -1
  173. package/dist/client/assets/{schema-oIgkdsyk.js → schema-C6aNLxKf.js} +1 -1
  174. package/dist/client/assets/{scroll-area-QfBe8RGo.js → scroll-area-C9lu0lSL.js} +1 -1
  175. package/dist/client/assets/{search-input-DVdWUH1y.js → search-input-DyWwr2ur.js} +1 -1
  176. package/dist/client/assets/{secrets-DhekGnOy.js → secrets-DiWIhH7K.js} +1 -1
  177. package/dist/client/assets/{sections-editor-BGnr1nQx.js → sections-editor-DWnxt7-x.js} +1 -1
  178. package/dist/client/assets/{select-DgPCfz0D.js → select-CPovt3xR.js} +1 -1
  179. package/dist/client/assets/{select-model-Ck2HPAGp.js → select-model-yl9KFIES.js} +1 -1
  180. package/dist/client/assets/{self-tool-result-Cr7ayB_1.js → self-tool-result-DRjgFxL_.js} +1 -1
  181. package/dist/client/assets/{seo-editor-gO8669fK.js → seo-editor-D4paGbZH.js} +1 -1
  182. package/dist/client/assets/settings-layout-D6mzJNvS.js +1 -0
  183. package/dist/client/assets/{settings-sidebar-B3Fd_xQz.js → settings-sidebar--XrDF_-z.js} +1 -1
  184. package/dist/client/assets/{shell-controls-CL0mEPr_.js → shell-controls-D-QiDg45.js} +1 -1
  185. package/dist/client/assets/{shell-layout-BcJzjh5V.js → shell-layout-BORrXGw4.js} +1 -1
  186. package/dist/client/assets/{skill-preview-ByFvWaNw.js → skill-preview-BJQ-JS1j.js} +1 -1
  187. package/dist/client/assets/{skills-Dst6qdjL.js → skills-E-TzyI3n.js} +1 -1
  188. package/dist/client/assets/{sso-E8ANappM.js → sso-ak-ecfqB.js} +1 -1
  189. package/dist/client/assets/{store-BiujRYzR.js → store-DVzXeQlw.js} +1 -1
  190. package/dist/client/assets/store-registry-BUq-87q5.js +2 -0
  191. package/dist/client/assets/{switch-CprchaBn.js → switch-CyYEu2Mr.js} +1 -1
  192. package/dist/client/assets/{synced-repos-BEVJZIhz.js → synced-repos-DwI4VKBm.js} +1 -1
  193. package/dist/client/assets/{table-DwZbOfva.js → table-BZwt0mq1.js} +1 -1
  194. package/dist/client/assets/{tabs-Tmo0ftZT.js → tabs-Dh_rs5-C.js} +1 -1
  195. package/dist/client/assets/{task-board-Ci8z0xfT.js → task-board-ogD6qhBD.js} +1 -1
  196. package/dist/client/assets/{task-route-CoTpYdFf.js → task-route-D0StKYLX.js} +1 -1
  197. package/dist/client/assets/{tasks-CG8Znj53.js → tasks-HZz_ZCv5.js} +1 -1
  198. package/dist/client/assets/{textarea-C3bul5E0.js → textarea-BsfO56Vo.js} +1 -1
  199. package/dist/client/assets/{thread-intent-DDeV3qR-.js → thread-intent-_gcPeplT.js} +1 -1
  200. package/dist/client/assets/{thread-route-BiOADTxM.js → thread-route-5G3X8NOl.js} +1 -1
  201. package/dist/client/assets/{toggle-group-D5EjwHU_.js → toggle-group-BtCG8lSD.js} +1 -1
  202. package/dist/client/assets/{toolbar-DXZJk4GB.js → toolbar-Dz6pjT1t.js} +1 -1
  203. package/dist/client/assets/{toolbar-icon-button-C-dzzl3n.js → toolbar-icon-button-BhH4epEy.js} +1 -1
  204. package/dist/client/assets/{track-DWh2IQva.js → track-CHBVpe37.js} +1 -1
  205. package/dist/client/assets/{types-S2aaB8QX.js → types-DWPAY_9z.js} +1 -1
  206. package/dist/client/assets/{use-ai-providers-CQVbdgN3.js → use-ai-providers-C8uOURwM.js} +1 -1
  207. package/dist/client/assets/{use-automations-L4-jkEaD.js → use-automations-J04oXu-B.js} +1 -1
  208. package/dist/client/assets/{use-autosave-C2R1fZzG.js → use-autosave-BTBrWTLA.js} +1 -1
  209. package/dist/client/assets/{use-connection-DwzyMekq.js → use-connection-Czuylju7.js} +1 -1
  210. package/dist/client/assets/{use-copy-BH26Ez9c.js → use-copy-DsJQkugr.js} +1 -1
  211. package/dist/client/assets/{use-create-virtual-mcp-C1PIsfOi.js → use-create-virtual-mcp-CGD6M3Tf.js} +1 -1
  212. package/dist/client/assets/{use-date-fns-locale-DLXzkBWw.js → use-date-fns-locale-DTEXZF5C.js} +1 -1
  213. package/dist/client/assets/{use-debounced-autosave-Dx7y2YhF.js → use-debounced-autosave-DHIO9FEX.js} +1 -1
  214. package/dist/client/assets/{use-debounced-value-BV5VgsWu.js → use-debounced-value-xYpMclvp.js} +1 -1
  215. package/dist/client/assets/{use-decopilot-events-Bpj9LkzO.js → use-decopilot-events-DO9n8G8k.js} +1 -1
  216. package/dist/client/assets/{use-delete-connection-Bedw4u5M.js → use-delete-connection-C4uA47Qa.js} +1 -1
  217. package/dist/client/assets/{use-deployment-admin-B9TlwbLi.js → use-deployment-admin-Cmhm3aMd.js} +1 -1
  218. package/dist/client/assets/{use-destination-route-Cnt7EB8f.js → use-destination-route-C33Wg86r.js} +1 -1
  219. package/dist/client/assets/{use-file-configs-C_ZKBrCY.js → use-file-configs-BRBSB8n0.js} +1 -1
  220. package/dist/client/assets/{use-infinite-scroll-Dh-C4d_p.js → use-infinite-scroll-D1TiZfg3.js} +1 -1
  221. package/dist/client/assets/{use-join-requests-D2CcrgPb.js → use-join-requests-DbsA_U8I.js} +1 -1
  222. package/dist/client/assets/{use-mcp-auth-status-DXDNbmEe.js → use-mcp-auth-status-Dx3ZJ78o.js} +1 -1
  223. package/dist/client/assets/{use-mcp-client-DpVIRGbg.js → use-mcp-client-Dw2P7NDf.js} +1 -1
  224. package/dist/client/assets/{use-mcp-prompts-BAbYWejn.js → use-mcp-prompts-9ajBzqEl.js} +1 -1
  225. package/dist/client/assets/{use-mcp-tools-D6lQ9fA7.js → use-mcp-tools-DTlqZz4T.js} +1 -1
  226. package/dist/client/assets/{use-members-ByJns5XF.js → use-members-Civ1IUhM.js} +1 -1
  227. package/dist/client/assets/{use-navigate-to-agent-DbEtN3CH.js → use-navigate-to-agent-D8VlsMLe.js} +1 -1
  228. package/dist/client/assets/{use-org-auth-client-BEnuOfjI.js → use-org-auth-client-M8lU8FVO.js} +1 -1
  229. package/dist/client/assets/{use-org-notice-Quz1j7e9.js → use-org-notice-D5gXZJLr.js} +1 -1
  230. package/dist/client/assets/{use-org-sso-1vJuA_ma.js → use-org-sso-LYhDAOed.js} +1 -1
  231. package/dist/client/assets/{use-organization-roles-BnX3yEy4.js → use-organization-roles-DcyFYuL1.js} +1 -1
  232. package/dist/client/assets/{use-organization-settings-CiaoV5Jh.js → use-organization-settings-Bfxc2_gK.js} +1 -1
  233. package/dist/client/assets/{use-panel-navigate-Da6Ty1S6.js → use-panel-navigate-BYeq7p5w.js} +1 -1
  234. package/dist/client/assets/{use-registry-connections-BlcXRjcv.js → use-registry-connections-DjnXhjaU.js} +1 -1
  235. package/dist/client/assets/{use-secrets-BlK-zk8w.js → use-secrets-eQ4xIgIJ.js} +1 -1
  236. package/dist/client/assets/{use-section-preview-base-yQPb9KKu.js → use-section-preview-base-B6meCR-c.js} +1 -1
  237. package/dist/client/assets/{use-status-sounds-CfHb7hyZ.js → use-status-sounds-UkEj7H3u.js} +1 -1
  238. package/dist/client/assets/{use-tags-DnAKYH8b.js → use-tags-B0uMUfkd.js} +1 -1
  239. package/dist/client/assets/{use-view-mode-DxUtziMu.js → use-view-mode-DBUPinV2.js} +1 -1
  240. package/dist/client/assets/{use-virtual-mcp-Cy8Wdlxm.js → use-virtual-mcp-Cg1qs7zR.js} +1 -1
  241. package/dist/client/assets/useInfiniteQuery-BcvMcS30.js +1 -0
  242. package/dist/client/assets/useSuspenseInfiniteQuery-D_McCkNU.js +1 -0
  243. package/dist/client/assets/{users-CHM0pU90.js → users-D8LutkfV.js} +1 -1
  244. package/dist/client/assets/{variant-calendar-CJ-atZfz.js → variant-calendar-Db-_Fy9i.js} +1 -1
  245. package/dist/client/assets/{view-mode-toggle-BkXf1XU_.js → view-mode-toggle-CoqStA7o.js} +1 -1
  246. package/dist/client/index.html +1 -1
  247. package/dist/server/cli.js +1 -1
  248. package/dist/server/server.js +1 -1
  249. package/package.json +1 -1
  250. package/dist/client/assets/api-keys-CkKXSi8f.js +0 -1
  251. package/dist/client/assets/record-editor-vXW7284o.js +0 -1
  252. package/dist/client/assets/redirect-editor-BRVcNhnF.js +0 -1
  253. package/dist/client/assets/registry-D7vBYddA.js +0 -2
  254. package/dist/client/assets/settings-layout-DPWnYw6P.js +0 -1
  255. package/dist/client/assets/store-registry-D9-b28Qz.js +0 -2
  256. package/dist/client/assets/useInfiniteQuery-CM6s3UpC.js +0 -1
  257. package/dist/client/assets/useSuspenseInfiniteQuery-DUOoYxBa.js +0 -1
@@ -1 +1 @@
1
- import{ae as ve,ak as $e,ao as Oe,ag as me,af as Me,c as U,b as L,j as t,h as Ne,B as q,r as Z,l as Se,G as se,a7 as ze,x as ue,K as te,d as ne,b6 as Ee,b9 as xe,F as Re,E as Ue,f as Ve,c8 as Fe,n as Le,aq as Be,ar as qe,bo as Ge,bn as He,bl as Ke,bm as Xe,c9 as Qe,t as Y}from"./index-CsUNCFTt.js";import{g as We}from"./extract-connection-data-DcM36N9w.js";import{E as ye}from"./empty-state-DoVWR5lf.js";import{E as Je,c as Ye,r as Ze,b as et,d as tt}from"./connection-form-helpers-I9skVz45.js";import{c as st,S as nt,V as it}from"./index-CPdVUPWU.js";import{u as Ce,T as ot}from"./use-mcp-auth-status-DXDNbmEe.js";import{a as at}from"./use-members-ByJns5XF.js";import{A as lt}from"./avatar-Bd9Rksmp.js";import{a as _e,b as we,u as rt}from"./use-connection-DwzyMekq.js";import{u as ke}from"./use-mcp-client-DpVIRGbg.js";import{u as ct}from"./use-mcp-tools-D6lQ9fA7.js";import{a as dt}from"./use-mcp-prompts-BAbYWejn.js";import{i as mt,a as ut}from"./mcp-oauth-B62HA2YM.js";import{I as le}from"./integration-icon-ByFS2bKz.js";import{s as xt}from"./Plus-n8T8nTev.js";import{S as pt,T as ft,u as ht,aX as gt,j as ie}from"./agent-icon-CudHlm3I.js";import{a as Ie,s as jt}from"./Settings02-Bx0NVz3k.js";import{s as ce}from"./Trash01-t2ffl_GD.js";import{d as K,a as X,e as Q,b as B,c as W,f as bt,F as vt}from"./form-COufQX0n.js";import{I as J}from"./input-CCjvC2WC.js";import{u as Nt,D as St}from"./use-delete-connection-Bedw4u5M.js";import{c as yt,B as Ct,a as _t,C as wt}from"./monitoring-stats-row-BSrSLLOG.js";import{C as kt,a as It,b as Tt}from"./chart-D4ng9omo.js";import{a as At}from"./use-virtual-mcp-Cy8Wdlxm.js";import{i as Te}from"./ChevronRight-BIBNVIgv.js";import{b as Ae}from"./Users03-BYYeaXKm.js";import{b as oe,c as Pt,T as ae,a as Dt}from"./tabs-Tmo0ftZT.js";import{g as Pe}from"./connection-slug-CITJ0kGN.js";import{b as $t}from"./Tool01-g5vYDM8K.js";import{g as de}from"./types-S2aaB8QX.js";import{M as Ot}from"./mcp-app-renderer-0U5lG_oC.js";import{C as Mt}from"./collection-search-Cq_wBTZg.js";import{B as zt}from"./badge-BBxP7UMd.js";import{c as Et,D as Rt,b as Ut,a as pe}from"./dropdown-menu-BFWT10oB.js";import{S as fe,b as he,a as ge,d as je,c as H}from"./select-DgPCfz0D.js";import{i as Vt}from"./CheckCircle-BfII6xai.js";import{t as Ft}from"./ChevronUp-LZw5ldfA.js";import{n as Lt}from"./Tool02-CGD2nPmr.js";import{b as Bt}from"./UserSquare-BXtYIsBP.js";import{s as qt}from"./XClose-Cwrkqthu.js";import{p as Gt,i as Ht}from"./connection-CYzFF4q0.js";import"./metadata-dUsYcpuu.js";import"./Key01-CZRkxFSD.js";import"./auth-ByP-tT2X.js";import"./use-registry-connections-BlcXRjcv.js";import"./use-organization-settings-CiaoV5Jh.js";import"./schema-oIgkdsyk.js";import"./task-board-Ci8z0xfT.js";import"./index-CkeetxbR.js";import"./index-eaXEhlJQ.js";import"./index-B5aa7ZmM.js";import"./index-ZNPgar3I.js";import"./popover-D2X4LilX.js";import"./Check-CH-Vw96P.js";import"./SearchMd-lyyfFftC.js";import"./use-create-virtual-mcp-C1PIsfOi.js";import"./use-navigate-to-agent-DbEtN3CH.js";import"./use-destination-route-Cnt7EB8f.js";import"./hooks-aYH-Zsjx.js";import"./delay-CnY5UFtP.js";import"./backoff-CrEUbyZT.js";import"./decopilot-sse-pool-DX0QeH6Y.js";import"./thread-intent-DDeV3qR-.js";import"./slugify-CEUa2lfQ.js";import"./github-repo-CTPv5ZM2.js";import"./Eye-Crli8POp.js";import"./use-org-auth-client-BEnuOfjI.js";import"./User01-DRqlxFU-.js";import"./AlertCircle-CMRaxRH0.js";import"./ArrowUp-RL1EvMiw.js";import"./ArrowLeft-CDsXpmYk.js";import"./ArrowRight-D4gFWG4E.js";import"./TrendUp01-VmRDw6yp.js";import"./ZoomOut-C3xqzTBu.js";import"./ChevronSelectorVertical-C3yeiRoP.js";import"./DotsVertical-BuCGsnKC.js";import"./Copy01-7ESKNzsF.js";import"./CreditCard01-X3NUCMht.js";import"./Download01-CWqYv5nm.js";import"./Share07-C1p_MWl6.js";import"./GitBranch01-72jxttZ6.js";import"./Globe01-Cy4h9cCT.js";import"./HardDrive-BNFNRWa2.js";import"./Image01-BmPB3CGi.js";import"./Link01-CGkSXfCb.js";import"./LinkExternal01-BclTSoLr.js";import"./Monitor01-YRHjA6R9.js";import"./Sun-BDdnw2qk.js";import"./Package-BzzU4u_u.js";import"./Palette-X8Db8_UN.js";import"./Play-BoNmTNnP.js";import"./SearchLg-f_L2Kvyk.js";import"./Shield01-BokaKYbc.js";import"./Stars01-iTZ7rNwl.js";import"./Upload01-DyGMn8P9.js";import"./Users01-_fKkic4W.js";import"./XCircle-CZEWi75q.js";import"./Zap-C3LXNIn_.js";import"./label-lVk0cwye.js";import"./alert-dialog-CLnCQjTe.js";import"./AreaChart-B89wUvDZ.js";import"./ErrorBarContext-C3bPbFQR.js";import"./Sector-I2OmGIkF.js";const Kt=ve({scopes:Me(me()).describe("List of scopes available"),stateSchema:$e(me(),Oe()).describe("JSON Schema (draft-07) defining the state structure")}),Xt=[{name:"MCP_CONFIGURATION",inputSchema:ve({}),outputSchema:Kt}];function Qt(s){const e=U.c(61),{instance:n,onConfigure:c,onAuthenticate:o,onDelete:i,onToggleStatus:l}=s,a=L();let d;e[0]!==n.id?(d={connectionId:n.id},e[0]=n.id,e[1]=d):d=e[1];const p=Ce(d),r=!(n.connection_type==="VIRTUAL")&&p.supportsOAuth&&!p.isAuthenticated,f=n.status!=="active",u=r||f?"border-destructive/50 bg-destructive/5":"border-transparent";let h;e[2]!==u?(h=Se("flex items-center gap-3 rounded-lg border px-4 py-2.5 transition-colors",u),e[2]=u,e[3]=h):h=e[3];let g;e[4]!==n.icon||e[5]!==n.title?(g=t.jsx(le,{icon:n.icon,name:n.title,size:"xs",className:"shrink-0"}),e[4]=n.icon,e[5]=n.title,e[6]=g):g=e[6];let j;e[7]!==n.title?(j=t.jsx("p",{className:"text-sm font-medium truncate",children:n.title}),e[7]=n.title,e[8]=j):j=e[8];let S;e[9]!==n.status||e[10]!==f||e[11]!==r||e[12]!==a?(S=r?t.jsx("span",{className:"text-xs text-destructive font-medium",children:a("details.connectionInstancesPanel.needsAuthorization")}):f?t.jsx("span",{className:"text-xs text-destructive font-medium",children:n.status==="error"?a("details.connectionInstancesPanel.disabledError"):a("details.connectionInstancesPanel.disabled")}):null,e[9]=n.status,e[10]=f,e[11]=r,e[12]=a,e[13]=S):S=e[13];let v;e[14]!==j||e[15]!==S?(v=t.jsxs("div",{className:"flex-1 min-w-0",children:[j,S]}),e[14]=j,e[15]=S,e[16]=v):v=e[16];let y;e[17]!==n||e[18]!==r||e[19]!==o||e[20]!==a?(y=r&&t.jsx(q,{variant:"outline",size:"sm",className:"h-7 text-xs",onClick:()=>o(n),children:a("details.connectionInstancesPanel.authorize")}),e[17]=n,e[18]=r,e[19]=o,e[20]=a,e[21]=y):y=e[21];let P;e[22]!==n||e[23]!==f||e[24]!==l||e[25]!==a?(P=f?t.jsxs(q,{variant:"outline",size:"sm",className:"h-7 text-xs gap-1.5",onClick:()=>l(n,"active"),children:[t.jsx(pt,{size:13}),a("details.connectionInstancesPanel.enable")]}):t.jsx(q,{variant:"ghost",size:"icon",className:"h-7 w-7 text-muted-foreground",onClick:()=>l(n,"inactive"),title:a("details.connectionInstancesPanel.disable"),"aria-label":a("details.connectionInstancesPanel.disable"),children:t.jsx(ft,{size:13})}),e[22]=n,e[23]=f,e[24]=l,e[25]=a,e[26]=P):P=e[26];let D;e[27]!==n||e[28]!==c?(D=()=>c(n),e[27]=n,e[28]=c,e[29]=D):D=e[29];let _;e[30]!==a?(_=a("details.connectionInstancesPanel.configure"),e[30]=a,e[31]=_):_=e[31];let M;e[32]!==a?(M=a("details.connectionInstancesPanel.configure"),e[32]=a,e[33]=M):M=e[33];let T;e[34]===Symbol.for("react.memo_cache_sentinel")?(T=t.jsx(Ie,{size:13}),e[34]=T):T=e[34];let $;e[35]!==D||e[36]!==_||e[37]!==M?($=t.jsx(q,{variant:"ghost",size:"icon",className:"h-7 w-7",onClick:D,title:_,"aria-label":M,children:T}),e[35]=D,e[36]=_,e[37]=M,e[38]=$):$=e[38];let I;e[39]!==n||e[40]!==i?(I=()=>i(n),e[39]=n,e[40]=i,e[41]=I):I=e[41];let N;e[42]!==a?(N=a("details.connectionInstancesPanel.delete"),e[42]=a,e[43]=N):N=e[43];let b;e[44]!==a?(b=a("details.connectionInstancesPanel.delete"),e[44]=a,e[45]=b):b=e[45];let E;e[46]===Symbol.for("react.memo_cache_sentinel")?(E=t.jsx(ce,{size:13}),e[46]=E):E=e[46];let z;e[47]!==I||e[48]!==N||e[49]!==b?(z=t.jsx(q,{variant:"ghost",size:"icon",className:"h-7 w-7 text-muted-foreground hover:text-destructive",onClick:I,title:N,"aria-label":b,children:E}),e[47]=I,e[48]=N,e[49]=b,e[50]=z):z=e[50];let k;e[51]!==$||e[52]!==z||e[53]!==y||e[54]!==P?(k=t.jsxs("div",{className:"flex items-center gap-1 shrink-0",children:[y,P,$,z]}),e[51]=$,e[52]=z,e[53]=y,e[54]=P,e[55]=k):k=e[55];let A;return e[56]!==k||e[57]!==h||e[58]!==g||e[59]!==v?(A=t.jsxs("div",{className:h,children:[g,v,k]}),e[56]=k,e[57]=h,e[58]=g,e[59]=v,e[60]=A):A=e[60],A}function Wt(s){const e=U.c(21),{instance:n,onConfigure:c}=s,o=L();let i;e[0]!==n.icon||e[1]!==n.title?(i=t.jsx(le,{icon:n.icon,name:n.title,size:"xs",className:"shrink-0"}),e[0]=n.icon,e[1]=n.title,e[2]=i):i=e[2];let l;e[3]!==n.title?(l=t.jsx("div",{className:"flex-1 min-w-0",children:t.jsx("p",{className:"text-sm font-medium truncate",children:n.title})}),e[3]=n.title,e[4]=l):l=e[4];let a;e[5]!==n||e[6]!==c?(a=()=>c(n),e[5]=n,e[6]=c,e[7]=a):a=e[7];let d;e[8]!==o?(d=o("details.connectionInstancesPanel.configure"),e[8]=o,e[9]=d):d=e[9];let p;e[10]!==o?(p=o("details.connectionInstancesPanel.configure"),e[10]=o,e[11]=p):p=e[11];let m;e[12]===Symbol.for("react.memo_cache_sentinel")?(m=t.jsx(Ie,{size:13}),e[12]=m):m=e[12];let r;e[13]!==a||e[14]!==d||e[15]!==p?(r=t.jsx("div",{className:"flex items-center gap-1 shrink-0",children:t.jsx(q,{variant:"ghost",size:"icon",className:"h-7 w-7",onClick:a,title:d,"aria-label":p,children:m})}),e[13]=a,e[14]=d,e[15]=p,e[16]=r):r=e[16];let f;return e[17]!==i||e[18]!==l||e[19]!==r?(f=t.jsxs("div",{className:"flex items-center gap-3 rounded-lg border border-transparent px-4 py-2.5 transition-colors",children:[i,l,r]}),e[17]=i,e[18]=l,e[19]=r,e[20]=f):f=e[20],f}function Jt(s){const e=U.c(33),{instances:n,onConfigure:c,onAuthenticate:o,onDelete:i,onToggleStatus:l,onAdd:a,isAdding:d}=s,p=L();if(n.length===0)return null;let m;e[0]!==n.length||e[1]!==p?(m=n.length===1?p("details.connectionInstancesPanel.instance"):p("details.connectionInstancesPanel.instances"),e[0]=n.length,e[1]=p,e[2]=m):m=e[2];let r;e[3]!==m?(r=t.jsx("h3",{className:"text-sm font-semibold text-foreground",children:m}),e[3]=m,e[4]=r):r=e[4];let f;e[5]!==d?(f=d?t.jsx(Ne,{className:"size-[13px]"}):t.jsx(xt,{size:13}),e[5]=d,e[6]=f):f=e[6];let u;e[7]!==p?(u=p("details.connectionInstancesPanel.addInstance"),e[7]=p,e[8]=u):u=e[8];let h;e[9]!==d||e[10]!==a||e[11]!==f||e[12]!==u?(h=t.jsxs(q,{variant:"default",size:"sm",className:"h-7 gap-1.5 text-xs",onClick:a,disabled:d,children:[f,u]}),e[9]=d,e[10]=a,e[11]=f,e[12]=u,e[13]=h):h=e[13];let g;e[14]!==r||e[15]!==h?(g=t.jsxs("div",{className:"px-5 py-4 border-b border-border flex items-center justify-between",children:[r,h]}),e[14]=r,e[15]=h,e[16]=g):g=e[16];let j;if(e[17]!==n||e[18]!==o||e[19]!==c||e[20]!==i||e[21]!==l){let y;e[23]!==o||e[24]!==c||e[25]!==i||e[26]!==l?(y=P=>t.jsx(Z.Suspense,{fallback:t.jsx(Wt,{instance:P,onConfigure:c}),children:t.jsx(Qt,{instance:P,onConfigure:c,onAuthenticate:o,onDelete:i,onToggleStatus:l})},P.id),e[23]=o,e[24]=c,e[25]=i,e[26]=l,e[27]=y):y=e[27],j=n.map(y),e[17]=n,e[18]=o,e[19]=c,e[20]=i,e[21]=l,e[22]=j}else j=e[22];let S;e[28]!==j?(S=t.jsx("div",{className:"p-2 flex flex-col gap-1",children:j}),e[28]=j,e[29]=S):S=e[29];let v;return e[30]!==g||e[31]!==S?(v=t.jsxs("div",{className:"rounded-xl border border-border bg-card overflow-hidden",children:[g,S]}),e[30]=g,e[31]=S,e[32]=v):v=e[32],v}function Yt(s,e=3){const n=new Map;for(const c of s){if(!c.isError)continue;const o=(c.errorMessage??"").trim()||"Unknown error";n.set(o,(n.get(o)??0)+1)}return[...n.entries()].map(([c,o])=>({message:c,count:o})).sort((c,o)=>o.count-c.count).slice(0,e)}const Zt=[{value:"7d",label:"7d"},{value:"14d",label:"14d"},{value:"30d",label:"30d"}];function es(s){const e=new Date,n=new Date(e);return s==="7d"?n.setDate(n.getDate()-7):s==="14d"?n.setDate(n.getDate()-14):n.setDate(n.getDate()-30),{startDate:n,endDate:e}}const ts={calls:{label:"Tool calls"},errors:{label:"Errors"}};function ss(s){const e=U.c(4),{connectionId:n,orgId:c,timeframe:o}=s,i=L(),l=ze(),a=es(o),{data:d}=ue({queryKey:te.connectionActivity(n,o,c),queryFn:async()=>await l.call("MONITORING_LOGS_LIST",{startDate:a.startDate.toISOString(),endDate:a.endDate.toISOString(),connectionId:n,limit:2e3,offset:0}),staleTime:3e5}),{data:p}=ue({queryKey:te.connectionActivityErrors(n,o,c),queryFn:async()=>await l.call("MONITORING_LOGS_LIST",{startDate:a.startDate.toISOString(),endDate:a.endDate.toISOString(),connectionId:n,isError:!0,limit:1,offset:0}),staleTime:3e5}),m=yt(d?.logs??[],a,void 0,d?.total,p?.total),r=m.data,f=m.totalCalls>0,u=Yt(d?.logs??[]),h=m.totalCalls>0?Math.round(m.totalErrors/m.totalCalls*100):0;let g;e[0]!==i?(g=i("details.connectionActivity.toolCalls"),e[0]=i,e[1]=g):g=e[1];let j;return e[2]!==g?(j=t.jsx("p",{className:"text-xs text-muted-foreground mt-0.5",children:g}),e[2]=g,e[3]=j):j=e[3],t.jsxs("div",{children:[t.jsxs("div",{className:"flex gap-6 px-5 pb-4",children:[t.jsxs("div",{children:[t.jsx("p",{className:"text-2xl font-semibold text-foreground tabular-nums",children:m.totalCalls.toLocaleString()}),j]}),m.totalErrors>0&&t.jsxs("div",{children:[t.jsx("p",{className:"text-2xl font-semibold text-destructive tabular-nums",children:m.totalErrors.toLocaleString()}),t.jsx("p",{className:"text-xs text-muted-foreground mt-0.5",children:i("details.connectionActivity.errors")})]}),m.avgDurationMs>0&&t.jsxs("div",{children:[t.jsxs("p",{className:"text-2xl font-semibold text-foreground tabular-nums",children:[Math.round(m.avgDurationMs),"ms"]}),t.jsx("p",{className:"text-xs text-muted-foreground mt-0.5",children:i("details.connectionActivity.avgLatency")})]})]}),f?t.jsxs("div",{children:[t.jsx(kt,{config:ts,className:"h-16 w-full",children:t.jsxs(Ct,{data:r,barCategoryGap:"4%",children:[t.jsx(It,{content:t.jsx(Tt,{labelFormatter:os}),cursor:{fill:"var(--muted)"}}),t.jsx(_t,{dataKey:"calls",radius:[2,2,0,0],minPointSize:1,children:r.map(is)})]})}),t.jsxs("div",{className:"flex justify-between px-3 mt-1 pb-3",children:[t.jsx("span",{className:"text-[10px] text-muted-foreground",children:r[0]?.label}),t.jsx("span",{className:"text-[10px] text-muted-foreground",children:r[r.length-1]?.label})]})]}):t.jsx("div",{className:"h-20 flex items-center justify-center",children:t.jsx("p",{className:"text-sm text-muted-foreground/60",children:i("details.connectionActivity.noActivityInThisPeriod")})}),u.length>0&&t.jsxs("div",{className:"px-5 py-4 border-t border-border",children:[t.jsxs("p",{className:"text-xs font-medium text-muted-foreground mb-2",children:[i("details.connectionActivity.topErrors"),h>0?` · ${i("details.connectionActivity.errorRatePercentage",{errorRate:h.toString()})}`:""]}),t.jsx("ul",{className:"space-y-1.5",children:u.map(ns)})]})]})}function ns(s){return t.jsxs("li",{className:"flex items-start gap-2 text-xs",children:[t.jsxs("span",{className:"tabular-nums text-destructive font-medium shrink-0",children:[s.count.toLocaleString(),"×"]}),t.jsx("span",{className:"text-muted-foreground truncate",title:s.message,children:s.message})]},s.message)}function is(s,e){return t.jsx(wt,{fill:s.errorRate>50?"var(--destructive)":"var(--chart-1)",fillOpacity:s.calls===0?.2:s.errorRate>50?.7:.85},`cell-${e}`)}function os(s,e){const n=Array.isArray(e)?e[0]:void 0;return n&&typeof n=="object"&&"payload"in n?n.payload?.label??"":""}function as(){const s=U.c(1);let e;return s[0]===Symbol.for("react.memo_cache_sentinel")?(e=t.jsxs("div",{children:[t.jsx("div",{className:"flex gap-6 px-5 pb-4",children:t.jsxs("div",{className:"flex flex-col gap-1.5",children:[t.jsx("div",{className:"h-7 w-16 rounded-md bg-muted animate-pulse"}),t.jsx("div",{className:"h-3 w-14 rounded bg-muted animate-pulse"})]})}),t.jsx("div",{className:"h-20 w-full rounded-md bg-muted animate-pulse"})]}),s[0]=e):e=s[0],e}function ls(s){const e=U.c(22),{connectionId:n}=s,c=L(),[o,i]=Z.useState("14d"),{org:l}=se();let a;e[0]!==c?(a=c("details.connectionActivity.activity"),e[0]=c,e[1]=a):a=e[1];let d;e[2]!==a?(d=t.jsx("div",{children:t.jsx("h3",{className:"text-sm font-semibold text-foreground",children:a})}),e[2]=a,e[3]=d):d=e[3];let p;e[4]!==c?(p=c("details.connectionActivity.timeframe"),e[4]=c,e[5]=p):p=e[5];let m;e[6]!==o?(m=Zt.map(j=>t.jsx("button",{type:"button","aria-pressed":o===j.value,onClick:()=>i(j.value),className:Se("px-2.5 py-1 text-xs font-medium rounded-md transition-colors",o===j.value?"bg-background text-foreground shadow-sm":"text-muted-foreground hover:text-foreground"),children:j.label},j.value)),e[6]=o,e[7]=m):m=e[7];let r;e[8]!==p||e[9]!==m?(r=t.jsx("div",{role:"group","aria-label":p,className:"flex items-center gap-0.5 bg-muted rounded-lg p-0.5",children:m}),e[8]=p,e[9]=m,e[10]=r):r=e[10];let f;e[11]!==d||e[12]!==r?(f=t.jsxs("div",{className:"px-5 py-4 flex items-center justify-between",children:[d,r]}),e[11]=d,e[12]=r,e[13]=f):f=e[13];let u;e[14]===Symbol.for("react.memo_cache_sentinel")?(u=t.jsx(as,{}),e[14]=u):u=e[14];let h;e[15]!==n||e[16]!==l.id||e[17]!==o?(h=t.jsx(Z.Suspense,{fallback:u,children:t.jsx(ss,{connectionId:n,orgId:l.id,timeframe:o})}),e[15]=n,e[16]=l.id,e[17]=o,e[18]=h):h=e[18];let g;return e[19]!==f||e[20]!==h?(g=t.jsxs("div",{className:"rounded-xl border border-border bg-card overflow-hidden",children:[f,h]}),e[19]=f,e[20]=h,e[21]=g):g=e[21],g}function rs(s){const e=U.c(15),{virtualMcp:n,org:c}=s,o=ne();let i;e[0]!==o||e[1]!==c||e[2]!==n.id?(i=()=>{const r=crypto.randomUUID();o({to:"/$org/$taskId",params:{org:c,taskId:r},search:{virtualmcpid:n.id}})},e[0]=o,e[1]=c,e[2]=n.id,e[3]=i):i=e[3];let l;e[4]===Symbol.for("react.memo_cache_sentinel")?(l=t.jsx(Ae,{size:16}),e[4]=l):l=e[4];let a;e[5]!==n.icon||e[6]!==n.title?(a=t.jsx(le,{icon:n.icon,name:n.title,size:"xs",fallbackIcon:l}),e[5]=n.icon,e[6]=n.title,e[7]=a):a=e[7];let d;e[8]!==n.title?(d=t.jsx("span",{className:"flex-1 text-sm font-medium text-foreground truncate",children:n.title}),e[8]=n.title,e[9]=d):d=e[9];let p;e[10]===Symbol.for("react.memo_cache_sentinel")?(p=t.jsx(Te,{size:16,className:"text-muted-foreground group-hover:text-foreground transition-colors shrink-0"}),e[10]=p):p=e[10];let m;return e[11]!==i||e[12]!==a||e[13]!==d?(m=t.jsxs("button",{type:"button",onClick:i,className:"flex items-center gap-3 rounded-lg hover:bg-muted/50 transition-colors group text-left w-full",children:[a,d,p]}),e[11]=i,e[12]=a,e[13]=d,e[14]=m):m=e[14],m}function cs(s){const e=U.c(7),{virtualMcps:n,org:c}=s;let o;if(e[0]!==c||e[1]!==n){let l;e[3]!==c?(l=a=>t.jsx(rs,{virtualMcp:a,org:c},a.id),e[3]=c,e[4]=l):l=e[4],o=n.map(l),e[0]=c,e[1]=n,e[2]=o}else o=e[2];let i;return e[5]!==o?(i=t.jsx("div",{className:"flex flex-col gap-3",children:t.jsx("div",{className:"flex flex-col gap-2",children:o})}),e[5]=o,e[6]=i):i=e[6],i}function ds(s){const e=U.c(13),{connection:n}=s,c=L(),{org:o}=se();let i;e[0]!==n.id?(i={filters:[{column:"connection_id",value:n.id}]},e[0]=n.id,e[1]=i):i=e[1];const l=At(i);if(!(l.length>0)){let f;return e[2]===Symbol.for("react.memo_cache_sentinel")?(f=t.jsx(t.Fragment,{}),e[2]=f):f=e[2],f}let d;e[3]!==c?(d=c("details.connectionAgentsPanel.usedByAgents"),e[3]=c,e[4]=d):d=e[4];let p;e[5]!==d?(p=t.jsx("div",{className:"px-5 py-4 border-b border-border",children:t.jsx("h3",{className:"text-sm font-semibold text-foreground",children:d})}),e[5]=d,e[6]=p):p=e[6];let m;e[7]!==o.slug||e[8]!==l?(m=t.jsx("div",{className:"px-5 py-4",children:t.jsx(cs,{virtualMcps:l,org:o.slug})}),e[7]=o.slug,e[8]=l,e[9]=m):m=e[9];let r;return e[10]!==p||e[11]!==m?(r=t.jsxs("div",{className:"rounded-xl border border-border bg-card overflow-hidden",children:[p,m]}),e[10]=p,e[11]=m,e[12]=r):r=e[12],r}function ms(s){const e=U.c(35),{tools:n,connectionId:c,org:o}=s,i=L(),l=ne(),{org:a}=se();let d;e[0]!==c||e[1]!==a.id||e[2]!==a.slug?(d={connectionId:c,orgId:a.id,orgSlug:a.slug},e[0]=c,e[1]=a.id,e[2]=a.slug,e[3]=d):d=e[3];const p=ke(d),m=_e(c);let r;e[4]!==m||e[5]!==c?(r=m?Pe(m):c,e[4]=m,e[5]=c,e[6]=r):r=e[6];const f=r,[u,h]=Z.useState("");let g,j,S,v;if(e[7]!==f||e[8]!==p||e[9]!==l||e[10]!==o||e[11]!==u||e[12]!==i||e[13]!==n){const D=(n??[]).filter(us),_=u.toLowerCase().trim(),M=_?D.filter(b=>b.name.toLowerCase().includes(_)||b.description&&b.description.toLowerCase().includes(_)):D;let T;e[18]!==f||e[19]!==l||e[20]!==o?(T=b=>{l({to:"/$org/settings/connections/$appSlug/$collectionName/$itemId",params:{org:o,appSlug:f,collectionName:"tools",itemId:encodeURIComponent(b.name)}})},e[18]=f,e[19]=l,e[20]=o,e[21]=T):T=e[21];const $=T;S="flex flex-col h-full overflow-hidden";let I;e[22]!==i?(I=i("details.connectionUiTab.searchAppsPlaceholder"),e[22]=i,e[23]=I):I=e[23];let N;e[24]===Symbol.for("react.memo_cache_sentinel")?(N=b=>{b.key==="Escape"&&(h(""),b.target.blur())},e[24]=N):N=e[24],e[25]!==u||e[26]!==I?(v=t.jsx(Mt,{value:u,onChange:h,placeholder:I,onKeyDown:N}),e[25]=u,e[26]=I,e[27]=v):v=e[27],g="flex-1 overflow-auto p-5",j=M.length===0?t.jsx(ye,{image:null,title:i(u?"details.connectionUiTab.noAppsFound":"details.connectionUiTab.noAppsAvailable"),description:i(u?"details.connectionUiTab.adjustSearchTerms":"details.connectionUiTab.noInteractiveUis")}):t.jsx("div",{className:"grid grid-cols-[repeat(auto-fill,minmax(320px,1fr))] gap-4",children:M.map(b=>{const E=de(b._meta);return t.jsxs(Ee,{className:"cursor-pointer transition-colors overflow-hidden gap-0",onClick:()=>$(b),children:[t.jsx("div",{className:"h-[200px] overflow-hidden border-b border-border",children:t.jsx(Ot,{resourceURI:E,toolInfo:{tool:b},displayMode:"inline",minHeight:200,maxHeight:200,client:p})}),t.jsxs("div",{className:"flex flex-col gap-2 p-4",children:[t.jsxs("div",{className:"flex items-center justify-between gap-2",children:[t.jsx("h3",{className:"text-base font-medium text-foreground truncate",children:b.annotations?.title??b.name}),t.jsx(ot,{annotations:b.annotations,_meta:b._meta})]}),b.description&&t.jsx("p",{className:"text-sm text-muted-foreground line-clamp-2",children:b.description})]})]},b.name)})}),e[7]=f,e[8]=p,e[9]=l,e[10]=o,e[11]=u,e[12]=i,e[13]=n,e[14]=g,e[15]=j,e[16]=S,e[17]=v}else g=e[14],j=e[15],S=e[16],v=e[17];let y;e[28]!==g||e[29]!==j?(y=t.jsx("div",{className:g,children:j}),e[28]=g,e[29]=j,e[30]=y):y=e[30];let P;return e[31]!==S||e[32]!==v||e[33]!==y?(P=t.jsxs("div",{className:S,children:[v,y]}),e[31]=S,e[32]=v,e[33]=y,e[34]=P):P=e[34],P}function us(s){return!!de(s._meta)}function De(s){const e=s.replace(/[._]/g," ").trim().split(/\s+/),n=l=>l.charAt(0).toUpperCase()+l.slice(1),c=new Set(["list","create","get","update","delete","fetch","search","run","trigger","review","send","check"]),o=e.map(n),i=e[e.length-1];return o.length>=2&&i&&c.has(i)?[o.pop(),...o].join(" "):o.join(" ")}function re(s){const e=U.c(5),{label:n}=s,c=L();let o;e[0]!==n||e[1]!==c?(o=c("details.connectionCapabilities.noItemsAvailable",{item:n}),e[0]=n,e[1]=c,e[2]=o):o=e[2];let i;return e[3]!==o?(i=t.jsx("div",{className:"px-5 py-8 text-center",children:t.jsx("p",{className:"text-sm text-muted-foreground",children:o})}),e[3]=o,e[4]=i):i=e[4],i}function xs(s){const e=U.c(72),{tools:n,prompts:c,resources:o,connectionId:i,org:l}=s;let a;e[0]!==c?(a=c===void 0?[]:c,e[0]=c,e[1]=a):a=e[1];const d=a;let p;e[2]!==o?(p=o===void 0?[]:o,e[2]=o,e[3]=p):p=e[3];const m=p,r=L(),f=ne(),u=_e(i??"");let h;e[4]!==u||e[5]!==i?(h=u?Pe(u):i,e[4]=u,e[5]=i,e[6]=h):h=e[6];const g=h;let j;e[7]!==g||e[8]!==i||e[9]!==f||e[10]!==l?(j=function(V){!i||!l||f({to:"/$org/settings/connections/$appSlug/$collectionName/$itemId",params:{org:l,appSlug:g,collectionName:"tools",itemId:encodeURIComponent(V)}})},e[7]=g,e[8]=i,e[9]=f,e[10]=l,e[11]=j):j=e[11];const S=j;let v;e[12]!==i||e[13]!==l||e[14]!==n?(v=i&&l&&n.some(hs),e[12]=i,e[13]=l,e[14]=n,e[15]=v):v=e[15];const y=v;if(n.length+d.length+m.length===0){let C;e[16]!==r?(C=r("details.connectionCapabilities.capabilities"),e[16]=r,e[17]=C):C=e[17];let V;e[18]!==C?(V=t.jsx("h3",{className:"text-sm font-semibold text-foreground mb-1",children:C}),e[18]=C,e[19]=V):V=e[19];let G;e[20]!==r?(G=r("details.connectionCapabilities.noCapabilitiesDiscovered"),e[20]=r,e[21]=G):G=e[21];let F;e[22]!==G?(F=t.jsx("p",{className:"text-sm text-muted-foreground",children:G}),e[22]=G,e[23]=F):F=e[23];let ee;return e[24]!==F||e[25]!==V?(ee=t.jsxs("div",{className:"rounded-xl border border-border bg-card p-5",children:[V,F]}),e[24]=F,e[25]=V,e[26]=ee):ee=e[26],ee}let D;e[27]!==r||e[28]!==n.length?(D=r("details.connectionCapabilities.toolsTab",{count:n.length}),e[27]=r,e[28]=n.length,e[29]=D):D=e[29];let _;e[30]!==D?(_=t.jsx(oe,{value:"tools",variant:"underline",children:D}),e[30]=D,e[31]=_):_=e[31];let M;e[32]!==y||e[33]!==r?(M=y&&t.jsx(oe,{value:"apps",variant:"underline",children:r("details.connectionCapabilities.uiTab")}),e[32]=y,e[33]=r,e[34]=M):M=e[34];let T;e[35]!==r?(T=r("details.connectionCapabilities.promptsTab"),e[35]=r,e[36]=T):T=e[36];let $;e[37]!==T?($=t.jsx(oe,{value:"prompts",variant:"underline",children:T}),e[37]=T,e[38]=$):$=e[38];let I;e[39]!==r?(I=r("details.connectionCapabilities.resourcesTab"),e[39]=r,e[40]=I):I=e[40];let N;e[41]!==I?(N=t.jsx(oe,{value:"resources",variant:"underline",children:I}),e[41]=I,e[42]=N):N=e[42];let b;e[43]!==M||e[44]!==$||e[45]!==N||e[46]!==_?(b=t.jsx("div",{className:"px-5 flex items-center justify-between border-b border-border",children:t.jsxs(Pt,{variant:"underline",className:"gap-1",children:[_,M,$,N]})}),e[43]=M,e[44]=$,e[45]=N,e[46]=_,e[47]=b):b=e[47];let E;e[48]!==S||e[49]!==n?(E=n.length>0?n.map(C=>t.jsxs("button",{type:"button",className:"w-full flex items-start gap-3 px-5 py-3 text-left hover:bg-muted/40 transition-colors cursor-pointer",onClick:()=>S(C.name),children:[t.jsx("div",{className:"mt-0.5 shrink-0 size-7 rounded-md bg-muted flex items-center justify-center",children:t.jsx($t,{size:13,className:"text-muted-foreground"})}),t.jsxs("div",{className:"flex-1 min-w-0",children:[t.jsx("div",{className:"text-sm font-medium text-foreground",children:De(C.name)}),C.description&&t.jsx("div",{className:"text-xs text-muted-foreground mt-0.5 leading-relaxed line-clamp-2",children:C.description})]}),t.jsx(Te,{size:16,className:"text-muted-foreground shrink-0 mt-0.5"})]},C.name)):t.jsx(re,{label:"tools"}),e[48]=S,e[49]=n,e[50]=E):E=e[50];let z;e[51]!==E?(z=t.jsx(ae,{value:"tools",className:"h-auto",children:t.jsx("div",{className:"divide-y divide-border",children:E})}),e[51]=E,e[52]=z):z=e[52];let k;e[53]!==i||e[54]!==y||e[55]!==l||e[56]!==n?(k=y&&t.jsx(ae,{value:"apps",className:"h-auto min-h-[200px]",children:t.jsx(ms,{tools:n,connectionId:i,org:l})}),e[53]=i,e[54]=y,e[55]=l,e[56]=n,e[57]=k):k=e[57];let A;e[58]!==d?(A=d.length>0?d.map(fs):t.jsx(re,{label:"prompts"}),e[58]=d,e[59]=A):A=e[59];let R;e[60]!==A?(R=t.jsx(ae,{value:"prompts",className:"h-auto",children:t.jsx("div",{className:"divide-y divide-border",children:A})}),e[60]=A,e[61]=R):R=e[61];let x;e[62]!==m?(x=m.length>0?m.map(ps):t.jsx(re,{label:"resources"}),e[62]=m,e[63]=x):x=e[63];let w;e[64]!==x?(w=t.jsx(ae,{value:"resources",className:"h-auto",children:t.jsx("div",{className:"divide-y divide-border",children:x})}),e[64]=x,e[65]=w):w=e[65];let O;return e[66]!==b||e[67]!==z||e[68]!==k||e[69]!==R||e[70]!==w?(O=t.jsx("div",{className:"rounded-xl border border-border bg-card overflow-hidden",children:t.jsxs(Dt,{defaultValue:"tools",variant:"underline",children:[b,z,k,R,w]})}),e[66]=b,e[67]=z,e[68]=k,e[69]=R,e[70]=w,e[71]=O):O=e[71],O}function ps(s){return t.jsxs("div",{className:"flex items-start gap-3 px-5 py-3",children:[t.jsx("div",{className:"mt-0.5 shrink-0 size-7 rounded-md bg-muted flex items-center justify-center",children:t.jsx(gt,{size:13,className:"text-muted-foreground"})}),t.jsxs("div",{className:"flex-1 min-w-0",children:[t.jsx("div",{className:"text-sm font-medium text-foreground",children:s.name}),s.description&&t.jsx("div",{className:"text-xs text-muted-foreground mt-0.5 leading-relaxed line-clamp-2",children:s.description}),s.uri&&t.jsx("div",{className:"text-xs text-muted-foreground/60 font-mono mt-0.5 truncate",children:s.uri})]})]},s.uri??s.name)}function fs(s){return t.jsxs("div",{className:"flex items-start gap-3 px-5 py-3",children:[t.jsx("div",{className:"mt-0.5 shrink-0 size-7 rounded-md bg-muted flex items-center justify-center",children:t.jsx(ht,{size:13,className:"text-muted-foreground"})}),t.jsxs("div",{className:"flex-1 min-w-0",children:[t.jsx("div",{className:"text-sm font-medium text-foreground",children:De(s.name)}),s.description&&t.jsx("div",{className:"text-xs text-muted-foreground mt-0.5 leading-relaxed line-clamp-2",children:s.description})]})]},s.name)}function hs(s){return de(s._meta)}function gs(s){const e=U.c(13),{connection:n,displayTitle:c}=s,o=c??n.title;let i;e[0]!==n.icon||e[1]!==o?(i=t.jsx(le,{icon:n.icon,name:o,size:"xl",className:"shrink-0"}),e[0]=n.icon,e[1]=o,e[2]=i):i=e[2];let l;e[3]!==o?(l=t.jsx("div",{className:"flex flex-wrap items-center gap-2 mb-2",children:t.jsx("h1",{className:"text-lg md:text-xl font-semibold tracking-tight text-foreground leading-none",children:o})}),e[3]=o,e[4]=l):l=e[4];let a;e[5]!==n.description?(a=n.description&&t.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed line-clamp-2",children:n.description}),e[5]=n.description,e[6]=a):a=e[6];let d;e[7]!==l||e[8]!==a?(d=t.jsxs("div",{className:"flex-1 min-w-0",children:[l,a]}),e[7]=l,e[8]=a,e[9]=d):d=e[9];let p;return e[10]!==i||e[11]!==d?(p=t.jsxs("div",{className:"flex items-center gap-4 md:gap-6 py-5 md:py-7 px-4 md:px-8 bg-background border-b border-border shrink-0",children:[i,d]}),e[10]=i,e[11]=d,e[12]=p):p=e[12],p}function js({form:s,connection:e,hasOAuthToken:n,onReauthenticate:c,onRemoveOAuth:o}){const i=L(),l=xe({control:s.control,name:"ui_type"}),a=xe({control:s.control,name:"connection_url"}),{stdioEnabled:d}=Re(),p=(()=>{if(typeof a!="string"||!a)return!1;try{const u=new URL(a);return u.hostname==="api.githubcopilot.com"&&u.pathname.replace(/\/+$/,"")==="/mcp"}catch{return!1}})(),m=d||e.connection_type==="STDIO",r=e.connection_type==="VIRTUAL",f=r?Gt(e.connection_url):null;return r?t.jsxs("div",{className:"flex flex-col gap-4",children:[t.jsxs("div",{className:"flex flex-col gap-3",children:[t.jsx("span",{className:"text-xs text-muted-foreground font-medium",children:i("details.connectionSidebar.type")}),t.jsxs("div",{className:"flex items-center gap-2 h-10 px-3 border border-border rounded-lg bg-muted/50",children:[t.jsx(Ae,{className:"w-4 h-4 text-muted-foreground"}),t.jsx("span",{className:"text-sm",children:i("details.connectionSidebar.virtualMcp")})]}),t.jsx("p",{className:"text-xs text-muted-foreground",children:i("details.connectionSidebar.virtualMcpDescription")})]}),f&&t.jsxs("div",{className:"flex flex-col gap-2",children:[t.jsx("span",{className:"text-xs text-muted-foreground font-medium",children:i("details.connectionSidebar.virtualMcpId")}),t.jsx("div",{className:"flex items-center gap-2 h-10 px-3 border border-border rounded-lg bg-muted/50",children:t.jsx("code",{className:"text-sm text-muted-foreground",children:f})})]})]}):t.jsxs("div",{className:"flex flex-col gap-4",children:[t.jsx(K,{control:s.control,name:"ui_type",render:({field:u})=>t.jsxs(X,{className:"flex flex-col gap-3",children:[t.jsx(Q,{className:"text-xs text-muted-foreground font-medium",children:i("details.connectionSidebar.connection")}),l!=="NPX"&&l!=="STDIO"?t.jsxs("div",{className:"flex items-stretch rounded-lg border border-border overflow-hidden",children:[t.jsxs(fe,{value:u.value,onValueChange:u.onChange,children:[t.jsx(B,{children:t.jsxs(he,{className:"h-full! w-auto min-w-[90px] border-0 rounded-none bg-muted/50 focus:ring-0 focus:ring-offset-0",children:[t.jsx(ie,{className:"w-4 h-4 text-muted-foreground shrink-0"}),t.jsx(ge,{})]})}),t.jsxs(je,{children:[t.jsx(H,{value:"HTTP",children:i("details.connectionSidebar.http")}),t.jsx(H,{value:"SSE",children:i("details.connectionSidebar.sse")}),t.jsx(H,{value:"Websocket",children:i("details.connectionSidebar.websocket")}),m&&t.jsxs(t.Fragment,{children:[t.jsx(H,{value:"NPX",children:i("details.connectionSidebar.npxPackage")}),t.jsx(H,{value:"STDIO",children:i("details.connectionSidebar.customCommand")})]})]})]}),t.jsx("div",{className:"w-px bg-border"}),t.jsx(K,{control:s.control,name:"connection_url",render:({field:h})=>t.jsx(X,{className:"flex-1 min-w-0",children:t.jsx(B,{children:t.jsx(J,{placeholder:i("details.connectionSidebar.urlPlaceholder"),...h,value:h.value??"",className:"h-10 border-0 rounded-none focus-visible:ring-0 focus-visible:ring-offset-0 bg-transparent"})})})})]}):t.jsxs(fe,{value:u.value,onValueChange:u.onChange,children:[t.jsx(B,{children:t.jsx(he,{className:"h-10",children:t.jsx(ge,{})})}),t.jsxs(je,{children:[t.jsx(H,{value:"HTTP",children:t.jsxs("span",{className:"flex items-center gap-2",children:[t.jsx(ie,{className:"w-4 h-4"}),i("details.connectionSidebar.http")]})}),t.jsx(H,{value:"SSE",children:t.jsxs("span",{className:"flex items-center gap-2",children:[t.jsx(ie,{className:"w-4 h-4"}),i("details.connectionSidebar.sse")]})}),t.jsx(H,{value:"Websocket",children:t.jsxs("span",{className:"flex items-center gap-2",children:[t.jsx(ie,{className:"w-4 h-4"}),i("details.connectionSidebar.websocket")]})}),m&&t.jsxs(t.Fragment,{children:[t.jsx(H,{value:"NPX",children:t.jsxs("span",{className:"flex items-center gap-2",children:[t.jsx(Lt,{className:"w-4 h-4"}),i("details.connectionSidebar.npxPackage")]})}),t.jsx(H,{value:"STDIO",children:t.jsxs("span",{className:"flex items-center gap-2",children:[t.jsx(Bt,{className:"w-4 h-4"}),i("details.connectionSidebar.customCommand")]})})]})]})]}),t.jsx(W,{})]})}),l==="NPX"&&t.jsx(K,{control:s.control,name:"npx_package",render:({field:u})=>t.jsxs(X,{className:"flex flex-col gap-3",children:[t.jsx(Q,{className:"text-xs text-muted-foreground font-medium",children:i("details.connectionSidebar.npmPackage")}),t.jsx(B,{children:t.jsx(J,{placeholder:i("details.connectionSidebar.npmPackagePlaceholder"),...u,value:u.value||"",className:"h-10 rounded-lg"})}),t.jsx(W,{})]})}),l==="STDIO"&&t.jsxs(t.Fragment,{children:[t.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[t.jsx(K,{control:s.control,name:"stdio_command",render:({field:u})=>t.jsxs(X,{className:"flex flex-col gap-3",children:[t.jsx(Q,{className:"text-xs text-muted-foreground font-medium",children:i("details.connectionSidebar.command")}),t.jsx(B,{children:t.jsx(J,{placeholder:i("details.connectionSidebar.commandPlaceholder"),...u,value:u.value||"",className:"h-10 rounded-lg"})}),t.jsx(W,{})]})}),t.jsx(K,{control:s.control,name:"stdio_args",render:({field:u})=>t.jsxs(X,{className:"flex flex-col gap-3",children:[t.jsx(Q,{className:"text-xs text-muted-foreground font-medium",children:i("details.connectionSidebar.arguments")}),t.jsx(B,{children:t.jsx(J,{placeholder:i("details.connectionSidebar.argumentsPlaceholder"),...u,value:u.value||"",className:"h-10 rounded-lg"})}),t.jsx("p",{className:"text-xs text-muted-foreground",children:i("details.connectionSidebar.spaceSeparatedArguments")}),t.jsx(W,{})]})})]}),t.jsx(K,{control:s.control,name:"stdio_cwd",render:({field:u})=>t.jsxs(X,{className:"flex flex-col gap-3",children:[t.jsx(Q,{className:"text-xs text-muted-foreground font-medium",children:i("details.connectionSidebar.workingDirectory")}),t.jsx(B,{children:t.jsx(J,{placeholder:i("details.connectionSidebar.workingDirectoryPlaceholder"),...u,value:u.value||"",className:"h-10 rounded-lg"})}),t.jsx(W,{})]})})]}),(l==="NPX"||l==="STDIO")&&t.jsx(K,{control:s.control,name:"env_vars",render:({field:u})=>t.jsxs(X,{className:"flex flex-col gap-3",children:[t.jsx(Q,{className:"text-xs text-muted-foreground font-medium",children:i("details.connectionSidebar.environmentVariables")}),t.jsx(B,{children:t.jsx(Je,{value:u.value??[],onChange:u.onChange})}),t.jsx(W,{})]})}),l!=="NPX"&&l!=="STDIO"&&t.jsx(K,{control:s.control,name:"connection_token",render:({field:u})=>t.jsxs(X,{className:"flex flex-col gap-3",children:[t.jsx(Q,{className:"text-xs text-muted-foreground font-medium",children:i(p?"details.connectionSidebar.githubPersonalAccessToken":"details.connectionSidebar.token")}),n?t.jsx("div",{className:"flex items-center gap-2",children:t.jsxs(Et,{children:[t.jsx(Rt,{asChild:!0,children:t.jsx("button",{type:"button",className:"inline-flex items-center gap-1.5 cursor-pointer",children:t.jsxs(zt,{variant:"success",className:"gap-1.5",children:[t.jsx(Vt,{size:12}),i("details.connectionSidebar.authenticatedViaOAuth"),t.jsx(Ft,{size:12})]})})}),t.jsxs(Ut,{align:"start",children:[t.jsxs(pe,{onClick:c,children:[t.jsx(jt,{size:16}),i("details.connectionSidebar.reauthenticate")]}),t.jsxs(pe,{variant:"destructive",onClick:o,children:[t.jsx(ce,{size:16}),i("details.connectionSidebar.removeOAuth")]})]})]})}):e.connection_token&&u.value===null?t.jsxs("div",{className:"relative group",children:[t.jsx("div",{className:"h-10 px-3 flex items-center rounded-lg border border-border bg-muted/50 text-muted-foreground font-mono text-sm",children:"••••••••••••••••"}),t.jsx("button",{type:"button",onClick:()=>u.onChange(""),className:"absolute right-2 top-1/2 -translate-y-1/2 p-1 rounded hover:bg-muted opacity-0 group-hover:opacity-100 transition-opacity",title:i("details.connectionSidebar.clearAndReplaceToken"),"aria-label":i("details.connectionSidebar.clearAndReplaceToken"),children:t.jsx(qt,{size:14,className:"text-muted-foreground"})})]}):t.jsxs(t.Fragment,{children:[t.jsx(B,{children:t.jsx(J,{type:"password",placeholder:i(p?"details.connectionSidebar.pasteYourGitHubPat":"details.connectionSidebar.enterAccessToken"),...u,value:u.value||"",className:"h-10 rounded-lg"})}),p&&t.jsxs(bt,{children:[i("details.connectionSidebar.createAPatAt")," ",t.jsx("a",{href:"https://github.com/settings/personal-access-tokens",target:"_blank",rel:"noopener noreferrer",className:"underline",children:"github.com/settings/personal-access-tokens"})]})]}),t.jsx(W,{})]})})]})}function bs(s){return s.command==="npx"}function vs(s){return s.args?.find(e=>!e.startsWith("-"))??""}function Ns(s){return{command:s.command,args:s.args?.join(" ")??"",cwd:s.cwd??""}}function be(s,e){const n={title:s.title,description:s.description??"",icon:s.icon??null,configuration_state:s.configuration_state??{},configuration_scopes:s.configuration_scopes||[]};if(s.connection_type==="STDIO"&&Ht(s.connection_headers)){const c=s.connection_headers,o=Ze(c.envVars);if(bs(c)){const l=vs(c);return{...n,ui_type:"NPX",connection_url:"",connection_token:null,npx_package:l,stdio_command:"",stdio_args:"",stdio_cwd:"",env_vars:o}}const i=Ns(c);return{...n,ui_type:"STDIO",connection_url:"",connection_token:null,npx_package:"",stdio_command:i.command,stdio_args:i.args,stdio_cwd:i.cwd,env_vars:o}}return{...n,ui_type:s.connection_type,connection_url:s.connection_url??"",connection_token:null,npx_package:"",stdio_command:"",stdio_args:"",stdio_cwd:"",env_vars:[]}}function Ss(s){let e,n=null,c=null,o=null;return s.ui_type==="NPX"?(e="STDIO",n="",o=et(s.npx_package||"",s.env_vars||[])):s.ui_type==="STDIO"?(e="STDIO",n="",o=tt(s.stdio_command||"",s.stdio_args||"",s.stdio_cwd,s.env_vars||[])):(e=s.ui_type,n=s.connection_url||"",c=s.connection_token||null),{title:s.title,description:s.description||null,icon:s.icon??null,connection_type:e,connection_url:n,...c&&{connection_token:c},...o&&{connection_headers:o},configuration_state:s.configuration_state??null,configuration_scopes:s.configuration_scopes??null}}function ys({connection:s,connectionId:e,org:n,isUpdating:c,tools:o,prompts:i,resources:l,siblings:a}){const d=L(),p=ne({from:"/$org/settings/connections/$appSlug"}),m=Le(),r=we(),{org:f}=se(),u=Nt({onSuccess:()=>{a.length<=1&&p({to:"/$org/settings/connections",params:{org:n}})}}),[h,g]=Z.useState(null),[j,S]=Z.useState(!1),v=Ce({connectionId:e}),{data:y}=at(),P=y?.data?.members??[],D=h??s,_=P.find(x=>x.userId===D.created_by),T=s?.connection_type==="VIRTUAL"||v.isAuthenticated,$={...s,tools:o},I=st($,Xt),N=Be({resolver:qe(Ye),values:be(h??s)}),b=N.formState.isDirty,E=async()=>{if(!await N.trigger())return;const w=N.getValues(),O=Ss(w),C=h?.id??e;await r.update.mutateAsync({id:C,data:O}),N.reset(w)},z=()=>{N.reset(be(h??s))},k=async x=>{const w=s.configuration_scopes?.length?s.configuration_scopes.join(" "):void 0,{token:O,tokenInfo:C,error:V}=await ut({connectionId:x,orgSlug:f.slug,...w?{scope:w}:{}});if(V||!O){Y.error(d("details.connection.authFailed",{error:V??""}));return}if(C)try{const F=await fetch(`/api/${f.slug}/connections/${x}/oauth-token`,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({accessToken:C.accessToken,refreshToken:C.refreshToken,expiresIn:C.expiresIn,scope:C.scope,clientId:C.clientId,clientSecret:C.clientSecret,tokenEndpoint:C.tokenEndpoint})});if(!F.ok)console.error("Failed to save OAuth token:",await F.text()),await r.update.mutateAsync({id:x,data:{connection_token:O}});else try{await r.update.mutateAsync({id:x,data:{}})}catch(ee){console.warn("Failed to refresh connection tools after OAuth:",ee)}}catch(F){console.error("Error saving OAuth token:",F),await r.update.mutateAsync({id:x,data:{connection_token:O}})}else await r.update.mutateAsync({id:x,data:{connection_token:O}});const G=new URL(`/api/${f.slug}/mcp/${x}`,window.location.origin);await m.invalidateQueries({queryKey:te.isMCPAuthenticated(G.href,null)}),await m.invalidateQueries({queryKey:te.mcpClientPrefix()}),Y.success(d("details.connection.authSuccess"))},A=()=>k(s.id),R=async()=>{try{const x=await fetch(`/api/${f.slug}/connections/${s.id}/oauth-token`,{method:"DELETE",credentials:"include"});if(!x.ok){const O=await x.text();Y.error(d("details.connection.failedRemoveOAuth",{error:O}));return}const w=new URL(`/api/${f.slug}/mcp/${s.id}`,window.location.origin);await m.invalidateQueries({queryKey:te.isMCPAuthenticated(w.href,null)}),Y.success(d("details.connection.oauthRemoved"))}catch(x){console.error("Error removing OAuth token:",x),Y.error(d("details.connection.failedRemoveOAuthError"))}};return t.jsxs(t.Fragment,{children:[t.jsx(St,{...u}),t.jsx(Ge,{open:h!==null,onOpenChange:x=>{x||g(null)},children:t.jsxs(He,{side:"right",className:"sm:max-w-[520px] p-0 flex flex-col gap-0 overflow-hidden",children:[t.jsxs(Ke,{className:"px-4 py-3 md:px-6 md:py-4 border-b border-border shrink-0",children:[t.jsx(Xe,{className:"text-base",children:h?.title??s.title}),t.jsx(Qe,{className:"text-xs",children:d("details.connection.settingsDescription")}),_&&t.jsxs("div",{className:"flex items-center gap-1.5 pt-1",children:[t.jsx("span",{className:"text-xs text-muted-foreground",children:d("details.connection.connectedBy")}),t.jsx(lt,{url:_.user?.image??void 0,fallback:_.user?.name??_.user?.email??"?",size:"3xs",shape:"circle"}),t.jsx("span",{className:"text-xs font-medium text-foreground",children:_.user?.name||_.user?.email})]})]}),t.jsxs(vt,{...N,children:[t.jsxs("div",{className:"flex-1 overflow-y-auto px-4 py-3 md:px-6 md:py-5 flex flex-col gap-4 md:gap-6",children:[t.jsxs("div",{className:"flex flex-col gap-3 md:gap-4",children:[t.jsx(K,{control:N.control,name:"title",render:({field:x})=>t.jsxs(X,{children:[t.jsx(Q,{children:d("details.connection.nameLabel")}),t.jsx(B,{children:t.jsx(J,{...x})}),t.jsx(W,{})]})}),t.jsx(K,{control:N.control,name:"description",render:({field:x})=>t.jsxs(X,{children:[t.jsx(Q,{children:d("details.connection.descriptionLabel")}),t.jsx(B,{children:t.jsx(J,{...x,value:x.value||""})}),t.jsx(W,{})]})})]}),t.jsx(js,{form:N,connection:h??s,hasOAuthToken:v.hasOAuthToken,onReauthenticate:A,onRemoveOAuth:R}),t.jsx(nt,{connection:h??s,form:N,hasMcpBinding:I,isMCPAuthenticated:T,supportsOAuth:v.supportsOAuth,isServerError:v.isServerError,onAuthenticate:A,onViewReadme:void 0})]}),t.jsxs("div",{className:"px-6 py-4 border-t border-border flex gap-2 shrink-0",children:[t.jsx(q,{onClick:E,disabled:!b||c,className:"flex-1",children:d(c?"details.connection.savingButton":"details.connection.saveButton")}),b&&t.jsx(q,{variant:"outline",onClick:z,children:d("details.connection.undoButton")}),t.jsxs(q,{variant:"outline",className:"gap-2 text-muted-foreground hover:text-destructive hover:border-destructive",onClick:()=>{const x=h??s;g(null),u.requestDelete(x)},children:[t.jsx(ce,{size:15}),d("details.connection.deleteButton")]})]})]},h?.id??s.id)]})}),t.jsx(it,{hideHeader:!0,children:t.jsxs("div",{className:"flex flex-col h-full overflow-hidden",children:[t.jsx(gs,{connection:s,displayTitle:(()=>{const x=a[0]??s;return x.app_name?x.title.replace(/\s*\(\d+\)\s*$/,""):x.title})()}),t.jsx("div",{className:"flex-1 overflow-auto @container",children:t.jsxs("div",{className:"grid grid-cols-1 @3xl:grid-cols-2 gap-5 p-6",children:[t.jsx(ls,{connectionId:e}),t.jsxs("div",{className:"flex flex-col gap-5",children:[t.jsx(Jt,{instances:a,onConfigure:x=>g(x),onAuthenticate:x=>k(x.id),onDelete:x=>u.requestDelete(x),onToggleStatus:async(x,w)=>{try{await r.update.mutateAsync({id:x.id,data:{status:w}}),Y.success(d(w==="active"?"details.connection.connectionEnabled":"details.connection.connectionDisabled"))}catch{Y.error(d("details.connection.failedUpdateConnection"))}},isAdding:j,onAdd:async()=>{S(!0);try{const x=a[0]??s,w=x.title.replace(/\s*\(\d+\)\s*$/,""),O=a.length+1,C=`${w} (${O})`,V=We("conn");await r.create.mutateAsync({id:V,title:C,description:x.description??null,connection_type:x.connection_type,connection_url:x.connection_url??null,connection_token:null,created_at:new Date().toISOString(),updated_at:new Date().toISOString(),created_by:x.created_by,organization_id:x.organization_id,icon:x.icon??null,app_name:x.app_name??null,app_id:x.app_id??null,connection_headers:x.connection_headers??null,oauth_config:null,configuration_state:x.configuration_state??null,metadata:null,tools:null,bindings:null,status:"inactive"});const G=new URL(`/api/${f.slug}/mcp/${V}`,window.location.origin),F=await mt({url:G.href,token:null,orgId:f.id});F.supportsOAuth&&!F.isAuthenticated&&await k(V)}finally{S(!1)}}}),t.jsx(ds,{connection:s})]}),t.jsx("div",{className:"@3xl:col-span-2",children:t.jsx(xs,{tools:o,prompts:i,resources:l,connectionId:e,org:n})})]})})]})})]})}function Cs(){const s=U.c(52),e=L();let n;s[0]===Symbol.for("react.memo_cache_sentinel")?(n={from:"/$org/settings/connections/$appSlug"},s[0]=n):n=s[0];const c=ne(n);let o;s[1]===Symbol.for("react.memo_cache_sentinel")?(o={from:"/shell/$org/settings/connections/$appSlug"},s[1]=o):o=s[1];const{appSlug:i,org:l}=Ve(o),{org:a}=se(),d=we();let p;s[2]!==i?(p={slug:i},s[2]=i,s[3]=p):p=s[3];const m=rt(p),r=m[0]??null,f=r?.id??"",u=f||null;let h;s[4]!==a.id||s[5]!==a.slug||s[6]!==u?(h={connectionId:u,orgId:a.id,orgSlug:a.slug},s[4]=a.id,s[5]=a.slug,s[6]=u,s[7]=h):h=s[7];const g=ke(h);let j;s[8]!==g?(j={client:g},s[8]=g,s[9]=j):j=s[9];const{data:S}=ct(j);let v;if(s[10]!==r?.tools||s[11]!==f||s[12]!==m||s[13]!==S){const k=S?S.tools.map(As):(r?.tools??[]).map(Ts);e:{if(m.length<=1){v=k;break e}const A=new Set,R=[],x=ks;for(const w of m){const O=w.id===f?k:x(w.tools);for(const C of O)A.has(C.name)||(A.add(C.name),R.push(C))}v=R.length>0?R:k}s[10]=r?.tools,s[11]=f,s[12]=m,s[13]=S,s[14]=v}else v=s[14];const y=v;let P;s[15]!==g?(P={client:g},s[15]=g,s[16]=P):P=s[16];const{data:D}=dt(P);let _;s[17]!==g?(_={client:g},s[17]=g,s[18]=_):_=s[18];const{data:M}=Fe(_);let T;s[19]!==D?.prompts?(T=D?.prompts??[],s[19]=D?.prompts,s[20]=T):T=s[20];let $;s[21]!==T?($=T.map(ws),s[21]=T,s[22]=$):$=s[22];const I=$;let N;s[23]!==M?.resources?(N=M?.resources??[],s[23]=M?.resources,s[24]=N):N=s[24];let b;s[25]!==N?(b=N.map(_s),s[25]=N,s[26]=b):b=s[26];const E=b;if(!r){let k;s[27]!==e?(k=e("details.connection.notFoundTitle"),s[27]=e,s[28]=k):k=s[28];let A;s[29]!==e?(A=e("details.connection.notFoundDescription"),s[29]=e,s[30]=A):A=s[30];let R;s[31]!==c||s[32]!==l?(R=()=>c({to:"/$org/settings/connections",params:{org:l}}),s[31]=c,s[32]=l,s[33]=R):R=s[33];let x;s[34]!==e?(x=e("details.connection.backButton"),s[34]=e,s[35]=x):x=s[35];let w;s[36]!==R||s[37]!==x?(w=t.jsx(q,{variant:"outline",onClick:R,children:x}),s[36]=R,s[37]=x,s[38]=w):w=s[38];let O;return s[39]!==k||s[40]!==A||s[41]!==w?(O=t.jsx("div",{className:"flex h-full w-full bg-background",children:t.jsx(ye,{title:k,description:A,actions:w})}),s[39]=k,s[40]=A,s[41]=w,s[42]=O):O=s[42],O}let z;return s[43]!==d.update.isPending||s[44]!==y||s[45]!==r||s[46]!==f||s[47]!==l||s[48]!==I||s[49]!==E||s[50]!==m?(z=t.jsx(ys,{org:l,connection:r,connectionId:f,isUpdating:d.update.isPending,tools:y,prompts:I,resources:E,siblings:m}),s[43]=d.update.isPending,s[44]=y,s[45]=r,s[46]=f,s[47]=l,s[48]=I,s[49]=E,s[50]=m,s[51]=z):z=s[51],z}function _s(s){return{name:s.name,description:s.description,uri:s.uri}}function ws(s){return{name:s.name,description:s.description}}function ks(s){return(s??[]).map(Is)}function Is(s){return{name:s.name,description:s.description,inputSchema:s.inputSchema??{},outputSchema:s.outputSchema,annotations:s.annotations,_meta:s._meta}}function Ts(s){return{name:s.name,description:s.description,inputSchema:s.inputSchema,outputSchema:s.outputSchema,annotations:s.annotations,_meta:s._meta}}function As(s){return{name:s.name,description:s.description,inputSchema:s.inputSchema,outputSchema:s.outputSchema,annotations:s.annotations,_meta:s._meta}}function Ps(){const s=U.c(1);let e;return s[0]===Symbol.for("react.memo_cache_sentinel")?(e=t.jsx(Ue,{children:t.jsx(Z.Suspense,{fallback:t.jsx("div",{className:"flex h-full items-center justify-center bg-background",children:t.jsx(Ne,{className:"size-8 text-muted-foreground"})}),children:t.jsx(Cs,{})})}),s[0]=e):e=s[0],e}function Ii(){const s=U.c(1);let e;return s[0]===Symbol.for("react.memo_cache_sentinel")?(e=t.jsx(Ps,{}),s[0]=e):e=s[0],e}export{Ii as default};
1
+ import{ae as ve,ak as $e,ao as Oe,ag as me,af as Me,c as U,b as L,j as t,h as Ne,B as q,r as Z,l as Se,G as se,a7 as ze,x as ue,K as te,d as ne,b6 as Ee,b9 as xe,F as Re,E as Ue,f as Ve,c8 as Fe,n as Le,aq as Be,ar as qe,bo as Ge,bn as He,bl as Ke,bm as Xe,c9 as Qe,t as Y}from"./index-ClceuAyk.js";import{g as We}from"./extract-connection-data-j3oiKoXE.js";import{E as ye}from"./empty-state--1O_g2Vb.js";import{E as Je,c as Ye,r as Ze,b as et,d as tt}from"./connection-form-helpers-BiWza_n6.js";import{c as st,S as nt,V as it}from"./index-Ccrw7Y8L.js";import{u as Ce,T as ot}from"./use-mcp-auth-status-Dx3ZJ78o.js";import{a as at}from"./use-members-Civ1IUhM.js";import{A as lt}from"./avatar-DgTZ1wzS.js";import{a as _e,b as we,u as rt}from"./use-connection-Czuylju7.js";import{u as ke}from"./use-mcp-client-Dw2P7NDf.js";import{u as ct}from"./use-mcp-tools-DTlqZz4T.js";import{a as dt}from"./use-mcp-prompts-9ajBzqEl.js";import{i as mt,a as ut}from"./mcp-oauth-DPzuG3zD.js";import{I as le}from"./integration-icon-dzOlSD8N.js";import{s as xt}from"./Plus-CvXXAkh5.js";import{S as pt,T as ft,u as ht,aX as gt,j as ie}from"./agent-icon-BFmhGO5e.js";import{a as Ie,s as jt}from"./Settings02-Bniu9Kuf.js";import{s as ce}from"./Trash01-Cbibxhdy.js";import{d as K,a as X,e as Q,b as B,c as W,f as bt,F as vt}from"./form-9R94AgDH.js";import{I as J}from"./input-BnaH3Pwu.js";import{u as Nt,D as St}from"./use-delete-connection-C4uA47Qa.js";import{c as yt,B as Ct,a as _t,C as wt}from"./monitoring-stats-row-CSFd13g3.js";import{C as kt,a as It,b as Tt}from"./chart-BKBIXKZl.js";import{a as At}from"./use-virtual-mcp-Cg1qs7zR.js";import{i as Te}from"./ChevronRight-DBtAhTcB.js";import{b as Ae}from"./Users03-BP5hN4tN.js";import{b as oe,c as Pt,T as ae,a as Dt}from"./tabs-Dh_rs5-C.js";import{g as Pe}from"./connection-slug-CITJ0kGN.js";import{b as $t}from"./Tool01-hRYJ57AS.js";import{g as de}from"./types-DWPAY_9z.js";import{M as Ot}from"./mcp-app-renderer-QFINxU6q.js";import{C as Mt}from"./collection-search-BPZ632Qb.js";import{B as zt}from"./badge-BXckqUEw.js";import{c as Et,D as Rt,b as Ut,a as pe}from"./dropdown-menu-DXwTXKHW.js";import{S as fe,b as he,a as ge,d as je,c as H}from"./select-CPovt3xR.js";import{i as Vt}from"./CheckCircle-CUMJTel7.js";import{t as Ft}from"./ChevronUp-CzD3Q5Ez.js";import{n as Lt}from"./Tool02-VahAgw3l.js";import{b as Bt}from"./UserSquare-B9-4LA44.js";import{s as qt}from"./XClose-C39TipQ9.js";import{p as Gt,i as Ht}from"./connection-BihzkxkU.js";import"./metadata-dUsYcpuu.js";import"./Key01-B4wEzwfA.js";import"./auth-B5sZ5Nku.js";import"./use-registry-connections-DjnXhjaU.js";import"./use-organization-settings-Bfxc2_gK.js";import"./schema-C6aNLxKf.js";import"./task-board-ogD6qhBD.js";import"./index-DLXkJsHm.js";import"./index-CVUfhy6G.js";import"./index-Co_9Xm5o.js";import"./index-BrNAJ0cO.js";import"./popover-B0ciwF2d.js";import"./Check-Cz1yJ2Ku.js";import"./SearchMd-BDM79zjM.js";import"./use-create-virtual-mcp-CGD6M3Tf.js";import"./use-navigate-to-agent-D8VlsMLe.js";import"./use-destination-route-C33Wg86r.js";import"./hooks-DPkoA9nj.js";import"./delay-CnY5UFtP.js";import"./backoff-CrEUbyZT.js";import"./decopilot-sse-pool-B6oDJj48.js";import"./thread-intent-_gcPeplT.js";import"./slugify-CEUa2lfQ.js";import"./github-repo-CTPv5ZM2.js";import"./Eye-uv0JopIC.js";import"./use-org-auth-client-M8lU8FVO.js";import"./User01-CMN81VOd.js";import"./AlertCircle-DnecbAPh.js";import"./ArrowUp-Di6V-t98.js";import"./ArrowLeft-DKxrZoHN.js";import"./ArrowRight-D5xmwFpZ.js";import"./TrendUp01-BrA1T2pc.js";import"./ZoomOut-BDx7bzVD.js";import"./ChevronSelectorVertical-BWywRn6y.js";import"./DotsVertical-pXN36xDf.js";import"./Copy01-8PINeOv9.js";import"./CreditCard01-DrPWgPgY.js";import"./Download01-ChKDQL-2.js";import"./Share07-Cs5GE4ka.js";import"./GitBranch01-hVNlV4_5.js";import"./Globe01-cNyR-aGb.js";import"./HardDrive-0QEGAcdt.js";import"./Image01-D8DJyxgN.js";import"./Link01-Dg3Wgdll.js";import"./LinkExternal01-DcDWG6E7.js";import"./Monitor01-DKUPqvEt.js";import"./Sun-B5-Zgu6g.js";import"./Package-C2z5N4Ha.js";import"./Palette-B-kHXH8u.js";import"./Play-DO5I4TQw.js";import"./SearchLg-ClCNH8OL.js";import"./Shield01-Y_WnaKFU.js";import"./Stars01-6JGB8G_o.js";import"./Upload01-DCSoEoPT.js";import"./Users01-G5gtvFkg.js";import"./XCircle-CAT1mlY1.js";import"./Zap-C6djsNj_.js";import"./label-BXG-IHer.js";import"./alert-dialog-CZ1KENHH.js";import"./AreaChart-CieUdvmg.js";import"./ErrorBarContext-a7ePfei0.js";import"./Sector-CY5FlDSF.js";const Kt=ve({scopes:Me(me()).describe("List of scopes available"),stateSchema:$e(me(),Oe()).describe("JSON Schema (draft-07) defining the state structure")}),Xt=[{name:"MCP_CONFIGURATION",inputSchema:ve({}),outputSchema:Kt}];function Qt(s){const e=U.c(61),{instance:n,onConfigure:c,onAuthenticate:o,onDelete:i,onToggleStatus:l}=s,a=L();let d;e[0]!==n.id?(d={connectionId:n.id},e[0]=n.id,e[1]=d):d=e[1];const p=Ce(d),r=!(n.connection_type==="VIRTUAL")&&p.supportsOAuth&&!p.isAuthenticated,f=n.status!=="active",u=r||f?"border-destructive/50 bg-destructive/5":"border-transparent";let h;e[2]!==u?(h=Se("flex items-center gap-3 rounded-lg border px-4 py-2.5 transition-colors",u),e[2]=u,e[3]=h):h=e[3];let g;e[4]!==n.icon||e[5]!==n.title?(g=t.jsx(le,{icon:n.icon,name:n.title,size:"xs",className:"shrink-0"}),e[4]=n.icon,e[5]=n.title,e[6]=g):g=e[6];let j;e[7]!==n.title?(j=t.jsx("p",{className:"text-sm font-medium truncate",children:n.title}),e[7]=n.title,e[8]=j):j=e[8];let S;e[9]!==n.status||e[10]!==f||e[11]!==r||e[12]!==a?(S=r?t.jsx("span",{className:"text-xs text-destructive font-medium",children:a("details.connectionInstancesPanel.needsAuthorization")}):f?t.jsx("span",{className:"text-xs text-destructive font-medium",children:n.status==="error"?a("details.connectionInstancesPanel.disabledError"):a("details.connectionInstancesPanel.disabled")}):null,e[9]=n.status,e[10]=f,e[11]=r,e[12]=a,e[13]=S):S=e[13];let v;e[14]!==j||e[15]!==S?(v=t.jsxs("div",{className:"flex-1 min-w-0",children:[j,S]}),e[14]=j,e[15]=S,e[16]=v):v=e[16];let y;e[17]!==n||e[18]!==r||e[19]!==o||e[20]!==a?(y=r&&t.jsx(q,{variant:"outline",size:"sm",className:"h-7 text-xs",onClick:()=>o(n),children:a("details.connectionInstancesPanel.authorize")}),e[17]=n,e[18]=r,e[19]=o,e[20]=a,e[21]=y):y=e[21];let P;e[22]!==n||e[23]!==f||e[24]!==l||e[25]!==a?(P=f?t.jsxs(q,{variant:"outline",size:"sm",className:"h-7 text-xs gap-1.5",onClick:()=>l(n,"active"),children:[t.jsx(pt,{size:13}),a("details.connectionInstancesPanel.enable")]}):t.jsx(q,{variant:"ghost",size:"icon",className:"h-7 w-7 text-muted-foreground",onClick:()=>l(n,"inactive"),title:a("details.connectionInstancesPanel.disable"),"aria-label":a("details.connectionInstancesPanel.disable"),children:t.jsx(ft,{size:13})}),e[22]=n,e[23]=f,e[24]=l,e[25]=a,e[26]=P):P=e[26];let D;e[27]!==n||e[28]!==c?(D=()=>c(n),e[27]=n,e[28]=c,e[29]=D):D=e[29];let _;e[30]!==a?(_=a("details.connectionInstancesPanel.configure"),e[30]=a,e[31]=_):_=e[31];let M;e[32]!==a?(M=a("details.connectionInstancesPanel.configure"),e[32]=a,e[33]=M):M=e[33];let T;e[34]===Symbol.for("react.memo_cache_sentinel")?(T=t.jsx(Ie,{size:13}),e[34]=T):T=e[34];let $;e[35]!==D||e[36]!==_||e[37]!==M?($=t.jsx(q,{variant:"ghost",size:"icon",className:"h-7 w-7",onClick:D,title:_,"aria-label":M,children:T}),e[35]=D,e[36]=_,e[37]=M,e[38]=$):$=e[38];let I;e[39]!==n||e[40]!==i?(I=()=>i(n),e[39]=n,e[40]=i,e[41]=I):I=e[41];let N;e[42]!==a?(N=a("details.connectionInstancesPanel.delete"),e[42]=a,e[43]=N):N=e[43];let b;e[44]!==a?(b=a("details.connectionInstancesPanel.delete"),e[44]=a,e[45]=b):b=e[45];let E;e[46]===Symbol.for("react.memo_cache_sentinel")?(E=t.jsx(ce,{size:13}),e[46]=E):E=e[46];let z;e[47]!==I||e[48]!==N||e[49]!==b?(z=t.jsx(q,{variant:"ghost",size:"icon",className:"h-7 w-7 text-muted-foreground hover:text-destructive",onClick:I,title:N,"aria-label":b,children:E}),e[47]=I,e[48]=N,e[49]=b,e[50]=z):z=e[50];let k;e[51]!==$||e[52]!==z||e[53]!==y||e[54]!==P?(k=t.jsxs("div",{className:"flex items-center gap-1 shrink-0",children:[y,P,$,z]}),e[51]=$,e[52]=z,e[53]=y,e[54]=P,e[55]=k):k=e[55];let A;return e[56]!==k||e[57]!==h||e[58]!==g||e[59]!==v?(A=t.jsxs("div",{className:h,children:[g,v,k]}),e[56]=k,e[57]=h,e[58]=g,e[59]=v,e[60]=A):A=e[60],A}function Wt(s){const e=U.c(21),{instance:n,onConfigure:c}=s,o=L();let i;e[0]!==n.icon||e[1]!==n.title?(i=t.jsx(le,{icon:n.icon,name:n.title,size:"xs",className:"shrink-0"}),e[0]=n.icon,e[1]=n.title,e[2]=i):i=e[2];let l;e[3]!==n.title?(l=t.jsx("div",{className:"flex-1 min-w-0",children:t.jsx("p",{className:"text-sm font-medium truncate",children:n.title})}),e[3]=n.title,e[4]=l):l=e[4];let a;e[5]!==n||e[6]!==c?(a=()=>c(n),e[5]=n,e[6]=c,e[7]=a):a=e[7];let d;e[8]!==o?(d=o("details.connectionInstancesPanel.configure"),e[8]=o,e[9]=d):d=e[9];let p;e[10]!==o?(p=o("details.connectionInstancesPanel.configure"),e[10]=o,e[11]=p):p=e[11];let m;e[12]===Symbol.for("react.memo_cache_sentinel")?(m=t.jsx(Ie,{size:13}),e[12]=m):m=e[12];let r;e[13]!==a||e[14]!==d||e[15]!==p?(r=t.jsx("div",{className:"flex items-center gap-1 shrink-0",children:t.jsx(q,{variant:"ghost",size:"icon",className:"h-7 w-7",onClick:a,title:d,"aria-label":p,children:m})}),e[13]=a,e[14]=d,e[15]=p,e[16]=r):r=e[16];let f;return e[17]!==i||e[18]!==l||e[19]!==r?(f=t.jsxs("div",{className:"flex items-center gap-3 rounded-lg border border-transparent px-4 py-2.5 transition-colors",children:[i,l,r]}),e[17]=i,e[18]=l,e[19]=r,e[20]=f):f=e[20],f}function Jt(s){const e=U.c(33),{instances:n,onConfigure:c,onAuthenticate:o,onDelete:i,onToggleStatus:l,onAdd:a,isAdding:d}=s,p=L();if(n.length===0)return null;let m;e[0]!==n.length||e[1]!==p?(m=n.length===1?p("details.connectionInstancesPanel.instance"):p("details.connectionInstancesPanel.instances"),e[0]=n.length,e[1]=p,e[2]=m):m=e[2];let r;e[3]!==m?(r=t.jsx("h3",{className:"text-sm font-semibold text-foreground",children:m}),e[3]=m,e[4]=r):r=e[4];let f;e[5]!==d?(f=d?t.jsx(Ne,{className:"size-[13px]"}):t.jsx(xt,{size:13}),e[5]=d,e[6]=f):f=e[6];let u;e[7]!==p?(u=p("details.connectionInstancesPanel.addInstance"),e[7]=p,e[8]=u):u=e[8];let h;e[9]!==d||e[10]!==a||e[11]!==f||e[12]!==u?(h=t.jsxs(q,{variant:"default",size:"sm",className:"h-7 gap-1.5 text-xs",onClick:a,disabled:d,children:[f,u]}),e[9]=d,e[10]=a,e[11]=f,e[12]=u,e[13]=h):h=e[13];let g;e[14]!==r||e[15]!==h?(g=t.jsxs("div",{className:"px-5 py-4 border-b border-border flex items-center justify-between",children:[r,h]}),e[14]=r,e[15]=h,e[16]=g):g=e[16];let j;if(e[17]!==n||e[18]!==o||e[19]!==c||e[20]!==i||e[21]!==l){let y;e[23]!==o||e[24]!==c||e[25]!==i||e[26]!==l?(y=P=>t.jsx(Z.Suspense,{fallback:t.jsx(Wt,{instance:P,onConfigure:c}),children:t.jsx(Qt,{instance:P,onConfigure:c,onAuthenticate:o,onDelete:i,onToggleStatus:l})},P.id),e[23]=o,e[24]=c,e[25]=i,e[26]=l,e[27]=y):y=e[27],j=n.map(y),e[17]=n,e[18]=o,e[19]=c,e[20]=i,e[21]=l,e[22]=j}else j=e[22];let S;e[28]!==j?(S=t.jsx("div",{className:"p-2 flex flex-col gap-1",children:j}),e[28]=j,e[29]=S):S=e[29];let v;return e[30]!==g||e[31]!==S?(v=t.jsxs("div",{className:"rounded-xl border border-border bg-card overflow-hidden",children:[g,S]}),e[30]=g,e[31]=S,e[32]=v):v=e[32],v}function Yt(s,e=3){const n=new Map;for(const c of s){if(!c.isError)continue;const o=(c.errorMessage??"").trim()||"Unknown error";n.set(o,(n.get(o)??0)+1)}return[...n.entries()].map(([c,o])=>({message:c,count:o})).sort((c,o)=>o.count-c.count).slice(0,e)}const Zt=[{value:"7d",label:"7d"},{value:"14d",label:"14d"},{value:"30d",label:"30d"}];function es(s){const e=new Date,n=new Date(e);return s==="7d"?n.setDate(n.getDate()-7):s==="14d"?n.setDate(n.getDate()-14):n.setDate(n.getDate()-30),{startDate:n,endDate:e}}const ts={calls:{label:"Tool calls"},errors:{label:"Errors"}};function ss(s){const e=U.c(4),{connectionId:n,orgId:c,timeframe:o}=s,i=L(),l=ze(),a=es(o),{data:d}=ue({queryKey:te.connectionActivity(n,o,c),queryFn:async()=>await l.call("MONITORING_LOGS_LIST",{startDate:a.startDate.toISOString(),endDate:a.endDate.toISOString(),connectionId:n,limit:2e3,offset:0}),staleTime:3e5}),{data:p}=ue({queryKey:te.connectionActivityErrors(n,o,c),queryFn:async()=>await l.call("MONITORING_LOGS_LIST",{startDate:a.startDate.toISOString(),endDate:a.endDate.toISOString(),connectionId:n,isError:!0,limit:1,offset:0}),staleTime:3e5}),m=yt(d?.logs??[],a,void 0,d?.total,p?.total),r=m.data,f=m.totalCalls>0,u=Yt(d?.logs??[]),h=m.totalCalls>0?Math.round(m.totalErrors/m.totalCalls*100):0;let g;e[0]!==i?(g=i("details.connectionActivity.toolCalls"),e[0]=i,e[1]=g):g=e[1];let j;return e[2]!==g?(j=t.jsx("p",{className:"text-xs text-muted-foreground mt-0.5",children:g}),e[2]=g,e[3]=j):j=e[3],t.jsxs("div",{children:[t.jsxs("div",{className:"flex gap-6 px-5 pb-4",children:[t.jsxs("div",{children:[t.jsx("p",{className:"text-2xl font-semibold text-foreground tabular-nums",children:m.totalCalls.toLocaleString()}),j]}),m.totalErrors>0&&t.jsxs("div",{children:[t.jsx("p",{className:"text-2xl font-semibold text-destructive tabular-nums",children:m.totalErrors.toLocaleString()}),t.jsx("p",{className:"text-xs text-muted-foreground mt-0.5",children:i("details.connectionActivity.errors")})]}),m.avgDurationMs>0&&t.jsxs("div",{children:[t.jsxs("p",{className:"text-2xl font-semibold text-foreground tabular-nums",children:[Math.round(m.avgDurationMs),"ms"]}),t.jsx("p",{className:"text-xs text-muted-foreground mt-0.5",children:i("details.connectionActivity.avgLatency")})]})]}),f?t.jsxs("div",{children:[t.jsx(kt,{config:ts,className:"h-16 w-full",children:t.jsxs(Ct,{data:r,barCategoryGap:"4%",children:[t.jsx(It,{content:t.jsx(Tt,{labelFormatter:os}),cursor:{fill:"var(--muted)"}}),t.jsx(_t,{dataKey:"calls",radius:[2,2,0,0],minPointSize:1,children:r.map(is)})]})}),t.jsxs("div",{className:"flex justify-between px-3 mt-1 pb-3",children:[t.jsx("span",{className:"text-[10px] text-muted-foreground",children:r[0]?.label}),t.jsx("span",{className:"text-[10px] text-muted-foreground",children:r[r.length-1]?.label})]})]}):t.jsx("div",{className:"h-20 flex items-center justify-center",children:t.jsx("p",{className:"text-sm text-muted-foreground/60",children:i("details.connectionActivity.noActivityInThisPeriod")})}),u.length>0&&t.jsxs("div",{className:"px-5 py-4 border-t border-border",children:[t.jsxs("p",{className:"text-xs font-medium text-muted-foreground mb-2",children:[i("details.connectionActivity.topErrors"),h>0?` · ${i("details.connectionActivity.errorRatePercentage",{errorRate:h.toString()})}`:""]}),t.jsx("ul",{className:"space-y-1.5",children:u.map(ns)})]})]})}function ns(s){return t.jsxs("li",{className:"flex items-start gap-2 text-xs",children:[t.jsxs("span",{className:"tabular-nums text-destructive font-medium shrink-0",children:[s.count.toLocaleString(),"×"]}),t.jsx("span",{className:"text-muted-foreground truncate",title:s.message,children:s.message})]},s.message)}function is(s,e){return t.jsx(wt,{fill:s.errorRate>50?"var(--destructive)":"var(--chart-1)",fillOpacity:s.calls===0?.2:s.errorRate>50?.7:.85},`cell-${e}`)}function os(s,e){const n=Array.isArray(e)?e[0]:void 0;return n&&typeof n=="object"&&"payload"in n?n.payload?.label??"":""}function as(){const s=U.c(1);let e;return s[0]===Symbol.for("react.memo_cache_sentinel")?(e=t.jsxs("div",{children:[t.jsx("div",{className:"flex gap-6 px-5 pb-4",children:t.jsxs("div",{className:"flex flex-col gap-1.5",children:[t.jsx("div",{className:"h-7 w-16 rounded-md bg-muted animate-pulse"}),t.jsx("div",{className:"h-3 w-14 rounded bg-muted animate-pulse"})]})}),t.jsx("div",{className:"h-20 w-full rounded-md bg-muted animate-pulse"})]}),s[0]=e):e=s[0],e}function ls(s){const e=U.c(22),{connectionId:n}=s,c=L(),[o,i]=Z.useState("14d"),{org:l}=se();let a;e[0]!==c?(a=c("details.connectionActivity.activity"),e[0]=c,e[1]=a):a=e[1];let d;e[2]!==a?(d=t.jsx("div",{children:t.jsx("h3",{className:"text-sm font-semibold text-foreground",children:a})}),e[2]=a,e[3]=d):d=e[3];let p;e[4]!==c?(p=c("details.connectionActivity.timeframe"),e[4]=c,e[5]=p):p=e[5];let m;e[6]!==o?(m=Zt.map(j=>t.jsx("button",{type:"button","aria-pressed":o===j.value,onClick:()=>i(j.value),className:Se("px-2.5 py-1 text-xs font-medium rounded-md transition-colors",o===j.value?"bg-background text-foreground shadow-sm":"text-muted-foreground hover:text-foreground"),children:j.label},j.value)),e[6]=o,e[7]=m):m=e[7];let r;e[8]!==p||e[9]!==m?(r=t.jsx("div",{role:"group","aria-label":p,className:"flex items-center gap-0.5 bg-muted rounded-lg p-0.5",children:m}),e[8]=p,e[9]=m,e[10]=r):r=e[10];let f;e[11]!==d||e[12]!==r?(f=t.jsxs("div",{className:"px-5 py-4 flex items-center justify-between",children:[d,r]}),e[11]=d,e[12]=r,e[13]=f):f=e[13];let u;e[14]===Symbol.for("react.memo_cache_sentinel")?(u=t.jsx(as,{}),e[14]=u):u=e[14];let h;e[15]!==n||e[16]!==l.id||e[17]!==o?(h=t.jsx(Z.Suspense,{fallback:u,children:t.jsx(ss,{connectionId:n,orgId:l.id,timeframe:o})}),e[15]=n,e[16]=l.id,e[17]=o,e[18]=h):h=e[18];let g;return e[19]!==f||e[20]!==h?(g=t.jsxs("div",{className:"rounded-xl border border-border bg-card overflow-hidden",children:[f,h]}),e[19]=f,e[20]=h,e[21]=g):g=e[21],g}function rs(s){const e=U.c(15),{virtualMcp:n,org:c}=s,o=ne();let i;e[0]!==o||e[1]!==c||e[2]!==n.id?(i=()=>{const r=crypto.randomUUID();o({to:"/$org/$taskId",params:{org:c,taskId:r},search:{virtualmcpid:n.id}})},e[0]=o,e[1]=c,e[2]=n.id,e[3]=i):i=e[3];let l;e[4]===Symbol.for("react.memo_cache_sentinel")?(l=t.jsx(Ae,{size:16}),e[4]=l):l=e[4];let a;e[5]!==n.icon||e[6]!==n.title?(a=t.jsx(le,{icon:n.icon,name:n.title,size:"xs",fallbackIcon:l}),e[5]=n.icon,e[6]=n.title,e[7]=a):a=e[7];let d;e[8]!==n.title?(d=t.jsx("span",{className:"flex-1 text-sm font-medium text-foreground truncate",children:n.title}),e[8]=n.title,e[9]=d):d=e[9];let p;e[10]===Symbol.for("react.memo_cache_sentinel")?(p=t.jsx(Te,{size:16,className:"text-muted-foreground group-hover:text-foreground transition-colors shrink-0"}),e[10]=p):p=e[10];let m;return e[11]!==i||e[12]!==a||e[13]!==d?(m=t.jsxs("button",{type:"button",onClick:i,className:"flex items-center gap-3 rounded-lg hover:bg-muted/50 transition-colors group text-left w-full",children:[a,d,p]}),e[11]=i,e[12]=a,e[13]=d,e[14]=m):m=e[14],m}function cs(s){const e=U.c(7),{virtualMcps:n,org:c}=s;let o;if(e[0]!==c||e[1]!==n){let l;e[3]!==c?(l=a=>t.jsx(rs,{virtualMcp:a,org:c},a.id),e[3]=c,e[4]=l):l=e[4],o=n.map(l),e[0]=c,e[1]=n,e[2]=o}else o=e[2];let i;return e[5]!==o?(i=t.jsx("div",{className:"flex flex-col gap-3",children:t.jsx("div",{className:"flex flex-col gap-2",children:o})}),e[5]=o,e[6]=i):i=e[6],i}function ds(s){const e=U.c(13),{connection:n}=s,c=L(),{org:o}=se();let i;e[0]!==n.id?(i={filters:[{column:"connection_id",value:n.id}]},e[0]=n.id,e[1]=i):i=e[1];const l=At(i);if(!(l.length>0)){let f;return e[2]===Symbol.for("react.memo_cache_sentinel")?(f=t.jsx(t.Fragment,{}),e[2]=f):f=e[2],f}let d;e[3]!==c?(d=c("details.connectionAgentsPanel.usedByAgents"),e[3]=c,e[4]=d):d=e[4];let p;e[5]!==d?(p=t.jsx("div",{className:"px-5 py-4 border-b border-border",children:t.jsx("h3",{className:"text-sm font-semibold text-foreground",children:d})}),e[5]=d,e[6]=p):p=e[6];let m;e[7]!==o.slug||e[8]!==l?(m=t.jsx("div",{className:"px-5 py-4",children:t.jsx(cs,{virtualMcps:l,org:o.slug})}),e[7]=o.slug,e[8]=l,e[9]=m):m=e[9];let r;return e[10]!==p||e[11]!==m?(r=t.jsxs("div",{className:"rounded-xl border border-border bg-card overflow-hidden",children:[p,m]}),e[10]=p,e[11]=m,e[12]=r):r=e[12],r}function ms(s){const e=U.c(35),{tools:n,connectionId:c,org:o}=s,i=L(),l=ne(),{org:a}=se();let d;e[0]!==c||e[1]!==a.id||e[2]!==a.slug?(d={connectionId:c,orgId:a.id,orgSlug:a.slug},e[0]=c,e[1]=a.id,e[2]=a.slug,e[3]=d):d=e[3];const p=ke(d),m=_e(c);let r;e[4]!==m||e[5]!==c?(r=m?Pe(m):c,e[4]=m,e[5]=c,e[6]=r):r=e[6];const f=r,[u,h]=Z.useState("");let g,j,S,v;if(e[7]!==f||e[8]!==p||e[9]!==l||e[10]!==o||e[11]!==u||e[12]!==i||e[13]!==n){const D=(n??[]).filter(us),_=u.toLowerCase().trim(),M=_?D.filter(b=>b.name.toLowerCase().includes(_)||b.description&&b.description.toLowerCase().includes(_)):D;let T;e[18]!==f||e[19]!==l||e[20]!==o?(T=b=>{l({to:"/$org/settings/connections/$appSlug/$collectionName/$itemId",params:{org:o,appSlug:f,collectionName:"tools",itemId:encodeURIComponent(b.name)}})},e[18]=f,e[19]=l,e[20]=o,e[21]=T):T=e[21];const $=T;S="flex flex-col h-full overflow-hidden";let I;e[22]!==i?(I=i("details.connectionUiTab.searchAppsPlaceholder"),e[22]=i,e[23]=I):I=e[23];let N;e[24]===Symbol.for("react.memo_cache_sentinel")?(N=b=>{b.key==="Escape"&&(h(""),b.target.blur())},e[24]=N):N=e[24],e[25]!==u||e[26]!==I?(v=t.jsx(Mt,{value:u,onChange:h,placeholder:I,onKeyDown:N}),e[25]=u,e[26]=I,e[27]=v):v=e[27],g="flex-1 overflow-auto p-5",j=M.length===0?t.jsx(ye,{image:null,title:i(u?"details.connectionUiTab.noAppsFound":"details.connectionUiTab.noAppsAvailable"),description:i(u?"details.connectionUiTab.adjustSearchTerms":"details.connectionUiTab.noInteractiveUis")}):t.jsx("div",{className:"grid grid-cols-[repeat(auto-fill,minmax(320px,1fr))] gap-4",children:M.map(b=>{const E=de(b._meta);return t.jsxs(Ee,{className:"cursor-pointer transition-colors overflow-hidden gap-0",onClick:()=>$(b),children:[t.jsx("div",{className:"h-[200px] overflow-hidden border-b border-border",children:t.jsx(Ot,{resourceURI:E,toolInfo:{tool:b},displayMode:"inline",minHeight:200,maxHeight:200,client:p})}),t.jsxs("div",{className:"flex flex-col gap-2 p-4",children:[t.jsxs("div",{className:"flex items-center justify-between gap-2",children:[t.jsx("h3",{className:"text-base font-medium text-foreground truncate",children:b.annotations?.title??b.name}),t.jsx(ot,{annotations:b.annotations,_meta:b._meta})]}),b.description&&t.jsx("p",{className:"text-sm text-muted-foreground line-clamp-2",children:b.description})]})]},b.name)})}),e[7]=f,e[8]=p,e[9]=l,e[10]=o,e[11]=u,e[12]=i,e[13]=n,e[14]=g,e[15]=j,e[16]=S,e[17]=v}else g=e[14],j=e[15],S=e[16],v=e[17];let y;e[28]!==g||e[29]!==j?(y=t.jsx("div",{className:g,children:j}),e[28]=g,e[29]=j,e[30]=y):y=e[30];let P;return e[31]!==S||e[32]!==v||e[33]!==y?(P=t.jsxs("div",{className:S,children:[v,y]}),e[31]=S,e[32]=v,e[33]=y,e[34]=P):P=e[34],P}function us(s){return!!de(s._meta)}function De(s){const e=s.replace(/[._]/g," ").trim().split(/\s+/),n=l=>l.charAt(0).toUpperCase()+l.slice(1),c=new Set(["list","create","get","update","delete","fetch","search","run","trigger","review","send","check"]),o=e.map(n),i=e[e.length-1];return o.length>=2&&i&&c.has(i)?[o.pop(),...o].join(" "):o.join(" ")}function re(s){const e=U.c(5),{label:n}=s,c=L();let o;e[0]!==n||e[1]!==c?(o=c("details.connectionCapabilities.noItemsAvailable",{item:n}),e[0]=n,e[1]=c,e[2]=o):o=e[2];let i;return e[3]!==o?(i=t.jsx("div",{className:"px-5 py-8 text-center",children:t.jsx("p",{className:"text-sm text-muted-foreground",children:o})}),e[3]=o,e[4]=i):i=e[4],i}function xs(s){const e=U.c(72),{tools:n,prompts:c,resources:o,connectionId:i,org:l}=s;let a;e[0]!==c?(a=c===void 0?[]:c,e[0]=c,e[1]=a):a=e[1];const d=a;let p;e[2]!==o?(p=o===void 0?[]:o,e[2]=o,e[3]=p):p=e[3];const m=p,r=L(),f=ne(),u=_e(i??"");let h;e[4]!==u||e[5]!==i?(h=u?Pe(u):i,e[4]=u,e[5]=i,e[6]=h):h=e[6];const g=h;let j;e[7]!==g||e[8]!==i||e[9]!==f||e[10]!==l?(j=function(V){!i||!l||f({to:"/$org/settings/connections/$appSlug/$collectionName/$itemId",params:{org:l,appSlug:g,collectionName:"tools",itemId:encodeURIComponent(V)}})},e[7]=g,e[8]=i,e[9]=f,e[10]=l,e[11]=j):j=e[11];const S=j;let v;e[12]!==i||e[13]!==l||e[14]!==n?(v=i&&l&&n.some(hs),e[12]=i,e[13]=l,e[14]=n,e[15]=v):v=e[15];const y=v;if(n.length+d.length+m.length===0){let C;e[16]!==r?(C=r("details.connectionCapabilities.capabilities"),e[16]=r,e[17]=C):C=e[17];let V;e[18]!==C?(V=t.jsx("h3",{className:"text-sm font-semibold text-foreground mb-1",children:C}),e[18]=C,e[19]=V):V=e[19];let G;e[20]!==r?(G=r("details.connectionCapabilities.noCapabilitiesDiscovered"),e[20]=r,e[21]=G):G=e[21];let F;e[22]!==G?(F=t.jsx("p",{className:"text-sm text-muted-foreground",children:G}),e[22]=G,e[23]=F):F=e[23];let ee;return e[24]!==F||e[25]!==V?(ee=t.jsxs("div",{className:"rounded-xl border border-border bg-card p-5",children:[V,F]}),e[24]=F,e[25]=V,e[26]=ee):ee=e[26],ee}let D;e[27]!==r||e[28]!==n.length?(D=r("details.connectionCapabilities.toolsTab",{count:n.length}),e[27]=r,e[28]=n.length,e[29]=D):D=e[29];let _;e[30]!==D?(_=t.jsx(oe,{value:"tools",variant:"underline",children:D}),e[30]=D,e[31]=_):_=e[31];let M;e[32]!==y||e[33]!==r?(M=y&&t.jsx(oe,{value:"apps",variant:"underline",children:r("details.connectionCapabilities.uiTab")}),e[32]=y,e[33]=r,e[34]=M):M=e[34];let T;e[35]!==r?(T=r("details.connectionCapabilities.promptsTab"),e[35]=r,e[36]=T):T=e[36];let $;e[37]!==T?($=t.jsx(oe,{value:"prompts",variant:"underline",children:T}),e[37]=T,e[38]=$):$=e[38];let I;e[39]!==r?(I=r("details.connectionCapabilities.resourcesTab"),e[39]=r,e[40]=I):I=e[40];let N;e[41]!==I?(N=t.jsx(oe,{value:"resources",variant:"underline",children:I}),e[41]=I,e[42]=N):N=e[42];let b;e[43]!==M||e[44]!==$||e[45]!==N||e[46]!==_?(b=t.jsx("div",{className:"px-5 flex items-center justify-between border-b border-border",children:t.jsxs(Pt,{variant:"underline",className:"gap-1",children:[_,M,$,N]})}),e[43]=M,e[44]=$,e[45]=N,e[46]=_,e[47]=b):b=e[47];let E;e[48]!==S||e[49]!==n?(E=n.length>0?n.map(C=>t.jsxs("button",{type:"button",className:"w-full flex items-start gap-3 px-5 py-3 text-left hover:bg-muted/40 transition-colors cursor-pointer",onClick:()=>S(C.name),children:[t.jsx("div",{className:"mt-0.5 shrink-0 size-7 rounded-md bg-muted flex items-center justify-center",children:t.jsx($t,{size:13,className:"text-muted-foreground"})}),t.jsxs("div",{className:"flex-1 min-w-0",children:[t.jsx("div",{className:"text-sm font-medium text-foreground",children:De(C.name)}),C.description&&t.jsx("div",{className:"text-xs text-muted-foreground mt-0.5 leading-relaxed line-clamp-2",children:C.description})]}),t.jsx(Te,{size:16,className:"text-muted-foreground shrink-0 mt-0.5"})]},C.name)):t.jsx(re,{label:"tools"}),e[48]=S,e[49]=n,e[50]=E):E=e[50];let z;e[51]!==E?(z=t.jsx(ae,{value:"tools",className:"h-auto",children:t.jsx("div",{className:"divide-y divide-border",children:E})}),e[51]=E,e[52]=z):z=e[52];let k;e[53]!==i||e[54]!==y||e[55]!==l||e[56]!==n?(k=y&&t.jsx(ae,{value:"apps",className:"h-auto min-h-[200px]",children:t.jsx(ms,{tools:n,connectionId:i,org:l})}),e[53]=i,e[54]=y,e[55]=l,e[56]=n,e[57]=k):k=e[57];let A;e[58]!==d?(A=d.length>0?d.map(fs):t.jsx(re,{label:"prompts"}),e[58]=d,e[59]=A):A=e[59];let R;e[60]!==A?(R=t.jsx(ae,{value:"prompts",className:"h-auto",children:t.jsx("div",{className:"divide-y divide-border",children:A})}),e[60]=A,e[61]=R):R=e[61];let x;e[62]!==m?(x=m.length>0?m.map(ps):t.jsx(re,{label:"resources"}),e[62]=m,e[63]=x):x=e[63];let w;e[64]!==x?(w=t.jsx(ae,{value:"resources",className:"h-auto",children:t.jsx("div",{className:"divide-y divide-border",children:x})}),e[64]=x,e[65]=w):w=e[65];let O;return e[66]!==b||e[67]!==z||e[68]!==k||e[69]!==R||e[70]!==w?(O=t.jsx("div",{className:"rounded-xl border border-border bg-card overflow-hidden",children:t.jsxs(Dt,{defaultValue:"tools",variant:"underline",children:[b,z,k,R,w]})}),e[66]=b,e[67]=z,e[68]=k,e[69]=R,e[70]=w,e[71]=O):O=e[71],O}function ps(s){return t.jsxs("div",{className:"flex items-start gap-3 px-5 py-3",children:[t.jsx("div",{className:"mt-0.5 shrink-0 size-7 rounded-md bg-muted flex items-center justify-center",children:t.jsx(gt,{size:13,className:"text-muted-foreground"})}),t.jsxs("div",{className:"flex-1 min-w-0",children:[t.jsx("div",{className:"text-sm font-medium text-foreground",children:s.name}),s.description&&t.jsx("div",{className:"text-xs text-muted-foreground mt-0.5 leading-relaxed line-clamp-2",children:s.description}),s.uri&&t.jsx("div",{className:"text-xs text-muted-foreground/60 font-mono mt-0.5 truncate",children:s.uri})]})]},s.uri??s.name)}function fs(s){return t.jsxs("div",{className:"flex items-start gap-3 px-5 py-3",children:[t.jsx("div",{className:"mt-0.5 shrink-0 size-7 rounded-md bg-muted flex items-center justify-center",children:t.jsx(ht,{size:13,className:"text-muted-foreground"})}),t.jsxs("div",{className:"flex-1 min-w-0",children:[t.jsx("div",{className:"text-sm font-medium text-foreground",children:De(s.name)}),s.description&&t.jsx("div",{className:"text-xs text-muted-foreground mt-0.5 leading-relaxed line-clamp-2",children:s.description})]})]},s.name)}function hs(s){return de(s._meta)}function gs(s){const e=U.c(13),{connection:n,displayTitle:c}=s,o=c??n.title;let i;e[0]!==n.icon||e[1]!==o?(i=t.jsx(le,{icon:n.icon,name:o,size:"xl",className:"shrink-0"}),e[0]=n.icon,e[1]=o,e[2]=i):i=e[2];let l;e[3]!==o?(l=t.jsx("div",{className:"flex flex-wrap items-center gap-2 mb-2",children:t.jsx("h1",{className:"text-lg md:text-xl font-semibold tracking-tight text-foreground leading-none",children:o})}),e[3]=o,e[4]=l):l=e[4];let a;e[5]!==n.description?(a=n.description&&t.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed line-clamp-2",children:n.description}),e[5]=n.description,e[6]=a):a=e[6];let d;e[7]!==l||e[8]!==a?(d=t.jsxs("div",{className:"flex-1 min-w-0",children:[l,a]}),e[7]=l,e[8]=a,e[9]=d):d=e[9];let p;return e[10]!==i||e[11]!==d?(p=t.jsxs("div",{className:"flex items-center gap-4 md:gap-6 py-5 md:py-7 px-4 md:px-8 bg-background border-b border-border shrink-0",children:[i,d]}),e[10]=i,e[11]=d,e[12]=p):p=e[12],p}function js({form:s,connection:e,hasOAuthToken:n,onReauthenticate:c,onRemoveOAuth:o}){const i=L(),l=xe({control:s.control,name:"ui_type"}),a=xe({control:s.control,name:"connection_url"}),{stdioEnabled:d}=Re(),p=(()=>{if(typeof a!="string"||!a)return!1;try{const u=new URL(a);return u.hostname==="api.githubcopilot.com"&&u.pathname.replace(/\/+$/,"")==="/mcp"}catch{return!1}})(),m=d||e.connection_type==="STDIO",r=e.connection_type==="VIRTUAL",f=r?Gt(e.connection_url):null;return r?t.jsxs("div",{className:"flex flex-col gap-4",children:[t.jsxs("div",{className:"flex flex-col gap-3",children:[t.jsx("span",{className:"text-xs text-muted-foreground font-medium",children:i("details.connectionSidebar.type")}),t.jsxs("div",{className:"flex items-center gap-2 h-10 px-3 border border-border rounded-lg bg-muted/50",children:[t.jsx(Ae,{className:"w-4 h-4 text-muted-foreground"}),t.jsx("span",{className:"text-sm",children:i("details.connectionSidebar.virtualMcp")})]}),t.jsx("p",{className:"text-xs text-muted-foreground",children:i("details.connectionSidebar.virtualMcpDescription")})]}),f&&t.jsxs("div",{className:"flex flex-col gap-2",children:[t.jsx("span",{className:"text-xs text-muted-foreground font-medium",children:i("details.connectionSidebar.virtualMcpId")}),t.jsx("div",{className:"flex items-center gap-2 h-10 px-3 border border-border rounded-lg bg-muted/50",children:t.jsx("code",{className:"text-sm text-muted-foreground",children:f})})]})]}):t.jsxs("div",{className:"flex flex-col gap-4",children:[t.jsx(K,{control:s.control,name:"ui_type",render:({field:u})=>t.jsxs(X,{className:"flex flex-col gap-3",children:[t.jsx(Q,{className:"text-xs text-muted-foreground font-medium",children:i("details.connectionSidebar.connection")}),l!=="NPX"&&l!=="STDIO"?t.jsxs("div",{className:"flex items-stretch rounded-lg border border-border overflow-hidden",children:[t.jsxs(fe,{value:u.value,onValueChange:u.onChange,children:[t.jsx(B,{children:t.jsxs(he,{className:"h-full! w-auto min-w-[90px] border-0 rounded-none bg-muted/50 focus:ring-0 focus:ring-offset-0",children:[t.jsx(ie,{className:"w-4 h-4 text-muted-foreground shrink-0"}),t.jsx(ge,{})]})}),t.jsxs(je,{children:[t.jsx(H,{value:"HTTP",children:i("details.connectionSidebar.http")}),t.jsx(H,{value:"SSE",children:i("details.connectionSidebar.sse")}),t.jsx(H,{value:"Websocket",children:i("details.connectionSidebar.websocket")}),m&&t.jsxs(t.Fragment,{children:[t.jsx(H,{value:"NPX",children:i("details.connectionSidebar.npxPackage")}),t.jsx(H,{value:"STDIO",children:i("details.connectionSidebar.customCommand")})]})]})]}),t.jsx("div",{className:"w-px bg-border"}),t.jsx(K,{control:s.control,name:"connection_url",render:({field:h})=>t.jsx(X,{className:"flex-1 min-w-0",children:t.jsx(B,{children:t.jsx(J,{placeholder:i("details.connectionSidebar.urlPlaceholder"),...h,value:h.value??"",className:"h-10 border-0 rounded-none focus-visible:ring-0 focus-visible:ring-offset-0 bg-transparent"})})})})]}):t.jsxs(fe,{value:u.value,onValueChange:u.onChange,children:[t.jsx(B,{children:t.jsx(he,{className:"h-10",children:t.jsx(ge,{})})}),t.jsxs(je,{children:[t.jsx(H,{value:"HTTP",children:t.jsxs("span",{className:"flex items-center gap-2",children:[t.jsx(ie,{className:"w-4 h-4"}),i("details.connectionSidebar.http")]})}),t.jsx(H,{value:"SSE",children:t.jsxs("span",{className:"flex items-center gap-2",children:[t.jsx(ie,{className:"w-4 h-4"}),i("details.connectionSidebar.sse")]})}),t.jsx(H,{value:"Websocket",children:t.jsxs("span",{className:"flex items-center gap-2",children:[t.jsx(ie,{className:"w-4 h-4"}),i("details.connectionSidebar.websocket")]})}),m&&t.jsxs(t.Fragment,{children:[t.jsx(H,{value:"NPX",children:t.jsxs("span",{className:"flex items-center gap-2",children:[t.jsx(Lt,{className:"w-4 h-4"}),i("details.connectionSidebar.npxPackage")]})}),t.jsx(H,{value:"STDIO",children:t.jsxs("span",{className:"flex items-center gap-2",children:[t.jsx(Bt,{className:"w-4 h-4"}),i("details.connectionSidebar.customCommand")]})})]})]})]}),t.jsx(W,{})]})}),l==="NPX"&&t.jsx(K,{control:s.control,name:"npx_package",render:({field:u})=>t.jsxs(X,{className:"flex flex-col gap-3",children:[t.jsx(Q,{className:"text-xs text-muted-foreground font-medium",children:i("details.connectionSidebar.npmPackage")}),t.jsx(B,{children:t.jsx(J,{placeholder:i("details.connectionSidebar.npmPackagePlaceholder"),...u,value:u.value||"",className:"h-10 rounded-lg"})}),t.jsx(W,{})]})}),l==="STDIO"&&t.jsxs(t.Fragment,{children:[t.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[t.jsx(K,{control:s.control,name:"stdio_command",render:({field:u})=>t.jsxs(X,{className:"flex flex-col gap-3",children:[t.jsx(Q,{className:"text-xs text-muted-foreground font-medium",children:i("details.connectionSidebar.command")}),t.jsx(B,{children:t.jsx(J,{placeholder:i("details.connectionSidebar.commandPlaceholder"),...u,value:u.value||"",className:"h-10 rounded-lg"})}),t.jsx(W,{})]})}),t.jsx(K,{control:s.control,name:"stdio_args",render:({field:u})=>t.jsxs(X,{className:"flex flex-col gap-3",children:[t.jsx(Q,{className:"text-xs text-muted-foreground font-medium",children:i("details.connectionSidebar.arguments")}),t.jsx(B,{children:t.jsx(J,{placeholder:i("details.connectionSidebar.argumentsPlaceholder"),...u,value:u.value||"",className:"h-10 rounded-lg"})}),t.jsx("p",{className:"text-xs text-muted-foreground",children:i("details.connectionSidebar.spaceSeparatedArguments")}),t.jsx(W,{})]})})]}),t.jsx(K,{control:s.control,name:"stdio_cwd",render:({field:u})=>t.jsxs(X,{className:"flex flex-col gap-3",children:[t.jsx(Q,{className:"text-xs text-muted-foreground font-medium",children:i("details.connectionSidebar.workingDirectory")}),t.jsx(B,{children:t.jsx(J,{placeholder:i("details.connectionSidebar.workingDirectoryPlaceholder"),...u,value:u.value||"",className:"h-10 rounded-lg"})}),t.jsx(W,{})]})})]}),(l==="NPX"||l==="STDIO")&&t.jsx(K,{control:s.control,name:"env_vars",render:({field:u})=>t.jsxs(X,{className:"flex flex-col gap-3",children:[t.jsx(Q,{className:"text-xs text-muted-foreground font-medium",children:i("details.connectionSidebar.environmentVariables")}),t.jsx(B,{children:t.jsx(Je,{value:u.value??[],onChange:u.onChange})}),t.jsx(W,{})]})}),l!=="NPX"&&l!=="STDIO"&&t.jsx(K,{control:s.control,name:"connection_token",render:({field:u})=>t.jsxs(X,{className:"flex flex-col gap-3",children:[t.jsx(Q,{className:"text-xs text-muted-foreground font-medium",children:i(p?"details.connectionSidebar.githubPersonalAccessToken":"details.connectionSidebar.token")}),n?t.jsx("div",{className:"flex items-center gap-2",children:t.jsxs(Et,{children:[t.jsx(Rt,{asChild:!0,children:t.jsx("button",{type:"button",className:"inline-flex items-center gap-1.5 cursor-pointer",children:t.jsxs(zt,{variant:"success",className:"gap-1.5",children:[t.jsx(Vt,{size:12}),i("details.connectionSidebar.authenticatedViaOAuth"),t.jsx(Ft,{size:12})]})})}),t.jsxs(Ut,{align:"start",children:[t.jsxs(pe,{onClick:c,children:[t.jsx(jt,{size:16}),i("details.connectionSidebar.reauthenticate")]}),t.jsxs(pe,{variant:"destructive",onClick:o,children:[t.jsx(ce,{size:16}),i("details.connectionSidebar.removeOAuth")]})]})]})}):e.connection_token&&u.value===null?t.jsxs("div",{className:"relative group",children:[t.jsx("div",{className:"h-10 px-3 flex items-center rounded-lg border border-border bg-muted/50 text-muted-foreground font-mono text-sm",children:"••••••••••••••••"}),t.jsx("button",{type:"button",onClick:()=>u.onChange(""),className:"absolute right-2 top-1/2 -translate-y-1/2 p-1 rounded hover:bg-muted opacity-0 group-hover:opacity-100 transition-opacity",title:i("details.connectionSidebar.clearAndReplaceToken"),"aria-label":i("details.connectionSidebar.clearAndReplaceToken"),children:t.jsx(qt,{size:14,className:"text-muted-foreground"})})]}):t.jsxs(t.Fragment,{children:[t.jsx(B,{children:t.jsx(J,{type:"password",placeholder:i(p?"details.connectionSidebar.pasteYourGitHubPat":"details.connectionSidebar.enterAccessToken"),...u,value:u.value||"",className:"h-10 rounded-lg"})}),p&&t.jsxs(bt,{children:[i("details.connectionSidebar.createAPatAt")," ",t.jsx("a",{href:"https://github.com/settings/personal-access-tokens",target:"_blank",rel:"noopener noreferrer",className:"underline",children:"github.com/settings/personal-access-tokens"})]})]}),t.jsx(W,{})]})})]})}function bs(s){return s.command==="npx"}function vs(s){return s.args?.find(e=>!e.startsWith("-"))??""}function Ns(s){return{command:s.command,args:s.args?.join(" ")??"",cwd:s.cwd??""}}function be(s,e){const n={title:s.title,description:s.description??"",icon:s.icon??null,configuration_state:s.configuration_state??{},configuration_scopes:s.configuration_scopes||[]};if(s.connection_type==="STDIO"&&Ht(s.connection_headers)){const c=s.connection_headers,o=Ze(c.envVars);if(bs(c)){const l=vs(c);return{...n,ui_type:"NPX",connection_url:"",connection_token:null,npx_package:l,stdio_command:"",stdio_args:"",stdio_cwd:"",env_vars:o}}const i=Ns(c);return{...n,ui_type:"STDIO",connection_url:"",connection_token:null,npx_package:"",stdio_command:i.command,stdio_args:i.args,stdio_cwd:i.cwd,env_vars:o}}return{...n,ui_type:s.connection_type,connection_url:s.connection_url??"",connection_token:null,npx_package:"",stdio_command:"",stdio_args:"",stdio_cwd:"",env_vars:[]}}function Ss(s){let e,n=null,c=null,o=null;return s.ui_type==="NPX"?(e="STDIO",n="",o=et(s.npx_package||"",s.env_vars||[])):s.ui_type==="STDIO"?(e="STDIO",n="",o=tt(s.stdio_command||"",s.stdio_args||"",s.stdio_cwd,s.env_vars||[])):(e=s.ui_type,n=s.connection_url||"",c=s.connection_token||null),{title:s.title,description:s.description||null,icon:s.icon??null,connection_type:e,connection_url:n,...c&&{connection_token:c},...o&&{connection_headers:o},configuration_state:s.configuration_state??null,configuration_scopes:s.configuration_scopes??null}}function ys({connection:s,connectionId:e,org:n,isUpdating:c,tools:o,prompts:i,resources:l,siblings:a}){const d=L(),p=ne({from:"/$org/settings/connections/$appSlug"}),m=Le(),r=we(),{org:f}=se(),u=Nt({onSuccess:()=>{a.length<=1&&p({to:"/$org/settings/connections",params:{org:n}})}}),[h,g]=Z.useState(null),[j,S]=Z.useState(!1),v=Ce({connectionId:e}),{data:y}=at(),P=y?.data?.members??[],D=h??s,_=P.find(x=>x.userId===D.created_by),T=s?.connection_type==="VIRTUAL"||v.isAuthenticated,$={...s,tools:o},I=st($,Xt),N=Be({resolver:qe(Ye),values:be(h??s)}),b=N.formState.isDirty,E=async()=>{if(!await N.trigger())return;const w=N.getValues(),O=Ss(w),C=h?.id??e;await r.update.mutateAsync({id:C,data:O}),N.reset(w)},z=()=>{N.reset(be(h??s))},k=async x=>{const w=s.configuration_scopes?.length?s.configuration_scopes.join(" "):void 0,{token:O,tokenInfo:C,error:V}=await ut({connectionId:x,orgSlug:f.slug,...w?{scope:w}:{}});if(V||!O){Y.error(d("details.connection.authFailed",{error:V??""}));return}if(C)try{const F=await fetch(`/api/${f.slug}/connections/${x}/oauth-token`,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({accessToken:C.accessToken,refreshToken:C.refreshToken,expiresIn:C.expiresIn,scope:C.scope,clientId:C.clientId,clientSecret:C.clientSecret,tokenEndpoint:C.tokenEndpoint})});if(!F.ok)console.error("Failed to save OAuth token:",await F.text()),await r.update.mutateAsync({id:x,data:{connection_token:O}});else try{await r.update.mutateAsync({id:x,data:{}})}catch(ee){console.warn("Failed to refresh connection tools after OAuth:",ee)}}catch(F){console.error("Error saving OAuth token:",F),await r.update.mutateAsync({id:x,data:{connection_token:O}})}else await r.update.mutateAsync({id:x,data:{connection_token:O}});const G=new URL(`/api/${f.slug}/mcp/${x}`,window.location.origin);await m.invalidateQueries({queryKey:te.isMCPAuthenticated(G.href,null)}),await m.invalidateQueries({queryKey:te.mcpClientPrefix()}),Y.success(d("details.connection.authSuccess"))},A=()=>k(s.id),R=async()=>{try{const x=await fetch(`/api/${f.slug}/connections/${s.id}/oauth-token`,{method:"DELETE",credentials:"include"});if(!x.ok){const O=await x.text();Y.error(d("details.connection.failedRemoveOAuth",{error:O}));return}const w=new URL(`/api/${f.slug}/mcp/${s.id}`,window.location.origin);await m.invalidateQueries({queryKey:te.isMCPAuthenticated(w.href,null)}),Y.success(d("details.connection.oauthRemoved"))}catch(x){console.error("Error removing OAuth token:",x),Y.error(d("details.connection.failedRemoveOAuthError"))}};return t.jsxs(t.Fragment,{children:[t.jsx(St,{...u}),t.jsx(Ge,{open:h!==null,onOpenChange:x=>{x||g(null)},children:t.jsxs(He,{side:"right",className:"sm:max-w-[520px] p-0 flex flex-col gap-0 overflow-hidden",children:[t.jsxs(Ke,{className:"px-4 py-3 md:px-6 md:py-4 border-b border-border shrink-0",children:[t.jsx(Xe,{className:"text-base",children:h?.title??s.title}),t.jsx(Qe,{className:"text-xs",children:d("details.connection.settingsDescription")}),_&&t.jsxs("div",{className:"flex items-center gap-1.5 pt-1",children:[t.jsx("span",{className:"text-xs text-muted-foreground",children:d("details.connection.connectedBy")}),t.jsx(lt,{url:_.user?.image??void 0,fallback:_.user?.name??_.user?.email??"?",size:"3xs",shape:"circle"}),t.jsx("span",{className:"text-xs font-medium text-foreground",children:_.user?.name||_.user?.email})]})]}),t.jsxs(vt,{...N,children:[t.jsxs("div",{className:"flex-1 overflow-y-auto px-4 py-3 md:px-6 md:py-5 flex flex-col gap-4 md:gap-6",children:[t.jsxs("div",{className:"flex flex-col gap-3 md:gap-4",children:[t.jsx(K,{control:N.control,name:"title",render:({field:x})=>t.jsxs(X,{children:[t.jsx(Q,{children:d("details.connection.nameLabel")}),t.jsx(B,{children:t.jsx(J,{...x})}),t.jsx(W,{})]})}),t.jsx(K,{control:N.control,name:"description",render:({field:x})=>t.jsxs(X,{children:[t.jsx(Q,{children:d("details.connection.descriptionLabel")}),t.jsx(B,{children:t.jsx(J,{...x,value:x.value||""})}),t.jsx(W,{})]})})]}),t.jsx(js,{form:N,connection:h??s,hasOAuthToken:v.hasOAuthToken,onReauthenticate:A,onRemoveOAuth:R}),t.jsx(nt,{connection:h??s,form:N,hasMcpBinding:I,isMCPAuthenticated:T,supportsOAuth:v.supportsOAuth,isServerError:v.isServerError,onAuthenticate:A,onViewReadme:void 0})]}),t.jsxs("div",{className:"px-6 py-4 border-t border-border flex gap-2 shrink-0",children:[t.jsx(q,{onClick:E,disabled:!b||c,className:"flex-1",children:d(c?"details.connection.savingButton":"details.connection.saveButton")}),b&&t.jsx(q,{variant:"outline",onClick:z,children:d("details.connection.undoButton")}),t.jsxs(q,{variant:"outline",className:"gap-2 text-muted-foreground hover:text-destructive hover:border-destructive",onClick:()=>{const x=h??s;g(null),u.requestDelete(x)},children:[t.jsx(ce,{size:15}),d("details.connection.deleteButton")]})]})]},h?.id??s.id)]})}),t.jsx(it,{hideHeader:!0,children:t.jsxs("div",{className:"flex flex-col h-full overflow-hidden",children:[t.jsx(gs,{connection:s,displayTitle:(()=>{const x=a[0]??s;return x.app_name?x.title.replace(/\s*\(\d+\)\s*$/,""):x.title})()}),t.jsx("div",{className:"flex-1 overflow-auto @container",children:t.jsxs("div",{className:"grid grid-cols-1 @3xl:grid-cols-2 gap-5 p-6",children:[t.jsx(ls,{connectionId:e}),t.jsxs("div",{className:"flex flex-col gap-5",children:[t.jsx(Jt,{instances:a,onConfigure:x=>g(x),onAuthenticate:x=>k(x.id),onDelete:x=>u.requestDelete(x),onToggleStatus:async(x,w)=>{try{await r.update.mutateAsync({id:x.id,data:{status:w}}),Y.success(d(w==="active"?"details.connection.connectionEnabled":"details.connection.connectionDisabled"))}catch{Y.error(d("details.connection.failedUpdateConnection"))}},isAdding:j,onAdd:async()=>{S(!0);try{const x=a[0]??s,w=x.title.replace(/\s*\(\d+\)\s*$/,""),O=a.length+1,C=`${w} (${O})`,V=We("conn");await r.create.mutateAsync({id:V,title:C,description:x.description??null,connection_type:x.connection_type,connection_url:x.connection_url??null,connection_token:null,created_at:new Date().toISOString(),updated_at:new Date().toISOString(),created_by:x.created_by,organization_id:x.organization_id,icon:x.icon??null,app_name:x.app_name??null,app_id:x.app_id??null,connection_headers:x.connection_headers??null,oauth_config:null,configuration_state:x.configuration_state??null,metadata:null,tools:null,bindings:null,status:"inactive"});const G=new URL(`/api/${f.slug}/mcp/${V}`,window.location.origin),F=await mt({url:G.href,token:null,orgId:f.id});F.supportsOAuth&&!F.isAuthenticated&&await k(V)}finally{S(!1)}}}),t.jsx(ds,{connection:s})]}),t.jsx("div",{className:"@3xl:col-span-2",children:t.jsx(xs,{tools:o,prompts:i,resources:l,connectionId:e,org:n})})]})})]})})]})}function Cs(){const s=U.c(52),e=L();let n;s[0]===Symbol.for("react.memo_cache_sentinel")?(n={from:"/$org/settings/connections/$appSlug"},s[0]=n):n=s[0];const c=ne(n);let o;s[1]===Symbol.for("react.memo_cache_sentinel")?(o={from:"/shell/$org/settings/connections/$appSlug"},s[1]=o):o=s[1];const{appSlug:i,org:l}=Ve(o),{org:a}=se(),d=we();let p;s[2]!==i?(p={slug:i},s[2]=i,s[3]=p):p=s[3];const m=rt(p),r=m[0]??null,f=r?.id??"",u=f||null;let h;s[4]!==a.id||s[5]!==a.slug||s[6]!==u?(h={connectionId:u,orgId:a.id,orgSlug:a.slug},s[4]=a.id,s[5]=a.slug,s[6]=u,s[7]=h):h=s[7];const g=ke(h);let j;s[8]!==g?(j={client:g},s[8]=g,s[9]=j):j=s[9];const{data:S}=ct(j);let v;if(s[10]!==r?.tools||s[11]!==f||s[12]!==m||s[13]!==S){const k=S?S.tools.map(As):(r?.tools??[]).map(Ts);e:{if(m.length<=1){v=k;break e}const A=new Set,R=[],x=ks;for(const w of m){const O=w.id===f?k:x(w.tools);for(const C of O)A.has(C.name)||(A.add(C.name),R.push(C))}v=R.length>0?R:k}s[10]=r?.tools,s[11]=f,s[12]=m,s[13]=S,s[14]=v}else v=s[14];const y=v;let P;s[15]!==g?(P={client:g},s[15]=g,s[16]=P):P=s[16];const{data:D}=dt(P);let _;s[17]!==g?(_={client:g},s[17]=g,s[18]=_):_=s[18];const{data:M}=Fe(_);let T;s[19]!==D?.prompts?(T=D?.prompts??[],s[19]=D?.prompts,s[20]=T):T=s[20];let $;s[21]!==T?($=T.map(ws),s[21]=T,s[22]=$):$=s[22];const I=$;let N;s[23]!==M?.resources?(N=M?.resources??[],s[23]=M?.resources,s[24]=N):N=s[24];let b;s[25]!==N?(b=N.map(_s),s[25]=N,s[26]=b):b=s[26];const E=b;if(!r){let k;s[27]!==e?(k=e("details.connection.notFoundTitle"),s[27]=e,s[28]=k):k=s[28];let A;s[29]!==e?(A=e("details.connection.notFoundDescription"),s[29]=e,s[30]=A):A=s[30];let R;s[31]!==c||s[32]!==l?(R=()=>c({to:"/$org/settings/connections",params:{org:l}}),s[31]=c,s[32]=l,s[33]=R):R=s[33];let x;s[34]!==e?(x=e("details.connection.backButton"),s[34]=e,s[35]=x):x=s[35];let w;s[36]!==R||s[37]!==x?(w=t.jsx(q,{variant:"outline",onClick:R,children:x}),s[36]=R,s[37]=x,s[38]=w):w=s[38];let O;return s[39]!==k||s[40]!==A||s[41]!==w?(O=t.jsx("div",{className:"flex h-full w-full bg-background",children:t.jsx(ye,{title:k,description:A,actions:w})}),s[39]=k,s[40]=A,s[41]=w,s[42]=O):O=s[42],O}let z;return s[43]!==d.update.isPending||s[44]!==y||s[45]!==r||s[46]!==f||s[47]!==l||s[48]!==I||s[49]!==E||s[50]!==m?(z=t.jsx(ys,{org:l,connection:r,connectionId:f,isUpdating:d.update.isPending,tools:y,prompts:I,resources:E,siblings:m}),s[43]=d.update.isPending,s[44]=y,s[45]=r,s[46]=f,s[47]=l,s[48]=I,s[49]=E,s[50]=m,s[51]=z):z=s[51],z}function _s(s){return{name:s.name,description:s.description,uri:s.uri}}function ws(s){return{name:s.name,description:s.description}}function ks(s){return(s??[]).map(Is)}function Is(s){return{name:s.name,description:s.description,inputSchema:s.inputSchema??{},outputSchema:s.outputSchema,annotations:s.annotations,_meta:s._meta}}function Ts(s){return{name:s.name,description:s.description,inputSchema:s.inputSchema,outputSchema:s.outputSchema,annotations:s.annotations,_meta:s._meta}}function As(s){return{name:s.name,description:s.description,inputSchema:s.inputSchema,outputSchema:s.outputSchema,annotations:s.annotations,_meta:s._meta}}function Ps(){const s=U.c(1);let e;return s[0]===Symbol.for("react.memo_cache_sentinel")?(e=t.jsx(Ue,{children:t.jsx(Z.Suspense,{fallback:t.jsx("div",{className:"flex h-full items-center justify-center bg-background",children:t.jsx(Ne,{className:"size-8 text-muted-foreground"})}),children:t.jsx(Cs,{})})}),s[0]=e):e=s[0],e}function Ii(){const s=U.c(1);let e;return s[0]===Symbol.for("react.memo_cache_sentinel")?(e=t.jsx(Ps,{}),s[0]=e):e=s[0],e}export{Ii as default};
@@ -1 +1 @@
1
- import{ae as R,ak as A,ao as I,ag as o,af as j,ai as z,c as L,j as u,B as C}from"./index-CsUNCFTt.js";import{I as H}from"./input-CCjvC2WC.js";import{s as W}from"./Plus-n8T8nTev.js";import{s as q}from"./Trash01-t2ffl_GD.js";const K=R({key:o().min(1,"Key is required"),value:o()}),M=R({title:o().min(1,"Name is required"),description:o().nullable().optional(),icon:o().nullable().optional(),ui_type:z(["HTTP","SSE","Websocket","NPX","STDIO"]),connection_url:o().optional(),connection_token:o().nullable().optional(),npx_package:o().optional(),stdio_command:o().optional(),stdio_args:o().optional(),stdio_cwd:o().optional(),env_vars:j(K).optional(),configuration_scopes:j(o()).nullable().optional(),configuration_state:A(o(),I()).nullable().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"]}).refine(n=>(n.ui_type==="HTTP"||n.ui_type==="SSE"||n.ui_type==="Websocket")&&n.connection_url?.trim()?o().url().safeParse(n.connection_url.trim()).success:!0,{message:"Enter a valid URL",path:["connection_url"]});function U(n){const e=n.toLowerCase();return!!(["secret","password","passwd","credential","private","token","bearer","jwt","refresh","session","api_key","apikey","auth_key","access_key","secret_key","private_key","service_key","encryption_key","signing_key","license_key","auth","oauth","client_secret","app_secret","webhook","signing","signature","database_url","db_url","mongo_uri","redis_url","postgres_url","mysql_url","connection_string","dsn","service_role","anon_key","supabase_key","openai","anthropic","stripe","twilio","sendgrid","resend","firebase","sentry","datadog","newrelic","new_relic","pplx","replicate","pinecone","cohere","hugging","hf_token","gh_token","npm_token","certificate","cert","ssl","tls","encryption","salt","hash","hmac","personal_access","github_pat","gitlab_pat","bitbucket_pat"].some(i=>e.includes(i))||["sk_","rk_","whsec_","pk_live","sk_live"].some(i=>e.startsWith(i))||["_key","_secret","_token","_password","_auth","_pat"].some(i=>e.endsWith(i)))}function X(n){const e=L.c(34),{value:t,onChange:r,keyPlaceholder:a,valuePlaceholder:i,className:v}=n,m=a===void 0?"VARIABLE_NAME":a,h=i===void 0?"value...":i;let b;e[0]!==r||e[1]!==t?(b=()=>{r([...t,{key:"",value:""}])},e[0]=r,e[1]=t,e[2]=b):b=e[2];const N=b;let x;e[3]!==r||e[4]!==t?(x=l=>{r(t.filter((p,s)=>s!==l))},e[3]=r,e[4]=t,e[5]=x):x=e[5];const g=x;let P;e[6]!==r||e[7]!==t?(P=(l,p)=>{const s=[...t],c=s[l];c&&(s[l]={key:p,value:c.value},r(s))},e[6]=r,e[7]=t,e[8]=P):P=e[8];const y=P;let T;e[9]!==r||e[10]!==t?(T=(l,p)=>{const s=[...t],c=s[l];c&&(s[l]={key:c.key,value:p},r(s))},e[9]=r,e[10]=t,e[11]=T):T=e[11];const k=T;let f;if(e[12]!==y||e[13]!==g||e[14]!==k||e[15]!==m||e[16]!==t||e[17]!==h){let l;e[19]!==y||e[20]!==g||e[21]!==k||e[22]!==m||e[23]!==h?(l=(p,s)=>u.jsxs("div",{className:"flex gap-2 items-center",children:[u.jsx(H,{placeholder:m,value:p.key,onChange:c=>y(s,c.target.value),className:"h-10 rounded-lg flex-1 font-mono text-sm"}),u.jsx(H,{type:U(p.key)?"password":"text",placeholder:h,value:p.value,onChange:c=>k(s,c.target.value),className:"h-10 rounded-lg flex-1"}),u.jsx(C,{type:"button",variant:"ghost",size:"icon",className:"h-10 w-10 shrink-0 text-muted-foreground hover:text-destructive",onClick:()=>g(s),children:u.jsx(q,{size:16})})]},s),e[19]=y,e[20]=g,e[21]=k,e[22]=m,e[23]=h,e[24]=l):l=e[24],f=t.map(l),e[12]=y,e[13]=g,e[14]=k,e[15]=m,e[16]=t,e[17]=h,e[18]=f}else f=e[18];let w;e[25]===Symbol.for("react.memo_cache_sentinel")?(w=u.jsx(W,{size:16,className:"mr-1"}),e[25]=w):w=e[25];let d;e[26]!==N?(d=u.jsxs(C,{type:"button",variant:"outline",size:"sm",className:"w-full h-9 text-muted-foreground",onClick:N,children:[w,"Add Environment Variable"]}),e[26]=N,e[27]=d):d=e[27];let _;e[28]!==f||e[29]!==d?(_=u.jsxs("div",{className:"flex flex-col gap-2",children:[f,d]}),e[28]=f,e[29]=d,e[30]=_):_=e[30];let E;return e[31]!==v||e[32]!==_?(E=u.jsx("div",{className:v,children:_}),e[31]=v,e[32]=_,e[33]=E):E=e[33],E}function V(n){const e={};for(const{key:t,value:r}of n)t.trim()&&(e[t.trim()]=r);return e}function D(n){return n?Object.entries(n).map(([e,t])=>({key:e,value:t})):[]}function S(n){const e=n.trim();if(!e)return"";try{const t=new URL(e),r=t.pathname.length>1?t.pathname.replace(/\/+$/,""):t.pathname;return`${t.origin}${r}`}catch{return e.replace(/\/+$/,"")}}function F(n){const e=n.trim().split(/\s+/).filter(Boolean);if(e.length<2)return null;const t=e[0]?.toLowerCase();if(t!=="npx"&&t!=="bunx")return null;const a=e.slice(1).find(i=>!i.startsWith("-"));return a?{packageName:a}:null}function Y(n){const{uiType:e}=n,t=S(n.connectionUrl??"");if((e==="HTTP"||e==="SSE"||e==="Websocket")&&t===S("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 r=(n.npxPackage??"").trim();return e==="NPX"&&r==="@perplexity-ai/mcp-server"?{id:"perplexity",title:"Perplexity",description:"Perplexity MCP Server",envVarKeys:["PERPLEXITY_API_KEY"]}:null}function J(n){if(n.registryItems.length===0||n.uiType!=="HTTP"&&n.uiType!=="SSE"&&n.uiType!=="Websocket")return null;const e=S(n.connectionUrl??"");if(!e)return null;const t=n.registryItems.find(i=>(i.server?.remotes??[]).some(m=>S(m.url??"")===e));if(!t)return null;const r=t.title||t.name||t.server?.title||t.server?.name||"",a=t.server?.description||t.description||t.summary||null;return r?{id:"registry",title:r,description:a}:null}function Q(n,e){const t={command:"npx",args:["-y",n]},r=V(e);return Object.keys(r).length>0&&(t.envVars=r),t}function Z(n,e,t,r){const a={command:n};e.trim()&&(a.args=e.trim().split(/\s+/)),t?.trim()&&(a.cwd=t.trim());const i=V(r);return Object.keys(i).length>0&&(a.envVars=i),a}export{X as E,J as a,Q as b,M as c,Z as d,Y as i,F as p,D as r};
1
+ import{ae as R,ak as A,ao as I,ag as o,af as j,ai as z,c as L,j as u,B as C}from"./index-ClceuAyk.js";import{I as H}from"./input-BnaH3Pwu.js";import{s as W}from"./Plus-CvXXAkh5.js";import{s as q}from"./Trash01-Cbibxhdy.js";const K=R({key:o().min(1,"Key is required"),value:o()}),M=R({title:o().min(1,"Name is required"),description:o().nullable().optional(),icon:o().nullable().optional(),ui_type:z(["HTTP","SSE","Websocket","NPX","STDIO"]),connection_url:o().optional(),connection_token:o().nullable().optional(),npx_package:o().optional(),stdio_command:o().optional(),stdio_args:o().optional(),stdio_cwd:o().optional(),env_vars:j(K).optional(),configuration_scopes:j(o()).nullable().optional(),configuration_state:A(o(),I()).nullable().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"]}).refine(n=>(n.ui_type==="HTTP"||n.ui_type==="SSE"||n.ui_type==="Websocket")&&n.connection_url?.trim()?o().url().safeParse(n.connection_url.trim()).success:!0,{message:"Enter a valid URL",path:["connection_url"]});function U(n){const e=n.toLowerCase();return!!(["secret","password","passwd","credential","private","token","bearer","jwt","refresh","session","api_key","apikey","auth_key","access_key","secret_key","private_key","service_key","encryption_key","signing_key","license_key","auth","oauth","client_secret","app_secret","webhook","signing","signature","database_url","db_url","mongo_uri","redis_url","postgres_url","mysql_url","connection_string","dsn","service_role","anon_key","supabase_key","openai","anthropic","stripe","twilio","sendgrid","resend","firebase","sentry","datadog","newrelic","new_relic","pplx","replicate","pinecone","cohere","hugging","hf_token","gh_token","npm_token","certificate","cert","ssl","tls","encryption","salt","hash","hmac","personal_access","github_pat","gitlab_pat","bitbucket_pat"].some(i=>e.includes(i))||["sk_","rk_","whsec_","pk_live","sk_live"].some(i=>e.startsWith(i))||["_key","_secret","_token","_password","_auth","_pat"].some(i=>e.endsWith(i)))}function X(n){const e=L.c(34),{value:t,onChange:r,keyPlaceholder:a,valuePlaceholder:i,className:v}=n,m=a===void 0?"VARIABLE_NAME":a,h=i===void 0?"value...":i;let b;e[0]!==r||e[1]!==t?(b=()=>{r([...t,{key:"",value:""}])},e[0]=r,e[1]=t,e[2]=b):b=e[2];const N=b;let x;e[3]!==r||e[4]!==t?(x=l=>{r(t.filter((p,s)=>s!==l))},e[3]=r,e[4]=t,e[5]=x):x=e[5];const g=x;let P;e[6]!==r||e[7]!==t?(P=(l,p)=>{const s=[...t],c=s[l];c&&(s[l]={key:p,value:c.value},r(s))},e[6]=r,e[7]=t,e[8]=P):P=e[8];const y=P;let T;e[9]!==r||e[10]!==t?(T=(l,p)=>{const s=[...t],c=s[l];c&&(s[l]={key:c.key,value:p},r(s))},e[9]=r,e[10]=t,e[11]=T):T=e[11];const k=T;let f;if(e[12]!==y||e[13]!==g||e[14]!==k||e[15]!==m||e[16]!==t||e[17]!==h){let l;e[19]!==y||e[20]!==g||e[21]!==k||e[22]!==m||e[23]!==h?(l=(p,s)=>u.jsxs("div",{className:"flex gap-2 items-center",children:[u.jsx(H,{placeholder:m,value:p.key,onChange:c=>y(s,c.target.value),className:"h-10 rounded-lg flex-1 font-mono text-sm"}),u.jsx(H,{type:U(p.key)?"password":"text",placeholder:h,value:p.value,onChange:c=>k(s,c.target.value),className:"h-10 rounded-lg flex-1"}),u.jsx(C,{type:"button",variant:"ghost",size:"icon",className:"h-10 w-10 shrink-0 text-muted-foreground hover:text-destructive",onClick:()=>g(s),children:u.jsx(q,{size:16})})]},s),e[19]=y,e[20]=g,e[21]=k,e[22]=m,e[23]=h,e[24]=l):l=e[24],f=t.map(l),e[12]=y,e[13]=g,e[14]=k,e[15]=m,e[16]=t,e[17]=h,e[18]=f}else f=e[18];let w;e[25]===Symbol.for("react.memo_cache_sentinel")?(w=u.jsx(W,{size:16,className:"mr-1"}),e[25]=w):w=e[25];let d;e[26]!==N?(d=u.jsxs(C,{type:"button",variant:"outline",size:"sm",className:"w-full h-9 text-muted-foreground",onClick:N,children:[w,"Add Environment Variable"]}),e[26]=N,e[27]=d):d=e[27];let _;e[28]!==f||e[29]!==d?(_=u.jsxs("div",{className:"flex flex-col gap-2",children:[f,d]}),e[28]=f,e[29]=d,e[30]=_):_=e[30];let E;return e[31]!==v||e[32]!==_?(E=u.jsx("div",{className:v,children:_}),e[31]=v,e[32]=_,e[33]=E):E=e[33],E}function V(n){const e={};for(const{key:t,value:r}of n)t.trim()&&(e[t.trim()]=r);return e}function D(n){return n?Object.entries(n).map(([e,t])=>({key:e,value:t})):[]}function S(n){const e=n.trim();if(!e)return"";try{const t=new URL(e),r=t.pathname.length>1?t.pathname.replace(/\/+$/,""):t.pathname;return`${t.origin}${r}`}catch{return e.replace(/\/+$/,"")}}function F(n){const e=n.trim().split(/\s+/).filter(Boolean);if(e.length<2)return null;const t=e[0]?.toLowerCase();if(t!=="npx"&&t!=="bunx")return null;const a=e.slice(1).find(i=>!i.startsWith("-"));return a?{packageName:a}:null}function Y(n){const{uiType:e}=n,t=S(n.connectionUrl??"");if((e==="HTTP"||e==="SSE"||e==="Websocket")&&t===S("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 r=(n.npxPackage??"").trim();return e==="NPX"&&r==="@perplexity-ai/mcp-server"?{id:"perplexity",title:"Perplexity",description:"Perplexity MCP Server",envVarKeys:["PERPLEXITY_API_KEY"]}:null}function J(n){if(n.registryItems.length===0||n.uiType!=="HTTP"&&n.uiType!=="SSE"&&n.uiType!=="Websocket")return null;const e=S(n.connectionUrl??"");if(!e)return null;const t=n.registryItems.find(i=>(i.server?.remotes??[]).some(m=>S(m.url??"")===e));if(!t)return null;const r=t.title||t.name||t.server?.title||t.server?.name||"",a=t.server?.description||t.description||t.summary||null;return r?{id:"registry",title:r,description:a}:null}function Q(n,e){const t={command:"npx",args:["-y",n]},r=V(e);return Object.keys(r).length>0&&(t.envVars=r),t}function Z(n,e,t,r){const a={command:n};e.trim()&&(a.args=e.trim().split(/\s+/)),t?.trim()&&(a.cwd=t.trim());const i=V(r);return Object.keys(i).length>0&&(a.envVars=i),a}export{X as E,J as a,Q as b,M as c,Z as d,Y as i,F as p,D as r};
@@ -1 +1 @@
1
- import{r as K,c as ae,b as de,j as t,B as X,h as xe,o as re,l as ye,E as tt,G as Ae,d as Ie,u as nt,a as we,F as st,J as ot,bd as be,I as it,M as ct,aq as lt,ar as rt,P as je,n as at,a7 as dt,t as Y,K as ut}from"./index-CsUNCFTt.js";import{b as Pe,a as mt,g as gt,e as pt}from"./extract-connection-data-DcM36N9w.js";import{C as ft}from"./collection-display-button-C75LHouu.js";import{S as ht}from"./search-input-DVdWUH1y.js";import{C as xt}from"./collection-tabs-DB42vY5i.js";import{C as _e,u as jt,a as Me,g as St}from"./connection-card-zjj4H0I2.js";import{E as yt}from"./empty-state-DoVWR5lf.js";import{u as Ct,D as vt}from"./use-delete-connection-Bedw4u5M.js";import{u as bt}from"./use-infinite-scroll-Dh-C4d_p.js";import{u as _t}from"./use-view-mode-DxUtziMu.js";import{g as he}from"./connection-slug-CITJ0kGN.js";import{c as Oe,d as Le,b as $e,f as Fe,g as Ue,e as Ve,a as ze,A as Ee}from"./alert-dialog-CLnCQjTe.js";import{n as Ce}from"./Tool02-CGD2nPmr.js";import{g as Dt}from"./metadata-dUsYcpuu.js";import{d as Be,h as Ke,c as He,e as Re,b as We,D as Xe}from"./dialog-vW1U_9BE.js";import{D as Nt,a as kt,c as Tt,b as At,e as It,f as wt,g as Pt}from"./drawer-C-MNillf.js";import{d as se,a as oe,e as ie,b as ce,c as le,F as ke}from"./form-COufQX0n.js";import{I as me}from"./input-CCjvC2WC.js";import{S as Mt,b as Ot,a as Lt,d as $t,c as fe}from"./select-DgPCfz0D.js";import{T as Ft}from"./textarea-C3bul5E0.js";import{b as Ge,u as Ut}from"./use-connection-DwzyMekq.js";import{m as Vt}from"./use-mcp-client-DpVIRGbg.js";import{a as zt}from"./use-virtual-mcp-Cy8Wdlxm.js";import{g as Et}from"./types-S2aaB8QX.js";import{aW as Bt,T as Kt,S as Ht,j as ve}from"./agent-icon-CudHlm3I.js";import{s as qe}from"./Plus-n8T8nTev.js";import{b as Rt}from"./UserSquare-BXtYIsBP.js";import{s as Qe}from"./XClose-Cwrkqthu.js";import{i as Se,a as Te,E as Wt,c as Xt,p as Gt,b as qt,d as Qt}from"./connection-form-helpers-I9skVz45.js";import{a as Jt}from"./authenticate-and-persist-oauth-DquyOiBU.js";import{I as Yt}from"./integration-icon-ByFS2bKz.js";import{C as Je}from"./checkbox-Cpoz71yR.js";import{a as ge,D as Zt,c as en,b as tn}from"./dropdown-menu-BFWT10oB.js";import{i as nn}from"./DotsVertical-BuCGsnKC.js";import{s as Ye}from"./Eye-Crli8POp.js";import{s as Ze}from"./Trash01-t2ffl_GD.js";import"./connection-CYzFF4q0.js";import"./ArrowUp-RL1EvMiw.js";import"./Check-CH-Vw96P.js";import"./view-mode-toggle-BkXf1XU_.js";import"./badge-BBxP7UMd.js";import"./SearchMd-lyyfFftC.js";import"./use-registry-connections-BlcXRjcv.js";import"./use-organization-settings-CiaoV5Jh.js";import"./schema-oIgkdsyk.js";import"./task-board-Ci8z0xfT.js";import"./useInfiniteQuery-CM6s3UpC.js";import"./infiniteQueryObserver-Mp4zNKL8.js";import"./retry-CErkP7V6.js";import"./backoff-CrEUbyZT.js";import"./delay-CnY5UFtP.js";import"./slugify-CEUa2lfQ.js";import"./label-lVk0cwye.js";import"./ChevronUp-LZw5ldfA.js";import"./auth-ByP-tT2X.js";import"./AlertCircle-CMRaxRH0.js";import"./Tool01-g5vYDM8K.js";import"./ArrowLeft-CDsXpmYk.js";import"./ArrowRight-D4gFWG4E.js";import"./TrendUp01-VmRDw6yp.js";import"./ZoomOut-C3xqzTBu.js";import"./Users03-BYYeaXKm.js";import"./CheckCircle-BfII6xai.js";import"./ChevronRight-BIBNVIgv.js";import"./ChevronSelectorVertical-C3yeiRoP.js";import"./Copy01-7ESKNzsF.js";import"./CreditCard01-X3NUCMht.js";import"./Download01-CWqYv5nm.js";import"./Settings02-Bx0NVz3k.js";import"./Share07-C1p_MWl6.js";import"./GitBranch01-72jxttZ6.js";import"./Globe01-Cy4h9cCT.js";import"./HardDrive-BNFNRWa2.js";import"./Image01-BmPB3CGi.js";import"./Key01-CZRkxFSD.js";import"./Link01-CGkSXfCb.js";import"./LinkExternal01-BclTSoLr.js";import"./Monitor01-YRHjA6R9.js";import"./Sun-BDdnw2qk.js";import"./Package-BzzU4u_u.js";import"./Palette-X8Db8_UN.js";import"./Play-BoNmTNnP.js";import"./SearchLg-f_L2Kvyk.js";import"./Shield01-BokaKYbc.js";import"./Stars01-iTZ7rNwl.js";import"./Upload01-DyGMn8P9.js";import"./User01-DRqlxFU-.js";import"./Users01-_fKkic4W.js";import"./XCircle-CZEWi75q.js";import"./Zap-C3LXNIn_.js";import"./mcp-oauth-B62HA2YM.js";function sn(s){const e=`deco-filters-${s}`,[n,p]=K.useState(()=>{try{const c=globalThis.localStorage?.getItem(e);if(c)return JSON.parse(c)}catch(c){console.error("Failed to parse stored filters:",c)}return[]});return[n,c=>{p(c);try{globalThis.localStorage?.setItem(e,JSON.stringify(c))}catch(o){console.error("Failed to save filters:",o)}}]}function on(s){const e=ae.c(7),[n,p]=K.useState(s),[r,c]=K.useState(s?"desc":null);let o;e[0]!==r||e[1]!==n?(o=a=>{n!==a?(p(a),c("asc")):r==="asc"?c("desc"):r==="desc"&&(p(void 0),c(null))},e[0]=r,e[1]=n,e[2]=o):o=e[2];const l=o;let d;return e[3]!==l||e[4]!==r||e[5]!==n?(d={sortKey:n,sortDirection:r,handleSort:l},e[3]=l,e[4]=r,e[5]=n,e[6]=d):d=e[6],d}function cn(s){const e=ae.c(20),{namespace:n,resource:p,defaultSortKey:r,defaultViewMode:c}=s,o=r===void 0?"title":r,l=c===void 0?"table":c,[d,a]=K.useState(""),N=K.useDeferredValue(d),f=`${n}-${p}`,[g,v]=sn(f),h=`studio-${p}-filter-visible-${n}`;let _;e[0]!==h?(_=()=>globalThis.localStorage?.getItem(h)==="true",e[0]=h,e[1]=_):_=e[1];const[u,S]=K.useState(_);let x;e[2]!==h?(x=O=>{S(O),globalThis.localStorage?.setItem(h,String(O))},e[2]=h,e[3]=x):x=e[3];const D=x;let b;e[4]!==u||e[5]!==D?(b=()=>{D(!u)},e[4]=u,e[5]=D,e[6]=b):b=e[6];const k=b,[i,T]=_t(`studio-${p}-${n}`,l),{sortKey:M,sortDirection:L,handleSort:A}=on(o),H=M;let F;return e[7]!==u||e[8]!==g||e[9]!==A||e[10]!==d||e[11]!==N||e[12]!==D||e[13]!==v||e[14]!==T||e[15]!==L||e[16]!==H||e[17]!==k||e[18]!==i?(F={search:d,searchTerm:N,setSearch:a,filters:g,setFilters:v,filterBarVisible:u,setFilterBarVisible:D,toggleFilterBar:k,viewMode:i,setViewMode:T,sortKey:H,sortDirection:L,handleSort:A},e[7]=u,e[8]=g,e[9]=A,e[10]=d,e[11]=N,e[12]=D,e[13]=v,e[14]=T,e[15]=L,e[16]=H,e[17]=k,e[18]=i,e[19]=F):F=e[19],F}function ln(s){const e=ae.c(35),{open:n,onOpenChange:p,count:r,onConfirm:c}=s,o=de(),l=r===1?"orgs.bulkDeleteDialog.deleteTitleSingular":"orgs.bulkDeleteDialog.deleteTitlePlural";let d;e[0]!==r||e[1]!==o||e[2]!==l?(d=o(l,{count:r}),e[0]=r,e[1]=o,e[2]=l,e[3]=d):d=e[3];let a;e[4]!==d?(a=t.jsx(Oe,{children:d}),e[4]=d,e[5]=a):a=e[5];const N=r===1?"orgs.bulkDeleteDialog.deleteDescriptionSingular":"orgs.bulkDeleteDialog.deleteDescriptionPlural";let f;e[6]!==o||e[7]!==N?(f=o(N),e[6]=o,e[7]=N,e[8]=f):f=e[8];let g;e[9]!==f?(g=t.jsx(Le,{children:f}),e[9]=f,e[10]=g):g=e[10];let v;e[11]!==a||e[12]!==g?(v=t.jsxs($e,{children:[a,g]}),e[11]=a,e[12]=g,e[13]=v):v=e[13];let h;e[14]!==o?(h=o("orgs.bulkDeleteDialog.cancelButton"),e[14]=o,e[15]=h):h=e[15];let _;e[16]!==h?(_=t.jsx(Fe,{children:h}),e[16]=h,e[17]=_):_=e[17];const u=r===1?"orgs.bulkDeleteDialog.deleteButtonSingular":"orgs.bulkDeleteDialog.deleteButtonPlural";let S;e[18]!==r||e[19]!==o||e[20]!==u?(S=o(u,{count:r}),e[18]=r,e[19]=o,e[20]=u,e[21]=S):S=e[21];let x;e[22]!==c||e[23]!==S?(x=t.jsx(Ue,{onClick:c,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:S}),e[22]=c,e[23]=S,e[24]=x):x=e[24];let D;e[25]!==x||e[26]!==_?(D=t.jsxs(Ve,{children:[_,x]}),e[25]=x,e[26]=_,e[27]=D):D=e[27];let b;e[28]!==D||e[29]!==v?(b=t.jsxs(ze,{children:[v,D]}),e[28]=D,e[29]=v,e[30]=b):b=e[30];let k;return e[31]!==p||e[32]!==n||e[33]!==b?(k=t.jsx(Ee,{open:n,onOpenChange:p,children:b}),e[31]=p,e[32]=n,e[33]=b,e[34]=k):k=e[34],k}function rn(s){return s._registryId?.includes("community-registry")===!0}function an(s){const e=ae.c(82),{item:n,canManage:p,allConnections:r,connectedAppNames:c,connectingItemId:o,onNavigateConnected:l,onConnect:d}=s,a=de(),[N,f]=K.useState(!1),[g,v]=K.useState(null);let h,_;e[0]!==c||e[1]!==n?(h=Pe(n)??"",_=c.has(h),e[0]=c,e[1]=n,e[2]=h,e[3]=_):(h=e[2],_=e[3]);const u=_;let S;e[4]!==n._meta?(S=Dt(n._meta),e[4]=n._meta,e[5]=S):S=e[5];const x=S,D=x?.friendlyName||x?.friendly_name||n.server?.title||n.title||n.server?.name||n.name||n.id||"",b=n.server?.description||n.description||null;let k;e[6]!==n.server?.icons?.[0]?.src||e[7]!==n.server?.repository?(k=n.server?.icons?.[0]?.src||mt(n.server?.repository)||null,e[6]=n.server?.icons?.[0]?.src,e[7]=n.server?.repository,e[8]=k):k=e[8];const i=k;let T;if(e[9]!==r||e[10]!==h){let G;e[12]!==h?(G=ue=>ue.connection_type!=="VIRTUAL"&&ue.app_name===h,e[12]=h,e[13]=G):G=e[13],T=r.filter(G),e[9]=r,e[10]=h,e[11]=T}else T=e[11];const M=T;let L;e[14]!==n?(L=rn(n),e[14]=n,e[15]=L):L=e[15];const A=L,H=u||p;let F,O;e[16]!==M||e[17]!==A||e[18]!==u||e[19]!==n||e[20]!==d||e[21]!==l?(F=()=>{if(u){const G=M[0];G&&l(G);return}O()},O=()=>{A?(v("connect"),f(!0)):d(n)},e[16]=M,e[17]=A,e[18]=u,e[19]=n,e[20]=d,e[21]=l,e[22]=F,e[23]=O):(F=e[22],O=e[23]);let z;e[24]!==n||e[25]!==d||e[26]!==g?(z=()=>{re("connections_community_warning_confirmed",{registry_item_id:n.id}),f(!1),g==="connect"&&d(n),v(null)},e[24]=n,e[25]=d,e[26]=g,e[27]=z):z=e[27];const q=z;let w;e[28]!==b||e[29]!==i||e[30]!==D?(w={title:D,description:b,icon:i},e[28]=b,e[29]=i,e[30]=D,e[31]=w):w=e[31];let Q;e[32]===Symbol.for("react.memo_cache_sentinel")?(Q=t.jsx(Ce,{}),e[32]=Q):Q=e[32];const y=H?F:void 0;let I;e[33]!==A||e[34]!==n._sourceIcon?(I=A&&n._sourceIcon&&t.jsx("img",{src:n._sourceIcon,alt:"Community",className:"size-4 rounded-sm object-contain"}),e[33]=A,e[34]=n._sourceIcon,e[35]=I):I=e[35];let E;e[36]!==p||e[37]!==o||e[38]!==O||e[39]!==u||e[40]!==n.id||e[41]!==a?(E=u?t.jsx("span",{className:"text-xs text-muted-foreground font-normal",children:a("orgs.catalogItemCard.connected")}):p&&t.jsx(X,{variant:"outline",size:"sm",className:"h-7 px-3 rounded-lg text-sm font-medium",disabled:o!==null,onClick:G=>{G.stopPropagation(),O()},children:o===n.id?t.jsx(xe,{className:"size-3.5"}):a("orgs.catalogItemCard.connect")}),e[36]=p,e[37]=o,e[38]=O,e[39]=u,e[40]=n.id,e[41]=a,e[42]=E):E=e[42];let W;e[43]!==I||e[44]!==E?(W=t.jsxs("div",{className:"flex items-center gap-2",children:[I,E]}),e[43]=I,e[44]=E,e[45]=W):W=e[45];let R;e[46]!==W||e[47]!==w||e[48]!==y?(R=t.jsx(_e,{connection:w,fallbackIcon:Q,onClick:y,headerActionsAlwaysVisible:!0,headerActions:W}),e[46]=W,e[47]=w,e[48]=y,e[49]=R):R=e[49];let C;e[50]!==a?(C=a("orgs.catalogItemCard.communityMcpServerTitle"),e[50]=a,e[51]=C):C=e[51];let $;e[52]!==C?($=t.jsx(Oe,{children:C}),e[52]=C,e[53]=$):$=e[53];let P;e[54]!==a?(P=a("orgs.catalogItemCard.communityMcpServerDescription"),e[54]=a,e[55]=P):P=e[55];let Z;e[56]!==P?(Z=t.jsx(Le,{children:P}),e[56]=P,e[57]=Z):Z=e[57];let ne;e[58]!==$||e[59]!==Z?(ne=t.jsxs($e,{children:[$,Z]}),e[58]=$,e[59]=Z,e[60]=ne):ne=e[60];let ee;e[61]!==a?(ee=a("orgs.catalogItemCard.cancel"),e[61]=a,e[62]=ee):ee=e[62];let m;e[63]!==ee?(m=t.jsx(Fe,{children:ee}),e[63]=ee,e[64]=m):m=e[64];let j;e[65]!==a?(j=a("orgs.catalogItemCard.continue"),e[65]=a,e[66]=j):j=e[66];let U;e[67]!==q||e[68]!==j?(U=t.jsx(Ue,{onClick:q,children:j}),e[67]=q,e[68]=j,e[69]=U):U=e[69];let B;e[70]!==m||e[71]!==U?(B=t.jsxs(Ve,{children:[m,U]}),e[70]=m,e[71]=U,e[72]=B):B=e[72];let V;e[73]!==ne||e[74]!==B?(V=t.jsxs(ze,{children:[ne,B]}),e[73]=ne,e[74]=B,e[75]=V):V=e[75];let J;e[76]!==N||e[77]!==V?(J=t.jsx(Ee,{open:N,onOpenChange:f,children:V}),e[76]=N,e[77]=V,e[78]=J):J=e[78];let te;return e[79]!==R||e[80]!==J?(te=t.jsxs(t.Fragment,{children:[R,J]}),e[79]=R,e[80]=J,e[81]=te):te=e[81],te}function dn(s){return s?.length?{appToolName:s.find(n=>!!Et(n._meta))?.name??null}:null}function et(s){const e=ae.c(8),{selectionMode:n,children:p}=s,r=n?"w-8 opacity-100":"w-0 opacity-0 group-hover:w-8 group-hover:opacity-100";let c;e[0]!==r?(c=ye("overflow-hidden transition-all duration-150 ease-out",r),e[0]=r,e[1]=c):c=e[1];let o;e[2]===Symbol.for("react.memo_cache_sentinel")?(o=t.jsx(Zt,{asChild:!0,children:t.jsx(X,{variant:"ghost",size:"sm",className:"h-8 w-8 p-0",onClick:mn,children:t.jsx(nn,{size:20})})}),e[2]=o):o=e[2];let l;e[3]!==p?(l=t.jsxs(en,{children:[o,t.jsx(tn,{align:"end",onClick:un,children:p})]}),e[3]=p,e[4]=l):l=e[4];let d;return e[5]!==c||e[6]!==l?(d=t.jsx("div",{className:c,children:l}),e[5]=c,e[6]=l,e[7]=d):d=e[7],d}function un(s){return s.stopPropagation()}function mn(s){return s.stopPropagation()}function gn(s){const e=ae.c(57),{group:n,onOpen:p,selectionMode:r,selectedIds:c,onToggleSelect:o}=s,l=de();let d;if(e[0]!==n.connections||e[1]!==c){let w;e[3]!==c?(w=Q=>c.has(Q.id),e[3]=c,e[4]=w):w=e[4],d=n.connections.every(w),e[0]=n.connections,e[1]=c,e[2]=d}else d=e[2];const a=d;let N;if(e[5]!==n.connections||e[6]!==c){let w;e[8]!==c?(w=Q=>c.has(Q.id),e[8]=c,e[9]=w):w=e[9],N=n.connections.some(w),e[5]=n.connections,e[6]=c,e[7]=N}else N=e[7];const f=N;let g;e[10]!==a||e[11]!==n.connections||e[12]!==o||e[13]!==c?(g=()=>{for(const w of n.connections)a?c.has(w.id)&&o(w.id):c.has(w.id)||o(w.id)},e[10]=a,e[11]=n.connections,e[12]=o,e[13]=c,e[14]=g):g=e[14];const v=g,h=n.title,_=n.icon;let u;e[15]!==n.connections.length||e[16]!==l?(u=l("orgs.connectionSelectionUi.instancesCount",{count:n.connections.length}),e[15]=n.connections.length,e[16]=l,e[17]=u):u=e[17];let S;e[18]!==n.icon||e[19]!==n.title||e[20]!==u?(S={title:h,icon:_,description:u},e[18]=n.icon,e[19]=n.title,e[20]=u,e[21]=S):S=e[21];let x;e[22]!==p||e[23]!==r||e[24]!==v?(x=()=>r?v():p(),e[22]=p,e[23]=r,e[24]=v,e[25]=x):x=e[25];const D=r&&a&&"ring-2 ring-primary",b=r&&f&&!a&&"ring-1 ring-primary/50";let k;e[26]!==b||e[27]!==D?(k=ye(D,b),e[26]=b,e[27]=D,e[28]=k):k=e[28];const i=r?a?!0:f&&"mixed":void 0;let T;e[29]===Symbol.for("react.memo_cache_sentinel")?(T=t.jsx(Ce,{}),e[29]=T):T=e[29];let M;e[30]!==a||e[31]!==n.connections.length||e[32]!==r||e[33]!==f||e[34]!==l||e[35]!==v?(M=r?t.jsx(Je,{checked:a?!0:f?"indeterminate":!1,onCheckedChange:v}):t.jsxs("div",{className:"flex items-center gap-1",children:[t.jsx("span",{className:"text-xs text-muted-foreground font-normal",children:l("orgs.connectionSelectionUi.connected")}),t.jsxs("span",{className:"text-xs text-muted-foreground font-normal tabular-nums",children:["x",n.connections.length]})]}),e[30]=a,e[31]=n.connections.length,e[32]=r,e[33]=f,e[34]=l,e[35]=v,e[36]=M):M=e[36];let L;e[37]!==p?(L=w=>{w.stopPropagation(),p()},e[37]=p,e[38]=L):L=e[38];let A;e[39]===Symbol.for("react.memo_cache_sentinel")?(A=t.jsx(Ye,{size:16}),e[39]=A):A=e[39];let H;e[40]!==l?(H=l("orgs.connectionSelectionUi.open"),e[40]=l,e[41]=H):H=e[41];let F;e[42]!==L||e[43]!==H?(F=t.jsxs(ge,{onClick:L,children:[A,H]}),e[42]=L,e[43]=H,e[44]=F):F=e[44];let O;e[45]!==r||e[46]!==F?(O=t.jsx(et,{selectionMode:r,children:F}),e[45]=r,e[46]=F,e[47]=O):O=e[47];let z;e[48]!==M||e[49]!==O?(z=t.jsxs("div",{className:"flex items-center gap-1",children:[M,O]}),e[48]=M,e[49]=O,e[50]=z):z=e[50];let q;return e[51]!==k||e[52]!==i||e[53]!==z||e[54]!==S||e[55]!==x?(q=t.jsx(t.Fragment,{children:t.jsx(_e,{connection:S,onClick:x,className:k,selected:i,fallbackIcon:T,headerActionsAlwaysVisible:!0,headerActions:z})}),e[51]=k,e[52]=i,e[53]=z,e[54]=S,e[55]=x,e[56]=q):q=e[56],q}function pn(s){const e=ae.c(36),{connection:n,isSelected:p,selectionMode:r,canManage:c,canManageAgents:o,onToggleSelect:l,onOpen:d,onToggleStatus:a,onDelete:N}=s,f=de();let g;e[0]!==p||e[1]!==l||e[2]!==r||e[3]!==f?(g=r?t.jsx(Je,{checked:p,onCheckedChange:l,onClick:fn}):t.jsx("span",{className:"text-xs text-muted-foreground font-normal",children:f("orgs.connectionSelectionUi.connected")}),e[0]=p,e[1]=l,e[2]=r,e[3]=f,e[4]=g):g=e[4];let v;e[5]!==d?(v=i=>{i.stopPropagation(),d()},e[5]=d,e[6]=v):v=e[6];let h;e[7]===Symbol.for("react.memo_cache_sentinel")?(h=t.jsx(Ye,{size:16}),e[7]=h):h=e[7];let _;e[8]!==f?(_=f("orgs.connectionSelectionUi.open"),e[8]=f,e[9]=_):_=e[9];let u;e[10]!==v||e[11]!==_?(u=t.jsxs(ge,{onClick:v,children:[h,_]}),e[10]=v,e[11]=_,e[12]=u):u=e[12];let S;e[13]!==c||e[14]!==o||e[15]!==l||e[16]!==f?(S=(c||o)&&t.jsxs(ge,{onClick:i=>{i.stopPropagation(),l()},children:[t.jsx(Bt,{size:16}),f("orgs.connectionSelectionUi.select")]}),e[13]=c,e[14]=o,e[15]=l,e[16]=f,e[17]=S):S=e[17];let x;e[18]!==c||e[19]!==n||e[20]!==a||e[21]!==f?(x=c&&(n.status==="active"?t.jsxs(ge,{onClick:i=>{i.stopPropagation(),a("inactive")},children:[t.jsx(Kt,{size:16}),f("orgs.connectionSelectionUi.disable")]}):t.jsxs(ge,{onClick:i=>{i.stopPropagation(),a("active")},children:[t.jsx(Ht,{size:16}),f("orgs.connectionSelectionUi.enable")]})),e[18]=c,e[19]=n,e[20]=a,e[21]=f,e[22]=x):x=e[22];let D;e[23]!==c||e[24]!==N||e[25]!==f?(D=c&&t.jsxs(ge,{variant:"destructive",onClick:i=>{i.stopPropagation(),N()},children:[t.jsx(Ze,{size:16}),f("orgs.connectionSelectionUi.delete")]}),e[23]=c,e[24]=N,e[25]=f,e[26]=D):D=e[26];let b;e[27]!==r||e[28]!==u||e[29]!==S||e[30]!==x||e[31]!==D?(b=t.jsxs(et,{selectionMode:r,children:[u,S,x,D]}),e[27]=r,e[28]=u,e[29]=S,e[30]=x,e[31]=D,e[32]=b):b=e[32];let k;return e[33]!==g||e[34]!==b?(k=t.jsxs("div",{className:"flex items-center gap-1",children:[g,b]}),e[33]=g,e[34]=b,e[35]=k):k=e[35],k}function fn(s){return s.stopPropagation()}function hn(s){const e=ae.c(29),{count:n,total:p,canManage:r,canManageAgents:c,onSelectAll:o,onDeselectAll:l,onDelete:d,onAddToAgent:a,onToggleStatus:N,onCancel:f}=s,g=de();if(n===0)return null;let v;e[0]!==n||e[1]!==g?(v=g("orgs.connectionSelectionUi.selectedCount",{count:n}),e[0]=n,e[1]=g,e[2]=v):v=e[2];let h;e[3]!==v?(h=t.jsx("div",{className:"text-xs text-muted-foreground pr-1 tabular-nums",children:v}),e[3]=v,e[4]=h):h=e[4];let _;e[5]!==n||e[6]!==l||e[7]!==o||e[8]!==g||e[9]!==p?(_=n<p?t.jsx(X,{variant:"outline",size:"sm",className:"h-7 text-xs px-2",onClick:o,children:g("orgs.connectionSelectionUi.selectAll",{total:p})}):t.jsx(X,{variant:"outline",size:"sm",className:"h-7 text-xs px-2",onClick:l,children:g("orgs.connectionSelectionUi.clearSelection")}),e[5]=n,e[6]=l,e[7]=o,e[8]=g,e[9]=p,e[10]=_):_=e[10];let u;e[11]!==c||e[12]!==a||e[13]!==g?(u=c&&t.jsxs(X,{variant:"outline",size:"sm",className:"h-7 text-xs px-2",onClick:a,children:[t.jsx(qe,{size:13}),g("orgs.connectionSelectionUi.addToAgent")]}),e[11]=c,e[12]=a,e[13]=g,e[14]=u):u=e[14];let S;e[15]!==r||e[16]!==d||e[17]!==N||e[18]!==g?(S=r&&t.jsxs(t.Fragment,{children:[t.jsx(X,{variant:"outline",size:"sm",className:"h-7 text-xs px-2",onClick:()=>N("active"),children:g("orgs.connectionSelectionUi.enable")}),t.jsx(X,{variant:"outline",size:"sm",className:"h-7 text-xs px-2",onClick:()=>N("inactive"),children:g("orgs.connectionSelectionUi.disable")}),t.jsxs(X,{variant:"destructive",size:"sm",className:"h-7 text-xs px-2",onClick:d,children:[t.jsx(Ze,{size:13}),g("orgs.connectionSelectionUi.delete")]})]}),e[15]=r,e[16]=d,e[17]=N,e[18]=g,e[19]=S):S=e[19];let x;e[20]===Symbol.for("react.memo_cache_sentinel")?(x=t.jsx(Qe,{size:13}),e[20]=x):x=e[20];let D;e[21]!==f?(D=t.jsx(X,{variant:"ghost",size:"sm",className:"h-7 text-xs px-2",onClick:f,children:x}),e[21]=f,e[22]=D):D=e[22];let b;return e[23]!==h||e[24]!==_||e[25]!==u||e[26]!==S||e[27]!==D?(b=t.jsx("div",{className:"fixed bottom-4 left-1/2 z-50 -translate-x-1/2",children:t.jsxs("div",{className:"rounded-xl border border-border bg-background/95 shadow-lg backdrop-blur px-3 py-2 flex items-center gap-2",children:[h,_,u,S,D]})}),e[23]=h,e[24]=_,e[25]=u,e[26]=S,e[27]=D,e[28]=b):b=e[28],b}function xn(s){const e=ae.c(45),{open:n,onOpenChange:p,agents:r,onConfirm:c}=s,o=de(),[l,d]=K.useState(null);let a;e[0]!==o?(a=o("orgs.connectionSelectionUi.addToAgentTitle"),e[0]=o,e[1]=a):a=e[1];let N;e[2]!==a?(N=t.jsx(Be,{children:a}),e[2]=a,e[3]=N):N=e[3];let f;e[4]!==o?(f=o("orgs.connectionSelectionUi.addToAgentDescription"),e[4]=o,e[5]=f):f=e[5];let g;e[6]!==f?(g=t.jsx(Ke,{children:f}),e[6]=f,e[7]=g):g=e[7];let v;e[8]!==N||e[9]!==g?(v=t.jsxs(He,{children:[N,g]}),e[8]=N,e[9]=g,e[10]=v):v=e[10];let h;e[11]!==r||e[12]!==l||e[13]!==o?(h=r.length===0?t.jsx("p",{className:"text-sm text-muted-foreground text-center py-4",children:o("orgs.connectionSelectionUi.noAgentsFound")}):r.map(A=>t.jsxs("button",{type:"button",onClick:()=>d(A.id),className:ye("flex items-center gap-3 w-full rounded-md px-3 py-2 text-left transition-colors",l===A.id?"bg-primary/10 ring-1 ring-primary":"hover:bg-muted/50"),children:[t.jsx(Yt,{icon:A.icon,name:A.title,size:"sm",className:"shrink-0"}),t.jsxs("div",{className:"flex-1 min-w-0",children:[t.jsx("p",{className:"text-sm font-medium truncate",children:A.title}),A.description&&t.jsx("p",{className:"text-xs text-muted-foreground truncate",children:A.description})]})]},A.id)),e[11]=r,e[12]=l,e[13]=o,e[14]=h):h=e[14];let _;e[15]!==h?(_=t.jsx("div",{className:"max-h-60 overflow-auto py-2 space-y-1",children:h}),e[15]=h,e[16]=_):_=e[16];let u;e[17]!==p?(u=()=>p(!1),e[17]=p,e[18]=u):u=e[18];let S;e[19]!==o?(S=o("orgs.connectionSelectionUi.cancel"),e[19]=o,e[20]=S):S=e[20];let x;e[21]!==u||e[22]!==S?(x=t.jsx(X,{variant:"outline",onClick:u,children:S}),e[21]=u,e[22]=S,e[23]=x):x=e[23];const D=!l;let b;e[24]!==c||e[25]!==p||e[26]!==l?(b=()=>{l&&(c(l),p(!1),d(null))},e[24]=c,e[25]=p,e[26]=l,e[27]=b):b=e[27];let k;e[28]!==o?(k=o("orgs.connectionSelectionUi.add"),e[28]=o,e[29]=k):k=e[29];let i;e[30]!==D||e[31]!==b||e[32]!==k?(i=t.jsx(X,{disabled:D,onClick:b,children:k}),e[30]=D,e[31]=b,e[32]=k,e[33]=i):i=e[33];let T;e[34]!==x||e[35]!==i?(T=t.jsxs(Re,{children:[x,i]}),e[34]=x,e[35]=i,e[36]=T):T=e[36];let M;e[37]!==T||e[38]!==v||e[39]!==_?(M=t.jsxs(We,{className:"sm:max-w-[400px]",children:[v,_,T]}),e[37]=T,e[38]=v,e[39]=_,e[40]=M):M=e[40];let L;return e[41]!==p||e[42]!==n||e[43]!==M?(L=t.jsx(Xe,{open:n,onOpenChange:p,children:M}),e[41]=p,e[42]=n,e[43]=M,e[44]=L):L=e[44],L}function jn({listState:s,activeTab:e,typeFilter:n,statusFilter:p,registryFilter:r,enabledRegistries:c}){const o=de(),{org:l}=Ae(),d=at(),a=Ie(),{data:N}=we.useSession(),f=Ge(),g=Ut(s),v=Ct(),{granted:h}=be("connections:manage"),{granted:_}=be("agents:manage"),[u,S]=K.useState(new Set),x=u.size>0,[D,b]=K.useState(!1),[k,i]=K.useState(!1),[T,M]=K.useState(null),L=zt(),A=g.filter(m=>!(n!=="ALL"&&m.connection_type!==n||p!=="ALL"&&m.status!==p)),H=St(A),F=m=>{S(j=>{const U=new Set(j);return U.has(m)?U.delete(m):U.add(m),U})},O=()=>{S(new Set)},z=Me(c,s.searchTerm),q=z.items,w=bt(z.loadMore,z.hasMore,z.isLoadingMore),Q=new Set(g.filter(m=>m.app_name).map(m=>m.app_name)),y=r==="ALL"||c.some(m=>m.id===r)?r:"ALL",I=s.search.length>0,E=e==="all"||I?q.filter(m=>{if(y!=="ALL"&&m._registryId!==y)return!1;if(I){const j=Pe(m);if(j&&Q.has(j))return!1}return!0}):[],W=e==="connected"||I?H:[],R=async m=>{if(!(!l||!N?.user?.id)){re("connection_add_clicked",{action:"connect_new",registry_item_id:m.id,source:"connections_page"}),M(m.id);try{const j=pt(m,l.id,N.user.id,{remoteIndex:0}),U=j.connection_type==="STDIO",B=!!j.connection_url,V=U&&j.connection_headers&&typeof j.connection_headers=="object"&&"command"in j.connection_headers;if(!B&&!V){Y.error(o("orgs.connections.cannotConnectNoMethod")),M(null);return}const J=await f.create.mutateAsync(j),{id:te}=J,G=await Jt({connectionId:te,orgId:l.id,orgSlug:l.slug,persistFallback:pe=>f.update.mutateAsync({id:te,data:{connection_token:pe}}).then(()=>{})});if(G.ran&&!G.ok){re("connection_oauth_failed",{connection_id:te,flow:"connections_page_connect",error:G.error??"no_token"}),Y.error(o("orgs.connections.authenticationFailed",{error:G.error??"no token received"}));return}if(G.ran){re("connection_oauth_succeeded",{connection_id:te,flow:"connections_page_connect"});const pe=new URL(`/api/${l.slug}/mcp/${te}`,window.location.origin);await d.invalidateQueries({queryKey:ut.isMCPAuthenticated(pe.href,null)}),$(),Y.success(o("orgs.connections.authenticationSuccessful"))}let ue=null;try{const pe=await d.fetchQuery(Vt({connectionId:te,orgId:l.id,orgSlug:l.slug}));ue=dn((await pe.listTools()).tools)}catch{}const De=he(J),Ne=ue?ue.appToolName?{to:"/$org/settings/connections/$appSlug/$collectionName/$itemId",params:{org:l.slug,appSlug:De,collectionName:"tools",itemId:encodeURIComponent(ue.appToolName)}}:{to:"/$org/settings/connections/$appSlug",params:{org:l.slug,appSlug:De}}:null;Y.success(o("orgs.connections.connectedSuccessfully"),Ne?{action:{label:o("orgs.connections.openConnection"),onClick:()=>a(Ne)}}:void 0)}catch(j){Y.error(o("orgs.connections.failedToConnect",{error:j instanceof Error?j.message:String(j)}))}finally{M(null)}}},C=dt(),$=()=>{d.invalidateQueries({predicate:m=>{const j=m.queryKey;return j[1]===l.id&&j[3]==="collection"&&j[4]==="CONNECTIONS"}})},P=async()=>{b(!1);const m=[...u];re("connections_bulk_delete",{count:m.length});const U=(await Promise.allSettled(m.map(B=>C.call("COLLECTION_CONNECTIONS_DELETE",{id:B,force:!0})))).filter(B=>B.status==="fulfilled").length;$(),Y.success(o("orgs.connections.deletedConnections",{count:U})),O()},Z=async(m,j)=>{try{await f.update.mutateAsync({id:m,data:{status:j}}),$(),Y.success(o(j==="active"?"orgs.connections.connectionEnabled":"orgs.connections.connectionDisabled"))}catch{Y.error(o("orgs.connections.failedToUpdateConnection"))}},ne=async m=>{const j=[...u];re("connections_bulk_status_toggled",{count:j.length,to_status:m});const B=(await Promise.allSettled(j.map(V=>f.update.mutateAsync({id:V,data:{status:m}})))).filter(V=>V.status==="fulfilled").length;$(),Y.success(m==="active"?o("orgs.connections.enabledConnections",{count:B}):o("orgs.connections.disabledConnections",{count:B})),O()},ee=async m=>{const j=L.find(V=>V.id===m);if(!j)return;re("connections_bulk_add_to_agent",{agent_id:m,count:u.size});const U=new Set(j.connections.map(V=>V.connection_id)),B=[...u].filter(V=>!U.has(V)).map(V=>({connection_id:V,selected_tools:null,selected_resources:null,selected_prompts:null}));if(B.length===0){Y.info(o("orgs.connections.allConnectionsAlreadyInAgent"));return}try{await C.call("COLLECTION_VIRTUAL_MCP_UPDATE",{id:m,data:{connections:[...j.connections,...B]}}),d.invalidateQueries({predicate:V=>{const J=V.queryKey;return J[1]===l.id&&J[3]==="collection"&&J[4]==="VIRTUAL_MCP"}}),Y.success(o("orgs.connections.addedConnectionsToAgent",{count:B.length,agentTitle:j.title})),O()}catch{Y.error(o("orgs.connections.failedToAddConnectionsToAgent"))}};return t.jsxs(t.Fragment,{children:[t.jsx(vt,{...v}),t.jsx(ln,{open:D,onOpenChange:b,count:u.size,onConfirm:P}),t.jsx(xn,{open:k,onOpenChange:i,agents:L,onConfirm:ee}),z.isInitialLoading&&e==="all"?t.jsx("div",{className:"flex h-full items-center justify-center",children:t.jsx(xe,{className:"size-8 text-muted-foreground"})}):t.jsx("div",{children:(I?E.length===0&&A.length===0:e==="all"?E.length===0:A.length===0)?t.jsx(yt,{image:t.jsx("img",{src:"/emptystate-mcp.svg",alt:"",width:336,height:320,"aria-hidden":"true"}),title:o("orgs.connections.noConnectionsFound"),description:s.search?o("orgs.connections.noConnectionsMatchSearch",{search:s.search}):o(h?"orgs.connections.createConnectionToGetStarted":"orgs.connections.askAdminToAddConnection")}):t.jsxs("div",{className:"grid grid-cols-[repeat(auto-fill,minmax(280px,1fr))] gap-4",children:[W.map(m=>{if(m.type==="group")return t.jsx(gn,{group:m,onOpen:()=>{a({to:"/$org/settings/connections/$appSlug",params:{org:l.slug,appSlug:m.key}})},selectionMode:x,selectedIds:u,onToggleSelect:F},m.key);const j=m.connection,U=u.has(j.id);return t.jsx(_e,{connection:j,fallbackIcon:t.jsx(Ce,{}),onClick:()=>x?F(j.id):a({to:"/$org/settings/connections/$appSlug",params:{org:l.slug,appSlug:he(j)}}),className:ye(U&&"ring-2 ring-primary bg-primary/5"),selected:x?U:void 0,headerActionsAlwaysVisible:!0,headerActions:t.jsx(pn,{connection:j,isSelected:U,selectionMode:x,canManage:h,canManageAgents:_,onToggleSelect:()=>F(j.id),onOpen:()=>a({to:"/$org/settings/connections/$appSlug",params:{org:l.slug,appSlug:he(j)}}),onToggleStatus:B=>Z(j.id,B),onDelete:()=>v.requestDelete(j)})},j.id)}),E.map(m=>t.jsx(an,{item:m,canManage:h,allConnections:g,connectedAppNames:Q,connectingItemId:T,onNavigateConnected:j=>a({to:"/$org/settings/connections/$appSlug",params:{org:l.slug,appSlug:he(j)}}),onConnect:R},`catalog-${m._registryId}:${m.id}`)),(e==="all"||I)&&c.length>0&&t.jsx("div",{ref:w,className:"col-span-full h-4"}),(e==="all"||I)&&z.isLoadingMore&&t.jsx("div",{className:"col-span-full flex justify-center py-6",children:t.jsx(xe,{className:"size-6 text-muted-foreground"})})]})}),x&&t.jsx(hn,{count:u.size,total:A.length,canManage:h,canManageAgents:_,onSelectAll:()=>{S(new Set(A.map(m=>m.id)))},onDeselectAll:()=>S(new Set),onDelete:()=>b(!0),onAddToAgent:()=>i(!0),onToggleStatus:ne,onCancel:O})]})}function Sn(){const s=de(),{org:e}=Ae(),n=Ie(),p=nt({strict:!1}),{data:r}=we.useSession(),{stdioEnabled:c}=st(),o=ot(),{granted:l}=be("connections:manage"),d=cn({namespace:e.slug,resource:"connections"}),a=Ge(),[N,f]=it(ct.connectionsTab(e.slug),y=>p.tab==="all"||p.tab==="connected"?p.tab:y??"all"),[g,v]=K.useState("ALL"),[h,_]=K.useState("ALL"),[u,S]=K.useState("ALL"),x=jt(),b=Me(x,d.searchTerm).items,k=d.search!==d.searchTerm,i=lt({resolver:rt(Xt),defaultValues:{title:"",description:null,icon:null,ui_type:"HTTP",connection_url:"",connection_token:null,npx_package:"",stdio_command:"",stdio_args:"",stdio_cwd:"",env_vars:[]}}),T=i.watch("ui_type"),M=i.watch("connection_url"),L=i.watch("npx_package"),A=Se({uiType:T,connectionUrl:M??"",npxPackage:L??""})??Te({uiType:T,connectionUrl:M??"",registryItems:b}),H=l&&p.action==="create",F=()=>{re("connections_custom_dialog_opened",{source:"connections_page"}),n({to:"/$org/settings/connections",params:{org:e.slug},search:{action:"create"}})},O=()=>{n({to:"/$org/settings/connections",params:{org:e.slug},search:{}})},z=async y=>{let I,E=null,W=null,R=null;y.ui_type==="NPX"?(I="STDIO",E="",R=qt(y.npx_package||"",y.env_vars||[])):y.ui_type==="STDIO"?(I="STDIO",E="",R=Qt(y.stdio_command||"",y.stdio_args||"",y.stdio_cwd,y.env_vars||[])):(I=y.ui_type,E=y.connection_url||"",W=y.connection_token||null);const C=gt("conn");re("connection_custom_created",{connection_type:I,ui_type:y.ui_type}),await a.create.mutateAsync({id:C,title:y.title,description:y.description||null,connection_type:I,connection_url:E,connection_token:W,created_at:new Date().toISOString(),updated_at:new Date().toISOString(),created_by:r?.user?.id||"system",organization_id:e.id,icon:y.icon??null,app_name:null,app_id:null,connection_headers:R,oauth_config:null,configuration_state:null,metadata:null,tools:null,bindings:null,status:"inactive"}),O(),i.reset(),n({to:"/$org/settings/connections/$appSlug",params:{org:e.slug,appSlug:he({app_name:null,connection_url:E,title:y.title,id:C})}})},q=y=>{y||(H&&O(),i.reset())},w=y=>{const I=y.trim();if(!I)return;const E=!!i.formState.dirtyFields.title,W=!!i.formState.dirtyFields.description,R=!!i.formState.dirtyFields.env_vars,C=P=>{if(P&&(!E&&!i.getValues("title").trim()&&P.title&&i.setValue("title",P.title,{shouldDirty:!1}),!W&&!(i.getValues("description")??"").trim()&&P.description&&i.setValue("description",P.description,{shouldDirty:!1}),!R&&P.envVarKeys?.length)){const Z=i.getValues("env_vars")??[],ne=new Set(Z.map(m=>m.key)),ee=P.envVarKeys.filter(m=>!ne.has(m));ee.length>0&&i.setValue("env_vars",[...Z,...ee.map(m=>({key:m,value:""}))],{shouldDirty:!0})}},$=Gt(I);if($&&c){i.setValue("ui_type","NPX",{shouldDirty:!0}),i.setValue("npx_package",$.packageName,{shouldDirty:!0}),i.setValue("connection_url","",{shouldDirty:!0}),i.setValue("connection_token",null,{shouldDirty:!0}),C(Se({uiType:"NPX",npxPackage:$.packageName}));return}if(I.startsWith("http://")||I.startsWith("https://")){const P=T==="HTTP"||T==="SSE"||T==="Websocket"?T:"HTTP";i.setValue("ui_type",P,{shouldDirty:!0}),i.setValue("connection_url",I,{shouldDirty:!0}),C(Se({uiType:P,connectionUrl:I})??Te({uiType:P,connectionUrl:I,registryItems:b}));return}T==="NPX"&&C(Se({uiType:"NPX",npxPackage:I}))},Q=l?t.jsx("div",{className:"flex items-center gap-2",children:t.jsxs(X,{variant:"outline",onClick:F,children:[t.jsx(qe,{size:14,className:"sm:hidden"}),t.jsx("span",{className:"hidden sm:inline",children:s("orgs.connections.customConnection")})]})}):null;return t.jsx(t.Fragment,{children:t.jsxs(je,{children:[(()=>{const y=s("orgs.connections.createConnection"),I=s("orgs.connections.createConnectionDescription"),E=i.formState.isSubmitting?s("orgs.connections.saving"):s("orgs.connections.createConnection"),W=t.jsxs("div",{className:"grid gap-4",children:[t.jsx(se,{control:i.control,name:"ui_type",render:({field:C})=>t.jsxs(oe,{children:[t.jsx(ie,{children:s("orgs.connections.type")}),t.jsxs(Mt,{value:C.value,onValueChange:C.onChange,children:[t.jsx(ce,{children:t.jsx(Ot,{children:t.jsx(Lt,{})})}),t.jsxs($t,{children:[t.jsx(fe,{value:"HTTP",children:t.jsxs("span",{className:"flex items-center gap-2",children:[t.jsx(ve,{className:"w-4 h-4"}),"HTTP"]})}),t.jsx(fe,{value:"SSE",children:t.jsxs("span",{className:"flex items-center gap-2",children:[t.jsx(ve,{className:"w-4 h-4"}),"SSE"]})}),t.jsx(fe,{value:"Websocket",children:t.jsxs("span",{className:"flex items-center gap-2",children:[t.jsx(ve,{className:"w-4 h-4"}),"Websocket"]})}),c&&t.jsxs(t.Fragment,{children:[t.jsx(fe,{value:"NPX",children:t.jsxs("span",{className:"flex items-center gap-2",children:[t.jsx(Ce,{className:"w-4 h-4"}),s("orgs.connections.npxPackage")]})}),t.jsx(fe,{value:"STDIO",children:t.jsxs("span",{className:"flex items-center gap-2",children:[t.jsx(Rt,{className:"w-4 h-4"}),s("orgs.connections.customCommand")]})})]})]})]}),t.jsx(le,{})]})}),T==="NPX"&&t.jsx(se,{control:i.control,name:"npx_package",render:({field:C})=>t.jsxs(oe,{children:[t.jsx(ie,{children:s("orgs.connections.npmPackage")}),t.jsx(ce,{children:t.jsx(me,{placeholder:s("orgs.connections.npmPackagePlaceholder"),...C,value:C.value??"",onPaste:$=>{const P=$.clipboardData.getData("text");P&&($.preventDefault(),i.setValue("npx_package",P.trim(),{shouldDirty:!0}),w(P))},onBlur:$=>{w($.target.value),C.onBlur()}})}),t.jsx(le,{})]})}),T==="STDIO"&&t.jsxs(t.Fragment,{children:[t.jsxs("div",{className:"grid grid-cols-2 gap-4 items-start",children:[t.jsx(se,{control:i.control,name:"stdio_command",render:({field:C})=>t.jsxs(oe,{children:[t.jsx(ie,{children:s("orgs.connections.command")}),t.jsx(ce,{children:t.jsx(me,{placeholder:s("orgs.connections.commandPlaceholder"),...C,value:C.value??""})}),t.jsx(le,{})]})}),t.jsx(se,{control:i.control,name:"stdio_args",render:({field:C})=>t.jsxs(oe,{children:[t.jsx(ie,{children:s("orgs.connections.arguments")}),t.jsx(ce,{children:t.jsx(me,{placeholder:s("orgs.connections.argumentsPlaceholder"),...C,value:C.value??""})}),t.jsx(le,{})]})})]}),t.jsx(se,{control:i.control,name:"stdio_cwd",render:({field:C})=>t.jsxs(oe,{children:[t.jsx(ie,{children:s("orgs.connections.workingDirectory")}),t.jsx(ce,{children:t.jsx(me,{placeholder:s("orgs.connections.workingDirectoryPlaceholder"),...C,value:C.value??""})}),t.jsx("p",{className:"text-xs text-muted-foreground",children:s("orgs.connections.directoryExecutionNote")}),t.jsx(le,{})]})})]}),(T==="NPX"||T==="STDIO")&&t.jsx(se,{control:i.control,name:"env_vars",render:({field:C})=>t.jsxs(oe,{children:[t.jsx(ie,{children:s("orgs.connections.environmentVariables")}),t.jsx(ce,{children:t.jsx(Wt,{value:C.value??[],onChange:C.onChange})}),t.jsx(le,{})]})}),T!=="NPX"&&T!=="STDIO"&&t.jsxs(t.Fragment,{children:[t.jsx(se,{control:i.control,name:"connection_url",render:({field:C})=>t.jsxs(oe,{children:[t.jsx(ie,{children:s("orgs.connections.url")}),t.jsx(ce,{children:t.jsx(me,{placeholder:s("orgs.connections.urlPlaceholder"),...C,value:C.value??"",onPaste:$=>{const P=$.clipboardData.getData("text");P&&($.preventDefault(),i.setValue("connection_url",P.trim(),{shouldDirty:!0}),w(P))},onBlur:$=>{w($.target.value),C.onBlur()}})}),t.jsx(le,{})]})}),t.jsx(se,{control:i.control,name:"connection_token",render:({field:C})=>t.jsxs(oe,{children:[t.jsx(ie,{children:A?.token?.label??s("orgs.connections.tokenOptional")}),t.jsx(ce,{children:t.jsx(me,{type:"password",placeholder:A?.token?.placeholder??s("orgs.connections.tokenPlaceholder"),...C,value:C.value??""})}),A?.token?.helperText&&t.jsxs("p",{className:"text-xs text-muted-foreground",children:[A.token.helperText,A.id==="github"&&t.jsxs(t.Fragment,{children:[" ","·"," ",t.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:s("orgs.connections.openGitHubPatSettings")})]})]}),t.jsx(le,{})]})})]}),t.jsx(se,{control:i.control,name:"title",render:({field:C})=>t.jsxs(oe,{children:[t.jsx(ie,{children:s("orgs.connections.name")}),t.jsx(ce,{children:t.jsx(me,{placeholder:s("orgs.connections.namePlaceholder"),...C})}),t.jsx(le,{})]})}),t.jsx(se,{control:i.control,name:"description",render:({field:C})=>t.jsxs(oe,{children:[t.jsx(ie,{children:s("orgs.connections.description")}),t.jsx(ce,{children:t.jsx(Ft,{placeholder:s("orgs.connections.descriptionPlaceholder"),rows:3,...C,value:C.value??""})}),t.jsx(le,{})]})})]}),R=H;return o?t.jsx(Nt,{open:R,onOpenChange:q,children:t.jsxs(kt,{className:"max-h-[90vh]",children:[t.jsx(Tt,{className:"pb-2",children:t.jsxs("div",{className:"flex items-start justify-between gap-4",children:[t.jsxs("div",{className:"flex-1 text-left",children:[t.jsx(At,{children:y}),t.jsx(It,{className:"mt-1",children:I})]}),t.jsx(wt,{asChild:!0,children:t.jsx(X,{variant:"ghost",size:"icon",className:"shrink-0 -mt-1","aria-label":s("orgs.connections.close"),children:t.jsx(Qe,{size:16})})})]})}),t.jsx(ke,{...i,children:t.jsxs("form",{onSubmit:i.handleSubmit(z),children:[t.jsx("div",{className:"overflow-y-auto px-4 pb-4",children:W}),t.jsx(Pt,{children:t.jsx(X,{type:"submit",disabled:i.formState.isSubmitting,className:"w-full",children:E})})]})})]})}):t.jsx(Xe,{open:R,onOpenChange:q,children:t.jsxs(We,{className:"sm:max-w-[525px]",children:[t.jsxs(He,{children:[t.jsx(Be,{children:y}),t.jsx(Ke,{children:I})]}),t.jsx(ke,{...i,children:t.jsxs("form",{onSubmit:i.handleSubmit(z),children:[t.jsx("div",{className:"py-4",children:W}),t.jsxs(Re,{children:[t.jsx(X,{type:"button",variant:"outline",onClick:()=>q(!1),children:s("orgs.connections.cancel")}),t.jsx(X,{type:"submit",disabled:i.formState.isSubmitting,className:"min-w-40",children:E})]})]})})]})})})(),t.jsx(je.Content,{children:t.jsx(je.Body,{children:t.jsxs("div",{className:"flex flex-col gap-6",children:[t.jsx(je.Title,{children:s("orgs.connections.pageTitle")}),t.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx(ht,{value:d.search,onChange:d.setSearch,placeholder:s("orgs.connections.searchPlaceholder"),className:"w-full md:w-[375px]",onKeyDown:y=>{y.key==="Escape"&&(d.setSearch(""),y.target.blur())}}),t.jsx(ft,{sortKey:d.sortKey,sortDirection:d.sortDirection,onSort:d.handleSort,sortOptions:[{id:"title",label:s("orgs.connections.sortName")},{id:"description",label:s("orgs.connections.sortDescription")},{id:"connection_type",label:s("orgs.connections.sortType")},{id:"updated_by",label:s("orgs.connections.sortUpdatedBy")},{id:"updated_at",label:s("orgs.connections.sortUpdated")}],filters:[{label:s("orgs.connections.filterType"),value:g,onChange:y=>v(y||"ALL"),options:[{id:"ALL",label:s("orgs.connections.filterAll")},{id:"HTTP",label:"HTTP"},{id:"SSE",label:"SSE"},{id:"Websocket",label:"WebSocket"},{id:"STDIO",label:"STDIO"}]},{label:s("orgs.connections.filterStatus"),value:h,onChange:y=>_(y||"ALL"),options:[{id:"ALL",label:s("orgs.connections.filterAll")},{id:"active",label:s("orgs.connections.filterActive")},{id:"inactive",label:s("orgs.connections.filterInactive")},{id:"error",label:s("orgs.connections.filterError")}]},...x.length>1?[{label:s("orgs.connections.filterRegistry"),value:u,onChange:y=>S(y||"ALL"),options:[{id:"ALL",label:s("orgs.connections.filterAllRegistries")},...x.map(y=>({id:y.id,label:y.id.includes("community-registry")?s("orgs.connections.communityMcpRegistry"):y.title}))]}]:[]]})]}),Q]}),t.jsx(xt,{tabs:[{id:"all",label:s("orgs.connections.tabAll")},{id:"connected",label:s("orgs.connections.tabConnected")}],activeTab:N,onTabChange:y=>{const I=y;I!==N&&re("connections_page_tab_changed",{to_tab:I}),f(I)}}),t.jsx(K.Suspense,{fallback:t.jsx("div",{className:"flex h-full items-center justify-center",children:t.jsx(xe,{className:"size-8 text-muted-foreground"})}),children:t.jsx("div",{style:{opacity:k?.5:1,transition:k?"opacity 0.2s 0.2s linear":"opacity 0s 0s linear",pointerEvents:k?"none":"auto"},children:t.jsx(jn,{listState:d,activeTab:N,typeFilter:g,statusFilter:h,registryFilter:u,enabledRegistries:x})})})]})})})]})})}function so(){const s=ae.c(1);let e;return s[0]===Symbol.for("react.memo_cache_sentinel")?(e=t.jsx(tt,{children:t.jsx(K.Suspense,{fallback:t.jsx("div",{className:"flex h-full items-center justify-center",children:t.jsx(xe,{className:"size-8 text-muted-foreground"})}),children:t.jsx(Sn,{})})}),s[0]=e):e=s[0],e}export{so as default};
1
+ import{r as K,c as ae,b as de,j as t,B as X,h as xe,o as re,l as ye,E as tt,G as Ae,d as Ie,u as nt,a as we,F as st,J as ot,bd as be,I as it,M as ct,aq as lt,ar as rt,P as je,n as at,a7 as dt,t as Y,K as ut}from"./index-ClceuAyk.js";import{b as Pe,a as mt,g as gt,e as pt}from"./extract-connection-data-j3oiKoXE.js";import{C as ft}from"./collection-display-button-YaQc-_Zz.js";import{S as ht}from"./search-input-DyWwr2ur.js";import{C as xt}from"./collection-tabs-CkULqP96.js";import{C as _e,u as jt,a as Me,g as St}from"./connection-card-CZIy77L1.js";import{E as yt}from"./empty-state--1O_g2Vb.js";import{u as Ct,D as vt}from"./use-delete-connection-C4uA47Qa.js";import{u as bt}from"./use-infinite-scroll-D1TiZfg3.js";import{u as _t}from"./use-view-mode-DBUPinV2.js";import{g as he}from"./connection-slug-CITJ0kGN.js";import{c as Oe,d as Le,b as $e,f as Fe,g as Ue,e as Ve,a as ze,A as Ee}from"./alert-dialog-CZ1KENHH.js";import{n as Ce}from"./Tool02-VahAgw3l.js";import{g as Dt}from"./metadata-dUsYcpuu.js";import{d as Be,h as Ke,c as He,e as Re,b as We,D as Xe}from"./dialog-XHYSv2FF.js";import{D as Nt,a as kt,c as Tt,b as At,e as It,f as wt,g as Pt}from"./drawer-Baxk3ITM.js";import{d as se,a as oe,e as ie,b as ce,c as le,F as ke}from"./form-9R94AgDH.js";import{I as me}from"./input-BnaH3Pwu.js";import{S as Mt,b as Ot,a as Lt,d as $t,c as fe}from"./select-CPovt3xR.js";import{T as Ft}from"./textarea-BsfO56Vo.js";import{b as Ge,u as Ut}from"./use-connection-Czuylju7.js";import{m as Vt}from"./use-mcp-client-Dw2P7NDf.js";import{a as zt}from"./use-virtual-mcp-Cg1qs7zR.js";import{g as Et}from"./types-DWPAY_9z.js";import{aW as Bt,T as Kt,S as Ht,j as ve}from"./agent-icon-BFmhGO5e.js";import{s as qe}from"./Plus-CvXXAkh5.js";import{b as Rt}from"./UserSquare-B9-4LA44.js";import{s as Qe}from"./XClose-C39TipQ9.js";import{i as Se,a as Te,E as Wt,c as Xt,p as Gt,b as qt,d as Qt}from"./connection-form-helpers-BiWza_n6.js";import{a as Jt}from"./authenticate-and-persist-oauth-N0Onqilv.js";import{I as Yt}from"./integration-icon-dzOlSD8N.js";import{C as Je}from"./checkbox-BuDYKoG3.js";import{a as ge,D as Zt,c as en,b as tn}from"./dropdown-menu-DXwTXKHW.js";import{i as nn}from"./DotsVertical-pXN36xDf.js";import{s as Ye}from"./Eye-uv0JopIC.js";import{s as Ze}from"./Trash01-Cbibxhdy.js";import"./connection-BihzkxkU.js";import"./ArrowUp-Di6V-t98.js";import"./Check-Cz1yJ2Ku.js";import"./view-mode-toggle-CoqStA7o.js";import"./badge-BXckqUEw.js";import"./SearchMd-BDM79zjM.js";import"./use-registry-connections-DjnXhjaU.js";import"./use-organization-settings-Bfxc2_gK.js";import"./schema-C6aNLxKf.js";import"./task-board-ogD6qhBD.js";import"./useInfiniteQuery-BcvMcS30.js";import"./infiniteQueryObserver-Dl9Qp9QK.js";import"./retry-CErkP7V6.js";import"./backoff-CrEUbyZT.js";import"./delay-CnY5UFtP.js";import"./slugify-CEUa2lfQ.js";import"./label-BXG-IHer.js";import"./ChevronUp-CzD3Q5Ez.js";import"./auth-B5sZ5Nku.js";import"./AlertCircle-DnecbAPh.js";import"./Tool01-hRYJ57AS.js";import"./ArrowLeft-DKxrZoHN.js";import"./ArrowRight-D5xmwFpZ.js";import"./TrendUp01-BrA1T2pc.js";import"./ZoomOut-BDx7bzVD.js";import"./Users03-BP5hN4tN.js";import"./CheckCircle-CUMJTel7.js";import"./ChevronRight-DBtAhTcB.js";import"./ChevronSelectorVertical-BWywRn6y.js";import"./Copy01-8PINeOv9.js";import"./CreditCard01-DrPWgPgY.js";import"./Download01-ChKDQL-2.js";import"./Settings02-Bniu9Kuf.js";import"./Share07-Cs5GE4ka.js";import"./GitBranch01-hVNlV4_5.js";import"./Globe01-cNyR-aGb.js";import"./HardDrive-0QEGAcdt.js";import"./Image01-D8DJyxgN.js";import"./Key01-B4wEzwfA.js";import"./Link01-Dg3Wgdll.js";import"./LinkExternal01-DcDWG6E7.js";import"./Monitor01-DKUPqvEt.js";import"./Sun-B5-Zgu6g.js";import"./Package-C2z5N4Ha.js";import"./Palette-B-kHXH8u.js";import"./Play-DO5I4TQw.js";import"./SearchLg-ClCNH8OL.js";import"./Shield01-Y_WnaKFU.js";import"./Stars01-6JGB8G_o.js";import"./Upload01-DCSoEoPT.js";import"./User01-CMN81VOd.js";import"./Users01-G5gtvFkg.js";import"./XCircle-CAT1mlY1.js";import"./Zap-C6djsNj_.js";import"./mcp-oauth-DPzuG3zD.js";function sn(s){const e=`deco-filters-${s}`,[n,p]=K.useState(()=>{try{const c=globalThis.localStorage?.getItem(e);if(c)return JSON.parse(c)}catch(c){console.error("Failed to parse stored filters:",c)}return[]});return[n,c=>{p(c);try{globalThis.localStorage?.setItem(e,JSON.stringify(c))}catch(o){console.error("Failed to save filters:",o)}}]}function on(s){const e=ae.c(7),[n,p]=K.useState(s),[r,c]=K.useState(s?"desc":null);let o;e[0]!==r||e[1]!==n?(o=a=>{n!==a?(p(a),c("asc")):r==="asc"?c("desc"):r==="desc"&&(p(void 0),c(null))},e[0]=r,e[1]=n,e[2]=o):o=e[2];const l=o;let d;return e[3]!==l||e[4]!==r||e[5]!==n?(d={sortKey:n,sortDirection:r,handleSort:l},e[3]=l,e[4]=r,e[5]=n,e[6]=d):d=e[6],d}function cn(s){const e=ae.c(20),{namespace:n,resource:p,defaultSortKey:r,defaultViewMode:c}=s,o=r===void 0?"title":r,l=c===void 0?"table":c,[d,a]=K.useState(""),N=K.useDeferredValue(d),f=`${n}-${p}`,[g,v]=sn(f),h=`studio-${p}-filter-visible-${n}`;let _;e[0]!==h?(_=()=>globalThis.localStorage?.getItem(h)==="true",e[0]=h,e[1]=_):_=e[1];const[u,S]=K.useState(_);let x;e[2]!==h?(x=O=>{S(O),globalThis.localStorage?.setItem(h,String(O))},e[2]=h,e[3]=x):x=e[3];const D=x;let b;e[4]!==u||e[5]!==D?(b=()=>{D(!u)},e[4]=u,e[5]=D,e[6]=b):b=e[6];const k=b,[i,T]=_t(`studio-${p}-${n}`,l),{sortKey:M,sortDirection:L,handleSort:A}=on(o),H=M;let F;return e[7]!==u||e[8]!==g||e[9]!==A||e[10]!==d||e[11]!==N||e[12]!==D||e[13]!==v||e[14]!==T||e[15]!==L||e[16]!==H||e[17]!==k||e[18]!==i?(F={search:d,searchTerm:N,setSearch:a,filters:g,setFilters:v,filterBarVisible:u,setFilterBarVisible:D,toggleFilterBar:k,viewMode:i,setViewMode:T,sortKey:H,sortDirection:L,handleSort:A},e[7]=u,e[8]=g,e[9]=A,e[10]=d,e[11]=N,e[12]=D,e[13]=v,e[14]=T,e[15]=L,e[16]=H,e[17]=k,e[18]=i,e[19]=F):F=e[19],F}function ln(s){const e=ae.c(35),{open:n,onOpenChange:p,count:r,onConfirm:c}=s,o=de(),l=r===1?"orgs.bulkDeleteDialog.deleteTitleSingular":"orgs.bulkDeleteDialog.deleteTitlePlural";let d;e[0]!==r||e[1]!==o||e[2]!==l?(d=o(l,{count:r}),e[0]=r,e[1]=o,e[2]=l,e[3]=d):d=e[3];let a;e[4]!==d?(a=t.jsx(Oe,{children:d}),e[4]=d,e[5]=a):a=e[5];const N=r===1?"orgs.bulkDeleteDialog.deleteDescriptionSingular":"orgs.bulkDeleteDialog.deleteDescriptionPlural";let f;e[6]!==o||e[7]!==N?(f=o(N),e[6]=o,e[7]=N,e[8]=f):f=e[8];let g;e[9]!==f?(g=t.jsx(Le,{children:f}),e[9]=f,e[10]=g):g=e[10];let v;e[11]!==a||e[12]!==g?(v=t.jsxs($e,{children:[a,g]}),e[11]=a,e[12]=g,e[13]=v):v=e[13];let h;e[14]!==o?(h=o("orgs.bulkDeleteDialog.cancelButton"),e[14]=o,e[15]=h):h=e[15];let _;e[16]!==h?(_=t.jsx(Fe,{children:h}),e[16]=h,e[17]=_):_=e[17];const u=r===1?"orgs.bulkDeleteDialog.deleteButtonSingular":"orgs.bulkDeleteDialog.deleteButtonPlural";let S;e[18]!==r||e[19]!==o||e[20]!==u?(S=o(u,{count:r}),e[18]=r,e[19]=o,e[20]=u,e[21]=S):S=e[21];let x;e[22]!==c||e[23]!==S?(x=t.jsx(Ue,{onClick:c,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:S}),e[22]=c,e[23]=S,e[24]=x):x=e[24];let D;e[25]!==x||e[26]!==_?(D=t.jsxs(Ve,{children:[_,x]}),e[25]=x,e[26]=_,e[27]=D):D=e[27];let b;e[28]!==D||e[29]!==v?(b=t.jsxs(ze,{children:[v,D]}),e[28]=D,e[29]=v,e[30]=b):b=e[30];let k;return e[31]!==p||e[32]!==n||e[33]!==b?(k=t.jsx(Ee,{open:n,onOpenChange:p,children:b}),e[31]=p,e[32]=n,e[33]=b,e[34]=k):k=e[34],k}function rn(s){return s._registryId?.includes("community-registry")===!0}function an(s){const e=ae.c(82),{item:n,canManage:p,allConnections:r,connectedAppNames:c,connectingItemId:o,onNavigateConnected:l,onConnect:d}=s,a=de(),[N,f]=K.useState(!1),[g,v]=K.useState(null);let h,_;e[0]!==c||e[1]!==n?(h=Pe(n)??"",_=c.has(h),e[0]=c,e[1]=n,e[2]=h,e[3]=_):(h=e[2],_=e[3]);const u=_;let S;e[4]!==n._meta?(S=Dt(n._meta),e[4]=n._meta,e[5]=S):S=e[5];const x=S,D=x?.friendlyName||x?.friendly_name||n.server?.title||n.title||n.server?.name||n.name||n.id||"",b=n.server?.description||n.description||null;let k;e[6]!==n.server?.icons?.[0]?.src||e[7]!==n.server?.repository?(k=n.server?.icons?.[0]?.src||mt(n.server?.repository)||null,e[6]=n.server?.icons?.[0]?.src,e[7]=n.server?.repository,e[8]=k):k=e[8];const i=k;let T;if(e[9]!==r||e[10]!==h){let G;e[12]!==h?(G=ue=>ue.connection_type!=="VIRTUAL"&&ue.app_name===h,e[12]=h,e[13]=G):G=e[13],T=r.filter(G),e[9]=r,e[10]=h,e[11]=T}else T=e[11];const M=T;let L;e[14]!==n?(L=rn(n),e[14]=n,e[15]=L):L=e[15];const A=L,H=u||p;let F,O;e[16]!==M||e[17]!==A||e[18]!==u||e[19]!==n||e[20]!==d||e[21]!==l?(F=()=>{if(u){const G=M[0];G&&l(G);return}O()},O=()=>{A?(v("connect"),f(!0)):d(n)},e[16]=M,e[17]=A,e[18]=u,e[19]=n,e[20]=d,e[21]=l,e[22]=F,e[23]=O):(F=e[22],O=e[23]);let z;e[24]!==n||e[25]!==d||e[26]!==g?(z=()=>{re("connections_community_warning_confirmed",{registry_item_id:n.id}),f(!1),g==="connect"&&d(n),v(null)},e[24]=n,e[25]=d,e[26]=g,e[27]=z):z=e[27];const q=z;let w;e[28]!==b||e[29]!==i||e[30]!==D?(w={title:D,description:b,icon:i},e[28]=b,e[29]=i,e[30]=D,e[31]=w):w=e[31];let Q;e[32]===Symbol.for("react.memo_cache_sentinel")?(Q=t.jsx(Ce,{}),e[32]=Q):Q=e[32];const y=H?F:void 0;let I;e[33]!==A||e[34]!==n._sourceIcon?(I=A&&n._sourceIcon&&t.jsx("img",{src:n._sourceIcon,alt:"Community",className:"size-4 rounded-sm object-contain"}),e[33]=A,e[34]=n._sourceIcon,e[35]=I):I=e[35];let E;e[36]!==p||e[37]!==o||e[38]!==O||e[39]!==u||e[40]!==n.id||e[41]!==a?(E=u?t.jsx("span",{className:"text-xs text-muted-foreground font-normal",children:a("orgs.catalogItemCard.connected")}):p&&t.jsx(X,{variant:"outline",size:"sm",className:"h-7 px-3 rounded-lg text-sm font-medium",disabled:o!==null,onClick:G=>{G.stopPropagation(),O()},children:o===n.id?t.jsx(xe,{className:"size-3.5"}):a("orgs.catalogItemCard.connect")}),e[36]=p,e[37]=o,e[38]=O,e[39]=u,e[40]=n.id,e[41]=a,e[42]=E):E=e[42];let W;e[43]!==I||e[44]!==E?(W=t.jsxs("div",{className:"flex items-center gap-2",children:[I,E]}),e[43]=I,e[44]=E,e[45]=W):W=e[45];let R;e[46]!==W||e[47]!==w||e[48]!==y?(R=t.jsx(_e,{connection:w,fallbackIcon:Q,onClick:y,headerActionsAlwaysVisible:!0,headerActions:W}),e[46]=W,e[47]=w,e[48]=y,e[49]=R):R=e[49];let C;e[50]!==a?(C=a("orgs.catalogItemCard.communityMcpServerTitle"),e[50]=a,e[51]=C):C=e[51];let $;e[52]!==C?($=t.jsx(Oe,{children:C}),e[52]=C,e[53]=$):$=e[53];let P;e[54]!==a?(P=a("orgs.catalogItemCard.communityMcpServerDescription"),e[54]=a,e[55]=P):P=e[55];let Z;e[56]!==P?(Z=t.jsx(Le,{children:P}),e[56]=P,e[57]=Z):Z=e[57];let ne;e[58]!==$||e[59]!==Z?(ne=t.jsxs($e,{children:[$,Z]}),e[58]=$,e[59]=Z,e[60]=ne):ne=e[60];let ee;e[61]!==a?(ee=a("orgs.catalogItemCard.cancel"),e[61]=a,e[62]=ee):ee=e[62];let m;e[63]!==ee?(m=t.jsx(Fe,{children:ee}),e[63]=ee,e[64]=m):m=e[64];let j;e[65]!==a?(j=a("orgs.catalogItemCard.continue"),e[65]=a,e[66]=j):j=e[66];let U;e[67]!==q||e[68]!==j?(U=t.jsx(Ue,{onClick:q,children:j}),e[67]=q,e[68]=j,e[69]=U):U=e[69];let B;e[70]!==m||e[71]!==U?(B=t.jsxs(Ve,{children:[m,U]}),e[70]=m,e[71]=U,e[72]=B):B=e[72];let V;e[73]!==ne||e[74]!==B?(V=t.jsxs(ze,{children:[ne,B]}),e[73]=ne,e[74]=B,e[75]=V):V=e[75];let J;e[76]!==N||e[77]!==V?(J=t.jsx(Ee,{open:N,onOpenChange:f,children:V}),e[76]=N,e[77]=V,e[78]=J):J=e[78];let te;return e[79]!==R||e[80]!==J?(te=t.jsxs(t.Fragment,{children:[R,J]}),e[79]=R,e[80]=J,e[81]=te):te=e[81],te}function dn(s){return s?.length?{appToolName:s.find(n=>!!Et(n._meta))?.name??null}:null}function et(s){const e=ae.c(8),{selectionMode:n,children:p}=s,r=n?"w-8 opacity-100":"w-0 opacity-0 group-hover:w-8 group-hover:opacity-100";let c;e[0]!==r?(c=ye("overflow-hidden transition-all duration-150 ease-out",r),e[0]=r,e[1]=c):c=e[1];let o;e[2]===Symbol.for("react.memo_cache_sentinel")?(o=t.jsx(Zt,{asChild:!0,children:t.jsx(X,{variant:"ghost",size:"sm",className:"h-8 w-8 p-0",onClick:mn,children:t.jsx(nn,{size:20})})}),e[2]=o):o=e[2];let l;e[3]!==p?(l=t.jsxs(en,{children:[o,t.jsx(tn,{align:"end",onClick:un,children:p})]}),e[3]=p,e[4]=l):l=e[4];let d;return e[5]!==c||e[6]!==l?(d=t.jsx("div",{className:c,children:l}),e[5]=c,e[6]=l,e[7]=d):d=e[7],d}function un(s){return s.stopPropagation()}function mn(s){return s.stopPropagation()}function gn(s){const e=ae.c(57),{group:n,onOpen:p,selectionMode:r,selectedIds:c,onToggleSelect:o}=s,l=de();let d;if(e[0]!==n.connections||e[1]!==c){let w;e[3]!==c?(w=Q=>c.has(Q.id),e[3]=c,e[4]=w):w=e[4],d=n.connections.every(w),e[0]=n.connections,e[1]=c,e[2]=d}else d=e[2];const a=d;let N;if(e[5]!==n.connections||e[6]!==c){let w;e[8]!==c?(w=Q=>c.has(Q.id),e[8]=c,e[9]=w):w=e[9],N=n.connections.some(w),e[5]=n.connections,e[6]=c,e[7]=N}else N=e[7];const f=N;let g;e[10]!==a||e[11]!==n.connections||e[12]!==o||e[13]!==c?(g=()=>{for(const w of n.connections)a?c.has(w.id)&&o(w.id):c.has(w.id)||o(w.id)},e[10]=a,e[11]=n.connections,e[12]=o,e[13]=c,e[14]=g):g=e[14];const v=g,h=n.title,_=n.icon;let u;e[15]!==n.connections.length||e[16]!==l?(u=l("orgs.connectionSelectionUi.instancesCount",{count:n.connections.length}),e[15]=n.connections.length,e[16]=l,e[17]=u):u=e[17];let S;e[18]!==n.icon||e[19]!==n.title||e[20]!==u?(S={title:h,icon:_,description:u},e[18]=n.icon,e[19]=n.title,e[20]=u,e[21]=S):S=e[21];let x;e[22]!==p||e[23]!==r||e[24]!==v?(x=()=>r?v():p(),e[22]=p,e[23]=r,e[24]=v,e[25]=x):x=e[25];const D=r&&a&&"ring-2 ring-primary",b=r&&f&&!a&&"ring-1 ring-primary/50";let k;e[26]!==b||e[27]!==D?(k=ye(D,b),e[26]=b,e[27]=D,e[28]=k):k=e[28];const i=r?a?!0:f&&"mixed":void 0;let T;e[29]===Symbol.for("react.memo_cache_sentinel")?(T=t.jsx(Ce,{}),e[29]=T):T=e[29];let M;e[30]!==a||e[31]!==n.connections.length||e[32]!==r||e[33]!==f||e[34]!==l||e[35]!==v?(M=r?t.jsx(Je,{checked:a?!0:f?"indeterminate":!1,onCheckedChange:v}):t.jsxs("div",{className:"flex items-center gap-1",children:[t.jsx("span",{className:"text-xs text-muted-foreground font-normal",children:l("orgs.connectionSelectionUi.connected")}),t.jsxs("span",{className:"text-xs text-muted-foreground font-normal tabular-nums",children:["x",n.connections.length]})]}),e[30]=a,e[31]=n.connections.length,e[32]=r,e[33]=f,e[34]=l,e[35]=v,e[36]=M):M=e[36];let L;e[37]!==p?(L=w=>{w.stopPropagation(),p()},e[37]=p,e[38]=L):L=e[38];let A;e[39]===Symbol.for("react.memo_cache_sentinel")?(A=t.jsx(Ye,{size:16}),e[39]=A):A=e[39];let H;e[40]!==l?(H=l("orgs.connectionSelectionUi.open"),e[40]=l,e[41]=H):H=e[41];let F;e[42]!==L||e[43]!==H?(F=t.jsxs(ge,{onClick:L,children:[A,H]}),e[42]=L,e[43]=H,e[44]=F):F=e[44];let O;e[45]!==r||e[46]!==F?(O=t.jsx(et,{selectionMode:r,children:F}),e[45]=r,e[46]=F,e[47]=O):O=e[47];let z;e[48]!==M||e[49]!==O?(z=t.jsxs("div",{className:"flex items-center gap-1",children:[M,O]}),e[48]=M,e[49]=O,e[50]=z):z=e[50];let q;return e[51]!==k||e[52]!==i||e[53]!==z||e[54]!==S||e[55]!==x?(q=t.jsx(t.Fragment,{children:t.jsx(_e,{connection:S,onClick:x,className:k,selected:i,fallbackIcon:T,headerActionsAlwaysVisible:!0,headerActions:z})}),e[51]=k,e[52]=i,e[53]=z,e[54]=S,e[55]=x,e[56]=q):q=e[56],q}function pn(s){const e=ae.c(36),{connection:n,isSelected:p,selectionMode:r,canManage:c,canManageAgents:o,onToggleSelect:l,onOpen:d,onToggleStatus:a,onDelete:N}=s,f=de();let g;e[0]!==p||e[1]!==l||e[2]!==r||e[3]!==f?(g=r?t.jsx(Je,{checked:p,onCheckedChange:l,onClick:fn}):t.jsx("span",{className:"text-xs text-muted-foreground font-normal",children:f("orgs.connectionSelectionUi.connected")}),e[0]=p,e[1]=l,e[2]=r,e[3]=f,e[4]=g):g=e[4];let v;e[5]!==d?(v=i=>{i.stopPropagation(),d()},e[5]=d,e[6]=v):v=e[6];let h;e[7]===Symbol.for("react.memo_cache_sentinel")?(h=t.jsx(Ye,{size:16}),e[7]=h):h=e[7];let _;e[8]!==f?(_=f("orgs.connectionSelectionUi.open"),e[8]=f,e[9]=_):_=e[9];let u;e[10]!==v||e[11]!==_?(u=t.jsxs(ge,{onClick:v,children:[h,_]}),e[10]=v,e[11]=_,e[12]=u):u=e[12];let S;e[13]!==c||e[14]!==o||e[15]!==l||e[16]!==f?(S=(c||o)&&t.jsxs(ge,{onClick:i=>{i.stopPropagation(),l()},children:[t.jsx(Bt,{size:16}),f("orgs.connectionSelectionUi.select")]}),e[13]=c,e[14]=o,e[15]=l,e[16]=f,e[17]=S):S=e[17];let x;e[18]!==c||e[19]!==n||e[20]!==a||e[21]!==f?(x=c&&(n.status==="active"?t.jsxs(ge,{onClick:i=>{i.stopPropagation(),a("inactive")},children:[t.jsx(Kt,{size:16}),f("orgs.connectionSelectionUi.disable")]}):t.jsxs(ge,{onClick:i=>{i.stopPropagation(),a("active")},children:[t.jsx(Ht,{size:16}),f("orgs.connectionSelectionUi.enable")]})),e[18]=c,e[19]=n,e[20]=a,e[21]=f,e[22]=x):x=e[22];let D;e[23]!==c||e[24]!==N||e[25]!==f?(D=c&&t.jsxs(ge,{variant:"destructive",onClick:i=>{i.stopPropagation(),N()},children:[t.jsx(Ze,{size:16}),f("orgs.connectionSelectionUi.delete")]}),e[23]=c,e[24]=N,e[25]=f,e[26]=D):D=e[26];let b;e[27]!==r||e[28]!==u||e[29]!==S||e[30]!==x||e[31]!==D?(b=t.jsxs(et,{selectionMode:r,children:[u,S,x,D]}),e[27]=r,e[28]=u,e[29]=S,e[30]=x,e[31]=D,e[32]=b):b=e[32];let k;return e[33]!==g||e[34]!==b?(k=t.jsxs("div",{className:"flex items-center gap-1",children:[g,b]}),e[33]=g,e[34]=b,e[35]=k):k=e[35],k}function fn(s){return s.stopPropagation()}function hn(s){const e=ae.c(29),{count:n,total:p,canManage:r,canManageAgents:c,onSelectAll:o,onDeselectAll:l,onDelete:d,onAddToAgent:a,onToggleStatus:N,onCancel:f}=s,g=de();if(n===0)return null;let v;e[0]!==n||e[1]!==g?(v=g("orgs.connectionSelectionUi.selectedCount",{count:n}),e[0]=n,e[1]=g,e[2]=v):v=e[2];let h;e[3]!==v?(h=t.jsx("div",{className:"text-xs text-muted-foreground pr-1 tabular-nums",children:v}),e[3]=v,e[4]=h):h=e[4];let _;e[5]!==n||e[6]!==l||e[7]!==o||e[8]!==g||e[9]!==p?(_=n<p?t.jsx(X,{variant:"outline",size:"sm",className:"h-7 text-xs px-2",onClick:o,children:g("orgs.connectionSelectionUi.selectAll",{total:p})}):t.jsx(X,{variant:"outline",size:"sm",className:"h-7 text-xs px-2",onClick:l,children:g("orgs.connectionSelectionUi.clearSelection")}),e[5]=n,e[6]=l,e[7]=o,e[8]=g,e[9]=p,e[10]=_):_=e[10];let u;e[11]!==c||e[12]!==a||e[13]!==g?(u=c&&t.jsxs(X,{variant:"outline",size:"sm",className:"h-7 text-xs px-2",onClick:a,children:[t.jsx(qe,{size:13}),g("orgs.connectionSelectionUi.addToAgent")]}),e[11]=c,e[12]=a,e[13]=g,e[14]=u):u=e[14];let S;e[15]!==r||e[16]!==d||e[17]!==N||e[18]!==g?(S=r&&t.jsxs(t.Fragment,{children:[t.jsx(X,{variant:"outline",size:"sm",className:"h-7 text-xs px-2",onClick:()=>N("active"),children:g("orgs.connectionSelectionUi.enable")}),t.jsx(X,{variant:"outline",size:"sm",className:"h-7 text-xs px-2",onClick:()=>N("inactive"),children:g("orgs.connectionSelectionUi.disable")}),t.jsxs(X,{variant:"destructive",size:"sm",className:"h-7 text-xs px-2",onClick:d,children:[t.jsx(Ze,{size:13}),g("orgs.connectionSelectionUi.delete")]})]}),e[15]=r,e[16]=d,e[17]=N,e[18]=g,e[19]=S):S=e[19];let x;e[20]===Symbol.for("react.memo_cache_sentinel")?(x=t.jsx(Qe,{size:13}),e[20]=x):x=e[20];let D;e[21]!==f?(D=t.jsx(X,{variant:"ghost",size:"sm",className:"h-7 text-xs px-2",onClick:f,children:x}),e[21]=f,e[22]=D):D=e[22];let b;return e[23]!==h||e[24]!==_||e[25]!==u||e[26]!==S||e[27]!==D?(b=t.jsx("div",{className:"fixed bottom-4 left-1/2 z-50 -translate-x-1/2",children:t.jsxs("div",{className:"rounded-xl border border-border bg-background/95 shadow-lg backdrop-blur px-3 py-2 flex items-center gap-2",children:[h,_,u,S,D]})}),e[23]=h,e[24]=_,e[25]=u,e[26]=S,e[27]=D,e[28]=b):b=e[28],b}function xn(s){const e=ae.c(45),{open:n,onOpenChange:p,agents:r,onConfirm:c}=s,o=de(),[l,d]=K.useState(null);let a;e[0]!==o?(a=o("orgs.connectionSelectionUi.addToAgentTitle"),e[0]=o,e[1]=a):a=e[1];let N;e[2]!==a?(N=t.jsx(Be,{children:a}),e[2]=a,e[3]=N):N=e[3];let f;e[4]!==o?(f=o("orgs.connectionSelectionUi.addToAgentDescription"),e[4]=o,e[5]=f):f=e[5];let g;e[6]!==f?(g=t.jsx(Ke,{children:f}),e[6]=f,e[7]=g):g=e[7];let v;e[8]!==N||e[9]!==g?(v=t.jsxs(He,{children:[N,g]}),e[8]=N,e[9]=g,e[10]=v):v=e[10];let h;e[11]!==r||e[12]!==l||e[13]!==o?(h=r.length===0?t.jsx("p",{className:"text-sm text-muted-foreground text-center py-4",children:o("orgs.connectionSelectionUi.noAgentsFound")}):r.map(A=>t.jsxs("button",{type:"button",onClick:()=>d(A.id),className:ye("flex items-center gap-3 w-full rounded-md px-3 py-2 text-left transition-colors",l===A.id?"bg-primary/10 ring-1 ring-primary":"hover:bg-muted/50"),children:[t.jsx(Yt,{icon:A.icon,name:A.title,size:"sm",className:"shrink-0"}),t.jsxs("div",{className:"flex-1 min-w-0",children:[t.jsx("p",{className:"text-sm font-medium truncate",children:A.title}),A.description&&t.jsx("p",{className:"text-xs text-muted-foreground truncate",children:A.description})]})]},A.id)),e[11]=r,e[12]=l,e[13]=o,e[14]=h):h=e[14];let _;e[15]!==h?(_=t.jsx("div",{className:"max-h-60 overflow-auto py-2 space-y-1",children:h}),e[15]=h,e[16]=_):_=e[16];let u;e[17]!==p?(u=()=>p(!1),e[17]=p,e[18]=u):u=e[18];let S;e[19]!==o?(S=o("orgs.connectionSelectionUi.cancel"),e[19]=o,e[20]=S):S=e[20];let x;e[21]!==u||e[22]!==S?(x=t.jsx(X,{variant:"outline",onClick:u,children:S}),e[21]=u,e[22]=S,e[23]=x):x=e[23];const D=!l;let b;e[24]!==c||e[25]!==p||e[26]!==l?(b=()=>{l&&(c(l),p(!1),d(null))},e[24]=c,e[25]=p,e[26]=l,e[27]=b):b=e[27];let k;e[28]!==o?(k=o("orgs.connectionSelectionUi.add"),e[28]=o,e[29]=k):k=e[29];let i;e[30]!==D||e[31]!==b||e[32]!==k?(i=t.jsx(X,{disabled:D,onClick:b,children:k}),e[30]=D,e[31]=b,e[32]=k,e[33]=i):i=e[33];let T;e[34]!==x||e[35]!==i?(T=t.jsxs(Re,{children:[x,i]}),e[34]=x,e[35]=i,e[36]=T):T=e[36];let M;e[37]!==T||e[38]!==v||e[39]!==_?(M=t.jsxs(We,{className:"sm:max-w-[400px]",children:[v,_,T]}),e[37]=T,e[38]=v,e[39]=_,e[40]=M):M=e[40];let L;return e[41]!==p||e[42]!==n||e[43]!==M?(L=t.jsx(Xe,{open:n,onOpenChange:p,children:M}),e[41]=p,e[42]=n,e[43]=M,e[44]=L):L=e[44],L}function jn({listState:s,activeTab:e,typeFilter:n,statusFilter:p,registryFilter:r,enabledRegistries:c}){const o=de(),{org:l}=Ae(),d=at(),a=Ie(),{data:N}=we.useSession(),f=Ge(),g=Ut(s),v=Ct(),{granted:h}=be("connections:manage"),{granted:_}=be("agents:manage"),[u,S]=K.useState(new Set),x=u.size>0,[D,b]=K.useState(!1),[k,i]=K.useState(!1),[T,M]=K.useState(null),L=zt(),A=g.filter(m=>!(n!=="ALL"&&m.connection_type!==n||p!=="ALL"&&m.status!==p)),H=St(A),F=m=>{S(j=>{const U=new Set(j);return U.has(m)?U.delete(m):U.add(m),U})},O=()=>{S(new Set)},z=Me(c,s.searchTerm),q=z.items,w=bt(z.loadMore,z.hasMore,z.isLoadingMore),Q=new Set(g.filter(m=>m.app_name).map(m=>m.app_name)),y=r==="ALL"||c.some(m=>m.id===r)?r:"ALL",I=s.search.length>0,E=e==="all"||I?q.filter(m=>{if(y!=="ALL"&&m._registryId!==y)return!1;if(I){const j=Pe(m);if(j&&Q.has(j))return!1}return!0}):[],W=e==="connected"||I?H:[],R=async m=>{if(!(!l||!N?.user?.id)){re("connection_add_clicked",{action:"connect_new",registry_item_id:m.id,source:"connections_page"}),M(m.id);try{const j=pt(m,l.id,N.user.id,{remoteIndex:0}),U=j.connection_type==="STDIO",B=!!j.connection_url,V=U&&j.connection_headers&&typeof j.connection_headers=="object"&&"command"in j.connection_headers;if(!B&&!V){Y.error(o("orgs.connections.cannotConnectNoMethod")),M(null);return}const J=await f.create.mutateAsync(j),{id:te}=J,G=await Jt({connectionId:te,orgId:l.id,orgSlug:l.slug,persistFallback:pe=>f.update.mutateAsync({id:te,data:{connection_token:pe}}).then(()=>{})});if(G.ran&&!G.ok){re("connection_oauth_failed",{connection_id:te,flow:"connections_page_connect",error:G.error??"no_token"}),Y.error(o("orgs.connections.authenticationFailed",{error:G.error??"no token received"}));return}if(G.ran){re("connection_oauth_succeeded",{connection_id:te,flow:"connections_page_connect"});const pe=new URL(`/api/${l.slug}/mcp/${te}`,window.location.origin);await d.invalidateQueries({queryKey:ut.isMCPAuthenticated(pe.href,null)}),$(),Y.success(o("orgs.connections.authenticationSuccessful"))}let ue=null;try{const pe=await d.fetchQuery(Vt({connectionId:te,orgId:l.id,orgSlug:l.slug}));ue=dn((await pe.listTools()).tools)}catch{}const De=he(J),Ne=ue?ue.appToolName?{to:"/$org/settings/connections/$appSlug/$collectionName/$itemId",params:{org:l.slug,appSlug:De,collectionName:"tools",itemId:encodeURIComponent(ue.appToolName)}}:{to:"/$org/settings/connections/$appSlug",params:{org:l.slug,appSlug:De}}:null;Y.success(o("orgs.connections.connectedSuccessfully"),Ne?{action:{label:o("orgs.connections.openConnection"),onClick:()=>a(Ne)}}:void 0)}catch(j){Y.error(o("orgs.connections.failedToConnect",{error:j instanceof Error?j.message:String(j)}))}finally{M(null)}}},C=dt(),$=()=>{d.invalidateQueries({predicate:m=>{const j=m.queryKey;return j[1]===l.id&&j[3]==="collection"&&j[4]==="CONNECTIONS"}})},P=async()=>{b(!1);const m=[...u];re("connections_bulk_delete",{count:m.length});const U=(await Promise.allSettled(m.map(B=>C.call("COLLECTION_CONNECTIONS_DELETE",{id:B,force:!0})))).filter(B=>B.status==="fulfilled").length;$(),Y.success(o("orgs.connections.deletedConnections",{count:U})),O()},Z=async(m,j)=>{try{await f.update.mutateAsync({id:m,data:{status:j}}),$(),Y.success(o(j==="active"?"orgs.connections.connectionEnabled":"orgs.connections.connectionDisabled"))}catch{Y.error(o("orgs.connections.failedToUpdateConnection"))}},ne=async m=>{const j=[...u];re("connections_bulk_status_toggled",{count:j.length,to_status:m});const B=(await Promise.allSettled(j.map(V=>f.update.mutateAsync({id:V,data:{status:m}})))).filter(V=>V.status==="fulfilled").length;$(),Y.success(m==="active"?o("orgs.connections.enabledConnections",{count:B}):o("orgs.connections.disabledConnections",{count:B})),O()},ee=async m=>{const j=L.find(V=>V.id===m);if(!j)return;re("connections_bulk_add_to_agent",{agent_id:m,count:u.size});const U=new Set(j.connections.map(V=>V.connection_id)),B=[...u].filter(V=>!U.has(V)).map(V=>({connection_id:V,selected_tools:null,selected_resources:null,selected_prompts:null}));if(B.length===0){Y.info(o("orgs.connections.allConnectionsAlreadyInAgent"));return}try{await C.call("COLLECTION_VIRTUAL_MCP_UPDATE",{id:m,data:{connections:[...j.connections,...B]}}),d.invalidateQueries({predicate:V=>{const J=V.queryKey;return J[1]===l.id&&J[3]==="collection"&&J[4]==="VIRTUAL_MCP"}}),Y.success(o("orgs.connections.addedConnectionsToAgent",{count:B.length,agentTitle:j.title})),O()}catch{Y.error(o("orgs.connections.failedToAddConnectionsToAgent"))}};return t.jsxs(t.Fragment,{children:[t.jsx(vt,{...v}),t.jsx(ln,{open:D,onOpenChange:b,count:u.size,onConfirm:P}),t.jsx(xn,{open:k,onOpenChange:i,agents:L,onConfirm:ee}),z.isInitialLoading&&e==="all"?t.jsx("div",{className:"flex h-full items-center justify-center",children:t.jsx(xe,{className:"size-8 text-muted-foreground"})}):t.jsx("div",{children:(I?E.length===0&&A.length===0:e==="all"?E.length===0:A.length===0)?t.jsx(yt,{image:t.jsx("img",{src:"/emptystate-mcp.svg",alt:"",width:336,height:320,"aria-hidden":"true"}),title:o("orgs.connections.noConnectionsFound"),description:s.search?o("orgs.connections.noConnectionsMatchSearch",{search:s.search}):o(h?"orgs.connections.createConnectionToGetStarted":"orgs.connections.askAdminToAddConnection")}):t.jsxs("div",{className:"grid grid-cols-[repeat(auto-fill,minmax(280px,1fr))] gap-4",children:[W.map(m=>{if(m.type==="group")return t.jsx(gn,{group:m,onOpen:()=>{a({to:"/$org/settings/connections/$appSlug",params:{org:l.slug,appSlug:m.key}})},selectionMode:x,selectedIds:u,onToggleSelect:F},m.key);const j=m.connection,U=u.has(j.id);return t.jsx(_e,{connection:j,fallbackIcon:t.jsx(Ce,{}),onClick:()=>x?F(j.id):a({to:"/$org/settings/connections/$appSlug",params:{org:l.slug,appSlug:he(j)}}),className:ye(U&&"ring-2 ring-primary bg-primary/5"),selected:x?U:void 0,headerActionsAlwaysVisible:!0,headerActions:t.jsx(pn,{connection:j,isSelected:U,selectionMode:x,canManage:h,canManageAgents:_,onToggleSelect:()=>F(j.id),onOpen:()=>a({to:"/$org/settings/connections/$appSlug",params:{org:l.slug,appSlug:he(j)}}),onToggleStatus:B=>Z(j.id,B),onDelete:()=>v.requestDelete(j)})},j.id)}),E.map(m=>t.jsx(an,{item:m,canManage:h,allConnections:g,connectedAppNames:Q,connectingItemId:T,onNavigateConnected:j=>a({to:"/$org/settings/connections/$appSlug",params:{org:l.slug,appSlug:he(j)}}),onConnect:R},`catalog-${m._registryId}:${m.id}`)),(e==="all"||I)&&c.length>0&&t.jsx("div",{ref:w,className:"col-span-full h-4"}),(e==="all"||I)&&z.isLoadingMore&&t.jsx("div",{className:"col-span-full flex justify-center py-6",children:t.jsx(xe,{className:"size-6 text-muted-foreground"})})]})}),x&&t.jsx(hn,{count:u.size,total:A.length,canManage:h,canManageAgents:_,onSelectAll:()=>{S(new Set(A.map(m=>m.id)))},onDeselectAll:()=>S(new Set),onDelete:()=>b(!0),onAddToAgent:()=>i(!0),onToggleStatus:ne,onCancel:O})]})}function Sn(){const s=de(),{org:e}=Ae(),n=Ie(),p=nt({strict:!1}),{data:r}=we.useSession(),{stdioEnabled:c}=st(),o=ot(),{granted:l}=be("connections:manage"),d=cn({namespace:e.slug,resource:"connections"}),a=Ge(),[N,f]=it(ct.connectionsTab(e.slug),y=>p.tab==="all"||p.tab==="connected"?p.tab:y??"all"),[g,v]=K.useState("ALL"),[h,_]=K.useState("ALL"),[u,S]=K.useState("ALL"),x=jt(),b=Me(x,d.searchTerm).items,k=d.search!==d.searchTerm,i=lt({resolver:rt(Xt),defaultValues:{title:"",description:null,icon:null,ui_type:"HTTP",connection_url:"",connection_token:null,npx_package:"",stdio_command:"",stdio_args:"",stdio_cwd:"",env_vars:[]}}),T=i.watch("ui_type"),M=i.watch("connection_url"),L=i.watch("npx_package"),A=Se({uiType:T,connectionUrl:M??"",npxPackage:L??""})??Te({uiType:T,connectionUrl:M??"",registryItems:b}),H=l&&p.action==="create",F=()=>{re("connections_custom_dialog_opened",{source:"connections_page"}),n({to:"/$org/settings/connections",params:{org:e.slug},search:{action:"create"}})},O=()=>{n({to:"/$org/settings/connections",params:{org:e.slug},search:{}})},z=async y=>{let I,E=null,W=null,R=null;y.ui_type==="NPX"?(I="STDIO",E="",R=qt(y.npx_package||"",y.env_vars||[])):y.ui_type==="STDIO"?(I="STDIO",E="",R=Qt(y.stdio_command||"",y.stdio_args||"",y.stdio_cwd,y.env_vars||[])):(I=y.ui_type,E=y.connection_url||"",W=y.connection_token||null);const C=gt("conn");re("connection_custom_created",{connection_type:I,ui_type:y.ui_type}),await a.create.mutateAsync({id:C,title:y.title,description:y.description||null,connection_type:I,connection_url:E,connection_token:W,created_at:new Date().toISOString(),updated_at:new Date().toISOString(),created_by:r?.user?.id||"system",organization_id:e.id,icon:y.icon??null,app_name:null,app_id:null,connection_headers:R,oauth_config:null,configuration_state:null,metadata:null,tools:null,bindings:null,status:"inactive"}),O(),i.reset(),n({to:"/$org/settings/connections/$appSlug",params:{org:e.slug,appSlug:he({app_name:null,connection_url:E,title:y.title,id:C})}})},q=y=>{y||(H&&O(),i.reset())},w=y=>{const I=y.trim();if(!I)return;const E=!!i.formState.dirtyFields.title,W=!!i.formState.dirtyFields.description,R=!!i.formState.dirtyFields.env_vars,C=P=>{if(P&&(!E&&!i.getValues("title").trim()&&P.title&&i.setValue("title",P.title,{shouldDirty:!1}),!W&&!(i.getValues("description")??"").trim()&&P.description&&i.setValue("description",P.description,{shouldDirty:!1}),!R&&P.envVarKeys?.length)){const Z=i.getValues("env_vars")??[],ne=new Set(Z.map(m=>m.key)),ee=P.envVarKeys.filter(m=>!ne.has(m));ee.length>0&&i.setValue("env_vars",[...Z,...ee.map(m=>({key:m,value:""}))],{shouldDirty:!0})}},$=Gt(I);if($&&c){i.setValue("ui_type","NPX",{shouldDirty:!0}),i.setValue("npx_package",$.packageName,{shouldDirty:!0}),i.setValue("connection_url","",{shouldDirty:!0}),i.setValue("connection_token",null,{shouldDirty:!0}),C(Se({uiType:"NPX",npxPackage:$.packageName}));return}if(I.startsWith("http://")||I.startsWith("https://")){const P=T==="HTTP"||T==="SSE"||T==="Websocket"?T:"HTTP";i.setValue("ui_type",P,{shouldDirty:!0}),i.setValue("connection_url",I,{shouldDirty:!0}),C(Se({uiType:P,connectionUrl:I})??Te({uiType:P,connectionUrl:I,registryItems:b}));return}T==="NPX"&&C(Se({uiType:"NPX",npxPackage:I}))},Q=l?t.jsx("div",{className:"flex items-center gap-2",children:t.jsxs(X,{variant:"outline",onClick:F,children:[t.jsx(qe,{size:14,className:"sm:hidden"}),t.jsx("span",{className:"hidden sm:inline",children:s("orgs.connections.customConnection")})]})}):null;return t.jsx(t.Fragment,{children:t.jsxs(je,{children:[(()=>{const y=s("orgs.connections.createConnection"),I=s("orgs.connections.createConnectionDescription"),E=i.formState.isSubmitting?s("orgs.connections.saving"):s("orgs.connections.createConnection"),W=t.jsxs("div",{className:"grid gap-4",children:[t.jsx(se,{control:i.control,name:"ui_type",render:({field:C})=>t.jsxs(oe,{children:[t.jsx(ie,{children:s("orgs.connections.type")}),t.jsxs(Mt,{value:C.value,onValueChange:C.onChange,children:[t.jsx(ce,{children:t.jsx(Ot,{children:t.jsx(Lt,{})})}),t.jsxs($t,{children:[t.jsx(fe,{value:"HTTP",children:t.jsxs("span",{className:"flex items-center gap-2",children:[t.jsx(ve,{className:"w-4 h-4"}),"HTTP"]})}),t.jsx(fe,{value:"SSE",children:t.jsxs("span",{className:"flex items-center gap-2",children:[t.jsx(ve,{className:"w-4 h-4"}),"SSE"]})}),t.jsx(fe,{value:"Websocket",children:t.jsxs("span",{className:"flex items-center gap-2",children:[t.jsx(ve,{className:"w-4 h-4"}),"Websocket"]})}),c&&t.jsxs(t.Fragment,{children:[t.jsx(fe,{value:"NPX",children:t.jsxs("span",{className:"flex items-center gap-2",children:[t.jsx(Ce,{className:"w-4 h-4"}),s("orgs.connections.npxPackage")]})}),t.jsx(fe,{value:"STDIO",children:t.jsxs("span",{className:"flex items-center gap-2",children:[t.jsx(Rt,{className:"w-4 h-4"}),s("orgs.connections.customCommand")]})})]})]})]}),t.jsx(le,{})]})}),T==="NPX"&&t.jsx(se,{control:i.control,name:"npx_package",render:({field:C})=>t.jsxs(oe,{children:[t.jsx(ie,{children:s("orgs.connections.npmPackage")}),t.jsx(ce,{children:t.jsx(me,{placeholder:s("orgs.connections.npmPackagePlaceholder"),...C,value:C.value??"",onPaste:$=>{const P=$.clipboardData.getData("text");P&&($.preventDefault(),i.setValue("npx_package",P.trim(),{shouldDirty:!0}),w(P))},onBlur:$=>{w($.target.value),C.onBlur()}})}),t.jsx(le,{})]})}),T==="STDIO"&&t.jsxs(t.Fragment,{children:[t.jsxs("div",{className:"grid grid-cols-2 gap-4 items-start",children:[t.jsx(se,{control:i.control,name:"stdio_command",render:({field:C})=>t.jsxs(oe,{children:[t.jsx(ie,{children:s("orgs.connections.command")}),t.jsx(ce,{children:t.jsx(me,{placeholder:s("orgs.connections.commandPlaceholder"),...C,value:C.value??""})}),t.jsx(le,{})]})}),t.jsx(se,{control:i.control,name:"stdio_args",render:({field:C})=>t.jsxs(oe,{children:[t.jsx(ie,{children:s("orgs.connections.arguments")}),t.jsx(ce,{children:t.jsx(me,{placeholder:s("orgs.connections.argumentsPlaceholder"),...C,value:C.value??""})}),t.jsx(le,{})]})})]}),t.jsx(se,{control:i.control,name:"stdio_cwd",render:({field:C})=>t.jsxs(oe,{children:[t.jsx(ie,{children:s("orgs.connections.workingDirectory")}),t.jsx(ce,{children:t.jsx(me,{placeholder:s("orgs.connections.workingDirectoryPlaceholder"),...C,value:C.value??""})}),t.jsx("p",{className:"text-xs text-muted-foreground",children:s("orgs.connections.directoryExecutionNote")}),t.jsx(le,{})]})})]}),(T==="NPX"||T==="STDIO")&&t.jsx(se,{control:i.control,name:"env_vars",render:({field:C})=>t.jsxs(oe,{children:[t.jsx(ie,{children:s("orgs.connections.environmentVariables")}),t.jsx(ce,{children:t.jsx(Wt,{value:C.value??[],onChange:C.onChange})}),t.jsx(le,{})]})}),T!=="NPX"&&T!=="STDIO"&&t.jsxs(t.Fragment,{children:[t.jsx(se,{control:i.control,name:"connection_url",render:({field:C})=>t.jsxs(oe,{children:[t.jsx(ie,{children:s("orgs.connections.url")}),t.jsx(ce,{children:t.jsx(me,{placeholder:s("orgs.connections.urlPlaceholder"),...C,value:C.value??"",onPaste:$=>{const P=$.clipboardData.getData("text");P&&($.preventDefault(),i.setValue("connection_url",P.trim(),{shouldDirty:!0}),w(P))},onBlur:$=>{w($.target.value),C.onBlur()}})}),t.jsx(le,{})]})}),t.jsx(se,{control:i.control,name:"connection_token",render:({field:C})=>t.jsxs(oe,{children:[t.jsx(ie,{children:A?.token?.label??s("orgs.connections.tokenOptional")}),t.jsx(ce,{children:t.jsx(me,{type:"password",placeholder:A?.token?.placeholder??s("orgs.connections.tokenPlaceholder"),...C,value:C.value??""})}),A?.token?.helperText&&t.jsxs("p",{className:"text-xs text-muted-foreground",children:[A.token.helperText,A.id==="github"&&t.jsxs(t.Fragment,{children:[" ","·"," ",t.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:s("orgs.connections.openGitHubPatSettings")})]})]}),t.jsx(le,{})]})})]}),t.jsx(se,{control:i.control,name:"title",render:({field:C})=>t.jsxs(oe,{children:[t.jsx(ie,{children:s("orgs.connections.name")}),t.jsx(ce,{children:t.jsx(me,{placeholder:s("orgs.connections.namePlaceholder"),...C})}),t.jsx(le,{})]})}),t.jsx(se,{control:i.control,name:"description",render:({field:C})=>t.jsxs(oe,{children:[t.jsx(ie,{children:s("orgs.connections.description")}),t.jsx(ce,{children:t.jsx(Ft,{placeholder:s("orgs.connections.descriptionPlaceholder"),rows:3,...C,value:C.value??""})}),t.jsx(le,{})]})})]}),R=H;return o?t.jsx(Nt,{open:R,onOpenChange:q,children:t.jsxs(kt,{className:"max-h-[90vh]",children:[t.jsx(Tt,{className:"pb-2",children:t.jsxs("div",{className:"flex items-start justify-between gap-4",children:[t.jsxs("div",{className:"flex-1 text-left",children:[t.jsx(At,{children:y}),t.jsx(It,{className:"mt-1",children:I})]}),t.jsx(wt,{asChild:!0,children:t.jsx(X,{variant:"ghost",size:"icon",className:"shrink-0 -mt-1","aria-label":s("orgs.connections.close"),children:t.jsx(Qe,{size:16})})})]})}),t.jsx(ke,{...i,children:t.jsxs("form",{onSubmit:i.handleSubmit(z),children:[t.jsx("div",{className:"overflow-y-auto px-4 pb-4",children:W}),t.jsx(Pt,{children:t.jsx(X,{type:"submit",disabled:i.formState.isSubmitting,className:"w-full",children:E})})]})})]})}):t.jsx(Xe,{open:R,onOpenChange:q,children:t.jsxs(We,{className:"sm:max-w-[525px]",children:[t.jsxs(He,{children:[t.jsx(Be,{children:y}),t.jsx(Ke,{children:I})]}),t.jsx(ke,{...i,children:t.jsxs("form",{onSubmit:i.handleSubmit(z),children:[t.jsx("div",{className:"py-4",children:W}),t.jsxs(Re,{children:[t.jsx(X,{type:"button",variant:"outline",onClick:()=>q(!1),children:s("orgs.connections.cancel")}),t.jsx(X,{type:"submit",disabled:i.formState.isSubmitting,className:"min-w-40",children:E})]})]})})]})})})(),t.jsx(je.Content,{children:t.jsx(je.Body,{children:t.jsxs("div",{className:"flex flex-col gap-6",children:[t.jsx(je.Title,{children:s("orgs.connections.pageTitle")}),t.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx(ht,{value:d.search,onChange:d.setSearch,placeholder:s("orgs.connections.searchPlaceholder"),className:"w-full md:w-[375px]",onKeyDown:y=>{y.key==="Escape"&&(d.setSearch(""),y.target.blur())}}),t.jsx(ft,{sortKey:d.sortKey,sortDirection:d.sortDirection,onSort:d.handleSort,sortOptions:[{id:"title",label:s("orgs.connections.sortName")},{id:"description",label:s("orgs.connections.sortDescription")},{id:"connection_type",label:s("orgs.connections.sortType")},{id:"updated_by",label:s("orgs.connections.sortUpdatedBy")},{id:"updated_at",label:s("orgs.connections.sortUpdated")}],filters:[{label:s("orgs.connections.filterType"),value:g,onChange:y=>v(y||"ALL"),options:[{id:"ALL",label:s("orgs.connections.filterAll")},{id:"HTTP",label:"HTTP"},{id:"SSE",label:"SSE"},{id:"Websocket",label:"WebSocket"},{id:"STDIO",label:"STDIO"}]},{label:s("orgs.connections.filterStatus"),value:h,onChange:y=>_(y||"ALL"),options:[{id:"ALL",label:s("orgs.connections.filterAll")},{id:"active",label:s("orgs.connections.filterActive")},{id:"inactive",label:s("orgs.connections.filterInactive")},{id:"error",label:s("orgs.connections.filterError")}]},...x.length>1?[{label:s("orgs.connections.filterRegistry"),value:u,onChange:y=>S(y||"ALL"),options:[{id:"ALL",label:s("orgs.connections.filterAllRegistries")},...x.map(y=>({id:y.id,label:y.id.includes("community-registry")?s("orgs.connections.communityMcpRegistry"):y.title}))]}]:[]]})]}),Q]}),t.jsx(xt,{tabs:[{id:"all",label:s("orgs.connections.tabAll")},{id:"connected",label:s("orgs.connections.tabConnected")}],activeTab:N,onTabChange:y=>{const I=y;I!==N&&re("connections_page_tab_changed",{to_tab:I}),f(I)}}),t.jsx(K.Suspense,{fallback:t.jsx("div",{className:"flex h-full items-center justify-center",children:t.jsx(xe,{className:"size-8 text-muted-foreground"})}),children:t.jsx("div",{style:{opacity:k?.5:1,transition:k?"opacity 0.2s 0.2s linear":"opacity 0s 0s linear",pointerEvents:k?"none":"auto"},children:t.jsx(jn,{listState:d,activeTab:N,typeFilter:g,statusFilter:h,registryFilter:u,enabledRegistries:x})})})]})})})]})})}function so(){const s=ae.c(1);let e;return s[0]===Symbol.for("react.memo_cache_sentinel")?(e=t.jsx(tt,{children:t.jsx(K.Suspense,{fallback:t.jsx("div",{className:"flex h-full items-center justify-center",children:t.jsx(xe,{className:"size-8 text-muted-foreground"})}),children:t.jsx(Sn,{})})}),s[0]=e):e=s[0],e}export{so as default};
@@ -1 +1 @@
1
- import{ae as V,ag as k,c as G,b as H,ar as P,aq as J,e as K,j as i,h as Q,a as U,B as W}from"./index-CsUNCFTt.js";import{c as X,d as Y,b as Z,f as ee,e as te,a as ae,A as ie}from"./alert-dialog-CLnCQjTe.js";import{d as re,F as oe,a as ne,e as se,b as le,f as ce,c as me}from"./form-COufQX0n.js";import{I as ge}from"./input-CCjvC2WC.js";function q(_){return _.toLowerCase().trim().replace(/[^a-z0-9\s_-]+/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}const fe=V({name:k().min(2,"Organization name is required")});function he(_){const e=G.c(68),{open:L,onOpenChange:M,onCreated:A}=_,t=H();let v;e[0]===Symbol.for("react.memo_cache_sentinel")?(v={resolver:P(fe),defaultValues:{name:""}},e[0]=v):v=e[0];const a=J(v);let s;e[1]!==t?(s=async n=>{const o=q(n.name);if(!o)throw new Error(t("common.createOrganizationDialog.invalidSlug"));const I=await U.organization.create({name:n.name,slug:o});if(I?.error)throw new Error(I.error.message||t("common.createOrganizationDialog.failedToCreate"));const $=I?.data?.slug??o;if(!$)throw new Error(t("common.createOrganizationDialog.failedToCreate"));return{orgSlug:$}},e[1]=t,e[2]=s):s=e[2];let l;e[3]!==A?(l=n=>{const{orgSlug:o}=n;if(A){A(o);return}window.location.href=`/${o}`},e[3]=A,e[4]=l):l=e[4];let y;e[5]!==s||e[6]!==l?(y={mutationFn:s,onSuccess:l},e[5]=s,e[6]=l,e[7]=y):y=e[7];const r=K(y);let E;e[8]!==r.error||e[9]!==t?(E=r.error instanceof Error?r.error.message:r.error?t("common.createOrganizationDialog.failedToCreateGeneric"):null,e[8]=r.error,e[9]=t,e[10]=E):E=e[10];const T=E;let c;e[11]!==t?(c=t("common.createOrganizationDialog.title"),e[11]=t,e[12]=c):c=e[12];let m;e[13]!==c?(m=i.jsx(X,{children:c}),e[13]=c,e[14]=m):m=e[14];let g;e[15]!==t?(g=t("common.createOrganizationDialog.description"),e[15]=t,e[16]=g):g=e[16];let f;e[17]!==g?(f=i.jsx(Y,{children:g}),e[17]=g,e[18]=f):f=e[18];let u;e[19]!==m||e[20]!==f?(u=i.jsxs(Z,{children:[m,f]}),e[19]=m,e[20]=f,e[21]=u):u=e[21];let d;if(e[22]!==r||e[23]!==a){let n;e[25]!==r?(n=o=>r.mutateAsync(o),e[25]=r,e[26]=n):n=e[26],d=a.handleSubmit(n),e[22]=r,e[23]=a,e[24]=d}else d=e[24];let x;e[27]!==a.formState.isSubmitting||e[28]!==t?(x=n=>{const{field:o}=n;return i.jsxs(ne,{children:[i.jsx(se,{children:t("common.createOrganizationDialog.nameLabel")}),i.jsx(le,{children:i.jsx(ge,{...o,placeholder:t("common.createOrganizationDialog.namePlaceholder"),disabled:a.formState.isSubmitting})}),i.jsx(ce,{children:t("common.createOrganizationDialog.nameDescription")}),o.value&&i.jsxs("div",{className:"text-xs text-muted-foreground mt-1",children:[t("common.createOrganizationDialog.urlLabel")," ",i.jsxs("span",{className:"font-mono",children:[typeof window<"u"?globalThis.location.origin:"","/",q(o.value)]})]}),i.jsx(me,{})]})},e[27]=a.formState.isSubmitting,e[28]=t,e[29]=x):x=e[29];let S;e[30]!==a.control||e[31]!==x?(S=i.jsx(re,{control:a.control,name:"name",render:x}),e[30]=a.control,e[31]=x,e[32]=S):S=e[32];let h;e[33]!==T?(h=T&&i.jsx("div",{className:"text-destructive text-sm mt-2",children:T}),e[33]=T,e[34]=h):h=e[34];const R=a.formState.isSubmitting;let p;e[35]!==r||e[36]!==a?(p=()=>{r.reset(),a.reset()},e[35]=r,e[36]=a,e[37]=p):p=e[37];let b;e[38]!==t?(b=t("common.createOrganizationDialog.cancel"),e[38]=t,e[39]=b):b=e[39];let j;e[40]!==a.formState.isSubmitting||e[41]!==p||e[42]!==b?(j=i.jsx(ee,{disabled:R,onClick:p,children:b}),e[40]=a.formState.isSubmitting,e[41]=p,e[42]=b,e[43]=j):j=e[43];const B=!a.formState.isValid||a.formState.isSubmitting;let D;e[44]!==a.formState.isSubmitting||e[45]!==t?(D=a.formState.isSubmitting?i.jsxs("span",{className:"flex items-center gap-2",children:[i.jsx(Q,{size:"xs"})," ",t("common.createOrganizationDialog.creating")]}):t("common.createOrganizationDialog.createButton"),e[44]=a.formState.isSubmitting,e[45]=t,e[46]=D):D=e[46];let z;e[47]!==B||e[48]!==D?(z=i.jsx(W,{type:"submit",variant:"default",disabled:B,children:D}),e[47]=B,e[48]=D,e[49]=z):z=e[49];let O;e[50]!==j||e[51]!==z?(O=i.jsxs(te,{children:[j,z]}),e[50]=j,e[51]=z,e[52]=O):O=e[52];let C;e[53]!==d||e[54]!==S||e[55]!==h||e[56]!==O?(C=i.jsxs("form",{className:"space-y-6",onSubmit:d,autoComplete:"off",children:[S,h,O]}),e[53]=d,e[54]=S,e[55]=h,e[56]=O,e[57]=C):C=e[57];let w;e[58]!==a||e[59]!==C?(w=i.jsx(oe,{...a,children:C}),e[58]=a,e[59]=C,e[60]=w):w=e[60];let F;e[61]!==u||e[62]!==w?(F=i.jsxs(ae,{children:[u,w]}),e[61]=u,e[62]=w,e[63]=F):F=e[63];let N;return e[64]!==M||e[65]!==L||e[66]!==F?(N=i.jsx(ie,{open:L,onOpenChange:M,children:F}),e[64]=M,e[65]=L,e[66]=F,e[67]=N):N=e[67],N}export{he as C};
1
+ import{ae as V,ag as k,c as G,b as H,ar as P,aq as J,e as K,j as i,h as Q,a as U,B as W}from"./index-ClceuAyk.js";import{c as X,d as Y,b as Z,f as ee,e as te,a as ae,A as ie}from"./alert-dialog-CZ1KENHH.js";import{d as re,F as oe,a as ne,e as se,b as le,f as ce,c as me}from"./form-9R94AgDH.js";import{I as ge}from"./input-BnaH3Pwu.js";function q(_){return _.toLowerCase().trim().replace(/[^a-z0-9\s_-]+/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}const fe=V({name:k().min(2,"Organization name is required")});function he(_){const e=G.c(68),{open:L,onOpenChange:M,onCreated:A}=_,t=H();let v;e[0]===Symbol.for("react.memo_cache_sentinel")?(v={resolver:P(fe),defaultValues:{name:""}},e[0]=v):v=e[0];const a=J(v);let s;e[1]!==t?(s=async n=>{const o=q(n.name);if(!o)throw new Error(t("common.createOrganizationDialog.invalidSlug"));const I=await U.organization.create({name:n.name,slug:o});if(I?.error)throw new Error(I.error.message||t("common.createOrganizationDialog.failedToCreate"));const $=I?.data?.slug??o;if(!$)throw new Error(t("common.createOrganizationDialog.failedToCreate"));return{orgSlug:$}},e[1]=t,e[2]=s):s=e[2];let l;e[3]!==A?(l=n=>{const{orgSlug:o}=n;if(A){A(o);return}window.location.href=`/${o}`},e[3]=A,e[4]=l):l=e[4];let y;e[5]!==s||e[6]!==l?(y={mutationFn:s,onSuccess:l},e[5]=s,e[6]=l,e[7]=y):y=e[7];const r=K(y);let E;e[8]!==r.error||e[9]!==t?(E=r.error instanceof Error?r.error.message:r.error?t("common.createOrganizationDialog.failedToCreateGeneric"):null,e[8]=r.error,e[9]=t,e[10]=E):E=e[10];const T=E;let c;e[11]!==t?(c=t("common.createOrganizationDialog.title"),e[11]=t,e[12]=c):c=e[12];let m;e[13]!==c?(m=i.jsx(X,{children:c}),e[13]=c,e[14]=m):m=e[14];let g;e[15]!==t?(g=t("common.createOrganizationDialog.description"),e[15]=t,e[16]=g):g=e[16];let f;e[17]!==g?(f=i.jsx(Y,{children:g}),e[17]=g,e[18]=f):f=e[18];let u;e[19]!==m||e[20]!==f?(u=i.jsxs(Z,{children:[m,f]}),e[19]=m,e[20]=f,e[21]=u):u=e[21];let d;if(e[22]!==r||e[23]!==a){let n;e[25]!==r?(n=o=>r.mutateAsync(o),e[25]=r,e[26]=n):n=e[26],d=a.handleSubmit(n),e[22]=r,e[23]=a,e[24]=d}else d=e[24];let x;e[27]!==a.formState.isSubmitting||e[28]!==t?(x=n=>{const{field:o}=n;return i.jsxs(ne,{children:[i.jsx(se,{children:t("common.createOrganizationDialog.nameLabel")}),i.jsx(le,{children:i.jsx(ge,{...o,placeholder:t("common.createOrganizationDialog.namePlaceholder"),disabled:a.formState.isSubmitting})}),i.jsx(ce,{children:t("common.createOrganizationDialog.nameDescription")}),o.value&&i.jsxs("div",{className:"text-xs text-muted-foreground mt-1",children:[t("common.createOrganizationDialog.urlLabel")," ",i.jsxs("span",{className:"font-mono",children:[typeof window<"u"?globalThis.location.origin:"","/",q(o.value)]})]}),i.jsx(me,{})]})},e[27]=a.formState.isSubmitting,e[28]=t,e[29]=x):x=e[29];let S;e[30]!==a.control||e[31]!==x?(S=i.jsx(re,{control:a.control,name:"name",render:x}),e[30]=a.control,e[31]=x,e[32]=S):S=e[32];let h;e[33]!==T?(h=T&&i.jsx("div",{className:"text-destructive text-sm mt-2",children:T}),e[33]=T,e[34]=h):h=e[34];const R=a.formState.isSubmitting;let p;e[35]!==r||e[36]!==a?(p=()=>{r.reset(),a.reset()},e[35]=r,e[36]=a,e[37]=p):p=e[37];let b;e[38]!==t?(b=t("common.createOrganizationDialog.cancel"),e[38]=t,e[39]=b):b=e[39];let j;e[40]!==a.formState.isSubmitting||e[41]!==p||e[42]!==b?(j=i.jsx(ee,{disabled:R,onClick:p,children:b}),e[40]=a.formState.isSubmitting,e[41]=p,e[42]=b,e[43]=j):j=e[43];const B=!a.formState.isValid||a.formState.isSubmitting;let D;e[44]!==a.formState.isSubmitting||e[45]!==t?(D=a.formState.isSubmitting?i.jsxs("span",{className:"flex items-center gap-2",children:[i.jsx(Q,{size:"xs"})," ",t("common.createOrganizationDialog.creating")]}):t("common.createOrganizationDialog.createButton"),e[44]=a.formState.isSubmitting,e[45]=t,e[46]=D):D=e[46];let z;e[47]!==B||e[48]!==D?(z=i.jsx(W,{type:"submit",variant:"default",disabled:B,children:D}),e[47]=B,e[48]=D,e[49]=z):z=e[49];let O;e[50]!==j||e[51]!==z?(O=i.jsxs(te,{children:[j,z]}),e[50]=j,e[51]=z,e[52]=O):O=e[52];let C;e[53]!==d||e[54]!==S||e[55]!==h||e[56]!==O?(C=i.jsxs("form",{className:"space-y-6",onSubmit:d,autoComplete:"off",children:[S,h,O]}),e[53]=d,e[54]=S,e[55]=h,e[56]=O,e[57]=C):C=e[57];let w;e[58]!==a||e[59]!==C?(w=i.jsx(oe,{...a,children:C}),e[58]=a,e[59]=C,e[60]=w):w=e[60];let F;e[61]!==u||e[62]!==w?(F=i.jsxs(ae,{children:[u,w]}),e[61]=u,e[62]=w,e[63]=F):F=e[63];let N;return e[64]!==M||e[65]!==L||e[66]!==F?(N=i.jsx(ie,{open:L,onOpenChange:M,children:F}),e[64]=M,e[65]=L,e[66]=F,e[67]=N):N=e[67],N}export{he as C};
@@ -1 +1 @@
1
- import"./index-CsUNCFTt.js";import{e as b,T as C,f as w}from"./task-board-Ci8z0xfT.js";import{e as k}from"./backoff-CrEUbyZT.js";const P={STEP:"decopilot.step",FINISH:"decopilot.finish",THREAD_STATUS:"decopilot.thread.status"},m=Object.values(P),D="notification.created",I=3e4,M=1e3;function V(a){const{buildUrl:f,eventTypes:E,name:i,crossTab:T=!1}=a,o=new Map,c=T&&typeof BroadcastChannel<"u"&&typeof navigator<"u"&&typeof navigator.locks<"u";if(c&&!i)throw new Error("createSSESubscription: `name` is required when crossTab");function l(e,t){e.bootDone=!0;for(const r of e.handlers)try{r(t)}catch{}}function p(e){for(const t of e.reconnectHandlers)try{t()}catch{}}function h(e){const t=new EventSource(f(e.key));e.es=t,t.onopen=()=>{e.reconnectAttempt=0,e.bootDone&&(p(e),e.channel?.postMessage({kind:"reconnect"})),e.bootDone=!0},t.onerror=()=>{e.es===t&&t.readyState===EventSource.CLOSED&&v(e)};const r=n=>{e.channel?.postMessage({kind:"event",type:n.type,data:n.data}),l(e,n)};for(const n of E)t.addEventListener(n,r)}function v(e){if(e.refCount<=0||e.reconnectTimer)return;const t=k(I,M,e.reconnectAttempt,2,0);e.reconnectAttempt++,e.reconnectTimer=setTimeout(()=>{e.reconnectTimer=null,!(e.refCount<=0||!e.isLeader)&&(e.es?.close(),h(e))},t)}function S(e){if(e.refCount<=0){e.releaseLeadership?.(),e.releaseLeadership=null;return}e.isLeader=!0,h(e)}function y(e){if(!c){S(e);return}e.lockAbort=new AbortController,navigator.locks.request(`sse-leader:${i}:${e.key}`,{signal:e.lockAbort.signal},()=>new Promise(t=>{e.releaseLeadership=t,S(e)})).catch(()=>{})}function N(e,t){t.kind==="event"?l(e,new MessageEvent(t.type,{data:t.data})):t.kind==="reconnect"&&p(e)}function O(e){const t=o.get(e);if(t)return t;const r={key:e,refCount:0,handlers:new Set,reconnectHandlers:new Set,bootDone:!1,es:null,isLeader:!1,reconnectAttempt:0,reconnectTimer:null,channel:null,lockAbort:null,releaseLeadership:null};if(o.set(e,r),c){const n=new BroadcastChannel(`sse:${i}:${e}`);n.onmessage=s=>N(r,s.data),r.channel=n}return r}function _(e){e.reconnectTimer&&(clearTimeout(e.reconnectTimer),e.reconnectTimer=null),e.es?.close(),e.es=null,e.releaseLeadership?.(),e.releaseLeadership=null,e.lockAbort?.abort(),e.lockAbort=null,e.channel?.close(),e.channel=null,o.delete(e.key)}return{dispose(){for(const e of[...o.values()])_(e)},subscribe(e,t,r){const n=!o.has(e),s=O(e);s.refCount++,s.handlers.add(t),r&&s.reconnectHandlers.add(r),n&&y(s);let A=!1;return()=>{A||(A=!0,s.handlers.delete(t),r&&s.reconnectHandlers.delete(r),s.refCount--,s.refCount<=0&&_(s))}}}}function d(a,f){const E=new Set(f);return{dispose:()=>a.dispose(),subscribe(i,T,o){const c=l=>{E.has(l.type)&&T(l)};return a.subscribe(i,c,o)}}}const L=[...m,b,C,w,D],g=L,B=L,u=V({name:"watch",buildUrl:a=>`/api/${encodeURIComponent(a)}/watch?types=${g.join(",")}`,eventTypes:B,crossTab:!0}),H=d(u,[...m]),Y=d(u,[b,C]),$=d(u,[w]),q=d(u,[D]),x=H;export{P as D,Y as a,x as d,q as n,$ as t};
1
+ import"./index-ClceuAyk.js";import{e as b,T as C,f as w}from"./task-board-ogD6qhBD.js";import{e as k}from"./backoff-CrEUbyZT.js";const P={STEP:"decopilot.step",FINISH:"decopilot.finish",THREAD_STATUS:"decopilot.thread.status"},m=Object.values(P),D="notification.created",I=3e4,M=1e3;function V(a){const{buildUrl:f,eventTypes:E,name:i,crossTab:T=!1}=a,o=new Map,c=T&&typeof BroadcastChannel<"u"&&typeof navigator<"u"&&typeof navigator.locks<"u";if(c&&!i)throw new Error("createSSESubscription: `name` is required when crossTab");function l(e,t){e.bootDone=!0;for(const r of e.handlers)try{r(t)}catch{}}function p(e){for(const t of e.reconnectHandlers)try{t()}catch{}}function h(e){const t=new EventSource(f(e.key));e.es=t,t.onopen=()=>{e.reconnectAttempt=0,e.bootDone&&(p(e),e.channel?.postMessage({kind:"reconnect"})),e.bootDone=!0},t.onerror=()=>{e.es===t&&t.readyState===EventSource.CLOSED&&v(e)};const r=n=>{e.channel?.postMessage({kind:"event",type:n.type,data:n.data}),l(e,n)};for(const n of E)t.addEventListener(n,r)}function v(e){if(e.refCount<=0||e.reconnectTimer)return;const t=k(I,M,e.reconnectAttempt,2,0);e.reconnectAttempt++,e.reconnectTimer=setTimeout(()=>{e.reconnectTimer=null,!(e.refCount<=0||!e.isLeader)&&(e.es?.close(),h(e))},t)}function S(e){if(e.refCount<=0){e.releaseLeadership?.(),e.releaseLeadership=null;return}e.isLeader=!0,h(e)}function y(e){if(!c){S(e);return}e.lockAbort=new AbortController,navigator.locks.request(`sse-leader:${i}:${e.key}`,{signal:e.lockAbort.signal},()=>new Promise(t=>{e.releaseLeadership=t,S(e)})).catch(()=>{})}function N(e,t){t.kind==="event"?l(e,new MessageEvent(t.type,{data:t.data})):t.kind==="reconnect"&&p(e)}function O(e){const t=o.get(e);if(t)return t;const r={key:e,refCount:0,handlers:new Set,reconnectHandlers:new Set,bootDone:!1,es:null,isLeader:!1,reconnectAttempt:0,reconnectTimer:null,channel:null,lockAbort:null,releaseLeadership:null};if(o.set(e,r),c){const n=new BroadcastChannel(`sse:${i}:${e}`);n.onmessage=s=>N(r,s.data),r.channel=n}return r}function _(e){e.reconnectTimer&&(clearTimeout(e.reconnectTimer),e.reconnectTimer=null),e.es?.close(),e.es=null,e.releaseLeadership?.(),e.releaseLeadership=null,e.lockAbort?.abort(),e.lockAbort=null,e.channel?.close(),e.channel=null,o.delete(e.key)}return{dispose(){for(const e of[...o.values()])_(e)},subscribe(e,t,r){const n=!o.has(e),s=O(e);s.refCount++,s.handlers.add(t),r&&s.reconnectHandlers.add(r),n&&y(s);let A=!1;return()=>{A||(A=!0,s.handlers.delete(t),r&&s.reconnectHandlers.delete(r),s.refCount--,s.refCount<=0&&_(s))}}}}function d(a,f){const E=new Set(f);return{dispose:()=>a.dispose(),subscribe(i,T,o){const c=l=>{E.has(l.type)&&T(l)};return a.subscribe(i,c,o)}}}const L=[...m,b,C,w,D],g=L,B=L,u=V({name:"watch",buildUrl:a=>`/api/${encodeURIComponent(a)}/watch?types=${g.join(",")}`,eventTypes:B,crossTab:!0}),H=d(u,[...m]),Y=d(u,[b,C]),$=d(u,[w]),q=d(u,[D]),x=H;export{P as D,Y as a,x as d,q as n,$ as t};