decocms 2.282.1 → 2.282.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client/assets/{AlertCircle-CJ_7BsPP.js → AlertCircle-i753hIUr.js} +1 -1
- package/dist/client/assets/{ArrowNarrowLeft-DtS9FYAN.js → ArrowNarrowLeft-DyneV8jh.js} +1 -1
- package/dist/client/assets/{CheckCircle-smRbUGaN.js → CheckCircle-BDNIuV_g.js} +1 -1
- package/dist/client/assets/{ChevronDown-xWqM1qJV.js → ChevronDown-vRDN8zoj.js} +1 -1
- package/dist/client/assets/{ChevronRight-BCgvkwtC.js → ChevronRight-P2x5wJJp.js} +1 -1
- package/dist/client/assets/{ChevronUp-CrL9TH1K.js → ChevronUp-Dg737K7F.js} +1 -1
- package/dist/client/assets/{Container-B7M87Wz6.js → Container-DsC3rtEa.js} +1 -1
- package/dist/client/assets/{LinkExternal01-DLKyZWWz.js → LinkExternal01-Cw9xV77y.js} +1 -1
- package/dist/client/assets/{Lock01-bZF1KUvq.js → Lock01-B4C5ICSW.js} +1 -1
- package/dist/client/assets/{Palette-Dl7lzquw.js → Palette-CxbsG8jb.js} +1 -1
- package/dist/client/assets/{Play-DtJ0cxBf.js → Play-F_qMNNeX.js} +1 -1
- package/dist/client/assets/{Plus-IUiAby9e.js → Plus-BM77-3yZ.js} +1 -1
- package/dist/client/assets/{SearchMd-A2WzjBhy.js → SearchMd-BQ703EvX.js} +1 -1
- package/dist/client/assets/{Settings02-uCCFk89X.js → Settings02-CZ-RzoRL.js} +1 -1
- package/dist/client/assets/{Star01-07LmVEi1.js → Star01-D8uixfU7.js} +1 -1
- package/dist/client/assets/{Sun-NZLaiUcL.js → Sun-Dzvpwc78.js} +1 -1
- package/dist/client/assets/{Tool01-1Tm6sx2D.js → Tool01-DV6LLMyv.js} +1 -1
- package/dist/client/assets/{Trash01-2of3D7QX.js → Trash01-DeQUJecj.js} +1 -1
- package/dist/client/assets/{Upload01-BPC1olzj.js → Upload01-C7vhn2fS.js} +1 -1
- package/dist/client/assets/{User01-Dj2-no-V.js → User01-CFTuPOYw.js} +1 -1
- package/dist/client/assets/{Users03-B_ZFhEj7.js → Users03-AWMGi4Xo.js} +1 -1
- package/dist/client/assets/{X-BXQFKahF.js → X-B19qdsWt.js} +1 -1
- package/dist/client/assets/{XCircle-ByksmUze.js → XCircle-Cu_m9KsD.js} +1 -1
- package/dist/client/assets/{Zap-Ct-Bt-7a.js → Zap-kmaaq3eG.js} +1 -1
- package/dist/client/assets/{ZapSquare-CLlEU1BK.js → ZapSquare-Bzu6OwXc.js} +1 -1
- package/dist/client/assets/{accordion-CBx4kF0A.js → accordion-Bcqp7xWC.js} +1 -1
- package/dist/client/assets/{agent-icon-uOxmWZzX.js → agent-icon-FJlZxNBT.js} +1 -1
- package/dist/client/assets/{agents-list-c4HvLnHM.js → agents-list-BzpReqDX.js} +1 -1
- package/dist/client/assets/ai-providers-BxK1xIaH.js +1 -0
- package/dist/client/assets/{alert-dialog-P8pjafE2.js → alert-dialog-BJ0hwa2l.js} +1 -1
- package/dist/client/assets/{auth-catchall-8f9iLpUP.js → auth-catchall-CGjZNqai.js} +1 -1
- package/dist/client/assets/{automation-list-row-BDBawYyn.js → automation-list-row-GPd6_cjS.js} +1 -1
- package/dist/client/assets/{automations-C_zdEQX8.js → automations-CXyF6Wr3.js} +1 -1
- package/dist/client/assets/{avatar-F9o71OJ0.js → avatar-BeRTzZHX.js} +1 -1
- package/dist/client/assets/{badge-D2Q0fk8p.js → badge-OuHAk68F.js} +1 -1
- package/dist/client/assets/{brand-context-CW58R34a.js → brand-context-CAuLcp_u.js} +1 -1
- package/dist/client/assets/{card-fcmwdw-g.js → card-64W2yOQo.js} +1 -1
- package/dist/client/assets/{chat-context-CXS-qe2G.js → chat-context-BQqGEJhg.js} +1 -1
- package/dist/client/assets/{checkbox-CqcJoypg.js → checkbox-Cx3RPx8a.js} +1 -1
- package/dist/client/assets/{collection-detail-DhZtELgd.js → collection-detail-ztCad3qg.js} +1 -1
- package/dist/client/assets/{collection-display-button-CgNICB5x.js → collection-display-button-CLTxoM3d.js} +1 -1
- package/dist/client/assets/{collection-search-BhW0WppR.js → collection-search-CcNzJi6D.js} +1 -1
- package/dist/client/assets/{collection-table-wrapper-rCxyye9m.js → collection-table-wrapper-BzqYYOAP.js} +1 -1
- package/dist/client/assets/{collection-tabs-CCiykiFm.js → collection-tabs-DD0Qt8TU.js} +1 -1
- package/dist/client/assets/{collections-C5k4gitm.js → collections-BpO3SJDN.js} +1 -1
- package/dist/client/assets/{command-Bap7RtnO.js → command-rQqgIdbd.js} +1 -1
- package/dist/client/assets/{connection-card-CAIl5zuH.js → connection-card-DKlghzN6.js} +1 -1
- package/dist/client/assets/{connection-detail-C-murm81.js → connection-detail-nptsFfMw.js} +1 -1
- package/dist/client/assets/{connection-form-helpers-Kb2X2zWy.js → connection-form-helpers-ByqGzB7q.js} +1 -1
- package/dist/client/assets/{connections-BUYyasfH.js → connections-CAWxy7P8.js} +1 -1
- package/dist/client/assets/{constants-Cz3vSCG9.js → constants-CN6Il9QM.js} +1 -1
- package/dist/client/assets/{constants-BYqEB04Y.js → constants-DBlKftLg.js} +1 -1
- package/dist/client/assets/{dialog-BEtDzaNY.js → dialog-BG20y4ti.js} +1 -1
- package/dist/client/assets/{drawer-BXhHhfPv.js → drawer-Gt9dvwHd.js} +1 -1
- package/dist/client/assets/{dropdown-menu-CPrJeiSb.js → dropdown-menu-D_gbsFgj.js} +1 -1
- package/dist/client/assets/{dynamic-plugin-layout-B3frXkTC.js → dynamic-plugin-layout-DUhVE3zr.js} +1 -1
- package/dist/client/assets/{empty-state-D17b8ueP.js → empty-state-B4p5HAyS.js} +1 -1
- package/dist/client/assets/{empty-state-QyaCdfZt.js → empty-state-YlXuIlyl.js} +1 -1
- package/dist/client/assets/{extract-connection-data-Df_ti4Xy.js → extract-connection-data-BkUkPjk1.js} +1 -1
- package/dist/client/assets/{features-DpwKJvfV.js → features-ZB9YPD6T.js} +1 -1
- package/dist/client/assets/{form-CyOS6D3q.js → form-DVLM8o8l.js} +1 -1
- package/dist/client/assets/{general-BXFZtoDZ.js → general-BSRTvN4z.js} +1 -1
- package/dist/client/assets/{index-C6iu8syV.js → index-B3NgIo6R.js} +1 -1
- package/dist/client/assets/{index-CpMJ05u5.js → index-B9tg__2J.js} +1 -1
- package/dist/client/assets/{index-C27Pbex0.js → index-BR4Tv9I4.js} +2 -2
- package/dist/client/assets/{index-DYJpZ_hI.js → index-BZ-_pOxX.js} +1 -1
- package/dist/client/assets/{index-FD-g03rr.js → index-B_9MykSP.js} +1 -1
- package/dist/client/assets/{index-B6nAXVWE.js → index-BejE17RG.js} +1 -1
- package/dist/client/assets/{index-D2u00J0R.js → index-Bpfr1gkL.js} +5 -5
- package/dist/client/assets/{index-DsXJm4s8.js → index-BxuUqWWJ.js} +1 -1
- package/dist/client/assets/{index-tiUiHjMI.js → index-CvjwIR23.js} +1 -1
- package/dist/client/assets/{index-CjRdG1Vp.js → index-DWgdGM2y.js} +1 -1
- package/dist/client/assets/{infiniteQueryObserver-Bm_4nXxh.js → infiniteQueryObserver-DjdUCzEf.js} +1 -1
- package/dist/client/assets/{input-BMDCCsVs.js → input-C6wlfqbz.js} +1 -1
- package/dist/client/assets/{integration-icon-gIhUX9GC.js → integration-icon-EHHTVGeJ.js} +1 -1
- package/dist/client/assets/{label-2vBVhIzi.js → label-CMuBjs0l.js} +1 -1
- package/dist/client/assets/{layout-BU5OyVXS.js → layout-BvulCiLM.js} +1 -1
- package/dist/client/assets/{lean-canvas-recruit-modal-BpJpmMV7.js → lean-canvas-recruit-modal-D54L-ueX.js} +1 -1
- package/dist/client/assets/{login-mUATXvn9.js → login-VLvQus3r.js} +1 -1
- package/dist/client/assets/{members-CEd1LJk0.js → members-Tmd-6nti.js} +1 -1
- package/dist/client/assets/{monaco-editor-BnguFt9B.js → monaco-editor-BIIx6Osu.js} +1 -1
- package/dist/client/assets/{monitoring-stats-row-DRhzCagY.js → monitoring-stats-row-DfQoN4dU.js} +1 -1
- package/dist/client/assets/{oauth-callback-BeAxhA0O.js → oauth-callback-COaviXzZ.js} +1 -1
- package/dist/client/assets/{oauth-callback-ai-provider-BNMpbB2T.js → oauth-callback-ai-provider-CeDoTmGO.js} +1 -1
- package/dist/client/assets/{onboarding-DXyWyIV-.js → onboarding-DMIifXKD.js} +1 -1
- package/dist/client/assets/{org-layout-DJZ7Z_p1.js → org-layout-CkCSATkV.js} +1 -1
- package/dist/client/assets/{org-plugin-layout-nQpaPqCP.js → org-plugin-layout-lYj2r1Ln.js} +1 -1
- package/dist/client/assets/{plugin-empty-state-D4pz75Eg.js → plugin-empty-state-BCI2akiJ.js} +1 -1
- package/dist/client/assets/{plugin-header-D_Oa6gN8.js → plugin-header--LbVNTsl.js} +1 -1
- package/dist/client/assets/{plugin-layout-csD4Blom.js → plugin-layout-Dhbi8qfO.js} +1 -1
- package/dist/client/assets/{popover-C6ihUqMx.js → popover-DL7_3A88.js} +1 -1
- package/dist/client/assets/{profile-725q4zwE.js → profile-CYehHV8y.js} +1 -1
- package/dist/client/assets/{project-app-view-BgI1ObN0.js → project-app-view-B680Vk1Z.js} +1 -1
- package/dist/client/assets/registry-D5sX2gio.js +2 -0
- package/dist/client/assets/{registry-layout-CZiwWJ4l.js → registry-layout-CEoOd_Wq.js} +1 -1
- package/dist/client/assets/{required-auth-layout-DYZPY8fJ.js → required-auth-layout-9J8EILU3.js} +1 -1
- package/dist/client/assets/{reset-password-D92BxTuZ.js → reset-password-CzSWUiKA.js} +1 -1
- package/dist/client/assets/{scroll-area-BjkPDLjB.js → scroll-area-CrjX3IME.js} +1 -1
- package/dist/client/assets/{search-input-BsH-Fhn1.js → search-input-DmblMA4A.js} +1 -1
- package/dist/client/assets/{select-ByGBjkSM.js → select-BQ3zutkO.js} +1 -1
- package/dist/client/assets/{select-model-ipn8mtVw.js → select-model-Cbrp8hD-.js} +1 -1
- package/dist/client/assets/{settings-layout-DaVsMStD.js → settings-layout-BxZT4ePy.js} +1 -1
- package/dist/client/assets/{shell-layout-CBHcQlP6.js → shell-layout-DrONQ6vr.js} +1 -1
- package/dist/client/assets/{skeleton-CKW2-ArL.js → skeleton-CmnvTWJg.js} +1 -1
- package/dist/client/assets/{sso-GNLrvSnU.js → sso-Csn8t5YG.js} +1 -1
- package/dist/client/assets/{store-Bv7PRV1N.js → store-B5WMfqFO.js} +1 -1
- package/dist/client/assets/store-registry-MW9ZrAsP.js +2 -0
- package/dist/client/assets/{switch-D_oyEj-7.js → switch-CM_vPUzz.js} +1 -1
- package/dist/client/assets/{table-DmvqYMYA.js → table-S8IBqobR.js} +1 -1
- package/dist/client/assets/{tabs-CHeB-_P1.js → tabs-B14EKG0Q.js} +1 -1
- package/dist/client/assets/{task-status-CGy28UD5.js → task-status-CoVKDaYE.js} +1 -1
- package/dist/client/assets/{textarea-Bo2Nbyc2.js → textarea-Bxm5HSBV.js} +1 -1
- package/dist/client/assets/{toggle-group-hicYHCaj.js → toggle-group-xjN2RMip.js} +1 -1
- package/dist/client/assets/{tools-list-Bc5L72jI.js → tools-list-DqbhkVqY.js} +1 -1
- package/dist/client/assets/{types-Qy_lXSZi.js → types-DA2UHbyR.js} +1 -1
- package/dist/client/assets/{use-ai-providers-D5svCGwH.js → use-ai-providers-LqR26vuo.js} +1 -1
- package/dist/client/assets/{use-collections-C9mDhhDp.js → use-collections-Bo1B5pfj.js} +1 -1
- package/dist/client/assets/{use-connection-labJovV0.js → use-connection-NZXO3HH3.js} +1 -1
- package/dist/client/assets/{use-copy-C--xeydh.js → use-copy-BRihc-l2.js} +1 -1
- package/dist/client/assets/{use-create-virtual-mcp-Dmy-tzU3.js → use-create-virtual-mcp-DgwS04N8.js} +1 -1
- package/dist/client/assets/{use-decopilot-events-BQ6lKiUz.js → use-decopilot-events-cbOJk-u-.js} +1 -1
- package/dist/client/assets/{use-delete-connection-Bj5gBc4Q.js → use-delete-connection-_oGK4bpj.js} +1 -1
- package/dist/client/assets/{use-infinite-scroll-CSBdO1Tg.js → use-infinite-scroll-BE8Qm8G-.js} +1 -1
- package/dist/client/assets/{use-list-state-BjQoZx3U.js → use-list-state-CeUQEO5I.js} +1 -1
- package/dist/client/assets/{use-mcp-tools-C0TDyIdf.js → use-mcp-tools-DqNbK4tC.js} +1 -1
- package/dist/client/assets/{use-members-BJMZeTol.js → use-members-DH_gyd2k.js} +1 -1
- package/dist/client/assets/{use-mobile-49sQdb0b.js → use-mobile-UG3f-VUD.js} +1 -1
- package/dist/client/assets/{use-navigate-to-agent-DHv3qU4y.js → use-navigate-to-agent-CDgOtsNz.js} +1 -1
- package/dist/client/assets/{use-org-sso-DZn2rTnY.js → use-org-sso-eSfysoE_.js} +1 -1
- package/dist/client/assets/{use-organization-settings-BhA6YmfT.js → use-organization-settings-bbuIudaf.js} +1 -1
- package/dist/client/assets/{use-registry-connections-Bvn4-1Jy.js → use-registry-connections-DN_uk-6v.js} +1 -1
- package/dist/client/assets/{use-status-sounds-hwHn7ByT.js → use-status-sounds-e0qVVZe8.js} +1 -1
- package/dist/client/assets/{use-tasks-CEfchIrz.js → use-tasks-DkVJbPPF.js} +1 -1
- package/dist/client/assets/{use-view-mode-BZEJDQ3u.js → use-view-mode-BvSJEzBA.js} +1 -1
- package/dist/client/assets/{use-virtual-mcp-kjgk684A.js → use-virtual-mcp-Doro-WnT.js} +1 -1
- package/dist/client/assets/useInfiniteQuery-C5UYrvtb.js +1 -0
- package/dist/client/assets/{user-DxIuCi_O.js → user-DMxAeRCM.js} +1 -1
- package/dist/client/assets/{view-mode-toggle-KKeD1zNQ.js → view-mode-toggle-B0na2o09.js} +1 -1
- package/dist/client/assets/{workflow-3PvqRa7g.js → workflow-BOEOo5nq.js} +1 -1
- package/dist/client/assets/workflow-detail-IfcsUNZf.js +1 -0
- package/dist/client/index.html +1 -1
- package/dist/server/cli.js +1 -1
- package/package.json +1 -1
- package/dist/client/assets/ai-providers-DNv3Q1EX.js +0 -1
- package/dist/client/assets/registry-DiyPXzzy.js +0 -2
- package/dist/client/assets/store-registry-IxsRTF9k.js +0 -2
- package/dist/client/assets/useInfiniteQuery-Bices_FL.js +0 -1
- package/dist/client/assets/workflow-detail-BLyd9EdB.js +0 -1
- package/dist/server/node_modules/ansi-styles/index.d.ts +0 -236
- package/dist/server/node_modules/ansi-styles/index.js +0 -223
- package/dist/server/node_modules/ansi-styles/license +0 -9
- package/dist/server/node_modules/ansi-styles/package.json +0 -54
- package/dist/server/node_modules/ansi-styles/readme.md +0 -173
- package/dist/server/node_modules/postgres-array/index.d.ts +0 -4
- package/dist/server/node_modules/postgres-array/index.js +0 -97
- package/dist/server/node_modules/postgres-array/license +0 -21
- package/dist/server/node_modules/postgres-array/package.json +0 -35
- package/dist/server/node_modules/postgres-array/readme.md +0 -43
- package/dist/server/node_modules/postgres-bytea/index.js +0 -33
- package/dist/server/node_modules/postgres-bytea/license +0 -21
- package/dist/server/node_modules/postgres-bytea/package.json +0 -34
- package/dist/server/node_modules/postgres-bytea/readme.md +0 -34
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{r as B,e as oe,c as J,j as s,s as Ee,K as ue,aN as ss,l as Ue,B as le,n as mt,b as ge,v as At,aL as rt,y as Ie,aJ as vt,a$ as jt,o as Ve,x as Bt,w as ns,a as Ne,t as he,z as ae,V as rs,E as is}from"./index-C27Pbex0.js";import{C as os}from"./collection-display-button-CgNICB5x.js";import{S as ls}from"./search-input-BsH-Fhn1.js";import{P as Ge}from"./index-DsXJm4s8.js";import{C as as}from"./collection-table-wrapper-rCxyye9m.js";import{P as cs,D as ds}from"./ai-providers-logos-CS4PCiqI.js";import{I as Yt}from"./integration-icon-gIhUX9GC.js";import{u as ms}from"./use-infinite-scroll-CSBdO1Tg.js";import{C as Fe}from"./checkbox-CqcJoypg.js";import{i as us,b as gs}from"./SearchMd-A2WzjBhy.js";import{u as fs,a as ft,b as ht,c as Ot,C as hs,e as ps,f as xs,d as Ts}from"./command-Bap7RtnO.js";import{u as ze,S as Be}from"./constants-Cz3vSCG9.js";import{C as et}from"./collection-search-BhW0WppR.js";import{u as Ct}from"./use-members-BJMZeTol.js";import{u as Es}from"./use-connection-labJovV0.js";import{u as bs,c as Is}from"./use-ai-providers-D5svCGwH.js";import{A as ke}from"./avatar-F9o71OJ0.js";import{B as Re}from"./badge-D2Q0fk8p.js";import{f as Ke,a as He,b as Qe,c as qe,d as Ze,e as Xe,A as Je,g as We}from"./alert-dialog-P8pjafE2.js";import{d as $t,h as Ft,c as Kt,a as _s,D as Cs,b as Ns}from"./dialog-BEtDzaNY.js";import{c as Nt,d as Rt,e as St,D as at,a as Rs,f as Ss,b as ys,i as As}from"./dropdown-menu-CPrJeiSb.js";import{L as vs,s as Ht,ab as js,x as Qt}from"./agent-icon-uOxmWZzX.js";import{i as Os}from"./Lock01-bZF1KUvq.js";import{s as ct}from"./Plus-IUiAby9e.js";import{s as qt}from"./Trash01-2of3D7QX.js";import{i as Lt}from"./X-BXQFKahF.js";import{I as Ls}from"./input-BMDCCsVs.js";import{S as Ce}from"./switch-D_oyEj-7.js";import{T as Se,c as ye,a as Ae,b as ve}from"./use-mobile-49sQdb0b.js";import{E as pt}from"./empty-state-D17b8ueP.js";import{F as Ps,a as Pt,b as wt,c as ws,d as Mt,e as Dt}from"./form-CyOS6D3q.js";import{a as Tt,c as Et,d as bt,S as It,b as _t}from"./select-ByGBjkSM.js";import{T as Ms}from"./textarea-Bo2Nbyc2.js";import{C as Gt}from"./card-fcmwdw-g.js";import{g as Zt}from"./XCircle-ByksmUze.js";import{a as Ds,b as Gs,P as Us}from"./popover-C6ihUqMx.js";import{t as ks}from"./ChevronDown-xWqM1qJV.js";import"./view-mode-toggle-KKeD1zNQ.js";import"./table-DmvqYMYA.js";import"./Container-B7M87Wz6.js";import"./infiniteQueryObserver-Bm_4nXxh.js";import"./index-DYJpZ_hI.js";import"./use-collections-C9mDhhDp.js";import"./User01-Dj2-no-V.js";import"./ChevronRight-BCgvkwtC.js";import"./AlertCircle-CJ_7BsPP.js";import"./Tool01-1Tm6sx2D.js";import"./ArrowNarrowLeft-DtS9FYAN.js";import"./ZapSquare-CLlEU1BK.js";import"./Users03-B_ZFhEj7.js";import"./CheckCircle-smRbUGaN.js";import"./ChevronUp-CrL9TH1K.js";import"./Star01-07LmVEi1.js";import"./Palette-Dl7lzquw.js";import"./LinkExternal01-DLKyZWWz.js";import"./Sun-NZLaiUcL.js";import"./Play-DtJ0cxBf.js";import"./Settings02-uCCFk89X.js";import"./Upload01-BPC1olzj.js";import"./Zap-Ct-Bt-7a.js";import"./label-2vBVhIzi.js";const Xt=[{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:"BRAND_CONTEXT_LIST",description:"List brand contexts",category:"Organizations"},{name:"BRAND_CONTEXT_GET",description:"View brand context",category:"Organizations"},{name:"BRAND_CONTEXT_CREATE",description:"Create brand context",category:"Organizations"},{name:"BRAND_CONTEXT_UPDATE",description:"Update brand context",category:"Organizations"},{name:"BRAND_CONTEXT_DELETE",description:"Delete brand context",category:"Organizations",dangerous:!0},{name:"BRAND_CONTEXT_EXTRACT",description:"Extract brand context from website",category:"Organizations"},{name:"BRAND_GET",description:"Get brand (binding)",category:"Organizations"},{name:"BRAND_LIST",description:"List brands (binding)",category:"Organizations"},{name:"ORGANIZATION_DOMAIN_GET",description:"Get organization domain claim",category:"Organizations"},{name:"ORGANIZATION_DOMAIN_SET",description:"Set organization domain claim",category:"Organizations"},{name:"ORGANIZATION_DOMAIN_UPDATE",description:"Update organization domain settings",category:"Organizations"},{name:"ORGANIZATION_DOMAIN_CLEAR",description:"Clear organization domain claim",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_LOG_GET",description:"View monitoring log details",category:"Monitoring"},{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:"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"},{name:"TAGS_LIST",description:"List organization tags",category:"Tags"},{name:"TAGS_CREATE",description:"Create organization tag",category:"Tags"},{name:"TAGS_DELETE",description:"Delete organization tag",category:"Tags",dangerous:!0},{name:"MEMBER_TAGS_GET",description:"Get member tags",category:"Tags"},{name:"MEMBER_TAGS_SET",description:"Set member tags",category:"Tags"},{name:"AUTOMATION_CREATE",description:"Create automation",category:"Automations"},{name:"AUTOMATION_GET",description:"View automation details",category:"Automations"},{name:"AUTOMATION_LIST",description:"List automations",category:"Automations"},{name:"AUTOMATION_UPDATE",description:"Update automation",category:"Automations"},{name:"AUTOMATION_DELETE",description:"Delete automation",category:"Automations",dangerous:!0},{name:"AUTOMATION_TRIGGER_ADD",description:"Add trigger to automation",category:"Automations"},{name:"AUTOMATION_TRIGGER_REMOVE",description:"Remove trigger from automation",category:"Automations"},{name:"AUTOMATION_RUN",description:"Manually trigger an automation run",category:"Automations"},{name:"VIRTUAL_MCP_PLUGIN_CONFIG_GET",description:"View virtual MCP plugin configuration",category:"Virtual MCPs"},{name:"VIRTUAL_MCP_PLUGIN_CONFIG_UPDATE",description:"Update virtual MCP plugin configuration",category:"Virtual MCPs"},{name:"VIRTUAL_MCP_PINNED_VIEWS_UPDATE",description:"Update virtual MCP pinned sidebar views",category:"Virtual MCPs"},{name:"AI_PROVIDERS_LIST",description:"List available AI providers",category:"AI Providers"},{name:"AI_PROVIDERS_LIST_MODELS",description:"List AI provider models",category:"AI Providers"},{name:"AI_PROVIDERS_ACTIVE",description:"List active AI providers",category:"AI Providers"},{name:"AI_PROVIDER_KEY_CREATE",description:"Store AI provider API key",category:"AI Providers"},{name:"AI_PROVIDER_KEY_LIST",description:"List AI provider API keys",category:"AI Providers"},{name:"AI_PROVIDER_KEY_DELETE",description:"Delete AI provider API key",category:"AI Providers",dangerous:!0},{name:"AI_PROVIDER_OAUTH_URL",description:"Get OAuth URL for provider",category:"AI Providers"},{name:"AI_PROVIDER_OAUTH_EXCHANGE",description:"Exchange OAuth code for API key",category:"AI Providers"},{name:"AI_PROVIDER_PROVISION_KEY",description:"Auto-provision API key for a provider",category:"AI Providers"},{name:"AI_PROVIDER_TOPUP_URL",description:"Get checkout URL to top up provider credits",category:"AI Providers"},{name:"AI_PROVIDER_CREDITS",description:"Get current credit balance for a provider",category:"AI Providers"},{name:"AI_PROVIDER_CLI_ACTIVATE",description:"Activate Claude Code via local CLI",category:"AI Providers"},{name:"LIST_OBJECTS",description:"List objects in storage",category:"Object Storage"},{name:"GET_OBJECT_METADATA",description:"Get object metadata",category:"Object Storage"},{name:"GET_PRESIGNED_URL",description:"Generate download URL",category:"Object Storage"},{name:"PUT_PRESIGNED_URL",description:"Generate upload URL",category:"Object Storage"},{name:"DELETE_OBJECT",description:"Delete object",category:"Object Storage",dangerous:!0},{name:"DELETE_OBJECTS",description:"Delete multiple objects",category:"Object Storage",dangerous:!0},{name:"COLLECTION_REGISTRY_APP_LIST",description:"List registry apps",category:"Registry"},{name:"COLLECTION_REGISTRY_APP_GET",description:"Get registry app details",category:"Registry"},{name:"COLLECTION_REGISTRY_APP_VERSIONS",description:"List registry app versions",category:"Registry"},{name:"COLLECTION_REGISTRY_APP_FILTERS",description:"Get registry app filters",category:"Registry"},{name:"REGISTRY_ITEM_LIST",description:"List private registry items",category:"Registry"},{name:"REGISTRY_ITEM_SEARCH",description:"Search registry items",category:"Registry"},{name:"REGISTRY_ITEM_GET",description:"Get registry item details",category:"Registry"},{name:"REGISTRY_ITEM_VERSIONS",description:"List registry item versions",category:"Registry"},{name:"REGISTRY_ITEM_CREATE",description:"Create registry item",category:"Registry"},{name:"REGISTRY_ITEM_BULK_CREATE",description:"Bulk create registry items",category:"Registry"},{name:"REGISTRY_ITEM_UPDATE",description:"Update registry item",category:"Registry"},{name:"REGISTRY_ITEM_DELETE",description:"Delete registry item",category:"Registry",dangerous:!0},{name:"REGISTRY_ITEM_FILTERS",description:"Get registry item filters",category:"Registry"},{name:"REGISTRY_DISCOVER_TOOLS",description:"Discover tools from MCP server",category:"Registry"},{name:"REGISTRY_AI_GENERATE",description:"AI-generate registry content",category:"Registry"},{name:"REGISTRY_PUBLISH_REQUEST_LIST",description:"List publish requests",category:"Registry"},{name:"REGISTRY_PUBLISH_REQUEST_REVIEW",description:"Review publish request",category:"Registry"},{name:"REGISTRY_PUBLISH_REQUEST_COUNT",description:"Count pending publish requests",category:"Registry"},{name:"REGISTRY_PUBLISH_REQUEST_DELETE",description:"Delete publish request",category:"Registry",dangerous:!0},{name:"REGISTRY_PUBLISH_API_KEY_GENERATE",description:"Generate publish API key",category:"Registry"},{name:"REGISTRY_PUBLISH_API_KEY_LIST",description:"List publish API keys",category:"Registry"},{name:"REGISTRY_PUBLISH_API_KEY_REVOKE",description:"Revoke publish API key",category:"Registry",dangerous:!0},{name:"REGISTRY_MONITOR_RUN_START",description:"Start monitor run",category:"Registry"},{name:"REGISTRY_MONITOR_RUN_LIST",description:"List monitor runs",category:"Registry"},{name:"REGISTRY_MONITOR_RUN_GET",description:"Get monitor run details",category:"Registry"},{name:"REGISTRY_MONITOR_RUN_CANCEL",description:"Cancel monitor run",category:"Registry"},{name:"REGISTRY_MONITOR_RESULT_LIST",description:"List monitor results",category:"Registry"},{name:"REGISTRY_MONITOR_CONNECTION_LIST",description:"List monitor connections",category:"Registry"},{name:"REGISTRY_MONITOR_CONNECTION_SYNC",description:"Sync monitor connections",category:"Registry"},{name:"REGISTRY_MONITOR_CONNECTION_UPDATE_AUTH",description:"Update monitor connection auth",category:"Registry"},{name:"REGISTRY_MONITOR_SCHEDULE_SET",description:"Set monitor schedule",category:"Registry"},{name:"REGISTRY_MONITOR_SCHEDULE_CANCEL",description:"Cancel monitor schedule",category:"Registry"},{name:"VM_START",description:"Start a Freestyle VM with dev server preview",category:"VM"},{name:"VM_DELETE",description:"Stop and delete a Freestyle VM",category:"VM"},{name:"GITHUB_LIST_USER_ORGS",description:"List GitHub user's personal account and organizations",category:"GitHub"}],Vs={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",BRAND_CONTEXT_LIST:"List brand contexts",BRAND_CONTEXT_GET:"View brand context",BRAND_CONTEXT_CREATE:"Create brand context",BRAND_CONTEXT_UPDATE:"Update brand context",BRAND_CONTEXT_DELETE:"Delete brand context",BRAND_CONTEXT_EXTRACT:"Extract brand from website",BRAND_GET:"Get brand",BRAND_LIST:"List brands",ORGANIZATION_DOMAIN_GET:"Get domain claim",ORGANIZATION_DOMAIN_SET:"Set domain claim",ORGANIZATION_DOMAIN_UPDATE:"Update domain settings",ORGANIZATION_DOMAIN_CLEAR:"Clear domain claim",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_LOG_GET:"View monitoring log details",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",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",TAGS_LIST:"List organization tags",TAGS_CREATE:"Create organization tag",TAGS_DELETE:"Delete organization tag",MEMBER_TAGS_GET:"Get member tags",MEMBER_TAGS_SET:"Set member tags",VIRTUAL_MCP_PLUGIN_CONFIG_GET:"View plugin config",VIRTUAL_MCP_PLUGIN_CONFIG_UPDATE:"Update plugin config",VIRTUAL_MCP_PINNED_VIEWS_UPDATE:"Update pinned views",AUTOMATION_CREATE:"Create automation",AUTOMATION_GET:"View automation details",AUTOMATION_LIST:"List automations",AUTOMATION_UPDATE:"Update automation",AUTOMATION_DELETE:"Delete automation",AUTOMATION_TRIGGER_ADD:"Add trigger",AUTOMATION_TRIGGER_REMOVE:"Remove trigger",AUTOMATION_RUN:"Run automation",AI_PROVIDERS_LIST:"List AI providers",AI_PROVIDERS_LIST_MODELS:"List AI models",AI_PROVIDERS_ACTIVE:"List active providers",AI_PROVIDER_KEY_CREATE:"Create provider key",AI_PROVIDER_KEY_LIST:"List provider keys",AI_PROVIDER_KEY_DELETE:"Delete provider key",AI_PROVIDER_OAUTH_URL:"Get OAuth URL",AI_PROVIDER_OAUTH_EXCHANGE:"Connect via OAuth",AI_PROVIDER_PROVISION_KEY:"Auto-provision key",AI_PROVIDER_TOPUP_URL:"Get top-up checkout URL",AI_PROVIDER_CREDITS:"Get credit balance",AI_PROVIDER_CLI_ACTIVATE:"Activate Claude Code CLI",LIST_OBJECTS:"List objects",GET_OBJECT_METADATA:"Get object metadata",GET_PRESIGNED_URL:"Generate download URL",PUT_PRESIGNED_URL:"Generate upload URL",DELETE_OBJECT:"Delete object",DELETE_OBJECTS:"Delete multiple objects",COLLECTION_REGISTRY_APP_LIST:"List registry apps",COLLECTION_REGISTRY_APP_GET:"Get registry app",COLLECTION_REGISTRY_APP_VERSIONS:"List registry app versions",COLLECTION_REGISTRY_APP_FILTERS:"Get registry filters",REGISTRY_ITEM_LIST:"List registry items",REGISTRY_ITEM_SEARCH:"Search registry",REGISTRY_ITEM_GET:"Get registry item",REGISTRY_ITEM_VERSIONS:"List item versions",REGISTRY_ITEM_CREATE:"Create registry item",REGISTRY_ITEM_BULK_CREATE:"Bulk create items",REGISTRY_ITEM_UPDATE:"Update registry item",REGISTRY_ITEM_DELETE:"Delete registry item",REGISTRY_ITEM_FILTERS:"Get item filters",REGISTRY_DISCOVER_TOOLS:"Discover tools",REGISTRY_AI_GENERATE:"AI generate content",REGISTRY_PUBLISH_REQUEST_LIST:"List publish requests",REGISTRY_PUBLISH_REQUEST_REVIEW:"Review publish request",REGISTRY_PUBLISH_REQUEST_COUNT:"Count publish requests",REGISTRY_PUBLISH_REQUEST_DELETE:"Delete publish request",REGISTRY_PUBLISH_API_KEY_GENERATE:"Generate API key",REGISTRY_PUBLISH_API_KEY_LIST:"List API keys",REGISTRY_PUBLISH_API_KEY_REVOKE:"Revoke API key",REGISTRY_MONITOR_RUN_START:"Start monitor run",REGISTRY_MONITOR_RUN_LIST:"List monitor runs",REGISTRY_MONITOR_RUN_GET:"Get monitor run",REGISTRY_MONITOR_RUN_CANCEL:"Cancel monitor run",REGISTRY_MONITOR_RESULT_LIST:"List monitor results",REGISTRY_MONITOR_CONNECTION_LIST:"List monitor connections",REGISTRY_MONITOR_CONNECTION_SYNC:"Sync monitor connections",REGISTRY_MONITOR_CONNECTION_UPDATE_AUTH:"Update connection auth",REGISTRY_MONITOR_SCHEDULE_SET:"Set monitor schedule",REGISTRY_MONITOR_SCHEDULE_CANCEL:"Cancel monitor schedule",VM_START:"Start VM preview",VM_DELETE:"Delete VM preview",GITHUB_LIST_USER_ORGS:"List GitHub user orgs"};function zs(){const t={Organizations:[],Connections:[],"Virtual MCPs":[],Threads:[],Monitoring:[],Users:[],"API Keys":[],"Event Bus":[],Tags:[],"AI Providers":[],Automations:[],"Object Storage":[],Registry:[],GitHub:[],VM:[]};for(const e of Xt)t[e.category]?.push(e);return t}function Bs(){return Xt.map(t=>({value:t.name,label:Vs[t.name],dangerous:t.dangerous}))}const Ys=B.memo(function(e){const n=oe.c(21),{connection:r,isSelected:a,hasToolsEnabled:i,activeToolsCount:d,totalToolsCount:l,onSelect:g,onToggle:h}=e,m=a?"bg-accent/50":"hover:bg-muted/50";let _;n[0]!==m?(_=J("flex items-center gap-3 p-2 rounded-lg transition-colors will-change-auto",m),n[0]=m,n[1]=_):_=n[1];let c;n[2]!==r.icon||n[3]!==r.title?(c=s.jsx(Yt,{icon:r.icon,name:r.title,size:"xs"}),n[2]=r.icon,n[3]=r.title,n[4]=c):c=n[4];let C;n[5]!==r.title?(C=s.jsx("div",{className:"flex-1 min-w-0",children:s.jsx("p",{className:"text-sm font-medium text-foreground truncate",children:r.title})}),n[5]=r.title,n[6]=C):C=n[6];let f;n[7]!==g||n[8]!==c||n[9]!==C?(f=s.jsxs("div",{className:"flex items-center gap-3 flex-1 min-w-0 cursor-pointer",onClick:g,children:[c,C]}),n[7]=g,n[8]=c,n[9]=C,n[10]=f):f=n[10];let I;n[11]!==d||n[12]!==r.tools||n[13]!==i||n[14]!==h||n[15]!==l?(I=r.tools&&r.tools.length>0&&s.jsxs(s.Fragment,{children:[s.jsxs("span",{className:"text-xs text-muted-foreground shrink-0",children:[d,"/",l]}),s.jsx(Fe,{checked:i,onCheckedChange:h,onClick:Ks})]}),n[11]=d,n[12]=r.tools,n[13]=i,n[14]=h,n[15]=l,n[16]=I):I=n[16];let x;return n[17]!==_||n[18]!==f||n[19]!==I?(x=s.jsxs("div",{className:_,children:[f,I]}),n[17]=_,n[18]=f,n[19]=I,n[20]=x):x=n[20],x}),$s=B.memo(function(e){const n=oe.c(18),{connectionId:r,tool:a,isSelected:i,onToggle:d}=e,l=`tool-${r}-${a.name}`,g=i?"text-foreground":"text-muted-foreground";let h;n[0]!==g?(h=J("text-sm font-medium",g),n[0]=g,n[1]=h):h=n[1];let m;n[2]!==h||n[3]!==a.name?(m=s.jsx("div",{className:"flex items-center gap-2 mb-1",children:s.jsx("span",{className:h,children:a.name})}),n[2]=h,n[3]=a.name,n[4]=m):m=n[4];let _;n[5]!==a.description?(_=a.description&&s.jsx("p",{className:"text-xs text-muted-foreground line-clamp-2",children:a.description}),n[5]=a.description,n[6]=_):_=n[6];let c;n[7]!==m||n[8]!==_?(c=s.jsxs("div",{className:"flex-1 min-w-0",children:[m,_]}),n[7]=m,n[8]=_,n[9]=c):c=n[9];const C=`tool-${r}-${a.name}`;let f;n[10]!==i||n[11]!==d||n[12]!==C?(f=s.jsx("div",{className:"flex items-center shrink-0",children:s.jsx(Fe,{id:C,checked:i,onCheckedChange:d,onClick:Hs})}),n[10]=i,n[11]=d,n[12]=C,n[13]=f):f=n[13];let I;return n[14]!==l||n[15]!==c||n[16]!==f?(I=s.jsxs("label",{className:"flex items-center gap-3 p-3 rounded-lg hover:bg-muted/50 cursor-pointer group will-change-auto",htmlFor:l,children:[c,f]}),n[14]=l,n[15]=c,n[16]=f,n[17]=I):I=n[17],I});function Fs({toolSet:t,onToolSetChange:e,excludeVirtualMcpId:n}){const[r,a]=B.useState(""),i=B.useDeferredValue(r),[d,l]=B.useState("all"),[g,h]=B.useState(!1),m=B.useRef(new Set(Object.keys(t))),{org:_}=Ee(),c=ze({connectionId:Be,orgId:_.id}),C=100,f=i.trim(),I=f?{operator:"or",conditions:[{field:["title"],operator:"contains",value:f},{field:["description"],operator:"contains",value:f}]}:void 0,x=!!n,R={...I&&{where:I},orderBy:[{field:["updated_at"],direction:"asc"}],limit:C,offset:0,...x&&{include_virtual:!0}},E=JSON.stringify(R),{data:u,fetchNextPage:N,hasNextPage:y,isFetchingNextPage:w}=fs({queryKey:ue.collectionListInfinite(c,_.id,"","CONNECTIONS",E),queryFn:async({pageParam:T=0})=>(await c.callTool({name:"COLLECTION_CONNECTIONS_LIST",arguments:{...I&&{where:I},orderBy:[{field:["updated_at"],direction:"asc"}],limit:C,offset:T,...x&&{include_virtual:!0}}})).structuredContent,initialPageParam:0,getNextPageParam:(T,o)=>{if(T?.hasMore)return o.reduce((b,G)=>b+(G?.items?.length??0),0)},staleTime:3e4}),A=u?.pages.flatMap(T=>T?.items??[])??[],L=ms(N,y??!1,w),P=n?A.filter(T=>T.connection_type!=="VIRTUAL"?!0:ss(T.connection_url)!==n):A,v=m.current,j=[...v.values()].map(T=>P.find(o=>o.id===T)).filter(T=>T!==void 0),O=P.filter(T=>!v.has(T.id)),M=[...j,...O],S=T=>{const o=t[T];return o!==void 0&&o.length>0},p=M.filter(T=>{if(d==="all")return!0;const o=S(T.id);return d==="selected"?o:d==="unselected"?!o:!0}),[D,V]=B.useState(M[0]?.id??null),z=D?M.find(T=>T.id===D)??null:null,Y=z?.tools??[],U=(T,o)=>t[T]?.includes(o)??!1,Z=(T,o)=>{const b=t[T]??[],G=b.includes(o),Q={...t};if(G){const K=b.filter(F=>F!==o);K.length===0?delete Q[T]:Q[T]=K}else Q[T]=[...b,o];e(Q)},W=T=>{const o=M.find(F=>F.id===T);if(!o?.tools)return;const b=t[T]??[],G=o.tools.map(F=>F.name),Q=b.length>0&&G.every(F=>b.includes(F)),K={...t};Q?delete K[T]:(K[T]=G,V(T)),e(K)},ne=T=>{V(T),h(!0)},se=()=>{h(!1)};return s.jsxs("div",{className:"flex h-full",children:[s.jsxs("div",{className:J("w-full md:w-80 border-r border-border flex flex-col",g&&"hidden md:flex"),children:[s.jsx(et,{value:r,onChange:a,placeholder:"Search MCP Servers..."}),s.jsxs("div",{className:"flex gap-1 p-2 border-b border-border",children:[s.jsx("button",{onClick:()=>l("all"),className:J("flex-1 px-3 py-1.5 text-xs font-medium rounded-md transition-colors border cursor-pointer",d==="all"?"bg-muted border-border":"border-border opacity-75 hover:opacity-100"),children:"All"}),s.jsx("button",{onClick:()=>l("selected"),className:J("flex-1 px-3 py-1.5 text-xs font-medium rounded-md transition-colors border cursor-pointer",d==="selected"?"bg-muted border-border":"border-border opacity-75 hover:opacity-100"),children:"Selected"}),s.jsx("button",{onClick:()=>l("unselected"),className:J("flex-1 px-3 py-1.5 text-xs font-medium rounded-md transition-colors border cursor-pointer",d==="unselected"?"bg-muted border-border":"border-border opacity-75 hover:opacity-100"),children:"Unselected"})]}),s.jsx("div",{className:"flex-1 overflow-auto",children:p.length===0?s.jsx("div",{className:"p-4 text-sm text-muted-foreground text-center",children:r?"No connections found":d==="selected"?"No servers selected":d==="unselected"?"No unselected servers":"No connections available"}):s.jsxs("div",{className:"p-2 space-y-1",children:[p.map(T=>{const o=T.tools?.length??0,b=t[T.id]?.length??0;return s.jsx(Ys,{connection:T,isSelected:D===T.id,hasToolsEnabled:S(T.id),activeToolsCount:b,totalToolsCount:o,onSelect:()=>ne(T.id),onToggle:()=>W(T.id)},T.id)}),s.jsx("div",{ref:L,className:"h-4"}),w&&s.jsx("div",{className:"flex justify-center py-3",children:s.jsx(Ue,{size:18,className:"animate-spin text-muted-foreground"})})]})})]}),s.jsx("div",{className:J("flex-1 flex-col",g?"flex":"hidden md:flex"),children:z?s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:"md:hidden border-b border-border p-4 flex items-center gap-3",children:[s.jsx(le,{variant:"ghost",size:"sm",onClick:se,className:"h-8 w-8 p-0 shrink-0",children:s.jsx(us,{size:20})}),s.jsxs("div",{className:"flex items-center gap-3 flex-1 min-w-0",children:[s.jsx(Yt,{icon:z.icon,name:z.title,size:"sm"}),s.jsxs("div",{className:"flex-1 min-w-0",children:[s.jsx("h3",{className:"text-base font-medium text-foreground truncate",children:z.title}),z.description&&s.jsx("p",{className:"text-sm text-muted-foreground truncate",children:z.description})]})]})]}),s.jsx("div",{className:"flex-1 overflow-auto p-4",children:Y.length===0?s.jsx("div",{className:"text-sm text-muted-foreground text-center py-8",children:"This connection has no tools available"}):s.jsx("div",{className:"space-y-2",children:Y.map(T=>s.jsx($s,{connectionId:z.id,tool:T,isSelected:U(z.id,T.name),onToggle:()=>Z(z.id,T.name)},T.name))})})]}):s.jsx("div",{className:"flex-1 flex items-center justify-center",children:s.jsx("div",{className:"text-sm text-muted-foreground text-center",children:"Select a connection to view its tools"})})})]})}function Ks(t){return t.stopPropagation()}function Hs(t){return t.stopPropagation()}const Ut=[{value:"owner",label:"Owner",isBuiltin:!0},{value:"admin",label:"Admin",isBuiltin:!0},{value:"user",label:"User",isBuiltin:!0}];function Qs(t){return t.replace(/-/g," ")}function qs(t){if(!t)return{staticPermissions:[],allowsAllStaticPermissions:!1,connectionIds:[],allowsAllConnections:!1,toolNames:[],allowsAllTools:!1,modelCount:0,allowsAllModels:!1};const e=[];let n=!1;const r=[];let a=!1;const i=new Set;let d=!1,l=0,g=!1;for(const[h,m]of Object.entries(t)){if(h==="self"){m.includes("*")?n=!0:e.push(...m);continue}if(h==="models"){m.includes("*:*")?g=!0:l=m.length;continue}if(h==="*"){if(a=!0,m.includes("*"))d=!0;else for(const _ of m)i.add(_);continue}if(r.push(h),m.includes("*"))d=!0;else for(const _ of m)i.add(_)}return{staticPermissions:e,allowsAllStaticPermissions:n,connectionIds:r,allowsAllConnections:a,toolNames:Array.from(i),allowsAllTools:d,modelCount:l,allowsAllModels:g}}function yt(){const{locator:t}=Ee(),{data:e,isLoading:n,error:r,refetch:a}=mt({queryKey:ue.organizationRoles(t),queryFn:async()=>{try{const l=await ge.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}),i=Ut.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||Ut.some(R=>R.value===g))continue;const{staticPermissions:h,allowsAllStaticPermissions:m,connectionIds:_,allowsAllConnections:c,toolNames:C,allowsAllTools:f,modelCount:I,allowsAllModels:x}=qs(l.permission);i.push({id:l.id,role:g,label:Qs(g),isBuiltin:!1,permission:l.permission??void 0,staticPermissionCount:m?-1:h.length,allowsAllStaticPermissions:m,connectionCount:c?-1:_.length,allowsAllConnections:c,toolCount:f?-1:C.length,allowsAllTools:f,modelCount:x?-1:I,allowsAllModels:x})}const d=i.filter(l=>!l.isBuiltin);return{roles:i,customRoles:d,builtinRoles:i.filter(l=>l.isBuiltin),isLoading:n,error:r,refetch:a}}const Zs=At({role:At({id:Ie().optional(),slug:Ie().optional(),label:Ie()}),allowAllStaticPermissions:jt(),staticPermissions:rt(Ie()),toolSet:vt(Ie(),rt(Ie())),allowAllModels:jt(),modelSet:vt(Ie(),rt(Ie())),memberIds:rt(Ie())});function Jt(t){return t?t.split(" ").map(e=>e[0]).join("").toUpperCase().slice(0,2):"?"}const Xs=[{role:"owner",label:"Owner",color:"bg-red-500"},{role:"admin",label:"Admin",color:"bg-blue-500"},{role:"user",label:"User",color:"bg-green-500"}],xt=["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 Js(t){if(!t)return"bg-neutral-400";let e=0;for(let r=0;r<t.length;r++){const a=t.charCodeAt(r);e=(e<<5)-e+a,e=e&e}const n=Math.abs(e)%xt.length;return xt[n]??xt[0]}function it(){return{role:{id:void 0,slug:void 0,label:""},allowAllStaticPermissions:!1,staticPermissions:[],toolSet:{},allowAllModels:!0,modelSet:{},memberIds:[]}}function Ws(t){const e=oe.c(39),{allowAllStaticPermissions:n,staticPermissions:r,onAllowAllChange:a,onPermissionsChange:i,readOnly:d}=t,l=d===void 0?!1:d,[g,h]=B.useState(""),m=B.useDeferredValue(g);let _,c,C,f,I;if(e[0]!==n||e[1]!==m||e[2]!==a||e[3]!==i||e[4]!==l||e[5]!==g||e[6]!==r){const E=zs(),u=Bs(),N=u.filter(j=>j.label.toLowerCase().includes(m.toLowerCase())),y=j=>{if(r.includes(j))i(r.filter(O=>O!==j));else{const O=[...r,j];O.length===u.length?(a(!0),i([])):i(O)}};C="flex flex-col h-full",e[12]!==g?(f=s.jsx("div",{className:"border-b border-border",children:s.jsx(et,{value:g,onChange:h,placeholder:"Search permissions...",className:"border-b-0"})}),e[12]=g,e[13]=f):f=e[13];const w=!l&&"hover:bg-muted/50 cursor-pointer";let A;e[14]!==w?(A=J("flex items-center justify-between px-4 py-3 rounded-lg",w),e[14]=w,e[15]=A):A=e[15];let L;e[16]!==n||e[17]!==a||e[18]!==i||e[19]!==l?(L=()=>{if(l)return;a(!n),i([])},e[16]=n,e[17]=a,e[18]=i,e[19]=l,e[20]=L):L=e[20];let P;e[21]===Symbol.for("react.memo_cache_sentinel")?(P=s.jsx("span",{className:"text-sm font-medium",children:"All organization permissions"}),e[21]=P):P=e[21];let v;e[22]!==n||e[23]!==a||e[24]!==i||e[25]!==l?(v=s.jsx("div",{onClick:rn,children:l?s.jsx(Se,{children:s.jsxs(ye,{children:[s.jsx(Ae,{asChild:!0,children:s.jsx("div",{children:s.jsx(Ce,{checked:n,disabled:l,onCheckedChange:j=>{l||(a(j),i([]))}})})}),s.jsx(ve,{children:s.jsx("p",{children:"Built-in role permissions cannot be changed"})})]})}):s.jsx(Ce,{checked:n,disabled:l,onCheckedChange:j=>{l||(a(j),i([]))}})}),e[22]=n,e[23]=a,e[24]=i,e[25]=l,e[26]=v):v=e[26],e[27]!==v||e[28]!==A||e[29]!==L?(I=s.jsx("div",{className:"border-b border-border",children:s.jsxs("div",{className:A,onClick:L,children:[P,v]})}),e[27]=v,e[28]=A,e[29]=L,e[30]=I):I=e[30],_="flex-1 overflow-auto",c=Object.entries(E).map(j=>{const[O,M]=j,S=N.filter(p=>M.some(D=>D.name===p.value));return S.length===0?null:s.jsxs("div",{className:"mb-6 last:mb-0",children:[s.jsx("h4",{className:"text-sm font-medium p-3 pb-1.5 text-muted-foreground/75",children:O}),s.jsx("div",{className:"space-y-1",children:S.map(p=>s.jsxs("div",{className:J("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 D=u.map(nn);i(D.filter(V=>V!==p.value))}else y(p.value)},children:[s.jsx("div",{className:"flex-1 min-w-0",children:s.jsx("span",{className:"text-sm",children:p.label})}),s.jsx("div",{onClick:sn,children:l?s.jsx(Se,{children:s.jsxs(ye,{children:[s.jsx(Ae,{asChild:!0,children:s.jsx("div",{children:s.jsx(Ce,{checked:n||r.includes(p.value),disabled:l,onCheckedChange:()=>{if(!l)if(n){a(!1);const D=u.map(tn);i(D.filter(V=>V!==p.value))}else y(p.value)}})})}),s.jsx(ve,{children:s.jsx("p",{children:"Built-in role permissions cannot be changed"})})]})}):s.jsx(Ce,{checked:n||r.includes(p.value),disabled:l,onCheckedChange:()=>{if(!l)if(n){a(!1);const D=u.map(en);i(D.filter(V=>V!==p.value))}else y(p.value)}})})]},p.value))})]},O)}),e[0]=n,e[1]=m,e[2]=a,e[3]=i,e[4]=l,e[5]=g,e[6]=r,e[7]=_,e[8]=c,e[9]=C,e[10]=f,e[11]=I}else _=e[7],c=e[8],C=e[9],f=e[10],I=e[11];let x;e[31]!==_||e[32]!==c?(x=s.jsx("div",{className:_,children:c}),e[31]=_,e[32]=c,e[33]=x):x=e[33];let R;return e[34]!==C||e[35]!==f||e[36]!==I||e[37]!==x?(R=s.jsxs("div",{className:C,children:[f,I,x]}),e[34]=C,e[35]=f,e[36]=I,e[37]=x,e[38]=R):R=e[38],R}function en(t){return t.value}function tn(t){return t.value}function sn(t){return t.stopPropagation()}function nn(t){return t.value}function rn(t){return t.stopPropagation()}const on={anthropic:"Anthropic",openrouter:"OpenRouter"},Wt=30;function ln(t){const e=oe.c(55),{connection:n,selectedModels:r,allowAllModels:a,onToggleModel:i,onToggleConnectionAll:d,allConnectionModelsSelected:l,searchQuery:g,readOnly:h}=t,[m,_]=B.useState(Wt),c=Is(n.id);let C,f,I,x,R,E,u;if(e[0]!==l||e[1]!==a||e[2]!==n.id||e[3]!==n.label||e[4]!==n.providerId||e[5]!==d||e[6]!==i||e[7]!==c||e[8]!==h||e[9]!==g||e[10]!==r||e[11]!==m){u=Symbol.for("react.early_return_sentinel");e:{let A;e[19]!==n.label?(A=U=>({...U,id:U.modelId,provider:n.label}),e[19]=n.label,e[20]=A):A=e[20];const L=c.filter(dn).map(A);if(C=g.trim()?L.filter(U=>U.title.toLowerCase().includes(g.toLowerCase())||U.id.toLowerCase().includes(g.toLowerCase())||U.provider?.toLowerCase().includes(g.toLowerCase())):L,C.length===0){u=null;break e}const P=C.slice(0,m);f=C.length>m;const v=a||l||r.includes("*")&&!a||C.every(U=>r.includes(U.id)||r.includes("*"));R="mb-6 last:mb-0";const j=cs[n.providerId]??ds;let O;e[21]!==n.providerId||e[22]!==j?(O=s.jsx("img",{src:j,alt:n.providerId,className:"w-4 h-4 rounded-sm dark:bg-white dark:rounded-sm dark:p-px"}),e[21]=n.providerId,e[22]=j,e[23]=O):O=e[23];const M=on[n.providerId]??n.providerId;let S;e[24]!==M?(S=s.jsx("h4",{className:"text-sm font-medium text-muted-foreground/75",children:M}),e[24]=M,e[25]=S):S=e[25];let p;e[26]!==n.label?(p=s.jsx("span",{className:"text-xs text-muted-foreground/50",children:n.label}),e[26]=n.label,e[27]=p):p=e[27];let D;e[28]!==S||e[29]!==p?(D=s.jsxs("div",{className:"flex flex-col",children:[S,p]}),e[28]=S,e[29]=p,e[30]=D):D=e[30];let V;e[31]!==D||e[32]!==O?(V=s.jsxs("div",{className:"flex items-center gap-2",children:[O,D]}),e[31]=D,e[32]=O,e[33]=V):V=e[33];const z=!h&&!a&&s.jsx(Ce,{checked:v,onCheckedChange:()=>d(n.id,L)});e[34]!==V||e[35]!==z?(E=s.jsxs("div",{className:"flex items-center justify-between px-4 py-2",children:[V,z]}),e[34]=V,e[35]=z,e[36]=E):E=e[36],I="space-y-1";let Y;e[37]!==a||e[38]!==n.id||e[39]!==i||e[40]!==h||e[41]!==r?(Y=U=>{const Z=a||r.includes("*")||r.includes(U.id);return s.jsxs("div",{className:J("flex items-center justify-between gap-3 px-4 py-3",!h&&"hover:bg-muted/50 cursor-pointer"),onClick:()=>{h||a||i(n.id,U.id)},children:[s.jsxs("div",{className:"flex items-center gap-2 flex-1 min-w-0",children:[U.logo&&s.jsx("img",{src:U.logo,className:"w-4 h-4 shrink-0 rounded-sm dark:bg-white dark:rounded-sm dark:p-px",alt:U.title}),s.jsx("span",{className:"text-sm truncate",children:U.title})]}),s.jsx("div",{onClick:cn,children:h?s.jsx(Se,{children:s.jsxs(ye,{children:[s.jsx(Ae,{asChild:!0,children:s.jsx("div",{children:s.jsx(Ce,{checked:Z,disabled:!0})})}),s.jsx(ve,{children:s.jsx("p",{children:"Built-in role permissions cannot be changed"})})]})}):s.jsx(Ce,{checked:Z,disabled:h||a,onCheckedChange:()=>{h||a||i(n.id,U.id)}})})]},U.id)},e[37]=a,e[38]=n.id,e[39]=i,e[40]=h,e[41]=r,e[42]=Y):Y=e[42],x=P.map(Y)}e[0]=l,e[1]=a,e[2]=n.id,e[3]=n.label,e[4]=n.providerId,e[5]=d,e[6]=i,e[7]=c,e[8]=h,e[9]=g,e[10]=r,e[11]=m,e[12]=C,e[13]=f,e[14]=I,e[15]=x,e[16]=R,e[17]=E,e[18]=u}else C=e[12],f=e[13],I=e[14],x=e[15],R=e[16],E=e[17],u=e[18];if(u!==Symbol.for("react.early_return_sentinel"))return u;let N;e[43]!==C||e[44]!==f||e[45]!==m?(N=f&&s.jsxs("button",{type:"button",className:"w-full px-4 py-2 text-xs text-muted-foreground hover:text-foreground hover:bg-muted/50 transition-colors",onClick:()=>_(an),children:["Show more (",C.length-m," remaining)"]}),e[43]=C,e[44]=f,e[45]=m,e[46]=N):N=e[46];let y;e[47]!==I||e[48]!==x||e[49]!==N?(y=s.jsxs("div",{className:I,children:[x,N]}),e[47]=I,e[48]=x,e[49]=N,e[50]=y):y=e[50];let w;return e[51]!==R||e[52]!==E||e[53]!==y?(w=s.jsxs("div",{className:R,children:[E,y]}),e[51]=R,e[52]=E,e[53]=y,e[54]=w):w=e[54],w}function an(t){return t+Wt}function cn(t){return t.stopPropagation()}function dn(t,e,n){return n.findIndex(r=>r.modelId===t.modelId)===e}function mn(){const t=oe.c(1);let e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=s.jsxs("div",{className:"px-4 py-3 flex items-center gap-2 text-sm text-muted-foreground",children:[s.jsx(Ue,{className:"size-4 animate-spin"}),"Loading models..."]}),t[0]=e):e=t[0],e}function un(t){const e=oe.c(39),{allowAllModels:n,modelSet:r,onAllowAllChange:a,onModelSetChange:i,readOnly:d}=t,l=d===void 0?!1:d,[g,h]=B.useState(""),m=B.useDeferredValue(g),_=bs();let c;e[0]!==r||e[1]!==i?(c=(v,j)=>{const O=r[v]??[],M={...r};if(O.includes(j)){const S=O.filter(p=>p!==j);S.length===0?delete M[v]:M[v]=S}else M[v]=[...O,j];i(M)},e[0]=r,e[1]=i,e[2]=c):c=e[2];const C=c;let f;e[3]!==r||e[4]!==i?(f=(v,j)=>{const O=r[v]??[],M=j.map(fn),S=O.includes("*")||M.every(D=>O.includes(D)),p={...r};S?delete p[v]:p[v]=M,i(p)},e[3]=r,e[4]=i,e[5]=f):f=e[5];const I=f;let x;e[6]!==g?(x=s.jsx("div",{className:"border-b border-border",children:s.jsx(et,{value:g,onChange:h,placeholder:"Search models...",className:"border-b-0"})}),e[6]=g,e[7]=x):x=e[7];const R=!l&&"hover:bg-muted/50 cursor-pointer";let E;e[8]!==R?(E=J("flex items-center justify-between px-4 py-3 rounded-lg",R),e[8]=R,e[9]=E):E=e[9];let u;e[10]!==n||e[11]!==a||e[12]!==i||e[13]!==l?(u=()=>{if(l)return;const v=!n;a(v),v&&i({})},e[10]=n,e[11]=a,e[12]=i,e[13]=l,e[14]=u):u=e[14];let N;e[15]===Symbol.for("react.memo_cache_sentinel")?(N=s.jsx("span",{className:"text-sm font-medium",children:"All models"}),e[15]=N):N=e[15];let y;e[16]!==n||e[17]!==a||e[18]!==i||e[19]!==l?(y=s.jsx("div",{onClick:gn,children:l?s.jsx(Se,{children:s.jsxs(ye,{children:[s.jsx(Ae,{asChild:!0,children:s.jsx("div",{children:s.jsx(Ce,{checked:n,disabled:!0})})}),s.jsx(ve,{children:s.jsx("p",{children:"Built-in role permissions cannot be changed"})})]})}):s.jsx(Ce,{checked:n,onCheckedChange:v=>{l||(a(v),v&&i({}))}})}),e[16]=n,e[17]=a,e[18]=i,e[19]=l,e[20]=y):y=e[20];let w;e[21]!==E||e[22]!==u||e[23]!==y?(w=s.jsx("div",{className:"border-b border-border",children:s.jsxs("div",{className:E,onClick:u,children:[N,y]})}),e[21]=E,e[22]=u,e[23]=y,e[24]=w):w=e[24];let A;e[25]!==_||e[26]!==n||e[27]!==m||e[28]!==r||e[29]!==l||e[30]!==I||e[31]!==C?(A=_.length===0?s.jsx("div",{className:"flex items-center justify-center py-8 text-sm text-muted-foreground",children:"No LLM connections configured"}):_.map(v=>s.jsx(B.Suspense,{fallback:s.jsx(mn,{}),children:s.jsx(ln,{connection:v,selectedModels:r[v.id]??[],allowAllModels:n,onToggleModel:C,onToggleConnectionAll:I,allConnectionModelsSelected:(r[v.id]??[]).includes("*"),searchQuery:m,readOnly:l})},v.id)),e[25]=_,e[26]=n,e[27]=m,e[28]=r,e[29]=l,e[30]=I,e[31]=C,e[32]=A):A=e[32];let L;e[33]!==A?(L=s.jsx("div",{className:"flex-1 overflow-auto",children:A}),e[33]=A,e[34]=L):L=e[34];let P;return e[35]!==w||e[36]!==L||e[37]!==x?(P=s.jsxs("div",{className:"flex flex-col h-full",children:[x,w,L]}),e[35]=w,e[36]=L,e[37]=x,e[38]=P):P=e[38],P}function gn(t){return t.stopPropagation()}function fn(t){return t.id}function hn(t){const e=oe.c(56),{open:n,onOpenChange:r,selectedMemberIds:a,onAddMembers:i}=t,[d,l]=B.useState(""),g=B.useDeferredValue(d);let h;e[0]===Symbol.for("react.memo_cache_sentinel")?(h=[],e[0]=h):h=e[0];const[m,_]=B.useState(h),{data:c}=Ct();let C,f,I,x,R,E,u,N,y,w,A;if(e[1]!==c?.data?.members||e[2]!==g||e[3]!==i||e[4]!==r||e[5]!==n||e[6]!==m||e[7]!==d||e[8]!==a){const D=c?.data?.members??[];let V;e[20]!==g?(V=T=>{const o=g.toLowerCase();return T.user?.name?.toLowerCase().includes(o)||T.user?.email?.toLowerCase().includes(o)},e[20]=g,e[21]=V):V=e[21];const z=D.filter(V),Y=pn;let U;e[22]!==a?(U=T=>a.includes(T),e[22]=a,e[23]=U):U=e[23];const Z=U;let W;e[24]!==m?(W=T=>{m.includes(T)?_(m.filter(o=>o!==T)):_([...m,T])},e[24]=m,e[25]=W):W=e[25];const ne=W;let se;e[26]!==i||e[27]!==r||e[28]!==m?(se=()=>{i(m),_([]),r(!1)},e[26]=i,e[27]=r,e[28]=m,e[29]=se):se=e[29],I=se,f=Ke,w=n,A=r,C=He,N="sm:max-w-md p-0 overflow-hidden",e[30]===Symbol.for("react.memo_cache_sentinel")?(y=s.jsxs(Qe,{className:"px-6 pt-6",children:[s.jsx(qe,{children:"Add Members to Role"}),s.jsx(Ze,{children:"Select members to add to this role."})]}),e[30]=y):y=e[30],E="flex flex-col h-80",e[31]!==d?(u=s.jsx(et,{value:d,onChange:l,placeholder:"Search members...",className:"border-b border-t-0 border-x-0 rounded-none"}),e[31]=d,e[32]=u):u=e[32],x="flex-1 overflow-auto",R=z.length===0?s.jsx("div",{className:"flex items-center justify-center h-full px-6",children:s.jsx("p",{className:"text-sm text-muted-foreground",children:d?"No members found":"No members available"})}):s.jsx("div",{className:"px-6 py-2 space-y-1",children:z.map(T=>{const o=Y(T),b=Z(T.id),G=m.includes(T.id);return s.jsxs("label",{className:J("flex items-center gap-3 p-2 rounded-lg",!o||b?"opacity-50 cursor-not-allowed":"cursor-pointer hover:bg-muted/50"),children:[s.jsx(Fe,{checked:G||b,onCheckedChange:()=>{o&&!b&&ne(T.id)},disabled:!o||b}),s.jsx(ke,{url:T.user?.image??void 0,fallback:Jt(T.user?.name),shape:"circle",size:"sm"}),s.jsxs("div",{className:"flex-1 min-w-0",children:[s.jsx("p",{className:"text-sm font-medium truncate",children:T.user?.name||"Unknown"}),s.jsx("p",{className:"text-xs text-muted-foreground truncate",children:T.user?.email})]}),!o&&s.jsx(Re,{variant:"secondary",className:"shrink-0",children:"Owner"}),b&&o&&s.jsx(Re,{variant:"outline",className:"shrink-0",children:"Added"})]},T.id)})}),e[1]=c?.data?.members,e[2]=g,e[3]=i,e[4]=r,e[5]=n,e[6]=m,e[7]=d,e[8]=a,e[9]=C,e[10]=f,e[11]=I,e[12]=x,e[13]=R,e[14]=E,e[15]=u,e[16]=N,e[17]=y,e[18]=w,e[19]=A}else C=e[9],f=e[10],I=e[11],x=e[12],R=e[13],E=e[14],u=e[15],N=e[16],y=e[17],w=e[18],A=e[19];let L;e[33]!==x||e[34]!==R?(L=s.jsx("div",{className:x,children:R}),e[33]=x,e[34]=R,e[35]=L):L=e[35];let P;e[36]!==L||e[37]!==E||e[38]!==u?(P=s.jsxs("div",{className:E,children:[u,L]}),e[36]=L,e[37]=E,e[38]=u,e[39]=P):P=e[39];let v;e[40]===Symbol.for("react.memo_cache_sentinel")?(v=s.jsx(Je,{children:"Cancel"}),e[40]=v):v=e[40];const j=m.length===0,O=m.length>0&&`(${m.length})`;let M;e[41]!==I||e[42]!==j||e[43]!==O?(M=s.jsxs(Xe,{className:"px-6 pb-6",children:[v,s.jsxs(We,{onClick:I,disabled:j,children:["Add ",O]})]}),e[41]=I,e[42]=j,e[43]=O,e[44]=M):M=e[44];let S;e[45]!==C||e[46]!==P||e[47]!==M||e[48]!==N||e[49]!==y?(S=s.jsxs(C,{className:N,children:[y,P,M]}),e[45]=C,e[46]=P,e[47]=M,e[48]=N,e[49]=y,e[50]=S):S=e[50];let p;return e[51]!==f||e[52]!==S||e[53]!==w||e[54]!==A?(p=s.jsx(f,{open:w,onOpenChange:A,children:S}),e[51]=f,e[52]=S,e[53]=w,e[54]=A,e[55]=p):p=e[55],p}function pn(t){return t.role!=="owner"}function xn(t){const e=oe.c(40),{memberIds:n,onMemberIdsChange:r,readOnly:a}=t,i=a===void 0?!1:a,[d,l]=B.useState(""),g=B.useDeferredValue(d),[h,m]=B.useState(!1),{data:_}=Ct();let c,C,f,I,x;if(e[0]!==_?.data?.members||e[1]!==g||e[2]!==n||e[3]!==r||e[4]!==i||e[5]!==d){const N=_?.data?.members??[];let y;e[11]!==n?(y=S=>n.includes(S.id),e[11]=n,e[12]=y):y=e[12];const w=N.filter(y);let A;e[13]!==g?(A=S=>{const p=g.toLowerCase();return S.user?.name?.toLowerCase().includes(p)||S.user?.email?.toLowerCase().includes(p)},e[13]=g,e[14]=A):A=e[14];const L=w.filter(A);let P;e[15]!==n||e[16]!==r?(P=S=>{r(n.filter(p=>p!==S))},e[15]=n,e[16]=r,e[17]=P):P=e[17];const v=P;let j;e[18]!==n||e[19]!==r?(j=S=>{r([...n,...S])},e[18]=n,e[19]=r,e[20]=j):j=e[20],c=j,I="flex flex-col h-full";let O;e[21]!==d?(O=s.jsx(et,{value:d,onChange:l,placeholder:"Search members...",className:"flex-1 border-b-0"}),e[21]=d,e[22]=O):O=e[22];let M;e[23]!==i?(M=i?s.jsx("div",{className:"pr-4",children:s.jsx(Se,{children:s.jsxs(ye,{children:[s.jsx(Ae,{asChild:!0,children:s.jsx("div",{children:s.jsxs(le,{variant:"outline",size:"sm",disabled:!0,children:[s.jsx(ct,{size:16}),"Add Member"]})})}),s.jsx(ve,{children:s.jsx("p",{children:"Owner membership cannot be changed"})})]})})}):s.jsx("div",{className:"pr-4",children:s.jsxs(le,{variant:"outline",size:"sm",onClick:()=>m(!0),children:[s.jsx(ct,{size:16}),"Add Member"]})}),e[23]=i,e[24]=M):M=e[24],e[25]!==O||e[26]!==M?(x=s.jsxs("div",{className:"flex items-center border-b border-border",children:[O,M]}),e[25]=O,e[26]=M,e[27]=x):x=e[27],C="flex-1 overflow-auto",f=w.length===0?s.jsx("div",{className:"flex items-center justify-center h-full",children:s.jsxs("div",{className:"text-center",children:[s.jsx("h3",{className:"text-lg font-medium mb-2",children:"No members"}),s.jsx("p",{className:"text-sm text-muted-foreground",children:"Add members to this role to grant them the configured permissions."})]})}):L.length===0?s.jsx("div",{className:"flex items-center justify-center h-full",children:s.jsxs("p",{className:"text-sm text-muted-foreground",children:['No members match "',d,'"']})}):s.jsx("div",{className:"p-4 space-y-2",children:L.map(S=>s.jsxs("div",{className:"flex items-center gap-3 p-3 rounded-lg bg-muted/30",children:[s.jsx(ke,{url:S.user?.image??void 0,fallback:Jt(S.user?.name),shape:"circle",size:"sm"}),s.jsxs("div",{className:"flex-1 min-w-0",children:[s.jsx("p",{className:"text-sm font-medium truncate",children:S.user?.name||"Unknown"}),s.jsx("p",{className:"text-xs text-muted-foreground truncate",children:S.user?.email})]}),i?s.jsx(Se,{children:s.jsxs(ye,{children:[s.jsx(Ae,{asChild:!0,children:s.jsx("div",{children:s.jsx(le,{variant:"ghost",size:"sm",disabled:!0,children:s.jsx(Lt,{size:16})})})}),s.jsx(ve,{children:s.jsx("p",{children:"Owner membership cannot be changed"})})]})}):s.jsx(le,{variant:"ghost",size:"sm",onClick:()=>v(S.id),children:s.jsx(Lt,{size:16})})]},S.id))}),e[0]=_?.data?.members,e[1]=g,e[2]=n,e[3]=r,e[4]=i,e[5]=d,e[6]=c,e[7]=C,e[8]=f,e[9]=I,e[10]=x}else c=e[6],C=e[7],f=e[8],I=e[9],x=e[10];let R;e[28]!==C||e[29]!==f?(R=s.jsx("div",{className:C,children:f}),e[28]=C,e[29]=f,e[30]=R):R=e[30];let E;e[31]!==h||e[32]!==c||e[33]!==n?(E=s.jsx(hn,{open:h,onOpenChange:m,selectedMemberIds:n,onAddMembers:c}),e[31]=h,e[32]=c,e[33]=n,e[34]=E):E=e[34];let u;return e[35]!==I||e[36]!==x||e[37]!==R||e[38]!==E?(u=s.jsxs("div",{className:I,children:[x,R,E]}),e[35]=I,e[36]=x,e[37]=R,e[38]=E,e[39]=u):u=e[39],u}function Tn(t){const e=oe.c(3);let n;e[0]===Symbol.for("react.memo_cache_sentinel")?(n=s.jsx("div",{className:"flex items-center justify-center h-full",children:s.jsx(Ue,{size:24,className:"animate-spin text-muted-foreground"})}),e[0]=n):n=e[0];let r;return e[1]!==t?(r=s.jsx(B.Suspense,{fallback:n,children:s.jsx(xn,{...t})}),e[1]=t,e[2]=r):r=e[2],r}const En={owner:[],admin:[],user:[]};function ot(t,e){const n=t==="owner"||t==="admin",r=e.filter(a=>a.role===t);return{role:{slug:t,label:t.charAt(0).toUpperCase()+t.slice(1)},allowAllStaticPermissions:n,staticPermissions:En[t],toolSet:{},allowAllModels:!0,modelSet:{},memberIds:r.map(a=>a.id)}}function bn({trigger:t,onSuccess:e}){const[n,r]=B.useState(!1),[a,i]=B.useState("mcp"),{locator:d}=Ee(),l=Ve(),g=Es()??[],{customRoles:h,refetch:m}=yt(),{data:_}=mt({queryKey:ue.members(d),queryFn:()=>ge.organization.listMembers()}),c=Bt({resolver:ns(Zs),defaultValues:it()}),C=c.formState.isValid,f=c.formState.isDirty,[I,x]=B.useState(null),[R,E]=B.useState(null),u=!c.watch("role.id")&&!c.watch("role.slug")&&!R,[N,y]=B.useState(null),[w,A]=B.useState(!1),[L,P]=B.useState(null),v=o=>{const b=o.permission||{},G=b.self||[],Q=G.includes("*"),K=Q?[]:G.filter(H=>H!=="*"),F={};for(const[H,re]of Object.entries(b))if(!(H==="self"||H==="models"))if(H==="*")for(const ie of g)re.includes("*")?F[ie.id]=ie.tools?.map(ce=>ce.name)??[]:F[ie.id]=re;else{const ie=g.find(ce=>ce.id===H);ie&&(re.includes("*")?F[H]=ie.tools?.map(ce=>ce.name)??[]:F[H]=re)}const ee=b.models||[],fe=ee.length===0||ee.includes("*:*"),te={};if(!fe)for(const H of ee){const re=H.indexOf(":");if(re===-1)continue;const ie=H.slice(0,re),ce=H.slice(re+1);te[ie]||(te[ie]=[]),te[ie].push(ce)}const de=(_?.data?.members??[]).filter(H=>H.role===o.role).map(H=>H.id);return{role:{id:o.id,slug:o.role,label:o.label},allowAllStaticPermissions:Q,staticPermissions:K,toolSet:F,allowAllModels:fe,modelSet:te,memberIds:de}},j=o=>{const b=v(o);c.reset(b),x(o.id??null),E(null)},O=()=>{c.reset(it()),x(null),E(null),i("mcp")},M=o=>{f&&C?(P(()=>()=>j(o)),A(!0)):j(o)},S=async()=>{f&&C&&await W(),O()},p=o=>{if(f&&C)P(()=>()=>{const b=ot(o,_?.data?.members??[]);c.reset(b),E(o),x(null),i("org")}),A(!0);else{const b=ot(o,_?.data?.members??[]);c.reset(b),E(o),x(null),i("org")}},D=o=>{if(!o&&c.formState.isDirty&&C){P(()=>()=>{r(!1),c.reset(it()),E(null)}),A(!0);return}if(r(o),!o)c.reset(it()),E(null),x(null);else{const b=h[0];if(b)j(b);else{const G=ot("user",_?.data?.members??[]);c.reset(G),E("user"),x(null),i("org")}}},V=()=>{A(!1),L&&(L(),P(null))},z=o=>{const b={};o.allowAllStaticPermissions?b.self=["*"]:o.staticPermissions.length>0&&(b.self=o.staticPermissions);for(const[G,Q]of Object.entries(o.toolSet))if(Q.length>0){const F=g.find(ee=>ee.id===G)?.tools?.map(ee=>ee.name)??[];F.length>0&&F.every(ee=>Q.includes(ee))?b[G]=["*"]:b[G]=Q}if(o.allowAllModels)b.models=["*:*"];else{const G=[];for(const[Q,K]of Object.entries(o.modelSet))if(K.length>0)for(const F of K)G.push(`${Q}:${F}`);b.models=G}return b},Y=Ne({mutationFn:async o=>{const b=z(o),G=o.role.slug||o.role.label.toLowerCase().replace(/\s+/g,"-");if(o.role.slug&&!o.role.id){const F=(_?.data?.members??[]).filter(te=>te.role===o.role.slug).map(te=>te.id),ee=o.memberIds.filter(te=>!F.includes(te)),fe=F.filter(te=>!o.memberIds.includes(te));for(const te of ee){const X=await ge.organization.updateMemberRole({memberId:te,role:[o.role.slug]});if(X?.error)throw new Error(X.error.message)}for(const te of fe){const X=await ge.organization.updateMemberRole({memberId:te,role:["user"]});if(X?.error)throw new Error(X.error.message)}return o}else if(o.role.id){const K=await ge.organization.updateRole({roleId:o.role.id,data:{permission:b}});if(K?.error)throw new Error(K.error.message);const ee=(_?.data?.members??[]).filter(X=>X.role===o.role.slug).map(X=>X.id),fe=o.memberIds.filter(X=>!ee.includes(X)),te=ee.filter(X=>!o.memberIds.includes(X));for(const X of fe){const de=await ge.organization.updateMemberRole({memberId:X,role:[o.role.slug]});if(de?.error)throw new Error(de.error.message)}for(const X of te){const de=await ge.organization.updateMemberRole({memberId:X,role:["user"]});if(de?.error)throw new Error(de.error.message)}return o}else{const K=await ge.organization.createRole({role:G,permission:b});if(K?.error)throw new Error(K.error.message);for(const F of o.memberIds){const ee=await ge.organization.updateMemberRole({memberId:F,role:[G]});if(ee?.error)throw new Error(ee.error.message)}return{...o,role:{...o.role,id:K.data?.roleData?.id,slug:G}}}},onSuccess:(o,b)=>{l.invalidateQueries({queryKey:ue.members(d)}),l.invalidateQueries({queryKey:ue.organizationRoles(d)});const G=!b.role.id&&!b.role.slug,Q=b.role.slug&&!b.role.id;he(Q?"role_members_updated":G?"role_created":"role_updated",{role_slug:b.role.slug??null,member_count:b.memberIds.length}),ae.success(Q?"Members updated successfully!":G?"Role created successfully!":"Role updated successfully!"),m(),c.reset(o),o.role.id&&x(o.role.id),e?.()},onError:(o,b)=>{const G=!b.role.id&&!b.role.slug,Q=b.role.slug&&!b.role.id;he(Q?"role_members_update_failed":G?"role_create_failed":"role_update_failed",{role_slug:b.role.slug??null,member_count:b.memberIds.length,error:o instanceof Error?o.message:String(o)}),ae.error(o instanceof Error?o.message:"Failed to save role")}}),U=Ne({mutationFn:async o=>{const b=await ge.organization.deleteRole({roleId:o});if(b?.error)throw new Error(b.error.message);return b?.data},onSuccess:(o,b)=>{if(he("role_deleted",{role_id:b}),l.invalidateQueries({queryKey:ue.members(d)}),l.invalidateQueries({queryKey:ue.organizationRoles(d)}),ae.success("Role deleted successfully!"),m(),N?.id===I){const G=h.filter(Q=>Q.id!==N?.id);if(G[0])j(G[0]);else{const Q=ot("user",_?.data?.members??[]);c.reset(Q),E("user"),x(null),i("org")}}},onError:(o,b)=>{he("role_delete_failed",{role_id:b,error:o instanceof Error?o.message:String(o)}),ae.error(o instanceof Error?o.message:"Failed to delete role")}}),Z=Y.isPending||U.isPending,W=async()=>{const o=c.getValues();if(!o.role.label.trim()){ae.error("Role name is required"),c.setFocus("role.label");return}await Y.mutateAsync(o)},ne=c.handleSubmit(o=>{if(!o.role.label.trim()){ae.error("Role name is required"),c.setFocus("role.label");return}Y.mutate(o)}),se=o=>{o.id&&y({id:o.id,label:o.label})},T=()=>{N?.id&&U.mutate(N.id),y(null)};return s.jsxs($t,{open:n,onOpenChange:D,children:[s.jsx(Ft,{asChild:!0,children:t}),s.jsx(Kt,{className:"sm:max-w-5xl h-[80vh] max-h-[80vh] flex flex-col p-0 overflow-hidden w-[95vw]",children:s.jsxs("div",{className:"flex-1 flex overflow-hidden min-h-0 flex-col sm:flex-row",children:[s.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:[s.jsx("div",{className:"flex-1 overflow-auto px-3.5 py-3.5 pt-3.5",children:s.jsxs("div",{className:"flex flex-col gap-1",children:[Xs.map(o=>{const b=R===o.role;return s.jsxs("div",{className:J("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:()=>p(o.role),children:[s.jsx("div",{className:J("shrink-0 size-3 rounded-full",o.color)}),s.jsx("p",{className:"text-sm font-medium truncate flex-1",children:o.label}),s.jsx(Os,{size:14,className:"text-muted-foreground shrink-0"})]},o.role)}),h.map(o=>{const b=I===o.id;return s.jsxs("div",{className:J("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:()=>M(o),children:[s.jsx("div",{className:J("shrink-0 size-3 rounded-full",Js(o.label))}),s.jsx("p",{className:"text-sm font-medium truncate flex-1",children:o.label}),s.jsxs(Nt,{children:[s.jsx(Rt,{asChild:!0,children:s.jsx(le,{variant:"ghost",size:"icon",className:J("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:G=>G.stopPropagation(),children:s.jsx(vs,{size:14})})}),s.jsx(St,{align:"end",children:s.jsxs(at,{className:"text-destructive",onClick:G=>{G.stopPropagation(),se(o)},children:[s.jsx(qt,{size:16}),"Delete"]})})]})]},o.id)}),u&&s.jsxs("div",{className:"flex items-center gap-2 px-2 py-1.5 rounded-lg overflow-hidden bg-accent",children:[s.jsx("div",{className:"shrink-0 size-3 rounded-full bg-neutral-400"}),s.jsx(Ls,{...c.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"}),s.jsx(Re,{variant:"secondary",className:"shrink-0 text-xs px-1.5 py-0",children:"New"})]})]})}),s.jsx("div",{className:"px-3.5 pb-3.5",children:s.jsxs(le,{variant:"outline",size:"default",onClick:S,disabled:Z||f,className:"w-full h-10",children:[s.jsx(ct,{size:16}),"Create new role"]})})]}),s.jsxs("div",{className:"flex-1 flex flex-col min-w-0",children:[s.jsxs("div",{className:"h-12 border-b border-border px-4 py-3.5 flex items-center gap-2 shrink-0",children:[!R&&s.jsx(le,{variant:"outline",size:"sm",onClick:()=>i("mcp"),className:J("h-7 rounded-lg px-2 border border-input transition-colors",a==="mcp"?"bg-accent border-border text-foreground":"bg-transparent text-muted-foreground hover:border-border hover:bg-accent/50 hover:text-foreground"),children:"MCP Permissions"}),s.jsx(le,{variant:"outline",size:"sm",onClick:()=>i("org"),className:J("h-7 rounded-lg px-2 border border-input transition-colors",a==="org"?"bg-accent border-border text-foreground":"bg-transparent text-muted-foreground hover:border-border hover:bg-accent/50 hover:text-foreground"),children:"Organization Permissions"}),s.jsx(le,{variant:"outline",size:"sm",onClick:()=>i("models"),className:J("h-7 rounded-lg px-2 border border-input transition-colors",a==="models"?"bg-accent border-border text-foreground":"bg-transparent text-muted-foreground hover:border-border hover:bg-accent/50 hover:text-foreground"),children:"Models"}),s.jsx(le,{variant:"outline",size:"sm",onClick:()=>i("members"),className:J("h-7 rounded-lg px-2 border border-input transition-colors",a==="members"?"bg-accent border-border text-foreground":"bg-transparent text-muted-foreground hover:border-border hover:bg-accent/50 hover:text-foreground"),children:"Members"})]}),s.jsxs("div",{className:"flex-1 overflow-hidden min-h-0",children:[n&&a==="mcp"&&!R&&s.jsx(Fs,{toolSet:c.watch("toolSet"),onToolSetChange:o=>c.setValue("toolSet",o,{shouldDirty:!0})}),n&&a==="org"&&s.jsx(Ws,{allowAllStaticPermissions:c.watch("allowAllStaticPermissions"),staticPermissions:c.watch("staticPermissions"),onAllowAllChange:o=>c.setValue("allowAllStaticPermissions",o,{shouldDirty:!0}),onPermissionsChange:o=>c.setValue("staticPermissions",o,{shouldDirty:!0}),readOnly:!!R}),n&&a==="models"&&s.jsx(un,{allowAllModels:c.watch("allowAllModels"),modelSet:c.watch("modelSet"),onAllowAllChange:o=>c.setValue("allowAllModels",o,{shouldDirty:!0}),onModelSetChange:o=>c.setValue("modelSet",o,{shouldDirty:!0}),readOnly:!!R}),n&&a==="members"&&s.jsx(Tn,{memberIds:c.watch("memberIds"),onMemberIdsChange:o=>c.setValue("memberIds",o,{shouldDirty:!0}),readOnly:R==="owner"})]}),(!R||R!=="owner")&&s.jsxs("div",{className:"border-t border-border px-5 py-5 flex items-center justify-end gap-2.5 shrink-0",children:[s.jsx(le,{variant:"outline",onClick:()=>D(!1),disabled:Z,className:"h-10",children:"Cancel"}),s.jsx(le,{onClick:ne,disabled:Z||!C||!c.formState.isDirty,className:"h-10",children:Y.isPending?"Saving...":u?"Create Role":"Save Changes"})]})]})]})}),s.jsx(Ke,{open:N!==null,onOpenChange:o=>!o&&y(null),children:s.jsxs(He,{children:[s.jsxs(Qe,{children:[s.jsx(qe,{children:"Delete Role"}),s.jsxs(Ze,{children:['Are you sure you want to delete the "',N?.label,'" role? This action cannot be undone.']})]}),s.jsxs(Xe,{children:[s.jsx(Je,{children:"Cancel"}),s.jsx(We,{onClick:T,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:"Delete"})]})]})}),s.jsx(Ke,{open:w,onOpenChange:A,children:s.jsxs(He,{children:[s.jsxs(Qe,{children:[s.jsx(qe,{children:"Discard Changes"}),s.jsx(Ze,{children:"You have unsaved changes. Are you sure you want to discard them?"})]}),s.jsxs(Xe,{children:[s.jsx(Je,{onClick:()=>P(null),children:"Keep Editing"}),s.jsx(We,{onClick:V,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:"Discard"})]})]})})]})}const In=Ie().email("Invalid email address");function _n(t){if(!t.trim())return[];const e=t.split(/[,;\n]/).map(n=>n.trim().toLowerCase()).filter(n=>n.length>0);return Array.from(new Set(e))}function Cn({trigger:t}){const[e,n]=B.useState(!1),{locator:r}=Ee(),a=Ve(),{data:i}=ge.useSession(),d=i?.user?.email,{roles:l,isLoading:g}=yt(),h=l.filter(E=>E.role!=="owner"),m=Bt({mode:"onChange",defaultValues:{emailsText:"",role:"user"}}),_=m.watch("emailsText"),c=m.watch("role"),f=_n(_).filter(E=>{const u=In.safeParse(E).success,N=!d||E!==d.toLowerCase();return u&&N}),I=Ne({mutationFn:async({emails:E,role:u})=>{if(!u)throw new Error("Please select a role");const N=await Promise.allSettled(E.map(async w=>{const A=await ge.organization.inviteMember({email:w,role:u});if(A.error)throw new Error(A.error.message);return A.data})),y=N.filter(w=>w.status==="rejected");if(y.length>0)throw new Error(`Failed to invite ${y.length} member${y.length>1?"s":""}`);return N},onSuccess:(E,{emails:u,role:N})=>{he("member_invited",{count:u.length,role:N}),a.invalidateQueries({queryKey:ue.members(r)}),a.invalidateQueries({queryKey:ue.invitations(r)}),ae.success(u.length===1?"Member invited successfully!":`${u.length} members invited successfully!`),m.reset({emailsText:"",role:"user"}),n(!1)},onError:(E,{emails:u,role:N})=>{he("member_invite_failed",{count:u.length,role:N,error:E instanceof Error?E.message:String(E)}),ae.error(E instanceof Error?E.message:"Failed to invite members")}}),x=E=>{if(f.length===0){ae.error("Please enter at least one valid email address");return}if(!E.role){ae.error("Please select a role");return}I.mutate({emails:f,role:E.role})},R=f.length>0&&!!c;return s.jsxs($t,{open:e,onOpenChange:n,children:[s.jsx(Ft,{asChild:!0,children:t}),s.jsxs(Kt,{className:"sm:max-w-lg",children:[s.jsx(_s,{children:s.jsx(Cs,{children:"Invite members"})}),s.jsx(Ps,{...m,children:s.jsxs("form",{onSubmit:m.handleSubmit(x),className:"space-y-4",children:[s.jsx(Pt,{control:m.control,name:"emailsText",render:({field:E})=>s.jsxs(wt,{children:[s.jsx(ws,{children:"Email addresses"}),s.jsx(Mt,{children:s.jsx(Ms,{...E,disabled:I.isPending,placeholder:`Enter email addresses separated by commas or new lines
|
|
1
|
+
import{r as B,e as oe,c as J,j as s,s as Ee,K as ue,aN as ss,l as Ue,B as le,n as mt,b as ge,v as At,aL as rt,y as Ie,aJ as vt,a$ as jt,o as Ve,x as Bt,w as ns,a as Ne,t as he,z as ae,V as rs,E as is}from"./index-BR4Tv9I4.js";import{C as os}from"./collection-display-button-CLTxoM3d.js";import{S as ls}from"./search-input-DmblMA4A.js";import{P as Ge}from"./index-BxuUqWWJ.js";import{C as as}from"./collection-table-wrapper-BzqYYOAP.js";import{P as cs,D as ds}from"./ai-providers-logos-CS4PCiqI.js";import{I as Yt}from"./integration-icon-EHHTVGeJ.js";import{u as ms}from"./use-infinite-scroll-BE8Qm8G-.js";import{C as Fe}from"./checkbox-Cx3RPx8a.js";import{i as us,b as gs}from"./SearchMd-BQ703EvX.js";import{u as fs,a as ft,b as ht,c as Ot,C as hs,e as ps,f as xs,d as Ts}from"./command-rQqgIdbd.js";import{u as ze,S as Be}from"./constants-CN6Il9QM.js";import{C as et}from"./collection-search-CcNzJi6D.js";import{u as Ct}from"./use-members-DH_gyd2k.js";import{u as Es}from"./use-connection-NZXO3HH3.js";import{u as bs,c as Is}from"./use-ai-providers-LqR26vuo.js";import{A as ke}from"./avatar-BeRTzZHX.js";import{B as Re}from"./badge-OuHAk68F.js";import{f as Ke,a as He,b as Qe,c as qe,d as Ze,e as Xe,A as Je,g as We}from"./alert-dialog-BJ0hwa2l.js";import{d as $t,h as Ft,c as Kt,a as _s,D as Cs,b as Ns}from"./dialog-BG20y4ti.js";import{c as Nt,d as Rt,e as St,D as at,a as Rs,f as Ss,b as ys,i as As}from"./dropdown-menu-D_gbsFgj.js";import{L as vs,s as Ht,ab as js,x as Qt}from"./agent-icon-FJlZxNBT.js";import{i as Os}from"./Lock01-B4C5ICSW.js";import{s as ct}from"./Plus-BM77-3yZ.js";import{s as qt}from"./Trash01-DeQUJecj.js";import{i as Lt}from"./X-B19qdsWt.js";import{I as Ls}from"./input-C6wlfqbz.js";import{S as Ce}from"./switch-CM_vPUzz.js";import{T as Se,c as ye,a as Ae,b as ve}from"./use-mobile-UG3f-VUD.js";import{E as pt}from"./empty-state-B4p5HAyS.js";import{F as Ps,a as Pt,b as wt,c as ws,d as Mt,e as Dt}from"./form-DVLM8o8l.js";import{a as Tt,c as Et,d as bt,S as It,b as _t}from"./select-BQ3zutkO.js";import{T as Ms}from"./textarea-Bxm5HSBV.js";import{C as Gt}from"./card-64W2yOQo.js";import{g as Zt}from"./XCircle-Cu_m9KsD.js";import{a as Ds,b as Gs,P as Us}from"./popover-DL7_3A88.js";import{t as ks}from"./ChevronDown-vRDN8zoj.js";import"./view-mode-toggle-B0na2o09.js";import"./table-S8IBqobR.js";import"./Container-DsC3rtEa.js";import"./infiniteQueryObserver-DjdUCzEf.js";import"./index-BZ-_pOxX.js";import"./use-collections-Bo1B5pfj.js";import"./User01-CFTuPOYw.js";import"./ChevronRight-P2x5wJJp.js";import"./AlertCircle-i753hIUr.js";import"./Tool01-DV6LLMyv.js";import"./ArrowNarrowLeft-DyneV8jh.js";import"./ZapSquare-Bzu6OwXc.js";import"./Users03-AWMGi4Xo.js";import"./CheckCircle-BDNIuV_g.js";import"./ChevronUp-Dg737K7F.js";import"./Star01-D8uixfU7.js";import"./Palette-CxbsG8jb.js";import"./LinkExternal01-Cw9xV77y.js";import"./Sun-Dzvpwc78.js";import"./Play-F_qMNNeX.js";import"./Settings02-CZ-RzoRL.js";import"./Upload01-C7vhn2fS.js";import"./Zap-kmaaq3eG.js";import"./label-CMuBjs0l.js";const Xt=[{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:"BRAND_CONTEXT_LIST",description:"List brand contexts",category:"Organizations"},{name:"BRAND_CONTEXT_GET",description:"View brand context",category:"Organizations"},{name:"BRAND_CONTEXT_CREATE",description:"Create brand context",category:"Organizations"},{name:"BRAND_CONTEXT_UPDATE",description:"Update brand context",category:"Organizations"},{name:"BRAND_CONTEXT_DELETE",description:"Delete brand context",category:"Organizations",dangerous:!0},{name:"BRAND_CONTEXT_EXTRACT",description:"Extract brand context from website",category:"Organizations"},{name:"BRAND_GET",description:"Get brand (binding)",category:"Organizations"},{name:"BRAND_LIST",description:"List brands (binding)",category:"Organizations"},{name:"ORGANIZATION_DOMAIN_GET",description:"Get organization domain claim",category:"Organizations"},{name:"ORGANIZATION_DOMAIN_SET",description:"Set organization domain claim",category:"Organizations"},{name:"ORGANIZATION_DOMAIN_UPDATE",description:"Update organization domain settings",category:"Organizations"},{name:"ORGANIZATION_DOMAIN_CLEAR",description:"Clear organization domain claim",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_LOG_GET",description:"View monitoring log details",category:"Monitoring"},{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:"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"},{name:"TAGS_LIST",description:"List organization tags",category:"Tags"},{name:"TAGS_CREATE",description:"Create organization tag",category:"Tags"},{name:"TAGS_DELETE",description:"Delete organization tag",category:"Tags",dangerous:!0},{name:"MEMBER_TAGS_GET",description:"Get member tags",category:"Tags"},{name:"MEMBER_TAGS_SET",description:"Set member tags",category:"Tags"},{name:"AUTOMATION_CREATE",description:"Create automation",category:"Automations"},{name:"AUTOMATION_GET",description:"View automation details",category:"Automations"},{name:"AUTOMATION_LIST",description:"List automations",category:"Automations"},{name:"AUTOMATION_UPDATE",description:"Update automation",category:"Automations"},{name:"AUTOMATION_DELETE",description:"Delete automation",category:"Automations",dangerous:!0},{name:"AUTOMATION_TRIGGER_ADD",description:"Add trigger to automation",category:"Automations"},{name:"AUTOMATION_TRIGGER_REMOVE",description:"Remove trigger from automation",category:"Automations"},{name:"AUTOMATION_RUN",description:"Manually trigger an automation run",category:"Automations"},{name:"VIRTUAL_MCP_PLUGIN_CONFIG_GET",description:"View virtual MCP plugin configuration",category:"Virtual MCPs"},{name:"VIRTUAL_MCP_PLUGIN_CONFIG_UPDATE",description:"Update virtual MCP plugin configuration",category:"Virtual MCPs"},{name:"VIRTUAL_MCP_PINNED_VIEWS_UPDATE",description:"Update virtual MCP pinned sidebar views",category:"Virtual MCPs"},{name:"AI_PROVIDERS_LIST",description:"List available AI providers",category:"AI Providers"},{name:"AI_PROVIDERS_LIST_MODELS",description:"List AI provider models",category:"AI Providers"},{name:"AI_PROVIDERS_ACTIVE",description:"List active AI providers",category:"AI Providers"},{name:"AI_PROVIDER_KEY_CREATE",description:"Store AI provider API key",category:"AI Providers"},{name:"AI_PROVIDER_KEY_LIST",description:"List AI provider API keys",category:"AI Providers"},{name:"AI_PROVIDER_KEY_DELETE",description:"Delete AI provider API key",category:"AI Providers",dangerous:!0},{name:"AI_PROVIDER_OAUTH_URL",description:"Get OAuth URL for provider",category:"AI Providers"},{name:"AI_PROVIDER_OAUTH_EXCHANGE",description:"Exchange OAuth code for API key",category:"AI Providers"},{name:"AI_PROVIDER_PROVISION_KEY",description:"Auto-provision API key for a provider",category:"AI Providers"},{name:"AI_PROVIDER_TOPUP_URL",description:"Get checkout URL to top up provider credits",category:"AI Providers"},{name:"AI_PROVIDER_CREDITS",description:"Get current credit balance for a provider",category:"AI Providers"},{name:"AI_PROVIDER_CLI_ACTIVATE",description:"Activate Claude Code via local CLI",category:"AI Providers"},{name:"LIST_OBJECTS",description:"List objects in storage",category:"Object Storage"},{name:"GET_OBJECT_METADATA",description:"Get object metadata",category:"Object Storage"},{name:"GET_PRESIGNED_URL",description:"Generate download URL",category:"Object Storage"},{name:"PUT_PRESIGNED_URL",description:"Generate upload URL",category:"Object Storage"},{name:"DELETE_OBJECT",description:"Delete object",category:"Object Storage",dangerous:!0},{name:"DELETE_OBJECTS",description:"Delete multiple objects",category:"Object Storage",dangerous:!0},{name:"COLLECTION_REGISTRY_APP_LIST",description:"List registry apps",category:"Registry"},{name:"COLLECTION_REGISTRY_APP_GET",description:"Get registry app details",category:"Registry"},{name:"COLLECTION_REGISTRY_APP_VERSIONS",description:"List registry app versions",category:"Registry"},{name:"COLLECTION_REGISTRY_APP_FILTERS",description:"Get registry app filters",category:"Registry"},{name:"REGISTRY_ITEM_LIST",description:"List private registry items",category:"Registry"},{name:"REGISTRY_ITEM_SEARCH",description:"Search registry items",category:"Registry"},{name:"REGISTRY_ITEM_GET",description:"Get registry item details",category:"Registry"},{name:"REGISTRY_ITEM_VERSIONS",description:"List registry item versions",category:"Registry"},{name:"REGISTRY_ITEM_CREATE",description:"Create registry item",category:"Registry"},{name:"REGISTRY_ITEM_BULK_CREATE",description:"Bulk create registry items",category:"Registry"},{name:"REGISTRY_ITEM_UPDATE",description:"Update registry item",category:"Registry"},{name:"REGISTRY_ITEM_DELETE",description:"Delete registry item",category:"Registry",dangerous:!0},{name:"REGISTRY_ITEM_FILTERS",description:"Get registry item filters",category:"Registry"},{name:"REGISTRY_DISCOVER_TOOLS",description:"Discover tools from MCP server",category:"Registry"},{name:"REGISTRY_AI_GENERATE",description:"AI-generate registry content",category:"Registry"},{name:"REGISTRY_PUBLISH_REQUEST_LIST",description:"List publish requests",category:"Registry"},{name:"REGISTRY_PUBLISH_REQUEST_REVIEW",description:"Review publish request",category:"Registry"},{name:"REGISTRY_PUBLISH_REQUEST_COUNT",description:"Count pending publish requests",category:"Registry"},{name:"REGISTRY_PUBLISH_REQUEST_DELETE",description:"Delete publish request",category:"Registry",dangerous:!0},{name:"REGISTRY_PUBLISH_API_KEY_GENERATE",description:"Generate publish API key",category:"Registry"},{name:"REGISTRY_PUBLISH_API_KEY_LIST",description:"List publish API keys",category:"Registry"},{name:"REGISTRY_PUBLISH_API_KEY_REVOKE",description:"Revoke publish API key",category:"Registry",dangerous:!0},{name:"REGISTRY_MONITOR_RUN_START",description:"Start monitor run",category:"Registry"},{name:"REGISTRY_MONITOR_RUN_LIST",description:"List monitor runs",category:"Registry"},{name:"REGISTRY_MONITOR_RUN_GET",description:"Get monitor run details",category:"Registry"},{name:"REGISTRY_MONITOR_RUN_CANCEL",description:"Cancel monitor run",category:"Registry"},{name:"REGISTRY_MONITOR_RESULT_LIST",description:"List monitor results",category:"Registry"},{name:"REGISTRY_MONITOR_CONNECTION_LIST",description:"List monitor connections",category:"Registry"},{name:"REGISTRY_MONITOR_CONNECTION_SYNC",description:"Sync monitor connections",category:"Registry"},{name:"REGISTRY_MONITOR_CONNECTION_UPDATE_AUTH",description:"Update monitor connection auth",category:"Registry"},{name:"REGISTRY_MONITOR_SCHEDULE_SET",description:"Set monitor schedule",category:"Registry"},{name:"REGISTRY_MONITOR_SCHEDULE_CANCEL",description:"Cancel monitor schedule",category:"Registry"},{name:"VM_START",description:"Start a Freestyle VM with dev server preview",category:"VM"},{name:"VM_DELETE",description:"Stop and delete a Freestyle VM",category:"VM"},{name:"GITHUB_LIST_USER_ORGS",description:"List GitHub user's personal account and organizations",category:"GitHub"}],Vs={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",BRAND_CONTEXT_LIST:"List brand contexts",BRAND_CONTEXT_GET:"View brand context",BRAND_CONTEXT_CREATE:"Create brand context",BRAND_CONTEXT_UPDATE:"Update brand context",BRAND_CONTEXT_DELETE:"Delete brand context",BRAND_CONTEXT_EXTRACT:"Extract brand from website",BRAND_GET:"Get brand",BRAND_LIST:"List brands",ORGANIZATION_DOMAIN_GET:"Get domain claim",ORGANIZATION_DOMAIN_SET:"Set domain claim",ORGANIZATION_DOMAIN_UPDATE:"Update domain settings",ORGANIZATION_DOMAIN_CLEAR:"Clear domain claim",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_LOG_GET:"View monitoring log details",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",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",TAGS_LIST:"List organization tags",TAGS_CREATE:"Create organization tag",TAGS_DELETE:"Delete organization tag",MEMBER_TAGS_GET:"Get member tags",MEMBER_TAGS_SET:"Set member tags",VIRTUAL_MCP_PLUGIN_CONFIG_GET:"View plugin config",VIRTUAL_MCP_PLUGIN_CONFIG_UPDATE:"Update plugin config",VIRTUAL_MCP_PINNED_VIEWS_UPDATE:"Update pinned views",AUTOMATION_CREATE:"Create automation",AUTOMATION_GET:"View automation details",AUTOMATION_LIST:"List automations",AUTOMATION_UPDATE:"Update automation",AUTOMATION_DELETE:"Delete automation",AUTOMATION_TRIGGER_ADD:"Add trigger",AUTOMATION_TRIGGER_REMOVE:"Remove trigger",AUTOMATION_RUN:"Run automation",AI_PROVIDERS_LIST:"List AI providers",AI_PROVIDERS_LIST_MODELS:"List AI models",AI_PROVIDERS_ACTIVE:"List active providers",AI_PROVIDER_KEY_CREATE:"Create provider key",AI_PROVIDER_KEY_LIST:"List provider keys",AI_PROVIDER_KEY_DELETE:"Delete provider key",AI_PROVIDER_OAUTH_URL:"Get OAuth URL",AI_PROVIDER_OAUTH_EXCHANGE:"Connect via OAuth",AI_PROVIDER_PROVISION_KEY:"Auto-provision key",AI_PROVIDER_TOPUP_URL:"Get top-up checkout URL",AI_PROVIDER_CREDITS:"Get credit balance",AI_PROVIDER_CLI_ACTIVATE:"Activate Claude Code CLI",LIST_OBJECTS:"List objects",GET_OBJECT_METADATA:"Get object metadata",GET_PRESIGNED_URL:"Generate download URL",PUT_PRESIGNED_URL:"Generate upload URL",DELETE_OBJECT:"Delete object",DELETE_OBJECTS:"Delete multiple objects",COLLECTION_REGISTRY_APP_LIST:"List registry apps",COLLECTION_REGISTRY_APP_GET:"Get registry app",COLLECTION_REGISTRY_APP_VERSIONS:"List registry app versions",COLLECTION_REGISTRY_APP_FILTERS:"Get registry filters",REGISTRY_ITEM_LIST:"List registry items",REGISTRY_ITEM_SEARCH:"Search registry",REGISTRY_ITEM_GET:"Get registry item",REGISTRY_ITEM_VERSIONS:"List item versions",REGISTRY_ITEM_CREATE:"Create registry item",REGISTRY_ITEM_BULK_CREATE:"Bulk create items",REGISTRY_ITEM_UPDATE:"Update registry item",REGISTRY_ITEM_DELETE:"Delete registry item",REGISTRY_ITEM_FILTERS:"Get item filters",REGISTRY_DISCOVER_TOOLS:"Discover tools",REGISTRY_AI_GENERATE:"AI generate content",REGISTRY_PUBLISH_REQUEST_LIST:"List publish requests",REGISTRY_PUBLISH_REQUEST_REVIEW:"Review publish request",REGISTRY_PUBLISH_REQUEST_COUNT:"Count publish requests",REGISTRY_PUBLISH_REQUEST_DELETE:"Delete publish request",REGISTRY_PUBLISH_API_KEY_GENERATE:"Generate API key",REGISTRY_PUBLISH_API_KEY_LIST:"List API keys",REGISTRY_PUBLISH_API_KEY_REVOKE:"Revoke API key",REGISTRY_MONITOR_RUN_START:"Start monitor run",REGISTRY_MONITOR_RUN_LIST:"List monitor runs",REGISTRY_MONITOR_RUN_GET:"Get monitor run",REGISTRY_MONITOR_RUN_CANCEL:"Cancel monitor run",REGISTRY_MONITOR_RESULT_LIST:"List monitor results",REGISTRY_MONITOR_CONNECTION_LIST:"List monitor connections",REGISTRY_MONITOR_CONNECTION_SYNC:"Sync monitor connections",REGISTRY_MONITOR_CONNECTION_UPDATE_AUTH:"Update connection auth",REGISTRY_MONITOR_SCHEDULE_SET:"Set monitor schedule",REGISTRY_MONITOR_SCHEDULE_CANCEL:"Cancel monitor schedule",VM_START:"Start VM preview",VM_DELETE:"Delete VM preview",GITHUB_LIST_USER_ORGS:"List GitHub user orgs"};function zs(){const t={Organizations:[],Connections:[],"Virtual MCPs":[],Threads:[],Monitoring:[],Users:[],"API Keys":[],"Event Bus":[],Tags:[],"AI Providers":[],Automations:[],"Object Storage":[],Registry:[],GitHub:[],VM:[]};for(const e of Xt)t[e.category]?.push(e);return t}function Bs(){return Xt.map(t=>({value:t.name,label:Vs[t.name],dangerous:t.dangerous}))}const Ys=B.memo(function(e){const n=oe.c(21),{connection:r,isSelected:a,hasToolsEnabled:i,activeToolsCount:d,totalToolsCount:l,onSelect:g,onToggle:h}=e,m=a?"bg-accent/50":"hover:bg-muted/50";let _;n[0]!==m?(_=J("flex items-center gap-3 p-2 rounded-lg transition-colors will-change-auto",m),n[0]=m,n[1]=_):_=n[1];let c;n[2]!==r.icon||n[3]!==r.title?(c=s.jsx(Yt,{icon:r.icon,name:r.title,size:"xs"}),n[2]=r.icon,n[3]=r.title,n[4]=c):c=n[4];let C;n[5]!==r.title?(C=s.jsx("div",{className:"flex-1 min-w-0",children:s.jsx("p",{className:"text-sm font-medium text-foreground truncate",children:r.title})}),n[5]=r.title,n[6]=C):C=n[6];let f;n[7]!==g||n[8]!==c||n[9]!==C?(f=s.jsxs("div",{className:"flex items-center gap-3 flex-1 min-w-0 cursor-pointer",onClick:g,children:[c,C]}),n[7]=g,n[8]=c,n[9]=C,n[10]=f):f=n[10];let I;n[11]!==d||n[12]!==r.tools||n[13]!==i||n[14]!==h||n[15]!==l?(I=r.tools&&r.tools.length>0&&s.jsxs(s.Fragment,{children:[s.jsxs("span",{className:"text-xs text-muted-foreground shrink-0",children:[d,"/",l]}),s.jsx(Fe,{checked:i,onCheckedChange:h,onClick:Ks})]}),n[11]=d,n[12]=r.tools,n[13]=i,n[14]=h,n[15]=l,n[16]=I):I=n[16];let x;return n[17]!==_||n[18]!==f||n[19]!==I?(x=s.jsxs("div",{className:_,children:[f,I]}),n[17]=_,n[18]=f,n[19]=I,n[20]=x):x=n[20],x}),$s=B.memo(function(e){const n=oe.c(18),{connectionId:r,tool:a,isSelected:i,onToggle:d}=e,l=`tool-${r}-${a.name}`,g=i?"text-foreground":"text-muted-foreground";let h;n[0]!==g?(h=J("text-sm font-medium",g),n[0]=g,n[1]=h):h=n[1];let m;n[2]!==h||n[3]!==a.name?(m=s.jsx("div",{className:"flex items-center gap-2 mb-1",children:s.jsx("span",{className:h,children:a.name})}),n[2]=h,n[3]=a.name,n[4]=m):m=n[4];let _;n[5]!==a.description?(_=a.description&&s.jsx("p",{className:"text-xs text-muted-foreground line-clamp-2",children:a.description}),n[5]=a.description,n[6]=_):_=n[6];let c;n[7]!==m||n[8]!==_?(c=s.jsxs("div",{className:"flex-1 min-w-0",children:[m,_]}),n[7]=m,n[8]=_,n[9]=c):c=n[9];const C=`tool-${r}-${a.name}`;let f;n[10]!==i||n[11]!==d||n[12]!==C?(f=s.jsx("div",{className:"flex items-center shrink-0",children:s.jsx(Fe,{id:C,checked:i,onCheckedChange:d,onClick:Hs})}),n[10]=i,n[11]=d,n[12]=C,n[13]=f):f=n[13];let I;return n[14]!==l||n[15]!==c||n[16]!==f?(I=s.jsxs("label",{className:"flex items-center gap-3 p-3 rounded-lg hover:bg-muted/50 cursor-pointer group will-change-auto",htmlFor:l,children:[c,f]}),n[14]=l,n[15]=c,n[16]=f,n[17]=I):I=n[17],I});function Fs({toolSet:t,onToolSetChange:e,excludeVirtualMcpId:n}){const[r,a]=B.useState(""),i=B.useDeferredValue(r),[d,l]=B.useState("all"),[g,h]=B.useState(!1),m=B.useRef(new Set(Object.keys(t))),{org:_}=Ee(),c=ze({connectionId:Be,orgId:_.id}),C=100,f=i.trim(),I=f?{operator:"or",conditions:[{field:["title"],operator:"contains",value:f},{field:["description"],operator:"contains",value:f}]}:void 0,x=!!n,R={...I&&{where:I},orderBy:[{field:["updated_at"],direction:"asc"}],limit:C,offset:0,...x&&{include_virtual:!0}},E=JSON.stringify(R),{data:u,fetchNextPage:N,hasNextPage:y,isFetchingNextPage:w}=fs({queryKey:ue.collectionListInfinite(c,_.id,"","CONNECTIONS",E),queryFn:async({pageParam:T=0})=>(await c.callTool({name:"COLLECTION_CONNECTIONS_LIST",arguments:{...I&&{where:I},orderBy:[{field:["updated_at"],direction:"asc"}],limit:C,offset:T,...x&&{include_virtual:!0}}})).structuredContent,initialPageParam:0,getNextPageParam:(T,o)=>{if(T?.hasMore)return o.reduce((b,G)=>b+(G?.items?.length??0),0)},staleTime:3e4}),A=u?.pages.flatMap(T=>T?.items??[])??[],L=ms(N,y??!1,w),P=n?A.filter(T=>T.connection_type!=="VIRTUAL"?!0:ss(T.connection_url)!==n):A,v=m.current,j=[...v.values()].map(T=>P.find(o=>o.id===T)).filter(T=>T!==void 0),O=P.filter(T=>!v.has(T.id)),M=[...j,...O],S=T=>{const o=t[T];return o!==void 0&&o.length>0},p=M.filter(T=>{if(d==="all")return!0;const o=S(T.id);return d==="selected"?o:d==="unselected"?!o:!0}),[D,V]=B.useState(M[0]?.id??null),z=D?M.find(T=>T.id===D)??null:null,Y=z?.tools??[],U=(T,o)=>t[T]?.includes(o)??!1,Z=(T,o)=>{const b=t[T]??[],G=b.includes(o),Q={...t};if(G){const K=b.filter(F=>F!==o);K.length===0?delete Q[T]:Q[T]=K}else Q[T]=[...b,o];e(Q)},W=T=>{const o=M.find(F=>F.id===T);if(!o?.tools)return;const b=t[T]??[],G=o.tools.map(F=>F.name),Q=b.length>0&&G.every(F=>b.includes(F)),K={...t};Q?delete K[T]:(K[T]=G,V(T)),e(K)},ne=T=>{V(T),h(!0)},se=()=>{h(!1)};return s.jsxs("div",{className:"flex h-full",children:[s.jsxs("div",{className:J("w-full md:w-80 border-r border-border flex flex-col",g&&"hidden md:flex"),children:[s.jsx(et,{value:r,onChange:a,placeholder:"Search MCP Servers..."}),s.jsxs("div",{className:"flex gap-1 p-2 border-b border-border",children:[s.jsx("button",{onClick:()=>l("all"),className:J("flex-1 px-3 py-1.5 text-xs font-medium rounded-md transition-colors border cursor-pointer",d==="all"?"bg-muted border-border":"border-border opacity-75 hover:opacity-100"),children:"All"}),s.jsx("button",{onClick:()=>l("selected"),className:J("flex-1 px-3 py-1.5 text-xs font-medium rounded-md transition-colors border cursor-pointer",d==="selected"?"bg-muted border-border":"border-border opacity-75 hover:opacity-100"),children:"Selected"}),s.jsx("button",{onClick:()=>l("unselected"),className:J("flex-1 px-3 py-1.5 text-xs font-medium rounded-md transition-colors border cursor-pointer",d==="unselected"?"bg-muted border-border":"border-border opacity-75 hover:opacity-100"),children:"Unselected"})]}),s.jsx("div",{className:"flex-1 overflow-auto",children:p.length===0?s.jsx("div",{className:"p-4 text-sm text-muted-foreground text-center",children:r?"No connections found":d==="selected"?"No servers selected":d==="unselected"?"No unselected servers":"No connections available"}):s.jsxs("div",{className:"p-2 space-y-1",children:[p.map(T=>{const o=T.tools?.length??0,b=t[T.id]?.length??0;return s.jsx(Ys,{connection:T,isSelected:D===T.id,hasToolsEnabled:S(T.id),activeToolsCount:b,totalToolsCount:o,onSelect:()=>ne(T.id),onToggle:()=>W(T.id)},T.id)}),s.jsx("div",{ref:L,className:"h-4"}),w&&s.jsx("div",{className:"flex justify-center py-3",children:s.jsx(Ue,{size:18,className:"animate-spin text-muted-foreground"})})]})})]}),s.jsx("div",{className:J("flex-1 flex-col",g?"flex":"hidden md:flex"),children:z?s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:"md:hidden border-b border-border p-4 flex items-center gap-3",children:[s.jsx(le,{variant:"ghost",size:"sm",onClick:se,className:"h-8 w-8 p-0 shrink-0",children:s.jsx(us,{size:20})}),s.jsxs("div",{className:"flex items-center gap-3 flex-1 min-w-0",children:[s.jsx(Yt,{icon:z.icon,name:z.title,size:"sm"}),s.jsxs("div",{className:"flex-1 min-w-0",children:[s.jsx("h3",{className:"text-base font-medium text-foreground truncate",children:z.title}),z.description&&s.jsx("p",{className:"text-sm text-muted-foreground truncate",children:z.description})]})]})]}),s.jsx("div",{className:"flex-1 overflow-auto p-4",children:Y.length===0?s.jsx("div",{className:"text-sm text-muted-foreground text-center py-8",children:"This connection has no tools available"}):s.jsx("div",{className:"space-y-2",children:Y.map(T=>s.jsx($s,{connectionId:z.id,tool:T,isSelected:U(z.id,T.name),onToggle:()=>Z(z.id,T.name)},T.name))})})]}):s.jsx("div",{className:"flex-1 flex items-center justify-center",children:s.jsx("div",{className:"text-sm text-muted-foreground text-center",children:"Select a connection to view its tools"})})})]})}function Ks(t){return t.stopPropagation()}function Hs(t){return t.stopPropagation()}const Ut=[{value:"owner",label:"Owner",isBuiltin:!0},{value:"admin",label:"Admin",isBuiltin:!0},{value:"user",label:"User",isBuiltin:!0}];function Qs(t){return t.replace(/-/g," ")}function qs(t){if(!t)return{staticPermissions:[],allowsAllStaticPermissions:!1,connectionIds:[],allowsAllConnections:!1,toolNames:[],allowsAllTools:!1,modelCount:0,allowsAllModels:!1};const e=[];let n=!1;const r=[];let a=!1;const i=new Set;let d=!1,l=0,g=!1;for(const[h,m]of Object.entries(t)){if(h==="self"){m.includes("*")?n=!0:e.push(...m);continue}if(h==="models"){m.includes("*:*")?g=!0:l=m.length;continue}if(h==="*"){if(a=!0,m.includes("*"))d=!0;else for(const _ of m)i.add(_);continue}if(r.push(h),m.includes("*"))d=!0;else for(const _ of m)i.add(_)}return{staticPermissions:e,allowsAllStaticPermissions:n,connectionIds:r,allowsAllConnections:a,toolNames:Array.from(i),allowsAllTools:d,modelCount:l,allowsAllModels:g}}function yt(){const{locator:t}=Ee(),{data:e,isLoading:n,error:r,refetch:a}=mt({queryKey:ue.organizationRoles(t),queryFn:async()=>{try{const l=await ge.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}),i=Ut.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||Ut.some(R=>R.value===g))continue;const{staticPermissions:h,allowsAllStaticPermissions:m,connectionIds:_,allowsAllConnections:c,toolNames:C,allowsAllTools:f,modelCount:I,allowsAllModels:x}=qs(l.permission);i.push({id:l.id,role:g,label:Qs(g),isBuiltin:!1,permission:l.permission??void 0,staticPermissionCount:m?-1:h.length,allowsAllStaticPermissions:m,connectionCount:c?-1:_.length,allowsAllConnections:c,toolCount:f?-1:C.length,allowsAllTools:f,modelCount:x?-1:I,allowsAllModels:x})}const d=i.filter(l=>!l.isBuiltin);return{roles:i,customRoles:d,builtinRoles:i.filter(l=>l.isBuiltin),isLoading:n,error:r,refetch:a}}const Zs=At({role:At({id:Ie().optional(),slug:Ie().optional(),label:Ie()}),allowAllStaticPermissions:jt(),staticPermissions:rt(Ie()),toolSet:vt(Ie(),rt(Ie())),allowAllModels:jt(),modelSet:vt(Ie(),rt(Ie())),memberIds:rt(Ie())});function Jt(t){return t?t.split(" ").map(e=>e[0]).join("").toUpperCase().slice(0,2):"?"}const Xs=[{role:"owner",label:"Owner",color:"bg-red-500"},{role:"admin",label:"Admin",color:"bg-blue-500"},{role:"user",label:"User",color:"bg-green-500"}],xt=["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 Js(t){if(!t)return"bg-neutral-400";let e=0;for(let r=0;r<t.length;r++){const a=t.charCodeAt(r);e=(e<<5)-e+a,e=e&e}const n=Math.abs(e)%xt.length;return xt[n]??xt[0]}function it(){return{role:{id:void 0,slug:void 0,label:""},allowAllStaticPermissions:!1,staticPermissions:[],toolSet:{},allowAllModels:!0,modelSet:{},memberIds:[]}}function Ws(t){const e=oe.c(39),{allowAllStaticPermissions:n,staticPermissions:r,onAllowAllChange:a,onPermissionsChange:i,readOnly:d}=t,l=d===void 0?!1:d,[g,h]=B.useState(""),m=B.useDeferredValue(g);let _,c,C,f,I;if(e[0]!==n||e[1]!==m||e[2]!==a||e[3]!==i||e[4]!==l||e[5]!==g||e[6]!==r){const E=zs(),u=Bs(),N=u.filter(j=>j.label.toLowerCase().includes(m.toLowerCase())),y=j=>{if(r.includes(j))i(r.filter(O=>O!==j));else{const O=[...r,j];O.length===u.length?(a(!0),i([])):i(O)}};C="flex flex-col h-full",e[12]!==g?(f=s.jsx("div",{className:"border-b border-border",children:s.jsx(et,{value:g,onChange:h,placeholder:"Search permissions...",className:"border-b-0"})}),e[12]=g,e[13]=f):f=e[13];const w=!l&&"hover:bg-muted/50 cursor-pointer";let A;e[14]!==w?(A=J("flex items-center justify-between px-4 py-3 rounded-lg",w),e[14]=w,e[15]=A):A=e[15];let L;e[16]!==n||e[17]!==a||e[18]!==i||e[19]!==l?(L=()=>{if(l)return;a(!n),i([])},e[16]=n,e[17]=a,e[18]=i,e[19]=l,e[20]=L):L=e[20];let P;e[21]===Symbol.for("react.memo_cache_sentinel")?(P=s.jsx("span",{className:"text-sm font-medium",children:"All organization permissions"}),e[21]=P):P=e[21];let v;e[22]!==n||e[23]!==a||e[24]!==i||e[25]!==l?(v=s.jsx("div",{onClick:rn,children:l?s.jsx(Se,{children:s.jsxs(ye,{children:[s.jsx(Ae,{asChild:!0,children:s.jsx("div",{children:s.jsx(Ce,{checked:n,disabled:l,onCheckedChange:j=>{l||(a(j),i([]))}})})}),s.jsx(ve,{children:s.jsx("p",{children:"Built-in role permissions cannot be changed"})})]})}):s.jsx(Ce,{checked:n,disabled:l,onCheckedChange:j=>{l||(a(j),i([]))}})}),e[22]=n,e[23]=a,e[24]=i,e[25]=l,e[26]=v):v=e[26],e[27]!==v||e[28]!==A||e[29]!==L?(I=s.jsx("div",{className:"border-b border-border",children:s.jsxs("div",{className:A,onClick:L,children:[P,v]})}),e[27]=v,e[28]=A,e[29]=L,e[30]=I):I=e[30],_="flex-1 overflow-auto",c=Object.entries(E).map(j=>{const[O,M]=j,S=N.filter(p=>M.some(D=>D.name===p.value));return S.length===0?null:s.jsxs("div",{className:"mb-6 last:mb-0",children:[s.jsx("h4",{className:"text-sm font-medium p-3 pb-1.5 text-muted-foreground/75",children:O}),s.jsx("div",{className:"space-y-1",children:S.map(p=>s.jsxs("div",{className:J("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 D=u.map(nn);i(D.filter(V=>V!==p.value))}else y(p.value)},children:[s.jsx("div",{className:"flex-1 min-w-0",children:s.jsx("span",{className:"text-sm",children:p.label})}),s.jsx("div",{onClick:sn,children:l?s.jsx(Se,{children:s.jsxs(ye,{children:[s.jsx(Ae,{asChild:!0,children:s.jsx("div",{children:s.jsx(Ce,{checked:n||r.includes(p.value),disabled:l,onCheckedChange:()=>{if(!l)if(n){a(!1);const D=u.map(tn);i(D.filter(V=>V!==p.value))}else y(p.value)}})})}),s.jsx(ve,{children:s.jsx("p",{children:"Built-in role permissions cannot be changed"})})]})}):s.jsx(Ce,{checked:n||r.includes(p.value),disabled:l,onCheckedChange:()=>{if(!l)if(n){a(!1);const D=u.map(en);i(D.filter(V=>V!==p.value))}else y(p.value)}})})]},p.value))})]},O)}),e[0]=n,e[1]=m,e[2]=a,e[3]=i,e[4]=l,e[5]=g,e[6]=r,e[7]=_,e[8]=c,e[9]=C,e[10]=f,e[11]=I}else _=e[7],c=e[8],C=e[9],f=e[10],I=e[11];let x;e[31]!==_||e[32]!==c?(x=s.jsx("div",{className:_,children:c}),e[31]=_,e[32]=c,e[33]=x):x=e[33];let R;return e[34]!==C||e[35]!==f||e[36]!==I||e[37]!==x?(R=s.jsxs("div",{className:C,children:[f,I,x]}),e[34]=C,e[35]=f,e[36]=I,e[37]=x,e[38]=R):R=e[38],R}function en(t){return t.value}function tn(t){return t.value}function sn(t){return t.stopPropagation()}function nn(t){return t.value}function rn(t){return t.stopPropagation()}const on={anthropic:"Anthropic",openrouter:"OpenRouter"},Wt=30;function ln(t){const e=oe.c(55),{connection:n,selectedModels:r,allowAllModels:a,onToggleModel:i,onToggleConnectionAll:d,allConnectionModelsSelected:l,searchQuery:g,readOnly:h}=t,[m,_]=B.useState(Wt),c=Is(n.id);let C,f,I,x,R,E,u;if(e[0]!==l||e[1]!==a||e[2]!==n.id||e[3]!==n.label||e[4]!==n.providerId||e[5]!==d||e[6]!==i||e[7]!==c||e[8]!==h||e[9]!==g||e[10]!==r||e[11]!==m){u=Symbol.for("react.early_return_sentinel");e:{let A;e[19]!==n.label?(A=U=>({...U,id:U.modelId,provider:n.label}),e[19]=n.label,e[20]=A):A=e[20];const L=c.filter(dn).map(A);if(C=g.trim()?L.filter(U=>U.title.toLowerCase().includes(g.toLowerCase())||U.id.toLowerCase().includes(g.toLowerCase())||U.provider?.toLowerCase().includes(g.toLowerCase())):L,C.length===0){u=null;break e}const P=C.slice(0,m);f=C.length>m;const v=a||l||r.includes("*")&&!a||C.every(U=>r.includes(U.id)||r.includes("*"));R="mb-6 last:mb-0";const j=cs[n.providerId]??ds;let O;e[21]!==n.providerId||e[22]!==j?(O=s.jsx("img",{src:j,alt:n.providerId,className:"w-4 h-4 rounded-sm dark:bg-white dark:rounded-sm dark:p-px"}),e[21]=n.providerId,e[22]=j,e[23]=O):O=e[23];const M=on[n.providerId]??n.providerId;let S;e[24]!==M?(S=s.jsx("h4",{className:"text-sm font-medium text-muted-foreground/75",children:M}),e[24]=M,e[25]=S):S=e[25];let p;e[26]!==n.label?(p=s.jsx("span",{className:"text-xs text-muted-foreground/50",children:n.label}),e[26]=n.label,e[27]=p):p=e[27];let D;e[28]!==S||e[29]!==p?(D=s.jsxs("div",{className:"flex flex-col",children:[S,p]}),e[28]=S,e[29]=p,e[30]=D):D=e[30];let V;e[31]!==D||e[32]!==O?(V=s.jsxs("div",{className:"flex items-center gap-2",children:[O,D]}),e[31]=D,e[32]=O,e[33]=V):V=e[33];const z=!h&&!a&&s.jsx(Ce,{checked:v,onCheckedChange:()=>d(n.id,L)});e[34]!==V||e[35]!==z?(E=s.jsxs("div",{className:"flex items-center justify-between px-4 py-2",children:[V,z]}),e[34]=V,e[35]=z,e[36]=E):E=e[36],I="space-y-1";let Y;e[37]!==a||e[38]!==n.id||e[39]!==i||e[40]!==h||e[41]!==r?(Y=U=>{const Z=a||r.includes("*")||r.includes(U.id);return s.jsxs("div",{className:J("flex items-center justify-between gap-3 px-4 py-3",!h&&"hover:bg-muted/50 cursor-pointer"),onClick:()=>{h||a||i(n.id,U.id)},children:[s.jsxs("div",{className:"flex items-center gap-2 flex-1 min-w-0",children:[U.logo&&s.jsx("img",{src:U.logo,className:"w-4 h-4 shrink-0 rounded-sm dark:bg-white dark:rounded-sm dark:p-px",alt:U.title}),s.jsx("span",{className:"text-sm truncate",children:U.title})]}),s.jsx("div",{onClick:cn,children:h?s.jsx(Se,{children:s.jsxs(ye,{children:[s.jsx(Ae,{asChild:!0,children:s.jsx("div",{children:s.jsx(Ce,{checked:Z,disabled:!0})})}),s.jsx(ve,{children:s.jsx("p",{children:"Built-in role permissions cannot be changed"})})]})}):s.jsx(Ce,{checked:Z,disabled:h||a,onCheckedChange:()=>{h||a||i(n.id,U.id)}})})]},U.id)},e[37]=a,e[38]=n.id,e[39]=i,e[40]=h,e[41]=r,e[42]=Y):Y=e[42],x=P.map(Y)}e[0]=l,e[1]=a,e[2]=n.id,e[3]=n.label,e[4]=n.providerId,e[5]=d,e[6]=i,e[7]=c,e[8]=h,e[9]=g,e[10]=r,e[11]=m,e[12]=C,e[13]=f,e[14]=I,e[15]=x,e[16]=R,e[17]=E,e[18]=u}else C=e[12],f=e[13],I=e[14],x=e[15],R=e[16],E=e[17],u=e[18];if(u!==Symbol.for("react.early_return_sentinel"))return u;let N;e[43]!==C||e[44]!==f||e[45]!==m?(N=f&&s.jsxs("button",{type:"button",className:"w-full px-4 py-2 text-xs text-muted-foreground hover:text-foreground hover:bg-muted/50 transition-colors",onClick:()=>_(an),children:["Show more (",C.length-m," remaining)"]}),e[43]=C,e[44]=f,e[45]=m,e[46]=N):N=e[46];let y;e[47]!==I||e[48]!==x||e[49]!==N?(y=s.jsxs("div",{className:I,children:[x,N]}),e[47]=I,e[48]=x,e[49]=N,e[50]=y):y=e[50];let w;return e[51]!==R||e[52]!==E||e[53]!==y?(w=s.jsxs("div",{className:R,children:[E,y]}),e[51]=R,e[52]=E,e[53]=y,e[54]=w):w=e[54],w}function an(t){return t+Wt}function cn(t){return t.stopPropagation()}function dn(t,e,n){return n.findIndex(r=>r.modelId===t.modelId)===e}function mn(){const t=oe.c(1);let e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=s.jsxs("div",{className:"px-4 py-3 flex items-center gap-2 text-sm text-muted-foreground",children:[s.jsx(Ue,{className:"size-4 animate-spin"}),"Loading models..."]}),t[0]=e):e=t[0],e}function un(t){const e=oe.c(39),{allowAllModels:n,modelSet:r,onAllowAllChange:a,onModelSetChange:i,readOnly:d}=t,l=d===void 0?!1:d,[g,h]=B.useState(""),m=B.useDeferredValue(g),_=bs();let c;e[0]!==r||e[1]!==i?(c=(v,j)=>{const O=r[v]??[],M={...r};if(O.includes(j)){const S=O.filter(p=>p!==j);S.length===0?delete M[v]:M[v]=S}else M[v]=[...O,j];i(M)},e[0]=r,e[1]=i,e[2]=c):c=e[2];const C=c;let f;e[3]!==r||e[4]!==i?(f=(v,j)=>{const O=r[v]??[],M=j.map(fn),S=O.includes("*")||M.every(D=>O.includes(D)),p={...r};S?delete p[v]:p[v]=M,i(p)},e[3]=r,e[4]=i,e[5]=f):f=e[5];const I=f;let x;e[6]!==g?(x=s.jsx("div",{className:"border-b border-border",children:s.jsx(et,{value:g,onChange:h,placeholder:"Search models...",className:"border-b-0"})}),e[6]=g,e[7]=x):x=e[7];const R=!l&&"hover:bg-muted/50 cursor-pointer";let E;e[8]!==R?(E=J("flex items-center justify-between px-4 py-3 rounded-lg",R),e[8]=R,e[9]=E):E=e[9];let u;e[10]!==n||e[11]!==a||e[12]!==i||e[13]!==l?(u=()=>{if(l)return;const v=!n;a(v),v&&i({})},e[10]=n,e[11]=a,e[12]=i,e[13]=l,e[14]=u):u=e[14];let N;e[15]===Symbol.for("react.memo_cache_sentinel")?(N=s.jsx("span",{className:"text-sm font-medium",children:"All models"}),e[15]=N):N=e[15];let y;e[16]!==n||e[17]!==a||e[18]!==i||e[19]!==l?(y=s.jsx("div",{onClick:gn,children:l?s.jsx(Se,{children:s.jsxs(ye,{children:[s.jsx(Ae,{asChild:!0,children:s.jsx("div",{children:s.jsx(Ce,{checked:n,disabled:!0})})}),s.jsx(ve,{children:s.jsx("p",{children:"Built-in role permissions cannot be changed"})})]})}):s.jsx(Ce,{checked:n,onCheckedChange:v=>{l||(a(v),v&&i({}))}})}),e[16]=n,e[17]=a,e[18]=i,e[19]=l,e[20]=y):y=e[20];let w;e[21]!==E||e[22]!==u||e[23]!==y?(w=s.jsx("div",{className:"border-b border-border",children:s.jsxs("div",{className:E,onClick:u,children:[N,y]})}),e[21]=E,e[22]=u,e[23]=y,e[24]=w):w=e[24];let A;e[25]!==_||e[26]!==n||e[27]!==m||e[28]!==r||e[29]!==l||e[30]!==I||e[31]!==C?(A=_.length===0?s.jsx("div",{className:"flex items-center justify-center py-8 text-sm text-muted-foreground",children:"No LLM connections configured"}):_.map(v=>s.jsx(B.Suspense,{fallback:s.jsx(mn,{}),children:s.jsx(ln,{connection:v,selectedModels:r[v.id]??[],allowAllModels:n,onToggleModel:C,onToggleConnectionAll:I,allConnectionModelsSelected:(r[v.id]??[]).includes("*"),searchQuery:m,readOnly:l})},v.id)),e[25]=_,e[26]=n,e[27]=m,e[28]=r,e[29]=l,e[30]=I,e[31]=C,e[32]=A):A=e[32];let L;e[33]!==A?(L=s.jsx("div",{className:"flex-1 overflow-auto",children:A}),e[33]=A,e[34]=L):L=e[34];let P;return e[35]!==w||e[36]!==L||e[37]!==x?(P=s.jsxs("div",{className:"flex flex-col h-full",children:[x,w,L]}),e[35]=w,e[36]=L,e[37]=x,e[38]=P):P=e[38],P}function gn(t){return t.stopPropagation()}function fn(t){return t.id}function hn(t){const e=oe.c(56),{open:n,onOpenChange:r,selectedMemberIds:a,onAddMembers:i}=t,[d,l]=B.useState(""),g=B.useDeferredValue(d);let h;e[0]===Symbol.for("react.memo_cache_sentinel")?(h=[],e[0]=h):h=e[0];const[m,_]=B.useState(h),{data:c}=Ct();let C,f,I,x,R,E,u,N,y,w,A;if(e[1]!==c?.data?.members||e[2]!==g||e[3]!==i||e[4]!==r||e[5]!==n||e[6]!==m||e[7]!==d||e[8]!==a){const D=c?.data?.members??[];let V;e[20]!==g?(V=T=>{const o=g.toLowerCase();return T.user?.name?.toLowerCase().includes(o)||T.user?.email?.toLowerCase().includes(o)},e[20]=g,e[21]=V):V=e[21];const z=D.filter(V),Y=pn;let U;e[22]!==a?(U=T=>a.includes(T),e[22]=a,e[23]=U):U=e[23];const Z=U;let W;e[24]!==m?(W=T=>{m.includes(T)?_(m.filter(o=>o!==T)):_([...m,T])},e[24]=m,e[25]=W):W=e[25];const ne=W;let se;e[26]!==i||e[27]!==r||e[28]!==m?(se=()=>{i(m),_([]),r(!1)},e[26]=i,e[27]=r,e[28]=m,e[29]=se):se=e[29],I=se,f=Ke,w=n,A=r,C=He,N="sm:max-w-md p-0 overflow-hidden",e[30]===Symbol.for("react.memo_cache_sentinel")?(y=s.jsxs(Qe,{className:"px-6 pt-6",children:[s.jsx(qe,{children:"Add Members to Role"}),s.jsx(Ze,{children:"Select members to add to this role."})]}),e[30]=y):y=e[30],E="flex flex-col h-80",e[31]!==d?(u=s.jsx(et,{value:d,onChange:l,placeholder:"Search members...",className:"border-b border-t-0 border-x-0 rounded-none"}),e[31]=d,e[32]=u):u=e[32],x="flex-1 overflow-auto",R=z.length===0?s.jsx("div",{className:"flex items-center justify-center h-full px-6",children:s.jsx("p",{className:"text-sm text-muted-foreground",children:d?"No members found":"No members available"})}):s.jsx("div",{className:"px-6 py-2 space-y-1",children:z.map(T=>{const o=Y(T),b=Z(T.id),G=m.includes(T.id);return s.jsxs("label",{className:J("flex items-center gap-3 p-2 rounded-lg",!o||b?"opacity-50 cursor-not-allowed":"cursor-pointer hover:bg-muted/50"),children:[s.jsx(Fe,{checked:G||b,onCheckedChange:()=>{o&&!b&&ne(T.id)},disabled:!o||b}),s.jsx(ke,{url:T.user?.image??void 0,fallback:Jt(T.user?.name),shape:"circle",size:"sm"}),s.jsxs("div",{className:"flex-1 min-w-0",children:[s.jsx("p",{className:"text-sm font-medium truncate",children:T.user?.name||"Unknown"}),s.jsx("p",{className:"text-xs text-muted-foreground truncate",children:T.user?.email})]}),!o&&s.jsx(Re,{variant:"secondary",className:"shrink-0",children:"Owner"}),b&&o&&s.jsx(Re,{variant:"outline",className:"shrink-0",children:"Added"})]},T.id)})}),e[1]=c?.data?.members,e[2]=g,e[3]=i,e[4]=r,e[5]=n,e[6]=m,e[7]=d,e[8]=a,e[9]=C,e[10]=f,e[11]=I,e[12]=x,e[13]=R,e[14]=E,e[15]=u,e[16]=N,e[17]=y,e[18]=w,e[19]=A}else C=e[9],f=e[10],I=e[11],x=e[12],R=e[13],E=e[14],u=e[15],N=e[16],y=e[17],w=e[18],A=e[19];let L;e[33]!==x||e[34]!==R?(L=s.jsx("div",{className:x,children:R}),e[33]=x,e[34]=R,e[35]=L):L=e[35];let P;e[36]!==L||e[37]!==E||e[38]!==u?(P=s.jsxs("div",{className:E,children:[u,L]}),e[36]=L,e[37]=E,e[38]=u,e[39]=P):P=e[39];let v;e[40]===Symbol.for("react.memo_cache_sentinel")?(v=s.jsx(Je,{children:"Cancel"}),e[40]=v):v=e[40];const j=m.length===0,O=m.length>0&&`(${m.length})`;let M;e[41]!==I||e[42]!==j||e[43]!==O?(M=s.jsxs(Xe,{className:"px-6 pb-6",children:[v,s.jsxs(We,{onClick:I,disabled:j,children:["Add ",O]})]}),e[41]=I,e[42]=j,e[43]=O,e[44]=M):M=e[44];let S;e[45]!==C||e[46]!==P||e[47]!==M||e[48]!==N||e[49]!==y?(S=s.jsxs(C,{className:N,children:[y,P,M]}),e[45]=C,e[46]=P,e[47]=M,e[48]=N,e[49]=y,e[50]=S):S=e[50];let p;return e[51]!==f||e[52]!==S||e[53]!==w||e[54]!==A?(p=s.jsx(f,{open:w,onOpenChange:A,children:S}),e[51]=f,e[52]=S,e[53]=w,e[54]=A,e[55]=p):p=e[55],p}function pn(t){return t.role!=="owner"}function xn(t){const e=oe.c(40),{memberIds:n,onMemberIdsChange:r,readOnly:a}=t,i=a===void 0?!1:a,[d,l]=B.useState(""),g=B.useDeferredValue(d),[h,m]=B.useState(!1),{data:_}=Ct();let c,C,f,I,x;if(e[0]!==_?.data?.members||e[1]!==g||e[2]!==n||e[3]!==r||e[4]!==i||e[5]!==d){const N=_?.data?.members??[];let y;e[11]!==n?(y=S=>n.includes(S.id),e[11]=n,e[12]=y):y=e[12];const w=N.filter(y);let A;e[13]!==g?(A=S=>{const p=g.toLowerCase();return S.user?.name?.toLowerCase().includes(p)||S.user?.email?.toLowerCase().includes(p)},e[13]=g,e[14]=A):A=e[14];const L=w.filter(A);let P;e[15]!==n||e[16]!==r?(P=S=>{r(n.filter(p=>p!==S))},e[15]=n,e[16]=r,e[17]=P):P=e[17];const v=P;let j;e[18]!==n||e[19]!==r?(j=S=>{r([...n,...S])},e[18]=n,e[19]=r,e[20]=j):j=e[20],c=j,I="flex flex-col h-full";let O;e[21]!==d?(O=s.jsx(et,{value:d,onChange:l,placeholder:"Search members...",className:"flex-1 border-b-0"}),e[21]=d,e[22]=O):O=e[22];let M;e[23]!==i?(M=i?s.jsx("div",{className:"pr-4",children:s.jsx(Se,{children:s.jsxs(ye,{children:[s.jsx(Ae,{asChild:!0,children:s.jsx("div",{children:s.jsxs(le,{variant:"outline",size:"sm",disabled:!0,children:[s.jsx(ct,{size:16}),"Add Member"]})})}),s.jsx(ve,{children:s.jsx("p",{children:"Owner membership cannot be changed"})})]})})}):s.jsx("div",{className:"pr-4",children:s.jsxs(le,{variant:"outline",size:"sm",onClick:()=>m(!0),children:[s.jsx(ct,{size:16}),"Add Member"]})}),e[23]=i,e[24]=M):M=e[24],e[25]!==O||e[26]!==M?(x=s.jsxs("div",{className:"flex items-center border-b border-border",children:[O,M]}),e[25]=O,e[26]=M,e[27]=x):x=e[27],C="flex-1 overflow-auto",f=w.length===0?s.jsx("div",{className:"flex items-center justify-center h-full",children:s.jsxs("div",{className:"text-center",children:[s.jsx("h3",{className:"text-lg font-medium mb-2",children:"No members"}),s.jsx("p",{className:"text-sm text-muted-foreground",children:"Add members to this role to grant them the configured permissions."})]})}):L.length===0?s.jsx("div",{className:"flex items-center justify-center h-full",children:s.jsxs("p",{className:"text-sm text-muted-foreground",children:['No members match "',d,'"']})}):s.jsx("div",{className:"p-4 space-y-2",children:L.map(S=>s.jsxs("div",{className:"flex items-center gap-3 p-3 rounded-lg bg-muted/30",children:[s.jsx(ke,{url:S.user?.image??void 0,fallback:Jt(S.user?.name),shape:"circle",size:"sm"}),s.jsxs("div",{className:"flex-1 min-w-0",children:[s.jsx("p",{className:"text-sm font-medium truncate",children:S.user?.name||"Unknown"}),s.jsx("p",{className:"text-xs text-muted-foreground truncate",children:S.user?.email})]}),i?s.jsx(Se,{children:s.jsxs(ye,{children:[s.jsx(Ae,{asChild:!0,children:s.jsx("div",{children:s.jsx(le,{variant:"ghost",size:"sm",disabled:!0,children:s.jsx(Lt,{size:16})})})}),s.jsx(ve,{children:s.jsx("p",{children:"Owner membership cannot be changed"})})]})}):s.jsx(le,{variant:"ghost",size:"sm",onClick:()=>v(S.id),children:s.jsx(Lt,{size:16})})]},S.id))}),e[0]=_?.data?.members,e[1]=g,e[2]=n,e[3]=r,e[4]=i,e[5]=d,e[6]=c,e[7]=C,e[8]=f,e[9]=I,e[10]=x}else c=e[6],C=e[7],f=e[8],I=e[9],x=e[10];let R;e[28]!==C||e[29]!==f?(R=s.jsx("div",{className:C,children:f}),e[28]=C,e[29]=f,e[30]=R):R=e[30];let E;e[31]!==h||e[32]!==c||e[33]!==n?(E=s.jsx(hn,{open:h,onOpenChange:m,selectedMemberIds:n,onAddMembers:c}),e[31]=h,e[32]=c,e[33]=n,e[34]=E):E=e[34];let u;return e[35]!==I||e[36]!==x||e[37]!==R||e[38]!==E?(u=s.jsxs("div",{className:I,children:[x,R,E]}),e[35]=I,e[36]=x,e[37]=R,e[38]=E,e[39]=u):u=e[39],u}function Tn(t){const e=oe.c(3);let n;e[0]===Symbol.for("react.memo_cache_sentinel")?(n=s.jsx("div",{className:"flex items-center justify-center h-full",children:s.jsx(Ue,{size:24,className:"animate-spin text-muted-foreground"})}),e[0]=n):n=e[0];let r;return e[1]!==t?(r=s.jsx(B.Suspense,{fallback:n,children:s.jsx(xn,{...t})}),e[1]=t,e[2]=r):r=e[2],r}const En={owner:[],admin:[],user:[]};function ot(t,e){const n=t==="owner"||t==="admin",r=e.filter(a=>a.role===t);return{role:{slug:t,label:t.charAt(0).toUpperCase()+t.slice(1)},allowAllStaticPermissions:n,staticPermissions:En[t],toolSet:{},allowAllModels:!0,modelSet:{},memberIds:r.map(a=>a.id)}}function bn({trigger:t,onSuccess:e}){const[n,r]=B.useState(!1),[a,i]=B.useState("mcp"),{locator:d}=Ee(),l=Ve(),g=Es()??[],{customRoles:h,refetch:m}=yt(),{data:_}=mt({queryKey:ue.members(d),queryFn:()=>ge.organization.listMembers()}),c=Bt({resolver:ns(Zs),defaultValues:it()}),C=c.formState.isValid,f=c.formState.isDirty,[I,x]=B.useState(null),[R,E]=B.useState(null),u=!c.watch("role.id")&&!c.watch("role.slug")&&!R,[N,y]=B.useState(null),[w,A]=B.useState(!1),[L,P]=B.useState(null),v=o=>{const b=o.permission||{},G=b.self||[],Q=G.includes("*"),K=Q?[]:G.filter(H=>H!=="*"),F={};for(const[H,re]of Object.entries(b))if(!(H==="self"||H==="models"))if(H==="*")for(const ie of g)re.includes("*")?F[ie.id]=ie.tools?.map(ce=>ce.name)??[]:F[ie.id]=re;else{const ie=g.find(ce=>ce.id===H);ie&&(re.includes("*")?F[H]=ie.tools?.map(ce=>ce.name)??[]:F[H]=re)}const ee=b.models||[],fe=ee.length===0||ee.includes("*:*"),te={};if(!fe)for(const H of ee){const re=H.indexOf(":");if(re===-1)continue;const ie=H.slice(0,re),ce=H.slice(re+1);te[ie]||(te[ie]=[]),te[ie].push(ce)}const de=(_?.data?.members??[]).filter(H=>H.role===o.role).map(H=>H.id);return{role:{id:o.id,slug:o.role,label:o.label},allowAllStaticPermissions:Q,staticPermissions:K,toolSet:F,allowAllModels:fe,modelSet:te,memberIds:de}},j=o=>{const b=v(o);c.reset(b),x(o.id??null),E(null)},O=()=>{c.reset(it()),x(null),E(null),i("mcp")},M=o=>{f&&C?(P(()=>()=>j(o)),A(!0)):j(o)},S=async()=>{f&&C&&await W(),O()},p=o=>{if(f&&C)P(()=>()=>{const b=ot(o,_?.data?.members??[]);c.reset(b),E(o),x(null),i("org")}),A(!0);else{const b=ot(o,_?.data?.members??[]);c.reset(b),E(o),x(null),i("org")}},D=o=>{if(!o&&c.formState.isDirty&&C){P(()=>()=>{r(!1),c.reset(it()),E(null)}),A(!0);return}if(r(o),!o)c.reset(it()),E(null),x(null);else{const b=h[0];if(b)j(b);else{const G=ot("user",_?.data?.members??[]);c.reset(G),E("user"),x(null),i("org")}}},V=()=>{A(!1),L&&(L(),P(null))},z=o=>{const b={};o.allowAllStaticPermissions?b.self=["*"]:o.staticPermissions.length>0&&(b.self=o.staticPermissions);for(const[G,Q]of Object.entries(o.toolSet))if(Q.length>0){const F=g.find(ee=>ee.id===G)?.tools?.map(ee=>ee.name)??[];F.length>0&&F.every(ee=>Q.includes(ee))?b[G]=["*"]:b[G]=Q}if(o.allowAllModels)b.models=["*:*"];else{const G=[];for(const[Q,K]of Object.entries(o.modelSet))if(K.length>0)for(const F of K)G.push(`${Q}:${F}`);b.models=G}return b},Y=Ne({mutationFn:async o=>{const b=z(o),G=o.role.slug||o.role.label.toLowerCase().replace(/\s+/g,"-");if(o.role.slug&&!o.role.id){const F=(_?.data?.members??[]).filter(te=>te.role===o.role.slug).map(te=>te.id),ee=o.memberIds.filter(te=>!F.includes(te)),fe=F.filter(te=>!o.memberIds.includes(te));for(const te of ee){const X=await ge.organization.updateMemberRole({memberId:te,role:[o.role.slug]});if(X?.error)throw new Error(X.error.message)}for(const te of fe){const X=await ge.organization.updateMemberRole({memberId:te,role:["user"]});if(X?.error)throw new Error(X.error.message)}return o}else if(o.role.id){const K=await ge.organization.updateRole({roleId:o.role.id,data:{permission:b}});if(K?.error)throw new Error(K.error.message);const ee=(_?.data?.members??[]).filter(X=>X.role===o.role.slug).map(X=>X.id),fe=o.memberIds.filter(X=>!ee.includes(X)),te=ee.filter(X=>!o.memberIds.includes(X));for(const X of fe){const de=await ge.organization.updateMemberRole({memberId:X,role:[o.role.slug]});if(de?.error)throw new Error(de.error.message)}for(const X of te){const de=await ge.organization.updateMemberRole({memberId:X,role:["user"]});if(de?.error)throw new Error(de.error.message)}return o}else{const K=await ge.organization.createRole({role:G,permission:b});if(K?.error)throw new Error(K.error.message);for(const F of o.memberIds){const ee=await ge.organization.updateMemberRole({memberId:F,role:[G]});if(ee?.error)throw new Error(ee.error.message)}return{...o,role:{...o.role,id:K.data?.roleData?.id,slug:G}}}},onSuccess:(o,b)=>{l.invalidateQueries({queryKey:ue.members(d)}),l.invalidateQueries({queryKey:ue.organizationRoles(d)});const G=!b.role.id&&!b.role.slug,Q=b.role.slug&&!b.role.id;he(Q?"role_members_updated":G?"role_created":"role_updated",{role_slug:b.role.slug??null,member_count:b.memberIds.length}),ae.success(Q?"Members updated successfully!":G?"Role created successfully!":"Role updated successfully!"),m(),c.reset(o),o.role.id&&x(o.role.id),e?.()},onError:(o,b)=>{const G=!b.role.id&&!b.role.slug,Q=b.role.slug&&!b.role.id;he(Q?"role_members_update_failed":G?"role_create_failed":"role_update_failed",{role_slug:b.role.slug??null,member_count:b.memberIds.length,error:o instanceof Error?o.message:String(o)}),ae.error(o instanceof Error?o.message:"Failed to save role")}}),U=Ne({mutationFn:async o=>{const b=await ge.organization.deleteRole({roleId:o});if(b?.error)throw new Error(b.error.message);return b?.data},onSuccess:(o,b)=>{if(he("role_deleted",{role_id:b}),l.invalidateQueries({queryKey:ue.members(d)}),l.invalidateQueries({queryKey:ue.organizationRoles(d)}),ae.success("Role deleted successfully!"),m(),N?.id===I){const G=h.filter(Q=>Q.id!==N?.id);if(G[0])j(G[0]);else{const Q=ot("user",_?.data?.members??[]);c.reset(Q),E("user"),x(null),i("org")}}},onError:(o,b)=>{he("role_delete_failed",{role_id:b,error:o instanceof Error?o.message:String(o)}),ae.error(o instanceof Error?o.message:"Failed to delete role")}}),Z=Y.isPending||U.isPending,W=async()=>{const o=c.getValues();if(!o.role.label.trim()){ae.error("Role name is required"),c.setFocus("role.label");return}await Y.mutateAsync(o)},ne=c.handleSubmit(o=>{if(!o.role.label.trim()){ae.error("Role name is required"),c.setFocus("role.label");return}Y.mutate(o)}),se=o=>{o.id&&y({id:o.id,label:o.label})},T=()=>{N?.id&&U.mutate(N.id),y(null)};return s.jsxs($t,{open:n,onOpenChange:D,children:[s.jsx(Ft,{asChild:!0,children:t}),s.jsx(Kt,{className:"sm:max-w-5xl h-[80vh] max-h-[80vh] flex flex-col p-0 overflow-hidden w-[95vw]",children:s.jsxs("div",{className:"flex-1 flex overflow-hidden min-h-0 flex-col sm:flex-row",children:[s.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:[s.jsx("div",{className:"flex-1 overflow-auto px-3.5 py-3.5 pt-3.5",children:s.jsxs("div",{className:"flex flex-col gap-1",children:[Xs.map(o=>{const b=R===o.role;return s.jsxs("div",{className:J("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:()=>p(o.role),children:[s.jsx("div",{className:J("shrink-0 size-3 rounded-full",o.color)}),s.jsx("p",{className:"text-sm font-medium truncate flex-1",children:o.label}),s.jsx(Os,{size:14,className:"text-muted-foreground shrink-0"})]},o.role)}),h.map(o=>{const b=I===o.id;return s.jsxs("div",{className:J("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:()=>M(o),children:[s.jsx("div",{className:J("shrink-0 size-3 rounded-full",Js(o.label))}),s.jsx("p",{className:"text-sm font-medium truncate flex-1",children:o.label}),s.jsxs(Nt,{children:[s.jsx(Rt,{asChild:!0,children:s.jsx(le,{variant:"ghost",size:"icon",className:J("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:G=>G.stopPropagation(),children:s.jsx(vs,{size:14})})}),s.jsx(St,{align:"end",children:s.jsxs(at,{className:"text-destructive",onClick:G=>{G.stopPropagation(),se(o)},children:[s.jsx(qt,{size:16}),"Delete"]})})]})]},o.id)}),u&&s.jsxs("div",{className:"flex items-center gap-2 px-2 py-1.5 rounded-lg overflow-hidden bg-accent",children:[s.jsx("div",{className:"shrink-0 size-3 rounded-full bg-neutral-400"}),s.jsx(Ls,{...c.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"}),s.jsx(Re,{variant:"secondary",className:"shrink-0 text-xs px-1.5 py-0",children:"New"})]})]})}),s.jsx("div",{className:"px-3.5 pb-3.5",children:s.jsxs(le,{variant:"outline",size:"default",onClick:S,disabled:Z||f,className:"w-full h-10",children:[s.jsx(ct,{size:16}),"Create new role"]})})]}),s.jsxs("div",{className:"flex-1 flex flex-col min-w-0",children:[s.jsxs("div",{className:"h-12 border-b border-border px-4 py-3.5 flex items-center gap-2 shrink-0",children:[!R&&s.jsx(le,{variant:"outline",size:"sm",onClick:()=>i("mcp"),className:J("h-7 rounded-lg px-2 border border-input transition-colors",a==="mcp"?"bg-accent border-border text-foreground":"bg-transparent text-muted-foreground hover:border-border hover:bg-accent/50 hover:text-foreground"),children:"MCP Permissions"}),s.jsx(le,{variant:"outline",size:"sm",onClick:()=>i("org"),className:J("h-7 rounded-lg px-2 border border-input transition-colors",a==="org"?"bg-accent border-border text-foreground":"bg-transparent text-muted-foreground hover:border-border hover:bg-accent/50 hover:text-foreground"),children:"Organization Permissions"}),s.jsx(le,{variant:"outline",size:"sm",onClick:()=>i("models"),className:J("h-7 rounded-lg px-2 border border-input transition-colors",a==="models"?"bg-accent border-border text-foreground":"bg-transparent text-muted-foreground hover:border-border hover:bg-accent/50 hover:text-foreground"),children:"Models"}),s.jsx(le,{variant:"outline",size:"sm",onClick:()=>i("members"),className:J("h-7 rounded-lg px-2 border border-input transition-colors",a==="members"?"bg-accent border-border text-foreground":"bg-transparent text-muted-foreground hover:border-border hover:bg-accent/50 hover:text-foreground"),children:"Members"})]}),s.jsxs("div",{className:"flex-1 overflow-hidden min-h-0",children:[n&&a==="mcp"&&!R&&s.jsx(Fs,{toolSet:c.watch("toolSet"),onToolSetChange:o=>c.setValue("toolSet",o,{shouldDirty:!0})}),n&&a==="org"&&s.jsx(Ws,{allowAllStaticPermissions:c.watch("allowAllStaticPermissions"),staticPermissions:c.watch("staticPermissions"),onAllowAllChange:o=>c.setValue("allowAllStaticPermissions",o,{shouldDirty:!0}),onPermissionsChange:o=>c.setValue("staticPermissions",o,{shouldDirty:!0}),readOnly:!!R}),n&&a==="models"&&s.jsx(un,{allowAllModels:c.watch("allowAllModels"),modelSet:c.watch("modelSet"),onAllowAllChange:o=>c.setValue("allowAllModels",o,{shouldDirty:!0}),onModelSetChange:o=>c.setValue("modelSet",o,{shouldDirty:!0}),readOnly:!!R}),n&&a==="members"&&s.jsx(Tn,{memberIds:c.watch("memberIds"),onMemberIdsChange:o=>c.setValue("memberIds",o,{shouldDirty:!0}),readOnly:R==="owner"})]}),(!R||R!=="owner")&&s.jsxs("div",{className:"border-t border-border px-5 py-5 flex items-center justify-end gap-2.5 shrink-0",children:[s.jsx(le,{variant:"outline",onClick:()=>D(!1),disabled:Z,className:"h-10",children:"Cancel"}),s.jsx(le,{onClick:ne,disabled:Z||!C||!c.formState.isDirty,className:"h-10",children:Y.isPending?"Saving...":u?"Create Role":"Save Changes"})]})]})]})}),s.jsx(Ke,{open:N!==null,onOpenChange:o=>!o&&y(null),children:s.jsxs(He,{children:[s.jsxs(Qe,{children:[s.jsx(qe,{children:"Delete Role"}),s.jsxs(Ze,{children:['Are you sure you want to delete the "',N?.label,'" role? This action cannot be undone.']})]}),s.jsxs(Xe,{children:[s.jsx(Je,{children:"Cancel"}),s.jsx(We,{onClick:T,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:"Delete"})]})]})}),s.jsx(Ke,{open:w,onOpenChange:A,children:s.jsxs(He,{children:[s.jsxs(Qe,{children:[s.jsx(qe,{children:"Discard Changes"}),s.jsx(Ze,{children:"You have unsaved changes. Are you sure you want to discard them?"})]}),s.jsxs(Xe,{children:[s.jsx(Je,{onClick:()=>P(null),children:"Keep Editing"}),s.jsx(We,{onClick:V,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:"Discard"})]})]})})]})}const In=Ie().email("Invalid email address");function _n(t){if(!t.trim())return[];const e=t.split(/[,;\n]/).map(n=>n.trim().toLowerCase()).filter(n=>n.length>0);return Array.from(new Set(e))}function Cn({trigger:t}){const[e,n]=B.useState(!1),{locator:r}=Ee(),a=Ve(),{data:i}=ge.useSession(),d=i?.user?.email,{roles:l,isLoading:g}=yt(),h=l.filter(E=>E.role!=="owner"),m=Bt({mode:"onChange",defaultValues:{emailsText:"",role:"user"}}),_=m.watch("emailsText"),c=m.watch("role"),f=_n(_).filter(E=>{const u=In.safeParse(E).success,N=!d||E!==d.toLowerCase();return u&&N}),I=Ne({mutationFn:async({emails:E,role:u})=>{if(!u)throw new Error("Please select a role");const N=await Promise.allSettled(E.map(async w=>{const A=await ge.organization.inviteMember({email:w,role:u});if(A.error)throw new Error(A.error.message);return A.data})),y=N.filter(w=>w.status==="rejected");if(y.length>0)throw new Error(`Failed to invite ${y.length} member${y.length>1?"s":""}`);return N},onSuccess:(E,{emails:u,role:N})=>{he("member_invited",{count:u.length,role:N}),a.invalidateQueries({queryKey:ue.members(r)}),a.invalidateQueries({queryKey:ue.invitations(r)}),ae.success(u.length===1?"Member invited successfully!":`${u.length} members invited successfully!`),m.reset({emailsText:"",role:"user"}),n(!1)},onError:(E,{emails:u,role:N})=>{he("member_invite_failed",{count:u.length,role:N,error:E instanceof Error?E.message:String(E)}),ae.error(E instanceof Error?E.message:"Failed to invite members")}}),x=E=>{if(f.length===0){ae.error("Please enter at least one valid email address");return}if(!E.role){ae.error("Please select a role");return}I.mutate({emails:f,role:E.role})},R=f.length>0&&!!c;return s.jsxs($t,{open:e,onOpenChange:n,children:[s.jsx(Ft,{asChild:!0,children:t}),s.jsxs(Kt,{className:"sm:max-w-lg",children:[s.jsx(_s,{children:s.jsx(Cs,{children:"Invite members"})}),s.jsx(Ps,{...m,children:s.jsxs("form",{onSubmit:m.handleSubmit(x),className:"space-y-4",children:[s.jsx(Pt,{control:m.control,name:"emailsText",render:({field:E})=>s.jsxs(wt,{children:[s.jsx(ws,{children:"Email addresses"}),s.jsx(Mt,{children:s.jsx(Ms,{...E,disabled:I.isPending,placeholder:`Enter email addresses separated by commas or new lines
|
|
2
2
|
e.g. user1@example.com, user2@example.com
|
|
3
3
|
or one per line`,className:"min-h-[120px] resize-none"})}),s.jsx(Dt,{})]})}),s.jsx(Pt,{control:m.control,name:"role",render:({field:E})=>s.jsxs(wt,{children:[s.jsx(Mt,{children:s.jsxs(Tt,{value:E.value,onValueChange:E.onChange,disabled:I.isPending||g,children:[s.jsx(Et,{className:"w-full",children:s.jsx(bt,{placeholder:"Select a role"})}),s.jsx(It,{children:h.map(u=>{const N=[];return u.isBuiltin||(u.allowsAllStaticPermissions?N.push("Full org access"):u.staticPermissionCount&&u.staticPermissionCount>0&&N.push(`${u.staticPermissionCount} org perm${u.staticPermissionCount!==1?"s":""}`),u.allowsAllConnections?N.push("All connections"):u.connectionCount&&u.connectionCount>0&&N.push(`${u.connectionCount} connection${u.connectionCount!==1?"s":""}`),(u.connectionCount!==0||u.allowsAllConnections)&&(u.allowsAllTools?N.push("all tools"):u.toolCount&&u.toolCount>0&&N.push(`${u.toolCount} tool${u.toolCount!==1?"s":""}`))),s.jsx(_t,{value:u.role,children:s.jsxs("div",{className:"flex flex-col",children:[s.jsx("span",{children:u.label}),!u.isBuiltin&&N.length>0&&s.jsx("span",{className:"text-xs text-muted-foreground",children:N.join(", ")})]})},u.role)})})]})}),s.jsx(Dt,{})]})}),s.jsxs(Ns,{children:[s.jsx(le,{variant:"outline",onClick:()=>{m.reset({emailsText:"",role:"user"}),n(!1)},type:"button",disabled:I.isPending,children:"Cancel"}),s.jsx(le,{type:"submit",disabled:I.isPending||!R,children:I.isPending?"Inviting...":`Invite ${f.length||0} Member${f.length!==1?"s":""}`})]})]})})]})]})}function Nn(){const t=oe.c(9),{org:e,locator:n}=Ee();let r;t[0]!==e.id?(r={connectionId:Be,orgId:e.id},t[0]=e.id,t[1]=r):r=t[1];const a=ze(r);let i;t[2]!==n?(i=ue.invitations(n),t[2]=n,t[3]=i):i=t[3];let d;t[4]!==a?(d=async()=>{const g=await a.callTool({name:"ORGANIZATION_GET",arguments:{}});return(g.structuredContent??g)?.invitations??[]},t[4]=a,t[5]=d):d=t[5];let l;return t[6]!==i||t[7]!==d?(l={queryKey:i,queryFn:d},t[6]=i,t[7]=d,t[8]=l):l=t[8],rs(l)}function Rn(){const t=oe.c(5),{locator:e}=Ee(),n=Ve();let r;t[0]!==e||t[1]!==n?(r={mutationFn:yn,onSuccess:()=>{n.invalidateQueries({queryKey:ue.invitations(e)}),ae.success("Invitation cancelled")},onError:Sn},t[0]=e,t[1]=n,t[2]=r):r=t[2];const a=Ne(r);let i;return t[3]!==a?(i={cancel:a},t[3]=a,t[4]=i):i=t[4],i}function Sn(t){ae.error(t instanceof Error?t.message:"Failed to cancel invitation")}async function yn(t){const e=await ge.organization.cancelInvitation({invitationId:t});if(e?.error)throw new Error(e.error.message);return e.data}function An(){const t=oe.c(9),{org:e,locator:n}=Ee();let r;t[0]!==e.id?(r={connectionId:Be,orgId:e.id},t[0]=e.id,t[1]=r):r=t[1];const a=ze(r);let i;t[2]!==n?(i=ue.tags(n),t[2]=n,t[3]=i):i=t[3];let d;t[4]!==a?(d=async()=>{const g=await a.callTool({name:"TAGS_LIST",arguments:{}});return(g.structuredContent??g).tags},t[4]=a,t[5]=d):d=t[5];let l;return t[6]!==i||t[7]!==d?(l={queryKey:i,queryFn:d,staleTime:3e4},t[6]=i,t[7]=d,t[8]=l):l=t[8],mt(l)}function vn(){const t=oe.c(10),e=Ve(),{org:n,locator:r}=Ee();let a;t[0]!==n.id?(a={connectionId:Be,orgId:n.id},t[0]=n.id,t[1]=a):a=t[1];const i=ze(a);let d;t[2]!==i?(d=async h=>{const m=await i.callTool({name:"TAGS_CREATE",arguments:{name:h}});return(m.structuredContent??m).tag},t[2]=i,t[3]=d):d=t[3];let l;t[4]!==r||t[5]!==e?(l=()=>{e.invalidateQueries({queryKey:ue.tags(r)})},t[4]=r,t[5]=e,t[6]=l):l=t[6];let g;return t[7]!==d||t[8]!==l?(g={mutationFn:d,onSuccess:l,onError:jn},t[7]=d,t[8]=l,t[9]=g):g=t[9],Ne(g)}function jn(t){ae.error(t instanceof Error?t.message:"Failed to create tag")}function On(t){const e=oe.c(12),{org:n,locator:r}=Ee();let a;e[0]!==n.id?(a={connectionId:Be,orgId:n.id},e[0]=n.id,e[1]=a):a=e[1];const i=ze(a);let d;e[2]!==r||e[3]!==t?(d=ue.memberTags(r,t),e[2]=r,e[3]=t,e[4]=d):d=e[4];let l;e[5]!==i||e[6]!==t?(l=async()=>{const m=await i.callTool({name:"MEMBER_TAGS_GET",arguments:{memberId:t}});return(m.structuredContent??m).tags},e[5]=i,e[6]=t,e[7]=l):l=e[7];const g=!!t;let h;return e[8]!==d||e[9]!==l||e[10]!==g?(h={queryKey:d,queryFn:l,staleTime:3e4,enabled:g},e[8]=d,e[9]=l,e[10]=g,e[11]=h):h=e[11],mt(h)}function Ln(){const t=oe.c(10),e=Ve(),{org:n,locator:r}=Ee();let a;t[0]!==n.id?(a={connectionId:Be,orgId:n.id},t[0]=n.id,t[1]=a):a=t[1];const i=ze(a);let d;t[2]!==i?(d=async h=>{const{memberId:m,tagIds:_}=h,c=await i.callTool({name:"MEMBER_TAGS_SET",arguments:{memberId:m,tagIds:_}});return c.structuredContent??c},t[2]=i,t[3]=d):d=t[3];let l;t[4]!==r||t[5]!==e?(l=(h,m)=>{e.invalidateQueries({queryKey:ue.memberTags(r,m.memberId)})},t[4]=r,t[5]=e,t[6]=l):l=t[6];let g;return t[7]!==d||t[8]!==l?(g={mutationFn:d,onSuccess:l,onError:Pn},t[7]=d,t[8]=l,t[9]=g):g=t[9],Ne(g)}function Pn(t){ae.error(t instanceof Error?t.message:"Failed to update member tags")}function es(t){const e=oe.c(44),{memberId:n,className:r,disabled:a,placeholder:i,maxDisplay:d}=t,l=a===void 0?!1:a,g=i===void 0?"Add tags...":i,h=d===void 0?2:d,[m,_]=B.useState(!1),[c,C]=B.useState(""),{data:f,isLoading:I}=An(),x=f===void 0?[]:f,{data:R,isLoading:E}=On(n),u=R===void 0?[]:R,N=vn(),y=Ln(),w=I||E,A=u.map(Mn);let L;e[0]!==c?(L=q=>q.name.toLowerCase().includes(c.toLowerCase()),e[0]=c,e[1]=L):L=e[1];const P=x.filter(L);let v;e[2]!==c?(v=q=>q.name.toLowerCase()===c.toLowerCase(),e[2]=c,e[3]=v):v=e[3];const j=x.find(v),O=c.trim()&&!j,M=async q=>{const be=A.includes(q.id)?A.filter(Ye=>Ye!==q.id):[...A,q.id];await y.mutateAsync({memberId:n,tagIds:be})},S=async()=>{if(!c.trim())return;const q=await N.mutateAsync(c.trim());await y.mutateAsync({memberId:n,tagIds:[...A,q.id]}),C("")},p=async q=>{const xe=A.filter(be=>be!==q);await y.mutateAsync({memberId:n,tagIds:xe})},D=N.isPending||y.isPending,V=Gs;let z;e[4]!==m?(z=()=>_(!m),e[4]=m,e[5]=z):z=e[5];let Y;e[6]!==r?(Y=J("h-auto min-h-8 px-2 py-1 justify-start font-normal","hover:bg-accent/50",r),e[6]=r,e[7]=Y):Y=e[7];const U=l||w,Z=w?s.jsx(Ue,{size:14,className:"animate-spin text-muted-foreground"}):u.length>0?s.jsxs("div",{className:"flex items-center gap-1 flex-wrap",children:[u.slice(0,h).map(wn),u.length>h&&s.jsxs(Re,{variant:"secondary",className:"text-xs px-1.5 py-0 h-5",children:["+",u.length-h]})]}):s.jsx("span",{className:"text-muted-foreground text-xs",children:g});let W;e[8]===Symbol.for("react.memo_cache_sentinel")?(W=s.jsx(ks,{size:14,className:"ml-1 shrink-0 opacity-50"}),e[8]=W):W=e[8];let ne;e[9]!==U||e[10]!==Z||e[11]!==z||e[12]!==Y?(ne=s.jsx(Us,{asChild:!0,children:s.jsxs(le,{variant:"ghost",size:"sm",onClick:z,className:Y,disabled:U,children:[Z,W]})}),e[9]=U,e[10]=Z,e[11]=z,e[12]=Y,e[13]=ne):ne=e[13];const se=Ds,T="w-56 p-0",o="start";let b;e[14]===Symbol.for("react.memo_cache_sentinel")?(b=()=>_(!1),e[14]=b):b=e[14];const G=xs,Q=!1;let K;e[15]!==c?(K=s.jsx(Ts,{placeholder:"Search or create...",value:c,onValueChange:C,className:"h-9"}),e[15]=c,e[16]=K):K=e[16];const F=ps,ee=u.length>0&&s.jsxs(s.Fragment,{children:[s.jsx(ft,{heading:"Selected",children:u.map(q=>s.jsx(ht,{onSelect:()=>M(q),className:"cursor-pointer",children:s.jsxs("div",{className:"flex items-center justify-between w-full",children:[s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx(Fe,{checked:!0,className:"[&_svg]:!text-primary-foreground"}),s.jsx("span",{children:q.name})]}),s.jsx("button",{onClick:xe=>{xe.stopPropagation(),p(q.id)},className:"opacity-50 hover:opacity-100",disabled:D,children:s.jsx(Ht,{size:14})})]})},q.id))}),s.jsx(Ot,{})]}),fe=ft,te="Available",X=P.length===0&&!O&&s.jsx(hs,{children:"No tags found."}),de=P.filter(q=>!A.includes(q.id)).map(q=>s.jsx(ht,{onSelect:()=>M(q),className:"cursor-pointer",children:s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx(Fe,{checked:!1,className:"[&_svg]:!text-primary-foreground"}),s.jsx("span",{children:q.name})]})},q.id));let H;e[17]!==fe||e[18]!==X||e[19]!==de?(H=s.jsxs(fe,{heading:te,children:[X,de]}),e[17]=fe,e[18]=X,e[19]=de,e[20]=H):H=e[20];let re;e[21]!==S||e[22]!==D||e[23]!==c||e[24]!==O?(re=O&&s.jsxs(s.Fragment,{children:[s.jsx(Ot,{}),s.jsx(ft,{children:s.jsx(ht,{onSelect:S,className:"cursor-pointer",disabled:D,children:s.jsxs("div",{className:"flex items-center gap-2 text-primary",children:[D?s.jsx(Ue,{size:14,className:"animate-spin"}):s.jsx(ct,{size:14}),s.jsxs("span",{children:['Create "',c.trim(),'"']})]})})})]}),e[21]=S,e[22]=D,e[23]=c,e[24]=O,e[25]=re):re=e[25];let ie;e[26]!==F||e[27]!==ee||e[28]!==H||e[29]!==re?(ie=s.jsxs(F,{children:[ee,H,re]}),e[26]=F,e[27]=ee,e[28]=H,e[29]=re,e[30]=ie):ie=e[30];let ce;e[31]!==G||e[32]!==K||e[33]!==ie?(ce=s.jsxs(G,{shouldFilter:Q,children:[K,ie]}),e[31]=G,e[32]=K,e[33]=ie,e[34]=ce):ce=e[34];let pe;e[35]!==se||e[36]!==b||e[37]!==ce?(pe=s.jsx(se,{className:T,align:o,onEscapeKeyDown:b,children:ce}),e[35]=se,e[36]=b,e[37]=ce,e[38]=pe):pe=e[38];let _e;return e[39]!==V||e[40]!==m||e[41]!==ne||e[42]!==pe?(_e=s.jsxs(V,{open:m,onOpenChange:_,children:[ne,pe]}),e[39]=V,e[40]=m,e[41]=ne,e[42]=pe,e[43]=_e):_e=e[43],_e}function wn(t){return s.jsx(Re,{variant:"secondary",className:"text-xs px-1.5 py-0 h-5",children:t.name},t.id)}function Mn(t){return t.id}const kt=["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"],Dn={owner:"bg-red-500",admin:"bg-blue-500",user:"bg-green-500"};function dt(t){return t?t.split(" ").map(e=>e[0]).join("").toUpperCase().slice(0,2):"?"}function Gn(t){const e=new Map;for(const[n,r]of Object.entries(Dn))e.set(n,r);for(let n=0;n<t.length;n++){const r=t[n];r&&!e.has(r.role)&&e.set(r.role,kt[n%kt.length]??"bg-neutral-400")}return e}function Un(t){return new Date(t).toLocaleDateString("en-US",{year:"numeric",month:"long",day:"numeric"})}function lt(t){const e=oe.c(79),{role:n,memberId:r,isOwner:a,roleColorMap:i,selectableRoles:d,onRoleChange:l,size:g,className:h}=t,m=g===void 0?"xs":g;let _,c,C,f,I,x,R,E,u,N,y;if(e[0]!==h||e[1]!==a||e[2]!==r||e[3]!==l||e[4]!==n||e[5]!==i||e[6]!==d||e[7]!==m){y=Symbol.for("react.early_return_sentinel");e:{const S=i.get(n)??"bg-neutral-400";if(a){let p;e[19]!==r||e[20]!==l?(p=T=>l(r,T),e[19]=r,e[20]=l,e[21]=p):p=e[21];let D;e[22]!==n?(D=s.jsx("span",{className:"capitalize truncate",children:n}),e[22]=n,e[23]=D):D=e[23];const V=s.jsxs("div",{className:"flex items-center gap-2 min-w-0",children:[s.jsx("div",{className:J("size-2 rounded-full shrink-0",S)}),D]});let z;e[24]!==V?(z=s.jsx(bt,{children:V}),e[24]=V,e[25]=z):z=e[25];let Y;e[26]!==h||e[27]!==m||e[28]!==z?(Y=s.jsx(Et,{size:m,className:h,children:z}),e[26]=h,e[27]=m,e[28]=z,e[29]=Y):Y=e[29];let U;if(e[30]!==i||e[31]!==d){let T;e[33]!==i?(T=o=>{const b=i.get(o.role)??"bg-neutral-400";return s.jsx(_t,{value:o.role,children:s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx("div",{className:J("size-3 rounded-full",b)}),s.jsx("span",{className:"capitalize",children:o.label})]})},o.role)},e[33]=i,e[34]=T):T=e[34],U=d.map(T),e[30]=i,e[31]=d,e[32]=U}else U=e[32];let Z;e[35]!==U?(Z=s.jsx(It,{children:U}),e[35]=U,e[36]=Z):Z=e[36];let W;e[37]!==a||e[38]!==n||e[39]!==p||e[40]!==Y||e[41]!==Z?(W=s.jsx(Ae,{asChild:!0,children:s.jsx("div",{className:"w-fit",children:s.jsxs(Tt,{value:n,onValueChange:p,disabled:a,children:[Y,Z]})})}),e[37]=a,e[38]=n,e[39]=p,e[40]=Y,e[41]=Z,e[42]=W):W=e[42];let ne;e[43]===Symbol.for("react.memo_cache_sentinel")?(ne=s.jsx(ve,{children:s.jsx("p",{children:"The owner role cannot be changed"})}),e[43]=ne):ne=e[43];let se;e[44]!==W?(se=s.jsx(Se,{children:s.jsxs(ye,{children:[W,ne]})}),e[44]=W,e[45]=se):se=e[45],y=se;break e}C=Tt,E=n,e[46]!==r||e[47]!==l?(u=p=>l(r,p),e[46]=r,e[47]=l,e[48]=u):u=e[48],N=a,c=Et,x=m,R=h,_=bt,I="flex items-center gap-2 min-w-0",f=J("size-2 rounded-full shrink-0",S)}e[0]=h,e[1]=a,e[2]=r,e[3]=l,e[4]=n,e[5]=i,e[6]=d,e[7]=m,e[8]=_,e[9]=c,e[10]=C,e[11]=f,e[12]=I,e[13]=x,e[14]=R,e[15]=E,e[16]=u,e[17]=N,e[18]=y}else _=e[8],c=e[9],C=e[10],f=e[11],I=e[12],x=e[13],R=e[14],E=e[15],u=e[16],N=e[17],y=e[18];if(y!==Symbol.for("react.early_return_sentinel"))return y;let w;e[49]!==f?(w=s.jsx("div",{className:f}),e[49]=f,e[50]=w):w=e[50];let A;e[51]!==n?(A=s.jsx("span",{className:"capitalize truncate",children:n}),e[51]=n,e[52]=A):A=e[52];let L;e[53]!==w||e[54]!==A||e[55]!==I?(L=s.jsxs("div",{className:I,children:[w,A]}),e[53]=w,e[54]=A,e[55]=I,e[56]=L):L=e[56];let P;e[57]!==_||e[58]!==L?(P=s.jsx(_,{children:L}),e[57]=_,e[58]=L,e[59]=P):P=e[59];let v;e[60]!==c||e[61]!==P||e[62]!==x||e[63]!==R?(v=s.jsx(c,{size:x,className:R,children:P}),e[60]=c,e[61]=P,e[62]=x,e[63]=R,e[64]=v):v=e[64];let j;if(e[65]!==i||e[66]!==d){let S;e[68]!==i?(S=p=>{const D=i.get(p.role)??"bg-neutral-400";return s.jsx(_t,{value:p.role,children:s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx("div",{className:J("size-3 rounded-full",D)}),s.jsx("span",{className:"capitalize",children:p.label})]})},p.role)},e[68]=i,e[69]=S):S=e[69],j=d.map(S),e[65]=i,e[66]=d,e[67]=j}else j=e[67];let O;e[70]!==j?(O=s.jsx(It,{children:j}),e[70]=j,e[71]=O):O=e[71];let M;return e[72]!==C||e[73]!==v||e[74]!==O||e[75]!==E||e[76]!==u||e[77]!==N?(M=s.jsxs(C,{value:E,onValueChange:u,disabled:N,children:[v,O]}),e[72]=C,e[73]=v,e[74]=O,e[75]=E,e[76]=u,e[77]=N,e[78]=M):M=e[78],M}function Vt(t){const e=oe.c(51),{member:n,roles:r,onChangeRole:a,onRemove:i,isUpdating:d}=t,l=d===void 0?!1:d,g=n.role==="owner";let h,m,_,c,C,f,I,x,R;if(e[0]!==g||e[1]!==l||e[2]!==n.id||e[3]!==n.role||e[4]!==a||e[5]!==r){let v;e[15]!==n.role?(v=p=>p.role!==n.role&&p.role!=="owner",e[15]=n.role,e[16]=v):v=e[16];const j=r.filter(v);c=Nt;let O;e[17]===Symbol.for("react.memo_cache_sentinel")?(O=s.jsx(Zt,{size:20}),e[17]=O):O=e[17],e[18]!==g?(R=s.jsx(Rt,{asChild:!0,children:s.jsx(le,{variant:"ghost",size:"sm",className:"h-8 w-8 p-0",disabled:g,onClick:Vn,children:O})}),e[18]=g,e[19]=R):R=e[19],_=St,I="end",x=kn,m=Rs;let M;e[20]===Symbol.for("react.memo_cache_sentinel")?(M=s.jsx(js,{size:16}),e[20]=M):M=e[20],e[21]!==l?(f=s.jsxs(Ss,{disabled:l,children:[M,"Change Role"]}),e[21]=l,e[22]=f):f=e[22],h=ys;let S;e[23]!==l||e[24]!==n.id||e[25]!==a?(S=p=>{const D=[];return p.isBuiltin||(p.allowsAllStaticPermissions?D.push("Full org access"):p.staticPermissionCount&&p.staticPermissionCount>0&&D.push(`${p.staticPermissionCount} org perm${p.staticPermissionCount!==1?"s":""}`),p.allowsAllConnections?D.push("All connections"):p.connectionCount&&p.connectionCount>0&&D.push(`${p.connectionCount} connection${p.connectionCount!==1?"s":""}`),(p.connectionCount!==0||p.allowsAllConnections)&&(p.allowsAllTools?D.push("all tools"):p.toolCount&&p.toolCount>0&&D.push(`${p.toolCount} tool${p.toolCount!==1?"s":""}`))),s.jsxs(at,{onClick:V=>{V.stopPropagation(),a(n.id,p.role)},disabled:l,children:[p.isBuiltin?s.jsx(Qt,{size:16}):s.jsx(gs,{size:16}),s.jsxs("span",{className:"flex flex-col",children:[s.jsx("span",{children:p.label}),!p.isBuiltin&&D.length>0&&s.jsx("span",{className:"text-xs text-muted-foreground",children:D.join(", ")})]})]},p.role)},e[23]=l,e[24]=n.id,e[25]=a,e[26]=S):S=e[26],C=j.map(S),e[0]=g,e[1]=l,e[2]=n.id,e[3]=n.role,e[4]=a,e[5]=r,e[6]=h,e[7]=m,e[8]=_,e[9]=c,e[10]=C,e[11]=f,e[12]=I,e[13]=x,e[14]=R}else h=e[6],m=e[7],_=e[8],c=e[9],C=e[10],f=e[11],I=e[12],x=e[13],R=e[14];let E;e[27]!==h||e[28]!==C?(E=s.jsx(h,{children:C}),e[27]=h,e[28]=C,e[29]=E):E=e[29];let u;e[30]!==m||e[31]!==f||e[32]!==E?(u=s.jsxs(m,{children:[f,E]}),e[30]=m,e[31]=f,e[32]=E,e[33]=u):u=e[33];let N;e[34]===Symbol.for("react.memo_cache_sentinel")?(N=s.jsx(As,{}),e[34]=N):N=e[34];let y;e[35]!==n.id||e[36]!==i?(y=v=>{v.stopPropagation(),i(n.id)},e[35]=n.id,e[36]=i,e[37]=y):y=e[37];let w;e[38]===Symbol.for("react.memo_cache_sentinel")?(w=s.jsx(qt,{size:16}),e[38]=w):w=e[38];let A;e[39]!==y?(A=s.jsxs(at,{variant:"destructive",onClick:y,children:[w,"Remove Member"]}),e[39]=y,e[40]=A):A=e[40];let L;e[41]!==_||e[42]!==A||e[43]!==I||e[44]!==x||e[45]!==u?(L=s.jsxs(_,{align:I,onClick:x,children:[u,N,A]}),e[41]=_,e[42]=A,e[43]=I,e[44]=x,e[45]=u,e[46]=L):L=e[46];let P;return e[47]!==c||e[48]!==L||e[49]!==R?(P=s.jsxs(c,{children:[R,L]}),e[47]=c,e[48]=L,e[49]=R,e[50]=P):P=e[50],P}function kn(t){return t.stopPropagation()}function Vn(t){return t.stopPropagation()}function zt(t){const e=oe.c(8),{invitationId:n,onCancel:r,isCancelling:a}=t,i=a===void 0?!1:a;let d;e[0]===Symbol.for("react.memo_cache_sentinel")?(d=s.jsx(Rt,{asChild:!0,children:s.jsx(le,{variant:"ghost",size:"sm",className:"h-8 w-8 p-0",onClick:Bn,children:s.jsx(Zt,{size:20})})}),e[0]=d):d=e[0];let l;e[1]!==n||e[2]!==r?(l=m=>{m.stopPropagation(),r(n)},e[1]=n,e[2]=r,e[3]=l):l=e[3];let g;e[4]===Symbol.for("react.memo_cache_sentinel")?(g=s.jsx(Ht,{size:16}),e[4]=g):g=e[4];let h;return e[5]!==i||e[6]!==l?(h=s.jsxs(Nt,{children:[d,s.jsx(St,{align:"end",onClick:zn,children:s.jsxs(at,{variant:"destructive",onClick:l,disabled:i,children:[g,"Cancel Invitation"]})})]}),e[5]=i,e[6]=l,e[7]=h):h=e[7],h}function zn(t){return t.stopPropagation()}function Bn(t){return t.stopPropagation()}function Yn(){const t=oe.c(87),{data:e}=Ct(),{data:n}=Nn(),r=Rn(),a=Ve(),{locator:i}=Ee(),[d,l]=B.useState(null),[g,h]=B.useState(null),[m,_]=B.useState(""),[c,C]=B.useState("table"),[f,I]=B.useState("member"),[x,R]=B.useState("asc"),E=e?.data?.members;let u;t[0]!==f?(u=k=>{f===k?R(nr):(I(k),R("asc"))},t[0]=f,t[1]=u):u=t[1];const N=u;let y=E??[],w=n??[];if(m){const k=m.toLowerCase();y=y.filter($=>$.user?.name?.toLowerCase().includes(k)||$.user?.email?.toLowerCase().includes(k)||$.role?.toLowerCase().includes(k)),w=w.filter($=>$.email?.toLowerCase().includes(k)||$.role?.toLowerCase().includes(k))}if(f&&x){let k;t[2]!==x||t[3]!==f?(k=($,me)=>{let Te,$e;e:switch(f){case"member":{Te=$.user?.name||"",$e=me.user?.name||"";break e}case"role":{Te=$.role||"",$e=me.role||"";break e}case"joined":{Te=$.createdAt?typeof $.createdAt=="string"?$.createdAt:$.createdAt.toISOString():"",$e=me.createdAt?typeof me.createdAt=="string"?me.createdAt:me.createdAt.toISOString():"";break e}default:return 0}return x==="asc"?Te.localeCompare($e):$e.localeCompare(Te)},t[2]=x,t[3]=f,t[4]=k):k=t[4],y=[...y].sort(k)}const A=y;let L;t[5]!==i||t[6]!==a?(L={mutationFn:sr,onSuccess:()=>{he("member_removed"),a.invalidateQueries({queryKey:ue.members(i)}),ae.success("Member has been removed from the organization"),l(null)},onError:tr},t[5]=i,t[6]=a,t[7]=L):L=t[7];const P=Ne(L);let v;t[8]!==i||t[9]!==a?(v={mutationFn:er,onSuccess:(k,$)=>{he("member_role_updated",{new_role:$.role}),a.invalidateQueries({queryKey:ue.members(i)}),ae.success("Member's role has been updated")},onError:Wn},t[8]=i,t[9]=a,t[10]=v):v=t[10];const j=Ne(v);let O;t[11]!==i||t[12]!==a?(O={mutationFn:Jn,onSuccess:(k,$)=>{he("invitation_role_updated",{new_role:$.role}),a.invalidateQueries({queryKey:ue.invitations(i)}),ae.success("Invitation role has been updated")},onError:Xn},t[11]=i,t[12]=a,t[13]=O):O=t[13];const M=Ne(O),{roles:S,customRoles:p}=yt();let D;t[14]!==p?(D=Gn(p),t[14]=p,t[15]=D):D=t[15];const V=D;let z;t[16]!==S?(z=S.filter(Zn),t[16]=S,t[17]=z):z=t[17];const Y=z;let U;t[18]===Symbol.for("react.memo_cache_sentinel")?(U={id:"member",header:"Member",render:qn,cellClassName:"flex-1 min-w-0",sortable:!0},t[18]=U):U=t[18];let Z;t[19]!==V||t[20]!==Y||t[21]!==M||t[22]!==j?(Z={id:"role",header:"Role",render:k=>k.type==="member"?s.jsx(lt,{role:k.data.role,memberId:k.data.id,isOwner:k.data.role==="owner",roleColorMap:V,selectableRoles:Y,onRoleChange:($,me)=>j.mutate({memberId:$,role:me}),className:"w-36"}):s.jsx(lt,{role:k.data.role,memberId:k.data.id,isOwner:!1,roleColorMap:V,selectableRoles:Y,onRoleChange:($,me)=>M.mutate({invitationId:$,role:me,email:k.data.email}),className:"w-36"}),cellClassName:"w-36 shrink-0",sortable:!0},t[19]=V,t[20]=Y,t[21]=M,t[22]=j,t[23]=Z):Z=t[23];let W,ne;t[24]===Symbol.for("react.memo_cache_sentinel")?(W={id:"tags",header:"Tags",render:Qn,cellClassName:"w-40 shrink-0"},ne={id:"joined",header:"Joined",render:Hn,cellClassName:"w-48 shrink-0",sortable:!0},t[24]=W,t[25]=ne):(W=t[24],ne=t[25]);let se;t[26]!==r.cancel.isPending||t[27]!==S||t[28]!==j?(se={id:"actions",header:"",render:k=>k.type==="member"?s.jsx(Vt,{member:k.data,roles:S,onChangeRole:($,me)=>j.mutate({memberId:$,role:me}),onRemove:l,isUpdating:j.isPending}):s.jsx(zt,{invitationId:k.data.id,onCancel:h,isCancelling:r.cancel.isPending}),cellClassName:"w-12 shrink-0"},t[26]=r.cancel.isPending,t[27]=S,t[28]=j,t[29]=se):se=t[29];let T;t[30]!==se||t[31]!==Z?(T=[U,Z,W,ne,se],t[30]=se,t[31]=Z,t[32]=T):T=t[32];const o=T;let b;t[33]===Symbol.for("react.memo_cache_sentinel")?(b=s.jsx(bn,{trigger:s.jsxs(le,{variant:"outline",children:[s.jsx(Qt,{size:16}),"Manage Roles"]})}),t[33]=b):b=t[33];let G;t[34]===Symbol.for("react.memo_cache_sentinel")?(G=s.jsxs("div",{className:"flex items-center gap-2",children:[b,s.jsx(Cn,{trigger:s.jsx(le,{children:"Invite Member"})})]}),t[34]=G):G=t[34];const Q=G,K=[...A.map(Kn),...w.filter(Fn).map($n)],F=Ge,ee=!!g;let fe;t[35]===Symbol.for("react.memo_cache_sentinel")?(fe=()=>h(null),t[35]=fe):fe=t[35];let te;t[36]===Symbol.for("react.memo_cache_sentinel")?(te=s.jsxs(Qe,{children:[s.jsx(qe,{children:"Cancel Invitation"}),s.jsx(Ze,{children:"Are you sure you want to cancel this invitation? The invitee will no longer be able to join the organization with this invitation."})]}),t[36]=te):te=t[36];let X;t[37]===Symbol.for("react.memo_cache_sentinel")?(X=s.jsx(Je,{children:"Keep Invitation"}),t[37]=X):X=t[37];let de;t[38]!==r.cancel||t[39]!==g?(de=()=>{g&&(r.cancel.mutate(g),h(null))},t[38]=r.cancel,t[39]=g,t[40]=de):de=t[40];let H;t[41]!==r.cancel.isPending||t[42]!==de?(H=s.jsxs(He,{children:[te,s.jsxs(Xe,{children:[X,s.jsx(We,{onClick:de,disabled:r.cancel.isPending,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:"Cancel Invitation"})]})]}),t[41]=r.cancel.isPending,t[42]=de,t[43]=H):H=t[43];let re;t[44]!==ee||t[45]!==H?(re=s.jsx(Ke,{open:ee,onOpenChange:fe,children:H}),t[44]=ee,t[45]=H,t[46]=re):re=t[46];const ie=!!d;let ce;t[47]===Symbol.for("react.memo_cache_sentinel")?(ce=()=>l(null),t[47]=ce):ce=t[47];let pe;t[48]===Symbol.for("react.memo_cache_sentinel")?(pe=s.jsxs(Qe,{children:[s.jsx(qe,{children:"Remove Member"}),s.jsx(Ze,{children:"Are you sure you want to remove this member from the organization? This action cannot be undone."})]}),t[48]=pe):pe=t[48];let _e;t[49]===Symbol.for("react.memo_cache_sentinel")?(_e=s.jsx(Je,{children:"Cancel"}),t[49]=_e):_e=t[49];let q;t[50]!==d||t[51]!==P?(q=()=>d&&P.mutate(d),t[50]=d,t[51]=P,t[52]=q):q=t[52];let xe;t[53]!==P.isPending||t[54]!==q?(xe=s.jsxs(He,{children:[pe,s.jsxs(Xe,{children:[_e,s.jsx(We,{onClick:q,disabled:P.isPending,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:"Remove"})]})]}),t[53]=P.isPending,t[54]=q,t[55]=xe):xe=t[55];let be;t[56]!==ie||t[57]!==xe?(be=s.jsx(Ke,{open:ie,onOpenChange:ce,children:xe}),t[56]=ie,t[57]=xe,t[58]=be):be=t[58];const Ye=Ge,ut=Ge,ts="flex flex-col gap-6";let je;t[59]===Symbol.for("react.memo_cache_sentinel")?(je=s.jsx(Ge.Title,{children:"Members"}),t[59]=je):je=t[59];let tt;t[60]===Symbol.for("react.memo_cache_sentinel")?(tt=k=>{k.key==="Escape"&&(_(""),k.target.blur())},t[60]=tt):tt=t[60];let Oe;t[61]!==m?(Oe=s.jsx(ls,{value:m,onChange:_,placeholder:"Search members...",className:"w-full md:w-[375px]",onKeyDown:tt}),t[61]=m,t[62]=Oe):Oe=t[62];let st;t[63]===Symbol.for("react.memo_cache_sentinel")?(st=[{id:"member",label:"Name"},{id:"role",label:"Role"},{id:"joined",label:"Joined"}],t[63]=st):st=t[63];let Le;t[64]!==N||t[65]!==x||t[66]!==f||t[67]!==c?(Le=s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx(os,{viewMode:c,onViewModeChange:C,sortKey:f,sortDirection:x,onSort:N,sortOptions:st}),Q]}),t[64]=N,t[65]=x,t[66]=f,t[67]=c,t[68]=Le):Le=t[68];let Pe;t[69]!==Oe||t[70]!==Le?(Pe=s.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[Oe,Le]}),t[69]=Oe,t[70]=Le,t[71]=Pe):Pe=t[71];const gt=c==="cards"?s.jsx("div",{children:K.length===0?s.jsx(pt,{title:"No members found",description:m?`No members match "${m}"`:"Invite members to get started."}):s.jsx("div",{className:"grid grid-cols-[repeat(auto-fill,minmax(280px,1fr))] gap-4",children:K.map(k=>{if(k.type==="invitation")return s.jsxs(Gt,{className:"transition-colors relative opacity-75",children:[s.jsx("div",{className:"absolute top-4 right-4 z-10",children:s.jsx(zt,{invitationId:k.data.id,onCancel:h,isCancelling:r.cancel.isPending})}),s.jsxs("div",{className:"flex flex-col gap-4 p-6",children:[s.jsx(ke,{fallback:dt(k.data.email),shape:"circle",size:"lg",className:"shrink-0"}),s.jsxs("div",{className:"flex flex-col gap-2",children:[s.jsx("h3",{className:"text-base font-medium text-foreground truncate",children:k.data.email}),s.jsx("div",{className:"flex items-center gap-2",children:s.jsx(Re,{variant:"outline",className:"w-fit text-amber-600 border-amber-400",children:"Pending"})}),s.jsx(lt,{role:k.data.role,memberId:k.data.id,isOwner:!1,roleColorMap:V,selectableRoles:Y,onRoleChange:(me,Te)=>M.mutate({invitationId:me,role:Te,email:k.data.email}),className:"w-fit"})]})]})]},`inv-${k.data.id}`);const $=k.data;return s.jsxs(Gt,{className:"transition-colors relative",children:[s.jsx("div",{className:"absolute top-4 right-4 z-10",children:s.jsx(Vt,{member:$,roles:S,onChangeRole:(me,Te)=>j.mutate({memberId:me,role:Te}),onRemove:l,isUpdating:j.isPending})}),s.jsxs("div",{className:"flex flex-col gap-4 p-6",children:[s.jsx(ke,{url:$.user?.image??void 0,fallback:dt($.user?.name),shape:"circle",size:"lg",className:"shrink-0"}),s.jsxs("div",{className:"flex flex-col gap-2",children:[s.jsx("h3",{className:"text-base font-medium text-foreground truncate",children:$.user?.name||"Unknown"}),s.jsx("p",{className:"text-sm text-muted-foreground truncate",children:$.user?.email}),s.jsx(lt,{role:$.role,memberId:$.id,isOwner:$.role==="owner",roleColorMap:V,selectableRoles:Y,onRoleChange:(me,Te)=>j.mutate({memberId:me,role:Te}),className:"w-fit"}),s.jsx(es,{memberId:$.id,maxDisplay:3})]})]})]},$.id)})})}):s.jsx(as,{columns:o,data:K,isLoading:!1,sortKey:f,sortDirection:x,onSort:N,emptyState:m?s.jsx(pt,{title:"No members found",description:`No members match "${m}"`}):s.jsx(pt,{title:"No members found",description:"Invite members to get started."})});let we;t[72]!==je||t[73]!==Pe||t[74]!==gt?(we=s.jsxs("div",{className:ts,children:[je,Pe,gt]}),t[72]=je,t[73]=Pe,t[74]=gt,t[75]=we):we=t[75];let Me;t[76]!==ut.Body||t[77]!==we?(Me=s.jsx(ut.Body,{children:we}),t[76]=ut.Body,t[77]=we,t[78]=Me):Me=t[78];let De;t[79]!==Ye.Content||t[80]!==Me?(De=s.jsx(Ye.Content,{children:Me}),t[79]=Ye.Content,t[80]=Me,t[81]=De):De=t[81];let nt;return t[82]!==F||t[83]!==re||t[84]!==be||t[85]!==De?(nt=s.jsxs(F,{children:[re,be,De]}),t[82]=F,t[83]=re,t[84]=be,t[85]=De,t[86]=nt):nt=t[86],nt}function $n(t){return{type:"invitation",data:t}}function Fn(t){return t.status==="pending"}function Kn(t){return{type:"member",data:t}}function Hn(t){return t.type==="member"?s.jsx("span",{className:"text-sm text-foreground",children:t.data.createdAt?Un(t.data.createdAt):"N/A"}):s.jsx(Re,{variant:"outline",children:"Pending"})}function Qn(t){return t.type==="member"?s.jsx(es,{memberId:t.data.id,maxDisplay:2}):s.jsx("span",{className:"text-xs text-muted-foreground",children:"-"})}function qn(t){return t.type==="member"?s.jsxs("div",{className:"flex items-center gap-3",children:[s.jsx(ke,{url:t.data.user?.image??void 0,fallback:dt(t.data.user?.name),shape:"circle",size:"sm"}),s.jsxs("div",{className:"min-w-0",children:[s.jsx("div",{className:"text-sm font-medium text-foreground truncate",children:t.data.user?.name||"Unknown"}),s.jsx("div",{className:"text-sm text-muted-foreground truncate",children:t.data.user?.email})]})]}):s.jsxs("div",{className:"flex items-center gap-3",children:[s.jsx(ke,{fallback:dt(t.data.email),shape:"circle",size:"sm"}),s.jsxs("div",{className:"min-w-0",children:[s.jsx("div",{className:"text-sm font-medium text-foreground truncate",children:t.data.email}),s.jsx("div",{className:"text-sm text-muted-foreground truncate",children:"Invitation sent"})]})]})}function Zn(t){return t.role!=="owner"}function Xn(t,e){he("invitation_role_update_failed",{new_role:e.role,error:t instanceof Error?t.message:String(t)}),ae.error(t instanceof Error?t.message:"Failed to update invitation role")}async function Jn(t){const{invitationId:e,role:n,email:r}=t,a=await ge.organization.cancelInvitation({invitationId:e});if(a?.error)throw new Error(a.error.message);const i=await ge.organization.inviteMember({email:r,role:n});if(i?.error)throw new Error(i.error.message)}function Wn(t,e){he("member_role_update_failed",{new_role:e.role,error:t instanceof Error?t.message:String(t)}),ae.error(t instanceof Error?t.message:"Failed to update role")}async function er(t){const{memberId:e,role:n}=t,r=await ge.organization.updateMemberRole({memberId:e,role:[n]});if(r?.error)throw new Error(r.error.message)}function tr(t){he("member_remove_failed",{error:t instanceof Error?t.message:String(t)}),ae.error(t instanceof Error?t.message:"Failed to remove member")}async function sr(t){const e=await ge.organization.removeMember({memberIdOrEmail:t});if(e?.error)throw new Error(e.error.message)}function nr(t){return t==="asc"?"desc":t==="desc"?null:"asc"}function mi(){const t=oe.c(2);let e;t[0]===Symbol.for("react.memo_cache_sentinel")?(e=s.jsx(Ge,{children:s.jsx("div",{className:"flex items-center justify-center h-full",children:s.jsx("div",{className:"text-sm text-muted-foreground",children:"Failed to load members"})})}),t[0]=e):e=t[0];let n;return t[1]===Symbol.for("react.memo_cache_sentinel")?(n=s.jsx(is,{fallback:e,children:s.jsx(B.Suspense,{fallback:s.jsx(Ge,{children:s.jsx("div",{className:"flex items-center justify-center h-full",children:s.jsx(Ue,{size:32,className:"animate-spin text-muted-foreground"})})}),children:s.jsx(Yn,{})})}),t[1]=n):n=t[1],n}export{mi as default};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{r as a,ae as D,e as Me,j as _,aF as te}from"./index-
|
|
1
|
+
import{r as a,ae as D,e as Me,j as _,aF as te}from"./index-BR4Tv9I4.js";import{S as me}from"./scroll-area-CrjX3IME.js";function ue(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function Pe(e){if(Array.isArray(e))return e}function Re(e,t,r){return(t=Le(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Se(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,o,i,u,l=[],c=!0,g=!1;try{if(i=(r=r.call(e)).next,t!==0)for(;!(c=(n=i.call(r)).done)&&(l.push(n.value),l.length!==t);c=!0);}catch(O){g=!0,o=O}finally{try{if(!c&&r.return!=null&&(u=r.return(),Object(u)!==u))return}finally{if(g)throw o}}return l}}function xe(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
2
2
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function ce(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function se(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?ce(Object(r),!0).forEach(function(n){Re(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ce(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Te(e,t){if(e==null)return{};var r,n,o=_e(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)===-1&&{}.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function _e(e,t){if(e==null)return{};var r={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(t.indexOf(n)!==-1)continue;r[n]=e[n]}return r}function Ce(e,t){return Pe(e)||Se(e,t)||Ve(e,t)||xe()}function Ie(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Le(e){var t=Ie(e,"string");return typeof t=="symbol"?t:t+""}function Ve(e,t){if(e){if(typeof e=="string")return ue(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?ue(e,t):void 0}}function Ae(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function le(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function fe(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?le(Object(r),!0).forEach(function(n){Ae(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):le(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function $e(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return function(n){return t.reduceRight(function(o,i){return i(o)},n)}}function K(e){return function t(){for(var r=this,n=arguments.length,o=new Array(n),i=0;i<n;i++)o[i]=arguments[i];return o.length>=e.length?e.apply(this,o):function(){for(var u=arguments.length,l=new Array(u),c=0;c<u;c++)l[c]=arguments[c];return t.apply(r,[].concat(o,l))}}}function Q(e){return{}.toString.call(e).includes("Object")}function De(e){return!Object.keys(e).length}function q(e){return typeof e=="function"}function Ne(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function ze(e,t){return Q(t)||T("changeType"),Object.keys(t).some(function(r){return!Ne(e,r)})&&T("changeField"),t}function Ke(e){q(e)||T("selectorType")}function ke(e){q(e)||Q(e)||T("handlerType"),Q(e)&&Object.values(e).some(function(t){return!q(t)})&&T("handlersType")}function qe(e){e||T("initialIsRequired"),Q(e)||T("initialType"),De(e)&&T("initialContent")}function We(e,t){throw new Error(e[t]||e.default)}var Fe={initialIsRequired:"initial state is required",initialType:"initial state should be an object",initialContent:"initial state shouldn't be an empty object",handlerType:"handler should be an object or a function",handlersType:"all handlers should be a functions",selectorType:"selector should be a function",changeType:"provided value of changes should be an object",changeField:'it seams you want to change a field in the state which is not specified in the "initial" state',default:"an unknown error accured in `state-local` package"},T=K(We)(Fe),J={changes:ze,selector:Ke,handler:ke,initial:qe};function Ue(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};J.initial(e),J.handler(t);var r={current:e},n=K(He)(r,t),o=K(Be)(r),i=K(J.changes)(e),u=K(Je)(r);function l(){var g=arguments.length>0&&arguments[0]!==void 0?arguments[0]:function(O){return O};return J.selector(g),g(r.current)}function c(g){$e(n,o,i,u)(g)}return[l,c]}function Je(e,t){return q(t)?t(e.current):t}function Be(e,t){return e.current=fe(fe({},e.current),t),t}function He(e,t,r){return q(t)?t(e.current):Object.keys(r).forEach(function(n){var o;return(o=t[n])===null||o===void 0?void 0:o.call(t,e.current[n])}),r}var Qe={create:Ue},Ge={paths:{vs:"https://cdn.jsdelivr.net/npm/monaco-editor@0.55.1/min/vs"}};function Ye(e){return function t(){for(var r=this,n=arguments.length,o=new Array(n),i=0;i<n;i++)o[i]=arguments[i];return o.length>=e.length?e.apply(this,o):function(){for(var u=arguments.length,l=new Array(u),c=0;c<u;c++)l[c]=arguments[c];return t.apply(r,[].concat(o,l))}}}function Xe(e){return{}.toString.call(e).includes("Object")}function Ze(e){return e||de("configIsRequired"),Xe(e)||de("configType"),e.urls?(et(),{paths:{vs:e.urls.monacoBase}}):e}function et(){console.warn(he.deprecation)}function tt(e,t){throw new Error(e[t]||e.default)}var he={configIsRequired:"the configuration object is required",configType:"the configuration object should be an object",default:"an unknown error accured in `@monaco-editor/loader` package",deprecation:`Deprecation warning!
|
|
3
3
|
You are using deprecated way of configuration.
|
|
4
4
|
|