@decocms/mesh 2.38.2 → 2.38.4

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 (137) hide show
  1. package/dist/client/assets/{AlertCircle-z3xwiUwg.js → AlertCircle-B4xqDHbG.js} +1 -1
  2. package/dist/client/assets/{ArrowLeft-BkoJglZy.js → ArrowLeft-BlDPaWrc.js} +1 -1
  3. package/dist/client/assets/{ArrowUp-BAMBJKzk.js → ArrowUp-CLiwYXs0.js} +1 -1
  4. package/dist/client/assets/{Check-BK9-0hKa.js → Check-CCn5GCwg.js} +1 -1
  5. package/dist/client/assets/{ChevronDown-PIP2u0bO.js → ChevronDown-YbVVQVLg.js} +1 -1
  6. package/dist/client/assets/{Code01-Bur40qHc.js → Code01-Dir622wi.js} +1 -1
  7. package/dist/client/assets/{Copy01-BOhF0ZEB.js → Copy01-CjY-NlSc.js} +1 -1
  8. package/dist/client/assets/{CpuChip02-BTAUjBs1.js → CpuChip02-yUWdNp1P.js} +1 -1
  9. package/dist/client/assets/{DotsHorizontal-DxGrUc9a.js → DotsHorizontal-Do1LS6Wx.js} +1 -1
  10. package/dist/client/assets/{DotsVertical-D61roAg3.js → DotsVertical-Dp-gx6mF.js} +1 -1
  11. package/dist/client/assets/{Download01-DH0bL3Nt.js → Download01-DAAiXVpc.js} +1 -1
  12. package/dist/client/assets/{Edit01-DINJ246_.js → Edit01-B_nUJxlr.js} +1 -1
  13. package/dist/client/assets/{File06-DVkrNas0.js → File06-CB-q8MUQ.js} +1 -1
  14. package/dist/client/assets/{FilterLines-so_Nzmiv.js → FilterLines-Br-acHX0.js} +1 -1
  15. package/dist/client/assets/{FlipBackward-iQ8t51Yv.js → FlipBackward-Cj4V50Wu.js} +1 -1
  16. package/dist/client/assets/{GitBranch01-T4MUtqYK.js → GitBranch01-zw_VkZBZ.js} +1 -1
  17. package/dist/client/assets/{Grid01-CN_8958k.js → Grid01-CPA-Um40.js} +1 -1
  18. package/dist/client/assets/{Home02-DuEnlN2j.js → Home02-DoAoQwmo.js} +1 -1
  19. package/dist/client/assets/{Image01-CAZIUcM5.js → Image01-CNk-r4qX.js} +1 -1
  20. package/dist/client/assets/{Inbox01-CM3kHNUT.js → Inbox01-By8bLcOc.js} +1 -1
  21. package/dist/client/assets/{InfoCircle-yeMjcoma.js → InfoCircle-B0FNzXlM.js} +1 -1
  22. package/dist/client/assets/{Key01-9yBwokED.js → Key01-B_LfAqq6.js} +1 -1
  23. package/dist/client/assets/{LinkExternal01-DVQPzyFK.js → LinkExternal01-s2DQaDMZ.js} +1 -1
  24. package/dist/client/assets/{List-BuWxjuK8.js → List-d67v1RYc.js} +1 -1
  25. package/dist/client/assets/{Loading01-D1yLQLik.js → Loading01-Da3G3uHv.js} +1 -1
  26. package/dist/client/assets/{Lock01-RqyglEYd.js → Lock01-mht9NTxx.js} +1 -1
  27. package/dist/client/assets/{Play-DVdw4qV-.js → Play-LyI9ODLq.js} +1 -1
  28. package/dist/client/assets/{Plus-Je-soon7.js → Plus-C8Yk0Byt.js} +1 -1
  29. package/dist/client/assets/{SearchMd-CbtolPap.js → SearchMd-DFqFsfr3.js} +1 -1
  30. package/dist/client/assets/{Terminal-DYGeKWvi.js → Terminal-sjkm0kJR.js} +1 -1
  31. package/dist/client/assets/{Trash01-CZvA_s0Y.js → Trash01-DsqSsyPF.js} +1 -1
  32. package/dist/client/assets/{Upload01-DhaDMFFD.js → Upload01-D0gUGV2F.js} +1 -1
  33. package/dist/client/assets/{X-sxVQmAsr.js → X-8Mftq7jS.js} +1 -1
  34. package/dist/client/assets/{XClose-zzu-jidq.js → XClose-CM1uqjVP.js} +1 -1
  35. package/dist/client/assets/{agent-detail-BlRpinmR.js → agent-detail-BbRahLm7.js} +1 -1
  36. package/dist/client/assets/{agents-DknJreAQ.js → agents-CO51KXQ7.js} +1 -1
  37. package/dist/client/assets/{alert-dialog-CVkwkecf.js → alert-dialog-CP6Si-sS.js} +1 -1
  38. package/dist/client/assets/{auth-catchall-w4I8mOfz.js → auth-catchall-iqpKi7T9.js} +1 -1
  39. package/dist/client/assets/{avatar-C9tVSVlv.js → avatar-qY1FecOi.js} +1 -1
  40. package/dist/client/assets/{badge-C7J4I2Hj.js → badge-DfcjklCU.js} +1 -1
  41. package/dist/client/assets/{binder-CbjhFDGc.js → binder-oimq46F2.js} +1 -1
  42. package/dist/client/assets/{button-CceSuFKi.js → button-CEYz4vVv.js} +1 -1
  43. package/dist/client/assets/{card-BGHb8OmC.js → card-Czj8cnsu.js} +1 -1
  44. package/dist/client/assets/{checkbox-Cu04V43g.js → checkbox-YBwSx7EQ.js} +1 -1
  45. package/dist/client/assets/{collection-detail-D2oIsKq-.js → collection-detail-CCz5bSND.js} +1 -1
  46. package/dist/client/assets/{collection-display-button-Df_9WgFb.js → collection-display-button-DnLs8bVk.js} +1 -1
  47. package/dist/client/assets/{collection-header-COgMCOx8.js → collection-header-BKBivTdh.js} +1 -1
  48. package/dist/client/assets/{collection-page-DVakSZpa.js → collection-page-BQnr3vxz.js} +1 -1
  49. package/dist/client/assets/{collection-search-Fe3W5Myr.js → collection-search-BtYrCrPa.js} +1 -1
  50. package/dist/client/assets/collection-tab-B7nFFfRR.js +1 -0
  51. package/dist/client/assets/{collection-table-wrapper-VkF3O5dC.js → collection-table-wrapper-qsmwllrX.js} +1 -1
  52. package/dist/client/assets/{connection-card-Bq9AH0T5.js → connection-card-BmrG8yB6.js} +1 -1
  53. package/dist/client/assets/{connection-detail-CbrkwDLO.js → connection-detail-DrwBqwII.js} +1 -1
  54. package/dist/client/assets/{connections-unSJ25xy.js → connections-EyHBeVDZ.js} +1 -1
  55. package/dist/client/assets/{constants-DqnLzZpL.js → constants-C56YODyA.js} +1 -1
  56. package/dist/client/assets/constants-DFc-Xc3W.js +1 -0
  57. package/dist/client/assets/{create-organization-dialog-DCA75BPi.js → create-organization-dialog-BP-zgBpE.js} +1 -1
  58. package/dist/client/assets/{dialog-CL6M-Xmi.js → dialog-Cur3bgyn.js} +1 -1
  59. package/dist/client/assets/{dropdown-menu-BMu3zBVo.js → dropdown-menu-DRvXtcX1.js} +1 -1
  60. package/dist/client/assets/{dynamic-plugin-layout-CKzehx9R.js → dynamic-plugin-layout-Cd-NaU-8.js} +1 -1
  61. package/dist/client/assets/{empty-state-BHdJzPJs.js → empty-state-B52GWMyA.js} +1 -1
  62. package/dist/client/assets/{empty-state-B0xeJKH5.js → empty-state-D96Y5HBy.js} +1 -1
  63. package/dist/client/assets/{env-vars-editor-CtvDpSON.js → env-vars-editor-BvlIX34u.js} +1 -1
  64. package/dist/client/assets/{error-boundary-vgLVbtql.js → error-boundary-B-AbkEzN.js} +1 -1
  65. package/dist/client/assets/{extract-connection-data-w2VKbBVM.js → extract-connection-data-xYQXXnta.js} +1 -1
  66. package/dist/client/assets/{file-browser-C_o-XRN_.js → file-browser-BM3fdjJP.js} +2 -2
  67. package/dist/client/assets/{form-DWBp_92q.js → form-BuxG1-zn.js} +1 -1
  68. package/dist/client/assets/{grid-view-D4uG2rz_.js → grid-view-x-p3DL4O.js} +1 -1
  69. package/dist/client/assets/{home-tcH3yRYZ.js → home-C9y8ew9m.js} +1 -1
  70. package/dist/client/assets/{index-BfBspZNA.js → index-B1uX_6ZJ.js} +3 -3
  71. package/dist/client/assets/{index-CQ6L3uZi.js → index-B7TTLamD.js} +1 -1
  72. package/dist/client/assets/{index-CUpy3pKS.js → index-BaKebp2o.js} +1 -1
  73. package/dist/client/assets/{index-DimTMp-G.js → index-BqaxN2xC.js} +2 -2
  74. package/dist/client/assets/index-DNsNPBek.js +1 -0
  75. package/dist/client/assets/{index-D4QmV-sc.js → index-DZba6oBj.js} +1 -1
  76. package/dist/client/assets/{infiniteQueryObserver-DeWE7Mv6.js → infiniteQueryObserver-93EeshRP.js} +1 -1
  77. package/dist/client/assets/{input-BzZt5UMQ.js → input-lyCEJ-v7.js} +1 -1
  78. package/dist/client/assets/{layout-DqvUpliw.js → layout-D-OU3f8P.js} +1 -1
  79. package/dist/client/assets/{localstorage-keys-Pb1bSOSH.js → localstorage-keys-ONdhlVrj.js} +1 -1
  80. package/dist/client/assets/{login-Bw3mNwou.js → login-uVCvvt_Q.js} +1 -1
  81. package/dist/client/assets/{mcp-oauth-DVTAVhIy.js → mcp-oauth-Cf6g90Vj.js} +1 -1
  82. package/dist/client/assets/{mcp-server-card-BOsrfsoy.js → mcp-server-card-DHP36XTl.js} +1 -1
  83. package/dist/client/assets/{mcp-server-detail-DL4a0l-I.js → mcp-server-detail-C0U713uq.js} +2 -2
  84. package/dist/client/assets/members-DyA8e--q.js +3 -0
  85. package/dist/client/assets/{monaco-editor-C3l8YLnM.js → monaco-editor-DGUxTU96.js} +1 -1
  86. package/dist/client/assets/{monitoring-BXzU__Q2.js → monitoring-XFLd7M9_.js} +17 -17
  87. package/dist/client/assets/{oauth-callback-C29sykPI.js → oauth-callback-C6TgACkm.js} +1 -1
  88. package/dist/client/assets/{page-D9f3s0Zn.js → page-B_m9E6ic.js} +1 -1
  89. package/dist/client/assets/{page-DFTluz6T.js → page-D2nSeVmo.js} +4 -4
  90. package/dist/client/assets/{pin-to-sidebar-button-a3_Q5PIg.js → pin-to-sidebar-button-S58VyRdL.js} +1 -1
  91. package/dist/client/assets/{plugin-empty-state-gioOq0db.js → plugin-empty-state-DRyAVBqZ.js} +1 -1
  92. package/dist/client/assets/{plugin-header-OS_VhXuY.js → plugin-header-Or8ouB6a.js} +1 -1
  93. package/dist/client/assets/{plugins-6jaAX9OI.js → plugins-BfxCF9MV.js} +1 -1
  94. package/dist/client/assets/{popover-DCXtR4UV.js → popover-DJUBm9Y-.js} +1 -1
  95. package/dist/client/assets/{registry-utils-B1EtgBkU.js → registry-utils-Byyd88f7.js} +1 -1
  96. package/dist/client/assets/{resizable-C5jfRumR.js → resizable-R_MVWpDo.js} +1 -1
  97. package/dist/client/assets/{resource-tabs-BNBJ-3ue.js → resource-tabs-CXTSNkut.js} +1 -1
  98. package/dist/client/assets/{select-DVxy4dZt.js → select-DGKcOybq.js} +1 -1
  99. package/dist/client/assets/{settings-DlMrUAFl.js → settings-Co5ybzun.js} +1 -1
  100. package/dist/client/assets/{shell-layout-C02QmtDM.js → shell-layout-C3pBvx_P.js} +1 -1
  101. package/dist/client/assets/{spinner-BK_gptNQ.js → spinner-CwB0mUYA.js} +1 -1
  102. package/dist/client/assets/{switch-BEUY1ZkG.js → switch-LeZRc51C.js} +1 -1
  103. package/dist/client/assets/{textarea-Dok2BUMd.js → textarea-CphdD9q0.js} +1 -1
  104. package/dist/client/assets/{tool-set-selector-BPpD_gne.js → tool-set-selector-CRLNbs4C.js} +1 -1
  105. package/dist/client/assets/{tools-list-eucrhDw_.js → tools-list-BeRMZtG9.js} +1 -1
  106. package/dist/client/assets/{tooltip-BotDoy6T.js → tooltip-DzrZ9wCu.js} +1 -1
  107. package/dist/client/assets/{typewriter-title-C0AyXxMG.js → typewriter-title-yCfBZocB.js} +1 -1
  108. package/dist/client/assets/{use-binding-Dj1HVNst.js → use-binding-B4CdGd_R.js} +1 -1
  109. package/dist/client/assets/{use-collections-Vpvt2q4e.js → use-collections-oaTV6V1V.js} +1 -1
  110. package/dist/client/assets/use-connection-BC3zltzG.js +1 -0
  111. package/dist/client/assets/{use-create-virtual-mcp-Jf2xsGTe.js → use-create-virtual-mcp-Cj9oL1-p.js} +1 -1
  112. package/dist/client/assets/{use-list-state-Bzarl2oM.js → use-list-state-CUj2Pms0.js} +1 -1
  113. package/dist/client/assets/{use-members-BtNqo2oh.js → use-members-BxzdumcN.js} +1 -1
  114. package/dist/client/assets/{use-mobile-CcOC6HBd.js → use-mobile-BYgIoeGI.js} +1 -1
  115. package/dist/client/assets/use-organization-settings-DYLZDPKB.js +1 -0
  116. package/dist/client/assets/use-virtual-mcp-DsllWo9H.js +1 -0
  117. package/dist/client/assets/useInfiniteQuery-fnNpWW1Y.js +1 -0
  118. package/dist/client/assets/{useMutation-d4_WWA7-.js → useMutation-Cwf-gT4m.js} +1 -1
  119. package/dist/client/assets/useQuery-Czw6cUjK.js +1 -0
  120. package/dist/client/assets/{value-BHid2kuo.js → value-BcjHEbtF.js} +1 -1
  121. package/dist/client/assets/{view-mode-toggle-DhWV5fbM.js → view-mode-toggle-Ba3TLRo6.js} +1 -1
  122. package/dist/client/assets/{virtual-mcp-Dyh0Ag7o.js → virtual-mcp-CoYEAnoS.js} +1 -1
  123. package/dist/client/assets/{workflow-Bw7jESqY.js → workflow-7kcB8-gn.js} +1 -1
  124. package/dist/client/index.html +1 -1
  125. package/dist/server/cli.js +142 -142
  126. package/dist/server/migrate.js +112 -112
  127. package/dist/server/server.js +127 -127
  128. package/package.json +1 -1
  129. package/dist/client/assets/collection-tab-_C4vj95J.js +0 -1
  130. package/dist/client/assets/constants-CrS7edVE.js +0 -1
  131. package/dist/client/assets/index-D1MpJYf1.js +0 -1
  132. package/dist/client/assets/members-CaWwLwBY.js +0 -3
  133. package/dist/client/assets/use-connection-DTjI_RtQ.js +0 -1
  134. package/dist/client/assets/use-organization-settings-CwiS3zFY.js +0 -1
  135. package/dist/client/assets/use-virtual-mcp-hN6G5B_j.js +0 -1
  136. package/dist/client/assets/useInfiniteQuery-B-B7Ix7h.js +0 -1
  137. package/dist/client/assets/useQuery-BMYUlGUP.js +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@decocms/mesh",
3
- "version": "2.38.2",
3
+ "version": "2.38.4",
4
4
  "description": "MCP Mesh - Self-hostable MCP Gateway for managing AI connections and tools",
5
5
  "author": "Deco team",
6
6
  "license": "MIT",
