@decocms/mesh 2.62.0 → 2.63.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client/assets/{AlertCircle-Ba1Op7JG.js → AlertCircle-ByS2S7QG.js} +1 -1
- package/dist/client/assets/{ArrowUp-CsjFvEVu.js → ArrowUp-Pc2qwI_3.js} +1 -1
- package/dist/client/assets/{Calendar-8At6qOri.js → Calendar-MP2K9xOR.js} +1 -1
- package/dist/client/assets/{Check-BQfWrOsa.js → Check-kOHUYBJY.js} +1 -1
- package/dist/client/assets/{ChevronDown-a23q7ncj.js → ChevronDown-J2iKAqyZ.js} +1 -1
- package/dist/client/assets/{ChevronRight-BKSZBVse.js → ChevronRight-Cua3_Oqd.js} +1 -1
- package/dist/client/assets/Code01-DORFegNP.js +1 -0
- package/dist/client/assets/{Copy01-CIESL5kI.js → Copy01-U5Mrbyn4.js} +1 -1
- package/dist/client/assets/{DotsHorizontal-CcEfPxiK.js → DotsHorizontal-nhuBUuxR.js} +1 -1
- package/dist/client/assets/{DotsVertical-CJIZpidj.js → DotsVertical-CDOXEsr8.js} +1 -1
- package/dist/client/assets/{Download01-CqyWjjTW.js → Download01-jn6ziu2W.js} +1 -1
- package/dist/client/assets/{Edit01-B4XYqrFu.js → Edit01-C_cfLeJc.js} +1 -1
- package/dist/client/assets/{File02-BF9rq9ig.js → File02-Gea-raGb.js} +1 -1
- package/dist/client/assets/{File06-bOvxxnZ2.js → File06-DE5HPnG3.js} +1 -1
- package/dist/client/assets/{FilterLines-CmZpHRnn.js → FilterLines-CeL96HHO.js} +1 -1
- package/dist/client/assets/{Grid01-IhRcMWbZ.js → Grid01-CkZU0tWV.js} +1 -1
- package/dist/client/assets/{Home02-DwOGKHOa.js → Home02-BLvW9ZzY.js} +1 -1
- package/dist/client/assets/{Image01-sUTjP5wq.js → Image01-CIkj8y0a.js} +1 -1
- package/dist/client/assets/{Inbox01-BnDnIXUM.js → Inbox01-8S74uH1Z.js} +1 -1
- package/dist/client/assets/{InfoCircle-WR60YcfQ.js → InfoCircle-BfJTzk81.js} +1 -1
- package/dist/client/assets/{Key01-CPYx3GjY.js → Key01-BFw74njR.js} +1 -1
- package/dist/client/assets/{LinkExternal01-1QN6qTXo.js → LinkExternal01-BRD6ViRl.js} +1 -1
- package/dist/client/assets/{List-BaGrtyGA.js → List-4IPwuAX9.js} +1 -1
- package/dist/client/assets/{Loading01-C4MO3DLf.js → Loading01-CCSRv8tX.js} +1 -1
- package/dist/client/assets/{Lock01-B8efAtfK.js → Lock01-B367KJK-.js} +1 -1
- package/dist/client/assets/{Pin01-C-K4KVz6.js → Pin01-dHyXwRhr.js} +1 -1
- package/dist/client/assets/{Play-tvHP06ah.js → Play-DiP4pY8r.js} +1 -1
- package/dist/client/assets/{Plus-ByTt0Dzz.js → Plus-B5QrRvCn.js} +1 -1
- package/dist/client/assets/{SearchMd-DCAvw-zt.js → SearchMd-D2POsGFy.js} +1 -1
- package/dist/client/assets/{Share07-DWSOuaTc.js → Share07-CQptN91g.js} +1 -1
- package/dist/client/assets/{Terminal-CZfhkitA.js → Terminal-CsAynI3M.js} +1 -1
- package/dist/client/assets/{Tool01-DJkWVCxw.js → Tool01-DdjIy29J.js} +1 -1
- package/dist/client/assets/{Trash01-BmWnYoTo.js → Trash01-BdLDRPDl.js} +1 -1
- package/dist/client/assets/{Upload01-Dc0X9F2g.js → Upload01-BB9AN-C_.js} +1 -1
- package/dist/client/assets/{Users03-C-YPAI9c.js → Users03-DPYHJvoT.js} +1 -1
- package/dist/client/assets/{X-BHekJF0G.js → X-CVoqpcAx.js} +1 -1
- package/dist/client/assets/{XClose-CDs3a-Ob.js → XClose-CqNB1Ju1.js} +1 -1
- package/dist/client/assets/agent-detail-BA2oH52J.js +1 -0
- package/dist/client/assets/{agents-6fUxAEpD.js → agents-CexpEqf3.js} +1 -1
- package/dist/client/assets/{alert-dialog-DMTRbHIN.js → alert-dialog-9PxNij5-.js} +1 -1
- package/dist/client/assets/{auth-catchall-DrRrFKQk.js → auth-catchall-UkCMdvlG.js} +1 -1
- package/dist/client/assets/{avatar-5yweOYlX.js → avatar-Cr99ARr3.js} +1 -1
- package/dist/client/assets/{badge-B_zXl-jd.js → badge-a9rJdKKG.js} +1 -1
- package/dist/client/assets/{binder-DNt-QaD5.js → binder-BHtkW0UD.js} +1 -1
- package/dist/client/assets/{breadcrumb-DYbYAORz.js → breadcrumb-DBCyZqWb.js} +1 -1
- package/dist/client/assets/{button-ZOo4pjl-.js → button-BB_m2E67.js} +1 -1
- package/dist/client/assets/{card-DhGWuaMP.js → card-DQu0Qiy4.js} +1 -1
- package/dist/client/assets/{checkbox-CQBacaBF.js → checkbox-BYeejX3s.js} +1 -1
- package/dist/client/assets/{circle-alert-BQ9TG01K.js → circle-alert-W5iOrtbw.js} +1 -1
- package/dist/client/assets/collapsible-Ce6mH95q.js +23 -0
- package/dist/client/assets/{collection-detail-DFhGpw2f.js → collection-detail-Wj5M0Fmc.js} +2 -2
- package/dist/client/assets/{collection-search-19Uoq0wQ.js → collection-search-DozvRnxE.js} +1 -1
- package/dist/client/assets/{collection-tab-CogQiK5y.js → collection-tab-BRIJmTl-.js} +1 -1
- package/dist/client/assets/{collection-table-wrapper-BepAjo7t.js → collection-table-wrapper-CTuXfFv4.js} +1 -1
- package/dist/client/assets/{connect-D53lRIS2.js → connect-DKTGUww4.js} +1 -1
- package/dist/client/assets/{connection-card-D1HxijTE.js → connection-card-Bp0BNZom.js} +1 -1
- package/dist/client/assets/connection-detail-DdEzYohs.js +1 -0
- package/dist/client/assets/{connections-B0UpBHBH.js → connections-C2ef7EGE.js} +1 -1
- package/dist/client/assets/constants-DuCds5dq.js +1 -0
- package/dist/client/assets/{constants-CgYg5TtN.js → constants-nQTTOIWL.js} +1 -1
- package/dist/client/assets/{create-organization-dialog-DEacdY5C.js → create-organization-dialog-CgJo2N7J.js} +1 -1
- package/dist/client/assets/{dialog-C8W_SUym.js → dialog-BPGYkE6E.js} +1 -1
- package/dist/client/assets/dropdown-menu-w3xNt286.js +1 -0
- package/dist/client/assets/{dynamic-plugin-layout-B-0mr5zD.js → dynamic-plugin-layout-DB7JIoTi.js} +1 -1
- package/dist/client/assets/{empty-state-BcO1Ypur.js → empty-state-Cuxzpiqy.js} +1 -1
- package/dist/client/assets/{empty-state-FX9PTasG.js → empty-state-DI837doR.js} +1 -1
- package/dist/client/assets/{env-vars-editor-BDdZakcM.js → env-vars-editor-dEtMntyA.js} +1 -1
- package/dist/client/assets/{error-boundary-m114tUpJ.js → error-boundary-UVoBd-EX.js} +1 -1
- package/dist/client/assets/{extract-connection-data-DyggfQBs.js → extract-connection-data-BkwH9UE5.js} +1 -1
- package/dist/client/assets/{file-browser-D-KlovGy.js → file-browser-DBtEgqmA.js} +2 -2
- package/dist/client/assets/{form-r49NhVFy.js → form-CFGJ-U5C.js} +1 -1
- package/dist/client/assets/{grid-view-DxmE20Kf.js → grid-view-BNbopqbx.js} +1 -1
- package/dist/client/assets/{home-nCCmJCuu.js → home-DzPPiX6r.js} +1 -1
- package/dist/client/assets/{index-BbS1IcRL.js → index-BxQtX61C.js} +1 -1
- package/dist/client/assets/{index-DxOSzDZh.js → index-CERcQBYB.js} +1 -1
- package/dist/client/assets/{index-psOxwHJD.js → index-CRFYi63w.js} +1 -1
- package/dist/client/assets/{index-ytnZ687L.js → index-Cr1-k0ke.js} +1 -1
- package/dist/client/assets/{index-C4EJpxzW.js → index-Cw0Cq7G5.js} +79 -79
- package/dist/client/assets/index-DTBzssSX.css +1 -0
- package/dist/client/assets/{index-Bs29EeVO.js → index-DVqIQLTS.js} +2 -2
- package/dist/client/assets/{index-D4SxGvpq.js → index-DrbTAGPY.js} +1 -1
- package/dist/client/assets/{infiniteQueryObserver-HNFv_Ra4.js → infiniteQueryObserver-qdoAkrLg.js} +1 -1
- package/dist/client/assets/{input-C4GtYEoZ.js → input-D53urYud.js} +1 -1
- package/dist/client/assets/{layout-DIZIdVHa.js → layout-CvATyvqE.js} +1 -1
- package/dist/client/assets/localstorage-keys-Dt0DQ7_M.js +1 -0
- package/dist/client/assets/{login-94e59ej-.js → login-C_lPzYbi.js} +1 -1
- package/dist/client/assets/{mcp-oauth-Dr83fUMz.js → mcp-oauth-ALBEJIVW.js} +1 -1
- package/dist/client/assets/{mcp-server-card-D3NweLAu.js → mcp-server-card-BSDiwyMq.js} +1 -1
- package/dist/client/assets/{mcp-server-detail-5y7XANLb.js → mcp-server-detail-hoJFp--l.js} +2 -2
- package/dist/client/assets/{members-DP1aRHjX.js → members-DhIxxmb-.js} +1 -1
- package/dist/client/assets/{monaco-editor-Bb429dTQ.js → monaco-editor-Dv5Uv_CH.js} +1 -1
- package/dist/client/assets/{monitoring-E-kPGB57.js → monitoring-CesgjcG6.js} +5 -5
- package/dist/client/assets/{oauth-callback-jLJ-n7ws.js → oauth-callback-D881LTdt.js} +1 -1
- package/dist/client/assets/page-BINds3__.js +1 -0
- package/dist/client/assets/{page-BDCV1_H1.js → page-Bz36h7wn.js} +1 -1
- package/dist/client/assets/{pin-to-sidebar-button-1GCs6x8a.js → pin-to-sidebar-button-VWxGEpa7.js} +1 -1
- package/dist/client/assets/{plugin-empty-state-iwSrZL3O.js → plugin-empty-state-BKQ3hXbm.js} +1 -1
- package/dist/client/assets/{plugin-header-Bp4Gwa8J.js → plugin-header-D2pQH9wJ.js} +1 -1
- package/dist/client/assets/{plugins-CDmts_jJ.js → plugins-BaoheFvZ.js} +1 -1
- package/dist/client/assets/{popover-CUkUY7Kj.js → popover-C9gpO_P1.js} +1 -1
- package/dist/client/assets/{registry-utils-Do3XnHa6.js → registry-utils-COHLTguy.js} +1 -1
- package/dist/client/assets/{resizable-CI_df1fw.js → resizable-Dl3VUWr8.js} +1 -1
- package/dist/client/assets/{resource-tabs-D2NgBxYW.js → resource-tabs-Ddi84XBD.js} +1 -1
- package/dist/client/assets/{select-DqXwJZyT.js → select-DsmrYLOe.js} +1 -1
- package/dist/client/assets/{settings-CK6KB251.js → settings-Z2r51vE-.js} +1 -1
- package/dist/client/assets/shell-layout-LyCgzjUJ.js +12 -0
- package/dist/client/assets/{spinner-_C_bSKie.js → spinner-CaiollDD.js} +1 -1
- package/dist/client/assets/{store-invite-CJSOrtY9.js → store-invite-E7IkGyCx.js} +1 -1
- package/dist/client/assets/{switch-Cd91eyGn.js → switch-BRyOsD9X.js} +1 -1
- package/dist/client/assets/{table-BpYYfeqL.js → table-By59ASmK.js} +1 -1
- package/dist/client/assets/{textarea-CvbGXUX_.js → textarea-BB8VII1W.js} +1 -1
- package/dist/client/assets/{tools-list-BJ4Nz1PD.js → tools-list-DURWgp8a.js} +1 -1
- package/dist/client/assets/{typewriter-title-BmfXfQ4Z.js → typewriter-title-BTENJbqy.js} +1 -1
- package/dist/client/assets/{use-binding-GlE21mVe.js → use-binding-BKAkfTQP.js} +1 -1
- package/dist/client/assets/{use-collections-BNOLiMAP.js → use-collections-CidxL5e8.js} +1 -1
- package/dist/client/assets/{use-connection-_63RHsQC.js → use-connection-nBbiimhv.js} +1 -1
- package/dist/client/assets/{use-create-virtual-mcp-D0aLBOrN.js → use-create-virtual-mcp-CPQ3EWAe.js} +1 -1
- package/dist/client/assets/{use-deco-chat-open-CV4KNODR.js → use-deco-chat-open-CxrySluI.js} +1 -1
- package/dist/client/assets/{use-list-state-C35WGVlD.js → use-list-state-DDhTHJ9V.js} +1 -1
- package/dist/client/assets/{use-mcp-prompts-Cs-0fn1r.js → use-mcp-prompts-0zuoUwAA.js} +1 -1
- package/dist/client/assets/{use-members-k6Mq8L05.js → use-members-CVCClaOw.js} +1 -1
- package/dist/client/assets/{use-mobile-viw7itqe.js → use-mobile-D3kiHSC9.js} +1 -1
- package/dist/client/assets/{use-organization-settings-DmHiyg1G.js → use-organization-settings-Bnh92zjq.js} +1 -1
- package/dist/client/assets/{use-virtual-mcp-d_sGPR5Q.js → use-virtual-mcp-BzFn2znu.js} +1 -1
- package/dist/client/assets/useInfiniteQuery-Cg3dUfja.js +1 -0
- package/dist/client/assets/{useMutation-DpUHdLIR.js → useMutation-DYyKBkRY.js} +1 -1
- package/dist/client/assets/useQuery-CC03be4X.js +1 -0
- package/dist/client/assets/{view-mode-toggle-D5fN84Hq.js → view-mode-toggle-C2aKUr7i.js} +1 -1
- package/dist/client/assets/{workflow-FDu9kVkd.js → workflow-DrGi1tqo.js} +1 -1
- package/dist/client/index.html +2 -2
- package/dist/server/cli.js +2 -2
- package/dist/server/server.js +2 -2
- package/package.json +1 -1
- package/dist/client/assets/Code01-P3ZWE6Wq.js +0 -1
- package/dist/client/assets/agent-detail-4k8w16fq.js +0 -1
- package/dist/client/assets/collapsible-0t7QAPTM.js +0 -23
- package/dist/client/assets/connection-detail-C3WTnyuO.js +0 -1
- package/dist/client/assets/constants-j8UyVq9f.js +0 -1
- package/dist/client/assets/dropdown-menu-v13S1hcn.js +0 -1
- package/dist/client/assets/index-C4iufez8.css +0 -1
- package/dist/client/assets/localstorage-keys-Bm36wvj7.js +0 -1
- package/dist/client/assets/page-BbamCL5c.js +0 -1
- package/dist/client/assets/shell-layout-CVRKso4S.js +0 -12
- package/dist/client/assets/useInfiniteQuery-3B7DIQNV.js +0 -1
- package/dist/client/assets/useQuery-By0-zS-_.js +0 -1
- package/dist/client/assets/useSuspenseInfiniteQuery-CNdbzDY7.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as u,x as c}from"./index-
|
|
1
|
+
import{c as u,x as c}from"./index-DVqIQLTS.js";import{u as p}from"./useQuery-CC03be4X.js";import{K as n}from"./constants-nQTTOIWL.js";async function f(l){return l.getServerCapabilities()?.resources?await l.listResources():{resources:[]}}async function b(l,e){return await l.readResource({uri:e})}function R(l){const e=u.c(12);let t,s;e[0]!==l?({client:t,...s}=l,e[0]=l,e[1]=t,e[2]=s):(t=e[1],s=e[2]);let r;e[3]!==t?(r=n.mcpResourcesList(t),e[3]=t,e[4]=r):r=e[4];let i;e[5]!==t?(i=()=>f(t),e[5]=t,e[6]=i):i=e[6];const o=s.staleTime??3e4;let a;return e[7]!==s||e[8]!==r||e[9]!==i||e[10]!==o?(a={...s,queryKey:r,queryFn:i,staleTime:o,retry:!1},e[7]=s,e[8]=r,e[9]=i,e[10]=o,e[11]=a):a=e[11],c(a)}function L(l){const e=u.c(12);let t,s;e[0]!==l?({client:t,...s}=l,e[0]=l,e[1]=t,e[2]=s):(t=e[1],s=e[2]);let r;e[3]!==t?(r=n.mcpResourcesList(t),e[3]=t,e[4]=r):r=e[4];let i;e[5]!==t?(i=()=>f(t),e[5]=t,e[6]=i):i=e[6];const o=s.staleTime??3e4;let a;return e[7]!==s||e[8]!==r||e[9]!==i||e[10]!==o?(a={...s,queryKey:r,queryFn:i,staleTime:o,retry:!1},e[7]=s,e[8]=r,e[9]=i,e[10]=o,e[11]=a):a=e[11],p(a)}async function m(l){return l.getServerCapabilities()?.prompts?await l.listPrompts():{prompts:[]}}async function T(l,e,t){if(!l.getServerCapabilities()?.prompts)throw new Error("Prompts capability not supported");return await l.getPrompt({name:e,arguments:t??{}})}function g(l){const e=u.c(12);let t,s;e[0]!==l?({client:t,...s}=l,e[0]=l,e[1]=t,e[2]=s):(t=e[1],s=e[2]);let r;e[3]!==t?(r=n.mcpPromptsList(t),e[3]=t,e[4]=r):r=e[4];let i;e[5]!==t?(i=()=>m(t),e[5]=t,e[6]=i):i=e[6];const o=s.staleTime??3e4;let a;return e[7]!==s||e[8]!==r||e[9]!==i||e[10]!==o?(a={...s,queryKey:r,queryFn:i,staleTime:o,retry:!1},e[7]=s,e[8]=r,e[9]=i,e[10]=o,e[11]=a):a=e[11],c(a)}function C(l){const e=u.c(12);let t,s;e[0]!==l?({client:t,...s}=l,e[0]=l,e[1]=t,e[2]=s):(t=e[1],s=e[2]);let r;e[3]!==t?(r=n.mcpPromptsList(t),e[3]=t,e[4]=r):r=e[4];let i;e[5]!==t?(i=()=>m(t),e[5]=t,e[6]=i):i=e[6];const o=s.staleTime??3e4;let a;return e[7]!==s||e[8]!==r||e[9]!==i||e[10]!==o?(a={...s,queryKey:r,queryFn:i,staleTime:o,retry:!1},e[7]=s,e[8]=r,e[9]=i,e[10]=o,e[11]=a):a=e[11],p(a)}export{f as a,C as b,R as c,L as d,T as g,m as l,b as r,g as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as n,u as o,x as u,K as i,g as a}from"./index-
|
|
1
|
+
import{c as n,u as o,x as u,K as i,g as a}from"./index-DVqIQLTS.js";function l(){const e=n.c(4),{locator:r}=o();let t;e[0]!==r?(t=i.members(r),e[0]=r,e[1]=t):t=e[1];let s;return e[2]!==t?(s={queryKey:t,queryFn:c},e[2]=t,e[3]=s):s=e[3],u(s)}function c(){return a.organization.listMembers()}export{l as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as m,r}from"./index-
|
|
1
|
+
import{c as m,r}from"./index-DVqIQLTS.js";const a=768,o=()=>globalThis.innerWidth<a;function u(){const e=m.c(2),[l,n]=r.useState(o);let t,s;return e[0]===Symbol.for("react.memo_cache_sentinel")?(t=()=>{const i=()=>n(o),c=globalThis.matchMedia(`(max-width: ${a-1}px)`);return c.addEventListener("change",i),n(o),()=>c.removeEventListener("change",i)},s=[],e[0]=t,e[1]=s):(t=e[0],s=e[1]),r.useEffect(t,s),l}export{u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as m,u as T,x as d,
|
|
1
|
+
import{c as m,u as T,x as d,a1 as y,K as g}from"./index-DVqIQLTS.js";import{u as _}from"./useMutation-DYyKBkRY.js";import{a as p,u as A}from"./constants-nQTTOIWL.js";function D(e){const t=m.c(10),{org:i}=T();let l;t[0]!==i.id?(l={connectionId:p,orgId:i.id},t[0]=i.id,t[1]=l):l=t[1];const c=A(l);let u;t[2]!==e?(u=g.organizationSettings(e),t[2]=e,t[3]=u):u=t[3];let s;t[4]!==c||t[5]!==e?(s=async()=>{const a=await c.callTool({name:"ORGANIZATION_SETTINGS_GET",arguments:{}}),r=a.structuredContent??a;return r||{organizationId:e,sidebar_items:null,enabled_plugins:null,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString()}},t[4]=c,t[5]=e,t[6]=s):s=t[6];let n;t[7]!==u||t[8]!==s?(n={queryKey:u,queryFn:s,staleTime:6e4},t[7]=u,t[8]=s,t[9]=n):n=t[9];const{data:o}=d(n);return o}function G(e){const t=m.c(13),i=y(),{org:l}=T();let c;t[0]!==l.id?(c={connectionId:p,orgId:l.id},t[0]=l.id,t[1]=c):c=t[1];const u=A(c);let s;t[2]!==u||t[3]!==e?(s=async S=>{const f=await u.callTool({name:"ORGANIZATION_SETTINGS_UPDATE",arguments:{organizationId:e,...S}});return f.structuredContent??f},t[2]=u,t[3]=e,t[4]=s):s=t[4];let n;t[5]!==e||t[6]!==i?(n=S=>{i.setQueryData(g.organizationSettings(e),S)},t[5]=e,t[6]=i,t[7]=n):n=t[7];let o;t[8]!==s||t[9]!==n?(o={mutationFn:s,onSuccess:n},t[8]=s,t[9]=n,t[10]=o):o=t[10];const a=_(o);let r;return t[11]!==a?(r={update:a},t[11]=a,t[12]=r):r=t[12],r}export{G as a,D as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c,u as r}from"./index-
|
|
1
|
+
import{c,u as r}from"./index-DVqIQLTS.js";import{b as a,u as C,a as I}from"./use-collections-CidxL5e8.js";import{a as l,u}from"./constants-nQTTOIWL.js";function m(i){const t=c.c(4);let o;t[0]!==i?(o=i===void 0?{}:i,t[0]=i,t[1]=o):o=t[1];const n=o,{org:e}=r();let s;t[2]!==e.id?(s={connectionId:l,orgId:e.id},t[2]=e.id,t[3]=s):s=t[3];const d=u(s);return a(e.id,"VIRTUAL_MCP",d,n)}function V(i){const t=c.c(2),{org:o}=r();let n;t[0]!==o.id?(n={connectionId:l,orgId:o.id},t[0]=o.id,t[1]=n):n=t[1];const e=u(n);return I(o.id,"VIRTUAL_MCP",i??void 0,e)}function p(){const i=c.c(2),{org:t}=r();let o;i[0]!==t.id?(o={connectionId:l,orgId:t.id},i[0]=t.id,i[1]=o):o=i[1];const n=u(o);return C(t.id,"VIRTUAL_MCP",n)}export{p as a,m as b,V as u};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{I as u}from"./infiniteQueryObserver-qdoAkrLg.js";import{a4 as i}from"./index-DVqIQLTS.js";function t(e,r){return i(e,u,r)}export{t as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{aQ as l,aR as p,aS as n,aT as d,aU as h,
|
|
1
|
+
import{aQ as l,aR as p,aS as n,aT as d,aU as h,a1 as b,r as o,aV as m,aW as f}from"./index-DVqIQLTS.js";var v=class extends l{#s;#i=void 0;#t;#e;constructor(t,s){super(),this.#s=t,this.setOptions(s),this.bindMethods(),this.#r()}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(t){const s=this.options;this.options=this.#s.defaultMutationOptions(t),p(this.options,s)||this.#s.getMutationCache().notify({type:"observerOptionsUpdated",mutation:this.#t,observer:this}),s?.mutationKey&&this.options.mutationKey&&n(s.mutationKey)!==n(this.options.mutationKey)?this.reset():this.#t?.state.status==="pending"&&this.#t.setOptions(this.options)}onUnsubscribe(){this.hasListeners()||this.#t?.removeObserver(this)}onMutationUpdate(t){this.#r(),this.#o(t)}getCurrentResult(){return this.#i}reset(){this.#t?.removeObserver(this),this.#t=void 0,this.#r(),this.#o()}mutate(t,s){return this.#e=s,this.#t?.removeObserver(this),this.#t=this.#s.getMutationCache().build(this.#s,this.options),this.#t.addObserver(this),this.#t.execute(t)}#r(){const t=this.#t?.state??d();this.#i={...t,isPending:t.status==="pending",isSuccess:t.status==="success",isError:t.status==="error",isIdle:t.status==="idle",mutate:this.mutate,reset:this.reset}}#o(t){h.batch(()=>{if(this.#e&&this.hasListeners()){const s=this.#i.variables,i=this.#i.context,e={client:this.#s,meta:this.options.meta,mutationKey:this.options.mutationKey};t?.type==="success"?(this.#e.onSuccess?.(t.data,s,i,e),this.#e.onSettled?.(t.data,null,s,i,e)):t?.type==="error"&&(this.#e.onError?.(t.error,s,i,e),this.#e.onSettled?.(void 0,t.error,s,i,e))}this.listeners.forEach(s=>{s(this.#i)})})}};function O(t,s){const i=b(s),[e]=o.useState(()=>new v(i,t));o.useEffect(()=>{e.setOptions(t)},[e,t]);const r=o.useSyncExternalStore(o.useCallback(a=>e.subscribe(h.batchCalls(a)),[e]),()=>e.getCurrentResult(),()=>e.getCurrentResult()),u=o.useCallback((a,c)=>{e.mutate(a,c).catch(m)},[e]);if(r.error&&f(e.options.throwOnError,[r.error]))throw r.error;return{...r,mutate:u,mutateAsync:r.mutate}}export{O as u};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a4 as u,a7 as s}from"./index-DVqIQLTS.js";function o(e,r){return u(e,s,r)}export{o as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as Y,r as V,j as i}from"./index-
|
|
1
|
+
import{c as Y,r as V,j as i}from"./index-DVqIQLTS.js";import{c as n}from"./button-BB_m2E67.js";const Z={sm:{button:"size-7",icon:"size-4"},md:{button:"size-9",icon:"size-5"},lg:{button:"size-12",icon:"size-6"}};function oe(J){const e=Y.c(66),{value:o,onValueChange:l,options:t,size:D,fullWidth:F,className:W}=J,K=D===void 0?"sm":D,w=F===void 0?!1:F,G=V.useRef(null),H=V.useRef(null);let R;e[0]===Symbol.for("react.memo_cache_sentinel")?(R={left:0,width:0,opacity:0},e[0]=R):R=e[0];const[N,O]=V.useState(R);let _;e[1]===Symbol.for("react.memo_cache_sentinel")?(_=S=>{if(!S.current)return;const{offsetLeft:U,offsetWidth:X}=S.current;O({left:U,width:X,opacity:1})},e[1]=_):_=e[1];const Q=_;let C;e[2]!==t[0].value||e[3]!==o?(C=()=>{const S=o===t[0].value?G:H;Q(S)},e[2]=t[0].value,e[3]=o,e[4]=C):C=e[4];let E;e[5]!==t||e[6]!==o?(E=[o,t],e[5]=t,e[6]=o,e[7]=E):E=e[7],V.useEffect(C,E);const s=Z[K];let a;e[8]!==W?(a=n("relative flex gap-0 bg-muted rounded-lg",W),e[8]=W,e[9]=a):a=e[9];let c;e[10]!==l||e[11]!==t[0].value?(c=()=>l(t[0].value),e[10]=l,e[11]=t[0].value,e[12]=c):c=e[12];const $=w?"flex-1 h-12 px-4":s.button,I=!w&&t[0].label?"px-3":"";let r;e[13]!==I||e[14]!==$?(r=n("relative z-10 flex items-center justify-center gap-2 rounded-lg transition-colors [transition-timing-function:var(--ease-out-cubic)] duration-200",$,I),e[13]=I,e[14]=$,e[15]=r):r=e[15];const P=o===t[0].value?"text-foreground":"text-muted-foreground";let u;e[16]!==s.icon||e[17]!==P?(u=n("transition-colors ease-out duration-200 flex items-center justify-center [&>svg]:size-[1em]",s.icon,P),e[16]=s.icon,e[17]=P,e[18]=u):u=e[18];let f;e[19]!==t[0].icon||e[20]!==u?(f=i.jsx("span",{className:u,children:t[0].icon}),e[19]=t[0].icon,e[20]=u,e[21]=f):f=e[21];let d;e[22]!==t[0].label||e[23]!==t[0].value||e[24]!==o?(d=t[0].label&&i.jsx("span",{className:n("text-xs transition-colors ease-out duration-200 whitespace-nowrap",o===t[0].value?"text-foreground":"text-muted-foreground"),children:t[0].label}),e[22]=t[0].label,e[23]=t[0].value,e[24]=o,e[25]=d):d=e[25];let m;e[26]!==r||e[27]!==f||e[28]!==d||e[29]!==c?(m=i.jsxs("button",{ref:G,type:"button",onClick:c,className:r,children:[f,d]}),e[26]=r,e[27]=f,e[28]=d,e[29]=c,e[30]=m):m=e[30];let x;e[31]!==l||e[32]!==t[1].value?(x=()=>l(t[1].value),e[31]=l,e[32]=t[1].value,e[33]=x):x=e[33];const L=w?"flex-1 h-12 px-4":s.button,M=!w&&t[1].label?"px-3":"";let p;e[34]!==L||e[35]!==M?(p=n("relative z-10 flex items-center justify-center gap-2 rounded-lg transition-colors [transition-timing-function:var(--ease-out-cubic)] duration-200",L,M),e[34]=L,e[35]=M,e[36]=p):p=e[36];const T=o===t[1].value?"text-foreground":"text-muted-foreground";let b;e[37]!==s.icon||e[38]!==T?(b=n("transition-colors ease-out duration-200 flex items-center justify-center [&>svg]:size-[1em]",s.icon,T),e[37]=s.icon,e[38]=T,e[39]=b):b=e[39];let v;e[40]!==t[1].icon||e[41]!==b?(v=i.jsx("span",{className:b,children:t[1].icon}),e[40]=t[1].icon,e[41]=b,e[42]=v):v=e[42];let g;e[43]!==t[1].label||e[44]!==t[1].value||e[45]!==o?(g=t[1].label&&i.jsx("span",{className:n("text-xs transition-colors ease-out duration-200 whitespace-nowrap",o===t[1].value?"text-foreground":"text-muted-foreground"),children:t[1].label}),e[43]=t[1].label,e[44]=t[1].value,e[45]=o,e[46]=g):g=e[46];let h;e[47]!==x||e[48]!==p||e[49]!==v||e[50]!==g?(h=i.jsxs("button",{ref:H,type:"button",onClick:x,className:p,children:[v,g]}),e[47]=x,e[48]=p,e[49]=v,e[50]=g,e[51]=h):h=e[51];const q=w?"h-12":s.button;let y;e[52]!==q?(y=n("absolute z-0 bg-background rounded-lg border-shadow transition-all [transition-timing-function:var(--ease-out-cubic)] duration-200",q),e[52]=q,e[53]=y):y=e[53];const A=`${N.left}px`,B=`${N.width}px`;let j;e[54]!==N.opacity||e[55]!==A||e[56]!==B?(j={left:A,width:B,opacity:N.opacity},e[54]=N.opacity,e[55]=A,e[56]=B,e[57]=j):j=e[57];let z;e[58]!==y||e[59]!==j?(z=i.jsx("div",{className:y,style:j}),e[58]=y,e[59]=j,e[60]=z):z=e[60];let k;return e[61]!==m||e[62]!==h||e[63]!==z||e[64]!==a?(k=i.jsxs("div",{className:a,children:[m,h,z]}),e[61]=m,e[62]=h,e[63]=z,e[64]=a,e[65]=k):k=e[65],k}export{oe as V};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{u as v,g as $,l as _,r as N,j as e,c as L}from"./index-
|
|
1
|
+
import{u as v,g as $,l as _,r as N,j as e,c as L}from"./index-DVqIQLTS.js";import{e as R}from"./constants-nQTTOIWL.js";import{C as z}from"./collection-tab-BRIJmTl-.js";import{a as A,b as F}from"./use-connection-nBbiimhv.js";import{B as k}from"./button-BB_m2E67.js";import{E as H}from"./empty-state-Cuxzpiqy.js";import{P as y}from"./index-BxQtX61C.js";import{B as M,a as O,b as T,c as V}from"./breadcrumb-DBCyZqWb.js";import{a as q,b as D}from"./use-binding-BKAkfTQP.js";import{i as G}from"./Loading01-CCSRv8tX.js";import"./generate-id-Dyweu44Y.js";import"./collection-table-wrapper-CTuXfFv4.js";import"./dropdown-menu-w3xNt286.js";import"./ChevronRight-Cua3_Oqd.js";import"./ArrowUp-Pc2qwI_3.js";import"./Check-kOHUYBJY.js";import"./Grid01-CkZU0tWV.js";import"./List-4IPwuAX9.js";import"./view-mode-toggle-C2aKUr7i.js";import"./table-By59ASmK.js";import"./collection-search-DozvRnxE.js";import"./SearchMd-D2POsGFy.js";import"./input-D53urYud.js";import"./card-DQu0Qiy4.js";import"./Copy01-U5Mrbyn4.js";import"./DotsVertical-CDOXEsr8.js";import"./Edit01-C_cfLeJc.js";import"./use-list-state-DDhTHJ9V.js";import"./use-mobile-D3kiHSC9.js";import"./Trash01-BdLDRPDl.js";import"./empty-state-DI837doR.js";import"./Inbox01-8S74uH1Z.js";import"./avatar-Cr99ARr3.js";import"./useQuery-CC03be4X.js";import"./pin-to-sidebar-button-VWxGEpa7.js";import"./Pin01-dHyXwRhr.js";import"./use-organization-settings-Bnh92zjq.js";import"./useMutation-DYyKBkRY.js";import"./use-collections-CidxL5e8.js";import"./constants-DuCds5dq.js";import"./alert-dialog-9PxNij5-.js";import"./Plus-B5QrRvCn.js";import"./layout-CvATyvqE.js";import"./binder-BHtkW0UD.js";function J({title:i,description:t,wellKnownMcp:o,imageSrc:n,onConnected:s}){const l=A(),{org:{slug:m}}=v(),{data:C}=$.useSession(),d=_(),[a,w]=N.useState(!1),r=async()=>{if(!(!o||!C?.user?.id)){w(!0);try{const c=await l.create.mutateAsync(o);s?.(c.id),d({to:"/$org/mcps/$connectionId",params:{org:m,connectionId:c.id}})}finally{w(!1)}}},j=()=>{d({to:"/$org/mcps",params:{org:m},search:{action:"create"}})};return e.jsx(H,{image:n?e.jsx("img",{src:n,alt:i,width:336,height:320,className:"max-w-full h-auto"}):null,title:i,description:t,actions:e.jsxs(e.Fragment,{children:[e.jsxs(k,{variant:"outline",onClick:r,disabled:a||!o,children:[o?.icon&&e.jsx("img",{src:o.icon,alt:"",className:"size-4"}),a?"Installing...":`Install ${o?.title||"MCP"}`]}),e.jsx(k,{variant:"outline",onClick:j,children:"Custom Connection"})]})})}function Q(i){const t=L.c(28),{bindingName:o,collectionName:n,title:s,emptyState:l,wellKnownMcp:m}=i,{org:C}=v(),d=F();let a;t[0]!==d||t[1]!==o?(a={connections:d,binding:o},t[0]=d,t[1]=o,t[2]=a):a=t[2];const r=q(a)[0],j=D(r);let c;if(t[3]!==n||t[4]!==j){let h;t[6]!==n?(h=W=>W.name.toLowerCase()===n.toLowerCase(),t[6]=n,t[7]=h):h=t[7],c=j.find(h),t[3]=n,t[4]=j,t[5]=c}else c=t[5];const b=c,[P,E]=N.useState(null),B=r&&b&&(r.id||P);let p;t[8]!==s?(p=e.jsx(y.Header,{children:e.jsx(y.Header.Left,{children:e.jsx(M,{children:e.jsx(O,{children:e.jsx(T,{children:e.jsx(V,{children:s})})})})})}),t[8]=s,t[9]=p):p=t[9];let S;t[10]===Symbol.for("react.memo_cache_sentinel")?(S=e.jsx(G,{size:32,className:"animate-spin text-muted-foreground mb-4"}),t[10]=S):S=t[10];let u;t[11]!==s?(u=s.toLowerCase(),t[11]=s,t[12]=u):u=t[12];let f;t[13]!==u?(f=e.jsxs("div",{className:"flex flex-col items-center justify-center h-full",children:[S,e.jsxs("p",{className:"text-sm text-muted-foreground",children:["Loading ",u,"..."]})]}),t[13]=u,t[14]=f):f=t[14];let g;t[15]!==b||t[16]!==r||t[17]!==l||t[18]!==C||t[19]!==B||t[20]!==m?(g=B?e.jsx(z,{connectionId:r.id,org:C.slug,activeCollection:b}):e.jsx("div",{className:"flex flex-col items-center justify-center h-full",children:e.jsx(J,{title:l.title,description:l.description,wellKnownMcp:m,imageSrc:l.imageSrc,onConnected:h=>{E(h)}})}),t[15]=b,t[16]=r,t[17]=l,t[18]=C,t[19]=B,t[20]=m,t[21]=g):g=t[21];let x;t[22]!==f||t[23]!==g?(x=e.jsx(y.Content,{children:e.jsx(N.Suspense,{fallback:f,children:g})}),t[22]=f,t[23]=g,t[24]=x):x=t[24];let I;return t[25]!==p||t[26]!==x?(I=e.jsxs(y,{children:[p,x]}),t[25]=p,t[26]=x,t[27]=I):I=t[27],I}function Ht(){const i=L.c(1);let t;return i[0]===Symbol.for("react.memo_cache_sentinel")?(t=e.jsx(Q,{bindingName:"WORKFLOW",collectionName:"workflow",title:"Workflows",emptyState:{title:"Create Workflows",description:"Install MCP Studio to create and manage automated workflows with multiple steps and integrations."},wellKnownMcp:R()}),i[0]=t):t=i[0],t}export{Ht as default};
|
package/dist/client/index.html
CHANGED
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
<head>
|
|
4
4
|
<title>MCP Mesh</title>
|
|
5
5
|
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
|
|
6
|
-
<script type="module" crossorigin src="/assets/index-
|
|
7
|
-
<link rel="stylesheet" crossorigin href="/assets/index-
|
|
6
|
+
<script type="module" crossorigin src="/assets/index-DVqIQLTS.js"></script>
|
|
7
|
+
<link rel="stylesheet" crossorigin href="/assets/index-DTBzssSX.css">
|
|
8
8
|
</head>
|
|
9
9
|
<body>
|
|
10
10
|
<div id="root"></div>
|
package/dist/server/cli.js
CHANGED
|
@@ -1296,8 +1296,8 @@ Example input: "What tools are available?"
|
|
|
1296
1296
|
Example output: Available Tools Overview`;function G26(Y){let X=Y.get("meshContext").organization;if(!X)throw Error("Organization context is required");if((X.slug??X.id)!==Y.req.param("org"))throw Error("Organization mismatch");return X}function W26(Y){if(!Y.auth?.user?.id)throw Error("User ID is required");return Y.auth.user.id}async function Z26(Y){let Q=(await Y.listTools()).tools.map((J)=>{let{name:G,title:K,description:W,inputSchema:Z,outputSchema:H}=J;return[G,HO({title:K??G,description:W,inputSchema:hG(Z),outputSchema:H?hG(H):void 0,execute:(F,V)=>{return Y.callTool({name:J.name,arguments:F},VW,{signal:V.abortSignal,timeout:S70})},toModelOutput:({output:F})=>{if(F.isError)return{type:"error-text",value:F.content.map(($)=>$.type==="text"?$.text:null).filter(Boolean).join(`
|
|
1297
1297
|
`)||"Unknown error"};if("structuredContent"in F)return{type:"json",value:F.structuredContent};return{type:"content",value:F.content}}})]});return Object.fromEntries(Q)}var PW0=S(()=>{DX();BO();e$()});class K26{thread;organizationId;storage;defaultWindowSize;constructor(Y){this.thread=Y.thread,this.organizationId=Y.thread.organizationId,this.storage=Y.storage,this.defaultWindowSize=Y.defaultWindowSize??50}async loadHistory(){let{messages:Y}=await this.storage.listMessages(this.thread.id);return Y}async save(Y){if(Y.length===0)return;await this.storage.saveMessages(Y)}async getPrunedHistory(Y){let X=await this.loadHistory(),Q=Y??this.defaultWindowSize;return X.slice(-Q)}}async function H26(Y,X){let{threadId:Q,organizationId:J,userId:G,defaultWindowSize:K}=X,W;if(!Q)W=await Y.create({id:U9("thrd"),organizationId:J,createdBy:G});else{let Z=await Y.get(Q);if(!Z||Z.organizationId!==J)W=await Y.create({id:Z?U9("thrd"):Q,organizationId:J,createdBy:G});else W=Z}return new K26({thread:W,storage:Y,defaultWindowSize:K})}var F26=S(()=>{eZ()});async function V26(Y,X){let Q=W26(Y),J=X.model.capabilities?.vision??!0,G=await H26(Y.storage.threads,{organizationId:X.organizationId,threadId:X.threadId,userId:Q,defaultWindowSize:X.windowSize}),W=[...await G.loadHistory(),...X.messages];if(!J){if(W.some((D)=>D.parts?.some((O)=>O.type==="file")))throw new k3(400,{message:"This model does not support file uploads. Please change the model and try again."})}let Z=await eP6({messages:W}),F=await tP6(Z,{ignoreIncompleteToolCalls:!0}),V=[...X.systemPrompts.map((B)=>({role:"system",content:B})),...F.filter((B)=>B.role==="system")],$=F.filter((B)=>B.role!=="system"),q=Y26({messages:$,reasoning:"before-last-message",emptyMessages:"remove",toolCalls:"all"}).slice(-X.windowSize);return{memory:G,systemMessages:V,prunedMessages:q,originalMessages:Z}}var $26=S(()=>{BO();P2();PW0();F26()});function q26(Y){let X=Y.trim();if(!X)return null;if(X.startsWith("event:"))return null;if(X.startsWith("id:"))return null;if(X.startsWith("retry:"))return null;let Q=X;if(Q.startsWith("data:")){if(Q=Q.slice(5).trim(),!Q)return null;if(Q==="[DONE]")return null}try{return JSON.parse(Q)}catch(J){return console.warn("[llm-provider] Failed to parse stream line as JSON. Skipping line.",{line:Q.slice(0,200)},J),null}}function cZ1(Y){if(!Y.body)throw Error("Response body is null");let X="";return Y.body.pipeThrough(new TextDecoderStream).pipeThrough(new TransformStream({transform(Q,J){X+=Q;let G=X.split(`
|
|
1298
1298
|
`);X=G.pop()??"";for(let K of G)if(K.trim()){let W=q26(K);if(W)J.enqueue(W)}},flush(Q){if(X.trim()){let J=q26(X);if(J)Q.enqueue(J)}}}))}function z26(Y){let{prompt:X,...Q}=Y,J=X.map((G)=>{if(G.role==="assistant"&&Array.isArray(G.content))return{...G,content:G.content.map((K)=>{if(K.type==="tool-call"&&typeof K.input!=="string")return{...K,input:JSON.stringify(K.input)};return K})};if(G.role==="tool"&&Array.isArray(G.content))return{...G,content:G.content.map((K)=>{if(K.type==="tool-result"){let W=K.output,Z=W;if(!W||typeof W!=="object")Z={type:"text",value:typeof W==="string"?W:JSON.stringify(W??"")};return{...K,output:Z,result:K.result}}return K})};return G});return{...Q,prompt:J}}var nZ1=(Y)=>{return Object.fromEntries(Object.entries(Y).map(([X,Q])=>[X,Q.map((J)=>new RegExp(J))]))},e2=(Y)=>{return{imageModel:()=>{throw Error("Image models are not supported by this provider")},textEmbeddingModel:()=>{throw Error("Text embedding models are not supported by this provider")},listModels:async()=>{return await Y.COLLECTION_LLM_LIST({})},languageModel:(X)=>{let Q=s$(()=>Y.LLM_METADATA({modelId:X}).then((J)=>nZ1(J.supportedUrls)));return{specificationVersion:"v2",provider:"llm-binding",modelId:X,supportedUrls:Q,doGenerate:async(J)=>{let G=await Y.LLM_DO_GENERATE({callOptions:z26(J),modelId:X}),K=G.response?.timestamp?new Date(G.response.timestamp):void 0;return{...G,response:{...G.response,timestamp:K},usage:{inputTokens:G.usage.inputTokens??void 0,outputTokens:G.usage.outputTokens??void 0,totalTokens:G.usage.totalTokens??void 0,reasoningTokens:G.usage.reasoningTokens??void 0}}},doStream:async(J)=>{let G=await Y.LLM_DO_STREAM({callOptions:z26(J),modelId:X});if(!G.ok)throw Error(`Streaming failed for model ${X} with the status code: ${G.status}
|
|
1299
|
-
${await G.text()}`);return{stream:cZ1(G),response:{headers:Object.fromEntries(G.headers?.entries()??[])}}}}}}};var EW0=()=>{};async function B26(Y,X){let Q=A2.forClient(t$(Y)),J=e2(Q),G=J.languageModel(X.modelId),K=X.fastId?J.languageModel(X.fastId):void 0;return{model:G,modelId:X.modelId,connectionId:X.connectionId,cheapModel:K}}var U26=S(()=>{sx();EW0();e$()});var iZ1,aZ1,D26;var O26=S(()=>{a0();iZ1=z.looseObject({id:z.string().optional(),role:z.enum(["user","assistant","system"]),parts:z.array(z.record(z.string(),z.unknown())),metadata:z.unknown().optional()}),aZ1=z.object({windowSize:z.number().default(pu),threadId:z.string()}),D26=z.object({messages:z.array(iZ1),memory:aZ1.optional(),model:z.object({id:z.string(),connectionId:z.string(),fastId:z.string().optional().nullable().describe("ID of a fast/cheap model for background operations"),capabilities:z.object({vision:z.boolean().optional(),text:z.boolean().optional(),tools:z.boolean().optional()}).optional(),provider:z.enum(["openai","anthropic","google","xai","deepseek","openrouter","openai-compatible"]).optional().nullable(),limits:z.object({contextWindow:z.number().optional(),maxOutputTokens:z.number().optional()}).optional()}).loose(),agent:z.object({id:z.string()}).loose(),stream:z.boolean().optional(),temperature:z.number().default(0.5),thread_id:z.string().optional()})});async function N26(Y){let{abortSignal:X,model:Q,userMessage:J,onTitle:G}=Y,K=new AbortController,W=()=>K.abort();X.addEventListener("abort",W,{once:!0});let Z=setTimeout(()=>{K.abort()},rZ1);try{let F=(await mu({model:Q,system:J26,messages:[{role:"user",content:J}],maxOutputTokens:60,temperature:0.2,abortSignal:K.signal})).text.trim(),$=(F.split(`
|
|
1300
|
-
`)[0]??F).replace(/^["']|["']$/g,"").replace(/^(Title:|title:)\s*/i,"").replace(/[.!?]$/,"").slice(0,60).trim();G?.($)}catch(H){let F=H;if(F.name==="AbortError")console.warn("[decopilot:title] Title generation aborted (timeout or parent abort)");else console.error("[decopilot:title] \u274C Failed to generate title:",F.message)}finally{clearTimeout(Z),X.removeEventListener("abort",W)}}var rZ1=2500;var L26=S(()=>{BO()});async function oZ1(Y){let X=G26(Y),Q=await Y.req.json(),J=D26.safeParse(Q);if(!J.success)throw new k3(400,{message:"Invalid request body"});return{organization:X,...J.data}}var w26,CW0;var M26=S(()=>{BO();vG();P2();Ou();eZ();$26();PW0();U26();O26();L26();w26=new O9;w26.post("/:org/decopilot/stream",async(Y)=>{try{let X=Y.get("meshContext"),{organization:Q,model:J,agent:G,messages:K,temperature:W,memory:Z,thread_id:H}=await oZ1(Y),F=Z?.windowSize??pu,V=H??Z?.threadId,[$,q]=await Promise.all([X.storage.virtualMcps.findById(G.id,Q.id),X.createMCPProxy(J.connectionId)]);if(!$)throw Error("Agent not found");let B=await f2($,X,
|
|
1299
|
+
${await G.text()}`);return{stream:cZ1(G),response:{headers:Object.fromEntries(G.headers?.entries()??[])}}}}}}};var EW0=()=>{};async function B26(Y,X){let Q=A2.forClient(t$(Y)),J=e2(Q),G=J.languageModel(X.modelId),K=X.fastId?J.languageModel(X.fastId):void 0;return{model:G,modelId:X.modelId,connectionId:X.connectionId,cheapModel:K}}var U26=S(()=>{sx();EW0();e$()});var iZ1,aZ1,D26;var O26=S(()=>{a0();iZ1=z.looseObject({id:z.string().optional(),role:z.enum(["user","assistant","system"]),parts:z.array(z.record(z.string(),z.unknown())),metadata:z.unknown().optional()}),aZ1=z.object({windowSize:z.number().default(pu),threadId:z.string()}),D26=z.object({messages:z.array(iZ1),memory:aZ1.optional(),model:z.object({id:z.string(),connectionId:z.string(),fastId:z.string().optional().nullable().describe("ID of a fast/cheap model for background operations"),capabilities:z.object({vision:z.boolean().optional(),text:z.boolean().optional(),tools:z.boolean().optional()}).optional(),provider:z.enum(["openai","anthropic","google","xai","deepseek","openrouter","openai-compatible"]).optional().nullable(),limits:z.object({contextWindow:z.number().optional(),maxOutputTokens:z.number().optional()}).optional()}).loose(),agent:z.object({id:z.string(),mode:z.enum(["passthrough","smart_tool_selection","code_execution"])}).loose(),stream:z.boolean().optional(),temperature:z.number().default(0.5),thread_id:z.string().optional()})});async function N26(Y){let{abortSignal:X,model:Q,userMessage:J,onTitle:G}=Y,K=new AbortController,W=()=>K.abort();X.addEventListener("abort",W,{once:!0});let Z=setTimeout(()=>{K.abort()},rZ1);try{let F=(await mu({model:Q,system:J26,messages:[{role:"user",content:J}],maxOutputTokens:60,temperature:0.2,abortSignal:K.signal})).text.trim(),$=(F.split(`
|
|
1300
|
+
`)[0]??F).replace(/^["']|["']$/g,"").replace(/^(Title:|title:)\s*/i,"").replace(/[.!?]$/,"").slice(0,60).trim();G?.($)}catch(H){let F=H;if(F.name==="AbortError")console.warn("[decopilot:title] Title generation aborted (timeout or parent abort)");else console.error("[decopilot:title] \u274C Failed to generate title:",F.message)}finally{clearTimeout(Z),X.removeEventListener("abort",W)}}var rZ1=2500;var L26=S(()=>{BO()});async function oZ1(Y){let X=G26(Y),Q=await Y.req.json(),J=D26.safeParse(Q);if(!J.success)throw new k3(400,{message:"Invalid request body"});return{organization:X,...J.data}}var w26,CW0;var M26=S(()=>{BO();vG();P2();Ou();eZ();$26();PW0();U26();O26();L26();w26=new O9;w26.post("/:org/decopilot/stream",async(Y)=>{try{let X=Y.get("meshContext"),{organization:Q,model:J,agent:G,messages:K,temperature:W,memory:Z,thread_id:H}=await oZ1(Y),F=Z?.windowSize??pu,V=H??Z?.threadId,[$,q]=await Promise.all([X.storage.virtualMcps.findById(G.id,Q.id),X.createMCPProxy(J.connectionId)]);if(!$)throw Error("Agent not found");let B=await f2($,X,G.mode),[D,O]=await Promise.all([Z26(B),B26(q,{modelId:J.id,connectionId:J.connectionId,fastId:J.fastId??null})]),L=Y.req.raw.signal,w=B.getInstructions(),R=Q26(w),{memory:P,systemMessages:T,prunedMessages:A,originalMessages:I}=await V26(X,{organizationId:Q.id,threadId:V,windowSize:F,messages:K,systemPrompts:[R],model:J}),j=A.length===1,k=J.limits?.maxOutputTokens??X26,y=null;return du({model:O.model,system:T,messages:A,tools:D,temperature:W,maxOutputTokens:k,abortSignal:L,stopWhen:gu(30),onStepFinish:async()=>{if(j&&y===null){let h=JSON.stringify(A[0]?.content),s=O.cheapModel??O.model;await N26({abortSignal:L,model:s,userMessage:h,onTitle:(u)=>{y=u,X.storage.threads.update(P.thread.id,{title:u}).catch((_)=>{console.error("[decopilot:stream] Error updating thread title",_)})}}).catch((u)=>{console.error("[decopilot:stream] Error generating title",u)})}},onError:async(h)=>{throw console.error("[decopilot:stream] Error",h),h}}).toUIMessageStreamResponse({originalMessages:I,consumeSseStream:TW0,messageMetadata:({part:h})=>{if(h.type==="start")return{agent:{id:G.id??null,mode:G.mode},model:{id:J.id,connectionId:J.connectionId},created_at:new Date,thread_id:P.thread.id};if(h.type==="reasoning-start")return{reasoning_start_at:new Date};if(h.type==="reasoning-end")return{reasoning_end_at:new Date};if(h.type==="finish-step")return{usage:{...h.usage,providerMetadata:h.providerMetadata}};if(h.type==="finish")return{title:y??void 0};return{}},onFinish:async({messages:h,isAborted:s,responseMessage:u})=>{if(s){let l=K[K.length-1],Y0=u,o=Y0?.parts??[],W0=l?.parts??[];if(o.length===0||W0.length===0)return;let H0=[{id:U9("msg"),role:"user",parts:W0,metadata:l?.metadata},{id:U9("msg"),role:"assistant",parts:o,metadata:Y0?.metadata}].map((N0)=>{let I0=new Date().getTime(),h0=N0.role==="user"?I0:I0+1000;return{...N0,metadata:{...N0.metadata,title:y??void 0},createdAt:new Date(h0).toISOString(),updatedAt:new Date(h0).toISOString(),threadId:P.thread.id}});await P.save(H0).catch((N0)=>{console.error("[decopilot:stream] Error saving partial messages",N0)});return}let _=h.slice(-2).map((l)=>{let Y0=new Date().getTime(),o=l.role==="user"?Y0:Y0+1000;return{...l,metadata:{...l.metadata,title:y??void 0},id:U9("msg"),createdAt:new Date(o).toISOString(),updatedAt:new Date(o).toISOString(),threadId:P.thread.id}});await P.save(_).catch((l)=>{console.error("[decopilot:stream] Error saving messages",l)})}})}catch(X){if(console.error("[decopilot:stream] Error",X),X instanceof k3)return Y.json({error:X.message},X.status);if(X instanceof Error&&X.name==="AbortError")return console.warn("[decopilot:stream] Aborted",{error:X.message}),Y.json({error:"Request aborted"},400);return console.error("[decopilot:stream] Failed",{error:X instanceof Error?X.message:JSON.stringify(X),stack:X instanceof Error?X.stack:void 0}),Y.json({error:X instanceof Error?X.message:JSON.stringify(X)},500)}});CW0=w26});var A26=S(()=>{M26()});var cu,T26;var P26=S(()=>{vG();Qu();cu=new O9;cu.post("/connections/:connectionId/oauth-token",async(Y)=>{let X=Y.get("meshContext"),Q=Y.req.param("connectionId");if(!(X.auth.user?.id??X.auth.apiKey?.userId??null))return Y.json({error:"Unauthorized"},401);if(!await X.storage.connections.findById(Q,X.organization?.id))return Y.json({error:"Connection not found"},404);let K=await Y.req.json();if(!K.accessToken)return Y.json({error:"accessToken is required"},400);if(K.tokenEndpoint){let V;try{V=new URL(K.tokenEndpoint)}catch{return Y.json({error:"tokenEndpoint must be a valid URL"},400)}if(V.protocol!=="http:"&&V.protocol!=="https:")return Y.json({error:"tokenEndpoint must be an http(s) URL"},400)}let W=K.expiresIn?new Date(Date.now()+K.expiresIn*1000):null,Z=new ZK(X.db,X.vault),H={connectionId:Q,accessToken:K.accessToken,refreshToken:K.refreshToken??null,scope:K.scope??null,expiresAt:W,clientId:K.clientId??null,clientSecret:K.clientSecret??null,tokenEndpoint:K.tokenEndpoint??null},F=await Z.upsert(H);return Y.json({success:!0,expiresAt:F.expiresAt})});cu.delete("/connections/:connectionId/oauth-token",async(Y)=>{let X=Y.get("meshContext"),Q=Y.req.param("connectionId");if(!(X.auth.user?.id??X.auth.apiKey?.userId??null))return Y.json({error:"Unauthorized"},401);return await new ZK(X.db,X.vault).delete(Q),Y.json({success:!0})});cu.get("/connections/:connectionId/oauth-token/status",async(Y)=>{let X=Y.get("meshContext"),Q=Y.req.param("connectionId");if(!(X.auth.user?.id??X.auth.apiKey?.userId??null))return Y.json({error:"Unauthorized"},401);let G=new ZK(X.db,X.vault),K=await G.get(Q);if(!K)return Y.json({hasToken:!1,isExpired:!0,canRefresh:!1});let W=G.isExpired(K),Z=!!K.refreshToken&&!!K.tokenEndpoint;return Y.json({hasToken:!0,isExpired:W,canRefresh:Z,expiresAt:K.expiresAt})});T26=cu});var IW0=class{writer;encoder;writable;abortSubscribers=[];responseReadable;aborted=!1;closed=!1;constructor(Y,X){this.writable=Y,this.writer=Y.getWriter(),this.encoder=new TextEncoder;let Q=X.getReader();this.abortSubscribers.push(async()=>{await Q.cancel()}),this.responseReadable=new ReadableStream({async pull(J){let{done:G,value:K}=await Q.read();G?J.close():J.enqueue(K)},cancel:()=>{this.abort()}})}async write(Y){try{if(typeof Y==="string")Y=this.encoder.encode(Y);await this.writer.write(Y)}catch{}return this}async writeln(Y){return await this.write(Y+`
|
|
1301
1301
|
`),this}sleep(Y){return new Promise((X)=>setTimeout(X,Y))}async close(){try{await this.writer.close()}catch{}this.closed=!0}async pipe(Y){this.writer.releaseLock(),await Y.pipeTo(this.writable,{preventClose:!0}),this.writer=this.writable.getWriter()}onAbort(Y){this.abortSubscribers.push(Y)}abort(){if(!this.aborted)this.aborted=!0,this.abortSubscribers.forEach((Y)=>Y())}};var RW0=()=>{};var nu=()=>{let Y=typeof Bun<"u"?Bun.version:void 0;if(Y===void 0)return!1;let X=Y.startsWith("1.1")||Y.startsWith("1.0")||Y.startsWith("0.");return nu=()=>X,X};var jW0=()=>{};var E26=S(()=>{RW0();jW0()});var C26,sZ1=async(Y,X,Q)=>{try{await X(Y)}catch(J){if(J instanceof Error&&Q)await Q(J,Y),await Y.writeSSE({event:"error",data:J.message});else console.error(J)}finally{Y.close()}},tZ1,SW0=(Y,X,Q)=>{let{readable:J,writable:G}=new TransformStream,K=new C26(G,J);if(nu())Y.req.raw.signal.addEventListener("abort",()=>{if(!K.closed)K.abort()});return tZ1.set(K.responseReadable,Y),Y.header("Transfer-Encoding","chunked"),Y.header("Content-Type","text/event-stream"),Y.header("Cache-Control","no-cache"),Y.header("Connection","keep-alive"),sZ1(K,X,Q),Y.newResponse(K.responseReadable)};var I26=S(()=>{J70();RW0();jW0();C26=class extends IW0{constructor(Y,X){super(Y,X)}async writeSSE(Y){let Q=(await I2(Y.data,Hu.Stringify,!1,{})).split(/\r\n|\r|\n/).map((G)=>{return`data: ${G}`}).join(`
|
|
1302
1302
|
`),J=[Y.event&&`event: ${Y.event}`,Q,Y.id&&`id: ${Y.id}`,Y.retry&&`retry: ${Y.retry}`].filter(Boolean).join(`
|
|
1303
1303
|
`)+`
|
package/dist/server/server.js
CHANGED
|
@@ -1158,8 +1158,8 @@ Example input: "What tools are available?"
|
|
|
1158
1158
|
Example output: Available Tools Overview`;gY();function UL6(Y){let X=Y.get("meshContext").organization;if(!X)throw Error("Organization context is required");if((X.slug??X.id)!==Y.req.param("org"))throw Error("Organization mismatch");return X}function DL6(Y){if(!Y.auth?.user?.id)throw Error("User ID is required");return Y.auth.user.id}async function OL6(Y){let Q=(await Y.listTools()).tools.map((J)=>{let{name:G,title:K,description:W,inputSchema:Z,outputSchema:H}=J;return[G,AD({title:K??G,description:W,inputSchema:BG(Z),outputSchema:H?BG(H):void 0,execute:(F,V)=>{return Y.callTool({name:J.name,arguments:F},eG,{signal:V.abortSignal,timeout:sJ0})},toModelOutput:({output:F})=>{if(F.isError)return{type:"error-text",value:F.content.map(($)=>$.type==="text"?$.text:null).filter(Boolean).join(`
|
|
1159
1159
|
`)||"Unknown error"};if("structuredContent"in F)return{type:"json",value:F.structuredContent};return{type:"content",value:F.content}}})]});return Object.fromEntries(Q)}TZ();class NL6{thread;organizationId;storage;defaultWindowSize;constructor(Y){this.thread=Y.thread,this.organizationId=Y.thread.organizationId,this.storage=Y.storage,this.defaultWindowSize=Y.defaultWindowSize??50}async loadHistory(){let{messages:Y}=await this.storage.listMessages(this.thread.id);return Y}async save(Y){if(Y.length===0)return;await this.storage.saveMessages(Y)}async getPrunedHistory(Y){let X=await this.loadHistory(),Q=Y??this.defaultWindowSize;return X.slice(-Q)}}async function LL6(Y,X){let{threadId:Q,organizationId:J,userId:G,defaultWindowSize:K}=X,W;if(!Q)W=await Y.create({id:F9("thrd"),organizationId:J,createdBy:G});else{let Z=await Y.get(Q);if(!Z||Z.organizationId!==J)W=await Y.create({id:Z?F9("thrd"):Q,organizationId:J,createdBy:G});else W=Z}return new NL6({thread:W,storage:Y,defaultWindowSize:K})}async function wL6(Y,X){let Q=DL6(Y),J=X.model.capabilities?.vision??!0,G=await LL6(Y.storage.threads,{organizationId:X.organizationId,threadId:X.threadId,userId:Q,defaultWindowSize:X.windowSize}),W=[...await G.loadHistory(),...X.messages];if(!J){if(W.some((D)=>D.parts?.some((O)=>O.type==="file")))throw new NK(400,{message:"This model does not support file uploads. Please change the model and try again."})}let Z=await VL6({messages:W}),F=await FL6(Z,{ignoreIncompleteToolCalls:!0}),V=[...X.systemPrompts.map((B)=>({role:"system",content:B})),...F.filter((B)=>B.role==="system")],$=F.filter((B)=>B.role!=="system"),q=$L6({messages:$,reasoning:"before-last-message",emptyMessages:"remove",toolCalls:"all"}).slice(-X.windowSize);return{memory:G,systemMessages:V,prunedMessages:q,originalMessages:Z}}nb();function ML6(Y){let X=Y.trim();if(!X)return null;if(X.startsWith("event:"))return null;if(X.startsWith("id:"))return null;if(X.startsWith("retry:"))return null;let Q=X;if(Q.startsWith("data:")){if(Q=Q.slice(5).trim(),!Q)return null;if(Q==="[DONE]")return null}try{return JSON.parse(Q)}catch(J){return console.warn("[llm-provider] Failed to parse stream line as JSON. Skipping line.",{line:Q.slice(0,200)},J),null}}function jX1(Y){if(!Y.body)throw Error("Response body is null");let X="";return Y.body.pipeThrough(new TextDecoderStream).pipeThrough(new TransformStream({transform(Q,J){X+=Q;let G=X.split(`
|
|
1160
1160
|
`);X=G.pop()??"";for(let K of G)if(K.trim()){let W=ML6(K);if(W)J.enqueue(W)}},flush(Q){if(X.trim()){let J=ML6(X);if(J)Q.enqueue(J)}}}))}var SX1=(Y)=>{return Object.fromEntries(Object.entries(Y).map(([X,Q])=>[X,Q.map((J)=>new RegExp(J))]))};function AL6(Y){let{prompt:X,...Q}=Y,J=X.map((G)=>{if(G.role==="assistant"&&Array.isArray(G.content))return{...G,content:G.content.map((K)=>{if(K.type==="tool-call"&&typeof K.input!=="string")return{...K,input:JSON.stringify(K.input)};return K})};if(G.role==="tool"&&Array.isArray(G.content))return{...G,content:G.content.map((K)=>{if(K.type==="tool-result"){let W=K.output,Z=W;if(!W||typeof W!=="object")Z={type:"text",value:typeof W==="string"?W:JSON.stringify(W??"")};return{...K,output:Z,result:K.result}}return K})};return G});return{...Q,prompt:J}}var Y2=(Y)=>{return{imageModel:()=>{throw Error("Image models are not supported by this provider")},textEmbeddingModel:()=>{throw Error("Text embedding models are not supported by this provider")},listModels:async()=>{return await Y.COLLECTION_LLM_LIST({})},languageModel:(X)=>{let Q=N$(()=>Y.LLM_METADATA({modelId:X}).then((J)=>SX1(J.supportedUrls)));return{specificationVersion:"v2",provider:"llm-binding",modelId:X,supportedUrls:Q,doGenerate:async(J)=>{let G=await Y.LLM_DO_GENERATE({callOptions:AL6(J),modelId:X}),K=G.response?.timestamp?new Date(G.response.timestamp):void 0;return{...G,response:{...G.response,timestamp:K},usage:{inputTokens:G.usage.inputTokens??void 0,outputTokens:G.usage.outputTokens??void 0,totalTokens:G.usage.totalTokens??void 0,reasoningTokens:G.usage.reasoningTokens??void 0}}},doStream:async(J)=>{let G=await Y.LLM_DO_STREAM({callOptions:AL6(J),modelId:X});if(!G.ok)throw Error(`Streaming failed for model ${X} with the status code: ${G.status}
|
|
1161
|
-
${await G.text()}`);return{stream:jX1(G),response:{headers:Object.fromEntries(G.headers?.entries()??[])}}}}}}};async function TL6(Y,X){let Q=kP.forClient(L$(Y)),J=Y2(Q),G=J.languageModel(X.modelId),K=X.fastId?J.languageModel(X.fastId):void 0;return{model:G,modelId:X.modelId,connectionId:X.connectionId,cheapModel:K}}i0();var kX1=z.looseObject({id:z.string().optional(),role:z.enum(["user","assistant","system"]),parts:z.array(z.record(z.string(),z.unknown())),metadata:z.unknown().optional()}),vX1=z.object({windowSize:z.number().default(Cx),threadId:z.string()}),PL6=z.object({messages:z.array(kX1),memory:vX1.optional(),model:z.object({id:z.string(),connectionId:z.string(),fastId:z.string().optional().nullable().describe("ID of a fast/cheap model for background operations"),capabilities:z.object({vision:z.boolean().optional(),text:z.boolean().optional(),tools:z.boolean().optional()}).optional(),provider:z.enum(["openai","anthropic","google","xai","deepseek","openrouter","openai-compatible"]).optional().nullable(),limits:z.object({contextWindow:z.number().optional(),maxOutputTokens:z.number().optional()}).optional()}).loose(),agent:z.object({id:z.string()}).loose(),stream:z.boolean().optional(),temperature:z.number().default(0.5),thread_id:z.string().optional()});var _X1=2500;async function EL6(Y){let{abortSignal:X,model:Q,userMessage:J,onTitle:G}=Y,K=new AbortController,W=()=>K.abort();X.addEventListener("abort",W,{once:!0});let Z=setTimeout(()=>{K.abort()},_X1);try{let F=(await Tx({model:Q,system:BL6,messages:[{role:"user",content:J}],maxOutputTokens:60,temperature:0.2,abortSignal:K.signal})).text.trim(),$=(F.split(`
|
|
1162
|
-
`)[0]??F).replace(/^["']|["']$/g,"").replace(/^(Title:|title:)\s*/i,"").replace(/[.!?]$/,"").slice(0,60).trim();G?.($)}catch(H){let F=H;if(F.name==="AbortError")console.warn("[decopilot:title] Title generation aborted (timeout or parent abort)");else console.error("[decopilot:title] \u274C Failed to generate title:",F.message)}finally{clearTimeout(Z),X.removeEventListener("abort",W)}}async function yX1(Y){let X=UL6(Y),Q=await Y.req.json(),J=PL6.safeParse(Q);if(!J.success)throw new NK(400,{message:"Invalid request body"});return{organization:X,...J.data}}var CL6=new X9;CL6.post("/:org/decopilot/stream",async(Y)=>{try{let X=Y.get("meshContext"),{organization:Q,model:J,agent:G,messages:K,temperature:W,memory:Z,thread_id:H}=await yX1(Y),F=Z?.windowSize??Cx,V=H??Z?.threadId,[$,q]=await Promise.all([X.storage.virtualMcps.findById(G.id,Q.id),X.createMCPProxy(J.connectionId)]);if(!$)throw Error("Agent not found");let B=await hP($,X,
|
|
1161
|
+
${await G.text()}`);return{stream:jX1(G),response:{headers:Object.fromEntries(G.headers?.entries()??[])}}}}}}};async function TL6(Y,X){let Q=kP.forClient(L$(Y)),J=Y2(Q),G=J.languageModel(X.modelId),K=X.fastId?J.languageModel(X.fastId):void 0;return{model:G,modelId:X.modelId,connectionId:X.connectionId,cheapModel:K}}i0();var kX1=z.looseObject({id:z.string().optional(),role:z.enum(["user","assistant","system"]),parts:z.array(z.record(z.string(),z.unknown())),metadata:z.unknown().optional()}),vX1=z.object({windowSize:z.number().default(Cx),threadId:z.string()}),PL6=z.object({messages:z.array(kX1),memory:vX1.optional(),model:z.object({id:z.string(),connectionId:z.string(),fastId:z.string().optional().nullable().describe("ID of a fast/cheap model for background operations"),capabilities:z.object({vision:z.boolean().optional(),text:z.boolean().optional(),tools:z.boolean().optional()}).optional(),provider:z.enum(["openai","anthropic","google","xai","deepseek","openrouter","openai-compatible"]).optional().nullable(),limits:z.object({contextWindow:z.number().optional(),maxOutputTokens:z.number().optional()}).optional()}).loose(),agent:z.object({id:z.string(),mode:z.enum(["passthrough","smart_tool_selection","code_execution"])}).loose(),stream:z.boolean().optional(),temperature:z.number().default(0.5),thread_id:z.string().optional()});var _X1=2500;async function EL6(Y){let{abortSignal:X,model:Q,userMessage:J,onTitle:G}=Y,K=new AbortController,W=()=>K.abort();X.addEventListener("abort",W,{once:!0});let Z=setTimeout(()=>{K.abort()},_X1);try{let F=(await Tx({model:Q,system:BL6,messages:[{role:"user",content:J}],maxOutputTokens:60,temperature:0.2,abortSignal:K.signal})).text.trim(),$=(F.split(`
|
|
1162
|
+
`)[0]??F).replace(/^["']|["']$/g,"").replace(/^(Title:|title:)\s*/i,"").replace(/[.!?]$/,"").slice(0,60).trim();G?.($)}catch(H){let F=H;if(F.name==="AbortError")console.warn("[decopilot:title] Title generation aborted (timeout or parent abort)");else console.error("[decopilot:title] \u274C Failed to generate title:",F.message)}finally{clearTimeout(Z),X.removeEventListener("abort",W)}}async function yX1(Y){let X=UL6(Y),Q=await Y.req.json(),J=PL6.safeParse(Q);if(!J.success)throw new NK(400,{message:"Invalid request body"});return{organization:X,...J.data}}var CL6=new X9;CL6.post("/:org/decopilot/stream",async(Y)=>{try{let X=Y.get("meshContext"),{organization:Q,model:J,agent:G,messages:K,temperature:W,memory:Z,thread_id:H}=await yX1(Y),F=Z?.windowSize??Cx,V=H??Z?.threadId,[$,q]=await Promise.all([X.storage.virtualMcps.findById(G.id,Q.id),X.createMCPProxy(J.connectionId)]);if(!$)throw Error("Agent not found");let B=await hP($,X,G.mode),[D,O]=await Promise.all([OL6(B),TL6(q,{modelId:J.id,connectionId:J.connectionId,fastId:J.fastId??null})]),L=Y.req.raw.signal,w=B.getInstructions(),R=zL6(w),{memory:P,systemMessages:T,prunedMessages:A,originalMessages:I}=await wL6(X,{organizationId:Q.id,threadId:V,windowSize:F,messages:K,systemPrompts:[R],model:J}),j=A.length===1,S=J.limits?.maxOutputTokens??qL6,_=null;return Ex({model:O.model,system:T,messages:A,tools:D,temperature:W,maxOutputTokens:S,abortSignal:L,stopWhen:Ax(30),onStepFinish:async()=>{if(j&&_===null){let f=JSON.stringify(A[0]?.content),s=O.cheapModel??O.model;await EL6({abortSignal:L,model:s,userMessage:f,onTitle:(x)=>{_=x,X.storage.threads.update(P.thread.id,{title:x}).catch((v)=>{console.error("[decopilot:stream] Error updating thread title",v)})}}).catch((x)=>{console.error("[decopilot:stream] Error generating title",x)})}},onError:async(f)=>{throw console.error("[decopilot:stream] Error",f),f}}).toUIMessageStreamResponse({originalMessages:I,consumeSseStream:m50,messageMetadata:({part:f})=>{if(f.type==="start")return{agent:{id:G.id??null,mode:G.mode},model:{id:J.id,connectionId:J.connectionId},created_at:new Date,thread_id:P.thread.id};if(f.type==="reasoning-start")return{reasoning_start_at:new Date};if(f.type==="reasoning-end")return{reasoning_end_at:new Date};if(f.type==="finish-step")return{usage:{...f.usage,providerMetadata:f.providerMetadata}};if(f.type==="finish")return{title:_??void 0};return{}},onFinish:async({messages:f,isAborted:s,responseMessage:x})=>{if(s){let m=K[K.length-1],Y0=x,o=Y0?.parts??[],W0=m?.parts??[];if(o.length===0||W0.length===0)return;let H0=[{id:F9("msg"),role:"user",parts:W0,metadata:m?.metadata},{id:F9("msg"),role:"assistant",parts:o,metadata:Y0?.metadata}].map((N0)=>{let I0=new Date().getTime(),f0=N0.role==="user"?I0:I0+1000;return{...N0,metadata:{...N0.metadata,title:_??void 0},createdAt:new Date(f0).toISOString(),updatedAt:new Date(f0).toISOString(),threadId:P.thread.id}});await P.save(H0).catch((N0)=>{console.error("[decopilot:stream] Error saving partial messages",N0)});return}let v=f.slice(-2).map((m)=>{let Y0=new Date().getTime(),o=m.role==="user"?Y0:Y0+1000;return{...m,metadata:{...m.metadata,title:_??void 0},id:F9("msg"),createdAt:new Date(o).toISOString(),updatedAt:new Date(o).toISOString(),threadId:P.thread.id}});await P.save(v).catch((m)=>{console.error("[decopilot:stream] Error saving messages",m)})}})}catch(X){if(console.error("[decopilot:stream] Error",X),X instanceof NK)return Y.json({error:X.message},X.status);if(X instanceof Error&&X.name==="AbortError")return console.warn("[decopilot:stream] Aborted",{error:X.message}),Y.json({error:"Request aborted"},400);return console.error("[decopilot:stream] Failed",{error:X instanceof Error?X.message:JSON.stringify(X),stack:X instanceof Error?X.stack:void 0}),Y.json({error:X instanceof Error?X.message:JSON.stringify(X)},500)}});var l50=CL6;sb();var Ix=new X9;Ix.post("/connections/:connectionId/oauth-token",async(Y)=>{let X=Y.get("meshContext"),Q=Y.req.param("connectionId");if(!(X.auth.user?.id??X.auth.apiKey?.userId??null))return Y.json({error:"Unauthorized"},401);if(!await X.storage.connections.findById(Q,X.organization?.id))return Y.json({error:"Connection not found"},404);let K=await Y.req.json();if(!K.accessToken)return Y.json({error:"accessToken is required"},400);if(K.tokenEndpoint){let V;try{V=new URL(K.tokenEndpoint)}catch{return Y.json({error:"tokenEndpoint must be a valid URL"},400)}if(V.protocol!=="http:"&&V.protocol!=="https:")return Y.json({error:"tokenEndpoint must be an http(s) URL"},400)}let W=K.expiresIn?new Date(Date.now()+K.expiresIn*1000):null,Z=new kZ(X.db,X.vault),H={connectionId:Q,accessToken:K.accessToken,refreshToken:K.refreshToken??null,scope:K.scope??null,expiresAt:W,clientId:K.clientId??null,clientSecret:K.clientSecret??null,tokenEndpoint:K.tokenEndpoint??null},F=await Z.upsert(H);return Y.json({success:!0,expiresAt:F.expiresAt})});Ix.delete("/connections/:connectionId/oauth-token",async(Y)=>{let X=Y.get("meshContext"),Q=Y.req.param("connectionId");if(!(X.auth.user?.id??X.auth.apiKey?.userId??null))return Y.json({error:"Unauthorized"},401);return await new kZ(X.db,X.vault).delete(Q),Y.json({success:!0})});Ix.get("/connections/:connectionId/oauth-token/status",async(Y)=>{let X=Y.get("meshContext"),Q=Y.req.param("connectionId");if(!(X.auth.user?.id??X.auth.apiKey?.userId??null))return Y.json({error:"Unauthorized"},401);let G=new kZ(X.db,X.vault),K=await G.get(Q);if(!K)return Y.json({hasToken:!1,isExpired:!0,canRefresh:!1});let W=G.isExpired(K),Z=!!K.refreshToken&&!!K.tokenEndpoint;return Y.json({hasToken:!0,isExpired:W,canRefresh:Z,expiresAt:K.expiresAt})});var IL6=Ix;nb();var d50=class{writer;encoder;writable;abortSubscribers=[];responseReadable;aborted=!1;closed=!1;constructor(Y,X){this.writable=Y,this.writer=Y.getWriter(),this.encoder=new TextEncoder;let Q=X.getReader();this.abortSubscribers.push(async()=>{await Q.cancel()}),this.responseReadable=new ReadableStream({async pull(J){let{done:G,value:K}=await Q.read();G?J.close():J.enqueue(K)},cancel:()=>{this.abort()}})}async write(Y){try{if(typeof Y==="string")Y=this.encoder.encode(Y);await this.writer.write(Y)}catch{}return this}async writeln(Y){return await this.write(Y+`
|
|
1163
1163
|
`),this}sleep(Y){return new Promise((X)=>setTimeout(X,Y))}async close(){try{await this.writer.close()}catch{}this.closed=!0}async pipe(Y){this.writer.releaseLock(),await Y.pipeTo(this.writable,{preventClose:!0}),this.writer=this.writable.getWriter()}onAbort(Y){this.abortSubscribers.push(Y)}abort(){if(!this.aborted)this.aborted=!0,this.abortSubscribers.forEach((Y)=>Y())}};var Rx=()=>{let Y=typeof Bun<"u"?Bun.version:void 0;if(Y===void 0)return!1;let X=Y.startsWith("1.1")||Y.startsWith("1.0")||Y.startsWith("0.");return Rx=()=>X,X};var RL6=class extends d50{constructor(Y,X){super(Y,X)}async writeSSE(Y){let Q=(await TM(Y.data,X_.Stringify,!1,{})).split(/\r\n|\r|\n/).map((G)=>{return`data: ${G}`}).join(`
|
|
1164
1164
|
`),J=[Y.event&&`event: ${Y.event}`,Q,Y.id&&`id: ${Y.id}`,Y.retry&&`retry: ${Y.retry}`].filter(Boolean).join(`
|
|
1165
1165
|
`)+`
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r}from"./index-Bs29EeVO.js";const i=({size:e=24,color:t="currentColor",...o})=>r.createElement("svg",{viewBox:"0 0 24 24",width:e,height:e,stroke:t,strokeWidth:"2",fill:"none",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...o},r.createElement("path",{d:"m16 18 6-6-6-6M8 6l-6 6 6 6"}));i.displayName="Code01";export{i};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as _,j as t,a$ as ft,al as he,ao as Ne,a_ as pt,av as xt,aZ as ht,an as gt,at as bt,b0 as We,ar as vt,c as T,u as ge,V as jt,s as Nt,v as De,l as yt,a as Ct,b6 as _t,k as Tt,h as St,q as kt,ai as wt}from"./index-Bs29EeVO.js";import{u as Et,C as It,a as At}from"./collapsible-0t7QAPTM.js";import{I as ue,T as ce,b as ye,c as de,a as me,E as Ot}from"./empty-state-BcO1Ypur.js";import{E as xe,i as Dt}from"./error-boundary-m114tUpJ.js";import{P as $t}from"./pin-to-sidebar-button-1GCs6x8a.js";import{u as Lt}from"./use-deco-chat-open-CV4KNODR.js";import{B as $e}from"./badge-B_zXl-jd.js";import{c as Y,B as X}from"./button-ZOo4pjl-.js";import{I as Fe}from"./input-C4GtYEoZ.js";import{S as Rt}from"./switch-Cd91eyGn.js";import{T as Pt}from"./textarea-CvbGXUX_.js";import{b as zt,u as Ue}from"./use-connection-_63RHsQC.js";import{u as Mt,a as Vt}from"./use-virtual-mcp-d_sGPR5Q.js";import{i as Ke}from"./ChevronRight-BKSZBVse.js";import{n as Ft}from"./select-DqXwJZyT.js";import{i as Le}from"./File02-BF9rq9ig.js";import{i as qe}from"./Loading01-C4MO3DLf.js";import{i as Bt}from"./Play-tvHP06ah.js";import{s as Be}from"./Plus-ByTt0Dzz.js";import{i as Gt}from"./Share07-DWSOuaTc.js";import{a as Re}from"./Tool01-DJkWVCxw.js";import{B as Ht,a as Wt,b as Ge,d as Ut,e as Kt,c as qt}from"./breadcrumb-DYbYAORz.js";import{b as Yt,V as Zt}from"./layout-DIZIdVHa.js";import{I as Jt,R as Qt,a as Xt,S as es}from"./index-psOxwHJD.js";import{C as ts}from"./collection-search-19Uoq0wQ.js";import{C as Pe}from"./checkbox-CQBacaBF.js";import{e as ss,a as Ye,D as Ze,b as ls,c as os}from"./dialog-C8W_SUym.js";import{f as ns}from"./use-collections-BNOLiMAP.js";import{u as ze}from"./constants-CgYg5TtN.js";import{c as rs,u as is}from"./use-mcp-prompts-Cs-0fn1r.js";import{s as Je}from"./slugify-CEUa2lfQ.js";import{i as Qe}from"./Check-BQfWrOsa.js";import{i as as}from"./Code01-P3ZWE6Wq.js";import{a as cs}from"./Copy01-CIESL5kI.js";import{i as Ce}from"./InfoCircle-WR60YcfQ.js";import"./use-binding-GlE21mVe.js";import"./binder-DNt-QaD5.js";import"./useSuspenseInfiniteQuery-CNdbzDY7.js";import"./infiniteQueryObserver-HNFv_Ra4.js";import"./localstorage-keys-Bm36wvj7.js";import"./useQuery-By0-zS-_.js";import"./useMutation-DpUHdLIR.js";import"./popover-CUkUY7Kj.js";import"./ChevronDown-a23q7ncj.js";import"./File06-bOvxxnZ2.js";import"./Grid01-IhRcMWbZ.js";import"./Image01-sUTjP5wq.js";import"./SearchMd-DCAvw-zt.js";import"./Pin01-C-K4KVz6.js";import"./use-organization-settings-DmHiyg1G.js";import"./index-BbS1IcRL.js";import"./X-BHekJF0G.js";const Xe=({size:o=24,color:e="currentColor",...s})=>_.createElement("svg",{viewBox:"0 0 24 24",width:o,height:o,stroke:e,strokeWidth:"2",fill:"none",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...s},_.createElement("path",{d:"M4 7h11m0 0-4 4m4-4-4-4M4 17h16m0 0-4 4m4-4-4-4"}));Xe.displayName="ArrowsRight";const et=({size:o=24,color:e="currentColor",...s})=>_.createElement("svg",{viewBox:"0 0 24 24",width:o,height:o,stroke:e,strokeWidth:"2",fill:"none",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...s},_.createElement("path",{d:"M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10Z"}));et.displayName="Circle";const tt=({size:o=24,color:e="currentColor",...s})=>_.createElement("svg",{viewBox:"0 0 24 24",width:o,height:o,stroke:e,strokeWidth:"2",fill:"none",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...s},_.createElement("path",{d:"M9 2v3m6-3v3M9 19v3m6-3v3m4-13h3m-3 5h3M2 9h3m-3 5h3m4.8 5h4.4c1.68 0 2.52 0 3.162-.327a3 3 0 0 0 1.311-1.311C19 16.72 19 15.88 19 14.2V9.8c0-1.68 0-2.52-.327-3.162a3 3 0 0 0-1.311-1.311C16.72 5 15.88 5 14.2 5H9.8c-1.68 0-2.52 0-3.162.327a3 3 0 0 0-1.311 1.311C5 7.28 5 8.12 5 9.8v4.4c0 1.68 0 2.52.327 3.162a3 3 0 0 0 1.311 1.311C7.28 19 8.12 19 9.8 19Z"}));tt.displayName="CpuChip02";const be=({size:o=24,color:e="currentColor",...s})=>_.createElement("svg",{viewBox:"0 0 24 24",width:o,height:o,stroke:e,strokeWidth:"2",fill:"none",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...s},_.createElement("path",{d:"m9.75 20.75 1.473.818c.284.158.425.237.576.268.133.027.27.027.402 0 .15-.031.292-.11.576-.268l1.473-.818m-9-2.5-1.427-.793c-.3-.166-.45-.25-.558-.368a1 1 0 0 1-.215-.364C3 16.573 3 16.401 3 16.06V14.5m0-5V7.942c0-.343 0-.514.05-.667a1 1 0 0 1 .215-.364c.109-.119.258-.202.558-.368L5.25 5.75m4.5-2.5 1.473-.818c.284-.158.425-.237.576-.267a1 1 0 0 1 .402 0c.15.03.292.11.576.267l1.473.818m4.5 2.5 1.427.793c.3.166.45.25.558.368a1 1 0 0 1 .215.364c.05.153.05.324.05.667V9.5m0 5v1.559c0 .342 0 .514-.05.666a.999.999 0 0 1-.215.364c-.109.119-.258.202-.558.368l-1.427.793m-9-7.5L12 12m0 0 2.25-1.25M12 12v2.5M3 7l2.25 1.25m13.5 0L21 7m-9 12.5V22"}));be.displayName="CubeOutline";const st=({size:o=24,color:e="currentColor",...s})=>_.createElement("svg",{viewBox:"0 0 24 24",width:o,height:o,stroke:e,strokeWidth:"2",fill:"none",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...s},_.createElement("path",{d:"M10 17.659V20a2 2 0 1 0 4 0v-2.341M12 2v1m-9 9H2m3.5-6.5-.6-.6m13.6.6.6-.6M22 12h-1m-3 0a6 6 0 1 1-12 0 6 6 0 0 1 12 0Z"}));st.displayName="Lightbulb02";var ve="Tabs",[ds]=vt(ve,[We]),lt=We(),[ms,Me]=ds(ve),ot=_.forwardRef((o,e)=>{const{__scopeTabs:s,value:n,onValueChange:l,defaultValue:r,orientation:c="horizontal",dir:i,activationMode:a="automatic",...m}=o,u=ht(i),[d,f]=gt({prop:n,onChange:l,defaultProp:r??"",caller:ve});return t.jsx(ms,{scope:s,baseId:bt(),value:d,onValueChange:f,orientation:c,dir:u,activationMode:a,children:t.jsx(he.div,{dir:u,"data-orientation":c,...m,ref:e})})});ot.displayName=ve;var nt="TabsList",rt=_.forwardRef((o,e)=>{const{__scopeTabs:s,loop:n=!0,...l}=o,r=Me(nt,s),c=lt(s);return t.jsx(pt,{asChild:!0,...c,orientation:r.orientation,dir:r.dir,loop:n,children:t.jsx(he.div,{role:"tablist","aria-orientation":r.orientation,...l,ref:e})})});rt.displayName=nt;var it="TabsTrigger",at=_.forwardRef((o,e)=>{const{__scopeTabs:s,value:n,disabled:l=!1,...r}=o,c=Me(it,s),i=lt(s),a=mt(c.baseId,n),m=ut(c.baseId,n),u=n===c.value;return t.jsx(ft,{asChild:!0,...i,focusable:!l,active:u,children:t.jsx(he.button,{type:"button",role:"tab","aria-selected":u,"aria-controls":m,"data-state":u?"active":"inactive","data-disabled":l?"":void 0,disabled:l,id:a,...r,ref:e,onMouseDown:Ne(o.onMouseDown,d=>{!l&&d.button===0&&d.ctrlKey===!1?c.onValueChange(n):d.preventDefault()}),onKeyDown:Ne(o.onKeyDown,d=>{[" ","Enter"].includes(d.key)&&c.onValueChange(n)}),onFocus:Ne(o.onFocus,()=>{const d=c.activationMode!=="manual";!u&&!l&&d&&c.onValueChange(n)})})})});at.displayName=it;var ct="TabsContent",dt=_.forwardRef((o,e)=>{const{__scopeTabs:s,value:n,forceMount:l,children:r,...c}=o,i=Me(ct,s),a=mt(i.baseId,n),m=ut(i.baseId,n),u=n===i.value,d=_.useRef(u);return _.useEffect(()=>{const f=requestAnimationFrame(()=>d.current=!1);return()=>cancelAnimationFrame(f)},[]),t.jsx(xt,{present:l||u,children:({present:f})=>t.jsx(he.div,{"data-state":u?"active":"inactive","data-orientation":i.orientation,role:"tabpanel","aria-labelledby":a,hidden:!f,id:m,tabIndex:0,...c,ref:e,style:{...o.style,animationDuration:d.current?"0s":void 0},children:f&&r})})});dt.displayName=ct;function mt(o,e){return`${o}-trigger-${e}`}function ut(o,e){return`${o}-content-${e}`}var us=ot,fs=rt,ps=at,xs=dt;function hs(o){const e=T.c(10);let s,n,l;e[0]!==o?({className:s,variant:l,...n}=o,e[0]=o,e[1]=s,e[2]=n,e[3]=l):(s=e[1],n=e[2],l=e[3]);const r=l===void 0?"pill":l;let c;e[4]!==s?(c=Y("flex flex-col gap-2",s),e[4]=s,e[5]=c):c=e[5];let i;return e[6]!==n||e[7]!==c||e[8]!==r?(i=t.jsx(us,{"data-slot":"tabs","data-variant":r,className:c,...n}),e[6]=n,e[7]=c,e[8]=r,e[9]=i):i=e[9],i}function gs(o){const e=T.c(11);let s,n,l;e[0]!==o?({className:s,variant:l,...n}=o,e[0]=o,e[1]=s,e[2]=n,e[3]=l):(s=e[1],n=e[2],l=e[3]);const r=l||"pill",c=r==="underline"?"flex h-[52px] items-center border-b border-border":r==="canvas"?"flex h-10 items-center bg-background relative":"bg-muted text-muted-foreground inline-flex h-10 w-fit items-center justify-center rounded-xl p-[3px]";let i;e[4]!==s||e[5]!==c?(i=Y(c,s),e[4]=s,e[5]=c,e[6]=i):i=e[6];let a;return e[7]!==r||e[8]!==n||e[9]!==i?(a=t.jsx(fs,{"data-slot":"tabs-list","data-variant":r,className:i,...n}),e[7]=r,e[8]=n,e[9]=i,e[10]=a):a=e[10],a}function _e(o){const e=T.c(11);let s,n,l;e[0]!==o?({className:s,variant:l,...n}=o,e[0]=o,e[1]=s,e[2]=n,e[3]=l):(s=e[1],n=e[2],l=e[3]);const r=l||"pill",c=r==="underline"?"cursor-pointer flex items-center h-full px-3 relative text-sm whitespace-nowrap border-b-2 mb-[-1px] transition-all text-muted-foreground border-transparent hover:text-foreground data-[state=active]:text-foreground data-[state=active]:border-foreground disabled:pointer-events-none disabled:opacity-50":r==="canvas"?"cursor-pointer flex items-center h-full px-3 gap-2.5 text-sm whitespace-nowrap transition-all border-r border-b border-border [&>*]:opacity-50 data-[state=active]:[&>*]:opacity-100 data-[state=active]:border-b-0 last:border-r-0 disabled:pointer-events-none max-w-2xs":"data-[state=active]:bg-background dark:data-[state=active]:text-foreground cursor-pointer focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/30 text-foreground dark:text-muted-foreground inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-lg border border-transparent px-2 py-1 text-sm font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4";let i;e[4]!==s||e[5]!==c?(i=Y(c,s),e[4]=s,e[5]=c,e[6]=i):i=e[6];let a;return e[7]!==r||e[8]!==n||e[9]!==i?(a=t.jsx(ps,{"data-slot":"tabs-trigger","data-variant":r,className:i,...n}),e[7]=r,e[8]=n,e[9]=i,e[10]=a):a=e[10],a}function Te(o){const e=T.c(8);let s,n;e[0]!==o?({className:s,...n}=o,e[0]=o,e[1]=s,e[2]=n):(s=e[1],n=e[2]);let l;e[3]!==s?(l=Y("flex-1 outline-none h-full",s),e[3]=s,e[4]=l):l=e[4];let r;return e[5]!==n||e[6]!==l?(r=t.jsx(xs,{"data-slot":"tabs-content",className:l,...n}),e[5]=n,e[6]=l,e[7]=r):r=e[7],r}function Se(o){return o===null?"all":o?.length??0}function bs(o,e){const s=o[e];if(!s)return"";const n=[];return s.tools===null?n.push("all tools"):s.tools&&s.tools.length>0&&n.push(`${s.tools.length} tools`),s.resources===null?n.push("all resources"):s.resources&&s.resources.length>0&&n.push(`${s.resources.length} resources`),s.prompts===null?n.push("all prompts"):s.prompts&&s.prompts.length>0&&n.push(`${s.prompts.length} prompts`),n.join(", ")}function vs(o,e){const s=o[e];return s?!((s.tools===void 0||s.tools!==null&&s.tools.length===0)&&(s.resources===void 0||s.resources!==null&&s.resources.length===0)&&(s.prompts===void 0||s.prompts!==null&&s.prompts.length===0)):!1}const js={tools:null,resources:null,prompts:null};function ke(){const o=T.c(1);let e;return o[0]===Symbol.for("react.memo_cache_sentinel")?(e=t.jsx("div",{className:"flex items-center justify-center h-32",children:t.jsx(qe,{className:"animate-spin text-muted-foreground",size:24})}),o[0]=e):e=o[0],e}function we(o){return({error:e})=>e?.message?.includes("Method not found")||e?.code===-32601?t.jsx("div",{className:"flex-1 overflow-auto px-4 py-3 space-y-1",children:t.jsx("div",{className:"flex items-center justify-center h-32 text-sm text-muted-foreground",children:o})}):t.jsxs("div",{className:"flex-1 flex flex-col items-center justify-center h-full p-6 text-center space-y-4",children:[t.jsx("div",{className:"bg-destructive/10 p-3 rounded-full",children:t.jsx(Dt,{className:"h-6 w-6 text-destructive"})}),t.jsxs("div",{className:"space-y-2",children:[t.jsx("h3",{className:"text-lg font-medium",children:"Something went wrong"}),t.jsx("p",{className:"text-sm text-muted-foreground max-w-xs mx-auto",children:e?.message?e.message.length>200?`${e.message.slice(0,200)}...`:e.message:"An unexpected error occurred"})]})]})}function Ns(o){const e=T.c(18),{item:s,isSelected:n,onToggle:l,disabled:r}=o,c=r?"cursor-not-allowed opacity-50":"cursor-pointer",i=n?"bg-accent/25":"hover:bg-muted/50";let a;e[0]!==c||e[1]!==i?(a=Y("flex items-start gap-3 p-4 rounded-lg transition-colors",c,i),e[0]=c,e[1]=i,e[2]=a):a=e[2];let m;e[3]!==s.name?(m=t.jsx("p",{className:"text-sm font-medium leading-none",children:s.name}),e[3]=s.name,e[4]=m):m=e[4];let u;e[5]!==s.description?(u=s.description&&t.jsx("p",{className:"text-xs text-muted-foreground line-clamp-2",children:s.description}),e[5]=s.description,e[6]=u):u=e[6];let d;e[7]!==m||e[8]!==u?(d=t.jsxs("div",{className:"flex-1 min-w-0 space-y-2",children:[m,u]}),e[7]=m,e[8]=u,e[9]=d):d=e[9];let f;e[10]!==r||e[11]!==n||e[12]!==l?(f=t.jsx(Pe,{checked:n,onCheckedChange:l,disabled:r,className:"mt-0.5"}),e[10]=r,e[11]=n,e[12]=l,e[13]=f):f=e[13];let h;return e[14]!==a||e[15]!==d||e[16]!==f?(h=t.jsxs("label",{className:a,children:[d,f]}),e[14]=a,e[15]=d,e[16]=f,e[17]=h):h=e[17],h}function Ve(o){const e=T.c(32),{items:s,selections:n,onToggle:l,onToggleAll:r,emptyMessage:c,disabled:i}=o;let a,m,u,d,f;if(e[0]!==i||e[1]!==c||e[2]!==s||e[3]!==l||e[4]!==r||e[5]!==n){f=Symbol.for("react.early_return_sentinel");e:{const p=s.map(ys);if(s.length===0){let C;e[11]!==c?(C=t.jsx("div",{className:"flex-1 overflow-auto px-4 py-3 space-y-1",children:t.jsx("div",{className:"flex items-center justify-center h-32 text-sm text-muted-foreground",children:c})}),e[11]=c,e[12]=C):C=e[12],f=C;break e}u="flex flex-col h-full";const N=i?"cursor-not-allowed opacity-50":"cursor-pointer";let v;e[13]!==N?(v=Y("flex items-start gap-3 p-4",N),e[13]=N,e[14]=v):v=e[14];let j;e[15]!==s.length?(j=t.jsx("div",{className:"flex-1 min-w-0",children:t.jsxs("span",{className:"text-sm font-medium",children:["Select All (",s.length,")"]})}),e[15]=s.length,e[16]=j):j=e[16];const g=n===null;let y;e[17]!==i||e[18]!==r||e[19]!==g?(y=t.jsx(Pe,{checked:g,onCheckedChange:r,disabled:i,className:"mt-0.5"}),e[17]=i,e[18]=r,e[19]=g,e[20]=y):y=e[20],e[21]!==y||e[22]!==v||e[23]!==j?(d=t.jsx("div",{className:"px-4 border-b border-border shrink-0",children:t.jsxs("label",{className:v,children:[j,y]})}),e[21]=y,e[22]=v,e[23]=j,e[24]=d):d=e[24],a="flex-1 overflow-auto px-4 py-3 space-y-1",m=s.map(C=>t.jsx(Ns,{item:C,isSelected:n===null||n?.includes(C.id),onToggle:()=>l(C.id,p),disabled:i},C.id))}e[0]=i,e[1]=c,e[2]=s,e[3]=l,e[4]=r,e[5]=n,e[6]=a,e[7]=m,e[8]=u,e[9]=d,e[10]=f}else a=e[6],m=e[7],u=e[8],d=e[9],f=e[10];if(f!==Symbol.for("react.early_return_sentinel"))return f;let h;e[25]!==a||e[26]!==m?(h=t.jsx("div",{className:a,children:m}),e[25]=a,e[26]=m,e[27]=h):h=e[27];let x;return e[28]!==u||e[29]!==d||e[30]!==h?(x=t.jsxs("div",{className:u,children:[d,h]}),e[28]=u,e[29]=d,e[30]=h,e[31]=x):x=e[31],x}function ys(o){return o.id}function Cs(o){const e=T.c(13),{connectionId:s,selections:n,onToggle:l,onToggleAll:r,disabled:c}=o,{org:i}=ge();let a;e[0]!==s||e[1]!==i.id?(a={connectionId:s,orgId:i.id},e[0]=s,e[1]=i.id,e[2]=a):a=e[2];const m=ze(a);let u;e[3]!==m?(u={client:m},e[3]=m,e[4]=u):u=e[4];const{data:d}=ns(u);let f;e[5]!==d.tools?(f=d.tools.map(_s),e[5]=d.tools,e[6]=f):f=e[6];const h=f;let x;return e[7]!==c||e[8]!==h||e[9]!==l||e[10]!==r||e[11]!==n?(x=t.jsx(Ve,{items:h,selections:n,onToggle:l,onToggleAll:r,emptyMessage:"No tools available",disabled:c}),e[7]=c,e[8]=h,e[9]=l,e[10]=r,e[11]=n,e[12]=x):x=e[12],x}function _s(o){return{id:o.name,name:o.name,description:o.description}}function Ts(o){const e=T.c(13),{connectionId:s,selections:n,onToggle:l,onToggleAll:r,disabled:c}=o,{org:i}=ge();let a;e[0]!==s||e[1]!==i.id?(a={connectionId:s,orgId:i.id},e[0]=s,e[1]=i.id,e[2]=a):a=e[2];const m=ze(a);let u;e[3]!==m?(u={client:m},e[3]=m,e[4]=u):u=e[4];const{data:d}=rs(u);let f;e[5]!==d.resources?(f=d.resources.map(Ss),e[5]=d.resources,e[6]=f):f=e[6];const h=f;let x;return e[7]!==c||e[8]!==h||e[9]!==l||e[10]!==r||e[11]!==n?(x=t.jsx(Ve,{items:h,selections:n,onToggle:l,onToggleAll:r,emptyMessage:"No resources available",disabled:c}),e[7]=c,e[8]=h,e[9]=l,e[10]=r,e[11]=n,e[12]=x):x=e[12],x}function Ss(o){return{id:o.name||o.uri,name:o.name||o.uri,description:o.description}}function ks(o){const e=T.c(13),{connectionId:s,selections:n,onToggle:l,onToggleAll:r,disabled:c}=o,{org:i}=ge();let a;e[0]!==s||e[1]!==i.id?(a={connectionId:s,orgId:i.id},e[0]=s,e[1]=i.id,e[2]=a):a=e[2];const m=ze(a);let u;e[3]!==m?(u={client:m},e[3]=m,e[4]=u):u=e[4];const{data:d}=is(u);let f;e[5]!==d.prompts?(f=d.prompts.map(ws),e[5]=d.prompts,e[6]=f):f=e[6];const h=f;let x;return e[7]!==c||e[8]!==h||e[9]!==l||e[10]!==r||e[11]!==n?(x=t.jsx(Ve,{items:h,selections:n,onToggle:l,onToggleAll:r,emptyMessage:"No prompts available",disabled:c}),e[7]=c,e[8]=h,e[9]=l,e[10]=r,e[11]=n,e[12]=x):x=e[12],x}function ws(o){return{id:o.name,name:o.name,description:o.description}}function Es(o){const e=T.c(24),{connection:s,isSelected:n,hasSelections:l,summary:r,onClick:c,onToggleAll:i,disabled:a}=o,m=a?"cursor-not-allowed opacity-50":"cursor-pointer",u=n?"bg-accent":"hover:bg-muted/50";let d;e[0]!==m||e[1]!==u?(d=Y("flex items-center gap-2 p-2 h-12 rounded-lg transition-colors",m,u),e[0]=m,e[1]=u,e[2]=d):d=e[2];const f=a?void 0:c;let h;e[3]!==s.icon||e[4]!==s.title?(h=t.jsx(ue,{icon:s.icon,name:s.title,size:"xs",className:"shrink-0"}),e[3]=s.icon,e[4]=s.title,e[5]=h):h=e[5];let x;e[6]!==s.title?(x=t.jsx("p",{className:"text-sm font-medium text-foreground truncate",children:s.title}),e[6]=s.title,e[7]=x):x=e[7];let p;e[8]!==l||e[9]!==r?(p=l&&r&&t.jsx("p",{className:"text-xs text-muted-foreground truncate",children:r}),e[8]=l,e[9]=r,e[10]=p):p=e[10];let N;e[11]!==x||e[12]!==p?(N=t.jsxs("div",{className:"flex-1 min-w-0 flex flex-col justify-center",children:[x,p]}),e[11]=x,e[12]=p,e[13]=N):N=e[13];let v;e[14]!==a||e[15]!==l||e[16]!==i?(v=t.jsx(Pe,{checked:l,onCheckedChange:i,onClick:Is,disabled:a,className:"shrink-0"}),e[14]=a,e[15]=l,e[16]=i,e[17]=v):v=e[17];let j;return e[18]!==d||e[19]!==f||e[20]!==h||e[21]!==N||e[22]!==v?(j=t.jsxs("div",{className:d,onClick:f,children:[h,N,v]}),e[18]=d,e[19]=f,e[20]=h,e[21]=N,e[22]=v,e[23]=j):j=e[23],j}function Is(o){return o.stopPropagation()}function As(o){const e=T.c(22),{allConnections:s,searchTerm:n,selectedId:l,hasSelections:r,getSelectionSummary:c,onConnectionClick:i,onToggleAll:a,disabled:m}=o;let u;e[0]!==s||e[1]!==n?(u=n?s.filter(x=>x.title.toLowerCase().includes(n.toLowerCase())||x.description?.toLowerCase().includes(n.toLowerCase())):s,e[0]=s,e[1]=n,e[2]=u):u=e[2];const d=u;if(d.length===0){const x=n?"No connections found":"No connections available";let p;return e[3]!==x?(p=t.jsx("div",{className:"flex items-center justify-center h-full text-sm text-muted-foreground p-4",children:x}),e[3]=x,e[4]=p):p=e[4],p}let f;if(e[5]!==m||e[6]!==d||e[7]!==c||e[8]!==r||e[9]!==i||e[10]!==a||e[11]!==l){let x;e[13]!==m||e[14]!==c||e[15]!==r||e[16]!==i||e[17]!==a||e[18]!==l?(x=p=>t.jsx(Es,{connection:p,isSelected:l===p.id,hasSelections:r(p.id),summary:c(p.id),onClick:()=>i(p.id),onToggleAll:()=>a(p.id),disabled:m},p.id),e[13]=m,e[14]=c,e[15]=r,e[16]=i,e[17]=a,e[18]=l,e[19]=x):x=e[19],f=d.map(x),e[5]=m,e[6]=d,e[7]=c,e[8]=r,e[9]=i,e[10]=a,e[11]=l,e[12]=f}else f=e[12];let h;return e[20]!==f?(h=t.jsx("div",{className:"flex flex-col gap-0.5",children:f}),e[20]=f,e[21]=h):h=e[21],h}function Os(o){const e=T.c(75),{currentConnection:s,activeTab:n,selectedId:l,formData:r,toggleTool:c,toggleResource:i,togglePrompt:a,toggleAllTools:m,toggleAllResources:u,toggleAllPrompts:d,onTabChange:f}=o;let h;e[0]!==s.icon||e[1]!==s.title?(h=t.jsx(ue,{icon:s.icon,name:s.title,size:"md",className:"shrink-0"}),e[0]=s.icon,e[1]=s.title,e[2]=h):h=e[2];let x;e[3]!==s.title?(x=t.jsx("h2",{className:"text-lg font-semibold truncate",children:s.title}),e[3]=s.title,e[4]=x):x=e[4];let p;e[5]!==s.description?(p=s.description&&t.jsx("p",{className:"text-sm text-muted-foreground truncate",children:s.description}),e[5]=s.description,e[6]=p):p=e[6];let N;e[7]!==x||e[8]!==p?(N=t.jsxs("div",{className:"flex-1 min-w-0",children:[x,p]}),e[7]=x,e[8]=p,e[9]=N):N=e[9];let v;e[10]!==h||e[11]!==N?(v=t.jsx("div",{className:"p-6 border-b border-border shrink-0",children:t.jsxs("div",{className:"flex items-center gap-3",children:[h,N]})}),e[10]=h,e[11]=N,e[12]=v):v=e[12];let j;e[13]!==f?(j=F=>f(F),e[13]=f,e[14]=j):j=e[14];let g;e[15]===Symbol.for("react.memo_cache_sentinel")?(g=t.jsxs(_e,{value:"tools",variant:"underline",className:"gap-2",children:[t.jsx(Re,{size:16}),"Tools"]}),e[15]=g):g=e[15];let y;e[16]===Symbol.for("react.memo_cache_sentinel")?(y=t.jsxs(_e,{value:"resources",variant:"underline",className:"gap-2",children:[t.jsx(be,{size:16}),"Resources"]}),e[16]=y):y=e[16];let C;e[17]===Symbol.for("react.memo_cache_sentinel")?(C=t.jsxs(gs,{variant:"underline",className:"shrink-0 px-6",children:[g,y,t.jsxs(_e,{value:"prompts",variant:"underline",className:"gap-2",children:[t.jsx(Le,{size:16}),"Prompts"]})]}),e[17]=C):C=e[17];let z;e[18]===Symbol.for("react.memo_cache_sentinel")?(z=we("Tools not supported by this server"),e[18]=z):z=e[18];let k;e[19]===Symbol.for("react.memo_cache_sentinel")?(k=t.jsx(ke,{}),e[19]=k):k=e[19];let O;e[20]!==r||e[21]!==l?(O=r[l]?r[l].tools:[],e[20]=r,e[21]=l,e[22]=O):O=e[22];let S;e[23]!==l||e[24]!==c?(S=(F,J)=>c(l,F,J),e[23]=l,e[24]=c,e[25]=S):S=e[25];let w;e[26]!==l||e[27]!==m?(w=()=>m(l),e[26]=l,e[27]=m,e[28]=w):w=e[28];let I;e[29]!==l||e[30]!==O||e[31]!==S||e[32]!==w?(I=t.jsx(Te,{value:"tools",className:"flex-1 overflow-hidden mt-0",children:t.jsx(xe,{fallback:z,children:t.jsx(_.Suspense,{fallback:k,children:t.jsx(Cs,{connectionId:l,selections:O,onToggle:S,onToggleAll:w})})})}),e[29]=l,e[30]=O,e[31]=S,e[32]=w,e[33]=I):I=e[33];let D;e[34]===Symbol.for("react.memo_cache_sentinel")?(D=we("Resources not supported by this server"),e[34]=D):D=e[34];let R;e[35]===Symbol.for("react.memo_cache_sentinel")?(R=t.jsx(ke,{}),e[35]=R):R=e[35];let E;e[36]!==r||e[37]!==l?(E=r[l]?r[l].resources:[],e[36]=r,e[37]=l,e[38]=E):E=e[38];let A;e[39]!==l||e[40]!==i?(A=(F,J)=>i(l,F,J),e[39]=l,e[40]=i,e[41]=A):A=e[41];let $;e[42]!==l||e[43]!==u?($=()=>u(l),e[42]=l,e[43]=u,e[44]=$):$=e[44];let P;e[45]!==l||e[46]!==E||e[47]!==A||e[48]!==$?(P=t.jsx(Te,{value:"resources",className:"flex-1 overflow-hidden mt-0",children:t.jsx(xe,{fallback:D,children:t.jsx(_.Suspense,{fallback:R,children:t.jsx(Ts,{connectionId:l,selections:E,onToggle:A,onToggleAll:$})})})}),e[45]=l,e[46]=E,e[47]=A,e[48]=$,e[49]=P):P=e[49];let q;e[50]===Symbol.for("react.memo_cache_sentinel")?(q=we("Prompts not supported by this server"),e[50]=q):q=e[50];let Z;e[51]===Symbol.for("react.memo_cache_sentinel")?(Z=t.jsx(ke,{}),e[51]=Z):Z=e[51];let B;e[52]!==r||e[53]!==l?(B=r[l]?r[l].prompts:[],e[52]=r,e[53]=l,e[54]=B):B=e[54];let U;e[55]!==l||e[56]!==a?(U=(F,J)=>a(l,F,J),e[55]=l,e[56]=a,e[57]=U):U=e[57];let G;e[58]!==l||e[59]!==d?(G=()=>d(l),e[58]=l,e[59]=d,e[60]=G):G=e[60];let K;e[61]!==l||e[62]!==B||e[63]!==U||e[64]!==G?(K=t.jsx(Te,{value:"prompts",className:"flex-1 overflow-hidden mt-0",children:t.jsx(xe,{fallback:q,children:t.jsx(_.Suspense,{fallback:Z,children:t.jsx(ks,{connectionId:l,selections:B,onToggle:U,onToggleAll:G})})})}),e[61]=l,e[62]=B,e[63]=U,e[64]=G,e[65]=K):K=e[65];let H;e[66]!==n||e[67]!==I||e[68]!==P||e[69]!==K||e[70]!==j?(H=t.jsx("div",{className:"flex-1 flex flex-col overflow-hidden",children:t.jsxs(hs,{value:n,onValueChange:j,variant:"underline",className:"flex-1 flex flex-col overflow-hidden",children:[C,I,P,K]})}),e[66]=n,e[67]=I,e[68]=P,e[69]=K,e[70]=j,e[71]=H):H=e[71];let W;return e[72]!==H||e[73]!==v?(W=t.jsxs(t.Fragment,{children:[v,H]}),e[72]=H,e[73]=v,e[74]=W):W=e[74],W}function Ds(o){const e={};for(const s of o)e[s.connection_id]={tools:s.selected_tools,resources:s.selected_resources??null,prompts:s.selected_prompts??null};return e}function Ee(o){return Object.entries(o).map(([e,s])=>({connection_id:e,selected_tools:s.tools,selected_resources:s.resources,selected_prompts:s.prompts}))}function $s(o,e){switch(e.type){case"SET_SEARCH_TERM":return{...o,searchTerm:e.payload};case"SET_SELECTED":return{...o,selectedId:e.payload};case"SET_ACTIVE_TAB":return{...o,activeTab:e.payload};case"RESET":return{searchTerm:"",selectedId:e.payload.selectedId??e.payload.firstConnectionId??null,activeTab:"tools"};case"SELECT_CONNECTION":return{...o,selectedId:e.payload,activeTab:"tools"};default:return o}}const He=(o,e)=>o.find(s=>s.id===e)??o[0];function Ls(o){const e=T.c(79),{open:s,onOpenChange:n,selectedId:l,form:r,connections:c}=o;let i;e[0]===Symbol.for("react.memo_cache_sentinel")?(i={},e[0]=i):i=e[0];const a=zt(i);let m;e[1]!==a||e[2]!==l?(m=He(a,l)?.id??null,e[1]=a,e[2]=l,e[3]=m):m=e[3];let u;e[4]!==m?(u={activeTab:"tools",searchTerm:"",selectedId:m},e[4]=m,e[5]=u):u=e[5];const[d,f]=_.useReducer($s,u);let h;e[6]!==c?(h=c??[],e[6]=c,e[7]=h):h=e[7];let x;e[8]!==h?(x=Ds(h),e[8]=h,e[9]=x):x=e[9];const p=x;let N;e[10]!==a||e[11]!==d.selectedId?(N=He(a,d.selectedId),e[10]=a,e[11]=d.selectedId,e[12]=N):N=e[12];const v=N;let j;e[13]!==p?(j=b=>vs(p,b),e[13]=p,e[14]=j):j=e[14];const g=j;let y;e[15]!==p?(y=b=>bs(p,b),e[15]=p,e[16]=y):y=e[16];const C=y;let z;e[17]!==r||e[18]!==p?(z=(b,L,M,Q)=>{const ie=p[b]?.[L];let V;ie===null?V=Q.filter(je=>je!==M):ie?.includes(M)?V=ie.filter(je=>je!==M):(V=[...ie??[],M],V.length===Q.length&&(V=null));const ae={...p};ae[b]?ae[b]={...ae[b]}:ae[b]={tools:null,resources:null,prompts:null},ae[b][L]=V,r.setValue("connections",Ee(ae),{shouldDirty:!0,shouldTouch:!0})},e[17]=r,e[18]=p,e[19]=z):z=e[19];const k=z;let O;e[20]!==r||e[21]!==p?(O=(b,L)=>{const ie=p[b]?.[L]===null?[]:null,V={...p};V[b]?V[b]={...V[b]}:V[b]={tools:null,resources:null,prompts:null},V[b][L]=ie,r.setValue("connections",Ee(V),{shouldDirty:!0,shouldTouch:!0})},e[20]=r,e[21]=p,e[22]=O):O=e[22];const S=O;let w;e[23]!==k?(w=(b,L,M)=>k(b,"tools",L,M),e[23]=k,e[24]=w):w=e[24];const I=w;let D;e[25]!==k?(D=(b,L,M)=>k(b,"resources",L,M),e[25]=k,e[26]=D):D=e[26];const R=D;let E;e[27]!==k?(E=(b,L,M)=>k(b,"prompts",L,M),e[27]=k,e[28]=E):E=e[28];const A=E;let $;e[29]!==S?($=b=>S(b,"tools"),e[29]=S,e[30]=$):$=e[30];const P=$;let q;e[31]!==S?(q=b=>S(b,"resources"),e[31]=S,e[32]=q):q=e[32];const Z=q;let B;e[33]!==S?(B=b=>S(b,"prompts"),e[33]=S,e[34]=B):B=e[34];const U=B;let G;e[35]!==r||e[36]!==p?(G=b=>{const L=p[b],M=L&&L.tools===null&&L.resources===null&&L.prompts===null,Q={...p};M?delete Q[b]:Q[b]=js,r.setValue("connections",Ee(Q),{shouldDirty:!0,shouldTouch:!0})},e[35]=r,e[36]=p,e[37]=G):G=e[37];const K=G;let H;e[38]!==a||e[39]!==n||e[40]!==l?(H=b=>{b&&f({type:"RESET",payload:{selectedId:l,firstConnectionId:a[0]?.id??null}}),n(b)},e[38]=a,e[39]=n,e[40]=l,e[41]=H):H=e[41];const W=H;let F;e[42]===Symbol.for("react.memo_cache_sentinel")?(F=b=>{f({type:"SELECT_CONNECTION",payload:b})},e[42]=F):F=e[42];const J=F;let fe;e[43]===Symbol.for("react.memo_cache_sentinel")?(fe=b=>f({type:"SET_SEARCH_TERM",payload:b}),e[43]=fe):fe=e[43];let ee;e[44]!==d.searchTerm?(ee=t.jsx(ts,{value:d.searchTerm,onChange:fe,placeholder:"Search connections..."}),e[44]=d.searchTerm,e[45]=ee):ee=e[45];let te;e[46]!==a||e[47]!==d.searchTerm||e[48]!==d.selectedId||e[49]!==C||e[50]!==g||e[51]!==K?(te=t.jsx("div",{className:"flex-1 overflow-auto p-2",children:t.jsx(As,{allConnections:a,searchTerm:d.searchTerm,selectedId:d.selectedId,hasSelections:g,getSelectionSummary:C,onConnectionClick:J,onToggleAll:K})}),e[46]=a,e[47]=d.searchTerm,e[48]=d.selectedId,e[49]=C,e[50]=g,e[51]=K,e[52]=te):te=e[52];let se;e[53]!==ee||e[54]!==te?(se=t.jsxs("div",{className:"w-full sm:w-72 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:[ee,te]}),e[53]=ee,e[54]=te,e[55]=se):se=e[55];let le;e[56]!==v||e[57]!==d.activeTab||e[58]!==d.selectedId||e[59]!==p||e[60]!==U||e[61]!==Z||e[62]!==P||e[63]!==A||e[64]!==R||e[65]!==I?(le=t.jsx("div",{className:"flex-1 flex flex-col overflow-hidden",children:v&&d.selectedId?t.jsx(Os,{currentConnection:v,activeTab:d.activeTab,selectedId:d.selectedId,formData:p,toggleTool:I,toggleResource:R,togglePrompt:A,toggleAllTools:P,toggleAllResources:Z,toggleAllPrompts:U,onTabChange:b=>f({type:"SET_ACTIVE_TAB",payload:b})},d.selectedId):t.jsx("div",{className:"flex-1 flex items-center justify-center text-sm text-muted-foreground",children:"Select a connection to view its tools, resources, and prompts"})}),e[56]=v,e[57]=d.activeTab,e[58]=d.selectedId,e[59]=p,e[60]=U,e[61]=Z,e[62]=P,e[63]=A,e[64]=R,e[65]=I,e[66]=le):le=e[66];let oe;e[67]!==se||e[68]!==le?(oe=t.jsxs("div",{className:"flex-1 flex overflow-hidden min-h-0 flex-col sm:flex-row",children:[se,le]}),e[67]=se,e[68]=le,e[69]=oe):oe=e[69];let ne;e[70]!==W?(ne=t.jsx(ss,{className:"px-6 py-4 border-t border-border shrink-0",children:t.jsx(X,{variant:"outline",onClick:()=>W(!1),children:"Done"})}),e[70]=W,e[71]=ne):ne=e[71];let re;e[72]!==oe||e[73]!==ne?(re=t.jsxs(Ye,{className:"sm:max-w-5xl h-[80vh] max-h-[80vh] flex flex-col p-0 gap-0 overflow-hidden w-[95vw]",children:[oe,ne]}),e[72]=oe,e[73]=ne,e[74]=re):re=e[74];let pe;return e[75]!==W||e[76]!==s||e[77]!==re?(pe=t.jsx(Ze,{open:s,onOpenChange:W,children:re}),e[75]=W,e[76]=s,e[77]=re,e[78]=pe):pe=e[78],pe}const Rs=jt.pick({title:!0,description:!0,status:!0,metadata:!0,connections:!0}).extend({title:Nt().min(1,"Name is required").max(255)});function Ps(o){const e=T.c(8);let s,n;e[0]!==o?({className:s,...n}=o,e[0]=o,e[1]=s,e[2]=n):(s=e[1],n=e[2]);let l;e[3]!==s?(l=Y("grid gap-3",s),e[3]=s,e[4]=l):l=e[4];let r;return e[5]!==n||e[6]!==l?(r=t.jsx(Qt,{"data-slot":"radio-group",className:l,...n}),e[5]=n,e[6]=l,e[7]=r):r=e[7],r}function Ie(o){const e=T.c(9);let s,n;e[0]!==o?({className:s,...n}=o,e[0]=o,e[1]=s,e[2]=n):(s=e[1],n=e[2]);let l;e[3]!==s?(l=Y("border-input text-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 aspect-square size-4 shrink-0 rounded-full border shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",s),e[3]=s,e[4]=l):l=e[4];let r;e[5]===Symbol.for("react.memo_cache_sentinel")?(r=t.jsx(Xt,{"data-slot":"radio-group-indicator",className:"relative flex items-center justify-center",children:t.jsx(et,{className:"fill-primary absolute top-1/2 left-1/2 size-2 -translate-x-1/2 -translate-y-1/2"})}),e[5]=r):r=e[5];let c;return e[6]!==n||e[7]!==l?(c=t.jsx(Jt,{"data-slot":"radio-group-item",className:l,...n,children:r}),e[6]=n,e[7]=l,e[8]=c):c=e[8],c}function zs(o){const s=new TextEncoder().encode(o),n=Array.from(s,l=>String.fromCharCode(l)).join("");return btoa(n)}function Ms(o){const e=T.c(10),{url:s}=o,[n,l]=_.useState(!1);let r;e[0]!==s?(r=async()=>{await navigator.clipboard.writeText(s),l(!0),De.success("Agent URL copied to clipboard"),setTimeout(()=>l(!1),2e3)},e[0]=s,e[1]=r):r=e[1];const c=r;let i;e[2]!==n?(i=n?t.jsx(Qe,{size:20,className:"text-green-600"}):t.jsx(cs,{size:20}),e[2]=n,e[3]=i):i=e[3];const a=n?"Copied!":"Copy URL";let m;e[4]!==a?(m=t.jsx("span",{className:"text-xs font-medium",children:a}),e[4]=a,e[5]=m):m=e[5];let u;return e[6]!==c||e[7]!==i||e[8]!==m?(u=t.jsxs(X,{type:"button",variant:"outline",onClick:c,className:"h-auto py-3 px-4 flex flex-col items-center gap-2",children:[i,m]}),e[6]=c,e[7]=i,e[8]=m,e[9]=u):u=e[9],u}function Vs(o){const e=T.c(7),{url:s,serverName:n}=o;let l;e[0]!==n||e[1]!==s?(l=()=>{const m=Je(n),d=zs(JSON.stringify({type:"http",url:s,headers:{"x-mesh-client":"Cursor"}},null,2)),f=`cursor://anysphere.cursor-deeplink/mcp/install?name=${encodeURIComponent(m)}&config=${encodeURIComponent(d)}`;window.open(f,"_blank"),De.success("Opening Cursor...")},e[0]=n,e[1]=s,e[2]=l):l=e[2];const r=l;let c,i;e[3]===Symbol.for("react.memo_cache_sentinel")?(c=t.jsx("img",{src:"/logos/cursor.svg",alt:"Cursor",className:"h-5 w-5",style:{filter:"brightness(0) saturate(100%) invert(11%) sepia(8%) saturate(785%) hue-rotate(1deg) brightness(95%) contrast(89%)"}}),i=t.jsx("span",{className:"text-xs font-medium",children:"Install on Cursor"}),e[3]=c,e[4]=i):(c=e[3],i=e[4]);let a;return e[5]!==r?(a=t.jsxs(X,{type:"button",variant:"outline",onClick:r,className:"h-auto py-3 px-4 flex flex-col items-center gap-2",children:[c,i]}),e[5]=r,e[6]=a):a=e[6],a}function Fs(o){const e=T.c(11),{url:s,serverName:n}=o,[l,r]=_.useState(!1);let c;e[0]!==n||e[1]!==s?(c=async()=>{const f=Je(n),x=JSON.stringify({type:"http",url:s,headers:{"x-mesh-client":"Claude Code"}},null,2),p=`claude mcp add-json "${f}" '${x.replace(/'/g,"'\\''")}'`;await navigator.clipboard.writeText(p),r(!0),De.success("Claude Code command copied to clipboard"),setTimeout(()=>r(!1),2e3)},e[0]=n,e[1]=s,e[2]=c):c=e[2];const i=c;let a;e[3]!==l?(a=l?t.jsx(Qe,{size:20,className:"text-green-600"}):t.jsx("img",{src:"/logos/Claude Code.svg",alt:"Claude Code",className:"h-5 w-5",style:{filter:"brightness(0) saturate(100%) invert(55%) sepia(31%) saturate(1264%) hue-rotate(331deg) brightness(92%) contrast(86%)"}}),e[3]=l,e[4]=a):a=e[4];const m=l?"Copied!":"Install on Claude";let u;e[5]!==m?(u=t.jsx("span",{className:"text-xs font-medium",children:m}),e[5]=m,e[6]=u):u=e[6];let d;return e[7]!==i||e[8]!==a||e[9]!==u?(d=t.jsxs(X,{type:"button",variant:"outline",onClick:i,className:"h-auto py-3 px-4 flex flex-col items-center gap-2",children:[a,u]}),e[7]=i,e[8]=a,e[9]=u,e[10]=d):d=e[10],d}function Bs(o){const e=T.c(40),{open:s,onOpenChange:n,virtualMcp:l}=o,[r,c]=_.useState("code_execution");let i;e[0]===Symbol.for("react.memo_cache_sentinel")?(i=P=>{(P==="passthrough"||P==="smart_tool_selection"||P==="code_execution")&&c(P)},e[0]=i):i=e[0];const a=i;let m;e[1]!==r||e[2]!==l.id?(m=new URL(`/mcp/virtual-mcp/${l.id}`,window.location.origin),m.searchParams.set("mode",r),e[1]=r,e[2]=l.id,e[3]=m):m=e[3];let u;e[4]!==l.id||e[5]!==l.title?(u=l.title||`agent-${l.id?.slice(0,8)??"default"}`,e[4]=l.id,e[5]=l.title,e[6]=u):u=e[6];const d=u;let f;e[7]===Symbol.for("react.memo_cache_sentinel")?(f=t.jsx(ls,{children:t.jsx(os,{children:"Share Agent"})}),e[7]=f):f=e[7];let h;e[8]===Symbol.for("react.memo_cache_sentinel")?(h=t.jsx("div",{children:t.jsx("h4",{className:"text-sm font-medium text-foreground mt-1",children:"How should this agent work?"})}),e[8]=h):h=e[8];let x;e[9]===Symbol.for("react.memo_cache_sentinel")?(x=t.jsx("div",{className:"p-1.5 shrink-0",children:t.jsx(Xe,{className:"size-5 text-muted-foreground"})}),e[9]=x):x=e[9];let p;e[10]===Symbol.for("react.memo_cache_sentinel")?(p=t.jsx("span",{className:"text-sm font-medium text-foreground",children:"Direct access"}),e[10]=p):p=e[10];let N;e[11]===Symbol.for("react.memo_cache_sentinel")?(N=t.jsx(ce,{asChild:!0,children:t.jsx(Ce,{className:"size-3.5 text-muted-foreground"})}),e[11]=N):N=e[11];let v;e[12]===Symbol.for("react.memo_cache_sentinel")?(v=t.jsxs("label",{htmlFor:"mode-passthrough",className:"flex items-center gap-3 px-3 py-5 rounded-lg border border-border hover:border-ring/50 cursor-pointer transition-colors has-checked:border-ring has-checked:bg-accent/5",children:[x,t.jsxs("div",{className:"flex-1 flex flex-col gap-1.5",children:[t.jsxs("div",{className:"flex items-center gap-2",children:[p,t.jsx(ye,{children:t.jsxs(de,{children:[N,t.jsx(me,{className:"max-w-xs",children:t.jsx("p",{className:"text-xs",children:"All tools are exposed directly via tools/list. Best for small tool surfaces with deterministic behavior."})})]})})]}),t.jsx("p",{className:"text-xs text-muted-foreground leading-relaxed",children:"Best for small teams or when you need predictable behavior"})]}),t.jsx(Ie,{id:"mode-passthrough",value:"passthrough"})]}),e[12]=v):v=e[12];let j;e[13]===Symbol.for("react.memo_cache_sentinel")?(j=t.jsx("div",{className:"p-1.5 shrink-0",children:t.jsx(st,{className:"size-5 text-muted-foreground"})}),e[13]=j):j=e[13];let g;e[14]===Symbol.for("react.memo_cache_sentinel")?(g=t.jsx("span",{className:"text-sm font-medium text-foreground",children:"Smart discovery"}),e[14]=g):g=e[14];let y;e[15]===Symbol.for("react.memo_cache_sentinel")?(y=t.jsx(ce,{asChild:!0,children:t.jsx(Ce,{className:"size-3.5 text-muted-foreground"})}),e[15]=y):y=e[15];let C;e[16]===Symbol.for("react.memo_cache_sentinel")?(C=t.jsxs("label",{htmlFor:"mode-smart",className:"flex items-center gap-3 px-3 py-5 rounded-lg border border-border hover:border-ring/50 cursor-pointer transition-colors has-checked:border-ring has-checked:bg-accent/5",children:[j,t.jsxs("div",{className:"flex-1 flex flex-col gap-1.5",children:[t.jsxs("div",{className:"flex items-center gap-2",children:[g,t.jsx(ye,{children:t.jsxs(de,{children:[y,t.jsx(me,{className:"max-w-xs",children:t.jsx("p",{className:"text-xs",children:"Uses meta-tools (GATEWAY_SEARCH_TOOLS, GATEWAY_DESCRIBE_TOOLS, GATEWAY_CALL_TOOL) to keep the tool list small and request details on demand."})})]})})]}),t.jsx("p",{className:"text-xs text-muted-foreground leading-relaxed",children:"Ideal for large teams with many tools - AI finds what it needs"})]}),t.jsx(Ie,{id:"mode-smart",value:"smart_tool_selection"})]}),e[16]=C):C=e[16];let z;e[17]===Symbol.for("react.memo_cache_sentinel")?(z=t.jsx("div",{className:"p-1.5 shrink-0",children:t.jsx(as,{className:"size-5 text-muted-foreground"})}),e[17]=z):z=e[17];let k;e[18]===Symbol.for("react.memo_cache_sentinel")?(k=t.jsx("span",{className:"text-sm font-medium text-foreground",children:"Smart execution"}),e[18]=k):k=e[18];let O;e[19]===Symbol.for("react.memo_cache_sentinel")?(O=t.jsx(ce,{asChild:!0,children:t.jsx(Ce,{className:"size-3.5 text-muted-foreground"})}),e[19]=O):O=e[19];let S;e[20]===Symbol.for("react.memo_cache_sentinel")?(S=t.jsxs("label",{htmlFor:"mode-code",className:"relative flex items-center gap-3 px-3 py-5 rounded-lg border border-border hover:border-ring/50 cursor-pointer transition-colors has-checked:border-ring has-checked:bg-accent/5",children:[z,t.jsxs("div",{className:"flex-1 flex flex-col gap-1.5",children:[t.jsxs("div",{className:"flex items-center gap-2",children:[k,t.jsx(ye,{children:t.jsxs(de,{children:[O,t.jsx(me,{className:"max-w-xs",children:t.jsx("p",{className:"text-xs",children:"Exposes meta-tools for discovery + sandboxed execution (GATEWAY_RUN_CODE). Reduces overhead on large surfaces by shifting work into a controlled runtime."})})]})})]}),t.jsx("p",{className:"text-xs text-muted-foreground leading-relaxed",children:"Maximum flexibility - AI can write code to orchestrate tools"})]}),t.jsx(Ie,{id:"mode-code",value:"code_execution"}),t.jsx($e,{variant:"outline",className:"absolute -top-2.5 left-1/2 -translate-x-1/2 bg-background z-10",children:"Recommended"})]}),e[20]=S):S=e[20];let w;e[21]!==r?(w=t.jsxs("div",{className:"flex flex-col gap-3",children:[h,t.jsxs(Ps,{value:r,onValueChange:a,className:"flex flex-col gap-4.5",children:[v,C,S]})]}),e[21]=r,e[22]=w):w=e[22];let I;e[23]!==m.href?(I=t.jsx(Ms,{url:m.href}),e[23]=m.href,e[24]=I):I=e[24];let D,R;e[25]!==d||e[26]!==m.href?(D=t.jsx(Vs,{url:m.href,serverName:d}),R=t.jsx(Fs,{url:m.href,serverName:d}),e[25]=d,e[26]=m.href,e[27]=D,e[28]=R):(D=e[27],R=e[28]);let E;e[29]!==I||e[30]!==D||e[31]!==R?(E=t.jsx("div",{className:"flex flex-col gap-3 pt-2",children:t.jsxs("div",{className:"grid grid-cols-3 gap-2",children:[I,D,R]})}),e[29]=I,e[30]=D,e[31]=R,e[32]=E):E=e[32];let A;e[33]!==w||e[34]!==E?(A=t.jsxs(Ye,{className:"max-w-2xl max-h-[80vh] overflow-y-auto",children:[f,t.jsxs("div",{className:"flex flex-col gap-6",children:[w,E]})]}),e[33]=w,e[34]=E,e[35]=A):A=e[35];let $;return e[36]!==n||e[37]!==s||e[38]!==A?($=t.jsx(Ze,{open:s,onOpenChange:n,children:A}),e[36]=n,e[37]=s,e[38]=A,e[39]=$):$=e[39],$}function Gs(o,e){switch(e.type){case"SET_SHARE_DIALOG_OPEN":return{...o,shareDialogOpen:e.payload};case"SET_CONNECTION_DIALOG_OPEN":return{...o,connectionDialogOpen:e.payload};case"SET_EDITING_CONNECTION_ID":return{...o,editingConnectionId:e.payload};case"SET_SKILLS_OPEN":return{...o,skillsOpen:e.payload};default:return o}}function Ae(o){const e=T.c(3),{connection_id:s}=o,n=Ue(s);if(!n)return null;let l;return e[0]!==n.icon||e[1]!==n.title?(l=t.jsx("div",{className:"shrink-0 bg-background ring-1 ring-background rounded-lg",children:t.jsx(ue,{icon:n.icon,name:n.title,size:"xs"})}),e[0]=n.icon,e[1]=n.title,e[2]=l):l=e[2],l}Ae.Fallback=function(){return t.jsx("div",{className:"shrink-0 bg-background ring-1 ring-background rounded-lg",children:t.jsx("div",{className:"size-5 rounded bg-muted animate-pulse"})})};function Oe(o){const e=T.c(27),{connection_id:s,selected_tools:n,selected_resources:l,selected_prompts:r,onClick:c}=o,i=Ue(s);if(!i)return null;let a;e[0]!==n?(a=Se(n),e[0]=n,e[1]=a):a=e[1];const m=a;let u;e[2]!==l?(u=Se(l),e[2]=l,e[3]=u):u=e[3];const d=u;let f;e[4]!==r?(f=Se(r),e[4]=r,e[5]=f):f=e[5];const h=f;let x;e[6]!==i.icon||e[7]!==i.title?(x=t.jsx(ue,{icon:i.icon,name:i.title,size:"xs"}),e[6]=i.icon,e[7]=i.title,e[8]=x):x=e[8];let p;e[9]!==i.title?(p=t.jsx("p",{className:"flex-1 text-sm font-normal text-foreground truncate",children:i.title}),e[9]=i.title,e[10]=p):p=e[10];let N;e[11]!==m?(N=m!==0&&t.jsxs("div",{className:"flex items-center gap-0.5 text-xs text-muted-foreground",children:[t.jsx("span",{children:m==="all"?"all":m}),t.jsx(Re,{size:12})]}),e[11]=m,e[12]=N):N=e[12];let v;e[13]!==d?(v=d!==0&&t.jsxs("div",{className:"flex items-center gap-0.5 text-xs text-muted-foreground",children:[t.jsx("span",{children:d==="all"?"all":d}),t.jsx(be,{size:12})]}),e[13]=d,e[14]=v):v=e[14];let j;e[15]!==h?(j=h!==0&&t.jsxs("div",{className:"flex items-center gap-0.5 text-xs text-muted-foreground",children:[t.jsx("span",{children:h==="all"?"all":h}),t.jsx(Le,{size:12})]}),e[15]=h,e[16]=j):j=e[16];let g;e[17]!==N||e[18]!==v||e[19]!==j?(g=t.jsxs($e,{variant:"secondary",className:"bg-muted h-5 gap-2 px-1.5 py-1 flex items-center",children:[N,v,j]}),e[17]=N,e[18]=v,e[19]=j,e[20]=g):g=e[20];let y;e[21]===Symbol.for("react.memo_cache_sentinel")?(y=t.jsx(Ke,{size:16,className:"text-muted-foreground shrink-0"}),e[21]=y):y=e[21];let C;return e[22]!==c||e[23]!==x||e[24]!==p||e[25]!==g?(C=t.jsxs("div",{onClick:c,className:"w-full h-12 flex items-center gap-2 px-3 rounded-lg border border-border hover:bg-accent/50 transition-colors cursor-pointer",children:[x,p,g,y]}),e[22]=c,e[23]=x,e[24]=p,e[25]=g,e[26]=C):C=e[26],C}Oe.Fallback=function(){return t.jsxs("div",{className:"w-full h-12 flex items-center gap-2 px-3 rounded-lg border border-border",children:[t.jsx("div",{className:"size-5 rounded bg-muted animate-pulse shrink-0"}),t.jsx("div",{className:"flex-1 h-4 rounded bg-muted animate-pulse"}),t.jsxs($e,{variant:"secondary",className:"bg-muted h-5 gap-2 px-1.5 py-1 flex items-center",children:[t.jsxs("div",{className:"flex items-center gap-0.5 text-xs text-muted-foreground",children:[t.jsx("div",{className:"w-3 h-3 rounded bg-muted-foreground/20 animate-pulse"}),t.jsx(Re,{size:12})]}),t.jsxs("div",{className:"flex items-center gap-0.5 text-xs text-muted-foreground",children:[t.jsx("div",{className:"w-3 h-3 rounded bg-muted-foreground/20 animate-pulse"}),t.jsx(be,{size:12})]}),t.jsxs("div",{className:"flex items-center gap-0.5 text-xs text-muted-foreground",children:[t.jsx("div",{className:"w-3 h-3 rounded bg-muted-foreground/20 animate-pulse"}),t.jsx(Le,{size:12})]})]}),t.jsx(Ke,{size:16,className:"text-muted-foreground shrink-0"})]})};function Hs({virtualMcp:o}){const{org:e}=ge(),n=_t().location.href,l=Vt(),r=Tt({resolver:St(Rs),defaultValues:o}),c=r.watch("connections"),[i,a]=_.useReducer(Gs,{shareDialogOpen:!1,connectionDialogOpen:!1,editingConnectionId:null,skillsOpen:!1}),[,m]=Lt(),{setVirtualMcpId:u}=Et();_.useEffect(()=>{m(!0),u(o.id)},[o.id]);const d=()=>{u(o.id),m(!0)},f=r.formState.isDirty,h=async()=>{const g=r.getValues(),y=await l.update.mutateAsync({id:o.id,data:g});r.reset(y)},x=()=>{r.reset(o)},p=()=>{a({type:"SET_EDITING_CONNECTION_ID",payload:null}),a({type:"SET_CONNECTION_DIALOG_OPEN",payload:!0})},N=g=>{a({type:"SET_EDITING_CONNECTION_ID",payload:g}),a({type:"SET_CONNECTION_DIALOG_OPEN",payload:!0})},v=l.update.isPending,j=t.jsx(Ht,{children:t.jsxs(Wt,{children:[t.jsx(Ge,{children:t.jsx(Ut,{asChild:!0,children:t.jsx(kt,{to:"/$org/agents",params:{org:e.slug},children:"Agents"})})}),t.jsx(Kt,{}),t.jsx(Ge,{children:t.jsx(qt,{children:o.title})})]})});return t.jsxs(Yt,{breadcrumb:j,children:[t.jsxs(Zt,{children:[t.jsx(es,{onSave:h,onUndo:x,isDirty:f,isSaving:v}),t.jsxs(de,{delayDuration:0,children:[t.jsx(ce,{asChild:!0,children:t.jsx("span",{className:"inline-block",children:t.jsxs(X,{variant:"outline",size:"sm",className:"h-7 gap-1.5 px-2 border border-input",onClick:d,"aria-label":"Test Agent",children:[t.jsx(Bt,{size:14}),"Test Agent"]})})}),t.jsx(me,{side:"bottom",children:"Test this agent in chat"})]}),t.jsxs(de,{delayDuration:0,children:[t.jsx(ce,{asChild:!0,children:t.jsx("span",{className:"inline-block",children:t.jsx(X,{variant:"outline",size:"icon",className:"size-7 border border-input",onClick:()=>a({type:"SET_SHARE_DIALOG_OPEN",payload:!0}),"aria-label":"Share",children:t.jsx(Gt,{size:14})})})}),t.jsx(me,{side:"bottom",children:"Share"})]}),t.jsx($t,{title:o.title,url:n,icon:o.icon??"cpu_chip"})]}),t.jsx("div",{className:"flex h-full w-full bg-background overflow-auto",children:t.jsxs("div",{className:"flex flex-col w-full",children:[t.jsxs("div",{className:"flex items-start justify-between gap-4 p-6 shrink-0",children:[t.jsxs("div",{className:"flex items-start gap-4 flex-1 min-w-0",children:[t.jsx(ue,{icon:o.icon,name:r.watch("title")||"Agent",size:"lg",className:"shrink-0 shadow-sm",fallbackIcon:t.jsx(tt,{})}),t.jsxs("div",{className:"flex flex-col flex-1 min-w-0",children:[t.jsx(Fe,{...r.register("title"),className:"h-auto py-0.5 text-lg! font-medium leading-7 px-1 -mx-1 border-transparent hover:bg-input/25 focus:border-input bg-transparent transition-all",placeholder:"Agent Name"}),t.jsx(Fe,{...r.register("description"),className:"h-auto py-0.5 text-base text-muted-foreground leading-6 px-1 -mx-1 border-transparent hover:bg-input/25 focus:border-input bg-transparent transition-all",placeholder:"Add a description..."})]})]}),t.jsx("div",{className:"flex items-center gap-2 shrink-0",children:t.jsx(Rt,{checked:r.watch("status")==="active",onCheckedChange:g=>r.setValue("status",g?"active":"inactive",{shouldDirty:!0})})})]}),t.jsxs(It,{open:i.skillsOpen,onOpenChange:g=>a({type:"SET_SKILLS_OPEN",payload:g}),className:"border-t border-border shrink-0 max-h-[400px] overflow-hidden flex flex-col",children:[c.length===0?t.jsxs("button",{type:"button",onClick:p,className:"w-full flex items-center justify-between px-6 py-4 hover:bg-muted/50 transition-colors cursor-pointer",children:[t.jsx("p",{className:"text-sm font-medium text-muted-foreground",children:"Skills"}),t.jsxs("div",{className:"h-7 px-2 inline-flex items-center justify-center gap-1 rounded-md text-sm text-muted-foreground",children:[t.jsx(Be,{size:14}),"Add"]})]}):t.jsx(At,{asChild:!0,children:t.jsxs("button",{type:"button",className:"w-full flex items-center justify-between px-6 py-4 hover:bg-muted/50 transition-colors cursor-pointer",children:[t.jsx("p",{className:"text-sm font-medium text-muted-foreground",children:"Skills"}),t.jsxs("div",{className:"flex items-center",children:[t.jsx("div",{className:"flex items-center -space-x-2 ease-(--ease-out-expo)",style:{width:i.skillsOpen?0:"auto",marginRight:i.skillsOpen?0:4,opacity:i.skillsOpen?0:1,pointerEvents:i.skillsOpen?"none":"auto",transitionProperty:"all",transitionDuration:i.skillsOpen?"0ms":"200ms"},children:c.slice(0,4).map(g=>t.jsx(_.Suspense,{fallback:t.jsx(Ae.Fallback,{}),children:t.jsx(Ae,{connection_id:g.connection_id})},g.connection_id))}),t.jsxs("div",{role:"button",tabIndex:0,className:"h-7 inline-flex items-center justify-center rounded-md text-sm text-muted-foreground overflow-hidden transition-all duration-200 ease-(--ease-out-expo) hover:bg-accent hover:text-accent-foreground",style:{width:i.skillsOpen?"auto":28,paddingLeft:i.skillsOpen?8:0,paddingRight:i.skillsOpen?8:0,gap:i.skillsOpen?4:0},onPointerDown:g=>{g.stopPropagation()},onClick:g=>{g.stopPropagation(),g.preventDefault(),p()},onKeyDown:g=>{(g.key==="Enter"||g.key===" ")&&(g.stopPropagation(),g.preventDefault(),p())},children:[t.jsx(Be,{size:14,className:"shrink-0"}),t.jsx("span",{className:"overflow-hidden whitespace-nowrap transition-all duration-200 ease-(--ease-out-expo)",style:{width:i.skillsOpen?"auto":0,opacity:i.skillsOpen?1:0},children:"Add"})]}),t.jsx("div",{className:"h-7 inline-flex items-center justify-center overflow-hidden transition-all duration-200 ease-(--ease-out-expo)",style:{width:i.skillsOpen?28:0,opacity:i.skillsOpen?1:0},children:t.jsx(Ft,{size:16,className:"shrink-0"})})]})]})}),t.jsx("div",{className:"grid overflow-hidden transition-[grid-template-rows] duration-200 ease-(--ease-out-expo)",style:{gridTemplateRows:i.skillsOpen?"1fr":"0fr"},children:t.jsx("div",{className:"min-h-0 overflow-hidden",children:t.jsx("div",{className:"overflow-y-auto max-h-[300px] mask-[linear-gradient(to_bottom,black_calc(100%-40px),transparent_100%)]",children:t.jsx("div",{className:"flex flex-col gap-2 px-6 pb-4 pt-2",children:c.map(g=>t.jsx(_.Suspense,{fallback:t.jsx(Oe.Fallback,{}),children:t.jsx(Oe,{connection_id:g.connection_id,selected_tools:g.selected_tools,selected_resources:g.selected_resources,selected_prompts:g.selected_prompts,onClick:()=>N(g.connection_id)})},g.connection_id))})})})})]}),t.jsxs("div",{className:"flex flex-col flex-1 p-6 border-t border-border overflow-auto",children:[t.jsx("p",{className:"text-sm font-medium text-muted-foreground mb-2",children:"Instructions"}),t.jsx(wt,{name:"metadata.instructions",control:r.control,render:({field:g})=>t.jsx(Pt,{...g,value:g.value??"",placeholder:"Write instructions here...",className:"min-h-[200px] resize-none text-sm placeholder:text-muted-foreground/50 leading-relaxed border-0 rounded-none shadow-none px-0 focus-visible:ring-0 focus-visible:ring-offset-0 focus:border-0 bg-transparent"})})]})]})}),t.jsx(Ls,{open:i.connectionDialogOpen,onOpenChange:g=>a({type:"SET_CONNECTION_DIALOG_OPEN",payload:g}),selectedId:i.editingConnectionId,form:r,connections:c}),t.jsx(Bs,{open:i.shareDialogOpen,onOpenChange:g=>a({type:"SET_SHARE_DIALOG_OPEN",payload:g}),virtualMcp:o})]})}function Ws(){const o=T.c(6),e=yt();let s;o[0]===Symbol.for("react.memo_cache_sentinel")?(s={from:"/shell/$org/agents/$agentId"},o[0]=s):s=o[0];const n=Ct(s),{org:l,agentId:r}=n,c=Mt(r);if(!c){let a;return o[1]!==e||o[2]!==l?(a=t.jsx("div",{className:"flex h-full w-full bg-background",children:t.jsx(Ot,{title:"Agent not found",description:"This Agent may have been deleted or you may not have access.",actions:t.jsx(X,{variant:"outline",onClick:()=>e({to:"/$org/agents",params:{org:l}}),children:"Back to agents"})})}),o[1]=e,o[2]=l,o[3]=a):a=o[3],a}let i;return o[4]!==c?(i=t.jsx(Hs,{virtualMcp:c}),o[4]=c,o[5]=i):i=o[5],i}function Hl(){const o=T.c(1);let e;return o[0]===Symbol.for("react.memo_cache_sentinel")?(e=t.jsx(xe,{children:t.jsx(_.Suspense,{fallback:t.jsx("div",{className:"flex h-full items-center justify-center bg-background",children:t.jsx(qe,{size:32,className:"animate-spin text-muted-foreground"})}),children:t.jsx(Ws,{})})}),o[0]=e):e=o[0],e}export{Hl as default};
|