@decocms/mesh 1.0.0 → 1.0.1-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (104) hide show
  1. package/dist/client/assets/{AlertCircle-Cu9USDUK.js → AlertCircle-CctpU08Y.js} +1 -1
  2. package/dist/client/assets/{ArrowLeft-nKBVB_NL.js → ArrowLeft-DMs-Q5a_.js} +1 -1
  3. package/dist/client/assets/{CheckCircle-BogvGi-0.js → CheckCircle-gjG4WSw6.js} +1 -1
  4. package/dist/client/assets/{ChevronDown-B5vWNgW1.js → ChevronDown-o688tr0R.js} +1 -1
  5. package/dist/client/assets/{Clock-Ck2lYkyl.js → Clock-9q1_LHWv.js} +1 -1
  6. package/dist/client/assets/{Copy01-BeUF9LPk.js → Copy01-Bos_ARNX.js} +1 -1
  7. package/dist/client/assets/{CpuChip02-8BkRby_U.js → CpuChip02-DMtVpA_p.js} +1 -1
  8. package/dist/client/assets/{DotsVertical-CmKPHj4W.js → DotsVertical-DjWbU1pT.js} +1 -1
  9. package/dist/client/assets/{File06-Cn7JLPIx.js → File06-Bt03vXoe.js} +1 -1
  10. package/dist/client/assets/{Grid01-4uSGUJjV.js → Grid01-DKsOPPqt.js} +1 -1
  11. package/dist/client/assets/{Inbox01-C8nofD1D.js → Inbox01-7EuLNj_o.js} +1 -1
  12. package/dist/client/assets/{InfoCircle-C21KXVBJ.js → InfoCircle-D52jwcjZ.js} +1 -1
  13. package/dist/client/assets/{Key01-CzDrcb2u.js → Key01-DIAppwaZ.js} +1 -1
  14. package/dist/client/assets/{LinkExternal01-DhNFEAza.js → LinkExternal01-OAVXSkWT.js} +1 -1
  15. package/dist/client/assets/{Loading01-BUZAT-Ht.js → Loading01-DhMR9Rl3.js} +1 -1
  16. package/dist/client/assets/{Plus-DTWKiMkv.js → Plus-BoTbvZ3o.js} +1 -1
  17. package/dist/client/assets/{SearchMd-BXC4Yoz_.js → SearchMd-Cle1NAvW.js} +1 -1
  18. package/dist/client/assets/{Trash01-KhsmIXrl.js → Trash01-CObqwAuB.js} +1 -1
  19. package/dist/client/assets/{Upload01-Dm3ykMHj.js → Upload01-BIarHoYq.js} +1 -1
  20. package/dist/client/assets/{X-BFstV52u.js → X-BS6wMyAf.js} +1 -1
  21. package/dist/client/assets/{XClose-OisY7Sog.js → XClose-CanbUWiZ.js} +1 -1
  22. package/dist/client/assets/{alert-dialog-Ck-TQRXx.js → alert-dialog-BZCR78KJ.js} +1 -1
  23. package/dist/client/assets/{auth-catchall-DDvXFYk4.js → auth-catchall-B7-v9vo-.js} +1 -1
  24. package/dist/client/assets/{auth-DB_JGgAS.js → auth-l7FoQBwy.js} +1 -1
  25. package/dist/client/assets/{avatar-CqnXtnOZ.js → avatar-tMh-ed4_.js} +1 -1
  26. package/dist/client/assets/{badge-RGvdF-cd.js → badge-ZGSDRM2V.js} +1 -1
  27. package/dist/client/assets/{button-Chm7HSn5.js → button-DRbSSzMo.js} +1 -1
  28. package/dist/client/assets/{card-BVamKRXq.js → card-yDshgaNk.js} +1 -1
  29. package/dist/client/assets/{checkbox-BMbqVqRo.js → checkbox-CVaEe_Kv.js} +1 -1
  30. package/dist/client/assets/collection-detail-DipzpGBX.js +1 -0
  31. package/dist/client/assets/{collection-display-button-DDw_0fW6.js → collection-display-button-CxHAeMlJ.js} +1 -1
  32. package/dist/client/assets/{collection-header-BVYMmoel.js → collection-header-Bbr_EelX.js} +1 -1
  33. package/dist/client/assets/{collection-page-BoS9hpji.js → collection-page-BB_fkZHl.js} +1 -1
  34. package/dist/client/assets/{collection-search-CBHWh6W9.js → collection-search-CAT-KwFV.js} +1 -1
  35. package/dist/client/assets/{collection-table-wrapper-CGsO_-78.js → collection-table-wrapper-CpATqDDy.js} +1 -1
  36. package/dist/client/assets/{connection-card-D6fhK6Cn.js → connection-card-BHTh8x40.js} +1 -1
  37. package/dist/client/assets/{connection-detail-ClFH3Tdf.js → connection-detail-D__R0L9n.js} +1 -1
  38. package/dist/client/assets/{connections-BtC-4KRY.js → connections-BbW7JMdD.js} +1 -1
  39. package/dist/client/assets/{core-BiybLldu.js → core-LRyg4NIV.js} +1 -1
  40. package/dist/client/assets/{create-organization-dialog-D3ZZuPXS.js → create-organization-dialog-Tqv9FyFB.js} +1 -1
  41. package/dist/client/assets/{deco-chat-skeleton-DHRag8GN.js → deco-chat-skeleton-BWkV1MzQ.js} +9 -9
  42. package/dist/client/assets/{dialog-kXtxooG_.js → dialog-BBqtAKNq.js} +1 -1
  43. package/dist/client/assets/{dropdown-menu-MeaPHHuN.js → dropdown-menu-ZynV4CKZ.js} +1 -1
  44. package/dist/client/assets/{error-boundary-m5kquR9K.js → error-boundary-77v8_xoc.js} +1 -1
  45. package/dist/client/assets/{extract-connection-data-BSn-ydRW.js → extract-connection-data-Cqx4p3NY.js} +1 -1
  46. package/dist/client/assets/{form-BBS_Tp5l.js → form-CKfv-8nJ.js} +1 -1
  47. package/dist/client/assets/{formatDistanceToNow-Dkl3nWpl.js → formatDistanceToNow-D6EC-Mne.js} +1 -1
  48. package/dist/client/assets/{gateway-detail-B6IgcRfH.js → gateway-detail-C3YoTd2-.js} +1 -1
  49. package/dist/client/assets/{gateways-Bu8MP7ql.js → gateways-DD9oFefb.js} +1 -1
  50. package/dist/client/assets/{home-BYCoW2D_.js → home-RnslI0RJ.js} +1 -1
  51. package/dist/client/assets/{index-BZz7aGs7.js → index-BpYm0xnO.js} +1 -1
  52. package/dist/client/assets/{index-hySmljwG.js → index-BwdoZ6Iz.js} +1 -1
  53. package/dist/client/assets/index-CL5fDzg4.css +1 -0
  54. package/dist/client/assets/{index-C4a1DvcM.js → index-DPFREQMN.js} +2 -2
  55. package/dist/client/assets/{index-RS2MPOun.js → index-aOeElpLt.js} +1 -1
  56. package/dist/client/assets/{input-DCV4VviT.js → input-jqtlIgj3.js} +1 -1
  57. package/dist/client/assets/json-CAM1x_8F.js +1 -0
  58. package/dist/client/assets/{json-syntax-highlighter-VMspUwuH.js → json-syntax-highlighter-BDiX9ikS.js} +2 -2
  59. package/dist/client/assets/{layout-BkDVhV_I.js → layout-CkdsMZBx.js} +1 -1
  60. package/dist/client/assets/{lazy-highlighter-Bx9tA9px.js → lazy-highlighter-CqCOmbZ8.js} +1 -1
  61. package/dist/client/assets/{localstorage-keys-G21128-2.js → localstorage-keys-Ffqwn37f.js} +1 -1
  62. package/dist/client/assets/{login-DEwqVT25.js → login-B57O8j1V.js} +1 -1
  63. package/dist/client/assets/{mcp-oauth-Cm2UNUay.js → mcp-oauth-DxMvAHRa.js} +1 -1
  64. package/dist/client/assets/{members-BpGlve-L.js → members-BWnzV6ih.js} +1 -1
  65. package/dist/client/assets/{monitoring-DHEto-A6.js → monitoring-DIiGLrrO.js} +1 -1
  66. package/dist/client/assets/{oauth-callback-DchNKQy2.js → oauth-callback-CwLtKUf9.js} +1 -1
  67. package/dist/client/assets/{page-DGoTXd70.js → page-TnUbYFnb.js} +1 -1
  68. package/dist/client/assets/{popover-Cx3pFfUQ.js → popover-aib-y-v5.js} +1 -1
  69. package/dist/client/assets/prism-light-6y0IYHxK.js +1 -0
  70. package/dist/client/assets/{resource-tabs-n23Yoxcd.js → resource-tabs-BA7yau3f.js} +1 -1
  71. package/dist/client/assets/{schema-DIY49r7a.js → schema-BnBjhQOg.js} +1 -1
  72. package/dist/client/assets/{select-BXHiOY7b.js → select-CQ6166et.js} +1 -1
  73. package/dist/client/assets/{settings-BwVTvZ32.js → settings-B4dEHs8J.js} +1 -1
  74. package/dist/client/assets/shell-layout-B00KNNmL.js +17 -0
  75. package/dist/client/assets/{spinner-zi1IadXF.js → spinner-CfV2XsUQ.js} +1 -1
  76. package/dist/client/assets/{store-app-detail-BswrVEFL.js → store-app-detail-ClCjW4tC.js} +1 -1
  77. package/dist/client/assets/{store-Bu-y0GHn.js → store-j9hTSK4h.js} +1 -1
  78. package/dist/client/assets/{switch-C8nDXRDi.js → switch-DfV4Hg4D.js} +1 -1
  79. package/dist/client/assets/{textarea-BA6caASm.js → textarea-rD1H1oiO.js} +1 -1
  80. package/dist/client/assets/{tools-list-Cw4QW2l7.js → tools-list-BtqQwWMd.js} +1 -1
  81. package/dist/client/assets/{tooltip-DZ8PMo3S.js → tooltip-T6rRsM2k.js} +1 -1
  82. package/dist/client/assets/{types-DsEr-_hk.js → types-D-N921FV.js} +1 -1
  83. package/dist/client/assets/{use-binding-C1zXgwae.js → use-binding-CWUVDcMm.js} +1 -1
  84. package/dist/client/assets/{use-connection-8aFd9ZgQ.js → use-connection-BObBSW3a.js} +1 -1
  85. package/dist/client/assets/{use-connection-resources-BaWWtVSI.js → use-connection-resources-BN_6g4of.js} +1 -1
  86. package/dist/client/assets/{use-gateway-BGsZlt6a.js → use-gateway-BnSOdKih.js} +1 -1
  87. package/dist/client/assets/{use-list-state-DhJWwg48.js → use-list-state-BXrmE2tY.js} +1 -1
  88. package/dist/client/assets/{use-mcp-BJzX7M7c.js → use-mcp-feMLqae5.js} +1 -1
  89. package/dist/client/assets/{use-members-BNSWYzmJ.js → use-members-pxuBBuU5.js} +1 -1
  90. package/dist/client/assets/{use-mobile-BQAr1bEF.js → use-mobile-BWmDV7SV.js} +1 -1
  91. package/dist/client/assets/{use-organization-settings-CAOHB7nk.js → use-organization-settings-B_v59XiE.js} +1 -1
  92. package/dist/client/assets/{use-tool-call-Dxebi6Uq.js → use-tool-call-DJqpt8-4.js} +1 -1
  93. package/dist/client/assets/useQuery-BDJatAa4.js +1 -0
  94. package/dist/client/assets/utils-BDWLM78M.js +1 -0
  95. package/dist/client/assets/{well-known-mcp-DizRQm94.js → well-known-mcp-r4sGkJCM.js} +1 -1
  96. package/dist/client/index.html +2 -2
  97. package/package.json +1 -1
  98. package/dist/client/assets/collection-detail-UyMhNT0c.js +0 -1
  99. package/dist/client/assets/index-MyldRbGR.css +0 -1
  100. package/dist/client/assets/json-CtxcuNHM.js +0 -1
  101. package/dist/client/assets/prism-light-DhG4KyCm.js +0 -1
  102. package/dist/client/assets/shell-layout-BqZsnuW0.js +0 -17
  103. package/dist/client/assets/useQuery-39cprZL6.js +0 -1
  104. package/dist/client/assets/utils-BXNVuJET.js +0 -1