@@ -1 +0,0 @@
1
- import{c as ne,j as t,K as rt,e as at,b8 as ct,d as dt,r as mt,a0 as ft}from"./index-DimTMp-G.js";import{g as Ue}from"./generate-id-Dyweu44Y.js";import{C as Ve}from"./collection-display-button-Df_9WgFb.js";import{C as ut}from"./collection-search-Fe3W5Myr.js";import{C as pt}from"./card-BGHb8OmC.js";import{I as We,E as ht}from"./empty-state-B0xeJKH5.js";import{D as qe,a as Ge,b as He,c as F}from"./dropdown-menu-BMu3zBVo.js";import{B as ke,c as Oe}from"./button-CceSuFKi.js";import{a as Je}from"./Copy01-BOhF0ZEB.js";import{i as Qe}from"./DotsVertical-D61roAg3.js";import{i as Ye}from"./Edit01-DINJ246_.js";import{s as Xe,u as xt}from"./use-list-state-Bzarl2oM.js";import{s as Ze}from"./Trash01-CZvA_s0Y.js";import{C as gt}from"./collection-table-wrapper-VkF3O5dC.js";import{E as Le}from"./empty-state-BHdJzPJs.js";import{n as Be}from"./Inbox01-CM3kHNUT.js";import{A as Me}from"./avatar-C9tVSVlv.js";import{u as jt}from"./useQuery-BMYUlGUP.js";import{u as et}from"./virtual-mcp-Dyh0Ag7o.js";import{W as Ct,u as tt}from"./constants-DqnLzZpL.js";import{P as vt}from"./pin-to-sidebar-button-a3_Q5PIg.js";import{b as bt,a as yt}from"./use-collections-Vpvt2q4e.js";import{b as Nt}from"./use-connection-DTjI_RtQ.js";import{B as wt}from"./constants-CrS7edVE.js";import{A as St,g as _t,c as Dt,b as At,d as It,e as Pt,a as Tt,f as $t}from"./alert-dialog-CVkwkecf.js";import{s as Et}from"./Plus-Je-soon7.js";import{V as zt}from"./layout-DqvUpliw.js";function Ot(n,e){const s=n.properties||{};for(const o in s){const l=s[o];if(l&&l.type==="string"&&(l.format==="url"||l.format==="uri")&&e&&typeof e=="object"&&o in e&&e[o])return e[o]}const r=["image","img","avatar","icon","logo","thumbnail","cover"];for(const o of r)if(e&&typeof e=="object"&&o in e&&typeof e[o]=="string")return e[o]}function Mt(n){const e=ne.c(25),{item:s,schema:r,actions:o}=n;let l;e[0]!==s||e[1]!==r?(l=Ot(r,s),e[0]=s,e[1]=r,e[2]=l):l=e[2];const a=l,d=s&&typeof s=="object"&&"description"in s&&typeof s.description=="string"?s.description:void 0;let f;e[3]!==o?(f=o&&Object.keys(o).length>0,e[3]=o,e[4]=f):f=e[4];const i=f;let u;e[5]!==a||e[6]!==s.title?(u=t.jsx(We,{icon:a,name:s.title,size:"md",className:"shrink-0 shadow-sm"}),e[5]=a,e[6]=s.title,e[7]=u):u=e[7];let g;e[8]!==s.title?(g=t.jsx("h3",{className:"text-base font-medium text-foreground truncate",children:s.title}),e[8]=s.title,e[9]=g):g=e[9];const h=d||"No description";let m;e[10]!==h?(m=t.jsx("p",{className:"text-base text-muted-foreground line-clamp-2",children:h}),e[10]=h,e[11]=m):m=e[11];let x;e[12]!==g||e[13]!==m?(x=t.jsxs("div",{className:"flex flex-col gap-0 flex-1",children:[g,m]}),e[12]=g,e[13]=m,e[14]=x):x=e[14];let y;e[15]!==u||e[16]!==x?(y=t.jsxs("div",{className:"flex flex-col gap-4 p-6 flex-1",children:[u,x]}),e[15]=u,e[16]=x,e[17]=y):y=e[17];let v;e[18]!==o||e[19]!==i||e[20]!==s?(v=i&&t.jsx("div",{className:"absolute top-6 right-6 opacity-0 group-hover:opacity-100 transition-opacity",onClick:Ut,onMouseDown:Kt,children:t.jsxs(qe,{children:[t.jsx(Ge,{asChild:!0,children:t.jsx(ke,{variant:"ghost",size:"icon",className:"h-8 w-8",onClick:Ft,children:t.jsx(Qe,{size:20})})}),t.jsxs(He,{align:"end",onClick:kt,children:[o.open&&t.jsxs(F,{onClick:p=>{p.stopPropagation(),o.open?.(s)},children:[t.jsx(Xe,{size:16}),"Open"]}),o.edit&&t.jsxs(F,{onClick:p=>{p.stopPropagation(),o.edit?.(s)},children:[t.jsx(Ye,{size:16}),"Edit"]}),o.duplicate&&t.jsxs(F,{onClick:p=>{p.stopPropagation(),o.duplicate?.(s)},children:[t.jsx(Je,{size:16}),"Duplicate"]}),o.delete&&t.jsxs(F,{variant:"destructive",onClick:p=>{p.stopPropagation(),o.delete?.(s)},children:[t.jsx(Ze,{size:16}),"Delete"]})]})]})}),e[18]=o,e[19]=i,e[20]=s,e[21]=v):v=e[21];let N;return e[22]!==y||e[23]!==v?(N=t.jsxs(pt,{className:"cursor-pointer transition-colors h-full flex flex-col group relative",children:[y,v]}),e[22]=y,e[23]=v,e[24]=N):N=e[24],N}function kt(n){return n.stopPropagation()}function Ft(n){return n.stopPropagation()}function Kt(n){return n.stopPropagation()}function Ut(n){return n.stopPropagation()}function Lt(n){const e=ne.c(14),{org:s}=et();let r;e[0]!==s.id?(r=Ct.SELF(s.id),e[0]=s.id,e[1]=r):r=e[1];let o;e[2]!==s.id||e[3]!==r?(o={connectionId:r,orgId:s.id},e[2]=s.id,e[3]=r,e[4]=o):o=e[4];const l=tt(o);let a;e[5]!==n?(a=rt.user(n),e[5]=n,e[6]=a):a=e[6];let d;e[7]!==l||e[8]!==n?(d=async()=>{const u=await l.callTool({name:"USER_GET",arguments:{id:n}});return(u.structuredContent??u).user},e[7]=l,e[8]=n,e[9]=d):d=e[9];const f=!!n;let i;return e[10]!==a||e[11]!==d||e[12]!==f?(i={queryKey:a,queryFn:d,staleTime:3e5,retry:1,enabled:f},e[10]=a,e[11]=d,e[12]=f,e[13]=i):i=e[13],jt(i)}function Bt(n){const e=ne.c(39),{id:s,size:r,showEmail:o,className:l}=n,a=r===void 0?"xs":r,d=o===void 0?!1:o,{data:f,isLoading:i,isError:u}=Lt(s);if(i){let p;e[0]!==l?(p=Oe("flex items-center gap-2",l),e[0]=l,e[1]=p):p=e[1];let c;e[2]!==a?(c=t.jsx(Me.Skeleton,{shape:"circle",size:a}),e[2]=a,e[3]=c):c=e[3];let b;e[4]===Symbol.for("react.memo_cache_sentinel")?(b=t.jsx("div",{className:"h-3 w-24 bg-muted animate-pulse rounded"}),e[4]=b):b=e[4];let j;e[5]!==d?(j=d&&t.jsx("div",{className:"h-2 w-32 bg-muted animate-pulse rounded"}),e[5]=d,e[6]=j):j=e[6];let C;e[7]!==j?(C=t.jsxs("div",{className:"flex flex-col gap-1",children:[b,j]}),e[7]=j,e[8]=C):C=e[8];let _;return e[9]!==p||e[10]!==c||e[11]!==C?(_=t.jsxs("div",{className:p,children:[c,C]}),e[9]=p,e[10]=c,e[11]=C,e[12]=_):_=e[12],_}if(u||!f){let p;e[13]!==l?(p=Oe("flex items-center gap-2",l),e[13]=l,e[14]=p):p=e[14];let c;e[15]!==a?(c=t.jsx(Me,{shape:"circle",size:a,fallback:"?",muted:!0}),e[15]=a,e[16]=c):c=e[16];let b;e[17]===Symbol.for("react.memo_cache_sentinel")?(b=t.jsx("div",{className:"flex flex-col",children:t.jsx("div",{className:"text-sm text-muted-foreground",children:"Unknown User"})}),e[17]=b):b=e[17];let j;return e[18]!==p||e[19]!==c?(j=t.jsxs("div",{className:p,children:[c,b]}),e[18]=p,e[19]=c,e[20]=j):j=e[20],j}let g;e[21]!==l?(g=Oe("flex items-center gap-2",l),e[21]=l,e[22]=g):g=e[22];const h=f.image??void 0;let m;e[23]!==a||e[24]!==h||e[25]!==f.name?(m=t.jsx(Me,{shape:"circle",size:a,url:h,fallback:f.name}),e[23]=a,e[24]=h,e[25]=f.name,e[26]=m):m=e[26];let x;e[27]!==f.name?(x=t.jsx("div",{className:"text-sm font-medium",children:f.name}),e[27]=f.name,e[28]=x):x=e[28];let y;e[29]!==d||e[30]!==f.email?(y=d&&t.jsx("div",{className:"text-xs text-muted-foreground",children:f.email}),e[29]=d,e[30]=f.email,e[31]=y):y=e[31];let v;e[32]!==x||e[33]!==y?(v=t.jsxs("div",{className:"flex flex-col",children:[x,y]}),e[32]=x,e[33]=y,e[34]=v):v=e[34];let N;return e[35]!==g||e[36]!==m||e[37]!==v?(N=t.jsxs("div",{className:g,children:[m,v]}),e[35]=g,e[36]=m,e[37]=v,e[38]=N):N=e[38],N}const Rt=["icon","avatar","logo"],Re=["created_at","created_by","id"];function Vt(n){return Object.keys(n).find(e=>Rt.includes(e.toLowerCase()))}function st(n,e){return Object.keys(n.properties||{}).filter(s=>["id","created_at","updated_at","created_by","updated_by"].includes(s)?!1:e?e.includes(s):!0).map(s=>({id:s,label:s.charAt(0).toUpperCase()+s.slice(1).replace(/_/g," ")}))}function Wt(n){const e=ne.c(32),{data:s,schema:r,viewMode:o,onViewModeChange:l,search:a,sortKey:d,sortDirection:f,onSort:i,actions:u,onItemClick:g,headerActions:h,emptyState:m,readOnly:x,columns:y,hideToolbar:v,sortableFields:N}=n,p=l===void 0?Qt:l,c=f===void 0?"asc":f,b=i===void 0?Jt:i;let j;e[0]!==u?(j=u===void 0?{}:u,e[0]=u,e[1]=j):j=e[1];const C=j,_=g===void 0?Ht:g,D=h===void 0?null:h,P=m===void 0?null:m,E=x===void 0?!1:x,A=y===void 0?void 0:y,I=v===void 0?!1:v,S=N===void 0?void 0:N;let M;e[2]!==A||e[3]!==r||e[4]!==S?(M=A?A.filter(Gt).filter(O=>!S||S.includes(O.id)).map(qt):st(r,S),e[2]=A,e[3]=r,e[4]=S,e[5]=M):M=e[5];const k=M;let z;e[6]!==D||e[7]!==I||e[8]!==b||e[9]!==p||e[10]!==c||e[11]!==d||e[12]!==k||e[13]!==o?(z=!I&&t.jsx("div",{className:"shrink-0 w-full border-b border-border h-12",children:t.jsxs("div",{className:"flex items-center gap-3 h-12 px-4",children:[t.jsx("div",{className:"flex items-center gap-2 flex-1",children:D}),t.jsx("div",{className:"flex items-center gap-2 shrink-0",children:t.jsx(Ve,{viewMode:o,onViewModeChange:p,sortKey:d,sortDirection:c,onSort:b,sortOptions:k})})]})}),e[6]=D,e[7]=I,e[8]=b,e[9]=p,e[10]=c,e[11]=d,e[12]=k,e[13]=o,e[14]=z):z=e[14];let T;e[15]!==C||e[16]!==A||e[17]!==s||e[18]!==P||e[19]!==_||e[20]!==b||e[21]!==E||e[22]!==r||e[23]!==a||e[24]!==c||e[25]!==d||e[26]!==S||e[27]!==o?(T=o==="cards"?t.jsx("div",{className:"flex-1 overflow-auto p-5",children:s.length===0?t.jsx("div",{className:"flex items-center justify-center h-full",children:P||t.jsx(Le,{icon:t.jsx(Be,{size:36,className:"text-muted-foreground"}),title:"No items found",description:a?"Try adjusting your search":"No items to display"})}):t.jsx("div",{className:"grid grid-cols-1 md:grid-cols-3 lg:grid-cols-4 gap-4",children:s.map(O=>t.jsx("div",{onClick:()=>_?.(O),className:"cursor-pointer h-full",children:t.jsx(Mt,{item:O,schema:r,readOnly:E,actions:C})},O.id))})}):t.jsx(gt,{columns:Zt(A,r,S,C),data:s,sortKey:d,sortDirection:c,onSort:b,onRowClick:_,emptyState:P||t.jsx(Le,{icon:t.jsx(Be,{size:36,className:"text-muted-foreground"}),title:"No items found",description:a?"Try adjusting your search":"No items to display"})}),e[15]=C,e[16]=A,e[17]=s,e[18]=P,e[19]=_,e[20]=b,e[21]=E,e[22]=r,e[23]=a,e[24]=c,e[25]=d,e[26]=S,e[27]=o,e[28]=T):T=e[28];let $;return e[29]!==z||e[30]!==T?($=t.jsxs("div",{className:"h-full flex flex-col overflow-hidden",children:[z,T]}),e[29]=z,e[30]=T,e[31]=$):$=e[31],$}function qt(n){return{id:n.id,label:typeof n.header=="string"?n.header:n.id}}function Gt(n){return n.sortable!==!1}function Ht(){}function Jt(){}function Qt(){}function Yt(n){return{id:"actions",header:"",render:e=>t.jsxs(qe,{children:[t.jsx(Ge,{asChild:!0,children:t.jsx(ke,{variant:"ghost",size:"sm",className:"h-8 w-8 p-0",onClick:s=>s.stopPropagation(),children:t.jsx(Qe,{size:20})})}),t.jsxs(He,{align:"end",onClick:s=>s.stopPropagation(),children:[n.open&&t.jsxs(F,{onClick:s=>{s.stopPropagation(),n.open?.(e)},children:[t.jsx(Xe,{size:16}),"Open"]}),n.edit&&t.jsxs(F,{onClick:s=>{s.stopPropagation(),n.edit?.(e)},children:[t.jsx(Ye,{size:16}),"Edit"]}),n.duplicate&&t.jsxs(F,{onClick:s=>{s.stopPropagation(),n.duplicate?.(e)},children:[t.jsx(Je,{size:16}),"Duplicate"]}),n.delete&&t.jsxs(F,{variant:"destructive",onClick:s=>{s.stopPropagation(),n.delete?.(e)},children:[t.jsx(Ze,{size:16}),"Delete"]})]})]}),cellClassName:"w-[60px]",sortable:!1}}function it(n){const e=n.type;return Array.isArray(e)?e.every(s=>it({type:s})):e==="string"||e==="number"||e==="integer"||e==="boolean"||e==="null"}function Xt(n,e){const s=n.properties||{},r=Object.keys(s).filter(i=>{const u=s[i];return u&&it(u)}),o=Vt(s),l=[],a=new Set;o&&r.includes(o)&&(l.push(o),a.add(o));const d=["title","description","updated_at","updated_by"];for(const i of d)r.includes(i)&&!a.has(i)&&(l.push(i),a.add(i));const f=r.filter(i=>!a.has(i)&&!Re.includes(i)).sort((i,u)=>i.localeCompare(u));for(const i of f)l.push(i),a.add(i);for(const i of Re)r.includes(i)&&!a.has(i)&&(l.push(i),a.add(i));return l.map(i=>{const u=s[i],g=e?e.includes(i):!["id"].includes(i);return i===o?{id:i,header:"",render:h=>{const m=h[i];return t.jsx(We,{icon:m,name:h.title,size:"sm",className:"shrink-0 shadow-sm"})},sortable:!1,cellClassName:"w-16 shrink-0",wrap:!0}:i==="description"?{id:i,header:"Description",render:h=>{const m=h[i];return m==null?"—":t.jsx("span",{className:"block truncate max-w-[50ch]",children:String(m)})},sortable:g,cellClassName:"max-w-[50ch]"}:i==="created_by"||i==="updated_by"?{id:i,header:i.charAt(0).toUpperCase()+i.slice(1).replace(/_/g," "),render:h=>{const m=h[i];return m?t.jsx(Bt,{id:String(m),size:"xs"}):"—"},sortable:g,cellClassName:"max-w-[250px]"}:u?.format==="date-time"||i.endsWith("_at")?{id:i,header:i.charAt(0).toUpperCase()+i.slice(1).replace(/_/g," "),render:h=>{const m=h[i];return m?t.jsx("span",{className:"block truncate max-w-full",children:new Date(m).toLocaleDateString()}):"—"},sortable:g,cellClassName:"max-w-[200px]"}:{id:i,header:i.charAt(0).toUpperCase()+i.slice(1).replace(/_/g," "),render:h=>{const m=h[i];return m==null?"—":t.jsx("span",{className:"block truncate max-w-full",children:String(m)})},sortable:g,cellClassName:"max-w-[200px]"}})}function Zt(n,e,s,r){const o=n||Xt(e,s);return o.some(d=>d.id==="actions")?o:Object.keys(r).length>0?[...o,Yt(r)]:o}function As(n){const e=ne.c(118),{connectionId:s,org:r,activeCollection:o}=n,l=o.name,a=o.schema??wt,d=o.hasCreateTool,f=o.hasUpdateTool,i=o.hasDeleteTool,u=at(),h=ct().location.href,{data:m}=dt.useSession(),x=m?.user?.id||"unknown",y=Nt(s),{org:v}=et();let N;e[0]!==s||e[1]!==v.id?(N={connectionId:s,orgId:v.id},e[0]=s,e[1]=v.id,e[2]=N):N=e[2];const p=tt(N),c=bt(s,l,p),b=`${s}-${l}`;let j;e[3]!==r||e[4]!==b?(j={namespace:r,resource:b,defaultSortKey:"updated_at"},e[3]=r,e[4]=b,e[5]=j):j=e[5];const{search:C,searchTerm:_,setSearch:D,viewMode:P,setViewMode:E,sortKey:A,sortDirection:I,handleSort:S}=xt(j);let M;e[6]!==_||e[7]!==I||e[8]!==A?(M={searchTerm:_,sortKey:A,sortDirection:I},e[6]=_,e[7]=I,e[8]=A,e[9]=M):M=e[9];const k=yt(s,l,p,M),z=!d&&!f&&!i;let T;e[10]!==l||e[11]!==s||e[12]!==u||e[13]!==r?(T=w=>{u({to:"/$org/mcps/$connectionId/$collectionName/$itemId",params:{org:r,connectionId:s,collectionName:l,itemId:w.id}})},e[10]=l,e[11]=s,e[12]=u,e[13]=r,e[14]=T):T=e[14];const $=T;let O;e[15]!==c.create||e[16]!==x?(O=async w=>{const he=new Date().toISOString();await c.create.mutateAsync({...w,id:Ue("conn"),title:`${w.title} (Copy)`,created_at:he,updated_at:he,created_by:x,updated_by:x})},e[15]=c.create,e[16]=x,e[17]=O):O=e[17];const xe=O,[K,ge]=mt.useState(null);let le;e[18]===Symbol.for("react.memo_cache_sentinel")?(le=w=>{ge(w)},e[18]=le):le=e[18];const ot=le;let U;e[19]!==$||e[20]!==f?(U=f&&{edit:$},e[19]=$,e[20]=f,e[21]=U):U=e[21];let L;e[22]!==xe||e[23]!==d?(L=d&&{duplicate:xe},e[22]=xe,e[23]=d,e[24]=L):L=e[24];let B;e[25]!==i?(B=i&&{delete:ot},e[25]=i,e[26]=B):B=e[26];let re;e[27]!==B||e[28]!==U||e[29]!==L?(re={...U,...L,...B},e[27]=B,e[28]=U,e[29]=L,e[30]=re):re=e[30];const je=re;let ae;e[31]!==c.delete||e[32]!==K?(ae=async()=>{K&&(await c.delete.mutateAsync(K.id),ge(null))},e[31]=c.delete,e[32]=K,e[33]=ae):ae=e[33];const Ce=ae;let ce;e[34]!==c.create||e[35]!==l||e[36]!==s||e[37]!==d||e[38]!==u||e[39]!==r||e[40]!==x?(ce=async()=>{if(!d){ft.error("Create operation is not available for this collection");return}const w=new Date().toISOString(),he={id:Ue("conn"),title:"New Item",description:"A brief description of the item",created_at:w,updated_at:w,created_by:x,updated_by:x};try{const ze=await c.create.mutateAsync(he);u({to:"/$org/mcps/$connectionId/$collectionName/$itemId",params:{org:r,connectionId:s,collectionName:l,itemId:ze.id}})}catch(ze){console.error("Failed to create item:",ze)}},e[34]=c.create,e[35]=l,e[36]=s,e[37]=d,e[38]=u,e[39]=r,e[40]=x,e[41]=ce):ce=e[41];const ve=ce;let de;e[42]!==a?(de=st(a),e[42]=a,e[43]=de):de=e[43];const be=de,Fe=(k?.length??0)>0,nt=d&&Fe,lt=d&&!Fe&&!C;let me;e[44]!==c.create||e[45]!==ve||e[46]!==d?(me=d?t.jsxs(ke,{onClick:ve,size:"sm",disabled:c.create.isPending,className:"h-7",children:[t.jsx(Et,{className:"mr-2 h-4 w-4"}),c.create.isPending?"Creating...":"Create"]}):null,e[44]=c.create,e[45]=ve,e[46]=d,e[47]=me):me=e[47];const Ke=me,ye=A;let R;e[48]!==S||e[49]!==E||e[50]!==I||e[51]!==be||e[52]!==ye||e[53]!==P?(R=t.jsx(Ve,{viewMode:P,onViewModeChange:E,sortKey:ye,sortDirection:I,onSort:S,sortOptions:be}),e[48]=S,e[49]=E,e[50]=I,e[51]=be,e[52]=ye,e[53]=P,e[54]=R):R=e[54];const Ne=`${l}s`,we=y?.icon??"grid_view";let V;e[55]!==Ne||e[56]!==we||e[57]!==h?(V=t.jsx(vt,{title:Ne,url:h,icon:we}),e[55]=Ne,e[56]=we,e[57]=h,e[58]=V):V=e[58];const Se=nt&&Ke;let W;e[59]!==R||e[60]!==V||e[61]!==Se?(W=t.jsxs(zt,{children:[R,V,Se]}),e[59]=R,e[60]=V,e[61]=Se,e[62]=W):W=e[62];const _e=`Search ${l}...`;let q;e[63]!==D?(q=w=>{w.key==="Escape"&&(D(""),w.target.blur())},e[63]=D,e[64]=q):q=e[64];let G;e[65]!==C||e[66]!==D||e[67]!==_e||e[68]!==q?(G=t.jsx(ut,{value:C,onChange:D,placeholder:_e,onKeyDown:q}),e[65]=C,e[66]=D,e[67]=_e,e[68]=q,e[69]=G):G=e[69];let H;e[70]!==k?(H=k??[],e[70]=k,e[71]=H):H=e[71];const De=A;let J;e[72]!==$?(J=w=>$(w),e[72]=$,e[73]=J):J=e[73];const Ae="No items found",Ie=C?"Try adjusting your search terms":"This collection doesn't have any items yet.",Pe=lt?Ke:void 0;let Q;e[74]!==Ae||e[75]!==Ie||e[76]!==Pe?(Q=t.jsx(ht,{image:null,title:Ae,description:Ie,actions:Pe}),e[74]=Ae,e[75]=Ie,e[76]=Pe,e[77]=Q):Q=e[77];let Y;e[78]!==S||e[79]!==z||e[80]!==je||e[81]!==a||e[82]!==C||e[83]!==D||e[84]!==E||e[85]!==I||e[86]!==H||e[87]!==De||e[88]!==J||e[89]!==Q||e[90]!==P?(Y=t.jsx("div",{className:"flex-1 overflow-auto",children:t.jsx(Wt,{hideToolbar:!0,data:H,schema:a,viewMode:P,onViewModeChange:E,search:C,onSearchChange:D,sortKey:De,sortDirection:I,onSort:S,actions:je,onItemClick:J,readOnly:z,emptyState:Q})}),e[78]=S,e[79]=z,e[80]=je,e[81]=a,e[82]=C,e[83]=D,e[84]=E,e[85]=I,e[86]=H,e[87]=De,e[88]=J,e[89]=Q,e[90]=P,e[91]=Y):Y=e[91];let X;e[92]!==G||e[93]!==Y?(X=t.jsxs("div",{className:"flex flex-col h-full overflow-hidden",children:[G,Y]}),e[92]=G,e[93]=Y,e[94]=X):X=e[94];const Te=!!K;let fe;e[95]===Symbol.for("react.memo_cache_sentinel")?(fe=w=>{w||ge(null)},e[95]=fe):fe=e[95];let ue;e[96]===Symbol.for("react.memo_cache_sentinel")?(ue=t.jsx(Dt,{children:"Delete item?"}),e[96]=ue):ue=e[96];const $e=K?.title;let Z;e[97]!==$e?(Z=t.jsxs(At,{children:[ue,t.jsxs(It,{children:['Are you sure you want to delete "',$e,'"? This action cannot be undone.']})]}),e[97]=$e,e[98]=Z):Z=e[98];let ee;e[99]!==c.delete.isPending?(ee=t.jsx(St,{disabled:c.delete.isPending,children:"Cancel"}),e[99]=c.delete.isPending,e[100]=ee):ee=e[100];const Ee=c.delete.isPending?"Deleting...":"Delete";let te;e[101]!==c.delete.isPending||e[102]!==Ce||e[103]!==Ee?(te=t.jsx(_t,{onClick:Ce,disabled:c.delete.isPending,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:Ee}),e[101]=c.delete.isPending,e[102]=Ce,e[103]=Ee,e[104]=te):te=e[104];let se;e[105]!==ee||e[106]!==te?(se=t.jsxs(Pt,{children:[ee,te]}),e[105]=ee,e[106]=te,e[107]=se):se=e[107];let ie;e[108]!==Z||e[109]!==se?(ie=t.jsxs(Tt,{children:[Z,se]}),e[108]=Z,e[109]=se,e[110]=ie):ie=e[110];let oe;e[111]!==Te||e[112]!==ie?(oe=t.jsx($t,{open:Te,onOpenChange:fe,children:ie}),e[111]=Te,e[112]=ie,e[113]=oe):oe=e[113];let pe;return e[114]!==W||e[115]!==X||e[116]!==oe?(pe=t.jsxs(t.Fragment,{children:[W,X,oe]}),e[114]=W,e[115]=X,e[116]=oe,e[117]=pe):pe=e[117],pe}export{As as C};
@@ -1 +0,0 @@
1
- import{t,B as a}from"./index-DimTMp-G.js";const e=t(a,{target:"draft-7"});export{e as B};
@@ -1 +0,0 @@
1
- import{C as d,L as q,O as x,P as O,V as E,i as Q,p as V,u as W}from"./virtual-mcp-Dyh0Ag7o.js";import{b as A,c as h,a as F,e as I,f as _,u as $,d as j}from"./use-collections-Vpvt2q4e.js";import{b as U,u as D,a as H}from"./use-connection-DTjI_RtQ.js";import{K as l,S as y}from"./constants-DqnLzZpL.js";import{W as N,c as Y,b as k,g as z,d as B,a as X,u as Z}from"./constants-DqnLzZpL.js";import{c as u,i as m}from"./index-DimTMp-G.js";import{u as c}from"./useQuery-BMYUlGUP.js";import{b as te,a as se,u as re}from"./use-virtual-mcp-hN6G5B_j.js";import"./useMutation-d4_WWA7-.js";async function C(r){return r.getServerCapabilities()?.resources?await r.listResources():{resources:[]}}async function g(r,e){return await r.readResource({uri:e})}function T(r){const e=u.c(12);let t,s;e[0]!==r?({client:t,...s}=r,e[0]=r,e[1]=t,e[2]=s):(t=e[1],s=e[2]);let i;e[3]!==t?(i=l.mcpResourcesList(t),e[3]=t,e[4]=i):i=e[4];let o;e[5]!==t?(o=()=>C(t),e[5]=t,e[6]=o):o=e[6];const n=s.staleTime??3e4;let a;return e[7]!==s||e[8]!==i||e[9]!==o||e[10]!==n?(a={...s,queryKey:i,queryFn:o,staleTime:n,retry:!1},e[7]=s,e[8]=i,e[9]=o,e[10]=n,e[11]=a):a=e[11],c(a)}async function p(r){return r.getServerCapabilities()?.prompts?await r.listPrompts():{prompts:[]}}async function R(r,e,t){if(!r.getServerCapabilities()?.prompts)throw new Error("Prompts capability not supported");return await r.getPrompt({name:e,arguments:t??{}})}function S(r){const e=u.c(12);let t,s;e[0]!==r?({client:t,...s}=r,e[0]=r,e[1]=t,e[2]=s):(t=e[1],s=e[2]);let i;e[3]!==t?(i=l.mcpPromptsList(t),e[3]=t,e[4]=i):i=e[4];let o;e[5]!==t?(o=()=>p(t),e[5]=t,e[6]=o):o=e[6];const n=s.staleTime??3e4;let a;return e[7]!==s||e[8]!==i||e[9]!==o||e[10]!==n?(a={...s,queryKey:i,queryFn:o,staleTime:n,retry:!1},e[7]=s,e[8]=i,e[9]=o,e[10]=n,e[11]=a):a=e[11],m(a)}function w(r){const e=u.c(12);let t,s;e[0]!==r?({client:t,...s}=r,e[0]=r,e[1]=t,e[2]=s):(t=e[1],s=e[2]);let i;e[3]!==t?(i=l.mcpPromptsList(t),e[3]=t,e[4]=i):i=e[4];let o;e[5]!==t?(o=()=>p(t),e[5]=t,e[6]=o):o=e[6];const n=s.staleTime??3e4;let a;return e[7]!==s||e[8]!==i||e[9]!==o||e[10]!==n?(a={...s,queryKey:i,queryFn:o,staleTime:n,retry:!1},e[7]=s,e[8]=i,e[9]=o,e[10]=n,e[11]=a):a=e[11],c(a)}export{d as ConnectionEntitySchema,l as KEYS,q as Locator,x as ORG_ADMIN_PROJECT_SLUG,O as ProjectContextProvider,y as StreamableHTTPClientTransport,E as VirtualMCPEntitySchema,N as WellKnownOrgMCPId,Y as createMCPClient,R as getPrompt,k as getWellKnownCommunityRegistryConnection,z as getWellKnownMcpStudioConnection,B as getWellKnownOpenRouterConnection,X as getWellKnownRegistryConnection,Q as isStdioParameters,p as listPrompts,C as listResources,V as parseVirtualUrl,g as readResource,A as useCollectionActions,h as useCollectionItem,F as useCollectionList,U as useConnection,D as useConnectionActions,H as useConnections,Z as useMCPClient,S as useMCPPromptsList,w as useMCPPromptsListQuery,T as useMCPResourcesListQuery,I as useMCPToolCall,_ as useMCPToolCallMutation,$ as useMCPToolCallQuery,j as useMCPToolsListQuery,W as useProjectContext,te as useVirtualMCP,se as useVirtualMCPActions,re as useVirtualMCPs};
@@ -1,3 +0,0 @@
1
- import{r as V,d as J,K as le,o as fs,h as Xe,s as ue,a3 as Ms,a2 as Ds,E as qe,b as Ts,a as zs,a0 as W,j as t,c as de,i as ks}from"./index-DimTMp-G.js";import{C as Us}from"./collection-header-COgMCOx8.js";import{C as es}from"./collection-page-DVakSZpa.js";import{C as Ze}from"./collection-search-Fe3W5Myr.js";import{C as Bs}from"./collection-table-wrapper-VkF3O5dC.js";import{T as Vs}from"./tool-set-selector-BPpD_gne.js";import{u as ls}from"./use-members-BtNqo2oh.js";import{u as je}from"./virtual-mcp-Dyh0Ag7o.js";import{u as Is}from"./useQuery-BMYUlGUP.js";import{u as fe}from"./useMutation-d4_WWA7-.js";import{a as Gs}from"./use-connection-DTjI_RtQ.js";import{A as Ce}from"./avatar-C9tVSVlv.js";import{B as ve}from"./badge-C7J4I2Hj.js";import{c as re,B as ee}from"./button-CceSuFKi.js";import{C as $s}from"./checkbox-Cu04V43g.js";import{f as Ee,a as Te,b as Ie,c as Se,d as ye,e as Oe,A as Ae,g as we}from"./alert-dialog-CVkwkecf.js";import{D as Ss,f as ys,a as Os,b as Fs,c as Ks,e as Qs}from"./dialog-CL6M-Xmi.js";import{D as as,a as cs,b as ds,c as Ke,d as qs,e as Zs,f as Hs,g as Ys}from"./dropdown-menu-BMu3zBVo.js";import{i as Xs}from"./DotsHorizontal-DxGrUc9a.js";import{i as As}from"./Loading01-D1yLQLik.js";import{i as Ws}from"./Lock01-RqyglEYd.js";import{s as ss}from"./Plus-Je-soon7.js";import{s as ws}from"./Trash01-CZvA_s0Y.js";import{i as hs}from"./X-sxVQmAsr.js";import{I as Js}from"./input-BzZt5UMQ.js";import{S as Ve}from"./switch-BEUY1ZkG.js";import{b as Re,c as _e,T as Le,a as Pe}from"./tooltip-BotDoy6T.js";import{E as We}from"./empty-state-B0xeJKH5.js";import{E as et}from"./error-boundary-vgLVbtql.js";import{a as st,F as gs,b as ps,c as tt,d as xs,f as bs}from"./form-DWBp_92q.js";import{S as ts,a as ns,b as rs,c as is,d as os}from"./select-DVxy4dZt.js";import{T as nt}from"./textarea-Dok2BUMd.js";import{W as rt,u as it}from"./constants-DqnLzZpL.js";import{C as Cs}from"./card-BGHb8OmC.js";import{i as Rs}from"./DotsVertical-D61roAg3.js";import{i as ot}from"./Key01-9yBwokED.js";import{s as lt}from"./XClose-zzu-jidq.js";import"./collection-display-button-Df_9WgFb.js";import"./ArrowUp-BAMBJKzk.js";import"./Check-BK9-0hKa.js";import"./Grid01-CN_8958k.js";import"./List-BuWxjuK8.js";import"./view-mode-toggle-DhWV5fbM.js";import"./SearchMd-CbtolPap.js";import"./ArrowLeft-BkoJglZy.js";import"./use-collections-Vpvt2q4e.js";import"./ChevronDown-PIP2u0bO.js";const ms=({size:s=24,color:e="currentColor",...n})=>V.createElement("svg",{viewBox:"0 0 24 24",width:s,height:s,stroke:e,strokeWidth:"2",fill:"none",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...n},V.createElement("path",{d:"M11.302 21.615c.221.129.332.194.488.227.122.026.298.026.42 0 .156-.034.267-.098.488-.227C14.646 20.478 20 16.908 20 12V7.217c0-.799 0-1.199-.13-1.542a2 2 0 0 0-.548-.79c-.275-.243-.65-.383-1.398-.664l-5.362-2.01c-.208-.078-.312-.117-.419-.133a1 1 0 0 0-.286 0c-.107.016-.21.055-.419.133L6.076 4.22c-.748.28-1.122.421-1.398.664a2 2 0 0 0-.547.79C4 6.018 4 6.418 4 7.217V12c0 4.908 5.354 8.478 7.302 9.615Z"}));ms.displayName="Shield01";const _s=({size:s=24,color:e="currentColor",...n})=>V.createElement("svg",{viewBox:"0 0 24 24",width:s,height:s,stroke:e,strokeWidth:"2",fill:"none",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...n},V.createElement("path",{d:"M20 17H4m0 0 4-4m-4 4 4 4M4 7h16m0 0-4-4m4 4-4 4"}));_s.displayName="SwitchHorizontal01";const Ls=[{name:"ORGANIZATION_CREATE",description:"Create a new organization",category:"Organizations"},{name:"ORGANIZATION_LIST",description:"List organizations",category:"Organizations"},{name:"ORGANIZATION_GET",description:"View organization details",category:"Organizations"},{name:"ORGANIZATION_UPDATE",description:"Update organization",category:"Organizations"},{name:"ORGANIZATION_DELETE",description:"Delete organization",category:"Organizations",dangerous:!0},{name:"ORGANIZATION_SETTINGS_GET",description:"View organization settings",category:"Organizations"},{name:"ORGANIZATION_SETTINGS_UPDATE",description:"Update organization settings",category:"Organizations"},{name:"ORGANIZATION_MEMBER_ADD",description:"Add members",category:"Organizations"},{name:"ORGANIZATION_MEMBER_REMOVE",description:"Remove members",category:"Organizations",dangerous:!0},{name:"ORGANIZATION_MEMBER_LIST",description:"List members",category:"Organizations"},{name:"ORGANIZATION_MEMBER_UPDATE_ROLE",description:"Update member roles",category:"Organizations"},{name:"COLLECTION_CONNECTIONS_CREATE",description:"Create connections",category:"Connections"},{name:"COLLECTION_CONNECTIONS_LIST",description:"List connections",category:"Connections"},{name:"COLLECTION_CONNECTIONS_GET",description:"View connection details",category:"Connections"},{name:"COLLECTION_CONNECTIONS_UPDATE",description:"Update connections",category:"Connections"},{name:"COLLECTION_CONNECTIONS_DELETE",description:"Delete connections",category:"Connections",dangerous:!0},{name:"CONNECTION_TEST",description:"Test connections",category:"Connections"},{name:"DATABASES_RUN_SQL",description:"Run SQL queries",category:"Connections",dangerous:!0},{name:"COLLECTION_VIRTUAL_MCP_CREATE",description:"Create virtual MCPs",category:"Virtual MCPs"},{name:"COLLECTION_VIRTUAL_MCP_LIST",description:"List virtual MCPs",category:"Virtual MCPs"},{name:"COLLECTION_VIRTUAL_MCP_GET",description:"View virtual MCP details",category:"Virtual MCPs"},{name:"COLLECTION_VIRTUAL_MCP_UPDATE",description:"Update virtual MCPs",category:"Virtual MCPs"},{name:"COLLECTION_VIRTUAL_MCP_DELETE",description:"Delete virtual MCPs",category:"Virtual MCPs",dangerous:!0},{name:"MONITORING_LOGS_LIST",description:"List monitoring logs",category:"Monitoring"},{name:"MONITORING_STATS",description:"View monitoring statistics",category:"Monitoring"},{name:"API_KEY_CREATE",description:"Create API key",category:"API Keys"},{name:"API_KEY_LIST",description:"List API keys",category:"API Keys"},{name:"API_KEY_UPDATE",description:"Update API key",category:"API Keys"},{name:"API_KEY_DELETE",description:"Delete API key",category:"API Keys",dangerous:!0},{name:"EVENT_PUBLISH",description:"Publish events",category:"Event Bus"},{name:"EVENT_SUBSCRIBE",description:"Subscribe to events",category:"Event Bus"},{name:"EVENT_UNSUBSCRIBE",description:"Unsubscribe from events",category:"Event Bus"},{name:"EVENT_CANCEL",description:"Cancel recurring events",category:"Event Bus"},{name:"EVENT_ACK",description:"Acknowledge event delivery",category:"Event Bus"},{name:"EVENT_SUBSCRIPTION_LIST",description:"List event subscriptions",category:"Event Bus"},{name:"EVENT_SYNC_SUBSCRIPTIONS",description:"Sync subscriptions to desired state",category:"Event Bus"},{name:"USER_GET",description:"Get a user by id",category:"Users"},{name:"CODE_EXECUTION_SEARCH_TOOLS",description:"Search available tools by name or description",category:"Code Execution"},{name:"CODE_EXECUTION_DESCRIBE_TOOLS",description:"Get detailed schemas for specific tools",category:"Code Execution"},{name:"CODE_EXECUTION_RUN_CODE",description:"Run JavaScript code in a sandbox with tool access",category:"Code Execution",dangerous:!0},{name:"COLLECTION_THREADS_CREATE",description:"Create threads",category:"Threads"},{name:"COLLECTION_THREADS_LIST",description:"List threads",category:"Threads"},{name:"COLLECTION_THREADS_GET",description:"View thread details",category:"Threads"},{name:"COLLECTION_THREADS_UPDATE",description:"Update threads",category:"Threads"},{name:"COLLECTION_THREADS_DELETE",description:"Delete threads",category:"Threads",dangerous:!0},{name:"COLLECTION_THREAD_MESSAGES_LIST",description:"List thread messages",category:"Threads"}],at={ORGANIZATION_CREATE:"Create organization",ORGANIZATION_LIST:"List organizations",ORGANIZATION_GET:"View organization details",ORGANIZATION_UPDATE:"Update organization",ORGANIZATION_DELETE:"Delete organization",ORGANIZATION_SETTINGS_GET:"View organization settings",ORGANIZATION_SETTINGS_UPDATE:"Update organization settings",ORGANIZATION_MEMBER_LIST:"List members",ORGANIZATION_MEMBER_ADD:"Add members",ORGANIZATION_MEMBER_REMOVE:"Remove members",ORGANIZATION_MEMBER_UPDATE_ROLE:"Update member roles",COLLECTION_CONNECTIONS_LIST:"List connections",COLLECTION_CONNECTIONS_GET:"View connection details",COLLECTION_CONNECTIONS_CREATE:"Create connections",COLLECTION_CONNECTIONS_UPDATE:"Update connections",COLLECTION_CONNECTIONS_DELETE:"Delete connections",CONNECTION_TEST:"Test connections",DATABASES_RUN_SQL:"Run SQL queries",COLLECTION_VIRTUAL_MCP_CREATE:"Create virtual MCPs",COLLECTION_VIRTUAL_MCP_LIST:"List virtual MCPs",COLLECTION_VIRTUAL_MCP_GET:"View virtual MCP details",COLLECTION_VIRTUAL_MCP_UPDATE:"Update virtual MCPs",COLLECTION_VIRTUAL_MCP_DELETE:"Delete virtual MCPs",MONITORING_LOGS_LIST:"List monitoring logs",MONITORING_STATS:"View monitoring statistics",API_KEY_CREATE:"Create API key",API_KEY_LIST:"List API keys",API_KEY_UPDATE:"Update API key",API_KEY_DELETE:"Delete API key",EVENT_PUBLISH:"Publish events",EVENT_SUBSCRIBE:"Subscribe to events",EVENT_UNSUBSCRIBE:"Unsubscribe from events",EVENT_CANCEL:"Cancel recurring events",EVENT_ACK:"Acknowledge event delivery",EVENT_SUBSCRIPTION_LIST:"List event subscriptions",EVENT_SYNC_SUBSCRIPTIONS:"Sync subscriptions to desired state",USER_GET:"Get user by id",CODE_EXECUTION_SEARCH_TOOLS:"Search tools",CODE_EXECUTION_DESCRIBE_TOOLS:"Describe tools",CODE_EXECUTION_RUN_CODE:"Run code",COLLECTION_THREADS_CREATE:"Create threads",COLLECTION_THREADS_LIST:"List threads",COLLECTION_THREADS_GET:"View thread details",COLLECTION_THREADS_UPDATE:"Update threads",COLLECTION_THREADS_DELETE:"Delete threads",COLLECTION_THREAD_MESSAGES_LIST:"List thread messages"};function ct(){const s={Organizations:[],Connections:[],"Virtual MCPs":[],Threads:[],Monitoring:[],Users:[],"API Keys":[],"Event Bus":[],"Code Execution":[]};for(const e of Ls)s[e.category]?.push(e);return s}function dt(){return Ls.map(s=>({value:s.name,label:at[s.name],dangerous:s.dangerous}))}const js=[{value:"owner",label:"Owner",isBuiltin:!0},{value:"admin",label:"Admin",isBuiltin:!0},{value:"user",label:"User",isBuiltin:!0}];function mt(s){return s.replace(/-/g," ")}function ut(s){if(!s)return{staticPermissions:[],allowsAllStaticPermissions:!1,connectionIds:[],allowsAllConnections:!1,toolNames:[],allowsAllTools:!1};const e=[];let n=!1;const i=[];let a=!1;const o=new Set;let h=!1;for(const[l,g]of Object.entries(s)){if(l==="self"){g.includes("*")?n=!0:e.push(...g);continue}if(l==="*"){if(a=!0,g.includes("*"))h=!0;else for(const j of g)o.add(j);continue}if(i.push(l),g.includes("*"))h=!0;else for(const j of g)o.add(j)}return{staticPermissions:e,allowsAllStaticPermissions:n,connectionIds:i,allowsAllConnections:a,toolNames:Array.from(o),allowsAllTools:h}}function us(){const{locator:s}=je(),{data:e,isLoading:n,error:i,refetch:a}=Is({queryKey:le.organizationRoles(s),queryFn:async()=>{try{const l=await J.organization.listRoles();return l?.error?(console.error("[useOrganizationRoles] API error:",l.error),[]):l?.data??[]}catch(l){return console.error("[useOrganizationRoles] Fetch error:",l),[]}},staleTime:3e4}),o=js.map(l=>({role:l.value,label:l.label,isBuiltin:l.isBuiltin}));if(e&&Array.isArray(e))for(const l of e){const g=l.role;if(!g||js.some(C=>C.value===g))continue;const{staticPermissions:j,allowsAllStaticPermissions:u,connectionIds:O,allowsAllConnections:d,toolNames:I,allowsAllTools:f}=ut(l.permission);o.push({id:l.id,role:g,label:mt(g),isBuiltin:!1,permission:l.permission??void 0,staticPermissionCount:u?-1:j.length,allowsAllStaticPermissions:u,connectionCount:d?-1:O.length,allowsAllConnections:d,toolCount:f?-1:I.length,allowsAllTools:f})}const h=o.filter(l=>!l.isBuiltin);return{roles:o,customRoles:h,builtinRoles:o.filter(l=>l.isBuiltin),isLoading:n,error:i,refetch:a}}const ft=fs({role:fs({id:ue().optional(),slug:ue().optional(),label:ue()}),allowAllStaticPermissions:Ds(),staticPermissions:Xe(ue()),toolSet:Ms(ue(),Xe(ue())),memberIds:Xe(ue())});function Ps(s){return s?s.split(" ").map(e=>e[0]).join("").toUpperCase().slice(0,2):"?"}const ht=[{role:"owner",label:"Owner",color:"bg-red-500"},{role:"admin",label:"Admin",color:"bg-blue-500"},{role:"user",label:"User",color:"bg-green-500"}],Je=["bg-red-500","bg-orange-500","bg-amber-500","bg-yellow-500","bg-lime-500","bg-green-500","bg-emerald-500","bg-teal-500","bg-cyan-500","bg-sky-500","bg-blue-500","bg-indigo-500","bg-violet-500","bg-purple-500","bg-fuchsia-500","bg-pink-500","bg-rose-500"];function gt(s){if(!s)return"bg-neutral-400";let e=0;for(let i=0;i<s.length;i++){const a=s.charCodeAt(i);e=(e<<5)-e+a,e=e&e}const n=Math.abs(e)%Je.length;return Je[n]??Je[0]}function Ge(){return{role:{id:void 0,slug:void 0,label:""},allowAllStaticPermissions:!1,staticPermissions:[],toolSet:{},memberIds:[]}}function pt(s){const e=de.c(39),{allowAllStaticPermissions:n,staticPermissions:i,onAllowAllChange:a,onPermissionsChange:o,readOnly:h}=s,l=h===void 0?!1:h,[g,j]=V.useState(""),u=V.useDeferredValue(g);let O,d,I,f,C;if(e[0]!==n||e[1]!==u||e[2]!==a||e[3]!==o||e[4]!==l||e[5]!==g||e[6]!==i){const p=ct(),c=dt(),v=c.filter(T=>T.label.toLowerCase().includes(u.toLowerCase())),S=T=>{if(i.includes(T))o(i.filter(_=>_!==T));else{const _=[...i,T];_.length===c.length?(a(!0),o([])):o(_)}};I="flex flex-col h-full",e[12]!==g?(f=t.jsx("div",{className:"border-b border-border",children:t.jsx(Ze,{value:g,onChange:j,placeholder:"Search permissions...",className:"border-b-0"})}),e[12]=g,e[13]=f):f=e[13];const L=!l&&"hover:bg-muted/50 cursor-pointer";let y;e[14]!==L?(y=re("flex items-center justify-between px-4 py-3 rounded-lg",L),e[14]=L,e[15]=y):y=e[15];let w;e[16]!==n||e[17]!==a||e[18]!==o||e[19]!==l?(w=()=>{if(l)return;a(!n),o([])},e[16]=n,e[17]=a,e[18]=o,e[19]=l,e[20]=w):w=e[20];let A;e[21]===Symbol.for("react.memo_cache_sentinel")?(A=t.jsx("span",{className:"text-sm font-medium",children:"All organization permissions"}),e[21]=A):A=e[21];let P;e[22]!==n||e[23]!==a||e[24]!==o||e[25]!==l?(P=t.jsx("div",{onClick:Nt,children:l?t.jsx(Re,{children:t.jsxs(_e,{children:[t.jsx(Le,{asChild:!0,children:t.jsx("div",{children:t.jsx(Ve,{checked:n,disabled:l,onCheckedChange:T=>{l||(a(T),o([]))}})})}),t.jsx(Pe,{children:t.jsx("p",{children:"Built-in role permissions cannot be changed"})})]})}):t.jsx(Ve,{checked:n,disabled:l,onCheckedChange:T=>{l||(a(T),o([]))}})}),e[22]=n,e[23]=a,e[24]=o,e[25]=l,e[26]=P):P=e[26],e[27]!==P||e[28]!==y||e[29]!==w?(C=t.jsx("div",{className:"border-b border-border",children:t.jsxs("div",{className:y,onClick:w,children:[A,P]})}),e[27]=P,e[28]=y,e[29]=w,e[30]=C):C=e[30],O="flex-1 overflow-auto",d=Object.entries(p).map(T=>{const[_,D]=T,E=v.filter(m=>D.some(M=>M.name===m.value));return E.length===0?null:t.jsxs("div",{className:"mb-6 last:mb-0",children:[t.jsx("h4",{className:"text-sm font-medium p-3 pb-1.5 text-muted-foreground/75",children:_}),t.jsx("div",{className:"space-y-1",children:E.map(m=>t.jsxs("div",{className:re("flex items-center justify-between gap-3 px-4 py-3",!l&&"hover:bg-muted/50 cursor-pointer"),onClick:()=>{if(!l)if(n){a(!1);const M=c.map(jt);o(M.filter(G=>G!==m.value))}else S(m.value)},children:[t.jsx("div",{className:"flex-1 min-w-0",children:t.jsx("span",{className:"text-sm",children:m.label})}),t.jsx("div",{onClick:Ct,children:l?t.jsx(Re,{children:t.jsxs(_e,{children:[t.jsx(Le,{asChild:!0,children:t.jsx("div",{children:t.jsx(Ve,{checked:n||i.includes(m.value),disabled:l,onCheckedChange:()=>{if(!l)if(n){a(!1);const M=c.map(bt);o(M.filter(G=>G!==m.value))}else S(m.value)}})})}),t.jsx(Pe,{children:t.jsx("p",{children:"Built-in role permissions cannot be changed"})})]})}):t.jsx(Ve,{checked:n||i.includes(m.value),disabled:l,onCheckedChange:()=>{if(!l)if(n){a(!1);const M=c.map(xt);o(M.filter(G=>G!==m.value))}else S(m.value)}})})]},m.value))})]},_)}),e[0]=n,e[1]=u,e[2]=a,e[3]=o,e[4]=l,e[5]=g,e[6]=i,e[7]=O,e[8]=d,e[9]=I,e[10]=f,e[11]=C}else O=e[7],d=e[8],I=e[9],f=e[10],C=e[11];let x;e[31]!==O||e[32]!==d?(x=t.jsx("div",{className:O,children:d}),e[31]=O,e[32]=d,e[33]=x):x=e[33];let N;return e[34]!==I||e[35]!==f||e[36]!==C||e[37]!==x?(N=t.jsxs("div",{className:I,children:[f,C,x]}),e[34]=I,e[35]=f,e[36]=C,e[37]=x,e[38]=N):N=e[38],N}function xt(s){return s.value}function bt(s){return s.value}function Ct(s){return s.stopPropagation()}function jt(s){return s.value}function Nt(s){return s.stopPropagation()}function vt(s){const e=de.c(56),{open:n,onOpenChange:i,selectedMemberIds:a,onAddMembers:o}=s,[h,l]=V.useState(""),g=V.useDeferredValue(h);let j;e[0]===Symbol.for("react.memo_cache_sentinel")?(j=[],e[0]=j):j=e[0];const[u,O]=V.useState(j),{data:d}=ls();let I,f,C,x,N,p,c,v,S,L,y;if(e[1]!==d?.data?.members||e[2]!==g||e[3]!==o||e[4]!==i||e[5]!==n||e[6]!==u||e[7]!==h||e[8]!==a){const M=d?.data?.members??[];let G;e[20]!==g?(G=k=>{const r=g.toLowerCase();return k.user?.name?.toLowerCase().includes(r)||k.user?.email?.toLowerCase().includes(r)},e[20]=g,e[21]=G):G=e[21];const se=M.filter(G),F=Et;let K;e[22]!==a?(K=k=>a.includes(k),e[22]=a,e[23]=K):K=e[23];const Q=K;let H;e[24]!==u?(H=k=>{u.includes(k)?O(u.filter(r=>r!==k)):O([...u,k])},e[24]=u,e[25]=H):H=e[25];const ne=H;let te;e[26]!==o||e[27]!==i||e[28]!==u?(te=()=>{o(u),O([]),i(!1)},e[26]=o,e[27]=i,e[28]=u,e[29]=te):te=e[29],C=te,f=Ee,L=n,y=i,I=Te,v="sm:max-w-md p-0 overflow-hidden",e[30]===Symbol.for("react.memo_cache_sentinel")?(S=t.jsxs(Ie,{className:"px-6 pt-6",children:[t.jsx(Se,{children:"Add Members to Role"}),t.jsx(ye,{children:"Select members to add to this role."})]}),e[30]=S):S=e[30],p="flex flex-col h-80",e[31]!==h?(c=t.jsx(Ze,{value:h,onChange:l,placeholder:"Search members...",className:"border-b border-t-0 border-x-0 rounded-none"}),e[31]=h,e[32]=c):c=e[32],x="flex-1 overflow-auto",N=se.length===0?t.jsx("div",{className:"flex items-center justify-center h-full px-6",children:t.jsx("p",{className:"text-sm text-muted-foreground",children:h?"No members found":"No members available"})}):t.jsx("div",{className:"px-6 py-2 space-y-1",children:se.map(k=>{const r=F(k),b=Q(k.id),$=u.includes(k.id);return t.jsxs("label",{className:re("flex items-center gap-3 p-2 rounded-lg",!r||b?"opacity-50 cursor-not-allowed":"cursor-pointer hover:bg-muted/50"),children:[t.jsx($s,{checked:$||b,onCheckedChange:()=>{r&&!b&&ne(k.id)},disabled:!r||b}),t.jsx(Ce,{url:k.user?.image??void 0,fallback:Ps(k.user?.name),shape:"circle",size:"sm"}),t.jsxs("div",{className:"flex-1 min-w-0",children:[t.jsx("p",{className:"text-sm font-medium truncate",children:k.user?.name||"Unknown"}),t.jsx("p",{className:"text-xs text-muted-foreground truncate",children:k.user?.email})]}),!r&&t.jsx(ve,{variant:"secondary",className:"shrink-0",children:"Owner"}),b&&r&&t.jsx(ve,{variant:"outline",className:"shrink-0",children:"Added"})]},k.id)})}),e[1]=d?.data?.members,e[2]=g,e[3]=o,e[4]=i,e[5]=n,e[6]=u,e[7]=h,e[8]=a,e[9]=I,e[10]=f,e[11]=C,e[12]=x,e[13]=N,e[14]=p,e[15]=c,e[16]=v,e[17]=S,e[18]=L,e[19]=y}else I=e[9],f=e[10],C=e[11],x=e[12],N=e[13],p=e[14],c=e[15],v=e[16],S=e[17],L=e[18],y=e[19];let w;e[33]!==x||e[34]!==N?(w=t.jsx("div",{className:x,children:N}),e[33]=x,e[34]=N,e[35]=w):w=e[35];let A;e[36]!==w||e[37]!==p||e[38]!==c?(A=t.jsxs("div",{className:p,children:[c,w]}),e[36]=w,e[37]=p,e[38]=c,e[39]=A):A=e[39];let P;e[40]===Symbol.for("react.memo_cache_sentinel")?(P=t.jsx(Ae,{children:"Cancel"}),e[40]=P):P=e[40];const T=u.length===0,_=u.length>0&&`(${u.length})`;let D;e[41]!==C||e[42]!==T||e[43]!==_?(D=t.jsxs(Oe,{className:"px-6 pb-6",children:[P,t.jsxs(we,{onClick:C,disabled:T,children:["Add ",_]})]}),e[41]=C,e[42]=T,e[43]=_,e[44]=D):D=e[44];let E;e[45]!==I||e[46]!==A||e[47]!==D||e[48]!==v||e[49]!==S?(E=t.jsxs(I,{className:v,children:[S,A,D]}),e[45]=I,e[46]=A,e[47]=D,e[48]=v,e[49]=S,e[50]=E):E=e[50];let m;return e[51]!==f||e[52]!==E||e[53]!==L||e[54]!==y?(m=t.jsx(f,{open:L,onOpenChange:y,children:E}),e[51]=f,e[52]=E,e[53]=L,e[54]=y,e[55]=m):m=e[55],m}function Et(s){return s.role!=="owner"}function Tt(s){const e=de.c(40),{memberIds:n,onMemberIdsChange:i,readOnly:a}=s,o=a===void 0?!1:a,[h,l]=V.useState(""),g=V.useDeferredValue(h),[j,u]=V.useState(!1),{data:O}=ls();let d,I,f,C,x;if(e[0]!==O?.data?.members||e[1]!==g||e[2]!==n||e[3]!==i||e[4]!==o||e[5]!==h){const v=O?.data?.members??[];let S;e[11]!==n?(S=E=>n.includes(E.id),e[11]=n,e[12]=S):S=e[12];const L=v.filter(S);let y;e[13]!==g?(y=E=>{const m=g.toLowerCase();return E.user?.name?.toLowerCase().includes(m)||E.user?.email?.toLowerCase().includes(m)},e[13]=g,e[14]=y):y=e[14];const w=L.filter(y);let A;e[15]!==n||e[16]!==i?(A=E=>{i(n.filter(m=>m!==E))},e[15]=n,e[16]=i,e[17]=A):A=e[17];const P=A;let T;e[18]!==n||e[19]!==i?(T=E=>{i([...n,...E])},e[18]=n,e[19]=i,e[20]=T):T=e[20],d=T,C="flex flex-col h-full";let _;e[21]!==h?(_=t.jsx(Ze,{value:h,onChange:l,placeholder:"Search members...",className:"flex-1 border-b-0"}),e[21]=h,e[22]=_):_=e[22];let D;e[23]!==o?(D=o?t.jsx("div",{className:"pr-4",children:t.jsx(Re,{children:t.jsxs(_e,{children:[t.jsx(Le,{asChild:!0,children:t.jsx("div",{children:t.jsxs(ee,{variant:"outline",size:"sm",disabled:!0,children:[t.jsx(ss,{size:16}),"Add Member"]})})}),t.jsx(Pe,{children:t.jsx("p",{children:"Owner membership cannot be changed"})})]})})}):t.jsx("div",{className:"pr-4",children:t.jsxs(ee,{variant:"outline",size:"sm",onClick:()=>u(!0),children:[t.jsx(ss,{size:16}),"Add Member"]})}),e[23]=o,e[24]=D):D=e[24],e[25]!==_||e[26]!==D?(x=t.jsxs("div",{className:"flex items-center border-b border-border",children:[_,D]}),e[25]=_,e[26]=D,e[27]=x):x=e[27],I="flex-1 overflow-auto",f=L.length===0?t.jsx("div",{className:"flex items-center justify-center h-full",children:t.jsxs("div",{className:"text-center",children:[t.jsx("h3",{className:"text-lg font-medium mb-2",children:"No members"}),t.jsx("p",{className:"text-sm text-muted-foreground",children:"Add members to this role to grant them the configured permissions."})]})}):w.length===0?t.jsx("div",{className:"flex items-center justify-center h-full",children:t.jsxs("p",{className:"text-sm text-muted-foreground",children:['No members match "',h,'"']})}):t.jsx("div",{className:"p-4 space-y-2",children:w.map(E=>t.jsxs("div",{className:"flex items-center gap-3 p-3 rounded-lg bg-muted/30",children:[t.jsx(Ce,{url:E.user?.image??void 0,fallback:Ps(E.user?.name),shape:"circle",size:"sm"}),t.jsxs("div",{className:"flex-1 min-w-0",children:[t.jsx("p",{className:"text-sm font-medium truncate",children:E.user?.name||"Unknown"}),t.jsx("p",{className:"text-xs text-muted-foreground truncate",children:E.user?.email})]}),o?t.jsx(Re,{children:t.jsxs(_e,{children:[t.jsx(Le,{asChild:!0,children:t.jsx("div",{children:t.jsx(ee,{variant:"ghost",size:"sm",disabled:!0,children:t.jsx(hs,{size:16})})})}),t.jsx(Pe,{children:t.jsx("p",{children:"Owner membership cannot be changed"})})]})}):t.jsx(ee,{variant:"ghost",size:"sm",onClick:()=>P(E.id),children:t.jsx(hs,{size:16})})]},E.id))}),e[0]=O?.data?.members,e[1]=g,e[2]=n,e[3]=i,e[4]=o,e[5]=h,e[6]=d,e[7]=I,e[8]=f,e[9]=C,e[10]=x}else d=e[6],I=e[7],f=e[8],C=e[9],x=e[10];let N;e[28]!==I||e[29]!==f?(N=t.jsx("div",{className:I,children:f}),e[28]=I,e[29]=f,e[30]=N):N=e[30];let p;e[31]!==j||e[32]!==d||e[33]!==n?(p=t.jsx(vt,{open:j,onOpenChange:u,selectedMemberIds:n,onAddMembers:d}),e[31]=j,e[32]=d,e[33]=n,e[34]=p):p=e[34];let c;return e[35]!==C||e[36]!==x||e[37]!==N||e[38]!==p?(c=t.jsxs("div",{className:C,children:[x,N,p]}),e[35]=C,e[36]=x,e[37]=N,e[38]=p,e[39]=c):c=e[39],c}function It(s){const e=de.c(3);let n;e[0]===Symbol.for("react.memo_cache_sentinel")?(n=t.jsx("div",{className:"flex items-center justify-center h-full",children:t.jsx(As,{size:24,className:"animate-spin text-muted-foreground"})}),e[0]=n):n=e[0];let i;return e[1]!==s?(i=t.jsx(V.Suspense,{fallback:n,children:t.jsx(Tt,{...s})}),e[1]=s,e[2]=i):i=e[2],i}const St={owner:[],admin:[],user:[]};function $e(s,e){const n=s==="owner"||s==="admin",i=e.filter(a=>a.role===s);return{role:{slug:s,label:s.charAt(0).toUpperCase()+s.slice(1)},allowAllStaticPermissions:n,staticPermissions:St[s],toolSet:{},memberIds:i.map(a=>a.id)}}function yt({trigger:s,onSuccess:e}){const[n,i]=V.useState(!1),[a,o]=V.useState("mcp"),{locator:h}=je(),l=qe(),g=Gs()??[],{customRoles:j,refetch:u}=us(),{data:O}=Is({queryKey:le.members(h),queryFn:()=>J.organization.listMembers()}),d=Ts({resolver:zs(ft),defaultValues:Ge()}),I=d.formState.isValid,f=d.formState.isDirty,[C,x]=V.useState(null),[N,p]=V.useState(null),c=!d.watch("role.id")&&!d.watch("role.slug")&&!N,[v,S]=V.useState(null),[L,y]=V.useState(!1),[w,A]=V.useState(null),P=r=>{const b=r.permission||{},$=b.self||[],oe=$.includes("*"),ie=oe?[]:$.filter(z=>z!=="*"),Y={};for(const[z,U]of Object.entries(b))if(z!=="self")if(z==="*")for(const Z of g)U.includes("*")?Y[Z.id]=Z.tools?.map(ae=>ae.name)??[]:Y[Z.id]=U;else{const Z=g.find(ae=>ae.id===z);Z&&(U.includes("*")?Y[z]=Z.tools?.map(ae=>ae.name)??[]:Y[z]=U)}const me=(O?.data?.members??[]).filter(z=>z.role===r.role).map(z=>z.id);return{role:{id:r.id,slug:r.role,label:r.label},allowAllStaticPermissions:oe,staticPermissions:ie,toolSet:Y,memberIds:me}},T=r=>{const b=P(r);d.reset(b),x(r.id??null),p(null)},_=()=>{d.reset(Ge()),x(null),p(null),o("mcp")},D=r=>{f&&I?(A(()=>()=>T(r)),y(!0)):T(r)},E=async()=>{f&&I&&await H(),_()},m=r=>{if(f&&I)A(()=>()=>{const b=$e(r,O?.data?.members??[]);d.reset(b),p(r),x(null),o("org")}),y(!0);else{const b=$e(r,O?.data?.members??[]);d.reset(b),p(r),x(null),o("org")}},M=r=>{if(!r&&d.formState.isDirty&&I){A(()=>()=>{i(!1),d.reset(Ge()),p(null)}),y(!0);return}if(i(r),!r)d.reset(Ge()),p(null),x(null);else{const b=j[0];if(b)T(b);else{const $=$e("user",O?.data?.members??[]);d.reset($),p("user"),x(null),o("org")}}},G=()=>{y(!1),w&&(w(),A(null))},se=r=>{const b={};r.allowAllStaticPermissions?b.self=["*"]:r.staticPermissions.length>0&&(b.self=r.staticPermissions);for(const[$,oe]of Object.entries(r.toolSet))if(oe.length>0){const Y=g.find(q=>q.id===$)?.tools?.map(q=>q.name)??[];Y.length>0&&Y.every(q=>oe.includes(q))?b[$]=["*"]:b[$]=oe}return b},F=fe({mutationFn:async r=>{const b=se(r),$=r.role.slug||r.role.label.toLowerCase().replace(/\s+/g,"-");if(r.role.slug&&!r.role.id){const Y=(O?.data?.members??[]).filter(z=>z.role===r.role.slug).map(z=>z.id),q=r.memberIds.filter(z=>!Y.includes(z)),me=Y.filter(z=>!r.memberIds.includes(z));for(const z of q){const U=await J.organization.updateMemberRole({memberId:z,role:[r.role.slug]});if(U?.error)throw new Error(U.error.message)}for(const z of me){const U=await J.organization.updateMemberRole({memberId:z,role:["user"]});if(U?.error)throw new Error(U.error.message)}return r}else if(r.role.id){const ie=await J.organization.updateRole({roleId:r.role.id,data:{permission:b}});if(ie?.error)throw new Error(ie.error.message);const q=(O?.data?.members??[]).filter(U=>U.role===r.role.slug).map(U=>U.id),me=r.memberIds.filter(U=>!q.includes(U)),z=q.filter(U=>!r.memberIds.includes(U));for(const U of me){const Z=await J.organization.updateMemberRole({memberId:U,role:[r.role.slug]});if(Z?.error)throw new Error(Z.error.message)}for(const U of z){const Z=await J.organization.updateMemberRole({memberId:U,role:["user"]});if(Z?.error)throw new Error(Z.error.message)}return r}else{const ie=await J.organization.createRole({role:$,permission:b});if(ie?.error)throw new Error(ie.error.message);for(const Y of r.memberIds){const q=await J.organization.updateMemberRole({memberId:Y,role:[$]});if(q?.error)throw new Error(q.error.message)}return{...r,role:{...r.role,id:ie.data?.roleData?.id,slug:$}}}},onSuccess:(r,b)=>{l.invalidateQueries({queryKey:le.members(h)}),l.invalidateQueries({queryKey:le.organizationRoles(h)});const $=!b.role.id&&!b.role.slug,oe=b.role.slug&&!b.role.id;W.success(oe?"Members updated successfully!":$?"Role created successfully!":"Role updated successfully!"),u(),d.reset(r),r.role.id&&x(r.role.id),e?.()},onError:r=>{W.error(r instanceof Error?r.message:"Failed to save role")}}),K=fe({mutationFn:async r=>{const b=await J.organization.deleteRole({roleId:r});if(b?.error)throw new Error(b.error.message);return b?.data},onSuccess:()=>{if(l.invalidateQueries({queryKey:le.members(h)}),l.invalidateQueries({queryKey:le.organizationRoles(h)}),W.success("Role deleted successfully!"),u(),v?.id===C){const r=j.filter(b=>b.id!==v?.id);if(r[0])T(r[0]);else{const b=$e("user",O?.data?.members??[]);d.reset(b),p("user"),x(null),o("org")}}},onError:r=>{W.error(r instanceof Error?r.message:"Failed to delete role")}}),Q=F.isPending||K.isPending,H=async()=>{const r=d.getValues();if(!r.role.label.trim()){W.error("Role name is required"),d.setFocus("role.label");return}await F.mutateAsync(r)},ne=d.handleSubmit(r=>{if(!r.role.label.trim()){W.error("Role name is required"),d.setFocus("role.label");return}F.mutate(r)}),te=r=>{r.id&&S({id:r.id,label:r.label})},k=()=>{v?.id&&K.mutate(v.id),S(null)};return t.jsxs(Ss,{open:n,onOpenChange:M,children:[t.jsx(ys,{asChild:!0,children:s}),t.jsx(Os,{className:"sm:max-w-5xl h-[80vh] max-h-[80vh] flex flex-col p-0 overflow-hidden w-[95vw]",children:t.jsxs("div",{className:"flex-1 flex overflow-hidden min-h-0 flex-col sm:flex-row",children:[t.jsxs("div",{className:"w-full sm:w-64 sm:border-r border-b sm:border-b-0 border-border flex flex-col bg-background sm:h-full max-h-[40vh] sm:max-h-full",children:[t.jsx("div",{className:"flex-1 overflow-auto px-3.5 py-3.5 pt-3.5",children:t.jsxs("div",{className:"flex flex-col gap-1",children:[ht.map(r=>{const b=N===r.role;return t.jsxs("div",{className:re("flex items-center gap-2 px-2 py-1.5 rounded-lg overflow-hidden cursor-pointer transition-colors",b?"bg-accent":"hover:bg-muted/50"),onClick:()=>m(r.role),children:[t.jsx("div",{className:re("shrink-0 size-3 rounded-full",r.color)}),t.jsx("p",{className:"text-sm font-medium truncate flex-1",children:r.label}),t.jsx(Ws,{size:14,className:"text-muted-foreground shrink-0"})]},r.role)}),j.map(r=>{const b=C===r.id;return t.jsxs("div",{className:re("group flex items-center gap-2 px-2 py-1.5 rounded-lg overflow-hidden transition-colors cursor-pointer",b?"bg-accent":"hover:bg-muted/50"),onClick:()=>D(r),children:[t.jsx("div",{className:re("shrink-0 size-3 rounded-full",gt(r.label))}),t.jsx("p",{className:"text-sm font-medium truncate flex-1",children:r.label}),t.jsxs(as,{children:[t.jsx(cs,{asChild:!0,children:t.jsx(ee,{variant:"ghost",size:"icon",className:re("size-5 shrink-0 transition-opacity opacity-0 pointer-events-none","group-hover:opacity-100 group-hover:pointer-events-auto",b&&"opacity-100 pointer-events-auto"),onClick:$=>$.stopPropagation(),children:t.jsx(Xs,{size:14})})}),t.jsx(ds,{align:"end",children:t.jsxs(Ke,{className:"text-destructive",onClick:$=>{$.stopPropagation(),te(r)},children:[t.jsx(ws,{size:16}),"Delete"]})})]})]},r.id)}),c&&t.jsxs("div",{className:"flex items-center gap-2 px-2 py-1.5 rounded-lg overflow-hidden bg-accent",children:[t.jsx("div",{className:"shrink-0 size-3 rounded-full bg-neutral-400"}),t.jsx(Js,{...d.register("role.label"),placeholder:"Enter role name",className:"flex-1 text-sm font-medium border-0 shadow-none h-auto px-0 py-0 focus-visible:ring-0 bg-transparent",autoFocus:!0}),t.jsx(ve,{variant:"secondary",className:"shrink-0 text-xs px-1.5 py-0",children:"New"})]})]})}),t.jsx("div",{className:"px-3.5 pb-3.5",children:t.jsxs(ee,{variant:"outline",size:"default",onClick:E,disabled:Q||f,className:"w-full h-10",children:[t.jsx(ss,{size:16}),"Create new role"]})})]}),t.jsxs("div",{className:"flex-1 flex flex-col min-w-0",children:[t.jsxs("div",{className:"h-12 border-b border-border px-4 py-3.5 flex items-center gap-2 shrink-0",children:[!N&&t.jsx(ee,{variant:"outline",size:"sm",onClick:()=>o("mcp"),className:re("h-8 rounded-lg px-2 py-1",a==="mcp"?"bg-muted border-input text-foreground":"border-input text-muted-foreground bg-transparent"),children:"MCP Permissions"}),t.jsx(ee,{variant:"outline",size:"sm",onClick:()=>o("org"),className:re("h-8 rounded-lg px-2 py-1",a==="org"?"bg-muted border-input text-foreground":"border-input text-muted-foreground bg-transparent"),children:"Organization Permissions"}),t.jsx(ee,{variant:"outline",size:"sm",onClick:()=>o("members"),className:re("h-8 rounded-lg px-2 py-1",a==="members"?"bg-muted border-input text-foreground":"border-input text-muted-foreground bg-transparent"),children:"Members"})]}),t.jsxs("div",{className:"flex-1 overflow-hidden min-h-0",children:[a==="mcp"&&!N&&t.jsx(Vs,{toolSet:d.watch("toolSet"),onToolSetChange:r=>d.setValue("toolSet",r,{shouldDirty:!0})}),a==="org"&&t.jsx(pt,{allowAllStaticPermissions:d.watch("allowAllStaticPermissions"),staticPermissions:d.watch("staticPermissions"),onAllowAllChange:r=>d.setValue("allowAllStaticPermissions",r,{shouldDirty:!0}),onPermissionsChange:r=>d.setValue("staticPermissions",r,{shouldDirty:!0}),readOnly:!!N}),a==="members"&&t.jsx(It,{memberIds:d.watch("memberIds"),onMemberIdsChange:r=>d.setValue("memberIds",r,{shouldDirty:!0}),readOnly:N==="owner"})]}),(!N||N!=="owner")&&t.jsxs("div",{className:"border-t border-border px-5 py-5 flex items-center justify-end gap-2.5 shrink-0",children:[t.jsx(ee,{variant:"outline",onClick:()=>M(!1),disabled:Q,className:"h-10",children:"Cancel"}),t.jsx(ee,{onClick:ne,disabled:Q||!I||!d.formState.isDirty,className:"h-10",children:F.isPending?"Saving...":c?"Create Role":"Save Changes"})]})]})]})}),t.jsx(Ee,{open:v!==null,onOpenChange:r=>!r&&S(null),children:t.jsxs(Te,{children:[t.jsxs(Ie,{children:[t.jsx(Se,{children:"Delete Role"}),t.jsxs(ye,{children:['Are you sure you want to delete the "',v?.label,'" role? This action cannot be undone.']})]}),t.jsxs(Oe,{children:[t.jsx(Ae,{children:"Cancel"}),t.jsx(we,{onClick:k,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:"Delete"})]})]})}),t.jsx(Ee,{open:L,onOpenChange:y,children:t.jsxs(Te,{children:[t.jsxs(Ie,{children:[t.jsx(Se,{children:"Discard Changes"}),t.jsx(ye,{children:"You have unsaved changes. Are you sure you want to discard them?"})]}),t.jsxs(Oe,{children:[t.jsx(Ae,{onClick:()=>A(null),children:"Keep Editing"}),t.jsx(we,{onClick:G,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:"Discard"})]})]})})]})}const Ot=ue().email("Invalid email address");function At(s){if(!s.trim())return[];const e=s.split(/[,;\n]/).map(n=>n.trim().toLowerCase()).filter(n=>n.length>0);return Array.from(new Set(e))}function wt({trigger:s}){const[e,n]=V.useState(!1),{locator:i}=je(),a=qe(),{data:o}=J.useSession(),h=o?.user?.email,{roles:l,isLoading:g}=us(),j=l.filter(p=>p.role!=="owner"),u=Ts({mode:"onChange",defaultValues:{emailsText:"",role:"user"}}),O=u.watch("emailsText"),d=u.watch("role"),f=At(O).filter(p=>{const c=Ot.safeParse(p).success,v=!h||p!==h.toLowerCase();return c&&v}),C=fe({mutationFn:async({emails:p,role:c})=>{if(!c)throw new Error("Please select a role");const v=await Promise.allSettled(p.map(async L=>{const y=await J.organization.inviteMember({email:L,role:c});if(y.error)throw new Error(y.error.message);return y.data})),S=v.filter(L=>L.status==="rejected");if(S.length>0)throw new Error(`Failed to invite ${S.length} member${S.length>1?"s":""}`);return v},onSuccess:(p,{emails:c})=>{a.invalidateQueries({queryKey:le.members(i)}),a.invalidateQueries({queryKey:le.invitations(i)}),W.success(c.length===1?"Member invited successfully!":`${c.length} members invited successfully!`),u.reset({emailsText:"",role:"user"}),n(!1)},onError:p=>{W.error(p instanceof Error?p.message:"Failed to invite members")}}),x=p=>{if(f.length===0){W.error("Please enter at least one valid email address");return}if(!p.role){W.error("Please select a role");return}C.mutate({emails:f,role:p.role})},N=f.length>0&&!!d;return t.jsxs(Ss,{open:e,onOpenChange:n,children:[t.jsx(ys,{asChild:!0,children:s}),t.jsxs(Os,{className:"sm:max-w-lg",children:[t.jsx(Fs,{children:t.jsx(Ks,{children:"Invite members"})}),t.jsx(st,{...u,children:t.jsxs("form",{onSubmit:u.handleSubmit(x),className:"space-y-4",children:[t.jsx(gs,{control:u.control,name:"emailsText",render:({field:p})=>t.jsxs(ps,{children:[t.jsx(tt,{children:"Email addresses"}),t.jsx(xs,{children:t.jsx(nt,{...p,disabled:C.isPending,placeholder:`Enter email addresses separated by commas or new lines
2
- e.g. user1@example.com, user2@example.com
3
- or one per line`,className:"min-h-[120px] resize-none"})}),t.jsx(bs,{})]})}),t.jsx(gs,{control:u.control,name:"role",render:({field:p})=>t.jsxs(ps,{children:[t.jsx(xs,{children:t.jsxs(ts,{value:p.value,onValueChange:p.onChange,disabled:C.isPending||g,children:[t.jsx(ns,{className:"w-full",children:t.jsx(rs,{placeholder:"Select a role"})}),t.jsx(is,{children:j.map(c=>{const v=[];return c.isBuiltin||(c.allowsAllStaticPermissions?v.push("Full org access"):c.staticPermissionCount&&c.staticPermissionCount>0&&v.push(`${c.staticPermissionCount} org perm${c.staticPermissionCount!==1?"s":""}`),c.allowsAllConnections?v.push("All connections"):c.connectionCount&&c.connectionCount>0&&v.push(`${c.connectionCount} connection${c.connectionCount!==1?"s":""}`),(c.connectionCount!==0||c.allowsAllConnections)&&(c.allowsAllTools?v.push("all tools"):c.toolCount&&c.toolCount>0&&v.push(`${c.toolCount} tool${c.toolCount!==1?"s":""}`))),t.jsx(os,{value:c.role,children:t.jsxs("div",{className:"flex flex-col",children:[t.jsx("span",{children:c.label}),!c.isBuiltin&&v.length>0&&t.jsx("span",{className:"text-xs text-muted-foreground",children:v.join(", ")})]})},c.role)})})]})}),t.jsx(bs,{})]})}),t.jsxs(Qs,{children:[t.jsx(ee,{variant:"outline",onClick:()=>{u.reset({emailsText:"",role:"user"}),n(!1)},type:"button",disabled:C.isPending,children:"Cancel"}),t.jsx(ee,{type:"submit",disabled:C.isPending||!N,children:C.isPending?"Inviting...":`Invite ${f.length||0} Member${f.length!==1?"s":""}`})]})]})})]})]})}function Rt(){const s=de.c(12),{org:e,locator:n}=je();let i;s[0]!==e.id?(i=rt.SELF(e.id),s[0]=e.id,s[1]=i):i=s[1];let a;s[2]!==e.id||s[3]!==i?(a={connectionId:i,orgId:e.id},s[2]=e.id,s[3]=i,s[4]=a):a=s[4];const o=it(a);let h;s[5]!==n?(h=le.invitations(n),s[5]=n,s[6]=h):h=s[6];let l;s[7]!==o?(l=async()=>{const j=await o.callTool({name:"ORGANIZATION_GET",arguments:{}});return(j.structuredContent??j)?.invitations??[]},s[7]=o,s[8]=l):l=s[8];let g;return s[9]!==h||s[10]!==l?(g={queryKey:h,queryFn:l},s[9]=h,s[10]=l,s[11]=g):g=s[11],ks(g)}function _t(){const s=de.c(5),{locator:e}=je(),n=qe();let i;s[0]!==e||s[1]!==n?(i={mutationFn:Pt,onSuccess:()=>{n.invalidateQueries({queryKey:le.invitations(e)}),W.success("Invitation cancelled")},onError:Lt},s[0]=e,s[1]=n,s[2]=i):i=s[2];const a=fe(i);let o;return s[3]!==a?(o={cancel:a},s[3]=a,s[4]=o):o=s[4],o}function Lt(s){W.error(s instanceof Error?s.message:"Failed to cancel invitation")}async function Pt(s){const e=await J.organization.cancelInvitation({invitationId:s});if(e?.error)throw new Error(e.error.message);return e.data}const Ns=["bg-neutral-400","bg-red-500","bg-orange-500","bg-amber-500","bg-yellow-500","bg-lime-500","bg-green-500","bg-emerald-500","bg-teal-500","bg-cyan-500","bg-sky-500","bg-blue-500","bg-indigo-500","bg-violet-500","bg-purple-500","bg-fuchsia-500","bg-pink-500","bg-rose-500","bg-slate-500"],Mt={owner:"bg-red-500",admin:"bg-blue-500",user:"bg-green-500"};function Qe(s){return s?s.split(" ").map(e=>e[0]).join("").toUpperCase().slice(0,2):"?"}function Dt(s){const e=new Map;for(const[n,i]of Object.entries(Mt))e.set(n,i);for(let n=0;n<s.length;n++){const i=s[n];i&&!e.has(i.role)&&e.set(i.role,Ns[n%Ns.length]??"bg-neutral-400")}return e}function zt(s){return new Date(s).toLocaleDateString("en-US",{year:"numeric",month:"long",day:"numeric"})}function Fe(s){const e=de.c(79),{role:n,memberId:i,isOwner:a,roleColorMap:o,selectableRoles:h,onRoleChange:l,size:g,className:j}=s,u=g===void 0?"xs":g;let O,d,I,f,C,x,N,p,c,v,S;if(e[0]!==j||e[1]!==a||e[2]!==i||e[3]!==l||e[4]!==n||e[5]!==o||e[6]!==h||e[7]!==u){S=Symbol.for("react.early_return_sentinel");e:{const E=o.get(n)??"bg-neutral-400";if(a){let m;e[19]!==i||e[20]!==l?(m=k=>l(i,k),e[19]=i,e[20]=l,e[21]=m):m=e[21];let M;e[22]!==n?(M=t.jsx("span",{className:"capitalize truncate",children:n}),e[22]=n,e[23]=M):M=e[23];const G=t.jsxs("div",{className:"flex items-center gap-2 min-w-0",children:[t.jsx("div",{className:re("size-2 rounded-full shrink-0",E)}),M]});let se;e[24]!==G?(se=t.jsx(rs,{children:G}),e[24]=G,e[25]=se):se=e[25];let F;e[26]!==j||e[27]!==u||e[28]!==se?(F=t.jsx(ns,{size:u,className:j,children:se}),e[26]=j,e[27]=u,e[28]=se,e[29]=F):F=e[29];let K;if(e[30]!==o||e[31]!==h){let k;e[33]!==o?(k=r=>{const b=o.get(r.role)??"bg-neutral-400";return t.jsx(os,{value:r.role,children:t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx("div",{className:re("size-3 rounded-full",b)}),t.jsx("span",{className:"capitalize",children:r.label})]})},r.role)},e[33]=o,e[34]=k):k=e[34],K=h.map(k),e[30]=o,e[31]=h,e[32]=K}else K=e[32];let Q;e[35]!==K?(Q=t.jsx(is,{children:K}),e[35]=K,e[36]=Q):Q=e[36];let H;e[37]!==a||e[38]!==n||e[39]!==m||e[40]!==F||e[41]!==Q?(H=t.jsx(Le,{asChild:!0,children:t.jsx("div",{className:"w-fit",children:t.jsxs(ts,{value:n,onValueChange:m,disabled:a,children:[F,Q]})})}),e[37]=a,e[38]=n,e[39]=m,e[40]=F,e[41]=Q,e[42]=H):H=e[42];let ne;e[43]===Symbol.for("react.memo_cache_sentinel")?(ne=t.jsx(Pe,{children:t.jsx("p",{children:"The owner role cannot be changed"})}),e[43]=ne):ne=e[43];let te;e[44]!==H?(te=t.jsx(Re,{children:t.jsxs(_e,{children:[H,ne]})}),e[44]=H,e[45]=te):te=e[45],S=te;break e}I=ts,p=n,e[46]!==i||e[47]!==l?(c=m=>l(i,m),e[46]=i,e[47]=l,e[48]=c):c=e[48],v=a,d=ns,x=u,N=j,O=rs,C="flex items-center gap-2 min-w-0",f=re("size-2 rounded-full shrink-0",E)}e[0]=j,e[1]=a,e[2]=i,e[3]=l,e[4]=n,e[5]=o,e[6]=h,e[7]=u,e[8]=O,e[9]=d,e[10]=I,e[11]=f,e[12]=C,e[13]=x,e[14]=N,e[15]=p,e[16]=c,e[17]=v,e[18]=S}else O=e[8],d=e[9],I=e[10],f=e[11],C=e[12],x=e[13],N=e[14],p=e[15],c=e[16],v=e[17],S=e[18];if(S!==Symbol.for("react.early_return_sentinel"))return S;let L;e[49]!==f?(L=t.jsx("div",{className:f}),e[49]=f,e[50]=L):L=e[50];let y;e[51]!==n?(y=t.jsx("span",{className:"capitalize truncate",children:n}),e[51]=n,e[52]=y):y=e[52];let w;e[53]!==L||e[54]!==y||e[55]!==C?(w=t.jsxs("div",{className:C,children:[L,y]}),e[53]=L,e[54]=y,e[55]=C,e[56]=w):w=e[56];let A;e[57]!==O||e[58]!==w?(A=t.jsx(O,{children:w}),e[57]=O,e[58]=w,e[59]=A):A=e[59];let P;e[60]!==d||e[61]!==A||e[62]!==x||e[63]!==N?(P=t.jsx(d,{size:x,className:N,children:A}),e[60]=d,e[61]=A,e[62]=x,e[63]=N,e[64]=P):P=e[64];let T;if(e[65]!==o||e[66]!==h){let E;e[68]!==o?(E=m=>{const M=o.get(m.role)??"bg-neutral-400";return t.jsx(os,{value:m.role,children:t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx("div",{className:re("size-3 rounded-full",M)}),t.jsx("span",{className:"capitalize",children:m.label})]})},m.role)},e[68]=o,e[69]=E):E=e[69],T=h.map(E),e[65]=o,e[66]=h,e[67]=T}else T=e[67];let _;e[70]!==T?(_=t.jsx(is,{children:T}),e[70]=T,e[71]=_):_=e[71];let D;return e[72]!==I||e[73]!==P||e[74]!==_||e[75]!==p||e[76]!==c||e[77]!==v?(D=t.jsxs(I,{value:p,onValueChange:c,disabled:v,children:[P,_]}),e[72]=I,e[73]=P,e[74]=_,e[75]=p,e[76]=c,e[77]=v,e[78]=D):D=e[78],D}function vs(s){const e=de.c(51),{member:n,roles:i,onChangeRole:a,onRemove:o,isUpdating:h}=s,l=h===void 0?!1:h,g=n.role==="owner";let j,u,O,d,I,f,C,x,N;if(e[0]!==g||e[1]!==l||e[2]!==n.id||e[3]!==n.role||e[4]!==a||e[5]!==i){let P;e[15]!==n.role?(P=m=>m.role!==n.role&&m.role!=="owner",e[15]=n.role,e[16]=P):P=e[16];const T=i.filter(P);d=as;let _;e[17]===Symbol.for("react.memo_cache_sentinel")?(_=t.jsx(Rs,{size:20}),e[17]=_):_=e[17],e[18]!==g?(N=t.jsx(cs,{asChild:!0,children:t.jsx(ee,{variant:"ghost",size:"sm",className:"h-8 w-8 p-0",disabled:g,onClick:Ut,children:_})}),e[18]=g,e[19]=N):N=e[19],O=ds,C="end",x=kt,u=qs;let D;e[20]===Symbol.for("react.memo_cache_sentinel")?(D=t.jsx(_s,{size:16}),e[20]=D):D=e[20],e[21]!==l?(f=t.jsxs(Zs,{disabled:l,children:[D,"Change Role"]}),e[21]=l,e[22]=f):f=e[22],j=Hs;let E;e[23]!==l||e[24]!==n.id||e[25]!==a?(E=m=>{const M=[];return m.isBuiltin||(m.allowsAllStaticPermissions?M.push("Full org access"):m.staticPermissionCount&&m.staticPermissionCount>0&&M.push(`${m.staticPermissionCount} org perm${m.staticPermissionCount!==1?"s":""}`),m.allowsAllConnections?M.push("All connections"):m.connectionCount&&m.connectionCount>0&&M.push(`${m.connectionCount} connection${m.connectionCount!==1?"s":""}`),(m.connectionCount!==0||m.allowsAllConnections)&&(m.allowsAllTools?M.push("all tools"):m.toolCount&&m.toolCount>0&&M.push(`${m.toolCount} tool${m.toolCount!==1?"s":""}`))),t.jsxs(Ke,{onClick:G=>{G.stopPropagation(),a(n.id,m.role)},disabled:l,children:[m.isBuiltin?t.jsx(ms,{size:16}):t.jsx(ot,{size:16}),t.jsxs("span",{className:"flex flex-col",children:[t.jsx("span",{children:m.label}),!m.isBuiltin&&M.length>0&&t.jsx("span",{className:"text-xs text-muted-foreground",children:M.join(", ")})]})]},m.role)},e[23]=l,e[24]=n.id,e[25]=a,e[26]=E):E=e[26],I=T.map(E),e[0]=g,e[1]=l,e[2]=n.id,e[3]=n.role,e[4]=a,e[5]=i,e[6]=j,e[7]=u,e[8]=O,e[9]=d,e[10]=I,e[11]=f,e[12]=C,e[13]=x,e[14]=N}else j=e[6],u=e[7],O=e[8],d=e[9],I=e[10],f=e[11],C=e[12],x=e[13],N=e[14];let p;e[27]!==j||e[28]!==I?(p=t.jsx(j,{children:I}),e[27]=j,e[28]=I,e[29]=p):p=e[29];let c;e[30]!==u||e[31]!==f||e[32]!==p?(c=t.jsxs(u,{children:[f,p]}),e[30]=u,e[31]=f,e[32]=p,e[33]=c):c=e[33];let v;e[34]===Symbol.for("react.memo_cache_sentinel")?(v=t.jsx(Ys,{}),e[34]=v):v=e[34];let S;e[35]!==n.id||e[36]!==o?(S=P=>{P.stopPropagation(),o(n.id)},e[35]=n.id,e[36]=o,e[37]=S):S=e[37];let L;e[38]===Symbol.for("react.memo_cache_sentinel")?(L=t.jsx(ws,{size:16}),e[38]=L):L=e[38];let y;e[39]!==S?(y=t.jsxs(Ke,{variant:"destructive",onClick:S,children:[L,"Remove Member"]}),e[39]=S,e[40]=y):y=e[40];let w;e[41]!==O||e[42]!==y||e[43]!==C||e[44]!==x||e[45]!==c?(w=t.jsxs(O,{align:C,onClick:x,children:[c,v,y]}),e[41]=O,e[42]=y,e[43]=C,e[44]=x,e[45]=c,e[46]=w):w=e[46];let A;return e[47]!==d||e[48]!==w||e[49]!==N?(A=t.jsxs(d,{children:[N,w]}),e[47]=d,e[48]=w,e[49]=N,e[50]=A):A=e[50],A}function kt(s){return s.stopPropagation()}function Ut(s){return s.stopPropagation()}function Es(s){const e=de.c(8),{invitationId:n,onCancel:i,isCancelling:a}=s,o=a===void 0?!1:a;let h;e[0]===Symbol.for("react.memo_cache_sentinel")?(h=t.jsx(cs,{asChild:!0,children:t.jsx(ee,{variant:"ghost",size:"sm",className:"h-8 w-8 p-0",onClick:Vt,children:t.jsx(Rs,{size:20})})}),e[0]=h):h=e[0];let l;e[1]!==n||e[2]!==i?(l=u=>{u.stopPropagation(),i(n)},e[1]=n,e[2]=i,e[3]=l):l=e[3];let g;e[4]===Symbol.for("react.memo_cache_sentinel")?(g=t.jsx(lt,{size:16}),e[4]=g):g=e[4];let j;return e[5]!==o||e[6]!==l?(j=t.jsxs(as,{children:[h,t.jsx(ds,{align:"end",onClick:Bt,children:t.jsxs(Ke,{variant:"destructive",onClick:l,disabled:o,children:[g,"Cancel Invitation"]})})]}),e[5]=o,e[6]=l,e[7]=j):j=e[7],j}function Bt(s){return s.stopPropagation()}function Vt(s){return s.stopPropagation()}function Gt(){const s=de.c(74),{data:e}=ls(),{data:n}=Rt(),i=_t(),a=qe(),{locator:o}=je(),[h,l]=V.useState(null),[g,j]=V.useState(null),[u,O]=V.useState(""),[d,I]=V.useState("table"),[f,C]=V.useState("member"),[x,N]=V.useState("asc"),p=e?.data?.members;let c;s[0]!==f?(c=R=>{f===R?N(sn):(C(R),N("asc"))},s[0]=f,s[1]=c):c=s[1];const v=c;let S=p??[],L=n??[];if(u){const R=u.toLowerCase();S=S.filter(B=>B.user?.name?.toLowerCase().includes(R)||B.user?.email?.toLowerCase().includes(R)||B.role?.toLowerCase().includes(R)),L=L.filter(B=>B.email?.toLowerCase().includes(R)||B.role?.toLowerCase().includes(R))}if(f&&x){let R;s[2]!==x||s[3]!==f?(R=(B,X)=>{let ce,Ne;e:switch(f){case"member":{ce=B.user?.name||"",Ne=X.user?.name||"";break e}case"role":{ce=B.role||"",Ne=X.role||"";break e}case"joined":{ce=B.createdAt?typeof B.createdAt=="string"?B.createdAt:B.createdAt.toISOString():"",Ne=X.createdAt?typeof X.createdAt=="string"?X.createdAt:X.createdAt.toISOString():"";break e}default:return 0}return x==="asc"?ce.localeCompare(Ne):Ne.localeCompare(ce)},s[2]=x,s[3]=f,s[4]=R):R=s[4],S=[...S].sort(R)}const y=S;let w;s[5]!==o||s[6]!==a?(w={mutationFn:en,onSuccess:()=>{a.invalidateQueries({queryKey:le.members(o)}),W.success("Member has been removed from the organization"),l(null)},onError:Jt},s[5]=o,s[6]=a,s[7]=w):w=s[7];const A=fe(w);let P;s[8]!==o||s[9]!==a?(P={mutationFn:Wt,onSuccess:()=>{a.invalidateQueries({queryKey:le.members(o)}),W.success("Member's role has been updated")},onError:Xt},s[8]=o,s[9]=a,s[10]=P):P=s[10];const T=fe(P);let _;s[11]!==o||s[12]!==a?(_={mutationFn:Yt,onSuccess:()=>{a.invalidateQueries({queryKey:le.invitations(o)}),W.success("Invitation role has been updated")},onError:Ht},s[11]=o,s[12]=a,s[13]=_):_=s[13];const D=fe(_),{roles:E,customRoles:m}=us();let M;s[14]!==m?(M=Dt(m),s[14]=m,s[15]=M):M=s[15];const G=M;let se;s[16]!==E?(se=E.filter(Zt),s[16]=E,s[17]=se):se=s[17];const F=se;let K;s[18]===Symbol.for("react.memo_cache_sentinel")?(K={id:"member",header:"Member",render:qt,cellClassName:"flex-1 min-w-0",sortable:!0},s[18]=K):K=s[18];let Q;s[19]!==G||s[20]!==F||s[21]!==D||s[22]!==T?(Q={id:"role",header:"Role",render:R=>R.type==="member"?t.jsx(Fe,{role:R.data.role,memberId:R.data.id,isOwner:R.data.role==="owner",roleColorMap:G,selectableRoles:F,onRoleChange:(B,X)=>T.mutate({memberId:B,role:X}),className:"w-36"}):t.jsx(Fe,{role:R.data.role,memberId:R.data.id,isOwner:!1,roleColorMap:G,selectableRoles:F,onRoleChange:(B,X)=>D.mutate({invitationId:B,role:X,email:R.data.email}),className:"w-36"}),cellClassName:"w-36 shrink-0",sortable:!0},s[19]=G,s[20]=F,s[21]=D,s[22]=T,s[23]=Q):Q=s[23];let H;s[24]===Symbol.for("react.memo_cache_sentinel")?(H={id:"joined",header:"Joined",render:Qt,cellClassName:"w-48 shrink-0",sortable:!0},s[24]=H):H=s[24];let ne;s[25]!==i.cancel.isPending||s[26]!==E||s[27]!==T?(ne={id:"actions",header:"",render:R=>R.type==="member"?t.jsx(vs,{member:R.data,roles:E,onChangeRole:(B,X)=>T.mutate({memberId:B,role:X}),onRemove:l,isUpdating:T.isPending}):t.jsx(Es,{invitationId:R.data.id,onCancel:j,isCancelling:i.cancel.isPending}),cellClassName:"w-12 shrink-0"},s[25]=i.cancel.isPending,s[26]=E,s[27]=T,s[28]=ne):ne=s[28];let te;s[29]!==Q||s[30]!==ne?(te=[K,Q,H,ne],s[29]=Q,s[30]=ne,s[31]=te):te=s[31];const k=te;let r;s[32]===Symbol.for("react.memo_cache_sentinel")?(r=t.jsx(yt,{trigger:t.jsxs(ee,{variant:"outline",size:"sm",className:"h-7 px-3 rounded-lg text-sm font-medium",children:[t.jsx(ms,{size:16}),"Manage Roles"]})}),s[32]=r):r=s[32];let b;s[33]===Symbol.for("react.memo_cache_sentinel")?(b=t.jsxs("div",{className:"flex items-center gap-2",children:[r,t.jsx(wt,{trigger:t.jsx(ee,{size:"sm",children:"Invite Member"})})]}),s[33]=b):b=s[33];const $=b,oe=[...y.map(Kt),...L.filter(Ft).map($t)],ie=es,Y=!!g;let q;s[34]===Symbol.for("react.memo_cache_sentinel")?(q=()=>j(null),s[34]=q):q=s[34];let me;s[35]===Symbol.for("react.memo_cache_sentinel")?(me=t.jsxs(Ie,{children:[t.jsx(Se,{children:"Cancel Invitation"}),t.jsx(ye,{children:"Are you sure you want to cancel this invitation? The invitee will no longer be able to join the organization with this invitation."})]}),s[35]=me):me=s[35];let z;s[36]===Symbol.for("react.memo_cache_sentinel")?(z=t.jsx(Ae,{children:"Keep Invitation"}),s[36]=z):z=s[36];let U;s[37]!==i.cancel||s[38]!==g?(U=()=>{g&&(i.cancel.mutate(g),j(null))},s[37]=i.cancel,s[38]=g,s[39]=U):U=s[39];let Z;s[40]!==i.cancel.isPending||s[41]!==U?(Z=t.jsxs(Te,{children:[me,t.jsxs(Oe,{children:[z,t.jsx(we,{onClick:U,disabled:i.cancel.isPending,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:"Cancel Invitation"})]})]}),s[40]=i.cancel.isPending,s[41]=U,s[42]=Z):Z=s[42];let ae;s[43]!==Y||s[44]!==Z?(ae=t.jsx(Ee,{open:Y,onOpenChange:q,children:Z}),s[43]=Y,s[44]=Z,s[45]=ae):ae=s[45];const He=!!h;let Me;s[46]===Symbol.for("react.memo_cache_sentinel")?(Me=()=>l(null),s[46]=Me):Me=s[46];let De;s[47]===Symbol.for("react.memo_cache_sentinel")?(De=t.jsxs(Ie,{children:[t.jsx(Se,{children:"Remove Member"}),t.jsx(ye,{children:"Are you sure you want to remove this member from the organization? This action cannot be undone."})]}),s[47]=De):De=s[47];let ze;s[48]===Symbol.for("react.memo_cache_sentinel")?(ze=t.jsx(Ae,{children:"Cancel"}),s[48]=ze):ze=s[48];let he;s[49]!==h||s[50]!==A?(he=()=>h&&A.mutate(h),s[49]=h,s[50]=A,s[51]=he):he=s[51];let ge;s[52]!==A.isPending||s[53]!==he?(ge=t.jsxs(Te,{children:[De,t.jsxs(Oe,{children:[ze,t.jsx(we,{onClick:he,disabled:A.isPending,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:"Remove"})]})]}),s[52]=A.isPending,s[53]=he,s[54]=ge):ge=s[54];let pe;s[55]!==He||s[56]!==ge?(pe=t.jsx(Ee,{open:He,onOpenChange:Me,children:ge}),s[55]=He,s[56]=ge,s[57]=pe):pe=s[57];let ke;s[58]===Symbol.for("react.memo_cache_sentinel")?(ke=[{id:"member",label:"Name"},{id:"role",label:"Role"},{id:"joined",label:"Joined"}],s[58]=ke):ke=s[58];let xe;s[59]!==v||s[60]!==x||s[61]!==f||s[62]!==d?(xe=t.jsx(Us,{title:"Members",viewMode:d,onViewModeChange:I,sortKey:f,sortDirection:x,onSort:v,sortOptions:ke,ctaButton:$}),s[59]=v,s[60]=x,s[61]=f,s[62]=d,s[63]=xe):xe=s[63];let Ue;s[64]===Symbol.for("react.memo_cache_sentinel")?(Ue=R=>{R.key==="Escape"&&(O(""),R.target.blur())},s[64]=Ue):Ue=s[64];let be;s[65]!==u?(be=t.jsx(Ze,{value:u,onChange:O,placeholder:"Search members...",onKeyDown:Ue}),s[65]=u,s[66]=be):be=s[66];const Ye=d==="cards"?t.jsx("div",{className:"flex-1 overflow-auto p-5",children:oe.length===0?t.jsx(We,{title:"No members found",description:u?`No members match "${u}"`:"Invite members to get started."}):t.jsx("div",{className:"grid grid-cols-1 md:grid-cols-3 lg:grid-cols-4 gap-4",children:oe.map(R=>{if(R.type==="invitation")return t.jsxs(Cs,{className:"transition-colors relative opacity-75",children:[t.jsx("div",{className:"absolute top-4 right-4 z-10",children:t.jsx(Es,{invitationId:R.data.id,onCancel:j,isCancelling:i.cancel.isPending})}),t.jsxs("div",{className:"flex flex-col gap-4 p-6",children:[t.jsx(Ce,{fallback:Qe(R.data.email),shape:"circle",size:"lg",className:"shrink-0"}),t.jsxs("div",{className:"flex flex-col gap-2",children:[t.jsx("h3",{className:"text-base font-medium text-foreground truncate",children:R.data.email}),t.jsx("div",{className:"flex items-center gap-2",children:t.jsx(ve,{variant:"outline",className:"w-fit text-amber-600 border-amber-400",children:"Pending"})}),t.jsx(Fe,{role:R.data.role,memberId:R.data.id,isOwner:!1,roleColorMap:G,selectableRoles:F,onRoleChange:(X,ce)=>D.mutate({invitationId:X,role:ce,email:R.data.email}),className:"w-fit"})]})]})]},`inv-${R.data.id}`);const B=R.data;return t.jsxs(Cs,{className:"transition-colors relative",children:[t.jsx("div",{className:"absolute top-4 right-4 z-10",children:t.jsx(vs,{member:B,roles:E,onChangeRole:(X,ce)=>T.mutate({memberId:X,role:ce}),onRemove:l,isUpdating:T.isPending})}),t.jsxs("div",{className:"flex flex-col gap-4 p-6",children:[t.jsx(Ce,{url:B.user?.image??void 0,fallback:Qe(B.user?.name),shape:"circle",size:"lg",className:"shrink-0"}),t.jsxs("div",{className:"flex flex-col gap-2",children:[t.jsx("h3",{className:"text-base font-medium text-foreground truncate",children:B.user?.name||"Unknown"}),t.jsx("p",{className:"text-sm text-muted-foreground truncate",children:B.user?.email}),t.jsx(Fe,{role:B.role,memberId:B.id,isOwner:B.role==="owner",roleColorMap:G,selectableRoles:F,onRoleChange:(X,ce)=>T.mutate({memberId:X,role:ce}),className:"w-fit"})]})]})]},B.id)})})}):t.jsx(Bs,{columns:k,data:oe,isLoading:!1,sortKey:f,sortDirection:x,onSort:v,emptyState:u?t.jsx(We,{title:"No members found",description:`No members match "${u}"`}):t.jsx(We,{title:"No members found",description:"Invite members to get started."})});let Be;return s[67]!==ie||s[68]!==ae||s[69]!==pe||s[70]!==xe||s[71]!==be||s[72]!==Ye?(Be=t.jsxs(ie,{children:[ae,pe,xe,be,Ye]}),s[67]=ie,s[68]=ae,s[69]=pe,s[70]=xe,s[71]=be,s[72]=Ye,s[73]=Be):Be=s[73],Be}function $t(s){return{type:"invitation",data:s}}function Ft(s){return s.status==="pending"}function Kt(s){return{type:"member",data:s}}function Qt(s){return s.type==="member"?t.jsx("span",{className:"text-sm text-foreground",children:s.data.createdAt?zt(s.data.createdAt):"N/A"}):t.jsx(ve,{variant:"outline",children:"Pending"})}function qt(s){return s.type==="member"?t.jsxs("div",{className:"flex items-center gap-3",children:[t.jsx(Ce,{url:s.data.user?.image??void 0,fallback:Qe(s.data.user?.name),shape:"circle",size:"sm"}),t.jsxs("div",{className:"min-w-0",children:[t.jsx("div",{className:"text-sm font-medium text-foreground truncate",children:s.data.user?.name||"Unknown"}),t.jsx("div",{className:"text-sm text-muted-foreground truncate",children:s.data.user?.email})]})]}):t.jsxs("div",{className:"flex items-center gap-3",children:[t.jsx(Ce,{fallback:Qe(s.data.email),shape:"circle",size:"sm"}),t.jsxs("div",{className:"min-w-0",children:[t.jsx("div",{className:"text-sm font-medium text-foreground truncate",children:s.data.email}),t.jsx("div",{className:"text-sm text-muted-foreground truncate",children:"Invitation sent"})]})]})}function Zt(s){return s.role!=="owner"}function Ht(s){W.error(s instanceof Error?s.message:"Failed to update invitation role")}async function Yt(s){const{invitationId:e,role:n,email:i}=s,a=await J.organization.cancelInvitation({invitationId:e});if(a?.error)throw new Error(a.error.message);const o=await J.organization.inviteMember({email:i,role:n});if(o?.error)throw new Error(o.error.message)}function Xt(s){W.error(s instanceof Error?s.message:"Failed to update role")}async function Wt(s){const{memberId:e,role:n}=s,i=await J.organization.updateMemberRole({memberId:e,role:[n]});if(i?.error)throw new Error(i.error.message)}function Jt(s){W.error(s instanceof Error?s.message:"Failed to remove member")}async function en(s){const e=await J.organization.removeMember({memberIdOrEmail:s});if(e?.error)throw new Error(e.error.message)}function sn(s){return s==="asc"?"desc":s==="desc"?null:"asc"}function Yn(){const s=de.c(2);let e;s[0]===Symbol.for("react.memo_cache_sentinel")?(e=t.jsx(es,{children:t.jsx("div",{className:"flex items-center justify-center h-full",children:t.jsx("div",{className:"text-sm text-muted-foreground",children:"Failed to load members"})})}),s[0]=e):e=s[0];let n;return s[1]===Symbol.for("react.memo_cache_sentinel")?(n=t.jsx(et,{fallback:e,children:t.jsx(V.Suspense,{fallback:t.jsx(es,{children:t.jsx("div",{className:"flex items-center justify-center h-full",children:t.jsx(As,{size:32,className:"animate-spin text-muted-foreground"})})}),children:t.jsx(Gt,{})})}),s[1]=n):n=s[1],n}export{Yn as default};
@@ -1 +0,0 @@
1
- import{c as d}from"./index-DimTMp-G.js";import{u as l}from"./virtual-mcp-Dyh0Ag7o.js";import{a as f,b as a,c as m}from"./use-collections-Vpvt2q4e.js";import{W as r,u}from"./constants-DqnLzZpL.js";function E(t){const o=d.c(7);let i;o[0]!==t?(i=t===void 0?{}:t,o[0]=t,o[1]=i):i=o[1];const n=i,{org:e}=l();let s;o[2]!==e.id?(s=r.SELF(e.id),o[2]=e.id,o[3]=s):s=o[3];let c;o[4]!==e.id||o[5]!==s?(c={connectionId:s,orgId:e.id},o[4]=e.id,o[5]=s,o[6]=c):c=o[6];const C=u(c);return f(e.id,"CONNECTIONS",C,n)}function O(t){const o=d.c(5),{org:i}=l();let n;o[0]!==i.id?(n=r.SELF(i.id),o[0]=i.id,o[1]=n):n=o[1];let e;o[2]!==i.id||o[3]!==n?(e={connectionId:n,orgId:i.id},o[2]=i.id,o[3]=n,o[4]=e):e=o[4];const s=u(e);return m(i.id,"CONNECTIONS",t,s)}function S(){const t=d.c(5),{org:o}=l();let i;t[0]!==o.id?(i=r.SELF(o.id),t[0]=o.id,t[1]=i):i=t[1];let n;t[2]!==o.id||t[3]!==i?(n={connectionId:i,orgId:o.id},t[2]=o.id,t[3]=i,t[4]=n):n=t[4];const e=u(n);return a(o.id,"CONNECTIONS",e)}export{E as a,O as b,S as u};
@@ -1 +0,0 @@
1
- import{c as d,i as E,E as O,K as g}from"./index-DimTMp-G.js";import{u as A}from"./useMutation-d4_WWA7-.js";import{u as p}from"./virtual-mcp-Dyh0Ag7o.js";import{W as T,u as y}from"./constants-DqnLzZpL.js";function D(e){const t=d.c(13),{org:u}=p();let s;t[0]!==u.id?(s=T.SELF(u.id),t[0]=u.id,t[1]=s):s=t[1];let i;t[2]!==u.id||t[3]!==s?(i={connectionId:s,orgId:u.id},t[2]=u.id,t[3]=s,t[4]=i):i=t[4];const c=y(i);let r;t[5]!==e?(r=g.organizationSettings(e),t[5]=e,t[6]=r):r=t[6];let n;t[7]!==c||t[8]!==e?(n=async()=>{const f=await c.callTool({name:"ORGANIZATION_SETTINGS_GET",arguments:{}}),o=f.structuredContent??f;return o||{organizationId:e,sidebar_items:null,enabled_plugins:null,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString()}},t[7]=c,t[8]=e,t[9]=n):n=t[9];let l;t[10]!==r||t[11]!==n?(l={queryKey:r,queryFn:n,staleTime:6e4},t[10]=r,t[11]=n,t[12]=l):l=t[12];const{data:a}=E(l);return a}function F(e){const t=d.c(16),u=O(),{org:s}=p();let i;t[0]!==s.id?(i=T.SELF(s.id),t[0]=s.id,t[1]=i):i=t[1];let c;t[2]!==s.id||t[3]!==i?(c={connectionId:i,orgId:s.id},t[2]=s.id,t[3]=i,t[4]=c):c=t[4];const r=y(c);let n;t[5]!==r||t[6]!==e?(n=async m=>{const S=await r.callTool({name:"ORGANIZATION_SETTINGS_UPDATE",arguments:{organizationId:e,...m}});return S.structuredContent??S},t[5]=r,t[6]=e,t[7]=n):n=t[7];let l;t[8]!==e||t[9]!==u?(l=m=>{u.setQueryData(g.organizationSettings(e),m)},t[8]=e,t[9]=u,t[10]=l):l=t[10];let a;t[11]!==n||t[12]!==l?(a={mutationFn:n,onSuccess:l},t[11]=n,t[12]=l,t[13]=a):a=t[13];const f=A(a);let o;return t[14]!==f?(o={update:f},t[14]=f,t[15]=o):o=t[15],o}export{F as a,D as u};
@@ -1 +0,0 @@
1
- import{c as d}from"./index-DimTMp-G.js";import{u as l}from"./virtual-mcp-Dyh0Ag7o.js";import{a as C,b as f,c as m}from"./use-collections-Vpvt2q4e.js";import{W as r,u}from"./constants-DqnLzZpL.js";function V(o){const i=d.c(7);let t;i[0]!==o?(t=o===void 0?{}:o,i[0]=o,i[1]=t):t=i[1];const n=t,{org:e}=l();let s;i[2]!==e.id?(s=r.SELF(e.id),i[2]=e.id,i[3]=s):s=i[3];let c;i[4]!==e.id||i[5]!==s?(c={connectionId:s,orgId:e.id},i[4]=e.id,i[5]=s,i[6]=c):c=i[6];const a=u(c);return C(e.id,"VIRTUAL_MCP",a,n)}function g(o){const i=d.c(5),{org:t}=l();let n;i[0]!==t.id?(n=r.SELF(t.id),i[0]=t.id,i[1]=n):n=i[1];let e;i[2]!==t.id||i[3]!==n?(e={connectionId:n,orgId:t.id},i[2]=t.id,i[3]=n,i[4]=e):e=i[4];const s=u(e);return m(t.id,"VIRTUAL_MCP",o??void 0,s)}function L(){const o=d.c(5),{org:i}=l();let t;o[0]!==i.id?(t=r.SELF(i.id),o[0]=i.id,o[1]=t):t=o[1];let n;o[2]!==i.id||o[3]!==t?(n={connectionId:t,orgId:i.id},o[2]=i.id,o[3]=t,o[4]=n):n=o[4];const e=u(n);return f(i.id,"VIRTUAL_MCP",e)}export{L as a,g as b,V as u};
@@ -1 +0,0 @@
1
- import{I as u}from"./infiniteQueryObserver-DeWE7Mv6.js";import{N as i}from"./index-DimTMp-G.js";function t(e,r){return i(e,u,r)}export{t as u};
@@ -1 +0,0 @@
1
- import{N as u,Q as s}from"./index-DimTMp-G.js";function o(e,r){return u(e,s,r)}export{o as u};