@decocms/mesh 2.96.2 → 2.96.3
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.
- package/dist/client/assets/{AlertCircle-4DBdKyiN.js → AlertCircle-B74h0Me5.js} +1 -1
- package/dist/client/assets/{AlertOctagon-CJ4814e4.js → AlertOctagon-ChhphFDk.js} +1 -1
- package/dist/client/assets/{ArrowLeft-BbUXsmjT.js → ArrowLeft-ruL5WSCw.js} +1 -1
- package/dist/client/assets/{ArrowUp-Cf0ZCNqn.js → ArrowUp-BTMunjeO.js} +1 -1
- package/dist/client/assets/{Check-DVZrDl7E.js → Check-Dy1kSzwX.js} +1 -1
- package/dist/client/assets/{CheckCircle-CA3HsvdF.js → CheckCircle-BFGOeCKZ.js} +1 -1
- package/dist/client/assets/{CheckDone01-CDAeIQ63.js → CheckDone01-CIq1TziU.js} +1 -1
- package/dist/client/assets/{ChevronDown-BrnUqul2.js → ChevronDown-CEjoikg0.js} +1 -1
- package/dist/client/assets/{ChevronRight-lTpPQGwH.js → ChevronRight-CVpzq9SE.js} +1 -1
- package/dist/client/assets/{Clock-BpIUYvY9.js → Clock-BFqtZfyI.js} +1 -1
- package/dist/client/assets/{Code01-CgOGThgh.js → Code01-ztcPrUdW.js} +1 -1
- package/dist/client/assets/{Container-CMQiv6Ns.js → Container-D5gdKEFc.js} +1 -1
- package/dist/client/assets/{Copy01-CMA5_oKx.js → Copy01-eBFwMxtu.js} +1 -1
- package/dist/client/assets/{Dataflow03-CJHUSZDC.js → Dataflow03-By6KEPGS.js} +1 -1
- package/dist/client/assets/{DotsHorizontal-bihG3j6i.js → DotsHorizontal-BHB6MwwO.js} +1 -1
- package/dist/client/assets/{DotsVertical-XqPeTgM4.js → DotsVertical-DDpixXKv.js} +1 -1
- package/dist/client/assets/{Download01-COYP-wbM.js → Download01-B-vJTp2a.js} +1 -1
- package/dist/client/assets/{Edit01-CN-BVNm7.js → Edit01-DS8TXF8v.js} +1 -1
- package/dist/client/assets/{Eye-DBhpblAN.js → Eye-DFOdFQT-.js} +1 -1
- package/dist/client/assets/{File02-C2olsFnm.js → File02-CY_WqD-0.js} +1 -1
- package/dist/client/assets/{File06-CyuQ1kk7.js → File06-uox_o6En.js} +1 -1
- package/dist/client/assets/{FilterLines-DNMtf_47.js → FilterLines-DcDy1u8y.js} +1 -1
- package/dist/client/assets/{Globe01-S1shXduq.js → Globe01-W_ezcOw6.js} +1 -1
- package/dist/client/assets/{Grid01-BB6GzE_H.js → Grid01-pmpn_yyH.js} +1 -1
- package/dist/client/assets/{Home02-9-Cl82ip.js → Home02-BK4iA9ga.js} +1 -1
- package/dist/client/assets/{Image01-Bllq3U2e.js → Image01-CjBWTpk6.js} +1 -1
- package/dist/client/assets/{Inbox01-_QG6HIJd.js → Inbox01-1y9TGDAK.js} +1 -1
- package/dist/client/assets/{InfoCircle-BzKPKNIV.js → InfoCircle-B2WmuOEX.js} +1 -1
- package/dist/client/assets/{Key01-kq7PX1YS.js → Key01-DXWjoaTE.js} +1 -1
- package/dist/client/assets/{LinkExternal01-B7R1mSP2.js → LinkExternal01-CiZoO6oB.js} +1 -1
- package/dist/client/assets/{List-ByKRHbSO.js → List-Yy4oZaIm.js} +1 -1
- package/dist/client/assets/{Loading01-C30bDA9h.js → Loading01-BclS8iWV.js} +1 -1
- package/dist/client/assets/{Lock01-CMTkVFHx.js → Lock01-D8RoH81a.js} +1 -1
- package/dist/client/assets/{Pin01-DpTPW-9K.js → Pin01-DaSjWctK.js} +1 -1
- package/dist/client/assets/{Play-BweooOYS.js → Play-P0DrvK6F.js} +1 -1
- package/dist/client/assets/{Plus-q5YWe4us.js → Plus-C5LR6cck.js} +1 -1
- package/dist/client/assets/{RefreshCcw01-DRWlmqw5.js → RefreshCcw01-DxpF0pWy.js} +1 -1
- package/dist/client/assets/{RefreshCw01-Bb8t9XLS.js → RefreshCw01-Cvn_Sesf.js} +1 -1
- package/dist/client/assets/{Save01-DXWV5nj4.js → Save01-CAo15i_T.js} +1 -1
- package/dist/client/assets/{SearchMd-hERLZOdx.js → SearchMd-DhDCnDEk.js} +1 -1
- package/dist/client/assets/{Settings01-K_PXf5Q7.js → Settings01-Di__7g37.js} +1 -1
- package/dist/client/assets/{Settings02-ZV7r5q4D.js → Settings02-Cs4oKE9x.js} +1 -1
- package/dist/client/assets/{Share07-Dx2Rb32N.js → Share07-CNOl6few.js} +1 -1
- package/dist/client/assets/{Terminal-VY7qOx_i.js → Terminal-DhXZE8tI.js} +1 -1
- package/dist/client/assets/{Tool01-BP_mkdy3.js → Tool01-D6uiZqcI.js} +1 -1
- package/dist/client/assets/{Trash01-Dk9pv506.js → Trash01-fpfGO2En.js} +1 -1
- package/dist/client/assets/{Upload01-BokmTptz.js → Upload01-BK6OrHOB.js} +1 -1
- package/dist/client/assets/{Users03-C_ymlzx3.js → Users03-9Yj1Oct5.js} +1 -1
- package/dist/client/assets/{X-BofIsacr.js → X-D-vCW-FP.js} +1 -1
- package/dist/client/assets/{XClose-B9jvydA5.js → XClose-CwzH0SGu.js} +1 -1
- package/dist/client/assets/{agent-connections-preview-CcWJACAV.js → agent-connections-preview-Bm7_QMu6.js} +1 -1
- package/dist/client/assets/{agent-detail-BTNxaZph.js → agent-detail-C4sYOZn2.js} +1 -1
- package/dist/client/assets/{agents-isWhMnyk.js → agents-UG-TRZOf.js} +1 -1
- package/dist/client/assets/alert-dialog-C2eeNa17.js +7 -0
- package/dist/client/assets/{auth-catchall-BmUeke0B.js → auth-catchall-DsmRXLAK.js} +1 -1
- package/dist/client/assets/{avatar-DbtnoOEU.js → avatar-DVIfFxjv.js} +1 -1
- package/dist/client/assets/{badge-D_aixLlt.js → badge-Ce8oucop.js} +1 -1
- package/dist/client/assets/{binder-BeHB3-7Y.js → binder-B_Z7E1sw.js} +1 -1
- package/dist/client/assets/{breadcrumb-ClGbT9Pe.js → breadcrumb-DTOs2A-I.js} +1 -1
- package/dist/client/assets/{button-D-PerQqC.js → button-Cxd9D7GZ.js} +1 -1
- package/dist/client/assets/{card-ZafkYtyj.js → card-U5Qqs_wY.js} +1 -1
- package/dist/client/assets/{checkbox-DGTMQZYw.js → checkbox-QmtfqLqJ.js} +1 -1
- package/dist/client/assets/{circle-alert-B5MH-I2D.js → circle-alert-p06JWO6x.js} +1 -1
- package/dist/client/assets/{collection-detail-D7K7KZ3j.js → collection-detail-WxZ2NZBP.js} +1 -1
- package/dist/client/assets/{collection-search-CFO7XWxi.js → collection-search-BEKSlJnh.js} +1 -1
- package/dist/client/assets/{collection-tab-ZK9qGzbi.js → collection-tab-CXhYQfuQ.js} +1 -1
- package/dist/client/assets/{collection-table-wrapper-aEUpSjNT.js → collection-table-wrapper-Bq9YQNWy.js} +1 -1
- package/dist/client/assets/{collection-tabs-zYgpPtAl.js → collection-tabs-D6wgvS1J.js} +1 -1
- package/dist/client/assets/{command-riBVGEeS.js → command-17BNeKxr.js} +1 -1
- package/dist/client/assets/{connect-CxlD4pzc.js → connect-D6XC7UNZ.js} +1 -1
- package/dist/client/assets/{connection-card-DibEpgAJ.js → connection-card-CHDbSQUC.js} +1 -1
- package/dist/client/assets/{connection-detail-VawJXFkM.js → connection-detail-91YS9aaX.js} +1 -1
- package/dist/client/assets/{connections-rTehwMXP.js → connections-CH561e8o.js} +1 -1
- package/dist/client/assets/{constants-CH9byiKA.js → constants-7tHIXjuz.js} +1 -1
- package/dist/client/assets/constants-B1QaD4GY.js +1 -0
- package/dist/client/assets/{create-organization-dialog-DBHZfDPt.js → create-organization-dialog-BIJfN6rY.js} +1 -1
- package/dist/client/assets/{create-project-dialog-Yqgc0Gmy.js → create-project-dialog-W-9Wb58U.js} +1 -1
- package/dist/client/assets/{dialog-CFptoDdD.js → dialog-D36Sp9vM.js} +1 -1
- package/dist/client/assets/{dropdown-menu-C8QhWQVm.js → dropdown-menu-D1SDd-O9.js} +1 -1
- package/dist/client/assets/{dynamic-plugin-layout-DYwd3Z58.js → dynamic-plugin-layout-iqk4NK_8.js} +1 -1
- package/dist/client/assets/{empty-state-DyXzPX9E.js → empty-state-DmFtndPA.js} +1 -1
- package/dist/client/assets/{empty-state-DoBcZdM-.js → empty-state-x18Ct7Bg.js} +1 -1
- package/dist/client/assets/{env-vars-editor-DyPP_8RR.js → env-vars-editor-CxTFyVmJ.js} +1 -1
- package/dist/client/assets/{error-boundary-8guJh7VT.js → error-boundary-BuSNQDm9.js} +1 -1
- package/dist/client/assets/{extract-connection-data-DkrrvIEC.js → extract-connection-data-Bxl9-N57.js} +1 -1
- package/dist/client/assets/{file-browser-Fvr2IbiZ.js → file-browser-Ca7lIx_M.js} +2 -2
- package/dist/client/assets/{form-CtFhf1V_.js → form-C7gcuapm.js} +1 -1
- package/dist/client/assets/{grid-view-Ce3NoRpj.js → grid-view-CioJM2m4.js} +1 -1
- package/dist/client/assets/{home-BjMglPl-.js → home-CO_-lcJ6.js} +1 -1
- package/dist/client/assets/{index-D1S818JH.js → index-APqurMYH.js} +1 -1
- package/dist/client/assets/{index-B29giag9.js → index-B0lAKtRh.js} +2 -2
- package/dist/client/assets/{index-V777tuW4.js → index-C1cLa9Gd.js} +1 -1
- package/dist/client/assets/{index-CwR6GYR2.js → index-C4SaT72q.js} +1 -1
- package/dist/client/assets/{index-CrTEMTct.js → index-CuPKLB9d.js} +1 -1
- package/dist/client/assets/{index-BCTs9n6O.js → index-CypvbRZN.js} +1 -1
- package/dist/client/assets/{index-Bourcgd_.js → index-DCBC9Z8D.js} +1 -1
- package/dist/client/assets/{index-BlBYI35m.js → index-Da6ccH2V.js} +1 -1
- package/dist/client/assets/{index-D8tHe059.js → index-uvODQDQz.js} +1 -1
- package/dist/client/assets/{infiniteQueryObserver-Dzcc9UjY.js → infiniteQueryObserver-B5jHce9f.js} +1 -1
- package/dist/client/assets/{input-Cxci79To.js → input-BTRdl8wU.js} +1 -1
- package/dist/client/assets/{integration-icon-ByKWru2D.js → integration-icon-Qol0n8Yu.js} +1 -1
- package/dist/client/assets/{label-BN7IWnf6.js → label-B-xKop8p.js} +1 -1
- package/dist/client/assets/{layout-DUHhpHXf.js → layout-DQVjOYgA.js} +1 -1
- package/dist/client/assets/{localstorage-keys-CwGoMvvj.js → localstorage-keys-DE1N3_0b.js} +1 -1
- package/dist/client/assets/{login-Ty0R4DxW.js → login-CEoLgQ5J.js} +1 -1
- package/dist/client/assets/{mcp-oauth-ChVLA9f3.js → mcp-oauth-fVu6jtVi.js} +1 -1
- package/dist/client/assets/{mcp-server-card-DBYZ33HR.js → mcp-server-card-DUsbBMD4.js} +1 -1
- package/dist/client/assets/{mcp-server-detail-Du-GkpxI.js → mcp-server-detail-Dc_FNQcM.js} +2 -2
- package/dist/client/assets/{members-DsiwYbO8.js → members-6JeadSC6.js} +1 -1
- package/dist/client/assets/{monitoring-BlxCJU8J.js → monitoring-B6aMBTbK.js} +2 -2
- package/dist/client/assets/{monitoring-dashboard-edit-DSM3xa4Q.js → monitoring-dashboard-edit-D0LJi6WO.js} +1 -1
- package/dist/client/assets/{monitoring-dashboard-view-CJ1f1bB7.js → monitoring-dashboard-view-B9KgxuRn.js} +2 -2
- package/dist/client/assets/{oauth-callback-DmySymdW.js → oauth-callback-Bao0-Lp_.js} +1 -1
- package/dist/client/assets/{page-D0Sa9mFI.js → page-D3AoRnua.js} +1 -1
- package/dist/client/assets/{page-Tih4SWMI.js → page-tBi1gMVm.js} +1 -1
- package/dist/client/assets/{plugin-empty-state-D05hsZ5h.js → plugin-empty-state-DgG7XCmo.js} +1 -1
- package/dist/client/assets/{plugin-empty-state-hheYGSVX.js → plugin-empty-state-KJVP3Tbc.js} +1 -1
- package/dist/client/assets/{plugin-header-CE-bMrP6.js → plugin-header-CRttRDjI.js} +1 -1
- package/dist/client/assets/{plugin-header-CmN2-mKw.js → plugin-header-gmQgvWvo.js} +1 -1
- package/dist/client/assets/{popover-Bq8aZ27v.js → popover-CdY9eVBh.js} +1 -1
- package/dist/client/assets/{project-layout-ByRKYVau.js → project-layout-CIS1pzpd.js} +1 -1
- package/dist/client/assets/{project-settings-ByYa3pFP.js → project-settings-Dpll6cAV.js} +1 -1
- package/dist/client/assets/{projects-list-CDpKF2Ed.js → projects-list-D8CKizs8.js} +1 -1
- package/dist/client/assets/{registry-layout-CfGazoo8.js → registry-layout-DV5n9jEh.js} +3 -3
- package/dist/client/assets/{registry-utils-6Y4tQn0C.js → registry-utils-icgkdXTH.js} +1 -1
- package/dist/client/assets/{resizable-DfSFqzWY.js → resizable-CQB3xYuP.js} +1 -1
- package/dist/client/assets/{save-actions-htT4YoqX.js → save-actions-BCWYpxCn.js} +1 -1
- package/dist/client/assets/{scroll-area-BJ5bePQ1.js → scroll-area-B6cIs4dW.js} +1 -1
- package/dist/client/assets/{select-D6oaQfJS.js → select-vvkW2wBk.js} +1 -1
- package/dist/client/assets/{shell-layout-GR3VdFoR.js → shell-layout-Do1GEQEt.js} +3 -3
- package/dist/client/assets/{spinner-BstVffOp.js → spinner-BsQXvc2Y.js} +1 -1
- package/dist/client/assets/{store-invite-C4VxiywO.js → store-invite-CfCVsnuu.js} +1 -1
- package/dist/client/assets/{switch-Bi5F4S-5.js → switch-BezvOOLk.js} +1 -1
- package/dist/client/assets/{table-C576YCZw.js → table-Bhjp6CI9.js} +1 -1
- package/dist/client/assets/{tasks-BDnJjeaX.js → tasks-DGTypMJH.js} +1 -1
- package/dist/client/assets/{textarea-DhETf1og.js → textarea-D0RfPnUt.js} +1 -1
- package/dist/client/assets/{time-range-picker-CG48KHqL.js → time-range-picker-BTAPhqft.js} +1 -1
- package/dist/client/assets/{toggle-group-BdU9v1nm.js → toggle-group-CTeIuV4q.js} +1 -1
- package/dist/client/assets/{tools-list-DhfY_SNs.js → tools-list-K8xKTQ3C.js} +1 -1
- package/dist/client/assets/{tooltip-D-FT-fCa.js → tooltip-DkOvFQ7D.js} +1 -1
- package/dist/client/assets/{topbar-portal-IUe4pf8g.js → topbar-portal-B2pXZeiz.js} +1 -1
- package/dist/client/assets/{typewriter-title-cc0Pz_LM.js → typewriter-title-fOoA67kV.js} +1 -1
- package/dist/client/assets/{use-binding-B7W2mOcc.js → use-binding-Dvp-m6Vz.js} +1 -1
- package/dist/client/assets/{use-connection-DrWeJHXu.js → use-connection-t2lORAui.js} +1 -1
- package/dist/client/assets/{use-copy-BNoj9l5V.js → use-copy-tAcjwV9Y.js} +1 -1
- package/dist/client/assets/{use-create-virtual-mcp-DhPfPD_b.js → use-create-virtual-mcp-BUseoHRu.js} +1 -1
- package/dist/client/assets/{use-deco-chat-open-B0b2QgDS.js → use-deco-chat-open-BVQclAcG.js} +5 -5
- package/dist/client/assets/{use-install-from-registry-BMfOY5TA.js → use-install-from-registry-BcVvP9yq.js} +1 -1
- package/dist/client/assets/{use-list-state-qDaPNHfK.js → use-list-state-Lbcc4L0H.js} +1 -1
- package/dist/client/assets/{use-llm-DjYTM2HW.js → use-llm-CJX1SR85.js} +1 -1
- package/dist/client/assets/{use-mcp-prompts-BMZQCyj7.js → use-mcp-prompts-BjSsl1qM.js} +1 -1
- package/dist/client/assets/{use-mcp-tools-CdAhr98j.js → use-mcp-tools-BPlzUo29.js} +1 -1
- package/dist/client/assets/{use-mobile-DcwTOp-X.js → use-mobile-BKPcRCzM.js} +1 -1
- package/dist/client/assets/{use-organization-settings-6xOluKFM.js → use-organization-settings-CUcA5y45.js} +1 -1
- package/dist/client/assets/{use-project-DY_ihdkL.js → use-project-BTuyMFkB.js} +1 -1
- package/dist/client/assets/{use-view-mode-CY4TLkHz.js → use-view-mode-CDTkXCJs.js} +1 -1
- package/dist/client/assets/{use-virtual-mcp-IiP1g_wm.js → use-virtual-mcp-BPuNbW-j.js} +1 -1
- package/dist/client/assets/useInfiniteQuery-Cb7WWrkC.js +1 -0
- package/dist/client/assets/{useMutation-WNJB1RXH.js → useMutation-DTtaBOsy.js} +1 -1
- package/dist/client/assets/useQuery-Cx1KUbzW.js +1 -0
- package/dist/client/assets/useSuspenseInfiniteQuery-CeqWcmOh.js +1 -0
- package/dist/client/assets/{view-mode-toggle-CRrDEnZy.js → view-mode-toggle-CPbxqbKZ.js} +1 -1
- package/dist/client/assets/{workflow-CD5ePGpY.js → workflow-BOVimVc9.js} +1 -1
- package/dist/client/index.html +1 -1
- package/package.json +1 -1
- package/dist/client/assets/alert-dialog-Cl76sYVz.js +0 -7
- package/dist/client/assets/constants-kLsxGUtY.js +0 -1
- package/dist/client/assets/useInfiniteQuery-eF9xXIkq.js +0 -1
- package/dist/client/assets/useQuery-BO0TdkAU.js +0 -1
- package/dist/client/assets/useSuspenseInfiniteQuery-DfH90Jor.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{ak as k,r as p,g as j,j as e,f as z,S as L,N as R,c as U}from"./index-
|
|
1
|
+
import{ak as k,r as p,g as j,j as e,f as z,S as L,N as R,c as U}from"./index-B0lAKtRh.js";import{u as T}from"./useMutation-DTtaBOsy.js";import{c as b,B as P}from"./button-Cxd9D7GZ.js";import{I as E}from"./input-BTRdl8wU.js";function B({redirectUrl:r}){const{emailAndPassword:t}=k(),[s,d]=p.useState(""),[o,u]=p.useState(""),[l,v]=p.useState(""),[i,N]=p.useState(()=>globalThis.localStorage?.getItem("hasLoggedIn")!=="true"),[m,h]=p.useState(""),g=T({mutationFn:async({email:a,password:n,name:C})=>{try{if(i){const c=await j.signUp.email({email:a,password:n,name:C||""});if(c.error)throw new Error(c.error.message||"Sign up failed");return c}else{const c=await j.signIn.email({email:a,password:n});if(c.error)throw new Error(c.error.message||"Sign in failed");return c}}catch(c){throw c instanceof Error?c:new Error("Authentication failed")}},onSuccess:()=>{globalThis.localStorage?.setItem("hasLoggedIn","true"),r&&(window.location.href=r)}}),y=a=>/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(a),x=()=>{s.trim()&&!y(s)&&h("Invalid email address")},S=a=>{if(a.preventDefault(),!y(s)){h("Invalid email address");return}g.mutate({email:s,password:o,name:l})},_=a=>n=>{a(n.target.value),I&&g.reset(),a===d&&m&&h("")},f=g.isPending,I=g.error,w=i?s.trim()&&o.trim()&&l.trim():s.trim()&&o.trim(),A=a=>{if(!a)return null;const n=a.message.toLowerCase();return n.includes("unauthorized")||n.includes("401")?"Invalid email or password. Please try again.":n.includes("already exists")||n.includes("409")?"An account with this email already exists. Try signing in instead.":n.includes("network")||n.includes("fetch")?"Network error. Please check your connection and try again.":n.includes("rate limit")||n.includes("429")?"Too many attempts. Please wait a moment and try again.":a.message||"An error occurred. Please try again."};return e.jsxs("div",{className:"mx-auto w-full min-w-[400px] max-w-md grid gap-6 bg-card p-10 border border-primary-foreground/20",children:[e.jsx("div",{className:"flex justify-center",children:e.jsx("img",{src:"/logos/deco logo.svg",alt:"Deco",className:"h-12 w-12"})}),e.jsx("div",{className:"text-center space-y-1",children:e.jsx("p",{className:"text-sm text-foreground/70",children:i?"Create your account":"Login or signup below"})}),I&&e.jsx("div",{className:"rounded-xl bg-destructive/10 p-3 text-sm text-destructive text-center",children:A(I)}),t.enabled&&e.jsxs("form",{onSubmit:S,className:"grid gap-4",children:[e.jsx("div",{className:b("overflow-hidden transition-all duration-300 ease-[cubic-bezier(0.075,0.82,0.165,1)]",i?"max-h-[200px] opacity-100 translate-y-0":"max-h-0 opacity-0 -translate-y-2"),children:e.jsxs("div",{className:b("p-1",!i&&"pointer-events-none"),children:[e.jsx("label",{className:"block text-sm font-medium text-foreground mb-2",children:"Name"}),e.jsx(E,{type:"text",placeholder:"Your name",value:l,onChange:_(v),required:!0,disabled:f||!i,"aria-hidden":!i})]})}),e.jsxs("div",{children:[e.jsx("label",{className:"block text-sm font-medium text-foreground mb-2",children:"Email"}),e.jsx(E,{type:"email",placeholder:"you@example.com",value:s,onChange:_(d),onBlur:x,required:!0,disabled:f,"aria-invalid":!!m}),m&&e.jsx("p",{className:"text-xs text-destructive mt-1.5",children:m})]}),e.jsxs("div",{children:[e.jsx("label",{className:"block text-sm font-medium text-foreground mb-2",children:"Password"}),e.jsx(E,{type:"password",placeholder:"••••••••",value:o,onChange:_(u),required:!0,disabled:f})]}),e.jsx("div",{className:b("overflow-hidden transition-all duration-300 ease-[cubic-bezier(0.075,0.82,0.165,1)]",w?"max-h-[100px] opacity-100 translate-y-0":"max-h-0 opacity-0 -translate-y-2"),children:e.jsx("div",{className:b("p-1",!w&&"pointer-events-none"),children:e.jsx(P,{type:"submit",disabled:f||!w,className:b("w-full font-semibold"),size:"lg","aria-hidden":!w,children:f?i?"Creating account...":"Signing in...":"Continue"})})})]}),e.jsx("div",{className:"text-center",children:e.jsx(P,{type:"button",variant:"link",onClick:()=>{N(!i),v(""),h(""),g.reset()},disabled:f,className:"text-sm text-muted-foreground hover:text-foreground",children:i?"Already have an account? Sign in":"Don't have an account? Sign up"})}),e.jsxs("div",{className:"flex justify-between text-xs text-muted-foreground pt-4",children:[e.jsx("a",{href:"https://www.decocms.com/terms-of-use",target:"_blank",rel:"noopener noreferrer",className:"hover:text-foreground transition-colors",children:"Terms of Service"}),e.jsx("a",{href:"https://www.decocms.com/privacy-policy",target:"_blank",rel:"noopener noreferrer",className:"hover:text-foreground transition-colors",children:"Privacy Policy"})]})]})}function M(r){if(!r.client_id||r.response_type!=="code")return null;const t=new URLSearchParams;return r.client_id&&t.set("client_id",r.client_id),r.redirect_uri&&t.set("redirect_uri",r.redirect_uri),r.response_type&&t.set("response_type",r.response_type),r.state&&t.set("state",r.state),r.scope&&t.set("scope",r.scope),r.code_challenge&&t.set("code_challenge",r.code_challenge),r.code_challenge_method&&t.set("code_challenge_method",r.code_challenge_method),`/api/auth/mcp/authorize?${t.toString()}`}function q(r){const t=U.c(5),{callbackURL:s,providerId:d}=r;let o,u;t[0]!==s||t[1]!==d?(o=()=>{(async()=>await j.signIn.sso({providerId:d,callbackURL:s}))()},u=[d,s],t[0]=s,t[1]=d,t[2]=o,t[3]=u):(o=t[2],u=t[3]),p.useEffect(o,u);let l;return t[4]===Symbol.for("react.memo_cache_sentinel")?(l=e.jsx(L,{}),t[4]=l):l=t[4],l}function Y(){const r=j.useSession(),t=z({from:"/login"}),{next:s="/",client_id:d,redirect_uri:o,response_type:u,state:l,scope:v,code_challenge:i,code_challenge_method:N}=t,{sso:m,emailAndPassword:h,magicLink:g,socialProviders:y}=k(),x=M({client_id:d,redirect_uri:o,response_type:u,state:l,scope:v,code_challenge:i,code_challenge_method:N}),S=x||s;return r.data?x?(window.location.href=x,e.jsx(L,{})):e.jsx(R,{to:s}):m.enabled?e.jsx(q,{callbackURL:S,providerId:m.providerId}):h.enabled||g.enabled||y.enabled?e.jsxs("main",{className:"relative flex min-h-screen items-center justify-center bg-gradient-to-br from-primary to-primary/75 p-4",children:[e.jsx("div",{className:"absolute inset-0",style:{backgroundImage:"radial-gradient(circle, var(--primary-foreground) 1px, transparent 1px)",backgroundSize:"16px 16px",opacity:.15}}),e.jsxs("div",{className:"relative z-10",children:[e.jsx("div",{className:"absolute top-0 left-1/2 -translate-x-1/2 w-screen h-px bg-primary-foreground/15"}),e.jsx("div",{className:"absolute bottom-0 left-1/2 -translate-x-1/2 w-screen h-px bg-primary-foreground/15"}),e.jsx("div",{className:"absolute left-0 top-1/2 -translate-y-1/2 w-px h-screen bg-primary-foreground/15"}),e.jsx("div",{className:"absolute right-0 top-1/2 -translate-y-1/2 w-px h-screen bg-primary-foreground/15"}),e.jsx(B,{redirectUrl:x})]})]}):e.jsx("div",{children:"No login options available"})}export{Y as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{ag as P,ah as $,ai as V,aj as x}from"./index-
|
|
1
|
+
import{ag as P,ah as $,ai as V,aj as x}from"./index-B0lAKtRh.js";function I(n){let e=0;for(let t=0;t<n.length;t++){const r=n.charCodeAt(t);e=(e<<5)-e+r,e=e&e}return Math.abs(e).toString(16)}const T=new Map,O="mcp:oauth:callback:";class N{serverUrl;_clientMetadata;_redirectUrl;_windowMode;_state=null;_codeVerifier=null;_clientInfo=null;_tokens=null;constructor(e){this.serverUrl=e.serverUrl,this._redirectUrl=e.callbackUrl??`${window.location.origin}/oauth/callback`,this._windowMode=e.windowMode??"popup";const t=e.scope?Array.isArray(e.scope)?e.scope.join(" "):e.scope:void 0;this._clientMetadata={redirect_uris:[this._redirectUrl],token_endpoint_auth_method:"none",grant_types:["authorization_code","refresh_token"],response_types:["code"],client_name:e.clientName??"@decocms/mesh MCP client",...t&&{scope:t}},T.set(I(this.serverUrl),this)}get redirectUrl(){return this._redirectUrl}get clientMetadata(){return this._clientMetadata}state(){return this._state||(this._state=crypto.randomUUID()),this._state}getStoredState(){return this._state}clientInformation(){return this._clientInfo??void 0}saveClientInformation(e){this._clientInfo=e}tokens(){return this._tokens??void 0}saveTokens(e){this._tokens=e}redirectToAuthorization(e){if(this._windowMode==="tab"){if(!window.open(e.toString(),"_blank"))throw new Error("Tab was blocked")}else{const s=window.screenX+(window.outerWidth-600)/2,o=window.screenY+(window.outerHeight-700)/2;if(!window.open(e.toString(),"mcp-oauth",`width=600,height=700,left=${s},top=${o},popup=yes`)&&!window.open(e.toString(),"_blank"))throw new Error("Popup was blocked")}}saveCodeVerifier(e){this._codeVerifier=e}codeVerifier(){if(!this._codeVerifier)throw new Error("Code verifier not found");return this._codeVerifier}invalidateCredentials(){this._clientInfo=null,this._tokens=null,this._codeVerifier=null,this._state=null}getServerUrl(){return this.serverUrl}cleanup(){T.delete(I(this.serverUrl))}}async function J(n){const e=n.meshUrl??window.location.origin,t=new URL(`/mcp/${n.connectionId}`,e),r=new N({serverUrl:t.href,clientName:n.clientName,clientUri:n.clientUri,callbackUrl:n.callbackUrl,scope:n.scope,windowMode:n.windowMode}),s={fn:null};try{const o=new Promise((l,u)=>{const w=n.timeout||12e4;let m,h=!1;const M=r.state(),g=`${O}${M}`,d=()=>{window.removeEventListener("message",A),window.removeEventListener("storage",v),clearTimeout(m);try{localStorage.removeItem(g)}catch{}};s.fn=a=>{h||(h=!0,d(),u(a))};const S=async a=>{if(h)return;if(h=!0,!a.success){d(),u(new Error(a.error||"OAuth authentication failed"));return}const{code:k,state:C}=a;if(!k){d(),u(new Error("Missing authorization code"));return}if(r.getStoredState()!==C){d(),u(new Error("OAuth state mismatch - possible CSRF attack"));return}try{const b=(await P(t))?.authorization_servers?.[0]||t,U=await $(b),p=r.clientInformation();if(!p){d(),u(new Error("Client information not found"));return}const L=r.codeVerifier(),R=await V(b,{metadata:U,clientInformation:p,authorizationCode:k,codeVerifier:L,redirectUri:r.redirectUrl,resource:new URL(t)});d(),l({tokens:R,clientId:p.client_id??null,clientSecret:"client_secret"in p?p.client_secret:null,tokenEndpoint:U?.token_endpoint??null})}catch(y){d(),u(y)}},A=async a=>{a.origin===window.location.origin&&a.data?.type==="mcp:oauth:callback"&&await S(a.data)},v=async a=>{if(!(a.key!==g||!a.newValue))try{const k=JSON.parse(a.newValue);await S(k)}catch{}};window.addEventListener("message",A),window.addEventListener("storage",v),m=setTimeout(()=>{h||(h=!0,d(),u(new Error("OAuth authentication timeout")))},w)});if(o.catch(()=>{}),await x(r,{serverUrl:t})==="REDIRECT"){const l=await o;return{token:l.tokens.access_token,tokenInfo:{accessToken:l.tokens.access_token,refreshToken:l.tokens.refresh_token??null,expiresIn:l.tokens.expires_in??null,scope:l.tokens.scope??null,clientId:l.clientId,clientSecret:l.clientSecret,tokenEndpoint:l.tokenEndpoint},error:null}}const i=r.tokens(),c=r.clientInformation();return{token:i?.access_token||null,tokenInfo:i?{accessToken:i.access_token,refreshToken:i.refresh_token??null,expiresIn:i.expires_in??null,scope:i.scope??null,clientId:c?.client_id??null,clientSecret:c&&"client_secret"in c?c.client_secret:null,tokenEndpoint:null}:null,error:null}}catch(o){return s.fn&&s.fn(o instanceof Error?o:new Error(String(o))),{token:null,tokenInfo:null,error:o instanceof Error?o.message:String(o)}}finally{r.cleanup()}}function _(n,e){if(window.opener&&!window.opener.closed)return window.opener.postMessage(n,window.location.origin),!0;if(e)try{const t=`${O}${e}`;return localStorage.setItem(t,JSON.stringify(n)),!0}catch{}return!1}async function K(){const n=new URLSearchParams(window.location.search),e=n.get("code");let t=n.get("state");const r=n.get("error"),s=n.get("error_description");let o=t;if(t)try{const i=atob(t),c=JSON.parse(i);c.clientState&&(o=c.clientState)}catch{}if(r){const i=s||r;return _({type:"mcp:oauth:callback",success:!1,error:i},o),{success:!1,error:i}}if(!e||!t){const i="Missing code or state parameter";return _({type:"mcp:oauth:callback",success:!1,error:i},o),{success:!1,error:i}}return t=o||t,_({type:"mcp:oauth:callback",success:!0,code:e,state:t},t)?{success:!0}:{success:!1,error:"Parent window not available"}}function E(){if(typeof window<"u"&&window.location?.origin)return window.location.origin}function z(n){try{const e=E();return(e?new URL(n,e):new URL(n)).pathname.match(/^\/mcp\/([^/]+)/)?.[1]??null}catch{return null}}async function H(n,e){try{const t=`/api/connections/${n}/oauth-token/status`,r=e?new URL(t,e).href:t,s=await fetch(r,{credentials:e?"omit":"include"});return s.ok?{hasToken:(await s.json()).hasToken===!0}:{hasToken:!1}}catch{return{hasToken:!1}}}async function W({url:n,token:e,meshUrl:t}){try{const r=new Headers;r.set("Content-Type","application/json"),r.set("Accept","application/json, text/event-stream");const s=await fetch(n,{method:"POST",headers:r,body:JSON.stringify({jsonrpc:"2.0",id:1,method:"initialize",params:{protocolVersion:"2025-06-18",capabilities:{},clientInfo:{name:"@decocms/mesh MCP client",version:"1.0.0"}}})}),o=z(n),f=E(),i=t??(f?new URL(n,f).origin:new URL(n).origin);if(s.ok)return{isAuthenticated:!0,supportsOAuth:!1,hasOAuthToken:(o?await H(o,i):{hasToken:!1}).hasToken};let c;try{const w=await s.json();c=w.error||w.message}catch{}return s.status>=500?{isAuthenticated:!1,supportsOAuth:!1,hasOAuthToken:!1,error:c||`HTTP ${s.status}`,isServerError:!0}:{isAuthenticated:!1,supportsOAuth:!!s.headers.get("WWW-Authenticate"),hasOAuthToken:!1,error:c||`HTTP ${s.status}`}}catch(r){return console.error("[isConnectionAuthenticated] Error:",r),{isAuthenticated:!1,supportsOAuth:!1,hasOAuthToken:!1,error:r.message}}}export{J as a,K as h,W as i};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as V,c as H,j as n}from"./index-
|
|
1
|
+
import{r as V,c as H,j as n}from"./index-B0lAKtRh.js";import{T as O,a as q,b as J}from"./tooltip-DkOvFQ7D.js";import{c as A,B as K}from"./button-Cxd9D7GZ.js";import{i as Q,s as X}from"./Terminal-DhXZE8tI.js";import{i as Y}from"./Lock01-D8RoH81a.js";import{s as ee}from"./Plus-C5LR6cck.js";import{C as te}from"./card-U5Qqs_wY.js";import{I as se}from"./integration-icon-Qol0n8Yu.js";import{g as le}from"./github-icon-Dp3wHhYE.js";const U=({size:l=24,color:e="currentColor",...i})=>V.createElement("svg",{viewBox:"0 0 24 24",width:l,height:l,stroke:e,strokeWidth:"2",fill:"none",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...i},V.createElement("path",{d:"m9 12 2 2 4.5-4.5m2.401-4.501a2.03 2.03 0 0 0 1.1 1.1l1.744.723a2.033 2.033 0 0 1 1.1 2.656l-.722 1.744a2.03 2.03 0 0 0 0 1.556l.722 1.744a2.033 2.033 0 0 1-1.1 2.656L19 17.901A2.033 2.033 0 0 0 17.9 19l-.723 1.745a2.032 2.032 0 0 1-2.656 1.1l-1.744-.722a2.032 2.032 0 0 0-1.555 0l-1.745.723a2.033 2.033 0 0 1-2.654-1.1L6.1 19.001A2.033 2.033 0 0 0 5 17.9l-1.744-.723a2.033 2.033 0 0 1-1.1-2.654l.721-1.744a2.033 2.033 0 0 0 0-1.556l-.722-1.746a2.033 2.033 0 0 1 1.1-2.657L5 6.098A2.03 2.03 0 0 0 6.1 5l.723-1.745a2.033 2.033 0 0 1 2.656-1.1l1.744.722a2.033 2.033 0 0 0 1.555-.001l1.746-.72a2.032 2.032 0 0 1 2.655 1.1l.723 1.746v-.003Z"}));U.displayName="CheckVerified02";const W=({size:l=24,color:e="currentColor",...i})=>V.createElement("svg",{viewBox:"0 0 24 24",width:l,height:l,stroke:e,strokeWidth:"2",fill:"none",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...i},V.createElement("path",{d:"M6 6h.01M6 18h.01m-.81-8h13.6c1.12 0 1.68 0 2.108-.218a2 2 0 0 0 .874-.874C22 8.48 22 7.92 22 6.8V5.2c0-1.12 0-1.68-.218-2.108a2 2 0 0 0-.874-.874C20.48 2 19.92 2 18.8 2H5.2c-1.12 0-1.68 0-2.108.218a2 2 0 0 0-.874.874C2 3.52 2 4.08 2 5.2v1.6c0 1.12 0 1.68.218 2.108a2 2 0 0 0 .874.874C3.52 10 4.08 10 5.2 10Zm0 12h13.6c1.12 0 1.68 0 2.108-.218a2 2 0 0 0 .874-.874C22 20.48 22 19.92 22 18.8v-1.6c0-1.12 0-1.68-.218-2.108a2 2 0 0 0-.874-.874C20.48 14 19.92 14 18.8 14H5.2c-1.12 0-1.68 0-2.108.218a2 2 0 0 0-.874.874C2 15.52 2 16.08 2 17.2v1.6c0 1.12 0 1.68.218 2.108a2 2 0 0 0 .874.874C3.52 22 4.08 22 5.2 22Z"}));W.displayName="Server01";function ie(l){if(!l.includes("/"))return l;const e=l.split("/"),i=e[0],s=e[1];if(!i||!s)return l;if(i.includes(".")){const a=i.split("."),r=a[a.length-1]||i,o=s.replace(/^mcp-?/,"").replace(/-?mcp$/,"").replace(/^server-?/,"").replace(/-?server$/,"");return!o||o.length<2?r:o}return s}function ne(l){const e=H.c(2),{protocol:i,className:s}=l;let a;return e[0]!==s?(a={http:n.jsx(X,{className:s}),sse:n.jsx(W,{className:s}),stdio:n.jsx(Q,{className:s})},e[0]=s,e[1]=a):a=e[1],a[i]}function ae(l){switch(l){case"http":return"HTTP";case"sse":return"SSE";case"stdio":return"STDIO"}}function re(l){const e=H.c(9),{protocol:i}=l;let s;e[0]!==i?(s=A("flex items-center gap-1 px-1.5 py-0.5 rounded text-xs font-medium shrink-0",{http:"bg-green-100 text-green-700 dark:bg-green-900/30 dark:text-green-400",sse:"bg-blue-100 text-blue-700 dark:bg-blue-900/30 dark:text-blue-400",stdio:"bg-purple-100 text-purple-700 dark:bg-purple-900/30 dark:text-purple-400"}[i]),e[0]=i,e[1]=s):s=e[1];let a,r;e[2]!==i?(a=n.jsx(ne,{protocol:i,className:"w-3 h-3"}),r=ae(i),e[2]=i,e[3]=a,e[4]=r):(a=e[3],r=e[4]);let o;return e[5]!==s||e[6]!==a||e[7]!==r?(o=n.jsxs("div",{className:s,children:[a,r]}),e[5]=s,e[6]=a,e[7]=r,e[8]=o):o=e[8],o}function oe(l){const e=H.c(68),{icon:i,displayName:s,description:a,onClick:r}=l,t=(l.variant??"store")==="server",d=t?l.hostname:null,p=t?l.protocol:null,m=t?l.isInstalling:!1,c=t?l.actionLabel:void 0,f=t?null:l.scopeName,u=t?!1:l.isVerified,x=t?!0:l.canInstall,M=t?"p-4":"p-6";let h;e[0]!==M?(h=A("cursor-pointer hover:bg-muted/50 transition-colors",M),e[0]=M,e[1]=h):h=e[1];const R=t?"gap-3":"gap-4";let g;e[2]!==R?(g=A("flex flex-col h-full relative",R),e[2]=R,e[3]=g):g=e[3];const Z=t?"sm":"md";let v;e[4]!==s||e[5]!==i||e[6]!==Z?(v=n.jsx(se,{icon:i,name:s,size:Z,className:"shadow-sm shrink-0"}),e[4]=s,e[5]=i,e[6]=Z,e[7]=v):v=e[7];const G=t?"text-sm":"text-base";let j;e[8]!==G?(j=A("flex items-center gap-2 font-medium min-w-0",G),e[8]=G,e[9]=j):j=e[9];let N;e[10]!==s?(N=n.jsx("span",{className:"truncate",children:s}),e[10]=s,e[11]=N):N=e[11];let C;e[12]!==t||e[13]!==u?(C=!t&&u&&n.jsx(U,{size:16,className:"text-success shrink-0"}),e[12]=t,e[13]=u,e[14]=C):C=e[14];let k;e[15]!==x||e[16]!==t?(k=!t&&!x&&n.jsx(Y,{size:16,className:"text-muted-foreground shrink-0"}),e[15]=x,e[16]=t,e[17]=k):k=e[17];let b;e[18]!==t||e[19]!==p?(b=t&&p&&n.jsx(re,{protocol:p}),e[18]=t,e[19]=p,e[20]=b):b=e[20];let y;e[21]!==k||e[22]!==b||e[23]!==j||e[24]!==N||e[25]!==C?(y=n.jsx(O,{asChild:!0,children:n.jsxs("div",{className:j,children:[N,C,k,b]})}),e[21]=k,e[22]=b,e[23]=j,e[24]=N,e[25]=C,e[26]=y):y=e[26];let w;e[27]!==s?(w=n.jsx("p",{children:s}),e[27]=s,e[28]=w):w=e[28];let I;e[29]!==x||e[30]!==t?(I=!t&&!x&&n.jsx("p",{className:"text-xs mt-1",children:"No connection available"}),e[29]=x,e[30]=t,e[31]=I):I=e[31];let S;e[32]!==w||e[33]!==I?(S=n.jsxs(q,{children:[w,I]}),e[32]=w,e[33]=I,e[34]=S):S=e[34];let $;e[35]!==y||e[36]!==S?($=n.jsxs(J,{children:[y,S]}),e[35]=y,e[36]=S,e[37]=$):$=e[37];let L;e[38]!==d||e[39]!==t||e[40]!==f?(L=(f||d)&&n.jsx("div",{className:A("text-muted-foreground truncate",t?"text-xs mt-0.5":"text-sm"),children:f||d}),e[38]=d,e[39]=t,e[40]=f,e[41]=L):L=e[41];let P;e[42]!==$||e[43]!==L?(P=n.jsx("div",{className:"flex gap-2 items-start min-w-0 flex-1",children:n.jsxs("div",{className:"min-w-0 flex-1",children:[$,L]})}),e[42]=$,e[43]=L,e[44]=P):P=e[44];let T;e[45]!==P||e[46]!==v?(T=n.jsxs("div",{className:"flex gap-3",children:[v,P]}),e[45]=P,e[46]=v,e[47]=T):T=e[47];let E;e[48]!==a?(E=a&&n.jsx("div",{className:"text-sm text-muted-foreground line-clamp-2",children:a}),e[48]=a,e[49]=E):E=e[49];let _;e[50]!==a||e[51]!==t?(_=!a&&!t&&n.jsx("div",{className:"text-sm text-muted-foreground line-clamp-2",children:"No description available"}),e[50]=a,e[51]=t,e[52]=_):_=e[52];let z;e[53]!==c||e[54]!==m||e[55]!==t||e[56]!==r?(z=t&&n.jsxs(K,{variant:"outline",size:"sm",onClick:F=>{F.stopPropagation(),r()},disabled:m,className:"w-full mt-auto cursor-pointer",children:[n.jsx(ee,{size:16}),m?"Connecting...":c||"Connect"]}),e[53]=c,e[54]=m,e[55]=t,e[56]=r,e[57]=z):z=e[57];let D;e[58]!==T||e[59]!==E||e[60]!==_||e[61]!==z||e[62]!==g?(D=n.jsxs("div",{className:g,children:[T,E,_,z]}),e[58]=T,e[59]=E,e[60]=_,e[61]=z,e[62]=g,e[63]=D):D=e[63];let B;return e[64]!==r||e[65]!==h||e[66]!==D?(B=n.jsx(te,{className:h,onClick:r,children:D}),e[64]=r,e[65]=h,e[66]=D,e[67]=B):B=e[67],B}function ce(l){const e=l.server,i=l.title||e?.title||l.id||"Unnamed Item",s=l._meta?.["mcp.mesh"],a=s?.short_description||s?.mesh_description||e?.description||l.description||null,r=e?.icons?.[0]?.src||le(e?.repository)||null,o=s?.verified??!1,t=(e?.remotes?.length??0)>0,d=(e?.packages?.length??0)>0,p=t||d;let m=i,c=null;if(i.includes("/")){const f=i.split("/");f.length>=2&&(c=f[0]||null,m=ie(i))}if(!c){const f=s?.scopeName,u=s?.appName;f&&u?c=`${f}/${u}`:f&&(c=f)}return!c&&l.id.includes("/")&&(c=l.id),s?.friendly_name&&(m=s.friendly_name),{icon:r,scopeName:c,displayName:m,description:a,isVerified:o,canInstall:p}}function Ne(l){const e=H.c(19),{items:i,title:s,onItemClick:a}=l;let r,o,t,d,p;if(e[0]!==i||e[1]!==a||e[2]!==s){p=Symbol.for("react.early_return_sentinel");e:{const f=i.filter(de);if(f.length===0){p=null;break e}t="flex flex-col gap-4",e[8]!==s?(d=s&&n.jsx("div",{className:"flex items-center justify-between w-max gap-2",children:n.jsx("h2",{className:"text-lg font-medium",children:s})}),e[8]=s,e[9]=d):d=e[9],r="grid grid-cols-4 gap-4";let u;e[10]!==a?(u=x=>{const M=ce(x);return n.jsx(oe,{...M,onClick:()=>a(x)},x.id)},e[10]=a,e[11]=u):u=e[11],o=f.map(u)}e[0]=i,e[1]=a,e[2]=s,e[3]=r,e[4]=o,e[5]=t,e[6]=d,e[7]=p}else r=e[3],o=e[4],t=e[5],d=e[6],p=e[7];if(p!==Symbol.for("react.early_return_sentinel"))return p;let m;e[12]!==r||e[13]!==o?(m=n.jsx("div",{className:r,children:o}),e[12]=r,e[13]=o,e[14]=m):m=e[14];let c;return e[15]!==t||e[16]!==d||e[17]!==m?(c=n.jsxs("div",{className:t,children:[d,m]}),e[15]=t,e[16]=d,e[17]=m,e[18]=c):c=e[18],c}function de(l){return l!=null}export{Ne as M,oe as a,W as b,ie as e};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-
|
|
2
|
-
import{r as Q,c as F,j as t,K as le,bu as ae,u as we,m as Se,O as re,a as Ue,f as Ve,g as $e,aM as Ae,t as ue}from"./index-B29giag9.js";import{i as Be}from"./AlertCircle-4DBdKyiN.js";import{i as Ce}from"./Loading01-C30bDA9h.js";import{P as pe}from"./index-CwR6GYR2.js";import{I as _e}from"./integration-icon-ByKWru2D.js";import{B as oe,c as Oe}from"./button-D-PerQqC.js";import{i as ze}from"./CheckCircle-CA3HsvdF.js";import{t as Fe}from"./ChevronDown-BrnUqul2.js";import{s as xe}from"./Plus-q5YWe4us.js";import{a as He,c as Ge,b as qe,D as Ke}from"./dropdown-menu-C8QhWQVm.js";import{n as he}from"./LinkExternal01-B7R1mSP2.js";import{E as We}from"./empty-state-DoBcZdM-.js";import{T as Qe,R as ge}from"./tools-list-DhfY_SNs.js";import{u as ce}from"./useQuery-BO0TdkAU.js";import{m as ve}from"./marked.esm-BaswSlok.js";import{C as Ye}from"./collection-tabs-zYgpPtAl.js";import{i as Je,s as Xe}from"./Terminal-VY7qOx_i.js";import{a as Ze,b as et,e as tt}from"./mcp-server-card-DBYZ33HR.js";import{B as st,a as rt,b as be,d as ot,e as nt,c as it}from"./breadcrumb-ClGbT9Pe.js";import{u as lt}from"./use-binding-B7W2mOcc.js";import{g as at,h as ct,f as dt}from"./use-connection-DrWeJHXu.js";import{u as mt}from"./constants-CH9byiKA.js";import{u as ft}from"./use-mcp-tools-CdAhr98j.js";import{u as ut,L as pt}from"./localstorage-keys-CwGoMvvj.js";import{e as xt}from"./extract-connection-data-DkrrvIEC.js";import{s as ht}from"./slugify-CEUa2lfQ.js";import{e as gt,g as vt}from"./github-icon-Dp3wHhYE.js";import{f as bt,d as ye,g as yt,h as jt}from"./registry-utils-6Y4tQn0C.js";import{i as Nt}from"./InfoCircle-BzKPKNIV.js";import"./Container-CMQiv6Ns.js";import"./Check-DVZrDl7E.js";import"./ChevronRight-lTpPQGwH.js";import"./File06-CyuQ1kk7.js";import"./collection-table-wrapper-aEUpSjNT.js";import"./ArrowUp-Cf0ZCNqn.js";import"./Grid01-BB6GzE_H.js";import"./List-ByKRHbSO.js";import"./tooltip-D-FT-fCa.js";import"./index-V777tuW4.js";import"./view-mode-toggle-CRrDEnZy.js";import"./table-C576YCZw.js";import"./collection-search-CFO7XWxi.js";import"./SearchMd-hERLZOdx.js";import"./input-Cxci79To.js";import"./card-ZafkYtyj.js";import"./layout-DUHhpHXf.js";import"./badge-D_aixLlt.js";import"./Lock01-CMTkVFHx.js";import"./binder-BeHB3-7Y.js";import"./useMutation-WNJB1RXH.js";import"./constants-kLsxGUtY.js";import"./generate-id-Dyweu44Y.js";const Ie=({size:r=24,color:e="currentColor",...s})=>Q.createElement("svg",{viewBox:"0 0 24 24",width:r,height:r,stroke:e,strokeWidth:"2",fill:"none",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...s},Q.createElement("path",{d:"m21 21-3.5-3.5m2.5-6a8.5 8.5 0 1 1-17 0 8.5 8.5 0 0 1 17 0Z"}));Ie.displayName="SearchLg";function wt(r){const e=F.c(3),{message:s}=r,o=s===void 0?"Loading MCP Server details...":s;let n;e[0]===Symbol.for("react.memo_cache_sentinel")?(n=t.jsx(Ce,{size:48,className:"animate-spin mb-4"}),e[0]=n):n=e[0];let i;return e[1]!==o?(i=t.jsxs("div",{className:"flex flex-col items-center justify-center h-full",children:[n,t.jsx("p",{className:"text-sm text-muted-foreground",children:o})]}),e[1]=o,e[2]=i):i=e[2],i}function St(r){const e=F.c(9),{error:s,onBack:o}=r,n=s instanceof Error?s.message:s;let i,c;e[0]===Symbol.for("react.memo_cache_sentinel")?(i=t.jsx(Be,{size:48,className:"text-destructive mb-4"}),c=t.jsx("h3",{className:"text-lg font-medium mb-2",children:"Error loading MCP Server"}),e[0]=i,e[1]=c):(i=e[0],c=e[1]);let u;e[2]!==n?(u=t.jsx("p",{className:"text-muted-foreground max-w-md text-center",children:n}),e[2]=n,e[3]=u):u=e[3];let d;e[4]!==o?(d=t.jsx("button",{onClick:o,className:"mt-4 px-4 py-2 bg-primary text-primary-foreground rounded-lg hover:bg-primary/90 transition-colors",children:"Go Back"}),e[4]=o,e[5]=d):d=e[5];let m;return e[6]!==u||e[7]!==d?(m=t.jsxs("div",{className:"flex flex-col items-center justify-center h-full",children:[i,c,u,d]}),e[6]=u,e[7]=d,e[8]=m):m=e[8],m}function Ct(r){const e=F.c(5),{onBack:s}=r;let o,n,i;e[0]===Symbol.for("react.memo_cache_sentinel")?(o=t.jsx(Ie,{size:48,className:"text-muted-foreground mb-4"}),n=t.jsx("h3",{className:"text-lg font-medium mb-2",children:"MCP Server not found"}),i=t.jsx("p",{className:"text-muted-foreground max-w-md text-center",children:"The MCP Server you're looking for doesn't exist in this store."}),e[0]=o,e[1]=n,e[2]=i):(o=e[0],n=e[1],i=e[2]);let c;return e[3]!==s?(c=t.jsxs("div",{className:"flex flex-col items-center justify-center h-full",children:[o,n,i,t.jsx("button",{onClick:s,className:"mt-4 px-4 py-2 bg-primary text-primary-foreground rounded-lg hover:bg-primary/90 transition-colors",children:"Go Back to Store"})]}),e[3]=s,e[4]=c):c=e[4],c}function _t(r){const e=F.c(2),{breadcrumb:s}=r;let o;return e[0]!==s?(o=t.jsx(pe.Header,{children:t.jsx(pe.Header.Left,{children:s})}),e[0]=s,e[1]=o):o=e[1],o}function je(r){const e=F.c(28),{versions:s,selectedIndex:o,onSelect:n,isInstalling:i,variant:c,showLabel:u}=r,d=i===void 0?!1:i,m=c===void 0?"brand":c,_=u===void 0?!1:u,p=s[o],C=_?"sm":"default",N=m==="brand"&&"rounded-l-none px-2 border-l-2 border-l-white/50";let w;e[0]!==N?(w=Oe("shrink-0 cursor-pointer",N),e[0]=N,e[1]=w):w=e[1];let f;e[2]!==p?.server?.version||e[3]!==_?(f=_&&t.jsxs("span",{className:"mr-1",children:["v",p?.server?.version||"unknown"]}),e[2]=p?.server?.version,e[3]=_,e[4]=f):f=e[4];const y=_?14:20;let x;e[5]!==y?(x=t.jsx(Fe,{size:y}),e[5]=y,e[6]=x):x=e[6];let h;e[7]!==d||e[8]!==C||e[9]!==w||e[10]!==f||e[11]!==x||e[12]!==m?(h=t.jsx(He,{asChild:!0,children:t.jsxs(oe,{variant:m,disabled:d,size:C,className:w,children:[f,x]})}),e[7]=d,e[8]=C,e[9]=w,e[10]=f,e[11]=x,e[12]=m,e[13]=h):h=e[13];let g;if(e[14]!==d||e[15]!==n||e[16]!==o||e[17]!==s){let I;e[19]!==d||e[20]!==n||e[21]!==o?(I=(b,j)=>{const M=b._meta?.["io.modelcontextprotocol.registry/official"];return t.jsx(Ge,{onClick:()=>n(j),disabled:d,className:"cursor-pointer",children:t.jsxs("div",{className:"flex items-center justify-between gap-2 w-full",children:[t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsxs("div",{className:"font-medium text-sm",children:["v",b.server?.version||"unknown"]}),M?.isLatest&&t.jsx("div",{className:"text-xs text-muted-foreground/50 font-semibold",children:"LATEST"})]}),j===o&&t.jsx(ze,{size:16,className:"text-muted-foreground shrink-0"})]})},j)},e[19]=d,e[20]=n,e[21]=o,e[22]=I):I=e[22],g=s.map(I),e[14]=d,e[15]=n,e[16]=o,e[17]=s,e[18]=g}else g=e[18];let v;e[23]!==g?(v=t.jsx(qe,{align:"end",className:"w-56 max-h-[300px] overflow-y-auto",children:g}),e[23]=g,e[24]=v):v=e[24];let k;return e[25]!==h||e[26]!==v?(k=t.jsxs(Ke,{children:[h,v]}),e[25]=h,e[26]=v,e[27]=k):k=e[27],k}function It(r){const e=F.c(46),{data:s,itemVersions:o,onInstall:n,canInstall:i,isInstalling:c,hideInstallControls:u,selectedVersionIndex:d,onVersionChange:m}=r,_=i===void 0?!0:i,p=c===void 0?!1:c,C=u===void 0?!1:u,[N,w]=Q.useState(0),f=d??N;let y;e[0]!==m?(y=P=>{w(P),m?.(P)},e[0]=m,e[1]=y):y=e[1];const x=y,h=o[f]||o[0];let g;e[2]!==h?.server?.remotes?(g=h?.server?.remotes??[],e[2]=h?.server?.remotes,e[3]=g):g=e[3];const v=g;let k;e[4]!==h?.server?.packages?(k=h?.server?.packages??[],e[4]=h?.server?.packages,e[5]=k):k=e[5];const b=k.length>0,j=v.length>0,M=v.findIndex(Tt),a=M>=0?M:0;let E;e[6]!==a||e[7]!==b||e[8]!==j||e[9]!==n||e[10]!==f?(E=()=>{j?n(f,a,void 0):b&&n(f,void 0,0)},e[6]=a,e[7]=b,e[8]=j,e[9]=n,e[10]=f,e[11]=E):E=e[11];const L=E;let V;e[12]!==o||e[13]!==n||e[14]!==x?(V=P=>{x(P);const H=o[P],W=H?.server?.remotes??[],G=H?.server?.packages??[];if(W.length>0){const te=W.findIndex(kt);n(P,te>=0?te:0,void 0)}else G.length>0&&n(P,void 0,0)},e[12]=o,e[13]=n,e[14]=x,e[15]=V):V=e[15];const K=V;let D;e[16]!==s.icon||e[17]!==s.name?(D=t.jsx(_e,{icon:s.icon,name:s.name,size:"lg",className:"shrink-0 shadow-sm"}),e[16]=s.icon,e[17]=s.name,e[18]=D):D=e[18];let T;e[19]!==s.name?(T=t.jsx("h1",{className:"text-3xl font-medium",children:s.name}),e[19]=s.name,e[20]=T):T=e[20];let S;e[21]!==s.verified?(S=s.verified&&t.jsx("img",{src:"/verified-badge.svg",alt:"Verified",className:"w-5 h-5 shrink-0"}),e[21]=s.verified,e[22]=S):S=e[22];let $;e[23]!==T||e[24]!==S?($=t.jsxs("div",{className:"flex items-center gap-2",children:[T,S]}),e[23]=T,e[24]=S,e[25]=$):$=e[25];let R;e[26]!==s.shortDescription?(R=s.shortDescription&&t.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:s.shortDescription}),e[26]=s.shortDescription,e[27]=R):R=e[27];let A;e[28]!==$||e[29]!==R?(A=t.jsxs("div",{className:"flex-1 min-w-0",children:[$,R]}),e[28]=$,e[29]=R,e[30]=A):A=e[30];let O;e[31]!==_||e[32]!==L||e[33]!==K||e[34]!==C||e[35]!==p||e[36]!==o||e[37]!==f||e[38]!==x?(O=_&&!C?t.jsx("div",{className:"shrink-0 flex items-center gap-2",children:o.length>1?t.jsxs("div",{className:"flex",children:[t.jsxs(oe,{variant:"brand",onClick:L,disabled:p,className:"shrink-0 rounded-r-none cursor-pointer",children:[t.jsx(xe,{size:20}),p?"Connecting...":"Connect"]}),t.jsx(je,{versions:o,selectedIndex:f,onSelect:K,isInstalling:p,variant:"brand"})]}):t.jsxs(oe,{variant:"brand",onClick:L,disabled:o.length===0||p,className:"shrink-0 cursor-pointer",children:[t.jsx(xe,{size:20}),p?"Connecting...":"Connect"]})}):C?o.length>1?t.jsx("div",{className:"shrink-0",children:t.jsx(je,{versions:o,selectedIndex:f,onSelect:x,isInstalling:p,variant:"outline",showLabel:!0})}):null:t.jsx("div",{className:"shrink-0 px-4 py-2 text-sm text-muted-foreground bg-muted rounded-lg",children:"Cannot be connected"}),e[31]=_,e[32]=L,e[33]=K,e[34]=C,e[35]=p,e[36]=o,e[37]=f,e[38]=x,e[39]=O):O=e[39];let U;e[40]!==A||e[41]!==O?(U=t.jsxs("div",{className:"flex-1 min-w-0 flex items-center justify-between",children:[A,O]}),e[40]=A,e[41]=O,e[42]=U):U=e[42];let B;return e[43]!==U||e[44]!==D?(B=t.jsxs("div",{className:"flex items-center gap-4 py-8 px-5 border-b border-border",children:[D,U]}),e[43]=U,e[44]=D,e[45]=B):B=e[45],B}function kt(r){return r.type?.toLowerCase()==="http"||r.type?.toLowerCase()==="streamable-http"}function Tt(r){return r.type?.toLowerCase()==="http"||r.type?.toLowerCase()==="streamable-http"}function Lt(r){if(!r)return"—";try{const e=new Date(r);return isNaN(e.getTime())?"—":e.toLocaleDateString("en-US",{year:"numeric",month:"short",day:"numeric"})}catch{return"—"}}function Pt(r){const e=F.c(47),{data:s,publisherInfo:o,selectedItem:n}=r;let i;e[0]!==s.description?(i=s.description&&t.jsxs("div",{className:"px-5 pb-5 border-b border-border",children:[t.jsx("h2",{className:"text-base font-medium mb-3",children:"Overview"}),t.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed",children:s.description})]}),e[0]=s.description,e[1]=i):i=e[1];const c=s.publisher==="io.modelcontextprotocol.registry/official"?"Official Registry":s.publisher;let u;e[2]!==o.logo||e[3]!==c?(u=t.jsx(_e,{icon:o.logo,name:c,size:"sm",className:"shrink-0 shadow-sm"}),e[2]=o.logo,e[3]=c,e[4]=u):u=e[4];let d;e[5]!==s.publisher?(d=s.publisher==="io.modelcontextprotocol.registry/official"?"Official Registry":s.publisher.charAt(0).toUpperCase()+s.publisher.slice(1),e[5]=s.publisher,e[6]=d):d=e[6];let m;e[7]!==d?(m=t.jsx("div",{className:"font-medium",children:d}),e[7]=d,e[8]=m):m=e[8];let _;e[9]===Symbol.for("react.memo_cache_sentinel")?(_=t.jsx("div",{className:"text-xs text-muted-foreground",children:"Publisher"}),e[9]=_):_=e[9];let p;e[10]!==m?(p=t.jsxs("div",{children:[m,_]}),e[10]=m,e[11]=p):p=e[11];let C;e[12]!==u||e[13]!==p?(C=t.jsx("div",{className:"px-5 border-b border-border",children:t.jsxs("div",{className:"flex items-center gap-3 py-5",children:[u,p]})}),e[12]=u,e[13]=p,e[14]=C):C=e[14];let N;e[15]!==s.version?(N=s.version&&t.jsxs("div",{className:"flex justify-between items-center text-sm",children:[t.jsx("span",{className:"text-foreground text-sm",children:"Version"}),t.jsxs("span",{className:"text-muted-foreground uppercase text-xs",children:["v",s.version]})]}),e[15]=s.version,e[16]=N):N=e[16];let w;e[17]!==s.tags?(w=s.tags&&s.tags.length>0&&t.jsxs("div",{className:"flex justify-between items-start text-sm",children:[t.jsx("span",{className:"text-foreground text-sm",children:"Tags"}),t.jsx("div",{className:"flex flex-wrap gap-1 justify-end max-w-[60%]",children:s.tags.map(Rt)})]}),e[17]=s.tags,e[18]=w):w=e[18];let f;e[19]!==s.categories?(f=s.categories&&s.categories.length>0&&t.jsxs("div",{className:"flex justify-between items-start text-sm",children:[t.jsx("span",{className:"text-foreground text-sm",children:"Categories"}),t.jsx("div",{className:"flex flex-wrap gap-1 justify-end max-w-[60%]",children:s.categories.map(Mt)})]}),e[19]=s.categories,e[20]=f):f=e[20];let y;e[21]!==s.connectionType?(y=s.connectionType&&t.jsxs("div",{className:"flex justify-between items-center text-sm",children:[t.jsx("span",{className:"text-foreground text-sm",children:"Connection Type"}),t.jsx("span",{className:"text-muted-foreground uppercase text-xs",children:s.connectionType})]}),e[21]=s.connectionType,e[22]=y):y=e[22];let x;e[23]!==s.schemaVersion?(x=s.schemaVersion&&t.jsxs("div",{className:"flex justify-between items-center text-sm",children:[t.jsx("span",{className:"text-foreground text-sm",children:"Schema Version"}),t.jsx("span",{className:"text-muted-foreground text-xs",children:s.schemaVersion})]}),e[23]=s.schemaVersion,e[24]=x):x=e[24];let h;e[25]!==s.websiteUrl?(h=s.websiteUrl&&t.jsxs("div",{className:"flex justify-between items-center text-sm",children:[t.jsx("span",{className:"text-foreground text-sm",children:"Website"}),t.jsxs("a",{href:s.websiteUrl,target:"_blank",rel:"noopener noreferrer",className:"text-muted-foreground hover:underline flex items-center gap-1 text-xs",children:[t.jsx("span",{children:"Visit"}),t.jsx(he,{size:14})]})]}),e[25]=s.websiteUrl,e[26]=h):h=e[26];let g;e[27]!==s.repository?(g=s.repository?.url&&t.jsxs("div",{className:"flex justify-between items-center text-sm",children:[t.jsx("span",{className:"text-foreground text-sm",children:"Source"}),t.jsxs("a",{href:s.repository.url,target:"_blank",rel:"noopener noreferrer",className:"text-muted-foreground hover:underline flex items-center gap-1 text-xs",children:[t.jsx("span",{children:"GitHub"}),t.jsx(he,{size:14})]})]}),e[27]=s.repository,e[28]=g):g=e[28];let v;e[29]!==w||e[30]!==f||e[31]!==y||e[32]!==x||e[33]!==h||e[34]!==g||e[35]!==N?(v=t.jsxs("div",{className:"px-5 py-5 border-b border-border space-y-4",children:[N,w,f,y,x,h,g]}),e[29]=w,e[30]=f,e[31]=y,e[32]=x,e[33]=h,e[34]=g,e[35]=N,e[36]=v):v=e[36];let k;e[37]===Symbol.for("react.memo_cache_sentinel")?(k=t.jsx("span",{className:"text-foreground text-sm",children:"Last Updated"}),e[37]=k):k=e[37];let I;e[38]!==n.updated_at?(I=Lt(n.updated_at),e[38]=n.updated_at,e[39]=I):I=e[39];let b;e[40]!==I?(b=t.jsxs("div",{className:"px-5 py-5 text-sm flex justify-between items-center border-b border-border",children:[k,t.jsx("span",{className:"text-muted-foreground uppercase text-xs",children:I})]}),e[40]=I,e[41]=b):b=e[41];let j;return e[42]!==i||e[43]!==v||e[44]!==b||e[45]!==C?(j=t.jsxs("div",{className:"lg:col-span-1 flex flex-col pt-5",children:[i,C,v,b]}),e[42]=i,e[43]=v,e[44]=b,e[45]=C,e[46]=j):j=e[46],j}function Mt(r){return t.jsx("span",{className:"text-xs bg-muted px-2 py-0.5 rounded",children:r},r)}function Rt(r){return t.jsx("span",{className:"text-xs bg-muted px-2 py-0.5 rounded",children:r},r)}const Et=[{value:"http",label:"HTTP"},{value:"sse",label:"SSE"},{value:"stdio",label:"STDIO"},{value:"all",label:"All"}],Dt={docs:"Documentation",bindings:"Workers Bindings",builds:"Workers Builds",observability:"Observability",radar:"Radar",containers:"Containers",browser:"Browser Rendering",logs:"Logpush",autorag:"AutoRAG",auditlogs:"Audit Logs",graphql:"GraphQL",dex:"DEX Monitoring",casb:"CASB"};function Ut(r){if(!r)return"Local";try{return new URL(r).hostname}catch{return r}}function Vt(r){if(!r)return"local";try{const e=new URL(r).hostname;return e.split(".")[0]||e}catch{return"unknown"}}function $t(r){const e=Dt[r.toLowerCase()];return e||r.replace(/[-_]/g," ").replace(/\b\w/g,s=>s.toUpperCase())}function At(r){if(!r)return"http";const e=r.toLowerCase();return e==="sse"?"sse":e==="stdio"?"stdio":"http"}function Bt(r){return r.map((e,s)=>{const o=At(e.type),n=Ut(e.url),i=Vt(e.url),c=e.title||e.name||$t(i);return{index:s,protocol:o,url:e.url,hostname:n,serviceName:i,displayName:c,name:e.name,title:e.title,description:e.description,_type:e._type,_index:e._index}})}function Ot(r){const e=F.c(2),{protocol:s,className:o}=r;let n;return e[0]!==o?(n={http:t.jsx(Xe,{className:o}),sse:t.jsx(et,{className:o}),stdio:t.jsx(Je,{className:o})},e[0]=o,e[1]=n):n=e[1],n[s]}function zt(r){const e=F.c(10),{options:s,selected:o,onSelect:n}=r;if(s.length<=1)return null;let i;e[0]===Symbol.for("react.memo_cache_sentinel")?(i=t.jsx("span",{className:"text-sm text-muted-foreground",children:"Protocol:"}),e[0]=i):i=e[0];let c;if(e[1]!==n||e[2]!==s||e[3]!==o){let d;e[5]!==n||e[6]!==o?(d=m=>t.jsxs(oe,{variant:o===m.value?"default":"outline",size:"sm",onClick:()=>n(m.value),className:"cursor-pointer",children:[t.jsx(Ot,{protocol:m.value==="all"?"http":m.value,className:"w-4 h-4 mr-1"}),m.label]},m.value),e[5]=n,e[6]=o,e[7]=d):d=e[7],c=s.map(d),e[1]=n,e[2]=s,e[3]=o,e[4]=c}else c=e[4];let u;return e[8]!==c?(u=t.jsxs("div",{className:"flex items-center gap-2 mb-4",children:[i,t.jsx("div",{className:"flex gap-1",children:c})]}),e[8]=c,e[9]=u):u=e[9],u}function Ft(r){const e=F.c(11),{servers:s,onInstall:o,isInstalling:n,icon:i,mcpName:c,showStdio:u}=r,d=n===void 0?!1:n,m=u===void 0?!1:u,_=m?s:s.filter(Kt),p=Bt(_),C=p.length<13?"all":"http",[N,w]=Q.useState(C);let f;e:{if(N==="all"){f="all";break e}let a;if(e[0]!==N?(a=L=>L.protocol===N,e[0]=N,e[1]=a):a=e[1],p.some(a)){f=N;break e}if(p.length<13){f="all";break e}f=p[0]?.protocol??"http"}const y=f,x=y==="all"?p:p.filter(a=>a.protocol===y),h=new Set(p.map(qt));let g=Et.filter(a=>a.value==="all"||h.has(a.value));m||(g=g.filter(Gt));const v=h.size<=1?g.filter(Ht):g,k="grid grid-cols-1 md:grid-cols-2 xl:grid-cols-3 gap-4";let I;e[2]!==i||e[3]!==d||e[4]!==c||e[5]!==o?(I=a=>t.jsx(Ze,{variant:"server",icon:i??null,displayName:a.displayName,description:a.description??null,hostname:a.hostname,protocol:a.protocol,isInstalling:d,onClick:()=>o({type:a.protocol,url:a.url,name:a.name,title:a.title,description:a.description,_type:a._type,_index:a._index})},`${a.hostname}-${a.protocol}-${a.index}`),e[2]=i,e[3]=d,e[4]=c,e[5]=o,e[6]=I):I=e[6];const b=x.map(I);let j;e[7]!==b?(j=t.jsx("div",{className:k,children:b}),e[7]=b,e[8]=j):j=e[8];let M;return e[9]!==x.length?(M=x.length===0&&t.jsx("div",{className:"text-center py-8 text-muted-foreground",children:"No servers match the selected filter."}),e[9]=x.length,e[10]=M):M=e[10],t.jsxs("div",{className:"p-5",children:[t.jsx(zt,{options:v,selected:y,onSelect:w}),j,M]})}function Ht(r){return r.value!=="all"}function Gt(r){return r.value!=="stdio"}function qt(r){return r.protocol}function Kt(r){return r.type?.toLowerCase()!=="stdio"}async function Ne(r){return(await ae(async()=>{const{default:s}=await import("./purify.es-Bzr520pe.js");return{default:s}},[])).default.sanitize(r,{USE_PROFILES:{html:!0},FORBID_TAGS:["style","form"],FORBID_ATTR:["style"]})}function Wt(r){const e=F.c(53),{data:s,availableTabs:o,effectiveActiveTabId:n,effectiveTools:i,isLoadingTools:c,onTabChange:u,servers:d,onInstallServer:m,isInstalling:_,mcpIcon:p,mcpName:C,showStdio:N}=r,w=c===void 0?!1:c;let f;e[0]!==d?(f=d===void 0?[]:d,e[0]=d,e[1]=f):f=e[1];const y=f,x=_===void 0?!1:_,h=N===void 0?!1:N;let g;e[2]!==s.readmeMarkdown?(g=s.readmeMarkdown?.trim(),e[2]=s.readmeMarkdown,e[3]=g):g=e[3];const v=!!g;let k;e[4]!==s.readmeUrl?(k=s.readmeUrl?.trim(),e[4]=s.readmeUrl,e[5]=k):k=e[5];const I=!!k;let b;e[6]!==s.readmeMarkdown?(b=le.storeReadmeUrl(`embedded:${s.readmeMarkdown}`),e[6]=s.readmeMarkdown,e[7]=b):b=e[7];let j;e[8]!==s.readmeMarkdown?(j=async()=>{const G=ve.parse(s.readmeMarkdown??"",{async:!1});return Ne(G)},e[8]=s.readmeMarkdown,e[9]=j):j=e[9];let M;e[10]!==v||e[11]!==b||e[12]!==j?(M={queryKey:b,queryFn:j,enabled:v,staleTime:1/0},e[10]=v,e[11]=b,e[12]=j,e[13]=M):M=e[13];const{data:a,isLoading:E}=ce(M);let L;e[14]!==s.readmeUrl?(L=le.storeReadmeUrl(s.readmeUrl),e[14]=s.readmeUrl,e[15]=L):L=e[15];let V;e[16]!==s.readmeUrl?(V=async()=>{if(!s.readmeUrl)return null;const G=await fetch(s.readmeUrl);if(!G.ok)throw new Error(`Failed to fetch README (${G.status})`);const ee=await G.text();return Ne(ve.parse(ee,{async:!1}))},e[16]=s.readmeUrl,e[17]=V):V=e[17];const K=I&&!v;let D;e[18]!==L||e[19]!==V||e[20]!==K?(D={queryKey:L,queryFn:V,enabled:K,staleTime:36e5,gcTime:864e5},e[18]=L,e[19]=V,e[20]=K,e[21]=D):D=e[21];const{data:T,isLoading:S}=ce(D),$=a??T??null,R=v&&E||!v&&S;let A;e[22]!==i?(A=i.map(Qt),e[22]=i,e[23]=A):A=e[23];const O=A;let U;e[24]!==o||e[25]!==n||e[26]!==u?(U=o.length>0&&t.jsx("div",{className:"px-4 py-2 border-b border-border bg-background",children:t.jsx(Ye,{tabs:o,activeTab:n,onTabChange:u})}),e[24]=o,e[25]=n,e[26]=u,e[27]=U):U=e[27];let B;e[28]!==n||e[29]!==x||e[30]!==p||e[31]!==C||e[32]!==m||e[33]!==y||e[34]!==h?(B=n==="servers"&&y.length>0&&t.jsx("div",{className:"flex-1 overflow-y-auto bg-background",children:t.jsx(Ft,{servers:y,onInstall:G=>m?.(G),isInstalling:x,icon:p,mcpName:C,showStdio:h})}),e[28]=n,e[29]=x,e[30]=p,e[31]=C,e[32]=m,e[33]=y,e[34]=h,e[35]=B):B=e[35];let P;e[36]!==n||e[37]!==i.length||e[38]!==w||e[39]!==O?(P=n==="tools"&&t.jsx("div",{className:"flex flex-col flex-1",children:w?t.jsxs("div",{className:"flex items-center justify-center p-8",children:[t.jsx(Ce,{size:24,className:"animate-spin"}),t.jsx("span",{className:"ml-2 text-sm text-muted-foreground",children:"Loading tools..."})]}):i.length>0?t.jsx(Qe,{tools:O,showToolbar:!1,emptyMessage:"This MCP Server doesn't have any tools."}):t.jsx(We,{image:null,title:"No tools available",description:"This MCP Server doesn't have any tools."})}),e[36]=n,e[37]=i.length,e[38]=w,e[39]=O,e[40]=P):P=e[40];let H;e[41]!==$||e[42]!==R||e[43]!==s.repository||e[44]!==n||e[45]!==v||e[46]!==I?(H=n==="readme"&&t.jsx("div",{className:"flex-1 overflow-y-auto bg-background",children:v||I?t.jsx(ge,{html:$,isLoading:R}):t.jsx(ge,{repository:s?.repository})}),e[41]=$,e[42]=R,e[43]=s.repository,e[44]=n,e[45]=v,e[46]=I,e[47]=H):H=e[47];let W;return e[48]!==U||e[49]!==B||e[50]!==P||e[51]!==H?(W=t.jsxs("div",{className:"lg:col-span-2 flex flex-col border-l border-border",children:[U,B,P,H]}),e[48]=U,e[49]=B,e[50]=P,e[51]=H,e[52]=W):W=e[52],W}function Qt(r){const e=r;return{name:e.name||"",description:e.description||void 0}}function Yt(r,e){if(!r||!e)return;const s=e.toLowerCase();return r.find(o=>o.app_name?.toLowerCase()===s||o.app_id?.toLowerCase()===s||o.title.toLowerCase()===s)||r.find(o=>o.title.toLowerCase().includes(s))}function Jt(r,e,s,o,n){if(!e||e==="Unknown")return{count:0};if(e==="io.modelcontextprotocol.registry/official")return{logo:o?.icon||void 0,count:n??r.length};const i=e.toLowerCase(),c=r.filter(d=>(d._meta?.["io.modelcontextprotocol.registry/official"]?"io.modelcontextprotocol.registry/official":d.publisher||d._meta?.["mcp.mesh"]?.scopeName||"Unknown").toLowerCase()===i);return{logo:s?.icon||c[0]?.publisher_logo||c[0]?.icon||void 0,count:c.length}}function Xt(r){const e=r._meta?.["mcp.mesh"],s=r._meta?.["io.modelcontextprotocol.registry/official"],o=r.server??{},n=yt(o?.remotes?.[0]?.type),i=jt(o?.$schema),c=r.id?.includes("/")?r.id.split("/")[0]:void 0,u=s?"io.modelcontextprotocol.registry/official":r.publisher||e?.scopeName||c||"Unknown",d=vt(o.repository),m=r.icon||r.image||r.logo||o.icons?.[0]?.src||d||null,_=r.name||r.title||r.server?.title||"Unnamed Item",p=tt(_),C=e?.friendly_name||p,N=e?.mesh_description||r.description||r.summary||o?.description||"",w=e?.short_description||null,f=typeof e?.readme=="string"?e.readme:null,y=typeof e?.readme_url=="string"?e.readme_url:null,x=e?.tags||[],h=e?.categories||[];return{name:C,description:N,shortDescription:w,readmeMarkdown:f,readmeUrl:y,icon:m,verified:r.verified||e?.verified,publisher:u,version:o.version||null,websiteUrl:o.websiteUrl||null,repository:o.repository||null,schemaVersion:i??null,connectionType:n,connectionUrl:o?.remotes?.[0]?.url||null,remoteUrl:o?.remotes?.[0]?.url||null,tags:x,categories:h,tools:r.tools||o.tools||e?.tools||[],models:r.models||o.models||e?.models||[],emails:r.emails||o.emails||e?.emails||[],analytics:r.analytics||o.analytics||e?.analytics,cdn:r.cdn||o.cdn||e?.cdn}}class Zt extends Q.Component{state={hasError:!1,error:null};static getDerivedStateFromError(e){return{hasError:!0,error:e}}componentDidCatch(e,s){console.error("Store MCP server detail error:",e,s)}render(){return this.state.hasError?t.jsx(St,{error:this.state.error||new Error("Unknown error"),onBack:this.props.onBack}):this.props.children}}function es(){const{org:r}=we(),e=Se(),{appName:s}=Ue({strict:!1}),{registryId:o,serverName:n,stdio:i}=Ve({strict:!1}),[c,u]=ut(pt.storeShowStdio(),()=>!1),d=i==="true"?!0:i==="false"?!1:c;i!==void 0&&i==="true"!==c&&u(i==="true");const[m,_]=Q.useState(null),[p,C]=Q.useState(null),N=at(),w=ct(),{data:f}=$e.useSession(),y=lt(w),x=o||y[0]?.id||"",h=dt(x),g=bt(h?.tools),v=ye(h?.tools??null,"_VERSIONS"),k=ye(h?.tools??null,"_GET"),I=!!n;let b="",j={};I?(b=v||k,j={name:n}):(b=g,j={});const M=mt({connectionId:x||null,orgId:r.id}),{data:a}=ft({client:M,toolName:b,toolArguments:j,select:l=>l.structuredContent??l});let E=[],L=[],V=null;if(a){if(Array.isArray(a))E=a;else if(typeof a=="object"&&a!==null)if("totalCount"in a&&typeof a.totalCount=="number"&&(V=a.totalCount),"item"in a&&a.item){const l=a.item;E=[{id:l.id||"",title:l.title,server:l.server,_meta:l._meta}]}else{let l;"versions"in a&&Array.isArray(a.versions)?l="versions":"servers"in a&&Array.isArray(a.servers)?l="servers":l=Object.keys(a).find(z=>Array.isArray(a[z])),l&&(E=a[l],(l==="versions"||b?.includes("VERSIONS"))&&(L=E))}}const K=(()=>{const l=L.findIndex(z=>z._meta?.["io.modelcontextprotocol.registry/official"]?.isLatest===!0);return l>=0?l:0})(),D=p??K;let T=E.find(l=>{const z=l.name||l.title||l.server?.title||"";return ht(z)===s});!T&&n&&(T=E.find(l=>l.id===n||l.server?.name===n||l.name===n||l.title===n));const S=T?Xt(T):null,$=(S?.tools?.length||0)>0,R=T?.server?.remotes?.[0]?.url||null,A=!$&&!!R,O=ce({queryKey:le.remoteMcpTools(R),queryFn:async()=>{if(!R)return[];const{Client:l}=await ae(async()=>{const{Client:q}=await import("./index-B29giag9.js").then(J=>J.cp);return{Client:q}},__vite__mapDeps([0,1])),{StreamableHTTPClientTransport:z}=await ae(async()=>{const{StreamableHTTPClientTransport:q}=await import("./index-Bourcgd_.js");return{StreamableHTTPClientTransport:q}},__vite__mapDeps([2,0,1,3,4,5,6,7,8,9,10,11])),Y=new l({name:"mesh-store",version:"1.0.0"}),se=new z(new URL(R),{requestInit:{headers:{Accept:"application/json, text/event-stream","Content-Type":"application/json"}}});try{return await Y.connect(se),((await Y.listTools()).tools||[]).map(J=>({name:J.name,description:J.description}))}finally{await Y.close().catch(console.error)}},enabled:A}),U=A&&O.isLoading,B=O.data??[],P=$?S?.tools||[]:B,H=Yt(w,S?.publisher),W=S?Jt(E,S.publisher,H,h??null,V):{count:0},G=S?.repository?gt(S.repository):null,ee=T?.server?.remotes??[],te=T?.server?.packages??[],ne=[...ee.map((l,z)=>({...l,_type:"remote",_index:z})),...te.map((l,z)=>({type:"stdio",url:void 0,name:l.name||l.identifier,title:l.name||l.identifier?.replace(/^@[^/]+\//,""),description:l.environmentVariables?.length?`Requires ${l.environmentVariables.length} environment variable(s)`:void 0,_type:"package",_index:z}))],de=d?ne:ne.filter(l=>l.type?.toLowerCase()!=="stdio"),me=de.length>1,X=[{id:"servers",label:"Servers",count:de.length,visible:me},{id:"readme",label:"README",visible:!!S?.readmeMarkdown||!!S?.readmeUrl||!!S?.repository&&!!G},{id:"tools",label:"Tools",count:P.length,visible:$||B.length>0||!!R}].filter(l=>l.visible),ke=X.find(l=>l.id==="servers")?.id||X.find(l=>l.id==="readme")?.id||X[0]?.id||"overview",Te=m&&X.find(l=>l.id===m)?m:ke,ie=async(l,z,Y)=>{const se=L[l??0]||T;if(!se||!r||!f?.user?.id)return;const q=xt(se,r.id,f.user.id,{remoteIndex:Y===void 0?z??0:void 0,packageIndex:Y}),J=q.connection_type==="STDIO",Ee=!!q.connection_url,De=J&&q.connection_headers&&typeof q.connection_headers=="object"&&"command"in q.connection_headers;if(!Ee&&!De){ue.error("This MCP Server cannot be connected: no connection method available");return}try{const{id:Z}=await N.create.mutateAsync(q);e({to:"/$org/$project/mcps/$connectionId",params:{org:r.slug,project:re,connectionId:Z}})}catch(Z){ue.error(`Failed to connect MCP Server: ${Z instanceof Error?Z.message:String(Z)}`)}},Le=()=>{e({to:"/$org/$project/store",params:{org:r.slug,project:re}})};if(!T)return t.jsx(Ct,{onBack:Le});if(!S)return null;const Pe=(T?.server?.remotes?.length??0)>0,Me=(T?.server?.packages?.length??0)>0,fe=Pe||Me,Re=t.jsx(st,{children:t.jsxs(rt,{children:[t.jsx(be,{children:t.jsx(ot,{asChild:!0,children:t.jsx(Ae,{to:"/$org/$project/store",params:{org:r.slug,project:re},children:"Store"})})}),t.jsx(nt,{}),t.jsx(be,{children:t.jsx(it,{children:S.name})})]})});return t.jsxs("div",{className:"flex flex-col h-full border-l border-border",children:[t.jsx(_t,{breadcrumb:Re}),t.jsx("div",{className:"flex-1 overflow-y-auto h-full",children:t.jsx("div",{className:"h-full",children:t.jsxs("div",{className:"h-full",children:[!fe&&t.jsxs("div",{className:"mb-6 p-4 bg-amber-50 border border-amber-200 rounded-lg text-sm text-amber-900",children:[t.jsx(Nt,{size:16,className:"inline mr-2"}),"This MCP Server cannot be connected - no connection method available."]}),t.jsx(It,{data:S,itemVersions:L.length>0?L:[T],onInstall:ie,canInstall:fe,isInstalling:N.create.isPending,hideInstallControls:me,selectedVersionIndex:D,onVersionChange:C}),t.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-3 min-h-[677px]",children:[t.jsx(Pt,{data:S,publisherInfo:W,selectedItem:T}),t.jsx(Wt,{data:S,availableTabs:X,effectiveActiveTabId:Te,effectiveTools:P,isLoadingTools:U,onTabChange:_,servers:ne,onInstallServer:l=>{l._type==="remote"?ie(D,l._index,void 0):ie(D,void 0,l._index)},isInstalling:N.create.isPending,mcpIcon:S.icon,mcpName:S.name,showStdio:d})]})]})})})]})}function Zs(){const r=F.c(6),{org:e}=we(),s=Se();let o;r[0]!==s||r[1]!==e.slug?(o=()=>{s({to:"/$org/$project/store",params:{org:e.slug,project:re}})},r[0]=s,r[1]=e.slug,r[2]=o):o=r[2];const n=o;let i;r[3]===Symbol.for("react.memo_cache_sentinel")?(i=t.jsx(Q.Suspense,{fallback:t.jsx(wt,{}),children:t.jsx(es,{})}),r[3]=i):i=r[3];let c;return r[4]!==n?(c=t.jsx(Zt,{onBack:n,children:i}),r[4]=n,r[5]=c):c=r[5],c}export{Zs as default};
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-B0lAKtRh.js","assets/index-BT14xSn0.css","assets/index-DCBC9Z8D.js","assets/use-connection-t2lORAui.js","assets/useMutation-DTtaBOsy.js","assets/constants-7tHIXjuz.js","assets/use-mcp-tools-BPlzUo29.js","assets/useQuery-Cx1KUbzW.js","assets/use-mcp-prompts-BjSsl1qM.js","assets/use-virtual-mcp-BPuNbW-j.js","assets/mcp-oauth-fVu6jtVi.js","assets/usage-B8eRkRZY.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{r as Q,c as F,j as t,K as le,bt as ae,u as we,m as Se,O as re,a as Ue,f as Ve,g as $e,aL as Ae,t as ue}from"./index-B0lAKtRh.js";import{i as Be}from"./AlertCircle-B74h0Me5.js";import{i as Ce}from"./Loading01-BclS8iWV.js";import{P as pe}from"./index-C4SaT72q.js";import{I as _e}from"./integration-icon-Qol0n8Yu.js";import{B as oe,c as Oe}from"./button-Cxd9D7GZ.js";import{i as ze}from"./CheckCircle-BFGOeCKZ.js";import{t as Fe}from"./ChevronDown-CEjoikg0.js";import{s as xe}from"./Plus-C5LR6cck.js";import{a as He,c as Ge,b as qe,D as Ke}from"./dropdown-menu-D1SDd-O9.js";import{n as he}from"./LinkExternal01-CiZoO6oB.js";import{E as We}from"./empty-state-x18Ct7Bg.js";import{T as Qe,R as ge}from"./tools-list-K8xKTQ3C.js";import{u as ce}from"./useQuery-Cx1KUbzW.js";import{m as ve}from"./marked.esm-BaswSlok.js";import{C as Ye}from"./collection-tabs-D6wgvS1J.js";import{i as Je,s as Xe}from"./Terminal-DhXZE8tI.js";import{a as Ze,b as et,e as tt}from"./mcp-server-card-DUsbBMD4.js";import{B as st,a as rt,b as be,d as ot,e as nt,c as it}from"./breadcrumb-DTOs2A-I.js";import{u as lt}from"./use-binding-Dvp-m6Vz.js";import{g as at,h as ct,f as dt}from"./use-connection-t2lORAui.js";import{u as mt}from"./constants-7tHIXjuz.js";import{u as ft}from"./use-mcp-tools-BPlzUo29.js";import{u as ut,L as pt}from"./localstorage-keys-DE1N3_0b.js";import{e as xt}from"./extract-connection-data-Bxl9-N57.js";import{s as ht}from"./slugify-CEUa2lfQ.js";import{e as gt,g as vt}from"./github-icon-Dp3wHhYE.js";import{f as bt,d as ye,g as yt,h as jt}from"./registry-utils-icgkdXTH.js";import{i as Nt}from"./InfoCircle-B2WmuOEX.js";import"./Container-D5gdKEFc.js";import"./Check-Dy1kSzwX.js";import"./ChevronRight-CVpzq9SE.js";import"./File06-uox_o6En.js";import"./collection-table-wrapper-Bq9YQNWy.js";import"./ArrowUp-BTMunjeO.js";import"./Grid01-pmpn_yyH.js";import"./List-Yy4oZaIm.js";import"./tooltip-DkOvFQ7D.js";import"./index-C1cLa9Gd.js";import"./view-mode-toggle-CPbxqbKZ.js";import"./table-Bhjp6CI9.js";import"./collection-search-BEKSlJnh.js";import"./SearchMd-DhDCnDEk.js";import"./input-BTRdl8wU.js";import"./card-U5Qqs_wY.js";import"./layout-DQVjOYgA.js";import"./badge-Ce8oucop.js";import"./Lock01-D8RoH81a.js";import"./binder-B_Z7E1sw.js";import"./useMutation-DTtaBOsy.js";import"./constants-B1QaD4GY.js";import"./generate-id-Dyweu44Y.js";const Ie=({size:r=24,color:e="currentColor",...s})=>Q.createElement("svg",{viewBox:"0 0 24 24",width:r,height:r,stroke:e,strokeWidth:"2",fill:"none",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...s},Q.createElement("path",{d:"m21 21-3.5-3.5m2.5-6a8.5 8.5 0 1 1-17 0 8.5 8.5 0 0 1 17 0Z"}));Ie.displayName="SearchLg";function wt(r){const e=F.c(3),{message:s}=r,o=s===void 0?"Loading MCP Server details...":s;let n;e[0]===Symbol.for("react.memo_cache_sentinel")?(n=t.jsx(Ce,{size:48,className:"animate-spin mb-4"}),e[0]=n):n=e[0];let i;return e[1]!==o?(i=t.jsxs("div",{className:"flex flex-col items-center justify-center h-full",children:[n,t.jsx("p",{className:"text-sm text-muted-foreground",children:o})]}),e[1]=o,e[2]=i):i=e[2],i}function St(r){const e=F.c(9),{error:s,onBack:o}=r,n=s instanceof Error?s.message:s;let i,c;e[0]===Symbol.for("react.memo_cache_sentinel")?(i=t.jsx(Be,{size:48,className:"text-destructive mb-4"}),c=t.jsx("h3",{className:"text-lg font-medium mb-2",children:"Error loading MCP Server"}),e[0]=i,e[1]=c):(i=e[0],c=e[1]);let u;e[2]!==n?(u=t.jsx("p",{className:"text-muted-foreground max-w-md text-center",children:n}),e[2]=n,e[3]=u):u=e[3];let d;e[4]!==o?(d=t.jsx("button",{onClick:o,className:"mt-4 px-4 py-2 bg-primary text-primary-foreground rounded-lg hover:bg-primary/90 transition-colors",children:"Go Back"}),e[4]=o,e[5]=d):d=e[5];let m;return e[6]!==u||e[7]!==d?(m=t.jsxs("div",{className:"flex flex-col items-center justify-center h-full",children:[i,c,u,d]}),e[6]=u,e[7]=d,e[8]=m):m=e[8],m}function Ct(r){const e=F.c(5),{onBack:s}=r;let o,n,i;e[0]===Symbol.for("react.memo_cache_sentinel")?(o=t.jsx(Ie,{size:48,className:"text-muted-foreground mb-4"}),n=t.jsx("h3",{className:"text-lg font-medium mb-2",children:"MCP Server not found"}),i=t.jsx("p",{className:"text-muted-foreground max-w-md text-center",children:"The MCP Server you're looking for doesn't exist in this store."}),e[0]=o,e[1]=n,e[2]=i):(o=e[0],n=e[1],i=e[2]);let c;return e[3]!==s?(c=t.jsxs("div",{className:"flex flex-col items-center justify-center h-full",children:[o,n,i,t.jsx("button",{onClick:s,className:"mt-4 px-4 py-2 bg-primary text-primary-foreground rounded-lg hover:bg-primary/90 transition-colors",children:"Go Back to Store"})]}),e[3]=s,e[4]=c):c=e[4],c}function _t(r){const e=F.c(2),{breadcrumb:s}=r;let o;return e[0]!==s?(o=t.jsx(pe.Header,{children:t.jsx(pe.Header.Left,{children:s})}),e[0]=s,e[1]=o):o=e[1],o}function je(r){const e=F.c(28),{versions:s,selectedIndex:o,onSelect:n,isInstalling:i,variant:c,showLabel:u}=r,d=i===void 0?!1:i,m=c===void 0?"brand":c,_=u===void 0?!1:u,p=s[o],C=_?"sm":"default",N=m==="brand"&&"rounded-l-none px-2 border-l-2 border-l-white/50";let w;e[0]!==N?(w=Oe("shrink-0 cursor-pointer",N),e[0]=N,e[1]=w):w=e[1];let f;e[2]!==p?.server?.version||e[3]!==_?(f=_&&t.jsxs("span",{className:"mr-1",children:["v",p?.server?.version||"unknown"]}),e[2]=p?.server?.version,e[3]=_,e[4]=f):f=e[4];const y=_?14:20;let x;e[5]!==y?(x=t.jsx(Fe,{size:y}),e[5]=y,e[6]=x):x=e[6];let h;e[7]!==d||e[8]!==C||e[9]!==w||e[10]!==f||e[11]!==x||e[12]!==m?(h=t.jsx(He,{asChild:!0,children:t.jsxs(oe,{variant:m,disabled:d,size:C,className:w,children:[f,x]})}),e[7]=d,e[8]=C,e[9]=w,e[10]=f,e[11]=x,e[12]=m,e[13]=h):h=e[13];let g;if(e[14]!==d||e[15]!==n||e[16]!==o||e[17]!==s){let I;e[19]!==d||e[20]!==n||e[21]!==o?(I=(b,j)=>{const M=b._meta?.["io.modelcontextprotocol.registry/official"];return t.jsx(Ge,{onClick:()=>n(j),disabled:d,className:"cursor-pointer",children:t.jsxs("div",{className:"flex items-center justify-between gap-2 w-full",children:[t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsxs("div",{className:"font-medium text-sm",children:["v",b.server?.version||"unknown"]}),M?.isLatest&&t.jsx("div",{className:"text-xs text-muted-foreground/50 font-semibold",children:"LATEST"})]}),j===o&&t.jsx(ze,{size:16,className:"text-muted-foreground shrink-0"})]})},j)},e[19]=d,e[20]=n,e[21]=o,e[22]=I):I=e[22],g=s.map(I),e[14]=d,e[15]=n,e[16]=o,e[17]=s,e[18]=g}else g=e[18];let v;e[23]!==g?(v=t.jsx(qe,{align:"end",className:"w-56 max-h-[300px] overflow-y-auto",children:g}),e[23]=g,e[24]=v):v=e[24];let k;return e[25]!==h||e[26]!==v?(k=t.jsxs(Ke,{children:[h,v]}),e[25]=h,e[26]=v,e[27]=k):k=e[27],k}function It(r){const e=F.c(46),{data:s,itemVersions:o,onInstall:n,canInstall:i,isInstalling:c,hideInstallControls:u,selectedVersionIndex:d,onVersionChange:m}=r,_=i===void 0?!0:i,p=c===void 0?!1:c,C=u===void 0?!1:u,[N,w]=Q.useState(0),f=d??N;let y;e[0]!==m?(y=P=>{w(P),m?.(P)},e[0]=m,e[1]=y):y=e[1];const x=y,h=o[f]||o[0];let g;e[2]!==h?.server?.remotes?(g=h?.server?.remotes??[],e[2]=h?.server?.remotes,e[3]=g):g=e[3];const v=g;let k;e[4]!==h?.server?.packages?(k=h?.server?.packages??[],e[4]=h?.server?.packages,e[5]=k):k=e[5];const b=k.length>0,j=v.length>0,M=v.findIndex(Tt),a=M>=0?M:0;let E;e[6]!==a||e[7]!==b||e[8]!==j||e[9]!==n||e[10]!==f?(E=()=>{j?n(f,a,void 0):b&&n(f,void 0,0)},e[6]=a,e[7]=b,e[8]=j,e[9]=n,e[10]=f,e[11]=E):E=e[11];const L=E;let V;e[12]!==o||e[13]!==n||e[14]!==x?(V=P=>{x(P);const H=o[P],W=H?.server?.remotes??[],G=H?.server?.packages??[];if(W.length>0){const te=W.findIndex(kt);n(P,te>=0?te:0,void 0)}else G.length>0&&n(P,void 0,0)},e[12]=o,e[13]=n,e[14]=x,e[15]=V):V=e[15];const K=V;let D;e[16]!==s.icon||e[17]!==s.name?(D=t.jsx(_e,{icon:s.icon,name:s.name,size:"lg",className:"shrink-0 shadow-sm"}),e[16]=s.icon,e[17]=s.name,e[18]=D):D=e[18];let T;e[19]!==s.name?(T=t.jsx("h1",{className:"text-3xl font-medium",children:s.name}),e[19]=s.name,e[20]=T):T=e[20];let S;e[21]!==s.verified?(S=s.verified&&t.jsx("img",{src:"/verified-badge.svg",alt:"Verified",className:"w-5 h-5 shrink-0"}),e[21]=s.verified,e[22]=S):S=e[22];let $;e[23]!==T||e[24]!==S?($=t.jsxs("div",{className:"flex items-center gap-2",children:[T,S]}),e[23]=T,e[24]=S,e[25]=$):$=e[25];let R;e[26]!==s.shortDescription?(R=s.shortDescription&&t.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:s.shortDescription}),e[26]=s.shortDescription,e[27]=R):R=e[27];let A;e[28]!==$||e[29]!==R?(A=t.jsxs("div",{className:"flex-1 min-w-0",children:[$,R]}),e[28]=$,e[29]=R,e[30]=A):A=e[30];let O;e[31]!==_||e[32]!==L||e[33]!==K||e[34]!==C||e[35]!==p||e[36]!==o||e[37]!==f||e[38]!==x?(O=_&&!C?t.jsx("div",{className:"shrink-0 flex items-center gap-2",children:o.length>1?t.jsxs("div",{className:"flex",children:[t.jsxs(oe,{variant:"brand",onClick:L,disabled:p,className:"shrink-0 rounded-r-none cursor-pointer",children:[t.jsx(xe,{size:20}),p?"Connecting...":"Connect"]}),t.jsx(je,{versions:o,selectedIndex:f,onSelect:K,isInstalling:p,variant:"brand"})]}):t.jsxs(oe,{variant:"brand",onClick:L,disabled:o.length===0||p,className:"shrink-0 cursor-pointer",children:[t.jsx(xe,{size:20}),p?"Connecting...":"Connect"]})}):C?o.length>1?t.jsx("div",{className:"shrink-0",children:t.jsx(je,{versions:o,selectedIndex:f,onSelect:x,isInstalling:p,variant:"outline",showLabel:!0})}):null:t.jsx("div",{className:"shrink-0 px-4 py-2 text-sm text-muted-foreground bg-muted rounded-lg",children:"Cannot be connected"}),e[31]=_,e[32]=L,e[33]=K,e[34]=C,e[35]=p,e[36]=o,e[37]=f,e[38]=x,e[39]=O):O=e[39];let U;e[40]!==A||e[41]!==O?(U=t.jsxs("div",{className:"flex-1 min-w-0 flex items-center justify-between",children:[A,O]}),e[40]=A,e[41]=O,e[42]=U):U=e[42];let B;return e[43]!==U||e[44]!==D?(B=t.jsxs("div",{className:"flex items-center gap-4 py-8 px-5 border-b border-border",children:[D,U]}),e[43]=U,e[44]=D,e[45]=B):B=e[45],B}function kt(r){return r.type?.toLowerCase()==="http"||r.type?.toLowerCase()==="streamable-http"}function Tt(r){return r.type?.toLowerCase()==="http"||r.type?.toLowerCase()==="streamable-http"}function Lt(r){if(!r)return"—";try{const e=new Date(r);return isNaN(e.getTime())?"—":e.toLocaleDateString("en-US",{year:"numeric",month:"short",day:"numeric"})}catch{return"—"}}function Pt(r){const e=F.c(47),{data:s,publisherInfo:o,selectedItem:n}=r;let i;e[0]!==s.description?(i=s.description&&t.jsxs("div",{className:"px-5 pb-5 border-b border-border",children:[t.jsx("h2",{className:"text-base font-medium mb-3",children:"Overview"}),t.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed",children:s.description})]}),e[0]=s.description,e[1]=i):i=e[1];const c=s.publisher==="io.modelcontextprotocol.registry/official"?"Official Registry":s.publisher;let u;e[2]!==o.logo||e[3]!==c?(u=t.jsx(_e,{icon:o.logo,name:c,size:"sm",className:"shrink-0 shadow-sm"}),e[2]=o.logo,e[3]=c,e[4]=u):u=e[4];let d;e[5]!==s.publisher?(d=s.publisher==="io.modelcontextprotocol.registry/official"?"Official Registry":s.publisher.charAt(0).toUpperCase()+s.publisher.slice(1),e[5]=s.publisher,e[6]=d):d=e[6];let m;e[7]!==d?(m=t.jsx("div",{className:"font-medium",children:d}),e[7]=d,e[8]=m):m=e[8];let _;e[9]===Symbol.for("react.memo_cache_sentinel")?(_=t.jsx("div",{className:"text-xs text-muted-foreground",children:"Publisher"}),e[9]=_):_=e[9];let p;e[10]!==m?(p=t.jsxs("div",{children:[m,_]}),e[10]=m,e[11]=p):p=e[11];let C;e[12]!==u||e[13]!==p?(C=t.jsx("div",{className:"px-5 border-b border-border",children:t.jsxs("div",{className:"flex items-center gap-3 py-5",children:[u,p]})}),e[12]=u,e[13]=p,e[14]=C):C=e[14];let N;e[15]!==s.version?(N=s.version&&t.jsxs("div",{className:"flex justify-between items-center text-sm",children:[t.jsx("span",{className:"text-foreground text-sm",children:"Version"}),t.jsxs("span",{className:"text-muted-foreground uppercase text-xs",children:["v",s.version]})]}),e[15]=s.version,e[16]=N):N=e[16];let w;e[17]!==s.tags?(w=s.tags&&s.tags.length>0&&t.jsxs("div",{className:"flex justify-between items-start text-sm",children:[t.jsx("span",{className:"text-foreground text-sm",children:"Tags"}),t.jsx("div",{className:"flex flex-wrap gap-1 justify-end max-w-[60%]",children:s.tags.map(Rt)})]}),e[17]=s.tags,e[18]=w):w=e[18];let f;e[19]!==s.categories?(f=s.categories&&s.categories.length>0&&t.jsxs("div",{className:"flex justify-between items-start text-sm",children:[t.jsx("span",{className:"text-foreground text-sm",children:"Categories"}),t.jsx("div",{className:"flex flex-wrap gap-1 justify-end max-w-[60%]",children:s.categories.map(Mt)})]}),e[19]=s.categories,e[20]=f):f=e[20];let y;e[21]!==s.connectionType?(y=s.connectionType&&t.jsxs("div",{className:"flex justify-between items-center text-sm",children:[t.jsx("span",{className:"text-foreground text-sm",children:"Connection Type"}),t.jsx("span",{className:"text-muted-foreground uppercase text-xs",children:s.connectionType})]}),e[21]=s.connectionType,e[22]=y):y=e[22];let x;e[23]!==s.schemaVersion?(x=s.schemaVersion&&t.jsxs("div",{className:"flex justify-between items-center text-sm",children:[t.jsx("span",{className:"text-foreground text-sm",children:"Schema Version"}),t.jsx("span",{className:"text-muted-foreground text-xs",children:s.schemaVersion})]}),e[23]=s.schemaVersion,e[24]=x):x=e[24];let h;e[25]!==s.websiteUrl?(h=s.websiteUrl&&t.jsxs("div",{className:"flex justify-between items-center text-sm",children:[t.jsx("span",{className:"text-foreground text-sm",children:"Website"}),t.jsxs("a",{href:s.websiteUrl,target:"_blank",rel:"noopener noreferrer",className:"text-muted-foreground hover:underline flex items-center gap-1 text-xs",children:[t.jsx("span",{children:"Visit"}),t.jsx(he,{size:14})]})]}),e[25]=s.websiteUrl,e[26]=h):h=e[26];let g;e[27]!==s.repository?(g=s.repository?.url&&t.jsxs("div",{className:"flex justify-between items-center text-sm",children:[t.jsx("span",{className:"text-foreground text-sm",children:"Source"}),t.jsxs("a",{href:s.repository.url,target:"_blank",rel:"noopener noreferrer",className:"text-muted-foreground hover:underline flex items-center gap-1 text-xs",children:[t.jsx("span",{children:"GitHub"}),t.jsx(he,{size:14})]})]}),e[27]=s.repository,e[28]=g):g=e[28];let v;e[29]!==w||e[30]!==f||e[31]!==y||e[32]!==x||e[33]!==h||e[34]!==g||e[35]!==N?(v=t.jsxs("div",{className:"px-5 py-5 border-b border-border space-y-4",children:[N,w,f,y,x,h,g]}),e[29]=w,e[30]=f,e[31]=y,e[32]=x,e[33]=h,e[34]=g,e[35]=N,e[36]=v):v=e[36];let k;e[37]===Symbol.for("react.memo_cache_sentinel")?(k=t.jsx("span",{className:"text-foreground text-sm",children:"Last Updated"}),e[37]=k):k=e[37];let I;e[38]!==n.updated_at?(I=Lt(n.updated_at),e[38]=n.updated_at,e[39]=I):I=e[39];let b;e[40]!==I?(b=t.jsxs("div",{className:"px-5 py-5 text-sm flex justify-between items-center border-b border-border",children:[k,t.jsx("span",{className:"text-muted-foreground uppercase text-xs",children:I})]}),e[40]=I,e[41]=b):b=e[41];let j;return e[42]!==i||e[43]!==v||e[44]!==b||e[45]!==C?(j=t.jsxs("div",{className:"lg:col-span-1 flex flex-col pt-5",children:[i,C,v,b]}),e[42]=i,e[43]=v,e[44]=b,e[45]=C,e[46]=j):j=e[46],j}function Mt(r){return t.jsx("span",{className:"text-xs bg-muted px-2 py-0.5 rounded",children:r},r)}function Rt(r){return t.jsx("span",{className:"text-xs bg-muted px-2 py-0.5 rounded",children:r},r)}const Et=[{value:"http",label:"HTTP"},{value:"sse",label:"SSE"},{value:"stdio",label:"STDIO"},{value:"all",label:"All"}],Dt={docs:"Documentation",bindings:"Workers Bindings",builds:"Workers Builds",observability:"Observability",radar:"Radar",containers:"Containers",browser:"Browser Rendering",logs:"Logpush",autorag:"AutoRAG",auditlogs:"Audit Logs",graphql:"GraphQL",dex:"DEX Monitoring",casb:"CASB"};function Ut(r){if(!r)return"Local";try{return new URL(r).hostname}catch{return r}}function Vt(r){if(!r)return"local";try{const e=new URL(r).hostname;return e.split(".")[0]||e}catch{return"unknown"}}function $t(r){const e=Dt[r.toLowerCase()];return e||r.replace(/[-_]/g," ").replace(/\b\w/g,s=>s.toUpperCase())}function At(r){if(!r)return"http";const e=r.toLowerCase();return e==="sse"?"sse":e==="stdio"?"stdio":"http"}function Bt(r){return r.map((e,s)=>{const o=At(e.type),n=Ut(e.url),i=Vt(e.url),c=e.title||e.name||$t(i);return{index:s,protocol:o,url:e.url,hostname:n,serviceName:i,displayName:c,name:e.name,title:e.title,description:e.description,_type:e._type,_index:e._index}})}function Ot(r){const e=F.c(2),{protocol:s,className:o}=r;let n;return e[0]!==o?(n={http:t.jsx(Xe,{className:o}),sse:t.jsx(et,{className:o}),stdio:t.jsx(Je,{className:o})},e[0]=o,e[1]=n):n=e[1],n[s]}function zt(r){const e=F.c(10),{options:s,selected:o,onSelect:n}=r;if(s.length<=1)return null;let i;e[0]===Symbol.for("react.memo_cache_sentinel")?(i=t.jsx("span",{className:"text-sm text-muted-foreground",children:"Protocol:"}),e[0]=i):i=e[0];let c;if(e[1]!==n||e[2]!==s||e[3]!==o){let d;e[5]!==n||e[6]!==o?(d=m=>t.jsxs(oe,{variant:o===m.value?"default":"outline",size:"sm",onClick:()=>n(m.value),className:"cursor-pointer",children:[t.jsx(Ot,{protocol:m.value==="all"?"http":m.value,className:"w-4 h-4 mr-1"}),m.label]},m.value),e[5]=n,e[6]=o,e[7]=d):d=e[7],c=s.map(d),e[1]=n,e[2]=s,e[3]=o,e[4]=c}else c=e[4];let u;return e[8]!==c?(u=t.jsxs("div",{className:"flex items-center gap-2 mb-4",children:[i,t.jsx("div",{className:"flex gap-1",children:c})]}),e[8]=c,e[9]=u):u=e[9],u}function Ft(r){const e=F.c(11),{servers:s,onInstall:o,isInstalling:n,icon:i,mcpName:c,showStdio:u}=r,d=n===void 0?!1:n,m=u===void 0?!1:u,_=m?s:s.filter(Kt),p=Bt(_),C=p.length<13?"all":"http",[N,w]=Q.useState(C);let f;e:{if(N==="all"){f="all";break e}let a;if(e[0]!==N?(a=L=>L.protocol===N,e[0]=N,e[1]=a):a=e[1],p.some(a)){f=N;break e}if(p.length<13){f="all";break e}f=p[0]?.protocol??"http"}const y=f,x=y==="all"?p:p.filter(a=>a.protocol===y),h=new Set(p.map(qt));let g=Et.filter(a=>a.value==="all"||h.has(a.value));m||(g=g.filter(Gt));const v=h.size<=1?g.filter(Ht):g,k="grid grid-cols-1 md:grid-cols-2 xl:grid-cols-3 gap-4";let I;e[2]!==i||e[3]!==d||e[4]!==c||e[5]!==o?(I=a=>t.jsx(Ze,{variant:"server",icon:i??null,displayName:a.displayName,description:a.description??null,hostname:a.hostname,protocol:a.protocol,isInstalling:d,onClick:()=>o({type:a.protocol,url:a.url,name:a.name,title:a.title,description:a.description,_type:a._type,_index:a._index})},`${a.hostname}-${a.protocol}-${a.index}`),e[2]=i,e[3]=d,e[4]=c,e[5]=o,e[6]=I):I=e[6];const b=x.map(I);let j;e[7]!==b?(j=t.jsx("div",{className:k,children:b}),e[7]=b,e[8]=j):j=e[8];let M;return e[9]!==x.length?(M=x.length===0&&t.jsx("div",{className:"text-center py-8 text-muted-foreground",children:"No servers match the selected filter."}),e[9]=x.length,e[10]=M):M=e[10],t.jsxs("div",{className:"p-5",children:[t.jsx(zt,{options:v,selected:y,onSelect:w}),j,M]})}function Ht(r){return r.value!=="all"}function Gt(r){return r.value!=="stdio"}function qt(r){return r.protocol}function Kt(r){return r.type?.toLowerCase()!=="stdio"}async function Ne(r){return(await ae(async()=>{const{default:s}=await import("./purify.es-Bzr520pe.js");return{default:s}},[])).default.sanitize(r,{USE_PROFILES:{html:!0},FORBID_TAGS:["style","form"],FORBID_ATTR:["style"]})}function Wt(r){const e=F.c(53),{data:s,availableTabs:o,effectiveActiveTabId:n,effectiveTools:i,isLoadingTools:c,onTabChange:u,servers:d,onInstallServer:m,isInstalling:_,mcpIcon:p,mcpName:C,showStdio:N}=r,w=c===void 0?!1:c;let f;e[0]!==d?(f=d===void 0?[]:d,e[0]=d,e[1]=f):f=e[1];const y=f,x=_===void 0?!1:_,h=N===void 0?!1:N;let g;e[2]!==s.readmeMarkdown?(g=s.readmeMarkdown?.trim(),e[2]=s.readmeMarkdown,e[3]=g):g=e[3];const v=!!g;let k;e[4]!==s.readmeUrl?(k=s.readmeUrl?.trim(),e[4]=s.readmeUrl,e[5]=k):k=e[5];const I=!!k;let b;e[6]!==s.readmeMarkdown?(b=le.storeReadmeUrl(`embedded:${s.readmeMarkdown}`),e[6]=s.readmeMarkdown,e[7]=b):b=e[7];let j;e[8]!==s.readmeMarkdown?(j=async()=>{const G=ve.parse(s.readmeMarkdown??"",{async:!1});return Ne(G)},e[8]=s.readmeMarkdown,e[9]=j):j=e[9];let M;e[10]!==v||e[11]!==b||e[12]!==j?(M={queryKey:b,queryFn:j,enabled:v,staleTime:1/0},e[10]=v,e[11]=b,e[12]=j,e[13]=M):M=e[13];const{data:a,isLoading:E}=ce(M);let L;e[14]!==s.readmeUrl?(L=le.storeReadmeUrl(s.readmeUrl),e[14]=s.readmeUrl,e[15]=L):L=e[15];let V;e[16]!==s.readmeUrl?(V=async()=>{if(!s.readmeUrl)return null;const G=await fetch(s.readmeUrl);if(!G.ok)throw new Error(`Failed to fetch README (${G.status})`);const ee=await G.text();return Ne(ve.parse(ee,{async:!1}))},e[16]=s.readmeUrl,e[17]=V):V=e[17];const K=I&&!v;let D;e[18]!==L||e[19]!==V||e[20]!==K?(D={queryKey:L,queryFn:V,enabled:K,staleTime:36e5,gcTime:864e5},e[18]=L,e[19]=V,e[20]=K,e[21]=D):D=e[21];const{data:T,isLoading:S}=ce(D),$=a??T??null,R=v&&E||!v&&S;let A;e[22]!==i?(A=i.map(Qt),e[22]=i,e[23]=A):A=e[23];const O=A;let U;e[24]!==o||e[25]!==n||e[26]!==u?(U=o.length>0&&t.jsx("div",{className:"px-4 py-2 border-b border-border bg-background",children:t.jsx(Ye,{tabs:o,activeTab:n,onTabChange:u})}),e[24]=o,e[25]=n,e[26]=u,e[27]=U):U=e[27];let B;e[28]!==n||e[29]!==x||e[30]!==p||e[31]!==C||e[32]!==m||e[33]!==y||e[34]!==h?(B=n==="servers"&&y.length>0&&t.jsx("div",{className:"flex-1 overflow-y-auto bg-background",children:t.jsx(Ft,{servers:y,onInstall:G=>m?.(G),isInstalling:x,icon:p,mcpName:C,showStdio:h})}),e[28]=n,e[29]=x,e[30]=p,e[31]=C,e[32]=m,e[33]=y,e[34]=h,e[35]=B):B=e[35];let P;e[36]!==n||e[37]!==i.length||e[38]!==w||e[39]!==O?(P=n==="tools"&&t.jsx("div",{className:"flex flex-col flex-1",children:w?t.jsxs("div",{className:"flex items-center justify-center p-8",children:[t.jsx(Ce,{size:24,className:"animate-spin"}),t.jsx("span",{className:"ml-2 text-sm text-muted-foreground",children:"Loading tools..."})]}):i.length>0?t.jsx(Qe,{tools:O,showToolbar:!1,emptyMessage:"This MCP Server doesn't have any tools."}):t.jsx(We,{image:null,title:"No tools available",description:"This MCP Server doesn't have any tools."})}),e[36]=n,e[37]=i.length,e[38]=w,e[39]=O,e[40]=P):P=e[40];let H;e[41]!==$||e[42]!==R||e[43]!==s.repository||e[44]!==n||e[45]!==v||e[46]!==I?(H=n==="readme"&&t.jsx("div",{className:"flex-1 overflow-y-auto bg-background",children:v||I?t.jsx(ge,{html:$,isLoading:R}):t.jsx(ge,{repository:s?.repository})}),e[41]=$,e[42]=R,e[43]=s.repository,e[44]=n,e[45]=v,e[46]=I,e[47]=H):H=e[47];let W;return e[48]!==U||e[49]!==B||e[50]!==P||e[51]!==H?(W=t.jsxs("div",{className:"lg:col-span-2 flex flex-col border-l border-border",children:[U,B,P,H]}),e[48]=U,e[49]=B,e[50]=P,e[51]=H,e[52]=W):W=e[52],W}function Qt(r){const e=r;return{name:e.name||"",description:e.description||void 0}}function Yt(r,e){if(!r||!e)return;const s=e.toLowerCase();return r.find(o=>o.app_name?.toLowerCase()===s||o.app_id?.toLowerCase()===s||o.title.toLowerCase()===s)||r.find(o=>o.title.toLowerCase().includes(s))}function Jt(r,e,s,o,n){if(!e||e==="Unknown")return{count:0};if(e==="io.modelcontextprotocol.registry/official")return{logo:o?.icon||void 0,count:n??r.length};const i=e.toLowerCase(),c=r.filter(d=>(d._meta?.["io.modelcontextprotocol.registry/official"]?"io.modelcontextprotocol.registry/official":d.publisher||d._meta?.["mcp.mesh"]?.scopeName||"Unknown").toLowerCase()===i);return{logo:s?.icon||c[0]?.publisher_logo||c[0]?.icon||void 0,count:c.length}}function Xt(r){const e=r._meta?.["mcp.mesh"],s=r._meta?.["io.modelcontextprotocol.registry/official"],o=r.server??{},n=yt(o?.remotes?.[0]?.type),i=jt(o?.$schema),c=r.id?.includes("/")?r.id.split("/")[0]:void 0,u=s?"io.modelcontextprotocol.registry/official":r.publisher||e?.scopeName||c||"Unknown",d=vt(o.repository),m=r.icon||r.image||r.logo||o.icons?.[0]?.src||d||null,_=r.name||r.title||r.server?.title||"Unnamed Item",p=tt(_),C=e?.friendly_name||p,N=e?.mesh_description||r.description||r.summary||o?.description||"",w=e?.short_description||null,f=typeof e?.readme=="string"?e.readme:null,y=typeof e?.readme_url=="string"?e.readme_url:null,x=e?.tags||[],h=e?.categories||[];return{name:C,description:N,shortDescription:w,readmeMarkdown:f,readmeUrl:y,icon:m,verified:r.verified||e?.verified,publisher:u,version:o.version||null,websiteUrl:o.websiteUrl||null,repository:o.repository||null,schemaVersion:i??null,connectionType:n,connectionUrl:o?.remotes?.[0]?.url||null,remoteUrl:o?.remotes?.[0]?.url||null,tags:x,categories:h,tools:r.tools||o.tools||e?.tools||[],models:r.models||o.models||e?.models||[],emails:r.emails||o.emails||e?.emails||[],analytics:r.analytics||o.analytics||e?.analytics,cdn:r.cdn||o.cdn||e?.cdn}}class Zt extends Q.Component{state={hasError:!1,error:null};static getDerivedStateFromError(e){return{hasError:!0,error:e}}componentDidCatch(e,s){console.error("Store MCP server detail error:",e,s)}render(){return this.state.hasError?t.jsx(St,{error:this.state.error||new Error("Unknown error"),onBack:this.props.onBack}):this.props.children}}function es(){const{org:r}=we(),e=Se(),{appName:s}=Ue({strict:!1}),{registryId:o,serverName:n,stdio:i}=Ve({strict:!1}),[c,u]=ut(pt.storeShowStdio(),()=>!1),d=i==="true"?!0:i==="false"?!1:c;i!==void 0&&i==="true"!==c&&u(i==="true");const[m,_]=Q.useState(null),[p,C]=Q.useState(null),N=at(),w=ct(),{data:f}=$e.useSession(),y=lt(w),x=o||y[0]?.id||"",h=dt(x),g=bt(h?.tools),v=ye(h?.tools??null,"_VERSIONS"),k=ye(h?.tools??null,"_GET"),I=!!n;let b="",j={};I?(b=v||k,j={name:n}):(b=g,j={});const M=mt({connectionId:x||null,orgId:r.id}),{data:a}=ft({client:M,toolName:b,toolArguments:j,select:l=>l.structuredContent??l});let E=[],L=[],V=null;if(a){if(Array.isArray(a))E=a;else if(typeof a=="object"&&a!==null)if("totalCount"in a&&typeof a.totalCount=="number"&&(V=a.totalCount),"item"in a&&a.item){const l=a.item;E=[{id:l.id||"",title:l.title,server:l.server,_meta:l._meta}]}else{let l;"versions"in a&&Array.isArray(a.versions)?l="versions":"servers"in a&&Array.isArray(a.servers)?l="servers":l=Object.keys(a).find(z=>Array.isArray(a[z])),l&&(E=a[l],(l==="versions"||b?.includes("VERSIONS"))&&(L=E))}}const K=(()=>{const l=L.findIndex(z=>z._meta?.["io.modelcontextprotocol.registry/official"]?.isLatest===!0);return l>=0?l:0})(),D=p??K;let T=E.find(l=>{const z=l.name||l.title||l.server?.title||"";return ht(z)===s});!T&&n&&(T=E.find(l=>l.id===n||l.server?.name===n||l.name===n||l.title===n));const S=T?Xt(T):null,$=(S?.tools?.length||0)>0,R=T?.server?.remotes?.[0]?.url||null,A=!$&&!!R,O=ce({queryKey:le.remoteMcpTools(R),queryFn:async()=>{if(!R)return[];const{Client:l}=await ae(async()=>{const{Client:q}=await import("./index-B0lAKtRh.js").then(J=>J.co);return{Client:q}},__vite__mapDeps([0,1])),{StreamableHTTPClientTransport:z}=await ae(async()=>{const{StreamableHTTPClientTransport:q}=await import("./index-DCBC9Z8D.js");return{StreamableHTTPClientTransport:q}},__vite__mapDeps([2,0,1,3,4,5,6,7,8,9,10,11])),Y=new l({name:"mesh-store",version:"1.0.0"}),se=new z(new URL(R),{requestInit:{headers:{Accept:"application/json, text/event-stream","Content-Type":"application/json"}}});try{return await Y.connect(se),((await Y.listTools()).tools||[]).map(J=>({name:J.name,description:J.description}))}finally{await Y.close().catch(console.error)}},enabled:A}),U=A&&O.isLoading,B=O.data??[],P=$?S?.tools||[]:B,H=Yt(w,S?.publisher),W=S?Jt(E,S.publisher,H,h??null,V):{count:0},G=S?.repository?gt(S.repository):null,ee=T?.server?.remotes??[],te=T?.server?.packages??[],ne=[...ee.map((l,z)=>({...l,_type:"remote",_index:z})),...te.map((l,z)=>({type:"stdio",url:void 0,name:l.name||l.identifier,title:l.name||l.identifier?.replace(/^@[^/]+\//,""),description:l.environmentVariables?.length?`Requires ${l.environmentVariables.length} environment variable(s)`:void 0,_type:"package",_index:z}))],de=d?ne:ne.filter(l=>l.type?.toLowerCase()!=="stdio"),me=de.length>1,X=[{id:"servers",label:"Servers",count:de.length,visible:me},{id:"readme",label:"README",visible:!!S?.readmeMarkdown||!!S?.readmeUrl||!!S?.repository&&!!G},{id:"tools",label:"Tools",count:P.length,visible:$||B.length>0||!!R}].filter(l=>l.visible),ke=X.find(l=>l.id==="servers")?.id||X.find(l=>l.id==="readme")?.id||X[0]?.id||"overview",Te=m&&X.find(l=>l.id===m)?m:ke,ie=async(l,z,Y)=>{const se=L[l??0]||T;if(!se||!r||!f?.user?.id)return;const q=xt(se,r.id,f.user.id,{remoteIndex:Y===void 0?z??0:void 0,packageIndex:Y}),J=q.connection_type==="STDIO",Ee=!!q.connection_url,De=J&&q.connection_headers&&typeof q.connection_headers=="object"&&"command"in q.connection_headers;if(!Ee&&!De){ue.error("This MCP Server cannot be connected: no connection method available");return}try{const{id:Z}=await N.create.mutateAsync(q);e({to:"/$org/$project/mcps/$connectionId",params:{org:r.slug,project:re,connectionId:Z}})}catch(Z){ue.error(`Failed to connect MCP Server: ${Z instanceof Error?Z.message:String(Z)}`)}},Le=()=>{e({to:"/$org/$project/store",params:{org:r.slug,project:re}})};if(!T)return t.jsx(Ct,{onBack:Le});if(!S)return null;const Pe=(T?.server?.remotes?.length??0)>0,Me=(T?.server?.packages?.length??0)>0,fe=Pe||Me,Re=t.jsx(st,{children:t.jsxs(rt,{children:[t.jsx(be,{children:t.jsx(ot,{asChild:!0,children:t.jsx(Ae,{to:"/$org/$project/store",params:{org:r.slug,project:re},children:"Store"})})}),t.jsx(nt,{}),t.jsx(be,{children:t.jsx(it,{children:S.name})})]})});return t.jsxs("div",{className:"flex flex-col h-full border-l border-border",children:[t.jsx(_t,{breadcrumb:Re}),t.jsx("div",{className:"flex-1 overflow-y-auto h-full",children:t.jsx("div",{className:"h-full",children:t.jsxs("div",{className:"h-full",children:[!fe&&t.jsxs("div",{className:"mb-6 p-4 bg-amber-50 border border-amber-200 rounded-lg text-sm text-amber-900",children:[t.jsx(Nt,{size:16,className:"inline mr-2"}),"This MCP Server cannot be connected - no connection method available."]}),t.jsx(It,{data:S,itemVersions:L.length>0?L:[T],onInstall:ie,canInstall:fe,isInstalling:N.create.isPending,hideInstallControls:me,selectedVersionIndex:D,onVersionChange:C}),t.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-3 min-h-[677px]",children:[t.jsx(Pt,{data:S,publisherInfo:W,selectedItem:T}),t.jsx(Wt,{data:S,availableTabs:X,effectiveActiveTabId:Te,effectiveTools:P,isLoadingTools:U,onTabChange:_,servers:ne,onInstallServer:l=>{l._type==="remote"?ie(D,l._index,void 0):ie(D,void 0,l._index)},isInstalling:N.create.isPending,mcpIcon:S.icon,mcpName:S.name,showStdio:d})]})]})})})]})}function Zs(){const r=F.c(6),{org:e}=we(),s=Se();let o;r[0]!==s||r[1]!==e.slug?(o=()=>{s({to:"/$org/$project/store",params:{org:e.slug,project:re}})},r[0]=s,r[1]=e.slug,r[2]=o):o=r[2];const n=o;let i;r[3]===Symbol.for("react.memo_cache_sentinel")?(i=t.jsx(Q.Suspense,{fallback:t.jsx(wt,{}),children:t.jsx(es,{})}),r[3]=i):i=r[3];let c;return r[4]!==n?(c=t.jsx(Zt,{onBack:n,children:i}),r[4]=n,r[5]=c):c=r[5],c}export{Zs as default};
|