@decocms/mesh 2.61.0 → 2.62.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 (152) hide show
  1. package/dist/client/assets/{AlertCircle-DZft-TG2.js → AlertCircle-Ba1Op7JG.js} +1 -1
  2. package/dist/client/assets/{ArrowUp-D5u5S04m.js → ArrowUp-CsjFvEVu.js} +1 -1
  3. package/dist/client/assets/{Calendar-D09MNLuS.js → Calendar-8At6qOri.js} +1 -1
  4. package/dist/client/assets/{Check-DCDAnqOU.js → Check-BQfWrOsa.js} +1 -1
  5. package/dist/client/assets/{ChevronDown-DutrckZC.js → ChevronDown-a23q7ncj.js} +1 -1
  6. package/dist/client/assets/{ChevronRight-DspCPj_w.js → ChevronRight-BKSZBVse.js} +1 -1
  7. package/dist/client/assets/{Code01-DedonTWa.js → Code01-P3ZWE6Wq.js} +1 -1
  8. package/dist/client/assets/{Copy01-BWDgSjt6.js → Copy01-CIESL5kI.js} +1 -1
  9. package/dist/client/assets/{DotsHorizontal-HzP-MqOT.js → DotsHorizontal-CcEfPxiK.js} +1 -1
  10. package/dist/client/assets/{DotsVertical-DiYKrTRi.js → DotsVertical-CJIZpidj.js} +1 -1
  11. package/dist/client/assets/{Download01-b-4mb5pm.js → Download01-CqyWjjTW.js} +1 -1
  12. package/dist/client/assets/{Edit01-D7FAjBpe.js → Edit01-B4XYqrFu.js} +1 -1
  13. package/dist/client/assets/{File02-DE5qRuoV.js → File02-BF9rq9ig.js} +1 -1
  14. package/dist/client/assets/{File06-Dyp_EEPp.js → File06-bOvxxnZ2.js} +1 -1
  15. package/dist/client/assets/{FilterLines-DYs8Amde.js → FilterLines-CmZpHRnn.js} +1 -1
  16. package/dist/client/assets/{Grid01-hfoOS4OQ.js → Grid01-IhRcMWbZ.js} +1 -1
  17. package/dist/client/assets/{Home02-BftR1elJ.js → Home02-DwOGKHOa.js} +1 -1
  18. package/dist/client/assets/{Image01-BBnTxqKs.js → Image01-sUTjP5wq.js} +1 -1
  19. package/dist/client/assets/{Inbox01-Br0-Fo7T.js → Inbox01-BnDnIXUM.js} +1 -1
  20. package/dist/client/assets/{InfoCircle-4Gg1mCvl.js → InfoCircle-WR60YcfQ.js} +1 -1
  21. package/dist/client/assets/{Key01-ImEEyxuW.js → Key01-CPYx3GjY.js} +1 -1
  22. package/dist/client/assets/{LinkExternal01-f9rwgdRB.js → LinkExternal01-1QN6qTXo.js} +1 -1
  23. package/dist/client/assets/{List-Byzk8GIH.js → List-BaGrtyGA.js} +1 -1
  24. package/dist/client/assets/{Loading01-267RBTet.js → Loading01-C4MO3DLf.js} +1 -1
  25. package/dist/client/assets/{Lock01-h-Hl5Kq5.js → Lock01-B8efAtfK.js} +1 -1
  26. package/dist/client/assets/{Pin01-DBrrq4D2.js → Pin01-C-K4KVz6.js} +1 -1
  27. package/dist/client/assets/{Play-DAIuzg5S.js → Play-tvHP06ah.js} +1 -1
  28. package/dist/client/assets/{Plus-zV6WU4JB.js → Plus-ByTt0Dzz.js} +1 -1
  29. package/dist/client/assets/{SearchMd-7_DsxZht.js → SearchMd-DCAvw-zt.js} +1 -1
  30. package/dist/client/assets/{Share07-Cnrwf8Jg.js → Share07-DWSOuaTc.js} +1 -1
  31. package/dist/client/assets/{Terminal-DyHs8Rf6.js → Terminal-CZfhkitA.js} +1 -1
  32. package/dist/client/assets/Tool01-DJkWVCxw.js +1 -0
  33. package/dist/client/assets/{Trash01-DlcrlG40.js → Trash01-BmWnYoTo.js} +1 -1
  34. package/dist/client/assets/{Upload01-CEsNtyVM.js → Upload01-Dc0X9F2g.js} +1 -1
  35. package/dist/client/assets/{Users03-b0Q6Esat.js → Users03-C-YPAI9c.js} +1 -1
  36. package/dist/client/assets/{X-BDbowDxs.js → X-BHekJF0G.js} +1 -1
  37. package/dist/client/assets/{XClose-BU7t8GBR.js → XClose-CDs3a-Ob.js} +1 -1
  38. package/dist/client/assets/agent-detail-4k8w16fq.js +1 -0
  39. package/dist/client/assets/{agents-dsz6OFgr.js → agents-6fUxAEpD.js} +1 -1
  40. package/dist/client/assets/{alert-dialog-DvH3np1K.js → alert-dialog-DMTRbHIN.js} +2 -2
  41. package/dist/client/assets/{auth-catchall-RZI2QIfW.js → auth-catchall-DrRrFKQk.js} +1 -1
  42. package/dist/client/assets/{avatar-DLsqU89S.js → avatar-5yweOYlX.js} +1 -1
  43. package/dist/client/assets/badge-B_zXl-jd.js +1 -0
  44. package/dist/client/assets/{binder-DhS3ZsVD.js → binder-DNt-QaD5.js} +1 -1
  45. package/dist/client/assets/breadcrumb-DYbYAORz.js +1 -0
  46. package/dist/client/assets/button-ZOo4pjl-.js +1 -0
  47. package/dist/client/assets/{card-D919Ye14.js → card-DhGWuaMP.js} +1 -1
  48. package/dist/client/assets/{checkbox-dmut6tGA.js → checkbox-CQBacaBF.js} +1 -1
  49. package/dist/client/assets/{circle-alert-O76dHf-6.js → circle-alert-BQ9TG01K.js} +1 -1
  50. package/dist/client/assets/{collapsible-CZO59QRP.js → collapsible-0t7QAPTM.js} +1 -1
  51. package/dist/client/assets/collection-detail-DFhGpw2f.js +26 -0
  52. package/dist/client/assets/{collection-search-imk5y1tl.js → collection-search-19Uoq0wQ.js} +1 -1
  53. package/dist/client/assets/{collection-tab-CqQprMKz.js → collection-tab-CogQiK5y.js} +1 -1
  54. package/dist/client/assets/{collection-table-wrapper-C7PJGoEH.js → collection-table-wrapper-BepAjo7t.js} +1 -1
  55. package/dist/client/assets/{connect-pBMimCL2.js → connect-D53lRIS2.js} +1 -1
  56. package/dist/client/assets/{connection-card-D2X3Om4T.js → connection-card-D1HxijTE.js} +1 -1
  57. package/dist/client/assets/{connection-detail-By8rfkHM.js → connection-detail-C3WTnyuO.js} +1 -1
  58. package/dist/client/assets/{connections-Da_gf-d4.js → connections-B0UpBHBH.js} +1 -1
  59. package/dist/client/assets/{constants-BZCTYQ-m.js → constants-CgYg5TtN.js} +1 -1
  60. package/dist/client/assets/constants-j8UyVq9f.js +1 -0
  61. package/dist/client/assets/{create-organization-dialog-Cwl_Gkel.js → create-organization-dialog-DEacdY5C.js} +1 -1
  62. package/dist/client/assets/dialog-C8W_SUym.js +1 -0
  63. package/dist/client/assets/dropdown-menu-v13S1hcn.js +1 -0
  64. package/dist/client/assets/{dynamic-plugin-layout-DSctkXDf.js → dynamic-plugin-layout-B-0mr5zD.js} +1 -1
  65. package/dist/client/assets/empty-state-BcO1Ypur.js +1 -0
  66. package/dist/client/assets/{empty-state-uG-DnAQb.js → empty-state-FX9PTasG.js} +1 -1
  67. package/dist/client/assets/{env-vars-editor-ChPRpV0a.js → env-vars-editor-BDdZakcM.js} +1 -1
  68. package/dist/client/assets/{error-boundary-BNlY9vIT.js → error-boundary-m114tUpJ.js} +1 -1
  69. package/dist/client/assets/{extract-connection-data-Bjn7AN9v.js → extract-connection-data-DyggfQBs.js} +1 -1
  70. package/dist/client/assets/{file-browser-FSoZTHG-.js → file-browser-D-KlovGy.js} +2 -2
  71. package/dist/client/assets/form-r49NhVFy.js +1 -0
  72. package/dist/client/assets/{grid-view-DRczCiEv.js → grid-view-DxmE20Kf.js} +1 -1
  73. package/dist/client/assets/{home-DuoTXUw3.js → home-nCCmJCuu.js} +1 -1
  74. package/dist/client/assets/{index-By5YaRHP.js → index-BbS1IcRL.js} +1 -1
  75. package/dist/client/assets/{index-bZDjEZjy.js → index-Bs29EeVO.js} +2 -2
  76. package/dist/client/assets/{index-DQEC9k6R.js → index-C4EJpxzW.js} +1 -1
  77. package/dist/client/assets/{index-Bk3VGbpH.js → index-D4SxGvpq.js} +1 -1
  78. package/dist/client/assets/{index-B8-fuOjQ.js → index-DxOSzDZh.js} +1 -1
  79. package/dist/client/assets/index-psOxwHJD.js +1 -0
  80. package/dist/client/assets/index-ytnZ687L.js +25 -0
  81. package/dist/client/assets/{infiniteQueryObserver-R-jPe69x.js → infiniteQueryObserver-HNFv_Ra4.js} +1 -1
  82. package/dist/client/assets/{input-Db3X6HvF.js → input-C4GtYEoZ.js} +1 -1
  83. package/dist/client/assets/{layout-oEMg2tAu.js → layout-DIZIdVHa.js} +1 -1
  84. package/dist/client/assets/{localstorage-keys-Bdti-2mC.js → localstorage-keys-Bm36wvj7.js} +1 -1
  85. package/dist/client/assets/{login-CGsneu9K.js → login-94e59ej-.js} +1 -1
  86. package/dist/client/assets/{mcp-oauth-BmPwjDVD.js → mcp-oauth-Dr83fUMz.js} +1 -1
  87. package/dist/client/assets/{mcp-server-card-BcwB38uI.js → mcp-server-card-D3NweLAu.js} +1 -1
  88. package/dist/client/assets/{mcp-server-detail-ScZZDM2u.js → mcp-server-detail-5y7XANLb.js} +2 -2
  89. package/dist/client/assets/{members-DrIeM1RI.js → members-DP1aRHjX.js} +1 -1
  90. package/dist/client/assets/{monaco-editor-B37z8w3N.js → monaco-editor-Bb429dTQ.js} +1 -1
  91. package/dist/client/assets/{monitoring-IotTEObQ.js → monitoring-E-kPGB57.js} +1 -1
  92. package/dist/client/assets/{oauth-callback-CtpbBZ0j.js → oauth-callback-jLJ-n7ws.js} +1 -1
  93. package/dist/client/assets/{page-Bm0zH9kR.js → page-BDCV1_H1.js} +1 -1
  94. package/dist/client/assets/{page-BFuI9gLJ.js → page-BbamCL5c.js} +1 -1
  95. package/dist/client/assets/{pin-to-sidebar-button-Dz_XGqkX.js → pin-to-sidebar-button-1GCs6x8a.js} +1 -1
  96. package/dist/client/assets/{plugin-empty-state-ByGsbM_q.js → plugin-empty-state-iwSrZL3O.js} +1 -1
  97. package/dist/client/assets/{plugin-header-C_aZs0N6.js → plugin-header-Bp4Gwa8J.js} +1 -1
  98. package/dist/client/assets/{plugins-C4o2Tg3p.js → plugins-CDmts_jJ.js} +1 -1
  99. package/dist/client/assets/popover-CUkUY7Kj.js +1 -0
  100. package/dist/client/assets/{registry-utils-pqvn-SQ9.js → registry-utils-Do3XnHa6.js} +1 -1
  101. package/dist/client/assets/{resizable-Ds3XfyD1.js → resizable-CI_df1fw.js} +1 -1
  102. package/dist/client/assets/{resource-tabs-Ckk3ov-s.js → resource-tabs-D2NgBxYW.js} +1 -1
  103. package/dist/client/assets/select-DqXwJZyT.js +1 -0
  104. package/dist/client/assets/{settings-RIVj-SMS.js → settings-CK6KB251.js} +1 -1
  105. package/dist/client/assets/{shell-layout-D5XFL0IE.js → shell-layout-CVRKso4S.js} +1 -1
  106. package/dist/client/assets/{spinner-Ch036S5x.js → spinner-_C_bSKie.js} +1 -1
  107. package/dist/client/assets/{store-invite-88nPipDW.js → store-invite-CJSOrtY9.js} +1 -1
  108. package/dist/client/assets/switch-Cd91eyGn.js +1 -0
  109. package/dist/client/assets/{table-fsTaEaaU.js → table-BpYYfeqL.js} +1 -1
  110. package/dist/client/assets/{textarea-CJUn3-Wq.js → textarea-CvbGXUX_.js} +1 -1
  111. package/dist/client/assets/{tools-list-D62d9csj.js → tools-list-BJ4Nz1PD.js} +1 -1
  112. package/dist/client/assets/typewriter-title-BmfXfQ4Z.js +16 -0
  113. package/dist/client/assets/use-binding-GlE21mVe.js +23 -0
  114. package/dist/client/assets/{use-collections-C8m0cpJK.js → use-collections-BNOLiMAP.js} +1 -1
  115. package/dist/client/assets/{use-connection-BsXZoJuC.js → use-connection-_63RHsQC.js} +1 -1
  116. package/dist/client/assets/{use-create-virtual-mcp-C-dJH0KT.js → use-create-virtual-mcp-D0aLBOrN.js} +1 -1
  117. package/dist/client/assets/{use-deco-chat-open-DaZlP6gy.js → use-deco-chat-open-CV4KNODR.js} +1 -1
  118. package/dist/client/assets/{use-list-state-BR0DnP45.js → use-list-state-C35WGVlD.js} +1 -1
  119. package/dist/client/assets/{use-mcp-prompts-CauCdNEE.js → use-mcp-prompts-Cs-0fn1r.js} +1 -1
  120. package/dist/client/assets/{use-members-C9xyUK_j.js → use-members-k6Mq8L05.js} +1 -1
  121. package/dist/client/assets/{use-mobile-BJaPqgO-.js → use-mobile-viw7itqe.js} +1 -1
  122. package/dist/client/assets/{use-organization-settings-C7v8TF4x.js → use-organization-settings-DmHiyg1G.js} +1 -1
  123. package/dist/client/assets/{use-virtual-mcp-Mo0Ax2sa.js → use-virtual-mcp-d_sGPR5Q.js} +1 -1
  124. package/dist/client/assets/useInfiniteQuery-3B7DIQNV.js +1 -0
  125. package/dist/client/assets/{useMutation-BUU-3CfS.js → useMutation-DpUHdLIR.js} +1 -1
  126. package/dist/client/assets/useQuery-By0-zS-_.js +1 -0
  127. package/dist/client/assets/useSuspenseInfiniteQuery-CNdbzDY7.js +1 -0
  128. package/dist/client/assets/{view-mode-toggle-BuBlE9kN.js → view-mode-toggle-D5fN84Hq.js} +1 -1
  129. package/dist/client/assets/{workflow-BHUnmDkZ.js → workflow-FDu9kVkd.js} +1 -1
  130. package/dist/client/index.html +1 -1
  131. package/package.json +1 -1
  132. package/dist/client/assets/Tool01-BI-I3hYP.js +0 -1
  133. package/dist/client/assets/agent-detail-CMBzFEVK.js +0 -1
  134. package/dist/client/assets/badge-D0aebo3b.js +0 -1
  135. package/dist/client/assets/breadcrumb-DYzoaO6c.js +0 -1
  136. package/dist/client/assets/button-ClfTbYRX.js +0 -1
  137. package/dist/client/assets/collection-detail-DfuPZ-Eh.js +0 -26
  138. package/dist/client/assets/constants-ClcoOK3l.js +0 -1
  139. package/dist/client/assets/dialog-Btg4sCez.js +0 -1
  140. package/dist/client/assets/dropdown-menu-DN1Ltf10.js +0 -1
  141. package/dist/client/assets/empty-state-DYXlKoSr.js +0 -1
  142. package/dist/client/assets/form-CYYoaqIb.js +0 -1
  143. package/dist/client/assets/index-B8Y83hFI.js +0 -1
  144. package/dist/client/assets/index-Bb-7JPLn.js +0 -25
  145. package/dist/client/assets/popover-CjjV7g4X.js +0 -1
  146. package/dist/client/assets/select-DdPku9Z8.js +0 -1
  147. package/dist/client/assets/switch-D4uenvWn.js +0 -1
  148. package/dist/client/assets/typewriter-title-BY44IAZn.js +0 -16
  149. package/dist/client/assets/use-binding-a8EbFjQ8.js +0 -23
  150. package/dist/client/assets/useInfiniteQuery-DAahyMrR.js +0 -1
  151. package/dist/client/assets/useQuery-CziyW3rA.js +0 -1
  152. package/dist/client/assets/useSuspenseInfiniteQuery-D9t8xGlB.js +0 -1
