decocms 3.10.3 → 3.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (247) hide show
  1. package/dist/client/assets/{AlertCircle-DQ3zaMns.js → AlertCircle-l0Fpo8hU.js} +1 -1
  2. package/dist/client/assets/{ArrowUpRight-UT01ancE.js → ArrowUpRight-nFWH1Ez9.js} +1 -1
  3. package/dist/client/assets/{Check-DCJCCJt5.js → Check-c_jJpxb1.js} +1 -1
  4. package/dist/client/assets/{CheckCircle-CN8csJmd.js → CheckCircle-38u06F5f.js} +1 -1
  5. package/dist/client/assets/{ChevronDown-vntP1LF0.js → ChevronDown-BD_mAbO2.js} +1 -1
  6. package/dist/client/assets/{ChevronLeft-_4tt3JbP.js → ChevronLeft-CpIXC6Gs.js} +1 -1
  7. package/dist/client/assets/{ChevronRight-BD7fiLv7.js → ChevronRight-DLrAfqVe.js} +1 -1
  8. package/dist/client/assets/{ChevronUp-B9NZzlEX.js → ChevronUp-CSbcB5D_.js} +1 -1
  9. package/dist/client/assets/{Container-DlDQbtuJ.js → Container-DhunwrH9.js} +1 -1
  10. package/dist/client/assets/{DotsVertical-DDPFnnRS.js → DotsVertical-Drb9z9hu.js} +1 -1
  11. package/dist/client/assets/{Eye-ogI2y4CN.js → Eye-cKsI4OxT.js} +1 -1
  12. package/dist/client/assets/{FilterLines-DpUfIC-u.js → FilterLines-BiHh13xm.js} +1 -1
  13. package/dist/client/assets/{Globe01-C2fKyC2-.js → Globe01-BqxI6QZP.js} +1 -1
  14. package/dist/client/assets/{HardDrive-Ik-OtFON.js → HardDrive-BwbAMrUb.js} +1 -1
  15. package/dist/client/assets/{Key01-CmprkySl.js → Key01-qQx1LV2o.js} +1 -1
  16. package/dist/client/assets/{LayoutLeft-BO92HMhM.js → LayoutLeft-CpIWBcma.js} +1 -1
  17. package/dist/client/assets/{LinkExternal01-9W209kLr.js → LinkExternal01-CXoDDgz6.js} +1 -1
  18. package/dist/client/assets/{Monitor01-B0FKK9nk.js → Monitor01-DdJ7wtCm.js} +1 -1
  19. package/dist/client/assets/{Palette-OtFJ1ywH.js → Palette-B-k8xsYD.js} +1 -1
  20. package/dist/client/assets/{Play-B9TsjtCB.js → Play-CjnZZCXU.js} +1 -1
  21. package/dist/client/assets/{Plus-BnGx63GX.js → Plus-DhX2w18y.js} +1 -1
  22. package/dist/client/assets/{RefreshCcw01-Dk9AOo-m.js → RefreshCcw01-COCceFoS.js} +1 -1
  23. package/dist/client/assets/{SearchMd-CxJnyPJ2.js → SearchMd-DrKxcX2-.js} +1 -1
  24. package/dist/client/assets/{Settings02-PSRUEgfS.js → Settings02-YFMXLzh7.js} +1 -1
  25. package/dist/client/assets/{Shield01-Do71Dyqk.js → Shield01-C0lG89zR.js} +1 -1
  26. package/dist/client/assets/{Star01-Cu6cUuhf.js → Star01-DSZcWlXz.js} +1 -1
  27. package/dist/client/assets/{Stars01-BuMp0jeZ.js → Stars01-CJvAL1Fd.js} +1 -1
  28. package/dist/client/assets/{Stars02-Bo6vryYW.js → Stars02-BZvUEwJW.js} +1 -1
  29. package/dist/client/assets/{Sun-Bg1tFzcn.js → Sun-Bc4Ui5gi.js} +1 -1
  30. package/dist/client/assets/{SwitchHorizontal01-BjgMZfW7.js → SwitchHorizontal01-Dh0Hb3Cs.js} +1 -1
  31. package/dist/client/assets/{Tool01-DRibBi0T.js → Tool01-C6w2kT2d.js} +1 -1
  32. package/dist/client/assets/{Trash01-DfuJtop_.js → Trash01-CicwXof9.js} +1 -1
  33. package/dist/client/assets/{Upload01-DGWS8Icx.js → Upload01-Cjsy_A0C.js} +1 -1
  34. package/dist/client/assets/{User01-B1RcIkcM.js → User01-C-Fxjmsz.js} +1 -1
  35. package/dist/client/assets/{Users01-CyxI-ZiC.js → Users01-Bcdl2fo8.js} +1 -1
  36. package/dist/client/assets/{Users03-DhXF_0sH.js → Users03-BQUStXwY.js} +1 -1
  37. package/dist/client/assets/{X-COnjMnsv.js → X-BZgcfyxc.js} +1 -1
  38. package/dist/client/assets/{XCircle-BvIhN4E7.js → XCircle-DZXIRf5B.js} +1 -1
  39. package/dist/client/assets/{XClose-CXacF9IM.js → XClose-BJgeWVDy.js} +1 -1
  40. package/dist/client/assets/{Zap-BM6RWRPw.js → Zap-DHRMF6hr.js} +1 -1
  41. package/dist/client/assets/{ZapSquare-C79zBXJj.js → ZapSquare-DHYwZGs3.js} +1 -1
  42. package/dist/client/assets/{ZoomOut-B5B07_-g.js → ZoomOut-DUCp8Gob.js} +1 -1
  43. package/dist/client/assets/{access-gate-BHd_MMZj.js → access-gate-D3K4mW0p.js} +1 -1
  44. package/dist/client/assets/accordion-Dczz3n4d.js +1 -0
  45. package/dist/client/assets/add-section-modal-UjRtSYXi.js +1 -0
  46. package/dist/client/assets/{agent-capabilities-BQdt-MuJ.js → agent-capabilities-CTp309mj.js} +2 -2
  47. package/dist/client/assets/{agent-icon-DFJgaXFK.js → agent-icon-BGlV6q8v.js} +1 -1
  48. package/dist/client/assets/{agent-icons-CkZUPYja.js → agent-icons-D51QBNe2.js} +1 -1
  49. package/dist/client/assets/{agents-list-DNyHPwF6.js → agents-list-BDjAtGII.js} +1 -1
  50. package/dist/client/assets/{ai-providers-D3kDr_eM.js → ai-providers-C5FRtqVa.js} +1 -1
  51. package/dist/client/assets/{alert-kxVKcfjz.js → alert-C2SAdiMn.js} +1 -1
  52. package/dist/client/assets/{alert-dialog-BpOf9MAK.js → alert-dialog-CfIqXXf0.js} +1 -1
  53. package/dist/client/assets/app-editor-BtCGiT5R.js +1 -0
  54. package/dist/client/assets/{auth-catchall-0zpjCrAp.js → auth-catchall-BNIV3K68.js} +1 -1
  55. package/dist/client/assets/{auth-split-layout-qhIpjF8b.js → auth-split-layout-Ur7ekzLQ.js} +1 -1
  56. package/dist/client/assets/{automation-list-row-CPxwK1jZ.js → automation-list-row-BI945zvy.js} +1 -1
  57. package/dist/client/assets/{automation-runs-W1XLcZy_.js → automation-runs-BYBNQ-JJ.js} +1 -1
  58. package/dist/client/assets/{automations-D1j8zNJi.js → automations-BS4h-ogy.js} +1 -1
  59. package/dist/client/assets/{avatar-CuZPsvd7.js → avatar-CV-HskE0.js} +1 -1
  60. package/dist/client/assets/{badge-BCXaZ3jr.js → badge-BIbhtFGp.js} +1 -1
  61. package/dist/client/assets/{brand-context-BMZ4j5vM.js → brand-context-DoHj9jxR.js} +1 -1
  62. package/dist/client/assets/{buckets-DsWGuu5e.js → buckets-3KyheLMz.js} +1 -1
  63. package/dist/client/assets/{calendar-DfGnEJr6.js → calendar-anoyFX3_.js} +1 -1
  64. package/dist/client/assets/{capability-load-error-DjoRzFiH.js → capability-load-error-5fpCsl-E.js} +1 -1
  65. package/dist/client/assets/{card-DsraaOS_.js → card-clJ4_TXy.js} +1 -1
  66. package/dist/client/assets/{chat-context-CL-ll6R6.js → chat-context-CMCmhu0x.js} +7 -7
  67. package/dist/client/assets/{checkbox-4DJ-sElS.js → checkbox-D5ZsgUiL.js} +1 -1
  68. package/dist/client/assets/{cli-auth-success-BVgFFt5r.js → cli-auth-success-DUs_glfQ.js} +1 -1
  69. package/dist/client/assets/{collection-detail-DS5E30Me.js → collection-detail-DoORbeIU.js} +1 -1
  70. package/dist/client/assets/{collection-display-button-C-mBXp6g.js → collection-display-button-BHU3gVjd.js} +1 -1
  71. package/dist/client/assets/{collection-search-CljcPIbT.js → collection-search-XnV7IoL4.js} +1 -1
  72. package/dist/client/assets/{collection-table-wrapper-DO_P7QvK.js → collection-table-wrapper-Def6_fTh.js} +1 -1
  73. package/dist/client/assets/{collection-tabs-BgZPPjBK.js → collection-tabs-BL5EWXFo.js} +1 -1
  74. package/dist/client/assets/{collections-C8UGR0dQ.js → collections-CjrPw-fH.js} +1 -1
  75. package/dist/client/assets/{command-Cwxrfu8T.js → command-xElkUveT.js} +1 -1
  76. package/dist/client/assets/{connect-desktop-dialog-CAgFYUmf.js → connect-desktop-dialog-z9_d2OMY.js} +1 -1
  77. package/dist/client/assets/{connection-card-Dmrkhocz.js → connection-card-CdjjPmMy.js} +1 -1
  78. package/dist/client/assets/connection-detail-CLkds3z5.js +1 -0
  79. package/dist/client/assets/connection-form-helpers-x6Qv_JQD.js +1 -0
  80. package/dist/client/assets/connections-scTFfwYa.js +1 -0
  81. package/dist/client/assets/constants-_NfKPeA7.js +10 -0
  82. package/dist/client/assets/{decopilot-sse-pool-DIAcxt2i.js → decopilot-sse-pool-uVjHemnd.js} +1 -1
  83. package/dist/client/assets/{dialog-J9xRnRHX.js → dialog-DAZt_PYz.js} +1 -1
  84. package/dist/client/assets/{domain-settings-Cq5_HOtz.js → domain-settings-BeuJal2Z.js} +1 -1
  85. package/dist/client/assets/{drawer-NwIwuvOD.js → drawer-DgVqJYUv.js} +1 -1
  86. package/dist/client/assets/{dropdown-menu-Do65ajnt.js → dropdown-menu-D8Jq0EXH.js} +1 -1
  87. package/dist/client/assets/{dynamic-plugin-layout-DYQZtWgt.js → dynamic-plugin-layout-DfSmXQDS.js} +1 -1
  88. package/dist/client/assets/{empty-state-BqVzURvi.js → empty-state-ClDtXUcE.js} +1 -1
  89. package/dist/client/assets/{empty-state-Dl_snts0.js → empty-state-D2uf8sZL.js} +1 -1
  90. package/dist/client/assets/{extract-connection-data-J0nLi0pB.js → extract-connection-data-CXd7xn8D.js} +1 -1
  91. package/dist/client/assets/features-D5HpJxEl.js +1 -0
  92. package/dist/client/assets/{file-explorer-B3VjqNs-.js → file-explorer-0O3gnUbG.js} +2 -2
  93. package/dist/client/assets/{file-type-icon-DPEVE6_q.js → file-type-icon-CM5FDHHb.js} +1 -1
  94. package/dist/client/assets/{files-DFPQhmGr.js → files-CbWK6Oem.js} +1 -1
  95. package/dist/client/assets/{form-C4TJnG5K.js → form-Bom2oLZH.js} +1 -1
  96. package/dist/client/assets/{general-B4bDWRqK.js → general-C1lfdTH5.js} +1 -1
  97. package/dist/client/assets/{generate-id-C8OHZs1-.js → generate-id-Bloedyht.js} +1 -1
  98. package/dist/client/assets/{github-repo-picker-BXy4amYZ.js → github-repo-picker-BLseIx3l.js} +2 -2
  99. package/dist/client/assets/{header-tab-button-CfRERpsl.js → header-tab-button-HHwdKYUp.js} +3 -3
  100. package/dist/client/assets/{hover-card-CzsSQjRq.js → hover-card-BbAh8d7J.js} +1 -1
  101. package/dist/client/assets/{image-field-ixadfB5p.js → image-field-A74OnXkk.js} +1 -1
  102. package/dist/client/assets/{index-CtCZ2lVU.js → index-BztCosFc.js} +12 -12
  103. package/dist/client/assets/{index-CPhpCeI1.js → index-CRqPsUNG.js} +23 -23
  104. package/dist/client/assets/{index-DSVt98oz.js → index-Cwch4eob.js} +1 -1
  105. package/dist/client/assets/{index-FjrzqkXH.js → index-DFAITwpu.js} +1 -1
  106. package/dist/client/assets/{index-2TKWj64n.js → index-DKNjAJFI.js} +1 -1
  107. package/dist/client/assets/{index-bbsI4OK2.js → index-DNtm0JLi.js} +1 -1
  108. package/dist/client/assets/{index-CjY_0Wnz.js → index-DRh6u24v.js} +1 -1
  109. package/dist/client/assets/{index-Bx5wFMxU.js → index-DV3Yfg7N.js} +1 -1
  110. package/dist/client/assets/{index-DgQteD84.js → index-DdDGbzVq.js} +1 -1
  111. package/dist/client/assets/{index-BQhstHsz.js → index-DlenCt7g.js} +1 -1
  112. package/dist/client/assets/{index-jPAWrqoL.js → index-DoK0XiUD.js} +1 -1
  113. package/dist/client/assets/{index-hwNqvXOX.js → index-DtS-92Oz.js} +1 -1
  114. package/dist/client/assets/{index-C3EQc9K0.js → index-eZWazEyz.js} +4 -4
  115. package/dist/client/assets/{index-B9kRhzg7.js → index-kq5yUS_7.js} +30 -30
  116. package/dist/client/assets/{index-redirect-Cu5slcp-.js → index-redirect-BE0FdN2x.js} +1 -1
  117. package/dist/client/assets/{index-X8qPybJt.js → index-u752Wts1.js} +1 -1
  118. package/dist/client/assets/{infiniteQueryObserver-Xb1xysnw.js → infiniteQueryObserver-BMRPwu0B.js} +1 -1
  119. package/dist/client/assets/{input-DCOoktZX.js → input-CwrS-iub.js} +1 -1
  120. package/dist/client/assets/{integration-icon-D0rRtQFH.js → integration-icon-CpXFY6_W.js} +1 -1
  121. package/dist/client/assets/{label-dlG4_xKf.js → label-CLJ0AedA.js} +1 -1
  122. package/dist/client/assets/{layout-CqY1dIbQ.js → layout-CRFmyheT.js} +1 -1
  123. package/dist/client/assets/{login-D5Kc2gHp.js → login-ZDQxXAlc.js} +1 -1
  124. package/dist/client/assets/{members-CtWFCCAM.js → members-CETsRg6c.js} +2 -2
  125. package/dist/client/assets/{monaco-editor-C03OGypq.js → monaco-editor-DqjxL8qC.js} +1 -1
  126. package/dist/client/assets/{monitoring-stats-row-B5_JF7d0.js → monitoring-stats-row-BtrtxUC2.js} +1 -1
  127. package/dist/client/assets/{oauth-callback-Bq0llziz.js → oauth-callback-DKUIBnJx.js} +1 -1
  128. package/dist/client/assets/{oauth-callback-ai-provider-Dqhr4g5S.js → oauth-callback-ai-provider-CQsd2o0a.js} +1 -1
  129. package/dist/client/assets/{onboarding-B8asD6BW.js → onboarding-Dp9u-AR8.js} +1 -1
  130. package/dist/client/assets/org-install-B0DdE2Cp.js +1 -0
  131. package/dist/client/assets/{org-layout-_HQPGRGc.js → org-layout-CbZhwhjC.js} +1 -1
  132. package/dist/client/assets/{org-plugin-layout-CrzvtX56.js → org-plugin-layout-nvcLwDDm.js} +1 -1
  133. package/dist/client/assets/{page-seo-form-DgC67IZh.js → page-seo-form-BfAIN8Sl.js} +1 -1
  134. package/dist/client/assets/page-seo-sheet-1M0ZQCXy.js +1 -0
  135. package/dist/client/assets/{pair-ETmN3fj_.js → pair-Ddwa7ge4.js} +5 -5
  136. package/dist/client/assets/{plugin-empty-state-rsU-dNVu.js → plugin-empty-state-DIWYp1SI.js} +1 -1
  137. package/dist/client/assets/{plugin-header-D7vi3yKZ.js → plugin-header-BK3X79ek.js} +1 -1
  138. package/dist/client/assets/{plugin-layout-CNRc47uO.js → plugin-layout-G84GIXAW.js} +1 -1
  139. package/dist/client/assets/{popover-Dinj8RAt.js → popover-DsfanlnP.js} +1 -1
  140. package/dist/client/assets/{post-editor-D_b2wd_z.js → post-editor-HYnj9aMU.js} +3 -3
  141. package/dist/client/assets/{primitives-DqpziEOx.js → primitives-h_5eGcD7.js} +1 -1
  142. package/dist/client/assets/{profile-p9UvcTh7.js → profile-C_EEhrOq.js} +1 -1
  143. package/dist/client/assets/project-app-view-ClBF_FE1.js +1 -0
  144. package/dist/client/assets/record-editor-D_XxtmM1.js +1 -0
  145. package/dist/client/assets/registry-DuikH1Le.js +2 -0
  146. package/dist/client/assets/registry-layout-ClLggzAs.js +27 -0
  147. package/dist/client/assets/{require-capability-DjstlBCS.js → require-capability-B9yp1djm.js} +1 -1
  148. package/dist/client/assets/{required-auth-layout-DQ_j0OWf.js → required-auth-layout-BsLlfTDJ.js} +1 -1
  149. package/dist/client/assets/{reset-password-PhkeCWUg.js → reset-password-C2JTjbtA.js} +1 -1
  150. package/dist/client/assets/{resizable-CEMGS5N9.js → resizable-Bos_97Hr.js} +1 -1
  151. package/dist/client/assets/{roles-C9PxfSEA.js → roles-CBUmzMVz.js} +1 -1
  152. package/dist/client/assets/{save-status-BCvLZZx5.js → save-status-BbK1RQSX.js} +1 -1
  153. package/dist/client/assets/{schema-form-ETVh-DHz.js → schema-form-CUO9haBq.js} +1 -1
  154. package/dist/client/assets/{scroll-area-DSB3avJ3.js → scroll-area-Cq2TqSe0.js} +1 -1
  155. package/dist/client/assets/{search-input-Dny3m5xa.js → search-input-W-g6XRjC.js} +1 -1
  156. package/dist/client/assets/{secrets-CWGMYwDs.js → secrets-BDICEFKM.js} +1 -1
  157. package/dist/client/assets/{sections-editor-rkPkrwr9.js → sections-editor-BaZsoyW0.js} +1 -1
  158. package/dist/client/assets/select-ci3BSqp5.js +1 -0
  159. package/dist/client/assets/{select-model-BLCOUHJb.js → select-model-DHOmXmSc.js} +1 -1
  160. package/dist/client/assets/{seo-editor-Dv6Vrh4r.js → seo-editor-BbPcLsSR.js} +1 -1
  161. package/dist/client/assets/{settings-layout-D33DplHx.js → settings-layout-JiHWSow4.js} +1 -1
  162. package/dist/client/assets/{settings-section-Bx1_7ym7.js → settings-section-x9o4zXy4.js} +1 -1
  163. package/dist/client/assets/{sheet-BLkB41eQ.js → sheet-BwdJHIyp.js} +1 -1
  164. package/dist/client/assets/{shell-controls-yn92xA7D.js → shell-controls-Bk1-5JuX.js} +1 -1
  165. package/dist/client/assets/shell-layout-BSanGTZR.js +1 -0
  166. package/dist/client/assets/shell-route-loading-Oji4SthS.js +1 -0
  167. package/dist/client/assets/{sidebar-BMIDAt6t.js → sidebar-CZfP1p-N.js} +1 -1
  168. package/dist/client/assets/{skeleton-KI9W-P-f.js → skeleton-C868IqtJ.js} +1 -1
  169. package/dist/client/assets/{sortable.esm-tovEx4aa.js → sortable.esm-D3VtLwMe.js} +1 -1
  170. package/dist/client/assets/{spinner-1Hxy4oL5.js → spinner-DFgihVtE.js} +1 -1
  171. package/dist/client/assets/{sso-D_4gD-Yv.js → sso-Dd4ntKKA.js} +1 -1
  172. package/dist/client/assets/{store-DeB9eSSk.js → store-WLHJZJYL.js} +1 -1
  173. package/dist/client/assets/store-registry-Bipqg_S3.js +2 -0
  174. package/dist/client/assets/{switch-BtXimVeh.js → switch-dV1jxIo5.js} +1 -1
  175. package/dist/client/assets/{tab-id-DiLpeikj.js → tab-id-DQ11sDJ5.js} +1 -1
  176. package/dist/client/assets/{table-CZLBrik6.js → table-CHKmKoKb.js} +1 -1
  177. package/dist/client/assets/{tabs-DGoyKbi9.js → tabs-CSjv4io2.js} +1 -1
  178. package/dist/client/assets/{task-status-nPHS0i2v.js → task-status-CAwvZzfY.js} +1 -1
  179. package/dist/client/assets/{textarea-CaPEW-IU.js → textarea-CSfWC_ri.js} +1 -1
  180. package/dist/client/assets/{toggle-group-kjmQGkBo.js → toggle-group-D1uW02Dw.js} +1 -1
  181. package/dist/client/assets/{toolbar-CuMC4awt.js → toolbar-C_QNuxJc.js} +1 -1
  182. package/dist/client/assets/{tools-list-CCmWgH3U.js → tools-list-DSls0TxE.js} +1 -1
  183. package/dist/client/assets/{tooltip-Cx8u2hvs.js → tooltip-DjBYlSjK.js} +1 -1
  184. package/dist/client/assets/{types-CZnHlJyi.js → types-I4bGGmPg.js} +19 -19
  185. package/dist/client/assets/{use-ai-providers-CmWP-lNT.js → use-ai-providers-BdU26Ah1.js} +1 -1
  186. package/dist/client/assets/{use-automations-Bi6clolz.js → use-automations-DOs6eBSZ.js} +1 -1
  187. package/dist/client/assets/{use-capability-B6JwqpW7.js → use-capability-Dzq6Bisq.js} +1 -1
  188. package/dist/client/assets/use-collections-VJ2gqsdi.js +1 -0
  189. package/dist/client/assets/{use-connection-DkHV4tpA.js → use-connection-CXK4eJ8D.js} +1 -1
  190. package/dist/client/assets/{use-copy-BKH_ay1V.js → use-copy-DNF_xTyk.js} +1 -1
  191. package/dist/client/assets/{use-create-virtual-mcp-UfIRObXS.js → use-create-virtual-mcp-YcZkU7UR.js} +1 -1
  192. package/dist/client/assets/{use-debounced-autosave-BTVTsOKV.js → use-debounced-autosave-B3zncsM_.js} +1 -1
  193. package/dist/client/assets/use-delete-connection-BwHdKngt.js +1 -0
  194. package/dist/client/assets/{use-file-configs-DC8U7Oa7.js → use-file-configs-DkyMSTLH.js} +1 -1
  195. package/dist/client/assets/{use-infinite-scroll-DV-4RP03.js → use-infinite-scroll-HH8GENKX.js} +1 -1
  196. package/dist/client/assets/{use-list-state-Mwh_8jAB.js → use-list-state-DTTdz8wm.js} +1 -1
  197. package/dist/client/assets/use-mcp-prompts-CVpfcaNj.js +1 -0
  198. package/dist/client/assets/use-mcp-tools-PoAtDkM2.js +1 -0
  199. package/dist/client/assets/{use-members-CtpiNo8J.js → use-members-BtoFg3-I.js} +1 -1
  200. package/dist/client/assets/{use-navigate-to-agent-C81Y1E7k.js → use-navigate-to-agent-C9nwjmya.js} +1 -1
  201. package/dist/client/assets/{use-org-auth-client-DVt08ImK.js → use-org-auth-client-q5-USMbu.js} +1 -1
  202. package/dist/client/assets/{use-org-sso-B96bQNMI.js → use-org-sso-zB87Inuk.js} +1 -1
  203. package/dist/client/assets/{use-organization-roles-DRbW9m6o.js → use-organization-roles-Bye-MpK5.js} +1 -1
  204. package/dist/client/assets/{use-organization-settings-BDlR4IeW.js → use-organization-settings--vsQI-Ms.js} +1 -1
  205. package/dist/client/assets/{use-registry-connections-BCrdHAv1.js → use-registry-connections-BYv9Ob-m.js} +1 -1
  206. package/dist/client/assets/{use-secrets-ODuzEevV.js → use-secrets-uqIdLNLc.js} +1 -1
  207. package/dist/client/assets/{use-status-sounds-DEheRMHk.js → use-status-sounds-DrT-Tr09.js} +1 -1
  208. package/dist/client/assets/{use-view-mode-BoGNEuZa.js → use-view-mode-Cp1ETvgV.js} +1 -1
  209. package/dist/client/assets/use-virtual-mcp-z0hFit1f.js +1 -0
  210. package/dist/client/assets/useInfiniteQuery-JptJrV0H.js +1 -0
  211. package/dist/client/assets/{useRouterState-BRj2kxuq.js → useRouterState-fo-Z74Ek.js} +1 -1
  212. package/dist/client/assets/useSuspenseInfiniteQuery-Dg59byu5.js +1 -0
  213. package/dist/client/assets/{user-C5EKJb7v.js → user-DIXNb7DL.js} +1 -1
  214. package/dist/client/assets/{view-mode-toggle-DbMrI7Rd.js → view-mode-toggle-BaN0GlRl.js} +1 -1
  215. package/dist/client/assets/{workflow-DyKfGm6u.js → workflow-CE3SA7F3.js} +1 -1
  216. package/dist/client/assets/workflow-detail-CL1QoJdW.js +1 -0
  217. package/dist/client/index.html +1 -1
  218. package/dist/server/cli.js +425 -415
  219. package/dist/server/migrate.js +57 -57
  220. package/dist/server/server.js +288 -278
  221. package/package.json +1 -1
  222. package/dist/client/assets/accordion-BelQbjLG.js +0 -1
  223. package/dist/client/assets/add-section-modal-ClL4Powp.js +0 -1
  224. package/dist/client/assets/app-editor-D9kT95TJ.js +0 -1
  225. package/dist/client/assets/connection-detail-DWDzLFqi.js +0 -1
  226. package/dist/client/assets/connection-form-helpers-BL61O5Zc.js +0 -1
  227. package/dist/client/assets/connections-uscIXarN.js +0 -1
  228. package/dist/client/assets/constants-BFQrPD6r.js +0 -10
  229. package/dist/client/assets/features-B1yvHilR.js +0 -1
  230. package/dist/client/assets/org-install-Chh9koDm.js +0 -1
  231. package/dist/client/assets/page-seo-sheet-Dra624a7.js +0 -1
  232. package/dist/client/assets/project-app-view-uOoeNe2E.js +0 -1
  233. package/dist/client/assets/record-editor-CMLZ85jn.js +0 -1
  234. package/dist/client/assets/registry-aoqZ94q5.js +0 -2
  235. package/dist/client/assets/registry-layout-CEjdQi8i.js +0 -27
  236. package/dist/client/assets/select-CVZQAcm7.js +0 -1
  237. package/dist/client/assets/shell-layout-v69WfJwF.js +0 -1
  238. package/dist/client/assets/shell-route-loading-DqEXsH0r.js +0 -1
  239. package/dist/client/assets/store-registry-s8ISYHIv.js +0 -2
  240. package/dist/client/assets/use-collections-C1EEoGdl.js +0 -1
  241. package/dist/client/assets/use-delete-connection-D9RSUNNZ.js +0 -1
  242. package/dist/client/assets/use-mcp-prompts-CeFy4g83.js +0 -1
  243. package/dist/client/assets/use-mcp-tools-BS9dyBS-.js +0 -1
  244. package/dist/client/assets/use-virtual-mcp-CtYRrEgz.js +0 -1
  245. package/dist/client/assets/useInfiniteQuery-B2j87XPZ.js +0 -1
  246. package/dist/client/assets/useSuspenseInfiniteQuery-BbIHskrR.js +0 -1
  247. package/dist/client/assets/workflow-detail-DBpAT1yB.js +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "decocms",
3
- "version": "3.10.3",
3
+ "version": "3.12.0",
4
4
  "description": "Deco CMS — Self-hostable MCP Gateway for managing AI connections and tools",
5
5
  "author": "Deco team",
