@decocms/mesh 2.22.2 → 2.23.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client/assets/{AlertCircle-BRYxEd9U.js → AlertCircle-dEcHwNvu.js} +1 -1
- package/dist/client/assets/{ArrowLeft-BQ7IVK5l.js → ArrowLeft-eZvzO76t.js} +1 -1
- package/dist/client/assets/{ArrowUp-BHV7fQvC.js → ArrowUp-BdwrcvLj.js} +1 -1
- package/dist/client/assets/{Check-01TyG8gs.js → Check-DJs0YqZi.js} +1 -1
- package/dist/client/assets/{ChevronDown-Bk7OKoGa.js → ChevronDown-BHw4CEHT.js} +1 -1
- package/dist/client/assets/{Code01-dW-GUA8c.js → Code01-xWpZseL3.js} +1 -1
- package/dist/client/assets/{Copy01-Cci5IJlw.js → Copy01-BxNbv5WX.js} +1 -1
- package/dist/client/assets/{DotsHorizontal-B46rT1E7.js → DotsHorizontal-CRhKrolj.js} +1 -1
- package/dist/client/assets/{DotsVertical-BqUSftJK.js → DotsVertical-D7K0CcQb.js} +1 -1
- package/dist/client/assets/{Download01-DtRalfBM.js → Download01-BfuDLb5V.js} +1 -1
- package/dist/client/assets/{Edit01-gvkP_dl-.js → Edit01-C3hV44dM.js} +1 -1
- package/dist/client/assets/{File06-ByA_vTun.js → File06-Dr-pZoRh.js} +1 -1
- package/dist/client/assets/{FilterLines-GHP-QaK4.js → FilterLines-DlQeD9pp.js} +1 -1
- package/dist/client/assets/{FlipBackward-BS3V82bC.js → FlipBackward-C3IXOuCk.js} +1 -1
- package/dist/client/assets/{GitBranch01-tvqRSCfh.js → GitBranch01-BjXSs4r7.js} +1 -1
- package/dist/client/assets/{Grid01-DlRq7T-9.js → Grid01-DfwQCcJX.js} +1 -1
- package/dist/client/assets/{Home02-B_0su9RA.js → Home02-DNnnPfH8.js} +1 -1
- package/dist/client/assets/{Image01-CHyuHHfR.js → Image01-5jKR96Lo.js} +1 -1
- package/dist/client/assets/{Inbox01-BT2JYivP.js → Inbox01-Buki2Nma.js} +1 -1
- package/dist/client/assets/{InfoCircle-CVbq8jCi.js → InfoCircle-CEa7ZRhC.js} +1 -1
- package/dist/client/assets/{Key01-CR3co8Y_.js → Key01-PlcAfeux.js} +1 -1
- package/dist/client/assets/{LinkExternal01-DKnd8nXA.js → LinkExternal01-CuM6kIhv.js} +1 -1
- package/dist/client/assets/{List-BMChI4Jp.js → List-i3XXXryR.js} +1 -1
- package/dist/client/assets/{Loading01-Ciunqme0.js → Loading01-Cylg3-_j.js} +1 -1
- package/dist/client/assets/{Lock01-Z2BgitgI.js → Lock01-ClIEB2Fy.js} +1 -1
- package/dist/client/assets/{Play-ftmsq5JK.js → Play-CMKVnY1Z.js} +1 -1
- package/dist/client/assets/{Plus-Dr1frakx.js → Plus-wyZMrN65.js} +1 -1
- package/dist/client/assets/{SearchMd-BdgkqD1I.js → SearchMd-BOjdxcEh.js} +1 -1
- package/dist/client/assets/{Terminal-C6MHBgjq.js → Terminal-DvzUlVBL.js} +1 -1
- package/dist/client/assets/{Trash01-O7XdHeVF.js → Trash01-DAF4JR6x.js} +1 -1
- package/dist/client/assets/{Upload01-oZYrY2i5.js → Upload01-6Rm3aV0f.js} +1 -1
- package/dist/client/assets/{X-CBxJpjg0.js → X-C1UdIYIh.js} +1 -1
- package/dist/client/assets/{XClose-CZV8y02_.js → XClose-1JLC1PPk.js} +1 -1
- package/dist/client/assets/{agent-detail-CZykGi9X.js → agent-detail-hknWm8wM.js} +1 -1
- package/dist/client/assets/{agents-C2xykK68.js → agents-DGBA3rS-.js} +1 -1
- package/dist/client/assets/{alert-dialog-VCUJKSC8.js → alert-dialog-DrfswxC3.js} +1 -1
- package/dist/client/assets/{auth-catchall-eqWzQgEV.js → auth-catchall-BDJW0dP0.js} +1 -1
- package/dist/client/assets/{avatar-BTpw67uu.js → avatar-1eewp_9T.js} +1 -1
- package/dist/client/assets/{badge-BBWbP67q.js → badge-DRhtTp4k.js} +1 -1
- package/dist/client/assets/{binder-C7ZGqrKK.js → binder-DyJ0n4d5.js} +1 -1
- package/dist/client/assets/{button-CSCVKnjE.js → button-BdSVK2Y9.js} +1 -1
- package/dist/client/assets/{card-DIp7Pbbe.js → card-CS2qDNmL.js} +1 -1
- package/dist/client/assets/{checkbox-B4SYjdp8.js → checkbox-UBHz0rhu.js} +1 -1
- package/dist/client/assets/collection-detail-BrwhgZKR.js +26 -0
- package/dist/client/assets/{collection-display-button-DJ1AY12f.js → collection-display-button-DYQdZVaC.js} +1 -1
- package/dist/client/assets/{collection-header-BexgULaJ.js → collection-header-Bq_pwY0d.js} +1 -1
- package/dist/client/assets/{collection-page-CFeLb91S.js → collection-page-BRLilQpU.js} +1 -1
- package/dist/client/assets/{collection-search-BIaqbS2d.js → collection-search-fNZmcrVl.js} +1 -1
- package/dist/client/assets/{collection-tab-B6gVlnp1.js → collection-tab-DDZ2Ixb6.js} +1 -1
- package/dist/client/assets/{collection-table-wrapper-D_9AP4Xy.js → collection-table-wrapper-CyayHVF2.js} +1 -1
- package/dist/client/assets/{connection-BOiZ4DhB.js → connection-BQ8tHXWt.js} +1 -1
- package/dist/client/assets/{connection-card-B7L3EvSn.js → connection-card-Cy-WH2qu.js} +1 -1
- package/dist/client/assets/connection-detail-C7xMANsY.js +1 -0
- package/dist/client/assets/{connections-bna1FNR4.js → connections-ChxanEg9.js} +1 -1
- package/dist/client/assets/constants-CQ9jNG-d.js +1 -0
- package/dist/client/assets/{create-organization-dialog-DrPDs6B5.js → create-organization-dialog-B7y_HgAC.js} +1 -1
- package/dist/client/assets/{dialog-BKcENWTv.js → dialog-8xt9wG3a.js} +1 -1
- package/dist/client/assets/{dropdown-menu-6yOcAo_W.js → dropdown-menu-DqYEi1G5.js} +1 -1
- package/dist/client/assets/{dynamic-plugin-layout-DgPbTvHX.js → dynamic-plugin-layout-C3O7bg_M.js} +1 -1
- package/dist/client/assets/{empty-state-CaPNxgdS.js → empty-state-BU13D_5m.js} +1 -1
- package/dist/client/assets/{empty-state-CKHPbxeg.js → empty-state-CiuhUK_-.js} +1 -1
- package/dist/client/assets/{env-vars-editor-DB9sQiDh.js → env-vars-editor-BRNWnsg6.js} +1 -1
- package/dist/client/assets/{error-boundary-CZ-hRbTW.js → error-boundary-vxKcv_5V.js} +1 -1
- package/dist/client/assets/{extract-connection-data-xYehFtf9.js → extract-connection-data-CinkvG5b.js} +1 -1
- package/dist/client/assets/{file-browser-BU2xrvlc.js → file-browser-rsKcak0O.js} +2 -2
- package/dist/client/assets/{form-D-QUdO0s.js → form-ma_v39Z5.js} +1 -1
- package/dist/client/assets/{grid-view-D1lCA5Sx.js → grid-view-DcOXEb0G.js} +1 -1
- package/dist/client/assets/{home-B80k-FcM.js → home--jDS6MVF.js} +1 -1
- package/dist/client/assets/index-BOoYPbIt.css +1 -0
- package/dist/client/assets/{index-CViGbTGN.js → index-C4mGuHAC.js} +1 -1
- package/dist/client/assets/index-CQIgeebv.js +257 -0
- package/dist/client/assets/{index-BADGsnm_.js → index-CRvHJTW7.js} +3 -3
- package/dist/client/assets/{index-D4I3u5rj.js → index-cqIglj_S.js} +1 -1
- package/dist/client/assets/{index-BEzz4Zqk.js → index-uCF3-oVs.js} +1 -1
- package/dist/client/assets/{infiniteQueryObserver-DoGEx2i9.js → infiniteQueryObserver-VFy8EVgA.js} +1 -1
- package/dist/client/assets/{input-BDWPxnpd.js → input-LAgwngta.js} +1 -1
- package/dist/client/assets/{layout-DEupYEZG.js → layout-73cB5ydN.js} +1 -1
- package/dist/client/assets/{localstorage-keys-eASnOQ5z.js → localstorage-keys-DHv4MWFb.js} +1 -1
- package/dist/client/assets/{login-H-3KOz_a.js → login-Bm0d_hLp.js} +1 -1
- package/dist/client/assets/{mcp-oauth-8-FuZodO.js → mcp-oauth-CbqmzlCO.js} +1 -1
- package/dist/client/assets/{mcp-server-card-jC-20C4W.js → mcp-server-card-DYsz-3kg.js} +1 -1
- package/dist/client/assets/{mcp-server-detail-C4TwgL7p.js → mcp-server-detail-C6U67vaE.js} +1 -1
- package/dist/client/assets/{members-BF2WYhNd.js → members-B0LplyJl.js} +1 -1
- package/dist/client/assets/{monaco-editor-BDsCepgw.js → monaco-editor-DMkLPPQN.js} +1 -1
- package/dist/client/assets/{monitoring-1Ei05IVG.js → monitoring-D2jTU4Xy.js} +1 -1
- package/dist/client/assets/{oauth-callback-UV6p5nJu.js → oauth-callback-p1aa38Yf.js} +1 -1
- package/dist/client/assets/page-tFfKi6n5.js +21 -0
- package/dist/client/assets/{page-IRt77uto.js → page-ynBFOcV5.js} +1 -1
- package/dist/client/assets/{pin-to-sidebar-button-BfOZ995T.js → pin-to-sidebar-button-C-Z1z0zw.js} +1 -1
- package/dist/client/assets/{plugin-empty-state-CvCBkNU_.js → plugin-empty-state-yhV7v50y.js} +1 -1
- package/dist/client/assets/{plugin-header-CT5ofHVa.js → plugin-header-D4F6m1rC.js} +1 -1
- package/dist/client/assets/{plugins-BM-POIbA.js → plugins-rIvTXx9l.js} +1 -1
- package/dist/client/assets/{popover-Bol-owE5.js → popover-DxBUoQOr.js} +1 -1
- package/dist/client/assets/{project-context-provider-BrEPJG0C.js → project-context-provider-BOp7y-sm.js} +1 -1
- package/dist/client/assets/{registry-utils-qr2hWyuD.js → registry-utils-DfaYKsYd.js} +1 -1
- package/dist/client/assets/{resizable-5YkDxOnG.js → resizable-YIVvLAMI.js} +1 -1
- package/dist/client/assets/{resource-tabs-CoVc7CCV.js → resource-tabs-CXiDC84e.js} +1 -1
- package/dist/client/assets/select-CQxwh50L.js +1 -0
- package/dist/client/assets/{settings-DR5TOYQT.js → settings-DRtRZS8m.js} +1 -1
- package/dist/client/assets/{shell-layout-BUa4VNmw.js → shell-layout-CR8loLbO.js} +1 -1
- package/dist/client/assets/{spinner-CVaIYhex.js → spinner-B1_J8xfL.js} +1 -1
- package/dist/client/assets/{switch-DXIwD9IB.js → switch-rdGkoPqi.js} +1 -1
- package/dist/client/assets/{textarea-CjiaCeZv.js → textarea-CCB_cBLX.js} +1 -1
- package/dist/client/assets/{tool-set-selector-NKABlXdy.js → tool-set-selector-NB5yXl6l.js} +1 -1
- package/dist/client/assets/{tools-list-Dlo-5MDO.js → tools-list-Dt72BK-a.js} +1 -1
- package/dist/client/assets/{tooltip-Dh7pKOjr.js → tooltip-CE9zYFg3.js} +1 -1
- package/dist/client/assets/{typewriter-title-D71dWYOo.js → typewriter-title-DHXaFYv3.js} +1 -1
- package/dist/client/assets/{use-binding-CMrf28mD.js → use-binding-CPgE3BWS.js} +1 -1
- package/dist/client/assets/{use-collections-BYXeN_Z5.js → use-collections-B9erc3lD.js} +1 -1
- package/dist/client/assets/{use-connection-CfZ0Vu4z.js → use-connection-BdE78hZ6.js} +1 -1
- package/dist/client/assets/{use-connection-resources-DpopeA_b.js → use-connection-resources-BfpTQVnT.js} +1 -1
- package/dist/client/assets/{use-create-virtual-mcp-DLEcqdBk.js → use-create-virtual-mcp-C5Hckkr_.js} +1 -1
- package/dist/client/assets/{use-list-state-D02T_aKE.js → use-list-state-TVJ_6wgx.js} +1 -1
- package/dist/client/assets/{use-mcp-BLkJq7bN.js → use-mcp-BsV0E2Ee.js} +1 -1
- package/dist/client/assets/{use-members-v6U7Oi6B.js → use-members-B2abMujF.js} +1 -1
- package/dist/client/assets/{use-mobile-BDBdLYs3.js → use-mobile-bGvEd-ta.js} +1 -1
- package/dist/client/assets/{use-organization-settings-BznzPQgX.js → use-organization-settings-BamfW6UJ.js} +1 -1
- package/dist/client/assets/{use-tool-call-C-s97CRj.js → use-tool-call-TbtZFKnf.js} +1 -1
- package/dist/client/assets/{use-virtual-mcp-BLBflG-l.js → use-virtual-mcp-BnJrA4bQ.js} +1 -1
- package/dist/client/assets/{use-virtual-mcp-system-prompt-XZLo_ZYW.js → use-virtual-mcp-system-prompt-DpDoqfDG.js} +1 -1
- package/dist/client/assets/useInfiniteQuery-0K-4osaV.js +1 -0
- package/dist/client/assets/{useMutation-DX2iB0kT.js → useMutation-AON1uiHs.js} +1 -1
- package/dist/client/assets/useQuery-Bvq31XvZ.js +1 -0
- package/dist/client/assets/{value-Dzu-joN0.js → value-D9P4r7rT.js} +1 -1
- package/dist/client/assets/{view-mode-toggle-DSycgDld.js → view-mode-toggle-CKrW8N1p.js} +1 -1
- package/dist/client/assets/{workflow-DaenHlXi.js → workflow-FBTK819O.js} +1 -1
- package/dist/client/index.html +2 -2
- package/dist/server/cli.js +1 -1
- package/dist/server/migrate.js +1 -1
- package/dist/server/server.js +1 -1
- package/package.json +21 -11
- package/dist/client/assets/collection-detail-DjOL7Bjs.js +0 -165
- package/dist/client/assets/connection-detail-C63xtruJ.js +0 -1
- package/dist/client/assets/constants-CRHWvr6r.js +0 -1
- package/dist/client/assets/index-DGVUoQ0k.js +0 -107
- package/dist/client/assets/index-H07QDM93.css +0 -1
- package/dist/client/assets/lazy-highlighter-Bn9myoq9.js +0 -9
- package/dist/client/assets/page-BXvciBeM.js +0 -21
- package/dist/client/assets/select-CncHydKl.js +0 -1
- package/dist/client/assets/useInfiniteQuery-B1vlCJEQ.js +0 -1
- package/dist/client/assets/useQuery-BloC42s4.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as ne,j as t,K as nt,f as lt,k as rt,a as at,r as ct,t as dt}from"./index-BADGsnm_.js";import{g as Me}from"./generate-id-Dyweu44Y.js";import{c as Re}from"./connection-BOiZ4DhB.js";import{C as Ve}from"./collection-display-button-DJ1AY12f.js";import{C as mt}from"./collection-search-BIaqbS2d.js";import{C as ft}from"./card-DIp7Pbbe.js";import{I as qe,E as ut}from"./empty-state-CaPNxgdS.js";import{b as Ge,D as We,a as He,c as F}from"./dropdown-menu-6yOcAo_W.js";import{B as ke,c as ze}from"./button-CSCVKnjE.js";import{a as Je}from"./Copy01-Cci5IJlw.js";import{i as Qe}from"./DotsVertical-BqUSftJK.js";import{i as Ye}from"./Edit01-gvkP_dl-.js";import{s as Xe,u as pt}from"./use-list-state-D02T_aKE.js";import{s as Ze}from"./Trash01-O7XdHeVF.js";import{C as ht}from"./collection-table-wrapper-D_9AP4Xy.js";import{E as Ue}from"./empty-state-CKHPbxeg.js";import{n as Be}from"./Inbox01-BT2JYivP.js";import{A as Oe}from"./avatar-BTpw67uu.js";import{u as xt}from"./useQuery-BloC42s4.js";import{P as gt}from"./pin-to-sidebar-button-BfOZ995T.js";import{b as jt}from"./use-connection-CfZ0Vu4z.js";import{a as Ct,b as vt}from"./use-collections-BYXeN_Z5.js";import{B as bt}from"./constants-CRHWvr6r.js";import{A as yt,g as Nt,c as wt,b as St,d as _t,e as Dt,a as At,f as Tt}from"./alert-dialog-VCUJKSC8.js";import{s as It}from"./Plus-Dr1frakx.js";import{V as Pt}from"./layout-DEupYEZG.js";function $t(n,e){const s=n.properties||{};for(const o in s){const l=s[o];if(l&&l.type==="string"&&(l.format==="url"||l.format==="uri")&&e&&typeof e=="object"&&o in e&&e[o])return e[o]}const d=["image","img","avatar","icon","logo","thumbnail","cover"];for(const o of d)if(e&&typeof e=="object"&&o in e&&typeof e[o]=="string")return e[o]}function Et(n){const e=ne.c(25),{item:s,schema:d,actions:o}=n;let l;e[0]!==s||e[1]!==d?(l=$t(d,s),e[0]=s,e[1]=d,e[2]=l):l=e[2];const a=l,c=s&&typeof s=="object"&&"description"in s&&typeof s.description=="string"?s.description:void 0;let f;e[3]!==o?(f=o&&Object.keys(o).length>0,e[3]=o,e[4]=f):f=e[4];const i=f;let u;e[5]!==a||e[6]!==s.title?(u=t.jsx(qe,{icon:a,name:s.title,size:"md",className:"shrink-0 shadow-sm"}),e[5]=a,e[6]=s.title,e[7]=u):u=e[7];let j;e[8]!==s.title?(j=t.jsx("h3",{className:"text-base font-medium text-foreground truncate",children:s.title}),e[8]=s.title,e[9]=j):j=e[9];const h=c||"No description";let m;e[10]!==h?(m=t.jsx("p",{className:"text-base text-muted-foreground line-clamp-2",children:h}),e[10]=h,e[11]=m):m=e[11];let x;e[12]!==j||e[13]!==m?(x=t.jsxs("div",{className:"flex flex-col gap-0 flex-1",children:[j,m]}),e[12]=j,e[13]=m,e[14]=x):x=e[14];let y;e[15]!==u||e[16]!==x?(y=t.jsxs("div",{className:"flex flex-col gap-4 p-6 flex-1",children:[u,x]}),e[15]=u,e[16]=x,e[17]=y):y=e[17];let C;e[18]!==o||e[19]!==i||e[20]!==s?(C=i&&t.jsx("div",{className:"absolute top-6 right-6 opacity-0 group-hover:opacity-100 transition-opacity",onClick:Ft,onMouseDown:kt,children:t.jsxs(Ge,{children:[t.jsx(We,{asChild:!0,children:t.jsx(ke,{variant:"ghost",size:"icon",className:"h-8 w-8",onClick:Ot,children:t.jsx(Qe,{size:20})})}),t.jsxs(He,{align:"end",onClick:zt,children:[o.open&&t.jsxs(F,{onClick:r=>{r.stopPropagation(),o.open?.(s)},children:[t.jsx(Xe,{size:16}),"Open"]}),o.edit&&t.jsxs(F,{onClick:r=>{r.stopPropagation(),o.edit?.(s)},children:[t.jsx(Ye,{size:16}),"Edit"]}),o.duplicate&&t.jsxs(F,{onClick:r=>{r.stopPropagation(),o.duplicate?.(s)},children:[t.jsx(Je,{size:16}),"Duplicate"]}),o.delete&&t.jsxs(F,{variant:"destructive",onClick:r=>{r.stopPropagation(),o.delete?.(s)},children:[t.jsx(Ze,{size:16}),"Delete"]})]})]})}),e[18]=o,e[19]=i,e[20]=s,e[21]=C):C=e[21];let S;return e[22]!==y||e[23]!==C?(S=t.jsxs(ft,{className:"cursor-pointer transition-colors h-full flex flex-col group relative",children:[y,C]}),e[22]=y,e[23]=C,e[24]=S):S=e[24],S}function zt(n){return n.stopPropagation()}function Ot(n){return n.stopPropagation()}function kt(n){return n.stopPropagation()}function Ft(n){return n.stopPropagation()}function Kt(n){const e=ne.c(9);let s;e[0]===Symbol.for("react.memo_cache_sentinel")?(s=Re(),e[0]=s):s=e[0];const d=s;let o;e[1]!==n?(o=nt.user(n),e[1]=n,e[2]=o):o=e[2];let l;e[3]!==n?(l=async()=>(await d("USER_GET",{id:n})).user,e[3]=n,e[4]=l):l=e[4];const a=!!n;let c;return e[5]!==o||e[6]!==l||e[7]!==a?(c={queryKey:o,queryFn:l,staleTime:3e5,retry:1,enabled:a},e[5]=o,e[6]=l,e[7]=a,e[8]=c):c=e[8],xt(c)}function Mt(n){const e=ne.c(39),{id:s,size:d,showEmail:o,className:l}=n,a=d===void 0?"xs":d,c=o===void 0?!1:o,{data:f,isLoading:i,isError:u}=Kt(s);if(i){let r;e[0]!==l?(r=ze("flex items-center gap-2",l),e[0]=l,e[1]=r):r=e[1];let g;e[2]!==a?(g=t.jsx(Oe.Skeleton,{shape:"circle",size:a}),e[2]=a,e[3]=g):g=e[3];let v;e[4]===Symbol.for("react.memo_cache_sentinel")?(v=t.jsx("div",{className:"h-3 w-24 bg-muted animate-pulse rounded"}),e[4]=v):v=e[4];let p;e[5]!==c?(p=c&&t.jsx("div",{className:"h-2 w-32 bg-muted animate-pulse rounded"}),e[5]=c,e[6]=p):p=e[6];let _;e[7]!==p?(_=t.jsxs("div",{className:"flex flex-col gap-1",children:[v,p]}),e[7]=p,e[8]=_):_=e[8];let b;return e[9]!==r||e[10]!==g||e[11]!==_?(b=t.jsxs("div",{className:r,children:[g,_]}),e[9]=r,e[10]=g,e[11]=_,e[12]=b):b=e[12],b}if(u||!f){let r;e[13]!==l?(r=ze("flex items-center gap-2",l),e[13]=l,e[14]=r):r=e[14];let g;e[15]!==a?(g=t.jsx(Oe,{shape:"circle",size:a,fallback:"?",muted:!0}),e[15]=a,e[16]=g):g=e[16];let v;e[17]===Symbol.for("react.memo_cache_sentinel")?(v=t.jsx("div",{className:"flex flex-col",children:t.jsx("div",{className:"text-sm text-muted-foreground",children:"Unknown User"})}),e[17]=v):v=e[17];let p;return e[18]!==r||e[19]!==g?(p=t.jsxs("div",{className:r,children:[g,v]}),e[18]=r,e[19]=g,e[20]=p):p=e[20],p}let j;e[21]!==l?(j=ze("flex items-center gap-2",l),e[21]=l,e[22]=j):j=e[22];const h=f.image??void 0;let m;e[23]!==a||e[24]!==h||e[25]!==f.name?(m=t.jsx(Oe,{shape:"circle",size:a,url:h,fallback:f.name}),e[23]=a,e[24]=h,e[25]=f.name,e[26]=m):m=e[26];let x;e[27]!==f.name?(x=t.jsx("div",{className:"text-sm font-medium",children:f.name}),e[27]=f.name,e[28]=x):x=e[28];let y;e[29]!==c||e[30]!==f.email?(y=c&&t.jsx("div",{className:"text-xs text-muted-foreground",children:f.email}),e[29]=c,e[30]=f.email,e[31]=y):y=e[31];let C;e[32]!==x||e[33]!==y?(C=t.jsxs("div",{className:"flex flex-col",children:[x,y]}),e[32]=x,e[33]=y,e[34]=C):C=e[34];let S;return e[35]!==j||e[36]!==m||e[37]!==C?(S=t.jsxs("div",{className:j,children:[m,C]}),e[35]=j,e[36]=m,e[37]=C,e[38]=S):S=e[38],S}const Ut=["icon","avatar","logo"],Le=["created_at","created_by","id"];function Bt(n){return Object.keys(n).find(e=>Ut.includes(e.toLowerCase()))}function et(n,e){return Object.keys(n.properties||{}).filter(s=>["id","created_at","updated_at","created_by","updated_by"].includes(s)?!1:e?e.includes(s):!0).map(s=>({id:s,label:s.charAt(0).toUpperCase()+s.slice(1).replace(/_/g," ")}))}function Lt(n){const e=ne.c(32),{data:s,schema:d,viewMode:o,onViewModeChange:l,search:a,sortKey:c,sortDirection:f,onSort:i,actions:u,onItemClick:j,headerActions:h,emptyState:m,readOnly:x,columns:y,hideToolbar:C,sortableFields:S}=n,r=l===void 0?Wt:l,g=f===void 0?"asc":f,v=i===void 0?Gt:i;let p;e[0]!==u?(p=u===void 0?{}:u,e[0]=u,e[1]=p):p=e[1];const _=p,b=j===void 0?qt:j,P=h===void 0?null:h,T=m===void 0?null:m,E=x===void 0?!1:x,N=y===void 0?void 0:y,$=C===void 0?!1:C,D=S===void 0?void 0:S;let z;e[2]!==N||e[3]!==d||e[4]!==D?(z=N?N.filter(Vt).filter(k=>!D||D.includes(k.id)).map(Rt):et(d,D),e[2]=N,e[3]=d,e[4]=D,e[5]=z):z=e[5];const K=z;let I;e[6]!==P||e[7]!==$||e[8]!==v||e[9]!==r||e[10]!==g||e[11]!==c||e[12]!==K||e[13]!==o?(I=!$&&t.jsx("div",{className:"shrink-0 w-full border-b border-border h-12",children:t.jsxs("div",{className:"flex items-center gap-3 h-12 px-4",children:[t.jsx("div",{className:"flex items-center gap-2 flex-1",children:P}),t.jsx("div",{className:"flex items-center gap-2 shrink-0",children:t.jsx(Ve,{viewMode:o,onViewModeChange:r,sortKey:c,sortDirection:g,onSort:v,sortOptions:K})})]})}),e[6]=P,e[7]=$,e[8]=v,e[9]=r,e[10]=g,e[11]=c,e[12]=K,e[13]=o,e[14]=I):I=e[14];let A;e[15]!==_||e[16]!==N||e[17]!==s||e[18]!==T||e[19]!==b||e[20]!==v||e[21]!==E||e[22]!==d||e[23]!==a||e[24]!==g||e[25]!==c||e[26]!==D||e[27]!==o?(A=o==="cards"?t.jsx("div",{className:"flex-1 overflow-auto p-5",children:s.length===0?t.jsx("div",{className:"flex items-center justify-center h-full",children:T||t.jsx(Ue,{icon:t.jsx(Be,{size:36,className:"text-muted-foreground"}),title:"No items found",description:a?"Try adjusting your search":"No items to display"})}):t.jsx("div",{className:"grid grid-cols-1 md:grid-cols-3 lg:grid-cols-4 gap-4",children:s.map(k=>t.jsx("div",{onClick:()=>b?.(k),className:"cursor-pointer h-full",children:t.jsx(Et,{item:k,schema:d,readOnly:E,actions:_})},k.id))})}):t.jsx(ht,{columns:Qt(N,d,D,_),data:s,sortKey:c,sortDirection:g,onSort:v,onRowClick:b,emptyState:T||t.jsx(Ue,{icon:t.jsx(Be,{size:36,className:"text-muted-foreground"}),title:"No items found",description:a?"Try adjusting your search":"No items to display"})}),e[15]=_,e[16]=N,e[17]=s,e[18]=T,e[19]=b,e[20]=v,e[21]=E,e[22]=d,e[23]=a,e[24]=g,e[25]=c,e[26]=D,e[27]=o,e[28]=A):A=e[28];let O;return e[29]!==I||e[30]!==A?(O=t.jsxs("div",{className:"h-full flex flex-col overflow-hidden",children:[I,A]}),e[29]=I,e[30]=A,e[31]=O):O=e[31],O}function Rt(n){return{id:n.id,label:typeof n.header=="string"?n.header:n.id}}function Vt(n){return n.sortable!==!1}function qt(){}function Gt(){}function Wt(){}function Ht(n){return{id:"actions",header:"",render:e=>t.jsxs(Ge,{children:[t.jsx(We,{asChild:!0,children:t.jsx(ke,{variant:"ghost",size:"sm",className:"h-8 w-8 p-0",onClick:s=>s.stopPropagation(),children:t.jsx(Qe,{size:20})})}),t.jsxs(He,{align:"end",onClick:s=>s.stopPropagation(),children:[n.open&&t.jsxs(F,{onClick:s=>{s.stopPropagation(),n.open?.(e)},children:[t.jsx(Xe,{size:16}),"Open"]}),n.edit&&t.jsxs(F,{onClick:s=>{s.stopPropagation(),n.edit?.(e)},children:[t.jsx(Ye,{size:16}),"Edit"]}),n.duplicate&&t.jsxs(F,{onClick:s=>{s.stopPropagation(),n.duplicate?.(e)},children:[t.jsx(Je,{size:16}),"Duplicate"]}),n.delete&&t.jsxs(F,{variant:"destructive",onClick:s=>{s.stopPropagation(),n.delete?.(e)},children:[t.jsx(Ze,{size:16}),"Delete"]})]})]}),cellClassName:"w-[60px]",sortable:!1}}function tt(n){const e=n.type;return Array.isArray(e)?e.every(s=>tt({type:s})):e==="string"||e==="number"||e==="integer"||e==="boolean"||e==="null"}function Jt(n,e){const s=n.properties||{},d=Object.keys(s).filter(i=>{const u=s[i];return u&&tt(u)}),o=Bt(s),l=[],a=new Set;o&&d.includes(o)&&(l.push(o),a.add(o));const c=["title","description","updated_at","updated_by"];for(const i of c)d.includes(i)&&!a.has(i)&&(l.push(i),a.add(i));const f=d.filter(i=>!a.has(i)&&!Le.includes(i)).sort((i,u)=>i.localeCompare(u));for(const i of f)l.push(i),a.add(i);for(const i of Le)d.includes(i)&&!a.has(i)&&(l.push(i),a.add(i));return l.map(i=>{const u=s[i],j=e?e.includes(i):!["id"].includes(i);return i===o?{id:i,header:"",render:h=>{const m=h[i];return t.jsx(qe,{icon:m,name:h.title,size:"sm",className:"shrink-0 shadow-sm"})},sortable:!1,cellClassName:"w-16 shrink-0",wrap:!0}:i==="description"?{id:i,header:"Description",render:h=>{const m=h[i];return m==null?"—":t.jsx("span",{className:"block truncate max-w-[50ch]",children:String(m)})},sortable:j,cellClassName:"max-w-[50ch]"}:i==="created_by"||i==="updated_by"?{id:i,header:i.charAt(0).toUpperCase()+i.slice(1).replace(/_/g," "),render:h=>{const m=h[i];return m?t.jsx(Mt,{id:String(m),size:"xs"}):"—"},sortable:j,cellClassName:"max-w-[250px]"}:u?.format==="date-time"||i.endsWith("_at")?{id:i,header:i.charAt(0).toUpperCase()+i.slice(1).replace(/_/g," "),render:h=>{const m=h[i];return m?t.jsx("span",{className:"block truncate max-w-full",children:new Date(m).toLocaleDateString()}):"—"},sortable:j,cellClassName:"max-w-[200px]"}:{id:i,header:i.charAt(0).toUpperCase()+i.slice(1).replace(/_/g," "),render:h=>{const m=h[i];return m==null?"—":t.jsx("span",{className:"block truncate max-w-full",children:String(m)})},sortable:j,cellClassName:"max-w-[200px]"}})}function Qt(n,e,s,d){const o=n||Jt(e,s);return o.some(c=>c.id==="actions")?o:Object.keys(d).length>0?[...o,Ht(d)]:o}function ws(n){const e=ne.c(117),{connectionId:s,org:d,activeCollection:o}=n,l=o.name,a=o.schema??bt,c=o.hasCreateTool,f=o.hasUpdateTool,i=o.hasDeleteTool,u=lt(),h=rt().location.href,{data:m}=at.useSession(),x=m?.user?.id||"unknown",y=jt(s);let C;e[0]!==s?(C=Re(s),e[0]=s,e[1]=C):C=e[1];const S=C,r=Ct(s,l,S),g=`${s}-${l}`;let v;e[2]!==d||e[3]!==g?(v={namespace:d,resource:g,defaultSortKey:"updated_at"},e[2]=d,e[3]=g,e[4]=v):v=e[4];const{search:p,searchTerm:_,setSearch:b,viewMode:P,setViewMode:T,sortKey:E,sortDirection:N,handleSort:$}=pt(v);let D;e[5]!==_||e[6]!==N||e[7]!==E?(D={searchTerm:_,sortKey:E,sortDirection:N},e[5]=_,e[6]=N,e[7]=E,e[8]=D):D=e[8];const z=vt(s,l,S,D),K=!c&&!f&&!i;let I;e[9]!==l||e[10]!==s||e[11]!==u||e[12]!==d?(I=w=>{u({to:"/$org/mcps/$connectionId/$collectionName/$itemId",params:{org:d,connectionId:s,collectionName:l,itemId:w.id}})},e[9]=l,e[10]=s,e[11]=u,e[12]=d,e[13]=I):I=e[13];const A=I;let O;e[14]!==r.create||e[15]!==x?(O=async w=>{const he=new Date().toISOString();await r.create.mutateAsync({...w,id:Me("conn"),title:`${w.title} (Copy)`,created_at:he,updated_at:he,created_by:x,updated_by:x})},e[14]=r.create,e[15]=x,e[16]=O):O=e[16];const k=O,[M,xe]=ct.useState(null);let le;e[17]===Symbol.for("react.memo_cache_sentinel")?(le=w=>{xe(w)},e[17]=le):le=e[17];const st=le;let U;e[18]!==A||e[19]!==f?(U=f&&{edit:A},e[18]=A,e[19]=f,e[20]=U):U=e[20];let B;e[21]!==k||e[22]!==c?(B=c&&{duplicate:k},e[21]=k,e[22]=c,e[23]=B):B=e[23];let L;e[24]!==i?(L=i&&{delete:st},e[24]=i,e[25]=L):L=e[25];let re;e[26]!==L||e[27]!==U||e[28]!==B?(re={...U,...B,...L},e[26]=L,e[27]=U,e[28]=B,e[29]=re):re=e[29];const ge=re;let ae;e[30]!==r.delete||e[31]!==M?(ae=async()=>{M&&(await r.delete.mutateAsync(M.id),xe(null))},e[30]=r.delete,e[31]=M,e[32]=ae):ae=e[32];const je=ae;let ce;e[33]!==r.create||e[34]!==l||e[35]!==s||e[36]!==c||e[37]!==u||e[38]!==d||e[39]!==x?(ce=async()=>{if(!c){dt.error("Create operation is not available for this collection");return}const w=new Date().toISOString(),he={id:Me("conn"),title:"New Item",description:"A brief description of the item",created_at:w,updated_at:w,created_by:x,updated_by:x};try{const Ee=await r.create.mutateAsync(he);u({to:"/$org/mcps/$connectionId/$collectionName/$itemId",params:{org:d,connectionId:s,collectionName:l,itemId:Ee.id}})}catch(Ee){console.error("Failed to create item:",Ee)}},e[33]=r.create,e[34]=l,e[35]=s,e[36]=c,e[37]=u,e[38]=d,e[39]=x,e[40]=ce):ce=e[40];const Ce=ce;let de;e[41]!==a?(de=et(a),e[41]=a,e[42]=de):de=e[42];const ve=de,Fe=(z?.length??0)>0,it=c&&Fe,ot=c&&!Fe&&!p;let me;e[43]!==r.create||e[44]!==Ce||e[45]!==c?(me=c?t.jsxs(ke,{onClick:Ce,size:"sm",disabled:r.create.isPending,className:"h-7",children:[t.jsx(It,{className:"mr-2 h-4 w-4"}),r.create.isPending?"Creating...":"Create"]}):null,e[43]=r.create,e[44]=Ce,e[45]=c,e[46]=me):me=e[46];const Ke=me,be=E;let R;e[47]!==$||e[48]!==T||e[49]!==N||e[50]!==ve||e[51]!==be||e[52]!==P?(R=t.jsx(Ve,{viewMode:P,onViewModeChange:T,sortKey:be,sortDirection:N,onSort:$,sortOptions:ve}),e[47]=$,e[48]=T,e[49]=N,e[50]=ve,e[51]=be,e[52]=P,e[53]=R):R=e[53];const ye=`${l}s`,Ne=y?.icon??"grid_view";let V;e[54]!==ye||e[55]!==Ne||e[56]!==h?(V=t.jsx(gt,{title:ye,url:h,icon:Ne}),e[54]=ye,e[55]=Ne,e[56]=h,e[57]=V):V=e[57];const we=it&&Ke;let q;e[58]!==R||e[59]!==V||e[60]!==we?(q=t.jsxs(Pt,{children:[R,V,we]}),e[58]=R,e[59]=V,e[60]=we,e[61]=q):q=e[61];const Se=`Search ${l}...`;let G;e[62]!==b?(G=w=>{w.key==="Escape"&&(b(""),w.target.blur())},e[62]=b,e[63]=G):G=e[63];let W;e[64]!==p||e[65]!==b||e[66]!==Se||e[67]!==G?(W=t.jsx(mt,{value:p,onChange:b,placeholder:Se,onKeyDown:G}),e[64]=p,e[65]=b,e[66]=Se,e[67]=G,e[68]=W):W=e[68];let H;e[69]!==z?(H=z??[],e[69]=z,e[70]=H):H=e[70];const _e=E;let J;e[71]!==A?(J=w=>A(w),e[71]=A,e[72]=J):J=e[72];const De="No items found",Ae=p?"Try adjusting your search terms":"This collection doesn't have any items yet.",Te=ot?Ke:void 0;let Q;e[73]!==De||e[74]!==Ae||e[75]!==Te?(Q=t.jsx(ut,{image:null,title:De,description:Ae,actions:Te}),e[73]=De,e[74]=Ae,e[75]=Te,e[76]=Q):Q=e[76];let Y;e[77]!==$||e[78]!==K||e[79]!==ge||e[80]!==a||e[81]!==p||e[82]!==b||e[83]!==T||e[84]!==N||e[85]!==H||e[86]!==_e||e[87]!==J||e[88]!==Q||e[89]!==P?(Y=t.jsx("div",{className:"flex-1 overflow-auto",children:t.jsx(Lt,{hideToolbar:!0,data:H,schema:a,viewMode:P,onViewModeChange:T,search:p,onSearchChange:b,sortKey:_e,sortDirection:N,onSort:$,actions:ge,onItemClick:J,readOnly:K,emptyState:Q})}),e[77]=$,e[78]=K,e[79]=ge,e[80]=a,e[81]=p,e[82]=b,e[83]=T,e[84]=N,e[85]=H,e[86]=_e,e[87]=J,e[88]=Q,e[89]=P,e[90]=Y):Y=e[90];let X;e[91]!==W||e[92]!==Y?(X=t.jsxs("div",{className:"flex flex-col h-full overflow-hidden",children:[W,Y]}),e[91]=W,e[92]=Y,e[93]=X):X=e[93];const Ie=!!M;let fe;e[94]===Symbol.for("react.memo_cache_sentinel")?(fe=w=>{w||xe(null)},e[94]=fe):fe=e[94];let ue;e[95]===Symbol.for("react.memo_cache_sentinel")?(ue=t.jsx(wt,{children:"Delete item?"}),e[95]=ue):ue=e[95];const Pe=M?.title;let Z;e[96]!==Pe?(Z=t.jsxs(St,{children:[ue,t.jsxs(_t,{children:['Are you sure you want to delete "',Pe,'"? This action cannot be undone.']})]}),e[96]=Pe,e[97]=Z):Z=e[97];let ee;e[98]!==r.delete.isPending?(ee=t.jsx(yt,{disabled:r.delete.isPending,children:"Cancel"}),e[98]=r.delete.isPending,e[99]=ee):ee=e[99];const $e=r.delete.isPending?"Deleting...":"Delete";let te;e[100]!==r.delete.isPending||e[101]!==je||e[102]!==$e?(te=t.jsx(Nt,{onClick:je,disabled:r.delete.isPending,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:$e}),e[100]=r.delete.isPending,e[101]=je,e[102]=$e,e[103]=te):te=e[103];let se;e[104]!==ee||e[105]!==te?(se=t.jsxs(Dt,{children:[ee,te]}),e[104]=ee,e[105]=te,e[106]=se):se=e[106];let ie;e[107]!==Z||e[108]!==se?(ie=t.jsxs(At,{children:[Z,se]}),e[107]=Z,e[108]=se,e[109]=ie):ie=e[109];let oe;e[110]!==Ie||e[111]!==ie?(oe=t.jsx(Tt,{open:Ie,onOpenChange:fe,children:ie}),e[110]=Ie,e[111]=ie,e[112]=oe):oe=e[112];let pe;return e[113]!==q||e[114]!==X||e[115]!==oe?(pe=t.jsxs(t.Fragment,{children:[q,X,oe]}),e[113]=q,e[114]=X,e[115]=oe,e[116]=pe):pe=e[116],pe}export{ws as C};
|
|
1
|
+
import{c as ne,j as t,K as nt,f as lt,k as rt,a as at,r as ct,t as dt}from"./index-CRvHJTW7.js";import{g as Me}from"./generate-id-Dyweu44Y.js";import{c as Re}from"./connection-BQ8tHXWt.js";import{C as Ve}from"./collection-display-button-DYQdZVaC.js";import{C as mt}from"./collection-search-fNZmcrVl.js";import{C as ft}from"./card-CS2qDNmL.js";import{I as qe,E as ut}from"./empty-state-BU13D_5m.js";import{b as Ge,D as We,a as He,c as F}from"./dropdown-menu-DqYEi1G5.js";import{B as ke,c as ze}from"./button-BdSVK2Y9.js";import{a as Je}from"./Copy01-BxNbv5WX.js";import{i as Qe}from"./DotsVertical-D7K0CcQb.js";import{i as Ye}from"./Edit01-C3hV44dM.js";import{s as Xe,u as pt}from"./use-list-state-TVJ_6wgx.js";import{s as Ze}from"./Trash01-DAF4JR6x.js";import{C as ht}from"./collection-table-wrapper-CyayHVF2.js";import{E as Ue}from"./empty-state-CiuhUK_-.js";import{n as Be}from"./Inbox01-Buki2Nma.js";import{A as Oe}from"./avatar-1eewp_9T.js";import{u as xt}from"./useQuery-Bvq31XvZ.js";import{P as gt}from"./pin-to-sidebar-button-C-Z1z0zw.js";import{b as jt}from"./use-connection-BdE78hZ6.js";import{a as Ct,b as vt}from"./use-collections-B9erc3lD.js";import{B as bt}from"./constants-CQ9jNG-d.js";import{A as yt,g as Nt,c as wt,b as St,d as _t,e as Dt,a as At,f as Tt}from"./alert-dialog-DrfswxC3.js";import{s as It}from"./Plus-wyZMrN65.js";import{V as Pt}from"./layout-73cB5ydN.js";function $t(n,e){const s=n.properties||{};for(const o in s){const l=s[o];if(l&&l.type==="string"&&(l.format==="url"||l.format==="uri")&&e&&typeof e=="object"&&o in e&&e[o])return e[o]}const d=["image","img","avatar","icon","logo","thumbnail","cover"];for(const o of d)if(e&&typeof e=="object"&&o in e&&typeof e[o]=="string")return e[o]}function Et(n){const e=ne.c(25),{item:s,schema:d,actions:o}=n;let l;e[0]!==s||e[1]!==d?(l=$t(d,s),e[0]=s,e[1]=d,e[2]=l):l=e[2];const a=l,c=s&&typeof s=="object"&&"description"in s&&typeof s.description=="string"?s.description:void 0;let f;e[3]!==o?(f=o&&Object.keys(o).length>0,e[3]=o,e[4]=f):f=e[4];const i=f;let u;e[5]!==a||e[6]!==s.title?(u=t.jsx(qe,{icon:a,name:s.title,size:"md",className:"shrink-0 shadow-sm"}),e[5]=a,e[6]=s.title,e[7]=u):u=e[7];let j;e[8]!==s.title?(j=t.jsx("h3",{className:"text-base font-medium text-foreground truncate",children:s.title}),e[8]=s.title,e[9]=j):j=e[9];const h=c||"No description";let m;e[10]!==h?(m=t.jsx("p",{className:"text-base text-muted-foreground line-clamp-2",children:h}),e[10]=h,e[11]=m):m=e[11];let x;e[12]!==j||e[13]!==m?(x=t.jsxs("div",{className:"flex flex-col gap-0 flex-1",children:[j,m]}),e[12]=j,e[13]=m,e[14]=x):x=e[14];let y;e[15]!==u||e[16]!==x?(y=t.jsxs("div",{className:"flex flex-col gap-4 p-6 flex-1",children:[u,x]}),e[15]=u,e[16]=x,e[17]=y):y=e[17];let C;e[18]!==o||e[19]!==i||e[20]!==s?(C=i&&t.jsx("div",{className:"absolute top-6 right-6 opacity-0 group-hover:opacity-100 transition-opacity",onClick:Ft,onMouseDown:kt,children:t.jsxs(Ge,{children:[t.jsx(We,{asChild:!0,children:t.jsx(ke,{variant:"ghost",size:"icon",className:"h-8 w-8",onClick:Ot,children:t.jsx(Qe,{size:20})})}),t.jsxs(He,{align:"end",onClick:zt,children:[o.open&&t.jsxs(F,{onClick:r=>{r.stopPropagation(),o.open?.(s)},children:[t.jsx(Xe,{size:16}),"Open"]}),o.edit&&t.jsxs(F,{onClick:r=>{r.stopPropagation(),o.edit?.(s)},children:[t.jsx(Ye,{size:16}),"Edit"]}),o.duplicate&&t.jsxs(F,{onClick:r=>{r.stopPropagation(),o.duplicate?.(s)},children:[t.jsx(Je,{size:16}),"Duplicate"]}),o.delete&&t.jsxs(F,{variant:"destructive",onClick:r=>{r.stopPropagation(),o.delete?.(s)},children:[t.jsx(Ze,{size:16}),"Delete"]})]})]})}),e[18]=o,e[19]=i,e[20]=s,e[21]=C):C=e[21];let S;return e[22]!==y||e[23]!==C?(S=t.jsxs(ft,{className:"cursor-pointer transition-colors h-full flex flex-col group relative",children:[y,C]}),e[22]=y,e[23]=C,e[24]=S):S=e[24],S}function zt(n){return n.stopPropagation()}function Ot(n){return n.stopPropagation()}function kt(n){return n.stopPropagation()}function Ft(n){return n.stopPropagation()}function Kt(n){const e=ne.c(9);let s;e[0]===Symbol.for("react.memo_cache_sentinel")?(s=Re(),e[0]=s):s=e[0];const d=s;let o;e[1]!==n?(o=nt.user(n),e[1]=n,e[2]=o):o=e[2];let l;e[3]!==n?(l=async()=>(await d("USER_GET",{id:n})).user,e[3]=n,e[4]=l):l=e[4];const a=!!n;let c;return e[5]!==o||e[6]!==l||e[7]!==a?(c={queryKey:o,queryFn:l,staleTime:3e5,retry:1,enabled:a},e[5]=o,e[6]=l,e[7]=a,e[8]=c):c=e[8],xt(c)}function Mt(n){const e=ne.c(39),{id:s,size:d,showEmail:o,className:l}=n,a=d===void 0?"xs":d,c=o===void 0?!1:o,{data:f,isLoading:i,isError:u}=Kt(s);if(i){let r;e[0]!==l?(r=ze("flex items-center gap-2",l),e[0]=l,e[1]=r):r=e[1];let g;e[2]!==a?(g=t.jsx(Oe.Skeleton,{shape:"circle",size:a}),e[2]=a,e[3]=g):g=e[3];let v;e[4]===Symbol.for("react.memo_cache_sentinel")?(v=t.jsx("div",{className:"h-3 w-24 bg-muted animate-pulse rounded"}),e[4]=v):v=e[4];let p;e[5]!==c?(p=c&&t.jsx("div",{className:"h-2 w-32 bg-muted animate-pulse rounded"}),e[5]=c,e[6]=p):p=e[6];let _;e[7]!==p?(_=t.jsxs("div",{className:"flex flex-col gap-1",children:[v,p]}),e[7]=p,e[8]=_):_=e[8];let b;return e[9]!==r||e[10]!==g||e[11]!==_?(b=t.jsxs("div",{className:r,children:[g,_]}),e[9]=r,e[10]=g,e[11]=_,e[12]=b):b=e[12],b}if(u||!f){let r;e[13]!==l?(r=ze("flex items-center gap-2",l),e[13]=l,e[14]=r):r=e[14];let g;e[15]!==a?(g=t.jsx(Oe,{shape:"circle",size:a,fallback:"?",muted:!0}),e[15]=a,e[16]=g):g=e[16];let v;e[17]===Symbol.for("react.memo_cache_sentinel")?(v=t.jsx("div",{className:"flex flex-col",children:t.jsx("div",{className:"text-sm text-muted-foreground",children:"Unknown User"})}),e[17]=v):v=e[17];let p;return e[18]!==r||e[19]!==g?(p=t.jsxs("div",{className:r,children:[g,v]}),e[18]=r,e[19]=g,e[20]=p):p=e[20],p}let j;e[21]!==l?(j=ze("flex items-center gap-2",l),e[21]=l,e[22]=j):j=e[22];const h=f.image??void 0;let m;e[23]!==a||e[24]!==h||e[25]!==f.name?(m=t.jsx(Oe,{shape:"circle",size:a,url:h,fallback:f.name}),e[23]=a,e[24]=h,e[25]=f.name,e[26]=m):m=e[26];let x;e[27]!==f.name?(x=t.jsx("div",{className:"text-sm font-medium",children:f.name}),e[27]=f.name,e[28]=x):x=e[28];let y;e[29]!==c||e[30]!==f.email?(y=c&&t.jsx("div",{className:"text-xs text-muted-foreground",children:f.email}),e[29]=c,e[30]=f.email,e[31]=y):y=e[31];let C;e[32]!==x||e[33]!==y?(C=t.jsxs("div",{className:"flex flex-col",children:[x,y]}),e[32]=x,e[33]=y,e[34]=C):C=e[34];let S;return e[35]!==j||e[36]!==m||e[37]!==C?(S=t.jsxs("div",{className:j,children:[m,C]}),e[35]=j,e[36]=m,e[37]=C,e[38]=S):S=e[38],S}const Ut=["icon","avatar","logo"],Le=["created_at","created_by","id"];function Bt(n){return Object.keys(n).find(e=>Ut.includes(e.toLowerCase()))}function et(n,e){return Object.keys(n.properties||{}).filter(s=>["id","created_at","updated_at","created_by","updated_by"].includes(s)?!1:e?e.includes(s):!0).map(s=>({id:s,label:s.charAt(0).toUpperCase()+s.slice(1).replace(/_/g," ")}))}function Lt(n){const e=ne.c(32),{data:s,schema:d,viewMode:o,onViewModeChange:l,search:a,sortKey:c,sortDirection:f,onSort:i,actions:u,onItemClick:j,headerActions:h,emptyState:m,readOnly:x,columns:y,hideToolbar:C,sortableFields:S}=n,r=l===void 0?Wt:l,g=f===void 0?"asc":f,v=i===void 0?Gt:i;let p;e[0]!==u?(p=u===void 0?{}:u,e[0]=u,e[1]=p):p=e[1];const _=p,b=j===void 0?qt:j,P=h===void 0?null:h,T=m===void 0?null:m,E=x===void 0?!1:x,N=y===void 0?void 0:y,$=C===void 0?!1:C,D=S===void 0?void 0:S;let z;e[2]!==N||e[3]!==d||e[4]!==D?(z=N?N.filter(Vt).filter(k=>!D||D.includes(k.id)).map(Rt):et(d,D),e[2]=N,e[3]=d,e[4]=D,e[5]=z):z=e[5];const K=z;let I;e[6]!==P||e[7]!==$||e[8]!==v||e[9]!==r||e[10]!==g||e[11]!==c||e[12]!==K||e[13]!==o?(I=!$&&t.jsx("div",{className:"shrink-0 w-full border-b border-border h-12",children:t.jsxs("div",{className:"flex items-center gap-3 h-12 px-4",children:[t.jsx("div",{className:"flex items-center gap-2 flex-1",children:P}),t.jsx("div",{className:"flex items-center gap-2 shrink-0",children:t.jsx(Ve,{viewMode:o,onViewModeChange:r,sortKey:c,sortDirection:g,onSort:v,sortOptions:K})})]})}),e[6]=P,e[7]=$,e[8]=v,e[9]=r,e[10]=g,e[11]=c,e[12]=K,e[13]=o,e[14]=I):I=e[14];let A;e[15]!==_||e[16]!==N||e[17]!==s||e[18]!==T||e[19]!==b||e[20]!==v||e[21]!==E||e[22]!==d||e[23]!==a||e[24]!==g||e[25]!==c||e[26]!==D||e[27]!==o?(A=o==="cards"?t.jsx("div",{className:"flex-1 overflow-auto p-5",children:s.length===0?t.jsx("div",{className:"flex items-center justify-center h-full",children:T||t.jsx(Ue,{icon:t.jsx(Be,{size:36,className:"text-muted-foreground"}),title:"No items found",description:a?"Try adjusting your search":"No items to display"})}):t.jsx("div",{className:"grid grid-cols-1 md:grid-cols-3 lg:grid-cols-4 gap-4",children:s.map(k=>t.jsx("div",{onClick:()=>b?.(k),className:"cursor-pointer h-full",children:t.jsx(Et,{item:k,schema:d,readOnly:E,actions:_})},k.id))})}):t.jsx(ht,{columns:Qt(N,d,D,_),data:s,sortKey:c,sortDirection:g,onSort:v,onRowClick:b,emptyState:T||t.jsx(Ue,{icon:t.jsx(Be,{size:36,className:"text-muted-foreground"}),title:"No items found",description:a?"Try adjusting your search":"No items to display"})}),e[15]=_,e[16]=N,e[17]=s,e[18]=T,e[19]=b,e[20]=v,e[21]=E,e[22]=d,e[23]=a,e[24]=g,e[25]=c,e[26]=D,e[27]=o,e[28]=A):A=e[28];let O;return e[29]!==I||e[30]!==A?(O=t.jsxs("div",{className:"h-full flex flex-col overflow-hidden",children:[I,A]}),e[29]=I,e[30]=A,e[31]=O):O=e[31],O}function Rt(n){return{id:n.id,label:typeof n.header=="string"?n.header:n.id}}function Vt(n){return n.sortable!==!1}function qt(){}function Gt(){}function Wt(){}function Ht(n){return{id:"actions",header:"",render:e=>t.jsxs(Ge,{children:[t.jsx(We,{asChild:!0,children:t.jsx(ke,{variant:"ghost",size:"sm",className:"h-8 w-8 p-0",onClick:s=>s.stopPropagation(),children:t.jsx(Qe,{size:20})})}),t.jsxs(He,{align:"end",onClick:s=>s.stopPropagation(),children:[n.open&&t.jsxs(F,{onClick:s=>{s.stopPropagation(),n.open?.(e)},children:[t.jsx(Xe,{size:16}),"Open"]}),n.edit&&t.jsxs(F,{onClick:s=>{s.stopPropagation(),n.edit?.(e)},children:[t.jsx(Ye,{size:16}),"Edit"]}),n.duplicate&&t.jsxs(F,{onClick:s=>{s.stopPropagation(),n.duplicate?.(e)},children:[t.jsx(Je,{size:16}),"Duplicate"]}),n.delete&&t.jsxs(F,{variant:"destructive",onClick:s=>{s.stopPropagation(),n.delete?.(e)},children:[t.jsx(Ze,{size:16}),"Delete"]})]})]}),cellClassName:"w-[60px]",sortable:!1}}function tt(n){const e=n.type;return Array.isArray(e)?e.every(s=>tt({type:s})):e==="string"||e==="number"||e==="integer"||e==="boolean"||e==="null"}function Jt(n,e){const s=n.properties||{},d=Object.keys(s).filter(i=>{const u=s[i];return u&&tt(u)}),o=Bt(s),l=[],a=new Set;o&&d.includes(o)&&(l.push(o),a.add(o));const c=["title","description","updated_at","updated_by"];for(const i of c)d.includes(i)&&!a.has(i)&&(l.push(i),a.add(i));const f=d.filter(i=>!a.has(i)&&!Le.includes(i)).sort((i,u)=>i.localeCompare(u));for(const i of f)l.push(i),a.add(i);for(const i of Le)d.includes(i)&&!a.has(i)&&(l.push(i),a.add(i));return l.map(i=>{const u=s[i],j=e?e.includes(i):!["id"].includes(i);return i===o?{id:i,header:"",render:h=>{const m=h[i];return t.jsx(qe,{icon:m,name:h.title,size:"sm",className:"shrink-0 shadow-sm"})},sortable:!1,cellClassName:"w-16 shrink-0",wrap:!0}:i==="description"?{id:i,header:"Description",render:h=>{const m=h[i];return m==null?"—":t.jsx("span",{className:"block truncate max-w-[50ch]",children:String(m)})},sortable:j,cellClassName:"max-w-[50ch]"}:i==="created_by"||i==="updated_by"?{id:i,header:i.charAt(0).toUpperCase()+i.slice(1).replace(/_/g," "),render:h=>{const m=h[i];return m?t.jsx(Mt,{id:String(m),size:"xs"}):"—"},sortable:j,cellClassName:"max-w-[250px]"}:u?.format==="date-time"||i.endsWith("_at")?{id:i,header:i.charAt(0).toUpperCase()+i.slice(1).replace(/_/g," "),render:h=>{const m=h[i];return m?t.jsx("span",{className:"block truncate max-w-full",children:new Date(m).toLocaleDateString()}):"—"},sortable:j,cellClassName:"max-w-[200px]"}:{id:i,header:i.charAt(0).toUpperCase()+i.slice(1).replace(/_/g," "),render:h=>{const m=h[i];return m==null?"—":t.jsx("span",{className:"block truncate max-w-full",children:String(m)})},sortable:j,cellClassName:"max-w-[200px]"}})}function Qt(n,e,s,d){const o=n||Jt(e,s);return o.some(c=>c.id==="actions")?o:Object.keys(d).length>0?[...o,Ht(d)]:o}function ws(n){const e=ne.c(117),{connectionId:s,org:d,activeCollection:o}=n,l=o.name,a=o.schema??bt,c=o.hasCreateTool,f=o.hasUpdateTool,i=o.hasDeleteTool,u=lt(),h=rt().location.href,{data:m}=at.useSession(),x=m?.user?.id||"unknown",y=jt(s);let C;e[0]!==s?(C=Re(s),e[0]=s,e[1]=C):C=e[1];const S=C,r=Ct(s,l,S),g=`${s}-${l}`;let v;e[2]!==d||e[3]!==g?(v={namespace:d,resource:g,defaultSortKey:"updated_at"},e[2]=d,e[3]=g,e[4]=v):v=e[4];const{search:p,searchTerm:_,setSearch:b,viewMode:P,setViewMode:T,sortKey:E,sortDirection:N,handleSort:$}=pt(v);let D;e[5]!==_||e[6]!==N||e[7]!==E?(D={searchTerm:_,sortKey:E,sortDirection:N},e[5]=_,e[6]=N,e[7]=E,e[8]=D):D=e[8];const z=vt(s,l,S,D),K=!c&&!f&&!i;let I;e[9]!==l||e[10]!==s||e[11]!==u||e[12]!==d?(I=w=>{u({to:"/$org/mcps/$connectionId/$collectionName/$itemId",params:{org:d,connectionId:s,collectionName:l,itemId:w.id}})},e[9]=l,e[10]=s,e[11]=u,e[12]=d,e[13]=I):I=e[13];const A=I;let O;e[14]!==r.create||e[15]!==x?(O=async w=>{const he=new Date().toISOString();await r.create.mutateAsync({...w,id:Me("conn"),title:`${w.title} (Copy)`,created_at:he,updated_at:he,created_by:x,updated_by:x})},e[14]=r.create,e[15]=x,e[16]=O):O=e[16];const k=O,[M,xe]=ct.useState(null);let le;e[17]===Symbol.for("react.memo_cache_sentinel")?(le=w=>{xe(w)},e[17]=le):le=e[17];const st=le;let U;e[18]!==A||e[19]!==f?(U=f&&{edit:A},e[18]=A,e[19]=f,e[20]=U):U=e[20];let B;e[21]!==k||e[22]!==c?(B=c&&{duplicate:k},e[21]=k,e[22]=c,e[23]=B):B=e[23];let L;e[24]!==i?(L=i&&{delete:st},e[24]=i,e[25]=L):L=e[25];let re;e[26]!==L||e[27]!==U||e[28]!==B?(re={...U,...B,...L},e[26]=L,e[27]=U,e[28]=B,e[29]=re):re=e[29];const ge=re;let ae;e[30]!==r.delete||e[31]!==M?(ae=async()=>{M&&(await r.delete.mutateAsync(M.id),xe(null))},e[30]=r.delete,e[31]=M,e[32]=ae):ae=e[32];const je=ae;let ce;e[33]!==r.create||e[34]!==l||e[35]!==s||e[36]!==c||e[37]!==u||e[38]!==d||e[39]!==x?(ce=async()=>{if(!c){dt.error("Create operation is not available for this collection");return}const w=new Date().toISOString(),he={id:Me("conn"),title:"New Item",description:"A brief description of the item",created_at:w,updated_at:w,created_by:x,updated_by:x};try{const Ee=await r.create.mutateAsync(he);u({to:"/$org/mcps/$connectionId/$collectionName/$itemId",params:{org:d,connectionId:s,collectionName:l,itemId:Ee.id}})}catch(Ee){console.error("Failed to create item:",Ee)}},e[33]=r.create,e[34]=l,e[35]=s,e[36]=c,e[37]=u,e[38]=d,e[39]=x,e[40]=ce):ce=e[40];const Ce=ce;let de;e[41]!==a?(de=et(a),e[41]=a,e[42]=de):de=e[42];const ve=de,Fe=(z?.length??0)>0,it=c&&Fe,ot=c&&!Fe&&!p;let me;e[43]!==r.create||e[44]!==Ce||e[45]!==c?(me=c?t.jsxs(ke,{onClick:Ce,size:"sm",disabled:r.create.isPending,className:"h-7",children:[t.jsx(It,{className:"mr-2 h-4 w-4"}),r.create.isPending?"Creating...":"Create"]}):null,e[43]=r.create,e[44]=Ce,e[45]=c,e[46]=me):me=e[46];const Ke=me,be=E;let R;e[47]!==$||e[48]!==T||e[49]!==N||e[50]!==ve||e[51]!==be||e[52]!==P?(R=t.jsx(Ve,{viewMode:P,onViewModeChange:T,sortKey:be,sortDirection:N,onSort:$,sortOptions:ve}),e[47]=$,e[48]=T,e[49]=N,e[50]=ve,e[51]=be,e[52]=P,e[53]=R):R=e[53];const ye=`${l}s`,Ne=y?.icon??"grid_view";let V;e[54]!==ye||e[55]!==Ne||e[56]!==h?(V=t.jsx(gt,{title:ye,url:h,icon:Ne}),e[54]=ye,e[55]=Ne,e[56]=h,e[57]=V):V=e[57];const we=it&&Ke;let q;e[58]!==R||e[59]!==V||e[60]!==we?(q=t.jsxs(Pt,{children:[R,V,we]}),e[58]=R,e[59]=V,e[60]=we,e[61]=q):q=e[61];const Se=`Search ${l}...`;let G;e[62]!==b?(G=w=>{w.key==="Escape"&&(b(""),w.target.blur())},e[62]=b,e[63]=G):G=e[63];let W;e[64]!==p||e[65]!==b||e[66]!==Se||e[67]!==G?(W=t.jsx(mt,{value:p,onChange:b,placeholder:Se,onKeyDown:G}),e[64]=p,e[65]=b,e[66]=Se,e[67]=G,e[68]=W):W=e[68];let H;e[69]!==z?(H=z??[],e[69]=z,e[70]=H):H=e[70];const _e=E;let J;e[71]!==A?(J=w=>A(w),e[71]=A,e[72]=J):J=e[72];const De="No items found",Ae=p?"Try adjusting your search terms":"This collection doesn't have any items yet.",Te=ot?Ke:void 0;let Q;e[73]!==De||e[74]!==Ae||e[75]!==Te?(Q=t.jsx(ut,{image:null,title:De,description:Ae,actions:Te}),e[73]=De,e[74]=Ae,e[75]=Te,e[76]=Q):Q=e[76];let Y;e[77]!==$||e[78]!==K||e[79]!==ge||e[80]!==a||e[81]!==p||e[82]!==b||e[83]!==T||e[84]!==N||e[85]!==H||e[86]!==_e||e[87]!==J||e[88]!==Q||e[89]!==P?(Y=t.jsx("div",{className:"flex-1 overflow-auto",children:t.jsx(Lt,{hideToolbar:!0,data:H,schema:a,viewMode:P,onViewModeChange:T,search:p,onSearchChange:b,sortKey:_e,sortDirection:N,onSort:$,actions:ge,onItemClick:J,readOnly:K,emptyState:Q})}),e[77]=$,e[78]=K,e[79]=ge,e[80]=a,e[81]=p,e[82]=b,e[83]=T,e[84]=N,e[85]=H,e[86]=_e,e[87]=J,e[88]=Q,e[89]=P,e[90]=Y):Y=e[90];let X;e[91]!==W||e[92]!==Y?(X=t.jsxs("div",{className:"flex flex-col h-full overflow-hidden",children:[W,Y]}),e[91]=W,e[92]=Y,e[93]=X):X=e[93];const Ie=!!M;let fe;e[94]===Symbol.for("react.memo_cache_sentinel")?(fe=w=>{w||xe(null)},e[94]=fe):fe=e[94];let ue;e[95]===Symbol.for("react.memo_cache_sentinel")?(ue=t.jsx(wt,{children:"Delete item?"}),e[95]=ue):ue=e[95];const Pe=M?.title;let Z;e[96]!==Pe?(Z=t.jsxs(St,{children:[ue,t.jsxs(_t,{children:['Are you sure you want to delete "',Pe,'"? This action cannot be undone.']})]}),e[96]=Pe,e[97]=Z):Z=e[97];let ee;e[98]!==r.delete.isPending?(ee=t.jsx(yt,{disabled:r.delete.isPending,children:"Cancel"}),e[98]=r.delete.isPending,e[99]=ee):ee=e[99];const $e=r.delete.isPending?"Deleting...":"Delete";let te;e[100]!==r.delete.isPending||e[101]!==je||e[102]!==$e?(te=t.jsx(Nt,{onClick:je,disabled:r.delete.isPending,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:$e}),e[100]=r.delete.isPending,e[101]=je,e[102]=$e,e[103]=te):te=e[103];let se;e[104]!==ee||e[105]!==te?(se=t.jsxs(Dt,{children:[ee,te]}),e[104]=ee,e[105]=te,e[106]=se):se=e[106];let ie;e[107]!==Z||e[108]!==se?(ie=t.jsxs(At,{children:[Z,se]}),e[107]=Z,e[108]=se,e[109]=ie):ie=e[109];let oe;e[110]!==Ie||e[111]!==ie?(oe=t.jsx(Tt,{open:Ie,onOpenChange:fe,children:ie}),e[110]=Ie,e[111]=ie,e[112]=oe):oe=e[112];let pe;return e[113]!==q||e[114]!==X||e[115]!==oe?(pe=t.jsxs(t.Fragment,{children:[q,X,oe]}),e[113]=q,e[114]=X,e[115]=oe,e[116]=pe):pe=e[116],pe}export{ws as C};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as g,j as o}from"./index-
|
|
1
|
+
import{c as g,j as o}from"./index-CRvHJTW7.js";import{c as u}from"./button-BdSVK2Y9.js";import{n as T}from"./collection-display-button-DYQdZVaC.js";import{i as $}from"./ArrowUp-BdwrcvLj.js";function R(a){const e=g.c(8);let t,s;e[0]!==a?({className:t,...s}=a,e[0]=a,e[1]=t,e[2]=s):(t=e[1],s=e[2]);let l;e[3]!==t?(l=u("w-full caption-bottom text-sm min-w-0",t),e[3]=t,e[4]=l):l=e[4];let r;return e[5]!==s||e[6]!==l?(r=o.jsx("div",{"data-slot":"table-container",className:"relative w-full min-w-0",children:o.jsx("table",{"data-slot":"table",className:l,...s})}),e[5]=s,e[6]=l,e[7]=r):r=e[7],r}function H(a){const e=g.c(8);let t,s;e[0]!==a?({className:t,...s}=a,e[0]=a,e[1]=t,e[2]=s):(t=e[1],s=e[2]);let l;e[3]!==t?(l=u("[&_tr]:border-b",t),e[3]=t,e[4]=l):l=e[4];let r;return e[5]!==s||e[6]!==l?(r=o.jsx("thead",{"data-slot":"table-header",className:l,...s}),e[5]=s,e[6]=l,e[7]=r):r=e[7],r}function L(a){const e=g.c(8);let t,s;e[0]!==a?({className:t,...s}=a,e[0]=a,e[1]=t,e[2]=s):(t=e[1],s=e[2]);let l;e[3]!==t?(l=u("[&_tr:last-child]:border-0",t),e[3]=t,e[4]=l):l=e[4];let r;return e[5]!==s||e[6]!==l?(r=o.jsx("tbody",{"data-slot":"table-body",className:l,...s}),e[5]=s,e[6]=l,e[7]=r):r=e[7],r}function S(a){const e=g.c(8);let t,s;e[0]!==a?({className:t,...s}=a,e[0]=a,e[1]=t,e[2]=s):(t=e[1],s=e[2]);let l;e[3]!==t?(l=u("data-[state=selected]:bg-muted border-b transition-colors",t),e[3]=t,e[4]=l):l=e[4];let r;return e[5]!==s||e[6]!==l?(r=o.jsx("tr",{"data-slot":"table-row",className:l,...s}),e[5]=s,e[6]=l,e[7]=r):r=e[7],r}function z(a){const e=g.c(8);let t,s;e[0]!==a?({className:t,...s}=a,e[0]=a,e[1]=t,e[2]=s):(t=e[1],s=e[2]);let l;e[3]!==t?(l=u("text-foreground h-10 px-2 text-left align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",t),e[3]=t,e[4]=l):l=e[4];let r;return e[5]!==s||e[6]!==l?(r=o.jsx("th",{"data-slot":"table-head",className:l,...s}),e[5]=s,e[6]=l,e[7]=r):r=e[7],r}function D(a){const e=g.c(8);let t,s;e[0]!==a?({className:t,...s}=a,e[0]=a,e[1]=t,e[2]=s):(t=e[1],s=e[2]);let l;e[3]!==t?(l=u("p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",t),e[3]=t,e[4]=l):l=e[4];let r;return e[5]!==s||e[6]!==l?(r=o.jsx("td",{"data-slot":"table-cell",className:l,...s}),e[5]=s,e[6]=l,e[7]=r):r=e[7],r}function E(a){const e=g.c(29),{columns:t,data:s,sortKey:l,sortDirection:r,onSort:f,onRowClick:c,rowClassName:x}=a;let h;e[0]!==r?(h=function(n,N){return o.jsx("div",{className:"w-4 flex items-center justify-center",children:N&&r&&(r==="asc"?o.jsx($,{size:16,className:"text-muted-foreground transition-colors"}):o.jsx(T,{size:16,className:"text-muted-foreground transition-colors"}))})},e[0]=r,e[1]=h):h=e[1];const w=h;let p;e[2]===Symbol.for("react.memo_cache_sentinel")?(p=function(n,N){let C="px-4 py-2 text-left font-mono font-normal text-muted-foreground text-xs h-9 uppercase tracking-wider";return n===N-1&&(C="px-4 py-2 text-left font-mono font-normal text-muted-foreground text-xs h-9 uppercase tracking-wider w-8"),C},e[2]=p):p=e[2];const i=p;let d;if(e[3]!==t||e[4]!==f||e[5]!==w||e[6]!==l){let m;e[8]!==t.length||e[9]!==f||e[10]!==w||e[11]!==l?(m=(n,N)=>{const C=l===n.id;return o.jsx(z,{className:u(i(N,t.length),"group transition-colors select-none",n.sortable&&"hover:bg-accent cursor-pointer",n.rowClassName,n.cellClassName),onClick:n.sortable&&f?()=>f(n.id):void 0,children:o.jsxs("span",{className:"flex items-center gap-1",children:[n.header,n.sortable&&w(n.id,C)]})},n.id)},e[8]=t.length,e[9]=f,e[10]=w,e[11]=l,e[12]=m):m=e[12],d=t.map(m),e[3]=t,e[4]=f,e[5]=w,e[6]=l,e[7]=d}else d=e[7];let j;e[13]!==d?(j=o.jsx(H,{className:"sticky top-0 z-10 border-b-0 bg-muted/30",children:o.jsx(S,{className:"h-9 hover:bg-transparent border-b border-border",children:d})}),e[13]=d,e[14]=j):j=e[14];let v;if(e[15]!==t||e[16]!==s||e[17]!==c||e[18]!==x){let m;e[20]!==t||e[21]!==c||e[22]!==x?(m=(n,N)=>{const C=x?.(n);return o.jsx(S,{"data-row-index":N,className:u("group/data-row transition-colors border-b-0 hover:bg-accent/50",c?"cursor-pointer":"",C),onClick:c?()=>c(n):void 0,children:t.map(b=>o.jsx(D,{className:u("px-5 py-4 h-16 align-middle text-sm text-foreground",b.cellClassName,b.wrap?"whitespace-normal wrap-break-word":""),children:o.jsx("div",{className:u(b.wrap?"w-full":"min-w-0 w-full",!b.wrap&&"truncate overflow-hidden whitespace-nowrap"),children:b.render?b.render(n):b.accessor?b.accessor(n):null})},b.id))},N)},e[20]=t,e[21]=c,e[22]=x,e[23]=m):m=e[23],v=s.map(m),e[15]=t,e[16]=s,e[17]=c,e[18]=x,e[19]=v}else v=e[19];let y;e[24]!==v?(y=o.jsx(L,{children:v}),e[24]=v,e[25]=y):y=e[25];let k;return e[26]!==j||e[27]!==y?(k=o.jsx("div",{className:"w-full bg-background min-w-0",children:o.jsxs(R,{className:"w-full border-collapse",children:[j,y]})}),e[26]=j,e[27]=y,e[28]=k):k=e[28],k}function W(a){const e=g.c(12),{columns:t,data:s,isLoading:l,sortKey:r,sortDirection:f,onSort:c,onRowClick:x,emptyState:h}=a;if(l===void 0?!1:l){let i;return e[0]===Symbol.for("react.memo_cache_sentinel")?(i=o.jsx("div",{className:"flex items-center justify-center h-full",children:o.jsx("div",{className:"text-muted-foreground",children:"Loading..."})}),e[0]=i):i=e[0],i}if(s.length===0){let i;e[1]!==h?(i=h||o.jsx("div",{className:"text-center py-12 text-muted-foreground",children:"No items found"}),e[1]=h,e[2]=i):i=e[2];let d;return e[3]!==i?(d=o.jsx("div",{className:"flex items-center justify-center h-full",children:i}),e[3]=i,e[4]=d):d=e[4],d}let p;return e[5]!==t||e[6]!==s||e[7]!==x||e[8]!==c||e[9]!==f||e[10]!==r?(p=o.jsx("div",{className:"flex-1 overflow-auto",children:o.jsx(E,{columns:t,data:s,sortKey:r,sortDirection:f,onSort:c,onRowClick:x})}),e[5]=t,e[6]=s,e[7]=x,e[8]=c,e[9]=f,e[10]=r,e[11]=p):p=e[11],p}export{W as C};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as b,y as r,_ as d,I as a,z as e,J as n,
|
|
1
|
+
import{r as b,y as r,_ as d,I as a,z as e,J as n,aE as s,aI as m}from"./index-CRvHJTW7.js";b.createContext(void 0);const h="UNKNOWN_CONNECTION_ID",_=async o=>{const i=(await o.text()).split(`
|
|
2
2
|
`).find(t=>t.startsWith("data: "));if(!i)throw new Error("No data received from the server");return JSON.parse(i.replace("data: ",""))};function w(o){if(o===h)return(async()=>{});const l=o?`/mcp/${o}`:"/mcp";return async(i,u)=>{const t=await fetch(l,{method:"POST",body:JSON.stringify({jsonrpc:"2.0",id:1,method:"tools/call",params:{name:i,arguments:u}}),headers:{"Content-Type":"application/json",Accept:"application/json, text/event-stream"},credentials:"include"});if(!t.ok)throw new Error(`HTTP error! status: ${t.status}`);const c=(t.headers.get("Content-Type")??"").startsWith("application/json")?await t.json():await _(t);if(c.result?.isError)throw new Error(c.result.content?.[0]?.text||"Tool call failed");return c.result?.structuredContent||c.result}}const f=r({authorizationEndpoint:e().url(),tokenEndpoint:e().url(),introspectionEndpoint:e().url().optional(),clientId:e(),clientSecret:e().optional(),scopes:a(e()),grantType:d(["authorization_code","client_credentials"])}),g=r({name:e(),description:e().optional(),inputSchema:n(e(),s()),outputSchema:n(e(),s()).optional()}),T=r({headers:n(e(),e()).optional()}),y=r({command:e().describe("Command to run (e.g., 'npx', 'node')"),args:a(e()).optional().describe("Command arguments"),cwd:e().optional().describe("Working directory"),envVars:n(e(),e()).optional().describe("Environment variables (encrypted in storage)")}),p=r({id:e().describe("Unique identifier for the connection"),title:e().describe("Human-readable name for the connection"),created_at:e().describe("When the connection was created"),updated_at:e().describe("When the connection was last updated"),created_by:e().describe("User ID who created the connection"),updated_by:e().optional().describe("User ID who last updated the connection"),organization_id:e().describe("Organization ID this connection belongs to"),description:e().nullable().describe("Description of the connection"),icon:e().nullable().describe("Icon URL for the connection"),app_name:e().nullable().describe("Associated app name"),app_id:e().nullable().describe("Associated app ID"),connection_type:d(["HTTP","SSE","Websocket","STDIO"]).describe("Type of connection"),connection_url:e().nullable().describe("URL for HTTP/SSE/WebSocket connections. Null for STDIO."),connection_token:e().nullable().describe("Authentication token (for HTTP connections)"),connection_headers:m([y,T]).nullable().describe("Connection parameters. HTTP: { headers }. STDIO: { command, args, cwd, envVars }"),oauth_config:f.nullable().describe("OAuth configuration"),configuration_state:n(e(),s()).nullable().describe("Configuration state (decrypted)"),configuration_scopes:a(e()).nullable().optional().describe("Configuration scopes"),metadata:n(e(),s()).nullable().describe("Additional metadata (includes repository info)"),tools:a(g).nullable().describe("Discovered tools from MCP"),bindings:a(e()).nullable().describe("Detected bindings"),status:d(["active","inactive","error"]).describe("Current status")});p.omit({created_at:!0,updated_at:!0,created_by:!0,updated_by:!0,organization_id:!0,tools:!0,bindings:!0,status:!0}).partial({id:!0,description:!0,icon:!0,app_name:!0,app_id:!0,connection_url:!0,connection_token:!0,connection_headers:!0,oauth_config:!0,configuration_state:!0,configuration_scopes:!0,metadata:!0});p.partial();export{h as U,w as c};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as S,j as s}from"./index-
|
|
1
|
+
import{c as S,j as s}from"./index-CRvHJTW7.js";import{C as _}from"./card-CS2qDNmL.js";import{c as j}from"./button-BdSVK2Y9.js";import{I as A}from"./empty-state-BU13D_5m.js";function H(h){const e=S.c(40),{connection:t,onClick:g,headerActions:v,footer:C,className:k,size:R,fallbackIcon:z}=h,b=R===void 0?"md":R,y=b==="sm"?"p-4":"p-6",I=b==="sm"?"text-sm":"text-base",w=b==="sm"?"text-xs":"text-sm",E=g&&"hover:bg-muted/50";let i;e[0]!==k||e[1]!==E?(i=j("cursor-pointer transition-colors group",E,k),e[0]=k,e[1]=E,e[2]=i):i=e[2];let l;e[3]!==y?(l=j("flex flex-col gap-4 relative",y),e[3]=y,e[4]=l):l=e[4];let o;e[5]!==t.icon||e[6]!==t.title||e[7]!==z?(o=s.jsx(A,{icon:t.icon,name:t.title,size:"md",className:"shrink-0 shadow-sm",fallbackIcon:z}),e[5]=t.icon,e[6]=t.title,e[7]=z,e[8]=o):o=e[8];let n;e[9]!==v?(n=v&&s.jsx("div",{className:j("transition-opacity","opacity-0 group-hover:opacity-100"),onClick:q,children:v}),e[9]=v,e[10]=n):n=e[10];let c;e[11]!==n?(c=s.jsx("div",{className:"relative",children:n}),e[11]=n,e[12]=c):c=e[12];let r;e[13]!==o||e[14]!==c?(r=s.jsxs("div",{className:"flex items-start justify-between",children:[o,c]}),e[13]=o,e[14]=c,e[15]=r):r=e[15];let a;e[16]!==I?(a=j("font-medium text-foreground truncate",I),e[16]=I,e[17]=a):a=e[17];let m;e[18]!==t.title||e[19]!==a?(m=s.jsx("h3",{className:a,children:t.title}),e[18]=t.title,e[19]=a,e[20]=m):m=e[20];let d;e[21]!==w?(d=j("text-muted-foreground line-clamp-2",w),e[21]=w,e[22]=d):d=e[22];const P=t.description||"No description";let f;e[23]!==d||e[24]!==P?(f=s.jsx("p",{className:d,children:P}),e[23]=d,e[24]=P,e[25]=f):f=e[25];let p;e[26]!==m||e[27]!==f?(p=s.jsxs("div",{className:"flex flex-col gap-0",children:[m,f]}),e[26]=m,e[27]=f,e[28]=p):p=e[28];let x;e[29]!==C?(x=C&&s.jsx("div",{onClick:$,children:C}),e[29]=C,e[30]=x):x=e[30];let u;e[31]!==p||e[32]!==x||e[33]!==l||e[34]!==r?(u=s.jsxs("div",{className:l,children:[r,p,x]}),e[31]=p,e[32]=x,e[33]=l,e[34]=r,e[35]=u):u=e[35];let N;return e[36]!==g||e[37]!==u||e[38]!==i?(N=s.jsx(_,{className:i,onClick:g,children:u}),e[36]=g,e[37]=u,e[38]=i,e[39]=N):N=e[39],N}function $(h){return h.stopPropagation()}function q(h){return h.stopPropagation()}export{H as C};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{c as q,j as o,f as W,k as J,r as z,d as ce,b as ae,af as le}from"./index-CRvHJTW7.js";import{E as F,I as Q}from"./empty-state-BU13D_5m.js";import{E as X}from"./error-boundary-vxKcv_5V.js";import{b as G,a as me}from"./use-connection-BdE78hZ6.js";import{a as de}from"./use-binding-CPgE3BWS.js";import{u as ue,S as pe}from"./index-uCF3-oVs.js";import{u as fe,a as he}from"./use-connection-resources-BfpTQVnT.js";import{B as xe}from"./button-BdSVK2Y9.js";import{i as Y}from"./Loading01-Cylg3-_j.js";import{R as ge}from"./resource-tabs-CXiDC84e.js";import{V as Z,a as be,b as je}from"./layout-73cB5ydN.js";import{C as ye}from"./collection-tab-DDZ2Ixb6.js";import{C as ee}from"./collection-display-button-DYQdZVaC.js";import{C as te}from"./collection-search-fNZmcrVl.js";import{C as oe}from"./collection-table-wrapper-CyayHVF2.js";import{P as se}from"./pin-to-sidebar-button-C-Z1z0zw.js";import{C as ne}from"./card-CS2qDNmL.js";import{R as Se,T as Ce}from"./tools-list-Dt72BK-a.js";import"./connection-BQ8tHXWt.js";import"./project-context-provider-BOp7y-sm.js";import"./use-collections-B9erc3lD.js";import"./useMutation-AON1uiHs.js";import"./binder-DyJ0n4d5.js";import"./mcp-oauth-CbqmzlCO.js";import"./env-vars-editor-BRNWnsg6.js";import"./input-LAgwngta.js";import"./Plus-wyZMrN65.js";import"./Trash01-DAF4JR6x.js";import"./use-tool-call-TbtZFKnf.js";import"./useQuery-Bvq31XvZ.js";import"./File06-Dr-pZoRh.js";import"./Key01-PlcAfeux.js";import"./badge-DRhtTp4k.js";import"./form-ma_v39Z5.js";import"./select-CQxwh50L.js";import"./tooltip-CE9zYFg3.js";import"./Check-DJs0YqZi.js";import"./ChevronDown-BHw4CEHT.js";import"./extract-connection-data-CinkvG5b.js";import"./constants-CQ9jNG-d.js";import"./github-icon-Dp3wHhYE.js";import"./registry-utils-DfaYKsYd.js";import"./generate-id-Dyweu44Y.js";import"./Terminal-DvzUlVBL.js";import"./use-virtual-mcp-BnJrA4bQ.js";import"./Grid01-DfwQCcJX.js";import"./index-C4mGuHAC.js";import"./index-cqIglj_S.js";import"./index-CQIgeebv.js";import"./X-C1UdIYIh.js";import"./use-virtual-mcp-system-prompt-DpDoqfDG.js";import"./localstorage-keys-DHv4MWFb.js";import"./popover-DxBUoQOr.js";import"./Image01-5jKR96Lo.js";import"./SearchMd-BOjdxcEh.js";import"./use-create-virtual-mcp-C5Hckkr_.js";import"./spinner-B1_J8xfL.js";import"./dialog-8xt9wG3a.js";import"./AlertCircle-dEcHwNvu.js";import"./ArrowUp-BdwrcvLj.js";import"./Edit01-C3hV44dM.js";import"./Upload01-6Rm3aV0f.js";import"./Copy01-BxNbv5WX.js";import"./monaco-editor-DMkLPPQN.js";import"./alert-dialog-DrfswxC3.js";import"./well-known-mcp-DOEdYmKO.js";import"./ArrowLeft-eZvzO76t.js";import"./dropdown-menu-DqYEi1G5.js";import"./DotsVertical-D7K0CcQb.js";import"./use-list-state-TVJ_6wgx.js";import"./use-mobile-bGvEd-ta.js";import"./empty-state-CiuhUK_-.js";import"./Inbox01-Buki2Nma.js";import"./avatar-1eewp_9T.js";import"./List-i3XXXryR.js";import"./view-mode-toggle-CKrW8N1p.js";import"./use-organization-settings-BamfW6UJ.js";function ve(t){const e=q.c(42),{prompts:r,connectionId:n,org:s,connectionTitle:a,connectionIcon:f,onPromptClick:j,showToolbar:g,emptyMessage:N}=t,V=g===void 0?!0:g,L=N===void 0?"This connection doesn't have any prompts yet.":N,p=W(),y=J().location.href,[l,i]=z.useState(""),[w,m]=z.useState("table"),[h,R]=z.useState("name"),[u,_]=z.useState("asc");let b;e[0]!==u||e[1]!==h?(b=x=>{h===x?(_(Ie),u==="desc"&&R(void 0)):(R(x),_("asc"))},e[0]=u,e[1]=h,e[2]=b):b=e[2];const T=b;let P;e[3]!==n||e[4]!==p||e[5]!==j||e[6]!==s?(P=x=>{j?j(x):n&&s&&p({to:"/$org/mcps/$connectionId/$collectionName/$itemId",params:{org:s,connectionId:n,collectionName:"prompts",itemId:encodeURIComponent(x.name)}})},e[3]=n,e[4]=p,e[5]=j,e[6]=s,e[7]=P):P=e[7];const M=P;let O;if(e[8]!==r||e[9]!==l||e[10]!==u||e[11]!==h){const x=!r||r.length===0?[]:l.trim()?(()=>{const S=l.toLowerCase();return r.filter(B=>B.name.toLowerCase().includes(S)||B.description&&B.description.toLowerCase().includes(S))})():r;O=!h||!u?x:[...x].sort((S,B)=>{const re=S[h]||"",ie=B[h]||"",H=String(re).localeCompare(String(ie));return u==="asc"?H:-H}),e[8]=r,e[9]=l,e[10]=u,e[11]=h,e[12]=O}else O=e[12];const d=O;let K;e[13]===Symbol.for("react.memo_cache_sentinel")?(K=[{id:"name",header:"Name",render:$e,sortable:!0},{id:"description",header:"Description",render:Te,cellClassName:"flex-1",sortable:!0}],e[13]=K):K=e[13];const A=K;let E;e[14]===Symbol.for("react.memo_cache_sentinel")?(E=A.filter(we).map(Ne),e[14]=E):E=e[14];const D=E;let $;e[15]!==f||e[16]!==a||e[17]!==T||e[18]!==V||e[19]!==u||e[20]!==h||e[21]!==y||e[22]!==w?($=V&&o.jsxs(Z,{children:[o.jsx(ee,{viewMode:w,onViewModeChange:m,sortKey:h,sortDirection:u,onSort:T,sortOptions:D}),o.jsx(se,{title:a?`${a}: Prompts`:"Prompts",url:y,icon:f??"description"})]}),e[15]=f,e[16]=a,e[17]=T,e[18]=V,e[19]=u,e[20]=h,e[21]=y,e[22]=w,e[23]=$):$=e[23];let I;e[24]===Symbol.for("react.memo_cache_sentinel")?(I=x=>{x.key==="Escape"&&(i(""),x.target.blur())},e[24]=I):I=e[24];let k;e[25]!==l?(k=o.jsx(te,{value:l,onChange:i,placeholder:"Search prompts...",onKeyDown:I}),e[25]=l,e[26]=k):k=e[26];let c;e[27]!==L||e[28]!==M||e[29]!==T||e[30]!==l||e[31]!==u||e[32]!==h||e[33]!==d||e[34]!==w?(c=w==="cards"?o.jsx("div",{className:"flex-1 overflow-auto p-5",children:d.length===0?o.jsx(F,{image:null,title:l?"No prompts found":"No prompts available",description:l?"Try adjusting your search terms":L}):o.jsx("div",{className:"grid grid-cols-1 md:grid-cols-3 lg:grid-cols-4 gap-4",children:d.map(x=>o.jsx(ne,{className:"cursor-pointer transition-colors",onClick:()=>M(x),children:o.jsxs("div",{className:"flex flex-col gap-4 p-6",children:[o.jsx(Q,{icon:null,name:x.name,size:"md",className:"shrink-0 shadow-sm"}),o.jsxs("div",{className:"flex flex-col gap-0",children:[o.jsx("h3",{className:"text-base font-medium text-foreground truncate",children:x.name}),o.jsx("p",{className:"text-base text-muted-foreground line-clamp-2",children:x.description||"No description"})]})]})},x.name))})}):o.jsx(oe,{columns:A,data:d,isLoading:!1,sortKey:h,sortDirection:u,onSort:T,onRowClick:x=>M(x),emptyState:o.jsx(F,{image:null,title:l?"No prompts found":"No prompts available",description:l?"Try adjusting your search terms":L})}),e[27]=L,e[28]=M,e[29]=T,e[30]=l,e[31]=u,e[32]=h,e[33]=d,e[34]=w,e[35]=c):c=e[35];let C;e[36]!==k||e[37]!==c?(C=o.jsxs("div",{className:"flex flex-col h-full overflow-hidden",children:[k,c]}),e[36]=k,e[37]=c,e[38]=C):C=e[38];let v;return e[39]!==C||e[40]!==$?(v=o.jsxs(o.Fragment,{children:[$,C]}),e[39]=C,e[40]=$,e[41]=v):v=e[41],v}function Ne(t){return{id:t.id,label:typeof t.header=="string"?t.header:t.id}}function we(t){return t.sortable}function Te(t){return o.jsx("span",{className:"text-sm text-foreground",children:t.description||"—"})}function $e(t){return o.jsx("span",{className:"text-sm font-medium font-mono text-foreground",children:t.name})}function Ie(t){return t==="asc"?"desc":t==="desc"?null:"asc"}function ke(t){const e=q.c(6),{prompts:r,connectionId:n,org:s}=t,a=G(n),f=a?.title,j=a?.icon;let g;return e[0]!==n||e[1]!==s||e[2]!==r||e[3]!==f||e[4]!==j?(g=o.jsx(ve,{prompts:r,connectionId:n,org:s,connectionTitle:f,connectionIcon:j}),e[0]=n,e[1]=s,e[2]=r,e[3]=f,e[4]=j,e[5]=g):g=e[5],g}function Re(t){const e=q.c(2),{repository:r}=t;let n;return e[0]!==r?(n=o.jsx("div",{className:"flex-1 overflow-y-auto bg-background",children:o.jsx(Se,{repository:r})}),e[0]=r,e[1]=n):n=e[1],n}function _e(t){const e=q.c(39),{resources:r,connectionTitle:n,connectionIcon:s,onResourceClick:a,showToolbar:f,emptyMessage:j}=t,g=f===void 0?!0:f,N=j===void 0?"This connection doesn't have any resources yet.":j,L=J().location.href,[p,U]=z.useState(""),[y,l]=z.useState("table"),[i,w]=z.useState("name"),[m,h]=z.useState("asc");let R;e[0]!==m||e[1]!==i?(R=c=>{i===c?(h(De),m==="desc"&&w(void 0)):(w(c),h("asc"))},e[0]=m,e[1]=i,e[2]=R):R=e[2];const u=R;let _;e[3]!==a?(_=c=>{a&&a(c)},e[3]=a,e[4]=_):_=e[4];const b=_;let T;if(e[5]!==r||e[6]!==p||e[7]!==m||e[8]!==i){const c=!r||r.length===0?[]:p.trim()?(()=>{const C=p.toLowerCase();return r.filter(v=>v.uri.toLowerCase().includes(C)||v.name&&v.name.toLowerCase().includes(C)||v.description&&v.description.toLowerCase().includes(C))})():r;T=!i||!m?c:[...c].sort((C,v)=>{const x=C[i]||"",S=v[i]||"",B=String(x).localeCompare(String(S));return m==="asc"?B:-B}),e[5]=r,e[6]=p,e[7]=m,e[8]=i,e[9]=T}else T=e[9];const P=T;let M;e[10]===Symbol.for("react.memo_cache_sentinel")?(M=[{id:"name",header:"Name",render:Me,sortable:!0},{id:"uri",header:"URI",render:Ee,sortable:!0},{id:"description",header:"Description",render:Ae,cellClassName:"flex-1",sortable:!0},{id:"mimeType",header:"Type",render:Le,sortable:!0}],e[10]=M):M=e[10];const O=M;let d;e[11]===Symbol.for("react.memo_cache_sentinel")?(d=O.filter(Ve).map(Pe),e[11]=d):d=e[11];const K=d;let A;e[12]!==s||e[13]!==n||e[14]!==u||e[15]!==g||e[16]!==m||e[17]!==i||e[18]!==L||e[19]!==y?(A=g&&o.jsxs(Z,{children:[o.jsx(ee,{viewMode:y,onViewModeChange:l,sortKey:i,sortDirection:m,onSort:u,sortOptions:K}),o.jsx(se,{title:n?`${n}: Resources`:"Resources",url:L,icon:s??"folder"})]}),e[12]=s,e[13]=n,e[14]=u,e[15]=g,e[16]=m,e[17]=i,e[18]=L,e[19]=y,e[20]=A):A=e[20];let E;e[21]===Symbol.for("react.memo_cache_sentinel")?(E=c=>{c.key==="Escape"&&(U(""),c.target.blur())},e[21]=E):E=e[21];let D;e[22]!==p?(D=o.jsx(te,{value:p,onChange:U,placeholder:"Search resources...",onKeyDown:E}),e[22]=p,e[23]=D):D=e[23];let $;e[24]!==N||e[25]!==b||e[26]!==u||e[27]!==p||e[28]!==m||e[29]!==i||e[30]!==P||e[31]!==y?($=y==="cards"?o.jsx("div",{className:"flex-1 overflow-auto p-5",children:P.length===0?o.jsx(F,{image:null,title:p?"No resources found":"No resources available",description:p?"Try adjusting your search terms":N}):o.jsx("div",{className:"grid grid-cols-1 md:grid-cols-3 lg:grid-cols-4 gap-4",children:P.map(c=>o.jsx(ne,{className:"cursor-pointer transition-colors",onClick:()=>b(c),children:o.jsxs("div",{className:"flex flex-col gap-4 p-6",children:[o.jsx(Q,{icon:null,name:c.name||c.uri,size:"md",className:"shrink-0 shadow-sm"}),o.jsxs("div",{className:"flex flex-col gap-1",children:[o.jsx("h3",{className:"text-base font-medium text-foreground truncate",children:c.name||c.uri}),o.jsx("p",{className:"text-xs font-mono text-muted-foreground truncate",children:c.uri}),c.description&&o.jsx("p",{className:"text-sm text-muted-foreground line-clamp-2 mt-1",children:c.description})]})]})},c.uri))})}):o.jsx(oe,{columns:O,data:P,isLoading:!1,sortKey:i,sortDirection:m,onSort:u,onRowClick:c=>b(c),emptyState:o.jsx(F,{image:null,title:p?"No resources found":"No resources available",description:p?"Try adjusting your search terms":N})}),e[24]=N,e[25]=b,e[26]=u,e[27]=p,e[28]=m,e[29]=i,e[30]=P,e[31]=y,e[32]=$):$=e[32];let I;e[33]!==D||e[34]!==$?(I=o.jsxs("div",{className:"flex flex-col h-full overflow-hidden",children:[D,$]}),e[33]=D,e[34]=$,e[35]=I):I=e[35];let k;return e[36]!==I||e[37]!==A?(k=o.jsxs(o.Fragment,{children:[A,I]}),e[36]=I,e[37]=A,e[38]=k):k=e[38],k}function Pe(t){return{id:t.id,label:typeof t.header=="string"?t.header:t.id}}function Ve(t){return t.sortable}function Le(t){return o.jsx("span",{className:"text-sm text-muted-foreground",children:t.mimeType||"—"})}function Ae(t){return o.jsx("span",{className:"text-sm text-foreground",children:t.description||"—"})}function Ee(t){return o.jsx("span",{className:"text-sm font-mono text-muted-foreground",children:t.uri})}function Me(t){return o.jsx("span",{className:"text-sm font-medium text-foreground",children:t.name||t.uri})}function De(t){return t==="asc"?"desc":t==="desc"?null:"asc"}function Oe(t){const e=q.c(6),{resources:r,connectionId:n,org:s}=t,a=G(n),f=a?.title,j=a?.icon;let g;return e[0]!==n||e[1]!==s||e[2]!==r||e[3]!==f||e[4]!==j?(g=o.jsx(_e,{resources:r,connectionId:n,org:s,connectionTitle:f,connectionIcon:j}),e[0]=n,e[1]=s,e[2]=r,e[3]=f,e[4]=j,e[5]=g):g=e[5],g}function Be(t){const e=q.c(4),{tools:r,connectionId:n,org:s}=t;let a;return e[0]!==n||e[1]!==s||e[2]!==r?(a=o.jsx(Ce,{tools:r,connectionId:n,org:s}),e[0]=n,e[1]=s,e[2]=r,e[3]=a):a=e[3],a}function Ue(t){const e=q.c(62),{connection:r,connectionId:n,org:s,requestedTabId:a,collections:f,onUpdate:j,isUpdating:g,prompts:N,resources:V}=t,L=le();let p;e[0]===Symbol.for("react.memo_cache_sentinel")?(p={from:"/$org/mcps/$connectionId"},e[0]=p):p=e[0];const U=W(p);let y;e[1]!==n?(y={connectionId:n},e[1]=n,e[2]=y):y=e[2];const l=ue(y),i=l.isAuthenticated,w=r?.metadata?.repository,m=!!w?.url,h=r?.tools?.length??0,R=N.length,u=V.length;let _;e[3]===Symbol.for("react.memo_cache_sentinel")?(_={id:"settings",label:"Settings"},e[3]=_):_=e[3];let b;e[4]!==i||e[5]!==h?(b=i&&h>0?[{id:"tools",label:"Tools",count:h}]:[],e[4]=i,e[5]=h,e[6]=b):b=e[6];let T;e[7]!==i||e[8]!==R?(T=i&&R>0?[{id:"prompts",label:"Prompts",count:R}]:[],e[7]=i,e[8]=R,e[9]=T):T=e[9];let P;e[10]!==i||e[11]!==u?(P=i&&u>0?[{id:"resources",label:"Resources",count:u}]:[],e[10]=i,e[11]=u,e[12]=P):P=e[12];let M;if(e[13]!==f||e[14]!==m||e[15]!==i||e[16]!==b||e[17]!==T||e[18]!==P){let S;e[20]!==m?(S=m?[{id:"readme",label:"README"}]:[],e[20]=m,e[21]=S):S=e[21],M=[_,...b,...T,...P,...i?(f||[]).map(Ke):[],...S],e[13]=f,e[14]=m,e[15]=i,e[16]=b,e[17]=T,e[18]=P,e[19]=M}else M=e[19];const O=M,d=O.some(S=>S.id===a)?a:"settings";let K;e[22]!==U?(K=S=>{U({search:B=>({...B,tab:S}),replace:!0})},e[22]=U,e[23]=K):K=e[23];const A=K;let E;e[24]!==f?(E=f||[],e[24]=f,e[25]=E):E=e[25];let D;if(e[26]!==d||e[27]!==E){let S;e[29]!==d?(S=B=>B.name===d,e[29]=d,e[30]=S):S=e[30],D=E.find(S),e[26]=d,e[27]=E,e[28]=D}else D=e[28];const $=D;let I;e[31]!==L.history?(I=()=>L.history.back(),e[31]=L.history,e[32]=I):I=e[32];let k;e[33]!==d||e[34]!==A||e[35]!==O?(k=o.jsx(be,{children:o.jsx(ge,{tabs:O,activeTab:d,onTabChange:A})}),e[33]=d,e[34]=A,e[35]=O,e[36]=k):k=e[36];let c;e[37]===Symbol.for("react.memo_cache_sentinel")?(c=o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Y,{size:32,className:"animate-spin text-muted-foreground"})}),e[37]=c):c=e[37];let C;e[38]!==$||e[39]!==d||e[40]!==l.hasOAuthToken||e[41]!==l.isServerError||e[42]!==l.supportsOAuth||e[43]!==r||e[44]!==n||e[45]!==A||e[46]!==m||e[47]!==i||e[48]!==g||e[49]!==j||e[50]!==s||e[51]!==N||e[52]!==w||e[53]!==V?(C=o.jsx(z.Suspense,{fallback:c,children:d==="tools"?o.jsx(Be,{tools:r.tools??void 0,connectionId:n,org:s}):d==="prompts"?o.jsx(ke,{prompts:N,connectionId:n,org:s}):d==="resources"?o.jsx(Oe,{resources:V,connectionId:n,org:s}):d==="settings"?o.jsx(pe,{connection:r,onUpdate:j,isUpdating:g,isMCPAuthenticated:i,supportsOAuth:l.supportsOAuth,hasOAuthToken:l.hasOAuthToken,isServerError:l.isServerError,onViewReadme:m?()=>A("readme"):void 0}):d==="readme"&&m?o.jsx(Re,{repository:w}):$&&i?o.jsx(ye,{connectionId:n,org:s,activeCollection:$},d):o.jsx(F,{title:"Collection not found",description:"This collection may have been deleted or you may not have access."})}),e[38]=$,e[39]=d,e[40]=l.hasOAuthToken,e[41]=l.isServerError,e[42]=l.supportsOAuth,e[43]=r,e[44]=n,e[45]=A,e[46]=m,e[47]=i,e[48]=g,e[49]=j,e[50]=s,e[51]=N,e[52]=w,e[53]=V,e[54]=C):C=e[54];let v;e[55]!==d||e[56]!==C?(v=o.jsx("div",{className:"flex h-full w-full bg-background overflow-hidden",children:o.jsx("div",{className:"flex-1 flex flex-col min-w-0 bg-background overflow-auto",children:o.jsx(X,{children:C},d)})}),e[55]=d,e[56]=C,e[57]=v):v=e[57];let x;return e[58]!==I||e[59]!==k||e[60]!==v?(x=o.jsxs(je,{onBack:I,children:[k,v]}),e[58]=I,e[59]=k,e[60]=v,e[61]=x):x=e[61],x}function Ke(t){return{id:t.name,label:t.displayName}}function ze(){const t=q.c(29);let e;t[0]===Symbol.for("react.memo_cache_sentinel")?(e={from:"/$org/mcps/$connectionId"},t[0]=e):e=t[0];const r=W(e);let n;t[1]===Symbol.for("react.memo_cache_sentinel")?(n={from:"/shell/$org/mcps/$connectionId"},t[1]=n):n=t[1];const{connectionId:s,org:a}=ce(n);let f;t[2]===Symbol.for("react.memo_cache_sentinel")?(f={from:"/shell/$org/mcps/$connectionId"},t[2]=f):f=t[2];const g=ae(f).tab||"settings",N=G(s),V=me(),L=de(N??void 0);let p;t[3]!==s?(p=[s],t[3]=s,t[4]=p):p=t[4];const{promptsMap:U}=fe(p);let y;t[5]!==s?(y=[s],t[5]=s,t[6]=y):y=t[6];const{resourcesMap:l}=he(y);let i;t[7]!==s||t[8]!==U?(i=U.get(s)??[],t[7]=s,t[8]=U,t[9]=i):i=t[9];const w=i;let m;t[10]!==s||t[11]!==l?(m=l.get(s)??[],t[10]=s,t[11]=l,t[12]=m):m=t[12];const h=m;let R;t[13]!==V.update||t[14]!==s?(R=async b=>{await V.update.mutateAsync({id:s,data:b})},t[13]=V.update,t[14]=s,t[15]=R):R=t[15];const u=R;if(!N){let b;return t[16]!==r||t[17]!==a?(b=o.jsx("div",{className:"flex h-full w-full bg-background",children:o.jsx(F,{title:"Connection not found",description:"This connection may have been deleted or you may not have access.",actions:o.jsx(xe,{variant:"outline",onClick:()=>r({to:"/$org/mcps",params:{org:a}}),children:"Back to connections"})})}),t[16]=r,t[17]=a,t[18]=b):b=t[18],b}let _;return t[19]!==V.update.isPending||t[20]!==L||t[21]!==N||t[22]!==s||t[23]!==u||t[24]!==a||t[25]!==w||t[26]!==g||t[27]!==h?(_=o.jsx(Ue,{org:a,connection:N,connectionId:s,requestedTabId:g,collections:L,onUpdate:u,isUpdating:V.update.isPending,prompts:w,resources:h}),t[19]=V.update.isPending,t[20]=L,t[21]=N,t[22]=s,t[23]=u,t[24]=a,t[25]=w,t[26]=g,t[27]=h,t[28]=_):_=t[28],_}function qe(){const t=q.c(1);let e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=o.jsx(X,{children:o.jsx(z.Suspense,{fallback:o.jsx("div",{className:"flex h-full items-center justify-center bg-background",children:o.jsx(Y,{size:32,className:"animate-spin text-muted-foreground"})}),children:o.jsx(ze,{})})}),t[0]=e):e=t[0],e}function ho(){const t=q.c(1);let e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=o.jsx(qe,{}),t[0]=e):e=t[0],e}export{ho as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as ge,j as e,r as M,f as xe,b as je,a as fe,u as ye,E as ve,B as _e,y as se,I as Ce,z as y,_ as ke}from"./index-BADGsnm_.js";import{C as Ne}from"./collection-header-BexgULaJ.js";import{C as Se}from"./collection-page-CFeLb91S.js";import{C as Te}from"./collection-search-BIaqbS2d.js";import{C as we}from"./collection-table-wrapper-D_9AP4Xy.js";import{C as De}from"./connection-card-B7L3EvSn.js";import{n as H,E as B,I as be}from"./empty-state-CaPNxgdS.js";import{E as Pe}from"./error-boundary-CZ-hRbTW.js";import{a as Ie,u as Ve}from"./use-connection-CfZ0Vu4z.js";import{u as Ee}from"./use-binding-CMrf28mD.js";import{u as $e,s as Q}from"./use-list-state-D02T_aKE.js";import{u as Ae}from"./project-context-provider-BrEPJG0C.js";import{f as Fe,a as Oe,b as He,c as Be,d as ze,e as Me,A as Re,g as Ue}from"./alert-dialog-VCUJKSC8.js";import{B as Xe}from"./badge-BBWbP67q.js";import{B as _}from"./button-CSCVKnjE.js";import{d as Le,c as We,a as Ke,D as Ge,g as qe,f as Ye}from"./dialog-BKcENWTv.js";import{b as J,D as Z,a as ee,c as E}from"./dropdown-menu-6yOcAo_W.js";import{a as Qe,F as h,b as g,c as x,d as j,f}from"./form-D-QUdO0s.js";import{i as te}from"./DotsVertical-BqUSftJK.js";import{f as Je,e as Ze,s as z}from"./registry-utils-qr2hWyuD.js";import{i as et}from"./Loading01-Ciunqme0.js";import{i as tt}from"./Terminal-C6MHBgjq.js";import{s as ne}from"./Trash01-O7XdHeVF.js";import{I as k}from"./input-BDWPxnpd.js";import{S as nt,a as ot,b as st,c as rt,d as P}from"./select-CncHydKl.js";import{T as it}from"./textarea-CjiaCeZv.js";import{g as at}from"./generate-id-Dyweu44Y.js";import{a as ct}from"./use-tool-call-C-s97CRj.js";import{c as lt}from"./connection-BOiZ4DhB.js";import{i as dt,r as mt,E as ut,e as re}from"./env-vars-editor-DB9sQiDh.js";import"./collection-display-button-DJ1AY12f.js";import"./ArrowUp-BHV7fQvC.js";import"./Check-01TyG8gs.js";import"./Grid01-DlRq7T-9.js";import"./List-BMChI4Jp.js";import"./tooltip-Dh7pKOjr.js";import"./view-mode-toggle-DSycgDld.js";import"./SearchMd-BdgkqD1I.js";import"./card-DIp7Pbbe.js";import"./use-collections-BYXeN_Z5.js";import"./useMutation-DX2iB0kT.js";import"./binder-C7ZGqrKK.js";import"./use-mobile-BDBdLYs3.js";import"./X-CBxJpjg0.js";import"./ChevronDown-Bk7OKoGa.js";import"./useQuery-BloC42s4.js";import"./Plus-Dr1frakx.js";const pt=se({key:y(),value:y()}),ht=se({title:y().min(1,"Name is required"),description:y().nullable().optional(),ui_type:ke(["HTTP","SSE","Websocket","NPX","STDIO"]),connection_url:y().optional(),connection_token:y().nullable().optional(),npx_package:y().optional(),stdio_command:y().optional(),stdio_args:y().optional(),stdio_cwd:y().optional(),env_vars:Ce(pt).optional()}).refine(n=>n.ui_type==="NPX"?!!n.npx_package?.trim():!0,{message:"NPM package is required",path:["npx_package"]}).refine(n=>n.ui_type==="STDIO"?!!n.stdio_command?.trim():!0,{message:"Command is required",path:["stdio_command"]}).refine(n=>n.ui_type==="HTTP"||n.ui_type==="SSE"||n.ui_type==="Websocket"?!!n.connection_url?.trim():!0,{message:"URL is required",path:["connection_url"]});function A(n){const s=n.trim();if(!s)return"";try{const i=new URL(s),d=i.pathname.length>1?i.pathname.replace(/\/+$/,""):i.pathname;return`${i.origin}${d}`}catch{return s.replace(/\/+$/,"")}}function gt(n){const s=n.trim().split(/\s+/).filter(Boolean);if(s.length<2)return null;const i=s[0]?.toLowerCase();if(i!=="npx"&&i!=="bunx")return null;const u=s.slice(1).find(a=>!a.startsWith("-"));return u?{packageName:u}:null}function $(n){const{uiType:s}=n,i=A(n.connectionUrl??"");if((s==="HTTP"||s==="SSE"||s==="Websocket")&&i===A("https://api.githubcopilot.com/mcp/"))return{id:"github",title:"GitHub",description:"GitHub Copilot MCP",token:{label:"GitHub PAT",placeholder:"github_pat_…",helperText:"Paste a GitHub Personal Access Token (PAT)"}};const d=(n.npxPackage??"").trim();return s==="NPX"&&d==="@perplexity-ai/mcp-server"?{id:"perplexity",title:"Perplexity",description:"Perplexity MCP Server",envVarKeys:["PERPLEXITY_API_KEY"]}:null}function oe(n){if(n.registryItems.length===0||n.uiType!=="HTTP"&&n.uiType!=="SSE"&&n.uiType!=="Websocket")return null;const s=A(n.connectionUrl??"");if(!s)return null;const i=n.registryItems.find(a=>(a.server?.remotes??[]).some(N=>A(N.url??"")===s));if(!i)return null;const d=i.title||i.name||i.server?.title||i.server?.name||"",u=i.server?.description||i.description||i.summary||null;return d?{id:"registry",title:d,description:u}:null}function xt(n,s){const i={command:"npx",args:["-y",n]},d=re(s);return Object.keys(d).length>0&&(i.envVars=d),i}function jt(n,s,i,d){const u={command:n};s.trim()&&(u.args=s.trim().split(/\s+/)),i?.trim()&&(u.cwd=i.trim());const a=re(d);return Object.keys(a).length>0&&(u.envVars=a),u}function ft(n){return n.command==="npx"}function yt(n){return n.args?.find(s=>!s.startsWith("-"))??""}function vt(n){return{command:n.command,args:n.args?.join(" ")??"",cwd:n.cwd??""}}function _t(n,s){switch(s.type){case"edit":return{mode:"editing",connection:s.connection};case"delete":return{mode:"deleting",connection:s.connection};case"close":return{mode:"idle"}}}function Ct(){const{org:n}=Ae(),s=xe(),i=je({strict:!1}),{data:d}=fe.useSession(),{stdioEnabled:u}=ye(),a=$e({namespace:n.slug,resource:"connections"}),I=Ie(),N=Ve(a),[v,S]=M.useReducer(_t,{mode:"idle"}),R=Ee(N)[0],F=R?.id??"",U=Je(R?.tools),ie=lt(F||void 0),{data:ae}=ct({toolCaller:ie,toolName:U,toolInputParams:{limit:200},scope:F,enabled:!!(F&&U),staleTime:3600*1e3}),X=Ze(ae??[]),L=i.action==="create",ce=()=>{s({to:"/$org/mcps",params:{org:n.slug},search:{action:"create"}})},W=()=>{s({to:"/$org/mcps",params:{org:n.slug},search:{}})},r=ve({resolver:_e(ht),defaultValues:{title:"",description:null,ui_type:"HTTP",connection_url:"",connection_token:null,npx_package:"",stdio_command:"",stdio_args:"",stdio_cwd:"",env_vars:[]}}),m=r.watch("ui_type"),K=r.watch("connection_url"),le=r.watch("npx_package"),D=$({uiType:m,connectionUrl:K??"",npxPackage:le??""})??oe({uiType:m,connectionUrl:K??"",registryItems:X}),l=v.mode==="editing"?v.connection:null;M.useEffect(()=>{if(l){const t=dt(l.connection_headers)?l.connection_headers:null;if(t&&l.connection_type==="STDIO"){const o=mt(t.envVars);if(ft(t)){const c=yt(t);r.reset({title:l.title,description:l.description,ui_type:"NPX",connection_url:"",connection_token:null,npx_package:c,stdio_command:"",stdio_args:"",stdio_cwd:"",env_vars:o})}else{const c=vt(t);r.reset({title:l.title,description:l.description,ui_type:"STDIO",connection_url:"",connection_token:null,npx_package:"",stdio_command:c.command,stdio_args:c.args,stdio_cwd:c.cwd,env_vars:o})}}else r.reset({title:l.title,description:l.description,ui_type:l.connection_type,connection_url:l.connection_url??"",connection_token:null,npx_package:"",stdio_command:"",stdio_args:"",stdio_cwd:"",env_vars:[]})}else r.reset({title:"",description:null,ui_type:"HTTP",connection_url:"",connection_token:null,npx_package:"",stdio_command:"",stdio_args:"",stdio_cwd:"",env_vars:[]})},[l,r]);const de=async()=>{if(v.mode!=="deleting")return;const t=v.connection.id;S({type:"close"});try{await I.delete.mutateAsync(t)}catch{}},me=async t=>{let o,c=null,T=null,C=null;if(t.ui_type==="NPX"?(o="STDIO",c="",C=xt(t.npx_package||"",t.env_vars||[])):t.ui_type==="STDIO"?(o="STDIO",c="",C=jt(t.stdio_command||"",t.stdio_args||"",t.stdio_cwd,t.env_vars||[])):(o=t.ui_type,c=t.connection_url||"",T=t.connection_token||null),l){await I.update.mutateAsync({id:l.id,data:{title:t.title,description:t.description||null,connection_type:o,connection_url:c,...T&&{connection_token:T},...C&&{connection_headers:C}}}),S({type:"close"}),r.reset();return}const w=at("conn");await I.create.mutateAsync({id:w,title:t.title,description:t.description||null,connection_type:o,connection_url:c,connection_token:T,created_at:new Date().toISOString(),updated_at:new Date().toISOString(),created_by:d?.user?.id||"system",organization_id:n.id,icon:null,app_name:null,app_id:null,connection_headers:C,oauth_config:null,configuration_state:null,metadata:null,tools:null,bindings:null,status:"inactive"}),W(),r.reset(),s({to:"/$org/mcps/$connectionId",params:{org:n.slug,connectionId:w}})},G=t=>{t||(L?W():S({type:"close"}),r.reset())},V=t=>{const o=t.trim();if(!o)return;const c=!!r.formState.dirtyFields.title,T=!!r.formState.dirtyFields.description,C=!!r.formState.dirtyFields.env_vars,w=p=>{if(p&&(!c&&!r.getValues("title").trim()&&p.title&&r.setValue("title",p.title,{shouldDirty:!1}),!T&&!(r.getValues("description")??"").trim()&&p.description&&r.setValue("description",p.description,{shouldDirty:!1}),!C&&p.envVarKeys?.length)){const q=r.getValues("env_vars")??[],he=new Set(q.map(b=>b.key)),Y=p.envVarKeys.filter(b=>!he.has(b));Y.length>0&&r.setValue("env_vars",[...q,...Y.map(b=>({key:b,value:""}))],{shouldDirty:!0})}},O=gt(o);if(O&&u){r.setValue("ui_type","NPX",{shouldDirty:!0}),r.setValue("npx_package",O.packageName,{shouldDirty:!0}),r.setValue("connection_url","",{shouldDirty:!0}),r.setValue("connection_token",null,{shouldDirty:!0}),w($({uiType:"NPX",npxPackage:O.packageName}));return}if(o.startsWith("http://")||o.startsWith("https://")){const p=m==="HTTP"||m==="SSE"||m==="Websocket"?m:"HTTP";r.setValue("ui_type",p,{shouldDirty:!0}),r.setValue("connection_url",o,{shouldDirty:!0}),w($({uiType:p,connectionUrl:o})??oe({uiType:p,connectionUrl:o,registryItems:X}));return}m==="NPX"&&w($({uiType:"NPX",npxPackage:o}))},ue=[{id:"icon",header:"",render:t=>e.jsx(be,{icon:t.icon,name:t.title,size:"sm",className:"shrink-0 shadow-sm",fallbackIcon:e.jsx(H,{})}),cellClassName:"w-16 shrink-0",wrap:!0},{id:"title",header:"Name",render:t=>e.jsx("span",{className:"text-sm font-medium text-foreground truncate block",title:t.title,children:t.title}),cellClassName:"w-48 max-w-48 min-w-0 shrink-0",sortable:!0},{id:"description",header:"Description",render:t=>e.jsx("span",{className:"text-sm text-foreground line-clamp-2",children:t.description||"—"}),cellClassName:"flex-1 min-w-0",wrap:!0,sortable:!0},{id:"connection_type",header:"Type",accessor:t=>e.jsx("span",{className:"text-sm font-medium",children:t.connection_type}),cellClassName:"w-24 shrink-0",sortable:!0},{id:"connection_url",header:"URL",render:t=>{const o=t.connection_url??"",c=o.length>40?`${o.slice(0,40)}...`:o;return e.jsx("span",{className:"text-sm text-muted-foreground",children:c})},cellClassName:"w-48 min-w-0 shrink-0"},{id:"status",header:"Status",render:t=>e.jsx(Xe,{variant:t.status==="active"?"success":"outline",children:t.status}),cellClassName:"w-24 shrink-0",sortable:!0},{id:"actions",header:"",render:t=>e.jsxs(J,{children:[e.jsx(Z,{asChild:!0,children:e.jsx(_,{variant:"ghost",size:"sm",className:"h-8 w-8 p-0",onClick:o=>o.stopPropagation(),children:e.jsx(te,{size:20})})}),e.jsxs(ee,{align:"end",onClick:o=>o.stopPropagation(),children:[e.jsxs(E,{onClick:o=>{o.stopPropagation(),s({to:"/$org/mcps/$connectionId",params:{org:n.slug,connectionId:t.id}})},children:[e.jsx(Q,{size:16}),"Open"]}),e.jsxs(E,{variant:"destructive",onClick:o=>{o.stopPropagation(),S({type:"delete",connection:t})},children:[e.jsx(ne,{size:16}),"Delete"]})]})]}),cellClassName:"w-12 shrink-0"}],pe=e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(_,{variant:"outline",onClick:()=>s({to:"/$org/store",params:{org:n.slug}}),size:"sm",className:"h-7 px-3 rounded-lg text-sm font-medium",children:"Browse Store"}),e.jsx(_,{onClick:ce,size:"sm",className:"h-7 px-3 rounded-lg text-sm font-medium",children:"Custom Connection"})]});return e.jsxs(Se,{children:[e.jsx(Le,{open:L||v.mode==="editing",onOpenChange:G,children:e.jsxs(We,{className:"sm:max-w-[525px]",children:[e.jsxs(Ke,{children:[e.jsx(Ge,{children:l?"Edit Connection":"Create Connection"}),e.jsx(qe,{children:l?"Update the connection details below.":"Create a custom connection in your organization. Fill in the details below."})]}),e.jsx(Qe,{...r,children:e.jsxs("form",{onSubmit:r.handleSubmit(me),children:[e.jsxs("div",{className:"grid gap-4 py-4",children:[e.jsx(h,{control:r.control,name:"ui_type",render:({field:t})=>e.jsxs(g,{children:[e.jsx(x,{children:"Type *"}),e.jsxs(nt,{value:t.value,onValueChange:t.onChange,children:[e.jsx(j,{children:e.jsx(ot,{children:e.jsx(st,{})})}),e.jsxs(rt,{children:[e.jsx(P,{value:"HTTP",children:e.jsxs("span",{className:"flex items-center gap-2",children:[e.jsx(z,{className:"w-4 h-4"}),"HTTP"]})}),e.jsx(P,{value:"SSE",children:e.jsxs("span",{className:"flex items-center gap-2",children:[e.jsx(z,{className:"w-4 h-4"}),"SSE"]})}),e.jsx(P,{value:"Websocket",children:e.jsxs("span",{className:"flex items-center gap-2",children:[e.jsx(z,{className:"w-4 h-4"}),"Websocket"]})}),u&&e.jsxs(e.Fragment,{children:[e.jsx(P,{value:"NPX",children:e.jsxs("span",{className:"flex items-center gap-2",children:[e.jsx(H,{className:"w-4 h-4"}),"NPX Package"]})}),e.jsx(P,{value:"STDIO",children:e.jsxs("span",{className:"flex items-center gap-2",children:[e.jsx(tt,{className:"w-4 h-4"}),"Custom Command"]})})]})]})]}),e.jsx(f,{})]})}),m==="NPX"&&e.jsx(e.Fragment,{children:e.jsx(h,{control:r.control,name:"npx_package",render:({field:t})=>e.jsxs(g,{children:[e.jsx(x,{children:"NPM Package *"}),e.jsx(j,{children:e.jsx(k,{placeholder:"@perplexity-ai/mcp-server",...t,value:t.value??"",onPaste:o=>{const c=o.clipboardData.getData("text");c&&(o.preventDefault(),r.setValue("npx_package",c.trim(),{shouldDirty:!0}),V(c))},onBlur:o=>{V(o.target.value),t.onBlur()}})}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"The npm package to run with npx"}),e.jsx(f,{})]})})}),m==="STDIO"&&e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"grid grid-cols-2 gap-4 items-start",children:[e.jsx(h,{control:r.control,name:"stdio_command",render:({field:t})=>e.jsxs(g,{children:[e.jsx(x,{children:"Command *"}),e.jsx(j,{children:e.jsx(k,{placeholder:"node, bun, python...",...t,value:t.value??""})}),e.jsx(f,{})]})}),e.jsx(h,{control:r.control,name:"stdio_args",render:({field:t})=>e.jsxs(g,{children:[e.jsx(x,{children:"Arguments"}),e.jsx(j,{children:e.jsx(k,{placeholder:"arg1 arg2 --flag value",...t,value:t.value??""})}),e.jsx(f,{})]})})]}),e.jsx(h,{control:r.control,name:"stdio_cwd",render:({field:t})=>e.jsxs(g,{children:[e.jsx(x,{children:"Working Directory"}),e.jsx(j,{children:e.jsx(k,{placeholder:"/path/to/project (optional)",...t,value:t.value??""})}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"Directory where the command will be executed"}),e.jsx(f,{})]})})]}),(m==="NPX"||m==="STDIO")&&e.jsx(h,{control:r.control,name:"env_vars",render:({field:t})=>e.jsxs(g,{children:[e.jsx(x,{children:"Environment Variables"}),e.jsx(j,{children:e.jsx(ut,{value:t.value??[],onChange:t.onChange})}),e.jsx(f,{})]})}),m!=="NPX"&&m!=="STDIO"&&e.jsxs(e.Fragment,{children:[e.jsx(h,{control:r.control,name:"connection_url",render:({field:t})=>e.jsxs(g,{children:[e.jsx(x,{children:"URL *"}),e.jsx(j,{children:e.jsx(k,{placeholder:"https://example.com/mcp",...t,value:t.value??"",onPaste:o=>{const c=o.clipboardData.getData("text");c&&(o.preventDefault(),r.setValue("connection_url",c.trim(),{shouldDirty:!0}),V(c))},onBlur:o=>{V(o.target.value),t.onBlur()}})}),e.jsx(f,{})]})}),e.jsx(h,{control:r.control,name:"connection_token",render:({field:t})=>e.jsxs(g,{children:[e.jsx(x,{children:D?.token?.label??"Token (optional)"}),e.jsx(j,{children:e.jsx(k,{type:"password",placeholder:D?.token?.placeholder??"Bearer token or API key",...t,value:t.value??""})}),D?.token?.helperText&&e.jsxs("p",{className:"text-xs text-muted-foreground",children:[D.token.helperText,D.id==="github"&&e.jsxs(e.Fragment,{children:[" ","·"," ",e.jsx("a",{className:"text-foreground underline underline-offset-4 hover:text-foreground/80",href:"https://github.com/settings/personal-access-tokens",target:"_blank",rel:"noreferrer",children:"Open GitHub PAT settings"})]})]}),e.jsx(f,{})]})})]}),e.jsx(h,{control:r.control,name:"title",render:({field:t})=>e.jsxs(g,{children:[e.jsx(x,{children:"Name *"}),e.jsx(j,{children:e.jsx(k,{placeholder:"My Connection",...t})}),e.jsx(f,{})]})}),e.jsx(h,{control:r.control,name:"description",render:({field:t})=>e.jsxs(g,{children:[e.jsx(x,{children:"Description"}),e.jsx(j,{children:e.jsx(it,{placeholder:"A brief description of this connection",rows:3,...t,value:t.value??""})}),e.jsx(f,{})]})})]}),e.jsxs(Ye,{children:[e.jsx(_,{type:"button",variant:"outline",onClick:()=>G(!1),children:"Cancel"}),e.jsx(_,{type:"submit",disabled:r.formState.isSubmitting,className:"min-w-40",children:r.formState.isSubmitting?"Saving...":l?"Update Connection":"Create Connection"})]})]})})]})}),e.jsx(Fe,{open:v.mode==="deleting",onOpenChange:t=>!t&&S({type:"close"}),children:e.jsxs(Oe,{children:[e.jsxs(He,{children:[e.jsx(Be,{children:"Delete Connection?"}),e.jsxs(ze,{children:["This action cannot be undone. This will permanently delete"," ",e.jsx("span",{className:"font-medium text-foreground",children:v.mode==="deleting"&&v.connection.title}),"."]})]}),e.jsxs(Me,{children:[e.jsx(Re,{children:"Cancel"}),e.jsx(Ue,{onClick:de,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:"Delete"})]})]})}),e.jsx(Ne,{title:"Connections",viewMode:a.viewMode,onViewModeChange:a.setViewMode,sortKey:a.sortKey,sortDirection:a.sortDirection,onSort:a.handleSort,sortOptions:[{id:"title",label:"Name"},{id:"description",label:"Description"},{id:"connection_type",label:"Type"},{id:"status",label:"Status"}],ctaButton:pe}),e.jsx(Te,{value:a.search,onChange:a.setSearch,placeholder:"Search for a Connection...",onKeyDown:t=>{t.key==="Escape"&&(a.setSearch(""),t.target.blur())}}),a.viewMode==="cards"?e.jsx("div",{className:"flex-1 overflow-auto p-5",children:N.length===0?e.jsx(B,{image:e.jsx("img",{src:"/emptystate-mcp.svg",alt:"",width:336,height:320,"aria-hidden":"true"}),title:(a.search,"No Connections found"),description:a.search?`No Connections match "${a.search}"`:"Create a connection to get started.",actions:!a.search&&e.jsx(_,{variant:"outline",onClick:()=>s({to:"/$org/store",params:{org:n.slug}}),children:"Browse Store"})}):e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-3 lg:grid-cols-4 gap-4",children:N.map(t=>e.jsx(De,{connection:t,fallbackIcon:e.jsx(H,{}),onClick:()=>s({to:"/$org/mcps/$connectionId",params:{org:n.slug,connectionId:t.id}}),headerActions:e.jsxs(J,{children:[e.jsx(Z,{asChild:!0,children:e.jsx(_,{variant:"ghost",size:"sm",className:"h-8 w-8 p-0",onClick:o=>o.stopPropagation(),children:e.jsx(te,{size:20})})}),e.jsxs(ee,{align:"end",onClick:o=>o.stopPropagation(),children:[e.jsxs(E,{onClick:o=>{o.stopPropagation(),s({to:"/$org/mcps/$connectionId",params:{org:n.slug,connectionId:t.id}})},children:[e.jsx(Q,{size:16}),"Open"]}),e.jsxs(E,{variant:"destructive",onClick:o=>{o.stopPropagation(),S({type:"delete",connection:t})},children:[e.jsx(ne,{size:16}),"Delete"]})]})]})},t.id))})}):e.jsx(we,{columns:ue,data:N,isLoading:!1,sortKey:a.sortKey,sortDirection:a.sortDirection,onSort:a.handleSort,onRowClick:t=>s({to:"/$org/mcps/$connectionId",params:{org:n.slug,connectionId:t.id}}),emptyState:a.search?e.jsx(B,{image:e.jsx("img",{src:"/emptystate-mcp.svg",alt:"",width:400,height:178,"aria-hidden":"true"}),title:"No Connections found",description:`No Connections match "${a.search}"`}):e.jsx(B,{image:e.jsx("img",{src:"/emptystate-mcp.svg",alt:"",width:400,height:178,"aria-hidden":"true"}),title:"No Connections found",description:"Create a connection to get started.",actions:e.jsx(_,{variant:"outline",onClick:()=>s({to:"/$org/store",params:{org:n.slug}}),children:"Browse Store"})})})]})}function jn(){const n=ge.c(1);let s;return n[0]===Symbol.for("react.memo_cache_sentinel")?(s=e.jsx(Pe,{children:e.jsx(M.Suspense,{fallback:e.jsx("div",{className:"flex h-full items-center justify-center",children:e.jsx(et,{size:32,className:"animate-spin text-muted-foreground"})}),children:e.jsx(Ct,{})})}),n[0]=s):s=n[0],s}export{jn as default};
|
|
1
|
+
import{c as ge,j as e,r as M,f as xe,b as je,a as fe,u as ye,E as ve,B as _e,y as se,I as Ce,z as y,_ as ke}from"./index-CRvHJTW7.js";import{C as Ne}from"./collection-header-Bq_pwY0d.js";import{C as Se}from"./collection-page-BRLilQpU.js";import{C as Te}from"./collection-search-fNZmcrVl.js";import{C as we}from"./collection-table-wrapper-CyayHVF2.js";import{C as De}from"./connection-card-Cy-WH2qu.js";import{n as H,E as B,I as be}from"./empty-state-BU13D_5m.js";import{E as Pe}from"./error-boundary-vxKcv_5V.js";import{a as Ie,u as Ve}from"./use-connection-BdE78hZ6.js";import{u as Ee}from"./use-binding-CPgE3BWS.js";import{u as $e,s as Q}from"./use-list-state-TVJ_6wgx.js";import{u as Ae}from"./project-context-provider-BOp7y-sm.js";import{f as Fe,a as Oe,b as He,c as Be,d as ze,e as Me,A as Re,g as Ue}from"./alert-dialog-DrfswxC3.js";import{B as Xe}from"./badge-DRhtTp4k.js";import{B as _}from"./button-BdSVK2Y9.js";import{d as Le,c as We,a as Ke,D as Ge,g as qe,f as Ye}from"./dialog-8xt9wG3a.js";import{b as J,D as Z,a as ee,c as E}from"./dropdown-menu-DqYEi1G5.js";import{a as Qe,F as h,b as g,c as x,d as j,f}from"./form-ma_v39Z5.js";import{i as te}from"./DotsVertical-D7K0CcQb.js";import{f as Je,e as Ze,s as z}from"./registry-utils-DfaYKsYd.js";import{i as et}from"./Loading01-Cylg3-_j.js";import{i as tt}from"./Terminal-DvzUlVBL.js";import{s as ne}from"./Trash01-DAF4JR6x.js";import{I as k}from"./input-LAgwngta.js";import{S as nt,a as ot,b as st,c as rt,d as P}from"./select-CQxwh50L.js";import{T as it}from"./textarea-CCB_cBLX.js";import{g as at}from"./generate-id-Dyweu44Y.js";import{a as ct}from"./use-tool-call-TbtZFKnf.js";import{c as lt}from"./connection-BQ8tHXWt.js";import{i as dt,r as mt,E as ut,e as re}from"./env-vars-editor-BRNWnsg6.js";import"./collection-display-button-DYQdZVaC.js";import"./ArrowUp-BdwrcvLj.js";import"./Check-DJs0YqZi.js";import"./Grid01-DfwQCcJX.js";import"./List-i3XXXryR.js";import"./tooltip-CE9zYFg3.js";import"./view-mode-toggle-CKrW8N1p.js";import"./SearchMd-BOjdxcEh.js";import"./card-CS2qDNmL.js";import"./use-collections-B9erc3lD.js";import"./useMutation-AON1uiHs.js";import"./binder-DyJ0n4d5.js";import"./use-mobile-bGvEd-ta.js";import"./X-C1UdIYIh.js";import"./ChevronDown-BHw4CEHT.js";import"./useQuery-Bvq31XvZ.js";import"./Plus-wyZMrN65.js";const pt=se({key:y(),value:y()}),ht=se({title:y().min(1,"Name is required"),description:y().nullable().optional(),ui_type:ke(["HTTP","SSE","Websocket","NPX","STDIO"]),connection_url:y().optional(),connection_token:y().nullable().optional(),npx_package:y().optional(),stdio_command:y().optional(),stdio_args:y().optional(),stdio_cwd:y().optional(),env_vars:Ce(pt).optional()}).refine(n=>n.ui_type==="NPX"?!!n.npx_package?.trim():!0,{message:"NPM package is required",path:["npx_package"]}).refine(n=>n.ui_type==="STDIO"?!!n.stdio_command?.trim():!0,{message:"Command is required",path:["stdio_command"]}).refine(n=>n.ui_type==="HTTP"||n.ui_type==="SSE"||n.ui_type==="Websocket"?!!n.connection_url?.trim():!0,{message:"URL is required",path:["connection_url"]});function A(n){const s=n.trim();if(!s)return"";try{const i=new URL(s),d=i.pathname.length>1?i.pathname.replace(/\/+$/,""):i.pathname;return`${i.origin}${d}`}catch{return s.replace(/\/+$/,"")}}function gt(n){const s=n.trim().split(/\s+/).filter(Boolean);if(s.length<2)return null;const i=s[0]?.toLowerCase();if(i!=="npx"&&i!=="bunx")return null;const u=s.slice(1).find(a=>!a.startsWith("-"));return u?{packageName:u}:null}function $(n){const{uiType:s}=n,i=A(n.connectionUrl??"");if((s==="HTTP"||s==="SSE"||s==="Websocket")&&i===A("https://api.githubcopilot.com/mcp/"))return{id:"github",title:"GitHub",description:"GitHub Copilot MCP",token:{label:"GitHub PAT",placeholder:"github_pat_…",helperText:"Paste a GitHub Personal Access Token (PAT)"}};const d=(n.npxPackage??"").trim();return s==="NPX"&&d==="@perplexity-ai/mcp-server"?{id:"perplexity",title:"Perplexity",description:"Perplexity MCP Server",envVarKeys:["PERPLEXITY_API_KEY"]}:null}function oe(n){if(n.registryItems.length===0||n.uiType!=="HTTP"&&n.uiType!=="SSE"&&n.uiType!=="Websocket")return null;const s=A(n.connectionUrl??"");if(!s)return null;const i=n.registryItems.find(a=>(a.server?.remotes??[]).some(N=>A(N.url??"")===s));if(!i)return null;const d=i.title||i.name||i.server?.title||i.server?.name||"",u=i.server?.description||i.description||i.summary||null;return d?{id:"registry",title:d,description:u}:null}function xt(n,s){const i={command:"npx",args:["-y",n]},d=re(s);return Object.keys(d).length>0&&(i.envVars=d),i}function jt(n,s,i,d){const u={command:n};s.trim()&&(u.args=s.trim().split(/\s+/)),i?.trim()&&(u.cwd=i.trim());const a=re(d);return Object.keys(a).length>0&&(u.envVars=a),u}function ft(n){return n.command==="npx"}function yt(n){return n.args?.find(s=>!s.startsWith("-"))??""}function vt(n){return{command:n.command,args:n.args?.join(" ")??"",cwd:n.cwd??""}}function _t(n,s){switch(s.type){case"edit":return{mode:"editing",connection:s.connection};case"delete":return{mode:"deleting",connection:s.connection};case"close":return{mode:"idle"}}}function Ct(){const{org:n}=Ae(),s=xe(),i=je({strict:!1}),{data:d}=fe.useSession(),{stdioEnabled:u}=ye(),a=$e({namespace:n.slug,resource:"connections"}),I=Ie(),N=Ve(a),[v,S]=M.useReducer(_t,{mode:"idle"}),R=Ee(N)[0],F=R?.id??"",U=Je(R?.tools),ie=lt(F||void 0),{data:ae}=ct({toolCaller:ie,toolName:U,toolInputParams:{limit:200},scope:F,enabled:!!(F&&U),staleTime:3600*1e3}),X=Ze(ae??[]),L=i.action==="create",ce=()=>{s({to:"/$org/mcps",params:{org:n.slug},search:{action:"create"}})},W=()=>{s({to:"/$org/mcps",params:{org:n.slug},search:{}})},r=ve({resolver:_e(ht),defaultValues:{title:"",description:null,ui_type:"HTTP",connection_url:"",connection_token:null,npx_package:"",stdio_command:"",stdio_args:"",stdio_cwd:"",env_vars:[]}}),m=r.watch("ui_type"),K=r.watch("connection_url"),le=r.watch("npx_package"),D=$({uiType:m,connectionUrl:K??"",npxPackage:le??""})??oe({uiType:m,connectionUrl:K??"",registryItems:X}),l=v.mode==="editing"?v.connection:null;M.useEffect(()=>{if(l){const t=dt(l.connection_headers)?l.connection_headers:null;if(t&&l.connection_type==="STDIO"){const o=mt(t.envVars);if(ft(t)){const c=yt(t);r.reset({title:l.title,description:l.description,ui_type:"NPX",connection_url:"",connection_token:null,npx_package:c,stdio_command:"",stdio_args:"",stdio_cwd:"",env_vars:o})}else{const c=vt(t);r.reset({title:l.title,description:l.description,ui_type:"STDIO",connection_url:"",connection_token:null,npx_package:"",stdio_command:c.command,stdio_args:c.args,stdio_cwd:c.cwd,env_vars:o})}}else r.reset({title:l.title,description:l.description,ui_type:l.connection_type,connection_url:l.connection_url??"",connection_token:null,npx_package:"",stdio_command:"",stdio_args:"",stdio_cwd:"",env_vars:[]})}else r.reset({title:"",description:null,ui_type:"HTTP",connection_url:"",connection_token:null,npx_package:"",stdio_command:"",stdio_args:"",stdio_cwd:"",env_vars:[]})},[l,r]);const de=async()=>{if(v.mode!=="deleting")return;const t=v.connection.id;S({type:"close"});try{await I.delete.mutateAsync(t)}catch{}},me=async t=>{let o,c=null,T=null,C=null;if(t.ui_type==="NPX"?(o="STDIO",c="",C=xt(t.npx_package||"",t.env_vars||[])):t.ui_type==="STDIO"?(o="STDIO",c="",C=jt(t.stdio_command||"",t.stdio_args||"",t.stdio_cwd,t.env_vars||[])):(o=t.ui_type,c=t.connection_url||"",T=t.connection_token||null),l){await I.update.mutateAsync({id:l.id,data:{title:t.title,description:t.description||null,connection_type:o,connection_url:c,...T&&{connection_token:T},...C&&{connection_headers:C}}}),S({type:"close"}),r.reset();return}const w=at("conn");await I.create.mutateAsync({id:w,title:t.title,description:t.description||null,connection_type:o,connection_url:c,connection_token:T,created_at:new Date().toISOString(),updated_at:new Date().toISOString(),created_by:d?.user?.id||"system",organization_id:n.id,icon:null,app_name:null,app_id:null,connection_headers:C,oauth_config:null,configuration_state:null,metadata:null,tools:null,bindings:null,status:"inactive"}),W(),r.reset(),s({to:"/$org/mcps/$connectionId",params:{org:n.slug,connectionId:w}})},G=t=>{t||(L?W():S({type:"close"}),r.reset())},V=t=>{const o=t.trim();if(!o)return;const c=!!r.formState.dirtyFields.title,T=!!r.formState.dirtyFields.description,C=!!r.formState.dirtyFields.env_vars,w=p=>{if(p&&(!c&&!r.getValues("title").trim()&&p.title&&r.setValue("title",p.title,{shouldDirty:!1}),!T&&!(r.getValues("description")??"").trim()&&p.description&&r.setValue("description",p.description,{shouldDirty:!1}),!C&&p.envVarKeys?.length)){const q=r.getValues("env_vars")??[],he=new Set(q.map(b=>b.key)),Y=p.envVarKeys.filter(b=>!he.has(b));Y.length>0&&r.setValue("env_vars",[...q,...Y.map(b=>({key:b,value:""}))],{shouldDirty:!0})}},O=gt(o);if(O&&u){r.setValue("ui_type","NPX",{shouldDirty:!0}),r.setValue("npx_package",O.packageName,{shouldDirty:!0}),r.setValue("connection_url","",{shouldDirty:!0}),r.setValue("connection_token",null,{shouldDirty:!0}),w($({uiType:"NPX",npxPackage:O.packageName}));return}if(o.startsWith("http://")||o.startsWith("https://")){const p=m==="HTTP"||m==="SSE"||m==="Websocket"?m:"HTTP";r.setValue("ui_type",p,{shouldDirty:!0}),r.setValue("connection_url",o,{shouldDirty:!0}),w($({uiType:p,connectionUrl:o})??oe({uiType:p,connectionUrl:o,registryItems:X}));return}m==="NPX"&&w($({uiType:"NPX",npxPackage:o}))},ue=[{id:"icon",header:"",render:t=>e.jsx(be,{icon:t.icon,name:t.title,size:"sm",className:"shrink-0 shadow-sm",fallbackIcon:e.jsx(H,{})}),cellClassName:"w-16 shrink-0",wrap:!0},{id:"title",header:"Name",render:t=>e.jsx("span",{className:"text-sm font-medium text-foreground truncate block",title:t.title,children:t.title}),cellClassName:"w-48 max-w-48 min-w-0 shrink-0",sortable:!0},{id:"description",header:"Description",render:t=>e.jsx("span",{className:"text-sm text-foreground line-clamp-2",children:t.description||"—"}),cellClassName:"flex-1 min-w-0",wrap:!0,sortable:!0},{id:"connection_type",header:"Type",accessor:t=>e.jsx("span",{className:"text-sm font-medium",children:t.connection_type}),cellClassName:"w-24 shrink-0",sortable:!0},{id:"connection_url",header:"URL",render:t=>{const o=t.connection_url??"",c=o.length>40?`${o.slice(0,40)}...`:o;return e.jsx("span",{className:"text-sm text-muted-foreground",children:c})},cellClassName:"w-48 min-w-0 shrink-0"},{id:"status",header:"Status",render:t=>e.jsx(Xe,{variant:t.status==="active"?"success":"outline",children:t.status}),cellClassName:"w-24 shrink-0",sortable:!0},{id:"actions",header:"",render:t=>e.jsxs(J,{children:[e.jsx(Z,{asChild:!0,children:e.jsx(_,{variant:"ghost",size:"sm",className:"h-8 w-8 p-0",onClick:o=>o.stopPropagation(),children:e.jsx(te,{size:20})})}),e.jsxs(ee,{align:"end",onClick:o=>o.stopPropagation(),children:[e.jsxs(E,{onClick:o=>{o.stopPropagation(),s({to:"/$org/mcps/$connectionId",params:{org:n.slug,connectionId:t.id}})},children:[e.jsx(Q,{size:16}),"Open"]}),e.jsxs(E,{variant:"destructive",onClick:o=>{o.stopPropagation(),S({type:"delete",connection:t})},children:[e.jsx(ne,{size:16}),"Delete"]})]})]}),cellClassName:"w-12 shrink-0"}],pe=e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(_,{variant:"outline",onClick:()=>s({to:"/$org/store",params:{org:n.slug}}),size:"sm",className:"h-7 px-3 rounded-lg text-sm font-medium",children:"Browse Store"}),e.jsx(_,{onClick:ce,size:"sm",className:"h-7 px-3 rounded-lg text-sm font-medium",children:"Custom Connection"})]});return e.jsxs(Se,{children:[e.jsx(Le,{open:L||v.mode==="editing",onOpenChange:G,children:e.jsxs(We,{className:"sm:max-w-[525px]",children:[e.jsxs(Ke,{children:[e.jsx(Ge,{children:l?"Edit Connection":"Create Connection"}),e.jsx(qe,{children:l?"Update the connection details below.":"Create a custom connection in your organization. Fill in the details below."})]}),e.jsx(Qe,{...r,children:e.jsxs("form",{onSubmit:r.handleSubmit(me),children:[e.jsxs("div",{className:"grid gap-4 py-4",children:[e.jsx(h,{control:r.control,name:"ui_type",render:({field:t})=>e.jsxs(g,{children:[e.jsx(x,{children:"Type *"}),e.jsxs(nt,{value:t.value,onValueChange:t.onChange,children:[e.jsx(j,{children:e.jsx(ot,{children:e.jsx(st,{})})}),e.jsxs(rt,{children:[e.jsx(P,{value:"HTTP",children:e.jsxs("span",{className:"flex items-center gap-2",children:[e.jsx(z,{className:"w-4 h-4"}),"HTTP"]})}),e.jsx(P,{value:"SSE",children:e.jsxs("span",{className:"flex items-center gap-2",children:[e.jsx(z,{className:"w-4 h-4"}),"SSE"]})}),e.jsx(P,{value:"Websocket",children:e.jsxs("span",{className:"flex items-center gap-2",children:[e.jsx(z,{className:"w-4 h-4"}),"Websocket"]})}),u&&e.jsxs(e.Fragment,{children:[e.jsx(P,{value:"NPX",children:e.jsxs("span",{className:"flex items-center gap-2",children:[e.jsx(H,{className:"w-4 h-4"}),"NPX Package"]})}),e.jsx(P,{value:"STDIO",children:e.jsxs("span",{className:"flex items-center gap-2",children:[e.jsx(tt,{className:"w-4 h-4"}),"Custom Command"]})})]})]})]}),e.jsx(f,{})]})}),m==="NPX"&&e.jsx(e.Fragment,{children:e.jsx(h,{control:r.control,name:"npx_package",render:({field:t})=>e.jsxs(g,{children:[e.jsx(x,{children:"NPM Package *"}),e.jsx(j,{children:e.jsx(k,{placeholder:"@perplexity-ai/mcp-server",...t,value:t.value??"",onPaste:o=>{const c=o.clipboardData.getData("text");c&&(o.preventDefault(),r.setValue("npx_package",c.trim(),{shouldDirty:!0}),V(c))},onBlur:o=>{V(o.target.value),t.onBlur()}})}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"The npm package to run with npx"}),e.jsx(f,{})]})})}),m==="STDIO"&&e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"grid grid-cols-2 gap-4 items-start",children:[e.jsx(h,{control:r.control,name:"stdio_command",render:({field:t})=>e.jsxs(g,{children:[e.jsx(x,{children:"Command *"}),e.jsx(j,{children:e.jsx(k,{placeholder:"node, bun, python...",...t,value:t.value??""})}),e.jsx(f,{})]})}),e.jsx(h,{control:r.control,name:"stdio_args",render:({field:t})=>e.jsxs(g,{children:[e.jsx(x,{children:"Arguments"}),e.jsx(j,{children:e.jsx(k,{placeholder:"arg1 arg2 --flag value",...t,value:t.value??""})}),e.jsx(f,{})]})})]}),e.jsx(h,{control:r.control,name:"stdio_cwd",render:({field:t})=>e.jsxs(g,{children:[e.jsx(x,{children:"Working Directory"}),e.jsx(j,{children:e.jsx(k,{placeholder:"/path/to/project (optional)",...t,value:t.value??""})}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"Directory where the command will be executed"}),e.jsx(f,{})]})})]}),(m==="NPX"||m==="STDIO")&&e.jsx(h,{control:r.control,name:"env_vars",render:({field:t})=>e.jsxs(g,{children:[e.jsx(x,{children:"Environment Variables"}),e.jsx(j,{children:e.jsx(ut,{value:t.value??[],onChange:t.onChange})}),e.jsx(f,{})]})}),m!=="NPX"&&m!=="STDIO"&&e.jsxs(e.Fragment,{children:[e.jsx(h,{control:r.control,name:"connection_url",render:({field:t})=>e.jsxs(g,{children:[e.jsx(x,{children:"URL *"}),e.jsx(j,{children:e.jsx(k,{placeholder:"https://example.com/mcp",...t,value:t.value??"",onPaste:o=>{const c=o.clipboardData.getData("text");c&&(o.preventDefault(),r.setValue("connection_url",c.trim(),{shouldDirty:!0}),V(c))},onBlur:o=>{V(o.target.value),t.onBlur()}})}),e.jsx(f,{})]})}),e.jsx(h,{control:r.control,name:"connection_token",render:({field:t})=>e.jsxs(g,{children:[e.jsx(x,{children:D?.token?.label??"Token (optional)"}),e.jsx(j,{children:e.jsx(k,{type:"password",placeholder:D?.token?.placeholder??"Bearer token or API key",...t,value:t.value??""})}),D?.token?.helperText&&e.jsxs("p",{className:"text-xs text-muted-foreground",children:[D.token.helperText,D.id==="github"&&e.jsxs(e.Fragment,{children:[" ","·"," ",e.jsx("a",{className:"text-foreground underline underline-offset-4 hover:text-foreground/80",href:"https://github.com/settings/personal-access-tokens",target:"_blank",rel:"noreferrer",children:"Open GitHub PAT settings"})]})]}),e.jsx(f,{})]})})]}),e.jsx(h,{control:r.control,name:"title",render:({field:t})=>e.jsxs(g,{children:[e.jsx(x,{children:"Name *"}),e.jsx(j,{children:e.jsx(k,{placeholder:"My Connection",...t})}),e.jsx(f,{})]})}),e.jsx(h,{control:r.control,name:"description",render:({field:t})=>e.jsxs(g,{children:[e.jsx(x,{children:"Description"}),e.jsx(j,{children:e.jsx(it,{placeholder:"A brief description of this connection",rows:3,...t,value:t.value??""})}),e.jsx(f,{})]})})]}),e.jsxs(Ye,{children:[e.jsx(_,{type:"button",variant:"outline",onClick:()=>G(!1),children:"Cancel"}),e.jsx(_,{type:"submit",disabled:r.formState.isSubmitting,className:"min-w-40",children:r.formState.isSubmitting?"Saving...":l?"Update Connection":"Create Connection"})]})]})})]})}),e.jsx(Fe,{open:v.mode==="deleting",onOpenChange:t=>!t&&S({type:"close"}),children:e.jsxs(Oe,{children:[e.jsxs(He,{children:[e.jsx(Be,{children:"Delete Connection?"}),e.jsxs(ze,{children:["This action cannot be undone. This will permanently delete"," ",e.jsx("span",{className:"font-medium text-foreground",children:v.mode==="deleting"&&v.connection.title}),"."]})]}),e.jsxs(Me,{children:[e.jsx(Re,{children:"Cancel"}),e.jsx(Ue,{onClick:de,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:"Delete"})]})]})}),e.jsx(Ne,{title:"Connections",viewMode:a.viewMode,onViewModeChange:a.setViewMode,sortKey:a.sortKey,sortDirection:a.sortDirection,onSort:a.handleSort,sortOptions:[{id:"title",label:"Name"},{id:"description",label:"Description"},{id:"connection_type",label:"Type"},{id:"status",label:"Status"}],ctaButton:pe}),e.jsx(Te,{value:a.search,onChange:a.setSearch,placeholder:"Search for a Connection...",onKeyDown:t=>{t.key==="Escape"&&(a.setSearch(""),t.target.blur())}}),a.viewMode==="cards"?e.jsx("div",{className:"flex-1 overflow-auto p-5",children:N.length===0?e.jsx(B,{image:e.jsx("img",{src:"/emptystate-mcp.svg",alt:"",width:336,height:320,"aria-hidden":"true"}),title:(a.search,"No Connections found"),description:a.search?`No Connections match "${a.search}"`:"Create a connection to get started.",actions:!a.search&&e.jsx(_,{variant:"outline",onClick:()=>s({to:"/$org/store",params:{org:n.slug}}),children:"Browse Store"})}):e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-3 lg:grid-cols-4 gap-4",children:N.map(t=>e.jsx(De,{connection:t,fallbackIcon:e.jsx(H,{}),onClick:()=>s({to:"/$org/mcps/$connectionId",params:{org:n.slug,connectionId:t.id}}),headerActions:e.jsxs(J,{children:[e.jsx(Z,{asChild:!0,children:e.jsx(_,{variant:"ghost",size:"sm",className:"h-8 w-8 p-0",onClick:o=>o.stopPropagation(),children:e.jsx(te,{size:20})})}),e.jsxs(ee,{align:"end",onClick:o=>o.stopPropagation(),children:[e.jsxs(E,{onClick:o=>{o.stopPropagation(),s({to:"/$org/mcps/$connectionId",params:{org:n.slug,connectionId:t.id}})},children:[e.jsx(Q,{size:16}),"Open"]}),e.jsxs(E,{variant:"destructive",onClick:o=>{o.stopPropagation(),S({type:"delete",connection:t})},children:[e.jsx(ne,{size:16}),"Delete"]})]})]})},t.id))})}):e.jsx(we,{columns:ue,data:N,isLoading:!1,sortKey:a.sortKey,sortDirection:a.sortDirection,onSort:a.handleSort,onRowClick:t=>s({to:"/$org/mcps/$connectionId",params:{org:n.slug,connectionId:t.id}}),emptyState:a.search?e.jsx(B,{image:e.jsx("img",{src:"/emptystate-mcp.svg",alt:"",width:400,height:178,"aria-hidden":"true"}),title:"No Connections found",description:`No Connections match "${a.search}"`}):e.jsx(B,{image:e.jsx("img",{src:"/emptystate-mcp.svg",alt:"",width:400,height:178,"aria-hidden":"true"}),title:"No Connections found",description:"Create a connection to get started.",actions:e.jsx(_,{variant:"outline",onClick:()=>s({to:"/$org/store",params:{org:n.slug}}),children:"Browse Store"})})})]})}function jn(){const n=ge.c(1);let s;return n[0]===Symbol.for("react.memo_cache_sentinel")?(s=e.jsx(Pe,{children:e.jsx(M.Suspense,{fallback:e.jsx("div",{className:"flex h-full items-center justify-center",children:e.jsx(et,{size:32,className:"animate-spin text-muted-foreground"})}),children:e.jsx(Ct,{})})}),n[0]=s):s=n[0],s}export{jn as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{aH as a,bC as t}from"./index-CRvHJTW7.js";const e="mcp.mesh",s=a(t,{target:"draft-7"});export{s as B,e as M};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{y as A,z as D,c as O,B as v,E,j as r,a as N}from"./index-
|
|
1
|
+
import{y as A,z as D,c as O,B as v,E,j as r,a as N}from"./index-CRvHJTW7.js";import{A as I,a as M,b as B,c as L,d as R,e as T,f as $}from"./alert-dialog-DrfswxC3.js";import{B as V}from"./button-BdSVK2Y9.js";import{F as k,a as q,b as H,c as U,d as G,e as J,f as K}from"./form-ma_v39Z5.js";import{I as P}from"./input-LAgwngta.js";import{S as Q}from"./spinner-B1_J8xfL.js";import{u as W}from"./useMutation-AON1uiHs.js";function _(o){return o.toLowerCase().trim().replace(/[^a-z0-9\s_-]+/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}const X=A({name:D().min(2,"Organization name is required")});function ne(o){const e=O.c(41),{open:a,onOpenChange:s}=o;let j;e[0]===Symbol.for("react.memo_cache_sentinel")?(j={resolver:v(X),defaultValues:{name:""}},e[0]=j):j=e[0];const t=E(j);let z;e[1]===Symbol.for("react.memo_cache_sentinel")?(z={mutationFn:Z,onSuccess:Y},e[1]=z):z=e[1];const i=W(z),w=i.error instanceof Error?i.error.message:i.error?"Failed to create organization.":null;let F;e[2]===Symbol.for("react.memo_cache_sentinel")?(F=r.jsxs(B,{children:[r.jsx(L,{children:"Create a new organization"}),r.jsx(R,{children:"Set up a new organization to collaborate with others."})]}),e[2]=F):F=e[2];let n;if(e[3]!==i||e[4]!==t){let x;e[6]!==i?(x=b=>i.mutateAsync(b),e[6]=i,e[7]=x):x=e[7],n=t.handleSubmit(x),e[3]=i,e[4]=t,e[5]=n}else n=e[5];let l;e[8]!==t.formState.isSubmitting?(l=x=>{const{field:b}=x;return r.jsxs(H,{children:[r.jsx(U,{children:"Organization Name"}),r.jsx(G,{children:r.jsx(P,{...b,placeholder:"Acme Inc.",disabled:t.formState.isSubmitting})}),r.jsx(J,{children:"The name of your company or organization"}),b.value&&r.jsxs("div",{className:"text-xs text-muted-foreground mt-1",children:["Organization URL:"," ",r.jsxs("span",{className:"font-mono",children:[typeof window<"u"?globalThis.location.origin:"","/",_(b.value)]})]}),r.jsx(K,{})]})},e[8]=t.formState.isSubmitting,e[9]=l):l=e[9];let m;e[10]!==t.control||e[11]!==l?(m=r.jsx(k,{control:t.control,name:"name",render:l}),e[10]=t.control,e[11]=l,e[12]=m):m=e[12];let c;e[13]!==w?(c=w&&r.jsx("div",{className:"text-destructive text-sm mt-2",children:w}),e[13]=w,e[14]=c):c=e[14];let f;e[15]!==i||e[16]!==t?(f=()=>{i.reset(),t.reset()},e[15]=i,e[16]=t,e[17]=f):f=e[17];let g;e[18]!==t.formState.isSubmitting||e[19]!==f?(g=r.jsx(I,{disabled:t.formState.isSubmitting,onClick:f,children:"Cancel"}),e[18]=t.formState.isSubmitting,e[19]=f,e[20]=g):g=e[20];const y=!t.formState.isValid||t.formState.isSubmitting;let u;e[21]!==t.formState.isSubmitting?(u=t.formState.isSubmitting?r.jsxs("span",{className:"flex items-center gap-2",children:[r.jsx(Q,{size:"xs"})," Creating..."]}):"Create Organization",e[21]=t.formState.isSubmitting,e[22]=u):u=e[22];let d;e[23]!==y||e[24]!==u?(d=r.jsx(V,{type:"submit",variant:"default",disabled:y,children:u}),e[23]=y,e[24]=u,e[25]=d):d=e[25];let S;e[26]!==d||e[27]!==g?(S=r.jsxs(T,{children:[g,d]}),e[26]=d,e[27]=g,e[28]=S):S=e[28];let h;e[29]!==S||e[30]!==n||e[31]!==m||e[32]!==c?(h=r.jsxs("form",{className:"space-y-6",onSubmit:n,autoComplete:"off",children:[m,c,S]}),e[29]=S,e[30]=n,e[31]=m,e[32]=c,e[33]=h):h=e[33];let p;e[34]!==t||e[35]!==h?(p=r.jsxs(M,{children:[F,r.jsx(q,{...t,children:h})]}),e[34]=t,e[35]=h,e[36]=p):p=e[36];let C;return e[37]!==s||e[38]!==a||e[39]!==p?(C=r.jsx($,{open:a,onOpenChange:s,children:p}),e[37]=s,e[38]=a,e[39]=p,e[40]=C):C=e[40],C}function Y(o){const{orgSlug:e}=o;window.location.href=`/${e}`}async function Z(o){const e=_(o.name);if(!e)throw new Error("Organization slug is invalid");const a=await N.organization.create({name:o.name,slug:e});if(a?.error)throw new Error(a.error.message||"Failed to create organization");const s=a?.data?.slug??e;if(!s)throw new Error("Failed to create organization");return{orgSlug:s}}export{ne as C};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as n,j as i,R as u,C as m,T as x,D as j,P as N,O as b,
|
|
1
|
+
import{c as n,j as i,R as u,C as m,T as x,D as j,P as N,O as b,bu as D,g as p}from"./index-CRvHJTW7.js";import{i as h}from"./X-C1UdIYIh.js";import{c}from"./button-BdSVK2Y9.js";function k(l){const e=n.c(4);let t;e[0]!==l?({...t}=l,e[0]=l,e[1]=t):t=e[1];let s;return e[2]!==t?(s=i.jsx(u,{"data-slot":"dialog",...t}),e[2]=t,e[3]=s):s=e[3],s}function w(l){const e=n.c(4);let t;e[0]!==l?({...t}=l,e[0]=l,e[1]=t):t=e[1];let s;return e[2]!==t?(s=i.jsx(D,{"data-slot":"dialog-trigger",...t}),e[2]=t,e[3]=s):s=e[3],s}function v(l){const e=n.c(4);let t;e[0]!==l?({...t}=l,e[0]=l,e[1]=t):t=e[1];let s;return e[2]!==t?(s=i.jsx(N,{"data-slot":"dialog-portal",...t}),e[2]=t,e[3]=s):s=e[3],s}function T(l){const e=n.c(4);let t;e[0]!==l?({...t}=l,e[0]=l,e[1]=t):t=e[1];let s;return e[2]!==t?(s=i.jsx(p,{"data-slot":"dialog-close",...t}),e[2]=t,e[3]=s):s=e[3],s}function y(l){const e=n.c(8);let t,s;e[0]!==l?({className:t,...s}=l,e[0]=l,e[1]=t,e[2]=s):(t=e[1],s=e[2]);let a;e[3]!==t?(a=c("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-background/60 backdrop-blur-[0.5px]",t),e[3]=t,e[4]=a):a=e[4];let o;return e[5]!==s||e[6]!==a?(o=i.jsx(b,{"data-slot":"dialog-overlay",className:a,...s}),e[5]=s,e[6]=a,e[7]=o):o=e[7],o}function $(l){const e=n.c(6),{className:t}=l;let s;e[0]!==t?(s=c("cursor-pointer ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground","absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2","focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",t),e[0]=t,e[1]=s):s=e[1];let a,o;e[2]===Symbol.for("react.memo_cache_sentinel")?(a=i.jsx(h,{}),o=i.jsx("span",{className:"sr-only",children:"Close"}),e[2]=a,e[3]=o):(a=e[2],o=e[3]);let r;return e[4]!==s?(r=i.jsxs(p,{className:s,children:[a,o]}),e[4]=s,e[5]=r):r=e[5],r}function R(l){const e=n.c(15);let t,s,a,o;e[0]!==l?({className:s,children:t,closeButtonClassName:a,...o}=l,e[0]=l,e[1]=t,e[2]=s,e[3]=a,e[4]=o):(t=e[1],s=e[2],a=e[3],o=e[4]);let r;e[5]===Symbol.for("react.memo_cache_sentinel")?(r=i.jsx(y,{}),e[5]=r):r=e[5];let d;e[6]!==s?(d=c("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-xl border p-6 shadow-md duration-200 sm:max-w-lg",s),e[6]=s,e[7]=d):d=e[7];let f;e[8]!==a?(f=i.jsx($,{className:a}),e[8]=a,e[9]=f):f=e[9];let g;return e[10]!==t||e[11]!==o||e[12]!==d||e[13]!==f?(g=i.jsxs(v,{"data-slot":"dialog-portal",children:[r,i.jsxs(m,{"data-slot":"dialog-content",className:d,...o,children:[t,f]})]}),e[10]=t,e[11]=o,e[12]=d,e[13]=f,e[14]=g):g=e[14],g}function O(l){const e=n.c(8);let t,s;e[0]!==l?({className:t,...s}=l,e[0]=l,e[1]=t,e[2]=s):(t=e[1],s=e[2]);let a;e[3]!==t?(a=c("flex flex-col gap-2 text-center sm:text-left",t),e[3]=t,e[4]=a):a=e[4];let o;return e[5]!==s||e[6]!==a?(o=i.jsx("div",{"data-slot":"dialog-header",className:a,...s}),e[5]=s,e[6]=a,e[7]=o):o=e[7],o}function P(l){const e=n.c(8);let t,s;e[0]!==l?({className:t,...s}=l,e[0]=l,e[1]=t,e[2]=s):(t=e[1],s=e[2]);let a;e[3]!==t?(a=c("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",t),e[3]=t,e[4]=a):a=e[4];let o;return e[5]!==s||e[6]!==a?(o=i.jsx("div",{"data-slot":"dialog-footer",className:a,...s}),e[5]=s,e[6]=a,e[7]=o):o=e[7],o}function B(l){const e=n.c(8);let t,s;e[0]!==l?({className:t,...s}=l,e[0]=l,e[1]=t,e[2]=s):(t=e[1],s=e[2]);let a;e[3]!==t?(a=c("text-lg leading-none font-semibold",t),e[3]=t,e[4]=a):a=e[4];let o;return e[5]!==s||e[6]!==a?(o=i.jsx(x,{"data-slot":"dialog-title",className:a,...s}),e[5]=s,e[6]=a,e[7]=o):o=e[7],o}function E(l){const e=n.c(8);let t,s;e[0]!==l?({className:t,...s}=l,e[0]=l,e[1]=t,e[2]=s):(t=e[1],s=e[2]);let a;e[3]!==t?(a=c("text-muted-foreground text-sm",t),e[3]=t,e[4]=a):a=e[4];let o;return e[5]!==s||e[6]!==a?(o=i.jsx(j,{"data-slot":"dialog-description",className:a,...s}),e[5]=s,e[6]=a,e[7]=o):o=e[7],o}export{B as D,O as a,T as b,R as c,k as d,w as e,P as f,E as g};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c,j as i,
|
|
1
|
+
import{c,j as i,bL as p,bM as f,bN as m,bO as g,bP as b,bQ as x,bR as v,bS as w,bT as h}from"./index-CRvHJTW7.js";import{i as j}from"./Grid01-DfwQCcJX.js";import{c as u}from"./button-BdSVK2Y9.js";function D(s){const e=c.c(4);let t;e[0]!==s?({...t}=s,e[0]=s,e[1]=t):t=e[1];let o;return e[2]!==t?(o=i.jsx(p,{"data-slot":"dropdown-menu",...t}),e[2]=t,e[3]=o):o=e[3],o}function M(s){const e=c.c(4);let t;e[0]!==s?({...t}=s,e[0]=s,e[1]=t):t=e[1];let o;return e[2]!==t?(o=i.jsx(f,{"data-slot":"dropdown-menu-trigger",...t}),e[2]=t,e[3]=o):o=e[3],o}function $(s){const e=c.c(10);let t,o,a;e[0]!==s?({className:t,sideOffset:a,...o}=s,e[0]=s,e[1]=t,e[2]=o,e[3]=a):(t=e[1],o=e[2],a=e[3]);const n=a===void 0?4:a;let r;e[4]!==t?(r=u("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-lg border p-1 shadow-md",t),e[4]=t,e[5]=r):r=e[5];let d;return e[6]!==o||e[7]!==n||e[8]!==r?(d=i.jsx(m,{children:i.jsx(g,{"data-slot":"dropdown-menu-content",sideOffset:n,className:r,...o})}),e[6]=o,e[7]=n,e[8]=r,e[9]=d):d=e[9],d}function y(s){const e=c.c(12);let t,o,a,n;e[0]!==s?({className:t,inset:o,variant:n,...a}=s,e[0]=s,e[1]=t,e[2]=o,e[3]=a,e[4]=n):(t=e[1],o=e[2],a=e[3],n=e[4]);const r=n===void 0?"default":n;let d;e[5]!==t?(d=u("focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-pointer items-center gap-2 rounded-lg px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",t),e[5]=t,e[6]=d):d=e[6];let l;return e[7]!==o||e[8]!==a||e[9]!==d||e[10]!==r?(l=i.jsx(b,{"data-slot":"dropdown-menu-item","data-inset":o,"data-variant":r,className:d,...a}),e[7]=o,e[8]=a,e[9]=d,e[10]=r,e[11]=l):l=e[11],l}function _(s){const e=c.c(8);let t,o;e[0]!==s?({className:t,...o}=s,e[0]=s,e[1]=t,e[2]=o):(t=e[1],o=e[2]);let a;e[3]!==t?(a=u("bg-border -mx-1 my-1 h-px",t),e[3]=t,e[4]=a):a=e[4];let n;return e[5]!==o||e[6]!==a?(n=i.jsx(h,{"data-slot":"dropdown-menu-separator",className:a,...o}),e[5]=o,e[6]=a,e[7]=n):n=e[7],n}function T(s){const e=c.c(4);let t;e[0]!==s?({...t}=s,e[0]=s,e[1]=t):t=e[1];let o;return e[2]!==t?(o=i.jsx(x,{"data-slot":"dropdown-menu-sub",...t}),e[2]=t,e[3]=o):o=e[3],o}function C(s){const e=c.c(13);let t,o,a,n;e[0]!==s?({className:o,inset:a,children:t,...n}=s,e[0]=s,e[1]=t,e[2]=o,e[3]=a,e[4]=n):(t=e[1],o=e[2],a=e[3],n=e[4]);let r;e[5]!==o?(r=u("focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground flex cursor-default items-center rounded-lg px-2 py-1.5 text-sm outline-hidden select-none data-[inset]:pl-8",o),e[5]=o,e[6]=r):r=e[6];let d;e[7]===Symbol.for("react.memo_cache_sentinel")?(d=i.jsx(j,{className:"ml-auto size-4"}),e[7]=d):d=e[7];let l;return e[8]!==t||e[9]!==a||e[10]!==n||e[11]!==r?(l=i.jsxs(v,{"data-slot":"dropdown-menu-sub-trigger","data-inset":a,className:r,...n,children:[t,d]}),e[8]=t,e[9]=a,e[10]=n,e[11]=r,e[12]=l):l=e[12],l}function R(s){const e=c.c(8);let t,o;e[0]!==s?({className:t,...o}=s,e[0]=s,e[1]=t,e[2]=o):(t=e[1],o=e[2]);let a;e[3]!==t?(a=u("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden rounded-md border p-1 shadow-lg",t),e[3]=t,e[4]=a):a=e[4];let n;return e[5]!==o||e[6]!==a?(n=i.jsx(w,{"data-slot":"dropdown-menu-sub-content",className:a,...o}),e[5]=o,e[6]=a,e[7]=n):n=e[7],n}export{M as D,$ as a,D as b,y as c,_ as d,T as e,C as f,R as g};
|
package/dist/client/assets/{dynamic-plugin-layout-DgPbTvHX.js → dynamic-plugin-layout-C3O7bg_M.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as I,d as P,a as O,j as n,
|
|
1
|
+
import{c as I,d as P,a as O,j as n,bU as N,r as b,w as H,Q as R}from"./index-CRvHJTW7.js";import{i as _}from"./Loading01-Cylg3-_j.js";import{a as T}from"./binder-DyJ0n4d5.js";import{u as A}from"./use-connection-BdE78hZ6.js";import{L as $,u as D}from"./localstorage-keys-DHv4MWFb.js";import{u as G}from"./project-context-provider-BOp7y-sm.js";import{c as K}from"./connection-BQ8tHXWt.js";import"./use-collections-B9erc3lD.js";import"./useMutation-AON1uiHs.js";import"./useQuery-Bvq31XvZ.js";function Q(e,t){return e?e.filter(d=>T(d,t)):[]}function L(e){return{id:e.id,title:e.title,icon:e.icon,description:e.description,app_name:e.app_name,app_id:e.app_id,tools:e.tools,metadata:e.metadata}}function U(e){const t=I.c(13),{binding:d,renderHeader:m,renderEmptyState:s}=e,{org:l}=G();let r;t[0]===Symbol.for("react.memo_cache_sentinel")?(r={strict:!1},t[0]=r):r=t[0];const{pluginId:a}=P(r),i=A(),{data:o}=O.useSession(),p=Q(i,d);let x;t[1]!==l.slug||t[2]!==a?(x=$.pluginConnection(l.slug,a),t[1]=l.slug,t[2]=a,t[3]=x):x=t[3];const[y,w]=D(x,Y);let g;t[4]!==y?(g=f=>f.id===y,t[4]=y,t[5]=g):g=t[5];const u=p.find(g)??p[0]??null,v=o?.user?{user:{id:o.user.id,name:o.user.name,email:o.user.email,image:o.user.image}}:null,E={id:l.id,slug:l.slug,name:l.name};if(p.length===0||!u){const f={connectionId:null,connection:null,toolCaller:null,org:E,session:v};let c;t[6]!==s?(c=s(),t[6]=s,t[7]=c):c=t[7];let C;return t[8]!==c?(C=n.jsx("div",{className:"h-full flex flex-col overflow-hidden",children:c}),t[8]=c,t[9]=C):C=t[9],n.jsx(N,{value:f,children:C})}const k=K(u.id),z={connectionId:u.id,connection:L(u),toolCaller:((f,c)=>k(f,c)),org:E,session:v},B="h-full flex flex-col overflow-hidden",S=m({connections:p.map(L),selectedConnectionId:u.id,onConnectionChange:w});let h;t[10]===Symbol.for("react.memo_cache_sentinel")?(h=n.jsx("div",{className:"flex-1 overflow-hidden",children:n.jsx(b.Suspense,{fallback:n.jsxs("div",{className:"flex flex-col items-center justify-center h-full",children:[n.jsx(_,{size:32,className:"animate-spin text-muted-foreground mb-4"}),n.jsx("p",{className:"text-sm text-muted-foreground",children:"Loading..."})]}),children:n.jsx(H,{})})}),t[10]=h):h=t[10];let j;return t[11]!==S?(j=n.jsxs("div",{className:B,children:[S,h]}),t[11]=S,t[12]=j):j=t[12],n.jsx(N,{value:z,children:j})}function Y(e){return e??""}function se(){const e=I.c(12);let t;e[0]===Symbol.for("react.memo_cache_sentinel")?(t={strict:!1},e[0]=t):t=e[0];const{pluginId:d}=P(t);let m;e[1]!==d?(m=R.find(i=>i.id===d),e[1]=d,e[2]=m):m=e[2];const s=m;if(s?.renderHeader&&s?.renderEmptyState){let i;e[3]===Symbol.for("react.memo_cache_sentinel")?(i=n.jsxs("div",{className:"flex flex-col items-center justify-center h-full",children:[n.jsx(_,{size:32,className:"animate-spin text-muted-foreground mb-4"}),n.jsx("p",{className:"text-sm text-muted-foreground",children:"Loading plugin..."})]}),e[3]=i):i=e[3];let o;return e[4]!==s.binding||e[5]!==s.renderEmptyState||e[6]!==s.renderHeader?(o=n.jsx(b.Suspense,{fallback:i,children:n.jsx(U,{binding:s.binding,renderHeader:s.renderHeader,renderEmptyState:s.renderEmptyState})}),e[4]=s.binding,e[5]=s.renderEmptyState,e[6]=s.renderHeader,e[7]=o):o=e[7],o}const l=s?.LayoutComponent;if(!l){let i;return e[8]===Symbol.for("react.memo_cache_sentinel")?(i=n.jsx(H,{}),e[8]=i):i=e[8],i}let r;e[9]===Symbol.for("react.memo_cache_sentinel")?(r=n.jsxs("div",{className:"flex flex-col items-center justify-center h-full",children:[n.jsx(_,{size:32,className:"animate-spin text-muted-foreground mb-4"}),n.jsx("p",{className:"text-sm text-muted-foreground",children:"Loading plugin..."})]}),e[9]=r):r=e[9];let a;return e[10]!==l?(a=n.jsx(b.Suspense,{fallback:r,children:n.jsx(l,{})}),e[10]=l,e[11]=a):a=e[11],a}export{se as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as y,c as C,j as l}from"./index-
|
|
1
|
+
import{r as y,c as C,j as l}from"./index-CRvHJTW7.js";import{c as I}from"./button-BdSVK2Y9.js";const _=({size:o=24,color:e="currentColor",...t})=>y.createElement("svg",{viewBox:"0 0 24 24",width:o,height:o,stroke:e,strokeWidth:"2",fill:"none",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...t},y.createElement("path",{d:"M20.5 7.278 12 12m0 0L3.5 7.278M12 12v9.5m9-5.441V7.942c0-.343 0-.514-.05-.667a1 1 0 0 0-.215-.364c-.109-.119-.258-.202-.558-.368l-7.4-4.111c-.284-.158-.425-.237-.575-.267a1 1 0 0 0-.403 0c-.15.03-.292.11-.576.267l-7.4 4.11c-.3.167-.45.25-.558.369a1 1 0 0 0-.215.364C3 7.428 3 7.599 3 7.942v8.117c0 .342 0 .514.05.666a1 1 0 0 0 .215.364c.109.119.258.202.558.368l7.4 4.111c.284.158.425.237.576.268.133.027.27.027.402 0 .15-.031.292-.11.576-.268l7.4-4.11c.3-.167.45-.25.558-.369a.999.999 0 0 0 .215-.364c.05-.152.05-.324.05-.666Z"}));_.displayName="Container";const L={"2xs":"h-4 w-4",xs:"h-6 w-6",sm:"h-8 w-8",md:"h-12 w-12",lg:"h-16 w-16"},z={"2xs":"min-w-4",xs:"min-w-6",sm:"min-w-8",md:"min-w-12",lg:"min-w-16"},$={"2xs":8,xs:12,sm:16,md:24,lg:32};function R(o){const e=C.c(7),{icon:t,name:r,size:h,className:a,fallbackIcon:m}=o,n=h===void 0?"md":h,g=t??"no-icon";let s;return e[0]!==a||e[1]!==m||e[2]!==t||e[3]!==r||e[4]!==n||e[5]!==g?(s=l.jsx(M,{icon:t,name:r,size:n,className:a,fallbackIcon:m},g),e[0]=a,e[1]=m,e[2]=t,e[3]=r,e[4]=n,e[5]=g,e[6]=s):s=e[6],s}function M(o){const e=C.c(24),{icon:t,name:r,size:h,className:a,fallbackIcon:m}=o,n=h===void 0?"md":h,[g,s]=y.useState(!1),j=!!t&&g,d=L[n],f=z[n];let c;e[0]!==a||e[1]!==d||e[2]!==f?(c=I("rounded-lg border border-border shrink-0 overflow-hidden",d,f,a),e[0]=a,e[1]=d,e[2]=f,e[3]=c):c=e[3];const x=t||void 0,u=!j&&"hidden";let i;e[4]!==u?(i=I("h-full w-full object-cover",u),e[4]=u,e[5]=i):i=e[5];let p,E;e[6]===Symbol.for("react.memo_cache_sentinel")?(p=()=>s(!1),E=()=>s(!0),e[6]=p,e[7]=E):(p=e[6],E=e[7]);let N;e[8]!==r||e[9]!==x||e[10]!==i?(N=l.jsx("img",{src:x,alt:r,className:i,onError:p,onLoad:E}),e[8]=r,e[9]=x,e[10]=i,e[11]=N):N=e[11];const k=j&&"hidden";let w;e[12]!==k?(w=I("h-full w-full flex items-center justify-center bg-muted/20",k),e[12]=k,e[13]=w):w=e[13];let v;e[14]!==m||e[15]!==n?(v=m??l.jsx(_,{size:$[n],className:"text-muted-foreground"}),e[14]=m,e[15]=n,e[16]=v):v=e[16];let S;e[17]!==w||e[18]!==v?(S=l.jsx("div",{className:w,children:v}),e[17]=w,e[18]=v,e[19]=S):S=e[19];let b;return e[20]!==N||e[21]!==S||e[22]!==c?(b=l.jsxs("div",{className:c,children:[N,S]}),e[20]=N,e[21]=S,e[22]=c,e[23]=b):b=e[23],b}function Z(){const o=C.c(1);let e;return o[0]===Symbol.for("react.memo_cache_sentinel")?(e=l.jsx("img",{src:"/empty-state-cards.png",alt:"",width:336,height:320,"aria-hidden":"true"}),o[0]=e):e=o[0],e}function W(o){const e=C.c(24),{image:t,title:r,description:h,actions:a,className:m,descriptionClassName:n,actionsClassName:g}=o;let s;e[0]!==m?(s=I("flex flex-1 flex-col items-center justify-center gap-8 p-4",m),e[0]=m,e[1]=s):s=e[1];let j;e[2]!==t?(j=t!==null&&l.jsx("div",{className:"flex items-center justify-center",children:t??l.jsx(Z,{})}),e[2]=t,e[3]=j):j=e[3];let d;e[4]!==r?(d=l.jsx("h3",{className:"text-lg font-medium text-foreground",children:r}),e[4]=r,e[5]=d):d=e[5];let f;e[6]!==n?(f=I("text-sm text-muted-foreground text-center max-w-[300px]",n),e[6]=n,e[7]=f):f=e[7];let c;e[8]!==h||e[9]!==f?(c=l.jsx("div",{className:f,children:h}),e[8]=h,e[9]=f,e[10]=c):c=e[10];let x;e[11]!==d||e[12]!==c?(x=l.jsxs("div",{className:"flex flex-col items-center gap-2",children:[d,c]}),e[11]=d,e[12]=c,e[13]=x):x=e[13];let u;e[14]!==a||e[15]!==g?(u=a&&l.jsx("div",{className:I("flex items-center gap-2",g),children:a}),e[14]=a,e[15]=g,e[16]=u):u=e[16];let i;e[17]!==x||e[18]!==u?(i=l.jsxs("div",{className:"flex flex-col items-center gap-4",children:[x,u]}),e[17]=x,e[18]=u,e[19]=i):i=e[19];let p;return e[20]!==s||e[21]!==j||e[22]!==i?(p=l.jsxs("div",{className:s,children:[j,i]}),e[20]=s,e[21]=j,e[22]=i,e[23]=p):p=e[23],p}export{W as E,R as I,_ as n};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as p,j as t}from"./index-
|
|
1
|
+
import{c as p,j as t}from"./index-CRvHJTW7.js";import{B as j,c as b}from"./button-BdSVK2Y9.js";function v(u){const e=p.c(18),{icon:a,title:m,description:x,buttonProps:n,buttonComponent:f}=u;let s;e[0]!==a?(s=t.jsx("div",{className:"flex items-center justify-center",children:t.jsx("div",{className:"p-6 rounded-full border border-muted",children:t.jsx("div",{className:"p-4 rounded-full border border-border",children:t.jsx("div",{className:"p-3.5 rounded-full border border-border",children:t.jsx("div",{className:"p-3 rounded-full border border-border",children:t.jsx("div",{className:"w-20 h-20 rounded-full bg-muted flex items-center justify-center p-4",children:a})})})})})}),e[0]=a,e[1]=s):s=e[1];let l;e[2]!==m?(l=t.jsx("h3",{className:"text-2xl font-semibold text-foreground text-center",children:m}),e[2]=m,e[3]=l):l=e[3];let r;e[4]!==x?(r=t.jsx("div",{className:"text-sm text-muted-foreground text-center flex flex-col gap-1",children:x}),e[4]=x,e[5]=r):r=e[5];let d;e[6]!==l||e[7]!==r?(d=t.jsxs("div",{className:"flex flex-col items-center gap-2 max-w-md",children:[l,r]}),e[6]=l,e[7]=r,e[8]=d):d=e[8];let i;e[9]!==f||e[10]!==n?(i=f??(n&&t.jsx(j,{variant:"outline",size:"default",className:b("gap-2",n?.className),...n})),e[9]=f,e[10]=n,e[11]=i):i=e[11];let c;e[12]!==i?(c=t.jsx("div",{className:"mt-6",children:i}),e[12]=i,e[13]=c):c=e[13];let o;return e[14]!==s||e[15]!==d||e[16]!==c?(o=t.jsxs("div",{className:"flex h-full flex-col items-center justify-center",children:[s,d,c]}),e[14]=s,e[15]=d,e[16]=c,e[17]=o):o=e[17],o}export{v as E};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{y as k,_ as D,I as v,z as t,J as m,
|
|
1
|
+
import{y as k,_ as D,I as v,z as t,J as m,aE as T,aI as O,c as R,j as c}from"./index-CRvHJTW7.js";import{B as z}from"./button-BdSVK2Y9.js";import{I as N}from"./input-LAgwngta.js";import{s as W}from"./Plus-wyZMrN65.js";import{s as H}from"./Trash01-DAF4JR6x.js";const U=k({authorizationEndpoint:t().url(),tokenEndpoint:t().url(),introspectionEndpoint:t().url().optional(),clientId:t(),clientSecret:t().optional(),scopes:v(t()),grantType:D(["authorization_code","client_credentials"])}),L=k({name:t(),description:t().optional(),inputSchema:m(t(),T()),outputSchema:m(t(),T()).optional()}),B=k({headers:m(t(),t()).optional()}),K=k({command:t().describe("Command to run (e.g., 'npx', 'node')"),args:v(t()).optional().describe("Command arguments"),cwd:t().optional().describe("Working directory"),envVars:m(t(),t()).optional().describe("Environment variables (encrypted in storage)")}),V=k({id:t().describe("Unique identifier for the connection"),title:t().describe("Human-readable name for the connection"),created_at:t().describe("When the connection was created"),updated_at:t().describe("When the connection was last updated"),created_by:t().describe("User ID who created the connection"),updated_by:t().optional().describe("User ID who last updated the connection"),organization_id:t().describe("Organization ID this connection belongs to"),description:t().nullable().describe("Description of the connection"),icon:t().nullable().describe("Icon URL for the connection"),app_name:t().nullable().describe("Associated app name"),app_id:t().nullable().describe("Associated app ID"),connection_type:D(["HTTP","SSE","Websocket","STDIO"]).describe("Type of connection"),connection_url:t().nullable().describe("URL for HTTP/SSE/WebSocket connections. Null for STDIO."),connection_token:t().nullable().describe("Authentication token (for HTTP connections)"),connection_headers:O([K,B]).nullable().describe("Connection parameters. HTTP: { headers }. STDIO: { command, args, cwd, envVars }"),oauth_config:U.nullable().describe("OAuth configuration"),configuration_state:m(t(),T()).nullable().describe("Configuration state (decrypted)"),configuration_scopes:v(t()).nullable().optional().describe("Configuration scopes"),metadata:m(t(),T()).nullable().describe("Additional metadata (includes repository info)"),tools:v(L).nullable().describe("Discovered tools from MCP"),bindings:v(t()).nullable().describe("Detected bindings"),status:D(["active","inactive","error"]).describe("Current status")});V.omit({created_at:!0,updated_at:!0,created_by:!0,updated_by:!0,organization_id:!0,tools:!0,bindings:!0,status:!0}).partial({id:!0,description:!0,icon:!0,app_name:!0,app_id:!0,connection_url:!0,connection_token:!0,connection_headers:!0,oauth_config:!0,configuration_state:!0,configuration_scopes:!0,metadata:!0});V.partial();function Q(r){return r!=null&&"command"in r}function q(r){const e=r.toLowerCase();return!!(["secret","password","passwd","credential","private","token","bearer","jwt","refresh","session","api_key","apikey","auth_key","access_key","secret_key","private_key","service_key","encryption_key","signing_key","license_key","auth","oauth","client_secret","app_secret","webhook","signing","signature","database_url","db_url","mongo_uri","redis_url","postgres_url","mysql_url","connection_string","dsn","service_role","anon_key","supabase_key","openai","anthropic","stripe","twilio","sendgrid","resend","firebase","sentry","datadog","newrelic","new_relic","pplx","replicate","pinecone","cohere","hugging","hf_token","gh_token","npm_token","certificate","cert","ssl","tls","encryption","salt","hash","hmac","personal_access","github_pat","gitlab_pat","bitbucket_pat"].some(l=>e.includes(l))||["sk_","rk_","whsec_","pk_live","sk_live"].some(l=>e.startsWith(l))||["_key","_secret","_token","_password","_auth","_pat"].some(l=>e.endsWith(l)))}function X(r){const e=R.c(34),{value:n,onChange:o,keyPlaceholder:j,valuePlaceholder:l,className:I}=r,f=j===void 0?"VARIABLE_NAME":j,_=l===void 0?"value...":l;let x;e[0]!==o||e[1]!==n?(x=()=>{o([...n,{key:"",value:""}])},e[0]=o,e[1]=n,e[2]=x):x=e[2];const A=x;let w;e[3]!==o||e[4]!==n?(w=s=>{o(n.filter((u,i)=>i!==s))},e[3]=o,e[4]=n,e[5]=w):w=e[5];const b=w;let S;e[6]!==o||e[7]!==n?(S=(s,u)=>{const i=[...n],a=i[s];a&&(i[s]={key:u,value:a.value},o(i))},e[6]=o,e[7]=n,e[8]=S):S=e[8];const g=S;let C;e[9]!==o||e[10]!==n?(C=(s,u)=>{const i=[...n],a=i[s];a&&(i[s]={key:a.key,value:u},o(i))},e[9]=o,e[10]=n,e[11]=C):C=e[11];const y=C;let d;if(e[12]!==g||e[13]!==b||e[14]!==y||e[15]!==f||e[16]!==n||e[17]!==_){let s;e[19]!==g||e[20]!==b||e[21]!==y||e[22]!==f||e[23]!==_?(s=(u,i)=>c.jsxs("div",{className:"flex gap-2 items-center",children:[c.jsx(N,{placeholder:f,value:u.key,onChange:a=>g(i,a.target.value),className:"h-10 rounded-lg flex-1 font-mono text-sm"}),c.jsx(N,{type:q(u.key)?"password":"text",placeholder:_,value:u.value,onChange:a=>y(i,a.target.value),className:"h-10 rounded-lg flex-1"}),c.jsx(z,{type:"button",variant:"ghost",size:"icon",className:"h-10 w-10 shrink-0 text-muted-foreground hover:text-destructive",onClick:()=>b(i),children:c.jsx(H,{size:16})})]},i),e[19]=g,e[20]=b,e[21]=y,e[22]=f,e[23]=_,e[24]=s):s=e[24],d=n.map(s),e[12]=g,e[13]=b,e[14]=y,e[15]=f,e[16]=n,e[17]=_,e[18]=d}else d=e[18];let E;e[25]===Symbol.for("react.memo_cache_sentinel")?(E=c.jsx(W,{size:16,className:"mr-1"}),e[25]=E):E=e[25];let p;e[26]!==A?(p=c.jsxs(z,{type:"button",variant:"outline",size:"sm",className:"w-full h-9 text-muted-foreground",onClick:A,children:[E,"Add Environment Variable"]}),e[26]=A,e[27]=p):p=e[27];let h;e[28]!==d||e[29]!==p?(h=c.jsxs("div",{className:"flex flex-col gap-2",children:[d,p]}),e[28]=d,e[29]=p,e[30]=h):h=e[30];let P;return e[31]!==I||e[32]!==h?(P=c.jsx("div",{className:I,children:h}),e[31]=I,e[32]=h,e[33]=P):P=e[33],P}function Y(r){const e={};for(const{key:n,value:o}of r)n.trim()&&(e[n.trim()]=o);return e}function Z(r){return r?Object.entries(r).map(([e,n])=>({key:e,value:n})):[]}export{X as E,Y as e,Q as i,Z as r};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as o,j as e}from"./index-
|
|
1
|
+
import{r as o,j as e}from"./index-CRvHJTW7.js";import{B as n}from"./button-BdSVK2Y9.js";const a=({size:t=24,color:r="currentColor",...s})=>o.createElement("svg",{viewBox:"0 0 24 24",width:t,height:t,stroke:r,strokeWidth:"2",fill:"none",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...s},o.createElement("path",{d:"M12 9v4m0 4h.01M10.615 3.892 2.39 18.098c-.456.788-.684 1.182-.65 1.506a1 1 0 0 0 .406.705c.263.191.718.191 1.629.191h16.45c.91 0 1.365 0 1.628-.191a1 1 0 0 0 .407-.705c.034-.324-.195-.718-.65-1.506L13.383 3.892c-.454-.785-.681-1.178-.978-1.31a1 1 0 0 0-.813 0c-.296.132-.523.525-.978 1.31Z"}));a.displayName="AlertTriangle";class l extends o.Component{state={hasError:!1,error:null};static getDerivedStateFromError(r){return{hasError:!0,error:r}}componentDidCatch(r,s){console.error("Uncaught error:",r,s)}resetError=()=>{this.setState({hasError:!1,error:null})};render(){if(this.state.hasError){const{fallback:r}=this.props;return typeof r=="function"?r({error:this.state.error,resetError:this.resetError}):r!==void 0?r:e.jsxs("div",{className:"flex-1 flex flex-col items-center justify-center h-full p-6 text-center space-y-4",children:[e.jsx("div",{className:"bg-destructive/10 p-3 rounded-full",children:e.jsx(a,{className:"h-6 w-6 text-destructive"})}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("h3",{className:"text-lg font-medium",children:"Something went wrong"}),e.jsx("p",{className:"text-sm text-muted-foreground max-w-xs mx-auto",children:this.state.error?.message||"An unexpected error occurred"})]}),e.jsx(n,{variant:"outline",onClick:this.resetError,children:"Try again"})]})}return this.props.children}}export{l as E,a as i};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as v}from"./index-
|
|
1
|
+
import{r as v}from"./index-CRvHJTW7.js";import{M as D}from"./constants-CQ9jNG-d.js";import{g as R}from"./github-icon-Dp3wHhYE.js";import{g as A}from"./registry-utils-DfaYKsYd.js";import{g as O}from"./generate-id-Dyweu44Y.js";const z=({size:e=24,color:r="currentColor",...c})=>v.createElement("svg",{viewBox:"0 0 24 24",width:e,height:e,stroke:r,strokeWidth:"2",fill:"none",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...c},v.createElement("path",{d:"m7.5 12 3 3 6-6m5.5 3c0 5.523-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2s10 4.477 10 10Z"}));z.displayName="CheckCircle";function H(e){if(!e?.url)return"Unknown";try{return new URL(e.url).hostname}catch{return e.url}}function L(e){const r=e?.identifier||e?.name;return r?r.replace(/^@[^/]+\//,"").replace(/[-_]/g," ").replace(/\b\w/g,i=>i.toUpperCase()):"Unknown"}function B(e,r,c,i){const n=e.server,t=e._meta?.[D],m=new Date().toISOString(),b=t?.friendlyName||t?.friendly_name||e.title||n?.title||n?.name||"Unnamed MCP Server",C=n?.description||null,x=n?.icons?.[0]?.src||R(n?.repository)||null,o=t?.oauth_config,I=o&&typeof o.authorizationEndpoint=="string"&&typeof o.tokenEndpoint=="string"&&typeof o.clientId=="string"&&Array.isArray(o.scopes)&&(o.grantType==="authorization_code"||o.grantType==="client_credentials")?o:null,N=t?.configuration_state,S=t?.configuration_scopes,T=n?.repository?{url:n.repository.url,source:n.repository.source,subfolder:n.repository.subfolder}:null,p=n?.packages??[],f=n?.remotes??[],w=i?.packageIndex??0,P=i?.remoteIndex??0,y=p.length>0&&i?.packageIndex!==void 0,a=y?p[w]:null,s=y?null:f[P];let l,u,h=null;if(a){const _=a.identifier||a.name;l="STDIO",u="";const g={};if(a.environmentVariables)for(const k of a.environmentVariables)k.name&&(g[k.name]="");h={command:"npx",args:_?["-y",_]:[],...Object.keys(g).length>0&&{envVars:g}}}else s?(l=A(s.type)||"HTTP",u=s.url||""):(l="HTTP",u="");const E=f.length>1,M=p.length>1;let d="";a&&M?d=` (${L(a)})`:s&&E&&(d=` (${H(s)})`);const U=b+d;return{id:O("conn"),title:U,description:C,icon:x,app_name:t?.appName||n?.name||null,app_id:t?.id||e.id||null,connection_type:l,connection_url:u,connection_token:null,connection_headers:h,oauth_config:I,configuration_state:N??null,configuration_scopes:S??null,metadata:{source:"store",registry_item_id:e.id,verified:t?.verified??!1,scopeName:t?.scopeName??null,toolsCount:t?.tools?.length??0,publishedAt:t?.publishedAt??null,repository:T},created_at:m,updated_at:m,created_by:c,organization_id:r,tools:null,bindings:null,status:"inactive"}}export{B as e,z as i};
|