@@ -1 +1 @@
1
- import{r as k,c as T,j as t}from"./index-bZDjEZjy.js";import{c as y,B as L}from"./button-ClfTbYRX.js";import{c as E,a as V,D as B,b as $}from"./dropdown-menu-DN1Ltf10.js";import{i as D}from"./ArrowUp-D5u5S04m.js";import{i as R}from"./Check-DCDAnqOU.js";import{c as H}from"./Grid01-hfoOS4OQ.js";import{i as W}from"./List-Byzk8GIH.js";import{b as I,c as K,T as _,a as A}from"./empty-state-DYXlKoSr.js";import{V as O}from"./view-mode-toggle-BuBlE9kN.js";import{T as P,a as q,b as z,c as F,d as G,e as J}from"./table-fsTaEaaU.js";const S=({size:p=24,color:e="currentColor",...s})=>k.createElement("svg",{viewBox:"0 0 24 24",width:p,height:p,stroke:e,strokeWidth:"2",fill:"none",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...s},k.createElement("path",{d:"M12 5v14m0 0 7-7m-7 7-7-7"}));S.displayName="ArrowDown";const M=({size:p=24,color:e="currentColor",...s})=>k.createElement("svg",{viewBox:"0 0 24 24",width:p,height:p,stroke:e,strokeWidth:"2",fill:"none",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...s},k.createElement("path",{d:"M5 21v-7m0-4V3m7 18v-9m0-4V3m7 18v-5m0-4V3M2 14h6m1-6h6m1 8h6"}));M.displayName="Sliders01";function ie(p){const e=T.c(16),{viewMode:s,onViewModeChange:x,sortKey:u,sortDirection:d,onSort:a,sortOptions:i}=p;let l;e[0]!==i?(l=i===void 0?[]:i,e[0]=i,e[1]=l):l=e[1];const m=l;let h;e[2]===Symbol.for("react.memo_cache_sentinel")?(h=t.jsx(I,{children:t.jsxs(K,{children:[t.jsx(_,{asChild:!0,children:t.jsx(V,{asChild:!0,children:t.jsx(L,{variant:"outline",size:"icon",className:"size-7 border border-input",children:t.jsx(M,{size:16})})})}),t.jsx(A,{children:"Search filters"})]})}),e[2]=h):h=e[2];let c;e[3]===Symbol.for("react.memo_cache_sentinel")?(c={value:"table",icon:t.jsx(W,{})},e[3]=c):c=e[3];let r;e[4]===Symbol.for("react.memo_cache_sentinel")?(r=[c,{value:"cards",icon:t.jsx(H,{})}],e[4]=r):r=e[4];let o;e[5]!==x||e[6]!==s?(o=t.jsx("div",{className:"p-2 border-b border-border",children:t.jsx(O,{value:s,onValueChange:x,fullWidth:!0,options:r})}),e[5]=x,e[6]=s,e[7]=o):o=e[7];let f;e[8]!==a||e[9]!==d||e[10]!==u||e[11]!==m?(f=m.length>0&&a&&t.jsxs("div",{className:"p-1 flex flex-col gap-0.5",children:[t.jsx("div",{className:"px-2 py-1.5 text-xs font-mono font-normal text-muted-foreground uppercase tracking-wide",children:"Sort by"}),m.map(j=>{const w=u===j.id;return t.jsx(E,{onClick:()=>a(j.id),className:y("h-8 px-2 py-0 cursor-pointer",w&&"bg-accent"),children:t.jsxs("div",{className:"flex items-center gap-2 w-full",children:[w&&t.jsx(R,{size:16,className:"text-foreground shrink-0"}),!w&&t.jsx("div",{className:"w-4 shrink-0"}),t.jsx("span",{className:"text-sm text-foreground flex-1",children:j.label}),w&&d&&(d==="asc"?t.jsx(D,{size:16,className:"text-foreground shrink-0"}):t.jsx(S,{size:16,className:"text-foreground shrink-0"}))]})},j.id)})]}),e[8]=a,e[9]=d,e[10]=u,e[11]=m,e[12]=f):f=e[12];let g;return e[13]!==o||e[14]!==f?(g=t.jsxs(B,{children:[h,t.jsxs($,{align:"end",className:"w-[200px] p-0 gap-0",children:[o,f]})]}),e[13]=o,e[14]=f,e[15]=g):g=e[15],g}function Q(p){const e=T.c(29),{columns:s,data:x,sortKey:u,sortDirection:d,onSort:a,onRowClick:i,rowClassName:l}=p;let m;e[0]!==d?(m=function(n,N){return t.jsx("div",{className:"w-4 flex items-center justify-center",children:N&&d&&(d==="asc"?t.jsx(D,{size:16,className:"text-muted-foreground transition-colors"}):t.jsx(S,{size:16,className:"text-muted-foreground transition-colors"}))})},e[0]=d,e[1]=m):m=e[1];const h=m;let c;e[2]===Symbol.for("react.memo_cache_sentinel")?(c=function(n,N){let C="px-4 py-2 text-left font-mono font-normal text-muted-foreground text-xs h-9 uppercase tracking-wider";return n===N-1&&(C="px-4 py-2 text-left font-mono font-normal text-muted-foreground text-xs h-9 uppercase tracking-wider w-8"),C},e[2]=c):c=e[2];const r=c;let o;if(e[3]!==s||e[4]!==a||e[5]!==h||e[6]!==u){let b;e[8]!==s.length||e[9]!==a||e[10]!==h||e[11]!==u?(b=(n,N)=>{const C=u===n.id;return t.jsx(P,{className:y(r(N,s.length),"group transition-colors select-none",n.sortable&&"hover:bg-accent cursor-pointer",n.rowClassName,n.cellClassName),onClick:n.sortable&&a?()=>a(n.id):void 0,children:t.jsxs("span",{className:"flex items-center gap-1",children:[n.header,n.sortable&&h(n.id,C)]})},n.id)},e[8]=s.length,e[9]=a,e[10]=h,e[11]=u,e[12]=b):b=e[12],o=s.map(b),e[3]=s,e[4]=a,e[5]=h,e[6]=u,e[7]=o}else o=e[7];let f;e[13]!==o?(f=t.jsx(q,{className:"border-b-0",children:t.jsx(z,{className:"h-9 hover:bg-transparent border-b border-border",children:o})}),e[13]=o,e[14]=f):f=e[14];let g;if(e[15]!==s||e[16]!==x||e[17]!==i||e[18]!==l){let b;e[20]!==s||e[21]!==i||e[22]!==l?(b=(n,N)=>{const C=l?.(n);return t.jsx(z,{"data-row-index":N,className:y("group/data-row transition-colors border-b-0 hover:bg-accent/50",i?"cursor-pointer":"",C),onClick:i?()=>i(n):void 0,children:s.map(v=>t.jsx(F,{className:y("px-5 py-4 h-16 align-middle text-sm text-foreground",v.cellClassName,v.wrap?"whitespace-normal wrap-break-word":""),children:t.jsx("div",{className:y(v.wrap?"w-full":"min-w-0 w-full",!v.wrap&&"truncate overflow-hidden whitespace-nowrap"),children:v.render?v.render(n):v.accessor?v.accessor(n):null})},v.id))},N)},e[20]=s,e[21]=i,e[22]=l,e[23]=b):b=e[23],g=x.map(b),e[15]=s,e[16]=x,e[17]=i,e[18]=l,e[19]=g}else g=e[19];let j;e[24]!==g?(j=t.jsx(G,{children:g}),e[24]=g,e[25]=j):j=e[25];let w;return e[26]!==f||e[27]!==j?(w=t.jsxs(J,{className:"w-full border-collapse",children:[f,j]}),e[26]=f,e[27]=j,e[28]=w):w=e[28],w}function ae(p){const e=T.c(12),{columns:s,data:x,isLoading:u,sortKey:d,sortDirection:a,onSort:i,onRowClick:l,emptyState:m}=p;if(u===void 0?!1:u){let r;return e[0]===Symbol.for("react.memo_cache_sentinel")?(r=t.jsx("div",{className:"flex items-center justify-center h-full",children:t.jsx("div",{className:"text-muted-foreground",children:"Loading..."})}),e[0]=r):r=e[0],r}if(x.length===0){let r;e[1]!==m?(r=m||t.jsx("div",{className:"text-center py-12 text-muted-foreground",children:"No items found"}),e[1]=m,e[2]=r):r=e[2];let o;return e[3]!==r?(o=t.jsx("div",{className:"flex items-center justify-center h-full",children:r}),e[3]=r,e[4]=o):o=e[4],o}let c;return e[5]!==s||e[6]!==x||e[7]!==l||e[8]!==i||e[9]!==a||e[10]!==d?(c=t.jsx("div",{className:"flex-1 overflow-auto",children:t.jsx(Q,{columns:s,data:x,sortKey:d,sortDirection:a,onSort:i,onRowClick:l})}),e[5]=s,e[6]=x,e[7]=l,e[8]=i,e[9]=a,e[10]=d,e[11]=c):c=e[11],c}export{ie as C,ae as a};
1
+ import{r as k,c as T,j as t}from"./index-Bs29EeVO.js";import{c as y,B as L}from"./button-ZOo4pjl-.js";import{c as E,a as V,D as B,b as $}from"./dropdown-menu-v13S1hcn.js";import{i as D}from"./ArrowUp-CsjFvEVu.js";import{i as R}from"./Check-BQfWrOsa.js";import{c as H}from"./Grid01-IhRcMWbZ.js";import{i as W}from"./List-BaGrtyGA.js";import{b as I,c as K,T as _,a as A}from"./empty-state-BcO1Ypur.js";import{V as O}from"./view-mode-toggle-D5fN84Hq.js";import{T as P,a as q,b as z,c as F,d as G,e as J}from"./table-BpYYfeqL.js";const S=({size:p=24,color:e="currentColor",...s})=>k.createElement("svg",{viewBox:"0 0 24 24",width:p,height:p,stroke:e,strokeWidth:"2",fill:"none",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...s},k.createElement("path",{d:"M12 5v14m0 0 7-7m-7 7-7-7"}));S.displayName="ArrowDown";const M=({size:p=24,color:e="currentColor",...s})=>k.createElement("svg",{viewBox:"0 0 24 24",width:p,height:p,stroke:e,strokeWidth:"2",fill:"none",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...s},k.createElement("path",{d:"M5 21v-7m0-4V3m7 18v-9m0-4V3m7 18v-5m0-4V3M2 14h6m1-6h6m1 8h6"}));M.displayName="Sliders01";function ie(p){const e=T.c(16),{viewMode:s,onViewModeChange:x,sortKey:u,sortDirection:d,onSort:a,sortOptions:i}=p;let l;e[0]!==i?(l=i===void 0?[]:i,e[0]=i,e[1]=l):l=e[1];const m=l;let h;e[2]===Symbol.for("react.memo_cache_sentinel")?(h=t.jsx(I,{children:t.jsxs(K,{children:[t.jsx(_,{asChild:!0,children:t.jsx(V,{asChild:!0,children:t.jsx(L,{variant:"outline",size:"icon",className:"size-7 border border-input",children:t.jsx(M,{size:16})})})}),t.jsx(A,{children:"Search filters"})]})}),e[2]=h):h=e[2];let c;e[3]===Symbol.for("react.memo_cache_sentinel")?(c={value:"table",icon:t.jsx(W,{})},e[3]=c):c=e[3];let r;e[4]===Symbol.for("react.memo_cache_sentinel")?(r=[c,{value:"cards",icon:t.jsx(H,{})}],e[4]=r):r=e[4];let o;e[5]!==x||e[6]!==s?(o=t.jsx("div",{className:"p-2 border-b border-border",children:t.jsx(O,{value:s,onValueChange:x,fullWidth:!0,options:r})}),e[5]=x,e[6]=s,e[7]=o):o=e[7];let f;e[8]!==a||e[9]!==d||e[10]!==u||e[11]!==m?(f=m.length>0&&a&&t.jsxs("div",{className:"p-1 flex flex-col gap-0.5",children:[t.jsx("div",{className:"px-2 py-1.5 text-xs font-mono font-normal text-muted-foreground uppercase tracking-wide",children:"Sort by"}),m.map(j=>{const w=u===j.id;return t.jsx(E,{onClick:()=>a(j.id),className:y("h-8 px-2 py-0 cursor-pointer",w&&"bg-accent"),children:t.jsxs("div",{className:"flex items-center gap-2 w-full",children:[w&&t.jsx(R,{size:16,className:"text-foreground shrink-0"}),!w&&t.jsx("div",{className:"w-4 shrink-0"}),t.jsx("span",{className:"text-sm text-foreground flex-1",children:j.label}),w&&d&&(d==="asc"?t.jsx(D,{size:16,className:"text-foreground shrink-0"}):t.jsx(S,{size:16,className:"text-foreground shrink-0"}))]})},j.id)})]}),e[8]=a,e[9]=d,e[10]=u,e[11]=m,e[12]=f):f=e[12];let g;return e[13]!==o||e[14]!==f?(g=t.jsxs(B,{children:[h,t.jsxs($,{align:"end",className:"w-[200px] p-0 gap-0",children:[o,f]})]}),e[13]=o,e[14]=f,e[15]=g):g=e[15],g}function Q(p){const e=T.c(29),{columns:s,data:x,sortKey:u,sortDirection:d,onSort:a,onRowClick:i,rowClassName:l}=p;let m;e[0]!==d?(m=function(n,N){return t.jsx("div",{className:"w-4 flex items-center justify-center",children:N&&d&&(d==="asc"?t.jsx(D,{size:16,className:"text-muted-foreground transition-colors"}):t.jsx(S,{size:16,className:"text-muted-foreground transition-colors"}))})},e[0]=d,e[1]=m):m=e[1];const h=m;let c;e[2]===Symbol.for("react.memo_cache_sentinel")?(c=function(n,N){let C="px-4 py-2 text-left font-mono font-normal text-muted-foreground text-xs h-9 uppercase tracking-wider";return n===N-1&&(C="px-4 py-2 text-left font-mono font-normal text-muted-foreground text-xs h-9 uppercase tracking-wider w-8"),C},e[2]=c):c=e[2];const r=c;let o;if(e[3]!==s||e[4]!==a||e[5]!==h||e[6]!==u){let b;e[8]!==s.length||e[9]!==a||e[10]!==h||e[11]!==u?(b=(n,N)=>{const C=u===n.id;return t.jsx(P,{className:y(r(N,s.length),"group transition-colors select-none",n.sortable&&"hover:bg-accent cursor-pointer",n.rowClassName,n.cellClassName),onClick:n.sortable&&a?()=>a(n.id):void 0,children:t.jsxs("span",{className:"flex items-center gap-1",children:[n.header,n.sortable&&h(n.id,C)]})},n.id)},e[8]=s.length,e[9]=a,e[10]=h,e[11]=u,e[12]=b):b=e[12],o=s.map(b),e[3]=s,e[4]=a,e[5]=h,e[6]=u,e[7]=o}else o=e[7];let f;e[13]!==o?(f=t.jsx(q,{className:"border-b-0",children:t.jsx(z,{className:"h-9 hover:bg-transparent border-b border-border",children:o})}),e[13]=o,e[14]=f):f=e[14];let g;if(e[15]!==s||e[16]!==x||e[17]!==i||e[18]!==l){let b;e[20]!==s||e[21]!==i||e[22]!==l?(b=(n,N)=>{const C=l?.(n);return t.jsx(z,{"data-row-index":N,className:y("group/data-row transition-colors border-b-0 hover:bg-accent/50",i?"cursor-pointer":"",C),onClick:i?()=>i(n):void 0,children:s.map(v=>t.jsx(F,{className:y("px-5 py-4 h-16 align-middle text-sm text-foreground",v.cellClassName,v.wrap?"whitespace-normal wrap-break-word":""),children:t.jsx("div",{className:y(v.wrap?"w-full":"min-w-0 w-full",!v.wrap&&"truncate overflow-hidden whitespace-nowrap"),children:v.render?v.render(n):v.accessor?v.accessor(n):null})},v.id))},N)},e[20]=s,e[21]=i,e[22]=l,e[23]=b):b=e[23],g=x.map(b),e[15]=s,e[16]=x,e[17]=i,e[18]=l,e[19]=g}else g=e[19];let j;e[24]!==g?(j=t.jsx(G,{children:g}),e[24]=g,e[25]=j):j=e[25];let w;return e[26]!==f||e[27]!==j?(w=t.jsxs(J,{className:"w-full border-collapse",children:[f,j]}),e[26]=f,e[27]=j,e[28]=w):w=e[28],w}function ae(p){const e=T.c(12),{columns:s,data:x,isLoading:u,sortKey:d,sortDirection:a,onSort:i,onRowClick:l,emptyState:m}=p;if(u===void 0?!1:u){let r;return e[0]===Symbol.for("react.memo_cache_sentinel")?(r=t.jsx("div",{className:"flex items-center justify-center h-full",children:t.jsx("div",{className:"text-muted-foreground",children:"Loading..."})}),e[0]=r):r=e[0],r}if(x.length===0){let r;e[1]!==m?(r=m||t.jsx("div",{className:"text-center py-12 text-muted-foreground",children:"No items found"}),e[1]=m,e[2]=r):r=e[2];let o;return e[3]!==r?(o=t.jsx("div",{className:"flex items-center justify-center h-full",children:r}),e[3]=r,e[4]=o):o=e[4],o}let c;return e[5]!==s||e[6]!==x||e[7]!==l||e[8]!==i||e[9]!==a||e[10]!==d?(c=t.jsx("div",{className:"flex-1 overflow-auto",children:t.jsx(Q,{columns:s,data:x,sortKey:d,sortDirection:a,onSort:i,onRowClick:l})}),e[5]=s,e[6]=x,e[7]=l,e[8]=i,e[9]=a,e[10]=d,e[11]=c):c=e[11],c}export{ie as C,ae as a};
@@ -1 +1 @@
1
- import{c as T,bn as M,j as e,bo as P,af as q,r as R,v as h,a as O}from"./index-bZDjEZjy.js";import{u as A}from"./useQuery-CziyW3rA.js";import{u as _}from"./useMutation-BUU-3CfS.js";import{B as y}from"./button-ClfTbYRX.js";import{C as N,a as v}from"./card-D919Ye14.js";import{i as L,a as U}from"./mcp-oauth-BmPwjDVD.js";import{c as C,C as K,a as k}from"./circle-alert-O76dHf-6.js";const Q=[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]],D=C("external-link",Q);const H=[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]],w=C("loader-circle",H);const J=[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]],B=C("refresh-cw",J),Y=t=>{const n=T.c(6);let i;n[0]!==t?({...i}=t,n[0]=t,n[1]=i):i=n[1];const{theme:a}=M(),d=a===void 0?"system":a;let r;n[2]===Symbol.for("react.memo_cache_sentinel")?(r={"--normal-bg":"var(--popover)","--normal-text":"var(--popover-foreground)","--normal-border":"var(--border)"},n[2]=r):r=n[2];let m;return n[3]!==i||n[4]!==d?(m=e.jsx(P,{theme:d,className:"toaster group",style:r,...i}),n[3]=i,n[4]=d,n[5]=m):m=n[5],m},b={session:t=>["user-sandbox-session",t]};function V({sessionId:t,onComplete:n,onError:i}){const a=q(),[p,d]=R.useState(null),{data:r,isLoading:m,error:j}=A({queryKey:b.session(t),queryFn:async()=>{const s=await fetch(`/api/user-sandbox/sessions/${t}`);if(!s.ok){const o=await s.json();throw new Error(o.error||"Failed to load session")}return s.json()}}),F=_({mutationFn:async({appName:s,connectionId:o})=>{const l=await fetch(`/api/user-sandbox/sessions/${t}/configure`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({app_name:s,connection_id:o})});if(!l.ok){const u=await l.json();throw new Error(u.error||"Configuration failed")}return l.json()},onSuccess:()=>{a.invalidateQueries({queryKey:b.session(t)})}}),x=_({mutationFn:async()=>{const s=await fetch(`/api/user-sandbox/sessions/${t}/complete`,{method:"POST",headers:{"Content-Type":"application/json"}});if(!s.ok){const o=await s.json();throw new Error(o.error||"Failed to complete")}return s.json()},onSuccess:s=>{s.redirectUrl?window.location.href=s.redirectUrl:(h.success("Setup complete!"),a.invalidateQueries({queryKey:b.session(t)}),n?.({agentId:s.agentId,redirectUrl:s.redirectUrl}))},onError:s=>{const o=s instanceof Error?s:new Error("Failed to complete");h.error(o.message),i?.(o)}}),S=async s=>{d(s.app_name);try{const o=await fetch(`/api/user-sandbox/sessions/${t}/provision`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({app_name:s.app_name})});if(!o.ok){const g=await o.json();throw new Error(g.error||"Failed to provision connection")}const u=(await o.json()).connection_id;if(s.connection_type==="HTTP"||s.connection_type==="SSE"||s.connection_type==="Websocket"){const g=`/mcp/${u}`,z=await L({url:g,token:null});if(!z.isAuthenticated&&z.supportsOAuth){h.info("Opening authentication window...");const c=await U({connectionId:u,clientName:s.title,timeout:3e5});if(c.error)throw new Error(c.error);if(c.tokenInfo){const E=await fetch(`/api/connections/${u}/oauth-token`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({accessToken:c.tokenInfo.accessToken,refreshToken:c.tokenInfo.refreshToken,expiresIn:c.tokenInfo.expiresIn,scope:c.tokenInfo.scope,clientId:c.tokenInfo.clientId,clientSecret:c.tokenInfo.clientSecret,tokenEndpoint:c.tokenInfo.tokenEndpoint})});if(!E.ok){const $=await E.json().catch(()=>({}));throw new Error($.error||"Failed to save authentication tokens. Please try again.")}}}}await F.mutateAsync({appName:s.app_name,connectionId:u}),h.success(`${s.title} connected successfully`)}catch(o){console.error("Connection error:",o);const l=o instanceof Error?o:new Error("Failed to connect");h.error(l.message),i?.(l)}finally{d(null)}},I=r?.apps.every(s=>s.status.configured),f=r?.session.status==="completed";return m?e.jsx("div",{className:"min-h-screen bg-background flex items-center justify-center",children:e.jsx(w,{className:"size-8 animate-spin text-muted-foreground"})}):j?e.jsx("div",{className:"min-h-screen bg-background flex items-center justify-center p-4",children:e.jsx(N,{className:"max-w-md w-full",children:e.jsx(v,{className:"pt-6",children:e.jsxs("div",{className:"flex flex-col items-center gap-4 text-center",children:[e.jsx("div",{className:"size-12 rounded-full bg-destructive/10 flex items-center justify-center",children:e.jsx(K,{className:"size-6 text-destructive"})}),e.jsxs("div",{children:[e.jsx("h2",{className:"text-lg font-semibold",children:"Session Error"}),e.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:j instanceof Error?j.message:"Failed to load"})]})]})})})}):r?e.jsxs("div",{className:"min-h-screen bg-background",children:[e.jsx(Y,{}),e.jsxs("div",{className:"max-w-lg mx-auto px-4 py-12",children:[e.jsxs("div",{className:"text-center mb-8",children:[r.template.icon&&e.jsx("div",{className:"size-16 mx-auto mb-4 rounded-xl bg-muted flex items-center justify-center overflow-hidden",children:e.jsx("img",{src:r.template.icon,alt:"",className:"size-10 object-contain"})}),e.jsx("h1",{className:"text-2xl font-semibold tracking-tight",children:r.template.title}),r.template.description&&e.jsx("p",{className:"text-muted-foreground mt-2",children:r.template.description})]}),f&&e.jsx(N,{className:"mb-6 border-green-500/20 bg-green-500/5",children:e.jsx(v,{className:"pt-6",children:e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"size-10 rounded-full bg-green-500/10 flex items-center justify-center",children:e.jsx(k,{className:"size-5 text-green-500"})}),e.jsxs("div",{children:[e.jsx("p",{className:"font-medium",children:"Setup Complete"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Your integrations are ready to use."})]})]})})}),e.jsx("div",{className:"space-y-3",children:r.apps.map(s=>e.jsx(N,{children:e.jsx(v,{className:"py-4",children:e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsx("div",{className:"size-10 rounded-lg bg-muted flex items-center justify-center shrink-0 overflow-hidden",children:s.icon?e.jsx("img",{src:s.icon,alt:"",className:"size-6 object-contain"}):e.jsx("span",{className:"text-lg",children:"📦"})}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("p",{className:"font-medium truncate",children:s.title}),e.jsx("p",{className:"text-sm text-muted-foreground",children:s.status.configured?e.jsxs("span",{className:"text-green-600 dark:text-green-400 flex items-center gap-1",children:[e.jsx(k,{className:"size-3"})," Connected"]}):s.requires_oauth?"Requires authentication":"Ready to connect"})]}),!s.status.configured&&!f&&e.jsx(y,{size:"sm",onClick:()=>S(s),disabled:p!==null||x.isPending,children:p===s.app_name?e.jsxs(e.Fragment,{children:[e.jsx(w,{className:"size-4 mr-2 animate-spin"}),"Connecting..."]}):e.jsxs(e.Fragment,{children:[e.jsx(D,{className:"size-4 mr-2"}),"Connect"]})}),s.status.configured&&!f&&e.jsxs(y,{size:"sm",variant:"outline",onClick:()=>S(s),disabled:p!==null||x.isPending,children:[e.jsx(B,{className:"size-4 mr-2"}),"Reconnect"]}),f&&e.jsx("div",{className:"size-8 rounded-full bg-green-500/10 flex items-center justify-center",children:e.jsx(k,{className:"size-4 text-green-500"})})]})})},s.app_name))}),I&&!f&&e.jsx("div",{className:"mt-6",children:e.jsx(y,{className:"w-full",size:"lg",onClick:()=>x.mutate(),disabled:x.isPending,children:x.isPending?e.jsxs(e.Fragment,{children:[e.jsx(w,{className:"size-4 mr-2 animate-spin"}),"Completing..."]}):"Complete Setup"})}),e.jsx("div",{className:"mt-8 pt-6 border-t text-center",children:e.jsxs("p",{className:"text-xs text-muted-foreground",children:["Session expires:"," ",new Date(r.session.expires_at).toLocaleString()]})})]})]}):null}function oe(){const t=T.c(3);let n;t[0]===Symbol.for("react.memo_cache_sentinel")?(n={from:"/connect/$sessionId"},t[0]=n):n=t[0];const{sessionId:i}=O(n);let a;return t[1]!==i?(a=e.jsx(V,{sessionId:i}),t[1]=i,t[2]=a):a=t[2],a}export{oe as default};
1
+ import{c as T,bn as M,j as e,bo as P,a3 as q,r as R,v as h,a as O}from"./index-Bs29EeVO.js";import{u as A}from"./useQuery-By0-zS-_.js";import{u as _}from"./useMutation-DpUHdLIR.js";import{B as y}from"./button-ZOo4pjl-.js";import{C as N,a as v}from"./card-DhGWuaMP.js";import{i as L,a as U}from"./mcp-oauth-Dr83fUMz.js";import{c as C,C as K,a as k}from"./circle-alert-BQ9TG01K.js";const Q=[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]],D=C("external-link",Q);const H=[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]],w=C("loader-circle",H);const J=[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]],B=C("refresh-cw",J),Y=t=>{const n=T.c(6);let i;n[0]!==t?({...i}=t,n[0]=t,n[1]=i):i=n[1];const{theme:a}=M(),d=a===void 0?"system":a;let r;n[2]===Symbol.for("react.memo_cache_sentinel")?(r={"--normal-bg":"var(--popover)","--normal-text":"var(--popover-foreground)","--normal-border":"var(--border)"},n[2]=r):r=n[2];let m;return n[3]!==i||n[4]!==d?(m=e.jsx(P,{theme:d,className:"toaster group",style:r,...i}),n[3]=i,n[4]=d,n[5]=m):m=n[5],m},b={session:t=>["user-sandbox-session",t]};function V({sessionId:t,onComplete:n,onError:i}){const a=q(),[p,d]=R.useState(null),{data:r,isLoading:m,error:j}=A({queryKey:b.session(t),queryFn:async()=>{const s=await fetch(`/api/user-sandbox/sessions/${t}`);if(!s.ok){const o=await s.json();throw new Error(o.error||"Failed to load session")}return s.json()}}),F=_({mutationFn:async({appName:s,connectionId:o})=>{const l=await fetch(`/api/user-sandbox/sessions/${t}/configure`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({app_name:s,connection_id:o})});if(!l.ok){const u=await l.json();throw new Error(u.error||"Configuration failed")}return l.json()},onSuccess:()=>{a.invalidateQueries({queryKey:b.session(t)})}}),x=_({mutationFn:async()=>{const s=await fetch(`/api/user-sandbox/sessions/${t}/complete`,{method:"POST",headers:{"Content-Type":"application/json"}});if(!s.ok){const o=await s.json();throw new Error(o.error||"Failed to complete")}return s.json()},onSuccess:s=>{s.redirectUrl?window.location.href=s.redirectUrl:(h.success("Setup complete!"),a.invalidateQueries({queryKey:b.session(t)}),n?.({agentId:s.agentId,redirectUrl:s.redirectUrl}))},onError:s=>{const o=s instanceof Error?s:new Error("Failed to complete");h.error(o.message),i?.(o)}}),S=async s=>{d(s.app_name);try{const o=await fetch(`/api/user-sandbox/sessions/${t}/provision`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({app_name:s.app_name})});if(!o.ok){const g=await o.json();throw new Error(g.error||"Failed to provision connection")}const u=(await o.json()).connection_id;if(s.connection_type==="HTTP"||s.connection_type==="SSE"||s.connection_type==="Websocket"){const g=`/mcp/${u}`,z=await L({url:g,token:null});if(!z.isAuthenticated&&z.supportsOAuth){h.info("Opening authentication window...");const c=await U({connectionId:u,clientName:s.title,timeout:3e5});if(c.error)throw new Error(c.error);if(c.tokenInfo){const E=await fetch(`/api/connections/${u}/oauth-token`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({accessToken:c.tokenInfo.accessToken,refreshToken:c.tokenInfo.refreshToken,expiresIn:c.tokenInfo.expiresIn,scope:c.tokenInfo.scope,clientId:c.tokenInfo.clientId,clientSecret:c.tokenInfo.clientSecret,tokenEndpoint:c.tokenInfo.tokenEndpoint})});if(!E.ok){const $=await E.json().catch(()=>({}));throw new Error($.error||"Failed to save authentication tokens. Please try again.")}}}}await F.mutateAsync({appName:s.app_name,connectionId:u}),h.success(`${s.title} connected successfully`)}catch(o){console.error("Connection error:",o);const l=o instanceof Error?o:new Error("Failed to connect");h.error(l.message),i?.(l)}finally{d(null)}},I=r?.apps.every(s=>s.status.configured),f=r?.session.status==="completed";return m?e.jsx("div",{className:"min-h-screen bg-background flex items-center justify-center",children:e.jsx(w,{className:"size-8 animate-spin text-muted-foreground"})}):j?e.jsx("div",{className:"min-h-screen bg-background flex items-center justify-center p-4",children:e.jsx(N,{className:"max-w-md w-full",children:e.jsx(v,{className:"pt-6",children:e.jsxs("div",{className:"flex flex-col items-center gap-4 text-center",children:[e.jsx("div",{className:"size-12 rounded-full bg-destructive/10 flex items-center justify-center",children:e.jsx(K,{className:"size-6 text-destructive"})}),e.jsxs("div",{children:[e.jsx("h2",{className:"text-lg font-semibold",children:"Session Error"}),e.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:j instanceof Error?j.message:"Failed to load"})]})]})})})}):r?e.jsxs("div",{className:"min-h-screen bg-background",children:[e.jsx(Y,{}),e.jsxs("div",{className:"max-w-lg mx-auto px-4 py-12",children:[e.jsxs("div",{className:"text-center mb-8",children:[r.template.icon&&e.jsx("div",{className:"size-16 mx-auto mb-4 rounded-xl bg-muted flex items-center justify-center overflow-hidden",children:e.jsx("img",{src:r.template.icon,alt:"",className:"size-10 object-contain"})}),e.jsx("h1",{className:"text-2xl font-semibold tracking-tight",children:r.template.title}),r.template.description&&e.jsx("p",{className:"text-muted-foreground mt-2",children:r.template.description})]}),f&&e.jsx(N,{className:"mb-6 border-green-500/20 bg-green-500/5",children:e.jsx(v,{className:"pt-6",children:e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"size-10 rounded-full bg-green-500/10 flex items-center justify-center",children:e.jsx(k,{className:"size-5 text-green-500"})}),e.jsxs("div",{children:[e.jsx("p",{className:"font-medium",children:"Setup Complete"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Your integrations are ready to use."})]})]})})}),e.jsx("div",{className:"space-y-3",children:r.apps.map(s=>e.jsx(N,{children:e.jsx(v,{className:"py-4",children:e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsx("div",{className:"size-10 rounded-lg bg-muted flex items-center justify-center shrink-0 overflow-hidden",children:s.icon?e.jsx("img",{src:s.icon,alt:"",className:"size-6 object-contain"}):e.jsx("span",{className:"text-lg",children:"📦"})}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("p",{className:"font-medium truncate",children:s.title}),e.jsx("p",{className:"text-sm text-muted-foreground",children:s.status.configured?e.jsxs("span",{className:"text-green-600 dark:text-green-400 flex items-center gap-1",children:[e.jsx(k,{className:"size-3"})," Connected"]}):s.requires_oauth?"Requires authentication":"Ready to connect"})]}),!s.status.configured&&!f&&e.jsx(y,{size:"sm",onClick:()=>S(s),disabled:p!==null||x.isPending,children:p===s.app_name?e.jsxs(e.Fragment,{children:[e.jsx(w,{className:"size-4 mr-2 animate-spin"}),"Connecting..."]}):e.jsxs(e.Fragment,{children:[e.jsx(D,{className:"size-4 mr-2"}),"Connect"]})}),s.status.configured&&!f&&e.jsxs(y,{size:"sm",variant:"outline",onClick:()=>S(s),disabled:p!==null||x.isPending,children:[e.jsx(B,{className:"size-4 mr-2"}),"Reconnect"]}),f&&e.jsx("div",{className:"size-8 rounded-full bg-green-500/10 flex items-center justify-center",children:e.jsx(k,{className:"size-4 text-green-500"})})]})})},s.app_name))}),I&&!f&&e.jsx("div",{className:"mt-6",children:e.jsx(y,{className:"w-full",size:"lg",onClick:()=>x.mutate(),disabled:x.isPending,children:x.isPending?e.jsxs(e.Fragment,{children:[e.jsx(w,{className:"size-4 mr-2 animate-spin"}),"Completing..."]}):"Complete Setup"})}),e.jsx("div",{className:"mt-8 pt-6 border-t text-center",children:e.jsxs("p",{className:"text-xs text-muted-foreground",children:["Session expires:"," ",new Date(r.session.expires_at).toLocaleString()]})})]})]}):null}function oe(){const t=T.c(3);let n;t[0]===Symbol.for("react.memo_cache_sentinel")?(n={from:"/connect/$sessionId"},t[0]=n):n=t[0];const{sessionId:i}=O(n);let a;return t[1]!==i?(a=e.jsx(V,{sessionId:i}),t[1]=i,t[2]=a):a=t[2],a}export{oe as default};
@@ -1 +1 @@
1
- import{c as S,j as s}from"./index-bZDjEZjy.js";import{C as _}from"./card-D919Ye14.js";import{c as j}from"./button-ClfTbYRX.js";import{I as A}from"./empty-state-DYXlKoSr.js";function H(h){const e=S.c(40),{connection:t,onClick:g,headerActions:v,footer:C,className:k,size:R,fallbackIcon:z}=h,b=R===void 0?"md":R,y=b==="sm"?"p-4":"p-6",I=b==="sm"?"text-sm":"text-base",w=b==="sm"?"text-xs":"text-sm",E=g&&"hover:bg-muted/50";let i;e[0]!==k||e[1]!==E?(i=j("cursor-pointer transition-colors group",E,k),e[0]=k,e[1]=E,e[2]=i):i=e[2];let l;e[3]!==y?(l=j("flex flex-col gap-4 relative",y),e[3]=y,e[4]=l):l=e[4];let o;e[5]!==t.icon||e[6]!==t.title||e[7]!==z?(o=s.jsx(A,{icon:t.icon,name:t.title,size:"md",className:"shrink-0 shadow-sm",fallbackIcon:z}),e[5]=t.icon,e[6]=t.title,e[7]=z,e[8]=o):o=e[8];let n;e[9]!==v?(n=v&&s.jsx("div",{className:j("transition-opacity","opacity-0 group-hover:opacity-100"),onClick:q,children:v}),e[9]=v,e[10]=n):n=e[10];let c;e[11]!==n?(c=s.jsx("div",{className:"relative",children:n}),e[11]=n,e[12]=c):c=e[12];let r;e[13]!==o||e[14]!==c?(r=s.jsxs("div",{className:"flex items-start justify-between",children:[o,c]}),e[13]=o,e[14]=c,e[15]=r):r=e[15];let a;e[16]!==I?(a=j("font-medium text-foreground truncate",I),e[16]=I,e[17]=a):a=e[17];let m;e[18]!==t.title||e[19]!==a?(m=s.jsx("h3",{className:a,children:t.title}),e[18]=t.title,e[19]=a,e[20]=m):m=e[20];let d;e[21]!==w?(d=j("text-muted-foreground line-clamp-2",w),e[21]=w,e[22]=d):d=e[22];const P=t.description||"No description";let f;e[23]!==d||e[24]!==P?(f=s.jsx("p",{className:d,children:P}),e[23]=d,e[24]=P,e[25]=f):f=e[25];let p;e[26]!==m||e[27]!==f?(p=s.jsxs("div",{className:"flex flex-col gap-0",children:[m,f]}),e[26]=m,e[27]=f,e[28]=p):p=e[28];let x;e[29]!==C?(x=C&&s.jsx("div",{onClick:$,children:C}),e[29]=C,e[30]=x):x=e[30];let u;e[31]!==p||e[32]!==x||e[33]!==l||e[34]!==r?(u=s.jsxs("div",{className:l,children:[r,p,x]}),e[31]=p,e[32]=x,e[33]=l,e[34]=r,e[35]=u):u=e[35];let N;return e[36]!==g||e[37]!==u||e[38]!==i?(N=s.jsx(_,{className:i,onClick:g,children:u}),e[36]=g,e[37]=u,e[38]=i,e[39]=N):N=e[39],N}function $(h){return h.stopPropagation()}function q(h){return h.stopPropagation()}export{H as C};
1
+ import{c as S,j as s}from"./index-Bs29EeVO.js";import{C as _}from"./card-DhGWuaMP.js";import{c as j}from"./button-ZOo4pjl-.js";import{I as A}from"./empty-state-BcO1Ypur.js";function H(h){const e=S.c(40),{connection:t,onClick:g,headerActions:v,footer:C,className:k,size:R,fallbackIcon:z}=h,b=R===void 0?"md":R,y=b==="sm"?"p-4":"p-6",I=b==="sm"?"text-sm":"text-base",w=b==="sm"?"text-xs":"text-sm",E=g&&"hover:bg-muted/50";let i;e[0]!==k||e[1]!==E?(i=j("cursor-pointer transition-colors group",E,k),e[0]=k,e[1]=E,e[2]=i):i=e[2];let l;e[3]!==y?(l=j("flex flex-col gap-4 relative",y),e[3]=y,e[4]=l):l=e[4];let o;e[5]!==t.icon||e[6]!==t.title||e[7]!==z?(o=s.jsx(A,{icon:t.icon,name:t.title,size:"md",className:"shrink-0 shadow-sm",fallbackIcon:z}),e[5]=t.icon,e[6]=t.title,e[7]=z,e[8]=o):o=e[8];let n;e[9]!==v?(n=v&&s.jsx("div",{className:j("transition-opacity","opacity-0 group-hover:opacity-100"),onClick:q,children:v}),e[9]=v,e[10]=n):n=e[10];let c;e[11]!==n?(c=s.jsx("div",{className:"relative",children:n}),e[11]=n,e[12]=c):c=e[12];let r;e[13]!==o||e[14]!==c?(r=s.jsxs("div",{className:"flex items-start justify-between",children:[o,c]}),e[13]=o,e[14]=c,e[15]=r):r=e[15];let a;e[16]!==I?(a=j("font-medium text-foreground truncate",I),e[16]=I,e[17]=a):a=e[17];let m;e[18]!==t.title||e[19]!==a?(m=s.jsx("h3",{className:a,children:t.title}),e[18]=t.title,e[19]=a,e[20]=m):m=e[20];let d;e[21]!==w?(d=j("text-muted-foreground line-clamp-2",w),e[21]=w,e[22]=d):d=e[22];const P=t.description||"No description";let f;e[23]!==d||e[24]!==P?(f=s.jsx("p",{className:d,children:P}),e[23]=d,e[24]=P,e[25]=f):f=e[25];let p;e[26]!==m||e[27]!==f?(p=s.jsxs("div",{className:"flex flex-col gap-0",children:[m,f]}),e[26]=m,e[27]=f,e[28]=p):p=e[28];let x;e[29]!==C?(x=C&&s.jsx("div",{onClick:$,children:C}),e[29]=C,e[30]=x):x=e[30];let u;e[31]!==p||e[32]!==x||e[33]!==l||e[34]!==r?(u=s.jsxs("div",{className:l,children:[r,p,x]}),e[31]=p,e[32]=x,e[33]=l,e[34]=r,e[35]=u):u=e[35];let N;return e[36]!==g||e[37]!==u||e[38]!==i?(N=s.jsx(_,{className:i,onClick:g,children:u}),e[36]=g,e[37]=u,e[38]=i,e[39]=N):N=e[39],N}function $(h){return h.stopPropagation()}function q(h){return h.stopPropagation()}export{H as C};
@@ -1 +1 @@
1
- import{c as Q,j as o,l as Y,b6 as te,r as q,a as de,u as ue,f as pe,q as fe}from"./index-bZDjEZjy.js";import{E as H,I as oe}from"./empty-state-DYXlKoSr.js";import{E as se}from"./error-boundary-BNlY9vIT.js";import{b as he}from"./use-binding-a8EbFjQ8.js";import{u as xe,S as ge}from"./index-Bb-7JPLn.js";import{b as ee,c as be,d as je,e as ye,B as Se,a as Ce}from"./breadcrumb-DYzoaO6c.js";import{g as ve}from"./use-collections-C8m0cpJK.js";import{u as Z,a as Ne}from"./use-connection-BsXZoJuC.js";import{u as Te}from"./constants-BZCTYQ-m.js";import{b as we,d as $e}from"./use-mcp-prompts-CauCdNEE.js";import{B as Ie}from"./button-ClfTbYRX.js";import{R as Le}from"./resource-tabs-Ckk3ov-s.js";import{i as ne}from"./Loading01-267RBTet.js";import{V as re,a as _e,b as ke}from"./layout-oEMg2tAu.js";import{C as Re}from"./collection-tab-CqQprMKz.js";import{a as ie,C as ce}from"./collection-table-wrapper-C7PJGoEH.js";import{C as ae}from"./collection-search-imk5y1tl.js";import{P as le}from"./pin-to-sidebar-button-Dz_XGqkX.js";import{C as me}from"./card-D919Ye14.js";import{R as Pe,T as Me}from"./tools-list-D62d9csj.js";import"./binder-DhS3ZsVD.js";import"./mcp-oauth-BmPwjDVD.js";import"./env-vars-editor-ChPRpV0a.js";import"./input-Db3X6HvF.js";import"./Plus-zV6WU4JB.js";import"./Trash01-DlcrlG40.js";import"./File06-Dyp_EEPp.js";import"./Key01-ImEEyxuW.js";import"./badge-D0aebo3b.js";import"./dropdown-menu-DN1Ltf10.js";import"./ChevronRight-DspCPj_w.js";import"./form-CYYoaqIb.js";import"./select-DdPku9Z8.js";import"./Check-DCDAnqOU.js";import"./ChevronDown-DutrckZC.js";import"./extract-connection-data-Bjn7AN9v.js";import"./constants-ClcoOK3l.js";import"./github-icon-Dp3wHhYE.js";import"./registry-utils-pqvn-SQ9.js";import"./generate-id-Dyweu44Y.js";import"./Terminal-DyHs8Rf6.js";import"./Users03-b0Q6Esat.js";import"./use-virtual-mcp-Mo0Ax2sa.js";import"./index-B8-fuOjQ.js";import"./circle-alert-O76dHf-6.js";import"./index-B8Y83hFI.js";import"./index-DQEC9k6R.js";import"./X-BDbowDxs.js";import"./collapsible-CZO59QRP.js";import"./useSuspenseInfiniteQuery-D9t8xGlB.js";import"./infiniteQueryObserver-R-jPe69x.js";import"./localstorage-keys-Bdti-2mC.js";import"./useQuery-CziyW3rA.js";import"./useMutation-BUU-3CfS.js";import"./popover-CjjV7g4X.js";import"./Grid01-hfoOS4OQ.js";import"./Image01-BBnTxqKs.js";import"./SearchMd-7_DsxZht.js";import"./spinner-Ch036S5x.js";import"./dialog-Btg4sCez.js";import"./AlertCircle-DZft-TG2.js";import"./ArrowUp-D5u5S04m.js";import"./Edit01-D7FAjBpe.js";import"./Copy01-BWDgSjt6.js";import"./monaco-editor-B37z8w3N.js";import"./use-create-virtual-mcp-C-dJH0KT.js";import"./index-By5YaRHP.js";import"./DotsVertical-DiYKrTRi.js";import"./use-list-state-BR0DnP45.js";import"./use-mobile-BJaPqgO-.js";import"./empty-state-uG-DnAQb.js";import"./Inbox01-Br0-Fo7T.js";import"./avatar-DLsqU89S.js";import"./alert-dialog-DvH3np1K.js";import"./List-Byzk8GIH.js";import"./view-mode-toggle-BuBlE9kN.js";import"./table-fsTaEaaU.js";import"./Pin01-DBrrq4D2.js";import"./use-organization-settings-C7v8TF4x.js";function Ve(t){const e=Q.c(42),{prompts:n,connectionId:s,org:r,connectionTitle:p,connectionIcon:d,onPromptClick:g,showToolbar:N,emptyMessage:A}=t,$=N===void 0?!0:N,I=A===void 0?"This connection doesn't have any prompts yet.":A,f=Y(),b=te().location.href,[x,a]=q.useState(""),[m,j]=q.useState("table"),[l,E]=q.useState("name"),[u,B]=q.useState("asc");let M;e[0]!==u||e[1]!==l?(M=h=>{l===h?(B(Oe),u==="desc"&&E(void 0)):(E(h),B("asc"))},e[0]=u,e[1]=l,e[2]=M):M=e[2];const S=M;let v;e[3]!==s||e[4]!==f||e[5]!==g||e[6]!==r?(v=h=>{g?g(h):s&&r&&f({to:"/$org/mcps/$connectionId/$collectionName/$itemId",params:{org:r,connectionId:s,collectionName:"prompts",itemId:encodeURIComponent(h.name)}})},e[3]=s,e[4]=f,e[5]=g,e[6]=r,e[7]=v):v=e[7];const L=v;let T;if(e[8]!==n||e[9]!==x||e[10]!==u||e[11]!==l){const h=!n||n.length===0?[]:x.trim()?(()=>{const z=x.toLowerCase();return n.filter(O=>O.name.toLowerCase().includes(z)||O.description&&O.description.toLowerCase().includes(z))})():n;T=!l||!u?h:[...h].sort((z,O)=>{const G=z[l]||"",W=O[l]||"",F=String(G).localeCompare(String(W));return u==="asc"?F:-F}),e[8]=n,e[9]=x,e[10]=u,e[11]=l,e[12]=T}else T=e[12];const _=T;let D;e[13]===Symbol.for("react.memo_cache_sentinel")?(D=[{id:"name",header:"Name",render:De,sortable:!0},{id:"description",header:"Description",render:Be,cellClassName:"flex-1",sortable:!0}],e[13]=D):D=e[13];const c=D;let P;e[14]===Symbol.for("react.memo_cache_sentinel")?(P=c.filter(Ee).map(Ae),e[14]=P):P=e[14];const k=P;let y;e[15]!==d||e[16]!==p||e[17]!==S||e[18]!==$||e[19]!==u||e[20]!==l||e[21]!==b||e[22]!==m?(y=$&&o.jsxs(re,{children:[o.jsx(ce,{viewMode:m,onViewModeChange:j,sortKey:l,sortDirection:u,onSort:S,sortOptions:k}),o.jsx(le,{title:p?`${p}: Prompts`:"Prompts",url:b,icon:d??"description"})]}),e[15]=d,e[16]=p,e[17]=S,e[18]=$,e[19]=u,e[20]=l,e[21]=b,e[22]=m,e[23]=y):y=e[23];let w;e[24]===Symbol.for("react.memo_cache_sentinel")?(w=h=>{h.key==="Escape"&&(a(""),h.target.blur())},e[24]=w):w=e[24];let C;e[25]!==x?(C=o.jsx(ae,{value:x,onChange:a,placeholder:"Search prompts...",onKeyDown:w}),e[25]=x,e[26]=C):C=e[26];let i;e[27]!==I||e[28]!==L||e[29]!==S||e[30]!==x||e[31]!==u||e[32]!==l||e[33]!==_||e[34]!==m?(i=m==="cards"?o.jsx("div",{className:"flex-1 overflow-auto p-5",children:_.length===0?o.jsx(H,{image:null,title:x?"No prompts found":"No prompts available",description:x?"Try adjusting your search terms":I}):o.jsx("div",{className:"grid grid-cols-1 md:grid-cols-3 lg:grid-cols-4 gap-4",children:_.map(h=>o.jsx(me,{className:"cursor-pointer transition-colors",onClick:()=>L(h),children:o.jsxs("div",{className:"flex flex-col gap-4 p-6",children:[o.jsx(oe,{icon:null,name:h.name,size:"md",className:"shrink-0 shadow-sm"}),o.jsxs("div",{className:"flex flex-col gap-0",children:[o.jsx("h3",{className:"text-base font-medium text-foreground truncate",children:h.name}),o.jsx("p",{className:"text-base text-muted-foreground line-clamp-2",children:h.description||"No description"})]})]})},h.name))})}):o.jsx(ie,{columns:c,data:_,isLoading:!1,sortKey:l,sortDirection:u,onSort:S,onRowClick:h=>L(h),emptyState:o.jsx(H,{image:null,title:x?"No prompts found":"No prompts available",description:x?"Try adjusting your search terms":I})}),e[27]=I,e[28]=L,e[29]=S,e[30]=x,e[31]=u,e[32]=l,e[33]=_,e[34]=m,e[35]=i):i=e[35];let V;e[36]!==C||e[37]!==i?(V=o.jsxs("div",{className:"flex flex-col h-full overflow-hidden",children:[C,i]}),e[36]=C,e[37]=i,e[38]=V):V=e[38];let R;return e[39]!==V||e[40]!==y?(R=o.jsxs(o.Fragment,{children:[y,V]}),e[39]=V,e[40]=y,e[41]=R):R=e[41],R}function Ae(t){return{id:t.id,label:typeof t.header=="string"?t.header:t.id}}function Ee(t){return t.sortable}function Be(t){return o.jsx("span",{className:"text-sm text-foreground",children:t.description||"—"})}function De(t){return o.jsx("span",{className:"text-sm font-medium font-mono text-foreground",children:t.name})}function Oe(t){return t==="asc"?"desc":t==="desc"?null:"asc"}function Ue(t){const e=Q.c(6),{prompts:n,connectionId:s,org:r}=t,p=Z(s),d=p?.title,g=p?.icon;let N;return e[0]!==s||e[1]!==r||e[2]!==n||e[3]!==d||e[4]!==g?(N=o.jsx(Ve,{prompts:n,connectionId:s,org:r,connectionTitle:d,connectionIcon:g}),e[0]=s,e[1]=r,e[2]=n,e[3]=d,e[4]=g,e[5]=N):N=e[5],N}function Ke(t){const e=Q.c(2),{repository:n}=t;let s;return e[0]!==n?(s=o.jsx("div",{className:"flex-1 overflow-y-auto bg-background",children:o.jsx(Pe,{repository:n})}),e[0]=n,e[1]=s):s=e[1],s}function ze(t){const e=Q.c(39),{resources:n,connectionTitle:s,connectionIcon:r,onResourceClick:p,showToolbar:d,emptyMessage:g}=t,N=d===void 0?!0:d,A=g===void 0?"This connection doesn't have any resources yet.":g,I=te().location.href,[f,U]=q.useState(""),[b,x]=q.useState("table"),[a,m]=q.useState("name"),[j,l]=q.useState("asc");let E;e[0]!==j||e[1]!==a?(E=i=>{a===i?(l(Je),j==="desc"&&m(void 0)):(m(i),l("asc"))},e[0]=j,e[1]=a,e[2]=E):E=e[2];const u=E;let B;e[3]!==p?(B=i=>{p&&p(i)},e[3]=p,e[4]=B):B=e[4];const M=B;let S;if(e[5]!==n||e[6]!==f||e[7]!==j||e[8]!==a){const i=!n||n.length===0?[]:f.trim()?(()=>{const V=f.toLowerCase();return n.filter(R=>R.uri.toLowerCase().includes(V)||R.name&&R.name.toLowerCase().includes(V)||R.description&&R.description.toLowerCase().includes(V))})():n;S=!a||!j?i:[...i].sort((V,R)=>{const h=V[a]||"",z=R[a]||"",O=String(h).localeCompare(String(z));return j==="asc"?O:-O}),e[5]=n,e[6]=f,e[7]=j,e[8]=a,e[9]=S}else S=e[9];const v=S;let L;e[10]===Symbol.for("react.memo_cache_sentinel")?(L=[{id:"name",header:"Name",render:He,sortable:!0},{id:"uri",header:"URI",render:Ge,sortable:!0},{id:"description",header:"Description",render:We,cellClassName:"flex-1",sortable:!0},{id:"mimeType",header:"Type",render:Fe,sortable:!0}],e[10]=L):L=e[10];const T=L;let _;e[11]===Symbol.for("react.memo_cache_sentinel")?(_=T.filter(Qe).map(qe),e[11]=_):_=e[11];const D=_;let c;e[12]!==r||e[13]!==s||e[14]!==u||e[15]!==N||e[16]!==j||e[17]!==a||e[18]!==I||e[19]!==b?(c=N&&o.jsxs(re,{children:[o.jsx(ce,{viewMode:b,onViewModeChange:x,sortKey:a,sortDirection:j,onSort:u,sortOptions:D}),o.jsx(le,{title:s?`${s}: Resources`:"Resources",url:I,icon:r??"folder"})]}),e[12]=r,e[13]=s,e[14]=u,e[15]=N,e[16]=j,e[17]=a,e[18]=I,e[19]=b,e[20]=c):c=e[20];let P;e[21]===Symbol.for("react.memo_cache_sentinel")?(P=i=>{i.key==="Escape"&&(U(""),i.target.blur())},e[21]=P):P=e[21];let k;e[22]!==f?(k=o.jsx(ae,{value:f,onChange:U,placeholder:"Search resources...",onKeyDown:P}),e[22]=f,e[23]=k):k=e[23];let y;e[24]!==A||e[25]!==M||e[26]!==u||e[27]!==f||e[28]!==j||e[29]!==a||e[30]!==v||e[31]!==b?(y=b==="cards"?o.jsx("div",{className:"flex-1 overflow-auto p-5",children:v.length===0?o.jsx(H,{image:null,title:f?"No resources found":"No resources available",description:f?"Try adjusting your search terms":A}):o.jsx("div",{className:"grid grid-cols-1 md:grid-cols-3 lg:grid-cols-4 gap-4",children:v.map(i=>o.jsx(me,{className:"cursor-pointer transition-colors",onClick:()=>M(i),children:o.jsxs("div",{className:"flex flex-col gap-4 p-6",children:[o.jsx(oe,{icon:null,name:i.name||i.uri,size:"md",className:"shrink-0 shadow-sm"}),o.jsxs("div",{className:"flex flex-col gap-1",children:[o.jsx("h3",{className:"text-base font-medium text-foreground truncate",children:i.name||i.uri}),o.jsx("p",{className:"text-xs font-mono text-muted-foreground truncate",children:i.uri}),i.description&&o.jsx("p",{className:"text-sm text-muted-foreground line-clamp-2 mt-1",children:i.description})]})]})},i.uri))})}):o.jsx(ie,{columns:T,data:v,isLoading:!1,sortKey:a,sortDirection:j,onSort:u,onRowClick:i=>M(i),emptyState:o.jsx(H,{image:null,title:f?"No resources found":"No resources available",description:f?"Try adjusting your search terms":A})}),e[24]=A,e[25]=M,e[26]=u,e[27]=f,e[28]=j,e[29]=a,e[30]=v,e[31]=b,e[32]=y):y=e[32];let w;e[33]!==k||e[34]!==y?(w=o.jsxs("div",{className:"flex flex-col h-full overflow-hidden",children:[k,y]}),e[33]=k,e[34]=y,e[35]=w):w=e[35];let C;return e[36]!==w||e[37]!==c?(C=o.jsxs(o.Fragment,{children:[c,w]}),e[36]=w,e[37]=c,e[38]=C):C=e[38],C}function qe(t){return{id:t.id,label:typeof t.header=="string"?t.header:t.id}}function Qe(t){return t.sortable}function Fe(t){return o.jsx("span",{className:"text-sm text-muted-foreground",children:t.mimeType||"—"})}function We(t){return o.jsx("span",{className:"text-sm text-foreground",children:t.description||"—"})}function Ge(t){return o.jsx("span",{className:"text-sm font-mono text-muted-foreground",children:t.uri})}function He(t){return o.jsx("span",{className:"text-sm font-medium text-foreground",children:t.name||t.uri})}function Je(t){return t==="asc"?"desc":t==="desc"?null:"asc"}function Xe(t){const e=Q.c(6),{resources:n,connectionId:s,org:r}=t,p=Z(s),d=p?.title,g=p?.icon;let N;return e[0]!==s||e[1]!==r||e[2]!==n||e[3]!==d||e[4]!==g?(N=o.jsx(ze,{resources:n,connectionId:s,org:r,connectionTitle:d,connectionIcon:g}),e[0]=s,e[1]=r,e[2]=n,e[3]=d,e[4]=g,e[5]=N):N=e[5],N}function Ye(t){const e=Q.c(5),{tools:n,connectionId:s,org:r,isLoading:p}=t;let d;return e[0]!==s||e[1]!==p||e[2]!==r||e[3]!==n?(d=o.jsx(Me,{tools:n,connectionId:s,org:r,isLoading:p}),e[0]=s,e[1]=p,e[2]=r,e[3]=n,e[4]=d):d=e[4],d}function Ze(t){const e=Q.c(72),{connection:n,connectionId:s,org:r,requestedTabId:p,collections:d,onUpdate:g,isUpdating:N,prompts:A,resources:$,tools:I,isLoadingTools:f}=t;let U;e[0]===Symbol.for("react.memo_cache_sentinel")?(U={from:"/$org/mcps/$connectionId"},e[0]=U):U=e[0];const b=Y(U);let x;e[1]!==s?(x={connectionId:s},e[1]=s,e[2]=x):x=e[2];const a=xe(x),m=a.isAuthenticated,j=n?.metadata?.repository,l=!!j?.url,E=I.length,u=A.length,B=$.length,M=E>0||f;let S;e[3]===Symbol.for("react.memo_cache_sentinel")?(S={id:"settings",label:"Settings"},e[3]=S):S=e[3];let v;e[4]!==f||e[5]!==m||e[6]!==M||e[7]!==E?(v=m&&M?[{id:"tools",label:"Tools",count:f?void 0:E}]:[],e[4]=f,e[5]=m,e[6]=M,e[7]=E,e[8]=v):v=e[8];let L;e[9]!==m||e[10]!==u?(L=m&&u>0?[{id:"prompts",label:"Prompts",count:u}]:[],e[9]=m,e[10]=u,e[11]=L):L=e[11];let T;e[12]!==m||e[13]!==B?(T=m&&B>0?[{id:"resources",label:"Resources",count:B}]:[],e[12]=m,e[13]=B,e[14]=T):T=e[14];let _;if(e[15]!==d||e[16]!==l||e[17]!==m||e[18]!==v||e[19]!==L||e[20]!==T){let K;e[22]!==l?(K=l?[{id:"readme",label:"README"}]:[],e[22]=l,e[23]=K):K=e[23],_=[S,...v,...L,...T,...m?(d||[]).map(et):[],...K],e[15]=d,e[16]=l,e[17]=m,e[18]=v,e[19]=L,e[20]=T,e[21]=_}else _=e[21];const D=_,c=D.some(K=>K.id===p)?p:"settings";let P;e[24]!==b?(P=K=>{b({search:X=>({...X,tab:K}),replace:!0})},e[24]=b,e[25]=P):P=e[25];const k=P;let y;e[26]!==d?(y=d||[],e[26]=d,e[27]=y):y=e[27];let w;if(e[28]!==c||e[29]!==y){let K;e[31]!==c?(K=X=>X.name===c,e[31]=c,e[32]=K):K=e[32],w=y.find(K),e[28]=c,e[29]=y,e[30]=w}else w=e[30];const C=w;let i;e[33]!==r?(i=o.jsx(ee,{children:o.jsx(je,{asChild:!0,children:o.jsx(fe,{to:"/$org/mcps",params:{org:r},children:"Connections"})})}),e[33]=r,e[34]=i):i=e[34];let V;e[35]===Symbol.for("react.memo_cache_sentinel")?(V=o.jsx(ye,{}),e[35]=V):V=e[35];let R;e[36]!==n.title?(R=o.jsx(ee,{children:o.jsx(be,{children:n.title})}),e[36]=n.title,e[37]=R):R=e[37];let h;e[38]!==i||e[39]!==R?(h=o.jsx(Se,{children:o.jsxs(Ce,{children:[i,V,R]})}),e[38]=i,e[39]=R,e[40]=h):h=e[40];const z=h;let O;e[41]!==c||e[42]!==k||e[43]!==D?(O=o.jsx(_e,{children:o.jsx(Le,{tabs:D,activeTab:c,onTabChange:k})}),e[41]=c,e[42]=k,e[43]=D,e[44]=O):O=e[44];let G;e[45]===Symbol.for("react.memo_cache_sentinel")?(G=o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(ne,{size:32,className:"animate-spin text-muted-foreground"})}),e[45]=G):G=e[45];let W;e[46]!==C||e[47]!==c||e[48]!==a.hasOAuthToken||e[49]!==a.isServerError||e[50]!==a.supportsOAuth||e[51]!==n||e[52]!==s||e[53]!==k||e[54]!==l||e[55]!==f||e[56]!==m||e[57]!==N||e[58]!==g||e[59]!==r||e[60]!==A||e[61]!==j||e[62]!==$||e[63]!==I?(W=o.jsx(q.Suspense,{fallback:G,children:c==="tools"?o.jsx(Ye,{tools:I,connectionId:s,org:r,isLoading:f}):c==="prompts"?o.jsx(Ue,{prompts:A,connectionId:s,org:r}):c==="resources"?o.jsx(Xe,{resources:$,connectionId:s,org:r}):c==="settings"?o.jsx(ge,{connection:n,onUpdate:g,isUpdating:N,isMCPAuthenticated:m,supportsOAuth:a.supportsOAuth,hasOAuthToken:a.hasOAuthToken,isServerError:a.isServerError,onViewReadme:l?()=>k("readme"):void 0}):c==="readme"&&l?o.jsx(Ke,{repository:j}):C&&m?o.jsx(Re,{connectionId:s,org:r,activeCollection:C},c):o.jsx(H,{title:"Collection not found",description:"This collection may have been deleted or you may not have access."})}),e[46]=C,e[47]=c,e[48]=a.hasOAuthToken,e[49]=a.isServerError,e[50]=a.supportsOAuth,e[51]=n,e[52]=s,e[53]=k,e[54]=l,e[55]=f,e[56]=m,e[57]=N,e[58]=g,e[59]=r,e[60]=A,e[61]=j,e[62]=$,e[63]=I,e[64]=W):W=e[64];let F;e[65]!==c||e[66]!==W?(F=o.jsx("div",{className:"flex h-full w-full bg-background overflow-hidden",children:o.jsx("div",{className:"flex-1 flex flex-col min-w-0 bg-background overflow-auto",children:o.jsx(se,{children:W},c)})}),e[65]=c,e[66]=W,e[67]=F):F=e[67];let J;return e[68]!==z||e[69]!==O||e[70]!==F?(J=o.jsxs(ke,{breadcrumb:z,children:[O,F]}),e[68]=z,e[69]=O,e[70]=F,e[71]=J):J=e[71],J}function et(t){return{id:t.name,label:t.displayName}}function tt(){const t=Q.c(43);let e;t[0]===Symbol.for("react.memo_cache_sentinel")?(e={from:"/$org/mcps/$connectionId"},t[0]=e):e=t[0];const n=Y(e);let s;t[1]===Symbol.for("react.memo_cache_sentinel")?(s={from:"/shell/$org/mcps/$connectionId"},t[1]=s):s=t[1];const{connectionId:r,org:p}=de(s),{org:d}=ue();let g;t[2]===Symbol.for("react.memo_cache_sentinel")?(g={from:"/shell/$org/mcps/$connectionId"},t[2]=g):g=t[2];const A=pe(g).tab||"settings",$=Z(r),I=Ne(),f=he($??void 0);let U;t[3]!==r||t[4]!==d.id?(U={connectionId:r,orgId:d.id},t[3]=r,t[4]=d.id,t[5]=U):U=t[5];const b=Te(U);let x;t[6]!==b?(x={client:b},t[6]=b,t[7]=x):x=t[7];const{data:a}=we(x);let m;t[8]!==b?(m={client:b},t[8]=b,t[9]=m):m=t[9];const{data:j}=$e(m),l=$?.tools&&$.tools.length>0,E=!l;let u;t[10]!==b||t[11]!==E?(u={client:b,enabled:E},t[10]=b,t[11]=E,t[12]=u):u=t[12];const{data:B,isLoading:M}=ve(u);let S;t[13]!==a?.prompts?(S=a?.prompts??[],t[13]=a?.prompts,t[14]=S):S=t[14];let v;t[15]!==S?(v=S.map(nt),t[15]=S,t[16]=v):v=t[16];const L=v;let T;t[17]!==j?.resources?(T=j?.resources??[],t[17]=j?.resources,t[18]=T):T=t[18];let _;t[19]!==T?(_=T.map(st),t[19]=T,t[20]=_):_=t[20];const D=_;let c;t[21]!==$||t[22]!==l||t[23]!==B?.tools?(c=l?$.tools??[]:(B?.tools??[]).map(ot),t[21]=$,t[22]=l,t[23]=B?.tools,t[24]=c):c=t[24];const P=c;let k;t[25]!==I.update||t[26]!==r?(k=async C=>{await I.update.mutateAsync({id:r,data:C})},t[25]=I.update,t[26]=r,t[27]=k):k=t[27];const y=k;if(!$){let C;return t[28]!==n||t[29]!==p?(C=o.jsx("div",{className:"flex h-full w-full bg-background",children:o.jsx(H,{title:"Connection not found",description:"This connection may have been deleted or you may not have access.",actions:o.jsx(Ie,{variant:"outline",onClick:()=>n({to:"/$org/mcps",params:{org:p}}),children:"Back to connections"})})}),t[28]=n,t[29]=p,t[30]=C):C=t[30],C}let w;return t[31]!==I.update.isPending||t[32]!==f||t[33]!==$||t[34]!==r||t[35]!==y||t[36]!==M||t[37]!==p||t[38]!==L||t[39]!==A||t[40]!==D||t[41]!==P?(w=o.jsx(Ze,{org:p,connection:$,connectionId:r,requestedTabId:A,collections:f,onUpdate:y,isUpdating:I.update.isPending,prompts:L,resources:D,tools:P,isLoadingTools:M}),t[31]=I.update.isPending,t[32]=f,t[33]=$,t[34]=r,t[35]=y,t[36]=M,t[37]=p,t[38]=L,t[39]=A,t[40]=D,t[41]=P,t[42]=w):w=t[42],w}function ot(t){return{name:t.name,description:t.description,inputSchema:t.inputSchema}}function st(t){return{uri:t.uri,name:t.name,description:t.description}}function nt(t){return{name:t.name,description:t.description}}function rt(){const t=Q.c(1);let e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=o.jsx(se,{children:o.jsx(q.Suspense,{fallback:o.jsx("div",{className:"flex h-full items-center justify-center bg-background",children:o.jsx(ne,{size:32,className:"animate-spin text-muted-foreground"})}),children:o.jsx(tt,{})})}),t[0]=e):e=t[0],e}function Ro(){const t=Q.c(1);let e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=o.jsx(rt,{}),t[0]=e):e=t[0],e}export{Ro as default};
1
+ import{c as Q,j as o,l as Y,b6 as te,r as q,a as de,u as ue,f as pe,q as fe}from"./index-Bs29EeVO.js";import{E as H,I as oe}from"./empty-state-BcO1Ypur.js";import{E as se}from"./error-boundary-m114tUpJ.js";import{b as he}from"./use-binding-GlE21mVe.js";import{u as xe,S as ge}from"./index-ytnZ687L.js";import{b as ee,c as be,d as je,e as ye,B as Se,a as Ce}from"./breadcrumb-DYbYAORz.js";import{g as ve}from"./use-collections-BNOLiMAP.js";import{u as Z,a as Ne}from"./use-connection-_63RHsQC.js";import{u as Te}from"./constants-CgYg5TtN.js";import{b as we,d as $e}from"./use-mcp-prompts-Cs-0fn1r.js";import{B as Ie}from"./button-ZOo4pjl-.js";import{R as Le}from"./resource-tabs-D2NgBxYW.js";import{i as ne}from"./Loading01-C4MO3DLf.js";import{V as re,a as _e,b as ke}from"./layout-DIZIdVHa.js";import{C as Re}from"./collection-tab-CogQiK5y.js";import{a as ie,C as ce}from"./collection-table-wrapper-BepAjo7t.js";import{C as ae}from"./collection-search-19Uoq0wQ.js";import{P as le}from"./pin-to-sidebar-button-1GCs6x8a.js";import{C as me}from"./card-DhGWuaMP.js";import{R as Pe,T as Me}from"./tools-list-BJ4Nz1PD.js";import"./binder-DNt-QaD5.js";import"./mcp-oauth-Dr83fUMz.js";import"./env-vars-editor-BDdZakcM.js";import"./input-C4GtYEoZ.js";import"./Plus-ByTt0Dzz.js";import"./Trash01-BmWnYoTo.js";import"./File06-bOvxxnZ2.js";import"./Key01-CPYx3GjY.js";import"./index-psOxwHJD.js";import"./badge-B_zXl-jd.js";import"./dropdown-menu-v13S1hcn.js";import"./ChevronRight-BKSZBVse.js";import"./form-r49NhVFy.js";import"./select-DqXwJZyT.js";import"./Check-BQfWrOsa.js";import"./ChevronDown-a23q7ncj.js";import"./extract-connection-data-DyggfQBs.js";import"./constants-j8UyVq9f.js";import"./github-icon-Dp3wHhYE.js";import"./registry-utils-Do3XnHa6.js";import"./generate-id-Dyweu44Y.js";import"./Terminal-CZfhkitA.js";import"./Users03-C-YPAI9c.js";import"./use-virtual-mcp-d_sGPR5Q.js";import"./index-DxOSzDZh.js";import"./circle-alert-BQ9TG01K.js";import"./index-C4EJpxzW.js";import"./X-BHekJF0G.js";import"./collapsible-0t7QAPTM.js";import"./useSuspenseInfiniteQuery-CNdbzDY7.js";import"./infiniteQueryObserver-HNFv_Ra4.js";import"./localstorage-keys-Bm36wvj7.js";import"./useQuery-By0-zS-_.js";import"./useMutation-DpUHdLIR.js";import"./popover-CUkUY7Kj.js";import"./Grid01-IhRcMWbZ.js";import"./Image01-sUTjP5wq.js";import"./SearchMd-DCAvw-zt.js";import"./spinner-_C_bSKie.js";import"./dialog-C8W_SUym.js";import"./AlertCircle-Ba1Op7JG.js";import"./ArrowUp-CsjFvEVu.js";import"./Edit01-B4XYqrFu.js";import"./Copy01-CIESL5kI.js";import"./monaco-editor-Bb429dTQ.js";import"./use-create-virtual-mcp-D0aLBOrN.js";import"./index-BbS1IcRL.js";import"./DotsVertical-CJIZpidj.js";import"./use-list-state-C35WGVlD.js";import"./use-mobile-viw7itqe.js";import"./empty-state-FX9PTasG.js";import"./Inbox01-BnDnIXUM.js";import"./avatar-5yweOYlX.js";import"./alert-dialog-DMTRbHIN.js";import"./List-BaGrtyGA.js";import"./view-mode-toggle-D5fN84Hq.js";import"./table-BpYYfeqL.js";import"./Pin01-C-K4KVz6.js";import"./use-organization-settings-DmHiyg1G.js";function Ve(t){const e=Q.c(42),{prompts:n,connectionId:s,org:r,connectionTitle:p,connectionIcon:d,onPromptClick:g,showToolbar:N,emptyMessage:A}=t,$=N===void 0?!0:N,I=A===void 0?"This connection doesn't have any prompts yet.":A,f=Y(),b=te().location.href,[x,a]=q.useState(""),[m,j]=q.useState("table"),[l,E]=q.useState("name"),[u,B]=q.useState("asc");let M;e[0]!==u||e[1]!==l?(M=h=>{l===h?(B(Oe),u==="desc"&&E(void 0)):(E(h),B("asc"))},e[0]=u,e[1]=l,e[2]=M):M=e[2];const S=M;let v;e[3]!==s||e[4]!==f||e[5]!==g||e[6]!==r?(v=h=>{g?g(h):s&&r&&f({to:"/$org/mcps/$connectionId/$collectionName/$itemId",params:{org:r,connectionId:s,collectionName:"prompts",itemId:encodeURIComponent(h.name)}})},e[3]=s,e[4]=f,e[5]=g,e[6]=r,e[7]=v):v=e[7];const L=v;let T;if(e[8]!==n||e[9]!==x||e[10]!==u||e[11]!==l){const h=!n||n.length===0?[]:x.trim()?(()=>{const z=x.toLowerCase();return n.filter(O=>O.name.toLowerCase().includes(z)||O.description&&O.description.toLowerCase().includes(z))})():n;T=!l||!u?h:[...h].sort((z,O)=>{const G=z[l]||"",W=O[l]||"",F=String(G).localeCompare(String(W));return u==="asc"?F:-F}),e[8]=n,e[9]=x,e[10]=u,e[11]=l,e[12]=T}else T=e[12];const _=T;let D;e[13]===Symbol.for("react.memo_cache_sentinel")?(D=[{id:"name",header:"Name",render:De,sortable:!0},{id:"description",header:"Description",render:Be,cellClassName:"flex-1",sortable:!0}],e[13]=D):D=e[13];const c=D;let P;e[14]===Symbol.for("react.memo_cache_sentinel")?(P=c.filter(Ee).map(Ae),e[14]=P):P=e[14];const k=P;let y;e[15]!==d||e[16]!==p||e[17]!==S||e[18]!==$||e[19]!==u||e[20]!==l||e[21]!==b||e[22]!==m?(y=$&&o.jsxs(re,{children:[o.jsx(ce,{viewMode:m,onViewModeChange:j,sortKey:l,sortDirection:u,onSort:S,sortOptions:k}),o.jsx(le,{title:p?`${p}: Prompts`:"Prompts",url:b,icon:d??"description"})]}),e[15]=d,e[16]=p,e[17]=S,e[18]=$,e[19]=u,e[20]=l,e[21]=b,e[22]=m,e[23]=y):y=e[23];let w;e[24]===Symbol.for("react.memo_cache_sentinel")?(w=h=>{h.key==="Escape"&&(a(""),h.target.blur())},e[24]=w):w=e[24];let C;e[25]!==x?(C=o.jsx(ae,{value:x,onChange:a,placeholder:"Search prompts...",onKeyDown:w}),e[25]=x,e[26]=C):C=e[26];let i;e[27]!==I||e[28]!==L||e[29]!==S||e[30]!==x||e[31]!==u||e[32]!==l||e[33]!==_||e[34]!==m?(i=m==="cards"?o.jsx("div",{className:"flex-1 overflow-auto p-5",children:_.length===0?o.jsx(H,{image:null,title:x?"No prompts found":"No prompts available",description:x?"Try adjusting your search terms":I}):o.jsx("div",{className:"grid grid-cols-1 md:grid-cols-3 lg:grid-cols-4 gap-4",children:_.map(h=>o.jsx(me,{className:"cursor-pointer transition-colors",onClick:()=>L(h),children:o.jsxs("div",{className:"flex flex-col gap-4 p-6",children:[o.jsx(oe,{icon:null,name:h.name,size:"md",className:"shrink-0 shadow-sm"}),o.jsxs("div",{className:"flex flex-col gap-0",children:[o.jsx("h3",{className:"text-base font-medium text-foreground truncate",children:h.name}),o.jsx("p",{className:"text-base text-muted-foreground line-clamp-2",children:h.description||"No description"})]})]})},h.name))})}):o.jsx(ie,{columns:c,data:_,isLoading:!1,sortKey:l,sortDirection:u,onSort:S,onRowClick:h=>L(h),emptyState:o.jsx(H,{image:null,title:x?"No prompts found":"No prompts available",description:x?"Try adjusting your search terms":I})}),e[27]=I,e[28]=L,e[29]=S,e[30]=x,e[31]=u,e[32]=l,e[33]=_,e[34]=m,e[35]=i):i=e[35];let V;e[36]!==C||e[37]!==i?(V=o.jsxs("div",{className:"flex flex-col h-full overflow-hidden",children:[C,i]}),e[36]=C,e[37]=i,e[38]=V):V=e[38];let R;return e[39]!==V||e[40]!==y?(R=o.jsxs(o.Fragment,{children:[y,V]}),e[39]=V,e[40]=y,e[41]=R):R=e[41],R}function Ae(t){return{id:t.id,label:typeof t.header=="string"?t.header:t.id}}function Ee(t){return t.sortable}function Be(t){return o.jsx("span",{className:"text-sm text-foreground",children:t.description||"—"})}function De(t){return o.jsx("span",{className:"text-sm font-medium font-mono text-foreground",children:t.name})}function Oe(t){return t==="asc"?"desc":t==="desc"?null:"asc"}function Ue(t){const e=Q.c(6),{prompts:n,connectionId:s,org:r}=t,p=Z(s),d=p?.title,g=p?.icon;let N;return e[0]!==s||e[1]!==r||e[2]!==n||e[3]!==d||e[4]!==g?(N=o.jsx(Ve,{prompts:n,connectionId:s,org:r,connectionTitle:d,connectionIcon:g}),e[0]=s,e[1]=r,e[2]=n,e[3]=d,e[4]=g,e[5]=N):N=e[5],N}function Ke(t){const e=Q.c(2),{repository:n}=t;let s;return e[0]!==n?(s=o.jsx("div",{className:"flex-1 overflow-y-auto bg-background",children:o.jsx(Pe,{repository:n})}),e[0]=n,e[1]=s):s=e[1],s}function ze(t){const e=Q.c(39),{resources:n,connectionTitle:s,connectionIcon:r,onResourceClick:p,showToolbar:d,emptyMessage:g}=t,N=d===void 0?!0:d,A=g===void 0?"This connection doesn't have any resources yet.":g,I=te().location.href,[f,U]=q.useState(""),[b,x]=q.useState("table"),[a,m]=q.useState("name"),[j,l]=q.useState("asc");let E;e[0]!==j||e[1]!==a?(E=i=>{a===i?(l(Je),j==="desc"&&m(void 0)):(m(i),l("asc"))},e[0]=j,e[1]=a,e[2]=E):E=e[2];const u=E;let B;e[3]!==p?(B=i=>{p&&p(i)},e[3]=p,e[4]=B):B=e[4];const M=B;let S;if(e[5]!==n||e[6]!==f||e[7]!==j||e[8]!==a){const i=!n||n.length===0?[]:f.trim()?(()=>{const V=f.toLowerCase();return n.filter(R=>R.uri.toLowerCase().includes(V)||R.name&&R.name.toLowerCase().includes(V)||R.description&&R.description.toLowerCase().includes(V))})():n;S=!a||!j?i:[...i].sort((V,R)=>{const h=V[a]||"",z=R[a]||"",O=String(h).localeCompare(String(z));return j==="asc"?O:-O}),e[5]=n,e[6]=f,e[7]=j,e[8]=a,e[9]=S}else S=e[9];const v=S;let L;e[10]===Symbol.for("react.memo_cache_sentinel")?(L=[{id:"name",header:"Name",render:He,sortable:!0},{id:"uri",header:"URI",render:Ge,sortable:!0},{id:"description",header:"Description",render:We,cellClassName:"flex-1",sortable:!0},{id:"mimeType",header:"Type",render:Fe,sortable:!0}],e[10]=L):L=e[10];const T=L;let _;e[11]===Symbol.for("react.memo_cache_sentinel")?(_=T.filter(Qe).map(qe),e[11]=_):_=e[11];const D=_;let c;e[12]!==r||e[13]!==s||e[14]!==u||e[15]!==N||e[16]!==j||e[17]!==a||e[18]!==I||e[19]!==b?(c=N&&o.jsxs(re,{children:[o.jsx(ce,{viewMode:b,onViewModeChange:x,sortKey:a,sortDirection:j,onSort:u,sortOptions:D}),o.jsx(le,{title:s?`${s}: Resources`:"Resources",url:I,icon:r??"folder"})]}),e[12]=r,e[13]=s,e[14]=u,e[15]=N,e[16]=j,e[17]=a,e[18]=I,e[19]=b,e[20]=c):c=e[20];let P;e[21]===Symbol.for("react.memo_cache_sentinel")?(P=i=>{i.key==="Escape"&&(U(""),i.target.blur())},e[21]=P):P=e[21];let k;e[22]!==f?(k=o.jsx(ae,{value:f,onChange:U,placeholder:"Search resources...",onKeyDown:P}),e[22]=f,e[23]=k):k=e[23];let y;e[24]!==A||e[25]!==M||e[26]!==u||e[27]!==f||e[28]!==j||e[29]!==a||e[30]!==v||e[31]!==b?(y=b==="cards"?o.jsx("div",{className:"flex-1 overflow-auto p-5",children:v.length===0?o.jsx(H,{image:null,title:f?"No resources found":"No resources available",description:f?"Try adjusting your search terms":A}):o.jsx("div",{className:"grid grid-cols-1 md:grid-cols-3 lg:grid-cols-4 gap-4",children:v.map(i=>o.jsx(me,{className:"cursor-pointer transition-colors",onClick:()=>M(i),children:o.jsxs("div",{className:"flex flex-col gap-4 p-6",children:[o.jsx(oe,{icon:null,name:i.name||i.uri,size:"md",className:"shrink-0 shadow-sm"}),o.jsxs("div",{className:"flex flex-col gap-1",children:[o.jsx("h3",{className:"text-base font-medium text-foreground truncate",children:i.name||i.uri}),o.jsx("p",{className:"text-xs font-mono text-muted-foreground truncate",children:i.uri}),i.description&&o.jsx("p",{className:"text-sm text-muted-foreground line-clamp-2 mt-1",children:i.description})]})]})},i.uri))})}):o.jsx(ie,{columns:T,data:v,isLoading:!1,sortKey:a,sortDirection:j,onSort:u,onRowClick:i=>M(i),emptyState:o.jsx(H,{image:null,title:f?"No resources found":"No resources available",description:f?"Try adjusting your search terms":A})}),e[24]=A,e[25]=M,e[26]=u,e[27]=f,e[28]=j,e[29]=a,e[30]=v,e[31]=b,e[32]=y):y=e[32];let w;e[33]!==k||e[34]!==y?(w=o.jsxs("div",{className:"flex flex-col h-full overflow-hidden",children:[k,y]}),e[33]=k,e[34]=y,e[35]=w):w=e[35];let C;return e[36]!==w||e[37]!==c?(C=o.jsxs(o.Fragment,{children:[c,w]}),e[36]=w,e[37]=c,e[38]=C):C=e[38],C}function qe(t){return{id:t.id,label:typeof t.header=="string"?t.header:t.id}}function Qe(t){return t.sortable}function Fe(t){return o.jsx("span",{className:"text-sm text-muted-foreground",children:t.mimeType||"—"})}function We(t){return o.jsx("span",{className:"text-sm text-foreground",children:t.description||"—"})}function Ge(t){return o.jsx("span",{className:"text-sm font-mono text-muted-foreground",children:t.uri})}function He(t){return o.jsx("span",{className:"text-sm font-medium text-foreground",children:t.name||t.uri})}function Je(t){return t==="asc"?"desc":t==="desc"?null:"asc"}function Xe(t){const e=Q.c(6),{resources:n,connectionId:s,org:r}=t,p=Z(s),d=p?.title,g=p?.icon;let N;return e[0]!==s||e[1]!==r||e[2]!==n||e[3]!==d||e[4]!==g?(N=o.jsx(ze,{resources:n,connectionId:s,org:r,connectionTitle:d,connectionIcon:g}),e[0]=s,e[1]=r,e[2]=n,e[3]=d,e[4]=g,e[5]=N):N=e[5],N}function Ye(t){const e=Q.c(5),{tools:n,connectionId:s,org:r,isLoading:p}=t;let d;return e[0]!==s||e[1]!==p||e[2]!==r||e[3]!==n?(d=o.jsx(Me,{tools:n,connectionId:s,org:r,isLoading:p}),e[0]=s,e[1]=p,e[2]=r,e[3]=n,e[4]=d):d=e[4],d}function Ze(t){const e=Q.c(72),{connection:n,connectionId:s,org:r,requestedTabId:p,collections:d,onUpdate:g,isUpdating:N,prompts:A,resources:$,tools:I,isLoadingTools:f}=t;let U;e[0]===Symbol.for("react.memo_cache_sentinel")?(U={from:"/$org/mcps/$connectionId"},e[0]=U):U=e[0];const b=Y(U);let x;e[1]!==s?(x={connectionId:s},e[1]=s,e[2]=x):x=e[2];const a=xe(x),m=a.isAuthenticated,j=n?.metadata?.repository,l=!!j?.url,E=I.length,u=A.length,B=$.length,M=E>0||f;let S;e[3]===Symbol.for("react.memo_cache_sentinel")?(S={id:"settings",label:"Settings"},e[3]=S):S=e[3];let v;e[4]!==f||e[5]!==m||e[6]!==M||e[7]!==E?(v=m&&M?[{id:"tools",label:"Tools",count:f?void 0:E}]:[],e[4]=f,e[5]=m,e[6]=M,e[7]=E,e[8]=v):v=e[8];let L;e[9]!==m||e[10]!==u?(L=m&&u>0?[{id:"prompts",label:"Prompts",count:u}]:[],e[9]=m,e[10]=u,e[11]=L):L=e[11];let T;e[12]!==m||e[13]!==B?(T=m&&B>0?[{id:"resources",label:"Resources",count:B}]:[],e[12]=m,e[13]=B,e[14]=T):T=e[14];let _;if(e[15]!==d||e[16]!==l||e[17]!==m||e[18]!==v||e[19]!==L||e[20]!==T){let K;e[22]!==l?(K=l?[{id:"readme",label:"README"}]:[],e[22]=l,e[23]=K):K=e[23],_=[S,...v,...L,...T,...m?(d||[]).map(et):[],...K],e[15]=d,e[16]=l,e[17]=m,e[18]=v,e[19]=L,e[20]=T,e[21]=_}else _=e[21];const D=_,c=D.some(K=>K.id===p)?p:"settings";let P;e[24]!==b?(P=K=>{b({search:X=>({...X,tab:K}),replace:!0})},e[24]=b,e[25]=P):P=e[25];const k=P;let y;e[26]!==d?(y=d||[],e[26]=d,e[27]=y):y=e[27];let w;if(e[28]!==c||e[29]!==y){let K;e[31]!==c?(K=X=>X.name===c,e[31]=c,e[32]=K):K=e[32],w=y.find(K),e[28]=c,e[29]=y,e[30]=w}else w=e[30];const C=w;let i;e[33]!==r?(i=o.jsx(ee,{children:o.jsx(je,{asChild:!0,children:o.jsx(fe,{to:"/$org/mcps",params:{org:r},children:"Connections"})})}),e[33]=r,e[34]=i):i=e[34];let V;e[35]===Symbol.for("react.memo_cache_sentinel")?(V=o.jsx(ye,{}),e[35]=V):V=e[35];let R;e[36]!==n.title?(R=o.jsx(ee,{children:o.jsx(be,{children:n.title})}),e[36]=n.title,e[37]=R):R=e[37];let h;e[38]!==i||e[39]!==R?(h=o.jsx(Se,{children:o.jsxs(Ce,{children:[i,V,R]})}),e[38]=i,e[39]=R,e[40]=h):h=e[40];const z=h;let O;e[41]!==c||e[42]!==k||e[43]!==D?(O=o.jsx(_e,{children:o.jsx(Le,{tabs:D,activeTab:c,onTabChange:k})}),e[41]=c,e[42]=k,e[43]=D,e[44]=O):O=e[44];let G;e[45]===Symbol.for("react.memo_cache_sentinel")?(G=o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(ne,{size:32,className:"animate-spin text-muted-foreground"})}),e[45]=G):G=e[45];let W;e[46]!==C||e[47]!==c||e[48]!==a.hasOAuthToken||e[49]!==a.isServerError||e[50]!==a.supportsOAuth||e[51]!==n||e[52]!==s||e[53]!==k||e[54]!==l||e[55]!==f||e[56]!==m||e[57]!==N||e[58]!==g||e[59]!==r||e[60]!==A||e[61]!==j||e[62]!==$||e[63]!==I?(W=o.jsx(q.Suspense,{fallback:G,children:c==="tools"?o.jsx(Ye,{tools:I,connectionId:s,org:r,isLoading:f}):c==="prompts"?o.jsx(Ue,{prompts:A,connectionId:s,org:r}):c==="resources"?o.jsx(Xe,{resources:$,connectionId:s,org:r}):c==="settings"?o.jsx(ge,{connection:n,onUpdate:g,isUpdating:N,isMCPAuthenticated:m,supportsOAuth:a.supportsOAuth,hasOAuthToken:a.hasOAuthToken,isServerError:a.isServerError,onViewReadme:l?()=>k("readme"):void 0}):c==="readme"&&l?o.jsx(Ke,{repository:j}):C&&m?o.jsx(Re,{connectionId:s,org:r,activeCollection:C},c):o.jsx(H,{title:"Collection not found",description:"This collection may have been deleted or you may not have access."})}),e[46]=C,e[47]=c,e[48]=a.hasOAuthToken,e[49]=a.isServerError,e[50]=a.supportsOAuth,e[51]=n,e[52]=s,e[53]=k,e[54]=l,e[55]=f,e[56]=m,e[57]=N,e[58]=g,e[59]=r,e[60]=A,e[61]=j,e[62]=$,e[63]=I,e[64]=W):W=e[64];let F;e[65]!==c||e[66]!==W?(F=o.jsx("div",{className:"flex h-full w-full bg-background overflow-hidden",children:o.jsx("div",{className:"flex-1 flex flex-col min-w-0 bg-background overflow-auto",children:o.jsx(se,{children:W},c)})}),e[65]=c,e[66]=W,e[67]=F):F=e[67];let J;return e[68]!==z||e[69]!==O||e[70]!==F?(J=o.jsxs(ke,{breadcrumb:z,children:[O,F]}),e[68]=z,e[69]=O,e[70]=F,e[71]=J):J=e[71],J}function et(t){return{id:t.name,label:t.displayName}}function tt(){const t=Q.c(43);let e;t[0]===Symbol.for("react.memo_cache_sentinel")?(e={from:"/$org/mcps/$connectionId"},t[0]=e):e=t[0];const n=Y(e);let s;t[1]===Symbol.for("react.memo_cache_sentinel")?(s={from:"/shell/$org/mcps/$connectionId"},t[1]=s):s=t[1];const{connectionId:r,org:p}=de(s),{org:d}=ue();let g;t[2]===Symbol.for("react.memo_cache_sentinel")?(g={from:"/shell/$org/mcps/$connectionId"},t[2]=g):g=t[2];const A=pe(g).tab||"settings",$=Z(r),I=Ne(),f=he($??void 0);let U;t[3]!==r||t[4]!==d.id?(U={connectionId:r,orgId:d.id},t[3]=r,t[4]=d.id,t[5]=U):U=t[5];const b=Te(U);let x;t[6]!==b?(x={client:b},t[6]=b,t[7]=x):x=t[7];const{data:a}=we(x);let m;t[8]!==b?(m={client:b},t[8]=b,t[9]=m):m=t[9];const{data:j}=$e(m),l=$?.tools&&$.tools.length>0,E=!l;let u;t[10]!==b||t[11]!==E?(u={client:b,enabled:E},t[10]=b,t[11]=E,t[12]=u):u=t[12];const{data:B,isLoading:M}=ve(u);let S;t[13]!==a?.prompts?(S=a?.prompts??[],t[13]=a?.prompts,t[14]=S):S=t[14];let v;t[15]!==S?(v=S.map(nt),t[15]=S,t[16]=v):v=t[16];const L=v;let T;t[17]!==j?.resources?(T=j?.resources??[],t[17]=j?.resources,t[18]=T):T=t[18];let _;t[19]!==T?(_=T.map(st),t[19]=T,t[20]=_):_=t[20];const D=_;let c;t[21]!==$||t[22]!==l||t[23]!==B?.tools?(c=l?$.tools??[]:(B?.tools??[]).map(ot),t[21]=$,t[22]=l,t[23]=B?.tools,t[24]=c):c=t[24];const P=c;let k;t[25]!==I.update||t[26]!==r?(k=async C=>{await I.update.mutateAsync({id:r,data:C})},t[25]=I.update,t[26]=r,t[27]=k):k=t[27];const y=k;if(!$){let C;return t[28]!==n||t[29]!==p?(C=o.jsx("div",{className:"flex h-full w-full bg-background",children:o.jsx(H,{title:"Connection not found",description:"This connection may have been deleted or you may not have access.",actions:o.jsx(Ie,{variant:"outline",onClick:()=>n({to:"/$org/mcps",params:{org:p}}),children:"Back to connections"})})}),t[28]=n,t[29]=p,t[30]=C):C=t[30],C}let w;return t[31]!==I.update.isPending||t[32]!==f||t[33]!==$||t[34]!==r||t[35]!==y||t[36]!==M||t[37]!==p||t[38]!==L||t[39]!==A||t[40]!==D||t[41]!==P?(w=o.jsx(Ze,{org:p,connection:$,connectionId:r,requestedTabId:A,collections:f,onUpdate:y,isUpdating:I.update.isPending,prompts:L,resources:D,tools:P,isLoadingTools:M}),t[31]=I.update.isPending,t[32]=f,t[33]=$,t[34]=r,t[35]=y,t[36]=M,t[37]=p,t[38]=L,t[39]=A,t[40]=D,t[41]=P,t[42]=w):w=t[42],w}function ot(t){return{name:t.name,description:t.description,inputSchema:t.inputSchema}}function st(t){return{uri:t.uri,name:t.name,description:t.description}}function nt(t){return{name:t.name,description:t.description}}function rt(){const t=Q.c(1);let e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=o.jsx(se,{children:o.jsx(q.Suspense,{fallback:o.jsx("div",{className:"flex h-full items-center justify-center bg-background",children:o.jsx(ne,{size:32,className:"animate-spin text-muted-foreground"})}),children:o.jsx(tt,{})})}),t[0]=e):e=t[0],e}function Ro(){const t=Q.c(1);let e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=o.jsx(rt,{}),t[0]=e):e=t[0],e}export{Ro as default};
@@ -1 +1 @@
1
- import{c as ge,j as e,r as z,u as je,l as fe,f as ye,g as ve,m as _e,k as Ce,h as ke,i as Ne,o as re,n as be,s as y,_ as Se}from"./index-bZDjEZjy.js";import{C as we,a as De}from"./collection-table-wrapper-C7PJGoEH.js";import{C as Pe}from"./collection-search-imk5y1tl.js";import{P as T}from"./index-By5YaRHP.js";import{B as Te,a as Ie,b as Ve,c as $e}from"./breadcrumb-DYzoaO6c.js";import{C as Ae}from"./connection-card-D2X3Om4T.js";import{n as H,E as O,I as Ee}from"./empty-state-DYXlKoSr.js";import{E as Be}from"./error-boundary-BNlY9vIT.js";import{u as Fe}from"./use-binding-a8EbFjQ8.js";import{u as He,s as J}from"./use-list-state-BR0DnP45.js";import{e as Oe}from"./use-collections-C8m0cpJK.js";import{a as Me,b as ze}from"./use-connection-BsXZoJuC.js";import{u as Re}from"./constants-BZCTYQ-m.js";import{f as Ue,a as Le,b as Xe,c as We,d as Ke,e as Ge,A as qe,g as Ye}from"./alert-dialog-DvH3np1K.js";import{B as Qe}from"./badge-D0aebo3b.js";import{B as _}from"./button-ClfTbYRX.js";import{D as Je,a as Ze,b as et,c as tt,d as nt,e as st}from"./dialog-Btg4sCez.js";import{D as Z,a as ee,b as te,c as A}from"./dropdown-menu-DN1Ltf10.js";import{a as ot,F as h,b as x,c as g,d as j,f}from"./form-CYYoaqIb.js";import{i as ne}from"./DotsVertical-DiYKrTRi.js";import{f as rt,e as it,s as M}from"./registry-utils-pqvn-SQ9.js";import{i as at}from"./Loading01-267RBTet.js";import{i as ct}from"./Terminal-DyHs8Rf6.js";import{s as se}from"./Trash01-DlcrlG40.js";import{I as k}from"./input-Db3X6HvF.js";import{S as lt,a as dt,b as ut,c as mt,d as I}from"./select-DdPku9Z8.js";import{T as pt}from"./textarea-CJUn3-Wq.js";import{g as ht}from"./generate-id-Dyweu44Y.js";import{r as xt,E as gt,e as ie}from"./env-vars-editor-ChPRpV0a.js";import"./ArrowUp-D5u5S04m.js";import"./Check-DCDAnqOU.js";import"./Grid01-hfoOS4OQ.js";import"./List-Byzk8GIH.js";import"./view-mode-toggle-BuBlE9kN.js";import"./table-fsTaEaaU.js";import"./SearchMd-7_DsxZht.js";import"./ChevronRight-DspCPj_w.js";import"./card-D919Ye14.js";import"./binder-DhS3ZsVD.js";import"./use-mobile-BJaPqgO-.js";import"./useMutation-BUU-3CfS.js";import"./useQuery-CziyW3rA.js";import"./X-BDbowDxs.js";import"./ChevronDown-DutrckZC.js";import"./Plus-zV6WU4JB.js";const jt=re({key:y(),value:y()}),ft=re({title:y().min(1,"Name is required"),description:y().nullable().optional(),ui_type:Se(["HTTP","SSE","Websocket","NPX","STDIO"]),connection_url:y().optional(),connection_token:y().nullable().optional(),npx_package:y().optional(),stdio_command:y().optional(),stdio_args:y().optional(),stdio_cwd:y().optional(),env_vars:be(jt).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 B(n){const o=n.trim();if(!o)return"";try{const i=new URL(o),d=i.pathname.length>1?i.pathname.replace(/\/+$/,""):i.pathname;return`${i.origin}${d}`}catch{return o.replace(/\/+$/,"")}}function yt(n){const o=n.trim().split(/\s+/).filter(Boolean);if(o.length<2)return null;const i=o[0]?.toLowerCase();if(i!=="npx"&&i!=="bunx")return null;const m=o.slice(1).find(a=>!a.startsWith("-"));return m?{packageName:m}:null}function E(n){const{uiType:o}=n,i=B(n.connectionUrl??"");if((o==="HTTP"||o==="SSE"||o==="Websocket")&&i===B("https://api.githubcopilot.com/mcp/"))return{id:"github",title:"GitHub",description:"GitHub Copilot MCP",token:{label:"GitHub PAT",placeholder:"github_pat_…",helperText:"Paste a GitHub Personal Access Token (PAT)"}};const d=(n.npxPackage??"").trim();return o==="NPX"&&d==="@perplexity-ai/mcp-server"?{id:"perplexity",title:"Perplexity",description:"Perplexity MCP Server",envVarKeys:["PERPLEXITY_API_KEY"]}:null}function oe(n){if(n.registryItems.length===0||n.uiType!=="HTTP"&&n.uiType!=="SSE"&&n.uiType!=="Websocket")return null;const o=B(n.connectionUrl??"");if(!o)return null;const i=n.registryItems.find(a=>(a.server?.remotes??[]).some(N=>B(N.url??"")===o));if(!i)return null;const d=i.title||i.name||i.server?.title||i.server?.name||"",m=i.server?.description||i.description||i.summary||null;return d?{id:"registry",title:d,description:m}:null}function vt(n,o){const i={command:"npx",args:["-y",n]},d=ie(o);return Object.keys(d).length>0&&(i.envVars=d),i}function _t(n,o,i,d){const m={command:n};o.trim()&&(m.args=o.trim().split(/\s+/)),i?.trim()&&(m.cwd=i.trim());const a=ie(d);return Object.keys(a).length>0&&(m.envVars=a),m}function Ct(n){return n.command==="npx"}function kt(n){return n.args?.find(o=>!o.startsWith("-"))??""}function Nt(n){return{command:n.command,args:n.args?.join(" ")??"",cwd:n.cwd??""}}function bt(n,o){switch(o.type){case"edit":return{mode:"editing",connection:o.connection};case"delete":return{mode:"deleting",connection:o.connection};case"close":return{mode:"idle"}}}function St(){const{org:n}=je(),o=fe(),i=ye({strict:!1}),{data:d}=ve.useSession(),{stdioEnabled:m}=_e(),a=He({namespace:n.slug,resource:"connections"}),V=Me(),N=ze(a),[v,b]=z.useReducer(bt,{mode:"idle"}),R=Fe(N)[0],U=R?.id??"",L=rt(R?.tools),ae=Re({connectionId:U||null,orgId:n.id}),{data:ce}=Oe({client:ae,toolName:L,toolArguments:{limit:200},enabled:!!(U&&L),staleTime:3600*1e3,select:t=>t.structuredContent??t}),X=it(ce??[]),W=i.action==="create",le=()=>{o({to:"/$org/mcps",params:{org:n.slug},search:{action:"create"}})},K=()=>{o({to:"/$org/mcps",params:{org:n.slug},search:{}})},r=Ce({resolver:ke(ft),defaultValues:{title:"",description:null,ui_type:"HTTP",connection_url:"",connection_token:null,npx_package:"",stdio_command:"",stdio_args:"",stdio_cwd:"",env_vars:[]}}),u=r.watch("ui_type"),G=r.watch("connection_url"),de=r.watch("npx_package"),D=E({uiType:u,connectionUrl:G??"",npxPackage:de??""})??oe({uiType:u,connectionUrl:G??"",registryItems:X}),l=v.mode==="editing"?v.connection:null;z.useEffect(()=>{if(l){const t=Ne(l.connection_headers)?l.connection_headers:null;if(t&&l.connection_type==="STDIO"){const s=xt(t.envVars);if(Ct(t)){const c=kt(t);r.reset({title:l.title,description:l.description,ui_type:"NPX",connection_url:"",connection_token:null,npx_package:c,stdio_command:"",stdio_args:"",stdio_cwd:"",env_vars:s})}else{const c=Nt(t);r.reset({title:l.title,description:l.description,ui_type:"STDIO",connection_url:"",connection_token:null,npx_package:"",stdio_command:c.command,stdio_args:c.args,stdio_cwd:c.cwd,env_vars:s})}}else r.reset({title:l.title,description:l.description,ui_type:l.connection_type,connection_url:l.connection_url??"",connection_token:null,npx_package:"",stdio_command:"",stdio_args:"",stdio_cwd:"",env_vars:[]})}else r.reset({title:"",description:null,ui_type:"HTTP",connection_url:"",connection_token:null,npx_package:"",stdio_command:"",stdio_args:"",stdio_cwd:"",env_vars:[]})},[l,r]);const ue=async()=>{if(v.mode!=="deleting")return;const t=v.connection.id;b({type:"close"});try{await V.delete.mutateAsync(t)}catch{}},me=async t=>{let s,c=null,S=null,C=null;if(t.ui_type==="NPX"?(s="STDIO",c="",C=vt(t.npx_package||"",t.env_vars||[])):t.ui_type==="STDIO"?(s="STDIO",c="",C=_t(t.stdio_command||"",t.stdio_args||"",t.stdio_cwd,t.env_vars||[])):(s=t.ui_type,c=t.connection_url||"",S=t.connection_token||null),l){await V.update.mutateAsync({id:l.id,data:{title:t.title,description:t.description||null,connection_type:s,connection_url:c,...S&&{connection_token:S},...C&&{connection_headers:C}}}),b({type:"close"}),r.reset();return}const w=ht("conn");await V.create.mutateAsync({id:w,title:t.title,description:t.description||null,connection_type:s,connection_url:c,connection_token:S,created_at:new Date().toISOString(),updated_at:new Date().toISOString(),created_by:d?.user?.id||"system",organization_id:n.id,icon:null,app_name:null,app_id:null,connection_headers:C,oauth_config:null,configuration_state:null,metadata:null,tools:null,bindings:null,status:"inactive"}),K(),r.reset(),o({to:"/$org/mcps/$connectionId",params:{org:n.slug,connectionId:w}})},q=t=>{t||(W?K():b({type:"close"}),r.reset())},$=t=>{const s=t.trim();if(!s)return;const c=!!r.formState.dirtyFields.title,S=!!r.formState.dirtyFields.description,C=!!r.formState.dirtyFields.env_vars,w=p=>{if(p&&(!c&&!r.getValues("title").trim()&&p.title&&r.setValue("title",p.title,{shouldDirty:!1}),!S&&!(r.getValues("description")??"").trim()&&p.description&&r.setValue("description",p.description,{shouldDirty:!1}),!C&&p.envVarKeys?.length)){const Y=r.getValues("env_vars")??[],xe=new Set(Y.map(P=>P.key)),Q=p.envVarKeys.filter(P=>!xe.has(P));Q.length>0&&r.setValue("env_vars",[...Y,...Q.map(P=>({key:P,value:""}))],{shouldDirty:!0})}},F=yt(s);if(F&&m){r.setValue("ui_type","NPX",{shouldDirty:!0}),r.setValue("npx_package",F.packageName,{shouldDirty:!0}),r.setValue("connection_url","",{shouldDirty:!0}),r.setValue("connection_token",null,{shouldDirty:!0}),w(E({uiType:"NPX",npxPackage:F.packageName}));return}if(s.startsWith("http://")||s.startsWith("https://")){const p=u==="HTTP"||u==="SSE"||u==="Websocket"?u:"HTTP";r.setValue("ui_type",p,{shouldDirty:!0}),r.setValue("connection_url",s,{shouldDirty:!0}),w(E({uiType:p,connectionUrl:s})??oe({uiType:p,connectionUrl:s,registryItems:X}));return}u==="NPX"&&w(E({uiType:"NPX",npxPackage:s}))},pe=[{id:"icon",header:"",render:t=>e.jsx(Ee,{icon:t.icon,name:t.title,size:"sm",className:"shrink-0 shadow-sm",fallbackIcon:e.jsx(H,{})}),cellClassName:"w-16 shrink-0",wrap:!0},{id:"title",header:"Name",render:t=>e.jsx("span",{className:"text-sm font-medium text-foreground truncate block",title:t.title,children:t.title}),cellClassName:"w-48 max-w-48 min-w-0 shrink-0",sortable:!0},{id:"description",header:"Description",render:t=>e.jsx("span",{className:"text-sm text-foreground line-clamp-2",children:t.description||"—"}),cellClassName:"flex-1 min-w-0",wrap:!0,sortable:!0},{id:"connection_type",header:"Type",accessor:t=>e.jsx("span",{className:"text-sm font-medium",children:t.connection_type}),cellClassName:"w-24 shrink-0",sortable:!0},{id:"connection_url",header:"URL",render:t=>{const s=t.connection_url??"",c=s.length>40?`${s.slice(0,40)}...`:s;return e.jsx("span",{className:"text-sm text-muted-foreground",children:c})},cellClassName:"w-48 min-w-0 shrink-0"},{id:"status",header:"Status",render:t=>e.jsx(Qe,{variant:t.status==="active"?"success":"outline",children:t.status}),cellClassName:"w-24 shrink-0",sortable:!0},{id:"actions",header:"",render:t=>e.jsxs(Z,{children:[e.jsx(ee,{asChild:!0,children:e.jsx(_,{variant:"ghost",size:"sm",className:"h-8 w-8 p-0",onClick:s=>s.stopPropagation(),children:e.jsx(ne,{size:20})})}),e.jsxs(te,{align:"end",onClick:s=>s.stopPropagation(),children:[e.jsxs(A,{onClick:s=>{s.stopPropagation(),o({to:"/$org/mcps/$connectionId",params:{org:n.slug,connectionId:t.id}})},children:[e.jsx(J,{size:16}),"Open"]}),e.jsxs(A,{variant:"destructive",onClick:s=>{s.stopPropagation(),b({type:"delete",connection:t})},children:[e.jsx(se,{size:16}),"Delete"]})]})]}),cellClassName:"w-12 shrink-0"}],he=e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(_,{variant:"outline",onClick:()=>o({to:"/$org/store",params:{org:n.slug}}),size:"sm",className:"h-7 px-3 rounded-lg text-sm font-medium",children:"Browse Store"}),e.jsx(_,{onClick:le,size:"sm",className:"h-7 px-3 rounded-lg text-sm font-medium",children:"Custom Connection"})]});return e.jsxs(T,{children:[e.jsx(Je,{open:W||v.mode==="editing",onOpenChange:q,children:e.jsxs(Ze,{className:"sm:max-w-[525px]",children:[e.jsxs(et,{children:[e.jsx(tt,{children:l?"Edit Connection":"Create Connection"}),e.jsx(nt,{children:l?"Update the connection details below.":"Create a custom connection in your organization. Fill in the details below."})]}),e.jsx(ot,{...r,children:e.jsxs("form",{onSubmit:r.handleSubmit(me),children:[e.jsxs("div",{className:"grid gap-4 py-4",children:[e.jsx(h,{control:r.control,name:"ui_type",render:({field:t})=>e.jsxs(x,{children:[e.jsx(g,{children:"Type *"}),e.jsxs(lt,{value:t.value,onValueChange:t.onChange,children:[e.jsx(j,{children:e.jsx(dt,{children:e.jsx(ut,{})})}),e.jsxs(mt,{children:[e.jsx(I,{value:"HTTP",children:e.jsxs("span",{className:"flex items-center gap-2",children:[e.jsx(M,{className:"w-4 h-4"}),"HTTP"]})}),e.jsx(I,{value:"SSE",children:e.jsxs("span",{className:"flex items-center gap-2",children:[e.jsx(M,{className:"w-4 h-4"}),"SSE"]})}),e.jsx(I,{value:"Websocket",children:e.jsxs("span",{className:"flex items-center gap-2",children:[e.jsx(M,{className:"w-4 h-4"}),"Websocket"]})}),m&&e.jsxs(e.Fragment,{children:[e.jsx(I,{value:"NPX",children:e.jsxs("span",{className:"flex items-center gap-2",children:[e.jsx(H,{className:"w-4 h-4"}),"NPX Package"]})}),e.jsx(I,{value:"STDIO",children:e.jsxs("span",{className:"flex items-center gap-2",children:[e.jsx(ct,{className:"w-4 h-4"}),"Custom Command"]})})]})]})]}),e.jsx(f,{})]})}),u==="NPX"&&e.jsx(e.Fragment,{children:e.jsx(h,{control:r.control,name:"npx_package",render:({field:t})=>e.jsxs(x,{children:[e.jsx(g,{children:"NPM Package *"}),e.jsx(j,{children:e.jsx(k,{placeholder:"@perplexity-ai/mcp-server",...t,value:t.value??"",onPaste:s=>{const c=s.clipboardData.getData("text");c&&(s.preventDefault(),r.setValue("npx_package",c.trim(),{shouldDirty:!0}),$(c))},onBlur:s=>{$(s.target.value),t.onBlur()}})}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"The npm package to run with npx"}),e.jsx(f,{})]})})}),u==="STDIO"&&e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"grid grid-cols-2 gap-4 items-start",children:[e.jsx(h,{control:r.control,name:"stdio_command",render:({field:t})=>e.jsxs(x,{children:[e.jsx(g,{children:"Command *"}),e.jsx(j,{children:e.jsx(k,{placeholder:"node, bun, python...",...t,value:t.value??""})}),e.jsx(f,{})]})}),e.jsx(h,{control:r.control,name:"stdio_args",render:({field:t})=>e.jsxs(x,{children:[e.jsx(g,{children:"Arguments"}),e.jsx(j,{children:e.jsx(k,{placeholder:"arg1 arg2 --flag value",...t,value:t.value??""})}),e.jsx(f,{})]})})]}),e.jsx(h,{control:r.control,name:"stdio_cwd",render:({field:t})=>e.jsxs(x,{children:[e.jsx(g,{children:"Working Directory"}),e.jsx(j,{children:e.jsx(k,{placeholder:"/path/to/project (optional)",...t,value:t.value??""})}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"Directory where the command will be executed"}),e.jsx(f,{})]})})]}),(u==="NPX"||u==="STDIO")&&e.jsx(h,{control:r.control,name:"env_vars",render:({field:t})=>e.jsxs(x,{children:[e.jsx(g,{children:"Environment Variables"}),e.jsx(j,{children:e.jsx(gt,{value:t.value??[],onChange:t.onChange})}),e.jsx(f,{})]})}),u!=="NPX"&&u!=="STDIO"&&e.jsxs(e.Fragment,{children:[e.jsx(h,{control:r.control,name:"connection_url",render:({field:t})=>e.jsxs(x,{children:[e.jsx(g,{children:"URL *"}),e.jsx(j,{children:e.jsx(k,{placeholder:"https://example.com/mcp",...t,value:t.value??"",onPaste:s=>{const c=s.clipboardData.getData("text");c&&(s.preventDefault(),r.setValue("connection_url",c.trim(),{shouldDirty:!0}),$(c))},onBlur:s=>{$(s.target.value),t.onBlur()}})}),e.jsx(f,{})]})}),e.jsx(h,{control:r.control,name:"connection_token",render:({field:t})=>e.jsxs(x,{children:[e.jsx(g,{children:D?.token?.label??"Token (optional)"}),e.jsx(j,{children:e.jsx(k,{type:"password",placeholder:D?.token?.placeholder??"Bearer token or API key",...t,value:t.value??""})}),D?.token?.helperText&&e.jsxs("p",{className:"text-xs text-muted-foreground",children:[D.token.helperText,D.id==="github"&&e.jsxs(e.Fragment,{children:[" ","·"," ",e.jsx("a",{className:"text-foreground underline underline-offset-4 hover:text-foreground/80",href:"https://github.com/settings/personal-access-tokens",target:"_blank",rel:"noreferrer",children:"Open GitHub PAT settings"})]})]}),e.jsx(f,{})]})})]}),e.jsx(h,{control:r.control,name:"title",render:({field:t})=>e.jsxs(x,{children:[e.jsx(g,{children:"Name *"}),e.jsx(j,{children:e.jsx(k,{placeholder:"My Connection",...t})}),e.jsx(f,{})]})}),e.jsx(h,{control:r.control,name:"description",render:({field:t})=>e.jsxs(x,{children:[e.jsx(g,{children:"Description"}),e.jsx(j,{children:e.jsx(pt,{placeholder:"A brief description of this connection",rows:3,...t,value:t.value??""})}),e.jsx(f,{})]})})]}),e.jsxs(st,{children:[e.jsx(_,{type:"button",variant:"outline",onClick:()=>q(!1),children:"Cancel"}),e.jsx(_,{type:"submit",disabled:r.formState.isSubmitting,className:"min-w-40",children:r.formState.isSubmitting?"Saving...":l?"Update Connection":"Create Connection"})]})]})})]})}),e.jsx(Ue,{open:v.mode==="deleting",onOpenChange:t=>!t&&b({type:"close"}),children:e.jsxs(Le,{children:[e.jsxs(Xe,{children:[e.jsx(We,{children:"Delete Connection?"}),e.jsxs(Ke,{children:["This action cannot be undone. This will permanently delete"," ",e.jsx("span",{className:"font-medium text-foreground",children:v.mode==="deleting"&&v.connection.title}),"."]})]}),e.jsxs(Ge,{children:[e.jsx(qe,{children:"Cancel"}),e.jsx(Ye,{onClick:ue,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:"Delete"})]})]})}),e.jsxs(T.Header,{children:[e.jsx(T.Header.Left,{children:e.jsx(Te,{children:e.jsx(Ie,{children:e.jsx(Ve,{children:e.jsx($e,{children:"Connections"})})})})}),e.jsxs(T.Header.Right,{children:[e.jsx(we,{viewMode:a.viewMode,onViewModeChange:a.setViewMode,sortKey:a.sortKey,sortDirection:a.sortDirection,onSort:a.handleSort,sortOptions:[{id:"title",label:"Name"},{id:"description",label:"Description"},{id:"connection_type",label:"Type"},{id:"status",label:"Status"}]}),he]})]}),e.jsx(Pe,{value:a.search,onChange:a.setSearch,placeholder:"Search for a Connection...",onKeyDown:t=>{t.key==="Escape"&&(a.setSearch(""),t.target.blur())}}),e.jsx(T.Content,{children:a.viewMode==="cards"?e.jsx("div",{className:"flex-1 overflow-auto p-5",children:N.length===0?e.jsx(O,{image:e.jsx("img",{src:"/emptystate-mcp.svg",alt:"",width:336,height:320,"aria-hidden":"true"}),title:(a.search,"No Connections found"),description:a.search?`No Connections match "${a.search}"`:"Create a connection to get started.",actions:!a.search&&e.jsx(_,{variant:"outline",onClick:()=>o({to:"/$org/store",params:{org:n.slug}}),children:"Browse Store"})}):e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-3 lg:grid-cols-4 gap-4",children:N.map(t=>e.jsx(Ae,{connection:t,fallbackIcon:e.jsx(H,{}),onClick:()=>o({to:"/$org/mcps/$connectionId",params:{org:n.slug,connectionId:t.id}}),headerActions:e.jsxs(Z,{children:[e.jsx(ee,{asChild:!0,children:e.jsx(_,{variant:"ghost",size:"sm",className:"h-8 w-8 p-0",onClick:s=>s.stopPropagation(),children:e.jsx(ne,{size:20})})}),e.jsxs(te,{align:"end",onClick:s=>s.stopPropagation(),children:[e.jsxs(A,{onClick:s=>{s.stopPropagation(),o({to:"/$org/mcps/$connectionId",params:{org:n.slug,connectionId:t.id}})},children:[e.jsx(J,{size:16}),"Open"]}),e.jsxs(A,{variant:"destructive",onClick:s=>{s.stopPropagation(),b({type:"delete",connection:t})},children:[e.jsx(se,{size:16}),"Delete"]})]})]})},t.id))})}):e.jsx("div",{className:"h-full flex flex-col overflow-hidden",children:e.jsx(De,{columns:pe,data:N,isLoading:!1,sortKey:a.sortKey,sortDirection:a.sortDirection,onSort:a.handleSort,onRowClick:t=>o({to:"/$org/mcps/$connectionId",params:{org:n.slug,connectionId:t.id}}),emptyState:a.search?e.jsx(O,{image:e.jsx("img",{src:"/emptystate-mcp.svg",alt:"",width:400,height:178,"aria-hidden":"true"}),title:"No Connections found",description:`No Connections match "${a.search}"`}):e.jsx(O,{image:e.jsx("img",{src:"/emptystate-mcp.svg",alt:"",width:400,height:178,"aria-hidden":"true"}),title:"No Connections found",description:"Create a connection to get started.",actions:e.jsx(_,{variant:"outline",onClick:()=>o({to:"/$org/store",params:{org:n.slug}}),children:"Browse Store"})})})})})]})}function yn(){const n=ge.c(1);let o;return n[0]===Symbol.for("react.memo_cache_sentinel")?(o=e.jsx(Be,{children:e.jsx(z.Suspense,{fallback:e.jsx("div",{className:"flex h-full items-center justify-center",children:e.jsx(at,{size:32,className:"animate-spin text-muted-foreground"})}),children:e.jsx(St,{})})}),n[0]=o):o=n[0],o}export{yn as default};
1
+ import{c as ge,j as e,r as z,u as je,l as fe,f as ye,g as ve,m as _e,k as Ce,h as ke,i as Ne,o as re,n as be,s as y,_ as Se}from"./index-Bs29EeVO.js";import{C as we,a as De}from"./collection-table-wrapper-BepAjo7t.js";import{C as Pe}from"./collection-search-19Uoq0wQ.js";import{P as T}from"./index-BbS1IcRL.js";import{B as Te,a as Ie,b as Ve,c as $e}from"./breadcrumb-DYbYAORz.js";import{C as Ae}from"./connection-card-D1HxijTE.js";import{n as H,E as O,I as Ee}from"./empty-state-BcO1Ypur.js";import{E as Be}from"./error-boundary-m114tUpJ.js";import{u as Fe}from"./use-binding-GlE21mVe.js";import{u as He,s as J}from"./use-list-state-C35WGVlD.js";import{e as Oe}from"./use-collections-BNOLiMAP.js";import{a as Me,b as ze}from"./use-connection-_63RHsQC.js";import{u as Re}from"./constants-CgYg5TtN.js";import{f as Ue,a as Le,b as Xe,c as We,d as Ke,e as Ge,A as qe,g as Ye}from"./alert-dialog-DMTRbHIN.js";import{B as Qe}from"./badge-B_zXl-jd.js";import{B as _}from"./button-ZOo4pjl-.js";import{D as Je,a as Ze,b as et,c as tt,d as nt,e as st}from"./dialog-C8W_SUym.js";import{D as Z,a as ee,b as te,c as A}from"./dropdown-menu-v13S1hcn.js";import{a as ot,F as h,b as x,c as g,d as j,f}from"./form-r49NhVFy.js";import{i as ne}from"./DotsVertical-CJIZpidj.js";import{f as rt,e as it,s as M}from"./registry-utils-Do3XnHa6.js";import{i as at}from"./Loading01-C4MO3DLf.js";import{i as ct}from"./Terminal-CZfhkitA.js";import{s as se}from"./Trash01-BmWnYoTo.js";import{I as k}from"./input-C4GtYEoZ.js";import{S as lt,a as dt,b as ut,c as mt,d as I}from"./select-DqXwJZyT.js";import{T as pt}from"./textarea-CvbGXUX_.js";import{g as ht}from"./generate-id-Dyweu44Y.js";import{r as xt,E as gt,e as ie}from"./env-vars-editor-BDdZakcM.js";import"./ArrowUp-CsjFvEVu.js";import"./Check-BQfWrOsa.js";import"./Grid01-IhRcMWbZ.js";import"./List-BaGrtyGA.js";import"./view-mode-toggle-D5fN84Hq.js";import"./table-BpYYfeqL.js";import"./SearchMd-DCAvw-zt.js";import"./ChevronRight-BKSZBVse.js";import"./card-DhGWuaMP.js";import"./binder-DNt-QaD5.js";import"./use-mobile-viw7itqe.js";import"./useMutation-DpUHdLIR.js";import"./useQuery-By0-zS-_.js";import"./X-BHekJF0G.js";import"./ChevronDown-a23q7ncj.js";import"./Plus-ByTt0Dzz.js";const jt=re({key:y(),value:y()}),ft=re({title:y().min(1,"Name is required"),description:y().nullable().optional(),ui_type:Se(["HTTP","SSE","Websocket","NPX","STDIO"]),connection_url:y().optional(),connection_token:y().nullable().optional(),npx_package:y().optional(),stdio_command:y().optional(),stdio_args:y().optional(),stdio_cwd:y().optional(),env_vars:be(jt).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 B(n){const o=n.trim();if(!o)return"";try{const i=new URL(o),d=i.pathname.length>1?i.pathname.replace(/\/+$/,""):i.pathname;return`${i.origin}${d}`}catch{return o.replace(/\/+$/,"")}}function yt(n){const o=n.trim().split(/\s+/).filter(Boolean);if(o.length<2)return null;const i=o[0]?.toLowerCase();if(i!=="npx"&&i!=="bunx")return null;const m=o.slice(1).find(a=>!a.startsWith("-"));return m?{packageName:m}:null}function E(n){const{uiType:o}=n,i=B(n.connectionUrl??"");if((o==="HTTP"||o==="SSE"||o==="Websocket")&&i===B("https://api.githubcopilot.com/mcp/"))return{id:"github",title:"GitHub",description:"GitHub Copilot MCP",token:{label:"GitHub PAT",placeholder:"github_pat_…",helperText:"Paste a GitHub Personal Access Token (PAT)"}};const d=(n.npxPackage??"").trim();return o==="NPX"&&d==="@perplexity-ai/mcp-server"?{id:"perplexity",title:"Perplexity",description:"Perplexity MCP Server",envVarKeys:["PERPLEXITY_API_KEY"]}:null}function oe(n){if(n.registryItems.length===0||n.uiType!=="HTTP"&&n.uiType!=="SSE"&&n.uiType!=="Websocket")return null;const o=B(n.connectionUrl??"");if(!o)return null;const i=n.registryItems.find(a=>(a.server?.remotes??[]).some(N=>B(N.url??"")===o));if(!i)return null;const d=i.title||i.name||i.server?.title||i.server?.name||"",m=i.server?.description||i.description||i.summary||null;return d?{id:"registry",title:d,description:m}:null}function vt(n,o){const i={command:"npx",args:["-y",n]},d=ie(o);return Object.keys(d).length>0&&(i.envVars=d),i}function _t(n,o,i,d){const m={command:n};o.trim()&&(m.args=o.trim().split(/\s+/)),i?.trim()&&(m.cwd=i.trim());const a=ie(d);return Object.keys(a).length>0&&(m.envVars=a),m}function Ct(n){return n.command==="npx"}function kt(n){return n.args?.find(o=>!o.startsWith("-"))??""}function Nt(n){return{command:n.command,args:n.args?.join(" ")??"",cwd:n.cwd??""}}function bt(n,o){switch(o.type){case"edit":return{mode:"editing",connection:o.connection};case"delete":return{mode:"deleting",connection:o.connection};case"close":return{mode:"idle"}}}function St(){const{org:n}=je(),o=fe(),i=ye({strict:!1}),{data:d}=ve.useSession(),{stdioEnabled:m}=_e(),a=He({namespace:n.slug,resource:"connections"}),V=Me(),N=ze(a),[v,b]=z.useReducer(bt,{mode:"idle"}),R=Fe(N)[0],U=R?.id??"",L=rt(R?.tools),ae=Re({connectionId:U||null,orgId:n.id}),{data:ce}=Oe({client:ae,toolName:L,toolArguments:{limit:200},enabled:!!(U&&L),staleTime:3600*1e3,select:t=>t.structuredContent??t}),X=it(ce??[]),W=i.action==="create",le=()=>{o({to:"/$org/mcps",params:{org:n.slug},search:{action:"create"}})},K=()=>{o({to:"/$org/mcps",params:{org:n.slug},search:{}})},r=Ce({resolver:ke(ft),defaultValues:{title:"",description:null,ui_type:"HTTP",connection_url:"",connection_token:null,npx_package:"",stdio_command:"",stdio_args:"",stdio_cwd:"",env_vars:[]}}),u=r.watch("ui_type"),G=r.watch("connection_url"),de=r.watch("npx_package"),D=E({uiType:u,connectionUrl:G??"",npxPackage:de??""})??oe({uiType:u,connectionUrl:G??"",registryItems:X}),l=v.mode==="editing"?v.connection:null;z.useEffect(()=>{if(l){const t=Ne(l.connection_headers)?l.connection_headers:null;if(t&&l.connection_type==="STDIO"){const s=xt(t.envVars);if(Ct(t)){const c=kt(t);r.reset({title:l.title,description:l.description,ui_type:"NPX",connection_url:"",connection_token:null,npx_package:c,stdio_command:"",stdio_args:"",stdio_cwd:"",env_vars:s})}else{const c=Nt(t);r.reset({title:l.title,description:l.description,ui_type:"STDIO",connection_url:"",connection_token:null,npx_package:"",stdio_command:c.command,stdio_args:c.args,stdio_cwd:c.cwd,env_vars:s})}}else r.reset({title:l.title,description:l.description,ui_type:l.connection_type,connection_url:l.connection_url??"",connection_token:null,npx_package:"",stdio_command:"",stdio_args:"",stdio_cwd:"",env_vars:[]})}else r.reset({title:"",description:null,ui_type:"HTTP",connection_url:"",connection_token:null,npx_package:"",stdio_command:"",stdio_args:"",stdio_cwd:"",env_vars:[]})},[l,r]);const ue=async()=>{if(v.mode!=="deleting")return;const t=v.connection.id;b({type:"close"});try{await V.delete.mutateAsync(t)}catch{}},me=async t=>{let s,c=null,S=null,C=null;if(t.ui_type==="NPX"?(s="STDIO",c="",C=vt(t.npx_package||"",t.env_vars||[])):t.ui_type==="STDIO"?(s="STDIO",c="",C=_t(t.stdio_command||"",t.stdio_args||"",t.stdio_cwd,t.env_vars||[])):(s=t.ui_type,c=t.connection_url||"",S=t.connection_token||null),l){await V.update.mutateAsync({id:l.id,data:{title:t.title,description:t.description||null,connection_type:s,connection_url:c,...S&&{connection_token:S},...C&&{connection_headers:C}}}),b({type:"close"}),r.reset();return}const w=ht("conn");await V.create.mutateAsync({id:w,title:t.title,description:t.description||null,connection_type:s,connection_url:c,connection_token:S,created_at:new Date().toISOString(),updated_at:new Date().toISOString(),created_by:d?.user?.id||"system",organization_id:n.id,icon:null,app_name:null,app_id:null,connection_headers:C,oauth_config:null,configuration_state:null,metadata:null,tools:null,bindings:null,status:"inactive"}),K(),r.reset(),o({to:"/$org/mcps/$connectionId",params:{org:n.slug,connectionId:w}})},q=t=>{t||(W?K():b({type:"close"}),r.reset())},$=t=>{const s=t.trim();if(!s)return;const c=!!r.formState.dirtyFields.title,S=!!r.formState.dirtyFields.description,C=!!r.formState.dirtyFields.env_vars,w=p=>{if(p&&(!c&&!r.getValues("title").trim()&&p.title&&r.setValue("title",p.title,{shouldDirty:!1}),!S&&!(r.getValues("description")??"").trim()&&p.description&&r.setValue("description",p.description,{shouldDirty:!1}),!C&&p.envVarKeys?.length)){const Y=r.getValues("env_vars")??[],xe=new Set(Y.map(P=>P.key)),Q=p.envVarKeys.filter(P=>!xe.has(P));Q.length>0&&r.setValue("env_vars",[...Y,...Q.map(P=>({key:P,value:""}))],{shouldDirty:!0})}},F=yt(s);if(F&&m){r.setValue("ui_type","NPX",{shouldDirty:!0}),r.setValue("npx_package",F.packageName,{shouldDirty:!0}),r.setValue("connection_url","",{shouldDirty:!0}),r.setValue("connection_token",null,{shouldDirty:!0}),w(E({uiType:"NPX",npxPackage:F.packageName}));return}if(s.startsWith("http://")||s.startsWith("https://")){const p=u==="HTTP"||u==="SSE"||u==="Websocket"?u:"HTTP";r.setValue("ui_type",p,{shouldDirty:!0}),r.setValue("connection_url",s,{shouldDirty:!0}),w(E({uiType:p,connectionUrl:s})??oe({uiType:p,connectionUrl:s,registryItems:X}));return}u==="NPX"&&w(E({uiType:"NPX",npxPackage:s}))},pe=[{id:"icon",header:"",render:t=>e.jsx(Ee,{icon:t.icon,name:t.title,size:"sm",className:"shrink-0 shadow-sm",fallbackIcon:e.jsx(H,{})}),cellClassName:"w-16 shrink-0",wrap:!0},{id:"title",header:"Name",render:t=>e.jsx("span",{className:"text-sm font-medium text-foreground truncate block",title:t.title,children:t.title}),cellClassName:"w-48 max-w-48 min-w-0 shrink-0",sortable:!0},{id:"description",header:"Description",render:t=>e.jsx("span",{className:"text-sm text-foreground line-clamp-2",children:t.description||"—"}),cellClassName:"flex-1 min-w-0",wrap:!0,sortable:!0},{id:"connection_type",header:"Type",accessor:t=>e.jsx("span",{className:"text-sm font-medium",children:t.connection_type}),cellClassName:"w-24 shrink-0",sortable:!0},{id:"connection_url",header:"URL",render:t=>{const s=t.connection_url??"",c=s.length>40?`${s.slice(0,40)}...`:s;return e.jsx("span",{className:"text-sm text-muted-foreground",children:c})},cellClassName:"w-48 min-w-0 shrink-0"},{id:"status",header:"Status",render:t=>e.jsx(Qe,{variant:t.status==="active"?"success":"outline",children:t.status}),cellClassName:"w-24 shrink-0",sortable:!0},{id:"actions",header:"",render:t=>e.jsxs(Z,{children:[e.jsx(ee,{asChild:!0,children:e.jsx(_,{variant:"ghost",size:"sm",className:"h-8 w-8 p-0",onClick:s=>s.stopPropagation(),children:e.jsx(ne,{size:20})})}),e.jsxs(te,{align:"end",onClick:s=>s.stopPropagation(),children:[e.jsxs(A,{onClick:s=>{s.stopPropagation(),o({to:"/$org/mcps/$connectionId",params:{org:n.slug,connectionId:t.id}})},children:[e.jsx(J,{size:16}),"Open"]}),e.jsxs(A,{variant:"destructive",onClick:s=>{s.stopPropagation(),b({type:"delete",connection:t})},children:[e.jsx(se,{size:16}),"Delete"]})]})]}),cellClassName:"w-12 shrink-0"}],he=e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(_,{variant:"outline",onClick:()=>o({to:"/$org/store",params:{org:n.slug}}),size:"sm",className:"h-7 px-3 rounded-lg text-sm font-medium",children:"Browse Store"}),e.jsx(_,{onClick:le,size:"sm",className:"h-7 px-3 rounded-lg text-sm font-medium",children:"Custom Connection"})]});return e.jsxs(T,{children:[e.jsx(Je,{open:W||v.mode==="editing",onOpenChange:q,children:e.jsxs(Ze,{className:"sm:max-w-[525px]",children:[e.jsxs(et,{children:[e.jsx(tt,{children:l?"Edit Connection":"Create Connection"}),e.jsx(nt,{children:l?"Update the connection details below.":"Create a custom connection in your organization. Fill in the details below."})]}),e.jsx(ot,{...r,children:e.jsxs("form",{onSubmit:r.handleSubmit(me),children:[e.jsxs("div",{className:"grid gap-4 py-4",children:[e.jsx(h,{control:r.control,name:"ui_type",render:({field:t})=>e.jsxs(x,{children:[e.jsx(g,{children:"Type *"}),e.jsxs(lt,{value:t.value,onValueChange:t.onChange,children:[e.jsx(j,{children:e.jsx(dt,{children:e.jsx(ut,{})})}),e.jsxs(mt,{children:[e.jsx(I,{value:"HTTP",children:e.jsxs("span",{className:"flex items-center gap-2",children:[e.jsx(M,{className:"w-4 h-4"}),"HTTP"]})}),e.jsx(I,{value:"SSE",children:e.jsxs("span",{className:"flex items-center gap-2",children:[e.jsx(M,{className:"w-4 h-4"}),"SSE"]})}),e.jsx(I,{value:"Websocket",children:e.jsxs("span",{className:"flex items-center gap-2",children:[e.jsx(M,{className:"w-4 h-4"}),"Websocket"]})}),m&&e.jsxs(e.Fragment,{children:[e.jsx(I,{value:"NPX",children:e.jsxs("span",{className:"flex items-center gap-2",children:[e.jsx(H,{className:"w-4 h-4"}),"NPX Package"]})}),e.jsx(I,{value:"STDIO",children:e.jsxs("span",{className:"flex items-center gap-2",children:[e.jsx(ct,{className:"w-4 h-4"}),"Custom Command"]})})]})]})]}),e.jsx(f,{})]})}),u==="NPX"&&e.jsx(e.Fragment,{children:e.jsx(h,{control:r.control,name:"npx_package",render:({field:t})=>e.jsxs(x,{children:[e.jsx(g,{children:"NPM Package *"}),e.jsx(j,{children:e.jsx(k,{placeholder:"@perplexity-ai/mcp-server",...t,value:t.value??"",onPaste:s=>{const c=s.clipboardData.getData("text");c&&(s.preventDefault(),r.setValue("npx_package",c.trim(),{shouldDirty:!0}),$(c))},onBlur:s=>{$(s.target.value),t.onBlur()}})}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"The npm package to run with npx"}),e.jsx(f,{})]})})}),u==="STDIO"&&e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"grid grid-cols-2 gap-4 items-start",children:[e.jsx(h,{control:r.control,name:"stdio_command",render:({field:t})=>e.jsxs(x,{children:[e.jsx(g,{children:"Command *"}),e.jsx(j,{children:e.jsx(k,{placeholder:"node, bun, python...",...t,value:t.value??""})}),e.jsx(f,{})]})}),e.jsx(h,{control:r.control,name:"stdio_args",render:({field:t})=>e.jsxs(x,{children:[e.jsx(g,{children:"Arguments"}),e.jsx(j,{children:e.jsx(k,{placeholder:"arg1 arg2 --flag value",...t,value:t.value??""})}),e.jsx(f,{})]})})]}),e.jsx(h,{control:r.control,name:"stdio_cwd",render:({field:t})=>e.jsxs(x,{children:[e.jsx(g,{children:"Working Directory"}),e.jsx(j,{children:e.jsx(k,{placeholder:"/path/to/project (optional)",...t,value:t.value??""})}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"Directory where the command will be executed"}),e.jsx(f,{})]})})]}),(u==="NPX"||u==="STDIO")&&e.jsx(h,{control:r.control,name:"env_vars",render:({field:t})=>e.jsxs(x,{children:[e.jsx(g,{children:"Environment Variables"}),e.jsx(j,{children:e.jsx(gt,{value:t.value??[],onChange:t.onChange})}),e.jsx(f,{})]})}),u!=="NPX"&&u!=="STDIO"&&e.jsxs(e.Fragment,{children:[e.jsx(h,{control:r.control,name:"connection_url",render:({field:t})=>e.jsxs(x,{children:[e.jsx(g,{children:"URL *"}),e.jsx(j,{children:e.jsx(k,{placeholder:"https://example.com/mcp",...t,value:t.value??"",onPaste:s=>{const c=s.clipboardData.getData("text");c&&(s.preventDefault(),r.setValue("connection_url",c.trim(),{shouldDirty:!0}),$(c))},onBlur:s=>{$(s.target.value),t.onBlur()}})}),e.jsx(f,{})]})}),e.jsx(h,{control:r.control,name:"connection_token",render:({field:t})=>e.jsxs(x,{children:[e.jsx(g,{children:D?.token?.label??"Token (optional)"}),e.jsx(j,{children:e.jsx(k,{type:"password",placeholder:D?.token?.placeholder??"Bearer token or API key",...t,value:t.value??""})}),D?.token?.helperText&&e.jsxs("p",{className:"text-xs text-muted-foreground",children:[D.token.helperText,D.id==="github"&&e.jsxs(e.Fragment,{children:[" ","·"," ",e.jsx("a",{className:"text-foreground underline underline-offset-4 hover:text-foreground/80",href:"https://github.com/settings/personal-access-tokens",target:"_blank",rel:"noreferrer",children:"Open GitHub PAT settings"})]})]}),e.jsx(f,{})]})})]}),e.jsx(h,{control:r.control,name:"title",render:({field:t})=>e.jsxs(x,{children:[e.jsx(g,{children:"Name *"}),e.jsx(j,{children:e.jsx(k,{placeholder:"My Connection",...t})}),e.jsx(f,{})]})}),e.jsx(h,{control:r.control,name:"description",render:({field:t})=>e.jsxs(x,{children:[e.jsx(g,{children:"Description"}),e.jsx(j,{children:e.jsx(pt,{placeholder:"A brief description of this connection",rows:3,...t,value:t.value??""})}),e.jsx(f,{})]})})]}),e.jsxs(st,{children:[e.jsx(_,{type:"button",variant:"outline",onClick:()=>q(!1),children:"Cancel"}),e.jsx(_,{type:"submit",disabled:r.formState.isSubmitting,className:"min-w-40",children:r.formState.isSubmitting?"Saving...":l?"Update Connection":"Create Connection"})]})]})})]})}),e.jsx(Ue,{open:v.mode==="deleting",onOpenChange:t=>!t&&b({type:"close"}),children:e.jsxs(Le,{children:[e.jsxs(Xe,{children:[e.jsx(We,{children:"Delete Connection?"}),e.jsxs(Ke,{children:["This action cannot be undone. This will permanently delete"," ",e.jsx("span",{className:"font-medium text-foreground",children:v.mode==="deleting"&&v.connection.title}),"."]})]}),e.jsxs(Ge,{children:[e.jsx(qe,{children:"Cancel"}),e.jsx(Ye,{onClick:ue,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:"Delete"})]})]})}),e.jsxs(T.Header,{children:[e.jsx(T.Header.Left,{children:e.jsx(Te,{children:e.jsx(Ie,{children:e.jsx(Ve,{children:e.jsx($e,{children:"Connections"})})})})}),e.jsxs(T.Header.Right,{children:[e.jsx(we,{viewMode:a.viewMode,onViewModeChange:a.setViewMode,sortKey:a.sortKey,sortDirection:a.sortDirection,onSort:a.handleSort,sortOptions:[{id:"title",label:"Name"},{id:"description",label:"Description"},{id:"connection_type",label:"Type"},{id:"status",label:"Status"}]}),he]})]}),e.jsx(Pe,{value:a.search,onChange:a.setSearch,placeholder:"Search for a Connection...",onKeyDown:t=>{t.key==="Escape"&&(a.setSearch(""),t.target.blur())}}),e.jsx(T.Content,{children:a.viewMode==="cards"?e.jsx("div",{className:"flex-1 overflow-auto p-5",children:N.length===0?e.jsx(O,{image:e.jsx("img",{src:"/emptystate-mcp.svg",alt:"",width:336,height:320,"aria-hidden":"true"}),title:(a.search,"No Connections found"),description:a.search?`No Connections match "${a.search}"`:"Create a connection to get started.",actions:!a.search&&e.jsx(_,{variant:"outline",onClick:()=>o({to:"/$org/store",params:{org:n.slug}}),children:"Browse Store"})}):e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-3 lg:grid-cols-4 gap-4",children:N.map(t=>e.jsx(Ae,{connection:t,fallbackIcon:e.jsx(H,{}),onClick:()=>o({to:"/$org/mcps/$connectionId",params:{org:n.slug,connectionId:t.id}}),headerActions:e.jsxs(Z,{children:[e.jsx(ee,{asChild:!0,children:e.jsx(_,{variant:"ghost",size:"sm",className:"h-8 w-8 p-0",onClick:s=>s.stopPropagation(),children:e.jsx(ne,{size:20})})}),e.jsxs(te,{align:"end",onClick:s=>s.stopPropagation(),children:[e.jsxs(A,{onClick:s=>{s.stopPropagation(),o({to:"/$org/mcps/$connectionId",params:{org:n.slug,connectionId:t.id}})},children:[e.jsx(J,{size:16}),"Open"]}),e.jsxs(A,{variant:"destructive",onClick:s=>{s.stopPropagation(),b({type:"delete",connection:t})},children:[e.jsx(se,{size:16}),"Delete"]})]})]})},t.id))})}):e.jsx("div",{className:"h-full flex flex-col overflow-hidden",children:e.jsx(De,{columns:pe,data:N,isLoading:!1,sortKey:a.sortKey,sortDirection:a.sortDirection,onSort:a.handleSort,onRowClick:t=>o({to:"/$org/mcps/$connectionId",params:{org:n.slug,connectionId:t.id}}),emptyState:a.search?e.jsx(O,{image:e.jsx("img",{src:"/emptystate-mcp.svg",alt:"",width:400,height:178,"aria-hidden":"true"}),title:"No Connections found",description:`No Connections match "${a.search}"`}):e.jsx(O,{image:e.jsx("img",{src:"/emptystate-mcp.svg",alt:"",width:400,height:178,"aria-hidden":"true"}),title:"No Connections found",description:"Create a connection to get started.",actions:e.jsx(_,{variant:"outline",onClick:()=>o({to:"/$org/store",params:{org:n.slug}}),children:"Browse Store"})})})})})]})}function yn(){const n=ge.c(1);let o;return n[0]===Symbol.for("react.memo_cache_sentinel")?(o=e.jsx(Be,{children:e.jsx(z.Suspense,{fallback:e.jsx("div",{className:"flex h-full items-center justify-center",children:e.jsx(at,{size:32,className:"animate-spin text-muted-foreground"})}),children:e.jsx(St,{})})}),n[0]=o):o=n[0],o}export{yn as default};
@@ -1 +1 @@
1
- import{b4 as d,c as g,x as f,b5 as h}from"./index-bZDjEZjy.js";const u={authConfig:()=>["authConfig"],threads:t=>["threads",t],virtualMcpThreads:(t,e)=>["threads",t,"virtual-mcp",e],thread:(t,e)=>["thread",t,e],threadMessages:(t,e)=>["thread-messages",t,e],messages:t=>["messages",t],organizations:()=>["organizations"],members:t=>[t,"members"],invitations:t=>[t,"invitations"],organizationRoles:t=>[t,"organization-roles"],connections:t=>[t,"connections"],connectionsByBinding:(t,e)=>[t,"connections",`binding:${e}`],connection:(t,e)=>[t,"connection",e],isMCPAuthenticated:(t,e)=>["is-mcp-authenticated",t,e],mcpTools:(t,e)=>["mcp","tools",t,e],mcpClient:(t,e,n,o)=>["mcp","client",t,e,n,o],mcpToolsList:t=>["mcp","client",t,"tools"],mcpResourcesList:t=>["mcp","client",t,"resources"],mcpPromptsList:t=>["mcp","client",t,"prompts"],mcpReadResource:(t,e)=>["mcp","client",t,"resource",e],mcpGetPrompt:(t,e,n)=>["mcp","client",t,"prompt",e,n],mcpToolCall:(t,e,n)=>["mcp","client",t,"tool-call",e,n],organizationSettings:t=>["organization-settings",t],activeOrganization:t=>["activeOrganization",t],modelsList:t=>["models-list",t],connectionCollections:t=>[t,"collections","discovery"],toolCall:(t,e,n)=>["tool-call",t,e,n],collectionItems:(t,e)=>["collection",t,e],collection:(t,e,n)=>[t,e,"collection",n],collectionItem:(t,e,n,o,i)=>[t,e,n,"collection",o,i],collectionList:(t,e,n,o,i)=>[t,e,n,"collection",o,"list",i],collectionListInfinite:(t,e,n,o,i)=>[t,e,n,"collection",o,"list-infinite",i],githubReadme:(t,e)=>["github-readme",t,e],monitoringStats:()=>["monitoring","stats"],monitoringLogs:t=>["monitoring","logs",t],monitoringLogsInfinite:(t,e)=>["monitoring","logs-infinite",t,e],virtualMcpPrompts:t=>["virtual-mcp",t,"prompts"],connectionPrompts:t=>["connection",t,"prompts"],connectionResources:t=>["connection",t,"resources"],user:t=>["user",t]};class _ extends d{constructor(e,n){super(e,n)}send(e,n){const o=y(e);return o?.type==="emit"?(this.onmessage?.(o.message),Promise.resolve()):o?.type==="suppress"?Promise.resolve():super.send(e,n)}}function y(t){const e=t;if(!e||typeof e!="object"||!("method"in e))return null;switch(e.method){case"initialize":{const n=e?.params?.protocolVersion;return n?{type:"emit",message:{result:{protocolVersion:n,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 b={name:"mesh-sdk",version:"1.0.0"};function C(t,e){const n=e??(typeof window<"u"?window.location.origin:void 0);if(!n)throw new Error("MCP client requires either meshUrl option or a browser environment.");const o=t?`/mcp/${t}`:"/mcp";return new URL(o,n).href}async function T({connectionId:t,orgId:e,token:n,meshUrl:o}){const i=C(t,o),c=new h(b,{capabilities:{tasks:{list:{},cancel:{},requests:{tool:{call:{}}}}}}),s=new _(new URL(i),{requestInit:{headers:{"Content-Type":"application/json",Accept:"application/json, text/event-stream","x-org-id":e,...n?{Authorization:`Bearer ${n}`}:{}}}});await c.connect(s);const r=u.mcpClient(e,t??"self",n??"",o??"");return c.toJSON=()=>`mcp-client:${r.join(":")}`,c}function S(t){const e=g.c(13),{connectionId:n,orgId:o,token:i,meshUrl:c}=t;let s;e[0]!==n||e[1]!==c||e[2]!==o||e[3]!==i?(s=u.mcpClient(o,n??"",i??"",c??""),e[0]=n,e[1]=c,e[2]=o,e[3]=i,e[4]=s):s=e[4];const r=s;let a;e[5]!==n||e[6]!==c||e[7]!==o||e[8]!==i?(a=()=>T({connectionId:n,orgId:o,token:i,meshUrl:c}),e[5]=n,e[6]=c,e[7]=o,e[8]=i,e[9]=a):a=e[9];let l;e[10]!==r||e[11]!==a?(l={queryKey:r,queryFn:a,staleTime:1/0,gcTime:0},e[10]=r,e[11]=a,e[12]=l):l=e[12];const{data:m}=f(l);return m}const P={SELF:t=>`${t}_self`,REGISTRY:t=>`${t}_registry`,COMMUNITY_REGISTRY:t=>`${t}_community-registry`,DEV_ASSETS:t=>`${t}_dev-assets`},M="self";function R(t){return{id:P.REGISTRY(t),title:"Deco Store",description:"Official deco MCP registry with curated integrations",connection_type:"HTTP",connection_url:"https://api.decocms.com/mcp/registry",icon:"https://assets.decocache.com/decocms/00ccf6c3-9e13-4517-83b0-75ab84554bb9/596364c63320075ca58483660156b6d9de9b526e.png",app_name:"deco-registry",app_id:null,connection_token:null,connection_headers:null,oauth_config:null,configuration_state:null,configuration_scopes:null,metadata:{isDefault:!0,type:"registry"}}}function I(){return{id:"community-registry",title:"MCP Registry",description:"Community MCP registry with thousands of handy MCPs",connection_type:"HTTP",connection_url:"https://sites-registry.decocache.com/mcp",icon:"https://assets.decocache.com/decocms/cd7ca472-0f72-463a-b0de-6e44bdd0f9b4/mcp.png",app_name:"mcp-registry",app_id:null,connection_token:null,connection_headers:null,oauth_config:null,configuration_state:null,configuration_scopes:null,metadata:{isDefault:!0,type:"registry"}}}function L(t={}){return{id:t.id,title:"OpenRouter",description:"Access hundreds of LLM models from a single API",icon:"https://openrouter.ai/favicon.ico",app_name:"openrouter",app_id:"openrouter",connection_type:"HTTP",connection_url:"https://sites-openrouter.decocache.com/mcp",connection_token:null,connection_headers:null,oauth_config:null,configuration_state:null,configuration_scopes:null,metadata:{source:"chat",verified:!1,scopeName:"deco",toolsCount:0,publishedAt:null,repository:null}}}function D(){return{title:"MCP Studio",description:"An app that allows you to create and manage MCPs",icon:"https://assets.decocache.com/mcp/09e44283-f47d-4046-955f-816d227c626f/app.png",app_name:"mcp-studio",app_id:"65a1b407-b6af-41e2-a89f-ce9450c05bbc",connection_type:"HTTP",connection_url:"https://sites-vibemcp.decocache.com/mcp",connection_token:null,connection_headers:null,oauth_config:null,configuration_state:null,configuration_scopes:null,metadata:{isDefault:!1,type:"mcp-studio"}}}function E(t){return{id:v(t),organization_id:t,title:"Decopilot",description:"Default agent that aggregates all organization connections",icon:"https://assets.decocache.com/decocms/fd07a578-6b1c-40f1-bc05-88a3b981695d/f7fc4ffa81aec04e37ae670c3cd4936643a7b269.png",status:"active",created_at:new Date().toISOString(),updated_at:new Date().toISOString(),created_by:"system",updated_by:void 0,metadata:{instructions:null},connections:[]}}const p="decopilot_";function A(t){return!t||!t.startsWith(p)?null:t.slice(p.length)||null}function v(t){return`${p}${t}`}export{u as K,_ as S,P as W,M as a,I as b,T as c,E as d,D as e,L as f,v as g,R as h,A as i,S as u};
1
+ import{b4 as d,c as g,x as f,b5 as h}from"./index-Bs29EeVO.js";const u={authConfig:()=>["authConfig"],threads:t=>["threads",t],virtualMcpThreads:(t,e)=>["threads",t,"virtual-mcp",e],thread:(t,e)=>["thread",t,e],threadMessages:(t,e)=>["thread-messages",t,e],messages:t=>["messages",t],organizations:()=>["organizations"],members:t=>[t,"members"],invitations:t=>[t,"invitations"],organizationRoles:t=>[t,"organization-roles"],connections:t=>[t,"connections"],connectionsByBinding:(t,e)=>[t,"connections",`binding:${e}`],connection:(t,e)=>[t,"connection",e],isMCPAuthenticated:(t,e)=>["is-mcp-authenticated",t,e],mcpTools:(t,e)=>["mcp","tools",t,e],mcpClient:(t,e,n,o)=>["mcp","client",t,e,n,o],mcpToolsList:t=>["mcp","client",t,"tools"],mcpResourcesList:t=>["mcp","client",t,"resources"],mcpPromptsList:t=>["mcp","client",t,"prompts"],mcpReadResource:(t,e)=>["mcp","client",t,"resource",e],mcpGetPrompt:(t,e,n)=>["mcp","client",t,"prompt",e,n],mcpToolCall:(t,e,n)=>["mcp","client",t,"tool-call",e,n],organizationSettings:t=>["organization-settings",t],activeOrganization:t=>["activeOrganization",t],modelsList:t=>["models-list",t],connectionCollections:t=>[t,"collections","discovery"],toolCall:(t,e,n)=>["tool-call",t,e,n],collectionItems:(t,e)=>["collection",t,e],collection:(t,e,n)=>[t,e,"collection",n],collectionItem:(t,e,n,o,i)=>[t,e,n,"collection",o,i],collectionList:(t,e,n,o,i)=>[t,e,n,"collection",o,"list",i],collectionListInfinite:(t,e,n,o,i)=>[t,e,n,"collection",o,"list-infinite",i],githubReadme:(t,e)=>["github-readme",t,e],monitoringStats:()=>["monitoring","stats"],monitoringLogs:t=>["monitoring","logs",t],monitoringLogsInfinite:(t,e)=>["monitoring","logs-infinite",t,e],virtualMcpPrompts:t=>["virtual-mcp",t,"prompts"],connectionPrompts:t=>["connection",t,"prompts"],connectionResources:t=>["connection",t,"resources"],user:t=>["user",t]};class _ extends d{constructor(e,n){super(e,n)}send(e,n){const o=y(e);return o?.type==="emit"?(this.onmessage?.(o.message),Promise.resolve()):o?.type==="suppress"?Promise.resolve():super.send(e,n)}}function y(t){const e=t;if(!e||typeof e!="object"||!("method"in e))return null;switch(e.method){case"initialize":{const n=e?.params?.protocolVersion;return n?{type:"emit",message:{result:{protocolVersion:n,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 b={name:"mesh-sdk",version:"1.0.0"};function C(t,e){const n=e??(typeof window<"u"?window.location.origin:void 0);if(!n)throw new Error("MCP client requires either meshUrl option or a browser environment.");const o=t?`/mcp/${t}`:"/mcp";return new URL(o,n).href}async function T({connectionId:t,orgId:e,token:n,meshUrl:o}){const i=C(t,o),c=new h(b,{capabilities:{tasks:{list:{},cancel:{},requests:{tool:{call:{}}}}}}),s=new _(new URL(i),{requestInit:{headers:{"Content-Type":"application/json",Accept:"application/json, text/event-stream","x-org-id":e,...n?{Authorization:`Bearer ${n}`}:{}}}});await c.connect(s);const r=u.mcpClient(e,t??"self",n??"",o??"");return c.toJSON=()=>`mcp-client:${r.join(":")}`,c}function S(t){const e=g.c(13),{connectionId:n,orgId:o,token:i,meshUrl:c}=t;let s;e[0]!==n||e[1]!==c||e[2]!==o||e[3]!==i?(s=u.mcpClient(o,n??"",i??"",c??""),e[0]=n,e[1]=c,e[2]=o,e[3]=i,e[4]=s):s=e[4];const r=s;let a;e[5]!==n||e[6]!==c||e[7]!==o||e[8]!==i?(a=()=>T({connectionId:n,orgId:o,token:i,meshUrl:c}),e[5]=n,e[6]=c,e[7]=o,e[8]=i,e[9]=a):a=e[9];let l;e[10]!==r||e[11]!==a?(l={queryKey:r,queryFn:a,staleTime:1/0,gcTime:0},e[10]=r,e[11]=a,e[12]=l):l=e[12];const{data:m}=f(l);return m}const P={SELF:t=>`${t}_self`,REGISTRY:t=>`${t}_registry`,COMMUNITY_REGISTRY:t=>`${t}_community-registry`,DEV_ASSETS:t=>`${t}_dev-assets`},M="self";function R(t){return{id:P.REGISTRY(t),title:"Deco Store",description:"Official deco MCP registry with curated integrations",connection_type:"HTTP",connection_url:"https://api.decocms.com/mcp/registry",icon:"https://assets.decocache.com/decocms/00ccf6c3-9e13-4517-83b0-75ab84554bb9/596364c63320075ca58483660156b6d9de9b526e.png",app_name:"deco-registry",app_id:null,connection_token:null,connection_headers:null,oauth_config:null,configuration_state:null,configuration_scopes:null,metadata:{isDefault:!0,type:"registry"}}}function I(){return{id:"community-registry",title:"MCP Registry",description:"Community MCP registry with thousands of handy MCPs",connection_type:"HTTP",connection_url:"https://sites-registry.decocache.com/mcp",icon:"https://assets.decocache.com/decocms/cd7ca472-0f72-463a-b0de-6e44bdd0f9b4/mcp.png",app_name:"mcp-registry",app_id:null,connection_token:null,connection_headers:null,oauth_config:null,configuration_state:null,configuration_scopes:null,metadata:{isDefault:!0,type:"registry"}}}function L(t={}){return{id:t.id,title:"OpenRouter",description:"Access hundreds of LLM models from a single API",icon:"https://openrouter.ai/favicon.ico",app_name:"openrouter",app_id:"openrouter",connection_type:"HTTP",connection_url:"https://sites-openrouter.decocache.com/mcp",connection_token:null,connection_headers:null,oauth_config:null,configuration_state:null,configuration_scopes:null,metadata:{source:"chat",verified:!1,scopeName:"deco",toolsCount:0,publishedAt:null,repository:null}}}function D(){return{title:"MCP Studio",description:"An app that allows you to create and manage MCPs",icon:"https://assets.decocache.com/mcp/09e44283-f47d-4046-955f-816d227c626f/app.png",app_name:"mcp-studio",app_id:"65a1b407-b6af-41e2-a89f-ce9450c05bbc",connection_type:"HTTP",connection_url:"https://sites-vibemcp.decocache.com/mcp",connection_token:null,connection_headers:null,oauth_config:null,configuration_state:null,configuration_scopes:null,metadata:{isDefault:!1,type:"mcp-studio"}}}function E(t){return{id:v(t),organization_id:t,title:"Decopilot",description:"Default agent that aggregates all organization connections",icon:"https://assets.decocache.com/decocms/fd07a578-6b1c-40f1-bc05-88a3b981695d/f7fc4ffa81aec04e37ae670c3cd4936643a7b269.png",status:"active",created_at:new Date().toISOString(),updated_at:new Date().toISOString(),created_by:"system",updated_by:void 0,metadata:{instructions:null},connections:[]}}const p="decopilot_";function A(t){return!t||!t.startsWith(p)?null:t.slice(p.length)||null}function v(t){return`${p}${t}`}export{u as K,_ as S,P as W,M as a,I as b,T as c,E as d,D as e,L as f,v as g,R as h,A as i,S as u};
@@ -0,0 +1 @@
1
+ import{M as t,Q as a}from"./index-Bs29EeVO.js";const e=t(a,{target:"draft-7"});export{e as B};
@@ -1 +1 @@
1
- import{o as A,s as D,c as O,h as v,k as E,j as r,g as N}from"./index-bZDjEZjy.js";import{A as I,a as M,b as L,c as R,d as T,e as $,f as k}from"./alert-dialog-DvH3np1K.js";import{B}from"./button-ClfTbYRX.js";import{F as V,a as q,b as H,c as U,d as G,e as J,f as K}from"./form-CYYoaqIb.js";import{I as P}from"./input-Db3X6HvF.js";import{S as Q}from"./spinner-Ch036S5x.js";import{u as W}from"./useMutation-BUU-3CfS.js";function _(o){return o.toLowerCase().trim().replace(/[^a-z0-9\s_-]+/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}const X=A({name:D().min(2,"Organization name is required")});function ne(o){const e=O.c(41),{open:a,onOpenChange:s}=o;let j;e[0]===Symbol.for("react.memo_cache_sentinel")?(j={resolver:v(X),defaultValues:{name:""}},e[0]=j):j=e[0];const t=E(j);let w;e[1]===Symbol.for("react.memo_cache_sentinel")?(w={mutationFn:Z,onSuccess:Y},e[1]=w):w=e[1];const i=W(w),z=i.error instanceof Error?i.error.message:i.error?"Failed to create organization.":null;let F;e[2]===Symbol.for("react.memo_cache_sentinel")?(F=r.jsxs(L,{children:[r.jsx(R,{children:"Create a new organization"}),r.jsx(T,{children:"Set up a new organization to collaborate with others."})]}),e[2]=F):F=e[2];let n;if(e[3]!==i||e[4]!==t){let x;e[6]!==i?(x=b=>i.mutateAsync(b),e[6]=i,e[7]=x):x=e[7],n=t.handleSubmit(x),e[3]=i,e[4]=t,e[5]=n}else n=e[5];let l;e[8]!==t.formState.isSubmitting?(l=x=>{const{field:b}=x;return r.jsxs(H,{children:[r.jsx(U,{children:"Organization Name"}),r.jsx(G,{children:r.jsx(P,{...b,placeholder:"Acme Inc.",disabled:t.formState.isSubmitting})}),r.jsx(J,{children:"The name of your company or organization"}),b.value&&r.jsxs("div",{className:"text-xs text-muted-foreground mt-1",children:["Organization URL:"," ",r.jsxs("span",{className:"font-mono",children:[typeof window<"u"?globalThis.location.origin:"","/",_(b.value)]})]}),r.jsx(K,{})]})},e[8]=t.formState.isSubmitting,e[9]=l):l=e[9];let m;e[10]!==t.control||e[11]!==l?(m=r.jsx(V,{control:t.control,name:"name",render:l}),e[10]=t.control,e[11]=l,e[12]=m):m=e[12];let c;e[13]!==z?(c=z&&r.jsx("div",{className:"text-destructive text-sm mt-2",children:z}),e[13]=z,e[14]=c):c=e[14];let f;e[15]!==i||e[16]!==t?(f=()=>{i.reset(),t.reset()},e[15]=i,e[16]=t,e[17]=f):f=e[17];let g;e[18]!==t.formState.isSubmitting||e[19]!==f?(g=r.jsx(I,{disabled:t.formState.isSubmitting,onClick:f,children:"Cancel"}),e[18]=t.formState.isSubmitting,e[19]=f,e[20]=g):g=e[20];const y=!t.formState.isValid||t.formState.isSubmitting;let u;e[21]!==t.formState.isSubmitting?(u=t.formState.isSubmitting?r.jsxs("span",{className:"flex items-center gap-2",children:[r.jsx(Q,{size:"xs"})," Creating..."]}):"Create Organization",e[21]=t.formState.isSubmitting,e[22]=u):u=e[22];let d;e[23]!==y||e[24]!==u?(d=r.jsx(B,{type:"submit",variant:"default",disabled:y,children:u}),e[23]=y,e[24]=u,e[25]=d):d=e[25];let h;e[26]!==d||e[27]!==g?(h=r.jsxs($,{children:[g,d]}),e[26]=d,e[27]=g,e[28]=h):h=e[28];let S;e[29]!==h||e[30]!==n||e[31]!==m||e[32]!==c?(S=r.jsxs("form",{className:"space-y-6",onSubmit:n,autoComplete:"off",children:[m,c,h]}),e[29]=h,e[30]=n,e[31]=m,e[32]=c,e[33]=S):S=e[33];let p;e[34]!==t||e[35]!==S?(p=r.jsxs(M,{children:[F,r.jsx(q,{...t,children:S})]}),e[34]=t,e[35]=S,e[36]=p):p=e[36];let C;return e[37]!==s||e[38]!==a||e[39]!==p?(C=r.jsx(k,{open:a,onOpenChange:s,children:p}),e[37]=s,e[38]=a,e[39]=p,e[40]=C):C=e[40],C}function Y(o){const{orgSlug:e}=o;window.location.href=`/${e}`}async function Z(o){const e=_(o.name);if(!e)throw new Error("Organization slug is invalid");const a=await N.organization.create({name:o.name,slug:e});if(a?.error)throw new Error(a.error.message||"Failed to create organization");const s=a?.data?.slug??e;if(!s)throw new Error("Failed to create organization");return{orgSlug:s}}export{ne as C};
1
+ import{o as A,s as D,c as O,h as v,k as E,j as r,g as N}from"./index-Bs29EeVO.js";import{A as I,a as M,b as L,c as R,d as T,e as $,f as k}from"./alert-dialog-DMTRbHIN.js";import{B}from"./button-ZOo4pjl-.js";import{F as V,a as q,b as H,c as U,d as G,e as J,f as K}from"./form-r49NhVFy.js";import{I as P}from"./input-C4GtYEoZ.js";import{S as Q}from"./spinner-_C_bSKie.js";import{u as W}from"./useMutation-DpUHdLIR.js";function _(o){return o.toLowerCase().trim().replace(/[^a-z0-9\s_-]+/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}const X=A({name:D().min(2,"Organization name is required")});function ne(o){const e=O.c(41),{open:a,onOpenChange:s}=o;let j;e[0]===Symbol.for("react.memo_cache_sentinel")?(j={resolver:v(X),defaultValues:{name:""}},e[0]=j):j=e[0];const t=E(j);let w;e[1]===Symbol.for("react.memo_cache_sentinel")?(w={mutationFn:Z,onSuccess:Y},e[1]=w):w=e[1];const i=W(w),z=i.error instanceof Error?i.error.message:i.error?"Failed to create organization.":null;let F;e[2]===Symbol.for("react.memo_cache_sentinel")?(F=r.jsxs(L,{children:[r.jsx(R,{children:"Create a new organization"}),r.jsx(T,{children:"Set up a new organization to collaborate with others."})]}),e[2]=F):F=e[2];let n;if(e[3]!==i||e[4]!==t){let x;e[6]!==i?(x=b=>i.mutateAsync(b),e[6]=i,e[7]=x):x=e[7],n=t.handleSubmit(x),e[3]=i,e[4]=t,e[5]=n}else n=e[5];let l;e[8]!==t.formState.isSubmitting?(l=x=>{const{field:b}=x;return r.jsxs(H,{children:[r.jsx(U,{children:"Organization Name"}),r.jsx(G,{children:r.jsx(P,{...b,placeholder:"Acme Inc.",disabled:t.formState.isSubmitting})}),r.jsx(J,{children:"The name of your company or organization"}),b.value&&r.jsxs("div",{className:"text-xs text-muted-foreground mt-1",children:["Organization URL:"," ",r.jsxs("span",{className:"font-mono",children:[typeof window<"u"?globalThis.location.origin:"","/",_(b.value)]})]}),r.jsx(K,{})]})},e[8]=t.formState.isSubmitting,e[9]=l):l=e[9];let m;e[10]!==t.control||e[11]!==l?(m=r.jsx(V,{control:t.control,name:"name",render:l}),e[10]=t.control,e[11]=l,e[12]=m):m=e[12];let c;e[13]!==z?(c=z&&r.jsx("div",{className:"text-destructive text-sm mt-2",children:z}),e[13]=z,e[14]=c):c=e[14];let f;e[15]!==i||e[16]!==t?(f=()=>{i.reset(),t.reset()},e[15]=i,e[16]=t,e[17]=f):f=e[17];let g;e[18]!==t.formState.isSubmitting||e[19]!==f?(g=r.jsx(I,{disabled:t.formState.isSubmitting,onClick:f,children:"Cancel"}),e[18]=t.formState.isSubmitting,e[19]=f,e[20]=g):g=e[20];const y=!t.formState.isValid||t.formState.isSubmitting;let u;e[21]!==t.formState.isSubmitting?(u=t.formState.isSubmitting?r.jsxs("span",{className:"flex items-center gap-2",children:[r.jsx(Q,{size:"xs"})," Creating..."]}):"Create Organization",e[21]=t.formState.isSubmitting,e[22]=u):u=e[22];let d;e[23]!==y||e[24]!==u?(d=r.jsx(B,{type:"submit",variant:"default",disabled:y,children:u}),e[23]=y,e[24]=u,e[25]=d):d=e[25];let h;e[26]!==d||e[27]!==g?(h=r.jsxs($,{children:[g,d]}),e[26]=d,e[27]=g,e[28]=h):h=e[28];let S;e[29]!==h||e[30]!==n||e[31]!==m||e[32]!==c?(S=r.jsxs("form",{className:"space-y-6",onSubmit:n,autoComplete:"off",children:[m,c,h]}),e[29]=h,e[30]=n,e[31]=m,e[32]=c,e[33]=S):S=e[33];let p;e[34]!==t||e[35]!==S?(p=r.jsxs(M,{children:[F,r.jsx(q,{...t,children:S})]}),e[34]=t,e[35]=S,e[36]=p):p=e[36];let C;return e[37]!==s||e[38]!==a||e[39]!==p?(C=r.jsx(k,{open:a,onOpenChange:s,children:p}),e[37]=s,e[38]=a,e[39]=p,e[40]=C):C=e[40],C}function Y(o){const{orgSlug:e}=o;window.location.href=`/${e}`}async function Z(o){const e=_(o.name);if(!e)throw new Error("Organization slug is invalid");const a=await N.organization.create({name:o.name,slug:e});if(a?.error)throw new Error(a.error.message||"Failed to create organization");const s=a?.data?.slug??e;if(!s)throw new Error("Failed to create organization");return{orgSlug:s}}export{ne as C};
@@ -0,0 +1 @@
1
+ import{c as n,j as i,R as u,z as m,T as x,D as j,B as N,E as D,F as b,G as g}from"./index-Bs29EeVO.js";import{i as h}from"./X-BHekJF0G.js";import{c}from"./button-ZOo4pjl-.js";function k(l){const e=n.c(4);let t;e[0]!==l?({...t}=l,e[0]=l,e[1]=t):t=e[1];let s;return e[2]!==t?(s=i.jsx(u,{"data-slot":"dialog",...t}),e[2]=t,e[3]=s):s=e[3],s}function w(l){const e=n.c(4);let t;e[0]!==l?({...t}=l,e[0]=l,e[1]=t):t=e[1];let s;return e[2]!==t?(s=i.jsx(b,{"data-slot":"dialog-trigger",...t}),e[2]=t,e[3]=s):s=e[3],s}function v(l){const e=n.c(4);let t;e[0]!==l?({...t}=l,e[0]=l,e[1]=t):t=e[1];let s;return e[2]!==t?(s=i.jsx(N,{"data-slot":"dialog-portal",...t}),e[2]=t,e[3]=s):s=e[3],s}function T(l){const e=n.c(4);let t;e[0]!==l?({...t}=l,e[0]=l,e[1]=t):t=e[1];let s;return e[2]!==t?(s=i.jsx(g,{"data-slot":"dialog-close",...t}),e[2]=t,e[3]=s):s=e[3],s}function y(l){const e=n.c(8);let t,s;e[0]!==l?({className:t,...s}=l,e[0]=l,e[1]=t,e[2]=s):(t=e[1],s=e[2]);let a;e[3]!==t?(a=c("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-background/60 backdrop-blur-[0.5px]",t),e[3]=t,e[4]=a):a=e[4];let o;return e[5]!==s||e[6]!==a?(o=i.jsx(D,{"data-slot":"dialog-overlay",className:a,...s}),e[5]=s,e[6]=a,e[7]=o):o=e[7],o}function $(l){const e=n.c(6),{className:t}=l;let s;e[0]!==t?(s=c("cursor-pointer ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground","absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2","focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",t),e[0]=t,e[1]=s):s=e[1];let a,o;e[2]===Symbol.for("react.memo_cache_sentinel")?(a=i.jsx(h,{}),o=i.jsx("span",{className:"sr-only",children:"Close"}),e[2]=a,e[3]=o):(a=e[2],o=e[3]);let r;return e[4]!==s?(r=i.jsxs(g,{className:s,children:[a,o]}),e[4]=s,e[5]=r):r=e[5],r}function R(l){const e=n.c(15);let t,s,a,o;e[0]!==l?({className:s,children:t,closeButtonClassName:a,...o}=l,e[0]=l,e[1]=t,e[2]=s,e[3]=a,e[4]=o):(t=e[1],s=e[2],a=e[3],o=e[4]);let r;e[5]===Symbol.for("react.memo_cache_sentinel")?(r=i.jsx(y,{}),e[5]=r):r=e[5];let d;e[6]!==s?(d=c("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-xl border p-6 shadow-md duration-200 sm:max-w-lg",s),e[6]=s,e[7]=d):d=e[7];let f;e[8]!==a?(f=i.jsx($,{className:a}),e[8]=a,e[9]=f):f=e[9];let p;return e[10]!==t||e[11]!==o||e[12]!==d||e[13]!==f?(p=i.jsxs(v,{"data-slot":"dialog-portal",children:[r,i.jsxs(m,{"data-slot":"dialog-content",className:d,...o,children:[t,f]})]}),e[10]=t,e[11]=o,e[12]=d,e[13]=f,e[14]=p):p=e[14],p}function B(l){const e=n.c(8);let t,s;e[0]!==l?({className:t,...s}=l,e[0]=l,e[1]=t,e[2]=s):(t=e[1],s=e[2]);let a;e[3]!==t?(a=c("flex flex-col gap-2 text-center sm:text-left",t),e[3]=t,e[4]=a):a=e[4];let o;return e[5]!==s||e[6]!==a?(o=i.jsx("div",{"data-slot":"dialog-header",className:a,...s}),e[5]=s,e[6]=a,e[7]=o):o=e[7],o}function E(l){const e=n.c(8);let t,s;e[0]!==l?({className:t,...s}=l,e[0]=l,e[1]=t,e[2]=s):(t=e[1],s=e[2]);let a;e[3]!==t?(a=c("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",t),e[3]=t,e[4]=a):a=e[4];let o;return e[5]!==s||e[6]!==a?(o=i.jsx("div",{"data-slot":"dialog-footer",className:a,...s}),e[5]=s,e[6]=a,e[7]=o):o=e[7],o}function F(l){const e=n.c(8);let t,s;e[0]!==l?({className:t,...s}=l,e[0]=l,e[1]=t,e[2]=s):(t=e[1],s=e[2]);let a;e[3]!==t?(a=c("text-lg leading-none font-semibold",t),e[3]=t,e[4]=a):a=e[4];let o;return e[5]!==s||e[6]!==a?(o=i.jsx(x,{"data-slot":"dialog-title",className:a,...s}),e[5]=s,e[6]=a,e[7]=o):o=e[7],o}function O(l){const e=n.c(8);let t,s;e[0]!==l?({className:t,...s}=l,e[0]=l,e[1]=t,e[2]=s):(t=e[1],s=e[2]);let a;e[3]!==t?(a=c("text-muted-foreground text-sm",t),e[3]=t,e[4]=a):a=e[4];let o;return e[5]!==s||e[6]!==a?(o=i.jsx(j,{"data-slot":"dialog-description",className:a,...s}),e[5]=s,e[6]=a,e[7]=o):o=e[7],o}export{k as D,R as a,B as b,F as c,O as d,E as e,w as f,T as g};
@@ -0,0 +1 @@
1
+ import{c,j as i,U as p,W as f,X as m,Y as g,Z as x,$ as v,a0 as b,a1 as w,a2 as h}from"./index-Bs29EeVO.js";import{i as j}from"./ChevronRight-BKSZBVse.js";import{c as u}from"./button-ZOo4pjl-.js";function S(s){const e=c.c(4);let t;e[0]!==s?({...t}=s,e[0]=s,e[1]=t):t=e[1];let o;return e[2]!==t?(o=i.jsx(p,{"data-slot":"dropdown-menu",...t}),e[2]=t,e[3]=o):o=e[3],o}function $(s){const e=c.c(4);let t;e[0]!==s?({...t}=s,e[0]=s,e[1]=t):t=e[1];let o;return e[2]!==t?(o=i.jsx(f,{"data-slot":"dropdown-menu-trigger",...t}),e[2]=t,e[3]=o):o=e[3],o}function M(s){const e=c.c(10);let t,o,a;e[0]!==s?({className:t,sideOffset:a,...o}=s,e[0]=s,e[1]=t,e[2]=o,e[3]=a):(t=e[1],o=e[2],a=e[3]);const n=a===void 0?4:a;let r;e[4]!==t?(r=u("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-lg border p-1 shadow-md",t),e[4]=t,e[5]=r):r=e[5];let d;return e[6]!==o||e[7]!==n||e[8]!==r?(d=i.jsx(m,{children:i.jsx(g,{"data-slot":"dropdown-menu-content",sideOffset:n,className:r,...o})}),e[6]=o,e[7]=n,e[8]=r,e[9]=d):d=e[9],d}function y(s){const e=c.c(12);let t,o,a,n;e[0]!==s?({className:t,inset:o,variant:n,...a}=s,e[0]=s,e[1]=t,e[2]=o,e[3]=a,e[4]=n):(t=e[1],o=e[2],a=e[3],n=e[4]);const r=n===void 0?"default":n;let d;e[5]!==t?(d=u("focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-pointer items-center gap-2 rounded-lg px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",t),e[5]=t,e[6]=d):d=e[6];let l;return e[7]!==o||e[8]!==a||e[9]!==d||e[10]!==r?(l=i.jsx(x,{"data-slot":"dropdown-menu-item","data-inset":o,"data-variant":r,className:d,...a}),e[7]=o,e[8]=a,e[9]=d,e[10]=r,e[11]=l):l=e[11],l}function _(s){const e=c.c(8);let t,o;e[0]!==s?({className:t,...o}=s,e[0]=s,e[1]=t,e[2]=o):(t=e[1],o=e[2]);let a;e[3]!==t?(a=u("bg-border -mx-1 my-1 h-px",t),e[3]=t,e[4]=a):a=e[4];let n;return e[5]!==o||e[6]!==a?(n=i.jsx(h,{"data-slot":"dropdown-menu-separator",className:a,...o}),e[5]=o,e[6]=a,e[7]=n):n=e[7],n}function C(s){const e=c.c(4);let t;e[0]!==s?({...t}=s,e[0]=s,e[1]=t):t=e[1];let o;return e[2]!==t?(o=i.jsx(v,{"data-slot":"dropdown-menu-sub",...t}),e[2]=t,e[3]=o):o=e[3],o}function T(s){const e=c.c(13);let t,o,a,n;e[0]!==s?({className:o,inset:a,children:t,...n}=s,e[0]=s,e[1]=t,e[2]=o,e[3]=a,e[4]=n):(t=e[1],o=e[2],a=e[3],n=e[4]);let r;e[5]!==o?(r=u("focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground flex cursor-default items-center rounded-lg px-2 py-1.5 text-sm outline-hidden select-none data-[inset]:pl-8",o),e[5]=o,e[6]=r):r=e[6];let d;e[7]===Symbol.for("react.memo_cache_sentinel")?(d=i.jsx(j,{className:"ml-auto size-4"}),e[7]=d):d=e[7];let l;return e[8]!==t||e[9]!==a||e[10]!==n||e[11]!==r?(l=i.jsxs(b,{"data-slot":"dropdown-menu-sub-trigger","data-inset":a,className:r,...n,children:[t,d]}),e[8]=t,e[9]=a,e[10]=n,e[11]=r,e[12]=l):l=e[12],l}function R(s){const e=c.c(8);let t,o;e[0]!==s?({className:t,...o}=s,e[0]=s,e[1]=t,e[2]=o):(t=e[1],o=e[2]);let a;e[3]!==t?(a=u("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden rounded-md border p-1 shadow-lg",t),e[3]=t,e[4]=a):a=e[4];let n;return e[5]!==o||e[6]!==a?(n=i.jsx(w,{"data-slot":"dropdown-menu-sub-content",className:a,...o}),e[5]=o,e[6]=a,e[7]=n):n=e[7],n}export{S as D,$ as a,M as b,y as c,C as d,T as e,R as f,_ as g};
@@ -1 +1 @@
1
- import{u as E,a as S,g as N,j as t,aQ as j,r as f,aR as b,c as L,t as P}from"./index-bZDjEZjy.js";import{i as x}from"./Loading01-267RBTet.js";import{c as I}from"./binder-DhS3ZsVD.js";import{u as H,L as w}from"./localstorage-keys-Bdti-2mC.js";import{b as R}from"./use-connection-BsXZoJuC.js";import{u as k}from"./constants-BZCTYQ-m.js";import"./useQuery-CziyW3rA.js";import"./useMutation-BUU-3CfS.js";import"./use-collections-C8m0cpJK.js";function z(e,r){return e?e.filter(a=>I(a,r)):[]}function y(e){return{id:e.id,title:e.title,icon:e.icon,description:e.description,app_name:e.app_name,app_id:e.app_id,tools:e.tools,metadata:e.metadata}}function B({binding:e,renderHeader:r,renderEmptyState:a}){const{org:s}=E(),{pluginId:n}=S({strict:!1}),d=R(),{data:o}=N.useSession(),l=z(d,e),[i,m]=H(w.pluginConnection(s.slug,n),c=>c??""),u=l.find(c=>c.id===i)??l[0]??null,p=o?.user?{user:{id:o.user.id,name:o.user.name,email:o.user.email,image:o.user.image}}:null,g={id:s.id,slug:s.slug,name:s.name};if(l.length===0||!u){const c={connectionId:null,connection:null,toolCaller:null,org:g,session:p};return t.jsx(j,{value:c,children:t.jsx("div",{className:"h-full flex flex-col overflow-hidden",children:a()})})}const h=k({connectionId:u.id,orgId:s.id}),v={connectionId:u.id,connection:y(u),toolCaller:((c,_)=>h?h.callTool({name:c,arguments:_}).then(C=>C.structuredContent??C):Promise.reject(new Error("MCP client is not available"))),org:g,session:p};return t.jsx(j,{value:v,children:t.jsxs("div",{className:"h-full flex flex-col overflow-hidden",children:[r({connections:l.map(y),selectedConnectionId:u.id,onConnectionChange:m}),t.jsx("div",{className:"flex-1 overflow-hidden",children:t.jsx(f.Suspense,{fallback:t.jsxs("div",{className:"flex flex-col items-center justify-center h-full",children:[t.jsx(x,{size:32,className:"animate-spin text-muted-foreground mb-4"}),t.jsx("p",{className:"text-sm text-muted-foreground",children:"Loading..."})]}),children:t.jsx(b,{})})})]})})}function q(){const e=L.c(12);let r;e[0]===Symbol.for("react.memo_cache_sentinel")?(r={strict:!1},e[0]=r):r=e[0];const{pluginId:a}=S(r);let s;e[1]!==a?(s=P.find(i=>i.id===a),e[1]=a,e[2]=s):s=e[2];const n=s;if(n?.renderHeader&&n?.renderEmptyState){let i;e[3]===Symbol.for("react.memo_cache_sentinel")?(i=t.jsxs("div",{className:"flex flex-col items-center justify-center h-full",children:[t.jsx(x,{size:32,className:"animate-spin text-muted-foreground mb-4"}),t.jsx("p",{className:"text-sm text-muted-foreground",children:"Loading plugin..."})]}),e[3]=i):i=e[3];let m;return e[4]!==n.binding||e[5]!==n.renderEmptyState||e[6]!==n.renderHeader?(m=t.jsx(f.Suspense,{fallback:i,children:t.jsx(B,{binding:n.binding,renderHeader:n.renderHeader,renderEmptyState:n.renderEmptyState})}),e[4]=n.binding,e[5]=n.renderEmptyState,e[6]=n.renderHeader,e[7]=m):m=e[7],m}const d=n?.LayoutComponent;if(!d){let i;return e[8]===Symbol.for("react.memo_cache_sentinel")?(i=t.jsx(b,{}),e[8]=i):i=e[8],i}let o;e[9]===Symbol.for("react.memo_cache_sentinel")?(o=t.jsxs("div",{className:"flex flex-col items-center justify-center h-full",children:[t.jsx(x,{size:32,className:"animate-spin text-muted-foreground mb-4"}),t.jsx("p",{className:"text-sm text-muted-foreground",children:"Loading plugin..."})]}),e[9]=o):o=e[9];let l;return e[10]!==d?(l=t.jsx(f.Suspense,{fallback:o,children:t.jsx(d,{})}),e[10]=d,e[11]=l):l=e[11],l}export{q as default};
1
+ import{u as _,a as S,g as E,j as t,aM as j,r as f,aN as b,c as L,t as P}from"./index-Bs29EeVO.js";import{i as x}from"./Loading01-C4MO3DLf.js";import{c as I}from"./binder-DNt-QaD5.js";import{u as H,L as w}from"./localstorage-keys-Bm36wvj7.js";import{b as k}from"./use-connection-_63RHsQC.js";import{u as z}from"./constants-CgYg5TtN.js";import"./useQuery-By0-zS-_.js";import"./useMutation-DpUHdLIR.js";import"./use-collections-BNOLiMAP.js";function B(e,r){return e?e.filter(a=>I(a,r)):[]}function y(e){return{id:e.id,title:e.title,icon:e.icon,description:e.description,app_name:e.app_name,app_id:e.app_id,tools:e.tools,metadata:e.metadata}}function M({binding:e,renderHeader:r,renderEmptyState:a}){const{org:s}=_(),{pluginId:n}=S({strict:!1}),d=k(),{data:o}=E.useSession(),l=B(d,e),[i,m]=H(w.pluginConnection(s.slug,n),c=>c??""),u=l.find(c=>c.id===i)??l[0]??null,p=o?.user?{user:{id:o.user.id,name:o.user.name,email:o.user.email,image:o.user.image}}:null,g={id:s.id,slug:s.slug,name:s.name};if(l.length===0||!u){const c={connectionId:null,connection:null,toolCaller:null,org:g,session:p};return t.jsx(j,{value:c,children:t.jsx("div",{className:"h-full flex flex-col overflow-hidden",children:a()})})}const h=z({connectionId:u.id,orgId:s.id}),v={connectionId:u.id,connection:y(u),toolCaller:((c,N)=>h?h.callTool({name:c,arguments:N}).then(C=>C.structuredContent??C):Promise.reject(new Error("MCP client is not available"))),org:g,session:p};return t.jsx(j,{value:v,children:t.jsxs("div",{className:"h-full flex flex-col overflow-hidden",children:[r({connections:l.map(y),selectedConnectionId:u.id,onConnectionChange:m}),t.jsx("div",{className:"flex-1 overflow-hidden",children:t.jsx(f.Suspense,{fallback:t.jsxs("div",{className:"flex flex-col items-center justify-center h-full",children:[t.jsx(x,{size:32,className:"animate-spin text-muted-foreground mb-4"}),t.jsx("p",{className:"text-sm text-muted-foreground",children:"Loading..."})]}),children:t.jsx(b,{})})})]})})}function F(){const e=L.c(12);let r;e[0]===Symbol.for("react.memo_cache_sentinel")?(r={strict:!1},e[0]=r):r=e[0];const{pluginId:a}=S(r);let s;e[1]!==a?(s=P.find(i=>i.id===a),e[1]=a,e[2]=s):s=e[2];const n=s;if(n?.renderHeader&&n?.renderEmptyState){let i;e[3]===Symbol.for("react.memo_cache_sentinel")?(i=t.jsxs("div",{className:"flex flex-col items-center justify-center h-full",children:[t.jsx(x,{size:32,className:"animate-spin text-muted-foreground mb-4"}),t.jsx("p",{className:"text-sm text-muted-foreground",children:"Loading plugin..."})]}),e[3]=i):i=e[3];let m;return e[4]!==n.binding||e[5]!==n.renderEmptyState||e[6]!==n.renderHeader?(m=t.jsx(f.Suspense,{fallback:i,children:t.jsx(M,{binding:n.binding,renderHeader:n.renderHeader,renderEmptyState:n.renderEmptyState})}),e[4]=n.binding,e[5]=n.renderEmptyState,e[6]=n.renderHeader,e[7]=m):m=e[7],m}const d=n?.LayoutComponent;if(!d){let i;return e[8]===Symbol.for("react.memo_cache_sentinel")?(i=t.jsx(b,{}),e[8]=i):i=e[8],i}let o;e[9]===Symbol.for("react.memo_cache_sentinel")?(o=t.jsxs("div",{className:"flex flex-col items-center justify-center h-full",children:[t.jsx(x,{size:32,className:"animate-spin text-muted-foreground mb-4"}),t.jsx("p",{className:"text-sm text-muted-foreground",children:"Loading plugin..."})]}),e[9]=o):o=e[9];let l;return e[10]!==d?(l=t.jsx(f.Suspense,{fallback:o,children:t.jsx(d,{})}),e[10]=d,e[11]=l):l=e[11],l}export{F as default};
@@ -0,0 +1 @@
1
+ import{r as i,j as c,al as $,at as ee,an as te,as as oe,am as z,au as ne,ao as _,av as G,aw as re,ax as V,aD as se,aE as ae,ar as le,aL as ie,aF as ce,c as P}from"./index-Bs29EeVO.js";import{c as R}from"./button-ZOo4pjl-.js";var ue=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),de="VisuallyHidden",F=i.forwardRef((o,e)=>c.jsx($.span,{...o,ref:e,style:{...ue,...o.style}}));F.displayName=de;var fe=F,[k]=le("Tooltip",[V]),D=V(),B="TooltipProvider",pe=700,O="tooltip.open",[me,M]=k(B),Y=o=>{const{__scopeTooltip:e,delayDuration:t=pe,skipDelayDuration:n=300,disableHoverableContent:r=!1,children:s}=o,l=i.useRef(!0),d=i.useRef(!1),a=i.useRef(0);return i.useEffect(()=>{const u=a.current;return()=>window.clearTimeout(u)},[]),c.jsx(me,{scope:e,isOpenDelayedRef:l,delayDuration:t,onOpen:i.useCallback(()=>{window.clearTimeout(a.current),l.current=!1},[]),onClose:i.useCallback(()=>{window.clearTimeout(a.current),a.current=window.setTimeout(()=>l.current=!0,n)},[n]),isPointerInTransitRef:d,onPointerInTransitChange:i.useCallback(u=>{d.current=u},[]),disableHoverableContent:r,children:s})};Y.displayName=B;var L="Tooltip",[xe,S]=k(L),U=o=>{const{__scopeTooltip:e,children:t,open:n,defaultOpen:r,onOpenChange:s,disableHoverableContent:l,delayDuration:d}=o,a=M(L,o.__scopeTooltip),u=D(e),[f,m]=i.useState(null),x=ee(),p=i.useRef(0),v=l??a.disableHoverableContent,g=d??a.delayDuration,h=i.useRef(!1),[y,T]=te({prop:n,defaultProp:r??!1,onChange:j=>{j?(a.onOpen(),document.dispatchEvent(new CustomEvent(O))):a.onClose(),s?.(j)},caller:L}),C=i.useMemo(()=>y?h.current?"delayed-open":"instant-open":"closed",[y]),b=i.useCallback(()=>{window.clearTimeout(p.current),p.current=0,h.current=!1,T(!0)},[T]),w=i.useCallback(()=>{window.clearTimeout(p.current),p.current=0,T(!1)},[T]),E=i.useCallback(()=>{window.clearTimeout(p.current),p.current=window.setTimeout(()=>{h.current=!0,T(!0),p.current=0},g)},[g,T]);return i.useEffect(()=>()=>{p.current&&(window.clearTimeout(p.current),p.current=0)},[]),c.jsx(oe,{...u,children:c.jsx(xe,{scope:e,contentId:x,open:y,stateAttribute:C,trigger:f,onTriggerChange:m,onTriggerEnter:i.useCallback(()=>{a.isOpenDelayedRef.current?E():b()},[a.isOpenDelayedRef,E,b]),onTriggerLeave:i.useCallback(()=>{v?w():(window.clearTimeout(p.current),p.current=0)},[w,v]),onOpen:b,onClose:w,disableHoverableContent:v,children:t})})};U.displayName=L;var A="TooltipTrigger",W=i.forwardRef((o,e)=>{const{__scopeTooltip:t,...n}=o,r=S(A,t),s=M(A,t),l=D(t),d=i.useRef(null),a=z(e,d,r.onTriggerChange),u=i.useRef(!1),f=i.useRef(!1),m=i.useCallback(()=>u.current=!1,[]);return i.useEffect(()=>()=>document.removeEventListener("pointerup",m),[m]),c.jsx(ne,{asChild:!0,...l,children:c.jsx($.button,{"aria-describedby":r.open?r.contentId:void 0,"data-state":r.stateAttribute,...n,ref:a,onPointerMove:_(o.onPointerMove,x=>{x.pointerType!=="touch"&&!f.current&&!s.isPointerInTransitRef.current&&(r.onTriggerEnter(),f.current=!0)}),onPointerLeave:_(o.onPointerLeave,()=>{r.onTriggerLeave(),f.current=!1}),onPointerDown:_(o.onPointerDown,()=>{r.open&&r.onClose(),u.current=!0,document.addEventListener("pointerup",m,{once:!0})}),onFocus:_(o.onFocus,()=>{u.current||r.onOpen()}),onBlur:_(o.onBlur,r.onClose),onClick:_(o.onClick,r.onClose)})})});W.displayName=A;var H="TooltipPortal",[he,ve]=k(H,{forceMount:void 0}),q=o=>{const{__scopeTooltip:e,forceMount:t,children:n,container:r}=o,s=S(H,e);return c.jsx(he,{scope:e,forceMount:t,children:c.jsx(G,{present:t||s.open,children:c.jsx(re,{asChild:!0,container:r,children:n})})})};q.displayName=H;var N="TooltipContent",Z=i.forwardRef((o,e)=>{const t=ve(N,o.__scopeTooltip),{forceMount:n=t.forceMount,side:r="top",...s}=o,l=S(N,o.__scopeTooltip);return c.jsx(G,{present:n||l.open,children:l.disableHoverableContent?c.jsx(X,{side:r,...s,ref:e}):c.jsx(ge,{side:r,...s,ref:e})})}),ge=i.forwardRef((o,e)=>{const t=S(N,o.__scopeTooltip),n=M(N,o.__scopeTooltip),r=i.useRef(null),s=z(e,r),[l,d]=i.useState(null),{trigger:a,onClose:u}=t,f=r.current,{onPointerInTransitChange:m}=n,x=i.useCallback(()=>{d(null),m(!1)},[m]),p=i.useCallback((v,g)=>{const h=v.currentTarget,y={x:v.clientX,y:v.clientY},T=we(y,h.getBoundingClientRect()),C=be(y,T),b=Ee(g.getBoundingClientRect()),w=Pe([...C,...b]);d(w),m(!0)},[m]);return i.useEffect(()=>()=>x(),[x]),i.useEffect(()=>{if(a&&f){const v=h=>p(h,f),g=h=>p(h,a);return a.addEventListener("pointerleave",v),f.addEventListener("pointerleave",g),()=>{a.removeEventListener("pointerleave",v),f.removeEventListener("pointerleave",g)}}},[a,f,p,x]),i.useEffect(()=>{if(l){const v=g=>{const h=g.target,y={x:g.clientX,y:g.clientY},T=a?.contains(h)||f?.contains(h),C=!je(y,l);T?x():C&&(x(),u())};return document.addEventListener("pointermove",v),()=>document.removeEventListener("pointermove",v)}},[a,f,l,u,x]),c.jsx(X,{...o,ref:s})}),[ye,Te]=k(L,{isInside:!1}),Ce=ie("TooltipContent"),X=i.forwardRef((o,e)=>{const{__scopeTooltip:t,children:n,"aria-label":r,onEscapeKeyDown:s,onPointerDownOutside:l,...d}=o,a=S(N,t),u=D(t),{onClose:f}=a;return i.useEffect(()=>(document.addEventListener(O,f),()=>document.removeEventListener(O,f)),[f]),i.useEffect(()=>{if(a.trigger){const m=x=>{x.target?.contains(a.trigger)&&f()};return window.addEventListener("scroll",m,{capture:!0}),()=>window.removeEventListener("scroll",m,{capture:!0})}},[a.trigger,f]),c.jsx(se,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:s,onPointerDownOutside:l,onFocusOutside:m=>m.preventDefault(),onDismiss:f,children:c.jsxs(ae,{"data-state":a.stateAttribute,...u,...d,ref:e,style:{...d.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[c.jsx(Ce,{children:n}),c.jsx(ye,{scope:t,isInside:!0,children:c.jsx(fe,{id:a.contentId,role:"tooltip",children:r||n})})]})})});Z.displayName=N;var K="TooltipArrow",J=i.forwardRef((o,e)=>{const{__scopeTooltip:t,...n}=o,r=D(t);return Te(K,t).isInside?null:c.jsx(ce,{...r,...n,ref:e})});J.displayName=K;function we(o,e){const t=Math.abs(e.top-o.y),n=Math.abs(e.bottom-o.y),r=Math.abs(e.right-o.x),s=Math.abs(e.left-o.x);switch(Math.min(t,n,r,s)){case s:return"left";case r:return"right";case t:return"top";case n:return"bottom";default:throw new Error("unreachable")}}function be(o,e,t=5){const n=[];switch(e){case"top":n.push({x:o.x-t,y:o.y+t},{x:o.x+t,y:o.y+t});break;case"bottom":n.push({x:o.x-t,y:o.y-t},{x:o.x+t,y:o.y-t});break;case"left":n.push({x:o.x+t,y:o.y-t},{x:o.x+t,y:o.y+t});break;case"right":n.push({x:o.x-t,y:o.y-t},{x:o.x-t,y:o.y+t});break}return n}function Ee(o){const{top:e,right:t,bottom:n,left:r}=o;return[{x:r,y:e},{x:t,y:e},{x:t,y:n},{x:r,y:n}]}function je(o,e){const{x:t,y:n}=o;let r=!1;for(let s=0,l=e.length-1;s<e.length;l=s++){const d=e[s],a=e[l],u=d.x,f=d.y,m=a.x,x=a.y;f>n!=x>n&&t<(m-u)*(n-f)/(x-f)+u&&(r=!r)}return r}function Pe(o){const e=o.slice();return e.sort((t,n)=>t.x<n.x?-1:t.x>n.x?1:t.y<n.y?-1:t.y>n.y?1:0),Re(e)}function Re(o){if(o.length<=1)return o.slice();const e=[];for(let n=0;n<o.length;n++){const r=o[n];for(;e.length>=2;){const s=e[e.length-1],l=e[e.length-2];if((s.x-l.x)*(r.y-l.y)>=(s.y-l.y)*(r.x-l.x))e.pop();else break}e.push(r)}e.pop();const t=[];for(let n=o.length-1;n>=0;n--){const r=o[n];for(;t.length>=2;){const s=t[t.length-1],l=t[t.length-2];if((s.x-l.x)*(r.y-l.y)>=(s.y-l.y)*(r.x-l.x))t.pop();else break}t.push(r)}return t.pop(),e.length===1&&t.length===1&&e[0].x===t[0].x&&e[0].y===t[0].y?e:e.concat(t)}var _e=Y,Ne=U,Le=W,Se=q,Ie=Z,ke=J;const Q=({size:o=24,color:e="currentColor",...t})=>i.createElement("svg",{viewBox:"0 0 24 24",width:o,height:o,stroke:e,strokeWidth:"2",fill:"none",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...t},i.createElement("path",{d:"M20.5 7.278 12 12m0 0L3.5 7.278M12 12v9.5m9-5.441V7.942c0-.343 0-.514-.05-.667a1 1 0 0 0-.215-.364c-.109-.119-.258-.202-.558-.368l-7.4-4.111c-.284-.158-.425-.237-.575-.267a1 1 0 0 0-.403 0c-.15.03-.292.11-.576.267l-7.4 4.11c-.3.167-.45.25-.558.369a1 1 0 0 0-.215.364C3 7.428 3 7.599 3 7.942v8.117c0 .342 0 .514.05.666a1 1 0 0 0 .215.364c.109.119.258.202.558.368l7.4 4.111c.284.158.425.237.576.268.133.027.27.027.402 0 .15-.031.292-.11.576-.268l7.4-4.11c.3-.167.45-.25.558-.369a.999.999 0 0 0 .215-.364c.05-.152.05-.324.05-.666Z"}));Q.displayName="Container";function De(o){const e=P.c(6);let t,n;e[0]!==o?({delayDuration:n,...t}=o,e[0]=o,e[1]=t,e[2]=n):(t=e[1],n=e[2]);const r=n===void 0?0:n;let s;return e[3]!==r||e[4]!==t?(s=c.jsx(_e,{"data-slot":"tooltip-provider",delayDuration:r,...t}),e[3]=r,e[4]=t,e[5]=s):s=e[5],s}function Ve(o){const e=P.c(4);let t;e[0]!==o?({...t}=o,e[0]=o,e[1]=t):t=e[1];let n;return e[2]!==t?(n=c.jsx(De,{children:c.jsx(Ne,{"data-slot":"tooltip",...t})}),e[2]=t,e[3]=n):n=e[3],n}function Fe(o){const e=P.c(4);let t;e[0]!==o?({...t}=o,e[0]=o,e[1]=t):t=e[1];let n;return e[2]!==t?(n=c.jsx(Le,{"data-slot":"tooltip-trigger",...t}),e[2]=t,e[3]=n):n=e[3],n}function Be(o){const e=P.c(13);let t,n,r,s;e[0]!==o?({className:n,sideOffset:s,children:t,...r}=o,e[0]=o,e[1]=t,e[2]=n,e[3]=r,e[4]=s):(t=e[1],n=e[2],r=e[3],s=e[4]);const l=s===void 0?0:s;let d;e[5]!==n?(d=R("bg-foreground text-background animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance",n),e[5]=n,e[6]=d):d=e[6];let a;e[7]===Symbol.for("react.memo_cache_sentinel")?(a=c.jsx(ke,{className:"bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]"}),e[7]=a):a=e[7];let u;return e[8]!==t||e[9]!==r||e[10]!==l||e[11]!==d?(u=c.jsx(Se,{children:c.jsxs(Ie,{"data-slot":"tooltip-content",sideOffset:l,className:d,...r,children:[t,a]})}),e[8]=t,e[9]=r,e[10]=l,e[11]=d,e[12]=u):u=e[12],u}const Oe={"2xs":"h-4 w-4",xs:"h-6 w-6",sm:"h-8 w-8",md:"h-12 w-12",lg:"h-16 w-16"},Ae={"2xs":"min-w-4",xs:"min-w-6",sm:"min-w-8",md:"min-w-12",lg:"min-w-16"},Me={"2xs":8,xs:12,sm:16,md:24,lg:32};function Ye(o){const e=P.c(7),{icon:t,name:n,size:r,className:s,fallbackIcon:l}=o,d=r===void 0?"md":r,a=t??"no-icon";let u;return e[0]!==s||e[1]!==l||e[2]!==t||e[3]!==n||e[4]!==d||e[5]!==a?(u=c.jsx(He,{icon:t,name:n,size:d,className:s,fallbackIcon:l},a),e[0]=s,e[1]=l,e[2]=t,e[3]=n,e[4]=d,e[5]=a,e[6]=u):u=e[6],u}function He(o){const e=P.c(24),{icon:t,name:n,size:r,className:s,fallbackIcon:l}=o,d=r===void 0?"md":r,[a,u]=i.useState(!1),f=!!t&&a,m=Oe[d],x=Ae[d];let p;e[0]!==s||e[1]!==m||e[2]!==x?(p=R("rounded-lg border border-border shrink-0 overflow-hidden aspect-square",m,x,s),e[0]=s,e[1]=m,e[2]=x,e[3]=p):p=e[3];const v=t||void 0,g=!f&&"hidden";let h;e[4]!==g?(h=R("h-full w-full object-cover",g),e[4]=g,e[5]=h):h=e[5];let y,T;e[6]===Symbol.for("react.memo_cache_sentinel")?(y=()=>u(!1),T=()=>u(!0),e[6]=y,e[7]=T):(y=e[6],T=e[7]);let C;e[8]!==n||e[9]!==v||e[10]!==h?(C=c.jsx("img",{src:v,alt:n,className:h,onError:y,onLoad:T}),e[8]=n,e[9]=v,e[10]=h,e[11]=C):C=e[11];const b=f&&"hidden";let w;e[12]!==b?(w=R("h-full w-full flex items-center justify-center bg-muted/20",b),e[12]=b,e[13]=w):w=e[13];let E;e[14]!==l||e[15]!==d?(E=l??c.jsx(Q,{size:Me[d],className:"text-muted-foreground"}),e[14]=l,e[15]=d,e[16]=E):E=e[16];let j;e[17]!==w||e[18]!==E?(j=c.jsx("div",{className:w,children:E}),e[17]=w,e[18]=E,e[19]=j):j=e[19];let I;return e[20]!==C||e[21]!==j||e[22]!==p?(I=c.jsxs("div",{className:p,children:[C,j]}),e[20]=C,e[21]=j,e[22]=p,e[23]=I):I=e[23],I}function $e(){const o=P.c(1);let e;return o[0]===Symbol.for("react.memo_cache_sentinel")?(e=c.jsx("img",{src:"/empty-state-cards.png",alt:"",width:336,height:320,"aria-hidden":"true"}),o[0]=e):e=o[0],e}function Ue(o){const e=P.c(24),{image:t,title:n,description:r,actions:s,className:l,descriptionClassName:d,actionsClassName:a}=o;let u;e[0]!==l?(u=R("flex flex-1 flex-col items-center justify-center gap-8 p-4",l),e[0]=l,e[1]=u):u=e[1];let f;e[2]!==t?(f=t!==null&&c.jsx("div",{className:"flex items-center justify-center",children:t??c.jsx($e,{})}),e[2]=t,e[3]=f):f=e[3];let m;e[4]!==n?(m=c.jsx("h3",{className:"text-lg font-medium text-foreground",children:n}),e[4]=n,e[5]=m):m=e[5];let x;e[6]!==d?(x=R("text-sm text-muted-foreground text-center max-w-[300px]",d),e[6]=d,e[7]=x):x=e[7];let p;e[8]!==r||e[9]!==x?(p=c.jsx("div",{className:x,children:r}),e[8]=r,e[9]=x,e[10]=p):p=e[10];let v;e[11]!==m||e[12]!==p?(v=c.jsxs("div",{className:"flex flex-col items-center gap-2",children:[m,p]}),e[11]=m,e[12]=p,e[13]=v):v=e[13];let g;e[14]!==s||e[15]!==a?(g=s&&c.jsx("div",{className:R("flex items-center gap-2",a),children:s}),e[14]=s,e[15]=a,e[16]=g):g=e[16];let h;e[17]!==v||e[18]!==g?(h=c.jsxs("div",{className:"flex flex-col items-center gap-4",children:[v,g]}),e[17]=v,e[18]=g,e[19]=h):h=e[19];let y;return e[20]!==u||e[21]!==f||e[22]!==h?(y=c.jsxs("div",{className:u,children:[f,h]}),e[20]=u,e[21]=f,e[22]=h,e[23]=y):y=e[23],y}export{Ue as E,Ye as I,Fe as T,ue as V,Be as a,De as b,Ve as c,Q as n};
@@ -1 +1 @@
1
- import{c as p,j as t}from"./index-bZDjEZjy.js";import{B as j,c as b}from"./button-ClfTbYRX.js";function v(u){const e=p.c(18),{icon:a,title:m,description:x,buttonProps:n,buttonComponent:f}=u;let s;e[0]!==a?(s=t.jsx("div",{className:"flex items-center justify-center",children:t.jsx("div",{className:"p-6 rounded-full border border-muted",children:t.jsx("div",{className:"p-4 rounded-full border border-border",children:t.jsx("div",{className:"p-3.5 rounded-full border border-border",children:t.jsx("div",{className:"p-3 rounded-full border border-border",children:t.jsx("div",{className:"w-20 h-20 rounded-full bg-muted flex items-center justify-center p-4",children:a})})})})})}),e[0]=a,e[1]=s):s=e[1];let l;e[2]!==m?(l=t.jsx("h3",{className:"text-2xl font-semibold text-foreground text-center",children:m}),e[2]=m,e[3]=l):l=e[3];let r;e[4]!==x?(r=t.jsx("div",{className:"text-sm text-muted-foreground text-center flex flex-col gap-1",children:x}),e[4]=x,e[5]=r):r=e[5];let d;e[6]!==l||e[7]!==r?(d=t.jsxs("div",{className:"flex flex-col items-center gap-2 max-w-md",children:[l,r]}),e[6]=l,e[7]=r,e[8]=d):d=e[8];let i;e[9]!==f||e[10]!==n?(i=f??(n&&t.jsx(j,{variant:"outline",size:"default",className:b("gap-2",n?.className),...n})),e[9]=f,e[10]=n,e[11]=i):i=e[11];let c;e[12]!==i?(c=t.jsx("div",{className:"mt-6",children:i}),e[12]=i,e[13]=c):c=e[13];let o;return e[14]!==s||e[15]!==d||e[16]!==c?(o=t.jsxs("div",{className:"flex h-full flex-col items-center justify-center",children:[s,d,c]}),e[14]=s,e[15]=d,e[16]=c,e[17]=o):o=e[17],o}export{v as E};
1
+ import{c as p,j as t}from"./index-Bs29EeVO.js";import{B as j,c as b}from"./button-ZOo4pjl-.js";function v(u){const e=p.c(18),{icon:a,title:m,description:x,buttonProps:n,buttonComponent:f}=u;let s;e[0]!==a?(s=t.jsx("div",{className:"flex items-center justify-center",children:t.jsx("div",{className:"p-6 rounded-full border border-muted",children:t.jsx("div",{className:"p-4 rounded-full border border-border",children:t.jsx("div",{className:"p-3.5 rounded-full border border-border",children:t.jsx("div",{className:"p-3 rounded-full border border-border",children:t.jsx("div",{className:"w-20 h-20 rounded-full bg-muted flex items-center justify-center p-4",children:a})})})})})}),e[0]=a,e[1]=s):s=e[1];let l;e[2]!==m?(l=t.jsx("h3",{className:"text-2xl font-semibold text-foreground text-center",children:m}),e[2]=m,e[3]=l):l=e[3];let r;e[4]!==x?(r=t.jsx("div",{className:"text-sm text-muted-foreground text-center flex flex-col gap-1",children:x}),e[4]=x,e[5]=r):r=e[5];let d;e[6]!==l||e[7]!==r?(d=t.jsxs("div",{className:"flex flex-col items-center gap-2 max-w-md",children:[l,r]}),e[6]=l,e[7]=r,e[8]=d):d=e[8];let i;e[9]!==f||e[10]!==n?(i=f??(n&&t.jsx(j,{variant:"outline",size:"default",className:b("gap-2",n?.className),...n})),e[9]=f,e[10]=n,e[11]=i):i=e[11];let c;e[12]!==i?(c=t.jsx("div",{className:"mt-6",children:i}),e[12]=i,e[13]=c):c=e[13];let o;return e[14]!==s||e[15]!==d||e[16]!==c?(o=t.jsxs("div",{className:"flex h-full flex-col items-center justify-center",children:[s,d,c]}),e[14]=s,e[15]=d,e[16]=c,e[17]=o):o=e[17],o}export{v as E};
@@ -1 +1 @@
1
- import{c as V,j as o}from"./index-bZDjEZjy.js";import{B as C}from"./button-ClfTbYRX.js";import{I as P}from"./input-Db3X6HvF.js";import{s as A}from"./Plus-zV6WU4JB.js";import{s as R}from"./Trash01-DlcrlG40.js";function z(i){const e=i.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(l=>e.includes(l))||["sk_","rk_","whsec_","pk_live","sk_live"].some(l=>e.startsWith(l))||["_key","_secret","_token","_password","_auth","_pat"].some(l=>e.endsWith(l)))}function T(i){const e=V.c(34),{value:t,onChange:s,keyPlaceholder:j,valuePlaceholder:l,className:E}=i,p=j===void 0?"VARIABLE_NAME":j,h=l===void 0?"value...":l;let k;e[0]!==s||e[1]!==t?(k=()=>{s([...t,{key:"",value:""}])},e[0]=s,e[1]=t,e[2]=k):k=e[2];const N=k;let y;e[3]!==s||e[4]!==t?(y=n=>{s(t.filter((c,r)=>r!==n))},e[3]=s,e[4]=t,e[5]=y):y=e[5];const m=y;let g;e[6]!==s||e[7]!==t?(g=(n,c)=>{const r=[...t],a=r[n];a&&(r[n]={key:c,value:a.value},s(r))},e[6]=s,e[7]=t,e[8]=g):g=e[8];const _=g;let x;e[9]!==s||e[10]!==t?(x=(n,c)=>{const r=[...t],a=r[n];a&&(r[n]={key:a.key,value:c},s(r))},e[9]=s,e[10]=t,e[11]=x):x=e[11];const v=x;let u;if(e[12]!==_||e[13]!==m||e[14]!==v||e[15]!==p||e[16]!==t||e[17]!==h){let n;e[19]!==_||e[20]!==m||e[21]!==v||e[22]!==p||e[23]!==h?(n=(c,r)=>o.jsxs("div",{className:"flex gap-2 items-center",children:[o.jsx(P,{placeholder:p,value:c.key,onChange:a=>_(r,a.target.value),className:"h-10 rounded-lg flex-1 font-mono text-sm"}),o.jsx(P,{type:z(c.key)?"password":"text",placeholder:h,value:c.value,onChange:a=>v(r,a.target.value),className:"h-10 rounded-lg flex-1"}),o.jsx(C,{type:"button",variant:"ghost",size:"icon",className:"h-10 w-10 shrink-0 text-muted-foreground hover:text-destructive",onClick:()=>m(r),children:o.jsx(R,{size:16})})]},r),e[19]=_,e[20]=m,e[21]=v,e[22]=p,e[23]=h,e[24]=n):n=e[24],u=t.map(n),e[12]=_,e[13]=m,e[14]=v,e[15]=p,e[16]=t,e[17]=h,e[18]=u}else u=e[18];let w;e[25]===Symbol.for("react.memo_cache_sentinel")?(w=o.jsx(A,{size:16,className:"mr-1"}),e[25]=w):w=e[25];let f;e[26]!==N?(f=o.jsxs(C,{type:"button",variant:"outline",size:"sm",className:"w-full h-9 text-muted-foreground",onClick:N,children:[w,"Add Environment Variable"]}),e[26]=N,e[27]=f):f=e[27];let d;e[28]!==u||e[29]!==f?(d=o.jsxs("div",{className:"flex flex-col gap-2",children:[u,f]}),e[28]=u,e[29]=f,e[30]=d):d=e[30];let b;return e[31]!==E||e[32]!==d?(b=o.jsx("div",{className:E,children:d}),e[31]=E,e[32]=d,e[33]=b):b=e[33],b}function W(i){const e={};for(const{key:t,value:s}of i)t.trim()&&(e[t.trim()]=s);return e}function $(i){return i?Object.entries(i).map(([e,t])=>({key:e,value:t})):[]}export{T as E,W as e,$ as r};
1
+ import{c as V,j as o}from"./index-Bs29EeVO.js";import{B as C}from"./button-ZOo4pjl-.js";import{I as P}from"./input-C4GtYEoZ.js";import{s as A}from"./Plus-ByTt0Dzz.js";import{s as R}from"./Trash01-BmWnYoTo.js";function z(i){const e=i.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(l=>e.includes(l))||["sk_","rk_","whsec_","pk_live","sk_live"].some(l=>e.startsWith(l))||["_key","_secret","_token","_password","_auth","_pat"].some(l=>e.endsWith(l)))}function T(i){const e=V.c(34),{value:t,onChange:s,keyPlaceholder:j,valuePlaceholder:l,className:E}=i,p=j===void 0?"VARIABLE_NAME":j,h=l===void 0?"value...":l;let k;e[0]!==s||e[1]!==t?(k=()=>{s([...t,{key:"",value:""}])},e[0]=s,e[1]=t,e[2]=k):k=e[2];const N=k;let y;e[3]!==s||e[4]!==t?(y=n=>{s(t.filter((c,r)=>r!==n))},e[3]=s,e[4]=t,e[5]=y):y=e[5];const m=y;let g;e[6]!==s||e[7]!==t?(g=(n,c)=>{const r=[...t],a=r[n];a&&(r[n]={key:c,value:a.value},s(r))},e[6]=s,e[7]=t,e[8]=g):g=e[8];const _=g;let x;e[9]!==s||e[10]!==t?(x=(n,c)=>{const r=[...t],a=r[n];a&&(r[n]={key:a.key,value:c},s(r))},e[9]=s,e[10]=t,e[11]=x):x=e[11];const v=x;let u;if(e[12]!==_||e[13]!==m||e[14]!==v||e[15]!==p||e[16]!==t||e[17]!==h){let n;e[19]!==_||e[20]!==m||e[21]!==v||e[22]!==p||e[23]!==h?(n=(c,r)=>o.jsxs("div",{className:"flex gap-2 items-center",children:[o.jsx(P,{placeholder:p,value:c.key,onChange:a=>_(r,a.target.value),className:"h-10 rounded-lg flex-1 font-mono text-sm"}),o.jsx(P,{type:z(c.key)?"password":"text",placeholder:h,value:c.value,onChange:a=>v(r,a.target.value),className:"h-10 rounded-lg flex-1"}),o.jsx(C,{type:"button",variant:"ghost",size:"icon",className:"h-10 w-10 shrink-0 text-muted-foreground hover:text-destructive",onClick:()=>m(r),children:o.jsx(R,{size:16})})]},r),e[19]=_,e[20]=m,e[21]=v,e[22]=p,e[23]=h,e[24]=n):n=e[24],u=t.map(n),e[12]=_,e[13]=m,e[14]=v,e[15]=p,e[16]=t,e[17]=h,e[18]=u}else u=e[18];let w;e[25]===Symbol.for("react.memo_cache_sentinel")?(w=o.jsx(A,{size:16,className:"mr-1"}),e[25]=w):w=e[25];let f;e[26]!==N?(f=o.jsxs(C,{type:"button",variant:"outline",size:"sm",className:"w-full h-9 text-muted-foreground",onClick:N,children:[w,"Add Environment Variable"]}),e[26]=N,e[27]=f):f=e[27];let d;e[28]!==u||e[29]!==f?(d=o.jsxs("div",{className:"flex flex-col gap-2",children:[u,f]}),e[28]=u,e[29]=f,e[30]=d):d=e[30];let b;return e[31]!==E||e[32]!==d?(b=o.jsx("div",{className:E,children:d}),e[31]=E,e[32]=d,e[33]=b):b=e[33],b}function W(i){const e={};for(const{key:t,value:s}of i)t.trim()&&(e[t.trim()]=s);return e}function $(i){return i?Object.entries(i).map(([e,t])=>({key:e,value:t})):[]}export{T as E,W as e,$ as r};
@@ -1 +1 @@
1
- import{r as o,j as e}from"./index-bZDjEZjy.js";import{B as n}from"./button-ClfTbYRX.js";const a=({size:t=24,color:r="currentColor",...s})=>o.createElement("svg",{viewBox:"0 0 24 24",width:t,height:t,stroke:r,strokeWidth:"2",fill:"none",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...s},o.createElement("path",{d:"M12 9v4m0 4h.01M10.615 3.892 2.39 18.098c-.456.788-.684 1.182-.65 1.506a1 1 0 0 0 .406.705c.263.191.718.191 1.629.191h16.45c.91 0 1.365 0 1.628-.191a1 1 0 0 0 .407-.705c.034-.324-.195-.718-.65-1.506L13.383 3.892c-.454-.785-.681-1.178-.978-1.31a1 1 0 0 0-.813 0c-.296.132-.523.525-.978 1.31Z"}));a.displayName="AlertTriangle";class l extends o.Component{state={hasError:!1,error:null};static getDerivedStateFromError(r){return{hasError:!0,error:r}}componentDidCatch(r,s){console.error("Uncaught error:",r,s)}resetError=()=>{this.setState({hasError:!1,error:null})};render(){if(this.state.hasError){const{fallback:r}=this.props;return typeof r=="function"?r({error:this.state.error,resetError:this.resetError}):r!==void 0?r:e.jsxs("div",{className:"flex-1 flex flex-col items-center justify-center h-full p-6 text-center space-y-4",children:[e.jsx("div",{className:"bg-destructive/10 p-3 rounded-full",children:e.jsx(a,{className:"h-6 w-6 text-destructive"})}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("h3",{className:"text-lg font-medium",children:"Something went wrong"}),e.jsx("p",{className:"text-sm text-muted-foreground max-w-xs mx-auto",children:this.state.error?.message||"An unexpected error occurred"})]}),e.jsx(n,{variant:"outline",onClick:this.resetError,children:"Try again"})]})}return this.props.children}}export{l as E,a as i};
1
+ import{r as o,j as e}from"./index-Bs29EeVO.js";import{B as n}from"./button-ZOo4pjl-.js";const a=({size:t=24,color:r="currentColor",...s})=>o.createElement("svg",{viewBox:"0 0 24 24",width:t,height:t,stroke:r,strokeWidth:"2",fill:"none",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...s},o.createElement("path",{d:"M12 9v4m0 4h.01M10.615 3.892 2.39 18.098c-.456.788-.684 1.182-.65 1.506a1 1 0 0 0 .406.705c.263.191.718.191 1.629.191h16.45c.91 0 1.365 0 1.628-.191a1 1 0 0 0 .407-.705c.034-.324-.195-.718-.65-1.506L13.383 3.892c-.454-.785-.681-1.178-.978-1.31a1 1 0 0 0-.813 0c-.296.132-.523.525-.978 1.31Z"}));a.displayName="AlertTriangle";class l extends o.Component{state={hasError:!1,error:null};static getDerivedStateFromError(r){return{hasError:!0,error:r}}componentDidCatch(r,s){console.error("Uncaught error:",r,s)}resetError=()=>{this.setState({hasError:!1,error:null})};render(){if(this.state.hasError){const{fallback:r}=this.props;return typeof r=="function"?r({error:this.state.error,resetError:this.resetError}):r!==void 0?r:e.jsxs("div",{className:"flex-1 flex flex-col items-center justify-center h-full p-6 text-center space-y-4",children:[e.jsx("div",{className:"bg-destructive/10 p-3 rounded-full",children:e.jsx(a,{className:"h-6 w-6 text-destructive"})}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("h3",{className:"text-lg font-medium",children:"Something went wrong"}),e.jsx("p",{className:"text-sm text-muted-foreground max-w-xs mx-auto",children:this.state.error?.message||"An unexpected error occurred"})]}),e.jsx(n,{variant:"outline",onClick:this.resetError,children:"Try again"})]})}return this.props.children}}export{l as E,a as i};
@@ -1 +1 @@
1
- import{r as v}from"./index-bZDjEZjy.js";import"./constants-ClcoOK3l.js";import{g as A}from"./github-icon-Dp3wHhYE.js";import{g as D}from"./registry-utils-pqvn-SQ9.js";import{g as H}from"./generate-id-Dyweu44Y.js";const z=({size:e=24,color:r="currentColor",...c})=>v.createElement("svg",{viewBox:"0 0 24 24",width:e,height:e,stroke:r,strokeWidth:"2",fill:"none",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...c},v.createElement("path",{d:"m7.5 12 3 3 6-6m5.5 3c0 5.523-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2s10 4.477 10 10Z"}));z.displayName="CheckCircle";const L="mcp.mesh";function O(e){if(!e?.url)return"Unknown";try{return new URL(e.url).hostname}catch{return e.url}}function R(e){const r=e?.identifier||e?.name;return r?r.replace(/^@[^/]+\//,"").replace(/[-_]/g," ").replace(/\b\w/g,i=>i.toUpperCase()):"Unknown"}function K(e,r,c,i){const n=e.server,t=e._meta?.[L],m=new Date().toISOString(),b=t?.friendlyName||t?.friendly_name||e.title||n?.title||n?.name||"Unnamed MCP Server",x=n?.description||null,C=n?.icons?.[0]?.src||A(n?.repository)||null,o=t?.oauth_config,N=o&&typeof o.authorizationEndpoint=="string"&&typeof o.tokenEndpoint=="string"&&typeof o.clientId=="string"&&Array.isArray(o.scopes)&&(o.grantType==="authorization_code"||o.grantType==="client_credentials")?o:null,w=t?.configuration_state,I=t?.configuration_scopes,P=n?.repository?{url:n.repository.url,source:n.repository.source,subfolder:n.repository.subfolder}:null,p=n?.packages??[],f=n?.remotes??[],S=i?.packageIndex??0,T=i?.remoteIndex??0,h=p.length>0&&i?.packageIndex!==void 0,a=h?p[S]:null,s=h?null:f[T];let l,u,y=null;if(a){const _=a.identifier||a.name;l="STDIO",u="";const g={};if(a.environmentVariables)for(const k of a.environmentVariables)k.name&&(g[k.name]="");y={command:"npx",args:_?["-y",_]:[],...Object.keys(g).length>0&&{envVars:g}}}else s?(l=D(s.type)||"HTTP",u=s.url||""):(l="HTTP",u="");const E=f.length>1,M=p.length>1;let d="";a&&M?d=` (${R(a)})`:s&&E&&(d=` (${O(s)})`);const U=b+d;return{id:H("conn"),title:U,description:x,icon:C,app_name:t?.appName||n?.name||null,app_id:t?.id||e.id||null,connection_type:l,connection_url:u,connection_token:null,connection_headers:y,oauth_config:N,configuration_state:w??null,configuration_scopes:I??null,metadata:{source:"store",registry_item_id:e.id,verified:t?.verified??!1,scopeName:t?.scopeName??null,toolsCount:t?.tools?.length??0,publishedAt:t?.publishedAt??null,repository:P},created_at:m,updated_at:m,created_by:c,organization_id:r,tools:null,bindings:null,status:"inactive"}}export{L as M,K as e,z as i};
1
+ import{r as v}from"./index-Bs29EeVO.js";import"./constants-j8UyVq9f.js";import{g as A}from"./github-icon-Dp3wHhYE.js";import{g as D}from"./registry-utils-Do3XnHa6.js";import{g as H}from"./generate-id-Dyweu44Y.js";const z=({size:e=24,color:r="currentColor",...c})=>v.createElement("svg",{viewBox:"0 0 24 24",width:e,height:e,stroke:r,strokeWidth:"2",fill:"none",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...c},v.createElement("path",{d:"m7.5 12 3 3 6-6m5.5 3c0 5.523-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2s10 4.477 10 10Z"}));z.displayName="CheckCircle";const L="mcp.mesh";function O(e){if(!e?.url)return"Unknown";try{return new URL(e.url).hostname}catch{return e.url}}function R(e){const r=e?.identifier||e?.name;return r?r.replace(/^@[^/]+\//,"").replace(/[-_]/g," ").replace(/\b\w/g,i=>i.toUpperCase()):"Unknown"}function K(e,r,c,i){const n=e.server,t=e._meta?.[L],m=new Date().toISOString(),b=t?.friendlyName||t?.friendly_name||e.title||n?.title||n?.name||"Unnamed MCP Server",x=n?.description||null,C=n?.icons?.[0]?.src||A(n?.repository)||null,o=t?.oauth_config,N=o&&typeof o.authorizationEndpoint=="string"&&typeof o.tokenEndpoint=="string"&&typeof o.clientId=="string"&&Array.isArray(o.scopes)&&(o.grantType==="authorization_code"||o.grantType==="client_credentials")?o:null,w=t?.configuration_state,I=t?.configuration_scopes,P=n?.repository?{url:n.repository.url,source:n.repository.source,subfolder:n.repository.subfolder}:null,p=n?.packages??[],f=n?.remotes??[],S=i?.packageIndex??0,T=i?.remoteIndex??0,h=p.length>0&&i?.packageIndex!==void 0,a=h?p[S]:null,s=h?null:f[T];let l,u,y=null;if(a){const _=a.identifier||a.name;l="STDIO",u="";const g={};if(a.environmentVariables)for(const k of a.environmentVariables)k.name&&(g[k.name]="");y={command:"npx",args:_?["-y",_]:[],...Object.keys(g).length>0&&{envVars:g}}}else s?(l=D(s.type)||"HTTP",u=s.url||""):(l="HTTP",u="");const E=f.length>1,M=p.length>1;let d="";a&&M?d=` (${R(a)})`:s&&E&&(d=` (${O(s)})`);const U=b+d;return{id:H("conn"),title:U,description:x,icon:C,app_name:t?.appName||n?.name||null,app_id:t?.id||e.id||null,connection_type:l,connection_url:u,connection_token:null,connection_headers:y,oauth_config:N,configuration_state:w??null,configuration_scopes:I??null,metadata:{source:"store",registry_item_id:e.id,verified:t?.verified??!1,scopeName:t?.scopeName??null,toolsCount:t?.tools?.length??0,publishedAt:t?.publishedAt??null,repository:P},created_at:m,updated_at:m,created_by:c,organization_id:r,tools:null,bindings:null,status:"inactive"}}export{L as M,K as e,z as i};