@jean2/client 1.0.0 → 1.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/dist/assets/SessionContent-w-YQzt9T.js +9 -0
  2. package/dist/assets/{SessionMenuButton-CfDBJE0r.js → SessionMenuButton-Bg83zT6G.js} +1 -1
  3. package/dist/assets/{ThemeProvider-DWTAR83t.js → ThemeProvider-Da23NPAS.js} +1 -1
  4. package/dist/assets/_serverId-B4Rjk4iQ.js +12 -0
  5. package/dist/assets/{_serverId-D7fl2Don.js → _serverId-BwsJG6SV.js} +1 -1
  6. package/dist/assets/{_serverId-Z_onznBB.js → _serverId-COhNW61b.js} +2 -2
  7. package/dist/assets/_sessionId-CMkepspM.js +1 -0
  8. package/dist/assets/_sessionId-xZ5q7S0b.js +1 -0
  9. package/dist/assets/alert-qqwNRgnw.js +31 -0
  10. package/dist/assets/badge-CwZd07eA.js +45 -0
  11. package/dist/assets/{confirmation-dialog-CcyiA31R.js → confirmation-dialog-DGPNPL5O.js} +1 -1
  12. package/dist/assets/index-BDTQdmk9.js +10 -0
  13. package/dist/assets/index-DF4q2PgJ.css +2 -0
  14. package/dist/assets/overview-CEkUAF73.js +1 -0
  15. package/dist/assets/{platform-Be8afd__.js → platform-5d-ZQG2e.js} +1 -1
  16. package/dist/assets/{popover-DDHwMxwz.js → popover-BaZzl6-v.js} +1 -1
  17. package/dist/assets/{scroll-area-C-KPh_XU.js → scroll-area-16Gq00WS.js} +1 -1
  18. package/dist/assets/{sidebar-BNTVPq06.js → sidebar-DmGZgZwK.js} +1 -1
  19. package/dist/assets/src-BiLzKNfl.js +1 -0
  20. package/dist/assets/workspace-B-9b8A58.js +1 -0
  21. package/dist/index.html +6 -6
  22. package/package.json +1 -1
  23. package/dist/assets/SessionContent-6BakydNj.js +0 -9
  24. package/dist/assets/_serverId-B47rZ3cs.js +0 -12
  25. package/dist/assets/_sessionId-CJ6VLUC_.js +0 -1
  26. package/dist/assets/_sessionId-CMQvBPmZ.js +0 -1
  27. package/dist/assets/alert-DjGCaOkT.js +0 -31
  28. package/dist/assets/badge-CxHTOx9D.js +0 -45
  29. package/dist/assets/index-CGdDNSI7.js +0 -10
  30. package/dist/assets/index-QW5PCSUz.css +0 -2
  31. package/dist/assets/overview-GjLiY4UT.js +0 -1
  32. package/dist/assets/src-9dJwbSJY.js +0 -1
  33. package/dist/assets/workspace-DVaW6FBq.js +0 -1
@@ -0,0 +1,12 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./dist-js-CnIJv7bh.js","./core-B5tm5Pq5.js","./event-Bg5mre8h.js"])))=>i.map(i=>d[i]);
2
+ import{n as e,o as t,r as n,t as r}from"./compiler-runtime-DZXZ41-q.js";import{r as i,t as a}from"./src-BiLzKNfl.js";import{n as o}from"./ThemeProvider-Da23NPAS.js";import{E as s,d as c,u as l}from"./servers-GmYSnzvH.js";import{t as u}from"./useParams-RuFKFrOo.js";import{a as d,n as f,r as p,t as m}from"./platform-5d-ZQG2e.js";import{n as h,t as g}from"./preload-helper-D-tEmku_.js";import{t as _}from"./useNavigate-Dxc8FNpV.js";import{t as v}from"./useRouterState-C1XfNwIo.js";import{a as y,i as b,n as x,r as S}from"./ServerContext-CBFiY6IH.js";import{$ as C,C as w,Ct as T,Et as E,J as D,K as O,Q as k,S as A,St as j,T as M,Tt as N,Y as P,Z as F,_ as I,_t as L,a as R,b as z,bt as B,c as V,ct as H,d as U,dt as ee,f as te,g as ne,h as re,ht as W,i as ie,it as ae,j as oe,lt as se,m as ce,mt as le,n as ue,ot as G,p as de,pt as K,q as fe,r as pe,rt as me,s as he,st as ge,t as q,u as _e,v as J,vt as ve,w as ye,wt as be,xt as Y,y as X,yt as xe}from"./badge-CwZd07eA.js";import{t as Se}from"./createLucideIcon-BYAVpx9Z.js";import{C as Ce,S as we,T as Te,_ as Ee,a as De,b as Oe,c as ke,d as Ae,f as je,g as Me,h as Ne,i as Pe,l as Fe,m as Ie,n as Le,p as Re,r as ze,s as Be,t as Ve,u as He,v as Ue,w as We,x as Ge,y as Ke}from"./alert-qqwNRgnw.js";import{_ as qe,a as Je,c as Ye,d as Xe,f as Ze,g as Qe,h as $e,i as et,l as tt,o as nt,p as rt,r as it,s as at,t as ot,u as st,v as ct,x as lt,y as ut}from"./popover-BaZzl6-v.js";import{D as dt,E as ft,O as pt,T as mt,_ as ht,b as gt,c as _t,d as vt,f as yt,g as bt,i as xt,l as St,m as Ct,r as wt,t as Tt,v as Et,w as Dt,x as Ot,y as kt}from"./sidebar-DmGZgZwK.js";import{t as At}from"./server-g7It7jLf.js";import{n as jt,t as Mt}from"./scroll-area-16Gq00WS.js";var Z=t(n(),1);function Nt(e){let t=c(),n=(0,Z.useRef)(void 0);return l(t.stores.location,r=>{var i;let a=e!=null&&e.select?e.select(r):r;if((i=e==null?void 0:e.structuralSharing)==null?t.options.defaultStructuralSharing:i){let e=s(n.current,a);return n.current=e,e}return a})}var Pt=Se(`boxes`,[[`path`,{d:`M2.97 12.92A2 2 0 0 0 2 14.63v3.24a2 2 0 0 0 .97 1.71l3 1.8a2 2 0 0 0 2.06 0L12 19v-5.5l-5-3-4.03 2.42Z`,key:`lc1i9w`}],[`path`,{d:`m7 16.5-4.74-2.85`,key:`1o9zyk`}],[`path`,{d:`m7 16.5 5-3`,key:`va8pkn`}],[`path`,{d:`M7 16.5v5.17`,key:`jnp8gn`}],[`path`,{d:`M12 13.5V19l3.97 2.38a2 2 0 0 0 2.06 0l3-1.8a2 2 0 0 0 .97-1.71v-3.24a2 2 0 0 0-.97-1.71L17 10.5l-5 3Z`,key:`8zsnat`}],[`path`,{d:`m17 16.5-5-3`,key:`8arw3v`}],[`path`,{d:`m17 16.5 4.74-2.85`,key:`8rfmw`}],[`path`,{d:`M17 16.5v5.17`,key:`k6z78m`}],[`path`,{d:`M7.97 4.42A2 2 0 0 0 7 6.13v4.37l5 3 5-3V6.13a2 2 0 0 0-.97-1.71l-3-1.8a2 2 0 0 0-2.06 0l-3 1.8Z`,key:`1xygjf`}],[`path`,{d:`M12 8 7.26 5.15`,key:`1vbdud`}],[`path`,{d:`m12 8 4.74-2.85`,key:`3rx089`}],[`path`,{d:`M12 13.5V8`,key:`1io7kd`}]]),Ft=Se(`eye-off`,[[`path`,{d:`M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49`,key:`ct8e1f`}],[`path`,{d:`M14.084 14.158a3 3 0 0 1-4.242-4.242`,key:`151rxh`}],[`path`,{d:`M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143`,key:`13bj9a`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}]]),It=Se(`file-exclamation-point`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M12 9v4`,key:`juzpu7`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]),Lt=Se(`file-question-mark`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}],[`path`,{d:`M9.1 9a3 3 0 0 1 5.82 1c0 2-3 3-3 3`,key:`mhlwft`}]]),Rt=Se(`file-x-corner`,[[`path`,{d:`M11 22H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v5`,key:`1jo35a`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`m15 17 5 5`,key:`36xl1x`}],[`path`,{d:`m20 17-5 5`,key:`vdz27y`}]]),zt=Se(`globe`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20`,key:`13o1zl`}],[`path`,{d:`M2 12h20`,key:`9i4pu4`}]]),Bt=Se(`key`,[[`path`,{d:`m15.5 7.5 2.3 2.3a1 1 0 0 0 1.4 0l2.1-2.1a1 1 0 0 0 0-1.4L19 4`,key:`g0fldk`}],[`path`,{d:`m21 2-9.6 9.6`,key:`1j0ho8`}],[`circle`,{cx:`7.5`,cy:`15.5`,r:`5.5`,key:`yqb3hr`}]]),Vt=Se(`keyboard`,[[`path`,{d:`M10 8h.01`,key:`1r9ogq`}],[`path`,{d:`M12 12h.01`,key:`1mp3jc`}],[`path`,{d:`M14 8h.01`,key:`1primd`}],[`path`,{d:`M16 12h.01`,key:`1l6xoz`}],[`path`,{d:`M18 8h.01`,key:`emo2bl`}],[`path`,{d:`M6 8h.01`,key:`x9i8wu`}],[`path`,{d:`M7 16h10`,key:`wp8him`}],[`path`,{d:`M8 12h.01`,key:`czm47f`}],[`rect`,{width:`20`,height:`16`,x:`2`,y:`4`,rx:`2`,key:`18n3k1`}]]),Ht=Se(`layers`,[[`path`,{d:`M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z`,key:`zw3jo`}],[`path`,{d:`M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12`,key:`1wduqc`}],[`path`,{d:`M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17`,key:`kqbvx6`}]]),Ut=Se(`layout-grid`,[[`rect`,{width:`7`,height:`7`,x:`3`,y:`3`,rx:`1`,key:`1g98yp`}],[`rect`,{width:`7`,height:`7`,x:`14`,y:`3`,rx:`1`,key:`6d4xhi`}],[`rect`,{width:`7`,height:`7`,x:`14`,y:`14`,rx:`1`,key:`nxv5o0`}],[`rect`,{width:`7`,height:`7`,x:`3`,y:`14`,rx:`1`,key:`1bb6yr`}]]),Wt=Se(`layout-list`,[[`rect`,{width:`7`,height:`7`,x:`3`,y:`3`,rx:`1`,key:`1g98yp`}],[`rect`,{width:`7`,height:`7`,x:`3`,y:`14`,rx:`1`,key:`1bb6yr`}],[`path`,{d:`M14 4h7`,key:`3xa0d5`}],[`path`,{d:`M14 9h7`,key:`1icrd9`}],[`path`,{d:`M14 15h7`,key:`1mj8o2`}],[`path`,{d:`M14 20h7`,key:`11slyb`}]]),Gt=Se(`link-2`,[[`path`,{d:`M9 17H7A5 5 0 0 1 7 7h2`,key:`8i5ue5`}],[`path`,{d:`M15 7h2a5 5 0 1 1 0 10h-2`,key:`1b9ql8`}],[`line`,{x1:`8`,x2:`16`,y1:`12`,y2:`12`,key:`1jonct`}]]),Kt=Se(`moon`,[[`path`,{d:`M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401`,key:`kfwtm`}]]),qt=Se(`palette`,[[`path`,{d:`M12 22a1 1 0 0 1 0-20 10 9 0 0 1 10 9 5 5 0 0 1-5 5h-2.25a1.75 1.75 0 0 0-1.4 2.8l.3.4a1.75 1.75 0 0 1-1.4 2.8z`,key:`e79jfc`}],[`circle`,{cx:`13.5`,cy:`6.5`,r:`.5`,fill:`currentColor`,key:`1okk4w`}],[`circle`,{cx:`17.5`,cy:`10.5`,r:`.5`,fill:`currentColor`,key:`f64h9f`}],[`circle`,{cx:`6.5`,cy:`12.5`,r:`.5`,fill:`currentColor`,key:`qy21gx`}],[`circle`,{cx:`8.5`,cy:`7.5`,r:`.5`,fill:`currentColor`,key:`fotxhn`}]]),Jt=Se(`plug-zap`,[[`path`,{d:`M6.3 20.3a2.4 2.4 0 0 0 3.4 0L12 18l-6-6-2.3 2.3a2.4 2.4 0 0 0 0 3.4Z`,key:`goz73y`}],[`path`,{d:`m2 22 3-3`,key:`19mgm9`}],[`path`,{d:`M7.5 13.5 10 11`,key:`7xgeeb`}],[`path`,{d:`M10.5 16.5 13 14`,key:`10btkg`}],[`path`,{d:`m18 3-4 4h6l-4 4`,key:`16psg9`}]]),Yt=Se(`plug`,[[`path`,{d:`M12 22v-5`,key:`1ega77`}],[`path`,{d:`M15 8V2`,key:`18g5xt`}],[`path`,{d:`M17 8a1 1 0 0 1 1 1v4a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V9a1 1 0 0 1 1-1z`,key:`1xoxul`}],[`path`,{d:`M9 8V2`,key:`14iosj`}]]),Xt=Se(`sliders-horizontal`,[[`path`,{d:`M10 5H3`,key:`1qgfaw`}],[`path`,{d:`M12 19H3`,key:`yhmn1j`}],[`path`,{d:`M14 3v4`,key:`1sua03`}],[`path`,{d:`M16 17v4`,key:`1q0r14`}],[`path`,{d:`M21 12h-9`,key:`1o4lsq`}],[`path`,{d:`M21 19h-5`,key:`1rlt1p`}],[`path`,{d:`M21 5h-7`,key:`1oszz2`}],[`path`,{d:`M8 10v4`,key:`tgpxqk`}],[`path`,{d:`M8 12H3`,key:`a7s4jb`}]]),Zt=Se(`sun`,[[`circle`,{cx:`12`,cy:`12`,r:`4`,key:`4exip2`}],[`path`,{d:`M12 2v2`,key:`tus03m`}],[`path`,{d:`M12 20v2`,key:`1lh1kg`}],[`path`,{d:`m4.93 4.93 1.41 1.41`,key:`149t6j`}],[`path`,{d:`m17.66 17.66 1.41 1.41`,key:`ptbguv`}],[`path`,{d:`M2 12h2`,key:`1t8f8n`}],[`path`,{d:`M20 12h2`,key:`1q8mjw`}],[`path`,{d:`m6.34 17.66-1.41 1.41`,key:`1m8zz5`}],[`path`,{d:`m19.07 4.93-1.41 1.41`,key:`1shlcs`}]]),Qt=Se(`trash`,[[`path`,{d:`M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6`,key:`miytrc`}],[`path`,{d:`M3 6h18`,key:`d0wm0j`}],[`path`,{d:`M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2`,key:`e791ji`}]]),$t=Se(`unplug`,[[`path`,{d:`m19 5 3-3`,key:`yk6iyv`}],[`path`,{d:`m2 22 3-3`,key:`19mgm9`}],[`path`,{d:`M6.3 20.3a2.4 2.4 0 0 0 3.4 0L12 18l-6-6-2.3 2.3a2.4 2.4 0 0 0 0 3.4Z`,key:`goz73y`}],[`path`,{d:`M7.5 13.5 10 11`,key:`7xgeeb`}],[`path`,{d:`M10.5 16.5 13 14`,key:`10btkg`}],[`path`,{d:`m12 6 6 6 2.3-2.3a2.4 2.4 0 0 0 0-3.4l-2.6-2.6a2.4 2.4 0 0 0-3.4 0Z`,key:`1snsnr`}]]),en=Se(`volume-2`,[[`path`,{d:`M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z`,key:`uqj9uw`}],[`path`,{d:`M16 9a5 5 0 0 1 0 6`,key:`1q6k2b`}],[`path`,{d:`M19.364 18.364a9 9 0 0 0 0-12.728`,key:`ijwkga`}]]),tn=Se(`volume-x`,[[`path`,{d:`M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z`,key:`uqj9uw`}],[`line`,{x1:`22`,x2:`16`,y1:`9`,y2:`15`,key:`1ewh16`}],[`line`,{x1:`16`,x2:`22`,y1:`9`,y2:`15`,key:`5ykzw1`}]]),Q=r(),$=e();function nn(e){let t=(0,Q.c)(10),{children:n}=e,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r={from:`/server/$serverId`,strict:!1,structuralSharing:!0},t[0]=r):r=t[0];let i=h(r),a;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(a={from:`/server/$serverId`,strict:!1},t[1]=a):a=t[1];let o=u(a).serverId,s,c;t[2]!==i||t[3]!==o?(s=()=>{if(!i)return;let e=(i.models||[]).filter(on);K.getState().hydrate(o==null?``:o,{workspaces:i.workspaces,preconfigs:i.preconfigs,prompts:i.prompts,models:e,defaultModel:i.defaultModel||`gpt-4o`,defaultProvider:i.defaultProvider||`openai`,providers:i.providers});let t=localStorage.getItem(`activeWorkspaceId`),n=i.workspaces;if(t){let e=n.find(e=>e.id===t);e?K.getState().setActiveWorkspace(e):n.length>0&&K.getState().setActiveWorkspace(n[0])}else n.length>0&&K.getState().setActiveWorkspace(n[0])},c=[i,o],t[2]=i,t[3]=o,t[4]=s,t[5]=c):(s=t[4],c=t[5]),(0,Z.useLayoutEffect)(s,c);let l;if(t[6]===Symbol.for(`react.memo_cache_sentinel`)?(l=[],t[6]=l):l=t[6],(0,Z.useEffect)(rn,l),!i){let e;return t[7]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(`div`,{className:`flex items-center justify-center min-h-screen bg-background text-foreground`,children:(0,$.jsxs)(`div`,{className:`text-center space-y-2`,children:[(0,$.jsx)(`div`,{className:`h-8 w-8 border-2 border-muted-foreground/30 border-t-muted-foreground rounded-full animate-spin mx-auto`}),(0,$.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Loading server data...`})]})}),t[7]=e):e=t[7],e}let d;return t[8]===n?d=t[9]:(d=(0,$.jsx)($.Fragment,{children:n}),t[8]=n,t[9]=d),d}function rn(){return an}function an(){le(),K.getState().clearAll()}function on(e){var t;return(t=e.runtimeStatus)==null?void 0:t.usable}var sn=e=>Symbol.iterator in e,cn=e=>`entries`in e,ln=(e,t)=>{let n=e instanceof Map?e:new Map(e.entries()),r=t instanceof Map?t:new Map(t.entries());if(n.size!==r.size)return!1;for(let[e,t]of n)if(!r.has(e)||!Object.is(t,r.get(e)))return!1;return!0},un=(e,t)=>{let n=e[Symbol.iterator](),r=t[Symbol.iterator](),i=n.next(),a=r.next();for(;!i.done&&!a.done;){if(!Object.is(i.value,a.value))return!1;i=n.next(),a=r.next()}return!!i.done&&!!a.done};function dn(e,t){return Object.is(e,t)?!0:typeof e!=`object`||!e||typeof t!=`object`||!t||Object.getPrototypeOf(e)!==Object.getPrototypeOf(t)?!1:sn(e)&&sn(t)?cn(e)&&cn(t)?ln(e,t):un(e,t):ln({entries:()=>Object.entries(e)},{entries:()=>Object.entries(t)})}function fn(e){let t=Z.useRef(void 0);return n=>{let r=e(n);return dn(t.current,r)?t.current:t.current=r}}function pn(e,t){let{session:n}=e,{setSessions:r,setCurrentSession:i,setMessagesBySession:a,setPartsBySession:o,setSessionUsage:s,setCurrentModel:c,setSelectedVariant:l,pendingSessionCreateRef:u,sessionAccessTimesRef:d,partIdIndexRef:f,defaultModel:p}=t;if(r(e=>[n,...e]),u.current){var m;i(n),a(e=>({...e,[n.id]:[]})),o(e=>({...e,[n.id]:{}})),f.current.clear(),s({promptTokens:0,completionTokens:0,totalTokens:0}),c(n.selectedModel||p),l((m=n.selectedVariant)==null?null:m),u.current=!1,t.navigateToSession(n.id),t.resumeSessionAfterCreate(n.id)}d.current.set(n.id,Date.now())}function mn(e,t){var n;let{session:r,messages:i,usage:a,isRunning:o,control:s}=e,{setCurrentSession:c,removeInterruptedSession:l,addStreamingSession:u,removeStreamingSession:d,skipFinishSoundSessionIdsRef:f,setMessagesBySession:p,setPartsBySession:m,setSessionUsage:h,setCurrentModel:g,setSelectedVariant:_,sessionAccessTimesRef:v,partIdIndexRef:y,models:b,defaultModel:x,clearCompletion:S}=t;if(c(r),l(r.id),S(r.id),o?u(r.id):(d(r.id),f.current.add(r.id)),i){p(e=>({...e,[r.id]:i.map(e=>e.message)})),m(e=>{let t={...e};t[r.id]={};for(let e of i)t[r.id][e.message.id]=e.parts;return t}),y.current.clear();for(let e of i)for(let t=0;t<e.parts.length;t++)y.current.set(e.parts[t].id,{sessionId:r.id,messageId:e.message.id,index:t})}h(a==null?{promptTokens:0,completionTokens:0,totalTokens:0}:a),g(r.selectedModel||x),_(r.selectedVariant||null);let C=r.selectedModel||x,w=(n=b.find(e=>e.id===C))==null?void 0:n.variants;r.selectedVariant&&w&&!w[r.selectedVariant]&&_(null),v.current.set(r.id,Date.now()),s&&ke.getState().setControlState(r.id,s)}function hn(e,t){let{sessionId:n}=e,{setSessions:r,setMessagesBySession:i,setPartsBySession:a,setCurrentSession:o,partIdIndexRef:s,partAppendRafRef:c,pendingPartAppendsRef:l,sessionAccessTimesRef:u,currentSessionIdRef:d,clearCompletion:f}=t;r(e=>e.map(e=>e.id===n?{...e,status:`closed`}:e)),f(n),d.current===n&&(c.current!==null&&(cancelAnimationFrame(c.current),c.current=null),l.current.clear()),i(e=>{let t={...e};return delete t[n],t}),a(e=>{let t={...e};return delete t[n],t});for(let[e,t]of s.current)t.sessionId===n&&s.current.delete(e);u.current.delete(n),d.current===n&&(o(null),t.navigateToParent())}function gn(e,t){let{session:n}=e,{setSessions:r,setCurrentSession:i,currentSessionIdRef:a}=t;r(e=>e.map(e=>e.id===n.id?n:e)),a.current===n.id&&i(n)}function _n(e,t){let{sessionId:n}=e,{setSessions:r,setMessagesBySession:i,setPartsBySession:a,removeInterruptedSession:o,partIdIndexRef:s,sessionAccessTimesRef:c,setCurrentSession:l,currentSessionIdRef:u,clearCompletion:d}=t;r(e=>e.filter(e=>e.id!==n)),d(n),i(e=>{let t={...e};return delete t[n],t}),a(e=>{let t={...e};return delete t[n],t}),o(n);for(let[e,t]of s.current)t.sessionId===n&&s.current.delete(e);c.current.delete(n),u.current===n&&(l(null),t.navigateToParent())}function vn(e,t){let{session:n}=e,{setSessions:r,setCurrentSession:i,setSelectedVariant:a,setCurrentModel:o,currentSessionIdRef:s}=t;r(e=>e.map(e=>e.id===n.id?n:e)),s.current===n.id&&(i(n),n.selectedVariant!==void 0&&a(n.selectedVariant),n.selectedModel&&o(n.selectedModel))}function yn(e,t){let{session:n}=e,{setSessions:r,setCurrentSession:i,currentSessionIdRef:a}=t;r(e=>e.map(e=>e.id===n.id?n:e)),a.current===n.id&&i(n)}function bn(e,t){let{sessionId:n,result:r}=e,{addInterruptedSession:i,skipFinishSoundSessionIdsRef:a,removeStreamingSession:o,clearPendingAskRequestsBySessionId:s}=t;i(n),a.current.add(n),o(n),s(n),r.cascadedTo.length>0&&console.log(`Session ${n} interrupted. Cascaded to:`,r.cascadedTo)}function xn(e,t){let{sessionId:n,revertedTo:r,removed:i}=e;r.messageId===null?console.log(`Session ${n} cleared (all ${i.messageIds.length} messages removed)`):console.log(`Session ${n} reverted to message ${r.messageId}, removed ${i.messageIds.length} messages`)}function Sn(e,t){let{forkedSession:n,messages:r}=e,{setSessions:i,setCurrentSession:a,setMessagesBySession:o,setPartsBySession:s,setSessionUsage:c,sessionAccessTimesRef:l,partIdIndexRef:u,clearCompletion:d}=t;i(e=>[n,...e]),o(e=>({...e,[n.id]:r.map(e=>e.message)})),s(e=>{let t={...e};t[n.id]={};for(let e of r)t[n.id][e.message.id]=e.parts;return t}),u.current.clear();for(let e of r)for(let t=0;t<e.parts.length;t++)u.current.set(e.parts[t].id,{sessionId:n.id,messageId:e.message.id,index:t});a(n),t.navigateToSession(n.id),t.resumeSessionAfterCreate(n.id),c({promptTokens:0,completionTokens:0,totalTokens:0}),l.current.set(n.id,Date.now()),d(n.id)}function Cn(e,t){let{sessionId:n,messages:r}=e,{setMessagesBySession:i,setPartsBySession:a,partIdIndexRef:o,partAppendRafRef:s,skipFinishSoundSessionIdsRef:c,removeStreamingSession:l,sessionAccessTimesRef:u,flushPendingPartAppends:d,currentSessionIdRef:f,clearCompletion:p}=t;if(f.current===n&&(s.current!==null&&(cancelAnimationFrame(s.current),s.current=null),d()),f.current===n){i(e=>({...e,[n]:r.map(e=>e.message)})),a(e=>{let t={...e};t[n]={};for(let e of r)t[n][e.message.id]=e.parts;return t}),o.current.clear();for(let e of r)for(let t=0;t<e.parts.length;t++)o.current.set(e.parts[t].id,{sessionId:n,messageId:e.message.id,index:t})}c.current.add(n),l(n),u.current.set(n,Date.now()),p(n)}var wn={"session.created":pn,"session.resumed":mn,"session.closed":hn,"session.reopened":gn,"session.deleted":_n,"session.updated":vn,"session.renamed":yn,"session.interrupted":bn,"session.reverted":xn,"session.forked":Sn,"session.state":Cn};function Tn(e,t){let{message:n}=e,{setMessagesBySession:r,setPartsBySession:i,addStreamingSession:a,removeInterruptedSession:o,currentSessionIdRef:s,clearCompletion:c}=t;c(n.sessionId),n.sessionId===s.current&&(r(e=>({...e,[n.sessionId]:[...e[n.sessionId]||[],n]})),i(e=>({...e,[n.sessionId]:{...e[n.sessionId],[n.id]:[]}}))),n.sessionId===s.current&&`status`in n&&n.status===`streaming`&&(a(n.sessionId),o(n.sessionId))}function En(e,t){let{message:n}=e,{setMessagesBySession:r,removeStreamingSession:i,partAppendRafRef:a,partAppendTimeoutRef:o,flushPendingPartAppends:s,currentSessionIdRef:c,sessionsRef:l,setCompletion:u,chatFinishSoundEnabledRef:d,playChatFinishSound:f}=t;if(n.sessionId===c.current&&(`status`in n&&n.status!==`streaming`&&(a.current!==null&&(cancelAnimationFrame(a.current),a.current=null),o.current!==null&&(clearTimeout(o.current),o.current=null),s()),r(e=>({...e,[n.sessionId]:(e[n.sessionId]||[]).map(e=>e.id===n.id?n:e)}))),`status`in n&&n.status!==`streaming`){i(n.sessionId);let e=l.current.find(e=>e.id===n.sessionId);if(e&&e.parentId===null){let e=Date.now();u(n.sessionId,{type:`flash-only`,flashStartedAt:e}),d.current&&f()}}}function Dn(e,t){let{sessionId:n,part:r}=e,{setPartsBySession:i,partIdIndexRef:a,currentSessionIdRef:o,clearCompletion:s}=t;if(s(n),n===o.current){i(e=>{let t=e[n]||{},i=t[r.messageId]||[];return{...e,[n]:{...t,[r.messageId]:[...i,r]}}});let e=0;for(let t of a.current.values())t.sessionId===n&&t.messageId===r.messageId&&(e=Math.max(e,t.index+1));a.current.set(r.id,{sessionId:n,messageId:r.messageId,index:e})}}function On(e,t){let{sessionId:n,part:r}=e,{setPartsBySession:i,partIdIndexRef:a,currentSessionIdRef:o,clearCompletion:s}=t;if(s(n),n===o.current){let e=a.current.get(r.id);i(e?t=>{let n=t[e.sessionId];if(!n)return t;let i=n[e.messageId];if(!i)return t;let a=[...i];return a[e.index]=r,{...t,[e.sessionId]:{...n,[e.messageId]:a}}}:e=>{let t=e[n]||{},i=t[r.messageId]||[];return{...e,[n]:{...t,[r.messageId]:i.map(e=>e.id===r.id?r:e)}}})}}function kn(e,t){let{sessionId:n,partId:r,delta:i}=e,{addStreamingSession:a,pendingPartAppendsRef:o,partAppendRafRef:s,lastPartAppendFlushAtRef:c,partAppendTimeoutRef:l,interruptedSessions:u,currentSessionIdRef:d,flushPendingPartAppends:f,clearCompletion:p}=t;if(p(n),n===d.current&&!u.has(n)&&a(n),n===d.current){let e=o.current.get(r);o.current.set(r,(e||``)+i);let t=Date.now()-c.current;if(t<50){if(l.current===null){let e=50-t;l.current=setTimeout(()=>{l.current=null,s.current===null&&(s.current=requestAnimationFrame(()=>{f()}))},e)}}else s.current===null&&(s.current=requestAnimationFrame(()=>{f()}))}}function An(e,t){let{sessionId:n,usage:r,model:i}=e,{setSessionUsage:a,setCurrentModel:o,currentSessionIdRef:s}=t;n===s.current&&(a({promptTokens:r.promptTokens,completionTokens:r.completionTokens,totalTokens:r.totalTokens}),o(i))}function jn(e,t){let{sessionId:n}=e,{setCompactionSuccess:r,currentSessionIdRef:i}=t;n===i.current&&r(!0)}function Mn(e,t){let{code:n,message:r}=e;console.error(`Server error:`,n,r)}var Nn={"message.created":Tn,"message.updated":En,"part.created":Dn,"part.updated":On,"part.append":kn,"chat.usage":An,"compaction.complete":jn,error:Mn};function Pn(e,t){let{grants:n}=e,{setPermissions:r}=t;r(n)}function Fn(e,t){let{grantId:n}=e,{setPermissions:r}=t;r(e=>e.map(e=>e.id===n?{...e,revokedAt:new Date().toISOString()}:e))}function In(e,t){let{setPermissions:n}=t;n(e=>{let t=new Date().toISOString();return e.map(e=>({...e,revokedAt:t}))})}function Ln(e,t){let{sessionId:n,messages:r}=e,{setQueuedMessagesForSession:i}=t;i(n,r)}function Rn(e,t){let{sessionId:n,message:r}=e,{addQueuedMessage:i}=t;i(n,r)}function zn(e,t){let{sessionId:n,queueId:r}=e,{removeQueuedMessageById:i}=t;i(n,r)}function Bn(e,t){let{sessionId:n,queueId:r}=e,{removeQueuedMessageById:i}=t;i(n,r)}var Vn={"permission.list":Pn,"permission.revoked":Fn,"permission.all_revoked":In,"queue.list":Ln,"queue.added":Rn,"queue.removed":zn,"queue.sending":Bn};function Hn(e,t){let{provider:n,connected:r,authorizationUrl:i,error:a}=e,{setProviderStatuses:o}=t;o(e=>e.find(e=>e.provider===n)?e.map(e=>e.provider===n?{...e,connected:r,authorizationUrl:i,error:a}:e):[...e,{provider:n,connected:r,authorizationUrl:i,error:a}])}function Un(e,t){let{provider:n,connected:r,connectedAt:i,accountId:a}=e,{setProviderStatuses:o}=t;o(e=>e.map(e=>e.provider===n?{...e,connected:r,connectedAt:i,accountId:a}:e))}var Wn={"provider.status":Hn,"provider.connected":Un};function Gn(e,t){let{sessionId:n,toolCallId:r,toolName:i,ask:a,requestId:o}=e,{addPendingAskRequest:s,runAskHandlers:c,sendAskResponse:l}=t,u={toolCallId:r,sessionId:n,toolName:i,ask:a,originSessionId:a._originSessionId,requestId:o},d=a.type===`permission`?`permission`:a.type===`client_capability`?`client`:`human`,f=()=>{if(a.type!==`permission`)return;let{sessionsRef:e,notifiedToolCallIdsRef:i,permissionSoundEnabledRef:s,playPermissionSound:c}=t,l=o==null?r:o,u=e.current.find(e=>e.id===n);(u==null?void 0:u.parentId)===null&&s.current&&!i.current.has(l)&&(c(),i.current.add(l))},p=c(d,u);p?p.then(e=>{e===void 0?(s(u),f()):l(r,e,o)}).catch(()=>{s(u),f()}):(s(u),f())}function Kn(e,t){let{requestId:n,toolCallId:r}=e,{removePendingAskRequest:i,removePendingPermissionRequest:a}=t;n?a(n,r):i(r)}function qn(e,t){let{replacePendingPermissionRequests:n}=t;n(e.requests.map(e=>({toolCallId:e.toolCallId,sessionId:e.sessionId,toolName:e.toolName,ask:e.ask,originSessionId:e._originSessionId,requestId:e.requestId})))}function Jn(e,t){console.warn(`Ask response rejected: [${e.code}] ${e.message} (sessionId=${e.sessionId}, toolCallId=${e.toolCallId})`)}var Yn={"ask.request":Gn,"ask.timeout":Kn,"ask.pending_sync":qn,"ask.response_rejected":Jn};function Xn(e,t){let{control:n,reason:r}=e;ke.getState().setControlState(n.sessionId,n),console.log(`[control] State updated: sessionId=${n.sessionId} status=${n.status} reason=${r}`)}function Zn(e,t){let n=ke.getState();n.setControlState(e.sessionId,e.control),n.setActionRejection({sessionId:e.sessionId,action:e.action,code:e.code,message:e.message}),console.warn(`[control] Action rejected: sessionId=${e.sessionId} action=${e.action} code=${e.code} message=${e.message}`)}var Qn={"session.control.updated":Xn,"session.action_rejected":Zn};function $n(e,t){let n=()=>t.current,r=[];function i(t,n){e.on(t,n),r.push({event:t,handler:n})}return i(`session.created`,e=>{wn[`session.created`]({type:`session.created`,session:e},n())}),i(`session.resumed`,(e,t,r,i,a)=>{wn[`session.resumed`]({type:`session.resumed`,session:e,messages:t,usage:r,isRunning:i,control:a},n())}),i(`session.closed`,e=>{wn[`session.closed`]({type:`session.closed`,sessionId:e},n())}),i(`session.reopened`,e=>{wn[`session.reopened`]({type:`session.reopened`,session:e},n())}),i(`session.deleted`,e=>{wn[`session.deleted`]({type:`session.deleted`,sessionId:e},n())}),i(`session.updated`,e=>{wn[`session.updated`]({type:`session.updated`,session:e},n())}),i(`session.renamed`,e=>{wn[`session.renamed`]({type:`session.renamed`,session:e},n())}),i(`session.interrupted`,(e,t)=>{wn[`session.interrupted`]({type:`session.interrupted`,sessionId:e,result:t},n())}),i(`session.reverted`,(e,t,r)=>{wn[`session.reverted`]({type:`session.reverted`,sessionId:e,revertedTo:t,removed:r},n())}),i(`session.forked`,(e,t,r)=>{wn[`session.forked`]({type:`session.forked`,originalSessionId:e,forkedSession:t,messages:r},n())}),i(`session.state`,(e,t)=>{wn[`session.state`]({type:`session.state`,sessionId:e,messages:t},n())}),i(`session.control.updated`,(e,t)=>{Qn[`session.control.updated`]({type:`session.control.updated`,control:e,reason:t},n())}),i(`session.action_rejected`,(e,t,r,i,a)=>{Qn[`session.action_rejected`]({type:`session.action_rejected`,sessionId:e,action:t,code:r,message:i,control:a},n())}),i(`message.created`,e=>{Nn[`message.created`]({type:`message.created`,message:e},n())}),i(`message.updated`,e=>{Nn[`message.updated`]({type:`message.updated`,message:e},n())}),i(`part.created`,(e,t)=>{Nn[`part.created`]({type:`part.created`,sessionId:e,part:t},n())}),i(`part.updated`,(e,t)=>{Nn[`part.updated`]({type:`part.updated`,sessionId:e,part:t},n())}),i(`part.append`,(e,t,r,i)=>{Nn[`part.append`]({type:`part.append`,sessionId:e,partId:t,field:r,delta:i},n())}),i(`chat.usage`,(e,t,r)=>{Nn[`chat.usage`]({type:`chat.usage`,sessionId:e,usage:t,model:r},n())}),i(`compaction.complete`,(e,t)=>{Nn[`compaction.complete`]({type:`compaction.complete`,sessionId:e,tokensUsed:t},n())}),i(`permission.list`,(e,t)=>{Vn[`permission.list`]({type:`permission.list`,workspaceId:e,grants:t},n())}),i(`permission.revoked`,e=>{Vn[`permission.revoked`]({type:`permission.revoked`,grantId:e},n())}),i(`permission.all_revoked`,(e,t)=>{Vn[`permission.all_revoked`]({type:`permission.all_revoked`,workspaceId:e,count:t},n())}),i(`queue.list`,(e,t)=>{Vn[`queue.list`]({type:`queue.list`,sessionId:e,messages:t},n())}),i(`queue.added`,(e,t)=>{Vn[`queue.added`]({type:`queue.added`,sessionId:e,message:t},n())}),i(`queue.removed`,(e,t)=>{Vn[`queue.removed`]({type:`queue.removed`,sessionId:e,queueId:t},n())}),i(`queue.sending`,(e,t)=>{Vn[`queue.sending`]({type:`queue.sending`,sessionId:e,queueId:t},n())}),i(`provider.status`,(e,t,r,i)=>{Wn[`provider.status`]({type:`provider.status`,provider:e,connected:t,authorizationUrl:r,error:i},n())}),i(`provider.connected`,(e,t,r,i)=>{Wn[`provider.connected`]({type:`provider.connected`,provider:e,connected:t,connectedAt:r,accountId:i},n())}),i(`ask.request`,(e,t,r,i,a,o)=>{Yn[`ask.request`]({type:`ask.request`,sessionId:e,toolCallId:t,toolName:r,ask:i,requestId:a,authority:o},n())}),i(`ask.response_rejected`,(e,t,r,i,a)=>{Yn[`ask.response_rejected`]({type:`ask.response_rejected`,sessionId:e,toolCallId:t,requestId:r,code:i,message:a},n())}),i(`ask.timeout`,(e,t,r)=>{Yn[`ask.timeout`]({type:`ask.timeout`,sessionId:e,toolCallId:t,requestId:r},n())}),i(`ask.pending_sync`,(e,t)=>{Yn[`ask.pending_sync`]({type:`ask.pending_sync`,sessionId:e,requests:t},n())}),i(`error`,(e,t)=>{Nn.error({type:`error`,code:e,message:t},n())}),()=>{for(let{event:t,handler:n}of r)e.off(t,n)}}var er=null;async function tr(){if(er)return er;try{let{Store:e}=await g(async()=>{let{Store:e}=await import(`./dist-js-CnIJv7bh.js`);return{Store:e}},__vite__mapDeps([0,1,2]),import.meta.url);return er=await e.load(`settings.json`),er}catch(e){return console.error(`Failed to initialize Tauri store:`,e),null}}function nr(e){try{let t=localStorage.getItem(e);return t?JSON.parse(t):null}catch{return null}}var rr={async get(e){if(f()&&window.__JEAN2_ELECTRON__)return window.__JEAN2_ELECTRON__.store.get(e);if(p()){let t=await tr();if(t){let n=await t.get(e);return n==null?null:n}}return nr(e)},async set(e,t){if(f()&&window.__JEAN2_ELECTRON__){await window.__JEAN2_ELECTRON__.store.set(e,t);return}if(p()){let n=await tr();if(n){await n.set(e,t),await n.save();return}}localStorage.setItem(e,JSON.stringify(t))},async remove(e){if(f()&&window.__JEAN2_ELECTRON__){await window.__JEAN2_ELECTRON__.store.remove(e);return}if(p()){let t=await tr();if(t){await t.delete(e),await t.save();return}}localStorage.removeItem(e)},async clear(){if(f()&&window.__JEAN2_ELECTRON__){await window.__JEAN2_ELECTRON__.store.clear();return}if(p()){let e=await tr();if(e){await e.clear(),await e.save();return}}localStorage.clear()},isNative(){return f()||p()}},ir={API_TOKEN:`jean2_api_token`,TOKEN_EXPIRY:`jean2_token_expiry`,SERVER_URL:`jean2_server_url`,THEME:`jean2-theme`,ACTIVE_WORKSPACE_ID:`activeWorkspaceId`,CLIENT_ID:`jean2_client_id`};function ar(){return crypto.randomUUID()}async function or(){let e=await rr.get(ir.CLIENT_ID);if(e)return e;let t=ar();return await rr.set(ir.CLIENT_ID,t),t}function sr(){switch(m()){case`electron`:return`desktop`;case`tauri-mobile`:return`mobile`;default:return`web`}}function cr(){switch(m()){case`electron`:return`Jean2 Desktop`;case`tauri-mobile`:return`Jean2 Mobile`;default:return`Jean2 Web`}}async function lr(){return{clientId:await or(),clientType:sr(),displayName:cr(),interactionMode:`human`,capabilities:[]}}var ur=1e4,dr=3e4,fr=1e3;function pr(e){let t=(0,Q.c)(58),{apiToken:n,serverUrl:r,currentSessionIdRef:o,handlerContextRef:s,handleLogout:c,clientRef:l}=e,u=(0,Z.useRef)(null),d=l==null?u:l,[f,p]=(0,Z.useState)(0),[m,h]=(0,Z.useState)(null),g;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(g=()=>{G.getState().setRetryCount(0),G.getState().setConnectionTimedOut(!1),G.getState().setNextRetryIn(0),G.getState().setAuthError(null),p(Cr)},t[0]=g):g=t[0];let _=g,v=G(Sr),y=G(xr),b,x;t[1]!==n||t[2]!==r?(b=()=>{if(!n||!r)return;let e=!1;return lr().then(t=>{e||(h(t),Fe.getState().setClientId(t.clientId))}),()=>{e=!0}},x=[n,r],t[1]=n,t[2]=r,t[3]=b,t[4]=x):(b=t[3],x=t[4]),(0,Z.useEffect)(b,x);let S;t[5]!==n||t[6]!==m||t[7]!==d||t[8]!==o||t[9]!==c||t[10]!==s||t[11]!==r?(S=()=>{if(!n||!r||!m)return;let e=!1,t=()=>{let e=new a({url:r,token:n,autoSyncPermissions:!1,clientDescriptor:m});d.current=e,e.on(`connected`,()=>{var t,n;G.getState().setConnected(!0),G.getState().setAuthError(null),G.getState().setRetryCount(0),G.getState().setConnectionTimedOut(!1),H.getState().clearPendingRequests();let r=(t=o.current)==null?(n=W.getState().currentSession)==null?void 0:n.id:t;if(r){let t=o.current===null;o.current=r,console.log(`[reconnect] Resuming session:`,r,t?`(restored from store)`:`(from ref)`),e.sessions.resume(r)}else{var i;console.log(`[reconnect] No session to resume (ref:`,o.current,`, store:`,(i=W.getState().currentSession)==null?void 0:i.id,`)`)}}),e.on(`disconnected`,e=>{G.getState().setConnected(!1),e.code===1008||e.code===401?c():G.getState().setConnectionTimedOut(!0)}),e.on(`error.connection`,br),$n(e,s),e.connect().catch(yr)};return i.verifyToken(r,n).then(n=>{if(!e){if(!n){G.getState().setAuthError(`Authentication failed. Your token may be invalid or expired.`);return}t()}}).catch(()=>{e||t()}),()=>{e=!0;let t=d.current;t&&(t.dispose(),d.current===t&&(d.current=null))}},t[5]=n,t[6]=m,t[7]=d,t[8]=o,t[9]=c,t[10]=s,t[11]=r,t[12]=S):S=t[12];let C;t[13]!==n||t[14]!==m||t[15]!==f||t[16]!==r?(C=[n,r,m,f],t[13]=n,t[14]=m,t[15]=f,t[16]=r,t[17]=C):C=t[17],(0,Z.useEffect)(S,C);let w;t[18]!==n||t[19]!==m||t[20]!==v||t[21]!==y||t[22]!==r?(w=()=>{if(n&&r&&m&&!v&&!y){let e=setTimeout(vr,ur);return()=>clearTimeout(e)}},t[18]=n,t[19]=m,t[20]=v,t[21]=y,t[22]=r,t[23]=w):w=t[23];let T;t[24]!==n||t[25]!==m||t[26]!==v||t[27]!==y||t[28]!==f||t[29]!==r?(T=[n,r,m,f,v,y],t[24]=n,t[25]=m,t[26]=v,t[27]=y,t[28]=f,t[29]=r,t[30]=T):T=t[30],(0,Z.useEffect)(w,T);let E;t[31]!==n||t[32]!==v||t[33]!==y||t[34]!==r?(E=()=>{if(!y||v||!n||!r)return;let e=G.getState().retryCount,t=Math.min(fr*2**e,dr),i=Math.floor(t/1e3);G.getState().setNextRetryIn(i);let a=setInterval(()=>{--i,G.getState().setNextRetryIn(Math.max(0,i))},1e3),o=setTimeout(()=>{G.getState().setRetryCount(_r),p(gr)},t);return()=>{clearInterval(a),clearTimeout(o)}},t[31]=n,t[32]=v,t[33]=y,t[34]=r,t[35]=E):E=t[35];let D;t[36]!==n||t[37]!==v||t[38]!==y||t[39]!==f||t[40]!==r?(D=[n,r,f,v,y],t[36]=n,t[37]=v,t[38]=y,t[39]=f,t[40]=r,t[41]=D):D=t[41],(0,Z.useEffect)(E,D);let O;t[42]!==n||t[43]!==d||t[44]!==r?(O=()=>{let e=()=>{if(!n||!r)return;let e=d.current;e&&e.connected||(G.getState().setConnected(!1),G.getState().setRetryCount(0),G.getState().setConnectionTimedOut(!1),p(hr))};return window.addEventListener(`online`,e),()=>window.removeEventListener(`online`,e)},t[42]=n,t[43]=d,t[44]=r,t[45]=O):O=t[45];let k;t[46]!==n||t[47]!==r?(k=[n,r],t[46]=n,t[47]=r,t[48]=k):k=t[48],(0,Z.useEffect)(O,k);let A;t[49]!==n||t[50]!==d||t[51]!==r?(A=()=>{let e=()=>{var e;if(document.visibilityState!==`visible`||!n||!r)return;let t=d.current;console.log(`[reconnect] Visibility change: tab visible, disposing zombie client`),t&&((e=t.ws)==null?void 0:e.readyState)===WebSocket.OPEN&&(t.dispose(),d.current===t&&(d.current=null),G.getState().setConnected(!1)),G.getState().setRetryCount(0),G.getState().setConnectionTimedOut(!1),p(mr)};return document.addEventListener(`visibilitychange`,e),()=>document.removeEventListener(`visibilitychange`,e)},t[49]=n,t[50]=d,t[51]=r,t[52]=A):A=t[52];let j;t[53]!==n||t[54]!==r?(j=[n,r],t[53]=n,t[54]=r,t[55]=j):j=t[55],(0,Z.useEffect)(A,j);let M;return t[56]===d?M=t[57]:(M={clientRef:d,retry:_},t[56]=d,t[57]=M),M}function mr(e){return e+1}function hr(e){return e+1}function gr(e){return e+1}function _r(e){return e+1}function vr(){G.getState().connected||G.getState().setConnectionTimedOut(!0)}function yr(e){console.error(`Connection failed:`,e)}function br(e){console.error(`WebSocket error:`,e)}function xr(e){return e.connectionTimedOut}function Sr(e){return e.connected}function Cr(e){return e+1}function wr(e){let t=(0,Q.c)(119),{clientRef:n,currentSession:r,sessions:i,workspaces:a,activeWorkspace:o,currentModel:s,streamingSessionIds:c,isCompacting:l,primaryPreconfigs:u,setActiveWorkspace:d,setCompactionSuccess:f,setCurrentModel:p,setSelectedVariant:m,removePendingAskRequest:h,removePendingPermissionRequest:g,clearStreamingSessions:_,pendingSessionCreateRef:v,partAppendRafRef:y,pendingPartAppendsRef:b,skipFinishSoundSessionIdsRef:x,navigate:S,serverId:C,viewPath:w}=e,T;t[0]!==(o==null?void 0:o.id)||t[1]!==n||t[2]!==y||t[3]!==b||t[4]!==v||t[5]!==f?(T=(e,t)=>{let r=n.current;v.current=!0,y.current!==null&&(cancelAnimationFrame(y.current),y.current=null),b.current.clear(),r&&r.connected&&r.sessions.create({preconfigId:e,title:t,workspaceId:o==null?void 0:o.id}),f(!1)},t[0]=o==null?void 0:o.id,t[1]=n,t[2]=y,t[3]=b,t[4]=v,t[5]=f,t[6]=T):T=t[6];let E=T,D;t[7]!==(o==null?void 0:o.id)||t[8]!==_||t[9]!==n||t[10]!==S||t[11]!==y||t[12]!==b||t[13]!==C||t[14]!==i||t[15]!==d||t[16]!==f||t[17]!==x||t[18]!==w||t[19]!==a?(D=e=>{let t=n.current;x.current=new Set(G.getState().streamingSessionIds),_(),f(!1);let r=i.find(t=>t.id===e);if(r!=null&&r.workspaceId&&r.workspaceId!==(o==null?void 0:o.id)){let e=a.find(e=>e.id===r.workspaceId);e&&d(e)}y.current!==null&&(cancelAnimationFrame(y.current),y.current=null),b.current.clear(),t&&t.connected&&t.sessions.resume(e),S({to:`/server/$serverId${w}/session/$sessionId`,params:{serverId:C,sessionId:e}})},t[7]=o==null?void 0:o.id,t[8]=_,t[9]=n,t[10]=S,t[11]=y,t[12]=b,t[13]=C,t[14]=i,t[15]=d,t[16]=f,t[17]=x,t[18]=w,t[19]=a,t[20]=D):D=t[20];let O=D,k;t[21]===n?k=t[22]:(k=e=>{let t=n.current;t&&t.connected&&t.sessions.close(e)},t[21]=n,t[22]=k);let A=k,j;t[23]===n?j=t[24]:(j=(e,t)=>{let r=n.current;r&&r.connected&&r.sessions.revert(e,t)},t[23]=n,t[24]=j);let M=j,N;t[25]===n?N=t[26]:(N=(e,t)=>{let r=n.current;r&&r.connected&&r.sessions.fork(e,t)},t[25]=n,t[26]=N);let P=N,F;t[27]===n?F=t[28]:(F=e=>{let t=n.current;t&&t.connected&&t.sessions.compact(e)},t[27]=n,t[28]=F);let I=F,L;t[29]===n?L=t[30]:(L=e=>{let t=n.current;t&&t.connected&&t.sessions.reopen(e)},t[29]=n,t[30]=L);let R=L,z;t[31]===n?z=t[32]:(z=e=>{let t=n.current;t&&t.connected&&t.sessions.delete(e)},t[31]=n,t[32]=z);let B=z,V;t[33]!==n||t[34]!==r?(V=e=>{let t=n.current;t&&t.connected&&r&&t.sessions.update(r.id,{preconfigId:e})},t[33]=n,t[34]=r,t[35]=V):V=t[35];let H=V,U;t[36]!==n||t[37]!==r||t[38]!==p||t[39]!==m?(U=(e,t)=>{let i=n.current;p(e),m(null),i&&i.connected&&r&&i.sessions.updateModel(r.id,{modelId:e,providerId:t})},t[36]=n,t[37]=r,t[38]=p,t[39]=m,t[40]=U):U=t[40];let ee=U,te;t[41]!==n||t[42]!==s||t[43]!==r||t[44]!==m?(te=e=>{let t=n.current;t&&t.connected&&r&&(t.sessions.updateModel(r.id,{modelId:r.selectedModel||s,providerId:r.selectedProvider||`openai`,variant:e==null?void 0:e}),m(e))},t[41]=n,t[42]=s,t[43]=r,t[44]=m,t[45]=te):te=t[45];let ne=te,re;t[46]===n?re=t[47]:(re=(e,t)=>{let r=n.current;r&&r.connected&&r.sessions.rename(e,t)},t[46]=n,t[47]=re);let W=re,ie;t[48]!==r||t[49]!==O?(ie=()=>{r!=null&&r.parentId&&O(r.parentId)},t[48]=r,t[49]=O,t[50]=ie):ie=t[50];let ae=ie,oe;t[51]===n?oe=t[52]:(oe=(e,t,r)=>{let i=n.current;i&&i.connected&&i.queue.add(e,t,r)},t[51]=n,t[52]=oe);let se=oe,ce;t[53]===n?ce=t[54]:(ce=e=>{let t=n.current;t&&t.connected&&t.queue.remove(e)},t[53]=n,t[54]=ce);let le=ce,ue;t[55]!==se||t[56]!==n||t[57]!==r||t[58]!==l||t[59]!==c?(ue=(e,t)=>{let i=n.current;!r||l||(r.runningAt||c.has(r.id)?se(r.id,e,t):i&&i.connected&&i.chat.send(r.id,e,t?{attachments:t}:void 0))},t[55]=se,t[56]=n,t[57]=r,t[58]=l,t[59]=c,t[60]=ue):ue=t[60];let de=ue,K;t[61]!==n||t[62]!==h||t[63]!==g?(K=(e,t,r)=>{let i=n.current;r?g(r,e):h(e),i&&i.connected&&i.send({type:`ask.response`,toolCallId:e,response:t,requestId:r})},t[61]=n,t[62]=h,t[63]=g,t[64]=K):K=t[64];let fe=K,pe;t[65]!==n||t[66]!==r?(pe=()=>{let e=n.current;e&&e.connected&&r&&e.sessions.interrupt(r.id)},t[65]=n,t[66]=r,t[67]=pe):pe=t[67];let me=pe,he;t[68]!==o||t[69]!==n?(he=()=>{let e=n.current;e&&e.connected&&o&&e.permissions.list(o.id)},t[68]=o,t[69]=n,t[70]=he):he=t[70];let ge=he,q;t[71]!==n||t[72]!==y||t[73]!==b||t[74]!==v||t[75]!==u||t[76]!==d||t[77]!==f||t[78]!==a?(q=e=>{var t;let r=n.current;d(a.find(t=>t.id===e)||null),v.current=!0,y.current!==null&&(cancelAnimationFrame(y.current),y.current=null),b.current.clear();let i=(t=u[0])==null?void 0:t.id;r&&r.connected&&r.sessions.create({preconfigId:i,workspaceId:e}),f(!1)},t[71]=n,t[72]=y,t[73]=b,t[74]=v,t[75]=u,t[76]=d,t[77]=f,t[78]=a,t[79]=q):q=t[79];let _e=q,J;t[80]===n?J=t[81]:(J=e=>{let t=n.current;t&&t.connected&&t.permissions.revoke(e)},t[80]=n,t[81]=J);let ve=J,ye;t[82]===n?ye=t[83]:(ye=e=>{let t=n.current;t&&t.connected&&t.permissions.revokeAll(e)},t[82]=n,t[83]=ye);let be=ye,Y;t[84]===n?Y=t[85]:(Y=e=>{let t=n.current;t&&t.connected&&t.control.claim(e)},t[84]=n,t[85]=Y);let X=Y,xe;t[86]===n?xe=t[87]:(xe=e=>{let t=n.current;t&&t.connected&&t.control.release(e)},t[86]=n,t[87]=xe);let Se=xe,Ce;t[88]===n?Ce=t[89]:(Ce=e=>{let t=n.current;t&&t.connected&&t.control.requestTakeover(e)},t[88]=n,t[89]=Ce);let we=Ce,Te;t[90]===n?Te=t[91]:(Te=(e,t,r)=>{let i=n.current;i&&i.connected&&i.control.respondTakeover(e,t,r)},t[90]=n,t[91]=Te);let Ee=Te,De;return t[92]!==se||t[93]!==X||t[94]!==A||t[95]!==I||t[96]!==E||t[97]!==_e||t[98]!==P||t[99]!==fe||t[100]!==me||t[101]!==ae||t[102]!==W||t[103]!==B||t[104]!==ge||t[105]!==Se||t[106]!==le||t[107]!==R||t[108]!==we||t[109]!==Ee||t[110]!==O||t[111]!==M||t[112]!==be||t[113]!==ve||t[114]!==de||t[115]!==ee||t[116]!==H||t[117]!==ne?(De={createSession:E,resumeSession:O,closeSession:A,reopenSession:R,permanentlyDeleteSession:B,handleRenameSession:W,revertSession:M,forkSession:P,compactSession:I,addToQueue:se,removeFromQueue:le,sendChatMessage:de,handleAskResponse:fe,handleInterruptSession:me,updateSessionPreconfig:H,updateSessionModel:ee,updateSessionVariant:ne,handleNavigateBack:ae,refreshPermissions:ge,createSessionInWorkspace:_e,revokePermission:ve,revokeAllPermissions:be,claimControl:X,releaseControl:Se,requestTakeover:we,respondTakeover:Ee},t[92]=se,t[93]=X,t[94]=A,t[95]=I,t[96]=E,t[97]=_e,t[98]=P,t[99]=fe,t[100]=me,t[101]=ae,t[102]=W,t[103]=B,t[104]=ge,t[105]=Se,t[106]=le,t[107]=R,t[108]=we,t[109]=Ee,t[110]=O,t[111]=M,t[112]=be,t[113]=ve,t[114]=de,t[115]=ee,t[116]=H,t[117]=ne,t[118]=De):De=t[118],De}var Tr={chatFinish:``+new URL(`chat-finish-Kb8mnIhV.mp3`,import.meta.url).href,chatPermission:``+new URL(`chat-permission-BltPnMpz.mp3`,import.meta.url).href};function Er(){let e=(0,Z.useRef)(null),t=(0,Z.useRef)({}),n=(0,Z.useRef)(!1),r=(0,Z.useRef)(null),i=(0,Z.useRef)(0),a=(0,Z.useCallback)(async()=>{let n=e.current;return(!n||n.state===`closed`)&&(n=new AudioContext,e.current=n,t.current={}),n.state===`suspended`&&await n.resume(),n},[]),o=(0,Z.useCallback)(async(e,n)=>{if(t.current[e]){var r;return(r=t.current[e])==null?null:r}try{let r=await fetch(Tr[e]);if(!r.ok)throw Error(`HTTP ${r.status}`);let i=await r.arrayBuffer(),a=await n.decodeAudioData(i);return t.current[e]=a,a}catch(t){return console.warn(`[useNotificationSound] Failed to load`,e,t),null}},[]),s=(0,Z.useCallback)((e,t)=>{try{let n=t.createBufferSource();n.buffer=e,n.connect(t.destination),n.start(0)}catch(e){console.warn(`[useNotificationSound] Playback error`,e)}},[]),c=(0,Z.useCallback)(async()=>{if(n.current)return;let e=await a();if(e.state!==`running`)return;let t=r.current;if(r.current=null,t){let n=await o(t,e);n&&s(n,e)}n.current=!0},[a,o,s]),l=(0,Z.useCallback)(()=>{let e=()=>{document.removeEventListener(`click`,e),document.removeEventListener(`keydown`,e),document.removeEventListener(`touchstart`,e),c()};document.addEventListener(`click`,e),document.addEventListener(`keydown`,e),document.addEventListener(`touchstart`,e)},[c]),u=(0,Z.useCallback)(async e=>{if(n.current){let t=await a();if(t.state!==`running`)return;let n=await o(e,t);n&&s(n,t);return}r.current=e,l()},[a,o,s,l]),d=(0,Z.useCallback)(async e=>{if(f()){let n=Date.now();if(n>i.current)try{var t;await((t=window.__JEAN2_ELECTRON__)==null?void 0:t.playSound(e)),i.current=n+1e3;return}catch(e){console.warn(`[useNotificationSound] Electron native playback failed, falling back to Web Audio`,e)}await u(e);return}if(p()){let t=Date.now();if(t>i.current)try{let{invoke:t}=await g(async()=>{let{invoke:e}=await import(`./core-B5tm5Pq5.js`);return{invoke:e}},[],import.meta.url);await t(`play_sound`,{soundKey:e});return}catch(n){let r=n instanceof Error?n.message:String(n);console.warn(`[useNotificationSound] Native playback failed for ${e}, error: ${r}`),i.current=t+1e3}await u(e);return}await u(e)},[u]),m=(0,Z.useCallback)(()=>{d(`chatFinish`)},[d]),h=(0,Z.useCallback)(()=>{d(`chatPermission`)},[d]);return(0,Z.useEffect)(()=>()=>{let t=e.current;t&&t.state!==`closed`&&t.close(),e.current=null},[]),{playChatFinishSound:m,playPermissionSound:h,playSound:d}}var Dr=[`none`,`low`,`medium`,`high`,`critical`];function Or(e,t){return Dr.indexOf(e)<=Dr.indexOf(t)}function kr(){return e=>{var t;let n=e.ask;if(!(`target`in n&&n.target===`permission`||n.type===`permission`))return;let r=ge.getState().getAutoApproveMaxSeverity(e.sessionId);if(r===`off`)return;let i=r==null?`low`:r,a=`risk`in n?n.risk:void 0;if(!(!a||!Or(a,i)))return{type:`permission`,grant:(`allowedScopes`in n?(t=n.allowedScopes)==null?[`once`,`session`,`workspace`]:t:[`once`,`session`,`workspace`]).includes(`session`)?`session`:`once`}}}function Ar(){let e=(0,Q.c)(1),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=[],e[0]=t):t=e[0],(0,Z.useEffect)(jr,t)}function jr(){let e=kr();return H.getState().registerHandler(`permission`,e),()=>{H.getState().unregisterHandler(`permission`,e)}}function Mr({serverId:e,activeServer:t,navigate:n,removeFromQuickConnectionsByWorkspace:r,quickConnections:i}){var a,o,s;let c=(0,Z.useRef)(null),l=(0,Z.useRef)(null),d=(0,Z.useRef)([]),f=(0,Z.useRef)({}),p=(0,Z.useRef)(new Map),m=(0,Z.useRef)(0),h=(0,Z.useRef)(new Set),g=(0,Z.useRef)(new Map),_=(0,Z.useRef)(new Map),y=(0,Z.useRef)(null),b=(0,Z.useRef)(0),S=(0,Z.useRef)(null),C=(0,Z.useRef)(new Set),w=(0,Z.useRef)(!1),T=(0,Z.useRef)(null),{sessions:E,setSessions:D}=W(fn(e=>({sessions:e.sessions,setSessions:e.setSessions}))),{setCurrentSession:O}=W(fn(e=>({setCurrentSession:e.setCurrentSession}))),{setMessagesBySession:k,setPartsBySession:A}=W(fn(e=>({setMessagesBySession:e.setMessagesBySession,setPartsBySession:e.setPartsBySession}))),j=u({from:`/server/$serverId`,strict:!1}),M=j==null?void 0:j.sessionId,N=v({select:e=>e.location.pathname}).includes(`/overview`)?`/overview`:`/workspace`,P=(0,Z.useMemo)(()=>{var e;return M?(e=E.find(e=>e.id===M))==null?null:e:null},[M,E]),F=M!=null&&P==null;(0,Z.useEffect)(()=>{let e=W.getState().currentSession;(P==null?void 0:P.id)!==(e==null?void 0:e.id)&&O(P)},[P,O]);let I=P==null?void 0:P.id,L=W(fn(e=>I&&e.messagesBySession[I]||[])),R=W(fn(e=>I&&e.partsBySession[I]||{}));(0,Z.useLayoutEffect)(()=>{f.current=W.getState().messagesBySession});let{streamingSessionIds:z,interruptedSessions:B,addStreamingSession:V,removeStreamingSession:U,addInterruptedSession:ee,removeInterruptedSession:te}=G(fn(e=>({streamingSessionIds:e.streamingSessionIds,interruptedSessions:e.interruptedSessions,addStreamingSession:e.addStreamingSession,removeStreamingSession:e.removeStreamingSession,addInterruptedSession:e.addInterruptedSession,removeInterruptedSession:e.removeInterruptedSession}))),{sessionUsage:ne,currentModel:re,selectedVariant:ie,setSessionUsage:ae,setCurrentModel:oe,setSelectedVariant:se}=W(fn(e=>({sessionUsage:e.sessionUsage,currentModel:e.currentModel,selectedVariant:e.selectedVariant,setSessionUsage:e.setSessionUsage,setCurrentModel:e.setCurrentModel,setSelectedVariant:e.setSelectedVariant}))),{workspaces:ce,preconfigs:le,prompts:ue,models:de,defaultModel:fe}=K(fn(e=>({workspaces:e.workspaces,preconfigs:e.preconfigs,prompts:e.prompts,models:e.models,defaultModel:e.defaultModel}))),pe=K(e=>e.activeWorkspace),me=de,he=fe;(0,Z.useEffect)(()=>{var e;let t=(e=me.find(e=>e.id===re))==null?void 0:e.variants;ie&&t&&!t[ie]&&se(null)},[re,ie,me,se]);let{setCompletion:q,clearCompletion:_e,clearAllCompletions:J}=Dt(fn(e=>({setCompletion:e.setCompletion,clearCompletion:e.clearCompletion,clearAllCompletions:e.clearAllCompletions}))),{chatFinishSoundEnabled:ve,permissionSoundEnabled:ye}=ge(fn(e=>({chatFinishSoundEnabled:e.chatFinishSoundEnabled,permissionSoundEnabled:e.permissionSoundEnabled}))),be=(0,Z.useRef)(ye);(0,Z.useLayoutEffect)(()=>{be.current=ye},[ye]);let Y=(0,Z.useRef)(ve);(0,Z.useLayoutEffect)(()=>{Y.current=ve},[ve]);let[X,xe]=(0,Z.useState)([]),[Se,Ce]=(0,Z.useState)([]),{pendingRequests:we,addPendingRequest:Te,removePendingRequest:Ee,removePendingPermissionRequest:De,replacePendingPermissionRequests:Oe,clearPendingRequests:ke,clearPendingRequestsBySessionId:Ae}=H(fn(e=>({pendingRequests:e.pendingRequests,addPendingRequest:e.addPendingRequest,removePendingRequest:e.removePendingRequest,removePendingPermissionRequest:e.removePendingPermissionRequest,replacePendingPermissionRequests:e.replacePendingPermissionRequests,clearPendingRequests:e.clearPendingRequests,clearPendingRequestsBySessionId:e.clearPendingRequestsBySessionId}))),{queuedMessages:je,clearQueuedMessages:Me,setQueuedMessagesForSession:Ne,addQueuedMessage:Pe,removeQueuedMessageById:Fe}=W(fn(e=>({queuedMessages:e.queuedMessages,clearQueuedMessages:e.clearQueuedMessages,setQueuedMessagesForSession:e.setQueuedMessagesForSession,addQueuedMessage:e.addQueuedMessage,removeQueuedMessageById:e.removeQueuedMessageById}))),Ie=G(e=>e.authError),Le=G(e=>e.connectionTimedOut),Re=G(e=>e.retryCount),ze=G(e=>e.nextRetryIn),Be=G(e=>e.connected),Ve=(a=P==null?void 0:P.compacting)==null?!1:a,{compactionSuccess:He,setCompactionSuccess:Ue}=W(fn(e=>({compactionSuccess:e.compactionSuccess,setCompactionSuccess:e.setCompactionSuccess}))),{playChatFinishSound:We,playPermissionSound:Ge}=Er();Ar();let Ke=(0,Z.useCallback)(()=>{if(y.current!==null&&(cancelAnimationFrame(y.current),y.current=null),S.current!==null&&(clearTimeout(S.current),S.current=null),_.current.size===0)return;let e=new Map(_.current);_.current.clear(),b.current=Date.now(),A(t=>{let n={...t},r=!1;for(let[t,i]of e){let e=g.current.get(t);if(!e)continue;let a=n[e.sessionId];if(!a)continue;let o=a[e.messageId];if(!o)continue;let s=o[e.index];if(!s||s.type!==`text`&&s.type!==`reasoning`)continue;r=!0;let c=[...o];c[e.index]={...s,text:s.text+i},n[e.sessionId]={...a,[e.messageId]:c}}return r?n:t})},[A]);(0,Z.useLayoutEffect)(()=>{let e=W.getState().getMessagesBySessionKeysCount();if(e<=m.current){m.current=e;return}if(m.current=e,e<=1)return;let t=f.current,n=Object.keys(t);for(;n.length>1;){let e=null,t=1/0;for(let r of n){if(r===(P==null?void 0:P.id))continue;let n=p.current.get(r);n!==void 0&&n<t&&(t=n,e=r)}if(!e)break;p.current.delete(e);for(let[t,n]of g.current)n.sessionId===e&&g.current.delete(t);n.splice(n.indexOf(e),1),k(t=>{if(!(e in t))return t;let n={...t};return delete n[e],n}),A(t=>{if(!(e in t))return t;let n={...t};return delete n[e],n})}},[P,k,A]);let qe=(o=t==null?void 0:t.token)==null?null:o,Je=(s=t==null?void 0:t.url)==null?null:s,Ye=c.current;(0,Z.useLayoutEffect)(()=>{var e;l.current=(e=P==null?void 0:P.id)==null?null:e},[P]);let Xe=(0,Z.useRef)(new Set);(0,Z.useEffect)(()=>{if(M&&P&&Be&&c.current&&!Xe.current.has(M)){var e;I&&(e=W.getState().messagesBySession[I])!=null&&e.length||(Xe.current.add(M),c.current.sessions.resume(M))}},[M,P,Be,I]),(0,Z.useEffect)(()=>{h.current.clear()},[P==null?void 0:P.id]),(0,Z.useLayoutEffect)(()=>{d.current=E},[E]);let Ze=(0,Z.useCallback)(e=>e===I?L.map(e=>({message:e,parts:(R[e.id]||[]).sort((e,t)=>e.createdAt-t.createdAt)})):[],[I,L,R]),{removeServer:Qe}=x(),$e=(0,Z.useCallback)(()=>{var e;t&&(Qe(t.id),n({to:`/`})),(e=c.current)==null||e.dispose(),G.getState().resetConnection()},[t,Qe,n,c]),{retry:et}=pr({apiToken:qe,serverUrl:Je,currentSessionIdRef:l,handlerContextRef:T,handleLogout:$e,clientRef:c}),tt=(0,Z.useCallback)(()=>{et()},[et]),nt=async(t,r,i)=>{var a;let o=(a=c.current)==null?void 0:a.httpClient;if(!o)return;let s=(await o.post(`/workspaces`,{name:t,path:r,isVirtual:i})).workspace;return K.getState().setWorkspaces([...K.getState().workspaces,s]),K.getState().setActiveWorkspace(s),localStorage.setItem(`activeWorkspaceId`,s.id),O(null),n({to:`/server/$serverId/workspace`,params:{serverId:e}}),s},rt=(0,Z.useCallback)(t=>{K.getState().setActiveWorkspace(t),localStorage.setItem(`activeWorkspaceId`,t.id),O(null),n({to:`/server/$serverId/workspace`,params:{serverId:e}})},[O,n,e]),it=async t=>{var i;let a=(i=c.current)==null?void 0:i.httpClient;if(!a)return;let o=[];try{o=(await a.delete(`/workspaces/${t}`)).deletedSessions}catch(e){let t=e instanceof Error?e.message:String(e);console.error(`Failed to delete workspace:`,t);return}r(t),P&&(P.workspaceId===t||o.includes(P.id))&&(O(null),n({to:`/server/$serverId/workspace`,params:{serverId:e}})),D(e=>e.filter(e=>!o.includes(e.id))),k(e=>{let t={...e};return o.forEach(e=>delete t[e]),t}),A(e=>{let t={...e};return o.forEach(e=>delete t[e]),t}),o.forEach(e=>p.current.delete(e));for(let[e,t]of g.current)o.includes(t.sessionId)&&g.current.delete(e);let s=K.getState().workspaces;K.getState().setWorkspaces(s.filter(e=>e.id!==t));let l=K.getState().activeWorkspace;if((l==null?void 0:l.id)===t){let e=s.filter(e=>e.id!==t)[0]||null;K.getState().setActiveWorkspace(e),e?localStorage.setItem(`activeWorkspaceId`,e.id):localStorage.removeItem(`activeWorkspaceId`)}},at=async(e,t)=>{var n;let r=(n=c.current)==null?void 0:n.httpClient;if(r)try{var i;let n=(await r.patch(`/workspaces/${e}`,{name:t})).workspace,a=K.getState().workspaces;K.getState().setWorkspaces(a.map(t=>t.id===e?n:t)),((i=K.getState().activeWorkspace)==null?void 0:i.id)===e&&K.getState().setActiveWorkspace(n)}catch(e){let t=e instanceof Error?e.message:String(e);console.error(`Failed to rename workspace:`,t);return}},ot=async()=>{await nt(`Workspace ${ce.length+1}`,`~/.jean2/workspaces/${crypto.randomUUID()}`,!0)},st=async e=>{await nt(e.split(`/`).pop()||e.split(`\\`).pop()||`Workspace`,e,!1)};(0,Z.useLayoutEffect)(()=>{T.current={setSessions:D,setCurrentSession:O,setMessagesBySession:k,setPartsBySession:A,setSessionUsage:ae,setCurrentModel:oe,setSelectedVariant:se,addStreamingSession:V,removeStreamingSession:U,addInterruptedSession:ee,removeInterruptedSession:te,setQueuedMessagesForSession:Ne,addQueuedMessage:Pe,removeQueuedMessageById:Fe,clearQueuedMessages:Me,setCompactionSuccess:Ue,setCompletion:q,clearCompletion:_e,clearAllCompletions:J,pendingSessionCreateRef:w,sessionAccessTimesRef:p,partIdIndexRef:g,partAppendRafRef:y,pendingPartAppendsRef:_,lastPartAppendFlushAtRef:b,partAppendTimeoutRef:S,skipFinishSoundSessionIdsRef:C,currentSessionIdRef:l,models:K.getState().models,defaultModel:K.getState().defaultModel,interruptedSessions:B,sessionsRef:d,flushPendingPartAppends:Ke,setProviderStatuses:Ce,setPermissions:xe,notifiedToolCallIdsRef:h,permissionSoundEnabledRef:be,playPermissionSound:Ge,chatFinishSoundEnabledRef:Y,playChatFinishSound:We,navigateToSession:t=>{n({to:`/server/$serverId${N}/session/$sessionId`,params:{serverId:e,sessionId:t}})},navigateToParent:()=>{n({to:`/server/$serverId${N}`,params:{serverId:e}})},serverId:e,addPendingAskRequest:Te,removePendingAskRequest:Ee,removePendingPermissionRequest:De,replacePendingPermissionRequests:Oe,clearPendingAskRequests:ke,clearPendingAskRequestsBySessionId:Ae,runAskHandlers:(e,t)=>{let n=H.getState().getHandlers(e);if(n.length!==0)return(async()=>{for(let e of n)try{let n=await e(t);if(n!==void 0)return n}catch{continue}})()},sendAskResponse:(e,t,n)=>{let r=c.current;n?De(n,e):Ee(e),r&&r.connected&&r.send({type:`ask.response`,toolCallId:e,response:t,requestId:n})},resumeSessionAfterCreate:e=>{let t=c.current;t&&t.connected&&t.sessions.resume(e)}}});let ct=le.filter(e=>e.mode!==`subagent`),{createSession:lt,resumeSession:ut,closeSession:dt,reopenSession:ft,permanentlyDeleteSession:pt,handleRenameSession:mt,revertSession:ht,forkSession:gt,compactSession:_t,removeFromQueue:vt,sendChatMessage:yt,handleAskResponse:bt,handleInterruptSession:xt,updateSessionPreconfig:St,updateSessionModel:Ct,updateSessionVariant:wt,handleNavigateBack:Tt,refreshPermissions:Et,createSessionInWorkspace:Ot,revokePermission:kt,revokeAllPermissions:At,claimControl:jt,releaseControl:Mt,requestTakeover:Nt,respondTakeover:Pt}=wr({clientRef:c,currentSession:P,sessions:E,workspaces:ce,activeWorkspace:pe,currentModel:re,streamingSessionIds:z,isCompacting:Ve,primaryPreconfigs:ct,setActiveWorkspace:e=>K.getState().setActiveWorkspace(e),setCompactionSuccess:Ue,setCurrentModel:oe,setSelectedVariant:se,removePendingAskRequest:Ee,removePendingPermissionRequest:De,clearPendingAskRequestsBySessionId:Ae,clearStreamingSessions:G.getState().clearStreamingSessions,pendingSessionCreateRef:w,partAppendRafRef:y,pendingPartAppendsRef:_,skipFinishSoundSessionIdsRef:C,navigate:n,serverId:e,viewPath:N}),Ft=E.filter(e=>e.workspaceId===(pe==null?void 0:pe.id)),It=i.filter(e=>e.serverId===(t==null?void 0:t.id)&&e.workspaceId).map(e=>e.workspaceId);return{connected:Be,authError:Ie,connectionTimedOut:Le,retryCount:Re,nextRetryIn:ze,serverUrl:Je,apiToken:qe,sdkClient:Ye,currentSession:P,sessions:E,workspaceSessions:Ft,messagesWithParts:P?Ze(P.id):[],pendingAskRequests:we,queuedMessages:je,sessionUsage:ne,currentModel:re,selectedVariant:ie,isCompacting:Ve,compactionSuccess:He,isPrimarySession:!(P!=null&&P.parentId),isSessionLoading:F,workspaces:ce,activeWorkspace:pe,preconfigs:le,primaryPreconfigs:ct,prompts:ue,models:me,defaultModel:he,streamingSessionIds:z,createSession:lt,resumeSession:ut,closeSession:dt,reopenSession:ft,permanentlyDeleteSession:pt,handleRenameSession:mt,revertSession:ht,forkSession:gt,compactSession:_t,removeFromQueue:vt,sendChatMessage:yt,handleAskResponse:bt,handleInterruptSession:xt,updateSessionPreconfig:St,updateSessionModel:Ct,updateSessionVariant:wt,handleNavigateBack:Tt,refreshPermissions:Et,createSessionInWorkspace:Ot,revokePermission:kt,revokeAllPermissions:At,claimControl:jt,releaseControl:Mt,requestTakeover:Nt,respondTakeover:Pt,selectWorkspace:rt,renameWorkspace:at,handleCreateVirtualWorkspace:ot,handleCreatePhysicalWorkspace:st,deleteWorkspace:it,handleLogout:$e,handleRetry:tt,favoritedWorkspaceIds:It,setCompactionSuccess:Ue,permissions:X}}var Nr=`Label`,Pr=Z.forwardRef((e,t)=>(0,$.jsx)(C.label,{...e,ref:t,onMouseDown:t=>{var n;t.target.closest(`button, input, select, textarea`)||((n=e.onMouseDown)==null||n.call(e,t),!t.defaultPrevented&&t.detail>1&&t.preventDefault())}}));Pr.displayName=Nr;var Fr=Pr,Ir=`Progress`,Lr=100,[Rr,zr]=k(Ir),[Br,Vr]=Rr(Ir),Hr=Z.forwardRef((e,t)=>{let{__scopeProgress:n,value:r=null,max:i,getValueLabel:a=Gr,...o}=e;(i||i===0)&&!Jr(i)&&console.error(Xr(`${i}`,`Progress`));let s=Jr(i)?i:Lr;r!==null&&!Yr(r,s)&&console.error(Zr(`${r}`,`Progress`));let c=Yr(r,s)?r:null,l=qr(c)?a(c,s):void 0;return(0,$.jsx)(Br,{scope:n,value:c,max:s,children:(0,$.jsx)(C.div,{"aria-valuemax":s,"aria-valuemin":0,"aria-valuenow":qr(c)?c:void 0,"aria-valuetext":l,role:`progressbar`,"data-state":Kr(c,s),"data-value":c==null?void 0:c,"data-max":s,...o,ref:t})})});Hr.displayName=Ir;var Ur=`ProgressIndicator`,Wr=Z.forwardRef((e,t)=>{var n;let{__scopeProgress:r,...i}=e,a=Vr(Ur,r);return(0,$.jsx)(C.div,{"data-state":Kr(a.value,a.max),"data-value":(n=a.value)==null?void 0:n,"data-max":a.max,...i,ref:t})});Wr.displayName=Ur;function Gr(e,t){return`${Math.round(e/t*100)}%`}function Kr(e,t){return e==null?`indeterminate`:e===t?`complete`:`loading`}function qr(e){return typeof e==`number`}function Jr(e){return qr(e)&&!isNaN(e)&&e>0}function Yr(e,t){return qr(e)&&!isNaN(e)&&e<=t&&e>=0}function Xr(e,t){return`Invalid prop \`max\` of value \`${e}\` supplied to \`${t}\`. Only numbers greater than 0 are valid max values. Defaulting to \`${Lr}\`.`}function Zr(e,t){return`Invalid prop \`value\` of value \`${e}\` supplied to \`${t}\`. The \`value\` prop must be:
3
+ - a positive number
4
+ - less than the value passed to \`max\` (or ${Lr} if no \`max\` prop is set)
5
+ - \`null\` or \`undefined\` if the progress is indeterminate.
6
+
7
+ Defaulting to \`null\`.`}var Qr=Hr,$r=Wr,ei=`Switch`,[ti,ni]=k(ei),[ri,ii]=ti(ei),ai=Z.forwardRef((e,t)=>{let{__scopeSwitch:n,name:r,checked:i,defaultChecked:a,required:o,disabled:s,value:c=`on`,onCheckedChange:l,form:u,...d}=e,[f,p]=Z.useState(null),m=me(t,e=>p(e)),h=Z.useRef(!1),g=f?u||!!f.closest(`form`):!0,[_,v]=P({prop:i,defaultProp:a==null?!1:a,onChange:l,caller:ei});return(0,$.jsxs)(ri,{scope:n,checked:_,disabled:s,children:[(0,$.jsx)(C.button,{type:`button`,role:`switch`,"aria-checked":_,"aria-required":o,"data-state":ui(_),"data-disabled":s?``:void 0,disabled:s,value:c,...d,ref:m,onClick:F(e.onClick,e=>{v(e=>!e),g&&(h.current=e.isPropagationStopped(),h.current||e.stopPropagation())})}),g&&(0,$.jsx)(li,{control:f,bubbles:!h.current,name:r,value:c,checked:_,required:o,disabled:s,form:u,style:{transform:`translateX(-100%)`}})]})});ai.displayName=ei;var oi=`SwitchThumb`,si=Z.forwardRef((e,t)=>{let{__scopeSwitch:n,...r}=e,i=ii(oi,n);return(0,$.jsx)(C.span,{"data-state":ui(i.checked),"data-disabled":i.disabled?``:void 0,...r,ref:t})});si.displayName=oi;var ci=`SwitchBubbleInput`,li=Z.forwardRef(({__scopeSwitch:e,control:t,checked:n,bubbles:r=!0,...i},a)=>{let o=Z.useRef(null),s=me(o,a),c=Be(n),l=oe(t);return Z.useEffect(()=>{let e=o.current;if(!e)return;let t=window.HTMLInputElement.prototype,i=Object.getOwnPropertyDescriptor(t,`checked`).set;if(c!==n&&i){let t=new Event(`click`,{bubbles:r});i.call(e,n),e.dispatchEvent(t)}},[c,n,r]),(0,$.jsx)(`input`,{type:`checkbox`,"aria-hidden":!0,defaultChecked:n,...i,tabIndex:-1,ref:s,style:{...i.style,...l,position:`absolute`,pointerEvents:`none`,opacity:0,margin:0}})});li.displayName=ci;function ui(e){return e?`checked`:`unchecked`}var di=ai,fi=si,pi=`Tabs`,[mi,hi]=k(pi,[M]),gi=M(),[_i,vi]=mi(pi),yi=Z.forwardRef((e,t)=>{let{__scopeTabs:n,value:r,onValueChange:i,defaultValue:a,orientation:o=`horizontal`,dir:s,activationMode:c=`automatic`,...l}=e,u=O(s),[d,f]=P({prop:r,onChange:i,defaultProp:a==null?``:a,caller:pi});return(0,$.jsx)(_i,{scope:n,baseId:fe(),value:d,onValueChange:f,orientation:o,dir:u,activationMode:c,children:(0,$.jsx)(C.div,{dir:u,"data-orientation":o,...l,ref:t})})});yi.displayName=pi;var bi=`TabsList`,xi=Z.forwardRef((e,t)=>{let{__scopeTabs:n,loop:r=!0,...i}=e,a=vi(bi,n),o=gi(n);return(0,$.jsx)(ye,{asChild:!0,...o,orientation:a.orientation,dir:a.dir,loop:r,children:(0,$.jsx)(C.div,{role:`tablist`,"aria-orientation":a.orientation,...i,ref:t})})});xi.displayName=bi;var Si=`TabsTrigger`,Ci=Z.forwardRef((e,t)=>{let{__scopeTabs:n,value:r,disabled:i=!1,...a}=e,o=vi(Si,n),s=gi(n),c=Ei(o.baseId,r),l=Di(o.baseId,r),u=r===o.value;return(0,$.jsx)(w,{asChild:!0,...s,focusable:!i,active:u,children:(0,$.jsx)(C.button,{type:`button`,role:`tab`,"aria-selected":u,"aria-controls":l,"data-state":u?`active`:`inactive`,"data-disabled":i?``:void 0,disabled:i,id:c,...a,ref:t,onMouseDown:F(e.onMouseDown,e=>{!i&&e.button===0&&e.ctrlKey===!1?o.onValueChange(r):e.preventDefault()}),onKeyDown:F(e.onKeyDown,e=>{[` `,`Enter`].includes(e.key)&&o.onValueChange(r)}),onFocus:F(e.onFocus,()=>{let e=o.activationMode!==`manual`;!u&&!i&&e&&o.onValueChange(r)})})})});Ci.displayName=Si;var wi=`TabsContent`,Ti=Z.forwardRef((e,t)=>{let{__scopeTabs:n,value:r,forceMount:i,children:a,...o}=e,s=vi(wi,n),c=Ei(s.baseId,r),l=Di(s.baseId,r),u=r===s.value,d=Z.useRef(u);return Z.useEffect(()=>{let e=requestAnimationFrame(()=>d.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,$.jsx)(D,{present:i||u,children:({present:n})=>(0,$.jsx)(C.div,{"data-state":u?`active`:`inactive`,"data-orientation":s.orientation,role:`tabpanel`,"aria-labelledby":c,hidden:!n,id:l,tabIndex:0,...o,ref:t,style:{...e.style,animationDuration:d.current?`0s`:void 0},children:n&&a})})});Ti.displayName=wi;function Ei(e,t){return`${e}-trigger-${t}`}function Di(e,t){return`${e}-content-${t}`}var Oi=yi,ki=xi,Ai=Ci,ji=Ti;function Mi(e){var t;let n=(0,Q.c)(71),{compact:r,onOpenAddServer:i}=e,[a,o]=(0,Z.useState)(!1),s=_(),{servers:c}=x(),l;n[0]===Symbol.for(`react.memo_cache_sentinel`)?(l={from:`/server/$serverId`},n[0]=l):l=n[0];let d=(t=u(l).serverId)==null?null:t,f;n[1]===s?f=n[2]:(f=e=>{s({to:`/server/$serverId`,params:{serverId:e}}),o(!1)},n[1]=s,n[2]=f);let p=f;if(r){let e;n[3]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(At,{className:`size-4 flex-shrink-0 text-muted-foreground`}),n[3]=e):e=n[3];let t;if(n[4]!==d||n[5]!==c){var m;t=((m=c.find(e=>e.id===d))==null?void 0:m.name)||`Select server`,n[4]=d,n[5]=c,n[6]=t}else t=n[6];let r;n[7]===t?r=n[8]:(r=(0,$.jsx)(`span`,{className:`truncate`,children:t}),n[7]=t,n[8]=r);let s;n[9]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,$.jsx)(lt,{className:`size-3 shrink-0 opacity-50`}),n[9]=s):s=n[9];let l;n[10]!==a||n[11]!==r?(l=(0,$.jsx)(et,{asChild:!0,children:(0,$.jsxs)(X,{variant:`ghost`,size:`sm`,role:`combobox`,"aria-expanded":a,"aria-label":`Select server`,className:`gap-1.5 px-2 h-8 font-semibold hover:bg-accent`,children:[e,r,s]})}),n[10]=a,n[11]=r,n[12]=l):l=n[12];let u;n[13]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,$.jsx)(Ye,{placeholder:`Search server...`}),n[13]=u):u=n[13];let f;n[14]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,$.jsx)(nt,{children:`No server found.`}),n[14]=f):f=n[14];let h;if(n[15]!==d||n[16]!==p||n[17]!==c){let e;n[19]!==d||n[20]!==p?(e=e=>(0,$.jsxs)(tt,{onSelect:()=>p(e.id),className:`justify-between`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(At,{className:`size-4 text-muted-foreground`}),(0,$.jsx)(`span`,{children:e.name})]}),(0,$.jsx)(E,{className:z(`size-4`,d===e.id?`opacity-100`:`opacity-0`)})]},e.id),n[19]=d,n[20]=p,n[21]=e):e=n[21],h=c.map(e),n[15]=d,n[16]=p,n[17]=c,n[18]=h}else h=n[18];let g;n[22]===h?g=n[23]:(g=(0,$.jsx)(at,{heading:`Servers`,children:h}),n[22]=h,n[23]=g);let _;n[24]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,$.jsx)(Xe,{}),n[24]=_):_=n[24];let v;n[25]===i?v=n[26]:(v=()=>{i(),o(!1)},n[25]=i,n[26]=v);let y;n[27]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,$.jsx)(B,{className:`size-4`,"data-icon":`inline-start`}),n[27]=y):y=n[27];let b;n[28]===v?b=n[29]:(b=(0,$.jsx)(at,{children:(0,$.jsxs)(tt,{onSelect:v,children:[y,`Add Server...`]})}),n[28]=v,n[29]=b);let x;n[30]!==g||n[31]!==b?(x=(0,$.jsx)(it,{className:`w-[240px] p-0 max-h-[80vh]`,children:(0,$.jsxs)(Je,{children:[u,(0,$.jsxs)(st,{className:`max-h-[50vh] overflow-y-auto`,children:[f,g,_,b]})]})}),n[30]=g,n[31]=b,n[32]=x):x=n[32];let S;return n[33]!==a||n[34]!==x||n[35]!==l?(S=(0,$.jsxs)(ot,{open:a,onOpenChange:o,children:[l,x]}),n[33]=a,n[34]=x,n[35]=l,n[36]=S):S=n[36],S}let h;n[37]===Symbol.for(`react.memo_cache_sentinel`)?(h=(0,$.jsx)(At,{className:`size-4 flex-shrink-0 text-muted-foreground`}),n[37]=h):h=n[37];let g;if(n[38]!==d||n[39]!==c){var v;g=((v=c.find(e=>e.id===d))==null?void 0:v.name)||`Select server`,n[38]=d,n[39]=c,n[40]=g}else g=n[40];let y;n[41]===g?y=n[42]:(y=(0,$.jsxs)(`div`,{className:`flex items-center gap-2 overflow-hidden`,children:[h,(0,$.jsx)(`span`,{className:`truncate`,children:g})]}),n[41]=g,n[42]=y);let b;n[43]===Symbol.for(`react.memo_cache_sentinel`)?(b=(0,$.jsx)(lt,{className:`ml-auto size-4 shrink-0 opacity-50`}),n[43]=b):b=n[43];let S;n[44]!==a||n[45]!==y?(S=(0,$.jsx)(et,{asChild:!0,children:(0,$.jsxs)(X,{variant:`outline`,role:`combobox`,"aria-expanded":a,"aria-label":`Select server`,className:`w-full justify-between h-9`,children:[y,b]})}),n[44]=a,n[45]=y,n[46]=S):S=n[46];let C;n[47]===Symbol.for(`react.memo_cache_sentinel`)?(C=(0,$.jsx)(Ye,{placeholder:`Search server...`}),n[47]=C):C=n[47];let w;n[48]===Symbol.for(`react.memo_cache_sentinel`)?(w=(0,$.jsx)(nt,{children:`No server found.`}),n[48]=w):w=n[48];let T;if(n[49]!==d||n[50]!==p||n[51]!==c){let e;n[53]!==d||n[54]!==p?(e=e=>(0,$.jsxs)(tt,{onSelect:()=>p(e.id),className:`justify-between`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(At,{className:`size-4 text-muted-foreground`}),(0,$.jsx)(`span`,{children:e.name})]}),(0,$.jsx)(E,{className:z(`size-4`,d===e.id?`opacity-100`:`opacity-0`)})]},e.id),n[53]=d,n[54]=p,n[55]=e):e=n[55],T=c.map(e),n[49]=d,n[50]=p,n[51]=c,n[52]=T}else T=n[52];let D;n[56]===T?D=n[57]:(D=(0,$.jsx)(at,{heading:`Servers`,children:T}),n[56]=T,n[57]=D);let O;n[58]===Symbol.for(`react.memo_cache_sentinel`)?(O=(0,$.jsx)(Xe,{}),n[58]=O):O=n[58];let k;n[59]===i?k=n[60]:(k=()=>{i(),o(!1)},n[59]=i,n[60]=k);let A;n[61]===Symbol.for(`react.memo_cache_sentinel`)?(A=(0,$.jsx)(B,{className:`size-4`,"data-icon":`inline-start`}),n[61]=A):A=n[61];let j;n[62]===k?j=n[63]:(j=(0,$.jsx)(at,{children:(0,$.jsxs)(tt,{onSelect:k,children:[A,`Add Server...`]})}),n[62]=k,n[63]=j);let M;n[64]!==D||n[65]!==j?(M=(0,$.jsx)(it,{className:`w-[240px] p-0 max-h-[80vh]`,children:(0,$.jsxs)(Je,{children:[C,(0,$.jsxs)(st,{className:`max-h-[50vh] overflow-y-auto`,children:[w,D,O,j]})]})}),n[64]=D,n[65]=j,n[66]=M):M=n[66];let N;return n[67]!==a||n[68]!==M||n[69]!==S?(N=(0,$.jsxs)(ot,{open:a,onOpenChange:o,children:[S,M]}),n[67]=a,n[68]=M,n[69]=S,n[70]=N):N=n[70],N}function Ni(){let e=(0,Q.c)(136),t=c(),n;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(n={from:`/server/$serverId`,strict:!1},e[0]=n):n=e[0];let r=u(n),i=G(Ri),a=ge(Li),o=ge(Ii),s=ge(Fi),l=ge(Pi),d=Nt(),p;e[1]===d.pathname?p=e[2]:(p=d.pathname.includes(`/overview`),e[1]=d.pathname,e[2]=p);let m=p,h;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(h=f()&&(0,$.jsx)(`div`,{className:`block md:hidden h-[30px] shrink-0 z-[60]`,style:{WebkitAppRegion:`drag`}}),e[3]=h):h=e[3];let g;e[4]===Symbol.for(`react.memo_cache_sentinel`)?(g={paddingTop:`calc(0.75rem + env(safe-area-inset-top, 0px))`},e[4]=g):g=e[4];let _;e[5]===l?_=e[6]:(_=(0,$.jsx)(Mi,{compact:!0,onOpenAddServer:()=>l(!0)}),e[5]=l,e[6]=_);let v=i?`Connected`:`Disconnected`,y=`size-2 rounded-full ${i?`bg-success`:`bg-destructive`}`,b;e[7]===y?b=e[8]:(b=(0,$.jsx)(`span`,{className:y}),e[7]=y,e[8]=b);let x;e[9]!==v||e[10]!==b?(x=(0,$.jsx)(`button`,{className:`flex items-center justify-center size-5 rounded-md hover:bg-accent transition-colors`,title:v,children:b}),e[9]=v,e[10]=b,e[11]=x):x=e[11];let S;e[12]!==_||e[13]!==x?(S=(0,$.jsx)(`div`,{className:`flex items-center gap-2`,children:(0,$.jsxs)(`div`,{className:`flex items-center gap-1`,children:[` `,_,` `,x]})}),e[12]=_,e[13]=x,e[14]=S):S=e[14];let C;e[15]===m?C=e[16]:(C=(0,$.jsx)(re,{asChild:!0,children:(0,$.jsx)(U,{asChild:!0,children:(0,$.jsx)(X,{variant:`ghost`,size:`icon-sm`,children:m?(0,$.jsx)(Ut,{className:`w-4 h-4`}):(0,$.jsx)(Wt,{className:`w-4 h-4`})})})}),e[15]=m,e[16]=C);let w;e[17]===Symbol.for(`react.memo_cache_sentinel`)?(w=(0,$.jsx)(de,{children:`View`}),e[17]=w):w=e[17];let T;e[18]===C?T=e[19]:(T=(0,$.jsxs)(te,{children:[C,w]}),e[18]=C,e[19]=T);let D;e[20]!==r.serverId||e[21]!==t?(D=()=>t.navigate({to:`/server/$serverId/workspace`,params:{serverId:r.serverId}}),e[20]=r.serverId,e[21]=t,e[22]=D):D=e[22];let O;e[23]===Symbol.for(`react.memo_cache_sentinel`)?(O=(0,$.jsx)(`span`,{className:`flex-1`,children:`Single workspace`}),e[23]=O):O=e[23];let k;e[24]===m?k=e[25]:(k=!m&&(0,$.jsx)(E,{className:`size-4`}),e[24]=m,e[25]=k);let A;e[26]!==D||e[27]!==k?(A=(0,$.jsxs)(V,{onClick:D,children:[O,k]}),e[26]=D,e[27]=k,e[28]=A):A=e[28];let j;e[29]!==r.serverId||e[30]!==t?(j=()=>t.navigate({to:`/server/$serverId/overview`,params:{serverId:r.serverId}}),e[29]=r.serverId,e[30]=t,e[31]=j):j=e[31];let M;e[32]===Symbol.for(`react.memo_cache_sentinel`)?(M=(0,$.jsx)(`span`,{className:`flex-1`,children:`Overview`}),e[32]=M):M=e[32];let N;e[33]===m?N=e[34]:(N=m&&(0,$.jsx)(E,{className:`size-4`}),e[33]=m,e[34]=N);let P;e[35]!==j||e[36]!==N?(P=(0,$.jsxs)(V,{onClick:j,children:[M,N]}),e[35]=j,e[36]=N,e[37]=P):P=e[37];let F;e[38]!==A||e[39]!==P?(F=(0,$.jsxs)(he,{align:`end`,className:`w-48 min-w-48`,children:[A,P]}),e[38]=A,e[39]=P,e[40]=F):F=e[40];let I;e[41]!==T||e[42]!==F?(I=(0,$.jsxs)(R,{children:[T,F]}),e[41]=T,e[42]=F,e[43]=I):I=e[43];let L;e[44]===Symbol.for(`react.memo_cache_sentinel`)?(L=(0,$.jsxs)(te,{children:[(0,$.jsx)(re,{asChild:!0,children:(0,$.jsx)(U,{asChild:!0,children:(0,$.jsx)(X,{variant:`ghost`,size:`icon-sm`,children:(0,$.jsx)(pt,{className:`w-4 h-4`})})})}),(0,$.jsx)(de,{children:`More`})]}),e[44]=L):L=e[44];let z;e[45]===o?z=e[46]:(z=()=>o(!0),e[45]=o,e[46]=z);let B;e[47]===Symbol.for(`react.memo_cache_sentinel`)?(B=(0,$.jsx)(Xt,{className:`mr-2 h-4 w-4`}),e[47]=B):B=e[47];let H;e[48]===z?H=e[49]:(H=(0,$.jsxs)(V,{onClick:z,children:[B,`Configuration`]}),e[48]=z,e[49]=H);let ee;e[50]===s?ee=e[51]:(ee=()=>s(!0),e[50]=s,e[51]=ee);let ne;e[52]===Symbol.for(`react.memo_cache_sentinel`)?(ne=(0,$.jsx)(He,{className:`mr-2 h-4 w-4`}),e[52]=ne):ne=e[52];let W;e[53]===ee?W=e[54]:(W=(0,$.jsxs)(V,{onClick:ee,children:[ne,`Tools`]}),e[53]=ee,e[54]=W);let ie;e[55]===Symbol.for(`react.memo_cache_sentinel`)?(ie=(0,$.jsx)(_e,{}),e[55]=ie):ie=e[55];let ae;e[56]===a?ae=e[57]:(ae=()=>a(!0),e[56]=a,e[57]=ae);let oe;e[58]===Symbol.for(`react.memo_cache_sentinel`)?(oe=(0,$.jsx)(Ie,{className:`mr-2 h-4 w-4`}),e[58]=oe):oe=e[58];let se;e[59]===ae?se=e[60]:(se=(0,$.jsxs)(V,{onClick:ae,children:[oe,`Settings`]}),e[59]=ae,e[60]=se);let le;e[61]!==H||e[62]!==W||e[63]!==se?(le=(0,$.jsxs)(R,{children:[L,(0,$.jsxs)(he,{align:`end`,className:`w-48 min-w-48`,children:[H,W,ie,se]})]}),e[61]=H,e[62]=W,e[63]=se,e[64]=le):le=e[64];let ue;e[65]!==I||e[66]!==le?(ue=(0,$.jsx)(ce,{children:(0,$.jsxs)(`div`,{className:`flex items-center gap-1`,children:[I,le]})}),e[65]=I,e[66]=le,e[67]=ue):ue=e[67];let K;e[68]!==ue||e[69]!==S?(K=(0,$.jsxs)(`header`,{className:`md:hidden flex items-center justify-between pl-3 pr-5 pt-2 sticky top-0 z-[60] shrink-0`,style:g,children:[S,ue]}),e[68]=ue,e[69]=S,e[70]=K):K=e[70];let fe;e[71]===Symbol.for(`react.memo_cache_sentinel`)?(fe=f()&&(0,$.jsx)(`div`,{className:`hidden md:block h-[30px] shrink-0`,style:{WebkitAppRegion:`drag`}}),e[71]=fe):fe=e[71];let pe;e[72]===l?pe=e[73]:(pe=(0,$.jsx)(Mi,{compact:!0,onOpenAddServer:()=>l(!0)}),e[72]=l,e[73]=pe);let me=i?`Connected`:`Disconnected`,q=`size-2 rounded-full ${i?`bg-success`:`bg-destructive`}`,J;e[74]===q?J=e[75]:(J=(0,$.jsx)(`span`,{className:q}),e[74]=q,e[75]=J);let ve;e[76]!==me||e[77]!==J?(ve=(0,$.jsx)(`button`,{className:`flex items-center justify-center size-5 rounded-md hover:bg-accent transition-colors`,title:me,children:J}),e[76]=me,e[77]=J,e[78]=ve):ve=e[78];let ye;e[79]!==pe||e[80]!==ve?(ye=(0,$.jsx)(`div`,{className:`flex items-center gap-2`,children:(0,$.jsxs)(`div`,{className:`flex items-center gap-1`,children:[pe,ve]})}),e[79]=pe,e[80]=ve,e[81]=ye):ye=e[81];let be;e[82]===Symbol.for(`react.memo_cache_sentinel`)?(be=f()?{WebkitAppRegion:`no-drag`}:void 0,e[82]=be):be=e[82];let Y;e[83]!==r.serverId||e[84]!==t?(Y=()=>t.navigate({to:`/server/$serverId/workspace`,params:{serverId:r.serverId}}),e[83]=r.serverId,e[84]=t,e[85]=Y):Y=e[85];let xe=m?``:`bg-sidebar-accent text-sidebar-accent-foreground`,Se;e[86]===Symbol.for(`react.memo_cache_sentinel`)?(Se=(0,$.jsx)(Wt,{className:`h-4 w-4`}),e[86]=Se):Se=e[86];let Ce;e[87]!==Y||e[88]!==xe?(Ce=(0,$.jsx)(re,{asChild:!0,children:(0,$.jsx)(X,{variant:`ghost`,size:`icon-sm`,onClick:Y,className:xe,children:Se})}),e[87]=Y,e[88]=xe,e[89]=Ce):Ce=e[89];let we;e[90]===Symbol.for(`react.memo_cache_sentinel`)?(we=(0,$.jsx)(de,{children:`Single workspace`}),e[90]=we):we=e[90];let Te;e[91]===Ce?Te=e[92]:(Te=(0,$.jsxs)(te,{children:[Ce,we]}),e[91]=Ce,e[92]=Te);let Ee;e[93]!==r.serverId||e[94]!==t?(Ee=()=>t.navigate({to:`/server/$serverId/overview`,params:{serverId:r.serverId}}),e[93]=r.serverId,e[94]=t,e[95]=Ee):Ee=e[95];let De=m?`bg-sidebar-accent text-sidebar-accent-foreground`:``,Oe;e[96]===Symbol.for(`react.memo_cache_sentinel`)?(Oe=(0,$.jsx)(Ut,{className:`h-4 w-4`}),e[96]=Oe):Oe=e[96];let ke;e[97]!==Ee||e[98]!==De?(ke=(0,$.jsx)(re,{asChild:!0,children:(0,$.jsx)(X,{variant:`ghost`,size:`icon-sm`,onClick:Ee,className:De,children:Oe})}),e[97]=Ee,e[98]=De,e[99]=ke):ke=e[99];let Ae;e[100]===Symbol.for(`react.memo_cache_sentinel`)?(Ae=(0,$.jsx)(de,{children:`Overview`}),e[100]=Ae):Ae=e[100];let je;e[101]===ke?je=e[102]:(je=(0,$.jsxs)(te,{children:[ke,Ae]}),e[101]=ke,e[102]=je);let Me;e[103]!==Te||e[104]!==je?(Me=(0,$.jsxs)($.Fragment,{children:[Te,je]}),e[103]=Te,e[104]=je,e[105]=Me):Me=e[105];let Ne;e[106]===Symbol.for(`react.memo_cache_sentinel`)?(Ne=(0,$.jsxs)(te,{children:[(0,$.jsx)(re,{asChild:!0,children:(0,$.jsx)(U,{asChild:!0,children:(0,$.jsx)(X,{variant:`ghost`,size:`icon-sm`,children:(0,$.jsx)(pt,{className:`w-4 h-4`})})})}),(0,$.jsx)(de,{children:`More`})]}),e[106]=Ne):Ne=e[106];let Pe;e[107]===o?Pe=e[108]:(Pe=()=>o(!0),e[107]=o,e[108]=Pe);let Fe;e[109]===Symbol.for(`react.memo_cache_sentinel`)?(Fe=(0,$.jsx)(Xt,{className:`mr-2 h-4 w-4`}),e[109]=Fe):Fe=e[109];let Le;e[110]===Pe?Le=e[111]:(Le=(0,$.jsxs)(V,{onClick:Pe,children:[Fe,`Configuration`]}),e[110]=Pe,e[111]=Le);let Re;e[112]===s?Re=e[113]:(Re=()=>s(!0),e[112]=s,e[113]=Re);let ze;e[114]===Symbol.for(`react.memo_cache_sentinel`)?(ze=(0,$.jsx)(He,{className:`mr-2 h-4 w-4`}),e[114]=ze):ze=e[114];let Be;e[115]===Re?Be=e[116]:(Be=(0,$.jsxs)(V,{onClick:Re,children:[ze,`Tools`]}),e[115]=Re,e[116]=Be);let Ve;e[117]===Symbol.for(`react.memo_cache_sentinel`)?(Ve=(0,$.jsx)(_e,{}),e[117]=Ve):Ve=e[117];let Ue;e[118]===a?Ue=e[119]:(Ue=()=>a(!0),e[118]=a,e[119]=Ue);let We;e[120]===Symbol.for(`react.memo_cache_sentinel`)?(We=(0,$.jsx)(Ie,{className:`mr-2 h-4 w-4`}),e[120]=We):We=e[120];let Ge;e[121]===Ue?Ge=e[122]:(Ge=(0,$.jsxs)(V,{onClick:Ue,children:[We,`Settings`]}),e[121]=Ue,e[122]=Ge);let Ke;e[123]!==Le||e[124]!==Be||e[125]!==Ge?(Ke=(0,$.jsxs)(R,{children:[Ne,(0,$.jsxs)(he,{align:`end`,className:`w-48 min-w-48`,children:[Le,Be,Ve,Ge]})]}),e[123]=Le,e[124]=Be,e[125]=Ge,e[126]=Ke):Ke=e[126];let qe;e[127]!==Me||e[128]!==Ke?(qe=(0,$.jsx)(ce,{children:(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,style:be,children:[Me,Ke]})}),e[127]=Me,e[128]=Ke,e[129]=qe):qe=e[129];let Je;e[130]!==ye||e[131]!==qe?(Je=(0,$.jsxs)(`header`,{className:`hidden md:flex items-center justify-between pl-3 pr-5 pt-2 h-11 shrink-0`,children:[ye,qe]}),e[130]=ye,e[131]=qe,e[132]=Je):Je=e[132];let Ye;return e[133]!==K||e[134]!==Je?(Ye=(0,$.jsxs)($.Fragment,{children:[h,K,fe,Je]}),e[133]=K,e[134]=Je,e[135]=Ye):Ye=e[135],Ye}function Pi(e){return e.setShowAddServer}function Fi(e){return e.setShowTools}function Ii(e){return e.setShowConfiguration}function Li(e){return e.setShowSettings}function Ri(e){return e.connected}var zi,Bi=400,Vi=typeof navigator<`u`&&((zi=navigator.platform)==null?void 0:zi.toUpperCase().includes(`MAC`))===!0;function Hi(){for(let e of[`[data-slot="dialog-overlay"][data-state="open"]`,`[data-slot="dialog-content"][data-state="open"]`,`[role="dialog"][data-state="open"]`])if(document.querySelector(e))return!0;let e=document.querySelectorAll(`[role="dialog"]`);for(let t of e)if(t instanceof HTMLElement&&Ui(t))return!0;return!1}function Ui(e){if(!e.isConnected)return!1;let t=window.getComputedStyle(e);return t.display!==`none`&&t.visibility!==`hidden`&&parseFloat(t.opacity)>0&&e.getBoundingClientRect().width>0&&e.getBoundingClientRect().height>0}function Wi(){var e,t;let n=document.activeElement;return n?!!((e=n.hasAttribute)!=null&&e.call(n,`data-chat-input`)||(t=n.closest)!=null&&t.call(n,`[data-chat-input="true"]`)):!1}function Gi(e){let t=(0,Q.c)(5),n=(0,Z.useRef)(e),r;t[0]===e?r=t[1]:(r=()=>{n.current=e},t[0]=e,t[1]=r),(0,Z.useLayoutEffect)(r);let i;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(i={lastEscTime:0,armed:!1},t[2]=i):i=t[2];let a=(0,Z.useRef)(i),o,s;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(o=()=>{let e=e=>{if(e.isComposing||e.repeat||e.key===`Escape`&&Hi())return;let{onCloseFocusedPanel:t,onFocusChatInput:r,onStopStreaming:i,onOpenSidebar:o,onOpenTerminal:s,onOpenFilesPanel:c,onNewWindow:l,onNewSession:u,onToggleViewMode:d,onToggleAutoFollow:p}=n.current;if(e.shiftKey&&e.key===`Escape`){e.preventDefault(),t();return}if(e.key===`Escape`&&!e.metaKey&&!e.ctrlKey){let t=Wi(),n=Date.now(),{lastEscTime:o,armed:s}=a.current,c=n-o;if(t&&s&&c<Bi){e.preventDefault(),a.current={lastEscTime:0,armed:!1},i();return}if(t){a.current={lastEscTime:n,armed:!0};return}e.preventDefault(),r();return}let m=e.target,h=m.tagName===`INPUT`||m.tagName===`TEXTAREA`||m.isContentEditable,g=e.metaKey||e.ctrlKey;if(!(h&&!g)){if(!f()||!Vi){if(g&&e.code===`Digit1`){e.preventDefault(),o();return}if(g&&e.code===`KeyT`){e.preventDefault(),s();return}}if(g&&e.code===`Digit2`){e.preventDefault(),c();return}if(g&&e.shiftKey&&e.code===`KeyN`){e.preventDefault(),l();return}if(g&&e.code===`KeyN`){e.preventDefault(),u();return}if(g&&e.code===`KeyO`){e.preventDefault(),d();return}if(g&&e.shiftKey&&e.code===`KeyF`){e.preventDefault(),p();return}}};return window.addEventListener(`keydown`,e,!0),()=>window.removeEventListener(`keydown`,e,!0)},s=[],t[3]=o,t[4]=s):(o=t[3],s=t[4]),(0,Z.useEffect)(o,s)}function Ki({sidebarRef:e,terminalPanelRef:t,filesPanelRef:n,chatInputRef:r,activeWorkspace:i,primaryPreconfigs:a,handleInterruptSession:o,serverId:s,createSession:l,setSidebarOpen:u,onToggleAutoFollow:d}){let m=(0,Z.useCallback)(()=>{u(!0),requestAnimationFrame(()=>{requestAnimationFrame(()=>{var t;(t=e.current)==null||t.focusSessionPanel()})})},[u,e]),h=(0,Z.useCallback)(()=>{Ot.getState().setShowTerminalPanel(!0),requestAnimationFrame(()=>{requestAnimationFrame(()=>{var e;(e=t.current)==null||e.focus()})})},[t]),_=(0,Z.useRef)(m);(0,Z.useLayoutEffect)(()=>{_.current=m});let v=(0,Z.useRef)(h);(0,Z.useLayoutEffect)(()=>{v.current=h});let y=(0,Z.useCallback)(()=>{Ot.getState().setShowTerminalPanel(!1)},[]),b=(0,Z.useCallback)(()=>{requestAnimationFrame(()=>{var e;(e=n.current)==null||e.focus()})},[n]),x=(0,Z.useRef)(b);(0,Z.useLayoutEffect)(()=>{x.current=b});let S=(0,Z.useCallback)(()=>{var e;(e=r.current)==null||e.focus()},[r]),C=(0,Z.useCallback)(()=>{i&&a[0]&&l(a[0].id)},[i,a,l]),w=(0,Z.useCallback)(async()=>{if(f()){var e;(e=window.__JEAN2_ELECTRON__)==null||e.createWindow()}else if(p()){let{invoke:e}=await g(async()=>{let{invoke:e}=await import(`./core-B5tm5Pq5.js`);return{invoke:e}},[],import.meta.url);e(`create_new_window`).catch(()=>{})}},[]),T=c();Gi({onOpenSidebar:()=>_.current(),onOpenTerminal:()=>v.current(),onOpenFilesPanel:()=>x.current(),onNewSession:C,onNewWindow:w,onToggleViewMode:(0,Z.useCallback)(()=>{T.state.location.pathname.includes(`/overview`)?T.navigate({to:`/server/$serverId/workspace`,params:{serverId:s}}):T.navigate({to:`/server/$serverId/overview`,params:{serverId:s}})},[T,s]),onCloseFocusedPanel:(0,Z.useCallback)(()=>{let e=document.activeElement;e!=null&&e.closest(`[data-terminal-panel]`)?y():e!=null&&e.closest(`[data-panel-id="files"]`)?Ot.getState().setShowFilesPanel(!1):e!=null&&e.closest(`[data-sidebar="sidebar"]`)&&u(!1)},[y,u]),onFocusChatInput:S,onStopStreaming:(0,Z.useCallback)(()=>{o()},[o]),onToggleAutoFollow:()=>d==null?void 0:d()}),(0,Z.useLayoutEffect)(()=>{if(f()){var e;return(e=window.__JEAN2_ELECTRON__)==null?void 0:e.onAccelerator(e=>{e===`open-sidebar`?_.current():e===`open-terminal`&&v.current()})}if(!p())return;let t=!1,n=[];return(async()=>{let{listen:e}=await g(async()=>{let{listen:e}=await import(`./event-Bg5mre8h.js`);return{listen:e}},__vite__mapDeps([2,1]),import.meta.url);try{let r=await e(`jean2://accelerator/open-sidebar`,()=>{_.current()});if(t){r();return}n.push(r)}catch(e){console.error(`Failed to register open-sidebar accelerator listener:`,e)}try{let r=await e(`jean2://accelerator/open-terminal`,()=>{v.current()});if(t){r();return}n.push(r)}catch(e){console.error(`Failed to register open-terminal accelerator listener:`,e)}})(),()=>{t=!0,n.forEach(e=>e())}},[])}function qi(e){let t=(0,Q.c)(7),{setOpen:n}=bt(),r=K(Xi),i=K(Yi),a;t[0]===i?a=t[1]:(a=i.filter(Ji),t[0]=i,t[1]=a);let o=a,s;return t[2]!==r||t[3]!==o||t[4]!==e||t[5]!==n?(s={...e,activeWorkspace:r,primaryPreconfigs:o,setSidebarOpen:n},t[2]=r,t[3]=o,t[4]=e,t[5]=n,t[6]=s):s=t[6],Ki(s),null}function Ji(e){return e.mode!==`subagent`}function Yi(e){return e.preconfigs}function Xi(e){return e.activeWorkspace}var Zi={".ts":{icon:Ue,color:`text-blue-500`},".tsx":{icon:Ue,color:`text-blue-500`},".js":{icon:Ue,color:`text-yellow-500`},".jsx":{icon:Ue,color:`text-yellow-500`},".json":{icon:Ue,color:`text-yellow-600`},".md":{icon:Ue,color:`text-gray-500`},".css":{icon:Ue,color:`text-purple-500`},".html":{icon:Ue,color:`text-orange-500`}};function Qi({entry:e,workspaceId:t,parentPath:n,depth:r,onFileSelect:i,showHidden:a=!0,sdkClient:o}){let[s,c]=(0,Z.useState)(!1),[l,u]=(0,Z.useState)([]),[d,f]=(0,Z.useState)(!1),[p,m]=(0,Z.useState)(!1),h=n?`${n}/${e.path}`:e.path,g=e.type===`directory`,_=async()=>{if(!(p||d||!o)){f(!0);try{u((await o.http.files.browse(t,h,{showHidden:a})).files||[]),m(!0)}catch(e){console.error(`Failed to load children:`,e)}finally{f(!1)}}},v=e=>{var t;(t=document.activeElement)==null||t.focus(),c(e),e&&g&&_()},y=t=>{t.currentTarget.focus(),!g&&i&&i({...e,path:h})},b=e=>{e.key===`Enter`&&(e.preventDefault(),y(e))},x=e.extension?Zi[e.extension]:null,S=g?s?dt:j:(x==null?void 0:x.icon)||Ue,C=g?`text-amber-500`:(x==null?void 0:x.color)||`text-muted-foreground`;return g?(0,$.jsxs)(ue,{open:s,onOpenChange:v,children:[(0,$.jsx)(ie,{asChild:!0,children:(0,$.jsxs)(`button`,{"data-file-node":!0,"data-file-type":`directory`,"data-file-is-open":s||void 0,className:z(`flex items-center gap-2 w-full min-w-0 overflow-hidden rounded-md p-2 text-left text-sm`,`hover:bg-sidebar-accent hover:text-sidebar-accent-foreground`,`focus:ring-1 focus:ring-inset ring-sidebar-ring outline-hidden`,`[&_svg]:size-4 [&_svg]:shrink-0 [&>span:last-child]:truncate`),style:{paddingLeft:`${r*12+8}px`},children:[d?(0,$.jsx)(Y,{className:`w-3 h-3 animate-spin shrink-0`}):(0,$.jsx)(N,{className:z(`w-3 h-3 shrink-0 transition-transform`,s&&`rotate-90`)}),(0,$.jsx)(S,{className:C}),(0,$.jsx)(`div`,{className:`flex-1 min-w-0 truncate`,children:e.name})]})}),(0,$.jsx)(pe,{children:l.map(e=>(0,$.jsx)(Qi,{entry:e,workspaceId:t,parentPath:h,depth:r+1,onFileSelect:i,showHidden:a,sdkClient:o},`${h}/${e.path}`))})]}):(0,$.jsxs)(`button`,{"data-file-node":!0,"data-file-type":`file`,onClick:y,onKeyDown:b,className:z(`flex items-center gap-2 w-full min-w-0 overflow-hidden rounded-md p-2 text-left text-sm`,`hover:bg-sidebar-accent hover:text-sidebar-accent-foreground`,`focus:ring-1 focus:ring-inset ring-sidebar-ring outline-hidden`,`[&_svg]:size-4 [&_svg]:shrink-0 [&>span:last-child]:truncate`),style:{paddingLeft:`${r*12+8}px`},children:[(0,$.jsx)(S,{className:C}),(0,$.jsx)(`div`,{className:`flex-1 min-w-0 truncate`,children:e.name})]})}var $i=(0,Z.forwardRef)(({workspaceId:e,sdkClient:t,onFileSelect:n,showHidden:r=!0,width:i},a)=>{let[o,s]=(0,Z.useState)([]),[c,l]=(0,Z.useState)(``),[u,d]=(0,Z.useState)(!0),[f,p]=(0,Z.useState)(null),m=(0,Z.useRef)(null),h=(0,Z.useCallback)(async()=>{if(t){d(!0),p(null);try{let n=await t.http.files.browse(e,void 0,{showHidden:r});s(n.files),l(n.currentPath||``)}catch(e){p(e instanceof Error?e.message:`Failed to load files`)}finally{d(!1)}}},[e,r,t]);(0,Z.useEffect)(()=>{h()},[h]),(0,Z.useImperativeHandle)(a,()=>({refresh:h,focus:()=>{let e=m.current;if(!e)return;let t=e.querySelector(`[data-file-node]`);t?t.focus():e.focus()}}),[h]);let g=(0,Z.useCallback)(e=>{let t=m.current;if(!t)return;let n=Array.from(t.querySelectorAll(`[data-file-node]`));if(n.length===0)return;let r=n.indexOf(document.activeElement);switch(e.key){case`ArrowDown`:var i;e.preventDefault(),(i=n[r<n.length-1?r+1:0])==null||i.focus();break;case`ArrowUp`:var a;e.preventDefault(),(a=n[r>0?r-1:n.length-1])==null||a.focus();break;case`ArrowRight`:{e.preventDefault();let t=document.activeElement;if(!t)break;if(t.getAttribute(`data-file-type`)===`directory`)if(t.getAttribute(`data-file-is-open`)!==`true`)t.click();else{var o;let e=r<n.length-1?r+1:-1;e>=0&&((o=n[e])==null||o.focus())}else{var s;let e=r<n.length-1?r+1:-1;e>=0&&((s=n[e])==null||s.focus())}break}case`ArrowLeft`:{e.preventDefault();let t=document.activeElement;if(!t)break;if(t.getAttribute(`data-file-type`)===`directory`)if(t.getAttribute(`data-file-is-open`)===`true`)t.click();else{var c;let e=r>0?r-1:-1;e>=0&&((c=n[e])==null||c.focus())}else{var l;let e=r>0?r-1:-1;e>=0&&((l=n[e])==null||l.focus())}break}case`Enter`:document.activeElement instanceof HTMLButtonElement&&document.activeElement.click();break;case`Escape`:var u;e.preventDefault(),(u=document.activeElement)==null||u.blur();break}},[]);return u?(0,$.jsxs)(`div`,{className:`flex items-center justify-center h-32 text-muted-foreground`,children:[(0,$.jsx)(Y,{className:`w-4 h-4 animate-spin mr-2`}),`Loading files...`]}):f?(0,$.jsxs)(`div`,{className:`p-4 text-sm text-destructive`,children:[f,(0,$.jsx)(X,{variant:`ghost`,size:`sm`,onClick:h,className:`ml-2`,children:(0,$.jsx)(Ne,{className:`w-3 h-3`})})]}):o.length===0?(0,$.jsxs)(`div`,{className:`p-4 text-sm text-muted-foreground`,children:[`Empty workspace`,(0,$.jsx)(X,{variant:`ghost`,size:`sm`,onClick:h,className:`ml-2`,children:(0,$.jsx)(Ne,{className:`w-3 h-3`})})]}):(0,$.jsx)(`div`,{ref:m,tabIndex:-1,onKeyDown:g,className:`flex-1 min-h-0 min-w-0 w-full outline-none`,children:(0,$.jsx)(Mt,{className:`h-full`,children:(0,$.jsx)(`div`,{className:`px-2 pb-2 w-full min-w-0`,style:i?{width:`${i-8}px`}:void 0,children:(0,$.jsx)(`div`,{className:`space-y-0.5 min-w-0`,children:o.map(i=>(0,$.jsx)(Qi,{entry:i,workspaceId:e,parentPath:c,depth:0,onFileSelect:n,showHidden:r,sdkClient:t},i.path))})})})})});$i.displayName=`FileTree`;var ea=De.oneDark,ta=De.oneLight;function na(e){let t=(0,Q.c)(13),{content:n,language:r,showLineNumbers:i}=e,a=i===void 0?!0:i,{resolvedMode:s}=o(),c=s===`dark`,l=c?ea:ta,u;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(u=z(`h-full overflow-auto chat-transcript-scrollbar`),t[0]=u):u=t[0];let d=l.plain.backgroundColor||(c?`#282c34`:`#fafafa`),f;t[1]===d?f=t[2]:(f={WebkitOverflowScrolling:`touch`,backgroundColor:d},t[1]=d,t[2]=f);let p=r||`plaintext`,m;t[3]===a?m=t[4]:(m=e=>{let{style:t,tokens:n,getLineProps:r,getTokenProps:i}=e;return(0,$.jsx)(`pre`,{className:`text-sm p-4 min-h-full font-mono`,style:t,children:n.map((e,t)=>(0,$.jsxs)(`div`,{...r({line:e}),className:`table-row`,children:[a&&(0,$.jsx)(`span`,{className:`table-cell pr-4 text-right select-none opacity-50 text-xs w-12`,children:t+1}),(0,$.jsx)(`span`,{className:`table-cell`,children:e.map((e,t)=>(0,$.jsx)(`span`,{...i({token:e})},t))})]},t))})},t[3]=a,t[4]=m);let h;t[5]!==l||t[6]!==n||t[7]!==p||t[8]!==m?(h=(0,$.jsx)(Pe,{theme:l,code:n,language:p,children:m}),t[5]=l,t[6]=n,t[7]=p,t[8]=m,t[9]=h):h=t[9];let g;return t[10]!==f||t[11]!==h?(g=(0,$.jsx)(`div`,{className:u,style:f,children:h}),t[10]=f,t[11]=h,t[12]=g):g=t[12],g}function ra(e){let t=(0,Q.c)(13),{icon:n,title:r,reason:i,name:a}=e,o;t[0]===n?o=t[1]:(o=(0,$.jsx)(n,{className:`size-10 text-muted-foreground mb-4`}),t[0]=n,t[1]=o);let s;t[2]===r?s=t[3]:(s=(0,$.jsx)(`p`,{className:`text-sm font-medium mb-1`,children:r}),t[2]=r,t[3]=s);let c;t[4]===i?c=t[5]:(c=(0,$.jsx)(`p`,{className:`text-sm text-muted-foreground mb-2`,children:i}),t[4]=i,t[5]=c);let l;t[6]===a?l=t[7]:(l=(0,$.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:a}),t[6]=a,t[7]=l);let u;return t[8]!==o||t[9]!==s||t[10]!==c||t[11]!==l?(u=(0,$.jsxs)(`div`,{className:`flex flex-col items-center justify-center h-full text-center p-8`,children:[o,s,c,l]}),t[8]=o,t[9]=s,t[10]=c,t[11]=l,t[12]=u):u=t[12],u}function ia(e){let t=(0,Q.c)(20),{preview:n}=e;if(n.kind===`markdown`){let e;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e={WebkitOverflowScrolling:`touch`},t[0]=e):e=t[0];let r;return t[1]===n.content?r=t[2]:(r=(0,$.jsx)(`div`,{className:`h-full overflow-auto p-6 chat-transcript-scrollbar`,style:e,children:(0,$.jsx)(ze,{children:n.content})}),t[1]=n.content,t[2]=r),r}if(n.kind===`code`){let e;return t[3]!==n.content||t[4]!==n.language||t[5]!==n.path?(e=(0,$.jsx)(na,{content:n.content,path:n.path,language:n.language,showLineNumbers:!0}),t[3]=n.content,t[4]=n.language,t[5]=n.path,t[6]=e):e=t[6],e}if(n.kind===`text`){let e;return t[7]!==n.content||t[8]!==n.language||t[9]!==n.path?(e=(0,$.jsx)(na,{content:n.content,path:n.path,language:n.language,showLineNumbers:!1}),t[7]=n.content,t[8]=n.language,t[9]=n.path,t[10]=e):e=t[10],e}if(n.kind===`binary`){let e;return t[11]!==n.name||t[12]!==n.reason?(e=(0,$.jsx)(ra,{icon:Rt,title:`Binary file`,reason:n.reason,name:n.name}),t[11]=n.name,t[12]=n.reason,t[13]=e):e=t[13],e}if(n.kind===`unsupported`){let e;return t[14]!==n.name||t[15]!==n.reason?(e=(0,$.jsx)(ra,{icon:Lt,title:`Unsupported file`,reason:n.reason,name:n.name}),t[14]=n.name,t[15]=n.reason,t[16]=e):e=t[16],e}if(n.kind===`too_large`){let e;return t[17]!==n.name||t[18]!==n.reason?(e=(0,$.jsx)(ra,{icon:It,title:`File too large`,reason:n.reason,name:n.name}),t[17]=n.name,t[18]=n.reason,t[19]=e):e=t[19],e}return null}var aa=(0,Z.forwardRef)((e,t)=>{let n=(0,Q.c)(43),{sdkClient:r}=e,i=A(),a=(0,Z.useRef)(null),o=Ot(oa),s=Ot(sa),c=Ot(ca),l=K(la),u=l==null?void 0:l.id,d;n[0]===c?d=n[1]:(d=()=>{c(!0),requestAnimationFrame(()=>{requestAnimationFrame(()=>{var e;(e=a.current)==null||e.focus()})})},n[0]=c,n[1]=d);let f=d,p,m;n[2]===f?(p=n[3],m=n[4]):(p=()=>({focus:f}),m=[f],n[2]=f,n[3]=p,n[4]=m),(0,Z.useImperativeHandle)(t,p,m);let h=ge(ua),g;n[5]!==h||n[6]!==u?(g=e=>{e.type===`file`&&u&&h({workspaceId:u,path:e.path,name:e.name})},n[5]=h,n[6]=u,n[7]=g):g=n[7];let _=g;if(!u)return null;if(i){let e;n[8]===c?e=n[9]:(e=e=>!e&&c(!1),n[8]=c,n[9]=e);let t;n[10]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,$.jsx)(kt,{className:`sr-only`,children:(0,$.jsx)(gt,{children:`Files`})}),n[10]=t):t=n[10];let i;n[11]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,$.jsx)(`span`,{className:`font-semibold text-sm text-sidebar-foreground`,children:`Files`}),n[11]=i):i=n[11];let o;n[12]===c?o=n[13]:(o=()=>c(!1),n[12]=c,n[13]=o);let l;n[14]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,$.jsx)(L,{className:`size-4`}),n[14]=l):l=n[14];let d;n[15]===o?d=n[16]:(d=(0,$.jsxs)(`div`,{className:`flex items-center justify-between p-3 border-b border-border`,children:[i,(0,$.jsx)(X,{variant:`ghost`,size:`icon-sm`,onClick:o,children:l})]}),n[15]=o,n[16]=d);let f;n[17]!==_||n[18]!==r||n[19]!==u?(f=(0,$.jsx)(`div`,{className:`flex flex-1 flex-col min-h-0 overflow-hidden`,children:(0,$.jsx)($i,{ref:a,workspaceId:u,sdkClient:r,showHidden:!0,onFileSelect:_},u)}),n[17]=_,n[18]=r,n[19]=u,n[20]=f):f=n[20];let p;n[21]!==d||n[22]!==f?(p=(0,$.jsxs)(Et,{side:`right`,className:`w-72 p-0 bg-sidebar [&>button]:hidden`,children:[t,d,f]}),n[21]=d,n[22]=f,n[23]=p):p=n[23];let m;return n[24]!==s||n[25]!==p||n[26]!==e?(m=(0,$.jsx)(ht,{open:s,onOpenChange:e,children:p}),n[24]=s,n[25]=p,n[26]=e,n[27]=m):m=n[27],m}let v=`${o}px`,y;n[28]===v?y=n[29]:(y={"--sidebar-width":v},n[28]=v,n[29]=y);let b=y,x;n[30]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,$.jsx)(Tt,{side:`right`,panelId:`files`}),n[30]=x):x=n[30];let S;n[31]===Symbol.for(`react.memo_cache_sentinel`)?(S=(0,$.jsx)(_t,{children:(0,$.jsx)(St,{children:(0,$.jsx)(yt,{children:(0,$.jsxs)(vt,{className:`w-full justify-between`,onClick:()=>{var e;return(e=a.current)==null?void 0:e.refresh()},children:[(0,$.jsx)(`span`,{className:`text-sm font-semibold`,children:`Files`}),(0,$.jsx)(Ne,{className:`size-4`})]})})})}),n[31]=S):S=n[31];let C;n[32]!==o||n[33]!==_||n[34]!==r||n[35]!==u?(C=(0,$.jsx)(xt,{className:`overflow-hidden`,children:(0,$.jsx)($i,{ref:a,workspaceId:u,sdkClient:r,showHidden:!0,width:o,onFileSelect:_},u)}),n[32]=o,n[33]=_,n[34]=r,n[35]=u,n[36]=C):C=n[36];let w;n[37]!==s||n[38]!==C?(w=(0,$.jsxs)(wt,{side:`right`,isOpen:s,variant:`floating`,children:[x,S,C]}),n[37]=s,n[38]=C,n[39]=w):w=n[39];let T;return n[40]!==w||n[41]!==b?(T=(0,$.jsx)(Ct,{panelId:`files`,defaultOpen:!0,className:`w-0 shrink-0`,style:b,children:w}),n[40]=w,n[41]=b,n[42]=T):T=n[42],T});aa.displayName=`FilesPanel`;function oa(e){return e.filesPanelWidth}function sa(e){return e.showFilesPanel}function ca(e){return e.setShowFilesPanel}function la(e){return e.activeWorkspace}function ua(e){return e.openFilePreview}function da(e){let t=(0,Q.c)(10),n,r,i;t[0]===e?(n=t[1],r=t[2],i=t[3]):({className:n,orientation:i,...r}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i);let a=i===void 0?`horizontal`:i,o;t[4]===n?o=t[5]:(o=z(`group/tabs flex gap-2 data-horizontal:flex-col`,n),t[4]=n,t[5]=o);let s;return t[6]!==a||t[7]!==r||t[8]!==o?(s=(0,$.jsx)(Oi,{"data-slot":`tabs`,"data-orientation":a,className:o,...r}),t[6]=a,t[7]=r,t[8]=o,t[9]=s):s=t[9],s}var fa=ae(`group/tabs-list inline-flex w-fit items-center justify-center rounded-lg p-[3px] text-muted-foreground group-data-horizontal/tabs:h-8 group-data-vertical/tabs:h-fit group-data-vertical/tabs:flex-col data-[variant=line]:rounded-none`,{variants:{variant:{default:`bg-muted`,line:`gap-1 bg-transparent`}},defaultVariants:{variant:`default`}});function pa(e){let t=(0,Q.c)(11),n,r,i;t[0]===e?(n=t[1],r=t[2],i=t[3]):({className:n,variant:i,...r}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i);let a=i===void 0?`default`:i,o;t[4]!==n||t[5]!==a?(o=z(fa({variant:a}),n),t[4]=n,t[5]=a,t[6]=o):o=t[6];let s;return t[7]!==r||t[8]!==o||t[9]!==a?(s=(0,$.jsx)(ki,{"data-slot":`tabs-list`,"data-variant":a,className:o,...r}),t[7]=r,t[8]=o,t[9]=a,t[10]=s):s=t[10],s}function ma(e){let t=(0,Q.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=z(`relative inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-1.5 py-0.5 text-sm font-medium whitespace-nowrap text-foreground/60 transition-all group-data-vertical/tabs:w-full group-data-vertical/tabs:justify-start hover:text-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1 focus-visible:outline-ring disabled:pointer-events-none disabled:opacity-50 dark:text-muted-foreground dark:hover:text-foreground group-data-[variant=default]/tabs-list:data-active:shadow-sm group-data-[variant=line]/tabs-list:data-active:shadow-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,`group-data-[variant=line]/tabs-list:bg-transparent group-data-[variant=line]/tabs-list:data-active:bg-transparent dark:group-data-[variant=line]/tabs-list:data-active:border-transparent dark:group-data-[variant=line]/tabs-list:data-active:bg-transparent`,`data-active:bg-background data-active:text-foreground dark:data-active:border-input dark:data-active:bg-input/30 dark:data-active:text-foreground`,`after:absolute after:bg-foreground after:opacity-0 after:transition-opacity group-data-horizontal/tabs:after:inset-x-0 group-data-horizontal/tabs:after:bottom-[-5px] group-data-horizontal/tabs:after:h-0.5 group-data-vertical/tabs:after:inset-y-0 group-data-vertical/tabs:after:-right-1 group-data-vertical/tabs:after:w-0.5 group-data-[variant=line]/tabs-list:data-active:after:opacity-100`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,$.jsx)(Ai,{"data-slot":`tabs-trigger`,className:i,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function ha(e){let t=(0,Q.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=z(`flex-1 text-sm outline-none`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,$.jsx)(ji,{"data-slot":`tabs-content`,className:i,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function ga(e){let t=(0,Q.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=z(`flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,$.jsx)(Fr,{"data-slot":`label`,className:i,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function _a(e){let t=(0,Q.c)(10),{token:n,onLogout:r}=e,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,$.jsx)(`span`,{className:`text-muted-foreground`,children:`Token:`}),t[0]=i):i=t[0];let a;t[1]===n?a=t[2]:(a=b(n),t[1]=n,t[2]=a);let o;t[3]===a?o=t[4]:(o=(0,$.jsxs)(`div`,{className:`flex items-center gap-2 text-xs`,children:[i,(0,$.jsx)(`code`,{className:`font-mono text-foreground bg-background px-1.5 py-0.5 rounded text-[10px]`,children:a})]}),t[3]=a,t[4]=o);let s;t[5]===r?s=t[6]:(s=(0,$.jsx)(X,{variant:`destructive`,size:`sm`,onClick:r,title:`Disconnect and clear token`,children:`Logout`}),t[5]=r,t[6]=s);let c;return t[7]!==o||t[8]!==s?(c=(0,$.jsxs)(`div`,{className:`flex items-center gap-3 p-2 rounded-md bg-muted`,children:[o,s]}),t[7]=o,t[8]=s,t[9]=c):c=t[9],c}function va(e){let t=(0,Q.c)(12),n,r,i;t[0]===e?(n=t[1],r=t[2],i=t[3]):({className:n,value:i,...r}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i);let a;t[4]===n?a=t[5]:(a=z(`relative flex h-1 w-full items-center overflow-x-hidden rounded-full bg-muted`,n),t[4]=n,t[5]=a);let o=`translateX(-${100-(i||0)}%)`,s;t[6]===o?s=t[7]:(s=(0,$.jsx)($r,{"data-slot":`progress-indicator`,className:`size-full flex-1 bg-primary transition-all`,style:{transform:o}}),t[6]=o,t[7]=s);let c;return t[8]!==r||t[9]!==a||t[10]!==s?(c=(0,$.jsx)(Qr,{"data-slot":`progress`,className:a,...r,children:s}),t[8]=r,t[9]=a,t[10]=s,t[11]=c):c=t[11],c}var ya=`1.0.3`;function ba(e){let t=e.trim().match(/^v?(\d+)\.(\d+)\.(\d+)$/);return t?[parseInt(t[1],10),parseInt(t[2],10),parseInt(t[3],10)]:null}function xa(e,t){let n=ba(e),r=ba(t);if(!n&&!r)return 0;if(!n)return-1;if(!r)return 1;for(let e=0;e<3;e++)if(n[e]!==r[e])return n[e]-r[e];return 0}function Sa(e,t){return t?xa(e,t)>=0?`up-to-date`:`update-available`:`unknown`}var Ca=`rabbyte-tech/jean2`,wa=300*1e3,Ta=1e4,Ea=new Map;function Da(e){let t=Ea.get(e);return t?Date.now()-t.timestamp>wa?(Ea.delete(e),null):t.value:null}function Oa(e,t){Ea.set(e,{value:t,timestamp:Date.now()})}function ka(){Ea.clear()}async function Aa(e,t){let n=new AbortController,r=setTimeout(()=>n.abort(),t);try{return await fetch(e,{signal:n.signal})}finally{clearTimeout(r)}}async function ja(){let e=Da(`latest-server`);if(e)return e;try{let e=await Aa(`https://raw.githubusercontent.com/${Ca}/refs/heads/main/packages/server/VERSION`,Ta);if(!e.ok)return null;let t=(await e.text()).trim();return/^\d+\.\d+\.\d+$/.test(t)?(Oa(`latest-server`,t),t):null}catch{return null}}async function Ma(){let e=Da(`latest-client`);if(e)return e;try{let e=await Aa(`https://api.github.com/repos/${Ca}/releases?per_page=20`,Ta);if(!e.ok)return null;let t=(await e.json()).find(e=>e.tag_name.startsWith(`client/`)&&!e.prerelease);if(!t)return null;let n=t.tag_name.replace(/^client\/v?/,``);return/^\d+\.\d+\.\d+$/.test(n)?(Oa(`latest-client`,n),n):null}catch{return null}}var Na=!!window.__JEAN2_ELECTRON__;function Pa(e){if(!e)return``;let t=Math.floor((Date.now()-e)/1e3);if(t<10)return`just now`;if(t<60)return`${t}s ago`;let n=Math.floor(t/60);return n<60?`${n}m ago`:`${Math.floor(n/60)}h ago`}function Fa(e){let t=(0,Q.c)(3),{status:n}=e;if(n===`up-to-date`){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsxs)(`span`,{className:`text-xs text-green-500 flex items-center gap-1`,children:[(0,$.jsx)(`span`,{className:`inline-block size-1.5 rounded-full bg-green-500`}),`Up to date`]}),t[0]=e):e=t[0],e}if(n===`update-available`){let e;return t[1]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(`span`,{className:`text-xs px-1.5 py-0.5 rounded-full bg-amber-500/10 text-amber-600 dark:text-amber-400`,children:`Update available`}),t[1]=e):e=t[1],e}let r;return t[2]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,$.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:`Unknown`}),t[2]=r):r=t[2],r}function Ia(e){let t=(0,Q.c)(20),{state:n}=e;switch(n.status){case`idle`:{let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsxs)(`span`,{className:`text-sm text-muted-foreground`,children:[`v`,ya]}),(0,$.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:`Unknown`})]}),t[0]=e):e=t[0],e}case`checking`:{let e;return t[1]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsxs)(`span`,{className:`text-sm text-muted-foreground`,children:[`v`,ya]}),(0,$.jsx)(Ne,{className:`size-3.5 animate-spin text-muted-foreground`})]}),t[1]=e):e=t[1],e}case`available`:{let e;return t[2]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsxs)(`span`,{className:`text-sm text-muted-foreground`,children:[`v`,ya]}),(0,$.jsx)(`span`,{className:`text-xs px-1.5 py-0.5 rounded-full bg-amber-500/10 text-amber-600 dark:text-amber-400`,children:`Update available`})]}),t[2]=e):e=t[2],e}case`not-available`:{let e;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsxs)(`span`,{className:`text-sm text-muted-foreground`,children:[`v`,ya]}),t[3]=e):e=t[3];let n;return t[4]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[e,(0,$.jsxs)(`span`,{className:`text-xs text-green-500 flex items-center gap-1`,children:[(0,$.jsx)(`span`,{className:`inline-block size-1.5 rounded-full bg-green-500`}),`Up to date`]})]}),t[4]=n):n=t[4],n}case`downloading`:{let e;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsxs)(`span`,{className:`text-sm text-muted-foreground`,children:[`v`,ya]}),t[5]=e):e=t[5];let r;t[6]===n.percent?r=t[7]:(r=Math.round(n.percent),t[6]=n.percent,t[7]=r);let i;t[8]===r?i=t[9]:(i=(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[e,(0,$.jsxs)(`span`,{className:`text-xs text-muted-foreground`,children:[`Downloading... `,r,`%`]})]}),t[8]=r,t[9]=i);let a;t[10]===n.percent?a=t[11]:(a=(0,$.jsx)(va,{value:n.percent,className:`w-full h-1`}),t[10]=n.percent,t[11]=a);let o;return t[12]!==i||t[13]!==a?(o=(0,$.jsxs)(`div`,{className:`flex flex-col gap-1 items-end min-w-40`,children:[i,a]}),t[12]=i,t[13]=a,t[14]=o):o=t[14],o}case`downloaded`:{let e;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsxs)(`span`,{className:`text-sm text-muted-foreground`,children:[`v`,ya]}),t[15]=e):e=t[15];let n;return t[16]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[e,(0,$.jsxs)(`span`,{className:`text-xs text-green-500 flex items-center gap-1`,children:[(0,$.jsx)(`span`,{className:`inline-block size-1.5 rounded-full bg-green-500`}),`Update ready — restart to install`]})]}),t[16]=n):n=t[16],n}case`error`:{let e;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsxs)(`span`,{className:`text-sm text-muted-foreground`,children:[`v`,ya]}),t[17]=e):e=t[17];let r;return t[18]===n.message?r=t[19]:(r=(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[e,(0,$.jsx)(`span`,{className:`text-xs text-red-500`,children:n.message})]}),t[18]=n.message,t[19]=r),r}}}function La({sdkClient:e,enabled:t}){let n=(0,Z.useRef)(0),[r,i]=(0,Z.useState)({serverVersion:null,latestServer:null,latestClient:null,loading:!0,lastChecked:null,fetchError:null}),[a,o]=(0,Z.useState)({status:`idle`}),s=(0,Z.useCallback)(async(t=!1)=>{t&&ka();let r=++n.current;i(e=>({...e,loading:!0,fetchError:null}));try{let t=await Promise.allSettled([e?e.httpClient.get(`/info`).then(e=>e.version).catch(()=>null):Promise.resolve(null),ja(),Na?Promise.resolve(null):Ma()]);if(n.current!==r)return;i({serverVersion:t[0].status===`fulfilled`?t[0].value:null,latestServer:t[1].status===`fulfilled`?t[1].value:null,latestClient:t[2].status===`fulfilled`?t[2].value:null,loading:!1,lastChecked:Date.now(),fetchError:null})}catch{if(n.current!==r)return;i(e=>({...e,loading:!1,fetchError:`Unable to check for updates`}))}},[e]);(0,Z.useEffect)(()=>{t&&s()},[s,t]),(0,Z.useEffect)(()=>{if(!(!Na||!window.__JEAN2_ELECTRON__))return window.__JEAN2_ELECTRON__.onUpdaterEvent(e=>{let{type:t,data:n}=e;switch(t){case`checking`:o({status:`checking`});break;case`available`:o({status:`available`,version:n.version});break;case`not-available`:o({status:`not-available`,version:n.version});break;case`download-progress`:{let e=n;o({status:`downloading`,percent:e.percent,transferred:e.transferred,total:e.total});break}case`downloaded`:o({status:`downloaded`,version:n.version});break;case`error`:o({status:`error`,message:n.message});break}})},[]);let c=Sa(ya,r.latestClient),l=e&&r.serverVersion?Sa(r.serverVersion,r.latestServer):`unknown`,u=()=>{Na&&window.__JEAN2_ELECTRON__?(o({status:`checking`}),window.__JEAN2_ELECTRON__.checkForUpdates()):s(!0)},d=a.status===`checking`||a.status===`downloading`;return(0,$.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,$.jsxs)(`div`,{children:[(0,$.jsx)(ga,{className:`text-sm font-medium`,children:`Versions`}),(0,$.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Check for updates to client and server`})]}),(0,$.jsx)(I,{}),(0,$.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,$.jsx)(`span`,{className:`text-sm font-medium`,children:`Client`}),Na?(0,$.jsx)(Ia,{state:a}):r.loading?(0,$.jsx)(ne,{className:`h-5 w-32`}):(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsxs)(`span`,{className:`text-sm text-muted-foreground`,children:[`v`,ya]}),(0,$.jsx)(Fa,{status:c})]})]}),(0,$.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,$.jsx)(`span`,{className:`text-sm font-medium`,children:`Server`}),r.loading?(0,$.jsx)(ne,{className:`h-5 w-32`}):r.serverVersion?(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsxs)(`span`,{className:`text-sm text-muted-foreground`,children:[`v`,r.serverVersion]}),(0,$.jsx)(Fa,{status:l})]}):(0,$.jsx)(`span`,{className:`text-sm text-muted-foreground`,children:`Not connected`})]}),!Na&&(0,$.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,$.jsx)(`span`,{className:`text-sm font-medium`,children:`Latest`}),r.loading?(0,$.jsx)(ne,{className:`h-5 w-48`}):(0,$.jsxs)(`span`,{className:`text-sm text-muted-foreground`,children:[r.latestServer?`v${r.latestServer} (server)`:``,r.latestServer&&r.latestClient&&` · `,r.latestClient?`v${r.latestClient} (client)`:``,!r.latestServer&&!r.latestClient&&`Unknown`]})]})]}),(0,$.jsxs)(`div`,{className:`flex items-center justify-between`,children:[r.lastChecked&&!r.loading&&!d&&(0,$.jsxs)(`span`,{className:`text-xs text-muted-foreground`,children:[`Last checked: `,Pa(r.lastChecked)]}),(0,$.jsxs)(X,{variant:`outline`,size:`sm`,onClick:u,disabled:r.loading||d,className:`ml-auto`,children:[(0,$.jsx)(Ne,{className:`size-3.5 ${r.loading||d?`animate-spin`:``}`}),`Check for Updates`]})]})]})}var Ra={neutral:{label:`Neutral`,colors:[`bg-zinc-400`,`bg-zinc-600`,`bg-zinc-800`]},ocean:{label:`Ocean`,colors:[`bg-sky-300`,`bg-sky-500`,`bg-slate-700`]},forest:{label:`Forest`,colors:[`bg-emerald-300`,`bg-emerald-500`,`bg-green-800`]},sunset:{label:`Sunset`,colors:[`bg-orange-300`,`bg-amber-500`,`bg-orange-800`]},amethyst:{label:`Amethyst`,colors:[`bg-violet-300`,`bg-violet-500`,`bg-purple-800`]}};function za(e){let t=(0,Q.c)(15),{scheme:n,currentScheme:r,onClick:i}=e,a=n===r,o=Ra[n],s;t[0]!==i||t[1]!==n?(s=()=>i(n),t[0]=i,t[1]=n,t[2]=s):s=t[2];let c=`
8
+ flex flex-col items-center gap-1.5 p-2 rounded-lg border transition-all
9
+ ${a?`border-primary bg-primary/5`:`border-border bg-transparent hover:bg-muted/50`}
10
+ `,l=o.label,u;t[3]===o.colors?u=t[4]:(u=o.colors.map(Ba),t[3]=o.colors,t[4]=u);let d;t[5]===u?d=t[6]:(d=(0,$.jsx)(`div`,{className:`flex gap-0.5`,children:u}),t[5]=u,t[6]=d);let f;t[7]===n?f=t[8]:(f=(0,$.jsx)(`span`,{className:`text-[10px] text-muted-foreground capitalize`,children:n}),t[7]=n,t[8]=f);let p;return t[9]!==o.label||t[10]!==s||t[11]!==c||t[12]!==d||t[13]!==f?(p=(0,$.jsxs)(`button`,{type:`button`,onClick:s,className:c,title:l,children:[d,f]}),t[9]=o.label,t[10]=s,t[11]=c,t[12]=d,t[13]=f,t[14]=p):p=t[14],p}function Ba(e,t){return(0,$.jsx)(`div`,{className:`w-4 h-4 rounded-full ${e}`},t)}function Va(e){var t;let n=(0,Q.c)(131),{open:r,onOpenChange:i,apiToken:a,onLogout:s,sdkClient:c}=e,{mode:l,scheme:u,setMode:d,setScheme:f}=o(),{chatFinishSoundEnabled:p,setChatFinishSoundEnabled:m,permissionSoundEnabled:h,setPermissionSoundEnabled:g}=ge(fn(Ua)),_=((t=navigator.userAgentData)==null?void 0:t.platform)===`macOS`||/mac|iphone|ipad|ipod/i.test(navigator.userAgent)?`⌘`:`Ctrl`,v,y,b,x,S,C,w,T,E,D,O,k,A,j,M,N,P;if(n[0]!==a||n[1]!==p||n[2]!==l||n[3]!==s||n[4]!==i||n[5]!==r||n[6]!==h||n[7]!==u||n[8]!==c||n[9]!==m||n[10]!==d||n[11]!==g||n[12]!==f){let e=[{keys:[_,`1`],description:`Open session list`},{keys:[_,`2`],description:`Open files panel`},{keys:[_,`T`],description:`Open terminal`},{keys:[_,`O`],description:`Toggle overview mode`},{keys:[_,`N`],description:`New session`},{keys:[_,`Shift`,`N`],description:`New window`},{keys:[_,`Shift`,`F`],description:`Toggle follow/free mode`},{keys:[`Shift`,`Esc`],description:`Close focused panel`},{keys:[`Shift`,`Enter`],description:`New line in input`},{keys:[`Enter`],description:`Send message`},{keys:[`↑`,`↓`,`←`,`→`],description:`Navigate sessions`},{keys:[`Esc`],description:`Focus chat input`},{keys:[`Esc`,`Esc`],description:`Stop streaming (chat input focused)`}];x=rt,T=r,E=i,b=$e,C=`sm:max-w-[700px] max-h-[80vh]`,n[30]===Symbol.for(`react.memo_cache_sentinel`)?(w=(0,$.jsxs)(ct,{children:[(0,$.jsx)(ut,{children:`Settings`}),(0,$.jsx)(Qe,{children:`Manage your preferences`})]}),n[30]=w):w=n[30],y=da,A=`account`,j=`mt-4`;let t;n[31]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,$.jsxs)(ma,{value:`account`,children:[(0,$.jsx)(Ae,{className:`size-4 sm:size-3`,"data-icon":`inline-start`}),(0,$.jsx)(`span`,{className:`hidden sm:inline`,children:`Account`})]}),n[31]=t):t=n[31];let o;n[32]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,$.jsxs)(ma,{value:`appearance`,children:[(0,$.jsx)(qt,{className:`size-4 sm:size-3`,"data-icon":`inline-start`}),(0,$.jsx)(`span`,{className:`hidden sm:inline`,children:`Appearance`})]}),n[32]=o):o=n[32],n[33]===Symbol.for(`react.memo_cache_sentinel`)?(M=(0,$.jsxs)(pa,{className:`grid w-full grid-cols-3`,children:[t,o,(0,$.jsxs)(ma,{value:`keybinds`,children:[(0,$.jsx)(Vt,{className:`size-4 sm:size-3`,"data-icon":`inline-start`}),(0,$.jsx)(`span`,{className:`hidden sm:inline`,children:`Keybinds`})]})]}),n[33]=M):M=n[33];let F,L;n[34]===Symbol.for(`react.memo_cache_sentinel`)?(F=(0,$.jsx)(ga,{className:`text-sm font-medium`,children:`Session`}),L=(0,$.jsx)(`p`,{className:`text-sm text-muted-foreground mb-3`,children:`Manage your current session`}),n[34]=F,n[35]=L):(F=n[34],L=n[35]);let R;n[36]!==a||n[37]!==s?(R=(0,$.jsxs)(`div`,{children:[F,L,a?(0,$.jsx)(_a,{token:a,onLogout:s}):(0,$.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`No active session`})]}),n[36]=a,n[37]=s,n[38]=R):R=n[38];let z;n[39]===Symbol.for(`react.memo_cache_sentinel`)?(z=(0,$.jsx)(I,{}),n[39]=z):z=n[39];let B;n[40]!==r||n[41]!==c?(B=(0,$.jsx)(La,{sdkClient:c,enabled:r}),n[40]=r,n[41]=c,n[42]=B):B=n[42],n[43]!==R||n[44]!==B?(N=(0,$.jsx)(ha,{value:`account`,className:`mt-4`,children:(0,$.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[R,z,B]})}),n[43]=R,n[44]=B,n[45]=N):N=n[45];let V,H;n[46]===Symbol.for(`react.memo_cache_sentinel`)?(V=(0,$.jsx)(ga,{className:`text-sm font-medium`,children:`Mode`}),H=(0,$.jsx)(`p`,{className:`text-sm text-muted-foreground mb-3`,children:`Choose light, dark, or system theme`}),n[46]=V,n[47]=H):(V=n[46],H=n[47]);let U=l===`light`?`default`:`outline`,ee;n[48]===d?ee=n[49]:(ee=()=>d(`light`),n[48]=d,n[49]=ee);let te;n[50]===Symbol.for(`react.memo_cache_sentinel`)?(te=(0,$.jsx)(Zt,{className:`size-4`,"data-icon":`inline-start`}),n[50]=te):te=n[50];let ne;n[51]!==U||n[52]!==ee?(ne=(0,$.jsxs)(X,{variant:U,className:`justify-start`,onClick:ee,children:[te,`Light`]}),n[51]=U,n[52]=ee,n[53]=ne):ne=n[53];let re=l===`dark`?`default`:`outline`,W;n[54]===d?W=n[55]:(W=()=>d(`dark`),n[54]=d,n[55]=W);let ie;n[56]===Symbol.for(`react.memo_cache_sentinel`)?(ie=(0,$.jsx)(Kt,{className:`size-4`,"data-icon":`inline-start`}),n[56]=ie):ie=n[56];let ae;n[57]!==re||n[58]!==W?(ae=(0,$.jsxs)(X,{variant:re,className:`justify-start`,onClick:W,children:[ie,`Dark`]}),n[57]=re,n[58]=W,n[59]=ae):ae=n[59];let oe=l===`system`?`default`:`outline`,se;n[60]===d?se=n[61]:(se=()=>d(`system`),n[60]=d,n[61]=se);let ce;n[62]===Symbol.for(`react.memo_cache_sentinel`)?(ce=(0,$.jsx)(Me,{className:`size-4`,"data-icon":`inline-start`}),n[62]=ce):ce=n[62];let le;n[63]!==oe||n[64]!==se?(le=(0,$.jsxs)(X,{variant:oe,className:`justify-start`,onClick:se,children:[ce,`System`]}),n[63]=oe,n[64]=se,n[65]=le):le=n[65];let ue;n[66]!==ne||n[67]!==ae||n[68]!==le?(ue=(0,$.jsxs)(`div`,{children:[V,H,(0,$.jsxs)(`div`,{className:`grid grid-cols-3 gap-2`,children:[ne,ae,le]})]}),n[66]=ne,n[67]=ae,n[68]=le,n[69]=ue):ue=n[69];let G,de;n[70]===Symbol.for(`react.memo_cache_sentinel`)?(G=(0,$.jsx)(I,{}),de=(0,$.jsx)(ga,{className:`text-sm font-medium mb-3 block`,children:`Notification Sounds`}),n[70]=G,n[71]=de):(G=n[70],de=n[71]);let K;n[72]===Symbol.for(`react.memo_cache_sentinel`)?(K=(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(en,{className:`size-4 text-muted-foreground`}),(0,$.jsx)(`span`,{className:`text-sm`,children:`Chat completion`})]}),n[72]=K):K=n[72];let fe;n[73]!==p||n[74]!==m?(fe=()=>m(!p),n[73]=p,n[74]=m,n[75]=fe):fe=n[75];let pe=`relative inline-flex h-6 w-11 items-center rounded-full transition-colors ${p?`bg-primary`:`bg-muted`}`,me=`inline-block h-4 w-4 transform rounded-full bg-white transition-transform ${p?`translate-x-6`:`translate-x-1`}`,he;n[76]===me?he=n[77]:(he=(0,$.jsx)(`span`,{className:me}),n[76]=me,n[77]=he);let ge;n[78]!==fe||n[79]!==pe||n[80]!==he?(ge=(0,$.jsxs)(`div`,{className:`flex items-center justify-between`,children:[K,(0,$.jsx)(`button`,{type:`button`,onClick:fe,className:pe,children:he})]}),n[78]=fe,n[79]=pe,n[80]=he,n[81]=ge):ge=n[81];let q;n[82]===Symbol.for(`react.memo_cache_sentinel`)?(q=(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(tn,{className:`size-4 text-muted-foreground`}),(0,$.jsx)(`span`,{className:`text-sm`,children:`Permission requests`})]}),n[82]=q):q=n[82];let _e;n[83]!==h||n[84]!==g?(_e=()=>g(!h),n[83]=h,n[84]=g,n[85]=_e):_e=n[85];let J=`relative inline-flex h-6 w-11 items-center rounded-full transition-colors ${h?`bg-primary`:`bg-muted`}`,ve=`inline-block h-4 w-4 transform rounded-full bg-white transition-transform ${h?`translate-x-6`:`translate-x-1`}`,ye;n[86]===ve?ye=n[87]:(ye=(0,$.jsx)(`span`,{className:ve}),n[86]=ve,n[87]=ye);let be;n[88]!==_e||n[89]!==J||n[90]!==ye?(be=(0,$.jsxs)(`div`,{className:`flex items-center justify-between`,children:[q,(0,$.jsx)(`button`,{type:`button`,onClick:_e,className:J,children:ye})]}),n[88]=_e,n[89]=J,n[90]=ye,n[91]=be):be=n[91];let Y;n[92]!==ge||n[93]!==be?(Y=(0,$.jsxs)(`div`,{children:[de,(0,$.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[ge,be]})]}),n[92]=ge,n[93]=be,n[94]=Y):Y=n[94];let xe,Se,Ce;n[95]===Symbol.for(`react.memo_cache_sentinel`)?(xe=(0,$.jsx)(I,{}),Se=(0,$.jsx)(ga,{className:`text-sm font-medium`,children:`Color Scheme`}),Ce=(0,$.jsx)(`p`,{className:`text-sm text-muted-foreground mb-3`,children:`Choose your preferred color palette`}),n[95]=xe,n[96]=Se,n[97]=Ce):(xe=n[95],Se=n[96],Ce=n[97]);let we;n[98]!==u||n[99]!==f?(we=(0,$.jsxs)(`div`,{children:[Se,Ce,(0,$.jsxs)(`div`,{className:`grid grid-cols-5 gap-2`,children:[(0,$.jsx)(za,{scheme:`neutral`,currentScheme:u,onClick:f}),(0,$.jsx)(za,{scheme:`ocean`,currentScheme:u,onClick:f}),(0,$.jsx)(za,{scheme:`forest`,currentScheme:u,onClick:f}),(0,$.jsx)(za,{scheme:`sunset`,currentScheme:u,onClick:f}),(0,$.jsx)(za,{scheme:`amethyst`,currentScheme:u,onClick:f})]})]}),n[98]=u,n[99]=f,n[100]=we):we=n[100],n[101]!==ue||n[102]!==Y||n[103]!==we?(P=(0,$.jsx)(ha,{value:`appearance`,className:`mt-4`,children:(0,$.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[ue,G,Y,xe,we]})}),n[101]=ue,n[102]=Y,n[103]=we,n[104]=P):P=n[104],v=ha,O=`keybinds`,k=`mt-4`,S=`flex flex-col gap-2`,D=e.map(Ha),n[0]=a,n[1]=p,n[2]=l,n[3]=s,n[4]=i,n[5]=r,n[6]=h,n[7]=u,n[8]=c,n[9]=m,n[10]=d,n[11]=g,n[12]=f,n[13]=v,n[14]=y,n[15]=b,n[16]=x,n[17]=S,n[18]=C,n[19]=w,n[20]=T,n[21]=E,n[22]=D,n[23]=O,n[24]=k,n[25]=A,n[26]=j,n[27]=M,n[28]=N,n[29]=P}else v=n[13],y=n[14],b=n[15],x=n[16],S=n[17],C=n[18],w=n[19],T=n[20],E=n[21],D=n[22],O=n[23],k=n[24],A=n[25],j=n[26],M=n[27],N=n[28],P=n[29];let F;n[105]!==S||n[106]!==D?(F=(0,$.jsx)(`div`,{className:S,children:D}),n[105]=S,n[106]=D,n[107]=F):F=n[107];let L;n[108]!==v||n[109]!==F||n[110]!==O||n[111]!==k?(L=(0,$.jsx)(v,{value:O,className:k,children:F}),n[108]=v,n[109]=F,n[110]=O,n[111]=k,n[112]=L):L=n[112];let R;n[113]!==y||n[114]!==L||n[115]!==A||n[116]!==j||n[117]!==M||n[118]!==N||n[119]!==P?(R=(0,$.jsxs)(y,{defaultValue:A,className:j,children:[M,N,P,L]}),n[113]=y,n[114]=L,n[115]=A,n[116]=j,n[117]=M,n[118]=N,n[119]=P,n[120]=R):R=n[120];let z;n[121]!==b||n[122]!==C||n[123]!==w||n[124]!==R?(z=(0,$.jsxs)(b,{className:C,children:[w,R]}),n[121]=b,n[122]=C,n[123]=w,n[124]=R,n[125]=z):z=n[125];let B;return n[126]!==x||n[127]!==T||n[128]!==E||n[129]!==z?(B=(0,$.jsx)(x,{open:T,onOpenChange:E,children:z}),n[126]=x,n[127]=T,n[128]=E,n[129]=z,n[130]=B):B=n[130],B}function Ha(e,t){return(0,$.jsxs)(`div`,{className:`flex items-center justify-between py-1`,children:[(0,$.jsx)(`div`,{className:`flex items-center gap-1`,children:e.keys.map((t,n)=>(0,$.jsxs)(`span`,{children:[(0,$.jsx)(`kbd`,{className:`font-mono bg-muted rounded px-2 py-1 text-xs`,children:t}),n<e.keys.length-1&&(0,$.jsx)(`span`,{className:`mx-1 text-muted-foreground`,children:`+`})]},n))}),(0,$.jsx)(`span`,{className:`text-sm text-muted-foreground`,children:e.description})]},t)}function Ua(e){return{chatFinishSoundEnabled:e.chatFinishSoundEnabled,setChatFinishSoundEnabled:e.setChatFinishSoundEnabled,permissionSoundEnabled:e.permissionSoundEnabled,setPermissionSoundEnabled:e.setPermissionSoundEnabled}}function Wa(e){let t=(0,Q.c)(6),{status:n}=e;switch(n.status){case`connected`:{let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsxs)(q,{variant:`default`,className:`bg-green-600`,children:[(0,$.jsx)(be,{className:`size-3 mr-1`}),`Connected`]}),t[0]=e):e=t[0],e}case`disabled`:{let e;return t[1]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsxs)(q,{variant:`secondary`,children:[(0,$.jsx)(T,{className:`size-3 mr-1`}),`Disabled`]}),t[1]=e):e=t[1],e}case`failed`:{let e;return t[2]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsxs)(q,{variant:`destructive`,children:[(0,$.jsx)(We,{className:`size-3 mr-1`}),`Failed`]}),t[2]=e):e=t[2],e}case`needs_auth`:{let e;return t[3]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsxs)(q,{variant:`outline`,className:`border-yellow-500 text-yellow-600`,children:[(0,$.jsx)(We,{className:`size-3 mr-1`}),`Needs Auth`]}),t[3]=e):e=t[3],e}case`needs_client_registration`:{let e;return t[4]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsxs)(q,{variant:`outline`,className:`border-orange-500 text-orange-600`,children:[(0,$.jsx)(We,{className:`size-3 mr-1`}),`Needs Registration`]}),t[4]=e):e=t[4],e}default:{let e;return t[5]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(q,{variant:`secondary`,children:`Unknown`}),t[5]=e):e=t[5],e}}}function Ga({open:e,onOpenChange:t,workspaceId:n,workspacePath:r,sdkClient:i}){let[a,o]=(0,Z.useState)({}),[s,c]=(0,Z.useState)(!1),[l,u]=(0,Z.useState)(null),[d,f]=(0,Z.useState)(null),p=(0,Z.useCallback)(async()=>{if(!(!n||!i)){c(!0),f(null);try{o((await i.http.mcp.getStatus(n)).status||{})}catch(e){f(e instanceof Error?e.message:`Unknown error`)}finally{c(!1)}}},[n,i]);(0,Z.useEffect)(()=>{e&&n&&p()},[e,n,p]);let m=async e=>{if(!(!n||!i)){u(e);try{await i.http.mcp.connect(n,e),await p()}catch(e){f(e instanceof Error?e.message:`Unknown error`)}finally{u(null)}}},h=async e=>{if(!(!n||!i)){u(e);try{await i.http.mcp.disconnect(n,e),await p()}catch(e){f(e instanceof Error?e.message:`Unknown error`)}finally{u(null)}}},g=async e=>{if(!(!n||!i)){u(e);try{let t=await i.http.mcp.startAuth(n,e);t.authorizationUrl&&window.open(t.authorizationUrl,`_blank`),await p()}catch(e){f(e instanceof Error?e.message:`Unknown error`)}finally{u(null)}}},_=Object.entries(a);return(0,$.jsx)(rt,{open:e,onOpenChange:t,children:(0,$.jsxs)($e,{className:`sm:max-w-[600px] max-h-[80vh]`,children:[(0,$.jsxs)(ct,{children:[(0,$.jsxs)(ut,{className:`flex items-center gap-2`,children:[(0,$.jsx)(At,{className:`size-5`}),`MCP Servers`]}),(0,$.jsx)(Qe,{children:`Manage Model Context Protocol servers for this workspace`})]}),(0,$.jsxs)(`div`,{className:`mt-4 space-y-4`,children:[d&&(0,$.jsxs)(Ve,{variant:`destructive`,children:[(0,$.jsx)(We,{className:`size-4`}),(0,$.jsx)(Le,{children:d})]}),(0,$.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,$.jsxs)(`p`,{className:`text-sm text-muted-foreground`,children:[`Configure servers in `,(0,$.jsx)(`code`,{className:`text-xs bg-muted px-1 rounded`,children:`.jean2/mcp.json`})]}),(0,$.jsx)(X,{variant:`outline`,size:`sm`,onClick:p,disabled:s,children:(0,$.jsx)(Ne,{className:`size-4 ${s?`animate-spin`:``}`})})]}),(0,$.jsx)(Mt,{className:`h-[400px]`,children:s&&_.length===0?(0,$.jsx)(`div`,{className:`flex items-center justify-center py-8`,children:(0,$.jsx)(Y,{className:`size-6 animate-spin text-muted-foreground`})}):_.length===0?(0,$.jsxs)(`div`,{className:`text-center py-8 text-muted-foreground`,children:[(0,$.jsx)(At,{className:`size-12 mx-auto mb-3 opacity-50`}),(0,$.jsx)(`p`,{className:`font-medium`,children:`No MCP servers configured`}),(0,$.jsxs)(`p`,{className:`text-sm mt-1`,children:[`Create `,(0,$.jsx)(`code`,{className:`text-xs bg-muted px-1 rounded`,children:`.jean2/mcp.json`}),` in your workspace to add servers.`]})]}):(0,$.jsx)(`div`,{className:`space-y-3`,children:_.map(([e,{config:t,status:n}])=>{var r;return(0,$.jsxs)(`div`,{className:`border rounded-lg p-4`,children:[(0,$.jsxs)(`div`,{className:`flex items-start justify-between`,children:[(0,$.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,$.jsx)(At,{className:`size-5 text-muted-foreground mt-0.5`}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`div`,{className:`font-medium`,children:e}),(0,$.jsx)(`div`,{className:`text-sm text-muted-foreground`,children:(t==null?void 0:t.type)===`local`?(0,$.jsxs)(`span`,{children:[`Local - `,((r=t.command)==null?void 0:r[0])||`command`]}):(t==null?void 0:t.type)===`remote`?(0,$.jsxs)(`span`,{className:`flex items-center gap-1`,children:[`Remote - `,t.url]}):`Unknown type`}),n.status===`failed`&&`error`in n&&(0,$.jsx)(Ve,{variant:`destructive`,className:`mt-2 py-2`,children:(0,$.jsx)(Le,{className:`text-xs`,children:n.error})}),n.status===`needs_client_registration`&&`error`in n&&(0,$.jsx)(Ve,{className:`mt-2 py-2 border-orange-500`,children:(0,$.jsx)(Le,{className:`text-xs`,children:n.error})})]})]}),(0,$.jsx)(`div`,{className:`flex items-center gap-2`,children:(0,$.jsx)(Wa,{status:n})})]}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2 mt-3 pt-3 border-t`,children:[n.status===`connected`&&(0,$.jsxs)(X,{variant:`outline`,size:`sm`,onClick:()=>h(e),disabled:l===e,children:[l===e?(0,$.jsx)(Y,{className:`size-4 animate-spin`}):(0,$.jsx)(Jt,{className:`size-4`}),(0,$.jsx)(`span`,{className:`ml-1`,children:`Disconnect`})]}),(n.status===`disabled`||n.status===`failed`)&&(0,$.jsxs)(X,{variant:`outline`,size:`sm`,onClick:()=>m(e),disabled:l===e,children:[l===e?(0,$.jsx)(Y,{className:`size-4 animate-spin`}):(0,$.jsx)(Yt,{className:`size-4`}),(0,$.jsx)(`span`,{className:`ml-1`,children:`Connect`})]}),n.status===`needs_auth`&&(0,$.jsxs)(X,{variant:`default`,size:`sm`,onClick:()=>g(e),disabled:l===e,children:[l===e?(0,$.jsx)(Y,{className:`size-4 animate-spin`}):(0,$.jsx)(Ge,{className:`size-4`}),(0,$.jsx)(`span`,{className:`ml-1`,children:`Authenticate`})]})]})]},e)})})})]})]})})}function Ka({sdkClient:e}){let[t,n]=(0,Z.useState)([]),[r,i]=(0,Z.useState)(!0),[a,o]=(0,Z.useState)(null),[s,c]=(0,Z.useState)(null),[l,u]=(0,Z.useState)(``),[d,f]=(0,Z.useState)(!1),[p,m]=(0,Z.useState)(null),h=(0,Z.useCallback)(async()=>{if(e){i(!0),o(null);try{n((await e.http.providers.listCredentials()).providers)}catch(e){o(e instanceof Error?e.message:`Failed to load providers`)}finally{i(!1)}}},[e]);(0,Z.useEffect)(()=>{h()},[h]);let g=async t=>{if(l.trim()){m(t);try{await e.http.providers.setCredential(t,{apiKey:l.trim()}),c(null),u(``),f(!1),await h()}catch(e){o(e instanceof Error?e.message:`Failed to set key`)}finally{m(null)}}},_=async t=>{m(t);try{await e.http.providers.clearCredential(t),await h()}catch(e){o(e instanceof Error?e.message:`Failed to clear key`)}finally{m(null)}},v={anthropic:`Anthropic`,google:`Google`,minimax:`MiniMax`,openai:`OpenAI`,openrouter:`OpenRouter`,zhipu:`Z.AI`,"zhipu-coding":`Z.AI Coding`},y=e=>v[e]||e.split(`-`).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(` `);return r?(0,$.jsx)(`div`,{className:`flex items-center justify-center p-8`,children:(0,$.jsx)(Y,{className:`size-6 animate-spin text-muted-foreground`})}):a&&t.length===0?(0,$.jsx)(`div`,{className:`p-4 text-sm text-destructive`,children:a}):(0,$.jsxs)(`div`,{className:`p-4 space-y-4`,children:[(0,$.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Manage API keys for LLM providers. Keys are stored in ~/.jean2/.env and never exposed to the client.`}),(0,$.jsx)(`p`,{className:`text-xs text-muted-foreground mt-2`,children:`OAuth-based providers are managed in the OAuth tab.`}),a&&(0,$.jsx)(`div`,{className:`p-2 rounded bg-destructive/10 text-sm text-destructive`,children:a}),(0,$.jsx)(`div`,{className:`space-y-2`,children:t.map(e=>(0,$.jsxs)(`div`,{className:`flex items-center justify-between p-3 rounded-lg border`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,$.jsx)(Bt,{className:`size-4 text-muted-foreground`}),(0,$.jsx)(`span`,{className:`text-sm font-medium`,children:y(e.provider)}),(0,$.jsx)(q,{variant:e.configured?`default`:`secondary`,children:e.configured?`Configured`:`Not set`})]}),(0,$.jsx)(`div`,{className:`flex items-center gap-2`,children:s===e.provider?(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsxs)(`div`,{className:`relative`,children:[(0,$.jsx)(J,{type:d?`text`:`password`,value:l,onChange:e=>u(e.target.value),placeholder:`Enter API key...`,className:`w-full sm:w-48 h-8 text-sm pr-8`,onKeyDown:t=>{t.key===`Enter`&&g(e.provider),t.key===`Escape`&&(c(null),u(``))},autoFocus:!0}),(0,$.jsx)(X,{type:`button`,variant:`ghost`,size:`icon`,className:`absolute right-0 top-0 h-8 w-8`,onClick:()=>f(!d),children:d?(0,$.jsx)(Ft,{className:`size-3`}):(0,$.jsx)(Oe,{className:`size-3`})})]}),(0,$.jsx)(X,{size:`sm`,onClick:()=>g(e.provider),disabled:!l.trim()||p===e.provider,children:p===e.provider?(0,$.jsx)(Y,{className:`size-3 animate-spin`}):(0,$.jsx)(E,{className:`size-3`})}),(0,$.jsx)(X,{size:`sm`,variant:`ghost`,onClick:()=>{c(null),u(``)},children:(0,$.jsx)(L,{className:`size-3`})})]}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(X,{size:`sm`,variant:`outline`,onClick:()=>{c(e.provider),u(``),f(!1)},disabled:p===e.provider,children:e.configured?`Update`:`Set Key`}),e.configured&&(0,$.jsx)(X,{size:`sm`,variant:`ghost`,onClick:()=>_(e.provider),disabled:p===e.provider,children:p===e.provider?(0,$.jsx)(Y,{className:`size-3 animate-spin`}):(0,$.jsx)(ve,{className:`size-3`})})]})})]},e.provider))})]})}function qa({sdkClient:e}){let[t,n]=(0,Z.useState)([]),[r,i]=(0,Z.useState)(!0),[a,o]=(0,Z.useState)(null),[s,c]=(0,Z.useState)(null),[l,u]=(0,Z.useState)({}),[d,f]=(0,Z.useState)(null),p=(0,Z.useCallback)(async()=>{if(e){i(!0),o(null);try{n((await e.http.providers.list()).providers||[])}catch(e){o(e instanceof Error?e.message:`Failed to load providers`)}finally{i(!1)}}},[e]);(0,Z.useEffect)(()=>{p()},[p]);let m=async t=>{c(t),u(e=>({...e,[t]:``})),o(null);try{let n=await e.http.providers.connect(t);if(n.authorizationUrl){let e=n.authorizationUrl;u(n=>({...n,[t]:e}))}}catch(e){o(e instanceof Error?e.message:`Failed to connect provider`),u(e=>({...e,[t]:``}))}finally{c(null)}},h=async t=>{o(null);try{await e.http.providers.disconnect(t),await p()}catch(e){o(e instanceof Error?e.message:`Failed to disconnect provider`)}},g=async(e,t)=>{try{await navigator.clipboard.writeText(e),f(t),setTimeout(()=>f(null),2e3)}catch{}};return r?(0,$.jsx)(`div`,{className:`flex items-center justify-center p-8`,children:(0,$.jsx)(Y,{className:`size-6 animate-spin text-muted-foreground`})}):(0,$.jsxs)(`div`,{className:`p-4 space-y-4`,children:[(0,$.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Connect subscription-based providers using OAuth. No API keys needed.`}),a&&(0,$.jsx)(`div`,{className:`p-2 rounded bg-destructive/10 text-sm text-destructive`,children:a}),t.length===0?(0,$.jsx)(`div`,{className:`text-center py-8 text-sm text-muted-foreground`,children:`No OAuth providers available.`}):(0,$.jsx)(`div`,{className:`flex flex-col gap-3`,children:t.map(e=>(0,$.jsxs)(`div`,{className:`rounded-lg border p-3 sm:p-4 space-y-3`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(`div`,{className:`size-2 rounded-full ${e.connected?`bg-green-500`:`bg-muted-foreground`}`}),(0,$.jsx)(`span`,{className:`text-sm font-medium`,children:e.displayName||e.provider})]}),e.connected&&(0,$.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:`Connected`})]}),e.error&&(0,$.jsx)(`p`,{className:`text-xs text-destructive`,children:e.error}),e.connected&&e.connectedAt&&(0,$.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[`Connected `,new Date(e.connectedAt).toLocaleDateString()]}),(0,$.jsxs)(`div`,{className:`flex gap-2`,children:[!e.connected&&!l[e.provider]&&(0,$.jsxs)(X,{size:`sm`,onClick:()=>m(e.provider),disabled:s===e.provider,children:[s===e.provider?(0,$.jsx)(Y,{className:`size-3 animate-spin`}):null,`Connect`]}),e.connected&&(0,$.jsxs)(X,{variant:`destructive`,size:`sm`,onClick:()=>h(e.provider),children:[(0,$.jsx)($t,{className:`size-3`}),(0,$.jsx)(`span`,{className:`hidden sm:inline`,children:`Disconnect`})]})]}),!e.connected&&l[e.provider]&&(0,$.jsxs)(`div`,{className:`space-y-2`,children:[(0,$.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Open this URL in your browser to complete the connection:`}),(0,$.jsx)(`div`,{className:`rounded-md bg-muted p-2`,children:(0,$.jsx)(`a`,{href:l[e.provider],target:`_blank`,rel:`noopener noreferrer`,className:`font-mono text-xs text-blue-500 underline break-all`,children:l[e.provider]})}),(0,$.jsxs)(X,{variant:`outline`,size:`sm`,onClick:()=>g(l[e.provider],e.provider),children:[d===e.provider?(0,$.jsx)(E,{className:`size-3`}):(0,$.jsx)(Ce,{className:`size-3`}),d===e.provider?`Copied`:`Copy URL`]})]})]},e.provider))})]})}function Ja(e){let t=(0,Q.c)(11),n,r,i;t[0]===e?(n=t[1],r=t[2],i=t[3]):({className:n,size:i,...r}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i);let a=i===void 0?`default`:i,o;t[4]===n?o=t[5]:(o=z(`peer group/switch relative inline-flex shrink-0 items-center rounded-full border border-transparent transition-all outline-none after:absolute after:-inset-x-3 after:-inset-y-2 focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 data-[size=default]:h-[18.4px] data-[size=default]:w-[32px] data-[size=sm]:h-[14px] data-[size=sm]:w-[24px] dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 data-checked:bg-primary data-unchecked:bg-input dark:data-unchecked:bg-input/80 data-disabled:cursor-not-allowed data-disabled:opacity-50`,n),t[4]=n,t[5]=o);let s;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,$.jsx)(fi,{"data-slot":`switch-thumb`,className:`pointer-events-none block rounded-full bg-background ring-0 transition-transform group-data-[size=default]/switch:size-4 group-data-[size=sm]/switch:size-3 group-data-[size=default]/switch:data-checked:translate-x-[calc(100%-2px)] group-data-[size=sm]/switch:data-checked:translate-x-[calc(100%-2px)] dark:data-checked:bg-primary-foreground group-data-[size=default]/switch:data-unchecked:translate-x-0 group-data-[size=sm]/switch:data-unchecked:translate-x-0 dark:data-unchecked:bg-foreground`}),t[6]=s):s=t[6];let c;return t[7]!==r||t[8]!==a||t[9]!==o?(c=(0,$.jsx)(di,{"data-slot":`switch`,"data-size":a,className:o,...r,children:s}),t[7]=r,t[8]=a,t[9]=o,t[10]=c):c=t[10],c}function Ya(e){let t=(0,Q.c)(30),{open:n,onOpenChange:r,title:i,description:a,confirmLabel:o,cancelLabel:s,variant:c,onConfirm:l,onCancel:u}=e,d=o===void 0?`Confirm`:o,f=s===void 0?`Cancel`:s,p=c===void 0?`default`:c,m;t[0]!==u||t[1]!==r?(m=()=>{u==null||u(),r(!1)},t[0]=u,t[1]=r,t[2]=m):m=t[2];let h=m,g;t[3]!==l||t[4]!==r?(g=()=>{l(),r(!1)},t[3]=l,t[4]=r,t[5]=g):g=t[5];let _=g,v;t[6]===i?v=t[7]:(v=(0,$.jsx)(ut,{children:i}),t[6]=i,t[7]=v);let y;t[8]===a?y=t[9]:(y=(0,$.jsx)(Qe,{children:a}),t[8]=a,t[9]=y);let b;t[10]!==v||t[11]!==y?(b=(0,$.jsxs)(ct,{children:[v,y]}),t[10]=v,t[11]=y,t[12]=b):b=t[12];let x;t[13]!==f||t[14]!==h?(x=(0,$.jsx)(X,{variant:`outline`,onClick:h,children:f}),t[13]=f,t[14]=h,t[15]=x):x=t[15];let S=p===`destructive`?`destructive`:`default`,C;t[16]!==d||t[17]!==_||t[18]!==S?(C=(0,$.jsx)(X,{variant:S,onClick:_,children:d}),t[16]=d,t[17]=_,t[18]=S,t[19]=C):C=t[19];let w;t[20]!==C||t[21]!==x?(w=(0,$.jsxs)(qe,{children:[x,C]}),t[20]=C,t[21]=x,t[22]=w):w=t[22];let T;t[23]!==w||t[24]!==b?(T=(0,$.jsxs)($e,{className:`sm:max-w-[425px]`,children:[b,w]}),t[23]=w,t[24]=b,t[25]=T):T=t[25];let E;return t[26]!==r||t[27]!==n||t[28]!==T?(E=(0,$.jsx)(rt,{open:n,onOpenChange:r,children:T}),t[26]=r,t[27]=n,t[28]=T,t[29]=E):E=t[29],E}function Xa(e){let t=(0,Q.c)(9),{tier:n}=e,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r={variant:`secondary`,icon:(0,$.jsx)(`span`,{className:`text-[10px] font-bold`,children:`B`})},t[0]=r):r=t[0];let i;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(i={variant:`default`,icon:(0,$.jsx)(`span`,{className:`text-[10px] font-bold`,children:`S`})},t[1]=i):i=t[1];let a;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(a={budget:r,standard:i,premium:{variant:`outline`,icon:(0,$.jsx)(jt,{className:`size-2.5`})}},t[2]=a):a=t[2];let{variant:o,icon:s}=a[n],c;t[3]===n?c=t[4]:(c=(0,$.jsx)(`span`,{className:`hidden sm:inline`,children:n}),t[3]=n,t[4]=c);let l;return t[5]!==s||t[6]!==c||t[7]!==o?(l=(0,$.jsxs)(q,{variant:o,className:`text-[10px] gap-0.5`,children:[s,c]}),t[5]=s,t[6]=c,t[7]=o,t[8]=l):l=t[8],l}function Za(e){let t=(0,Q.c)(3),{status:n}=e;if(n.usable){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsxs)(q,{variant:`default`,className:`bg-emerald-500/20 text-emerald-600 dark:text-emerald-400 border-emerald-500/30 text-[10px]`,children:[(0,$.jsx)(E,{className:`size-2.5`}),(0,$.jsx)(`span`,{className:`hidden sm:inline`,children:`Usable`})]}),t[0]=e):e=t[0],e}if(n.providerSupported&&!n.providerConfigured){let e;return t[1]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsxs)(q,{variant:`secondary`,className:`text-[10px]`,children:[(0,$.jsx)(We,{className:`size-2.5`}),(0,$.jsx)(`span`,{className:`hidden sm:inline`,children:`Needs config`})]}),t[1]=e):e=t[1],e}let r;return t[2]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,$.jsxs)(q,{variant:`outline`,className:`text-[10px] text-muted-foreground`,children:[(0,$.jsx)(L,{className:`size-2.5`}),(0,$.jsx)(`span`,{className:`hidden sm:inline`,children:`Unsupported`})]}),t[2]=r):r=t[2],r}var Qa={id:``,name:``},$a={id:``,name:``,contextWindow:128e3,maxOutputTokens:void 0,tier:`standard`};function eo({sdkClient:e}){var t,n,r;let[i,a]=(0,Z.useState)(null),[o,s]=(0,Z.useState)(!0),[c,l]=(0,Z.useState)(null),[u,d]=(0,Z.useState)(null),[f,p]=(0,Z.useState)(!1),[m,h]=(0,Z.useState)(Qa),[g,_]=(0,Z.useState)(!1),[v,y]=(0,Z.useState)(null),[b,x]=(0,Z.useState)(!1),[S,C]=(0,Z.useState)(null),[w,T]=(0,Z.useState)(null),[D,O]=(0,Z.useState)($a),[k,A]=(0,Z.useState)(!1),[j,M]=(0,Z.useState)(null),[P,F]=(0,Z.useState)(!1),[R,z]=(0,Z.useState)({}),[V,H]=(0,Z.useState)(!1),[U,ee]=(0,Z.useState)({defaultProvider:``,defaultModel:``}),[te,ne]=(0,Z.useState)(!1);function re(e,t,n){var r;let i={...(r=e.capabilities)==null?void 0:r.input};i[t]=n;let a=i.text||i.image||i.video||Array.isArray(i.file)&&i.file.length>0;return{...e,capabilities:a?{input:i}:void 0}}function W(e,t){var n;let r=t.trim()?t.split(`,`).map(e=>e.trim()).filter(Boolean):void 0,i={...(n=e.capabilities)==null?void 0:n.input,file:r},a=i.text||i.image||i.video||Array.isArray(i.file)&&i.file.length>0;return{...e,capabilities:a?{input:i}:void 0}}let ie=()=>{let e={...D.variants||{}},t=`new`,n=1;for(;e[t];)t=`new-${n++}`;e[t]={providerOptions:{}},O(t=>({...t,variants:e}))},ae=e=>{let t={...D.variants||{}};delete t[e];let n=Object.keys(t);O(e=>({...e,variants:n.length>0?t:void 0}))},oe=(e,t)=>{if(e===t)return;let n={...D.variants||{}};if(n[t]&&t!==e)return;let r=n[e];delete n[e],n[t]=r,O(e=>({...e,variants:Object.keys(n).length>0?n:void 0}))},se=(e,t)=>{try{let n=JSON.parse(t);if(typeof n!=`object`||Array.isArray(n)){z(t=>({...t,[e]:!0}));return}let r={...D.variants||{}};r[e]={providerOptions:n},O(e=>({...e,variants:r})),z(t=>({...t,[e]:!1}))}catch{z(t=>({...t,[e]:!0}))}},[ce,le]=(0,Z.useState)(new Set),G=(0,Z.useCallback)(async()=>{if(e){s(!0),l(null);try{let t=await e.http.config.models.get();a(t),ee({defaultProvider:t.defaultProvider,defaultModel:t.defaultModel})}catch(e){l(e instanceof Error?e.message:`Failed to load models config`)}finally{s(!1)}}},[e]);(0,Z.useEffect)(()=>{G()},[G]);let de=()=>{p(!0),d(null),h(Qa)},K=e=>{d(e.id),p(!1),h({id:e.id,name:e.name})},fe=async()=>{if(!(!m.id.trim()||!m.name.trim())){_(!0),l(null);try{if(f){let t={id:m.id.trim(),name:m.name.trim()};await e.http.config.models.createProvider(t)}else{let t={name:m.name.trim()};await e.http.config.models.updateProvider(u,t)}p(!1),d(null),await G()}catch(e){l(e instanceof Error?e.message:`Failed to save provider`)}finally{_(!1)}}},me=async()=>{if(v){x(!0),l(null);try{await e.http.config.models.deleteProvider(v),y(null),await G()}catch(e){l(e instanceof Error?e.message:`Failed to delete provider`)}finally{x(!1)}}},he=e=>{T(e),C(null),O($a),z({})},ge=e=>{C({providerId:e.providerId,modelId:e.id}),T(null),O({id:e.id,name:e.name,contextWindow:e.contextWindow,maxOutputTokens:e.maxOutputTokens,tier:e.tier,variants:e.variants,capabilities:e.capabilities}),z({})},_e=async t=>{if(!(!D.id.trim()||!D.name.trim())){A(!0),l(null);try{if(w){let n={id:D.id.trim(),name:D.name.trim(),contextWindow:D.contextWindow,maxOutputTokens:D.maxOutputTokens,tier:D.tier,variants:D.variants,capabilities:D.capabilities};await e.http.config.models.createModel(t,n)}else{let n={name:D.name.trim(),contextWindow:D.contextWindow,maxOutputTokens:D.maxOutputTokens,tier:D.tier,variants:D.variants,capabilities:D.capabilities};await e.http.config.models.updateModel(t,S.modelId,n)}T(null),C(null),await G()}catch(e){l(e instanceof Error?e.message:`Failed to save model`)}finally{A(!1)}}},ye=async()=>{if(j){F(!0),l(null);try{await e.http.config.models.deleteModel(j.providerId,j.modelId),M(null),await G()}catch(e){l(e instanceof Error?e.message:`Failed to delete model`)}finally{F(!1)}}},be=async()=>{ne(!0),l(null);try{await e.http.config.models.setDefaults({defaultProvider:U.defaultProvider,defaultModel:U.defaultModel}),H(!1),await G()}catch(e){l(e instanceof Error?e.message:`Failed to save defaults`)}finally{ne(!1)}},xe=e=>{le(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},Se=[];if(i==null||i.providers.forEach(e=>{e.models.forEach(t=>{Se.push({providerId:e.id,providerName:e.name,modelId:t.id,modelName:t.name})})}),o)return(0,$.jsx)(`div`,{className:`flex items-center justify-center p-8`,children:(0,$.jsx)(Y,{className:`size-6 animate-spin text-muted-foreground`})});if(f||u){let e=i==null?void 0:i.providers.find(e=>e.id===u);return(0,$.jsxs)(`div`,{className:`p-4 space-y-4`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,$.jsx)(`h3`,{className:`text-sm font-medium`,children:f?`New Provider`:`Edit: ${(e==null?void 0:e.name)||u}`}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsxs)(X,{size:`sm`,onClick:fe,disabled:g||!m.id.trim()||!m.name.trim(),children:[g?(0,$.jsx)(Y,{className:`size-3 animate-spin`}):(0,$.jsx)(E,{className:`size-3`}),`Save`]}),(0,$.jsx)(X,{size:`sm`,variant:`ghost`,onClick:()=>{p(!1),d(null)},children:(0,$.jsx)(L,{className:`size-3`})})]})]}),c&&(0,$.jsx)(`div`,{className:`p-2 rounded bg-destructive/10 text-sm text-destructive`,children:c}),(0,$.jsxs)(`div`,{className:`space-y-3`,children:[(0,$.jsxs)(`div`,{children:[(0,$.jsx)(ga,{className:`text-xs`,children:`Provider ID`}),(0,$.jsx)(J,{value:m.id,onChange:e=>h(t=>({...t,id:e.target.value})),disabled:!f,placeholder:`e.g., openai`,className:`mt-1 font-mono`}),!f&&(0,$.jsx)(`p`,{className:`text-[10px] text-muted-foreground mt-1`,children:`ID cannot be changed`})]}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(ga,{className:`text-xs`,children:`Name`}),(0,$.jsx)(J,{value:m.name,onChange:e=>h(t=>({...t,name:e.target.value})),placeholder:`e.g., OpenAI`,className:`mt-1`})]})]})]})}if(w||S){var Ce,we,Te,Ee,De,Oe,ke,Ae,je;let e=w||(S==null?void 0:S.providerId)||``,t=i==null?void 0:i.providers.find(t=>t.id===e),n=!w&&S?t==null?void 0:t.models.find(e=>e.id===S.modelId):null;return(0,$.jsxs)(`div`,{className:`p-4 space-y-4`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,$.jsx)(`h3`,{className:`text-sm font-medium`,children:w?`New Model (${(t==null?void 0:t.name)||e})`:`Edit: ${(n==null?void 0:n.name)||(S==null?void 0:S.modelId)}`}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsxs)(X,{size:`sm`,onClick:()=>_e(e),disabled:k||!D.id.trim()||!D.name.trim()||Object.values(R).some(Boolean),children:[k?(0,$.jsx)(Y,{className:`size-3 animate-spin`}):(0,$.jsx)(E,{className:`size-3`}),`Save`]}),(0,$.jsx)(X,{size:`sm`,variant:`ghost`,onClick:()=>{T(null),C(null)},children:(0,$.jsx)(L,{className:`size-3`})})]})]}),c&&(0,$.jsx)(`div`,{className:`p-2 rounded bg-destructive/10 text-sm text-destructive`,children:c}),(0,$.jsxs)(`div`,{className:`space-y-3`,children:[(0,$.jsxs)(`div`,{children:[(0,$.jsx)(ga,{className:`text-xs`,children:`Model ID`}),(0,$.jsx)(J,{value:D.id,onChange:e=>O(t=>({...t,id:e.target.value})),disabled:!w,placeholder:`e.g., gpt-4o`,className:`mt-1 font-mono`}),!w&&(0,$.jsx)(`p`,{className:`text-[10px] text-muted-foreground mt-1`,children:`ID cannot be changed`})]}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(ga,{className:`text-xs`,children:`Display Name`}),(0,$.jsx)(J,{value:D.name,onChange:e=>O(t=>({...t,name:e.target.value})),placeholder:`e.g., GPT-4o`,className:`mt-1`})]}),(0,$.jsxs)(`div`,{className:`grid grid-cols-1 sm:grid-cols-2 gap-3`,children:[(0,$.jsxs)(`div`,{children:[(0,$.jsx)(ga,{className:`text-xs`,children:`Context Window`}),(0,$.jsx)(J,{type:`number`,value:D.contextWindow,onChange:e=>O(t=>({...t,contextWindow:parseInt(e.target.value)||0})),min:1,className:`mt-1`})]}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(ga,{className:`text-xs`,children:`Max Output Tokens`}),(0,$.jsx)(J,{type:`number`,value:(Ce=D.maxOutputTokens)==null?``:Ce,onChange:e=>O(t=>({...t,maxOutputTokens:e.target.value?parseInt(e.target.value):void 0})),min:1,placeholder:`Optional`,className:`mt-1`})]})]}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(ga,{className:`text-xs`,children:`Tier`}),(0,$.jsxs)(`select`,{value:D.tier,onChange:e=>O(t=>({...t,tier:e.target.value})),className:`mt-1 h-8 w-full rounded-lg border border-input bg-transparent px-2.5 text-sm`,children:[(0,$.jsx)(`option`,{value:`budget`,children:`Budget`}),(0,$.jsx)(`option`,{value:`standard`,children:`Standard`}),(0,$.jsx)(`option`,{value:`premium`,children:`Premium`})]})]}),(0,$.jsx)(I,{className:`my-2`}),(0,$.jsxs)(`div`,{className:`space-y-2`,children:[(0,$.jsx)(ga,{className:`text-xs font-medium`,children:`Capabilities`}),(0,$.jsxs)(`div`,{className:`flex items-center gap-4`,children:[(0,$.jsxs)(`label`,{className:`flex items-center gap-1.5 cursor-pointer`,children:[(0,$.jsx)(Ja,{checked:(we=(Te=D.capabilities)==null||(Te=Te.input)==null?void 0:Te.text)==null?!1:we,onCheckedChange:e=>O(t=>re(t,`text`,e))}),(0,$.jsx)(`span`,{className:`text-xs`,children:`Text`})]}),(0,$.jsxs)(`label`,{className:`flex items-center gap-1.5 cursor-pointer`,children:[(0,$.jsx)(Ja,{checked:(Ee=(De=D.capabilities)==null||(De=De.input)==null?void 0:De.image)==null?!1:Ee,onCheckedChange:e=>O(t=>re(t,`image`,e))}),(0,$.jsx)(`span`,{className:`text-xs`,children:`Image`})]}),(0,$.jsxs)(`label`,{className:`flex items-center gap-1.5 cursor-pointer`,children:[(0,$.jsx)(Ja,{checked:(Oe=(ke=D.capabilities)==null||(ke=ke.input)==null?void 0:ke.video)==null?!1:Oe,onCheckedChange:e=>O(t=>re(t,`video`,e))}),(0,$.jsx)(`span`,{className:`text-xs`,children:`Video`})]})]}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(ga,{className:`text-xs`,children:`File Types (MIME, comma-separated)`}),(0,$.jsx)(J,{value:(Ae=(je=D.capabilities)==null||(je=je.input)==null||(je=je.file)==null?void 0:je.join(`, `))==null?``:Ae,onChange:e=>O(t=>W(t,e.target.value)),placeholder:`e.g., application/pdf, text/csv`,className:`mt-1 font-mono text-xs`})]})]}),(0,$.jsx)(I,{className:`my-2`}),(0,$.jsxs)(`div`,{className:`space-y-2`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,$.jsx)(ga,{className:`text-xs font-medium`,children:`Variants`}),(0,$.jsxs)(X,{type:`button`,size:`sm`,variant:`ghost`,onClick:ie,children:[(0,$.jsx)(B,{className:`size-3`}),`Add Variant`]})]}),D.variants&&Object.keys(D.variants).length>0?(0,$.jsx)(`div`,{className:`space-y-2`,children:Object.entries(D.variants).map(([e,t])=>(0,$.jsxs)(`div`,{className:`border rounded p-2 space-y-2`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(J,{value:e,onChange:t=>oe(e,t.target.value),placeholder:`variant name`,className:`h-7 text-xs font-mono w-24`}),(0,$.jsx)(`div`,{className:`flex-1`}),(0,$.jsx)(X,{type:`button`,size:`icon-xs`,variant:`ghost`,onClick:()=>ae(e),children:(0,$.jsx)(ve,{className:`size-3`})})]}),(0,$.jsx)(Ze,{value:JSON.stringify(t.providerOptions,null,2),onChange:t=>se(e,t.target.value),placeholder:`{}`,className:`font-mono text-xs min-h-[60px]`,rows:3}),R[e]&&(0,$.jsx)(`p`,{className:`text-[10px] text-destructive`,children:`Invalid JSON`})]},e))}):(0,$.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`No variants configured`})]})]})]})}return(0,$.jsxs)(`div`,{className:`p-4 space-y-4`,children:[(0,$.jsxs)(`div`,{className:`border rounded-lg p-3 space-y-2`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,$.jsxs)(`h3`,{className:`text-sm font-medium flex items-center gap-2`,children:[(0,$.jsx)(Pt,{className:`size-4`}),`Default Model`]}),(0,$.jsx)(X,{size:`sm`,variant:`ghost`,onClick:()=>H(!V),children:V?(0,$.jsx)(L,{className:`size-3`}):(0,$.jsx)(ft,{className:`size-3`})})]}),V?(0,$.jsxs)(`div`,{className:`space-y-2`,children:[(0,$.jsxs)(`div`,{children:[(0,$.jsx)(ga,{className:`text-xs`,children:`Default Provider`}),(0,$.jsxs)(`select`,{value:U.defaultProvider,onChange:e=>ee(t=>({...t,defaultProvider:e.target.value,defaultModel:``})),className:`mt-1 h-8 w-full rounded-lg border border-input bg-transparent px-2.5 text-sm`,children:[(0,$.jsx)(`option`,{value:``,children:`Select provider...`}),i==null?void 0:i.providers.map(e=>(0,$.jsx)(`option`,{value:e.id,children:e.name},e.id))]})]}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(ga,{className:`text-xs`,children:`Default Model`}),(0,$.jsxs)(`select`,{value:U.defaultModel,onChange:e=>ee(t=>({...t,defaultModel:e.target.value})),className:`mt-1 h-8 w-full rounded-lg border border-input bg-transparent px-2.5 text-sm`,children:[(0,$.jsx)(`option`,{value:``,children:`Select model...`}),i==null||(t=i.providers.find(e=>e.id===U.defaultProvider))==null?void 0:t.models.map(e=>(0,$.jsx)(`option`,{value:e.id,children:e.name},e.id))]})]}),(0,$.jsxs)(`div`,{className:`flex justify-end gap-2`,children:[(0,$.jsx)(X,{size:`sm`,variant:`ghost`,onClick:()=>H(!1),children:`Cancel`}),(0,$.jsxs)(X,{size:`sm`,onClick:be,disabled:te||!U.defaultProvider||!U.defaultModel,children:[te?(0,$.jsx)(Y,{className:`size-3 animate-spin`}):(0,$.jsx)(E,{className:`size-3`}),`Save`]})]})]}):(0,$.jsx)(`div`,{className:`text-sm text-muted-foreground`,children:i!=null&&i.defaultProvider&&i!=null&&i.defaultModel?(0,$.jsxs)(`span`,{children:[((n=i.providers.find(e=>e.id===i.defaultProvider))==null?void 0:n.name)||i.defaultProvider,` /`,` `,((r=i.providers.find(e=>e.id===i.defaultProvider))==null||(r=r.models.find(e=>e.id===i.defaultModel))==null?void 0:r.name)||i.defaultModel]}):(0,$.jsx)(`span`,{className:`italic`,children:`Not configured`})})]}),c&&(0,$.jsx)(`div`,{className:`p-2 rounded bg-destructive/10 text-sm text-destructive`,children:c}),(0,$.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,$.jsxs)(`p`,{className:`text-sm text-muted-foreground`,children:[(i==null?void 0:i.providers.length)||0,` provider`,((i==null?void 0:i.providers.length)||0)===1?``:`s`]}),(0,$.jsxs)(X,{size:`sm`,onClick:de,children:[(0,$.jsx)(B,{className:`size-3`}),(0,$.jsx)(`span`,{className:`hidden sm:inline`,children:`Add Provider`})]})]}),(i==null?void 0:i.providers.length)===0?(0,$.jsx)(`div`,{className:`text-center py-8 text-sm text-muted-foreground`,children:`No providers configured. Add one to get started.`}):(0,$.jsx)(`div`,{className:`space-y-2`,children:i==null?void 0:i.providers.map(e=>{let t=ce.has(e.id),n=e.id===i.defaultProvider;return(0,$.jsxs)(ue,{open:!t,onOpenChange:()=>xe(e.id),className:`border rounded-lg`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between w-full px-3 py-2 text-left hover:bg-muted/50 transition-colors cursor-pointer`,onClick:()=>xe(e.id),children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,$.jsx)(N,{className:`size-4 transition-transform ${t?``:`rotate-90`}`}),(0,$.jsx)(`span`,{className:`text-sm font-medium truncate`,children:e.name}),(0,$.jsxs)(q,{variant:`secondary`,className:`text-[10px] shrink-0`,children:[e.models.length,` model`,e.models.length===1?``:`s`]}),n&&(0,$.jsx)(q,{variant:`outline`,className:`text-[10px] shrink-0`,children:`Default`})]}),(0,$.jsxs)(`div`,{className:`flex items-center gap-1 shrink-0`,onClick:e=>e.stopPropagation(),children:[(0,$.jsx)(X,{size:`icon-xs`,variant:`ghost`,onClick:()=>he(e.id),title:`Add model`,children:(0,$.jsx)(B,{className:`size-3`})}),(0,$.jsx)(X,{size:`icon-xs`,variant:`ghost`,onClick:()=>K(e),title:`Edit provider`,children:(0,$.jsx)(ft,{className:`size-3`})}),(0,$.jsx)(X,{size:`icon-xs`,variant:`ghost`,onClick:()=>y(e.id),title:`Delete provider`,children:(0,$.jsx)(ve,{className:`size-3`})})]})]}),(0,$.jsx)(pe,{children:(0,$.jsx)(`div`,{className:`border-t px-3 py-2 space-y-1 bg-muted/30`,children:e.models.length===0?(0,$.jsx)(`div`,{className:`text-sm text-muted-foreground py-2 pl-6`,children:`No models. Add one to get started.`}):e.models.map(e=>{var t,n,r,a;let o=e.id===i.defaultModel&&e.providerId===i.defaultProvider;return(0,$.jsxs)(`div`,{className:`flex items-center justify-between py-1.5 pl-6 pr-2 rounded hover:bg-background`,children:[(0,$.jsxs)(`div`,{className:`flex-1 min-w-0 flex flex-col gap-0.5`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,$.jsx)(`span`,{className:`text-sm truncate`,children:e.name}),(0,$.jsx)(Xa,{tier:e.tier}),(0,$.jsx)(Za,{status:e.runtimeStatus}),o&&(0,$.jsxs)(q,{variant:`outline`,className:`text-[10px]`,children:[(0,$.jsx)(jt,{className:`size-2.5`}),(0,$.jsx)(`span`,{className:`hidden sm:inline`,children:`Default`})]})]}),(0,$.jsxs)(`div`,{className:`hidden sm:flex items-center gap-2`,children:[(0,$.jsx)(`code`,{className:`text-[10px] text-muted-foreground bg-muted px-1 rounded`,children:e.id}),((t=e.capabilities)==null||(t=t.input)==null?void 0:t.text)&&(0,$.jsx)(q,{variant:`outline`,className:`text-[10px] px-1.5 py-0`,children:`Text`}),((n=e.capabilities)==null||(n=n.input)==null?void 0:n.image)&&(0,$.jsx)(q,{variant:`outline`,className:`text-[10px] px-1.5 py-0`,children:`Image`}),((r=e.capabilities)==null||(r=r.input)==null?void 0:r.video)&&(0,$.jsx)(q,{variant:`outline`,className:`text-[10px] px-1.5 py-0`,children:`Video`}),((a=e.capabilities)==null||(a=a.input)==null?void 0:a.file)&&e.capabilities.input.file.length>0&&(0,$.jsxs)(q,{variant:`outline`,className:`text-[10px] px-1.5 py-0`,children:[`Files (`,e.capabilities.input.file.length,`)`]}),e.variants&&Object.keys(e.variants).length>0&&(0,$.jsxs)(q,{variant:`secondary`,className:`text-[10px] px-1.5 py-0`,children:[Object.keys(e.variants).length,` variant`,Object.keys(e.variants).length===1?``:`s`]})]})]}),(0,$.jsxs)(`div`,{className:`flex items-center gap-1 shrink-0`,children:[(0,$.jsx)(X,{size:`icon-xs`,variant:`ghost`,onClick:()=>ge(e),title:`Edit model`,children:(0,$.jsx)(ft,{className:`size-2.5`})}),(0,$.jsx)(X,{size:`icon-xs`,variant:`ghost`,onClick:()=>M({providerId:e.providerId,modelId:e.id}),title:`Delete model`,children:(0,$.jsx)(ve,{className:`size-2.5`})})]})]},e.id)})})})]},e.id)})}),(0,$.jsx)(Ya,{open:v!==null,onOpenChange:e=>{e||y(null)},title:`Delete Provider`,description:`Are you sure you want to delete "${v}"? All models under this provider will be removed.${(i==null?void 0:i.defaultProvider)===v?` Warning: This is the current default provider.`:``}`,confirmLabel:`Delete`,variant:`destructive`,onConfirm:me}),(0,$.jsx)(Ya,{open:j!==null,onOpenChange:e=>{e||M(null)},title:`Delete Model`,description:`Are you sure you want to delete "${j==null?void 0:j.modelId}"?${(i==null?void 0:i.defaultModel)===(j==null?void 0:j.modelId)&&(i==null?void 0:i.defaultProvider)===(j==null?void 0:j.providerId)?` Warning: This is the current default model.`:``}`,confirmLabel:`Delete`,variant:`destructive`,onConfirm:ye})]})}function to({sdkClient:e}){let[t,n]=(0,Z.useState)([]),[r,i]=(0,Z.useState)(!0),[a,o]=(0,Z.useState)(null),[s,c]=(0,Z.useState)(null),[l,u]=(0,Z.useState)(!1),[d,f]=(0,Z.useState)(``),[p,m]=(0,Z.useState)(``),[h,g]=(0,Z.useState)(!1),[_,v]=(0,Z.useState)(null),y=(0,Z.useCallback)(async()=>{if(e){i(!0),o(null);try{n((await e.http.config.prompts.list()).prompts)}catch(e){o(e instanceof Error?e.message:`Failed to load prompts`)}finally{i(!1)}}},[e]);(0,Z.useEffect)(()=>{y()},[y]);let b=()=>{u(!0),c(null),f(``),m(`# New Prompt
11
+
12
+ `)},x=e=>{c(e),u(!1),f(e.name),m(e.content)};return l||s?(0,$.jsxs)(`div`,{className:`p-4 space-y-4`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(X,{variant:`ghost`,size:`icon`,onClick:()=>{u(!1),c(null),f(``),m(``)},children:(0,$.jsx)(Te,{className:`size-4`})}),(0,$.jsx)(`h3`,{className:`text-sm font-medium`,children:l?`New Prompt`:`Edit: ${s==null?void 0:s.name}`})]}),(0,$.jsx)(X,{size:`sm`,onClick:async()=>{if(d.trim()){g(!0),o(null);try{l?await e.http.config.prompts.create({name:d.trim(),content:p}):s&&await e.http.config.prompts.update(s.name,{content:p}),u(!1),c(null),await y()}catch(e){o(e instanceof Error?e.message:`Failed to save prompt`)}finally{g(!1)}}},disabled:h||!d.trim(),children:h?(0,$.jsx)(Y,{className:`size-3 animate-spin`}):`Save`})]}),a&&(0,$.jsx)(`div`,{className:`p-2 rounded bg-destructive/10 text-sm text-destructive`,children:a}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`label`,{className:`text-sm font-medium mb-1 block`,children:`Name`}),(0,$.jsx)(J,{value:d,onChange:e=>f(e.target.value),disabled:!l,placeholder:`prompt-name`,className:`font-mono`})]}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`label`,{className:`text-sm font-medium mb-1 block`,children:`Content (Markdown)`}),(0,$.jsx)(`textarea`,{value:p,onChange:e=>m(e.target.value),className:`w-full h-64 p-3 rounded-lg border bg-background font-mono text-sm resize-y`,placeholder:`# Prompt Title\\n\\nPrompt content here...`})]})]}):r?(0,$.jsx)(`div`,{className:`flex items-center justify-center p-8`,children:(0,$.jsx)(Y,{className:`size-6 animate-spin text-muted-foreground`})}):(0,$.jsxs)(`div`,{className:`p-4 space-y-4`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,$.jsxs)(`p`,{className:`text-sm text-muted-foreground`,children:[t.length,` prompt`,t.length===1?``:`s`]}),(0,$.jsxs)(X,{size:`sm`,onClick:b,children:[(0,$.jsx)(B,{className:`size-3`,"data-icon":`inline-start`}),`New Prompt`]})]}),a&&(0,$.jsx)(`div`,{className:`p-2 rounded bg-destructive/10 text-sm text-destructive`,children:a}),t.length===0?(0,$.jsx)(`div`,{className:`text-center py-8 text-sm text-muted-foreground`,children:`No prompts yet. Create one to get started.`}):(0,$.jsx)(`div`,{className:`space-y-2`,children:t.map(e=>(0,$.jsxs)(`div`,{className:`flex items-center justify-between p-3 rounded-lg border hover:bg-muted/50 cursor-pointer`,onClick:()=>x(e),children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-3 min-w-0`,children:[(0,$.jsx)(Ke,{className:`size-4 text-muted-foreground shrink-0`}),(0,$.jsxs)(`div`,{className:`min-w-0`,children:[(0,$.jsx)(`div`,{className:`text-sm font-medium truncate`,children:e.name}),e.description&&(0,$.jsx)(`div`,{className:`text-xs text-muted-foreground truncate`,children:e.description})]})]}),(0,$.jsxs)(`div`,{className:`flex items-center gap-1 shrink-0`,children:[(0,$.jsx)(X,{size:`icon`,variant:`ghost`,className:`size-8`,onClick:t=>{t.stopPropagation(),x(e)},children:(0,$.jsx)(ft,{className:`size-3`})}),(0,$.jsx)(X,{size:`icon`,variant:`ghost`,className:`size-8`,onClick:t=>{t.stopPropagation(),v(e.name)},children:(0,$.jsx)(ve,{className:`size-3`})})]})]},e.name))}),(0,$.jsx)(Ya,{open:_!==null,onOpenChange:e=>{e||v(null)},title:`Delete Prompt`,description:`Are you sure you want to delete the prompt "${_}"? This cannot be undone.`,confirmLabel:`Delete`,variant:`destructive`,onConfirm:async()=>{if(_)try{await e.http.config.prompts.delete(_),v(null),await y()}catch(e){o(e instanceof Error?e.message:`Failed to delete prompt`)}}})]})}var no=[{value:`primary`,label:`Primary`},{value:`subagent`,label:`Subagent`},{value:`both`,label:`Both`}],ro={name:``,description:``,systemPrompt:``,mode:`primary`,model:``,provider:``,variant:``,tools:[],temperature:``,canSpawnSubagentsMode:`none`,canSpawnSubagentsList:[],skills:[],isDefault:!1};function io({sdkClient:e}){let[t,n]=(0,Z.useState)([]),[r,i]=(0,Z.useState)(!0),[a,o]=(0,Z.useState)(null),[s,c]=(0,Z.useState)(null),[l,u]=(0,Z.useState)(!1),[d,f]=(0,Z.useState)(ro),[p,m]=(0,Z.useState)(!1),[h,g]=(0,Z.useState)(null),[_,v]=(0,Z.useState)(!1),[y,b]=(0,Z.useState)([]),[x,S]=(0,Z.useState)(``),[C,w]=(0,Z.useState)(``),[T,D]=(0,Z.useState)(``),O=K(e=>e.models),[k,A]=(0,Z.useState)(!1),j=d.model?O.find(e=>e.id===d.model):null,M=j!=null&&j.variants?Object.keys(j.variants):[],N=O.reduce((e,t)=>{let n=t.providerName||t.providerId;return e[n]||(e[n]=[]),e[n].push(t),e},{}),P=t.filter(e=>{var t;let n=(t=e.mode)==null?`primary`:t,r=n===`subagent`||n===`both`,i=!s||e.id!==s.id;return r&&i}),F=(0,Z.useCallback)(async()=>{if(e){i(!0),o(null);try{n((await e.http.preconfigs.list()).preconfigs)}catch(e){o(e instanceof Error?e.message:`Failed to load preconfigs`)}finally{i(!1)}}},[e]);(0,Z.useEffect)(()=>{F()},[F]),(0,Z.useEffect)(()=>{e&&e.http.tools.list().then(e=>b(e.tools||[])).catch(()=>{})},[e]);let R=()=>{u(!0),c(null),f(ro),S(``),w(``),D(``),A(!1)},V=e=>{var t,n,r;c(e),u(!1),f({name:e.name,description:e.description||``,systemPrompt:e.systemPrompt||``,mode:e.mode||`primary`,model:e.model||``,provider:e.provider||``,variant:e.variant||``,tools:(t=e.tools)==null?[]:t,temperature:((n=e.settings)==null?void 0:n.temperature)==null?``:String(e.settings.temperature),canSpawnSubagentsMode:e.canSpawnSubagents===!0?`all`:e.canSpawnSubagents===!1||e.canSpawnSubagents===null||e.canSpawnSubagents===void 0?`none`:`specific`,canSpawnSubagentsList:Array.isArray(e.canSpawnSubagents)?e.canSpawnSubagents:[],skills:(r=e.skills)==null?[]:r,isDefault:e.isDefault}),S(``),w(``),D(``)};return l||s?(0,$.jsxs)(`div`,{className:`p-4 space-y-4`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(X,{variant:`ghost`,size:`icon`,onClick:()=>{u(!1),c(null),f(ro),S(``),w(``),D(``),A(!1)},children:(0,$.jsx)(Te,{className:`size-4`})}),(0,$.jsx)(`h3`,{className:`text-sm font-medium`,children:l?`New Preconfig`:`Edit: ${s==null?void 0:s.name}`})]}),(0,$.jsx)(X,{size:`sm`,onClick:async()=>{if(d.name.trim()){m(!0),o(null);try{let t=null;if(d.temperature.trim()){let e=parseFloat(d.temperature);if(isNaN(e)||e<.1||e>.9){o(`Temperature must be between 0.1 and 0.9`),m(!1);return}t={temperature:e}}let n=null;n=d.canSpawnSubagentsMode===`all`?!0:d.canSpawnSubagentsMode===`specific`?d.canSpawnSubagentsList.length>0?d.canSpawnSubagentsList:[]:!1;let r={name:d.name.trim(),description:d.description.trim(),systemPrompt:d.systemPrompt,mode:d.mode,model:d.model.trim()||null,provider:d.provider.trim()||null,variant:d.variant.trim()||null,tools:d.tools.length>0?d.tools:null,settings:t,canSpawnSubagents:n,skills:d.skills.length>0?d.skills:null,isDefault:d.isDefault,format:`md`};l?await e.http.preconfigs.create(r):s&&await e.http.preconfigs.update(s.id,r),u(!1),c(null),await F()}catch(e){o(e instanceof Error?e.message:`Failed to save preconfig`)}finally{m(!1)}}},disabled:p||!d.name.trim(),children:p?(0,$.jsx)(Y,{className:`size-3 animate-spin`}):`Save`})]}),a&&(0,$.jsx)(`div`,{className:`p-2 rounded bg-destructive/10 text-sm text-destructive`,children:a}),(0,$.jsxs)(`div`,{className:`space-y-3`,children:[(0,$.jsxs)(`div`,{children:[(0,$.jsx)(ga,{className:`text-sm`,children:`Name`}),(0,$.jsx)(J,{value:d.name,onChange:e=>f({...d,name:e.target.value}),placeholder:`My Agent`})]}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(ga,{className:`text-sm`,children:`Description`}),(0,$.jsx)(J,{value:d.description,onChange:e=>f({...d,description:e.target.value}),placeholder:`Description...`})]}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(ga,{className:`text-sm`,children:`Mode`}),(0,$.jsx)(`select`,{value:d.mode,onChange:e=>f({...d,mode:e.target.value}),className:`w-full h-9 rounded-md border bg-background px-3 text-sm`,children:no.map(e=>(0,$.jsx)(`option`,{value:e.value,children:e.label},e.value))})]}),(0,$.jsxs)(`div`,{className:`grid grid-cols-1 gap-3`,children:[(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(ga,{className:`text-sm`,children:`Model`}),(0,$.jsxs)(ot,{open:k,onOpenChange:A,children:[(0,$.jsx)(et,{asChild:!0,children:(0,$.jsxs)(X,{variant:`outline`,role:`combobox`,"aria-expanded":k,className:`w-full justify-between font-mono text-sm h-9`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2 truncate`,children:[(0,$.jsx)(we,{className:`size-4 shrink-0 text-muted-foreground`}),j?(0,$.jsx)(`span`,{className:`truncate`,children:j.name}):(0,$.jsx)(`span`,{className:`text-muted-foreground`,children:`Use server default`})]}),(0,$.jsx)(lt,{className:`size-3 shrink-0 opacity-50`})]})}),(0,$.jsx)(it,{className:`w-[280px] p-0`,align:`start`,children:(0,$.jsxs)(Je,{children:[(0,$.jsx)(Ye,{placeholder:`Search models...`}),(0,$.jsxs)(st,{className:`max-h-[50vh] overflow-y-auto`,children:[(0,$.jsx)(nt,{children:`No model found.`}),(0,$.jsx)(at,{children:(0,$.jsxs)(tt,{onSelect:()=>{f(e=>({...e,model:``,provider:``,variant:``})),A(!1)},className:`justify-between`,children:[(0,$.jsx)(`span`,{className:`text-muted-foreground`,children:`Use server default`}),!d.model&&(0,$.jsx)(E,{className:`size-4`})]})}),Object.entries(N).map(([e,t])=>(0,$.jsx)(at,{heading:e,children:t.map(e=>(0,$.jsxs)(tt,{value:`${e.name} ${e.id}`,onSelect:()=>{f(t=>({...t,model:e.id,provider:e.providerId,variant:``})),A(!1)},className:`justify-between`,children:[(0,$.jsx)(`span`,{className:`truncate`,children:e.name}),(0,$.jsx)(E,{className:z(`size-4 shrink-0`,d.model===e.id?`opacity-100`:`opacity-0`)})]},e.id))},e))]})]})})]}),(0,$.jsx)(`p`,{className:`text-[10px] text-muted-foreground`,children:`Provider is set automatically based on the selected model`})]}),M.length>0&&(0,$.jsxs)(`div`,{children:[(0,$.jsx)(ga,{className:`text-sm`,children:`Variant`}),(0,$.jsxs)(`select`,{value:d.variant,onChange:e=>f(t=>({...t,variant:e.target.value})),className:`w-full h-9 rounded-md border bg-background px-3 text-sm`,children:[(0,$.jsx)(`option`,{value:``,children:`Default`}),M.map(e=>(0,$.jsx)(`option`,{value:e,children:e},e))]}),(0,$.jsx)(`p`,{className:`text-[10px] text-muted-foreground mt-1`,children:`Model variant from models.json (e.g., reasoning effort)`})]})]}),(0,$.jsx)(I,{className:`my-1`}),(0,$.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,$.jsxs)(`div`,{children:[(0,$.jsx)(ga,{className:`text-sm`,children:`Default Preconfig`}),(0,$.jsx)(`p`,{className:`text-[10px] text-muted-foreground`,children:`Only one preconfig can be the default`})]}),(0,$.jsx)(Ja,{checked:d.isDefault,onCheckedChange:e=>f({...d,isDefault:e})})]}),(0,$.jsx)(I,{className:`my-1`}),(0,$.jsxs)(`div`,{className:`space-y-2`,children:[(0,$.jsx)(ga,{className:`text-sm`,children:`Tools`}),(0,$.jsx)(`p`,{className:`text-[10px] text-muted-foreground`,children:d.tools.length===0?`No tools selected — all available tools will be enabled`:`${d.tools.length} tool${d.tools.length===1?``:`s`} selected`}),y.length>0&&(0,$.jsx)(`div`,{className:`flex flex-wrap gap-1.5`,children:y.map(e=>{let t=d.tools.includes(e.name);return(0,$.jsxs)(`button`,{type:`button`,onClick:()=>{f(n=>({...n,tools:t?n.tools.filter(t=>t!==e.name):[...n.tools,e.name]}))},className:`inline-flex items-center gap-1 px-2 py-0.5 rounded-md text-xs border transition-colors ${t?`bg-primary text-primary-foreground border-primary`:`bg-background border-border hover:bg-muted`}`,title:e.description,children:[t&&(0,$.jsx)(E,{className:`size-2.5`}),e.name]},e.name)})}),(0,$.jsx)(`div`,{className:`flex gap-1.5`,children:(0,$.jsx)(J,{value:x,onChange:e=>S(e.target.value),placeholder:`Add custom tool ID...`,className:`h-7 text-xs font-mono`,onKeyDown:e=>{if(e.key===`Enter`&&x.trim()){e.preventDefault();let t=x.trim();d.tools.includes(t)||f(e=>({...e,tools:[...e.tools,t]})),S(``)}}})}),d.tools.filter(e=>!y.some(t=>t.name===e)).length>0&&(0,$.jsx)(`div`,{className:`flex flex-wrap gap-1.5`,children:d.tools.filter(e=>!y.some(t=>t.name===e)).map(e=>(0,$.jsxs)(`span`,{className:`inline-flex items-center gap-1 px-2 py-0.5 rounded-md text-xs bg-primary/10 border border-primary/30`,children:[e,(0,$.jsx)(`button`,{type:`button`,onClick:()=>f(t=>({...t,tools:t.tools.filter(t=>t!==e)})),className:`hover:text-destructive`,children:(0,$.jsx)(L,{className:`size-2.5`})})]},e))})]}),(0,$.jsx)(I,{className:`my-1`}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(ga,{className:`text-sm`,children:`Temperature`}),(0,$.jsx)(`p`,{className:`text-[10px] text-muted-foreground`,children:`Model sampling temperature (0.1–0.9). Leave empty to use server default.`}),(0,$.jsx)(J,{type:`number`,value:d.temperature,onChange:e=>f({...d,temperature:e.target.value}),placeholder:`0.2`,min:`0.1`,max:`0.9`,step:`0.1`,className:`font-mono`})]}),(0,$.jsx)(I,{className:`my-1`}),(0,$.jsxs)(`div`,{className:`space-y-2`,children:[(0,$.jsx)(ga,{className:`text-sm`,children:`Can Spawn Subagents`}),(0,$.jsxs)(`select`,{value:d.canSpawnSubagentsMode,onChange:e=>f({...d,canSpawnSubagentsMode:e.target.value}),className:`w-full h-9 rounded-md border bg-background px-3 text-sm`,children:[(0,$.jsx)(`option`,{value:`none`,children:`No — cannot spawn subagents`}),(0,$.jsx)(`option`,{value:`all`,children:`Yes — all available subagents`}),(0,$.jsx)(`option`,{value:`specific`,children:`Specific — choose which subagents`})]}),d.canSpawnSubagentsMode===`specific`&&(0,$.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,$.jsx)(`p`,{className:`text-[10px] text-muted-foreground`,children:`Select from available subagents or enter a preconfig ID manually`}),P.length>0&&(0,$.jsx)(`div`,{className:`flex flex-wrap gap-1.5`,children:P.map(e=>{let t=d.canSpawnSubagentsList.includes(e.id);return(0,$.jsxs)(`button`,{type:`button`,onClick:()=>{f(n=>({...n,canSpawnSubagentsList:t?n.canSpawnSubagentsList.filter(t=>t!==e.id):[...n.canSpawnSubagentsList,e.id]}))},className:`inline-flex items-center gap-1 px-2 py-0.5 rounded-md text-xs border transition-colors ${t?`bg-primary text-primary-foreground border-primary`:`bg-background border-border hover:bg-muted`}`,title:e.description||e.id,children:[t&&(0,$.jsx)(E,{className:`size-2.5`}),e.name]},e.id)})}),(0,$.jsx)(`div`,{className:`flex gap-1.5`,children:(0,$.jsx)(J,{value:C,onChange:e=>w(e.target.value),placeholder:`Preconfig ID...`,className:`h-7 text-xs font-mono`,onKeyDown:e=>{if(e.key===`Enter`&&C.trim()){e.preventDefault();let t=C.trim();d.canSpawnSubagentsList.includes(t)||f(e=>({...e,canSpawnSubagentsList:[...e.canSpawnSubagentsList,t]})),w(``)}}})}),d.canSpawnSubagentsList.filter(e=>!P.some(t=>t.id===e)).length>0&&(0,$.jsx)(`div`,{className:`flex flex-wrap gap-1.5`,children:d.canSpawnSubagentsList.filter(e=>!P.some(t=>t.id===e)).map(e=>(0,$.jsxs)(`span`,{className:`inline-flex items-center gap-1 px-2 py-0.5 rounded-md text-xs bg-primary/10 border border-primary/30 font-mono`,children:[e,(0,$.jsx)(`button`,{type:`button`,onClick:()=>f(t=>({...t,canSpawnSubagentsList:t.canSpawnSubagentsList.filter(t=>t!==e)})),className:`hover:text-destructive`,children:(0,$.jsx)(L,{className:`size-2.5`})})]},e))})]})]}),(0,$.jsx)(I,{className:`my-1`}),(0,$.jsxs)(`div`,{className:`space-y-2`,children:[(0,$.jsx)(ga,{className:`text-sm`,children:`Skills`}),(0,$.jsx)(`p`,{className:`text-[10px] text-muted-foreground`,children:d.skills.length===0?`No skills selected — all available skills will be enabled`:`${d.skills.length} skill${d.skills.length===1?``:`s`} selected`}),(0,$.jsx)(`div`,{className:`flex gap-1.5`,children:(0,$.jsx)(J,{value:T,onChange:e=>D(e.target.value),placeholder:`Skill name...`,className:`h-7 text-xs font-mono`,onKeyDown:e=>{if(e.key===`Enter`&&T.trim()){e.preventDefault();let t=T.trim();d.skills.includes(t)||f(e=>({...e,skills:[...e.skills,t]})),D(``)}}})}),d.skills.length>0&&(0,$.jsx)(`div`,{className:`flex flex-wrap gap-1.5`,children:d.skills.map(e=>(0,$.jsxs)(`span`,{className:`inline-flex items-center gap-1 px-2 py-0.5 rounded-md text-xs bg-primary/10 border border-primary/30`,children:[e,(0,$.jsx)(`button`,{type:`button`,onClick:()=>f(t=>({...t,skills:t.skills.filter(t=>t!==e)})),className:`hover:text-destructive`,children:(0,$.jsx)(L,{className:`size-2.5`})})]},e))})]}),(0,$.jsx)(I,{className:`my-1`}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(ga,{className:`text-sm`,children:`System Prompt`}),(0,$.jsx)(`textarea`,{value:d.systemPrompt,onChange:e=>f({...d,systemPrompt:e.target.value}),className:`w-full h-48 p-3 rounded-lg border bg-background text-sm resize-y`,placeholder:`System prompt content...`})]})]})]}):r?(0,$.jsx)(`div`,{className:`flex items-center justify-center p-8`,children:(0,$.jsx)(Y,{className:`size-6 animate-spin text-muted-foreground`})}):(0,$.jsxs)(`div`,{className:`p-4 space-y-4`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,$.jsxs)(`p`,{className:`text-sm text-muted-foreground`,children:[t.length,` preconfig`,t.length===1?``:`s`]}),(0,$.jsxs)(X,{size:`sm`,onClick:R,children:[(0,$.jsx)(B,{className:`size-3`}),(0,$.jsx)(`span`,{className:`hidden sm:inline`,children:`New Preconfig`})]})]}),a&&(0,$.jsx)(`div`,{className:`p-2 rounded bg-destructive/10 text-sm text-destructive`,children:a}),t.length===0?(0,$.jsx)(`div`,{className:`text-center py-8 text-sm text-muted-foreground`,children:`No preconfigs yet. Create one to get started.`}):(0,$.jsx)(`div`,{className:`space-y-2`,children:t.map(e=>(0,$.jsxs)(`div`,{className:`flex items-center justify-between p-2.5 sm:p-3 rounded-lg border hover:bg-muted/50 cursor-pointer`,onClick:()=>V(e),children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2 sm:gap-3 flex-1 min-w-0`,children:[(0,$.jsx)(Ht,{className:`size-4 text-muted-foreground shrink-0 hidden sm:block`}),(0,$.jsxs)(`div`,{className:`flex flex-col flex-1 min-w-0 gap-0.5 sm:gap-1 overflow-hidden`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5 sm:gap-2 min-w-0`,children:[(0,$.jsx)(`span`,{className:`text-sm font-medium truncate`,children:e.name}),e.isDefault&&(0,$.jsxs)(q,{variant:`default`,className:`text-[10px] px-1 sm:px-1.5 py-0`,children:[(0,$.jsx)(jt,{className:`size-2.5 sm:mr-0.5`}),(0,$.jsx)(`span`,{className:`hidden sm:inline`,children:`Default`})]}),e.mode&&e.mode!==`primary`&&(0,$.jsxs)(q,{variant:`secondary`,className:`text-[10px] px-1 sm:px-1.5 py-0`,children:[(0,$.jsx)(`span`,{className:`hidden sm:inline`,children:e.mode}),(0,$.jsx)(`span`,{className:`sm:hidden`,children:e.mode===`subagent`?`SA`:`B`})]})]}),e.description&&(0,$.jsx)(`div`,{className:`text-xs text-muted-foreground line-clamp-1`,children:e.description})]})]}),(0,$.jsxs)(`div`,{className:`flex items-center gap-0.5 sm:gap-1 shrink-0`,onClick:e=>e.stopPropagation(),children:[(0,$.jsx)(X,{size:`icon-xs`,variant:`ghost`,onClick:()=>V(e),title:`Edit preconfig`,children:(0,$.jsx)(ft,{className:`size-3`})}),!e.isDefault&&(0,$.jsx)(X,{size:`icon-xs`,variant:`ghost`,onClick:()=>g(e.id),title:`Delete preconfig`,children:(0,$.jsx)(ve,{className:`size-3`})})]})]},e.id))}),(0,$.jsx)(Ya,{open:h!==null,onOpenChange:e=>{e||g(null)},title:`Delete Preconfig`,description:`Are you sure you want to delete this preconfig? This cannot be undone.`,confirmLabel:`Delete`,variant:`destructive`,onConfirm:async()=>{if(h){v(!0);try{await e.http.preconfigs.delete(h),g(null),await F()}catch(e){o(e instanceof Error?e.message:`Failed to delete preconfig`)}finally{v(!1)}}}})]})}function ao(e){let t=(0,Q.c)(26),{open:n,onOpenChange:r,sdkClient:i}=e,a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,$.jsxs)(ct,{children:[(0,$.jsx)(ut,{children:`Configuration`}),(0,$.jsx)(Qe,{children:`Manage credentials, OAuth providers, models, prompts, and preconfigs`})]}),t[0]=a):a=t[0];let o;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,$.jsxs)(ma,{value:`providers`,children:[(0,$.jsx)(Bt,{className:`size-4`,"data-icon":`inline-start`}),(0,$.jsx)(`span`,{className:`hidden sm:inline`,children:`Credentials`})]}),t[1]=o):o=t[1];let s;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,$.jsxs)(ma,{value:`oauth`,children:[(0,$.jsx)(Gt,{className:`size-4`,"data-icon":`inline-start`}),(0,$.jsx)(`span`,{className:`hidden sm:inline`,children:`OAuth`})]}),t[2]=s):s=t[2];let c;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,$.jsxs)(ma,{value:`models`,children:[(0,$.jsx)(Pt,{className:`size-4`,"data-icon":`inline-start`}),(0,$.jsx)(`span`,{className:`hidden sm:inline`,children:`Models`})]}),t[3]=c):c=t[3];let l;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,$.jsxs)(ma,{value:`prompts`,children:[(0,$.jsx)(Ke,{className:`size-4`,"data-icon":`inline-start`}),(0,$.jsx)(`span`,{className:`hidden sm:inline`,children:`Prompts`})]}),t[4]=l):l=t[4];let u;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,$.jsxs)(pa,{className:`grid w-full grid-cols-5`,children:[o,s,c,l,(0,$.jsxs)(ma,{value:`preconfigs`,children:[(0,$.jsx)(Ht,{className:`size-4`,"data-icon":`inline-start`}),(0,$.jsx)(`span`,{className:`hidden sm:inline`,children:`Preconfigs`})]})]}),t[5]=u):u=t[5];let d;t[6]===i?d=t[7]:(d=(0,$.jsx)(ha,{value:`providers`,className:`mt-4`,children:(0,$.jsx)(Mt,{className:`h-[calc(100dvh-14rem)] sm:h-[500px]`,children:(0,$.jsx)(Ka,{sdkClient:i})})}),t[6]=i,t[7]=d);let f;t[8]===i?f=t[9]:(f=(0,$.jsx)(ha,{value:`oauth`,className:`mt-4`,children:(0,$.jsx)(Mt,{className:`h-[calc(100dvh-14rem)] sm:h-[500px]`,children:(0,$.jsx)(qa,{sdkClient:i})})}),t[8]=i,t[9]=f);let p;t[10]===i?p=t[11]:(p=(0,$.jsx)(ha,{value:`models`,className:`mt-4`,children:(0,$.jsx)(Mt,{className:`h-[calc(100dvh-14rem)] sm:h-[500px]`,children:(0,$.jsx)(eo,{sdkClient:i})})}),t[10]=i,t[11]=p);let m;t[12]===i?m=t[13]:(m=(0,$.jsx)(ha,{value:`prompts`,className:`mt-4`,children:(0,$.jsx)(Mt,{className:`h-[calc(100dvh-14rem)] sm:h-[500px]`,children:(0,$.jsx)(to,{sdkClient:i})})}),t[12]=i,t[13]=m);let h;t[14]===i?h=t[15]:(h=(0,$.jsx)(ha,{value:`preconfigs`,className:`mt-4`,children:(0,$.jsx)(Mt,{className:`h-[calc(100dvh-14rem)] sm:h-[500px]`,children:(0,$.jsx)(io,{sdkClient:i})})}),t[14]=i,t[15]=h);let g;t[16]!==m||t[17]!==h||t[18]!==d||t[19]!==f||t[20]!==p?(g=(0,$.jsxs)($e,{className:`max-w-[calc(100vw-1rem)] sm:max-w-[800px] max-h-[calc(100dvh-2rem)] sm:max-h-[85vh]`,children:[a,(0,$.jsxs)(da,{defaultValue:`providers`,className:`mt-4`,children:[u,d,f,p,m,h]})]}),t[16]=m,t[17]=h,t[18]=d,t[19]=f,t[20]=p,t[21]=g):g=t[21];let _;return t[22]!==r||t[23]!==n||t[24]!==g?(_=(0,$.jsx)(rt,{open:n,onOpenChange:r,children:g}),t[22]=r,t[23]=n,t[24]=g,t[25]=_):_=t[25],_}function oo({sdkClient:e}){let[t,n]=(0,Z.useState)([]),[r,i]=(0,Z.useState)([]),[a,o]=(0,Z.useState)(!0),[s,c]=(0,Z.useState)(null),[l,u]=(0,Z.useState)(null),[d,f]=(0,Z.useState)(``),[p,m]=(0,Z.useState)(!1),[h,g]=(0,Z.useState)(null),_=(0,Z.useCallback)(async()=>{if(e){o(!0),c(null);try{let[t,r]=await Promise.all([e.http.tools.list(),e.http.tools.listEnvVars()]);n(t.tools),i(r.envVars)}catch(e){c(e instanceof Error?e.message:`Failed to load tools`)}finally{o(!1)}}},[e]);(0,Z.useEffect)(()=>{_()},[_]);let v=async t=>{if(!(!e||!d.trim())){g(t);try{await e.http.tools.setEnvVar(t,{value:d.trim()}),u(null),f(``),m(!1),await _()}catch(e){c(e instanceof Error?e.message:`Failed to set value`)}finally{g(null)}}},y=async t=>{if(e){g(t);try{await e.http.tools.clearEnvVar(t),await _()}catch(e){c(e instanceof Error?e.message:`Failed to clear value`)}finally{g(null)}}},b=new Map;for(let e of r)if(e.usedBy)for(let t of e.usedBy){let n=b.get(t)||[];n.push(e.key),b.set(t,n)}let x=e=>{let t=e.env||[];if(t.length===0)return{total:0,missing:0};let n=t.filter(e=>{let t=r.find(t=>t.key===e);return!t||!t.configured});return{total:t.length,missing:n.length}};return a?(0,$.jsx)(`div`,{className:`flex items-center justify-center p-8`,children:(0,$.jsx)(Y,{className:`size-6 animate-spin text-muted-foreground`})}):s&&t.length===0?(0,$.jsx)(`div`,{className:`p-4 text-sm text-destructive`,children:s}):(0,$.jsxs)(`div`,{className:`p-4 space-y-6`,children:[s&&(0,$.jsx)(`div`,{className:`p-2 rounded bg-destructive/10 text-sm text-destructive`,children:s}),(0,$.jsxs)(`div`,{children:[(0,$.jsxs)(`h3`,{className:`text-sm font-semibold flex items-center gap-2 mb-3`,children:[(0,$.jsx)(He,{className:`size-4`}),`Loaded Tools (`,t.length,`)`]}),(0,$.jsx)(`div`,{className:`space-y-1`,children:t.map(e=>{let t=x(e);return(0,$.jsxs)(`div`,{className:`flex items-center justify-between p-2.5 rounded-lg border`,children:[(0,$.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,$.jsx)(`span`,{className:`text-sm font-medium truncate`,children:e.name}),(0,$.jsx)(`p`,{className:`text-xs text-muted-foreground mt-0.5 line-clamp-2`,children:e.description})]}),(0,$.jsx)(`div`,{className:`shrink-0 ml-2`,children:t.total===0?(0,$.jsxs)(q,{variant:`secondary`,className:`text-xs`,children:[(0,$.jsx)(E,{className:`size-3 mr-1`}),`Ready`]}):t.missing>0?(0,$.jsxs)(q,{variant:`outline`,className:`text-xs text-orange-500 border-orange-300`,children:[(0,$.jsx)(Re,{className:`size-3 mr-1`}),t.missing,` env missing`]}):(0,$.jsxs)(q,{variant:`default`,className:`text-xs`,children:[(0,$.jsx)(je,{className:`size-3 mr-1`}),`Configured`]})})]},e.name)})})]}),r.length>0&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(I,{}),(0,$.jsxs)(`div`,{children:[(0,$.jsxs)(`h3`,{className:`text-sm font-semibold flex items-center gap-2 mb-3`,children:[`Environment Variables (`,r.length,`)`]}),(0,$.jsx)(`div`,{className:`space-y-2`,children:r.map(e=>(0,$.jsxs)(`div`,{className:`p-3 rounded-lg border`,children:[(0,$.jsx)(`div`,{className:`flex items-center justify-between`,children:(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[e.configured?(0,$.jsx)(E,{className:`size-4 text-green-500`}):(0,$.jsx)(L,{className:`size-4 text-orange-500`}),(0,$.jsx)(`span`,{className:`text-sm font-mono font-medium`,children:e.key}),e.sensitive&&(0,$.jsx)(Ee,{className:`size-3 text-muted-foreground`}),(0,$.jsx)(q,{variant:e.configured?`default`:`secondary`,className:`text-xs`,children:e.configured?`Configured`:`Not set`})]})}),e.usedBy&&e.usedBy.length>0&&(0,$.jsxs)(`p`,{className:`text-xs text-muted-foreground mt-1`,children:[`Required by: `,e.usedBy.join(`, `)]}),e.configured&&!e.sensitive&&e.value&&l!==e.key&&(0,$.jsxs)(`p`,{className:`text-xs text-muted-foreground mt-1 font-mono`,children:[`Value: `,e.value]}),l===e.key?(0,$.jsxs)(`div`,{className:`flex items-center gap-2 mt-2`,children:[(0,$.jsxs)(`div`,{className:`relative flex-1`,children:[(0,$.jsx)(J,{type:e.sensitive?p?`text`:`password`:`text`,value:d,onChange:e=>f(e.target.value),placeholder:e.sensitive?`Enter secret value...`:`Enter value...`,className:`h-8 text-sm pr-8`,onKeyDown:t=>{t.key===`Enter`&&v(e.key),t.key===`Escape`&&(u(null),f(``))},autoFocus:!0}),e.sensitive&&(0,$.jsx)(X,{type:`button`,variant:`ghost`,size:`icon`,className:`absolute right-0 top-0 h-8 w-8`,onClick:()=>m(!p),children:p?(0,$.jsx)(Ft,{className:`size-3`}):(0,$.jsx)(Oe,{className:`size-3`})})]}),(0,$.jsx)(X,{size:`sm`,onClick:()=>v(e.key),disabled:!d.trim()||h===e.key,children:h===e.key?(0,$.jsx)(Y,{className:`size-3 animate-spin`}):(0,$.jsx)(E,{className:`size-3`})}),(0,$.jsx)(X,{size:`sm`,variant:`ghost`,onClick:()=>{u(null),f(``)},children:(0,$.jsx)(L,{className:`size-3`})})]}):(0,$.jsxs)(`div`,{className:`flex items-center gap-2 mt-2`,children:[(0,$.jsx)(X,{size:`sm`,variant:`outline`,onClick:()=>{u(e.key),f(``),m(!1)},disabled:h===e.key,children:e.configured?`Update`:`Set Value`}),e.configured&&(0,$.jsx)(X,{size:`sm`,variant:`ghost`,onClick:()=>y(e.key),disabled:h===e.key,children:h===e.key?(0,$.jsx)(Y,{className:`size-3 animate-spin`}):(0,$.jsx)(ve,{className:`size-3`})})]})]},e.key))})]})]}),r.length===0&&t.length>0&&(0,$.jsx)(`p`,{className:`text-sm text-muted-foreground text-center py-4`,children:`No environment variables required by installed tools.`})]})}function so(e){let t=(0,Q.c)(8),{open:n,onOpenChange:r,sdkClient:i}=e,a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,$.jsxs)(ct,{children:[(0,$.jsx)(ut,{children:`Tools`}),(0,$.jsx)(Qe,{children:`View loaded tools and manage their environment variables`})]}),t[0]=a):a=t[0];let o;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,$.jsx)(pa,{className:`grid w-full grid-cols-1`,children:(0,$.jsxs)(ma,{value:`tools`,children:[(0,$.jsx)(He,{className:`size-4`,"data-icon":`inline-start`}),(0,$.jsx)(`span`,{className:`hidden sm:inline`,children:`Tools & Env`})]})}),t[1]=o):o=t[1];let s;t[2]===i?s=t[3]:(s=(0,$.jsxs)($e,{className:`max-w-[calc(100vw-1rem)] sm:max-w-[800px] max-h-[calc(100dvh-2rem)] sm:max-h-[85vh]`,children:[a,(0,$.jsxs)(da,{defaultValue:`tools`,className:`mt-4`,children:[o,(0,$.jsx)(ha,{value:`tools`,className:`mt-4`,children:(0,$.jsx)(Mt,{className:`h-[calc(100dvh-14rem)] sm:h-[500px]`,children:(0,$.jsx)(oo,{sdkClient:i})})})]})]}),t[2]=i,t[3]=s);let c;return t[4]!==r||t[5]!==n||t[6]!==s?(c=(0,$.jsx)(rt,{open:n,onOpenChange:r,children:s}),t[4]=r,t[5]=n,t[6]=s,t[7]=c):c=t[7],c}function co(e){let t=(0,Q.c)(6),{action:n}=e;switch(n){case`read`:{let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(Oe,{className:`size-3`,"data-icon":`inline-start`}),t[0]=e):e=t[0],e}case`write`:{let e;return t[1]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(ft,{className:`size-3`,"data-icon":`inline-start`}),t[1]=e):e=t[1],e}case`delete`:{let e;return t[2]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(Qt,{className:`size-3`,"data-icon":`inline-start`}),t[2]=e):e=t[2],e}case`request`:{let e;return t[3]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(zt,{className:`size-3`,"data-icon":`inline-start`}),t[3]=e):e=t[3],e}case`execute`:{let e;return t[4]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(mt,{className:`size-3`,"data-icon":`inline-start`}),t[4]=e):e=t[4],e}default:{let e;return t[5]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(xe,{className:`size-3`,"data-icon":`inline-start`}),t[5]=e):e=t[5],e}}}function lo(e){return new Date(e).toLocaleDateString(void 0,{year:`numeric`,month:`short`,day:`numeric`})}function uo(e){switch(e){case`once`:return`Once`;case`session`:return`Session`;case`workspace`:return`Workspace`;case`always`:return`Workspace`;default:return e}}function fo(e){switch(e){case`read`:return`Read`;case`write`:return`Write`;case`delete`:return`Delete`;case`request`:return`Network`;case`execute`:return`Execute`;default:return null}}function po(e){switch(e){case`file`:return`File`;case`path`:return`Path`;case`directory`:return`Directory`;case`shell-command`:return`Shell`;case`network`:return`Network`;default:return e}}function mo(e){return e.length===0?`All`:e.map(e=>e.startsWith(`file:`)?e.slice(5):e.startsWith(`shell-command:`)?e.slice(15):e).join(`, `)}function ho(e){let t=(0,Q.c)(48),{permission:n,onRevoke:r}=e,i=!!n.revokedAt,a;t[0]===n.action?a=t[1]:(a=fo(n.action),t[0]=n.action,t[1]=a);let o=a,s;t[2]===n.resource?s=t[3]:(s=po(n.resource),t[2]=n.resource,t[3]=s);let c=s,l;t[4]===n.patterns?l=t[5]:(l=mo(n.patterns),t[4]=n.patterns,t[5]=l);let u=l,d=i?`outline`:`secondary`,f;t[6]===n.action?f=t[7]:(f=(0,$.jsx)(co,{action:n.action}),t[6]=n.action,t[7]=f);let p=o?`${c} ${o}`:c,m;t[8]!==d||t[9]!==f||t[10]!==p?(m=(0,$.jsxs)(q,{variant:d,children:[f,p]}),t[8]=d,t[9]=f,t[10]=p,t[11]=m):m=t[11];let h;t[12]===n.toolName?h=t[13]:(h=(0,$.jsx)(q,{variant:`outline`,className:`text-xs`,children:n.toolName}),t[12]=n.toolName,t[13]=h);let g;t[14]===n.scope?g=t[15]:(g=uo(n.scope),t[14]=n.scope,t[15]=g);let _;t[16]===g?_=t[17]:(_=(0,$.jsx)(q,{variant:`outline`,className:`text-xs`,children:g}),t[16]=g,t[17]=_);let v;t[18]===n.matcher?v=t[19]:(v=n.matcher!==`exact`&&(0,$.jsx)(q,{variant:`outline`,className:`text-xs text-muted-foreground`,children:n.matcher}),t[18]=n.matcher,t[19]=v);let y;t[20]===i?y=t[21]:(y=i&&(0,$.jsx)(q,{variant:`outline`,className:`text-muted-foreground`,children:`Revoked`}),t[20]=i,t[21]=y);let b;t[22]!==_||t[23]!==v||t[24]!==y||t[25]!==m||t[26]!==h?(b=(0,$.jsxs)(`div`,{className:`flex items-center gap-2 mb-1 flex-wrap`,children:[m,h,_,v,y]}),t[22]=_,t[23]=v,t[24]=y,t[25]=m,t[26]=h,t[27]=b):b=t[27];let x;t[28]===u?x=t[29]:(x=(0,$.jsx)(`p`,{className:`text-sm font-mono break-all text-muted-foreground`,children:u}),t[28]=u,t[29]=x);let S;t[30]===n.grantedAt?S=t[31]:(S=lo(n.grantedAt),t[30]=n.grantedAt,t[31]=S);let C;t[32]===n.revokedAt?C=t[33]:(C=n.revokedAt&&` • Revoked ${lo(n.revokedAt)}`,t[32]=n.revokedAt,t[33]=C);let w;t[34]!==S||t[35]!==C?(w=(0,$.jsxs)(`p`,{className:`text-xs text-muted-foreground mt-1`,children:[`Saved `,S,C]}),t[34]=S,t[35]=C,t[36]=w):w=t[36];let T;t[37]!==b||t[38]!==x||t[39]!==w?(T=(0,$.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[b,x,w]}),t[37]=b,t[38]=x,t[39]=w,t[40]=T):T=t[40];let E;t[41]!==i||t[42]!==r||t[43]!==n.id?(E=!i&&(0,$.jsx)(X,{variant:`ghost`,size:`icon`,onClick:()=>r(n.id),className:`size-8 text-destructive hover:text-destructive`,children:(0,$.jsx)(ve,{className:`size-4`})}),t[41]=i,t[42]=r,t[43]=n.id,t[44]=E):E=t[44];let D;return t[45]!==T||t[46]!==E?(D=(0,$.jsxs)(`div`,{className:`flex items-start justify-between gap-4 py-3 border-b border-border last:border-0 min-w-0`,children:[T,E]}),t[45]=T,t[46]=E,t[47]=D):D=t[47],D}function go(e){let t=(0,Q.c)(58),{open:n,onOpenChange:r,permissions:i,onRefreshPermissions:a,onRevokePermission:o,onRevokeAllPermissions:s,workspaceName:c}=e,[l,u]=(0,Z.useState)(!1),d,f,p,m,h,g,_,v,y,b,x,S,C,w;if(t[0]!==r||t[1]!==a||t[2]!==o||t[3]!==n||t[4]!==i||t[5]!==c){let e=i.filter(vo),s=i.filter(_o);p=rt,h=n,g=r,f=$e,C=`sm:max-w-[600px] max-h-[80vh]`;let l;t[20]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,$.jsxs)(ut,{className:`flex items-center gap-2`,children:[(0,$.jsx)(xe,{className:`size-5`}),`Workspace Permissions`]}),t[20]=l):l=t[20];let T=c?`Manage tool permissions for ${c}`:`Manage tool permissions for this workspace`;t[21]===T?w=t[22]:(w=(0,$.jsxs)(ct,{children:[l,(0,$.jsx)(Qe,{children:T})]}),t[21]=T,t[22]=w),b=`flex flex-col gap-4`;let E;t[23]===Symbol.for(`react.memo_cache_sentinel`)?(E=(0,$.jsxs)(`div`,{children:[(0,$.jsx)(ga,{className:`text-sm font-medium`,children:`Saved Permissions`}),(0,$.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Tool permissions saved for this workspace`})]}),t[23]=E):E=t[23];let D;t[24]===Symbol.for(`react.memo_cache_sentinel`)?(D=(0,$.jsx)(Ne,{className:`size-4`}),t[24]=D):D=t[24];let O;t[25]===a?O=t[26]:(O=(0,$.jsx)(X,{variant:`outline`,size:`icon`,onClick:a,className:`size-8`,children:D}),t[25]=a,t[26]=O);let k=e.length>0&&(0,$.jsxs)(X,{variant:`destructive`,size:`sm`,onClick:()=>u(!0),children:[(0,$.jsx)(ve,{className:`size-4`,"data-icon":`inline-start`}),`Revoke All`]});t[27]!==O||t[28]!==k?(x=(0,$.jsxs)(`div`,{className:`flex items-center justify-between`,children:[E,(0,$.jsxs)(`div`,{className:`flex gap-2`,children:[O,k]})]}),t[27]=O,t[28]=k,t[29]=x):x=t[29],t[30]===Symbol.for(`react.memo_cache_sentinel`)?(S=(0,$.jsx)(I,{}),t[30]=S):S=t[30],d=Mt,m=`h-[350px]`,_=e.length===0&&s.length===0&&(0,$.jsxs)(`div`,{className:`text-center py-8 text-muted-foreground text-sm`,children:[`No saved permissions yet.`,(0,$.jsx)(`br`,{}),`Saved permission grants will appear here after approval.`]}),v=e.length>0&&(0,$.jsxs)(`div`,{className:`mb-4`,children:[(0,$.jsxs)(`h4`,{className:`text-xs uppercase text-muted-foreground mb-2 font-medium`,children:[`Active (`,e.length,`)`]}),e.map(e=>(0,$.jsx)(ho,{permission:e,onRevoke:o},e.id))]}),y=s.length>0&&(0,$.jsxs)(`div`,{children:[(0,$.jsxs)(`h4`,{className:`text-xs uppercase text-muted-foreground mb-2 font-medium`,children:[`Revoked (`,s.length,`)`]}),s.map(e=>(0,$.jsx)(ho,{permission:e,onRevoke:o},e.id))]}),t[0]=r,t[1]=a,t[2]=o,t[3]=n,t[4]=i,t[5]=c,t[6]=d,t[7]=f,t[8]=p,t[9]=m,t[10]=h,t[11]=g,t[12]=_,t[13]=v,t[14]=y,t[15]=b,t[16]=x,t[17]=S,t[18]=C,t[19]=w}else d=t[6],f=t[7],p=t[8],m=t[9],h=t[10],g=t[11],_=t[12],v=t[13],y=t[14],b=t[15],x=t[16],S=t[17],C=t[18],w=t[19];let T;t[31]!==d||t[32]!==m||t[33]!==_||t[34]!==v||t[35]!==y?(T=(0,$.jsxs)(d,{className:m,children:[_,v,y]}),t[31]=d,t[32]=m,t[33]=_,t[34]=v,t[35]=y,t[36]=T):T=t[36];let E;t[37]!==T||t[38]!==b||t[39]!==x||t[40]!==S?(E=(0,$.jsxs)(`div`,{className:b,children:[x,S,T]}),t[37]=T,t[38]=b,t[39]=x,t[40]=S,t[41]=E):E=t[41];let D;t[42]!==f||t[43]!==E||t[44]!==C||t[45]!==w?(D=(0,$.jsxs)(f,{className:C,children:[w,E]}),t[42]=f,t[43]=E,t[44]=C,t[45]=w,t[46]=D):D=t[46];let O;t[47]===s?O=t[48]:(O=()=>{s(),u(!1)},t[47]=s,t[48]=O);let k;t[49]!==l||t[50]!==O?(k=(0,$.jsx)(Ya,{open:l,onOpenChange:u,title:`Revoke All Permissions`,description:`This will revoke all saved permissions for this workspace. The tools will need to be approved again when used.`,confirmLabel:`Revoke All`,variant:`destructive`,onConfirm:O}),t[49]=l,t[50]=O,t[51]=k):k=t[51];let A;return t[52]!==p||t[53]!==h||t[54]!==g||t[55]!==D||t[56]!==k?(A=(0,$.jsxs)(p,{open:h,onOpenChange:g,children:[D,k]}),t[52]=p,t[53]=h,t[54]=g,t[55]=D,t[56]=k,t[57]=A):A=t[57],A}function _o(e){return e.revokedAt}function vo(e){return!e.revokedAt}function yo(e){let t=(0,Q.c)(70),{open:n,onOpenChange:r,editServer:i}=e,a=_(),{addServer:o,editServer:s}=x(),[c,l]=(0,Z.useState)(``),[u,d]=(0,Z.useState)(``),[f,p]=(0,Z.useState)(``),[m,h]=(0,Z.useState)(!1),[g,v]=(0,Z.useState)(null),b=i!=null,C;t[0]===i?C=t[1]:(C=()=>{i?(l(i.name),d(i.url),p(i.token)):(l(``),d(`localhost:8742`),p(``)),v(null),h(!1)},t[0]=i,t[1]=C);let w;t[2]!==i||t[3]!==n?(w=[i,n],t[2]=i,t[3]=n,t[4]=w):w=t[4],(0,Z.useEffect)(C,w);let T;t[5]!==o||t[6]!==i||t[7]!==b||t[8]!==c||t[9]!==a||t[10]!==r||t[11]!==f||t[12]!==s||t[13]!==u?(T=e=>{e.preventDefault(),v(null);let t=c.trim(),n=u.trim(),l=f.trim();if(!t){v(`Name is required`);return}if(!n){v(`Server URL is required`);return}if(!l){v(`API token is required`);return}if(!S(l)){v(`Token must be 64 hexadecimal characters`);return}let d=y(n);b?(s(i.id,{name:t,url:d,token:l}),r(!1)):(a({to:`/server/$serverId`,params:{serverId:o(t,d,l).id}}),r(!1))},t[5]=o,t[6]=i,t[7]=b,t[8]=c,t[9]=a,t[10]=r,t[11]=f,t[12]=s,t[13]=u,t[14]=T):T=t[14];let E=T,D=b?`Edit Server`:`Add Server`,O;t[15]===D?O=t[16]:(O=(0,$.jsx)(ut,{children:D}),t[15]=D,t[16]=O);let k=b?`Update server details`:`Enter your server details`,A;t[17]===k?A=t[18]:(A=(0,$.jsx)(Qe,{children:k}),t[17]=k,t[18]=A);let j;t[19]!==O||t[20]!==A?(j=(0,$.jsxs)(ct,{children:[O,A]}),t[19]=O,t[20]=A,t[21]=j):j=t[21];let M;t[22]===Symbol.for(`react.memo_cache_sentinel`)?(M=(0,$.jsx)(ga,{htmlFor:`server-name`,children:`Name`}),t[22]=M):M=t[22];let N;t[23]===Symbol.for(`react.memo_cache_sentinel`)?(N=e=>l(e.target.value),t[23]=N):N=t[23];let P;t[24]===c?P=t[25]:(P=(0,$.jsxs)(`div`,{className:`grid gap-2`,children:[M,(0,$.jsx)(J,{id:`server-name`,value:c,onChange:N,placeholder:`My Server`})]}),t[24]=c,t[25]=P);let F;t[26]===Symbol.for(`react.memo_cache_sentinel`)?(F=(0,$.jsx)(ga,{htmlFor:`server-url`,children:`Server URL`}),t[26]=F):F=t[26];let I;t[27]===Symbol.for(`react.memo_cache_sentinel`)?(I=e=>d(e.target.value),t[27]=I):I=t[27];let L;t[28]===u?L=t[29]:(L=(0,$.jsxs)(`div`,{className:`grid gap-2`,children:[F,(0,$.jsx)(J,{id:`server-url`,value:u,onChange:I,placeholder:`localhost:8742`})]}),t[28]=u,t[29]=L);let R;t[30]===Symbol.for(`react.memo_cache_sentinel`)?(R=(0,$.jsx)(ga,{htmlFor:`server-token`,children:`API Token`}),t[30]=R):R=t[30];let z=m?`text`:`password`,B;t[31]===Symbol.for(`react.memo_cache_sentinel`)?(B=e=>p(e.target.value),t[31]=B):B=t[31];let V;t[32]!==z||t[33]!==f?(V=(0,$.jsx)(J,{id:`server-token`,type:z,value:f,onChange:B,placeholder:`64-character hex string`,className:`pr-10`}),t[32]=z,t[33]=f,t[34]=V):V=t[34];let H;t[35]===m?H=t[36]:(H=()=>h(!m),t[35]=m,t[36]=H);let U;t[37]===m?U=t[38]:(U=m?(0,$.jsx)(Ft,{className:`size-4 text-muted-foreground`}):(0,$.jsx)(Oe,{className:`size-4 text-muted-foreground`}),t[37]=m,t[38]=U);let ee;t[39]!==H||t[40]!==U?(ee=(0,$.jsx)(`button`,{type:`button`,onClick:H,className:`absolute right-2 top-1/2 -translate-y-1/2 p-1 hover:bg-transparent`,children:U}),t[39]=H,t[40]=U,t[41]=ee):ee=t[41];let te;t[42]!==V||t[43]!==ee?(te=(0,$.jsxs)(`div`,{className:`grid gap-2`,children:[R,(0,$.jsxs)(`div`,{className:`relative`,children:[V,ee]})]}),t[42]=V,t[43]=ee,t[44]=te):te=t[44];let ne;t[45]===g?ne=t[46]:(ne=g&&(0,$.jsx)(`p`,{className:`text-sm text-destructive`,children:g}),t[45]=g,t[46]=ne);let re;t[47]!==P||t[48]!==L||t[49]!==te||t[50]!==ne?(re=(0,$.jsxs)(`div`,{className:`grid gap-4 py-4`,children:[P,L,te,ne]}),t[47]=P,t[48]=L,t[49]=te,t[50]=ne,t[51]=re):re=t[51];let W;t[52]===r?W=t[53]:(W=(0,$.jsx)(X,{type:`button`,variant:`outline`,onClick:()=>r(!1),children:`Cancel`}),t[52]=r,t[53]=W);let ie=b?`Save`:`Add`,ae;t[54]===ie?ae=t[55]:(ae=(0,$.jsx)(X,{type:`submit`,children:ie}),t[54]=ie,t[55]=ae);let oe;t[56]!==W||t[57]!==ae?(oe=(0,$.jsxs)(qe,{children:[W,ae]}),t[56]=W,t[57]=ae,t[58]=oe):oe=t[58];let se;t[59]!==E||t[60]!==re||t[61]!==oe?(se=(0,$.jsxs)(`form`,{onSubmit:E,children:[re,oe]}),t[59]=E,t[60]=re,t[61]=oe,t[62]=se):se=t[62];let ce;t[63]!==se||t[64]!==j?(ce=(0,$.jsxs)($e,{className:`sm:max-w-[425px]`,children:[j,se]}),t[63]=se,t[64]=j,t[65]=ce):ce=t[65];let le;return t[66]!==r||t[67]!==n||t[68]!==ce?(le=(0,$.jsx)(rt,{open:n,onOpenChange:r,children:ce}),t[66]=r,t[67]=n,t[68]=ce,t[69]=le):le=t[69],le}function bo(e){let t=(0,Q.c)(15),{workspaceId:n,path:r,sdkClient:i,enabled:a}=e,[o,s]=(0,Z.useState)(null),[c,l]=(0,Z.useState)(!1),[u,d]=(0,Z.useState)(null),f=(0,Z.useRef)(null),p;t[0]!==a||t[1]!==r||t[2]!==i||t[3]!==n?(p=async()=>{if(!a||!n||!r||!i)return;f.current&&f.current.abort();let e=new AbortController;f.current=e,l(!0),d(null);try{s(await i.http.files.preview(n,r,{signal:e.signal})),l(!1)}catch(e){let t=e;if(t instanceof Error&&t.name===`AbortError`)return;d(t instanceof Error?t.message:`Unknown error occurred`),s(null),l(!1)}},t[0]=a,t[1]=r,t[2]=i,t[3]=n,t[4]=p):p=t[4];let m=p,h;t[5]===m?h=t[6]:(h=()=>{m()},t[5]=m,t[6]=h);let g=h,_,v;t[7]===m?(_=t[8],v=t[9]):(_=()=>(m(),()=>{f.current&&f.current.abort()}),v=[m],t[7]=m,t[8]=_,t[9]=v),(0,Z.useEffect)(_,v);let y;return t[10]!==o||t[11]!==u||t[12]!==c||t[13]!==g?(y={data:o,loading:c,error:u,reload:g},t[10]=o,t[11]=u,t[12]=c,t[13]=g,t[14]=y):y=t[14],y}function xo(e){let t=(0,Q.c)(36),{workspaceId:n,target:r,sdkClient:i,open:a,onOpenChange:o}=e,s=r==null?void 0:r.path,c=a&&!!r&&!!n,l;t[0]!==i||t[1]!==s||t[2]!==c||t[3]!==n?(l={workspaceId:n,path:s,sdkClient:i,enabled:c},t[0]=i,t[1]=s,t[2]=c,t[3]=n,t[4]=l):l=t[4];let{data:u,loading:d,error:f,reload:p}=bo(l);if(!r)return null;let m=So,h;t[5]===r.name?h=t[6]:(h=(0,$.jsx)(ut,{className:`text-base font-semibold truncate`,children:r.name}),t[5]=r.name,t[6]=h);let g;t[7]===r.path?g=t[8]:(g=(0,$.jsx)(Qe,{className:`text-xs text-muted-foreground truncate`,children:r.path}),t[7]=r.path,t[8]=g);let _;t[9]===u?_=t[10]:(_=u&&(0,$.jsxs)(`div`,{className:`flex items-center gap-2 mt-1.5`,children:[(0,$.jsx)(`span`,{className:`text-xs px-1.5 py-0.5 rounded bg-muted text-muted-foreground capitalize`,children:u.kind}),(0,$.jsx)(`span`,{className:`text-xs px-1.5 py-0.5 rounded bg-muted text-muted-foreground`,children:`read-only`}),(0,$.jsxs)(`span`,{className:`text-xs text-muted-foreground`,children:[m(u.size),u.language&&` · ${u.language}`]})]}),t[9]=u,t[10]=_);let v;t[11]!==h||t[12]!==g||t[13]!==_?(v=(0,$.jsxs)(ct,{className:`px-6 pt-5 pb-3 border-b border-border shrink-0`,children:[h,g,_]}),t[11]=h,t[12]=g,t[13]=_,t[14]=v):v=t[14];let y;t[15]===d?y=t[16]:(y=d&&(0,$.jsx)(`div`,{className:`flex items-center justify-center h-full`,children:(0,$.jsx)(Y,{className:`size-5 animate-spin text-muted-foreground`})}),t[15]=d,t[16]=y);let b;t[17]!==f||t[18]!==d||t[19]!==p?(b=f&&!d&&(0,$.jsxs)(`div`,{className:`flex flex-col items-center justify-center h-full text-center p-8`,children:[(0,$.jsx)(We,{className:`size-8 text-muted-foreground mb-3`}),(0,$.jsx)(`p`,{className:`text-sm text-muted-foreground mb-3`,children:f}),(0,$.jsxs)(X,{variant:`outline`,size:`sm`,onClick:p,children:[(0,$.jsx)(Ne,{className:`size-3.5 mr-1.5`}),`Retry`]})]}),t[17]=f,t[18]=d,t[19]=p,t[20]=b):b=t[20];let x;t[21]!==u||t[22]!==f||t[23]!==d?(x=u&&!d&&!f&&(0,$.jsx)(ia,{preview:u}),t[21]=u,t[22]=f,t[23]=d,t[24]=x):x=t[24];let S;t[25]!==x||t[26]!==y||t[27]!==b?(S=(0,$.jsxs)(`div`,{className:`flex-1 min-h-0 overflow-hidden`,children:[y,b,x]}),t[25]=x,t[26]=y,t[27]=b,t[28]=S):S=t[28];let C;t[29]!==S||t[30]!==v?(C=(0,$.jsxs)($e,{showCloseButton:!0,className:`sm:max-w-5xl w-[min(92vw,1100px)] h-[85vh] flex flex-col p-0 gap-0`,children:[v,S]}),t[29]=S,t[30]=v,t[31]=C):C=t[31];let w;return t[32]!==o||t[33]!==a||t[34]!==C?(w=(0,$.jsx)(rt,{open:a,onOpenChange:o,children:C}),t[32]=o,t[33]=a,t[34]=C,t[35]=w):w=t[35],w}function So(e){return e<1024?`${e} B`:e<1048576?`${(e/1024).toFixed(1)} KB`:`${(e/1048576).toFixed(1)} MB`}function Co(e){let t=(0,Q.c)(57),{apiToken:n,sdkClient:r,permissions:i,onLogout:a,onRefreshPermissions:o,onRevokePermission:s,onRevokeAllPermissions:c,onConfigurationClose:l}=e,u=K(Eo),{showSettings:d,showMCPDialog:f,showConfiguration:p,showTools:m,showWorkspacePermissions:h,showAddServer:g,editServerData:_,setShowSettings:v,setShowMCPDialog:y,setShowConfiguration:b,setShowTools:x,setShowWorkspacePermissions:S,setShowAddServer:C,setEditServerData:w}=ge(fn(To)),{filePreviewTarget:T,closeFilePreview:E}=ge(fn(wo)),D;t[0]!==n||t[1]!==a||t[2]!==r||t[3]!==v||t[4]!==d?(D=(0,$.jsx)(Va,{open:d,onOpenChange:v,apiToken:n,onLogout:a,sdkClient:r}),t[0]=n,t[1]=a,t[2]=r,t[3]=v,t[4]=d,t[5]=D):D=t[5];let O=u==null?void 0:u.id,k=u==null?void 0:u.path,A;t[6]!==r||t[7]!==y||t[8]!==f||t[9]!==O||t[10]!==k?(A=(0,$.jsx)(Ga,{open:f,onOpenChange:y,workspaceId:O,workspacePath:k,sdkClient:r}),t[6]=r,t[7]=y,t[8]=f,t[9]=O,t[10]=k,t[11]=A):A=t[11];let j;t[12]!==u||t[13]!==c?(j=()=>{u!=null&&u.id&&c(u.id)},t[12]=u,t[13]=c,t[14]=j):j=t[14];let M=u==null?void 0:u.name,N;t[15]!==o||t[16]!==s||t[17]!==i||t[18]!==S||t[19]!==h||t[20]!==j||t[21]!==M?(N=(0,$.jsx)(go,{open:h,onOpenChange:S,permissions:i,onRefreshPermissions:o,onRevokePermission:s,onRevokeAllPermissions:j,workspaceName:M}),t[15]=o,t[16]=s,t[17]=i,t[18]=S,t[19]=h,t[20]=j,t[21]=M,t[22]=N):N=t[22];let P;t[23]!==l||t[24]!==b?(P=e=>{b(e),e||l()},t[23]=l,t[24]=b,t[25]=P):P=t[25];let F;t[26]!==r||t[27]!==p||t[28]!==P?(F=(0,$.jsx)(ao,{open:p,onOpenChange:P,sdkClient:r}),t[26]=r,t[27]=p,t[28]=P,t[29]=F):F=t[29];let I;t[30]!==r||t[31]!==x||t[32]!==m?(I=(0,$.jsx)(so,{open:m,onOpenChange:x,sdkClient:r}),t[30]=r,t[31]=x,t[32]=m,t[33]=I):I=t[33];let L;t[34]!==w||t[35]!==C?(L=e=>{C(e),e||w(null)},t[34]=w,t[35]=C,t[36]=L):L=t[36];let R;t[37]!==_||t[38]!==g||t[39]!==L?(R=(0,$.jsx)(yo,{open:g,onOpenChange:L,editServer:_}),t[37]=_,t[38]=g,t[39]=L,t[40]=R):R=t[40];let z=u==null?void 0:u.id,B=T!==null,V;t[41]===E?V=t[42]:(V=e=>{e||E()},t[41]=E,t[42]=V);let H;t[43]!==T||t[44]!==r||t[45]!==z||t[46]!==B||t[47]!==V?(H=(0,$.jsx)(xo,{workspaceId:z,target:T,sdkClient:r,open:B,onOpenChange:V}),t[43]=T,t[44]=r,t[45]=z,t[46]=B,t[47]=V,t[48]=H):H=t[48];let U;return t[49]!==D||t[50]!==I||t[51]!==R||t[52]!==H||t[53]!==A||t[54]!==N||t[55]!==F?(U=(0,$.jsxs)($.Fragment,{children:[D,A,N,F,I,R,H]}),t[49]=D,t[50]=I,t[51]=R,t[52]=H,t[53]=A,t[54]=N,t[55]=F,t[56]=U):U=t[56],U}function wo(e){return{filePreviewTarget:e.filePreviewTarget,closeFilePreview:e.closeFilePreview}}function To(e){return{showSettings:e.showSettings,showMCPDialog:e.showMCPDialog,showConfiguration:e.showConfiguration,showTools:e.showTools,showWorkspacePermissions:e.showWorkspacePermissions,showAddServer:e.showAddServer,editServerData:e.editServerData,setShowSettings:e.setShowSettings,setShowMCPDialog:e.setShowMCPDialog,setShowConfiguration:e.setShowConfiguration,setShowTools:e.setShowTools,setShowWorkspacePermissions:e.setShowWorkspacePermissions,setShowAddServer:e.setShowAddServer,setEditServerData:e.setEditServerData}}function Eo(e){return e.activeWorkspace}function Do(){let e=(0,Q.c)(51),t=c(),n;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(n={from:`/server/$serverId`,strict:!1},e[0]=n):n=e[0];let r=u(n).serverId,{servers:i,removeFromQuickConnectionsByWorkspace:a,quickConnections:o}=x(),s;if(e[1]!==r||e[2]!==i){var l;s=(l=i.find(e=>e.id===r))==null?null:l,e[1]=r,e[2]=i,e[3]=s}else s=e[3];let p=s,m;e[4]===t?m=e[5]:(m=e=>t.navigate({to:e.to,params:e.params}),e[4]=t,e[5]=m);let h;e[6]!==p||e[7]!==o||e[8]!==a||e[9]!==r||e[10]!==m?(h={serverId:r,activeServer:p,navigate:m,removeFromQuickConnectionsByWorkspace:a,quickConnections:o},e[6]=p,e[7]=o,e[8]=a,e[9]=r,e[10]=m,e[11]=h):h=e[11];let g=Mr(h),_=(0,Z.useRef)(null),v=(0,Z.useRef)(null),y=(0,Z.useRef)(null),b=(0,Z.useRef)(null),S=(0,Z.useRef)(null),C=(0,Z.useRef)(null),{showFilesPanel:w,filesPanelWidth:T,sessionsPanelWidth:E}=Ot(fn(Oo)),D;e[12]===Symbol.for(`react.memo_cache_sentinel`)?(D={sidebarRef:b,chatInputRef:_,terminalPanelRef:v,filesPanelRef:y,scrollToBottomRef:S,autoFollowToggleRef:C},e[12]=D):D=e[12];let O=D,k=`${E}px`,A;e[13]===k?A=e[14]:(A={"--sidebar-width":k,"--header-height":f()?`4.625rem`:`2.75rem`},e[13]=k,e[14]=A);let j=A,M;e[15]===Symbol.for(`react.memo_cache_sentinel`)?(M=(0,$.jsx)(Ni,{}),e[15]=M):M=e[15];let N;e[16]===Symbol.for(`react.memo_cache_sentinel`)?(N=(0,$.jsx)(ee.Provider,{value:O,children:(0,$.jsx)(d,{})}),e[16]=N):N=e[16];let P;e[17]===g?P=e[18]:(P=(0,$.jsx)(se.Provider,{value:g,children:N}),e[17]=g,e[18]=P);let F;e[19]===g.sdkClient?F=e[20]:(F=(0,$.jsx)(aa,{ref:y,sdkClient:g.sdkClient}),e[19]=g.sdkClient,e[20]=F);let I=`relative bg-transparent transition-[width] duration-200 ease-linear shrink-0 ${w?``:`w-0`}`,L=w?T:0,R;e[21]===L?R=e[22]:(R={width:L},e[21]=L,e[22]=R);let z;e[23]!==I||e[24]!==R?(z=(0,$.jsx)(`div`,{"data-panel-gap":`files`,className:I,style:R}),e[23]=I,e[24]=R,e[25]=z):z=e[25];let B;e[26]!==P||e[27]!==F||e[28]!==z?(B=(0,$.jsxs)(`div`,{className:`flex flex-1 min-h-0`,children:[P,F,z]}),e[26]=P,e[27]=F,e[28]=z,e[29]=B):B=e[29];let V;e[30]===Symbol.for(`react.memo_cache_sentinel`)?(V=()=>{var e;return(e=C.current)==null?void 0:e.toggle()},e[30]=V):V=e[30];let H;e[31]!==r||e[32]!==g.createSession||e[33]!==g.handleInterruptSession?(H=(0,$.jsx)(qi,{sidebarRef:b,terminalPanelRef:v,filesPanelRef:y,chatInputRef:_,handleInterruptSession:g.handleInterruptSession,serverId:r,createSession:g.createSession,onToggleAutoFollow:V}),e[31]=r,e[32]=g.createSession,e[33]=g.handleInterruptSession,e[34]=H):H=e[34];let U;e[35]===t?U=e[36]:(U=()=>t.invalidate(),e[35]=t,e[36]=U);let te;e[37]!==g.apiToken||e[38]!==g.handleLogout||e[39]!==g.permissions||e[40]!==g.refreshPermissions||e[41]!==g.revokeAllPermissions||e[42]!==g.revokePermission||e[43]!==g.sdkClient||e[44]!==U?(te=(0,$.jsx)(Co,{apiToken:g.apiToken,sdkClient:g.sdkClient,permissions:g.permissions,onLogout:g.handleLogout,onRefreshPermissions:g.refreshPermissions,onRevokePermission:g.revokePermission,onRevokeAllPermissions:g.revokeAllPermissions,onConfigurationClose:U}),e[37]=g.apiToken,e[38]=g.handleLogout,e[39]=g.permissions,e[40]=g.refreshPermissions,e[41]=g.revokeAllPermissions,e[42]=g.revokePermission,e[43]=g.sdkClient,e[44]=U,e[45]=te):te=e[45];let ne;return e[46]!==B||e[47]!==H||e[48]!==te||e[49]!==j?(ne=(0,$.jsxs)(Ct,{panelId:`sessions`,defaultOpen:!0,className:`flex-col`,style:j,children:[M,B,H,te]}),e[46]=B,e[47]=H,e[48]=te,e[49]=j,e[50]=ne):ne=e[50],ne}function Oo(e){return{showFilesPanel:e.showFilesPanel,filesPanelWidth:e.filesPanelWidth,sessionsPanelWidth:e.sessionsPanelWidth}}var ko=()=>{let e=(0,Q.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,$.jsx)(nn,{children:(0,$.jsx)(Do,{})}),e[0]=t):t=e[0],t};export{ko as component};
@@ -1 +1 @@
1
- import{n as e,t}from"./compiler-runtime-DZXZ41-q.js";import{d as n,i as r,n as i}from"./servers-GmYSnzvH.js";import{t as a}from"./_serverId-Z_onznBB.js";var o=t(),s=e();function c(e){let t=(0,o.c)(31),{error:c,reset:l}=e,u=n(),d=a.useParams().serverId,f;t[0]===d?f=t[1]:(f=r().filter(e=>e.id!==d),t[0]=d,t[1]=f);let p=f,m=p.length>0,h;t[2]!==u||t[3]!==d?(h=()=>{d&&i(d),u.navigate({to:`/`,replace:!0})},t[2]=u,t[3]=d,t[4]=h):h=t[4];let g=h,_;t[5]!==p[0]||t[6]!==p.length||t[7]!==u?(_=()=>{p.length>0?u.navigate({to:`/server/$serverId`,params:{serverId:p[0].id},replace:!0}):u.navigate({to:`/`,replace:!0})},t[5]=p[0],t[6]=p.length,t[7]=u,t[8]=_):_=t[8];let v=_,y;t[9]===u?y=t[10]:(y=()=>{u.navigate({to:`/`,replace:!0})},t[9]=u,t[10]=y);let b=y,x;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,s.jsx)(`h2`,{className:`text-lg font-semibold`,children:`Server Connection Error`}),t[11]=x):x=t[11];let S=c instanceof Error?c.message:`An unknown error occurred`,C;t[12]===S?C=t[13]:(C=(0,s.jsx)(`p`,{className:`text-muted-foreground text-sm`,children:S}),t[12]=S,t[13]=C);let w;t[14]===l?w=t[15]:(w=(0,s.jsx)(`button`,{onClick:()=>l(),className:`w-full px-4 py-2 rounded-md bg-primary text-primary-foreground text-sm font-medium hover:bg-primary/90`,children:`Retry`}),t[14]=l,t[15]=w);let T;t[16]!==v||t[17]!==m?(T=m&&(0,s.jsx)(`button`,{onClick:v,className:`w-full px-4 py-2 rounded-md border border-border bg-background text-foreground text-sm font-medium hover:bg-accent`,children:`Switch Server`}),t[16]=v,t[17]=m,t[18]=T):T=t[18];let E;t[19]===g?E=t[20]:(E=(0,s.jsx)(`button`,{onClick:g,className:`w-full px-4 py-2 rounded-md border border-destructive/50 text-destructive text-sm font-medium hover:bg-destructive/10`,children:`Remove This Server`}),t[19]=g,t[20]=E);let D;t[21]===b?D=t[22]:(D=(0,s.jsx)(`button`,{onClick:b,className:`w-full px-4 py-2 rounded-md text-muted-foreground text-sm font-medium hover:text-foreground hover:bg-accent`,children:`Go to Home`}),t[21]=b,t[22]=D);let O;t[23]!==E||t[24]!==D||t[25]!==w||t[26]!==T?(O=(0,s.jsxs)(`div`,{className:`space-y-2 pt-2`,children:[w,T,E,D]}),t[23]=E,t[24]=D,t[25]=w,t[26]=T,t[27]=O):O=t[27];let k;return t[28]!==O||t[29]!==C?(k=(0,s.jsx)(`div`,{className:`flex w-full items-center justify-center min-h-screen bg-background text-foreground`,children:(0,s.jsxs)(`div`,{className:`text-center space-y-4 p-8 max-w-lg w-full`,children:[x,C,O]})}),t[28]=O,t[29]=C,t[30]=k):k=t[30],k}export{c as errorComponent};
1
+ import{n as e,t}from"./compiler-runtime-DZXZ41-q.js";import{d as n,i as r,n as i}from"./servers-GmYSnzvH.js";import{t as a}from"./_serverId-COhNW61b.js";var o=t(),s=e();function c(e){let t=(0,o.c)(31),{error:c,reset:l}=e,u=n(),d=a.useParams().serverId,f;t[0]===d?f=t[1]:(f=r().filter(e=>e.id!==d),t[0]=d,t[1]=f);let p=f,m=p.length>0,h;t[2]!==u||t[3]!==d?(h=()=>{d&&i(d),u.navigate({to:`/`,replace:!0})},t[2]=u,t[3]=d,t[4]=h):h=t[4];let g=h,_;t[5]!==p[0]||t[6]!==p.length||t[7]!==u?(_=()=>{p.length>0?u.navigate({to:`/server/$serverId`,params:{serverId:p[0].id},replace:!0}):u.navigate({to:`/`,replace:!0})},t[5]=p[0],t[6]=p.length,t[7]=u,t[8]=_):_=t[8];let v=_,y;t[9]===u?y=t[10]:(y=()=>{u.navigate({to:`/`,replace:!0})},t[9]=u,t[10]=y);let b=y,x;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,s.jsx)(`h2`,{className:`text-lg font-semibold`,children:`Server Connection Error`}),t[11]=x):x=t[11];let S=c instanceof Error?c.message:`An unknown error occurred`,C;t[12]===S?C=t[13]:(C=(0,s.jsx)(`p`,{className:`text-muted-foreground text-sm`,children:S}),t[12]=S,t[13]=C);let w;t[14]===l?w=t[15]:(w=(0,s.jsx)(`button`,{onClick:()=>l(),className:`w-full px-4 py-2 rounded-md bg-primary text-primary-foreground text-sm font-medium hover:bg-primary/90`,children:`Retry`}),t[14]=l,t[15]=w);let T;t[16]!==v||t[17]!==m?(T=m&&(0,s.jsx)(`button`,{onClick:v,className:`w-full px-4 py-2 rounded-md border border-border bg-background text-foreground text-sm font-medium hover:bg-accent`,children:`Switch Server`}),t[16]=v,t[17]=m,t[18]=T):T=t[18];let E;t[19]===g?E=t[20]:(E=(0,s.jsx)(`button`,{onClick:g,className:`w-full px-4 py-2 rounded-md border border-destructive/50 text-destructive text-sm font-medium hover:bg-destructive/10`,children:`Remove This Server`}),t[19]=g,t[20]=E);let D;t[21]===b?D=t[22]:(D=(0,s.jsx)(`button`,{onClick:b,className:`w-full px-4 py-2 rounded-md text-muted-foreground text-sm font-medium hover:text-foreground hover:bg-accent`,children:`Go to Home`}),t[21]=b,t[22]=D);let O;t[23]!==E||t[24]!==D||t[25]!==w||t[26]!==T?(O=(0,s.jsxs)(`div`,{className:`space-y-2 pt-2`,children:[w,T,E,D]}),t[23]=E,t[24]=D,t[25]=w,t[26]=T,t[27]=O):O=t[27];let k;return t[28]!==O||t[29]!==C?(k=(0,s.jsx)(`div`,{className:`flex w-full items-center justify-center min-h-screen bg-background text-foreground`,children:(0,s.jsxs)(`div`,{className:`text-center space-y-4 p-8 max-w-lg w-full`,children:[x,C,O]})}),t[28]=O,t[29]=C,t[30]=k):k=t[30],k}export{c as errorComponent};
@@ -1,2 +1,2 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./_serverId-B47rZ3cs.js","./badge-CxHTOx9D.js","./src-9dJwbSJY.js","./compiler-runtime-DZXZ41-q.js","./createLucideIcon-BYAVpx9Z.js","./preload-helper-D-tEmku_.js","./useParams-RuFKFrOo.js","./servers-GmYSnzvH.js","./scroll-area-C-KPh_XU.js","./popover-DDHwMxwz.js","./alert-DjGCaOkT.js","./platform-Be8afd__.js","./useNavigate-Dxc8FNpV.js","./useRouterState-C1XfNwIo.js","./sidebar-BNTVPq06.js","./server-g7It7jLf.js","./ThemeProvider-DWTAR83t.js","./ServerContext-CBFiY6IH.js","./_serverId-D7fl2Don.js"])))=>i.map(i=>d[i]);
2
- import{n as e,o as t,r as n}from"./compiler-runtime-DZXZ41-q.js";import{i as r,n as i,r as a}from"./src-9dJwbSJY.js";import{D as o,O as s,_ as c,b as l,d as ee,k as te,u as ne,x as u,y as d}from"./servers-GmYSnzvH.js";import{E as f,a as re,c as p,f as ie,h as ae,m,n as h,s as g,t as _,v,y as oe}from"./useParams-RuFKFrOo.js";import{n as y,t as b}from"./preload-helper-D-tEmku_.js";import{t as x}from"./useNavigate-Dxc8FNpV.js";var se=`Error preloading route! ☝️`,S=class{get to(){return this._to}get id(){return this._id}get path(){return this._path}get fullPath(){return this._fullPath}constructor(e){if(this.init=e=>{var t,n;this.originalIndex=e.originalIndex;let r=this.options,i=!(r!=null&&r.path)&&!(r!=null&&r.id);this.parentRoute=(t=(n=this.options).getParentRoute)==null?void 0:t.call(n),i?this._path=p:this.parentRoute||f();let a=i?p:r==null?void 0:r.path;a&&a!==`/`&&(a=v(a));let o=(r==null?void 0:r.id)||a,s=i?p:m([this.parentRoute.id===`__root__`?``:this.parentRoute.id,o]);a===`__root__`&&(a=`/`),s!==`__root__`&&(s=m([`/`,s]));let c=s===`__root__`?`/`:m([this.parentRoute.fullPath,a]);this._path=a,this._id=s,this._fullPath=c,this._to=oe(c)},this.addChildren=e=>this._addFileChildren(e),this._addFileChildren=e=>(Array.isArray(e)&&(this.children=e),typeof e==`object`&&e&&(this.children=Object.values(e)),this),this._addFileTypes=()=>this,this.updateLoader=e=>(Object.assign(this.options,e),this),this.update=e=>(Object.assign(this.options,e),this),this.lazy=e=>(this.lazyFn=e,this),this.redirect=e=>g({from:this.fullPath,...e}),this.options=e||{},this.isRoot=!(e!=null&&e.getParentRoute),e!=null&&e.id&&e!=null&&e.path)throw Error(`Route cannot have both an 'id' and a 'path' option.`)}},C=class extends S{constructor(e){super(e)}};function w(e){let{select:t,...n}=e;return h({...n,select:e=>t?t(e.loaderDeps):e.loaderDeps})}function T(e){return h({from:e.from,strict:e.strict,shouldThrow:e.shouldThrow,structuralSharing:e.structuralSharing,select:t=>e.select?e.select(t.search):t.search})}function E(e){return h({...e,select:t=>e.select?e.select(t.context):t.context})}var D=t(n(),1),O=e(),ce=t(r(),1);function k(e,t){var n,r,i;let a=ee(),o=s(t),{activeProps:u,inactiveProps:f,activeOptions:p,to:m,preload:h,preloadDelay:g,preloadIntentProximity:_,hashScrollIntoView:v,replace:oe,startTransition:y,resetScroll:b,viewTransition:x,children:S,target:C,disabled:w,style:T,className:E,onClick:O,onBlur:k,onFocus:N,onMouseEnter:P,onMouseLeave:F,onTouchStart:I,ignoreBlocker:L,params:_e,search:R,hash:z,state:B,mask:ve,reloadDocument:ye,unsafeRelative:be,from:xe,_fromLocation:Se,...Ce}=e,V=re(),H=D.useMemo(()=>e,[a,e.from,e._fromLocation,e.hash,e.to,e.search,e.params,e.state,e.mask,e.unsafeRelative]),U=ne(a.stores.location,e=>e,(e,t)=>e.href===t.href),W=D.useMemo(()=>{let e={_fromLocation:U,...H};return a.buildLocation(e)},[a,U,H]),we=W.maskedLocation?W.maskedLocation.publicHref:W.publicHref,Te=W.maskedLocation?W.maskedLocation.external:W.external,G=D.useMemo(()=>me(we,Te,a.history,w),[w,Te,we,a.history]),K=D.useMemo(()=>{if(G!=null&&G.external)return l(G.href,a.protocolAllowlist)?void 0:G.href;if(!he(m)&&!(typeof m!=`string`||m.indexOf(`:`)===-1))try{return new URL(m),l(m,a.protocolAllowlist)?void 0:m}catch{}},[m,G,a.protocolAllowlist]),q=D.useMemo(()=>{var e;if(K)return!1;if(p!=null&&p.exact){if(!ie(U.pathname,W.pathname,a.basepath))return!1}else{let e=ae(U.pathname,a.basepath),t=ae(W.pathname,a.basepath);if(!(e.startsWith(t)&&(e.length===t.length||e[t.length]===`/`)))return!1}return((e=p==null?void 0:p.includeSearch)==null||e)&&!c(U.search,W.search,{partial:!(p!=null&&p.exact),ignoreUndefined:!(p!=null&&p.explicitUndefined)})?!1:p!=null&&p.includeHash?V&&U.hash===W.hash:!0},[p==null?void 0:p.exact,p==null?void 0:p.explicitUndefined,p==null?void 0:p.includeHash,p==null?void 0:p.includeSearch,U,K,V,W.hash,W.pathname,W.search,a.basepath]),J=q?(n=d(u,{}))==null?le:n:A,Y=q||(r=d(f,{}))==null?A:r,Ee=[E,J.className,Y.className].filter(Boolean).join(` `),De=(T||J.style||Y.style)&&{...T,...J.style,...Y.style},[Oe,ke]=D.useState(!1),Ae=D.useRef(!1),X=e.reloadDocument||K?!1:h==null?a.options.defaultPreload:h,Z=(i=g==null?a.options.defaultPreloadDelay:g)==null?0:i,Q=D.useCallback(()=>{a.preloadRoute({...H,_builtLocation:W}).catch(e=>{console.warn(e),console.warn(se)})},[a,H,W]);te(o,D.useCallback(e=>{e!=null&&e.isIntersecting&&Q()},[Q]),pe,{disabled:!!w||X!==`viewport`}),D.useEffect(()=>{Ae.current||!w&&X===`render`&&(Q(),Ae.current=!0)},[w,Q,X]);let je=e=>{let t=e.currentTarget.getAttribute(`target`),n=C===void 0?t:C;if(!w&&!ge(e)&&!e.defaultPrevented&&(!n||n===`_self`)&&e.button===0){e.preventDefault(),(0,ce.flushSync)(()=>{ke(!0)});let t=a.subscribe(`onResolved`,()=>{t(),ke(!1)});a.navigate({...H,replace:oe,resetScroll:b,hashScrollIntoView:v,startTransition:y,viewTransition:x,ignoreBlocker:L})}};if(K)return{...Ce,ref:o,href:K,...S&&{children:S},...C&&{target:C},...w&&{disabled:w},...T&&{style:T},...E&&{className:E},...O&&{onClick:O},...k&&{onBlur:k},...N&&{onFocus:N},...P&&{onMouseEnter:P},...F&&{onMouseLeave:F},...I&&{onTouchStart:I}};let Me=e=>{if(w||X!==`intent`)return;if(!Z){Q();return}let t=e.currentTarget;if(j.has(t))return;let n=setTimeout(()=>{j.delete(t),Q()},Z);j.set(t,n)},Ne=e=>{w||X!==`intent`||Q()},$=e=>{if(w||!X||!Z)return;let t=e.currentTarget,n=j.get(t);n&&(clearTimeout(n),j.delete(t))};return{...Ce,...J,...Y,href:G==null?void 0:G.href,ref:o,onClick:M([O,je]),onBlur:M([k,$]),onFocus:M([N,Me]),onMouseEnter:M([P,Me]),onMouseLeave:M([F,$]),onTouchStart:M([I,Ne]),disabled:!!w,target:C,...De&&{style:De},...Ee&&{className:Ee},...w&&ue,...q&&de,...V&&Oe&&fe}}var A={},le={className:`active`},ue={role:`link`,"aria-disabled":!0},de={"data-status":`active`,"aria-current":`page`},fe={"data-transitioning":`transitioning`},j=new WeakMap,pe={rootMargin:`100px`},M=e=>t=>{for(let n of e)if(n){if(t.defaultPrevented)return;n(t)}};function me(e,t,n,r){if(!r)return t?{href:e,external:!0}:{href:n.createHref(e)||`/`,external:!1}}function he(e){if(typeof e!=`string`)return!1;let t=e.charCodeAt(0);return t===47?e.charCodeAt(1)!==47:t===46}var N=D.forwardRef((e,t)=>{let{_asChild:n,...r}=e,{type:i,...a}=k(r,t),o=typeof r.children==`function`?r.children({isActive:a[`data-status`]===`active`}):r.children;if(!n){let{disabled:e,...t}=a;return D.createElement(`a`,t,o)}return D.createElement(n,a,o)});function ge(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}var P=class extends S{constructor(e){super(e),this.useMatch=e=>h({select:e==null?void 0:e.select,from:this.id,structuralSharing:e==null?void 0:e.structuralSharing}),this.useRouteContext=e=>E({...e,from:this.id}),this.useSearch=e=>T({select:e==null?void 0:e.select,structuralSharing:e==null?void 0:e.structuralSharing,from:this.id}),this.useParams=e=>_({select:e==null?void 0:e.select,structuralSharing:e==null?void 0:e.structuralSharing,from:this.id}),this.useLoaderDeps=e=>w({...e,from:this.id}),this.useLoaderData=e=>y({...e,from:this.id}),this.useNavigate=()=>x({from:this.fullPath}),this.Link=D.forwardRef((e,t)=>(0,O.jsx)(N,{ref:t,from:this.fullPath,...e}))}};function F(e){return new P(e)}function I(){return e=>_e(e)}var L=class extends C{constructor(e){super(e),this.useMatch=e=>h({select:e==null?void 0:e.select,from:this.id,structuralSharing:e==null?void 0:e.structuralSharing}),this.useRouteContext=e=>E({...e,from:this.id}),this.useSearch=e=>T({select:e==null?void 0:e.select,structuralSharing:e==null?void 0:e.structuralSharing,from:this.id}),this.useParams=e=>_({select:e==null?void 0:e.select,structuralSharing:e==null?void 0:e.structuralSharing,from:this.id}),this.useLoaderDeps=e=>w({...e,from:this.id}),this.useLoaderData=e=>y({...e,from:this.id}),this.useNavigate=()=>x({from:this.fullPath}),this.Link=D.forwardRef((e,t)=>(0,O.jsx)(N,{ref:t,from:this.fullPath,...e}))}};function _e(e){return new L(e)}function R(e){return typeof e==`object`?new z(e,{silent:!0}).createRoute(e):new z(e,{silent:!0}).createRoute}var z=class{constructor(e,t){this.path=e,this.createRoute=e=>{let t=F(e);return t.isRoot=!1,t},this.silent=t==null?void 0:t.silent}};function B(e,t){let n,r,i,a,s=()=>(n||(n=e().then(e=>{n=void 0,r=e[t==null?`default`:t]}).catch(e=>{if(i=e,u(i)&&i instanceof Error&&typeof window<`u`&&typeof sessionStorage<`u`){let e=`tanstack_router_reload:${i.message}`;sessionStorage.getItem(e)||(sessionStorage.setItem(e,`1`),a=!0)}})),n),c=function(e){if(a)throw window.location.reload(),new Promise(()=>{});if(i)throw i;if(!r)if(o)o(s());else throw s();return D.createElement(r,e)};return c.preload=s,c}async function ve(e,t,n){return new i(new a({url:e,token:t})).loadAll({signal:n})}var ye=R(`/server/$serverId`)({beforeLoad:({params:e,context:t})=>{let n=t.serverRegistry.getServer(e.serverId);if(!n){let e=t.serverRegistry.getServers();throw e.length>0?g({to:`/server/$serverId`,params:{serverId:e[0].id},replace:!0,throw:!0}):g({to:`/`,replace:!0,throw:!0})}return{server:n}},loader:async({params:e,context:t,abortController:n})=>{let r=t.serverRegistry.getServer(e.serverId);if(!r)throw g({to:`/`,replace:!0,throw:!0});try{return await ve(r.url,r.token,n.signal)}catch(e){if(e instanceof DOMException&&e.name===`AbortError`)throw e;let t=e instanceof Error?e.message:String(e);throw Error(`Failed to connect to server: ${t}`,{cause:e})}},component:B(()=>b(()=>import(`./_serverId-B47rZ3cs.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17]),import.meta.url),`component`),errorComponent:B(()=>b(()=>import(`./_serverId-D7fl2Don.js`),__vite__mapDeps([18,3,7]),import.meta.url),`errorComponent`),pendingComponent:()=>(0,O.jsx)(`div`,{className:`w-full flex items-center justify-center min-h-screen bg-background text-foreground`,children:(0,O.jsxs)(`div`,{className:`text-center space-y-2`,children:[(0,O.jsx)(`div`,{className:`h-8 w-8 border-2 border-muted-foreground/30 border-t-muted-foreground rounded-full animate-spin mx-auto`}),(0,O.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Connecting to server...`})]})})});export{I as i,B as n,R as r,ye as t};
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./_serverId-B4Rjk4iQ.js","./badge-CwZd07eA.js","./src-BiLzKNfl.js","./compiler-runtime-DZXZ41-q.js","./createLucideIcon-BYAVpx9Z.js","./preload-helper-D-tEmku_.js","./useParams-RuFKFrOo.js","./servers-GmYSnzvH.js","./scroll-area-16Gq00WS.js","./popover-BaZzl6-v.js","./alert-qqwNRgnw.js","./ThemeProvider-Da23NPAS.js","./platform-5d-ZQG2e.js","./useNavigate-Dxc8FNpV.js","./useRouterState-C1XfNwIo.js","./sidebar-DmGZgZwK.js","./server-g7It7jLf.js","./ServerContext-CBFiY6IH.js","./_serverId-BwsJG6SV.js"])))=>i.map(i=>d[i]);
2
+ import{n as e,o as t,r as n}from"./compiler-runtime-DZXZ41-q.js";import{i as r,n as i,r as a}from"./src-BiLzKNfl.js";import{D as o,O as s,_ as c,b as l,d as ee,k as te,u as ne,x as u,y as d}from"./servers-GmYSnzvH.js";import{E as f,a as re,c as p,f as ie,h as ae,m,n as h,s as g,t as _,v,y as oe}from"./useParams-RuFKFrOo.js";import{n as y,t as b}from"./preload-helper-D-tEmku_.js";import{t as x}from"./useNavigate-Dxc8FNpV.js";var se=`Error preloading route! ☝️`,S=class{get to(){return this._to}get id(){return this._id}get path(){return this._path}get fullPath(){return this._fullPath}constructor(e){if(this.init=e=>{var t,n;this.originalIndex=e.originalIndex;let r=this.options,i=!(r!=null&&r.path)&&!(r!=null&&r.id);this.parentRoute=(t=(n=this.options).getParentRoute)==null?void 0:t.call(n),i?this._path=p:this.parentRoute||f();let a=i?p:r==null?void 0:r.path;a&&a!==`/`&&(a=v(a));let o=(r==null?void 0:r.id)||a,s=i?p:m([this.parentRoute.id===`__root__`?``:this.parentRoute.id,o]);a===`__root__`&&(a=`/`),s!==`__root__`&&(s=m([`/`,s]));let c=s===`__root__`?`/`:m([this.parentRoute.fullPath,a]);this._path=a,this._id=s,this._fullPath=c,this._to=oe(c)},this.addChildren=e=>this._addFileChildren(e),this._addFileChildren=e=>(Array.isArray(e)&&(this.children=e),typeof e==`object`&&e&&(this.children=Object.values(e)),this),this._addFileTypes=()=>this,this.updateLoader=e=>(Object.assign(this.options,e),this),this.update=e=>(Object.assign(this.options,e),this),this.lazy=e=>(this.lazyFn=e,this),this.redirect=e=>g({from:this.fullPath,...e}),this.options=e||{},this.isRoot=!(e!=null&&e.getParentRoute),e!=null&&e.id&&e!=null&&e.path)throw Error(`Route cannot have both an 'id' and a 'path' option.`)}},C=class extends S{constructor(e){super(e)}};function w(e){let{select:t,...n}=e;return h({...n,select:e=>t?t(e.loaderDeps):e.loaderDeps})}function T(e){return h({from:e.from,strict:e.strict,shouldThrow:e.shouldThrow,structuralSharing:e.structuralSharing,select:t=>e.select?e.select(t.search):t.search})}function E(e){return h({...e,select:t=>e.select?e.select(t.context):t.context})}var D=t(n(),1),O=e(),ce=t(r(),1);function k(e,t){var n,r,i;let a=ee(),o=s(t),{activeProps:u,inactiveProps:f,activeOptions:p,to:m,preload:h,preloadDelay:g,preloadIntentProximity:_,hashScrollIntoView:v,replace:oe,startTransition:y,resetScroll:b,viewTransition:x,children:S,target:C,disabled:w,style:T,className:E,onClick:O,onBlur:k,onFocus:N,onMouseEnter:P,onMouseLeave:F,onTouchStart:I,ignoreBlocker:L,params:_e,search:R,hash:z,state:B,mask:ve,reloadDocument:ye,unsafeRelative:be,from:xe,_fromLocation:Se,...Ce}=e,V=re(),H=D.useMemo(()=>e,[a,e.from,e._fromLocation,e.hash,e.to,e.search,e.params,e.state,e.mask,e.unsafeRelative]),U=ne(a.stores.location,e=>e,(e,t)=>e.href===t.href),W=D.useMemo(()=>{let e={_fromLocation:U,...H};return a.buildLocation(e)},[a,U,H]),we=W.maskedLocation?W.maskedLocation.publicHref:W.publicHref,Te=W.maskedLocation?W.maskedLocation.external:W.external,G=D.useMemo(()=>me(we,Te,a.history,w),[w,Te,we,a.history]),K=D.useMemo(()=>{if(G!=null&&G.external)return l(G.href,a.protocolAllowlist)?void 0:G.href;if(!he(m)&&!(typeof m!=`string`||m.indexOf(`:`)===-1))try{return new URL(m),l(m,a.protocolAllowlist)?void 0:m}catch{}},[m,G,a.protocolAllowlist]),q=D.useMemo(()=>{var e;if(K)return!1;if(p!=null&&p.exact){if(!ie(U.pathname,W.pathname,a.basepath))return!1}else{let e=ae(U.pathname,a.basepath),t=ae(W.pathname,a.basepath);if(!(e.startsWith(t)&&(e.length===t.length||e[t.length]===`/`)))return!1}return((e=p==null?void 0:p.includeSearch)==null||e)&&!c(U.search,W.search,{partial:!(p!=null&&p.exact),ignoreUndefined:!(p!=null&&p.explicitUndefined)})?!1:p!=null&&p.includeHash?V&&U.hash===W.hash:!0},[p==null?void 0:p.exact,p==null?void 0:p.explicitUndefined,p==null?void 0:p.includeHash,p==null?void 0:p.includeSearch,U,K,V,W.hash,W.pathname,W.search,a.basepath]),J=q?(n=d(u,{}))==null?le:n:A,Y=q||(r=d(f,{}))==null?A:r,Ee=[E,J.className,Y.className].filter(Boolean).join(` `),De=(T||J.style||Y.style)&&{...T,...J.style,...Y.style},[Oe,ke]=D.useState(!1),Ae=D.useRef(!1),X=e.reloadDocument||K?!1:h==null?a.options.defaultPreload:h,Z=(i=g==null?a.options.defaultPreloadDelay:g)==null?0:i,Q=D.useCallback(()=>{a.preloadRoute({...H,_builtLocation:W}).catch(e=>{console.warn(e),console.warn(se)})},[a,H,W]);te(o,D.useCallback(e=>{e!=null&&e.isIntersecting&&Q()},[Q]),pe,{disabled:!!w||X!==`viewport`}),D.useEffect(()=>{Ae.current||!w&&X===`render`&&(Q(),Ae.current=!0)},[w,Q,X]);let je=e=>{let t=e.currentTarget.getAttribute(`target`),n=C===void 0?t:C;if(!w&&!ge(e)&&!e.defaultPrevented&&(!n||n===`_self`)&&e.button===0){e.preventDefault(),(0,ce.flushSync)(()=>{ke(!0)});let t=a.subscribe(`onResolved`,()=>{t(),ke(!1)});a.navigate({...H,replace:oe,resetScroll:b,hashScrollIntoView:v,startTransition:y,viewTransition:x,ignoreBlocker:L})}};if(K)return{...Ce,ref:o,href:K,...S&&{children:S},...C&&{target:C},...w&&{disabled:w},...T&&{style:T},...E&&{className:E},...O&&{onClick:O},...k&&{onBlur:k},...N&&{onFocus:N},...P&&{onMouseEnter:P},...F&&{onMouseLeave:F},...I&&{onTouchStart:I}};let Me=e=>{if(w||X!==`intent`)return;if(!Z){Q();return}let t=e.currentTarget;if(j.has(t))return;let n=setTimeout(()=>{j.delete(t),Q()},Z);j.set(t,n)},Ne=e=>{w||X!==`intent`||Q()},$=e=>{if(w||!X||!Z)return;let t=e.currentTarget,n=j.get(t);n&&(clearTimeout(n),j.delete(t))};return{...Ce,...J,...Y,href:G==null?void 0:G.href,ref:o,onClick:M([O,je]),onBlur:M([k,$]),onFocus:M([N,Me]),onMouseEnter:M([P,Me]),onMouseLeave:M([F,$]),onTouchStart:M([I,Ne]),disabled:!!w,target:C,...De&&{style:De},...Ee&&{className:Ee},...w&&ue,...q&&de,...V&&Oe&&fe}}var A={},le={className:`active`},ue={role:`link`,"aria-disabled":!0},de={"data-status":`active`,"aria-current":`page`},fe={"data-transitioning":`transitioning`},j=new WeakMap,pe={rootMargin:`100px`},M=e=>t=>{for(let n of e)if(n){if(t.defaultPrevented)return;n(t)}};function me(e,t,n,r){if(!r)return t?{href:e,external:!0}:{href:n.createHref(e)||`/`,external:!1}}function he(e){if(typeof e!=`string`)return!1;let t=e.charCodeAt(0);return t===47?e.charCodeAt(1)!==47:t===46}var N=D.forwardRef((e,t)=>{let{_asChild:n,...r}=e,{type:i,...a}=k(r,t),o=typeof r.children==`function`?r.children({isActive:a[`data-status`]===`active`}):r.children;if(!n){let{disabled:e,...t}=a;return D.createElement(`a`,t,o)}return D.createElement(n,a,o)});function ge(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}var P=class extends S{constructor(e){super(e),this.useMatch=e=>h({select:e==null?void 0:e.select,from:this.id,structuralSharing:e==null?void 0:e.structuralSharing}),this.useRouteContext=e=>E({...e,from:this.id}),this.useSearch=e=>T({select:e==null?void 0:e.select,structuralSharing:e==null?void 0:e.structuralSharing,from:this.id}),this.useParams=e=>_({select:e==null?void 0:e.select,structuralSharing:e==null?void 0:e.structuralSharing,from:this.id}),this.useLoaderDeps=e=>w({...e,from:this.id}),this.useLoaderData=e=>y({...e,from:this.id}),this.useNavigate=()=>x({from:this.fullPath}),this.Link=D.forwardRef((e,t)=>(0,O.jsx)(N,{ref:t,from:this.fullPath,...e}))}};function F(e){return new P(e)}function I(){return e=>_e(e)}var L=class extends C{constructor(e){super(e),this.useMatch=e=>h({select:e==null?void 0:e.select,from:this.id,structuralSharing:e==null?void 0:e.structuralSharing}),this.useRouteContext=e=>E({...e,from:this.id}),this.useSearch=e=>T({select:e==null?void 0:e.select,structuralSharing:e==null?void 0:e.structuralSharing,from:this.id}),this.useParams=e=>_({select:e==null?void 0:e.select,structuralSharing:e==null?void 0:e.structuralSharing,from:this.id}),this.useLoaderDeps=e=>w({...e,from:this.id}),this.useLoaderData=e=>y({...e,from:this.id}),this.useNavigate=()=>x({from:this.fullPath}),this.Link=D.forwardRef((e,t)=>(0,O.jsx)(N,{ref:t,from:this.fullPath,...e}))}};function _e(e){return new L(e)}function R(e){return typeof e==`object`?new z(e,{silent:!0}).createRoute(e):new z(e,{silent:!0}).createRoute}var z=class{constructor(e,t){this.path=e,this.createRoute=e=>{let t=F(e);return t.isRoot=!1,t},this.silent=t==null?void 0:t.silent}};function B(e,t){let n,r,i,a,s=()=>(n||(n=e().then(e=>{n=void 0,r=e[t==null?`default`:t]}).catch(e=>{if(i=e,u(i)&&i instanceof Error&&typeof window<`u`&&typeof sessionStorage<`u`){let e=`tanstack_router_reload:${i.message}`;sessionStorage.getItem(e)||(sessionStorage.setItem(e,`1`),a=!0)}})),n),c=function(e){if(a)throw window.location.reload(),new Promise(()=>{});if(i)throw i;if(!r)if(o)o(s());else throw s();return D.createElement(r,e)};return c.preload=s,c}async function ve(e,t,n){return new i(new a({url:e,token:t})).loadAll({signal:n})}var ye=R(`/server/$serverId`)({beforeLoad:({params:e,context:t})=>{let n=t.serverRegistry.getServer(e.serverId);if(!n){let e=t.serverRegistry.getServers();throw e.length>0?g({to:`/server/$serverId`,params:{serverId:e[0].id},replace:!0,throw:!0}):g({to:`/`,replace:!0,throw:!0})}return{server:n}},loader:async({params:e,context:t,abortController:n})=>{let r=t.serverRegistry.getServer(e.serverId);if(!r)throw g({to:`/`,replace:!0,throw:!0});try{return await ve(r.url,r.token,n.signal)}catch(e){if(e instanceof DOMException&&e.name===`AbortError`)throw e;let t=e instanceof Error?e.message:String(e);throw Error(`Failed to connect to server: ${t}`,{cause:e})}},component:B(()=>b(()=>import(`./_serverId-B4Rjk4iQ.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17]),import.meta.url),`component`),errorComponent:B(()=>b(()=>import(`./_serverId-BwsJG6SV.js`),__vite__mapDeps([18,3,7]),import.meta.url),`errorComponent`),pendingComponent:()=>(0,O.jsx)(`div`,{className:`w-full flex items-center justify-center min-h-screen bg-background text-foreground`,children:(0,O.jsxs)(`div`,{className:`text-center space-y-2`,children:[(0,O.jsx)(`div`,{className:`h-8 w-8 border-2 border-muted-foreground/30 border-t-muted-foreground rounded-full animate-spin mx-auto`}),(0,O.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Connecting to server...`})]})})});export{I as i,B as n,R as r,ye as t};
@@ -0,0 +1 @@
1
+ import{t as e}from"./SessionContent-w-YQzt9T.js";var t=e;export{t as component};
@@ -0,0 +1 @@
1
+ import{t as e}from"./SessionContent-w-YQzt9T.js";var t=e;export{t as component};