@@ -1 +1 @@
1
- import{ap as U,aq as _,ar as H,as as G,at as q,au as Y,r as M,c as T,j as s,f as Z,K as J,a as X,e as ee,s as te}from"./index-C4a1DvcM.js";import{i as se,g as ie,a as le}from"./well-known-mcp-DizRQm94.js";import{C as ne}from"./collection-header-BVYMmoel.js";import{I as re,b as oe,c as ae,a as V,u as ce}from"./use-connection-8aFd9ZgQ.js";import{b as de,T as me,c as fe,u as D}from"./tooltip-DZ8PMo3S.js";import{s as ue}from"./slugify-CEUa2lfQ.js";import{n as he}from"./Inbox01-C8nofD1D.js";import{i as z}from"./Loading01-BUZAT-Ht.js";import{i as xe,E as pe}from"./SearchMd-BXC4Yoz_.js";import{C as ge}from"./collection-search-CBHWh6W9.js";import{C as ve}from"./card-BVamKRXq.js";import{g as je,f as Ne,a as ye}from"./registry-utils-ulDDT0d8.js";import{e as Ce}from"./app-name-gTETL9So.js";import{d as we,a as be,b as Se,c as Pe,S as Re}from"./select-BXHiOY7b.js";import{s as W}from"./Plus-DTWKiMkv.js";import{C as Ie}from"./connection-card-D6fhK6Cn.js";import{B as ke}from"./button-Chm7HSn5.js";import{a as Ee}from"./use-binding-C1zXgwae.js";import{L as Le,u as Te}from"./localstorage-keys-G21128-2.js";import"./collection-display-button-DDw_0fW6.js";import"./dropdown-menu-MeaPHHuN.js";import"./Grid01-4uSGUJjV.js";import"./utils-BXNVuJET.js";import"./input-DCV4VviT.js";import"./ChevronDown-B5vWNgW1.js";import"./auth-DB_JGgAS.js";import"./useQuery-39cprZL6.js";var $e=class extends U{constructor(t,e){super(t,e)}bindMethods(){super.bindMethods(),this.fetchNextPage=this.fetchNextPage.bind(this),this.fetchPreviousPage=this.fetchPreviousPage.bind(this)}setOptions(t){super.setOptions({...t,behavior:_()})}getOptimisticResult(t){return t.behavior=_(),super.getOptimisticResult(t)}fetchNextPage(t){return this.fetch({...t,meta:{fetchMore:{direction:"forward"}}})}fetchPreviousPage(t){return this.fetch({...t,meta:{fetchMore:{direction:"backward"}}})}createResult(t,e){const{state:l}=t,m=super.createResult(t,e),{isFetching:r,isRefetching:h,isError:d,isRefetchError:a}=m,c=l.fetchMeta?.fetchMore?.direction,i=d&&c==="forward",n=r&&c==="forward",o=d&&c==="backward",f=r&&c==="backward";return{...m,fetchNextPage:this.fetchNextPage,fetchPreviousPage:this.fetchPreviousPage,hasNextPage:G(e,l.data),hasPreviousPage:H(e,l.data),isFetchNextPageError:i,isFetchingNextPage:n,isFetchPreviousPageError:o,isFetchingPreviousPage:f,isRefetchError:a&&!i&&!o,isRefetching:h&&!n&&!f}}};function Me(t,e){return q({...t,enabled:!0,suspense:!0,throwOnError:Y},$e,e)}const Q=({size:t=24,color:e="currentColor",...l})=>M.createElement("svg",{viewBox:"0 0 24 24",width:t,height:t,stroke:e,strokeWidth:"2",fill:"none",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...l},M.createElement("path",{d:"m9 12 2 2 4.5-4.5m2.401-4.501a2.03 2.03 0 0 0 1.1 1.1l1.744.723a2.033 2.033 0 0 1 1.1 2.656l-.722 1.744a2.03 2.03 0 0 0 0 1.556l.722 1.744a2.033 2.033 0 0 1-1.1 2.656L19 17.901A2.033 2.033 0 0 0 17.9 19l-.723 1.745a2.032 2.032 0 0 1-2.656 1.1l-1.744-.722a2.032 2.032 0 0 0-1.555 0l-1.745.723a2.033 2.033 0 0 1-2.654-1.1L6.1 19.001A2.033 2.033 0 0 0 5 17.9l-1.744-.723a2.033 2.033 0 0 1-1.1-2.654l.721-1.744a2.033 2.033 0 0 0 0-1.556l-.722-1.746a2.033 2.033 0 0 1 1.1-2.657L5 6.098A2.03 2.03 0 0 0 6.1 5l.723-1.745a2.033 2.033 0 0 1 2.656-1.1l1.744.722a2.033 2.033 0 0 0 1.555-.001l1.746-.72a2.032 2.032 0 0 1 2.655 1.1l.723 1.746v-.003Z"}));Q.displayName="CheckVerified02";function Ae(t){const e=t.title||t.server.title||t.id||"Unnamed Item",l=t.server.description||null,m=t.server.icons?.[0]?.src||je(t.server.repository)||null,r=t._meta?.["mcp.mesh"]?.verified??!1,h=t.server.version,a=(t.server.remotes?.length??0)>0;let c=e,i=null;if(e.includes("/")){const n=e.split("/");n.length>=2&&(i=n[0]||null,c=Ce(e))}if(!i){const n=t._meta?.["mcp.mesh"]?.scopeName,o=t._meta?.["mcp.mesh"]?.appName;n&&o?i=`${n}/${o}`:n&&(i=n)}return{icon:m,scopeName:i,displayName:c,description:l,version:h||null,isVerified:r,canInstall:a}}function Ke(t){const e=T.c(39),{icon:l,scopeName:m,displayName:r,description:h,isVerified:d,canInstall:a,onClick:c}=t;let i;e[0]!==r||e[1]!==l?(i=s.jsx(re,{icon:l,name:r,size:"md",className:"shadow-sm"}),e[0]=r,e[1]=l,e[2]=i):i=e[2];let n;e[3]!==r?(n=s.jsx("span",{className:"truncate",children:r}),e[3]=r,e[4]=n):n=e[4];let o;e[5]!==d?(o=d&&s.jsx(Q,{size:16,className:"text-success shrink-0"}),e[5]=d,e[6]=o):o=e[6];let f;e[7]!==a?(f=!a&&s.jsx(se,{size:16,className:"text-muted-foreground shrink-0"}),e[7]=a,e[8]=f):f=e[8];let p;e[9]!==n||e[10]!==o||e[11]!==f?(p=s.jsx(de,{asChild:!0,children:s.jsxs("div",{className:"flex items-center gap-2 text-base font-medium min-w-0",children:[n,o,f]})}),e[9]=n,e[10]=o,e[11]=f,e[12]=p):p=e[12];let u;e[13]!==r?(u=s.jsx("p",{children:r}),e[13]=r,e[14]=u):u=e[14];let g;e[15]!==a?(g=!a&&s.jsx("p",{className:"text-xs mt-1",children:"No connection available"}),e[15]=a,e[16]=g):g=e[16];let v;e[17]!==u||e[18]!==g?(v=s.jsxs(me,{children:[u,g]}),e[17]=u,e[18]=g,e[19]=v):v=e[19];let y;e[20]!==p||e[21]!==v?(y=s.jsxs(fe,{children:[p,v]}),e[20]=p,e[21]=v,e[22]=y):y=e[22];let C;e[23]!==m?(C=m&&s.jsx("div",{className:"text-sm text-muted-foreground truncate",children:m}),e[23]=m,e[24]=C):C=e[24];let S;e[25]!==C||e[26]!==y?(S=s.jsx("div",{className:"flex gap-2 items-start min-w-0 flex-1",children:s.jsxs("div",{className:"min-w-0 flex-1",children:[y,C]})}),e[25]=C,e[26]=y,e[27]=S):S=e[27];let w;e[28]!==i||e[29]!==S?(w=s.jsxs("div",{className:"flex gap-3",children:[i,S]}),e[28]=i,e[29]=S,e[30]=w):w=e[30];const P=h||"No description available";let j;e[31]!==P?(j=s.jsx("div",{className:"grid grid-cols-1 gap-1 min-w-0",children:s.jsx("div",{className:"text-sm text-muted-foreground line-clamp-2",children:P})}),e[31]=P,e[32]=j):j=e[32];let x;e[33]!==w||e[34]!==j?(x=s.jsxs("div",{className:"flex flex-col gap-4 h-full relative",children:[w,j]}),e[33]=w,e[34]=j,e[35]=x):x=e[35];let b;return e[36]!==c||e[37]!==x?(b=s.jsx(ve,{className:"p-6 cursor-pointer hover:bg-muted/50 transition-colors",onClick:c,children:x}),e[36]=c,e[37]=x,e[38]=b):b=e[38],b}function B(t){const e=T.c(12),{items:l,title:m,onItemClick:r}=t;if(l.length===0)return null;let h;e[0]!==m?(h=m&&s.jsx("div",{className:"flex items-center justify-between w-max gap-2",children:s.jsx("h2",{className:"text-lg font-medium",children:m})}),e[0]=m,e[1]=h):h=e[1];let d;if(e[2]!==l||e[3]!==r){let i;e[5]!==r?(i=n=>{const o=Ae(n);return s.jsx(Ke,{...o,onClick:()=>r(n)},n.id)},e[5]=r,e[6]=i):i=e[6],d=l.map(i),e[2]=l,e[3]=r,e[4]=d}else d=e[4];let a;e[7]!==d?(a=s.jsx("div",{className:"grid grid-cols-4 gap-4",children:d}),e[7]=d,e[8]=a):a=e[8];let c;return e[9]!==h||e[10]!==a?(c=s.jsxs("div",{className:"flex flex-col gap-4",children:[h,a]}),e[9]=h,e[10]=a,e[11]=c):c=e[11],c}function Oe(t,e){if(!e)return t;const l=e.toLowerCase();return t.filter(m=>(m.name||m.title||"").toLowerCase().includes(l)||(m.description||m.server.description||"").toLowerCase().includes(l))}function Fe(t){return t.verified===!0||t._meta?.["mcp.mesh"]?.verified===!0||t.server._meta?.["mcp.mesh"]?.verified===!0}function De(t){const e=T.c(32),{items:l,isLoadingMore:m,registryId:r,hasMore:h,onLoadMore:d}=t,a=m===void 0?!1:m,c=h===void 0?!1:h,[i,n]=M.useState(""),o=Z(),{org:f}=D(),p=M.useRef(null);let u,g,v;e[0]!==l||e[1]!==i?(u=Oe(l,i),v=u.filter(Fe),g=u.filter(R=>!v.find(I=>I.id===R.id)),e[0]=l,e[1]=i,e[2]=u,e[3]=g,e[4]=v):(u=e[2],g=e[3],v=e[4]);const y=g;let C;e[5]!==o||e[6]!==f.slug||e[7]!==r?(C=R=>{const I=ue(R.name||R.title||R.server.title||""),L=R.server.name;o({to:"/$org/store/$appName",params:{org:f.slug,appName:I},search:{registryId:r,serverName:L}})},e[5]=o,e[6]=f.slug,e[7]=r,e[8]=C):C=e[8];const S=C;let w;e[9]!==c||e[10]!==a||e[11]!==d||e[12]!==i?(w=R=>{if(!c||!d||i||a)return;const I=R.currentTarget;I.scrollHeight-I.scrollTop-I.clientHeight<200&&d()},e[9]=c,e[10]=a,e[11]=d,e[12]=i,e[13]=w):w=e[13];const P=w;let j;e[14]===Symbol.for("react.memo_cache_sentinel")?(j=R=>{R.key==="Enter"&&n(R.currentTarget.value)},e[14]=j):j=e[14];let x;e[15]!==i?(x=s.jsx(ge,{value:i,onChange:n,placeholder:"Search for an MCP Server...",onKeyDown:j}),e[15]=i,e[16]=x):x=e[16];let b;e[17]!==y||e[18]!==u||e[19]!==S||e[20]!==c||e[21]!==a||e[22]!==l.length||e[23]!==i||e[24]!==v?(b=s.jsx("div",{className:"p-5",children:s.jsx("div",{children:l.length===0?s.jsxs("div",{className:"flex flex-col items-center justify-center py-12 text-center",children:[s.jsx(he,{size:48,className:"text-muted-foreground mb-4"}),s.jsx("h3",{className:"text-lg font-medium mb-2",children:"No items available"}),s.jsx("p",{className:"text-muted-foreground",children:"This store doesn't have any available items yet."})]}):i&&u.length===0?s.jsxs("div",{className:"flex flex-col items-center justify-center py-12 text-center",children:[s.jsx(xe,{size:48,className:"text-muted-foreground mb-4"}),s.jsx("h3",{className:"text-lg font-medium mb-2",children:"No results found"}),s.jsx("p",{className:"text-muted-foreground",children:"Try adjusting your search terms."})]}):s.jsxs("div",{className:"flex flex-col gap-8",children:[v.length>0&&s.jsx(B,{items:v,title:"Verified",onItemClick:S}),y.length>0&&s.jsx(B,{items:y,title:v.length>0?"All":"",onItemClick:S}),c&&!i&&a&&s.jsx("div",{className:"flex justify-center py-8",children:s.jsxs("div",{className:"flex items-center gap-2 text-muted-foreground",children:[s.jsx(z,{size:20,className:"animate-spin"}),s.jsx("span",{className:"text-sm",children:"Loading more items..."})]})})]})})}),e[17]=y,e[18]=u,e[19]=S,e[20]=c,e[21]=a,e[22]=l.length,e[23]=i,e[24]=v,e[25]=b):b=e[25];let k;e[26]!==P||e[27]!==b?(k=s.jsx("div",{ref:p,className:"flex-1 overflow-y-auto",onScroll:P,children:b}),e[26]=P,e[27]=b,e[28]=k):k=e[28];let E;return e[29]!==x||e[30]!==k?(E=s.jsxs("div",{className:"flex flex-col h-full",children:[x,k]}),e[29]=x,e[30]=k,e[31]=E):E=e[31],E}const F=24;function ze(t){const e=T.c(27),{registryId:l}=t,m=oe(l);let r,h,d,a;if(e[0]!==m?.tools||e[1]!==l){if(r=Ne(m?.tools),!r)throw new Error("This registry does not support listing store items.");let x;e[6]!==l?(x=ae(l),e[6]=l,e[7]=x):x=e[7],a=x,d=Me,h=J.toolCall(l,r,JSON.stringify({limit:F})),e[0]=m?.tools,e[1]=l,e[2]=r,e[3]=h,e[4]=d,e[5]=a}else r=e[2],h=e[3],d=e[4],a=e[5];let c;e[8]!==r||e[9]!==a?(c=async x=>{const{pageParam:b}=x;return await a(r,b?{cursor:b,limit:F}:{limit:F})},e[8]=r,e[9]=a,e[10]=c):c=e[10];let i;e[11]!==h||e[12]!==c?(i={queryKey:h,queryFn:c,initialPageParam:void 0,getNextPageParam:_e,staleTime:36e5},e[11]=h,e[12]=c,e[13]=i):i=e[13];const{data:n,fetchNextPage:o,hasNextPage:f,isFetchingNextPage:p}=d(i);let u;e:{if(!n?.pages||n.pages.length===0){u=null;break e}const x=n.pages[0];if(typeof x=="object"&&x!==null&&"totalCount"in x&&typeof x.totalCount=="number"){u=x.totalCount;break e}u=null}const g=u,v=n?.pages;let y;e[14]!==v?(y=ye(v),e[14]=v,e[15]=y):y=e[15];const C=y;let S;e[16]!==o||e[17]!==f||e[18]!==p?(S=()=>{f&&!p&&o()},e[16]=o,e[17]=f,e[18]=p,e[19]=S):S=e[19];const w=S,P=f??!1;let j;return e[20]!==C||e[21]!==w||e[22]!==p||e[23]!==l||e[24]!==P||e[25]!==g?(j=s.jsx(De,{items:C,isLoadingMore:p,registryId:l,hasMore:P,onLoadMore:w,totalCount:g}),e[20]=C,e[21]=w,e[22]=p,e[23]=l,e[24]=P,e[25]=g,e[26]=j):j=e[26],j}function _e(t){if(typeof t=="object"&&t!==null){const e=t.nextCursor||t.cursor;if(e)return e}}function Be(t){const e=T.c(15),{registries:l,value:m,onValueChange:r,onAddWellKnown:h,wellKnownRegistries:d,placeholder:a}=t,c=a===void 0?"Select a registry...":a;let i;e[0]!==c?(i=s.jsx(be,{className:"w-[200px] h-8!",children:s.jsx(Se,{placeholder:c})}),e[0]=c,e[1]=i):i=e[1];let n;e[2]!==l?(n=l.map(Ve),e[2]=l,e[3]=n):n=e[3];let o;e[4]!==h||e[5]!==d?(o=d.length>0&&s.jsxs("div",{className:"border-t border-border pt-1",children:[s.jsx("p",{className:"px-2 py-1.5 text-xs font-medium text-muted-foreground",children:"Other known registries"}),d.map(u=>s.jsxs("button",{onClick:g=>{g.preventDefault(),g.stopPropagation(),h(u)},className:"relative flex w-full cursor-pointer items-center gap-2 rounded-xl py-1.5 pr-8 pl-2 text-sm outline-hidden select-none hover:bg-accent hover:text-accent-foreground",children:[s.jsxs("div",{className:"flex items-center gap-2",children:[u.icon?s.jsx("img",{src:u.icon,alt:u.title,className:"w-4 h-4 rounded"}):s.jsx("div",{className:"w-4 h-4 rounded bg-primary/10 flex items-center justify-center text-xs font-semibold text-primary",children:u.title.slice(0,1).toUpperCase()}),s.jsx("span",{className:"flex-1",children:u.title})]}),s.jsx("span",{className:"absolute right-2 flex size-3.5 items-center justify-center text-muted-foreground",children:s.jsx(W,{size:16})})]},u.id??u.title))]}),e[4]=h,e[5]=d,e[6]=o):o=e[6];let f;e[7]!==n||e[8]!==o?(f=s.jsxs(Pe,{children:[n,o]}),e[7]=n,e[8]=o,e[9]=f):f=e[9];let p;return e[10]!==r||e[11]!==i||e[12]!==f||e[13]!==m?(p=s.jsxs(Re,{value:m,onValueChange:r,children:[i,f]}),e[10]=r,e[11]=i,e[12]=f,e[13]=m,e[14]=p):p=e[14],p}function Ve(t){return s.jsx(we,{className:"cursor-pointer",value:t.id??t.name,children:s.jsxs("div",{className:"flex items-center gap-2",children:[t.icon?s.jsx("img",{src:t.icon,alt:t.name,className:"w-4 h-4 rounded"}):s.jsx("div",{className:"w-4 h-4 rounded from-primary/20 to-primary/10 flex items-center justify-center text-xs font-semibold text-primary",children:t.name.slice(0,1).toUpperCase()}),s.jsx("span",{children:t.name})]})},t.id??t.name)}function We(t){const e=T.c(13),{registries:l,onConnected:m}=t,r=l.length===1;let h;e[0]===Symbol.for("react.memo_cache_sentinel")?(h=s.jsx("img",{src:"/store-empty-state.svg",alt:"No store connected",width:423,height:279,className:"max-w-full h-auto"}),e[0]=h):h=e[0];const d=r?"Connect to registry":"Connect to a store",a=r?"Connect to discover and use MCP Servers from the community.":"Choose a registry to discover and connect MCP Servers from the community.",c=`grid gap-4 w-full ${r?"grid-cols-1 justify-items-center":"grid-cols-1 md:grid-cols-2"}`;let i;if(e[1]!==m||e[2]!==l){let f;e[4]!==m?(f=(p,u)=>{const g=p.id??`registry-${u}`;return s.jsx(Qe,{registry:{...p,id:g},onConnected:m},g)},e[4]=m,e[5]=f):f=e[5],i=l.map(f),e[1]=m,e[2]=l,e[3]=i}else i=e[3];let n;e[6]!==c||e[7]!==i?(n=s.jsx("div",{className:c,children:i}),e[6]=c,e[7]=i,e[8]=n):n=e[8];let o;return e[9]!==d||e[10]!==a||e[11]!==n?(o=s.jsx(pe,{image:h,title:d,description:a,descriptionClassName:"max-w-[500px]",actionsClassName:"w-full max-w-2xl",actions:n}),e[9]=d,e[10]=a,e[11]=n,e[12]=o):o=e[12],o}function Qe(t){const e=T.c(15),{registry:l,onConnected:m}=t,r=V(),{org:h}=D(),{data:d}=X.useSession(),a=!!h&&!!d?.user?.id;let c;e[0]!==r.create||e[1]!==a||e[2]!==m||e[3]!==l?(c=async()=>{if(!a)return;const u=await r.create.mutateAsync(l);m?.(u.id)},e[0]=r.create,e[1]=a,e[2]=m,e[3]=l,e[4]=c):c=e[4];const i=c,n=!a||r.create.isPending;let o;e[5]!==r.create.isPending?(o=r.create.isPending?s.jsxs(s.Fragment,{children:[s.jsx(z,{className:"animate-spin"}),"Connecting..."]}):s.jsxs(s.Fragment,{children:[s.jsx(W,{}),"Connect"]}),e[5]=r.create.isPending,e[6]=o):o=e[6];let f;e[7]!==i||e[8]!==n||e[9]!==o?(f=s.jsx(ke,{variant:"outline",className:"w-full",disabled:n,onClick:i,children:o}),e[7]=i,e[8]=n,e[9]=o,e[10]=f):f=e[10];let p;return e[11]!==i||e[12]!==l||e[13]!==f?(p=s.jsx(Ie,{connection:l,onClick:i,footer:f,className:"transition-all hover:border-primary/50 hover:shadow-md"}),e[11]=i,e[12]=l,e[13]=f,e[14]=p):p=e[14],p}function Ct(){const t=T.c(41),{org:e}=D(),l=ce(),m=V(),r=ee(),h=r.location.pathname.includes("/store/")&&r.location.pathname.split("/").length>3,d=Ee(l);let a;t[0]!==d?(a=d.map(Ge),t[0]=d,t[1]=a):a=t[1];const c=a;let i;t[2]!==e.slug?(i=Le.selectedRegistry(e.slug),t[2]=e.slug,t[3]=i):i=t[3];const[n,o]=Te(i,He);let f;if(t[4]!==d||t[5]!==n){let N;t[7]!==n?(N=O=>O.id===n,t[7]=n,t[8]=N):N=t[8],f=d.find(N),t[4]=d,t[5]=n,t[6]=f}else f=t[6];const u=f?.id||d[0]?.id||"";let g;t[9]!==e.id?(g=ie(e.id),t[9]=e.id,t[10]=g):g=t[10];let v;t[11]!==g?(v=[g],t[11]=g,t[12]=v):v=t[12];const y=v;let C;t[13]===Symbol.for("react.memo_cache_sentinel")?(C=[le()],t[13]=C):C=t[13];const S=C;let w;t[14]!==m.create||t[15]!==o?(w=async N=>{const O=await m.create.mutateAsync(N);o(O.id)},t[14]=m.create,t[15]=o,t[16]=w):w=t[16];const P=w;let j;t[17]!==d?(j=new Set(d.map(Ue)),t[17]=d,t[18]=j):j=t[18];const x=j;let b;t[19]!==x||t[20]!==y?(b=y.filter(N=>N.id&&!x.has(N.id)),t[19]=x,t[20]=y,t[21]=b):b=t[21];const k=b;let E;t[22]!==x?(E=S.filter(N=>N.id&&!x.has(N.id)),t[22]=x,t[23]=E):E=t[23];const R=E;if(h){let N;return t[24]===Symbol.for("react.memo_cache_sentinel")?(N=s.jsx(te,{}),t[24]=N):N=t[24],N}let I;t[25]!==P?(I=async N=>P(N),t[25]=P,t[26]=I):I=t[26];let L;t[27]!==k||t[28]!==u||t[29]!==c||t[30]!==o||t[31]!==I?(L=s.jsx(ne,{title:"Store",ctaButton:s.jsx(Be,{wellKnownRegistries:k,registries:c,value:u,onValueChange:o,onAddWellKnown:I,placeholder:"Select store..."})}),t[27]=k,t[28]=u,t[29]=c,t[30]=o,t[31]=I,t[32]=L):L=t[32];let A;t[33]===Symbol.for("react.memo_cache_sentinel")?(A=s.jsxs("div",{className:"flex flex-col items-center justify-center h-full",children:[s.jsx(z,{size:32,className:"animate-spin text-muted-foreground mb-4"}),s.jsx("p",{className:"text-sm text-muted-foreground",children:"Loading store items..."})]}),t[33]=A):A=t[33];let $;t[34]!==R||t[35]!==u||t[36]!==o?($=s.jsx("div",{className:"h-full flex flex-col overflow-hidden",children:s.jsx(M.Suspense,{fallback:A,children:u?s.jsx(ze,{registryId:u}):s.jsx("div",{className:"flex flex-col items-center justify-center h-full",children:s.jsx(We,{registries:R,onConnected:N=>{o(N)}})})})}),t[34]=R,t[35]=u,t[36]=o,t[37]=$):$=t[37];let K;return t[38]!==L||t[39]!==$?(K=s.jsxs("div",{className:"h-full flex flex-col overflow-hidden",children:[L,$]}),t[38]=L,t[39]=$,t[40]=K):K=t[40],K}function Ue(t){return t.id}function He(){return""}function Ge(t){return{id:t.id,name:t.title,icon:t.icon||void 0}}export{Ct as default};
1
+ import{ap as U,aq as _,ar as H,as as G,at as q,au as Y,r as M,c as T,j as s,f as Z,K as J,a as X,e as ee,s as te}from"./index-DPFREQMN.js";import{i as se,g as ie,a as le}from"./well-known-mcp-r4sGkJCM.js";import{C as ne}from"./collection-header-Bbr_EelX.js";import{I as re,b as oe,c as ae,a as V,u as ce}from"./use-connection-BObBSW3a.js";import{b as de,T as me,c as fe,u as D}from"./tooltip-T6rRsM2k.js";import{s as ue}from"./slugify-CEUa2lfQ.js";import{n as he}from"./Inbox01-7EuLNj_o.js";import{i as z}from"./Loading01-DhMR9Rl3.js";import{i as xe,E as pe}from"./SearchMd-Cle1NAvW.js";import{C as ge}from"./collection-search-CAT-KwFV.js";import{C as ve}from"./card-yDshgaNk.js";import{g as je,f as Ne,a as ye}from"./registry-utils-ulDDT0d8.js";import{e as Ce}from"./app-name-gTETL9So.js";import{d as we,a as be,b as Se,c as Pe,S as Re}from"./select-CQ6166et.js";import{s as W}from"./Plus-BoTbvZ3o.js";import{C as Ie}from"./connection-card-BHTh8x40.js";import{B as ke}from"./button-DRbSSzMo.js";import{a as Ee}from"./use-binding-CWUVDcMm.js";import{L as Le,u as Te}from"./localstorage-keys-Ffqwn37f.js";import"./collection-display-button-CxHAeMlJ.js";import"./dropdown-menu-ZynV4CKZ.js";import"./Grid01-DKsOPPqt.js";import"./utils-BDWLM78M.js";import"./input-jqtlIgj3.js";import"./ChevronDown-o688tr0R.js";import"./auth-l7FoQBwy.js";import"./useQuery-BDJatAa4.js";var $e=class extends U{constructor(t,e){super(t,e)}bindMethods(){super.bindMethods(),this.fetchNextPage=this.fetchNextPage.bind(this),this.fetchPreviousPage=this.fetchPreviousPage.bind(this)}setOptions(t){super.setOptions({...t,behavior:_()})}getOptimisticResult(t){return t.behavior=_(),super.getOptimisticResult(t)}fetchNextPage(t){return this.fetch({...t,meta:{fetchMore:{direction:"forward"}}})}fetchPreviousPage(t){return this.fetch({...t,meta:{fetchMore:{direction:"backward"}}})}createResult(t,e){const{state:l}=t,m=super.createResult(t,e),{isFetching:r,isRefetching:h,isError:d,isRefetchError:a}=m,c=l.fetchMeta?.fetchMore?.direction,i=d&&c==="forward",n=r&&c==="forward",o=d&&c==="backward",f=r&&c==="backward";return{...m,fetchNextPage:this.fetchNextPage,fetchPreviousPage:this.fetchPreviousPage,hasNextPage:G(e,l.data),hasPreviousPage:H(e,l.data),isFetchNextPageError:i,isFetchingNextPage:n,isFetchPreviousPageError:o,isFetchingPreviousPage:f,isRefetchError:a&&!i&&!o,isRefetching:h&&!n&&!f}}};function Me(t,e){return q({...t,enabled:!0,suspense:!0,throwOnError:Y},$e,e)}const Q=({size:t=24,color:e="currentColor",...l})=>M.createElement("svg",{viewBox:"0 0 24 24",width:t,height:t,stroke:e,strokeWidth:"2",fill:"none",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...l},M.createElement("path",{d:"m9 12 2 2 4.5-4.5m2.401-4.501a2.03 2.03 0 0 0 1.1 1.1l1.744.723a2.033 2.033 0 0 1 1.1 2.656l-.722 1.744a2.03 2.03 0 0 0 0 1.556l.722 1.744a2.033 2.033 0 0 1-1.1 2.656L19 17.901A2.033 2.033 0 0 0 17.9 19l-.723 1.745a2.032 2.032 0 0 1-2.656 1.1l-1.744-.722a2.032 2.032 0 0 0-1.555 0l-1.745.723a2.033 2.033 0 0 1-2.654-1.1L6.1 19.001A2.033 2.033 0 0 0 5 17.9l-1.744-.723a2.033 2.033 0 0 1-1.1-2.654l.721-1.744a2.033 2.033 0 0 0 0-1.556l-.722-1.746a2.033 2.033 0 0 1 1.1-2.657L5 6.098A2.03 2.03 0 0 0 6.1 5l.723-1.745a2.033 2.033 0 0 1 2.656-1.1l1.744.722a2.033 2.033 0 0 0 1.555-.001l1.746-.72a2.032 2.032 0 0 1 2.655 1.1l.723 1.746v-.003Z"}));Q.displayName="CheckVerified02";function Ae(t){const e=t.title||t.server.title||t.id||"Unnamed Item",l=t.server.description||null,m=t.server.icons?.[0]?.src||je(t.server.repository)||null,r=t._meta?.["mcp.mesh"]?.verified??!1,h=t.server.version,a=(t.server.remotes?.length??0)>0;let c=e,i=null;if(e.includes("/")){const n=e.split("/");n.length>=2&&(i=n[0]||null,c=Ce(e))}if(!i){const n=t._meta?.["mcp.mesh"]?.scopeName,o=t._meta?.["mcp.mesh"]?.appName;n&&o?i=`${n}/${o}`:n&&(i=n)}return{icon:m,scopeName:i,displayName:c,description:l,version:h||null,isVerified:r,canInstall:a}}function Ke(t){const e=T.c(39),{icon:l,scopeName:m,displayName:r,description:h,isVerified:d,canInstall:a,onClick:c}=t;let i;e[0]!==r||e[1]!==l?(i=s.jsx(re,{icon:l,name:r,size:"md",className:"shadow-sm"}),e[0]=r,e[1]=l,e[2]=i):i=e[2];let n;e[3]!==r?(n=s.jsx("span",{className:"truncate",children:r}),e[3]=r,e[4]=n):n=e[4];let o;e[5]!==d?(o=d&&s.jsx(Q,{size:16,className:"text-success shrink-0"}),e[5]=d,e[6]=o):o=e[6];let f;e[7]!==a?(f=!a&&s.jsx(se,{size:16,className:"text-muted-foreground shrink-0"}),e[7]=a,e[8]=f):f=e[8];let p;e[9]!==n||e[10]!==o||e[11]!==f?(p=s.jsx(de,{asChild:!0,children:s.jsxs("div",{className:"flex items-center gap-2 text-base font-medium min-w-0",children:[n,o,f]})}),e[9]=n,e[10]=o,e[11]=f,e[12]=p):p=e[12];let u;e[13]!==r?(u=s.jsx("p",{children:r}),e[13]=r,e[14]=u):u=e[14];let g;e[15]!==a?(g=!a&&s.jsx("p",{className:"text-xs mt-1",children:"No connection available"}),e[15]=a,e[16]=g):g=e[16];let v;e[17]!==u||e[18]!==g?(v=s.jsxs(me,{children:[u,g]}),e[17]=u,e[18]=g,e[19]=v):v=e[19];let y;e[20]!==p||e[21]!==v?(y=s.jsxs(fe,{children:[p,v]}),e[20]=p,e[21]=v,e[22]=y):y=e[22];let C;e[23]!==m?(C=m&&s.jsx("div",{className:"text-sm text-muted-foreground truncate",children:m}),e[23]=m,e[24]=C):C=e[24];let S;e[25]!==C||e[26]!==y?(S=s.jsx("div",{className:"flex gap-2 items-start min-w-0 flex-1",children:s.jsxs("div",{className:"min-w-0 flex-1",children:[y,C]})}),e[25]=C,e[26]=y,e[27]=S):S=e[27];let w;e[28]!==i||e[29]!==S?(w=s.jsxs("div",{className:"flex gap-3",children:[i,S]}),e[28]=i,e[29]=S,e[30]=w):w=e[30];const P=h||"No description available";let j;e[31]!==P?(j=s.jsx("div",{className:"grid grid-cols-1 gap-1 min-w-0",children:s.jsx("div",{className:"text-sm text-muted-foreground line-clamp-2",children:P})}),e[31]=P,e[32]=j):j=e[32];let x;e[33]!==w||e[34]!==j?(x=s.jsxs("div",{className:"flex flex-col gap-4 h-full relative",children:[w,j]}),e[33]=w,e[34]=j,e[35]=x):x=e[35];let b;return e[36]!==c||e[37]!==x?(b=s.jsx(ve,{className:"p-6 cursor-pointer hover:bg-muted/50 transition-colors",onClick:c,children:x}),e[36]=c,e[37]=x,e[38]=b):b=e[38],b}function B(t){const e=T.c(12),{items:l,title:m,onItemClick:r}=t;if(l.length===0)return null;let h;e[0]!==m?(h=m&&s.jsx("div",{className:"flex items-center justify-between w-max gap-2",children:s.jsx("h2",{className:"text-lg font-medium",children:m})}),e[0]=m,e[1]=h):h=e[1];let d;if(e[2]!==l||e[3]!==r){let i;e[5]!==r?(i=n=>{const o=Ae(n);return s.jsx(Ke,{...o,onClick:()=>r(n)},n.id)},e[5]=r,e[6]=i):i=e[6],d=l.map(i),e[2]=l,e[3]=r,e[4]=d}else d=e[4];let a;e[7]!==d?(a=s.jsx("div",{className:"grid grid-cols-4 gap-4",children:d}),e[7]=d,e[8]=a):a=e[8];let c;return e[9]!==h||e[10]!==a?(c=s.jsxs("div",{className:"flex flex-col gap-4",children:[h,a]}),e[9]=h,e[10]=a,e[11]=c):c=e[11],c}function Oe(t,e){if(!e)return t;const l=e.toLowerCase();return t.filter(m=>(m.name||m.title||"").toLowerCase().includes(l)||(m.description||m.server.description||"").toLowerCase().includes(l))}function Fe(t){return t.verified===!0||t._meta?.["mcp.mesh"]?.verified===!0||t.server._meta?.["mcp.mesh"]?.verified===!0}function De(t){const e=T.c(32),{items:l,isLoadingMore:m,registryId:r,hasMore:h,onLoadMore:d}=t,a=m===void 0?!1:m,c=h===void 0?!1:h,[i,n]=M.useState(""),o=Z(),{org:f}=D(),p=M.useRef(null);let u,g,v;e[0]!==l||e[1]!==i?(u=Oe(l,i),v=u.filter(Fe),g=u.filter(R=>!v.find(I=>I.id===R.id)),e[0]=l,e[1]=i,e[2]=u,e[3]=g,e[4]=v):(u=e[2],g=e[3],v=e[4]);const y=g;let C;e[5]!==o||e[6]!==f.slug||e[7]!==r?(C=R=>{const I=ue(R.name||R.title||R.server.title||""),L=R.server.name;o({to:"/$org/store/$appName",params:{org:f.slug,appName:I},search:{registryId:r,serverName:L}})},e[5]=o,e[6]=f.slug,e[7]=r,e[8]=C):C=e[8];const S=C;let w;e[9]!==c||e[10]!==a||e[11]!==d||e[12]!==i?(w=R=>{if(!c||!d||i||a)return;const I=R.currentTarget;I.scrollHeight-I.scrollTop-I.clientHeight<200&&d()},e[9]=c,e[10]=a,e[11]=d,e[12]=i,e[13]=w):w=e[13];const P=w;let j;e[14]===Symbol.for("react.memo_cache_sentinel")?(j=R=>{R.key==="Enter"&&n(R.currentTarget.value)},e[14]=j):j=e[14];let x;e[15]!==i?(x=s.jsx(ge,{value:i,onChange:n,placeholder:"Search for an MCP Server...",onKeyDown:j}),e[15]=i,e[16]=x):x=e[16];let b;e[17]!==y||e[18]!==u||e[19]!==S||e[20]!==c||e[21]!==a||e[22]!==l.length||e[23]!==i||e[24]!==v?(b=s.jsx("div",{className:"p-5",children:s.jsx("div",{children:l.length===0?s.jsxs("div",{className:"flex flex-col items-center justify-center py-12 text-center",children:[s.jsx(he,{size:48,className:"text-muted-foreground mb-4"}),s.jsx("h3",{className:"text-lg font-medium mb-2",children:"No items available"}),s.jsx("p",{className:"text-muted-foreground",children:"This store doesn't have any available items yet."})]}):i&&u.length===0?s.jsxs("div",{className:"flex flex-col items-center justify-center py-12 text-center",children:[s.jsx(xe,{size:48,className:"text-muted-foreground mb-4"}),s.jsx("h3",{className:"text-lg font-medium mb-2",children:"No results found"}),s.jsx("p",{className:"text-muted-foreground",children:"Try adjusting your search terms."})]}):s.jsxs("div",{className:"flex flex-col gap-8",children:[v.length>0&&s.jsx(B,{items:v,title:"Verified",onItemClick:S}),y.length>0&&s.jsx(B,{items:y,title:v.length>0?"All":"",onItemClick:S}),c&&!i&&a&&s.jsx("div",{className:"flex justify-center py-8",children:s.jsxs("div",{className:"flex items-center gap-2 text-muted-foreground",children:[s.jsx(z,{size:20,className:"animate-spin"}),s.jsx("span",{className:"text-sm",children:"Loading more items..."})]})})]})})}),e[17]=y,e[18]=u,e[19]=S,e[20]=c,e[21]=a,e[22]=l.length,e[23]=i,e[24]=v,e[25]=b):b=e[25];let k;e[26]!==P||e[27]!==b?(k=s.jsx("div",{ref:p,className:"flex-1 overflow-y-auto",onScroll:P,children:b}),e[26]=P,e[27]=b,e[28]=k):k=e[28];let E;return e[29]!==x||e[30]!==k?(E=s.jsxs("div",{className:"flex flex-col h-full",children:[x,k]}),e[29]=x,e[30]=k,e[31]=E):E=e[31],E}const F=24;function ze(t){const e=T.c(27),{registryId:l}=t,m=oe(l);let r,h,d,a;if(e[0]!==m?.tools||e[1]!==l){if(r=Ne(m?.tools),!r)throw new Error("This registry does not support listing store items.");let x;e[6]!==l?(x=ae(l),e[6]=l,e[7]=x):x=e[7],a=x,d=Me,h=J.toolCall(l,r,JSON.stringify({limit:F})),e[0]=m?.tools,e[1]=l,e[2]=r,e[3]=h,e[4]=d,e[5]=a}else r=e[2],h=e[3],d=e[4],a=e[5];let c;e[8]!==r||e[9]!==a?(c=async x=>{const{pageParam:b}=x;return await a(r,b?{cursor:b,limit:F}:{limit:F})},e[8]=r,e[9]=a,e[10]=c):c=e[10];let i;e[11]!==h||e[12]!==c?(i={queryKey:h,queryFn:c,initialPageParam:void 0,getNextPageParam:_e,staleTime:36e5},e[11]=h,e[12]=c,e[13]=i):i=e[13];const{data:n,fetchNextPage:o,hasNextPage:f,isFetchingNextPage:p}=d(i);let u;e:{if(!n?.pages||n.pages.length===0){u=null;break e}const x=n.pages[0];if(typeof x=="object"&&x!==null&&"totalCount"in x&&typeof x.totalCount=="number"){u=x.totalCount;break e}u=null}const g=u,v=n?.pages;let y;e[14]!==v?(y=ye(v),e[14]=v,e[15]=y):y=e[15];const C=y;let S;e[16]!==o||e[17]!==f||e[18]!==p?(S=()=>{f&&!p&&o()},e[16]=o,e[17]=f,e[18]=p,e[19]=S):S=e[19];const w=S,P=f??!1;let j;return e[20]!==C||e[21]!==w||e[22]!==p||e[23]!==l||e[24]!==P||e[25]!==g?(j=s.jsx(De,{items:C,isLoadingMore:p,registryId:l,hasMore:P,onLoadMore:w,totalCount:g}),e[20]=C,e[21]=w,e[22]=p,e[23]=l,e[24]=P,e[25]=g,e[26]=j):j=e[26],j}function _e(t){if(typeof t=="object"&&t!==null){const e=t.nextCursor||t.cursor;if(e)return e}}function Be(t){const e=T.c(15),{registries:l,value:m,onValueChange:r,onAddWellKnown:h,wellKnownRegistries:d,placeholder:a}=t,c=a===void 0?"Select a registry...":a;let i;e[0]!==c?(i=s.jsx(be,{className:"w-[200px] h-8!",children:s.jsx(Se,{placeholder:c})}),e[0]=c,e[1]=i):i=e[1];let n;e[2]!==l?(n=l.map(Ve),e[2]=l,e[3]=n):n=e[3];let o;e[4]!==h||e[5]!==d?(o=d.length>0&&s.jsxs("div",{className:"border-t border-border pt-1",children:[s.jsx("p",{className:"px-2 py-1.5 text-xs font-medium text-muted-foreground",children:"Other known registries"}),d.map(u=>s.jsxs("button",{onClick:g=>{g.preventDefault(),g.stopPropagation(),h(u)},className:"relative flex w-full cursor-pointer items-center gap-2 rounded-xl py-1.5 pr-8 pl-2 text-sm outline-hidden select-none hover:bg-accent hover:text-accent-foreground",children:[s.jsxs("div",{className:"flex items-center gap-2",children:[u.icon?s.jsx("img",{src:u.icon,alt:u.title,className:"w-4 h-4 rounded"}):s.jsx("div",{className:"w-4 h-4 rounded bg-primary/10 flex items-center justify-center text-xs font-semibold text-primary",children:u.title.slice(0,1).toUpperCase()}),s.jsx("span",{className:"flex-1",children:u.title})]}),s.jsx("span",{className:"absolute right-2 flex size-3.5 items-center justify-center text-muted-foreground",children:s.jsx(W,{size:16})})]},u.id??u.title))]}),e[4]=h,e[5]=d,e[6]=o):o=e[6];let f;e[7]!==n||e[8]!==o?(f=s.jsxs(Pe,{children:[n,o]}),e[7]=n,e[8]=o,e[9]=f):f=e[9];let p;return e[10]!==r||e[11]!==i||e[12]!==f||e[13]!==m?(p=s.jsxs(Re,{value:m,onValueChange:r,children:[i,f]}),e[10]=r,e[11]=i,e[12]=f,e[13]=m,e[14]=p):p=e[14],p}function Ve(t){return s.jsx(we,{className:"cursor-pointer",value:t.id??t.name,children:s.jsxs("div",{className:"flex items-center gap-2",children:[t.icon?s.jsx("img",{src:t.icon,alt:t.name,className:"w-4 h-4 rounded"}):s.jsx("div",{className:"w-4 h-4 rounded from-primary/20 to-primary/10 flex items-center justify-center text-xs font-semibold text-primary",children:t.name.slice(0,1).toUpperCase()}),s.jsx("span",{children:t.name})]})},t.id??t.name)}function We(t){const e=T.c(13),{registries:l,onConnected:m}=t,r=l.length===1;let h;e[0]===Symbol.for("react.memo_cache_sentinel")?(h=s.jsx("img",{src:"/store-empty-state.svg",alt:"No store connected",width:423,height:279,className:"max-w-full h-auto"}),e[0]=h):h=e[0];const d=r?"Connect to registry":"Connect to a store",a=r?"Connect to discover and use MCP Servers from the community.":"Choose a registry to discover and connect MCP Servers from the community.",c=`grid gap-4 w-full ${r?"grid-cols-1 justify-items-center":"grid-cols-1 md:grid-cols-2"}`;let i;if(e[1]!==m||e[2]!==l){let f;e[4]!==m?(f=(p,u)=>{const g=p.id??`registry-${u}`;return s.jsx(Qe,{registry:{...p,id:g},onConnected:m},g)},e[4]=m,e[5]=f):f=e[5],i=l.map(f),e[1]=m,e[2]=l,e[3]=i}else i=e[3];let n;e[6]!==c||e[7]!==i?(n=s.jsx("div",{className:c,children:i}),e[6]=c,e[7]=i,e[8]=n):n=e[8];let o;return e[9]!==d||e[10]!==a||e[11]!==n?(o=s.jsx(pe,{image:h,title:d,description:a,descriptionClassName:"max-w-[500px]",actionsClassName:"w-full max-w-2xl",actions:n}),e[9]=d,e[10]=a,e[11]=n,e[12]=o):o=e[12],o}function Qe(t){const e=T.c(15),{registry:l,onConnected:m}=t,r=V(),{org:h}=D(),{data:d}=X.useSession(),a=!!h&&!!d?.user?.id;let c;e[0]!==r.create||e[1]!==a||e[2]!==m||e[3]!==l?(c=async()=>{if(!a)return;const u=await r.create.mutateAsync(l);m?.(u.id)},e[0]=r.create,e[1]=a,e[2]=m,e[3]=l,e[4]=c):c=e[4];const i=c,n=!a||r.create.isPending;let o;e[5]!==r.create.isPending?(o=r.create.isPending?s.jsxs(s.Fragment,{children:[s.jsx(z,{className:"animate-spin"}),"Connecting..."]}):s.jsxs(s.Fragment,{children:[s.jsx(W,{}),"Connect"]}),e[5]=r.create.isPending,e[6]=o):o=e[6];let f;e[7]!==i||e[8]!==n||e[9]!==o?(f=s.jsx(ke,{variant:"outline",className:"w-full",disabled:n,onClick:i,children:o}),e[7]=i,e[8]=n,e[9]=o,e[10]=f):f=e[10];let p;return e[11]!==i||e[12]!==l||e[13]!==f?(p=s.jsx(Ie,{connection:l,onClick:i,footer:f,className:"transition-all hover:border-primary/50 hover:shadow-md"}),e[11]=i,e[12]=l,e[13]=f,e[14]=p):p=e[14],p}function Ct(){const t=T.c(41),{org:e}=D(),l=ce(),m=V(),r=ee(),h=r.location.pathname.includes("/store/")&&r.location.pathname.split("/").length>3,d=Ee(l);let a;t[0]!==d?(a=d.map(Ge),t[0]=d,t[1]=a):a=t[1];const c=a;let i;t[2]!==e.slug?(i=Le.selectedRegistry(e.slug),t[2]=e.slug,t[3]=i):i=t[3];const[n,o]=Te(i,He);let f;if(t[4]!==d||t[5]!==n){let N;t[7]!==n?(N=O=>O.id===n,t[7]=n,t[8]=N):N=t[8],f=d.find(N),t[4]=d,t[5]=n,t[6]=f}else f=t[6];const u=f?.id||d[0]?.id||"";let g;t[9]!==e.id?(g=ie(e.id),t[9]=e.id,t[10]=g):g=t[10];let v;t[11]!==g?(v=[g],t[11]=g,t[12]=v):v=t[12];const y=v;let C;t[13]===Symbol.for("react.memo_cache_sentinel")?(C=[le()],t[13]=C):C=t[13];const S=C;let w;t[14]!==m.create||t[15]!==o?(w=async N=>{const O=await m.create.mutateAsync(N);o(O.id)},t[14]=m.create,t[15]=o,t[16]=w):w=t[16];const P=w;let j;t[17]!==d?(j=new Set(d.map(Ue)),t[17]=d,t[18]=j):j=t[18];const x=j;let b;t[19]!==x||t[20]!==y?(b=y.filter(N=>N.id&&!x.has(N.id)),t[19]=x,t[20]=y,t[21]=b):b=t[21];const k=b;let E;t[22]!==x?(E=S.filter(N=>N.id&&!x.has(N.id)),t[22]=x,t[23]=E):E=t[23];const R=E;if(h){let N;return t[24]===Symbol.for("react.memo_cache_sentinel")?(N=s.jsx(te,{}),t[24]=N):N=t[24],N}let I;t[25]!==P?(I=async N=>P(N),t[25]=P,t[26]=I):I=t[26];let L;t[27]!==k||t[28]!==u||t[29]!==c||t[30]!==o||t[31]!==I?(L=s.jsx(ne,{title:"Store",ctaButton:s.jsx(Be,{wellKnownRegistries:k,registries:c,value:u,onValueChange:o,onAddWellKnown:I,placeholder:"Select store..."})}),t[27]=k,t[28]=u,t[29]=c,t[30]=o,t[31]=I,t[32]=L):L=t[32];let A;t[33]===Symbol.for("react.memo_cache_sentinel")?(A=s.jsxs("div",{className:"flex flex-col items-center justify-center h-full",children:[s.jsx(z,{size:32,className:"animate-spin text-muted-foreground mb-4"}),s.jsx("p",{className:"text-sm text-muted-foreground",children:"Loading store items..."})]}),t[33]=A):A=t[33];let $;t[34]!==R||t[35]!==u||t[36]!==o?($=s.jsx("div",{className:"h-full flex flex-col overflow-hidden",children:s.jsx(M.Suspense,{fallback:A,children:u?s.jsx(ze,{registryId:u}):s.jsx("div",{className:"flex flex-col items-center justify-center h-full",children:s.jsx(We,{registries:R,onConnected:N=>{o(N)}})})})}),t[34]=R,t[35]=u,t[36]=o,t[37]=$):$=t[37];let K;return t[38]!==L||t[39]!==$?(K=s.jsxs("div",{className:"h-full flex flex-col overflow-hidden",children:[L,$]}),t[38]=L,t[39]=$,t[40]=K):K=t[40],K}function Ue(t){return t.id}function He(){return""}function Ge(t){return{id:t.id,name:t.title,icon:t.icon||void 0}}export{Ct as default};
@@ -1 +1 @@
1
- import{r as j,c as M,j as t,H as X,B as I,a2 as z,z as _,E as G,bj as J,bk as K}from"./index-C4a1DvcM.js";import{I as $,u as Y}from"./use-connection-8aFd9ZgQ.js";import{C as F}from"./checkbox-BMbqVqRo.js";import{B as Z}from"./button-Chm7HSn5.js";import{i as ee}from"./ArrowLeft-nKBVB_NL.js";import{c as S}from"./utils-BXNVuJET.js";import{C as te}from"./collection-search-CBHWh6W9.js";const se=j.memo(function(o){const e=M.c(21),{connection:n,isSelected:r,hasToolsEnabled:c,activeToolsCount:i,totalToolsCount:x,onSelect:b,onToggle:g}=o,d=r?"bg-accent/50":"hover:bg-muted/50";let u;e[0]!==d?(u=S("flex items-center gap-3 p-2 rounded-lg transition-colors will-change-auto",d),e[0]=d,e[1]=u):u=e[1];let m;e[2]!==n.icon||e[3]!==n.title?(m=t.jsx($,{icon:n.icon,name:n.title,size:"xs"}),e[2]=n.icon,e[3]=n.title,e[4]=m):m=e[4];let p;e[5]!==n.title?(p=t.jsx("div",{className:"flex-1 min-w-0",children:t.jsx("p",{className:"text-sm font-medium text-foreground truncate",children:n.title})}),e[5]=n.title,e[6]=p):p=e[6];let a;e[7]!==b||e[8]!==m||e[9]!==p?(a=t.jsxs("div",{className:"flex items-center gap-3 flex-1 min-w-0 cursor-pointer",onClick:b,children:[m,p]}),e[7]=b,e[8]=m,e[9]=p,e[10]=a):a=e[10];let f;e[11]!==i||e[12]!==n.tools||e[13]!==c||e[14]!==g||e[15]!==x?(f=n.tools&&n.tools.length>0&&t.jsxs(t.Fragment,{children:[t.jsxs("span",{className:"text-xs text-muted-foreground shrink-0",children:[i,"/",x]}),t.jsx(F,{checked:c,onCheckedChange:g,onClick:ne})]}),e[11]=i,e[12]=n.tools,e[13]=c,e[14]=g,e[15]=x,e[16]=f):f=e[16];let C;return e[17]!==u||e[18]!==a||e[19]!==f?(C=t.jsxs("div",{className:u,children:[a,f]}),e[17]=u,e[18]=a,e[19]=f,e[20]=C):C=e[20],C}),oe=j.memo(function(o){const e=M.c(18),{connectionId:n,tool:r,isSelected:c,onToggle:i}=o,x=`tool-${n}-${r.name}`,b=c?"text-foreground":"text-muted-foreground";let g;e[0]!==b?(g=S("text-sm font-medium",b),e[0]=b,e[1]=g):g=e[1];let d;e[2]!==g||e[3]!==r.name?(d=t.jsx("div",{className:"flex items-center gap-2 mb-1",children:t.jsx("span",{className:g,children:r.name})}),e[2]=g,e[3]=r.name,e[4]=d):d=e[4];let u;e[5]!==r.description?(u=r.description&&t.jsx("p",{className:"text-xs text-muted-foreground line-clamp-2",children:r.description}),e[5]=r.description,e[6]=u):u=e[6];let m;e[7]!==d||e[8]!==u?(m=t.jsxs("div",{className:"flex-1 min-w-0",children:[d,u]}),e[7]=d,e[8]=u,e[9]=m):m=e[9];const p=`tool-${n}-${r.name}`;let a;e[10]!==c||e[11]!==i||e[12]!==p?(a=t.jsx("div",{className:"flex items-center shrink-0",children:t.jsx(F,{id:p,checked:c,onCheckedChange:i,onClick:re})}),e[10]=c,e[11]=i,e[12]=p,e[13]=a):a=e[13];let f;return e[14]!==x||e[15]!==m||e[16]!==a?(f=t.jsxs("label",{className:"flex items-center gap-3 p-3 rounded-lg hover:bg-muted/50 cursor-pointer group will-change-auto",htmlFor:x,children:[m,a]}),e[14]=x,e[15]=m,e[16]=a,e[17]=f):f=e[17],f});function ve({toolSet:l,onToolSetChange:o}){const[e,n]=j.useState(""),r=j.useDeferredValue(e),[c,i]=j.useState("all"),[x,b]=j.useState(!1),g=j.useRef(new Set(Object.keys(l))),d=Y({searchTerm:r.trim()||void 0}),u=g.current,m=[...u.values()].map(s=>d.find(h=>h.id===s)).filter(s=>s!==void 0),p=d.filter(s=>!u.has(s.id)),a=[...m,...p],f=s=>{const h=l[s];return h!==void 0&&h.length>0},C=a.filter(s=>{if(c==="all")return!0;const h=f(s.id);return c==="selected"?h:c==="unselected"?!h:!0}),[k,E]=j.useState(a[0]?.id??null),v=k?a.find(s=>s.id===k)??null:null,P=v?.tools??[],Q=(s,h)=>l[s]?.includes(h)??!1,q=(s,h)=>{const w=l[s]??[],R=w.includes(h),T={...l};if(R){const y=w.filter(N=>N!==h);y.length===0?delete T[s]:T[s]=y}else T[s]=[...w,h];o(T)},L=s=>{const h=a.find(N=>N.id===s);if(!h?.tools)return;const w=l[s]??[],R=h.tools.map(N=>N.name),T=w.length>0&&R.every(N=>w.includes(N)),y={...l};T?delete y[s]:(y[s]=R,E(s)),o(y)},V=s=>{E(s),b(!0)},W=()=>{b(!1)};return t.jsxs("div",{className:"flex h-full",children:[t.jsxs("div",{className:S("w-full md:w-80 border-r border-border flex flex-col",x&&"hidden md:flex"),children:[t.jsx(te,{value:e,onChange:n,placeholder:"Search MCP Servers..."}),t.jsxs("div",{className:"flex gap-1 p-2 border-b border-border",children:[t.jsx("button",{onClick:()=>i("all"),className:S("flex-1 px-3 py-1.5 text-xs font-medium rounded-md transition-colors border cursor-pointer",c==="all"?"bg-muted border-border":"border-border opacity-75 hover:opacity-100"),children:"All"}),t.jsx("button",{onClick:()=>i("selected"),className:S("flex-1 px-3 py-1.5 text-xs font-medium rounded-md transition-colors border cursor-pointer",c==="selected"?"bg-muted border-border":"border-border opacity-75 hover:opacity-100"),children:"Selected"}),t.jsx("button",{onClick:()=>i("unselected"),className:S("flex-1 px-3 py-1.5 text-xs font-medium rounded-md transition-colors border cursor-pointer",c==="unselected"?"bg-muted border-border":"border-border opacity-75 hover:opacity-100"),children:"Unselected"})]}),t.jsx("div",{className:"flex-1 overflow-auto",children:C.length===0?t.jsx("div",{className:"p-4 text-sm text-muted-foreground text-center",children:e?"No connections found":c==="selected"?"No servers selected":c==="unselected"?"No unselected servers":"No connections available"}):t.jsx("div",{className:"p-2 space-y-1",children:C.map(s=>{const h=s.tools?.length??0,w=l[s.id]?.length??0;return t.jsx(se,{connection:s,isSelected:k===s.id,hasToolsEnabled:f(s.id),activeToolsCount:w,totalToolsCount:h,onSelect:()=>V(s.id),onToggle:()=>L(s.id)},s.id)})})})]}),t.jsx("div",{className:S("flex-1 flex-col",x?"flex":"hidden md:flex"),children:v?t.jsxs(t.Fragment,{children:[t.jsxs("div",{className:"md:hidden border-b border-border p-4 flex items-center gap-3",children:[t.jsx(Z,{variant:"ghost",size:"sm",onClick:W,className:"h-8 w-8 p-0 shrink-0",children:t.jsx(ee,{size:20})}),t.jsxs("div",{className:"flex items-center gap-3 flex-1 min-w-0",children:[t.jsx($,{icon:v.icon,name:v.title,size:"sm"}),t.jsxs("div",{className:"flex-1 min-w-0",children:[t.jsx("h3",{className:"text-base font-medium text-foreground truncate",children:v.title}),v.description&&t.jsx("p",{className:"text-sm text-muted-foreground truncate",children:v.description})]})]})]}),t.jsx("div",{className:"flex-1 overflow-auto p-4",children:P.length===0?t.jsx("div",{className:"text-sm text-muted-foreground text-center py-8",children:"This connection has no tools available"}):t.jsx("div",{className:"space-y-2",children:P.map(s=>t.jsx(oe,{connectionId:v.id,tool:s,isSelected:Q(v.id,s.name),onToggle:()=>q(v.id,s.name)},s.name))})})]}):t.jsx("div",{className:"flex-1 flex items-center justify-center",children:t.jsx("div",{className:"text-sm text-muted-foreground text-center",children:"Select a connection to view its tools"})})})]})}function ne(l){return l.stopPropagation()}function re(l){return l.stopPropagation()}var B="Switch",[le]=X(B),[ce,ie]=le(B),H=j.forwardRef((l,o)=>{const{__scopeSwitch:e,name:n,checked:r,defaultChecked:c,required:i,disabled:x,value:b="on",onCheckedChange:g,form:d,...u}=l,[m,p]=j.useState(null),a=z(o,v=>p(v)),f=j.useRef(!1),C=m?d||!!m.closest("form"):!0,[k,E]=_({prop:r,defaultProp:c??!1,onChange:g,caller:B});return t.jsxs(ce,{scope:e,checked:k,disabled:x,children:[t.jsx(I.button,{type:"button",role:"switch","aria-checked":k,"aria-required":i,"data-state":U(k),"data-disabled":x?"":void 0,disabled:x,value:b,...u,ref:a,onClick:G(l.onClick,v=>{E(P=>!P),C&&(f.current=v.isPropagationStopped(),f.current||v.stopPropagation())})}),C&&t.jsx(D,{control:m,bubbles:!f.current,name:n,value:b,checked:k,required:i,disabled:x,form:d,style:{transform:"translateX(-100%)"}})]})});H.displayName=B;var O="SwitchThumb",A=j.forwardRef((l,o)=>{const{__scopeSwitch:e,...n}=l,r=ie(O,e);return t.jsx(I.span,{"data-state":U(r.checked),"data-disabled":r.disabled?"":void 0,...n,ref:o})});A.displayName=O;var ae="SwitchBubbleInput",D=j.forwardRef(({__scopeSwitch:l,control:o,checked:e,bubbles:n=!0,...r},c)=>{const i=j.useRef(null),x=z(i,c),b=J(e),g=K(o);return j.useEffect(()=>{const d=i.current;if(!d)return;const u=window.HTMLInputElement.prototype,p=Object.getOwnPropertyDescriptor(u,"checked").set;if(b!==e&&p){const a=new Event("click",{bubbles:n});p.call(d,e),d.dispatchEvent(a)}},[b,e,n]),t.jsx("input",{type:"checkbox","aria-hidden":!0,defaultChecked:e,...r,tabIndex:-1,ref:x,style:{...r.style,...g,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});D.displayName=ae;function U(l){return l?"checked":"unchecked"}var de=H,ue=A;function je(l){const o=M.c(9);let e,n;o[0]!==l?({className:e,...n}=l,o[0]=l,o[1]=e,o[2]=n):(e=o[1],n=o[2]);let r;o[3]!==e?(r=S("peer data-[state=checked]:bg-primary data-[state=unchecked]:bg-input focus-visible:border-ring focus-visible:ring-ring/50 dark:data-[state=unchecked]:bg-input/80 inline-flex h-[1.15rem] w-8 shrink-0 items-center rounded-full border border-transparent shadow-xs transition-all outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",e),o[3]=e,o[4]=r):r=o[4];let c;o[5]===Symbol.for("react.memo_cache_sentinel")?(c=t.jsx(ue,{"data-slot":"switch-thumb",className:S("bg-background dark:data-[state=unchecked]:bg-foreground dark:data-[state=checked]:bg-primary-foreground pointer-events-none block size-4 rounded-full ring-0 transition-transform data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0")}),o[5]=c):c=o[5];let i;return o[6]!==n||o[7]!==r?(i=t.jsx(de,{"data-slot":"switch",className:r,...n,children:c}),o[6]=n,o[7]=r,o[8]=i):i=o[8],i}export{je as S,ve as T};
1
+ import{r as j,c as M,j as t,H as X,B as I,a2 as z,z as _,E as G,bj as J,bk as K}from"./index-DPFREQMN.js";import{I as $,u as Y}from"./use-connection-BObBSW3a.js";import{C as F}from"./checkbox-CVaEe_Kv.js";import{B as Z}from"./button-DRbSSzMo.js";import{i as ee}from"./ArrowLeft-DMs-Q5a_.js";import{c as S}from"./utils-BDWLM78M.js";import{C as te}from"./collection-search-CAT-KwFV.js";const se=j.memo(function(o){const e=M.c(21),{connection:n,isSelected:r,hasToolsEnabled:c,activeToolsCount:i,totalToolsCount:x,onSelect:b,onToggle:g}=o,d=r?"bg-accent/50":"hover:bg-muted/50";let u;e[0]!==d?(u=S("flex items-center gap-3 p-2 rounded-lg transition-colors will-change-auto",d),e[0]=d,e[1]=u):u=e[1];let m;e[2]!==n.icon||e[3]!==n.title?(m=t.jsx($,{icon:n.icon,name:n.title,size:"xs"}),e[2]=n.icon,e[3]=n.title,e[4]=m):m=e[4];let p;e[5]!==n.title?(p=t.jsx("div",{className:"flex-1 min-w-0",children:t.jsx("p",{className:"text-sm font-medium text-foreground truncate",children:n.title})}),e[5]=n.title,e[6]=p):p=e[6];let a;e[7]!==b||e[8]!==m||e[9]!==p?(a=t.jsxs("div",{className:"flex items-center gap-3 flex-1 min-w-0 cursor-pointer",onClick:b,children:[m,p]}),e[7]=b,e[8]=m,e[9]=p,e[10]=a):a=e[10];let f;e[11]!==i||e[12]!==n.tools||e[13]!==c||e[14]!==g||e[15]!==x?(f=n.tools&&n.tools.length>0&&t.jsxs(t.Fragment,{children:[t.jsxs("span",{className:"text-xs text-muted-foreground shrink-0",children:[i,"/",x]}),t.jsx(F,{checked:c,onCheckedChange:g,onClick:ne})]}),e[11]=i,e[12]=n.tools,e[13]=c,e[14]=g,e[15]=x,e[16]=f):f=e[16];let C;return e[17]!==u||e[18]!==a||e[19]!==f?(C=t.jsxs("div",{className:u,children:[a,f]}),e[17]=u,e[18]=a,e[19]=f,e[20]=C):C=e[20],C}),oe=j.memo(function(o){const e=M.c(18),{connectionId:n,tool:r,isSelected:c,onToggle:i}=o,x=`tool-${n}-${r.name}`,b=c?"text-foreground":"text-muted-foreground";let g;e[0]!==b?(g=S("text-sm font-medium",b),e[0]=b,e[1]=g):g=e[1];let d;e[2]!==g||e[3]!==r.name?(d=t.jsx("div",{className:"flex items-center gap-2 mb-1",children:t.jsx("span",{className:g,children:r.name})}),e[2]=g,e[3]=r.name,e[4]=d):d=e[4];let u;e[5]!==r.description?(u=r.description&&t.jsx("p",{className:"text-xs text-muted-foreground line-clamp-2",children:r.description}),e[5]=r.description,e[6]=u):u=e[6];let m;e[7]!==d||e[8]!==u?(m=t.jsxs("div",{className:"flex-1 min-w-0",children:[d,u]}),e[7]=d,e[8]=u,e[9]=m):m=e[9];const p=`tool-${n}-${r.name}`;let a;e[10]!==c||e[11]!==i||e[12]!==p?(a=t.jsx("div",{className:"flex items-center shrink-0",children:t.jsx(F,{id:p,checked:c,onCheckedChange:i,onClick:re})}),e[10]=c,e[11]=i,e[12]=p,e[13]=a):a=e[13];let f;return e[14]!==x||e[15]!==m||e[16]!==a?(f=t.jsxs("label",{className:"flex items-center gap-3 p-3 rounded-lg hover:bg-muted/50 cursor-pointer group will-change-auto",htmlFor:x,children:[m,a]}),e[14]=x,e[15]=m,e[16]=a,e[17]=f):f=e[17],f});function ve({toolSet:l,onToolSetChange:o}){const[e,n]=j.useState(""),r=j.useDeferredValue(e),[c,i]=j.useState("all"),[x,b]=j.useState(!1),g=j.useRef(new Set(Object.keys(l))),d=Y({searchTerm:r.trim()||void 0}),u=g.current,m=[...u.values()].map(s=>d.find(h=>h.id===s)).filter(s=>s!==void 0),p=d.filter(s=>!u.has(s.id)),a=[...m,...p],f=s=>{const h=l[s];return h!==void 0&&h.length>0},C=a.filter(s=>{if(c==="all")return!0;const h=f(s.id);return c==="selected"?h:c==="unselected"?!h:!0}),[k,E]=j.useState(a[0]?.id??null),v=k?a.find(s=>s.id===k)??null:null,P=v?.tools??[],Q=(s,h)=>l[s]?.includes(h)??!1,q=(s,h)=>{const w=l[s]??[],R=w.includes(h),T={...l};if(R){const y=w.filter(N=>N!==h);y.length===0?delete T[s]:T[s]=y}else T[s]=[...w,h];o(T)},L=s=>{const h=a.find(N=>N.id===s);if(!h?.tools)return;const w=l[s]??[],R=h.tools.map(N=>N.name),T=w.length>0&&R.every(N=>w.includes(N)),y={...l};T?delete y[s]:(y[s]=R,E(s)),o(y)},V=s=>{E(s),b(!0)},W=()=>{b(!1)};return t.jsxs("div",{className:"flex h-full",children:[t.jsxs("div",{className:S("w-full md:w-80 border-r border-border flex flex-col",x&&"hidden md:flex"),children:[t.jsx(te,{value:e,onChange:n,placeholder:"Search MCP Servers..."}),t.jsxs("div",{className:"flex gap-1 p-2 border-b border-border",children:[t.jsx("button",{onClick:()=>i("all"),className:S("flex-1 px-3 py-1.5 text-xs font-medium rounded-md transition-colors border cursor-pointer",c==="all"?"bg-muted border-border":"border-border opacity-75 hover:opacity-100"),children:"All"}),t.jsx("button",{onClick:()=>i("selected"),className:S("flex-1 px-3 py-1.5 text-xs font-medium rounded-md transition-colors border cursor-pointer",c==="selected"?"bg-muted border-border":"border-border opacity-75 hover:opacity-100"),children:"Selected"}),t.jsx("button",{onClick:()=>i("unselected"),className:S("flex-1 px-3 py-1.5 text-xs font-medium rounded-md transition-colors border cursor-pointer",c==="unselected"?"bg-muted border-border":"border-border opacity-75 hover:opacity-100"),children:"Unselected"})]}),t.jsx("div",{className:"flex-1 overflow-auto",children:C.length===0?t.jsx("div",{className:"p-4 text-sm text-muted-foreground text-center",children:e?"No connections found":c==="selected"?"No servers selected":c==="unselected"?"No unselected servers":"No connections available"}):t.jsx("div",{className:"p-2 space-y-1",children:C.map(s=>{const h=s.tools?.length??0,w=l[s.id]?.length??0;return t.jsx(se,{connection:s,isSelected:k===s.id,hasToolsEnabled:f(s.id),activeToolsCount:w,totalToolsCount:h,onSelect:()=>V(s.id),onToggle:()=>L(s.id)},s.id)})})})]}),t.jsx("div",{className:S("flex-1 flex-col",x?"flex":"hidden md:flex"),children:v?t.jsxs(t.Fragment,{children:[t.jsxs("div",{className:"md:hidden border-b border-border p-4 flex items-center gap-3",children:[t.jsx(Z,{variant:"ghost",size:"sm",onClick:W,className:"h-8 w-8 p-0 shrink-0",children:t.jsx(ee,{size:20})}),t.jsxs("div",{className:"flex items-center gap-3 flex-1 min-w-0",children:[t.jsx($,{icon:v.icon,name:v.title,size:"sm"}),t.jsxs("div",{className:"flex-1 min-w-0",children:[t.jsx("h3",{className:"text-base font-medium text-foreground truncate",children:v.title}),v.description&&t.jsx("p",{className:"text-sm text-muted-foreground truncate",children:v.description})]})]})]}),t.jsx("div",{className:"flex-1 overflow-auto p-4",children:P.length===0?t.jsx("div",{className:"text-sm text-muted-foreground text-center py-8",children:"This connection has no tools available"}):t.jsx("div",{className:"space-y-2",children:P.map(s=>t.jsx(oe,{connectionId:v.id,tool:s,isSelected:Q(v.id,s.name),onToggle:()=>q(v.id,s.name)},s.name))})})]}):t.jsx("div",{className:"flex-1 flex items-center justify-center",children:t.jsx("div",{className:"text-sm text-muted-foreground text-center",children:"Select a connection to view its tools"})})})]})}function ne(l){return l.stopPropagation()}function re(l){return l.stopPropagation()}var B="Switch",[le]=X(B),[ce,ie]=le(B),H=j.forwardRef((l,o)=>{const{__scopeSwitch:e,name:n,checked:r,defaultChecked:c,required:i,disabled:x,value:b="on",onCheckedChange:g,form:d,...u}=l,[m,p]=j.useState(null),a=z(o,v=>p(v)),f=j.useRef(!1),C=m?d||!!m.closest("form"):!0,[k,E]=_({prop:r,defaultProp:c??!1,onChange:g,caller:B});return t.jsxs(ce,{scope:e,checked:k,disabled:x,children:[t.jsx(I.button,{type:"button",role:"switch","aria-checked":k,"aria-required":i,"data-state":U(k),"data-disabled":x?"":void 0,disabled:x,value:b,...u,ref:a,onClick:G(l.onClick,v=>{E(P=>!P),C&&(f.current=v.isPropagationStopped(),f.current||v.stopPropagation())})}),C&&t.jsx(D,{control:m,bubbles:!f.current,name:n,value:b,checked:k,required:i,disabled:x,form:d,style:{transform:"translateX(-100%)"}})]})});H.displayName=B;var O="SwitchThumb",A=j.forwardRef((l,o)=>{const{__scopeSwitch:e,...n}=l,r=ie(O,e);return t.jsx(I.span,{"data-state":U(r.checked),"data-disabled":r.disabled?"":void 0,...n,ref:o})});A.displayName=O;var ae="SwitchBubbleInput",D=j.forwardRef(({__scopeSwitch:l,control:o,checked:e,bubbles:n=!0,...r},c)=>{const i=j.useRef(null),x=z(i,c),b=J(e),g=K(o);return j.useEffect(()=>{const d=i.current;if(!d)return;const u=window.HTMLInputElement.prototype,p=Object.getOwnPropertyDescriptor(u,"checked").set;if(b!==e&&p){const a=new Event("click",{bubbles:n});p.call(d,e),d.dispatchEvent(a)}},[b,e,n]),t.jsx("input",{type:"checkbox","aria-hidden":!0,defaultChecked:e,...r,tabIndex:-1,ref:x,style:{...r.style,...g,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});D.displayName=ae;function U(l){return l?"checked":"unchecked"}var de=H,ue=A;function je(l){const o=M.c(9);let e,n;o[0]!==l?({className:e,...n}=l,o[0]=l,o[1]=e,o[2]=n):(e=o[1],n=o[2]);let r;o[3]!==e?(r=S("peer data-[state=checked]:bg-primary data-[state=unchecked]:bg-input focus-visible:border-ring focus-visible:ring-ring/50 dark:data-[state=unchecked]:bg-input/80 inline-flex h-[1.15rem] w-8 shrink-0 items-center rounded-full border border-transparent shadow-xs transition-all outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",e),o[3]=e,o[4]=r):r=o[4];let c;o[5]===Symbol.for("react.memo_cache_sentinel")?(c=t.jsx(ue,{"data-slot":"switch-thumb",className:S("bg-background dark:data-[state=unchecked]:bg-foreground dark:data-[state=checked]:bg-primary-foreground pointer-events-none block size-4 rounded-full ring-0 transition-transform data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0")}),o[5]=c):c=o[5];let i;return o[6]!==n||o[7]!==r?(i=t.jsx(de,{"data-slot":"switch",className:r,...n,children:c}),o[6]=n,o[7]=r,o[8]=i):i=o[8],i}export{je as S,ve as T};
@@ -1 +1 @@
1
- import{c as o,j as n}from"./index-C4a1DvcM.js";import{c as l}from"./utils-BXNVuJET.js";function u(s){const e=o.c(8);let r,i;e[0]!==s?({className:r,...i}=s,e[0]=s,e[1]=r,e[2]=i):(r=e[1],i=e[2]);let t;e[3]!==r?(t=l("border-input placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 flex field-sizing-content min-h-16 w-full rounded-xl border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",r),e[3]=r,e[4]=t):t=e[4];let a;return e[5]!==i||e[6]!==t?(a=n.jsx("textarea",{"data-slot":"textarea",className:t,...i}),e[5]=i,e[6]=t,e[7]=a):a=e[7],a}export{u as T};
1
+ import{c as o,j as n}from"./index-DPFREQMN.js";import{c as l}from"./utils-BDWLM78M.js";function u(s){const e=o.c(8);let r,i;e[0]!==s?({className:r,...i}=s,e[0]=s,e[1]=r,e[2]=i):(r=e[1],i=e[2]);let t;e[3]!==r?(t=l("border-input placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 flex field-sizing-content min-h-16 w-full rounded-xl border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",r),e[3]=r,e[4]=t):t=e[4];let a;return e[5]!==i||e[6]!==t?(a=n.jsx("textarea",{"data-slot":"textarea",className:t,...i}),e[5]=i,e[6]=t,e[7]=a):a=e[7],a}export{u as T};
@@ -1 +1 @@
1
- import{K as B,j as t,c as O,f as Q,r as k}from"./index-C4a1DvcM.js";import{u as U}from"./useQuery-39cprZL6.js";import{i as W}from"./File06-Cn7JLPIx.js";import{i as Y}from"./Loading01-BUZAT-Ht.js";import{e as J}from"./registry-utils-ulDDT0d8.js";import{C as P}from"./collection-display-button-DDw_0fW6.js";import{C as X}from"./collection-search-CBHWh6W9.js";import{C as Z}from"./collection-table-wrapper-CGsO_-78.js";import{E as z}from"./SearchMd-BXC4Yoz_.js";import{I as ee}from"./use-connection-8aFd9ZgQ.js";import{C as te}from"./card-BVamKRXq.js";import{V as se}from"./layout-BkDVhV_I.js";function oe(s){return s.replace(/<a[^>]*class="[^"]*anchor[^"]*"[^>]*>.*?<\/a>/gi,"")}function re(s){return s.replace(/<a\s+([^>]*href="[^"]*"[^>]*)>/gi,(e,i)=>i.includes("target=")?e.replace(/target="[^"]*"/gi,'target="_blank"'):`<a ${i} target="_blank" rel="noopener noreferrer">`)}function ne(s){let e=oe(s);return e=re(e),e}function ve({repository:s}){const e=s?J(s):null,{data:i,isLoading:c}=U({queryKey:B.githubReadme(e?.owner,e?.repo),queryFn:async()=>{if(!e)return null;try{const l=await fetch(`https://api.github.com/repos/${e.owner}/${e.repo}/readme`,{headers:{Accept:"application/vnd.github.v3.html"}});if(!l.ok){if(l.status===404)return null;throw new Error(`Failed to fetch README: ${l.statusText}`)}const m=await l.text();return ne(m)}catch(l){return console.error("Error fetching README:",l),null}},enabled:!!e&&!!s,staleTime:3600*1e3,gcTime:1440*60*1e3});return c?t.jsx("div",{className:"flex items-center justify-center h-full",children:t.jsx(Y,{size:32,className:"animate-spin text-muted-foreground"})}):i?t.jsx("div",{className:"p-5 markdown-body",style:{backgroundColor:"transparent"},dangerouslySetInnerHTML:{__html:i}}):t.jsxs("div",{className:"flex flex-col items-center justify-center h-full text-center p-6",children:[t.jsx(W,{size:48,className:"text-muted-foreground mb-4"}),t.jsx("h3",{className:"text-lg font-medium mb-2",children:"README not found"}),t.jsx("p",{className:"text-muted-foreground max-w-md",children:"This repository doesn't have a README file, or it's not publicly accessible."})]})}function Ce(s){const e=O.c(39),{tools:i,connectionId:c,org:l,onToolClick:m,showToolbar:L,emptyMessage:M}=s,D=L===void 0?!0:L,j=M===void 0?"This connection doesn't have any tools yet.":M,I=Q(),[n,$]=k.useState(""),[d,H]=k.useState("table"),[r,A]=k.useState("name"),[a,_]=k.useState("asc");let y;e[0]!==a||e[1]!==r?(y=o=>{r===o?(_(me),a==="desc"&&A(void 0)):(A(o),_("asc"))},e[0]=a,e[1]=r,e[2]=y):y=e[2];const u=y;let N;e[3]!==c||e[4]!==I||e[5]!==m||e[6]!==l?(N=o=>{m?m(o):c&&l&&I({to:"/$org/mcps/$connectionId/$collectionName/$itemId",params:{org:l,connectionId:c,collectionName:"tools",itemId:encodeURIComponent(o.name)}})},e[3]=c,e[4]=I,e[5]=m,e[6]=l,e[7]=N):N=e[7];const w=N;let v;if(e[8]!==n||e[9]!==a||e[10]!==r||e[11]!==i){const o=!i||i.length===0?[]:n.trim()?(()=>{const R=n.toLowerCase();return i.filter(b=>b.name.toLowerCase().includes(R)||b.description&&b.description.toLowerCase().includes(R))})():i;v=!r||!a?o:[...o].sort((R,b)=>{const q=R[r]||"",G=b[r]||"",K=String(q).localeCompare(String(G));return a==="asc"?K:-K}),e[8]=n,e[9]=a,e[10]=r,e[11]=i,e[12]=v}else v=e[12];const g=v;let C;e[13]===Symbol.for("react.memo_cache_sentinel")?(C=[{id:"name",header:"Name",render:ce,sortable:!0},{id:"description",header:"Description",render:le,cellClassName:"flex-1",sortable:!0}],e[13]=C):C=e[13];const V=C;let S;e[14]===Symbol.for("react.memo_cache_sentinel")?(S=V.filter(ie).map(ae),e[14]=S):S=e[14];const F=S;let f;e[15]!==u||e[16]!==D||e[17]!==a||e[18]!==r||e[19]!==d?(f=D&&t.jsx(se,{children:t.jsx(P,{viewMode:d,onViewModeChange:H,sortKey:r,sortDirection:a,onSort:u,sortOptions:F})}),e[15]=u,e[16]=D,e[17]=a,e[18]=r,e[19]=d,e[20]=f):f=e[20];let E;e[21]===Symbol.for("react.memo_cache_sentinel")?(E=o=>{o.key==="Escape"&&($(""),o.target.blur())},e[21]=E):E=e[21];let p;e[22]!==n?(p=t.jsx(X,{value:n,onChange:$,placeholder:"Search tools...",onKeyDown:E}),e[22]=n,e[23]=p):p=e[23];let h;e[24]!==j||e[25]!==u||e[26]!==w||e[27]!==n||e[28]!==a||e[29]!==r||e[30]!==g||e[31]!==d?(h=d==="cards"?t.jsx("div",{className:"flex-1 overflow-auto p-5",children:g.length===0?t.jsx(z,{image:null,title:n?"No tools found":"No tools available",description:n?"Try adjusting your search terms":j}):t.jsx("div",{className:"grid grid-cols-1 md:grid-cols-3 lg:grid-cols-4 gap-4",children:g.map(o=>t.jsx(te,{className:"cursor-pointer transition-colors",onClick:()=>w(o),children:t.jsxs("div",{className:"flex flex-col gap-4 p-6",children:[t.jsx(ee,{icon:null,name:o.name,size:"md",className:"shrink-0 shadow-sm"}),t.jsxs("div",{className:"flex flex-col gap-0",children:[t.jsx("h3",{className:"text-base font-medium text-foreground truncate",children:o.name}),t.jsx("p",{className:"text-base text-muted-foreground line-clamp-2",children:o.description||"No description"})]})]})},o.name))})}):t.jsx(Z,{columns:V,data:g,isLoading:!1,sortKey:r,sortDirection:a,onSort:u,onRowClick:o=>w(o),emptyState:t.jsx(z,{image:null,title:n?"No tools found":"No tools available",description:n?"Try adjusting your search terms":j})}),e[24]=j,e[25]=u,e[26]=w,e[27]=n,e[28]=a,e[29]=r,e[30]=g,e[31]=d,e[32]=h):h=e[32];let x;e[33]!==p||e[34]!==h?(x=t.jsxs("div",{className:"flex flex-col h-full overflow-hidden",children:[p,h]}),e[33]=p,e[34]=h,e[35]=x):x=e[35];let T;return e[36]!==x||e[37]!==f?(T=t.jsxs(t.Fragment,{children:[f,x]}),e[36]=x,e[37]=f,e[38]=T):T=e[38],T}function ae(s){return{id:s.id,label:typeof s.header=="string"?s.header:s.id}}function ie(s){return s.sortable}function le(s){return t.jsx("span",{className:"text-sm text-foreground",children:s.description||"—"})}function ce(s){return t.jsx("span",{className:"text-sm font-medium font-mono text-foreground",children:s.name})}function me(s){return s==="asc"?"desc":s==="desc"?null:"asc"}export{ve as R,Ce as T};
1
+ import{K as B,j as t,c as O,f as Q,r as k}from"./index-DPFREQMN.js";import{u as U}from"./useQuery-BDJatAa4.js";import{i as W}from"./File06-Bt03vXoe.js";import{i as Y}from"./Loading01-DhMR9Rl3.js";import{e as J}from"./registry-utils-ulDDT0d8.js";import{C as P}from"./collection-display-button-CxHAeMlJ.js";import{C as X}from"./collection-search-CAT-KwFV.js";import{C as Z}from"./collection-table-wrapper-CpATqDDy.js";import{E as z}from"./SearchMd-Cle1NAvW.js";import{I as ee}from"./use-connection-BObBSW3a.js";import{C as te}from"./card-yDshgaNk.js";import{V as se}from"./layout-CkdsMZBx.js";function oe(s){return s.replace(/<a[^>]*class="[^"]*anchor[^"]*"[^>]*>.*?<\/a>/gi,"")}function re(s){return s.replace(/<a\s+([^>]*href="[^"]*"[^>]*)>/gi,(e,i)=>i.includes("target=")?e.replace(/target="[^"]*"/gi,'target="_blank"'):`<a ${i} target="_blank" rel="noopener noreferrer">`)}function ne(s){let e=oe(s);return e=re(e),e}function ve({repository:s}){const e=s?J(s):null,{data:i,isLoading:c}=U({queryKey:B.githubReadme(e?.owner,e?.repo),queryFn:async()=>{if(!e)return null;try{const l=await fetch(`https://api.github.com/repos/${e.owner}/${e.repo}/readme`,{headers:{Accept:"application/vnd.github.v3.html"}});if(!l.ok){if(l.status===404)return null;throw new Error(`Failed to fetch README: ${l.statusText}`)}const m=await l.text();return ne(m)}catch(l){return console.error("Error fetching README:",l),null}},enabled:!!e&&!!s,staleTime:3600*1e3,gcTime:1440*60*1e3});return c?t.jsx("div",{className:"flex items-center justify-center h-full",children:t.jsx(Y,{size:32,className:"animate-spin text-muted-foreground"})}):i?t.jsx("div",{className:"p-5 markdown-body",style:{backgroundColor:"transparent"},dangerouslySetInnerHTML:{__html:i}}):t.jsxs("div",{className:"flex flex-col items-center justify-center h-full text-center p-6",children:[t.jsx(W,{size:48,className:"text-muted-foreground mb-4"}),t.jsx("h3",{className:"text-lg font-medium mb-2",children:"README not found"}),t.jsx("p",{className:"text-muted-foreground max-w-md",children:"This repository doesn't have a README file, or it's not publicly accessible."})]})}function Ce(s){const e=O.c(39),{tools:i,connectionId:c,org:l,onToolClick:m,showToolbar:L,emptyMessage:M}=s,D=L===void 0?!0:L,j=M===void 0?"This connection doesn't have any tools yet.":M,I=Q(),[n,$]=k.useState(""),[d,H]=k.useState("table"),[r,A]=k.useState("name"),[a,_]=k.useState("asc");let y;e[0]!==a||e[1]!==r?(y=o=>{r===o?(_(me),a==="desc"&&A(void 0)):(A(o),_("asc"))},e[0]=a,e[1]=r,e[2]=y):y=e[2];const u=y;let N;e[3]!==c||e[4]!==I||e[5]!==m||e[6]!==l?(N=o=>{m?m(o):c&&l&&I({to:"/$org/mcps/$connectionId/$collectionName/$itemId",params:{org:l,connectionId:c,collectionName:"tools",itemId:encodeURIComponent(o.name)}})},e[3]=c,e[4]=I,e[5]=m,e[6]=l,e[7]=N):N=e[7];const w=N;let v;if(e[8]!==n||e[9]!==a||e[10]!==r||e[11]!==i){const o=!i||i.length===0?[]:n.trim()?(()=>{const R=n.toLowerCase();return i.filter(b=>b.name.toLowerCase().includes(R)||b.description&&b.description.toLowerCase().includes(R))})():i;v=!r||!a?o:[...o].sort((R,b)=>{const q=R[r]||"",G=b[r]||"",K=String(q).localeCompare(String(G));return a==="asc"?K:-K}),e[8]=n,e[9]=a,e[10]=r,e[11]=i,e[12]=v}else v=e[12];const g=v;let C;e[13]===Symbol.for("react.memo_cache_sentinel")?(C=[{id:"name",header:"Name",render:ce,sortable:!0},{id:"description",header:"Description",render:le,cellClassName:"flex-1",sortable:!0}],e[13]=C):C=e[13];const V=C;let S;e[14]===Symbol.for("react.memo_cache_sentinel")?(S=V.filter(ie).map(ae),e[14]=S):S=e[14];const F=S;let f;e[15]!==u||e[16]!==D||e[17]!==a||e[18]!==r||e[19]!==d?(f=D&&t.jsx(se,{children:t.jsx(P,{viewMode:d,onViewModeChange:H,sortKey:r,sortDirection:a,onSort:u,sortOptions:F})}),e[15]=u,e[16]=D,e[17]=a,e[18]=r,e[19]=d,e[20]=f):f=e[20];let E;e[21]===Symbol.for("react.memo_cache_sentinel")?(E=o=>{o.key==="Escape"&&($(""),o.target.blur())},e[21]=E):E=e[21];let p;e[22]!==n?(p=t.jsx(X,{value:n,onChange:$,placeholder:"Search tools...",onKeyDown:E}),e[22]=n,e[23]=p):p=e[23];let h;e[24]!==j||e[25]!==u||e[26]!==w||e[27]!==n||e[28]!==a||e[29]!==r||e[30]!==g||e[31]!==d?(h=d==="cards"?t.jsx("div",{className:"flex-1 overflow-auto p-5",children:g.length===0?t.jsx(z,{image:null,title:n?"No tools found":"No tools available",description:n?"Try adjusting your search terms":j}):t.jsx("div",{className:"grid grid-cols-1 md:grid-cols-3 lg:grid-cols-4 gap-4",children:g.map(o=>t.jsx(te,{className:"cursor-pointer transition-colors",onClick:()=>w(o),children:t.jsxs("div",{className:"flex flex-col gap-4 p-6",children:[t.jsx(ee,{icon:null,name:o.name,size:"md",className:"shrink-0 shadow-sm"}),t.jsxs("div",{className:"flex flex-col gap-0",children:[t.jsx("h3",{className:"text-base font-medium text-foreground truncate",children:o.name}),t.jsx("p",{className:"text-base text-muted-foreground line-clamp-2",children:o.description||"No description"})]})]})},o.name))})}):t.jsx(Z,{columns:V,data:g,isLoading:!1,sortKey:r,sortDirection:a,onSort:u,onRowClick:o=>w(o),emptyState:t.jsx(z,{image:null,title:n?"No tools found":"No tools available",description:n?"Try adjusting your search terms":j})}),e[24]=j,e[25]=u,e[26]=w,e[27]=n,e[28]=a,e[29]=r,e[30]=g,e[31]=d,e[32]=h):h=e[32];let x;e[33]!==p||e[34]!==h?(x=t.jsxs("div",{className:"flex flex-col h-full overflow-hidden",children:[p,h]}),e[33]=p,e[34]=h,e[35]=x):x=e[35];let T;return e[36]!==x||e[37]!==f?(T=t.jsxs(t.Fragment,{children:[f,x]}),e[36]=x,e[37]=f,e[38]=T):T=e[38],T}function ae(s){return{id:s.id,label:typeof s.header=="string"?s.header:s.id}}function ie(s){return s.sortable}function le(s){return t.jsx("span",{className:"text-sm text-foreground",children:s.description||"—"})}function ce(s){return t.jsx("span",{className:"text-sm font-medium font-mono text-foreground",children:s.name})}function me(s){return s==="asc"?"desc":s==="desc"?null:"asc"}export{ve as R,Ce as T};
@@ -1 +1 @@
1
- import{r as a,j as d,B as H,c as j,H as Z,a6 as $,a2 as G,a9 as ee,E as C,a3 as z,aa as te,ag as oe,ah as re,bF as ne,a8 as se,z as ae,a7 as ie,ai as le}from"./index-C4a1DvcM.js";import{c as ce}from"./utils-BXNVuJET.js";var ue=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),de="VisuallyHidden",F=a.forwardRef((o,e)=>d.jsx(H.span,{...o,ref:e,style:{...ue,...o.style}}));F.displayName=de;var pe=F;const fe=({size:o=24,color:e="currentColor",...t})=>a.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},a.createElement("path",{d:"M20 6 9 17l-5-5"}));fe.displayName="Check";const S="org-admin",ve={from({org:o,project:e}){if(o.includes("/")||e.includes("/"))throw new Error("Org or project cannot contain slashes");return`${o}/${e}`},parse(o){o.startsWith("/")&&(o=o.slice(1));const[e,t]=o.split("/");if(!e||!t)throw new Error("Invalid locator");return{org:e,project:t}},isOrgAdminProject(o){return o.split("/")[1]===S},adminProject(o){return`${o}/${S}`}},V=a.createContext(void 0),$e=()=>{const o=a.useContext(V);if(!o)throw new Error("useProjectContext must be used within a ProjectContextProvider");return o},Ge=o=>{const e=j.c(10),{children:t,org:r,project:n}=o;let s;e[0]!==r.slug||e[1]!==n.slug?(s=ve.from({org:r.slug,project:n.slug}),e[0]=r.slug,e[1]=n.slug,e[2]=s):s=e[2];const l=s;let c;e[3]!==l||e[4]!==r||e[5]!==n?(c={org:r,project:n,locator:l},e[3]=l,e[4]=r,e[5]=n,e[6]=c):c=e[6];const i=c;let u;return e[7]!==t||e[8]!==i?(u=d.jsx(V.Provider,{value:i,children:t}),e[7]=t,e[8]=i,e[9]=u):u=e[9],u};var[O]=Z("Tooltip",[$]),L=$(),B="TooltipProvider",he=700,D="tooltip.open",[xe,A]=O(B),U=o=>{const{__scopeTooltip:e,delayDuration:t=he,skipDelayDuration:r=300,disableHoverableContent:n=!1,children:s}=o,l=a.useRef(!0),c=a.useRef(!1),i=a.useRef(0);return a.useEffect(()=>{const u=i.current;return()=>window.clearTimeout(u)},[]),d.jsx(xe,{scope:e,isOpenDelayedRef:l,delayDuration:t,onOpen:a.useCallback(()=>{window.clearTimeout(i.current),l.current=!1},[]),onClose:a.useCallback(()=>{window.clearTimeout(i.current),i.current=window.setTimeout(()=>l.current=!0,r)},[r]),isPointerInTransitRef:c,onPointerInTransitChange:a.useCallback(u=>{c.current=u},[]),disableHoverableContent:n,children:s})};U.displayName=B;var R="Tooltip",[ge,_]=O(R),Y=o=>{const{__scopeTooltip:e,children:t,open:r,defaultOpen:n,onOpenChange:s,disableHoverableContent:l,delayDuration:c}=o,i=A(R,o.__scopeTooltip),u=L(e),[p,v]=a.useState(null),h=se(),f=a.useRef(0),x=l??i.disableHoverableContent,m=c??i.delayDuration,g=a.useRef(!1),[y,T]=ae({prop:r,defaultProp:n??!1,onChange:M=>{M?(i.onOpen(),document.dispatchEvent(new CustomEvent(D))):i.onClose(),s?.(M)},caller:R}),b=a.useMemo(()=>y?g.current?"delayed-open":"instant-open":"closed",[y]),P=a.useCallback(()=>{window.clearTimeout(f.current),f.current=0,g.current=!1,T(!0)},[T]),E=a.useCallback(()=>{window.clearTimeout(f.current),f.current=0,T(!1)},[T]),I=a.useCallback(()=>{window.clearTimeout(f.current),f.current=window.setTimeout(()=>{g.current=!0,T(!0),f.current=0},m)},[m,T]);return a.useEffect(()=>()=>{f.current&&(window.clearTimeout(f.current),f.current=0)},[]),d.jsx(ie,{...u,children:d.jsx(ge,{scope:e,contentId:h,open:y,stateAttribute:b,trigger:p,onTriggerChange:v,onTriggerEnter:a.useCallback(()=>{i.isOpenDelayedRef.current?I():P()},[i.isOpenDelayedRef,I,P]),onTriggerLeave:a.useCallback(()=>{x?E():(window.clearTimeout(f.current),f.current=0)},[E,x]),onOpen:P,onClose:E,disableHoverableContent:x,children:t})})};Y.displayName=R;var k="TooltipTrigger",W=a.forwardRef((o,e)=>{const{__scopeTooltip:t,...r}=o,n=_(k,t),s=A(k,t),l=L(t),c=a.useRef(null),i=G(e,c,n.onTriggerChange),u=a.useRef(!1),p=a.useRef(!1),v=a.useCallback(()=>u.current=!1,[]);return a.useEffect(()=>()=>document.removeEventListener("pointerup",v),[v]),d.jsx(ee,{asChild:!0,...l,children:d.jsx(H.button,{"aria-describedby":n.open?n.contentId:void 0,"data-state":n.stateAttribute,...r,ref:i,onPointerMove:C(o.onPointerMove,h=>{h.pointerType!=="touch"&&!p.current&&!s.isPointerInTransitRef.current&&(n.onTriggerEnter(),p.current=!0)}),onPointerLeave:C(o.onPointerLeave,()=>{n.onTriggerLeave(),p.current=!1}),onPointerDown:C(o.onPointerDown,()=>{n.open&&n.onClose(),u.current=!0,document.addEventListener("pointerup",v,{once:!0})}),onFocus:C(o.onFocus,()=>{u.current||n.onOpen()}),onBlur:C(o.onBlur,n.onClose),onClick:C(o.onClick,n.onClose)})})});W.displayName=k;var N="TooltipPortal",[me,Te]=O(N,{forceMount:void 0}),q=o=>{const{__scopeTooltip:e,forceMount:t,children:r,container:n}=o,s=_(N,e);return d.jsx(me,{scope:e,forceMount:t,children:d.jsx(z,{present:t||s.open,children:d.jsx(te,{asChild:!0,container:n,children:r})})})};q.displayName=N;var w="TooltipContent",X=a.forwardRef((o,e)=>{const t=Te(w,o.__scopeTooltip),{forceMount:r=t.forceMount,side:n="top",...s}=o,l=_(w,o.__scopeTooltip);return d.jsx(z,{present:r||l.open,children:l.disableHoverableContent?d.jsx(J,{side:n,...s,ref:e}):d.jsx(ye,{side:n,...s,ref:e})})}),ye=a.forwardRef((o,e)=>{const t=_(w,o.__scopeTooltip),r=A(w,o.__scopeTooltip),n=a.useRef(null),s=G(e,n),[l,c]=a.useState(null),{trigger:i,onClose:u}=t,p=n.current,{onPointerInTransitChange:v}=r,h=a.useCallback(()=>{c(null),v(!1)},[v]),f=a.useCallback((x,m)=>{const g=x.currentTarget,y={x:x.clientX,y:x.clientY},T=Pe(y,g.getBoundingClientRect()),b=Ee(y,T),P=Re(m.getBoundingClientRect()),E=_e([...b,...P]);c(E),v(!0)},[v]);return a.useEffect(()=>()=>h(),[h]),a.useEffect(()=>{if(i&&p){const x=g=>f(g,p),m=g=>f(g,i);return i.addEventListener("pointerleave",x),p.addEventListener("pointerleave",m),()=>{i.removeEventListener("pointerleave",x),p.removeEventListener("pointerleave",m)}}},[i,p,f,h]),a.useEffect(()=>{if(l){const x=m=>{const g=m.target,y={x:m.clientX,y:m.clientY},T=i?.contains(g)||p?.contains(g),b=!je(y,l);T?h():b&&(h(),u())};return document.addEventListener("pointermove",x),()=>document.removeEventListener("pointermove",x)}},[i,p,l,u,h]),d.jsx(J,{...o,ref:s})}),[Ce,we]=O(R,{isInside:!1}),be=ne("TooltipContent"),J=a.forwardRef((o,e)=>{const{__scopeTooltip:t,children:r,"aria-label":n,onEscapeKeyDown:s,onPointerDownOutside:l,...c}=o,i=_(w,t),u=L(t),{onClose:p}=i;return a.useEffect(()=>(document.addEventListener(D,p),()=>document.removeEventListener(D,p)),[p]),a.useEffect(()=>{if(i.trigger){const v=h=>{h.target?.contains(i.trigger)&&p()};return window.addEventListener("scroll",v,{capture:!0}),()=>window.removeEventListener("scroll",v,{capture:!0})}},[i.trigger,p]),d.jsx(oe,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:s,onPointerDownOutside:l,onFocusOutside:v=>v.preventDefault(),onDismiss:p,children:d.jsxs(re,{"data-state":i.stateAttribute,...u,...c,ref:e,style:{...c.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[d.jsx(be,{children:r}),d.jsx(Ce,{scope:t,isInside:!0,children:d.jsx(pe,{id:i.contentId,role:"tooltip",children:n||r})})]})})});X.displayName=w;var K="TooltipArrow",Q=a.forwardRef((o,e)=>{const{__scopeTooltip:t,...r}=o,n=L(t);return we(K,t).isInside?null:d.jsx(le,{...n,...r,ref:e})});Q.displayName=K;function Pe(o,e){const t=Math.abs(e.top-o.y),r=Math.abs(e.bottom-o.y),n=Math.abs(e.right-o.x),s=Math.abs(e.left-o.x);switch(Math.min(t,r,n,s)){case s:return"left";case n:return"right";case t:return"top";case r:return"bottom";default:throw new Error("unreachable")}}function Ee(o,e,t=5){const r=[];switch(e){case"top":r.push({x:o.x-t,y:o.y+t},{x:o.x+t,y:o.y+t});break;case"bottom":r.push({x:o.x-t,y:o.y-t},{x:o.x+t,y:o.y-t});break;case"left":r.push({x:o.x+t,y:o.y-t},{x:o.x+t,y:o.y+t});break;case"right":r.push({x:o.x-t,y:o.y-t},{x:o.x-t,y:o.y+t});break}return r}function Re(o){const{top:e,right:t,bottom:r,left:n}=o;return[{x:n,y:e},{x:t,y:e},{x:t,y:r},{x:n,y:r}]}function je(o,e){const{x:t,y:r}=o;let n=!1;for(let s=0,l=e.length-1;s<e.length;l=s++){const c=e[s],i=e[l],u=c.x,p=c.y,v=i.x,h=i.y;p>r!=h>r&&t<(v-u)*(r-p)/(h-p)+u&&(n=!n)}return n}function _e(o){const e=o.slice();return e.sort((t,r)=>t.x<r.x?-1:t.x>r.x?1:t.y<r.y?-1:t.y>r.y?1:0),Oe(e)}function Oe(o){if(o.length<=1)return o.slice();const e=[];for(let r=0;r<o.length;r++){const n=o[r];for(;e.length>=2;){const s=e[e.length-1],l=e[e.length-2];if((s.x-l.x)*(n.y-l.y)>=(s.y-l.y)*(n.x-l.x))e.pop();else break}e.push(n)}e.pop();const t=[];for(let r=o.length-1;r>=0;r--){const n=o[r];for(;t.length>=2;){const s=t[t.length-1],l=t[t.length-2];if((s.x-l.x)*(n.y-l.y)>=(s.y-l.y)*(n.x-l.x))t.pop();else break}t.push(n)}return t.pop(),e.length===1&&t.length===1&&e[0].x===t[0].x&&e[0].y===t[0].y?e:e.concat(t)}var Le=U,De=Y,ke=W,Ae=q,Ne=X,Ie=Q;function Me(o){const e=j.c(6);let t,r;e[0]!==o?({delayDuration:r,...t}=o,e[0]=o,e[1]=t,e[2]=r):(t=e[1],r=e[2]);const n=r===void 0?0:r;let s;return e[3]!==n||e[4]!==t?(s=d.jsx(Le,{"data-slot":"tooltip-provider",delayDuration:n,...t}),e[3]=n,e[4]=t,e[5]=s):s=e[5],s}function ze(o){const e=j.c(4);let t;e[0]!==o?({...t}=o,e[0]=o,e[1]=t):t=e[1];let r;return e[2]!==t?(r=d.jsx(Me,{children:d.jsx(De,{"data-slot":"tooltip",...t})}),e[2]=t,e[3]=r):r=e[3],r}function Fe(o){const e=j.c(4);let t;e[0]!==o?({...t}=o,e[0]=o,e[1]=t):t=e[1];let r;return e[2]!==t?(r=d.jsx(ke,{"data-slot":"tooltip-trigger",...t}),e[2]=t,e[3]=r):r=e[3],r}function Ve(o){const e=j.c(13);let t,r,n,s;e[0]!==o?({className:r,sideOffset:s,children:t,...n}=o,e[0]=o,e[1]=t,e[2]=r,e[3]=n,e[4]=s):(t=e[1],r=e[2],n=e[3],s=e[4]);const l=s===void 0?0:s;let c;e[5]!==r?(c=ce("bg-foreground text-background animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance",r),e[5]=r,e[6]=c):c=e[6];let i;e[7]===Symbol.for("react.memo_cache_sentinel")?(i=d.jsx(Ie,{className:"bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]"}),e[7]=i):i=e[7];let u;return e[8]!==t||e[9]!==n||e[10]!==l||e[11]!==c?(u=d.jsx(Ae,{children:d.jsxs(Ne,{"data-slot":"tooltip-content",sideOffset:l,className:c,...n,children:[t,i]})}),e[8]=t,e[9]=n,e[10]=l,e[11]=c,e[12]=u):u=e[12],u}export{ve as L,S as O,Ge as P,Ve as T,ue as V,Me as a,Fe as b,ze as c,fe as i,$e as u};
1
+ import{r as a,j as d,B as H,c as j,H as Z,a6 as $,a2 as G,a9 as ee,E as C,a3 as z,aa as te,ag as oe,ah as re,bF as ne,a8 as se,z as ae,a7 as ie,ai as le}from"./index-DPFREQMN.js";import{c as ce}from"./utils-BDWLM78M.js";var ue=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),de="VisuallyHidden",F=a.forwardRef((o,e)=>d.jsx(H.span,{...o,ref:e,style:{...ue,...o.style}}));F.displayName=de;var pe=F;const fe=({size:o=24,color:e="currentColor",...t})=>a.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},a.createElement("path",{d:"M20 6 9 17l-5-5"}));fe.displayName="Check";const S="org-admin",ve={from({org:o,project:e}){if(o.includes("/")||e.includes("/"))throw new Error("Org or project cannot contain slashes");return`${o}/${e}`},parse(o){o.startsWith("/")&&(o=o.slice(1));const[e,t]=o.split("/");if(!e||!t)throw new Error("Invalid locator");return{org:e,project:t}},isOrgAdminProject(o){return o.split("/")[1]===S},adminProject(o){return`${o}/${S}`}},V=a.createContext(void 0),$e=()=>{const o=a.useContext(V);if(!o)throw new Error("useProjectContext must be used within a ProjectContextProvider");return o},Ge=o=>{const e=j.c(10),{children:t,org:r,project:n}=o;let s;e[0]!==r.slug||e[1]!==n.slug?(s=ve.from({org:r.slug,project:n.slug}),e[0]=r.slug,e[1]=n.slug,e[2]=s):s=e[2];const l=s;let c;e[3]!==l||e[4]!==r||e[5]!==n?(c={org:r,project:n,locator:l},e[3]=l,e[4]=r,e[5]=n,e[6]=c):c=e[6];const i=c;let u;return e[7]!==t||e[8]!==i?(u=d.jsx(V.Provider,{value:i,children:t}),e[7]=t,e[8]=i,e[9]=u):u=e[9],u};var[O]=Z("Tooltip",[$]),L=$(),B="TooltipProvider",he=700,D="tooltip.open",[xe,A]=O(B),U=o=>{const{__scopeTooltip:e,delayDuration:t=he,skipDelayDuration:r=300,disableHoverableContent:n=!1,children:s}=o,l=a.useRef(!0),c=a.useRef(!1),i=a.useRef(0);return a.useEffect(()=>{const u=i.current;return()=>window.clearTimeout(u)},[]),d.jsx(xe,{scope:e,isOpenDelayedRef:l,delayDuration:t,onOpen:a.useCallback(()=>{window.clearTimeout(i.current),l.current=!1},[]),onClose:a.useCallback(()=>{window.clearTimeout(i.current),i.current=window.setTimeout(()=>l.current=!0,r)},[r]),isPointerInTransitRef:c,onPointerInTransitChange:a.useCallback(u=>{c.current=u},[]),disableHoverableContent:n,children:s})};U.displayName=B;var R="Tooltip",[ge,_]=O(R),Y=o=>{const{__scopeTooltip:e,children:t,open:r,defaultOpen:n,onOpenChange:s,disableHoverableContent:l,delayDuration:c}=o,i=A(R,o.__scopeTooltip),u=L(e),[p,v]=a.useState(null),h=se(),f=a.useRef(0),x=l??i.disableHoverableContent,m=c??i.delayDuration,g=a.useRef(!1),[y,T]=ae({prop:r,defaultProp:n??!1,onChange:M=>{M?(i.onOpen(),document.dispatchEvent(new CustomEvent(D))):i.onClose(),s?.(M)},caller:R}),b=a.useMemo(()=>y?g.current?"delayed-open":"instant-open":"closed",[y]),P=a.useCallback(()=>{window.clearTimeout(f.current),f.current=0,g.current=!1,T(!0)},[T]),E=a.useCallback(()=>{window.clearTimeout(f.current),f.current=0,T(!1)},[T]),I=a.useCallback(()=>{window.clearTimeout(f.current),f.current=window.setTimeout(()=>{g.current=!0,T(!0),f.current=0},m)},[m,T]);return a.useEffect(()=>()=>{f.current&&(window.clearTimeout(f.current),f.current=0)},[]),d.jsx(ie,{...u,children:d.jsx(ge,{scope:e,contentId:h,open:y,stateAttribute:b,trigger:p,onTriggerChange:v,onTriggerEnter:a.useCallback(()=>{i.isOpenDelayedRef.current?I():P()},[i.isOpenDelayedRef,I,P]),onTriggerLeave:a.useCallback(()=>{x?E():(window.clearTimeout(f.current),f.current=0)},[E,x]),onOpen:P,onClose:E,disableHoverableContent:x,children:t})})};Y.displayName=R;var k="TooltipTrigger",W=a.forwardRef((o,e)=>{const{__scopeTooltip:t,...r}=o,n=_(k,t),s=A(k,t),l=L(t),c=a.useRef(null),i=G(e,c,n.onTriggerChange),u=a.useRef(!1),p=a.useRef(!1),v=a.useCallback(()=>u.current=!1,[]);return a.useEffect(()=>()=>document.removeEventListener("pointerup",v),[v]),d.jsx(ee,{asChild:!0,...l,children:d.jsx(H.button,{"aria-describedby":n.open?n.contentId:void 0,"data-state":n.stateAttribute,...r,ref:i,onPointerMove:C(o.onPointerMove,h=>{h.pointerType!=="touch"&&!p.current&&!s.isPointerInTransitRef.current&&(n.onTriggerEnter(),p.current=!0)}),onPointerLeave:C(o.onPointerLeave,()=>{n.onTriggerLeave(),p.current=!1}),onPointerDown:C(o.onPointerDown,()=>{n.open&&n.onClose(),u.current=!0,document.addEventListener("pointerup",v,{once:!0})}),onFocus:C(o.onFocus,()=>{u.current||n.onOpen()}),onBlur:C(o.onBlur,n.onClose),onClick:C(o.onClick,n.onClose)})})});W.displayName=k;var N="TooltipPortal",[me,Te]=O(N,{forceMount:void 0}),q=o=>{const{__scopeTooltip:e,forceMount:t,children:r,container:n}=o,s=_(N,e);return d.jsx(me,{scope:e,forceMount:t,children:d.jsx(z,{present:t||s.open,children:d.jsx(te,{asChild:!0,container:n,children:r})})})};q.displayName=N;var w="TooltipContent",X=a.forwardRef((o,e)=>{const t=Te(w,o.__scopeTooltip),{forceMount:r=t.forceMount,side:n="top",...s}=o,l=_(w,o.__scopeTooltip);return d.jsx(z,{present:r||l.open,children:l.disableHoverableContent?d.jsx(J,{side:n,...s,ref:e}):d.jsx(ye,{side:n,...s,ref:e})})}),ye=a.forwardRef((o,e)=>{const t=_(w,o.__scopeTooltip),r=A(w,o.__scopeTooltip),n=a.useRef(null),s=G(e,n),[l,c]=a.useState(null),{trigger:i,onClose:u}=t,p=n.current,{onPointerInTransitChange:v}=r,h=a.useCallback(()=>{c(null),v(!1)},[v]),f=a.useCallback((x,m)=>{const g=x.currentTarget,y={x:x.clientX,y:x.clientY},T=Pe(y,g.getBoundingClientRect()),b=Ee(y,T),P=Re(m.getBoundingClientRect()),E=_e([...b,...P]);c(E),v(!0)},[v]);return a.useEffect(()=>()=>h(),[h]),a.useEffect(()=>{if(i&&p){const x=g=>f(g,p),m=g=>f(g,i);return i.addEventListener("pointerleave",x),p.addEventListener("pointerleave",m),()=>{i.removeEventListener("pointerleave",x),p.removeEventListener("pointerleave",m)}}},[i,p,f,h]),a.useEffect(()=>{if(l){const x=m=>{const g=m.target,y={x:m.clientX,y:m.clientY},T=i?.contains(g)||p?.contains(g),b=!je(y,l);T?h():b&&(h(),u())};return document.addEventListener("pointermove",x),()=>document.removeEventListener("pointermove",x)}},[i,p,l,u,h]),d.jsx(J,{...o,ref:s})}),[Ce,we]=O(R,{isInside:!1}),be=ne("TooltipContent"),J=a.forwardRef((o,e)=>{const{__scopeTooltip:t,children:r,"aria-label":n,onEscapeKeyDown:s,onPointerDownOutside:l,...c}=o,i=_(w,t),u=L(t),{onClose:p}=i;return a.useEffect(()=>(document.addEventListener(D,p),()=>document.removeEventListener(D,p)),[p]),a.useEffect(()=>{if(i.trigger){const v=h=>{h.target?.contains(i.trigger)&&p()};return window.addEventListener("scroll",v,{capture:!0}),()=>window.removeEventListener("scroll",v,{capture:!0})}},[i.trigger,p]),d.jsx(oe,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:s,onPointerDownOutside:l,onFocusOutside:v=>v.preventDefault(),onDismiss:p,children:d.jsxs(re,{"data-state":i.stateAttribute,...u,...c,ref:e,style:{...c.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[d.jsx(be,{children:r}),d.jsx(Ce,{scope:t,isInside:!0,children:d.jsx(pe,{id:i.contentId,role:"tooltip",children:n||r})})]})})});X.displayName=w;var K="TooltipArrow",Q=a.forwardRef((o,e)=>{const{__scopeTooltip:t,...r}=o,n=L(t);return we(K,t).isInside?null:d.jsx(le,{...n,...r,ref:e})});Q.displayName=K;function Pe(o,e){const t=Math.abs(e.top-o.y),r=Math.abs(e.bottom-o.y),n=Math.abs(e.right-o.x),s=Math.abs(e.left-o.x);switch(Math.min(t,r,n,s)){case s:return"left";case n:return"right";case t:return"top";case r:return"bottom";default:throw new Error("unreachable")}}function Ee(o,e,t=5){const r=[];switch(e){case"top":r.push({x:o.x-t,y:o.y+t},{x:o.x+t,y:o.y+t});break;case"bottom":r.push({x:o.x-t,y:o.y-t},{x:o.x+t,y:o.y-t});break;case"left":r.push({x:o.x+t,y:o.y-t},{x:o.x+t,y:o.y+t});break;case"right":r.push({x:o.x-t,y:o.y-t},{x:o.x-t,y:o.y+t});break}return r}function Re(o){const{top:e,right:t,bottom:r,left:n}=o;return[{x:n,y:e},{x:t,y:e},{x:t,y:r},{x:n,y:r}]}function je(o,e){const{x:t,y:r}=o;let n=!1;for(let s=0,l=e.length-1;s<e.length;l=s++){const c=e[s],i=e[l],u=c.x,p=c.y,v=i.x,h=i.y;p>r!=h>r&&t<(v-u)*(r-p)/(h-p)+u&&(n=!n)}return n}function _e(o){const e=o.slice();return e.sort((t,r)=>t.x<r.x?-1:t.x>r.x?1:t.y<r.y?-1:t.y>r.y?1:0),Oe(e)}function Oe(o){if(o.length<=1)return o.slice();const e=[];for(let r=0;r<o.length;r++){const n=o[r];for(;e.length>=2;){const s=e[e.length-1],l=e[e.length-2];if((s.x-l.x)*(n.y-l.y)>=(s.y-l.y)*(n.x-l.x))e.pop();else break}e.push(n)}e.pop();const t=[];for(let r=o.length-1;r>=0;r--){const n=o[r];for(;t.length>=2;){const s=t[t.length-1],l=t[t.length-2];if((s.x-l.x)*(n.y-l.y)>=(s.y-l.y)*(n.x-l.x))t.pop();else break}t.push(n)}return t.pop(),e.length===1&&t.length===1&&e[0].x===t[0].x&&e[0].y===t[0].y?e:e.concat(t)}var Le=U,De=Y,ke=W,Ae=q,Ne=X,Ie=Q;function Me(o){const e=j.c(6);let t,r;e[0]!==o?({delayDuration:r,...t}=o,e[0]=o,e[1]=t,e[2]=r):(t=e[1],r=e[2]);const n=r===void 0?0:r;let s;return e[3]!==n||e[4]!==t?(s=d.jsx(Le,{"data-slot":"tooltip-provider",delayDuration:n,...t}),e[3]=n,e[4]=t,e[5]=s):s=e[5],s}function ze(o){const e=j.c(4);let t;e[0]!==o?({...t}=o,e[0]=o,e[1]=t):t=e[1];let r;return e[2]!==t?(r=d.jsx(Me,{children:d.jsx(De,{"data-slot":"tooltip",...t})}),e[2]=t,e[3]=r):r=e[3],r}function Fe(o){const e=j.c(4);let t;e[0]!==o?({...t}=o,e[0]=o,e[1]=t):t=e[1];let r;return e[2]!==t?(r=d.jsx(ke,{"data-slot":"tooltip-trigger",...t}),e[2]=t,e[3]=r):r=e[3],r}function Ve(o){const e=j.c(13);let t,r,n,s;e[0]!==o?({className:r,sideOffset:s,children:t,...n}=o,e[0]=o,e[1]=t,e[2]=r,e[3]=n,e[4]=s):(t=e[1],r=e[2],n=e[3],s=e[4]);const l=s===void 0?0:s;let c;e[5]!==r?(c=ce("bg-foreground text-background animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance",r),e[5]=r,e[6]=c):c=e[6];let i;e[7]===Symbol.for("react.memo_cache_sentinel")?(i=d.jsx(Ie,{className:"bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]"}),e[7]=i):i=e[7];let u;return e[8]!==t||e[9]!==n||e[10]!==l||e[11]!==c?(u=d.jsx(Ae,{children:d.jsxs(Ne,{"data-slot":"tooltip-content",sideOffset:l,className:c,...n,children:[t,i]})}),e[8]=t,e[9]=n,e[10]=l,e[11]=c,e[12]=u):u=e[12],u}export{ve as L,S as O,Ge as P,Ve as T,ue as V,Me as a,Fe as b,ze as c,fe as i,$e as u};