6
6
  "repository": {
@@ -1 +0,0 @@
1
- import{b1 as l,j as s,a6 as O,bd as W,bt as X,bc as M,af as Z,bq as ee,bb as oe,a7 as te,e as A,c as E}from"./index-B9kRhzg7.js";import{T as re,g as ne,k as ce,l as V}from"./scroll-area-DSB3avJ3.js";import{i as ae}from"./ChevronRight-BD7fiLv7.js";var d="Accordion",se=["Home","End","ArrowDown","ArrowUp","ArrowLeft","ArrowRight"],[S,ie,le]=X(d),[C]=Z(d,[le,V]),k=V(),$=l.forwardRef((n,e)=>{const{type:o,...t}=n,c=t,r=t;return s.jsx(S.Provider,{scope:n.__scopeAccordion,children:o==="multiple"?s.jsx(ue,{...r,ref:e}):s.jsx(fe,{...c,ref:e})})});$.displayName=d;var[H,de]=C(d),[K,pe]=C(d,{collapsible:!1}),fe=l.forwardRef((n,e)=>{const{value:o,defaultValue:t,onValueChange:c=()=>{},collapsible:r=!1,...a}=n,[i,p]=M({prop:o,defaultProp:t??"",onChange:c,caller:d});return s.jsx(H,{scope:n.__scopeAccordion,value:l.useMemo(()=>i?[i]:[],[i]),onItemOpen:p,onItemClose:l.useCallback(()=>r&&p(""),[r,p]),children:s.jsx(K,{scope:n.__scopeAccordion,collapsible:r,children:s.jsx(z,{...a,ref:e})})})}),ue=l.forwardRef((n,e)=>{const{value:o,defaultValue:t,onValueChange:c=()=>{},...r}=n,[a,i]=M({prop:o,defaultProp:t??[],onChange:c,caller:d}),p=l.useCallback(x=>i((u=[])=>[...u,x]),[i]),m=l.useCallback(x=>i((u=[])=>u.filter(I=>I!==x)),[i]);return s.jsx(H,{scope:n.__scopeAccordion,value:a,onItemOpen:p,onItemClose:m,children:s.jsx(K,{scope:n.__scopeAccordion,collapsible:!0,children:s.jsx(z,{...r,ref:e})})})}),[me,h]=C(d),z=l.forwardRef((n,e)=>{const{__scopeAccordion:o,disabled:t,dir:c,orientation:r="vertical",...a}=n,i=l.useRef(null),p=ee(i,e),m=ie(o),u=oe(c)==="ltr",I=te(n.onKeyDown,v=>{if(!se.includes(v.key))return;const J=v.target,j=m().filter(P=>!P.ref.current?.disabled),b=j.findIndex(P=>P.ref.current===J),T=j.length;if(b===-1)return;v.preventDefault();let f=b;const _=0,w=T-1,N=()=>{f=b+1,f>w&&(f=_)},R=()=>{f=b-1,f<_&&(f=w)};switch(v.key){case"Home":f=_;break;case"End":f=w;break;case"ArrowRight":r==="horizontal"&&(u?N():R());break;case"ArrowDown":r==="vertical"&&N();break;case"ArrowLeft":r==="horizontal"&&(u?R():N());break;case"ArrowUp":r==="vertical"&&R();break}const Q=f%T;j[Q].ref.current?.focus()});return s.jsx(me,{scope:o,disabled:t,direction:c,orientation:r,children:s.jsx(S.Slot,{scope:o,children:s.jsx(O.div,{...a,"data-orientation":r,ref:p,onKeyDown:t?void 0:I})})})}),g="AccordionItem",[xe,D]=C(g),L=l.forwardRef((n,e)=>{const{__scopeAccordion:o,value:t,...c}=n,r=h(g,o),a=de(g,o),i=k(o),p=W(),m=t&&a.value.includes(t)||!1,x=r.disabled||n.disabled;return s.jsx(xe,{scope:o,open:m,disabled:x,triggerId:p,children:s.jsx(ne,{"data-orientation":r.orientation,"data-state":F(m),...i,...c,ref:e,disabled:x,open:m,onOpenChange:u=>{u?a.onItemOpen(t):a.onItemClose(t)}})})});L.displayName=g;var G="AccordionHeader",U=l.forwardRef((n,e)=>{const{__scopeAccordion:o,...t}=n,c=h(d,o),r=D(G,o);return s.jsx(O.h3,{"data-orientation":c.orientation,"data-state":F(r.open),"data-disabled":r.disabled?"":void 0,...t,ref:e})});U.displayName=G;var y="AccordionTrigger",q=l.forwardRef((n,e)=>{const{__scopeAccordion:o,...t}=n,c=h(d,o),r=D(y,o),a=pe(y,o),i=k(o);return s.jsx(S.ItemSlot,{scope:o,children:s.jsx(re,{"aria-disabled":r.open&&!a.collapsible||void 0,"data-orientation":c.orientation,id:r.triggerId,...i,...t,ref:e})})});q.displayName=y;var Y="AccordionContent",B=l.forwardRef((n,e)=>{const{__scopeAccordion:o,...t}=n,c=h(d,o),r=D(Y,o),a=k(o);return s.jsx(ce,{role:"region","aria-labelledby":r.triggerId,"data-orientation":c.orientation,...a,...t,ref:e,style:{"--radix-accordion-content-height":"var(--radix-collapsible-content-height)","--radix-accordion-content-width":"var(--radix-collapsible-content-width)",...n.style}})});B.displayName=Y;function F(n){return n?"open":"closed"}var ve=$,be=L,ge=U,Ae=q,Ce=B;function _e(n){const e=A.c(4);let o;e[0]!==n?({...o}=n,e[0]=n,e[1]=o):o=e[1];let t;return e[2]!==o?(t=s.jsx(ve,{"data-slot":"accordion",...o}),e[2]=o,e[3]=t):t=e[3],t}function we(n){const e=A.c(8);let o,t;e[0]!==n?({className:o,...t}=n,e[0]=n,e[1]=o,e[2]=t):(o=e[1],t=e[2]);let c;e[3]!==o?(c=E("border-b last:border-b-0",o),e[3]=o,e[4]=c):c=e[4];let r;return e[5]!==t||e[6]!==c?(r=s.jsx(be,{"data-slot":"accordion-item",className:c,...t}),e[5]=t,e[6]=c,e[7]=r):r=e[7],r}function Ne(n){const e=A.c(11);let o,t,c;e[0]!==n?({className:t,children:o,...c}=n,e[0]=n,e[1]=o,e[2]=t,e[3]=c):(o=e[1],t=e[2],c=e[3]);let r;e[4]!==t?(r=E("focus-visible:border-ring focus-visible:ring-ring/20 flex flex-1 items-center justify-between gap-4 py-4 text-left text-sm font-medium transition-all outline-none hover:bg-accent/50 focus-visible:ring-[2px] disabled:pointer-events-none disabled:opacity-50 [&[data-state=open]>svg]:rotate-90",t),e[4]=t,e[5]=r):r=e[5];let a;e[6]===Symbol.for("react.memo_cache_sentinel")?(a=s.jsx(ae,{className:"text-muted-foreground pointer-events-none size-4 shrink-0 transition-transform duration-200"}),e[6]=a):a=e[6];let i;return e[7]!==o||e[8]!==c||e[9]!==r?(i=s.jsx(ge,{className:"flex",children:s.jsxs(Ae,{"data-slot":"accordion-trigger",className:r,...c,children:[o,a]})}),e[7]=o,e[8]=c,e[9]=r,e[10]=i):i=e[10],i}function Re(n){const e=A.c(12);let o,t,c;e[0]!==n?({className:t,children:o,...c}=n,e[0]=n,e[1]=o,e[2]=t,e[3]=c):(o=e[1],t=e[2],c=e[3]);let r;e[4]!==t?(r=E("pt-0 pb-4",t),e[4]=t,e[5]=r):r=e[5];let a;e[6]!==o||e[7]!==r?(a=s.jsx("div",{className:r,children:o}),e[6]=o,e[7]=r,e[8]=a):a=e[8];let i;return e[9]!==c||e[10]!==a?(i=s.jsx(Ce,{"data-slot":"accordion-content",className:"data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down overflow-hidden text-sm",...c,children:a}),e[9]=c,e[10]=a,e[11]=i):i=e[11],i}export{Ne as A,Re as a,_e as b,we as c};
@@ -1 +0,0 @@
1
- import{e as D,r as g,j as r,c as H}from"./index-B9kRhzg7.js";import{B as _}from"./agent-icon-DFJgaXFK.js";import{i as V}from"./SearchMd-CxJnyPJ2.js";import{D as X,a as J,c as K,b as Q}from"./dialog-J9xRnRHX.js";import{I as Y}from"./input-DCOoktZX.js";import{_ as Z,X as ee,$ as te,a0 as G,G as re}from"./index-CPhpCeI1.js";import"./AlertCircle-DQ3zaMns.js";import"./Tool01-DRibBi0T.js";import"./SwitchHorizontal01-BjgMZfW7.js";import"./RefreshCcw01-Dk9AOo-m.js";import"./XCircle-BvIhN4E7.js";import"./ArrowUpRight-UT01ancE.js";import"./ZapSquare-C79zBXJj.js";import"./Users03-DhXF_0sH.js";import"./CheckCircle-CN8csJmd.js";import"./Check-DCJCCJt5.js";import"./ChevronDown-vntP1LF0.js";import"./ChevronLeft-_4tt3JbP.js";import"./ChevronRight-BD7fiLv7.js";import"./ChevronUp-B9NZzlEX.js";import"./DotsVertical-DDPFnnRS.js";import"./Container-DlDQbtuJ.js";import"./Eye-ogI2y4CN.js";import"./ZoomOut-B5B07_-g.js";import"./Globe01-C2fKyC2-.js";import"./FilterLines-DpUfIC-u.js";import"./Star01-Cu6cUuhf.js";import"./Palette-OtFJ1ywH.js";import"./HardDrive-Ik-OtFON.js";import"./Stars02-Bo6vryYW.js";import"./Key01-CmprkySl.js";import"./LayoutLeft-BO92HMhM.js";import"./LinkExternal01-9W209kLr.js";import"./Monitor01-B0FKK9nk.js";import"./Sun-Bg1tFzcn.js";import"./Play-B9TsjtCB.js";import"./Plus-BnGx63GX.js";import"./Settings02-PSRUEgfS.js";import"./Shield01-Do71Dyqk.js";import"./Stars01-BuMp0jeZ.js";import"./Trash01-DfuJtop_.js";import"./Upload01-DGWS8Icx.js";import"./User01-B1RcIkcM.js";import"./Users01-CyxI-ZiC.js";import"./XClose-CXacF9IM.js";import"./X-COnjMnsv.js";import"./Zap-BM6RWRPw.js";import"./agent-capabilities-BQdt-MuJ.js";import"./pair-ETmN3fj_.js";import"./format-time-Cy7tTmZp.js";import"./differenceInSeconds-NQ4PDo0z.js";import"./scroll-area-DSB3avJ3.js";import"./select-CVZQAcm7.js";import"./tooltip-Cx8u2hvs.js";import"./use-copy-BKH_ay1V.js";import"./file-type-icon-DPEVE6_q.js";import"./content-blocks-o63cs2vh.js";import"./types-CZnHlJyi.js";import"./constants-BFQrPD6r.js";import"./chat-context-CL-ll6R6.js";import"./tab-id-DiLpeikj.js";import"./decopilot-sse-pool-DIAcxt2i.js";import"./create-sse-subscription-BS5983N4.js";import"./unwrap-tool-result-BYXdCQMg.js";import"./use-virtual-mcp-CtYRrEgz.js";import"./use-collections-C1EEoGdl.js";import"./use-ai-providers-CmWP-lNT.js";import"./use-organization-settings-BDlR4IeW.js";import"./shell-layout-v69WfJwF.js";import"./avatar-CuZPsvd7.js";import"./required-auth-layout-DQ_j0OWf.js";import"./useRouterState-BRj2kxuq.js";import"./use-org-sso-B96bQNMI.js";import"./integration-icon-D0rRtQFH.js";import"./use-navigate-to-agent-C81Y1E7k.js";import"./use-connection-DkHV4tpA.js";import"./use-mcp-prompts-CeFy4g83.js";import"./form-C4TJnG5K.js";import"./label-dlG4_xKf.js";import"./spinner-1Hxy4oL5.js";import"./drawer-NwIwuvOD.js";import"./collection-search-CljcPIbT.js";import"./tabs-DGoyKbi9.js";import"./toggle-group-kjmQGkBo.js";import"./connect-desktop-dialog-CAgFYUmf.js";import"./agent-icons-CkZUPYja.js";import"./checkbox-4DJ-sElS.js";import"./skeleton-KI9W-P-f.js";import"./ai-providers-logos-DD3qZ33J.js";import"./settings-section-Bx1_7ym7.js";import"./card-DsraaOS_.js";import"./popover-Dinj8RAt.js";import"./command-Cwxrfu8T.js";import"./index-X8qPybJt.js";import"./useInfiniteQuery-B2j87XPZ.js";import"./infiniteQueryObserver-Xb1xysnw.js";import"./sortable.esm-tovEx4aa.js";import"./connection-slug-eyAPH6o3.js";import"./connection-card-Dmrkhocz.js";import"./use-registry-connections-BCrdHAv1.js";import"./extract-connection-data-J0nLi0pB.js";import"./generate-id-C8OHZs1-.js";import"./collections-C8UGR0dQ.js";import"./collection-tabs-BgZPPjBK.js";import"./badge-BCXaZ3jr.js";import"./textarea-CaPEW-IU.js";import"./connection-form-helpers-BL61O5Zc.js";import"./use-infinite-scroll-DV-4RP03.js";import"./useSuspenseInfiniteQuery-BbIHskrR.js";import"./index-jPAWrqoL.js";import"./dropdown-menu-Do65ajnt.js";import"./question-004-sINsf4GQ.js";import"./shell-route-loading-DqEXsH0r.js";import"./sidebar-BMIDAt6t.js";import"./sheet-BLkB41eQ.js";import"./toolbar-CuMC4awt.js";import"./use-create-virtual-mcp-UfIRObXS.js";import"./github-repo-picker-BXy4amYZ.js";import"./use-mcp-tools-BS9dyBS-.js";import"./alert-dialog-BpOf9MAK.js";import"./index-DgQteD84.js";import"./use-org-auth-client-DVt08ImK.js";import"./hover-card-CzsSQjRq.js";import"./task-status-nPHS0i2v.js";import"./use-status-sounds-DEheRMHk.js";import"./empty-state-BqVzURvi.js";import"./resizable-CEMGS5N9.js";import"./use-capability-B6JwqpW7.js";import"./header-tab-button-CfRERpsl.js";import"./index-BQhstHsz.js";import"./user-C5EKJb7v.js";import"./tools-list-CCmWgH3U.js";import"./switch-BtXimVeh.js";import"./use-debounced-autosave-BTVTsOKV.js";import"./index-Bx5wFMxU.js";import"./search-input-Dny3m5xa.js";import"./use-secrets-ODuzEevV.js";import"./formatDistanceToNow-Cb2QZZJn.js";import"./accordion-BelQbjLG.js";import"./view-mode-toggle-DbMrI7Rd.js";import"./select-model-BLCOUHJb.js";import"./use-automations-Bi6clolz.js";import"./monaco-editor-C03OGypq.js";import"./automation-runs-W1XLcZy_.js";import"./table-CZLBrik6.js";import"./use-members-CtpiNo8J.js";import"./automation-list-row-CPxwK1jZ.js";const oe=12,E=new Set,$=new Set;function ie(){for(const l of $)l()}function se(l){return E.has(l)?!0:E.size>=oe?!1:(E.add(l),!0)}function F(l){E.delete(l)&&ie()}function le(l){return $.add(l),()=>{$.delete(l)}}function me(l,e){const t=g.useRef(!1),[v,n]=g.useState(!1),m=g.useRef(null),p=g.useRef(null),i=g.useRef(null),o=g.useRef(l);o.current=l;const[x]=g.useState(()=>{const s=()=>{i.current?.(),i.current=null},c=()=>t.current?!0:se(e)?(t.current=!0,n(!0),s(),!0):!1;return f=>{if(p.current=f,m.current&&(m.current.disconnect(),m.current=null),s(),!f){t.current&&(F(e),t.current=!1,n(!1));return}queueMicrotask(()=>{if(p.current!==f)return;const a=new IntersectionObserver(u=>{if(u[0]?.isIntersecting??!1){!c()&&!i.current&&(i.current=le(()=>{p.current===f&&c()}));return}s(),t.current&&(F(e),t.current=!1,n(!1))},{root:o.current.current,rootMargin:"160px 0px"});a.observe(f),m.current=a})}});return{ref:x,iframeActive:v}}function ne(l){const e=D.c(8),{previewUrl:t,title:v,scrollRootRef:n,slotId:m}=l,{ref:p,iframeActive:i}=me(n,m),[o,x]=g.useState(!1);let s;e[0]!==i||e[1]!==o||e[2]!==t||e[3]!==v?(s=i?r.jsxs(r.Fragment,{children:[!o&&r.jsx("div",{className:"absolute inset-0 flex items-center justify-center bg-muted/40",children:r.jsx(_,{className:"h-8 w-8 animate-pulse text-muted-foreground/40"})}),r.jsx("iframe",{src:t,title:`Preview ${v}`,sandbox:"allow-scripts allow-same-origin",referrerPolicy:"no-referrer",className:"pointer-events-none h-[200%] w-[200%] origin-top-left scale-50 border-0 bg-white",tabIndex:-1,onLoad:()=>x(!0)})]}):r.jsx("div",{className:"flex h-full items-center justify-center",children:r.jsx(_,{className:"h-8 w-8 text-muted-foreground/30"})}),e[0]=i,e[1]=o,e[2]=t,e[3]=v,e[4]=s):s=e[4];let c;return e[5]!==p||e[6]!==s?(c=r.jsx("div",{ref:p,className:"relative aspect-[16/10] w-full overflow-hidden bg-muted/40",children:s}),e[5]=p,e[6]=s,e[7]=c):c=e[7],c}function pe(l){const e=D.c(26),{entry:t,previewUrl:v,scrollRootRef:n,onSelect:m}=l,p=t.isSavedBlock&&"border-global-section/35 hover:bg-global-section/8";let i;e[0]!==p?(i=H("group flex flex-col overflow-hidden rounded-lg border bg-card text-left transition-colors","hover:border-primary/40 hover:bg-accent/30",p),e[0]=p,e[1]=i):i=e[1];let o;e[2]!==t.resolveType||e[3]!==t.title||e[4]!==v||e[5]!==n?(o=r.jsx(ne,{previewUrl:v,title:t.title,scrollRootRef:n,slotId:t.resolveType}),e[2]=t.resolveType,e[3]=t.title,e[4]=v,e[5]=n,e[6]=o):o=e[6];let x;e[7]!==t.isSavedBlock?(x=t.isSavedBlock?{color:re}:void 0,e[7]=t.isSavedBlock,e[8]=x):x=e[8];let s;e[9]!==x?(s=r.jsx(_,{className:"h-4 w-4 shrink-0",style:x}),e[9]=x,e[10]=s):s=e[10];let c;e[11]!==t.title?(c=r.jsx("p",{className:"truncate text-sm font-medium",children:t.title}),e[11]=t.title,e[12]=c):c=e[12];let f;e[13]!==t.description?(f=t.description&&r.jsx("p",{className:"truncate text-xs text-muted-foreground",children:t.description}),e[13]=t.description,e[14]=f):f=e[14];let a;e[15]!==c||e[16]!==f?(a=r.jsxs("div",{className:"min-w-0 flex-1",children:[c,f]}),e[15]=c,e[16]=f,e[17]=a):a=e[17];let u;e[18]!==s||e[19]!==a?(u=r.jsxs("div",{className:"flex items-center gap-2 border-t px-3 py-2.5",children:[s,a]}),e[18]=s,e[19]=a,e[20]=u):u=e[20];let h;return e[21]!==m||e[22]!==i||e[23]!==o||e[24]!==u?(h=r.jsxs("button",{type:"button",onClick:m,className:i,children:[o,u]}),e[21]=m,e[22]=i,e[23]=o,e[24]=u,e[25]=h):h=e[25],h}function Jr(l){const e=D.c(41),{open:t,onOpenChange:v,meta:n,decofile:m,previewBaseUrl:p,onSelect:i}=l,[o,x]=g.useState(""),[s,c]=g.useState(t),f=g.useRef(null);t!==s&&(c(t),t&&x(""));let a,u,h,b,S,j,N,y,w,R,C;if(e[0]!==m||e[1]!==n||e[2]!==v||e[3]!==i||e[4]!==t||e[5]!==p||e[6]!==o){const U=t&&n&&m?Z(n,m):[],M=n?ee(n):"",z=m?te(m):void 0,W=new Map;if(t&&M)for(const d of U)W.set(d.resolveType,G(p,M,d.previewBlock,z));const A=o.trim().toLowerCase(),q=A?U.filter(d=>d.title.toLowerCase().includes(A)||d.resolveType.toLowerCase().includes(A)||d.description?.toLowerCase().includes(A)):U;u=X,R=t,C=v,a=J,N="top-3 right-3",y="flex h-[90vh] max-h-[90vh] w-[96vw] max-w-[96vw] sm:max-w-[96vw] flex-col gap-0 overflow-hidden p-0";let B;e[18]===Symbol.for("react.memo_cache_sentinel")?(B=r.jsx(K,{children:"Add section"}),e[18]=B):B=e[18];let O;e[19]===Symbol.for("react.memo_cache_sentinel")?(O=r.jsx(V,{size:14,className:"pointer-events-none absolute left-2.5 top-1/2 -translate-y-1/2 text-muted-foreground"}),e[19]=O):O=e[19];let k;e[20]===Symbol.for("react.memo_cache_sentinel")?(k=d=>x(d.target.value),e[20]=k):k=e[20],e[21]!==o?(w=r.jsxs(Q,{className:"shrink-0 border-b px-4 py-3 text-left",children:[B,r.jsxs("div",{className:"relative pt-2",children:[O,r.jsx(Y,{value:o,onChange:k,placeholder:"Search sections...",className:"h-9 pl-8"})]})]}),e[21]=o,e[22]=w):w=e[22],S=f,j="min-h-0 flex-1 overflow-y-auto",h="p-4",b=q.length===0?r.jsx("p",{className:"py-8 text-center text-sm text-muted-foreground",children:"No sections found."}):r.jsx("div",{className:"grid grid-cols-1 gap-3 sm:grid-cols-2 lg:grid-cols-3",children:q.map(d=>r.jsx(pe,{entry:d,scrollRootRef:f,previewUrl:W.get(d.resolveType)??G(p,M,d.previewBlock,z),onSelect:()=>i(d)},d.resolveType))}),e[0]=m,e[1]=n,e[2]=v,e[3]=i,e[4]=t,e[5]=p,e[6]=o,e[7]=a,e[8]=u,e[9]=h,e[10]=b,e[11]=S,e[12]=j,e[13]=N,e[14]=y,e[15]=w,e[16]=R,e[17]=C}else a=e[7],u=e[8],h=e[9],b=e[10],S=e[11],j=e[12],N=e[13],y=e[14],w=e[15],R=e[16],C=e[17];let T;e[23]!==h||e[24]!==b?(T=r.jsx("div",{className:h,children:b}),e[23]=h,e[24]=b,e[25]=T):T=e[25];let I;e[26]!==T||e[27]!==S||e[28]!==j?(I=r.jsx("div",{ref:S,className:j,children:T}),e[26]=T,e[27]=S,e[28]=j,e[29]=I):I=e[29];let L;e[30]!==a||e[31]!==I||e[32]!==N||e[33]!==y||e[34]!==w?(L=r.jsxs(a,{closeButtonClassName:N,className:y,children:[w,I]}),e[30]=a,e[31]=I,e[32]=N,e[33]=y,e[34]=w,e[35]=L):L=e[35];let P;return e[36]!==u||e[37]!==L||e[38]!==R||e[39]!==C?(P=r.jsx(u,{open:R,onOpenChange:C,children:L}),e[36]=u,e[37]=L,e[38]=R,e[39]=C,e[40]=P):P=e[40],P}export{Jr as AddSectionModal};
@@ -1 +0,0 @@
1
- import{e as M,r as S,j as o,l as q}from"./index-B9kRhzg7.js";import{S as G}from"./scroll-area-DSB3avJ3.js";import{j as H,a4 as J,d as Q}from"./index-CPhpCeI1.js";import{S as U}from"./schema-form-ETVh-DHz.js";import{S as W}from"./save-status-BCvLZZx5.js";import"./select-CVZQAcm7.js";import"./tooltip-Cx8u2hvs.js";import"./Check-DCJCCJt5.js";import"./ChevronDown-vntP1LF0.js";import"./ChevronUp-B9NZzlEX.js";import"./agent-capabilities-BQdt-MuJ.js";import"./pair-ETmN3fj_.js";import"./agent-icon-DFJgaXFK.js";import"./AlertCircle-DQ3zaMns.js";import"./Tool01-DRibBi0T.js";import"./SwitchHorizontal01-BjgMZfW7.js";import"./RefreshCcw01-Dk9AOo-m.js";import"./XCircle-BvIhN4E7.js";import"./ArrowUpRight-UT01ancE.js";import"./ZapSquare-C79zBXJj.js";import"./Users03-DhXF_0sH.js";import"./CheckCircle-CN8csJmd.js";import"./ChevronLeft-_4tt3JbP.js";import"./ChevronRight-BD7fiLv7.js";import"./DotsVertical-DDPFnnRS.js";import"./Container-DlDQbtuJ.js";import"./Eye-ogI2y4CN.js";import"./ZoomOut-B5B07_-g.js";import"./Globe01-C2fKyC2-.js";import"./FilterLines-DpUfIC-u.js";import"./Star01-Cu6cUuhf.js";import"./Palette-OtFJ1ywH.js";import"./HardDrive-Ik-OtFON.js";import"./Stars02-Bo6vryYW.js";import"./Key01-CmprkySl.js";import"./LayoutLeft-BO92HMhM.js";import"./LinkExternal01-9W209kLr.js";import"./Monitor01-B0FKK9nk.js";import"./Sun-Bg1tFzcn.js";import"./Play-B9TsjtCB.js";import"./Plus-BnGx63GX.js";import"./SearchMd-CxJnyPJ2.js";import"./Settings02-PSRUEgfS.js";import"./Shield01-Do71Dyqk.js";import"./Stars01-BuMp0jeZ.js";import"./Trash01-DfuJtop_.js";import"./Upload01-DGWS8Icx.js";import"./User01-B1RcIkcM.js";import"./Users01-CyxI-ZiC.js";import"./XClose-CXacF9IM.js";import"./X-COnjMnsv.js";import"./Zap-BM6RWRPw.js";import"./format-time-Cy7tTmZp.js";import"./differenceInSeconds-NQ4PDo0z.js";import"./use-copy-BKH_ay1V.js";import"./file-type-icon-DPEVE6_q.js";import"./dialog-J9xRnRHX.js";import"./content-blocks-o63cs2vh.js";import"./types-CZnHlJyi.js";import"./constants-BFQrPD6r.js";import"./chat-context-CL-ll6R6.js";import"./tab-id-DiLpeikj.js";import"./decopilot-sse-pool-DIAcxt2i.js";import"./create-sse-subscription-BS5983N4.js";import"./unwrap-tool-result-BYXdCQMg.js";import"./use-virtual-mcp-CtYRrEgz.js";import"./use-collections-C1EEoGdl.js";import"./use-ai-providers-CmWP-lNT.js";import"./use-organization-settings-BDlR4IeW.js";import"./shell-layout-v69WfJwF.js";import"./avatar-CuZPsvd7.js";import"./required-auth-layout-DQ_j0OWf.js";import"./useRouterState-BRj2kxuq.js";import"./use-org-sso-B96bQNMI.js";import"./integration-icon-D0rRtQFH.js";import"./use-navigate-to-agent-C81Y1E7k.js";import"./use-connection-DkHV4tpA.js";import"./use-mcp-prompts-CeFy4g83.js";import"./form-C4TJnG5K.js";import"./label-dlG4_xKf.js";import"./input-DCOoktZX.js";import"./spinner-1Hxy4oL5.js";import"./drawer-NwIwuvOD.js";import"./collection-search-CljcPIbT.js";import"./tabs-DGoyKbi9.js";import"./toggle-group-kjmQGkBo.js";import"./connect-desktop-dialog-CAgFYUmf.js";import"./agent-icons-CkZUPYja.js";import"./checkbox-4DJ-sElS.js";import"./skeleton-KI9W-P-f.js";import"./ai-providers-logos-DD3qZ33J.js";import"./settings-section-Bx1_7ym7.js";import"./card-DsraaOS_.js";import"./popover-Dinj8RAt.js";import"./command-Cwxrfu8T.js";import"./index-X8qPybJt.js";import"./useInfiniteQuery-B2j87XPZ.js";import"./infiniteQueryObserver-Xb1xysnw.js";import"./sortable.esm-tovEx4aa.js";import"./connection-slug-eyAPH6o3.js";import"./connection-card-Dmrkhocz.js";import"./use-registry-connections-BCrdHAv1.js";import"./extract-connection-data-J0nLi0pB.js";import"./generate-id-C8OHZs1-.js";import"./collections-C8UGR0dQ.js";import"./collection-tabs-BgZPPjBK.js";import"./badge-BCXaZ3jr.js";import"./textarea-CaPEW-IU.js";import"./connection-form-helpers-BL61O5Zc.js";import"./use-infinite-scroll-DV-4RP03.js";import"./useSuspenseInfiniteQuery-BbIHskrR.js";import"./index-jPAWrqoL.js";import"./dropdown-menu-Do65ajnt.js";import"./question-004-sINsf4GQ.js";import"./shell-route-loading-DqEXsH0r.js";import"./sidebar-BMIDAt6t.js";import"./sheet-BLkB41eQ.js";import"./toolbar-CuMC4awt.js";import"./use-create-virtual-mcp-UfIRObXS.js";import"./github-repo-picker-BXy4amYZ.js";import"./use-mcp-tools-BS9dyBS-.js";import"./alert-dialog-BpOf9MAK.js";import"./index-DgQteD84.js";import"./use-org-auth-client-DVt08ImK.js";import"./hover-card-CzsSQjRq.js";import"./task-status-nPHS0i2v.js";import"./use-status-sounds-DEheRMHk.js";import"./empty-state-BqVzURvi.js";import"./resizable-CEMGS5N9.js";import"./use-capability-B6JwqpW7.js";import"./header-tab-button-CfRERpsl.js";import"./index-BQhstHsz.js";import"./user-C5EKJb7v.js";import"./tools-list-CCmWgH3U.js";import"./switch-BtXimVeh.js";import"./use-debounced-autosave-BTVTsOKV.js";import"./index-Bx5wFMxU.js";import"./search-input-Dny3m5xa.js";import"./use-secrets-ODuzEevV.js";import"./formatDistanceToNow-Cb2QZZJn.js";import"./accordion-BelQbjLG.js";import"./view-mode-toggle-DbMrI7Rd.js";import"./select-model-BLCOUHJb.js";import"./use-automations-Bi6clolz.js";import"./monaco-editor-C03OGypq.js";import"./automation-runs-W1XLcZy_.js";import"./table-CZLBrik6.js";import"./use-members-CtpiNo8J.js";import"./automation-list-row-CPxwK1jZ.js";import"./calendar-DfGnEJr6.js";import"./image-field-ixadfB5p.js";import"./use-file-configs-DC8U7Oa7.js";function qo(g){const t=M.c(38),{orgSlug:N,virtualMcpId:_,branch:k,blockKey:r,block:i,meta:m,title:E,excludeFields:n,schemaPending:C}=g,P=C===void 0?!1:C,e=typeof i?.__resolveType=="string"?i.__resolveType:"";let d;if(t[0]!==n||t[1]!==m||t[2]!==e){const c=e?H(e,m):null;d=c&&n?.length?{...c,properties:Object.fromEntries(Object.entries(c.properties??{}).filter(y=>{const[I]=y;return!n.includes(I)}))}:c,t[0]=n,t[1]=m,t[2]=e,t[3]=d}else d=t[3];const f=d;let u;t[4]!==i||t[5]!==r||t[6]!==m||t[7]!==E?(u=E??(i?J(r,i,m):r),t[4]=i,t[5]=r,t[6]=m,t[7]=E,t[8]=u):u=t[8];const B=u;let x;t[9]!==k||t[10]!==N||t[11]!==_?(x={orgSlug:N,virtualMcpId:_,branch:k},t[9]=k,t[10]=N,t[11]=_,t[12]=x):x=t[12];const{save:K,isPending:R}=Q(x),[A,L]=S.useState(r),[z,O]=S.useState(null),[V,D]=S.useState(0);let h;t[13]===Symbol.for("react.memo_cache_sentinel")?(h=[],t[13]=h):h=t[13];const[w,$]=S.useState(h);A!==r&&(L(r),O(null),D(X),$([]));let v;t[14]!==i?(v=i??{},t[14]=i,t[15]=v):v=t[15];const F=z??v;let b;t[16]!==r||t[17]!==e||t[18]!==K?(b=c=>{const y=c;O(y),K(r,{...y,__resolveType:e})},t[16]=r,t[17]=e,t[18]=K,t[19]=b):b=t[19];const T=b;let p;t[20]!==B?(p=o.jsx("span",{className:"text-sm font-medium",children:B}),t[20]=B,t[21]=p):p=t[21];let s;t[22]!==R?(s=o.jsx(W,{isPending:R,isError:!1}),t[22]=R,t[23]=s):s=t[23];let l;t[24]!==p||t[25]!==s?(l=o.jsxs("div",{className:"flex h-12 shrink-0 items-center justify-between border-b px-6",children:[p,s]}),t[24]=p,t[25]=s,t[26]=l):l=t[26];let a;t[27]!==r||t[28]!==w||t[29]!==F||t[30]!==V||t[31]!==T||t[32]!==f||t[33]!==P?(a=o.jsx(G,{className:"min-w-0 flex-1 [&_[data-slot=scroll-area-viewport]>div]:!block",children:o.jsx("div",{className:"px-6 py-6",children:o.jsx("div",{className:"mx-auto max-w-xl",children:f?o.jsx(U,{schema:f,value:F,onChange:T,basePath:"",breadcrumbPath:w,onBreadcrumbChange:$},`${r}:${V}`):P?o.jsxs("div",{className:"flex flex-col items-center gap-2 py-6 text-center text-xs text-muted-foreground",children:[o.jsx(q,{size:16,className:"animate-spin"}),"Loading app schema…"]}):o.jsx("div",{className:"py-6 text-center text-xs text-muted-foreground",children:"No editable schema found for this app."})})})}),t[27]=r,t[28]=w,t[29]=F,t[30]=V,t[31]=T,t[32]=f,t[33]=P,t[34]=a):a=t[34];let j;return t[35]!==l||t[36]!==a?(j=o.jsxs("div",{className:"flex h-full flex-col",children:[l,a]}),t[35]=l,t[36]=a,t[37]=j):j=t[37],j}function X(g){return g+1}export{qo as AppEditor};
@@ -1 +0,0 @@
1
- import{R as ge,aI as Ie,b6 as Ae,U as ce,aG as $e,e as P,j as t,l as je,B as G,r as X,c as ve,q as J,s as De,K as ne,f as Y,w as de,u as Pe,b7 as Oe,E as Me,g as ze,F as Ve,G as Ee,H as Ue,J as Fe,b8 as Re,o as Q,I as Le}from"./index-B9kRhzg7.js";import{g as He}from"./generate-id-C8OHZs1-.js";import{E as be}from"./empty-state-BqVzURvi.js";import{E as Be,c as Ge,r as We,b as Xe,d as qe}from"./connection-form-helpers-BL61O5Zc.js";import{c as Ke,S as Qe}from"./index-hwNqvXOX.js";import{u as Ne,T as Je}from"./tools-list-CCmWgH3U.js";import{u as Ye}from"./use-members-CtpiNo8J.js";import{A as Ze}from"./avatar-CuZPsvd7.js";import{a as ye,b as _e,u as et}from"./use-connection-DkHV4tpA.js";import{u as re,S as tt}from"./constants-BFQrPD6r.js";import{b as st}from"./use-mcp-tools-BS9dyBS-.js";import{g as ae,M as nt,a as ot}from"./types-CZnHlJyi.js";import{a as it}from"./use-mcp-prompts-CeFy4g83.js";import{I as oe}from"./integration-icon-D0rRtQFH.js";import{s as rt}from"./Plus-BnGx63GX.js";import{a as Se}from"./Settings02-PSRUEgfS.js";import{s as le}from"./Trash01-DfuJtop_.js";import{b as at,a as lt,d as ct,S as dt,c as mt}from"./sheet-BLkB41eQ.js";import{F as R,b as L,c as H,d as V,f as B,e as ut,a as xt}from"./form-C4TJnG5K.js";import{I as W}from"./input-DCOoktZX.js";import{u as pt,D as ft}from"./use-delete-connection-D9RSUNNZ.js";import{V as ht}from"./layout-CqY1dIbQ.js";import{c as gt,C as jt,B as vt,a as bt,b as Nt,d as yt,e as _t}from"./monitoring-stats-row-B5_JF7d0.js";import{a as St}from"./use-virtual-mcp-CtYRrEgz.js";import{i as Ce}from"./ChevronRight-BD7fiLv7.js";import{a as we}from"./Users03-DhXF_0sH.js";import{T as ee,a as Ct,b as te,c as wt}from"./tabs-DGoyKbi9.js";import{g as ke}from"./connection-slug-eyAPH6o3.js";import{n as kt}from"./ZapSquare-C79zBXJj.js";import{a3 as Tt,P as It}from"./agent-icon-DFJgaXFK.js";import{b as At}from"./Tool01-DRibBi0T.js";import{C as $t}from"./collection-search-CljcPIbT.js";import{C as Dt}from"./card-DsraaOS_.js";import{B as Pt}from"./badge-BCXaZ3jr.js";import{D as Ot,a as Mt,b as zt,c as me}from"./dropdown-menu-Do65ajnt.js";import{d as ue,S as xe,a as pe,b as fe,c as F}from"./select-CVZQAcm7.js";import{i as Vt}from"./CheckCircle-CN8csJmd.js";import{t as Et}from"./ChevronDown-vntP1LF0.js";import{n as Ut}from"./Container-DlDQbtuJ.js";import{s as se}from"./Star01-Cu6cUuhf.js";import{s as Ft}from"./RefreshCcw01-Dk9AOo-m.js";import{s as Rt}from"./XClose-CXacF9IM.js";import"./collections-C8UGR0dQ.js";import"./ZoomOut-B5B07_-g.js";import"./Key01-CmprkySl.js";import"./index-CtCZ2lVU.js";import"./index-2TKWj64n.js";import"./extract-connection-data-J0nLi0pB.js";import"./use-registry-connections-BCrdHAv1.js";import"./use-organization-settings-BDlR4IeW.js";import"./index-X8qPybJt.js";import"./popover-Dinj8RAt.js";import"./tooltip-Cx8u2hvs.js";import"./Check-DCJCCJt5.js";import"./SearchMd-CxJnyPJ2.js";import"./use-create-virtual-mcp-UfIRObXS.js";import"./use-navigate-to-agent-C81Y1E7k.js";import"./Eye-ogI2y4CN.js";import"./use-org-auth-client-DVt08ImK.js";import"./User01-B1RcIkcM.js";import"./use-collections-C1EEoGdl.js";import"./X-COnjMnsv.js";import"./label-dlG4_xKf.js";import"./alert-dialog-BpOf9MAK.js";import"./index-Bx5wFMxU.js";import"./sidebar-BMIDAt6t.js";import"./LayoutLeft-BO92HMhM.js";import"./AlertCircle-DQ3zaMns.js";import"./SwitchHorizontal01-BjgMZfW7.js";import"./XCircle-BvIhN4E7.js";import"./ArrowUpRight-UT01ancE.js";import"./ChevronLeft-_4tt3JbP.js";import"./ChevronUp-B9NZzlEX.js";import"./DotsVertical-DDPFnnRS.js";import"./Globe01-C2fKyC2-.js";import"./FilterLines-DpUfIC-u.js";import"./Palette-OtFJ1ywH.js";import"./HardDrive-Ik-OtFON.js";import"./Stars02-Bo6vryYW.js";import"./LinkExternal01-9W209kLr.js";import"./Monitor01-B0FKK9nk.js";import"./Sun-Bg1tFzcn.js";import"./Play-B9TsjtCB.js";import"./Shield01-Do71Dyqk.js";import"./Stars01-BuMp0jeZ.js";import"./Upload01-DGWS8Icx.js";import"./Users01-CyxI-ZiC.js";import"./Zap-BM6RWRPw.js";const Lt=ge({scopes:$e(ce()).describe("List of scopes available"),stateSchema:Ie(ce(),Ae()).describe("JSON Schema (draft-07) defining the state structure")}),Ht=[{name:"MCP_CONFIGURATION",inputSchema:ge({}),outputSchema:Lt}];function Bt(s){const e=P.c(39),{instance:n,onConfigure:i,onAuthenticate:a,onDelete:o}=s;let r;e[0]!==n.id?(r={connectionId:n.id},e[0]=n.id,e[1]=r):r=e[1];const c=Ne(r),d=!(n.connection_type==="VIRTUAL")&&c.supportsOAuth&&!c.isAuthenticated,u=d?"border-destructive/50 bg-destructive/5":"border-transparent";let p;e[2]!==u?(p=ve("flex items-center gap-3 rounded-lg border px-4 py-2.5 transition-colors",u),e[2]=u,e[3]=p):p=e[3];let l;e[4]!==n.icon||e[5]!==n.title?(l=t.jsx(oe,{icon:n.icon,name:n.title,size:"xs",className:"shrink-0"}),e[4]=n.icon,e[5]=n.title,e[6]=l):l=e[6];let f;e[7]!==n.title?(f=t.jsx("p",{className:"text-sm font-medium truncate",children:n.title}),e[7]=n.title,e[8]=f):f=e[8];let g;e[9]!==d?(g=d&&t.jsx("span",{className:"text-xs text-destructive font-medium",children:"Needs authorization"}),e[9]=d,e[10]=g):g=e[10];let v;e[11]!==f||e[12]!==g?(v=t.jsxs("div",{className:"flex-1 min-w-0",children:[f,g]}),e[11]=f,e[12]=g,e[13]=v):v=e[13];let b;e[14]!==n||e[15]!==d||e[16]!==a?(b=d&&t.jsx(G,{variant:"outline",size:"sm",className:"h-7 text-xs",onClick:()=>a(n),children:"Authorize"}),e[14]=n,e[15]=d,e[16]=a,e[17]=b):b=e[17];let j;e[18]!==n||e[19]!==i?(j=()=>i(n),e[18]=n,e[19]=i,e[20]=j):j=e[20];let _;e[21]===Symbol.for("react.memo_cache_sentinel")?(_=t.jsx(Se,{size:13}),e[21]=_):_=e[21];let w;e[22]!==j?(w=t.jsx(G,{variant:"ghost",size:"icon",className:"h-7 w-7",onClick:j,title:"Configure",children:_}),e[22]=j,e[23]=w):w=e[23];let S;e[24]!==n||e[25]!==o?(S=()=>o(n),e[24]=n,e[25]=o,e[26]=S):S=e[26];let N;e[27]===Symbol.for("react.memo_cache_sentinel")?(N=t.jsx(le,{size:13}),e[27]=N):N=e[27];let k;e[28]!==S?(k=t.jsx(G,{variant:"ghost",size:"icon",className:"h-7 w-7 text-muted-foreground hover:text-destructive",onClick:S,title:"Delete",children:N}),e[28]=S,e[29]=k):k=e[29];let y;e[30]!==w||e[31]!==k||e[32]!==b?(y=t.jsxs("div",{className:"flex items-center gap-1 shrink-0",children:[b,w,k]}),e[30]=w,e[31]=k,e[32]=b,e[33]=y):y=e[33];let C;return e[34]!==y||e[35]!==p||e[36]!==l||e[37]!==v?(C=t.jsxs("div",{className:p,children:[l,v,y]}),e[34]=y,e[35]=p,e[36]=l,e[37]=v,e[38]=C):C=e[38],C}function Gt(s){const e=P.c(15),{instance:n,onConfigure:i}=s;let a;e[0]!==n.icon||e[1]!==n.title?(a=t.jsx(oe,{icon:n.icon,name:n.title,size:"xs",className:"shrink-0"}),e[0]=n.icon,e[1]=n.title,e[2]=a):a=e[2];let o;e[3]!==n.title?(o=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]=o):o=e[4];let r;e[5]!==n||e[6]!==i?(r=()=>i(n),e[5]=n,e[6]=i,e[7]=r):r=e[7];let c;e[8]===Symbol.for("react.memo_cache_sentinel")?(c=t.jsx(Se,{size:13}),e[8]=c):c=e[8];let m;e[9]!==r?(m=t.jsx("div",{className:"flex items-center gap-1 shrink-0",children:t.jsx(G,{variant:"ghost",size:"icon",className:"h-7 w-7",onClick:r,title:"Configure",children:c})}),e[9]=r,e[10]=m):m=e[10];let d;return e[11]!==a||e[12]!==o||e[13]!==m?(d=t.jsxs("div",{className:"flex items-center gap-3 rounded-lg border border-transparent px-4 py-2.5 transition-colors",children:[a,o,m]}),e[11]=a,e[12]=o,e[13]=m,e[14]=d):d=e[14],d}function Wt(s){const e=P.c(25),{instances:n,onConfigure:i,onAuthenticate:a,onDelete:o,onAdd:r,isAdding:c}=s;if(n.length===0)return null;const m=n.length===1?"Instance":"Instances";let d;e[0]!==m?(d=t.jsx("h3",{className:"text-sm font-semibold text-foreground",children:m}),e[0]=m,e[1]=d):d=e[1];let u;e[2]!==c?(u=c?t.jsx(je,{size:13,className:"animate-spin"}):t.jsx(rt,{size:13}),e[2]=c,e[3]=u):u=e[3];let p;e[4]!==c||e[5]!==r||e[6]!==u?(p=t.jsxs(G,{variant:"default",size:"sm",className:"h-7 gap-1.5 text-xs",onClick:r,disabled:c,children:[u,"Add instance"]}),e[4]=c,e[5]=r,e[6]=u,e[7]=p):p=e[7];let l;e[8]!==d||e[9]!==p?(l=t.jsxs("div",{className:"px-5 py-4 border-b border-border flex items-center justify-between",children:[d,p]}),e[8]=d,e[9]=p,e[10]=l):l=e[10];let f;if(e[11]!==n||e[12]!==a||e[13]!==i||e[14]!==o){let b;e[16]!==a||e[17]!==i||e[18]!==o?(b=j=>t.jsx(X.Suspense,{fallback:t.jsx(Gt,{instance:j,onConfigure:i}),children:t.jsx(Bt,{instance:j,onConfigure:i,onAuthenticate:a,onDelete:o})},j.id),e[16]=a,e[17]=i,e[18]=o,e[19]=b):b=e[19],f=n.map(b),e[11]=n,e[12]=a,e[13]=i,e[14]=o,e[15]=f}else f=e[15];let g;e[20]!==f?(g=t.jsx("div",{className:"p-2 flex flex-col gap-1",children:f}),e[20]=f,e[21]=g):g=e[21];let v;return e[22]!==l||e[23]!==g?(v=t.jsxs("div",{className:"rounded-xl border border-border bg-card overflow-hidden",children:[l,g]}),e[22]=l,e[23]=g,e[24]=v):v=e[24],v}const Xt=[{value:"7d",label:"7d"},{value:"14d",label:"14d"},{value:"30d",label:"30d"}];function qt(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 Kt={calls:{label:"Tool calls"},errors:{label:"Errors"}};function Qt(s){const e=P.c(4),{connectionId:n,orgId:i,orgSlug:a,timeframe:o}=s;let r;e[0]!==i||e[1]!==a?(r={connectionId:tt,orgId:i,orgSlug:a},e[0]=i,e[1]=a,e[2]=r):r=e[2];const c=re(r),m=qt(o),{data:d}=De({queryKey:ne.connectionActivity(n,o,i),queryFn:async()=>{const g=await c.callTool({name:"MONITORING_LOGS_LIST",arguments:{startDate:m.startDate.toISOString(),endDate:m.endDate.toISOString(),connectionId:n,limit:2e3,offset:0}});return g.structuredContent??g},staleTime:3e5}),u=gt(d?.logs??[],m),p=u.data,l=u.totalCalls>0;let f;return e[3]===Symbol.for("react.memo_cache_sentinel")?(f=t.jsx("p",{className:"text-xs text-muted-foreground mt-0.5",children:"Tool calls"}),e[3]=f):f=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:u.totalCalls.toLocaleString()}),f]}),u.totalErrors>0&&t.jsxs("div",{children:[t.jsx("p",{className:"text-2xl font-semibold text-destructive tabular-nums",children:u.totalErrors.toLocaleString()}),t.jsx("p",{className:"text-xs text-muted-foreground mt-0.5",children:"Errors"})]}),u.avgDurationMs>0&&t.jsxs("div",{children:[t.jsxs("p",{className:"text-2xl font-semibold text-foreground tabular-nums",children:[Math.round(u.avgDurationMs),"ms"]}),t.jsx("p",{className:"text-xs text-muted-foreground mt-0.5",children:"Avg latency"})]})]}),l?t.jsxs("div",{children:[t.jsx(jt,{config:Kt,className:"h-16 w-full",children:t.jsxs(vt,{data:p,barCategoryGap:"4%",children:[t.jsx(bt,{content:t.jsx(Nt,{labelFormatter:Yt}),cursor:{fill:"var(--muted)"}}),t.jsx(yt,{dataKey:"calls",radius:[2,2,0,0],minPointSize:1,children:p.map(Jt)})]})}),t.jsxs("div",{className:"flex justify-between px-3 mt-1 pb-3",children:[t.jsx("span",{className:"text-[10px] text-muted-foreground",children:p[0]?.label}),t.jsx("span",{className:"text-[10px] text-muted-foreground",children:p[p.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:"No activity in this period"})})]})}function Jt(s,e){return t.jsx(_t,{fill:s.errorRate>50?"var(--destructive)":"var(--chart-1)",fillOpacity:s.calls===0?.2:s.errorRate>50?.7:.85},`cell-${e}`)}function Yt(s,e){const n=Array.isArray(e)?e[0]:void 0;return n&&typeof n=="object"&&"payload"in n?n.payload?.label??"":""}function Zt(){const s=P.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 es(s){const e=P.c(14),{connectionId:n}=s,[i,a]=X.useState("14d"),{org:o}=J();let r;e[0]===Symbol.for("react.memo_cache_sentinel")?(r=t.jsx("div",{children:t.jsx("h3",{className:"text-sm font-semibold text-foreground",children:"Activity"})}),e[0]=r):r=e[0];let c;e[1]!==i?(c=Xt.map(l=>t.jsx("button",{type:"button",onClick:()=>a(l.value),className:ve("px-2.5 py-1 text-xs font-medium rounded-md transition-colors",i===l.value?"bg-background text-foreground shadow-sm":"text-muted-foreground hover:text-foreground"),children:l.label},l.value)),e[1]=i,e[2]=c):c=e[2];let m;e[3]!==c?(m=t.jsxs("div",{className:"px-5 py-4 flex items-center justify-between",children:[r,t.jsx("div",{className:"flex items-center gap-0.5 bg-muted rounded-lg p-0.5",children:c})]}),e[3]=c,e[4]=m):m=e[4];let d;e[5]===Symbol.for("react.memo_cache_sentinel")?(d=t.jsx(Zt,{}),e[5]=d):d=e[5];let u;e[6]!==n||e[7]!==o.id||e[8]!==o.slug||e[9]!==i?(u=t.jsx(X.Suspense,{fallback:d,children:t.jsx(Qt,{connectionId:n,orgId:o.id,orgSlug:o.slug,timeframe:i})}),e[6]=n,e[7]=o.id,e[8]=o.slug,e[9]=i,e[10]=u):u=e[10];let p;return e[11]!==m||e[12]!==u?(p=t.jsxs("div",{className:"rounded-xl border border-border bg-card overflow-hidden",children:[m,u]}),e[11]=m,e[12]=u,e[13]=p):p=e[13],p}function ts(s){const e=P.c(15),{virtualMcp:n,org:i}=s,a=Y();let o;e[0]!==a||e[1]!==i||e[2]!==n.id?(o=()=>{const p=crypto.randomUUID();a({to:"/$org/$taskId",params:{org:i,taskId:p},search:{virtualmcpid:n.id}})},e[0]=a,e[1]=i,e[2]=n.id,e[3]=o):o=e[3];let r;e[4]===Symbol.for("react.memo_cache_sentinel")?(r=t.jsx(we,{size:16}),e[4]=r):r=e[4];let c;e[5]!==n.icon||e[6]!==n.title?(c=t.jsx(oe,{icon:n.icon,name:n.title,size:"xs",fallbackIcon:r}),e[5]=n.icon,e[6]=n.title,e[7]=c):c=e[7];let m;e[8]!==n.title?(m=t.jsx("span",{className:"flex-1 text-sm font-medium text-foreground truncate",children:n.title}),e[8]=n.title,e[9]=m):m=e[9];let d;e[10]===Symbol.for("react.memo_cache_sentinel")?(d=t.jsx(Ce,{size:16,className:"text-muted-foreground group-hover:text-foreground transition-colors shrink-0"}),e[10]=d):d=e[10];let u;return e[11]!==o||e[12]!==c||e[13]!==m?(u=t.jsxs("button",{type:"button",onClick:o,className:"flex items-center gap-3 rounded-lg hover:bg-muted/50 transition-colors group text-left w-full",children:[c,m,d]}),e[11]=o,e[12]=c,e[13]=m,e[14]=u):u=e[14],u}function ss(s){const e=P.c(7),{virtualMcps:n,org:i}=s;let a;if(e[0]!==i||e[1]!==n){let r;e[3]!==i?(r=c=>t.jsx(ts,{virtualMcp:c,org:i},c.id),e[3]=i,e[4]=r):r=e[4],a=n.map(r),e[0]=i,e[1]=n,e[2]=a}else a=e[2];let o;return e[5]!==a?(o=t.jsx("div",{className:"flex flex-col gap-3",children:t.jsx("div",{className:"flex flex-col gap-2",children:a})}),e[5]=a,e[6]=o):o=e[6],o}function ns(s){const e=P.c(7),{connection:n}=s,{org:i}=J();let a;e[0]!==n.id?(a={filters:[{column:"connection_id",value:n.id}]},e[0]=n.id,e[1]=a):a=e[1];const o=St(a);if(!(o.length>0)){let d;return e[2]===Symbol.for("react.memo_cache_sentinel")?(d=t.jsx(t.Fragment,{}),e[2]=d):d=e[2],d}let c;e[3]===Symbol.for("react.memo_cache_sentinel")?(c=t.jsx("div",{className:"px-5 py-4 border-b border-border",children:t.jsx("h3",{className:"text-sm font-semibold text-foreground",children:"Used by agents"})}),e[3]=c):c=e[3];let m;return e[4]!==i.slug||e[5]!==o?(m=t.jsxs("div",{className:"rounded-xl border border-border bg-card overflow-hidden",children:[c,t.jsx("div",{className:"px-5 py-4",children:t.jsx(ss,{virtualMcps:o,org:i.slug})})]}),e[4]=i.slug,e[5]=o,e[6]=m):m=e[6],m}function os(s){const e=P.c(31),{tools:n,connectionId:i,org:a}=s,o=Y(),{org:r}=J();let c;e[0]!==i||e[1]!==r.id||e[2]!==r.slug?(c={connectionId:i,orgId:r.id,orgSlug:r.slug},e[0]=i,e[1]=r.id,e[2]=r.slug,e[3]=c):c=e[3];const m=re(c),d=ye(i);let u;e[4]!==d||e[5]!==i?(u=d?ke(d):i,e[4]=d,e[5]=i,e[6]=u):u=e[6];const p=u,[l,f]=X.useState("");let g,v,b,j;if(e[7]!==p||e[8]!==m||e[9]!==o||e[10]!==a||e[11]!==l||e[12]!==n){const S=(n??[]).filter(is),N=l.toLowerCase().trim(),k=N?S.filter(h=>h.name.toLowerCase().includes(N)||h.description&&h.description.toLowerCase().includes(N)):S;let y;e[17]!==p||e[18]!==o||e[19]!==a?(y=h=>{o({to:"/$org/settings/connections/$appSlug/$collectionName/$itemId",params:{org:a,appSlug:p,collectionName:"tools",itemId:encodeURIComponent(h.name)}})},e[17]=p,e[18]=o,e[19]=a,e[20]=y):y=e[20];const C=y;b="flex flex-col h-full overflow-hidden";let I;e[21]===Symbol.for("react.memo_cache_sentinel")?(I=h=>{h.key==="Escape"&&(f(""),h.target.blur())},e[21]=I):I=e[21],e[22]!==l?(j=t.jsx($t,{value:l,onChange:f,placeholder:"Search apps...",onKeyDown:I}),e[22]=l,e[23]=j):j=e[23],g="flex-1 overflow-auto p-5",v=k.length===0?t.jsx(be,{image:null,title:l?"No apps found":"No apps available",description:l?"Try adjusting your search terms":"This connection doesn't have any tools with interactive UIs yet."}):t.jsx("div",{className:"grid grid-cols-[repeat(auto-fill,minmax(320px,1fr))] gap-4",children:k.map(h=>{const A=ae(h._meta);return t.jsxs(Dt,{className:"cursor-pointer transition-colors overflow-hidden gap-0",onClick:()=>C(h),children:[t.jsx("div",{className:"h-[200px] overflow-hidden border-b border-border",children:t.jsx(nt,{resourceURI:A,toolInfo:{tool:h},displayMode:"inline",minHeight:200,maxHeight:200,client:m})}),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:h.name}),t.jsx(Je,{annotations:h.annotations,_meta:h._meta})]}),h.description&&t.jsx("p",{className:"text-sm text-muted-foreground line-clamp-2",children:h.description})]})]},h.name)})}),e[7]=p,e[8]=m,e[9]=o,e[10]=a,e[11]=l,e[12]=n,e[13]=g,e[14]=v,e[15]=b,e[16]=j}else g=e[13],v=e[14],b=e[15],j=e[16];let _;e[24]!==g||e[25]!==v?(_=t.jsx("div",{className:g,children:v}),e[24]=g,e[25]=v,e[26]=_):_=e[26];let w;return e[27]!==b||e[28]!==j||e[29]!==_?(w=t.jsxs("div",{className:b,children:[j,_]}),e[27]=b,e[28]=j,e[29]=_,e[30]=w):w=e[30],w}function is(s){return!!ae(s._meta)}function Te(s){const e=s.replace(/[._]/g," ").trim().split(/\s+/),n=r=>r.charAt(0).toUpperCase()+r.slice(1),i=new Set(["list","create","get","update","delete","fetch","search","run","trigger","review","send","check"]),a=e.map(n),o=e[e.length-1];return a.length>=2&&o&&i.has(o)?[a.pop(),...a].join(" "):a.join(" ")}function ie(s){const e=P.c(2),{label:n}=s;let i;return e[0]!==n?(i=t.jsx("div",{className:"px-5 py-8 text-center",children:t.jsxs("p",{className:"text-sm text-muted-foreground",children:["No ",n," available."]})}),e[0]=n,e[1]=i):i=e[1],i}function rs(s){const e=P.c(50),{tools:n,prompts:i,resources:a,connectionId:o,org:r}=s;let c;e[0]!==i?(c=i===void 0?[]:i,e[0]=i,e[1]=c):c=e[1];const m=c;let d;e[2]!==a?(d=a===void 0?[]:a,e[2]=a,e[3]=d):d=e[3];const u=d,p=Y(),l=ye(o??"");let f;e[4]!==l||e[5]!==o?(f=l?ke(l):o,e[4]=l,e[5]=o,e[6]=f):f=e[6];const g=f;let v;e[7]!==g||e[8]!==o||e[9]!==p||e[10]!==r?(v=function($){!o||!r||p({to:"/$org/settings/connections/$appSlug/$collectionName/$itemId",params:{org:r,appSlug:g,collectionName:"tools",itemId:encodeURIComponent($)}})},e[7]=g,e[8]=o,e[9]=p,e[10]=r,e[11]=v):v=e[11];const b=v;let j;e[12]!==o||e[13]!==r||e[14]!==n?(j=o&&r&&n.some(cs),e[12]=o,e[13]=r,e[14]=n,e[15]=j):j=e[15];const _=j;if(n.length+m.length+u.length===0){let x;return e[16]===Symbol.for("react.memo_cache_sentinel")?(x=t.jsxs("div",{className:"rounded-xl border border-border bg-card p-5",children:[t.jsx("h3",{className:"text-sm font-semibold text-foreground mb-1",children:"Capabilities"}),t.jsx("p",{className:"text-sm text-muted-foreground",children:"No capabilities discovered yet. The connection may still be connecting."})]}),e[16]=x):x=e[16],x}let S;e[17]!==n.length?(S=t.jsxs(ee,{value:"tools",variant:"underline",children:["Tools (",n.length,")"]}),e[17]=n.length,e[18]=S):S=e[18];let N;e[19]!==_?(N=_&&t.jsx(ee,{value:"apps",variant:"underline",children:"UI"}),e[19]=_,e[20]=N):N=e[20];let k,y;e[21]===Symbol.for("react.memo_cache_sentinel")?(k=t.jsx(ee,{value:"prompts",variant:"underline",children:"Prompts"}),y=t.jsx(ee,{value:"resources",variant:"underline",children:"Resources"}),e[21]=k,e[22]=y):(k=e[21],y=e[22]);let C;e[23]!==S||e[24]!==N?(C=t.jsx("div",{className:"px-5 flex items-center justify-between border-b border-border",children:t.jsxs(Ct,{variant:"underline",className:"gap-1",children:[S,N,k,y]})}),e[23]=S,e[24]=N,e[25]=C):C=e[25];let I;e[26]!==b||e[27]!==n?(I=n.length>0?n.map(x=>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:()=>b(x.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(At,{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:Te(x.name)}),x.description&&t.jsx("div",{className:"text-xs text-muted-foreground mt-0.5 leading-relaxed line-clamp-2",children:x.description})]}),t.jsx(Ce,{size:16,className:"text-muted-foreground shrink-0 mt-0.5"})]},x.name)):t.jsx(ie,{label:"tools"}),e[26]=b,e[27]=n,e[28]=I):I=e[28];let h;e[29]!==I?(h=t.jsx(te,{value:"tools",className:"h-auto",children:t.jsx("div",{className:"divide-y divide-border",children:I})}),e[29]=I,e[30]=h):h=e[30];let A;e[31]!==o||e[32]!==_||e[33]!==r||e[34]!==n?(A=_&&t.jsx(te,{value:"apps",className:"h-auto min-h-[200px]",children:t.jsx(os,{tools:n,connectionId:o,org:r})}),e[31]=o,e[32]=_,e[33]=r,e[34]=n,e[35]=A):A=e[35];let M;e[36]!==m?(M=m.length>0?m.map(ls):t.jsx(ie,{label:"prompts"}),e[36]=m,e[37]=M):M=e[37];let O;e[38]!==M?(O=t.jsx(te,{value:"prompts",className:"h-auto",children:t.jsx("div",{className:"divide-y divide-border",children:M})}),e[38]=M,e[39]=O):O=e[39];let T;e[40]!==u?(T=u.length>0?u.map(as):t.jsx(ie,{label:"resources"}),e[40]=u,e[41]=T):T=e[41];let z;e[42]!==T?(z=t.jsx(te,{value:"resources",className:"h-auto",children:t.jsx("div",{className:"divide-y divide-border",children:T})}),e[42]=T,e[43]=z):z=e[43];let E;return e[44]!==C||e[45]!==h||e[46]!==A||e[47]!==O||e[48]!==z?(E=t.jsx("div",{className:"rounded-xl border border-border bg-card overflow-hidden",children:t.jsxs(wt,{defaultValue:"tools",variant:"underline",children:[C,h,A,O,z]})}),e[44]=C,e[45]=h,e[46]=A,e[47]=O,e[48]=z,e[49]=E):E=e[49],E}function as(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(Tt,{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 ls(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(kt,{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:Te(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 cs(s){return ae(s._meta)}function ds(s){const e=P.c(13),{connection:n,displayTitle:i}=s,a=i??n.title;let o;e[0]!==n.icon||e[1]!==a?(o=t.jsx(oe,{icon:n.icon,name:a,size:"xl",className:"shrink-0"}),e[0]=n.icon,e[1]=a,e[2]=o):o=e[2];let r;e[3]!==a?(r=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:a})}),e[3]=a,e[4]=r):r=e[4];let c;e[5]!==n.description?(c=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]=c):c=e[6];let m;e[7]!==r||e[8]!==c?(m=t.jsxs("div",{className:"flex-1 min-w-0",children:[r,c]}),e[7]=r,e[8]=c,e[9]=m):m=e[9];let d;return e[10]!==o||e[11]!==m?(d=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:[o,m]}),e[10]=o,e[11]=m,e[12]=d):d=e[12],d}function ms({form:s,connection:e,hasOAuthToken:n,onReauthenticate:i,onRemoveOAuth:a}){const o=de({control:s.control,name:"ui_type"}),r=de({control:s.control,name:"connection_url"}),{stdioEnabled:c}=Pe(),m=(()=>{if(typeof r!="string"||!r)return!1;try{const l=new URL(r);return l.hostname==="api.githubcopilot.com"&&l.pathname.replace(/\/+$/,"")==="/mcp"}catch{return!1}})(),d=c||e.connection_type==="STDIO",u=e.connection_type==="VIRTUAL",p=u?Oe(e.connection_url):null;return u?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:"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(we,{className:"w-4 h-4 text-muted-foreground"}),t.jsx("span",{className:"text-sm",children:"Virtual MCP"})]}),t.jsx("p",{className:"text-xs text-muted-foreground",children:"This connection references a Virtual MCP. Tools and resources are aggregated dynamically from the Virtual MCP's underlying connections."})]}),p&&t.jsxs("div",{className:"flex flex-col gap-2",children:[t.jsx("span",{className:"text-xs text-muted-foreground font-medium",children:"Virtual MCP ID"}),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:p})})]})]}):t.jsxs("div",{className:"flex flex-col gap-4",children:[t.jsx(R,{control:s.control,name:"ui_type",render:({field:l})=>t.jsxs(L,{className:"flex flex-col gap-3",children:[t.jsx(H,{className:"text-xs text-muted-foreground font-medium",children:"Connection"}),o!=="NPX"&&o!=="STDIO"?t.jsxs("div",{className:"flex items-stretch rounded-lg border border-border overflow-hidden",children:[t.jsxs(ue,{value:l.value,onValueChange:l.onChange,children:[t.jsx(V,{children:t.jsxs(xe,{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(se,{className:"w-4 h-4 text-muted-foreground shrink-0"}),t.jsx(pe,{})]})}),t.jsxs(fe,{children:[t.jsx(F,{value:"HTTP",children:"HTTP"}),t.jsx(F,{value:"SSE",children:"SSE"}),t.jsx(F,{value:"Websocket",children:"Websocket"}),d&&t.jsxs(t.Fragment,{children:[t.jsx(F,{value:"NPX",children:"NPX Package"}),t.jsx(F,{value:"STDIO",children:"Custom Command"})]})]})]}),t.jsx("div",{className:"w-px bg-border"}),t.jsx(R,{control:s.control,name:"connection_url",render:({field:f})=>t.jsx(L,{className:"flex-1 min-w-0",children:t.jsx(V,{children:t.jsx(W,{placeholder:"https://example.com/mcp",...f,value:f.value??"",className:"h-10 border-0 rounded-none focus-visible:ring-0 focus-visible:ring-offset-0 bg-transparent"})})})})]}):t.jsxs(ue,{value:l.value,onValueChange:l.onChange,children:[t.jsx(V,{children:t.jsx(xe,{className:"h-10",children:t.jsx(pe,{})})}),t.jsxs(fe,{children:[t.jsx(F,{value:"HTTP",children:t.jsxs("span",{className:"flex items-center gap-2",children:[t.jsx(se,{className:"w-4 h-4"}),"HTTP"]})}),t.jsx(F,{value:"SSE",children:t.jsxs("span",{className:"flex items-center gap-2",children:[t.jsx(se,{className:"w-4 h-4"}),"SSE"]})}),t.jsx(F,{value:"Websocket",children:t.jsxs("span",{className:"flex items-center gap-2",children:[t.jsx(se,{className:"w-4 h-4"}),"Websocket"]})}),d&&t.jsxs(t.Fragment,{children:[t.jsx(F,{value:"NPX",children:t.jsxs("span",{className:"flex items-center gap-2",children:[t.jsx(Ut,{className:"w-4 h-4"}),"NPX Package"]})}),t.jsx(F,{value:"STDIO",children:t.jsxs("span",{className:"flex items-center gap-2",children:[t.jsx(It,{className:"w-4 h-4"}),"Custom Command"]})})]})]})]}),t.jsx(B,{})]})}),o==="NPX"&&t.jsx(R,{control:s.control,name:"npx_package",render:({field:l})=>t.jsxs(L,{className:"flex flex-col gap-3",children:[t.jsx(H,{className:"text-xs text-muted-foreground font-medium",children:"NPM Package"}),t.jsx(V,{children:t.jsx(W,{placeholder:"@perplexity-ai/mcp-server",...l,value:l.value||"",className:"h-10 rounded-lg"})}),t.jsx(B,{})]})}),o==="STDIO"&&t.jsxs(t.Fragment,{children:[t.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[t.jsx(R,{control:s.control,name:"stdio_command",render:({field:l})=>t.jsxs(L,{className:"flex flex-col gap-3",children:[t.jsx(H,{className:"text-xs text-muted-foreground font-medium",children:"Command"}),t.jsx(V,{children:t.jsx(W,{placeholder:"node, bun, python...",...l,value:l.value||"",className:"h-10 rounded-lg"})}),t.jsx(B,{})]})}),t.jsx(R,{control:s.control,name:"stdio_args",render:({field:l})=>t.jsxs(L,{className:"flex flex-col gap-3",children:[t.jsx(H,{className:"text-xs text-muted-foreground font-medium",children:"Arguments"}),t.jsx(V,{children:t.jsx(W,{placeholder:"arg1 arg2 --flag value",...l,value:l.value||"",className:"h-10 rounded-lg"})}),t.jsx("p",{className:"text-xs text-muted-foreground",children:"Space-separated arguments"}),t.jsx(B,{})]})})]}),t.jsx(R,{control:s.control,name:"stdio_cwd",render:({field:l})=>t.jsxs(L,{className:"flex flex-col gap-3",children:[t.jsx(H,{className:"text-xs text-muted-foreground font-medium",children:"Working Directory"}),t.jsx(V,{children:t.jsx(W,{placeholder:"/path/to/project (optional)",...l,value:l.value||"",className:"h-10 rounded-lg"})}),t.jsx(B,{})]})})]}),(o==="NPX"||o==="STDIO")&&t.jsx(R,{control:s.control,name:"env_vars",render:({field:l})=>t.jsxs(L,{className:"flex flex-col gap-3",children:[t.jsx(H,{className:"text-xs text-muted-foreground font-medium",children:"Environment Variables"}),t.jsx(V,{children:t.jsx(Be,{value:l.value??[],onChange:l.onChange})}),t.jsx(B,{})]})}),o!=="NPX"&&o!=="STDIO"&&t.jsx(R,{control:s.control,name:"connection_token",render:({field:l})=>t.jsxs(L,{className:"flex flex-col gap-3",children:[t.jsx(H,{className:"text-xs text-muted-foreground font-medium",children:m?"GitHub Personal Access Token":"Token"}),n?t.jsx("div",{className:"flex items-center gap-2",children:t.jsxs(Ot,{children:[t.jsx(Mt,{asChild:!0,children:t.jsx("button",{type:"button",className:"inline-flex items-center gap-1.5 cursor-pointer",children:t.jsxs(Pt,{variant:"success",className:"gap-1.5",children:[t.jsx(Vt,{size:12}),"Authenticated via OAuth",t.jsx(Et,{size:12})]})})}),t.jsxs(zt,{align:"start",children:[t.jsxs(me,{onClick:i,children:[t.jsx(Ft,{size:16}),"Re-authenticate"]}),t.jsxs(me,{variant:"destructive",onClick:a,children:[t.jsx(le,{size:16}),"Remove OAuth"]})]})]})}):e.connection_token&&l.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:()=>l.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:"Clear and replace token",children:t.jsx(Rt,{size:14,className:"text-muted-foreground"})})]}):t.jsxs(t.Fragment,{children:[t.jsx(V,{children:t.jsx(W,{type:"password",placeholder:m?"Paste your GitHub PAT":"Enter access token...",...l,value:l.value||"",className:"h-10 rounded-lg"})}),m&&t.jsxs(ut,{children:["Create a PAT at"," ",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(B,{})]})})]})}function us(s){return s.command==="npx"}function xs(s){return s.args?.find(e=>!e.startsWith("-"))??""}function ps(s){return{command:s.command,args:s.args?.join(" ")??"",cwd:s.cwd??""}}function he(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"&&Re(s.connection_headers)){const i=s.connection_headers,a=We(i.envVars);if(us(i)){const r=xs(i);return{...n,ui_type:"NPX",connection_url:"",connection_token:null,npx_package:r,stdio_command:"",stdio_args:"",stdio_cwd:"",env_vars:a}}const o=ps(i);return{...n,ui_type:"STDIO",connection_url:"",connection_token:null,npx_package:"",stdio_command:o.command,stdio_args:o.args,stdio_cwd:o.cwd,env_vars:a}}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 fs(s){let e,n=null,i=null,a=null;return s.ui_type==="NPX"?(e="STDIO",n="",a=Xe(s.npx_package||"",s.env_vars||[])):s.ui_type==="STDIO"?(e="STDIO",n="",a=qe(s.stdio_command||"",s.stdio_args||"",s.stdio_cwd,s.env_vars||[])):(e=s.ui_type,n=s.connection_url||"",i=s.connection_token||null),{title:s.title,description:s.description||null,icon:s.icon??null,connection_type:e,connection_url:n,...i&&{connection_token:i},...a&&{connection_headers:a},configuration_state:s.configuration_state??null,configuration_scopes:s.configuration_scopes??null}}function hs({connection:s,connectionId:e,org:n,isUpdating:i,tools:a,prompts:o,resources:r,siblings:c}){const m=Y({from:"/$org/settings/connections/$appSlug"}),d=Ve(),u=_e(),{org:p}=J(),l=pt({onSuccess:()=>{c.length<=1&&m({to:"/$org/settings/connections",params:{org:n}})}}),[f,g]=X.useState(null),[v,b]=X.useState(!1),j=Ne({connectionId:e}),{data:_}=Ye(),w=_?.data?.members??[],S=f??s,N=w.find(x=>x.userId===S.created_by),y=s?.connection_type==="VIRTUAL"||j.isAuthenticated,C={...s,tools:a},I=Ke(C,Ht),h=Ee({resolver:Ue(Ge),values:he(f??s)}),A=h.formState.isDirty,M=async()=>{if(!await h.trigger())return;const $=h.getValues(),D=fs($),U=f?.id??e;await u.update.mutateAsync({id:U,data:D}),h.reset($)},O=()=>{h.reset(he(f??s))},T=async x=>{const{token:$,tokenInfo:D,error:U}=await Le({connectionId:x,orgSlug:p.slug,scope:"offline_access"});if(U||!$){Q.error(`Authentication failed: ${U}`);return}if(D)try{const q=await fetch(`/api/${p.slug}/connections/${x}/oauth-token`,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({accessToken:D.accessToken,refreshToken:D.refreshToken,expiresIn:D.expiresIn,scope:D.scope,clientId:D.clientId,clientSecret:D.clientSecret,tokenEndpoint:D.tokenEndpoint})});if(!q.ok)console.error("Failed to save OAuth token:",await q.text()),await u.update.mutateAsync({id:x,data:{connection_token:$}});else try{await u.update.mutateAsync({id:x,data:{}})}catch(Z){console.warn("Failed to refresh connection tools after OAuth:",Z)}}catch(q){console.error("Error saving OAuth token:",q),await u.update.mutateAsync({id:x,data:{connection_token:$}})}else await u.update.mutateAsync({id:x,data:{connection_token:$}});const K=new URL(`/api/${p.slug}/mcp/${x}`,window.location.origin);await d.invalidateQueries({queryKey:ne.isMCPAuthenticated(K.href,null)}),await d.invalidateQueries({queryKey:ne.mcpClientPrefix()}),Q.success("Authentication successful")},z=()=>T(s.id),E=async()=>{try{const x=await fetch(`/api/${p.slug}/connections/${s.id}/oauth-token`,{method:"DELETE",credentials:"include"});if(!x.ok){const D=await x.text();Q.error(`Failed to remove OAuth: ${D}`);return}const $=new URL(`/api/${p.slug}/mcp/${s.id}`,window.location.origin);await d.invalidateQueries({queryKey:ne.isMCPAuthenticated($.href,null)}),Q.success("OAuth removed. You can now re-authenticate with a different account.")}catch(x){console.error("Error removing OAuth token:",x),Q.error("Failed to remove OAuth")}};return t.jsxs(t.Fragment,{children:[t.jsx(ft,{...l}),t.jsx(at,{open:f!==null,onOpenChange:x=>{x||g(null)},children:t.jsxs(lt,{side:"right",className:"sm:max-w-[520px] p-0 flex flex-col gap-0 overflow-hidden",children:[t.jsxs(ct,{className:"px-4 py-3 md:px-6 md:py-4 border-b border-border shrink-0",children:[t.jsx(dt,{className:"text-base",children:f?.title??s.title}),t.jsx(mt,{className:"text-xs",children:"Update URL, authentication, and other settings"}),N&&t.jsxs("div",{className:"flex items-center gap-1.5 pt-1",children:[t.jsx("span",{className:"text-xs text-muted-foreground",children:"Connected by"}),t.jsx(Ze,{url:N.user?.image??void 0,fallback:N.user?.name??N.user?.email??"?",size:"3xs",shape:"circle"}),t.jsx("span",{className:"text-xs font-medium text-foreground",children:N.user?.name||N.user?.email})]})]}),t.jsxs(xt,{...h,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(R,{control:h.control,name:"title",render:({field:x})=>t.jsxs(L,{children:[t.jsx(H,{children:"Name"}),t.jsx(V,{children:t.jsx(W,{...x})}),t.jsx(B,{})]})}),t.jsx(R,{control:h.control,name:"description",render:({field:x})=>t.jsxs(L,{children:[t.jsx(H,{children:"Description"}),t.jsx(V,{children:t.jsx(W,{...x,value:x.value||""})}),t.jsx(B,{})]})})]}),t.jsx(ms,{form:h,connection:f??s,hasOAuthToken:j.hasOAuthToken,onReauthenticate:z,onRemoveOAuth:E}),t.jsx(Qe,{connection:f??s,form:h,hasMcpBinding:I,isMCPAuthenticated:y,supportsOAuth:j.supportsOAuth,isServerError:j.isServerError,onAuthenticate:z,onViewReadme:void 0})]}),t.jsxs("div",{className:"px-6 py-4 border-t border-border flex gap-2 shrink-0",children:[t.jsx(G,{onClick:M,disabled:!A||i,className:"flex-1",children:i?"Saving…":"Save changes"}),A&&t.jsx(G,{variant:"outline",onClick:O,children:"Undo"}),t.jsxs(G,{variant:"outline",className:"gap-2 text-muted-foreground hover:text-destructive hover:border-destructive",onClick:()=>{const x=f??s;g(null),l.requestDelete(x)},children:[t.jsx(le,{size:15}),"Delete"]})]})]},f?.id??s.id)]})}),t.jsx(ht,{hideHeader:!0,children:t.jsxs("div",{className:"flex flex-col h-full overflow-hidden",children:[t.jsx(ds,{connection:s,displayTitle:(()=>{const x=c[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(es,{connectionId:e}),t.jsxs("div",{className:"flex flex-col gap-5",children:[t.jsx(Wt,{instances:c,onConfigure:x=>g(x),onAuthenticate:x=>T(x.id),onDelete:x=>l.requestDelete(x),isAdding:v,onAdd:async()=>{b(!0);try{const x=c[0]??s,$=x.title.replace(/\s*\(\d+\)\s*$/,""),D=c.length+1,U=`${$} (${D})`,K=He("conn");await u.create.mutateAsync({id:K,title:U,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 q=new URL(`/api/${p.slug}/mcp/${K}`,window.location.origin),Z=await Fe({url:q.href,token:null,orgId:p.id});Z.supportsOAuth&&!Z.isAuthenticated&&await T(K)}finally{b(!1)}}}),t.jsx(ns,{connection:s})]}),t.jsx("div",{className:"@3xl:col-span-2",children:t.jsx(rs,{tools:a,prompts:o,resources:r,connectionId:e,org:n})})]})})]})})]})}function gs(){const s=P.c(39);let e;s[0]===Symbol.for("react.memo_cache_sentinel")?(e={from:"/$org/settings/connections/$appSlug"},s[0]=e):e=s[0];const n=Y(e);let i;s[1]===Symbol.for("react.memo_cache_sentinel")?(i={from:"/shell/$org/settings/connections/$appSlug"},s[1]=i):i=s[1];const{appSlug:a,org:o}=ze(i),{org:r}=J(),c=_e();let m;s[2]!==a?(m={slug:a},s[2]=a,s[3]=m):m=s[3];const d=et(m),u=d[0]??null,p=u?.id??"",l=p||null;let f;s[4]!==r.id||s[5]!==r.slug||s[6]!==l?(f={connectionId:l,orgId:r.id,orgSlug:r.slug},s[4]=r.id,s[5]=r.slug,s[6]=l,s[7]=f):f=s[7];const g=re(f);let v;s[8]!==g?(v={client:g},s[8]=g,s[9]=v):v=s[9];const{data:b}=st(v);let j;if(s[10]!==u?.tools||s[11]!==p||s[12]!==d||s[13]!==b){const T=b?b.tools.map(_s):(u?.tools??[]).map(ys);e:{if(d.length<=1){j=T;break e}const z=new Set,E=[],x=bs;for(const $ of d){const D=$.id===p?T:x($.tools);for(const U of D)z.has(U.name)||(z.add(U.name),E.push(U))}j=E.length>0?E:T}s[10]=u?.tools,s[11]=p,s[12]=d,s[13]=b,s[14]=j}else j=s[14];const _=j;let w;s[15]!==g?(w={client:g},s[15]=g,s[16]=w):w=s[16];const{data:S}=it(w);let N;s[17]!==g?(N={client:g},s[17]=g,s[18]=N):N=s[18];const{data:k}=ot(N);let y;s[19]!==S?.prompts?(y=S?.prompts??[],s[19]=S?.prompts,s[20]=y):y=s[20];let C;s[21]!==y?(C=y.map(vs),s[21]=y,s[22]=C):C=s[22];const I=C;let h;s[23]!==k?.resources?(h=k?.resources??[],s[23]=k?.resources,s[24]=h):h=s[24];let A;s[25]!==h?(A=h.map(js),s[25]=h,s[26]=A):A=s[26];const M=A;if(!u){let T;return s[27]!==n||s[28]!==o?(T=t.jsx("div",{className:"flex h-full w-full bg-background",children:t.jsx(be,{title:"Connection not found",description:"This connection may have been deleted or you may not have access.",actions:t.jsx(G,{variant:"outline",onClick:()=>n({to:"/$org/settings/connections",params:{org:o}}),children:"Back to connections"})})}),s[27]=n,s[28]=o,s[29]=T):T=s[29],T}let O;return s[30]!==c.update.isPending||s[31]!==_||s[32]!==u||s[33]!==p||s[34]!==o||s[35]!==I||s[36]!==M||s[37]!==d?(O=t.jsx(hs,{org:o,connection:u,connectionId:p,isUpdating:c.update.isPending,tools:_,prompts:I,resources:M,siblings:d}),s[30]=c.update.isPending,s[31]=_,s[32]=u,s[33]=p,s[34]=o,s[35]=I,s[36]=M,s[37]=d,s[38]=O):O=s[38],O}function js(s){return{name:s.name,description:s.description,uri:s.uri}}function vs(s){return{name:s.name,description:s.description}}function bs(s){return(s??[]).map(Ns)}function Ns(s){return{name:s.name,description:s.description,inputSchema:s.inputSchema??{},outputSchema:s.outputSchema,annotations:s.annotations,_meta:s._meta}}function ys(s){return{name:s.name,description:s.description,inputSchema:s.inputSchema,outputSchema:s.outputSchema,annotations:s.annotations,_meta:s._meta}}function _s(s){return{name:s.name,description:s.description,inputSchema:s.inputSchema,outputSchema:s.outputSchema,annotations:s.annotations,_meta:s._meta}}function Ss(){const s=P.c(1);let e;return s[0]===Symbol.for("react.memo_cache_sentinel")?(e=t.jsx(Me,{children:t.jsx(X.Suspense,{fallback:t.jsx("div",{className:"flex h-full items-center justify-center bg-background",children:t.jsx(je,{size:32,className:"animate-spin text-muted-foreground"})}),children:t.jsx(gs,{})})}),s[0]=e):e=s[0],e}function ro(){const s=P.c(1);let e;return s[0]===Symbol.for("react.memo_cache_sentinel")?(e=t.jsx(Ss,{}),s[0]=e):e=s[0],e}export{ro as default};
@@ -1 +0,0 @@
1
- import{R,aI as V,b6 as A,U as a,aG as j,aH as z,e as L,j as u,B as C}from"./index-B9kRhzg7.js";import{I as H}from"./input-DCOoktZX.js";import{s as W}from"./Plus-BnGx63GX.js";import{s as q}from"./Trash01-DfuJtop_.js";const K=R({key:a().min(1,"Key is required"),value:a()}),M=R({title:a().min(1,"Name is required"),description:a().nullable().optional(),icon:a().nullable().optional(),ui_type:z(["HTTP","SSE","Websocket","NPX","STDIO"]),connection_url:a().optional(),connection_token:a().nullable().optional(),npx_package:a().optional(),stdio_command:a().optional(),stdio_args:a().optional(),stdio_cwd:a().optional(),env_vars:j(K).optional(),configuration_scopes:j(a()).nullable().optional(),configuration_state:V(a(),A()).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"]});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(s=>e.includes(s))||["sk_","rk_","whsec_","pk_live","sk_live"].some(s=>e.startsWith(s))||["_key","_secret","_token","_password","_auth","_pat"].some(s=>e.endsWith(s)))}function X(n){const e=L.c(34),{value:t,onChange:r,keyPlaceholder:o,valuePlaceholder:s,className:v}=n,m=o===void 0?"VARIABLE_NAME":o,_=s===void 0?"value...":s;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 S=b;let x;e[3]!==r||e[4]!==t?(x=l=>{r(t.filter((p,i)=>i!==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 i=[...t],c=i[l];c&&(i[l]={key:p,value:c.value},r(i))},e[6]=r,e[7]=t,e[8]=P):P=e[8];const y=P;let w;e[9]!==r||e[10]!==t?(w=(l,p)=>{const i=[...t],c=i[l];c&&(i[l]={key:c.key,value:p},r(i))},e[9]=r,e[10]=t,e[11]=w):w=e[11];const k=w;let d;if(e[12]!==y||e[13]!==g||e[14]!==k||e[15]!==m||e[16]!==t||e[17]!==_){let l;e[19]!==y||e[20]!==g||e[21]!==k||e[22]!==m||e[23]!==_?(l=(p,i)=>u.jsxs("div",{className:"flex gap-2 items-center",children:[u.jsx(H,{placeholder:m,value:p.key,onChange:c=>y(i,c.target.value),className:"h-10 rounded-lg flex-1 font-mono text-sm"}),u.jsx(H,{type:U(p.key)?"password":"text",placeholder:_,value:p.value,onChange:c=>k(i,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(i),children:u.jsx(q,{size:16})})]},i),e[19]=y,e[20]=g,e[21]=k,e[22]=m,e[23]=_,e[24]=l):l=e[24],d=t.map(l),e[12]=y,e[13]=g,e[14]=k,e[15]=m,e[16]=t,e[17]=_,e[18]=d}else d=e[18];let T;e[25]===Symbol.for("react.memo_cache_sentinel")?(T=u.jsx(W,{size:16,className:"mr-1"}),e[25]=T):T=e[25];let f;e[26]!==S?(f=u.jsxs(C,{type:"button",variant:"outline",size:"sm",className:"w-full h-9 text-muted-foreground",onClick:S,children:[T,"Add Environment Variable"]}),e[26]=S,e[27]=f):f=e[27];let h;e[28]!==d||e[29]!==f?(h=u.jsxs("div",{className:"flex flex-col gap-2",children:[d,f]}),e[28]=d,e[29]=f,e[30]=h):h=e[30];let E;return e[31]!==v||e[32]!==h?(E=u.jsx("div",{className:v,children:h}),e[31]=v,e[32]=h,e[33]=E):E=e[33],E}function I(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 N(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 o=e.slice(1).find(s=>!s.startsWith("-"));return o?{packageName:o}:null}function Y(n){const{uiType:e}=n,t=N(n.connectionUrl??"");if((e==="HTTP"||e==="SSE"||e==="Websocket")&&t===N("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=N(n.connectionUrl??"");if(!e)return null;const t=n.registryItems.find(s=>(s.server?.remotes??[]).some(m=>N(m.url??"")===e));if(!t)return null;const r=t.title||t.name||t.server?.title||t.server?.name||"",o=t.server?.description||t.description||t.summary||null;return r?{id:"registry",title:r,description:o}:null}function Q(n,e){const t={command:"npx",args:["-y",n]},r=I(e);return Object.keys(r).length>0&&(t.envVars=r),t}function Z(n,e,t,r){const o={command:n};e.trim()&&(o.args=e.trim().split(/\s+/)),t?.trim()&&(o.cwd=t.trim());const s=I(r);return Object.keys(s).length>0&&(o.envVars=s),o}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 +0,0 @@
1
- import{e as ae,j as t,E as et,r as W,l as ce,q as Ne,f as ke,d as tt,b as De,u as nt,p as st,L as ot,G as it,H as at,B as z,t as ne,F as rt,c as le,o as Q,J as ct,I as lt,K as dt}from"./index-B9kRhzg7.js";import{g as mt}from"./generate-id-C8OHZs1-.js";import{C as ut}from"./collection-display-button-C-mBXp6g.js";import{S as pt}from"./search-input-Dny3m5xa.js";import{C as ht}from"./collection-tabs-BgZPPjBK.js";import{u as xt,a as Ae,g as gt,C as Ce}from"./connection-card-Dmrkhocz.js";import{E as ft}from"./empty-state-BqVzURvi.js";import{I as jt}from"./integration-icon-D0rRtQFH.js";import{P as me}from"./index-Bx5wFMxU.js";import{u as yt,D as Ct}from"./use-delete-connection-D9RSUNNZ.js";import{u as ye}from"./use-capability-B6JwqpW7.js";import{u as vt}from"./use-infinite-scroll-DV-4RP03.js";import{u as _t}from"./use-list-state-Mwh_8jAB.js";import{g as we,a as St,e as bt}from"./extract-connection-data-J0nLi0pB.js";import{g as pe}from"./connection-slug-eyAPH6o3.js";import{c as Te,d as Ie,b as Pe,f as Le,e as Oe,g as $e,a as Ee,A as Me}from"./alert-dialog-BpOf9MAK.js";import{C as ze}from"./checkbox-4DJ-sElS.js";import{D as Fe,a as Ve,b as Be,c as Ue,e as He,d as Re}from"./dialog-J9xRnRHX.js";import{b as Nt,a as kt,c as Dt,D as At,d as wt,e as Tt,f as It}from"./drawer-NwIwuvOD.js";import{u as Pt}from"./tooltip-Cx8u2hvs.js";import{D as Ke,a as We,b as Xe,c as he}from"./dropdown-menu-Do65ajnt.js";import{F as J,b as Y,c as Z,d as ee,f as te,a as Se}from"./form-C4TJnG5K.js";import{I as ie}from"./input-DCOoktZX.js";import{d as Lt,S as Ot,a as $t,b as Et,c as re}from"./select-CVZQAcm7.js";import{T as Mt}from"./textarea-CaPEW-IU.js";import{b as qe,u as zt}from"./use-connection-DkHV4tpA.js";import{u as Ft,S as Vt}from"./constants-BFQrPD6r.js";import{a as Bt}from"./use-virtual-mcp-CtYRrEgz.js";import{P as Ut,a2 as Ht}from"./agent-icon-DFJgaXFK.js";import{n as xe}from"./Container-DlDQbtuJ.js";import{i as Ge}from"./DotsVertical-DDPFnnRS.js";import{s as Qe}from"./Eye-ogI2y4CN.js";import{s as je}from"./Star01-Cu6cUuhf.js";import{s as Je}from"./Plus-BnGx63GX.js";import{s as Ye}from"./Trash01-DfuJtop_.js";import{s as Ze}from"./XClose-CXacF9IM.js";import{i as ue,a as be,E as Rt,c as Kt,p as Wt,b as Xt,d as qt}from"./connection-form-helpers-BL61O5Zc.js";import"./collections-C8UGR0dQ.js";import"./SwitchHorizontal01-BjgMZfW7.js";import"./Check-DCJCCJt5.js";import"./view-mode-toggle-DbMrI7Rd.js";import"./badge-BCXaZ3jr.js";import"./SearchMd-CxJnyPJ2.js";import"./use-registry-connections-BCrdHAv1.js";import"./use-organization-settings-BDlR4IeW.js";import"./useInfiniteQuery-B2j87XPZ.js";import"./infiniteQueryObserver-Xb1xysnw.js";import"./card-DsraaOS_.js";import"./sidebar-BMIDAt6t.js";import"./LayoutLeft-BO92HMhM.js";import"./sheet-BLkB41eQ.js";import"./X-COnjMnsv.js";import"./use-view-mode-BoGNEuZa.js";import"./ChevronRight-BD7fiLv7.js";import"./label-dlG4_xKf.js";import"./ChevronDown-vntP1LF0.js";import"./ChevronUp-B9NZzlEX.js";import"./use-collections-C1EEoGdl.js";import"./AlertCircle-DQ3zaMns.js";import"./Tool01-DRibBi0T.js";import"./RefreshCcw01-Dk9AOo-m.js";import"./XCircle-BvIhN4E7.js";import"./ArrowUpRight-UT01ancE.js";import"./ZapSquare-C79zBXJj.js";import"./Users03-DhXF_0sH.js";import"./CheckCircle-CN8csJmd.js";import"./ChevronLeft-_4tt3JbP.js";import"./ZoomOut-B5B07_-g.js";import"./Globe01-C2fKyC2-.js";import"./FilterLines-DpUfIC-u.js";import"./Palette-OtFJ1ywH.js";import"./HardDrive-Ik-OtFON.js";import"./Stars02-Bo6vryYW.js";import"./Key01-CmprkySl.js";import"./LinkExternal01-9W209kLr.js";import"./Monitor01-B0FKK9nk.js";import"./Sun-Bg1tFzcn.js";import"./Play-B9TsjtCB.js";import"./Settings02-PSRUEgfS.js";import"./Shield01-Do71Dyqk.js";import"./Stars01-BuMp0jeZ.js";import"./Upload01-DGWS8Icx.js";import"./User01-B1RcIkcM.js";import"./Users01-CyxI-ZiC.js";import"./Zap-BM6RWRPw.js";function Gt(v){const e=ae.c(51),{group:n,onOpen:p,selectionMode:u,selectedIds:m,onToggleSelect:a}=v;let h;if(e[0]!==n.connections||e[1]!==m){let C;e[3]!==m?(C=P=>m.has(P.id),e[3]=m,e[4]=C):C=e[4],h=n.connections.every(C),e[0]=n.connections,e[1]=m,e[2]=h}else h=e[2];const x=h;let y;if(e[5]!==n.connections||e[6]!==m){let C;e[8]!==m?(C=P=>m.has(P.id),e[8]=m,e[9]=C):C=e[9],y=n.connections.some(C),e[5]=n.connections,e[6]=m,e[7]=y}else y=e[7];const g=y,b=`${n.connections.length} instances`;let N;e[10]!==n.icon||e[11]!==n.title||e[12]!==b?(N={title:n.title,icon:n.icon,description:b},e[10]=n.icon,e[11]=n.title,e[12]=b,e[13]=N):N=e[13];let l;e[14]!==x||e[15]!==n.connections||e[16]!==p||e[17]!==a||e[18]!==m||e[19]!==u?(l=()=>u?(()=>{for(const C of n.connections)x?m.has(C.id)&&a(C.id):m.has(C.id)||a(C.id)})():p(),e[14]=x,e[15]=n.connections,e[16]=p,e[17]=a,e[18]=m,e[19]=u,e[20]=l):l=e[20];const j=u&&x&&"ring-2 ring-primary",d=u&&g&&!x&&"ring-1 ring-primary/50";let k;e[21]!==j||e[22]!==d?(k=le(j,d),e[21]=j,e[22]=d,e[23]=k):k=e[23];let _;e[24]===Symbol.for("react.memo_cache_sentinel")?(_=t.jsx(xe,{}),e[24]=_):_=e[24];let D;e[25]!==x||e[26]!==n.connections||e[27]!==a||e[28]!==m||e[29]!==u||e[30]!==g?(D=u?t.jsx(ze,{checked:x?!0:g?"indeterminate":!1,onCheckedChange:()=>{for(const C of n.connections)x?m.has(C.id)&&a(C.id):m.has(C.id)||a(C.id)}}):t.jsxs("div",{className:"flex items-center gap-1",children:[t.jsx("span",{className:"text-xs text-muted-foreground font-normal",children:"Connected"}),t.jsxs("span",{className:"text-xs text-muted-foreground font-normal tabular-nums",children:["x",n.connections.length]})]}),e[25]=x,e[26]=n.connections,e[27]=a,e[28]=m,e[29]=u,e[30]=g,e[31]=D):D=e[31];const U=u?"w-8 opacity-100":"w-0 opacity-0 group-hover:w-8 group-hover:opacity-100";let F;e[32]!==U?(F=le("overflow-hidden transition-all duration-150 ease-out",U),e[32]=U,e[33]=F):F=e[33];let s;e[34]===Symbol.for("react.memo_cache_sentinel")?(s=t.jsx(We,{asChild:!0,children:t.jsx(z,{variant:"ghost",size:"sm",className:"h-8 w-8 p-0",onClick:Jt,children:t.jsx(Ge,{size:20})})}),e[34]=s):s=e[34];let A;e[35]!==p?(A=C=>{C.stopPropagation(),p()},e[35]=p,e[36]=A):A=e[36];let V;e[37]===Symbol.for("react.memo_cache_sentinel")?(V=t.jsx(Qe,{size:16}),e[37]=V):V=e[37];let $;e[38]!==A?($=t.jsxs(Ke,{children:[s,t.jsx(Xe,{align:"end",onClick:Qt,children:t.jsxs(he,{onClick:A,children:[V,"Open"]})})]}),e[38]=A,e[39]=$):$=e[39];let w;e[40]!==F||e[41]!==$?(w=t.jsx("div",{className:F,children:$}),e[40]=F,e[41]=$,e[42]=w):w=e[42];let L;e[43]!==D||e[44]!==w?(L=t.jsxs("div",{className:"flex items-center gap-1",children:[D,w]}),e[43]=D,e[44]=w,e[45]=L):L=e[45];let B;return e[46]!==L||e[47]!==N||e[48]!==l||e[49]!==k?(B=t.jsx(t.Fragment,{children:t.jsx(Ce,{connection:N,onClick:l,className:k,fallbackIcon:_,headerActionsAlwaysVisible:!0,headerActions:L})}),e[46]=L,e[47]=N,e[48]=l,e[49]=k,e[50]=B):B=e[50],B}function Qt(v){return v.stopPropagation()}function Jt(v){return v.stopPropagation()}function Yt(v){const e=ae.c(23),{count:n,total:p,canManage:u,canManageAgents:m,onSelectAll:a,onDeselectAll:h,onDelete:x,onAddToAgent:y,onToggleStatus:g,onCancel:b}=v;if(n===0)return null;let N;e[0]!==n?(N=t.jsxs("div",{className:"text-xs text-muted-foreground pr-1 tabular-nums",children:[n," selected"]}),e[0]=n,e[1]=N):N=e[1];let l;e[2]!==n||e[3]!==h||e[4]!==a||e[5]!==p?(l=n<p?t.jsxs(z,{variant:"outline",size:"sm",className:"h-7 text-xs px-2",onClick:a,children:["Select all (",p,")"]}):t.jsx(z,{variant:"outline",size:"sm",className:"h-7 text-xs px-2",onClick:h,children:"Clear selection"}),e[2]=n,e[3]=h,e[4]=a,e[5]=p,e[6]=l):l=e[6];let j;e[7]!==m||e[8]!==y?(j=m&&t.jsxs(z,{variant:"outline",size:"sm",className:"h-7 text-xs px-2",onClick:y,children:[t.jsx(Je,{size:13}),"Add to Agent"]}),e[7]=m,e[8]=y,e[9]=j):j=e[9];let d;e[10]!==u||e[11]!==x||e[12]!==g?(d=u&&t.jsxs(t.Fragment,{children:[t.jsx(z,{variant:"outline",size:"sm",className:"h-7 text-xs px-2",onClick:()=>g("active"),children:"Enable"}),t.jsx(z,{variant:"outline",size:"sm",className:"h-7 text-xs px-2",onClick:()=>g("inactive"),children:"Disable"}),t.jsxs(z,{variant:"destructive",size:"sm",className:"h-7 text-xs px-2",onClick:x,children:[t.jsx(Ye,{size:13}),"Delete"]})]}),e[10]=u,e[11]=x,e[12]=g,e[13]=d):d=e[13];let k;e[14]===Symbol.for("react.memo_cache_sentinel")?(k=t.jsx(Ze,{size:13}),e[14]=k):k=e[14];let _;e[15]!==b?(_=t.jsx(z,{variant:"ghost",size:"sm",className:"h-7 text-xs px-2",onClick:b,children:k}),e[15]=b,e[16]=_):_=e[16];let D;return e[17]!==N||e[18]!==l||e[19]!==j||e[20]!==d||e[21]!==_?(D=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:[N,l,j,d,_]})}),e[17]=N,e[18]=l,e[19]=j,e[20]=d,e[21]=_,e[22]=D):D=e[22],D}function Zt(v){const e=ae.c(25),{open:n,onOpenChange:p,agents:u,onConfirm:m}=v,[a,h]=W.useState(null);let x;e[0]===Symbol.for("react.memo_cache_sentinel")?(x=t.jsxs(Be,{children:[t.jsx(Ue,{children:"Add to Agent"}),t.jsx(He,{children:"Select an agent to add the selected connections to."})]}),e[0]=x):x=e[0];let y;e[1]!==u||e[2]!==a?(y=u.length===0?t.jsx("p",{className:"text-sm text-muted-foreground text-center py-4",children:"No agents found"}):u.map(D=>t.jsxs("button",{type:"button",onClick:()=>h(D.id),className:le("flex items-center gap-3 w-full rounded-md px-3 py-2 text-left transition-colors",a===D.id?"bg-primary/10 ring-1 ring-primary":"hover:bg-muted/50"),children:[t.jsx(jt,{icon:D.icon,name:D.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:D.title}),D.description&&t.jsx("p",{className:"text-xs text-muted-foreground truncate",children:D.description})]})]},D.id)),e[1]=u,e[2]=a,e[3]=y):y=e[3];let g;e[4]!==y?(g=t.jsx("div",{className:"max-h-60 overflow-auto py-2 space-y-1",children:y}),e[4]=y,e[5]=g):g=e[5];let b;e[6]!==p?(b=t.jsx(z,{variant:"outline",onClick:()=>p(!1),children:"Cancel"}),e[6]=p,e[7]=b):b=e[7];const N=!a;let l;e[8]!==m||e[9]!==p||e[10]!==a?(l=()=>{a&&(m(a),p(!1),h(null))},e[8]=m,e[9]=p,e[10]=a,e[11]=l):l=e[11];let j;e[12]!==N||e[13]!==l?(j=t.jsx(z,{disabled:N,onClick:l,children:"Add"}),e[12]=N,e[13]=l,e[14]=j):j=e[14];let d;e[15]!==b||e[16]!==j?(d=t.jsxs(Re,{children:[b,j]}),e[15]=b,e[16]=j,e[17]=d):d=e[17];let k;e[18]!==g||e[19]!==d?(k=t.jsxs(Ve,{className:"sm:max-w-[400px]",children:[x,g,d]}),e[18]=g,e[19]=d,e[20]=k):k=e[20];let _;return e[21]!==p||e[22]!==n||e[23]!==k?(_=t.jsx(Fe,{open:n,onOpenChange:p,children:k}),e[21]=p,e[22]=n,e[23]=k,e[24]=_):_=e[24],_}function en(v){const e=ae.c(20),{open:n,onOpenChange:p,count:u,onConfirm:m}=v,a=u!==1?"s":"";let h;e[0]!==u||e[1]!==a?(h=t.jsxs(Te,{children:["Delete ",u," connection",a,"?"]}),e[0]=u,e[1]=a,e[2]=h):h=e[2];const x=u!==1?"s":"";let y;e[3]!==x?(y=t.jsxs(Ie,{children:["This will permanently delete the selected connection",x,". This action cannot be undone."]}),e[3]=x,e[4]=y):y=e[4];let g;e[5]!==h||e[6]!==y?(g=t.jsxs(Pe,{children:[h,y]}),e[5]=h,e[6]=y,e[7]=g):g=e[7];let b;e[8]===Symbol.for("react.memo_cache_sentinel")?(b=t.jsx(Le,{children:"Cancel"}),e[8]=b):b=e[8];const N=u!==1?"s":"";let l;e[9]!==u||e[10]!==m||e[11]!==N?(l=t.jsxs(Oe,{children:[b,t.jsxs($e,{onClick:m,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:["Delete ",u," connection",N]})]}),e[9]=u,e[10]=m,e[11]=N,e[12]=l):l=e[12];let j;e[13]!==g||e[14]!==l?(j=t.jsxs(Ee,{children:[g,l]}),e[13]=g,e[14]=l,e[15]=j):j=e[15];let d;return e[16]!==p||e[17]!==n||e[18]!==j?(d=t.jsx(Me,{open:n,onOpenChange:p,children:j}),e[16]=p,e[17]=n,e[18]=j,e[19]=d):d=e[19],d}function tn(v){return v._registryId?.includes("community-registry")===!0}function nn(v){const e=ae.c(58),{item:n,canManage:p,allConnections:u,connectedAppNames:m,connectingItemId:a,onNavigateConnected:h,onConnect:x}=v,[y,g]=W.useState(!1),[b,N]=W.useState(null);let l,j;e[0]!==m||e[1]!==n?(l=we(n)??"",j=m.has(l),e[0]=m,e[1]=n,e[2]=l,e[3]=j):(l=e[2],j=e[3]);const d=j,k=n._meta?.["mcp.mesh"],_=k?.friendlyName||k?.friendly_name||n.server?.title||n.title||n.server?.name||n.name||n.id||"",D=n.server?.description||n.description||null;let U;e[4]!==n.server?.icons?.[0]?.src||e[5]!==n.server?.repository?(U=n.server?.icons?.[0]?.src||St(n.server?.repository)||null,e[4]=n.server?.icons?.[0]?.src,e[5]=n.server?.repository,e[6]=U):U=e[6];const F=U;let s;if(e[7]!==u||e[8]!==l){let S;e[10]!==l?(S=oe=>oe.connection_type!=="VIRTUAL"&&oe.app_name===l,e[10]=l,e[11]=S):S=e[11],s=u.filter(S),e[7]=u,e[8]=l,e[9]=s}else s=e[9];const A=s;let V;e[12]!==n?(V=tn(n),e[12]=n,e[13]=V):V=e[13];const $=V;let w,L;e[14]!==A||e[15]!==p||e[16]!==$||e[17]!==d||e[18]!==n||e[19]!==x||e[20]!==h?(w=()=>{if(d){const S=A[0];S&&h(S);return}p&&L()},L=()=>{$?(N("connect"),g(!0)):x(n)},e[14]=A,e[15]=p,e[16]=$,e[17]=d,e[18]=n,e[19]=x,e[20]=h,e[21]=w,e[22]=L):(w=e[21],L=e[22]);let B;e[23]!==n||e[24]!==x||e[25]!==b?(B=()=>{ne("connections_community_warning_confirmed",{registry_item_id:n.id}),g(!1),b==="connect"&&x(n),N(null)},e[23]=n,e[24]=x,e[25]=b,e[26]=B):B=e[26];const C=B;let P;e[27]!==D||e[28]!==F||e[29]!==_?(P={title:_,description:D,icon:F},e[27]=D,e[28]=F,e[29]=_,e[30]=P):P=e[30];let G;e[31]===Symbol.for("react.memo_cache_sentinel")?(G=t.jsx(xe,{}),e[31]=G):G=e[31];let R;e[32]!==$||e[33]!==n._sourceIcon?(R=$&&n._sourceIcon&&t.jsx("img",{src:n._sourceIcon,alt:"Community",className:"size-4 rounded-sm object-contain"}),e[32]=$,e[33]=n._sourceIcon,e[34]=R):R=e[34];let X;e[35]!==p||e[36]!==a||e[37]!==L||e[38]!==d||e[39]!==n.id?(X=d?t.jsx("span",{className:"text-xs text-muted-foreground font-normal",children:"Connected"}):p&&t.jsx(z,{variant:"outline",size:"sm",className:"h-7 px-3 rounded-lg text-sm font-medium",disabled:a!==null,onClick:S=>{S.stopPropagation(),L()},children:a===n.id?t.jsx(ce,{size:14,className:"animate-spin"}):"Connect"}),e[35]=p,e[36]=a,e[37]=L,e[38]=d,e[39]=n.id,e[40]=X):X=e[40];let o;e[41]!==R||e[42]!==X?(o=t.jsxs("div",{className:"flex items-center gap-2",children:[R,X]}),e[41]=R,e[42]=X,e[43]=o):o=e[43];let f;e[44]!==w||e[45]!==o||e[46]!==P?(f=t.jsx(Ce,{connection:P,fallbackIcon:G,onClick:w,headerActionsAlwaysVisible:!0,headerActions:o}),e[44]=w,e[45]=o,e[46]=P,e[47]=f):f=e[47];let O;e[48]===Symbol.for("react.memo_cache_sentinel")?(O=t.jsxs(Pe,{children:[t.jsx(Te,{children:"Community MCP Server"}),t.jsx(Ie,{children:"This MCP server is from the Community MCP Registry and is not maintained or verified by Deco. Community servers may have varying levels of quality, security, and reliability. Proceed with caution and review the server details before connecting."})]}),e[48]=O):O=e[48];let H;e[49]===Symbol.for("react.memo_cache_sentinel")?(H=t.jsx(Le,{children:"Cancel"}),e[49]=H):H=e[49];let E;e[50]!==C?(E=t.jsxs(Ee,{children:[O,t.jsxs(Oe,{children:[H,t.jsx($e,{onClick:C,children:"Continue"})]})]}),e[50]=C,e[51]=E):E=e[51];let r;e[52]!==y||e[53]!==E?(r=t.jsx(Me,{open:y,onOpenChange:g,children:E}),e[52]=y,e[53]=E,e[54]=r):r=e[54];let T;return e[55]!==f||e[56]!==r?(T=t.jsxs(t.Fragment,{children:[f,r]}),e[55]=f,e[56]=r,e[57]=T):T=e[57],T}function sn({listState:v,activeTab:e,typeFilter:n,statusFilter:p,registryFilter:u,enabledRegistries:m}){const{org:a}=Ne(),h=rt(),x=ke(),{data:y}=De.useSession(),g=qe(),b=zt(v),N=yt(),{granted:l}=ye("connections:manage"),{granted:j}=ye("agents:manage"),[d,k]=W.useState(new Set),_=d.size>0,[D,U]=W.useState(!1),[F,s]=W.useState(!1),[A,V]=W.useState(null),$=Bt(),w=b.filter(c=>!(n!=="ALL"&&c.connection_type!==n||p!=="ALL"&&c.status!==p)),L=gt(w),B=c=>{k(i=>{const M=new Set(i);return M.has(c)?M.delete(c):M.add(c),M})},C=()=>{k(new Set)},P=Ae(m,v.searchTerm),G=P.items,R=vt(P.loadMore,P.hasMore,P.isLoadingMore),X=new Set(b.filter(c=>c.app_name).map(c=>c.app_name)),o=u==="ALL"||m.some(c=>c.id===u)?u:"ALL",f=v.search.length>0,O=e==="all"||f?G.filter(c=>{if(o!=="ALL"&&c._registryId!==o)return!1;if(f){const i=we(c);if(i&&X.has(i))return!1}return!0}):[],H=e==="connected"||f?L:[],E=async c=>{if(!(!a||!y?.user?.id)){ne("connection_add_clicked",{action:"connect_new",registry_item_id:c.id,source:"connections_page"}),V(c.id);try{const i=bt(c,a.id,y.user.id,{remoteIndex:0}),M=i.connection_type==="STDIO",I=!!i.connection_url,q=M&&i.connection_headers&&typeof i.connection_headers=="object"&&"command"in i.connection_headers;if(!I&&!q){Q.error("This MCP Server cannot be connected: no connection method available"),V(null);return}const{id:K}=await g.create.mutateAsync(i),ve=new URL(`/api/${a.slug}/mcp/${K}`,window.location.origin),_e=await ct({url:ve.href,token:null,orgId:a.id});if(_e.supportsOAuth&&!_e.isAuthenticated){const{token:de,tokenInfo:se,error:fe}=await lt({connectionId:K,orgSlug:a.slug,scope:"offline_access"});if(fe||!de){ne("connection_oauth_failed",{connection_id:K,flow:"connections_page_connect",error:fe??"no_token"}),Q.error(`Authentication failed: ${fe??"no token received"}`);return}else{if(ne("connection_oauth_succeeded",{connection_id:K,flow:"connections_page_connect"}),se)try{(await fetch(`/api/${a.slug}/connections/${K}/oauth-token`,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({accessToken:se.accessToken,refreshToken:se.refreshToken,expiresIn:se.expiresIn,scope:se.scope,clientId:se.clientId,clientSecret:se.clientSecret,tokenEndpoint:se.tokenEndpoint})})).ok?await g.update.mutateAsync({id:K,data:{}}):await g.update.mutateAsync({id:K,data:{connection_token:de}})}catch{await g.update.mutateAsync({id:K,data:{connection_token:de}})}else await g.update.mutateAsync({id:K,data:{connection_token:de}});await h.invalidateQueries({queryKey:dt.isMCPAuthenticated(ve.href,null)}),Q.success("Authentication successful")}}Q.success("Connected successfully")}catch(i){Q.error(`Failed to connect: ${i instanceof Error?i.message:String(i)}`)}finally{V(null)}}},r=Ft({connectionId:Vt,orgId:a.id,orgSlug:a.slug}),T=()=>{h.invalidateQueries({predicate:c=>{const i=c.queryKey;return i[1]===a.id&&i[3]==="collection"&&i[4]==="CONNECTIONS"}})},S=async()=>{U(!1);const c=[...d];ne("connections_bulk_delete",{count:c.length});let i=0;for(const M of c)try{(await r.callTool({name:"COLLECTION_CONNECTIONS_DELETE",arguments:{id:M,force:!0}})).isError||i++}catch{}T(),Q.success(`Deleted ${i} connection${i!==1?"s":""}`),C()},oe=async c=>{const i=[...d];ne("connections_bulk_status_toggled",{count:i.length,to_status:c});let M=0;for(const I of i)try{await g.update.mutateAsync({id:I,data:{status:c}}),M++}catch{}T(),Q.success(`${c==="active"?"Enabled":"Disabled"} ${M} connection${M!==1?"s":""}`),C()},ge=async c=>{const i=$.find(q=>q.id===c);if(!i||!r)return;ne("connections_bulk_add_to_agent",{agent_id:c,count:d.size});const M=new Set(i.connections.map(q=>q.connection_id)),I=[...d].filter(q=>!M.has(q)).map(q=>({connection_id:q,selected_tools:null,selected_resources:null,selected_prompts:null}));if(I.length===0){Q.info("All selected connections are already in that agent");return}try{await r.callTool({name:"COLLECTION_VIRTUAL_MCP_UPDATE",arguments:{id:c,data:{connections:[...i.connections,...I]}}}),h.invalidateQueries({predicate:q=>{const K=q.queryKey;return K[1]===a.id&&K[3]==="collection"&&K[4]==="VIRTUAL_MCP"}}),Q.success(`Added ${I.length} connection${I.length!==1?"s":""} to "${i.title}"`),C()}catch{Q.error("Failed to add connections to agent")}};return t.jsxs(t.Fragment,{children:[t.jsx(Ct,{...N}),t.jsx(en,{open:D,onOpenChange:U,count:d.size,onConfirm:S}),t.jsx(Zt,{open:F,onOpenChange:s,agents:$,onConfirm:ge}),P.isInitialLoading&&e==="all"?t.jsx("div",{className:"flex h-full items-center justify-center",children:t.jsx(ce,{size:32,className:"animate-spin text-muted-foreground"})}):t.jsx("div",{children:(f?O.length===0&&w.length===0:e==="all"?O.length===0:w.length===0)?t.jsx(ft,{image:t.jsx("img",{src:"/emptystate-mcp.svg",alt:"",width:336,height:320,"aria-hidden":"true"}),title:"No Connections found",description:v.search?`No Connections match "${v.search}"`:l?"Create a connection to get started.":"Ask an organization admin to add one."}):t.jsxs("div",{className:"grid grid-cols-[repeat(auto-fill,minmax(280px,1fr))] gap-4",children:[H.map(c=>{if(c.type==="group")return t.jsx(Gt,{group:c,onOpen:()=>{x({to:"/$org/settings/connections/$appSlug",params:{org:a.slug,appSlug:c.key}})},selectionMode:_,selectedIds:d,onToggleSelect:B},c.key);const i=c.connection,M=d.has(i.id);return t.jsx(Ce,{connection:i,fallbackIcon:t.jsx(xe,{}),onClick:()=>_?B(i.id):x({to:"/$org/settings/connections/$appSlug",params:{org:a.slug,appSlug:pe(i)}}),className:le(M&&"ring-2 ring-primary bg-primary/5"),headerActionsAlwaysVisible:!0,headerActions:t.jsxs("div",{className:"flex items-center gap-1",children:[_?t.jsx(ze,{checked:M,onCheckedChange:()=>B(i.id),onClick:I=>I.stopPropagation()}):t.jsx("span",{className:"text-xs text-muted-foreground font-normal",children:"Connected"}),t.jsx("div",{className:le("overflow-hidden transition-all duration-150 ease-out",_?"w-8 opacity-100":"w-0 opacity-0 group-hover:w-8 group-hover:opacity-100"),children:t.jsxs(Ke,{children:[t.jsx(We,{asChild:!0,children:t.jsx(z,{variant:"ghost",size:"sm",className:"h-8 w-8 p-0",onClick:I=>I.stopPropagation(),children:t.jsx(Ge,{size:20})})}),t.jsxs(Xe,{align:"end",onClick:I=>I.stopPropagation(),children:[t.jsxs(he,{onClick:I=>{I.stopPropagation(),x({to:"/$org/settings/connections/$appSlug",params:{org:a.slug,appSlug:pe(i)}})},children:[t.jsx(Qe,{size:16}),"Open"]}),(l||j)&&t.jsxs(he,{onClick:I=>{I.stopPropagation(),B(i.id)},children:[t.jsx(Ht,{size:16}),"Select"]}),l&&t.jsxs(he,{variant:"destructive",onClick:I=>{I.stopPropagation(),N.requestDelete(i)},children:[t.jsx(Ye,{size:16}),"Delete"]})]})]})})]})},i.id)}),O.map(c=>t.jsx(nn,{item:c,canManage:l,allConnections:b,connectedAppNames:X,connectingItemId:A,onNavigateConnected:i=>x({to:"/$org/settings/connections/$appSlug",params:{org:a.slug,appSlug:pe(i)}}),onConnect:E},`catalog-${c._registryId}:${c.id}`)),(e==="all"||f)&&m.length>0&&t.jsx("div",{ref:R,className:"col-span-full h-4"}),(e==="all"||f)&&P.isLoadingMore&&t.jsx("div",{className:"col-span-full flex justify-center py-6",children:t.jsx(ce,{size:24,className:"animate-spin text-muted-foreground"})})]})}),_&&t.jsx(Yt,{count:d.size,total:w.length,canManage:l,canManageAgents:j,onSelectAll:()=>{k(new Set(w.map(c=>c.id)))},onDeselectAll:()=>k(new Set),onDelete:()=>U(!0),onAddToAgent:()=>s(!0),onToggleStatus:oe,onCancel:C})]})}function on(){const{org:v}=Ne(),e=ke(),n=tt({strict:!1}),{data:p}=De.useSession(),{stdioEnabled:u}=nt(),m=Pt(),{granted:a}=ye("connections:manage"),h=_t({namespace:v.slug,resource:"connections"}),x=qe(),[y,g]=st(ot.connectionsTab(v.slug),o=>n.tab==="all"||n.tab==="connected"?n.tab:o??"all"),[b,N]=W.useState("ALL"),[l,j]=W.useState("ALL"),[d,k]=W.useState("ALL"),_=xt(),U=Ae(_,h.searchTerm).items,F=h.search!==h.searchTerm,s=it({resolver:at(Kt),defaultValues:{title:"",description:null,icon:null,ui_type:"HTTP",connection_url:"",connection_token:null,npx_package:"",stdio_command:"",stdio_args:"",stdio_cwd:"",env_vars:[]}}),A=s.watch("ui_type"),V=s.watch("connection_url"),$=s.watch("npx_package"),w=ue({uiType:A,connectionUrl:V??"",npxPackage:$??""})??be({uiType:A,connectionUrl:V??"",registryItems:U}),L=a&&n.action==="create",B=()=>{ne("connections_custom_dialog_opened",{source:"connections_page"}),e({to:"/$org/settings/connections",params:{org:v.slug},search:{action:"create"}})},C=()=>{e({to:"/$org/settings/connections",params:{org:v.slug},search:{}})},P=async o=>{let f,O=null,H=null,E=null;o.ui_type==="NPX"?(f="STDIO",O="",E=Xt(o.npx_package||"",o.env_vars||[])):o.ui_type==="STDIO"?(f="STDIO",O="",E=qt(o.stdio_command||"",o.stdio_args||"",o.stdio_cwd,o.env_vars||[])):(f=o.ui_type,O=o.connection_url||"",H=o.connection_token||null);const r=mt("conn");ne("connection_custom_created",{connection_type:f,ui_type:o.ui_type}),await x.create.mutateAsync({id:r,title:o.title,description:o.description||null,connection_type:f,connection_url:O,connection_token:H,created_at:new Date().toISOString(),updated_at:new Date().toISOString(),created_by:p?.user?.id||"system",organization_id:v.id,icon:o.icon??null,app_name:null,app_id:null,connection_headers:E,oauth_config:null,configuration_state:null,metadata:null,tools:null,bindings:null,status:"inactive"}),C(),s.reset(),e({to:"/$org/settings/connections/$appSlug",params:{org:v.slug,appSlug:pe({app_name:null,connection_url:O,title:o.title,id:r})}})},G=o=>{o||(L&&C(),s.reset())},R=o=>{const f=o.trim();if(!f)return;const O=!!s.formState.dirtyFields.title,H=!!s.formState.dirtyFields.description,E=!!s.formState.dirtyFields.env_vars,r=S=>{if(S&&(!O&&!s.getValues("title").trim()&&S.title&&s.setValue("title",S.title,{shouldDirty:!1}),!H&&!(s.getValues("description")??"").trim()&&S.description&&s.setValue("description",S.description,{shouldDirty:!1}),!E&&S.envVarKeys?.length)){const oe=s.getValues("env_vars")??[],ge=new Set(oe.map(i=>i.key)),c=S.envVarKeys.filter(i=>!ge.has(i));c.length>0&&s.setValue("env_vars",[...oe,...c.map(i=>({key:i,value:""}))],{shouldDirty:!0})}},T=Wt(f);if(T&&u){s.setValue("ui_type","NPX",{shouldDirty:!0}),s.setValue("npx_package",T.packageName,{shouldDirty:!0}),s.setValue("connection_url","",{shouldDirty:!0}),s.setValue("connection_token",null,{shouldDirty:!0}),r(ue({uiType:"NPX",npxPackage:T.packageName}));return}if(f.startsWith("http://")||f.startsWith("https://")){const S=A==="HTTP"||A==="SSE"||A==="Websocket"?A:"HTTP";s.setValue("ui_type",S,{shouldDirty:!0}),s.setValue("connection_url",f,{shouldDirty:!0}),r(ue({uiType:S,connectionUrl:f})??be({uiType:S,connectionUrl:f,registryItems:U}));return}A==="NPX"&&r(ue({uiType:"NPX",npxPackage:f}))},X=a?t.jsx("div",{className:"flex items-center gap-2",children:t.jsxs(z,{variant:"outline",onClick:B,children:[t.jsx(Je,{size:14,className:"sm:hidden"}),t.jsx("span",{className:"hidden sm:inline",children:"Custom Connection"})]})}):null;return t.jsx(t.Fragment,{children:t.jsxs(me,{children:[(()=>{const o="Create Connection",f="Create a custom connection in your organization. Fill in the details below.",O=s.formState.isSubmitting?"Saving...":"Create Connection",H=t.jsxs("div",{className:"grid gap-4",children:[t.jsx(J,{control:s.control,name:"ui_type",render:({field:r})=>t.jsxs(Y,{children:[t.jsx(Z,{children:"Type *"}),t.jsxs(Lt,{value:r.value,onValueChange:r.onChange,children:[t.jsx(ee,{children:t.jsx(Ot,{children:t.jsx($t,{})})}),t.jsxs(Et,{children:[t.jsx(re,{value:"HTTP",children:t.jsxs("span",{className:"flex items-center gap-2",children:[t.jsx(je,{className:"w-4 h-4"}),"HTTP"]})}),t.jsx(re,{value:"SSE",children:t.jsxs("span",{className:"flex items-center gap-2",children:[t.jsx(je,{className:"w-4 h-4"}),"SSE"]})}),t.jsx(re,{value:"Websocket",children:t.jsxs("span",{className:"flex items-center gap-2",children:[t.jsx(je,{className:"w-4 h-4"}),"Websocket"]})}),u&&t.jsxs(t.Fragment,{children:[t.jsx(re,{value:"NPX",children:t.jsxs("span",{className:"flex items-center gap-2",children:[t.jsx(xe,{className:"w-4 h-4"}),"NPX Package"]})}),t.jsx(re,{value:"STDIO",children:t.jsxs("span",{className:"flex items-center gap-2",children:[t.jsx(Ut,{className:"w-4 h-4"}),"Custom Command"]})})]})]})]}),t.jsx(te,{})]})}),A==="NPX"&&t.jsx(J,{control:s.control,name:"npx_package",render:({field:r})=>t.jsxs(Y,{children:[t.jsx(Z,{children:"NPM Package *"}),t.jsx(ee,{children:t.jsx(ie,{placeholder:"@perplexity-ai/mcp-server",...r,value:r.value??"",onPaste:T=>{const S=T.clipboardData.getData("text");S&&(T.preventDefault(),s.setValue("npx_package",S.trim(),{shouldDirty:!0}),R(S))},onBlur:T=>{R(T.target.value),r.onBlur()}})}),t.jsx(te,{})]})}),A==="STDIO"&&t.jsxs(t.Fragment,{children:[t.jsxs("div",{className:"grid grid-cols-2 gap-4 items-start",children:[t.jsx(J,{control:s.control,name:"stdio_command",render:({field:r})=>t.jsxs(Y,{children:[t.jsx(Z,{children:"Command *"}),t.jsx(ee,{children:t.jsx(ie,{placeholder:"node, bun, python...",...r,value:r.value??""})}),t.jsx(te,{})]})}),t.jsx(J,{control:s.control,name:"stdio_args",render:({field:r})=>t.jsxs(Y,{children:[t.jsx(Z,{children:"Arguments"}),t.jsx(ee,{children:t.jsx(ie,{placeholder:"arg1 arg2 --flag value",...r,value:r.value??""})}),t.jsx(te,{})]})})]}),t.jsx(J,{control:s.control,name:"stdio_cwd",render:({field:r})=>t.jsxs(Y,{children:[t.jsx(Z,{children:"Working Directory"}),t.jsx(ee,{children:t.jsx(ie,{placeholder:"/path/to/project (optional)",...r,value:r.value??""})}),t.jsx("p",{className:"text-xs text-muted-foreground",children:"Directory where the command will be executed"}),t.jsx(te,{})]})})]}),(A==="NPX"||A==="STDIO")&&t.jsx(J,{control:s.control,name:"env_vars",render:({field:r})=>t.jsxs(Y,{children:[t.jsx(Z,{children:"Environment Variables"}),t.jsx(ee,{children:t.jsx(Rt,{value:r.value??[],onChange:r.onChange})}),t.jsx(te,{})]})}),A!=="NPX"&&A!=="STDIO"&&t.jsxs(t.Fragment,{children:[t.jsx(J,{control:s.control,name:"connection_url",render:({field:r})=>t.jsxs(Y,{children:[t.jsx(Z,{children:"URL *"}),t.jsx(ee,{children:t.jsx(ie,{placeholder:"https://example.com/mcp",...r,value:r.value??"",onPaste:T=>{const S=T.clipboardData.getData("text");S&&(T.preventDefault(),s.setValue("connection_url",S.trim(),{shouldDirty:!0}),R(S))},onBlur:T=>{R(T.target.value),r.onBlur()}})}),t.jsx(te,{})]})}),t.jsx(J,{control:s.control,name:"connection_token",render:({field:r})=>t.jsxs(Y,{children:[t.jsx(Z,{children:w?.token?.label??"Token (optional)"}),t.jsx(ee,{children:t.jsx(ie,{type:"password",placeholder:w?.token?.placeholder??"Bearer token or API key",...r,value:r.value??""})}),w?.token?.helperText&&t.jsxs("p",{className:"text-xs text-muted-foreground",children:[w.token.helperText,w.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:"Open GitHub PAT settings"})]})]}),t.jsx(te,{})]})})]}),t.jsx(J,{control:s.control,name:"title",render:({field:r})=>t.jsxs(Y,{children:[t.jsx(Z,{children:"Name *"}),t.jsx(ee,{children:t.jsx(ie,{placeholder:"My Connection",...r})}),t.jsx(te,{})]})}),t.jsx(J,{control:s.control,name:"description",render:({field:r})=>t.jsxs(Y,{children:[t.jsx(Z,{children:"Description"}),t.jsx(ee,{children:t.jsx(Mt,{placeholder:"A brief description of this connection",rows:3,...r,value:r.value??""})}),t.jsx(te,{})]})})]}),E=L;return m?t.jsx(Nt,{open:E,onOpenChange:G,children:t.jsxs(kt,{className:"max-h-[90vh]",children:[t.jsx(Dt,{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:o}),t.jsx(wt,{className:"mt-1",children:f})]}),t.jsx(Tt,{asChild:!0,children:t.jsx(z,{variant:"ghost",size:"icon",className:"shrink-0 -mt-1",children:t.jsx(Ze,{size:16})})})]})}),t.jsx(Se,{...s,children:t.jsxs("form",{onSubmit:s.handleSubmit(P),children:[t.jsx("div",{className:"overflow-y-auto px-4 pb-4",children:H}),t.jsx(It,{children:t.jsx(z,{type:"submit",disabled:s.formState.isSubmitting,className:"w-full",children:O})})]})})]})}):t.jsx(Fe,{open:E,onOpenChange:G,children:t.jsxs(Ve,{className:"sm:max-w-[525px]",children:[t.jsxs(Be,{children:[t.jsx(Ue,{children:o}),t.jsx(He,{children:f})]}),t.jsx(Se,{...s,children:t.jsxs("form",{onSubmit:s.handleSubmit(P),children:[t.jsx("div",{className:"py-4",children:H}),t.jsxs(Re,{children:[t.jsx(z,{type:"button",variant:"outline",onClick:()=>G(!1),children:"Cancel"}),t.jsx(z,{type:"submit",disabled:s.formState.isSubmitting,className:"min-w-40",children:O})]})]})})]})})})(),t.jsx(me.Content,{children:t.jsx(me.Body,{children:t.jsxs("div",{className:"flex flex-col gap-6",children:[t.jsx(me.Title,{children:"Connections"}),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(pt,{value:h.search,onChange:h.setSearch,placeholder:"Search for a connection",className:"w-full md:w-[375px]",onKeyDown:o=>{o.key==="Escape"&&(h.setSearch(""),o.target.blur())}}),t.jsx(ut,{sortKey:h.sortKey,sortDirection:h.sortDirection,onSort:h.handleSort,sortOptions:[{id:"title",label:"Name"},{id:"description",label:"Description"},{id:"connection_type",label:"Type"},{id:"updated_by",label:"Updated by"},{id:"updated_at",label:"Updated"}],filters:[{label:"Type",value:b,onChange:o=>N(o||"ALL"),options:[{id:"ALL",label:"All"},{id:"HTTP",label:"HTTP"},{id:"SSE",label:"SSE"},{id:"Websocket",label:"WebSocket"},{id:"STDIO",label:"STDIO"}]},{label:"Status",value:l,onChange:o=>j(o||"ALL"),options:[{id:"ALL",label:"All"},{id:"active",label:"Active"},{id:"inactive",label:"Inactive"},{id:"error",label:"Error"}]},..._.length>1?[{label:"Registry",value:d,onChange:o=>k(o||"ALL"),options:[{id:"ALL",label:"All registries"},..._.map(o=>({id:o.id,label:o.id.includes("community-registry")?"Community MCP Registry":o.title}))]}]:[]]})]}),X]}),t.jsx(ht,{tabs:[{id:"all",label:"All"},{id:"connected",label:"Connected"}],activeTab:y,onTabChange:o=>{const f=o;f!==y&&ne("connections_page_tab_changed",{to_tab:f}),g(f)}}),t.jsx(W.Suspense,{fallback:t.jsx("div",{className:"flex h-full items-center justify-center",children:t.jsx(ce,{size:32,className:"animate-spin text-muted-foreground"})}),children:t.jsx("div",{style:{opacity:F?.5:1,transition:F?"opacity 0.2s 0.2s linear":"opacity 0s 0s linear",pointerEvents:F?"none":"auto"},children:t.jsx(sn,{listState:h,activeTab:y,typeFilter:b,statusFilter:l,registryFilter:d,enabledRegistries:_})})})]})})})]})})}function zs(){const v=ae.c(1);let e;return v[0]===Symbol.for("react.memo_cache_sentinel")?(e=t.jsx(et,{children:t.jsx(W.Suspense,{fallback:t.jsx("div",{className:"flex h-full items-center justify-center",children:t.jsx(ce,{size:32,className:"animate-spin text-muted-foreground"})}),children:t.jsx(on,{})})}),v[0]=e):e=v[0],e}export{zs as default};
@@ -1,10 +0,0 @@
1
- import{cw as ce,cx as le,cy as ue,bX as de,cz as he,bA as p,bB as w,cA as fe,cB as pe,cC as me,cD as M,cE as _e,cF as L,cG as ge,cH as q,cI as we,cJ as U,cK as Te,cL as ye,cM as ve,cN as z,bv as ke,cO as Se,cP as Ce,bS as X,c3 as be,c9 as Re,c7 as Ie,cQ as Ee,cR as qe,cS as Pe,cT as $,cU as Ae,cV as Me,c8 as $e,c4 as He,c5 as Oe,c6 as Ne,c2 as xe,cW as De,cX as Le,cY as Ue,bZ as Fe,cZ as je,c_ as Ve,c$ as P,d0 as H,d1 as W,d2 as ze,ca as x,e as ee,s as te}from"./index-B9kRhzg7.js";const j={authConfig:()=>["authConfig"],threads:s=>["threads",s],virtualMcpThreads:(s,e)=>["threads",s,"virtual-mcp",e],thread:(s,e)=>["thread",s,e],threadMessages:(s,e)=>["thread-messages",s,e],messages:s=>["messages",s],organizations:()=>["organizations"],members:s=>[s,"members"],invitations:s=>[s,"invitations"],organizationRoles:s=>[s,"organization-roles"],connections:s=>[s,"connections"],connectionsByBinding:(s,e)=>[s,"connections",`binding:${e}`],connection:(s,e)=>[s,"connection",e],isMCPAuthenticated:(s,e)=>["is-mcp-authenticated",s,e],mcpTools:(s,e)=>["mcp","tools",s,e],mcpClient:(s,e,t,r)=>["mcp","client",s,e,t,r],mcpToolsList:s=>["mcp","client",s,"tools"],mcpResourcesList:s=>["mcp","client",s,"resources"],mcpPromptsList:s=>["mcp","client",s,"prompts"],mcpReadResource:(s,e)=>["mcp","client",s,"resource",e],mcpGetPrompt:(s,e,t)=>["mcp","client",s,"prompt",e,t],mcpToolCall:(s,e,t)=>["mcp","client",s,"tool-call",e,t],organizationSettings:s=>["organization-settings",s],activeOrganization:s=>["activeOrganization",s],modelsList:s=>["models-list",s],virtualMcpLastUsed:(s,e)=>["virtual-mcp","last-used",s,e],connectionCollections:s=>[s,"collections","discovery"],toolCall:(s,e,t)=>["tool-call",s,e,t],collectionItems:(s,e)=>["collection",s,e],collection:(s,e,t)=>[s,e,"collection",t],collectionItem:(s,e,t,r,o)=>[s,e,t,"collection",r,o],collectionList:(s,e,t,r,o)=>[s,e,t,"collection",r,"list",o],collectionListInfinite:(s,e,t,r,o)=>[s,e,t,"collection",r,"list-infinite",o],githubReadme:(s,e)=>["github-readme",s,e],githubBranches:(s,e,t,r,o)=>["github-branches",s,e,t,r,o],monitoringStats:()=>["monitoring","stats"],monitoringLogs:s=>["monitoring","logs",s],monitoringLogsInfinite:(s,e)=>["monitoring","logs-infinite",s,e],virtualMcpPrompts:s=>["virtual-mcp",s,"prompts"],connectionPrompts:s=>["connection",s,"prompts"],connectionResources:s=>["connection",s,"resources"],user:s=>["user",s],registryApp:(s,e)=>["registry-app",s,e]};function N(s){return!!s._zod}function b(s,e){return N(s)?ce(s,e):s.safeParse(e)}function se(s){if(!s)return;let e;if(N(s)?e=s._zod?.def?.shape:e=s.shape,!!e){if(typeof e=="function")try{return e()}catch{return}return e}}function We(s){if(N(s)){const a=s._zod?.def;if(a){if(a.value!==void 0)return a.value;if(Array.isArray(a.values)&&a.values.length>0)return a.values[0]}}const t=s._def;if(t){if(t.value!==void 0)return t.value;if(Array.isArray(t.values)&&t.values.length>0)return t.values[0]}const r=s.value;if(r!==void 0)return r}function R(s){return s==="completed"||s==="failed"||s==="cancelled"}function G(s){const t=se(s)?.method;if(!t)throw new Error("Schema is missing a method literal");const r=We(t);if(typeof r!="string")throw new Error("Schema method literal must be a string");return r}function Q(s,e){const t=b(s,e);if(!t.success)throw t.error;return t.data}const Ge=6e4;class Qe{constructor(e){this._options=e,this._requestMessageId=0,this._requestHandlers=new Map,this._requestHandlerAbortControllers=new Map,this._notificationHandlers=new Map,this._responseHandlers=new Map,this._progressHandlers=new Map,this._timeoutInfo=new Map,this._pendingDebouncedNotifications=new Set,this._taskProgressTokens=new Map,this._requestResolvers=new Map,this.setNotificationHandler(le,t=>{this._oncancel(t)}),this.setNotificationHandler(ue,t=>{this._onprogress(t)}),this.setRequestHandler(de,t=>({})),this._taskStore=e?.taskStore,this._taskMessageQueue=e?.taskMessageQueue,this._taskStore&&(this.setRequestHandler(he,async(t,r)=>{const o=await this._taskStore.getTask(t.params.taskId,r.sessionId);if(!o)throw new p(w.InvalidParams,"Failed to retrieve task: Task not found");return{...o}}),this.setRequestHandler(fe,async(t,r)=>{const o=async()=>{const a=t.params.taskId;if(this._taskMessageQueue){let i;for(;i=await this._taskMessageQueue.dequeue(a,r.sessionId);){if(i.type==="response"||i.type==="error"){const u=i.message,f=u.id,l=this._requestResolvers.get(f);if(l)if(this._requestResolvers.delete(f),i.type==="response")l(u);else{const h=u,m=new p(h.error.code,h.error.message,h.error.data);l(m)}else{const h=i.type==="response"?"Response":"Error";this._onerror(new Error(`${h} handler missing for request ${f}`))}continue}await this._transport?.send(i.message,{relatedRequestId:r.requestId})}}const n=await this._taskStore.getTask(a,r.sessionId);if(!n)throw new p(w.InvalidParams,`Task not found: ${a}`);if(!R(n.status))return await this._waitForTaskUpdate(a,r.signal),await o();if(R(n.status)){const i=await this._taskStore.getTaskResult(a,r.sessionId);return this._clearTaskQueue(a),{...i,_meta:{...i._meta,[q]:{taskId:a}}}}return await o()};return await o()}),this.setRequestHandler(pe,async(t,r)=>{try{const{tasks:o,nextCursor:a}=await this._taskStore.listTasks(t.params?.cursor,r.sessionId);return{tasks:o,nextCursor:a,_meta:{}}}catch(o){throw new p(w.InvalidParams,`Failed to list tasks: ${o instanceof Error?o.message:String(o)}`)}}),this.setRequestHandler(me,async(t,r)=>{try{const o=await this._taskStore.getTask(t.params.taskId,r.sessionId);if(!o)throw new p(w.InvalidParams,`Task not found: ${t.params.taskId}`);if(R(o.status))throw new p(w.InvalidParams,`Cannot cancel task in terminal status: ${o.status}`);await this._taskStore.updateTaskStatus(t.params.taskId,"cancelled","Client cancelled task execution.",r.sessionId),this._clearTaskQueue(t.params.taskId);const a=await this._taskStore.getTask(t.params.taskId,r.sessionId);if(!a)throw new p(w.InvalidParams,`Task not found after cancellation: ${t.params.taskId}`);return{_meta:{},...a}}catch(o){throw o instanceof p?o:new p(w.InvalidRequest,`Failed to cancel task: ${o instanceof Error?o.message:String(o)}`)}}))}async _oncancel(e){if(!e.params.requestId)return;this._requestHandlerAbortControllers.get(e.params.requestId)?.abort(e.params.reason)}_setupTimeout(e,t,r,o,a=!1){this._timeoutInfo.set(e,{timeoutId:setTimeout(o,t),startTime:Date.now(),timeout:t,maxTotalTimeout:r,resetTimeoutOnProgress:a,onTimeout:o})}_resetTimeout(e){const t=this._timeoutInfo.get(e);if(!t)return!1;const r=Date.now()-t.startTime;if(t.maxTotalTimeout&&r>=t.maxTotalTimeout)throw this._timeoutInfo.delete(e),p.fromError(w.RequestTimeout,"Maximum total timeout exceeded",{maxTotalTimeout:t.maxTotalTimeout,totalElapsed:r});return clearTimeout(t.timeoutId),t.timeoutId=setTimeout(t.onTimeout,t.timeout),!0}_cleanupTimeout(e){const t=this._timeoutInfo.get(e);t&&(clearTimeout(t.timeoutId),this._timeoutInfo.delete(e))}async connect(e){if(this._transport)throw new Error("Already connected to a transport. Call close() before connecting to a new transport, or use a separate Protocol instance per connection.");this._transport=e;const t=this.transport?.onclose;this._transport.onclose=()=>{t?.(),this._onclose()};const r=this.transport?.onerror;this._transport.onerror=a=>{r?.(a),this._onerror(a)};const o=this._transport?.onmessage;this._transport.onmessage=(a,n)=>{o?.(a,n),M(a)||_e(a)?this._onresponse(a):L(a)?this._onrequest(a,n):ge(a)?this._onnotification(a):this._onerror(new Error(`Unknown message type: ${JSON.stringify(a)}`))},await this._transport.start()}_onclose(){const e=this._responseHandlers;this._responseHandlers=new Map,this._progressHandlers.clear(),this._taskProgressTokens.clear(),this._pendingDebouncedNotifications.clear();for(const r of this._timeoutInfo.values())clearTimeout(r.timeoutId);this._timeoutInfo.clear();for(const r of this._requestHandlerAbortControllers.values())r.abort();this._requestHandlerAbortControllers.clear();const t=p.fromError(w.ConnectionClosed,"Connection closed");this._transport=void 0,this.onclose?.();for(const r of e.values())r(t)}_onerror(e){this.onerror?.(e)}_onnotification(e){const t=this._notificationHandlers.get(e.method)??this.fallbackNotificationHandler;t!==void 0&&Promise.resolve().then(()=>t(e)).catch(r=>this._onerror(new Error(`Uncaught error in notification handler: ${r}`)))}_onrequest(e,t){const r=this._requestHandlers.get(e.method)??this.fallbackRequestHandler,o=this._transport,a=e.params?._meta?.[q]?.taskId;if(r===void 0){const l={jsonrpc:"2.0",id:e.id,error:{code:w.MethodNotFound,message:"Method not found"}};a&&this._taskMessageQueue?this._enqueueTaskMessage(a,{type:"error",message:l,timestamp:Date.now()},o?.sessionId).catch(h=>this._onerror(new Error(`Failed to enqueue error response: ${h}`))):o?.send(l).catch(h=>this._onerror(new Error(`Failed to send an error response: ${h}`)));return}const n=new AbortController;this._requestHandlerAbortControllers.set(e.id,n);const i=we(e.params)?e.params.task:void 0,u=this._taskStore?this.requestTaskStore(e,o?.sessionId):void 0,f={signal:n.signal,sessionId:o?.sessionId,_meta:e.params?._meta,sendNotification:async l=>{if(n.signal.aborted)return;const h={relatedRequestId:e.id};a&&(h.relatedTask={taskId:a}),await this.notification(l,h)},sendRequest:async(l,h,m)=>{if(n.signal.aborted)throw new p(w.ConnectionClosed,"Request was cancelled");const g={...m,relatedRequestId:e.id};a&&!g.relatedTask&&(g.relatedTask={taskId:a});const y=g.relatedTask?.taskId??a;return y&&u&&await u.updateTaskStatus(y,"input_required"),await this.request(l,h,g)},authInfo:t?.authInfo,requestId:e.id,requestInfo:t?.requestInfo,taskId:a,taskStore:u,taskRequestedTtl:i?.ttl,closeSSEStream:t?.closeSSEStream,closeStandaloneSSEStream:t?.closeStandaloneSSEStream};Promise.resolve().then(()=>{i&&this.assertTaskHandlerCapability(e.method)}).then(()=>r(e,f)).then(async l=>{if(n.signal.aborted)return;const h={result:l,jsonrpc:"2.0",id:e.id};a&&this._taskMessageQueue?await this._enqueueTaskMessage(a,{type:"response",message:h,timestamp:Date.now()},o?.sessionId):await o?.send(h)},async l=>{if(n.signal.aborted)return;const h={jsonrpc:"2.0",id:e.id,error:{code:Number.isSafeInteger(l.code)?l.code:w.InternalError,message:l.message??"Internal error",...l.data!==void 0&&{data:l.data}}};a&&this._taskMessageQueue?await this._enqueueTaskMessage(a,{type:"error",message:h,timestamp:Date.now()},o?.sessionId):await o?.send(h)}).catch(l=>this._onerror(new Error(`Failed to send response: ${l}`))).finally(()=>{this._requestHandlerAbortControllers.get(e.id)===n&&this._requestHandlerAbortControllers.delete(e.id)})}_onprogress(e){const{progressToken:t,...r}=e.params,o=Number(t),a=this._progressHandlers.get(o);if(!a){this._onerror(new Error(`Received a progress notification for an unknown token: ${JSON.stringify(e)}`));return}const n=this._responseHandlers.get(o),i=this._timeoutInfo.get(o);if(i&&n&&i.resetTimeoutOnProgress)try{this._resetTimeout(o)}catch(u){this._responseHandlers.delete(o),this._progressHandlers.delete(o),this._cleanupTimeout(o),n(u);return}a(r)}_onresponse(e){const t=Number(e.id),r=this._requestResolvers.get(t);if(r){if(this._requestResolvers.delete(t),M(e))r(e);else{const n=new p(e.error.code,e.error.message,e.error.data);r(n)}return}const o=this._responseHandlers.get(t);if(o===void 0){this._onerror(new Error(`Received a response for an unknown message ID: ${JSON.stringify(e)}`));return}this._responseHandlers.delete(t),this._cleanupTimeout(t);let a=!1;if(M(e)&&e.result&&typeof e.result=="object"){const n=e.result;if(n.task&&typeof n.task=="object"){const i=n.task;typeof i.taskId=="string"&&(a=!0,this._taskProgressTokens.set(i.taskId,t))}}if(a||this._progressHandlers.delete(t),M(e))o(e);else{const n=p.fromError(e.error.code,e.error.message,e.error.data);o(n)}}get transport(){return this._transport}async close(){await this._transport?.close()}async*requestStream(e,t,r){const{task:o}=r??{};if(!o){try{yield{type:"result",result:await this.request(e,t,r)}}catch(n){yield{type:"error",error:n instanceof p?n:new p(w.InternalError,String(n))}}return}let a;try{const n=await this.request(e,U,r);if(n.task)a=n.task.taskId,yield{type:"taskCreated",task:n.task};else throw new p(w.InternalError,"Task creation did not return a task");for(;;){const i=await this.getTask({taskId:a},r);if(yield{type:"taskStatus",task:i},R(i.status)){i.status==="completed"?yield{type:"result",result:await this.getTaskResult({taskId:a},t,r)}:i.status==="failed"?yield{type:"error",error:new p(w.InternalError,`Task ${a} failed`)}:i.status==="cancelled"&&(yield{type:"error",error:new p(w.InternalError,`Task ${a} was cancelled`)});return}if(i.status==="input_required"){yield{type:"result",result:await this.getTaskResult({taskId:a},t,r)};return}const u=i.pollInterval??this._options?.defaultTaskPollInterval??1e3;await new Promise(f=>setTimeout(f,u)),r?.signal?.throwIfAborted()}}catch(n){yield{type:"error",error:n instanceof p?n:new p(w.InternalError,String(n))}}}request(e,t,r){const{relatedRequestId:o,resumptionToken:a,onresumptiontoken:n,task:i,relatedTask:u}=r??{};return new Promise((f,l)=>{const h=c=>{l(c)};if(!this._transport){h(new Error("Not connected"));return}if(this._options?.enforceStrictCapabilities===!0)try{this.assertCapabilityForMethod(e.method),i&&this.assertTaskCapability(e.method)}catch(c){h(c);return}r?.signal?.throwIfAborted();const m=this._requestMessageId++,g={...e,jsonrpc:"2.0",id:m};r?.onprogress&&(this._progressHandlers.set(m,r.onprogress),g.params={...e.params,_meta:{...e.params?._meta||{},progressToken:m}}),i&&(g.params={...g.params,task:i}),u&&(g.params={...g.params,_meta:{...g.params?._meta||{},[q]:u}});const y=c=>{this._responseHandlers.delete(m),this._progressHandlers.delete(m),this._cleanupTimeout(m),this._transport?.send({jsonrpc:"2.0",method:"notifications/cancelled",params:{requestId:m,reason:String(c)}},{relatedRequestId:o,resumptionToken:a,onresumptiontoken:n}).catch(k=>this._onerror(new Error(`Failed to send cancellation: ${k}`)));const _=c instanceof p?c:new p(w.RequestTimeout,String(c));l(_)};this._responseHandlers.set(m,c=>{if(!r?.signal?.aborted){if(c instanceof Error)return l(c);try{const _=b(t,c.result);_.success?f(_.data):l(_.error)}catch(_){l(_)}}}),r?.signal?.addEventListener("abort",()=>{y(r?.signal?.reason)});const T=r?.timeout??Ge,v=()=>y(p.fromError(w.RequestTimeout,"Request timed out",{timeout:T}));this._setupTimeout(m,T,r?.maxTotalTimeout,v,r?.resetTimeoutOnProgress??!1);const d=u?.taskId;if(d){const c=_=>{const k=this._responseHandlers.get(m);k?k(_):this._onerror(new Error(`Response handler missing for side-channeled request ${m}`))};this._requestResolvers.set(m,c),this._enqueueTaskMessage(d,{type:"request",message:g,timestamp:Date.now()}).catch(_=>{this._cleanupTimeout(m),l(_)})}else this._transport.send(g,{relatedRequestId:o,resumptionToken:a,onresumptiontoken:n}).catch(c=>{this._cleanupTimeout(m),l(c)})})}async getTask(e,t){return this.request({method:"tasks/get",params:e},Te,t)}async getTaskResult(e,t,r){return this.request({method:"tasks/result",params:e},t,r)}async listTasks(e,t){return this.request({method:"tasks/list",params:e},ye,t)}async cancelTask(e,t){return this.request({method:"tasks/cancel",params:e},ve,t)}async notification(e,t){if(!this._transport)throw new Error("Not connected");this.assertNotificationCapability(e.method);const r=t?.relatedTask?.taskId;if(r){const i={...e,jsonrpc:"2.0",params:{...e.params,_meta:{...e.params?._meta||{},[q]:t.relatedTask}}};await this._enqueueTaskMessage(r,{type:"notification",message:i,timestamp:Date.now()});return}if((this._options?.debouncedNotificationMethods??[]).includes(e.method)&&!e.params&&!t?.relatedRequestId&&!t?.relatedTask){if(this._pendingDebouncedNotifications.has(e.method))return;this._pendingDebouncedNotifications.add(e.method),Promise.resolve().then(()=>{if(this._pendingDebouncedNotifications.delete(e.method),!this._transport)return;let i={...e,jsonrpc:"2.0"};t?.relatedTask&&(i={...i,params:{...i.params,_meta:{...i.params?._meta||{},[q]:t.relatedTask}}}),this._transport?.send(i,t).catch(u=>this._onerror(u))});return}let n={...e,jsonrpc:"2.0"};t?.relatedTask&&(n={...n,params:{...n.params,_meta:{...n.params?._meta||{},[q]:t.relatedTask}}}),await this._transport.send(n,t)}setRequestHandler(e,t){const r=G(e);this.assertRequestHandlerCapability(r),this._requestHandlers.set(r,(o,a)=>{const n=Q(e,o);return Promise.resolve(t(n,a))})}removeRequestHandler(e){this._requestHandlers.delete(e)}assertCanSetRequestHandler(e){if(this._requestHandlers.has(e))throw new Error(`A request handler for ${e} already exists, which would be overridden`)}setNotificationHandler(e,t){const r=G(e);this._notificationHandlers.set(r,o=>{const a=Q(e,o);return Promise.resolve(t(a))})}removeNotificationHandler(e){this._notificationHandlers.delete(e)}_cleanupTaskProgressHandler(e){const t=this._taskProgressTokens.get(e);t!==void 0&&(this._progressHandlers.delete(t),this._taskProgressTokens.delete(e))}async _enqueueTaskMessage(e,t,r){if(!this._taskStore||!this._taskMessageQueue)throw new Error("Cannot enqueue task message: taskStore and taskMessageQueue are not configured");const o=this._options?.maxTaskQueueSize;await this._taskMessageQueue.enqueue(e,t,r,o)}async _clearTaskQueue(e,t){if(this._taskMessageQueue){const r=await this._taskMessageQueue.dequeueAll(e,t);for(const o of r)if(o.type==="request"&&L(o.message)){const a=o.message.id,n=this._requestResolvers.get(a);n?(n(new p(w.InternalError,"Task cancelled or completed")),this._requestResolvers.delete(a)):this._onerror(new Error(`Resolver missing for request ${a} during task ${e} cleanup`))}}}async _waitForTaskUpdate(e,t){let r=this._options?.defaultTaskPollInterval??1e3;try{const o=await this._taskStore?.getTask(e);o?.pollInterval&&(r=o.pollInterval)}catch{}return new Promise((o,a)=>{if(t.aborted){a(new p(w.InvalidRequest,"Request cancelled"));return}const n=setTimeout(o,r);t.addEventListener("abort",()=>{clearTimeout(n),a(new p(w.InvalidRequest,"Request cancelled"))},{once:!0})})}requestTaskStore(e,t){const r=this._taskStore;if(!r)throw new Error("No task store configured");return{createTask:async o=>{if(!e)throw new Error("No request provided");return await r.createTask(o,e.id,{method:e.method,params:e.params},t)},getTask:async o=>{const a=await r.getTask(o,t);if(!a)throw new p(w.InvalidParams,"Failed to retrieve task: Task not found");return a},storeTaskResult:async(o,a,n)=>{await r.storeTaskResult(o,a,n,t);const i=await r.getTask(o,t);if(i){const u=z.parse({method:"notifications/tasks/status",params:i});await this.notification(u),R(i.status)&&this._cleanupTaskProgressHandler(o)}},getTaskResult:o=>r.getTaskResult(o,t),updateTaskStatus:async(o,a,n)=>{const i=await r.getTask(o,t);if(!i)throw new p(w.InvalidParams,`Task "${o}" not found - it may have been cleaned up`);if(R(i.status))throw new p(w.InvalidParams,`Cannot update task "${o}" from terminal status "${i.status}" to "${a}". Terminal states (completed, failed, cancelled) cannot transition to other states.`);await r.updateTaskStatus(o,a,n,t);const u=await r.getTask(o,t);if(u){const f=z.parse({method:"notifications/tasks/status",params:u});await this.notification(f),R(u.status)&&this._cleanupTaskProgressHandler(o)}},listTasks:o=>r.listTasks(o,t)}}}function K(s){return s!==null&&typeof s=="object"&&!Array.isArray(s)}function Ke(s,e){const t={...s};for(const r in e){const o=r,a=e[o];if(a===void 0)continue;const n=t[o];K(n)&&K(a)?t[o]={...n,...a}:t[o]=a}return t}var Je=Se();const Be=ke(Je);function Ze(){const s=new Be({strict:!1,validateFormats:!0,validateSchema:!1,allErrors:!0});return Ce(s),s}class Ye{constructor(e){this._ajv=e??Ze()}getValidator(e){const t="$id"in e&&typeof e.$id=="string"?this._ajv.getSchema(e.$id)??this._ajv.compile(e):this._ajv.compile(e);return r=>t(r)?{valid:!0,data:r,errorMessage:void 0}:{valid:!1,data:void 0,errorMessage:this._ajv.errorsText(t.errors)}}}class Xe{constructor(e){this._client=e}async*callToolStream(e,t=X,r){const o=this._client,a={...r,task:r?.task??(o.isToolTask(e.name)?{}:void 0)},n=o.requestStream({method:"tools/call",params:e},t,a),i=o.getToolOutputValidator(e.name);for await(const u of n){if(u.type==="result"&&i){const f=u.result;if(!f.structuredContent&&!f.isError){yield{type:"error",error:new p(w.InvalidRequest,`Tool ${e.name} has an output schema but did not return structured content`)};return}if(f.structuredContent)try{const l=i(f.structuredContent);if(!l.valid){yield{type:"error",error:new p(w.InvalidParams,`Structured content does not match the tool's output schema: ${l.errorMessage}`)};return}}catch(l){if(l instanceof p){yield{type:"error",error:l};return}yield{type:"error",error:new p(w.InvalidParams,`Failed to validate structured content: ${l instanceof Error?l.message:String(l)}`)};return}}yield u}}async getTask(e,t){return this._client.getTask({taskId:e},t)}async getTaskResult(e,t,r){return this._client.getTaskResult({taskId:e},t,r)}async listTasks(e,t){return this._client.listTasks(e?{cursor:e}:void 0,t)}async cancelTask(e,t){return this._client.cancelTask({taskId:e},t)}requestStream(e,t,r){return this._client.requestStream(e,t,r)}}function et(s,e,t){if(!s)throw new Error(`${t} does not support task creation (required for ${e})`);switch(e){case"tools/call":if(!s.tools?.call)throw new Error(`${t} does not support task creation for tools/call (required for ${e})`);break}}function tt(s,e,t){if(!s)throw new Error(`${t} does not support task creation (required for ${e})`);switch(e){case"sampling/createMessage":if(!s.sampling?.createMessage)throw new Error(`${t} does not support task creation for sampling/createMessage (required for ${e})`);break;case"elicitation/create":if(!s.elicitation?.create)throw new Error(`${t} does not support task creation for elicitation/create (required for ${e})`);break}}function O(s,e){if(!(!s||e===null||typeof e!="object")){if(s.type==="object"&&s.properties&&typeof s.properties=="object"){const t=e,r=s.properties;for(const o of Object.keys(r)){const a=r[o];t[o]===void 0&&Object.prototype.hasOwnProperty.call(a,"default")&&(t[o]=a.default),t[o]!==void 0&&O(a,t[o])}}if(Array.isArray(s.anyOf))for(const t of s.anyOf)typeof t!="boolean"&&O(t,e);if(Array.isArray(s.oneOf))for(const t of s.oneOf)typeof t!="boolean"&&O(t,e)}}function st(s){if(!s)return{supportsFormMode:!1,supportsUrlMode:!1};const e=s.form!==void 0,t=s.url!==void 0;return{supportsFormMode:e||!e&&!t,supportsUrlMode:t}}let rt=class extends Qe{constructor(e,t){super(t),this._clientInfo=e,this._cachedToolOutputValidators=new Map,this._cachedKnownTaskTools=new Set,this._cachedRequiredTaskTools=new Set,this._listChangedDebounceTimers=new Map,this._capabilities=t?.capabilities??{},this._jsonSchemaValidator=t?.jsonSchemaValidator??new Ye,t?.listChanged&&(this._pendingListChangedConfig=t.listChanged)}_setupListChangedHandlers(e){e.tools&&this._serverCapabilities?.tools?.listChanged&&this._setupListChangedHandler("tools",be,e.tools,async()=>(await this.listTools()).tools),e.prompts&&this._serverCapabilities?.prompts?.listChanged&&this._setupListChangedHandler("prompts",Re,e.prompts,async()=>(await this.listPrompts()).prompts),e.resources&&this._serverCapabilities?.resources?.listChanged&&this._setupListChangedHandler("resources",Ie,e.resources,async()=>(await this.listResources()).resources)}get experimental(){return this._experimental||(this._experimental={tasks:new Xe(this)}),this._experimental}registerCapabilities(e){if(this.transport)throw new Error("Cannot register capabilities after connecting to transport");this._capabilities=Ke(this._capabilities,e)}setRequestHandler(e,t){const o=se(e)?.method;if(!o)throw new Error("Schema is missing a method literal");let a;if(N(o)){const i=o;a=i._zod?.def?.value??i.value}else{const i=o;a=i._def?.value??i.value}if(typeof a!="string")throw new Error("Schema method literal must be a string");const n=a;if(n==="elicitation/create"){const i=async(u,f)=>{const l=b(Le,u);if(!l.success){const c=l.error instanceof Error?l.error.message:String(l.error);throw new p(w.InvalidParams,`Invalid elicitation request: ${c}`)}const{params:h}=l.data;h.mode=h.mode??"form";const{supportsFormMode:m,supportsUrlMode:g}=st(this._capabilities.elicitation);if(h.mode==="form"&&!m)throw new p(w.InvalidParams,"Client does not support form-mode elicitation requests");if(h.mode==="url"&&!g)throw new p(w.InvalidParams,"Client does not support URL-mode elicitation requests");const y=await Promise.resolve(t(u,f));if(h.task){const c=b(U,y);if(!c.success){const _=c.error instanceof Error?c.error.message:String(c.error);throw new p(w.InvalidParams,`Invalid task creation result: ${_}`)}return c.data}const T=b(Ue,y);if(!T.success){const c=T.error instanceof Error?T.error.message:String(T.error);throw new p(w.InvalidParams,`Invalid elicitation result: ${c}`)}const v=T.data,d=h.mode==="form"?h.requestedSchema:void 0;if(h.mode==="form"&&v.action==="accept"&&v.content&&d&&this._capabilities.elicitation?.form?.applyDefaults)try{O(d,v.content)}catch{}return v};return super.setRequestHandler(e,i)}if(n==="sampling/createMessage"){const i=async(u,f)=>{const l=b(Fe,u);if(!l.success){const v=l.error instanceof Error?l.error.message:String(l.error);throw new p(w.InvalidParams,`Invalid sampling request: ${v}`)}const{params:h}=l.data,m=await Promise.resolve(t(u,f));if(h.task){const v=b(U,m);if(!v.success){const d=v.error instanceof Error?v.error.message:String(v.error);throw new p(w.InvalidParams,`Invalid task creation result: ${d}`)}return v.data}const y=h.tools||h.toolChoice?je:Ve,T=b(y,m);if(!T.success){const v=T.error instanceof Error?T.error.message:String(T.error);throw new p(w.InvalidParams,`Invalid sampling result: ${v}`)}return T.data};return super.setRequestHandler(e,i)}return super.setRequestHandler(e,t)}assertCapability(e,t){if(!this._serverCapabilities?.[e])throw new Error(`Server does not support ${e} (required for ${t})`)}async connect(e,t){if(await super.connect(e),e.sessionId===void 0)try{const r=await this.request({method:"initialize",params:{protocolVersion:Ee,capabilities:this._capabilities,clientInfo:this._clientInfo}},qe,t);if(r===void 0)throw new Error(`Server sent invalid initialize result: ${r}`);if(!Pe.includes(r.protocolVersion))throw new Error(`Server's protocol version is not supported: ${r.protocolVersion}`);this._serverCapabilities=r.capabilities,this._serverVersion=r.serverInfo,e.setProtocolVersion&&e.setProtocolVersion(r.protocolVersion),this._instructions=r.instructions,await this.notification({method:"notifications/initialized"}),this._pendingListChangedConfig&&(this._setupListChangedHandlers(this._pendingListChangedConfig),this._pendingListChangedConfig=void 0)}catch(r){throw this.close(),r}}getServerCapabilities(){return this._serverCapabilities}getServerVersion(){return this._serverVersion}getInstructions(){return this._instructions}assertCapabilityForMethod(e){switch(e){case"logging/setLevel":if(!this._serverCapabilities?.logging)throw new Error(`Server does not support logging (required for ${e})`);break;case"prompts/get":case"prompts/list":if(!this._serverCapabilities?.prompts)throw new Error(`Server does not support prompts (required for ${e})`);break;case"resources/list":case"resources/templates/list":case"resources/read":case"resources/subscribe":case"resources/unsubscribe":if(!this._serverCapabilities?.resources)throw new Error(`Server does not support resources (required for ${e})`);if(e==="resources/subscribe"&&!this._serverCapabilities.resources.subscribe)throw new Error(`Server does not support resource subscriptions (required for ${e})`);break;case"tools/call":case"tools/list":if(!this._serverCapabilities?.tools)throw new Error(`Server does not support tools (required for ${e})`);break;case"completion/complete":if(!this._serverCapabilities?.completions)throw new Error(`Server does not support completions (required for ${e})`);break}}assertNotificationCapability(e){switch(e){case"notifications/roots/list_changed":if(!this._capabilities.roots?.listChanged)throw new Error(`Client does not support roots list changed notifications (required for ${e})`);break}}assertRequestHandlerCapability(e){if(this._capabilities)switch(e){case"sampling/createMessage":if(!this._capabilities.sampling)throw new Error(`Client does not support sampling capability (required for ${e})`);break;case"elicitation/create":if(!this._capabilities.elicitation)throw new Error(`Client does not support elicitation capability (required for ${e})`);break;case"roots/list":if(!this._capabilities.roots)throw new Error(`Client does not support roots capability (required for ${e})`);break;case"tasks/get":case"tasks/list":case"tasks/result":case"tasks/cancel":if(!this._capabilities.tasks)throw new Error(`Client does not support tasks capability (required for ${e})`);break}}assertTaskCapability(e){et(this._serverCapabilities?.tasks?.requests,e,"Server")}assertTaskHandlerCapability(e){this._capabilities&&tt(this._capabilities.tasks?.requests,e,"Client")}async ping(e){return this.request({method:"ping"},$,e)}async complete(e,t){return this.request({method:"completion/complete",params:e},Ae,t)}async setLoggingLevel(e,t){return this.request({method:"logging/setLevel",params:{level:e}},$,t)}async getPrompt(e,t){return this.request({method:"prompts/get",params:e},Me,t)}async listPrompts(e,t){return this.request({method:"prompts/list",params:e},$e,t)}async listResources(e,t){return this.request({method:"resources/list",params:e},He,t)}async listResourceTemplates(e,t){return this.request({method:"resources/templates/list",params:e},Oe,t)}async readResource(e,t){return this.request({method:"resources/read",params:e},Ne,t)}async subscribeResource(e,t){return this.request({method:"resources/subscribe",params:e},$,t)}async unsubscribeResource(e,t){return this.request({method:"resources/unsubscribe",params:e},$,t)}async callTool(e,t=X,r){if(this.isToolTaskRequired(e.name))throw new p(w.InvalidRequest,`Tool "${e.name}" requires task-based execution. Use client.experimental.tasks.callToolStream() instead.`);const o=await this.request({method:"tools/call",params:e},t,r),a=this.getToolOutputValidator(e.name);if(a){if(!o.structuredContent&&!o.isError)throw new p(w.InvalidRequest,`Tool ${e.name} has an output schema but did not return structured content`);if(o.structuredContent)try{const n=a(o.structuredContent);if(!n.valid)throw new p(w.InvalidParams,`Structured content does not match the tool's output schema: ${n.errorMessage}`)}catch(n){throw n instanceof p?n:new p(w.InvalidParams,`Failed to validate structured content: ${n instanceof Error?n.message:String(n)}`)}}return o}isToolTask(e){return this._serverCapabilities?.tasks?.requests?.tools?.call?this._cachedKnownTaskTools.has(e):!1}isToolTaskRequired(e){return this._cachedRequiredTaskTools.has(e)}cacheToolMetadata(e){this._cachedToolOutputValidators.clear(),this._cachedKnownTaskTools.clear(),this._cachedRequiredTaskTools.clear();for(const t of e){if(t.outputSchema){const o=this._jsonSchemaValidator.getValidator(t.outputSchema);this._cachedToolOutputValidators.set(t.name,o)}const r=t.execution?.taskSupport;(r==="required"||r==="optional")&&this._cachedKnownTaskTools.add(t.name),r==="required"&&this._cachedRequiredTaskTools.add(t.name)}}getToolOutputValidator(e){return this._cachedToolOutputValidators.get(e)}async listTools(e,t){const r=await this.request({method:"tools/list",params:e},xe,t);return this.cacheToolMetadata(r.tools),r}_setupListChangedHandler(e,t,r,o){const a=De.safeParse(r);if(!a.success)throw new Error(`Invalid ${e} listChanged options: ${a.error.message}`);if(typeof r.onChanged!="function")throw new Error(`Invalid ${e} listChanged options: onChanged must be a function`);const{autoRefresh:n,debounceMs:i}=a.data,{onChanged:u}=r,f=async()=>{if(!n){u(null,null);return}try{const h=await o();u(null,h)}catch(h){const m=h instanceof Error?h:new Error(String(h));u(m,null)}},l=()=>{if(i){const h=this._listChangedDebounceTimers.get(e);h&&clearTimeout(h);const m=setTimeout(f,i);this._listChangedDebounceTimers.set(e,m)}else f()};this.setNotificationHandler(t,l)}async sendRootsListChanged(){return this.notification({method:"notifications/roots/list_changed"})}};function F(s){return s?s instanceof Headers?Object.fromEntries(s.entries()):Array.isArray(s)?Object.fromEntries(s):{...s}:{}}function ot(s=fetch,e){return e?async(t,r)=>{const o={...e,...r,headers:r?.headers?{...F(e.headers),...F(r.headers)}:e.headers};return s(t,o)}:s}class J extends Error{constructor(e,t){super(e),this.name="ParseError",this.type=t.type,this.field=t.field,this.value=t.value,this.line=t.line}}const B=10,at=13,I=32;function D(s){}function nt(s){if(typeof s=="function")throw new TypeError("`callbacks` must be an object, got a function instead. Did you mean `{onEvent: fn}`?");const{onEvent:e=D,onError:t=D,onRetry:r=D,onComment:o}=s,a=[];let n=!0,i,u="",f=0,l;function h(d){if(n&&(n=!1,d.charCodeAt(0)===239&&d.charCodeAt(1)===187&&d.charCodeAt(2)===191&&(d=d.slice(3))),a.length===0){const k=m(d);k!==""&&a.push(k);return}if(d.indexOf(`
2
- `)===-1&&d.indexOf("\r")===-1){a.push(d);return}a.push(d);const c=a.join("");a.length=0;const _=m(c);_!==""&&a.push(_)}function m(d){let c=0;if(d.indexOf("\r")===-1){let _=d.indexOf(`
3
- `,c);for(;_!==-1;){if(c===_){f>0&&e({id:i,event:l,data:u}),i=void 0,u="",f=0,l=void 0,c=_+1,_=d.indexOf(`
4
- `,c);continue}const k=d.charCodeAt(c);if(Z(d,c,k)){const S=d.charCodeAt(c+5)===I?c+6:c+5,C=d.slice(S,_);if(f===0&&d.charCodeAt(_+1)===B){e({id:i,event:l,data:C}),i=void 0,u="",l=void 0,c=_+2,_=d.indexOf(`
5
- `,c);continue}u=f===0?C:`${u}
6
- ${C}`,f++}else Y(d,c,k)?l=d.slice(d.charCodeAt(c+6)===I?c+7:c+6,_)||void 0:g(d,c,_);c=_+1,_=d.indexOf(`
7
- `,c)}return d.slice(c)}for(;c<d.length;){const _=d.indexOf("\r",c),k=d.indexOf(`
8
- `,c);let S=-1;if(_!==-1&&k!==-1?S=_<k?_:k:_!==-1?_===d.length-1?S=-1:S=_:k!==-1&&(S=k),S===-1)break;g(d,c,S),c=S+1,d.charCodeAt(c-1)===at&&d.charCodeAt(c)===B&&c++}return d.slice(c)}function g(d,c,_){if(c===_){T();return}const k=d.charCodeAt(c);if(Z(d,c,k)){const E=d.charCodeAt(c+5)===I?c+6:c+5,V=d.slice(E,_);u=f===0?V:`${u}
9
- ${V}`,f++;return}if(Y(d,c,k)){l=d.slice(d.charCodeAt(c+6)===I?c+7:c+6,_)||void 0;return}if(k===105&&d.charCodeAt(c+1)===100&&d.charCodeAt(c+2)===58){const E=d.slice(d.charCodeAt(c+3)===I?c+4:c+3,_);i=E.includes("\0")?void 0:E;return}if(k===58){if(o){const E=d.slice(c,_);o(E.slice(d.charCodeAt(c+1)===I?2:1))}return}const S=d.slice(c,_),C=S.indexOf(":");if(C===-1){y(S,"",S);return}const ae=S.slice(0,C),ne=S.charCodeAt(C+1)===I?2:1,ie=S.slice(C+ne);y(ae,ie,S)}function y(d,c,_){switch(d){case"event":l=c||void 0;break;case"data":u=f===0?c:`${u}
10
- ${c}`,f++;break;case"id":i=c.includes("\0")?void 0:c;break;case"retry":/^\d+$/.test(c)?r(parseInt(c,10)):t(new J(`Invalid \`retry\` value: "${c}"`,{type:"invalid-retry",value:c,line:_}));break;default:t(new J(`Unknown field "${d.length>20?`${d.slice(0,20)}…`:d}"`,{type:"unknown-field",field:d,value:c,line:_}));break}}function T(){f>0&&e({id:i,event:l,data:u}),i=void 0,u="",f=0,l=void 0}function v(d={}){if(d.consume&&a.length>0){const c=a.join("");g(c,0,c.length)}n=!0,i=void 0,u="",f=0,l=void 0,a.length=0}return{feed:h,reset:v}}function Z(s,e,t){return t===100&&s.charCodeAt(e+1)===97&&s.charCodeAt(e+2)===116&&s.charCodeAt(e+3)===97&&s.charCodeAt(e+4)===58}function Y(s,e,t){return t===101&&s.charCodeAt(e+1)===118&&s.charCodeAt(e+2)===101&&s.charCodeAt(e+3)===110&&s.charCodeAt(e+4)===116&&s.charCodeAt(e+5)===58}class it extends TransformStream{constructor({onError:e,onRetry:t,onComment:r}={}){let o;super({start(a){o=nt({onEvent:n=>{a.enqueue(n)},onError(n){e==="terminate"?a.error(n):typeof e=="function"&&e(n)},onRetry:t,onComment:r})},transform(a){o.feed(a)}})}}const ct={initialReconnectionDelay:1e3,maxReconnectionDelay:3e4,reconnectionDelayGrowFactor:1.5,maxRetries:2};class A extends Error{constructor(e,t){super(`Streamable HTTP error: ${t}`),this.code=e}}let lt=class{constructor(e,t){this._hasCompletedAuthFlow=!1,this._url=e,this._resourceMetadataUrl=void 0,this._scope=void 0,this._requestInit=t?.requestInit,this._authProvider=t?.authProvider,this._fetch=t?.fetch,this._fetchWithInit=ot(t?.fetch,t?.requestInit),this._sessionId=t?.sessionId,this._reconnectionOptions=t?.reconnectionOptions??ct}async _authThenStart(){if(!this._authProvider)throw new P("No auth provider");let e;try{e=await H(this._authProvider,{serverUrl:this._url,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetchWithInit})}catch(t){throw this.onerror?.(t),t}if(e!=="AUTHORIZED")throw new P;return await this._startOrAuthSse({resumptionToken:void 0})}async _commonHeaders(){const e={};if(this._authProvider){const r=await this._authProvider.tokens();r&&(e.Authorization=`Bearer ${r.access_token}`)}this._sessionId&&(e["mcp-session-id"]=this._sessionId),this._protocolVersion&&(e["mcp-protocol-version"]=this._protocolVersion);const t=F(this._requestInit?.headers);return new Headers({...e,...t})}async _startOrAuthSse(e){const{resumptionToken:t}=e;try{const r=await this._commonHeaders();r.set("Accept","text/event-stream"),t&&r.set("last-event-id",t);const o=await(this._fetch??fetch)(this._url,{method:"GET",headers:r,signal:this._abortController?.signal});if(!o.ok){if(await o.body?.cancel(),o.status===401&&this._authProvider)return await this._authThenStart();if(o.status===405)return;throw new A(o.status,`Failed to open SSE stream: ${o.statusText}`)}this._handleSseStream(o.body,e,!0)}catch(r){throw this.onerror?.(r),r}}_getNextReconnectionDelay(e){if(this._serverRetryMs!==void 0)return this._serverRetryMs;const t=this._reconnectionOptions.initialReconnectionDelay,r=this._reconnectionOptions.reconnectionDelayGrowFactor,o=this._reconnectionOptions.maxReconnectionDelay;return Math.min(t*Math.pow(r,e),o)}_scheduleReconnection(e,t=0){const r=this._reconnectionOptions.maxRetries;if(t>=r){this.onerror?.(new Error(`Maximum reconnection attempts (${r}) exceeded.`));return}const o=this._getNextReconnectionDelay(t);this._reconnectionTimeout=setTimeout(()=>{this._startOrAuthSse(e).catch(a=>{this.onerror?.(new Error(`Failed to reconnect SSE stream: ${a instanceof Error?a.message:String(a)}`)),this._scheduleReconnection(e,t+1)})},o)}_handleSseStream(e,t,r){if(!e)return;const{onresumptiontoken:o,replayMessageId:a}=t;let n,i=!1,u=!1;(async()=>{try{const l=e.pipeThrough(new TextDecoderStream).pipeThrough(new it({onRetry:g=>{this._serverRetryMs=g}})).getReader();for(;;){const{value:g,done:y}=await l.read();if(y)break;if(g.id&&(n=g.id,i=!0,o?.(g.id)),!!g.data&&(!g.event||g.event==="message"))try{const T=x.parse(JSON.parse(g.data));M(T)&&(u=!0,a!==void 0&&(T.id=a)),this.onmessage?.(T)}catch(T){this.onerror?.(T)}}(r||i)&&!u&&this._abortController&&!this._abortController.signal.aborted&&this._scheduleReconnection({resumptionToken:n,onresumptiontoken:o,replayMessageId:a},0)}catch(l){if(this.onerror?.(new Error(`SSE stream disconnected: ${l}`)),(r||i)&&!u&&this._abortController&&!this._abortController.signal.aborted)try{this._scheduleReconnection({resumptionToken:n,onresumptiontoken:o,replayMessageId:a},0)}catch(g){this.onerror?.(new Error(`Failed to reconnect: ${g instanceof Error?g.message:String(g)}`))}}})()}async start(){if(this._abortController)throw new Error("StreamableHTTPClientTransport already started! If using Client class, note that connect() calls start() automatically.");this._abortController=new AbortController}async finishAuth(e){if(!this._authProvider)throw new P("No auth provider");if(await H(this._authProvider,{serverUrl:this._url,authorizationCode:e,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetchWithInit})!=="AUTHORIZED")throw new P("Failed to authorize")}async close(){this._reconnectionTimeout&&(clearTimeout(this._reconnectionTimeout),this._reconnectionTimeout=void 0),this._abortController?.abort(),this.onclose?.()}async send(e,t){try{const{resumptionToken:r,onresumptiontoken:o}=t||{};if(r){this._startOrAuthSse({resumptionToken:r,replayMessageId:L(e)?e.id:void 0}).catch(m=>this.onerror?.(m));return}const a=await this._commonHeaders();a.set("content-type","application/json"),a.set("accept","application/json, text/event-stream");const n={...this._requestInit,method:"POST",headers:a,body:JSON.stringify(e),signal:this._abortController?.signal},i=await(this._fetch??fetch)(this._url,n),u=i.headers.get("mcp-session-id");if(u&&(this._sessionId=u),!i.ok){const m=await i.text().catch(()=>null);if(i.status===401&&this._authProvider){if(this._hasCompletedAuthFlow)throw new A(401,"Server returned 401 after successful authentication");const{resourceMetadataUrl:g,scope:y}=W(i);if(this._resourceMetadataUrl=g,this._scope=y,await H(this._authProvider,{serverUrl:this._url,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetchWithInit})!=="AUTHORIZED")throw new P;return this._hasCompletedAuthFlow=!0,this.send(e)}if(i.status===403&&this._authProvider){const{resourceMetadataUrl:g,scope:y,error:T}=W(i);if(T==="insufficient_scope"){const v=i.headers.get("WWW-Authenticate");if(this._lastUpscopingHeader===v)throw new A(403,"Server returned 403 after trying upscoping");if(y&&(this._scope=y),g&&(this._resourceMetadataUrl=g),this._lastUpscopingHeader=v??void 0,await H(this._authProvider,{serverUrl:this._url,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetch})!=="AUTHORIZED")throw new P;return this.send(e)}}throw new A(i.status,`Error POSTing to endpoint: ${m}`)}if(this._hasCompletedAuthFlow=!1,this._lastUpscopingHeader=void 0,i.status===202){await i.body?.cancel(),ze(e)&&this._startOrAuthSse({resumptionToken:void 0}).catch(m=>this.onerror?.(m));return}const l=(Array.isArray(e)?e:[e]).filter(m=>"method"in m&&"id"in m&&m.id!==void 0).length>0,h=i.headers.get("content-type");if(l)if(h?.includes("text/event-stream"))this._handleSseStream(i.body,{onresumptiontoken:o},!1);else if(h?.includes("application/json")){const m=await i.json(),g=Array.isArray(m)?m.map(y=>x.parse(y)):[x.parse(m)];for(const y of g)this.onmessage?.(y)}else throw await i.body?.cancel(),new A(-1,`Unexpected content type: ${h}`);else await i.body?.cancel()}catch(r){throw this.onerror?.(r),r}}get sessionId(){return this._sessionId}async terminateSession(){if(this._sessionId)try{const e=await this._commonHeaders(),t={...this._requestInit,method:"DELETE",headers:e,signal:this._abortController?.signal},r=await(this._fetch??fetch)(this._url,t);if(await r.body?.cancel(),!r.ok&&r.status!==405)throw new A(r.status,`Failed to terminate session: ${r.statusText}`);this._sessionId=void 0}catch(e){throw this.onerror?.(e),e}}setProtocolVersion(e){this._protocolVersion=e}get protocolVersion(){return this._protocolVersion}async resumeStream(e,t){await this._startOrAuthSse({resumptionToken:e,onresumptiontoken:t?.onresumptiontoken})}};class ut extends lt{constructor(e,t){super(e,t)}send(e,t){const r=dt(e);return r?.type==="emit"?(this.onmessage?.(r.message),Promise.resolve()):r?.type==="suppress"?Promise.resolve():super.send(e,t)}}function dt(s){const e=s;if(!e||typeof e!="object"||!("method"in e))return null;switch(e.method){case"initialize":{const t=e?.params?.protocolVersion;return t?{type:"emit",message:{result:{protocolVersion:t,capabilities:{tools:{},resources:{},prompts:{},tasks:{list:{},cancel:{},requests:{tool:{call:{}}}}},serverInfo:{name:"mesh-virtual-mcp",version:"1.0.0"}},jsonrpc:e.jsonrpc??"2.0",id:e.id}}:null}case"notifications/roots/list_changed":case"notifications/initialized":case"notifications/cancelled":case"notifications/progress":return{type:"suppress"};default:return null}}const ht={name:"mesh-sdk",version:"1.0.0"};function ft(s,e,t){const r=t??(typeof window<"u"?window.location.origin:void 0);if(!r)throw new Error("MCP client requires either meshUrl option or a browser environment.");const o=`/api/${encodeURIComponent(e)}`,a=s?`${o}/mcp/${s}`:`${o}/mcp`;return new URL(a,r).href}async function re({connectionId:s,orgId:e,orgSlug:t,token:r,meshUrl:o}){const a=ft(s,t,o),n=new rt(ht,{capabilities:{tasks:{list:{},cancel:{},requests:{tool:{call:{}}}}}}),i=new ut(new URL(a),{requestInit:{headers:{"Content-Type":"application/json",Accept:"application/json, text/event-stream",...r?{Authorization:`Bearer ${r}`}:{}}}});await n.connect(i);const u=j.mcpClient(e,s??"self",r??"",o??"");return n.toJSON=()=>`mcp-client:${u.join(":")}`,n}function yt(s){const e=ee.c(14),{connectionId:t,orgId:r,orgSlug:o,token:a,meshUrl:n}=s;let i;e[0]!==t||e[1]!==n||e[2]!==r||e[3]!==a?(i=j.mcpClient(r,t??"self",a??"",n??""),e[0]=t,e[1]=n,e[2]=r,e[3]=a,e[4]=i):i=e[4];const u=i;let f;e[5]!==t||e[6]!==n||e[7]!==r||e[8]!==o||e[9]!==a?(f=()=>re({connectionId:t,orgId:r,orgSlug:o,token:a,meshUrl:n}),e[5]=t,e[6]=n,e[7]=r,e[8]=o,e[9]=a,e[10]=f):f=e[10];let l;e[11]!==u||e[12]!==f?(l={queryKey:u,queryFn:f,staleTime:1/0,gcTime:6e4},e[11]=u,e[12]=f,e[13]=l):l=e[13];const{data:h}=te(l);return h}function vt(s){const e=ee.c(14),{connectionId:t,orgId:r,orgSlug:o,token:a,meshUrl:n}=s;let i;e[0]!==t||e[1]!==n||e[2]!==r||e[3]!==a?(i=t!==void 0?j.mcpClient(r,t??"self",a??"",n??""):["mcp","client","skip",r],e[0]=t,e[1]=n,e[2]=r,e[3]=a,e[4]=i):i=e[4];const u=i;let f;e[5]!==t||e[6]!==n||e[7]!==r||e[8]!==o||e[9]!==a?(f=async()=>t===void 0?null:re({connectionId:t,orgId:r,orgSlug:o,token:a,meshUrl:n}),e[5]=t,e[6]=n,e[7]=r,e[8]=o,e[9]=a,e[10]=f):f=e[10];let l;e[11]!==u||e[12]!==f?(l={queryKey:u,queryFn:f,staleTime:1/0,gcTime:6e4},e[11]=u,e[12]=f,e[13]=l):l=e[13];const{data:h}=te(l);return h??null}const kt={SELF:s=>`${s}_self`,REGISTRY:s=>`${s}_registry`,COMMUNITY_REGISTRY:s=>`${s}_community-registry`,DEV_ASSETS:s=>`${s}_dev-assets`,SITE_DIAGNOSTICS:s=>`site-diagnostics_${s}`},St="self";function pt(s){return{is(e){return!e||!e.startsWith(s)?null:e.slice(s.length)||null},get(e){return`${s}${e}`}}}function mt(s){return{id:s.id,organization_id:s.organizationId,title:s.title,description:s.description,icon:s.icon,status:"active",created_at:new Date().toISOString(),updated_at:new Date().toISOString(),created_by:"system",updated_by:void 0,metadata:{instructions:s.instructions??null},pinned:!1,connections:[]}}const oe=pt("decopilot_"),Ct=oe.is,_t=oe.get;function bt(s){return mt({id:_t(s),organizationId:s,title:"Decopilot",description:"Default agent that aggregates all organization connections",icon:"https://assets.decocache.com/decocms/fd07a578-6b1c-40f1-bc05-88a3b981695d/f7fc4ffa81aec04e37ae670c3cd4936643a7b269.png"})}const Rt={AGENT_MANAGER:s=>`studio-agent-manager_${s}`,AUTOMATION_MANAGER:s=>`studio-automation-manager_${s}`,CONNECTION_MANAGER:s=>`studio-connection-manager_${s}`,STORE_MANAGER:s=>`studio-store-manager_${s}`,BRAND_MANAGER:s=>`studio-brand-manager_${s}`,USAGE_MANAGER:s=>`studio-usage-manager_${s}`};function It(s){return s?s.startsWith("studio-agent-manager_")||s.startsWith("studio-automation-manager_")||s.startsWith("studio-connection-manager_")||s.startsWith("studio-store-manager_")||s.startsWith("studio-brand-manager_")||s.startsWith("studio-usage-manager_"):!1}export{Be as A,rt as C,j as K,Qe as P,St as S,kt as W,Rt as a,It as b,re as c,nt as d,ot as e,lt as f,bt as g,_t as h,Ct as i,vt as j,F as n,yt as u};
@@ -1 +0,0 @@
1
- import{e as P,q as k,F as q,cb as b,j as n,cc as E,b3 as R,K as S,o as K}from"./index-B9kRhzg7.js";import{P as j}from"./index-Bx5wFMxU.js";import{d as _}from"./use-organization-settings-BDlR4IeW.js";import{S as F}from"./switch-BtXimVeh.js";import{n as I}from"./Container-DlDQbtuJ.js";import{b as Q,S as w,a as z,c as N}from"./settings-section-Bx1_7ym7.js";import{R as T}from"./require-capability-DjstlBCS.js";import"./sidebar-BMIDAt6t.js";import"./LayoutLeft-BO92HMhM.js";import"./tooltip-Cx8u2hvs.js";import"./sheet-BLkB41eQ.js";import"./X-COnjMnsv.js";import"./constants-BFQrPD6r.js";import"./card-DsraaOS_.js";import"./ArrowUpRight-UT01ancE.js";import"./use-capability-B6JwqpW7.js";import"./access-gate-BHd_MMZj.js";import"./capability-load-error-DjoRzFiH.js";function U(){const e=P.c(17),{org:t,project:s}=k(),r=q();let d;e[0]!==s.enabledPlugins?(d=s.enabledPlugins??[],e[0]=s.enabledPlugins,e[1]=d):d=e[1];const a=d,l=_();let m;e[2]!==t||e[3]!==s.slug||e[4]!==r?(m=()=>{r.invalidateQueries({queryKey:S.project(t.id,s.slug)}),r.invalidateQueries({queryKey:S.projects(t.id)}),r.invalidateQueries({predicate:i=>{const o=i.queryKey;return o[1]===t.id&&o[3]==="collection"&&o[4]==="VIRTUAL_MCP"}})},e[2]=t,e[3]=s.slug,e[4]=r,e[5]=m):m=e[5];const x=m;let p;e[6]!==x||e[7]!==l||e[8]!==a?(p=(i,o)=>{const u=new Set(a);o?u.add(i):u.delete(i),l.mutate({enabled_plugins:Array.from(u)},{onSuccess:x,onError:M})},e[6]=x,e[7]=l,e[8]=a,e[9]=p):p=e[9];const g=p,y=D,C=A;if(b.length===0){let i;return e[10]===Symbol.for("react.memo_cache_sentinel")?(i=n.jsx("p",{className:"text-sm text-muted-foreground",children:"No plugins available."}),e[10]=i):i=e[10],i}let c;e[11]!==g||e[12]!==l||e[13]!==a?(c=b.map(i=>{const o=y(i.id),u=C(i.id),h=a.includes(i.id);return n.jsx(Q,{title:o?.label??i.id,description:u??void 0,icon:n.jsx("span",{className:"text-muted-foreground [&>svg]:size-4",children:o?.icon??n.jsx(I,{size:14})}),onClick:()=>!l.isPending&&g(i.id,!h),action:n.jsx(F,{checked:h,onCheckedChange:v=>g(i.id,v),disabled:l.isPending,onClick:$})},i.id)}),e[11]=g,e[12]=l,e[13]=a,e[14]=c):c=e[14];let f;return e[15]!==c?(f=n.jsx(w,{children:n.jsx(z,{children:c})}),e[15]=c,e[16]=f):f=e[16],f}function $(e){return e.stopPropagation()}function A(e){return b.find(s=>s.id===e)?.description??null}function D(e){const t=E.find(r=>r.pluginId===e);if(t)return{label:t.label,icon:t.items[0]?.icon};const s=R.find(r=>r.pluginId===e);return s?{label:s.label,icon:s.icon}:null}function M(e){K.error("Failed to update plugin: "+(e instanceof Error?e.message:"Unknown error"))}function B(){const e=P.c(1);let t;return e[0]===Symbol.for("react.memo_cache_sentinel")?(t=n.jsx(j,{children:n.jsx(j.Content,{children:n.jsx(j.Body,{children:n.jsxs(N,{children:[n.jsx(j.Title,{children:"Plugins"}),n.jsx(U,{})]})})})}),e[0]=t):t=e[0],t}function ae(){const e=P.c(1);let t;return e[0]===Symbol.for("react.memo_cache_sentinel")?(t=n.jsx(T,{capability:"org:manage",area:"plugins",children:n.jsx(B,{})}),e[0]=t):t=e[0],t}export{ae as default};
@@ -1 +0,0 @@
1
- import{e as k,r as z,b4 as S,g as _,Z as E,b5 as T,j as o,M as $}from"./index-B9kRhzg7.js";const L="#f6f4ed",P="#ffffff",H=[{src:"/icons/icon-192.png",sizes:"192x192",type:"image/png"},{src:"/icons/icon-512.png",sizes:"512x512",type:"image/png"}];function R(e,n){const t=`${n}/${e.slug}`,i=[...e.logo?[{src:e.logo,sizes:"192x192",purpose:"any"},{src:e.logo,sizes:"512x512",purpose:"any"},{src:e.logo,sizes:"any",purpose:"any"}]:[],...H],l={id:t,name:e.name,short_name:e.name,start_url:t,scope:t,display:"standalone",display_override:["window-controls-overlay"],background_color:P,theme_color:L,icons:i};return`data:application/manifest+json,${encodeURIComponent(JSON.stringify(l))}`}function O(e){const n=document.querySelector(`link[rel="${e}"]`);if(n)return n;const t=document.createElement("link");return t.rel=e,document.head.appendChild(t),t}function M(e){const n=document.querySelector(`meta[name="${e}"]`);if(n)return n;const t=document.createElement("meta");return t.name=e,document.head.appendChild(t),t}function U(e){const n=k.c(5),t=e?.name??"",i=e?.slug??"",l=e?.logo??"";let a,c;n[0]!==l||n[1]!==t||n[2]!==i?(a=()=>{if(!i||!t||typeof document>"u"||typeof window>"u")return;const d=O("manifest"),m=O("apple-touch-icon"),u=M("apple-mobile-web-app-title"),r={manifest:d.getAttribute("href"),appleIcon:m.getAttribute("href"),appleTitle:u.getAttribute("content"),title:document.title};return d.setAttribute("href",R({name:t,slug:i,logo:l||null},window.location.origin)),l&&m.setAttribute("href",l),u.setAttribute("content",t),document.title=t,S(),()=>{r.manifest!==null&&d.setAttribute("href",r.manifest),r.appleIcon!==null&&m.setAttribute("href",r.appleIcon),r.appleTitle!==null&&u.setAttribute("content",r.appleTitle),document.title=r.title,S()}},c=[t,i,l],n[0]=l,n[1]=t,n[2]=i,n[3]=a,n[4]=c):(a=n[3],c=n[4]),z.useLayoutEffect(a,c)}function q(){const e=k.c(31);let n;e[0]===Symbol.for("react.memo_cache_sentinel")?(n={strict:!1},e[0]=n):n=e[0];const{org:t}=_(n),{data:i}=E();let l;e[1]!==i||e[2]!==t?(l=i?.find(N=>N.slug===t),e[1]=i,e[2]=t,e[3]=l):l=e[3];const a=l;let c;e[4]!==a?(c=a?{name:a.name,slug:a.slug,logo:a.logo??null}:null,e[4]=a,e[5]=c):c=e[5],U(c);const{canPrompt:d,installed:m,ios:u,promptInstall:r}=T(),[y,w]=z.useState(null),s=a?.name??"this organization",C=a?.logo;let b;e[6]!==s||e[7]!==r?(b=async()=>{const N=await r();w(N==="accepted"?`Installing ${s}…`:N==="dismissed"?"Install dismissed.":null)},e[6]=s,e[7]=r,e[8]=b):b=e[8];const A=b,I=C||"/icons/icon-192.png";let p;e[9]!==s||e[10]!==I?(p=o.jsx("img",{src:I,alt:s,className:"size-20 rounded-2xl border border-border/50 object-cover"}),e[9]=s,e[10]=I,e[11]=p):p=e[11];let f;e[12]!==s?(f=o.jsxs("div",{className:"flex flex-col gap-2",children:[o.jsxs("h1",{className:"text-xl font-semibold text-foreground",children:["Add ",s," to your Home Screen"]}),o.jsxs("p",{className:"text-sm text-muted-foreground",children:["Install ",s," as its own app — a standalone window that opens straight into this organization. To install the full deco Studio app instead, use your browser's “Add to Home Screen” from any other page."]})]}),e[12]=s,e[13]=f):f=e[13];let g;e[14]!==d||e[15]!==A||e[16]!==m||e[17]!==u||e[18]!==s||e[19]!==y?(g=m?o.jsxs("p",{className:"rounded-lg bg-muted px-4 py-3 text-sm text-foreground",children:[s," is already installed on this device."]}):u?o.jsxs("div",{className:"flex flex-col gap-2 rounded-lg bg-muted px-4 py-3 text-sm text-foreground",children:[o.jsx("p",{className:"font-medium",children:"Install on iOS"}),o.jsxs("p",{className:"text-muted-foreground",children:["Tap the ",o.jsx("span",{className:"font-medium",children:"Share"})," button, then choose ",o.jsx("span",{className:"font-medium",children:"Add to Home Screen"}),"."]})]}):d?o.jsxs("div",{className:"flex flex-col items-center gap-3",children:[o.jsxs("button",{type:"button",onClick:A,className:"rounded-lg bg-primary px-5 py-2.5 text-sm font-medium text-primary-foreground transition-colors hover:bg-primary/90",children:["Add ",s," to Home Screen"]}),y&&o.jsx("p",{className:"text-sm text-muted-foreground",children:y})]}):o.jsxs("p",{className:"rounded-lg bg-muted px-4 py-3 text-sm text-muted-foreground",children:["To install, open your browser's menu and choose"," ",o.jsxs("span",{className:"font-medium text-foreground",children:["Install ",s]})," ","(or “Add to Home Screen”). If you don't see it yet, interact with the app for a moment and try again."]}),e[14]=d,e[15]=A,e[16]=m,e[17]=u,e[18]=s,e[19]=y,e[20]=g):g=e[20];const v=t??"";let x;e[21]!==v?(x={org:v},e[21]=v,e[22]=x):x=e[22];let h;e[23]!==s||e[24]!==x?(h=o.jsxs($,{to:"/$org",params:x,className:"text-sm text-primary hover:underline",replace:!0,children:["Back to ",s]}),e[23]=s,e[24]=x,e[25]=h):h=e[25];let j;return e[26]!==h||e[27]!==p||e[28]!==f||e[29]!==g?(j=o.jsx("div",{className:"flex min-h-dvh items-center justify-center bg-background p-6",children:o.jsxs("div",{className:"flex w-full max-w-md flex-col items-center gap-6 text-center",children:[p,f,g,h]})}),e[26]=h,e[27]=p,e[28]=f,e[29]=g,e[30]=j):j=e[30],j}export{q as default};
@@ -1 +0,0 @@
1
- import{e as it,r as E,j as e,l as rt}from"./index-B9kRhzg7.js";import{S as mt,d as pt,a as st,b as at}from"./sheet-BLkB41eQ.js";import{S as nt}from"./scroll-area-DSB3avJ3.js";import{r as lt,c as ct,u as dt,a as St,i as ft,f as ut,d as vt,P as ht,S as gt}from"./page-seo-form-DgC67IZh.js";import{j as xt}from"./index-CPhpCeI1.js";import"./X-COnjMnsv.js";import"./select-CVZQAcm7.js";import"./tooltip-Cx8u2hvs.js";import"./Check-DCJCCJt5.js";import"./ChevronDown-vntP1LF0.js";import"./ChevronUp-B9NZzlEX.js";import"./label-dlG4_xKf.js";import"./switch-BtXimVeh.js";import"./schema-form-ETVh-DHz.js";import"./agent-icon-DFJgaXFK.js";import"./AlertCircle-DQ3zaMns.js";import"./Tool01-DRibBi0T.js";import"./SwitchHorizontal01-BjgMZfW7.js";import"./RefreshCcw01-Dk9AOo-m.js";import"./XCircle-BvIhN4E7.js";import"./ArrowUpRight-UT01ancE.js";import"./ZapSquare-C79zBXJj.js";import"./Users03-DhXF_0sH.js";import"./CheckCircle-CN8csJmd.js";import"./ChevronLeft-_4tt3JbP.js";import"./ChevronRight-BD7fiLv7.js";import"./DotsVertical-DDPFnnRS.js";import"./Container-DlDQbtuJ.js";import"./Eye-ogI2y4CN.js";import"./ZoomOut-B5B07_-g.js";import"./Globe01-C2fKyC2-.js";import"./FilterLines-DpUfIC-u.js";import"./Star01-Cu6cUuhf.js";import"./Palette-OtFJ1ywH.js";import"./HardDrive-Ik-OtFON.js";import"./Stars02-Bo6vryYW.js";import"./Key01-CmprkySl.js";import"./LayoutLeft-BO92HMhM.js";import"./LinkExternal01-9W209kLr.js";import"./Monitor01-B0FKK9nk.js";import"./Sun-Bg1tFzcn.js";import"./Play-B9TsjtCB.js";import"./Plus-BnGx63GX.js";import"./SearchMd-CxJnyPJ2.js";import"./Settings02-PSRUEgfS.js";import"./Shield01-Do71Dyqk.js";import"./Stars01-BuMp0jeZ.js";import"./Trash01-DfuJtop_.js";import"./Upload01-DGWS8Icx.js";import"./User01-B1RcIkcM.js";import"./Users01-CyxI-ZiC.js";import"./XClose-CXacF9IM.js";import"./Zap-BM6RWRPw.js";import"./calendar-DfGnEJr6.js";import"./input-DCOoktZX.js";import"./popover-Dinj8RAt.js";import"./textarea-CaPEW-IU.js";import"./dropdown-menu-Do65ajnt.js";import"./image-field-ixadfB5p.js";import"./dialog-J9xRnRHX.js";import"./skeleton-KI9W-P-f.js";import"./tabs-DGoyKbi9.js";import"./use-file-configs-DC8U7Oa7.js";import"./constants-BFQrPD6r.js";import"./unwrap-tool-result-BYXdCQMg.js";import"./useInfiniteQuery-B2j87XPZ.js";import"./infiniteQueryObserver-Xb1xysnw.js";import"./agent-capabilities-BQdt-MuJ.js";import"./pair-ETmN3fj_.js";import"./format-time-Cy7tTmZp.js";import"./differenceInSeconds-NQ4PDo0z.js";import"./use-copy-BKH_ay1V.js";import"./file-type-icon-DPEVE6_q.js";import"./content-blocks-o63cs2vh.js";import"./types-CZnHlJyi.js";import"./chat-context-CL-ll6R6.js";import"./tab-id-DiLpeikj.js";import"./decopilot-sse-pool-DIAcxt2i.js";import"./create-sse-subscription-BS5983N4.js";import"./use-virtual-mcp-CtYRrEgz.js";import"./use-collections-C1EEoGdl.js";import"./use-ai-providers-CmWP-lNT.js";import"./use-organization-settings-BDlR4IeW.js";import"./shell-layout-v69WfJwF.js";import"./avatar-CuZPsvd7.js";import"./required-auth-layout-DQ_j0OWf.js";import"./useRouterState-BRj2kxuq.js";import"./use-org-sso-B96bQNMI.js";import"./integration-icon-D0rRtQFH.js";import"./use-navigate-to-agent-C81Y1E7k.js";import"./use-connection-DkHV4tpA.js";import"./use-mcp-prompts-CeFy4g83.js";import"./form-C4TJnG5K.js";import"./spinner-1Hxy4oL5.js";import"./drawer-NwIwuvOD.js";import"./collection-search-CljcPIbT.js";import"./toggle-group-kjmQGkBo.js";import"./connect-desktop-dialog-CAgFYUmf.js";import"./agent-icons-CkZUPYja.js";import"./checkbox-4DJ-sElS.js";import"./ai-providers-logos-DD3qZ33J.js";import"./settings-section-Bx1_7ym7.js";import"./card-DsraaOS_.js";import"./command-Cwxrfu8T.js";import"./index-X8qPybJt.js";import"./sortable.esm-tovEx4aa.js";import"./connection-slug-eyAPH6o3.js";import"./connection-card-Dmrkhocz.js";import"./use-registry-connections-BCrdHAv1.js";import"./extract-connection-data-J0nLi0pB.js";import"./generate-id-C8OHZs1-.js";import"./collections-C8UGR0dQ.js";import"./collection-tabs-BgZPPjBK.js";import"./badge-BCXaZ3jr.js";import"./connection-form-helpers-BL61O5Zc.js";import"./use-infinite-scroll-DV-4RP03.js";import"./useSuspenseInfiniteQuery-BbIHskrR.js";import"./index-jPAWrqoL.js";import"./question-004-sINsf4GQ.js";import"./shell-route-loading-DqEXsH0r.js";import"./sidebar-BMIDAt6t.js";import"./toolbar-CuMC4awt.js";import"./use-create-virtual-mcp-UfIRObXS.js";import"./github-repo-picker-BXy4amYZ.js";import"./use-mcp-tools-BS9dyBS-.js";import"./alert-dialog-BpOf9MAK.js";import"./index-DgQteD84.js";import"./use-org-auth-client-DVt08ImK.js";import"./hover-card-CzsSQjRq.js";import"./task-status-nPHS0i2v.js";import"./use-status-sounds-DEheRMHk.js";import"./empty-state-BqVzURvi.js";import"./resizable-CEMGS5N9.js";import"./use-capability-B6JwqpW7.js";import"./header-tab-button-CfRERpsl.js";import"./index-BQhstHsz.js";import"./user-C5EKJb7v.js";import"./tools-list-CCmWgH3U.js";import"./use-debounced-autosave-BTVTsOKV.js";import"./index-Bx5wFMxU.js";import"./search-input-Dny3m5xa.js";import"./use-secrets-ODuzEevV.js";import"./formatDistanceToNow-Cb2QZZJn.js";import"./accordion-BelQbjLG.js";import"./view-mode-toggle-DbMrI7Rd.js";import"./select-model-BLCOUHJb.js";import"./use-automations-Bi6clolz.js";import"./monaco-editor-C03OGypq.js";import"./automation-runs-W1XLcZy_.js";import"./table-CZLBrik6.js";import"./use-members-CtpiNo8J.js";import"./automation-list-row-CPxwK1jZ.js";function Si(u){const t=it.c(46),{open:N,onOpenChange:P,orgSlug:Q,virtualMcpId:U,branch:W,decofile:G,meta:s,target:m,onSaved:X}=u,o=lt(G,m,s),k=m.kind==="site"?"site":m.pageKey,[Y,Z]=E.useState(k),[tt,i]=E.useState(null),[J,g]=E.useState(void 0),[x,y]=E.useState(0);Y!==k&&(Z(k),i(null),g(void 0),y(jt));const{persistSeo:a,persistRawSeo:I,flush:K,isPending:D}=ct({orgSlug:Q,virtualMcpId:U,branch:W,target:m,resolved:o,onSaved:X}),j=m.kind==="page",ot=j?o?.rawSeoData:void 0,v=J!==void 0?J:ot,et=j?dt(v)??void 0:void 0,h=tt??et??o?.seoData??{},p=o?St(h,o):null,n=p&&(!j||ft(v))?xt(p,s):null,_=m.kind==="page"?ut(G,s)?.seoData??void 0:void 0;let w;t[0]!==s?(w=vt(s),t[0]=s,t[1]=w):w=t[1];const M=w;let R;t[2]!==a||t[3]!==o||t[4]!==i?(R=r=>{if(!o)return;const L=r;i(L),a(L)},t[2]=a,t[3]=o,t[4]=i,t[5]=R):R=t[5];const V=R;let F;t[6]!==K||t[7]!==P?(F=r=>{r||K(),P(r)},t[6]=K,t[7]=P,t[8]=F):F=t[8];const z=F,A=m.kind==="site"?"Site SEO":"Page SEO",T=j&&o,B=m.kind==="site"&&o&&n,H=m.kind==="site"?"No site-level SEO block found.":o?"SEO schema not found for this page.":"Could not load page SEO.";let C;t[9]!==i?(C=()=>i(null),t[9]=i,t[10]=C):C=t[10];const $=C;let O;t[11]!==y?(O=()=>y(yt),t[11]=y,t[12]=O):O=t[12];const q=O;let l;t[13]!==A?(l=e.jsx(mt,{className:"text-sm font-semibold",children:A}),t[13]=A,t[14]=l):l=t[14];let c;t[15]!==D?(c=D&&e.jsx(rt,{size:14,className:"animate-spin text-muted-foreground"}),t[15]=D,t[16]=c):c=t[16];let d;t[17]!==l||t[18]!==c?(d=e.jsxs(pt,{className:"px-4 py-3 border-b flex-row items-center justify-between space-y-0",children:[l,c]}),t[17]=l,t[18]=c,t[19]=d):d=t[19];let S;t[20]!==p||t[21]!==q||t[22]!==$||t[23]!==M||t[24]!==v||t[25]!==h||t[26]!==H||t[27]!==x||t[28]!==V||t[29]!==I||t[30]!==a||t[31]!==o||t[32]!==n||t[33]!==i||t[34]!==g||t[35]!==T||t[36]!==B||t[37]!==_?(S=!o||!T&&!B?e.jsx("div",{className:"flex h-full items-center justify-center text-sm text-muted-foreground",children:H}):e.jsx(nt,{className:"flex-1 min-h-0 [&_[data-slot=scroll-area-viewport]>div]:!block",children:e.jsx("div",{className:"px-6 py-4",children:e.jsx("div",{className:"mx-auto max-w-sm",children:T?e.jsx(ht,{rawSeo:v,innerSeo:h,defaultResolveType:M,seoSchema:n,activeResolveType:p,seoTypeOptions:o.seoTypeOptions,formResetKey:x,siteDefaultSeo:_,onPersistRaw:r=>{g(r),I(r)},onInnerChange:r=>{i(r),a(r)},onClearForm:$,onBumpFormKey:q}):n&&p&&e.jsx(gt,{schema:n,resolveType:p,value:h,formResetKey:x,onChange:V})})})}),t[20]=p,t[21]=q,t[22]=$,t[23]=M,t[24]=v,t[25]=h,t[26]=H,t[27]=x,t[28]=V,t[29]=I,t[30]=a,t[31]=o,t[32]=n,t[33]=i,t[34]=g,t[35]=T,t[36]=B,t[37]=_,t[38]=S):S=t[38];let f;t[39]!==d||t[40]!==S?(f=e.jsxs(st,{side:"right",className:"w-[400px] sm:max-w-[440px] p-0 gap-0",children:[d,S]}),t[39]=d,t[40]=S,t[41]=f):f=t[41];let b;return t[42]!==z||t[43]!==N||t[44]!==f?(b=e.jsx(at,{open:N,onOpenChange:z,children:f}),t[42]=z,t[43]=N,t[44]=f,t[45]=b):b=t[45],b}function yt(u){return u+1}function jt(u){return u+1}export{Si as SeoSheet};
@@ -1 +0,0 @@
1
- import{e as H,q as $,j}from"./index-B9kRhzg7.js";import{h as q,g as O,s as b}from"./pair-ETmN3fj_.js";import{u as v}from"./constants-BFQrPD6r.js";import{a as L,c as B}from"./use-mcp-tools-BS9dyBS-.js";import{c as Y}from"./content-blocks-o63cs2vh.js";import{g as k,M as G,b as E}from"./types-CZnHlJyi.js";import{a as V,c as z}from"./chat-context-CL-ll6R6.js";import{u as F}from"./shell-layout-v69WfJwF.js";import"./agent-icon-DFJgaXFK.js";import"./AlertCircle-DQ3zaMns.js";import"./Tool01-DRibBi0T.js";import"./SwitchHorizontal01-BjgMZfW7.js";import"./RefreshCcw01-Dk9AOo-m.js";import"./XCircle-BvIhN4E7.js";import"./ArrowUpRight-UT01ancE.js";import"./ZapSquare-C79zBXJj.js";import"./Users03-DhXF_0sH.js";import"./CheckCircle-CN8csJmd.js";import"./Check-DCJCCJt5.js";import"./ChevronDown-vntP1LF0.js";import"./ChevronLeft-_4tt3JbP.js";import"./ChevronRight-BD7fiLv7.js";import"./ChevronUp-B9NZzlEX.js";import"./DotsVertical-DDPFnnRS.js";import"./Container-DlDQbtuJ.js";import"./Eye-ogI2y4CN.js";import"./ZoomOut-B5B07_-g.js";import"./Globe01-C2fKyC2-.js";import"./FilterLines-DpUfIC-u.js";import"./Star01-Cu6cUuhf.js";import"./Palette-OtFJ1ywH.js";import"./HardDrive-Ik-OtFON.js";import"./Stars02-Bo6vryYW.js";import"./Key01-CmprkySl.js";import"./LayoutLeft-BO92HMhM.js";import"./LinkExternal01-9W209kLr.js";import"./Monitor01-B0FKK9nk.js";import"./Sun-Bg1tFzcn.js";import"./Play-B9TsjtCB.js";import"./Plus-BnGx63GX.js";import"./SearchMd-CxJnyPJ2.js";import"./Settings02-PSRUEgfS.js";import"./Shield01-Do71Dyqk.js";import"./Stars01-BuMp0jeZ.js";import"./Trash01-DfuJtop_.js";import"./Upload01-DGWS8Icx.js";import"./User01-B1RcIkcM.js";import"./Users01-CyxI-ZiC.js";import"./XClose-CXacF9IM.js";import"./X-COnjMnsv.js";import"./Zap-BM6RWRPw.js";import"./format-time-Cy7tTmZp.js";import"./differenceInSeconds-NQ4PDo0z.js";import"./scroll-area-DSB3avJ3.js";import"./select-CVZQAcm7.js";import"./tooltip-Cx8u2hvs.js";import"./use-copy-BKH_ay1V.js";import"./file-type-icon-DPEVE6_q.js";import"./dialog-J9xRnRHX.js";import"./tab-id-DiLpeikj.js";import"./decopilot-sse-pool-DIAcxt2i.js";import"./create-sse-subscription-BS5983N4.js";import"./integration-icon-D0rRtQFH.js";import"./use-virtual-mcp-CtYRrEgz.js";import"./use-collections-C1EEoGdl.js";import"./use-navigate-to-agent-C81Y1E7k.js";import"./use-connection-DkHV4tpA.js";import"./use-mcp-prompts-CeFy4g83.js";import"./form-C4TJnG5K.js";import"./label-dlG4_xKf.js";import"./input-DCOoktZX.js";import"./spinner-1Hxy4oL5.js";import"./unwrap-tool-result-BYXdCQMg.js";import"./use-ai-providers-CmWP-lNT.js";import"./use-organization-settings-BDlR4IeW.js";import"./avatar-CuZPsvd7.js";import"./required-auth-layout-DQ_j0OWf.js";import"./useRouterState-BRj2kxuq.js";import"./use-org-sso-B96bQNMI.js";const J={};function K(S){const t=H.c(37),{client:r,resourceURI:g,tool:e,connectionId:s,orgId:a,args:c}=S,{sendMessage:u}=V(),{setAppContext:d,clearAppContext:o}=z(),{setChatOpen:f,openTab:m}=F(),p=`${s}:${e.name}`;let l;t[0]!==m?(l=h=>h==="inline"?(m("0"),"inline"):"fullscreen",t[0]=m,t[1]=l):l=t[1];const i=l,n=c??J;let T;t[2]!==r||t[3]!==e.name||t[4]!==n?(T={client:r,toolName:e.name,toolArguments:n},t[2]=r,t[3]=e.name,t[4]=n,t[5]=T):T=t[5];const{data:x}=B(T);let R;if(t[6]!==e._meta||t[7]!==e.name){const h=O(e._meta);R=b(e.name,h),t[6]=e._meta,t[7]=e.name,t[8]=R}else R=t[8];const U=R;let I;t[9]!==e.inputSchema?(I=e.inputSchema??{type:"object"},t[9]=e.inputSchema,t[10]=I):I=t[10];let N;t[11]!==U||t[12]!==I||t[13]!==e?(N={...e,name:U,inputSchema:I},t[11]=U,t[12]=I,t[13]=e,t[14]=N):N=t[14];const y=N;let _;t[15]!==u||t[16]!==f?(_=h=>{const w=Y(h.content);w.content.length>0&&(f(!0),u({tiptapDoc:w}))},t[15]=u,t[16]=f,t[17]=_):_=t[17];const D=_;let C;t[18]!==y?(C={tool:y},t[18]=y,t[19]=C):C=t[19];let M;t[20]!==d||t[21]!==p?(M=h=>d(p,h),t[20]=d,t[21]=p,t[22]=M):M=t[22];let P;t[23]!==o||t[24]!==p?(P=()=>o(p),t[23]=o,t[24]=p,t[25]=P):P=t[25];let A;return t[26]!==r||t[27]!==D||t[28]!==i||t[29]!==a||t[30]!==g||t[31]!==C||t[32]!==M||t[33]!==P||t[34]!==n||t[35]!==x?(A=j.jsx(G,{resourceURI:g,orgId:a,toolInfo:C,toolInput:n,toolResult:x,displayMode:"fullscreen",minHeight:E.fullscreen.minHeight,maxHeight:E.fullscreen.maxHeight,client:r,onMessage:D,onUpdateModelContext:M,onTeardown:P,onRequestDisplayMode:i,className:"h-full"}),t[26]=r,t[27]=D,t[28]=i,t[29]=a,t[30]=g,t[31]=C,t[32]=M,t[33]=P,t[34]=n,t[35]=x,t[36]=A):A=t[36],A}function Pe(S){const t=H.c(20),{connectionId:r,toolName:g,args:e}=S,{org:s}=$();let a;t[0]!==r||t[1]!==s.id||t[2]!==s.slug?(a={connectionId:r,orgId:s.id,orgSlug:s.slug},t[0]=r,t[1]=s.id,t[2]=s.slug,t[3]=a):a=t[3];const c=v(a);let u;t[4]!==c?(u={client:c},t[4]=c,t[5]=u):u=t[5];const{data:d}=L(u);let o,f,m;t[6]!==g||t[7]!==d.tools?(o=q(decodeURIComponent(g)),m=d.tools.find(i=>i.name===o)??d.tools.find(i=>{const n=O(i._meta);if(!n)return!1;if(b(i.name,n)===o)return!0;const x=b(o,n);return x!==o&&i.name===x}),f=m?._meta?k(m._meta):void 0,t[6]=g,t[7]=d.tools,t[8]=o,t[9]=f,t[10]=m):(o=t[8],f=t[9],m=t[10]);const p=f;if(!m||!p){let i;return t[11]!==o?(i=j.jsx("div",{className:"flex items-center justify-center h-full w-full",children:j.jsxs("p",{className:"text-sm text-muted-foreground",children:['Tool "',o,'" not found or has no UI']})}),t[11]=o,t[12]=i):i=t[12],i}let l;return t[13]!==e||t[14]!==c||t[15]!==r||t[16]!==s.id||t[17]!==p||t[18]!==m?(l=j.jsx(K,{client:c,resourceURI:p,tool:m,connectionId:r,orgId:s.id,args:e}),t[13]=e,t[14]=c,t[15]=r,t[16]=s.id,t[17]=p,t[18]=m,t[19]=l):l=t[19],l}export{Pe as AppViewContent};
@@ -1 +0,0 @@
1
- import{e as C,j as r}from"./index-B9kRhzg7.js";import{I as F}from"./input-DCOoktZX.js";import{L as T}from"./label-dlG4_xKf.js";import{T as L}from"./textarea-CaPEW-IU.js";import{I as A}from"./image-field-ixadfB5p.js";import{a7 as R,a8 as D,aa as J}from"./index-CPhpCeI1.js";import{u as K,s as S}from"./primitives-DqpziEOx.js";import{S as M}from"./save-status-BCvLZZx5.js";import"./Tool01-DRibBi0T.js";import"./Trash01-DfuJtop_.js";import"./Upload01-DGWS8Icx.js";import"./AlertCircle-DQ3zaMns.js";import"./Check-DCJCCJt5.js";import"./Eye-ogI2y4CN.js";import"./DotsVertical-DDPFnnRS.js";import"./agent-icon-DFJgaXFK.js";import"./SwitchHorizontal01-BjgMZfW7.js";import"./RefreshCcw01-Dk9AOo-m.js";import"./XCircle-BvIhN4E7.js";import"./ArrowUpRight-UT01ancE.js";import"./ZapSquare-C79zBXJj.js";import"./Users03-DhXF_0sH.js";import"./CheckCircle-CN8csJmd.js";import"./ChevronDown-vntP1LF0.js";import"./ChevronLeft-_4tt3JbP.js";import"./ChevronRight-BD7fiLv7.js";import"./ChevronUp-B9NZzlEX.js";import"./Container-DlDQbtuJ.js";import"./ZoomOut-B5B07_-g.js";import"./Globe01-C2fKyC2-.js";import"./FilterLines-DpUfIC-u.js";import"./Star01-Cu6cUuhf.js";import"./Palette-OtFJ1ywH.js";import"./HardDrive-Ik-OtFON.js";import"./Stars02-Bo6vryYW.js";import"./Key01-CmprkySl.js";import"./LayoutLeft-BO92HMhM.js";import"./LinkExternal01-9W209kLr.js";import"./Monitor01-B0FKK9nk.js";import"./Sun-Bg1tFzcn.js";import"./Play-B9TsjtCB.js";import"./Plus-BnGx63GX.js";import"./SearchMd-CxJnyPJ2.js";import"./Settings02-PSRUEgfS.js";import"./Shield01-Do71Dyqk.js";import"./Stars01-BuMp0jeZ.js";import"./User01-B1RcIkcM.js";import"./Users01-CyxI-ZiC.js";import"./XClose-CXacF9IM.js";import"./X-COnjMnsv.js";import"./Zap-BM6RWRPw.js";import"./dialog-J9xRnRHX.js";import"./dropdown-menu-Do65ajnt.js";import"./skeleton-KI9W-P-f.js";import"./tabs-DGoyKbi9.js";import"./use-file-configs-DC8U7Oa7.js";import"./constants-BFQrPD6r.js";import"./unwrap-tool-result-BYXdCQMg.js";import"./useInfiniteQuery-B2j87XPZ.js";import"./infiniteQueryObserver-Xb1xysnw.js";import"./agent-capabilities-BQdt-MuJ.js";import"./pair-ETmN3fj_.js";import"./format-time-Cy7tTmZp.js";import"./differenceInSeconds-NQ4PDo0z.js";import"./scroll-area-DSB3avJ3.js";import"./select-CVZQAcm7.js";import"./tooltip-Cx8u2hvs.js";import"./use-copy-BKH_ay1V.js";import"./file-type-icon-DPEVE6_q.js";import"./content-blocks-o63cs2vh.js";import"./types-CZnHlJyi.js";import"./chat-context-CL-ll6R6.js";import"./tab-id-DiLpeikj.js";import"./decopilot-sse-pool-DIAcxt2i.js";import"./create-sse-subscription-BS5983N4.js";import"./use-virtual-mcp-CtYRrEgz.js";import"./use-collections-C1EEoGdl.js";import"./use-ai-providers-CmWP-lNT.js";import"./use-organization-settings-BDlR4IeW.js";import"./shell-layout-v69WfJwF.js";import"./avatar-CuZPsvd7.js";import"./required-auth-layout-DQ_j0OWf.js";import"./useRouterState-BRj2kxuq.js";import"./use-org-sso-B96bQNMI.js";import"./integration-icon-D0rRtQFH.js";import"./use-navigate-to-agent-C81Y1E7k.js";import"./use-connection-DkHV4tpA.js";import"./use-mcp-prompts-CeFy4g83.js";import"./form-C4TJnG5K.js";import"./spinner-1Hxy4oL5.js";import"./drawer-NwIwuvOD.js";import"./collection-search-CljcPIbT.js";import"./toggle-group-kjmQGkBo.js";import"./connect-desktop-dialog-CAgFYUmf.js";import"./agent-icons-CkZUPYja.js";import"./checkbox-4DJ-sElS.js";import"./ai-providers-logos-DD3qZ33J.js";import"./settings-section-Bx1_7ym7.js";import"./card-DsraaOS_.js";import"./popover-Dinj8RAt.js";import"./command-Cwxrfu8T.js";import"./index-X8qPybJt.js";import"./sortable.esm-tovEx4aa.js";import"./connection-slug-eyAPH6o3.js";import"./connection-card-Dmrkhocz.js";import"./use-registry-connections-BCrdHAv1.js";import"./extract-connection-data-J0nLi0pB.js";import"./generate-id-C8OHZs1-.js";import"./collections-C8UGR0dQ.js";import"./collection-tabs-BgZPPjBK.js";import"./badge-BCXaZ3jr.js";import"./connection-form-helpers-BL61O5Zc.js";import"./use-infinite-scroll-DV-4RP03.js";import"./useSuspenseInfiniteQuery-BbIHskrR.js";import"./index-jPAWrqoL.js";import"./question-004-sINsf4GQ.js";import"./shell-route-loading-DqEXsH0r.js";import"./sidebar-BMIDAt6t.js";import"./sheet-BLkB41eQ.js";import"./toolbar-CuMC4awt.js";import"./use-create-virtual-mcp-UfIRObXS.js";import"./github-repo-picker-BXy4amYZ.js";import"./use-mcp-tools-BS9dyBS-.js";import"./alert-dialog-BpOf9MAK.js";import"./index-DgQteD84.js";import"./use-org-auth-client-DVt08ImK.js";import"./hover-card-CzsSQjRq.js";import"./task-status-nPHS0i2v.js";import"./use-status-sounds-DEheRMHk.js";import"./empty-state-BqVzURvi.js";import"./resizable-CEMGS5N9.js";import"./use-capability-B6JwqpW7.js";import"./header-tab-button-CfRERpsl.js";import"./index-BQhstHsz.js";import"./user-C5EKJb7v.js";import"./tools-list-CCmWgH3U.js";import"./switch-BtXimVeh.js";import"./use-debounced-autosave-BTVTsOKV.js";import"./index-Bx5wFMxU.js";import"./search-input-Dny3m5xa.js";import"./use-secrets-ODuzEevV.js";import"./formatDistanceToNow-Cb2QZZJn.js";import"./accordion-BelQbjLG.js";import"./view-mode-toggle-DbMrI7Rd.js";import"./select-model-BLCOUHJb.js";import"./use-automations-Bi6clolz.js";import"./monaco-editor-C03OGypq.js";import"./automation-runs-W1XLcZy_.js";import"./table-CZLBrik6.js";import"./use-members-CtpiNo8J.js";import"./automation-list-row-CPxwK1jZ.js";const $={authors:[{key:"name",label:"Name",widget:"text"},{key:"email",label:"Email",widget:"text",placeholder:"author@example.com"},{key:"jobTitle",label:"Job title",widget:"text"},{key:"company",label:"Company",widget:"text"},{key:"avatar",label:"Avatar",widget:"image"}],categories:[{key:"name",label:"Name",widget:"text"},{key:"slug",label:"Slug",widget:"text",placeholder:"my-category"}]},q={authors:"Author",categories:"Category"};function Tr(P){const t=C.c(34),{orgSlug:v,virtualMcpId:j,branch:w,kind:p,blockKey:y,block:f}=P;let u;t[0]!==w||t[1]!==v||t[2]!==j?(u={orgSlug:v,virtualMcpId:j,branch:w},t[0]=w,t[1]=v,t[2]=j,t[3]=u):u=t[3];const m=R(u);let d;t[4]!==f||t[5]!==p?(d=D(f,p),t[4]=f,t[5]=p,t[6]=d):d=t[6];const B=d;let h;t[7]!==y||t[8]!==p||t[9]!==m?(h=e=>{m.mutate({blockKey:y,data:J(y,p,e)})},t[7]=y,t[8]=p,t[9]=m,t[10]=h):h=t[10];const[i,E]=K(B,h);let k;t[11]!==i||t[12]!==E?(k=(e,o)=>E({...i,[e]:o}),t[11]=i,t[12]=E,t[13]=k):k=t[13];const a=k,N=q[p];let s;t[14]!==N?(s=r.jsx("span",{className:"text-sm font-medium",children:N}),t[14]=N,t[15]=s):s=t[15];let l;t[16]!==m.isError||t[17]!==m.isPending?(l=r.jsx(M,{isPending:m.isPending,isError:m.isError}),t[16]=m.isError,t[17]=m.isPending,t[18]=l):l=t[18];let n;t[19]!==s||t[20]!==l?(n=r.jsxs("div",{className:"flex h-12 shrink-0 items-center justify-between border-b px-6",children:[s,l]}),t[19]=s,t[20]=l,t[21]=n):n=t[21];const I=$[p];let c;if(t[22]!==i||t[23]!==a||t[24]!==I){let e;t[26]!==i||t[27]!==a?(e=o=>r.jsx("div",{className:"space-y-2",children:o.widget==="image"?r.jsx(A,{schema:{type:"string",format:"image-uri",title:o.label},value:i[o.key],onChange:x=>a(o.key,x),path:o.key,label:o.label}):r.jsxs(r.Fragment,{children:[r.jsx(T,{htmlFor:o.key,children:o.label}),o.widget==="textarea"?r.jsx(L,{id:o.key,value:S(i[o.key]),onChange:x=>a(o.key,x.target.value),rows:3}):r.jsx(F,{id:o.key,value:S(i[o.key]),placeholder:o.placeholder,onChange:x=>a(o.key,x.target.value),className:"h-10"})]})},o.key),t[26]=i,t[27]=a,t[28]=e):e=t[28],c=I.map(e),t[22]=i,t[23]=a,t[24]=I,t[25]=c}else c=t[25];let g;t[29]!==c?(g=r.jsx("div",{className:"min-w-0 flex-1 overflow-y-auto px-6 py-6",children:r.jsx("div",{className:"mx-auto max-w-xl space-y-6",children:c})}),t[29]=c,t[30]=g):g=t[30];let b;return t[31]!==g||t[32]!==n?(b=r.jsxs("div",{className:"flex h-full flex-col",children:[n,g]}),t[31]=g,t[32]=n,t[33]=b):b=t[33],b}export{Tr as RecordEditor};
@@ -1,2 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/registry-layout-CEjdQi8i.js","assets/index-B9kRhzg7.js","assets/index-D5dv4kfs.css","assets/XCircle-BvIhN4E7.js","assets/CheckCircle-CN8csJmd.js","assets/Container-DlDQbtuJ.js","assets/Settings02-PSRUEgfS.js","assets/constants-BFQrPD6r.js","assets/useInfiniteQuery-B2j87XPZ.js","assets/infiniteQueryObserver-Xb1xysnw.js","assets/badge-BCXaZ3jr.js","assets/input-DCOoktZX.js","assets/dropdown-menu-Do65ajnt.js","assets/Check-DCJCCJt5.js","assets/ChevronRight-BD7fiLv7.js","assets/DotsVertical-DDPFnnRS.js","assets/table-CZLBrik6.js","assets/toggle-group-kjmQGkBo.js","assets/use-view-mode-BoGNEuZa.js","assets/tooltip-Cx8u2hvs.js","assets/FilterLines-DpUfIC-u.js","assets/Globe01-C2fKyC2-.js","assets/SearchMd-CxJnyPJ2.js","assets/dialog-J9xRnRHX.js","assets/X-COnjMnsv.js","assets/AlertCircle-DQ3zaMns.js","assets/Upload01-DGWS8Icx.js","assets/alert-dialog-BpOf9MAK.js","assets/card-DsraaOS_.js","assets/Trash01-DfuJtop_.js","assets/label-dlG4_xKf.js","assets/select-CVZQAcm7.js","assets/ChevronDown-vntP1LF0.js","assets/ChevronUp-B9NZzlEX.js","assets/switch-BtXimVeh.js","assets/textarea-CaPEW-IU.js","assets/RefreshCcw01-Dk9AOo-m.js","assets/checkbox-4DJ-sElS.js","assets/Eye-ogI2y4CN.js","assets/LinkExternal01-9W209kLr.js","assets/use-copy-BKH_ay1V.js","assets/Key01-CmprkySl.js","assets/Plus-BnGx63GX.js","assets/Play-B9TsjtCB.js"])))=>i.map(i=>d[i]);
2
- import{e as i,j as e,r as s,l as a,_ as o}from"./index-B9kRhzg7.js";import{R as l}from"./require-capability-DjstlBCS.js";import"./use-capability-B6JwqpW7.js";import"./access-gate-BHd_MMZj.js";import"./capability-load-error-DjoRzFiH.js";const m=s.lazy(()=>o(()=>import("./registry-layout-CEjdQi8i.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43])));function f(){const r=i.c(1);let t;return r[0]===Symbol.for("react.memo_cache_sentinel")?(t=e.jsx(l,{capability:"registry:manage",area:"the registry",children:e.jsx(s.Suspense,{fallback:e.jsx("div",{className:"flex-1 flex items-center justify-center",children:e.jsx(a,{size:20,className:"animate-spin text-muted-foreground"})}),children:e.jsx(m,{})})}),r[0]=t):t=r[0],t}export{f as default};